Microsoft Visual FoxPro 9.0

Visual FoxPro 9.0
Microsoft Visual FoxPro 9.0

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

В документации по Visual FoxPro вы найдете:

Что нового в Visual FoxPro

Описывает новые возможности и улучшения, включенные в эту версию Visual FoxPro.
Начинаем работу с Visual FoxPro

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

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

Содержит примеры программ Visual FoxPro, а также пошаговые инструкции (или репетиции), которые вы можете использовать для экспериментов и изучения возможностей Visual FoxPro.
Справочное руководство

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

Содержит инфорамацию о сервисах поддержки Visual FoxPro корпорацией Microsoft.

Дополнительная инмормация

Web сайт, посвященный Microsoft Visual FoxPro

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

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

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

Предоставляет информацию о возможностях, которые делают Visual FoxPro более доступным для людей с ограниченной дееспособностью.
Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


What's New in Visual FoxPro

Visual FoxPro 9.0
Что нового в Visual FoxPro

Этот релиз Visual FoxPro содержит много новых возможностей и улучшений. Приведенные ниже разделы описывают эти возможности и улучшения.

В этом разделе

Указатель по улучшениям в производстве отчетов

Дорожная карта ко всем расширениям в производстве отчетов.
Расширения в обработке данных

Описывает дополнения и улучшения в обработке данных Visual FoxPro.
Улучшения в языке SQL

Описывает расширения в языке SQL, такие какSELECT - SQL Command.
Улучшения в классах

Описывает дополнения и усовершенствования в классах, формах, элементах управления (controls) Visual FoxPro и связанных с объектно-ориентированным программированием возмоджностях языка.
Улучшения в языке

Описывает дополнения и усовершенствования в программном языке Visual FoxPro.
Улучшения в интерактивной среде разработки (IDE)

Описывает дополнения и усовершенствования выполненные для интерактивной среды разработки Visual FoxPro.

Enhancements to Visual FoxPro Designers

Описывает усовершенствования выполненные для дизайнеров, предоставляемых Visual FoxPro.
Прочие улучшения

Описывает прочие изменения произведенные в этой версии Visual FoxPro.
Изменения в функциональности для данного релиза

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

Перечисляет новые зарезервированные слова добавленные в Visual FoxPro.
Представление на рассмотрение замечаний по справке/помощи в корпорацию Microsoft

Описывает как вы можете посылать свои замечания по документации справки/помощи в корпорацию Microsoft.

Связанные разделы

Начинаем работать с Visual FoxPro

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

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

Содержат образцы программного кода Visual FoxPro code и пошаговые репетиции, которые вы можете использовать для экспериментирования и изучения возможностей Visual FoxPro.
Справочное руководство

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

Предоставляет информацию о сервисах поддержки корпорацией Microsoft в отношении Visual FoxPro.
Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


Guide to Reporting Improvements

Visual FoxPro 9.0
Указатель по улучшениям в производстве отчетов
Смотри также

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

В секциях этого раздела приведены следующие основные области, которых коснулись расширения в системе отчетов:

Расширения в среде разработки (Design-time enhancements).

Многочисленные возможности и произведенные изменения делают разработку отчетов в Visual FoxPro более удобной, как для вас, так и для конечных пользователей. Приложение "построитель отчетов"- Report Builder призвано вывести вас за привычные рамки ваших навыков разработки отчетов. Диалоговые блоки построителя отчетов и события дизайнера отчета полностью раскрыты для вас, с тем чтобы вы смогли подогнать "под себя" процесс разработки. (Уже появилось выражение - улучшение Visual FoxPro c помощью его самого. - прим. переводчика )
Множественные области детализации данных - detail bands.

Вы можете более гибко обрабабывать множество дочерних таблиц и взаимосвязей данных в исправленном дизайнере отчетов. Когда вы исполняете отчет с множеством областей вывода данных, вы можете связывать новые области (detail bands) c ассоциированными заголовками и подножиями этого блока данных, не только для, уместного в таком случае, представления этих взаимосвязей данных, но и для более понятных, объяснимых вычислений.
Объектно-ассистированная технология отчетов в run-time.

Полностью перестроенная система вывода отчетов, включаящая новые базовые классы, меняет путь, предоставляемый Visual FoxProдля вывода файлов отчетов и этикеток в run time. Объектно-ассистированная технология предоставляет вывод лучшего качества, предоставляет новые виды вывода и открытую архитектуру, основанную на новом базовом классе Visual FoxPro, именуемом ReportListener. Программируемый интерфейс предпросмотра отчетов (Report Preview) взаимодействует с объектами ReportListener, предоставляя вам полный контроль над предпросмотром отчета. Приложение Report Preview предоставляет улучшеннную "out-of-the-box" гибкость при предварительном просмотре.
Улучшения в печати, исполнении и обработке кодировок (character-set).

Visual FoxPro 9 позволяет лучшим образом образом использовать способности печати операционной системы и подсистемы рендеринга GDI+. Кроме того, он значительно лучше, чем в ранних версиях обслуживает многочисленные локали (locales) и символьные наборы (character sets). Эти изменения продемонстированы в Report System, и являются доступными для использования в пользовательских кодах во время разработки отчета и его исполнении в run-time.
Открытое использование файлов определений отчетов и этикеток (таблиц .frx и .lbx).

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

Расширения для Design-time

Многочисленные изменения в системе подготовки и исполнения отчетов помогут вам дополнить Numerous changes in the Report System help you enhance the design-time experience for developers and end-users. Эта секция направит вас к информации об улучшениях для design-time.

Перехватчки событий дизайнера отчета (Report Designer Event Hooks) и приложение построителя отчета (Report Builder Application)

Report Designer, предлагает вам сейчас перехватчики событий Report Builder Hooks, которые позволят вам перехватывать события, происходящие во время сессий подготовки отчета или этикетки и расширить действия, которые вы можете осуществлять с его помощью. Используемое по умолчанию приложение Report Builder замещает множество стандартных диалоговых блоков, своими собственными новыми блоками, которые написаны в кодах Visual FoxPro. Компоненты приложения построителя отчета (Report Builder) представлены вам как фундаментальные классы Visual FoxPro Foundation.

Для изучения: | Прочитайте:
Перехватчики событий построителя отчета (Report Builder Hooks) | Понимание событий построителя отчета
Как приложение построителя отчета использует перехватчики событий | Как: сконфигурировать обработку событий построителя отчета
Как указать и распространять построитель отчета совместно с вашими приложениями | Системная переменная _REPORTBUILDER Как: указать и распространять приложение ReportBuilder.App Включение файлов отчета в дистрибутив
Использование алгоритмов построителя отчета в вашем коде | Фундаментальный класс FRX Cursor Фундаментальный класс FRX Device Helper

Защита для сессий разработки конечного пользователя и возможности настройки

Вы можете позволить конечному пользователю модифицировать и создавать отчеты и этикетки с установкой ограничений на то, что они могут делать в интерфейсе дизайнера отчета с помощью нового ключевого слова PROTECTED. Защита может устанавливаться для индивидуальных объектов и для отчета в целом. Мы можете изменить вид того, что видит конечный пользователь в интерфейсе дизайнера раскладки, от сложных выражений до простых меток и образцов данных, во время работы в защищенном - PROTECTED - режиме разработки используя Design-Time Captions. Вы можете предоставить пользователю полезные инструкции, как для защищиенного, так и для стандратного режима разработки, используя Tooltips для элементов отчета.

Для изучения: | Прочитайте:
Использование ключевого слова PROTECTED | Команда MODIFY REPORT Команда MODIFY LABEL
Установка защиты для дизайнеров отчета и этикетки и что эта защита может делать | Установка защиты для отчетов
Установку защиты предлагают диалоговые окна Report или Label Dialog, во время использования приложения построителя отчета | Закладка Protection диалогового блока Report Control Properties (Report Builder) Закладка Protection диалогового блока Report Properties (Report Builder) Закладка Protection диалогового блока Report Band Properties (Report Builder)
Design-Time Captions | Как: добавить заголовки Design-time к элементам полей
ToolTips для элементов отчета | Как: добавить Tooltips элементам отчета

Расширенное использование Data Environment в отчетах

Вы можете сохранить Data Environment, который вы разработали для отчета или этикетки как визуальный класс. Вы можете загрузить Data Environment в дизайнер отчета или этикетки, либо из визуального класса, либо из ранее сохранненого отчета или этикетки.

Для изучения: | Прочитайте
Сохранение Data Environment отчета | Как: сохранить Data Environment отчета как класс
Загрузка Data Environment отчета | Закладка Data Environment диалогового блока Report Properties (приложение Report Builder) Как: загрузить Data Environments для отчетов

Мощные улучшения в разработчике

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

Для изучения Прочитайте

Улучшения в Interactive Development Environment (IDE) отчета и этикетки, такие как:

  • Расширенная панель инструментов Report Designer'а и более легкий доступ к нему из меню View

  • Новое контекстное меню глобальных свойств отчета

  • Улучшения и дополнения к существующим контекстным меню

  • Пересмотренное и расширенное меню Report

Раскладка меню и разработка

Изменения в глобальных опциях разработки отчета и этикетки

Закладка Reports диалогового блока Options

Использование нового свойства PictureVal элемента раскладки Image для указания картинок в отчетах

Как: добавить картинки в отчеты

Свойство PictureVal

Новые символы шаблона картинки (U и W) и обновленные инструкции форматирования (Z, теперь поддерживают данные для date и datetime), полезно в отчетах и этикетках

Выражения форматирования для Field Controls

Свойство InputMask

Свойство Format

Получение улучшенного вывода в формате HTML, котороое способствует улучшениям в производстве отчетов в run-time, когда вы выбираете Save As HTML… во время разработки отчета или этикетки

Как: генерировать вывод для отчетов

Совет:
Прочие компоненты Visual FoxPro, которые вызывают Genhtml.prg, встроенное по умолчанию в _GENHTML, автоматически используют совместно улучшенный вывод в формате HTML, хотя сами эти компоненты остались неизменными. Это включает в себя Фундаментальный класс FRX to HTML и Фундаментальный класс Output Object.

Множественные полоски/области детализации (Detail Bands)

The Report Engine can now move through a scope of records multiple times. Записи могут представлять собой связанный набор линий детализации в дочерних таблицах, или они могут множество раз проходить через одну и ту же таблицу. Эти множественные проходы через границы записей представлены как множественные полоски/области детализации (multiple detail bands).

Полоски/области детализации (Detail bands) могут иметь свои собственные заголовки и подножия, свой собственный код, связанный с onEntry и onExit и свои собственные связанные переменные отчета. Каждый detail band может быть явно связан с отдельныс целевым псевдоименем (target alias), позволяя вас управлять числом входов на каждом detail band отдельно для связанных таблиц.

Отчеты с множественными detail band предоставляют много новых путей, с помощью которых вы можете представлять данные в отчетах и этикетках, а также новые пути, с помощью которых вы можете подсчитывать или суммировать данные при движении черех границы записей.

Для изучения | Прочитайте
Разработка отчетов и этикеток с множественными detail bands и связанных с ними заголовков и подножий | Диалоговый блок Optional Bands Диалоговый блок Report Band Properties Диалоговый блок Band Tab, Report Band Properties (Report Builder)
Обработка множественных, связанных таблиц в данных отчета и этикетки | Управление данными в отчетах Работа со связанными таблицами с использованием Multiple Detail Bands в отчетах
Связывание переменных отчета с полосками/областями детализации данных | Как: сбросить переменные отчета
Сравнение множественных групп и множественных полосок/областей детализации данных | Полоски/области отчета

Обработка объектно-ассистированного отчета в Run-time

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

  • генерации множественных типов вывода во время выпуска отчета;
  • объединения множественных отчетов в один, как части одного конечного вывода;
  • улучшения качества традиционного вывода отчета;
  • динамической установки содержания отчета во время его обработки;
  • предоставления новых типов вывода, недоступных в ранних версиях Visual FoxPro.

Этот раздел покрывает массив расширений для run-time, которые работают совместно для поддержки режима объектно-ассистированного производства отчета.

Объектно-ассистированная архитектура и базовый класс ReportListener

Новый базовый класс ReportListener и поддерживающие его расширения языка являются сердцем расширений отчетов в run-time.

Для изучения | Прочитайте
Основы архитектуры, как ее компоненты совместно работают и что происходит при запуске объектно-ассистированного отчета | Понимание объектно-ассистированной системы отчетов Visual FoxPro
Базовый класс ReportListener и его методы | Объект ReportListener Свойства, методы и события объекта ReportListener
Автоматический вызов режима объектно-ассистированной технологии отчета | Команда SET REPORTBEHAVIOR Системная перемнная _REPORTOUTPUT Закладка "Reports" диалогового блока "Options"
Явный вызов режима объектно-ассистированной технологии отчета с помощью команд Visual FoxPro | Команда REPORT FORM Команда LABEL
Отладка и обработка ошибок исполняемого объектно-ассистированного отчета | Обработка ошибок во время исполнения отчета

Report Preview API и приложение Report Preview

Объектно-ассистированный режим исполнения отчета в Visual FoxPro 9 дает вам полный контроль над предпросмотром очтета и этикетки.

Для изучения | Прочитайте
Как работает объектно-ассистированный предпросмотр | API контейнера Preview Создание пользовательского контейнера предпросмотра
Используемое по умолчанию приложение Report Preview | Улучшение контейнера предпросмотра, используемого по умолчанию
Как указать и распространять компоненты предпросмотра отчета совместно с вашими приложениями | Системная переменная _REPORTPREVIEW Как: указать и распространять приложение ReportPreview.App Включение файлов отчета в дистрибутив

New Types of Output and the Report Output Component Set

Поскольку вы можете субклассировать ReportListener, вы можете создавать новые типы выводов отчета. В поставке Visual FoxPro 9 имеется приложение Report Output Application для связи субклассов ReportListener c типами выводов, субклассов и типами выводов, subclasses with output types, также и классов, производных от ReportListener с расширенными возсожностями вывода.

Для изучения | Читайте
Требования для Report Output Application и как Visual FoxPro использует Report Output Applications | Системная переменная _REPORTOUTPUT
Используемые по умолчанию возможности Report Output Application. | Понимание Report Output Application
Определяет пользовательские обработчики вывода, с помощью Report Output Application, используемого по умолчанию | Как: указать альтернативную таблицу Report Output Registry Table Как: зарегитрировать пользовательские ReportListeners и пользовательские OutputTypes в таблице Report Output Registry Table Рассмотрение создания новых типов вывода отчета
Понимание и конфигурирование фундаментальных классов Visual FoxPro, предоставляющих поведение по умолчанию ReportListener для объектно-ассистированного предпросмотра и печати | Фундаментальный класс ReportListener User Feedback
Понимание и конфигурирование фундаментальных классов Visual FoxPro, ответственных за выводы XML и HTML | Фундаментальный класс ReportListener XML Фундаментальный класс ReportListener HTML
Усиление полного набора поддерживаемых фундаментальных классов Report Output и формата VFP Report Output XML | Фундаментальные классы ReportListener Использование VFP Report Output XML
Как указать и распространять компоненты Report Output с приложениями | Как: указать и распространять компоненты Report Output Application Включение фалов отчета для распространения

Стратегии миграции и изменения в исполнении вывода

Вы можете использовать изменения, произведенные в design-time для улучшения всех отчетов и этикеток, когда вы выбираете режим совместимости с предыдущими версиями или режим объектно-асистированного производства отчета в run time.

При оценке выбора - стоит ли переключаться на объектно-ассистированный режим в run time, прежде всего примите во внимание предметы в списке важных изменений в производстве отчетов в статье Изменения в функциональности текущего релиза, некоторые их которых являются ограниченными этим новым методом создания вывода. Статья включает в себя таблицы минимальных различий между совместимым назад и объектно-ассистированный выводом отчета. Вы можете обследовать как будут воздействовать эти изменения на индивидуальных имеющихся отчетах, и использовать рекомендации, приведенные в указанной таблице для ссылки на них. Вы найдете дополнительные подробности в статье Использование GDI+ в отчетах.

Когда вы поэкспериментируете с вашими текущими отчетами, вы моежте решить какую стратегию выбрать для вывода:

  • Вы можете переключить приложение на полное использование режима объектно-ассистированного вывода отчета с помощью команды SET REPORTBEHAVIOR 90.
  • Вы можете использовать команду SET REPORTBEHAVIOR 90 на предварить конкретную команду REPORT FORM для отчета с форматирование командой SET REPORTBEHAVIOR 80.
  • Вы можете все время использовать объектно-ассистированный режим, но настроить поведение ваших производных от ReportListener классов для соответствия конкретных требований. Например, вы можете изменить установку по умолчанию свойстав ReportListener'а DynamicLineHeight в False (.F.).
  • Вы можете оставить SET REPORTBEHAVIOR в его дефолтной установке в 80, и добавить конкретную опцию OBJECT конкретному отчету на ваше усмотрение, поскольку у вас есть возможность оценить и установить индивидуальные раскладки отчета и этикетки.

Улучшения в печать, графическом выводу и обслуживании кодировок

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

Для изучения | Читайте
Возможно GDI+ и воздействие на природный вывод в Visual FoxPro | Использование GDI+ в отчетах
Расширения в производстве отчетов в Visual FoxPro, которые позволяют вашему программному коду использовать GDI+ в режиме объектно-ассистированного отчета, а также фундаментальные классы Visual FoxPro помогут вам начать их использование | Свойство GDIPlusGraphics Метод Render Фундаментальные классы GDI Plus API Wrapper
Полное использование мнодественных кодировок, или скриптов языков в отчетах, для конкретного элемента раскладки отчета, для отчета в целом по умолчанию или, глобально, в среде Visual FoxPro | Функция GETFONT() Диалоговый блок Style Tab, Report Control Properties (Report Builder) Как: Изменить установки страницы для отчетов Диалоговый блок Reports Tab, Options Возможности производства отчетов для международных приложений
Измения в диалоговых блоках Visual FoxPro, удучшения в вашем программном доступе к ним, и предоставление перезаписи установок в Printer Environment в файлах отчета и этикеток | Диалоговый блок SYS(1037)- Page Setup
Получение улучшенной информации о установленных принтерах пользователя | Функция APRINTERS()
Ограничение списка шрифтов, которые подходят для принтера пользователя | Функция GETFONT()

Расширенное использование файлов определения отчета и этикетки

При всех этих изменениях в системе отчетов Visual FoxPro Report System, Report Designer и Report Engine обрабатывают ваши определения отчета и этикетки используя те же структуры файлов .frx и .lbx , которые были и в предыдущх версиях. Они изменяют путь использования их определенных полей, без превращения этих отчетов и этикеток в недействительные для ранних версий, и, кроме того, они позволяют вам расширить использование вами существующих полей или добавлять собственные поля в этих файлах.

Совет:
Эти изменения являются критическими для ваших возможностей созлавать расширения новых возможностей системы отчетов. Например, вы можете хранить два набора ToolTips в двух полях расширения отчета, один набор для использования разработчиком и один набор для конечного пользователя. В расширении Report Builder вы можете оценить работал-ли Designer в защищенном или стандартном режиме, и заменить существующий набор ToolTips из соответствующего поля расширения. В предыдущих версиях, вы не могли добавлятьполя в структуру отчета или этикетки; Designer и Engine посчитали ли бы такую таблицу поврежденной или недействительной. Вы, кроме того, не могли безопасно добавить ваше собственное содержание в неиспользуемые, стандартные в различных записях файлов определения отчета или этикетки, так как Report Designer просто удалял такое содержание.

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

Visual FoxPro 9, кроме всего прочего, устанавливает новый, структурированный формат метаданных для своместного использования с отчетами. Этот формат представляет собой схему XML документа, совместно используемую с XML MemberData дизайнера классов.

Формат XML документа позволяет вам упаковать настроенную информацию о производстве отчета в единичной записи поля таблицы отчета или этикетки. Приложение построителя отчета, используемое по умолчанию упрощает ввод Report XML MemberData в записи таблиц отчетов и этикеток.

Для изучения | Читайте
Каким образом Visual FoxPro использует таблицы .frx и .lbx и как расширить эти структуры | Понимание и расширение структуры отчета
Как найти и отобразить содержание пересмотренной таблицы FILESPEC, 60FRX.dbf | Таблица структур табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Каким образом вы можете редактировать XML данные с использованием приложения построителя отчета | Как: присвоить структурированные Metadata для элементов отчета Report
Каким образом вы можете использовать Report XML MemberData | Расширения Report XML MemberData
Схема документа для совместного использования MemberData | Расширяемость MemberData

Смотрите также

Справочное руководство

Расширение возможностей обработки данных Data and XML Feature Enhancements
Улучшения в языке SQL
Расширения в классах
Расширения языка
Расширения в дизайнерах Visual FoxPro

Прочие ресурсы

Что нового в Visual FoxPro
Расширения в среде разработки Development Environment (IDE) Enhancements
Разнообразные расширения
Изменения в функциональности текущего релиза

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Data and XML Feature Enhancements

Visual FoxPro 9.0
Расширение возможностей в обработке данных и XML
Смотрите также
CollapseAll image

Visual FoxPro содержит перечисленные ниже дополнения или улучшения в своих возможноcтях по обработке данных:

Expand image Расширенные возможности SQL

Visual FoxPro содержит много расширений в возможностях SQL. Для получения более подробной информации смотрите Улучшения в языке SQL.

Expand image Новые типы данных

В Visual FoxPro включены новые типы полей и данных:

  • Varchar

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

    Если вы не желаете, чтобы содержимое поля Varchar транслировалось в кодовые страницы, используйте тип поля Varchar (Binary). Для получения подробной информации смотрите описание Тип поля Varchar.

    Вы можете указать разметку типа Varchar между ODBC, ADO и XML типами источников данных и объектами CursorAdapter и XMLAdapter с помощью свойства MapVarchar. Кроме того, вы можете указать разметку Varchar для технологии SQL pass-through м удаленных представлений, используя устнановку MapVarchar в функции CURSORSETPROP( ). Для получения более подробной информации смотрите описание функций CURSORSETPROP( ) и CURSORGETPROP( ).

  • Varbinary

    Для хранения бинарных значений и литералов фиксированной длины в полях и пременных, без дополнения значения поля дополнительными нулями (0) или без обрезки хвостовых нулевых байтов, введенных пользователем, используйте тип данных Varbinary. Internally, Visual FoxPro binary literals contain a prefix, 0h, followed by a string of hexadecimal numbers and are not enclosed with quotation marks (""), unlike character strings. Для получения более подробной информации смотрите Тип данных Varbinary.

    Вы можете указать разметку бинарного типа данных между ODBC, ADO и XML типами источников данных и объектами CursorAdapter и XMLAdapter, используя свойство MapBinary. Кроме того, вы можете указать разметку binary для технологии SQL pass-through technology у отдаленных представлений, используя установку MapBinary в функции CURSORSETPROP( ). Для получения более подробной информации смотрите описание функций CURSORSETPROP( ) и CURSORGETPROP( ) Function.

  • Blob

    Для хранения бинарных данных неопределенной длины, используйте тип данных Blob. Для получения более подробной информации смотрите Тип данных Blob.

Множество элементов языка Visual FoxPro затронуты воздействием этих новых типов данных, перечисленных в этом разделе.

Expand image Бинарный индексный тэг, основанный на логических выражениях

Visual FoxPro включает в себя новый бинарный индекс или, индекс битовой карты (bitmap) для создания индексов, основанных на логических выражениях, например, индексов, основанных на записях, помеченных для удаления. Бинарный индекс может быть существенно меньшим по размеру, чем небинарный и может повысить скорость обслуживания индексов. Вы можете создавать бинарные индексы с помощью табличного дизайнера или с помощью команды INDEX. Visual FoxPro, кроме того, включает расширения оптимизации Rushmore в движке SQL для записей, помеченных на удаление.

Для получения более подробной информации смотрите описания Типы индексов Visual FoxPro, Команда INDEX, Команда ALTER TABLE - SQL и Индексы, основанные на записях, помеченных на удаление.

Expand image Преобразование типов данных с функцией CAST()

Вы можете преобразовывать выражения одного типа в другой с помощью новой функции CAST( ). Использование CAST( ) позволяет вам создавать SQL предложения более совместимыми с SQL Server.

Для получения более подробной информации смотрите описание функции CAST( ).

Expand image Получить курсор и подсчитать записи, затронутые исполнением SQL Pass-Thru

Путем использования параметра aCountInfo функций SQLEXEC( ) и SQLMORERESULTS( ), вы можете получить имя созданного курсора и подсчитать количество записей, затронутых исполнением предложения SQL pass-through.

Для получения более подробной информации смотрите описание функций SQLEXEC() и SQLMORERESULTS() .

Expand image Поддерживается функциональность Roll-Back когда рассоединилось соединение SQL Pass-Through

Visual FoxPro теперь поддерживает свойство DisconnectRollback для использования с функциями SQLSETPROP(), SQLGETPROP(), DBSETPROP( ) и DBGETPROP(). DisconnectRollback свойство уровня соединения, которое вызывает либо откат транзации либо ее подтверждение, когда вызывается функция SQLDISCONNECT() для хэндла последнего соединения, ассоциированного с соединением.

Свойство DisconnectRollback акцептирует логическое значение.

  • False (.F.) - (По умолчанию) Транзакция будет подтверждена, когда вызывается функция SQLDISCONNECT() fдля хэндла последнего соединения, ассоциированного с соединением.

  • True (.T.) - Производится откат транзакции, когда вызывается функция SQLDISCONNECT() fдля хэндла последнего соединения, ассоциированного с соединением.

Приведенный ниже пример показывает установку свойства DisconnectRollback в функциях DBSETPROP() и SQLSETPROP().

CopyCode image Скопировать код
DBSETPROP("testConnection","CONNECTION","DisconnectRollback",.T.)
SQLSETPROP(con,"DisconnectRollback",.T.)

Для получения более подробной информации смотрите DisconnectRollback property in SQLSETPROP( ) Function.

Expand image SQLIDLEDISCONNECT( ) временно рассоединяет соединения SQL Pass-Through

Вы можете использовать новую фукнцию SQLIDLEDISCONNECT(), позволяющую SQL Pass-Through соединению временно отключиться. Используйте приведенный ниже синтаксис.

CopyCode image Скопировать код
SQLIDLEDISCONNECT( nStatementHandle )

The nStatementHandle parameter is set to the statement handle to be disconnected or 0 if all statement handles should be disconnected.

The SQLIDLEDISCONNECT( ) function returns the value 1 if it is successful; otherwise, it returns -1.

The function fails if the specified statement handle is busy or the connection is in manual commit mode. The AERROR( ) function can be used to obtain error information.

The disconnected connection handle is automatically restored if it is needed for an operation. The original connection data source name is used.

If a statement handle is temporarily released, the OBDChstmt property returns 0; the OBDChdbc returns 0 if the connection is temporarily disconnected. A shared connection is temporarily disconnected as soon as all of its statement handles are temporarily released.

Для получения более подробной информации смотрите описание функции SQLIDLEDISCONNECT( ).

Expand image Retrieving Active SQL Connection Statement Handles

You can retrieve information for all active SQL connection statement handles using the new ASQLHANDLES( ) function. ASQLHANDLES( ) creates and uses the specified array to store numeric statement handle references that you can use in other Visual FoxPro SQL functions, such as SQLEXEC( ) and SQLDISCONNECT( ). ASQLHANDLES( ) returns the number of active statement handles in use or zero (0) if none are available. Для получения более подробной информации смотрите описание функции ASQLHANDLES( ).

Expand image Получение закладки (ADO Bookmark) для текущей записи в куурсоре, основанном на ADO-Based Cursor

Теперь функцией CURSORGETPROP( ) поддерживается свойство ADOBookmark. Используйте это свойство для получения закладки ActiveX® Data Objects (ADO) bookmark для текущей записи в курсоре, основанном на ADO.

Для получения более подробной информации смотрите описание свойства ADOBookmark в функции CURSORGETPROP().

Если таблица не выбрана и не указано псевдоимя , то генерируется ошибка с номером 52, "No table is open in the current work area - Нет открытой таблицы в выбраной рабочей области". Если выбранный курсор не является действительным (valid), то генерируется ошибка с номером 1467, "Property is invalid for local cursors - Свойство недействительно для локального курсора".

Expand image Получение числа возвращенных из SQL Pass-Through записей

Вы можете получить число записей, полученных в процессе исполнения SQL Pass-Through, из нового свойства курсора RecordsFetched с помощью функции CURSORGETPROP( ).

Указание свойства RecordsFetched курсора, вернет число полученных записей в курсоре, основанном на OBDC/ADO.

Если записи были удалены или добавлены локально, свойство RecordsFetched курсора может и не вернуть текущее число записей в курсоре, основанном на OBDC/ADO. В дополнение к сказанному, условия фильтра игнорируются.

Для получения более подробной информации смотрите описание свойства RecordsFetched в описании функции CURSORGETPROP().

Expand image Определение - завершилась ли выборка

Вы можете опрелить - завершился ли процесс выборки для курсора, основанного на OBDC/ADO с помощью использования нового свойства курсора FetchIsComplete, полученного с помощью функции CURSORGETPROP(). Свойство имеет аттрибут "только для чтения" как в design, так и в run time.

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

Свойство курсора FetchIsComplete возвращает логическое выражение True (.T.) если процесс выборки завершился; в противном случае, возвращается False (.F.).

Для получения более подробной информации смотрите описание свойства FetchIsComplete в описании функции CURSORGETPROP( ).

Expand image ISMEMOFETCHED( ) определяет - было ли выбрано в выборку мемо-поле

Вы можете использовать функцию ISMEMOFETCHED() для определения были ли выбраны в выборку поля типа Memo или General, когда вы используете задержаннуб выборку мемо-полей. Для получения более подробной информации смотрите Ускорение получения данных.

Синтаксис для этой функции приведен ниже:

ISMEMOFETCHED(cFieldName | nFieldNumber [, nWorkArea | cTableAlias ])

Функция ISMEMOFETCHED() возвратит True (.T.) когда мемо-поля выбраны или используются локальные данные. ISMEMOFETCHED() возвратит NULL если указатель записи установлен в начало курсора или после последней записи.

Для получения более подробной информации смотрите описание функции ISMEMOFETCHED().

Expand image Прекращение выборки из ADO

В Visual FoxPro у вас теперь имеется возможность прекратить длинную выборку из ADO, путем нажатия клавиши ESC.

Expand image Поддержка имен длинного типа

Visual FoxPro поддерживает длинный тип имен с перечисленными функциями, командами и свойствами.

  • Функция CAST()

  • Команда ALTER TABLE - SQL

  • Команда CREATE CURSOR - SQL

  • Команда CREATE TABLE - SQL

  • Команда CREATE FROM

  • Свойство CursorSchema

  • Свойство DataType

В приведенной ниже таблице перечислены типы данных как с короткими, так и длинными именами.

Тип данных | Длинный тип имени | Короткий тип имени
Character | Char, Character | C
Date | Date | D
DateTime | Datetime | T
Numeric | Num, Numeric | N
Floating | Float | F
Integer | Int, Integer | I
Double | Double | B
Currency | Currency | Y
Logical | Logical | L
Memo | Memo | M
General | General | G
Picture | Picture | P
Varchar | Varchar | V
Varbinary | Varbinary | Q
Blob | Blob | W

Visual FoxPro позволяет использование сомнительных длинных имен типов совместно с командами ALTER TABLE, CREATE CURSOR, CREATE TABLE и CREATE FROM. Если указанное длинное имя типа не распонается, Visual FoxPro обрежет указанное имя до одного, первого символа.

Expand image Поддержка транзакций для свободных таблиц и курсоров

В предыдущих версиях Visual FoxPro, транзакции, использующие команду BEGIN TRANSACTION поддерживались только для локальных и отдаленных данных из баз данных. Транзакции, вовлекающие в процесс свободные таблицы и курсоры теперь поддерживаются через использование фукнций MAKETRANSACTABLE() и ISTRANSACTABLE(). Для получения более подробной информации смотрите описание функций MAKETRANSACTABLE( ) и ISTRANSACTABLE( ).

Expand image Указывайте кодовую страницу, когда используете команду CREATE TABLE или CREATE CURSOR

Вы можете указать кодовую страницу с помощью включения опции CODEPAGE в команды CREATE CURSOR или CREATE TABLE.

Когда опция CODEPAGE указана, новая таблица или курсор будут иметь кодовую страницу, указанную в параметре nCodePage. В случае, если указанная вами кодовая страница не поддерживается, то будет сгенерирована ошибка с номером 1914, "Code page number is invalid".

В приведенном ниже примере создается таблица и отображается ее кодовая страница:

CopyCode image Скопировать код
CREATE TABLE Sales CODEPAGE=1251 (OrderID I, CustID I, OrderAmt Y(4))

? CPDBF( )

Для получения более подробной информации смотрите описания CREATE CURSOR - SQL, CREATE TABLE - SQL и Кодовые страницы, поддерживаемые Visual FoxPro.

Expand image Преобразование типов данных Character и Memo при использовании команды ALTER TABLE

Visual FoxPro теперь поддерживает автоматическое преобразование из исмвольного типа данных в данные типа мемо, без потери содержащихся в записях данных, при использовании команды ALTER TABLE с опцией ALTER COLUMN. Это преобразование также поддерживается и в случае, когда производятся структурые изменения с помощью табличного дизайнера. Для получения более подробной информации смотрите описание команды ALTER TABLE - SQL.

Expand image Команда BLANK может инициализировать заполнение записей значениями по умолчанию

Вы можете инициализировать поля в текущей записи в их значения по умолчанию, хранящиеся в контейнере базы данных с помощью опции DEFAULT [AUTOINC], когда запись очищается с помощью команды BLANK. Для получения более подробной информации смотрите описание команды BLANK.

Expand image Команда FLUSH явно записывает данные на диск

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

Expand image Заполнение массива псевдоименами, используемыми определенной таблицей

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

AUSED(ArrayName [, nDataSessionNumber [, cTableName ]])

Параметр cTableName акцептирует следующие форматы для указания таблицы, начиная с наивысшего и кончая низщим приоритетами .

  • DatabaseName!TableName или DatabaseName!ViewName

  • Path\DatabaseName!TableName или Path\DatabaseName!ViewName

  • Определенное в DBC имя таблицы или представления в текущем контейнере базы данных в текущей сессии данных

  • Простое или полное имя файла

Для получения более подробной информации смотрите описание функции AUSED( ).

Expand image Получить последнее значение автоувеличения с помощью функции GETAUTOINCVALUE( )

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

Expand image SET TABLEPROMPT управляет запросом выбора таблицы

Новая команда SET TABLEPROMPT управляет поведение Visual FoxPro - будет ли пользователь запрашиваться с целью выбора таблицы с помощью диалогового блока Open (Visual FoxPro) для выбора таблицы, когда она указана, но не может быть найдена, в такой команде, как SELECT - SQL Command. Для получения более подробной информации смотрите описание команды SET TABLEPROMPT.

Expand image Используйте SET VARCHARMAPPING для управления разметкой набора результата запроса

Для запросов, таких как выполняемый командой SELECT - SQL Command, символьные данные очень часто обрабатываются использованием функций и выражений Visual FoxPro. Так как длина результирующего поля может быть важной для определенных целей, то удобно разметить эти данные типа Character в данные типа Varchar в выходном наборе запроса. Команда SET VARCHARMAPPING управляет поведением Visua FoxPro - будут ли символьные типы данных размечаться в типы Character или Varchar. Для получения более подробной информации смотрите описание команды SET VARCHARMAPPING.

Expand image Раскрытый SET TABLEVALIDATE

Когда заголовок таблицы заблокирован на время процесса контроля, то попытка открыть таблицу, например, с помощью команды USE сгенерирует ошибку "File is in use - Файл в использовании (Ошибка 3)." If the table header cannot be locked for a table open operation, you can suppress this message by setting the third bit for the SET TABLEVALIDATE command. You must also set the first bit to validate the record count when the table opens. Therefore, you need to set the SET TABLEVALIDATE command to a value of 5. Also, a fourth bit option (value of 8) is available for Insert operations which checks the table header before the appended record is saved to disk and the table header is modified.

Для получения более подробной информации смотрите описание команды SET TABLEVALIDATE.

Expand image SET REFRESH Can Specify Faster Refresh Rates

You can specify fractions of a second for the nSeconds2 parameter to a minimum of 0.001 seconds. You can also specify the following values for the optional second parameter:

  • -1 - Always read data from a disk.

  • 0 - Always use data in memory buffer but do not refresh buffer.

The Table refresh interval check box on the Data tab of the Options dialog box now also accepts fractional values.

Для получения более подробной информации смотрите описание команды SET REFRESH и диалогового блока Закладка Data, диалоговый блок Options.

Expand image SET REFRESH Can Differentiate Values for Each Cursor

You can use the new Refresh property with the CURSORGETPROP( ) function to differentiate the SET REFRESH values for individual cursors. The default setting is -2, which is a global value. This value is not available with the SET REFRESH command.

The Refresh property is available at the Data Session and Cursor level. The default setting for a Data Session level is -2 and the default value for a Cursor level is the current session's level setting. If the global level setting is set to 0, the Cursor level setting is ignored.

If a table is not currently selected and an alias is not specified, Error 52, "No table is open in the current work area," is generated.

Для получения более подробной информации смотрите описание свойства Refresh в описании команды CURSORGETPROP( ).

Expand image SET( ) Determines SET REPROCESS Command Settings

You can now use the following syntax with the SET( ) function to determine how the SET REPROCESS command was declared.

SET Command | Value Returned
REPROCESS, 2 | Current session setting type (0 - attempts, 1 - seconds)
REPROCESS, 3 | System session setting type (0 - attempts, 1 - seconds)

Для получения более подробной информации смотрите описание функции SET() и команды SET REPROCESS.

Expand image Log Output from SYS(3054) Using SYS(3092)

You can use the new SYS(3092) function in conjunction with SYS(3054) to record the resulting output to a file.

SYS( 3092 [, cFileName [, lAdditive ]])

The cFileName parameter specifies the file to echo the SYS(3054) output to. Sending an empty string to cFileName will deactivate output recording to the file.

The default value for lAdditive is False (.F.). This specifies that new output will overwrite the previous contents of the specified file. To append new output to the specified file, set lAdditive to True (.T.).

SYS(3092) returns the name of the current echo file if it is active; otherwise, it returns an empty string.

SYS(3054) and SYS(3092) are global settings — in a multithreaded runtime they are scoped to a thread. Each function can be changed independently from each other.

These functions are not available in the Visual FoxPro OLE DB Provider.

Для получения более подробной информации смотрите описание SYS(3054) - Rushmore Query Optimization Level и SYS(3092) - Output Rushmore Query Optimization Level.

Expand image Purge Cached Memory for Specific Work Area Using SYS(1104)

You can optionally specify the alias or work area of a specified table or cursor for which cached memory is purged. Для получения более подробной информации смотрите описание SYS(1104) - Purge Memory Cache.

Expand image New Table Types for SYS(2029)

The SYS(2029) function returns new values for tables that contain Autoinc, Varchar, Varbinary or Blob fields. Для получения более подробной информации смотрите описание SYS(2029) - Table Type.

Expand image Map Remote Unicode Data to ANSI Using SYS(987)

Use SYS(987) to map remote Unicode data retrieved through SQL pass-through or remote views to ANSI. This function can be used to retrieve remote Varchar data as ANSI for use with Memo fields. This setting is a global setting across all data sessions so should be used with care. Для получения более подробной информации смотрите описание SYS(987) - Map Remote Data to ANSI.

Expand image Memo and Field tips in a BROWSE or Grid

When the mouse pointer is positioned over a Memo field cell in a Browse window or Grid control, a Memo Tip window displays the contents of the Memo field.

For other field types, positioning the mouse pointer over the field displays the field contents in a Field Tip window when the field is sized smaller than its contents.

Memo Tip windows display no more than 4 kilobytes of text, and are not displayed for binary data. A Memo Tip window is displayed until the mouse pointer is moved from the Memo field. The _TOOLTIPTIMEOUT System Variable determines how long a Field Tip window is displayed.

You can disable Memo Tips by setting the _SCREEN ShowTips Property to False (.F.).

Memo and Field Tips will also be displayed for Grid controls if both _SCREEN and the form's ShowTips property are set to True (.T.). Additionally, the ToolTipText Property for the field's grid column Textbox control must contain an empty string.

Expand image Указывайте кодовые страницы

Вы можете указывать кодовую страницу, используемую для декодирования данных при разборке XML и для кодировки данных в UTF-8, когда генерируется XML. Доступны перечисленные ниже изменения языка:

  • параметра nCodePage

    Для указания кодовой страницы вы можете использовать параметр nCodePage в следующих методах XMLToTable:

    • ToCursor

    • ChangesToCursor

    • ApplyDiffgram

    CopyCode image Скопировать код
    XMLTable.ToCursor ( [ lAppend [, cAlias [, nCodePage ]]] )
XMLTable.ChangesToCursor( [ cAlias [, lIncludeUnchangedData [, nCodePage ]]] )
XMLTable.ApplyDiffgram( [ cAlias [, oCursorAdapter [, lPreserveChanges [, nCodePage ]]]] )

  • Свойства CodePage и UseCodePage

    Используйте свйоства CodePage и UseCodePage для указания кодовых страницы, когда вы используете перечисленные ниже классы:

    • XMLAdapter

    • XMLTable

    • XMLField

    CopyCode image Скопировать код
    XMLAdapter.CodePage = nValue
XMLTable.CodePage = nValue
XMLField.CodePage = nValue

  • Флаг 32768

    Флаг 32768 доступен для перечисленных ниже функций и классов:

    • CursorAdapter

    • XMLTOCURSOR()

    • CURSORTOXML()

    • XMLUPDATEGRAM()

    CopyCode image Скопировать код
    CursorAdaptor.Flags = nCodePage
XMLTOCURSOR( eExpression | cXMLFile [, cCursorName [, nFlags ]])
CURSORTOXML(nWorkArea | cTableAlias, cOutput [, nOutputFormat [, nFlags [, nRecords [, cSchemaName [, cSchemaLocation [, cNameSpace ]]]]]])
XMLUPDATEGRAM( [ cAliasList [, nFlags [, cSchemaLocation]]])

    The nCodePage parameter must match a recognized Visual FoxPro code page.

Для получения более подробной информации смотрите описание Кодовые страницы поддерживаемые Visual FoxPro.

Expand image Свойство MapVarchar размечает данные в типы данных Varchar, Varbinary и Blob

С классами CursorAdapter и XMLAdapter вы можете использовать свойство MapVarchar pдля разметки в тип данных Varchar. Для разметки данных в типы данных Varbinary и Blob вы можете использовать свойство MapBinary.

Фукнция XMLTOCURSOR() содержит несколько новых флагов для поддержки разметки Char и base64Binary типов полей XML в новые типы данных Fox.

Для получения более подробной информации смотрите описание свойств MapVarchary и MapBinary.

Expand image Обработка конфликта проверок со свойствами для класса CursorAdapter

Вы можете лучше обрабатывать конфликты, по время проведения операций перезапаси и удаления с помощью команд, указанных в качестве значений свойств UpdateCmd и DeleteCmd объектов CursorAdapter, с помощью новых свойств ConflictCheckType и ConflictCheckCmd объектов CursorAdapter.

Вы можете использовать ConflictCheckType для указания - как обслуживать проверку конфликта по время операций перезаписи и удаления. Когда ConflictCheckType установлен в значение 4, вы можете использовать ConflictCheckCmd, для указания пользовательской команды для добавления в конец команд в свойствах UpdateCmd и DeleteCmd.

Note Замечание

Visual FoxPro 8.0 Service Pack 1 включает в поставку свойства ConflictCheckType и ConflictCheckCmd.

Для получения более подробной информации смотрите описание свойств ConflictCheckType and ConflictCheckCmd.

Expand image Улучшенное обслуживание DataEnvironment со свойствами UseCursorSchema и NoData

Вы можете указать установку по умолчанию для вызовов метода CursorFill, произведенных без первых двух параметров, с помощью установки этих свойств. Для получения более подробной информации смотрите описание свойств UseCursorSchema and NoData.

Expand image Поддержка поля типа Timestamp

Новое свойство TimestampFieldList позволяет вам указать список полей timestamp курсора, созданного объектом CursorAdapter. Для получения более подробной информации смотрите описание свойства TimestampFieldList.

Expand image Поддержка Auto-Refresh

Имеется ряд сценариев, в которых вы можете пожелать иметь обновляемые данные с удаленного источника данных после того, как произойдут операции Insert/Update. Это включает в себя перечисленные ниже сценарии:

  • Таблица имеет поле с автоувеличением, которое, кроме того, используется как первичный ключ.

  • Таблица имеет поле типа timestamp, и такое поле должно быть обновляемым из базы данных после каждой операции Insert/Update для того, что позволить успешные последовательные обновления записи, когда WhereType=4 (key и timestamp).

  • Таблица содержит некоторые поля, которые имеют предустановленные значения DEFAULT или триггера, определенные таким образом, что изменения произошли.

Перечисленные ниже свойства добавлены в класс CursorAdapter для поддержки Auto-Refresh:

Property | Description
InsertCmdRefreshFieldList | Список полей для обновления после исполнения команды Insert.
InsertCmdRefreshCmd | Указывает команду обновления записи после исполнения команды Insert.
InsertCmdRefreshKeyFieldList | Список ключевых полей для обновления в записи после исполнения команды Insert.
UpdateCmdRefreshFieldList | Список полей для обновления поле исполнения команды Update.
UpdateCmdRefreshCmd | Указывает команду для обновления записи после исполнения команды Update.
UpdateCmdRefreshKeyFieldList | Список ключевых полей для обновления записи после исполнения команды Update.
RefreshTimestamp | Разрешает автоматическоу обновление для полей в списке TimestampFieldList в течение операций Insert/Update.

Для получения более подробной информации о том, как Visual FoxPro обновляет отдаленные данные с помощью CursorAdapter, смотрите Data Access Management Using CursorAdapters. Кроме того, смотрите описание свойств InsertCmdRefreshCmd, InsertCmdRefreshFieldList, InsertCmdRefreshKeyFieldList, UpdateCmdRefreshCmd, UpdateCmdRefreshFieldList, UpdateCmdRefreshKeyFieldList и RefreshTimeStamp.

Expand image Обновление записи по требованию

В Visual FoxPro 8.0, функция REFRESH() предоставляет фнукциональнсть обновления записи по требованию для локальных и удаленных представлений, однако она не поддерживает такую функциональность для CursorAdapter. Visual FoxPro 9.0 расширил поддержку REFRESH() для CursorAdapter и предоставил несколько дополнительных возможностей:

Member | Описание
Метод RecordRefresh | Обновляет текущие значения полей для целевых записей. Используйте функцию CURVAL() для определения текущих значений полей.
Событие BeforeRecordRefresh | Происходит непосредственно перед исполнением метода RecordRefresh.
Событие AfterRecordRefresh | Происходит незамедлительно после исполнения метода RecordRefresh.
Свойство RefreshCmdDataSourceType | Указывает тип источника данных, который будет использован в методе RecordRefresh.
Свойство RefreshCmdDataSource | Указывает источник данных, который будет использован в методе RecordRefresh.
Свойство RefreshIgnoreFieldList | Списко игнорируемых полей для операции RecordRefresh
Свойство RefreshCmd | Указывает команду для обновления строк, когда исполняется метод RecordRefresh.
Свойство RefreshAlias | Указывает псевдоимя read-only курсора, используемого как цель для операции обновления.

Для получения более подробной информации смотрите описания метода RecordRefresh, события BeforeRecordRefresh, события AfterRecordRefresh, свойства RefreshCmdDataSourceType, свойства RefreshCmdDataSource, свойства RefreshIgnoreFieldList, свойства RefreshCmd и свойства RefreshAlias.

Expand image Задержанная выборка мемо-полей

Класс CursorAdapter имеет свойство FetchMemo, которое при установке в значение False (.F.) в Visual FoxPro 9.0 помещает курсор е режим задежанной выборки мемо-полей (Delayed Memo Fetch mode) схожий с удаленными представлениями. Задержанная выборка мемо-полей предотвращает мемо-поля от ипользования в выборке при использовании методов CursorFill или CursorRefresh. Попытка выбрать содержание Memo-поля совершается, когда приложение пытается получить доступ к значению. Описанные ниже расширения класса CursorAdapter предоставляют поддержку для задержанной выборки мемо-полей:

Member | Описание
Метод DelayedMemoFetch | Производит задержанную выборку мемо-поля целевой записи в курсоре объекта CursorAdapter.
Свойство FetchMemoDataSourceType | Указывает тип источника данных, используемого для метода DelayedMemoFetch.
Свойство FetchMemoDataSource | Указывает источника данных, используемый для метода DelayedMemoFetch.
Свойство FetchMemoCmdList | Указывает список имен мемо-полей и связанные с ними команды выборки.

Для получения более подробной информации смотрите описания метода DelayedMemoFetch, свойства FetchMemoDataSourceType, свойства FetchMemoDataSource и свойства FetchMemoCmdList.

Expand image Свойство UseTransactions

Новое свойство UseTransactions указывает - должен ли CursorAdapter использовать транзации при посылке команд Insert, Update или Delete через ADO или ODBC. Для получения более подробной информации смотрите описание свойства UseTransactions.

Expand image DEFAULT and CHECK Constraints Respected

В Visual FoxPro 9.0, значения DEFAULT, а также CHECK constraints уровней поля и таблицы, поддерживаются для XML, Native, ADO и ODBC источников данных. В Visual FoxPro 8.0 они поддерживались только для источников данных типа XML. Для того, чтобы значения DEFAULT и CHECK constraints были применены к курсору, вызовите метод CursorFill с параметром lUseSchema установленным в True (.T.). Для получения более подробной информации смотрите описание свойства CursorSchema.

Expand image Преобразование типов удаленных данных в логичеичкие типы данных

Когда вы перемещаете данные между удаленным серевером и Visual FoxPro, Visual FoxPro использует типы данныъ ODBC или ADO для разметки удаленных типов данных в локльные типы данных Visual FoxPro. В Visual FoxPro 9.0, определенные типы данных ODBC и ADO могут быть теперь рамзечены в логические типы данных data в удаленных представлениях и объекте CursorAdapter. Для получения более подробной информации смотрите описание Управление преобразование типов данных.

Expand image Свойство ADOCodePage

При работе с источниками данных типа ADO с вашим CursorAdapter, вы можете пожелать указать кодовую страницу для использования трансляции символьных данных. Новое свойство ADOCodePage позволяет вам указать эту кодовую страницу. Для получения более подробной информации смотрите описание свойства ADOCodePage.

Expand image Чтение и записов из/во XML-документов со вложениями

Вы можете читать из XML документов и записывать в них данные из ваших реляционных баз данных, используя вложенияе для обработки отношений между таблицами. Вы можете выполнить это, используя свойство RespectNesting объекта класса XMLAdapter. Класс XMLTable имеет методы Nest Method, Unnest Method, а также перечисленные ниже свойства для обслуживания вложений.

  • Свойство FirstNestedTable

  • Свойство NestedInto

  • Свойство NextSiblingTable

Для получения более подробной информации смотрите описания классов XMLAdapter и XMLTable.

Expand image Метод LoadXML может акцептировать любые XML-документы

Метод LoadXML акцептирует любые XML-документа с действительной схемой. Ранее, методж требовал, чтобы схема следовала формату сгенерированного Visual Studio набора данных (Visual Studio generated dataset). Когда вы используете метод LoadXML, для чтения XML-документа со схемой, отличающейся от Visual Studio generated dataset, свойства XMLName и XMLPrefix объекта XMLAdapter устанавливаются в пустое значение. Значение свойства XMLNamespace становится равным значению целевого аттрибута Namespace для узла схемыa, и каждый XML элемент становится элементом составного типа (complexType) и размечается к объекту XMLTable. Свойство XMLNamespace устанавливается в значение, определяемое namespaceURI элемента.

Если вы установите свойство XMLAdapter RespectNesting в True (.T.), декларация элемента верхнего уровня (в иерархии) игнорируется, если на него имеется ссылка из другого составного элемента. В таком случае, объект XMLTable ссылаемого элемента вкладывается в элемент XMLTable, элемента, которые ссылается на него.

Для получения более подробной информации смотрите описание метода LoadXML.

Expand image XPath выражения могут иметь доступ к сложным XML документам

Вы можете использовать выражения XPath для доступа к комплексным XML-документам, а также новые свойства для чтения узлов документа. Напрмеир, Вы можете пожелать фильтровать узлы записей, выосстанавливать отношения, основанные на внешних ключевых полях, использовать текст элемента, как данные для поля или получить доступ к XML, которые использует множественные пространства имен XML. Для возможности читать XML на уровнях XMLAdapter, XMLTable или XMLField вам предоставленые следующие свойства.

  • Свойство DeclareXMLPrefix

  • Свойство SelectionNamespaces

  • Свойство XMLNameIsXPath

Вы можете использовать приведенную ниже таблицу для определения узла внутри XML-документа, к которого вы желаете начать чтение документа.

Например, еси вы используете выражение XPath в свойстве XMLName объекта XMLAdapter, чтение начнетася с первого узла

Для чтения | Класс | Узел контекста
С первого найденного узла XML: | XMLAdapter | IXMLDOMElement свойство
Всех найденных узлов XML и использования каждого узла, как отдельной записи: | XMLTable | XMLAdapter объект
С первого найденного XML узла и использование его текста, как значения поля: | XMLField | XMLTable объект

Приведенные ниже методы не поддерживают использование выражений XPath в свойстве XMLName:

  • Методы ApplyDiffgram и ChangesToCursor не поддерживают выражения для объектов XMLAdapter и XMLTable.

  • Метод ToCursor не поддерживает выражение XPath для объекта XMLAdapter, когда свойство IsDiffgram установлено в True (.T.).

  • Метод ToXML не поддерживает выражения XPath для объектов XMLAdapter aи XMLTable и игнорирует объекты XMLField, которые используют выражения XPath.

Для получения более подробной информации о выражениях XPath, смотрите справочное руководство по XPath в Microsoft Core XML Services (MSXML) 4.0 SDK или в MSDN библиотеке по адресу http://msdn.microsoft.com/library.

Expand image Функции преобразования курсоров в XML и обратно

В OLE DB Provider для Visual FoxPro включена поддержка перечисленных ниже функцйи:

  • Функция CURSORTOXML()

  • Функция XMLTOCURSOR()

  • Функция XMLUPDATEGRAM()

При использовании OLE DB Provider для Visual FoxPro имейте ввиду, что в функциях CURSORTOXML( ), XMLTOCURSOR( ) и XMLUPDATEGRAM( ) не поддерживается свойство _VFP VFPXMLProg вследствие того, что в OLE DB Provider не поддерживается системная переменная _VFP.

Expand image В Visual FoxPro OLE DB поддерживается EXECSCRIPT

Вы можете использовать функцию EXECSCRIPT() при работе с Visual FoxPro OLE DB Provider. Для получения более подробной информации смотрите описание функции EXECSCRIPT().

Expand image Возврат Rowset из курсора в Visual FoxPro OLE DB Provider

Вы можете использовать новые функции SETRESULTSET( ), GETRESULTSET( ) и CLEARRESULTSET( ) для установка флажка маркера на курсор или таблицу, открытые с помощью Visual FoxPro OLE DB Provider, получить рабочую область помеченного курсора и снять флажок маркера с помеченного курсора. Путем маркировки курсора или таблицы мы можете получить rowset, который создается из маркированного курсора или таблицы контейнера базы данных хранимой процедурой, когда OLE DB Provider завершает выполнение команды.

Для получения более подробной информации смотрите описание функций SETRESULTSET(), GETRESULTSET() и CLEARRESULTSET().

Expand image Смотрите также

Справочное руководство

Указатель по улучшениями в системе отчетов
Улучшения в языке SQL
Расширения в классах
Расширения в языке
Расширения в интерактивной среде разработки (IDE)
Расширения в дизайнерах Visual FoxPro
Прочие улучшения и расширения
Изменения в функциональности текущего выпуска

Прочие ресурсы

Что нового в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


SQL Language Improvements

Модернизация элементов Языка SQL
См. также
CollapseAll image

Команда SELECT - SQL и другие команды SQL для данной версии Visual FoxPro 9.0 существенно улучшены и расширены. В данном Параграфе рассматриваются и обсуждаются как улучшенные так и новые функциональные особенности технологии SQL (в реализации Visual FoxPro).

Expand image Расширенные Возможности

Некоторые ограничения команды SELECT - SQL теперь сняты, улучшены Технологические Характеристики SQL Visual FoxPro 9.0. В следующей Таблице перечислены снятые Ограничения или Улучшенные характеристики.

Возможность | Краткое Описание
Количество Секций Join и Подзапросов в команде SELECT - SQL | В версии Visual FoxPro 9.0 снято общее ограничение по количеству секций JOIN и Подзапросов в одной команде SELECT - SQL. Предыдущее ограничение = 9 (девять).
Количество Секций UNION в команде SELECT - SQL | В версии Visual FoxPro 9.0 снято ограничение по количеству секций UNION в одной команде SELECT - SQL. Предыдущее ограничение = 9 (девять).
Количество ссылок на Таблицы в одной команде SELECT - SQL | В версии Visual FoxPro 9.0 снято ограничение по количеству ссылок на Таблицы в одной команде SELECT - SQL. Предыдущее ограничение = 30 (тридцать).
Количество Аргументов в Секции IN( ) | В версии Visual FoxPro 9.0 снято ограничение по количеству аргументов (<=24), Значений в секции IN () из общего утверждения WHERE. Однако, количество рассматриваемых Значений может быть определено системной Функцией: SYS(3055) – FOR and WHERE Clause Complexity. Относительно Функциональных изменений секции IN, смотрите подраздел Изменения функциональности в Текущей (9) версии.

Expand image Расширение функциональности использования ПодЗапросов SQL

В версии Visual FoxPro 9.0 обеспечена большая Гибкость при создании Подзапросов. Например, теперь поддерживаются несколько ПодЗапросов в одной команде SELECT-SQL. Далее описаны основные Улучшения функциональности ПодЗапросов.

Несколько ПодЗапросов

Visual FoxPro 9.0 поддерживает множественные вложенные ПодЗапросы, с поддержкой Корреляции элементов относительно Родительского Запроса. Теперь отсутствуют Ограничения по глубине вложенных Подзапросов. В версии Visual FoxPro 8.0, возникала Ошибка = 1842 (SQL: Подзапрос, недопустимое вложение), которая порждалась при использовании более Одного вложения ПодЗапросов в одной команде SQL.

Далее приводится Основная допустимая синтаксическая Конструкция для нескольких вложенных ПодЗапросов.

SELECT … WHERE … (SELECT … WHERE … (SELECT …) …) …

Пример:

Представленный далее Пример приводит к возникновению ошибочной ситуации в версии Visual FoxPro 8.0; Однако, в версии Visual FoxPro 9.0. он успешно выполняется:

CopyCode image Копировать Код
CREATE CURSOR MyCursor (field1 I)
INSERT INTO MyCursor VALUES (0)

CREATE CURSOR MyCursor1 (field1 I)
INSERT INTO MyCursor1 VALUES (1)

CREATE CURSOR MyCursor2 (field1 I)
INSERT INTO MyCursor2 VALUES (2)

SELECT * FROM MyCursor T1 WHERE EXISTS ;
 (SELECT * from MyCursor1 T2 WHERE NOT EXISTS ;
 (SELECT * FROM MyCursor2 T3))

*** Another multiple subquery nesting example ***
SELECT * FROM table1 WHERE table1.iid IN ;
 (SELECT table2.itable1id FROM table2 WHERE table2.iID IN ;
 (SELECT table3.itable2id FROM table3 WHERE table3.cValue = "value"))

Секция GROUP BY в Коррелированном ПодЗапросе:

Многие Запросы могут быть оценены как успешно выполняемые в зависимости от содержания ПодЗапроса или от изменяемого Значения в секции WHERE Родительского Запроса. В Запросах, содержащих Коррелированные ПодЗапросы (называемые также Повторяющимися Подзапросами), выполнение подзапроса существенно зависит от значений некоторых элементов Родительского Запроса. Это означает, что указанный ПодЗапрос выполняется многократно, для каждой результирующей Записи Родительского Запроса.

В версии Visual FoxPro 8.0 не допускалось использование выражения GROUP BY в Коррелированном ПодЗапросе, и возникала Ошибочная ситуация = 1828 (SQL: недопустимое использование выражения GROUP BY в ПодЗапросе). В версии Visual FoxPro 9.0 указанное ограничение снято, рассматриваемое выражение GROUP BY может эффективно использоваться в коррелированных подзапросах, в резельтирующий наборе данных включаются уже более одной Записи.

Далее приводится поддерживаемая теперь синтаксическая конструкция команды SQL с секцией GROUP BY в коррелированном Подзапросе.

SELECT … WHERE … (SELECT … WHERE … GROUP BY …) …

Пример:

Следующий программный Код приводит к ошибке в версии Visual FoxPro 8.0, Но успешно выполняется в версии Visual FoxPro 9.0.

CopyCode image Копировать Код
CLOSE DATABASES ALL
CREATE CURSOR MyCursor1 (field1 I, field2 I, field3 I)
INSERT INTO MyCursor1 VALUES(1,2,3)
CREATE CURSOR MyCursor2 (field1 I, field2 I, field3 I)
INSERT INTO MyCursor2 VALUES(1,2,3)

SELECT * from MyCursor1 T1 WHERE field1;
 IN (SELECT MAX(field1) FROM MyCursor2 T2 ;
 WHERE T2.field2=T1.FIELD2 GROUP BY field3)

Секция TOP N в НеКоррелированных ПодЗапросах:

Версия Visual FoxPro 9.0 поддерживает теперь секцию TOP N в некоррелированных ПодЗапросах. Требуется использовать выражение ORDER BY если указывается рассматриваемая конструкция TOP N; Это единственный случай, при использовании ее в Подзапросах.

Далее представлена основная синтаксическая Конструкция использования утверждения TOP N в некоррелированных Подзапросах.

SELECT … WHERE … (SELECT TOP nExpr [PERCENT] … FROM … ORDER BY …) …

Пример:

Следующий программный код приводит к Ошибке в версии Visual FoxPro 8.0; однако - успешно выполняется в версии Visual FoxPro 9.0.

CopyCode image Копировать Код
CLOSE DATABASES ALL
CREATE CURSOR MyCursor1 (field1 I, field2 I, field3 I)
INSERT INTO MyCursor1 VALUES(1,2,3)
CREATE CURSOR MyCursor2 (field1 I, field2 I, field3 I)
INSERT INTO MyCursor2 VALUES(1,2,3)

SELECT * FROM MyCursor1 WHERE field1 ;
 IN (SELECT TOP 5 field2 FROM MyCursor2 order by field2)

Подзапросы в Списках столбцов команды SELECT:

Версия Visual FoxPro 9.0 теперь допускает Подзапросы, как Столбцы или части выражения в Результирующем наборе (списке столбцов). Значение ПодЗапроса оценивается по тем же правилам, как и в операциях Сравнения. Если Подзапрос не возвращает ни одной Записи, то возвражается стандартное значение = NULL.

При использовании описанной выше конструкции в версии Visual FoxPro 8.0, возникаент Ошибочная ситуация = 1810 (SQL: Неверное использование ПодЗапроса).

Далее приводится общая допустимая синтаксическая конструкция Списка столбцов в команде SELECT.

SELECT … (SELECT …) … FROM …

Пример:

Следущий далее программный Код приводит к ошибке в версии Visual FoxPro 8.0; однако - успешно выполняется в версии Visual FoxPro 9.0.

CopyCode image Копировать Код
SELECT T1.field1, (SELECT field2 FROM MyCursor2 T2;
 WHERE T2.field1=T1.field1) FROM MyCursor1 T1

Использование Агрегатных Функций в Подзапросах, как столбцов в команде SELECT:

Теперь, в версии Visual FoxPro 9.0, поддерживаются агрегатные функции в Конструкциях Подзапросов используемых в выражених сравнения <, <=, >, >=, а также ALL, ANY, или SOME. Смотрите дополнительно подраздел по использованию агрегатных функций: Соглашения для Операторов SQL SELECT.

Пример:

Далее приводится программный Код, в котором используется агрегатная функция COUNT( ), как элемент Списка Подзапроса SELECT.

CopyCode image Копировать Код
CLOSE DATABASES ALL

CREATE CURSOR MyCursor (FIELD1 i)
INSERT INTO MyCursor VALUES (6)
INSERT INTO MyCursor VALUES (0)
INSERT INTO MyCursor VALUES (1)
INSERT INTO MyCursor VALUES (2)
INSERT INTO MyCursor VALUES (3)
INSERT INTO MyCursor VALUES (4)
INSERT INTO MyCursor VALUES (5)
INSERT INTO MyCursor VALUES (-1)

CREATE CURSOR MyCursor2 (FIELD2 i)
INSERT INTO MyCursor2 VALUES (1)
INSERT INTO MyCursor2 VALUES (2)
INSERT INTO MyCursor2 VALUES (2)
INSERT INTO MyCursor2 VALUES (3)
INSERT INTO MyCursor2 VALUES (3)
INSERT INTO MyCursor2 VALUES (3)
INSERT INTO MyCursor2 VALUES (4)
INSERT INTO MyCursor2 VALUES (4)
INSERT INTO MyCursor2 VALUES (4)
INSERT INTO MyCursor2 VALUES (4)

SELECT * FROM MYCURSOR WHERE field1;
 < ALL (SELECT count(*) FROM MyCursor2 GROUP BY field2) ;
 INTO CURSOR MyCursor3
BROWSE

Коррелированные Подзапросы допускают теперь сложные Выражения Сравнения с коррелированным Полем:

В версии Visual FoxPro 8.0, ссылки на коррелируемые Поля (столбцы) могли быть указаны только в следующих Случаях:

Коррелируемое Поле <оператор сравнения> Локальное Поле

-или-

Локальное Поле <оператор сравнения> Коррелируемое Поле

В версии Visual FoxPro 9.0, в выражениях Сравнения, допускаются более сложные Конструкции, локальные поля, корреляционные поля, выражения:

Коррелируемое Поле <оператор сравнения> Локальное выражение

-или в форме-

Локальное выражение <оператор сравнения> Коррелируемое Поле

В локальном выражении должна быть использована по крайней мере одна ссылка на локальное Поле, и не может быть использована ссылка на Итоговый (коррелированный) Столбец результирующего Набора.

Пример:

В представленном Коде локальное выражение (MyCursor2.field2 / 2) сравнивается с итоговым Полем (Столбцом) (MyCursor.field1).

CopyCode image Копировать Код
SELECT * FROM MyCursor ;
 WHERE EXISTS(SELECT * FROM MyCursor2 ;
 WHERE MyCursor2.field2 / 2 > MyCursor.field1)

Нововведения для сравниваемых выражений при использовании Подзапросов:

В версии Visual FoxPro 8.0, в левой части выражения сравнения при использовании операторов сравнения: [NOT] IN, <, <=, =, ==, <>, !=, >=, >, ALL, ANY, SOME и Подзапроса, указанного в правой части, может быть использована ссылка на Одну, и только Одну Таблицу из соответствующей секции FROM. В случае сравнения с коррелированным Подзапросом, данная Таблица должны быть также Коррелированной.

В версии Visual FoxPro 9.0, конструкции Сравнения работают в следующизх Режимах:

  • Выражение, размещенное в левой части конструкции сравнения IN должна содержать ссылку по крайней мере на Одну Таблицу, из соответствующей секции FROM.

  • Аналогично, в левой части выражения сравнения, использующего операторы =, ==, <>, !=, а также: ALL, SOME, ANY должна быть указана ссылка по крайней мере на Одну Таблицу из секции FROM.

  • Аналогично, в левой части выражения сравнения, использующего операторы >, >=, <, <=, а также: ALL, SOME, ANY (SELECT TOP…) должна быть указана ссылка по крайней мере на Одну Таблицу из секции FROM.

  • Аналогично, в левой части выражения сравнения, использующего операторы >, >=, <, <=, а также: ALL, SOME, ANY (SELECT <агрегатная функция>…) должна быть указана ссылка на по крайней мере на Одну Таблицу из Секции FROM.

  • Аналогично, в левой части выражения сравнения, использующего операторы >, >=, <, <=, а также: ALL, SOME, ANY (для подзапросов с использованием GROUP BY и/или HAVING) должна быть указана ссылка по крайней мере на ОДдну Таблицу из секции FROM.

В версии Visual FoxPro 9.0, когда левая часть выражения сравнения не содержит списка требуемых Значений (например, для конструкций типа ALL, SOME, ANY) не требуется указание ссылки на хотя бы одну Таблицу из секции FROM.

Во всех остальных случаях, в левой части Сравнения, может быть указано не более одной ссылки на Таблицу из соответствующей секции FROM. Для коррелированных Подзапросов, левая часть сравнения не может содержать ссылку на столбец Коррелированной Таблицы (коррелированной - итоговой, результирующей).

Использование Подзапросов в командах UPDATE - SQL, подсписках SET:

В версии Visual FoxPro 9.0, смотрите подраздел: UPDATE - SQL, команда, теперь поддерживаются Подзапросы в секции SET.

Подзапросы в секциях SET должны удовлетворять тем же требованиям,ераций Сравнения. Если Подзапрос не возвращает результирующих Записей, то возвращается значение = NULL.

Только один Подзапрос допустим в секции SET. Если в данной секции SET используется Подзапрос, то утверждение типа WHERE недопустимо.

Общая синтаксическая конструкция для описанного случая может выглядеть следующим образом:

UPDATE … SET … (SELECT …) …

Пример:

Далее представлен пример программного кода, демонстрирующий использование Подзапроса в секции SET, для команды UPDATE - SQL:

CopyCode image Копировать Код
CLOSE DATA
CREATE CURSOR MyCursor1 (field1 I , field2 I NULL)

INSERT INTO MyCursor1 VALUES (1,1)
INSERT INTO MyCursor1 VALUES (2,2)
INSERT INTO MyCursor1 VALUES (5,5)
INSERT INTO MyCursor1 VALUES (6,6)
INSERT INTO MyCursor1 VALUES (7,7)
INSERT INTO MyCursor1 VALUES (8,8)
INSERT INTO MyCursor1 VALUES (9,9)

CREATE CURSOR MyCursor2 (field1 I , field2 I)

INSERT INTO MyCursor2 VALUES (1,10)
INSERT INTO MyCursor2 VALUES (2,20)
INSERT INTO MyCursor2 VALUES (3,30)
INSERT INTO MyCursor2 VALUES (4,40)
INSERT INTO MyCursor2 VALUES (5,50)
INSERT INTO MyCursor2 VALUES (6,60)
INSERT INTO MyCursor2 VALUES (7,70)
INSERT INTO MyCursor2 VALUES (8,80)

UPDATE MyCursor1 SET field2=100+(SELECT field2 FROM MyCursor2 ;
 WHERE MyCursor2.field1=MyCursor1.field1) WHERE field1>5

SELECT MyCursor1
LIST

Expand image Составные (вложенные) конструкции SELECT в секциях FROM:

В составных конструкциях SELECT часто появляются ссылки на различные Таблицы. Различные Таблицы в операторе SELECT указываются в секции FROM, которые задаются в виде Алиасов или пользовательских Имен. Результирующий Набор оператора SELECT, с использованием таблиц из секции FROM, создается при помощи Внешнего Объединения SELECT (Outer Select). Версия Visual FoxPro 9.0 обеспечивает использовани Подзапросов в секции FROM.

Составные конструкции SELECT указываются в круглых скобках и требуют обязательного указания результирующего Алиаса главного Оператора. Корреляция не поддерживается. Для составных (вложенных) операторов SELECT действителен синтаксис и Ограничения, как для обычного SQL - SELECT, но оганичения на Подзапросы не не поддерживаются. Все составные (вложеные) конструкции SELECT должны выполняться до выполнения Главного оператора SELECT.

Далее представлена каноническая, синтаксическая конструкция для составного (вложенного) Подзапроса в секции FROM.

SELECT … FROM (SELECT …) [AS] Alias…

Пример:

Далее представлен пример использования вложенного SQL-SELECT из секции FROM.

CopyCode image Копировать Код
SELECT * FROM (SELECT * FROM MyCursor T1;
 WHERE field1 = (SELECT T2.field2 FROM MyCursor1 T2;
 WHERE T2.field1=T1.field2);
 UNION SELECT * FROM MyCursor2;
 ORDER BY 2 desc) AS subquery

*** Note that the following code will generate an error ***
SELECT * FROM (SELECT TOP 5 field1 FROM MyCursor) ORDER BY field1

Expand image Конструкция ORDER BY с именами Полей в секции UNION:

При использовании секции UNION в версии Visual FoxPro 8.0, вы были вынуждены использовать Номера результирующих Столбцов для определения необходимой Сортировки, определяемой в секции ORDER BY. В версии Visual FoxPro 9.0, описанное ограничение снято и вы можете указавать Имена результирующих Столбцов.

Требуемые имена столбцов сортировки должны быть определены в итоговом Списке результирующего оператора SELECT (последнего при использовании конструкций UNION); только после этого данные Столбцы могут быть указаны в секции Сортировки ORDER BY.

Пример:

Далее представлен пример использования имен итоговых столбцов для определения режимов Сортировки в секции ORDER BY.

CopyCode image Копировать Код
CLOSE DATABASES all
CREATE CURSOR MyCursor(field1 I,field2 I)
INSERT INTO MyCursor values(1,6)
INSERT INTO MyCursor values(2,5)
INSERT INTO MyCursor values(3,4)

SELECT field1, field2, .T. AS FLAG,1 FROM MyCursor;
 WHERE field1=1;
 UNION ;
 SELECT field1, field2, .T. AS FLAG,1 FROM MyCursor;
 WHERE field1=3;
 ORDER BY field2 ;
 INTO CURSOR TEMP READWRITE

BROWSE NOWAIT

Expand image Оптимизация выполнения конструкции TOP N:

В версии Visual FoxPro 8.0, и в более младших версиях, когда используется конструкция TOP N [PERCENT], сначала выполняется выборка и сортировка всех Результирующих Записей, а потом извлекаются требуемые (TOP N). В версии Visual FoxPro 9.0, выполнение подобных SQL-SELECT значительно улучшено, увеличена скорость выборки, за счет Исключающих Записей (Eliminating Records), которые изначально отбрасываются и не участвуют в формировании результирующего Набора, создаваемого по конструкции TOP N, исключаются из процесса сротировуки на ранних стадиях выполнения Запроса.

Конструкция TOP N оптимизируется только в том случа, когда для стандартной команды SET ENGINEBEHAVIOR установлено значение = 90.

Оптимизация требует, чтобы конструкция TOP N возвращала не более чем N записей в Результирующем Наборе (что недействительно для версии Visual FoxPro 8.0 и более ранних версий), когда же определено SET ENGINEBEHAVIOR = 90, то процессы оптимизации Включаются.

Секция TOP N PERCENT не может быть Оптимизирована, если результирующий Набор не поместим целиком в оперативную память Рабочей Станции.

Expand image Улучшенная Оптимизация выборки из нескольких Таблиц с составными условиями типа OR (или)

Версия Visual FoxPro 9.0 обеспечивает улучшение Оптимизации типа Rushmore для многотабличных Выборок с условными конструкциями OR (ИЛИ). Visual FoxPro использует оптимизацию Rushmore для фильтрованных сложных составных Условий типа OR для обоих сторон определяющих условия выборки; в данном случае возможна Улучшенная Оптимизация. Следующий далее пример иллюстрирует вышесказанное:

CopyCode image Копировать Код
CLEAR
CREATE CURSOR Test1 (f1 I)
FOR i=1 TO 20
  INSERT INTO Test1 VALUES (I)
NEXT
INDEX ON f1 TAG f1
CREATE CURSOR Test2 (f2 I)
FOR i=1 TO 20
  INSERT INTO Test2 VALUES (I)
NEXT
INDEX ON f2 TAG f2
SYS(3054,12)
SELECT * from Test1, Test2 WHERE (f1 IN (1,2,3) AND f2 IN (17,18,19)) OR ;
  (f2 IN (1,2,3) AND f1 IN (17,18,19)) INTO CURSOR Result
SYS(3054,0)

По представленному Сценарию выполнения Запроса, выборка из Таблицы Test1 может быть оптимизированапо Rushmore; для этого рекомендуется использовать следующие Оптимизируемые Конструкции:

(f1 IN (1,2,3)  OR f1 IN (17,18,19))

А для Таблицы Test2 - можно использовать следующую Оптимизацию:

(f2 IN (17,18,19) OR f2 IN (1,2,3))

Expand image Поддержка для Локально Буферизованных Данных (Local Buffered Data):

Иногда, бывает полезно пользоваться Запросами SELECT - SQL для получения Данных из Таблиц, которые не изменяются в текущий момент (данные - статичные), таблицы представлены в виде буферизованных Курсоров. Во многих случаях, когда создаются Контролы типа Сетка (Grid), Списки (ListBox/ComboBox), указанные Курсоры могут содержать несколько новых Записей, которые еще не отражены на Диске (пока не ваполнена Запись на Диск). Однако, в текущий момент, оператор SQL основан на реальных данных, которые уже отображены на Диске.

Версия Visual FoxPro 9.0 обеспечивает расширения Языка (Visual FoxPro), для поддержки актуальных данных в динамических конструкциях SELECT - SQL, которые основаны либо на новых данных из буферов Курсоров или на данных с Диска.

Новый синтаксис команды SELECT - SQL теперь поддерживает секцию WITH … BUFFERING, которая позволяет контролировать обновление Данных на Диске и Буферах. Дополнительную информацию смотрите в разделе: SELECT - SQL, команда, - WITH, секция.

Если вы не используете указание параметра BUFFERING, процесс загружаемых данных определяется согласно Сценарию, определяемому текущей установкой команды SET SQLBUFFERING. Дополнительно смотрите раздел: SET SQLBUFFERING, команда.

Expand image Расширение других Команд SQL (Visual FoxPro)

В текущем разделе описываются расширения для команд: INSERT - SQL, команда, UPDATE - SQL, команда, и DELETE - SQL, команда, действительные для версии Visual FoxPro 9.0.

Секция UNION в команде INSERT - SQL:

Начиная с версии Visual FoxPro 9.0, секция UNION теперь поддерживается в команде: INSERT - SQL.

Далее представлена основная синтаксическая конструкция использования секции UNION:

INSERT INTO … SELECT … FROM … [UNION SELECT … [UNION …]]

Пример:

Далее демонстрируется использование секции UNION в команде INSERT-SQL.

CopyCode image Копировать Код
CLOSE DATABASES ALL
CREATE CURSOR MyCursor (field1 I,field2 I)
CREATE CURSOR MyCursor1 (field1 I,field2 I)
CREATE CURSOR MyCursor2 (field1 I,field2 I)

INSERT INTO MyCursor1 VALUES (1,1)
INSERT INTO MyCursor2 VALUES (2,2)

INSERT INTO MyCursor SELECT * FROM MyCursor1 UNION SELECT * FROM MyCursor2

SELECT MyCursor
LIST

Коррелируемые команды UPDATE - SQL:

Начиная с версии Visual FoxPro 9.0 поддерживаются Корреляционные Изменения Данных при помощи соответствующей команды UPDATE - SQL.

Если секция FROM включена в команду UPDATE -SQL, тогда имя, следующее после ключевого слова UPDATE определяет наименование результирующего набора данных операции Изменения. Это может быть именем Таблицы, именем Алиаса, или именем файла данных. Следующая логическая цепочка может быть использована для выбора результирующей таблицы:

  • Если указанное Имя явно или неявно совпадает с именем Таблицы, указанной в секции FROM, тогда эта таблицы используется как результирующий набор в операции Изменения (UPDATE SQL).

  • Если Имя соответствует имени алиаса Курсора из текущей Сессии Данных, тогда этот Курсор - результирующий набор.

  • Если указано имя Таблицы или Файла, то данное имя используется в качестве результирующего набора.

В команде UPDATE -SQL, секция FROM имеет аналогичный синтаксис, как и секция FROM в команде SELECT - SQL, за исключением следующих Ограничений:

  • Результирующая Таблица или Курсор не могут быть включены в качестве второстепенного (присоединяемого) Набора Данных в утверждении OUTER JOIN.

  • Результирующий Курсор не может быть Результатом ПодЗапроса.

  • Все другие присоединяемые Элементы (JOIN) должны быть уже вычислены, до определения Результирующего набора.

Действителен следующий общий синтаксис для команды SQL- UPDATE.
UPDATE … SET … FROM … WHERE …

Пример:

Далее представлен пример Корреляционного Изменения Данных с помощью команды: UPDATE -SQL.

CopyCode image Копировать Код
CLOSE DATABASES ALL

CREATE CURSOR MyCursor1 (field1 I , field2 I NULL,field3 I NULL)
INSERT INTO MyCursor1 VALUES (1,1,0)
INSERT INTO MyCursor1 VALUES (2,2,0)
INSERT INTO MyCursor1 VALUES (5,5,0)
INSERT INTO MyCursor1 VALUES (6,6,0)
INSERT INTO MyCursor1 VALUES (7,7,0)
INSERT INTO MyCursor1 VALUES (8,8,0)
INSERT INTO MyCursor1 VALUES (9,9,0)

CREATE CURSOR MyCursor2 (field1 I , field2 I)
INSERT INTO MyCursor2 VALUES (1,10)
INSERT INTO MyCursor2 VALUES (2,20)
INSERT INTO MyCursor2 VALUES (3,30)
INSERT INTO MyCursor2 VALUES (4,40)
INSERT INTO MyCursor2 VALUES (5,50)
INSERT INTO MyCursor2 VALUES (6,60)
INSERT INTO MyCursor2 VALUES (7,70)
INSERT INTO MyCursor2 VALUES (8,80)

CREATE CURSOR MyCursor3 (field1 I , field2 I)
INSERT INTO MyCursor3 VALUES (6,600)
INSERT INTO MyCursor3 VALUES (7,700)

UPDATE MyCursor1 SET MyCursor1.field2=MyCursor2.field2, field3=MyCursor2.field2*10 FROM MyCursor2 ;
 WHERE MyCursor1.field1>5 AND MyCursor2.field1=MyCursor1.field1

SELECT MyCursor1
LIST

UPDATE MyCursor1 SET MyCursor1.field2=MyCursor3.field2 FROM MyCursor2, MyCursor3 ;
 WHERE MyCursor1.field1>5 AND MyCursor2.field1=MyCursor1.field1 AND MyCursor2.field1=MyCursor3.field1

SELECT MyCursor1
LIST

Корреляционные команды DELETE - SQL:

Начиная с версии Visual FoxPro 9.0, теперь поддерживается Корреляционное Удаление с помощью команды DELETE - SQL.

Если в секции FROM указана более чем одна таблица, тогда Имя, заданное сразу за ключевым словом DELETE является обязательным для успешного выполнения операции удаления. Данное имя может указывать: на имя Таблицы, Алиаса Рабочей Области или имя файла Данных. Рекомендуется поддерживаться следующей Логике:

  • Если указанное Имя, явно или неявно, соответствует Таблице, указанной в секции FROM, тогда эта таблица является результирующим набором при операции Удаления.

  • Если Имя соответствует Алиасу Курсора для текущей Сессии Данных, тогда этот курсор является результирующим Набором.

  • Указанное явно имя Таблицы или файла Данных является результирующим набором.

Синтаксис секции FROM для команды DELETE -SQL подчиняется аналогичным правилам для секции FROM рассмотренной выше команды SELECT - SQL, но имеют место следующие Ограничения:

  • Результирующий курсор или Таблица не могут быть второстепенным (присоединяемым) элементом в утверждении OUTER JOIN.

  • Результирующий Курсор не может быть результирующим набором Подзапроса.

  • Для возможности использования результирующего Курсора в конструкциях Объединения, все прочие Элементы JOIN должны быть определены до вычисления рассматриваемого Курсора.

Для данного случая справедлива следующая синтаксическая Конструкция команды SQL - DELETE:

DELETE [alias] FROM alias1 [, alias2 … ] … WHERE …

Пример:

Далее представлен пример корреляционной (зависимой) команды DELETE -SQL.

CopyCode image Копировать Код
CLOSE DATABASES ALL

CREATE CURSOR MyCursor1 (field1 I , field2 I NULL,field3 I NULL)
INSERT INTO MyCursor1 VALUES (1,1,0)
INSERT INTO MyCursor1 VALUES (2,2,0)
INSERT INTO MyCursor1 VALUES (5,5,0)
INSERT INTO MyCursor1 VALUES (6,6,0)
INSERT INTO MyCursor1 VALUES (7,7,0)
INSERT INTO MyCursor1 VALUES (8,8,0)
INSERT INTO MyCursor1 VALUES (9,9,0)

CREATE CURSOR MyCursor2 (field1 I , field2 I)
INSERT INTO MyCursor2 VALUES (1,10)
INSERT INTO MyCursor2 VALUES (2,20)
INSERT INTO MyCursor2 VALUES (3,30)
INSERT INTO MyCursor2 VALUES (4,40)
INSERT INTO MyCursor2 VALUES (5,50)
INSERT INTO MyCursor2 VALUES (6,60)
INSERT INTO MyCursor2 VALUES (7,70)
INSERT INTO MyCursor2 VALUES (8,80)

CREATE CURSOR MyCursor3 (field1 I , field2 I)
INSERT INTO MyCursor3 VALUES (6,600)
INSERT INTO MyCursor3 VALUES (7,700)

DELETE MyCursor1 FROM MyCursor2 ;
 WHERE MyCursor1.field1>5 AND MyCursor2.field1=MyCursor1.field1

SELECT MyCursor1
LIST
RECALL ALL

DELETE MyCursor1 FROM MyCursor2, MyCursor3 ;
 WHERE MyCursor1.field1>5 AND MyCursor2.field1=MyCursor1.field1 AND MyCursor2.field1=MyCursor3.field1

SELECT MyCursor1
LIST
RECALL ALL

DELETE FROM MyCursor1 WHERE MyCursor1.field1>5

SELECT MyCursor1
list
RECALL ALL

DELETE MyCursor1 from MyCursor1 WHERE MyCursor1.field1>5

RECALL ALL IN MyCursor1

DELETE T1 ;
 FROM MyCursor1 T1 JOIN MyCursor2 ON T1.field1>5 AND MyCursor2.field1=T1.field1, MyCursor3 ;
 WHERE MyCursor2.field1=MyCursor3.field1

RECALL ALL IN MyCursor1

Изменяемые Поля (столбцы) в команде UPDATE - SQL:

Количество Полей, которые могут быть изменены с помощью команды UPDATE - SQL больше не ограничено числом = 128 (ограничение для версии 8). Теперь это ограничение = 255, что соответствует максимальному количеству Полей в Таблице (Visual FoxPro).

Команда SET ENGINEBEHAVIOR:

Указанная команда SET ENGINEBEHAVIOR, в версии Visual FoxPro 9.0, имеет дополнительную опцию = 90, которая влияет на поведение в команде SELECT - SQL секции TOP N и Агрегатных Функций. Смотрите дополнительную информацию по данному вопросу в разделе: SET ENGINEBEHAVIOR.

Преобразование Типов Данных:

Преобразование типов данных (например, преобразование между полем memo и символьным полем) существенно улучшено в версии Visual FoxPro 9.0. Данное преобразование обеспечивается в команде ALTER TABLE - SQL, когда в опции COLUMN изменяется структура Таблицы, поддерживаемое в Дизайнере Таблиц.

Expand image См. также

Описание

Введение в Развитие Подсистемы Разработки Отчетов
Функциональные улучшения обработки Данных и XML
Расширение функциональности Классов
Улучшения и Расширения Языка Программирования (Visual FoxPro)
Рапсширения в Интерактивной Среде Разработки (IDE)
Расширения в Дизайнерах и Построителях Visual FoxPro
Прочие Улучшения Функциональности
Изменения Функциональности для Текущей (9) версии
ALTER TABLE - SQL, команда
SET SQLBUFFERING, команда
SET ENGINEBEHAVIOR, команда

Другие ссылки

Что Нового в версии 9 Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Class Enhancements

Расширения в классах
Смотрите также
CollapseAll image

Visual FoxPro содержит,рассмотренные в данной статье, расширения в классах, формах, элементах управления и синтаксисе, связанном с объектно-ориентированным программированием.

Expand image Привязка визуальных управляющих элементов

Вы можете "привязать" (anchor) визуальный управляющий элемент к одному или более углам его родительского контейнера с помощью свойства Anchor управляющего элемента. Когда вы привязываете визуальный управляющий элемента к его родительскому контейнеру углы управляющего элемента остаются в той же самой позиции по отношению к углам родительского контейнера во время изменения размеров контейнера. Для получения более подробной информации смотрите описание Свойство Anchor.

Expand image Стыковка форм

Visual FoxPro расширил поддержку стыковки для форм, созданных пользователем. Стыковка форм работает схожим образом со стыковкой панелей инструментов, за исключением возможности стыковки форма пользователя с системнымы окнами Visual FoxPro Interactive Development Environment (IDE) и другими формами, а управляющие элементы на форме могут по прежнему получать фокус, в случае, если форма состыкована с другим объектом.

Visual FoxPro включает приведенные ниже новые и обновленные свойства, методы и события для поддержки стыковки форм.

  • Свойство Dockable

  • Метод GetDockState

  • Функция ADOCKSTATE()

  • Событие AfterDock

  • Событие BeforeDock

  • Метод Dock

  • Свойство Docked

  • Свойство DockPosition

  • Событие UnDock

  • Команда DOCK

Для получения более подробной информации смотрите Как: стыковать формы.

Expand image Элементы управления CheckBox и OptionButton поддерживают перенос слов (Wordwrapping)

Свойство WordWrap теперь поддерживается и для элементов управления CheckBox и OptionButton. Текстовая часть этих элементов теперь использует перенос слов (wordwrapping). Для получения более подробной информации смотрите Свойство WordWrap.

Expand image Элемент управления CommandButton может выравнивать текст с картинками

Свойство Alignment теперь применимо к элементу CommandButton, когда для свойства Picture указывается картинка и установлено значение для свойства PicturePosition, отличное от значения по умолчанию. Свойство Alignment также содержит новые и пересмотренные установки для элементов CommandButton, CheckBox и OptionButton. Для получения более подробной информации смотрите Alignment свойство.

Expand image CommandButton, OptionButton и CheckBox Controls могут скрывать заголовки (Captions)

Свойство PicturePostion содержит новую установку - 14 (No text) для элементов CommandButton, OptionButton и CheckBox. Вы можете использовать эту установку для скрытия текстовой части этих элементов, без необходимости устанавливать значение Caption в пустую строку. Эта установка, в частности, полезна, когда вы желаете добавить для кнопки с графикой "горячий ключ" без отображения текста Caption. Вы должны установить свойство Style в 1 (Graphical) для применения этой новой установки.

Дополнительно, свойство PicturePosition теперь применимо к элементам CheckBox и OptionButton при установке свойства Style в 1 (Graphical).

Для получения более подробной информации смотрите описание свойства PicturePosition.

Expand image Свойства PictureMargin и PictureSpacing управляют пространством и границами на элементах CommandButton, OptionButton и CheckBox

Вы можете улучшить позиционирование графики на элементах CommandButton, OptionButton и CheckBox с помощью новых свойств PictureMargin и PictureSpacing. Свойство PictureMargin указывает граничное пространство в пикселях между графикой и бордюром элемента, а бордюр элемента определяется свойством PicturePosition. Свойство PictureSpacing указывает граничное пространство в пикселях между графикой и текстом на элементе.

Для получения более подробной информации смотрите описание свойств PictureMargin и PictureSpacing.

Expand image Объекты Collection поддерживаются элементами ComboBox и ListBox

Вы можете указать объекты Collection в качестве источника строки и типа источника строки для свойств RowSource и RowSourceType элементов ComboBox и ListBox. Для получения более подробной информации смотрите описание свойств RowSource и RowSourceType.

Expand image Установка индексов Ascending или Descending на курсорах в DataEnvironment

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

Note Замечание

OrderDirection сбрасывается, когда свойству Order присвоено пустое значение.

Для получения более подробной информации смотрите описание свойства OrderDirectionо.

Expand image Grid поддерживает Rushmore оптимизацию

Для элемента Grid может быть установлена поддержка Rushmore оптимизации, если используемый источник данных содержит индексы, которые обеспечивают такую поддержку.

Для получения более подробной информации смотрите описание свойства Optimize.

Expand image Mouse Pointer для колонок Grid и заголовков Column

Свойства MousePointer и MouseIcon теперь применимы к объектам Column в grid'е и к объектам Header в колонках. Для свойства MousePointer вы теперь можете указать новое значение 16 (Down Arrow) для сброса указателя мыши для заголовка колонки в используемую по умолчанию "стрелка вниз".

Для получения более подробной информации смотрите описание свойств MousePointer и MouseIcon.

Expand image Вращение элементов Label, Line и Shape

Вы можете использовать новое свойство Rotation для вращения элементов Label. Свойство Rotation применимо к элементам Line и Shape при использовании ими нового свойства PolyPoints. Для получения более подробной информации смотрите описания Свойство Rotation (Visual FoxPro), Свойство PolyPoints и Создание более сложных фигур с использованием свойства PolyPoints.

Expand image Элементы Label могут отображать тематические задники (Themed Background)

Для элементов Label вы можете установить свойство Style в значение Themed Background Only для показа themed background colors, когда включены темы Windows. Цвет задника метки является тем же самым, что и цвет родительского контейнера для метки. Для получения более подробной информации смотрите Style.

Expand image Элемент ListBox может скрывать полосы прокрутки

Вы можете использовать новое свойство AutoHideScrollBar для управляющего элемента ListBox для скрытия полос прокрутки, когда список содержит меньшее количество элементов, которое может вместить видимая часть управляющего элемента ListBox. Для получения более подробной информации смотрите описание свойства AutoHideScrollBar.

Expand image Управляющие элементы Toolbar могут отображать горизонтальный разделитель объектов

Для объектов Separator установите свойство Style в значение 1 для отображения горизонтальной линии или вертикальной линии, в зависимости от того, как появилась панель. Если toolbar появился горизонтально, линия отображается вертикально. Если toolbar появился вертикально, линия отображается горизонтально. В предыдущих версиях, установка Style в 1 отображала только вертикальную линию.

Note Замечание

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

Для получения более подробной информации смотрите описание свойства Style.

Expand image Управляющие элементы Toolbar теперь могут прятать объекты Separator

Свойство Visible теперь применяется и для объектов Separator, так что теперь вы можете управлять ситуацией- будут ли отображаться объекты Separator в управляющем элементе Toolbar или нет. При использовании в комбинации со свойством Styleо, свойство разделителя Visible определяет будет ли пространство или линия отображаться в качестве разделителя, когда его свойство Style установлено в 0 (Normal - do not display a line - не отображать линии) или 1 (display a horizontal or vertical line - отображать горизонтальные или вертикальные линии), соответственно.

Для получения более подробной информации смотрите описание свойства Visible (Visual FoxPro).

Expand image Создание более сложных контуров

Вы можете использовать новое свойство PolyPoints для управляющих элементов Line и Shape для создания полигонов линий или контуров. PolyPoints определяет массив любого размера, содержащий координаты в формате X1, Y1, X2, Y2, ..., организованные в том порядке, в каком рисуются полигоны линии или контура.

Для управляющего элемента Line, при создании полигона линии с помощью свойства PolyPoints, вы можете указать нвоые установки"S" или "s" для свойства LineSlant для создания кривых Безье.

Для получения более подробной информации смотрите описания свойств PolyPoints и LineSlant.

Expand image Управляющие элементы ComboBox могут прятать вырадающие списки

Теперь вы можете использовать команду NODEFAULT в методе, ассоциированном с событием DropDown для управляющего элемента ComboBox. Это предотвратит появление части - выпадающий список - управляющего элемента ComboBox. Для получения более подробной информации смотрите описание команды NODEFAULT.

Expand image NEWOBJECT() создает объекты без исполнения инициализационного кода

Для имитации поведения класса, открываемого в дизайнере класса или в дизайнере формы, перешлите 0 параметру cInApplication. Эта возможность позволит вам создавать инструменты design-time, чтобы видеть структуру класса.

Посылкой 0 параметру cInApplication в функции NEWOBJECT( ), Visual FoxPro позволяет вам создавать инстанцию класса без исполнения инциализационного кода (такого, как код в Init, Load, Activate и BeforeOpenTables). Более того, когда объекта освобождается, он не исполняет код в его декструкторе (таком, как Destroy и Unload). Подавляются только коды инициализации и разрушения объекта, все прочие коды продолжают оставаться доступными для вызовов.

Если вы используете параметр cInApplication для подавления описанных кодов в объекте, вы кроме того, подавляете его в дочерних объектах объекта.

Это поведение не поддерживается для метода NewObject.

Для получения более подробной информации смотрите описание функции NEWOBJECT().

Expand image Указание куда должен быть присвоен фокус в событии Valid

Для направления фокуса, вы можете использовать необязательный параметр ObjectName в команде RETURN события Valid event. Указанный в команде объект должен быть действительным объектом Visual FoxPro. Если указанный объект disabled или не может принять фокус, тогда фокус переносится на следующий объект в определенном табуляционном порядке, который сформирован пр и вводе объектов в форму или прочие контейнеры. Есил в качестве объекта указан недействительный объект, Visual FoxPro сохраняет фокус на текущем объекте.

Вы теперь можете устанавливать фокус по следующим сценариям:

  • Установить фокус на объект в другой видимой форме.

  • Установить фокус на объект в невидимых управляющих элементах Page или Pageframe.

Для получения более подробной информации смотрите описания Событие Valid and Команда RETURN.

Expand image Управляющие элементы TextBox имеют функциональность автозавершения (Auto-Completion)

Вы можете добавить функциональность автозавершения вашим УЭ textbox, для более эффективного ввода данных. Автозавершение представляет собой автоматическое отображение выпадающего списка значений, который сопоставим со строкой, которую вы печатаете в textbox'е. Список заполняется из специальной таблицы, которая отслеживает уникальные значения, введенные в textbox, имя управляющего элемента, как источника значений и информацию частоты использования.

Поддержку автозвершения обеспечивают приведенные ниже свойства:

  • AutoComplete свойство

  • AutoCompSource свойство

  • AutoCompTable свойство

Установкой свойства AutoComplete, вы определяете порядок сортировки входов списка. Если вы желаете получить больший контроль над списком, а также предметом, где эти входа хранятся, вы можете использовать свойство AutoCompSource для указания таблицы, используемой для автоматического "заселения" списка. По умолчанию используется таблица AUTOCOMP.DBF. ВЫ можете использовать одну таблицу для каждого УЭ textbox или одну на все УЭ, для автоматического заполнения списков.

Если вы используете единичную таблицу, что является сценарием по умолчанию, табилца использует значения в поле Source каждого входа для идентификации УЭ textbox, ассоциированного со входом. По умолчанию, в поле Source вносится имя УЭ textbox. Вы можете указать значение поля Source, использовав свойство AutoCompSource textbox'а. Например, вы можете пожелать создать одинаковый набор входов, доступный для множества Textbox'ов внутри приложения, таких, как, например, адресная информация. Вы можете явно задать значения свойств AutoCompTable и AutoCompSource для каждого УЭ использовав одну и ту же таблицу и значение поля источника входов. Одинаковый список автоматически появится у каждого из них.

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

Note Замечание

Вы можете управлять числов входом, которые появляются в выпадающем списке посредством SYS(2910) - List Display Count.

Для получения более подробной информации смотрите описания свойств AutoComplete, AutoCompSource и AutoCompTable.

Expand image Новые установки свойств InputMask и Format

Теперь являются доступными перечисленные ниже новые установки для свойств InputMask и Format:

InputMask свойство

cMask | Описание
U | Разрешает только символы алфавита и преобразует их в верхний регистр (A - Z).
W | Разрешает только символы алфавита и преобразует их в нижний регистр (a - z).

Format свойство

cFunction Описание

Z

Не заполняет значение ничем, если оно равно 0, за исключением случая, когда управляющий элемент имеет фокус.

В УЭ такой маской поддерживаются и значения типа Date. Разделителя / / не отображаются пока УЭ не получил фокус.

Для получения более подробной информации смотрите описания свойств InputMask и Format.

Expand image Используйте свойство PictureVal для пересылки картинки, как строки

Новое свойство PictureVal управляющего элемента Image может быть использовано для указания символьного строчного выражения или объекта картинки вместо Picture свойство (Visual FoxPro). Для объекта, формат должен форматом IPicture interface, совместимый с функцией LOADPICTURE().

Для получения более подробной информации смотрите PictureVal свойство.

Expand image Обновленная команда CLEAR CLASSLIB

Команда CLEAR CLASSLIB теперь автоматически исполняет команду CLEAR CLASS на каждом классе указанной библиотеки. Любые ошибки, которые могут возникнуть в течение освобождения конкрентных индивидуальных классов (например, class in use) - игнорируются.

Note Замечание

Классы в других библиотеках классов, которые используются или на которые имеются ссылки в классе указанной библиотеки не очищаются.

Для получения более подробной информации смотрите описание команды CLEAR.

Expand image Увеличен предел разрешения экрана

В предыдущих версиях Visual FoxPro, определяемая максимальная область для форм была ограничена двойным разрешением экрана по обоим измерениям X и Y. Например, если разрешение вашего монитора составляет 1280x1024, тогда максимальный размер формы будет:

CopyCode image Скопировать код
Form.Width = 2552
Form.Height = 2014

Дополнительно к сказанному, если вы пытались установить свойства Width и Height в эти проедельные значения в design-time и затем запускали форму, вы должны были увидеть, что эти значения падали до ограничений разрешения экрана:

CopyCode image Скопировать код
Form.Width = 1280
Form.Height = 998

В Visual FoxPro 9.0, это ограничение увеличено примерно до 32,000 пикселей на каждое измерение и теперь позволяет вам большую гибкость с определенными формами, такими, как прокручиваемые формы:

CopyCode image Скопировать код
Form.Width = 32759
Form.Height = 32733

Для получения более подробной информации смотрите Width свойство and Height свойство.

Expand image Исходный код ProjectHook управляет событиями

В класс ProjectHook были добавлены новые события, которые позволяют вам производит операции проверки на уровне исходного кода, такие как check-in и check-out множества файлов за раз.

Для получения более подробной информации смотрите описание событий SCCInit and SCCDestroy.

Expand image Метод AddProperty поддерживает установки Design Time

Вы можете указать область видимости (Protected, Hidden или Public) и описание свойства, используея метод AddProperty с новыми доступными параметрами. Эти установки могут быть, кроме того, контроллируемы посредством диалогового блока New Property и диалогового блока Edit Property/Metho. Для получения более подробной информации смотрите Метод AddProperty.

Expand image Метод WriteMethod поддерживает установки Design Time

Вы можете указать область видимости (Protected, Hidden или Public) и описание метода используя метод WriteMethod с новыми доступными параметрами. Эти установки могут быть, кроме того, контроллируемы посредством диалогового блока New Property и диалогового блока Edit Property/Method. Для получения более подробной информации смотрите Метод WriteMethod.

Expand image Смотрите также

Справочное руководство

Указатель по расширениям системы отчетов
Расширение возможностей в обработке данных и XML
Улучшения языка SQL
Расширения языка
Расширения Interactive Development Environment (IDE
Расширения в дизайнерах Visual FoxPro
Прочие смешанные расширения
Изменения в функциональности для текущего выпуска

Прочие ресурсы

Что нового в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Language Enhancements

Visual FoxPro 9.0
Расширения Языка (Visual FoxPro)
См. также
CollapseAll image

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

Expand image Улучшения в Классах

Система Visual FoxPro содержит значительные "языковые" расширения и улучшения в Классах, Формах, Контролах, функциональности объектно-ориентированного программирования. См. дополнительно раздел Улучшения в Классах.

Expand image Улучшения обработки Данных и XML

Система Visual FoxPro содержит значительные улучшения и расширения функциональности в обработке данных, SQL, XML. См. дополнительно разделы Улучшения в языке SQL (обработки данных) и Усовершенствования функциональности в обработке данных и XML.

Expand image Расширение функциональности IDE

Система Visual FoxPro содержит несколько расширений Языка, обеспечивающих лучшую функциональность подсистемы IDE (Interactive Development Environment - Интерактивная Среда Разработки). См. дополнительно разделы: Улучшения в Интерактивной Среде Разработки (IDE) и Усовершенствования в Дизайнерах Visual FoxPro.

Expand image Функциональные Расширения подсистемы Отчетов и Печати

Visual FoxPro содержит несколько языковых расширений для поддержки Новой функциональности подсистемы Отчетов:

  • REPORT FORM , Команда

    Отображает и/или печатает Отчет, полученный из стандартного файла отчета (.frx). Данная команда значительно расширена для поддержки функциональности нового базового объекта Report Listener.

  • SET REPORTBEHAVIOR , Команда

    Управляет подсистемами предварительного просмотра (Report Preview) и вывода Отчетов (Report Output), реализованными стандартно в Visual FoxPro Report System.

  • SYS(2024) - Определение варианта завершения Отчета

    Определяет, как пользователь завершил вывод результатов Отчета.

Дополнительно, имеются некоторые улучшения функциональности в подсистеме получения Отчетов:

  • SYS(1037) - Диалоговый бокс Page Setup (Настройка страницы Печати)

    Система Visual FoxPro отображает стандартный или пользовательский Диалоговый бокс Page Setup, где выполняются настройки параметров печати Отчета. В данной версии добавлен новый параметр рассматриваемой функции nValue.

  • APRINTERS( ), Функция

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

  • GETFONT( ), Функция

    Содержит дополнительную информацию и установки для настройки параметров печати принтера, а также программный интерфейс для Языка Скриптов.

См. дополнительно раздел Информация об Усовершенствованиях подсистемы Отчетов.

Expand image Создаваемые массивы могут иметь теперь более чем 65K Элементов

Вы можете создавать массивы, которые могут иметь более чем 65,000 элементов, например, когда используется команда DIMENSION определения массива. Обычные массивы теперь могут содаржать до 2GB элементов. Массивы, содержащие ссылки на объекты ограничены по размеру 65,000 элементами.

Note Обратите Внимание

Размеры массивов ограничиваются теперь доступной памятью компьютера для размещения элементов. Необходимо убедиться в достаточности памяти компьютера при построении огромных массивов.

Библиотека Library Construction Kit, которая содержит файлы Pro_Ext.h, WinAPIMS.lib, и OcxAPI.lib, по-прежнему имеет ограничения на размер массива элементов, 65,000. См. дополнительно об этих файлах разделы: Доступ системы Visual FoxPro к механизму API, Как: Использовать в Visual FoxPro вызовы к функциям API, Как: Создавать и Отлаживать Библиотеки и Контролы ActiveX. Команда SAVE TO не поддерживает сохранение массивов, в которых больше элементов, чем 65,000.

См. дополнительно разделы: Системные возможности Visual FoxPro и DIMENSION, Команда.

Expand image STACKSIZE допускает установку Уровней вложенности до 64k

Для таких команд, как DO... , вы можете увеличить стандартное количество уровней вложенности, к 128 уровням добавить еще 32, и даже до 64,000 уровней вложенности; данная установка выполняется с помощью новой опции STACKSIZE, заданной в соответствующем конфигурационном файле Visual FoxPro.

Note Примечание

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

См. дополнительно разделы: Специальные установки файла Конфигурации и Системные возможности Visual FoxPro.

Expand image Размер программного или процедурного файла теперь не ограничен

В предыдущих версиях системы Visual FoxPro, размер программного или процедурного файла (.PRG) был ограничен размеров в 65K. В настоящей версии Visual FoxPro сняты ограничения на размер процедурного или программного файла. См. дополнительно раздел Системные возможности Visual FoxPro.

Expand image Установка опции PROGCACHE в конфигурационном файле

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

Expand image ICASE( ), Функция

Новая функция ICASE( ) обеспечивает возможность оценивать несколько условий и возвращатьь соответствующий результат, в зависимости от заданных условий. См. дополнительно раздел ICASE( ), Функция.

Expand image TTOC( ) Конвертирует данные типа DateTime в формат XML DateTime

Вы можете конвертировать выражения типа DateTime в соответствующую символьную строку формата XML DateTime, для этого используется новый дополнительный параметр со значением = 3 для функции TTOC( ). См. дополнительно раздел TTOC( ), Функция.

Expand image SET COVERAGE , Команда, доступная теперь в режиме Run-Time

Команда SET COVERAGE была ранее недоступна в режиме run-time, отлаживать возможные ошибки можно было только в режиме Разработки. См. дополнительно раздел SET COVERAGE , Команда.

Expand image CLEAR ERROR , Команда

Появилась новая опция ERROR в команде CLEAR, обеспечивающая "заглушку" для возникшей ошибочной ситуации, для дальнейшей структурной обработки ошибки. Данный вариант команды (Clear Error) влияет на следующие функции:

  • Функция AERROR( ) возвращает значение = 0.

  • Функция ERROR( ) возвращает значение = 0.

  • Соответствующие функции: MESSAGE( ), MESSAGE(1) и SYS(2018) возвращают пустые строки.

Обычно, данный вариант команды CLEAR ERROR используется при структурной обработке ошибок, в командах TRY...CATCH...FINALLY. См. дополнительно раздел CLEAR , Команды.

Expand image Сохранение установок диалогового бокса Options в Реестре Windows, с помощью SYS(3056)

Функция SYS(3056) может теперь использоваться для записи установок Диалогового бокса Options в соответствующих разделах Реестра ОС Windows.

SYS(3056 [, nValue ])

В следующей таблице описаны возможные варианты значений параметра nValue.

nValue | Описание
1 | Изменить только заданные параметры Реестра, исключая команды SET и опции размещения файлов.
2 | Выполнить Полное сохранение параметров в Реестре Windows.

См. дополнительно раздел SYS(3056) - Прочитать Установки Реестра.

Expand image FOR EACH ... ENDFOR, Команда, поддержа Типов Объектов

Теперь система Visual FoxPro поддерживает опцию FOXOBJECT для команды FOR EACH ... ENDFOR, которая обрабатывает базовые Классы объектов Visual FoxPro.

FOR EACH objectVar [AS Type [OF ClassLibrary ]] IN Group FOXOBJECT

, Командаs

[EXIT]

[LOOP]

ENDFOR | NEXT [Var]

Ключевое слово FOXOBJECT расшифровывает параметр objectVar, как базовый объект Visual FoxPro. Опция FOXOBJECT относится только к базовым коллекциям объектов Visual FoxPro, созданных на основе классов Collection. Коллекции объектов, построенные для внешних компонент COM не поддерживаются в опции FOXOBJECT.

См. дополнительно раздел FOR EACH ... ENDFOR , Команда.

Expand image SET PATH, Команда, дополнительное расширение

Теперь в команде SET PATH поддерживается ключевое слово (опция) ADDITIVE. Данная опция ADDITIVE добавляет указанный путь поиска в конец списка путей команды SET PATH. Если задаваемый путь поиска уже существует в списке путей команды SET PATH, Visual FoxPro не выполняет добавления данного пути, и не изменяет порядок их размещения в списке. Задаваемые в ключевом слове ADDITIVE пути поиска могут заключаться в кавычки, и должны являться правильными символьными выражениями дляч поисковых путей.

Дополнительно, длина списка путей поиска в команде SET PATH увеличена до 4095 символов.

См. дополнительно раздел SET PATH, Команда.

Expand image Управление триммингом символов в соответствующих функциях Trim

Теперь можно задавать символы, которые будут удаляться из символьных выражений с помощью функций TRIM( ), LTRIM( ), RTRIM( ), и ALLTRIM( ).

TRIM(cExpression[, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

LTRIM(cExpression[, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

RTRIM(cExpression[, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

ALLTRIM(cExpression[, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

Вы можете указать дополнительный Флаг case-insensitive (чувствительности к регистру) удаляемых символов, как значение 0 или 1.

В качестве параметров cParseChar может быть задан один или несколько символов, которые будут удалены из символьного выражения cExpression. Максимально может быть указано 23 строки в качестве параметров cParseChar.

По-умолчанию, если параметр cParseChar не указан, то удаляются пробелы в начале или конце символьного выражения; или соответствующие нули (0 bytes) из данных типа Varbinary.

Удаление символов cParseChar выполняется в порядке их перечисления в параметрах функции. Когда сравнение найдено, происходит удаление его из выражения cExpression, и процесс повторяется с начального параметра cParseChar.

См. дополнительно разделы: TRIM( ), Функция, LTRIM( ), Функция, RTRIM( ), Функция, и ALLTRIM( ), Функция.

Expand image ALINES( ) - более гибкие механизмы выборки данных

Новый синтаксис функции ALINES( ) расширяет возможности выборки и обработки больших символных массивов, например анализ чувствительности к Регистру данных (case-insensitive), или обработка пустых элементов массива. Данные дополнительные возможности обеспечиваются новым параметром функции nFlags, который заменяет третий параметр lTrim. См. дополнительно раздел ALINES( ), Функция.

Expand image Улучшения в команде TEXT…ENDTEXT

Вы можете теперь использовать в команде TEXT…ENDTEXT новый параметр PRETEXT, с помощью которого удаляются прогоны строк из создаваемого текста. Новый параметр FLAGS управляет настройками вывода текста. См. дополнительно раздел TEXT ... ENDTEXT, Команда.

Expand image Включение Разделителей в результаты функции STREXTRACT( )

Функция STREXTRACT( ) теперь имеет новый параметр nFlags, с помощью которого указываются символы-разделители в обрабатываемых символьных выражениях. См. дополнительно раздел STREXTRACT( ), Функция.

Expand image STRCONV( ) расширена параметрами Code Page и FontCharSet

Теперь, в качестве параметров функции используются дополнительные Code Page или Fontcharset, которые улучшают функциональность проводимых преобразований. См. дополнительно раздел STRCONV( ), Функция.

Expand image TYPE( ) теперь определяет, является ли указанный параметр - Массивом

Теперь функция TYPE( ) принимает дополнительный параметр, 1, с помощью которого оценивается заданное выражение, является ли оно массивом.

Type(cExpression, 1)

Функция возвращает следующие значения при задании дополнительного параметра в функции, 1.

Возвращаемое значение | Описание
A | cExpression - есть массив.
U | cExpression - не является массивом.
C | cExpression - является Коллекцией.

cExpression - должно задаваться как символьная строка.

См. дополнительно раздел TYPE( ), Функция.

Expand image BINTOC( ) и CTOBIN( ) имеют теперь дополнительные возможности Преобразования Данных

Функции BINTOC( ) и CTOBIN( ) имеют некоторые изменения и улучшения синтаксиса, что значительно улучшает качество получаемых результатов. Дополнительно, указанные нововведения значительно улучшают интерфейс с функциями Win32 API. См. дополнительно разделы: BINTOC( ), Функция и CTOBIN( ), Функция.

Expand image MROW( ) и MCOL( ) могут теперь определить позицию указателя манипулятора Мышь

Теперь функции MROW( ) и MCOL( ) имеют дополнительный параметр (0), который позволяет определять позицию указателя мыши для текущего активного окна, которое ранее нужно было определять с помощью функции WOUTPUT( ). Хотя, обычно, им является текущая активная Форма; если для этой формы задано свойство AllowOutput = False (.F.), то функция WOUTPUT( ) не возвращает для указанной формы характеристику ее активности (как окна). Данное явление может привести к неправильным результатам, возвращаемым указанными функциями. При использовании указанного параметра, (0), вы можете надежно обрабатывать позиционные характеристики мышки, например при указании координат активации меню типа Shortcut, в соответствие с активной формой, (координаты меню задаются более точно).

См. дополнительно раздел MROW( ), Функция and MCOL( ), Функция.

Expand image INPUTBOX( ) теперь обрабатывает нажитие кнопки Отмена

В настоящей редакции функция INPUTBOX( ) имеет дополнительный параметр, описывающий, как обрабатывать нажатие кнопки <Отмена> в соответствующем диалоговом боксе. См. дополнительно раздел INPUTBOX( ), Функция.

Expand image AGETCLASS( ) теперь поддерживается для приложений в режиме Run-time

Теперь функция AGETCLASS( ) поддерживается для приложений, выполняемых в режиме run-time. См. дополнительно раздел AGETCLASS( ), Функция.

Expand image SYS(2019), расширенное управление файлами Конфигурации

Вы можете использовать функцию SYS(2019), для определения имени и расположения как внутренних, так и внешних файлов Конфигурации системы Visual FoxPro. См. дополнительно раздел SYS(2019) - Имя и Размещение файла Конфигурации.

Expand image SYS(2910) , управление количеством отображаемых пунктов в Списках

Вы можете управлять теперь количеством отображаемых пунктов в списках типа drop-down, которое может использоваться при использовании AutoComplete, Свойствоy. Данное значение доступно также в Закладка View, Диалоговый бокс Options, при открытии соответствующего Диалоговый бокс Options (Visual FoxPro).

См. дополнительно раздел SYS(2910) - Размер списка List.

Expand image SYS(3008), отключение использования Hyperlink Tip

Система Visual FoxPro обычно отображает следующий текст "CTRL+Click to follow the link", когда указатель мышки находится над соответствующей гиперссылкой hyperlink. Если указанный эффект считается лишним, то можно его отключить с помощью функции SYS(3008). Данная функция может быть использована также в интернациональных приложениях, чтобы заблокировать вывод на экран подсказок на Английском языке. См. дополнительно раздел SYS(3008) - Подсказки Hyperlink.

Expand image SYS(3065) , внутренний Программный Кэш

Вы можете получить значение (размер) внутреннего программного Кэша (значение параметра PROGCACHE в файле конфигурации). См. дополнительно раздел SYS(3065) - Внутренний программный Кэш.

Expand image SYS(3101), преобразование COM Code Page

Теперь вы можете задать code page при приеме/передаче данных, или преобразовании данных во время взаимодействия с внешними объектами COM. См. дополнительно раздел SYS(3101) - COM Code Page Translation.

Expand image Двойственная поддержка для подсказок типа Tooltips или Popups

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

  • SYS(3009) - выравнивание подсказок типа ToolTips по правому краю.

  • DEFINE POPUP…RTLJUSTIFY - "правое выравнивание" пунктов меню типа popup, или соответствующих shortcut menu.

  • SET SYSMENU TO RTLJUSTIFY - "правое выравнивание" пунктов Системного меню

Функция SYS(3009) выполняет глобальную установку расположения текста подсказок. См. дополнительно разделы SYS(3009) - Bidirectional Text Justification for ToolTips, DEFINE POPUP , Команда и SET SYSMENU , Команда.

Expand image Расширенная поддержка Font Script

Система Visual FoxPro 9.0 содержит несколько расширений по поддержке функциональности Font Language Script (или FontCharSet), с помощью которых можно управлять Шрифтами Контролов:

  • SYS(3007) - определение FontCharSet для подсказок ToolTips. Выполняется глобальная установка.

  • Опция FONT - в следующей таблице представлены команды, в которых может использоваться данная опция, задаваемая следубющим синтаксическим правилом:

    FONT cFontName [, nFontSize [, nFontCharSet]]

    Команда

    DEFINE MENU

    DEFINE POPUP

    DEFINE BAR

    DEFINE PAD

    DEFINE WINDOW

    MODIFY WINDOW

    BROWSE/EDIT/CHANGE

    ?/??

  • Browse - имеет соответствующий Диалоговый бокс Font, который вызывается при выборе Пункта меню Font из соответствующего Меню Table, которое определяется системным Окном Browse . Вы можете выполнить также глобальную установку в Закладке IDE, Диалоговый бокс Options, в соответствующем Диалоговом боксе Options (Visual FoxPro). Для этого нужно отметить соответствующий Контрол Use font script.

  • Editors - в соответствующем Диалоговом боксе Font , который вызывается при выборе Пункта меню Font из соответствующего Меню Format , или выполнив "right-click" для активации короткого меню Диалоговый бокс Edit Properties, в котором задается соответствующий шрифт для выбранного языка приложения. Вы можете также выполнить глобальную установку необходимого шрифта в соответствующем Закладка IDE, диалоговый бокс Options , которая находится в Диалоговом боксе Options (Visual FoxPro). Для этого нужно определить соответствующий контрол Use font script.

См. дополнительно разделы: SYS(3007) - ToolTipText, свойство определения Font Language Script, Закладка IDE, диалоговый бокс Options, и FontCharSet, свойство.

Expand image Контрол ToolTip Timeout

Вы можете определить длительность отображения подсказки типа ToolTip. См. дополнительно раздел _TOOLTIPTIMEOUT, системная переменная.

Expand image Функциональность для Tablet PC

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

  • ISPEN( ) - определяет, как обрабатывается в приложении Visual FoxProсобытия манипулятора мышидля компьютеров Tablet PC.

  • _SCREEN.DisplayOrientation - данное свойство определяет ориентацию главного окна системы или приложения, запущенного на компьютере типа Tablet PC. Обычно определяется текущая установка данного свойства.

  • _TOOLTIPTIMEOUT - определяет длительность отображения подсказки типа ToolTip, появляющейся слева от указателя мышки.

См. дополнительно раздел ISPEN( ), Функция, DisplayOrientation, свойство, и _TOOLTIPTIMEOUT, системная переменная.

Expand image Управление Событиями Сообщений Windows

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

  • Широковещательное сообщение о переходе рабочей станции в режим StandBy или полном выключении компьютера.

  • Обработка события смены носителей информации, например: установка или извлечение носителя CD из дисковода.

  • Вставка или удаления специального носителя информации типа Plug and Play (например, как устройство USB-Drive).

  • Перехват запросов подсистемы screen saver, для активации режима этих подсистем.

  • Обработка событий Операционной системы: изменение Шрифтов или Схем Windows XP.

  • Обработка событий ОС по добавлению или удалению сетевых накопителей информации network connections.

  • Перехват переключений между запущенными Приложениями.

Для этих операций используется функция Visual FoxPro BINDEVENT, которая регистрирует или снимает с контроля порождаемые системные Сообщения (например, сообщения для системных окон Win32 API, обрабатываемые соответствующими функциями Win32 WindowProc). См. дополнительно соответствующие разделы в MSDN.

В новый синтаксис функции BINDEVENT( ) введен параметр hWnd (целое число), рассматриваемый как дескриптор соответствующего системного окна, перехват события которого планируется выполнить. Например, При выключении компьютера или перевода его в режим standby появляется соответствующее системное окно Win32 WM_POWERBROADCAST (значение дескриптора окна = 536).

BINDEVENT(hWnd, nMessage, oEventHandler, cDelegate)

В следующем примере демонстрируется обработка системного события при смене Схемы Windows XP:

CopyCode image Копировать Код
#DEFINE WM_THEMECHANGED    0x031A
#DEFINE GWL_WNDPROC    (-4)
PUBLIC oHandler
oHandler=CREATEOBJECT("AppState")
BINDEVENT(_SCREEN.hWnd, WM_THEMECHANGED, oHandler, "HandleEvent")
MESSAGEBOX("Test by changing Themes.")
DEFINE CLASS AppState AS Custom
nOldProc=0
PROCEDURE Destroy
    UNBINDEVENT(_SCREEN.hWnd, WM_THEMECHANGED)
ENDPROC
PROCEDURE Init
    DECLARE integer GetWindowLong IN WIN32API ;
        integer hWnd, ;
        integer nIndex
    DECLARE integer CallWindowProc IN WIN32API ;
        integer lpPrevWndFunc, ;
        integer hWnd,integer Msg,;
        integer wParam,;
        integer lParam
    THIS.nOldProc=GetWindowLong(_VFP.HWnd,GWL_WNDPROC)
ENDPROC
PROCEDURE HandleEvent(hWnd as Integer, Msg as Integer, ;
    wParam as Integer, lParam as Integer)
    lResult=0
    IF msg=WM_THEMECHANGED
        MESSAGEBOX("Theme changed...")
    ENDIF
    lResult=CallWindowProc(this.nOldProc,hWnd,msg,wParam,lParam)
    RETURN lResult
ENDPROC
ENDDEFINE

Для обработки сообщений системных окон используются также следующие функции SYS( ):

  • SYS(2325) - возвращает дескриптор дочернего окна hWnd на основании заданного дескриптора родительского окна WHANDLE.

  • SYS(2326) - возвращает дескриптор Visual FoxPro WHANDLE из заданного дескриптора окна hWnd.

  • SYS(2327) - возвращает дескриптор окна hWnd from из заданного дескриптора Visual FoxPro WHANDLE.

См. дополнительную информацию в разделах BINDEVENT( ), Функция, UNBINDEVENTS( ), Функция, и AEVENTS( ), Функция. См. также SYS(2325) - WCLIENTWINDOW from Visual FoxPro WHANDLE, SYS(2326) - WHANDLE from a Window's hWnd, и SYS(2327) - Window's hWnd from Visual FoxPro WHANDLE . Подробная информация расположена в соответствующих разделах MSDN.

Expand image См. также

Описание

Справка по Усовершенствованиям в подсистеме Отчетов
Функциональные расширения обработки Данных и XML
Функциональные усовершенствования Языка SQL
Расширения функциональности Классов
Улучшения в среде разработки программ (Interactive Development Environment - IDE)
Расширение функциональности в Дизайнерах Visual FoxPro
Прочие Усовершенствования
Изменения в функциональности данной Версии

Другие ссылки

Что нового в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Interactive Development Environment (IDE) Enhancements

Visual FoxPro 9.0
Расширения среды интерактивной разработки (IDE)
Смотрите также
CollapseAll image

Для предоставления более интегрированной среды разработки для ваших проектов и приложений, Visual FoxPro содержит описанные ниже улучшения в IDE.

Expand image Дополнительные команды контекстного меню Project Manager (Диспетчера проекта)

В пристыкованном состоянии окно Project Manager (Диспетчера проекта) содержит перечисленные ниже команды контекстного меню, которые ранее были доступны только в меню Project:

  • Close (Закрыть)

    Закрывает Project Manager (Диспетчер проекта).

  • Add Project to Source Control (Добавить проект под котроль исходников)

    Создает новый проект контроля исходников на базе текущего проекта. Доступно только при инсталлированном провайдере контроля исходного кода, который указан на закладке Projects (Проекты) диалогового окна Options (Параметры).

  • Errors (Ошибки)

    Отображает файл записи ошибок (.err) после завершения сборки.

  • Refresh (Обновить)

    Обновляеть содержимое Project Manager (Диспетчера проекта).

  • Clean Up Project (Очистить проект)

    Физические удаляет записи, помеченные для удаления из файла .PJX Project Manager (Диспетчера проекта).

Expand image Изменение библиотеки класса из Project Manager (Диспетчера проекта)

При выборе файла библиотеки класса (.vcx) в Project Manager (Диспетчере проекта), вы теперь можете открыть и просмотреть библиотеку класса щелкнув по командной кнопке Modify (Измненить). Библиотека класса открывается в Class Browser. Для получения более подробной информации смотрите описание задачи Как: открыть библиотеки класса.

Expand image Установка шрифта для Project Manager (Диспетчера проекта)

Вы можете установить установки шрифта текста для окна Project Manager (Диспетчера проекта). Щелкните по правой клавише мыши на окне Project Manager (Диспетчера проекта) (вне дерева иерархии) и выберите Font (Шрифт).

Expand image Генерация регистрации сообщений по время сборки проекта и его компиляции

При сборке проекта, приложения или dynamic-link library, Visual FoxPro автоматически генерирует файл ошибок (.err), который включает в себя любые ошибки, если они произошли в процессе сборки. Если вы отметите чек-бокс Display Errors (Отображать ошибки) в диалоговом окне Build Options (Параметры сборки), Visual FoxPro после завершения сборки отображает файл .err. Выбор чек-бокс Recompile All Files включит в файл .err все ошибки, которые случились при компиляции. Сообщения о статусе сборки обычно появляются в статусной строке. Однако, в ранних версиях, если процесс сборки был прерван, Visual FoxPro ничего не записывал в файл .err на диске.

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

Note Замечание

Если во время сборки не произошло ошибок, файл .err удаляется.

Если открыто окно Debug Output (Вывод откладки), то статус сборки и сообщения об ошибках появляются именно в нем. Вы можете сохранить в файл сообщения, появившиеся в окне Debug Output (Вывод откладки).

Для получения более подробной информации смотрите Как: посмотреть и сохранить сообщения о сборке.

Expand image Расширения окна Properties (Свойства)

  • В файлы библиотеки классов (.vcx) и form (.scx) введена поддержка в Design time для ввода значений, которые превышают по длине 255 и содержат спецсимволы такие, как CHR(13) (возврат каретки) и CHR(10) (перевод строки). Вы можете ввести значение длиной до 8k символов.

    Note Замечание

    Поддержка расширенных значений свойств осуществляется только с помощью окна Properties (Свойства) (диалоговое окно Zoom) как для настраиваемых свойств, определенных пользователем, так и для некоторых родных свойств таких, как CursorSchema и Value. У вас есть возможность указать значение длиной более 255 символов, или содержащее возврат каретки или перевод строки присвоением их в программном коде таком, как код процедуры, ассоциированной с событием Init объекта.

    Для поддержки этого расширения обновлены диалоговые окна Zoom (Увеличить) и Expression Builder (Компоновщик выражения). Окно Properties (Свойства) включает в себя командную кнопку Zoom (Z), которая появляется рядом с блоком ввода значения свойства при выборе конкретного свойства.

    Caution note Предупреждение

    Значения свойств, которые превышают по длине 255 символов или включают в себя символы возврата каретки или перевода строки хрнаятся в новом формате внутри файлов .vcx или .scx. Если вы попытаетесь изменить такие классы в более ранних версиях - то произойдет ошибка.

    Это свойство полезно главным образом для установки свойства CursorSchema объекта CursorAdapter для любого выражения схемы, чье значение может превысить по длине 255 символов.

  • Шрифт окна Properties (Свойства) теперь может быть указан с помощью выбора нового элемента Font в контекстном меню окна. Этот новый элемент меню замещает использовавшиеся ранее элементы меню Small, Medium и Large. Этот шрифт, кроме того, используется в панели описания и выпадающих списках значений объектов и свойств.

    Note Замечание

    Стили шрифта - жирный и наклонный - зарезервированы соответственно для значений свойтсв, которые не являются значениями по умолчанию, а также для свойств с признаком "только для чтения". Если выбран стиль шрифта "жирный" или "наклонный", то тогда окно Properties (Свойства) меняет порядок отображения. Например, если выбран наклонный стиль шрифта, то значения свойств с признаком "только для чтения" будут показано нормальным стилем, а все прочие - наклонным.

  • Для определенных типов свойств могут быть указаны цвета, для чего нужно выполнить щелчок по правой клавише мыши на окне Properties (Свойства) и выбрать перечисленные ниже элементы меню:

    • Non-Default Properties Color (Цвет для свойств, которые не являются свойствами по умолчанию)

      Устанавливает цвет для свойств, чьи значения изменены по сранению со значениями по умолчанию (это теже самые свойства, которые отображаются, когда в контекстном меню выбран элемент Non-Default Properties Only).

    • Custom Properties Color (Цвет свойств, определенных пользователем)

      Устанавливает цвет для свойств, определенных пользователем.

    • Instance Properties Color (Цвет свойств экземпляра)

      Устанавливает цвет для пользовательских свойств, которые были добалвены в текущий экземлпяр класса (это теже самые свойства, которые появляются выделенными жирным шрифтом в диалоговом окне Edit Property/Method (Редактирование свойства/метода)).

    Note Замечание

    Если возникнет конфликт между установками цвета, то установки для Instance имеют преимущество на установками для Non-Default.

Для получения более подробной информации смотрите Диалоговое окно Zoom <property> (Увеличить <свойство>), Диалоговое окно Expression Builder (Компоновщик выражения), Свойство CursorSchema и Окно Properties (Свойства) (Visual FoxPro).

Expand image Расширяемость MemberData

Расширяемость архитектуры MemberData позволяет вам предоставить метаданные для членов класса class members (свойства, методы и события). С помощью MemberData, вы можете указать редактор пользовательского свойства, отображение свойства на закладке Favorites (Избранное) или изменить начертание имени свойства в окне Properties (Свойства) (Visual FoxPro).

Для получения более подробной информации смотрите Расширяемость MemberData.

Expand image Установка значений по умолчанию для новых свойств

При добавлении в класс нового свойства, вы можете в диалоговом окне New Property (Новое свойство) указать начальное значение, которое отличается от значения по умолчанию. Субклассы будут наследовать эти значения в качестве значений по умолчанию до тех пор, пока вы не сбросите эти значения в родительском классе в значения по умолчанию. В предыдущих версиях, вы устанавливали значение по умолчанию для нового свойства выбором свойства в окне Properties (Свойства) и устнановкой значения по умолчанию..

Для получения более подробной информации смотрите описание задачи Как: добавить свойства в классы.

Expand image Опции Document View Sort (Сортировка просмотра документа)

Вы теперь можете сортировать элементы в окне Document View (Просмотр документа) по имени для для форм и библиотек визуальных классов.

Для получения более подробной информации о сортировке элементов смотрите описание Окно Document View (Просмотр документа).

Expand image Фоновая компиляция кода

Visual FoxPro производит фоновую компиляцию, когда в командном окне и в окнах редакторов файлов программ (.prg), хранимых процедур и мемо полей включена подсветка синтаксиса. Блок Expression (Выражение) в диалоговом окне Expression Builder (Компоновщик выражения) также поддерживает фоновую компиляцию и подсветку синтаксиса, когда она включена.

Когда единичная или текущая строка кода, который вы печатаете содержит недопустимый синтаксис, то Visual FoxPro будет отображать ее в стиле форматирования, выбранном на закладке Editor (Редактор) диалогового окна Options (Параметры).

Note Замечание

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

Для получения более подробной информации смотрите описание задачи Как: отобразить и отпечать в цвете исходный код.

Expand image Поддержка Rich Text Format (RTF) в буфере обмена (в Clipboard)

Visual FoxPro теперь поддерживает копирование в буфер обмена информации в формате RTF (Rich Text Format). Visual FoxPro сохраняет стил (bold, italic и underline), а также аттрибуты цвета.

RTF поддерживается только в тех редакторах Visual FoxPro, которые допускают расцветку синтаксиса таких, как комадное окно, а также в окнах, открываемых командами MODIFY COMMAND. Формат RTF буфера обмена поддерживается только когда разрешена расцветка синтаксиса, например из диалогового окна Edit Properties (Редактирование свойств). Вы можете запретить поддержку формата RTF в буфере обмена с помощью соответствующей установки свойства _VFP EditorOptions.

Системная переменная _CLIPTEXT не поддерживает формат RTF.

Expand image Улучшения в диалоговом окне Find (Поиск)

В поддержке поиска былли сделаны перечисленные ниже улучшения:

  • Если в редакторе Visual FoxPro было выбрано слово, то при открытии диалогового окна Find (Поиск) (Visual FoxPro), выбранное слово будет отображаться в выпадающем списке Look For (Искать). Если в текущей сессии Visual FoxPro диалоговое окно Find (Поиск) еще не использовалось, то выбранное слово позиционируется под указателем вставки, который появится в списке Look For. Если выбрано множество слов, то только первое слово появится в выпадающем списке (используйте последовательные операции копирования/вставки для ввода множества слов).

  • Если открыто окно Browse и вы ищете слово с помощью диалогового окна Find (Поиск) вы можете осуществить повторный поиск нажатием клавиши F3 (Find Again - Искать далее) после того, как окно Find (Поиск) будет закрыто.

  • Вы теперь можете использовать посик для поиска среди содержания колонки Name окон отладчика Watch (Отслеживание) и Locals (Локальные) (смотрите описание окна отладчика - Debugger). При поиске членов объекта, Find (Поиск) ищет в этих отладочных окнах в узлах, которые распахнуты по крайней мере на один уровень глубины вложения узла.

Expand image Просмотр констант в окне Trace (Трассировка)

Константы (значения определенные с помощью #DEFINE) могут быть просмотрены в окне Trace (Трассировка) когда вы помещаете над ними указатель мыши.

Note Замечание

Visual FoxPro оценивает константы в качестве выражений в окне Trace (Трассировка) и может испытывать затруднения в интерпретации конкретной #DEFINE, когда вы помещаете над ней указатель мыши. Вследствие этого, если в строке имеется множество выражений, то они будут отображены в виде подсказки для значения.

Expand image Печать выбранного текста в окнах редакторов

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

Note Замечание

Однако, в случае если выбрана только часть строки, то будет отпечатана вся строка.

Для получения более подробной информации смотрите описание Диалоговое окно Print (Печать) (Visual FoxPro).

Expand image Улучшения в системном шрифте

Для увеличения четкости на мониторах высокого разрешения, диалоговые окна Error (Ошибка) и Zoom <property> (Увеличить <свойство>), выводимое из окна Properties (Свойства) теперь используют шрифт, определенный для Windows Message Box text.

В Windows XP, шрифт Windows Message Box text устанавливается открытием модуля Display в Control Panel и затем выбором Advanced на закладке Appearance.

Expand image IntelliSense сохраняет установки между пользовательскими сессиями

Visual FoxPro теперь сохраняет установки IntelliSense такие, как разрешение его поддержки, между сессиями пользователя. Эти установки управляются свойством _VFP EditorOptions. В дополнение к этому, установки свойства _VFP EditorOptions сохраняются в файле ресурса FoxUser.dbf. Для получения более подробной информации смотрите описание свойства EditorOptions.

Expand image IntelliSense в окне редактирования мемо-полей

Visual FoxPro обеспечивает поддержку IntelliSense в окне редактора мемо-поля при условии включенной расцветки синтаксиса.

Expand image IntelliSense доступно и для приложений в Runtime

Выбранные возможности IntelliSense доступны в run time в распространяемых приложениях Visual FoxPro 9.0. Для того, чтобы использовать IntelliSense в run time, вам необходимо установить соответствующим образом переменные _FOXCODE и _CODESENSE, а также свойство EditorOptions.

Note Замечание

В приложениях runtime, для поддержки IntelliSense включение расцветки синтаксиса в редакторе не является обязательным условием.

Для получения более подробной информации смотрите Поддержка IntelliSense в Visual FoxPro, Системная переменная _FOXCODE, Системная переменная _CODESENSE и Свойство EditorOptions.

Expand image Поддержка IntelliSense в командах WITH ... ENDWITH и FOR EACH ... ENDFOR

Visual FoxPro теперь поддерживает IntelliSense в командах WITH ... ENDWITH и FOR EACH ... ENDFOR.

WITH ObjectName [AS Type [OF ClassLibrary]]

  Commands

ENDWITH

FOR EACH ObjectName [AS Type [OF ClassLibrary]] IN Group

  Commands

  [EXIT]

  [LOOP]

ENDFOR

Параметр Type может быть любого допустимого типа, включая типы данных, типы класса или ProgID. Если имя класса не может быть найдено, Visual FoxPro сбрасывает Type и не отображает для него IntelliSense.

Note Замечание

Тип ссылки не влияет на функциональность приложения в run time.Тип ссылки используется только для IntelliSense.

Выражение ObjectName может ссылаться на переменную памяти или массив.

Параметр ClassLibrary должен быть в списке пути, который видим для Visual FoxPro. вы должны указать существующую библиотеку класса; ссылки к существующим объектам не являются допустимыми. Если Visual FoxPro не может найти указанную библиотеку класса, то IntelliSense не отображаьтся.

Типы, выраженные в виде ProgID и библиотек классов не требуют наличия символов кавычек ("") в случае, если их имена не содержат пробелов.

Когда пользователь печатает ключевое слово AS, IntelliSense отображает список типов, зарегистрированных в таблице FoxCode.dbf, как Type "T". Если вами указан допустимый тип, печатание точки внутри команд WITH ... ENDWITH и FOR EACH ... ENDFOR будет отображатьIntelliSense для этой объектной ссылки.

Visual FoxPro поддерживает IntelliSense для вложенных команд WITH ... ENDWITH и FOR EACH ... ENDFOR. Представленное ниже представляет собой пример вложенных команд WITH ... ENDWITH в классе, определенном в программном файле (.prg) с именем Program1.prg. Для использования, вставьте этот код в новую программу с именем Program1.prg, сохраните ее и затем напечатайте точку (.) внутри блока WITH ... ENDWITH.

CopyCode image Скопировать код
DEFINE CLASS f1 AS form
MyVar1 = 123
ADD OBJECT t1 AS mytext
PROCEDURE Init
  WITH THIS AS f1 OF program1.prg
    WITH .t1 AS mytext OF program1.prg
    ENDWITH
  ENDWITH
ENDPROC
ENDDEFINE

DEFINE CLASS mytext as textbox
MyVar2 = 123
ENDDEFINE

IntelliSense предоставляет ограниченные возможности List Values (Списка значений) для выбранных свойств, которые начинаются с "T" или "F" внутри команд WITH ... ENDWITH или FOR EACH ... ENDFOR. Это сделано для избежания возможных конфликтов с общими значениями свойств True (.T.) и False (.F.). Если вы просто напечатаете ".T" or ".F" и нажмете Enter, выбранное слово в выпадающем списке значений List Value не будет распахнуто. Вам нужно напечатать по крайней мере две буквы для IntelliSense для того, чтобы вставить выбранное слово.

Expand image Смотрите также

Справочное руководство

Руководство по улучшениям в производстве отчетов
Расширение возможностей работы с данными и XML
Улучшения языка SQL
Расширения в классах
Расширения в языке
Расширения в конструкторах Visual FoxPro
Прочие разные расширения
Изменения в функциональных возможностях текущего выпуска

Прочие ресурсы

Что нового в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Enhancements to Visual FoxPro Designers

Visual FoxPro 9.0
Улучшения в конструкторах Visual FoxPro
Смотрите также
CollapseAll image

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

Expand image Конструкторы отчета и этикетки (Report and Label Designers)

Вы можете использовать Report Builder (Компоновщик отчета) доступный в Report Designer (Конструкторе отчета) и Label Designer (Конструкторе этикетки) для выполнения задач по отчетам, конфигурированию установок и и установки свойств для возможностей отчетов, таких как раскладка, полосы отчета, группировка данных, элементов управления, используемый в отчете и переменных отчета. Например, вы можете выполнять перечисленные ниже задачи:

  • Запрещать пользователю изменять отчеты, их элементы и полосы, при редактировании отчета в защищенном режиме.

  • Отображать заголовки вместо выражений для элементов управления, связанных с полем в design time.

  • Отображать собственные ToolTips для элементов управления, используемых в отчете.

  • Установить для отчетов наборы символов - скрипт - языка.

  • Сохранить среду данных отчета в виде класса.

По умолчанию, Report Builder (Компоновщик отчета) активизируется, когда вы взаимодействуете с конструкторами отчета и этикетки. Однако, вы можете использовать системную переменную _REPORTBUILDER для указания приложения ReportBuilder.app. Report Builder (Компоновщик отчета) объединяет, замещает и дополняет функциональные возможности объединения, замещения и добавления функциональности, найденные в предыдущих элементах интерфейса пользователя Report Designer, которые остались в продукте и доступны с помощью соответствующей установки системной переменной _REPORTBUILDER. Вы можете написать свой собственный компоновщик отчета для расширения функциональности, а также вывода и запуска отчета с объектами отчета. Для получения более подробной информации смотрите Работа с отчетами и Системная переменная _REPORTBUILDER.

Expand image Конструктор меню (Menu Designer)

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

CopyCode image Скопировать код
_MENUDESIGNER = cProgramName

Для получения более подробной информации смотрите описание системной переменной _MENUDESIGNER.

Expand image Конструктор таблиц (Table Designer)

Конструктор таблиц снабжен перечисленными ниже расширениями:

  • Новые типы данных: Varchar, Varbinary и Blob

  • Бинарные индексы

  • Для получения более подробной информации смотрите описание Расширение возможностей обработки данных и XML.

Expand image Конструкторы запросов и представлений (Query and View Designers)

Вы можете использовать пробемы в именах таблиц, указываемых в предложениях SQL в дизайнерах Query (Запроса) и View (Представления), если вы предоставляете псевдоимя. Например, редактирование приведенного ниже предложения теперь допустимо в указанных конструкторах View и Query:

CopyCode image Скопировать код
SELECT * from dbo."Order Details" Order_Details

Для получения более подробной информации смотрите описание команды SELECT - SQL.

Expand image Констуктор среды данных (Data Environment Designer)

В строке статуса появляется полный путь к файлу базы данных (DBC) в случае, когда вы выбираете базу данных в диалоговом окне Диалоговое окно Add Table or View (Добавить таблицу или представление).

Expand image Конструкторы классов и форм (Class and Form Designers)

Имя редактируемого класса появляется в титульном заголовке перечисленных ниже диалоговых окон:

  • Диалоговое окно Edit Property/Method (Редактировать свойство/метод)

  • Диалоговое окно New Property (Новое свойство)

  • Диалоговое окно New Method (Новый метод)

  • Диалоговое окно Class Info (Информация о классе)

Меню View (Обзор) для Конструктора форм (Form Designer) предлагает обе опции для указания порядка обхода элементов управления на форме по нажатию клавиши табулятора: Assign Interactively (Присвоить интерактивно) или Assign by List (Присвоить по списку).

В конструкторах классов, форм и отчетов вы теперь можете использовать перечисленные ниже короткие клавиатурные команды для установки пространства между выбранными элементами.

Ключ | Описание
ALT+Arrow Key | Устанавливает пространство между выбранными объектами по одному пикселу в направлении, зависящием от нажатой стрелки управления курсором.
ALT+CTRL+Arrow Key | Устанавливает пространство между выбранными объектами по шагу шкалы разлиновки в направлении, зависящием от нажатой стрелки управления курсором.

Для получения более подробной информации смотрите Расширения в интерактивной среде разработки (IDE).

Expand image Смотрите также

Справочное руководство

Руководство по улучшениям в системе производства отчетов
Расширение возможностей обработки данных и XML
Расширения в языке SQL
Расширения в классах
Расширение в языке программирования
Расширения в интерактивной среде разработки (IDE)
Различные расширения и улучшения
Изменения в функциональных возможностях текущего выпуска

Прочие ресурсы

Что нового в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Miscellaneous Enhancements

Visual FoxPro 9.0
Разнообразные расширения
Смотрите также
CollapseAll image

Visual FoxPro содержит описанные ниже разнообразные расширения. Вы можете щелкнуть по "Свернуть все" для просмотра списка расширений.

Expand image Диалоговые окна печати и расширения языка печати

Visual FoxPro включает в себя различные расширения в своих диалоговых окнах печати и в языке печати.

Visual FoxPro использует наиболее свежие диалоговые окна операционной системы для установок принтера - Printer Setup и прочих, связанных с печатью операций. Если пользователь работает в среде Windows XP, диалоговые окна появляются с учетом выбранных тем (Themed).

Приведенные ниже функции языка содержат новые расширения, которые оказывают влияние на общие операции печати:

  • SYS(1037) - Диалоговое окно установки страницы - Page Setup

  • Функция APRINTERS()

  • Функция GETFONT()

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

Для получения более подробной информации смотрите описание Расширения языка.

Expand image Улучшенная поддержка для приложений, определяющая серверы терминалов

Visual FoxPro теперь включает в себя автоматическую поддержку для приложений которые генерируются процессом сборки с целью определения - запускаются ли они на сервере терминалов и предовращения загрузки ненужных файлов библиотек (.dll), которые могут оказывать влияние на производительность. Для получения более подробной информации смотрите описание команды BUILD EXE.

Expand image Обновленное до версии 2.0 Dr. Watson Error Reporting

Visual FoxPro включает поддержку версии Dr. Watson 2.0. Эта версия включает в себя новую и улучшенную системы отчетов об ошибках, а также функцинальные возможности записи логов и аудита. Например, ошибки записываются в логи пока вы в offline и посылаются при восстановлении соединения.

Expand image Приложение редактирования якорей (Anchor Editor Application)

Visual FoxPro 9.0 позволяет вам создать свой собственный редактор пользовательских свойств за счет использования расширенных аттрибутов метаданных членов класса. С помощью этой новой, расширяемой модели у вас теперь имеется возможность расширить функциональные возмодности свойств и методов класса, что позволяет вам создавать расширения среды разработки, такие как редактор пользовательских свойств. Для получения более подробной информации о создании редакторов пользовательских свойств смотрите описание Расширяемость MemberData.

Пример редактора пользовательского свойства, Anchoreditor.app, включен в поставку Visual FoxPro 9.0 и находится в каталоге Wizards. Это приложение запускается, когда вы делаете двойной щелчок по свойству Anchor в окне "Свойства" (Properties) или когда вы выбираете свойство Anchor в этом окне и с последующим щелчок на кнопке выбора (…).

Условие | Определение
Привязать к месту, но не изменять размер по вертикали (Anchor but do not resize vertically) | Определяет, что центр элемента управления привязан к верхней и нижней сторонам его контейнера, но при изменении размеров контейнера элемент управления не изменяется в размерах по вертикали.
Привязать к месту, но не изменять размер по горзонтали (Anchor but do not resize horizontally) | Определяет, что что центр элемента управления привязан к левой и правой сторонам его контейнера, но при изменении размеров контейнера элемент управления не изменяется в размерах по горизонтали.
Значения рамки-бордюра (Border values) | Отображает текущие установки для значений рамки-бордюра.
Общие установки (Common settings) | Выбирает только общие установки для свойства Anchor.
Образец | Щелкните по кнопке Образец (Sample) для тестирования значения якоря в образцовой форме.
Значение якоря (Anchor value) | Значение свойства Anchor, которое представляет собой комбинацию текущих установок для значений рамки-бордюра.

Expand image Обозвреватель класса (Class Browser)

Вы можете открыть и просмотреть описание класса, который был определен внутри программного файла (.prg) аналогично просмотру определения класса в библиотеке классов (.vcx). Вы можете выбрать файл программы (.prg) в диалоговом окне File Open/Add . Для получения более подробной информации смотрите описание окна обозревателя классов Class Browser Window.

Expand image Построитель CursorAdapter

Построитель CursorAdapter содержит ряд расширений, которые соответствуют улучшениям, введенным в класс CursorAdapter. Для получения более подробной информации смотрите описание построителя в статье Построитель CursorAdapter.

Expand image Toolbox

Для Toolbox (Visual FoxPro) добавлена возможность закрепления и он теперь может быть пристыкован к рабочему столу или прочим окнам интерактивной среды разработки.

Expand image Ссылки кода (Code References)

Окно Code References было обновлено с приведенными ниже минимальными расширениями:

  • Для элементов управления grid, в которые выводится результат диалоговое окно "Опции" (Options) предоставляет новые установки для показа отдельных колонок для класса, метода и линии по сравнению с ранее использовавшимся объединением их в одной колонке.

  • Вы теперь можете отсортировать методы по их именам с помощью щелчка по правой клавише мыши на заголоке колонки методов или выбором пункта меню "Сортировать по" (Sort By) из контекстного меню.

  • В списке дерева результатов, в контекстном меню теперь доступны перечисленные ниже опции:

    • Развернуть все узлы - expands all nodes

    • Свернуть все узлы - collapses all nodes

    • Сортировать сначала по последним использованным - Sort by Most Recent First - что переносит самые последние использовавшиеся результаты наверх списка

Note Замечание

Результат находится "под узлом" и не заполняется до развертывания узла. Это сделано для увеличения производительности, для случаев, когда у вас имеет большой набор результатов.

Expand image Программа GENDBC.PRG

Программа Gendbc.prg которая генерирует программу, используемую для пересоздания базы данных обновлена перечисленными ниже минимальными расширениями:

  • Поддерживаются новые типы полей Varchar, Varbinary и Blob

  • Поддерживаются свойства представлений AllowSimultaneousFetch, RuleExpression и RuleText

Expand image Панель задач диспетчера окружения (Environment Manager Task Pane)

Панель задач диспетчера окружения расширена перечисленными ниже возможностями:

  • Классы шаблонов форм и наборов форм (Form and Formset Template Classes) - вы можете теперь указать шаблоны классов для новых форм и наборов форм с каждым набором окружения. Это устанавливается с помощью соответсвующего указания в диалоговом окне Закладка "Формы"(Forms) диалогового кона "Опции" (Options).

  • Разметка полей (Field Mapping) - вы можете установить классы, которые будут использоваться для создания элементов управления при перетаскивании полей на форму для каждого набора окружения. Это устанавливается с помощью соответсвующего указания в диалоговом окне Закладка "Разметка полей" (Field Mapping) диалогового окна "Опции" (Options).

  • Файл ресурса (Resource File) - Диспетчер окружения (Environment Manager) теперь поддерживает установку файла ресурса. Если файл не существует, диспетчер окружения автоматически создаст его при установке окружения.

  • Диспетчер окружения теперь содержит The Environment Manager now contains a новый набор окружения "разметка полей". Этот набор создается при первом запуске диспетчера окружения для того, чтобы оригинальные значения по умолчанию диалога "Опции" (Options) для установок "Разметка полей" (Field Mapping) и "Классы шаблонов форм" (Form Template Classes) были сохранены и могли быть использованы в дальнейшем для восстановления, по необходимости, в первоначальные значения по умолчанию..

  • Для получения более подробной информации смотрите описание Диспетчер окружения (Environment Manager) панели задач (Task Pane).

Expand image Обозреватель данных (Data Explorer) панели задач (Task Pane)

Диспетчер панели задач (Task Pane Manager) включает в себя новый обозреватель данных (Data Explorer) который позволяет вам увидеть и работать с удаленными источниками данных, такими как базы данных SQL серверов.

Для получения более подробной информации смотрите описание Обозреватель данных (Data Explorer) панели задач (Task Pane).

Expand image Редактор метаданных (MemberData)

Новый редактор метаданных (MemberData Editor) позволяет вам редактировать свойство MemberData для ваших классов. Редактор метаданных доступен из меню "Класс" (Class), когда активен "Конструктор класса" (Class Designer). Редактор метаданных вызывается, кроме того, самостоятельно при вызове контекстного меню для элемента в окне "Свойства" (Properties) с последующим выбором пункта Добавить в избранное (Add to Favorites). Приложение Редактора метаданных указано в качестве построителя (компоновщика) и может быть заменено на другое в таблице Builder.dbf, размещенной в каталоге Wizards.

Для получения более подробной информации смотрите описание Редактор метаданных (MemberData Editor) и Расширяемость свойства MemberData.

Expand image Новые фундаментальные классы (FFC)

В эту версию Visual FoxPro добавлены новые фундаментальные классы:

  • _REPORTLISTENER.VCX - набор базовых классов, которые вы можете использовать при создании своих "слушателей" (listeners) отчета.

  • _FRXCURSOR.VCX - библиотека классов, используемая для работы с файлами отчетов (FRX).

  • _GDIPLUS.VCX - набор классов, которые вы можете использовать для обработки GDI+. Это предназначено в первую очередь для использования при создании своих классов "слушателей" (listeners) отчета.

Expand image Новые образцы решений

Visual FoxPro 9.0 содержит много новых образцов, которые показывают новые возможности продукта. Для просмотра списка этих образцов, выберите панель задач Образцы решений (Solution Samples) в диспетчере панели задач (Task Pane Manager) и разверните узел Новое в Visual FoxPro 9.0 (New in Visual FoxPro 9.0) node.

Expand image Смотрите также

Справочное руководство

Указатель по улучения в системе производства отчетов
Расширение возможностей обработки данных и XML
Улучшения в языке SQL
Расширения в классах
Расширения в языке
Расширения интерактивной среды разработки (IDE)
Расширения в Конструкторах Visual FoxPro
Изменения в функциональных возможностях текущего релиза

Прочие ресурсы

Что нового в Visual FoxPro?

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Changes in Functionality for the Current Release

Visual FoxPro 9.0
Изменения Функциональных возможностей Текущего Версии
См. Также

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

  • Критические Изменения Функциональность зменяются так, что высока вероятность влияния на выполнение существующего кода под данной версией Visual FoxPro. Чрезвычайно важно, чтобы Вы прочитали этот раздел.

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

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

  • Удаленные Элементы Особенности или файлы, которые существовали в предыдущих версиях Visual FoxPro, но больше не включены.

Критические Изменения

Критические изменения поведения будут наиболее вероятно затрагивать существующий код при выполнении под этой версией Visual FoxPro.

SQL SELECTIN (Value_Set) Предложение

В предыдущих версиях Visual FoxPro, предложение IN ( Value_Set ) для предложения WHERE в SQL команде SELECT работает как в функции INLIST( ) . В текущем выпуске, Visual FoxPro может прекратить вычисление значений и выражений в перечне Value_Set , когда первое соответствие найдено. Поэтому, если предложение IN Не Rushmore-оптимизировано, Вы можете улучшить выполнение, помещая наиболее вероятное значения для сравнения в начало списка Value_Set . Для подробной информации, см. описание для предложения IN в теме SELECT - SQL Команда и INLIST( ) Функция .

Преобразование Функцим INLIST( ) в Проектировщике Запроса и Проектировщике Представлений

В предыдущих версиях Visual FoxPro, Проектировщик Запросов и Проектировщик Представлений конвертируют запросы функции INLIST( ) в предложение WHERE SQL команды SELECT в предложение IN ( Value_Set ). В текущей версиии, это преобразование больше не происходит из-за различий между предложениями INLIST( ) и SQL IN . INLIST( ) остается ограничен 24 параметрами. Для подробной информации, см. описание для предложения IN в темах SELECT - SQL Команда и INLIST( ) Функция .

Гриды и Свойства RecordSource и ControlSource

В Visual FoxProе 9.0 есть изменение в поведении Элемента управления Грид . Когда свойство RecordSource определено для элемента управления Грид, Visual FoxPro 9.0 сбрасывает значение свойств ControlSource всех колонок в пустую строку (""). В более ранних версиях Visual FoxPro, свойства ControlSource не очищались должным образом, так что могли появиться проблемы, когда RecordSource с другой структурой позднее привязывался к данных. Это изменение может повлиять на выполнение сценариев, с использование методов Access и Assign или запросов функции BINDEVENT( ) , сделанные в отношении свойства ControlSource столбца Grid'а.

Важные Изменения

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

Reporting

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

  • Report Designer и Механизм теперь используют расширяемые компоненты. Вы можете разрешить или запретить использование расширенного режима в design-time, изменяя значение Системной Переменной _REPORTBUILDER . Вы управляете использованием расширения в run-time командой SET REPORTBEHAVIOR .

  • В новом режиме объектно-ассистированной системы отчетов Visual FoxProе 9's, поля отчета, возможно, должны быть немного расширены. Это особенно важно для числовых данных, где поле, которое имеет недостаточную ширину для вывода всего числа, показывает вместо него звездочки (*****). Для подробной информации об изменениях в Системе Отчетов, которые потребовали этих изменений, и особенностей механизма рендеринга GDI+, и других изменений, связанных с этим, смотри Использование GDI+ в Отчетах . Для выработки стратегии миграции и рекомендаций, см. Руководство об Усовершенствованиях Системы Отчетов .

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

    Особенности механизма рендеринга Поведение обратно-совместимого режима Поведение объектно-ассистированного режима Рекомендации

    Табуляторы ( CHR(9) значения, включенные в данные отчета)

    Ширина табулятора определена числом символов в используемом шрифте.

    Табуляторы установлены в позициях фиксированной ширины, независимо от шрифта.

    Если Вы используетет пристыковку табуляторов к данным в расширяющемся элементе раскладки отчета, чтобы создать формат таблицы в пределах элемента, Вы можете выполнить то же самое задание, используя вторую полосу данных в Visual FoxProе 9. Дополнительно, измените количество табуляторов, которые Вы стыкуете с вашими данными.

    Специальные символы и переход на новую строку

    Неразбивающие строку пробелы не желательны; они обрабатываются как нормальные пробелы.

    Специальные символы типа неразбивающих строку пробелов ( CHR(160) ) и мягкие дефисы ( CHR(173) ) интерпретируются правильно. В результате, слова могут переноситься по-разному.

    Проверьте результаты. В большинстве случаев, пользователи оценят изменение, потому что оно лучше отображает первоначальные отступы в тексте. В случае необходимости, используйте CHRTRAN () Функцию или STRTRAN () Функцию для замены эти специальных символов стандартными пробелами и дефисами.

    Интервал между строками многострочных объектов

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

    GDI+ интервал между строками динамически определен, использованием характеристик шрифта. Многострочный объект обрабатывается как отдельный блок текста.

    Проверьте результаты. В большинстве случаев, изменение в интервалах обеспечит более привлекательный вид, и во всяком случае этот метод обработки многострочного текста обеспечивает более быстрое выполнение. Если вывод отчета зависит от старого стиля интервала строк, Вы можете корректировать свойство ReportListener'а DynamicLineHeight и возвратиться к старому поведению.

    Курсор изображений (.CUR файлы)

    .CUR файлы могут использоваться как источники изображения в отчетах.

    .CUR файлы не поддерживаются как источники изображения.

    Конвертируйте файл курсора в другой, поддерживаемый формат изображения.

    Сглаживание Фигуры (Округленный Прямоугольник)

    Ограниченный выбор для сглаживания.

    Больше способов доступно через интерфейс диалогового окна Report Builder Application, но некоторые не будут смотрется в обратно совместимом режиме так, как в объекто-ассистированом режиме.

    Если отчеты должны работать и в обратно совместимом режиме и режиме объектно-ассистированном, или если они разработаны в версии 9.0, но должны работать в более ранних версиях, ограничивайте ваш выбор значениями для сглаживания фигур теми, которые разрешены в "родном" Диалоговом окне Округления Прямоугольника . Если Вы используете Вкладку Стилей, Диалоговое окно Свойств элемента управления Отчета (Построитель Отчетов) для проектирования таких отчетов, используйте значения 12, 16, 24, 32, и 99, для представления "родных" кнопок, выбирая кнопки слева направо. Значение по умолчанию в диалоговом окне Round Rectangle (вторая кнопка) - 16.

  • Когда Вы создаете Быстрый Отчет, используя CREATE REPORT - Быстрая Команда Отчета или вызывая опцию Quick Report в меню Report, и если Вы имеете установку SET REPORTBEHAVIOR 90 , элементы раскладки, созданные Reportом Designer приобретают другие размеры, в отличие от созданных для тех же самых полей, в предыдущих версиях. Это изменение управляет дополнительной шириной, которая требуется новым механизмом рендеринга отчета.

  • Если Вы используете инструкции команд KEYBOARD или PLAY MACRO , чтобы обратиться к вариантам меню Report, Вы, возможно, должны пересмотреть комбинации клавиш в этих инструкциях, поскольку меню было реорганизовано.

  • Отчеты могут занять больше времени, чтобы открыться в Reportе Designer, если отчет был предварительно сохранен с разрешенной установкой Printer Environment. Вы можете ускорить выполнение, снимая выбор пункта меню Printer Environment в меню Report и пересохраняя отчет. Сохранение Printer Environment не является критическим для того, чтобы отчет функционировал и типично не рекомендуется. Объектно-ассистированный режим отчета также учитывает разные параметры настройки разрешающей способности принтеров, поэтому сохранение информации разрешающей способности для одного принтера в вашем отчете может иметь неблагоприятные эффекты в среде с принтерами, которые имеют другие разрешающие способности. Сохранение Printer Environment может также иметь более неблагоприятный эффекты для команд REPORT FORM или LABEL , вызванных опцией TO FILE , чем они имели в предыдущих версиях, когда ассоциированные настройки принтера не доступны в среде во время выполнения. В Visual FoxProе 9, глобальное значение по умолчанию для этой установки в Reports Tab, Options Dialog Box , и для отчетов, созданных в исполняемых приложениях (.exe файлы), было снято (изменено на uncheck).

  • Из-за изменений в способе которым Visual FoxPro 9 использует текущие параметры настройки принтера, чтобы определить элементы типа разрешающей способности печати и высоты страницы динамически, команды REPORT FORM или LABEL не будут работать в объектно-ассистированном режиме, если нет никаких доступных установок принтера в окружении или если блок подкачки информации (spooler) для печати был остановлен. Вы получите Ошибка загрузки драйвера принтера (Ошибка 1958) . Если Вам необходимо выполнить отчеты в окружении без информации о принтере, возможно, создавая настраиваемые типы вывода, которые не требуют принтера, Вы можете обеспечить Visual FoxPro минимальным набором информации, необходимой для выполнения вашего отчета, обеспечивая данные высоты страницы и ширины страницы из соответствующих методов Report Listener. Для подробной информации, см. GetPageHeight Метод и GetPageWidth Метод .

  • По умолчанию, и в соответствии с дизайном, Приложение Построителя Отчета автоматически не показывает таблицы в Среде Данных отчета, когда Вы формируете выражения отчета. Для большей безопасности сессий проектирования конечным пользователем, только таблицы, которые Вы явно открыли, а не все таблицы из DataEnvironment, доступны в Построителе выражений. Благодаря этому изменению, Вы имеете возможность настроить данные сеанса проектирования строго таким способ, которым Вы хотите, чтобы конечный пользователь их видел, прежде, чем будет выполнена Команда MODIFY REPORT в вашем приложении. Если Вы предпочитаете старое поведение Report Designer, Вы можете изменить поведение Приложения Построителя Отчета для его эмуляции. Для подробной информации, см. Как: Заменить Диалоговое окно Построителя выражений в Построителе Отчетов .

  • ASCII ключевое слово команды REPORT FORM указывается после параметра <filename> предложения TO FILE <filename> . В более ранних версиях Visual FoxPro, Вы могли безопасно использовать вместо этого неправильный и неподдерживаемый синтаксис TO FILE ASCII <filename> . Этот неправильный синтаксис вызывает ошибку в Visual FoxProе 9. Обратите внимание что ключевое слово ASCII не оказывает никакого эффекта на объектно-ассистированный режима вывода, поддерживаемый Механизмом Отчета, хотя Объект ReportListener может быть проинструктирован для осуществления этого.

  • Ключевое слово NOCONSOLE не имеет никакого значения по умолчанию в объектно-ассистированном режиме репорта, потому что ReportListeners не направляет его вывод в текущее окно вывода по умолчанию. Однако, ReportListener может эмулировать обратно совместимый режим в этой части, если потребуется. Обратитесь к Методу OutputPage для получения полного примера.

  • Чтобы облегчения разработки расширений для run-time отчетов, Механизм Отчета теперь разрешает нормальные процедуры отладки во время выполненного отчета. Если ваша подпрограмма обработки ошибок считает необходимым приостановку отчета, это будет теперь осуществляться. Обратитесь к Обработке Ошибок во время Выполнения Отчета для детального взгляда на связанные с этим изменения, и некоторых предложений для выбора стратегии.

  • Команда REPORT FORM и Команда LABEL автоматически больше не запрещаются как команды связанные с интерфейсом пользователя в объектах COM, откомпилированных в DLLs, когда Вы выполняете команды в объектно-ассистированом режиме. Ограничения все еще касаются этих команд, когда они - работают в обратно совместимом режиме. (Тема Выбор Типа Процессов объясняет, почему команды связанные с интерфейсом пользователя запрещены в DLLs.) Это изменение не является применимым к многопоточным DLLs. Множество возможностей связанных с интерфейсом пользователя также не доступно в DLLs (является ли она одно - или многопоточной). Например, выполнение Функции TXTWIDTH () и Метода TextWidth зависит от дескриптора окна, поэтому они не доступны в DLL. CREATE REPORT - Команда Быстрого Отчета полагается на те же самые средства как и TXTWIDTH() , и поэтому не доступна в DLL. Однако, во многих экземплярах, создавая настраиваемый вывод через использование ReportListener, не требуется никакой деятельности интерфейса пользователя, так команды REPORT FORM или LABEL могут теперь продуктивно использоваться в DLL. Рекомендуется использование функции SYS(2335) - Режим Автоматического Сервера для отслеживания потенциальных модальных состояний, так же как новой команды SET TABLEPROMPT . Обратитесь к Рассмотрению Настройки Сервера и Ограничениям для подробной информации.

  • Изменения произошли с обработкой заголовков группы и нижних колонтитулов в многоколоночных отчетах, когда столбцы располагаются слева направо ( раскладка label-style ). Пересмотренное поведение стало более полезным и ведет себя более предсказуемо с новым заголовком области данных и полосами нижнего колонтитула. Для объяснения изменений, см. Как: Задать Столбцы в Отчетах .

  • В предыдущих версиях, ключевое слово NOWAIT команд REPORT FORM и LABEL не являлось значимым, когда команды запускались в окне Command, а не в программе. В Visual FoxPro 9, в объектно-ассистированном режиме, когда команды предварительного просмотра интерпретируются Приложением Предварительного просмотра Отчета, это ключевое слово, существенно, независимо от того, где Вы запускаете команду. Приложение Предварительного просмотра Отчета использует ключевое слово NOWAIT , последовательно, как инструкцию для обеспечения немодальной формы предварительного просмотра. Для подробной информации о Приложении Предварительного просмотра Отчета, см. Расширение Функциональности Предварительного просмотра Отчета .

  • Visual FoxPro 8 использовал ключевое слово NOPAGEEJECT команд REPORT FORM и LABEL , но применял это ключевое слово только к печати вывода. В Visual FoxPro 9, NOPAGEEJECT имеет значение для всех адресатов вывода, включая PREVIEW . Это ключевое слово обеспечивает последовательное или продолжающееся выполнение отчета для множественных команд REPORT FORM и LABEL . Для облегчения этого поведения в режиме предварительного просмотра, и для разрешения применять команды настройки к множественным предварительным просмотрам, Приложение Вывода Отчета кэширует отдельный экземпляр объекта ReportListener для вывода предварительного просмотра, вызывая изменение в поведении для множественных немодальных команд отчета ( REPORT FORM … PREVIEW NOWAIT ). В прошлом Вы использовали множественные команды REPORT FORM… PREVIEW NOWAIT последовательно, ваши команды приводили к открытию множества окон предварительного просмотра отчетов. В Visual FoxProе 9, при установке SET REPORTBEHAVIOR 90 , эти команды приведут к последовательным предварительным просмотрам отчета, направляемым в единственное окно предварительного просмотра отчета.

    Совет:
    Вы можете легко инициировать старое поведение, создавая множественные ссылки объекта ReportListener и связывая её с каждй отдельной командой REPORT FORM или LABEL , используя используя ключевое слово OBJECT . Для подробной информации об использовании синтаксиса OBJECT , см. Команду REPORT FORM . Для информации о получении множественных объектных ссылок соответствующего типа из Приложения Вывода Отчета, смотри Понимание приложения Вывода Отчета .

  • В процессе рассмотрения и перестройки "родного" Механизма Отчета, обращалось внимание на множество недоделанных проблем относительно полосы отчета и позиционирования элементов раскладки. Например, элемент поля, отмеченный, чтобы растягиваться и принимать размеры высоты больше одной текстовой строки в раскладке отчета мог некстати переместить события выхода из полосы отчета на следующую страницу в Visual FoxPro 8. В Visual FoxProе 9, события выхода из полосы происходят на той же самой странице. Дополнительные пересмотры улучшают обработку указателя записи в полосах нижнего колонтитула, когда полосы раздвигаются поперек страницы. Эти изменения не являются специфичными только для объектно-ассистированной обработки. Если Вы использовали недокументированное поведение, обеспечивая точное размещение полосы или раскладку элементов в конкретном отчете, Вы должны проверить поведения этого отчета в Visual FoxProе 9.

SQL SELECT Инструкции

  • Команда SELECT - SQL содержащая предложения DISTINCT и ORDER BY, в которых поле в ORDER BY не находится в cписке полей SELECT, генерирует ошибку в Visual FoxProе 9.0 с установкой SET ENGINEBEHAVIOR 90 (Ошибка 1808: SQL: предложение ORDER BY недопустимо.). Следующий пример показывает это:

    Скопировать код
    SET ENGINEBEHAVIOR 90
CREATE CURSOR foo (f1 int, f2 int)
SELECT DISTINCT f1 FROM foo ORDER BY f2 INTO CURSOR res
  • Команда SELECT - SQL содержащая предложение DISTINCT И HAVING, в которых поле в выражении HAVING не находится в cписке полей SELECT, теперь генерирует ошибку в Visual FoxPro 9.0 с SET ENGINEBEHAVIOR 90 (Ошибка 1803: SQL: предложение HAVING недопустимо.). Об ошибке сообщают, потому что поле в HAVING не находится в обработке, но при этом используется DISTINCT. Следующий пример показывает это:

    Скопировать код
    SET ENGINEBEHAVIOR 90
CREATE CURSOR foo (f1 int, f2 int)
SELECT DISTINCT f1 FROM foo HAVING f2>1 INTO CURSOR res
  • Количество инструкций UNION, которые могут использоваться в Команде SELECT - SQL больше не ограничено 9. Круглые скобки полностью не поддерживаются с инструкциями UNION, и в отличие от предыдущих версий могут генерировать ошибку. Если две или больше инструкции SELECT включены в круглые скобку, генерируется ошибка во время компиляции (Ошибка 2196: Только одна инструкция SQL SELECT может быть включена в круглые скобки.). Это поведение не привязано ни к какому уровню Команды SET ENGINEBEHAVIOR . Следующий пример показывает эту ошибку:

    Скопировать код
    SELECT * FROM Table1 ;
  UNION ;
  (SELECT * FROM Table2 ;
  UNION ;
  SELECT * FROM Table3)
    Следующий пример компиллируется без ошибки:

    Скопировать код
    SELECT * FROM Table1 ;
  UNION ;
  (SELECT * FROM Table2) ;
  UNION ;
  (SELECT * FROM Table3)

Для подробной информации, см. Команда SET ENGINEBEHAVIOR .

Отключение Операций TABLEREVERT( ) во время Операции TABLEUPDATE( )

Для CursorAdapters , Visual FoxPro не разрешает операции TABLEREVERT( ) во время выполнения операций.

Для подробной информации, см. TABLEREVERT () Функция и TABLEUPDATE () Функция .

Усечение Индексного Ключа во время Обновления Индекса

Теперь генерируется Ошибка (Ошибка 2199), когда должно произойти усечение индексного ключа, обычно во время создания или модификации индекса. Это может случиться с использованием ключа, который содержит выражение с использование Memo-поле, чья длина не фиксирована, как в следующем примере:

INDEX ON charfld1 + memofld1 TAG mytag

Подобные проблемы могут также произойти с SQL механизмом (как при исполнении команды SQL SELECT или View creation), когда возможна неудача при формировании временного индекса для оптимизации объединения (join), если невозможно точно определить максимальный размер ключа.

Для подробной информации, см. Ошибка Создания Ключа для индекса "name". (Ошибка 2199) .

Повреждение Memo-поля

Visual FoxPro теперь обнаружит, если Memo поле в библиотеке классов (.vcx) или форме (.scx) испорчено, когда Вы пробуете открыть этот файл в Проектировщике. Если файл содержит испорченное Memo-поле, происходит следующая Ошибка 41:

Memo file <path>\myclass.VCT is missing or is invalid.

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

Скопировать код
TRY
  USE myTable EXCLUSIVE NOUPDATE
  SCAN
    SCATTER MEMO MEMVAR
  ENDSCAN
CATCH TO loError
  IF loError.ErrorNo=41
    * handle error here
  ENDIF
ENDTRY
USE IN myTable

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

Скопировать код
ON ERROR *
USE myclass.vcx
COPY TO myclass_bkup.vcx&&backup
COPY TO myclass2.vcx
USE
DELETE FILE myclass.vc*
RENAME myclass2.vcx TO myclass.vcx
RENAME myclass2.vct TO myclass.vct
COMPILE CLASSLIB myclass.vcx
ON ERROR

Поддержка Визуальных Форм и Класса Расширенных Свойств

Visual FoxPro 9 позволяет Вам создавать настраиваемые свойства в вашем визуальном классе (SCX или VCX файл), чьи значения могут содержать переводы каретки и/или превышать размер в 255 символов. Если Вы определяете свойство со значением подобно этому через Окно Свойств (например, диалоговое окно Zoom), Visual FoxPro будет хранить это в таком формате, что Вы больше не будете иметь возможность редактировать этот класс в старших версиях Visual FoxPro.

Определения Класса

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

Скопировать код
LOCAL oCustom
oCustom = CREATEOBJECT('cusTest')
DEFINE CLASS cusTest AS CUSTOM
    oRef = CREATEOBJECT('myclass')
ENDDEFINE
DEFINE CLASS myclass AS CUSTOM
ENDDEFINE

Вы можете вместо этого назначить свойство ссылке экземпляра объекта в событии Init вашего класса.

Подключаемые Модули для Редистрибьюции Компонентов

Visual FoxPro включает модули (MSM файлы) для использования в редистрибьюции разделяемых компонентов совместно с вашими исполняемыми приложениями. подключаемые Модули используются приложениями, которые могут создать программу установки на основе инсталлятора Windows. Например, Visual FoxPro поставляется с кодключаемыми модулями, которые содержат библиотеки поддержки Visual FoxPro так же как некоторые общие компоненты, включая множество контролов Activex.

Для Visual FoxPro 9, модуль VFP9RUNTIME.MSM содержит библиотеки поддержки, в которых Вы будете нуждаться для вашего заказанного дистрибутивного приложения. Модуль VFP9RUNTIME.MSM зависит от модулей, содержащих Microsoft VC 7.1 библиотеку поддержки (MSVCR71.DLL) и GDI+ графическую библиотеку (GDIPLUS.DLL). Из-за этих зависимостей, если Вы указываете модуль VFP9RUNTIME.MSM в инструментах инсталлятора Windows, типа InstallShield, другие связанные модули будут включены автоматически.

Примечание Для Windows XP и более поздних операционных систем, Visual FoxPro использует графическую библиотеку GDI+, которая установлена в вашей Системной папке Windows.

Для Visual FoxPro 9, модули подключения, содержащие библиотеку поддержки VC больше не устанавливаются в каталоге Windows System. Вместо этого, этот файл установлен в каталоге вашего приложения. Это сделано в соответствии с рекомендованной стратегией поддержки версий компонентов для операционных систем Windows. библиотека GDI+ установлена в том же самом каталоге где устанвлены ваши библиотеки поддержки Visual FoxPro и инсталлируется только на операционных системах более поздних, чем Windows XP (XP уже включает бибилиотеку GDI+ в каталог Windows System).

Совет Могут появиться обстоятельства, когда Вы пожелаете установить библиотеки VC или GDI+ в место, отличное от каталога Windows System. Вы можете сделать это в вашем приложении Windows Installer (например, InstallShield) отмечая нужный подключаемый модуль перед выбором самого модуля VFP9RUNTIME.MSM. Как только Вы выбрали подключаемый модуль, Вы можете изменить его инсталляционный путь.

Существую новые модули для компонентовсинтаксического анализатора MSXML3 и MS XML4 XML. Компонент MSXML 3.0 состоит из следующих модулей подключения:

  • MSXML 3.0 (msxml3_wim32.msm)

  • Msxml3 Exception INF Merge Module (msxml3inf_wim32.msm)

  • WebData std library (wdstddll_wim32.msm)

Есть два модуля MSXML 4.0, которые должны быть включены с любым пользовательским сетапом:

  • MSXML 4.0 (msxml4sxs32.msm)

  • MSXML 4.0 (msxml4sys32.msm)

MTDLL Memory Allocation

Visual FoxPro содержит новую установку PROGCACHE в файле конфигурации, которая определяет объем памяти, который Visual FoxPro запрашивает при запуске для выполнения программы (кэш программы). Эта установка также определяет память, выделяемую для потока Visual FoxPro MTDLL COM Серверов. В предыдущих версиях, эта установка не конфигурировалась, и память была выделена как фиксированный кэш программы, немногим превышающий 9MB (144 * 64K). Новая настройка PROGCACHE позволяет Вам устанавливать точный размер кэша программы или указывать что будет используется динамическое распределение памяти.

Так как MTDLL COM Серверы могут расходовать большой объем памяти, если создается много потоков, то становится важным чтобы память была распределенна более эффективно для таких сценариев. В Visual FoxPro 9, новый параметр по умолчанию для MTDLL COM Серверов - -2 (динамическое распределение памяти). Для подробной информации, см. Специальные Термы для Файлов конфигурации .

Разные Изменения

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

Изменения CursorAdapter

В текущей версии Visual FoxPro, следующие изменения поведения относятся к объекту CursorAdapter:

  • Вы больше не можете вызвать Функция () TABLEREVERT в то время как выполняется Функция () TABLEUPDATE .

  • Установки Свойства ConversionFunc теперь уачитываются при модификации ADODB.Recordset.

  • Теперь обрабатываемая запись удерживается текущей в ADODB.Recordset в течение событий CursorAdapter.After…

Поддержка SetFocus Грида для AllowCellSelection

Вы можете теперь вызвать Метод элемента управления в Гриде SetFocus и заставить грид, получить фокус когда свойство AllowCellSelection установлена в Ложь (.F). и грид не содержит никаких записей.

EXECSCRIPT Функция

EXECSCRIPT () Функция теперь позволяет Вам передавать параметры по ссылке.

Дополнительно, Visual FoxPro 9.0 усиливает проверку правильности синтаксиса запросов, сделанных при конкатенации параметров. Следующий код, который работал в предыдущих версиях Visual FoxPro, теперь вызывает ошибку, потому что символ CHR(13) разбивает запрос на две строки, тогда как предполагается, это является частью параметра для запроса EXECSCRIPT .

Скопировать код
  cRecPauseScript = "EXECSCRIPT('" + ;
    "?123" + CHR(13) + ;
    "?456" + ;
    "')"
  _VFP.DoCmd(cRecPauseScript)

Чтобы сделать допустимый запрос, который не вызывает синтаксической ошибки, Вы может использовать следующий код:

Скопировать код
  cRecPauseScript = "EXECSCRIPT('?123'+CHR(13)+ '?456')"
  _VFP.DoCmd(cRecPauseScript)

Событие Щелчка Элемента управления Listbox

В текущей версии Visual FoxPro клавиши PageUp, PageDown, Home и End клавиатуры теперь вызывают срабатывание события click элемента управления Listbox . В предыдущих версиях, эти клавиши не вызывали событие Щелчка, в отличие от клавиш со стрелками.

Функция PEMSTATUS( ) Возвращает Ложь для Скрытых Родных Свойств

В предыдущих версиях Visual FoxPro, PEMSTATUS( ) функция возвращала Истину (.T). для скрытых родных свойств базовых классов Visual FoxPro при определении значения 5 для nAttribute . В текущей версии, PEMSTATUS( ) возвращает Ложь (.F). для этих скрытых родных свойств. Для подробной информации, см. PEMSTATUS( ) Функция .

Изменения в Диалоговом окне Options

  • В диалоговом окне Options, опция Вывести количество мониторов была перемещена из вкладки Editor во вкладку View. Для подробной информации, см. View Tab, Options Dialog Box .

  • В предыдущих версиях Visual FoxPro, Вы могли вывести все параметры настройки в Диалоговое окно options (Visual FoxPro) в Окне Command, нажимая клавишу SHIFT при выборе кнопки OK закрытия диалога. В текущей версии, эти параметры настройки теперь посылаются в окно Debug Output Window . Окно Debug Output должно быть открыто для получения параметров настройки, которые будут туда направлены.

FOXRUN.PIF

Файл FOXRUN.PIF, который используется Командой RUN |! больше не устанавливается в корневом каталоге Visual FoxPro. Если Visual FoxPro обнаруживает присутствие файла FOXRUN.PIF во время выполнения команды RUN, он будет использовать COMMAND.COM для выполнения указанной команды RUN. Она может быть нежелательной программой SHELL в условиях конкретной операционной системы, особенно для более новой, нежели Windows XP операционной системы, в которой использование CMD.EXE является предпочтительным.

Текущее поведение для команды RUN без наличия файла FOXRUN.PIF заключается в том, что команда RUN будет использовать программу SHELL, указанную переменной среды COMSPEC операционной системы. В ОС Windows XP, Вы можете просматривать и редактировать эту переменную, щелкая правой кнопкой мыши по значку My Computer вашего рабочего стола и выбирая диалоговое окно Properties (вкладка Advanced).

Файл FOXRUN.PIF пока доступен в каталоге Tools, если Вы нуждаетесь в нем по специфическим причинам.

Для подробной информации, см. RUN |! Команда .

SCATTER Команда

SCATTER больше не учитывает неоднозначное использование обоих предложений MEMVAR и NAME в одной и той же команде. Вы можете только включить одно из этих предложений. В предыдущих версиях, следующий код не генерировал бы ошибку:

Скопировать код
USE HOME()+"SAMPLES\Data\customer.dbf"
SCATTER MEMVAR NAME oCust

Для подробной информации, см. SCATTER Команда .

SET DOHISTORY

Команда SET DOHISTORY, которая включена для обратной совместимости, была модифицирована для того, чтобы направлять вывод в окно Debug Output Window вместо окна Command как в предыдущих версиях.

SCREEN ShowTips Свойство

Значение по умолчанию для свойства _SCREEN ShowTips было изменено от Лжи (.F). к Истине (.T).. Это изменение было сделано, потому что новая поддержка подсказок Полей и полей МЕМО теперь зависят от этой установки.

AllowCellSelectionDoes Не Разрешает Удалять Строки Грида при Установке в Ложь

Когда Свойство AllowCellSelection установлно в Ложь (.F). для элемента управления Grid , Вы не можете пометить строку для удаления, щелкая в области столбца удаления. Для подробной информации, см. Свойство AllowCellSelection .

База данных Northwind

Пример базы данных Northwind был модифицирован. Пять из хранимых процедур теперь включают запросы Функции SETRESULTSET() так, чтобы Visual FoxPro OLE DB Provider возвратил курсор, когда они выполняются.

Фундаментальные классы

Класс _ShellExecute, содержавшийся в библиотеке классов FFC _Environ.vcx был модифицирован, чтобы включить дополнительный параметр в метод ShellExecute.

Wizards and Builders

Диалоговое окно выбора Wizard/Builder теперь должным образом скрывает удаленные записи в таблицах Мастера и регистраций Построителя.

Определение значения Начертаний Западных Языков для Функции GETFONT()

В версиях до этой версии, передача 0 как значения nFontCharSet для GETFONT( ) открывает диалоговое окно Font Picker и отображает список начертаний как недоступный. Вы не могли определить 0 (Западный), как значение начертания, и выбор 1 (Задано по умолчанию) устанавливал nFontCharSet к заданному по умолчанию шрифту, который определялся операционной системой.

В этой версии, передача 0 в GETFONT( ) открывает диалоговое окно Font Picker с доступным списком начертаний, и значением, установленным в Западный вариант. Возвращаемое значение для GETFONT( ) также включает возвращаемое значение для nFontCharSet .

Удаленные Элементы

Справка HTML SDK

Справка HTML 1.3 SDK больше не поставляется с Visual FoxPro.

См. Также

Ссылки

Руководство по Усовершенствованиям Системы Репртов
Улучшение Особенностей Данных и XML
Усовершенствования Языка SQL
Улучшение Классов
Расширение Языка
Улучшение Проектировщика Visual FoxPro

Другие Ресурсы

Что является Новым в Visual FoxPro
Улучшения Интерактивной Среды Разработки (IDE)
Разные улучшения

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Visual FoxPro New Reserved Words

Visual FoxPro 9.0
Новые зарезервированные слова Visual FoxPro
Смотрите Также

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

_

_MEMBERDATA | _MENUDESIGNER | _REPORTBUILDER
_REPORTOUTPUT | _ REPORTPREVIEW | _TOOLTIPTIMEOUT

A

ADJUSTOBJECTSIZE | ADOCODEPAGE | AFTERBAND
AFTERRECORDREFRESH | AFTERREPORT | ALLOWMODALMESSAGES
ANCHOR | ASQLHANDLES | AUTOCOMPLETE
AUTOCOMPSOURCE | AUTOCOMPTABLE | AUTOHIDESCROLLBAR

B

BEFOREBAND | BEFORERECORDREFRESH | BEFOREREPORT
BLOB |  |

C

CANCELREPORT | CAST | CLEARRESULTSET
CLEARSTATUS | COMMANDCLAUSES | CONFLICTCHECKCMD
CONFLICTCHECKTYPE | CURRENTDATASESSION | CURRENTPASS

D

DECLAREXMLPREFIX | DELAYEDMEMOFETCH | DISPLAYORIENTATION
DOCKABLE | DOMESSAGE | DOSTATUS
DYNAMICLINEHEIGHT |  |

E

EVALUATECONTENTS

F

FETCHMEMOCMDLIST | FETCHMEMODATASOURCE | FETCHMEMODATASOURCETYPE
FIRSTNESTEDTABLE | FRXDATASESSION | FOXOBJECT

G

GDIPLUSGRAPHICS | GETAUTOINCVALUE | GETDOCKSTATE
GETPAGEHEIGHT | GETPAGEWIDTH | GETRESULTSET

H

I

ICASE | INCLUDEPAGEINOUTPUT | INSERTCMDREFRESHCMD
INSERTCMDREFRESHFIELDLIST | INSERTCMDREFRESHKEYFIELDLIST | ISMEMOFETCHED
ISPEN | ISTRANSACTABLE |

J

K

L

LISTENERTYPE

LOADREPORT

M

MAKETRANSACTABLE

MAPBINARY

MAPVARCHAR

N

NEST

NESTEDINTO

NEXTSIBLINGTABLE

O

ONPREVIEWCLOSE | OPTIMIZE | ORDERDIRECTION
OUTPUTPAGE | OUTPUTPAGECOUNT | OUTPUTTYPE

P

PAGENO | PAGETOTAL | PICTUREMARGIN
PICTURESPACING | PICTUREVAL | POLYPOINTS
PREVIEWCONTAINER | PRINTJOBNAME | PROGCACHE

Q

QUIETMODE

R

RECORDREFRESH | REFRESHALIAS | REFRESHCMD
REFRESHCMDDATASOURCE | REFRESHCMDDATASOURCETYPE | REFRESHIGNOREFIELDLIST
REFRESHTIMESTAMP | RENDER | REPORTBEHAVIOR
REPORTLISTENER | RESPECTNESTING | ROTATION

S

SCCDESTROY | SCCINIT | SELECTIONNAMESPACES
SENDGDIPLUSIMAGE | SETRESULTSET | SQLIDLEDISCONNECT
SUPPORTSLISTENERTYPE |  |

T

TABLEPROMPT

TIMESTAMPFIELDLIST

TWOPASSPROCESS

U

UNLOADREPORT | UNNEST | UPDATECMDREFRESHCMD
UPDATECMDREFRESHFIELDLIST | UPDATECMDREFRESHKEYFIELDLIST | UPDATESTATUS
USECODEPAGE | USECURSORSCHEMA | USETRANSACTIONS

V

VARBINARY

VARCHAR

VARCHARMAPPING

W

X

XMLNAMEISXPATH

Y

Z

Смотрите также

Прочие Ресурсы

Что Нового в Visual FoxPro
Рарезервированные Слова

Отправить комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


How to: Submit Feedback about Help to Microsoft

Visual FoxPro 9.0
Как: Обратиться в систему Обратной Связи компании Microsoft
См. также

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

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

Note Примечание

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

Для выполнения запроса по данной Документации

  1. Откройте необходимый раздел из данной системы Помощи.

  2. Нажмите ссылку <страницу обратной связи>, расположенную в нижней части текущей страницы, которая корреспондируется с MSDN Product Feedback Center

См. также

Описание

Расширения Интерактивной Среды Разработки
Расширения Языка Программирования
Расширения возможностей обработки данных и XML
Прочие системные возможности
Изменения функциональности для текущей версии системы VFP

Другие ссылки

Что нового в данной версии Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Getting Started with Visual FoxPro

Visual FoxPro 9.0
Начинаем работать с Visual FoxPro

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

В данном Разделе

Размещение файлов Readme (Visual FoxPro)

Описывается, как найти файлы начальных сведений Visual FoxPro Readme.

Установка системы Visual FoxPro

Описываются системные требования и процесс установки системы VFP, а также, как добавить инструментальные приложения в Visual FoxPro.

Изменения, по сравнению с младшими версиями

Описывается, как переносить приложения, построенные и разработанные в ранних версиях FoxPro, и адаптировать в данную версию.

Как: Конвертировать файлы из младших версий Visual FoxPro

Описывается, как конвертировать различные файлы, разработанные в младших версиях FoxPro и Visual FoxPro.

Настройка программной среды Visual FoxPro

Объясняется, как оптимизировать вашу компьютерную систему, конфигурировать систему Visual FoxPro, а также интерактивную среду разработчика (IDE), настроить подсистему восстановления после сбоев; как использовать настройки для людей с ограниченными возможностями при работе с Visual FoxPro и Microsoft Windows.

Дополнительные секции

Что нового в данной версии Visual FoxPro

Описываются новые функциональные возможности, включенные в данную версию Visual FoxPro.

Использование Visual FoxPro

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

Разработка Приложений в Visual FoxPro

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

Программирование в Visual FoxPro

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

Описание (Visual FoxPro)

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

Примеры и Упражнения

Содержатся Примеры и Упражнения, демонстрирующие широкие возможности системы Visual FoxPro, с помощью которых можно достаточно эффективно осваивать данную систему.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Locating Readme Files (Visual FoxPro)

Visual FoxPro 9.0
Расположение файлов Readme (Visual FoxPro)
См. также

Файл Readme.htm находится в корневой папке CD-ROM Microsoft Visual FoxPro. Открыть и просмотреть его можно с помощью браузера Internet.

Файлы Readme для дополнительных продуктов, включенных в комплект Visual FoxPro, располагаются в корневых папках для каждого из этих продуктов на CD-ROM.

См. также

Ссылки

Начало работы с Visual FoxPro

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

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Installing Visual FoxPro

Visual FoxPro 9.0
Установка Visual FoxPro

В следующих разделах описывается как установить Visual FoxPro.

В этом разделе

Требования к установке Visual FoxPro

Описываются системные требования к установке Visual FoxPro.
Руководство: Установите Visual FoxPro

Описывается как установить Visual FoxPro.
Руководство: Установите дополнительные приложения

Описывается как установить другие приложения, включенные в Visual FoxPro.
Руководство: Переустановите Visual FoxPro

Описывается как переустановить Visual FoxPro или установить его в другое местоположение.
Устранение неполадок при инсталляции

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

Связанные разделы

Адаптация среды Visual FoxPro

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

Описывает как Visual FoxPro защищает ваши инвестиции, вложенные в приложения, разработанные в предшествующих версиях FoxPro.
Начало работы с Visual FoxPro

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


Requirements for Installing Visual FoxPro

Visual FoxPro 9.0
Требования для инсталляции Visual FoxPro
Смотрите также
CollapseAll image

К инсталляции Visual FoxPro предъявляются приведенные ниже минимальные требования:

  • Компьютер: PC с процессором класса Pentium.

  • Периферия: мышь или другое координатно-указательное устройство

  • Память: 64 MB RAM (128 MB или выше рекомендуется)

  • Пространство на жестком диске:

    • Необходимые предустановки для Visual FoxPro (Prerequisites): 20 MB

    • Типичная инсталляция Visual FoxPro: 165 MB

    • Максимальная инсталляция Visual FoxPro : 165 MB

  • Видео: разрешение 800 x 600, 256 цветов (High color 16-bit рекомендуется)

  • Операционная система: Разработка приложений с помощью Visual FoxPro поддерживается только на Microsoft Windows 2000 Service Pack 3 или более поздних, Windows XP и Windows Server 2003. Вы можете создать и распространять run-time приложения для Windows 98, Windows Me, Windows 2000 Service Pack 3 или более поздних, Windows XP и Windows Server 2003.

    Note Замечание

    Инсталляция на Windows NT 4.0 Terminal Server Edition не поддерживается.

Expand image Смотрите также

Задачи

Как: инсталлировать Visual FoxPro

Прочие ресурсы

Инсталляция Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Install Visual FoxPro

Visual FoxPro 9.0
Как: инсталлировать Visual FoxPro
Смотрите также

Вы можете инсталлировать эту версию Visual FoxPro на локальный жесткий диск либо с CD-ROM, либо с сетевого ресурса. Вы должны инсталлировать Visual FoxPro локальный диск, а не диск сетевого ресурса, размеченный в вашем компьютере как присоединяемый диск. Других подготовительных работ до инсталляции Visual FoxPro не требуется. Для инсталляции Visual FoxPro вы должны иметь административные привилегии. Рекомендуется, чтобы вы использовали привилегии "power-user" для эффективного использования всех предоставляемых инструментов.

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

Если вы планируете публиковать XML Web сервисы с помощью Visual FoxPro, вам наверное потребуется установить Internet Information Services (IIS) на компьютерах с Windows 2000, Windows XP или Windows Server 2003. Посмотрите справочную документацию для операционной системы для того, чтобы узнать как установить и сконфигурировать IIS.

Note Замечание

Установочная программа Visual FoxPro теперь не инсталлирует любые сервисные пакеты операционной системы Windows или версии Internet Explorer. Очень рекомендуем установить последние версии этих компонентов до инсталляции Visual FoxPro. Кроме того, Visual FoxPro 9.0 поддерживается только на операционных системах Windows 2000 Service Pack 3 или выше. За получением подробной информации об установке последних Service Pack, обратитесь к странице Microsoft по адресу http://www.microsoft.com/windows2000/.

Полная инсталляция включает в сеюя все программные файлы Visual FoxPro, online-справочное руководство и файлы примеров.

Для инсталляции Visual FoxPro

  1. Закройте все открытые приложения.

    Note Замечание

    Если вы используете на вашем компьютере антивирусную программу, отключите ее на время работы мастера инсталляции. В противном случае Мастер инсталляции может не сработать должным образом. После инсталляции убедитесь, что вы перезапустили вашу антивирусную программу.

  2. Вставьте Visual FoxPro CD в устройство чтения компакт-дисков.

    Начальная страница Visual FoxPro Setup появится автоматически.

  3. Щелкните по Install Visual FoxPro для запуска установочной программы Visual FoxPro Setup.

  4. Для определения - требуются ли вам дополнительные компоненты, щелкните на Prerequisites - "Необходимые условия" для отображения всех необходимых компонентов.

  5. Щелкните по Install Now! для установки всех новых компонентов. Если Visual FoxPro Prerequisites потребуется только обновить компоненты, щелкните по Update Now!

  6. Вам может потреботься перезапустить ваш компьютер. Когда закончится установка, щеклните по Done.

    Установочная программа Visual FoxPro Setup появится вновь.

  7. Для продолжения инсталляции щелкните на Visual FoxPro.

  8. После акцептирования лицензионного соглашения, ввода ключа продукта и вашего имени, щелкните на Continue.

    Note Замечание

    Visual FoxPro не может быть инсталлирован на размеченный диск (mapped drive). Вы должны инсталлироватьVisual FoxPro только на локальный диск. Не пытайтесь использовать функциональность Map Network Drive во время инсталляции.

  9. На странице Options выбериие возможности, которые вы желаете установить и щелкните на Install Now! для продолжения установки.

  10. После завершения щелкните на Done для врозврата в Visual FoxPro Setup. Щелкните на Exit для возврата на начальную страницу Visual FoxPro Setup.

Если вы деинсталлировали Visual FoxPro в то время, как на вашем компьютере существует иная версия Visual FoxPro, определенные ключи регистра использующиеся совместно разными вресиями Visual FoxPro удаляются. Вы должны переинсталлировать эти критические ключи регистра совместного использования.

Если вы запускаете Visual FoxPro из меню Start, программа Visual FoxPro Setup автоматически переинсталлирует эти ключи. Если вы запускаете Visual FoxPro другими средствами, например приямым запуском исполнимого файла, установочная программа не может запуститься автоматически. Вы должны использовать Add/Remove Programs в Control Panel и приведенные ниже шаги для ручной переинсталляции ключей регистра:

Для ручной переинсталляции ключей регистра Visual FoxPro 9.0

  1. В меню Start щелкните на Control Panel.

  2. Щелкните на Add/Remove Programs.

  3. Щелкните на Change/Remove для входа Microsoft Visual FoxPro 9.0.

  4. Щелкните на Visual FoxPro и Repair/Reinstall.

Смотрите также

Задачи

Как: инсталлировать дополнительные приложения
Как: переинсталлировать Visual FoxPro
Решение проблем инсталляции

Справочное руководство

Требования для инсталляции Visual FoxPro

Прочие ресурсы

Инсталляция Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Install Additional Applications

Visual FoxPro 9.0
Как: инсталлировать дополнительные приложения, включенные в поставку Visual FoxPro
Смотрите также

Этот выпуск Visual FoxPro включает в себя копии дополнительного программного обеспечения, которое вы можете проинсталлировать использовать с Visual FoxPro. Дополнительное программное обеспечение включает в себя:

  • InstallShield Express Limited Edition

    Предоставляет возможность упаковывать и развертывать приложения, созданные вами с использованием Visual FoxPro. Поставка Visual FoxPro включает в себя InstallShield Express 5.0 Visual FoxPro Limited Edition.

    Note Замечание

    Ограниченный и полный выпуск InstallShield Express 5.0 считаются двумя версиями одного и того же продукта и не могут сосуществать одновременно. Если вы инсталлируете одну из версий на компьютер, на которой уже существует другая, то эта оригинальная версия будет автоматически де-инсталлирована. Поскольку ограниченная версия содержит меньше возможностей, чем полная, то вы должны сохранить полную версию и не инсталлировать ограниченную.

  • Microsoft SOAP Toolkit 3.0 Samples

    Предоставляет образцы для демонстрации - как использовать и публиковать XML Web сервисы. Visual FoxPro Prerequisites инсталлирует ядро компонентов SOAP Toolkit 3.0, необходимое для доступа и публикации XML Web сервисов в Visual FoxPro.

  • Microsoft SQL Server 2000 Desktop Engine (MSDE)

    Предоставляет персональную версию SQL Server.

Для инсталлияции InstallShield Express Limited Edition

  1. Вставьте CD, содержащий выпуск Visual FoxPro в соответствующих дисковод.

    При этом автоматически откроется начальная страница Visual FoxPro Setup.

  2. Щелкните на Install InstallShield Express.

  3. Следуйте инструкциям в мастере установки InstallShield Express.

Кроме того, вы можете найти файл установочной программы - Setup.exe - для InstallShield Express в каталоге InstallShield на Visual FoxPro CD.

Note Замечание

Visual FoxPro 9.0 инсталлирует свои распространяемые подключаемые модули туда, где проинсталлирован Visual FoxPro 8.0.

Версия InstallShield Express, включенная в поставку Visual FoxPro 9.0 автоматически использует местонахождение подключаемых модулей Visual FoxPro 9.0.

Note Note

Visual FoxPro 9.0 требует наличия определенных подключаемых модулей, когда создает Visual FoxPro 9.0 распространяемую пользовательскую установочную программу приложения с использованием InstallShield Express.

Вам необходимо включить перечисленные ниже подключаемые модули при создании вашей пользовательской установочной программы:

  • Microsoft Visual FoxPro 9 Runtime Libraries

  • Microsoft Visual C Runtime Library 7.1

  • GDI Plus Redist

  • MSXML 4.0

  • MSXML 3.0 (необходим только для CURSORTOXML functions)

  • Microsoft Visual FoxPro 9 Runtime Language Libraries (конкретные файлы библиотек языка, которые могут потребоваться для международных приложений)

  • Reporting Applications (необходимые для движка системы отчетов Visual FoxPro 9.0)

Note Замечание

MSXML 4.0 состоит из двух подключаемых модулей (msxml4sxs32.msm и msxml4sys32.msm). MSXML 3.0 состоит из трех подключаемых модулей (msxml3_wim32.msm, msxml3inf_wim32.msm и wdstddll_wim32.msm).

Для инсталляции образцов SOAP Toolkit 3.0 Samples

  1. Вставьте CD, содержащий выпуск Visual FoxPro в соответствующих дисковод.

    При этом автоматически откроется начальная страница Visual FoxPro Setup.

  2. Щелкните на Install SOAP Toolkit 3.0 Samples.

  3. Следуйте инструкциям мастера установки SOAP Toolkit 3.0 Samples Setup Wizard.

Кроме того, вы можете найти файлы Soapsdk.msi и Soapsamp.msi для SOAP Toolkit в каталоге SOAPToolkit на Visual FoxPro CD.

Для инсталляции MSDE

  1. Вставьте CD, содержащий выпуск Visual FoxPro в соответствующих дисковод.

    При этом автоматически откроется начальная страница Visual FoxPro Setup.

  2. Щелкните на Install Microsoft SQL Server Desktop Engine (MSDE) и следуйте инструкциям, которые находятся в файле Readme.

Кроме того, вы можете найти файл Setup.exe для MSDE в каталоге SQLMSDE на Visual FoxPro CD.

Note Замечание

В поставку Visual FoxPro включен Microsoft SQL Server 2000 Desktop Engine Service Pack 3.0a. Убедитесь в том, что у инсталлирована последняя версия Service Pack, для чего посетите страницы Microsoft SQL Server по адресу http://www.microsoft.com/sql/default.asp. В дополнение к сказанному, если вы распространяете ваши прилрожения Visual FoxPro, которые треюует MSDE, вы можете получить распространяемые подключаемые модули с сервера Microsoft SQL Server для использования с установочными программами на базе Windows Installer.

Смотрите также

Задачи

Как: инсталлировать Visual FoxPro

Прочие ресурсы

Инсталляция Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Reinstall Visual FoxPro

Visual FoxPro 9.0
Как: переинсталлировать Visual FoxPro
Смотрите также

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

Для деинсталляции Visual FoxPro

  1. В меню Start щелкните на Control Panel.

  2. В окне Control Panel сделайте двойной щелчок на Add or Remove Programs.

    Откроется окно Add or Remove Programs.

  3. В списке Currently installed programs щелкните на версиии Microsoft Visual FoxPro, которую вы желаете удалить и затем на Change/Remove.

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

Вы можете удалить эти файлы, удалив содержание папки ...\Application Data\Microsoft\Visual FoxPro folder внутри папки ваших пользовательских установок. Для определения местонахождения папки Application Data впечатайте ? HOME(7) в окне Command. Эти файлы включают в себя ваши файлы ресурсов FoxUser.*, которые содержат ваши настройки и папки для Toolbox и Task Pane.

Однако, возможно, что ваш файл ресурса размещен в другом месте. Вы можете определить его местонахождение путем печати в окне Command приведенного ниже:

CopyCode image Скопировать код
? SYS(2005)

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

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

Для запуска VFPClean.app

  • Впечатайте в окне Command приведенное ниже:

    CopyCode image Скопировать код
    DO HOME()+"VFPCLEAN.APP"

Смотрите также

Задачи

Как: инсталлировать Visual FoxPro

Прочие ресурсы

Инсталляция Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Troubleshooting Installation

Visual FoxPro 9.0
Поиск проблем инсталляции
Смотрите также
CollapseAll image

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

  • Если вы не можете запустить Visual FoxPro и не видите сообщений об ошибках, объясняющих что вызвало сбой, то проблема может быть заключена в ROM BIOS компьютерар или используемом драйвере видеокарты.

  • Если вы используете расширенную клавиатуру, убедитесь, что она совместима с ROM BIOS. Дополнительно, убедитесь, что вы используете стандартные VGA или Super VGA Windows видео драйверы.

  • Если вы получите сообщение "stack overflow", то это означает, что ваш драйвер видеокарты устарел или не разработан для вашей видеокарты. Для коррекции этой проблемы обновите драйвер видеокарты.

  • Для получения дополнительной информации, смотрите файл Visual FoxPro Readme в корневом каталоге инсталляционного диска Visual FoxPro.

Expand image Смотрите также

Прочие ресурсы

Инсталляция Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Upgrading from Earlier Versions

Visual FoxPro 9.0
Переход от более ранних версий
См. также

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

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

Преобразование в формат Visual FoxPro

Если вы решите преобразовывать ваши файлы dBASE или FoxPro в формат Visual FoxPro, то получите от этого выигрыш за счет исключительных особенностей Visual FoxPro. Многие файлы из предшествующих версий FoxPro заработают сразу, а другие потребуют различного рода преобразований.

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

Дополнительная информация по обновлению предыдущих версий Visual FoxPro находится в Microsoft Developer Network (MSDN) на Web-сайте http://msdn.microsoft.com. Документацию по предыдущим версиям Visual FoxPro вы можете найти в архивах MSDN.

См. также

Ссылки

Начало работы с Visual FoxPro
Обзор характеристик Visual FoxPro
Установка Visual FoxPro
Адаптация среды Visual FoxPro
Оптимизация вашей системы

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Convert Earlier Visual FoxPro Files

Visual FoxPro 9.0
Руководство: Преобразование файлов из ранних версий Visual FoxPro
См. также

Если Вы захотите использовать в текущей версии Visual FoxPro файлы FoxPro 2.6 и Visual FoxPro 3.0, то их необходимо явно преобразовать в формат текущей версии. Файлы, которые были созданы в версиях, вышедших после Visual FoxPro 3.0, будут преобразованы в текущий формат автоматически.

Для преобразования файлов FoxPro 2.6 и Visual FoxPro 3.0

  1. В меню File выполните пункт Open.

  2. В диалоговом окне Open выберите нужный файл.

    В ответ на это действие откроется диалоговое окно преобразования файлов, о котором вы можете прочесть в разделе Диалоговое окно преобразования Visual FoxPro.

  3. В диалоговом окне преобразования выберите желаемые опции.

  4. Для начала преобразования нажмите кнопку Continue.

    Замечание:
    Если вы преобразовывает файлы Macintosh или MS-DOS, которые никогда не открывались в Windows, то дополнительно появится диалоговое окно Транспортера. Более подробно работа с этим окном описана в разделе Диалоговое окно Транспорте р Visual FoxPro.

Вы можете, также, преобразовать файлы FoxPro 2.6 и Visual FoxPro 3.0, если введете в командном окне одну из следующих команд с именем файла в качестве параметра:

  • Команду MODIFY PROJECT

  • Команду MODIFY FORM

  • Команду MODIFY REPORT

  • Команду MODIFY LABEL

См. также

Ссылки

Начало работы с Visual FoxPro
Переход от более ранних версий

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Customizing the Visual FoxPro Environment

Visual FoxPro 9.0
Адаптация среды Visual FoxPro

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

Информацию об оптимизации приложений в Visual FoxPro вы найдете в Оптимизация приложений.

В этом разделе

Оптимизация вашей системы

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

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

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

Описывается как закрыть все активные программы и очистить рабочий стол Visual FoxPro для возврата в интерактивный режим.
Доступность для людей с ограниченной трудоспособностью

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

Связанные разделы

Начало работы с Visual FoxPro

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

Использование Visual FoxPro

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

Содержит пошаговое руководство по созданию различных типов приложений и компонентов.
Обзор возможностей Visual FoxPro

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

Разработка приложений в Visual FoxPro

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

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

Обсуждаются инструменты разработки приложений, которые могут применяться в рамках языка Visual FoxPro.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Optimizing the Operating Environment

Visual FoxPro 9.0
Оптимизация Среды
See Also

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

  • Увеличение памяти и виртуальной памяти

  • Управление жестким диском

Увеличение памяти и виртуальной памяти

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

  • Не запускайте никакие другие приложения Windows, когда работает Visual FoxPro.

  • Используйте только те резидентные программы, которые действительно необходимы для работы.

  • Упростите экранное устройство отображения.

Вы можете освободить память, упрощая вывод окон и фоновых рисунков на вашем компьютерном мониторе.

  • Используйте цвет или образец вместо обоев для рабочего стола.

  • Используйте самоую низкую разрешающию способность дисплея , которая является подходящую для Вас. Чем выше разрешающая способность дисплея, тем больше памяти использует ваш компьютер и медленнее отрисовываются ваша графика и элементы пользовательского интерфейса. Для VGA-совместимых дисплеев, используйте расширенный драйвер режима, типа Видео 7 или 8514, использывание стандартного VGA драйвера гарантирует, более быстрая работа дисплея, но обеспечивает более низкую разрешающую способность и меньшую цветовую поддержку..

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

Примечание:
Страничный Файл не влияет на быстродействие работы Visual FoxPro и не является заменой большего количества памяти.

Управление Вашим Жестким диском

Управление вашим жестким диском может увеличить скорость работы программы. Чтобы получить лучшую работу от вашего жесткого диска, обеспечьте достаточный объем дискового пространства. Если ваш жесткий диск имеет небольшое свободное пространство, Вы можете улучщить работу Visual FoxPro, удаляя ненужные данные или преобрести жесткий диск с большей емкостью.

Дисковые операции ввода-вывода значительно ухудшается, когда жесткий диск почти полон. Чем больше доступного свободного пространства на жестком диске, тем более вероятно, что непрерывные блоки дискового пространства являются доступными. Visual FoxPro использует это пространство для изменения и добавления к базе данных, таблице, индексу, memo полям, и временным файлам. Увеличение свободного пространства на жестком диске улучшает быстродействие любых команд, модификации ваших файлов. Больше дискового пространства также уменьшает время, требуемое для чтения файлов в ответ на ваши запросы.

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

  • Управление Файлами в Каталогах

  • Управление Временными Файлами

Управление Файлами в Каталогах

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

  • Используйте Visual FoxPro Project Manager, для создания и управления вашими файлами, отделите программные файлы в отдельные каталоги, и избегать создание генерации многочисленных файлов.

  • Для распространения ваше приложение, создайте приложение или исполняемый (.exe) файл вместо многочисленного индивидуального генерированния файлов.

    Этот процесс уменьшает количество файлов в подкаталогах вашего приложения и улучшает быстродействие.

  • Если Вы удаляете большое количество файлов в одном каталоге, копируете остающиеся файлы в новый каталог или оптимизируете каталог, используя программную утилиту дефрагментации.

    Примечание:
    Удаление файлов из каталога автоматически не ускоряет поиск в каталоге. Когда файл удален, файл только отмечен для удаления и все еще участвует при поиске в каталоге.

  • При сохранении файлов, используйте короткие пути к файлу, что улучшает быстродействие.

    Для примера, предположите, что Вы имеете путь к файлу "C:\Program Files\Microsoft Visual FoxPro\...", это очень длинный путь к файлу. Пробуйте использовать более короткие пути к файлу.

Управление Временными Файлами

Visual FoxPro создает временные файлы для разнообразных операций. Например, Visual FoxPro создает временные файлы во время редактирования, индексации, и сортировки. Сеансы редактирования текста могут также создать временные или резервные (.bak) копии редактируемого файла. По умолчанию, Visual FoxPro создает временные файлы в том же самом каталоге, где Windows сохраняет свои временные файлы, если Вы дополнительно не определяете альтернативное местоположение.

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

Для получения дополнительной информации, см. How to: Specify the Location of Temporary Files.

Поиск Временных Файлов

Когда Visual FoxPro ищет временные файлы, например, когда Вы используете SYS(2023) - Путь к временным файлам, чтобы вернуть пути к временным файлам или путь к TMPFILES, EDITWORK, PROGWORK, и SORTWORK параметры настройки в Visual FoxPro файле конфигурации не определено отличное местоположение, используется API Windows GetTempPath, чтобы искать путь, содержащий временные файлы. GetTempPath ищет последовательность переменных, которые отличаются в зависимости от операционной системы. Microsoft Windows 2000 и выше включает пользовательские переменные, которые сохраняют местоположение временных файлов, в то время как Microsoft Windows 95, 98, и ME включает только глобальные системные переменные среды для этой цели.

В Windows 2000 и выше, GetTempPath, и поэтому, SYS(2023), TMPFILES, EDITWORK, PROGWORK, и SORTWORK, ищет TMP пользовательскую переменную местоположение временных файлов по умолчанию. Если TMP пользовательская переменная не определяет местоположение, Visual FoxPro ищет следующие переменные в следующем порядке:

  • TMP системная переменная.

  • TEMP пользовательская переменная.

  • TEMP системная переменная.

Если эти переменные не определяют местоположение, местоположение для хранения временных файлов назначается по умолчанию в домашний диск и путь, или Временную папку в каталоге пользователя Documents and Settings.

Примечание:
Если больше чем одно значение определено для TMP или TEMP, ,то использованно будет первое значение.

В Windows 95, 98, и Ме, GetTempPath ищет TMP и TEMP глобальные системные переменные в этом порядке и затем ищет текущий каталог.

Для получения дополнительной информации, см. SYS(2023) - Temporary Path and Special Terms for Configuration Files.

Смотрет также

Другие ресурсы

Optimizing Visual FoxPro in a Multiuser Environment
Optimizing Visual FoxPro Startup Speed
Optimizing Your System

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Optimizing Visual FoxPro Startup Speed

Visual FoxPro 9.0
Оптимизация скорости запуска Visual FoxPro
Смотрите также

Хотя Visual FoxPro всегда запускается быстро, тем не менее вы можете оптимизировать скорость запуска и операций. В этом разделе описывается управление увеличением производительности и скорости запуска Visual FoxPro с помошью команд SET.

Управление скоростью запуска

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

Управление размещением файлов

Visual FoxPro по умолчанию хранит файл FoxUser.dbf, в котором содержатся установки пользователя, в каталоге пользователя Application Data. Вы можете отобразить это размещение напечатав в командном окне команду ? HOME(7). Обычно Visual FoxPro ищет файлы FoxUser.dbf и Config.fpw в перечисленных ниже местах:

  • В запускаемом приложение или исполнимом файле, если они имеются.

    Например, вы можете запустить приложение Visual FoxPro печатанием приведенной ниже команды:

    CopyCode image Скопировать код
    VFPversionNumber.exe MyApp.app

    – или –

    CopyCode image Скопировать код
    VFPversionNumber.exe MyApp.exe

    Если запускаемое приложение или исполнимый файл содержать файл Config.fpw, то он всегда и будет использован. Вы можете переписать установки в файле Config.fpw, которые связаны внутри приложения указанием внешнего файла конфигурации Config.fpw, используя ключ командной строки -C при запуске приложения или Visual FoxPro.

  • В рабочем каталоге.

  • Среди путей, установленных с помощью переменной среды PATH.

  • В каталоге, содержащем Visual FoxPro.

Управление загрузкой файлов

Кроме того, вы можете увеличить скорость запуска предотвращением загрузки файлов, которые вы не планируете использовать сразу. Если ваше приложение не использует файлы FoxUser или FoxHelp, запретите их в Config.fpw с помощью приведенных ниже команд:

CopyCode image Скопировать код
RESOURCE = OFF
HELP = OFF

Visual FoxPro производит поиск всех прочих своих компонентов (GENXTAB, CONVERT и тому подобных) только в своем каталоге. Если вы размещаете компоненты в прочих местах, вы должны явно указать путь к этим компонентам в вашем файле конфигурации Config.fpw. Например, вам может потребоваться указание перечисленных ниже мест размещения файлов:

CopyCode image Скопировать код
_TRANSPORT = c:\migrate\transport.prg
_GENXTAB = c:\crosstab\genxtab.prg
_FOXREF = c:\coderefs\foxref.app

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

Оптимизация размера загрузки Visual FoxPro

Если вы планируете использование любых, перечисленных ранее компонентов Visual FoxPro, установите значение соответствующего элемента в пустую строку для увеличения скорости запуска.

Для оптимизации размера загрузки Visual FoxPro, используйте приведенный ниже синтаксис:

CopyCode image Скопировать код
cFileVariable = ""

Замените cFileVariable наименованиями переменных _TRANSPORT, _CONVERT или прочих.

Оптимизация ключей команд SET

Вы можете оптимизировать производительность Visual FoxPro настройкой значений определенных команд SET.

В приведенной ниже таблице показаны команды SET, которые имеют наибольшее воздействие на производительность, а также их установки, определяющие максимальную производительность. Вы можете указать значения команд SET, включив их в конфигурационный файл Config.fpw, или напечатав и исполнив их в командном окне, или установив их с помощью диалогового окна Options (Параметры).

Установка команд для обеспечения максимальной производительности
Команда SET | Настройка, обеспечивающая максимальную производительность
SET ESCAPE Command | ON
Команда SET OPTIMIZE | ON
Команда SET REFRESH | 0,0
Команда SET SYSMENU | DEFAULT
Команда SET TALK | OFF
Команда SET VIEW | OFF

Смотрите также

Справочное руководство

Команда SET ESCAPE
Команда SET REFRESH
Команда SET SYSMENU
Командное окно (Visual FoxPro)

Концепции

Оптимизация Visual FoxPro в многополоьзовательской среде
Оптимизация операционной среды

Прочие ресурсы

Оптимизация вашей системы
Настройка среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Optimizing Visual FoxPro in a Multiuser Environment

Visual FoxPro 9.0
Оптимизация Visual FoxPro в многопользовательском окружении
Смотрите также

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

Управление временными файлами

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

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

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

Для получения более подробной информации о временных файлах смотрите Оптимизация рабочего окружения и Как: указать местонахождение временных файлов.

Совместное использование таблиц

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

  • Избегайте повторяющихся открытий/закрытий таблиц.

  • Используйте буферы для операций запии для таблиц, которые не используются совместно несколькими пользователями.

  • Предоставляйте монопольный доступ к таблицам.

  • Ограничьте время блокировки таблиц.

Предоставление монопольного доступа

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

Для открытия файлов данных для монопольного использования, используйте опцию EXCLUSIVE в командах USE и OPEN DATABASE. Для получения более подробной информации смотрите описания команд USE и OPEN DATABASE.

Ограничение времени блокировки таблиц

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

Смотрите также

Концепции

Оптимизация приложений в многопользовательской среде

Прочие ресурсы

Оптимизация вашей системы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro Configuration

Visual FoxPro 9.0
Конфигурация Visual FoxPro
Смотрите также

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

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

Если вы настроили постоянные установки, то они хранятся в регистре Microsoft Windows или в файле ресурса Visual FoxPro. Регистр Windows представляет собой базу данных, которая хранит конфигурационную информацию об операционной системе, всех приложениях Windows, OLE и необязательных компонентах, таких, как ODBC. Например, регистр это то место, где Windows хранит связи между расширениями имен файлов и приложениями, с помощью которых щелчок по имени файла вызывает запуск операционной системой Windows подходящего для такого файла приложения.

В качестве примера изменения установок регистра, вы можете запустить и посмотреть работу программы Registry.prg, размещенную каталоге \Samples\Classes, которая содержит множествено методов, основанных на вызовах Windows API и предоставляет вам возможность управлять регистром Windows.

В схожей манене, Visual FoxPro хранит в регистре свою информацию о конфигурации, касающуюся конкретный приложений. Когда вы запускаете Visual FoxPro, программа читает информацию о конфигурации из регистра и устанавливает конфигурацию в соответствии с этим установками. После чтения регистра, Visual FoxPro, кроме того, проверяет файл конфигурации, который представляет собой текстовый файл, в котором вы можете хранить свои настройки конфигурации, которые будут переписывать значения настроек, считанных из регистра. После того, как Visual FoxPro запустится, вы можете произвести дополнительные установки конфигурации с помощью диалогового окна Options или команд SET. Для получения более подробной информации смотрите How to: View and Change Environment Settings.

Note Замечание

Run-time версия Visual FoxPro не читает установки, хранимые в регистре Windows при своем запуске, так как установки, записываемые в регистр разработаны главным образом для настройки окружения разработчика. Если вы намереваетесь распространять ваше приложение Visual FoxPro с использованием библиотек run-time, вы можете определить установки конфигурации двумя способами: с помощью файла конфигурации, или с помощью программы, которая управляет регистром Windows на компьютере пользователя.

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

Note Совет

Если данные в файле Foxuser.dbf повреждаются или становятся недоступными, это может вызвать неустойчивое поведение Visual FoxPro. Если вы не заносили что-нибудь вручную в этот файл, то вы можете просто удалить этот файл, в противном случае удаление файле приведет к потере занесенной вами информации.

Смотрите также

Задачи

Как: просмотреть и изменить установки конфигурации
Как: изменить установки конфигурации в регистре Windows

Справочное руководство

Диалоговое окно Options (Visual FoxPro)
Фундаментальный класс ODBC Registry
Окно Command (Visual FoxPro)
Команда SET RESOURCE

Прочие ресурсы

Настройка окружения Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro Environment Settings

Visual FoxPro 9.0
Установки среды Visual FoxPro

Вы можете сделать изменения в среде Visual FoxPro с помощью диалогового окна Options (Опции), редактирования регистра Windows, переписи установок среды, используемых по умолчанию, настройки Project Manager (Диспетчера проекта) и конфигурирования полосок инструментов Visual FoxPro.

В этом разделе

Как: просмотреть и изменить настройки среды

Описывается: как просмотреть и изменить настройки среды

Как: указать местонахождение временных файлов

Описывается: как изменить местонахождение, используемое по умолчанию для сохранения временных файлов в Visual FoxPro.

Как: изменить конфигурационные установки в регистре Windows

Описывается: как сконфигурировать Visual FoxPro с помощью изменений в регистре Windows с помощью Registry Editor.

Установка конфигурационных опций при запуске

Описывается: как установить или переписать конфигурацию, используемую по умолчанию при запуске Visual FoxPro.

Как: указать файл конфигурации

Описывается: как указать или подавить воздействие файлов конфигурации при запуске Visual FoxPro.

Как: создать файл конфигурации

Описывается: как создать файлы конфигурации, используемые при запуске Visual FoxPro.

Специальные термины для конфигурационных файлов

Предоставляет список специальных терминов, которые вы можете использовать в файлах конфигурации.

Как: использовать опции командной строки при запуске Visual FoxPro

Объясняется: как указать опции и ключи запуска при использовании командной строки.

Как: сконфигурировать полоски инструментов Visual FoxPro

Описывается: как настроить, отображать и прятать полоски инструментов.

Как: стыковать (закреплять) окна

Описывается: как закреплять окна Visual FoxPro на главном окне Visual FoxPro или стыковать их друг с другом.

Как: установить опции редактора

Объясняется: как сконфигурировать редакторы Visual FoxPro.

Как: отображать и печатать исходный код в цвете

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

Автоматизация задач с помощью макросов

Описывается: как записывать и сохранять клавишные строки с помощью макросов.

Связанные разделы

Настройка среды Visual FoxPro

Объясняется настройка установок среды разработки.

Конфигурация Visual FoxPro

Обяъсняется конфигурирование Visual FoxPro.

Восстановление интерактивной среды Visual FoxPro

Описывается: операции закрытия разных объектов и очистки рабочего стола Visual FoxPro для возврата в интерактивное состояние.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: View and Change Environment Settings

Visual FoxPro 9.0
Как: увидеть и изменить установки окружения
Смотрите также

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

Для вывода диалогового окна Options

  • В меню Tools выберите Options.

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

Отображение установок окружения

Когда Visual FoxPro запущен, вы можете проверить установки окружения с помощью диалогового окна Options или с помощью команды DISPLAY STATUS, или отображением конкретных значений команд SET.

Для отображения множества установок окружения

  • В меню Tools выберите Options для вывода диалогового окна Options и просмотра текущих установок.

    – или –

  • Напечайте команду DISPLAY STATUS в окне Command.

Для отображения конкретных установок окружения

  • Используйте функцию SET() в окне Command для отображения текущего значения любой из команд SET.

Например, для того, чтобы увидеть текущее значение SET TALK, напечатайте:

CopyCode image Скопировать код
? SET("TALK")
Замечание Замечание

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

Для получения более подробной информации, смотрите Обзор команд SET.

Для повторения установок диалогового окна Options в командном окне

  1. В диалоговом окне Options сделайте выборы установок.

  2. Нажмите и удерживайте клавишу SHIFT и щелкните на OK.

    Установки отобразятся в окне Command.

  3. Скопируйте установки команд из окна Command.

Сохранение установко окружения

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

Для сохранения установок только для текущей сессии

  1. В диалоговом окне Options сделайте выбор установок.

  2. Щелкните на OK.

Когда вы сохраняете установки только для текущей сессии, они остаются действительными только до момента, когда вы выйдете из Visual FoxPro (или до момент, когда вы вновь измените их). Для сохранения установок для постоянного использования в сессиях, сохраните их, как установки по умолчанию; в этом случае они будут сохранены в регистре операционной системы Windows.

Для сохранения текущих установок в качестве установок по умолчанию

  1. В диалоговогом окне Options сделайте требуемые вам изменения установок.

  2. Щелкните на Set As Default.

    Замечание Замечание

    Командная кнопка Set as Default запрещена до момента, когда вы сделаете какое-либо изменение в текущих установках.

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

Установка окружения с помощью команд SET

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

Замечание Замечание

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

Замечание Tip

Для сохранения конфигурации, созданной с помощью команд SET, выведите диалоговое окно Options и там сохраните ваши установки.

Для установки окружения программным путем

  • Используйте команды SET, которые вам требуются.

НапримерЮ приведенная ниже строка кода устанавливает путь, используемый по умолчанию, добавляет часы в полоску статуса и использует формат год-месяц-число (yy.mm.dd) для отображения дат:

CopyCode image Скопировать код
SET DEFAULT TO HOME()+"\VFP"
SET CLOCK ON
SET DATE TO ANSI

Для получения более подробной информации, смотрите Обзор команд SET.

Смотрите также

Задачи

Пример получениия информации о приложении из регистра Windows
Как: изменить конфигурационные установки в регистре Windows

Справочное руководство

Команда DISPLAY STATUS

Прочие ресурсы

Установки окружения Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Specify the Location of Temporary Files

Visual FoxPro 9.0
Как: Определить местоположение Временных файлов (Temporary Files)
См. также

Вы можете определить другое (нестандартное) местоположение временных системных файлов с помощью имеющегося инструментария Visual FoxPro или выполнить установку параметров в соответствующем конфигурационном файле для опций TMPFILES, EDITWORK, PROGWORK, SORTWORK.

Для определения местоположения Временных Файлов

  1. В системном меню Tools, выберите пункт Options.

  2. В открывшемся диалоговом боксе Options, откройте закладку File Locations.

  3. В списке File Typet, выберите строку: Temporary Files, нажмите кнопку Modify.

  4. В диалоговом боксе Change File Location, укажите новое местоположение или нажмите кнопку (...) - многоточие, для диалоговой установки места для данных файлов.

См. дополнительно разделы Диалоговый бокс Options (Visual FoxPro) и Закладка File Locations, диалоговый бокс Options.

См. также

Описание

Специальные установки в Файле Конфигурации

Концепции

Оптимизация Среды Разработки
Установка конфигурационных параметров при Старте системы

Другие ссылки

Установка Окружения системы Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Change Configuration Settings in the Windows Registry

Visual FoxPro 9.0
Как: Изменить параметры конфигурации системы VFP в Реестре Windows
См. также

Вы можете определить, задать, изменить параметры настроек Visual FoxPro, размещенные в Реестре Windows registry. Для изменения указанных параметров используется соответствующий редактор (Registry Editor), который поставляется вместе с системой Windows.

Note Примечание

Нужно быть очень осмотрительным при изменении данных в Реестре Windows. Установка ошибочных значений параметров настройки системы может привести к неправильной работе системы Visual FoxPro, или системным ошибкам Windows.

Для изменения конфигурационных параметров в Реестре Windows

  1. В ОС Windows, запустите на выполнение Registry Editor (системный редактор Реестра).

  2. В соответствующем разделе HKEY_CURRENT_USER, найдите главу приложения Software\Microsoft\Visual FoxPro и откройте раздел системы, соответствующий текущей версии Visual FoxPro.

  3. В папке Options, выполните "double-click" для выбранного имени параметра настройки, введите новое значение выбранного параметра.

  4. Закройте Registry Editor.

    Ваши изменения вступят в силу при следующем сеансе работы системы Visual FoxPro.

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

См. также

Задачи

Прочитать информацию о приложении в Реестре Windows, пример

Описание

SYS(3056) - Чтение установок VFP в Реестре Windowsgs

Другие ссылки

Установка параметров Среды Visual FoxPro
Доступ к механизмам API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Setting Configuration Options at Startup

Visual FoxPro 9.0
Определение настроечных параметров при запуске Приложения
Смотрите Также

Вы можете определить необходимые стартовые параметры при начальном Старте вашего Приложения, которые переопределят значения системных параметров, заданных по-умолчанию.

Использование стандартных команд SET в вашем Приложении

Одним из путей задания необходимых стартовых, настроечных параметров вашего приложения является использование в самом начале программного Кода приложения одной или нескольких команд SET. Например, для настройки вашей системы так, чтобы при старте вашего приложения, в строке Статуса отображалось текущее системное время рекомендуется использовать следующую команду SET:

CopyCode image Копировать Код
SET CLOCK ON

Конкретное Место размещения описываемых настроечных команд типа SET зависит от структуры вашего Приложения. В основном, рекомендуется использовать данные команды SET в Главном файле вашего Приложения (Main Program File), который выполняет роль Диспетчера по доступу к остальным компонентам, формам вашего Приложения. Вы можете разместить требуемые команды SET в соответствующих Событиях Load или Init главной, стартовой Формы приложения. Если вы используете приватную (локальную) Сессию Данных, то все необходимые настройки должны быть выполнены в соответствующем программном Коде События BeforeOpenTables текущего объекта Среды Данных DataEnvironment. Дополнительную информацию об определении Главного файла Приложения смотрите в разделе: Компиляция (Сборка) Приложения .

Если главным файлом вашего Приложения является контейнер форм (FormSet), который содержит некоторую подсистему Меню, вы можете определить требуемые настроечные параметры, команды типа SET в соответствующих дополнительных Опциях данного Меню: Menu Setup Option. Дополнительную информацию смотрите в Разделах: Как: Добавить стартовые параметры в подсистему Меню или Разработка подсистем Меню и инструментария Toolbar .

Note Совет

Достаточно эффективным способом определения необходимых стартовых параметров с помощью команд SET является создание специальной, отдельной процедуры, содержащей все необходимые вам настройки (как бы: Все самое необходимое - в одном Месте). Указанную процедуру вы можете запускать из соответствующей Точки вашего Главного файла Приложения. Размещение всех настроечных команд SET в одном программном модуле позволяет достаточно просто регулировать отдельные параметры, отлаживать ваше Приложение. Рассматриваемый набор стартовых параметров Приложения может быть также размещен в некотором Методе создаваемого Объекта на базе Класса Application, или объекта на базе класса Form.

Использование Файла Конфигурации

Вместе с использованием стартовых параметров Среды Системы Visual FoxPro Environment, которые определяются в диалоговом боксе Options, или прямом выполнении соответствующих команд SET, вы можете также выполнять требуемые вам нестройки в одном или нескольких Конфигурационных Файлах. Файл конфигурации в системе Visual FoxPro представляет собой обычный Текстовый файл, содержащий требуемые Значения (опции) настроечных команд SET, прямое определение Системных Переменных, выполнение стартовых Команд или некоторых Функций. Система Visual FoxPro читает заданные Опции Конфигурационного файла, выполняет заданные настроечные параметры, переопределяет соответствующие Значения, которые определены в диалоговом боксе Options (и сохранены в системном Реестре ОС Windows).

Использование Файла Конфигурации позволяет вам получить некоторые преимущества в отличие от остальных вариантов:

  • Переопределение начальных Параметров (по-умолчанию), заданных в диалоговом боксе Options.

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

  • Позволяет вам более Просто изменять настройки Системы (изменить соответствующий файл Конфигурации), чем выполнять соответствующие командв типа SET.

  • Автоматически Запускать на выполнение требуемые Программные Модули или Функции при запуске системы Visual FoxPro или вашего пользовательского Приложения.

Дополнительные инструкции по работе с Файлами Конфигурации симотрите в разделах: Как: Создать Файл Конфигурации или Как: Определить (установить) Файл Конфигурации.

См. также

Задачи

Как: Использовать параметры командной строки при Запуске системы Visual FoxPro
Как: Добавить стартовые параметры в Подсистему Меню

Описание

_STARTUP, системная переменная

Другие ссылки

Компиляция Приложения
Разработка подсистемы Меню и инструментария Toolbar
Определение Среды системы Visual FoxPro (Environment)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Specify the Configuration File

Visual FoxPro 9.0
Как: указать конфигурационный файл
Смотрите также

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

Когда Visual FoxPro конфигурационный файл, установки в этом файле имеют преимущество над соответствующими установками, сделанныыми в диалоговом блоке Options.

Для указания конфигурационного файла

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

    -или-

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

Если вы желаете избежать использования любого конфигурационного файла, включая используемого по умолчанию Config.fpw, вы можете подавить использование всех конфигурационных файлов. Следствием этого будет использование Visual FoxPro только установок по умолчанию, определенных в диалоговом блоке Options.

Для подавления использования конфигурационного файла

  • В командной строке, которая запускает Visual FoxPro, введите ключ -C и не указывайте для него никаких аргументов.

    Например, для избежания использования любого конфигурационного файла, расположенного в каталоге запуска и в системном пути, используйте командную строку, приведенную ниже:

    CopyCode image Скопировать код
                  VFPVersionNumber.exe -C

Указание внешенго конфигурационного файла

Вы можете использовать внеший конфигурационный файл в дополнение ко внутреннему конфигурационному файлу при обстоятельствах, когда вам необходимо сконфигурировать установки отдельно. Например, установка SCREEN=OFF должна быть произведена во внешнем конфигурационном файле.

Вы можете заставить Visual FoxPro прочитать внешний конфигурационный файл следом за внутренним, используя новую директиву ALLOWEXTERNAL во внутреннем конфигурационном файле. Когда вы включаете установку ALLOWEXTERNAL=ON во внутреннем конфигурационном файле, Visual FoxPro ищет внешний конфигурационный файл, обычно имеющий имя Config.fpw, и читает его установки. Вы можете, кроме того, указать любой другой файл, используя ключ -C командной строки, используемой для запуска Visual FoxPro.

Замечание Замечание

Для .exe и .dll серверов, Visual FoxPro поддерживает только те конфигурационные файлы, которые связаны внутри сервера. Поэтому Visual FoxPro сбрасывает установку ALLOWEXTERNAL.

Для чтения внешнего конфигурационного файла, после внутреннего

  1. Во внетреннем конфигурационной файле, установите специальную директиву ALLOWEXTERNAL в "on".

    CopyCode image Скопировать код
                      ALLOWEXTERNAL = ON

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

Для получения более подробной информации о ключах командной строки, смотрите Как: использовать опции командной строки при запуске Visual FoxPro .

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

Если вы желате указать ваш конфигурационный файл, как файл "только для чтения", поместите его в проект и пометьте его, как Included. Если вы желаете, что файл был редактируемым, поместите его в проект и пометьте его, как Excluded. Вы можете затем распространять файл отдельно с вашим приложением или исполнимым файлом. По соглашению, расширением для конфигурационного файла служит ".fpw".

Смотрите также

Задачи

Как: использовать опции командной строки при запуске Visual FoxPro
Как: добавить процедурный код в секцию Setup в системе меню

Справочное руководство

Системная переменная _STARTUP

Концепции

Установка конфигурационный опций при запуске

Прочие ресурсы

Компиляция приложения
Разработка меню и панелей инструментов
Установка окружения Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Create a Configuration File

Visual FoxPro 9.0
Как: создать конфигураицонный файл
Смотрите также

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

Если вы создаете новый конфигурационный файл, вы можете сохранить его по любым именем, которое вы желаете использовать. По соглашению, конфигурационный файл имеет расширение .fpw.

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

  • Текущий рабочий каталог
  • Каталог, в котором установлен Visual FoxPro
  • Каталоги, перечисленные в DOS-пути

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

Note Замечание

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

Введите установки конфигурации, используя один из перечисленных ниже методов:

  • Назначьте установки в помощью команд SET.
  • Установите системные переменные.
  • Вызовите программы или функции.
  • специальные термины, используемые только в конфигурационных файлах.

Для ввода команд SET в конфигурационный файл

  • Введите команды SET без ключевого слова SET и используйте знак равенства.

    Например, для установки путиЮ который будет использоваться по умочанию, используйте приведенный ниже формат:

    CopyCode image Скопировать код
    DEFAULT = HOME()+"\VFP"

    Для вывода часов в статусную полоску используйте приведеннцю ниже команду:

    CopyCode image Скопировать код
    CLOCK = ON

Для ввода установок для системный переменных, используйте тот же самый синтаксис, который вы используете в командном окне

Для установки системных переменных в конфигурационном файле

  • Введите имя системной переменной, знак равенства (=), и значение, которое вы желаете присвоить переменной.

    Например, приведенная ниже команда указывает альтернативную программу контроля синтаксиса:

    CopyCode image Скопировать код
    _SPELLCHK = "SPLLCHK.EXE"

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

Для вызова функий или исполнения команд в конфигурационном файле

  • Введите ключевое слово COMMAND, знак равенства (=), и имя команду,которую вы желаете исполнить или имя функции, для ее вызова.

    Например, для того, чтобы включить номер версии в заголовок главного окна Visual FoxPro используйте приведенную ниже команду:

    CopyCode image Скопировать код
    COMMAND =_SCREEN.Caption="Visual FoxPro " + VERS(4)

    Приведенная ниже команда запустит конкретное приложени, когда будет стартовать Visual FoxPro:

    CopyCode image Скопировать код
    COMMAND = DO MYAPP.APP

Кроме того, вы можете использовать в конфигурационном файле специальные термины которые не соответствуют ни значениям SET, ни системным переменным или командам.

Для использования в конфигурационном файле специальных терминов

  • Введите специальный термин, знак равенства (=), и установку.

    Например, для установки максимального числа переменных, доступных Visual FoxPro, используйте приведенную ниже команду:

    CopyCode image Скопировать код
    MVCOUNT = 2048

Для изучения полного списка специальных терминов, используемых только в конфигурационных файлах, посмотрите описание Специальные термины для конфигурационных файлов .

Запуск приложений или программ автоматически

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

Для запуска приложений из конфигурационного файла

  1. Присвойте имя вашего приложения для системной переменной _STARTUP в любом месте конфигурационного файла:

    CopyCode image Скопировать код
    _STARTUP = MYAPP.APP

    - или -

  2. Используйте команду COMMAND, которая в таком случае должна быть на последней строке вашего конфигурационного файла:

    CopyCode image Скопировать код
    COMMAND = DO MYAPP.APP

Смотрите также

Задачи

Как: использовать опции командной линии при запуске Visual FoxPro
Как: добавить код в секцию Setup в системе меню

Справочное руководство

Системная переменная _STARTUP

Концепции

Установка конфигурационных опций при запуске

Прочие ресурсы

Компиляция приложения
Разработка меню и панелей инструментов (Toolbars)
Установки окружения Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Special Terms for Configuration Files

Visual FoxPro 9.0
Специальные термины для конфигурационных файлов
Смотрите также
CollapseAll image

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

Expand image Примечания

Термин и синтаксис Описание

ALLOWEXTERNAL ON | OFF

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

По умолчанию: OFF

BITMAP ON | OFF

Определяет - будет ли Visual FoxPro сначала записывать обновления экрана или формы в off-screen bitmap, а затем производить bit block transfer (bitblt) - преобразование прямоуголного блока пикселей - на экран. BITMAP = OFF может повысить производительность, когда к приложению обращаются клиенты использующие Windows Terminal Server.

По умолчанию: ON

CODEPAGE = nValue | AUTO

Определяет число, указывающее кодовую страницу для файлов. Установка CODEPAGE в AUTO выбирает текущую кодовую страницу операционной системы.

Возможные значения для этого параметра вы можете посмотреть в описании Кодовые страницы поддерживаемые Visual FoxPro.

COMMAND = cVisualFoxProCommand

Определяет команду Visual FoxPro, которая исполняется при его запуске. cVisualFoxProCommand указывает имя команды, которая должна быть исполнена.

EDITWORK path

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

По умолчанию: Зависит от операционной системы. Для получения более подробной информации смотрите Оптимизация рабочей среды.

INDEX extension

Определяет расширение файла для индексных файлов Visual FoxPro.

По умолчанию: .idx

LABEL extension

Определяет расширение файла для файлов определения этикетки Visual FoxPro.

По умолчанию: .lbx

_MENUDESIGNER = cProgramName

Определяет внешнее приложение для конструирования меню.

По умолчанию: пустая строка "".

MVCOUNT

Устанавливает максимальное число переменных, которые может обслуживать Visual FoxPro. Это значение должно находиться в диапазоне от 128 до 65,000.

По умолчанию: 16,384

OUTSHOW = ON | OFF

Запрещает возможность скрытия всех окон, размещенных перед текущим окном вывода с помощью клавишного сцепления SHIFT+CTRL+ALT.

По умолчанию: ON

PROGCACHE = nMemoryPages

Определяет количество памяти (адресное пространство) в страницах, которое Visual FoxPro распределяет при запуске или которое Visual FoxPro сервер MTDLL COM Server назначает на поток для внешнего программного кэша (памяти, используемой для исполнения программ). Каждая страница памяти равна 64K, поэтому установка по умолчанию равна размещению размером чуть более 9MB. После заполнения кэша, Visual FoxPro будет пытаться очистить его, удаляя неиспользуемые элементы. Вполне возможно, что Visual FoxPro не сможет освободить достаточное количество памяти; в таком случае генерируется ошибка с номером 1202 (Программа слишком большая). Установка термина PROGCACHE может предотвратить появление этой ошибки.

Note Замечание

Хотя эта установка может быть использована для разработки Visual FoxPro продукта или нормального (runtime) приложения, она главным образом предназначена для MTDLL COM серверов, где для одного сервера часто создается множество потоков. В Visual FoxPro 9.0, значением по умолчанию для MTDLL COM серверов является -2.

Когда значение nMemoryPages больше нуля, Visual FoxPro назначает фиксированный программный кэш. Вы можете указать значение между 1 и 65000.

Если вы для nMemoryPages укажите в качестве значения 0, то не будет использоваться программный кэш. Вместо этого, Visual FoxPro использует динамическое размещение, основанное на определениях, сделанных операционной системой.

Если для nMemoryPages вы укажите значение меньше 0, Visual FoxPro будет использовать динамическое размещение, ограниченное указанной памятью (nMemoryPages * 64K). Когда будет достигнут предел размещения, Visual FoxPro будет очищать размещенные программы для высвобождения памяти.

Вы можете вызвать SYS(3065) для текущей установки PROGCACHE. Команда CLEAR PROGRAM будет вытаться очистить нессылаемый код вне зависимости от этой установки.

Note Замечание

Visual FoxPro OLE DB Provider игнорирует эту установку, так как он использует динамическое размещение памяти (PROGCACHE=0).

По умолчанию: 144 (-2 для MTDLL)

PROGWORK path

Определяет - где Visual FoxPro будет хранить файл программного кэша.

Для большей производительности, особенно в многопользовательской среде, укажите самый быстрый диск в системе, такой как локальный диск или память, если ее достаточно. Предостатьве для кэша по крайней мере 256K, хотя файл может вырасти и до большего размера.

По умолчанию: Зависит от операционной системы. Для получения более подробной информации смотрите Оптимизация рабочей среды.

REPORT extension

Определяет расширение файла для файлов определения отчета Visual FoxPro.

По умолчанию: .frx

RESOURCE path[\file] | OFF

Указывает местонахождение файла ресурса FoxUser.dbf или запрещает Visual FoxPro использовать файл ресурса. Аргумент file является необязательным. Если file пропущен, Visual FoxPro будет искать FoxUser.dbf. Если указанный файл не существует, то он будет создан.

По умолчанию: Начальный каталог в качестве path и FoxUser.dbf в качестве file.

SCREEN = ON | OFF

Определяет - будет ли появляться главное окно Visual FoxPro при запуске Visual FoxPro.

Когда приложение состоит из одной или более top-level форм, которые отображаются на рабочем столе Windows, установка SCREEN в OFF может быть полезной, так как в этом случае главное окно Visual FoxPro не нужно. Для получения дальнейшей информации о top-level формах смотрите Управление поведением формы.

По умолчанию: ON

SORTWORK path

Определяет - где будут хранить свои рабочие файлы такие команды, как SORT и INDEX.

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

По умолчанию: Зависит от операционной системы. Для получения более подробной информации смотрите Оптимизация рабочей среды.

STACKSIZE = nValue

Определяет число уровней вложений - от 32 до 64,000 для таких команд, как DO.

Note Замечание

Вы можете изменить уровень вложенности только во время запуска Visual FoxPro.

По умолчанию: 128

TEDIT [/N] editor

Определяет имя текстового редактора, используемого для редактирования программных файлов, вызываемого с помощью команд MODIFY COMMAND или MODIFY FILE.

Включите необязательный параметр /N с TEDIT для указания текстового редактора Windows.

По умолчанию: встроенный редактор Visual FoxPro

TITLE title

Определяет заголовок, который появляется в полоске титула главного окна Visual FoxPro.

По умолчанию: "Microsoft Visual FoxPro"

TMPFILES path

Определяет, где будут храниться временные рабочие файлы, определяемые для конфигурационных установок EDITWORK, SORTWORK и PROGWORK, если эти установки не были определены.

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

По умолчанию: Зависит от операционной системы. Для получения более подробной информации смотрите Оптимизация рабочей среды.

Expand image Смотрите также

Справочное руководство

Обзор команд SET

Концепции

Установка параметров конфигурации при запуске

Прочие ресурсы

Оптимизация приложений
Установки среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Use Command-Line Options When Starting Visual FoxPro

Visual FoxPro 9.0
Как: использовать опции командной строки при запуске Visual FoxPro
Смотрите также

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

Для использования ключей командной строки

  • В командной строке или в ярлыке введите ключ после имени исполнимого файла Visual FoxPro, VFPVersionNumber.exe, гдеe VersionNumber представляет собой собой номер используемого вами релиза или любого созданного Visual FoxPro .exe файла.

    Замечание Замечание

    Если ключ командной строки требует аргументов, таких как имя файла, не допускайте пробела между ключом и аргументом. Например, для указания конфигурационного файла, используйте команду подобной приведенной ниже:

    CopyCode image Copy Code
    C:\Program Files\Microsoft Visual FoxPro VersionNumber\VFPVersionNumber.exe -CC:\MYAPP.FPW

    Разделяйте множество опций единичными пробелами.

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

Ключ Описание

-A

Игнорировать конфигурационный файл, используемый по умолчанию и установки регистра Windows.

-BFileName,Duration

Отобразить пользовательский графический файл (.bmp), .gif или .jpg и указать время его отображения в миллисекундах при старте Visual FoxPro. Вы можете, кроме того, включить ключ командной строки -B в ярлык Visual FoxPro.

Замечание Замечание

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

-CFileName

Указать отличающийся от используемого по умолчанию (Config.fpw), конфигурационный файл, включив, при необходимости, путь в имя файла.

-LFileName

Указать файл ресурса, включив, при необходимости, в его имя путь, если используется отличающийся от используемого по умолчанию, vfp*ENU.dll, так чтобы вы могли использовать Visual FoxPro в языке, отличающемся от текущего языка, используемого операционной системой Windows.

-R

В ранних версиях обновите регистр Windows информацией о Visual FoxPro, такой, как ассоциации для файлов Visual FoxPro. В поздних версиях используйте use /regserver.

-T

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

/?

Показать все доустпные аргументы командной строки. Доступно, начиная с версии Visual FoxPro 7.0.

/regserver

Зарегистрировать используемые по умолчанию ключи Visual FoxPro в регистре.

REGSVR32 server.dll

Зарегистрировать компонент .dll.

/unregserver

Удалить из регистра ключи Visual FoxPro, используемые по умолчанию.

/u server.dll

Удалить компонент .dll.

Смотрите также

Задачи

Как: сконфигурировать панели инструментов Visual FoxPro

Концепции

Установка конфигурационных опций при запуске

Прочие ресурсы

Установки окружения Visual FoxPro
Настройка окружения Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Configure Visual FoxPro Toolbars

Visual FoxPro 9.0
How to: Configure Visual FoxPro Toolbars (Настройка Toolbar-ов)
См.также

Visual FoxPro включает следующие настраиваемые toolbar-ы.

Средство | Соответствующий Toolbars | Команда
Database Designer | Database | CREATE DATABASE
Form Designer | Form Controls Form Designer Color Palette Layout | CREATE FORM
Print Preview | Print Preview |
Query Designer | Query Designer | CREATE QUERY
Report Designer | Report Controls Report Designer Color Palette Layout | CREATE REPORT

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

Размещение Toolbar-а

  • Перетащите toolbar на верх, низ, или сторону вашего экрана

    -или-

  • Используйте команду DOCK для размещения toolbar-а.

Aктивация и Деактивация Toolbar-ов

По умолчанию, только Standard-toolbar активен. Когда Вы используете средство разработчика FoxPro (например, Разработчик Формы), разработчик отображает необходимый toolbar так, как Вам обычно нужно при работе с этим средством разработчика. Тем не менее, Вы можете активизировать toolbar всякий раз, когда Вам это требуется.

Для активации необходимого toolbar

  • Запустите соответствующее средство.

    –или–

Для деактивации toolbar

  • Закройте соответствующее средство.

    –или–

Вы можете также программным способом активировать / деактивировать toolbar-ы при помощи следующих команд DEACTIVATE WINDOW или ACTIVATE WINDOW , как в примере.

Копировать код
IF WVISIBLE ("Color Palette")
DEACTIVATE WINDOW("Color Palette")
ENDIF

Настройка существующих Toolbar-ов

В простейшем случае Вы можете использовать внутренние ToolBar. Вы можете:

  • Модифицировать существующие toolbar, добавить или удалить кнопки.

  • Создать новый toolbar из существующих кнопок других toolbar-ов.

Вы можете также определить пользовательский toolbar путем создания класса или программно. Для дополнительной информации см. Разработка Меню и Toolbar-ов.

Вы можете настроить существующие toolbar-ы в Visual FoxPro. Например, удалить кнопку из представленного toolbar-а, или скопировать кнопку из одного toolbar-а в другой.

Для настройки существующих в Visual FoxPro toolbar-ов

  1. Из меню View выберите Toolbars.

  2. Найдите интересующий Вас toolbar и нажмите Customize.

  3. Удалите кнопку из toolbar-а перетащив ее за его границы.

  4. Для добавления кнопки в toolbar выберите соответствующую категорию в Customize Toolbar и перетащите соответствующую кнопку из другого toolbar-а.

  5. Для завершения настройки нажмите кнопку Close в диалоговом боксе Customize Toolbar.

    Примечание:
    Если Вы изменили стандартные настройки toolbar Visual FoxPro, Вы можете восстановить начальную конфигурацию toolbar. Для этого в Toolbar dialog box нажмите кнопку Reset.

Вы можете создать ваши собственные toolbar-ы, состоящие из кнопок других toolbar-ов.

Для создания Ваших собственных Toolbar-ов

  1. Из Меню View выберите Toolbars.

  2. Нажмите New.

  3. В диалоговом боксе New Toolbar определите имя нового toolbar-а.

  4. Разместите кнопки в toolbar-е используя диалоговый бокс Customize Toolbar и перемещая соответствующие кнопки из других toolbar-ов.

  5. Вы можете перестроить кнопки в toolbar-е перетаскивая их в желаемую позицию.

  6. Для завершения настройки нажмите кнопку Close в диалоговом боксе Customize Toolbar, и закройте окно.

    Примечание:
    Вы не можете очистить кнопки в Toolbar-е, который создаете.

Для удаления toolbar-а, созданного Вами

  1. Из меню View, выбираем Toolbars.

  2. Находим toolbar, который нужно ужалить.

  3. Нажимаем Delete.

  4. Нажимаем OK для подтверждения удаления

    Примечание:
    Вы не можете удалить toolbar-ы, созданные системой Visual FoxPro.

См.также

Другие ссылки

Настройка среды Visual FoxPro
How to: Использование опций командной строки при старте Visual FoxPro
How to: Установка опций Редактора
Настройка среды Visual FoxPro
Разработка Меню и ToolBar-ов

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Dock Windows

Visual FoxPro 9.0
Как: Закреплять Окна
См. также

Вы можете закреплять определенные окна интегрированной среды разработки Visual FoxPro (Integrated Development Environment (IDE)) в главном окне системы Visual FoxPro; а также другие окна или пользовательские формы. Следующие окна могут быть закреплены:

  • Call Stack

  • Command

  • Data Session (View)

  • Debugger

  • Document View

  • Locals

  • Output

  • Properties

  • Trace

  • Watch

Note Примечание

Исторически, в ранних версиях систнмы Visual FoxPro, окно Data Session всегда могло быть переопределено как окно View. Дополнительно, для управления окнами, имеются следующие команды HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), которые также действуют как и через окно View.

Когда Вы перетаскиваете закрепляемое окно относительно главного окна системы Visual FoxPro, окно размещается относительно прикрепляемой границы главного экрана. Состояние и размещение закрепляемых окон действует в течение последней пользовательской сессии (сеанса работы в IDE).

Для закрепления окон программным способом, а также проверки состояния окон используются команда DOCK и функция ADOCKSTATE( ) .

Можно также изменять статус "закрепляемости" окон.

Для включения или отключения статуса "закрепляемости" (dockable) окон

  1. Выполните "Right-click" на заголовке открытого окна.

  2. Выберите Dockable - для включения или отключения статуса "закрепляемости" окна. Проверьте отметку данного свойства для выбранного окна.

    -или-

  3. Активируйте необходимое Вам окно.

  4. В меню Window, выберите пункт Dockable для включения или отключения статуса "закрепляемости" данного окна. Проверьте отметку данного статуса выбранного окна.

Для дополнительной информации о программном управлении статусом "закрепляемочти" окна См. раздел функция WDOCKABLE( ).

Режимыт Docking ("закрепления")

Можно закреплять окна в следующих режимах:

  • нормальное закрепление

    Окно закрепляется относительно главного окна системы Visual FoxPro.

  • "Linked docking" (связанное закрепление)

    Окна закрепляются к другим окнам, которые также являются закрепляемыми.

  • "Tabbed docking"

    Windows dock to each other and share the full window through the use of tabs.

Можно одновременно использовать режимы "tabbed docking" и "linked docking".

Для создания режима "normal docking"

  1. Измените статус закрепления (Dockable) выбранного окна, как описано выше.

  2. Переместите выбранное окно (за его заголовок) относительно главного окна системы Visual FoxPro.

Для создания режима "linked docking"

  1. Измените статус закрепления (Dockable) выбранного окна, как описано выше.

  2. Переместите выбранное окно относительно границы другого окна, прикрепите к другому окну.

Зона закрепления окна показывается в момент перетаскивания выбранного окна. Система Visual FoxPro создает дополнительный заголовок для окон с режимом "link-docked".

Для создания режима "tabbed docking"

  1. Измените статус закрепления (Dockable) выбранного окна, как описано выше.

  2. Переместите заголовок выбранного окна относительно заголовка "базового" окна (к которому выполняется прикрепление).

Система Visual FoxPro добавляет кнопку связывания для закрепляемого окна.

Для открепления окон

  • Для открепления окон с режимом "normal-docked", переместите окно в нужную позицию, куда Вам требуется.

    -или-

  • Для открепления окон с режимом "link-docked", переместите окно в нужную позицию, куда Вам требуется.

    -или-

  • Для открепления окон с режимом "tab-docked", переместите за "закладку" выбранное окно прочь от "базового" окна.

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

Активный Ресурсный файл FoxUser.dbf содержит текущие установки статусов закрепления системных окон, которые можно изменять, удалять, корректировать, и т.д.

Об альтернативных установках см. раздел структура ресурсного файла FoxUser.

См. также

Задачи

Как: Закреплять Формы
Как: Закреплять Toolbars

Описание

Системные окна Visual FoxPro
Окно Document View

Другие ссылки

Настройка среды окружения системы Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Set Editor Options

Visual FoxPro 9.0
Как: Определить Параметры Редактора
См. также

Вы можете настроить параметры системного окна Редактирования в Visual FoxPro, такие как: шрифт текста, отступы от левого края, синтаксическая раскраска. Вы можете значительно облегчить работу пользователя с данным окном настраивая такие параметры: специальные отступы, принципы переноса (wordwrap), автоматическое создание резервных копий (.bak), и другие возможности.

Настройка параметров Редактора осуществляется в диалоговом боксе Edit Properties, который вызывается при выборе опции Properties, в меню Edit; при этом, окно редактора должно быть открыто. См. подробную информацию в разделе Диалоговый бокс Edit Properties.

Для Отображения Диалогового бокса Edit Properties

  1. Откройте в окне Редактирования программный файл, текстовый файл, или какой-нибудь элемент управления (его метод)

  2. В меню Edit, которое становится активным, выберите опцию Properties.

    Note Совет

    Для изменения шрифта текста, вы можете вызвать диалоговый бокс Font, для этого выполните "right-click" в окне редактирования, выберите пункт Font, из появившегося, короткого меню.

О том, как открыть программу или текстовый файл, см. раздел Как: Создать Программный файл.

По-умолчанию, группа параметров редактирования соответствуют типу редактируемого файла. Например, при изменении шрифта для текста, изменяется шрифт во всем файле редактирования; при открытии другого окна редактирования, текущие настройки - сохраняются.

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

Для отказа от сохранения настроенных параметров Редактора

  • В окне Edit Properties, очистите флажек Save Preferences, и потом нажмите кнопку OK.

Для сохранения настроенных параметров Редактора, и использования их в соответствующих файлах

  • В диалоговом боксе Edit Properties, установите флажек Use These Preferences As Default, и нажмите кнопку OK.

Вы можете также настроить такие параметры редактирования как: шрифт и раскраска различных элементов языка программирования, ключевых слов языка, комментариев, прочих элементов программных модулей. См. дополнительно раздел Закладка Editor, Диалоговый бокс Options.

См. также

Задачи

Как: Изменить конфигурационные параметры в Реестре Windows
Как: Отобразить в цвете или Распечатать программный код модулей

Описание

Окно Редактирования
Закладка Editor, диалоговый бокс Options

Концепции

Восстановление параметров среды Visual FoxPro

Другие ссылки

Определение параметров среды Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Display and Print Source Code in Color

Visual FoxPro 9.0
Как: Отобразить и Напечатать Исходный программный код в Цвете
См. также

Вы можете использовать раскраску программного кода (для дополнительного контроля синтаксиса) как в Командном окне Visual FoxPro, так и в окнах Редактора программных файлов (.prg), методов, хранимых процедур, полей типа MEMO.

В следующих разделах содержится дополнительная информация о Раскраске программного кода при редактировании или печати:

  • Отображение раскраски программного кода

  • Цветная печать программного кода

Отображение раскраски программного кода

Вы можете настраивать раскраску синтаксиса программного кода для каждого редактируемого окна, однако имеется глобальная настройка раскраски синтаксиса, расположенная в закладке Editor диалогового бокса Options, меню Tools, которая действует для Командного окна и других окон редактирования программного кода. См. дополнительно Закладка Editor, Диалоговый бокс Options или Окно Редактирования.

Note Примечание

Для раскраски программного кода в приложениях, выполняемых в режиме run-time, Visual FoxPro должен быть настроен для отображения цветного синтаксиса. В режиме Run-time приложение использует только встроенные настройки для данного приложения, которое не использует настройки, сохранненные в Реестре Windows, которые настраиваются с помощью диалогового бокса Options .

Когда раскраска синтаксиса включена, система Visual FoxPro выполняет "фоновую" компиляцию каждой строки введенного текста. Если обнаруживается ошибка синтаксиса в программном коде, система Visual FoxPro отображает данную строку в соответствующем цвете.

Для раскраски синтаксива программного кода в окне редактирования

  1. Откройте окно редактирования.

  2. В меню Edit, выберите опцию Properties.

  3. В диалоговом боксе Edit Properties, выберите раздел Syntax coloring, выполните отметку.

  4. Нажмите OK.

Раскраска синтаксиса активируется для текущего окна редактирования. См. дополнительно Диалоговый бокс Edit Properties.

Вы можете также отобразить раскрашенный программный код при помощи команды TYPE. См. дополнительно Команда TYPE.

Для настройки раскраски синтаксиса программного кода

  1. В меню Tools, выберите пункт Options.

  2. В диалоговом боксе Options, выберите закладку Editor.

  3. В разделе Syntax color settings, выберите необходимые настройки раскраски.

  4. Если все сделано, нажмите OK.

Выполненные настройки раскраски синтаксиса вступают в силу.

Для индивидуальных настроек раскраски синтаксиса

  1. Включите активность раскраски синтаксиса для окна редактирования.

  2. В меню Tools, выберите пункт Options.

  3. В диалоговом боксе Options, выберите закладку Editor.

  4. В разделе Background Compile, выберите нужный стиль настройуки.

Индивидуальные настройки раскраски синтаксиса вступают в силу.

Цветная печать программного кода

Для дополнительного контроля синтаксиса Вы можете использовать цветную печать программного кода, это касается как программных файлов, так и методов, хранимых процедур, полей типа MEMO.

Note Примечание

Для цветной печати программного кода Ван нужно подсоединиться к цветному принтеру, настроить опции печати, дополнительные цвета и так далее..., ссылки hyperlinks - подчеркиваются.

Для цветной печати программного кода

  1. Откройте программный файл.

  2. В меню File, выберите Print.

  3. В диалоговом боксе Print, выберите Ваш цветной принтер, и нажмите настройку Preferences.

  4. Выберите опции цветной печати вашего принтера.

  5. Если все готово, нажмите кнопку Print.

Для распечатки на цветном принтере программного кода можно использовать команду TYPE, с указанием опции TO PRINTER.

См. дополнительно разделы Диалоговый бокс Print (Visual FoxPro) или Команда TYPE.

См. также

Задачи

Как: Установить параметры Редактора
Как: Просмотреть и Изменить настройкм среды окружения

Другие ссылки

Настройка среды окружения Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Имитация нажатия клавиши - Макросы

Visual FoxPro 9.0
Имитация нажатия клавиши - Макросы

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

Note Замечание

Чтобы применять макрос, клавиатура, которую Вы используете, должена иметь функциональные клавиши от F1 до F9, и клавишу CTRL или клавишу ALT.

В этом разделе

Как очистить макро-определения

Содержит сведения о том, как использовать диалоговое окно Macros, чтобы очистить ключевые макро-определения.

Как создать, сохранить и восстановить макро-определения

Описывает, как Вы можете создавать макро-определения через диалоговое окно Macros.

Как изменить макрос (Visual FoxPro)

Объясняет, как диалоговое окно Macros позволяет редактировать существующий макрос.

Как записать макрос (Visual FoxPro)

Описывает действия, чтобы записать последовательность нажатия клавиши в макрос Visual FoxPro.

Как задать набор макросов по умолчанию

Объясняет, как Вы можете создавать и устанавливать ваш собственный заданный по умолчанию набор макросов в Visual FoxPro.

Связанные разделы

Настройка среды Visual FoxPro

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

Оптимизация Вашей системы

Предоставляет информацию об оптимизации вашей среды.

Инструментальные средства продуктивной разработки

Обсуждаются различные доступные инструментальные средства, призванные сделать создание приложения Visual FoxPro более легким и быстрым.

Чтобы сделать предложение или сообщить об ошибке (дефекте) этой справки или других неприятных особенностях этой программы, посетите feedback site.
© Microsoft Corporation. All rights reserved.


How to: Clear Macro Definitions

Visual FoxPro 9.0
Как: Очистить определения макро (Macro)
См. также

Очистить определения клавиатурных Макро Вы можете при помощи Диалогового бокса Macros.

Для очистки определения Макро

  1. В диалоговом боксе Macros, выберите нужный (-ое) Макро в списке Individual Macro.

  2. Нажмите Clear.

См. также

Описание

Диалоговый бокс Macros

Другие ссылки

Задачи автоматизации с использованием клавиатурных Макро

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Create, Save, and Restore Macro Sets

Visual FoxPro 9.0
Как: Создавать, сохранять и восстанавливать макроопределения (Macro)
См. также

Соответствующие МакроОпределения для выполнения некоторых действий сохраняются в файлах с расширением .FKY. Создать Макроопределение можно с помощью системного средства Диалоговый бокс Macros.

Для Создания Макро

  1. В соответствующем диалоговом боксе Macros, определите некоторую комбинацию клавиш.

  2. Выберите Save.

  3. В боксе Save Current Macros To, введите имя нужного Макроса, нажмите кнопку Save.

Для Восстановления (Активации) Макроса

  1. Из Диалогового бокса Macros, выберите кнопку Restore (восстановить).

  2. Выберите нужный файл Макроса, нажмите кнопку OK.

См. также

Описание

CLEAR, команда
Диалоговый Бокс Macros
RESTORE MACROS, команда
SAVE MACROS, команда

Другие ссылки

Автоматизация выполнения некоторых задач с помощью Макро

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Edit Macros (Visual FoxPro)

Visual FoxPro 9.0
Как: Изменить определение Макро (Visual FoxPro)
См. также

С помощью Диалогового бокса Macros Вы можете изменить определение существующих клавиатурных Макро.

Для изменения Макро

  1. В диалоговом боксе Macros, в списке имеющихся макро Individual Macro выберите нужный, и нажмите Edit.

  2. Отредактируйте содержание Макро.

  3. Нажмите OK.

См. также

Описание

Команды CLEAR
Диалоговый бокс Macros
Команда SET FUNCTION

Другие ссылки

Задачи автоматизации с использованием клавиатурных Макро

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Record Macros (Visual FoxPro)

Visual FoxPro 9.0
Как: Записать Макрос (Visual FoxPro)
См. также

С помощью Диалогового бокса Macros вы можете записать макрос - последовательное нажатие нескольких клавиш.

Для записи макроса

  1. В системном меню Tools, выберите опцию Macros.

  2. В диалоговом боксе Macros, нажмите Record (запись).

  3. Нажимайте необходимые клавиши или введите необходимые комбинации клавиш.

  4. Введите имя создаваемого макросв и нажмите кнопку OK.

Система Visual FoxPro начинает записывать последовательное нажатие клавиш.

Note Обратите внимание

Имя макроса не должно содержать пробелов.

Для завершения записи Макроса

  1. В системном меню Tools, выберите опцию Macros.

  2. В появившемся Диалоговом боксе Stop Recording Macro, выполните одно из следующего:

    • Для сохранения макроса , нажмите кнопку OK.

    • Для продолжения записи макро, нажмите Continue (продолжить).

    • Для отмены записи макро, нажмите Discard (прервать).

    • Для вставки символьного выражения (некоторых символов взамен уже введенных в макро), нажмите Insert Literal.

    • Для вставки паузы, ваберите Seconds, определите необходимый интервал времени, нажмите кнопку Insert Pause.

См. также

Описание

Диалоговый бокс Macros
ON KEY LABEL, команда
SET FUNCTION, команда
Диалоговый бокс Stop Recording Macro

Другие ссылки

Автоматизация нажатия комбинаций клавиш с помощью Макросов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Set a Default Macro Set

Visual FoxPro 9.0
Как: Установить макро (по-умолчанию)
См. также

Для выполнения "начального", клавиатурного макро при запуске системы Visual FoxPros Вам нужно использовать Диалоговый бокс Macros.

Для определения Макро "по-умолчанию"

  1. В диалоговом боксе Macros, создайте или загрузите определение клавиатурного макро.

  2. Выберите Set Default.

См. также

Описание

Диалоговый бокс Macros
Команда RESTORE MACROS

Другие ссылки

Задачи автоматизации при использовании клавиатурных макро (Macros)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Restoring the Visual FoxPro Interactive Environment

Visual FoxPro 9.0
Восстановление интерактивной среды Visual FoxPro
Смотрите также

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

CopyCode image Скопировать код
CLEAR ALL
CLOSE ALL
CLEAR PROGRAM

CLEAR ALL удаляет из памяти все объекты, которые в свою очередь закрывают все частные сессии данных и курсоры.

CLOSE ALL, после того, как CLEAR ALL завершится должным образом, закроет все базы данных, таблицы и курсоры в сессии данных с номером 1, которая является сессией данных Visual FoxPro по умолчанию.

CLEAR PROGRAM очистит буфер компилированных програм, которые были исполнены последними. CLEAR PROGRAM вынуждает Visual FoxPro читать программы с диска, а не из программного буфера.

Очистка во время транзакции Если транзакция еще не завершилась, используйте END TRANSACTION Command для каждого уровня транзакции до выдачи команд CLEAR ALL, CLOSE ALL и CLEAR PROGRAM.

Очистка во время буфрированных обновлений Если обновления еще не завершились, используйте либо функцию TABLEUPDATE(), либо функцию TABLEREVERT() для каждого курсора с буферированными обновлениями до выдачи команд CLEAR ALL, CLOSE ALL и CLEAR PROGRAM.

Смотрите также

Задачи

Как: установить опции редактора
Как: работать с командным окном

Справочное руководство

Команды CLEAR
Команды CLOSE
Команда END TRANSACTION
Функция TABLEUPDATE()
Функция TABLEREVERT()
Командное окно (Visual FoxPro)

Прочие ресурсы

Установки среды Visual FoxPro
Настройка среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Accessibility for People with Disabilities (Visual FoxPro)

Visual FoxPro 9.0
Доступность для людей с ограниченными физическими возможностями (Visual FoxPro)

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

Note Замечание

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

Для получения информации о технической поддержке для слабослышащих людей смотрите описание Microsoft Visual FoxPro Technical Support.

Вы можете получить и изучить возможности доступности в продуктах Microsoft и его сервисах, посетив Web сайт по адресу http://www.microsoft.com/enable/.

В этом разделе

Настройка Microsoft Windows для доступности

Предоставляется информация о настройке среды Microsoft Windows, которая позволит сделать ваш компьютер более доступным в обращении.

Как: настроить Visual FoxPro для доступности

Предоставляется информация о настройке Visual FoxPro для обеспечения большей доступности в обращении.

Утилиты и ресурсы для расширения доступности

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

Документация Microsoft в альтернативных форматах (Visual FoxPro)

Предоставляется информация о том, как получить альтернативные и более доступные форматы документации.

Связанные разделы

Настройка среды Visual FoxPro

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

Поддержка продукта (Visual FoxPro)

Предоставляется информация о сервисах поддержки Microsoft для Visual FoxPro и информация о правах копирования.

Как: использовать Accessibility Browser

Предоставляется информация об использовании Accessibility Browser, который сделает ваши приложения Visual FoxPro более доступными для других пользователей.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Customizing Microsoft Windows for Accessibility

Visual FoxPro 9.0
Настройка Microsoft Windows для повышения доступности (Accessibility)
Смотрите также
CollapseAll image

Имеется множество способов, с помощью которых вы можете настроить Microsoft Windows с целью сделать ваш компьютер более доступным в обращении.

  • Windows включает в себя возможности настроек, которые полезны для индивидуумов, которые имеют проблемы с печатанием на клавиатуре или использованием мыши, имеют сравнительно плохое зрение или слабо слышат. Вы можете инсталлировать эти возможности во время процесса установки или вы можете добавить их позднее с вашего инсталляционного диска Windows. Поищите слово "accessibility" в индексе справки Windows Help для получения информации об установке этих возможностей.

  • Вы можете добавить множество возможностей, которые сделают текущие версии Windows более доступные по сравнению с более ранними версиями Windows и MS-DOS с помощью Access Packs. Вы можете сгрузить эти файлы с помощью модема, а также можете заказать их на дисках от Microsoft.

  • Вы можете использовать Control Panel и прочие встроенные возможности для настройки внешнего вида и поведения Windows для соответствия моторных и визуальных возможностей индивидуума. Они вкключают в себя настройки цветов и размеров, уровня громкости и поведение мыши и клавиатуры.

  • Если у вас имеются трудности с использованием стандартной раскладки QWERTY клавиатуры, то раскладка "Dvorak" клавиатуры делает наиболее часто печатаемые символы более доступными. Вы можете выбрать одну из трех раскладок Dvorak: для двух рук, только для левой руки и только для правой руки. У вас нет необходимости приобретать какое-либо специальное оборудование для этих целей.

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

Expand image Для загрузки Access Packs, Application Notes и Alternative Keyboard Layouts через модем

Если у вас имеется модем, вы можете сгрузить эти файлы с помощью перечисленных ниже сетевых услуг:

  • Microsoft Web сайт. Посмотрите ресурсы на сайте Microsoft Windows XP Accessibility Resources по адресу http://www.microsoft.com/enable/products/windowsxp/default.aspx.

  • Microsoft FTP сервер, ftp://ftp.microsoft.com/Softlib/MSLFILES/.

  • MSN, Microsoft Network online сервис.

  • CompuServe. Напечатайте GO MSL.

  • Разлчиные форумы групп пользователей.

Expand image Для заказа Access Packs, Application Notes и Alternative Keyboard Layouts на дисках по телефону

Если у вас нет модема, вы можете заказать Access Packs, Application Notes и Alternative Layouts на дисках внутри США вызовом Microsoft Sales Information Center по телефонам (800) 426-9400 (голос) или (800) 892-5234 (TTY).

В Канаде вы можете позвонить по телефону (905) 568-3503 или (905) 568-9641 (текстовый телефон).

Expand image Смотрите также

Справочное руководство

Как: настройить Visual FoxPro для Accessibility
Утилиты и ресурсы для расширения доступности
Документаци Microsoft в альтернативных форматах (Visual FoxPro)

Прочие ресурсы

Доступность для людей с ограниченными физическими возможностями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Customize Visual FoxPro for Accessibility

Visual FoxPro 9.0
Как: настройка Visual FoxPro для удобства просмотра
Смотрите также
CollapseAll image

Если у вас есть проблемы со зрением, вы можете использовать приведенное ниже для улучшения доступности в Visual FoxPro:

Expand image Увеличение размеров кнопок полосок инструментов

Для того, чтобы использовать увеличенные кнопки полосок инструментов

  1. В меню View (Обзор) щелкните по Toolbars (Полоски инструментов).

  2. Отметьте настройку Large buttons (Большие кнопки)

Expand image Увеличение размера текста в окне редактирования кода

Для того, что увеличить размер текста в окне редактирования кода

  • В меню Format (Форматирование) щелкните по Font (Шрифт) и выберите подходящий размер шрифта.

Expand image Увеличение размера текста в отладчике (Debugger)

Для того, что увеличить в отладчике (Debugger)

  1. В меню Tools (Инструменты) щелкните по Options (Параметры).

  2. В диалоговом окне Options (Параметры) щелкните по закладке Debug (Отладка) и затем щелкните по Font (Шрифт).

  3. Выберите желаемый шрифт и его желаемый размер.

Expand image Смотрите также

Справочное руководство

Настройка Microsoft Windows для большей доступности
Утилиты и ресурсы для расширения доступности
Документация Microsoft в альтернативных форматах (Visual FoxPro)

Прочие ресурсы

Доступность для людей с ограниченными физическими возможностями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Utilities and Resources for Enhancing Accessibility

Visual FoxPro 9.0
Утилиты и ресурсы для расширения доступности
Смотрите также
CollapseAll image

Microsoft и прочие организации предоставляют продукты, услуги и ресурсы, которые упрощают использование персонального компьютера. Приведенный ниже список перечисляет различные типы доступных продутов:

  • Программы, которые расширяют или изменяют цветовую информацию на экране

  • Программы, которые описывают информацию на экране в Braille или синтезируют речь

  • Оборудование и программные утилиты, которые меняют поведение мыши и клавиатуры

  • Программы, которые позволяют людям "печатать", используя мышь или голос

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

  • Альтернативные устройства ввода, такие как единичные клавиши или устройства puff-and-sip (надеваются на голову, а мышь управляется воздухом, когда пользователь дует в трубку.

Expand image Microsoft Active Accessibility

Visual FoxPro поддерживает Microsoft Active Accessibility, которая представляет собой основанную на COM технологию, которая позволяет программам и операционной системе работать более согласованной со средствами доступности , такими как "считыватели" экрана или Microsoft Magnifier. Для получения более подробной информации о Microsoft Active Accessibility посетите сайт MSDN по адресу http://msdn.microsoft.com.

Expand image Дополните продукты и услуги Microsoft для людей с ограниченными физическими возможностями

Для получения более подробной информации обратитесь в :

Microsoft Sales Information Center One Microsoft Way Redmond, WA 98052-6393

World Wide Web: Voice telephone: Teletypewriter (TTY):

http://www.microsoft.com

(800) 426-9400 (800) 892-5234

Expand image Смотрите также

Справочное руководство

Настройска Microsoft Windows для облегчения доступа
Как: настрйоить Visual FoxPro для облегчения доступа
Документация Microsoft в альтернативных форматах (Visual FoxPro)

Прочие ресурсы

Доступность для людей с ограниченными физическими возможностями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Microsoft Documentation in Alternative Formats (Visual FoxPro)

Visual FoxPro 9.0
Документация Microsoft в альтернативных форматах (Visual FoxPro)
Смотрите также
CollapseAll image

Если вам затруднительно читать или обрабатывать печатную документацию, вы можете получить множество публикаций и документов Microsoft для продуктов Microsoft в более доступных форматах. Microsoft предоставляет ряд документов для своих продуктов в более доступных форматах. Для получения более подробной информации посетите сайт Microsoft Accessiblity http://www.microsoft.com/enable/.

Вы можете, кроме того, получить публикации Microsoft из компании Recording for the Blind & Dyslexic, Inc. Recording for the Blind & Dyslexic распространяет эти документы зарегистрированным членах их сервиса рассылки, либо на аудиокассетах или на дисках. Коллекция Recording for the Blind & Dyslexic содержит более чем 80,000 наименований, включая документацию по продуктам Microsoft и книги от Microsoft Press.

Вы можете связаться с Recording for the Blind & Dyslexic по приведенным ниже адресу и телефонным номерам с целью получения информации о возможности получения и пригодности документации по продуктам Microsoft и книг от Microsoft Press:

Recording for the Blind & Dyslexic, Inc. 20 Roszel RoadPrinceton, NJ 08540

Phone: Fax: World Wide Web:

(609) 452-0606 or (800) 221-4792 (609) 987-8116http://www.rfbd.org

Expand image Смотрите также

Справочное руководство

Настройка Microsoft Windows для более легкого доступа
Как: настроить Visual FoxPro для более легкого доступа
Утилиты и ресурсы для расширения доступа

Прочие ресурсы

Доступность для людей с ограниченными физическими возможностями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using Visual FoxPro

Visual FoxPro 9.0
Использование Visual FoxPro

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

В этом разделе

Обзор возможностей Visual FoxPro

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

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

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

Поясняется, что Visual FoxPro в полной мере обеспечивает разработчика инструментами для создания приложения.

Связанные разделы

Подготовка к работе с Visual FoxPro

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

Включает в себя список тем по общему справочнику, справочнику по языку программирования и справочнику по сообщениям об ошибках.
Примеры

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

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


Overview of Visual FoxPro Features

Visual FoxPro 9.0
Обзор функциональных возможностей Visual FoxPro

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

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

В этом разделе

Создание быстрого приложения

Обсуждается как Вы можете быстро разработать приложение с помощью таких средств Visual FoxPro как wizards-мастера, builders-построители , toolbars-панели управления и designers-конструкторы и обеспечивать их быстрое выполнение используя модели объектов и событий Visual FoxPro.

Преимущества большей мощности

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

Создание интерфейса без программирования

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

Совместная разработка приложений несколькими разработчиками

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

Взаимодействие с другими приложениями

Обеспечивает информацию о совместно используемых данных с другими приложениями, такими как Microsoft Excel и Microsoft Word, использование объектов от других приложений и управление другими приложениями используя automation.

Разработка клиент/серверных решений

Описывает как Вы можете использовать Visual FoxPro для разработки надежных приложений клиент/сервер. Это объединяет в себе высокоуровневую поддержку редактируемых представлений данных с прямым доступом к SQL серверу.

Связанные разделы

Начальные сведенья по Visual FoxPro

Обеспечивает связь с информацией об инсталляции, обновлении и настройки FoxPro, а так же доступ к последнему readme файлу.

Использование Visual FoxPro

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

Примеры и их анализ

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

Настройка окружения Visual FoxProt

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

Разработка приложений под Visual FoxPro

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

Программирование в Visual FoxPro

Описывает как можно получить доступ ко всем возможностям Visual FoxPro при создании приложения. Понимание объектно-ориентированного программирования и модель обработки событий может максимизировать производительность программирования.

Разработка производительных вспомогательных средств

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

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Rapid Application Creation

Visual FoxPro 9.0
Быстрое создание приложения
Смотрите также

Вы можете быстро разрабатывать свои приложения с помощью поставляемых с Visual FoxPro мастеров (wizards), компоновщиков (builders), полосок инструментов (toolbars) и конструкторов (designers). В дополнение к этому, с помощью объектной и событийной моделей Visual FoxPro, вы можете создавать прототипы и быстро выполнять приложения.

Получение быстрых результатов с помощью мастеров и компоновщиков

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

Если вы желаете получить быстрый результат, то воспользуйтесь мастерами. Они предоставляют пошаговые запросы для общих задач, которые вы выполняете в Visual FoxPro. Например, Мастер таблиц (Table Wizard) проведет вас через процесс создания таблицы, мастер форм ( Form Wizard) создаст форму, а мастер публикации в Web ( Web Publishing Wizard) поможет вам создать Web-страницу, которая будет осуществлять поиск в ваших таблицах.

Взгляните на то, что вы можете сделать:

  • Мнгновенная разработка приложений Используя мастер приложения ( Application Wizard), вы можете быстро создать приложение с помощью использования таблиц и форм или использовать образцовый набор компонентов приложения.

  • Создание Web-страниц для Интернет Вы можете создать Web-страницу, которая предоставит пользователям Web поиск и извлчение данных из ваших таблиц.

  • Добавление страничных фреймов в формы Если вы создадите больше полей, чем может вместить форма, вы можете добавить в нее страничный фрейм, для отображения дополнительных полей на дополнительных страницах.

  • Заполнение сводных таблиц через ODBC или OLE DB Мастер сводной таблицы ( PivotTable Wizard) использует Visual FoxPro ODBC или драйвер OLE DB.

  • Отображение Null-значений в сводных отчетах Мастер таблиц пересечения ( Cross-Tab Wizard) теперь поддерживает отображение null-значений.

  • Перемещение ваших данных на Back-End сервер Вы можете переместить базы данных Visual FoxPro, таблицы и представления из вашей система на сервер с помощью мастера переноса таблиц (SQL Server Upsizing Wizard).

Если вы нетерпеливы, используйте таблицу в описании мастеров Wizards для выбора мастера и начните создание вашего приложения или компонента.

Если вы не хотите экспериментировать с вашими собственными данными и компонентами приложения, используйте образцы, поставляемые с Visual FoxPro и размещенные в каталоге ...\Samples\Data.

Использование полосок инструментов

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

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

Быстрая компоновка элементов управления

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

Добавление элементов управления ComboBox в вашу форму Предположим, что вы желаете расширить простую, созданную вами форму с помощью добавления возможности выбора значений полей из списка, вместо того, что перемещаться через все записи с помощью кнопок навигации типа кнопок видеомагнитофона и просмотра значений в текстовом боксе. Просто замените текущий элемент управления типа textbox на combobox и, используя компоновщик установите его свойства.

Изменение существующих элементов управления с помощью компоновщика Если вы желаете изменить существующий элемент управления, вы можете выбрать его и использовать компоновщик, который поможет вам установить его свойства.

Например, компоновщик "Combo Box Builder" представляет собой диалоговое окно с закладками, которое поможет вам сконструировать combobox на форме. Элемент управления combobox даст вам тоже самое отображение значения, что и элемент управления textbox, но позволит вас выбирать из списка, наподобие элемента управления listbox. С помощью этого компоновщика, вы можете установить свойства элемента управления combobox. Когда вы будете изменять каждое свойство, элемент на форме будет изменяться, отвечая на выполняемые установки.

Выстраивание элемента управления Grid Для отображения ваших данных из небольших таблиц, схожего с рабочими листами Excel, вы можете использовать элемент управления grid. Даже если вы незнакомы со всеми его свойствами, вы можете получить все его преимущества, воспользовавшись компоновщиком. Компоновщик поможет вам выбрать поля для вашего grid, выбрать стиль и размещение, а также установить отношение между таблицами, связанными с grid. По мере того, как вы будете делать изменения, они будут отображаться на форме в Конструкторе форм (Form Designer).

Для получения более подробной информации смотрите описание Компоновщики.

Смотрите также

Концепции

Создание интерфейса пользователя без программирования

Прочие ресурсы

Обзор возможностей Visual FoxPro
Мастера (Visual FoxPro)
Настройка среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Advantages of More Power

Visual FoxPro 9.0
Преимущества за счет Большей Производительности
См. также

Visual FoxPro - это более производительный инструмент, чем его предшественники. Объектно-ориентированное программирование ускоряет разработку приложений благодаря таким возможностям, как, например, субклассирование. Событийная модель Visual FoxPro не нуждается в Foundation READ или написании программ обработки событий. Оптимизируя ваши системные установки и используя преимущества Rushmore Query Optimization, вы значительно улучшите выполнение Visual FoxPro.

Использование Возможностей Объектно-Ориентированного Программирования в Полной Мере

Используя объектную модель Visual FoxPro, вы можете применить все возможности объектно-ориентированного программирования, включая наследование, инкапсуляцию, полиморфизм и субклассирование. Более детально об этом смотрите в разделе Объектно-Ориентированное Программирование.

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

Затем вы можете многократно использовать ваш код и формы путем субклассирования классов, которые определили ранее. Например, вы можете субклассировать базовый класс Form для создания пользовательского класса, который автоматически даст всем формам вашего приложения те возможности, которые вы захотите им дать.

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

Visual FoxPro позволяет создавать классы визуально с помощью Конструктора Классов (C lass Designer), или программно с помощью Команды DEFINE CLASS. Более подробно это описано в разделе Объектно-Ориентированное Программирование.

Удобная Обработка Событий

В Visual FoxPro вы можете создать полностью событийно-управляемые приложения. Можете получить доступ ко всем стандартным событиям Windows, таким, например, как перемещение указателя мыши, которое позволяет перетаскивать объекты. Можете управлять событиями визуально, с помощью окна Properties, или программно, с помощью языка Visual FoxPro. Более подробно о событийной модели написано в разделе Понимание Событийной Модели ( Understanding the Event Model).

Незамедлительные Тестирование и Отладка

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

Тестирование в Стиле Проектирования Усовершенствованная среда разработки Visual FoxPro дает больше возможностей для тестирования ваших проектных компонент и кода. Например, если вы проектируете форму, то можете нажать кнопку Run для выполнения кода. Если же хотите что-нибудь изменить, то просто нажмите кнопку Design и сделайте ваши изменения.

Раннее Отлавливание Синтаксических Ошибок Сейчас редактор обладает возможностью цветовой расцветки кода: вы можете указать цвета для синтаксиса языка, нормального текста, переменных, комментариев и т.п. в Диалоговом Окне Edit Properties. Если Вы сделаете ошибку при наборе команды или ключевого слова, то сразу узнаете об этом по их неправильному цвету.

Удобная Отладка

D этой версии Visual FoxPro отлаживать и проверять ваши прикладные компоненты более просто, если использовать для этого Debugger Window(Окно Отладчика).

  • View Properties of an Object (Просмотр Свойств Объекта) В отладчике вы можете просматривать элементы коллекции или массива при помощи Watch Window, в котором иерархически отображаются свойства объектов.

  • Trace the Execution Process of Your Code (Отслеживание Процесса Выполнения Вашего Кода) В Trace Window вы можете увидеть процесс выполнения каждой строки кода и проверить значения всех переменных, свойств и установок окружения.

  • Control Execution with Breakpoints (Управление Выполнением с помощью Точек Останова) С помощью точек останова вы можете решить, когда остановить выполнение программы, используя при этом четыре типа точек останова. Вы можете остановиться на конкретной строке при изменении определенного значения, если условие станет истинным, или если условие для определенной строки станет истинным.

  • Set Asserts and Display Assert Messages (Установка Утверждений и Отображение Утверждающих Сообщений) Вы можете применить Команду ASSERT, чтобы определить условия проверки того, что код выполняется правильно. Если возникнет ошибка, то сообщение о ней появится в Debug Output Window.

  • Check the Current Value of a Variable (Проверка Текущего Значения Переменной) Для быстрой проверки значений нужно в Trace Window поместить курсор поверх переменной и ее значение отобразится в виде всплывающей подсказки.

  • Watch and Change Values (Слежение и Изменение Значений) В Watch Window и Locals Window можно изменять значения свойств и переменных во время выполнения кода.

  • Display Output from Message Requests (Отображение Запрашиваемых Данных) В Debug Output Window вы можете без труда отобразить запрашиваемую интерактивную или кодированную информация в окне, отделенном от активного окна или экрана.

  • Use a Coverage Log File (Использование Журнального Файла Области Наблюдения) В Debugger Window вы можете использовать эту опцию для журналирования информации о ходе выполнения вашего кода, такой, например, как длительность выполнения строки, номер строки, и т.п.

  • Use the Call Stack (Использование Стека Вызова) В Call Stack Window вы сможете увидеть путь вызова программы. Чтение Стека Вызова - один из наиболее эффективных методов при отладке.

Более подробно о тестировании и отладке смотрите в разделе Тестирование и Отладка Приложений.

Оптимизация Вашей Системы

Сейчас Visual FoxPro позволяет увеличить производительность во всех его компонентах:

  • Механизме

  • Формах/Объектах

  • OLE

  • Технологии Клиент/Сервер

  • Мастерах/Конструкторах

  • Языке

Кроме того, вы можете увеличить производительность за счет применения команд SET. Более подробно смотрите об этом в разделе Оптимизация Вашей Системы.

Оптимизация Приложений с Использованием Технологии Оптимизации Запроса Rushmore

Вы можете значительно улучшить производительность запросов с помощью технологии Rushmore. Rushmore Query Optimization - это технология быстрого выбора наборов записей из таблица. Она может уменьшить времени реакции на запрос, измеряемое в минутах и даже часах, до нескольких секунд. Более подробно об использовании технологии Rushmore, смотрите в разделе Optimizing Applications.

См. также

Ссылки

Debugger Window ( Окно Отладчика )

Понятия

Разработка Приложения Несколькими Разработчиками
Быстрое Создание Приложения

Другие Ресурсы

Обзор Характеристик Visual FoxPro
Объектно-Ориентированное Программирование

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


User Interface Creation without Programming

Visual FoxPro 9.0
Создание пользовательского интерфейса без програмирования
Смотрите также

Visual FoxPro предоставляет мощные элементы управления для отображения данных и создания интерфейса пользователя, которые вы можете использовать для ввода в формы, используя Form Designer, который позволяет вам создать интрефейс пользователя с небольшим программированием или воббще без оного. Например, вы можете легко разработать форму для отношения "один-ко многим" ("one-to-many"), связав элемент решетки (grid) с таблицей, что вы можете сделать просто перетащив таблицу на форму, для автоматического создания элемента grid. Для совместимости с другими приложениями, вы, кроме того, можете создать закладочные диалоговые блока или ваши собственные интерфейсы построителей с помощью элемента страничный фрейм (page frame).

Создание формы One-to-Many

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

One-to-many формы отображают данные из связанных таблиц .

FoxPro Form Fields

Подписи на рисунке - слева-направо и сверху-вниз:
Заголовки и поля из главной таблицы.
Поля из связанной таблицы отображаются в решетке (grid).

Постарайтесь создать форму "one-to-many" используя две связаныне таблицы, такие, как Customers и Orders из базы данных Testdata.dbc.

После четырех шагов , формы "one-to-many" готовы ...

FoxPro Form Designer FoxPro Form Design Project Manager ExclamationPointButton screenshot FoxPro
...к запуску.

FoxPro Run Button Form

Подписи на рисунке - слева-направо и сверху-вниз:
1.Найдите главную таблицу в Project Manager, а затем поля, которые вы желаете отобразить в вашей форме.
2.Перетащите поля в на форму в Form Designer.
3.Найдите связуваемую таблицу в Project Manager.
4.Перетащите всю таблицу целиком на форму в Form Designer.
5.Используйте командую кнопку Run в Project Manager для просмотра результата.

Определите таблицы и представления для вашей формы в Data Environment Вы можете использовать data environment для вашей формы или отчета для указания используемых ими таблиц или представлений. После того, как вы введете таблицы и представления, которые уже имеют записи, вы можете пожелать отобразить их в вашей форме, для чего вы можете просто перетащить поля на форму в Form Designer.

Создание решеток (Grids) выбором множества полей Вы можете выбрать несколько полей и перетащить их на форму для создания объекта решетки (grid). Если вы выбрали несколько полей и тащите их с помощью правой клавишы мыши вы можете выбрать элемент управления - либо решетка, либо какой-то еще. Вы можете, кроме того, щелкнуть на пункте Fields в таблице и перетащить его на форму, для создания решетки, которая будет включать в себя все поля таблицы. Если вы выполните щелчок по правой клавишу мыши и перетащите его на форму, вы можете создать другие объекты класса, если класс был указан в качестве дефолтного при создании таблицы.

Придание форме профессионального облика

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

Точный прижим элементов управления Используйте панель Layout toolbar для быстрого выравнивания элементов управления и расположения их в пространстве формы.

Изменение цвета фона - задника ИСпользуйте панель Color Palette toolbar.

Добавление графики и рисунков Используйте кнопки Line, Shape и Image в панели Form Controls toolbar.

Управление отображением и вводом данных в ComboBox Вы можете установить свойства Format и InputMask для элемента управления ComboBox.

Удаление бордюра на ComboBox или Spinner Вы можете использовать свойство BorderStyle для удаления бордюра из элемента управления. Например, если вы используете ComboBox или Spinner а решетке (grid), вы можете очистить отображение, удалив дополнительные линии бордюра.

Используйте текущие цвета Windows для цветов форм Вы можете установить дополнительные опции свойства ColorSource , которое позволяет установить цвета формы, на основе текущей цветовой схемы Windows.

Установка свойств элементов управления

Вы можете расширить ваш пользовательский интерфейс с помощью изменения свойств элементов управления Visual FoxPro. Используя окно Properties Window (Visual FoxPro) вы можете видеть, менять и устанавливать свойства, ассоциированные с каждым элементов управления на вашей форме, для придания форме и элементам соответствующего вида и функциональности.

Используйте Data Binding с элементами ActiveX Для привязки данных к элементам управления ActiveX вы можете использовать свойство ControlSource (разумеется, если ActiveX поддерживает это) в окне Properties, для указания поля или переменной, с которым/ой элемент должен быть связан.

Управление навигацией в страничном фрейме (Page Frame) Путем установки порядка закладок на вашем страничном фрейме, вы можете управлять порядком, в котором страницы отображаются. Это, кроме того, добавляет возможность навигации к разным страницам в страничном фрейме с помощью клавиш управления курсором на клавиатуре.

Управление выбором предметов в элементах List Box и Combo Box Когда элементы управления list box или combo box связаны с численным ControlSource, то собирается индексный номер предмета списка, а не значение. Для выборки реального значения выбранного предмета списка, установите свойство BoundTo в True.

Выбор более чем 60 предметов в списке ListBox Вы можете выбрать неограниченное числе предметов в элементе управления ListBox Control.

Создайте скрытые свойства и методы Вы можете установить области видимости (суть - способ доступа) для созданных вами свойств и методов как публичные, защищенные или скрытые. Для изменения областей видимости используйте закладку Members диалогового блока Class Info.

Для получения более подробной информации о | Смотрите
Создании форм | Создание форм
Использовании мастеров | справку, доступ к которой получите нажатием F1 в конкретном мастере.
Использовании построителей | справку, доступ к которой получите нажатием F1 в конкретном построителе.
Использовании элементов управления | справку, используя поиск по имени элемента управления или Использование элементов управления
Использовании форм в приложениях | Создание форм

Настройка вашего дизайнера форм

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

Автоматически сохранять изменения Вы можете установить опции, с тем, чтобы Visual FoxPro сохранял ваши формы автоматически при выходе из дизвйнера форм. На закладке Forms диалогового блоке Options вы можете выбрать опцию Save Changes Before Running Form. Если вы выберите эту опцию, то тем самым вы подавите диалоговое окно подтверждения и сохранении изменений, сделанных вами в текущей форме и их сохранение будет выполнено автоматически.

Изменить шрифт в окне Properties Вы можете выбрать одну из трех установок из контекстного меню окна Properties.

Используйте клавиатуру в окне Properties Окно Properties поддерживает клавиатурную навигацию для проходов через иерархию объектов, элементы управления и закладки. Используйте CTRL+PGUP и CTRL+PGDN для перемещения вверх-вниз по списку.

Для получения более подробной информации о | смотрите
Дизайнере форм и элементах управления в формах | Дизайнер Form
Создании форм | Создание форм

Введение элементов управления в библиотеку классов

Когда вам необходимо добавить элементы управления в форму для того, чтобы вы смогли в ней перемещаться по записям, вы можете выбрать необходимые элементы из библиотеки, перетащить их на форму и запустить ее. Это так просто!.

Добавление элементов управления стиля "управления видеомагнитофоном" (VCR Controls) в форму "один-ко-многим"

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

Хранение сложных элементов управления в библиотеке классов для повторного использования .

FoxPro Form Fields

Подписи на рисунке - слева-направо и сверху-вниз:
Заголовки и поля из главной таблицы.
Поля из связанной таблицы отображаются в решетке.

Введение управлющих элементов VCR в форму Открыв библиотеку классов образцов командных кнопок (Buttons.vcx), поставляемую с Visual FoxPro, вы можете легко ввести в ввашу форму набор навигационной командных кнопок стиля VCR. Библиотека классво образцов находится в каталоге Visual FoxPro ...\Samples\Classes directory.

Класс для VCR может быть добавлен в вашу панель инструментов.

FoxPro Form Controls

Подписи на рисунке - слева-направо и сверху-вниз:
1.Щелкните на кнопке View Class и затем на кнопке Add.
2.Откройте библиотеку классов Buttons.vcx.

В вашу форму можно легко добавить элементы управления.

FoxPro Form VCR Controls

Подписи на рисунке - слева-направо и сверху-вниз:
3. Нажмите на кнопку VCR и перетащите его на форму в Form Designer.

Установка свойства SkipTable Поскольку форма предназначена для отображения отношения "один-ко-многим", вам необходимо указать, что когда вы щелкните по командной кнопке Next в главной таблице нужно выбрать следующую запись. Для того, что это выполнить, откройте окно Properties (Visual FoxPro) и установите свойство SkipTable, так, чтобы оно ссылалось на главную таблицу.

Свойство SkipTable добавляет окончательную функциональность вашему элементу управления.

FoxPro View Menu Properties

Подписи на рисунке - слева-направо и сверху-вниз:
4.Выберите Propertis из меню View для отображения окна Properties.
5.Выберите элемент управления VCR на вашей форме и установите свойство SkipTable так, чтобы оно ссылалось на главную таблицу.
6.Запустите вашу форму и проверьте работу элемента управления VCP.

Расширение ваших библиотек классов

Вы не должны ждать, пока кто-то еще продаст вам классы элементов управления и библиотеки; вы можете сделать их сами.

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

Указание на классы в скомпилированных приложениях Вы можете использовать команду SET CLASSLIB для указания на класс, включенный в скомпилированное приложение.

Добавление и сохранение классов в панели инструментов "Forms Control Toolbar" Когда вы добавляете класс в панель инструментов "Forms Control Toolbar", класс остается в ней до тех пор, пока вы повторно не щелкните на кнопке View Classes и не выберите Standard.

Просмотр подробной информации о ваших классах Используя окно Class Browser, вы можете видеть полную иерархию классов и объектов в библиотеке классов или форме.

Создание ваших собственных субклассов элементов ActiveX Вы можете создать субклассы всех элементов ActiveX, поставляемых с Visual FoxPro.

Для получения более подробной информации о | смотрите
Использовании дизайнера классов | справку, нажав F1 в Class Designer.
Установке свойств | Создание форм
создании классов и использовании библиотек классов | объектно-ориентированное программирование

Создание полосок меню (Menu Bar) и контекстных меню (Shortcut Menus)

Вы можете использовать Дизайнеры Menu и Shortcut для ввода полосок меню и меню в формы ваших приложений. С помощью дизайнеров Menu и Shortcut вы можете создать контекстные меню и меню для форм SDI.

Когда вы создаете меню, у вас есть опция добавления меню в полоску меню или создания контекстного меню. Дизайнер Shortcut Designer представляет уже знакомый интерфейс дизайнера Menu Designer, но позволяет вам разработать контекстные меню.

После того, как вы сгенерируете ваше контекстное меню, вы можете присоединить его к любому элементу управления, путем запуска меню в процедурном коде события RightClick элемента управления.

Создание отчетов

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

Это очень просто - скомбинировать данные из двух разных таблиц в одном "один-ко-многим" отчете.

Используя возможности дизайнера отчетов Visual FoxPro вы можете:

Использовать кнопку предпросмотра Preview Последний экран мастера отчета имеет кнопку Preview, нажав на которую вы можете быстро посмотреть - соответствует ли отчет вашим пожеланиям, и если нет, нажать на кнопку Back мастера и сделать необходимые настройки.

Использовать Quick Report для получения быстрого результата Если вы настроили ваш собственный отчет в Report Designer, выберите Quick Report из меню Report для добавления в отчет выбранных из таблицы полей.

Использовать запросы или результаты представлений в отчете Желаете отпечатать результаты запросов? Выберите опцию Report в диалоговом окне Query Destination. Вы можете послать результаты запроса на предварительно сформатированный отчет или послать запрос в мастер отчета.

Создание отчета "один-ко-многим" Мастер One-To-Many Report Wizard позволяет легко установаить отчет, который покажет поля из двух таблиц, объединенных отношением "один-ко-многим". Например, попробуйте использовать мастер для создания отчета из выбранных таблицы базы данных Testdata.dbc.

Report Wizards выберет записи и отформатирует раскладку отчета.

FoxPro 1-to-Many Report Wiz

Подписи на рисунке - слева-направо и сверху-вниз:
1.Запустите мастер Report Wizard.
2.Выберите главную таблицу.
3.Выберите требуемые поля из главной таблицы.
4.Выберите Next для продолжения.

Использование других мастеров отчета Попробуйте использовать другие мастера отчета. Для простого отчета, основанного на одной таблице или суммарных отчетов с подсчетом общих сумм, выберите Report Wizard.

Использование дизайнера отчета - Report Designer Если вы желаете подогнать и настроить ваш отчет, сгенерированный мастером отчета, просто откройте его в Report Designer и добавьте необходимые вам расширения.

Для получения более подробной информации о | смотрите
Report Wizard | справку, нажав F1 в мастере.
Report Designer | Как: создавать отчеты (Visual FoxPro)

Смотрите также

Справочное руководство

Form Designer

Концепции

Быстрая разработка приложения (Rapid Application Creation или RAC)

Прочие ресурсы

Обзор возможностей Visual FoxPro
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Application Development with Several Developers

Visual FoxPro 9.0
Разработка Приложения несколькими Разработчиками
См. Также

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

Let Several People Work on Database Objects (Обеспечение коллективного доступа к Базе данных Объектов приложения). Вы можете изменять структуры Таблиц и описания SQL-Представлений, не требуя для этого исключительного режима открытия Базы Данных. Использование механизма обновления (опция Refresh из меню Database) – при этом выполняется процедура перезагрузки новых изменений в Объектах базы данных компонент приложения, выполненных рахзличными разработчиками, т.е. синхронизация компонент..

Use Source Code Control (Использование системы Управления Исходным Кодом). В качестве указанной системы управления может быть использована подсистема Microsoft Visual SourceSafe, обеспечивающая все необходимые функции координации и отслеживания вносимых изменений в исходные коды компонент разрабатываемого приложения Visual FoxPro. Подключение системы управления исходным кодом осуществляется в Project Manager, соответствующее меню Project.

Дополнительную информацию о работе нескольких разработчиков на одним приложением см. в разделе Планирование Коллективной Разработки Проектов Приложения .

См. также

Концепции

Взаимодействие с другими Приложениями
Преимущества Большой Мощности

Другие ссылки

Общее описание возможностей системы Visual FoxPro
Планирование коллективной разработки Проектов приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Interaction with Other Applications

Visual FoxPro 9.0
Взаимодействие с другими приложениями
See Also

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

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

Своместное использование данных с другими приложениями

Вы можете использовать преимущества все программных инструментов на вашем рабочем столе с помошью Visual FoxPro.

Использование ваших FoxPro данных в других приложениях Использовать данные с другими приложениями очень легко - например, вы можете совместно использовать данные Visual FoxPro в Microsoft Excel с помощью мастера PivotTable Wizard, или в Microsoft Word с помощью мастера Mail Merge Wizard.

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

Editing included objects is easy in Visual FoxPro.

FoxPro Form Designer Merging

Импортирование и экспортирование данных

Вы можете импортировать или экспортировать данные между Visual FoxPro и многими другими приложениями, используя многообразие форматов файлов: text, spreadsheets и tables. Данные могут быть легко добавлены или скопированы из существующих таблиц. Мастер Import Wizard поможет вам принять решение о желаемой вами структуре, для получения данных в Visual FoxPro.

Для более подробной информации посмотретие описание Импортирование и экспортирование данных.

Интеграция с автоматизацией

С Visual FoxPro вы получите возможность полной интеграции вашего приложения с другими приложениями.

Управление другими приложениями Вы можете расширить возможности вашего приложения с помощью програмного управлния другими приложениями. Например, вы можете указать Microsoft Excel произвести некоторые вычисения, проинструктировать Microsoft Graph отобразить результаты в виде графиков, и сохранить графики в поле General таблицы Visual FoxPro, все - непосредственно из Visual FoxPro програмного кода. Или, вы можете добавить элементы ActiveX, разработанные либо вами, либо кем-то другим.

Оптимизация требований автоматизации Вы можете определить, сколько времени использует ваша система для требований и сколько ждать пользователю до появления сообщения. Например, вы можете управлять тем, как много времени ваша система тратит на попытки осуществления требований автоматизации до отображения сообщения "server busy".

Кроме того, вы можете управлять числом миллисекунд, которые прошли с момента "ввода" пользователя, такого как использование мыши или клавиатуры, пока требование автоматизации находится в ожидании, до момента когда появится сообщение "busy".

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

Для получения более подробной информации об автоматизации посмотрите описание Своместное использование информации и введение OLE.

Смотрите также

Концепции

Разработка решения Client/Server
Разработка приложения несколькими разработчиками

Прочие ресурсы

Обзор возможностей Visual FoxPro
Импортирование и экспортирование данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Client/Server Solution Development

Visual FoxPro 9.0
Разработка клиент/серверного решения
Смотрите также

Вы можете использовать Visual FoxPro, как "front end" для разработки стабильных клиент-серверных приложений. Visual FoxPro объединяет высокоуровневую поддержку для обновляемых представлений серверных данных с прямым доступом к родному синтаксису сервера с помощью сквозных запросов (SQL pass-through). Это дает солидную основу, на которой можно строить гибкие клиент/серверные решения. Полнофукнциональный словарь данных, локальные и удаленные представления, поддержка null-значений, транзакции, поддержка международных приложений и доступ к ODBC источникам данных - все это способствует обеспечению вас возможностями разработки клиент/серверных приложений.

Увеличение производительности клиент/серверных приложений

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

Управление производительностью с помощью свойств

Вы можете увеличить производительность с помощью перечисленных ниже свойств курсора и удаленного представления:

  • CompareMemo

  • FetchAsNeeded

  • Prepared

Вы можете отобразить эти свойства с помощью функций DBGETPROP() и CURSORGETPROP() или установить эти свойства с помощью функций DBSETPROP() и CURSORSETPROP().

Включение или исключение мемо-полей в определение конфликтов обновления Вы можете использовать свойство CompareMemo для управления тем, как мемо-поля будут использоваться для определения конфликтов обновления. Это свойство курсора или представления определяет - будут ли мемо-поля (типы M или G) включены в опцию обновления WHERE. Значение по умолчанию, True (.T.), означает, что мемо-поля включены в опцию WHERE. Если вы установите это свойство в False (.F.), мемо-поля не будут участвовать в опции обновления WHERE, независимо от установки UpdateType.

Оптимистическое определение конфликта на мемо-полях блокируется, когда CompareMemo устанавливается в False (.F.). Для определения конфлика по мемо-полям, CompareMemo должно быть установлено в True (.T.).

Тонкая настройка извлечения записей Используйте свойство FetchAsNeeded для указания того, что все строки должны извлекаться програссивно, или что извлекаться должны только те строки, которые находятся внутри набора строк, определяемого установкой свойства FetchSize. Если вы желаете извлекать все строки в набор результатов с помощью свободного цикла Visual FoxPro, используйте значение по умолчанию, False (.F.). Если вы желаете извлекать строки только тогда, когда пользователь прокручивает набор строк, определенный свойством FetchSize, установите значение свойства FetchAsNeeded в True (.T.) для извлечения следующего набора строк.

Ускорение операций повторных запросов на параметризированных представлениях С помощью свойства Prepared, вы можете установить - будут ли подготовлены запросы для представления до их исполнения. Если вы установите значение этого свойства в True (.T.), Visual FoxPro посылает запрос ODBC-драйверы для подготовки или компиляции SQL запроса, который определяет представление. Если ODBC-драйвер для вашего источника данных (back-end data source) поддерживает использование подготовленных предложений, то последовательные повторные запросы исполняются быстрее.

Определение правил со словарем данных (Data Dictionary)

Базы данных Visual FoxPro (.dbc файлы) предоставляют словарь данных, который позволяет вам ввести правила, представления, триггеры, постоянные отношения и соединения для каждой таблицы в базе данных.

Внутри базы данных вы можете определить:

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

  • Первичные индексные ключи и ключи-кандидаты.

  • Локальные и удаленные представления.

  • Триггеры.

  • Постоянные отношения между таблицами базы данных.

  • Соединения с удаленными источниками данных.

  • Хранимые процедуры.

  • Значения по умолчанию для полей.

  • Длинные имена таблиц и полей.

В дополнение к этому, вы можете обеспечивать ссылочную целостность для каждого постоянного отношения с помощью компоновщика Referential Integrity для определения правил вставки, обновления и удаления записей.

Кроме того, Visual FoxPro поддерживает в таблицах null-значения, значительно улучшая таким образом совместимость и возможность соединения с другими источниками данных, таких как Microsoft Access, Visual Basic и серверами на основе SQL. Для получения более подробной информации о null-значениях произведите поиск по ключевым словам "null" и "null-значения".

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

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

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

Разработка межународных приложений Visual FoxPro предоставляет несколько областей поддержки для разработки международных приложений. Например, Visual FoxPro поддерживает несколько кодовых страниц. Кодовые страницы для греческого и русского языков поддерживаются в MS-DOS, Microsoft Windows и на платформе Macintosh. Visual FoxPro, кроме того, поддерживает двухбайтные наборы символов для таких языков, как Japanese, Korean, Traditional Chinese и Simplified Chinese; однако Unicode не поддерживается. Visual FoxPro поддерживает последовательности сопоставления (collation sequences) для таких языков, как Japanese, German, Traditional Chinese и Icelandic. Для получения более подробной информации о междунарожных приложениях смотрите описание Разработка международных приложений.

Выполнение клиент/серверных приложений В дополнение к использованию представлений для разработки клиент/серверных приложений, вы можете посылать любой родной серверный синтаксис, который вам требуется, непосредственно на сервер с помощью Visual FoxPro SQL pass-through функций. Эти функции позволяют дополнительный серверный доступ и управление вне возможностей представлений. Для получения более подробной информации о технологии сквозных запросов смотрите описание Расширение приложений с помощью технологии SQL Pass-Through.

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

Смотрите также

Концепции

Повышение из ранних версий
Взаимодействие с другими приложениями

Прочие ресурсы

Обзор возможностей Visual FoxPro
Разработка баз данных
Создание представлений
Программирование для совместного доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Developing Visual FoxPro Applications

Visual FoxPro 9.0
Разработка приложений в Visual FoxPro

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

В этом разделе

Планирование приложения

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

Дается общее представление о создании приложения и применяемая при этом фразеологию.
Работа с данными

Дается общее представление об использовании данных в вашеи приложении. В качестве примера анализируются требований к данным и разработке приложения, удовлетворяющего эти требованиям.
Усиление приложений при использования технологии сквозных SQL запросов (SQL Pass-Through)

Описываются методы работы приложения с удаленными представлениями при использовании клиент-серверной технологии.
Web-сервисы и компоненты

Описываются способы расширения приложений для работы со множеством пользователей.
Оптимизация приложений

Описываются способы оптимизации приложений для повышения их производительности.
Тестирование и отладка приложений

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

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

Описывается как сконфигурировать доступ к файлам справки, которые созданы для вашего приложения.
Распространение приложений

Дается информация о подготовке вашего приложения к распространению.

Связанные разделы

Использование Visual FoxPro

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

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


Application Planning

Visual FoxPro 9.0
Проектирование Приложения

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

В данном Разделе

Основные проектные решения

Обсуждается, как начинать проектирование программного приложения.

Архитектура Приложения

Описывается, как может меняться тип вашего приложения (программы или компоненты) в зависимости от поставленных задач, которые оно должно решать.

Решения по Безопасности (Visual FoxPro)

Показано, какие меры вы должны предпринимать для безопасного функционирования вашего приложения; что можно сделать для выполнения требования CopyRight, несанкционированного копирования программных компонент; как может работать модель Безопасности.

Планирование в Коллективной разработке Приложения

Обсуждается, как использовать программное обеспечение типа Source Control, такое как Microsoft Visual SourceSafe, в целях управления разработкой сложных программных систем коллективом из нескольких разработчиков.

Разработка интернациональных приложений

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

Дополнительные Секции

Разработка приложений в Visual FoxPro

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

Создание приложений

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

Работа с Данными

Обсуждается, как создавать эффективные приложения, содержащие таблицы и индексы данных, сгруппированные в Базы данных.

Работа с Проектом

Определяется содержание проекта, настройка его параметров, группировка файлов в проекте, компоновка двоичных файлов программных модулей.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Design Considerations

Visual FoxPro 9.0
Анализ разработки
Смотрите также

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

  • Какие задачи выполняют пользователи - центральные или общие.

  • Требуемый размер набора данных.

  • Одиночный пользователь или множество пользователей.

  • Люди, которые включены в пользователи приложения.

  • Локальные или удаленные данные.

Общая деятельность пользователя

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

Размер базы данных

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

Один пользователь или множество пользователей

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

Международные приложения

Если вы знаете, что п=ваше приложение будет использоваться только в одно-язычной среде, вы можете не беспокоиться об интернационализации. С другой стороны, если вы желаете расширить ваш рынок сбыта, или, если пользователи могут работать с международными данными или установками окружения, вам необходимо принять во внимание эти факторы, когда вы создаете свое приложение. Разработка международных проиложений обсуждает факторы, с которыми вам необходимо считаться при разработке приложения, которое может быть использовано для международных целей.

Локальные данные или удаленные данные?

Если ваше приложение работает с удаленными данными, вы должны обслуживать их иначе, чем родные данные Visual FoxPro. Как: создать представления объясняет, как создавать представления к локальным или удаленным данным.

Резервное копирование вашего исходного кода

Во всех разработках, делать резервные копии оригинальных программных файлов из которых выстраивается ваше приложение является хорошей практикой. Храните резервные копии отдельно от вашего скомпилированного приложения.

Note Замечание

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

Смотрите также

Прочие ресурсы

Планирование приложения
Разработка международных приложений
Программирование для совместного доступа
Опитимизация приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro as an Application Front End

Visual FoxPro 9.0
Visual FoxPro как Front End приложение
Смотрите также

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

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

Расширение визуальных инструментов проектирования в Visual FoxPro

Базовые классы элементов управления Visual FoxPro были разработаны таким образом, чтобы решить подавляющее большинство потребностей интерфейса. Visual FoxPro обеспечивает все основные средства управления и элементы интерфейса, которые обязаны создавать стандартные приложения Windows. Однако зачастую Вы можете обнаружить, что Ваше приложение требует объектов или элементов управления, которых нет в базовых классах Visual FoxPro. В этом случае Вы можете расширить визуальные инструменты проектирования путем создания подклассов или используя элементы управления ActiveX.

Создание подклассов

Чрезвычайно мощная особенность Visual FoxPro - это возможность создавать подклассы на основании базовых элементов управления. Создав один или несколько подклассов, Вы можете настроить базовые элементы управления Visual FoxPro практически любым способом, необходимым в Вашем приложении. Эта особенность также позволяет создавать новые объекты или элементы управления, которые объединяют возможности нескольких элементов управления. Например, элемент управления Grid в Visual FoxPro содержит не только собственно контейнер его свойства и методы, но и те объекты, которые могут быть включены в Grid, такие как кнопки, поля ввода и т.п.

Точно также создавая подклассы базовых элементов управления, Вы можете расширить возможности Visual FoxPro путем создания объектов, которые добавляют новые возможности существующим базовым классам или комбинируют возможности нескольких объектов. Например, Вы можете добавить визуальные возможности, такие как рамку или трехмерные эффекты в поле ввода. Или Вы можете комбинировать элемент управления Image, кнопку и поле ввода для того, чтобы создать элемент для просмотра изображений, в котором пользователь сможет просматривать ряд .bmp файлов. Таким образом, создание пользовательских классов может помочь Вам управлять развитием приложения масштаба компании, путем создания стандартизованных элементов управления для всех Ваших приложений. Для получения дополнительной информации смотрите "Объектно-ориентированное программирование".

Использование элементов управления ActiveX

Альтернативой создания нового элемента управления, используя подклассы Visual FoxPro, является использование элементов управления ActiveX (файлы с расширением .ocx). Эти элементы управления созданы независимо от Visual FoxPro и могут быть интегрированы не только в Visual FoxPro, но и во многие другие приложения Windows.

В действительности, элементы управления ActiveX - это готовый набор компонент, которые Вы можете интегрировать в Ваше приложение "без швов". Использование элементов управления ActiveX предоставляет следующие преимущества:

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

  • Для решения общих прикладных задач уже доступны множество элементов управления ActiveX, созданные разными производителями. Например, если в Вашем приложении требуется отобразить календарь с возможностью выбора даты, то, скорее всего, Вы сможете найти элемент управления ActiveX (возможно несколько), который уже решает поставленную задачу.

  • Один и тот же элемент управления может быть использован в нескольких программах. Например, если это имеет смысл, Вы можете использовать один и тот же элемент управления ActiveX как в Visual FoxPro, так и в Visual Basic. Для его управления в обоих случаях будут использоваться одни и те же свойства и методы, и элемент будет иметь один и тот же внешний вид во всех программах, что облегчает работу с ним для пользователя.

  • Элементы управления ActiveX часто обеспечивают доступ к таким функциональным возможностям Windows, реализация которых только через инструменты Visual FoxPro может оказаться не эффективной или потребует слишком много времени. Например, Вы можете найти элементы управления ActiveX, которые обеспечивают доступ к электронной почте (используя функции Windows MAPI), к функциям графики Windows низкого уровня и т.п. Включая элементы управления ActiveX, Вы расширяете возможности Вашего приложения функциональностью этих элементов управления, при этом получая простой способ управления этой новой функциональностью через свойства, события и методы добавленных элементов.

Короче говоря, использование элементов управления ActiveX позволяет Вам не только расширить Ваше приложение возможностями всего Windows, но и формирует один и тот же внешний вид, как для Вашего приложения, так и для другого приложения используемого на том же предприятии. Для получения дополнительной информации об использовании элементов управления ActiveX смотрите "Разделение Информации и Использование OLE". Для получения информации о создании Ваших собственных элементов управления ActiveX смотрите "Подключение Модулей Visual FoxPro API".

Добавление функциональных возможностей других программ

В процессе разработки приложения Вы могли бы обнаружить, что другие программы идеально подходят для решения определенных задач. Например, Microsoft Word отлично приспособлен для операций слияния документов, в то время как Microsoft Excel оптимизирован для расчетов по сложным формулам и создания диаграмм и графов по результатам этих расчетов.

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

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

  • Запустите мастер Visual FoxPro который сделает данные Visual FoxPro доступными для использования в других программах.

  • Напишите программу на Visual FoxPro которая будут использовать автоматизацию для организации связи с элементом управления и данными в других программах Windows.

Следующие разделы более подробно описывают данные методы расширения возможностей Visual FoxPro.

Использование мастеров (Wizards)

Множество мастеров Visual FoxPro позволяют Вам объединить данные Visual FoxPro с функциональными возможностями других программ Windows. Например, Вы можете послать письма Вашим клиентам, используя "Мастер автоматического составления стандартных писем (Mail Merge Wizard)". Когда Вы запускаете мастер, Вы можете выбрать таблицу или представление, содержащие данные Visual FoxPro, которые необходимо использовать, а затем преобразовать их к любому подходящему формату файла (такой как разделенные запятыми) или указать, что Ваша программа обработки текстов использует Visual FoxPro OLE DB provider для доступа к данным. Если Вы используете Microsoft Word, то мастер даже запустит программу обработки текстов, создаст чистый документ слияния и отобразит панель инструментов Mail Merge для организации связи полей с Вашими данными Visual FoxPro.

Аналогичным образом, используя Microsoft Excel и Microsoft Query, Вы можете анализировать Ваши данные при помощи сводной таблицы (pivot table), которая суммирует данные в столбцах и позволяет Вам перестраивать отчет, рассматривая его в разных разрезах. Используя "Мастер сводной таблицы (PivotTable Wizard)" в Visual FoxPro, Вы можете использовать данные Вашего приложения как источник данных для Microsoft Excel и сформировать сводную таблицу в Microsoft Excel.

Использование автоматизации (Automation)

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

Автоматизация - это особенно привлекательный и мощный способ работы с программами Windows из Visual FoxPro по нескольким причинам:

  • Вы имеете прямой доступ к другой программе, включая все ее объекты и команды.

  • Вы можете использовать данные совместно с другой программой без необходимости экспортировать или преобразовывать их в другой формат.

  • Вы можете управлять другой программой, используя знакомые свойства и модель методов.

  • Другая программа не обязательно должна быть видимой для пользователя в момент обращения к ней. Например, Вы можете вызвать Microsoft Excel, поместить некоторые данные в ячейки, выполнить сложный комплексный расчет данных, прочитать результат, а затем отобразить его в Visual FoxPro, не отображая собственно Microsoft Excel. Ваши пользователи будут продолжать видеть только Visual FoxPro, если Вы явно не захотите отобразить Microsoft Excel.

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

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

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

Одно решение состояло бы в том, чтобы использовать автоматизацию для того, чтобы скопировать данные продаж из Visual FoxPro в ячейки листа Microsoft Excel. Тогда Вы сможете вызвать мастер построения диаграмм Microsoft Excel чтобы создать диаграмму данных и скопировать ее в Windows Clipboard. Все еще используя автоматизацию, Вы можете вызвать Microsoft Word и создать или открыть документ (если Вы создаете новый документ, Вы можете вставить стандартный текст, который Вы храните в Visual FoxPro), и затем вставить в него диаграмму, созданную в Microsoft Excel.

Это только один способ, которым Вы можете использовать автоматизацию, чтобы сделать Visual FoxPro частью решения предприятия. Знакомясь с объектами и методами, доступными в программах, которые Вы обычно используете, Вы можете придумать еще много способов заставить каждую программу расширить возможности других программ. Для получения более детальной информации об автоматизации смотрите "Управление объектами с автоматизацией" и "Разделение Информации и Использование OLE".

Расширение возможностей хранения данных в Visual FoxPro

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

  • Ваше приложение должно иметь доступ к данным, которые формируют и поддерживают уже существующие приложения. Например, предположим, что некоторая часть Вашего приложения должна иметь доступ к данным некоторого другого приложения, которое было написано, используя различные программы, возможно даже для различных платформ.

  • Вы хотите оптимизировать доступ к данным, используя сервер базы данных, который значительно повышает скорость доступа к данным, особенно для очень больших баз данных.

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

  • Данные лучше всего подходят для формата какой-либо специфической программы (например, такой как электронная таблица spreadsheet). Это может быть справедливо в том случае, если Ваше приложение обращается к этим данным во второстепенных ситуациях, а основная обработка этих данных выполняется другой специализированной программой.

Если Вам необходимы данные в формате электронной таблицы, текстового процессора или другой программы Windows, то Вы можете организовать доступ, используя автоматизацию. Например, Вы можете сделать это, если Ваше приложение требует набора бланков для писем. В этом случае, письма могут быть сохранены как документы Microsoft Word, а Ваше приложение будет использовать автоматизацию для того, чтобы вызвать приложение Word, открыть соответствующее письмо и вставить или изменить текст, если необходимо.

В общем случае, для того, чтобы использовать данные, созданные не в Visual FoxPro используют OLE DB provider для доступа к ним. OLE DB provider позволяет Вам подключаться к данным в формате других программ (обычно, к другим базам данных) и запрашивать или редактировать данные, используя стандартные команды SQL.

Например, Вы можете решить, что безопасность и транзакционные возможности - это принципиально важная часть Вашего приложения, для обеспечения которой Вы будете хранить данные, используя Microsoft SQL Server. Для обеспечения доступа к данным Вы создадите соединение с SQL Server, используя SQL Server OLE DB provider. Затем Вы можете выполнить запрос и другие SQL команды, используя ADO и получить результат в ADO recordset или CursorAdapter для последующего использования в Visual FoxPro.

Другие приложения могут получить доступ к тем же самым данным и использовать в своих интересах те же самые особенности. Например, таблица Microsoft Excel может взять эти данные из той же базы данных SQL Server. Мало того, что электронная таблица будет обладать теми же самыми преимуществами, что и Ваше приложение, но она также будет использовать те же возможности по безопасности и транзакции, которые иначе были бы недоступны для таблиц Microsoft Excel.

В некоторых случаях, Вы можете захотеть пойти дальше и использовать те команды SQL, которые являются специфическими для того источника данных, к которому Вы получаете доступ, используя OLE DB provider. Например, Microsoft SQL Server позволяет Вам создавать и выполнять хранимые процедуры, которые манипулируют данными на сервере (а не в Вашем приложении). Чтобы использовать в своих интересах хранимые процедуры, Вы можете послать "родные" (native) конструкции SQL на сервер базы данных. Команды Pass-through SQL также позволяют Вам решать задачи системного администрирования сервера, и в некоторых случаях они выполняются быстрее, чем аналогичные конструкции SQL в Visual FoxPro.

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

Масштабирование (upsizing) данных Visual FoxPro

Для хранения данных Вы можете выбрать таблицы Visual FoxPro или другие платформы, такие как серверные базы данных. Или использовать оба варианта: хранить данные в таблицах Visual FoxPro на этапе разработки или пока Ваша база данных расширяется, а затем перевести (масштабировать) данные на другую платформу.

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

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

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

Для получения дополнительной информации по масштабированию базы данных, смотрите "Масштабирование Баз Данных Visual FoxPro".

Смотрите также

Ссылки

Мастер автоматического составления стандартных писем (Mail Merge Wizard)
Мастер сводной таблицы (PivotTable Wizard)

Концепции

Анализ разработки
Планирование Приложений Масштаба Предприятия
Visual FoxPro Back End приложение

Другие ресурсы

Объектно-ориентированное программирование
Разделение Информации и Использование OLE
Создание Представлений
Подключение Модулей Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Visual FoxPro as an Application Back End

Visual FoxPro 9.0
Visual FoxPro как Back End приложение
Смотрите также

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

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

Организация доступности данных Visual FoxPro из других программ

Один из способов воспользоваться преимуществами Visual FoxPro при создании корпоративного приложения - это использовать механизм работы с данными Visual FoxPro для хранения и управления данными. Это обеспечит высокоэффективное хранение и возможность выполнения запросов из других программам.

Программы могут подключаться к данным Visual FoxPro, используя Visual FoxPro OLE DB provider. Этот provider предоставляет механизму управления данными Visual FoxPro стандартные SQL команды Visual FoxPro.

Например, приложение может использовать Microsoft Excel как вычислительный инструмент для сложного анализа данных. Если данные, по которым предполагается выполнять расчет, очень изменчивы, то имеет смысл хранить их не в рабочем листе (worksheet), а в базе данных. В этом случае, рабочий лист может быть создан, используя Visual FoxPro OLE DB provider чтобы подключится к базе данных, извлечь необходимую информацию и отобразить ее в листе для последующей обработки.

Другим примером может являться приложение-киоск, такое как информационный стенд в аэропорту или центр соглашения. Вы могли бы создать информационный показ, используя мультимедийную авторскую программу. Но если некоторые данные в приложении изменяются достаточно часто, то было бы тяжело менять страницы в презентации. Вместо этого, программа презентации могла бы подключиться к базе данных Visual FoxPro, используя OLE DB provider и извлекать данные в процессе работы.

Для получения дополнительной информации, смотрите разделы помощи, посвященные "Visual FoxPro OLE DB provider".

Организация доступности объектов и команд Visual FoxPro из других программ

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

Например, Вы можете создать приложение в Microsoft Excel таким образом, чтобы данные хранились в базе данных Visual FoxPro. В дополнение к простому чтению и записи данных Microsoft Excel сможет вызывать команды Visual FoxPro для того, чтобы отобразить форму как диалоговое окно. Которое, в свою очередь, должно собрать данные для параметризированного представления.

Другой путь использования объектов Visual FoxPro это создание сервера автоматизации (Automation server). Это позволит Вам создать специфические объекты приложения, которые могут выполнить почти любую функцию из тех, что можно запрограммировать в Visual FoxPro для того, чтобы реализовать те преимущества, которые дает распределенный сервер.

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

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

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

Для получения дополнительной информации о создании пользовательских серверов автоматизации смотрите "Как: Создать Серверы Автоматизации" в "Разделение Информации и Использование OLE".

Создание хранилища данных (Data Warehouse), используя Visual FoxPro

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

  • Структурировать их таким образом, чтобы отчеты формировались легче и быстрее, чем в случае использования рабочих данных.

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

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

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

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

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

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

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

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

Использование Visual FoxPro как поисковой машины World Wide Web

Если Ваше корпоративное приложение предполагает создание World Wide Web сервера для Internet, Вы можете включить Visual FoxPro в приложение как поисковую машину. Это позволит Вам предоставить всю мощь Вашей базы данных Visual FoxPro для любого, кто имеет доступ к Вашему Web серверу через Internet или через интранет компании.

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

Понимание Visual FoxPro как поисковой машины Web

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

  • Существующий Web сервер с HTTP сервисом работающем под Microsoft Windows NT или Windows 2000 операционной системой.

  • Приложение Visual FoxPro, которое может быть запущено как сервер автоматизации (Automation server). Это приложение может быть запущено на любом сервере доступном для Web-сервера.

  • Средство для отображения результатов поиска, которое обычно является шаблоном Web-страницы, в который Вы можете вставить данные.

Обычная последовательность событий для применения поиска Visual FoxPro в Web заключается в следующем:

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

  2. Пользователь нажимает кнопку "Выполнить поиск". Данные из заполненной формы пересылаются на Web-сервер для обработки, наряду с именем Вашей Web-страницы приложения для поиска.

  3. Web-сервер запускает Ваше приложение, используя ISAPI (Internet Server API) протокол, передавая ему параметры, содержащие информацию для поиска.

  4. Ваше приложение выполняет поиск в базе данных. Когда результаты получены, приложение вставляет их в шаблон Web-страницы и затем посылает Web-страницу назад к серверу как последовательность символов.

  5. Web-сервер пересылает страницу с результатами поиска браузеру, который начал поиск.

  6. Браузер отображает результирующую страницу для пользователя.

Если Вы уже создавали Web-страницы, то большинство шагов в этом процессе Вам вероятно уже знакомо. Например, Вы можете уже знать, как создавать собственно Web-страницы. Даже если Вы не знакомы с процессом создания Web-страниц, Вы, вероятно, сочтете его относительно легким.

Пример того, как использовать Visual FoxPro как поисковую машину Web, можно увидеть на примере Foxisapi.dll в директории Visual FoxPro ...\Samples\Servers\Foxisapi. Посмотрите файл Readme.txt в этой директории для получения более детальной информации о том, как запустить этот пример.

Смотрите также

Задачи

Как: Создать Серверы Автоматизации

Концепции

Анализ разработки
Visual FoxPro как Front End приложение
Планирование Приложений Масштаба Предприятия

Другие ресурсы

Разделение Информации и Использование OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Application Architecture

Visual FoxPro 9.0
Архитектура Приложения

Архитектура Приложения Visual FoxPro (Схема) существенно зависит от основных Задач, которые должны быть решены в этом приложении, к какому типу относится данное Приложение. Когда вы выполняете начальное Проектирование вашего Приложения, вам требуется учитывать, как будут взаимодействовать Компоненты данного приложения при выполнении поставленных Задач.

Например, типичное приложение по обработке Базы Данных содержит Структуру Данных (Таблицы, индексы и прочее), Параметры Запросов, характеристики Отчетов и другие Компоненты. Типичная Сбока Приложения Visual FoxPro в этом случае содержит Пользовательское Меню, некоторый набор Форм по Вводу и Отображению обрабатываемых Данных. Кроме этого, вы можете также усилить ваше Приложение за счет Компонентов обеспечения Ссылочной Целостности Базы Данных, безопасности доступа к Данным, обработке различных Ошибочных и Аварийных Ситуаций. Интегрированная Подсистема Запросов и Отчетов обеспечит вам достойное внешнее представление обрабатываемых Данных.

В данном Параграфе

Планирование Приложений типа Клиент-Сервер

Рассматриваются вопросы и рекомендации этапа Планирования при Разработке полнофункционального Приложения типа Клиент-Сервер. Успешное Планирование вашего Приложения позволит вам очень быстро и достаточно продуктивно решить проблемы ваших Заказчиков.

Быстрая Разработка Приложений

Приводятся основные рекомендации по этапам Разработки Приложения, созданию Прототипов, Масштабированию Баз Данных, Средств Интерфейса, Процедур Оптимизации процессов обработки Данных.

Создание Приложений для Надежной и целостной обработки Данных

Рассматриваются вопросы и рекомендации использования инструментария Visual FoxPro для создания Правил Контроля Данных, Хранимых Процедур, обеспечения Целостности Данных на уровне Клиентской и Серверной частей Приложения.

Планирование Приложений уровня Предприятия

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

Связанные Секции

Разработка Приложений Visual FoxPro

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

Планирование Приложений

Рассматриваются вопросы, как скрупулезное (внимательное) Планирование Приложения позволяет вам сэкономить ваше Время, Усилия и Деньги. Многи Решения, которые создаются вами в процессе Планирования позволят вам сократить время при разработке Отдельных Компонент вашего Приложения.

Основные Соглашения по процессу Проектирования

Рассматриваются вопросы, как работы, выполненные вами на Этапе Проектирования позволят вам сократить общее Время разработки конечного варианта вашего Приложения.

Соглашения по Безопасности (Visual FoxPro)

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

Планирование процессов Коллективной разработки Проектов Приложения

Обсуждаются вопросы использования Систем Управления Исходным программным Кодом, вопросы использования подсистемы Microsoft Visual SourceSafe, которая обеспечивает быстрое и надежное отслеживание внесения Изменений в Проект достаточно Сложного Приложения.

Разработка Международных (многоязычных) Приложений

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Planning Client/Server Applications

Visual FoxPro 9.0
Планирование разработки Приложения типа Клиент-Сервер

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

Наиболее важным шагом при проектировании и разработке Приложения типа Клиент-Сервер является этап Планирования взаимодействия Компонент приложения и Данных. При разработке указанного Приложения, вам необходимо учитывать несколько особо важных Требований. С одной строны, вам требуется достаточно быстро разработать полнофункциональное Приложение для ваших Пользователей. Вам также требуется обеспечить высокую Надежность и Целостность обрабатываемых Данных, полностью и эффективно использовать представленное аппаратное обеспечение (Физическое Хранилище Данных), предусмотреть функциональное наращивание приложения в будущем. Кроме того, как Разработчик Visual FoxPro, вы должны учитывать совместимость вашего Приложения с другими внешними Приложениями, которые также могут обрабатывать представленные массивы Данных.

В данном Параграфе

Оптимизация Производительности Приложений типа Клмент-Сервер

Построение высокопроизводительного, многофункционального Приложения типа Клиент-Сервер с помощью Microsoft® Visual FoxPro® основывается на внутренних мощных возможностях Механизма обработки данных Visual-FoxPro-Engine.

Усиление Производительности доступа к Данным с помощью Сквозных Запросов

Рассматриваются вопросы, как вы можете достаточно быстро и с наименьшими затратами разработать Приложение типа Клиент-Сервер, которое обеспечит доступ к Данным с удаленного Сервера.

Проектирование Оптимальной платформы размещения данных

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

Связанные Секции

Разработка Приложений Visual FoxPro

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

Архитектура Приложения

Рассматриваются вопросы, как может изменяться ваше Приложение Visual FoxPro, его Архитектура в завмсимости от решаемых в нем Задач.

Структура Приложений Visual FoxPro

Рассматриваются ключевые вопросы Приложений по обработке Массивов Данных, их пользовательский Интерфейс, подсистема Запросов, наличие и функциональность подсистемы Отчетов.

Бастрая Разработка Приложений

Обсуждаются вопросы и основные рекомендации по разработке Приложений, созданию Прототипов, Масштабированию Данных, Реализации Баз Данных, Оптимизации обработки Данных.

Разработка Приложений для Выверки и Контроля целостности обрабатываемых Данных

Обсуждаются вопросы и основные рекомендации по использованию Visual FoxPro при построении схем контроля Данных, Правил проверки, Хранимых Процедур, которые обеспечивают как локальную , так и Удаленную проверку обрабатываемых наборов Данных.

Планирование Приложений уровня Предприятия

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Optimizing Client/Server Performance

Visual FoxPro 9.0
Оптимизация выполнения Приложений типа Клиент-Сервер

Когда вы получили начальный вариант вашего Приложения типа Клиент-Сервер, вы можете определить (например, при Тестировании) несколько Мест в данном Приложении, где существует возможность увеличить производительность обработки Данных. Например, вы можете выполнить более Тонкую настройку (Fine-Tune) отдельных частей вашего Приложения, что позволит получить ускорение при выполнении Форм, Запросов и других модулей обработки Данных в вашем приложении.

В пунктах данного параграфа рассматриваются некоторые стратегии Оптимизации выполнения различных частей вашего Приложения, Клиентской части, Сетевых Компонент, Удаленного Сервера.

В данном Параграфе

Разработка Приложения типа Клиент-Сервер для повышения Производительности

Как ускорить процесс Разработки, повысить производительность выполнения приложений Клиент-Серверс помощью Microsoft® Visual FoxPro® за счет эффективного и оптимального использования внутреннего /Механизма обработки Данных Visual FoxPro Engine.

Оптимизация процессов Соединения с Источниками Данных

Выполнение Соединения за более короткий период Времени и меньшего использования Памяти как на стороне Клиента, так и на стороне Сервера. При оптимизации процессов Соединения, вам необходимо соблюдать Баланс между повышением производительности и использованием Требуемых для этого Ресурсов Приложения.

Ускорение повторной Загрузки Данных и Поиска

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

Ускорение выполнения Представлений и Запросов

Рассматриваются вопросы, как улучшить выполнение Запросов и Представлений при использовании дополнительных Индексов, оптимизации Ключевых Условий (Фильтров) для Локальных и Удаленных Представлений, или оптимизации представления Параметров в параметризованных Представлениях.

Ускорение Загрузки Форм

В условиях Разработки Формы, в которой планируется обрабатывать Данные от удаленного Сервера, рекомендуется руководствоваться Принципом "минимальной достаточности", что обеспечит исключение из Формы необязательных Визуальных Эффектов, а значит - улучшит выполнение данной Формы.

Улучшение выполнения Операций Обновления и Удаления (SQL)

Вы можете ускорить исполнение Операторов Обновления или Удаления (Update and Delete) при использовании дополнительных полей Штампа_Времени (TimeStamps) в ваших удаленных Таблицах, или использованием отключения свойства CompareMemo, или использованием режимов Manual-Транзакций, эффективным использование Хранимых Процедур, режимов пакетных Обновлений (Batching Updates).

Связанные Секции

Сознание Приложений

Рассматриваются вопросы создания Приложений Visual FoxPro, в которых используется одна или несколько Баз Данных, как определяется Главный файл Приложения, как создается системная среда Данных, как создается общий Пользовательский Интерфейс с использованием Форм, инструментов типа ToolBar, пользовательских подсистем Меню.

Как: Определить Стартовую Точку Приложения

Обсуждаются основные вопросы создания Главного файла Приложения, основные, решаемые в нем Задачи, запуск стартовой Формы или подсистемы Меню. При запуске пользовательского риложения, система Visual FoxPro начинает выполнять Главный файл вашего риложения, и только после этого выполняет все другие Компоненты приложения.

Как: Инициализировать Среду Данных и Параметров Приложения

Определение Среды Приложения, определение его начальных параметров является первостепенной Задачей Главного файла или процедуры Инициализации Объекта Приложения.

Как: Управлять Циклом Событий Приложения

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

Создание Приложений с помощью мастера Application Framework

Объясняется, как можно использовать мастер создания Приложения Application Framework, как работать с Построителем Приложения Application Builder.

Создание Пользовательского Интерфейса

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

Масштабирование (наращивание) Баз Данных системы Visual FoxPro

Рассматриваются вопросы и Рекомендации использования Мастера Масштабирования (Upsizing Wizard) для переноса локальных Баз Данных, Таблиц, Представлений и других Компонент вашей локальной Системы (приложения) на удаленный Microsoft SQL Server.

Создание международных (многоязычных) Приложений

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Client/Server Design for High Performance

Visual FoxPro 9.0
Проектирование приложений Клиент/Сервер высокого уровня
См. Также

Проектирование и создание Приложений типа Клиент/Сервер с использованием системы Visual FoxPro может обеспечить некоторые преимущества относительно высокоскоростного внутреннего механизма управления данными в Visual FoxPro (Native Data Engine). Теперь вы можете использовать новейшие технологические достижения в области обработки Данных, такие как: Set-Based Data Access, а не традиционный способ локальной навигации; построение параметризованных Представлений для загрузки данных; размещение таблиц данных на оптимальных платформах; использование удаленных хранимых Процедур.

Когда вы разрабатываете обычное Приложение для Локального сервера или Файл-Сервера, вы определяете необходимые для успешной работы Запросы, Формы, Меню, Отчеты, которые в последующем и создаете. Когда вы проектируете приложение типа Клиент-Сервер, вам необходимо провести Нормализацию Базы Данных, провести дополнительный анализ Связей и Отношений между компонентами Данных. Вам обязательно требуется спланировать использование Запросов, Форм и Отчетов при различных вариантах работы Приложения, как пользователь получает доступ к Данным. Например, вам требуется ответить на следующие вопросы:

  • Какие Таблицы должны быть загружены на удаленный Сервер после создания рассматриваемого Приложения?

  • Какие таблицы должны храниться локально, не загружаться на Сервер?

  • Какие Представления требуются при доступе к Удаленным Данным?

  • Какие Бизнес-Правила (Бизнес-Логика) будут выполняться на удаленнои Сервере, и как ваше Приложение будет взаимодействовать с данными правилами (Бизнес-Логикой)?

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

См. также

Концепции

Расширение Приложений, основанных на Прямом Доступе к Данным (Set-Based Data Access)
Оптимальные платформы размещения Данных
Методы Эффективного доступа к данным (Selecting the Right Methods)

Другие ссылки

Планирование приложений типа Клиент/Сервер (Client/Server)
Оптимизация работы приложений Клиент/Сервер
Расширение Приложений при использовании Технологии SQL Pass-Through

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Optimizing Connections

Visual FoxPro 9.0
Оптимизация соединений
Смотрите также

Установка соединения требует времени и ресурсорв памяти как на клиенте, так и на сервере. Когда вы оптимизируете соединения, вы установливаете баланс между вашей потребностью в высокой производительностью и ресурсами, требуемыми для вашего приложения.

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

Совместное использование соединений

Вы можете использовать соединение монопольно или совместно. Каждый метод имеет свои преимущества. При монопольном использовании ваше приложение не испытывает конкуренуии при соединении с ресурсами после того, как соединение установлено. Если каждый набор результатов использует соединение монопольно, вы можете, кроме того, смешивать асинхронную обработку для множества наборов результатов.

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

Управление лимитом времени соединения

Если ваше приложение долгое время не производит никаких операций, вы можете снизить использование соединений установкой свойства соединения IdleTimeout. Свойство IdleTimeout управляет интервалом времени соединений, которые могут быть неактивными (idle) до момента, когда их закроет Visual FoxPro. По умолчанию, соединения могут быть неактивными бесконечно и не закрытыми до момента, когда их явно закроет пользователь.

Вы можете установить лимит времени в определении соединения с помощью свойства IdleTimeout, используя функцию DBSETPROP(); вы можете установить свойство IdleTimeout для активного соединения с помощью функции SQLSETPROP().

Visual FoxPro закрывает соединения, даже если в окне Browse или форме отображаются удаленные данные, а затем автоматически открывает их заново, когда они вновь потребуются. Однако, Visual FoxPro не может закрыть соединение, если:

  • Незавершена выборка результатов запроса с сервера.

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

Вы устанавливаете режим транзакции для определения соединения с помощью свойства Transactions через функцию DBSETPROP(); вы можете установить режим транзакции для активного соединения с помощью функции SQLSETPROP().

Высвобождение соединений

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

Вы можете управлять соединение для запроса вручную, если вы не желаете обновлять данные в курсоре. Используйте сквозные запросы (SQL pass-through) для выборки требуемых вам данных в локальные курсоры и затем закрывайте соединения.

Смотрите также

Концепции

Повышение скорости извлечения данных
Ускорение запросов и представлений
Улучшение производительность при обновлениях и удалениях
Ускорение работы форм

Прочие ресурсы

Оптимизация производительности клиент-серверных приложений
Расширение приложений с помощью технологииSQL Pass-Through
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Speeding Up Data Retrieval

Visual FoxPro 9.0
Увеличение скорости извлечения данных
Смотрите также

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

Кроме того, вы можете использовать свойство представления UseMemoSize для возврата символьных полей в виде мемо-полей и затем переключить FetchMemo в "off", что позволит вашему приложению выборочно извлекать такие символьные поля, преобразованные в мемо-поля.

Использование прогрессивного извлечения (Progressive Fetching)

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

Note Замечание

Синхронные команды SQL pass-through не используют прогрессивное извлечение. До того, как управление будет передано обратно вашему приложению, команда SQLEXEC( ) извлекает полный набор результатов.

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

Note Замечание

Увеличение числа извлекаемых строк повышает производительность, но уменьшает "отзывчивость" интерефейса пользователя. Уменьшение номер извлекаемых строк имеет обратный эффект.

Извлечение данные по требованию (On Demand)

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

Свойство FetchAsNeeded по умолчанию установлено в false (.F.), что означает, что по умолчанию выполняется прогрессивное извлечение. Когда вы установите значение свойства FetchAsNeeded в true (.T.), строки будут извлекаться только тогда, когда они будут нужны. Когда значение свойства FetchAsNeeded установлено в true, вы не можете производить обновление до тех, пока либо не завершится извлечение, либо пока вы не вызовите функцию SQLCANCEL( ) на текущем дескрипторе соединения или не закроете представление.

Если вы желаете увидеть воздействие свойства FetchAsNeeded, установите его в .T. для представления, извлекающего большой набор результатов, а затем откроейте окно просмотра командой browse и перемещайтесь по строкам вниз. Полоска статуса будет обновляться показывая число извлеченных строк по мере вашего перемещения вниз по строкам в окне browse.

Управление извлечением курсора

Если вы желаете извлечь курсор полностью, вы можете выдать команду GOTO BOTTOM или любую команду, которая обращается к полному набору данных.

Note Совет

В случае использования вами команды GOTO BOTTOM для извлечения полного курсора, чаще бывает более эффективным создание параметризированного представления, которое извлекает за один раз только одну запись и продолжает только при изменении пользователем записей. Для получения более подробной информации о выстраивании высокопроизводительных представлений посмотрите описание задачи Как: оптимизировать производительность представления.

Программы не обеспечивают обработку цикла ожидания. Для программного извлечения курсоров представления, используйте команды GO nRecordNumber или GOTO BOTTOM. Для извлечения курсора, создаваемого в асинхронном режиме сквозным запросом (SQL pass-through), вызовите асинхронную функцию SQL pass-through для каждого поднабора результатов.

Прекращение предложения SQLEXEC()

Вы можете использовать функцию SQLCANCEL() для прекращения предложения SQLEXEC() или представления в любое время. Однако, если сервер имеет полностью завершенный удаленный набор результатов и Visual FoxPro начал процесс извлечения удаленного набора результатов в локальный курсор, функция SQLCANCEL( ) прекратит исполнение предложения SQLEXEC() и оставит локальный курсор. Если вы желаете удалить локальный курсор, вы можете использовать команду USE, которая закроет курсор и прекратит извлечение данных.

Команда USE не прекращает исполнение предложения SQLEXEC(), если локальный курсор еще не был создан. Для определения - а был ли уже Visual FoxPro создан локальный курсор, вы можете вызвать функцию USED().

Управление размером извлечения данных

Вы можете управлять числом записей, извлекаемых за один раз с удаленного сервера, с помощью вашего приложения установкой свойства FetchSize на вашем представлении. Свойство FetchSize указывает - сколько записей будет извлечено в локальный курсор с удаленного сервера за один раз, через прогрессивное извлечение или вызовами асинхронных сквозных запросов (SQL pass-through). Значением по умолчанию является 100 строк.

Для управления числом извлекаемых за один раз записей в преставление

  1. в View Designer (Конструкторе представления) выберите Advanced Options (Расширенные параметры) из меню Query (Запрос). В области Data Fetching (Извлечение данных) диалогового окна Advanced Options (Расширенные параметры) используйте счетчик для установки значения для Number of Records to Fetch at a time (Число записей, извлекаемых за один раз) .

    - или -

  2. Установите свойство FetchSize с помощью функции DBSETPROP( ) для установки размера извлечения в определении представления.

    - или -

  3. Установите свойство FetchSize с помощью функции CURSORSETPROP() для установки размера извлечения активного курсора представления.

    Например, приведенный ниже код устанавливает определение представления в прогрессивное извлечение 50-ти строк за один раз в представлении Customer_remote_view:

    CopyCode image Скопировать код
    ? DBSETPROP('Customer_remote_view', 'View', 'FetchSize', 50)

Использование задерданного извлечения мемо-полей

Хорошо разработанное приложение часто использует задержанное извлечение мемо-полей для увеличения скорости загрузки наборов результатов, которые содержат поля типа Memo или General. Задержанное извлечение мемо-полей означает, что содержимое полей типа Memo и General не загружается автоматически при загрузку набора результатов. Вместо этого, оставшиеся поля могут быть быстро загружены, а содержимое полей типа Memo и General не загружается до момента, когда вы откроете поля Memo или General для просмотра. Задержанное извлечение мемо-полей обеспечивает очень быструю загрузку строк и позволяет извлекать содержимое полей Memo или General, которое может быть очень большим только тогда, когда они действительно понадобятся пользователю.

Напоример, ваша форма может включать поле General, которое отображает картинку. Для повышения производительности вы можете использовать задержанное извлечение мемо-полей для предотвращения загрузки картинок, пока пользователь не щелкнет по кнопке "Просмотр" на вашей форме. Код, размещенный в событии Click кнопки "Просмотр" извлечет поле General и отобразит его на форме.

Для управления задержанным извлечением мемо-полей вы можете использовать свойство FetchMemo на вашем представлении или курсоре. Свойство FetchMemo указывает - будет ли извлекаться содержимое полей типа Memo или General во время загрузки строк. Значение по умолчанию является true (.T.), что означает, что поля Memo и General будут загружаться автоматически. Если ваши данные содержат большое количество информации в мемо-полях, вы сможете отметить увеличение производительности, когда установите значение свойства FetchMemo в false (.F.).

Note Замечание

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

Используйте функцию DBSETPROP() для установки свойства FetchMemo представления и функцию CURSORSETPROP() для установки свойства FetchMemo на курсоре.

Оптимизация производительности извлечения данных

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

Объект | Свойство | Установка
Connection | PacketSize | 4K to 12K1
Connection | Asynchronous2 | .F.
View | FetchSize3 | максимальное значение

1. Установите более высокие значения для строк, содержащих большее количество данных; вы должны поэкспериментировать, чтобы найти наилучшие значения. 2. Используйте синхронные соединения для увеличения производительность до 50%, пока вы пожелаете иметь возможность прекращения исполнения SQL-предложений, исполняемых на сервере. 3. Эффект свойства FetchSize высоко зависим от размера записи извлекаемого набора результатов. В синхронном режиме он может значительно воздействовать на производительность. FetchSize, если снижен в размере, обеспечивает значительно лучшую "отзывчивость" интерфейса, пока производится прогрессивное извлечение представления, но снижает скорость загрузки. Если размер увеличен, он увеличивает и производительность извлечения представления.

Реальная производительность зависит в высшей степерь от конфигурации вашей системы и требований приложения.

Смотрите также

Концепции

Оптимизация соединений
Ускорение запросов и представлений
Ускорение работы форм
Повышение производительности при обновлениях и удалениях данных

Прочие ресурсы

Оптимизация производительности Client/Server
Расширение приложений с помощью технологии SQL Pass-Through

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Query and View Acceleration

Visual FoxPro 9.0
Query and View Acceleration
См. также

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

Добавление индексов в отдаленные таблицы (remote tables).

Отдалённые индексы могут значительно ускорить запросы. Многотабличные запросы выполняются быстрее, если таблицы индексированы по полям объединения (join). Присутствие индексов по полям, которые включены в выражение WHERE, также может увеличить производительность.

Кластерные индексы обеспечивают наилучшую производительность. На SQL Server каждая таблица может иметь один кластерный индекс. SQL Server Upsizing Wizard автоматически создает кластерные индексы у таблиц, которые содержат первичный ключ (primary key) в Visual FoxPro.

Note Совет

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

Оптимизация локальной и отдаленной обработки

Если Вам нужно обработать комбинацию локальных и отдаленных данных (remote data), создайте отдаленное представление (remote view), которое комбинирует все отдаленные данные в одну виртуальную таблицу. Затем Вы можете выполнить операцию объединения (join) отдаленных и локальных данных в локальном представлении. Так как Visual FoxPro полностью получает данные обоих представлений до объединения и фильтрации комбинированного представления, важно ограничить размер получаемых данных.

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

Оптимизация параметризированных представлений данных

Вы можете ускорить получение данных во время выполнения операции REQUERY( ) на уже открытом, параметризированном представлении путем компиляции представления до его выполнения. Предварительно скомпилировать или "подготовить" ("prepare") представление можно установкой свойства Prepared в Истинно (.T.).

Оптимизация параметров выражений

Представления и параметры сквозных SQL запросов есть выражения Visual FoxPro и вычисляются в Visual FoxPro до того, как посылаются на сервер. Надо это иметь в виду, так как время вычисления увеличивает время выполнения запроса.

См. также

Концепции

Speeding Up Data Retrieval
Form Acceleration
Performance Improvement on Updates and Deletes

Дополнительные статьи

Optimizing Client/Server Performance
Enhancing Applications Using SQL Pass-Through Technology

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнил Колосов Владислав.


Form Acceleration

Visual FoxPro 9.0
Form Acceleration
Смотрите также

Когда вы разрабатываете форму, основанную преимущественно на серверных данных, примите минималисткий подход для обеспечения наивысшей производительности. Определите требуемые данные и функциональные возможности и не торопитесь запрашивать их у сервера; пусть они будут по необходимости запрошены пользователем. When you design a form based primarily on server data, take a minimalist approach for the best performance. Determine the data and functionality needed, and delay asking the server for this data and functionality until requested by the user. Requesting data from the server uses processing time and creates network traffic. To request less data in your forms:

  • Запрашивайте минимально необходимое количество записей. Например, используйте фильтр или запрос для ограничения размера набора записей. Убедитесь, что сервер может обрабатывать любые используемые вами ограничения.

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

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

  • Используйте минимально необходимое число элементов управления, которые обращаются к удаленным данным и с которыми они связаны. Каждый combobox, listbox и grid, связанный с удаленной таблицей или запросом, требует отдельного запроса на сервер при открытии формы. Избегайте элементов управления, использующих подсчет общих сумм или элементов управления класса listbox и combobox, которые имеют источник ресурсов с большим объемом данных.

  • Если пользователю необходимо сравнивать множественные наборы данных, примите решение хранить данные, возвращаемые сервером во временных локальных таблицах. Предоставьте пользователю форму, в котором он может использовать предварительно сохраненные данные или исполнить новый запрос.

Локальное хранение таблиц, используемых для поиска

Достаточно часто приложение содержит несколько форм, которые используют одни и те же удаленные таблицы. Если данные в таблице обновляются нечасто, вы можете повысить скорость загрузки форм и уменьшить нагрузку на сервер, используя приведенные ниже методики:

  • Храните таблицы, которые содержат данные неизменяемые по времени, и в то же время имеющие небольшой размер (такие, как имя и сокращения регионов или областей в вашей стране) в локальной базе данных приложения Visual FoxPro. Если таблица объединяется в запросах и представлениях с удаленными таблицами, вам необходимо иметь ее копию на сервере и избегать объединения локальных и удаленных данных.

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

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

Отображение полей только по запросу

Отображайте поля, для которых требуется большое время для извлечения данных с сервера, такие, как поля Memo или General, только тогда, когда они реально необходимы. Вы можете использовать приведенные ниже методики:

  • Если ваша форма основана на представлении, разместите поля Memo или General вне экрана или на другой странице формы. Введите в форму метку, такую как "Нажмите клавишу <Page Down> для просмотра замечаний и картинок", которая будет информировать пользователя о том, как он сможет отобразить требуемую информацию. Установите свойство FetchMemo представления или курсора в False (.F.), для того, чтобы Visual FoxPro не извлекал поля Memo или General до тех пор, пока они не должны быть отображены на экране.

  • Установите значение свойства Visible в False (.F.) для элементов управления, связанных с полями Memo или General. Введите командую кнопку - переключатель, которая будет устанавливать это свойство в True (.T.), когда пользователю потребуется видеть содержимое этих элементов управления.

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

    Остаток статьи заменен полностью из-за приведенной в опечатки и возникающей в связи с этим путаницы.

    Предположим, что у вас имеется набор форм, в которую включены две формы, а в DataEnvironment набора форм введены два представления customers_data и orders_data. Положим, что первая форма, базовая, с именем Form1, основана на представлении customers_data, чье предложение SQL SELECT включает в себя приведенный ниже код:

    CopyCode image Скопировать код
    SELECT customer_id, company_name, address, city, region, country
   FROM customers

    Вторая форма, с именем Form2, основана на параметризованном представлении orders_data и ее свойство Visible установлено в .F.(False). Для курсора этого представления установим свойство NoDataOnLoad в .T. (True). Предложение SQL SELECT для представления orders_data включает в себя приведенный ниже код:

    CopyCode image Скопировать код
    SELECT orders.order_id, orders.order_date, orders.shipper_id, ;
   employee.emp_id, employee.last_name, employee.first_name ;
   FROM orders, employee ;
   WHERE orders.cust_id = ?THISFORM.txtCust_id ;
   AND orders.employee_id = employees.emp_id

    Базовая форма включает в себя ряд элементов управления, среди которых имеется поле txtCust_id, связанное с полем customer_id представления customers_data, а также командная кнопка с заголовком "Подробнее", в чей процедурный код события Clicj мы должны вставить функцию приведенный ниже код:

    CopyCode image Скопировать код
    Requery("orders_data")
Thisformset.Form2.Show

    При нажатии на кнопку "Подробнее" в представление orders_data будет загружена информация и форма будет отображена пользователю для просмотра информации о заказах выбранного потребителя.

Смотрите также

Концепции

Ускорение запросов и представлений
Улучшение производительности на Updates и Deletes

Прочие ресурсы

Оптимизация производительности Client/Server
Расширения приложений с помощью технологии SQL Pass-Through

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Performance Improvement on Updates and Deletes

Visual FoxPro 9.0
Улучшение производительности при обновлениях и удалениях
Смотрите также

Вы можете ускорить выполнение предложений Update и Delete с помощью:

  • добавлением в ваши удаленные таблицы timestamps,

  • использованием свойства CompareMemo,

  • использованием режима ручных транзакций,

  • использованием хранимых процедур на удаленном сервере,

  • пакетными обновлениями.

Добавление Timestamps (Меток времени)

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

Присутствие поля типа timestamp в удаленной таблице позволяет вам использовать Visual FoxPro SQL WhereType опцию обновления DB_KEYANDTIMESTAMP. Эта опция снижает время обработки, так как Visual FoxPro будет сравнивать только два поля в вашем представлении, ключевое поле и поле timestamp, с аналогичными в удаленной таблице для определения конфликтов обновления. Сравнением двух полей в противоположность сравнению всех обновляемых полей (с опцией DB_KEYANDUPDATABLE) или всех изменяемых полей (с опцией DB_KEYANDMODIFIED), опция DB_KEYANDTIMESTAMP снижает время, которое затрачивается на обновление удаленных данных. Для получения информации об опцих WhereType смотрите описание Управление обновлениями с использованием представлений.

Note Замечание

Опция DB_KEYANDTIMESTAMP сравнимает ключевое поле и поле timestamp только в том случае, когда удаленная таблица содержит поле timestamp. Если вы используете опцию DB_KEYANDTIMESTAMP на удаленной таблице, которая не содержит поля timestamp, Visual FoxPro будет сравнивать только ключевые поля.

Мастер переноса - Upsizing Wizard - может автоматически добавить поля timestamp, как соответствующие таблицам, которые вы экспортируете. Для получения более подробной информации смотритре раздел "Колонки Timestamp" в Перенос баз днных Visual FoxPro на серверные базы данных.

Note Совет

Если вы делаете что-то, что изменяет структуру базовой таблицы представления, например добавляете поле timestamp, вам может потребоваться пересоздать представление. Поля в определении представления хранятся в базе данных и любые изменения в базовых таблицах представления после использования представления, не отразятся в определении представления до тех пор, пока вы не пересоздадите его заново.

Исключение мемо-полей из опции обновления WHERE

Когда это возможно, вы можете повысить скорость обновления, предотвратив сравнение мемо-полей представления (поля типа Memo, General или Picture) с парными полями в базовой таблице. По умолчанию, свойство CompareMemo установлено в true (.T.), что автоматически включает мемо-поля в опции SQL WHERE, генерируемой при создании обновляемого представления. Вы можете установить свойство CompareMemo в false (.F.) для исключения мемо-полей из SQL WHERE.

Использование транзакций

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

Режим автоматической транзпкции является время-затратным, так как по умолчанию каждое отдельное предложение обновления оборачивается в отдельную транзакцию. Этот метод предоставляет максимальный контроль над каждым индивидуальным предложением обновления, но кроме этого увеличивает накаладные расходы.

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

Note Совет

Свойство BatchUpdateCount не поддерживается некоторыми серверами; вы должны протестировать это свойство для каждого удаленного сервера, вовлеченного в ваше приложение до его использования.

Использование хранимых процедур сервера

Вы можете создать на сервере хранимые процедуры, которые предварительно компилируются и поэтому исполняются очень быстро. Вы можете исполнять хранимые процедуры, посылать параметры со сквозными запросами (SQL pass-through) и переместить дополнительную обработку на сервер, если это подходит для вашего приложения.

Например, вы можете пожелать собирать вводы пользователя локально, а затем исполнять сквозной запрос SQL pass-through для посылки данных на сервер, вызвав подходящую хранимую процедуру. Что сделать это, вам может потребоваться создать форму для локального курсора или массив для сбора данных и, затем, написать код, который сконструируем команды SQLEXEC( ) с использование имени хранимой процедуры и обеспечиваемых параметров. Вы одлжны, затем, добавить этот код в событеи Click командной кнопки с заголовком "OK" или "Commit." Когда пользователь щелкнет по кнопке, то будет запущена команда SQLEXEC( ). Использование хранимых процедур на удаленном сервере для обновления удаленных данных может быть более эффективным, так как хранимые процедуры компилируются на сервере.

Пакетные обновления

Если ваше приложение обновляет целый ряд записей, вы можете пожелать посылать обновления пакетами, так как они обслуживаются более эффективно и сетью, и сервером. Предложения Update или Insert собираются в пакет до посылки их на сервер, в соответствии со значением свойства представления BatchUpdateCount. Значением по умолчанию является единица, что означает, что каждая запись посылается на сервер с предложением обновления. Вы можете снизить нагрузку сети увеличением значения пакета множественных обновлений в предложении.

Note Совет

Свойство BatchUpdateCount не поддерживается некоторыми серверами; вы должны протестировать это свойство для каждого удаленного сервера, вовлеченного в ваше приложение до его использования.

Для более эффективного использования этой возможности, соединение предстваления должно быть установлено в режим буферирования 5, для опитимистического буферирования таблицы, а изменения, в идеале, должны быть ограничены теми же самыми полями в каждой строке курсора. Вы можете использовать функцию DBSETPROP( ) для установки свойства BatchUpdateCount в определении представления; для изменения значения активного курсора, используйте CURSORSETPROP( ).

Оптимизация производительности обновлений и удалений

Вы можете использовать приведенные ниже руководства для установки свойств представления и соединения для оптимизации производительности обновлений и удалений. Свойство BatchSize вашего представления оказывает наибольшее влияние на производительность.

Объект | Свойство | Установка | Замечания
View | BatchUpdateCount | 10 – 30 строк | Установите большее значение для небольших по размеру обновлений 1. Установка повышает производительность до 50%. По умолчанию равна 1.
Connection | Asynchronous | (.F.) | Используйте синхронные соединения для увеличения производительности до 50%, до тех пор, пока вы не пожелаете иметь возможность прекратить исполнение SQL предложений, исполняемых на сервере. По умолчанию устанавливается в синхронный режим.
Connection | WaitTime | N/A | Для увеличения производительности в асинхронном режиме, используйте укороченное время ожидания; для снижения нагрузки на сеть увеличтьте время ожидания.
Connection | PacketSize | 4K to 12K | Незначительно влияет на производительность.

1 Ваши лучшие значения будут зависеть, кроме того, и от скорости вашего сервера.

Реальная производительность в высшей мере зависит от конфигурации вашей системы и требований приложения.

Смотрите также

Задачи

Как: оптимизировать производительность представления

Концепции

Ускорение работы формы
Ускорение работы запроса и представления
Оптимизация соединений
Увеличение скорости извлечения данных

Прочие ресурсы

Оптимизация производительности Client/Server
Расширение приложений с помощью технологии SQL Pass-Through

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Performance Enhancement through Set-Based Data Access

Visual FoxPro 9.0
Улучшение производительности через доступ к данным на основе наборов
Смотрите также

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

Эффективное обращение к наборам данных

Удаленные данные представляют собой данные на основе их наборов; вы можете обращаться к данным, выбрав набор данных из большого из количества с помощью предложений SELECT - SQL. Наиболее значимым различием между разработкой традиционного локального приложения и разработкой клиент-серверного приложения заключается в противоположности между традиционными методами навигации Visual FoxPro и методами обращения к основанных на наборах серверных данных.

Использование традиционных методов навигации

В традиционном программировании локальной базы данных, вы можете обращаться к конкретным и часто большим объемам данных с помощью команд GOTO BOTTOM, которые вы можете затем использовать на запросах. Вы можете перемещаться по данным, создав временные отношения между двумя таблицами с помощью команды SET RELATION и, затем, выдав команду SKIP для перемещения по связанным записям.

Хотя такой метод навигации по записям может быть использовать для удаленных данных, он может быть неэффективным в случае их очень большого объема. Например, если вы создаете удаленное представлении, которое обращается к большой таблице на удаленном источнике данных, а затем используете команду GOTO BOTTOM, вам придется ждать, пока все данные представления будут затребованы из источника данных, посланы через сеть и загружены в локальный курсор вашего представления.

Использование параметризированных запросов

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

Вы не должны использовать команду GOTO BOTTOM для удаленных серверных данных по приведенным ниже причинам:

  • чрезмерная и не являющаяся необходимой нагрузка на сеть из-за загрузки огромных объемов данных;

  • уменьшение производительности приложения из-за обработки данных, которые не требуются в данный момент времени;

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

Например, если вы желаете создать клиент/серверное приложение, которое обращается к заказам конкретного потребителя, создайте удаленное представление, которое будет обращаться к таблице Customer. Создайте второе удаленное представление, которое будет обращаться к таблице Orders, но сделайте его параметризированный на основе поля cust_id. Затем используйте текущую запись потребителя в качестве параметра для представления, обращающегося к таблице Orders.

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

Выбор наилучшего дизайна для клиент/серверного приложения

Приведенные ниже примеры описывают - как достичь преимуществ технологии клиент/сервер и избежать просчетов при скромных методиках программирования. Первый метод использует традиционную практику программирования для извлечения всех данных из удаленного источника данных в локальные курсоры, которые затем связываются отношениями с помощью команды SET RELATION. Второй, третий и четвертый методы перенимают прогрессивно развитые методики извлечения данных, эффективно ограничивая количество сгружаемых данны по технологии just-in-time (как раз вовремя), которая обеспечивает свежесть данных и быстрое время ответа в сети.

Использование неоптимизированной стратегии клиент/сервер

Непосредственное, неоптимизируемое приложение использует метод навигации по локальным данным с удаленными данными. Например, если у вас имеется 10 миллионов записей потребителей и 100 миллионов записей заказов на удаленном источнике данных, вы можете создать совершенно неэффективное приложение, которое сгрузит все записи из таблиц Customer и Order в локальные курсоры. Затем вы должны индексировать 100 миллионов записей заказов, создать временные отношения межде таблицами Customer и Orders в ваших локальных курсорах и использовать команду SKIP для навигации по записям.

Такой метод не оптимизирован по производительности, однако, может быть полезен в случае, если только сторона "one" отношения типа "one-to-many" - локальная, а сторона "many" является удаленной.

Фильтрация на стороне "Many"

Немного улучшенное приложение клиент/сервер ограничивает сторону отношения "many", но извлекает все записи на стороне "one", для того, чтобы вы могли перемещаться по записям. В этом сценарии, вы создаете удаленное представление стороны отношения "many", таблицу Orders, параметризированную по идентификатору потребителя ID. Затем вы сгружаете таблицу Customer целиком.

Хотя создание параметризированного представления на таблице Orders представляет собой улучшение по загрузке по сравнению с затратами времени по загрузке всез заказов, вы продолжаете получать ненужную информацию, поскольку вы сгружаете таблицу Customer целиком. Таблица Customer, кроме того, увеличивает возможность устаревания данных, вследствие того, что в исходной таблице другими пользователями в вашей системе могут быть сделаны изменения. Этот метод может быть выигрышным в случае, когда сторона "one" отношения содержит небольшой набор данных.

Фильтрация на стороне "One"

Лучший метод клиент/серверного программирования создает удаленные представления для всех удаленных данных. Вы ограничиваете число записей Customer, загружаемых в удаленное представление таблицы Customer, используя в представлении предложение SELECT, выбирающее потребителей только из одного региона. Затем вы создаете удаленное представление стороны отношения "many", таблицы Orders, параметризированное по идентификатору потребителя ID.

Такой сценарий извлекает совсем небольшой набор записей. Вы используете команду SKIP для перемещения на стороне отношения "one" (представление Customer). Вы используете функцию REQUERY( ) для обращения к новым данным на стороне отношения "many" (Orders).

В этом примере, вы ограничиваете, или фильтруете, обе стороны отношения, как "one", так и "many" и вы продолжаете использовать команду SKIP для навигации по фильтрованным данным. Такой метод рекомендуется, если сторона отношения "one", даже будучи отфильтрованной, продолжает являться достаточной для последующего набора запросов, до того, как вы запросите удаленный сервер.

Использование первичного ключа для обращения к отношению "One-to-Many"

Наиболее успешная парадигма клиент/серверного программирования отказывается от множественного использования команды SKIP и создает форму, которая запрашивает ввод или предоставляет возможность выбора потребителя по его идентификатору ID, который в дальнейшем используетс в качестве параметра для удаленного представления таблицы Customer. Этот параметр, кроме того, используется в качестве параметра для удаленного представления таблицы Orders.

Например, вы можете создать форму для отношения "one-to-many" в которой информация о потребителе формируется на стороне отношения "one", а элемент управления Grid отображает сторону отношения "many". Элемент управления Grid может быть связан с идентификатором потребителя ID, выбранного в форме на стороне отношения "one". Вы можете, затем установить свойство MaxRecords функции CURSORSETPROP() в 1 и использовать приведенный ниже код для заполнения в форме стороны отношения "one":

CopyCode image Скопировать код
SELECT * FROM customer WHERE customer.cust_id = ?cCust_id

Когда пользователь пожелает просмотреть другие записи потребителей, он либо вводит, либо выбирает новый идентификатор потребителя. Форма запрашивает источник данных о заказах для нового потребителя и обновляет данные в элементе управления Grid новыми данными заказов.

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

Такой метод рекомендуется, когда вы желаете часто обращаться к отношению "one-to-many" с помощью значения первичного ключа. Вы можете пожелать сгрузить первичные ключи в элемент управления типа выпадающего списка, при открытии формы и затем предоставить пользователю элемент управления, с помощью которого он сможет обеспечить по необходимости обновление списка значений первичных ключей.

Использование DataEnvironment в клиент/серверных приложениях

Когда вы используете удаленные данные в форме, включите представления на их основе в ее окружение данных. Вы можете установить свойство AutoOpenTables DE в false (.F.) для того, чтобы вы смогли указать, когда приложение будет обновлять представления удаленными данными. Установите свойство ControlSource элементов управления типа textbox или прочих элементов управления, которые могут быть связаны с данными, после того, как вы вы вызовите метод OpenTables, что обычно производится в событии Init форм. Для получения более подробной информации смотрите Creating Forms.

Смотрите также

Концепции

Client/Server Design for High Performance
Data Location on the Optimal Platform
Selecting the Right Methods

Прочие ресурсы

Planning Client/Server Applications
Optimizing Client/Server Performance
Enhancing Applications Using SQL Pass-Through Technology

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Data Location on the Optimal Platform

Visual FoxPro 9.0
Размещение данных на оптимальной платформе
Смотрите также

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

В приведенной ниже таблице перечислены наиболее общие элементы приложения и примеры их размещения с целью обеспечения максимальной производительности.

Размещение элементов по платформам
Элемент | Размещение | Тип | Замечания
Таблицы | Локальное | Локальные копии серверных таблиц, используемых только для поиска; небольшие, нечасто изменяемые таблицы | Используйте метку времени, если это поддерживается удаленным сервером, для сравнения и необязательного обновления локальной таблицы для соответствия любым измнениям в исходной серверной таблице.
 | Удаленное | Большие или часто изменяемые таблицы |
Правила | Локальное | Правила на удаленных представлениях | Вы можете использовать DBSETPROP( ) для хранения правил уровня поля и записи на удаленном представлении. Ваше приложение может использовать такие локальные правила для проверки действительности данных до посылки их в качестве обновлений для удаленных таблиц.
 | Удаленное | Правила уровна строки и колонки на удаленных исходных таблицах |
Хранимые процедуры | Локальное | Хранимые процедуры Visual FoxPro |
 | Удаленное | Хранимые процедуры на удаленном сервере | Используйте функцию SQL pass-through SQLEXEC() для вызова удаленной процедуры на сервере.
Транзакции | Локальное | Транзакции Visual FoxPro |
 | Удаленное | Серверные транзакции |
Триггеры | Локальные представления | Не имеется триггеров на представлениях |
 | Удаленное | Серверные триггеры |

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

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

Смотрите также

Концепции

Улучшение производительности через доступ к данным на основе установок
Выбор правильных методов
Быстрая разработка приложений
Конструирование клиент/серверного приложения для обеспечения наивысшей производительности

Прочие ресурсы

Планирование клиент/серверного приложений
Оптимизация производительности клиент/серверного приложения
Расширение приложений с помощью технологии SQL Pass-Through

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Rapid Application Development

Visual FoxPro 9.0
Быстрая Разработка Приложения
Смотрите Также

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

Построение Прототипа с помощью Представлений

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

Создание локального Прототипа с помощью локальных Представлений

Локальный Прототип Клиент-Серверного приложения обычно используется для создания ключевых механизмов обработки данных, выполняется отладка основных вычислительных процедур, реализуемых системой Visual FoxPro, в качестве тестируемых данных выступают Локальные Представления, которые являются прототипами реальных удаленных данных. На данном Этапе вы используете Локальные Представления, что соответствует в дальнейшем создаваемой модели: удаленный Сервер использует соответствующие Удаленные Представления. После реализации Локального Прототипа вы на один Шаг приближаетесь к Финальному варианту создаваемого Приложения.

Фаза Построения локального Прототипа в процессе Разработки обычно используется в условиях отсутствия доступа к реальному Удаленному Серверу, или если вы не желаете использовать для тестирования Приложения реальные данные удаленного Сервера. Локальные Представления основываются на данных из локальных Таблиц Visual FoxPro, а не на реальных данных из Таблиц удаленного Источника. В этих условиях вам требуется создать локальные Данные, наполнить локальные Таблицы конкретными данными, которые по своей структуре соответствуют Реальным Данным, Таблицам и Объектам Сервера. Описанный вариант - один из способов построения Модели обработки данных в создаваемом Приложении. Для ускорения разработки рекомендуется создавать небольшие массивы данных для Тестирования, только для функциональной реализации создаваемых Представлений. Дополнительную информацию смотрите в разделе: Работа с Представлениями (Views).

Планирование Масштабирования (Upsizing)

Upsizing (Укрупнение/Масштабирование) - есть процесс создания структуры Базы Данных на удаленном сервере на основе аналогичных Локальных Баз Данных, таблиц и других Объектов Данных системы Visual FoxPro. С помощью процесса Масштабирования вы имеете возможность перевода вашего локального Приложения Visual FoxPro в приложение типа Клиент-Сервер. Дополнительную информацию смотрите в разделе: Масштабирование Баз Данных Visual FoxPro.

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

Макетирование с помощью Удаленных Представлений

Если вы уже имеете доступ к удаленному источнику данных (серверу) и планируете использование в дальнейшем удаленных представлений для работы с реальными Данными, которые будет обрабатываться в вашем приложении типа Клиент-Сервер, вы можете использовать указанные Представления в качестве основы создаваемого Прототипа. При использовании указанного варианта построения Прототипа на основе удаленных представлений, вы можете пропустить Фазу Масштабирования (upsizing) локальных данных, так как базовые наборы данных уже располагаются на удаленном Сервере, и вы используете непосредственно Удаленные Представления.

Реализация основных функций Приложения типа Клиент-Сервер

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

Для реализации базовых Функций вашего Приложения, вы можете использовать для основных Операторов обработки данных внутренний синтаксис команд Сервера, который планируется к использованию, это могут быть Хранимые Процедуры (stored procedures), построенные на основе технологии сквозных запросов (SQL pass-through technology). Дополнительную информацию смотрите в разделе: Расширение Приложения с помощью Технологии Сквозных Запросов SQL.

Оптимизация вашего Приложения

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

См. также

Концепции

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

Другие ссылки

Архитектура Приложения
Планирование Приложений типа Клиент-Сервер
Масштабирование (Upsizing) Баз Данных Visual FoxPro

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш


Application Creation with Accuracy and Data Integrity

Visual FoxPro 9.0
Разработка Приложений, обеспечивающих корректность и целостность Данных
Смотрите Также

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

Поддержка Целостности Данных

Вы можете создать Локальную Версию правил контроля вводимых данных для Удаленного Сервера, в которой предусмотреть Сообщения для Пользователя по ошибкам Ввода данных; например, можно создать Сообщение, в котором Пользователь информируется о недопустимости сохранения данных на Сервере, так как в этом случае будет нарушена Ссылочная Целостность между Таблицами, или введенные данные не удовлетворяют Правилам Контроля.

Использование Правил Visual FoxPro в Удаленных Представлениях, или Offline-View

Вы можете создавать Правила Контроля Данных для уровней Поля или Уровней Записи при обработке Удаленных представлений или offline -view, которые будут выполняться до того момента, когда эти Данные будут отправлены на Удаленный Источник Данных (Сервер). Поскольку назначение создаваемых Правил - предотвратить отправку на Сервер Данных, которые будут отвергнуты Правилами Целостности Сервера, вы можете скопировать Правила Сервера для создания соответствующих Правил удаленных Представлений. Для этого рекомендуется использовать функцию DBSETPROP( ) для создания Правил в создаваемых Удаленных Представлениях.

Note Совет

Вы можете создать локальное Правило Контроля Данных для Удаленного Представления, которое будет вызывать соответствующую Хранимую Процедуру на удаленном Сервере, в которую данные будут передаваться в виде параметров. Однако, при таком варианте увеличивается время обработки одного сегмента данных (например: Записи), и может увеличиться время ввода Данных.

Использование Правил Сервера

Вы можете управлять процессом выполнения Правил Контроля Данных на Сервере. Если возникает Ошибка, то созданный вами заблаговременно Контроллер обработки ошибок, основанный на использовании функции AERROR( ) должен быть настроен для информирования Пользователя о результатах выполнения операций сохранения данных на Сервере, а также предлагать повторить или отменить последнюю Операцию.

Использование Триггеров Сервера

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

Защита от Потери Данных

Как система Visual FoxPro, так и Удаленный источник Данных обладают Механизмами Журналов Транзакций, которые обеспечивают некоторую Защиту от потери Данных. Дополнительную информацию смотрите в разделе: Программирование Коллективного Доступа к Данным.

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

См. также

Концепции

Быстрая Разработка Приложений
Методы Загрузки и Контроля Данных
Оптимальные Платформы Размещения Данных

Другие ссылки

Архитектура Приложения
Проектирование Приложений типа Клиент-Сервер
Расширение Приложений при использовании Технологии Сквозных Запросов (SQL Pass-Through)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Planning Enterprise Applications

Visual FoxPro 9.0
Планирование Приложений Масштаба Предприятия
См. также

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

Кроме того, Вы можете использовать Visual FoxPro как часть крупномасштабного приложения, которое включает в себя два или более инструментальных средства разработки. Применение Visual FoxPro таким способом, именуемым "разработка масштаба предприятия", позволяет Вам получать преимущества за счет использования уникальных возможностей каждого продукта. Разработка Масштаба Предприятия может быть такой же простой как поддержка базы данных о клиентах в Visual FoxPro и отправка сообщений и документов по электронной почте в Microsoft Word; помимо этого она может включать создание сложного приложения, использующего клиент/серверные базы данных, серверы Автоматизации, электронную почту и другое.

Visual FoxPro - это идеальное средство для создания широких деловых решений для предприятия, поскольку он предоставляет:

  • Мощные и удобные прикладные инструментальные средства разработки, включая Конструктор Форм (Form Designer) и мастера (wizards).

  • Быстрое средство управления базами данных.

  • Отличную связь с другими продуктами, включая такие программы Windows как Microsoft Excel and Word, и клиент/серверные системы, такие как Microsoft SQL Server.

  • Встроенные элементы управления и другие инструментальные средства разработки.

Следующие характеристики позволят Вам работать с Visual FoxPro в нескольких ролях в крупномасштабном приложении. Вы можете использовать Visual FoxPro:

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

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

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

См. также

Задачи

Руководство: Создание Серверов Автоматизации (Create Automation Servers)

Концепции

Visual FoxPro как Основное Приложение
Visual FoxPro как Вспомогательное Приложение

Другие ресурсы

Архитектура Приложения
Объектно-Ориентированное Программирование
Получение доступа к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Security Planning

Visual FoxPro 9.0
Планирование Безопасности

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

Для подробной Справки по вопросам Планирования Безопасности при разработке Программ посетите указанную страницу Microsoft: http://www.microsoft.com/security/.

В данном Параграфе

Соглашения по Безопасности (Visual FoxPro)

Рассматриваются ключевые вопросы Безопасности, на которые должен обратить внимание Разработчик Серверных Приложений.

Характерные риски Безопасности для Разработчиков Приложений Visual FoxPro

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

Связанные Секции

Планироание Архитектуры Приложения

Рассматриваются преимущества надежного планирования разработки Приложений; создания полной информативности выполняемых Операций Приложения, Групповые Проеты, и другие общепринятые международные Соглашения по процессам Программирования.

Программирование в системе Visual FoxPro

Приводятся ссылки и различная информация по Технологии Объектно-Ориентированного Программирования, по ключевым вопросам Событийной Модели Приложения, другим моментам, обеспечивающим создание надежных и продуктивных Приложений VFP.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Security Considerations (Visual FoxPro)

Visual FoxPro 9.0
Соглашения по Безопасности (Visual FoxPro)
Смотрите Также

При Проектировании и Разработке Серверного Приложения, вы должны предусмотреть в вашем проекте механизмы обеспечения Безопасности. Далее представлен приблизительный Список основных вопросов Безопасности вашего Приложения и обрабатываемых Данных:

  • Security goals (Цели Безопасности) Определите, от Чего (или от Кого) требуется защищать ваше Приложение.

  • Security risks (Риски Безопасности) Выявление уязвимых мест вашего приложения. Выяснение возможных потенциальных угроз для вашего приложения, обрабатываемых Данных; для вашего Бизнеса (вашей Работы).

  • Authentication (Идентификация) Рассмотрение технологических этапов получения доступа (аутоитентификации Пользователя) в Серверных системах. Выше приложение должно иметь стандартные механизмы получения Доступа к Удаленным Базам Данных. Или, как серверное Приложение, располагать Компонентой для проверки представляемых данных по получению доступа. Вывод: вам требуется решить, как ваше Приложение обеспечивает стандартные функции как Клиентского, так и Серверного Приложения.

  • Authorization (Авторизация) Рассматриваются вопросы обеспечения функциональными возможностями получения пользователем Приложения доступа к Различным Ресурсам в Локальной или Глобальной Сети.

  • Securing data transmission (Безопасность передачи Данных) Тестирование (или проверка) возможности изменения (или трансформации) передаваемых (или получаемых) Данных. Анализ необходимости Кодироания (шифрации) передаываемой /
    получаемой информации.

  • Impersonation (Маскировка) Данный уровень Безопасности основывается на предоставлении Серверному Приложению созданных Сертификатов по выполнению на стороне Сервера требуемых Операций с Данными, которые выполняются по инициативе Клиента. Когда Сервер "маскируется" под Клиента, то операции выполняются на основе Сертификатов Клиента. Процессы Маскировки не являются достаточными средствами по обеспечению полного доступа к необходимым сетевым Ресурсам.

  • Delegation (Делегирование) Обеспечиваются процессы предоставления Доступа к Ресурсам на стороне Клиента, которые аналогичны процессам Маскировки (смотрите выше). Однако, технология Делегирования предоставляет более совершенные методы выполнения Серверных операций от имени Клиента, вызываемых с различных Рабочих Мест (с различных Рабочих Станций) , для которых определены (делегированы) соответствующие Функции.

  • Operating system security (Безопасность Операционной Системы) Данный уровень Безопасности базируется на соответствующих Управляющих Списках Доступа (Access Control Lists (ACLs)), которые управляют доступностью Сетевых Ресурсов для конкретного Пользователя. При использовании данного инструмента (ACLs) вы можете определить некоторый Сетевой Ресурс и соответствующую Группу Пользователей, для который будет доступен указанный Ресурс.

  • Securing physical access (Безопасность на физическом уровне) В данном случае имеется в виду Физическое размещение Серверного Ресурса (например, в другой комнате, или с ограниченным доступом). Вым не следует принебрегать указанным принципом организации Безопасности обработки Информации.

  • Code access security (Безопасность по Коду Доступа (по-паролю)) Уровень проверки допустимого программного Кода. Вам требуется отдавать себе отчет, каков уровень надежности организации локальной, программной Безопасности.

См. также

Концепции

Риски Безопасности для Разработчиков Visual FoxPro

Другие ссылки

Планирование Элементов Безопасности

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Security Risks for Visual FoxPro Developers

Visual FoxPro 9.0
Риски, связанные с безопасностью, для разработчиков Visual FoxPro
Смотрите также

При разработке и внедрении приложений очень важно понимать проблемы безопасности. Общая информация о разработке безопасных приложений имеется на сайте Microsoft по адресу http://msdn.microsoft.com/security.

Разработчики должны быть осведомлены о перечисленных ниже конкретных проблемах безопасности и передовом опыте при разработки приложений Visual FoxPro:

  • Проверяйте достоверность значений введенных параметров до их вычисления.

    При посылке значений ввода пользователя в качестве параметров команд, таких как команды SQL, вы должны включить код для проверки, что эти значения не содержат вредных значений, вроде тех, что могут вызвать нарушение доступа.

    Избегайте использовать простых текстовых боксов для ввода параметров всегда, когда это возможно и выбирайте элементы интерфейса пользователя, которыми вы можете более легко управлять, такие как списки, решетки (grid) в качестве списков или радиокнопки. Если вы должны полагаться на что-либо напечатанное пользователем в качестве параметра, например, для исполнения команд, вы должны всегда разбирать ввод пользователя на наличиие символов скобок (()). Это гарантирует, что пользователь не введет ничего такого, что может рассматриваться Visual FoxPro в качестве выражения. Вы должны, кроме того, проверить ввод пользователя на наличие амперсанда (&), который используется в качестве символа макроподстановки.

    Caution note Предупреждение

    Будьте чрезвычайно осторожны при акцептировании введенного пользователем значения в качестве параметра и посылки его следующим элементам языка: командам RUN или !, функциям EVALUATE( ) EXECSCRIPT( ), методам _VFP.DoCmd, _VFP.Eval, и символу амперсанд (&). Эта методика рекомендуется только для опытных разработчиков, которые используют жесткие процедуры проверки параметра при разборе значений, которые могут нанести вред приложению, компьютеру пользователя или сети.

  • Предоставьте пользователям меньшую гибкость, когда предоставляются значения для команд SQL SELECT.

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

  • Установите для контейнера базы данных (DBC) системные атрибуты, обеспечивающие доступ "только для чтения".

    Если для DBC установлен доступ "чтение/запись", пользователь может изменить код для событий DBC, таких как DBC_BeforeOpenTables, для включения повреждающего кода, например для форматирования жесткого диска при открытии таблицы базы данных.

    Если требуется изменить DBC с целью обслуживания, администратор сети может временно установить доступ "чтение/запись" для DBC и затем сбросить его в "только для чтения" после завершения обслуживания.

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

    Для защиты исходного кода и удаления отладочной информации, откройте проект вашего приложения в Project Manager (Диспетчере проекта). Для шифрования вашего проекта приложения и удаления отладочной информации, установите метку в чек-боксе Encrypted и снимите метку с чек-бокса Debug info в диалоговом окне Project Information. Вы должны затем установить метку на чек-бокс Recompile All Files в диалоговом окне Build Options и перестроить ваш проект, щелкнув по кнопке Build в окне Project Manager (Диспетчера проекта). В установочную секцию вашего проекта включите команду SET DEBUG.

    Класс _cryptapi, размещенный в каталоге библиотек фундаментальных классов ...\Ffc\_Crypt.vcx foundation предоставляет доступ к процедурам Windows Crypto API, с помощью которых вы можете шифровать строки, данные или файлы в ваших приложениях Visual FoxPro.

    Для получения более подробной информации смотрите Диалоговое окно Project Information (Информация проекта), Окно Project Manager (Диспетчер проекта), Диалоговое окно Build Options (Параметры сборки) и Команда SET DEBUG.

  • Рекомендуется, чтобы вы разрабатывали свои приложения таким образом, чтобы ими могли воспользоваться пользователи с наименьшим уровнем доступа, чтобы у пользователя не было необходимости регистрироваться как "power user" или "administrator".

  • Избегайте записи в ключи реестра HKEY_LOCAL_MACHINE и HKEY_CLASSES_ROOT. Вместо этого, пишите только в улей HKEY_CURRENT_USER .

  • Не создавайте и не обновляйте файлы в каталогах C:\Program Files (%PROGRAMFILES%) или C:\Windows (%SYSDIR%). Вместо этого, вы должны записывать данные пользователя в его каталог приложения. Вы можете использовать класс _commonfolder, размещенный в каталоге библиотек фундаментальных классов ...\Ffc\_System.vcx для получения информации о размещении каталога приложений пользователя.

  • При создании COM серверов в Visual FoxPro рекомендуется, чтобы вы создавали приложения COM+ с тем, чтобы вы смогли воспользоваться встроенной безопасностью COM+, основанной на ролях пользователей.

Смотрите также

Концепции

Соображения безопасности (Visual FoxPro)

Прочие ресурсы

Планирование безопастности
Разработка приложений Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Planning for Team Development Projects

Visual FoxPro 9.0
Планирование Коллективной Разработки Проектов

Вы можете создавать достаточно Сложные Приложения Быстро и Качественно комбинируя и используя в полной мере Опыт, Знания, Усилия нескольких Разработчиков (Коллектива Разработчиков). Однако, Коллективная Разработка нуждается в дополнительных процедурах Координации и Отслеживания всех процессов Разработки Приложения. Одной из возможных Стратегий по управлению процессами Коллективной Разработки является использование специальной подсистемы типа Microsoft Visual SourceSafe, которая относится к подсистемам управления типа "Source Control".

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

В данном Параграфе:

Концепции Коллективной Разработки Приложений (Visual FoxPro)

Рассматриваются основные Вопросы по Разработке Больших и Сложных Приложений с помощью Коллектива Разработчиков.

Инструменты Подсистем типа "Source Control"

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

Управление Проектами Visual FoxPro с помощью подсистем типа "Source Control"

Приводятся Рекомендации по использованию подсистем управления Исходным Программным Кодом, типа "Source Control"; как подключать существующие Проекты Приложений Visual FoxPro под управление указанных подсистем, как создавать новые Проекты в условиях Коллективной Разработки Приложений, контролируемых подсистемами типа Source Control.

Управление программными файлами в Проектах типа "Source-Controlled"

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

Разработка и Модификация Баз Данных в условиях Коллективной Разработки

Рекомендуется использовать несколько важных рекомендаций при построении Приложений по Много- пользовательской Обработке Данных, которые используются при Коллективной разработке Проекта Приложения.

Коллективная Разработка и Использование Библиотек Классов

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

Связанные Секции

Разработка Приложений Visual FoxPro

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

Планирование Структуры Приложения

Объясняется, как можно сэкономить Время, Деньги, Усилия с помощью детального Планирования элементов и процессов их Взаимодействия при проектировании вашего Приложения.

Соглашения по Дизайну Приложения

Рассматриваются вопросы вариантного исполнения ключевых Компонентов вашего Приложения.

Архитектура Приложения

Рассматриваются ключевые вопросы Архитектуры пользовательского Приложения Visual FoxPro, как изменяется Приложение в зависимости от его Архитектуры.

Соглашения по Безопасности (Visual FoxPro)

Объясняется, что должны вы знать о Требованиях Безопасности относительно будущего вашего Бизнеса, как должна конструироваться развертываться подсистема Безопасности вашего Приложения; как она должна Развиваться и Масштабироваться.

Соглашения по Обеспечению Безопасности (Visual FoxPro)

Приводятся конкретные Рекомендации по разработке подсистемы Безопасности вашего Приложения; рассматриваются вопросы Масштабирования и Развертывания подсистемы Безопасности вашего Приложения.

Разработка Многоязычных Приложений

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш


Team Development Concepts (Visual FoxPro)

Visual FoxPro 9.0
Концептуальные вопросы Коллективной Разработки (Visual FoxPro)
Смотрите Также

В условиях работы с группой Разработчиков, вы можете достаточно быстро создавать пользовательские Приложения, решать достаточно сложные технологические Задачи. Вы можете эффективно использовать разнообразные возможности других Разработчиков, создавать такие Приложения, которые трудоемки для одного Разработчика.

Однако, коллективная разработка приложения требует дополнительных возможностей и ресурсов. В этом случае основными факторами успешной Разработки являются:

  • Доступность нескольких Разработчиков к одному Проекту или Базе Данных в одно и тоже время (в режиме On-Line).

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

  • Доступность разработчиков к процессу Расширения Приложения дополнительными Компонентами (например, программными модулями или библиотеками классов) не влияя на текущую работу других Разработчиков, использующих в своих Приложениях указанные Классы и Модули.

Например, представим тот случай, когда ваша Группа разрабатывает Сложное Приложение. В силу того, что Приложение достаточно Большое, система Visual FoxPro должна обеспечить эффективную работу нескольких Разработчиков с одними и теми же Компонентами Приложения. В тоже время, вы должны быть уверены, что в текущий момент только один Разработчик может корректировать характеристики программного элемента (Формы); что другой Разработчик не перепишет программный код некоторого Метода указанной Формы.

Кроме того, вам требуется, чтобы Разработчик не только Разработал Новую Форму, но и выполнил ее Отладку, проверил совместную работу Формы с другими Компонентами Приложения. При этом предполагается, что другие Разработчики или даже Конечные Пользователи, продолжают работать с предыдущей версией указанной Формы. После успешного завершения Разработки и Тестирования Новой версии программной компоненты, она должна быть надежно интегрирована в общий Проект Приложения, и доступна всем Пользователям.

Вы можете использовать предлагаемые варианты и методы координации работы нескольких Разработчиков. Высказанные выше технологические моменты применимы к Проектам и Библиотекам Классов, которые могут коллективно использоываться и изменяться несколькоми Пользователями и Разработчиками.

См. также

Описание

Управление Программными Файлами в Проектах типа "Source-Controlled"

Концепции

Возможности подсистемы "Source Control"
Управление проектами Visual FoxPro типа "Source Control"
Коллективная Разработка и Изменение Баз данных

Другие ссылки

Планирование коллективной Разработки программных Проектов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Source Control Features

Visual FoxPro 9.0
Особенности системы "Source Control"
Смотрите Также

Visual FoxPro обеспечивает несколько вариантов поддержки процессов Коллективной Разработки Проектов Приложений. Наиболее существенной функциональной особенностью, или чертой Коллективной Разработки является эффективное и активное использование внешних систем Управления и Контроля Исходным Программным Кодом компонент Проекта Приложения - Source Code Control System (Source Control).

Система "Source Control" является родительским Контейнером для инструментальных средств, которые управляют Программными файлами в условиях Коллективной Разработки Проектов. Большинство указанных инструментов основано на работе по обслуживанию традиционных общих Библиотек программных компонентов (Классов или Модулей), к данным файлам могут относится и другие типы файлов: Документы, изолированные программные файлы и другие типы файлов, которые могут использоваться всеми участниками Коллективной разработки Проекта. Дополнительно, система "Source Control" обеспечивает выполнение функций Отслеживания вносимых Изменений различными Разработчиками, обеспечения функций подтверждения внесенных Изменений, либо Отмены данных изменений и возврат к прежней версии конкретной программной Компоненты.

В общем случае, Инструментарий "Source Control" обеспечивает выполнение всех, или почти всех функций:

  • Check out, check in (Контроль актуальности, Регистрация) Разработчики выполняют Контроль актуальности загружаемых файлов из центрального, глобального Хранилища файлов Проекта на локальный Компьютер, где выполняется непосредственная разработка программного Кода, вносятся необходимые Изменения и Корректировки. Как Правило, в момент выполнения операции Проверки конкретного файла, другие разработчики не могут выполнять данный контроль или вносить изменения в данный программный файл. Им доступен только процесс Просмотра файла, или его открытия в режиме Только-Чтение. (Если рассматриваемый файл является Текстовым файлом, к таким относятся и обычные программные файлы .Prg, то в этом случае несколько Разработчиков могут выполнять рассматриваемую операцию Проверки программной компоненты, далее вносимые изменения будут Объединены в последовательности обработки Очереди представленных Изменений от различных Разработчиков, и обновлены их локальные Копии). Когда Разработчики завершают обработку локального файла, выполняется регистрация внесенных изменений в главном Архиве Проекта, копия обновленного Модуля возвращается конечному Разработчику. Как часть процесса Регистрации (check-in process) внесенных изменений, система запрашивает ввод дополнительных комментариев для выполненных Изменений.

  • Merging (Слияние, Объединение) Для обеспечения одновременной работы нескольких Разработчиков с одним Программным файлом, система "Source Control" обеспечивает одновременное выполнение несколькими Разработчиками операции Проверки файла (Check Out). (Указанные операции могут выполняться только для Текстовых файлов, Текстовых программных компонент). Система обеспечивает последовательное внесение Изменений, выполненных несколькими Разработчиками.

  • Project control (Управление Проектом) Разработчики могут договориться об общих принципах группировки программных компонент (файлов) Проекта, или специальных Каталогов для специфических файлов Проекта. Файлы зачастую могут использоваться в нескольких коллективно разрабатываемых Проектах, для этого требуется тщательное планирование использования файлов Проекта.

  • Change tracking Большинство Контролирующих Систем ("Source Control") сохраняют в качестве комментариев записи о выполненных Изменениях, которые уже зарегистрированы в системе Контроля. Это обеспечивает возможность Разработчикам выполнить возврат к ранней версии рассматриваемой Программной Компоненты.

  • Difference checking (Проверка Различий) Контролирующие Системы "Source Control" обеспечивают Разработчика функциональными возможностями просмотра нескольких версий файла и выделением различий в указанных версиях программных файлов.

  • History (История Изменений) Разработчики могут воспользоваться сохраняемым списком вносимых Изменений по каждому файлу,где сохраняются Комментарии каждого Разработчика, выполняющего перечисленные Изменения, и их регистрацию в глобальном Архиве.

    Note Совет

    Если используемая вами система Контроля (source control software) поддерживает ввод комментариев по каждому из Изменений программных компонент - обязательно рекомендуем вам использовать данную возможность. Описываемые Комментарии значительно упрощают анализ проводимых Изменений и помогают отслеживать историю версий разрабатываемого Приложения..

Для использования системы Управления Проектами (source code control), Разработчики должны зарегистрировать все свои Изменения в Проекте, дак и сами Проекты в системе Управления (Иногда данный процесс называется "Вербовкой" в Проекте ("enlisting") ). После того, как Разработчик зарегистрировал свой Проект в системе Управления, он может выполнить Операции контроля актуальности Программных Компонент и Операций Регистрации внесенных Изменений в Общем Архиве Проекта. После этого выполняется актуализация программных компонент, размещенных локально для данного Разработчика.

Note Обратите Внимание

Для надежного использования системы Управления Проектами (source control system's) рекомендуется выполнить тестируемые операции обновления (check out) одного итого же файла несколькими Разработчиками, что подтверждает эффективность использования описанной Системы Управления. Дополнительную информацию смотрите в технической Документации по "Source Code Control SoftWare".

См. также

Задачи

Как: Активировать систему "Source Control"

Концепции

Концепция Коллективной Разработки (Visual FoxPro)
Использование систем типа "Source Control" в Visual FoxPro
Управление Проектами Visual FoxPro, подключенными к системе "Source Control"

Другие ссылки

Планирование Коллективной Разработки Проектов Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Source Control Software in Visual FoxPro

Visual FoxPro 9.0
Использование Программ типа "Source Control" в системе Visual FoxPro
Смотрите Также

Одним из самых Критичных аспектов при Коллективной разработке Проектов является наличие соответствующего Инструментария по Контролю возможности редактирования Программных файлов Проекта. Например, если не используется подсистема Контроля и если несколько Разработчиков могут одновременно вносить Изменения в конкретный Программный файл, то существует высокая Вероятность того, что некоторые Фрагменты программного Кода могут быть потеряны, или будут сохранены с ошибками, что приведет к незапланированным Затратам по выверке ошибок и несоответствий.

Система Visual FoxPro поможет вам, вашей Группе разработки эффективно управлять Проектами разрабатываемых Приложений, в данной системе существует возможность интегрировать Диспетчер Проектов с внешними Подсистемами управления Исходным Программным Кодом "Source Code Control System". С помощью данных рекомендаций ваша Группа сможет распределить управление над коллективно разрабатываемыми программными файлами, это обеспечит вам высокую гарантию эффективной разработки Приложения, позволит избежать незапланированных Затрат.

Интегрирование подсистемы "Source Control" с проектами Visual FoxPro.

Система Visual FoxPro поддерживает сопряжение с подсистемами типа source code control, позволяет вам интегрировать существующие подсистемы Контроля Исходного Кода в разрабатываемые вашей группой Проекты Приложений. Вы можете использовать различные доступные версии указанного Программного Обеспечения. (Свяжитесь с продавцом интересующей вас подсистемы Контроля и выясните возможность интегрирования данного ПО с инструментарием Microsoft Development Tools). Например, если ваша Группа разработчиков уже использует подсистему Microsoft Visual SourceSafe, вы можете эффективно его использовать с Проектами Visual FoxPro в качестве подсистемы Контроля Исходного программного Кода.

Note Обратите Внимание

Если вы добавляете ваш Проект к системе управления Visual SourceSafe, то все программные файлы Проекта должны размещаться в подкаталоге Проекта или должны быть доступны по описанным Путям поиска файлов.

Все подсистемы типа source control, используемые в Visual FoxPro, управляются с помощью стандартного Диспетчера Проектов. Когда вы создаете Проект Приложения в системе Visual FoxPro, то у вас имеется возможность создать соответствующее соединение данного Проекта с установленной подсистемой типа "source code control", указанная Опция называется "putting the project under source control" (присоединить проект к подсистеме управления исходным Кодом). После того, как вы выполните указанное Присоединение проекта, Visual FoxPro обеспечит вам полное Управление программными файлами в Проекте, который будет теперь характеризоваться как "source-controlled project". Если вы попытаетесь изменить некоторый программный файл: отредактировать Модуль или изменить Форму — Visual FoxPro запросит дополнительно разрешение о постановке данного файла под ваш Контроль (check out file).

В системе Visual FoxPro, подсистема Source Control контролирует не только файлы типичных программных компонент: .prg -модули, .scx - формы, .frx,.lbx - отчеты , .mnx - меню, .vcx - библиотеки, но и другие, определяемые пользователем Типы программных компонент. Несмотря на то, что конкретный программный файл может использоваться в нескольких Проектах Приложений Visual FoxPro, все соответствующие операции Контроля подсистемы Source Control выполняются в рамках текущего "контролируемого" Проекта.

Note Обратите Внимание

Система Visual FoxPro не выполняет дополнительных Запросов относительно Таблиц и Баз Данных (.dbf / .dbc), которые по-умолчанию Не контролируются подсистемой Source Control; однако, вы можете самостоятельно включить указанный файлы в "контролируемый" Проект.

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

В следующей далее Таблице приводятся варианты Иконок, которые отображают текущий статус рассматриваемого программного Элемента в Диспетчере Проектов.

Иконка | Назначение
FoxProRedCheck screenshot | Данный файл Контролируется Вашим Диспетчером Проекта Приложения.
FoxProDoubleChecks screenshot | Данный файл Контролируется вашим Проектом и другими Разработчиками (совместное управление).
FoxProUserSymbol screenshot | Программный файл Контролируется другим Разработчиком.
FoxProLockSymbol screenshot | Файл не Контролируется; вы не можете изменить данный файл пока не установите над ним Контроль.
FoxProMergeSymbol screenshot | Файл был Обновлен. После выполнения Проверки, вы можете Зарегистрировать данный файл.
FoxProNoMergeSymbol screenshot | Файл был Обновлен, но имеются Проблемы или Конфликты, которые требуется разрешить.
FoxProQuestionMarkSymbol screenshot | Система Visual FoxPro не может определить Статус данного файла с точки зрения подсистемы Source Control.

Если программный файл не Контролируется подсистемой source control, то рядом с ним Иконка отсутствует.

См. также

Задачи

Как: Подключить подсистему типа "Source Control"

Концепции

Инструментарий подсистемы "Source Control"
Управление Проектами Visual FoxPro с помощью подсистем "Source Control"
Концепции Коллективной Разработки (Visual FoxPro)

Другие ссылки

Планирование Коллективной Разработки Проектов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш


How to: Enable Source Control

Visual FoxPro 9.0
Как: Подключить систему Source Control
См. также

Для активации системы Source Control, сначала выполните установку соответствующего программного обеспечения, согласно прилагаемой документации. Обычно, сначала вы устанавливаете, в качестве администратора, серверную часть программного обеспечения на общедоступный Сервер, за тем устанавливаются клиентские части на локальные рабочие станции разработчиков, которые будут участвовать в процессе коллективной разработки Приложения.

Note Примечание

Все разработчики коллективного проекта должны использовать однотипное программное обеспечение Source Code Control SoftWare.

После установки необходимого программного обеспечения source control, вам нужно определить параметры настройки системы Visual FoxPro, для использования рассматриваемого ПО, и задать начальные параметры Проекта.

Для активации подсистемы Source Control в Visual FoxPro

  1. В системном меню Tools, выберите пункт Options.

  2. В соответствующем диалоговом боксе Options, выберите закладку Projects.

  3. В области Source control options, выберите имя установленного ПО Source Control, из соответствующего списка Active source control provider.

  4. При дополнительном вопросе системы Visual FoxPro о добавлении конкретных проектов для управления системой source control, выберите пункт Automatically add new projects to source control (автоматически добавлять новый проект под управление системой контроля).

Каждый раз, при запуске системы Visual FoxPro, будет проверяться наличие и активность провайдера системы Source Control. Если он будет найден, то можно выполнять необходимые операции над объектами ваших проектов, контролируемых системой source control.

См. также

Концепции

Применение программ Source Control в Visual FoxPro
Управление проектами Visual FoxPro с помощью системы Source Control
Возможности системы Source Control

Другие ссылки

Планирование коллективной разработки Проектов Приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Managing Visual FoxPro Projects Under Source Control

Visual FoxPro 9.0
Управление Проектами Visual FoxPro с помощью службы Source Control

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

В данной Секции

Работа с файлом Проекта и со списком файлов проекта

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

Как: Установить Контроль над Проектом с помощью службы Source Control

Обсуждаются вопросы, как создать новый проект или подключить уже имеющийся проект под контроль службы source control.

Как: Добавлять файла в Source-Controlled Проекты

Объясняется, как добавить новый файл в проект, находящийся под контролем службы source control.

Как: Объединить уже существующие проекты под управление службой Source Control

Объясняется, что нужно сделать, чтобы объединить существующие проекты.

Как: Изменить Список Проектов

Разъясняется, как изменить список проекта, контрольный список компонент при операциях добавления нового файла, разработанного другим Программистом, добавить данный файл в контрольный список проекта.

Как: Освободить проект от управления службой Source Control

Описывается, как освободить конкретный проект от управления и контроля службой source control.

Как: Исключать файлы, программный компоненты из Source-Controlled Проектов

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

Как: Обеспечить коллективный доступ к компонентам между Source-Controlled Проектами

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

Связанные Секции

Как: Активировать специальную службу Source Control

Рассматриваются вопросы активизации специальной службы source control для использования в Проектах Visual FoxPro.

Планирование Коллективной разработки Проектов

Обсуждаются особенности использования таких системных служб, как Microsoft Visual SourceSafe, которая позволяет значительно повысить эффективность разработки Проекта Приложения при участии нескольких разработчиков.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Working with the Project File and Project List File

Visual FoxPro 9.0
Работа с Файлами Проекта и Файлом Списка Проекта
См. также

В Visual FoxPro информация проекта хранится в таблице и мемо-файле с расширениями, соответственно, .pjx и .pjt. Например, если бы Вы создали проект с именем "MyProj", то информация о нем, включая список файлов, их расположение и то, скомпилированы ли они в файл приложения (.app или .exe файл) или нет, хранилась бы в файлах с именами Myproj.pjx и Myproj.pjt.

При работе в групповой среде разработки, разработчики не используют совместно одни и теже файлы проекта (.pjx и .pjt файлы). Вместо этого, разработчики поддерживают свои собственные локальные копии .pjx и .pjt файлов.

Для координации изменений, которые индивидуальные разработчики вносят в проект, Visual FoxPro поддерживает файл списка проекта (или .pjm-файл, сокращение от "метафайл проекта"). Файл, содержащий список файлов проекта является текстовым файлом, который хранит такую же информацию, как и файлы .pjx и .pjt; например, о том, какие файлы в настоящее время включены в проект.

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

Представьте себе что Вы работаете с проектом и, что Вы добавляете новую программу (.prg файл). Когда Вы добавляете новый файл (при условии, что Вы взяли этот файл под исходное управление), Visual FoxPro обновит Вашу локальную копию проекта и покажет этот файл, когда Вы будете использовать Project Manager. Даже если Вы не обновили файл списка проекта, Вы все же можете проверить наличие нового файла и, если необходимо, вернуть его назад.

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

Visual FoxPro, в свою очередь, обновит Ваш файл списка локального проекта с изменениями, которые он найдет в файле списка центрального проекта. Если другие разработчики добавили файлы к проекту, то Ваш файл списка локального проекта окажется скорректированными, локальные копии новых файлов будут перенесены на Ваш компьютер, Visual FoxPro перестроит Ваш проект (.pjx и .pjt файлы), и Project Manager отобразит добавленные файлы для того, чтобы Вы смогли с ними работать.

Управление файлами проекта с помощью списка проекта

FoxPro Source Control Systems
Note Замечание

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

См. также

Задачи

Руководство: Добавление Файлов к Проекту с Исходным Управлением (Add Files to a Source-Controlled Project)
Руководство: Обновл ение Списка Проекта (Update the Project List)
Руководство: Присоединение к Существующему Проекту с Исходным Управлением (Join an Existing Source-Controlled Project)

Понятия

Управление Проектами Visual FoxPro Под Исходным Управлением (Managing Visual FoxPro Projects Under Source Control)

Другие ресурсы

Планирование Проектов для Группы Разработчиков

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Put Projects Under Source Control

Visual FoxPro 9.0
Как: Определять Проекты Приложений под контроль системы "Source Control"
См. также

Перед тем как работать с Проектами Visual FoxPro, которые предполагается подчинить системе управления "Source Control", вам необходимо установить и настроить указанное Программное Обеспечение, включить режим его Активности. После этого вы можете добавлять ваш Проект в Журнал внешней системы управления Проектами (Source Control System).

Если указанная выше Система Контроля активна, вы можете настроить Visual FoxPro таким образом, что все вновь создаваемые Проекты будут автоматически включаться под Контроль указанной Системы.

Для создания нового Проекта, контролируемого системой "Source Control":

  1. В системном диалоговом боксе Options, активируйте закладку Projects (Проекты), и активируйте систему управления Исходным Кодом Приложения (Source Control System), если это не сделано ранее.

  2. Переключите Флажек Automatically add new projects to source control (Вновь создаваемый проект автоматически включать под Контроль), и нажмите кнопку OK. Для того, чтобы данная опция устанавливалась по-умолчанию, сначала выполните Set as Default, и только после этого - OK.

  3. В системном меню File, выберите подпункт New, и выберите подраздел создания Нового Проекта Visual FoxPro.

    После уточнения имени нового Проекта, Visual FoxPro активирует дополнительный Запрос о создании нового Проекта, контролируемого системой "Source Control". По-Умолчанию имя Проекта будет тем же самым, которое определялось для обычных проектов Приложений Visual FoxPro.

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

Если вы работаете в настоящий момент с Проектом, который не Контролируется, не проводится Мониторинг системы "Source Control", вы можете создать новый, контролируемый Проект, в который можно перенести все коллективно разрабатываемые программные файлы.

Для подключения уже существующего Проекта под управление системы "Source Control" :

  1. Откройте ваш проект Visual FoxPro в системном Диспетчере: Project Manager, системное Окно.

  2. В системном меню Project, выберите требуемый подпункт: Add Project to Source Control (Добавить Проект под Контроль "Source Control").

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

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

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

См. также

Задачи

Как: Добавить программные файлы в Проект, контролируемый системой "Source Control"
Как: Обновить общий Список компонент Проекта
Как: Объединить существующие Проекты, контролируемые системой "Source Control"

Концепции

Управление проектами Visual FoxPro, контролируемыми системой "Source Control"

Другие ссылки

Планирование Коллективной Разработки Проектов Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Add Files to a Source-Controlled Project

Visual FoxPro 9.0
Как: Добавить файлы к управляемому источником проекту
См. также

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

Примечание:
Если программное обеспечение исходного элемента управления поддерживает это, Visual FoxPro позволяет Вам сохранять проверенный файл, когда Вы добавляете его к управляемому источником проекту. Иначе файл регистрируется, и Вы должны проверить его снова, чтобы работать с ним. Подробнее о проверке и регистрации файлов , после того, как они добавлены к проекту, см. Управление файлами в управляемом источником проекте.

Для добавления существующих файлов к управляемому источником проекту

  1. В меню Project выберите Source Control и затем Add Files to Source Control.

  2. В Add Files to Source Control Dialog Box, выберите файлы, которые вы хотите добавить.

    Примечание:

    Keep checked out , и Comment появляются, только если программное обеспечение исходного элемента управления, поддерживает эти эти опции.

  3. Кликните OK.

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

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

Для этого необходимо

  • На закладке Projects в диалоговом окне Options , убедитесь, что Automatically add new projects to source control выбрано, и кликните OK.

    Чтобы делать эту установку значением по умолчанию, выберите Set as Default, кликните OK.

После того, как Вы добавили файлы к проекту, Вы должны изменить проектный список прежде, чем другие разработчики могут работать с новыми файлами.

See Also

Other Resources

Как: изменить список проекта
Планирование групповой разработки проекта
Управление проектом Visual FoxPro в исходном элементе управления
Как: отсоеденить проект от исходного элемента управления
Как: присоеденить проект к исходному элементу управления

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Join an Existing Source-Controlled Project

Visual FoxPro 9.0
Как: Объединить существующие проекты, управляемые службой Source Controll
См. также

Если вам требуется подключить новую разработку к уже существующему Проекту, управляемому службой source control, вам необходимо сначала объединить свой проект с существующим, а далее - выполнить контрольную проверку, как прошло объединение. Когда вы объединяете проекты, система Visual FoxPro создает локальный список файлов проекта и генерирует соответствующий файл (.pjx).

Для объединения существующих Проектов

  1. Из меню File, выберите пункт Join Source Control Project.

  2. В соответствующем диалоговом боксе Open Project, выберите необходимый Сервер и Каталог, который содержит проект Visual FoxPro, к которому нужно подсоединиться.

  3. Определите Рабочий каталог, расположенный на вашей рабочей станции (локально); в данном месте будут размещаться файлы контроля соответствия объединенных проектов. Например, если вы используете службу Visual SourceSafe, в качестве провайдера службы source control, выберите кнопку Browse для определения соответствующего каталога Directory, или укажите имя существующего каталога или определите имя нового каталога.

    Note Совет

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

См. также

Задачи

Как: Отключить Проект от управления Службой Source Control
Как: Изменить Список Проекта

Концепции

Управление проектами Visual FoxPro с помощью Службы Source Control

Другие ссылки

Планирование Коллективной Разработки Проектов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Update the Project List

Visual FoxPro 9.0
Как : Обновить Список компонентов Проекта
См. также

Даже после того, как некоторые программные файлы (процедуры, формы, библиотеки...) будут добавлены в Проект, который контролируется подсистемой Source Control (Управления Проектами), другие Разработчики не смогут работать с указанными программными элементами. Разработчики должны в интерактивном режиме (не автоматически), с использованием инструментария Управляющей системы, проверить программные файлы, требующие обновления версий. Однако, только у Разработчика, который добавил новые программные элементы, будут обновлены Списки программных элементов Проекта, которые являются основным управляющим элементом Дизайнера Проекта. Для актуализации Списков программных элементов Проекта у всех Разработчиков требуется Обновление Списков Проекта.

Когда вы выполняете обновление списков проекта, система Visual FoxPro:

  • Создает новую локальную копию Списка файлов Проекта (файл .pjm).

  • Выполняет внутренний контроль (Checks in) указанного нового Списка файлов Проекта (если включена опция подтверждения контролируемых файлов (Check Out)).

  • Объединяет локальный и Глобальный (сетевой) списки программных элементов проекта, если найдены различия в этих списках. Если происходит ошибка объединения, конфликт слияния списков, система Visual FoxPro открывает диалоговый бокс для разрешения данной ситуации конфликта.

  • Выполняется контрольная Сборка локального Проекта, файла (.pjx), построенного на основе объединенного Списка.

  • Загружает отсутствующие копии программных элементов от соответствующих Разработчиков (кто добавлял файлы в проект).

  • Запрашивает у вас местоположение последних версий программных элементов.

  • Обновляет отображенные Списки программных элементов в системном окне Project Manager.

Для обновления Списков программных элементов Проекта:

  • Из системного меню Project, выберите пункт Source Control, и далее подпункт Update Project List (при наличии на вашей рабочей станции развернутой или установленной подсистемы Управления Проектами).

Как составляющая часть подсистемы обновления списков, Visual FoxPro запрашивает у вас местоположение последних версий программных файлов. Если вы уже выполнили подтверждение (внешний контроль - check out) программных файлов, то выполнено основное правило обновления коллективных проектов - иметь самые последние версии програмных элементов, порэтому ваш проект с большой вероятностью полностью соответствует сетевому проекту.

Если вы загрузили последнюю версию программного файла (например, обычная текстовая процедура - текстовый файл), Управляющая подсистема (source control) попытается объединить локальную версию программного файла и полученный текстовый файл. Дополнительную информацию об объединении текстовых файлов смотрите в разделе: Как: Выполнять контроль (Check In) программных файлов.

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

См. также

Задачи

Как: Отключить Проект Приложения от подсистемы Source Control
Как: Объединить существующие Проекты, управляемые подсистемой Source Control

Концепции

Управление Проектами Visual FoxPro с использованием подсистемы Source Control

Другие ссылки

Планирование Разработки Проектов Приложения несколькими Разработчиками

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Detach a Project from Source Control

Visual FoxPro 9.0
Как: Отсоединить Проект от управления системой Source Control
См. также

Если вы длительное время не управляли файлами, закрепленными за проектом, вы можете отсоединить данный проект от системы source control. Когда вы это сделаете, файлы останутся закрепленными за рассматриваемым Проектом, их будут использовать другие Разработчики, вы сможете проследить историю проводимых изменений над данными файлами, и использовать эти файлы в других проектах приложений.

В том случае, когда рабочая станция, на которой размещены "управляемые" файлы, имеет статус "Только-Чтение", выполните резервное копирование данных файлов, далее снимите указанный атрибут с этих файлов, после того как проект будет отсоединен от внешнего управления.

Note Обратите Внимание

Когда вы выполняете отсоединение вашего проекта от внешнего управления, вы разрываете связь между вашим локальным проектоми общим проектом, управляемым системой source control, а все ваши файлы получают реквизит "read/write". В этом случае, вся ответственность по вносимым изменениям в Файлы Проекта остается за вами, что повышает Риск неактуального программного обеспечения, в части тех файлов-компонент, которые не контролируются системой source control.

Для отсоединения проекта от систмы управления source control

  1. Выполните Контроль всех файлов, управляемых системой source control.

  2. В системном меню Project, выберите пункт Detach Project from Source Control (отсоединить Проект от Внешнего управления).

См. также

Задачи

Как: Обновить список Проекта
Как: Исключить Файлы из Проекта, управляемого системой Source Control

Концепции

Управление Проектами Visual FoxPro с помощью систем Source Control

Другие ссылки

Планирование Коллективной Разработки Проектов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Remove Files from a Source-Controlled Project

Visual FoxPro 9.0
Как: Исключить Файлы из Проекта под управлением "Source-Controll"
См. также

Вы можете исключить некоторые индивидуальные файлы из под Контроля системой "Source Control", если вы не желаете, чтобы они (выбранные файлы) являлись частью подконтрольных Проектов (source-controlled project). Вы можете это сделать , например, для некоторых устаревших форм или программных модулей рассматриваемого Поекта, которые уже не используются в повседневной работе.

Для Исключения Файла из полд контроля в Проекте: (source control)

  1. В соответствующем системном окне Project Manager, выберите требуемый файл.

  2. Из системного меню Project, выберите пункт Source Control (если таковой является доступным), и выполните подпункт меню: Remove Files from Source Control.

  3. В соответствующем Диалоговом боксе Remove Files from Source Control, выберите исключаемый файл, нажмите командную кнопку OK.

Когда вы выполняете Исключение некоторого программного файла из проекта Visual FoxPro, контролируемого подсистемой source control, Visual FoxPro выполняет дополнительный Запрос: выполнить только Исключение файла из Проекта, или удалить данный файл совсем с диска (из места хранения). Существует соответствующая Системная Установка (Options dialog box), выполняет ли система Visual FoxPro указанный выше Запрос-подтверждение при исключении файла из Проекта.

  • Если установочная опция Remove files from source control upon removal from project - отмечена, Visual FoxPro выполняет дополнительный Запрос при исключении файлов из Проекта.

  • Если установочная опция Remove files from source control upon removal from project - не является Отмеченной, дополнительного Запроса не последует, файл будет исключен из Проекта, контролируемого source control.

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

См. также

Задачи

Как: Отсоединить Проект от управления подсистемой "Source Control"
Как: Обеспечить коллективный доступ к Файлам в проектах под управлением подсистемы "Source-Controll"

Концепции

Управление Проектами Visual FoxPro с помощью подсистемы "Source Control"

Другие ссылки

Планирование Командной разработки Проектов Приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Share Files Between Source-Controlled Projects

Visual FoxPro 9.0
Как: Распределить файлы между Проектами, контролируемыми Source Control
См. также

Имеется возможность наделить файлы, входящие в различные программные проекты, некоторым свойством "source-controlled" (контроль исходного кода), для эффективного управления данными файлами, разрабатываемыми разными исполнителями. Такими файлами могут быть: программные модули, библиотеки классов, диалоговые боксы, которые используются в нескольких проектах. Когда вы распределяете (share) такие файлы между проектами, то любые изменения, вносимые в такие (контролируемые) файлы, становятся актуальными во всех проектах, где они используются.

Данный специальный метод "управления контролем над исходным программным кодом" в файлах для нескольких проектов зависит от специального программного обеспечения: Source Control Provider (контроллер исходного кода). Наличие данного системного средства должно быть представлено в системном меню VFP.

Процедура наделения файла проекта свойством "контроль исходного кода" зависит от выбранного вами специального программного обеспечения: Провайдера Кода.

Для распределения файлов между контролируемыми проектами

  1. В меню Project, выберите пункт Source Control, далее: Share Files.

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

    Специальные опции управления данными файлами зависят от применяемого вами Провайдера Кода. См. дополнительно разделы, вызываемые по кнопке Help, или в диалоговом боксе Share используемого Провайдера Кода.

    Note Совет

    В Microsoft Visual SourceSafe, вы можете управлять проектами и их составляющими членами - файлами с помощью команды Project Properties , или выбрав закладку Links. Если вы добавляете текущий проект в подсистему Visual SourceSafe, для дальнейшего Управления данным проектом, то все файлы получают данное свойство: "управления контролем над исходным программным кодом".

См. также

Задачи

Как: Исключить файлы из "Source-Controlled" Проектов

Описание

Управление файлами в "Source-Controlled" Проектах

Концепции

Управление Проектами Visual FoxPro под управлением Source Control

Другие ссылки

Планирование коллективной разработки программных Проектов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Managing Files in a Source-Controlled Project

Visual FoxPro 9.0
Управление файлами в Проектах, контролируемых системой "Source Control"
CollapseAll image

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

Expand image В данном Параграфе:

Работа с многофайловыми программными Компонентами

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

Как: Контролировать (проверять) файлы программных компонент

Рассматриваются вопросы, как выполнять проверку Актуальности файлов программных компонент в Проектах, контролируемых системами типа "Source Control".

Как: Регистрировать Изменения в файлах программных компонент

Рассматриваются вопросы, как выполнять Регистрацию Изменений в файлах программных компонент в Проектах, контролируемых системами типа "Source Control".

Как: Отменить внесенные Изменения

Обсуждаются вопросы Отмены выполненных обновлений Актуального состояния файлов программных Компонент.

Как: Получить последнюю версию файла программной компоненты

Рассматриваются вопросы получения последней версии для программного файла, для уже выполнена процедура Обновления (Checked Out).

Как: Сравнить файлы или Проекты Приложения

Обсуждаются вопросы сравнения файлов программных компонент или Проектов, контролируемых системами типа "Source Control"; для того, чтобы определить Места внесения новых Изменений другими пользователями относительно последнего обновления локальных файлов программных компонент или Проектов.

Как: Проверка Различий в Формах, Отчетах или других аналогичных табличных файлах

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

Как: Отобразить Информацию о Файле программной компоненты или Проекте

Обсуждаются вопросы просмотра списка вносимых Изменений (Истории изменений), или другой дополнительной информации, предоставляемой системами Контроля Проектов ("Source Control") для интересующих Разработчика программных файлов.

Expand image Связанные секции Справки

Планирование процессов Коллективной Разработки Проектов Приложения

Рассматриваются основополагающие вопросы использования систем типа "Source Control", таких как: Microsoft Visual SourceSafe, которые позволяют выполнять процедуры управления Проектами Приложений, разрабатываемыми несколькими Разработчиками, что значительно сокращает время разработки готового Приложения.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Working with Multi-File Components

Visual FoxPro 9.0
Работа с МногоФайловыми Компонентами
Смотрите Также

Каждая программная компонента в Проекте Visual FoxPro обычно состоит из нескольких программных Файлов: Из Главного (ведущего) файла и Дополнительного (неявного) файла. Например, при создании Формы, система Visual FoxPro создает Ведущий программный файл Формы (.scx), а также дополнительный файл (.sct), имена которых совпвдают. В следующей Таблице представлены многофыйловые Компоненты:

Компонента | Основной Тип Файла (.расширение) | Дополнительные типы
Form | .scx | .sct
Report | .frx | .frt
Label | .lbx | .lbt
Class Library | .vcx | .vct
Menu | .mnx | .mnt
Table | .dbf | .fpt, .cdx, .idx
Database | .dbc | .dct, .dcx

В том случае, когда Разработчик отключает подсистему Контроля для программной компоненты, например, Формы (Checks Out), система Visual FoxPro также отключает контроль над дополнительным файлом (файлами) указанной Формы. Аналогично, когда рассматриваемая программная Компонента обратно включается под Контроль (Checked In), или создается новая Контролируемая Программная Компонента, Visual FoxPro выполняет автоматический Контроль над всеми многофайловыми Группами.

Note Обратите внимание

Если вы создаете и Компилируете Пользовательское Меню, то соответственно создаете файлы .mpr / .mpx. Первоначально данные файлы Не включаются под Контроль (Source Control). Однако, при подключении этих файлов в Проект вашего Приложения, эти файлы также начинают Контролироваться, как и другие Компоненты вашего Приложения.

Контроль Текстовых Файлов

В том случае, когда вы включаете Контроль текстового программного файла, например: .prg, и если несколько версий рассматриваемого файла выключены из под Контроля (checked out), подсистема Source Control не переписывает Главную версию данного программного файлаь. Вместо этого, выполняется проверка вносимых Изменений после последней Контрольной Точки. Если таковые имеются (изменения), выполняется попытка Объединения актуального состояния программной Компоненты с новыми Изменениями. Данный процесс выполняет соответствующие Удаления старых строк, Добавление Новых Строк, Замену существующих Строк Программного Кода в вашей Копии данного файла.

Когда описанный выше процесс Обновления программной Компоненты Завершается, подсистема Source Control может предложить вам включить данный файл под общий Контроль. Не рекомендуется делать данную операцию сразу после выполнения Обновления. вместо этого, выполните Тестирование вашего Приложения, новой Версии, вместе со всеми обновленными Компонентами (разработанными или дополненными другими Разрабротчиками). Только в том случае, когда вы удовлетворены текущей работой вашего Приложения (новой Версии), Включите Контроль (Check In) рассматриваемого программного файла. Если другие Разработчики выполнили новые Изменения к данной Компоненте, вы вновь сможете Объединить все Изменения и повторить Тестирование Приложения.

В редких случаях, подсистема Source Control может выдать протокол о невозможности выполнения Объединения внесенных Изменений (Протокол Конфликтов), обычно это означает, что вы выполняли Изменения в тех же строках программного Кода, что и другой Разработчик. Если подсистема source control не может выполнить Объединение Изменений, Создается версия программного модуля, содержащего Исходный программный Код, добавляются в качестве Комментариев ваши Изменения, указывается причина Конфликта (невозможность выполнить Объединение), и сохраняется данная Копия на вашем Компьютере. (Точный вид схематично описанного Протокола зависит от конкретного программного обеспечения Source Control). После описанных Операций рассматриваемый программный Компонент в диспетчере Проектов (Project Manager) отмечается следующим символом (Конфликт Объединения Изменений):

Чтобы разрешить полученные Конфликты Объединения Изменений, вам необходимо Завершить внесение Изменений, выполнить требуемую работу, удалить отметки Протокола. После завершения описанного Процесса, Visual FoxPro запрашивает у вас разрешение на Сохранение внесенных Изменений (разрешение конфликтов). После этого рассматриваемый Программный Компонент отмечается значком (Объединение Изменений - выполнено):

Выполните процесс Тестирования новой версии вашего Приложения, или компоненты, если результаты тестирования вас удовлетворяют, включите продолжение Контроля рассматриваемой Компоненты (Check In). Если конфликтов Объединения больше не происходит - ваша Копия становится текущей (последней) версией программной Компоненты.

См. также

Задачи

Как: Контролировать Программные Файлы

Описание

Управление Программными файлами в Проектах, под контролем подсистем "Source-Control"
Options (Параметры), диалоговый бокс (Visual FoxPro)

Другие ссылки

Планирование Командной Рахзработки Проектов Приложения

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Check Out Files

Visual FoxPro 9.0
Как: Снять Контроль с Файлов
См. также

Когда вы работаете с объектами проекта, который контролируется системой Source Control, Visual FoxPro может запросит у вас Подтверждение на режим открытия данного программного файла в соответствующем Редакторе или Дизайнере. Например, если вы пытаетесь открыть некоторую Форму для редактирования, нажимаете кнопку Modify, открываете соответствующий Дизайнер Форм, Visual FoxPro может сначала запросить у вас Подтверждение на контроль соответствующего файла данной формы. (Если вы отказываетесь от предлагаемого контроля файла (системой Source Control) - данный файл открывается в Дизайнере Форм в режиме только-чтение, без возможности редактирования.)

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

Для задания параметров контроля файлов в режимах Редактирования Visual FoxPro

  • В закладке Projects, диалогового бокса Options, установите опцию Check out files upon modify (контроль файлов при модификации), и нажмите кнопку OK. Check In Files

    Для установки данных параметров в режим "по-умолчанию" - нажмите Set as Default, и нажмите кнопку OK.

Для непосредственного контроля программных файлов

  1. В подсистеме Project Manager, выберите требуемый файл.

  2. Из системного меню Project, выберите пункт Source Control, и далее - пункт Check Out (контроль-подтверждение).

  3. В соответствующем Диалоговом боксе Check Out Files, выберите требуемый файл или группу файлов для контроля, нажмите OK.

См. также

Задачи

Как: Контролировать Файлы

Описание

Управление файлами в Проектах типа Source-Controlled
Options, диалоговый бокс (Visual FoxPro)

Другие ссылки

Планирование коллективной разработки Проектов Приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Check In Files

Visual FoxPro 9.0
Как: Возвратить файлы в проект
Смотрите также

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

Результат возврата в проект файла зависит от типа файла и от программного обеспечения системы source control . Для форм, меню, этикеток, библиотек классов, и других типов файлов, являющихся двоичными файлами, программноге обеспечение системы source control делает вашу новую версию файла текущий для других разработчиков.

Совет:
Не забывайте возвращать в проект файлы, когда Вы завершаете их редактирование. Если Вы не делаете этого в течении длительного времени, Вы препятствуете другим разработчикам работать с ними. Кроме того Вы сохраните последнюю версию файла, что даст возможность откатится к ней.

Для возврата файла в проект

  1. В Менеджере проекта, Выберите файл для работы с ним.

  2. Из меню Project, выберите Source Control, и потом выберите Check In.

  3. Введите комментарий, описывающий изменения, которые Вы сделали.

  4. В дилоговом окне Check In Files, Выберите файл и кликните OK.

Для получения дополнительной информации возврате файлов в проект, см. Работа с многофайловыми компонентами.

Смотрите также

Прочие ресурсы

How to: Check Out Files
How to: Discard Changes
Planning for Team Development Projects
Managing Files in a Source-Controlled Project

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


How to: Discard Changes

Visual FoxPro 9.0
Как: Отменить внесенные изменения
См. также

Если вы выполнили сохранение программного файла, провели его контроль, но потребовалось отменить сделанные операции над указанным файлом; вы можете снять отметку Контроля с указанного файла. Это имеет значение при проведении Контроля данного файла (например, другими разработчиками, которые получают внесенные изменения и выполняют проверку файла), но не корректирует версию файла. Если вы, случайно, выполнили контроль файла, вместо того чтобы просто получить последнюю версию файла, выполните Откат Контрольной точки для указанного файла. Эта операция обеспечит актуальную работу системы управления проектами source control, обеспечит актуальную информацию о версиях рассматриваемого файла, сохранит время разработчика, место на диске.

Note Обратите Внимание

Если вам требуется просмотреть некоторый файл, но не контролировать его, вы получите последнюю версию этого файла.

Для отката контролтьной точки

  1. В системном окне Project Manager, выберите требуемый файл.

  2. Из системного меню Project, выберите опцию Source Control, далее - выберите Undo Check Out.

  3. В открывшемся Диалогом боксе Undo Check Out of Files, установите отметку требуемых файлов, и нажмите кнопку OK.

См. также

Задачи

Как: Проверять файлы
Как: Получить последнюю версию файла

Описание

Управление файлами в Проекте, контролируемом подсистемой Source Control

Другие ссылки

Планирование Коллективной Разработки Проектов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Get the Latest Versions of Files

Visual FoxPro 9.0
Как: Получить последнюю версию Файла
См. также

Если Вы хотите просмотреть самую последнюю версию файла, Вы можете проверить данный факт. Тем не менее, если файл уже подтвержден, или если Вы хотите только просмотреть запрашиваемый файл (не модифицируя его), Вы можете получить самую последнюю версию файла. Когда Вы выполняете указанную операцию, Visual FoxPro копирует самую последнюю проверенную версию файла на ваш компьютер, но файл копируется с атрибутом: только для чтения. Вы можете получить самую последнюю версию файла даже если к настоящему времени этот файл имеет атрибут Checked Out - готовый к подтверждению.

Если запрашиваемый вами файл является текстовым файлом, то используемое программное обеспечение Source Control ваполнит объединение вашей версии запрашиваемого файла с самой новой версией этого файла в Проекте; вместо того, чтобы полностью переписать данный файл.

Note Примечание

Для выполнения конкретных операций обновления последних версий запрашиваемых файлов вам требуется выполнить соответствующие настройки параметров используемого специализированного программного обеспечения source control software. Дополнительную информацию смотрите в документации по данной программе.

Для получения последней версии Файла:

  1. В системном окне Project Manager, выберите требуемый файл, который требуется обновить (последняя версия).

  2. Из системного меню Project, выберите пункт Source Control, (если он является достьупным), далее - пукт Get Latest Version. Если запрашиваемый файл имеет статус checked out, будет задан дополнительный вопрос: заменить файл новейшей версией или объединить ваш файл с копией новейшего файла, который размещен в проекте, управляемом подсистемой source control.

    Note Примечание

    Если рассматриваемый файл уже имеет статус checked out, Visual FoxPro выполнит запрос о перезаписи файла. Если вы уже вносили некоторые корректировки в данный файл, делайте выбор No - для отклонения перезаписи файла.

См. также

Задачи

Как: Отменить выполненные Изменения
Как: Сравнить Файлы или Проекты

Описание

Управление файлами в Проекте, контролируемом подсистемой "Source-Controll"

Другие ссылки

Планирование разработки Проектов Приложения несколькими Разработчиками

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Compare Files or Projects

Visual FoxPro 9.0
Как: Сравнить Программные Файлы или Проекты
См. также

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

Подсистемы "Source control" могут отслеживать и отображать различия между копиями программных файлов, которые имеют обычный текстовый формат. Когда система Visual FoxPro выполняет сравнение содержания соответствующих Форм, Меню, Отчетов, или библиотек Классов используются только соответствующие текстовые разделы указанных программных файлов.

Note Примечание

Если вы не используете средства Провайдера "source control",то соответствующая опция Сравнения файлов является недоступной в системном меню, или отсутствует совсем.

Для просмотра различий в рассматриваемых проектах:

  • Из системного меню Project, выберите пункт Source Control, далее выберите подпункт Show Project Differences.

    Вид Отчета о Различиях в двух Проектах существенно зависит от используемого вами Провайдера "Source Control". Однако, для общего случая, в данных Отчетах о Различиях выводится дву-колоночный Отчет, содержащий тексты программных файлов с указанием найденных различий в программном коде, в одной колонке располагается ваш локальный вариант, в другой колонке - Мастер-Копия соответствующего файла.

Для просмотра Различий для списка программных файлов или групп проекта:

  1. Если вам требуется проверить и просмотреть различия одного программного файла - выберите его в соответствующем системном окне Диспетчера Project Manager.

  2. Для одного программного файла: в системном меню Project, выберите пункт Source Control, далее - подпункт Show Differences. Для целой группы программных файлов Проекта: в системном меню Project, выберите пункт Source Control, далее - подпункт Show Project List Differences.

    Вид Отчета о Различиях в двух Проектах существенно зависит от используемого вами Провайдера "Source Control". Однако, для общего случая, в данных Отчетах о Различиях выводится дву-колоночный Отчет, содержащий тексты программных файлов с указанием найденных различий в программном коде, в одной колонке располагается ваш локальный вариант, в другой колонке - Мастер-Копия соответствующего файла.

См. также

Задачи

Как: Получить последнюю версию программного файла
Как: Проверить Отличия в Формах, Отчетах и других Табличных программных файлах

Описание

Управление программными файлами, контролируемыми в Проектах Source-Controlled

Другие ссылки

Планирование коллективной Разработки Проектов Приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Check for Differences in Forms, Reports, and Other Table Files

Visual FoxPro 9.0
Как: проверить на различия в файлах форм, очтетов и прочих таблиц
Смотрите также

В Visual FoxPro только несколько типов файлов трактуются контролирующим источник программным обеспечением, как текстовые файлы. Они включают в себя файлы исходного кода программы (.prg) и файл списка файла проекта (.pjm file). Формы, отчеты и прочие типы фаайлов в действительности хранятся как таблицы информации об их компонентах. Например, файл формы .scx представляет собой таблицу элементов, находящися в форме плюс информация о самой форме. Файлы табличного типа используются для хранения информации о формах (.scx), отчетах (.frx), меню (.mnx), этикетках (.lbx) и библиотеках классов (.vcx).

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

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

Текстовое представление файла Visual FoxPro

FoxPro Form Files

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

Для указания утилиты текстового преобразования

  1. В диалоговом блоке Options, выберите файл Projects.
  2. В боксе Text generation, введите имя программы преобразования.
  3. Выберите Set as Default и затем выберите OK

Visual FoxPro автоматически вызовет программу текстового преобразования каждый раз, когда вы будете добавлять файлы форм, отчетов, меню, этикеток и библиотек классов в проект с контролем исходников. Утилита генерирует текстовый файл, который имеет точно такое же имя, как и первичный файл, но использует символ "A" как последнюю букву расширения. Например, для формы с именем Myform.scx, утилита сгенерирует текстовый файл с именем Myform.sca. Когда вы проверяете форму (или в схожий файл) после изменений в ней произведенных, программное обеспечение контроля источника автоматически создает и произведет проверку в текстовом файле.

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

Для генерации текстового представлетя для существующих файлов проекта

  1. Сделайте резервные копии файлов, которые вы собираетесь поместить под контроль исходников: формы, отчеты, меню, этикетки и библиотеки классов.

  2. Убедитесь, что файлы еще не проверены.

  3. Из меню Project выберите Source Control и затем выберите Remove Files from Source Control.

  4. Выберите файлы для удаления из проекта и затем выберите OK.

  5. Разрешите генерацию текста, следуя шагам, описанным ранее.

  6. Из меню Project выберите Source Control, и затем выберите Add Files to Source Control.

  7. Выберите файлы для добавления и затем выберите OK.

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

Смотрите также

Задачи

Как: сравнить файлы или проекты
Как: отобразить информацию о файлах и проектах

Справочное руководство

Обслуживание файлов в проекте с контролем исходников

Прочие ресурсы

Планирование для командной разработки проектов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Display File and Project Information

Visual FoxPro 9.0
Как: отобразить информацию о файле и проекте
Смотрите также

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

  • Номер версии, который указывает: сколько раз новая версия проекта помещалась под контроль исходного кода.

  • Информацию о том, кто помещал файл или файл проект под контроль исходного кода.

  • Дату и время ввода под контроль исходного кода.

  • Что было записано в комментрии разработчиком при вводе файла и списка проекта под контроль исходного кода.

Для просмотр хронологии вывода файла или списка проекта из под контроля исходого кода

  1. Если вы желаете посмотреть хронологию единичного файла, выберите в Project Manager (Диспетчере проекта) желаемый файл.

  2. Для индивидуального файла выберите из меню Project (Проект) пункт Source Control (Контроль исходного кода) и, затем выберите Show History (Показать хронологию). Для списка проекта выберите из меню Project (Проект) пункт Source Control (Контроль исходного кода) и, затем, выберите Show Project List History (Показать хронологию списка проекта).

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

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

Для просмотра информации о контроле исходного кода для файла или списка проекта

  2. Если вы желаете посмотреть хронологию единичного файла, выберите в Project Manager (Диспетчере проекта) желаемый файл.

  3. Для индивидуального файла выберите из меню Project (Проект) пункт Source Control (Контроль исходного кода) и, затем выберите Source Control Properties (Свойства контроля исходников). Для списка проекта выберите из меню Project (Проект) пункт Source Control (Контроль исходного кода) и, затем выберите Project Properties (Свойства проекта).

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

Смотрите также

Задачи

Как: Проверка различий в формах, отчетах и прочих табличных файлах

Справочное руководство

Управление файлами в проекте, находящимся под управлением контроля исходного кода

Концепции

Разработка и редактирование баз данных в командах

Прочие ресурсы

Планирование для разработки проектов в командах

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Developing and Modifying Databases in Teams

Visual FoxPro 9.0
Разработка баз данных и их модификация в командах разработчиков
Смотрите также

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

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

Если вам необходимо изменить файл базы данных (.dbc), отметьте следующие ограничения:

  • Разработчики не могут изменять один и тот же элемент базы данных (такой как структура таблицы, представление или соединение) одновременно. Когда разработчик изменяет элемент базы данных, Visual FoxPro блокирует его вход в файле .dbc ; другие пользователи могут считывать информацию этого входа (это действительно так, они могут выпускать команду USE), но они не могут изменять ее (MODIFY STRUCTURE).

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

  • Если вы вызываете функцию DBSETPROP() для изменения свойств базы данных, то эта фукция блокирует обновляемый объект. Если в этом случае будет наблюдаться конфликт блокировок, DBSETPROP() следует правилам, установленным с помощью команды SET REPROCESS.

Работа с представлениями и соединениями

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

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

Когда вы используете представление, его структура кэшируется локально. Это гарантирует, что если представление модифицировалось во время использования его вами — например, если вы вызвали REFRESH( ) или REQUERY( ) — ваши форма или отчет будут продолжать корректно исполняться.

Смотри также

Задачаи

Как: отобразить информацию о файле и проекте

Руководство

Управление файлами в проекте с управляемыми исходниками

Концепции

Разработка библиотек классов в командах разработчиков

Прочие ресурсы

Планирование проектов для разработке в команде разработчиков

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Developing Class Libraries in Teams

Visual FoxPro 9.0
Коллективная разработка Библиотек Классов (Developing in Teams)
Смотрите Также

В силу того, что Библиотеки Классов (файлы типа .vcx) являются самой значительной (определяющей) частью любого Приложения Visual FoxPro, процесс коллективной разработки указанных важных компонент должен тщательно координироваться. При коллективной работе с Библиотеками Классов обычно применяются стандартные способы отслеживания вносимых изменений в определения Классов, как и прочих Компонент Приложения; однако у Классов имеются следующие специфические особенности:

  • Не все изменения в порождающих классах немедленно отражаются в используемых Приложениях, как это происходит в подклассах, созданных на основе измененных классов

  • Несколько определений Классов обычно включаются в один общий файл Библиотеки Классов, как основной, минимальный элемент по созданию подсистемы Отслеживания проводимых Изменений в классах, например, при использовании подсистем Source Control.

Как и независимая разработка нескольких Форм и Программных Модулей группой Разработчиков является уже распространенной практикой при создании сложного Приложения, так и при создании независимых Компонент (Классов) может эффективно использоваться труд нескольких Разработчиков. Если один разработчик изменил детали определения некоторого Класса, то данное событие не должно значительно повлиять на работу другиз Разработчиков. В общем случае, несколько разработчиков может эффективно работать с одной библиотекой классов, не замечая того, что данная библиотека расширяется Определениями новых Классов, что не должно критически влиять на уже работающие компоненты Приложения.

Когда некоторый Класс используется в пользовательской Форме, система Visual FoxPro кеширует данный класс на Рабочей станции Пользователя до тех пор, пока указанныя форма Активна и не будет стерта из Памяти. Вы должны явно очистить определение класса, чтобы система Visual FoxPro могла определить что рассматриваемых класс больше не используется. Если рассматриваемый Класс используется в рамках Текущей Сессии Данных (а значит он - кешированв памяти), и вам требуется обновить используемый экземпляр класса из обновленной библиотеки, вам необходимо сначала очистить класс из памяти (сбросить кеш), за тем - перегрузить новое определение Класса из Библиотеки Классов, находящейся в коллективном использовании несколькими Разработчиками.

Размещение Библиотеки Классов под управление подсистемой Source Control

Когда вы размещаете Библиотеку Классов под управление подсистемой Контроля (source control), то только один разработчик может выполнять изменения в деталях определений Классов этой библиотеки. Для остальных разработчиков указанная библиотека стновится доступной исключительно в режиме только-чтение. Как правило, это не создает помех для работающих Приложений и разработке других Коипонент, загружающих существующие экземпляры классов. Пока рассматриваемые классы используются Разработчиками в режиме только-чтение, первый разработчик может изменять определения во всех классах их указанной библиотеки.

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

Если Библиотека Классов является достаточно большой и сложной, вы можете разбить ее на несколько малых Библиотек классов. Это позволяет некоторым образом дифференцировать процесс использования Библиотек классов для разработки и использования в Приложениях, к тому же, библиотеки меньшего размера быстрее загружаются. Те не менее, данный вариант позволяет использовать несколько библиотек, как единое целое, при чем в разные моменты времени (по-необходимости).

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

См. также

Задачи

Как: Отобразить информацию о файлах (компонентах) в Проекте

Описание

Управление программными файлами в Проектах, контролируемых подсистемами Source-Controlled

Концепции

Коллективная разработка и поддержка Баз Данных

Другие ссылки

Планирование коллективной разработки Проектов Приложения

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Developing International Applications

Visual FoxPro 9.0
Разработка Многоязычных Приложений

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

В данном Разделе

Планирование многоязычных (международных) Приложений

Описываются основные технологические этапы подготовки многоязычных Приложений.

Проектирование процессов Локализации

Рассматриваются первостепенные вопросы проектирования и разработки Пользовательского Интерфейса, как основной части в технологии Локализации программных продуктов.

Управление Файлами в многоязычных (международных) Приложениях

Объясняется, как при помощи системного средства Диспетчер Проектов (Project Manager) вы можете работать с проектом международного Приложения. В указанном Проете вы можете интегрировать основные составляющие части вашего Приложения: Формы, Меню, Отчеты Программные модули и прочее.

Связанные Секции

Создание многоязычных Приложений

Описывается, как с помощью системы Visual FoxPro создавать эффективные, совместимые пользовательские Приложения.

Разработка Приложений в Visual FoxPro

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Planning an International Application

Visual FoxPro 9.0
Планирование международных приложений
Смотрите также

Разрабатывая приложение для международного использования, вы можете снизить как стоимость разработки, так и время выхода на рынок, по сравнению с тем, как если бы вы начали изменять приложение в будущем с целью подготовки его для международного использования. При подготовке к разработке международного приложения, убедитесь, что придерживаетесь приведенного ниже:

  • Применимость данных для международного приложения.

  • Код пишется для международного приложения.

  • Проанализирована разработка интерфейса пользователя.

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

Определение применимости данных для международных приложений

При определении применимости данных для международного приложения, проанализируйте следующее:

  • Местность нахождения пользователя приложения.

  • Языки, которые окажут влияние на кодовую страницу, используемую для подготовки данных.

Локали ваших пользователей определяют культурное содержание данных наравне с языками, которые оказывают влияние на использование кодовой страницы. Кодовая страница представляет собой набор символов, который компьютер использует для корректного отображения данных, часто для обработки международных символов. Международные символы - это такие символы, которые включают в себя символьные модификаторы (называемые диакритическими знаками). Диакритические знаки размещаются над символами, под символами или внутри символов, указывая тем самым фонетические изменения по сравнению с немаркированным символом. Например, наиболее часто встречающимся диакритическим знаком является гравис (` в à), акут (' в á), циркумфлекс (^ в â), тильда (~ в ã), умляут (¨ в ä), и слэш (/ в ø), и все они используются совместно с гласными буквами. (Не совсем верно, так как гравис, акут и циркумфлекс используются часто и согласными - в частности с латинским символом C. Примечание переводчика)

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

Некоторые языки, такие как китайский, корейский и японский, используют двухбайтные наборы символов (DBCS) для представления своих данных. Если ваше приложение может быть запущено в такой среде, вам может потребоваться использование специальных функций обработки строк и последовательностей сопоставления для того, чтобы приложение работало должным образом. Для получения более подробной информации смотрите Создание приложение с двухбайтными наборами символов.

Написание кода для международных приложений

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

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

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

Проектирование интерфейса пользователя для международных приложений

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

Тестирование международных приложений

При тестировании междунарожных приложений не забудьте проверить следующее:

  • Зависимость приложения от страны и языка.

  • Соответствие данных приложения и пользовательского интерфейса местным стандартам для дат и времени, численных значений, денежных единиц, списка разделителей и единиц измерения.

Смотрите также

Прочие ресурсы

Разработка международных приложений

Статьи FoxClub'а

Опыт разработки международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Designing for Localization

Visual FoxPro 9.0
Проектирование элементов Локализации
Смотрите Также

В силу того, что Текстовые Элементы (текст) имеет тенденцию увеличиваться в длине в процессе Локализации Приложения, вам необходимо быть особо внимательным при проектировании и разработке следующих Компонент Пользовательского Интерфейса:

  • Сообщения Приложения;

  • Элементы Меню и Формы;

  • Иконки и другие Графические Элементы.

Создание Сообщений Приложения

Обратите Внимание, что При создании необходимого Сообщения в вашем Приложении, текстовая Строка на Английском языке обычно имеет меньший Размер, чем соответствующая Строка на другом, Национальном Языке. В следующей таблице представлена некоторая средняя Оценка увеличения Размеров Текстовых Элементов при выполнении операций Локализации.

Размер Текста (на Английском Языке), (в символах) | Дополнительное Увеличение для Локализованной Строки
1 - 4 | на 100%
5 - 10 | на 80%
11 - 20 | на 60%
21 - 30 | на 40%
31 - 50 | на 20%
более, чем 50 | на 10%

Разработка Элементов Меню и Форм

Как и приведенные выше Сообщения Приложения, Элементы Меню и Форм также имеют тенденцию увеличиваться в Размерах при проведенеии Локализации рассматриваемого Приложения. Для Примера, рассимотрим представленную ниже Форму, которая является частью тестового Приложения: Automated Teller Machine (Автоматизированное Место Кассира). На первом Кадре представлена Форма - в оригинале, (на английсклом языке), а на втором Кадре - представлен соответствующий Эквивалент Формы на Испанском Языке. Вы легко можете увидеть относительные Увеличения Размеров Текстовых Элементов рассматриваемой Формы.

Note Совет

Если вы имеете возможность Резервировать место для расширения Текстовых Элементов Сообщений и Контролов Форм, которые планируются для Локализации, вы значительно съэкономите время своего Труда и производственных Затрат для выполнения требуемых Операций изменения Размеров Сообщений и надписей в Контролах Форм, и всего Пользовательского Интерфейса.
Текстовым Элементам требуется Больше Места после проведения Локализации:

FoxPro Localization Issues

Рекомендации:
В элементах Меню и Формах, избегайте сокращения отдельных Зон Строк Статуса (Status Bar). Также, не рекомендуется использовать Сокращения некоторых Слов, они могут Отсутствовать в других национальных Языках.

Использование Иконок и Графических Элементов (картинок)

Широкое и правильное использование Графических Элементов (картинок) - как базовых Элементов Пользовательского Интерфейса, является весьма предпочтительным и не требующим описываемых операций Локализации. Тем не менее, Обозначение распространенных операций в виде Картинок не может перевесить однозначного описания их Словом, Текстовым Элементом. Следовательно, при использовании Графических Элементов для организации Пользовательского Интерфейса рекомендуем вам придерживаться следующих Правил:

  • Рекомендуем использовать Общепринятые Картинки для определенных Операций. Например, для обработки Электронной Почты рекомендуется использовать Картинку - Конверт. Однако, не рекомендуется использовать Картинку - Почтовый_Ящик, - этот символ не является Общепринятым при обработке Почты.

  • Осторожно используйте "культурно-чувствительные" Символы. Например, осторожно нужно относиться к Религиозным Символам и символам различных Животных (они также имеют Религиозную, или другую направленность).

  • Избегайте использования Текстовых Элементов в графических Картинках, их масштабирование и локализация также могут быть затруднены.

  • Рекомендуется также избегать использования: Жаргона, Слэнга, Юмора, не-литературных слов, этнических Стереотипов, и прочего..., и тому подобного...

  • Активно используйте Текстовые подсказки, которые размещаются в свойствах Контролов ToolTips, которые значительно расширяют и Уточняют значение Графических Элементов, и имеют свойства Автоматического расширения Размеров данных Текстовых Элементов.

  • Если вы используете Изображения Мужчин или Женщин, внимательно отслеживайте предназначение используемых Картинок, изображаемые Жесты и выполняемые операции Обработки Данных.

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

Если у вас имеются сомнения по использованию некоторого Графического Элементы в конкретной Части Пользовательского Интерфейса, то обратитесь за Советом к Опытному Разработчику или Заказчику Приложения.

См. также

Описание

Кодовые Страницы (CP), поддерживаемые в системе Visual FoxPro

Концепции

Планирование многоязычных (международных) Приложений
Как: Вводить международные (национальные) Данные

Другие ссылки

Проектирование и Разработка многоязычных (международных) Приложений
Кодовые Страницы (CP) в Visual FoxPro

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Managing Files in an International Application

Visual FoxPro 9.0
Управление файлами в международных приложениях
Смотрите также
CollapseAll image

Project Manager (Диспетчер проекта) может помочь вам организовать международное приложение. В проект вы можете интегрировать части приложения, такие, как формы, меню, программы и отчеты. Проект гарантирует, что части являются текущими, то есть самой последней версии в момент, когда вы будете собирать приложения для вывода его на рынок.

В отличие от .dbf файлов, текстовые файлы, такие как файлы программ и запросов не имеют маркера кодовой страницы. Это означает, что вы должны поддерживать трэки кодовых страниц, используемых текстовыми файлами, для того, чтобы использовать эти файлы должным образом. С помощью Project Manager (Диспетчера проекта), вы можете отслеживать кодовые страницы, используемые текстовыми файлами.

Expand image Распространение файлов Run-Time, которые обеспечивают локализацию

Если вы распространяете приложение вместе с run-time версией Visual FoxPro, вам нужно будет включить файл ресурсов, отвечающий за локализацию. Этот файл содержит диалоговые окна и прочие элементы интерфейса пользователя, которые Visual FoxPro использует для взаимодействия с пользователем. Имеются различные файлы ресурсов - для каждого языка, в котором доступен Visual FoxPro.

Вы должны озаботиться конкретным run-time файлом ресурса применительно к локали только в том случае, если верно одно из приведенного ниже:

  • Вы включаете в свое приложение run-time версию Visual FoxPro..

  • Вы распространяете свое приложение для пользователей, которые используют язык, отличный от того, на котором вы разрабатывали свое приложение. Например, если вы работали в английском языке для основных пользователей, говорящих по английски, вам не нужно беспокоиться о конкретном локализованной файле ресурса. Однако, если в качестве языка разработки вы использовали английскую версию Visual FoxPro, но распространяете свое приложение для франко-говорящих пользователей, вы должны учесть, что локализованный run-time файл ресурса должен быть включен в ваше приложение.

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

Run-time файлы ресурсов именуются с использованием формата VFPVersionNumber***.dll, где VersionNumber представляет собой номер версии Visual FoxPro, а "***" представляют собой трехбуквенное представление языка. Например, код ENU является сокращением для United States English, код DEU является сокращением для German, а код FRA - для French.

Вы должны всегда включать в приложение по крайней мере один файл ресурса, даже если вы не замещали никаких элементов интерфейса пользователя в Visual FoxPro. По умолчанию, Visual FoxPro включает файл ресурса, который поставляется с копией вашей программы. Например, если вы разрабатывали приложение с использованием американской версии Visual FoxPro, Visual FoxPro автоматически включит VFPVersionNumberRENU.dll, если вы включите файлы run-time в свое приложение. Если у вас не было причины использовать локализованный файл ресурса, вы можете просто распространять файл ресурса, используемый по умолчанию, как часть вашего приложения.

Когда приложение инсталлируется, пользователь может указать run-time файл ресурса, который будет использоваться, сделав вход в системном реестре Windows или с помощью ключа командной строки, запускающей приложение.

Для указания run-time версии файла ресурса:

  • В командную строку, которая запускает ваше приложение, включите ключ L и имя файла ресурса, который вы желаете использовать (при необходимости укажите путь к файлу). Не печатайте пробела между ключом и именем файла.

    Например, приведенная ниже команда указывает на файл VFPVersionNumberRDEU.dll в качестве файла ресурса:

    CopyCode image Скопировать код
    C:\Program Files\Microsoft Visual ;
FoxPro\MYAPP.EXE -LC:\MyApp\VFPVersionNumberRDEU.dll

    - или -

  • Установите реестр Windows на машине пользователя (используя код или приложение, такое как Regedit.exe) для указания файла ресурса, который должен быть использован. Вход в реестре, содержащий имя файла run-time ресурса представлен в:

    HKEY_CLASSES_ROOT\VisualFoxProRuntime.VersionNumber\Resources

    Например, приведенный ниже вход в реестре указывает на run-time файл ресурса VFPRDEU.dll:

    HKEY_CLASSES_ROOT\VisualFoxproRuntime.VersionNumber\Resources C:\Program Files\Common Files\Microsoft Shared\VFP\VFPRDEU.dll

    Если вы желаете управлять файлом ресурса, используя полную версию Visual FoxPro (для разработчика), используйте аналогичный ключ реестра без ссылки на run-time:

    HKEY_CLASSES_ROOT\VisualFoxpro.VersionNumber\Resources

    Например, приведенный ниже вход в реестре указывает на файл ресурса на компьютере с инсталлированной полной версией Visual FoxPro:

    HKEY_CLASSES_ROOT\VisualFoxpro.VersionNumber\Resources C:\Program Files\Visual FoxPro VersionNumber \VFPDEU.dll

Когда запускается run-time приложение, Visual FoxPro ищет файл ресурса, сначала в соответствии с ключом L, а затем в соответствии с установкой в реестре. Если ни одна из этих установок не указывает на файл ресурса, конкретный для конкретного языка, Visual FoxPro использует текущую системную (Windows) локаль для динамической сборки имени файла DLL. Поэтому, если конкретный файл ресурса для вашего приложения соответствует локали системы версии Windows, на которой работает пользователь, у вас отпадает необходимость явно указывать имя файла ресурса. Однако, всегда безопаснее не полагаться на устнановку системы по умолчанию, если вы желаете, что был загружен нужный файл ресурса.

Expand image Смотрите также

Задачи

Как: указать кодовую страницу для текстового файла

Справочное руководство

Редактирование международных приложений

Концепции

Процесс распространения приложения
Создание приложений с двух-байтных набором символов
Сортировка данных в международных приложениях

Прочие ресурсы

Создание международных приложений
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Creating Applications

Visual FoxPro 9.0
Создание Приложений

При построении приложения в системе Microsoft Visual FoxPro, обычно выполняется построение одной или нескольких баз данных, создается главный программный файл приложения, выполняющий основные настройки среды приложения; элементы пользовательского интерфейса: формы, меню, отчеты, toolbars.

Для создания приложения, выполните следующие шаги:

  1. Создайте Проект приложения.

  2. Выполните настройку среды окружения вашего приложения, настройте системные параметры, стартуйте основной цикл обработки событий (event loop), как обычную команду Read Events.

  3. Создайте пользовательский интерфейс вашего приложения.

  4. Создайте Отчеты и Этикетки на основе данных вашего приложения.

Инструментарий Application Framework может автоматически создавать пользовательское приложение, которое будет содержать все необходимые элементы и объекты для обработки информации; которым можно успешно пользоваться в дальнейшем. См. дополнительно раздел Создание Приложений с помощью Application Framework.

В данном Разделе

Работа с Проектами

Описывается, как использовать Проекты при разработке больших приложений.

Настройка Приложения

Описываются основные шаги по настройке пользовательского приложения в Visual FoxPro.

Создание приложений с использованием Application Framework

Описываются основные вопросы по построению приложения с использованием Application Framework, а также Мастера Application и Построителя Application.

Создание пользовательского интерфейса

Описывается, как создавать Формы, классы, Контролы (элементы управления), toolbars, которые являются основой пользовательского интерфейса, общих сценариев работы приложения.

Работа с Отчетами

Рассматриваются вопросы построения Отчетов и Этикеток в Visual FoxPro, которые являются неотъемлемой частью пользовательского приложения.

Создание Интернациональных Приложений

Описывается, как эффективно разрабатывать интернациональные приложения, быстро адаптируемые к различным национальным языкам пользователей.

Описание

Мастер создания Базы Данных

Помогает вам создать базу данных, как контейнер для размещения таблиц с данными.

Дизайнер Базы Данных (Visual FoxPro)

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

Системное окно Project Manager

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

Связанные секции

Разработка Приложений в Visual FoxPro

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

Программирование в Visual FoxPro

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

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Working with Projects

Visual FoxPro 9.0
Работа с Проектами

Проекты системы Visual FoxPro позволяют просто и быстро разрабатывать отдельные Компоненты Приложения. Данная Подсистема позволяет достаточно эффективно управлять различными составляющими элементами Приложения, работать с ними, корректировать их. Проекты представляют собой Регулярные Таблицы (.Dbf), в которых записываются Ссылки на все используемые программные Файлы, их взаимозависимости и Связи. Например, простейший Проект может содержать активные Ссылки на Формы, Программные Модули, Отчеты, Базы Данных, Таблицы, Запросы и прочие другие Файлы (в том числе и графические файлы).

В Данном Параграфе

Как: Создать Проект

Обсуждаются вопросы, как создаются Проекты Приложений.

Как: Создавать Файлы в Проекте

Обсуждаются вопросы, как создавать новые программные файлы в Проекте, строить Базу Данных, создавать Таблицы, программные Модули, Запросы-SQL, Текстовые Файлы и прочее...

Как: Добавить Файл в Проект

Объясняется, как добавить существующий файл в данный Проект.

Как: Изменить Файл в Проекте

Объясняется, как изменить программный файл или дополнительное Описание к рассматриваемому Файлу Проекта.

Как: Найти ссылку на фрагмент Текста в файлах Проекта

Объясняется, как выполнять поиск требуемых Фрагментов текста в текстовых файлах Проекта.

Как: Выполнить Замену фрагмента Текста ы файлах Проекта

Объясняется, как выполнять Замену требуемых фрагментов текста в программных или текстовых файлах Проекта.

Как: Просмотреть найденный фрагмент программного Кода

Описывается, как просмотреть из списка найденных Файлов, содержащих поисковый Фрагмент текста.

Как: Исключить Файлы из Проекта

Объясняется, как Исключить или Удалить текущий Файл из Проекта.

Расширение Проектов в системе Visual FoxPro

Рассматриваются вопросы использования Диспетчера Проектов, дополнительных Перехватчиков (Hooks), которые позволяют значительно расширить функционал обычных Проектов.

Связанные Секции

Работа с Программными Модулями

Рассматриваются вопросы использования Программных файлов, которые предназначены для выполнения последовательностей команд Системы, осуществляющих решение Задач Обработки Данных, которые выполняются в одном Модуле.

Разработка Приложений Visual FoxPro

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

Планирование Приложений

Обсуждается, как при использовании Планирования вы можете сохранить ваше Время, Усилия, и Денежные средства; как проводимые работы по Планированию Приложения позволят вам значительно сократить временные издержки при разработке отдельных Компонент создаваемого Приложения.

Создание Приложений

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

Работа с Данными

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Create Projects

Visual FoxPro 9.0
Как: Создавать Проекты
См. также

Вы можете создать Проект вашего Приложения при использовании Мастера построения Приложения, или как пустой Проект. После создания Проекта Приложения, система Visual FoxPro создает в текущем или указанном каталоге соответствующие программные файлы Проекта, в том числе: главный файл Проекта (.pjx), и файл полей Memo проекта - (.pjt).

Мастер создания приложения помогает вам создавать и определять основные характеристики вашего Приложения, задается серия уточняющих вопросов, ответами на которые устанавливаются необходимые опции Проекта. Мастер создания Приложения помогает вам создать Проект, добавить в него программные файлы при помощи Построителя Приложения (Application Builder), тем самым, создается архитектура вашего Приложения (framework), в которой отражены основные специфические характеристики будещего Приложения.

Для создания Проекта с помощью Мастера создания Приложения:

  1. В системном Меню File, выберите подпункт New.

  2. В диалоговом боксе New, выберите подпункт Project, далее нажмите кнопку Wizard.

    Открывается диалоговый бокс Application Wizard (Мастер Приложения) .

  3. В поле Project name (Имя Проекта) текущего диалогового бокса Application Wizard, введите Имя создаваемого Проекта. В расположенном рядом текстовом поле Project file (Файл Проекта) можно уточнить полный путь к файлу Проекта, или нажмите кнопку Browse - для уточнения конкретного каталога.

    Указанное поле Project file содержит местоположение и имя создаваемого Проекта.

  4. При завершении, нажмите кнопку OK.

Система Visual FoxPro активирует системное окно Application Builder (Построителя Приложений), где вы можете продолжить создание компонент, определить дополнительные характеристики Приложения, добавить программные файлы.

Дополнительную информацию смотрите в разделах: Мастер Приложения, Построитель Приложения, и Создание Приложения с помощью инструмента Application Framework.

Для создания пустой Заготовки Проекта:

  1. В системном меню File, выберите подпункт New.

  2. В диалоговом боксе New, выберите подпункт Project, далее нажмите кнопку New File.

  3. В активированном диалоговом боксе Create, выберите местоположение нового Проекта и определите его базовое Имя.

  4. Нажмите кнопку Save (Сохранить).

Система Visual FoxPro открывает и активирует системное окно Диспетчера Проекта (Project Manager). Смотрите дополнительно: Системное окно Диспетчера Проектов (Project Manager).

Для создания Проекта программным способом:

  • Используйте стандартную команду CREATE PROJECT - для активации Диспетчера проектов (Project Manager).

Дополнительную информацию смотрите в разделе: CREATE PROJECT, команда.

После создания главного файла Проекта, Visual FoxPro открывает Диспетчер Проектов (Project Manager), где вы можете добавлять в проект новые файлы, или работать с уже имеющимися файлами. Если файл требуется в Приложении, он должен быть включен в Проект. Дополнительную информацию смотрите в разделе: Как: Добавлять файлы в Проект.

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

См. также

Задачи

Как: Создавать Файлы в Проектах
Как: Добавлять Файлы в Проект

Другие ссылки

Работа с Поектами

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Create Files in Projects

Visual FoxPro 9.0
Как: Создавать Файлы в Проекте
См. также

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

Для создания файла, как новой компоненты Проекта

  1. Откройте Проект вашего Приложения.

  2. В окне Project Manager, раскройте соответствующий раздел Проекта, в котором будет создаваться новый файл.

  3. Раскройте выбранную группу Компонент проекта.

  4. В соответствующем меню Project, выберите пункт New File.

    Note Совет

    Вы можете также нажать доступную кнопку New, размещенную в окне Project Manager.

  5. Далее, выполните одно из следующего:

    • Для создания новой компоненты с помощью Мастера, нажмите кнопку wizard button.

    • Для создания нового файла (самосточтельно), нажмите кнопку new component.

См. дополнительно раздел Системное Окно Project Manager.

См. также

Задачи

Как: Добавить Файлы в Проект
Как: Изменить Файл в Проекте

Другие ссылки

Работа с Проектами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Add Files to a Project

Visual FoxPro 9.0
Как : Добавить Файлы в Проект
См. также

Если вы хотите включить некоторый Файл в Приложение, вы должны Добавить этот файл в Проект данного Приложения. Вы можете добавить уже существующий файл при помощи Построителя Приложения (Application Builder) или используя Диспетчер Проектов (Project Manager). Новые файлы, созданные Диспетчером проекта включаются в него автоматически. Когда вы выполняете Сборку Приложения (компиляцию), Visual FoxPro включает данные файлы и их компоненты как составные части вашего Приложения.

Note Примечание

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

Для Добавления Файла в Проект:

  1. Откройте Проект вашего Приложения.

  2. В системном окне Project Manager (Диспетчера Проектов), раскройте требуемую группу Компонент проекта, в которую планируется добавить Файл.

  3. Выделите заголовок группы Компонент.

  4. В системном меню Project, выберите подпункт Add File (Добавить файл).

    Note Совет

    Вы можете также нажать кнопку Add справа, в системном окне Project Manager.

    Открывается диалоговый бокс Select, в котором требуется указать добавляемый Файл.

  5. В указанном диалоговом боксе Select, выберите требуемый для добавления файл, и нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Системное окно Project Manager.

При наличии вызываемой ссылки (команды DO / DO FORM) в программном файле (.prg) или в Форме (.scx), Visual FoxPro добавляет программные файлы, на которые есть ссылки, в проект автоматически при выполнении Сборки Проекта. Например, если в программном модуле имеется представленная ниже строка Кода, Visual FoxPro добавляет форму Orders.scx в текущий Проект автоматически:

CopyCode image Копировать Код
DO FORM ORDERS.SCX

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

Caution note Предупреждение

Visual FoxPro не разрешает описанные ссылки на файлы графических картинок (.bmp) / (.msk), ведь заранее не известно, как данные файлы будут использоваться в вашем Приложении. Следовательно, файлы картинок добавляются в Проект вручную. Дополнительно, Visual FoxPro автоматически не включает в Проект файлы, на которые в программных модулях имеются ссылки при помощи МакроПодстановки ("&"). Если в вашем Приложении имеются ссылки на файлы, указанные через МакроПодстановку, включите эти файлы в Проект, как и картинки, графические файлы.

См. также

Задачи

Как: Исключить Файлы из Проекта
Как: Редактировать Файлы в Проекте

Другие ссылки

Работа с Проектом

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Edit Files in Projects

Visual FoxPro 9.0
Как: Редактировать файлы в Проекте
См. также

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

Для редактирования файла, размещенного в проекте

  1. Откройте проект вашего приложения.

  2. В окне Project Manager, раскройте нужный раздел (классы, программы и т.д...), где расположен ваш файл.

  3. Выделите нужный файл, который хотите редактировать.

  4. В меню Project, выберите опцию Modify File.

    Note Совет

    Можно также использовать кнопку Modify, расположенную справа в окне Project Manager.

Откроется окно соответствующего Дизайнера или Редактора, где располагается ваш файл. Дополнительно См. раздел Окно Project Manager .

Для редактировать проект программным способом

  • Используйте команду MODIFY PROJECT, которая открывает описанное выше окно Project Manager.

Дополнительно См. раздел MODIFY PROJECT, команда.

Для добавления комментария (или краткого описания) рассматримаемого файла

  1. Откройте проект вашего приложения.

  2. В окне Project Manager, выберите требуемый файл.

  3. В меню Project, выберите опцию Edit Description.

  4. В диалоговом боксе Description, введите необходимую информацию о данном файле.

  5. После завершения, нажмите кнопку OK.

Дополнительно См. раздел Системное окно Project Manager.

См. также

Задачи

Как: Исключать файлы из Проекта

Другие ссылки

Работа с Проектами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Search For Code References

Visual FoxPro 9.0
Как: искать ссылки на код и в коде
Смотрите также

Вы можете искать в Visual FoxPro ссылки на конректный код и текст в ваших проектах и каталогах.

Для поиска ссылки на код

  1. Если вы ищете в проекте, откройте проект или проекты, в которых вы хотите произвести поиск.

  2. В меню Tools выберите Code References.

    Если вы не проводили ранее поиска в проекте, появится диалоговое окно Look Up Reference. В противном случае появится окно Code References и отобразит результаты прошлого поиска.

  3. В боксе Look for диалогового окна Look Up Reference, впечатайие код или текст, которые вы желаете найти.

  4. Выберите одно из приведенного ниже:

    • Для поиска в проектах, убедитесь что бокс Scope установлен в Entire project и в имя проекта, котором вы желаете произвести поиск. Для выбора другого открытого проекта, щелкните по стрелке Scope для отображения списка открытых проектов.

      Замечание Совет

      Для ограничения вашего поиска в домашем каталоге проекта и его субкаталогах, отметьте чек-бокс Limit search to project home directory and subfolders.

    • Для поиска в каталоге, убедитесь, что бокс Scope установлен в Folder и что бокс Look in установлен в каталог, который вы желаете найти.

      Замечание Совет

      Для расширения вашего поиска до субкаталогов каталога, отметьте чек-бокс Search subfolders.

  5. Выберите одну из приведенных ниже опций:

    • Для указания типов файлов, отличающизхся от дефолтных типов в вашем поиске, щелкните на стрелке File Types для вывода списка типов файлов.

    • Для указания дополнительных опций для вашего поиска, выберите установки из группы Options или щелкните на кнопке Options для вывода диалогового окна Options.

  6. Щелкните на Search для начала поиска.

Для получения более подробной информации, смотрите Диалоговое окно Look Up Reference и Диалоговое окно Look Up Reference Dialog Box - диалоговое окно Options .

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

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

Смотрите также

Прочие ресурсы

Работа с проектами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Replace Code References

Visual FoxPro 9.0
Как: Выполнять Замену Программного Кода
См. также

После успешного завершения Поиска требуемого Фрагмента Текста или программного Кода, вы можете выполнить замену найденного текста в программных файлах Проекта или программной Папке. Смотрите дополнительно: Как: Найти фрагмент Программного Кода.

Для выполнения Замены программного кода в файлах Проекта или Папке программных файлов:

  1. Выполните Поиск требуемого фрагмента Кода, который требуется заменить.

    Если процесс поиска завершился успешно, отображается системное окно Code References, в котором представлен найденный фрагмент Текста.

  2. В указанном окне Code References, установите курсор в то место, где требуется Замена текста и выполните одно из следующих вариантов:

    • Для выбора конкретных строк программного Кода, выполните отметку соответствующего Контрола CheckBox.

    • Для выбора всех строк программного кода и отображения их, выполните "right-click" и выберите из Контекстного Меню подпункт Select All.

  3. В системном окне Code References, нажмите кнопку Replace, чтобы активировался дополнительный бокс Replace.

    Caution note Обратите Внимание

    Если вы выбираете строки программного кода для замены фрагментов Текста в структурированных файлах данных, значениях Свойств, именах Методов в файлах Форм (.scx) или в файлах Визуальных библиотек (.vcx), система Visual FoxPro выводит Диалоговый бокс Подтверждения выполняемых Замен текста. Если вы подтверждаете Замену, Visual FoxPro выполняет данные Замены только в тех случаях, когда не нарушается структура программных файлов, и подготавливает сообщения в Журнал Замен Replacement Logs, для обеспечения ручного режима Замены. Если вы отменяете выполнение Замены, никакие изменения не выполняются.

  4. В соответствующем боксе Replace with рассматриваемого диалогового бокса Replace, введите новый вариант Текста или программного кода Замены.

  5. Определите дополнительные параметры процесса Замены в группе параметров Options.

  6. Нажмите кнопку Replace.

    Note Примечание

    Если отмечаете опцию подтверждения Замен Confirm replacements, из группы Options, вам требуется подтверждать каждую операцию Замены. В системном окне Code References отображается соответствующая строка программного кода, где выполняется Замена; соответствующая строка Сообщения записывается в Журнал Замен (Replacement Logs).

Дополнительную информацию смотрите в разделах: Code References, системное Окно и Replace, диалоговый бокс.

После завершения использования инструментария по Замене фрагментов Программного Кода или Текста описанного Бокса Code References, вам необходимо подтвердить сохранение внесенных изменений.

См. также

Задачи

Как: Просмотреть Программный Код

Другие ссылки

Работа с Программными Модулями

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: View Code Definitions

Visual FoxPro 9.0
Как: Просмотреть Определения программного Кода
См. также

При выполнении поиска фрагмента программного кода в текущем программном файле, для просмотра синтаксического определения рассматриваемого фрагмента, вы можете быстро просмотреть требуемые определения. См. дополнительно раздел Как: Найти определение программного кода.

Для просмотра Определения элементов Языковых конструкций (синтаксиса)

  1. Откройте требуемый программный файл, переместитесь на нужный программный элемент.

  2. Выполните "Double-click" на тексте элемента Языка, для его выделения.

  3. Выполните "Right-click" - для отображения короткого меню, выберите пунктView Definition (Просмотр Определения).

Вы можете также просмотреть требуемые Определения с помощью выполнения следующей команды DO (_FOXREF) WITH.... См. дополнительно раздел: _FOXREF, системная переменная.

Поиск Определения программного кода сначала выполняется во внешних Ресурсных файлах, отличных от активного ресурсного файла для текущего Проекта. Если находится несколько Определений элементов Языка, открывается системное окно Go To Definition, в котором можно выбрать нужное определение - описание.

Если заданный фрагмент не находится для активного Проекта, то поиск выполняется в других открытых Проектах, (и соответствующих этим проектам Каталогах). Если заданный фрагмент программного кода найден в других местах, то открывается соответствующее системное окно Go To Definition, где можно выбрать требуемое размещение программного кода, программный файл. См. дополнительно раздел: Go To Definition, системное окно.

Если заданный фрагмент программного кода является некоторым пользовательским определением, и данный фрвгмент найден, то система Visual FoxPro открывает найденный программный файл в системном окне Редактирования. Если заданный фрагмент является внутренней командой/функцией Visual FoxPro - то открывается соответствующий раздел из подсистемы Помощи (описание указанной команды/функции). Если вы указываете фрагмент кода, такой как #INCLUDE или SET PROCEDURE, Visual FoxPro открывает Программный файл, содержащий указанный фрагмент программного кода.

См. также

Другие ссылки

Работа с Программами
Работа с Проектами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Remove Files from Projects

Visual FoxPro 9.0
Как: Исключить файл из Проекта
См. также

Вы можете исключить некоторый файл из вашего проекта, или даже удалить его совсем.

Для исключения файла из Проекта

  1. Откройте Проект вашего Приложения.

  2. В окне Project Manager, раскройте нужный раздел в иерархическом списке компонент проекта.

  3. Выделите нужный файл, который хотите исключить из проекта.

  4. В меню Project, выберите Remove File.

    Note Совет

    Вы также можете нажать кнопку Remove в Project Manager.

  5. При этом система Visual FoxPro задаст уточняющий вопрос:

    • для исключения файла из проекта, - нажмите Remove.

    • для удаления файла с диска, - нажмите Delete.

См. дополнительно раздел Системное Окно Project Manager.

См. также

Другие ссылки

Работа с Проектами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Extending Projects in Visual FoxPro

Visual FoxPro 9.0
Расширения Проектов в системе Visual FoxPro

Вы можете получить доступ и обрабатывать программным способом компоненты Проектов при помощи системного расширения Project Manager hooks.

В данном Разделе

Перехватчик Project Manager (Hooks)

Описываются основные задачи и функции Перехватчика Project Manager, которые могут выполняться в ваших программах.

Иерархия Объектов Проекта

Описывается иерархическая структура объектов Проекта и соответствующего объекта ProjectHook.

Архитектура Объектов Проекта

Описываются элементы Языка программирования, Классы, События, связанные с основными объектами проекта.

Связанные Разделы

Работа с Проектами

Определяется конфигурация Проекта, группы файлов-компонент, программных модулей, двоичных и других файлов проекта.

Инструменты Эффективной Разработки

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

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Project Manager Hooks

Visual FoxPro 9.0
Хук (Hooks) для Диспетчера Проектов
См. Также

В системе Visual FoxPro вы можете получить программный доступ к составляющим элементам Проекта вашего Приложения и манипулировать данными как в обычном Объекте. Данные операции и функции доступны как в режиме Разработки: при открытом Проекте в соответствующем Project Manager, так и в режиме выполнения Приложения (RunTime), то есть когда проект-объект является невидимым.

Note Совет

Для открытия и работы с Проектом, как объектом, без его отображения в Диспетчере Проектов (Project Manager), используйте ключевую опцию NOSHOW из стандартной команды CREATE PROJECT / MODIFY PROJECT. В дальнейшем вы можете изменить значение свойства Visible данного Объекта, для отображения системного окна Project Manager. Дополнительную информацию смотрите в разделах: CREATE PROJECT, команда и MODIFY PROJECT, команда.

В следующем списке приведены основные операции, которые вы можете программно выполнятьс объектом Проект:

  • Открывать и редактировать программные файлы Проекта (или текстовые файлы).

  • Добавлять или Исключать различные файлы из Проекта.

  • Определять количество файлов различных типов, включенных в Проект (закрепленных за Проектом).

  • Изменять значения Свойств Проекта.

  • Изменять значения Свойств для файлов проекта.

  • Изменять значения Свойств серверов Automation, которые компонуются в динамические библиотеки (.dll) или исполнимые файлы (.exe), создаваемые из данного Проекта.

  • Выполнять некоторый программный Код Событий данного проекта как объекта.

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

  • Добавлять в проект файлы исходного программного кода Управляющих Приложений, например, таких как Microsoft Visual SourceSafe, проверять обновление файлов коллективного использования (при коллективной разработке Приложения), выполнять контролирующие функции Check In / Check Out для файлов Проекта.

    Note Обратите Внимание

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

Продвинутые Разработчики могут проектировать, создавать и использовать другие, нештатные Диспетчеры Проектов.

См. также

Концепции

Иерархия Объекта Проект (Project)
Архитектура Объекта Проект (Project)

Другие ссылки

Расширения для Проектов в Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Project Object Hierarchy

Visual FoxPro 9.0
Иерархия объекта Project
Смотрите также

Иерархия проекта состоит из коллекции Projects, объектов Project коллекции и объекта ProjectHook, связанного с каждым объектом проекта. Объект Project содержит коллекцию Files, состоящую из файлов проекта и коллекцию Servers, состоящую из серверов автоматизации, созданных из проекта.

Приведенная ниже диаграмма иллюстрирует иерархию проекта внутри объектной модели Visual FoxPro.

Иерархия проектов

FoxPro Project Object Hierarchy

Объект Project создается при создании проекта, открытии или перестройки, а также когда из проекта собираются файл приложения (.app), файл dynamic-link library (.dll) или исполнимый файл (.exe). Когда открывается проект, связанный с классом ProjectHook, то по умолчанию создается объект ProjectHook.

Когда в проекте происходит событие, объект Project посылает его объекту ProjectHook. Код пользователя в событии объекта ProjectHook исполняется и возвращает управление назад объекту Project. Значение, возвращаемое объекту Project из объекта ProjectHook определяет - будет ли объект Project завершать операцию.

Note Совет

Размещение в коде события команды NODEFAULT предотвращает действие по умолчанию от исполнения. Например, размещение NODEFAULT в событии QueryAddFile объекта ProjectHook предотвращает добавление файла в проект.

Перечисленные ниже разделы содержат более подробную информацию об иерархии проекта:

  • Коллекция Projects в иерархии проекта

  • Объект Project в иерархии проекта

  • Объект ProjectHook в иерархии проекта

Коллекция Projects в иерархии проекта

Коллекция Projects предоставляет прямой доступ к объектам Project, позволяя вам управлять проектом, файлами и серверами, которые она содержит. При создании проекта, его открытии, сборки файла приложения (.app), файла dynamic-link library (.dll) или исполнимого файла (.exe), создаваемых из проекта, объект проекта добавляется в коллекцию проектов.

Вы можете получить информацию о проекте в коллекции Projects с помощью его свойств и методов. Например, приведенные ниже строки кода показывают два способа отображения имен проектов в коллекции Projects. Первый пример использует свойство Count и метод Item коллекции Projects. Второй пример использует команду FOR EACH.

CopyCode image Скопировать код
nProjectCount = Application.Projects.Count
FOR nCount = 1 TO nProjectCount
   ? Application.Projects.Item(nCount).Name
NEXT
FOR EACH oProj IN Application.Projects
   ? oProj.Name
ENDFOR

Для получения более подробной информации смотрите Коллекция Projects.

Объект Project в иерархии проекта

Объект Project создается при создании проекта, его открытии, сборки файла приложения (.app), файла dynamic-link library (.dll) или исполнимого файла (.exe, создаваемых из проекта. Объект Project содержит коллекцию Files, состоящую из файлов проекта и коллекции Servers, состоящую из серверов автоматизации, созданных из проекта.

Объект Project дает вам возможность управлять проектом программно и обращаться к нему через объект Application. Объект Application имеет свойство ActiveProject, которое предоставляет ссылку на открытый проект в текущем, активном Project Manager (Диспетчере проекта).

Вы можете управлять объектом Project через его свойства и методы. Для получения более подробной информации смотрите Объект Project и Объект Application.

Коллекция Files

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

Вы можете добавлять файлы в проект программно. Например, приведенные ниже строки кода используют свойство ActiveProject объекта Application для добавления программы Main.prg в текущий активный проект:

CopyCode image Скопировать код
Application.ActiveProject.Files.Add('Main.prg')

Приведенные ниже строки кода добавляют Main.prg в первый проект коллекции Projects:

CopyCode image Скопировать код
Application.Projects[1].Files.Add('Main.prg')

Вы можете получить информацию о файле в коллекции Files, используя его свойства и методы. Например, приведенные ниже строки кода показывают два способа отображения имен всех файлов в коллекции Files. Первый пример использует свойство Count и метод Item коллекции Files. Второй пример использует команду FOR EACH.

CopyCode image Скопировать код
nFileCount = Application.ActiveProject.Files.Count
FOR nCount = 1 TO nFileCount
   ? Application.ActiveProject.Files.Item(nCount).Name
NEXT
FOR EACH oProj IN Application.ActiveProject.Files
   ? oProj.Name
ENDFOR

Для получения более подробной информации смотрите Коллекция Files.

Коллекция Servers

Коллекция Servers предоставляет прямой доступ к объекту Server, что дает вам возможность управлять объектами Server, которые содержит проект. Вы можете управлять коллекцией Servers через ее свойства и методы. Для получения более подробной информации смотрите Коллекция Servers.

Когда вы собираете файл dynamic-link library (.dll) или исполнимый файл (.exe), содержащий Automation server из проекта, объект Server добавляется в коллекцию Servers. Для получения более подробной информации о создании серверов автоматизации смотрите описание задачи Как: создавать сервера автоматизации в разделе Совместное использование информации и введение OLE.

Note Замечание

Объект Server не создается до тех пор, пока проект, содержащий класс OLEPUBLIC, определенный командой DEFINE CLASS не будет собран. Для получения более подробной информации смотрите описание команды DEFINE CLASS.

Объект Server дает вам возможность получить информацию о серверах автоматизации, содержащихся в проекте, например, информацию библиотеки типов. Эта информация, кроме того, доступна на закладке Servers (Сервера) диалогового окна Project Information (Информация о проекте). Для получения более подробной информации смотрите Закладка Servers (Сервера) диалогового окна Options (Параметры).

Вы можете управлять объектом Server в коллекции Servers с помощью его свойств. Для получения более подробной информации смотрите Объект Server.

Объект ProjectHook в иерархии проекта

Когда открывается проект, связанный с классом ProjectHook, то по умолчанию создается объект ProjectHook.

Note Совет

Длс предотвращения создания объекта ProjectHook для проекта, включите ключевое слово NOPROJECTHOOK в команды CREATE PROJECT и MODIFY PROJECT. Для получения более подробной информации смотрите описания команд CREATE PROJECT и MODIFY PROJECT.

Объект ProjectHook как раз и позволяет вам программно обращаться к событиями в проекте. Например, вы можете исполнять программный при добавлении файла в проект. Объект ProjectHook отличается от объекта Project, который содержит все свойства и методы, доступные в диалоговом окне Project Information (Информация о проекте). Для получения более подробной информации смотрите описание Диалоговое окно Project Information (Информация о проекте).

Используемый по умолчанию класс ProjectHook определяется для новых проектов на закладке Projects (Проекты) диалогового окна Options (Параметры). Вы можете переписать используемый по умолчанию класс ProjectHook указанием другого класса для конкретного проекта в диалоговом окне Project Information (Информация о проекте). Однако, если на закладке Projects не определен класс ProjectHook, для использования по умолчанию, то новые проекты не связываются с объектом ProjectHook. Для получения более подробной информации смотрите Закладка Projects (Проекты) диалогового окна Options (Параметры).

В run time, вы можете использовать свойство ProjectHook для указания класса project hook для проекта. Если вы измените класс ProjectHook для проектаЮ то новый класс ProjectHook не будет иметь воздействия до момента, пока вы не закроете и вновь не откроете проект.

Вы можете управлять объектом ProjectHook через его свойства, методы и события. Для получения более подробной информации смотрите Объект ProjectHook.

Смотрите также

Концепции

Project Manager Hooks
Архитектура объекта Project

Прочие ресурсы

Расширение проектов в Visual FoxPro
Работа с проектами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Project Object Architecture

Visual FoxPro 9.0
Архитектура объекта Project
Смотрите также

Visual FoxPro объект Project выказывает интерфейс IDispatch, поэтому клиенты Automation, элементы ActiveX и прочие COM-объекты могут обращаться к объекту проекта через стандартные интерфейсы OLE. При управлении проектами, ошибки, которые могут возникнуть представляют собой ошибки OLE, так как объект Project выказывает интерфейс IDispatch.

Союытия объекта Project

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

Создание нового проекта

При исполнении команды CREATE PROJECT, создании нового проекта из меню File (Файл) или при щелчке по кнопке New (Новый) на стандартной полоске инструментов для создания нового проекта, будут происходить перечисленные ниже события:

  1. Создается объект Project.

  2. Создается экземпляр объекта ProjectHook.

  3. Наступает событие Init объекта ProjectHook. Если событие Init вернет true (.T.), что возвращается по умолчанию, проект создается и отображается в диспетчере проекта (Project Manager).

    Если событие Init вернет false (.F.), проект не создается, объекты project и ProjectHook высвобождаются из памяти, а диспетчер проекта не отображается.

Изменения в существующем проекте

При исполнении команды MODIFY PROJECT, изменении проекта выборкой из меню File (Файл) или при щелчке по кнопке Open (Открыть) на стандартной полоске инструментов будут происходить перечисленные ниже события:

  1. Создается объект project. Объект project получает свои значения из файла проекта .pjx.

  2. Создается экземпляр объекта ProjectHook.

  3. Наступает событие Init объекта ProjectHook. Если событие Init вернет true (.T.), что возвращается по умолчанию, проект создается и отображается для производства изменений в диспетчере проекта (Project Manager).

    Если событие Init вернет false (.F.), проект не создается, объекты project и ProjectHook высвобождаются из памяти, а диспетчер проекта не отображается.

Закрытие проекта

При закрытии проекта будут происходить перечисленные ниже события:

  1. Срабатывает событие Destroy объекта ProjectHook и объект ProjectHook высвобождается из памяти.

  2. Объект Project высвобождается из памяти.

Выдача команд BUILD APP, BUILD DLL или BUILD EXE

При выдаче команд BUILD APP, BUILD DLL или BUILD EXE будут происходить перечисленные ниже события:

  1. Создается объект project. Объект project получает свои значения из файла проекта .pjx.

  2. Создается экземпляр объекта ProjectHook.

  3. Наступает событие Init объекта ProjectHook. Если событие Init вернет true (.T.), что возвращается по умолчанию, происходит событие BeforeBuild. Если в событие BeforeBuild включена команда NODEFAULT, то сборка файлов .app, .dll или .exe не производится. В противном случае, начинается процесс сборки файлов.

    Если во время процесса сборки в проект добавляется любой файл, то для объекта ProjectHook происходит событие QueryAddFile до ввода каждого файла. Если в событие QueryAddFile включена команда NODEFAULT, то файл в проект не добавляется. В противном случае, файл добавляется в проект. После успешной сборки файлов .app, .dll или .exe происходит событие AfterBuild объекта ProjectHook и затем событие Destroy этого же объекта.

    Если событие Init вернет (.F.) то сборка файлов .app, .dll или .exe не производится и объекты ProjectHook высвобождаются из памяти.

Выдача команды BUILD PROJECT

При выдаче команды BUILD PROJECT с опцией FROM происходят перечисленные ниже события. Если в команде опция FROM опущена, события наступают в порядке, описанном выше, когда выдаются команды BUILD APP, BUILD DLL или BUILD EXE.

  1. Создается объект project. Объект project получает свои значения из файла проекта .pjx.

  2. Создается экземпляр объекта ProjectHook.

  3. Наступает событие Init объекта ProjectHook. Если событие Init вернет true (.T.), что возвращается по умолчанию, то файлы, указанные в опции FROM добавляются в проект индивидуально. Событие QueryAddFile объекта ProjectHook происходит до ввода каждого файла в проект. Если в событие QueryAddFile включена команда NODEFAULT, файлы в проект не добавляются. В противном случае в проект добавляются файлы.

    Затем наступает событие BeforeBuild объекта ProjectHook. Если в событие BeforeBuild включена команда NODEFAULT, сборка проекта не производится. В противном случае проект будет собран.

  4. После успешной сборки проекта происходит событие AfterBuild объекта ProjectHook и затем событие Destroy этого же объекта.

    Если событие Init вернет (.F.) то сборка проекта не производится и объекты Project и ProjectHook высвобождаются из памяти, а новый .pjx не создается.

Использование операций Drag and Drop

Когда вы перетаскиваете файл или набор файлов над секцией выборки файлов (деревом иерархии проекта) диспетчера проекта (Project Manager), то происходят перечисленные ниже события:

  1. Когда указатель мыши позиционируется над секцией выборки диспетчера проекта происходит событие OLEDragOver объекта ProjectHook с параметром nState установленным в 0 (DRAG_ENTER в Foxpro.h). Затем многократно происходит событие OLEDragOver с параметром nState равным 2 (DRAG_OVER в Foxpro.h). Если указатель мыши покидает область выборки Project Manager, то происходит событие OLEDragOver с параметром nState равным 1 (DRAG_LEAVE в Foxpro.h).

  2. Событие OLEDragDrop объекта ProjectHook происходит, если вы отпускаете кнопку мыши, когда указатель мыши спозиционирован над секцией выборки Project Manager. По умолчанию, Visual FoxPro вводит каждый файл, перетащенный на Project Manager в открытый в нем проект. Событие QueryAddFile объекта ProjectHook происходит каждый раз при добавлении файла в проект.

Добавление файла с помощью командной кнопки Add (Добавить)

Когда вы щелкаете по командной кнопке Add (Добавить) диспетчера проекта с целью добавить в проект файл, то происходит перечисленное ниже:

  1. Открывается диалоговое окно Open (Открыть).

  2. Если вы выбрали файл и щелкнули по OK, для выбранного вами файла создается объект file.

  3. Наступает событие QueryAddFile объекта ProjectHook и событию посылается имя объекта file. Если в событие QueryAddFile включена команда NODEFAULT, файл в проект не добавляется. В противном случае в проект добавляется выбранный вами файл.

Добавление файла с помощью командной кнопки New (Новый)

Когда вы щелкаете по командной кнопке New (Новый) диспетчера проекта с целью добавить в проект файл, то происходит перечисленное ниже:

  1. Отображается соответствующий конструктор или редактор файла.

  2. При сохранении файла отображается диалоговое окно Save As. Щелчок по Save создает объект файла для нового файла.

  3. Наступает событие QueryAddFile объекта ProjectHook и событию посылается имя объекта file. Если в событие QueryAddFile включена команда NODEFAULT, файл в проект не добавляется. В противном случае в проект добавляется выбранный вами файл..

Изменение файла с помощью командной кнопки Modify (Изменить)

Когда вы щелкаете по командной кнопке Modify (Изменить) диспетчера проекта с целью изменить файл в проекте, то происходит перечисленное ниже:

  1. Событие QueryModifyFile объекта ProjectHook происходит до того, как будет отображен соответствующий типу файла конструктор или редактор.

  2. Объект файла, изменяемого файла, посылается событию QueryModifyFile в качестве параметра. Если в событие QueryModifyFile включена команда NODEFAULT, то соответствующий конструктор или редактор не отображаются и файл не изменяется. В противном случае файл открывается на редактирование в соответствующем типу файла конструкторе или редакторе.

Удаление файла с помощью командной кнопки Remove (Удалить)

Когда вы щелкаете по командной кнопке Remove (Удалить) диспетчера проекта с целью удалить файл из проекта, то происходит перечисленное ниже:

  1. Наступает событие QueryRemoveFile объета ProjectHook.

  2. Объект удаляемого файла посылается событию QueryRemoveFile в качестве параметра. Если в событие QueryRemoveFile включена команда NODEFAULT, то файл не удаляется из проекта. В противном случае файл удаляется из проекта.

Исполнени файла с помощью командной кнопки Run (Запустить)

Когда вы щелкаете по командной кнопке Run (Запустить) диспетчера проекта с целью запустить файл из проекта, то происходит перечисленное ниже:

  1. Наступает событие QueryRunFile объекта ProjectHook.

  2. Объект файла, который должен быть исполнен, посылается событию QueryRunFile в качестве параметра. Если в событие QueryRunFile включена команда NODEFAULT, то файл не исполняется. В противном случае файл запускается на исполнение.

Перестройка проекта или сборка файла с помощью командной кнопки Build (Собрать)

Когда вы перестраиваете проект или собираете файлы .app, .dll или .exe из проекта, щелкнув по командной кнопке Build (Собрать) диспетчера проекта, то происходит перечисленное ниже:

  1. Отображается диалоговое окно Build Options (Параметры сборки).

  2. Вы можете выбрать Rebuild Project (Перестроить проект), Build Application (Собрать приложение), Build Executable (Собрать исполнимый файл) или Build COM DLL (Собрать COM DLL) и указать дополнительные параметры сборки. Если вы щелкните по Cancel, то сборка не происходит.

  3. Если вы щелкните по OK, то произойдет событие BeforeBuild объекта ProjectHook и начнется процесс сборки.

  4. После завершения сборки, наступает событие AfterBuild объекта ProjectHook.

Смотрите также

Концепции

Хуки диспетчера проекат (Project Manager Hooks)
Иерархия объекта Project

Прочие ресурсы

Расширение проектов в Visual FoxPro
Работа с проектами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Configuring an Application

Visual FoxPro 9.0
Configuring an Application

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

В этом разделе

Как: установить точку старта

Объясняется, как распознать файл в качестве главного файла и точки старта вашего приложения.

Главные файлы в приложениях

Знакомство с использованием главных файлов в приложениях.

Как: инициализировать окружение

Описывается, как сконфигурировать окружение приложения.

Как: управлять циклом событий

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

Как: настроить внешний вид приложения

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

Связанные разделы

Создание приложений

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

Архитектура приложения

Описывается, как меняется архитектура приложения Visual FoxPro с изменением типа приложения, которое вы решили создать.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set the Starting Point

Visual FoxPro 9.0
Как: установить стартовую точку приложения
Смотри также

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

Замечание:
Вы можете в проекте вашего приложения установить в качестве главного только один файл..

В случае, если вы используете Мастер Приложения (Application Wizard) для создания проекта для вашего приложения, то мастер автоматически создаст главный файал. Однако вы можете отредактировать главный файл, созданный мастером или назначить в качестве главного файла другой файл.

Мастер Приложения (Application Wizard), кроме того, создает объект приложения, с помощью которого вы можете управлять вашим приложением. Главный файл приложения, созданный Мастером Приложения (Application Wizard) включает в себя секции для инстанциации и конфигурирования вашего объекта приложегния.

Для установки главного файла приложения

  1. Откройте проект, созданный для вашего приложения.

  2. В окне "Project Manager", раскройте ветку, содержащую желаемый файл.

  3. Щелкните на имени файла, чтобы выбрать его.

  4. В меню "Project" щелкните на "Set Main".

.

Имя файла, установленного в качестве главного файла будет отображаться в окне "Project Manager" выделенное жирным шрифтом.

.

Замечание:
Файл, который вы установили в проекте в качестве главного будет автоматически включен в процесс создания приложения и маркирован, как "только для чтения" (read-only) во время компиляции приложения.

Смотри также

Прочие ресурсы

Главные файлы в приложениях
Конфигурирование приложения

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод и модификации статьи выполнены JS


Main Files in Applications

Visual FoxPro 9.0
Главный Файл в Приложениях
Смотрите Также

Главным (стартовым) файлом Приложения (Main File) может быть либо Программный модуль, либо некоторая Форма. Все-таки (исходя из самых разнообразных причин), наилучшим выбором для Главного файла является Программный файл (.prg), в котором вы можете объединить требуемую функциональность начальных операций при запуске Приложения с активацией Первоначальной Формы, которую, как вы считаете, должен увидеть Пользователь при старте Приложения. Когда конечный Пользователь стартует ваше Приложение, Visual FoxPro запускает указанный Главный Файл и выполняет все другие компоненты, которые предусмотрены вами для данного Приложения.

Если вы используете некоторый Программный Модуль в качестве Главного Файла вашего Приложения, вам требуется проверить, обеспечивается ли при этом Решение Главных Задач вашего Приложения, заложены ли в этом файле все необходимые Инструменты. Однако, Главный файл не обязан содержать все непосредственные Команды, разрешающие все поставленные Задачи. Например, Главный файл может содержать вызовы основных Процедур, Функций, Форм и так далее, которые устанавливают начальные параметры Приложения, определяют требуемую Среду данных и другие Установки и Параметры.

В следующем Списке предлагается приблизительный набор Задач, которые должны быть отражены в Главном файле, а также порядок их выполнения:

  1. Создание Среды Данных для работы Приложения, открытие Баз Данных, создание Переменных и Массивов, описание внешних Компонент. Дополнительную информацию смотрите в разделе: Как: Определить начальную Среду (Environment).

  2. Определите начальный Пользовательский Интерфейс и вызов Меню или Стартовой Формы.

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

    Для определения начальных параметров Приложения вы можете использовать вызов из Главного файла других Модулей с помощью команды DO или выполнить команду DO FORM - для активации начальной Формы. Например, следующая строка программного Кодаможет быть вызвана из Модуля Startup:

    CopyCode image Копировать Код
    DO FORM BeginApp.scx

    Дополнительную информацию смотрите в Разделах: DO, команда или DO FORM, команда.

  3. Требуется обеспечить создание режима Ожидания дальнейших Действий конечного Пользователя, для этого используется стандартная команда READ EVENTS. Смотрите дополнительно: Как: Управлять Циклом Событий Приложения.

  4. Обеспечить Завершение процесса отслеживания событий Приложения, когда пользователь заканчивает работу с Приложением, например, по команде Меню - Выход, или при помощи специальной кнопки <Выход>. Смотрите дополнительно раздел: Как: Управлять Циклом Событий Приложения.

  5. Обеспечить восстановление Среды Данных, Переменных и Параметров после завершения работы Пользователя с Приложением.

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

    Note Совет

    Если вы инициализируете Среду Данных и Параметров с помощью другого Приложения, отличного от основной Программы, вам требуется отследить возможность доступа к перечисленным Параметрам Среды Данных. Например, предположим, что вы инициализируете параметры одним программным модулем, а сохраняете данные параметры Среды - совсем другим программным модулем. Проконтролируйте, чтобы сохраняемые в одном месте Параметры Среды могли быть восстановлены из другого места (другим Модулем), требуется согласованность глобальных переменных, пользовательских Классов, или свойств Объекта Приложения (сохраняемых - восстанавливаемых).
    Note Обратите Внимание

    Имена переменных, используемых при выполнении Макро-Подстановки (оператор "&") не рекомендуется использовать с префиксом "m.", так как символ "точки" в этом случае воспринимается системой как ссылка на родительский Объект (например, Алиас таблицы), это может порождать Синтаксическую Ошибку Выполнения.

Например, главный файл Приложения может содержать следующие строки программного Кода:

CopyCode image Копировать Код
DO SETUP.PRG     && настройка требуемых параметров
DO MAINMENU.MPR  && активация Меню Приложения
READ EVENTS      && перевод Приложения в режим Ожидания (работает Меню)
DO CLEANUP.PRG   && восстановление первоначальных (измененных) установок

Представленные командные строки выполняют следующие Ключевые Задачи:

  • Выполнение установочной программы определения начальных Параметров, Переменных, Среды Данных;

  • Выполнение программного модуля создания и активации подсистемы Меню Приложения.

  • Вызов команды READ EVENTS - активация Цикла обработки Событий.

  • Выполнение Завершающего программного модуля, сохраняющего требуемые Параметры, восстановление начальных характеристик.

См. также

Задачи

Как: Определить Стартовую Точку Приложения

Другие ссылки

Работа с Программами
Работа с Формами
Конфигурация Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Initialize the Environment

Visual FoxPro 9.0
Как: задать начальные условия окружения
Смотрите также

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

Note Совет

Рекомендуется, чтобы вы сохраняли начальные установки окружения, а затем изменяли их для создания конкретного окружения для вашего приложения. Для того, чтобы просмотреть значения по умолчанию для окружения разработки Visual FoxPro, запустите Visual FoxPro без использования конфигурационного файла, напечатав в окне Run операционной системы команду VFP -C с последующим вызовом команды DISPLAY STATUS. Для получения более подробной информации смотрите описание команды DISPLAY STATUS.

Для просмотра и сохранения текущего окружения

  1. В меню Tools щелкните на Options.

  2. В диалоговом окне Options нажмите и удерживайте клавишу SHIFT и одновременно щелкните на OK.

    Команды SET и прочие установки окружения отобразятся в окне Command .

  3. В окне Command скопируйте полученные данные и затем вставьте команды SET и установки окружения в установочный программный файл.

Теперь вы можете редактировать команды SET и установки окружения для нужд вашего приложения. В окружение для вашего приложения вы можете пожелать включить код для производства приведенного ниже:

  • Иниуиализировать переменнык.

  • Установить путь по умолчанию.

  • Открыть необходимые базы данных, свободные таблицы и индексы. Если ваше приложение требует доступа к удаленным данным, процедура инициализации может запросить у пользователя необходимую информацию для входа в систему (login).

  • Установить ссылку на внешние файлы библиотек и процедур.

Например, предположим, что вы желаете протестировать начальное значение комады SET TALK, сохранить это значение и установить для вашего приложения TALK в OFF. Вы можете поместить приведенный ниже код в вашу установочную процедуру:

CopyCode image Скопировать код
IF SET('TALK') = "ON"
   SET TALK OFF
   cTalkVal = "ON"
ELSE
   cTalkVal = "OFF"
ENDIF

Для получения более подробной информации смотрите SET Command Overview.

Смотрите также

Задачи

Как: установить точку старта
Как: управлять циклом событий

Прочие ресурсы

Конфигурирование приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выпонлен JS.


How to: Control the Event Loop

Visual FoxPro 9.0
Как: Контролировать цикл событий
См. также

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

Note Примечание

Перед стартом механизма обработки цикла событий Вам необходимо создать точку выхода из данного цикла. Убедитесь в том, что Ваше приложение имеет такой механизм выхода из цикла обработки событий; например, при нажатии кнопки Quit или выполнении команды меню Exit происходит завершение цикла обработки событий.

Для запуска цикла обработки событий

  • В главный программный файл Вашего приложения включите команду READ EVENTS.

Команда READ EVENTS обеспечивает начало цикла обработки различных событий системой Visual FoxPro, ввод с клавиатуры или операции мышкой. См. дополнительно раздел команда READ EVENTS.

Note Примечание

Если Вы не включили команду READ EVENTS, Ваше приложение, после выполнения начальных операндов, завершит свое выполнение, передаст управление Операционной системе. Важным является место размещения команды READ EVENTS в главном файле приложения, после начала выполнения данной команды (начинается цикл обработки событий), выполнение главного программного файла приостанавливается до тех пор пока не будет выполнена команда CLEAR EVENTS (которая прерывает данный цикл). Например, Вы запускаете команду READ EVENTS после завершения настройки среды приложения и отображения начального интерфейса пользователя.

После начала цикла обработки событий могут выполняться только элементы управления программой, которые уже отображены на экране. Например, команда начала цикла обработки событий размещается после следующей команды:

CopyCode image Копировать Код
DO FORM STARTUP.SCX

Приложение отображает начальную форму Startup.scx. В среде разработки, где присутствует Командное окно, Ваше приложение может нормально работать. Тем не менее, если приложение запущено в режиме RunTime, оно быстро выполняется и завершает свою работу (это значит, что отсутствует указание на команду Read Events).

Для завершения цикла обработки событий

  • Выполните команду CLEAR EVENTS из пункта вашего меню или из кнопки в форме.

Команда CLEAR EVENTS завершает обработку цикла событий и передает управление в то место программы, где была запущена ранее команда READ EVENTS.

Note Примечание

Обычно, команда CLEAR EVENTS выполняется из пункта меню или кнопки формы. Главный файл приложения не должен содержать команды CLEAR EVENTS.

См. дополнительно Команда CLEAR.

См. также

Другие ссылки

Конфигурация Приложения

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Customize the Appearance of Applications

Visual FoxPro 9.0
Как: настроить внешний вид приложения
Смотрите также

Вы можете изменить внешней вид вашего приложения с помощью приведенных ниже способов без изменения кода приложения:

  • Изменение системного меню, используемого по умолчанию.

    Вы можете создать и добавить ваши собственное опции меню с помощью дизайнера Menu. В противном случае, run-time окружение отобразит меню, используемое Visual FoxPro по умолчанию. Для получения более подробной информации смотрите Как: создавать меню и субменю.

  • Изменение заголовка приложения, используемого по умолчанию.

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

  • Изменение иконки, используемой по умолчанию.

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

Для изменения заголовка приложения

  • В конфигурационном файле вашего приложения, включите следующие предложения и замените MyProgramTitle заголовком, подходящим для вашего приложения:

    CopyCode image Скопировать код
    TITLE = MyProgramTitle
    Note Совет

    Для включения функции Visual FoxPro, например для отображения номера версии, как части заголовка, вставьте приведенную ниже строку кода в конфигурационный файл для установки свойства Caption главного окна в подходящий для приложения заголовок и имя функции: COMMAND=_SCREEN.Caption="MyProgramTitle " + FunctionName()

Для получения более подробной информации смотрите Специальные термины для конфигурационных файлов.

Для изменения используемой по умолчанию иконки

  1. Откройте проект для вашего приложения.

  2. В Project Manager выберите главный файл для вашего проекта.

  3. В меню Project щелкните Project Info.

    Покажется диалоговый блок Project Information.

  4. В диалоговом блоке Project Information щелкните закладку Project.

  5. На закладке Project щелкните Attach icon.

  6. В диалоговом блоке Open поищите и выберите файл иконки (.ico) для присвоения вашему проекту.

  7. Щелкните на OK.

Для получения более подробной информации смотрите Окно Project Manager и Диалоговый блок Project Information.

Смотрите также

Концепции

Подготовка для распространения приложения

Прочие ресурсы

Конфигурирование приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Creating Applications with the Application Framework

Visual FoxPro 9.0
Создание Приложения с помощью Application Framework

Инструментарий Application Framework (Генератор Приложений) спроектирован таким образом, чтобы создавать все необходимые и опциональные Программные Компоненты, которые обеспечивают полную функциональность создаваемого Приложения, обеспечивают его простое использование в повседневной работе. Несмотря на то, что данный Инструментарий обеспечивает для вас полный набор всех необходимых способов построения вашего Приложения, в следующих далее разделах рассматриваются различные варианты улучшения функциональных характеристик приложения с помощью системных Компонент: Application Wizard (Мастера создания приложения) и Application builder (Построителя Приложения), которые значительно облегчают ваш труд по созданию вашего Приложения.

В данном Параграфе

Как: Создать Framework

Рассматриваются вопросы и рекомендации по созданию Структуры Приложения (Application Framework) с помощью системной компоненты Application Wizard или при использовании пункта "New Application" в инструментарии Component Gallery.

Основные файлы Структуры Приложения

Приводится Список и краткое описание Файлов, включенных в Структуру Приложения (Application Framework).

Загрузка Данных с помощью Построителя Приложения (Application Builder)

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

Как: Управлять Документами с помощью Построителя Приложения

Рассматриваются вопросы выборки, формирования, обработки информационных Документов, которые получены на основе выбранных Источников Данных (Data Sources).

Как: Создавать Формы и Отчеты с помощью Построителя Приложений

Рассматриваются варианты построения Форм и Отчетов без использования прямого Кодирования (создания программного Кода).

Как: Определить (задать) Построитель приложения с помощью Полей файла Builder.dbf

Описывается структура информационного файла Builder.dbf, с помощью полей которого вы можете определить характеристики требуемого Построителя Приложения. В указанной таблице содержится следующее: Имя Построителя, краткое описание его свойств, Имя порождающего и базового Класса, на основании которых создан данный Построитель.

Описание

Связанные Секции

Создание Приложений

Рассматриваются ключевые вопросы создания пользовательских приложений Visual FoxPro, предназначенных для обработки одной или нескольких Баз Данных; определения Главного файла Приложения, настройки Среды выполнения приложения, Среды Данных, создания элементов пользовательского интерфейса: компоненты Форм, Инструментарии, Меню.

Настройка параметров Приложения

Рассматриваются основные вопросы конфигурирования Приложений Visual FoxPro.

Оптимизация выполнения приложений типа Клиент-Сервер (Client/Server)

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

Построение Пользовательского Интерфейса

Рассматривается круг вопросов по созданию Форм, Классов, Контролов (Элементов Управления), инструментальных компонент (ToolBars), обеспечивающих полнофункциональный и доброжелательный пользовательский интерфейс.

Наращивание (масштабирование) Баз Данных Visual FoxPro

Приводятся рекомендации по использованию Мастера Наращивания (масштабирования), выполняющего перенос локальных Баз Данных, Таблиц, Представлений и всего прочего на внешнюю платформу Microsoft SQL Server.

Построение многоязычных Приложений

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Create a Framework

Visual FoxPro 9.0
Как: Создавать системы Framework
См. также

Вы можете создать приложение Framework с помощью штатного Мастера Приложений, или с помощью имеющегося пункта New Application в Галлерее Компонентов (Component Gallery). Когда вы используете подсистему Component Gallery, новый проект вашего приложения, его главная папка автоматически добавляется в папку Favorites (Фавориты).

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

Для создания Приложения

  1. Из системного меню Tools, выберите пункт Wizards, и соответствующий подпункт Application.

    -или-

    В папке Catalogs подсистемы Component Gallery, выполните "double-click" на пункте New Application.

  2. В запущенном диалоговом боксе Application Wizard (Мастера Приложений):

    • Определите Наименование нового Проекта.

    • Подсоедините или укажите файл проекта.

    • Опренделите необходимые параметры: Create project directory structure (создать структуру подкаталогов данного проекта)(по-умолчанию) и Add to Favorites catalog (Добавить в каталог Фаворитов)(по-умолчанию).

Дополнительная информация содержится в разделе Создание Приложения как Приложения Framework.

Вы можете использовать уже имеющиеся объекты из Галлереи Компонентов, формы, отчеты, сервисные элементы, добавлять их в ваше новое приложение; использовать различные Контролы для Форм и Объектов. При использовании элементов из Галлереи Компонентов вы можете создавать новые формы, классы в библиотеках, или целые библиотеки классов.

См. также

Описание

Файлы Приложений Framework

Другие ссылки

Разработка Приложений как Приложения Framework
Инструментарий высокопроизводительной Рахзработки Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Application Framework Files

Visual FoxPro 9.0
Файлы Инфраструктуры Приложения (Framework Application)
См. также
CollapseAll image

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

Master Include File (главный файл расширений (.h))

Данный файл содержит общие команды оприсаний #INCLUDE, содержащих описания основных Констант и символьных строк ключевых Компонент Приложения. Данный файл может содержать также описание группы значений APP_GLOBAL, имена внутренних и внешних Компонент, которые будут использоваться в Приложении.

Configuration File (Файл Конфигурации)

Опциональный файл Config.fpw, используемый обычно в приложениях типа "Top-Level Form"; для размещения ключевых системных установок, таких как SCREEN=OFF.

Project Hook Class (Класс Hook для текущего Проекта)

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

Application Meta Table (Глобальная Таблица Приложения)

Содержит информацию о текущих установках Проекта Приложения; характеристики использования Построителя Приложений и специфика Класса Project Hooks.

Application Builder (Построитель Приложения)

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

Механизмы Инфраструктуры Приложения позволяют вам эффективно создавать полные, готовые Приложения или определять общие Каркасы будущих Приложений (Application Framework). Если вы создаете полное, готовое Приложение, вы можете включать в Проект уже созданные ранее функциональные Компоненты: Базы Данных, Формы, различные Отчеты и прочее. Вы можете создавать также общие Каркасы будущих Приложений, включать в них часто используемые компоненты: программные модули, Библиотеки Классов, графические файлы. Данные общие Каркасы будущих Приложений сокращают время создания новых Приложений; определяют общий графический интерфейс Пользователя (GUI) для нескольких Приложений.

Expand image См. также

Другие ссылки

Создание Приложения с помощью инструмента Application Framework
Разработка Производственного Иструментария (Productivity Tools)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Data Selection with Application Builder

Visual FoxPro 9.0
Выборка Данных с помощью Построителя Приложений
См. также
CollapseAll image

После того, как вы спланировали разработку вашего Приложения, вам необходимо определить Источники Данных, которые будут обрабатываться в вашем, создаваемом Приложении. В этом случае вы можете использовать существующий инструментарий из Закладки Data, в окне Построителя Приложений, позволяющий добавить в Проект вашего Приложения Базы Данных, свободные Таблицы или прочие источники требуемых Данных.

Expand image Добавление Данных с помощью Закладки "Data"

Если вы используете уже существующие наборы Данных, то вы можете применить упомянутый Инструментарий из закладки Data для создания ссылок в Среде Данных вашего Приложения, добавлять новые свободные Таблицы или выполнять навигацию по другим Источникам Данных для поиска необходимых Данных для вашего Приложения. Как только вы выбираете в качестве объекта Таблицу, Построитель Приложения автоматически создает для данной таблицы объект GRID, который размещается на Форме и соответствующий Отчет, который имеет стандартные характеристики для рассматриваемой Таблицы. На данном Этапе обработки данных вам достаточно выбрать, включать ли рассматриваемый Источник и его инструменты Отображения данных (Grid и Report) в ваш проект Приложения. Указанные Элементы еще не существуют фактически, это только их ссылки в структуре вашего Приложения, которые будут разрешены только после нажатия кнопки Generate (при создании приложения). Если вам достаточно добавить в Приложения только рассматриваемые Источники Данных, и не добавлять соответствующие объекты Отображения (Grid и Report), вам достаточно снятьсоответствующие отметки указанных Объектов. Если вы уже имеете требуемые Объекты отображения Данных (формы и Отчеты) для рассматриваемого источника данных, то вам необходимо установить указанные выше галочки использования Объектов Отображения, при генерации приложения указанные объекты будут созданы Мастером создания Приложения. Для изменения Стилей объектов отображения данных вы можете использовать соответствующие раскрывающиеся Списки стилей (Style Drop-Down Lists).

В дальнейшем вы сможете изменить указанные выше Объекты (формы или отчеты) в соответствующих закладках Form tab / Report tab построителя Приложений. Если на этапе работы в закладке Data tab, при просмотре таблицы Источников Данных вы нажимаете кнопку OK - для выхода из Построителя Приложений, Visual FoxPro запрашивает у вас подтверждение о добавлении Таблиц, Форм и Отчетов в проект вашего Приложения. При нажатии на кнопку Generate выполняются аналогичные функции построителя приложения.

Рассматриваемые Объекты отображения данных, которые создаются Построителем приложения содержат описания всех Полей из Источников Данных (таблиц). Если вам необходимо выполнить настройку указанных Объектов, то вы можете напрямую запустить Мастер Форм (Form Wizard) или Мастер Отчетов (Report Wizard) из соответствующего системного меню Wizards (Мастера), в которые загружаются рассматриваемые выше объекты определенные в закладках Form tab / Report tab. Вы также можете добавить или изменить требуемые Формы или Отчеты из соответствующих Инструментов Построителя Приложений.

Когда вы используете построитель приложения для добавления Источников Данных в проект вашего Приложения, то данные объекты помечаются в последнем как Excluded (внешние), Это означает, что они не будут включаться в модуль Приложения, будут существовать отдельно. Это позволяет вам выполнять корректировку рассматриваемых объектов отображения данных, а также и самих Таблиц. Включенные в модуль Приложения таблицы данных имеют статус "только-чтение", и не могут изменяться в процессе работы приложения. Если вам требуется включить рассматриваемые объекты в модуль приложения, то вам необходимо установить соответствующую опцию (include) для конкретной Таблицы Данных (например, для выполнения указанной операции существует системная Опция), при использовании контекстного меню (right-click) в Диспетчере Проектов вы можете выполнить указанную операцию с помощью соответствующего меню (Include).

Expand image Создание новых Объектов хранения данных с помощью инструментов Закладки "Data"

Вы можете использовать также Мастер Базы Данных или Конструктор Базы Данных для добавления и создания требуемых Источников Данных, которые присоединяются к проекту вашего Приложения. Указанные инструментальные подсистемы позволяют создать структуры Информационных объектов и разместить их в соответствующих папках вашего Приложения, в основном используются аналогичные механизмы, рассмотренные в предыдущем параграфе.

Базовые Объекты отображения данных (формы или отчеты), которые создаются построителем приложений, содержат все Поля из Таблиц данных, для которых созданы эти Объекты. Эти Документы предназначены для ввода и обработки Данных и получения соответствующих Отчетов, но вы можете выполнить дополнительную настройку или корректировку рассматриваемых Объектов по вашему усмотрению или в соответствие с задачами вашего Приложения. Мастер Форм и Мастер Отчетов предоставляют вам широкие возможности по выполнению необходимых настроек, для этого существуют также Фундаментальные Классы и Галерея Компонентов, с помощью которых вы можете значительно улучшить качество ваших Форм и Отчетов.

Expand image Размещение Данных

Если вы используете Построитель Приложений для добавления и размещения требуемых Источников Данных и Объектов их отображения, то данный построитель автоматически связывает указанные компоненты между собой. Построитель приложений располагает всем необходимым инструментарием, однако все перечисленные выше Объекты и Связи размещаются в стандартной папке Данных (Default Data Directory); если вам требуется собственная настройка каталогов размещения данных, которые связываются с соответствующими Объектами Отображения (формами или отчетами), то вам необходимо использовать инструментарий из закладки Advanced, Построителя Приложений, где вы можете уточнить конкретные характеристики размещения используемых вами информационных объектов. Использование указанных дополнительных настроек позволит вам избежать невынужденных ошибок Связывания источников данных и объектов их Отображения.

Expand image Импортирование Данных

Во многих случаях вам приходится использовать внешние информационные объекты, которые представлены в нестандартных Форматах хранения данных (нестандартных в смысле FoxPro). Это может быть обычный Текстовый файл или некоторая Электронная Таблицы. В таких случаях вы можете успешно использовать инструментарий Мастера Импорта Данных, который позволяет конвертировать требуемые данные в стандартные Таблицы FoxPro. В дальнейшем полученные после импорта таблицы могут эффективно использоваться в ваших Приложениях, даже сам процесс Импорта может быть использован в ваших Приложениях в качестве дополнительного инструментария.

Expand image Масштабирование Данных

В стандартный инструментарий системы Visual FoxPro включен Мастер Масштабирования, с помощью которого вы можете перенести ваши локальные Источники Данных (контейнерные базы и таблицы) FoxPro во внешние Базы Данных SQL Server. Если в вашем Приложении планируется использование нескольких Баз Данных, то можете выполнить Миграцию локальных данных в удаленные Источники Данных. При этом не потребуется существенной переработки уже созданного Приложения.

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

Если в ваши планы входит обращение к уже существующим Базам Данных SQL Server, то ваше Приложение может обращаться с Таблицами из указанных баз данных как с обычными Таблицами, размещаемыми в ваших локальных папках, на вашей Рабочей Станции. Обработка данных из удаленных Представлений существенно не отличается от описанной ранее процедуры обработки локальных данных с помощью рассматриваемых Объектов отображения данных (форм или отчетов).

Expand image См. также

Задачи

Как: Управлять Документами с помощью Построителя Приложений

Другие ссылки

Создание Приложений с помощью инструментов "Application Framework"

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Manage Documents with Application Builder

Visual FoxPro 9.0
Как: Управлять Документами в построителе Приложений
См. также

Как только вы определили основные Источники требуемых Данных, вам необходимо спроектировать и определить Документы, которые будут добавлены в ваше Приложение. Построитель Приложений (Application Builder) особенно эффективен для выполнения поставленных Задач в силу того, что данный инструмент не только добавляет необходимые Документы в ваше Приложение, но и позволяет интегрировать данные этих документов с общей Структурой Приложения. Поскольку Построитель использует дополнительные (расширенные) характеристики добавляемых Документов (они сохраняются в специальной Таблице Мета-Данных), то это позволяет автоматически интегрировать рассматриваемые Документы с другими Компонентами Приложения. Указанная таблица Мета-Данных сохраняется в том же каталоге, где сохранен основной Проект Приложения, данная таблица имеет наименование = <имя Проекта> + специальный суффикс "_app.dbf" . Рассматриваемая Таблица Мета-Данных о расширенных характеристиках Документов содержит следующие свойства:

  • Дополнительные, пользовательские настройки для Диалоговых боксов Open (Открыть) и New (Новый).

  • Используется ли в работе Приложения Диалоговый бокс New.

  • Используется ли в работе Приложения Диалоговый бокс Open.

  • Используется ли в работе Приложения навигационный ToolBar.

  • Используется ли в работе Приложения стандартное Меню.

  • Возможно ли неоднократное открытие рассматриваемых Документов.

Вы можете использовать также такие возможности Построителя Приложений, как автоматическое создание новых Форм и Отчетов, которые обеспечивают обработку ваших Источников Данных (Таблиц или Баз Данных). Указанные Формы или Отчеты создаются соответствующими Мастерами создания Форм или Отчетов.

Как только требуемый Документ добавляется в общую Структуру вашего Приложения, соответствующие программные Компоненты появляются в в закладках Forms или Reports.

Когда вы активируете Закладку Forms в структуре вашего Приложения, то вы увидите Список Форм вашего приложения, которые вы добавляли вручную, или которые были автоматически порождены при добавлении Источников Данных в закладку Data.

Note Обратите Внимание

Указанные выше порождаемые Формы могут отсутствовать в списке Форм Приложения. Это может происходить по причине отсутствия регистрации Источников Данных в Мета-Таблице вашего Приложения. Вы можете Зарегистрировать требуемые Источники Данных с помощью кнопки Add (добавить) в закладке Forms. Дополнительно, кнопка Cleanup (Очистить), описанная в разделе: Закладка Advanced, Построитель Приложений позволяет Синхронизировать Документы - Источники Данных из вашего Приложения и регистрацию этих документов в Мета-Таблице приложения. Вы можете также изменить или удалить некоторые Докуметны обычным способом, в соответствующей Закладке.

Для добавления Документа в Построитель Приложения:

  1. Нажмите кнопку Add (Добавить) в соответствующей группе программных Документов (Формы (Form) или Отчеты (Report)), выберите требуемый документ (форму или отчет). Построитель Приложения автоматически определяет типы добавляемых Документов. Для Форм - это файлы с расширением: (.scx), для форм в виде Классов - библиотеки Классов (.vcx), или программные файлы (.prg), которые содержат программный вариант описания или запуска Формы. Для Отчетов - это файлы с расширением (.frx), или Этикетки, файлы с расширением: (.lbx), или программные файлы (.prg), в которых отчет создается программным способом.

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

В закладке Forms (Формы) вы можете выполнять следующие Операции:

Для изменения Документа, зарегистрированного в Построителе Приложений:

  1. Откройте список, содержащий требуемую вам Форму, выделите требуемую форму и нажмите кнопку Edit (Изменить). При открытии Формы вы можете получить одно из следующих Сообщений:

    "Would you like to add a mediator object to this form to fully enable it for use with the application framework?" (Желаете ли добавить управление Посредника для выбранного вами Объекта - Документа Приложения)

  2. Если вы выбираете "Yes-Да", Построитель Приложения регистрирует выбранную Форму как Элемент общей Структуры Приложения. Например, после того, как вы закроете Форму, Диспетчер-Посредник автоматически проверяет: выполнялись ли вами конкретные изменения Контролов Формы и Запросит у вас Подтверждение для сохранения Изменений. Коме того, Диспетчер-Посредник отслеживает варианты создания новой Формы - диалоговый бокс New, или изменение существующей Формы - диалоговый бокс Open.

  3. При работе в Дизайнере Форм, вам предоставляется максимум возможностей по изменению Компонент рассматриваемой Формы. Вы можете использовать Галерею Компонентов - для добавления новых Контролов, или изменить указанные Контролы в Галерее Компонентов - для расширения их Функциональности.

Для Исключения Документа из под Контроля Построителя Приложений:

  • Вы можете исключить выбранный вами Документ из Мета-Таблицы регистрации Построителя Приложений, для этого нажмите кнопку Remove (Исключить). После того, как рассматриваемый Документ исключается из Регистрационной Таблицы, он остается зарегистрированным в файле Проекта Приложения.

    Note Обратите Внимание

    Ваше Приложение (или Компонента) будет успешно выполняться независимо от того, зарегистрировано оно или Нет в Мета- Таблице Построителя. Пока не изменяется функциональный Код вашей Формы - она будет работать независимо от регистрации ее в Построителе. Рассматриваемый Механизм Регистрации только облегчает отслеживание вносимых Изменений в функциональный инструментарий вашего Приложения (в Формы или в Отчеты).

См. также

Описание

Выделение Данных в Построителе Приложений

Другие ссылки

Создание Приложений с помощью Application Framework

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Generate Forms and Reports with Application Builder

Visual FoxPro 9.0
Как: Создавать Формы и Отчеты при использовании Построителя Приложений
См. также

Вы можете использовать Построитель Приложений для создания Форм и Отчетов, без написания программного Кода.

Для создания форм и отчетов

  1. Используйте кнопку Database Wizard, далее - кнопку Table Wizard, или кнопку Select для определения и выбора Источника Данных.

    Если вы выбираете кнопки Database Wizard или Table Wizard, Visual FoxPro открывает соответствующий Мастер. После того, как осуществлена необходимая работа с выбранным Мастером, вы возвращаетесь в закладку Data Мастера разработки Приложений.

    После определения Источника Данных, отображается табличка (grid) выбранных имен Таблиц и делается выбор Контролов для настройки Форм и Отчетов. Мастер автоматически выбирает стандартный вид Формы или Отчета. Если вас удовлетворяет данный выбор Стиля, то переходите на Шаг 4., вдругом случае продолжаем разработку в шаге 2.

  2. Если вам нужно изменить стиль формы, то очистите контрольный бокс Report. Если вам требуется изменить стиль Отчета - очистите контрольный бокс Form. Если требуется и то, и другое - очистите оба значка.

  3. Выберите требуемый вам Стил Формы или Отчета, используйте Контрол Style.

  4. Нажмите кнопку Generate для запуска процесса генерации требуемой Формы и Отчета.

    Note Обратите Внимание

    Поскольку табличка имен таблиц Данных очищается после выполнения процесса Генерации, то вы не можете повторить создание форм для других стилей, кнопка 'generate' - является недоступной.

См. также

Описание

Закладка Data, Построитель Приложений

Другие ссылки

Работа с Данными

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Specify a Builder Application with Builder.dbf

Visual FoxPro 9.0
Как: указать приложение построителя с помощью Builder.dbf
Смотрите также

Вы можете использовать таблицу Builder.dbf для указания приложения построителя. Каждая запись содержит поля, которые представляют имя построителя и, необязательно, описание построителя и поле с именем Type, которое указывает свойство Class или Base Class, для которого вызывается построитель, созданный пользователем. Например, содержимое Type для Command Button представляет Commandbutton, а содержимое Type для построителя "Autoformat builder" представляет собой Multiselect, так как он запускается для нескольких выбранных элементов управления.

В приведенной ниже таблице описывается запись в таблице BUILDER.

Имя поля | Тип поля | Длина (комментарий)
NAME | Character | 45 (Имя построителя)
DESCRIPT | Memo | 4
BITMAP (неиспользуемое) | Memo | 4
TYPE | Character | 20
PROGRAM | Memo | 4 (Приложение построителя)
CLASSLIB | Memo | 4 (Имя библиотеки класса)
CLASSNAME | Memo | 4 (Класс построителя)
PARMS | Memo | 4 (список посылаемых построителю параметров)

Именованное приложение построителя сравнивает значение в поле Type и Class объекта и запускается в случае, если найдено соответствие. Если найдено более одного соответствия, то отображается диалоговое окно для выборки построителя.

По умолчанию, приложение Builder.app получает три параметра, перечисленные в поле PARMS таблицы Builder.dbf:

Содержание PARMS | Описание
wbReturnValue | Переменная, содержащее значение, возвращаемое приложению Builder.app.
<character string> | Символьная строка, посылаемая таблице Register.
<optional value> | Ключевое слово или значение, посылаемое Builder.app

Для создания вашего собственного построителя

  1. Напишите приложение, которое предоставляет интерфейс и изменяет выбранный элемент управления или их набор.

  2. Сохраните приложение в папке Wizards.

  3. Откройте таблицу Builders.dbf и введите новую запись.

  4. Введите значения для полей Name, Descript, Type и Program.

    Если ваш собственный построитель использует дополнительные значения, вы можете ввести значения для оставшихся полей.

После того, как вы завершите заполнение данные и закроете окно Browse, будет зарегистрирован новый построитель. Например, вы создали программу, которая изменяет шрифт выбранных элементов управления, а затем сохранили ее, например, с именем Chgfont.prg. В приведенной ниже таблице показано содержание полей в таблице Builder.dbf для этой программы.

Имя поля | Значение
NAME | The Builder That Changes Fonts
DESCRIPT | This builder modifies the font of all selected controls
TYPE | MULTISELECT
PROGRAM | Chgfont.prg

Когда вы будете используете построитель, Visual FoxPro отобразит диалоговое окно Builder Selection, потому что там теперь два построителя типа Multiselect. Когда вы выберите "The Builder that Changes Fonts" , Builder.app запустит программу, которую вы сохранили с именем Chgfont.prg.

Смотрите также

Tasks

AutoFormat Builder
Как: использовать построители

Справочное руководство

Системная переменная _BUILDER
Application Builder
Combo Box Builder
Command Group Builder
Edit Box Builder
Form Builder
Grid Builder
List Box Builder
Option Group Builder

Прочие ресурсы

Создание приложений с помощью Application Framework

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выпонлен JS.


Creating the User Interface

Visual FoxPro 9.0
Создание интерфейса пользователя

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

В этом разделе

Работа с формами

После создания вашей формы, вы можете запустить ее, спрятать или изменить ее разными способами.

Использование управляющих элементов (controls)

Управляющие элементы управляют взаимодействием между пользователями и вашим приложением. Microsoft Visual FoxPro предоставляет набор различных управляющих элементов для расширения интерфейса вашего приложения.

Разработка меню и панелей инструментов

Хорошая система меню может многое рассказать пользователю о дизайне и структуре вашего приложения. Тщательное планирование меню и панелей инструментов может значительно улучшить практичность (usability) вашего приложения и предоставить быстрый доступ к общим задачам.

Связанные разделы

Разработка приложение в Visual FoxPro

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

Создание приложений

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

Как: установить стартовую точку (Starting Point)

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

Как: инициализировать окружение

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

Как: управлять циклом событий

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

Создание приложений с помощью каркаса приложения (Application Framework)

Обясняется, как создавать приложения с помощью каркаса приложения, используя мастер приложения (Application Wizard) и построитель приложения (Application builder).

Оптимизация производительности клиент-серверного приложения

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

Перенос баз данных Visual FoxPro на другие системы (Upsizing)

Объясняется, как использовать мастер переноса (upsizing wizards) для перемещения баз данных, таблиц и представления из вашей системы на удаленный Microsoft SQL Server.

Создание международных приложений

Описывается, как составить дизайн и разработать ваши приложения Visual FoxPro с тем, чтобы они были эффективными как в международном, так и местном (географически) использовании.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Forms

Visual FoxPro 9.0
Работа с формами

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

После того, как вы создатите форму, вы можете управлять ею разными способами. Вы можете запустить ее или спрятать, используя интерфейс и программыне способы. Вы можете изменять вашу форму посредством ее объектов, посылкой данных параметрам или установить область разработки и шаблоны. Локальные или удаленные данные могут быть объединены в вашей форме и вы можете управлять множеством экземпляров вашей формы.

В этом разделе

Создание форм

Описывается, как разработать и построить формы, как использовать наборы форм и типы форм, как использовать объекты на формах, как настраивать формы, используя свойства и методы и как установить окружение данных.

Как: запустить форму

Предоставляются инструкции о том, как запустить форму, как назвать объект формы и предоставить пользователь возможность закрыть активную форму.

Как: установить свойства во время исполнения программы

Предоставляются инструкции о том, как установить свойства в выражения во время исполения программы и установить множество свойств за один раз.

Как: скрыть форму

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

Как: послать параметры в форму

Подробно описываются шаги, требуемые для посылки параметра в форму, созданную в дизайнере форм и возврат значений из формы.

Как: возвратить значение из формы

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

Как: управлять множеством экземпляров формы

Обрисовывает важные выводы, которые нужно принять во внимание, когда вы имеете множество экземпляров форм и предоставляет примеры работы с ними.

Стыковка форм

Описывается стыковка определенных пользователем форм к определенным окнам интегрированной среды разработки (IDE) Visual FoxPro или к другим формам.

Как: стыковать формы

Описыватеся, как стыковать определенные пользователем формы.

Как: создать формы для работы с локальными и удаленными данными

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

Как: установить область разработки для формы

Объясняется, как установить максимальную область разреботки для дизайнера форм в диалоговом блоке Options.

Использование шаблонов формы

Введение в использование шаблонов формы и их преимущества.

Как: установить шаблоны формы

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

Как: сохранить формы

Содержит руководства о том, как сохранить форму в дизайнере форм и сохранить форму или выбранные элементы управления в качестве определения класса.

Как: сохранить форму в виде HTML

Описывается, как сохранить формы в формате HTML.

Связанные разделы

Создание интерфейса пользователя

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

Использование элементов управления

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

Разработка меню и панелей инструментов

Хорошая система меню расскажет вашему пользователю многое о дизайне и структуре вашего приложения. Тщательное планирование меню и панелей инструментов может повысить простоту использования вашего приложения и предоставить мнгновенный доступ к общим задачам.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Creating Forms

Visual FoxPro 9.0
Создание форм

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

В этом разделе

Разработка форм

Предоставляет предварительные знания возможностей дизайнера форм, со ссылками на статьи, связанные с созданием форм, установкой окружения данных и управлением объектами.

Создание однооконного (SDI) и многооконного (MDI)

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

Как: расширить формы с помощью набора форм

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

Введение объекто в формы

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

Настройка форм

Предоставляет инструкции о том, как изменить шрифт и размер текста, ввести в форму контуры, фигуры и линии, ввести в форму графику и установить цвета формы.

Как: добавить в форму свойства и методы

Включает инструкции о том, как добавить в формк новое свойство, создать свойство типа массив, создать новый метод для формы и включить в форму файл. Предоставляет ссылки на статьи, связанные с управлением объектами, определением поведения форм и редактированием кода события и метода.

Связанные разделы

Создание интерфейса пользователя

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

Работа с формами

После создания вашей формы, вы можете запустить, спрятать или изменить ее различными способами.

Использование элементов управления

Элементы управления управляют взаимодействием между пользователями и вашим приложением. Visual FoxPro предлагает множество элементов управления с целью расширения интерфейса вашего приложения.

Разработка меню и панелей инструментов

Хорошая система меню расскажет вашим пользователя многое о дизайне и структуре вашего приложения. Тщательное планирование меню и панелей инструментов может улучшить практичность вашего приложения и предоставить незамедлительный доступ к общим задачам.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Designing Forms

Visual FoxPro 9.0
Разработка форм

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

  • Различные типы обекътов на форме.

  • Привязку данных к объектам на форме.

  • Формы Top-level или дочерние формы.

  • Множество форм, которые могут совместно управлятсья.

  • Формы, основанные на ваших собственных настроенных шаблонах.

Формы и наборы форм являются объектами с их собственными свойствами, событиям и методами, которые вы можете установить в дизайнере форм. Набор форм - formset - состоит из одной или более форм, которые могут быть управляемы, как одно целое. Если у вас есть четыре формы в вашем наборе форм, например, вы можете отобразить и спрятать их, как одно целое с помощью одной команды в run time.

В этом разделе

Как: создать новую форму

Описывает три способа создания форм в Visual FoxPro. Дополнительно, это объясняет способы, как изменить ранее созданную форму.

Как: установить окружение данных - Data Environment

Объясняется, как установить окружение данных для форм и как выполнять общие задачи, такие как добавлять таблицы и представления или устанавливать индексы, используя дизайнер Data Environment.

Справочное руководство

Дизайнер форм

Описывает дизайнер форм Visual FoxPro.

Связанные разделы

Создание форм

Описывает создание форм.

Создание однооконного или многооконного интерфейслв (SDI и MDI)

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

Управление объектами

Предоставляет ссылки на статьи об управлении объектами в дизайнере форм.

Как: указать тип формы

Описывается, как указать форму одного из трех типов: дочернюю форму, плавающую форму или форму верхнего уровная - top-level.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create a New Form

Visual FoxPro 9.0
Как: создать новую форму
Смотрите также

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

Вы можете создать форму, используя любой из описанных ниже способов:

  • Используйте мастера (wizards) для создания готовых к использованию форм.

  • Выберите в меню Form (Форма) пункт Quick Form (Быстрое создание формы) для создания простой формы, которую вы можете в дальнейшем отредактировать и настроить, введя элементы управления по вашему выбору.

  • Используйте Form Designer (Конструктор форм) для редактирования существующих форм или создания ваших собственных.

Использование Form Wizard (Мастера формы)

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

Для создания новой формы с помощью мастера

  1. В окне Project Manager (Диспетчера проекта) выберите закладку Documents (Документы) и на ней выберите узел Forms (Формы).

  2. Щелкните по New (Новая).

  3. Щелкните по Form Wizard (Мастер форм).

  4. Выберите тип формы, которую вы желаете создать.

  5. Следуйте инструкциям на экранах мастера.

Вы можете обратиться к мастеру формы, выбрав в меню Tools команду Wizards (Мастера) с последующим выбором пункта Form (Форма).

Visual FoxPro предоставляет вам два различных мастера, которые помогают вам создавать формы:

  • Для создания базовой формы, основанной на одной таблице, выберите Form Wizard (Мастер формы).

  • Для создания формы, которая объединяет данные из двух таблиц, связанных отношением "один-ко-многим", выберите One-To-Many Form Wizard (Мастер формы "один-ко-многим").

Формы, которые вы создаете с помощью мастера имеют стандартный набор кнопок навигации, с помощью которых вы можете отображать в форме различные записи, редактировать их, производить поиск среди записей и тому подобное. Если вы создали форму, использующую таблицы из базы данных, Form wizard (Мастер формы) будет использовать маску ввода и установки форматирования, хранящиеся в базе данных.

Запуска Form Designer (Конструктора формы)

Если вы желаете создать вашу собственную форму, без использования мастера, используйте Form Designer (Конструктор формы). С помощью Form Designer (Конструктора формы), вы можете добавлять в свою форму поля и элементы управления и настраивать их, размещая их на поверхности формы и выравнивания их.

Команда Quick Form (Быстрое создание формы) является простейшим способом создания формы. Команда Quick Form (Быстрое создание формы) отображает Form Builder (Компоновщик форм), который добавляет в вашу форму выбранные поля из таблиц и представлений.

Для создания новой формы

  1. В окне Project Manager (Диспетчер проекта) щелкните по закладке Documents (Документы).

  2. Щелкните по иконке Forms (Формы).

  3. Щелкните по кнопке New (Новая).

  4. Выберите New Form (Новая форма). Появится окно Form Designer (Конструктора форм), в котором вы можете начать создание вашей формы.

    - или -

    В меню File (Файл) выберите пункт New (Новый), далее выьерите Form (Форма) и, затем, New File (Новый файл).

    - или -

    Используйте команду CREATE FORM.

Изменение формы

Если форма, созданная мастером или компоновщиков не отвечает вашим требованиям, вы можете изменить ее с помощью Form Designer (Конструктора форм). Использование Form Designer (Конструктора форм), позволяет вам перемещать и изменять размеры элементов управления, копировать или удалять элементы управления, выравнивать их и изменять порядок их обхода после запуска.

Для изменения сгенерированной формы

  1. В окне Project Manager (Диспетчер проекта) щелкните по закладке Documents (Документы).

  2. Щелкните по иконке Forms (Формы) и затем по имени желаемой формы.

  3. Затем щелкните по Modify (Изменить).

Быстрое добавление полей

Когда вы желаете быстро поместить на форму поля из таблицы или представления, выберите из меню Form пункт Quick Form (Быстрое создание формы). Это запустит Form Builder (Компоновщик формы), который введет в вашу форму выбранные поля, используя выбранный вами стиль. Form Builder (Компоновщик формы) создает форму без элементов управления, служащих для навигации, поэтому вам придется самим добавить их в форму. Вы можете использовать компоновщик элемента управления или выбрать требуемые из библиотеки преопределенных элементов управления для ввода в вашу форму, которая поставляется вместе с Visual FoxPro.

Для добавления в форму полей

  1. Откройте форму из Project Manager (Диспетчера проекта).

  2. При открытом Form Designer (Конструкторе форм) выберите в меню Form (Форма) пункт Quick Form (Быстрое создание формы). Появится Form Builder (Компоновщик формы).

  3. На закладке Style (Стиль) выберите подходящий вам стиль отображения нового элемента управления.

  4. На закладке Field Selection (Выбор поля) выберите источник для полей и поля, которые вы желаете добавить в форму.

  5. Щелкните по OK для генерации формы.

    - или -

  6. В полоске инструментов Form Controls (Элементы управления формы) выберите желаемый элемент управления и перетащите его на форму в окне Form Designer (Конструктора формы) для создания нового экземляра элемента управления.

  7. В окне Properties (Свойства) щелкните по закладке Data (Данные) и выберите свойство ControlSource.

  8. Введите имя поля.

    - или -

    Выберите поле из списка доступных полей.

Смотрите также

Задачи

Как: установить среду данных
Как: добавить в форму элементы управления Visual FoxPro

Концепции

Создание интерфейсов Single- and Multiple-Document
Разработка форм

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set the Data Environment

Visual FoxPro 9.0
Как: установить окружение данных (Data Environment)
Смотрите также

Каждая форма или набор форм включает в себя окружение данных Окружение данных (Data Environment) представляет собой объект, который включает в себя таблицы и/или представления, с которыми взаимодействует форма, и отношения между таблицами, которые предполагаются в форме. Вы можете использовать окружение данных для автоматического открытия и закрытия таблиц и представления при запуске и закрытиф формы. В дополнение к этому, вы можете использовать окружение данных для установки свойств ControlSource управляющих элементов, путем заполнения их в окне свойств - Properties window, используя все возможные поля в вашем окружении данных.

Добавление таблиц в Data Environment

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

Для добавления данных в data environment

  1. Откройте форму в дизайнере форм.

  2. В меню View, щелкните наData Environment.

    Откроется дизайнер Data Environment для окружения данных формы.

  3. В меню DataEnvironment, щелкните наAdd.

  4. В диалоговом блоке Add Table or View, щелкните на имени желаемой базы данных, в списке Database.

  5. В области Select, щелкните на Tables или Views.

  6. В списке Tables in database, щелкните на требуемой таблице или представлении, которое вы желаете добавить в окружение данных.

  7. Щелкните на Add.

    Замечание Совет

    Если ни база данных, ни проект не открыты, щелкните на Other для просмотра каталога и выбора таблицы.

Вы можете, кроме того, перетащить таблицу или представления из открытого проекта или из дизайнера Database в дизайнер Data Environment.

Приведенный ниже список включает в себя общие устанавливаемые свойства окружения данных:

  • Свойство AutoCloseTables

  • Свойство AutoOpenTables

  • Свойство InitialSelectedAlias

Установка индексов для Data Environment

Вы можете установиь порядок, в котором ваши записи появятся в отчете, путем установки индекса для окружения данных.

Для установки индекса в дизайнере Data Environment

  1. Из меню View, выберите Data Environment.

  2. Из контексного меню выберите Properties.

  3. В окне Properties, выберите Cursor1 в боксе Object.

  4. Выберите закладку Data и выберите свойство Order.

  5. Введите имя индекса.

    - или -

    Выберите индекс из списка возможных индексов.

Когда дизайнер Data Environment активен, окно Properties отображает объекты и свойства, ассоциированные с окружением данных. Каждая таблица или представление в окружении данных, каждое отношение между таблицами и data environment сам по себе, представляют отдельные объекты в боксе Object окна Properties.

Удаление таблиц из дизайнера Data Environment

Когда вы удаляете таблицу из окружения данных, любые отношения, в которые была вовлечена таблицы, удаляются вместе с ней.

Для удаления таблицы или представления из дизайнера Data Environment

  1. В дизайнере Data Environment, выберите таблицу или представление.

  2. Из меню DataEnvironment, выберите Remove.

Установка отношений в Data Environment

Если вы добавляете таблицы в дизайнере Data Environment, которые имеют постоянные отношения, сохраняемые в базе данных, то эти отношения будут автоматически введены в окружение данных. Если таблицы не имеют постоянных отношений, вы можете связать их отношениями в дизайнере Data Environment.

Для установки отношений в дизайнере Data Environment

  • Перетащите поле из первичной таблицы в соответствующий индексный тэг связываемой таблицы.

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

Редактирование отношений в дизайнере Data Environment

Когда вы устанавливаете отношение в дизайнере Data Environment, то на отношение между таблицами указывает соединяющая их линия.

Для редактирования свойств отношения

  • В окне Properties, выберите отношение из бокса Object.

Свойства отношений соответствуют опциям и ключевым словам в командах SET RELATION и SET SKIP.

Свойство RelationalExpr устанавливается по умолчанию в имя поля первичного ключа в первичной таблице. Если связанная таблица индексирована по выражению, вам необходимо установить свойство RelationalExpr в это выражение. Например, если связанная таблица проиндексирована по UPPER(cust_id), вам необходимо установить RelationalExpr в значение UPPER(cust_id).

Если отношение не является отношением один-ко-многим, установите значение свойства OneToMany в false (.F.). Это соответствует использованию команды SET RELATION без последующего выпуска команды SET SKIP.

Установка свойства OneToMany отношения в true (.T.) соответствует выпуску команды SET SKIP. Когда вы проходите по записям родительской таблицы, указатель записи остается на той же самой родительской записи, пока указатель записи дочерней таблицы перемещается через все связанные записи.

Замечание Замечание

Если вы желаете иметь в форме отношение "один-ко-многим", установите свойство OneToMany в true (.T.), даже если постоянное отношение "один-ко-многим" было установлено в базе данных.

Смотрите также

Задачи

Как: создать новую форму
Как: указать тип формы
Как: отобразать дочернюю форму внутри Top-Level формы

Справочное руководство

Диалоговый блок Add Table or View
Окно Properties (Visual FoxPro)

Концепции

Создание интерфейсов Single- и Multiple-Document
Разработка форм

Прочие ресурсы

Управление объектами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Creation of Single- and Multiple-Document Interfaces

Visual FoxPro 9.0
Создание интерфейсов Single- и Multiple-Document
Смотрите также

Visual FoxPro позволяет вам создавать два типа приложений:

  • Приложение с интерфейсом Multiple-document interface (MDI) состоит из единичного главного окна, и окон приложения, содержащихся внутри или плавающих поверх основного окна. Visual FoxPro является преимущественно приложением MDI, с командным окном, окнами редактирования, а также окнами дизайнеров, содержащихся внутри основного окна Visual FoxPro.

  • Приложения с интерфейсом Single-document interface (SDI) состоят из одного или более независимых окон, каждое из которых появляется отдельно на рабочем столе Windows. Microsoft Exchange представляет собой пример приложения SDI, в вы открываете котором каждое сообщение в его собственном независимом окне.

Приложение, состоящее из одного окна обычно является приложением SDI, но некоторые приложения могут смешивать элементы SDI и MDI интерфейсов. Например, Visual FoxPro отображает свой отладчик (debugger) как приложение SDI, которое содержиит в себе MDI окна.

Для поддержки обоих типов интерфейсов, Visual FoxPro позволяет вам создавать несколько типов форм:

  • Дочерняя форма - Child form. ФормаЭ содержащаяся внутри другого окна, используемого для создания приложения MDI. Дочерние формы не могут перемещены за пределы их родительской офрмы (главной формы), и при минимизации появляются свернутыми внизу своей родителськой формы. Если их родительская форма мимнимизируется, они минимизируются вместе с ней.

  • Плавающая форма -Floating form. Форма, которая принадлежит родительской форме (главное форме), но не содержится внутри нее. Вместо этого, плавающая форма может быть перемещена в любое место экрана. Такие формы не могут быть задвинуты за окно их родительской формы. При минимизации форма появляется внизу рабочего столв. Если их родительская форма минимизируется, плавающие формы минимизируются вместе с ней. Плавающие формы, кроме того, используются для создания приложений с интерфейсом MDI.

  • Форма верхнего уровня - Top-level form. Независимая форма без родительской формы, используется для создания приложений SDI, или для обслуживания родительской или других дочерних форм в приложении MDI. Top-level формы работают на том же уровне, что и прочие приложения Windows, и могут появляться как сверху, так и позади других окон. Они появляются в панели задач Windows.

Child, floating, and top-level forms

FoxPro Form Examples

Подписи на рисунке (слева-направо)

1.Top-level формы являются независимыми окнами, которые могут содержать дочерние окна и появляться поверх или позади прочих окон.

2.Дочерние формы содержаться внутри родительского окна.

3.Плавающие формы могут появляться поверх своих родительских форм.

Смотрите также

Задачи

Как: установить Data Environment
Как: указать тип формы
Как: отобразить дочернюю форму внутри Top-Level-формы
Как: добавить меню в Top-Level-форму
Как: спрятать главное окно Visual FoxPro

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Specify a Form Type

Visual FoxPro 9.0
Как: указать тип формы
Смотрите также

Вы создаете все типы форм в большинство случае одинаково, но вы можете установить их конкретные свойства для указания: как форма должна себя вести.

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

Для указания дочерней формы

  1. Создайте или отредактируйте форму в Form Designer (Конструкторе форм).

  2. Установите свойство ShowWindow формы в одно из приведенных ниже значений:

    • 0 — In Screen. В качестве родительской формой для дочерней будет выступать главное окно Visual FoxPro.

    • 1 — In Top-Level Form. В качестве родительской формой для дочерней будет выступать top-level форма, которая активна в момент отображения дочерней. Используйте эту установку если желаете, чтобы дочернее окно появилось внутри top-level формы а не в главном окне Visual FoxPro.

  3. Установите свойство MDIForm формы в .T. (true), если вы желаете, чтобы дочерняя форма объединялась бы с родительской в случае развертывания дочерней на весь экран, или в .F. (false), если вы желаете, чтобы дочерняя форма оставалась бы отдельным окном, когда ее разворачивают на весь экран.

Плавающая форма представляет собой вариант дочерней формы.

Для указания плавающей формы

  1. Создайте или откройте форму на редактирование в Form Designer (Конструкторе форм).

  2. Установите свойство ShowWindow формы в одно из приведенных ниже значений:

    • 0 — In Screen. Для плавающей формы в качестве родительской формы будет выступать главное окно Visual FoxPro.

    • 1 — In Top-Level Form. В качестве родительской формой для дочерней будет выступать top-level форма, которая активна в момент отображения дочерней.

  3. Установите свойство Desktop формы в значение .T. (true).

Для указания top-level формы

  1. Создайте или откройте форму на редактирование в Form Designer (Конструкторе форм).

  2. Установите свойство ShowWindow формы в значение 2 — As Top-Level Form.

Смотрите также

Задачи

Как: отобразить дочернюю форму внутри формы Top-Level
Как: скрыть главное окно Visual FoxPro
Как: добавить меню в Top-Level форму

Концепции

Создание интерфейсов Single- and Multiple-Document Interfaces

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Display a Child Form Inside a Top-Level Form

Visual FoxPro 9.0
Как: отобразить дочернюю форму внутри формы Top-Level
Смотрите также

При создании вами дочерней формы, в которой свойство ShowWindow Property установлено в 1 — In Top-Level Form, вы не указываете непосредственно форму top-level, которая выступает в роли родительской для дочерней. Вместо этого, Visual FoxPro присваивает дочернюю форму родительской в момент, когда окно дочерней формы оторбажается на экране.

Для отображения дочерней формы внутри формы top-level

  1. Создайте top-level форму.

  2. В коде события формы top-level, включите команду DO FORM, указав имя дочерней формы, которая будут отображена внутри.

    Например, создайте командную кнопку в top-level форме и, затем, в ее событии Click включите команду, наподобие приведенной ниже:

    CopyCode image Скопировать код
    DO FORM MyChild
    Note Замечание

    Форма top-level должна быть видимой и активной, когда начинается отображение дочерней формы. Поэтому, вы не можете использовать событие Init формы top-level для отображения дочерней формы, так как форма top-level к этому моменту еще не активна.

  3. Активизируйте форму top-level и, при необходимости, вызовите событие, которое отобразит дочернуюю форму.

Смотрите также

Задачи

Как: указать тип формы
Как: спрятать главное окно Visual FoxPro
Как: добавить меню в форму Top-Level
Как: расширить формы с помощью набора форм

Концепции

Создание интерфесов Single- and Multiple-Document

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Hide the Main Visual FoxPro Window

Visual FoxPro 9.0
Как: скрыть главное окно системы Visual FoxPro.
См. также

Если Вы работаете с формой верхнего уровня (top-level form), Вам необходимо, чтобы главное окно системы Visual FoxPro было невидимым. Для этого Вы можете использовать свойство Visible объекта Application для скрытия главного окна системы.

Чтобы скрыть главное окно Visual FoxPro

  1. В программном коде события Init данной формы укажите следующую команду:

    Копировать код
    Application.Visible = .F.

  2. В программном коде события Destroy данной формыукажите следующую команду:

    Копировать код
    Application.Visible = .T.

Убедитесь в том, что данный код присутствует в других методах или событиях, где выполняется закрытие данной формы при помощи команды THISFORM.Release .

Примечание:
Для скрытия главного окна системы Вы можете включить в Ваш конфигурационный файл Config.fpw: команду SCREEN = OFF

См. также

Другие ссылки

Создание Single- and Multiple-Document Interfaces
Настройка системного окружения Visual FoxPro
Как: Отобразить дочернюю форму вне границ формы Top-Level
Как: Создать меню в форме Top-Level
Создание форм
Как: Расширить взаимодействие форм с помощью объекта-контейнера FormSet
Как добавить объекты в форму

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Add a Menu to a Top-Level Form

Visual FoxPro 9.0
Как: Добавить пользовательское Меню в форму с характеристикой "Top-Level"
См. также

Меню в формах верхнего уровня (Top-Level-Form) не только обеспечивают навигацию формы и прочие операции, они могут обеспечить начальные настройки главных параметров вашего приложения.

Для добавления Меню в форму верохнего уровня (top-level form):

  1. Создайте требуемое Меню для главной своей формы. Дополнительная информация по созданию указанных меню находится в разделе: Разработка Меню и Toolbars.

  2. Установите для рассматриваемой формы значение свойства ShowWindow, свойство = 2 – As Top-Level Form.

  3. В стартовом событии данной формы Init, Событие, укажите программный код следующего содержания:

    DO menuname.mpr WITH oForm, lAutoRename

    oForm - является объектной ссылкой на рассматривавемую форму (как: THIS / THISFORM).

    lAutoRename определяет некоторый флаг создания уникального имени соответствующего Меню. Если планируется запуск нескольких экземпляров рассматриваемой формы, то значение данного параметра должно быть =.T.; чтобы создавались уникальные имена Меню для каждого экземпляра Формы.

    Например, меню может быть Активировано следующей командой, для программного кода в файле mySDImenu:

    CopyCode image Копировать Код
    DO mySDImenu.mpr WITH THIS, .T.

См. также

Задачи

Как: Скрыть Главное Окно системы Visual FoxPro
Как: Расширить функционал Формы с помощью Контейнера Форм (Form Sets)
Как: Добавлять контейнеры Visual FoxPro

Концепции

Создание Простого и МногоОконного пользовательского Интерфейса
Добавление Объектов в Формы

Другие ссылки

Создание Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Extend Forms with Form Sets

Visual FoxPro 9.0
Как: расширить формы с помощью набора форм
Смотрите также

Вы можете управлять множеством форм, как группой, включив ее в набор форм - formset. Набор форм имеет перечисленные ниже преимущества:

  • Вы можете показать или скрыть все формы за один раз.

  • Вы можете за один раз визуально расставить множество форм для управления их относительными позициями.

  • Поскольку все формы в наборе форм определены в единичном .scx файле с единичной средой данных, вы можете автоматически синхронизировать указатель записи во множестве форм. Если вы измените позицию указателя записи в родительской таблице в одной форме, то будут обновлены и отображены записи дочерней таблицы в другой.

    Замечание Замечание

    Все формы и все объекты на формах загружаются, когда вы запускаете набор форм. Загрузка множества форм и большим количеством элементов управления может потребовать некоторого времени - нескольких секунд.

Создание нового набора форм

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

Для создания набора форм

  • В меню Form выберите Create Formset.

Если вы не хотите работать с множеством форм, как группой форм, то у вас нет необходимости создавать набор форм. После того, как вы создали набор форм вы может добавить в него формы.

Добавление или удаление форм

После того, как вы создали набор форм вы может добавить в него новые формы или удалить формы, уже содержащиеся в наборе.

Для добавления дополнительных форм в набор форм

  • В меню Form выберите Add New Form.

Для удаления формы из набора форм

  1. В боксе Form в нижней части Дизайнера форм, выберите форму.

  2. Из меню Form выберите Remove Form.

Если в вашем наборе содержится только одна форма, то вы можете удалить набор форм, имея в виду контейнер набора форм, после чего у вас останется собственно форма.

Для удаления набора форм (имеется в виду контейнер)

  • Из меню Form выберите Remove Formset.

Формы сохраняются в файле табличного формата с расширением .scx . Когда вы создаете форму, то в файле .scx содержатся: запись, описывающие форму, строкa для описания окружения данных и две записи для внутреннего использования. Для каждого добавляемого вами в форму или окружение данныъ объекта, в файл добавляется запись. Если вы создаете набор форм, то для набора форм и каждой новой формы добавляется по записи. Родительским контейнером каждой формы является набор форм. Родительским контейнером каждого элемента управления является форма, в которую он помещен.

Замечание Совет

Когда вы запускаете набор форм, вы можете пожелать, чтобы все формы набора были изначально видимыми. Установите свойство Visible в false (.F.) для форм, которые не желаете иметь видимыми при запуске набора форм. И, наоборот, установите свойство Visible в true (.T.), когда вы желаете иметь форму видимой.

Смотрите также

Задачи

Как: добавить меню в форму типа Top-Level
Как: добавить контейнеры Visual FoxPro

Справочное руководство

Дизайнер форм

Концепции

Добавление объектов в формы

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Adding Objects to Forms

Visual FoxPro 9.0
Добавление объектов в формы

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

В этом разделе

Понимание контейнерных и управляющих объектов

Введение в контейнеры и элементы управления в Visual FoxPro.

Как: добавить контейнеры Visual FoxPro

Объясняется как ввести различные базовые классы контейнеров в форму.

Как: добавить в формы элементы управления Visual FoxPro

Описывает различные методы ввода элементов управления в формы Visual FoxPro.

Как: добавить в формы элементы управления с помощью Component Gallery

Объясняется как быстро добавить в формы настроенные элементы управления и объекты, используя Component Gallery.

Как: добавить в сгенерированные мастерами формы элементы управленияс

Объясняется как добавить в формы из элементы управления из галереи мастеров так, чтобы они отвечали стилю элементов управления форм, созданных одним из мастеров форм.

Как: выбирать, перемещать и изменять в размерах элементы управления форм

Описывается как выбрать элемент управления для установки его расположения на форме или размера.

Как: копировать и удалять элементы управления форм

Описывается как сделать копию элементов управления, уже имеющихся на форме и как удалить существующие.

Выравнивание элементов управления в формах

Обсуждаются способы выравнивания элементов управления на форме.

Как: установить порядок обхода элементов управления с помощью клавиши табуляции

Описывается как установить порядок обхода элементов управления на форме с помощью клавиши табуляции интерактивно или по списку.

Как: добавить в форму определенные пользователем объекты

Объясняется как добавить в форму определенные пользователем настроенные классы.

Связанные разделы

Как: расширять формы с помощью наборов форм

Объясняется как управлять множеством форм, как группой, путем включения их в наборы форм.

Создание форм

Предоставляет ссылки на статьи, которые описывают - как создавать формы.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Understanding Container and Control Objects

Visual FoxPro 9.0
Понимание Объектов Контейнер и Элемент Управления
Смотрите Также

Вы можете добавить следующие типы объектов на форму:

  • Элементы управления

  • Контейнеры

  • Определяемые пользователем классы

  • Совместное Использование Информации и Добавление OLE

Объекты в Visual FoxPro принадлежат одной из двух категорий, в зависимости от характера базавого класса:

  • Контейнеры, содержащие другие контейнеры или элементы управления. Они могут выступать в качестве родителя (parent) для прочих объектов. Например, форма, как контейнер, является родительким объектом для check box, находящимся на ней.

  • Элементы управления могут размещаться в контейнере, но не могут быть родителем для других объектов. Например, check box не может содержать какие-либо объекты.

Построитель Форм (Form Designer) позволяет вам разрабатывать и контейнеры и элементы управления.

Контейнер | Может содержать
Column | Headers, и любые объекты, кроме form sets, forms, toolbars, timers, и другие columns
Command button group | Command buttons
Form set | Forms, toolbars
Form | Page frames, grids, и элементы управления
Grid | Columns
Option button group | Option buttons
Page frame | Pages
Page | Grids, любые элементы управления

Свойства Коллекция и Количество

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

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

Контейнер | Свойство Коллекция (Collection) | Свойство Количество (Count)
Application | Objects Forms | Count FormCount
FormSet | Forms | FormCount
Form | Objects Controls | Count ControlCount
PageFrame | Pages | PageCount
Page | Controls | ControlCount
Grid | Columns | ColumnCount
CommandGroup | Buttons | ButtonCount
OptionGroup | Buttons | ButtonCount
Column | Controls | ControlCount
ToolBar | Controls | ControlCount
Container | Controls | ControlCount
Control | Controls | ControlCount

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

CopyCode image Copy Code
o = THISFORM.grd1
FOR i = 1 to o.ColumnCount
   IF i % 2 = 0 && Четные номера колонок
      o.Columns(i).BackColor = RGB(0,255,0) && Green
   ELSE
      o.Columns(i).BackColor = RGB(255,0,0) && Red
   ENDIF
ENDFOR

Смотрите Также

Задачи

Как: Добавить Visual FoxPro Контейнеры
Как: Добавить Visual FoxPro Элементы Управления на Форму

Концепции

Добавление Объектов на Формы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Add Visual FoxPro Containers

Visual FoxPro 9.0
Как: добавить контейнеры Visual FoxPro
Смотрите также

В дополнение к наборам форм и формам, Visual FoxPro предоставляет четыре базовых класса контейнеров:

  • Элемент управления CommandGroup

  • Элемент управления Grid

  • Элемент управления OptionGroup

  • Элемент управления PageFrame

Для добавления контейнерного объекта в форму

  • В панели инструментов Form Controls, выберите кнопку желаемого контейнерного объекта (группа командных кнопок, решетку (grid), группу радиокнопок или страничный фрейм (page frame)) и перетащите его на форму, одновременно устанавливая его размер.

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

Когда вы добавляете в форму решетку (grid) ее свойство ColumnCount установлено, по умолчанию, в минус 1, что означает AutoFill - автозаполнение. При запуске формы, решетка будет отображать столько колонок, сколько полей имеется в таблице, указанной в свойстве RowSource. Если вы не желаете использовать возможность автозаполнения, вы можете указать число колонок с помощью установки свойства решетки ColumnCount.

Для получения более подробной информации об этих контейнерных объектах смотрите описания Понимание объектов класса Container и класса Control и Использование элементов управления.

Смотрите также

Задачи

Как: добавить в форму элементы управления Visual FoxPro
Как: добавить в форму объекты, определенные пользователем
Как: расширить формы с помощью набора форм
Как: добавить в форму элементы управления из галереи компонентов (Component Gallery)
Как: добавить элементы управления в форму, сгенерированную мастером (Wizard-Generated Form)
Как: выбирать, перемещать и изменять размеры элементов управления в форме
Как: установить порядок обхода элементов управления в форме

Справочное руководство

Выравнивание элементов управления в формах

Концепции

Добавление объектов в формы

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Visual FoxPro Controls to a Form

Visual FoxPro 9.0
Как: добавить в форму элементы управления Visual FoxPro
Смотрите также

Вы можете добавить в форму любые стандартные элементы управления Visual FoxPro. Например, вы можете добавить метки для полей на форме, добавить элементы управления, такие как командные кнопки, боксы редактирования текста, списки или добавить линии, контуры и картинки для улучшения внешнего вида вашей формы.

Для ввода элемента управления в форму

  1. Откройте форму в Form Designer (Конструкторе формы).

  2. В полоске инструментов Form Controls (Элементы управления формы) щелкните по элементу управления, который вы желаете добавить в форму.

  3. В Form Designer (Конструкторе формы) щелкните по форме в том месте, в котором вы желаете поместить элемент управления в том размере, который установлен по умолчанию.

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

Вы можете, кроме того, щелкнуть и с помощью мыши установить желаемые размеры. Для получения более подробной информации смотрите описание Form Designer (Конструктор формы).

Теперь вы можете установить свойства элемента управления, вызвав окно Properties (Свойства) щелчком по пункту Properties (Свойства) в меню View (Обзор). Окно Properties (Свойства) отобразит все свойства введенного в форму элемента управления. Для получения более подробной информации смотрите Properties Window (Visual FoxPro).

Вы можете одновременно добавить в форму множество элементов управления одного и того же типа всякий раз, когда вы дрбавляете в форму элементы управления.

Для ввода в форму множества элементов управления

  1. Откройте форму в Form Designer (Конструкторе формы).

  2. На полоске инструментов Form Controls (Элементы управления формы) щелкните по элементу управления, который вы желаете ввести в форму.

  3. На полоске инструментов Form Controls (Элементы управления формы) щелкните по кнопке Lock (Замок).

    Note Совет

    Вы можете, кроме того, выполнить двойной щелчок по элементу управления, который вы желаете добавить.

Вы можете теперь добавить множество элементов управления одного и того же типа одновременно без множественных щелчков по элементу управления на полоске инструментов Form Controls (Элементы управления формы).

Добавление элементов управления с помощью компоновщика (Builder)

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

Для ввода элемента управления с помощью компоновщика

  1. Откройте форму в Form Designer (Конструктор формы).

  2. В полоске инструментов Form Controls (Элементы управления формы) щелкните по Builder Lock (Фиксация компоновщика).

  3. Добавьте в форму желаемый элемент управления.

    Если для элемента управления имеется компоновщик, то он, в этом случае, откроется.

  4. Следуйте инструкциям на закладках компоновщика.

    Note Замечание

    Для установки свойств в окне Properties (Свойства), отключите фиксацию компоновщика (Builder Lock).

Для получения более подробной информации о выборе элементов управления, смотрите описание Использование элементов управления. Для получения информации о допустимых источника элемента управления "image" смотрите Поддержка графики в Visual FoxPro.

Ввод в форму элементов управления, привязанных к данным

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

Для привязки элемента управления к данным в таблице, представления или полю таблицы или представления

  • Установите свойство ControlSource элемента управления к полю или свойству RecordSource (в grid) к таблице или представлению.

Для получения более подробной информации смотрите описание свойств ControlSource или RecordSource.

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

  • окна Project Manager (Диспетчера проекта)

  • Database Designer (Конструктора базы данных) (Visual FoxPro)

  • Data Environment Designer (Конструктора среды данных - объекта Data Environment)

Тип элемента управления, создаваемого при перетаскивании поля или таблицы на поверхность формы, зависит от установки Field Mappings (Разметки полей) на закладке Properties (Свойства) Table Designer (Конструктора таблицы) или на закладке Field Mapping (Разметка поля) в диалоговом окне Options (Опции).

Note Совет

Вы можете облегчить привязку новых элементов управления к полям в таблицах или представлениях, поместив последние в ассоциированную с формой среду данных. Свойство ControlSource в окне Properties (Свойства) отображает список полей, доступных в Data Environment designer (Конструкторе среды данных - объекта Data Environment из которого вы можете выбрать какое-то для привязки к элементу управления.

Смотрите также

Задачи

Как: добавить в форму элементы управления с помощью Component Gallery (Галереи компонентов)
Как: добавить элементы управления в форму, сгенерированную мастером (Wizard-Generated Form)
Как: добавить в форму определенные пользователем объекты
Как: выбрать, переместить и изменить размеры элементов управления формы
Как: установить порядок обхода элементов управления

Справочное руководство

Выравнивание элементов управления в формах

Концепции

Ввод объектов в формы

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Controls to a Form with the Component Gallery

Visual FoxPro 9.0
Как: Добавить Контролы в Форму пользователя из Галлереи Компонентов
См. также

Используя инструментарий Галлереи Компонентов (Component Gallery) вы можете достаточно быстро добавить требуемый Контрол или Объект в разравбатываемую Форму. Галлерея Компонентов содержит большое количество разнообразных Контролов и Объектов, специальная разработка которых значительно повышает трудозатраты разработки вашего Приложения.

Для открытия Галлереи Компонентов (Component Gallery):

  • В системном меню Tools, выберите пункт Component Gallery.

Когда откроется системное окно Component Gallery, с помощью операции "drag-end-drop" вы можете перетащить требуемый Контрол на разрабатываемую Форму, делее подстроить или уточнить специфические параметры.

См. также

Задачи

Как: Добавить Контейнер Visual FoxPro
Как: Добавить Пользовательский Объект в Форму
Как: Добавить новые Свойства или Методы в Форму
Как: Добавить Контролы Visual FoxPro в разрабатываемую Форму
Как: Добавить Контролы в Форму, созданную с помощью Мастера (Wizard-Generated Form)
Как: Выбрать, Переместить, Изменить размеры Контрола в Форме
Как: Изменить порядок (Tab Order) для Контролов в Форме

Описание

Дизайнер Таблиц (Visual FoxPro)
Закладка Field Mapping, Диалоговый бокс Options
Выравнивание Контролов в Форме

Концепции

Добавление Объектов в Формы

Другие ссылки

Использование Галлереи Компонентов (Component Gallery)
Создание Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Add Controls to a Wizard-Generated Form

Visual FoxPro 9.0
Как: Добавление элементов управления на форму, сгенерированную мастером форм
Смотрите также

Если Вы создали форму с помощью мастера и позднее возникла необходимость добавить на нее элементы управления, Вы можете применить к ним стиль существующих элементов управления, используя классы, находящиеся в библиотеке Wizstyle.vcx.

Когда открывается библиотека элементов управления, классы элементов управления (такие, как chiselfield, embossedmemo и т.д) для каждого стиля становятся доступными в панели инструментов Form Controls (Элементы управления формы). Чтобы найти нужный для использования элемент управления, выберите в панели инструментов Form Controls (Элементы управления формы) один из существующих, обращая внимание на его класс и библиотеку классов. Например, стандартный стиль для поля находится в классе Standardfield библиотеки Wizstyle.vcx.

Note Совет

Пользуйтесь всплывающими подсказками панели инструментов Form Controls (Элементы управления формы) для идентификации имени класса.

Чтобы добавить элемент управления на форму, сгенерированную мастером форм, в соответствии со стилем существующих на ней элементов управления:

  1. Откройте форму в Конструкторе форм.

  2. В панели инструментов Form Controls (Элементы управления формы) нажмите кнопку View Classes и выберите пункт Add.

  3. В диалоговом окне Open укажите местоположение Wizstyle.vcx в подкаталоге Wizards и нажмите кнопку Open.

  4. В панели инструментов Form Controls (Элементы управления формы) выберите элемент управления, соответствующий уже существующим и разместите его на форме.

    Note Примечание

    При перемещении формы в новый каталог или на другой компьютер, соответствующая библиотека должна быть перемещена вместе с ней.

Смотрите также

Задачи

Как: Выбор, перемещение и изменение размеров элементов управления формы
Как: Добавление пользовательских объектов на форму
Как: Добавление элементов управления Visual FoxPro на форму
Как: Добавление элементов управления на форму из Галереи компонентов
Как: Создание новой формы
Как: Создание формы для работы с локальными и удаленными данными
Как: Установка порядка табуляции для элементов управления

Справочное руководство

Aligning Controls in Forms

Понятия

Добавление объектов к форме

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Select, Move, and Resize Form Controls

Visual FoxPro 9.0
How to: Select, Move, and Resize Form Controls (Выбор, перемешение и изменение размеров объектов формы)
See Also (Смотри Также)

После создания формы, вам может понадобится изменить размещение или размеры объектов(контролов) на форме. Например, переместить Memo поле или стелать длиннее TexbBox.

Чтобы выбрать контрол

  • Наведите указатель мыши на контрол и сделайте клик.

Чтобы выбрать несколько соседних контролов

  1. кликните на изображение стрелки-указателя на панели инструментов конструктора форм Form Controls.

  2. Перемещая указатель, нарисуйте прямоугольную рамку вокруг тех контролов, которые вы хотите выбрать.

Чтобы переместить контрол

  1. Выберите нужный контрол, сделав на нем клик.

  2. Перетащите контрол в новое положение в окне формы.

    -или-

    Выберите контрол и при помощи клавиш со стрелками на клавиатере определите новое положение контрола.

Чтобы изменить размер контрола

  1. Выберте контрол.

  2. Переташите одну из указанных меток, определяющих выбраный контрол, для изменения высоты, ширины или обе эти величины одновременно для выбранного контрола.

See Also

Другие ресурсы

Adding Objects to Forms
How to: Add Controls to a Form with the Component Gallery
How to: Create Controls by Dragging and Dropping Fields or Tables
How to: Create a New Form
How to: Create Forms with Local and Remote Data
How to: Add Visual FoxPro Controls to a Form
Creating Forms
How to: Add Controls to a Wizard-Generated Form
How to: Add User-Defined Objects to a Form
Aligning Controls in Forms
How to: Set Tab Order for Controls

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Copy and Delete Form Controls

Visual FoxPro 9.0
Как: Копировать и Удалять Контролы в Формах
См. также

Когда вы разрабытываете или изменяете свои формы, вы можете копировать нужные вам Контролы (элементы управления) из других форм.

Для копирования Контролаl

  1. Выберите нужный вам Контрол, расположенный на форме.

  2. Из меню Edit, выберите опцию Copy.

  3. Из того же меню Edit, выберите опцию Paste.

  4. Переместите новый контрол в нужное вам место на форме.

Если требуется удалить некоторый Контрол, созданный вами или с помощью Мастера, то это можно сделать следующим образом.

Для удаления Контрола из формы

  • Выберите нужный контрол, а потом пункт Cut из системного меню Edit.

См. также

Задачи

Как: Добавить Контрол в Форму с помощью Галлереи Компонентов
Как: Создавать контролы в Форме методом "перетаскивания" Полей из Таблиц
Как: Создавать новые формы
Как: Создавать формы для Локальных и Удаленных Представлений
Как: Добавить Контролы Visual FoxPro в формы
Как: Добавить Контролы в Формы, созданные с помощью Мастеров
Как: Добавить Пользовательские Объекты в формы
Как: Выбрать, переместить, изменить размер Контрола в форме
Как: Установить порядок обработки Контролов в Форме

Описание

Размещение Контролов в Форме

Концепции

Добавление Объектов в Формы

Другие ссылки

Создание Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Aligning Controls in Forms

Visual FoxPro 9.0
Выравнивание элементов на форме
Смотри также

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

Настройка расположения объектов

Для более точного расположения объектов на форме , можно включить отображение координат ( Show Position) в меню Вид (View). Когда эта опция отмечена, координаты и размеры выбранных элементов формы будут отображаться в строке состояния в нижней части окна Form Designer.

Настройка отображения сетки

Координатная сетка служит для удобства выравнивания элементов на форме . Вы можете настроить шаг координатной сетки через меню Формат (Format), выбрав пункт Set Grid Scale. Для того чтобы включить, можно воспользоваться пунктом Grid Lines в меню Вид (View), или через окно Настроек, закладка Forms,опция Grid Lines. Вызвать окно Настроек можно через меню Tools- Options.

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

  • Отключить опцию Snap to Grid в меню Format.По умолчанию опция включена.

  • Воспользоваться клавишами управления курсором для перемещения и выравнивания элементов .

  • Нажать и удерживать клавишу CTRL, при перемещении элементов с помощью мыши.

Смотри Также

Справка

Выравнивание элементов на форме

Прочие ресурсы

Как добавить контейнер Visual FoxPro
Как добавить пользовательский объект на форму
Создание форм
Добавление объектов на форму
Добавление методов и свойств форме
Как добавить элемент управления на форму
Добавление контролов на форму, сделанной с помощью мастера форм
Выбор, Сдвиг и изменение Размеров элементов управления формы
Установка порядка табуляции элементов управления формы

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. Все права защищены


How to: Set Tab Order for Controls

Visual FoxPro 9.0
Как: Установка порядка табуляции для элементов управления
Смотрите также

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

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

Для выбора метода установки табуляции:

  1. Выберите строку Options пункта Tools главного меню.

  2. В диалоговом окне Options откройте вкладку Forms.

  3. В выпадающем списке опции Tab Ordering выберите Interactive (Интерактивный) или By List (Посредством списка).

К выбранному здесь методу установления порядка табуляции чувствительна кнопка Set Tab Order в меню инструментов конструктора форм. Метод установления порядка табуляции можно выбрать также через опцию Tab Order пункта View главного меню.

Установка порядка табуляции в интерактивном режиме

Для установления порядка табуляции в интерактивном режиме сначала двойным щелчком на элементе управления задается тот из них, который должен быть первым в этом порядке. Затем, одинарным щелчком задается желаемый порядок остальных элементов управления. При этом, номер последнего выбранного элемента управления подсвечивается.

Для изменения порядка табуляции в интерактивном режиме:

  1. Выберите опцию Tab Order пункта View главного меню.

  2. Выберите опцию Assign Interactively.

  3. Дважды щелкните на том элементе управления, который должен быть первым в порядке табуляции.

  4. Одинарным щелчком установите порядок табуляции остальных элементов управления.

  5. Щелкните где-либо на форме, вне элемента управления для сохранения заданного порядка табуляции или нажмите клавишу ESC для выхода из режима без сохранения изменений.

Установка порядка табуляции с использованием списка

В режиме списка порядок табуляции устанавливается путем перестроения списка имен элементов управления в диалоговом окне Tab Order. Для быстрого установления порядка табуляции можно воспользоваться кнопками By Row или By Column.

Для изменения порядка табуляции с использованием списка:

  1. Выберите опцию Tab Order пункта View главного меню.

  2. Выберите опцию Assign by List.

  3. Нажмите кнопку By Row или By Column.

  4. Для перестроения списка в произвольном порядке используйте перетаскивание имен элементов управления за указатель (прямоугольник слева от имени элемента управления).

  5. Нажмите кнопку OK.

Смотрите также

Задачи

Как: Добавление контейнеров Visual FoxPro
Как: Добавление пользовательских объектов к форме
Как: Добавление свойств и методов к форме
Как: Добавление элементов управления Visual FoxPro к форме
Как: Добавление элементов управления к форме, сгенерированной с помощью мастера
Как: Выбор, перемещение и изменение размеров элементов управления формы

Справочное руководство

Диалоговое окно Tab Order (Порядок табуляции)

Понятия

Добавление объектов к форме

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Add User-Defined Objects to a Form

Visual FoxPro 9.0
Как: добавить определенные пользователем объекты в форму
Смотрите также

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

Для ввода объекта, основанного на пользовательском классе

  • В Project Manager Window перетащите класс в контейнер.

Вы можете, кроме того, добавить ваш класс в форму непосредственно из панели инструментов Form Controls, после того, как вы добавите его в вашу панель.

Добавление библиотек классов в панель инструментов Controls

Вам необходимо зарегистрировать вашу библиотеку классов до того, как она будет отображена в в панели инструментов Form Controls.

Для регистрации библиотеки классов

  1. В меню Tools выберите Options.

  2. В диалоговом окне Options перейдите на закладку Controls.

  3. Выберите Add.

  4. В диалоговом окне Open выберите библиотеку классов, которую вы желаете добавить в список Selected и выберите Open.

  5. Повторяйте шаги 3 иd 4 до тех пор, пока вы не введете все библиотеки, которые вы желаете зарегистрировать.

Классы библиотеки классов в списке Selected могут быть использованы в Конструкторе форм (Form Designer) так же легко, как и базовые классы Visual FoxPro.

Note Совет

Если вы желаете, чтобы библиотеки классов были доступны в панели инструментов Form Controls каждый раз, когда вы запускаете Visual FoxPro, щелкните по Set as Default в диалоговом окне Options.

Вы можете, кроме того, зарегистрировать библиотеки непосредственно в конструкторе форм Form Designer.

Для регистрации библиотеки классво в конструкторе форм

  1. В панели инструментов Form Controls щелкните по кнопке View Classes.

  2. Выберите в субменю Add.

  3. В диалоговом окне Open выберите библиотеку классов, которую желаете добавить в панель инструментов Form Controls, затем выберите Open.

Добавление объектов в форму из библиотеки классов

Послу того, как вы добавили библиотеки классов на закладке Classes или в диалоговом окне Options или из субменю View Classes, вы можете обращаться к ним в конструкторе форм.

Для ввода пользовательского объекта из панели инструментов Controls

  1. В панели инструментов Form Controls щелкните по кнопке View Classes.

  2. Выберите из списка зарегистрированных библиотек классов библиотеку, которая содержит элементы управления, которые вы желаете добавить в форму.

    Панель инструметов заполнится элементами управления, описанными в выбранной вами библиотеке классов.

  3. Щелкните по желаемому элементу управления и перетащите его в форму, одновременно устанавливая его размер.

    Note Замечание

    Вы можете удалить библиотеку визуальных класса из субменю панели инструментов "View Classes" выбором библиотеки в списке Selected на закладке Controls диалогового окна Options с последующим выбором Remove.

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

Для определения количества элементов управления в форме

  • Используйте свойство ControlCount.

Свойство Controls формы позволяет вам ссылаться на каждый элемент управления в форме. Приведенная ниже программа печатает значение свойства Name для всех элементов управления в текущей активной форме.

CopyCode image Скопировать код
ACTIVATE SCREEN  && для печати в главном окне Visual FoxPro
FOR nCnt = 1 TO Application.ActiveForm.ControlCount
   ? Application.ActiveForm.Controls[nCnt].Name
ENDFOR

Смотрите также

Задачи

Как: добавить свойства и методы в форму
Как: добавить элементы управления в форму с помощью Component Gallery
Как: добавить элементы управления в форму, сгенерированную мастером форм
Как: выбирать, перемещать и изменять размеры элементов управления на форме
Как: установить порядок обхода для элементов управления

Справочное руководство

Как: добавить определенные пользователем объекты в форму
Окно Project Manager
Выравнивание элементов управления в формах

Концепции

Добавление объектов в формы

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Manipulating Objects

Visual FoxPro 9.0
Управление объектами

Вы можете управлять и работать с объектами на форме в design time.

Приведенное ниже перечисление описывает некоторые задачи, которые вы можете производить с объектами на форме:

  • Установить размер и позицию объектов в Form Designer путем их растяжения, сжатия или перетаскивания.

  • Прижать элементы управлния с помощью выбора опций в меню Format или испольхования инструментов прижима в полоске инструментов Layout toolbar. Для получения более подробной информации о полоске инструментов Layout toolbar, смотрите Прижим элементов управления в формах.

  • Установить цвета с помощью полоски инструментов Palette toolbar. Для получения более подробной информации об использовании Palette toolbar, смотрите Настройка форм.

  • Просматривать установки свойств объекта, отображать наследуемый код для объектов и методов, устанавливать значения для свойств и ограничивать просмотр с целью показа только измененных свойств с помощью окна Properties.

Окно Properties является первичныс инструментов для контроля над всеми объектами на форме. Окно Properties отображает свойства, события и методы, а также их установки для выбранной формы, окружения данных, курсора, отношения или элемента управления. Для получения более подробной информации об окне Properties, смотрите Окно Properties (Visual FoxPro).

В этом разделе

Как: просмотреть свойства объектов

Обсуждается, как просмотреть свойства объектов, методы и события в окне Properties.

Как: установить свойства объектов

Описывается, как установить или отредактировать значения свойства объекта в design time или программно.

Как: отобразить наследуемый код для объектов, событий и методов

Объясняется, как отобразить наследуемый код из родительских классов для объектов, событий и методов.

Как: показать свойства с измененными установками

Объясняется, как отобразить в окне Properties только те свойства, которые были изменены.

Пример управления объеками

Содержит пример в двумя формами в наборе форм. Этот пример иллюстрирует, как установить свойства и вызвать код события для ряда объектов внутри набора форм.

Связанные разделы

Разработка форм

Предоставляет связи к статьям, которые объясняют, как использовать дизайнеры Visual FoxPro для создания форм.

Введение объектов в формы

Предоставляет связи к статьям, которые объясняют разные варианты ввода объектов в формы.

Работа с формами

Предоставляет связи к статьям, которые объясняют, как работать с формами, например, как запустить форму или как состыковать формы.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: View Properties for Objects

Visual FoxPro 9.0
Как: посмотреть свойства объектов
Смотрите также

Вы можете посмотреть свойства, методы и события определенных объектов, например, формы или объекта на форму с помощью отобрадения их в окне Properties (Свойства). Для получения более подробной информации смотрите Окно Properties - Свойства(Visual FoxPro).

Для просмотра свойств объекта

  1. Выберите объект, свойства которого вы желает посмотреть.

  2. В меню Window (Окно) щелкните по Properties Window - Окно Свойства.

Вы можете, кроме того, посмотреть свойства объекта вызвав на нем контекстное меню щелчком по правой клавише мыши с последующим выбором пункта Properties (Свойства), когда оно доступно. Когда окно Properties (Свойства) открыто, вы можете видеть свойства, выбрав объект в списке объектов окна Properties (Свойства). Окно Properties (Свойства) обновляет отображение свойств, событий и методов для выбранного объекта.

Note Совет

Для просмотра свойств, которое имеют общим множество объектов, нажмите и удерживайте клавишу SHIFT, пока вы выбираете щелчками по левой клавише мыши объекты на форме. Список свойств покажет общие свойства для выбранных вами объектов.

Просмотр укороченных значений в окне Properties (Свойства)

Иногда значения свойств, событий и методов могут показаться укороченными в списке свойтсв, если значения по длине выходят за правую сторону окна Properties (Свойства). Однако, вы можете увидеть эти укороченные значения.

Для просмотра укороченных значений в списке свойств

  • Распахните окно Properties (Свойства).

- или -

  • Поместите указатель мыши над свойством, событие или методов в списке свойств, чтобы отобразить значение тексте подсказки Tooltip.

Подсказки значения показывают библиотеки визуальных классов, если они существуют, из которых они наследуют и установки свойств с признаком "только для чтения".

Просмотр установок свойств с признаком "только для чтения".

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

Для просмотра свойств с признаком "только для чтения"

  1. В окне Properties (Свойства) выполните щелчок по правой клавише мыши на свойстве, значение которого вы желаете посмотреть.

  2. В контекстном меню выберите Zoom.

Для получения более подробной информации смотрите Диалоговое окно Zoom <свойство>.

Смотрите также

Задачи

Как: добавить свойства и методы в форму
Как: редактировать код события и метода

Справочное руководство

Form Designer (Конструктор форм)

Концепции

Управление поведением форм

Прочие ресурсы

Управление объектами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Properties for Objects

Visual FoxPro 9.0
Как: Установить значение Свойства для Объекта
См. также

Вы можете изменить значение некоторого Свойства как в режиме разработки, так и программным способом.

Note Примечание

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

Для установки или изменения значения Свойства

  1. Выделите нужный объект на форме.

  2. В списке системного окна Properties, выберите нужное Свойство.

  3. В соответствующем боксе значения свойства, введите новое значение или сделайте нужный выбор из возможных вариантов.

Необходимый объект можно также выбрать из соответствующего бокса данного системного окна Properties.

Если выбранное свойство имеет символьный тип, то вам не нужно включать символьное выражение в кавычки, как обычно делается для символьных данных. Однако, если кавычки нужны, то вам лучше воспользоваться соответствующим диалоговым боксом property settings box.

Установка значений Свойств, как некоторых Выражений

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

Caution note Обратите Внимание

Если вы задаете значение свойства как вычисляемое значение некоторой пользовательской функции, система Visual FoxPro пытается вычислить необходимое значение при старте формы, если возникает ошибка при выполнении пользовательской функции - то данная форма становится недоступной, не активируется.

Для задания значения свойства, как выражения

  1. Из списка Свойств выберите нужное свойство

  2. В соответствующем боксе введите знак равенства (=) и требуемое выражение.

Например, вы можете отобразить имя текущей таблицы в заголовке формы, для этого установите для свойства формы Caption следующее значение =ALIAS( ).

Задать значение свойства как вычисляемого выражения можно при помощи Диалогового бокса Expression Builder. Для его активации: выберите требуемое свойство, нажмите кнопку Function в системном окне Properties.

Задать значение свойства можно также программным кодом в событии Init соответствующего объекта. Например:

THIS.Caption = myfunction( )

Тем не менее , если в пользовательской процедуре, задающей значение свойства, имеется ошибка, то форма остается неработоспособной.

См. также

Задачи

Как: Добавить Свойство или Метод в Форму
Как: Изменить программный код События или Метода

Описание

Дизайнер Форм

Концепции

Управление поведением Форм

Другие ссылки

Манипулирование Объектами
Создание Форм

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Display Inherited Code for Objects, Events, and Methods

Visual FoxPro 9.0
Как: отобразить наследуемый код для объектов, событий и методов
Смотрите также

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

Замечание Замечание

Возможности View Parent и View Inherited Code поддерживаются только для просмотра этого кода, но не для его редактирования. Для того, чтобы отредактировать код родительского класса для субкласса используйте Class Browser. Для получения более подробной информации, смотрите Как: увидеть код определения класса и Эксплуатация Class Browser.

Для просмотра наследуемого кода с помощью окна редактирования кода

  1. Выполните одно из приведенного ниже:

    • на форме, выполните двойной щелчок на требуемом объекте.

    - или -

    • В списке свойств окна Properties, выполните двойной щелчок на событии или методе.

    Откроется окно редактирования кода для объекта, события или метода.

  2. В окне редактирования кода, щелкните на View Parent Code для отображения списка всех родительских классов.

    Замечание Замечание

    View Parent Code доступен в окне редактирования кода только в том случае, если имеется по крайней мере один родительский класс, который содержит код. Если исходный код существует, родительский появляется отображенным жирным шрифтом.

    Замечание Совет

    Кроме того, вы можете "щелкнуть" на View Parent Code в окне редактирования кода с помощью ALT+I.

  3. Выберите родительский класс.

    Откроется окно редактирования и отобразать код родительского класса.

Если для метода или события существует наследуемый код, то имя родительского класса и библиотеки классов, из которого метод или событие наследуют код, появятся в списке свойств окна Properties, так, как это показано ниже:

CopyCode image Скопировать код
Inherited cClassname ClassLibrary

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

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

Viewing inherited code using the properties list in the Properties window traverses the parent or container tree to reach the inherited parent class.

Смотрите также

Задачи

Как: добавить свойства и методы в форму
Как: редактировать код события и метода

Справочное руководство

Дизайнер форм

Концепции

Управление поведением формы

Прочие ресурсы

Управление объектами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Show Properties with Modified Settings

Visual FoxPro 9.0
Как: Отобразить Измененные Свойства текшего объекта
См. также

В системном окне Properties, Вы можете изменить содержание отображаемого списка свойств текущего объекта, режим всех свойств, или режим измененных.

Для отображения только измененных свойств объекта

  1. Выполните "Right-click" в окне Properties за границей списка Свойств.

  2. Из короткого Меню, выберите пунктt Non-Default Properties Only.

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

См. также

Задачи

Как: Добавить Свойство или Метод в Форму
Как: Изменить программный код События или Метода

Описание

Дизайнер Форм

Концепции

Управление поведением Формы

Другие ссылки

Манипулирование Объектами
Создание Форм

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Example of Manipulating Objects

Visual FoxPro 9.0
Пример Манипулирования Объектами
Смотрите Также

Следующий пример устанавливает свойства и вызывает на выполнение код события различных объектов внутри набора форм FormSet.

Пример набора форм в Дизайнере Форм

Два check boxes и кнопка на форме frmLeft имеют код событий, связаных с ними. Наименование text box на frmLeft - txtInput.

Код событий для объектов формы LeftForm
Объект | Событие | Код
chkItalic | Click | THISFORM.txtInput.FontItalic = ; THIS.Value
chkBold | Click | THIS.txtInput.FontBold = THIS.Value
cmdClear | Click | THISFORM.txtInput.Value = "" THISFORM.txtInput.FontBold = .F. THISFORM.txtInput.FontItalic = .F. THISFORM.chkItalic.Value = .F. THISFORM.chkBold.Value = .F.

Установка Свойств Другого Элемента Управления на Тойже Форме

Вы можете устанавливать свойства одного объекта в событии другого, используя ключевое слово THISFORM или свойство Parent. Следующие две команды выполняются, когда пользователь щелкает мышкой на Italic(курсив) и Bold(полужирный) check boxes, устанавливая предназначенное свойство text box:

CopyCode image Copy Code
THISFORM.txtInput.FontItalic = .T.
THIS.Parent.txtInput.FontBold = .T.

В этом случае, THISFORM и THIS.Parent взаимозаменяемы.

Пример form set в момент выполнения

Код события click для кнопки cmdClear использует THISFORM для переустановки значений свойств других эелементов управления данной формы.

Установка Свойств Другой Формы

Вы также можете устанавливать свойства одной форма из другой. Форма Form2 содержит пять кнопок. Событие Click содержит следующий код:

CopyCode image Copy Code
THISFORMSET.frmLeft.Caption = ;
 ALLTRIM(ThisFormSet.frmLeft.txtInput.Value)

Заметьте, что необходимо ссылаться на form set и form, когда устанавливаете свойства из другой формы.

Пользователь щелкает на кнопке "Change Left Form Caption" на Правой Форме

FoxPro Object Form

Код события click второй кнопки на форме frmRight демонстрирует установку свойства формы через ее объект:

CopyCode image Copy Code
THISFORM.Caption = ;
 ALLTRIM(ThisFormSet.frmLeft.txtInput.Value)

Если пользователь щелкнет на этой кнопке, то заглавие правой фориы frmRight заменится на значение введенное в text box на левой форме frmLeft.

Доспут к Объектам на Различных Формах

Следующий код события Click кнопки Change Bold Setting меняет значение Bold check box на форме frmLeft и вызывает связанное с этим событие данного элемента управления.

CopyCode image Copy Code
THISFORMSET.frmLeft.chkBold.Value = ;
   NOT THISFORMSET.frmLeft.chkBold.Value
THISFORMSET.frmLeft.chkBold.InteractiveChange

Последняя строка в примере вызывает событие InteractiveChange в chkBold. Вы могли бы вызвать эту процедуру и с помощью следующей команды:

CopyCode image Copy Code
THISFORMSET.frmForm1.chkBold.InteractiveChange( )

Если вызов данной процедуры опустить, то значение check box изменится, но свойство FontBold в text box не изменится никогда.

Пользователь щелкнул на кнопке "Change Bold Setting" на правой форме

FoxPro Object Form Settings

Проверка Свойств и Вызов Метода Другой Формы

Следующий код в событии Click кнопки "Hide Left Form" прячет или показывает левую форму frmLeft, в зависимости от значения свойства Visible, и изменяет заголовок кнопки на подходящий:

CopyCode image Copy Code
IF ThisFormSet.frmLeft.Visible
   ThisFormSet.frmLeft.Hide
   THIS.Caption = "Show Left Form"
ELSE
   ThisFormSet.frmLeft.Show
   THIS.Caption = "Hide Left Form"
ENDIF

Обратите внимание, что ключевое слово THIS примененное в коде события элемента управления, ссылается на свойства данного элемента.

Пользавотель нажимает кнопку "Hide Left Form" на Правой Форме

Следующая команда в событие Click кнопки "Quit" осводождает данный form set, что приводит к закрытию обеих форм:

CopyCode image Copy Code
RELEASE ThisFormSet

Смотрите Также

Задачи

Как: Установить Свойства в Run Time
Как: Спрятать Форму
Как: Передать Параметры Форме
Как: Сохранить Форму как HTML

Другие Ресурсы

Работа с Формами
Манипулирование Объектами
Создание Форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Customizing Forms

Visual FoxPro 9.0
Настройка форм

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

Используя дизайнер форм, вы можете настроить ваши формы с помощью:

  • Изменения шрифта текста и его размеров.

  • Введения в форму контуров и линий.

  • Введения в форму графики.

  • Установки цветов переднего плана и фона форм.

В этом разделе

Как: изменить свойства текста

Описывается как изменить текст в формах.

Как: добавить в формы контуры, фигуры и линии

Описывается как поместить объекты линий и фигур на форму.

Как: введсти в форму графику

Объясняется как использовать элемент управления Image для ввода в форму графику.

Как: установить цвета формы

Описывается как управлять цветами формы, используя свойство форм ColorSource.

Как: присвоить форме иконку

Описывается как присвоить форме иконку.

Связанные разделы

Работа с формами

Предоставляет ссылки на статьс, которые объясняют как работать с формами, а также как запустить форму и как стыковать формы.

Создание форм

Описывается как разработать и построить формы, как использовать наборы формы и типы форм, как использовать объекты на формах, как настроить формыЮ используя свойства и методы и как установить окружение данных.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Change Text Properties

Visual FoxPro 9.0
Как: Изменить свойства текста
См. также

При помощи системного окна Properties window, Вы можете изменить характеристики некоторого рассматримаемого текстового объекта, размещенного на вашей форме. Вы можете изменять такие свойства текста, как: стиль (шрифт), размер, и другие, поддерживаемые системой характеристики. Для необходимой Вам настройки параметров текста, в окне Properties, используйте следующие свойства Объектов: FontName, FontSize, и FontBold.

Для изменения свойств текста в ваших формах

  1. В Form Designer, выбкрите элемент управления , который нужно изменить.

  2. В окне Properties, раскройте список элементов формы Object , и выберите нужный объект.

  3. Для соответствующих свойств данного объекта установите необходимые Вам значения.

См. также

Задачи

Как: Определить Область разработки для формы

Описание

Системное средство Form Designer
Окно Properties (Visual FoxPro)
Свойства DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline
Свойство ColorSource

Другие ссылки

Настройка Форм

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Add Shapes and Lines to Forms

Visual FoxPro 9.0
Как: Добавит объекты Shapes и Lines на Форму
См. также

Вы можете добавить объекты Shapes и Lines на форму, для различного их назначения / использования. Например, Вы можете отделить несколько элементов формы разделительной линией от других элементов, или поместить несколько связанных элементов в прямоугольный бокс.

Чтобы добавить линию на форму

  1. В соответствующем ToolBar-e Form Controls, выберите кнопку Line .

  2. Переместите ее (выбранную линию) в нужное место на форме.

Вы можете изменять местоположение и размер линии, как и у других элементов формы, или изменить угол наклона линии, используя свойство LineSlant в Окне Properties.

Чтобы добавить объект Shape на форму

  1. В соответствующем ToolBar-e Form Controls , выберите кнопку Shape.

  2. Переместите на нужное место в форме.

Вы можете изменить форму объекта shape при соответствующего сыойства Curvature в окне Properties.

См. также

Другие ссылки

Настройка Форм
Работа с Формами
Создание Форм
Дизайнер Форм
Свойства Окна
Свойство ColorSource
Как: Задать Область редактирования для Формы

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Add Graphics to Forms

Visual FoxPro 9.0
Как: Добавить Графический Объект в Форму
См. также

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

Для добавления Графики в пользовательскую Форму

  1. Для решения одной из следующих задач:

    • Для изменения Фона Формы, откройте форму в Дизайнере Форм.

      - или -

    • Для добавления картинки на форму, выберите Контрол Image в соответствующем Form Controls toolbar, и разместите его в нужном месте на форме.

  2. В системном окне Properties, найдите и выберите свойство Picture.

  3. С помощью соответствующей кнопки (у значения свойства), откройте диалоговый бокс Open.

  4. Найдите файл требуемого изображения.

  5. Нажмите кнопку OK.

См. также

Задачи

Как: Установить Размер области Разработки Формы

Описание

Image, контрол (Visual FoxPro)
Picture, свойство (Visual FoxPro)
BackStyle, свойство
BackColor, ForeColor, свойства
Дизайнер Форм
Системное окно Properties (Visual FoxPro)
ColorSource, свойство

Другие ссылки

Настройка Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Set Form Colors

Visual FoxPro 9.0
Как: Установить Цвета Формы
См. также

Вы можете управлять различными цветовыми характеристиками разрабатываемой Формы с помощью ColorSource, свойство, которое использует существующие базовые Цветовые Схемы, вы можете также использовать системный инструментарий Color Palette toolbar для изменения цветовых схем переднего и заднего плана (foreground / background) как для самой формы, так и для элементов (Контролов), разрабатываемой Формы.

Для установки цветовых схем Формы при помощи свойства ColorSource:

  • В закладке Layout, системного окна Properties, выберите пункт ColorSource и выберите требуемое значение.

Для установки значений свойствам ForeGround и BackGround данной формы или ее Контрола:

  1. Из системного меню View, выберите инструмент Color Palette.

  2. Выберите требуемое значение для свойств Foreground Color или Background Color.

  3. Выделите требуемый Контрол на Форме.

  4. В соответствующем инструментарии Color Palette, выберите требуемый цветовой оттенок.

  5. Для задания прочих характеристик цветовых схем, нажмите кнопку Other Colors данного инструментария.

Для определения Пользовательской цветовой Схемы:

  1. В соответствующем инструментарии Color Palette, нажмите кнопку Other Colors.

  2. В открывшемся диалоговом боксе Color, нажмите кнопку Define Custom Colors, для отображения дополнительного инструмента Custom Color Selector.

  3. В последнем диалоговом боксе Custom Colors, выполните требуемые настройки Custom Color Selector, для получения нужного вам цветового оттенка.

  4. Нажмите кнопку Add to Custom Colors - для сохранения нового цветового оттенка в общей цветовой гамме.

  5. Нажмите кнопку OK.

    Система Visual FoxPro установит для текущего Контрола заданную вами цветовую характеристику.

См. также

Задачи

Как: Установить Размеры области Разработки Формы

Описание

BackStyle, свойство
BackColor, ForeColor, свойства
Дизайнер Форм
Properties, системное окно (Visual FoxPro)

Другие ссылки

Настройка Форм
Работа с Формами
Создание Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Assign an Icon to a Form

Visual FoxPro 9.0
Как: Задать Иконку для Формы
См. также

В системе Visual FoxPro, Вы можете определить иконку для Вашей, разрабатываемой формы; данная иконка отображается в элементе forms taskbar button и в левом верхнем углу открытой формы.

Для задания иконки в Форме

  1. Откройте форму (в дизайнере форм).

  2. Откройте окно Properties (свойства).

  3. Установите значение свойства Icon , как файл типа (.ico).

См. также

Задачи

Как: Добавить Свойство или Метод в Форму
Как: Изменить программный код Событий или Методов
Как: Сохранить форму

Описание

Средство Form Designer
Свойство Visible (Visual FoxPro)

Другие ссылки

Манипулирование Объектами
Создание Форм

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Add Properties and Methods to a Form

Visual FoxPro 9.0
Как: добавить в форму свойства и методы
Смотрите также

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

Создание новых свойств

Если у вас имеется набор форм, свойства и методы, которые вы добавляете в Form Designer (Конструкторе формы) имеют область видимости в пределах набора форм. Если форма не принадлежит набору форм, то свойства и методы имеют область видимости в пределах формы.

Для добавления форме нового свойства

  1. В меню Form (Форма) выберите New Property (Новое свойство).

  2. В диалоговом окне New Property (Новое свойство), впечатайте имя свойства. Вы можете, кроме того, описать свойства и это описание появится внизу окна Properties (Свойства).

Создание свойства-массива

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

Для создания свойства-массива

  1. Добавьте в форму новое свойство.

  2. В боксе Name диалогового окна New Property (Новое свойство), впечатайте имя свойства-массива и укажите его размерность.

    Например, для создания двумерного массива с 10-ю строками, вы можете в боксе Name диалогового окна New Property (Новое свойство) напечатать arrayprop[10,2].

Свойство-массив имеет признак "только для чтения" в режиме разработки, но вы можете управлять им, то есть изменять размеры, присваивать значения элементам в run time. В качестве примера использования свойства-массива смотрите описание Как: управлять множеством экземлпяров формы.

Создание новый методов

Вы можете добавлять в форму методы, которые могут быть вызваны точно также, как и метода базового класса формы.

Для создания нового метода формы

  1. В меню Form (Форма) выберите New Method.

  2. В диалоговом окне New Method (Новый метод), впечатайте имя метода. Кроме того, вы можете описать вводимый метод.

Вы можете вызывать определенные вами методы точно также, как вы вызываете метода базового класса формы с помощью приведенного ниже синтаксиса:

CopyCode image Скопировать код
ObjectName.MethodName

Ваш метод, кроме того, может принимать параметры и возвращать значения. В таком случае, вы должны вызывать метод в предложении присваивания:

CopyCode image Скопировать код
cVariable = ObjectName.MethodName(cParameter, nParameter)

Включение предопределенных констант

Для использования предопределенных констант в ваших методах или событиях (не для свойств), вы можете включить в форму или набор форм файл заголовков с помощью #INCLUDE. Файл заголовков обычно содержит константы времени компиляции, определенные с помощью директив предпроцессора #DEFINE.

Для включения в форму файла

  1. В меню Form (Форма) выберите Include File (Включить файл).

  2. В диалоговом окне Include File (Включить файл) укажите имя файла в боксе Include File (Включить файл).

    - или -

    Щелкните по кнопке выбора для вывода диалогового окна Include (Включить), в котором вы сможете выбрать файл.

  3. Щелкните по OK.

Смотрите также

Задачи

Как: добавить в форму определенные пользователем объекты
Как: редактировать код событий и методов

Концепции

Добавление в формы объектов
Управление поведением форм

Прочие ресурсы

Управление объектами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Controlling Form Behavior

Visual FoxPro 9.0
Управление поведением формы
Смотрите также

Когда вы разрабатываете форму в Дизайнере форм, форма представляется живой: за исключением установки свойства Visible , видимой и изменения, влиящие на поведение мнгновенно отражаются в форме. Если вы установите свойство WindowState в 1 – Minimized или 2 – Maximized, форма в Дизайнере форм немедленно отразит эти установки. Если вы установите свойство Movable в false (.F.), у пользователя не будет возможности перемещать форму во время испольнения приложения, а вы лишитесь возможности перемещать ее и в design time. Вы может пожелать разработать функциональности вашей формы и добавить все подходящие элементы управления до установки до установки некоторых свойств, определящих поведение формы.

Перечисленные ниже свойства формы обычно устанавливаются в design time для определения внешнего вида и поведения формы.

Свойство | Описание | Значение по умолчанию
AlwaysOnTop | Управляет - будет ли форма всегда находится поверх других открытых окон. | False (.F.)
AutoCenter | Управляет - будет ли форма автоматически центрироваться внутри главного окна Visual FoxPro или на десктопе при ее инциализации. | False (.F.)
BackColor | Определяет цвет фона окна формы. | 255,255,255
BorderStyle | Управляет будет ли у формы бордюр, его вид: в виде одиночной сплошной линии, линии двойно ширины или системный. Если BorderStyle равен 3 - System, у пользователя будет возможность изменять размеры формы. | 3
Caption | Определяет текст, отображаемый в полоске заголовка формы. | Form1
Closable | Управляет - сможет ли пользователь закрыть формы двойным щелчком на контрольном блоке (по иконке формы). | True (.T.)
DataSession | Управляет способом открытия таблиц в рабочих областях - будут ли они доступны глобально или частным порядком в форме. | 1
MaxButton | Управляет - будет ли на форме показана кнопка изменения размера формы в максимальный. | True (.T.)
MinButton | Управляет - будет ли на форме показана кнопка сворачивания формы в минимальный размер. | True (.T.)
Movable | Управляет возможностью перемещения формы по экрану. | True (.T.)
ScaleMode | Управляет - в каких единицах foxels или pixels будут измеряться размеры объектов и свойства их позиции. | Определяется установкой в диалоговом блоке Options.
Scrollbars | Управляет типом полос прокрутки формы. | 0 - None
TitleBar | Управляет отображением полоски заголовка вверху формы. | 1 - On
ShowWindow | Управляет тип окна формы: дочерний (в экране), плавающий или окно верхнего уровня (top-level window). | 0 - In Screen
WindowState | Управляет - будет ли форма минимизирована (только в Windows), распахнута на весь экран или иметь нормальный вид. | 0 - Normal
WindowType | Управляет модальностью формы. Если форма является модальной, то пользователь должен закрыть ее до получения доступа к другим элементам интерфейса пользователя приложения. | 0 – Modeless

Вы можете использовать свойство LockScreen для настроек свойств размещения и раскладки элементов управления в run-time.

Смотрите также

Задачи

Как: добавить свойства и методы в форму
Как: присвоить иконку форме
Как: редактировать код собыия и метода
Как: сохранить формы

Справочное руководство

Дизайнер форм
Свойство Visible(Visual FoxPro)

Прочие ресурсы

Управление объектами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Edit Event and Method Code

Visual FoxPro 9.0
Как: редактировать код метода или события
Смотрите также

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

Для редактирования кода события или метода

  1. В меню View выберите Code.

  2. Выберите событие или метод в боксе Procedure.

  3. В окне Edit впечатайте код, который вы желаете исполнять при срабатывании события или при вызове метода.

    Например, вы можете иметь командую кнопку на форме с заголовком "Quit." В событие Click это кнопки включите приведенную ниже строку кода:

    CopyCode image Скопировать код
    THISFORM.Release
    Замечание Совет

    Для перемещения между процедурами в окне редактирования кода используйте клавиши PAGE DOWN или PAGE UP.

Когда пользователь щелкнет по командной кнопке, форма будет удалена с экрана и из памяти. Если вы не желаете высвобождать форму из памяти, вы долны вместо приведенной строки кода, включит в код события следующий фрагмент::

CopyCode image Скопировать код
THISFORM.Hide
Замечание Замечание

Если код, ассоциированный с событием Init набора форм или любого объекта на форме возвратит false (.F.), форма не будет создана.

Смотрите также

Задачи

Как: добавить свойства и методы в форму
Как: сохранить формы
Как: запустить форму
Как: установить свойства в Run Time

Концепции

Управлять поведением форм

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Run a Form

Visual FoxPro 9.0
Как: запустить форму
Смотрите также

Вы можете запустить форму непосредственно из интерфейса или из кода программы.

Интерактивный запуск формы

Имеется несколько способов для запуска вашей разработанной формы.

Если вы работаете в Конструкторе форм , вы можете потестировать форму щелчком на кнопке Run на панели инструментов Конструктора. Для повторного открытия формы в Конструкторе форм закройте форму или щелкните по кнопке "Изменить форму" (Modify Form) на панели инструментов.

Кроме того, вы можете запустить форму из проекта или программным способом.

Для запуска формы

  1. В окне Диспетчера проекта (Project Manager) выберите имя формы на закладке "Документы" (Documents) и затем щелкните по кнопке Запустить (Run).

    - или -

  2. Напечатайте в командном окне "DO FORM".

    - или -

  3. Из меню Форма (Form) выберите пункт Запустить форму (Run Form). Вы можете, кроме того, щелкнуть по кнопке Запустить (Run) в панели инструментов Стандрартные (Standard).

Вы можете, кроме того, запустить форму, выбрав Выполнить (Do) из меню Программа (Program) с последующим выбором Форма (Form) в боксе Список типов файлов (List Files of Type), выбрать форму и щелкнуть по Выполнить (Do).

Note Совет

При запуске формы, вы можете быстро переключиться в режим Разработка (Design) щелчком по кнопке Изменить форму (Modify Form) на панели инструментов Стандартные (Standard).

Для запуска формы из программы включите команду DO FORM Command в код, связанный с событием, в код метода или в саму программу или процедуру.

Наименование объекта формы

По умолчанию, когда используете команду DO FORM, имя объекта формы равно имени файла формы .scx. Например, приведенная ниже строка кода запускает форму Customer.scx. Visual FoxPro автоматически создает для формы объектную переменную с именем customer:

CopyCode image Скопировать код
DO FORM Customer

Для именования объекта формы

  • Используйте ключевое слово NAME команды DO FORM.

Например, приведенные ниже строки кода запускают форму, создают два имени объектных переменных:

CopyCode image Скопировать код
DO FORM Customer NAME frmCust1
DO FORM Customer NAME frmCust2

Управление объектом формы

Вы можете связать объект формы с глобальной переменной с тем, чтобы вы смогли обращаться к объекту форму через имя переменной.

Для связывания объекта формы с глобальной переменной

  • Используйте команду DO FORM в командном окне.

Например, приведенные ниже строки кода, выданные в командном окне, открывают форму с именем Customer и изменяют ее заголовок.

CopyCode image Скопировать код
DO FORM Customer
Customer.Caption = "Hello"

Если вы после этого, выдадите в командном окне приведенную ниже команду, то она отобразит в текущем окне вывода O, указывая, что Customer представляет собой объект:

CopyCode image Скопировать код
? TYPE("Customer")

Если вы выдадите команду DO FORM в программе, то объект формы будет располагаться в зоне видимости программы. Если программа или процедура завершится, объект будет удален из памяти, но форма останется видимой. Например, вы можете исполнить приведенную ниже программу:

CopyCode image Скопировать код
*formtest.prg
DO FORM Customer

После исполнения программы, форма останется видимой и все элементы управления на форме будут активными, но TYPE("Customer") возвратит U, указывая, что Customer представляет собой неопределенную переменную. Приведенная ниже команда, выданная в командном окне, будет генерировать ошибку:

CopyCode image Скопировать код
Customer.Caption = "Hello"

Вы, однако, можете обращаться к форме с помощью свойств ActiveForm, Forms и FormCount объекта приложения.

Привязка области видимости формы к переменной объекта формы

Вы можете связать форму с объектом формы.

Для привязки формы к объекту формы

  • Используйте команду DO FORM с ключевым словом LINKED.

Если вы включите в команду ключевое слово LINKED, то когда переменная, связанная с объектом формы выйдет за пределы области видимости, форма будет высвобождена.

Например, приведенная ниже команда создает форму, привязанную к объектной переменной frmCust2:

CopyCode image Скопировать код
DO FORM Customer NAME frmCust2 LINKED

Когда переменная frmCust2 высвобождается, форма закрывается.

Закрытие активной формы

Чтобы позволить пользователю закрыть активную форму щелчком по кнопке закрытия формы или выбором "Закрыть" (Close) из меню формы, установите соответствующим образом свойство формы Closable .

Чтобы позволить пользователю закрыть активную форму

  1. В окне Свойства (Properties) установите свойство Closable в (.T.).

    - или -

  2. Используйте команду RELEASE.

Например, вы можете закрыть и высвободить форму frmCustomer выпуском приведенной ниже команды в программе или в Командном окне (Visual FoxPro):

CopyCode image Скопировать код
RELEASE frmCustomer

Вы, кроме того, можете позволить пользователю закрыть и высвободить форму, включив приведенную ниже команду в код события Click элемента управления, такого как командная кнопка с заголовком "Quit":

CopyCode image Скопировать код
THISFORM.Release

Вы, кроме того, можете использовать команду RELEASE в коде, ассоциированном с объектом на форме, но любой код, который вы включите в метод Release не будет исполнен.

Caution note Предупреждение

Когда вы высвобождаете форму, вы удаляете из памяти объектную переменную, созданную для формы. Она же является единственной для набора форм, поэтому вы не можете высвободить одну форму, не высвободив весь набор форм. Если вы желаете высвободить набор форм, вы можете использовать RELEASE THISFORMSET. Если вы желаете удалить форму с экрана для того, чтобы пользователь в дальнейшем не мог видеть ее, вам достаточно использовать THISFORM.Hide.

Смотрите также

Задачи

Как: сохранять формы
Как: устанавливать свойства в Run Time
Пример управления объектами
Как: спрятать форму

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Properties at Run Time

Visual FoxPro 9.0
Как: устанавливать свойства в Run Time
Смотрите также

Объектная модель в Visual FoxPro делает возможным управлять свойствами формы в run time.

Ссылка на объекты в иерархии объектов

Для управления объектом в коде, вам необходимо идентифицировать его по отношению к иерархии контейнеров. На верхнем уровне контейнерной иерархии находится форма или набор форм, на которые вам необходимо ссылаться в объектной ссылке. Если вы не используете опцию NAME команды DO FORM объектная переменная имеет тоже самое имя, что и файл формы (.scx) file.

Для управления свойствами

  • В коде, ссылка переменной объекта, элемента управления и затем свойство используют точку, (.) в качестве разделителя в приведенном ниже формате:

    ObjectVariable.[Form.]Control.Property = Setting

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

Свойство или ключевое слово | Ссылки
ActiveControl | Элемент управления в текущей активной форме, которые имеет фокус.
ActiveForm | Текущая активная форма.
ActivePage | Активная страница на текущей активной форме.
Parent | Непосредственный контейнер объекта
THIS | Объект, или процедура, или событие объекта.
THISFORM | Форма, которая содержит этот объект.
THISFORMSET | Набор форм, который содержит этот объект.

Например, для того, чтобы изменить заголовок командной кнопки на форме frmCust в наборе форм, хранящемся в Custview.scx, используйте приведенную ниже команду в программе или в командном окне:

CopyCode image Скопировать код
CustView.frmCust.cmdButton1.Caption = "Edit"

Используйте ключевые слова THIS, THISFORM и THISFORMSET для ссылки на объекты внутри формы. Например, для того, чтобы изменить заголовок командной кнопки, когда по ней производится щелчок, включите приведенную ниже команду в ее событие Click:

CopyCode image Скопировать код
THIS.Caption = "Edit"

Приведенная ниже таблица дает примеры использования THISFORMSET, THISFORM, THIS и Parent для установки свойств объекта:

Command | Where to include the command
THISFORMSET.frm1.cmd1.Caption = 'OK' | В событии или методе любого элемента управления на любой форме в наборе форм, за исключением frm1.
THISFORM.cmd1.Caption = 'OK' | В событии или методе любого элемента управления за исключением cmd1 на той же самой форме, на которой помещен cmd1.
THIS.Caption = 'OK' | В событии или методе элемента управления, чей заголовок вы желаете изменить.
THIS.Parent.BackColor = RGB(192,0,0) | В событии или методе любого элемента управления на форме. Команда изменяет цвет фона формы в темно-красный.

Установка свойств в Run Time с помощью выражений

Вы можете, кроме того, установить свойства в run time с помощью выражений или функций.

Для установки свойств в выражения в run time

  1. Присвойте свойству выражение.

    - или -

  2. Присвойте свойству результат функции, определенной пользователем.

    Например, вы можете установить заголовок кнопки в Edit или Save, в зависимости от значения переменной. Задекларируйте переменную в вызывающей форму программе:

    CopyCode image Скопировать код
    PUBLIC glEditing
glEditing = .F.

    Затем используйте выражение IIF в установке Caption:

    CopyCode image Скопировать код
    frsSet1.frmForm1.cmdButton1.Caption = ;
   IIF(glEditing = .F., "Edit", "Save")

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

CopyCode image Скопировать код
* установите ширину кнопки в длину 'Call ' + имя и фамилия
frmForm1.cmdButton1.Width = 5 + ;
   LEN(ALLTRIM(employee.first_name    + " " + employee.last_name))
* установите ширину кнопки в длину 'Call ' + имя и фамилия
frmForm1.cmdButton1.Caption = "Call " + ;
   ALLTRIM(employee.first_name + " " + employee.last_name)

Вы можете, кроме того, установить заголовок с помощью пользовательской функции:

CopyCode image Скопировать код
frsSet1.frmForm1.cmdButton1.Caption = setcaption()

Установка множества свойств

Вы можете установить сразу множество свойств.

Для установки множества свойств

  • Используйте командную структуру WITH ... ENDWITH Command.

    Например, для установки множества свойств колонки в элементе управления grid на форме, вы могли бы включить приведенное ниже предложение в любое событие или метод формы:

    CopyCode image Скопировать код
    WITH THISFORM.grdGrid1.grcColumn1
   .Width = 5
   .Resizable = .F.
   .ForeColor = RGB(0,0,0)
   .BackColor = RGB(255,255,255)
   .SelectOnEntry = .T.
ENDWITH

Вызов методов в Run Time

После создания объекта, вы можете вызывать методы этого объекта из любого места вашего приложения.

Для вызова метода объекта

  • Используйте следующий синтаксис:

    Parent.Object.Method

Например, приведенный ниже код вызывает методы для отображения формы и устанавливает фокус на командную кнопку:

CopyCode image Скопировать код
* Набор форм сохранен в файле MYF_SET.SCX
myf_set.frmForm1.Show
myf_set.frmForm1.cmdButton1.SetFocus

Чтобы спрятать форму, выдайте эту команду:

CopyCode image Скопировать код
myf_set.frmForm1.Hide

Смотрите также

Задачи

Как: запустить форму
Как: спрятать форму
Как: посылать форме параметры
Как: сохранить форму в формате HTML

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Hide a Form

Visual FoxPro 9.0
How to: Скрытие Формы
См. также

Вы можете скрыть форму так, что она будет недоступна пользователю. Когда форма скрыта, пользователь не может взаимодействовать с элементами управления формы, но эта форма доступна для управления ею через программный код.

Для скрытия Формы:

  • Используйте Метод Hide.

    Например, в программном коде События Click командной кнопки, Вы можете вставить следующую команду:

    Комировать код
    THISFORM.Hide

Когда пользователь нажмет указанную кнопку, форма останется в памяти, но будет недоступна пользователю, будет скрыта.

Стирание форм

Вы можете разрешить пользователю стереть форму, когда он завершил работу с ней. Когда форма стерта (Release), у вас уже нет доступа к свойствам иметодам данной формы (в отличие от предыдущего случая).

Для стирания формы

  • Вызовите Метод Release.

Например, в программном коде соответствующего События Click командной кнопки, Вы сожете указать следующую команду:

Копировать код
THISFORM.Release

Когда пользователь нажмет данную кнопку, форма будет закрыта.

См. также

Другие ссылки

Работа с Формами
Примеры манипулированиями объектами
Создание форм
How to: Передача параметров в форму
How to: Сохранение форм в формате HTML
How to: Управление несколькими экзэмплярами Формы

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Pass Параметры to a Form

Visual FoxPro 9.0
Как: послать в форму параметры
Смотрите также

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

Для посылка параметра в форму, созданную в Конструкторе форм (Form Designer)

  1. Создайте в форме свойства, которые будут хранить параметры, такие как, например, ItemName и ItemQuantity.

  2. В процедуре события Init формы, включите оператор PARAMETERS, например такой, как:

    CopyCode image Скопировать код
    PARAMETERS cString, nNumber

  3. В событии Init формы присвойте значения параметров свойствам, так как это показано в примере ниже:

    CopyCode image Скопировать код
    THIS.ItemName = cString
THIS.ItemQuantity = nNumber

  4. При запуске формы включите ключевое слово WITH в команду DO FORM :

    CopyCode image Скопировать код
    DO FORM myform WITH "Bagel", 24

Смотрите также

Задачи

Как: спрятать форму
Как: сохранить форму в формате HTML
Как: управлять множеством экземпляров формы
Как: установить площадь дизайна для формы
Как: возвратить значение из формы

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Return a Value from a Form

Visual FoxPro 9.0
Как: возвратить значение из формы
Смотрите также

Вы можете в вашем приложении использовать вспомогательные формы, которые позволят пользователю указать какое-то требуемое значение.

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

Для возврата значения из формы

  1. Установите свойство WindowType формы, из которой вы намерены получить значение в 1, что сделает форму модальной.

  2. В коде метода, ассоциированного с событием Unload этой формы включите команду RETURN с указанием возвращаемого значения.

  3. В программе или методе другой формы или объекта, включите ключевое слово TO в команду DO FORM.

    Например, Если FindCustID является модальной формой, которая возвращает символьное значение, то приведенная ниже строка кода возвратит это значение в переменную памяти с именем cCustID:

    CopyCode image Скопировать код
    DO FORM FindCustID TO cCustID

Для получения более подробной информации смотрите описания команд RETURN и DO FORM.

Note Замечние

Если вы получите ошибку при исполнении подобной команды, убедитесь, что свойство WindowType вызываемой формы установлено в 1 (Modal).

Смотрите также

Задачи

Как: послать параметры в форму

Справочное руководство

Событие Unload
Команда RETURN
Команда DO FORM

Прочие ресурсы

Работа с формами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Manage Multiple Instances of a Form

Visual FoxPro 9.0
Как: управлять множеством экземпляров формы
Смотрите также Example

Вы можете иметь множество экземпляров определений классов активных одновременно. Например, вы можете разработать одну форму заказа, но иметь несколько открытых форм в вашем приложении. Каждая будет использовать одно и тоже определение, но отображаться и управляться индивидуально.

Когда у вас есть множество экземпляров форм, вам нужно помнить, что нужно:

  • создать свойство типа "массив" в запускающей форме для хранения объектных переменных, связанных с каждым экземпляром множества форм. В тоже время это простейший способ сделать держать их под контролем в любое время и независимо от их количества.

  • для формы, которая будет запущена множество раз, установите свойство DataSession в значение 2 – Private Data Session. Частная сессия данных обеспечивает отдельный набор рабочих областей для каждого экземпляра формы, так что перемещение указателя записи в таблице одного экземпляра формы будет независимым от других экземпляров.

Пример

Приведенный ниже пример предоставляет код, которые демонстрирует создание множества экземпляров формы. В целях краткости этот не оптимизирован; он приведен только для представления концепции.

Приведенная ниже форма запускает множество экзепляров:

Установка свойств для Launch.scx
Объект | Свойство | Установка
frmLaunch | aForms[1] | " "
Код события для Launch.scx
Объект | Собюытие | Программный код
cmdQuit | Click | RELEASE THISFORM
cmdLaunch | Click | nInstance = ALEN(THISFORM.aForms) DO FORM Multi ; NAME THISFORM.aForms[nInstance] ; LINKED DIMENSION ; THISFORM.aForms[nInstance + 1]

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

Форма, которая может иметь множество экземпляров определена в файле Multi.scx. Среда данных этой формы содержит таблицу Employee.

Множество экземпляров Multi.scx
FoxPro Launch Form Multiples

Надписи на рисунке (слева-направо и сверху вниз)
Надпись на форме слева: Щелкните по кнопке Launch Forn для запуска другого экземпляра формы
Надпись справа от двух форм: Каждый экземпляр формы обслуживает свои данные независимо

Установки свойств для Multi.scx
Объект | Свойство | Установка
txtFirstname | ControlSource | Employee.first_name
txtLastName | ControlSource | Employee.last_name
frmMulti | DataSession | 2 - Private Data Session

Когда вы щелкаете по Launch Form в форме Launcher, создается экземпляр формы Multi. Когда вы закрываете форму Launcher, свойство-массив aForms уничтожается и все экземпляры Multi также уничтожаются.

Visual FoxPro обеспечивает некоторые функции и свойства, которые помогают вам управлять множеством экземпляров объектов. Для получения более подробной информации смотрите описания Функция AINSTANCE(), Функция AUSED() и Свойство DataSessionID.

Смотрите также

Задачи

Как: сохранить форму в формате HTML
Как: установить площадь дизайна для формы
Как: создавать формы с локальными и удаленными данными

Справочное руководство

Свойство DataSession

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Docking Forms

Visual FoxPro 9.0
Закрепление Форм
См. также

Вы можете закреплять формы таким же образом как и toolbar-ы. Тем не менее, в отличие от закрепляемых toolbar-ов, закрепляемые формы могут менять свои размеры, но только естественным образом. Например, если Вы закрепляете форму к правому краю экрана, ширина формы не изменяется.

Вы можете использовать для пользовательской фрмы относительно главного окна Visual FoxPro Link-закрепление или Tab-закрепление. Форма Link-закреплена к другой форме когда они образуют один контейнер. Форма Tab-закреплена к другой форме когда для активации каждой из форм необходимо выполнить соответстствующий клик (click). Пока форма закрепляется ее элементы управления находятся в фокусе. Когда форма закрепляется относительно границ главного окна Visual FoxPro заголовок формы имеет половинную высоту.

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

Когда форма закрепляется, Visual FoxPro вызывает событие Resize формы. См. также Событие Resize .

Когда свойство формы Visible установливается в .F. (False), Visual FoxPro автоматически открепляет форму и скрывает ее. Когда свойство формы Visible устанавливается в .T. (True), Visual FoxPro пытается восстановить закрепление формы в исходной позиции, если это возможно. См. также Свойство Visible .

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

  • Функция ADOCKSTATE( )

  • Событие AfterDock

  • Событие BeforeDock

  • Метод Dock

  • Свойство Dockable

  • Свойство Docked

  • Метод GetDockState

  • Свойство UnDock

См.также

Задачи

How to: Закрепление Форм
How to: Закрепление Toolbar-ов
How to: Определение свойств в режиме Run-Time

Другие ссылки

Работа с Формами
Создание Форм
Корректировка Форм

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Dock Forms

Visual FoxPro 9.0
Как: стыковать формы
Смотрите также

Вы можете стыковать определенные пользователем формы к определенным окнам интерфейса Visual FoxPro или к другим формам.

Для стыковки формы

  1. Откройте форму в дизайнере форм - Form Designer.

  2. В окне Properties установите значение свойства Dockable в 1.

  3. Сохраните и запустите форму.

  4. Перетащите форму в область стыковки целевого окна или формы.

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

Для получения более подробной информации, смотрите Дизайнер форм и Свойство Dockable.

Для стыковки формы программным способом

  1. В коде, установите значение свойства формы Dockable в 1.

  2. Установите свойство формы Visible в .T. (True).

  3. Вызовите метод формы Dock с подходящим значением.

Для получения более подробной информации, смотрите Свойство Visible (Visual FoxPro) и Метод Dock.

Для расстыковки формы

  • Выберите одно из приведенного ниже:

    • Оттащите формы от окна или формы, с которыми она была состыкован.

    -или-

    • Вызовите метод формы Dock с подходящим значением.

    -или-

    • Установите свойство формы Dockable в значение 2 или 0.

Смотрите также

Задачи

Как: установить свойства в Run Time

Прочие ресурсы

Работа с формами
Создание форм
Настройка форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Forms with Local and Remote Data

Visual FoxPro 9.0
Как: создавать формы для работы с локальными и удаленными данными
Смотрите также

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

Например, если ваше приложение Visual FoxPro представляет собой "front end" для большой таблицы потребителей, хранящейся на сервере баз данных, вы можете создать локальный файл .dbf, который будет содержать небольшое, но представительное количество образцовых данных. Затем вы можете создать, протестировать и отладить ваши формы, основанные на этом небольшом количестве данных. Когда вы будете готовы распространять ваше приложение, вы просто свяжете ваши формы с большим набором данных.

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

Для создания формы, которая может переключаться между локальными и удаленными данными

  1. Создайте два представления данных, одно из которых будет указывать на удаленные данные, другое - на локальные.

  2. Создайте новую форму.

  3. Откройте Конструктор Data Environment формы и добавьте оба представления.

  4. Вызовите контекстное меню Data Environment Designer и выберите в нем Properties.

  5. В окне Properties(Visual FoxPro) установите свойство Alias Property для обоих курсоров в одно и то же имя.

  6. Установите свойство OpenViews либо в 1 — Local Only, либо в 2 — Remote Only, в зависимости от представления, с которым вы желаете работать при запуске формы.

    Note Замечание

    Поскольку оба представления используют одно и тоже псевдоимя, не устанавливайте значение свойства в 0 — Local and Remote (по умолчанию).

  7. Введите в форму элементы управления и установите их свойства ControlSource в соответствующие поля представления. Поскольку оба представления имеют одно и то же псевдоимя, элементы управления будут одинаково работать обоими представлениями, и, разумеется с тем, которое будет активно при запуске формы.

После создания формы, вы можете переключится между представления изменением свойства OpenViews. ВЫ можете сделать в это в Data Environment формы, открытой в Конструкторе Form. Или, вместо этого, вы можете написать программный код и подключить его к событию, которое полезно в случае, когда вы переключаете представления в run time. Например, вы можете вложить приведенный ниже программный код в событие Activate формы:

CopyCode image Скопировать код
THISFORM.DataEnvironment.OpenViews = 2 && Использовать удаленное представление

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

CopyCode image Скопировать код
SKIP 1
THISFORM.Refresh()

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

Решением является использование параметризованного представления. Например, определение для представления, используемого для редактирования информации о потребителе может быть таким:

CopyCode image Скопировать код
SELECT * FROM CUSTOMERS WHERE ;
 CUSTOMERS.COMPANY_NAME = ?pCompanyName

При запуске формы, вы можете запросить пользователя выбрать имя потребителя, используя диалоговое окно, или позволить пользователю ввести имя потребителя в текстовом боксе. Код для командной кнопки Display должен тогда выглядет аналогично приведенному ниже:

CopyCode image Скопировать код
pCompanyName = THISFORM.txtCompanyName.Value
REQUERY("customer")
THISFORM.Refresh()

Для получения более подробной информации смотрите описание задачи Как: создать параметризованные представления.

Смотрите также

Задачи

Как: установить площадь дизайна для форм
Как: установить шаблоны формы

Справочное руководство

Конструктор Data Environment

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set the Design Area for a Form

Visual FoxPro 9.0
Как: установить площадь дизайна для формы
Смотрите также

Вы можете установить максимальную площадь дизайна для Конструктора форм (Form Designer) в диалоговом окне Опции (Options).

Для установки максимальной площади дизайна для формы

  1. В меню Инструменты (Tools) выберите Опции (Options).

  2. В диалоговом окне Опции (Options) выберите закладку Формы (Forms).

  3. В боксе Максимальная площадь дизайна (Maximum design area) выберите координаты, в пикселяхbox, для установки размера максимальной площади дизайна.

    Note Совет

    Если вы выберите Нет (None), Конструктор форм (Form Designer) не будет накладывать ограничения на размер разрабатываемой вами формы.

Для получения более подробной информации смотрите описание Закладка Формы (Forms) диалогового окна Опции (Options).

Когда вы устанавливаете максимальную площадь дизайна, то цвет фона внутри Конструктора форм, ограничивающий границы области дизайна будет белым, и серым, за границами области дизайна. Если вы разрабатываете приложение на мониторе с разерешением, наприммер, 1024 x 768, вы можете установить площадь вашего дизайна равным прямоугольнику с размерами 640 x 480 и, в таком случае вы будете гарантированы в том, что ваша разработка всегда поместиться на экранах с разрешением 640 x 480.

Внутри области дизайна, убедитесь, что есть место для размещения атрибутов стандартного окна, таких, как, например, панели инструментов. Например, в экране с разрешением 640 x 480, форма с полоской статуса и одной панелю инструментов, пристыкованная сверху или снизу экрана может иметь максимальную высоту в 390 пикселей.

Атрибуты главного окна Visual FoxPro | Необходимые размеры в пикселях (Окна не использующие темы Windows)
Титул и меню | 38
Полоска статуса | 23
Пристыкованная панель инструментов | 29

Замечание Требуемые размеры в пикселях могут варьироваться если используются темы Windows.

Смотрите также

Задачи

Как: управлять множеством экземпляров формы
Как: создавать формы с локальными и удаленными данными
Как: установить шаблоны формы

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using Form Templates

Visual FoxPro 9.0
Использование шаблонов форм
Смотрите также

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

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

Вы можете указать шаблоны наборов форм точно также, как вы можете установить шаблоны формы. Возможны приведенные ниже комбинации:

  • Указаны шаблоны как набора форм, так и формы.

    Выбор Form в диалоговом окне Новый (New) (и все другие способы создания новых форм) автоматически создаст набор форм, основанный на шаблоне класса набора форм. Когда вы выберите Добавить новую форму (Add New Form) из меню Форма (Form) при открытом Конструкторе форм (Form Designer), в набор форм будет добавлена форма, основанная на шаблоне вашей формы.

  • Указан только шаблон набора форм.

    Выбор Form в диалоговом окне Новый (New) (и все другие способы создания новых форм) автоматически создаст набор форм, основанный на шаблоне класса FormSet. Когда вы выберите Добавить новую форму (Add New Form) из меню Форма (Form) при открытом Конструкторе форм (Form Designer), в набор форм будет добавлена форма, основанная на базовом классе формы Visual FoxPro.

  • Указан только шаблон формы.

    Выбор Form в диалоговом окне Новый (New) (и все другие способы создания новых форм) автоматически создаст форму, основанный на шаблоне класса Form.

  • Не указан ни один шаблон.

    Когда вы выберите Добавить новую форму (Add New Form) из меню Форма (Form) (и все другие способы создания новых форм), то автоматически будет создана форма, основанная на базовом классе Form Visual FoxPro.

Для получения более подробной информации смотрите описание Как: установить шаблоны форм.

Смотрите также

Задачи

Как: создавать формы с локальными и удаленными данными
Как: сохранить форму в формате HTML
Как: установить площадь дизайна для формы
Как: управлять множеством экземпляров формы

Справочное руководство

Диалоговое окно Опции (Options) (Visual FoxPro)

Прочие ресурсы

Работа с формами
Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Form Templates

Visual FoxPro 9.0
Как: Задать Базовый Шаблон для создания Форм
См. также

Вы можете создать некоторый базовый (родительский) класс формы, который будет использоваться как Шаблон при дальнейшем создании других Форм, или вы можете использовать в качестве базового шаблона проостейшие классы системы Visual FoxPro. Дополнительную информацию можно посмотреть в разделе: Использование Шаблонов для создаваемых Форм.

Для определения текущего базового шаблона для создаваемых Форм используется системный диалоговый бокс Options dialog box. Если никакой базовый шаблон не опрелделен - то используется базовый класс Visual FoxPro Form . Дополнительную информацию о базовых классах Visual FoxPro смотрите в разделе: Объектно-ориентированное Программирование.

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

Для определения текущего Шаблона для создаваемых Форм:

  1. Из системного меню Tools, выберите пункт Options.

  2. В открывшемся диалоговом боксе Options, активируйте закладку Forms.

  3. В соответствующей области данных Template classes, установите отметку Form.

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

  4. Выполните команду Set as Default, если вы желаете использовать выбранный шаблонный класс формы в последующих сеансах работы с системой Visual FoxPro.

  5. Выполните командную кнопку OK.

См. также

Задачи

Как: Создавать Формы для обработки Локальных и Удаленных Данных
Как: Сохранить Форму в файле типа .HTML
Как: Задать размер области Разработки для Дизайнера Форм
Как: Управлять несколькими экземплярами Формы

Описание

Options, диалоговый бокс (Visual FoxPro)

Другие ссылки

Работа с Формами
Создание Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Save Forms

Visual FoxPro 9.0
Как: Сохранить Форму
См. также

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

Для сохранения разработанной (откорректированной) формы:

  • В системном окне Дизайнера Форм, выберите пункт Save из системного меню File. Данная форма будет сохранена в указанное вами место, в файле с расширением .scx (плюс дополнительный файл .sct).

Сохранение Форм и Контролов в качестве Классов библиотек

Вы можете также сохранить форму, или некоторое подмножество Контролов в форме, как определение класса. Если Вы в дальнейшем планируете создавать подклассы, основанные в форме или использовать Контролы в других формах, сохраните форму как определение класса.

Для сохранения Формы или некоторого набора Контролов в виде определения Класса:

  1. Из системного меню File, выберите пункт Save As Class.

  2. В открывшемся, соответствующем Save As Class, диалоговом боксе, выберите требуемый вариант: Current form / Selected controls.

  3. В текстовом боксе Name, введите имя создаваемого Класса.

  4. В текстовом боксе File, введите имя файла библиотеки классов, в которой сохраняется данный Класс.

  5. Нажмите кнопку OK.

Если вы не указываете расширение для файла библиотеки классов (filename), по-умолчанию раширение = .vcx (плюс файл с расширением .vct). Как только форма сохранена в виде определения некоторого класса, вы можете использовать команду MODIFY CLASS для корректировки рассматриваемого класса. Дополнительную информацию о создании классов смотрите в разделе: Объектно - Ориентированное Программирование.

См. также

Задачи

Как: Сохранить Форму в файле .HTML
Как: Изменить программный код события или Метода
Как: Выполнить Форму
Как: Определять значение Свойства в режиме Run Time
Примеры манипулирования Объектами

Другие ссылки

Создание Форм
Работа с Формами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Save a Form as HTML

Visual FoxPro 9.0
Как: Сохранить форму в формате HTML
См. также

Для сохранения вашей формы в формате HTML (Hypertext Markup Language) Вы можете выполнить пункт Save As HTML из меню File.

Для сохранения формы в формате HTML

  1. Откройте вашу форму (в дизайнере форм или классов).

  2. Выберите пункт Save As HTML в меню File. (Если выполнялись корректировки - то будет запрос на сохранения последних.)

  3. Введите имя фала HTML и нажмите кнопку Save.

См. также

Задачи

Как: Сохранить форму
Как: Передать параметры в Форму
Как: Управлять несколькими экземплярами Формы
Как: Определить область разработки для Формы
Как: Создать форму для локальных и удаленных данных

Другие ссылки

Создание Форм
Работа с Формами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Using Controls

Visual FoxPro 9.0
Использование Контролов (Элементов Управления)

Основным сценарием взаимодействия Пользователя с вашим Приложением является его интерактивное взаимодействие с Контролами ваших Форм. Например, нажимая на командные кнопки, вводя информацию, выполняя навигацию по Спискам и Таблицам Пользователь решает для себя различные информационные задачи, выполняет задачи Бизнеса. Система Visual FoxPro обеспечивает разнообразным спектром элементов управления (Контролами), позволяющими решать самые разнообразные информационные Задачи пользователя. В следующем списке приводятся основные Задачи, которые можно решить с помощью Контролов:

  • Предоставить Пользователю несколько вариантов Выбора.

  • Принять от Пользователя блок информации, которая еще не известна (predetermined).

  • Обеспечить ввод информации из заданного Диапазона.

  • Позволить пользователю выполнять специфические Операции.

  • Обеспечит периодическое выполнение некоторых операций (через интервалы времени).

  • Отображать результаты выполняемых Операций.

Например, вы можете спроектировать заполнение Базы Данных таким образом, чтобы тщательно проконтролировать вводимую информацию. Для обеспечения вариантного ввода информации вы можете использовать следующие виды Контролов (Элементов Управления):

  • Option buttons или Option Button Groups.

  • List box или Combo box.

  • Check box.

  • Spiner.

Тем не менее, вы должны использовать несколько вариантов разнообразных Конролов, выполняющих одну и ту же задачу, но разными путями; или типизировать выполнение одним Контролом часто выполняемой Задачи. Пользователь должны постепенно осваивать предлагаемые им механизмы взаимодействия с вашим Приложением. Например, Контрол Label может содержать такую же выполняемую функцию, как и Командная кнопка, эти оба контрола имеют согответствующие События Click; Однако, обычно опытные пользователи не нажимают на Контрол Label (этикетка) в ожидании выполнения соответствующих действий. Поэтому, пользователь должен следовать (как и вы, - разработчик) стандартным принципам: Label - информационный Контрол, CommndButton - функциональный Контрол.

В данном Параграфе:

Контролы для отображения информационных Списков

Рассматриваются общие вопросы использования, Методы, свойства Контролов List box и раскрывающихся Списков (Combo Box).

Контролы для ввода Информации

Рассматриваются общие вопросы использования, Методы и свойства контролов Visual FoxPro, предназначенных для ввода разнообразной Информации.

Контролы для Отображения информационных фрагментов

Рассматриваются разнообразные Контролы Visual FoxPro, позволяющие отображать различные информационные блоки, таблицы, списки.

Контролы для манипулирования строками информации (Таблицами)

Описываются общие вопросы использования, Методы, События, Свойства контрола Visual FoxPro Grid.

Контролы для выполнения специфических Операций

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

Контролы для расширения функциональности Форм

Рассматриваются контролы, такие как Page Frame, внешние объекты ActiveX, взаимодействие системы Visual FoxPro с внешними Приложениями.

Контролы и Концепции Данных

Рассматриваются вопросы раззличия некоторых Контролов, основанных на использовании разнообразных источников данных, определяемых свойством ControlSource, отображение данных в Списках и изменение данных в объектах Grid.

Создание Контролов, выполняющих функцию перетаскивания данных (Drag-and-Drop)

Рассматриваются два типа функциональных операций перетаскивания информационных объектов (drag-and-drop functionality), которые используются в приложениях Visual FoxPro, OLE- drag-and-drop и Control- drag-and-drop.

Как: Создавать Контролы, которые просты в использовании

Приводятся рекомендации, как использовать такие инструменты, как: "Горячие Клавиши", Закладки, свойства ToolTiptext, динамическое Включение или Отключение Контролов.

Связанные секции:

Создание Пользовательского Интерфейса

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

Создание Форм

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

Работа с Формами

После разработки и создания Формы, вы можете ее Загрузить, скрыть или использовать ее в других возможных вариантах.

Расработка Меню и Toolbars

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

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Controls for Displaying Lists

Visual FoxPro 9.0
Контролы для отображения Списков

Контролы ListBox и ComboBox применяются для отображения и выбора различных элементов данных как списков, сгруппированных в боксы; эти боксы имеют полосу скролинга, с помощью которой можно просматривать и выбирать данные из всего списка элементов; в текущий момент в данном боксе списка может отображаться только часть списка. В контроле ListBox отолбражается несколько имеющихся элементов общего списка, но он может занимать достаточно большое место на Форме; в контроле ComboBox, отображается только один, текущий элемент из списка, но данный список может быть открыт специальной стрелкой, расположенной справа от отображенного элемента; данный контрол занимает на форме значительно меньше места, а информативно аналогичен контролу ListBox.

Note Совет

Для того, чтобы подчеркнуть, выделить для пользователя весь список имеющихся элементов, используйте контрол ListBox, если вам необходимо сэкономить место на форме, то можно использовать для выбора имеющихся элементов контрол ComboBox.

Для привязки источников данных к рассматриваемым спискам, для автоматического заполнения списков данных контролов, используйте установки свойств RowSourceType и RowSource. См. дополнительно раздел Как: Выбрать тип источника данных для контролов ListBox и ComboBox.

Имеется достаточное количество Примеров по построению пользовательских списков. См. приложение Solution.app, в соответствующем подкаталоге системы Visual FoxPro, ...\Samples\Solution.

В данном Разделе

Как: Выбрать тип источника данных для списков в контролах ListBox и ComboBox

Приводятся варианты определения типов источников данных для заполнения списков в контролах ListBox и ComboBox.

Как: Создать многоколоночный список в контроле ListBox

Описывается, как можно создать многоколоночный список для указанного Контрола.

Как: Обеспечить выбор нескольких элементов в контроле List Box

Объясняется, как настроить данный контрол для выбора нескольких элементов.

Как: Обеспечить добавление новых элементов в список контрола List Box

Описывается, как интерактивно добавлять новые элементы в список, с помощью метода AddItem.

Как: Обновлять содержание Списков, построенных из нескольких таблиц, при связях "один-ко-многим".

Приводятся рекомендации по построению списков, построенных из нескольких таблиц, имеющих связи "один-ко-многим" или при использовании в виде источников данных удаленные Представления.

Как: Отобразить записи дочерней таблицы в контроле ListBox

Объясняется, как отобразить записи из дочерней таблицы в контроле Списка.

Как: Добавить картинки к элементам списка в контроле ListBox

Приводятся рекомендации по использованию картинок для различных элементов списков.

Связанные Секции

Использование Контролов

Контролы (элементы управления) обеспечивают интерактивное взаимодействие Пользователя и Приложения. Система Visual FoxPro обладает широким ассортиментом контролов для эффективного построения пользовательского интерфейса в ваших Приложениях.

Контролы и Объекты, созданные в младших версиях VFP

Приводятся особенности поведения Конитролов, созданных в младших версиях систем FoxPro, а также приводятся нововведения данной версии Visual FoxPro относительно элементов управления (контролов).

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Choose the Type of Data for a List or Combo Box

Visual FoxPro 9.0
Как: выбрать тип данных для элементов управления ListBox или ComboBox
Смотрите также

Когда вы желаете заполнить списки элемента управления ListBox или ComboBox элементами или значениями, установите его свойство RowSource для указания источника элементов или значений, а также установите свойство RowSourceType для идентификации типа источника данных такого, как, например, массив или таблица.

Note Совет

Рекомендуется, чтобы вы устанавливали свойство RowSourceType до установки свойства RowSource для определения источника, который может быть использован элементом управления. Для гарантии того, что элемент управления отображает наиболее свежие элементы или значения, используйте метод Requery в событии Init, например, This.Requery().

Note Замечание

Когда вы устанавливаете значение свойства RowSource в программном коде, вы должны заключить значение в кавычки ("").

Когда свойство ColumnCount установлено в 0 или 1, элемент управления отображает первый элемент или значение только в одной колонке. В противном случае, элемент управления отобразит каждый элемент или значение в колонках, число которых определяется ColumnCount. Вы можете, кроме того, установить свойство ColumnWidths для увеличения ширины элемента управления с тем чтобы правильно отобразить элементы списка или значения.

В этой статье содержатся примеры, которые показывают способы, с помощью которых вы можете установить RowSourceType и RowSource в зависимости от выбранного вами источника значений. Ниже приведен список возможных типов источника данных для списка:

  • No Source Type (Без источника)

  • Value Source Type (Значение)

  • Alias Source Type (Псевдоимя)

  • SQL Statement Source Type (SQL предложение)

  • Query Source Type (Запрос)

  • Array Source Type (Массив)

  • Fields Source Type (Поля)

  • Files Source Type (Файлы)

  • Field Structure Source Type (Структура полей)

  • Pop-Up Source Type (Список)

  • Collection Source Type (Коллеция)

  • Different Source Types (Другие)

Детальное описание типов источников данных, источниках, которые вы можете указать, и то, как ColumnCount влияет на заполнение списка элемента управления для каждого типа источника приведено в описаниях свойств RowSourceType и RowSource.

С целью детального изучения вместе с Visual FoxPro поставляются перечисленные ниже примеры, в которых используются свойства RowSourceType и RowSource:

  • Образец: добавление новых элементов в ComboBox

  • Образец: как пользователь может выбрать значение списка

  • Образец: перемещение элементов между элементами управления ListBox

  • Образец: интерактивное открытие множества файлов

Без источника

Вы можете заполнить список элемента управления Listbox или Combobox не указывая источник или тип источника.

Для заполнения элемента управления без указания источника

  1. Установите свойство RowSourceType в значение 0 - None (Нет).

    None представляет собой значение по умолчанию и не производит автоматического заполнения элемента управления.

  2. Используйте методы AddItem, AddListItem, свойства List или ListItem для ввода значений или элементов в элемент управления.

Например, приведенные ниже строки кода устанавливают RowSourceType в 0 для указания, что источника нет и для добавления трех элементов в listbox с именем lstMyListBoxmethod, расположенный на форме с именем frmForm1, использует метод AddItem

CopyCode image Скопировать код
frmForm1.lstMyListBox.RowSourceType = 0
frmForm1.lstMyListBox.AddItem("First Item")
frmForm1.lstMyListBox.AddItem("Second Item")
frmForm1.lstMyListBox.AddItem("Third Item")

Listbox отображает элементы "First Item", "Second Item" и "Third Item". Для получения более подробной информации смотрите Метод AddItem (Visual FoxPro), Метод AddListItem, Свойство List и Свойство ListItem.

Для удаления элементов из списка, используйте метод RemoveItem. Например, следующая строка кода удаляет второй элемент , "Second Item", из listbox:

CopyCode image Скопировать код
frmForm1.lstMyListBox.RemoveItem(2)

Для получения более подробной информации смотрите Метод RemoveItem.

Тип источника - Значение

Вы можете заполнить элемент управления listbox или combobox списком индивидуальных значений.

Для заполнения элемента управления списком индивидуальных значений

  1. Установите свойство RowSourceType в значение 1 (Value - Значение).

  2. Установите свойство RowSource указанием значений в виде разделенного запятыми списка, без использования пробелов между значениями и запятыми.

Например, приведенные ниже строки кода устанавливают RowSourceType в 1 для указания, что источник представляет собой разделенный запятыми список значений и указывает список разделенных запятыми значений, заключенный в кавычки ("") для свойства RowSource:

CopyCode image Скопировать код
Form1.lstMyList.RowSourceType = 1
Form1.lstMyList.RowSource = "one,two,three,four"

Тип источника - Alias

Вы можете заполнить элемент управления listbox или combobox значениями из одного или более полей в открытой таблице указанием ее псевдоимени.

Для заполнения элемента управления значениями из одного или более полей с помощью псевдоимени таблицы

  1. Установите свойство RowSourceType в значение 2 (Table alias - Псевдоимя таблицы).

  2. Укажите в свойстве RowSource псевдоимя таблицы.

Например, приведенные ниже строки кода устанавливают RowSourcetype в 2 для указания, что в качестве источника будет использоваться таблица, идентифицируемая по ее псевдоимени Customers, и указывают "Customers" в качестве псевдоимени таблицы для свойства RowSource:

Note Совет

Перед исполнением кода убедитесь, что таблица открыта.

CopyCode image Скопировать код
OPEN DATABASE (HOME(2)+"Northwind\Northwind")
Form1.lstMyList.RowSourceType = 2
Form1.lstMyList.RowSource = "Customers"

Свойство ColumnCount определяет число полей, которые будут использоваться для заполнения списка элемента управления значениями. Когда ColumnCount установлено в 0 или 1, элемент управления отображает значения из первого поля в таблице. Когда ColumnCount установлено в значение большее чем 1, элемент управления отображает значения из полей таблицы начиная с первого и вплоть до номера, указанного в ColumnCount. Например, если свойство ColumnCount установлено в 3, элемент управления отображает значения из первых трех полей таблицы.

Note Замечание

Когда RowSourceType равен 2 (Table alias - Псевдоимя таблицы) или 6 (Fields - Поля), указатель записи таблицы перемещается к записи, содержащей значение выбранное пользователем в списке.

Тип источника - SQL Statement

Вы можете заполнить элемент управления listbox или combobox значениями курсора или таблицы, созданных предложением SQL, таким, как SQL SELECT.

Для заполнения элемента управления значениями из предложения SQL

  1. Установите свойство RowSourceType в значение 3 (SQL statement).

  2. Установите RowSource, указав предложение SQL SELECT.

Note Совет

По умолчанию в Visual FoxPro, предложения SQL SELECT без ключевого слова INTO немедленно отображают результирующий курсор в окне просмотра (browse window). Для получения более подробной информации смотрите Browse Window. Советуем вам включить опцию INTO CURSOR в вашем предложении SQL SELECT для того, чтобы избежать отображения окна просмотра.

Например, приведенные ниже строки кода устанавливают свойство RowSourceType в значение 3, что указывают, что источником данных является курсор или таблица, созданная предложением SQL и определяют предложение SQL SELECT для свойства RowSource, которое выберет все поля и все записи из таблицы Customers, размещенной в образцовой базе данных Northwind ( в каталоге ..\Samples\Northwind), в курсор с именем myCursor:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2)+"Northwind\Northwind")
Form1.lstMyList.RowSourceType = 3
Form1.lstMyList.RowSource = "SELECT * FROM Customers INTO CURSOR myCursor"

Для получения более подробной информации о предложениях SQL SELECT смотрите Команды SELECT - SQL.

Тип источника - Query

Вы можете заполнить элемент управления Listbox или Combobox результатами из запроса, который вы могли создать в Конструкторе запроса (Query Designer) и сохранить в файле запроса (.qpr). Для получения более подробной информации о запросах смотрите Конструкторы запроса и представления (Query and View Designers) и Как: создавать запросы (Visual FoxPro).

Для заполнения элемента управления значениями из запроса

  1. Установите свойство RowSourceType в значение 4 (Query file - Файл запроса).

  2. Установите свойство RowSource, указав имя файла запроса .qpr, включая, по необходимости, путь.

    Note Замечание

    Убедитесь, что включили в имя файла расширение .qpr. Однако, если вы не укажите расширения файла, Visual FoxPro подразумевает в этом случае расширение .qpr.

Например, приведенные ниже строки кода устанавливают свойство RowSourceType в значение 4, что указывает, что источником данных является файл .qpr и определяют имя .qpr файла для свойства RowSource:

CopyCode image Скопировать код
Form1.lstMyList.RowSourceType = 4
Form1.lstMyList.RowSource = "MyQuery.qpr"

Тип источника - Array (Массив)

Вы можете заполнить элемент управления listbox или combobox элементами или значениями, хранящимися в массиве. Вы можете создать массив в любом месте своего приложения или создать массив в виде свойства формы или набора форм для последующего указания его в свойстве RowSource. Для получения более подробной информации о массивах смотрите Массивы. Для получения более подробной информации о создании свойства-массива смотрите Создание форм.

Для заполнения элемента управления из массива

  1. Установите свойство RowSourceType в значение 5 (Array).

  2. Установите свойство RowSource, указав имя массива.

Например, приведенные ниже строки кода создают массив из 10-ти элементов, сохраняют в массиве значения, устанавливают значение свойства RowSourceType в 5, что указывает, что источником данных является массив, и указывают имя массива в свойстве RowSource:

CopyCode image Скопировать код
DIMENSION gaMyArray(10)
FOR gnCount = 1 to 10
   STORE gnCount TO gaMyArray(gnCount)
NEXT
Form1.lstMyList.RowSourceType = 5
Form1.lstMyList.RowSource = "gaMyArray"
Note Замечание

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

Например, если вы создаете локальный массив в методе, область видимости этого массива относится к методу, то есть он не будет доступен во всех случаях, когда Visual FoxPro требуется оценить установку свойства. Если вы установили свойство RowSource в свойство-массив формы или набора форм, вам нужно ссылаться на свойство относительно элемента управления, но не метода, в котором вы установили свойство. В качестве примера, предположим, что у вас имеется форма со свойством-массивом с именем arrayProp и приведенные ниже строки кода размещены в событии Init формы. Первая строка кода произведет ошибку, тогда как вторая строка не вызовет ошибки:

CopyCode image Скопировать код
THIS.lst1.RowSource = "THIS.arrayprop"
THIS.lst1.RowSource = "THISFORM.arrayprop"

Тип источника данных - Fields (Поля)

Вы можете заполнить элемент управления listbox или combobox значениями из полей одиночной таблицы. В противовес случаю, когда RowSourceType установлен в 2 (Table alias - Псевдоимя таблицы), установка RowSourceType в 6 (Fields - Поля) дает возможность отображать поля независимо от их реального расположения в таблице.

Note Совет

Если вы желаете заполнить элемент управления полями из множества таблиц, установите RowSourceType в 3 и укажите а качестве источника для RowSource предложение SQL SELECT.

Для заполнения элемента управления полями из одиночной таблицы

  1. Установите свойство RowSourceType в значение 6 (Fields - Поля).

  2. Установите RowSource указанием поля или разделенным запятыми списка полей.

    Если таблица открыта, вы можете указать RowSource следующим образом:

    CopyCode image Скопировать код
    Form1.lstMyList.RowSource = field1
Form1.lstMyList.RowSource = field2, field3, ...

    Если таблица еще не открыта, предварите поле или список полей псевдоименем таблицы и точкой(.), например:

    CopyCode image Скопировать код
    Form1.lstMyList.RowSource = TableAlias.field1
Form1.lstMyList.RowSource = TableAlias.field1, field3, field2, ...

Например, приведенные ниже строки кода открывают таблицу, устанавливают RowSourceType в 6, что указывает, что в качестве источника используются поля, и указывают для RowSource поля из таблицы Products в базе данных Northwind, расположенной в каталоге ..\Samples\Northwind:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2)+"Northwind\Northwind")
USE Products
Form1.lstMyList.RowSourceType = 6
Form1.lstMyList.RowSource = "productname, productid"

Приведенные ниже строки кода указывают поля из таблицы Customers, которая не открыта:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2)+"Northwind\Northwind")
Form1.lstMyList.RowSourceType = 6
Form1.lstMyList.RowSource = "Customers.companyname, customerid"

Тип источника - Files (Файлы)

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

Для заполнения элемента управления именами файлов из каталога

  1. Установите свойство RowSourceType в значение 7 (Files - Файлы).

  2. Установите RowSource указанием скелета файла или маски, такими как *.* или *.расширение_имени_файла.

Например, приведенные ниже строки кода установят RowSourceType в 7 и укажут скелет файла для RowSource:

CopyCode image Скопировать код
Form1.lstMyList.RowSourceType = 7
Form1.lstMyList.RowSource = "*.*"

Тип источника - структура полей

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

Для заполнения элемента управления списком полей из таблицы

  1. Установите свойство RowSourceType в значение 8 (Field structure).

  2. Установите RowSource указанием имени или псевдоимени таблицы.

Например, приведенные ниже строки кода RowSourceType в 8 для указания, что заполнения будет использоваться структура полей и укажут имя таблицы для RowSource:

CopyCode image Скопировать код
Form1.lstMyList.RowSourceType = 8
Form1.lstMyList.RowSource = "Customers"

Тип источника - Pop-Up

Включено для совместимости назад; установка RowSourceType в 9 (Pop-up) предоставляет возможность заполнить listbox или combobox из определенных ранее pop-up или menu.

Для заполнения элемента управления pop-up menu

  • Установите свойство RowSourceType в значение 9 (Pop-up).

Тип источника - Collection (Коллекция)

Вы можете заполнить элемент управления listbox или combobox членами и значением свойств объектов в коллекции или объектами Collection.

Для заполненния элемента управления членами коллекции

  1. Установите свойство RowSourceType в значение 10 (Collection).

  2. Установите RowSource указанием имени коллекции.

Например, приведенные ниже строки кода создадут коллекцию и две формы, введут формы и три строки в коллекцию, установят RowSourceType в значение 10, для указания, что в качестве типа источника используется объект Collection и укажут имя коллекции и свойства объекта коллекции в свойстве RowSource:

CopyCode image Скопировать код
colMyCollection=CREATEOBJECT("Collection")
frm1=CREATEOBJECT("Form")
frm2=CREATEOBJECT("Form")
colMyCollection.Add(frm1)
colMyCollection.Add(frm2)
colMyCollection.Add("Item 1")
colMyCollection.Add("Item 2")
colMyCollection.Add("Item 3")
Form1.lstMyList.RowSourceType = 10
Form1.lstMyList.RowSource = "colMyCollection, Caption, Name"

Различные типы источников

Вы можете заполнить элемент управления listbox или combobox элементами из различных источников.

Для заполнения элемента управления из различных источников

  • Смотрите описание образца Заполнение списка значениями из различных источников данных.

Смотрите также

Концепции

Элементы управления для отображения списков
Элементы управления и объекты, созданные в ранних версиях

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Multicolumn List Boxes

Visual FoxPro 9.0
Как: создавать многоколонные элементы управления класса ListBox
Смотрите также

Хотя по умолчанию число колонок в listbox равно одной, listbox в Visual FoxPro может содержать столько колонок, сколько вам требуется. Многоколонный listbox отличается от элемента управления класса grid тем, что вы выбираете целую строку в многоколонном listbox, тогда как в grid вы можете выбрать индивидуальную ячейку и, кроме того, данные в списке не могут редактироваться непосредственно.

Для отображения множества колонок в listbox

  1. Установите свойство ColumnCount в желаемое число колонок.

  2. Установите свойство ColumnWidths. Например, если вы определили для listbox три колонки, то приведенная ниже команда установит их ширину равной соответственно 10, 15 и 30:

    CopyCode image Скопировать код
    THISFORM.listbox.ColumnWidths = "10, 15, 30"

  3. Установите свойство RowSourceType в значение 6 - Fields.

  4. Установите свойство RowSource в имена полей, которые будут отображены в колонках.

    Note Замечание

    Для корректного выравнивания колонок, вам необходимо либо установить значение свойства ColumnWidths или изменить значение свойства FontName в моноширинный шрифт (например, в Courier). Свойство FirstElement для элементов управления ListBox и ComboBox игнорируется для многоколонных списков.

Когда свойство RowSourceType списка установлено в 0 - None (Не определено), вы можете использовать метод AddListItem для ввода элементов в многоколонный listbox. Например, приведенный ниже пример кода добавляет текст в конкретную колонку в listbox:

CopyCode image Скопировать код
THISFORM.lst1.ColumnCount = 3
THISFORM.lst1.Columnwidths = "100,100,100"
THISFORM.lst1.AddListItem("row1 col1", 1,1)
THISFORM.lst1.AddListItem("row1 col2", 1,2)
THISFORM.lst1.AddListItem("row1 col3", 1,3)
THISFORM.lst1.AddListItem("row2 col2", 2,2)

Смотрите также

Концепции

Элементы управления для отображения списков
Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Allow Users to Select Multiple Items in a List Box

Visual FoxPro 9.0
Как: позволить пользователю выбрать множество предметов из элемента ListBox
Смотрите также

Поведение, используемое по умолчанию для списка, позволяет выбрать только один предмет. Вы можете, однако, сделать возможным для пользователя выбрать множества предметов..

Для обеспечения выбора множества предметов из списка

  • Установите свойство списка MultiSelect в значение (.T.).

Для обработки выбранных предметов, скопируйте их в массив, или внедрите их еще где-нибудь в вашем приложении, проходя по списку предметов и обрабатывая те, у которых свойство Selected равно (.T.). Приведенный ниже код должен быть включен в процедурных код события InteractiveChange элемента listbox для отображения выбранного списка в combobox, cboSelected, а число выбранных предметов - в textbox, txtNoSelected:

CopyCode image Copy Code
nNumberSelected = 0  && переменная, для накопления числа выбранных предметов
THISFORM.cboSelected.Clear && очистить combo box
FOR nCnt = 1 TO THIS.ListCount
   IF THIS.Selected(nCnt)
      nNumberSelected = nNumberSelected + 1
      THISFORM.cboSelected.Additem (THIS.List(nCnt))
   ENDIF
ENDFOR
THISFORM.txtNoSelected.Value = nNumberSelected

Смотрите также

Концепции

Управляющие элементы, для отображения списков
Управляющие элементы и объекты, созданные в ранних версиях

Прочие ресурсы

Использование управляющих элементов (Controls)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Allow Users to Add Items to a List Box

Visual FoxPro 9.0
Как: Разрешить Пользователю Добавлять Элементы в список List Box
См. также

Вы можете обеспечить интерактивное Добавление Элементов в Списки.

Для обеспечения интерактивного добавления элементов в Список:

  • Рекомендуется использовать метод Контрола AddItem.

В представленном далее примере, когда пользоыватель нажимает клавишу ENTER, при активном Контроле TextBox, в соответствующем программном Коде События KeyPress данного Контрола, рекомендуется разместить Код, который добавляет новый элемент в Список, и стирает добавленное значение в текстовом поле:

CopyCode image Копировать Код
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode = 13 && Enter Key
 THISFORM.lstAdd.AddItem(This.Value)
 THIS.Value = ""
ENDIF

Вы можете обеспечить возможность ввода данных из Списка в некоторую Таблицу. Если значение свойства ControlSource установлено на некоторое Поле, пользователь может выбирать требуемые Значения из имеющихся вариантов, которые уже сохранены в Списке. Описанный подход обеспечивает простейший механизм контроля ввода данных в новые Записи Таблицы (из имеющихся вариантов). Когда пользователь вводит в список новое значение, которое неприемлемо, по каким-либо причинам, оно может быть отвергнуто. Смотрите Программный код выше, где можно добавить контролирующий программный Код.

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

Для реализации описанной выше Технологии "выборочного ввода" информации для новых или корректировки уже имеющихся Записей Таблицы, когда значение некоторого поля Таблицы выбирается из фиксированного Списка, можно использовать несколько вариантов построения указанных Списков. Например, для определения имени Клиента из общего списка Клиентов. Когда пользователь выбирает из списка требуемого Клиента, данная информация загружается в соответствующее текстовое поле и отображается на Форме. Для реализации вышеупомянутых Списков можно использовать несколько возможных вариантов.

RowSourceType Выборка соответствующих Записей Таблиц

2 - Алиас,

6 - Поле

Когда пользователь выбирает новое значение из представленного Списка, указатель Записи автоматически перемещается на соответствующую Запись в таблице. При выполнении метода THISFORM.Refresh в Коде События InteractiveChange обновляются текущие значения Контролов на Форме.

0 - Отсутствует,

1 - Значение,

3 - опер-р SQL,

4 - Запрос QPR,

5 - Массив

В программном Коде события InteractiveChange, выбирается соответствующая Таблица, выполняется Поиск требуемого значения. Например, если свойство RowSource содержит идентификатор Клиента из таблицы Customer, рекомендуется использовать следующий Код:

CopyCode image Копировать Код
SELECT customer
LOCATE FOR THIS.Value = cust_id
THISFORM.Refresh

См. также

Концепции

Контролы для отображения Списков данных
Контролы и Объекты, созданные в младших версиях Visual FoxPro

Другие ссылки

Использование Контролов (Элементов управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Refresh a One-to-Many Display Based on a List Value

Visual FoxPro 9.0
Как : Обновить отображение Списков Записей при активном Отношении "Один-ко-Многим"
См. также

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

Для локальных Таблиц. В списках (ListBox) для свойства RowSourceType устанавливается значение = 2 - Алиас, или = 6 - Поле, для значения свойства RowSource устанавливается имя требуемого Поля из локальной Таблицы, на основе которого построено Отношение в соответствующем объекте среды данных (Data Environment), при указании команды THISFORM.Refresh в программном коде События InteractiveChange - обновляется дочерняя Таблица, а вместе с ней и Список. Во втором Списке, для дочерней таблицы, источник данных автоматически отбирает только привязанные Отношением Записи, которые и отражаются в Списке.

Для Представлений. Обновление Списков Записей из Таблиц, связанных отношением типа "Один-ко-Многим", где для свойства RowSource указано Локальное или Удаленное Представление, несколько отличается от описанного выше варианта. Далее описывается некоторый пример, где для отображения связанных Таблиц используются Контролы: ListBox и Grid. Список основан на поле с именем cust_id из соответствующей Таблицы TESTDATA!Customer. В контроле Grid отображаются Ордера, связанные по данному полю cust_id, которое выбранно в первом Списке.

Сначала, в Дизайнере Представления создается параметризованное Представление для Ордеров (на базе Таблицы Orders). При создании Представления, для критерия отбора записей указывается один из Ключей (индексов) Таблицы, который приравнивается к некоторой переменной m.cCust_id.

Парапметризация Представления с использованием Переменной:

Далее, при разработке формы, используйте следующие рекомендации. Используемое Представление не может быть загружено при начальной загрузке Формы, параметр Представления не определен. Для осуществления открытия Представления рекомендуется установить NoDataOnLoad, свойство в значение=True(.T.), тем самым; Представление не заполняется до тех пор,пока не выполнена Функция REQUERY( ), до того момента, пока Пользователь не выбрал значения Переменной, от которого зависит параметризация описанного Представления.

Для создания Списков, связанных Отношениями "Один-ко-Многим" для локальных и удаленных Представлений:

  1. Включите требуемую Таблицу и параметризованное Представление в объект Среда Данных Формы.

  2. В системном окне Properties (Свойства) для Курсора Представления, установите NoDataOnLoad = True (.T.).

  3. Для дочернего Списка установите значение свойства RowSourceType = 6 — Поля, а для свойства RowSource определите имя поля, которое параметризует рассматриваемое Представление.

    В нашем примере: RowSource = customer.cust_id.

  4. Установите значение свойства RecordSource Контрола Grid = имя рассмотренного Представления.

  5. В Программном Коде события InteractiveChange Контрола ListBox, требуется разместить следующий фрагмент, который уточняет параметр Представления, которое далее Обновляется.

    CopyCode image Копировать Код
     m.cCust_id = THIS.Value
     *assuming the name of the view is orders_view
     =REQUERY("orders_view")

Дополнительную информацию о Локальных и Удаленных Представлениях смотрите в разделе: Создание Представлений.

См. также

Концепции

Контролы для отображения Списков
Контролы и Объекты, созданные в младших версиях Visual FoxPro

Другие ссылки

Использование Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Display Child Records in a List

Visual FoxPro 9.0
Как: Отобразить "дочерние" записи в списке
См. также

Вы можете использовать контрол ListBox для отображения дочерних записей из установленной ранее связи типа "один-ко-многгим" между таблицам; при этом при перемещении указателя записи в родительской таблице будет изменяться содержание списка записей в дочерней таблице.

Для отображения дочерних записей в Списке

  1. Создайте на форме объект ListBox.

  2. Определите значение свойства ColumnCount для указания нескольких столбцов в создаваемом списке.

    Например, если Вам нужно обобразить столбцы Order_id, Order_net, и Shipped_on в создаваемом списке, то тогда ColumnCount = 3.

  3. Определите значение свойства ColumnWidths для задания размеров соответствующих столбцов.

  4. Определите значение свойства RowSourceType как = 3 (SQL Statement).

  5. Определите значение свойства RowSource для опреденления оператора SELECT. Например, в следующем операторе вычисляется необходимый курсор для задания содержания создаваемого списка при динамически изменяемом поле Cust_ID, связывающем две таблицы.:

    CopyCode image Копировать Код
    SELECT order_id, order_net, shipped_on from orders ;
       WHERE order.cust_id = customer.cust_id ;
       INTO CURSOR temp

  6. В коде События Init данной формы и в коде перемещения указателя записи в родительской таблицы нужно указатьб следующий оператор обновления содержания списка:

    CopyCode image Копировать Код
    THISFORM.lstChild.Requery

См. также

Задачи

Как: Использование элемента Check Boxes для указания Статуса (ON /OFF)

Concepts

Контролы для отображения списков
Контролы и Объекты, созданные в младших версиях

Другие ссылки

Использование Контролов

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Add Pictures to Items in a List

Visual FoxPro 9.0
Как: добавить картинки к элементам в списке
Смотрите также

Вы можете отображать рядом с элементами списка картинки.

Для отображения картинок рядом с элементами списка

  • Установите свойство Picture в файл графики для элемента управления "listbox".

Для получения более подробной информации смотрите описания Свойство Picture (Visual FoxPro) и Поддержка графики в Visual FoxPro.

Например, предположим, что вы заполняете listbox файлами и желаете отображать различные графические файлы рядом с именем файла в зависимости от его типа, то есть будет ли он таблицей, программой или файлом какого-то другого типа.

Listbox с картинками

Приведенный ниже код использует цикл FOR ... ENDFOR для отображения различных графических файлов для каждого элемента в списке и появляется в событии Click этого listbox:

CopyCode image Скопировать код
FOR iItem = 5 TO THIS.ListCount      && файлы начинаются с 5-го элемента
   cExtension = UPPER(RIGHT(THIS.List(iItem),3))
   DO CASE
      CASE cExtension = "DBF"
         THIS.Picture(iItem) = "tables.bmp"
      CASE cExtension = "BMP"
         THIS.Picture(iItem) = "other.bmp"
      CASE cExtension = "PRG"
         THIS.Picture(iItem) = "programs.bmp"
      CASE cExtension = "SCX"
         THIS.Picture(iItem) = "form.bmp"
      OTHERWISE
         THIS.Picture(iItem) = IIF("]" $ cExtension, ;
            "", "textfile.bmp")
   ENDCASE
ENDFOR

Для получения более подробной информации смотрите Click Event.

Смотрите также

Задачи

Как: использовать CheckBox'ы для указания состояний

Справочное руководство

Элементы управления для акцептирования ввода

Концепции

Элементы управления для отображения списков
Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Controls for Accepting Input

Visual FoxPro 9.0
Контролы (элементы управления) для Ввода Данных
CollapseAll image

Разработчику трудно бывает предугадать, какие значения Данных предполагает вводить Пользователь. Следующие элементы управления позволяют некоторым образом контролировать вводимые Данные:

  • Контролы TextBox;

  • Контролы EditBox;

  • Контролы ComboBox;

Expand image В данном Параграфе:

Ввод Данных в TextBox-ы

Описываются приемы ввода и редактирования данных в текстовых полях, ассоциированных с Полями Таблиц (исключая поля типа MEMO).

Ввод Данных в EditBox-ы

Описываются приемы ввода и редактирования данных в областях редактирования, ассоциированных с Полями Таблиц (как текстовых, так и типа MEMO).

Ввод Данных в ComboBox-ы

Рассматриваются вопросы использования контролов типа ComboBox, где пользователь может выбрать из списка требуемое значение, или ввести собственное значение.

Как: Использовать контролы CheckBox для определения состояния (статуса) объекта

Рассматриваются вопросы использования контролов типа CheckBox, с помощью которых можно определить состояние информационного объекта (Вкл/Выкл - включен/выключен).

Как: Определить специфические характеристики вводимых Данных

Описываются приемы задания (определения) специальных параметров Контролов по вводу данных.

Ввод числовых данных из заданного Диапазона

Рассматриваются вопросы ввода числовых Данных из определяемого, фиксированного Диапазона.

Как: Определить количество управляющих кнопок (элементов) в контейнере типа Option Button Group

Описывается, как задать количество управляющих элементов, которые может использовать Пользователь в конкретной Группе.

Определение специальных параметров (свойств) элементов типа Option Button

Рассматриваются вопросы задания специальных характеристик для управляющих элементов типа Option Button.

Как: Сохранить введенное значение Пользователя в Таблице Данных с помощью контрола Option Button

Рассматриваются вопросы использование вариантных кнопок типа Option Button, и сохранения соответствующих Значений в Таблице Данных.

Expand image Связанные Секции

Использование Контролов (элементов управления)

Описываются основные Контролы, которые вы можете использовать для построения Интерфейса (взаимодействия) конечного пользователя с вашим Приложением.

Контролы для отображения Списков Данных

Рассматриваются основы использования Списков, основные Методы, События, Свойства контролов типа ListBox / ComboBox.

Контролы для отображения общей Информации

Рассматриваются разнообразные Контролы и Объекты Visual FoxPro, с помощью которых вы можете отобразить или запросить от Пользователя различную Информацию.

Контролы, обеспечивающие обработку Записей Данных

Рассматриваются общие вопросы использования контролов типа Grid; Свойства, Методы, События.

Контролы для выполнения Специальных Функций Приложения

Рассматриваются специальные Контролы Visual FoxPro, с помощью которых вы можете организовать выполнение специальных программных функций через определенные интервалы времени, или периодически (Timer).

Контролы для расширения возможностей классов типа Form

Объясняется, как использовать объекты типа Page Frame или внешние объекты ActiveX, которые значительно расширяют возможности стандартных Форм Visual FoxPro при обработке пользовательских Данных.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


User Input in Text Boxes

Visual FoxPro 9.0
Пользовательский Ввод в Текстовых полях
Смотреть также

Текстовое поле является основным элементом управления, позволяющим вводить и редактировать данные полей всех типов, кроме memo-полей.

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

Свойство | Дествие
свойство SelectOnEntry | Выделить весь текст, когда пользователь выбирает текстовое поле, используя клавиатуру.
свойство InputMask | Определяет значения, которые могут быть введены в текстовое поле.
свойство Format | Определяет, отображение значения в текстовом поле.
свойство Value | Ссылка или введенный текст отображенный в текстовом поле.
свойство ControlSource | Хранит значение, отображенное в текстовом поле в свойстве Value и в переменной или поле, указанном свойством ControlSource.
AutoComplete Property | Отображается, динамический список предварительно введенных значений для выбора.
AutoCompTable Property | Задает таблицу, которая заполняет динамический список для текстового поля.
AutoCompSource Property | Задает поле в таблице автозавершения, которое связаться с текстовым полем..

Файл Solution.app в каталоге Visual FoxPro ...\Samples\Solution содержит примеры того, как можно использовать текстовые поля. После того, как Вы открываете Solution.app, в древовидном представлении, щелкаете на Controls, выбирете тогда Text boxes.

Даты в Текстовых полях

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

Свойство | Описание
Century | Установка, отображать первые две цифры года или нет.
DateFormat | Форматирует дату в текстовом поле в одном из пятнадцати предопределенных форматов, типа немецкого или японского языка.
StrictDateEntry | Устанавка свойства StrictDateEntry в 0 - Loose(Свободный). Это позволяет пользователю ввести даты в более гибкие форматы, чем значение по умолчанию 99/99/99.

Проверка достоверности Данных в Текстовых полях

Вы можете отметить или проверить значения в текстовых полях включением кода в событии Valid для текстового поля. Если значение в текстовом поле недопустимо, верните False (.F.) или 0 из кода Вы используете, чтобы оценить значение текстового поля в событии Valid. Если событие Valid возвращает False (.F.), Visual FoxPro отображает сообщение "Invalid input".

Комментарии:
Элемент управления не теряет фокус, если событие Valid возвращает False (.F.) or 0.

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

Копировать код
IF CTOD(THIS.Value) < DATE( )
   = MESSAGEBOX("Вы должны ввести будущую дату ",1)
   RETURN 0
ENDIF

Если Вы хотите отобразить ваше собственное сообщение, включите команду WAIT WINDOW или функцию MESSAGEBOX( ) в код события Valid и верните 0. Для подробной информации, см., Команда WAIT и Функция MESSAGEBOX( ).

Смотреть также

Другие ресурсы

Контролы для ввода
Контролы отображения списков
Контролы отображения информации
Контролы манипулирующие строками данных
Контролы разрешающие определенные деуствия
Контролы расширяющие формы

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


User Input in Edit Boxes

Visual FoxPro 9.0
Пользовательский ввод в элементе управления Edit Box (Поле редактирования)
Смотрите также
CollapseAll image

Элемент управления Edit Box используется для редактирования данных символьного типа из длинных символьных полей или memo-полей. В поле редактирования слова автоматически перносятся, возможно перемещение по тексту с использованием клавиш перемещения курсора -стрелок, Page Up и Page Down, а также полос прокрутки.

Чтобы посмотреть примеры использования элемента управления Edit Box, выполните приложение Solution.app из каталога Visual FoxPro ...\Samples\Solution. В древовидной структуре выберите Controls, затем нажмите Edit boxes.

Expand image Предоставление пользователю возможности редактирования содержимого Memo-поля в элеметне управления Edit Box

Все, что нужно сделать, чтобы предоставить пользователю такую возможность - это указать нужное memo-поле в свойстве ControlSource. Например, имеется некоторое memo-поле comments в таблице log. Задайте log.comments в свойстве ControlSource элемента управления Edit Box и пользователь сможет редактировать содержимое этого memo-поля в поле редактирования.

Expand image Предоставление пользователю возможности редактирования содержимого текстового файла в элеметне управления Edit Box

Вы также можете предоставить пользователю возможность редактирования текстового файла в поле редактирования. Следующая форма иллюстрирует такую возможность.

Пример формы для редактирования текстового файла в элементе управления Edit Box

Кнопка OK закрывает форму. Её код обработки события Click содержит:

CopyCode image Скопировать код
RELEASE THISFORM

Две другие кнопки в этом примере cmdOpenFile и cmdSave служат соответственно для открытия файла и его сохранения после редактирования.

Код обработки события Click кнопки cmdOpenFile
Клд | Комментарии
CREATE CURSOR textfile ; (filename c(35), mem m) APPEND BLANK | Создается курсор с текстовым полем для хранения имени текстового файла и memo-полем для хранения содержимого этого файла. В курсор добавляется пустая запись.
REPLACE textfile.FileName WITH ; GETFILE("TXT") | Функция GETFILE( ) используется для получения имени текстового файла, который нужно открыть. Имя файла помещается в поле FileName созданного ранее курсора.
IF EMPTY(textfile.FileName) RETURN ENDIF | Если пользователь в диалоговом окне, вызываемом функцией GETFILE(), нажал кнопку отмены Cancel, поле FileName останется пустым, файл не выбран.
APPEND MEMO mem FROM ; (textfile.FileName) OVERWRITE | Текст, содержащийся в текстовом файле помещается в memo-поле.
THISFORM.edtText.ControlSource = ; "textfile.mem" THISFORM.Refresh | Устанавливается свойство ControlSource элемента управления Edit Box.
THISFORM.cmdSave.Enabled = .T. | Кнопка Save доступна.

После того, как файл был открыт и его содержимое отредактировано, измененный текст может быть сохранен в исходном файле с помощью кнопки Save.

Код обработки события Click кнопки cmdSave
Код | Комментарии
COPY MEMO textfile.mem TO ; (textfile.filename) | Содержимое файла перезаписывается данными из memo-поля.

Expand image Манипуляции с выделенным текстом в элементе управления Edit Box

Элементы управления Edit Box и Text Box имеют три свойства, позволяющие работать с выделенным текстом: SelLength, SelStart и SelText.

С использованием свойств SelStart и SelLength некоторый текст может быть выделен программно. Например, следующий код выделяет первое слово в поле редактирования:

CopyCode image Скопировать код
Form1.edtText.SelStart = 0
Form1.edtText.SelLength = AT(" ", Form1.edtText.Text) - 1
Note Совет

Когда Вы изменяете свойство SelStart, поле редактирования прокручивается, чтобы отобразить текст в соответствии с новым значением свойства SelStart. Если SelStart изменяется в цикле, например, при поиске фрагмента текста, Ваш код будет выполняться быстрее, если установить перед обработкой THISFORM.LockScreen = .T. и THISFORM.LockScreen = .F. после обработки.

К выделенному в поле редактирования тексту можно обратиться с помощью свойства SelText. Например, следующая строка кода переводит все символы выделенного текста в верхний регистр:

CopyCode image Скопировать код
Form1.edtText.SelText = UPPER(Form1.edtText.SelText)

Expand image Общие свойства элемента управления Edit Box

Следующие свойства элемента управления Edit Box обычно устанавливаются на этапе разработки.

Свойство | Описание
AllowTabs | Определяет, может ли пользователь с помощью клавиши TAB вставлять позиции табуляции в поле редактирования, а не перемещаться на следующий элемент управления. Если табуляторы разрешены, убедитесь, что для перемещения на следующий элемент управления можно использовать сочетание клавиш CTRL+TAB.
HideSelection | Определяет, остается ли текст выделенным, когда элемент управления теряет фокус.
ReadOnly | Определяет, может ли пользователь изменить текст в поле редактирования.
ScrollBars | Определяет наличие вертикальной полосы прокрутки.

Expand image Смотрите также

Справочное руководство

Элемент управления EditBox
Элементы управления для ввода данных

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


? User Input in Combo Boxes
Visual FoxPro 9.0
Пользовательский ввод в Combo Boxes
Смотреть также

Элемент управления combo box совмещает функциональность элементов управления list box и text box. У элемента управления combo box существуют два стиля: Drop-down combo и в Drop-down list. Задайте стиль которой вы хотите использовать установив свойство Style элемента управления. Установка свойства в Drop-down lists обсуждаютеся в теме Элементы управления для отображения списков.

Drop-Down Combo Box

Пользователь может нажать кнопку в раскрывающемся поле, для выбора из списока вариантов возможных значений или ввести новый элемент непосредственно в поле ввода.Значение свойства Style по умолчанию для элемента управления Поле ввода с выпадающим списком 0 - Dropdown Combo ( выпадающий вписок).

Вставка пользователем новых пунктов в список выбора элемента управления Combo Box

Чтобы пользователь имел возможность добавить новое значение в элемент управления combo box, Вы можете использовать следующие строки кода в методах, связанных с Событием Valid элемента управления combo box:

Copy Code
THIS.AddItem(THIS.Text)

Перед тем как добавить пункт, было бы неплохо убедится, что данное значение не присутствует в combo box:

Copy Code
lItemExists = .F. && признак наличия значения в списке.
FOR i = 1 to THIS.ListCount
   IF THIS.List(i) = THIS.Text
      lItemExists = .T.
      EXIT
   ENDIF
ENDFOR

IF !lItemExists
   THIS.AddItem(THIS.Text)
ENDIF

Общие свойства элемента управления Combo Box

Следующее свойства элемента управления combo box обычно устанавливается во время проектирования.

Свойсто | Описание
ControlSource | Задает поле таблицы, для выбора пользователем значения или сохранения ввода.
DisplayCount | Задает максимальное количество элементов для отображения списка.
InputMask | Для элемента управления combo boxes, определяет тип значений, которые можно ввести.
IncrementalSearch | Определяет, поддерживает ли данный элемент управления пошаговый поиск при вводе с клавиатуры.
RowSource | Задает источник значений для элемента управления.
RowSourceType | Задает тип источника значений для элемента управления. Значение свойства RowSourceType для элемента управления те же, что и для элемента управления List.
Style | Задает стиль элемента управления поле ввода с раскрывающимся списком или раскрывающийся список.

Смотреть также

Другие ресурсы

Элементы управления для получения ввода
Элемент управления ComboBox
Использование элементов управления

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Use Check Boxes to Specify States

Visual FoxPro 9.0
Как: Использовать Контрол Check Box для специальных случаев
См. также

Вы можете использовать контролы типа check boxes для отображения и управления данными логического типа, такими как: True / False, On / Off, Open / Closed. Тем не менее, время от времени , возникают вопросы по использованию Контролов указанного типа.

Чтобы посмотреть примеры использования контролов типа check boxes

  1. Запустите приложение Solution.app в системе Visual FoxPro подкаталог ...\Samples\Solution

  2. В иерархическом списке примеров, выберите раздел Controls, и укажите Check boxes.

См. также

Задачи

Как: Добавить объект Pictures в элемент Списка
Как: Определить характеристики пользовательского ввода

Описание

Контролы для приема данных
Контрол CheckBox

Концепции

Контролы и Объекты, созданные в младших версиях VFP

Другие ссылки

Использование Контролов

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Define User Input Characteristics

Visual FoxPro 9.0
Как: Определить характеристики Ввода Данных Пользователем
См. также

Характеристики и свойства вводимых данных в соответствующий Контрол можно определять при помощи стандартного Свойства InputMask.

Например, предположим, что вам требуется как-то ограничить вводимые числовые данные в соответствующий Контрол значением 1,000,000, при чем с двумя десятичными разрядами. Вы можете определить значение свойства InputMask = "999,999.99". Запятая (,) и знак десятичной точки (.) позволяют определить формат вводимых и отображаемых данных. Если пользователь попытается ввести некоторый символ (не цифру) - данный символ не будет отражаться в соответствующем диалоговом боксе, заданный формат обеспечивает контроль вводимых данных. Или другой пример, предположим, что вам требуется контролировать ввод данных Логического типа (Logical), чтобы пользователь мог вводить только символы: "Y" / "N", или как альтернатива: "T" / "F". Для этого вам требуется задать формат в свойстве InputMask = "Y".

Скрытие (защита) вводимых данных Пользователем

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

Для защиты (скрытия) вводимых данных в соответствующий Контрол TextBox:

  • Установите значение свойства контрола TextBox PasswordChar = (*) или другой символ (по вашему выбору).

Если вы установили значение свойства PasswordChar как некоторый символ, отличный от пустой строки, значение свойств Value и Textрассматриваемого Контрола TextBox по прежнему содержат вводимые данные, однако в текстовом боксе отображаются только символы, которые определены в свойстве PasswordChar.

См. также

Описание

Контролы для Приема Данных (Ввода Данных)
Прием данных Числового типа из заданного Диапазона
Контролы, выполняющие Специфические Функции

Концепции

Контролы и Объекты, созданные в младших версиях VFP

Другие ссылки

Использование Контролов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Accepting Numeric Input in a Given Range

Visual FoxPro 9.0
Ввод данных числового типа из заданного диапазона
Смотрите также
CollapseAll image

Для обеспечения контроля нахождения вводимых в поле ввода числовых данных в нужном диапазоне можно использовать свойство InputMask или код обработки события Valid. Однако самым простым способом решения этой задачи является использование элемента управления Spinner (счетчик).

Expand image Использование счетчика

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

Expand image Установка диапазона допустимых значений, которые может выбрать пользователь

В свойствах счетчика KeyboardHighValue и SpinnerHighValue задайте максимальное допустимое значение.

В свойствах счетчика KeyboardLowValue и SpinnerLowValue задайте минимальное допустимое значение.

Expand image Уменьшение значения счетчика при нажатии кнопки со стрелкой вверх

В некоторых случаях, при уменьшении значения счетчика, некое свойство или качество, которое отражает счетчик, по смыслу становится более весомым. Например, при назначении более высокого приоритета пользователь интуитивно нажимает кнопку со стрелкой вверх, а значение счетчика должно уменьшиться, скажем с 2 до 1. Для уменьшения значения счетчика при нажатии кнопки со стрелкой вверх задайте свойство Increment равным -1.

Expand image Использование счетчика для манипулирования с нечисловыми данными

Хотя счетчик оперирует только числовыми значениями, этот элемент управления можно использовать для работы с другими типами данных. Например, если нужно обеспечить выбор даты из заданного диапазона, уменьшите размер счетчика таким образом, чтобы видимыми остались только его кнопки со стрелками, затем, рядом разместите поле ввода. Установите свойство Value поля ввода равным некоторой дате, а в кодах обработки событий UpClick и DownClick счетчика установите нужное приращение даты.

Note Совет

Вы можете использовать функцию Windows API GetSystemMetrics чтобы установить ширину счетчика так, чтобы видимы были только кнопки и размер был бы подобран оптимальный.

  • Установите свойство BorderStyle равным 0.

  • Следующий код поместите в метод Init счетчика:

    CopyCode image Скопировать код
    DECLARE INTEGER GetSystemMetrics IN Win32api INTEGER
THIS.Width = GetSystemMetrics(2) && SM_CXVSCROLL

Expand image Общие свойства элемента управления Spinner

Следующие свойства счетчика обычно задаются на этапе разработки.

Свойство | Описание
Increment | Определяет величину, на которую увеличивается или уменьшается значение в поле ввода значения счетчика при нажатии кнопки со стрелкой вверх или кнопки со стрелкой вниз.
KeyboardHighValue | Определяет наибольшее значение, которое может быть введено с помощью клавиатуры.
KeyboardLowValue | Определяет наименьшее значение, которое может быть введено с помощью клавиатуры.
SpinnerHighValue | Задает максимальное значение, которое можно ввести, нажимая кнопку со стрелкой вверх.
SpinnerLowValue | Задает минимальное значение, которое можно ввести, нажимая кнопку со стрелкой вниз.

Expand image Смотрите также

Задачи

Как: определить пользовательские характеристики ввода данных

Справочное руководство

Элементы управления для ввода данных
Элементы управления для выполнения специфических действий

Понятия

Выполнение определенных действий через заданные интервалы
Элементы управления и объекты более ранних версий

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Set the Number of Option Buttons in an Option Button Group

Visual FoxPro 9.0
Как: Определить количество кнопок Option Button в контейнере Option Button Group
См. также

Когда Вы создаете в форме элемент управления (контрол, Control) option button group, то изначально в нем создается две кнопки управления. С помощью значения свойства ButtonCount Вы можете определить необходимое количество кнопок данного контрола.

Для определения количества кнопок option buttons в контейнере

  • Задайте необходимое значение свойства ButtonCount .

    Например, чтобы контейнер содержал шесть кнопок выбора вариантов, задайте ButtonCount = 6.

Значение свойства Value контейнера Option Button Group определяет выбор пользователя, номер выбранной кнопки. Например, Если Вы выбираете четвертую кнопку из представленных шести кнопок, то значение свойства value = 4.

Если значением свойства ControlSource контейнера является поле таблицы, или, если значение свойства Value - является символьным выражением до момента запуска формы, то данная строка помещается в заголовок выбранной кнопки (option button).

См. также

Задачи

Как: Сохранить значение выбора пользователя в таблице при помощи Option Buttons

Описание

Элементы управления для ввода данных

Концепции

Определение свойств объекта Option Button
Контролы и объекты, созданные в младших версиях
Концепции Данных и Элементов Управления

Другие ссылки

Использование Контролов

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Setting Option Button Properties

Visual FoxPro 9.0
Определение свойств элемента управления Option Button
Смотрите также

Для изменения свойств отдельных элементов группы переключателей или группы командных кнопок в конструкторе форм, воспользуйтесь пунктом Edit контекстного меню этих элементов управления.

Задать свойства отдельных кнопок можно в окне свойств. Эти свойства можно изменить и во время выполнения, указав имя переключателя или кнопки и соответствующее свойство. Например, следующая строка, включенная в метод или код обработки события некоторого объекта на той же самой форме, которой принадлежит и группа переключателей opgChoices, задаст надпись переключателя optCust:

CopyCode image Скопировать код
THISFORM.opgChoices.optCust.Caption = "Sort by Customer"

Изменять свойства во время выполнения можно и с использованием свойства Buttons группы, ссылаясь на переключатель по его индексному номеру в группе переключателей. Например, если optCust является третьим переключателем в группе, следующая строка программы изменит ее надпись:

CopyCode image Скопировать код
THISFORM.opgChoices.Buttons(3).Caption = "Sort by Customer"

Для установки свойств всех переключателей в группе воспользуйтесь методом SetAll группы переключателей.

Например, следующая строка программы делает недоступными все переключатели в группе opgMyGroup:

CopyCode image Скопировать код
THISFORM.opgMyGroup.SetAll("Enabled",.F., "OptionButton")

Доступность и недоступность переключателей в группе

Предыдущий пример иллюстрирует, как сделать недоступными все переключатели в группе программным способом. Недоступный переключатель отображается цветом, заданным в его свойствах DisabledForeColor и DisabledBackColor. Чтобы сделать недоступной всю группу переключателей, можно установить ее свойство Enabled в ложь (.F.), однако, в этом случае не будет никакого визуального эффекта (свойства DisabledForeColor и DisabledBackColor отдельных переключателей во внимание не принимаются).

Определение переключателя, выбранного пользователем

Для определения выбранного переключателя воспользуйтесь свойством Value группы переключателей. Если источник управления для переключателя является числовым, и, если, например, в группе содержится пять переключателей и нажат третий, то свойство Value примет значение 3, если не выбрана ни одна из кнопок, свойство Value имеет значение 0.

Работать с выбранным переключателем можно используя свойства Value и Buttons группы переключателей. Например, следующий код помещает содержимое свойства Caption выбранного переключателя в переменную cSelected.

CopyCode image Скопировать код
oGroup = THISFORM.opg1
cSelected = oGroup.Buttons(oGroup.Value).Caption

Использование элемента управления Option Buttons совместно с элементом управления ListBox (список)

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

Следующий пример реализует эту задачу, используя форму со списком (lstCustomers) группой из трех переключателей.

Установка свойств элемента управления ListBox
Объект | Свойство | Значение
lstCustomers | RowSourceType | 2 - Alias
lstCustomers | RowSource | Customer

Фильтры для таблицы устанавливаются в коде обработки события Click соответствующих переключателей.

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

optAll

Click
CopyCode image Скопировать код
SET FILTER TO
GO TOP
THISFORM.lstCustomers.Requery

optCanada

Click
CopyCode image Скопировать код
SET FILTER TO customer.country = "Canada"
GO TOP
THISFORM.lstCustomers.Requery

optUK

Click
CopyCode image Скопировать код
SET FILTER TO customer.country = "UK"
GO TOP
THISFORM.lstCustomers.Requery

При закрытии формы, не забывайте сбрасывать фильтр командой SET FILTER TO, включив ее в код обработки нажатия кнопки, закрывающей форму или в метод Destroy формы.

Note Совет

Для обновления списка в случае изменения источника данных используйте метод Requery.

Смотрите также

Задачи

Как: задать количество переключателей в группе переключателей
Как: сохранить выбор пользователя в таблице, используя группу переключателей

Справочное руководство

Элементы управления для ввода данных
Конструктор форм

Понятия

Элементы управления и объекты более ранних версий

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Store User Choices to a Table Using Option Buttons

Visual FoxPro 9.0
Как: сохранить выбор пользователя в таблицу при использовании радио-кнопок.
Смотрите также

Хотя это и не является общепринятым, но тем не менее вы можете использовать радио-кнопки (option buttons) для получения от пользования информации с целью ее сохранения в таблице, например значения свойства радио-кнопки Caption. Если вы создаете стандартное приложение для тестирования, то вы, например, могли бы использовать радио-кнопки для предоставления пользователю возможности выбора между опциями A, B, C или D. Кроме того, вы можете использовать радио-кнопки для указания пола работника в таблице, хранящей персональные данные.

Для сохранения свойства Caption радио-кнопки в таблице:

  1. Установите значение Value группы радио-кнопок в пустую строку.

  2. Установите свойство Control группы радио-кнопок в символьное поле в таблице.

Например, если заголовки ваших радио-кнопок равны "A", "B", "C" и "D", а ControlSource группы радио-кнопок связано с символьным полем, то когда пользователь произведет выбор, например выберет "B", то "B" будет сохранено в поле таблицы.

Для того, чтобы посмотреть пример теста с множеством опций выбора, осуществляемого с помощью радио-кнопок

  1. Запустите Solution.app в каталоге Visual FoxPro ...\Samples\Solution.

  2. В дереве просмотра щелкните на Controls и, затем на Options buttons.

  3. Щелкните на Present a user with multiple choices.

Смотрите также

Задачи

Как: выбрать тип данных для элементов управления ListBox или ComboBox

Справочное руководство

Элементы управления, используемые для ввода

Концепции

Установка свойств радио-кнопки (Option Button)
Элементы управления, используемые для отображения списков
Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления (Controls)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Controls for Displaying Information

Visual FoxPro 9.0
Элементы управления для отображения информации
Смотрите также
CollapseAll image

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

  • Images (Изображения)

  • Labels (Метки)

  • Text Boxes (Поля ввода)

  • Edit Boxes (Поля редактирования)

  • Shapes (Фигуры)

Expand image Использование элемента управления Image

Элемент управления Image позволяет добавить на Вашу форму рисунок (.bmp или другой графический файл). Элемент управления Image имеет полный набор свойств, событий и методов, как и любой другой элемент управления, которые могут быть динамически изменены во время выполнения. Пользователи могут взаимодействовать с ним нажатием кнопок мыши, двойным нажатием и т.п. Для более подробной информации смотрите Графическая поддержка в Visual FoxPro.

В следующей таблице перечислены некоторые из ключевых свойств элемента управления Image.

Свойство | Описание
Picture | Определяет картинку, отображаемую на элементе управления (.bmp файл).
BorderStyle | Определяет стиль обрамления для изображения.
Stretch | Если свойство Stretch установлено в 0 – Clip, картинка обрезается для размещения в элементе управления (часть изображения, не помещающаяся в пределах размеров элемента управления невидима). Если свойство Stretch установлено в 1 - Isometric, картинка изменяется в размерах, чтобы вместиться в элемент управления с поддержкой ее оригинальных пропорций. Если свойство Stretch установлено в 2 - Stretch, картинка изменяется в размерах, чтобы вместиться в элемент управления, но ее оригинальные пропорции не соблюдаются.

Expand image Использование элемента управления Label (Метка)

Метка отличается от поля ввода, поэтому она

  • Не может иметь источника данных.

  • Не может быть непосредственно отредактирована.

  • Она не может быть задана в порядке табуляции.

Для интерактивной работы с элементом управления Label используйте программное изменение свойств Caption и Visible.

Expand image Общие свойства элемента управления Label

На этапе разработки обычно задаются следующие свойства элемента управления Label.

Свойство | Описание
Caption | Задает отображаемый текст.
AutoSize | Определяет - будет ли элемент управления автоматически изменять размеры, чтобы вместить содержимое (Caption).
BackStyle | Задает фон - прозрачный или непрозрачный.
WordWrap | Определяет, может ли отображаемый текст переноситься по словам на дополнительные строки.

Expand image Использование элементов управления TextBox (поле ввода) и EditBox (поле редактирования) для отображения информации

Установите свойство ReadOnly в .T. (истина) чтобы элементы управления только отображали информацию. Возможности изменить ее у пользователя, в таком случае, не будет.

Expand image Использование элементов управления Shapes (фигуры) и Lines (линии)

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

На этапе разработки обычно задаются следующие свойства элемента управления Shape.

Свойство | Описание
Curvature | Определяет степень скругления углов прямоугольника.
FillStyle | Определяет, будет ли фигура прозрачной или нет, или будет иметь указанный вариант заполнения.
SpecialEffect | Определяет, будет ли выглядеть элемент управления плоским или объемным. Имеет эффект только в случае, когда свойство Curvature =0.

На этапе разработки обычно задаются следующие свойства элемента управления Line.

Свойство | Описание
BorderWidth | Ширина линии в пикселях.
LineSlant | Определяет направление наклона линии, когда она не горизонтальна и не вертикальна. Допустимые значения этого свойства прямой - '/' и обратный -'\' слеш.

Expand image Использование графических средств формы для отображения информации

Вы можете отображать графическую информацию на форме используя следующие ее методы.

Метод | Описание
Circle | Рисует окружность или дугу на объекте Form.
Cls | Удаляет графику и текст из объекта Form.
Line | Рисует линию на объекте Form.
Pset | Устанавливает в определенный цвет точку на форме.
Print | Отображает символьную строку в объекте Form.

Для изучения примеров, иллюстрирующих использование графических возможностей формы выполните Solution.app в каталоге ...\Samples\Solution Visual FoxPro. В дереве выберите Forms, затем нажмите Form graphics.

Expand image Смотрите также

Задачи

Как: Расширение возможностей отображения элементов управления

Справочное руководство

Свойство Caption (Visual FoxPro)

Понятия

Выполнение определенных действий через заданные интервалы
Элементы управления и объекты более ранних версий

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Enhance Control Display

Visual FoxPro 9.0
Как: Расширение возможностей отображения элементов управления
Смотрите также

Элементы управления Command buttons, check boxes, и option buttons в дополнение к надписям могут использовать пиктограммы. Эти элементы управления имеют соответствующие свойства, позволяющие определить пиктограммы, которые будут отображаться на элементе управления в той или иной ситуации.

Свойство | Описание
DisabledPicture | Задает рисунок, который нужно отобразить для недоступного элемента управления. Если это свойство не задано, Visual FoxPro отобразит элемент управления, как недоступный.
DownPicture | Задает изображение, которое будет отображаться на кнопке, когда она нажата. Если это свойство не задано, Visual FoxPro использует рисунок, задаваемый свойством Picture и отобразит кнопку так, чтобы она казалась нажатой.
Picture | Задает изображение, которое отображается на кнопке, когда она доступна и не нажата.
PicturePosition | Определяет положение рисунка относительно надписи.
PictureSelectionDisplay | Определяет в каком виде появится картинка в текстовой части элемента управления ComboBox.

Если Вы не хотите, чтобы вместе с пиктограммой отображался заголовок, установите свойство Caption Property пустым, удалив значение по умолчанию в поле установки свойства Окна свойств Window (Visual FoxPro).

Использование масок изображения

Часто, изображение в формате .bmp содержит незаполненное пространство, которое при использовании на элементе управления выглядит как белый фон или окантовка, что ухудшает дизайн и наглядность интерфейса. Для решения этой проблемы, Visual FoxPro позволяет создать заданную по умолчанию временную маску для Вашего изображения. Белым (незаполненным) областям присваивается атрибут прозрачности, таким образом, чтобы основной цвет кнопки или фона просвечивал через них. Чтобы в нужных случаях некоторые области изображения сохранили белый цвет, создайте соответствующую маску, которая отменит значение по умолчанию.

Чтобы создать маску для изображения в формате .bmp

  1. Откройте bmp-файл в Paint или в другой утилите для работы с изображениями в формате bmp.

  2. Закрасьте черным все области изображения, которые должны отображаться так, как они выглядят. Белым цветом закрасьте все места рисунка, которые должны быть прозрачными.

  3. Сохраните полученную картинку в том же каталоге и с тем же именем, что и исходный файл .bmp, но задайте ему расширение .msk.

Когда Visual FoxPro загружает файл .bmp, определенный свойством Picture для кнопки, переключателя или флажка, одновременно проверяется наличие соответствующего файла маски. Если файл .msk найден, он используется вместо маски по умолчанию. Все белые области рисунка .msk будут прозрачными в рисунке .bmp. Все черные области рисунка .msk изображаются так, как они раскрашены в рисунке .bmp.

Note Примечание

Размеры рисунков .bmp и .msk должны совпадать.

Смотрите также

Задачи

Как: Ручная настройка отображения элемента управления Grid на этапе разработки

Справочное руководство

Элементы управления для отображения информации
Элементы управления для манипулирования строками данных

Понятия

Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Controls for Manipulating Rows of Data

Visual FoxPro 9.0
Controls for Manipulating Rows of Data
CollapseAll image

Visual FoxPro предоставляет очень мощный инсрумент для работы с данными в виде множества строк — объект Grid.

Expand image В этом разделе

Как: Использование объектов Grid

Описывается создание элемента управления Grid.

Как: Ручная настройка отображения Grid во время выполнения

Описывается ручная установка ширины столбцов и высоты строк элемента управления Grid.

Как: Назначение источника данных, отображаемых в элементе управления Grid

Разъясняется, как назначить источник данных для элемента управления Grid.

Как: Построение формы "один-ко-многим" с использованием элемента управления Grid

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

Как: Отображение элементов управления в колонках Grid

Описывается, каким образом элементы управления Visual FoxPro, такие как Text Box, Check Box, Drop-down List Box, Spinner, отображаются в колонках Grid.

Форматирование элемента управления Grid

Обсуждаются различные способы настройки формата элемента управления Grid.

Expand image Связанные разделы

Использование элементов управления

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

Элементы управления и данные

Объясняются различия между тем или иным видом элемента управления, которые могут быть использованы на форме и перечисляются возможные эффекты установки свойства ControlSource различных элементов управления.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Use Grid Objects

Visual FoxPro 9.0
Как: Использование объектов Grid
Смотрите также

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

Контейнер | Может содержать
Grid (сетка) | Столбцы
Column (столбец) | Заголовки, элементы управления

Объект Grid позволяет Вам организовать отображение данных на форме в виде столбцов и строк, а также управление этими строками и столбцами данных. Особенно полезно применение элемента управления Grid при создании формы "один-ко-многим".

Чтобы добавить элемент управления Grid на форму

  • На панели инструментов Form Controls нажмите кнопку Grid и поместите элемент управления на форму, растягивая его до нужных размеров.

Если свойство сетки RecordSource не определено и в текущей рабочей области открыта какая-нибудь таблица, в сетке будут отображены все поля этой таблицы.

По умолчанию сетка создается при перетаскивании таблицы на форму.

Чтобы создать элемент управления Grid

  • Выберите нужную таблицу в Data Environment (Среде данных), Конструкторе баз данных Designer (Visual FoxPro) или Окне менеджера проекта и перетащите ее на форму.

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

Определение количества столбцов в Grid

В первую очередь возникает необходимость задания количества столбцов - объектов Column в Grid.

Чтобы задать число столбцов в сетке:

  1. Выберите свойство ColumnCount в списке Property and Methods (Свойства и методы).

  2. Задайте в поле ввода необходимое количество столбцов.

По умолчанию свойство ColumnCount установлено в –1, что означает, что элемент управления Grid во время выполнения должен содержать достаточное количество колонок для размещения всех полей таблицы, заданной в качестве источника записей.

Добавление записей в сетку

Вы можете предоставить пользователю возможность добавления новых записей в таблицу, данные из которой отображаются в сетке, установив свойство AllowAddNew Property в .T. (Истина). Когда свойство AllowAddNew установлено в .T., новые записи добавляются в таблицу нажатием клавиши со стрелкой вниз, когда выбрана последняя запись в сетке.

Если существует необходимость в более широких возможностях контроля и управления добавлением новых записей в таблицу, установите свойство AllowAddNew в .F. (Ложь) - значение по умолчанию, и используйте команды APPEND BLANK или INSERT для создания новых записей.

Чтобы просмотреть примеры использования сетки:

  1. Выполните Solution.app из ...\Samples\Solution в каталоге Visual FoxPro.

  2. В древовидной структуре выберите Controls, затем - Grid.

Смотрите также

Задачи

Как: Расширение возможностей отображения элементов управления
Как: Определение вида элемента управления Grid вручную на этапе разработки
Как: Определение источника данных, отображаемых в сетке

Справочное руководство

Элементы управления для манипулирования строками данных

Понятия

Форматирование Grid
Управляющие элементы и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Manually Adjust Grid Display at Design Time

Visual FoxPro 9.0
Как: Вручную Корректировать вид элемента Grid в Design Time
См. Также

После добавления колонок к grid, Вы можете изменить ширину столбцов и высоту строк. Вы можете вручную установить свойства высоты и ширины столбца и объектов строки в окне Properties или визуально установить эти свойства в режиме конструирования grid.

Для переключения в режим конструирования grid

  1. Выбрать Edit из меню быстрого вызова grid.

    - или-

  2. В панели Объектов окна Properties , выберите столбец grid.

Когда Вы находитесь в режиме конструирования grid, по периметру отображена толстая рамка. Для выхода из режим конструирования grid, выберите форму или другой элемент управления.

Для корректировки ширины столбцов в grid

  1. В режим конструирования grid, установите указатель между заголовками столбца grid так, чтобы указатель изменился на полосу со стрелками, указывающими левое и правое направление.

  2. Выберите столбец и перетаскивайте, пока столбец не примет желательную ширину

    - или-

    Установите свойство столбца Width в окне Properties.

Для корректировки высоты строк в grid

  1. В режим конструирования grid, установите указатель между первыми и вторыми кнопками на левой стороне Grid так, чтобы указатель изменился на полоску со стрелками, указывающими направление вверх и вниз.

  2. Выберите строку и перетаскивайте, пока строка не достигнет желательной высота.

    - или-

    Установите свойство столбца Height в окне Properties.

    Совет:
    Вы можете препятствовать пользователю изменять высоту строк grid во время выполнения (run time), устанавливая Свойство AllowRowSizing в ложь (.F)..

См. Также

Другие Ресурсы

Форматирование элементов управления Grid
Элементы управления для манипулирования Строками Данных
Как: Установить Источник Данных, отображенных в Grid
Использование элементов управления
Как: Настроить One-to-Many Форму, используя Элемент управления Grid
Элементы управления и Объекты, созданные в Более ранних Версиях

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Set the Source of the Data Displayed in the Grid

Visual FoxPro 9.0
Как: Установить Источник Данных, отображенных в Grid
См. Также

Вы можете установить источник данных для grid и для каждого столбца индивидуально.

Установите источник данных для grid

  1. Выберите grid, и затем нажмите свойство RecordSourceType в окне Properties .

  2. Установите свойство RecordSourceType в 0 - Таблица , если Вы хотите чтобы Visual FoxPro открыть таблицу, или 1 - Alias если Вы хотите чтобы grid был заполненными полями из таблицы, которая является уже открытой.

  3. Нажмите RecordSource свойство в окне Properties .

  4. Введите имя псевдонима или таблицы, которая будет служить источником данных для grid.

Если Вы хотите определить специфические поля, которые будут отображены в специфических столбцах, Вы также можете установить источник данных для столбца.

Установить источник данных для столбца

  1. Выберите столбец, и затем нажмите свойство ControlSource в окне Properties .

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

    Copy Code
    Orders.order_id

См. Также

Другие Ресурсы

Форматирование Grids
Элементы управления для записей
Как: Вручную настроить Grid в Среде разработки
Как: Построить форму на связях One-to-Many, используя Grid
Как: Отобразить элементы управления в колонке Grid
Использование элементов управления
Элементы управления и Объекты, созданные в Более ранних Версиях

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Set Up a One-to-Many Form Using the Grid Control

Visual FoxPro 9.0
Как: Создать Форму отображения Данных "Один-ко-Многим" с помощью Контрола Grid
См. также

Одним из самых распространенных способов использования Текстовых боксов и контролов Grid является отображение связанных Родительской и Дочерней Таблиц. При перемещении по соответствующим Записям Родительской Таблицы, автоматически обновляются соответствующие данные из Дочерней таблицы.

Если в вашей, создаваемой Форме, точнее: в объекте Среды Данных Формы, уже детально описаны все необходимые Элементы Связи между Родительской и Дочерней Таблицами, то создание на данной Форме Контролов отображения требуемых Данных является достаточно простым делом.

Для определения объектов отображения данных типа "Один-ко-Многим" с помощью инструментария Data Environment:

  1. Переместите требуемые Поля из Родительской Таблицы на разрабатываемую Форму с помощью инструментария Диспетчера Среды Данных .

  2. Далее, переместите дочернюю таблицу на указанную Форму из системного окна Диспетчера Среды Данных.

Замечание. Во многих случаях описанный выше алгоритм является вполне достаточным для создания объектов отображения данных из связанных Таблиц (родительской и дочерней). Однако, для создания более сложных вариантов отображения связанных данных типа "один-ко-многим" не рекомендуется использовать встроенные механизмы Диспетчера Среды Данных (Data Environment Designer).

Для определения объектов, отображающих данные типа "один-ко-многим" без использования инструментария диспетчера Среды Данных:

  1. Разместите на Форме Текстовые контролы для требуемых Полей из Родительской таблицы.

  2. Определите соответствующие значения для свойств ControlSource, созданных выше текстовых боксов полей родительской Таблицы.

  3. Разместите контрол типа Grid на создаваемой Форме.

  4. Определите значение свойства RecordSource, указанного выше контрола Grid, как имя Алиаса дочерней Таблицы данных.

  5. Определите значение свойства LinkMaster для контрола Grid, как имя Алиаса Родительской Таблицы.

  6. Определите значение свойства ChildOrder для контрола Grid, как имя индексного Тэга дочерней Таблицы, характеризующего установку Связи между Родительской и Дочерней Таблицами.

  7. Определите значение свойства RelationalExpr для контрола Grid, как имя выражения Связи указанных Таблиц. Например, если свойство ChildOrder содержит имя Тэга, который построен на основе выражения "lastname + firstname", то для рассматриваемого свойства устанавливается данное выражение Связи.

Для обоих вариантов определения объектов отображения связанных Наборов данных типа "один-ко-многим" вам необходимо также создать управляющие кнопки перемещения по Записям Родительской Таблицы и одновременного обновления "привязанных" данных из Дочерней таблицы. К примеру, следующий фрагмент программного Кода размещается в коде события Click одной из командных кнопок:

CopyCode image Копировать Код
SELECT orders && если Orders - родительская Таблица
SKIP
IF EOF( )
 GO BOTTOM
ENDIF
THISFORM.Refresh

См. также

Задачи

Как: Определить Источник Данных для контрола Grid
Как: Отобразить Контролы в столбцах объекта Grid
Как: Определить Контролы для эффективного их использования

Описание

Контролы для обработки и отображения Строк данных

Концепции

Форматирование контролов типа Grid
Контролы и Объекты, созданные в младших версиях VFP

Другие ссылки

Использование Контролов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Display Controls in Grid Columns

Visual FoxPro 9.0
Как: отобразить элементы управления в колонках Grid
Смотрите также

В дополнение к отображению данных полей в элементе управления решетка - grid (далее по тексту справки будет использовано английское наименование - grid), вы можете иметь в его колонках элементы управления, для того что показать пользователю данные во вложенных текстовых боксах (textboxes), чек-боксах (checkboxes), выпадающих списках (drop-down list boxes), счетчиках (spinners), а также в других элементах управления. Например, если у вас в таблице имеется поле типа logical, то когда вы запускаете форму, пользователь может сказать, какие значения записи верны (.T.), а какие нет (.F.), увидев, отмечен чек-бокс или нет. Изменение значения такого поля также просто, как установка или снятие метки в чек-боксе.

Вы можете добавлять элементы управления в колонки grid интерактивно в конструкторе форм или написать код для ввода элементов управления в колонки в run time.

Для интерактивного добавления элементов управления в колонку grid

  1. Добавьте в форму элемент управления grid.

  2. В окне Properties (Свойства) (Visual FoxPro) установите значение свойство ColumnCount в номер желаемой колонки.

    Например, впечатайте 2 для двух колоночного grid.

  3. В окне Properties (Свойства) выберите родительскую колонку для элемента управления из бокса Object (Объект).

    Например, выберите Column1 для добавления элемента управления в Column1. Контур grid изменится, указывая, что вы редактируемого объект в контейнере, когда вы сделаете выбор колонки.

  4. Выберите желаемый элемент управления в полоске инструментов Form Controls (Элементы управления форм) и щелкните по родительской колонке.

    Новый элемент управления не будет отображен в колонке grid в Form Designer (Конструкторе форм), но будет видим в run time.

  5. Убедитесь, что в окне Properties (Свойство) элемент управления отображается в боксе Object (Объект) смещенным в родительской колонке.

    Если новый элемент управления представляет собой checkbox, установите его свойство Caption (Заголовок) в " ", а свойство Sparse колонки установите в False (.F.).

  6. Установите свойство ControlSource родительской колонки в желаемое поле таблицы.

    Например, ControlSource колонки в приведенной ниже иллюстрации установлено в products.discontinu из базы данных Testdata.dbc в каталоге Visual FoxPro ...\Samples\Data.

  7. Убедитесь, что свойство CurrentControl родительской колонки указывает но новый элемент управления.

Когда вы запустите форму, элемент управления будет отображен в колонке grid.

Note Совет

Если вы желаете обеспечить центровку элемента управления checkbox в колонке grid, создайте класс контейнера, добавьте в него элемент управления checkbox и установите позицию checkbox в классе контейнера. Добавьте созданный класс контейнера в колонку grid и установите свойство ControlSource, содержащегося в контейнере checkbox в желаемое поле.

Для удаления элементов управления из колонок grid в Form Designer (Конструкторе форм)

  1. В боксе Object (Объект) окна Properties (Свойства) (Visual FoxPro) выберите элемент управления.

  2. Активизируйте Form Designer (Конструктор форм).

    Если окно Properties (Свойства) отображается, имя элемента управления отобразится в боксе Object (Объект).

  3. Нажмите клавишу DELETE.

Кроме того, вы можете добавить элементы управления в колонку grid с помощью метода AddObject в программном коде.

Для программного добавления элементов управления в колонку grid

  • В событии Init элемента управления grid, используйте метод AddObject для добавления элементов управления в колонку grid и установите свойство CurrentControl колонки в добавленный элемент управления.

Например, приведенные ниже строки кода в событии Init элемента управления grid добавляет два элемента управления в колонку grid и указывает один из них в качестве текущего элемента управления:

CopyCode image Скопировать код
THIS.grcColumn1.AddObject("spnQuantity", "SPINNER")
THIS.grcColumn1.AddObject("cboQuantity", "COMBOBOX")
THIS.grcColumn1.CurrentControl = "spnQuantity"
* Следующие строки кода обеспечивают видимость элемента управления
* и отображение его в каждой строке grid
THIS.grcColumn1.spnQuantity.Visible = .T.
THIS.grcColumn1.Sparse = .F.

В этом примере, у Column1 имеется три возможных значения текущего элемента управления:

  • spnQuantity

  • cboQuantity

  • Text1 (элемент управления, используемый по умолчанию)

    Note Замечание

    Установка свойств на уровне Grid не переносятся на колонки или заголовки. В таких случаях вы должны установить свойства заголовков и содержащихся в колонках элементах управления напрямую; они не наследуют свои свойства из установок на уровне элемента решетки Column.

    Note Совет

    Для более правильного отображения элементов управления combobox в колонках grid, установите перечисленные ниже свойства combobox:

    CopyCode image Скопировать код
    BackStyle = 0      && Transparent
Margin = 0
SpecialEffect = 1 && Plain
BorderStyle = 0      && None

Смотрите также

Задачи

Как: установить форму для отношения "один-ко-многим", используя элемент управления Grid
Как: упростить использование элементов управления

Справочное руководство

Элементы управления для управления строками данных
Элементы управления для расширения форм
Конструктор форм

Концепции

Форматирование элементов управления Grid
Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Controls for Allowing Specific Actions

Visual FoxPro 9.0
Элементы управления для выполнения специфических действий
Смотрите также
CollapseAll image

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

Expand image Использование элементов управления Command Buttons (командная кнопка) Command Button Groups (группа командных кнопок)

Наиболее часто используется код обработки события Click кнопки.

Expand image Определение реакции кнопки по умолчанию

Установите свойство Default в истину (.T.) чтобы задать командную кнопку, которая будет отвечать на нажатие клавиши ENTER. Заданная по умолчанию кнопка имеет более толстую границу чем другие. Если кнопка задана в качестве выбранной по умолчанию, то при нажатии клавиши ENTER будет выполняться ее код обработки события Click.

Note Примечание

Если текущим объектом на форме является элемент управления EditBox или Grid, код обработки события Click кнопки по умолчанию не будет выполняться при нажатии клавиши ENTER. Нажатие Enter в поле редактирования добавляет символы перевода строки и возврата каретки к введенным ранее символам. Нажатие Enter в Grid обеспечивает переход на смежное поле. В этом случае для выполнения кода обработки события Click кнопки по умолчанию нужно нажать CTRL+ENTER.

Expand image Общие свойства элемента управления Command Button

Следующие свойства кнопки обычно задаются на этапе разработки.

Свойство | Описание
Cancel | Определяет, что код обработки события CLICK выполняется при нажатии ESC.
Caption | Текст, отображаемый на кнопке.
DisabledPicture | .bmp файл, рисунок из которого отображается на кнопке, когда она недоступна.
DownPicture | .bmp файл, рисунок из которого отображается на кнопке, когда она нажата.
Enabled | Определяет, может ли кнопка быть выбрана.
Picture | .bmp файл, рисунок из которого отображается на кнопке.

Вы можете включать кнопки в группу для управления ими индивидуально или как группой.

Expand image Управление кнопками на уровне группы

Если Вы хотите работать с единственной процедурой, обрабатывающей нажатия всех кнопок в группе (событие Click каждой кнопки), поместите этот код в процедуру обработки события Click группы командных кнопок. Свойство Value группы кнопок указывает, которая из кнопок группы была нажата, что демонстрирует следующий пример:

CopyCode image Скопировать код
DO CASE
   CASE THIS.Value = 1
      WAIT WINDOW "You clicked " + THIS.cmdCommand1.Caption NOWAIT
      * выполняются соответствующие действия
   CASE THIS.Value = 2
      WAIT WINDOW "You clicked " + THIS.cmdCommand2.Caption NOWAIT
      * выполняются соответствующие действия
   CASE THIS.Value = 3
      WAIT WINDOW "You clicked " + THIS.cmdCommand3.Caption NOWAIT
      * выполняются соответствующие действия
ENDCASE
Note Примечание

Если пользователь нажимает кнопку мыши, когда указатель мыши находится в пределах элемента управления, но не какой-либо из кнопок группы, либо на недоступной кнопке, событие Click группы кнопок происходит, но, при этом, свойство Value будет хранить номер последней нажатой доступной кнопки. Если Вы написали код обработки события Click отдельной кнопки, то при нажатии на эту кнопку будет выполнен он, а не код обработки события Click группы кнопок.

Expand image Общие свойства элемента управления Command Button Group

Следующие свойства группы кнопок обычно задаются на этапе разработки.

Свойство | Описание
ButtonCount | Количество командных кнопок в группе.
BackStyle | Определяет имеет ли элемент управления прозрачный или непрозрачный фон. Прозрачный фон соответствует цвету основного объекта, обычно, формы или страницы.

Expand image Использование объекта Hyperlink

Вы можете использовать объект Hyperlink для перехода к адресу Internet или intranet. Объект Hyperlink может использоваться, для запуска гиперсвязи с использованием браузера, установленного по умолчанию в ОС (как правило, Microsoft Internet Explorer), и открытия страницы, указанной в адресе. Метод NavigateTo( ) объекта Hyperlink используется для перехода по указанному в нем адресу.

Например, для перехода на сайт Microsoft в интернете, в первую очередь необходимо поместить на форму элемент управления Hyperlink. Затем, поместите на форму командную кнопку и в процедуре обработки ее события Click напишите следующий код:

CopyCode image Скопировать код
THISFORM.Hyperlink1.NavigateTo('www.microsoft.com')

После запуска формы на выполнение нажмите кнопку для перехода на сайт Microsoft.

Expand image Смотрите также

Справочное руководство

Ввод данных числового типа из заданного диапазона
Элементы управления для отображения информации

Понятия

Выполнение определенных действий через заданные интервалы
Элементы управления и объекты более ранних версий

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Performing Specific Actions at Given Intervals

Visual FoxPro 9.0
Выполнение определенных действий через заданные интервалы
Смотрите также

Элемент управления Timer позволяет выполнять определенные действия, например, проверку значений переменных, через заданные интервалы времени.

Использование элемента управления Timer

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

Для изучения примеров, иллюстрирующих использование элемента управления Timer выполните Solution.app в каталоге ...\Samples\Solution Visual FoxPro. В древовидной структуре выберите Controls, затем нажмите Timer.

Элемент управления Timer имеет Свойство Interval, которое задает интервал времени в миллисекундах между срабатываниями таймера. Если срабатывание таймера не заблокировано, то через приблизительно одинаковые промежутки времени будет наступать событие, названное, соответственно, Timer. Свойство Interval имеет некоторые ограничения, которые нужно учитывать при программировании:

  • Свойство может принимать значения от 0 до 2 147 483 647 миллисекунд включительно, таким образом максимальный интервал может составлять около 596.5 часов (более 24 суток).

  • Заданный свойством интервал не гарантирует точность. Чтобы обеспечить точность, таймер должен проверять системные часы, когда требуется, а не пытаться отследить собственное.

  • Хотя свойство Interval задается в миллисекундах, фактическая точность зависит от системного таймера. Например, для Windows XP или более поздних ОС интервал в 1 миллисекунду может вызвать 1000 событий в секунду. На операционных системах до Windows XP, система генерирует 18 тактов системных часов в секунду, таким образом, несмотря на то, что свойство Interval и задается в миллисекундах, истинная точность интервала будет не выше, чем одна восемнадцатая секунды. Для подробной информации о системных таймерах и импульсе сигнала времени таймера обратитесь к онлайновой справочной системе MSDN.

  • Несмотря на то, что таймер срабатывает через заданный интервал, событие Timer не всегда может быть обработано немедленно, так как в Visual FoxPro не может быть начато выполнение следующей процедуры, пока не завершилась предыдущая. Таким образом, если к моменту срабатывания таймера Ваше приложение выполняет некие длительные вычисления, опросы и т.п., обработка этого события таймера будет поставлена в очередь.

Размещение элемента управления Timer на форме

Таймера помещается на форму так же, как и любой другой элемент управления: в панели инструментов Form Controls нажмите кнопку Timer и разместите элемент управления в нужном месте формы.

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

Инициализация элемента управления Timer

Элемент управления Timer имеет два ключевых свойства.

Свойство | Установка
Enabled | Если Вы хотите, чтобы таймер начал работать с момента загрузки формы, установите это свойство в .T. (истина). В противном случае оставьте его установленным в .F. (ложь). Для запуска таймера можно использовать внешнее событие, например, нажатие кнопки и т.п.
Interval | Число миллисекунд между событиями таймера..

Обратите внимание на отличие свойства Enabled таймера от аналогичного свойства других объектов. Для большинства объектов свойство Enabled определяет, может ли объект реагировать на событие, вызванное пользователем. У таймера свойство Enabled, предназначено для запуска и остановки элемента управления.

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

Note Примечание

Чем чаще срабатывает таймер, тем больше процессорного времени будет использовано на обработку этого события. Это может значительно замедлить выполнение приложения. Не задавайте без большой необходимости слишком маленький интервал.

Обработка срабатывания таймера

Событие Timer. Обычно, реакцией на это событие является проверка некоторого общего условия, например, системных часов.

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

Приложение, реализующее часы состоит из таймера и метки с рамкой. На этапе разработки это выглядит примерно так:

Цифровые часы

FoxProFormLabel screenshot

Во время выполнения таймер невидим.

Элемент управления | Свойство | Установка
lblTime | Caption |
Timer1 | Interval | 500 (полсекунды)
Timer1 | Enabled | True (истина)

Единственная процедура в приложении это процедура события Timer:

CopyCode image Скопировать код
IF THISFORM.lblTime.Caption != Time()
   THISFORM.lblTime.Caption = Time()
ENDIF

Свойство Interval установлено равным 500 миллисекундам, следуя описанному выше правилу о том, что интервал рекомендуется задавать вдвое меньшим, чем желаемая точность. Желаемая точность в данном случае - 1 секунда. Можно сделать обновление данных метки дважды в секунду. Однако, в этом случае может появиться нежелательное мерцание, так что этого не рекомендуется делать.

Смотрите также

Задачи

Как: Расширение возможностей отображения элементов управления

Справочное руководство

Элементы управления для выполнения специфических действий
Элементы управления для отображения информации

Понятия

Элементы управления и объекты более ранних версий

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Controls for Extending Forms

Visual FoxPro 9.0
Элементы управления для расширения форм
Смотрите также
CollapseAll image

Страничные фреймы (Page frames) позволяют вам расширить поверхность ваших форм, а элементы ActiveX позволяют расширить функциональность ваших форм.

Expand image Использование страничных фреймов

Страничный фрейм представляет собой контейнерный объект, который содержит страницы. Страницы, в свою очередь содержат элементы управления. Свойства могут быть установлены на уровнях страничного фрейма, страницы или элемента управления.

Для того, чтобы увидеть примеры использования страничных фреймов

  1. Запустите приложение Solution.app, расположенное в каталоге Visual FoxPro ...\Samples\Solution.

  2. В дереве навигации щелкните на Controls и затем на Page frame.

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

Страничный фрейм определяет местнонахождение страниц и видимую ее часть. Что имеется в виду? Верхний левый угол страницы привязан к верхнему левому углу страничного фрейма. Элементы управления могут быть помещены на страницу таким орбазом, что они уйдут за пределы видимой части, ограниченной размерами страничного фрейма. Эти элементы остаются активными, но они не видимы, до тех пор, пока вы программно не измените свойства Height и Width страничного фрейма для того, чтобы сделать эти элементы управления видимыми.

Expand image Использование страниц в приложении

С помощью страничных фреймов и страниц вы можете создать снабженные закладками формы или диалоговые блоки с теми же возможностями интерфейса, который вы можете наблюдать в Project Manager.

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

Приложение Solution.app, в каталоге Visual FoxPro ...\Samples\Solution, содержит два примера со страничными фреймами, которые демонстрируют фреймы с закладками и без них.

Expand image Добавление страничных фреймов в форму

Вы можете включить в любую форму один или более страничный фрейм.

Для добавления страничного фрейма в форму

  1. В панели инструментов Form Controls выберите кнопку Page Frame и перетащите ее в окно формы и установите размер элемента.

  2. Установите свойство PageCount указывающее номер страниц, включенных в во фрейм.

  3. Из контекстного меню фрейма выберите Edit для активизации фрейма как контейнера. Изменение бордюра страничного фрейма укажет, что фрейм стал активным.

  4. Добавьте элементы управления тем же способом, каким вы добавляете их в форму.

    Замечание Замечание

    Подобно другим контейнерным элементам управления, вы должны выбрать страничный фрейм с последующим выбором Edit из контекстного меню, вызываемого щелчком по правой клавише мыши, или выборо контейнера из выпадающего списка Object в окне Properties, так чтобы контейнер был выбран (имел широкий бордюр) до того, как вы будете добавлять в разработанные вами страницы элементы управления. Если вы активизируете страницу, как контейнер, до введения элементов управления, то элементы управления будут помещены в форму вместо страницы, хотя может показаться что они видны на странице.

Для выбора разных страниц в страничном фрейме

  1. Активизируйте страничный фрейм с помощью щелчка по правой клавише мыши с последующим выбором Edit из контекстного меню.

  2. Выберите закладку желаемой страницы.

    - или -

  • выберите страницу в боксе Object в окне Properties.

    - или -

  • Выберите страницу в боксе Page внизу дизайнера форм.

Expand image Добавление элементов управления в страницу

Когда вы добавляете элементы управления в страницу, они видимы и активны только тогда, когда активна их страница.

Для добавления элементов управления в страницу

  1. В боксе Object окна Properties выберите страницу. Появится бордюр, указываюший, что можете управлять объектами на странице.

  2. В панеши инструментов Form Controls выберите кнопку желаемого элемента управления, перетащите его на страницу с одновременной установкой его размера .

Expand image Управление длинными заголовками на закладках страниц

Если заголовок на вашей закладке длинее, чем он длина, которая может отображена, то у вас есть две возможности:

  • Установите свойство TabStretch в 1 - Single Row для только тех символов заголовка, которые влезают на закладку. Single Row является значением по умолчанию.

  • Установите свойство TabStretch в 0 - Multiple Rows с тем чтобы, закладки могли собраться в многоэтажный набор и могли быть видимыми.

Expand image Изменение страниц программным методом

Вне зависимости от того, как отображается страничный фрейм - с закладками или без, вы можете сделать страницу активной используя свойство ActivePage. Например, приведенный ниже код в процедуре события Click командной кнопки на форме делаем третью страницу страничного фрейма активной:

CopyCode image Скопировать код
THISFORM.pgfOptions.ActivePage = 3

Основные свойства страничного фрейма

Приведенные ниже свойства страничного фрейма обычно устанавливаются в design time.

Свойство | Описание
Tabs | Определеяет видимость закладок для страниц.
TabStyle | Будут ли все закладки иметь один размер и суммарно по длине равны длине страничного фрейма.
PageCount | Число страниц в страничном фрейме.

Expand image Смотрите также

Задачи

Как: сделать элементы управления более легкими в использовании
Как: управлять объектами OLE Container Control и OLE Bound Control

Справочное руководство

Обзор компонентов ActiveX

Концепции

Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ActiveX Controls Overview

Visual FoxPro 9.0
Обзор элементов управления ActiveX
Смотрите также
CollapseAll image

Элементы управления ActiveX (файлы .ocx) инсталлируются по умолчанию при инсталляции Visual FoxPro. Вы можете распространять элементы управления ActiveX совместно с вашими приложениями. Элементы управления ActiveX добавляются в форму приложения с использованием Visual FoxPro элемента управления OLE container.

В приведенной ниже таблице перечислены файлы .ocx, которые инсталлируются вместе с Visual FoxPro, а также элементы ActiveX, содержащиеся в каждом файле.

Note Замечание

Файлы справки для этих элементов ActiveX доступны при установленном MSDN.

Файл | Элементы управления
MSCOMCt2.ocx | Animation control, DateTimePicker control, FlatScrollBar control, MonthView control, UpDown control
MCI32.ocx | Multimedia MCI control
MSChrt20.ocx | MsChart control
MSCOMCtl.ocx | ImageCombo control, ImageList control, ListView control, ProgressBar control, Slider control, StatusBar control, TabStrip control, Toolbar control, TreeView control
MSCOMM32.ocx | MSComm control
MSInet.ocx | Microsoft Internet Transfer control
MSMapi32.ocx | MAPIMessages control, MAPISession control
MSMask32.ocx | Masked Edit control
MSWinsck.ocx | Winsock control
Picclp32.ocx | PictureClip control
Richtx32.ocx | RichTextBox control
Sysinfo.ocx | SysInfo control
Note Замечание

В ранних версиях Visual FoxPro, файл, содержащий элементы управления ActiveX был переименован из Comctl32.ocx в MSCOMCtl.ocx. Даже после обновления Visual FoxPro для файла MSCOMCtl.ocx, старые формы с этими элементами управления продолжают ссылаться на старый файл, так как ActiveX связаны с их свойством OleClass. Элементы управления ActiveX из старогоо файла COMCtl32.ocx имеют версию 1. Например, свойство OleClass элемента управления ListView в ранней форме покажет:

CopyCode image Скопировать код
COMCTL.ListViewCtrl.1

Обновленные элементы управления ActiveX в файле Mscomctl.ocx имеют версию 2 (или выше). Например:

CopyCode image Скопировать код
COMCTL.TreeViewCtrl.2

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

Expand image Смотрите также

Справочное руководство

Элементы управления для расширения форм
Закладка Controls (Элементы управления) диалогового окна Options (Параметры)
Элемент управления OLE Container

Прочие ресурсы

Совместное использование информации и введение OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Manipulate Objects with OLE Container Control and OLE Bound Control

Visual FoxPro 9.0
Как: управлять объектами с помощью OLE Container Control и OLE Bound Control
Смотрите также

Вы можете добавить объект OLE в форму щелчком по инструменту OLE Container Control с последующим перетаскиванием его в окно Form для установки размера. Этот инструмент представляет собой объект сервера, такого как Microsoft Excel или Word, или же он может представлять элемент ActiveX, если элементы ActiveX (файлы с расширением .ocx) имеются в каталоге SYSTEM операционной системы Windows. Для получения общей информации об управляющих элементах ActiveX, смотрите описание Совместное использование информации и введение OLE.

Управляющий элемент - OLE Bound Control

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

Для создания связанного OLE объекта

  1. Создайте или откройте форму.

  2. В панели инструментов Form Controls, выберите кнопку OLE Bound Control, перетащите ее на форму и установите размер.

  3. Свяжите OLE объект с полем типа General путем соответствующей установки свойства объекта ControlSource.

Посмотрите пример использования OLE Bound control в Совместное использование информации и введение OLE.

Смотрите также

Задачи

Как: сделать управляющие элементы более легкими в использовании
Как: отобразить управляющие элементы в колонках решетки (Grid)

Справочное руководство

Управляющие элементы для расширения форм

Концепции

Управляющие элементы и объекты, созданные в ранних версиях

Прочие ресурсы

Использование управляющих элементов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Controls and Data Concepts

Visual FoxPro 9.0
Управляющие элементы и концепции данных
Смотрите также

В ваших формах вы можете использовать два типа управляющих элементов: элементы, которые привязаны к данных и элементы, у которых такая привязка отсутствует. Когда пользователь работает с элементами, которые привязаны к данным, то значения, которые он вводит или изменяет сохраняются в источнике данных, в качестве которого может выступать поле таблицы, курсора или переменная памяти. Вы можете привязать управляющий элемент к данных путем установки его свойства ControlSource, или, в случае решетки (grid) с помощью его свойства RecordSource.

Если вы не устанавливаете значения для свойства ControlSource, то значение, которое пользователь вводит или выбирает, хранится как значение свойства. Значение не зрписывается на диск и сохраняется в памяти только на время жизни самого управляющего элемента.

Воздействие установки свойства ControlSource на управляющие эелементы
Управляющий элемент Воздействие

Check box

Если свойство ControlSource представляет собой поле таблицы, тогда значения NULL, логические true (.T.) или false (.F.), или численные значения 0, 1 или 2 в поле, указанном в качестве источника ControlSource будут служить причиной выборки checkbox'а, его очистки или затенения, при перемещении указателя записи по таблице.

Column

Если свойство ControlSource представляет собой поле таблицы, то пользователь непосредственно редактирует данные поля при редактировании данных в колонке. Для привязки всей решетки (grid) к данным, установите соответствующим образом значение его свойства RecordSource.

List box или Combo box

Если ControlSource представляет собой переменную, то значение выбранное пользователем из списка, сохраняется в этой переменной. Если ControlSource представляет поле в таблице, то выбранное из списка значение сохраняется в таблице в записи, на которой стоит указатель. Если элемент в списке соответствует значению поля в таблице, то такой элемент списка выбирается в списке - подсвечивается, при перемещении указателя записи по таблице.

Option-кнопка

Если ControlSource представляет собой численное поле, то в поле записывается либо 0, либо единица, в зависимости от того, выбрана или нет данная кнопка.

Если ControlSource представляет собой логическое поле, то в поле записываются либо .T., либо .F., в зависимости от того, выбрана или нет данная кнопка. Если указатель записи перемещается по таблице, вид радиокнопки изменяется, отражая изменения значения в связанном поле..

Если ControlSource является свойством элемента группы радиокнопок OptionGroup (а не конкретной кнопки) и представляет собой символьное поле, то в поле сохраняется заголовок конкретной выбранной кнопки. Отметьте, что источником для элемента отдельная радиокнопка (в отличие от элемента OptionGroup) не может быть поле символьного типа, так как в протиивном случае Visual FoxPro сообщит о несоответствии типов данных, когда форма будет запущена.

Spinner

Счетчик (spinner) отображает и записывает численные значения в связанные с ним поля или переменные.

Text box или Edit box

Значение поля таблицы отображается в текстовом блоке. Изменения, которые производит пользователь с этим значением записываются в таблицу. Перемещение указателя записи воздействует на значение свойства Value текстового блока.

Смотрите также

Задачи

Как: создать управляющие элементы перетаскиванием полей или таблиц
Как: установить номер радиокнопки в группе радиокнопок

Концепции

Установка свойства радокнопки

Прочие ресурсы

Использование управляющих элементов (Controls)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Controls by Dragging and Dropping Fields or Tables

Visual FoxPro 9.0
Как: создавать элементы управления перетаскиванием (Dragging and Dropping) полей или таблиц
Смотрите также

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

Для разметки типов полей в классы

  1. Из меню Tools (Инструменты) выберите Options (Настройки).

  2. Перейдите на закладку Field Mapping (Разметка полей).

  3. Для изменения разметки типа поля, выберите строку в области Map fields to classes for drag and drop (Разметка полей в классы для перетаскивания) и выберие Modify (Изменить).

  4. В диалоговом окне Modify Field Mapping (Изменить разметку поля) выберите тип поля из списка Type (Тип).

    Для установки класса, экземпляр которого будет создаваться всякий раз, когда вы перетаскиваете таблицу или множество полей, выберите Multiple (Множественные) в списке Type (Тип).

  5. Для выбора библиотеки класса (файл .vcx), который содержит элемент управления, который вы желаете связать с выбранным типом поля, щелкните по Browse (Обзор).

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

  7. Щелкните по OK для подтверждения выбора разметки.

  8. Установка параметров в области Database options (Настройки базы данных):

    Для... выполните...

    создания метки в дополнение к связанному элементу, когда вы перетаскиваете поле или таблицу в форму или контейнер

    перетащите заголовок поля

    установки свойства Comment (Комментарий) связанного элемента управления для текста, указанного в блоке Field Comment (Комментарий поля) на закладке Fields (Поля) Конструктора таблиц - Table Designer (Visual FoxPro)

    скопируйте поле комментария

    установки свойства InputMask связанного элемента управления для маски ввода, указанной на закладке Fields (Поля) Конструктора таблиц - Table Designer (Visual FoxPro)

    скопируйте маску ввода поля

    установки свойства Format связанного элемента управления для формата, указанного на закладке Fields (Поля) Конструктора таблиц - Table Designer (Visual FoxPro)

    скопируйте поле формата
Note Замечание

Вы можете, кроме того, указать классы, которые будут использованы в операциях перетаскивания в блоке Display Class (Класс отображения) на закладке Fields (Поля) конструктора таблиц Table Designer. Установка, сделанная в конструкторе таблиц переписывает установки, которые вы указали ранее в настройках.

Быстрое создание единичного элемента управления

Вы можете быстро создать единичный элемент управления на основе разметки типа поля, который вы указали на закладке Field Mapping (Разметка полей) в диалоговом окне Options (Настройки)(Visual FoxPro). Кроме того, вы можете переписать разметки, используемые по умолчанию и создать различные типы классов.

Для создания единичного элемента управления

  • Щелкните по любому полю в Data Environment формы и перетащите его на поверхность формы.

    Note Замечание

    Свойство ControlSource вновь созданного элемента управления устанавливается в свойство Name выбранного поля.

Для создания единичного элемента управления и переписи текущей разметки поля

  1. Выполните щелчок по правой клавише мыши на любом поле в Data Environment формы и и удерживая ее нажатой, перетащите поле на форму.

  2. Из контекстного меню выберите Create Other Control Here (Создать здесь другой элемент управления).

  3. В диалоговом окне Open (Открыть) выберите файл библиотеки классов (.vcx).

  4. Выберите тип элемента управления, который вы желаете создать из блока Class Name (Имя класса) и щелкните по Open (Открыть).

Быстрое создание множества элементов управления

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

Для создания элемента управления grid

  • Выберите любую таблицу в Data Environment, (Конструкторе баз данных) Database Designer (Visual FoxPro) или в (Окне диспетчера проекта) Project Manager Window и перетащите ее на форму.

Для создание множества элементов управления

  1. Выполните щелчок по правой клавише мыши на любой таблице или на нескольких полях в Data Environment формы, в Конструкторе таблиц или в Диспетчере проекта, и удерживая ее нажатой, перетащите их на поверхность формы.

  2. Из контекстного меню выберите Create Multiple Controls Here ((Создать здесь множество элементов управления).

Смотрите также

Задачи

Как: добавить элементы управления в форму, созданную мастером
Как: создать новую форму
Как: создавать формы с локальными и удаленными данными
Как: добавить в форму элементы управления Visual FoxPro

Справочное руководство

Конструктор Data Environment

Концепции

Концепции элементов управления и данных

Прочие ресурсы

Создание форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Creating Drag-and-Drop Controls

Visual FoxPro 9.0
Создание Элементов Управления Drag-and-Drop (перетаскивание с последующим высвобождением)
См. также

При разработке приложений на Visual FoxPro вы можете перетаскивать текст, файлы и объекты из Галереи Компонентов ( Component Gallery ), Менеджера проектов ( Project Manager ), Конструктора Баз Данных(Database Designer) и Конструктора Среды Окружения( Data Environment Designer) в желаемое место на форме и отчете. Visual FoxPro позволяет применять возможности drag-and-drop в ваших программах во время их выполнения.

Операции drag-and-drop допускаются и между несколькими формами. Пользователь может перетаскивать текст, файлы и элементы управления в пределах экрана куда угодно, включая и другие формы.

Visual FoxPro поддерживает два типа функциональностей drag-and-drop: OLE drag-and-drop и control drag-and-drop. OLE drag-and-drop позволяет перетаскивать данные между вашим и другими приложениями, которые поддерживают OLE drag-and-drop (такими как Visual FoxPro, Visual Basic, Windows Explorer, Microsoft Word and Excel, and т.п.) В распространяемых приложениях можно перетаскивать данные между элементами управления вашего приложения или элементами управления вашего приложения и другими приложениями Window, поддерживающими OLE drag-and-drop.

Элементы управления drag-and-drop поддерживаются и в ранних версиях Visual FoxPro. Когда пользователь перетаскивает элемент управления, то рядом с указателем мыши появляется рисунок в виде серого прямоугольника. Можно изменить этот рисунок на другой, если указать файл курсора (.cur) в свойстве DragIcon переносимого элемента управления.

В этом разделе описывается управление операцией drag-and-drop. Более подробная информация об OLE drag-and-drop приведена в OLE Drag-and-Drop.

Чтобы увидеть пример управления операцией drag-and-drop, выполните приложение Solution.app из папки Visual FoxPro ...\Samples\Solution. В появившемся дереве вначале кликните Controls, а затем General.

Note Замечание

Элемент управления во время перетаскивания не меняет своего расположения автоматически. Это можно сделать вручную как описано в разделе "Causing Control Movement in a Drag-and-Drop Operation." ("Процесс перетаскивания элемента управления при операции Drag-and-Drop"). Зачастую перетаскивание используется только для обозначения того, что какое-то действие должно быть произведено; при этом элемент управления сохраняет свое первоначальное расположение и после того как пользователь отпустит кнопку мыши.

Операцией перетаскивания можно управлять с помощью следующих свойств, событий и метода:

Для того, чтобы | Используйте
Включить режим автоматического или ручного перетаскивания элемента управления. | Свойство DragMode
Указать какую иконку отображать при перетаскивании элемента управления. | Свойство DragIcon
Узнать когда элемент управления окажется перенесен на искомый объект. | Событие DragDrop
Узнать когда элемент управления при перетаскивании окажется над искомым объектом. | Событие DragOver
Начать или остановить ручное перетаскивание. | Метод Drag

Все визуальные элементы управления могут перетаскиваться во време выполнения приложения и на всех на них распространяются правила, описанные в предыдущей таблице. Формы имеют возможность обработки событий DragDrop и DragOver, но не содержат свойств DragMode and DragIcon.

Включение Режима Автоматического Перетаскивания

Чтобы пользователь мог перетаскивать элемент управления всякий раз, когда он кликнет на него, установите свойство этого элемента управления DragMode равным 1. Это действие включит режим автоматического перетаскивания, т.е. сделает перетаскивание возможным всегда.

Note Замечание

Во время операции автоматического перетаскивания элемент управления не реагирует на другие события, происходящие при работе с мышью.

Реакция на Высвобождение Перетаскиваемого Объекта

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

При обсуждении операций drag-and-drop очень важны два элемента: source и target.

Элемент | Значение
Source (Источник) | Элемент управления, который перетаскивается.
Target (Цель) | Объект, на который перетаскивается элемент управления. Этот объект идентифицируется событием DragDrop и может быть формой или другим элементом управления.

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

Событие DragDrop получает три параметра:: oSource, nXCoord и nYCoord. Параметр oSource ссылается на элемент управления, который был высвобожден над целью. Параметры nXCoord и nYCoord содержат, соответственно, горизонтальную и вертикальную координаты указателя мыши над целью.

Т.к. oSource является объектом, то вы используете его просто как элемент управления, на свойства которого можно сослаться или вызвать один из его методов. Например, следующие операторы в коде события DragDrop проверяют не высвободил ли пользователь перетаскиваемый элемент управления над самим собой:

В CopyCode image Копировать Код
LPARAMETERS oSource, nXCoord, nYCoord
IF oSource.Name != THIS.Name
   * Выбор некоего действия.
ELSE
   * Элемент управления высвобожден над самим собой.
   * Выбор другого действия.
ENDIF

Все возможные типы элементов управления, на которые указывает параметр oSource, имеют свойство Visible. Следовательно, вы можете сделать элемент управления невидимым если высвободить его над определенной частью формы или над другим элементом управления. Следующая строка в коде события DragDrop элемента управления Image является причиной того, что высвобождаемый над изображением элемент управления становится невидимым:

В CopyCode image Копировать Код
LPARAMETERS oSource, nXCoord, nYCoord
oSource.Visible = .F.

Указание Допустимых для Высвобождения Зон

Когда вы разрешаете функциональность drag-and-drop, то можете помочь пользователю вашего приложения, включив в него визуальное объяснение того где он может, а где не может высвобождать элемент управления. Лучший способ для этого - это изменение свойства DragIcon в коде события DragOver.

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

В CopyCode image Копировать код
LPARAMETERS oSource, nXCoord, nYCoord, nState
DO CASE
   CASE nState = 0 && Enter
      THISFORM.cOldIcon = oSource.DragIcon
      oSource.DragIcon = "NODROP01.CUR"
   CASE nState = 1 && Leave
      oSource.DragIcon = THISFORM.cOldIcon
ENDCASE

Управление Началом и Завершением Перетаскивания

Ручная установка свойства DragMode дает больше возможностей по управлению перетаскиванием по сравнению с Автоматической установкой. Ручная установка позволяет указать когда элемент управления можно перетаскивать, а когда - нет. (Когда DragMode установлен в Автоматический режим, то элемент управления возможно перетаскивать до тех пор, пока этот режим не сменится.)

Например, Вы можете позволить перетаскивание в ответ на события MouseDown и MouseUp, или в ответ на нажатие клавиатуры или выполнение команды меню. Кроме того Ручная установка позволит узнать момент наступления события MouseDown перед началом перетаскивания для того, чтобы вы смогли запомнить позицию указателя мыши.

Для того, чтобы разрешить перетаскивание в коде не изменяйте умалчиваемое значение свойства DragMode (0 - Ручной). Затем задействуйте метод Drag, в котором можно начать или завершить перетаскивание элемента управления.

Если параметр nAction равен 1, то метод Drag инициирует перетаскивание элемента управления. Если параметр nAction равен 2, то элемент управления высвободится и случится событие DragDrop. Параметр nAction равный 0 отменяет перетаскивание. Эффект подобен тому, который дает присвоение параметру значения 2, но при этом событие DragDrop не возникнет.

Note Замечание

Чтобы произвести операцию drag and drop из списка (list box) лучше всего вызывать метод Drag в коде события MouseMove исходного списка (list box) после того как будет определено, что кнопка мыши нажата. Для примера, смотрите форму Lmover.scx в папке ...\Samples\Solution\Controls\Lists.

Перемещение Элемента Управления при проведении Операции Drag-and-Drop

Вы можете пожелать, чтобы исходный элемент управления изменил свою позицию после того, как пользователь отпустит кнопку мыши. Для перемещения элемента управления в новую позицию используйте метод Move. Например, следующий код переместит перетаскиваемый элемент управления в ту позицию, в которой он высвободится:

В CopyCode image Копировать код
LPARAMETERS oSource, nXCoord, nYCoord
oSource.Move(nXCoord, nYCoord)

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

В CopyCode image Копировать код
LPARAMETERS oSource, nXCoord, nYCoord
oSource.Move ((nXCoord - oSource.Width / 2), ;
   (nYCoord - oSource.Height / 2))

Этот код будет работает наилучшим образом когда свойство DragIconустановлено в значение отличное от умалчиваемого (серый прямоугольник). Если используется серый прямоугольник, то пользователь обычно хочет переместить элемент управления точно в конечную позицию серого прямоугольника. Чтобы достичь этого, запишите начальную позицию указателя мыши в исходном элементе управления, а затем используйте эту позицию как смещение при конечном позиционировании элемента управления. Пример такого действия приведен в форме Ddrop.scx, расположенной в папке ...\Samples\Solution\Forms.

Для записи начальной позиции мыши

  1. Установите ручной режим перетаскивания элемента управления.

  2. Объявите в форме два свойства-переменные nDragX и nDragY.

  3. Начните перемещение когда произойдет событие MouseDown. При этом, сохраните в коде этого события значение координат nXCoord и nYCoord, соответственно, в свойствах-переменных nDragX и nDragY.

  4. Завершите перемещение когда произойдет событие MouseUp.

См. также

Задачи

Руководство: Implement Intrinsic and Manual OLE Drag-and-Drop Modes (Реализация Встроенного и Ручного Режимов OLE Drag-and-Drop )
Allow Users to Drag and Drop Controls Sample

Ссылки

OLE Drag-and-Drop
Design-Time OLE Drag-and-Drop Support (Поддержка OLE Drag-and-Drop на Этапе Разработки )

Другие ресурсы

Using Controls (Использование Элементов Управления)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


How to: Make Controls Easier to Use

Visual FoxPro 9.0
How to: Make Controls Easier to Use
Смотрите также

Вы можете сделать интерфейс пользователя более понятным и легким в использования с помощью создания ключей доступа (access keys), установки порядка обхода элементов на форме (tab order), отображения текста подсказки через ToolTip и деактивацией выбранных элементов управления.

Создания ключей доступа (Access Keys)

Вы можете создать ключи доступа для того, чтобы пользователь мог выбрать элемент управления формы в любом месте формы простым нажатием сочетания клавиши ALT и определенной вами.

Для указания ключа доступа для элемента управления

  • В свойстве Caption элемента управления, предварите желаемую букву обратным слешем (\), перед которым нужно указать левую угловую скобку (<).

Для получения более подробной информации смотрите Свойство Caption (Visual FoxPro).

Например, приведенная ниже установка для свойства Caption командной кнопки создает ключ доступа, использующий букву "O":

CopyCode image Скопировать код
Caption = "\<Open"

Пользователь может выбрать такую командную кнопку в любом месте формы нажатием комбинации клавиш ALT+O.

Для указания ключа доступа для элемента управления textbox или editbox

  1. Создайте метку (элемент управления label), содержащую (\) и левую угловую скобку (<), предваряющие желаемую букву, например, C\<ustomer.

  2. Убедитесь что, label в схеме обхода элементов формы представляет собой элемент управления, размещенный в схеме непосредственно перед желаемым textbox или editbox, на котором вы желаете установить фокус.

Установка порядка обхода элементов управления формы

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

Для изменения порядка обхода элементов управления на форме

  1. Откройте форму Form Designer (Конструктор форм).

  2. В меню View (Обзор) перейдите к Tab Order (Порядок обхода) и щелкните на Assign Interactively (Присвоить интерактивно).

    Note Совет

    Вы можете, кроме того, щелкнуть по Set Tab Order - Установить порядок обхода в полоске инструментов Form Designer (Конструктор форм). Для установки порядка обхода с использованием списка введенных в форму элементов управления - щелкните по Assign by List - Присвоить по списку.

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

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

  5. Когда вы закончите - щелкните в любом месте, вне этих боксов с цифрами порядка обхода..

Вы можете, кроме того, установить метод по умолчанию для присвоения порядка обхода элементов формы по списку с помощью установки опции Tab на закладке Forms (Формы) в диалоговом окне Options (Опции) (Visual FoxPro).

Вы можете установить порядок выбора для радио- и командных кнопок внутри групп элементов управления. Пользователь перемещается к первому элементу группы с помощью клавиши tab, а затем использует клавиши навигации курсора для перемещения внутри группы элементов управления.

Для изменения порядка выбора кнопок внутри группы элементов управления

  1. В Окне Properties - Свойства (Окно свойства)(Visual FoxPro), выберите группу в списке Object - Объект. Тонкая рамка указывает, что группа находится в режиме редактирования.

  2. Выберите окно Form Designer (Конструктор форм).

  3. В меню View (Обзор) выберите Tab Order (Порядок обхода).

  4. Установите порядок выбора таким, как вы желаете.

Установка текста ToolTip

Каждый элемент управления имеет свойство ToolTipText, которое позволяет вам указать короткий текст справки, когда пользователь перемещает указатель мыши на элементом управления и делает при этом небольшую паузу. Вывод таких подсказок особенно полезен при использовании на кнопках иконок вместо текста.

Для указания текста ToolTip

  • В Окне Properties - Свойства(Visual FoxPro) выберите свойство ToolTipText и впечатайте желаемый текст.

Будут ли показаны тексты ToolTip или нет, определяет свойство формы ShowTips.

Изменение отображения указателя мыши

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

Для изменения вида указателя мыши

  • Создайте метод, который будет изменять указатель мыши для различных состояний приложения.

Например, в классе tsBaseForm образца приложения Tasmanian Traders, метод WaitMode изменяет указатель мыши с используемого по умолчанию в курсор ожидания. До запуска любого кода, который может быть вовлечен в процесс, приложение Tasmanian Traders посылает значение true (.T.) методу WaitMode для изменения указателя мыши, что позволяет пользователю быть осведомленным о том, что идет какой-то процесс. После завершения процесса вызывается WaitMode с параметром false (.F.), что восстанавливает указатель мыши.

CopyCode image Скопировать код
* WaitMode Method of tsBaseForm class
LPARAMETERS tlWaitMode

lnMousePointer = IIF(tlWaitMode, MOUSE_HOURGLASS, MOUSE_DEFAULT)
THISFORM.MousePointer = lnMousePointer
THISFORM.SetAll('MousePointer', lnMousePointer)

  • Если вы желаете изменить указатель мыши в что-либо отличающееся от используемого по умолчанию, установите свойство MousePointer в значение 99-Custom и установите свойство MouseIcon в ваш собственный файл курсора (.cur) или иконки (.ico). Для получения более подробной информации смотрите описание свойств MousePointer и MouseIcon.

Активация и запрещение элементов управления

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

Для активации или запрещения элемента управления

  • Установите свойство Enabled в True (.T.) или в False (.F.) соответственно.

Для получения более подробной информации смотрите описание свойства Enabled (Visual FoxPro).

Вы можете активизировать или запретить индивидуальные радио-кнопки или командные кнопки в группах путем установки свойства Enabled для каждой кнопки в True (.T.) или False (.F.). Вы можете, кроме того, запретить или разрешить все кнопки в группе установкой свойства Enabled группы, так как это делает приведенная ниже строка кода:

CopyCode image Скопировать код
frmForm1.cmgCommandGroup1.Enabled = .T.

Когда вы устанавливаете свойство Enabled группы радио-кнопок командных кнопок в (.F.), все кнопки в группе запрещены для доступа, но не отображаются в цветах, определенных установками для запрещенных ForeColor BackColor. Установка свойства Enabled группы не изменяет свойства Enabled индивидуальных кнопок группы. Это предоставляет вам возможность запрещать доступ к группе кнопок, в которой часть кнопок запрещена. При разрешении доступа к группе, те кнопки, которые были запрещены к доступу, останутся запрещенными.

Если вы желаете запретить все кнопки в группе, к которой они появятся запрещенными, и вас не интересует их предыдущее состояние, вы можете использовать метод SetAll группы, примерно так:

CopyCode image Скопировать код
frmForm1.opgOptionGroup1.SetAll("Enabled", .F.)

Смотрите также

Задачи

Как: отображать элементы управления в колонках Grid

Справочное руководство

Элементы управления для расширения форм
Свойство Caption (Visual FoxPro)
Окно Properties - Свойства(Visual FoxPro)

Концепции

Элементы управления и объекты, созданные в ранних версиях

Прочие ресурсы

Использование элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Designing Menus and Toolbars

Visual FoxPro 9.0
Проектирование Меню (Menus) и Инструментальных панелей (Toolbars)

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

Пользователи часто просматривают меню перед тем как начать подробно знакомится с вашим приложением. Если ваши меню разработано хорошо, то пользователи смогут интуитивно понять возможности вашего приложения, основываясь только на организации меню и его содержимом. С помощью Конструктора Меню Visual FoxPro (Menu Designer) вы сможете создать меню, которые улучшат качество ваших приложений.

Каждая часть приложений Visual FoxPro может иметь свою собственную систему меню или наборов меню. Следующие темы описывают как создать систему меню. Подробнее о добавлении меню к приложению смотрите в Компиляция Приложения (Compiling an Application ).

В этом разделе

Создание Системы Меню

Описывается конструктор Меню, с помощью которого создаются меню, подменю и опции меню.

Создание Меню, Всплывающих Меню, Пунктов Меню и Подменю

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

Руководство: Добавление Кода Завершения в Систему Меню

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

Руководство: Добавление Кода Настройки в Систему Меню

Объясняется, как модифицировать систему меню, добавив в него код настройки.

Руководство: Назначение Клавиш Доступа и Клавишных Сокращений

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

Руководство: Управление Меню на Стадии Выполнения (Control Menus at Run Time)

Описывается как управлять меню на стадии выполнения приложения.

Руководство: Активация и Деактивация Пунктов Меню

Объясняется, как активировать или деактивировать меню или его пункт по логическому условию.

Руководство: Включение Меню в Приложение

Объясняется, как включить систему меню в ваше приложение.

Руководство: Выполнение Задач при помощи Команд

Объясняется, как выполнить задачу, назначив команду меню или пункту меню.

Руководство: Выполнение Задач при помощи Процедур

Объясняется как назначить процедуру меню или пункту меню.

Создание Пользовательских Инструментальных Панелей

Обсуждается, как добавить инструментальные панели для упрощения или ускорения выполнения задач в вашем приложении.

Руководство: Тестирование и Отладка Системы Меню

Объясняется как просматривать систему меню во время ее разработки, и как тестировать и отлаживать ее после генерации программы меню.

Руководство: Модификация Системы Меню

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

Связанные Разделы

Создание Пользовательского Интерфейса

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

Создание Форм

Обеспечивает связи с темами по разработке форм в Visual FoxPro.

Работа с Формами

Обеспечивает связи с темами, в которых объясняется как работать с формами , которые вы можете запустить, скрыть или изменять различными способами.

Использование Элементов Управления

Обеспечивает связи с темами, которые объясняют как использовать элементы управления для управления взаимодействия пользователей с вашим приложением. Visual FoxPro предлагает ряд элементов управления для улучшения интерфейса вашего приложения.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Menu System Creation

Visual FoxPro 9.0
Создание Системы Меню

Большая часть работы по созданию системы меню сделана в Проектировщике Меню, где Вы создаете фактические меню, подменю, и варианты меню.

Создание системы меню потребует несколько шагов. Независимо от размера вашего приложения и сложностей меню которые Вы планируете использовать, Вы должны:

  • Планирвать и проектировать систему.

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

  • Создать меню и подменю.

    Определите заголовки меню, пункты меню, и подменю, используя Проектировщик Меню.

  • Назначить задания на системе так, чтобы она выполняла то, что Вы хотите.

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

  • Сгенерируйте программу меню.

  • Выполните программу, чтобы проверить систему.

В Этом Разделе

Рекомендации Проектирования систем Меню

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

Описывает как группировать пункты меню, чтобы повысить удобочитаемость ваших меню.
Как: Сохранить Меню как HTML

Описывает, как сохранить ваше меню как HTML файл.

Связанные Разделы

Проектирование Меню и Инструментальных панелей

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

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

Обеспечивает ссылки к темам, которые описывают, как формировать приложение и транслировать выполняемые компоненты прикладного проекта, в отдельный файл, который Вы можете распространять.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu System Design Guidelines

Visual FoxPro 9.0
Рекомендации Проектирования систем Меню
См. Также

Полноценность приложения может зависеть от качества его системы меню. Если Вы инвестируете время планирования в ваши меню, пользователи примут их с готовностью и изучат их быстро.

При проектировании вашей системы меню, придерживайтесь следующих рекомендаций:

  • Организуйте систему согласно пользовательских задач, а не согласно иерархии программ в приложении.

    Пользователи могут представлять мысленную модель того, как приложение организовано, изучая меню и его пункты. Чтобы проектировать эти меню и пункты меню эффективно, Вы должны знать, как ваши пользователи будут представлять работу и выполнять её.

  • Дайте каждому меню значимый заголовок.

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

    Если Вы не можете предсказать частоту и не можете определить логический порядок, то организуйте пункты меню в алфавитном порядке. Алфавитное упорядочение особенно эффективно, когда меню содержит боле восьми элементов. С таким количеством пунктов, пользователь тратит много времени, просматривая их; алфавитное упорядочение ускоряет просмотр.

  • Ставьте разделители между логическими группами пунктов меню.

  • Ограничьте количество пунктов меню одним экраном.

  • Если количество пунктов превышает длину экрана, создайте подменю для соответствующих пунктов меню.

  • Выберите клавиши доступа и горячие клавиши для меню и пунктов меню.

    Например, ALT+F могла быть клавишей доступа для меню File.

  • Используйте Фразы, которые ясно описывают пункты меню.

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

  • Используйте для пунктов смешаные наименования из символов верхнего и нижнего регистров.

См. Также

Другие Ресурсы

Создание Системы Меню
Создание Menus, Shortcut Menus, Пунктов Menu, и Submenus
Проектирование Menus и Toolbars
Как: Группировать Пункты меню
Компилирование Приложения

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Group Menu Items

Visual FoxPro 9.0
Как: Группировать пункты Меню
См. также

Для удобочитаемости разрабатываемых меню, обычно однотипные пункты группируют в группы. Например, в системе Visual FoxPro, в меню Edit сгруппированы разделы пунктов меню Undo и Redo; Cut, Copy, Paste, Paste Special, и Clear.

Для группировки пунктов меню

  1. В столбце Prompt, укажите "\-". Это создает разделительную линию в меню.

  2. Перетаскивая за левую кнопку данный раздел в списке пунктов меню можно добиться необходимого расположения данного разделителя.

См. также

Задачи

Как: Сохранить меню в формате HTML

Концепции

Создание системы меню

Другие ссылки

Построение Меню, Коротких (Shortcut) меню, Меню Выбора, а также Подменю
Разработка Меню и Toolbars
Компиляция Приложений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Save a Menu as HTML

Visual FoxPro 9.0
Как: Сохранить Меню в формате HTML
См. также

При выборе пункта Save As HTML в меню File Вы можете сохранить ваше меню в файле формата HTML (Hypertext Markup Language).

Для сохранения меню в формате HTML

  1. Откройте ваше меню.

  2. Выберите пунк Save As HTML в системном меню File. (Если меню изменялось - то будет запрос на сохранение последних изменений.)

  3. Введите имя файла в формате HTML, нажмите кнопку Save.

См. также

Задачи

Как: Группировать пункты Меню
Как: Добавить Меню в Приложение

Концепции

Создание системы Меню

Другие ссылки

Разработка Меню и служб Toolbars
Создание Меню, Коротких (Shortcut) меню, Меню выбора, или Подменю
Компиляция Приложения

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Creating Menus, Shortcut Menus, Menu Items, and Submenus

Visual FoxPro 9.0
Создание Меню, Контекстных (Shortcut) меню, Элементов Меню, и ПодМеню

После того, как вы спланировали и спроектировали вашу подсистему Меню, вы можете создавать его при помощи соответствующего Дизайнера Меню (Menu Designer). В вашем распоряжении имеются: подсистемы меню, контекстные меню, компонентные меню (Menu Items), Подменю, строки которых сгруппированы относительно родительских частей меню, и так далее. В следующей Секции приводятся разделы данной системы Помощи, которые детализируют соответствующие вопросы.

В данной Секции

Как: Создавать Меню и соответствующие ПодМеню

Описывается, как создавать подсистему Меню и связанных Подменю для управления вашим Приложением.

Как: Создавать Пункты Меню

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

Как: Создавать Контекстные (Shortcut) Меню

Описывается, как создавать Контекстные Меню, которые активируются при нажатии на правую кнопку мышки при активном текущем Контроле в форме вашего Приложения.

Связанные Секции

Проектирование Меню и и Инструментария Toolbars

Приводятся ссылки на разделы, в которых описывается, как проектировать и создавать Пользовательские Меню и Инструментальные секции Toolbars для Приложений Visual FoxPro.

Основополагающие принципы проектирования подсистем Меню

В данном разделе рассматриваются вопросы, как разрабатываемое вами Приложение выигрывает от качественно разработанной подсистемы Меню. Затраченное вами время на разработку качественного, продуманного Меню обеспечит быструю адаптацию Пользователя в среде вашего Приложения, быструю его обучаемость основным приемам работы с Приложением.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Create Menus and Submenus

Visual FoxPro 9.0
Как: Создавать Меню и ПодМеню
См. также

Вы можете создать собственное Меню используя дополнительную настройку существующего именю системы Visual FoxPro, или разработать независимую подсистему Меню для вашего Приложения. Для восстановления существующей подсистемы Меню Visual FoxPro, рекомендуется использовать системный инструментарий Quick Menu.

Для создания подсистемы Меню с помощью инструментария Quick Menu:

  1. В системном Окне Диспетчера Проектов, активируйте закладку Other (Другие), выберите Menus (Меню), а далее выберите New.

  2. Выберите Menu.

    Активируется соответствующий Menu Designer (Дизайнер Меню).

  3. Из системного меню Menu, выберите подпункт Quick Menu (Быстрое Меню).

    Menu Designer содержит информацию об элементах системного меню Visual FoxPro.

  4. Выполните настройку требуемых элементов имеющегося Меню.

    Например, чтобы разместить Заголовок Меню Customer (Клиент) перед заголовком меню Help (Помощь) рекомендуется использовать управляющий элемент Перемещения, размещенный слева от заголовка Меню, для добавления указанного раздела Меню используется кнопка Insert (Вставить), далее вводится текст Customer в столбце Prompt. После описанных действий получаем следующее:

    Настройка существующей Подсистемы Меню

    Note Совет

    Для перемещения Заголовка Меню в нужное место рекомендуется использовать управляющий элемент перемещения. Если вам необходим раздел Меню Help, то разместите его крайним справа, чтобы пользователь мог быстро его обнаружить.

  5. В системном меню Menu, выберите подпункт Generate (Генерация).

    Система Visual FoxPro запрашивает у вас имя Файла (.mnx), в котором будет сохранено созданное таким образом Меню. Этот файл представляет собой обычную Таблицу (.dbf), в которой сохраняется вся информация о созданной подсистеме Меню. После сохранения Меню, Visual FoxPro запрашивает у вас имя файла (.mpr), в который будет сгенерирован программный Код создания и активации рассматриваемого Меню.

Создание Меню типа SDI

Меню типа SDI применяются для Системных Окон типа Single-Document Interface (SDI). Для создания меню типа SDI вам необходимо в соответствующем Дизайнере Меню указать, что создаваемое меню будет использоваться в Формах типа SDI. В остальных характеристиках, процесс создания подсистемы Меню не отличается от обычных Меню.

Для построения подсистемы Меню типа SDI:

  • После открытия системного окна Дизайнеры подсистем Меню и Контекстов (Shortcut), выберите подпункт General Options из системного меню View (Вид), и активируйте подпункт Top-Level Form (для формы самого верхнего уровня).

Note Обратите Внимание

Меню для Форма типа SDI (где: ShowWindow = 2) не поддерживаются, если установлено значение свойства HalfHeightCaption = True (.T.).

Создание ПодМеню (Submenus)

Для каждого Элемента (раздела) подсистемы Меню, вы можете создать свое собственное ПодМеню, которое может содержать дополнительные элементы Меню.

Для создания ПодМеню:

  1. В столбце Prompt, выберите подпункт, обозначающий создаваемое Подменю (add a submenu).

  2. В соответствующем Контроле Result, выберите Submenu.

    Для создания Подменю используйте кнопку Create (Создать), которая расположена Справа от Списка элементов меню. Если Подменю уже существует, то используйте кнопку Edit (Изменить) для выполнения требуемых изменений.

  3. Нажмите кнопку Create или Edit.

  4. В соответствующем столбце Prompt, введите требуемый Заголовок Элемента Меню.

Для добавления Меню с помощью Программного Кода:

  • Рекомендуется использовать стандартные команды: DEFINE PAD, DEFINE POPUP, DEFINE BAR.

Обычно, подсистемы Меню создаются с помощью Дизайнера Меню (Menu Designer), однако, вы также эффективно можете использовать стандартные команды системы Visual FoxPro. Например, головная часть подсистемы Меню создается с помощью команды DEFINE PAD, соответствующие ПодМеню создаются командой DEFINE POPUP, а конечные Элементы Меню или Подменю создаются несколькими командами DEFINE BAR. Команда DEFINE BAR может использоваться вами для переопределения стандартных системных Элементов Меню, для добавления Картинок, графических Элементов, для выбора требуемого Шрифта, настройки Системного Сообщения для конечного Пользователя, и так далее.

См. также

Задачи

Как: Группировать Пункты Меню

Концепции

Создание Подсистемы Меню

Другие ссылки

Построение Меню, Контекстных Меню (Shortcut), Меню Элементов, или Подменю
Разработка Меню и инструментариев Toolbar
Компиляция (Сборка) Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Create Menu Items

Visual FoxPro 9.0
Как: Создавать пункты меню
См. также

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

Для добавления пункта меню в систему меню

  1. В столбце Prompt, выберите заголовок меню, который вам необходим (тип добавляемого элемента).

  2. В текстовом боксе Result, выберите Submenu.

    нажмите кнопку Create , расположенную справа от списка.

  3. Нажмите кнопку Create.

    Появляется дополнительное окно, в котором описывается создаваемый пункт меню.

  4. В столбце Prompt, введите имя нового пункта меню (внутреннее имя пункта).

См. также

Задачи

Как: Группировать пункты меню

Концепции

Построение системы Меню

Другие ссылки

Создание Меню, "коротких" меню, дополнительных меню, и ПодМеню
Разработка меню и инструментальных боксов (Toolbars)
Компиляция приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Create Shortcut Menus

Visual FoxPro 9.0
Как: Создавать Короткие меню (Shortcut)
См. также

Меню типа Shortcut (короткие, быстрые) применяются при нажании правой кнопки мыши, выполнении "Right-Click" для некоторого элемента управления на форме, или для самой Формы, при этом обеспечивается высокая скорость выполнения специфических функций, золоженных в данное Меню. С помощью инструментария Visual FoxPro можно создавать эффективные Короткие меню, а за тем присоединять их к различным элементам управления (Контролам). Например, вы можете создать Короткое меню, содержащее стандартные команды редактирования текста: Cut, Copy, и Paste, за тем присоединить это меню к Контролу Grid.

Для создания Короткого меню (shortcut)

  1. В системном Окне Project Manager, откройте закладку Other, выберите раздел Menus, нажмите кнопку New.

  2. Выберите подпункт Shortcut.

    Откроется соответствующий Shortcut Designer (Дизайнер Коротких меню).

При работе в указанном дизайнере Shortcut Menu, все выполняемые операции по созданию меню аналогичны операциям создания обычного Меню.

Например, имеется вариант Короткого меню в Решениях Visual FoxPro ...\Samples\Solution\Solution directory.

См. также

Задачи

Как: Группировать пункты меню

Концепции

Построение подсистемы Меню

Другие ссылки

Создание Меню, Коротких меню, Элементов меню и Подменю
Проектирование Меню и Toolbars
Компиляция Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Add Cleanup Code to a Menu System

Visual FoxPro 9.0
Как: Добавить Код Доработки к Системе Меню
См. Также

Вы можете приспособить вашу систему меню, добавляя к нему код доработки. Код доработки обычно содержит код, который первоначально включает или отключает меню и пункты меню. Когда Вы генерируете и выполняете программу меню, код установки, и код определения меню выполняется перед кодом доработки.

Для добавления кода доработки к системе меню выберите

  1. из меню View General Options .

  2. В области Menu Code , выберите Cleanup и затем выберите OK .

  3. В окне кода, внесите соответствующий код доводки.

    Ваши изменения будут сохранены, когда Вы закрываете Проектировщик Меню .

    Совет:
    Если ваше меню - главная программа в приложении, включите команду READ EVENTS в коде доводки и назначьте команду CLEAR EVENTS в команде меню, используемой для выхода из системы меню. Это воспрепятствует вашим приложениям закончиться преждевременно в run-time.

См. Также

Другие Ресурсы

Как: Добавить Код Доводки к Системе Меню
Как: Управлять Меню в Run Time
Создание Настраиваемых Инструментальных панелей
Проектирование Меню и Инструментальных панелей
Компилирование Приложения

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Add Setup Code to a Menu System

Visual FoxPro 9.0
Как: Добавить настроечный Код к Системе Меню
См. Также

Вы можете настроить систему меню, добавляя к нему настроечный код. Настроечный Код может включить код для создания окружения, определения переменных, открытия необходимых файлов, и для сохранения или восстанавливая системы меню командами PUSH MENU и POP MENU .

Для добавления настроечного кода к системе меню

  1. из меню View , выберите General Options .

  2. В области Menu Code , выберите Setup и затем выберите OK .

  3. В окне настроечного кода, впечатайте соответствующий настроечный код.

    Ваши изменения сохраняются, когда Вы закрываете Проектировщик Меню.

См. Также

Другие Ресурсы

Как: Выполнгять Задачи Командами
Как: Добавить Код Доводки к Системе Меню
Как: Управлять меню в Run Time
Проектирование Меню и Инструментальных панелей
Компилирование Приложения

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Assign Access Keys and Keyboard Shortcuts

Visual FoxPro 9.0
Как: Назначить Клавиши Доступа или Клавишные комбинации Контекстных Меню
См. также

Поскольку вы создаете подсистему Меню, вам необходимо обеспечить простой и непринужденный способы доступа пользователя к различным Компонентам вашего Приложения. Вы должны обеспечить создание Разделов и Элементов Меню, которые активируют выполнения разнообразных Функций Приложения, таких как: отображение Форм, Инструментов типа ToolBar, или прочих, подчиненных элементов Меню. Вам необходимо обеспечить "горячие" клавиши доступа к подсистеме Меню, его Элементам. Вы можете создавать также Контекстные (Shortcut) меню, в которых динамически изменяются состояния некоторых Элементов (доступные или отключенные пункты - в зависимости от конкретной ситуации).

Назначение Клавишей Доступа

Каждое хорошо спроектированное и разработанное Меню имеет "горячие" клавиши доступа для быстрой активации (или выполнения) требуемого пункта Меню. Обычно, активная клавиша для пункта Меню отображается подчеркнутым символов в Заголовке Элемента меню. Для иллюстрации вышесказанного, в системном меню Visual FoxPro File буква "F" - подчеркнута, является Клавишей Доступа.

Обычно, если вы Не назначаете Клавишу Доступа к Элементу меню, Visual FoxPro автоматически использует Первый символ в названии Элемента Меню как клавишу Доступа (если это возможно). Например, для Подменю с именем Customer (Клиент), для которого не указывается Клавиша Доступа, Visual FoxPro определяет в качестве Клавиши Доступа символ (C).

Для определения Клавиши Доступа к Меню, ПодМеню, или Элементу меню:

  • Введите комбинацию символов "\<" перед тем символом, который будет Клавишей Доступа (имеется ввиду: Заголовок Элемента меню).

    Например, для определения клавишей доступа символа "u" в рассматриваемом выше заголовке Customer (Клиент), замените текст: Customer - на следующий: C\<ustomer (в Дизайнере Меню, для столбца Prompt).

    Note Обратите внимание

    Если ключ доступа для вашей системы меню Не работает, ищите двойные ключи доступа (повторяющиеся).

Назначение Клавишных Комбинаций Доступа (Keyboard Shortcuts):

Дополнительно к Клавишам Доступа, вы можете создавать Клавишные Комбинации для требуемых Элементов Меню. Как и Клавиши Доступа, Клавишные Комбинации активируют требуемый пункт Меню, они работают совместно с управляющими клавишами, при последовательном нажатии нескольких клавиш. Отличие от Клавишей Доступа заключается в следующем: при использовании Клавишных Комбинаций не происходит активации первоначального, родительского Меню, или ПодМеню, сразу выполняется требуемый пункт Меню. Например: общепринятые команды редактирования Текста: ctrl+C - копирование, ctrl+V - вставка.

Как указывалось выше, в системе Visual FoxPro Клавишные Комбинации строятся на использовании управляющих клавиш: CTRL или ALT, или других специализированных Клавиш (Home, End, PageDown, PageUp). Например, для создания нового Файла в системе Visual FoxPro может использоваться клавишная Комбинация - "CTRL+N".

Для определения Клавишной Комбинации, активирующий Элемент Меню:

  1. В столбце Prompt, выберите требуемый Элемент Меню.

  2. Нажмите кнопку управления Options, активируется дополнительный диалоговый бокс Prompt Options (Параметры Элемента Меню).

  3. В соответствующем боксе Key Label, нажмите требуемую Клавишную Комбинацию.

    Если Элемент Меню не имеет указанной комбинации клавиш, Visual FoxPro отображает "(press the key)" (нажмите клавишу), в соответствующем боксе Key Label.

  4. В текстовом боксе Key Text, можно ввести текст, который появится около активного Элемента Меню.

    По-умолчанию, Visual FoxPro повторяет выбранную Клавишную комбинацию, заданную вами в текстовом боксе Key Label, как для Key Text. Однако, вы можете переопределить текст подсказки для Элемента Меню, в поле Key Text. Например, если в обоих текстовых боксах: Key Label и Key Text отображается текст "CTRL+R", вы можете изменить его в поле Key Text - как "^R".

    Note Обратите Внимание

    Комбинация "CTRL+J" является недопустимой клавишной комбинацией Доступа к Элементу Меню, так как данная комбинация используется для Закрытия системных диалоговых Боксов в Visual FoxPro.

См. также

Задачи

Как: Подключить подсистему Меню в вашем Приложении
Как: Активировать или Отключить Элемент Меню или ПодМеню

Другие ссылки

Создание Меню, Контекстных Меню (Shortcut), Элементов Меню или Подменю
Разработка подсистем Меню и инструментария Toolbars
Компиляция (Сборка) Приложения

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Control Menus at Run Time

Visual FoxPro 9.0
Как: Управлять Меню при выполнении программы (RunTime)
См. также

Каждый элемент Меню в системе Visual FoxPro имеет два идентификатора, для каждого элемента Меню имеется Имя и Номер. Visual FoxPro использует первое имя элемента Меню для идентификации его в Построителе Меню, а другое имя или номер элемента используется в процессе генерации программного модуля Меню, файл типа (.mpr). Вы можете использовать описанные идентификаторы (имена или номера) для ссылки на конкретный Элемент Меню, что позволяет управлять Меню при выполнении Программы. Если вы не обеспечиваете элемент меню идентификатором, Visual FoxPro создает требуемый уникальный идентификатор при генерации программного модуля Меню.

Типичный Пример динамического добавления или исключения Элементов Меню при выполнении программы смотрите в сборнике вариантов Решений: Solution.app, в соответствующем подкаталоге Visual FoxPro: ...\Samples\Solution.

Caution note Предупреждение

Избегайте использования уже сгенерированных ранее, случайным образом имен и номеров элементов Меню, система VFP создает каждый раз новые идентификаторы при генерации программного модуля. Поэтому, созданный вами модуль Меню может быть неработоспособным.

В активном окне Дизайнеров Menu and Shortcut, столбец с именем Prompt отображает текст, появляемый в пункте Меню, а в столбце справа от бокса Result - отображается специальное имя, генерируемое при создании программного модуля Меню.

Для определения имени элемента типа Menu Pad:

  1. В столбце Prompt, выберите уже созданный элемент Меню.

    Note Обратите Внимание

    В столбце Result - должно отображаться Command, Submenu, или Procedure, — но не Pad Name.

  2. Нажмите соответствующую кнопку в столбце Options, активируется Диалоговый Бокс Prompt Options (Параметры Элемента меню).

  3. В соответствующем боксе Pad Name (Имя Элемента), введите требуемое название вашего пункта меню.

  4. Нажмите кнопку OK, осуществляется возврат в системное окно Menu Designer (Дизайнера Меню).

Для определения номера конкретного Элемента Меню (для Контекстого Меню):

  1. В столбце Prompt, выберите требуемый пункт Меню.

    Note Обратите Внимание

    Столбец Result должен отображать: Command, Submenu, или Procedure, — но не Bar #.

  2. Нажмите соответствующую кнопку в столбце Options, активируется Диалоговый бокс Prompt Options.

  3. В текстовом поле Bar #, введите выбранный вами номер пункта Меню.

  4. Нажмите кнопку OK, осуществляется возврат в системное окно Menu Designer (Дизайнера Меню).

    Note Совет

    Если вы используете вариант построения Меню, как Quick Menu, вы не сможете изменять имена и номера элементов меню, сгенерированные системой Visual FoxPro; Так как, при генерации программного модуля Меню, вы можете получить непредсказуемые Результаты, неработающее Меню.

См. также

Задачи

Как: Добавить Код очистки (Cleanup) в подсистему Меню

Другие ссылки

Разработка Меню и Инструментария (Toolbars)
Создание пользовательского Инструментария (Toolbars)
Создание Меню, Контекстных Меню (Shortcut), меню Элементов, подсистем Меню (Submenus)
Компиляция (сборка) Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Enable and Disable Menu Items

Visual FoxPro 9.0
Как : Включить или Отключить элемент Меню
См. также

Вы можете включить или отключить некоторое Меню или конкретный Пункт Меню используя специальное логическое выражение.

Для Включения или Отключения Меню или конкретного Пункта Меню:

  1. В столбце с именем Prompt, выберите необходимый элемент меню или некоторый пункт меню.

  2. Нажмите командную кнопку Options, отображается диалоговый бокс Prompt Options.

  3. Выберите элемент Skip For.

    Открывается соответствующий диалоговый бокс Построителя Выражений Expression Builder.

  4. В соответствующем боксе Skip For, введите требуемое логическое выражение, контролирующее Включение или Отключение рассматриваемого элемента меню или конкретного пункта меню.

    Если заданное выражение имеет значение = False (.F.), то данный элемент меню Включается. Если логическое выражение = True (.T.), то данный элемент меню Отключается и его нельзя будет выбрать. Дополнительная информация в разделах: DEFINE BAR и DEFINE PAD.

    Note Примечание

    После активации системы Меню, вы можете Включать или Отключать его элементы с помощью команды SET SKIP OF.

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

Для установки отметки пункта Меню:

  • В режиме выполнения программного кода, установка отметки пункта Меню выполняется стандартной командой SET MARK OF.

Примеры по отключению и отметки некоторого пункта Меню смотрите в приложении Solution.app, из подкаталога ...\Samples\Solution .

См. также

Задачи

Как: Активировать "горячие" клавиши или МакроКоманды
Как: Perform Tasks with Commands
Как: Perform Tasks with Procedures

Другие ссылки

Разработка Меню и инструментария Toolbars
Компиляция Приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Include Menus in an Application

Visual FoxPro 9.0
Как: Включить подсистему Меню в Приложение
См. также

После того, как вы создали подсистему Меню, вы можете включить его в ваше Приложение.

Для включения подсистемы Меню в ваше Приложение:

  • Выполните присоединение соответствующего файла Меню (.mnx) к Проекту Приложения, далее: выполните Сборку (компиляцию) Приложения из рассматриваемого Проекта, дополнительно смотрите раздел: Компиляция Приложения.

В том случае, когда вы создаете Контекстное Меню (shortcut menu), вам нужно подсоединить его к соответствующему Контролу вашего Приложения. Обычно, Меню указанного типа (Shortcut) используются в программном Коде событий RightClicks для данного Контрола.

Для подсоединения Контекстного Меню (shortcut) к Контролу Приложения:

  1. Выберите в иерархии Компонент вашего Приложения требуемый Контрол, к которому требуется подсоединить Контекстное Меню.

  2. В системном окне Properties, активируйте Закладку Methods, и откройте Редактор для События RightClick.

  3. Введите в окне Редактора команду DO menu.MPR, где ключевое слово menu обозначает имя файла созданного вами Контекстного Меню (.mnx).

    Note Обратите Внимание

    Рекомендуется указывать расширение файола контекстного Меню (.mpr).

Подсоединение Меню типа SDI к Форме

Когда вы создаете Меню типа SDI, вы можете использовать его с соответствующей Формой типа SDI. Дополнительную инфоромацию смотрите в следующих разделах:

  • Определить для пользовательской Формы соответствующее значение Свойства ShowWindow.

  • Добавить активирующую команду типа DO в стартовом Событии Init данной Формы.

Для подсоединения Меню типа SDI в Форму:

  1. В системном Окне Дизайнера Форм, определите значение для свойства Формы ShowWindow = 2 – As Top Level Form (форма Верхнего Уровня).

  2. В программном Коде события формы Init, задайте команду активации требуемого Меню.

    Например, если ваше меню запускается в программном файле SDIMENU.MPR, то команда запуска (активации) Меню будет иметь вид:

    CopyCode image Копировать Код
    DO SDIMENU.MPR WITH THIS,.T.

См. также

Задачи

Как: Сохранить подсистему Меню в файле .HTML
Как: Назначить Клавиши доступа или Контекстные клавишные комбинации (Keyboard Shortcuts)

Другие ссылки

Разработка подсистемы Меню и инструментария Toolbar
Создание Меню, Контекстных Меню, Меню локального выбора, или ПодМеню
Компиляция (Сборка) Приложекний

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Perform Tasks with Commands

Visual FoxPro 9.0
Как: выполнять задачи с помощью команд
Смотрите также

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

Note Совет

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

Командой может быть любая допустимая команда Visual FoxPro, включая вызов программы, которая существует по указанному вами пути или процедура, определенная в секции Cleanup Диалогового окна General Options (Общие параметры). Для получения более подробной информации смотрите описание Как: настроить систему меню.

Для присвоения команды меню или элементу меню

  1. В колонке Prompt выберите подходящий заголовок меню или элемент меню.

  2. В боксе Result выберите Command (Команда).

  3. В боксе справа от бокса Result впечатайте подходящую команду:

Если команда вызывает процедуру в коде cleanup меню, используйте команду DO с приведенным ниже синтаксисом:

CopyCode image Скопировать код
DO procname IN menuname

В этой команде menuname указывает местонахождение процедуры. Оно представляет им файла меню и должно иметь расширение .mpr. Если вы не укажите расположение процедуры в menuname, вы должны указать его с помощью команды SET PROCEDURE TO menuname.mpr, если процедура представляет собой код в секции cleanup меню.

Отображение форм и диалоговых окон

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

Для отображения формы или диалогового окна

  • Используйте команду DO FORM с именем формы.

Например, для отображения формы с именем "Orders," используйте приведенную ниже команду:

CopyCode image Скопировать код
DO FORM Orders
Note Совет

Когда вы создаете меню или элемент меню, которые отобразят форму или диалоговое окно, вставьте три точки в конце заголовка prompt для указания, что потребуется дополнительный ввод пользователя.

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

Смотрите также

Задачи

Как: разрешить и запретить элементы меню
Как: исполнять задачи с помощью процедур
Как: добавить установочный код в систему меню

Прочие ресурсы

Конструирование меню и полосок инструментов
Компилирование приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Perform Tasks with Procedures

Visual FoxPro 9.0
Как: назначить процедуру на меню или пункт меню
См. также

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

Назначение процедуры на меню или пункт меню без подменю

  1. В столбце Prompt, выберите соответствующий заголовок меню или пункта меню.

  2. Из списка Result, выберите Procedure.

    Кнопка Create появляется справа от списка. Если процедура была определена ранее, вместо этого появляется кнопка Edit.

  3. Выберите Create или Edit.

  4. Наберите код в окне.

    Примечание:
    Вам не надо набирать команду PROCEDURE в окне редактированя прцедуры, потому что Visual FoxPro генерирует эту инструкцию сам. Вы можете поместить инструкцию PROCEDURE только в cleanup code.

Назначение процедуры на меню или пункт меню с подменю

  1. В списке Menu level, выберите уровень, который включает соответствующее меню или пункт меню. Например ваша система меню включает меню Customer, созданное ранее. Чтобы назначать процедуру на меню Customer, выберите уровень "Menu Bar" в списке Menu Level. Точно так же, чтобы назначить процедуру на элемент меню Customer, выберите уровень "Customer" в списке.

  2. Из меню View , выберите Menu Options.

    Visual FoxPro отображает диалоговое окно Menu Options.

  3. Назначите процедуру, делая одним из следующих приёмов:

    • Введите или вставте процедуру в поле Procedure.

      -или-

    • Выберите Edit и OK чтобы открыть отдельное окно редактирования.

См. также

Другие ресурсы

Как: Назначит команду в меню
Как: Добавить код предустановки в меню
Как: Добавить код сброса в меню
Проектирование меню и панелей инструментов
Компиляция приложений

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Creating Custom Toolbars

Visual FoxPro 9.0
Создание Пользовательского Инструментария (Toolbars)

Если в вашем Приложении существуют регулярно выполняемые функции (задачи), вы можете создать пользовательский Инструментарий (ToolBars), с помощью которого будет обеспечен быстрый запуск указанных Задач и облегчится удобство работы Пользователя с Приложением. Например, если Пользователь обычно печатает Отчет при помощи вызова соответствующего пункта Меню Приложения, вы можете создать кнопку "Печать" в вашей Инструментальной линейке, с помощью которой достаточно быстро и просто будет запускаться описанный процесс (задача).

В данном Разделе

Как: Определить Класс Toolbar

Рассматриваются вопросы по созданию и разработке пользовательского класса TtoolBar (инструментария).

Как: Добавить Объект в пользовательский Класс Toolbar

Описываются основные технологические шаги по Включению и Редактированию объектов в рассматриваемом классе ToolBar.

Как: Добавить Пользовательский Toolbar в Набо Форм (Form Sets)

Приводится вспомогательная информация о способах добавления Пользовательского Класса ToolBar для некоторой Формы из Набора Форм.

Как: Координировать с помощью Программного Кода функции Инструментария Toolbars с Контролами и Объектами Формы

Приводится Информация о способах программного Добавления и обслуживания инструментариев ToolBar в Форме.

Как: Определить Действия, выполняемые Объектами Toolbar

Рассматриваются вопросы определения выполняемых операций для Элементов и Объектов ToolBar.

Как: Закреплять Инструментальные линейки Toolbars (Docking)

Рассматриваются вопросы Прикрепления (или Открепления) системных или Пользовательских инструментариев ToolBar.

Как: Создавать Координированные Меню

Рассматриваются вопросы координации действий, выполняемых пунктами системного Меню и элементов Инструментария ToolBar.

Как: Добавить скоординированную подсистему Menu - Toolbar в набор Форм

Рассматриваются тонкие вопросы и особенности добавления скоординированных подсистем Menu - ToolBar в Формы.

Связанные Секции

Диалоговый Бокс Customize Toolbar (Visual FoxPro)

Объясняются механизмы настройки системных групп Инструментальных линеек Visual FoxPro.

Разработка Меню и Инструментариев Designing Menus and Toolbars

Приводятся основные Ссылки на разделы, в которых рассматриваются вопросы Разработки Пользовательских Меню и инструментальных линеек ToolBars для ваших Приложений Visual FoxPro.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


How to: Define a Toolbar Class

Visual FoxPro 9.0
Как: Определить класс Toolbar
См. также

Если Вы хотите создать toolbar, который должен содержать исполняемые кнопки, которых нет в стандартных системных toolbars, Вы можете определить пользовательский класс toolbar. Система Visual FoxPro обеспечена базовым классом Toolbar для создания пользовательских компонент.

После создания пользовательского класса toolbar, Вы можете добавлять в него объекты, задавать для них свойства пользовательские методы, обработку соответствубщих событий.

Для определения пользовательского класса Тoolbar

  1. Из окна Project Manager, выберите Classes, а, за тем - New.

  2. В диалоговом боксе Class Name, определите имя создаваемого класса.

  3. Из списка базовых классов Based On, выберите Тoolbar.

    -или-

    Выберите другой класс ToolBar,по соответствующей диалоговой кнопке.

Например, Вам необходимо создать новый класс на основе уже созданного пользовательского класса типа Toolbar, который в другой библиотеке классов.

Когда все параметры заданы в диалоговом боксе New Class, запускается системное средство Class Designer.

Вы можете также определить пользовательский класс toolbar следующими способами:

  • выберите опцию New из меню File, раздел Class.

  • используя команды CREATE CLASS или команды MODIFY CLASS.

  • программное определение класса при помощи команды DEFINE CLASS.

При построении пользовательского класса toolbar, Вы можете задавать различные свойства данных классов. Например, можно определить значения свойства Movable для определения перемещаемости данного объекта toolbar.

Аналогично уточняются базовые методы и события создаваемого объекта. Например, используйте метод Dock для размещения вашей инструментальной линейки, также специализированной обработки событий BeforeDock Event и AfterDock Event , для управления интегрированием различной информации на ваших Формах.

См. также

Задачи

Как: Добавить объект в пользовательский класс Toolbar

Описание

Диалоговый бокс настройки Toolbar (Visual FoxPro)

Другие ссылки

Создание пользовательских Toolbars
Разработка Меню и Toolbars
Настройка пользовательской среды Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Add Objects to a Custom Toolbar Class

Visual FoxPro 9.0
Как: Добавить Объекты в пользовательский класс Toolbar
См. также

После завершения процесса создания пользовательского класса ToolBar, вы можете добавлять в данный объект дополнительные элементы, включая разнообразные Контролы Visual FoxPro, за исключением контейнера Grid. Например, вы можете добавлять объекты из стандартных контролов Controls toolbar.

Для добавления объектов в пользовательские классы toolbar:

  1. Откройте библиотеку классов, содержащую требуемый пользовательский класс toolbar, и откройте данный класс.

  2. В соответствующем инструментарии Form Controls, выберите нужный объект, и добавьте в открытый ToolBar.

  3. Разместите выбранный объект в текущем, открытом пользовательском toolbar.

  4. Повторите шаги 2 и 3, для полного заполнения требуемыми объектами.

  5. Выполните перестановку размещения объектов, если это необходимо.

    Например, вы можете изменять размеры объектов, перемещать их, удалять лишние объекты (нажав клавишу DELETE), или дополнить некоторые разделители - в виде специального объекта Separator, который также имеется в наличии в системном Form Controls.

    Note Примечание

    За одну операцию вы можете перемещать только один Объект.

  6. Определите требуемые дополнительные свойства разрабатываемого toolbar - с помощью системного окна Properties.

  7. Сохраните разработанный пользовательский класс ToolBar.

    Note Совет

    Вы можете определять некоторые картинки для кнопок в рассматриваемом классе, смотри дополнительно: Picture, свойство (Visual FoxPro).

См. также

Задачи

Как: Определить пользовательский класс Toolbar
Как: Добавить пользовательский объект Toolbars в контейнер форм (Form Sets)

Описание

Customize Toolbar, диалоговый бокс (Visual FoxPro)

Другие ссылки

Создание пользовательских объектов Toolbars
Разработка пользовательских Меню и Toolbars
Настройка Среды системы Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Add Custom Toolbars to Form Sets

Visual FoxPro 9.0
Как: Добавить Пользовательский Toolbar в Контейнер Форм
См. также

После завершения процесса разработки пользовательского класса toolbar, вы можете добавить его в вашу Форму. В можете скоординировать выполняенмые операции вашим toolbar-ом и соответствующими Контролами Формы с помощью инструментария Дизайнера Форм или непосредственно в Программном коде (то есть: "на-лету...").

Координирование Toolbar-а и Контролов Формы с помощью инструментария Дизайнера Форм

Вы можете добавить ваш пользовательский toolbar в соответствующий Контейнер Форм таким образом, что он (toolbar) будет появляться в тот же момент когда активируется одна из форм указанного контейнера. Вы не можете добавить данный toolbar непосредственно при разработке данной формы или Контейнера Форм (FormSet).

Для добавления пользовательского toolbar-а в контейнер форм с помощью инструментария Дизайнера Форм:

  1. Зарегистрируйте и выберите требуемую библиотеку классов, содержащую требуемый класс toolbar.

  2. Откройте в Дизайнере Форм соответствующий контейнер форм, в который нужно добавить данный класс, нажмите кнопку View Classes из соответствующего инструментария Form Controls, и выберите требуемый класс toolbar из представленного списка классов.

  3. В обновленном визуальном списке доступных в настоящий момент классов инструментария Form Controls, выберите требуемый класс toolbar.

  4. Выполните "Click" на соответствующей форме, активной в текущий момент в Дизайнере Форм Form Designer, выбранный класс toolbar-а переносится в соответствующую позицию текущей формы.

    Visual FoxPro добавляет выбранный класс в активную форму, если таковой нет в данный момент, то предлагается открыть требуемую Форму.

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

    Note Совет

    Для однозначного определения выполняемых действий командных кнопок рассматриваемого ToolBar-а используйте свойство ToolTip в соответствующем инструментарии Form Controls toolbar.

См. также

Задачи

Как: Добавлять новые объекты в Пользовательский класс Toolbar
Как: Координировать работу Пользовательского Toolbar-а и Контролов Формы с помощью Программного кода
Как: Определять выполняемые действия пользовательского Toolbar-а

Описание

Customize Toolbar, диалоговый бокс (Visual FoxPro)

Другие ссылки

Создание Пользовательских Toolbar-ов
Разработка пользовательских Меню и Toolbar-ов
Настройка среды окружения Visual FoxPro
Объектно-Ориентированное Программирование

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Coordinate Toolbars and Forms Using Code

Visual FoxPro 9.0
Как: скоординировать полоски инструментов и формы с помощью кода
Смотрите также

В дополнение к использованию Form Designer (Конструктора формы), вы можете добавить в наборы форм полоски инструментов программным способом.

Для того, чтобы добавить полоску инструментов в набор форм

  • В событии набора форм Init, используйте команду SET CLASSLIB для указания библиотеки, содержащей класс полоски инструмента, а затем создайте полоску инструментов из этого класса в наборе форм.

Например, для того чтобы добавить и отобразить полоску инструментов tbrPrint, которая создается на основе класса printing, определенного в библиотеке класса inventory, добавьте приведенные ниже строки кода в событие Init набора форм:

CopyCode image Скопировать код
SET CLASSLIB TO inventory
THIS.AddObject("tbrPrint","printing")
THIS.tbrPrint.Show
Note Замечание

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

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

При их выборе, эти кнопки изменят атрибуты шрифта формы frmForm1 набора форм.

Код события Init набора форм
Код | Комментарии
THIS.AddObject("tbrTool1","mytoolbar") THIS.tbrTool1.Show | Добавляет полоску инструментов класса mytoolbar в текущий набор форм и делает ее видимой. Этот код размещен в событии Init набора форм.
Код определения класса
Код | Комментарии
DEFINE CLASS myToolBar AS TOOLBAR ADD OBJECT cmdBold AS COMMANDBUTTON ADD OBJECT sep1 AS SEPARATOR ADD OBJECT cmdItalic AS COMMANDBUTTON | Начало определения класса: одна полоска инструментов с командной кнопкой, разделитель и другая командная кнопка.
Left = 1 Top = 1 Width = 25 Caption = "Form Attributes" | Устанавливает свойства объекта toolbar.
cmdBold.Caption = "B" cmdBold.Height = 1.7 cmdBold.Width = 10 cmdItalic.Caption = "I" cmdItalic.Height = 1.7 cmdItalic.Width = 10 cmdItalic.FontBold = .F. | Устанавливает свойства элементов управления. Отметьте, что для элементов управления полоски инструментов не имеется установок свойств Top или Left. Элементы управления полоски инструментов размещаются автоматически в том порядке, в каком они добавлялись. Свойство FontBold командной кнопки cmdItalic установилено в false (.F.) так как FontBold устанавливается по умолчанию в true (.T.).
PROCEDURE Activate THIS.cmdBold.FontBold = ; THISFORMSET.frmForm1.FontBold THIS.cmdItalic.FontItalic = ; THISFORMSET.frmForm1.FontItalic ENDPROC | Когда полоска инструментов активизируется, атрибуты двух командных кнопок устанавливаются для отражения установок шрифта Bold и Italic, используемого для формы frmForm1.
PROCEDURE cmdBold.CLICK THISFORMSET.frmForm1.FontBold = ; !THISFORMSET.frmForm1.FontBold THIS.FontBold = ; THISFORMSET.frmForm1.FontBold ENDPROC | Когда пользователь щелкает по cmdBold, то свойство FontBold формы frmForm1 устанавливается в обратное значение, а свойство FontBold кнопки cmdBold устанавливается для соответствия ему.
PROCEDURE cmdItalic.CLICK THISFORMSET.frmForm1.FontItalic = ; !THISFORMSET.frmForm1.FontItalic THIS.FontItalic = ; THISFORMSET.frmForm1.FontItalic ENDPROC | Когда пользователь щелкает по cmdItalic, то свойство FontItalic формы frmForm1 устанавливается в обратное значение, а установка свойства FontItalic кнопки cmdItalic устанавливается для соответствия ему.
ENDDEFINE | Конец определения класса.

Смотрите также

Задачи

Как: добавить полоски инструментов пользователя в наборы форм
Как: определить действия полоски инстрментов

Reference

Диалоговое окно Customize Toolbar (Настройка полоски инструментов) (Visual FoxPro)

Прочие ресурсы

Создание настраиваемых полосок инструментов
Разработка меню и полосок инструментов
Найстройка среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Define Toolbar Actions

Visual FoxPro 9.0
Как : Определить действие элемента Toolbar
См. также

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

Для определения действия инструмента toolbar:

  1. Выберите объект, для которого собираетесь задать операцию: сам инструмент toolbar или одну из его кнопок.

  2. В системном окне Properties (Visual FoxPro), активируйте закладку Methods.

  3. Откройте окно редактирования программного кода требуемого События (например: Click).

  4. Введите необходимые вам команды VFP.

Дополнительно, вы можете изменить значения некоторых Свойств инструмента toolbar или его элементов.

Координация элементов Меню и пользовательского инструментария Toolbars:

Если вы создаете пользовательский инструментарий toolbar, вы должны выполнить синхронизацию соответствующих команд элементов Меню и соответствующих объектов инструментария toolbar. Например, если вы включаете некоторый элемент Меню, вы должны включить также соответствующий объект инструментария toolbar, и наоборот: инструмент - меню.

Вы должны разработать ваше приложение таким образом, чтобы:

  • Выполнялись одинаковые группы программного кода (процедуры) при выборе конечным пользователем объекта инструмента toolbar или соответствующего елемента Меню.

  • Были скоординированы процессы Включения или Отключения соответствующих элементов Меню и объектов инструментария toolbar.

Для координации элементов Меню и соответствующих объектов инструментария toolbar:

  1. Создайте требуемый инструмент toolbar, как некоторый класс; определите в нем требуемые командные кнопки,для последних введите соответствующий программный код для Событий Click .

  2. Создайте соответствующую подсистему Меню.

  3. Разместите созданные компоненты (меню и инструментарий) в разработанную Форму или Контейнер форм.

См. также

Задачи

Как: Координировать в программном коде выполняемые операции инструментов Toolbars и Контролов Форм
Как: Создавать настраиваемые подсистемы Меню

Описание

Customize Toolbar, диалоговый бокс (Visual FoxPro)

Другие ссылки

Создание пользовательского инструментария Toolbars
Разработка Меню и инструментария Toolbars
Настройка среды выполнения системы Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Dock Toolbars

Visual FoxPro 9.0
Как: Закрепить Toolbars
См. также

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

Toolbars не поддерживают закрепление как linked или tabbed. Вам не удастся закрепить другие окна к toolbars. Toolbars никогда не могут быть закреплены с внутренней стороны окна, и никогда не занимают внутреннюю область формы.

Для закрепления toolbar

  • Перетащите toolbar к верхней границе главного окна Visual FoxPro.

    Сам toolbar автоматически расположится у выбранной границы окна.

    -или-

  • Выполните команду DOCK с указанием необходимых параметров (куда прикрепиться).

    -или-

  • Используйте соответствующий метод Dock объекта ToolBar.

См. дополнительно Команда DOCK и Метод Dock.

Для открепления toolbar

  1. Перемещайте указатель мыши над левой стороной toolbar, пока указатель не изменить свое начертание (перекрещивающиеся стрелки).

  2. Переместите ToolBar внутрь главного окна Visual FoxPro.

  3. -или-

  4. Выполните команду DOCK с указанием соответствующих параметров.

    Вы можете также использовать метод Dock или метод Move. При использовании метода Move, координаты должны быть указаны за пределами области закрепления.

См. дополнительно Метод Move (Visual FoxPro).

Когда объект toolbar закрепляется на границе главного окна Visual FoxPro, его заголовок скрывается, его граница именьшается до одной линии. Ttoolbar, его элементы выстраиваются в одну линию. Размеры окна данного объекта изменяются с таким расчетом, чтобы не затемнять другие элементы главного окна. Например, если toolbar закрепляется к верхней границе экрана, то последний перераспределяется вниз.

Дополнительная информация об управлении закрепления объектов ToolBars имеется в разделе Docking State and Events.

См. также

Задачи

Как: Определить действия Toolbar

Другие ссылки

Создание пользовательских Toolbars
Определение среды Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Create the Coordinated Menu

Visual FoxPro 9.0
Как: Создавать Координированное Меню (согласно ToolBar)
См. также

Когда вы выполняете координирование (согласование) Меню и соответствующих Инструментариев ToolBar, пункты Меню выполняют аналогичные действия, как и кнопки ToolBar, если пункты Меню являются недоступными, то и кнопки ToolBar должны быть недоступными, и наоборот....

Для создания Меню, согласованного с Инструментарием ToolBar

  1. В системном окне Дизайнера Меню и Контекста (контекстного Меню ShortCat), создайте фрагмент Меню с соответствующими названиями пунктов Меню (согласно кнопкам инструментария ToolBar, свойству ToolTipText).

  2. В соответствующих столбцах таблицы Фрагмента Меню, выберите вариант: Command.

  3. Для каждого пункта Фрагмента Меню, введите Программный Код, соответствующий Коду События Click скоординированной кнопки Инструментария TopolBar.

    Например, если некоторая кнопка имеет системное имя cmdA, введите следующий фрагмент программного Кода для текущего Пункта Меню:

    CopyCode image Копировать Код
    Formset.toolbar.cmdA.Click

  4. В столбце таблицы фрагмента Меню с именем Options, откройте диалоговый бокс Prompt Options, далее выберите кнопку Skip For.

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

    Например, если командная кнопка имеет системное имя cmdA, введите для указанного Фильтра kip For следующее выражение:

    CopyCode image Копировать Код
    NOT formset.toolbar.cmdA.Enabled

  6. Выполните генерацию Фрагмента Меню.

  7. Дополните построенное Меню в контейнер FormSet, в котором уже определен, привязан рассматриваемый Инструментарий ToolBar.

Когда Пользователь открывает подсистему Меню, Visual FoxPro последовательно вычисляет соответствующие выражения "Skip For", и отключает те пункты меню, которые привязаны к отключенным кнопкам инструментария ToolBar. Если пользователь выбирает доступный пункт Меню, то согласно рассмотренному способу привязки (Согласования), выполняется программный код События Click согласованной Кнопки Инструментария ToolBar.

См. также

Задачи

Как: Определить действия Элементов инструментария Toolbar
Как: Добавить Координированный Toolbar и Меню в контейнер FormSet

Описание

Customize Toolbar, диалоговый бокс (Visual FoxPro)

Другие ссылки

Создание Пользовательских Инструментариев Toolbar
Проектирование и Разработка Меню и Инструментария Toolbar
Настройка системной среды (Окружения) Visual FoxPro

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Add a Coordinated Toolbar and Menu to a Form Set

Visual FoxPro 9.0
Как: Добавить согласованный Инструментарий Toolbar и Меню в контейнер FormSet
См. также

Если вами уже спроектирован и разработан требуемый Класс инструментария и соответствующая, согласованная подсистема Меню, то вы можете достаточно просто внедрить созданные компоненты в контейнер форм FormSet.

Для внедрения (присоединения) согласованного инструментария toolbar и Меню в контейнер FormSet:

  1. Прикрепите данный инструментарий к контейнеру FormSet идним из следующих способов:

    • Перетащите требуемый класс toolbar из: Системного окна Диспетчера Проектов (Project Manager) в активное окно Дизайнера Формы, в котором открыт разрабатываемый контейнер FormSet.

    • Проведите регистрацию (открытие) Библиотеки классов требуемого инструментария; выполните добавление Инструмента обычными средствами активного Form Controls.

    • В программном коде События Init рассматриваемого контейнера FormSet, включите фрагмент создания требуемого Инструмента с помощью стандартного Метода AddObject.

  2. В программном коде События Load рассматриваемого контейнера FormSet, определите сохранение существующего, активного Меню и запустите на выполнение модуль активации вашего Меню.

    Например, если модуль активации меню имеет Имя: mymenu, включите две команды, основанные на стандартных: PUSH MENU , команда и DO, команда:

    CopyCode image Копировать Код
    PUSH MENU _MSYSMENU
    DO mymenu.mpr

  3. В программном коде события Unload, восстановите сохраненное ранее внешнее Меню, смотрите дополнительно: POP MENU , команда:

    CopyCode image Копировать Код
    POP MENU _MSYSMENU

Если некоторые команды подсистемы Меню используются в нескольких режимах вашего Приложения, то рекомендуется создать для данных команд (или режимов) специализированный Инструментарий ToolBar, который обеспечивает быстрое выполнение требуемых функций. Однако, при разработке указанных инструментариев Разработчику требуется отслеживать согласованность указанного инструментария и команд подсистемы Меню.

См. также

Задачи

Как: Создавать согласованные подсистемы Меню
Как: Тестировать и Отлаживать подсистему Меню Приложения

Описание

Customize Toolbar, диалоговый бокс (Настройка инструментария) (Visual FoxPro)

Другие ссылки

Создание пользовательских Toolbar
Проектирование Меню и инструментариев Toolbar
Настройка системной Среды Visual FoxPro

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Test and Debug a Menu System

Visual FoxPro 9.0
Как: Тестировать и Отлаживать Систему Меню
См. Также

Вы можете предварительно просмотреть систему меню в процессе проектирования или Вы можете проверить и отладить его после генерирования программы меню.

Для Предварительно просмотра системы меню в процессе проектирования

  • В Проектировщике Меню , выбрать Предварительный просмотр .

Когда Вы выбираете Preview, выбранная система меню появляется вверху экрана. Дополнительно, выводится диалоговое окно Preview отображающее имя файла (или временное имя файла) системы меню.

Если Вы выбираете заголовок меню или пункт меню, это также появляется в диалоговом окне Preview, наряду с командой, которая ему присвоена, если таковая имеется.

Для Проверки системы меню

  1. В Menu menu, выбрать Generate .

    Если Вы изменили меню, Visual FoxPro запрашивает Вас сохранять изменения.

  2. В диалоговом окне Generate Menu введите имя для сгенерированной программы меню, введя имя в поле Output File или выбирая диалоговую кнопку.

  3. Выберите Generate для генерации программного файла меню с .mpr расширением.

  4. Из меню Program выбрать Do для выполнения программы.

    Предостережение:
    Если Вы изменяете сгенерированную программу меню (.mpr файл), Вы потеряете изменения, когда Вы модифицируете меню, используя Проектировщик Меню и затем заново генерируете программу меню.

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

Совет:
Если Вы выполняете приложение (.exe файл), в котором главной программой является меню, и приложение заканчивается, как только меню отображено, добавьте команду READ EVENTS в кода доводки. Вы должны также присвоить команду CLEAR EVENTS к пункту меню, которая позволит пользователю выходить из системы меню.

См. Также

Другие Ресурсы

Как: Добавит Скоординированную Инструментальную панель и Меню для Формсета
Как: Настроить Систему Меню
Создание Пользовательских Инструментальных панелей
Настройте Диалоговое окно Инструментальной панели
Проектирование Меню и Инструментальных панелей
Настройка среды окружения Visual FoxPro

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Customize a Menu System

Visual FoxPro 9.0
Как: Настроить Систему Меню
См. Также

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

Отображение Сообщений Статусной Строки

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

Для вывода сообщения, когда меню или пункт меню выбраны

  1. В колонке Prompt , выберите соответствующий заголовок меню или пункт меню.

  2. Выберите кнопку в колонке Options , чтобы отобразить диалоговое окно Prompt Options .

  3. Выберите Сообщение .

    Появляется диалоговое окно Построителя Выражений .

  4. В поле Message , наберите соответствующее сообщение.

    Совет:
    Включите символьные строки в кавычки.

Определение Местоположения Заголовков Меню

Вы можете настроить местоположение определяемых пользователем заголовков меню в ваших приложениях. Вы можете настроить местоположение относительно активного меню systemby, выбирая варианты в диалоговом окне General Options . Дополнительно, Вы можете определить местоположение заголовков меню, когда пользователь редактирует объект визуально.

Для определения относительное местоположение для пользовательских заголовков меню

  1. Из меню View меню, выберите General Options .

  2. Выберите соответствующее Местоположение опция: Replace , Append , Before , или After .

Visual FoxPro перемещает все заголовки меню, которые Вы определили. Если Вы хотите переместить некоторых, но не всех из них, перетащите кнопки перемещения рядом с соответствующими заголовками меню в Menu Designer .

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

Для управления местоположением заголовков оконного меню в течение объектного визуального редактирования

  1. В колонке Prompt , выберите соответствующий заголовок меню.

  2. Выберите кнопку в колонке Options , для отображения диалогового окна Prompt Options .

  3. Установите переключатель Negotiate .

  4. Выберите одну из следующей группы переключателей:

    • None не размещать заголовок меню в строке меню. Выбор None является тем же самым как отказ от выбора любой опции.

    • Left размещает заголовок меню в левую группу заголовков меню на строке меню.

    • Middle размещает заголовок меню в среднюю группу заголовков меню на строке меню.

    • Right размещает заголовок меню в правую группу заголовков меню на строке меню.

Если Вы не выбираете Left, Middle, или Right, заголовок меню не будет появляться на строке меню, когда пользователь редактирует объект. Для подробной информации о редактировании объектов визуально, см. Совместное использование Информации и Добавление OLE .

Сохранение и Восстановление Меню

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

Совет:
Проверьте доступную память функцией SYS(1016) . Например, чтобы проверить, сколько памяти используют Ваши системы меню, вызовите SYS(1016), поместите меню в стек, и затем вызовите SYS(1016) снова.

Для сохранения или восстановления меню

  • Используйте команды PUSH MENU или POP MENU .

Создание Заданной по умолчанию Процедуры для Системы Меню

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

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

Скопировать код
MESSAGEBOX("Feature not available")

Для создания заданной по умолчанию процедуры

  1. Откройте систему меню, которую Вы разрабатываете.

  2. Из меню View меню, выберите General Options .

  3. Назначите процедуру, выполняя одно из следующего:

    • Впишите или вызовите процедуру в блоке Procedure .

      -ИЛИ-

    • Выберите Edit и затем OK для открытия отдельного окно редактирования и впишите или вызовите процедуру.

Настройка Системного меню

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

Для управления меню

  • Используйте команду SET SYSMENU .

См. Также

Другие Ресурсы

Как: Проверить и Отладить Систему Меню
Диалоговое окно General Options
Создание Custom Toolbars
Диалоговое окно Customize Toolbar
Проектирование Меню и Инструментальных панелей
Настройка среды окружения Visual FoxPro

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Working with Reports

Visual FoxPro 9.0
Работа с Отчетами

После сбора и формирования данных в Вашем приложении, Вы можете разрабатывать, создавать, и добавлять отчеты к Вашему проекту приложения. Создайте отчет по следующим основным пунктам:

  1. Определите тип отчета, который Вы хотите создать.
  2. Создайте страничную раскладку
  3. Модифицируйте и настройте файл страничной раскладки.
  4. Включите и заведите данные для Вашего отчета.
  5. Разместите опции вывода для Вашего отчета.
  6. Запустите отчет на выполнение.

В Этом Разделе

Отчеты в Visual FoxPro

Представляет отчеты и этикетки в Visual FoxPro.

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

Ссылка

Мастер Отчета
Дает возможность быстрого создания отчета используя одиночную свободную таблицу, таблицу базы данных или представление базы данных.
Мастер Отчета Оne-To-Many
Дает возможность быстрого создания отчета используя таблицы, связанные отношением «родитель — ребенок».
Мастер Этикеток
Делает возможным для Вас создавать быстро этикетки.
Дизайнер отчетов
Описывает интерфейс пользователя для работы с дизайнером отчетов (Report Designer).
Дизайнер Этикеток
Описывает интерфейс пользователя для работы с дизайнером этикеток (Label Designer).
Языковая Ссылка (Visual FoxPro)
Предоставляет список из тем языковой ссылки в алфавитном порядке.

Связанные разделы

Работа с данными
Описывает как создать эффективные приложения с индексами, таблицами и базами данных.
Создание Приложений
Описывает как создать приложение Visual FoxPro, которое может состоять из одной или нескольких баз данных, основной программы, которая устанавливает системное окружение приложения, и интерфейса пользователя, составленного из форм, панелей управления и меню.
Работа с Проектами
Определяет конфигурацию проекта и группу файлов, которые содержут программу, окончательный двоичный файл или файлы.
Планирование Приложения
Предоставляет полезную информацию о том, какие решения Вы принимаете в течение стадии планирования действий при создании элементов приложения.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


Reports in Visual FoxPro

Visual FoxPro 9.0
Отчеты в Visual FoxPro
Смотрите также

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

Более подробную информацию об отчетах в Visual FoxPro вы найдете в приведенных ниже секциях:

  • Файлы раскладки отчета

  • Типы раскладки отчетов

Файла раскладки отчетов

Файл раскладки отчета (.frx) представляет собой таблицу Visual FoxPro, хранящую указания по отображению данных в отчете. Каждый файл отчета имеет ассоциированный мето-файл (.frt). Файл .frx указывает поля из источника данных, текст, и группировки данных, которые вы можете отобразить на странице отчета. Файл раскладки этикетки (.lbx) хранит указания по отображению данных в этикеточном формате. Каждый файл раскладки этикетки, так же, как и файл раскладки отчета, имеет ассоциированный мемо-файл (.lbt). Файлы раскладок отчета и этикеток имеют идентичные структуры таблиц.

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

Типы раскладки отчета

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

Тип раскладки | Описание | Примеры
Form | Отображает каждую запись с полями расположенными вертикально, вниз по стороне. | Списки Формы писем
Column | Отображает записи построчно, с полями расположенными горизонтально вдоль страницы. | Групповые/Суммарные очтеты* Финансовые отчеты Инвентаризации Суммарные отчета по продажам
Multiple column | Содержит более одной колонки на запись. Записи повторяются вертикально вниз построчно с крайней левой колонки и затем продолжаются в следующей колонке. | Телефонный каталог Текст в газетном стиле
One-to-many* | Содержит одну запись или связь "один ко многим". | Счета Выписки счетов
Label* | Содержит более чем одну колонку записей. Записи повторяются а колонках и затем продолжаются вниз до следующей строки. | Наклейки на конверты* Маркеры для папок Визитные карточки

* Раскладки, которые имеют ассоциированные мастера отчетов.

Смотрите также

Задачи

Как: создавать отчеты (Visual FoxPro)
Как: создавать этикетки

Справочное руководство

Рассуждения для создания отчетов

Прочие ресурсы

Работа с отчетами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Considerations for Creating Reports

Visual FoxPro 9.0
Соображения по созданию отчетов
Смотрите также
CollapseAll image

Имеется несколько указаний, которые могут быть вам полезни при разработке и создании отчетов:

  • Используйте управляющий элемент label для идентфикиации, привлечения и фокусирования внимания на конкретной информации или обралсти отчета.

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

  • Учитывайте типы выходом, которые вы намереветесь создать, когда планируете основной дизайн.

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

    Если пользователь будет печатать отчет, имейте в виду, что наличие цветного принтера у пользователя - вовсе необязательно - например, когда вы выделяете в своем отчете отрицательные числа красным цветом.

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

Expand image Смотрите также

Задачи

Как: создавать отчеты (Visual FoxPro)
Как: создавать этикетки

Концепции

Отчеты Visual FoxPro

Прочие ресурсы

Работа с отчетами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Data in Reports

Visual FoxPro 9.0
Работа с Данными в Отчете
Смотрите Также

Когда вы создаете отчет или этикетку, вы можете определить данные, включаемые в этот отчет или этикетку, и управлять средой, в которой отчет имеет доспут к данным.

В Данном Разделе

Управление Данными в Отчетах

Рассмотриваются способы предоставление данных для отчетов и этикеток, управление выбранными записями и сортировка, упорядочение этих записей.

Как: Задать Сессию Данных Отчета

Объясняется, как установить частную сессию данных (private data session) для отчета.

Как: Загрузить Среду Окружение Данных для Отчета

Описывается, как использовать описание класса DataEnvironment, который вы создали для использования на форме, или записи среды окружения, сохраненные с другим отчетом или этикеткой, для того, чтобы предоставить данные для отчета.

Как: Сохранить Среду Окружения Данных как Классы

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

Работа с Реляционными Таблицами, Используя Множественые Области Детализации в Отчетах

Рассматриваются различные способы, которыми вы можете отобразить данные из разных таблиц и как механизм отчетов управляет множественными таблицами в run time.

Родственные Разделы

Как: Использовать Сессии Данных
Предоставляет информацию о частных и совместно используемых сессиях данных в приложении.

Смотрите Также

Ссылки

Объект DataEnvironment
Объект Session

Другие Ресурсы

Управление Доступом к Данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Controlling Data in Reports

Visual FoxPro 9.0
Управление Данными в Отчетах
Смотрите Также

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

Для получения специфических результатов в создаваемых Отчетах вы также можете использовать Переменные в Отчетах или Вычисляемые Выражения, построенные на основе полей из Источников Данных. Указанные специфические источники данных в Отчетах (переменные и вычисляемые поля) определяются в момент получения Отчетов. Непосредственное размещение указанных элементов Отчета ничем не отличается от стандартных элементов, получаемых из обычных Источников Данных.

Управление Источниками Данных для Отчетов

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

Если ваш Отчет всегда выполняется на основе постоянных Источников Данных, то вы можете указать данные источники в объекте Отчета DataEnvironment, который существует для каждого стандартного Отчета. Сохранение рассматриваемого объекта DataEnvironment, его компонент (таблиц, индексов, соотношений) выполняется в дополнительных записях Отчета. Технологические шаги по уточнению характеристик объекта DataEnvironment для Отчета или Этикетки аналогичны технологии определения данного объекта при построении Форм. Дополнительную информацию смотрите в разделе: Как: Определить Среду Данных.

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

В представленной далее таблице приводятся различные Методы описания источников Данных для рассматриваемых Отчетов. Рекомендуется использовать наиболее подходящий вам способ определения требуемых Данных в Отчете.

Если: | Используйте:
В отчете используются постоянные Источники Данных. | Таблицы или Представления Описываются в объекте: Data Environment. -или- Выполните команды выборки: DO <query> или SQL SELECT, которые размещаются в Коде события Init указанного Объекта DE рассматриваемого Отчета. Дополнительно смотрите разделы: DO, команда, SELECT - SQL, команда, или Init, событие.
В Отчете требуются отдельные Наборы Данных (Таблицы). | Одна или несколько команд USE <table>, USE <view>, DO <query>, или оператор SQL SELECT в программном Коде события Click, или в другом подходящем месте вашей программы, перед выполнением команды REPORT / LABEL. Дополнительно смотрите разделы: USE, команда или Click, событие.
Note Обратите Внимание

Если вы не планируете использование Отчета с различными Источниками Данных, то требуемые Поля рекомендуется указавать совместно с соответствующими Алиасами (Таблиц данных). Если в качестве Источника Данных для Отчета используется Представление или Запрос, а результирующие Поля указаны вместе с Алиасом, но при выполнении Отчета указанный алиас может быть недоступен, или не открыт. В этом случае может возникнуть ошибочная ситуация типа: "Alias 'X' not found" (Алиас не найден) при попытке вычисления выражения, содержащего рассматриваемый алиас. Однако, в другом случае, если исходная Таблица Данных уже открыта, но в другой (не в текущей рабочей области), то есть Отчет выполняется на основе другой Таблицы, открытой в текущей Рабочей Области. В этом случае ошибочной ситуации не возникает, но в Отчете могут отображаться неверные данные, могут быть повторения и так далее.

Управление Сессиями Данных в Отчетах

Как часть решения: Когда и Как открывать Источники Данных для Отчета, вы можете определить: возможно ли совместное использование указанных Источников Данных, связываемых со средой данных Отчета.

Источники Данных для Отчета можно динамически определять в вашем Приложении до момента выполнения самого Отчета. Например, вы можете создать Форму, в которой отображается Таблица Клиентов. Когда пользователь нажимает кнопку Print (Печать), то выполняется Отчет, отображающий Информацию о выбранном Клиенте. В описанном сценарии используется построение Отчета, использующего общую Сессию Данных с указанной Формой.

Однако возможны варианты, или ситуации, когда вам требуется выполнить предварительную обработку Исходных Данных перед получением Отчета, независимо от Среды Данных пользовательской Формы. Например, в описанной выше Форме с данными о Клиенте можно предусмотреть кнопку (или опцию Меню) Print a Sales Territory Summary (Печать Итогов Территориальных Продаж), с помощью которой получается Отчет о требуемых Результатах на основании Таблиц, которые не используются непосредственно в данной Форме. В соответствие с описанным сценарием, для получения указанного Отчета может быть использована приватная сессия данных, используемая только для рассматриваемого Отчета. После завершения Отчета среда данных Формы остается без изменения (а среда данных Отчета может быть закрыта).

Дополнительную информацию смотрите в разделе: Как: Определить Сессию Данных для Отчета.

Управление выборками Записей Данных

По-умолчанию, когда вы выполняете Отчет относительно (на основании) некоторой Таблицы Данных, то обрабатываются все Записи этой Таблицы. В данном Отчете выполняется попытка вычисления требуемых данных для каждой Записи, результаты отображаются в соответствующих местах Отчета.

Вы можете управлять выборкой требуемых Записей данных, которые используются в Контролах Отчета, или в параметрах Отчета, или: и там и там.

В представленной далее таблице приводятся варианты выборки требуемых в Отчете Записей данных.

Если используется выборка с помощью: | То рекомендуется Использовать:
Представление или Запрос | Построения Условия выборки в закладке Filter в окне Дизайнера Представлений / Запросов. Смотрите дополнительно: Закладка Filter, Дизайнеры Представлений или Запросов.
Оператор SQL SELECT | WHERE или HAVING секции в команде SQL. Смотрите дополнительно: SELECT - SQL, команда.
Дизайнер Отчета | Определение параметров в диалоговом боксе Опции Печати. Смотрите дополнительно: Report and Label Print Options, диалоговый бокс.
Команда REPORT FORM | Scope, FOR, или WHILE, выражения для условий фильтрации. Смотрите дополнительно: REPORT FORM, команда или Манипуляции с Полями и Записями.
Таблица Данных (.Dbf) | Индекс с Фильтром. Смотрите дополнительно: INDEX, команда.

Управление существующими Отношениями между Записями Данных

При выполнении Отчетов или Этикеток выполняется вычисление требуемых данных, размещенных в различных Записях Таблицы, открытой в текущей рабочей области, при этом выполняется перемещение указателя Записей по отфильтрованным записям. При использовании Отношений между Таблицами данных или Представлениями, открытыми в текущей рабочей области и Таблицами из других рабочих областей вы получаете возможность использовать в отчетах данные из других Источников Данных или специфических вычисляемых Выражений. Вы можете определить Отношения между таблицами с помощью программного Кода, команды SET RELATION и/или SET SKIP, или использовать построение стандартного объекта Relation для Среды Данных Отчета ( объекта DataEnvironment).

При использовании Полей или вычисляемых выражений, которые открыты не в текущей Рабочей Области, рекомендуется использовать эти Поля вместе с префиксом (алиасом требуемой рабочей области). Смотрите дополнительно: Как: Create and Use Table Aliases.

Note Обратите Внимание

Таблица или Представление, открытые в текущей рабочей области, на основе которой выполняются команды REPORT FORM или LABEL FORM обычно называются (Управляющим Алиасом) driving alias. Таблица или Представление, которые связаны Отношением с главной Таблицей и открытые не в текущей Рабочей Области обычно называются (Алиас Назначения) target aliases, в силу того, что данный алиас используется как дочерняя таблица в команде SET RELATION. Когда вы устанавливаете Отношения между Таблицами, вы можете получить более сложные Отчеты из представленных Данных, для одной Записи в Управляющем Алиасе может соответствовать несколько Записей в Алиасе Назначения (в соответствие с типом Отношения: один-ко-многим). Например, для каждого Счета может соответствовать несколько детальных строк из связанной, дочерней Таблицы. Дополнительную информацию по построению Отношений между таблицами Данных в Отчетах смотрите в разделе: Обработка Связанных Таблиц с помощью Нескольких Детальных Полос в Отчетах .

Управление порядком обработки (размещения) Записей

При форматировании Страниц Отчета или Этикетки не выполняется сортировка и порядок размещения результирующих Записей данных. Записи из источников данных размещаются в том порядке, как они определены в настоящий момент. Для определения необходимой вам Сортировки данных в Отчете рекомендуется использовать любые доступные средства: инструменты сортировки Источников Данных, Индексы, или другие освоенные вами методы.

Например, если источником данных является Таблица, то вы можете определить требуемую сортировку данных с помощью соответствующего Индекса (или построить новый индекс), для Представления - можно использовать опции сортировки из объекта DataEnvironment рассматриваемого Отчета, или, для Запроса, как источника данных, можно использовать соответствующие опции Группировки данных. Для построения Индексов вы можете использовать фрагменты программного Кода, например команду INDEX, который размещается в соответствующем месте указанного объекта DataEnvironment. Если источником данных является Запрос или Представление, или обычный оператор SQL SELECT, то для сортировки данных вы можете использовать соответствующую секцию ORDER BY.

Если вы не используете ни один из перечисленных способов управления порядком размещения Записей в Отчете, то остается только использовать значение свойства Order курсора данных, описанного в объекте DataEnvironment рассматриваемого Отчета.

См. также

Концепции

Отчеты в системе Visual FoxPro

Другие ссылки

Работа с Данными в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Specify a Report's Data Session

Visual FoxPro 9.0
Как: Задать в Отчете Сессию Данных
См. также

Вы можете задать Сессию Данных для вашего Отчета как Private (частную), чтобы исключить какие либо изменения в глобальной сессии данных, влияющие на результаты получения Отчета. Другие используемые Дизайнеры и Приложения могут быть построены на глобальной сессии данных, что может повлиять на результаты, загружаемые в ваши Отчеты. Например, глобальная установка команды SET DELETED ON может повлиять на отбираемые записи в ваших Отчетах, где требуется установка = OFF, или могут быть неоткрыты необходимые таблицы, на основе данных из которых строится текущий Отчет.

Для задания private (частной) Сессии Данных в Отчетах

  1. Откройте выбранный Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите пункт Private Data Session (частная сессия данных).

Установку частной сессии данных для текущего отчета можно выполнить в пункте Properties (Характеристики), в меню Report. Когда открывается соответствующий диалоговый бокс Report Properties, а соответствующая закладка Data Environment - является недоступной.

Note Примечание

Если системная переменная _REPORTBUILDER не установлена на текущий Построитель Отчетов или задан другой Построитель, отличный от Штатного, тогда диалоговый бокс Report Page Setup может иметь другой вид и другие параметры. См. дополнительно разделы: _REPORTBUILDER, системная переменная и Report Page Setup, диалоговый бокс.

Дополнительную информацию см. в разделе Закладка Data Environment, Диалоговый бокс Report Properties (Построитель Отчетов).

См. также

Задачи

Как: Использовать Сессии Данных

Другие ссылки

Установка Защиты для Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Save Report Data Environments as Classes

Visual FoxPro 9.0 Справочное руководство
Как: сохранить Data Environments отчета в виде классов
Смотрите также

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

Для сохранения окружения данных в виде класса

  1. Откройте отчет или этикетку в соответствующем дизайнере.

  2. В меню View щелкните на Data Environment.

    Откроется дизайнер Data Environment.

  3. В меню File щелкните на Save As Class.

  4. В блоке Name впечатайте имя класса.

  5. В блоке File впечатайте имя файла библиотеки классов (.vcx) для сохранения в ней класса или щелкните на кнопке с многоточием (…) для просмотра и выбора файла.

  6. В блоке Description напечайте пояснение для класса.

Для получения более подробной информации смотрите описание диалогового блока Диалоговый блок Save As Class.

Смотрите также

Задачи

Как: загрузить окружение данных для отчетов

Прочие ресурсы

Работа с данными в отчетах

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Load Data Environments for Reports

Visual FoxPro 9.0
Как: загрузить окружение данных для отчетов
Смотрите также

Вы можете загрузить окружение данных для вашего отчета или этикетки из другого файла отчета (.frx) или этикетки (.lbx), или из определения визуального класса DataEnvironment.

Вы загружаете окружение данных на закладке Data Environment диалогового блока Report Properties.

Note Важно

Способность загружать Data Environment предоставляется приложением ReportBuilder, имеющим такую возможность. Если системная переменная _REPORTBUILDER не установлена на Report Builder, используемый по умолчанию, или установлена в построитель от другого поставщика, то будет отображаться диалоговый блок Report Properties или может отображаться какой-то другой диалоговый блок. Для получения более подробной информации смотрите описания Системная переменная _REPORTBUILDER и Диалоговый блок Report Page Setup.

Для загрузки окружения данных из другого отчета

  1. Откройте в дизайнере отчет или этикетку, в который вы желаете загрузить окружение данных.

  2. В меню Report щелкните на Load Data Environment. Или выберите Properties из меню и щелкните на закладке Data Environment диалогового блока Report Properties .

  3. Выберите радиокноаку Copy from another report file.

  4. Щелкните по кнопке Select. Появится диалоговый блок Open Dialog Box (Visual FoxPro). Выберите файл отчета или этикетки, (.frx) или (.lbx), из которого вы желаете скопировать окружение данных и щелкните на OK.

  5. Появится сообщение в диалоговом блоке, информирующее вас о том, что вы в этом случае перепишите текущее содержание вашего Data Environment для данного отчета. Если вы готовы к этому, подтвердите свое решение, щелкнув на Yes; в противном случае щелкните на No для его отмены.

  6. ReportBuilder подтвердит, что он имеет обновленное окружение данных отчета или этикетки, в виде второго диалогового блока.

  7. Откройте Data Environment отчета и убедитесь, что таблицы и представления из оригинального отчета загружены в него. Любой код из оригинального Data Environment должен быть повторен в соответствующих методах Data Environment.

Для загрузки окружения данных из определения класса, основанном на DataEnvironment

  1. Откройте отчет или этикетку и перейдите на закладку Load Data Environment диалогового блока Report Properties, как об этом рассказывалось выше.

  2. Выберите радиокнопку Link to a DataEnvironment class.

  3. Щелкните на кнопку Select и выберите из списка требуемый файл библиотеки классов (vcx) или программный файл (prg) и класс, на основе DataEnvironment.

  4. Как описано в предыдущем параграфе, подтвердите ваше желание переписать существующее окружение данных. ReportBuilder выдаст сообщение об ошибке в случае, если вы выбраный вами класс не унаследован от класса DataEnvironment, или подтвердит, что окружение данных успешно переписано для текущего отчета или этикетки.

  5. Откройте Data Environment отчета и убедитесь, что таблицы и представления загружены в Data Environment отчета или этикетки. Вы найдете код, написанный приложением ReportBuilder, привязанный к событиям и методам визуального класа, включенный во фрагменты кода Data Environment. При необходимости вы можете подредактировать этот программный код.

Смотрите также

Задачи

Как: сохранить Data Environments отчетов в виде классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Related Tables using Multiple Detail Bands in Reports

Visual FoxPro 9.0
Работа с Реляционными Таблицами Используя Множественные Области Детализации в Отчетах
Смотрите Также

REPORT FORM и LABEL FORM являются командами, которые работают в заданной области действия. Когда вы используете какую-либо команду с ключевым словом scope, вы можете задать диапозон записей таблицы и/или условыя фильтрации записей, для которых данная команда должна выполнить действия. Если вы не определили область действия явно, то у каждой команды есть область действия по умолчанию. Для отчетов и этикеток область действия по умолчанию - ALL (Все).

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

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

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

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

Использование Целевых Псевдонимов (Target Aliases) для представления реляций

Целевой псевдоним (target alias) области детализации ссылается на откытую таблицу или представление (view) в текущей дата сессии. В дизайнере отчетов, информация о целевом псевдониме выглядит так же, как и выражение группы, но это - немного другое. Когда группа сменяется, указатель записи перемещается вперед. Когда механизм отчетов переходит на другую область детализации и переопределяет целевой псевдоним, то указатель записи перемещается вначало области действия детализации.

Как механизм отчетов проверяет достоверность целевого псевдонима в Run time

Механизм отчетов рассматривает ведущий псевдоним отчета плюс целевой псевдоним, заданный для каждой области детализации, для определения, как обрабатывать каждую область. Перед тем, как начать выполнение отчета, проверяется достоверность всех выражений целевых псевдонимов, содердащихся в данном отчете. Целевым псевдонимом может быть:

  • Пустая строка.

  • Псевдоним таблицы или представления, подчиненных ведущему псевдониму отчета.

  • Ведущий псевдоним для данного отчета.

Механизм отчетов определяет достоверность всех выражений, которые используются в качестве целевых псевдонимов, до начала обработки отчета. Если эти выражения не определяют псевдонимы, используемые в данный момент, то выдается сообщение об ошибке "<псевдоним> not found". Если какой-то псевдоним используется, то это должен быть либо ведущий псевдоним, либо псевдоним, подчиненный ведущему. В противном случае, возникнет ошибка "<псенвоним> is not related to the current work area".

Области отчета с целевыми псевдонимами

Ведущий псевдоним для отчета - это типичная родительская таблица с одной или более реляцией. Например, таблица Заказчики связана с таблицей Заказы и таблицей Платежи.

Раскладка отчета, управляемая таблицей Заказчики, отражает эти реляции путем включения одной области детализации с целевым псевдонимом "Orders" и второй области детализации с целевым псевдонимом "Payments".

Важно
Надо включать кавички в каждое выражение целевого псевдонима, за исключением, когда Orders или Payments - это переменные, содержащие имена фактических псевдонимов.

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

Области детализации без целевого псевдонима

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

Например, в отчете по Заказчикам(Customer), вы создаете группу по Customer_ID, котора дает возможность предоставить информацию о Заказчике в верхнем или нижнем колонтитуле группы. Используя область детализации без целевого псевдонима, помещенную между областями детализации для Заказов и Платежей, вы можете расположить дополнительную информацию о Заказчике, как например, текущее состояние счета. Так как эта область детализации не имеет целевого псевдонима, то ее содержимое появится только один раз перед тем, как механизм отчетов перейдет к формированию Платежей.

Области детализации с целевым псевдонимом таким же, как управляющий псевдоним

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

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

Использование ведущего псевдонима в качестве целевого для первой области детализации дает возможность обработать все записи в текущей группе или области действия отчета многократно. Это также делает возможным вычисление некоторых переменных для текущей группы до перехода к отображению какой-либо информации для отдельной записи. Данный прием рассматривается ниже в разделе - Переменные и Вычисляемые Поля для Реляционных Таблиц.

Автоматический Режим Один-ко-Многим (One-To-Many)

Проверяя достоверность всех целевых псевдонимов, которые вы используете для областей детализации, механизм отчетов смотрит, устоновлены ли явно какие-либо свойства OneToMany в вашей DataEnvironment или, если вы открываете таблицы сами, есть ли у ведущего псевдонима реляции, установленные по команде SET SKIP TO. Если это так, то механизм отчетов не будет изменять вашу среду данных. Однако, если вы не установили реляцию one-to-many явно, то механизм отчетов установит ее, и потом удалит по окончанию формирования отчета. Такой автоматический режим one-to-many осуществляется только тогда, когда вы используете хотя бы один целевой псевдоним.

Переменные и Вычисляемые Поля для Реляционных Таблиц

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

Вычисляемые поля и переменные отчетов в версиях Visual FoxPro предшествующие 9 могут быть восстановлены в исходное состояние (Reset) в конце групп(ы), в конце страницы или в конце отчета. Свойство Reset_at_value показывало, в какой точке отчета механизм отчетов устанавливал эти величины в исходное значение, или на базе чего выполнялись их вычисления.

Другими словами, пределы действия вычисляемых полей и переменных базируется на том, где и когда переустанавливаются их значений. В Visual FoxPro 9, метка Reset at в диалоговом окне Дизайнера Отчетов была заменена на Reset based on, чтобы разъяснить такое поведение.

В отчете со множественными областями детализации, вы можете определить пределы действия переменных и вычисляемых полей базируясь на областях детализации и ассоциированных с ними целевыми псевдонимами. Например, в отчете Customer (Заказчик), вы можете установить предел действия переменной, педсчитывающей колличество (Count), на базе области детализации с целевым псевдонимом Orders(Заказы). Такая переменныя будет предоставлять количество заказов для каждого заказчика. Так как ее область действия - область с корректным целевым псевдонимом, то она предоставит корректный подсчет. Без целевого псевдонима, такой посчет не будет давать корректный результат в случае, когда у Заказчика Платежей больше, чем Заказов.

Предварительные вычисления

Так как вы можете задать тот же самый целеной псевдоним для нескольких областей детализации, то вы можете одну из областей для получения вычисляемых значений перед тем, как отображать какие либо данные. В примере с отчетом Customer, создайте две области с целевым псевдонимом Orders. Задайте две переменных отчета, OrderTotal и OrderCount, на базе первой области, но расположите все желаемые данные из таблицы Order во второй области. Это даст вам возможность показать количество и общую сумму всех заказов в верхнем колонтитуле второй области детализации.

Использование предварительно вычисляемых переменных отчета

Когда переменные отчета установлены на базе области детализации, их значения остаются корректными и после того, как механизм отчетов завершил обработку данной области. Эти значения не сбрасываются в исходное состояние до следующей обработки этой же области (или ее колонтитулов, если таковые имеются) механизмом отчетов снова. Любые ранее вычесленные переменные могут использаваться для дальнейших вычислений по мере того, как вы отображаете информацию в дополнительных областях отчетов.

Например, вы можете использовать переменную OrderTotal, чтобы во второй области Orders показать какой процент от общей суммы заказов составляет сумма каждого заказа. После всех областей Orders, вы также можете использовать OrderTotal для вычислений текущего баланса в области детализации Payments.

Предварительно вычисляемые переменные на базе ведущего псевдонима

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

Смотрите также

Задачи

Как: Задать Целевой псевдоним для Областей Детализации

Ссылки

Scope Операторы
Команда SET RELATION
Функция TARGET( )
Команда SET SKIP
Объект Relation
Свойство ChildAlias
Свойство OneToMany

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Create Reports (Visual FoxPro)

Visual FoxPro 9.0
Как: Создать отчет (Visual FoxPro)
See Also

В зависимости от сложности отчета или уровнем настройки вы хотите, вы можете создавать отчеты по нескольким направлениям :

  • Создайте отчет из одной или нескольких таблиц с помощью мастера отчетов.

    Мастер - это самый легкий путь для создания отчета. Для более подробной информации, см Создание отчета с помощью мастера.

  • Создание отчета из одной или нескольких таблиц с помощью Quick Report Дизайнера отчетов.

    Quick Report самый быстрый способ создания простого отчета с требуемыми настройками характеристик Дизайнер отчета. Для более подробной информации, см Создание отчета с используя Quick Report.

  • Создание пользовательского отчета или изменение существующего отчета в Дизайнер отчетов.

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

Вы можете изменить любой файл настроеннго отчета созданный вами в Дизайнере отчета.

Создание очётов с использованием Мастеров

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

Для работы мастера отчетов

  1. Откройте проект Вашего приложения.

  2. В Project Manager, раскройте узел Documents.

  3. в узле Documents, выбрать Reports и нажать на кнопку New.

  4. в диалоговом окне New Report, выбрать Report Wizard.

  5. Выберите тип отчета который вы желаете создать.

  6. Следуйте инструкциям на экранах мастера.

Для более подробной информации, см Мастер отчета и One-To-Many Мастер отчета.

Можно также запустить Мастера из меню Tools, нажав не пункт Wizards и выбрав мастера. После создания формы с помощью мастера, вам настроить формат используя Дизайнер отчетов.

Создание отчетов с использованием мастера Быстрый отчет

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

Совет:
Вы можетеиспользовать Quick Report для существующих файлов отчетов, если полоса деталей пуста. Если страница содержит полосу заголовока контроля, Quick Report сохранит ее.

Комментарии:
Quick Report не добавляет General поля в отчет.

Для создания быстрого отчета

  1. Откройте проект Вашего приложения.

  2. В Project Manager, раскройте узел Documents.

  3. В узле Documents, выбрать Reports и нажать на кнопку New.

  4. В диалоговом окне New Report, выбрать New Report.

    Откроется Report Designer.

  5. В меню Report, выбрать Quick Report.

  6. В диалоговом окне Open, в просмотре выбрать каталог содержащий ваши таблицы и выбрать таблицу.

  7. В диалоговом окне Quick Report, выбрать вид полей, который Вы хотите.

  8. Для выбора сцецифичных полей, кликнуть на кнопку Fields. Когда вы закончите выбор полей, выбрать OK.

    Комментарии:
    По умолчанию все поля, кроме General поля в таблицы будут включены.

  9. Выберите или очистите Title, Add alias или Add table to data environment настройки.

  10. Когда Вы закончите работу в диалоговом окне Quick Report, нажмите OK.

Для получения дополнительной информации см. Диалоговое окно Quick Report.

Можно также запустить Быстрый отчет из меню File, выбрав New и в диалоговом окне New, выбрать Report и нажать кнопку New File, появится Дизайнер отчетов. Чтобы продолжить, выполните оставшиеся шаги описаны для создания быстрого отчета.

Вы можете создать быстрый отчет программно без открытия Дизайнера отчетов, используя версию быстрого отчета команды CREATE REPORT.Для получения дополнительной информации см. Команда CREATE REPORT – Quick Report .

Создание отчета используя Дизайнер отчета

Вы можете создавать заказные отчеты, начав настройку пустого отчета в Дизайнере отчетов.

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

Для начала работы с Дизайнером отчетов

  1. Откройте проект Вашего приложения.

  2. В узле Project Manager, откройте узел Documents.

  3. узле Documents, нажмите Reports и нажмите кнопку New.

  4. В диалоговом окне New Report, выбрать New Report.

    Откроется Report Designer.

Для получения дополнительной информации см. Дизайнер отчетов.

Можно также начать новый пустой отчет из меню File, выбрав New и в диалоговом окне New, , выбрать Report и нажать кнопку New File.

Вы можете открыть Дизайнер отчетов программно используя команды CREATE REPORT и MODIFY REPORT. Для получения дополнительной информации см. Команда CREATE REPORT и Команда MODIFY REPORT.

Смотреть также

Ссылка

Соображения по созданию отчетов

Другие ресурсы

Отчеты в Visual FoxPro
Как: Создать этикетку
Как: Открыть отчет или этикетку
Работа с отчетами

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Create Labels

Visual FoxPro 9.0
Как: Создать Этикетку
См. также

Для создания Этикетки имеются следующие варианты:

  • Создание простейших Этикеток с помощью Мастера Этикеток

    Мастер является простейшим средством создания Этикетки. Вы можете варьировать различные настройки для Этикетки, шаблоны, которые представляет данный Мастер.

  • Создание или изменение существующих файлов Этикеток при помощи Дизайнера Этикеток.

    Дизайнер обеспечивает разработку Этикетки , что называется "с-чистого-листа". Дизайнер Этикеток аналогичет Дизайнеру Отчетов, за исключением начального формата страница вывода.

Вы можете изменить несколько Этикеток в одном сеансе работы Дизайнера Этикеток.

Создание Этикетки Мастером

Вы можете создать этикетку с помощью Мастера Этикеток. Процесс создания заключается в определении Вами ответов на задаваемые Мастером вопросы

Примечание:
При первом запуске мастера Вам предлагается установить шаблон для создания этикеток. Данная операция будет работать только первое время использования Вами мастера Этикеток.

Для запуска Мастера Этикеток

  1. Откройте Проект Вашего приложения

  2. В окне Project Manager, откройте закладку Documents .

  3. В закладке Documents, нажмите Labels, и кнопку New.

  4. В диалоговом боксе New Label , нажмите Label Wizard.

  5. Далее следуйте предлагаемым инструкциям Мастера.

См. дополнительно раздел Мастер Этикеток

Мастер Этикеток можно также запустить на выполнение из меню Tools выбрав соответствующую опцию мастера. После создания Этикетки мастером, ее можно отредактировать при помощи Дизайнера Этикеток.

Создание Этикетки в Дизайнере

Вы можете создать Этикетку в Дизайнере, что называется "с-чистого-листа".

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

Для запуска Дизайнера Этикеток

  1. Откройте Проект Вашего приложения

  2. В окне Project Manager, выберите закладку Documents.

  3. В закладке Documents, нажмите Labels , а за тем New.

  4. В диалоговом боксе New Label , нажмите New Label.

    Дизайнер Этикеток откроется

Дополнительно См. раздел: Дизайнер Этикеток

Запустить дизайнер можно также выбрав в меню File опцию New , и в диалоговом боксе New, выбрать Label, за тем: New File.

Программный способ открытия Дизайнера: выполнение команд CREATE LABEL или MODIFY LABEL. См. дополнительно: Команда CREATE LABEL и Команда MODIFY LABEL.

См. также

Другие ссылки

Как: Создвать Отчет
Как: Открыть Отчет или Этикетку
Работа с Отчетами

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Open Reports and Labels

Visual FoxPro 9.0
Как: Открыть Отчет или Этикетку
См. также

Вы можете Открыть уже существующий Отчет или Этикетку для внесения некоторых измененийt. Вы также можете открыть указанные Отчеты в Защищенном режиме, для предотвращения изменений некоторых частей или Контролов Отчета, которые имеют соответствующую характеристику.

Для Открытия Отчета или Этикетки:

  1. В чистемном меню File, выберите пункт Open.

  2. В открывшемся диалоговом боксе Open, отображается список существующих Отчетов или Этикеток, которые вы можете выбрать для Редактирования.

    Note Совет

    Для отображения исключительно файлов Отчетов и Этикеток, выберите соответствующие типы файлов: Report (*.frx) или Label (*.lbx), в соответствующем Контроле Files of type рассматриваемого Диалогового Бокса Open.

  3. Выделите требуемый Файл, который нужно Открыть.

    Имя выбранного файла отображается в соответствующем Контроле File name.

  4. Нажмите кнопку OK.

    Выбранный файл открывается в соответствующем Дизайнере Отчетов или Этикеток.

Для открытия Отчета или Этикетки в Диспетчере Проекта Приложения:

  1. Откройте Проект вашего Приложения.

  2. В системном окне Project Manager, активируйте Группу Documents.

  3. В Группе Documents, активируйте подгруппу Reports или Labels.

  4. В раскрытой подгруппе Reports или Labels, выберите требуемый файл для Редактирования.

  5. В системном Окне Project Manager, нажмите кнопку Modify.

    Выбранный файл Отчета или Этикетки открывается в соответствующем Дизайнере.

Для Открытия Отчета или Этикетки с помощью Программного Кода:

  • Используйте соответствующие стандартные Команды: MODIFY REPORT или MODIFY LABEL.

    Открывается соответствующий Дизайнер.

Дополнительную информацию смотрите в разделах: MODIFY REPORT, команда и MODIFY LABEL, команда.

Для Открытия Отчета или Этикетки в Защищенном Режиме:

  • Используйте указанные выше стандартные команды MODIFY REPORT или MODIFY LABEL, где указывается опция PROTECTED.

    Открывается соответствующий Дизайнер в требуемом Режиме (Защищенном).

См. также

Задачи

Как: Создавать Отчеты (Visual FoxPro)
Как: Создавать Этикетки

Другие ссылки

Разработка и Настройка Отчетов
Работа с Отчетами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Report Layout and Design

Visual FoxPro 9.0
Проектирование и Форматирование Отчетов

Когда вы создаете Отчет или Этикетку, вы можете настраивать различные параметры вашего Отчета или Этикетки, определять параметры печатаемых страниц с помощью стандартных средств Дизайнеров Отчетов или Этикеток (Report Designer / Label Designer):

  • Изменение и настройка параметров Печатаемых Страниц.

  • Размещение Данных и другой Информации в различных частях Отчета, условия печати (отображения) данной информации.

  • Группировка исходной информации при помощи Механизма Группировки.

Многие разделы в Данных Секциях относятся как к Этикеткам, так и к Отчетам.

В данной Секции

Работа по настройке Печатных Страниц

Описывается, как настроить области печати результирующих Страниц.

Работа с областями Отчетов (Report Bands)

Объясняется, Где - Когда - Как отображать (печатать) информационные данные в ваших Отчетах.

Работа по Группировке Данных в Отчетах (Report Data Groups)

Описывается, как использовать механизм Группировки данных в ваших Отчетах.

Работа с Контролами Отчетов (Report Controls)

Объясняется, как с помощью Контролов Отчетов разместить информационные данные в ваших Отчетах.

Работа с Переменными в Отчетах (Report Variables)

Описывается, как использовать внутренние переменные Отчетов, определять их, использовать в вычислениях, размещать в Отчетах.

Связанные Секции

Работа с Данными в Отчетах

Объясняется, как включать и использовать Информационные данные в Отчетах.

Работа с Отчетами (Reports)

Описываются основные концепции Отчетов в системе Visual FoxPro, как подключать данные Отчеты к вашим Приложениям.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Working with Page Layouts

Visual FoxPro 9.0
Работа с настройками страниц Отчетов

Вы можете изменять настройки страницы Отчета или Этикетки.

В данном разделе

Как: Изменить настройку Страницы Отчета

В данном пункте описывается, как изменять настройки Страницы Отчета или Этикетки, например, левый край страницы, размер листа, ориентация страницы отчета.

Как: Определить Столбцы (колонки) в Отчетах

Описывается, как определить Колонки на странице Отчета или Этикетки.

Как: Настроить координатную Сетку Дизайнера Отчетов

Описывается, как установить специальные параметры координатной сетки, которая используется в дизайнере, при размещении объектов в разрабатываемом Отчете или Этикетке.

Связанные разделы

Разработка структуры Отчета

Описываются различные параметры настройки и организации размещения объектов в Отчетах и Этикетках..

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Change Page Settings for Reports

Visual FoxPro 9.0
Как: Изменение настроек страницы отчета
Смотрите также

Вы можете изменить заданные по умолчанию параметры страницы отчета или этикетки. Например, можно изменить ширину левого поля, шрифт, заданный в раскладке отчета по умолчанию, размер бумаги и источник ее подачи, ориентацию страницы.

Note Примечание

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

Note Примечание

Если Вы меняете шрифт, заданный в раскладке страницы по умолчанию, установленные параметры будут применены только ко вновь добавляемым элементам управления отчета. Для более подробной информации смотрите: Как: Изменение параметров шрифта для элементов управления контроля.

Чтобы задать ширину левого поля страницы:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Properties пункта Report главного меню.

    Откроется диалоговое окно Report Properties (Свойства отчета).

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app), вместо этого откроется диалоговое окно Report Page Setup (Параметры страницы отчета). Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, может быть отображено соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Page Setup (Параметры страницы отчета).

  3. В диалоговом окне Report Properties выберите вкладку Page Layout (Раскладка страницы).

  4. В поле ввода Left margin введите или выберите нужное значение ширины левого поля.

  5. Нажмите кнопку OK.

    Note Примечание

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

Для более подробной информации смотрите: Вкладка Page Layout (Раскладки страницы) диалогового окна свойств отчета (Построитель отчетов).

Чтобы изменить шрифт, заданный в раскладке отчета по умолчанию:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Default Font пункта Report главного меню.

  3. В открывшемся диалоговом окне Font (Шрифт) установите необходимые параметры шрифта, затем нажмите кнопку OK.

Для более подробной информации смотрите: Диалоговое окно Шрифт.

Шрифт, заданный по умолчанию можно изменить также открыв диалоговое окно Report Properties (Свойства отчета) через строку Properties пункта Report главного меню. В диалоговом окне Report Properties (Свойства отчета) выберите вкладку Page Layout (Раскладка страницы), и в группе опций Default font (Шрифт по умолчанию) нажмите кнопку (…), открывающую диалоговое окно Font.

Note Примечание

Опция Use font script указывает, что языковой набор символов, выбранный в опции "Набор символов" диалогового окна Font (Шрифт) будет сохранен с отчетом. Когда Вы задаете шрифт по умолчанию в диалоговом окне Font (Шрифт), выбранный набор символов будет сохранен по умолчанию. Отмена выбора этой опции позволяет сохранять раскладку отчета без указания заданного специфического набора символов шрифта. Для более подробной информации смотрите: Диалоговое окно Report Properties (свойств отчета), Page Layout Tab (вкладка раскладки страницы), (Построитель отчетов).

Note Примечание

Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app), откроется диалоговое окно Report Page Setup (Параметры страницы отчета). Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, может быть отображено соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Page Setup (Параметры страницы отчета).

Чтобы изменить размер бумаги или источник ее подачи:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Properties пункта Report главного меню.

    Откроется диалоговое окно Report Properties (Свойства отчета).

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app), откроется диалоговое окно Report Page Setup (Параметры страницы отчета). Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, может быть отображено соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Page Setup (Параметры страницы отчета).

  3. В диалоговом окне Report Properties откройте вкладку Page Layout (Раскладка страницы).

  4. На вкладке Page Layout нажмите кнопку Page setup (Параметры страницы).

    Откроется диалоговое окно Page Setup.

  5. В выпадающем списке Size (Размер) выберите необходимое значение.

  6. В выпадающем списке Source (Подача) выберите необходимое значение.

  7. Закончив выбор, нажмите кнопку OK.

Для более подробной информации смотрите: Вкладка Page Layout (Раскладки страницы) диалогового окна свойств отчета (Построитель отчетов).

Чтобы изменить ориентацию страницы:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Properties пункта Report главного меню.

    Откроется диалоговое окно Report Properties (Свойства отчета).

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app), откроется диалоговое окно Report Page Setup (Параметры страницы отчета). Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, может быть отображено соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Page Setup (Параметры страницы отчета).

  3. В диалоговом окне Report Properties откройте вкладку Page Layout (Раскладка страницы).

  4. На вкладке Page Layout нажмите кнопку Page setup (Параметры страницы).

    Откроется диалоговое окно Page Setup.

  5. В группе опций Orientation (Ориентация) выберите Portrait (Книжная) или Landscape (Альбомная), затем нажмите кнопку OK.

Для более подробной информации смотрите: Вкладка Page Layout (Раскладки страницы) диалогового окна свойств отчета (Построитель отчетов).

Смотрите также

Задачи

Как: Открытие отчетов или этикеток

Прочие ресурсы

Работа с раскладкой страницы
Работа с отчетами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Define Columns in Reports

Visual FoxPro 9.0
Как: Определить Столбцы в Отчетах
См. также

Вы можете определить получение Отчета в несколько Столбцов (Колонок) при размещении их на Странице Отчета. Заданное количество Колонок Отчета разбивают печатный Лист на несколько Вертикальных Секций. При работе соответствующих Дизайнеров Отчетов или Этикеток данные, элементы Отчета размещаются в Одном Столбце Отчета. Однако, вы можете вы можете определить вывод информации в Несколько Колонок на печатной Странице. При выполнении, Report Engine повторяет заполнените Колонок Отчета требуемое количество раз, пока не заполнится Страница Отчета.

Note Обратите Внимание

Если вы намерены изменить количество Столбцов на странице уже разработанного ранее Отчета, вам, возможно, потребуется изменить размеры некоторых Контролов Отчета, чтобы они корректно размещались в соответствующих Колонках Страницы Отчета.

Колонки Страниц связаны с соответствующими парами дополнительных Полос Отчета: верхний и Нижний колонтитулы Колонки, которые, в свою очередь, вложены в соответствующие Верхний и Нижний Клонтитулы Страницы Отчета. Под Заголовками Колонок могут размещаться соответствующие заголовки Групп; аналогичное можно сказать о вложенности и нижних колонтитулов обрабатываемых Колонок, которые определены соответствующим образом в Дизайнере Отчетов. Поведение размещением рассматриваемых Коллекций Полос Отчета может быть настроено с помощью соответствующего Инструментария Дизайнера Отчетов. Дополнительную информацию смотрите в разделе: Как: Добавить Полосы в Отчет.

Однако, добавление нескольких Полос Отчета может значительно повлиять на взаимное размещение различных Коллекций Полос Отчета (верхних и нижних Колонтитулов для Групп, и так далее). Данные Хпрактеристики значительно зависят от настройки Важного параметра: Column print order (Порядок Заполнения Колонки Отчета), который рассматривается далее.

Для определения Столбцов при размещении Отчета на печатном Листе:

  1. Откройте требуемый Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт Properties (Свойства).

    Активируется диалоговый бокс Report Properties (Свойства Отчета).

    Note Обратите внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов (Report Builder), то вместо этого отображается диалоговый бокс Report Page Setup. Если системная переменная _REPORTBUILDER установлена в Построитель другого Производителя ПО, может отобразиться Другой Диалоговый Бокс, с другими функциями. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная или Report Page Setup, диалоговый бокс.

  3. В диалоговом боксе Report Properties, активируйте закладку Page Setup (Установка Страницы).

  4. В поле ввода Number, введитек или выберите требуемое количество Столбцов (Колонок), размещаемых на Листе.

  5. В поле Width, введите или выберите значение Ширины Колонки (Столбца).

  6. В поле Spacing, введите значение, определяющее ширину промежутка между Столбцами.

    Note Примечание

    Поле Spacing является доступным только в том случае, когда для страницы Печати определяется более одного Столбца, в соответствующем поле Number. Используйте Контрол Column print order (Порядок Печатьи Столбцов) для определения, в каком порядке будут формироваться данные пр получении Отчета или Этикетки. По-умолчанию, Дизайнер Отчетов устанавливает Значение: op to bottom (сверху-вниз). В этом случае, внутренний механизм (Report Engine) обрабатывает данные из Таблиц, размещает их в одном столбце, пока позволяет высота Страницы. Если вы выбираете вариант: Left to right (слева-направо), Report Engine размещает данные в нескольких Столбцах Отчета, а следующая Запись начинает печататься с первого столбца Отчета. Данный вариант обычно используется в Дизайнере Этикеток (Label Designer), поэтому данный вариант обычно называется как label style (Стиль Этикеток).

    Note Обратите Внимание

    В системе Visual FoxPro 9.0, использование рассмотренного выше Стиля Этикеток имеет некоторые дополнительные Особенности. Когда вы используете данный вариант построения Отчета, данные размещаются Слева-Направо, Заголовки Групп, полосы типа Detail, нижние Колонтитулы размещаются поперек Страницы, тем самым, может быть обеспечена возможность создавать отдельные Заголовки для каждой обрабатываемой Строки. Каждая полоса типа Datail начинается после всех Полос Отчета, относящихся к предыдущим Записям. В предыдущих, младших версиях VFP, параметр Column print order не изменял размещение Заголовков Групп и соответствующих нгижних Колонтитулов, поэтому, первый Элемент из полосы Detail печатался "вперемежку" сдругими Данными данного Отчета, в той же самойц Строке.

  7. Нажмите кнопку <OK>.

Дополнительную информацию смотрите в разделе: Закладка Page Layout, Report Properties, диалоговый бокс (Построитель Отчетов).

См. также

Задачи

Как: Открыть файл Отчета или Этикетки

Концепции

Полосы Отчетов

Другие ссылки

Работа по настройке Листов Отчета (Page Layouts)
Работа с Отчетами и Этикетками

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Configure the Page Layout Grid for Reports

Как: Конфигурирование сетки для раскладки страницы отчета
Смотрите также

Для удобства размещения и выравнивания элементов управления отчета или этикетки в раскладке страницы можно использовать сетку. Вы можете использовать следующие настройки сетки:

  • Сделать видимыми линии сетки, которые не будут отображаться или печататься при выполнении отчета.

  • Активировать функциональные возможности "привязки к сетке", что позволит автоматически располагать и выравнивать объекты по линиям сетки.

  • Изменить единицы измерения линейки.

  • Установить шаг сетки.

  • Отображать позицию объектов в сетке.

Чтобы отобразить или скрыть линии сетки:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Пометьте опцию Grid Lines пункта View главного меню.

    Линии координатной сетки станут видимыми. Снятие пометки с этой опции сроет линии сетки.

Чтобы активировать функциональные возможности "привязки к сетке":

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Пометьте опцию Snap to Grid пункта Format главного меню.

    Теперь создаваемый и перетаскиваемый в конструкторе объект будет позиционироваться по линиям координатной сетки.

    Note Примечание

    Линии координатной сетки служат ориентирами при выравнивании элементов управления в раскладке и не определяют координаты элементов управления при включенной опции Snap to Grid. Дополнительно смотрите Вкладка Ruler/Grid диалогового окна свойств отчета (Построитель отчета).

    Note Совет

    Вы можете использовать возможности Snap to Grid для предварительного выравнивания в отчетах, требующих более точного позиционирования. В этом случае, для точного позиционирования элемента управления, необходимо выбрать его и перемещать, используя клавиши стрелок. Вы можете также использовать заданные по умолчанию установки Построителя отчетов для индивидуальной настройки размера и местоположения элементов управления в раскладке. Дополнительно смотрите Вкладка General диалогового окна Report Control Properties (Свойства объектов управления отчета), (Построитель отчетов).

Чтобы изменить единицы измерения линейки:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Set Grid Scale пункта Format главного меню.

    Откроется диалоговое окно Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Set Grid Scale или соответствующее диалоговое окно. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Set Grid Scale.

  3. В диалоговом окне Report Properties выберите вкладку Ruler/Grid (В описываемом случае диалоговое окно свойств отчета вызывается открытым на этой вкладке).

  4. В списке Units группы опций Ruler выберите необходимые единицы измерения.

  5. Завершив, нажмите кнопку OK.

Дополнительно смотрите Вкладка Ruler/Grid диалогового окна свойств отчета (Построитель отчета).

Чтобы задать шаг сетки:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Set Grid Scale пункта Format главного меню.

    Откроется диалоговое окно Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Set Grid Scale или соответствующее диалоговое окно. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Set Grid Scale.

  3. В диалоговом окне Report Properties выберите вкладку Ruler/Grid (В описываемом случае диалоговое окно свойств отчета вызывается открытым на этой вкладке).

  4. В полях ввода Horizontal spacing (Горизонтальное разрешение) и Vertical spacing (Вертикальное разрешение) введите или выберите нужное значение шага сетки.

  5. Завершив, нажмите кнопку OK.

Дополнительно смотрите Вкладка Ruler/Grid диалогового окна свойств отчета (Построитель отчета).

Чтобы отобразить координаты объекта в сетке:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Пометьте опцию Show Position пункта View главного меню.

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

Смотрите также

Прочие ресурсы

Проектирование и Форматирование Отчетов
Работа с раскладкой страницы
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Working with Report Bands

Visual FoxPro 9.0
Работая с Областями Отчета

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

В этом разделе

Области Отчета

Описывает и сравнивает различные типы областей отчета.
Как : Добавить Область в Отчет

Объясняет, как добавить область в раскладке отчета.
Как : Изменить Высоту Области Отчета

Описывает, как изменить высоту области отчета в раскладке отчета.
Как : Изменить Порядок Следования Области Детализации

Описывает, как пользоваться построителем отчета для того, чтобы изменить порядок следования множественных областей детализации в раскадке отчета.
Как : Задать Целевой Псевдоним (Target Alias) для Областей Детализации

Описывает, как изменить порядок обработки записей во время формирования отчета, путем задания целевого псевдонима для одной или более областей отчета.
Как : Задать Выражение, Вычисляемое во Время Обработки Областей

Объясняет, как создать выражение, которое механизм отчетов запускает до и после обработки области во время формирования отчета.
Как : Добавить Комментарии к Области Отчета

Описывает, как добавить комментарии, чтобы указать цели дизайна и другие замечание к использованию определенной области раскладки отчета.
Как : Добавить Пользовательские Данные к Области Отчета

Описывает, как добавить пользовательские данные к атрибутам, хранящимся в раскладке отчета и относящиеся к определенной области.
Как : Конфигурировать Ввод/Вывод Для Областей Отчета

Объясняет, как изменить размер области отчета для очень длинных или отсутствующих данных и как кофигурировать дополнительные области.
Как : Удалить Область из Отчета

Объясняет, как удалить дополнительную область из раскладки отчета.

Ссылки

Статьи по этой теме

Раскладка Отчета и Дизайн

Описывает подходы настройки и планирования раскладки страницы для отчетов и этикеток.
Работа с Данными в Отчетах

Описывает, как предоставлять и распоряжаться данными для отчетов и этикеток.
Работа с Группами Данных Отчета

Описывает применение групп данных в отчетах и этикетках.
Как : Задать Колонки в отчетах

Описывает, как задать колонки для страницы отчета или этикетки.
Отправить ваши комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод LS


Report Bands

Visual FoxPro 9.0
Области Отчета
Смотри Также

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

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

  • Общее количество человек в списке, используя область итогов (summary band), которая расположена в конце отчета.

  • Назвоние отчета, номер страницы и текущую дату, используя верхний или нижний колонтитулы страницы (page header или page footer bands), которые расположены вначале или в конце каждой страницы соответственно.

  • Линия, разделяющая фамилии, начинающиеся с каждой букву алфавита, чтобы облегчить поиск, используя верхний и нижний колонтитулы группы (group header и footer bands), которые появляются каждый раз, когда меняется первая буква фамилии.

Вы можете включать теже самые типы объектов управления во все области отчета, такие как объект Field и вычисляемые выражения, чтобы отобразить данные. Для дальнейшей информации об объектах управления отчета смотрите Работа с Объектами Управления Отчета.

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

  • Типы Областей Отчета

  • Выбор Различных Типов Областей для Содержания Отчета

  • Сравнение Областей Группа(Group) и Детализация(Detail) в Раскладке Отчета

  • Функциональные Различия Между Областями Группа(Group) и Детализация(Detail)

Типы Областей Отчета

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

Тип области Описание Доступность в раскладке Обычно отображает Может охватывать больше одной страницы

Заглавие (Title)

Отображает информацию или данные, которые представлены единыжды вначале отчета.

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

Заглавие отчета или титульный лист, дата отчета, номер страницы, логотип компании, бордюр.

Нет

Верхний колонтитул страницы (Page Header)

Отображает информацию или данные, которые представлены один раз вначале страницы.

Доступно по умолчанию.

Обязательная область на всех страницах, кроме случая, когда области Заголовок и Итоги (Title и Summary) на отдельных страницах.

Наименование отчета, номер страницы, дата.

Нет

Верхний колонтитул колонки (Column Header)

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

Добавляется автоиатически для кахдой колонки, созданной пользователем. Не появляется, если отчет имеет только одну колонку.

Предшествует совокупности колонок.

Нет

Верхний колонтитул группы (Group Header)

Отображает информацию или данные, которые представлены один раз на группу, предшествует группе.

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

Предшествует группе данных.

Да

Верхний колонтитул детализации (Detail Header)

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

Добавляется пользователем.

Необязательная область, доступна для каждой области детализации в раскладке.

Предшествует записи.

Да

Детализация (Detail)

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

Доступно по умолчанию.

Одна область детализации обязательна в раскладке отчета. Пользователь может по желанию добавить дополнительную область детализации.

Данные для каждой записи в таблице.

Да

Нижний колонтитул детализации (Detail Footer)

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

Необязательная область, доступна для каждой области детализации в раскладке.

Суммарная информация для данной записи.

Да

Нижний колонтитул группы (Group Footer)

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

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

Вычисляемые данные для группы данных.

Да

Нижний колонтитул колонки (Column Footer)

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

Добавляется автоматически для каждой колонки, созданной пользавотелем. Не появляется, если отчет имеет только одну колонку.

Суммарная информация и итоги для колонки.

Нет

Нижний колонтитул страницы (Page Footer)

Отображает информацию или данные, которые представлени единыжды в конце страницы.

Обязательная область на всех страницах, за исключением случая, когда области Заглавие и Итоги (Title и Summary) на отдельных страницах. По желанию доступна на странице Итогов.

Название отчета, номер страницы, дата.

Нет

Итоги (Summary)

Отображает информацию или данные, которые представлени единыжды в конце отчета.

Необязательная область, может быть размещена на отдельной странице в конце отчета или непосредственно перед нижним колонтитулом страницы на последнем листе отчета.

Итоги отчета, суммарная информация.

Примечание:
Вы можете создать общую сумму, поместив вычисляемое выражение в область итогов(Summary band).

Да

Для дальнейшей информации смотри Дизайнер Отчетов and Дизайнер Этикеток.

Выбор Различных Областей для Содержимого Отчета

Назначение областей Заглавие и Итоги (Title и Summary) лекго понять, если сравнить эти части отчета со структурой книги.

Область Заглавие (Title) содержит информацию, которая появляется только один раз вначале отчета, аналогично вступительному обоснованию книги, как например, пролог, слова признательности или оглавление. Область Итоги (Summary) содержит в себе информацию, которая встречается только в конце книги, такая как предметный указатель или эмблема типографии/издательства на книге .

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

Тем не менее, когда отчет состоит из нескольких областей детализации (Detail bands) и групп данных, то эти области выглядят сходно в раскладке. Их различия в структуре отчета могут быть не совсем четкими на первый взгляд. Также, в режиме работы приложения, эти области не всегда расположены на том физическом месте, на котором они присутствуют во время дизайна отчета или этикетки.

Вы можете воспринимать верхний и нижний колонтитулы группы (Group Headers и Group Footers) как, выполняющие ту же самую роль, вступительный и сводный параграфы каждой главы книги. Области детализации (detail bands) - это аналоги параграфов, расположенных между вступительным и сводным сегментами; они могут появляться любое количество раз до окончания главы.

Следующий раздел объясняет различия между областями Детализация (Detail bands) и областями Группа(Group bands) более подробно.

Сравнение Областей Группа (Group) и Детализация (Detail) в Раскладке Отчета

Когда вы добавляете области Дитализация (Detail), они последовательно появляются в ракскадке. Что означает, каждая новая область детализации добавляется за последней областью детализации, и каждая пара, соответсвующих ей, колонтитулов появляется с ней. Область детализации и ее колонтитулы образуют последовательность детализации (detail band set); ни какая другая область не может разделять ее. Следующие друг за другом множественные последовательности детализации делают возможным включать данные из множественных подчиненных таблиц одной главной таблицы. Целевой псевдоним (Target alias) области детализации скажет механизму отчетов, который из наборов подчиненных записей вы хотите обработать в данной области. Смотри Как: Задать Целевой Псевдоним для Области Детализации для дальнейшей информации.

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

Функциональные Различия Между Областями Группа (Group) и Детализация (Detail)

Различные способы отображения дизайнером последовательности областей детализации и группировок данных отражают их функциональные различия в run_time. Эти два типу областей помогут вам отобразить различные типы реляционных связей данных в отчете.

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

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

Области Группы (Group bands) создаются, когда изменяется значени выражения, на основе которого задается группировка данных. В выше описанном примере, выражением группировки может быть Район или Продавец. Группировка данных в отчета требует Группировку по выражению. Область детализации имеет необязательное выражение для целевого псевдонима, который может выглядеть как выражение группы, но это - немного другое. В данном примере отчета, выражение Целевого псевдонима (Target alias) - это "Заказы" и "Оплаты" или переменные, передающие псевдонимы, под которыми открыты каждая из подчиненных таблиц.

Для дальнейшей информации смотрите Работа с Группами Данных в Отчетах и Работа со Связанными Таблицами, Используя Множественные Области Детализации в Отчете.

Последовательность области детализации (Detail band sets) и области группы имеют некоторые дополнительные функциональные различия:

  • Механизм отчетов не способен определить группу данных без верхнего и ниэнего колонтитулов, которые представляют соответствующую группировку данных на основании вычесляемого выражения. Вехний и нижний колонтитулы детализации - необязательные области; область детализации может быть создана и без них.

  • Если вы включили необязятельные колонтитулы детализации, то области детализации могут появиться в отчете, даже если в подчиненной таблице, заданной целевым псевдонимом, нет записей соответствующих текущей записи родительской таблицы. Такое невозможно для колонтитулов группы, так как, группа не может существовать хотя бы без одной записи, удовлетворяющий выражению группировки.

    Подсказка:
    Если вы не хотите, чтобы объекты управления появлялись в нижнем и верхнем колонтитулах области детализации, когда данная область ничего не содержит, вы можете использовать Print when выражение, для того чтобы подавить их. Обычно корректным выражением для этого случая является EOF(<target alias>), где <target alias> - это целевой псевдоним, который вы определили для этой области детализации. Функция EOF() определяет, расположен ли указатель записи в конце файла подчиненной таблицы во время запуска отчета, если да, то это означает, что не существует ни одной записи, соответствующей текущей записи главной таблицы. Вы можете сомкнуть пустое место в верхнем и нижнем колонтитулах, когда данные объекты управления не печатаются, используя опцию Remove line if blank для каждого объекта. Смотри Как: Подавить Печать Пустых Строк в Объктах Отчета и Закладка Print When, Окно Диалога Report Control Properties (Построитель Отчетов) для дальнейшей информации.

  • Ключевое слово SUMMARY в команде REPORT FORM и LABEL FORM подавляет печать последовательности области детализации, включая ее верхний и нижний колонтитулы. Если вы определили вечисляемое выражение на входе и выходе этих областей, то они не будут выполняться во время запуска отчета в режиме SUMMARY. SUMMARY не подавляет верхний и нижний колонтитулы группы (Group Headers и Group Footers), и их логические выражения на входе и на выходе будут вычисляться. Для дальнейшей информации смотри Как: Задать Выражение, Вычисляемое во время Обработки Областей Отчета.

  • Максимальное число вложенных групп данных - 74, и максимальное количество областей детализации - 20. Создание области детализации не уменьшает доступного количества групп данных, и создание групп данных не ограничивает колличество областей детализации, которые вы можете добавить в ваш отчет.

Сиотри Также

Как: Добавить Области В Отчетах
Работа с Областями Отчета

Послать ваши коментарии о данной статье в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Add Bands to Reports

Visual FoxPro 9.0
Как: Добавить Полосу в Отчет
См. также

У вас имеется возможность добавлять в разрабатываемые Отчет или Этикетку дополнительные информационные Полосы, которые планируете использовать для размещения в них специальных данных. Вы можете добавить в ваш Отчет или Этикетку следующие типы Полос:

  • Title (Полоса Титула Отчета).

  • Summary (Полоса Итогов Отчета).

  • Detail (Детальная полоса Отчета, или набор детальных полосотчета).

  • Page Header, Page Footer, Summary (полосы Заголовков, Поддонов, Итогов Листов).

  • Detail Header / Detail Footer Заголовок и/или Поддон для информационных полос типа: Detail.

Дополнительную информацию смотрите в разделе: Полосы Отчетов.

Закладка "Optional Bands"

Для добавления Титула Отчета, Итогов Отчета, или дополнительной полосы типа Detail:

  1. Откройте файл Отчета или Этикетки в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт: Optional Bands (Дополнительные Полосы).

    Активируется Диалоговый бокс Report Properties (Свойства Отчета).

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов, то указанная опция меню Optional Bands может быть недоступной. Если системная переменная _REPORTBUILDER установлена и указывает на построитель Отчетов другого Производителя, то указанный диалоговый бокс может иметь другой вид. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная или Optional Bands, диалоговый бокс.

  3. В активированном диалоговом боксе Report Properties, выберите требуемую Закладку Optional Bands.

  4. Для выбора типа добавляемой (создаваемой) полосы Отчета выполните следующее:

    • Для добавления полосы типа Title, в области Окна Title, активируйте переключатель Report has title band (Отчет с Заголовком).

      Note Совет

      Для размещения Титульного Заголовка на отдельном Листе Отчета установите переключатель: New page after title has printed (После печати Титула - новый Лист).

    • Для добавления полосы Итогов Отчета, в области окна Summary, активируйте переключатель Report has summary band (Отчет с Итоговой Областью).

      Note Совет

      Для размещения Итогов Отчета на отдельном Листе Отчета активируйте переключатель: Summary prints as new page (Итоги Отчета - на отдельном Листе). Для добавления специальных полос типа Page Header / Page Footer для группы полос Итогов, активируйте переключатели: Include page header with summary / Include page footer with summary, по-отдельности или вместе.

    • Для добавления информационных полос типа Detail, в области Окна Detail bands, нажмите кнопку Add для выделенной существующей Полосы типа Detai, размещенной в списке "Detail Bands".

      Каждая добавляемая полоса типа Detail нумеруется в порядке ее добавления в Отчет (от младших номеров - к старшим).

  5. После завершения выполненных Операций - нажмите кнопку: OK.

Дополнительную информацию смотрите в разделе: Закладка Optional Bands, диалоговый бокс Report Properties (Построитель Отчетов).

Для добавления специальных полос типа "Detail Header" или "Detail Footer" для исходных полос типа Detail:

  1. В соответствующем Дизайнере Отчетов, откройте ваш разрабатываемый Отчет или Этикетку.

  2. В системном меню Report, выберите подпункт Edit Bands.

  3. В открывшемся диалоговом боксе Edit Bands (Редактирование Полос), выберите полосу типа Detailи нажмите кнопку OK.

    После сделанного уточнения открывается диалоговый бокс: Detail Band Properties (Свойства Полосы типа Detail).

    Note Совет

    Указанный диалоговый бокс открывается также при выполнении "double-click" на разделительной полосе с именем "Detail".
    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов или указывает на другое программное обеспечение построения Отчетов, то указанный диалоговый бокс характеристик полосы типа Detail может иметь другой вид, или отсутствовать совсем. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная или Detail Dialog Box.

  4. В Указанном диалоговом боксе Detail Band Properties, активируйте Закладку Band.

  5. В области Окна Detail properties, активируйте переключатель Associated header and footer bands (Ассоциированные полосы Заголовка и Поддона), нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Закладка Band, диалоговый бокс Report Band Properties (Построитель Отчетов).

См. также

Задачи

Как: Открыть файл Отчета или Этикетки
Как: Настроить формирование Полос Отчета
Как: Удалить Полосу из Отчета

Другие ссылки

Работа с Контролами в Отчетах (элементами управления)
Работа с Полосами Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Change Report Band Height

Как: Изменение высоты области отчета
Смотрите также

Вы можете изменить высоту областей отчета в раскладке страницы отчета или этикетки. Для более подробной информации о настройке высоты области отчета при генерации данных для вывода в отчете смотрите Как: Конфигурировать Вывод для Областей Отчета.

Чтобы изменить высоту области отчета:

  1. Откройте отчет или этикетку в соответствующем редакторе.

  2. Выберите опцию Edit Bands... пункта Report главного меню.

    Откроется диалоговое окно Edit Bands.

  3. В диалоговом окне Edit Bands выберите нужную область и нажмите кнопку OK, либо дважды щелкните на названии нужной области.

    Откроется диалоговое окно свойств выбранной области отчета.

    Note Совет

    Вызвать диалоговое окно свойств области отчета можно также двойным щелчком на разделителе соответствующей области в Конструкторе отчетов или этикеток.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменна _REPORTBUILDER и Диалоговое окно свойств области отчета.

  4. В диалоговом окне свойств области отчета откройте вкладку General.

  5. В поле ввода Height выберите или введите нужное значение высоты области.

  6. Отметьте опцию Constant band height (Постоянная высота области), если необходимо, чтобы высота области не изменялась. Если необходимо, чтобы высота области увеличивалась для отображения ее содержимого, снимите пометку с этой опции. Эта опция может использоваться для любой области отчета, несмотря на то, что некоторые области могут умещаться на одной странице, а другим необходимо несколько, если этого требует их содержимое. Для более подробной информации смотрите: Области отчета.

  7. После установки необходимых опций нажмите кнопку OK.

Для более подробной информации смотрите: Вкладка General диалогового окна свойств области отчета (Построитель отчетов).

Note Совет

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

Note Примечание

Если область содержит некоторые объекты, разделитель области нельзя перетащить выше самого нижнего из них. Однако, в этом случае высоту области можно уменьшить в поле ввода Height на вкладке General вне зависимости от содержимого области. В этом случае объекты, которые располагаются за пределами области могут отображаться некорректно. Расположите объекты так, как необходимо для правильного их отображения.

Смотрите также

Задачи

Как: Конфигурирование данных, выводимых выводимых в области отчета

Прочие ресурсы

Работа с областями отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Change Detail Band Order

Как: Изменить порядок полос Detail в Отчете
См. также

Вы можете изменить порядок следования полос Detail в разрабатываемом Отчете или Этикетке.

Note Примечание

Если значение системной переменной _REPORTBUILDER не установлено в стандартный Построитель Отчетов (Report Builder), вы не сможете изменить порядок следования полос Detail, после того, как добавите новую полосу. Дополнительную информацию см. в разделе: _REPORTBUILDER, системная переменная.

Для изменения порядка следования полос Detail в Отчете:

  1. Откройте требуемый Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите пункт Optional Bands.

    Открывается соответствующий диалоговый бокс Report Properties.

    Note Примечание

    Если значение системной переменной _REPORTBUILDER не установлено в стандартный Построитель Отчетов (Report Builder), Диалоговый бокс Optional Bands - не откроется. Если указанная переменная, _REPORTBUILDER указывает на дизайнер другого производителя, откроется другой, соответствующий диалоговый бокс. Дополнительную информацию смю в разделе: Optional Bands, Диалоговый бокс.

  3. В открывшемся диалоговом боксе Report Properties, активируйте Закладку Optional Bands.

  4. В области данных (полосы отчета) Detail bands, выполните требуемые перемещения полос Отчет, установив требуемый порядок следования полос Detail.

Дополнмтельную информацию смотрите в разделе: Закладка Optional Bands, Диалоговый бокс Report Properties (Report Builder).

См. также

Задачи

Как: Добавить Полосу в Отчет

Другие ссылки

Работа с Полосами Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Specify Target Aliases for Detail Bands

Как: Назначить управляющий Алиас для полосы Detail Отчета (Detail Bands)
См. также

Вы можете назначить управляющий Алиас для каждой Детальной полосы Отчета (Detail band), в соответствие с которым будут обрабатываться записи.

Для определения управляющего алиаса для детальной полосы Отчета

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В меню Report, выберите опцию Edit Bands.

  3. В появившемся диалоговом боксе Edit Bands, выделите нужную Детальную полосу (Detail band), нажмите OK.

    Откроется диалоговый бокс Detail Band Properties (свойства Детальной Полосы):

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Report Builder или установлен другой Построитель Отчетов, тогда указанный диалоговый бокс Detail может иметь другие характеристики и другие параметры. Дополнительно См. разделы _REPORTBUILDER, системная переменная и Диалоговый бокс Report Band Properties.

  4. В диалоговом боксе Detail Band Properties, выберите закладку Band.

  5. В соответствующем боксе Target alias expression (выражение управляющего алиаса), введите нужное имя алиаса. Для построения выражения, нажмите многоточие (…), откроется соответствующий построитель варажения (Expression Builder).

    Note Обратите Внимание

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

  6. По завершению, нажмите кнопку OK.

Дополнительно См. раздел Закладка Band, Диалоговый бокс Report Band Properties (Построитель Отчетов).

См. также

Другие ссылки

Работа с Полосами Отчетов
Работа с Данными в Отчетах

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Specify Expressions to Evaluate When Processing Bands

Как: Определить/Задать Вычесляемое выражение при формировании Полосы Отчета (Report Band)
См. также

Вы можете определить некоторое вычисляемое выражение, которое будет выполняться Перед или После формированием Полосы Отчета или Этикетки; аналогично стандартным Событиям Before и After.

Для определения выражения, вычисляемого при формировании Полосы Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберимте подпункт Edit Bands.

    Открывается соответствующий диалоговый бокс Edit Bands.

  3. В данном диалоговом боксе Edit Bands, выберите требуемую Полосу Отчета, и нажмите кнопку OK.

    Открывается диалоговый бокс Properties.

    Note Совет

    Вы можете также выполнить "Double-Click" для выбранной Полосы, при этом также откроется описанный выше диалоговый бокс Properties Полосы Отчета.
    Note Примечание

    Если системная переменная _REPORTBUILDER указывает не на стандартный Построитель Отчетов или на Построитель другого Производителя (Report Builder) Структура Описываемого Диалогового бокса может отличаться как по Изображению так и по Содержанию Инструментария. Смотрите дополнительно разделы: _REPORTBUILDER, системная переменная и Report Band Properties, диалоговый бокс.

  4. В соответствующем диалоговом боксе активируйте Закладку General.

  5. В соответствующей области Run expression, выполните следующие действия:

    • Для определения вычисляемого выражения Перед формированием Полосы Отчета, введите выражение в текстовый бокс: On entry.

    • Для определения вычисляемого выражения После формированием Полосы Отчета, введите выражение в текстовый бокс: On exit.

    Для построения сложного выражения вы можете использовать Построитель выражений, вызываемый кнопкой (...многоточие...) (…). Смотрите дополнительно: Expression Builder, диалоговый бокс.

Смотрите дополнительно: Закладка General, Report Band Properties, диалоговый бокс (Построитель Отчетов).

См. также

Задачи

Как: Настроить формат вывода Полосы Отчета

Другие ссылки

Работа с Полосами Отчета (Report Band)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Add Comments to Report Bands

Как: Добавить Комментарий для Полосы Отчета (Report Bands)
Смотрите Также
CollapseAll image

Вы можете добавить некоторый поясняющий Комментарий для каждой Полосы Отчета, или определить некоторую информацию, которая будет использована в дальнейшем. Указанный Текстовый элемент размещается в соответствующем Поле Comments из структуры файла Отчета или Этикетки (.frx, . lbx).

Expand image Процедуры

Для добавления Комментария (текста) для Полосы Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном Меню Report, выберите подпункт Edit Bands (Редактирование Полосы).

    Открывается соответситвующий диалоговый бокс Edit Bands.

  3. В данном диалоговом боксе Edit Bands, выберите требуемую полосу, и нажмите кнопку OK.

    Открывается соответствующий диалоговый бокс свойств данной полосы Properties.

    Note Совет

    Вы можете выполнить описанные выше действия гораздо быстрее, для этого используется Контекстое Меню (Right-Click).

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартное значение системного Построителя Отчетов, или указывает на нестандартный Построитель, тогда описанный ниже диалоговый бокс может несоответствовать. Смотрите дополнительную информацию в разделах: _REPORTBUILDER, системная переменная и Report Band Properties, диалоговый бокс.

  4. В диалоговом боксе Свойств Полосы Отчета, активируйте Закладку Other.

  5. В данной закладке Other, нажмите кнопку Edit comment (Редактировать Комментарий).

    Открывается дополнительный Диалоговый бокс для ввода или изменения Комментария.

  6. Введите требуемую вам информацию и нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Закладка Other (Прочее), Report Band Properties, диалоговый бокс (Report Builder).

Expand image См. также

Задачи

Как: Добавить Комментарий для Контрола Отчета (Report Controls)

Другие ссылки

Работа с Полосами Отчета (Report Bands)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Add User Data to Report Bands

Visual FoxPro 9.0
Как: Добавить Пользовательские Данные к Областям Отчета
Смотри также

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

Чтобы добавить пользовательские данные к области отчета

  1. Откройте отчет или этикетку в соответствующем дизайнере.

  2. В меню Report, щелкните на Edit Bands.

    Откроется диалоговое окно Edit Bands.

  3. В диалоговом окне Edit Bands выберите желаемую область отчета и нажмите OK.

    Откроется диалоговое окно свойст этой области.

    Подсказка:
    Вы можете дважды щелкнуть мышкой на разделителе областей в дизайнере отчетов, чтобы открыть свойства этой области.

    Замечения:
    Если вы пользуетесь нестандартным или посторонним построителем отчетов, то, возможно, появится другое диалоговое окно. Какой именно построитель отчетов используется в вашей системе, вы можете посмотреть в системной переменной _REPORTBUILDER. Для дальнейшей информации смотри Системная Переменная _REPORTBUILDER и Диалоговое Окно Свойств Области Отчета.

  4. В диалоговом окне свойств области отчета выберите закладку Other.

  5. На закладке Other нажмите кнопку Edit user data.

    Откроется диалоговое окно ввода пользовательской информации для данной области отчета.

  6. В диалоговом окне ввода пользовательской информации поместите желаемый текст и нажмите OK.

  7. Для дальнейшей информации, смотри Закладка Other, Диалоговое Окно Свойств Области Отчета (Построитель Отчетов).

Смотри Также

Задачи

Как: Добавить Комментарии к Областям Отчета

Другие Статьи

Работа с Облаcтями Отчета (Report Bands)

Отправьте ваши комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод LS


How to: Configure Output for Report Bands

Visual FoxPro 9.0
Как: Конфигурировать Вывод для Областей Отчета
Смотрите Также

Вы можете скофигурировать вывод для областей отчета следующимим способами:

  • Управлять, будет ли область отчета поддерживать постоянную высоту или выравнивать очень длинный данные и подавлять пустые строчки.

  • Задать вывод из областей Заголовка(Title) и Итогов(Summary) появится на отдельных страницах.

  • Задать вывод из области детализации начинается с новый колонки или страницы.

  • Сброс номера страницы в 1 для каждой последовательности детализации.

  • Повторить вывод из области верхнего колонтитула детализации на каждой страницы.

  • Задать минимальное растояние до конца страницы, чтобы определить, нужно ли начинать последовательность детализации на новой страницы.

Предотвратить изменения размеров области отчета, чтобы разместить длинные данные или подавить печать пустых строк

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В меню Report, щелкнуть на Edit Bands.

    Откроется окно диалога Edit Bands.

  3. В окне диалога Edit Bands, выбрать желаемую область и нажеть OK.

    Откроется окно диалога свойств этой области отчета.

    Подсказка:
    Вы можете также дважды щелкнуть мышкой на разделителе данной области отчета в дизайнере, чтобы открыть диалоговое окно свойств данной области.

    Примечение:
    Если вы пользуетесь нестандартным или посторонним построителем отчетов, то, возможно, появится другое диалоговое окно. Какой именно построитель отчетов используется в вашей системе, вы можете посмотреть в системной переменной _REPORTBUILDER. Для дальнейшей информации смотрите Системная Переменная _REPORTBUILDER и Диалоговое Окно Свойств Области Отчета.

  4. В диалоговом окне свойств области щелкните на закладке General, если она не еще выбрана.

  5. Щелкните на Constant band height, и топом на OK.

Для дальнейшей информации смотрите Закладка General, Окно Диалога Report Band Properties (Построитель Отчетов).

Выводить области Заголовак(Title) или Итоги(Summary) на отдельных страницах

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В меню Report щелкнуть на Optional Bands.

    Откроется окно диалога свойств отчета Report Properties.

    Замечение:
    Если вы пользуетесь нестандартным или посторонним построителем отчетов, то, возможно, появится другое диалоговое окно. Какой именно построитель отчетов используется в вашей системе, вы можете посмотреть в системной переменной _REPORTBUILDER. Для дальнейшей информации смотрите Диалоговое Окно дополнительный областей Optional Bands.

  3. В диалоговом окне Report Properties щелкните на закладке Optional Bands.

  4. Выполните следующее:

    • Для того чтобы область заголовка Title выводилась на отдельной странице, щеклните мышкой на New page after title has printed.

    • Для того чтобы область итогов Summary выводилась на отдельной странице, щеклните мышкой на Summary prints as new page.

  5. Когда закончите, нажмите OK.

Для дальнейшей информации смотрите Диалоговое Окно Дополнительных Областей Optional Bands.

Сконфигурировать вывод для областей детализации

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В меню Report, щелкнуть на Edit Bands.

  3. В дилоговом окне Edit Bands выбрать желаемую область и щелкнуть на OK.

    Откроется окно диалога свойств этой области отчета Detail Band Properties.

    Примечение:
    Если вы пользуетесь нестандартным или посторонним построителем отчетов, то, возможно, появится другое диалоговое окно. Какой именно построитель отчетов используется в вашей системе, вы можете посмотреть в системной переменной _REPORTBUILDER. Для дальнейшей информации смотрите Системная Переменная _REPORTBUILDER и Диалоговое Окно Свойств Области Отчета.

  4. В диалоговом окне Detail Band Properties выберите закладку Band.

  5. В контейнере Detail properties задайте настройки вывода, какие вы желаете.

  6. Когда закончите, нажмите OK.

Для дальнейшей информации смотрите Закладка Band, Окно Диалога Report Band Properties (Построитель отчетов).

Смотрите Также

Задачи

Как: Задать логическое выражение для того, чтобы определить когда обрабатывать области

Прочие Ресурсы

Работа с областями отчета
Послать комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


How to: Delete Bands from Reports

Visual FoxPro 9.0
Как: Удалить Область в Отчете
Смотри Также

Вы можете удалить заголовок, итоги и область детализации из отчета или этикетки. Об удалении группы данных смотри Как: Удалить Группы Данных в Отчете.

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

Предосторожность:
Если какая-либо область детализации содержит элементы, то дизайнер потребует подтвердить ее удаление. Однако, дизайнер не требует подтверждения, когда сбрасываются чек-боксы Report_has_title_band или Report_has_summary_band, что удалит область и содержащиеся в ней объекты.

Чтобы удалить области Заголовок (Title), Итоги (Summary) или Детализации (Detail)

  1. Откройте отчет или этикетку в соответствующем дизайнере.

  2. В меню Report выберите Optional Bands.

    Откроется окно диалога Report Properties (Свойства Отчета).

    Примечание:
    Если системная переменная _REPORTBUILDER не установлена на штатный построитель отчетов или установлена на какой-литбо другой построитель, то диалоговое окно может иметь другой вид. Для дальнейшей информации смотри Системная переменная _REPORTBUILDER и Диалоговое Окно Optional Bands (Дополнительные Области).

  3. В диалоговом Окне Report Properties щелкните на закладке Optional Bands, если она еще не выбрана.

  4. На закладке Optional Bands выберите область, которую вы хотите удалить:

    • Чтобы удалить область заголовка (Title band), надо сбросить чек-бокс Report_has_title_band.

    • Чтобы удалить область итогов (Summary band), надо сбросить чек-бокс Report_has_summary_band.

    • Чтобы удалить область детализации, в списке Detail bands выберите нужную область и щелкните на кнопке Remove. Когда дизайнер потребует подтвердить удаление, щелкните на кнопке Yes.

  5. Когда закончите удаление, щелкните на OK.

Для дальнейшей информации смотри Закладка Optional Bands (Дополнительный области), Диалоговое Окно Свойств Отчета (Построитель Отчетов).

Смотри Также

Другие Источники

Как: Открыть Отчет и Этикетку
Работа с Областями Отчета

Отправить ваши комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


Working with Report Data Groups

Visual FoxPro 9.0
Работа с группировкой данных в отчетах

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

В этом разделе

Группы данных в отчетах

Дает представление о группах данных и описывает их использование.

Как: Добавление групп данных к отчетам

Описывает процесс добавления групп данных.

Как: Редактирование групп данных в отчетах

Обсуждается редактирование групп данных.

Как: Конфигурирование вывода групп данных

Описывает, как определить различные варианты вывода для группированных данных.

Как: Исключение групп данных из отчета

Описывает, как исключить группировку данных из отчета.

Связанные разделы

Конструирование и раскладка отчетов

Описывает аспекты установки параметров страницы и ее раскладки для отчетов и этикеток.

Работа с полосами отчета

Дает представление о том, как определить где, когда, и как отобразить выводимые в отчете или этикетке данные.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Data Groups in Reports

Visual FoxPro 9.0
Группировка Данных в Отчетах
Смотрите Также

Вам часто приходится исследовать Данные, сгруппированные на основе одного или нескольких критериев. Эти критерии - обычные выражения, построенные на основе одного или нескольких Полях Таблицы, однако Критерии могут быть и более сложными. Вы определяете Группу Данных в вашем Отчете с помощью специального Инструмента Group On, в котором формируется описываемое Выражение Критерия, на основе которого Группируются Записи формируемого Отчета.

Для каждого набора Записей Отчета (Группы), в которых выражение Критерия оценивает к одному значению, вы можете выполнить необходимые действия, или Операции, допустимые для внутреннего Механизма Отчетов (Report Engine). Эти действия могут содержать вычисление итоговых Значений, дополнительные вычисления, или отдельные фрагменты Программного Кода.

Использование Нескольких Групп Записей Данных

Вложенные Группы данных (одна-в-другую ) могут быть полезны в тех случаях, когда требуется вычисление итоговых Значений для групп записей на разных уровнях группировки. Например, сначала вы можете сгруппировать Записи Отчета по названию Страны, для этого используется соответствующее Поле Таблицы Данных (Country). Вместе с тем, вы можете также сгруппировать Записи отдельной Группы-Страны по соответствующим Регионам (областям, краям, штатам...), которые будут составлять вложенные Группы, для этого уровня группировки используется соответствующее Поле Region.

Для определения того, какая из описываемых Групп является Внешней, а какая - Внутренней (вложенной), вам требуется оценить, как часто изменяется значение Поля Country и как часто изменяется значение Поля Region. Так как Region изменяется чаще - то это будет Внутренняя Группа, а поле Country - внешняя Группа.

Размещение Записей Данных для целей Группировки

Для эффективного выполнения Группировки Данных, вам нужно выполнить соответствующую предварительную Сортировку Записей Отчета. Если требуемые Записи Отчета будут не отсортированны согласно Полей Группировки (или выражений Критерия Сортировки), то внутренний Механизм Отчета (Report Engine) не сможет правильно выполнить поставленные Задачи по обработке Групп Записей, подсчитать Итоги, или другие необходимые Операции, требуемые для Группы.

Инструментарий Отчета не выполняет фактическую сортировку Записей исходных Таблиц. Записи обрабатываются в том же порядке, который задан для указанной Таблицы. Требуемая последовательность Записей, сортировка, или порядок размещения Записей должны быть предварительно обеспечены: либо с помощью включения Индексов (Set Order to Tag), либо созданием Представления (Create View...), или другими доступными методами, обеспечивающими требуемую Сортировку Данных для правильной Группировки. Например, если рассматриваемая выше Таблица не отсортирована согласно Полям Country-Region (то есть, группировка - невозможна). Вам требуется обеспечить порядок размещения Записей: или включить имеющийся Индекс по указанным Полям, или построить отсортированное Представление (SQL: Select...Group By), или создать некоторый Запрос (SQL), обеспечивающий требуемую сортировку.

В рассматриваемом выше Примере (Country-Region), Отчет содержит два уровня Группировки, соответствующие Записи Отчета должны быть отсортированны сначала по Названию Страны (Country), а в нутри этой группы - отсортированы по названию Региона (Области, Края, Штата). Если Исходные Данные Отчета находятся в обычной Таблице (.dbf), то вам достаточно создать Индексный Тэг по следующему выражению: Country + Region.

Note Обратите Внимание

Существующий Индексный Тэг может содержать дополнительные поля или выражения, которые не используются для процессов Группировки Данных в Отчете. Допустим, что в рассматриваемом Примере, существует индексный Тэг: Country + Region +City (Страна-Регион-Город). Представленный порядок размещения Записей в Отчете предоставляет дополнительную характеристику Отчета, размещение Городов в Регионе: по-алфавиту.

Специфические для Группировки Данных Характеристики Отображения Отчетов

Когда вы группируете Данные в Отчете, вы можете использовать "Предисловие" и "Послесловие" для каждой группы Данных, для этого существуют механизмы Верхнего и Нижнего Колонтитулов Группы, для которых определены соотвествующие Полосы Отчета: Group Header band / Group Footer band. Обычно, полоса Заголовка Группы содержит Поле, которое используется в выражении Критерия группировки (для обозначения текущей группы Данных). Вы можете также добавить в описываемую Полосу и другие необходимые вам описательные текстовые элементы, которые будут выводиться в Отчете перед первой Записью в Группе. Полоса нижнего колонтитула Группы может содержать дополнительную информацию об Итоговых данных Группы, промежуточные Суммы, и так далее.

Вы можете определить следующие дополнительные характеристики Данных в Группе:

  • Печать соответствующих Заголовков конкретной Группы; специальные, итоговые данные в нижних колонтитулах Группы.

  • Начало печати каждой Группы Данных с нового Листа (с начала Страницы).

  • Обнуление сквозной нумерации Листов Отчета при выводе Группы с новой Страницы.

Выполнение Фрагментов Программного Кода для Групп Данных

Вы можете выполнить требуемые вам Операции (или обработку Данных) с помощью фрагментов программного Кода для каждой (или конкретной) группы Данных. Например, каждый раз, когда начинается новый Регион для данной Страны, вы можете вставить в Отчет название рассматриваемого Региона (вместе со Страной), добавить описательную Информацию в дополнительный Курсор, и еще текущее значение системной переменной _PAGENO. После получения текущего Отчета, вы можете использовать указанный дополнительный Курсор в качестве построения второго Отчета: Специального Глосария или Таблицы Содержания к первому Отчету. В результате получаем сложный, интегрированный Отчет (состоящий из двух Отчетов: основного и дополнительного).

Для осуществления описанного выше Сценария получения сложного Отчета, создайте одну или две пользовательских функций, выполняющих требуемые Операции; поместите вызов этих функций соответственно в события: On entry или On exit для полосы Заголовка Группы Данных. Обычно данные события называются: "При Входе в Группу" и "При Выходе из Группы".

Дополнительную информацию смотрите в разделе: Как: Определить Выражение, вычисляемое в процессе Полосы Отчета.

См. также

Задачи

Как: Добавить Описание Группы Данных в Отчете

Концепции

Определяемые пользователем Процедуры и Функции

Другие ссылки

Работа с Группами Данных в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Add Data Groups to Reports

Visual FoxPro 9.0
Как: Добавить Группировку Данных в Отчет
См. также

Вы можете добавить в Отчет или Этикетку один или несколько признаков Группировки Данных, вложенных Групп может быть не долее 74 (уровней). Автоматически, для каждой Группы (уровня группы) добавляются соответствующие Полосы Верхнего и Нижнего Колонтитула (Group Header / Group Footer).

Note Обратите Внимание

Записи Данных должны быть Отсортированы в соответствующем порядке, который должен соответствовать используемым уровням Группировки (или должны быть включенны, активированы соответствующие Индексные Тэги).
Note Совет

Контролы Отчета (Поля Записей), которые участвуют в выражениях Группировки, обычно перемещаются из Полосы Detail в соответствующие Полосы Group Header.

Для добавления механизмов Группировки Данных:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт Data Grouping (Группировка Данных).

    Активируется соответствующий диалоговый бокс Report Properties (Параметры Отчета).

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена на стандартный Построитель Отчетов или указывает на Построитель другого Производителя ПО, диалоговый бокс Data Grouping (Группировка Данных) может отсутствовать или может иметь нестандартный Вид. Дополнительно смотрите: _REPORTBUILDER, системная переменная или Data Grouping, диалоговый бокс.

  3. В диалоговом боксе Report Properties, активируйте Закладку Data Grouping.

  4. В закладке Data Grouping, нажмите кнопку Add (Добавить).

    Выражения Группировки Данных размещаются в соответствующий список Grouping nesting order (Порядок вложения Групп).

  5. В Контроле Group on (Группировать по:), введите требуемое выражение Группировки. Для построения Выражения можно использовать кнопку-многоточие (…), которая открывает требуемый Expression Builder (Построитель Выражений).

  6. В области Group starts on (Группу Начинать с:), выберите требуемый вариант: с новой Строки, с нового Столбца, с нового Листа....

  7. Для добавления новой (следующей) Группы, нажмите вновь кнопку Add, и повторите описанные выше Этапы N.4 и N.5. Для удаления (исключения) текущей Группы, нажмите кнопку Remove (Исключить).

    Note Совет

    Выражения группировок, которые включаются в Список Group nesting order размещаются по порядку их Определения (добавления). Однако, вы можете Изменить текущий порядок Вложения Групп Данных. Для этого используются размещенные с левой стороны элементов Списка управляющие Элементы, с помощью которых Выражение Группы можно переместить в требуемое место (изменить порядок Списка).

  8. После выполнения всех необходимых Операций - нажмите кнопку <OK>.

    Верхний и Нижний Колонтитулы создаются для каждого уровня Группировки Данных, они "окаймляют", размещаются соответственно сверху и снизу всех существующих Полос типа Detail. Каждая Полоса Группировки (Group Header / Group Footer) имеет свой собственный номер (уровень) Группы. Полосы Группировок с наибольшими номерами располагаются ближе всего к Полосе Данных (Detail band).

Дополнительно смотрите: Закладка Data Grouping, диалоговый бокс Report Properties (Постритель Отчетов) или Expression Builder, диалоговый бокс.

См. также

Задачи

Как: Изменить параметры Группировки данных в Отчете
Как: Удалить Группировку данных в Отчете

Концепции

Группировка Данных в Отчетах

Другие ссылки

Использование (работа) механизмов Группировки в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Edit Data Groups in Reports

Visual FoxPro 9.0
Как: изменить параметры группировки данных в отчете
Смотрите также

Вы можете изменять выражение группировки данных и варианты отображения групп данных. Вы можете также изменить порядок, в котором отображаются группы данных.

Note Примечание

При переупорядочении групп все элементы управления перемещаются в новое положение. Изменение порядка не изменяет элементы управления, определенные ранее. Например, если элементы управления были размещены относительно верха или низа полосы группы, они остаются на прежних местах.

Чтобы изменить выражение группировки

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В пункте Report главного меню выберите подпункт Data Grouping (Группировка Данных).

  3. Откроется диалоговое окно свойств отчета Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Data Grouping или соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Data Grouping.

  4. В диалоговом окне Report Properties выберите вкладку Data Grouping.

  5. В списке Grouping nesting order выберите нужное выражение группировки.

  6. В поле ввода Group on введите новое выражение или нажатием на кнопку (…) вызовите построитель выражений Expression Builder для изменения выражения группировки.

  7. По завершении нажмите кнопку OK.

Для более подробной информации смотрите Вкладка Data Grouping диалогового окна свойств отчета (Построитель отчета) и Диалоговое окно Expression Builder.

Чтобы изменить настройки выводимой информации для групп данных

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В диалоговом окне Report Properties выберите вкладку Data Grouping.

    Откроется диалоговое окно свойств отчета Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Data Grouping или соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Data Grouping.

  3. В диалоговом окне Report Properties выберите вкладку Data Grouping.

  4. На вкладке Data Grouping задайте необходимые настройки для выводимой информации.

  5. По завершении нажмите кнопку OK.

Для более подробной информации смотрите Вкладка Data Grouping (Группировка Данных) диалогового окна Report Properties (Построитель Отчетов).

Чтобы изменить порядок выражений группировки

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В диалоговом окне Report Properties выберите вкладку Data Grouping.

    Откроется диалоговое окно свойств отчета Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Data Grouping или соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Data Grouping.

  3. В диалоговом окне Report Properties выберите вкладку Data Grouping.

  4. В списке Group nesting order измените порядок порядок выражений группировки на нужный, перетаскивая элементы списка с помощью предназначенной для этого кнопки слева от элемента списка.

  5. По завершении нажмите кнопку OK.

Для более подробной информации смотрите Вкладка Data Grouping (Группировка Данных) диалогового окна Report Properties (Построитель Отчетов).

Смотрите также

Задачи

Как: настроить вывод для групп данных
Как: удалить группы данных из отчета

Прочие ресурсы

Работа с группами данных отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Configure Output for Data Groups

Visual FoxPro 9.0
Как: сконфигурировать вывод для групп данных
Смотрите также

Вы можете управлять способом вывода групп данных, которые могут появиться в вашем отчете или этикетке. Приведенные ниже разделы описывают способы конфигурацмм вывода групп данных:

  • Указание разбивки страниц или колонок для групп данных

  • Предотвращение появления заголовков групп без данных (Orphaned Group Headers)

  • Повтор заголовков групп

Указание разбивки страниц или колонок для групп данных

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

Для указания разбивок страниц или колонок для групп данных

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В меню Report (Отчет) щелкните по Data Grouping (Группировка данных).

    Откроется диалоговое окно Report Properties (Свойства отчета).

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена в компоновщик отчета - Report Builder, используемый по умолчанию или установлен в компоновщик, созданный кем-то еще, то будет отображаться диалоговое окно Data Grouping (Группировка данных) или может отображаться какое-то иное диалоговое окно. Для получения более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Data Grouping (Группировка данных).

  3. В диалоговом окне Report Properties (Свойства отчета) щелкните по закладке Data Grouping (Группировка данных), если она еще не выбрана.

  4. В списке Group nesting order (Порядок вложения групп) выберите желаемое выражение для группы данных.

  5. В области Group starts on (Группа начинается на), выберите New page (Новая страница) или New column (Новая колонка).

    Note Совет

    Для начала группы данных на новой странице и сброса нумерации в 1, щелкните по New page number 1 (Номер новой страницы начинается с 1).

Для получения более подробной информации смотрите Закладка Data Grouping (Группировка данных) диалогового окна Report Properties (Свойства отчета) (Report Builder - Компоновщик отчета).

Предотвращение появления заголовков групп без данных (Orphaned Group Headers)

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

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

Для предовращения появления заголовков групп без данных

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В меню Report (Отчет) щелкните по Data Grouping (Группировка данных).

    Откроется диалоговое окно Report Properties (Свойства отчета).

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена в компоновщик отчета - Report Builder, используемый по умолчанию или установлен в компоновщик, созданный кем-то еще, то будет отображаться диалоговое окно Data Grouping (Группировка данных) или может отображаться какое-то иное диалоговое окно. Для получения более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Data Grouping (Группировка данных).

  3. В диалоговом окне Report Properties (Свойства отчета) щелкните по закладке Data Grouping (Группировка данных), если она еще не выбрана.

  4. В списке Group nesting order (Порядок вложения групп) выберите желаемое выражение для группы данных.

  5. В боксе Start group on a new page when less than (Начать группу на новой странцие, когда меньше чем) выберите или впечатайте желаемое минимальное расстояние до конца страницы.

    Note Совет

    Рекомендуемым расстоянием является от одного до трехкратного значения суммы высоты полосы данных и высоты заголовка группы.

Для получения более подробной информации смотрите Закладка Data Grouping (Группировка данных) диалогового окна Report Properties (Свойства отчета) (Report Builder - Компоновщик отчета).

Повтор заголовков груп

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

Note Совет

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

Для повтора заголовка группы на следующей странице

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В меню Report (Отчет) щелкните по Data Grouping (Группировка данных).

    Откроется диалоговое окно Report Properties (Свойства отчета).

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена в компоновщик отчета - Report Builder, используемый по умолчанию или установлен в компоновщик, созданный кем-то еще, то будет отображаться диалоговое окно Data Grouping (Группировка данных) или может отображаться какое-то иное диалоговое окно. Для получения более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Data Grouping (Группировка данных).

  3. В диалоговом окне Report Properties (Свойства отчета) щелкните по закладке Data Grouping (Группировка данных), если она еще не выбрана.

  4. В списке Group nesting order (Порядок вложения групп) выберите желаемое выражение для группы данных.

  5. Щелкниьте на Reprint group header on each page (Перепечатать заголовок группы на каждой странице).

    Note Совет

    Снятие метки с чек-бокса Reprint group header on each page (Перепечатать заголовок группы на каждой странице) предотвратит повтор заголовка групп.

Для получения более подробной информации смотрите Закладка Data Grouping (Группировка данных) диалогового окна Report Properties (Свойства отчета) (Report Builder - Компоновщик отчета).

Смотрите также

Задачи

Как: редактировать в отчетах группы данных

Прочие ресурсы

Работа с группами данных отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Delete Data Groups in Reports

Visual FoxPro 9.0
Как: Удалить Группировку данных в Отчетах
См. также

Вы можете удалить группировку данных вместе с соответствующими полосами Отчета Group Header и Group Footer.

Note Примечание

Если соответствующие полосы отчета содержат элементы или Контролы, то дизайнер задает вопросы по подтверждению удаляемых элементов из указанных полос Отчета.

Для удаления группировки данных

  1. Откройте выбранный Отчет или Этикетку в соответствующем Дизайнере

  2. В системном меню Report, выберите пункт Data Grouping (группировка данных).

    Откроется соответствующий диалоговый бокс Report Properties (Характеристики Отчета).

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на штатный Построитель Отчетов или указавает на какой либо другой Построитель, то описываемый диалоговый бокс может иметь другую структуру. См. дополнительно разделы: _REPORTBUILDER, системная переменная и Data Grouping, диалоговый бокс.

  3. В диалоговом боксе Report Properties, выберите закладку Data Grouping, если она не является активной.

  4. В соответствующем списке группировок Group nesting order, выберите требуемую группировку и нажмите кнопку Remove. Когда Дизайнер задаст вопрос для подтверждения удаления - нажмите Yes.

    Соответствующие данной группировке полосы Group Header / Group Footer также будут удалены из Отчета.

См. дополнительно раздел: Закладка Data Grouping, Report Properties диалоговый бокс (Построитель Отчетов).

См. также

Другие ссылки

Работа с Группировкой данных в Отчетах

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Working with Report Controls

Visual FoxPro 9.0
Работа с Контролами Отчетов

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

В данной Секции

Добавление Контролов в Отчеты

Приводятся инструкции по добавлению разнообразных контролов вывода информации в Отчетах и Этикетках.

Управление Контролами Отчетов

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

Настройка Контролов Отчетов

Описываются возможности по настройке и конфигурированию контролов в Отчетах.

Описание

CREATE REPORT - команда быстрого создания Отчета

Описываются рекомендации по созданию быстрого отчета, без использования Дизайнера Отчетов.

CREATE REPORT, Команда

Объясняется, как программно открыть Дизайнер Отчетов для создания необходимого Отчета.

Связанные Секции

Работа с полосами (Band) Отчетов

Приводятся инструкции по размещению и отображению необходимой информации в Отчетах и Этикетках.

Работа с Данными в Отчетах

Объясняется, как использовать и размещать необходимые данные в Отчетах и Этикетках.

Разработка и Настройка Отчетов

Описываются рекомендации по планированию печатных страниц, размещению информационных блоков, настроечных параметрах в Отчетах и Этикетках.

Работа с Отчетами

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

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Adding Report Controls

Visual FoxPro 9.0
Добавление элементов управления отчета

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

Элемент управления | Отображение
Field | Значения переменных памяти, выражений, или полей таблиц и представлений. Эти значения могут различаться каждый раз, когда Вы генерируете вывод данных в отчете или этикетке.
Label | Постоянный текст, который появляется при каждом формировании отчета или этикетки.
Line | Прямые горизонтальные и вертикальные линии.
Rectangle | Прямоугольные блоки и обрамления.
Rounded Rectangle | Блоки и обрамления со скругленными углами, круги и овалы.
Picture/OLE Bound | Рисунки или содержимое полей типа General

В этом разделе

Как: Добавление элемента управления Field к отчету

Описывается, как добавить к отчету или этикетке элемент управления Field.

Как: Определение выражений в элементе управления Field

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

Как: Определение типа данных в элементе управления Field

Описывается, как задавать тип данных в элементе управления Field и соответствующие заданному типу данных параметры настройки форматирования.

Форматирование в элементе управления Field

Разъясняются команды форматирования содержимого элемента управления Field.

Как: Выполнение вычислений в элементе управления Field

Описывается, как задавать тип накопительного вычисления, применяемого к элементу управления Field для определения значения, отображаемого вместо этого элемента управления.

Как: Добавление элемента управления Label к отчету

Описывается, как добавить к отчету или этикетке элемент управления Label.

Как: Добавление элементов управления Shapes к отчету

Описывается, как добавить к отчету или этикетке элемент элементы оформления, такие как Line и Rectangle.

Как: Добавление картинок к отчету

Описывается, как добавить картинку к отчету или этикетке.

Как: Добавление содержимого поля General к отчету

Описывается, как добавить к отчету или этикетке содержимое поля General.

Связанные разделы

Управление элементами отчета

Описываются способы манипуляции с элементами управления отчета, как то: группировка, изменение размеров, выравнивания, взаимного местоположения.

Конфигурирование элементов управления отчета

Описываются установки опций форматирования элементов управления отчета.

Работа с отчетами

Дает понятие отчетов и этикеток Visual FoxPro и об использовании их в Ваших приложениях.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Add Field Controls to Reports

Visual FoxPro 9.0
Как: Добавление элемента управления Field к отчету
Смотрите также

Элемент управления Field отчета или этикетки позволяет осуществлять вывод данных, содержащихся в переменных, полях таблиц или представлений или являющихся результатом некоторого выражения, причем, их значения могут меняться в процессе генерации отчета.

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

Чтобы добавить элемент управления Field на страницу:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В меню, появляющемся при наведении указателя мыши на строку Insert Control пункта Report главного меню, выберите Field.

    Откроетя диалоговое окно Field Properties (Свойства элемента управления Field).

    Note Совет

    Соответствующее окно свойств элемента управления отчета также можно открыть двойным щелчком по элементу управления в конструкторе отчетов или этикеток.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Report Expression или соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменная _REPORTBUILDER и Диалоговое окно Report Expression.

  3. В диалоговом окне Field Properties откройте вкладку General.

  4. В поле ввода Expression укажите необходимое выражение, переменную или поле таблицы или представления. Для построения выражения можно воспользоваться кнопкой (…), вызывающей диалоговое окно Expression Builder (Построитель выражений).

  5. Построив выражение в диалоговом окне Expression Builder, нажмите OK.

  6. В диалоговом окне Field Properties задайте необходимые настройки и нажмите OK.

    Note Совет

    Для того, чтобы элемент управления отчета Field изменял свой вертикальный размер в зависимости от своего содержимого, пометьте опцию Stretch with overflow.

    По умолчанию для переменной, выражения или поля будет добавлен элемент управления Field.

    Note Совет

    Для добавления элемента управления Field в нужное Вам место, нажмите соответствующую кнопку в панели инструментов Report Controls и нарисуйте элемент управления, там, где необходимо. Старайтесь задавать минимально необходимые размеры элемента управления Field, т.к. можно заставить его растягиваться вниз для отображения всех выводимых в него данных, но заставить его сжиматься, при необходимости, до размеров меньше заданных Вами, нельзя.

Для более подробной информации смотрите Как: Определение выражений для элемента управления Field, Вкладка General диалогового окна свойств элемента управления отчета (Конструктор отчетов), и Диалоговое окно построителя выражений.

Вы можете также определить тип данных и опции формата при выводе для переменных, установленных в качестве источника данных для элемента управления Field. Для более подробной информации смотрите Как: Определение Specify Data Types for Field Controls.

Чтобы добавить элемент управления Field непосредственно из среды данных:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Выберите строку Data Environment пункта View главного меню чтобы открыть среду данных отчета.

  3. Перетащите необходимое поле таблицы или представления на желаемое место в конструкторе.

    По умолчанию для поля будет добавлен элемент управления Field. После добавления элемента управления его можно перетащить в любое место отчета.

Смотрите также

Прочие ресурсы

Управление элементами управления отчета
Конфигурирование элементов управления отчета
Добавление элементов управления отчета
Работа с элементами управления отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Specify Expressions in Field Controls

Visual FoxPro 9.0
Как: указать выражения в элементе управления Field
Смотрите также

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

  • Отображение текущей даты

  • Отображение номеров страниц

После того, как вы добавите элементы управления Field с выражениями, которые содержат поля на странице, они могут не отображаться ожидаемым образом, поскольку могут содержать нежелательные пробелы. Для удаления нежелательных пробелов, вы можете обрезать и соединить выражения, которые содержат поля в одно целое выражение. Для получения более подробной информации смотрите описание Обрезание и объединение выражений.

Отображеие текущей даты

Вы можете отобразить на странице текущую дату, использовав элемент управления Field.

Для отображения на странице текущей даты

  1. Откройте отчет или этикетку в соответствующем конструкторе

  2. В конструкторе добавьте элемент управления Field в раскладку страницы.

    Откроется диалоговое окно Field Properties (Свойства поля).

    Note Совет

    Вы можете, кроме того, выполнить двойной щелчок в Report Designer (Конструкторе отчета) или Label Designer (Конструкторе этикетки) для открытия диалогового окна со свойствами элемента управления.

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена в компоновщик отчета, используемый по умолчанию или установлен в компоновщик, созданный кем-то еще, то отобразится диалоговое окно Report Expression (Выражение отчета) или может отобразиться какое-то другое диалоговое окно. Для получения более подробной информации смотрите описания Системная переменная _REPORTBUILDER и Диалоговое окно Report Expression (Выражение отчета).

  3. В диалоговом окне Field Properties (Свойства поля) щелкните по закладке General (Общие), если она не выбрана.

  4. В боксе Expression (Выражение) на закладке General (Общие) впечатайте DATE() и щелкните по OK (Сделано).

Для получения более подробной информации смотрите описание функции DATE( ), также Закладка General диалогового окна Report Control Properties (Свойства элемента управления отчета) (Report Builder - Компоновщика отчета).

Вы можете просмотреть дату с помощью предпросмотра отчета. Для получения более подробной информации смотрите описание задачи Как: предварительно посмотреть отчеты.

Отображение номеров страниц

Полосы Page Header (Заголовок страницы) или Page Footer (Подножие страницы) обычно содержат номер страницы. Вы можете отобразить номера страниц с помощью элемента управления Field.

Note Замечание

Если вы используете мастер или функциональную возможность Quick Report (Быстрый отчет), номер страницы вставляется автоматически в полосу Page Footer (Подножие страницы).

Для отображения на страницах их номеров

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе добавьте элемент управления Field в раскладку страницы.

    Откроется диалоговое окно Field Properties (Свойства поля).

    Note Совет

    Вы можете, кроме того, выполнить двойной щелчок в Report Designer (Конструкторе отчета) или Label Designer (Конструкторе этикетки) для открытия диалогового окна со свойствами элемента управления.

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена в компоновщик отчета, используемый по умолчанию или установлен в компоновщик, созданный кем-то еще, то отобразится диалоговое окно Report Expression (Выражение отчета) или может отобразиться какое-то другое диалоговое окно. Для получения более подробной информации смотрите описания Системная переменная _REPORTBUILDER и Диалоговое окно Report Expression (Выражение отчета).

  3. В диалоговом окне Field Properties (Свойства поля) щелкните по закладке General (Общие), если она не выбрана.

  4. В боксе Expression (Выражение) на закладке General (Общие) впечатайте pageno и щелкните по OK (Сделано).

Для получения более подробной информации смотрите описание системной переменной _PAGENO.

Вы можете просмотреть номера страниц при предварительном просмотре отчета. Для получения более подробной информации смотрите описание Как: предварительно просмотреть отчеты.

Смотрите также

Задачи

Как: добавить в отчеты элементы управления Field
Как: указать типы данных для элементов управления Field

Прочие ресурсы

Управление элементами управления отчета
Конфигурирование элементов управления отчета
Добавление в отчеты элементов управления
Работа с элементами управления отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Specify Data Types for Field Controls

Visual FoxPro 9.0
Как: указать тип данных для элементов управления поля
Смотрите также

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

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

Для указания типа данных и установок форматирования для них в элементе управления Field

  1. Откройте отчет или этикетку в соответсвующем дизайнере.

  2. В дизайнере произведите двойной щелчок по желаемому элементу управления Field.

    Откроется диалоговое окно Field Properties.

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена в используемый по умолчанию построитель отчета (Report Builder) или установлена в какой-то другой построитель, то будет отображено либо диалоговое окно Report Expression либо какое-то другое. Для получения более подробной информации смотрите описание системной переменной _REPORTBUILDER, диалогового окна Report Expression и диалогового окна Format (Field).

  3. В диалоговом окне Field Properties dщелкните на закладке Format, если она не выбрана.

  4. В боксе Format expression впечатайте желаемое выражение форматирование, которое может включать в себя коды форматы и символы шаблона.

  5. На закладке Format щелкните по типу данных, которые вы желаете присвоить элементу управления Field.

  6. В области Format options выберите желаемые коды формата из тех, что доступны для выбранного типа данных.

    Note Совет

    При использовании комбинации кодов форматирования и символов шаблона форматов, списко символов шаблона должен предшествовать списку кодов форматирования.

  7. Когда вы закончите установки, щелкните на OK.

Для получения более подробной информации смотрите Закладка Format диалогового окна Report Control Properties (Report Builder).

Смотрите также

Задачи

Как: добавить элементы управления Field в отчеты

Прочие ресурсы

Управление элементами отчета
Конфигурирование элементов управления отчета
Добавление элементов управления в отчет
Работа с элементами управления отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Visual FoxPro 9.0
Выражения форматирования для управляющих элементов, связанных с полями
Смотрите также

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

Коды форматов

Коды форматов применяются ко всем символам в управляющем элементе и должны быть дополнены слева символом "at" (@) в строке формата. Например, вы можете дополнить численные значения ведущими нулями вместо пробелов с помощью строки формата "@L 999999".

Код формата: | Описание: | Применяется к данным типа:
! | Переводит набор символов в верхний регистр. | только к Character
B | Прижим слева. | Все типы данных
J | Прижим справа. | Все типы данных
I | Прижим к центру. | Все типы данных
L | Ведущие нули. | только к Numeric
Z | Ничего не отображать, если значение пустое. | Numeric, Date и DateTime
( | Окружает отрицательные значения круглыми скобками (). | только к Numeric
C | Добавляет " CR" к положительным, не нулевым числам. | только к Numeric
X | Добавляет " DB" к отрицательным, не нудевым числам. | только к Numeric
$ | Использует знак валюты. | только к Numeric
D | Использует текущую установку SET DATE. | Все типы данных
E | Отображения, как если бы было установлено SET DATE BRITISH. | Все типы данных
YL | Отображения системного формата Long Date. | Date
YS | Отображения системного формата Short Date. | Date
R | Предотвращает неформатированные символы в строке шаблона от замены соответствующим символов в значении выражения поля. Когда используется @R, строка шаблона прослаивается вместо того, чтобы перекрываться. (Смотри пример внизу.) | Character и Numeric

Замечание

  • Численные данные по умолчанию имеют прижим справа.

  • Character и Date по умолчанию имеют прижим слева.

  • Вы можете использовать комбинации кодов форматирования.

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

 @CX использовано. Для

Символы шаблонов

Символы шаблонов форматов применяются к индидуальным символам в выражениях значений. Вы можете создать образец с символами шаблона формата, где каждый символ в шаблоне представляет символ, который вы желаете отобразить. Например, некоторые символы в шаблоне формата замещают в отображении конкретные символьные типы. Например, включение символа "Y" в шаблон формата для логического выражения будет отображать буквы "Y" вместо ".T." дляTrue и "N" вместо ".F." для False. Символ "9" в шаблоне формата является местом размещения для любой цифры в символьной или численной величине. Прочие символы шаблона формата, такие как скобки, проблемы или знаки переноса отображаются сами по себе.

Для получения более подробной информации о символах шаблона форматирования смотрите описание свойства InputMask.

Примеры

Приведенные примеры показывают, как коды формата и символы шаблона формата работают совместно при создании вывода:

Значение выражения поля | Строка форматирования | Отображаемый на экране вывод
-43.05 | @(CX 999.999 | ( 43.050 DB)
65.43 | (999) 999-9999 | ( ) - -43
"4505551023" | (999) 999-9999 | (505) 102-
"4505551023" | @R (999) 999-9999 | (450) 555-1023
ca90210 | @R !! 99999 | CA 90210

Смотрите также

Задачи

Как: указать тип данных для управляющего элемента, связанного с полем

Справочное руководство

Функция TRANSFORM()

Прочие ресурсы

Управление элементами отчета
Конфигурирование элементов отчета
Добавление элементов в отчет
Работа с элементами отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Perform Calculations in Field Controls

Как: Выполнять вычисления в Полях Контролов
См. также

Вы можете изменить представленное значение Поля Контрола на некоторое вычисляемое выражение, результат которого будет отображен в указанном поле элемента управления.

Для определения результата вычисления в Поле Контрола

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В окне дизайнера, выполните "right-click" на требуемом Элементе управления и выберите опцию Properties… , из соответствующего Короткого меню.

  3. в открывшемся диалоговом боксе Field Properties, откройте закладку Calculate.

  4. Введите вычисляемое выражение.

  5. Выберите опцию Reset based on (очистить базовое значение).

См. детальную информацию в разделе Диалоговый бокс Calculate Field.

Note Обратите Внимание

Если системная переменная _REPORTBUILDER не установлена на стандартный Построитель Отчетов (Report Builder) или содержит другой построитель, то указанный диалоговый бокс может отличаться от описанного. См. дополнительно разделы _REPORTBUILDER, системная переменная и Диалоговый бокс Report Expression.

См. также

Задачи

Как: Добавить Поле Контрола в Отчет

Описание

Диалоговый бокс Calculate Field

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Как Add Label Controls to Reports

Visual FoxPro 9.0
Как Добавление элемента управления Label к отчету
Смотрите также

Используя элемент управления Label Вы можете добавить к Вашему отчету некоторый текст, который будет отображаться всякий раз при выводе отчета.

Предположим, например, что в Вашем отчете имеется элемент управления Field, которой содержит выражение для того, чтобы вычислять общее количество. Вы можете использовать элемент управления Label для вывода текста "Общее количество" с целью идентификации содержимого элемента управления Field.

Чтобы добавить элемент управления Label на раскладку страницы:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В меню, появляющемся при наведении указателя мыши на строку Insert Control пункта Report главного меню, выберите Label.

    В раскладке отчета появится область ввода с мигающим курсором.

    Введите необходимый текст.

    Note Совет

    Добавить элемент управления Label в нужное место раскладки можно также с помощью панели инструментов Report Controls. Выберите в панели инструментов Report Controls опцию Label, щелкните правой кнопкой мыши в нужном месте раскладки и введите необходимый текст. После добавления элемента управления его можно перетащить в любое место раскладки.

Для более подробной информации смотрите: Вкладка General диалогового окна свойств элемента управления отчета (Конструктор отчетов).

Для редактирования надписи элемента управления Label:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Дважды щелкните по нужному элементу управления Label.

    Откроется диалоговое окно свойств элемента управления Label - Label Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Text или соответствующее диалоговое окно. Если отображается диалоговое окно Text, отредактируйте текст в элементе управления Label выбрав опцию Label в панели инструментов Report Controls и щелкнув по нужному элементу управления Label в конструкторе. После завершения редактирования щелкните за пределами элемента управления Label. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER.

  3. В диалоговом окне Label Properties откройте вкладку General.

  4. В поле ввода Caption на вкладке General отредактируйте текст. Для удобства просмотра и редактирования длинного текста воспользуйтесь кнопкой (…), открывающей диалоговое окно редактора.

  5. Завершив редактирование нажмите кнопку OK.

    В элементе управления появится модифицированный текст.

Для более подробной информации смотрите: Вкладка General диалогового окна свойств элемента управления отчета (Построитель отчета).

Смотрите также

Прочие ресурсы

Добавление элементов управления отчета
Конфигурирование элементов управления отчета
Работа с элементами управления отчета
Управление элементами управления отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Add Shapes to Reports

Visual FoxPro 9.0
Как: Добавить объект Shapes в Отчеты
См. также

Вы можете добавлять в Отчеты различные графические элементы (Shapes): линии, прямоугольники, различные штрихованные области. Например, Вы можете использовать горизонтальные линии для отделения одного раздела отчета от другого; отделить информацию, расположенную в верхнем или нижнем колонтитуле печатной страницы. С помощью прямоугольников Вы можете выделить различные области текста на печатной странице.

Для добавления объекта Shape на страницу Отчета

  1. Откройте Отчет илиЭтикетку в соответствующем Дизайнере.

  2. В меню Report, выберите опцию Insert Control, за тем выберите необходимый объект Line, Rectangle, или Rounded Rectangle.

    Объект Shape размещается (по-умолчанию) в Заголовке печатного листа; Вы можете переместить его в нужную позицию.

Рассматриваемый элемент Shape можно включить в отчет при помощи соответствующего ToolBar-a Report Controls, а после этого перетащить элемент Shape в нужную позицию.

См. также

Другие ссылки

Управление элементами Отчетов
Настройка элементов Отчетов
Добавление элементов в Отчеты
Работа с элементами в Отчетах

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Add Pictures to Reports

Visual FoxPro 9.0, Отчеты
Как: Добавить Картинку в Отчет
См. также

Вы можете разместить Картинку (Графический Элемент) на Листе вашего Отчета или Этикетки. К примеру, вы можете разместить в заголовке Счета-Фактуры графический логотип вашей Организации. Добавляемые картинки могут загружаться вами либо из соответствующих графических файлов, либо из полей типа General с помощью системных визуальных Контролов Picture / OLE Bound.

Note Совет

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

Для добавления Картинки в макет Листа Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт Insert Control, далее уточните пункт Picture/OLE Bound.

    Активируется Диалоговый бокс: Picture/OLE Bound Properties (Свойства Графических Контролов ).

    1) Стандартный вариант: _ReportBuilder = "...\ReportBuilder.App"

    Стандартный Вариант

    2) Системный вариант: _ReportBuilder = "" , (Empty)

    Системный Вариант

    Note Обратите внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов, или переопределена на Построитель другого производителя (Report Builder) указанный диалоговый бокс Report Picture может иметь нестандартный (описываемый в данном разделе) Вид. Дополнительно смотрите разделы Справки: _REPORTBUILDER, системная переменная или Report Picture, диалоговый бокс.

  3. В открытом диалоговом боксе Picture/OLE Bound Properties, активируйте Закладку General.

  4. В области активного окна Control source (Источник данных Контрола), выполните одну из следующих операций:

    • Для использования в качестве источника - графического файла с Диска или из Проекта установите переключатель Image file name. В соответствующем текстовом боксе Control source, введите полное имя графического файла.

      Note Совет

      Для выбора требуемого графического файла можно воспользоваться кнопкой-многоточием (…), которая активирует соответствующий диалоговый бокс Open Picture.

    • Для использования в качестве источника картинки поля типа General из некоторой Таблицы, включите переключатель General field name. В описанном выше Control source, определите имя требуемого поля типа General.

      Note Совет

      Для построения требуемого выражения (или выбора требуемого поля) можете воспользоваться кнопкой-многоточием (…), которая открывает диалоговый бокс Expression Builder. В указанном диалоге: Expression Builderмогут отражаться все подключенные источники данных (Таблицы / Представления), которые описываются в Среде данных текущего Отчета (Data Environment).

    • Для использования в качестве источника некоторого вычисляемого выражения (например строковая переменная, символьное поле таблицы, или символьная константа), включите переключатель Expression or variable name.

      Note Совет

      Для построения требуемого выражения (или выбора требуемого поля) можете воспользоваться кнопкой-многоточием (…), которая активирует соответствующий диалоговый бокс Expression Builder. Дополнительно смотрите раздел Справки: Expression Builder, диалоговый бокс.

    • Для использования в качестве источника Картинки уже созданный ранее Класс Visual FoxPro Image, активируйте переключатель Expression or variable name, и введите полное имя Объекта, который содержит ссылку на графический Элемент Image, обычно искомая ссылка содержится в Свойстве PictureVal, которое было определено ранее.

      Note Совет

      Использование в качестве источника Картинки созданного ранее Объекта типа Image, вместе со свойством PictureVal поддерживается только для Объектно-Ассистированных Отчетов. Указанная конструкция источника изображения может работать также и в режиме "Обратной совместимости" (для младших версий VFP), однако результаты не гарантируются. Например, для младших версий, при использовании контролов Picture/OLE Bound, у которых не поддерживается специальная характеристика Clip, могут возникать Искажения графического изображения. Дополнительно смотрите: SET REPORTBEHAVIOR, команда.

  5. После завершения работы с характеристиками рассматриваемых контролов Picture/OLE Bound Properties - нажмите кнопку OK.

    Графический Контрол типа Picture/OLE Bound размещается в полосе Отчета "Page Header" (по-умолчанию). После описанного процесса добавления Картинки в Отчет вы можете переместить последнюю в нужное место на текущей Странице Отчета.

    Note Совет

    Добавление Картинки в Отчет может быть выполнено непосредственно после выбора соответствующего Графического Контрола из инструментальной линейки (ToolBars) Report Controls.

    Если для контрола типа Picture/OLE Bound определен некоторый графический файл, то на листе Отчета отображается сам графический элемент. Если в качестве источника контрола типа Picture/OLE Bound указано поле типа General, то отображается только Фрэйм (контур) картинки. По-умолчанию, размеры указанных Картинок определяются исходными источниками графических элементов. Дополнительную информацию смотрите в разделе: Как: Изменить Размеры Контролов Отчета.

Дополнительно смотрите раздел Справки: Закладка General, Диалоговый бокс Report Control Properties (Построитель Отчетов).

Для примера Отчета, содержащего картинки, смотрите программный файл: Wrapping.frx в соответствующей папке Visual FoxPro, ...\Samples\Solution\Reports.

См. также

Описание

Поддержка Графических Элементов в системе Visual FoxPro

Другие ссылки

Управление Контролами Отчетов
Настройка Контролов Отчета
Добавление Контролов в Отчеты
Работа с Контролами Отчетовs

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Add General Fields to Reports

Visual FoxPro 9.0
Как: Добавить Поле типа General в Отчет
См. также

При форматировании Страницы Отчета или Этикетки вы можете добавить содержание некоторого Поля типа General на эту страницу. Например, вы можете добавить документ Microsoft Excel, сохоаненный в поле типа General (к примеру Отчет об Оплате). Для этого используется инструментарий Отчета: контролы типа Picture / OLE Bound .

Note Совет

В полях типа General сохраняются только сами Графические Элементы, для каждой Записи или группы записей - свои графические изображения. Когда вы добавляете на страницу Отчета Картинку, задайте полное имя соответствующего Поля типа General, вместо требуемого имени графического Файла. Доплнительную информацию смотрите в разделах: General, тип поля и Как: Добавить Картинку в Отчет или в Этикетку.

Для добавления поля типа General на форматируемую Страницу Отчета:

  1. Откройте Отчет или Этикетку в Соответствующем Дизайнере.

  2. В системном Меню Report, выберите подпункт Insert Control (Вставит Контрол), и выберите элемент Picture/OLE Bound.

    Открывается соответствующий диалоговый бокс Picture/OLE Bound Properties.

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов или установлена для Построителя другого производителя, указанный диалоговый бокс Report Picture может отличаться по функциональности от описываемого ниже. Смотрите дополнительно _REPORTBUILDER, системная переменная и Report Picture, диалоговый бокс.

  3. В указанном диалоговом боксе: Picture/OLE Bound Properties, активируйте Закладку General.

  4. В области Control source (Источник Контрола) указанной закладки General, нажмите кнопку General field name (Имя поля General). Введите имя требуемого поля в в текстовом боксе Control source.

    Note Совет

    Для интерактивного выбора требуемого поля можно использовать Кнопку-Проводник (многоточие) (…), которая открывает диалоговый бокс Expression Builder (Построителя Выражений), в котором отображаются доступные, по установленной Среде данных Отчета, Таблицы, Представления, их поля, в том числе и типа General.

  5. После завершения работы с диалоговым боксом Picture/OLE Bound Properties, нажмите кнопку OK.

    Выбранный Контрол типа Picture/OLE Bound, по-умолчанию, размещается в Заголовке Страницы Отчета. После его добавления в Отчет вы можете переместить данную Картинку в любое масто на странице Отчета, куда вам потребуется.

    Note Совет

    Описанные выше действия вы можете выполнить также при использовании кнопки Инструментария Picture/OLE Bound, которая имеется в соответствующем ToolBar Дизайнера Отчета.

    Если выбранное вами поле типа General содержит не графическое изображение типа Image, а некоторые внешние документы, например, Microsoft Excel или Microsoft Word, то они могут отображаться в виде соответствующей Иконки (таблицы Excel или документа Word). При начальном сохранении указанных Документов в полях типа General, они сохраняются, по-умолчанию, в своем оригинальном Формате. Смотрите дополнительно раздел: Как: Изменить размеры Контролов в Отчете.

Дополнительную информацию смотрите в разделе: Закладка General, Report Control Properties, диалоговый бокс (Построитель Отчетов).

См. также

Другие ссылки

Управление Контролами Отчетов
Настройка Контролов Отчета
Добавление Контролов в Отчет
Работа с Контролами в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Managing Report Controls

Visual FoxPro 9.0
Управление Контролами Отчетов

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

В данной Секции

Как: Выделить несколько Контролов в Отчете

Описывается, как выделить несколько контролов Отчета, как группу, для изменения некоторых свойств у всех выделенных контролов.

Как: Сгруппировать несколько Контролов Отчета

Объясняется, как сгруппировать несколько контролов, чтобы сохранить относительные координаты размещения этих элементов относительно друг друга.

Как: Изменить размеры Контролов в Отчете

Описывается, как настраивать размеры Контролов Отчета.

Как: Выровнить несколько контролов Отчета без использования инструментария Layout

Объясняется, как выполнить выравнивание контролов отчета в текущей области (полосе) рассматриваемого Отчета.

Как: Настроить размещение контролов в Отчете

Описывается, как автоматически разместить контрол на текущей полосе Отчета, ри условии, что изменяется размер самой полосы отчета, относительно верхнего края ит.д.

Описание

Клавиатурные комбинации (Visual FoxPro)

Приводится список клавиатурных макросов, доступных в дизайнерах Отчетов и Этикеток.

Связанные Секции

Добавление Контролов в Отчет

Приводятся рекомендации по размещению в Отчетах и Этикетках нестандартных контролов, дополнительной информации.

Конфигурирование (настройка) контролов Отчетов

Описываются опции форматирования для Контролов в Отчетах и Этикетках.

Работа с Контролами в Отчетах

Приводятся рекомендации по этапам создания профессиональных Отчетов и Этикеток.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Select Multiple Report Controls

Visual FoxPro 9.0
Как: Выделить Множественные Объекты Управления Отчета
Смотрите Также

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

Для того, что выбрать множественные объекты управления отчета

  1. Откройте отчет или этикетку в сооветствующем дизайнере.

  2. В этом дизайнере выполните одно из следующего:

    • чтобы выделить несколько объектов отчета, нажмите и держите клавишу SHIFT, пока выделяете каждый объект; или растяните рамку выбора вокруг объектов, которые вы хотите выделить.

      -ИЛИ-

    • чтобы выделить все объекты в определенной области отчета, нажмите и держите клавишу SHIFT и дважды щелкните на разделителе этой области.

      -ИЛИ-

    • чтобы выделить все объекты в дизвйнере, в меню Edit, щелкните на Select All.

      Note Подсказка

      Иногда объекты могут быть размещены за пределами экрана. Вы можете выделить такие объекта вместе со всеми другими объектами в дизайнере, используя Select All.

    Когда объекты выделены, то появляется метка-манипулятор на рамке каждого объекта.

Вы можете временно манипулировать выделенными объектами отчета как группой.

Чтобы сбросить выделение какого-либо объекта из группы выделенных, используя мышку

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

Чтобы сбросить выделение какого-либо объекта из группы выделенных, используя диалог Multiple Selection в Построителе Отчетов

  1. Щелкните правой клавишей мышки на одном их выделенных объектов и выберите Properties из контекстного меню.

    Откроется диалоговое окно Multiple Selection.

    Note Подсказка

    Вы также можете дважды щелкнуть на группе выделенных объектов в дизайнере, чтобы открыть диалоговое окно Multiple Selection.

    Note Замечание

    Если системная переменная _REPORTBUILDER не установлена на штатный Построитель Отчетов (Report Builder) или установлена на независимый построитель, то появится диалоговое окно объекта управления или отличное диалоговое окно. Для большей информации читайте Системная Переменная _REPORTBUILDER.

  2. В диалоговом окне Multiple Selection, щелкните на закладке Selection, если она еще не выбрана.

  3. В списке Object на закладке Selection, щелкните на желаемом объекте, затем Clear selection.

    Note Подсказка

    Чтобы выбрать несколько объектов в списке Object, нажмите и держите клавишу CTRL, в то время как щелкаете на имени каждого объкта.

  4. Когда закончите, щелкните на OK.

Для большей информации читайте Закладка Selection, Диалоговое Окно Multiple Selection (Построитель Отчетов).

Смотрите Также

Другие Ресурсы

Конфигурирование Объектов Управления Отчетов
Управление Объектами Отчета
Работа с Объектами Управления Отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Group Report Controls

Visual FoxPro 9.0
Как: Группировать Объекты Управления Отчета
Смотрите Также

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

Note Замечание

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

Чтобы сгруппировать объекты

  1. Откройте отчет или этикетку в соответствующем дизайнере.

  2. Выделите объекты, которые вы хотите сгруппировать.

  3. В меню Format, щелкните на Group.

    Метка-манипулятор переместится с каждого объекта на окружение группы.

Чтобы снять группировку

  1. Откройте отчет или этикетку в соответствующем дизайнере.

  2. Щелкнуть на группе объектов.

  3. В меню Format, щелкнуть на Ungroup.

    Метка-манипулятор переместится с окружения группы объектов на рамку каждого объекта, которые были в этой группе.

Смотрите Также

Другие Ресурсы

Конфигурирования Объектов Управления Отчета
Управление Оюъектами Отчета
Работа с Объектами Управления Отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Resize Report Controls

Visual FoxPro 9.0
Как: Изменить размеры элементов управления отчета
Смотрите также

Вы можете изменить размеры любого элемента управления отчета, кроме элемента управления Label (Метка). Размеры могут быть изменены вручную, кроме того можно изменить порядок определения размеров элемента управления для того, чтобы они соответствовали прочим элементам управления.

Чтобы привести размеры содержимого файла изображения или поля типа General в соответствие с размерами элемента управления необходимо задать масштабирование. Для дополнительной информации смотрите: Изменение размеров элемента управления Picture/OLE Bound ниже.

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

Note Примечание

Размер элемента управления Label зависит от длины, стиля шрифта, и размера шрифта его содержимого.

Чтобы изменить размеры элемента управления отчета вручную

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе выделите нужный элемент управления.

    На границах элемента управления появятся маркеры выделения.

  3. Измените размеры элемента управления перетащив соответствующий маркер.

    Note Совет

    Для более точной установки размеров воспользуйтесь клавишами управления курсором (клавишами стрелок) при нажатой клавише SHIFT.

Чтобы задать размеры элемента управления отчета

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. Двойным щелчком по нужному элементу управления откройте диалоговое окно его свойств.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER.

  3. В диалоговом окне свойств элемента управления выберите вкладку General.

  4. В полях ввода со счетчиком Height и Width группы опций Size and position in layout введите или выберите необходимые значения высоты и ширины элемента управления.

  5. По завершении нажмите кнопку OK.

Для более подробной информации смотрите Вкладка General диалогового окна свойств элемента управления отчета (построитель отчетов).

Чтобы размеры элемента управления совпадали с размерами прочих

  1. Откройте отчет или этикетку в соответствующем конструкторе.

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

    Note Примечание

    Если элементы управления сгруппированы командой Group меню Format, доступной опцией установки размеров будет только To Grid. Для более подробной информации смотрите Как: группировка элементов управления отчета.

  3. В меню Format, в подменю пункта Size выберите соответствующую опцию :

    • To Grid (по сетке)

    • To Tallest (по самому высокому в группе)

    • To Shortest (по элементу управления, имеющему наименьшую высоту в группе)

    • To Widest (по самому широкому в группе)

    • To Narrowest (по самому узкому в группе)

    Размеры выделенных элементов управления изменятся в соответствии с выбранным вариантом.

Например, если выбрана опция To Tallest, высота всех выделенных элементов управления примет значение высоты самого высокого в группе.

Изменение размеров элемента управления Picture/OLE Bound

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

Однако, существует возможность привести в соответствие размеры содержимого файла изображения или поля типа General с размерами отображающего его элемента управления.

Чтобы привести размеры содержимого файла изображения или поля типа General в соответствие с размерами элемента управления

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе дважды щелкните по нужному элементу управления Picture/OLE Bound или, вызвав контекстное щелчком правой кнопки мыши, выберите пункт Properties.

    Откроется диалоговое окно свойств элемента управления Picture/OLE Bound.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно Report Picture или соответствующее диалоговое окно. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Picture.

  3. В диалоговом окне Picture/OLE Bound Properties выберите вкладку General.

  4. На вкладке General выберите одну из следующих опций выпадающего списка If source and frame are different sizes (если источник и обрамление отличаются по размерам):

    • Scale contents, retain shape: размер выводимого изображения изменяется таким образом, чтобы его большее измерение принимало значение соответствующего измерения обрамления элемента управления. Второе измерение изменяется соответственно с сохранением исходных пропорций.

    • Scale contents, fill the frame: размер выводимого изображения масштабируется, чтобы полностью заполнить площадь элемента управления, растягивая и сжимая изображение по вертикали или горизонтали по мере необходимости.

      Note Примечание

      При выборе Scale contents, fill the frame пропорции изображения могут быть искажены.

  5. По завершении нажмите кнопку OK.

Для дополнительной информации смотрите: Вкладка General диалогового окна Report Control Properties (Свойства объектов управления отчета), (Построитель отчетов).

Смотрите также

Прочие ресурсы

Конфигурирование элементов управления отчета
Управление элементами управления отчета
Работа с элементами управления отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Align Report Controls Within the Layout

Visual FoxPro 9.0
Как: Выровнить Контролы Отчета с помощью инструмента форматирования (Layout)
См. также

Вы можете выровнить Контролы Отчета различными путями. В следующем далее списке представлены различные варианты требуемой Операции выравнивания контролов Отчета:

  • Относительно других контролов Отчета.

  • Относительно системной Сетки Дизайнера Отчета.

  • Относительно центра Полосы Отчета, в которой размещен Контрол.

Для выравнивания контрола относительно других контролов:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном окне Дизайнера, выделите требуемые Контролы, которые нужно выровнить.

  3. В системном меню Format, выберите подраздел Align, и укажите требуемое выравнивание.

    Note Примечание

    Опции выравнивания Center Vertically и Center Horizontally применяются для Контролов, размещенных в одной Полосе Отчета. Если несколько выделенных Контролов размещены в разных полосах Отчета, то выравнивание выполняется относительно размеров Всего Отчета, или Страницы.

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

Note Совет

При горизонтальном Выравнивании некоторые Контролы могут перекрывать друг друга, накладываться друг на друга, что может сказаться на результатах Отчета. Аналогично, при горизонтальном выравнивании Контролы могут Закрывать друг друга. Следовательно, при выравнивании Контролов относительно какой либо стороны Отчета необходимо освобождать место для их выравнивания, чтобы избежать наложения Контролов.

Для выравнивания Контролов относительно Сетки Дизайнера:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Format, активируйте отображение Сетки Дизайнера Snap to Grid, размещение относительно сетки.

    Любое перемещение Контрола будет координироваться относительно Сетки Дизайнера.

Для Выключения описанного выше варианта выравнивания Контролов выключите описанный переключатель Snap to Grid из соответствующего Меню Format.

Для центрирования Контрола относительно Полосы Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном Окне Дизайнера, выделите Контрол, который требуется центрировать.

  3. В системном меню Format, выберите подраздел Align, установите соответствующее центрирование: Center Vertically или Center Horizontally.

    Данный Контрол изменит свои Координаты относительно Полосы, в которой он расположен.

См. также

Задачи

Как: Определить/Задать позицию Контрола Отчета

Другие ссылки

Настройка Контролов Отчета
Управление Контролами Отчетов
Работа с Контролами Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Adjust Report Control Position

Как: Задать (определить) позицию Контрола в Отчете
См. также

Вы можете установить или определить координаты (позицию) Контролов (элементов управления) в Отчетах при помощи Дизайнера Отчетов (Report Designer). Также можно задать позицию Контролов Отчета автоматически, при выводе Отчета на экран, размещение и позиция этих контролов определяется относительно основного Раздела Отчета (Reports Band) - как по высоте, так и по размеру.

Например, элементы Отчета, такие как: Поля, Картинки, другие элементы OLE, когда они размещаются в нижней части Отчета, могут изменять свои размеры, что влияет на размеры и размещение других Элементов Отчета. Для решения возникающих проблем вы можете задавать координаты ваших элементов управления (Контролов), координаты которых будут вычисляться автоматически.

Для задания координат Контролов Отчета, при разработке, в ручную (manually)

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В окне данного Дизайнера, переместите нужный элемент Отчета в требуемую позицию.

Для определения, установки позиции Элемента Отчета

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В окне дизайнера, выделите требуемый Контрол, выполните "double-click".

    В появившемся диалоговом боксе Свойств Элемента Отчета.

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не указывает на стандартный Построитель Отчетов, или задан другой Построитель, то данный диалоговый бокс может быть другим, или отсутствовать. Дополнительно См. раздел _REPORTBUILDER, системная переменная.

  3. В указанном диалоговом боксе, выберите закладку General.

  4. В соответствующих текстовых боксах From page top и From left, в области Size and position in layout , введите или выберите необходимое значение позиции Контрола.

  5. При завершении, нажмите кнопку OK.

Дополнительно См. раздел Закладка General, Диалоговый бокс Report Control Properties (в Построителе Отчетов).

Для автоматического задания координат Контрола Отчета

  1. Откройте Отчет или Этикетку в соответствующем дизайнере.

  2. В окне дизайнера, выполните "double-click" на нужном элементе Отчета.

    В появившемся Диалоговом боксе.

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не определяет стандартный Построитель, или задает другой Построитель Отчетов, то указанный диалоговый бокс либо не появится либо будет другим. Дополнительно См. раздел _REPORTBUILDER, системная переменная.

  3. В указанном диалоговом боксе, выберите закладку General.

  4. В области Object position, выполните одно из следующего:

    • Для привязки контрола относительно высоты, выберите: Float.

    • Для привязки контрола относительно верха, выберите: Fix relative to top of band.

    • Для привязки контрола относительно низа, выберите: Fix relative to bottom of band.

  5. После завершения действий, нажмите клавишу OK.

Дополнительно См. раздел Закладка General, Диалогового бокса Report Control Properties (в Построителе Отчетов).

См. также

Другие ссылки

Настройка Контролов в Отчетах
Управление Контролами в Отчетах
Работа с Контролами в Отчетах

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Configuring Report Controls

Visual FoxPro 9.0
Конфигурирование элементов управления отчета

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

В этом разделе

Как: Добавление комментариев к элементам управления отчета

Описывает, как можно добавить комментарии к элементам управления отчета.

Как: Добавление пользовательских данных к элементам управления отчета

Описывает, как можно добавить определяемые пользователем данные к элементам управления отчета.

Как: Добавление подсказок к элементам управления отчета

Описывает, как можно добавить подсказки к элементам управления отчета.

Как: Присвоение структурированных метаданных элементам управления отчета

Описывает, как присвоить специализированные метаданные индивидуальным элементам управления отчета.

Как: Изменение типа линий элементов управления отчета

Описывает, как изменить тип линий элементов управления отчета.

Как: Установка параметров выравнивания содержимого элементов управления отчета

Описывает, как изменить выравнивание в элементах управления отчета.

Как: Изменение цвета в элементах управления отчета

Описывает, как изменить цвета шрифта и фона, доступные для элементов управления отчета.

Как: Изменение установок шрифта в элементах управления отчета

Описывает, как изменить установки шрифта (например, тип, размер) в элементах управления отчета.

Как: Изменение прозрачности элементов управления отчета

Описывает, как сделать элементы управления отчета прозрачными или непрозрачными.

Как: Установка параметров растягивания элементов управления отчета

Описывает, как установить параметры растягивания элементов управления отчета.

Как: Подавление повторяющихся значений для элементов управления отчета

Описывает, как воспрепятствовать выводу повторяющихся значений элементов управления отчета.

Как: Подавление пустых строк для элементов управления отчета

Описывает, как воспрепятствовать выводу пустых строк, генерируемых элементами управления отчета.

Как: Определение условий вывода для элементов управления отчета

Описывает, как задать выражения, в зависимости от которых будут или не будут отображаться значения элементов управления отчета.

Как: Добавление Design-time Captions к элементам управления Field

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

Связанные разделы

Добавление элементов управления отчета

Вводная тема о добавлении различных элементов управления отчета, которые отображают данные в отчете или этикетке.

Манипулирование элементами управления отчета

Описывает возможные манипуляции с элементами управления отчета, например, множественный отбор элементов управления в группу, изменение из размеров, выравнивания и взаимного расположения.

Работа с элементами управления отчета

Вводная тема о работе с элементами управления в отчетах и этикетках.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


How to: Add Comments to Report Controls

Visual FoxPro 9.0
Как: Добавить Комментарий для Контрола в Отчете
См. также

В процессе создания или редактирования некоторого Контрола Отчета, вы можете добавить произвольный комментарий, детализирующий свойства Контрола, который сохраняется в соответствующем файле (.frx / .lbx), но не выводится в результирующем Отчете. Текст Комментария может содержать специфическую информацию Разработчика о данном Контроле Отчета, которая может использоваться в дальнейшем.

Для добавления текста Комментария в Контрол Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном окне дизайнера, выполните "double-click" для необходимого Контрола Отчета, для которого требуется задать Комментарий.

    Открывается соответствующий Диалоговый бокс.

    Note Примечание

    Если значение системной переменной _REPORTBUILDER не установлено в стандартный построитель Отчетов (Report Builder), или установлено значение другого Построителя (разработанного другим производителем), содержание стандартного диалогового бокса может отличаться от общепринятого. Дополнительную информацию смотрите в разделе: _REPORTBUILDER, системная переменная.

  3. В открывшемся Диалоговом боксе, активируйте Закладку Other , если она не является активной.

  4. В соответствующей области Comment, нажмите кнопку Edit comment.

    Открывается дополнительный Диалоговый бокс ввода необходимого Комментария.

  5. Введите требуемую информацию, детали и характеристики...данного Контрола.

  6. После завершения ввода данных, нажмите командную кнопку OK.

Дополнительную информацию смотрите в разделе: Закладка Other, Диалговый бокс Report Control Properties (Report Builder).

См. также

Задачи

Как: Добавить данные Пользователя в Контрол Отчета

Другие ссылки

Управление Контролами в Отчетах
Настройка параметров Контролов в Отчетах
Работа с Контролами Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Add User Data to Report Controls

Как: Добавить пользовательские данные в Контрол Отчета
См. также

Вы можете добавить пользовательские данные (определяемые пользователем) в Контролы Отчета, или как Контролы Отчета. Описанные данные размещаются в поле с именем USER в соответствующем файле Таблицы (.frx / .lbx) и могут не отображаться в самом Отчете.

Указанные пользовательские данные, поля USER, вы можете использовать в соответствующих Методах управляющего Объекта Reportlistener, когда данный Отчет обрабатывается в соответствующем объектно-ассистированном режиме (Object-Assisted Mode). Дополнительную информацию смотрите ву разделе: Основные Понятия Объектно-Ассистированных Отчетов в Visual FoxPro-9.

Для добавления пользовательских данных в Контрол Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В активном Окне Дизайнера, выполните "double-click" для выбранного Контрола, в который требуется добавить Данные.

    Откроется диалоговый бокс Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена в Стандартный Построитель Отчетов или установлена в Построитель других производителей, то внешний вид и соответствующие Операции указанного Диалогового Бокса могут отличаться от Стандартного; смотрите дополнительно раздел: _REPORTBUILDER, системная переменная.
    Note Примечание

    Диалоговый Бокс Report Builder может не содержать требуемой Функции добавления Пользовательских Данных.

  3. Активируйте Закладку Other.

  4. В области данных User data, нажмите кнопку Edit user data.

    Открывается диалоговый бокс User Data для текущей Полосы Отчета (Report Band).

  5. В данном боксе введите требуемые данных, которые вам необходимо разместить в указанном Контроле Отчета.

  6. После завершения всех Операций нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Закладка Other, Диалоговый бокс "Report Properties" (Построитель Отчетов).

См. также

Задачи

Как: Добавить комментарий для Контрола Отчета

Другие ссылки

Управление Контролами Отчетов
Настройка Контролов Отчета
Работа с Контролами Отчета

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Add Tooltips to Report Controls

Как : Добавить контекстный комментарий (Tooltips) для Контрола Отчета
См. также

Когда некоторый Контрол Отчета добавляется или редактируется, вы можете определить некоторый текст Контекстного Комментария (ToolTip), который отображается при наведении указателя мышки на рассматриваемый Контрол. Текст ToolTip обображается только в процессе работы с Дизайнером Отчетов, и не отображается при получении результирующей копии Отчета. Текст ToolTip размещается в специальном поле TAG2 соответствующего файла Отчета (.frx / .lbx).

Для определения текста ToolTip для Контрола Отчета:

  1. Откройте Отчет в соответствующем Дизайнере.

  2. В системном окне данного дизайнера, выполните "double-click" для требуемого контрола отчета, для которого требуется определить комментарий.

    Открывается соответствующий диалоговый бокс Свойств рассматриваемого Контрола.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на стандартный Построитель Отчетов или установлена на построитель другого производителя, вид указанного диалогового бокса Свойств контрола может отличаться от стандартного или отсутствовать совсем. Смотрите дополнительно раздел: _REPORTBUILDER, системная переменная.
    Note Примечание

    Диалоговый бокс Свойств Контрола может не содержать секции определения контекстного комментария ToolTip.

  3. В открывшемся диалоговом боксе активируйте Закладку Other, если она не является активной.

  4. В соответствующей области ToolTip, нажмите кнопку Edit ToolTip.

    Откроется дополнительный диалоговый бокс ToolTip.

  5. В последнем диалоговом боксе, введите требуемый Контекстный Комментарий ToolTip для рассматриваемого Контрола Отчета.

  6. По-завершению, нажмите кнопку OK.

Дополнительно смотрите раздел: Закладка Other, Report Control Properties, диалоговый бокс (Report Builder).

См. также

Задачи

Как: Добавить Данные пользователя в Контрол Отчета

Другие ссылки

Управление Контролами Отчетов
Конфигурирование и Настройка Контролов Отчетов
Работа с Контролами Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Assign Structured Metadata to Report Controls

Visual FoxPro 9.0
Как: присвоить структурированные метаданные элементам отчета
Смотри также

Приложение построителя отчета (Report Builder), используемое по умолчанию, позволяет вам присвоить структурированные метаданные как индивидуальныи элементам (controls), так и областям (bands) раскладки.

Метаданные в формате XML для элементов отчета хранятся в поле STYLE таблицы структуры отчета (.frx или .lbx). Для получения подробной информации о таблицах отчетов и этикеток, смотри статью Понимание и расширение структуры отчета.

Замечание:
Документы XML метаданных, используемые для производства отчетов, представляют собой инстанции схемы Visual FoxPro's Memberdata XML Schema (.xsd), которая, кроме того, определяет формат документа метаданных, используемого для усовершенствования работы с классами и свойствами Visual FoxPro. Полная схема для документа Memberdata приведена в статье MemberData Extensibility.

Приложение ReportBuilder.App допускает прямое редактирование текста полного элемента XML memberdata для элементов отчета. Оно также предоставляет два поддерживаемых аттрибута Reporting metadata для удобного редактирования:

  • Аттрибуть Run-time extensions может быть использован для хранения исполняемого скрипта.

  • Аттрибуте Execute When может быть использован для указания выражения, которое может быть оценено программным методом кода объекта ReportListener для исполнения по условию.

Как и в случае, когда он не использует напрямую содержание поля User Data, движок отчета (Report Engine) не ссылается прямо на XML метаданные отчета. ВЫ можете применить использование метаданных в пользовательских (custom) методах объекта ReportListener, когда исполняете отчет в объекто-ассистированном режиме. Для получения подробной информации, смотри статью Понимание объектно-ассистированного исполнения отчета в Visual FoxPro. Вы можете, также, написать Report Builder extensions, которые используют метаданные в течение сессии подготовки отчета. Для получения подробной информации, смотри статью Расширения XML MemberData отчета.

Для присвоения аттрибутов метаданых Run-time extensions и Execute When элементу отчета

  1. Откройте файл отчета или этикетки в соответствующем дизайнере.

  2. В дизайнере выполните двойной щелчок на элементе отчета, которому вы желаете добавить аттрибуты.

    Откроется диалоговый блок Properties для элемента отчета.

    Замечание:
    Если системная переменная _REPORTBUILDER не указывает на построитель отчета (Report Builder), используемый по умолчанию, или указывает на какой-то другой построитель, отобразится диалоговое окно Report Control или может отобразиться какой-то другой диалоговый блок. Для получения подробной информации, смотри статью _REPORTBUILDER системная переменная.

    Замечание:
    Если построитель отчета не указан вовсе, то открывшийся диалоговый блок исключает возможность редактирования метаданных отчета.

  3. В диалоговом блоке Report Control Properties щелкните по закладке Other, если она не выбрана.

  4. В области Run-time extensions щелкните на Edit settings.

    Откроется диалоговый блок Run-time extensions для области (band) отчета.

  5. В области Run-time extensions диалогового блока впечатайте свой скрипт или данные для run-time extension в поле редактирования данных. В блоке для выражения Execute When вы можете ввести значение или выражение, которое может быть использовано в run-time пользовательскими классами, основанными на ReportListener.

  6. Когда вы завершите редактирование, щелкните на OK.

Для получения подробной информации, смотри статью Закладка Other, Диалоговый блок Report Control Properties (Report Builder).

Для прямого редактирования XML метаданных

  1. Откройте файл отчета или этикетки в соответствующем дизайнере.

  2. В дизайнере выполните двойной щелчок на элементе отчета, которому вы желаете добавить аттрибуты.

    Откроется диалоговый блок Properties для элемента отчета.

    Замечание:
    Если системная переменная _REPORTBUILDER не указывает на построитель отчета (Report Builder), используемый по умолчанию, или указывает на какой-то другой построитель, отобразится диалоговое окно Report Control или может отобразиться какой-то другой диалоговый блок. Для получения подробной информации, смотри статью _REPORTBUILDER системная переменная. Построитель отчета (Report Builder), используемый по умолчанию, кроме того, позволяет вам указать какой-то другой диалоговый блок для редактирования XML метаданных. Для получения подробной информации, смотри статью Таблица регистра обработчика событий построителя отчета (Report Builder Event Handler Registry Table)

    Замечание:
    Если построитель отчета не указан вовсе, то открывшийся диалоговый блок исключает возможность редактирования метаданных отчета.

  3. В диалоговом блоке Report Control Properties щелкните по закладке Other, если она не выбрана.

  4. В области Run-time extensions диалогового блока, щелкните на Edit settings.

    Откроется диалоговый блок Run-time extensions для области (band) отчета.

  5. В диалоговом блоке Run-time extensions щелкните на Edit XML.

    Откроется диалоговый блок Metadata XML. Если ранее выбранному элементу отчета не были присвоены никакие метаданные, то построитель отчета поместить в область редактирования пустой шаблон XML.

  6. Введите значения напротив аттрибутов метаданных.

  7. После завершения редактирования щелкните на OK.

  8. Для получения подробной информации о поддерживаемом формате XML документа для метаданных, используемых при производстве отчетов, смотри XML-схему в MemberData Extensibility.

Смотри также

Задачи

Как: добавить пользовательские данные элементам отчета

Прочие ресурсы

Управление эдементами отчета
Конфигурирование элементов отчета
Работа с элементами отчета

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


How to: Change Line Styles of Report Controls

Visual FoxPro 9.0
Как: Изменение стилей линии для элементов управления отчета
Смотрите также

Вы можете изменить стиль линии для элементов управления Line, Rectangle, и Rounded Rectangle. Например, можно изменить толщину или вид линии для этих элементов управления. Также можно изменить способ заполнения элементов управления Rectangle и Rounded Rectangle. Можно изменить форму элементов управления Rectangle и Rounded Rectangle для отображения их с углами той или иной кривизны или в виде окружности.

Note Примечание

Отображение фона, заполняющего элемент управления связано со его свойством прозрачности. Для более подробной информации смотрите: Как: Изменить свойство прозрачности элементов управления отчета.

Чтобы изменить стиль линии элементов управления отчета:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе выберите элемент управления для изменения.

  3. В пункте Format главного меню выберите строку Pen и установите необходимые толщину или стиль линии.

    Note Совет

    Вы можете также двойным щелчком на элементе управления отчета вызвать диалоговое окно его свойств. В этом диалоговом окне выберите вкладку Style. В выпадающем списке Style выберите нужный стиль линии. В выпадающем списке Weight (Толщина) выберите необходимую толщину линии. Для дополнительной информации смотрите: Вкладка Style диалогового окна свойств элемента управления отчета (Построитель отчетов).

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER.

Чтобы изменить фон, заполняющий элемент управления:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе выберите элемент управления для изменения.

  3. В пункте Format главного меню выберите строку Fill и установите необходимый вариант заполняющего фона.

Note Примечание

Элемент управления отчета, в котором заполняющий фон не используется - Fill = 0 (без заполнения) ("empty" или "no fill" - "пусто" или "без заполнения"), всегда является прозрачным, независимо от установки свойства Backstyle. Напротив, элемент управления отчета, в котором заполняющий фон используется - Fill = 1 ("заполнен"), всегда выводится в отчете как непрозрачный, независимо от установки свойства Backstyle. Для дополнительной информации смотрите: Как: Изменить свойство прозрачности элементов управления отчета.

Чтобы изменить форму элемента управления отчета:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе двойным щелчком по нужному элементу управления отчета откройте диалоговое окно его свойств.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER.

  3. В диалоговом окне свойств элемента управления отчета откройте вкладку Style.

  4. В поле ввода Curvature (Кравизна) введите или выберите величину скругления углов элемента управления отчета (только для элементов управления Rectangle, и Rounded Rectangle).

  5. Завершив, нажмите кнопку OK.

Для более подробной информации смотрите: Вкладка Style диалогового окна свойств элемента управления отчета (Построитель отчетов)..

Смотрите также

Прочие ресурсы

Конфигурирование элементов управления отчета
Работа с элементами управления отчета
Управление элементами управления отчета
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Set Alignment of Report Control Contents

Visual FoxPro 9.0
Как: Установка способа выравнивания в элементах управления отчета
Смотрите также

Вы можете изменить способ выравнивания текста в элементах управления Field и Label. Изменение способа выравнивания текста, выводимого в этих элементах управления касается только этого текста и не затрагивает способа выравнивания самих элементов управления в раскладке страницы. Вы можете также центрировать содержимое полей типа General, определенное элементами управления отчета Picture/OLE Bound в пределах их обрамления.

Чтобы изменить способ выравнивания в элементах управления Field или Label:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе выберите элемент управления Field или Label, который необходимо изменить.

  3. В подменю строки Text Alignment пункта Format главного меню выберите нужный способ выравнивания.

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

Note Примечание

Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Expression.

Центрирование содержимого полей типа General в пределах обрамления

Когда в качестве источника данных для элемента управления Picture/OLE Bound определено поле типа General, его содержимое может изменяться по форме и размерам в пределах обрамления элемента управления. Когда площадь обрамления болше, чем содержимое, это содержимое прикрепляется к левому верхнему углу рамки. Вы можете центрировать по горизонтали содержимое полей типа General в пределах обрамления элемента управления.

Чтобы отцентрировать поле типа General в пределах обрамления элемента управления:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе щелкните дважды на нужном элементе управления Picture/OLE Bound.

    Откроется диалоговое окно Picture/OLE Bound Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER и Диалоговое окно Report Picture.

  3. В диалоговом окне Picture/OLE Bound Properties откройте вкладку General.

  4. На вкладке General пометьте опцию Center general field horizontally in frame.

  5. Нажмите кнопку OK.

    При формировании данных для отчета содержимое поля типа General будет отцентрировано в пределах обрамления.

Для дополнительной информации смотрите: Вкладка General диалогового окна свойств элемента управления отчета (Построитель отчетов).

Смотрите также

Прочие ресурсы

Конфигурирование элементов управления отчета
Работа с элементами управления отчета
Управление элементами управления отчета
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Change Colors in Report Controls

Visual FoxPro 9.0
Как: Изменить цвет для элемента в Отчете
См. также

Можно изменять цветовое оформление различных элементов Отчета: Полей данных, Текстовых полей, Линий, Прямоугольников или Эллипсов. Доступность изменения цвета Переднего или Заднего плана зависит от конкретного Контрола Отчета.

Note Обратите Внимание

Цвет фона (задний план) не отображается для Контрола, у которого установлен прозрачный фон. Дополнительно См. раздел Как: Изменить свойство непрозрачности для Контрола Отчета.

Для изменения цветового оформления Контрола в Отчете

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В окне дизайнера выделите нужный Элемент Отчета (Контрол).

  3. В меню Format, выберите опции Foreground Color или Background Color, которые являются доступными для изменения.

  4. В соответствующем диалоговом боксе Color, выберите нужный цвет оформления, нажмите кнопку OK.

Установку цветового оформления Контрола можно выполнив "double-clicking" для выбранного элемента Отчета, тогда откроется диалоговый бокс Свойств Контрола. Откройте закладку Style, снимите отметки Use default foreground color или Use default background color (общий цвет переднего или заднего плана), нажмите кнопку "многоточие" (…) для установки другого цвета. Дополнительно См. раздел Закладка Style, Диалоговый бокс Report Control Properties (Построитель Отчетов).

Note Обратите внимание

Если системная переменная _REPORTBUILDER указывает на пользователдьский дизайнер или не установлена совсем, то упомянутый диалоговый бокс может иметь другой вид или отсутствует совсем. Дополнительно См. раздел _REPORTBUILDER, системная переменная .

См. также

Другие ссылки

Манипулирование Контролами в Отчетах
Настройка Контролов в Отчетах
Работа с Контролами в Отчетах

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Как: Change Font Settings in Report Controls

Visual FoxPro 9.0
Как: Изменение настроек шрифта для элементов управления отчета
Смотрите также

Вы можете изменить настройки шрифта для элементов управления Field и Label. Настройки шрифта можно изменить как для уже существующего элемента управления, так и заданные по умолчанию для вновь создаваемых.

Note Примечание

Если Вы меняете настройки шрифта, заданного по умолчанию, измененные параметры будут применены только ко вновь добавляемым к раскладке страницы отчета элементам управления Field и Label. Для того, чтобы поменять настройки шрифта в уже существующем элементе управления Field или Label, необходимо выбрать элемент управления и произвести изменения с помощью меню Format.

Для более подробной информации о настройках шрифта, заданного по умолчанию для страницы раскладки и вновь добавляемых к ней элементов управления, смотрите: Как: Изменение настроек страницы отчета.

Чтобы изменить шрифт для уже существующего элемента управления отчета Field или Label:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе выберите элемент управления Field или Label, который нужно изменить.

  3. Выберите строку Font пункта Format главного меню.

  4. В диалоговом окне Font (Шрифт) установите необходимые параметры, затем нажмите кнопку OK.

    Note Важно

    Выражение для элемента управления Field и элемент управления Label первоначально создаются без определенного набора символов. При установке шрифта, отличного от шрифта, заданного по умолчанию с использованием меню Format, как описано выше, позволяет сохранить выбранный набор символов в раскладке отчета. Во время выполнения механизм отчета обращается к этой установке для представления данных, выводимых в элементе управления. Ниже описывается, каким образом можно вернуться к использованию по умолчанию системного набора символов.

Для более подробной информации смотрите: Диалоговое окно Шрифт.

Изменить шрифтовые параметры можно также через диалоговое окно свойств элемента управления, открыв его двойным щелчком по нужному элементу управления отчета. Откройте вкладку Style и в группе опций Font нажмите кнопку (…), открывающую диалоговое окно Font (Шрифт). Для более подробной информации смотрите: Вкладка Style диалогового окна свойств элемента управления отчета (Построитель отчетов).

Note Примечание

Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER.

Чтобы вернуть установку на использование для элементов управления отчета Field или Label набора символов, заданного в системе по умолчанию:

  1. Откройте отчет или этикетку в соответствующем конструкторе.

  2. В конструкторе откройте диалоговое окно свойств нужного элемента управления отчета Field или Label двойным щелчком по нему или через пункт Properties контекстного меню, открывающегося при нажатии правой кнопки мыши.

  3. Откройте вкладку Style.

  4. Снимите пометку с опции Use Font Script.

  5. Нажмите кнопку OK.

Для более подробной информации смотрите: Вкладка Style диалогового окна свойств элемента управления отчета (Построитель отчетов).

Note Примечание

Если системная переменная _REPORTBUILDER не установлена на использование по умолчанию Построителя отчетов (ReportBuilder.app) или устанавливает вызов построителя отчета сторонних производителей, будет отображено диалоговое окно управления отчета или соответствующее диалоговое окно. Для более подробной информации смотрите: Системная переменная _REPORTBUILDER.

Смотрите также

Прочие ресурсы

Конфигурирование элементов управления отчета
Работа с элементами управления отчета
Управление элементами управления отчета
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Change Opacity of Report Controls

Visual FoxPro 9.0
Как: Изменить свойство непрзрачности для Контролов в Отчетах
См. также

Вы можете изменять свойство Непрозрачности для таких элементов Отчета как: Поля, метки, прямоугольники, эллипсы и другие объекты OLE . Когда объект непрозрачен, то он может "заслонять" другие элементы Отчета, которые расположены рядом или на заднем плане. Если изменить свойство непрозрачности данного объекта, то можно получит эффект совмещения нескольких объектов Отчета в одном месте.

Для изменения свойства непрозрачности Контрола в Отчете

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В окне дизайнера, выделите требуемый Контрол Отчета.

  3. В меню Format, выберите опцию Backstyle, и установите требуемое свойство прозрачности фона данного объекта.

Изменить данное свойство можно также выполнив: "double-clicking" на данном контроле, в открывшемся диалоговом боксе report control properties, выбирается закладка Style, устанавливается свойство Backstyle, выбирается требуемый вид прозрачности. Дополнительно См. раздел Закладка Style, Диалоговый бокс Report Control Properties (Построитель Отчетов).

Note Обратите Внимание

Область Отчета, имеющая характеристику Fill = 0 (без наполнителя) ("empty" или "no fill" - "пусто" или "без наполнения") всегда является прозрачной, вне зависимости от установки свойства Backstyle. Наоборот, для областей Отчета, для которых Fill = 1 ("заполнена") они всегда выводятся в отчете как непрозрачны, вне зависимости от установки свойства Backstyle. Дополнительно См. раздел Как: Изменить Стиль линии в Контроле Отчета.
Note Обратите Внимание

Если системная переменная _REPORTBUILDER не установлена на стандартный Построитель Отчетов, или имеет пустое значение, то диалоговый бокс свойств Контролов Отчета может иметь нестандартный вид, или отсутствует совсем. Дополнительно См. раздел _REPORTBUILDER, системная переменная.

См. также

Другие ссылки

Управление Контролами в Отчетах
Настройка Контролов в Отчетах
Работа с Контролами в Отчетах

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Set Stretching Report Controls

Visual FoxPro 9.0
Как: Установить Растяжку Элементов Отчета
Смотреть также

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

Элементы, которые растягиваются, могут повлиять на позиции других элементов, которые выводятся позже. Вы можете задать остальные элементы как float плавающие, или скорректировать позицию автоматически в зависимости от изменения размера элемента над ними. Дополнительную информацию о автоматическом выравнивании элементов отчета, см. Как : Спозиционировать элемент управления отчета.

На следующем рисунке показаны, как функционирует растягивание и плавание элементов управления отчета .

Следующие разделы содержат информацию о работе с растяжением элементов управления:

  • Назначение растяжения элементов управления отчета

  • Отображение рамок для растягивающихся элементов управления отчета

Назначение растяжения элементов управления отчета

Следующие типы элементов настраиваются для растяжения:

  • Поля/Выражения

  • Вертикальная линия

  • Прямоугольник / Скругленный Прямоугольник

Для растяжения можно устанавливать линии, прямоугольники простые и со скругленными углами, которые растягиваются относительно полосы или, если они являются частью группы элементов, относительно наибольшего элемента группы.

Предупреждение:
Элементы управления, размещаемые относительно растягиваемых элементов, должны быть установлены плавающими, в противном случае они будут перекрыты другими элементами. Вывод элементов на странице может быть переназначена любым из следующих способов:

Назначение растяжения для элементов отчета

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. Щелкните дважды элемент управления поле для вызова его диалогового окна.

    Комментарии:
    Если системная переменная _REPORTBUILDER не установлена в значение по умолчанию Report Builder или установлена в отличны построитель, появиться диалогового окна элемента отчета или иное диалогового окна . Подробнее, см. Системная переменная _REPORTBUILDER.

  3. В диалоговом окне свойств элемента отчета, выбрать General если данная вкладка не выбрана ранее.

  4. В вкладке General, выбрать одно из следующего:

    • Для элементов содержащих поля, выбрать Stretch with overflow.

    • Для элементов прямоугольников, скругленных прямоугольников или вертикальных линий, в секции Stretch downwards, выбрать требуемую опции .

Для боллее подробной информации, см. Вкладка General, диалогового окна Report Control Properties (Report Builder).

Для примера, см. отчёт Wrapping.frx из католога Visual FoxPro ...\Samples\Solution\Reports.

Как напечатать растягиваемый элемент под другим

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В дизайнере, спозиционируйте один элемент над другим.

  3. Щелкните дважды верхний элемент для вызова его диалогового окна.

    .

    Комментарии:
    Если системная переменная _REPORTBUILDER не установлена в значение по умолчанию Report Builder или установлена в отличны построитель, появиться диалогового окна элемента отчета или иное диалогового окна . Подробнее, см. Системная переменная _REPORTBUILDER.

  4. В диалоговом окне свойств элемента отчета, выбрать General если данная вкладка не выбрана ранее.

  5. в секции Object position, выбрать Fix relative to top of band, и нажать OK.

  6. Щелкните дважды верхний элемент для вызова его диалогового окна.

  7. В диалоговом окне свойств элемента отчета, выбрать General если данная вкладка не выбрана ранее.

  8. в секции Object position , вкладки General, выбрать Float, и нажать OK.

Для более подробной информации, см. Вкладка General, диплогового окна Report Control Properties (Report Builder).

Отображение рамок для растягиваемых элементов

Вы можете использовать элемент фигуры для обрамления элемента отчета, и задания ему растяжения подобного элементу.

Для отображения границ растягивающихся элементов

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В дизайнере, отресуйте рамку с помощью Rectangle или Rounded Rectangle вокруг элемента отчета.

  3. Дважды кликнуть на элементе отчета Rectangle или Rounded Rectangle.

    Откройте диалоговое окно Rectangle Properties для элемента отчета.

    Комментарии:
    Если системная переменная _REPORTBUILDER не установлена в значение по умолчанию Report Builder или установлена в отличны построитель, появиться диалогового окна элемента Rectangle/Line или Round Rectangle или иное диалогового окна . Подробнее, см. _REPORTBUILDER System Variable, Rectangle/Line диалоговые окна, and Round Rectangle диалоговые окна.

  4. в окне Rectangle Properties, выбрать вкладку General если она неактивна.

  5. в секции Stretch downwards, выбрать Stretch relative to tallest object in group, и нажать OK.

  6. Перетащите Rectangle или Rounded Rectangle на элемент.

  7. в меню Format, выбрать Group.

Теперь можно манипулировать объединенным элементом как единым целым. Элементы скругленный прямоугольник или прямоугольник растягиваются ,вместе с элементом отчета.

Для подробной информации, см. Как: добавить фигуру в отчёт and Как : Сгруппировать элементы в отчёте.

Смотреть также

Задачи

Как : Изменить размер элементов отчёта

Другие ресурсы

Размещение элементов отчета

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Suppress Repeated Values for Report Controls

Как: Подавить отображение повторяющихся Значений Контролов Отчета
См. также

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

Например, предположим, вам требуется получить отчет о всех Счет-Фактурах (Invoice) за конкретную Дату. Вы можете определить отображение Даты только в первой Фактуре, а остальных Фактурах за рассматриваемый день, - эта дата будет подавляться (до начала следующей группы Фактур (за другой День)).

Вы можете управлять повторяющимися Значениями Полей Таблиц или Контролов Отчета в зависимости от изменения Листа Отчета или Столбца (Колонки), это относится также к Группам Данных, или когда Полоса типа Detail продолжается на следующем Листе или Колонке Отчета.

Для подавления отображения повторяющихся Значений Полей или Контролов Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. Для требуемого Контрола Отчета выполните операцию "double-click".

    Активируется соответствующий Диалоговый бокс Свойств Контрола (Элемента) Отчета.

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в Стандартный Построитель Отчетов или указывает на Построитель другого производителя ПО, указанный Диалоговый Бокс может отсутствовать или иметь отличительный Вид. В указанном диалоговом боксе должна присутствовать кнопка Print When (Условие Печати), которая открывает соответствующий диалоговый бокс Print When. Дополнительно смотрите: _REPORTBUILDER, системная переменная или Print When, диалоговый бокс.

  3. В Диалоговом боксе Свойств Контрола Отчета, активируйте Закладку Print when.

  4. В области Print repeated values, используйте переключатель для значения = No (Нет), и нажмите кнопку <OK>.

Дополнительно смотрите раздел: Закладка Print When, диалоговый бокс Report Control Properties (Построитель Отчетов).

Для повторения Значений полей или Контролов Отчета, при определенных Условиях:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. Для требуемого Контрола Отчета выполните операцию "double-click".

    Активируется соответствующий Диалоговый бокс Свойств Контрола (Элемента) Отчета.

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в Стандартный Построитель Отчетов или указывает на Построитель другого производителя ПО, указанный Диалоговый Бокс может отсутствовать или иметь отличительный Вид. В указанном диалоговом боксе должна присутствовать кнопка Print When (Условие Печати), которая открывает соответствующий диалоговый бокс Print When. Дополнительно смотрите: _REPORTBUILDER, системная переменная или Print When, диалоговый бокс.

  3. В Диалоговом боксе Свойств Контрола Отчета, активируйте Закладку Print when.

  4. В области Print repeated values, используйте переключатель для значения = No (Нет).

  5. В области Also print, выберите один из следующих вариантов:

    • Для повторения Значений Контролов Отчета только для Нового Листа или Колонки Отчета - выберите: In first whole band of new page/column (в первой полосе следующего Листа / Колонки Отчета).

    • Для повторения Значений Контролов Отчета только при изменении Группы Данных - выберите: When this data group expression changes (Когда изменяется управляющее выражение Группы). Выберите требуемое значение из представленного раскрывающегося Списка.

    • Для повторения Значений Контролов Отчета только в том случае, когда Полоса должна быть продолжена на следующем Листе или Колонке Отчета - выберите: When band content overflows to new page/column и In first whole band of new page/column.

  6. Для подтверждения выполненных действий нажмите кнопку <OK>.

Дополнительную информацию смотрите в разделе: Закладка Print When, диалоговый бокс Report Control Properties (Построитель Отчетов).

См. также

Задачи

Как: Подавить пустые строки в Контролах Отчета

Другие ссылки

Конфигурирование Контролов Отчета

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Suppress Blank Lines in Report Controls

Как: Исключить пустые строки в Контролах Отчетов
См. также

Созданные вами Отчеты могут содержать Записи данных, которые не содержат никакой информации - пустые строки. По-умолчанию, система Visual FoxPro сохраняет данные пустые строки. В целях экономии неиспользуемого места в данных отчетах ("white space"), вы можете определить установочные параметры, которые определяют исключение пустых строк из Отчетов, когда все Контролы, располагаемые в одной линии, не содержат никакой информации.

Для Исключения пустых строк в Контролах Отчетов:

  1. Откройте рассматриваемый Отчет или Этикетку в соответствующем Дизайнере.

  2. В открывшемся системном окне Дизайнера, выполните "double-click" для требуемого Контрола Отчета.

    Открывается соответствующее системное окно Диалоговый бокс Свойств данного Контрола.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена на стандартный Построитель Отчетов или установлена на Построитель другого производителя, Указанный диалоговый бокс Свойств может иметь отличный от стандартного вид. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная и Print When, диалоговый бокс.

  3. В данном диалоговом боксе активируйте закладку Print when, если она не активна.

  4. В данной закладке Print when, установите значение параметра Remove line if blank (исключить, если строка пустая), и нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Закладка Print When, Report Control Properties, диалоговый бокс (Report Builder).

Note Примечание

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

См. также

Задачи

Как: Исключить повторяемые значения в Контролах Отчетов

Другие ссылки

Настройка и конфигурирование Контролов Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Specify Conditional Output for Report Controls

Как: Определить Условие вывода на печать для Контрола Отчета
См. также

Вы можете определить некоторое условное выражение, при вычислении которого, в момент получения Отчета, определяется: будет ли рассматриваемый контрол выводиться на печать, в выходной поток Отчета. Если заданное выражение имеет значение = False (.F.), рассматриваемый Контрол Отчета не выводится в поток Отчета.

Примеры выражений в отчетах смотрите для Colors.frx / Ledger.frx, в соответствующем подкаталоге Visual FoxPro ...\Samples\Solution\Reports.

Для добавления условия вывода в Отчет некоторого Контрола:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном окне Дизайнера, выполните "double-click" для требуемого Контрола Отчета.

    В открывшемся системном окне Properties рассматриваемого Контрола:

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена в стандартный построитель Отчетов (Report Builder) или указывает на нестандартный Построитель (другого производителя) указанный Диалоговый бокс может иметь нестандартный вид или отсутствовать совсем. Далее: в стандартном диалоговом боксе нажмите кнопку Print When - для открытия соответствующего диалогового бокса Print When. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная и Print When, диалоговый бокс.

  3. В соответствующем диалоговом боксе properties dialog box, активируйте закладку Print when, если она не активна.

  4. В соответствующей области Print only when expression is true (печатать только при выполнении условия), введите требуемое Условное Выражение или нажмите кнопку (…) - для открытия окна Построителя Выражений (Expression Builder).

  5. После завершения процесса редактирования - нажмите кнопку OK.

Дополнительную информацию смотрите в разделах: Закладка Print When, Диалогового бокса Report Control Properties (Report Builder) и Expression Builder, Диалоговый бокс.

См. также

Другие ссылки

Настройка Контролов Отчета

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Add Design-time Captions to Field Controls

Как: Добавить свойство типа "Design-Time Caption" для Контрола Отчета
См. также

Для Контролов Отчетов вы можете задать дополнительную характеристику design-time caption, которая появляется вместо стандартной заставки указанных Контролов в соответствующем Дизайнере Отчетов (Report Designer).

Указанная дополнительная характеристика "Design-time captions" отображается только в том случае, когда Дизайнер отчетов открывается с дополнительной опцией (секцией) PROTECTED. При обычном режиме работы Дизайнера, контролы Отчетов отображаются стандартным образом, как некоторые выражения.

Дополнительная характеристика "design-time caption" является обычной символьной строкой, размещенной в поле NAME соответствующего файла Отчета (.frx / .lbx). Стандартно используемая подсистема ReportBuilder.app, как построитель Отчетов, использует данное Поле (столбец) для назначения рассматриваемой характеристики в соответствующей Закладке Protection. Дополнительную информацию смотрите в разделе: Закладка Protection, Диалоговый бокс "Report Properties" (Построитель Отчетов).

Для определения характеристики "design-time caption" для Контрола Отчета:

  1. Откройте ваш Отчет или Этикетку в соответствующем Дизайнере.

  2. В рабочем окне Дизайнера, выполните "double-click" для требуемого Контрола или нажмите "right-click", и пункт Контекстного Меню Properties.

    В соответствующем Диалоговом Боксе Откроется данный Контрол, его характеристики.

    Note Примечание

    Если системная переменная _REPORTBUILDER не определена в стандартный Дизайнер Отчетов, или указавает на Дизайнер прочих Производителей, то указанный Диалоговый Бокс может иметь отличный от стандартного вид; и поддерживает другие Правила определения дополнительной характеристики Контрола Отчета "design-time caption". Дополнительную информацию смотрите в разделе: _REPORTBUILDER, системная переменная.

  3. В соответствующем Диалоговом боксе Properties, активируйте Закладку Protection.

  4. Введите требуемую символьную строку в текстовое поле Design-time caption. Например, для контрола, содержащего стандартную функцию DATETIME(), вы определить следующий текст "13 июля 1996 14:25."

    Note Примечание

    Дополнительная характеристика "Design-time caption" не может быть Выражением. Вы должны ввести несколько требуемых символов. Указанную символьную строку не нужно заключать в кавычки, иначе данные кавычки также будут отображаться в рассматриваемом Контроле Отчета.

  5. После выполнения всех изменений, нажмите кнопку OK.

См. также

Другие ссылки

Настройка Контролов Отчетов
Установка Защиты для элементов Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Working with Report Variables

Visual FoxPro 9.0
Работа с Переменными в Отчетах

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

В данном Разделе

Как: Определить переменную в Отчете

Объясняется, как определять и задавать значения переменным в Отчетах.

Как: Изменить порядок обработки переменных в Отчетах

Объясняется, как изменить порядок вычисления переменных в Отчетах.

Как: Очистить значения переменных в Отчетах

Объясняется, как определить места в отчете, в которых значения переменных очищаются.

Связанные Секции

Работа с Данными в Отчетах

Описывается, как обеспечить управление данными в Отчетах и Этикетках.

Разработка и Настройка Отчетов

Описывается, как настроить Страницу Печати, определить ее параметры для Отчетов и Этикеток.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Define Report Variables

Visual FoxPro 9.0
Как: Определить Переменные Отчета
См. также

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

Переменные в Отчетах имеют (создаются) с атрибутом PUBLIC, и остаются видимыми (доступными) после завершения выполнения Отчета (если вы не выполняете специальных инструкций по очистке указанных Переменных.

Определение Переменных Отчета

Для определения Переменной Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт Variables.

    ОАктивируется диалоговый бокс Report Properties (Свойства Отчета).

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов (Report Builder) или указывает на Построитель другого Разработчика, указанный диалоговый бокс Report Variables может не активироваться или может иметь Другой Вид. Дополнительную информацию об этом смотрите в разделах: _REPORTBUILDER, системная переменная или Report Variables (Свойства Отчета), диалоговый бокс.

  3. В диалоговом боксе Report Properties, активируйте Закладку Variables (Переменные).

  4. В данной Закладке Variables, нажмите кнопку Add (Добавить).

  5. В активированном далее диалоговом боксе Report Variable (Переменные Отчета), определите Имя добавляемой Переменной.

  6. В Поле Ввода Value to store (Определяемое Значение), введите требуемое Выражение. В любой момент выполнения рассматриваемого Отчета, данная Переменная будет содержать результат вычисления данного Выражения.

  7. Для определения начального значения Переменной, в соответствующем Поле Ввода Initial value (Начальное Значение), введите требуемое выражение. Результат вычисления данного Выражения будет создан в самом начале выполнения Отчета.

    Note Обратите Внимание

    Если Создаваемая Переменная Отчета будет участвовать в Вычислениях, убедитесь в том, что ее значение # 0, чтобы избежать ошибок вычисления (например, деления на 0). Если вы не определяете Начальное значение для Переменной, по-умолчанию, система Visual FoxPro выполняет присваивание = 0.

  8. Для выполнения специфических Вычислений при участии вашей Переменной, вы можете выбрать из Списка Calculation type (тип вычислений) требуемую вам Формулу или системную Функцию.

  9. Для выполнения Групповых вычислений (подведения Итогов, и так далее), вы можете также определить Точки "Обнуления" вашей переменной, задания начального Значения, для этого используется дополнительный Список вариантов: Reset value based on (Обнулить Значение При:). Дополнительную информацию о Групповых Вычислениях смотрите в разделе: Закладка Calculate, Report Control Properties (Свойства Контролов Отчета), диалоговый бокс (Report Builder).

  10. После завершения Определения Переменной (или Переменных) - нажмите кнопку OK.

    Теперь вы можете ссылаться на созданную Переменную в вашем Отчете, создавать для нее Информационный Контрол Отчета.

Дополнительную информацию смотрите в разделе: Закладка Variables (переменные), Report Properties, диалоговый бокс (Report Builder).

Например, рассмотрим информационную таблицу Калькулирования Рабочего Времени, в которой имеются Поля: hour_in, min_in, hour_out, min_out, характеризующие временные параметры Рабочего Времени. В таблице ниже представлены создаваемые Переменные Отчета и формулы вычисления их Значений, которые отражаются в Отчете:

Для вычисления данного Значения | Создайте Переменную с именем | Используйте следующее Выражение
Время начала работы (момент) | tArrive | hour_in + (min_in / 60)
Время Окончания работы | tLeave | hour_out + (min_out / 60)
Рабочее Время | tDayTotal | tLeave - tArrive

Вы можете использовать переменную с именем tDayTotal и для других требуемых вычислений, к примеру для размероности Рабочего времени: в Неделях, в Месяцах, в Годах; или для вычисления Среднего Значения длительности Рабочего Дня, и так далее.

Пример Реального отчета смотрите: Percent.frx / Invoice.frx в подкаталоге: Visual FoxPro ...\Samples\Solution\Reports.

См. также

Задачи

Как: Открыть для редактирования Отчет или Этикетку
Как: Изменить порядок следования Переменных Отчета в списке
Как: Очистить (отключить) Переменные Отчета

Другие ссылки

Работа с Переменными Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Change Report Variable Order

Visual FoxPro 9.0
Как: Изменить порядок размещения Переменных Отчета
См. также

Система Visual FoxPro вычисляет переменные Отчета в порядке их размещения в соответствующем диалоговом боксе Report Variables, который может влиять на значения вычисляемых переменных и их перекрестных ссылок. Например, предположим, что переменная tTotal определена как сумма двух других переменных Отчета, tDelivered и tOutstanding. Указанные переменные должны быть определены в списке переменных до данной переменной tTotal, иначе переменная tTotal будет иметь неверное значение.

Caution note Обратите Внимание

Если вы изменяете порядок размещения групп Отчета, соответствующие переменные Отчета корректно не обновляются, требуется обновить зоответствующие блоки Очистки. Например, если вы изменяете порядок двух Групп (местами) в вашем Отчете, соответствующие переменные Отчета, относящиеся к различным Группам, омтаются на своих местах в списке переменных Отчета.

Для изменения порядка размещения Переменных Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В соответствующем меню Report, выберите пункт Variables.

    Открывается диалоговый бокс Report Properties.

    Note Примечание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов или установлена для нестандартного Построителя, диалоговый бокс Report Variables может иметь отличный от Стандартного Вид. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная и Report Variables, диалоговый Бокс.

  3. В диалоговом боксе Report Properties, активируйте Закладку Variables.

  4. В списке переменных Variables, при помощи элемента перемещения (слева от переменной) разместите переменную в требуемую позицию.

  5. После завершения всех операций, нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Закладка Variables, диалоговый бокс "Report Properties" (Построитель Отчетов).

См. также

Задачи

Как: Открыть Отчет или Этикеткуs
Как: Определять Переменные Отчета
Как: Очистить переменную Отчета

Другие ссылки

Работа с Переменными Отчетов и Этикеток

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Reset Report Variables

Visual FoxPro 9.0
Как: Очистить Переменные Отчета
См. также

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

Также вы можете использовать соответствующие События Полосы Отчета On Entry или On Exit, в программном Коде которых устанавливаются требуемые Значения Переменных.

Для Очистки Значения Переменной Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт Variables (переменные).

    Активируется Диалоговый Бокс Report Properties (Свойства Отчета).

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов или указывает на Построитель другого Производителя ПО, указанный диалоговый бокс Report Variables может не активироваться или может иметь отличающийся Вид. Дополнительно смотрите: _REPORTBUILDER, системная переменная или Report Variables, диалоговый бокс.

  3. В системном окне Report Properties, активируйте Закладку Variables (Переменные).

  4. Определите вариант Очистки Значения переменной (Reset value based on):

    • Report - определение начального значения Переменной перед началом выполнения Отчета (по-умолчанию).

    • Page - перед началом следующего Листа Отчета.

    • Column - перед началом новой Колонки (Столбца) Отчета (Column Header), только для случая, когда Отчет содержит несколько Столбцов (Колонок).

    • Group: <expr> - перед началом Новой Группы данных Отчета, если в Отчете используется Группировка Данных.

    • Detail <n> - определение начального значения Переменной перед обработкой Полосы с номером N, если в отчете используется несколько Полос типа Detail.

      Дополнительную информацию об использовании нескольких Полос типа Detail смотрите в разделе: Использование Связанных Таблиц для отображения их Данных в нескольких полосых Отчета типа Detail.

  5. После завершения выполненных действий нажмите кнопку <OK>.

Дополнительную информацию смотрите в разделе: Закладка Variables, диалоговый бокс Report Properties (Построитель Отчета).

Для Очистки Значения Переменной Отчета при входе или выходе в/из текущую Полосу Отчета:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном меню Report, выберите подпункт Edit Bands (Редактирование Полосы).

  3. В активированном диалоговом боксе Edit Bands, выберите требуемую Полосу, и нажмите кнопку <OK>.

    Далее Активируется соответствующий Диалоговый Бокс Свойств Полосы Отчета.

    Note Совет

    Рассматриваемый, указанный выше диалоговый бокс Свойств Полосы может быть активирован также с помощью выполнения операции "double-click" на разделителе Полос Отчета в главном Окне Дизайнера.
    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов или указывает на Построитель другого Производителя ПО, указанный диалоговый бокс Edit Bands может не активироваться или может иметь отличающийся Вид. Дополнительно смотрите: _REPORTBUILDER, системная переменная или Report Band Properties, диалоговый бокс.

  4. Далее, в активированном диалоговом боксе Свойств Полосы Отчета, активируйте закладку General.

  5. В области: Run expression, введите требуемые выражения определения Значений Переменных в программном Коде Событий: On entry (На-Входе) или On exit (На-Выходе). Для примера, если требуется выполнить следующий Фрагмент программного Кода EXECSCRIPT("tVariable = 10"), что означает определение начального (или требуемого) значения переменной tVariable = 10. Для построения требуемого Выражения вы можете воспользоваться кнопкой (многоточие) (<…)>, с помощью которой активируется Expression Builder (Построитель Выражений).

  6. После завершения выполненных действий нажмите кнопку <OK>.

Дополнительную информацию смотрите: Закладка General, Диалоговый бокс Свойств Report Band (Построитель Отчетов).

См. также

Задачи

Как: Открыть Отчет или Этикетку
Как: Определить Переменную Отчета
Как: Изменить порядок следования Переменных Отчета

Другие ссылки

Использование (работа) Переменных в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Running Reports

Visual FoxPro 9.0
Выполнение Отчетов

Когда вы завершили процесс создания Отчета или Этикетки, вы можете получить указанные отчеты в различных вариантах вывода информации и управления потоком получаемы данных.

В данном Разделе

Какo: Выполнить предварительный просмотр Отчетов

Объясняется, как просмотреть Отчет перед отправкой его на устройство вывода.

Как: Генерировать поток вывода для Отчетов

Объясняется, как генерировать поток вывода для Отчетов или Этикеток, например, на печать или в файл.

Как: Управлять обрабатываемыми Записями в потоке вывода Отчетов

Объясняется, как отбирать необходимые записи, на основе которых получается Отчет.

Как: Сохранить Настройки принтера дляч выполняемых Отчетов

Объясняется, как сохранить параметры среды печатающего устройства в текущем Отчете.

Связанные Разделы

Работа с Отчетами

Приводятся инструкции, как включать в ваши Приложения Отчеты и Этикетки Visual FoxPro.

Инструкция: Создание Отчетов с помощью Visual FoxPro

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

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Preview Reports

Visual FoxPro 9.0
Как: Просматривать Отчеты
См. также

Вы можете просмотреть результаты Отчета в окне Предварительного Просмотра, перед тем как направить Отчет на печатающее устройство.

Note Обратите Внимание

В зависимости от текущей установки системной переменной REPORTBEHAVIOR, рассматриваемые далее вопросы могут приводить к различным результатам. Если выполнено: SET REPORTBEHAVIOR 90, Visual FoxPro использует стандартный объект ReportListener, который использует для построения элементов Отчета графическую подсистему GDI+, вместо GDI. Получаемые результирующие наборы данных направляются в различные подсистемы Просмотра Отчетов. Дополнительную информацию смотрите в разделах: SET REPORTBEHAVIOR, команда и _REPORTPREVIEW, системная переменная.

Для просмотра полученного Отчета:

  1. Откройте рассматриваемый Отчет в соответствующем Дизайнере.

  2. В системном меню View (Вид), выберите подпункт Preview (Просмотр).

    Активируются системное окно Предварительного просмотра и Инструментарий Print Preview, который позволяет работать с готовым Отчетом.

  3. Для навигации (перемещению) по готовому Отчету, в системном окне Предварительного просмотра, вы можете использовать инструментальный ToolBar Print Preview:

    • Для перехода к требуемому Листу Отчета используйте кнопки: First Page (Первый лист), Previous Page (Предыдущий лист), Go to Page (Перейти к Листу #), Next Page (Следующий лист), Last Page (Последний лист).

    • Для изменения изменения Масштаба отображаемой информации, используйте опции Zoom.

    • Для печати Отчета, нажмите кнопку Print (Печать).

    • Для возврата в режим системного окна Дизайнера, нажмите кнопку Close Preview (Закрыть Просмотр).

      Caution note Предупреждение

      Если при закрытии системного Окна Просмотра Отчета, вы получаете Запрос на сохранение выполненных изменений в файле Отчета, что происходит при каскадном (последовательном) закрытии окна Просмотра и системного окна Дизайнера Отчета, нажмите кнопку Cancel - для возврата в окно Просмотра. Для сохранения изменений и возврата в окно Просмотра - кнопку Save. Для отмены всех выполненных изменений - кнопку No.

Для активации окна Просмотра Отчета из программного модуля:

  • Рекомендуется использовать стандартные команды REPORT FORM или LABEL FORM, в которых указана секция (опция) PREVIEW.

Дополнительную информацию смотрите в разделах: REPORT FORM, команда и LABEL, команда.

Например, представленный далее представлен фрагмент кода выводит Отчет в Модальное окно Просмотра Отчета:

CopyCode image Копировать Код
REPORT FORM MyReport.FRX PREVIEW

  • Рекомендуется использовать команды REPORT FORM или LABEL FORM, в которых укеазывается опция OBJECT TYPE 1, которая создает режим Объектно-Ассистированного Просмотра Отчета. Вы можете использовать также ссылку OBJECT, для указания созданного ранее, или специальным образом объект типа ReportListenert, а также установить значение свойства ListenerType = 1:

CopyCode image Копировать Код
REPORT FORM MyReport.FRX OBJECT TYPE 1 && preview
* - OR -
LOCAL loReportListener
loReportListener = CREATEOBJECT("ReportListener")
loReportListener.ListenerType = 1
REPORT FORM MyReport.FRX OBJECT loReportListener

Дополнтельную информацию смотрите в разделе: ListenerType, свойство.

См. также

Задачи

Как: Создавать Результирующие наборы Отчетов
Как: Контролировать выбранными записями в Отчетах

Описание

ReportListener, объект

Другие ссылки

Выполнение Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Generate Output for Reports

Visual FoxPro 9.0
Как: Сгенерировать вывод для отчетов
См. также

Вы можете генерировать выводы для отчетов и наклеек выполняя следующее:

  • Печать отчетов

  • Посылка отчетов на экран

  • Посылка отчетов в файл

  • Сохранение отчетов как HTML

Note Замечание

Некоторые действия, обсуждаемые в этой статье, имеют различные результаты в зависимости от установки REPORTBEHAVIOR. Когда Вы используете команду SET REPORTBEHAVIOR 90, Visual FoxPro использует объект ReportListener для генерации ваших результатов через GDI+ вместо GDI. Для дополнительной информации см. Команда SET REPORTBEHAVIOR.

Печать отчетов

Вы можете изменить установки принтера до того, как Вы начнете печатать отчет или печатать отчет программно.

Печатать отчет или этикетку

  1. Выберите опцию Print… в меню File и выберите Report или Label как Type вывода печати в диалоговом окне Print. Кликните на кнопку (...) для выбора файла отчета или этикетки (.frx or .lbx) для печати. Или откройте отчет или этикетку в соответствующем дизайнере и кликните на Run Report в меню Report.

  2. Откроется диалоговое окно Print, где Вы можете сделать изменения в установках принтера.

  3. В диалоговом окне Print кликните Print.

Печать отчетов и этикеток программно

  • Метод 1: Используйте команду REPORT FORM или LABEL с выражением TO PRINTER.

  • Метод 2: Используйте команду REPORT FORM или LABEL с выражением OBJECT TYPE 0.

  • Метод 3: Используйте команду REPORT FORM или LABEL с выражением OBJECT <oReference>, где <oReference> класс, порожденный от класса ReportListener, с его свойством ListenerType, установленным в 0. Для дополнительной информации см. Свойство ListenerType.

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

Для дополнительной информации см. Команда REPORT FORM or Команда LABEL.

Посылка отчетов на экран

Вы можете послать отчет или этикетку на главный экран Visual FoxPro или в текущее активное окно.

Послать отчет или этикетку на экран или в текущее активное окно

  • При использовании команд REPORT FORM и LABEL игнорируйте все выражения, которые направляют вывод на другие устройства отличные от screen или активного окна.

Note Подсказка

Механизм интерпретации отчетов в GDI+ системы Visual FoxPro 9 не отображает содержимое отчета или этикетки непосредственно в текущем окне вывода, поэтому убедитесь, что SET REPORTBEHAVIOR установлен в 80, когда Вы желаете получить такой результат. Или Вы можете использовать объект ReportListener для отображения содержимого отчета в shape или контейнере _SCREEN или любой формы Visual FoxPro. Создание пользовательского контейнера предварительного просмотра, например, позволяет выполнить эту задачу с минимальным кодом.

Посылка отчетов в файл

Посылка отчетов в файл дает вам возможность создать электронную версию отчета и распечатать его как пакетный файл на Вашем принтере позже.

Послать отчет в файл

  • Используйте команду REPORT FORM или LABEL с выражением TO FILE .

Для дополнительной информации см. Команда REPORT FORM or Команда LABEL.

Сохранение отчетов как HTML

Вы можете сохранить отчет в формате HTML.

Note Подсказка

Вы должны вначале сохранить отчет и все изменения на диске до сохранения его как HTML.

Сохранить отчет как HTML

  1. Откройте отчет или этикетку в соответствующем дизайнере.

  2. В меню File кликните на Save As HTML.

  3. В диалоговом окне Save As HTML выберите опции, которое Вы хотите.

  4. Для сохранения HTML (.htm) файла с другим именем, кликните на кнопку ellipsis (...) для открытия диалогового окна Save As, где Вы можете указать другое имя. Когда закончите кликните на Save.

  5. В диалоговом окне Save As HTML кликните OK.

Для дополнительной информации см. Save As HTML Dialog Box.

Note Подсказка

Вы можете также сгенерировать HTML без открытия отчета или этикетки в дизайнере, из Вашей формы отчета, используя команду REPORT FORM <Ваше имя файла> OBJECT TYPE 5. Эта команда использует экземпляр класса ReportListener HTML Foundation Class для генерации Вашего HTML файла; диалоговое окно Save As HTML вызывает тот же объект для выполнения своей задачи.

Смотри также

Задачи

Как:предварительно просмотреть отчеты
Как: Управлять выбранными записями при выводе отчета

Ссылки

Объект ReportListenert

Другие ресурсы

Выполнение отчетов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


How to: Control Record Selection in Report Output

Visual FoxPro 9.0
Как: Управлять выборкой Записей для Результрующего набора Данных Отчета
См. также

При получении Отчета, вы можете следующим образом управлять процессом включения требуемых Записей Данных для Отчета:

  • Ограничивать количество обрабатываемых Записей Данных в Отчете.

  • Определять диапазон последовательных Записей в Отчете.

  • Задавать Критерии выборки Записей для Обработки в Отчете.

  • Устанавливать требуемые Условия для продолжения обработки Записей в Отчете.

В этом параграфе объясняется, как управлять выбором требуемых Записей Данных Отчета с помощью дополнительных Элементов Пользовательского Интерфейса. При использовании стандартных команд REPORT FORM или LABEL FORM для получения Отчета, вы можете определить дополнительные Критерии выборки Записей, для этого используются специальные Секции указанных Команд. Дополнительную информацию смотрите в разделах: REPORT FORM, команда или LABEL, команда.

Для управления выборкой требуемых Записей в Отчетах

  1. Выберите подпункт Print…(Печать) из системного Меню File (Файл), далее: Options (Параметры), в активированном Диалоговом Боксе выберите требуемый Отчет (Report) или Этикетку (Label), (тип выбирается Контролом Type (Тип), аналогично выбирается файл Отчета - кнопка Многоточие (...), (файлы: .frx или .lbx).
    Как Альтернатива: можно использовать другой вариант - открыть соответствующий Дизайнер Отчетов, далее: выполнить подпункт Run Report (Выполнить Отчет) из соответствующего системного Меню Report.

  2. В диалоговом Боксе Print, нажмите кнопку Options (Параметры).

  3. В активированном Диалоговом Боксе Print Options (Параметры Печати), нажмите следующую кнопку Options (Опции).

  4. Далее: активируется следующий диалоговый бокс Report and Label Print Options (Опции печати Отчетов или Этикеток), выполните требуемые вам Ограничения по обработке Записей Отчета:

    • Для указания Количества или Диапазона обрабатываемых Записей в соответствующем Контроле Scope (Диапазон), выберите необходимое Значение. По-Умолчанию, = All, обработка всех Записей. Если выбираются опции: Next или Record, то вам требуется дополнительно определить Количество Записей в Контроле, находящемся справа от Контрола Диапазон (Scope), несколько или одну Запись. Если вы устанавливаете значение = Rest, Visual FoxPro обрабатывает все записи Таблицы, начиная с Текущей - до конца Файла (Таблицы).

    Note Обратите Внимание

    Результаты обработки описываемых Критериев: All, Next, или Rest зависят от активности текущего Индексного Тэга данной Таблицы. Результат обработки Критерия Record не Зависит от указанного Индекса в силу того, что указатель записей не перемещается в этом случае (сначала указатель перемещается на указанную Запись). Результаты обработки рассмотренных 4-х Критериев обработки Записей могут быть изменены остальными Критериями, рассматриваемыми далее.

    • Для определения Критерия обработки Записей, расположенных не-последовательно в Таблице, рекомендуется использовать следующий Контрол For (Для) . В этом случае, определите логическое выражение, которое будет вычисляться для Обрабатываемых Записей. Для полу-автоматического построения требуемого выражения Критерия вы можете воспользоваться вызовом (с помощью кнопки-многоточие (...) ) Expression Builder (Построителя Выражений).

    • Для определения специального Критерия последовательно расположенных Записей Отчета - вы можете использовать Контрол While (Пока). Visual FoxPro обрабатывает Записи до тех пор, пока заданное Логическое выражение (Критерий) вычисляется как = True (.T.). Для построения требуемого Выражения вы также можете воспользоваться Построителем Выражений (кнопка-многоточие (...)), которая активирует Expression Builder (Построитель Выражений).

    Note Совет

    Если вы используете тип Критерия While (Пока) для обработки Записей неиндексированной Таблицы (файла), рассматриваемый Отчет может закончиться раньше, чем будут обработаны требуемые Записи. Перед выполнением Отчета с указанным Критерием, вам необходимо удостовериться, что активен соответствующий Индекс, согласно которому упорядочены необходимые Записи, и перед выполнением данного Отчета выполняется переход на первую из них (Запись); к примеру: с помощью команды SEEK.

  5. Когда вы закончили определение Критерия обработки Запимей, нажмите кнопку <OK>.

    Note Совет

    Оба рассмотренных Критерия While / For (точнее соответствующие логические Выражения) наряду с конкретными Полями из Таблиц могут содержать и некоторые Переменные (приватные или глобальные). Вы можете изменять содержание указанных Переменных динамически, во время выполнения рассматриваемого Отчета.

Дополнительную информацию смотрите в разделах: Report / Label Print Options, диалоговый бокс (Параметры Печати Отчетов и Этикеток) и Expression Builder, диалоговый бокс (Посторитель Выражений)

См. также

Задачи

Как: Открыть файл Отчета или Этикетки
Как: Создавать Результирующий набор Отчета

Другие ссылки

Выполнение Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Save the Printer Environment for Reports

Visual FoxPro 9.0
Как: Сохранить Настройки Принтера для Отчета
Смотрите Также

Вы можете сохранять текущие настройки принтера вместе с отчетом. Настройки принтера сохраняются в предназначенном для этого поле типа memo в записи заголовка отчета. Ваши настройки сохраняются между Visual FoxPro сеансами.

Note Примечание

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

Note Примечание

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

Для работы в run-time, настройки принтера для отчета или этикетки могут быть определены с помощью команды SET PRINTER TO NAME, предшествующей команде REPORT FORM или LABEL. Такой подход позволяет держать настройки притера вне файла описания отчета или этикетки, и, в тоже время, позволяет определить настройки именно такими, какие необходимы для конкретного отчета. Для дальнейшей информации смотрите Команда SET PRINTER.

Чтобы сохранить настройки принтерного окружения

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В меню Report, щелкнуть мышкой на Printer Environment, если еще не выбрано.

Вы можете также установить эту настройку в меню Tools, выбрав Options, затем закладку Reports в диалоговом окне Options, или в меню Report, щелкнув на Properties, затем на закладке Page Setup в диалоговом окне Report Properties. Для дальнейшей информации смотрите Диалоговое Окно Options (Visual FoxPro) и Диалоговое Окно Report Properties (Построитель Отчетов).

Вы можете воспользоваться функцией SYS(1037), чтобы задать начальные установки принтера по умолчанию. Для дальнейшей информации смотрите SYS(1037) - Диалоговое Окно Page Setup.

Смотрите Также

Задачи

Как: Открыть Отчеты и Этикетки

Другие Ресурсы

Запуск Отчетов на Выполнение

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Distributing Reports with Applications

Visual FoxPro 9.0
Распространение Отчетов с Приложениями

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

В данной Секции

Интеграция Отчетов с Приложением

Рассматриваются ключевые вопросы функционирования Отчетов в контексте общей разработки вашего Приложения.

Определение системы защиты для Отчетов

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

Включение файлов Отчетов в дистрибутивный пакет Приложения

Представлена информация о включении файлов Отчетов и Этикеток (таблиц .frx и .lbx) в дистрибутивные пакеты Приложения, наряду с такими ключевыми элементами дистрибутивного пакета (Visual FoxPro Report System external components), как ReportBuilder.app.

Связанные секции

Работа с Отчетами

Рекомендации по работе с Отчетами и Этикетками Visual FoxPro.

Возможности подсистемы Отчетов для Интернациональных Приложений

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

Распространение (дистрибуция) Приложений

Представлены вопросы подготовки разработанного Приложения к распространению.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Integrating Reports with Applications

Visual FoxPro 9.0
Объединение отчетов с приложением
См. также

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

Способы интеграции отчетов с приложением

Варианты интеграции отчетов

У Вас есть несколько возможностей интегрировать отчеты в Ваше приложение:

  • Добавить код, который может запустить и отобразить отчеты в следующие объекты:

    • Элементы управления формы. Для дополнительной информации о формах и кнопках см. Создание форм.

    • Кнопки панели управления или команды меню. Для дополнительной информации см. Создание меню и панелей управления.

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

  • Если Вы хотите дать пользователю возможность ввода некоторых переменных, используемых в отчете, Вы можете получить эти значения от пользователя точно также , как от SQL запроса.

    На пример, пользователь может ввести определенный период дат для отчета, который Вы используете для запуска отчета. Для дополнительной информации см. Работа с переменными отчета.

  • Если Вы хотите дать пользователю возможность создания пользовательских отчетов, Вы можете предложить пользователю возможность создания нового отчета или модификации существующих отчетов с помощью Дизайнера отчетов (Report Designer). Для дополнительной информации см. Как: открыть отчеты и этикетки.

См. также

Другие ресурсы

Разработка VFP приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Setting Protection for Reports

Visual FoxPro 9.0
Установка защиты для отчетов
Смотри также

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

Установки защиты включают:

  • Запрещение доступа к определенным пунктам меню.

  • Запрещение доступа к диалоговым блокам свойств определенных элементов отчета.

  • Запрещение возможности изменения размеров областей (bands).

  • Запрещение возможности перемещать, редактировать или удалять элементы отчета.

В этом разделе

Флажки защита отчета (Report Protection Flags)

Предоставляет обзор флажков защиты отчета.
Как: защитить раскладки отчета

Описывает как сконфигурировать установки защиты, которые воздействуют на отчет или этикетку в целом, при изменнии раскладки в защищенном режиме.
Как: защитить области отчета

Описывает как сконфигурировать установки защиты на индивидуальных областях отчета, при изменнии раскладки в защищенном режиме.
Как: защитить элементы раскладки отчета

Описывает как сконфигурировать установки защиты на индивидуальных элементах отчета, при изменнии раскладки в защищенном режиме.

Связанные разделы

Запуск отчетов

Описывает как генерировать вывод из отчетов и этикеток.
Как: добавить Design-time Captions к элементам, связанных с полями таблиц

Описывает как сконфигурировать элементы, так чтобы он показывались в дизайнере с альтернативным текстом, вместо действительный выражений полей.

Смотри также

Руководство

Закладка Protection диалогового блока Report Properties (приложение Report Builder)
Закладка Protection диалогового блока Report Band Properties ( приложение Report Builder)
Закладка Protection диалогового блока Report Control Properties Dialog Box ( приложение Report Builder)

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Report Protection Flags

Флаги защиты отчета
Смотрите также

В Visual FoxPro 9.0 в команду MODIFY REPORT | LABEL введено новое ключевое слово: PROTECTED. Когда дизайнер отчета или этикеток открыты в защищенном режиме, то различные возможности дизайнера отключены или ограничены в зависимости от установленных разработчиком настроек защиты.

Существует два типа параметров настроек защиты: те, которые применяются ко всем объектам отчета и те, которые применяются к отдельным элементам отчета (элементам управления или полосам отчета).

В Visual FoxPro 9.0 Вы можете настроить параметры защиты через пользовательский интерфейс, предоставляемый используемым по умолчанию приложением построителя отчетов (ReportBuilder.app). Штатные диалоговые окна дизайнера отчетов не имеют интерфейса для редактирования флагов защиты.

Флаги защиты

Типы флагов защиты

Следующие константы определены в файле foxpro_reporting.h, расположенном в директории ..\FFC\.

Имейте в виду, что эти константы определяют значение позиции бита (bit position) в каждом флаге, но не собственно целочисленное значение флага.

Флаги защиты для элементов отчета

Константы из foxpro_reporting.h Значение Описание

FRX_PROTECT_OBJECT_LOCK

0

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

FRX_PROTECT_OBJECT_HIDE

1

Элемент отчета, для которого установлен этот флаг, не отображается в дизайнере. Элемент не виден.

FRX_PROTECT_OBJECT_NO_DELETE

2

Элемент отчета, для которого установлен этот флаг, не может быть удален (Delete) или вырезан (Cut). Вы можете выбрать его, скопировать в буфер обмена при помощи клавиш Ctrl-C и вставить новый элемент в отчет.

Note Важное замечание

Без активного штатного приложения построителя отчетов (ReportBulder.app) наряду с прочими атрибутами в новый элемент отчета будут также скопированы и флаги защиты. Это значит, что Вы не сможете передвинуть новый элемент отчета, вставленный из буфера обмена. В связи с этим обстоятельством, используемое по умолчанию приложение построителя отчетов ReportBuilder.App автоматически удаляет флаги защиты в новом элементе отчета, созданном через операцию вставки. Эта операция запрограммирована в классе PasteUnprotectFilter, зарегистрированном по умолчанию в настроечной таблице приложения построителя отчетов. Смотрите Report Builder Event Handler Registry Table для получения дополнительной информации.

FRX_PROTECT_OBJECT_NO_EDIT

3

Для элемента отчета, у которого установлен этот флаг, двойной щелчок мыши не даст эффекта, и Вы не сможете отобразить контекстное меню для этого объекта по правой клавише мыши. Это сделано в основном для того, чтобы не дать доступа к диалоговому окну свойств (Properties) данного объекта.

FRX_PROTECT_OBJECT_NO_SELECT

6

Элемент отчета, для которого установлен этот флаг, не может быть выбран при помощи мыши или клавиши TAB. Изменение курсора мыши для изменения размера объекта также не происходит. Этот флаг дает тот же эффект, что и два флага OBJECT_NO_EDIT + OBJECT_LOCK.

Вообще говоря, с практической точки зрения:

  • Флаг защиты NO_SELECT фактически включает в себя флаги защиты LOCK + NO_EDIT + NO_DELETE, даже если эти флаги не были установлены явно.

  • Флаг защиты HIDDEN фактически включает в себя флаги защиты LOCK + NO_EDIT + NO_DELETE + NO_SELECT, даже если эти флаги не были установлены явно.

Флаги защиты для полос отчета

Константы из foxpro_reporting.h | Значение | Описание
FRX_PROTECT_BAND_NO_EDIT | 4 | Диалоговое окно Band Properties (свойства полосы отчета) не доступно. Двойной щелчок мыши по полосе отчета не даст никакого эффекта.
FRX_PROTECT_BAND_NO_RESIZE | 14 | Вертикальный размер полосы отчета заблокирован. Полоса отчета не может изменить свой размер в дизайнере.

Флаги защиты, применяемые для всех элементов отчета

Константы из foxpro_reporting.h | Значение | Описание
FRX_PROTECT_REPORT_NO_PREVIEW | 7 | Отчет не может быть отображен в режиме предварительного просмотра из дизайнера.
FRX_PROTECT_REPORT_NO_OPTBAND | 8 | Диалоговое окно Optional Bands (дополнительные полосы отчета) не доступно.
FRX_PROTECT_REPORT_NO_GROUP | 9 | Диалоговое окно Data Grouping (группировка данных) не доступно.
FRX_PROTECT_REPORT_NO_VARIABLES | 10 | Диалоговое окно Report Variables (переменные отчета) не доступно.
FRX_PROTECT_REPORT_NO_PAGESETUP | 11 | Диалоговое окно Page Setup (настройки страницы) не доступно.
FRX_PROTECT_REPORT_NO_DATAENV | 13 | Окружение данных (Data Environment) отчета не может быть изменено.
FRX_PROTECT_REPORT_NO_PRINT | 15 | Отчет не может быть отправлен на печать из дизайнера. Пункты меню Run Report и Print… будут не доступны.

Как сохранить флаги защиты в отчете

Флаги защиты хранятся в мемо-поле с именем ORDER в файле FRX в записях заголовка отчета и в отдельных записях для каждого элемента отчета и полос отчета.

Если Вы не используете приложение построителя отчетов по умолчанию (ReportBuilder.app), то Вы можете установить флаги, открыв файл .frx или .lbx и заменив ранее сохраненное в поле ORDER значение на нужное Вам значение, определив его следующим способом:

Значение флага защиты - это суммирование с последующим сохранением как двоичных символьных данных в поле ORDER. Например: FRX_PROTECT_OBJECT_LOCK + FRX_PROTECT_OBJECT_NO_DELETE + FRX_PROTECT_NO_EDIT = 2^0 + 2^2 + 2^3 = 1+4+8 = 13. В результате, поле ORDER будет содержать CHR(13).

Фундаментальный класс "FRX Cursor" включает несколько методов, которые являются полезными в извлечении и замене флагов защиты, как показано в примере ниже.

Пример

CopyCode image Копировать код
#INCLUDE foxpro_reporting.h
LOCAL oFrxHelper, cReport, iFlags

* Создание объекта "helper" (помощник):
oFrxHelper = NEWOBJECT( "frxCursor", HOME()+ "\FFC\_frxcursor.vcx")

* Выбрать файл отчета:
cReport = GETFILE("FRX")

* Открыть файл отчета как таблицу:
USE (m.cReport) ALIAS frx

* Перейти к записи, содержащей заголовок отчета:
LOCATE FOR frx.objtype = FRX_OBJTYP_REPORTHEADER and ;
           frx.objcode = FRX_OBJCOD_REPORTHEADER and ;
           frx.platform = FRX_PLATFORM_WINDOWS

* Извлечь текущие настройки защиты:
iFlags = oFrxHelper.BinStringToInt( frx.ORDER )

* Предотвращение доступа к диалоговому окну "Report Variables" (переменные отчета):
iFlags = BITSET( iFlags, FRX_PROTECT_REPORT_NO_VARIABLES )

* Сохранение измененных настроек на прежнем месте файла frx:
REPLACE frx.order WITH oFrxHelper.IntToBinString( iFlags )
USE IN frx

* Редактивроание отчета в защищенном режиме:
MODIFY REPORT FORM (cReport) PROTECTED

Смотрите также

Ссылки

Фундаментальный класс курсора FRX (FRX Cursor)
Вкладка Protection диалогового окна свойств отчета (Построитель отчетов)
Закладка Protection, диалоговый бокс Report Band Properties (Построитель Отчетов)
Вкладка Protection диалогового окна свойств элемента управления отчета (Построитель отчетов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


How to: Protect Report Layouts

Visual FoxPro 9.0
Как: Настроить Защиту Отчетов
См. также

Вы можете установить Защиту для элементов форматирования Отчетов или Этикеток, чтобы конечный Пользователь имел возможность изменять или редактировать только доступные Элементы, которые определяются специальными Флагами - параметрами Защиты Отчета; режим ограниченного доступа к Контролам Отчета осуществляется стандартной командой MODIFY REPORT … PROTECTED.

Для установки элементов Защиты для Отчетов:

  1. Откройте Отчет или Этикетку в соответствующем Дизайнере.

  2. В системном Меню Report, выберите подпункт Properties, или выполните "Right-Click" для активации Контекстного меню, в котором также можно выбрать подпункт Properties.

    Открывается соответствующий Диалоговый Бокс Report Properties.

    Note Примечание

    Если Системная переменная _REPORTBUILDER не установлена в стандартный Построитель Отчетов, то вместо этого откроется диалоговый бокс Report Page Setup. Если системная переменная _REPORTBUILDERустановлена в Построитель другого Разработчика, то вид описанного выше Диалогового бокса может отличаться от стандартного. В данном контексте описывается использование Флагов Защиты при использовании Стандартного Построителя Отчетов. Дополнительную информацию смотрите в разделах: _REPORTBUILDER, системная переменная и Report Page Setup, диалоговый бокс.

  3. В системном окне диалогового бокса Report Properties, активируйте Закладку Protection.

  4. В описанной закладке Protection, выберите одну из следующих Комбинаций Флагов Защиты Отчета:

    • Для пользователя будет Закрыта возможность получения Отчета из среды Дизайнера, или отсутствует опция Print… из системного меню File.

    • Для Пользователя будет Закрыта возможность Предварительного Просмотра из среды Дизайнера.

    • Для Пользователя будет Закрыта возможность изменения Среды Данных Отчета (Data Environment).

    • Для Пользователя будет Закрыта возможность изменения параметров Страницы Отчета.

    • Для Пользователя будет Закрыта возможность Дополнять Отчет Полосами Отчета.

    • Для Пользователя будет Закрыта возможность Группировки Данных.

    • Для Пользователя будет Закрыта возможность определения и изменения Переменных Отчета.

  5. После Завершения, нажмите кнопку OK.

Дополнительную информацию смотрите в Разделах: Закладка Protection, Диалоговый бокс Report Properties (Report Builder) и Диалоговый Бокс Report Properties (Report Builder).

См. также

Задачи

Как: Защитить Полосы (Bands) Отчета
Как: Защитить Контролы Отчета

Описание

MODIFY REPORT, команда

Концепции

Параметры Защиты Откетов

Другие ссылки

Определение Защиты для Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Protect Report Bands

Visual FoxPro 9.0
Как: Защитить Области Отчета
Смотри Также

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

Чтобы утановить защиту для области отчета

  1. Открыть отчет или этикетку в соответствующем дизайнере.

  2. В меню Report, щелкнуть на Edit Bands.

    Откроется диалоговое окно Edit Bands.

  3. В диалоговом окне Edit Bands выбрать желаемую область и нажать OK.

    Откроется диалоговое окно свойств (properties) для выбранной области отчета.

    Подсказка:
    Также вы можете дважды щелкнуть на разделителе нужной области в Дизайнере отчета или этикетки чтобы открыть диалоговое окно свойств этой области.

    Примечание:
    Если системная переменная _REPORTBUILDER установлена не на построитель отчетов по умолчанию или установлена на построитель, разработанный третьей стороной, то вид окна может отличаться. Для дальнейшей информации смотри Системная Переменная _REPORTBUILDER.

  4. В диалоговом окне свойств (properties) щелкните на закладке Protection (защита).

  5. На закладке Protection выберите желаемое сочетание следующих вариантов защиты:

    • Пользователь не может изменить размер области в защищенном режиме.

    • Пользователь не имеет доступ к диалоговому окну Band Properties (Свойства Области).

  6. После чего, нажмите OK.

Для дальнейшей информации смотри Закладка Protection (Защита), Диалоговое Окно Свойств Области Отчета (Построитель Отчетов).

Смотри Также

Задания

Как: Защитить Ракскладку Отчетов
Как: Защитить Объекты Управления Отчетов

Справочная Информация

Команда MODIFY REPORT

Концепция

Признаки Защиты Отчета (Report Protection Flags)

Другие Источники

Установка Защиты для Отчета

Отправить ваши комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


How to: Protect Report Controls

Visual FoxPro 9.0
Как : Защитить Контролы Отчета
См. также

Вы можете установить параметры Защиты Контролов Отчета, и тем самым избежать нежелательного, или недопустимого изменения элементов Отчета конечным Полдьзователем, когда он открывает Отчет в Защищенном режиме. Описываемые параметры Защиты можно устанавливать для группы выделенных Элементов Отчета.

Для установки параметров Защиты Контролов Отчета:

  1. Откройте выбранный Отчет в соответствующем Дизайнере (Report, Label).

  2. В системном окне Дизайнера, выполните "double-click" для требуемого Контрола.

    Открывается соответствующий диалоговый бокс Properties Report.

    Note Обратите Внимание

    Если системная переменная _REPORTBUILDER не указывает на стандартный Построитель Отчетов (Report Builder) или содержит ссылку на Построитель другого Производителя, указанный диалоговый бокс может отличаться от описываемого ниже по Виду и соответствующим Операциям. Смотрите дополнительно раздел: _REPORTBUILDER, системная переменная.

  3. В системном окне активируйте Закладку Protection (Защита).

  4. В указанной Закладке Protection, выберите требуемую колмбинацию параметров Защиты рассматриваемого Контрола::

    • Пользователь не может перемещать и изменять размеры Контрола Отчета.

    • Пользователю закрыт доступ к диалоговому боксу Report Control Properties (Свойства Контролов Отчета).

    • Пользователь не может удалять Контрол из отформатированной Страницы.

    • Пользователь не может выделить Контрол Отчета с помощью Мышки или с помощью Клавиатуры.

    • Пользователь не может видеть Контрол Отчета.

  5. После завершения, нажмите кнопку OK.

  6. Дополнительную информацию смотрите в Закладка Protection, Report Control Properties, диалоговый бокс (Report Builder).

Для установки параметров Защиты для нескольких выделенных Контролов Отчета:

  1. В системном окне Дизайнера Отчета, выделите несколько Контролов, для которых требуется установить Защиту. Смотрите дополнительно: Как: Выделить несколько Контролов Отчета.

  2. Выполните "Double-click" для одного из выделенных Контролов, или нажмите "Right-Click" и выберите подпункт Properties.

    Активируется соответствующий диалоговый Бокс Multiple Selection.

    Note Примечание

    Если системная переменнакя _REPORTBUILDER не указывает на стандартный Построитель Отчетов (Report Builder) или указывает на Построитель другого Производителя, описываемый далее диалоговый бокс может отличаться. Смотрите дополнительно раздел: _REPORTBUILDER, системная переменная.

  3. В диалоговом боксе Multiple Selection (Множественный Выбор), активируйте Закладку Protection.

  4. В данной закладке Protection, выберите описанные выше варианты параметров Защиты выделенных Контролов.

  5. После завершения, нажмите кнопку OK.

Дополнительную информацию смотрите в разделе: Как: Выделить Несколько Контролов в Отчете.

См. также

Задачи

Как: Защитить Настройки (параметры) Отчета
Как: Защитить Полосы Отчета

Описание

MODIFY REPORT, команда

Концепции

Управляющие параметры Защиты Отчета (его Коипонент)

Другие ссылки

Установка Защиты Отчета

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Including Report Files for Distribution

Visual FoxPro 9.0
Включение файлов отчетов в дистрибутив
Смотри также
CollapseAll image

Когда Вы распространяете приложение у Вас есть несколько вариантов того, как развернуть отчеты, которые Вы разработали для обеспечения вывода приложения. Этот раздел описывает возможности включения таблиц определения отчетов и этикеток (.frx и .lbx файлы) и компоненты распространения системы отчетов (distributable Visual FoxPro Report System components).

Expand image Распространения файлов отчетов и этикеток

Отчеты и этикетки могут быть включены в Ваш проект и встроены в Ваше приложение (.exe или .app файлы) или они могут быть поставлены отдельно на диске.

Note Подсказка

Вы можете ссылаться к отчетам и этикеткам в Вашем проекте приложения во время разработки приложения, при этом компилированный файл приложения будет создаваться без включения в него файлов отчетов и этикеток. Для дополнительной информации смотри Как исключить файлы из построения ( Builds).

Какую стратегию Вы решите использовать, обычно зависит от того, хотите ли Вы дать возможность конечному пользователю настраивать отчеты и этикетки. Если отчеты и этикетки находятся на диске, как отдельные файлы, Ваше приложение может обеспечить конечному пользователю возможность модификации их с помощью команд MODIFY REPORT и MODIFY LABEL.

Note Подсказка

В Visual FoxPro 9 Вы можете предложить конечным пользователям настройку отчета при сохранении основы разработки с помощью пользовательских диалогов построителя отчета (custom Report Builder dialogs) и таких возможностей, как Report Protection, Report Designer ToolTips и Design-time Captions. Для дополнительной информации смотри Как установить защиту для отчетов ( Protection for Reports), Как добавлять подсказки (Tooltips) к элементам управления отчета и Как добавить Design-time Captions к полям элементов управления.

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

Note Подсказка

Использование "built-in" шаблона также позволяет Вам делать некоторые настройки в отчете или этикетке в последний момент "last-minute" до того, как конечный пользователь начнет, что-то изменять. Например, Вы можете настроить флаги защиты в редактируемой копии используя таблицу "lookup"приложения для определения того, что разрешено пользователю. Вы можете также заменить ToolTips для элементов управления отчета, которые использовались для целей разработки на другой набор, содержащий инструкции для конечного пользователя. Так как Вы можете добавить дополнительные поля в таблицы отчетов и этикеток эта программная настройка в режиме run-time будет также проста, как открытие отчета или этикетки с помощью команды USE и далее используя команду REPLACE ALL ORDER WITH <Ваше дополнительное поле>. Для дополнительной информации смотри Понимание расширенной структуры отчета.

В некоторых случаях Visual FoxPro позволяет командам MODIFY REPORT и MODIFY LABEL использоваться с именами "read-only" файлов отчетов и этикеток встроенных в приложение. Когда конечный пользователь приложения сохраняет отчет или этикетку из дизайнераVisual FoxPro сохраняет копию на диск. Для такой стратегии работы необходимо, чтобы файлы отчетов и этикеток находились в той же папке, что и файл проекта (.pjx) или в папке, чьё имя Visual FoxPro может найти в режиме run time относительно файла приложения (.exe or .app).

Например, предположим, что Ваш проект находится в папке d:\app , а отчет, который Вы желаете включить в проект находится в d:\app\reports\my.frx на Вашем компьютере разработчика. Во время "run time" Вы инсталлируете файл приложения (.exe) в c:\programs\myapp. Если Вы создаете дополнительную папку для отчетов c:\programs\myapp\reports, Вы сможете использовать команду MODIFY REPORT my.frx. Когда пользователь сохраняет отчет, Visual FoxPro сохраняет отчет, как c:\programs\myapp\reports\my.frx по умолчанию. Однако, если c:\programs\myapp не имеет подпапки, появляется ошибка на команде MODIFY REPORT.

Вы можете контролировать доступность подпапки в режиме run time и использовать Команда MD | MKDIR если необходимо. Или используйте следующие команды, где lcDir сохраняет имя папки, предварительно проверенной пользователем.

CopyCode image Копировать код
SELECT * FROM my.frx INTO TABLE (lcDir + "my.frx")
MODIFY REPORT(lcDir + "my.frx")

Этот вариант устанавливает процесс под полный Ваш контроль. Он позволяет Вам определить папку, чтобы не зависеть от структуры на этапе проектирования.

Note Замечания

При распространении отчетов, как встроенных, так и внешних файлов, убедитесь в том, что все дополнительно требуемые файлы доступны Вашему приложению в run time. Например, если ваш отчет ссылается на файл картинки, включите этот файл в Ваше приложение или распространяйте этот файл отдельно на диске. Будьте уверены, что файл картинки находится в том же месте, как описано в Вашей структуре построения проекта или в структуре папок Вашего дистрибутива на диске относительно файла отчета, как это было во время разработки отчета. Тем не менее Visual FoxPro может не найти файл картинки, когда он создает отчет. Если Вы выберите вариант встроенного отчета в ваше приложение, другие компилированные модули, такие как ReportOutput.app или ReportBuilder.app могут не найти файлы внутри вашего компилированного модуля. Вы можете быть уверены, что компоненты системы отчетов найдут Ваши файлы при включении их исходных файлов в ваше приложение, также как распространение их как отдельных приложений. Далее описаны варианты для распространения этих компонентов.

Expand image Распространение Компонентов Системы Отчетов

Если Вы даете возможность конечному пользователю модифицировать отчеты и этикетки, Вы должны распространять Report Builder Application или Вашу пользовательскую версию приложения построения отчетов для того, чтобы ваши пользователи имели все возможности по конструированию отчетов.

По умолчанию, Visual FoxPro ищет файл с именем ReportBuilder.app в HOME() или в месте запуска. Для выполняемого приложения (.exe), это место всегда является папка, где инсталлируются run-time библиотеки Visual FoxPro такая как, C:\Program Files\Common Files\Microsoft Shared\VFP. Для дополнительной информации смотри Функция HOME( ). Если вы включите общий модуль Microsoft Visual FoxPro 9 Report Applications в программу Setup инсталляции Вашего приложения, как описано в следующем абзаце, по умолчанию ReportBuilder.app инсталлируется в определенное место на диске пользователя.

Caution note Внимание

Инсталляция любых других приложений с именами ReportBuilder.app, ReportPreview.app, и ReportOutput.app в каталог по умолчанию, где размещены run-time support libraries, не рекомендуется, поскольку Вы можете переписать их приложениями по умолчанию, требуемые другими приложениями Visual FoxPro. Если вы желаете установить пользовательские версии этих приложений, используйте другие имена приложений и обозначьте именами Ваши предпочтительные компоненты системы отчетов, как описано в этом разделе.

Вы можете использовать Системная переменная _REPORTBUILDER в вашем приложении или в файле конфигурации (CONFIG.FPW) для вашего приложения для описания различных мест расположения и различных имен файлов для Вашего распространяемого Report Builder Application. Для дополнительной информации смотри Установка конфигурационных опций при запуске (Startup).

Когда Вы используете приложения, у Вас имеется опция для включения файлов компонентов Report Builder в Ваше выполняемое приложение (.exe) даже в в случае, когда распространяемое приложение Report Builder Application является отдельным независимым файлом (standalone). Для дополнительной информации смотри Как описать и распространять ReportBuilder.App.

Для обеспечения возможности расширенного вывода в Ваших приложениях, используя объекты ReportListener и PreviewContainer, Вам необходимо распространять Report Output Application (ReportOutput.app) и Report Preview Application (ReportPreview.app) или подходящие им замены. Технология описания имен и мест расположения этих компонентов идентична для всех трех приложений. Для дополнительной информации смотри Как описать и распространять ReportPreview.App и Как описать и распространять компоненты Report Output Application.

Note Подсказка

Вы можете усилить классы порожденные по умолчанию от ReportListener и используемые приложением вывода отчета (Report Output Application) и многие возможности Report Builder Application отдельно от этих двух приложений, используя библиотеку фундаментальных классов, содержащую идентичные визуальные классы. Для дополнительной информации смотри ReportListener Foundation Classes, FRX Cursor Foundation Class, and FRX Device Helper Foundation Class.

Expand image Дополнительные дистрибутивные файлы для отчетов и Visual FoxPro's Report System

Visual FoxPro поддерживает модули слияния (файлы.msm ), поэтому Вы можете строить дистрибутивные программы Setup для вашего приложения и включать все необходимые файлы поддержки. Для дополнительной информации смотри Создание Visual FoxPro Application Setup Program используя InstallShield. Следующая таблица содержит модули, специально предназначенные для приложенийe, использующих возможности отчетов в Visual FoxPro.

Имя файла модуля слияния | Заголовок модуля слияния | Примечания
vfp9rptapps.msm | Visual FoxPro 9 Report Applications | Инсталлирует ReportBuilder.app, ReportOutput.app, и ReportPreview.app в их, определенное по умолчанию, место для выполняемых приложений.
msxml4sxs32.msm msxml4sys32.msm | MSXML 4.0 | Эти модули требуются для всех инсталляций приложенийl Visual FoxPro и используются по умолчанию приложениями Report Applications.
GDIPlus.msm | Microsoft GDI+ | Этот модуль требуется для всех инсталляций приложенийl Visual FoxPro и используется системой отчетов в режиме объектно-ассистированного отчета.

Expand image Смотри также

Reference

Команда EXTERNAL
Команда MODIFY REPORT
Команда MODIFY LABEL

Другие ресурсы

Распространение приложений
Расширенные функциональности отчета в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


Extending Report Functionality in Visual FoxPro

Visual FoxPro 9.0
Расширение функциональности отчета в Visual FoxPro
Смотри также

Вы можете расширять элементы системы отчетов Visual FoxPro как в среде разработки, так и в run-time. Статьи, ссылки на которые приведены здесь, показывают вам как подгонять дизайнеры отчетов и этикеток под свои нужды, а также настраивать вывод, получаемый при исполнении команд REPORT FORM и LABEL

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

В этом разделе

Расширение возможностей отчетов в среде разработки

Описывает перехватчики событий (event hooks) в дизайнерах отчетов и этикеток и способ усиления приложения построителя отчета, используемого по-умолчанию или замены его своим собственным приложением.
Расширение возможностей отчетов в run-time

Обсуждается - как извлечь преимущества возможностей Report Preview и Report Output в run-time.
Понимание и расширение структуры отчета

Показывает вам, как исследовать и расширить таблицы определений раскладок отчета и этикетки (.frx and .lbx files).
Расширения свойства XML MemberData отчета

Описывает поддерживаемый формат XML Memberdata, используемый совместно системой отчетов VFP и расширениями Visual FoxPro Property Sheet, а также пути, с помощью которых вы сможете использовать их содержимое в отчетах.
Использование в отчетах GDI+

Предоставляет информацию о том, как в Visual FoxPro 9 используются воздействия GDI+ на природное поведение отчетов, равно как и дополнительное использование возможностей GDI+ в вашем программном коде.

Связанные разделы

Работа с отчетами

Знакомит с отчетами и этикетками Visual FoxPro и о способах введения их в ваши приложения.
ReportListener Object

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

Смотри также

Справочное руководство

Команда SET REPORTBEHAVIOR
Команда REPORT FORM
Команда LABEL
Системная переменная _REPORTBUILDER
Системная переменная _REPORTPREVIEW
Системная переменная _REPORTOUTPUT

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Extending Reports at Design Time

Расширение функциональности Отчетов в время их разработки (Design Time)

В данном параграфе рассматриваются вопросы создания классов Перехватчиков Событий Дизайнеров Отчетов или Этикеток (Event Hooks Report / Label Designers); а также способы управления стандартным Построителем Отчетов (Report Builder), или даже варианты замены последнего на нестандартный Построитель Отчетов.

В данном Разделе

Основные Понятия о Событиях Построителя Отчетов

Описываются основные События Построителя Отчетов, обрабатываемые Дизайнерами Отчетов и Этикеток.

Регистрационная Таблица обработчика Событий построителя Отчетов

Описывается структура поисковой таблицы, используемой стандартным Построителем Отчетов для доступа к классу Обработчика Событий Построителя.

Класс Событий Построителя Отчетов

Рассматриваются основные Свойства и Методы класса Обработчика Событий, используемого для встраивания (инкапсуляции) в архитектуру Построителя Отчетов.

Как: Активировать Диалоговый бокс Построителя Отчетов: Options

Объясняется, как отобразить Диалоговый бокс: ReportBuilder.app's Options.

Как: Настроить Обработчик Событий Построителя Отчетов

Объясняется, как конфигурировать стандартный Построитель Отчетов в целях пользовательской обработки Событий создания Элементов Отчета.

Как: Добавить пользовательский Обработчик Событий Построителя Отчетов в Регистрационную Таблицу

Объясняется, как интегрировать пользовательский класс Обработчика в архитектуру Построителя Отчетов.

Как: Установить альтернативную регистрационную Таблицу Обработчика Событий Построителя Отчетов

Рассматриваются вопросы настройки приложения reportbuilder.app для использования нестандартной поисковой Таблицы классов Обработчика Событий в Дизайнере Отчетов.

Как: Расширить или заменить стандартный Построитель Отчетов

Объясняется, как заменить базовое приложение - стандартный построитель отчетов Visual FoxPro, на построитель другого производителя.

Как: Устанавливать и распространять базовое приложение ReportBuilder.App

Описываются вопросы распространения базового приложения ReportBuilder.App, вместе с основным Приложением пользователя, как отдельный файл; или в качестве интегрированного исходного кода в Проекте вашего Приложения.

Связанные Секции

Расширение Отчетов в режиме Run-Time

Описываются ключевые вопросы использования классов перехватчиков Событий режимов Предварительного просмотра Отчетов при выполнении приложений Visual FoxPro.

_REPORTBUILDER, системная переменная

Объясняется, как использовать системную переменную для регистрации обработчика событий Построителя Отчетов.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Understanding Report Builder Events

Visual FoxPro 9.0
Понимание событий построителя отчетов Report Builder
Смотри также

Дизайнеры отчетов и этикеток Visual FoxPro представляют избранные операции пользовательского интерфейса (UI), как события построителя, которые могут быть перехвачены и обслужены приложением построителя отчетов (report builder).

Приложение построителя, вызываемое дизайнером, определяется содержимым системной переменной VFP _REPORTBUILDER, которая, по умолчанию, ссылается на приложение reportbuilder.app, находящееся в каталоге, в которую был инсталлирован Visual FoxPro. Это приложение вызывается, как из дизайнера отчетов - Report Designer, так и из дизайнера меток - Label Designer, для которой не предусмотрено соответствующей системной переменной "_LABELBUILDER". В этой и последующих статьях, вы можете подразумевать, что любые обсуждения, связанные с рассмотрением дизайнера отчетов применимы и к дизайнеру этикеток - Label Designer.

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

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

Когда в построителе отчета происходит какое-либо событие, дизайнер отчетов выполняет следующие действия:

  • Создает частную сессию данных.

  • Открывает копию исходного файла (.frx или lbx), открытого в данный момент в дизайнере, с алиасом "FRX."

  • Вызывает приложение, определяемое содержимым переменной _REPORTBUILDER, направляя ей четыре параметра.

Приложение построителя отчетов должно подчиняться следующим API:

  • Оно должно принимать по меньшей мере четыре параметра, отправляемых по ссылке, в главной программе.

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

Параметры, пересылаемые из дизайнера

Дизайнер направляет приложению построителя четыре параметра по ссылке:

Индекс | Параметр | Тип данных | Описание
1 | ReturnFlags | I | Направляется по ссылке, так, чтобы приложение построителя могло вернуть значение дизайнеру отчетов или этикеток.
2 | EventType | I | Челочисленное значение, отображающее тип наступившего события.
3 | CommandClauses | O | Объект (класса Empty) со свойствами, указывающими, что опции будут использоваться в команде, которую должен выполнить дизайнер.
4 | DesignerSessionId | I | Идентификатор сессии данных, в которой работает дизайнер отчетов.

ReturnFlags

Этот, направляемый по ссылке, параметр имеет значение равное минус единице ( -1) в случае, когда он направляется построителю отчетов; в тоже время дизайнер ожидает получение другой величины этого параметра обратно. Возможные возвращаемые значения состоят из суммы бинарных флажков:

#define constant | Bit number | Bits | Value | Description
FRX_REPBLDR_HANDLE_EVENT | 0 | 01 | 1 | Если установлен, то этот флажок сообщает диазйнеру отчетов, что событие обслужено построителем отчетов и что действие по умолчанию, которое могло бы быть предпринято дизайнером в ответ на событие, должно быть подавлено. В этом смысле флажок идентичен оператору NODEFAULT, используемому в программных кодах методов Visual FoxPro.
FRX_REPBLDR_RELOAD_CHANGES | 1 | 10 | 2 | Если установлен, то этот флажок сообщает дизайнеру отчетов, что построитель произвел изменения в курсоре FRX и что эти изменения должны быть перегружены в дизайнер и отобразиться в раскладке.
Замечание:
Константы #define, приведенные в таблице определены в файле foxpro_reporting.h, расположенном в каталоге FFC\ внутри домашнего каталога Visual FoxPro.

EventType

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

#define constant | Value | Event Description
FRX_BLDR_EVENT_PROPERTIES | 1 | Был вызван диалоговый блок Properties либо вследствие двойного щелчка, либо действием по выбору из меню.
FRX_BLDR_EVENT_OBJECTCREATE | 2 | В раскладке был создан элемент управления.
n/a | 3 | (Зарезервировано для использования в будущем.)
FRX_BLDR_EVENT_OBJECTREMOVE | 4 | Элемент управления был извлечен из раскладки путем удаления или действием вследствие CTRL-X/Cut.
FRX_BLDR_EVENT_OBJECTPASTE | 5 | Элемент управления был вставлен в раскладку путем копирования из буфера.
FRX_BLDR_EVENT_REPORTSAVE | 6 | Раскладка была сохранения на диск.
FRX_BLDR_EVENT_REPORTOPEN | 7 | Раскладка была открыта.
FRX_BLDR_EVENT_REPORTCLOSE | 8 | Раскладка была закрыта.
FRX_BLDR_EVENT_DATAENV | 9 | Было открыто окно Data Environment.
FRX_BLDR_EVENT_PREVIEWMODE | 10 | Был вызван режим предварительного просмотра - print preview.
FRX_BLDR_EVENT_OPTIONALBANDS | 11 | Был вызван диалоговый блок Optional Bands.
FRX_BLDR_EVENT_DATAGROUPING | 12 | Был вызван диалоговый блок Data Grouping.
FRX_BLDR_EVENT_VARIABLES | 13 | Был вызван диалоговый блок Variables.
FRX_BLDR_EVENT_EDITINPLACE | 14 | На выбранном элементе управления Label был нажат CTRL-E.
FRX_BLDR_EVENT_SETGRIDSCALE | 15 | Был вызван диалоговый блок Set grid scale.
FRX_BLDR_EVENT_OBJECTDROP | 16 | Объект(ы) был создан в раскладке путем операции drag-and-drop из окна Data Environment, Database Container или из окна Project.
FRX_BLDR_EVENT_IMPORTDE | 17 | Из меню Report был выбран пункт "Import data environment".
FRX_BLDR_EVENT_PRINT | 18 | Из меню File был выбран пункт "Print" или был выбран пункт "Run Report" из контекстного меню дизайнера.
FRX_BLDR_EVENT_QUICKREPORT | 19 | Из меню Report был выбран пункт "Quick Report".

CommandClauses

Этот параметр представляет собой ссылку на объект инстанции класса Empty с рядом дополнительных свойств, отображающих различные возможные опции команды Visual FoxPro, которая исполняется дизайнером отчетов или этикеток:

Свойство Тип данных Описание

AddTableToDE

L

Указывает, что в диалоговом блоке "Quick Report" был отмечен чек-бокс "Add table to data environment".

Alias

L

Указывает, что в команде CREATE REPORT | LABEL FROM.. было определено ключевое слово ALIAS, или что в диалоговом блоке "Quick Report" был отмечен чек-бокс "Add alias".

FieldList

O

Содержит коллекцию номеров числовых полей, представляющих список полей команды quick report.

File

C

Содержит имя исходного файла (.frx или .lbx), открытого в дизайнере. Фактически такой файл может не существовать, если была использована команда CREATE REPORT.

Form

L

Определяет раскладку "быстрого" отчета:

  • .T. если была указана раскладка FORM.

  • .F. если была указана раскладка COLUMN.

From

C

Содержит имя таблицы, указанной в опции filename команды CREATE REPORT FROM <filename>.

InScreen

L

Показывает, что в команде была использована опция IN SCREEN.

InWindow

C

Определяет имя окна в опцииIN <windowname>, если она была использована в команде.

IsCreate

L

Указывает что вновь создана раскладка:

  • .T. в случае CREATE REPORT | LABEL.

  • .F. в случае MODIFY REPORT | LABEL.

IsReport

L

Определяет тип раскладки, открытой в дизайнере:

  • .T. в случае CREATE | MODIFY REPORT.

  • .F. в случае CREATE | MODIFY LABEL.

IsQuickReportFromMenu

L

Указывает, что из меню "Report" была выбрана опция "Quick Report".

NoEnvironment

L

Указывает, что в команду было включено ключевое слово NOENVIRONMENT.

NoOverwrite

L

Указывает, что в команду было включено ключевое слово NOOVERWRITE.

NoWait

L

Указывает, что в команду было включено ключевое слово NOWAIT.

Protected

L

Указывает, что в команду было включено ключевое слово PROTECTED.

Save

L

Указывает, что в команду было включено ключевое слово SAVE.

Titles

L

Указывает, что в раскладку "быстрого" отчета должны быть добавлены элементы управления "label".

Width

N

Определяет число колонок, указанное в команде quick report.

Window

C

Содержит имя окна, указанное в опции windowname в части команды WINDOW <windowname>.

DesignerSessionId

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

Курсор FRX

При вызове приложения построителя отчета в частной сессии данных будет открыта рабочая копия редактируемого файла отчета с алиасом"FRX". Кроме того:

  • Указатель записи в курсоре FRX будет установлен на запись, которая представляет объект раскладки, на котором произошло событие. В некоторых случаях это может быть заглавная запись самого отчета, представляющая событие относящееся к отчету, а не к объекту в его раскладке.

  • Любые записи в курсоре FRX, представляющие выбранные в данный момент времени объекты раскладки (подсвеченные мышкой и показывающие обрамляющую рамку) будут иметь установленное в .T. значение поля CURPOS.

Замечание:
Запись заголовка отчета (record 1) может также иметь значение поля CURPOS=.T., так как оно используется для хранения значения "Show Position" из опции меню View. Если приложению построителя требуется идентифицировать - сколько объектов выбрано в раскладке, то в таком случае для этих целей должен использоваться код подобный приведенному ниже COUNT FOR CURPOS AND RECNO() > 1.

Смотри также

Задачи

Как: конфигурировать обработку события построителя отчета

Справочная документация

Report Builder Event Handler Registry Table
Диалоговый блок Report Properties (Report Builder)
Диалоговый блок Multiple Selection (Report Builder)
Системная переменная _REPORTBUILDER

Other Resources

Расширение отчетов в Design Time

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Report Builder Event Handler Registry Table

Регистрационная Таблица Обработчика Событий в Построителе Отчетов
См. также
CollapseAll image

По-Умолчанию, в качестве Построителя Отчетов используется приложение: ReportBuilder.App, которое содержит внутреннюю таблицу, в которой закреплены специфические методы обработки событий. В указанной Таблице описаны способы обработки комбинаций Объект-Событие, как событие игнорируется, или перенаправляется соответствующему классу обработки события.

Дополнительную информацию о классах Обработчика событий можно посмотреть в исходных программных текстах приложения reportbuilder.app, которые содержатся в архиве: XSource Folder, который размещен в подкаталоге домашнего каталога Visual FoxPro HOME().

Поскольку указанная Таблица Регистрации является внутренней для приложения, поэтому она не может быть изменена. Приложение ReportBuilder.App имеет механизм получения копии этой Таблицы на диске, которую уже можно корректировать, изменять значения по-умолчанию или добавлять собственные классы обработчиков событий.

Дополнительную информацию смотрите в разделе: Как: Настроить Обработчик Событий в Построителе Отчетов.

А в данном параграфе:

  • Структура Регистрационной Таблицы Обработчика Событий

  • Типы Классов Обработчика Событий

  • Как обрабатывать События в Построителе Отчетов

Expand image Структура Таблицы

Приложение ReportBuilder.App использует внутреннюю Регистрационную Таблицу, с помощью которой определяется требуемый Класс Обработчика, который создается для соответствующих Событий EventType и объектов Отчета report object (которые определяют текущую выборку записей из курсора FRX рассматриваемого отчета, которые описывают либо Контрол Отчета, либо Полосу Отчета, либо Заголовок Отчета и так далее (объект Отчета). Структура Таблицы Регистрации представлена далее:

Имя Поля Тип (размер) Краткое Описание

REC_TYPE

C (1)

Определяет Тип класса Обработчика, описываемый в данной Записи таблицы.

HNDL_CLASS

C (35)

Определяет Имя класса.

Требуемый класс может быть создан с помощью функции NEWOBJECT(), где необходимо указать содержащую его Библиотеку, или использовать команды Visual FoxPro SET CLASSLIB или SET PATH.

HNDL_LIB

C (50)

Определяет имя файла Библиотеки Классов.

Это может быть или визуальная библиотека (.vcx) или программный модуль (.prg) описания классов.

EVENTTYPE

I

Определяет Тип События. Используйте значение = -1 для шаблонов (масок) типа "wild card".

Допустимые типы событий описываются в разделе: Основные понятия о Событиях в Построителе Отчетов.

OBJTYPE,

OBJCODE

I,

I

Определяет тип Контрола Отчета (Объекта Отчета, или Элемента Отчета). Данное поле аналогично полям с именами OBJTYPE и OBJCODE, которые имеются в соответствующих таблицах Отчетов (.frx).

Используйте значение = -1 для соответствия шаблону поиска (включения в результат выборки).

Дополнительную информацию о структуре таблиц файлов Отчетов смотрите в разделе: Структуры Табличных файлов типа (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx) .

NATIVE

L

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

DEBUG

L

Определяет режим "debug handler override" (отмену режима Отладки Обработчика). Для таких записей отчета, комбинации типа События + Объекта отчета, специальный пользовательский интерфейс режима Отладки может быть активирован взамен стандартного режима Отладки, определенного в системной переменной HNDL_CLASS.

FLTR_ORDR

C (1)

Определяет порядок (очередность), с помощью которого выполняется обработка Фильтров обработчика Событий. Применяется только для Записей, у которых: REC_TYPE="F".

NOTES

C (50)

Данное поле не используется в приложении ReportBuilder.App, но информация из этого поля может быть отображена в Браузере при просмотре Таблицы Регистрации Обработчика Событий Построителя Отчета. (Дополнительную информацию смотрите в разделе: Event Handler Registry, диалоговый бокс (Построитель Отчетов.)

Остальные дополнительные поля, существующие в рассматриваемой Таблице игнорируются Построителем Отчетов.

Expand image Типы Классов Обработчика Событий

Классы, определяемые в Таблице Регистрации, могут быть одного из следующих Типов:

Значение | Тип | Краткое Описание
H | Event Handler | Определяет Класс Обработчика для специфической комбинации события построителя + объекта отчета.
F | Filter Handler | Определяет класс обработчика, который будет вызван для каждого События Построителя, и может отменять обработку конкретного события (внутренним обработчиком) построителя Отчетов.
X | Exit Handler | Определяет Класс обработчика, который вызывается после завершения процесса обработки конкретного События Построителя, но до момента передачи управления обратно в Дизайнер Отчета. Обычно выполняет роль завершающего процесса, восстановления восстановления начальных параметров, значений переменных, типа "Clean Up Process".
G | GetExpression Wrapper | Определяет класс, который будет вызван взамен стандартного диалогового бокса GETEXPR, который может быть вызван из другого диалогового бокса Построителя.
E | Run-time Extension Editor | Определяет класс, который будет вызван в тот момент, когда активируется кнопка Edit settings (Изменение Настроек), расположенная в закладке Other из Report Control Properties, диалоговый бокс.
M | Multi-select dialog tab | Определяет класс, который создается на основе базового класса Page Object , который в свою очередь автоматически добавляется в Контейнер Multiple Selection, диалоговый бокс (Построитель Отчетов).

Expand image Программный интерфейс (API) Обработчика Событий

Классы Обработчика Событий могут быть порождены любым базовым классом Visual FoxPro, но должны осуществлять программный интерфейс (API) с указанным Обработчиком Event Handler API. Упомянутый программный интерфейс Event Handler API имеет следующие признаки:

  • Должен содержать Метод м именем "Execute", который должен принимать один параметр - ссылку на Объект (которым является передаваемый в класс объект обработки).

В том случае, если указанный выше метод обработки Объекта Execute( oEvent )не определен в вашем Классе, Обработчик Событий должен устанавливать соответствующие Флаги возвращаемых значений, как приводится в примере, фрагменте программного Кода:

CopyCode image Копировать Код
DEFINE CLASS MyHandler AS Custom
 PROCEDURE Execute( oEvent )
 * You can alter oEvent.returnFlags to suit
 oEvent.SetHandledByBuilder(.T. | .F. )
 oEvent.SetReloadChanges( .T. | .F. )
 ENDPROC
ENDDEFINE

Рассматриваемый Метод получает ссылку на Объект, в котором произошло Событие, требующее обработки. Обработчик установить требуемое значение Флага в возвращаемую переменную ReturnFlags и определить необходимое действие, которое должен выполнить Дизайнер Отчетов для рассматриваемого Объекта после того, как управление будет возвращено из рассматриваемого Класса.

Обработчик Событий:

  • Определяет значение для поля REC_TYPE = "H".

  • Определяет общий принцип обработки для конкретной комбинации данного типа события + типа объекта отчета.

Дополнительную информацию по использованию необходимых Свойств и выполнения Метода Execute() смотрите в разделе: Класс Событий Построителя Отчетов.

Expand image Программный интерфейс (API) Фильтра Обработчика

Класс Фильтра может быть порожден одним из базовых классов Visual FoxPro и обязан осуществлять соответствующий программный интерфейс Event Handler API (смотрите выше), дополнительно, в этом классе Фильтра, должно быть создано свойство с именем allowToContinue:

CopyCode image Копировать Код
DEFINE CLASS MyFilter AS Custom
 allowToContinue = .T.
 PROCEDURE Execute( oEvent )
 * decide whether or not to process the event
 THIS.allowToContinue = .T.
 * You can optionally alter oEvent.returnFlags to suit
 oEvent.SetHandledByBuilder(.T. | .F. )
 oEvent.SetReloadChanges( .T. | .F. )
 ENDPROC
ENDDEFINE

Класс Фильтра Обработчика Событий:

  • Определяет значение поля в Таблице Регистрации REC_TYPE = "F".

  • Обрабатывает каждое событие Построителя Отчетов.

  • Осуществляет обработку потока событий согласно приоритетам, заданным в поле FLTR_ORDR.

  • Может прервать дальнейшую обработку поступаемых Событий, для этого устанавливается значение Свойства AllowToContinue = False (.F.)

  • Может выполнить предварительную обработку исходного курсора FRX до начала обработку поступившего События в рассматриваемый класс обработчика Событий.

Expand image Обработчики Завершения (Exit Handlers)

Класс Обработчика Завершения (Exit Handler class) должен поддерживать программный интерфейс: API-интерфейс Обработчика Событий.

Класс Обработчика типа Exit:

  • Определяет значение поля REC_TYPE = "X".

  • В основном используется для выполнения специального программного Кода в момент завершения обработки События (clean-up time).

  • Данный класс выполняется только в том случае, когда выполнены (обработаны) все текущие События с помощью Обработчика Event Handler. Если класс Фильтра обработчика прерывает выполнение текущего цикла обработки, то рассматриваемый класс Завершения (Exit) не будет выполнен.

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

Expand image Оболочка GetExpression (API)

Вы можете заменить стандартно установленный диалоговый бокс определения требуемого Выражения GETEXPR,для этого требуется определить соответствующий объект в Таблице Регистрации, для записи которого устанавливается значение поля REC_TYPE="G". Создаваемый Класс обработчика должен содержать "замещающий" Метод с именем GetExpression(). К примеру, как показано в следующем фрагменте программного Кода:

CopyCode image Копировать Код
DEFINE CLASS MyGetExpr AS Custom
 PROCEDURE GetExpression( cDefExpr, cDataType, cCalledFrom, oEvent )
 LOCAL cExpression
 GETEXPR TO cExpression DEFAULT cDefExpr
 RETURN cExpression
 ENDPROC
ENDDEFINE

Только один "замещающий" Класс для перехвата стандартного класса обработки требуемого выражения GetExpressionWrapper может быть определен в вашей Таблице Регистрации. Если будет создано несколько записей со значением поля REC_TYPE="G," то только первая найденная Запись будет использоваться как описание "замещающего" класса обработки События Построителя Отчетов.

Описание параметра cCalledFrom

Построитель Отчетов направляет в стандартный обработчик GetExpressionWrapper параметр, описывающий тип создаваемого Выражения , которое необходимо изменить или подтвердить. Допустимы следующие варианты типов Выражения:

  • "PrintWhenExpression" - условие печати элемента Отчета;

  • "FieldExpression" - выражение для Контрола Отчета;

  • "OleBoundField" - Поле внешнего объекта OLE;

  • "OleBoundExpression" - Выражение типа OLE;

  • "BandGroupOnExpression" - Выражение для группы Полос Отчета;

  • "VariableValueToStore" - Значение для переменной Отчета;

  • "VariableInitialValue" - Значение для начального значения Переменной Отчета.

Expand image Программный интерфейс (API) Редактора Данных расширенных функций выполнения Отчета

Вы можете заменить стандартный Диалоговый бокс, который активируется при нажатии кнопки Edit settings (Изменение установок), которая размещена в группе командных кнопок Run-time extensions (Расширения Режима выполнения Отчета) , расположенной в закладке Other Построителя Отчетов; в этом случае создается соответствующая запись в Таблице Регистрации со значением поля REC_TYPE = "E". Создаваемый класс должен поддерживать требования, описанные в разделе: Event Handler API. Если создаваемый класс представляет собой Форму, то последняя должна быть модальной (MODAL window).

Рассматриваемый "замещающий" класс должен содержать Метод с именем Execute(), который выполняет следующие операции:

  • Читает метаданные в формате XML из соответствующего поля STYLE.

  • Обеспечивает необходимый интерфейс для пользователя по редактированию указанных метаданных.

  • Сохраняет измененные метаданные в формате XML в указанном поле STYLE.

  • В отличие от рассмотренных выше Классов Обработчика Событий, данный метод не может устанавливать соответствующие значения Флагов возвращаемых значений (ReturnFlags).

Только один "замещающий" класс с типом "Е" может быть создан в Таблице Регистрации для стандартного класса RuntimeExtensionEditor. Если вы создаете несколько классов Редактора с типом = "E", то будет обработана только первая найденная запись указанной Таблицы.

Expand image Создание новой Закладки в диалоговый бокс Multiple-selection (Множественного выбора)

Вы можете добавить новую Закладку в Контейнер Multiple Selection, диалоговый бокс (Построитель Отчетов), для этого существует возможность создания нового класса в Таблице Регистрации Обработчика Событий, для записей которых устанавливается признак REC_TYPE  = "M".

Указанный класс должен порождаться базовым классом Page Object. Если указанный класс будет содержать внутренние объекты типа Container Object, тогда должны быть созданы соответствующие Методы с именами .LoadFromFrx() и .SaveToFrx(), которые могут быть вызваны из различных мест рассматриваемого Диалогового Бокса множественного выбора; например, как описывается в следующем фрагменте программного Кода:

CopyCode image Копировать Код
DEFINE CLASS pagAlign AS page
 Caption = "Alignment"
 Name = "pagAlign"
 ADD OBJECT Panel1 AS panelAlign
ENDDEFINE

DEFINE CLASS panelAlign as Container
 BorderWidth = 0
 Width = 300
 Height = 300
 Event = null
 frxCursor = null

 ADD OBJECT Check1 AS Checkbox WITH ;
 Caption = "Align to leftmost object", ;
 Top = 100, Left = 50, Width = 150, Value=.F.

 PROCEDURE LoadFromFrx()
 * No initialization required
 RETURN .T.
 ENDPROC

 PROCEDURE SaveToFrx()
 IF THIS.Check1.Value
 LOCAL curSel
 curSel = SELECT()
 SELECT MIN(hpos) AS hpos FROM frx ;
 WHERE curpos AND objcode<>53 ;
 INTO CURSOR query
 newHpos = query.hpos
 USE IN query
 SELECT frx
 SCAN FOR curpos AND RECNO()>1
 REPLACE hpos WITH m.newHpos
 ENDSCAN
 SELECT (m.curSel)
 ENDIF
 RETURN .T.
 ENDPROC
ENDDEFINE

В представленном Примере, создается дополнительная Закладка в Диалоговом боксе множественного выбора, в которой размещается один управляющий Контрол-переключатель (CheckBox) который, если он является отмеченным, выполняет горизонтальное размещение всех выделенных (выбранных) объектов текущего Отчета относительно самого левого объекта из выделенных (другими словами - стандартное выравнивание по левому краю).

Рассматриваемый контейнерный объект должен обеспечивать следующие программные компоненты для удовлетворения полного программного интерфейса:

  • Метод LoadFromFrx()вызывается в процессе инициализации рассматриваемой Формы (диалогового бокса), поэтому является удобным местом для размещения программного Кода определения начальных значений переменных или других необходимых действий.

  • Метод SaveToFrx() вызывается в момент нажатия пользователем кнопки OK (при закрытии рассматриваемого диалогового бокса). Выполните возврат значения, = FALSE, если вам требуется не закрывать данный диалоговый бокс.

  • Если определено, то Свойство с именем Event может содержать ссылку на соответствующий Объект построителя Отчетов, событие которого требует обработки. (Дополнительную информацию смотрите в разделе: Класс Событий Построителя Отчетов.)

  • Если определено, Свойство с именем frxCursor может содержать соответствующую ссылку на объект frxCursor (для удобства дополнительной обработки событий данного объекта). (Дополнительную информацию смотрите в разделе: FRX Cursor, фундаментальный класс.)

В том случае, когда вы создаете несколько записей в Таблице Регистрации с указанным выше признаком дополнительной Закладки (REC_TYPE="M"), то для каждого созданного класса, загруженного в рассматриваемый Диалоговый бокс, создается отдельная независимая Закладка в общем контейнере.

Expand image Как обрабатывать События Построителя Отчетов

Когда Построитель Отчета запущен, дизайнер отчета передает идентификатор (ID) типа события вместе с копией соответствующего файла FRX, открытого в приватной сессии данных. Объект отчета, к которому относится рассматриваемое Событие, обычно идентифицируется указателем Записи в соответствующем курсоре FRX. Сначала построитель отчета запрашивает значения полей OBJTYPE и OBJCODE из выбранной записи, а после этого (с помощью соответствующей ссылки) обращается в Таблицу регистрации Обработчика.

1. Все фильтры Обработчика выполнены.

Построитель выбирает все записи из таблицы регистрации, для которых установлено значение поля REC_TYPE="F", сортирует выбранные записи по полю FLTR_ORDR, и выполняет каждый класс Фильтра с помощью метода Execute().

Если значение свойства allowToContinue устанавливается как = true (.T.), то обрабатывается следующий фильтр обработчика событий Отчета.

Если значение свойства allowToContinue устанавливается как = false (.F.), то дальше обработка не выполняется - приложение ReportBuilder.App устанавливает бит 0 в значении параметра ReturnFlags для указания Построителю, что данное событие успешно обработано.

Важно:

  • Значение, заданное в поле FLTR_ORDR определяет важность обработки рассматриваемого Фильтра (так как по нему выполняется сортировка); с помощью данного поля выполняется порядок обработки событий в классе Обработчика.

  • Каждый Обработчик Фильтров получает возможность устанавливать флаги в возвращаемые значения, но эти значения будут обрабатываться только в том случае, когда устанавливается allowToContinue = false (.F.), поэтому обработка событий продолжается; однако каждый из обработчиков (Event Handler) может обработать рассматриваемые флаги или изменить последовательность обработки событий.

2. Соответствующий класс Обработчика Событий Создан.

Далее Построитель Отчета выполняет поиск соответствующего класса Обработчика Событий, который должен обработать это событие.

В Регистрационной Таблице допускаются шаблонные символы ("wild card"), так чтобы не каждая уникальная комбинация События Построителя + Объект Отчета размещались в одной записи таблицы. Построитель выполняет выборки требуемых записей только среди неудаленных записей (не помеченных для удаления).

Построитель последовательно выполняет поиск требуемых записей по заданному шаблону (маске) и пока выполняются следующие условия:

Последовательность | REC_TYPE | EVENTTYPE | OBJTYPE | OBJCODE
1 | "H" | (Exact) | (Exact) | (Exact)
2 | "H" | (Exact) | (Exact) | -1
3 | "H" | (Exact) | -1 | -1
4 | "H" | -1 | -1 | -1

Если никакой требуемой записи не найдено, то обработчик событий игнорирует текущее рассматриваемое событие (оба бита параметра ReturnFlags будут очищены) и управление возвращается в Дизайнер, как в стандартном построителе Visual FoxPro.

Если соответствие найдено, то требуемый класс создается и требуемый метод выполняется как Execute().

3. Все процедуры Завершения Обработчика выполнены.

Как только соответствующий обработчик событий (завершения) выполнен, построитель отчетов устанавливает всем выбранным записям значение поля REC_TYPE="X", сортирует эти записи по полю FLTR_ORDR, и обрабатывает каждый Класс с помощью соответствующего метода Execute().

Относительно объектов Множественного Выбора:

По-умолчанию, регистрационная Таблица обработчика событий содержит регистрационную запись типа MultiSelectHandler, для которой установлено свойство OBJTYPE = 99. Дополнительную информацию и пример об обработчике множественного выбора смотрите в разделе: Multiple Selection, диалоговый бокс (Построитель Отчетов).

Построитель Отчетов определяет момент выделения нескольких объектов (контролов) среди общего множества объектов Отчета и обрабатывает выделенное подмножество с уникальным идентификатором OBJTYPE:

CopyCode image Копировать Код
COUNT FOR curpos AND RECNO() > 1 TO oEvent.SelectedObjectCount
IF oEvent.SelectedObjectCount > 1
 oEvent.OBJTYPE = 99
 oEvent.OBJCODE = 0
ELSE
 oEvent.OBJTYPE = frx.OBJTYPE
 oEvent.OBJCODE = frx.OBJCODE
ENDIF

Таким образом, заданный Класс обработчика Событий зарегистрирован как обработчик Множественного Выбора.

Expand image См. также

Задачи

Как: Добавить ваш личный Обработчик в Таблицу регистрации Построителя Отчетов
Как: Настроить Обработчик Событий в Построителе Отчетов

Описание

Event Handler Registry, диалоговый бокс (Построитель Отчетов)
Report Band Properties, диалоговый бокс (Построитель Отчетов)
Report Control Properties, диалоговый бокс (Построитель Отчетов)

Концепции

Основные понятия Событий в Построителе Отчетов

Другие ссылки

Расширение возможностей Отчетов в режимах Design Time

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


The Report Builder Event Class

Visual FoxPro 9.0
Класс события построителя отчета (The Report Builder Event Class)
Смотри также

Encapsulates attributes of the report builder event in the reportbuilder.app framework. Also exposes some useful framework methods.

If you decide to create your own handler classes, your code will need to interact with the oEvent parameter object that the builder framework passes to the filter and handler class methods.

oEvent.PropertyName [= eValue]
oEvent.Method( ... )

Свойства

Имя свойства | Тип | eValue - опиание
BuilderPath | C | Содержить путь к приложению reportbuilder.app, с замыкаюшим backslash (/).
CommandClauses | O | Содержит ссылку на третий параметр, посылаемый построителю отчета. Смотри статью Понимание событий построителя отчета для получения подробной информации о третьем параметре, посылаемом построителю.
DefaultRecno | I | Определяет начальную позицию указателя записи в курсоре FRX.
DefaultSessionId | I | Содержит идентификатор сессии данных (Data Session Id) Дизайнера Отчета (Report Designer), представляющим собой четвертый параметр, пересылаемый построителю из дизайнера отчета.
EventType | I | Тип события. Содержит второй параметр, пересылаемый построителю из дизайнера отчета.
FrxCursor | O | Инстанция фундаментального класса курсора FRX FRX Cursor Foundation Class, содержащего некоторые полезные функции для взаимодействия с курсором FRX.
FrxSessionId | I | Сессия данных построителя отчета, в которой открыт курсор FRX.
ObjCode | I | Значение, содержащееся в поле frx.OBJCODE для записи, выбранной изначально в курсоре FRX.
ObjType | I | Значение, содержащееся в поле frx.OBJTYPE для записи, выбранной изначально в курсоре FRX.
Protected | L | Указывает, был ли дизайнер отчета (Report Designer) запущен с ключевым словом PROTECTED. (Та же самая величина, как и CommandClauses.Protected.)
ReturnFlags | I | Значение этого свойства будет возвращено Дизайнеру отчета в первом параметре, посылаемом им же построителю. Изначально установлено в 0 (нет перехвата событий, нет изменений). Используйте .setHandledByBuilder(.T.) и .setReloadChanges(.T.) для соответствующего конфигурирования возвращаемого флажка.
SelectedObjectCount | I | Определяет количество выбранных объектов в раскладке отчета, определенное подсчетом CURPOS=.T. в курсоре FRX (без учета заголовочной записи).
SessionData | O | Ссылка на управляющий объект (пара "имя-значение") для хранения данных между вызовами построителя отчета
UniqueId | C | Содержит значение поля UNIQUEID для записи, выбранной изначально в курсоре FRX..

Методы

Метод | Описание
GetEventTypeText( [ iEvent ] ) | Возвращает символьную строку, содержащую имя данного типа события.
GetTargetTypeText( [ iObjType, iObjCode ] ) | Возвращает символьную строку, содержащую имя данного объекта отчета.
GetExpression( cDefExpr, cDataType, cCalledFrom ) | Отображает диалоговый блок GETEXPR и возвращает строку, содержащую конечное выражение, сформированное в этом диалоге. Гарантирует, что диалоговый блок отображается в сессии данных Дизайнера отчета.
Handle( [ iObjType, iObjCode ] ) | Ищет класс обработчика, создает его инстанцию и вызывает метод Execute().
GetExtensionEditor() | Ищет класс Extension Editor в таблице регистрации обработчиков, создает его инстанцию и возвращает ссылку на этот объект. Для получения подробной информации смотри Таблица регистрации обработчиков событий построителя отчетов (Report Builder Event Handler Registry Table).
ToString() | Возвращает "dump"- символьную строку, содержащую значения всех свойств объекта, пригодную для использования в вызове функции MESSAGEBOXl.
SetHandledByBuilder( .T. | .F. ) | Устанавливает бит "Event handled By" в свойстве ReturnFlags для подавления (или разрешения ) поведения Дизайнера отчета по умолчанию.
SetReloadChanges( .T. | .F. ) | Устанавливает бит "Reload FRX changes" в свойстве ReturnFlag, так чтобы изменения, произвденные в курсоре FRX были отображены (или не отображены) в раскладке отчета.
Замечание:
Если ваш собственный класс делает какие-либо изменения в курсоре FRX, которые должны быть отражены в раскладке, он должен вызывать метод .SetReloadChanges(.T.).

Смотри также

Справочное руководство

Таблица регистрации обработчиков событий построителя отчетов (Report Builder Event Handler Registry Table)

Концепции

Понимание событий построителя отчета

Прочие ресурсы

Расширение отчета в среде разработки

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


How to: Display the Report Builder Options Dialog Box

Visual FoxPro 9.0
Как: отобразить диалоговый блок "Report Builder Options"
Смотри также

Приложение построителя отчета, reportbuilder.app, предоставляет диалоговый блок опций "Options", где могут быть настроены различные конфигурационные установки.

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

Совет:
Вы можете удалить возможность доступа к этому диалоговому окну опций для конечных пользователей отчетов, путем выпуска в вашем приложегии команды MODIFY REPORT | LABEL с ключевым словом PROTECTED.

Для того, чтобы открыть диалоговый блок построителя "Options" из дизайнеров отчета или этикетки

  1. Щелчком по правой клавише мыши на заднике раскладки отчета вызовите контекстное меню и выберите там пункт Properties….

    - Или -

    Откройте диалоговый блок Properties любого элемента раскладки отчета или области отчета.

  2. Щелкните по правой клавише мыши на поверхности диалогового блока, для отображения его контекстного меню.

  3. Выберите Options…

    Покажется диалоговый блок "Options".

Для того, чтобы открыть диалоговый блок " Options" построителя отчетов из командного окна выполните команду:

  1. DO (_REPORTBUILDER)

Смотри также

Справочное руководство

Диалоговый блок опций - "Options" построителя отчета (Report Builder)

Прочие ресурсы

Расширения отчетов в Design Time

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


How to: Configure the Report Builder's Event Handling

Visual FoxPro 9.0
Как: сконфигурировать обработку событий построителя отчета
Смотрите также

Построитель отчета может быть настроен для реакции на события в дизайнере отчета несколькими различными путями. Он может:

  • использовать справочную таблицу разметки событий дизайнера отчета к определенным классам обработчиков. Это является режимом по умолчанию.

  • использовать класс обработчика "debug" для всех событий дизайнера.

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

  • полностью игнорировать события.

Эти установки определяются в диалоговом блоке Options построителя отчета или с помощью использования параметров командной строки построителя отчета.

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

Установка режима обработки событий с использование диалогового блока Options

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

Для использования справочной таблицы обработчика событий (по умолчанию)

  1. Откройте диалоговый блок Options построителя отчета.

  2. Установите опцию Report Designer event handling в Search for a handler class in the handler registry table.

  3. Выберите Close для удаления диалогового блока с экрана.

Для получения подробной информации смотрите статью Как: указать альтернативную та блицу обработчика событий.

Для использования класса обработчика событий Debug Event handler class

  1. Откройте диалоговый блок Options построителя отчета.

  2. Установите опцию Report Designer event handling в Use the debug handler for all events.

  3. Выберите Close для удаления диалогового блока с экрана.

Для получения подробной информации смотрите статью Диалоговый блок Report Builder Debug Event.

Для отображения каждого события через MESSAGEBOX()

  1. Откройте диалоговый блок Options построителя отчета.

  2. Установите опцию Report Designer event handling в Use the event inspector for all events.

  3. Выберите Close для удаления диалогового блока с экрана.

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

Для игнорирования всех событий построителя отчета

  1. Откройте диалоговый блок Options построителя отчета.

  2. Установите опцию Report Designer event handling в Ignore builder events completely.

  3. Выберите Close для удаления диалогового блока с экрана.

Диазйнеры отчета и этикетки будут реагировать на события обычным образом, как будто бы свойство _REPORTBUILDER было бы пустым. Для получения подробной информации смотрите статью _REPORTBUILDER системная переменная.

Установка режима обработки событий с использованием командной строки

Построитель отчета способен установить эти свойства через параметры командной строки:

Для установки режима обработки событий из командного окна (Command Window)

  1. Напечатайте следующую команду:

    DO (_REPORTBUILDER) WITH 4, iHandleMode

    - или -

    DO (HOME()+"reportbuilder.app") WITH 4, iHandleMode

Значение iHandleMode должно быть целочисленным и лежать в диапазоне от 1 до 4, представляя собой четыре возможных режима обработки событий, описанных выше.

Смотрите также

Справочное руководство

Диалоговый блок Options построителя отчетв (Report Builder)
Регистрационная таблица обработчика событий построителя отчета (Report Builder)

Прочие ресурсы

Расширения отчетов в Design Time

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


How to: Specify an Alternate Report Event Handler Table

Visual FoxPro 9.0
Как: Установить альтернативную таблицу Report Event Handler Table
Смотри также

Reportbuilder.app содержит внутренюю справочную таблицу, которая определяет - будут-ли определенные комбинации событий report object / builder игнорированы или перенаправлены указанном классам для обработки.

Смотри Таблицу регистрации обработчика события отчета (Report Builder Event Handler Registry Table) для получения подробной информации о требуемой структуре справочной таблицы.

Reportbuilder.app имеет механизм, который позволяет вам определить альтернативные справочные таблицы обработчика событий, с помощью которой вы смогли бы полностью настроить для себя процесс, отвечающий за то, как построитель отчетов будет отвечать на события в дизайнере отчетов и этикеток.

Важное замечание
В отличие от установок в Visual FoxPro Options Dialog Box (Visual FoxPro), эта выбранная установка не сохраняется между рабочими сессиями Visual FoxPro.

Установка таблицы Event Registry Table с помощью Options Dialog

Диалоговое окно Report Builder Options Dialog Box (Report Builder) предоставляет вам возможность указать, какая справочная таблица обработчика события будет использована построителем.

Текстовый блок "Current registry table" отображает имя файла справочной таблицы, которую использует построитель отчета. Если построитель отчета использует встроенную в приложение таблицу, то в указанном блоке будет отображаться сообщение "internal lookup table."

Для указания альтернативной справочной таблицы

  1. Откройте диалоговое окно Report Builder Options. Смотри Как: Показать диалоговое окно Report Builder Options Dialog Box для получения описания подробных шагов, необходимых для вывода диалогового окна.

  2. Выберите Use alternate lookup table.

  3. Щелкните по кнопке (…) для вывода даилогового окна File Open.

  4. Выберите требуемую таблицу и щелкните по кнопке OK.

  5. Выберите Close для закрытия диаогового окна опций.

Для восстановления использования внутренней справочной таблицы

  1. Откройте диалоговое окно Report Builder Options. Смотри Как: Показать диалоговое окно Report Builder Options Dialog Box для получения описания подробных шагов, необходимых для вывода диалогового окна.

  2. Выберите Use internal lookup table.

  3. Щелкните по Close для закрытия диалогового окна опций.

Установка таблицы Event Registry Table с помощью параметров командной строки

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

Для выбора альтернативной справочной таблицы

  1. Откройте командное окно Visual FoxPro.

  2. Напечатайте и исполните одну из следующих комманд:

    • DO (HOME() + "reportbuilder.app") WITH 3, cFilename

    • * или:

    • DO (_REPORTBUILDER) WITH 3, cFilename

Параметр cFilename должен содержать полный путь к файлу (.dbf) таблицы, которая содержит требуемые поля. Для получения подробной информации о требуемой структуре таблицы обратитесь к статье Report Builder Event Handler Registry Table .

Вы можете использовать звездочку (asterisk) для принуждения построителя отчетов использовать его внутреннюю справочную таблицу:

для этого

  1. Откройте командное окно Visual FoxPro.

  2. Напечайте и исполните одну из следующих команд:

    • DO (HOME() + "reportbuilder.app") WITH 3, "*"

    • * или:

    • DO (_REPORTBUILDER) WITH 3, "*"

Если вы направите построителю отчетов пустую строку, то он вернется к своему поведению по умолчанию, в котром ищется таблица, именованная "reportbuilder.dbf" в пути, определяемом текущей установкой PATH, и будет использовать ее, если она имеется. В противном случае будет использована внутренняя таблица построителя.

Для восстановления поведения по умолчанию

  1. Откройте командное окно Visual FoxPro.

  2. Напечайте и исполните одну из следующих команд:

    • DO (HOME() + "reportbuilder.app") WITH 3, ""

    • * или:

    • DO (_REPORTBUILDER) WITH 3, ""

Смотри также

Задачи

Как: конфигурировать обработку события построителя отчетов - Report Builder

Справочная документация

Report Builder Options Dialog Box (Report Builder)

Другие ресурсы

Расширение возможностей отчетов в Design Time

Перешлите комментарии об указанной статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


How to: Add Your Own Handler to the Report Builder's Registry

Visual FoxPro 9.0
Как: добавить свой собственный обработчик в Report Builder's Registry
Смотри также

Построительно отчета (Report Builder) использует внутреннюю поисковую таблицу для сопоставления типов событий в дизайнерах отчетов и этикеток специфическим классам обработчика событий. Поскольку эта таблица встроена в приложение reportbuilder.app, она маркирована как "только для чтения" и вследствие этого не может быть модифицирована.

По-умолчанию, построитель отчета будет использовать внутреннюю таблицу, файл которой имеет имя reportbuilder.dbf и занесен в предустановки как внутренняя таблица обработчика при условии если она отвечает следующим требованиям:

  • Она расположена в каталоге, определенным установкой Visual FoxPro SET PATH

  • Она расположена в той же папке, что и приложение reportbuilder.app.

У построителя отчета имеется механизм для создания внутренней копии поисковой таблицы, доступной из через диалоговый блок Options.

Если файл существует на диске, вы можете сделать изменения в таблице, либо путем просмотра в окне Browse в каталоге Visual FoxPro, либо путем использования Report Builder's Handler Registry Table Explorer.

В этой статье вы изучите как:

  • копировать поисковую таблицу, маркированную как "только для чтения", так чтобы вы могли внести изменения;.

  • исследовать поисковую таблицу событий построителя отчета;.

  • Добавлять и конфигурировать свой собственный класс обработчика события в поисковую таблицу;.

Смотри статью Report Builder Event Handler Registry Table для получения подробной информации по поисковой таблице.

Создание редактируемой копии внутренней поисковой таблицы

Для того, чтобы скопировать внутреннюю поисковую таблицу на диск, используя диалоговый блок опций

  1. Откройте построитель отчета диалоговый блок (Report Builder) Options. Для получения подробной информации смотри статью Как: вызвать диалоговый блок Options построителя отчета.

  2. Щелкните на Create copy… для того, чтобы открыть диалоговый блок Save as.

  3. Измените имя файла и его местонахождение, если вы этого желаете и щелкните на Save для создания копии.

  4. Щелкните на Close для закрытия диалового блока Options.

По-умолчанию местонахождение для файла в диалоговом блоке Save as будет каталог, в котором расположено приложение reportbuilder.app, а в качестве имени файла по-умолчанию будет предложен reportbuilder.dbf. Это будет таблица, которую построитель отчетов будет использована в качестве предпочтительной для внутреннего использования.

Совет:
После создания и редактирования вашей поисковой таблицы событий, вы можете добавить ее в ваши приложения и дать ей другое имя. Для указания этой таблицы построителю отчетов с целью использования ее в ваших приложениях, вы вызываете приложение reportbuilder.app в специальном конфигурационном режиме в момент исполнения задач установки вашего приложения. Для получения подробной информации по этому вопросу, смотри Как: указать альтернативную таблицу событий отчета.

Для копирования внутренней поисковой таблицы на диск с использованием параметров командной строки:

  1. Откройте командное окно VFP.

  2. Напечатайте одну из следующих команд:

    • DO (HOME() + "reportbuilder.app") WITH 5, cFilename

    • * или:

    • DO (_REPORTBUILDER) WITH 5

Параметр cFilename должен содержать полный путь к файлу таблицы (.dbf). Если файл существует, он будет переписан. Если вы опустите параметр cFilename, будет вызван диалоговый блоке Save As.

Просмотр таблицы Event Handler Registry

Для исследования поисковой таблицы с использование браузера Builder's Event Handler Registry:

  1. откройте диалоговый блок Options построителя отчетов. Для получения подробной информации по этому вопросу смотри Как: вызвать диалоговый блок Options построителя отчета.

  2. Щелкните на Explore registry… для того, чтобы открыть диалоговый блок Event Handler Registry.

Для получения подробной информации по установке содержания поисковой таблицы смотри Диалоговый блок Event Handler Registry (Report Builder).

Добавление собственного класса обработчика в таблицу Event Handler Registry

В этом примере вы создадите класс, который обрабатывает событие, которое наступает при нажатия клавишного сцепления CTRL-E на элементе управления класса "label в отчете.

Ддя создания обработчика CTRL-E редактирования метки (элемент управления класса label)

  1. Создайте или отредактируйте программную библиотеку класса:

    MODIFY COMMAND c:\temp\mylibrary.prg

  2. Создайте ваш класс обработчика с помощью следующего программного кода, затем сохраните сделанные изменения:
Copy Code
DEFINE CLASS MyLabelEditor AS Custom
    PROCEDURE Execute( oEvent )
        LOCAL cCaption
        cCaption = INPUTBOX("Label caption:",;
                        "Label Properties", TRIM(frx.expr))
        IF NOT EMPTY( m.cCaption )
            REPLACE frx.expr WITH m.cCaption
            oEvent.SetHandledByBuilder(.T.)
            oEvent.SetReloadChanges(.T.)
        ENDIF
    ENDPROC
ENDDEFINE

Для регистрации вашего обработчика для события Ctrl-E построителя

  1. откройте диалоговый блок Options построителя отчетов. Для получения подробной информации по этому вопросу смотри Как: вызвать диалоговый блок Options построителя отчета.

  2. Если текстовый блок "Current registry table" содержит "Internal lookup table," выполните шаги описанные выше для копирования поисковой таблицы так, чтобы вы могли внести изменения.

  3. Щелкните на Explore registry… для открытия диалогового блока Event Handler Registry.

  4. Найдите запись с параметрами Type="H", Event=14, ObjType=5, ObjCode=0.

  5. Если такая запись не существует в таблице, добавьте в таблицу новую запись, щелкнув на Add Record.

  6. Установите значения полей так, как это показано в таблице приведенной ниже.

  7. Щелкните на Close для закрытия диалогового блока Event Handler Registry.

  8. Щелкните на Close для закрытия диалогового блока Report Builder Options.

Type | H
Class | MyLabelEditor
Library | c:\temp\mylibrary.prg
Description | Sample Ctrl-E on Label handler
Event | 14
ObjType | 5
ObjCode | 0
Native | False
Debug | False

Для тестирования изменений вашего обработчика события

  1. Откройте раскладку отчета или этикетки в дизайнере.

  2. Выберите элемент управления "метка" (label)

  3. Нажмите CTRL-E.

    Вы должны увидеть диалоговое окно INPUTBOX(), которое вызывает ваш класс, установленный для обработки этого события.

Смотр также

Задачи

Как: скогфигурировать обработку события построителя отчета
Как: указать альтернативную таблицу обработки события отчета

Справочная документация

Диалоговый блок Event Handler Registry (Report Builder)
Диалоговый блок Report Builder Options (Report Builder)
Таблица Report Builder Event Handler Registry

Концепции

Понимание событий построителя отчета (Report Builder)

Другие ресурсы

Расширение возможностей отчетов в среде разработки (Extending Reports at Design Time)

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


How to: Replace the Report Builder's Expression Builder Dialog Box

Как: Заменить в Построителе Отчетов диалоговый бокс Построителя Выражений
См. также Пример

Архитектура Построителя Отчетов определена таким образом, что у вас имеется возможность подсоединить свои собственные пользовательские Классы, которые выполняют требуемые вам операции, отличающиеся от стандартных. Например, пользовательский вариант обработчика некоторых Событий Построителя Отчетов. Дополнительно, в Построителе Отчетов вы можете заменить вызов стандартного построителя выражений (Expression Builder), для этого необходимо зарегистрировать ваш обработчик указанного события в соответствующей Таблице Регистрации Построителя Отчетов.

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

Note Обратите Внимание

Если вы до настоящего момента не выполняли операций по Редактированию системной Таблицы Регистрации Построителя Отчетов, то рекомендуем вам сделать резервную Копию данной таблицы, как это описывается в следующем параграфе: Как: Добавить собственный Контроллер в Реестр Построителя Отчетов.
Note Примечание

Рассматриваемый материал данного параграфа предполагает, что системная переменная _REPORTBUILDERустановлена в стандартный Построитель Отчетов. Если эта переменная имеет пустое значение или указывает на построитель другого Разработчика ПО, то описываемые ниже процедуры могут либо не выполняться либо выполняться некорректно. Смотрите дополнительно раздел: _REPORTBUILDER, системная переменная.

Для построения класса-оболочки GetExpression:

  1. Создайте или отредактируйте класс библиотеки, в виде программного Кода:

    MODIFY COMMAND c:\temp\mylibrary.prg

  2. Определите требуемый Класс-Оболочку GetExpression, который осуществляет программный интерфейс с вашим Приложением (API), как рекомендуется в параграфе: Регистрационная Таблица Контроллера Событий в Построителе Отчетов. Для построения указанного Класса вы можете использовать приводимый ниже Образец некоторого Шаблона класса-оболочки. В данном примере обычный текст Этикетки заменяется простейшим боксом Ввода Данных.

  3. Сохраните выполненные изменения.

CopyCode image Копировать Код
DEFINE CLASS MyGetExpressionWrapper AS Custom
 PROCEDURE GetExpression( cDefaultExpr, cDataType, ;
 cCalledFrom, oEvent )
 LOCAL cNewValue
 * Switch to the designer datasession, where tables
 * may be open:
 SET DATASESSION TO (oEvent.DefaultSessionID)
 DO CASE
 CASE m.cCalledFrom = "LabelCaption"
 * Specify special handling for label captions:
 cNewValue = INPUTBOX("Enter the label caption")
 OTHERWISE
 * All other expression builders will use the default:
 GETEXPR "Enter the label caption" TO cNewValue ;
 TYPE cDataType DEFAULT cDefaultExpr
 ENDCASE
 * Restore to the private builder datasession:
 SET DATASESSION TO (oEvent.FrxSessionID)
 RETURN cNewValue
 ENDPROC
ENDDEFINE

Для регистрации вашего Класса-Оболочки в Таблице Построителя Отчетов:

  1. Откройте диалоговый бокс Options (Параметры) Построителя Отчетов:

    DO (_REPORTBUILDER)

  2. Нажмите кнопку Explore Registry (Проводник Реестра).

  3. Переместитесь на Запись в Таблице, которая имеет характеристику: Type = "G".

  4. Измените данную запись следующим образом: Class = "MyGetExpressionWrapper",  а имя Библиотеки: Library= "c:\temp\mylibrary.prg"

  5. Нажмите кнопку OK - для сохранения сделанных корректировок.

Для выполнения Тестовых проверок работоспособности сделанных изменений:

  1. Откройте ваш Отчет или Этикетку в соответствующем Дизайнере.

  2. Выполните "Double-click" на некотором объекте типа label, чтобы активировался Диалоговый бокс Properties (Характеристики).

  3. Нажмите кнопку Выбора (многоточие) - (…) для определения значения рассматриваемого Контрола Отчета, далее работает программный код вашего пользовательского Класса.

Пример

По-умолчанию, при активации диалогового бокса Построителя Выражений из стандартного построителя Отчетов ReportBuilder.App, открытые в глобальной Сессии Данных Таблицы не отображаются в соответствующем Списке. Таблицы и Курсоры, прикрепленные к Среде Данных создаваемого Отчета также являются недоступными. Данный Сценарий использовался в Построителе Выражений для младших версий VFP и используется в тех случаях, когда отключен Построитель Отчетов (_REPORTBUILDER = "").

В следующем далее Примере демонстрируется, как вы можете определить Альтернативный Контроллер для отслеживания текущей Среды Данных, открытых Таблицах в приватной сессии, активации стандартного диалогового бокса GETEXPR, который повторяет и дублирует все необходимые функции обычного Построителя Выражений.

Вы можете сохранить описываемый Класс в Процедурном файле (.prg) и зарегистрировать его в Построителе Отчетов, как описано выше; дальнейшее использование данного Класса позволит вам более успешно использовать требуемые Источники Данных.

CopyCode image Копировать Код
DEFINE CLASS GetExpressionWithDE AS Session

 DataSession = 2 && private

 PROCEDURE GetExpression
 LPARAMETERS lcDefaultExpr, lcDataType, lcCalledFrom, loEvent

 LOCAL lCurSel, lcNewExpr, liPrivateSession
 LOCAL liLines, i, iTableCount, lcAlias, lcSource

 *----------------------------------------------
 * Save this before it changes:
 *----------------------------------------------
 liPrivateSession = THIS.DataSessionId

 *----------------------------------------------
 * Scan the data environment and open tables:
 *----------------------------------------------
 SET DATASESSION TO (loEvent.FrxSessionId)
 lCurSel = SELECT()
 iTableCount = 0
 SELECT expr FROM frx WHERE objtype = 26 ;
 INTO CURSOR environCursors
 SELECT environCursors
 SCAN
 liLines = ALINES(laValuePairs, environCursors.expr )
 FOR i = 1 TO liLines
 DO CASE
 CASE LEFT(UPPER(laValuePairs[i]),5) == "ALIAS"
 lcAlias = THIS.GetValue( laValuePairs[i])
 CASE LEFT(UPPER(laValuePairs[i]),7) == "CURSORS"
 lcSource = THIS.GetValue( laValuePairs[i])
 ENDCASE
 ENDFOR

 lcSource = EVL(lcSource,"")

 DO CASE
 CASE FILE(lcSource)
 CASE FILE(FORCEEXT(lcSource,"DBF"))
 lcSource = FORCEEXT(lcSource,"DBF")
 CASE FILE(JUSTFNAME(lcSource))
 lcSource = JUSTFNAME(lcSource)
 CASE FILE(FORCEEXT(JUSTFNAME(lcSource),"DBF"))
 lcSource = FORCEEXT(JUSTFNAME(lcSource),"DBF")
 ENDCASE

 IF FILE(lcSource)
 lcAlias = EVL( lcAlias, "Cursor"+TRANSFORM(i))
 SET DATASESSION TO (liPrivateSession)
 IF NOT USED(lcAlias)
 TRY
 IF EMPTY(ALIAS())
 USE (lcSource) ALIAS (lcAlias) ;
 NOUPDATE SHARED
 ELSE
 USE (lcSource) ALIAS (lcAlias) ;
 IN 0 NOUPDATE SHARED
 ENDIF
 iTableCount = iTableCount+1
 CATCH WHEN .T.
 ENDTRY
 ENDIF
 SET DATASESSION TO (loEvent.FrxSessionID)
 ENDIF
 ENDSCAN
 USE IN environCursors
 SELECT (lCurSel)
 IF iTableCount > 0
 SET DATASESSION TO (liPrivateSession)
 ELSE
 SET DATASESSION TO (loEvent.DefaultSessionID)
 ENDIF

 *-----------------------------------
 * Display the GETEXPR dialog:
 *-----------------------------------
 GETEXPR TO lcNewExpr TYPE lcDataType DEFAULT lcDefaultExpr

 *-----------------------------------
 * Clean up and exit:
 *-----------------------------------
 SET DATASESSION TO (liPrivateSession)
 CLOSE DATA
 SET DATASESSION TO (loEvent.FrxSessionID)
 RETURN lcNewExpr
 ENDPROC

 PROTECTED PROCEDURE GetValue
 LPARAMETER lcValuePair
 LOCAL liPos, lcReturn
 lcReturn = ""
 IF NOT EMPTY(lcValuePair)
 liPos = AT("=",lcValuePair)
 IF EMPTY(liPos)
 RETURN ""
 ENDIF
 lcReturn =CHRTRAN(ALLTRIM(SUBSTR(lcValuePair,liPos+1)),["'],[])
 ENDIF
 RETURN lcReturn
 ENDPROC

ENDDEFINE

См. также

Задачи

Как: Настроить управление Событиями в Построителе Отчетов
Как: Определить альтернативную Таблицу управления Событиями в Отчете

Описание

Event Handler Registry, диалоговый бокс (Построитель Отчетов)
Report Builder Options, диалоговый бокс (Построитель Отчетов)
Таблица регистрации Контроллера Событий построителя Отчетов

Концепции

Общие понятия о Событиях в Построителе Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Extend or Replace the Report Builder

Visual FoxPro 9.0
Как: Расширить или заменить построитель отчета (Report Builder)
Смотри также Пример

Хотя Visual FoxPro поставляется с используемым по умолчанию приложением построителя отчета Report Builder, дополненным внутри обработчиком событий дизайнера отчета (Report Designer), вы можете либо расширить это приложение, либо заменить его своим собственным.

See Понимание событий построителя отчета для получения более подробной информации о том, как написать программу, которая отвечает требованиями API построителя отчета.

Использование альтернативного приложения построителя по умолчанию

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

  1. Добавьте строку в CONFIG.FPW, в которой присвойте системной переменной _REPORTBUILDER наименование приложения построителя отчета:

    _REPORTBUILDER = mybuilder.prg

Замена приложения reportbuilder.app "на лету"

Для замены построителя отчета в программном коде

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

    cOriginalBuilderApp = _REPORTBUILDER

    _REPORTBUILDER = "mybuilder.prg"

  2. Для того, чтобы вернуться к построителю, используемому по умолчанию, выполните:

    _REPORTBUILDER = m.cOriginalBuilderApp

Обратный вызов приложения ReportBuilder.App

Для обратного вызова приложения Reportbuilder.app

  1. Используйте код, схожий с приведенным ниже, для того, чтобы вызвать приложение построителя отчета:

    parameters returnFlags, eventType, cmdClauses, sessionID

    :

    do (HOME(1)+"ReportBuilder.App") with returnFlags, eventType,

    cmdClauses, sessionID

Ниже приведен пример, в котором приложение построителя вызывает Reportbuilder.app для расширения поведения по-умолчанию.

Пример

Этот примерный программный код wraps ReportBuilder.App для обеспечения настроенного поведения для команды CREATE REPORT - Quick Report Command.

Функциональность включает в себя:

  • Добавление "Company letterhead" в раскладку отчета.

  • Обновление элементов управления в заголовке и подножии.

Для использования, установите _REPORTBUILDER = FULLPATH("quickreportbuilder.prg").
Copy Code
*-----------------------------
* QUICKREPORTBUILDER.PRG
*-----------------------------
#DEFINE QUERY_TITLE_LOC "Creating a Quick Report"
#DEFINE HEADER_QUERY_LOC "Company-standard name will be included. "+ ;
                         "Would you like to add something?"
#DEFINE FINISH_QUERY_LOC "Finished! "+CHR(13)+ ;
                         "Would you like to adjust the contents?"
#DEFINE COMPANY_HEADER_LOC  "ABC Company"

* Return value flags:---------
#DEFINE EVENT_PASSED_TO_VFP       0
#DEFINE EVENT_HANDLED_BY_BUILDER  1
#DEFINE FRX_DISCARD_CHANGES       0
#DEFINE FRX_RELOAD_CHANGES        2

* Hook event types:-----------
#DEFINE EVENTTYPE_REPORTOPEN      7
#DEFINE EVENTTYPE_OBJECTCREATE    2
#DEFINE EVENTTYPE_REPORTSAVE      6
#DEFINE EVENTTYPE_REPORTCLOSE     8
#DEFINE EVENTTYPE_PROPERTIES      1

* ReportBuilder.App Handle Modes:
#DEFINE MODE_HANDLE_CLASS         1
#DEFINE MODE_FORCE_DEBUG          2
#DEFINE MODE_FORCE_NATIVE         3

* standard FRX stuff
#DEFINE OBJTYPE_TEXT              5
#DEFINE OBJTYPE_FIELD             8
#DEFINE OBJTYPE_FONTRES          23
* ----------------------------

#DEFINE MB_YESNO                  4
#DEFINE MB_ICONQUESTION          32
#DEFINE IDYES                     6
#DEFINE IDNO                      7
* ----------------------------

LPARAMETERS returnFlags, eventType, commandClauses, designerSessionId

* Этот построитель работает только с быстрыми отчетами.
* Критерии:  - Это должна быть раскладка отчета, а не этикетки
*            - Должна быть использована команда CREATE REPORT FROM...

LOCAL BuilderModule
BuilderModule = HOME()+"ReportBuilder.App"

IF commandClauses.IsReport AND NOT EMPTY(commandClauses.FROM)

    LOCAL oFrxHelper
    oFrxHelper = NEWOBJECT("frxCursor", HOME()+"FFC\_frxcursor.vcx")

    DO CASE
    CASE m.eventType = EVENTTYPE_REPORTOPEN
        * Это первое событие в быстром отчете.
        * Во-первых, замените шрифт источника и шрифт
        * информации в заголовке, чтобы они отвечали вашим требованиями, так как
        * здесь имеется некоторые прямопрописанные метрики для высот
        * в этом простом примере.
        * Курсор FRX находится в текущей рабочей области:

        REPLACE frx.fontface WITH "Courier New" ;
            FOR RECNO() = 1 OR frx.objtype = OBJTYPE_FONTRES
        LOCATE FOR frx.objtype = OBJTYPE_FONTRES

        * Теперь, добавьте запись шрифта ресурса для вашего
        * "спроектированного" выражения:

        SCATTER MEMVAR MEMO
        m.penred = 255
        m.fontface = "Tahoma"
        m.fontstyle = 1
        INSERT INTO frx FROM MEMVAR

        * Теперь, используйте повторно переменные памяти
        * заменой их значений для установки записи
        * "спроектированных" выражений

        m.uniqueid   = SYS(2015)
        m.objtype    = OBJTYPE_TEXT
        m.objcode    = 0
        m.timestamp  = oFrxHelper.getFrxTimeStamp()
        m.vpos       = 20
        m.hpos       = 20
        m.height     = 3000
        m.width      =  50000
        m.fillchar   = "C"
        m.penred     = 255
        STORE -1 TO m.fillred, m.fillgreen, m.fillblue
        m.mode       = 1
        m.stretch    = .T.
        m.top        = .T.
        m.spacing    = 2
        m.offset     = 2
        m.resettotal = 1
        m.supalways  = .T.
        m.suprpcol   = 3
        m.supgroup   = 0
        m.totaltype  = 0
        m.expr       = INPUTBOX(HEADER_QUERY_LOC, ;
                                QUERY_TITLE_LOC, ;
                                COMPANY_HEADER_LOC)

        DO CASE
        CASE EMPTY(m.expr)
            m.expr = COMPANY_HEADER_LOC

        CASE ATC(COMPANY_HEADER_LOC,m.expr) = 0
            m.expr = COMPANY_HEADER_LOC + " " + ALLTR(m.expr)

        ENDCASE
        m.expr = ["]+m.expr+["]

        INSERT INTO frx FROM MEMVAR

        * И, наконец, укажите Designer, что нужно использовать
        * наши изменения:

        returnFlags = FRX_RELOAD_CHANGES

    CASE  m.eventType = EVENTTYPE_REPORTSAVE

        * Это последнее событие в "быстром" отчете.

        IF NOT EMPTY(m.BuilderModule) AND ;
            MESSAGEBOX(FINISH_QUERY_LOC,;
                       MB_YESNO +MB_ICONQUESTION,;
                       QUERY_TITLE_LOC) = IDYES

            * Дайте пользователю шанс установить или убрать
            * объекты определенных типов:

            SCAN ALL FOR INLIST(frx.objtype, ;
                       OBJTYPE_FIELD, OBJTYPE_TEXT)

                * Отметьте объект, как "выбранный", так чтобы
                * построитель мог с ним оперировать:

                REPLACE frx.curpos WITH .T.

                * Вызовите приложение построителя, ;
                * подменим обычное событие Report Designer:

                do (BuilderModule) with ;
                        -1, EVENTTYPE_PROPERTIES, ;
                        m.commandClauses, ;
                        m.designerSessionId
                REPLACE frx.curpos WITH .F.
            ENDSCAN
            m.returnFlags = FRX_RELOAD_CHANGES
        ENDIF

        * Найдем объект с выражением DATE()
        * созданный в процессе "быстрого отчета" (Quick Report)
        * и трансформируем его в DATETIME():

        LOCATE FOR frx.objtype = OBJTYPE_FIELD AND ;
                        UPPER(ALLTRIM(frx.expr)) == "DATE()"
        LOCAL liWidth
        liWidth = oFrxHelper.GetFruTextWidth( ;
                                TRANSFORM(DATETIME()),;
                                frx.fontface, frx.fontsize )
        REPLACE frx.expr  WITH "DATETIME()", ;
                                frx.width WITH m.liWidth

        * найдем объект _pageno и слегка его подправим:

        LOCATE FOR frx.objtype = OBJTYPE_TEXT ;
            AND ATC(["PAGE],frx.expr) > 0
        IF FOUND()
            REPLACE frx.expr WITH ["Page "+TRANSFORM(_PAGENO)],;
                    frx.objtype WITH OBJTYPE_FIELD, ;
                    frx.hpos WITH (frx.hpos - (frx.width*2)), ;
                    frx.width WITH frx.width*3
            SKIP

            * Удалим объект _pageno, следует за "Page"
            * в нормальном быстрои отчете:

            DELETE
        ENDIF

        * Нам необходимо указать Designer,
        * что нужно соблюдать наши изменения:

        returnFlags = FRX_RELOAD_CHANGES

    OTHERWISE
        returnFlags = EVENT_PASSED_TO_VFP

    ENDCASE

ELSE
    * Параметры направлямые по ссылке:

    do (BuilderModule) with m.returnFlags, ;
                            m.eventType, ;
                            m.commandClauses, ;
                            m.designerSessionId
ENDIF
RETURN

Смотри также:

Задачи

Как: добавить свой собственный обработчик в регистр построителя отчета

Справочное руководство

Report Builder Event Handler Registry Table

Концепции

Понимание событий построителя отчетов (Report Builder)

Другие ресурсы

Расширение отчетов в среде разработки приложений

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


How to: Specify and Distribute ReportBuilder.App

Как: Определять и Распространять Компоненту "ReportBuilder.App"
См. также

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

В данном Параграфе вы найдете Ответы на возможные вопросы по использованию и распространению Построителя Отчетов вместе с вашим Приложением. Существует два варианта:

  • Компонента Построитель Отчетов (Report Builder) размещается рядом с основным Приложением, чем обеспечивается создание надежной ссылки на внешнюю КомпонентуReportBuilder.App, которая достаточно просто определяется системой Visual FoxPro.

  • Разместить исходные программные коды Построителя Отчетов в Проект вашего Приложения; и выполнить общую Компиляцию скомпанованного общего Приложения.

Распространение Компоненты ReportBuilder.App вместе с вашим Приложением.

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

Для гарантированного определения системой Visual FoxPro внешней компоненты ReportBuilder.App:

  • В стартовом модуле вашего Приложения определите следующий Фрагмент программного Кода:

    CopyCode image Копировать Код
    * прочитать текущий подкаталог вашего Приложения
    cHomeDir = CURDIR() && можете использовать любой метод определения подкаталога
    * Установите значение системной переменной, как полную ссылку на Компоненту:
    _REPORTBUILDER = m.cHomeDir+"ReportBuilder.App"
    :

Вы можете использовать и простую настройку файла Конфигурации CONFIG.FPW:

_REPORTBUILDER=<path>\ReportBuilder.App

Анализ Описанного Способа.

Если вы используете указанный вариант дистрибуции компоненты ReportBuilder.App, то вы теряете возможность указания Альтернативной таблицы Регистрации Контроллера Событий Отчета (Alternative Report Event Handler Registry Table), которая компануется внутри соответствующего файла приложения .APP. Это объясняется тем, что компонента ReportBuilder.App не может использовать файлы, которые скомпанованы в других внешних Приложениях (.app / .exe ).

Интегрирование Исходного программного Кода Построителя Отчета в Проект вашего Приложения.

Вместо описанного выше варианта распространения Компоненты, вы можете подсоединить исходный программный Код Построителя Отчетов как составную часть Проекта вашего Приложения.

Для интегрирования Кода "Report Builder" в ваше Приложение:

  1. Распакуйте программный код из Архива Xsource.Zip, размещенного в подкаталоге Tools\xsource\ домашней папки Visual FoxPro.

  2. В стартовой программе вашего Приложения введите следующий фрагмент программного Кода:

    CopyCode image Копировать Код
    * Для определения внешней ссылки на главную процедуру:
    EXTERNAL PROCEDURE frxbuilder.prg
    * Уточнение значения системной Переменной (ссылка на внутреннюю процедуру):
    _REPORTBUILDER = "frxbuilder.prg"

  3. Выполните новую компановку вашего Проекта.

    Программный Код Построителя Отчетов вместе с Таблицей Контроллера Событий Отчета будут добавлены в ваш Проект, интегрированы с ним.

Вместо того, чтобы использовать Стандартную, оригинальную копию Таблицы Контроллера (FrxBuilder.Dbf), вы можете изменить требуемые вам параметры данной Таблицы. Обратите Внимание: ваш проект имеет прямую ссылку на Главную Копию рассматриваемой Таблицы. Вы можете исключить данную ссылку из Проекта и заменить ее на локальную, пользовательскую Копию рассматриваемой Таблицы.

Вам не обязательно использовать для альтернативной Таблицы Стандартное Имя, вы можете создать Таблицу Контроллера Событий Отчета с произвольным Именем и прикрепить ее к Проекту:

Для определения Альтернативной Таблицы Контроллера Событий Отчета:

  • В стартовом Модуле вашего Приложения достаточно ввести следующий фрагмент программного Кода:

    do frxBuilder with 3, "mylookup.dbf"

Общедоступные Исходные файлы.

Компоненты: ReportBuilder.App и ReportPreview.App используют следующие общие файлы:

  • frxControls.vcx - библиотека

  • frxCommon.prg - программный модуль

  • grabber.gif

  • wwrite.ico

  • foxpro_reporting.h - файл-заголовок

Диспетчер Проектов (Project Manager) создает только одну ссылку на каждый из перечисленных файлов, что зависит от порядка размещения стандартных команд типа EXTERNAL в вашей стартовой Программе.

Анализ использования подсистемы Помощи в Построителе Отчетов.

Диалоговые Боксы Построителя Отчетов (Report Builder Application) могут содержать ссылки на стандартную подсистему Помощи (Справки) Visual FoxPro (или на отдельные ее разделы), которые ассоциированы со значениями Свойств HelpContextID (Visual FoxPro) , которые представляют собой элементы стандартного Интерфейса. Но подсистема Помощи Visual FoxPro не может распространяться с вашим Приложением. Смотрите дополнительно раздел: Распространяемые и запрещенные к Распространению файлы Visual FoxPro.

Если вы используете компоненту "Report Builder" или другие Модули, и создаете подсистему Помощи для вашего Приложения, то вы можете придерживаться одной из следующих Стратегий:

  • Создайте соответствующие Разделы Справки, которые согласовываются с идентификаторами ID указанных Диалоговых боксов Построителя Отчетов. Проверить значения указанных Идентификаторов можно в заголовочном файле FRXBUILDER.H.

  • Для описанных выше идентификаторов ID не создаются Разделы Помощи. Если Пользователь нажимает клавишу F1 или использует специальную кнопку Help, вы обеспечиваете отображение Специального Раздела Помощи, уровнем выше.

  • Измените значения соответствующих Констант, заданных в заголовочном файле FRXBUILDER.H, которые будут ссылаться на специальные разделы вашего файла Справки, или создайте дополнительные разделы Справки, в которых размещается необходимая конечному пользователю Справочная Информация. Далее, вам необходимо выполнить новую Сборку вашего Приложения или Сборку внешней Компоненты, чтобы актуализировать выполненные вами Изменения и настройки для ReportBuilder.App.

Для определения специфических идентификаторов ID разделов Помощи для Компонент Построителя Отчетов:

  1. Измените контекстные Идентификаторы, заданные в виде констант в заголовочном файле FRXBUILDER.H, сохраните выполненные Изменения.

  2. Выполните новую Компиляцию-Сборку Построителя Отчетов (Report Builder Application), или перекомпилируйте ваше Приложение, которое содержит в своем составе рассматриваемый Построитель.

Если вы готовите Дистрибутивный пакет Приложения и/или его Компонент (Report Builder), а также не планируете создавать подсистему Помощи для Приложения, то вам достаточно обеспечить установку следующих Опций-Параметров:

  • Включите приложение ReportBuilder.app и/или его Компоненты в Дистрибутивный пакет: - "как есть". Если выполняются системные установки , типа: SET("HELP") = "OFF", то в Построителе Отчетов командная кнопка Help - является Отключенной.

  • Измените значение соответствующей переменной в заголовочном файле frxbuilder.h, которая контролирует размещение кнопки Help.

Для исключения кнопки "Help", как элемента Интерфейса из Компоненты Report Builder:

  1. Найдите в Папке исходного программного Кода Построителя Отчетов заголовочный файл: frxbuilder.h.

  2. Измените значение Константы SHOW_HELP_BUTTON_ON_HANDLER_FORMS, на величину, = False (.F.).

  3. Выполните Компиляцию-Сборку новой версии Построителя Отчетов (Report Builder), или перекомпилируйте ваше основное Приложение, если в нем выполняется динамическая компиляция Report Builder.

Дополнительную информацию по использованию подсистем Справки типа Visual FoxProв в ваших Приложениях смотрите разделы: SET TOPIC ID, команда и SET HELP, команда.

См. также

Задачи

Как: Определить Альтернативную Таблицу Контроллера событий Отчета

Описание

_REPORTBUILDER, системная переменная
Включение и подсоединение файлов Отчетов в пакет Распространения

Концепции

Процесс Распространения Приложений

Другие ссылки

Настройка и Конфигурирование файлов Справки вашего Приложения

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Extending Reports at Run Time

Visual FoxPro 9.0
Расширение отчетов в Run Time

Visual FoxPro Report System предоставляет много путей для прикрепления вашего программного кода к процессу представления отчета. В приведенных ниже статьях обсуждаются вопросы как использовать и эксплуатировать наилучшим образом перехватчики событий процессов предпросмотра и вывода в run-time.

В этом разделе

Понимание объектно-ассистированной работы с отчетами в Visual FoxPro

Описывает объектно-ассистированную архитектуру вывода, которая позволяет вам наращивать (расширять) процесс исполнения отчетов в run-time.
Расширение функциональности предпросмотра отчетаt

Описывает архитектуру предпросмотра отчета в Visual FoxPro и способ замены реализации предпросмотра, используемой по умолчанию, вашей собственной.
Расширение функциональности вывода отчета

Описывает: как класс ReportListener позволяет вам управлять генерацией различных типов вывода из раскладок отчета и этикеток.
Обработка ошибок во время исполнения отчета

Описывает: как специальные возможности класса ReportListener помогут вам перехватывать и обрабатывать ошибки во время вывода отчетов и учитывает роль прочих команд и функций Visual FoxPro в процессе обработки ошибок при выводе отчета.

Связанные разделы

Расширение отчетов в среде разработки VFP

Описывает: как работает архитектура построителя отчета, знакомит с функциональностью приложения построителя отчета, используемого по умолчанию, способах его настройки или замены вашим собственным приложением.
Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Understanding Visual FoxPro Object-Assisted Reporting

Понимание технологии формирования отчетов Visual FoxPro с помощью объектов (Object-Assisted)
Смотрите также

Visual FoxPro 9 вводит технологию формирования отчетов с помощью объектов - object-assisted. Используя эту технологию и Ваши существующие отчеты, Вы можете расширить процесс формирования отчетов разными способами, например, такими как:

  • Формировать множество выходных отчетов в процессе выполнения одного отчета.

  • Улучшить качество печати и предварительного просмотра.

  • Объединить несколько отчетов в один выходной (результирующий) отчет.

  • Модифицировать содержимое отчета динамически в процессе обработки данных.

  • Формировать новые типы выходных данных, недоступные ранее.

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

Система формирования отчетов Visual FoxPro 9 точнее описывается словами "с помощью объектов" чем термином "объектно-ориентированная". Генератор отчетов - это не объект. Однако когда Вы используете новую технологию, генератор отчетов передает большую часть своей работы объектам.

Note Примечание

Дизайнер отчетов также не включает ссылки на классы Visual FoxPro, определенные в визуальной библиотеке классов (.vcx файлы) или в программе (.prg файлы) как на элементы отчета. Однако, используя новую технологию design-time, Вы можете использовать экземпляры классов Visual FoxPro для определения атрибутов элементов отчета. Эти классы шаблонов могут быть присоединены к структуре отчета, и обеспечить динамическое изменение форматирования и кодов методов в процессе выполнения отчета. Для получения дополнительной информации смотрите Расширения Отчетов XML данных.

Технология формирования отчета в процессе исполнения (Run-time)

В ранних версиях Visual FoxPro механизм генерации отчетов был "монолитным". Он выполнялся весь как единый процесс. На этапе проектирования отчета Вы имели возможность добавить некоторый код в различных местах, прежде всего, в месте начала или завершения процесса формирования полосы отчета.

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

Visual FoxPro Reporting Engine Overview graphic

Как активизировать процесс построения отчетов с помощью объектов

Вы можете использовать опцию OBJECT [TYPE <N>] в команде REPORT FORM или LABEL для того, чтобы сообщить генератору отчетов, что следует использовать объект на основе класса ReportListener или использовать тип объекта. Вы можете также сообщить генератору отчетов о необходимости использовать приложение, имя которого хранится в системной переменной _REPORTOUTPUT, для того, чтобы назначить соответствующий объект для Вас. Если Вы установите настройку SET REPORTBEHAVIOR в значение 90, то генератор отчетов автоматически будет использовать приложение, имя которого хранится в системной переменной _REPORTOUTPUT для получения объекта используемого каждый раз при выполнении команды REPORT FORM или LABEL.

Visual FoxPro Reporting Engine Print Path I graphi

Если Вы хотите вызвать команду REPORT FORM или LABEL только с целью отобразить окно предварительного просмотра, то система отчетов вызовет другой объект "PreviewContainer" для отображения предварительного просмотра после завершения его работ по вычислению и отрисовке содержимого отчета. Поскольку PreviewContainer это объект среды Visual FoxPro, то Вы можете создавать самые разнообразные предварительные просмотры, соответствующие условиям и задачам Ваших приложений. Для получения дополнительной информации о том, как создать объект, соответствующий требованиям PreviewContainer смотрите API Контейнер Предварительного Просмотра Отчетов.

Visual FoxPro Reporting Engine Preview Path I grap

Режимы работы генератора отчетов

Процесс обработки объектом ReportListener отчетов или этикеток может происходить в двух различных режимах в зависимости от значения его свойства ListenerType. Вы можете рассматривать эти два режима как "режим печати" и "режим предварительного просмотра", или "по странице за раз" и "все страницы разом".

В обоих режимах Ваш класс на базе ReportListener имеет все возможности влиять на процесс формирования каждого элемента, поскольку каждый элемент в каждой полосе отчета будет обработан. Режимы работы определяют, как и когда Ваш класс на основе базового класса ReportListener получает доступ к формированию результата или выводимым страницам.

В режиме "по странице за раз", класс ReportListener запускает событие OutputPage для формирования каждой страницы и одновременно отправляет каждую страницу на принтер или в очередь печати. Ваш класс наследник получает доступ только к той странице, которая только что была подготовлена и только в это время. Этот режим имеет смысл, если Вам надо получить доступ к каждой странице только один раз. Например, Вы могли бы сохранять каждую страницу на диске как изображение. Для получения более полной информации о возможностях и доступных опциях смотрите Метод OutputPage.

Visual FoxPro Reporting Engine Print Path II graph

В режиме "все страницы разом" ReportListener подготавливает все страницы для отображения и кэширует их. Событие OutputPage не срабатывает до тех пор, пока не будут подготовлены все страницы. Когда выполнение отчета завершается, Вы можете вызвать метод OutputPage чтобы получить доступ к любой странице отчета по ее номеру. Вы можете запрашивать страницы в любом порядке много раз.

Visual FoxPro Reporting Engine Preview Path II gra

Теперь отчет полностью подготовлен и готов к предварительному просмотру. В этот момент, если свойство Listenertype объекта ReportListener было установлено в значение 1, объект ReportListener вызывает объект, ссылка на который записана в его свойстве PreviewContainer для отображения предварительного просмотра.

Вы можете сохранить ссылку на любой объект, отвечающий требованиям PreviewContainer API в этом свойстве. Если в данном свойстве нет ссылки на объект, то Reportlistener попытается получить объектную ссылку из приложения, имя которого записано в системной переменной _REPORTPREVIEW.

Visual FoxPro Reporting Engine Preview Path III gr

Когда отчет полностью подготовлен, ReportListener вызывает метод SetReport объекта PreviewContainer. Эта операция передает объекту PreviewContainer ссылку на объект ReportListener, и показывает готовность объекта ReportListener к предварительному просмотру. В этот момент объект PreviewContainer принимает контроль над процессом подготовки отчета. Он использует метод OutputPage объекта ReportListener для запроса отображаемых страниц в той последовательности, в какой пользователь просматривает отчет.

Для получения дополнительной информации о том, как модифицировать используемое по умолчанию приложение для предварительного просмотра отчетов или написать свое собственное смотрите Расширение функциональности Report Preview.

Если пользователь решит распечатать отчет из интерфейса предварительного просмотра, то объект PreviewContainer вызовет метод OnPreviewClose объекта ReportListener с соответствующими параметрами. Объект ReportListener возвращает себе управление и отправляет на печать буфер предварительно подготовленной страницы. Для получения дополнительной информации, смотрите OnPreviewClose, Метод-Событие.

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

Процесс вывод во время исполнения (Run-time)

В последующем изложении описывается полное выполнение отчета. Как было описано в предыдущем разделе, есть несколько способов, при которых Вы можете быть уверены, что команда REPORT FORM или LABEL выполняются со ссылкой на объект. Различные способы вызова построения отчета с помощью объектов не изменяют последовательность вызова событий, описанную в данном разделе.

Генератор отчетов и базовый класс ReportListener выполняют формирование отчета в ряде событий, которые начинаются с события BeforeReport и завершаются событием AfterReport. Базовый класс ReportListener также предоставляет два внешних или рамочных (framing) события LoadReport и UnloadReport, которые позволяют создавать код "перед" и "после" процесса выполнения отчета.

Note Примечание

Для получения более полной информации о событиях объекта ReportListener, обратитесь к различным статьям ReportListener Объект, свойства, методы, и события.

Начало выполнения отчета

Когда команда REPORT FORM или LABEL начинают исполняться, генератор отчетов сначала проверяет, не включала ли предшествующая аналогичная команда ключевое слово NOPAGEEJECT. Это ключевое слово указывает, что несколько отчетов обрабатываются вместе и что некоторая часть отчета уже находится в очереди для возможного показа или печати.

Если предшествующие команды не содержали ключевое слово NOPAGEJECT, то значение свойства OutputPageCount объекта ReportListener сбрасывается в 0.

Затем генератор отчета создает специальную сессию данных для объекта ReportListener и предоставляет значение DataSessionID этой сессии объекту ReportListener, используя свойство FRXDataSession объекта ReportListener. Он также присваивает значение свойству CommandClauses объекта ReportListener; хотя не все свойства объекта CommandClauses доступны немедленно. Для получения дополнительной информации смотрите CommandClauses свойство.

Далее генератор вызывает событие LoadReport объекта ReportListener и оценивает возвращаемое значение любого пользовательского кода, который Вы можете написать в этом событии. Если событие LoadReport возвращает значение "Ложь" (.F.), то выполнение отчета на этом прерывается.

Note Замечание

Если Вы хотите изменить отчет или этикетку или текущий драйвер принтера, то событие LoadReport - это Ваша возможность сделать это. Вы можете также динамически изменить значение члена ReportListener.CommandClauses.Prompt и других членов объекта ReportListener.CommandClauses.

После события LoadReport генератор готов проанализировать содержимое таблицы отчета или этикетки. Если это предусмотрено в настройках, то генератор формирует частную сессию данных для хранения данных отчета. Он сохраняет значение DataSessionID для данных, которые будут обработаны в процессе выполнения отчета в свойстве CurrentDataSession объекта ReportListener.

Затем генератор отчетов переключается в сессию, идентификатор которой указан в свойстве FRXDataSession и открывает копию таблицы отчета или этикетки в режиме "только чтение" (read-only), используя алиас FRX в этой сессии.

Note Замечание

Генератор отчетов и объект ReportListener не используют эту копию таблицы отчета или этикетки; фактически они никогда больше не переключаются в эту сессию в процессе выполнения отчета. Генератор отчетов считывает содержимое таблицы в отдельную структуру, которую и использует впоследствии.

Генератор отчетов переключается обратно в сессию данных, идентификатор которой указан в свойстве CurrentDataSession, содержащую данные, которые будут обработаны в процессе выполнения отчета. Теперь он готов начать выполнять внутреннюю обработку.

Note Примечание

В этом разделе Вы узнали о двух сессиях данных, используемых в процессе выполнения отчета (их идентификаторы хранятся в свойствах CurrentDataSession и FRXDataSession). Эти две сессии данных наиболее важны для того, чтобы понять, как начать писать код объекта ReportListener. Однако другие сессии данных могут быть использованы в процессе выполнения отчета. Последующие разделы данной темы более подробно описывают соответствующие типы сессий данных.

Начало внутренней обработки выполнения отчета

Если свойство ListenerType объекта ReportListener установлено в значение 1 (печать) и если Вы использовали опцию PROMPT в команде выполнения отчета или этикетки или Вы установили свойство ReportListener.CommandClauses.Prompt в значение .T. в событии LoadReport, то в этот момент будет отображено диалоговое окно Print Setup. Начальные значения в этом диалоговом окне отображают любые значения опции RANGE, которые Вы использовали при подаче команды; однако реальные значения опции RANGE и членов объекта ReportListener.CommandClauses, которые будут использованы при печати отчета, могут быть изменены пользователем в диалоговом окне.

Когда пользователь закрывает диалоговое окно, генератор отчетов открывает очередь печати, если необходимо и если пользователь не отменил выполнение печати. Он также проверяет текущие установки принтера (даже если собственно печати не требуется) для того, чтобы определить текущие размеры страницы. Если Вы используете ключевое слово NODIALOG при подаче команды, но не устанавливаете свойство ReportListener.QuietMode в значение "Истина" (.T.), это свойство автоматически устанавливается в значение "Истина" (.T.) для сбалансированности выполнения отчета. Затем генератор отчетов выполняет событие BeforeReport.

Note Замечание

Здесь мы достигли последовательности событий, которые входят в родной (native) процесс выполнения отчета Visual FoxPro. Методы GetPageHeight и GetPageWidth объекта ReportListener вернули корректные значения. Все члены объекта CommandClauses подготовлены. Вы можете использовать метод CancelReport объекта ReportListener, начиная с данного момента и до окончания выполнения события AfterReport, если Вы хотите прервать и преждевременно закончить выполнение отчета.

После события BeforeReport генератор отчетов и объект ReportListener выполняют начальное определение различных аспектов таблицы отчета или этикетки. Например, они проверяют, была ли использована системная переменная _PAGETOTAL в выражениях отчета. Если была, то свойство TwoPassProcess объекта ReportListener устанавливается в значение "Истина" (.T.). Свойства CurrentPass объекта ReportListener в то же время устанавливается в значение 0. Для получения дополнительной информации смотрите CurrentPass свойство и TwoPassProcess свойство.

Note Примечание

Вы можете установить свойство TwoPassProcess в значение "Истина" (.T.) вручную, если хотите заставить выполнить отчет в два прохода. Объект ReportListener учтет это ручное назначение, если Вы выполните его до выполнения команды REPORT FORM или LABEL в событии LoadReport или BeforeReport.

Обработка содержимого отчета

Генератор отчетов и объект ReportListener завершили фазу настроек. Теперь они приступают к обработке всех событий полос отчета относящихся к данному отчету. Между событиями BeforeBand и AfterBand каждой полосы отчета они обрабатывают каждый элемент отчета находящийся внутри соответствующей полосы. Каждый элемент отчета потенциально может иметь следующие события:

  • Событие EvaluateContents, если данный элемент это поле (Field) или выражение (Expression).

  • Событие AdjustObjectSize, если данный элемент это рамка (Shape) или изображение (Image). Если рамка или изображение не помещаются на странице, то данное событие может быть повторено еще раз на следующих страницах.

  • Начало выполнение многих событий Render для всех типов элементов отчета. Элемент не выполняет событие Render если его выражение "Print When" принимает значение "Ложь" (.F.). В противном случае срабатывает как минимум один раз событие Render, а возможно и большее количество раз, если объект охватывает несколько полос или страниц.

Если свойство ReportListener.TwoPassProcess имеет значение "Истина" (.T.), то генератор отчетов и объект ReportListener обрабатывают все полосы и элементы отчета дважды. Первый раз они вычисляют выражения и расположение на странице, фактически ничего не отображая. Это предварительная обработка (pre-processing), или проход вычисления (calculation pass). Это позволяет генератору отчетов рассчитать значение _PAGETOTAL для его использования при отображении результата на втором проходе при реальной отрисовке (rendering). Проход для предварительной обработки также предоставляет возможность Вашему коду рассчитать другие значения.

Note Замечание

Вы можете использовать ReportListener Debug Foundation Class для контроля выполнения событий отчета непосредственно в процессе их выполнения. Используйте свойство Verbose этого класса для того, чтобы проверить содержимое членов объекта CommandClauses класса ReportListener в различных точках процесса выполнения отчета и получить расширенную информацию о различных параметрах разных методов.

Завершение выполнения отчета

Последняя выполняемая полоса отчета - это либо полоса "Page Footer" либо полоса "Summary"; даже если Вы используете метод CancelReport объекта ReportListener, генератор отчетов сначала полностью завершит обработку текущей страницы, перед тем как прервать выполнение отчета.

После выполнения последней полосы отчета, объект ReportListener и генератор отчетов запускают процедуры очистки.

Частные сессии данных отчета, если таковые имеются, закрываются перед выполнением события AfterReport. Для того чтобы быть уверенным, что объект ReportListener всегда имеет корректный сеанс данных, в который он может вернуться, если отчет использовал частный сеанс данных, в этот момент свойство CurrentDataSession объекта ReportListener сбрасывается в значение 1, т.е. в значение по умолчанию. Если отчет не использовал частную сессию данных, то свойство CurrentDataSession не контролируется системой отчетов и не изменяется.

Затем вызывается событие AfterReport объекта ReportListener. После выполнения события AfterReport, формирование отчета завершено. Если поток печати был открыт для данного отчета, то теперь он закрыт. В этот момент метод CancelReport прекращает оказывать какое-либо влияние на внутреннюю обработку; он больше не может "выполнять отчет" с точки зрения генератора отчетов.

Свойство ReportListener.QuietMode восстанавливает значение "Ложь" (.F.), если оно было временно переключено вследствие использования ключевого слова NODIALOG.

Если свойство ReportListener.ListenerType имеет значение 1, то в этот момент объект ReportListener вызывает объект PreviewContainer для отображения результатов формирования отчета, выполняя UnloadReport после того, как PreviewContainer вернет управление ReportListener. Если значение свойства ListenerType отлично от 1, то метод UnloadReport объекта ReportListener будет выполнен немедленно.

После события UnloadReport, генератор отчетов закрывает специальную сессию данных, в которой открыта копия таблицы отчета или этикетки. В этот момент значение свойства ReportListener.FRXDataSession сбрасывается в значение по умолчанию -1, сигнализируя о том, что больше нет никакой сессии выполняющей эту задачу между выполнением отчета.

Свойство ReportListener.TwoPassProcess сбрасывается в значение по умолчанию .F.. Сбрасывая это свойство в его значение по умолчанию, ReportListener предоставляет Вам возможность явным образом повторно указать его значение перед следующим разом, когда Вы используете экземпляр объекта ReportListener. Значение свойства ReportListener.CurrentPass не обнуляется; его текущее значение дает Вам возможность определить, что случилось в предшествующем процессе выполнения отчета.

Если Вы не использовали ключевое слово NOPAGEEJECT в процессе выполнения данного отчета, то в этом месте методы GetPageWidth и GetPageHeight объекта ReportListener прекращают проверять корректность значений.

Сопоставление сеансов данных с выполнением отчетов с помощью объектов

Когда каждое событие объекта ReportListener начинает исполняться, то сессия данных - это та, в которой объект ReportListener был первоначально создан. Этот сессия данных не всегда та же самая, в которой Вы дали команду REPORT FORM или LABEL. Базовый фундаментальный класс ReportListener использует сессию ListenerDataSession связанную с соответствующим защищенным членом свойства для того, чтобы описать и управлять сессией данных в которой это произошло.

В "рамочных" (framing) событиях отчета (LoadReport и UnloadReport), Вы должны вернуться к сессии данных ListenerDataSession после завершения любых операций связанных с переключением в другие сессии данных. Генератор отчетов будет ожидать, что объект ReportListener находится в этой сессии данных после завершения указанных событий. Смотрите Команда SET DATASESSION для получения более подробной информации о переключении между сессиями данных.

При последовательном выполнении прочих событий отчета и внутренних процессов генератора отчета Ваш код объекта ReportListener обычно переключается между сессиями данных, идентификатор которых записан в свойствах Свойство CurrentDataSession и Свойство FRXDataSession объекта ReportListener. Переключение между этими двумя сессиями данных позволит Вам ссылаться на файлы данных отчетов и на копию таблицы отчета или этикетки в процессе выполнения отчета, если это необходимо.

Генератор отчетов также предоставляет Вам информацию о четвертой сессии данных: сессия данных, в которой выполняется команда REPORT FORM или LABEL. Вы найдете значение DataSessionID этой сессии как член StartDataSession свойства объекта Свойство CommandClauses. Обычно Вам нет необходимости ссылаться на эту четвертую сессию данных в коде объекта ReportListener. Необходимость в этом возникает, если Вам надо получить настройки среды окружения, в которой была дана эта команда. Например, Вы хотите проверить такую настройку как SET("DELETED"). Для получения дополнительной информации смотрите Настройка окружения сессии данных.

StartDataSession команд REPORT FORM или LABEL может быть той же самой, на которую ссылается свойство CurrentDataSession объекта ReportListener. Однако если в таблице отчета указана частная сессия данных для выполнения отчета, то CurrentDataSession и StartDataSession будут разными. StartDataSession также может быть той сессией, в которой объект ReportListener был создан, если объект ReportListener существует в контексте формы или объекта "session". Однако объект ReportListener часто существует в глобальном контексте, например в результате создания приложением "Report Output Application" или менеджером объектов, связанным с Вашим приложением. В этом случае значения StartDataSession и ListenerDataSession не связаны между собой.

Смотрите также

Задачи

Как: использовать сессии данных

Ссылки

Системная переменная _REPORTOUTPUT
Системная переменная _REPORTPREVIEW
Системная переменная _PAGETOTAL
Системная переменная _PAGENO
Объект Session

Концепции

Обработка ошибок при выполнении отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Extending Report Preview Functionality

Visual FoxPro 9.0
Расширение функциональности Report Preview

В дополнение к событиям построителя Report Designer's, которые связаны с процессом разработки отчета, Visual FoxPro предоставляет хуки (hooks) для процесса вывода отчета. Эти хуки доступны через использование ReportListener, инстанция которого используется в объектно-ассистированном выводе отчетов.

Существует два пути для осуществления вывода объектно-ассистированного отчета:

  • SET REPORTBEHAVIOR 90

  • Написание программного кода, который явно использует опцию OBJECT в команде REPORT FORM.

Статьи в этом разделе представляют вам компонент preview container, используемый классом ReportListener в случае исполнения просмотра для объектно-ассистированного вывода отчетов и способы его использования в ваших приложениях.

В этом разделе

API компонента Preview Container

Описывает свойства и методы, которые обязан обеспечивать класс, используемый в качестве компонента Preview Container.
Создание собственного компонента Preview Container

Описывает, как заменить используемый по умолчанию компонент preview container вашим собственным, который сможет автоматически обеспечить функциональность предпросмотра отчета с помощью вашего приложения, в случае если вы установили SET REPORTBEHAVIOR 90.
Использование компонента Default Preview Container

Описывает дополнительные возможности компонента Preview Container, поставляемого приложением Preview Container Object Factory, входящим в поставку Visual FoxPro, на который, по умолчанию, ссылается системная переменнная _REPORTPREVIEW.
Как: Определить и распространять приложение ReportPreview.App

Объясняет, как распространять приложение ReportPreview.App: либо в виде отдельного файла приложения с расширением App вместе с вашим приложение, либо путем интеграции исходного кода в проект вашего приложения.

Связанные разделы

Понимание событий построителя отчетов - Report Builder

Объект ReportListener

Команда SET REPORTBEHAVIOR

Команда REPORT FORM

Системная переменная _REPORTPREVIEW

Расширение функциональности по типу отчета (Report Output)

Расширение возможностей отчетов в Design Time

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


The Preview Container API

Visual FoxPro 9.0
API Контейнер Предварительного Просмотра Отчетов
Смотри Также

Когда вы просматриваете отчет или этикетку в режиме под управлением объекта, приемник отчета (ReportListener) требует дополнительный компонент для того, чтобы обеспечить пользовательский интерфейс просмотра. Этот компонент называется контейнером просмотра (preview container) и написан на Visual FoxPro, и, следовательно, полностью настраиваемый.

Существуют два способа передачи контейнера просмотра приемнику отчета, если он в нем нуждается:

  1. Ваш код явно записывает ссылку на контейнер в свойство PreviewContainer приемника отчета.

  2. Объект ПриемникОтчетов (ReportListener) запрашивает эту ссылку у штатного Контейнера Просмотра приложения по ссылке в системной переменной _REPORTPREVIEW.

API Контейнер Просмотра

Объект класса ПриемникОтчета (ReportListener) предполагает наличие следующих методов у Контейнера Просмотра, чтобы обеспечить его выполнение объектом, определенным в свойстве PreviewContainer:

Метод Контейнера Просмотра Параметр Описание

SetReport()

oListenerRef

Объект ПриемникОтчета (ReportListener) вызовет данный метод, при передавая ссылку на самого себя с тем, чтобы код контейнера просмотра мог вызывать методы Приемника.

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

  • SetReport() может вызываться с нулевым значением параметра (.NULL.), в таком случае, контейнер просмотра должен освобождать какие-либо внутренние ссылки на ранее переданный объект приемника отчета, и вернуться в исходное состояние.

Show()

[ iModality ]

Объект ПриемникОтчета (ReportListener) вызовет этот метод, когда механизм отчета готов показать интерфейс просмотра и позволить пользователю перемещаться по готовому отчету или этикетке. Параметр iModal - такой же, как передаваемый методу форм Show() (Visual FoxPro).

Хотя никакая внешняя программа и не обращаются, API контейнер просмотра должен иметь внутреннюю ссылку на приемник отчета, передаваемую через метод .SetReport().

Свойсто Контейнера Просмотра | Тип | Описание
oReport | Объект | Методы .SetReport() и .Show() запускаются в разное время. Для того, чтобы контейнер просмотра имел доступ к различным свойствам приемника отчета в момент вызова метода Show(), он (контейнер) должен сохранить ссылку на приемник отчета, переданную в SetReport(), во внутреннем свойстве.

Объект класса ПриемникОтчета (ReportListener) также предполагает получать сообщения от объекта, заданного в его свойтве PreviewContainer:

Метод Приемника Отчетов (ReportListener) Параметр Описание

OnPreviewClose()

lPrint

Приемник отчета (ReportListener) предпологает, что его метод OnPreviewClose() будет вызван, когда пользовательский интерфейс просмотра закроется или прервется пользователем. Контейнер просмотра может передать параметр lPrint, чтобы указать, желает ли пользователь распечатать отчет после просмотра.

Какой именно метод контейнера просмотра сделал вызов - неважно. Если контейнер просмотра - форма или у него интерфейс сходный с формой, то можно использовать следующие методы - Hide(), Release(), QueryUnload() и Destroy().

Потребуется всего несколько строк кода, чтобы собрать все воедино:

Скопировать Код
*Установить контейнер просмотра
oMyPreview = NEWOBJECT("MyPreviewContainer","MyClassLib")
* Установить приемник отчета ReportListener (или ваш собственный подкласс)
oListener  = CREATEOBJECT("ReportListener")
* Сообщить приемнику, что нужно сформировать изображения всех страниц и использовать контейнер просмотра:
oListener.ListenerType = 1
* Передать приемнику ссылку на ваш контейнер просмотра:
oListener.PreviewContainer = m.oMyPreview
* Запустить отчет:
REPORT FORM myreport OBJECT m.oListener

Для примера реализации простого контейнера просмотра отчета, смотри Создание Пользовательского Контейнера Просмотра Отчетов.

Штатный Объект _REPORTPREVIEW

Код, показанный выше, относится к случаю, где приемник отчетов (ReportListener) явно назначен контейнеру просмотра до запуска отчета. Если у приемника отчета нет ссылки на контейнер просмотра, но она нужна, он получает ее путем вызова приложения или программы, ссылка на которые находиться в системной переменной _REPORTPREVIEW.

Программа, ссылка на которую осуществляется через _REPORTPREVIEW, должна выполнять следующее:

  • Принять параметр, переданный по ссылке, из механизма отчета.

  • Назначить этому параметру ссылку на класс, который реализует API контейнер просмотра.

  • Вернуться.

Пример:

Cкопировать Код
* Программа, приемлемая для  _REPORTPREVIEW:
LPARAMETER loRef
loRef = NEWOBJECT("MyPreviewContainer","MyClassLib")
return

Программа, указанная в _REPORTPREVIEW, вызывается, когда вы задаете следующие типы команд Visual FoxPro:

  • REPORT FORM или LABEL … PREVIEW, когда SET("REPORTBEHAVIOR") имеет значение 90.

  • REPORT FORM или LABEL … OBJECT <oRef> , когда oRef.ListenerType равен 1 и не определено значение oRef.PreviewContainer.

  • REPORT FORM или LABEL … OBJECT TYPE 1 , когда не определено свойство PreviewContainer приемника отчета (ReportListener), назначенного штатным приемником через _REPORTOUTPUT.

Смотри Также

Ссылки

Команда REPORT FORM
Команда SET REPORTBEHAVIOR
Системная Переменная _REPORTPREVIEW

Другие Статьи

Расширение Функциональных Возможностей Предварительного Просмотра Отчета

Послать ваши комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод LS


Creating a Custom Preview Container

Visual FoxPro 9.0
Создание Пользовательского Контейнера Для Предварительного Просмотра Отчетов
Смотри также

В данной статье описывается, как заменить стандартный контейнер предварительного просмотра отчетов вашим собстенным компонентом, который может обеспечить функциональными возможностями просмотра отчетов всему вашему приложению, если у вас установлен SET REPORTBEHAVIOR 90.

Предварительно ознакомтесь со статьями

Объект ReportListener

API Контейнер Просмотра Отчетов

Наилегчайший Просмотр

Самый легкий из возможных примеров вообще не использует API Контейнер Просмотра (Preview Container API), но использует методы объекта ReportListener для демонстрации внутреннего механизма API.

Нижеприведенный код определяет объект Shape как место вывода отчета, запускает отчет под управлением другого объекта, в данном случае это - Приемник Отчетов (ReportListener), и использует методы ReportListener для того, чтобы показать первую страницу отчета в заранее определенном месте вывода:

Скопировать Код
* Определение места визуализации отчета:
_SCREEN.AddObject("canvas","Shape")
_SCREEN.canvas.Width  = 250
_SCREEN.canvas.Height = 300

* Создать объект базового Приемника Отчета (ReportListener) и задать буферизацию всего отчета:
rl = NEWOBJECT("ReportListener")
* устанавливаем:
* "буферизация всех страниц",
* "не запускать предварительный просмотр автоматически"
* с помощью задания значения свойству ListenerType
rl.ListenerType = 3

* Обработка отчета:
REPORT FORM (_SAMPLES+"\solution\reports\colors.frx") OBJECT rl

* Показать 1-ую страницу в месте просмотра:
rl.OutputPage( 1, _SCREEN.canvas, 2 )

После выполнения этого кода в Командном Окне, вы увидите уменьшенное изображение отчета на экране Visual Foxpro.

Обратите внимание:

  • Третий параметр метода OutputPage() объекта ReportListener, равен 2, что означает, дескриптор места вывода, передаваемый вторым параметром, является ссылкой на Visual FoxPro объект, в данном случае - объект управления Shape.

  • Объект Shape не обязательно должен был быть видимым, чтобы показать отчет.

  • Объектами, используемыми в качестве места вывода могут быть либо Container, либо Shape

  • Протаскивание командного окна мышкой над изображением отчета стирает это изображение с экрана, т.к. когда экран выполняет метод Paint(), он перерисовывает себя ничего не зная о визуализированном отчете.

Реализация Простого Контейнера Пред.Просмотра

Следующий шаг - заключить выше описанный процесс в класс, который реализует API контейнер пред.просмотра, прозволяющий вам повторно использовать логику пред.просмотра

Следующий пример программы, simplepreview.prg, содержит определение класса, который также использует объект Shape в качестве места формирования изображения, только на этот раз на форме и использует API контейнер пред.просмотра:

Скопировать Код
*-----------------------------------------
* simplepreview.prg
*-----------------------------------------
DEFINE CLASS SimplePreview AS Form
    Caption     = "Щелкните для перехода на след. страницу"
    ListenerRef = .NULL.
    PageNo      = 1
    AllowOutput = .F.

    ADD OBJECT Canvas AS Shape WITH ;
        Top = 12, Left = 8, ;
        Height = 252, Width = 209, ;
        Name = "Canvas"

    PROCEDURE Canvas.Click
        WITH THISFORM
            IF .PageNo < .ListenerRef.OutputPageCount
                .PageNo = .PageNo + 1
                .Refresh()
            ENDIF
        ENDWITH
    ENDPROC

    PROCEDURE SetReport
        LPARAMETER oListenerRef
        THIS.ListenerRef = oListenerRef
    ENDPROC

    PROCEDURE QueryUnload
        IF NOT ISNULL( THIS.ListenerRef )
            THIS.ListenerRef.OnPreviewClose(.F.)
            THIS.ListenerRef = .NULL.
        ENDIF
        THIS.Hide()
        NODEFAULT
    ENDPROC

    PROCEDURE Paint
        IF NOT ISNULL( THIS.ListenerRef )
            THIS.ListenerRef.OutputPage( THIS.PageNo, THIS.Canvas, 2 )
        ENDIF
    ENDPROC

ENDDEFINE

Данный класс обеспечивает выполнение двух методов API контейнеров пред.просмотра: путем явного определения метода SetReport(); и использование метода Show(), уже имеющегося в форме, поскольку она является производной от базового класса Form, который содержит необходимый метод .

Обратите внимание:

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

  • Объект Reportlistener вызовет метод SetReport(), передав ссылку на самого себя, когда ему потребуется, чтобы контейнер пред.просмотра осуществил основную, не связанную с каким-либо отчетом, инициализицию. SetReport() будет также вызван с пустым параметром (.NULL.), когда вызовется его метод OnPreviewClose().

  • Код в событии QueryUnload() сообщает приемнику отчета (report listener), что вы завершили просмотр отчета и обнулит ссылку на Приемник Отчета, дабы избежать зависания, которое не позволит закрыться форме.

  • Код в методе Shape.Click() использует свойство OutputPageCount Приемника Отчета (report listener), чтобы застрахваться от попытки просмотра несуществующей страницы отчета.

Следующий код демострирует, как повторно использовать класс контейнера просмотра отчетов, определив класс SimplePreview и присвоив его свойству PreviewContainer объекта ReportListener. Запустите этот код в командном окне:

Скопировать Код
pc = NEWOBJECT("SimplePreview", "simplepreview.prg")
rl = NEWOBJECT("ReportListener")
rl.ListenerType     = 1 && Буферизация всех страниц, использовать контейнер просмотра
rl.PreviewContainer = pc
REPORT FORM (_SAMPLES+"\solution\reports\colors.frx") OBJECT rl
REPORT FORM (HOME()+"Tools\Filespec\60frx2.frx") OBJECT rl

После запуска данного кода, вы увидите, что форма SimplePreview появилась автоматически . Это произошло потому, что объект приемника отчета запустил метод PreviewContainer.Show() после того, как отчет завершил обработку.

Если вы в последную строку вышеприведенного примера включите оператор NOWAIT, вы увидите, что форма просмотра больше не является модальной . Объект приемника отчета распознает оператор NOWAIT и вызывает Show(0) вместо Show(1).

Hide() или Release()?

  • В выше приведенной программе SimplePreview.prg, событие QueryUnload() подавляет свое стандартное выполнение командой NODEFAULT и принудительно прячет форму, вызывая метод Hide().

Для этого есть две причины:

  • Все еше открытая ссылка на форму хранится в свойстве PreviewContainer приемника отчета, а это означает, что без дополнительного кода форма не закроется, когда вы нажмете на кнопку Close. Эта кнопка будет недоступной и форма останется видимой.

  • Метод Hide() позволяет контейнеру просмотра быть повторно использованным при очередных просмотрах отчета, как это показывает предыдущий пример кода.

Если вы не хотите, чтобы ваш контейнер оставался доступным для будущих просмотров отчета, вы можете изменит код метода QueryUnload как показано ниже:

Скопировать Коде
    PROCEDURE QueryUnload
        IF NOT ISNULL( THIS.ListenerRef )
            THIS.ListenerRef.PreviewContainer = .NULL.
            THIS.ListenerRef.OnPreviewClose(.F.)
            THIS.ListenerRef = .NULL.
        ENDIF
    ENDPROC

Как следствие данного альтернативного выполнения, контейнер выгружается из памяти после одного просмотра. Запустите повторно предыдущий код в командном окне с модифицированным классом контейнера просмотра, и вы увидите, что только первый просмотр использует форму SimplePreview. Второй запуск отчета возвращается к стандартному окну просмотра отчета, потому что объект ReportListener определил, что у него больше нет ссылки в его свойстве PreviewContainer и запрашивает новую через _REPORTPREVIEW.

Масштабирование и Печать

Масштабирование

В предыдущем примере, размеры изображения страницы определялись исключительно размерами объекта Shape. Если вы измените свойство Width объекта Shape и сделаете его в два раза меньше, то тогда вы заметите, что просматриваемый имидж также деформировался.

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

Скопировать Код
    PROCEDURE Show
        LPARAMETER iMode
        IF NOT ISNULL( THIS.ListenerRef )
            LOCAL nWidthInches, nHeightInches
            nWidthInches  = THIS.ListenerRef.GetPageWidth()/960
            nHeightInches = THIS.ListenerRef.GetPageHeight()/960
            * Допустим: Определяем масштаб как 50% на экране с 96 DPI :
            THIS.Canvas.Height = INT( nHeightInches * 96 * 0.5 )
            THIS.Canvas.Width  = INT( nWidthInches * 96 * 0.5 )
        ENDIF
        DODEFAULT( iMode )
    ENDPROC

Это самое подходящее место для данного кода, потому что ReportListener гарантированно запустит метод контейнера просмотра Show(), в тот момент, когда методы GetPageHeight() и GetPageWidth() вернут корректные значения для заданного отчета, т.к. метод SetReport() будет вызван раньше.

Печать

Вы можете указать, что отчет должен быть распечатан, с помощью вызова метода приемника отчета OnPreviewClose() с параметром .Т. в момент закрытия формы.

Устанавливаем по Умолчанию

Вы можете подменить стандартный контейнер просмотра на просмотр под управлением объекта. Для этого, добавьте несколько строк в начале программы описания класса SimplePreview:

Скопировать Код
*-----------------------------------------
* simplepreview.prg
*-----------------------------------------
LPARAMETER loPreviewContainerRef
* передача параметра по ссылке (т.е. косвенно)
loPreviewContainerRef = CREATEOBJECT("SimplePreview")
RETURN

DEFINE CLASS SimplePreview AS Form
:

Теперь эта программа пригодна для определения _REPORTPREVIEW, и определяет контейнер просмотра, когда бы он ни запрашивался объектом ReportListener выполняя команду REPORT… PREVIEW в режиме под управлением объекта (т.е. с оператором OBJECT).

Вы можете испытать это в командном окне:

Скопировать Код
_REPORTPREVIEW = "simplepreview.prg"
SET REPORTBEHAVIOR 90
report form (HOME()+"Tools\Filespec\60frx2.frx") preview

Едем Дальше ...

Смотри Усиление Контейнера Просмотра Отчетов по Умолчанию

Смотри Также

Ссылки

Объект ReportListener
Системная Переменная _REPORTOUTPUT
Системная Переменная _REPORTPREVIEW
Метод OutputPage()
Объект Container
Объект Управления Shape

Послать ваши комментарии об этой статье to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод LS


Leveraging the Default Preview Container

Visual FoxPro 9.0
Усиление Штатного Контейнера Предварительного Просмотра Отчетов
Смотри Также

Чтобы представить вам SET REPORTBEHAVIOR 90 настройки, Visual FoxPro поставляется со штатным контейнером просмотра ReportPreview.App. Он находиться в папке HOME(), на ряду с другими инструментами, и ссылка по умолчанию на него находится в системной переменной _REPORTPREVIEW.

Данная статья описывает потенциальные возможности Контейнера Просмотра, предоставленные приложением ReportPreview.App, в дополнение к стандартному API Контейнеру Просмотра.

Предварительно ознакомьтесь

  • API Контейнер Просмотра

  • Системная Переменная REPORTPREVIEW

Диаграмма Объекта

Следующая иллюстрация показывает диаграмму штатного контейнера просмотра, что с ним проиходит после того, как механизм отчета вызывает метод Show(). До этого момента, объекты oForm и oForm.Toolbar могут не быть еще установлены:

Visual FoxPro Preview Object Diagram graphic

Используется объект-посредник для того, чтобы обеспечить выполнение многочисленных команд REPORT FORM… PREVIEW в режиме под управлением объекта, данный контейнер просмотра может устанавливать один из числа определенных подклассов класса frxPreviewForm, в качестве ссылки oForm:

Название Класса | Родительский Класс | Примечание
Form | n/a | Базовый класс формы Visual FoxPro.
frxBaseForm | Form | Осуществяет обработку ошибок и поддежку больших шрифтов.
frxPreviewForm | frxBaseForm | Приводит в исполнение API контейнер просмотра. .ShowWindow = 1 - на форме переднего плана (top-level)
frxPreviewAsTopForm | frxPreviewForm | .ShowWindow = 2 - как форма переднего плана (top-level)
frxPreviewInScreen | frxPreviewForm | .ShowWindow = 0 - на экране Visual FoxPro
frxPreviewInDesktop | frxPreviewForm | .Desktop = .T.

Свойства и методы, описанные ниже, являются элементами объекта frxPreviewProxy.

Дополнительные Свойста и Методы

В дополнение к стандартному API контейнеру просмотра, компонент по умолчанию, возвращаемый ReportPreview.App, предосталяет другие свойства и методы, которые используются для управленя внешним обликом окна просмотра, когда используется режим просмотра отчета под управлением объекта (object-assisted).

Свойсва

Данные свойства управляют только начальным состоянием окна просмотра. Если установлены значения, отличные от значений по умолчанию, то эти значение свойств получают приоритет над какими-либо предпочнениями, хранящимися в файле ресурсов (обычно FoxUser.dbf).

Название свойства | Тип | Описание
Top | I целый | Определяет вертикальное смещение формы просмотра относитель верхнего края главного окна Visual FoxPro, в пиксел.
Left | I целый | Определяет горизонтальное смещение формы просмотра относительно левого края главного окна Visual FoxPro, в пиксел.
Width | I целый | Определяет размер по горизонтали формы просмотра в пиксел.
Height | I целый | Определяет размер по вертикали формы просмотра в пиксел.
ToolbarIsVisible | L логический | Определяет, должна ли панель инструментов быть изначально видимой.
Caption | C символьный | Определяет заглавие окна просмотра.
CanvasCount | I целый | Определяет первоначальное количество страниц, изображенных на форме. Допустимые значения - 1, 2, или 4.
ZoomLevel | I целый | Определяет первоначальную степень масштабирования. Возможные значения: 1 - 10% 2 - 25% 3 - 50% 4 - 75% 5 - 100% (по умолчанию) 6 - 150% 7 - 200% 8 - 300% 9 - 500% 10 - страница целиком
CurrentPage | I целый | Определяет номер страницы, показанной изначально. По умолчанию - 1. Если он больше, чем количество страниц в отчете, то будет показана последняя страница.
TopForm | L логический | Если = .Т., то определяет форму просмотра как автономную переднего плана. Этим самым установит немодальный (NOWAIT) сеанс просмотра и панель инструментов (toolbar) автоматически пристыкуется к вехнему краю формы. Значение по умоляанию - ЛОЖЬ (.F.).
TextOnToolbar | L логический | Определяет, что на кнопках панели инструментов будут показывать текстовые заголовки. Значение по умоляанию - ЛОЖЬ (.F.).

Методы

В дополнение к методам, определенным API Контейнером Просмотра , штатный контейнер просмотра также предоставляет все общедоступные методы базового класса формы.

Ниже перечисленные дополнительные методы, которые могут вызываться тосле того, как контейнер просмотра стал видимым:

Метод | Описание
SetCurrentPage( iPageNo ) | Переместиться на станицу с заданным номер.
SetCanvasCount( iCount ) | Изменить количество страниц, изображаемых на форме просмотра.
SetZoomLevel( iLevel ) | Отмасштабировать показанные страницы.
SetExtensionHandler( oRef ) | Назначить программу обрабатки расширенных функциональных возможностей. (Смотри ниже)

Интерфейс Программы Обработки Расширенных Функциональных Возможностей

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

Используйте SetExtensionHandler(), чтобы передать штатному контейнеру просмотра ссылку на объект, который обеспечивает выполнение определенного набора "перехватывающих" методов, выполняемых в определенные моменты. Смотри ниже API и пример использования.

Свойства Обработчика Расширенных Возможностей Просмотра

Свойство Описание

PreviewForm

Обратная ссылка на форму просмотра. Если этого свойства нет, то оно будет создано штатным контейнером просмотра вызовом функции ADDPROPERTY(), и ему будет присвоена ссылка на форму просмотра. Контейнер просмотра автоматически обнуляет обратную ссылку перед тем, как закрыться, дабы избежать зависания, которое не позволит закрыться форме.

Полезные свойства .PreviewForm:

  • .PreviewForm.oReport ссылается на активный приемник отчета

  • .PreviewForm.Toolbar ссылается на объект панели инструментов.

Метобы Обработчика Расширенных Возможностей Просмотра

Данные методы должны обеспечиваться обработчиком расширенных возможностей.

Метод Описание

AddBarsToMenu( cPopupName, iNextBarNum )

Данный метод вызывается из события RightClick() формы просмотра, непосредственно перед командой ACTIVATE POPUP (m.cPopupName), таким образом вы можете удалить пункты меню или изменить их.

cPopupName - название пункта меню.

iNextBarNum - следующий доступный номер пункта в меню.

Так как вы не можете использовать ключевое слово THIS в меню в команде ON SELECTION.. , форма просмотра делает ссылку на саму себя и помещает ее в переменную oRef.

HandledKeyPress( nKey, nModifier )

Данный метод вызывается из события Keypress() формы просмотра. Возвращайте ИСТИНА (.T.), если вы желаете заменить штатную реакцию на нажатие определенной клавищи. Этот метод вызывается до обработки нажатия клавиши формы просмотра, таким образом, вы можете переписать события нажатия отдельных клавиш..

Show( iStyle )

Данный метод вызывается из события Show() формы просмотра. он дает вам возможность управлять панелью инструментов просмотра через ссылку на THIS.PreviewForm.Toolbar. На самом деле, панель инструментов сосздается в событии Init() формы просмотра, но обработчик расширенных возможностей еще не назначет на тот момент, таким образом, метод Show() - наилучшее место для кода, задающего конфигурацию и внешний облик панели инструментов.

Обратите внимание, что и панель инструментов также имеет обратную ссылку PreviewForm на форму просмотра , значит вы можете добавить командную кнопку с кодом THIS.Parent.PreviewForm.ExtensionHandler.MyCustomMethod() на событие Click().

Paint()

Вызывается из события Paint() формы просмотра, после того, как завершилось формирование изображения стрниц отчета.

Release()

Вызывается из события Release(). Возвращая ЛОЖЬ (.F.) из этого метода, вы можете запретить закрытия формы просмотра.

Пример: Настройка Контейнера Просмотра с Применением Обработчика Расширенных Возможностей

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

Cкопировать Код
* Установить экземпляр штатного контейнера просмотра:
pc = .NULL.
DO (_REPORTPREVIEW) WITH pc

* Установить некоторые начальные значения свойств:
WITH pc
    .Caption = "Мое Собственное Окно Просмотра"
    .ZoomLevel = 4   && 75%
    .CanvasCount = 1
ENDWITH

* Создать экземпляр Обработчика Расширений:
xh = NEWOBJECT("MyRetroPreview")

* Назначить его контейнеру просмотра:
pc.SetExtensionHandler( m.xh )

* Установить приемник отчета и передать ему  наш контейнер просмотра:
rl = NEWOBJECT("Reportlistener")
rl.ListenerType = 1
rl.PreviewContainer = pc

* Запустить отчет:
REPORT FORM (_SAMPLES+"\solution\reports\colors.frx") OBJECT rl
RETURN

*---------------------------------------------
* Класс Обработчика Расширений:
*---------------------------------------------
DEFINE CLASS MyRetroPreview AS Custom

    PROCEDURE AddBarsToMenu( cPopup, iNextBar )
        * Убрать возможность изменения количества страниц:
        RELEASE BAR 8 OF (m.cPopup)
    ENDPROC

    PROCEDURE Show( iStyle )
        * Убрать возможность изменения количества страниц:
        THIS.PreviewForm.Toolbar.opgPageCount.Visible = .F.
        THIS.PreviewForm.CanvasCount = 1
    ENDPROC

    PROCEDURE HandledKeyPress( nKeyCode, nShiftAltCtrl )
        RETURN .F.
    ENDPROC

    PROCEDURE Paint()
    ENDPROC

    PROCEDURE Release()
        RETURN .T.
    ENDPROC

ENDDEFINE

Использование Файла Ресурсов

Штатный контейнер просмотра использует текущий файл ресурсов (имя которого возвращается по команде SET("RESOURCE",1) ), чтобы запоминать размер, позиции, количество видимых страниц, масштаб, и т.д и т.п, для каждого файла отчета.

Предпочтения к окну и панели инструментов сохраняются в таблице FOXUSER, с полем ID = "9REPPREVIEW". Предпочитаемые размеры и расположения окна и панели инструментов сохраняются самостоятельно для каждого файла отчета. Позиция и строение панели инструментов просмотра общие для всех просмотров отчета. Если файл ресурсов недоступен или открыт только для чтения, то предпочтения не сохраняются.

Смотри Также

Задачи

Создание Своего Контейнера Просмотра

Ссылки

Команда SET REPORTBEHAVIOR
Объект ПриемникОтчета (ReportListener)

Концепции

Понимание Создание Отчетов под Управлением Объекта (Object-Assisted) в Visual FoxPro

Отправте ваши комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод LS


How to: Specify and Distribute ReportPreview.App

Visual FoxPro 9.0
Как: Определять и Распостранять ReportPreview.App
Смотреть также

Когда Вы пишите и распространяете приложения Visual FoxPro, Вы вероятно позволите использовать пользователям функцию предварительного просматра отчетов на экране. Если Вы желаете улучшить предварительный просмотр отчета в вашем приложении новым механизмом object-assisted отчет, то Вы должны выбрать :

  • Напишите ваш собственный заказной контейнер предварительного просмотра, как описано в Создание собственного контейнера просмотра.

  • Распространяте ReportPreview.App вместе с вашим приложением.

В этой теме, Вы узнаете, как повторно распространять ReportPreview.App, задать умолчания report preview factory приложению, двумя способами:

  • Отдельным файлом App вместе с вашим собственным приложением

  • Интегрируйте исходные коды непосредственно в ваше собственное приложение.

Повторное распространение ReportPreview.App с Вашим Приложением

По умолчанию, если ReportPreview.App существует в том же самом каталоге, поскольку Визуальные FoxPro файлы во время выполнения, тогда _REPORTPREVIEW будут содержать полностью-квалифицированный путь и имя файла. Одно решение состоит в том, чтобы гарантировать, что программа установки имела обыкновение распределять ваше приложение, размещает ReportPreview. Приложение в том же самом каталоге как файлы во время выполнения. Альтернативно, Вы можете распределить ReportPreview. Приложение в том же самом каталоге как ваше приложение, если Вы явно устанавливаете _REPORTPREVIEW в ту копию файла.

Распространение ReportPreview.App с вашим приложением

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

    Копировать код
    * Получить каталог запуска приложения:
cHomeDir = CURDIR()  && используйте любой метод, который Вы предпочитаете
*Установить системную переменную, чтобы использовать полностью-квалифицированный путь:
_REPORTPREVIEW = m.cHomeDir+"ReportPreview.App"
:

Вы можете также использовать строку в CONFIG.FPW:

_REPORTPREVIEW=<path>\ReportPreview.App

Интегрирование иходных кодов report preview factory в Ваш Проект

Вместо того, чтобы распределять оттранслированную прикладную программу, Вы можете выбрать включить, исходный код report preview factory непосредственно в проект вашего приложения.

Интегрировать источник фабрики контейнера предварительного просмотра в ваше приложение

  1. Распакуйте xsource.zip файл, найденный в подпапке Tools\xsource\ в основном каталоге с установленным Visual FoxPro.

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

    Копировать код
    * Гарантирует, что построитель поместит в проект коды отчета :
EXTERNAL PROCEDURE frxpreview.prg
* Установить системную переменную, чтобы использовать локальную исходную версию:
_REPORTPREVIEW = "frxpreview.prg"
:

  3. Перестройте ваш проект.

    Файлы исходных кодов report preview factory будут добавлены к вашему проекту и будут вкомпилированы в ваше приложение.

Общедоступные Исходные файлы

ReportBuilder. Приложение и ReportPreview.App имеет следующие исходные файлы общего использования:

  • frxControls.vcx

  • frxCommon.prg

  • grabber.gif

  • wwrite.ico

  • foxpro_reporting.h

The Project Manager создаст в проекте вашего приложения только одну копию каждого из этих файлов, в зависимости от порядка инструкций EXTERNAL в вашей основной программе.

Смотреть также

Задачи

How to: Specify and Distribute Report Output Application Components
How to: Specify and Distribute ReportBuilder.App

Ссылки

_REPORTPREVIEW System Variable
Including Report Files for Distribution

Концепции

Application Distribution Process

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Extending Report Output Functionality

Расширенные функции по выводу отчетов

В системе отчетов Visual FoxPro 9 Приложение Вывода Отчетов (Report Output Application) обеспечивает создание экземпляров классов, порожденных от класса ReportListener, для использования при прогоне объектно-ориентированных отчетов.

В этом разделе

Приложение Вывода Отчетов (Report Output Application)

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

Использование отчета вывода XML (VFP Report Output XML)

Описывает базовую схему отчета XML для Visual FoxPro и ее многочисленные дополнительные элементы. Вы можете использовать Приложение Вывода Отчетов по умолчанию для генерации вывода отчета XML в среде VFP. В Вашем приложении или в дополнительных инструментах XML может обеспечить множество дополнительных выводов результата.

Соглашения по созданию новых типов вывода отчета

Перечисляет критерии для разработки новых компонентов выводов, которые должны быть зарегистрированы с Приложением Вывода Отчетов.

Связанные разделы

Понимание объектно-ориентированной системы отчетов Visual FoxPro

Расширенные функции предварительного просмотра отчета

Распространение отчетов с приложениями

Системная переменная _REPORTOUTPUT

Команда SET REPORTBEHAVIOR
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


Report Output Application

Приложение Вывода Отчета (Report Output Application)

Приложение Вывода Отчета обеспечивает объект ReportListener ссылками к системе обработки отчетов Visual FoxPro во время прогона отчета (run time). Вы назначаете приложение или программу для этой цели с помощью указанного имени его файла в системную переменную _REPORTOUTPUT. ReportOutput.app файл, расположенный в главном катологе Visual FoxPro, обеспечивает установки по умолчанию Приложение Вывода Отчета.

Требования к Приложению Вывода Отчета довольно просты. Для полного списка этих требований и для дальнейших рекомендаций смотри Системная переменная _REPORTOUTPUT.

ReportOutput.app обеспечивает улучшенный вывод следующим обоазом:

  • Управление кэшированием ссылок на объект Listener .
  • Обеспечение новые возможности по выводу результатов с помощью поставки ссылок к классам ReportListener XML Foundation и ReportListener HTML Foundation. Для более подробной информации, смотреть ReportListener Foundation Classes.
  • Улучшением времени реакции при выводе на обычную печать и при выводе на предварительный просмотр, с помощью ссылок к классу ReportListener User Feedback Foundation.
  • Управление регистрацией типов вывода для расширений, добавляемым пользователем, и новых выводов результатов.

Этот раздел охватывает функциональные возможности Приложение Вывода Отчета (ReportOutput.app) по умолчанию.

В этом разделе

Как работает Приложение Вывода Отчета
Описывает функциональные возможности Приложение Вывода Отчета по умолчанию.
Как:описать альтернативную таблицу регистрации вывода отчета

Describes how to create the Report Output Application's registry table and how to indicate the registry table you want the Report Output Application to use.

Как:регистрировать Custom ReportListeners и Custom OutputTypes в Таблице Регистрации вывода отчета
Описывает как добавить Ваши данные в таблицу регистрации Приложения Вывода Отчета.
Как: использовать Коллекцию Ссылок Приложения Вывода Отчета
Описывает как использовать коллекцию ссылок Приложения Вывода Отчета к объектам ReportListener.
Как: Описать и распространить компоненты Приложения Вывода Отчета
Предоставляет инструкции для распространения таблицы регистрации Приложения Вывода Отчета и других программных компонентов с Вашими приложениями.

Связанные разделы

_REPORTOUTPUT System Variable

Как работает объектно-ориентированная система обработки отчетов Visual FoxPro

Соглашения по созданию новых типов вывода отчетов
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


Understanding the Report Output Application

Как работает приложения вывода отчета (Report Output Application)
См.также

По умолчанию приложение вывода отчета (ReportOutput.app) соответствует стандартным требованиям приложения, описанном в переменной _REPORTOUTPUT.

  • Оно принимает два параметра, первый из которых должен иметь числовое значение.

  • Второй параметр - ссылка на объект, например, производный от класса ReportListener.

  • Класс, для которого он поставляет экземпляр, определяется значением в первом параметре.

  • В случае удачи при получении ссылки на объект соответствующего класса, оно назначает величину первого параметра свойству OutputType объекта.

Note Замечание

Для полной информации о требованиях для Приложения вывода отчета см. _REPORTOUTPUT системная переменная.

Этот раздел охватывает детали выполнения этих требований приложением вывода отчета. От также описывает некоторые дополнительные возможности, поставляемые по умолчанию данным приложением.

ReportOutput.app ReportListener Коллекция ссылок

Вы можете явно присвоить переменной ссылку на объект ReportListener, если Вы вызовите приложение вывода отчета используя следующий синтаксис:

CopyCode image Copy Code
LOCAL loRef
do (_REPORTOUTPUT) with <N>, loRef
IF ISNULL(loRef)
   *Приложение вывода отчета не распознало значение <N>
ELSE
   ? loref.outputtype
   ? loref.class
ENDIF

Однако, во многих случаях ReportOutput.app обеспечивает ссылку на объект ReportListener без Вашего явного назначения переменной для ссылки. Это ситуация появляется если Вы установили значение SET REPORTBEHAVIOR в 90, или Вы используете выражение OBJECT TYPE <N> в Вашей команде REPORT FORM или LABEL.

ReportOutput.app поддерживает глобальную переменную, _oReportOutput, производную от базового класса "Collection" . Она хранит ссылку на объект производный от ReportListener, для которого она обеспечивает ссылку в этом наборе. Коллекция ссылок на объекты ReportListiner имеет глобальную область видимости, поэтому Вы можете с успехом использовать ее повторно для множества отчетов, не обращая внимания на то, как или где Вы пытаетесь получить ссылку.

Обеспечивая область действия ReportListener, используя коллекцию ссылок для ReportOutput.app или подобную стратегию необходимо для того, чтобы поддержать связь множества отчетов с одним выходным результатом.

Вы можете извлечь ссылку на объект из набора используя строковое значение соответствующего OutputType, как ключ коллекции:

CopyCode image Copy Code
#DEFINE PRINT_MODE 0
REPORT FORM ? OBJECT TYPE PRINT_MODE
LOCAL loRef
loRef = _oReportOutput[TRANSFORM(PRINT_MODE)]
? loRef.OutputType  && Будет 0
? loRef.PageTotal && будет общим количеством страниц
                  && с последнего запуска печати

Для большей информации см. Как: Использовать коллекцию ссылок приложения вывода отчета.

Note Это важно

ReportOutput.app резервирует права на использование дополнительного значения ключа в этой коллекции для других пользователей за исключением ссылок на объект ReportListener. Например, если Вы определите пользовательскую таблицу регистрации вывода отчета, то имя этой таблицы сохранится в коллекции ссылок. Для большей информации см. Как: Описать альтернативную таблицу регистрации вывода отчета.

ReportOutput.app Расширенные параметры

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

CopyCode image Copy Code
DO ReportOutput.app WITH ;
   nListenerType [,eListenerReference [,eUnload]]

Этот раздел описывает обработку каждого параметра ReportOutput.app.

Первый параметр: nListenerType

Когда обрабатывается параметр nListenerType, ReportOutput.App принимает все номера больше чем или равные -1 для  обеспечения объекта ReportListener ссылкой правильного типа. -1 это значение по умолчанию свойства ListenerType объекта ReportListener.

Note Примечание

Если nListenerType числовая, но не целочисленная переменная, ReportOutput.app принимает значение, но использует целую часть принимаемого значения как требуемый тип.

Если nListenerType равен -1, он обеспечивае ссылку к экземпляру объекта базового класса ReportListener. Если он больше чем -1, ReportOutput.app начинает процесс обработки для определения какой класс, порожденный от ReportListener будет обеспечивать ссылку, как следует ниже:

  • ReportOutput.app в первую очередь проверяет имеет ли он кэшированную ссылку к объекту, заранее созданную для этой переменной. Если она находится, то повторно используется эта ссылка.
  • Если кэшированная ссылки не доступна, ReportOutput.app проверяет свою таблицу регистрации для любой команды пользователя, связанной с этим значением. Таблица регистрации описывается в последнем разделе этой темы.
  • Если нет доступных команд пользователя, используются встроенные команды по умолчанию, перечисленные в следующей таблице.
nListenerType значение | Класс, обеспечивающий ссылку по умолчанию к ReportListener
0 | ReportListener User Feedback Foundation Class
1 | ReportListener User Feedback Foundation Class
2 | ReportListener Baseclass
3 | ReportListener Baseclass
4 | ReportListener XML Foundation Class
5 | ReportListener HTML Foundation Class
999 | ReportListener Debug Foundation Class
Note Примечание

Имейте ввиду, что взятый в отдельности ReportListener класс может управлять множеством значений nListenerType. ReportOutput.app назначает величину nListenerType , которая изменяет свойство OutputType объекта. Значение этого свойства является частью описанных требований для любого Приложения Вывода Отчета. Если объект является экземпляром класса, порожденного от ReportListener, ReportOutput.app проверяет объект и решает нужно ли переназначить свое собственное свойство ListenerType, базирующееся на OutputType, или оставить его нетронутым. Если объект является экземпляром базового класса ReportListener, ReportOutput.app присваивает значение nListenerType свойству ListenerType объекта. Для большей информации см. Свойство OutputType(Visual FoxPro) и Свойство ListenerType .

ReportOutput.app резервирует все значения nListenerType меньше, чем -1 для для расширения своей функциональности. Два таких значения -100 и -200 описаны ниже.

Второй параметр: eListenerReference

ReportOutput.app обрабатывает свой второй параметр eListenerReference, как необязательный. Если он не получен, ReportOutput.app просто сохраняет ссылку на экземпляр соответствующего класса ReportListener в свою коллекцию ссылок. Такое режим работы дает вам возможность установить различные ссылки на ReportListener до того, когда они потребуются для распечатки отчета.

Если ReportOutput.app получает свой параметр eListenerReference, он принимает либо объявленную переменную, как показано в примере в предыдущем разделе, либо символьную строку, представляющую переменную. Если Вы принимаете символьную строку в качестве переменной, или если переменная, представленная символьной строкой не существует, ReportOutput.app инициализирует переменную, как ГЛОБАЛЬНУЮ.

Вы можете также использовать символьную строку в качестве параметра eListenerReference, если Вы хотите назначить ReportListener в качестве члена объекта. Например:

CopyCode image Copy Code
#DEFINE PREVIEW_MODE 1
Ox = CREATEOBJECT("custom")
Ox.addProperty("myReportListener")
DO (_REPORTOUTPUT) WITH PREVIEW_MODE, "ox.myReportListener"
REPORT FORM ? OBJECT ox.MyReportListener
? ox.myReportListener.Name

Если член объекта не существует но ReportOutput.app может подтвердить, что сам объект существует, то этот член создается. Для этой цели используется контейнерная иерархия объекта. Например:

CopyCode image Copy Code
#DEFINE PREVIEW_MODE 1
Ox = CREATEOBJECT("form")
Ox.addobject("myChildObject","custom")
DO (_REPORTOUTPUT) WITH PREVIEW_MODE, "ox.myChildObject.RL"
REPORT FORM ? OBJECT ox.myChildObject.RL
? ox.myChildObject.RL.PageTotal

Третий параметр: eUnload

Вы можете освободить ссылку ReportListener из коллекции ссылок ReportOutput.app явно, см. далее:

CopyCode image Copy Code
#DEFINE PRINT_MODE 0
_oReportOutput.Remove[TRANSFORM(PRINT_MODE))

Однако, ReportOutput.app предусматривает третий параметр, поэтому Вы можете запросить приложение управлять этой ссылкой для Вас, прямо без адресации к коллекции напрямую. Параметр позволит Вам явно освободить ссылку или освободить и немедленно получить новый экземпляр, как показано в следующем примере.

CopyCode image Copy Code
#DEFINE PRINT_MODE 0
#DEFINE OUTPUTAPP_LOADTYPE_RELOAD 2
   DO (_reportoutput) WITH ;
      PRINT_MODE , ox, OUTPUTAPP_LOADTYPE_RELOAD

Далее рассматриваются значения параметра eUnload.

eUnload значение параметра e | Использование
Не передается, логический (.F.), или передается, но не логический или числовой тип. | Игнорируется. ReportOutput.app обеспечивает стандартный режим работы: загружает ReportListener или выполняет другое действие определенное значением свойства nListenerType .
Логический (.T.) или числовое значение 1. | ReportOutput.app не предусматривает ссылку на объект ReportListener. Проверяет использование объектом ReportListener ключа, установленного nListenerType, и удаляет этот ReportListener из своей коллекции, если он найден.
Все числовые значения больше 1. | ReportOutput.app удаляет ссылку на объект ReportListener из своей коллекции, если найдет, и затем перезагружает подходящую ссылку. Сохраняет эту ссылку в переменной, отображаемой в параметре eListenerReference .

Таблица регистрации ReportOutput.app ReportListener

ReportOutput.app обеспечивает значение по умолчанию ссылки на объект ReportListener, в соответствии с таблицей, содержащей значения nListenerType и названий классов из предыдущего раздела. Вы можете использовать таблицу регистрации для перезаписи этих установок.

ReportOutput.app использует ту же конфигурацию или структуру таблицы регистрации, как ReportListener Foundation классы используют для сохранения своей конфигурационной информации. Последующий код показывает Вам базовую структуру этой таблицы. Вы можете добавлять поля в эту таблицу любого типа, а порядок полей не важен ни в компонентах Report Output Application, ни Foundation классах.

CopyCode image Copy Code
CREATE TABLE (CONFIG_TABLE_NAME) ;
   (objtype i, ;
    objcode i, ;
    objname v(60), ;
    objvalue v(60), ;
    objinfo m)

И ReportOutput.app и ReportListener Foundation классы обеспечивают возможность создания таблицы для Вас. Для большей информации по созданию таблицы и назначению ее, как Вашей таблицы регистрации приложения вывода отчета (Report Output Application) , см. Как: Описать альтернативную таблицу регистрации приложения вывода отчета.

Note Примечание

ReportOutput.app и ReportListener Foundation классы используют эту структуру таблицы по разному и требуют различных индексов. Однако, не имеет значения какой компонент создает таблицу или Вы создаете ее, как пустую таблицу, как показано в примере кода выше. Каждый компонент будет создавать любые записи и индексы, которые ему нужны при обращении к этой таблице.

ReportOutput.app резервирует область 100-999 для значений поля OBJTYPE в таблице конфигурации. Он использует значение поля OBJTYPE 100 для представления регистрационных записей класса ReportListener. Следующая таблица показывает использование записей в таблице для целей регистрации ReportListener.

Поле | Применение | Примечания
OBJTYPE | 100 | Значение 100 в этом поле соответствует записи регистрации ReportListener .
OBJCODE | nListenerType | Значение этого поля связано с первым параметром ReportOutput.app.
OBJNAME | Класс | Это имя класса может быть ReportListener (базовый класс).
OBJVALUE | Библиотека классов (.vcx) или процедурный файл (.prg), содержащий описания классов. | Может быть пустым, если имя класса ReportListener.
OBJINFO | Модуль/Приложение, содержащее библиотеку. | Может быть пустым, если библиотека классов встроено в Ваше приложение.

ReportOutput.app описывает значение поля Objtyp 110 для сохранения другой конфигурационной информации для своего собственного использования. Он использует записи со значением поля Objtyp 110 и значениями поля Objcode 1 для фильтрации записей регистрации ReportListener, основанной на критериях пользователя. Записи со значением поля Objtyp 110 и любыми другими значениями поля Objcode резервируются для использования для других конфигураций ReportOutput.app, но не текущих.

Следующая таблица показывает использование полей таблицы регистрации для фильтрации записей.

Поле Применение Примечания

OBJTYPE

110

Значение 110 в этом поле соответствует записи конфигурации ReportOutput.app.

OBJCODE

1

Значение 1 в этом поле для записи с значением в поле Objtype 110, есть запись фильтра.

OBJNAME

не используется

Поле игнорируется

OBJVALUE

не используется

Поле игнорируется

OBJINFO

Выражение для фильтра

Выражение, которое Вы введете в это поле включается в выражение поиска (LOCATE) когда ищется таблица регистрации для требуемого класса с заданным значением nListenerType. Команда LOCATE конструируется следующим образом:

CopyCode image Copy Code
#DEFINE OUTPUTAPP_OBJTYPE_LISTENER    100
   LOCATE FOR ObjType = ;
   OUTPUTAPP_OBJTYPE_LISTENER AND ;
   (ObjCode = iType)  ;
   &cFilter ;
   AND (NOT DELETED())

For more information, see How to: Register Custom ReportListeners and Custom OutputTypes in the Report Output Registry Table.

Возвращаемые значения от ReportOutput.app

Приложение Вывода Отчета должно быть модальным , потому что требуется возврат значения в обработчик отчетов (Report Engine) , как часть процесса обработки команд REPORT FORM или LABEL. Visual FoxPro получает это возвращенное значение используя параметр eListenerReference, который передается по ссылке; собственный обработчик не распознает возвращенное значение от ReportOutput.app.

Однако, ReportOutput.app не возвращает значение, если Вы вызвали его, как функцию, показывая результат выполнения задачи через параметр nListenerType:

CopyCode image Copy Code
? ReportOutput(5, "oRL")
* returns .T.
DISPLAY MEMO LIKE oRL
* Shows that the call above
* declares the variable oRL PUBLIC if
* it is not already in scope,
* because it was passed as a string
* stores a reference to the HTMLListener
* Foundation class in this variable.
? ReportOutput(25,"oRlx")
* returns .F.
DISPLAY MEMO LIKE oRLx
* Shows that the call above does
* not declare the variable oRLx

ReportOutput.app Настройки компиляции

Исходный код ReportOutput.app доступен в архивированном виде в папке XSource в каталоге Visual FoxPro \Tools. Для большей информации см. Папка XSource .

Вы можете включить исходный код ReportOutput.app в Ваше приложение. Для большей информации см. Включение файлов отчетов в дистрибутив. В этом случае Вы можете редактировать константы, определенные для данного приложения, которые находятся в файле заголовка ReportOutput.h, для правильной настройки Вашего приложения.

Ниже в таблице приведены примеры значений в файле заголовка доступные для настройки.

#DEFINEd константа | Значение по умолчанию | Изменить это значение на:
OUTPUTAPP_INTERNALDBF | "_ReportOutputConfig" | Имя построенной таблицы регистрации.
OUTPUTAPP_EXTERNALDBF | "OutputConfig" | Имя таблицы регистрации на диске по умолчанию.
OUTPUTAPP_REFVAR | _oReportOutput | Имя глобальной переменной для коллекции ссылок.
OUTPUTAPP_BASELISTENER_CLASSLIB | "Listener.VCX" | Имя библиотеки, содержащей ReportListener класс по умолчанию.
OUTPUTAPP_CLASS_PRINTLISTENER | "UpdateListener" | Имя класса, используемого по умолчанию для обработки значения 0 (печать) параметра eListenerType.

Смотри также

Концепции

Соглашения для Создания новых типов вывода отчета

Другие ресурсы

ReportListener Foundation Classes

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Specify an Alternate Report Output Registry Table

Как: описать альтернативную таблицу регистрации вывода отчета

По умолчанию приложение вывода отчета поддерживает таблицу регистрации, в которой можно определить классы, порожденные от класса ReportListener, для различных типов выводных результатов:

  • Создать новую таблицу регистрации.
  • Определить приложению вывода отчета как использовать эту таблицу во время исполнения.
  • Выяснить, какую таблицу регистрации приложение вывода отчета использует в текущий момент.
Note Замечание
Некоторые из кодов в этом разделе используют системную переменную _REPORTOUTPUT для вызова ReportOutput.app. _REPORTOUTPUT может содержать имя другого приложения вывода отчетов в вашем окружении. В этом случае, замените HOME() + ReportOutput.app, или подобный код, чтобы вызывать по умолчанию приложение вывода отчетов. Там, где инструкции назначают имя и место пользовательской таблицы регистрации, замените на ваше имя и место нахождение

Для большей информации об использовании таблицы регистрации с вашими классами и расширениями возможности вывода, смотри Как: зарегистрировать пользовательские классы ReportListener и Пользовательские типы вывода в таблице регистрации Приложения Вывода Отчета.

Для большей информации о формате таблицы регистрации, смотри Как работает Приложения Вывода Отчета.

Создание таблицы регистрации вывода отчетов

Вы можете использовать или ReportOutput.app или фундаментальный класс ReportListener для создания таблицы,потому что они используют один и тот же формат таблицы конфигурации.
Note Замечание
Эти два метода могут создавать различные образцы и записи конфигурации в таблице, и они могут, в общем случае, включать различные наборы индексов. Если вы разделяете таблицу регистрации между различными компонентами отчета, каждый компонент, использующий таблицу, проверяет содержимое таблицы в соответствии со своими собственными требованиями. Если необходимо, каждый компонент способен добавить свои собственные записи и индексы налету ("on-the-fly").

Создание новой таблицы регистрации вывода отчетов с помощью ReportOutput.app

  1. В командном окне или в программе(.prg), используйте следующий код:

    CopyCode image Копировать код
    * #DEFINE OUTPUTAPP_CONFIG_WRITE -100
DO (_REPORTOUTPUT) WITH -100
  2. ReportOutput.Аpp создает таблицу с именем OutputConfig.DBF, и соответствующее Мемо (.fpt) и структурные индексные файлы (.cdx), в том же самом месте, где находится ReportOutput.App (обычно, каталог Visual FoxPro или HOME() ).
  3. ReportOutput.App отображает BROWSE этой новой таблицы, так что можно проверить ее содержимое. Содержимое будет включать записи, требуемые для ReportListener XML Foundation Class, плюс некоторые удаленные записи, служащие образцами различных типов записей регистрации.
  4. Вы можете увидеть удаленную запись для debugListener, ReportListener Debug Foundation Class. Эта запись показывает, как выглядит запись регистрации ReportListener в соответствии с требованиями ReportOutput.App.
  5. Вы также можете увидеть среди удаленных записей две записи ObjType со значением 1000. Это значение находится в диапазоне, зарезервированным для использования utilityReportListener, утилитой ReportListener и File-handling Foundation Class. Одна запись показывает как создать запись конфигурации для установки свойства класса и другая - как создать запись конфигурации для вызова метода. Для большей информации о том, как этот класс и его производные используют записи конфигурации, смотри ReportListener Utility и File-handling Foundation Class.
  6. Вы можете переименовать три файла OutputConfig.* и разместить их где-то еще на вашем диске для последующего использования.

Создание новой таблицы регистрации вывода отчетов с помощью ReportListener Foundation class

  1. Создайте экземпляр ReportListener Utility и File-handling Foundation Class, или от какого либо производного от ReportListener Foundation Class. Вы можете создать экземпляр этого класса используя библиотеку классов (vcx), встроенную в ReportOutput.app, или вы можете создать экземпляр класса, используя копию библиотеки классов, находящуюся в папке Visual FoxPro's FFC.
    CopyCode image Копировать код
    * "взять" копию прямо из ReportOutput.App:
#DEFINE CONFIG_REPORTLISTENER_CLASS "utilityReportListener"
oRL = NEWOBJECT(CONFIG_REPORTLISTENER_CLASS, ;
                "listener.vcx", ;
                _REPORTOUTPUT)
* - ИЛИ -
* прямой доступ к библиотеки  Foundation Class:
#DEFINE FFC_HOME HOME()+"FFC\"
oRL = NEWOBJECT(CONFIG_REPORTLISTENER_CLASS, ;
                FFC_HOME + "_reportListener.vcx")
    Note Подсказка
    Все фундаментальные классы ReportListener обеспечивают файл-ориентированный вывод, такие как ReportListener HTML Foundation Class, производные от ReportListener Utility and File-handling Foundation Class. Некоторые из этих классов нуждаются в таблице регистрации. Класс, который нуждается в таблице, проверяет наличие таблицы в момент его инициализации. Если таблица отсутствует, он создает ее копию в момент выполнения процедур инициализации и располагает в месте по умолчанию. Для большей информации, смотри ReportListener Utility и File-handling Foundation Class.
  2. Запрашивайте (Request) новую таблицу конфигурации из экземпляра ReportListener. Вы можете определить ее имя и расположение:
    CopyCode image Копировать код
    * если SAFETY уствновлен в ON, пытаемся переписать, если файл существует:
oRL.createConfigTable("c:\temp\myconfig.dbf")
*- ИЛИ -
* используем второй параметр для прямой перезаписи:
oRL.createConfigTable("c:\temp\myconfig.dbf", .T.)
    Note Подсказка
    Классы соблюдают установку SAFETY в вашем окружении, в том, что они предложат подтвердить переписать таблицу, если SET SAFETY установлено в ON и если вы не укажите второй параметр в методе createConfigTable как True (.T.). Для большей информации, смотри SET SAFETY Command. Если вы отклоняете предложение переписать таблицу при подсказке, классы предпринимают некоторые действия; они проверяют таблицу на наличие требуемых индексов и добавляют в таблицу необходимые для них записи.

Назначение вашей собственной таблицы регистрации для приложения вывода отчетов

В последнем разделе вы видели, что чтобы создать таблицу регистрации, вы можете вызывать ReportOutput.app, используя отрицательный номер (-100) в качестве первого параметра, передаваемого программе. ReportOutput.app интерпретирует отрицательные значения в этом параметре как специальные рутинные инструкции по поддержанию, нежели чем инструкции по своим нормальным задачам по снабжению ReportListener ссылками.

ReportOutput.app резервирует второе значение, -200, для того чтобы иметь возможность назначать название и расположение вашей собственной таблицы регистрации, как показано ниже.

Назначить вашу пользовательскую таблицу регистрации для использования приложением ReportOutput.app

  • Выполните следующую строку с кодом, замещая имя и путь вашей пользовательской таблицы регистрации:

    CopyCode image Копировать код
    * #DEFINE OUTPUTAPP_CONFIG_READ -200
DO (_REPORTOUTPUT) WITH -200,"c:\temp\myconfig.dbf"

Проверка текущей таблицы регистрации Приложения Вывода Отчетов

Во время исполнения, ReportOutput.app поддерживает коллекцию ссылок ReportListener. Для большей информации, смотри Как: использовать коллекцию ссылок Приложения Вывода Отчета. ReportOutput.app использует специальный член этой коллекции, который содержит имя своей таблицы регистрации. Вы можете использовать коллекцию ссылок для того, чтобы определить какая таблица регистрации используется в настоящий момент приложением ReportOutput.app. Вы также можете проверить название текущей таблицы регистрации, вызывая напрямую Приложение вывода отчета (Report Output Application).

Проверить имя текущей таблицы регистрации приложения ReportOutputю.App, используя коллекцию ссылок

  1. Если вы выполнили команду CLEAR ALL или освободили (RELEASE) глобальную переменную ссылки на коллекцию после последнего успешного вызова ReportOutput.app или если вы еще не вызывали его в текущей сессии Visual FoxPro, коллекция может еще не существовать. Убедитесь, что коллекция существует и, затем, проверьте значение соответствующего члена коллекции.

    CopyCode image Копировать код
    #DEFINE OUTPUTAPP_CONFIG_READ -200
IF VARTYPE(_oReportOutput) = "O"
  lcFile = _oReportOutput[TRANSFORM(OUTPUTAPP_CONFIG_READ)]
ENDIF
  2. Проверьте результат, что вы получили в переменную lcFile. Если он является именем файла с полным путем, ReportOutput.app использует таблицу регистрации на диске. Если lcfile не включает путь, ReportOutput.app использует таблицу регистрации, встроенную в приложение (.app или .exe).

Проверить имя текущей таблицы регистрации приложения ReportOutput.App, вызывая ReportOutput.App

  1. Инициализировать переменную, которая содержит название таблицы регистрации

    CopyCode image Копировать код
    LOCAL lcFile

  2. Вызвать ReportOutput.app со специальным значением конфигурации, который вы использовали раннее, употребляя инициализированную раннее переменную в качестве второго параметра. Это подобно тому, как вы вызываете ReportOutput.app для получения ссылки для ReportListener:

    CopyCode image Копировать код
    #DEFINE OUTPUTAPP_CONFIG_READ -200
DO (_REPORTOUTPUT) WITH OUTPUTAPP_CONFIG_READ, lcFile
  3. Проверьте результат, что вы получили в переменную lcFile. Если он является именем файла с полным путем, ReportOutput.app использует таблицу регистрации на диске. Если lcfile не включает путь, ReportOutput.app использует таблицу регистрации, встроенную в приложение (.app или .exe).
    Note Замечание

    Коллекция ссылок создается автоматически когда вы используете данный синтаксис.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


How to: Use the Report Output Application's Reference Collection

Как: Использовать коллекцию ссылок Приложения Вывода Отчета
Смотри также

Во время работы Приложение Вывода Отчета (ReportOutput.app) поддерживает коллекцию ссылок на объект ReportListener. ReportOutput.app объявляет область видимости коллекции ссылок глобально с помощью команды PUBLIC. Коллекция позволяет обработчику отчетов использовать один объект, порожденный от класса ReportListener для множества команд REPORT FORM или LABEL. Для большей информации см. Как работает Приложения Вывода Отчета.

Вы можете использовать коллекцию для установки свойств экземпляра объекта ReportListener до вызова команд REPORT FORM и LABEL или для проверки результатов прогона отчета без назначения переменной для управления ссылкой явным образом.

ReportOutput.app использует последовательную коллекцию с ключевым выражением, поэтому Вы можете легко найти требуемую ссылку.

Note Замечание

Некоторый код в этом разделе использует системную переменную _REPORTOUTPUT для вызова ReportOutput.app. _REPORTOUTPUT может содержать имя другого Приложения Вывода Отчета в вашем окружении. В этом случае замените HOME() + ReportOutput.app или подобный код для запуска Приложения Вывода Отчета. Там где инструкция назначает имя и положение таблицы регистрации пользователя, замените на Ваше предпочтительное имя и место.

Инициализация коллекции ссылок и создание членов коллекции ссылок

Создать члена коллекции ссылок

  1. Вы можете создать члена коллекции ссылок во время прогона отчета и не используя явных переменных для ссылок. Вызвав следующую команду, где <N> - тип вывода, который вам нужен для команды REPORT FORM Например, используйте значение 1 как <N> для предварительного просмотра отчета.

    CopyCode image Копировать код
    REPORT FORM ? OBJECT TYPE <N>

  2. Вы можете создать члена коллекции ссылок без запуска отчета на исполнение. Вызовите следующую команду, где <N> - тип вывода, который вам нужен для команды REPORT FORM. Например, используйте значение 0 как <N> для печати отчета:

    CopyCode image Копировать код
    DO (_REPORTOUTPUT) WITH <N>

  3. Вы можете создать члена коллекции ссылок представляя текущую таблицу регистрации Приложения Вывода Отчета и инициализируя коллекцию в то же время.. Этот метод не создает ссылки на объект ReportListener немедленно. Инициализация коллекции данным образом и описание таблица конфигурации, как одного члена коллекции является стандартным режимом по умолчанию Приложения Вывода Отчета при вызове приложения без параметров:

    CopyCode image Копировать код
    #DEFINE OUTPUTAPP_CONFIG_READ -200
DO (_REPORTOUTPUT) WITH OUTPUTAPP_CONFIG_READ
* или передать переменную по ссылке во втором
* параметре, как вы обычно делаете для ссылок на ReportListener,
* получить имя текущей
* таблицы регимтрации:
LOCAL lcFile
DO (_REPORTOUTPUT) WITH OUTPUTAPP_CONFIG_READ, lcFile
* или просто инициализировать коллекцию без параметров:
DO (_REPORTOUTPUT)
? _oReportOutput[TRANSFORM(OUTPUTAPP_CONFIG_READ)]

Проверка членов коллекции ссылок

Получить ссылку на объект ReportListener из коллекции ReportOutput

  1. Используйте строковое значение числовой величины, представляющей тип вывода для ссылки на ReportListener reference, как коллекции ключевых значений. В команде ниже <N> представляет тип вывода обеспечиваемый этой ссылкой на объект ReportListener.
    CopyCode image Копировать код
    ? _oReportOutput[TRANSFORM(<N>)].Class

  2. Используйте члена коллекции ссылок после прогона отчета. Например, проверить общее количество страниц в при прогоне отчета:

    CopyCode image Копировать код
    REPORT FORM ? OBJECT TYPE 0
? _oReportOutput["0"].PageTotal

  3. Используйте члена коллекции ссылок до прогона отчета для настройки его поведения. Например, предотвратить feedback пользователя до генерации вывода XML:

    CopyCode image Копировать код
    DO (_REPORTOUTPUT) WITH 4
_oReportOutput["4"].QuietMode = .T.
    Note Подсказка

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

Изменение имени переменной коллекции ссылок по умолчанию

В инструкции выше Вы использовали имя переменной _oReportOutput при адресации к коллекции ссылок. Чтобы изменить имя этой переменной в Вашем приложении, перекомпилируйте ReportOutput.app с инструкцией для использования имени переменной, предпочтительной для Вас.

Перекомпилируйте ReportOutput.app с другим именем коллекции ссылок

  1. Раскройте подпапку ReportOutput в папке, где хранятся zip файлы, Visual FoxPro's Tools\Xsource. Для большей информации о Xsource см. Папка XSource.
  2. Найдите исходные файлы компонента ReportOutput. Измените ReportOutput.H (фйл заголовка).
    CopyCode image Копировать код
    CD <your source folder>
MODIFY COMMAND ReportOutput.H

  3. Найдите следующие две строки кода в файле заголовка:

    CopyCode image Копировать код
    #DEFINE OUTPUTAPP_REFVAR        _oReportOutput
#DEFINE OUTPUTAPP_REFVARCLASS  "Collection"

  4. Редактируйте значение _oReportOutput, замещая его именем переменной, которой Вы хотите использовать в качестве имени для Вашего приложения. Вы также можете изменить значение "Collection", замещая его именем класса, производным от Collection, который будет использоваться приложением ReportOutput.app для создания экземпляра коллекции.

    Note Замечание

    IЕсли Вы изменили значение OUTPUTAPP_REFVARCLASS,описание класса, которое Вы назначили с помощью этой константы, должно быть в области видимости, когда Вы вызываете ReportOutput.App. Для дополнительной информации см. команду SET CLASSLIB и команду SET PROCEDURE

  5. Сохраните Ваши изменения.
  6. Перестройте файл ReportOutput.App, при этом используйте переключатель RECOMPILE:
    CopyCode image Копировать код
    BUILD APPLICATION ReportOutput FROM ReportOutput RECOMPILE

  7. Сохраните имя и место нахождения Вашего нового ReportOutput.app в системной переменной _REPORTOUTPUT, а также в файле CONFIG.FPW Вашего приложения или коде setup. Для дополнительной информации см. Setting Configuration Options at Startup.

    CopyCode image Копировать код
    _ReportOutput = <your ReportOutput.app filename and location>

  8. Распространяйте новый файл ReportOutput.App с Вашими приложениями.

Смотри также

Задачи

Как: построить приложение

Ссылки

Команда PUBLIC
Collection Class
ReportListener Object
_REPORTOUTPUT System Variable
REPORT FORM Command

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


How to: Specify and Distribute Report Output Application Components

Как: Определять и Распространять компоненты Приложения "Report Output"
См. также

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

  • Как: присоединить внешнюю компоненту ReportOutput.app к вашему Приложению вместе с соответствующей таблицей Регистрации Объектов, приводятся конкретные инструкции.

  • Как: Отредактировать Регистрационную Таблицу, используемую в компоненте ReportOutput.app.

  • Как: Интегрировать Таблицу Регистрации компоненты "Report Output Application" с другой Компонентой типа "Report Output Application" из вашего Приложения, без использования ReportOutput.app.

Использование НеСтандартной Регистрационной Таблицы в вашем Приложении.

Если вы используете в вашем Приложении внешнюю Компоненту ReportOutput.App, как внешний файл, а Таблица Регистрации Типов используется также как внешний файл, то этот файл может иметь Произвольное наименование.

Для описания программного Кода, определяющего внешнюю Таблицу Регистрации Типов, которая является управляющей таблицей Компоненты ReportOutput.app:

  1. Создайте на диске Регистрационную Таблицу Типов. Дополнительную информацию о рассматриваемой Таблице смотрите в разделе: Как: Определить Альтернативную Таблицу Регистрации для "Report Output".

  2. Внесите необходимые изменения в Записи созданной Таблицы (в соответствие с требованиями вашего Приложения). Смотрите дополнительно: Как: Зарегистрировать пользовательский Объект ReportListener или пользовательский тип OutputType для Компоненты "Report Output".

  3. Определите в стартовом файле Приложения ссылку на использование внешней Компоненты ReportOutput.app, которая содержится в системной переменной _REPORTOUTPUT, или просто укажите в файле Конфигурации CONFIG.FPW вашего Приложения ссылку на описанную выше Компоненту. Смотрите дополнительно Раздел: Установка Стартовых параметров в модулях Инициализации.

    CopyCode image Копировать Код
    _ReportOutput = <ваш файл типа ReportOutput.app, и его местоположение>

  4. В начальных фрагментах вашего Программного Кода определите планируемую к использованию Регистрационную Таблицу Типов:

    CopyCode image Копировать Код
    #DEFINE OUTPUTAPP_CONFIG_READ -200
    DO (_REPORTOUTPUT) with OUTPUTAPP_CONFIG_READ, ;
     <имя вашего файла Таблицы Регистрации, и ее размещение>

Изменение значений "по-умолчанию" в Регистрационной Таблице компоненты ReportOutput.app:

У вас имеется возможность выполнить собственную Сборку рассматриваемого Приложения ReportOutput.App, в котором уже будет использоваться нестандартная Таблица Регистрации Типов, планируемая к использованию в вашем Прикладном Модуле (Проекте).

Для Перекомпиляции компоненты ReportOutput.app, в которой используется Нестандартная Таблица Регистрации Типов:

  1. Распакуйте подкаталог (папку) ReportOutput, которая размещается в общем Арихиве системы: Visual FoxPro\Tools\Xsource. Смотрите дополнительно раздел Справки: Подкаталог XSource.

  2. Переместитесь в указанную выше папку: ReportOutput, где размещены программные файлы рассматриваемой Компоненты. Измените заголовочный файл ReportOutput.H.

    CopyCode image Копировать Код
    CD <имя Подкаталога Компоненты>
    MODIFY COMMAND ReportOutput.H

  3. Обратите внимание на следующие Строки программного Кода в Заголовочном файле:

    CopyCode image Копировать Код
    #DEFINE OUTPUTAPP_INTERNALDBF "_ReportOutputConfig"
    #DEFINE OUTPUTAPP_EXTERNALDBF "OutputConfig"

  4. Замените значение Константы, содержащей текст "OutputConfig", рекомендуется указать Имя вашей Таблицы, файл (.dbf), которая планируется к использованию в качестве Внешней Регистрационной Таблицы вашего Приложения. Измените значение константы, содержащей Текст "_ReportOutputConfig", рекомендуется указать Имя файла Таблицы, которая будет использоваться как Внутренняя Таблица Приложения, таблица должна быть включена в Проект Приложения.

  5. Сохраните Изменения.

  6. Выполните Компиляцию-Сборку новой версии ReportOutput.App, указав дополнительный Ключ RECOMPILE:

    CopyCode image Копировать Код
    BUILD APPLICATION ReportOutput FROM ReportOutput RECOMPILE

  7. Если вы изменили значение Константы OUTPUTAPP_INTERNALDBF, то в процессе сборки Проекта возможно потребуется уточнение местоположения указанной вами Таблицы Регистрации Типов, которая указывается в данной Константе. Если Диспетчер Проекта не сможет автоматически определить местоположение Таблицы, то вам будет задан уточняющий Запрос.

  8. Определите значение системной переменной _REPORTOUTPUT в стартовом модуле вашего риложения, которая должна содержать ссылку на созданное в предыдущих пунктах новое приложение ReportOutput.app, или укажите в качестве настроечного параметра в файле стартовой Конфигурации CONFIG.FPW значение данной системной переменной. Смотрите дополнительно раздел: Установка стартовых параметров в модулях Инициализации.

    CopyCode image Копировать Код
    _ReportOutput = <Имя вашего ReportOutput.app, с указанием его местоположения>

  9. Включите созданный Модуль ReportOutput.App в дистрибутивный установочный пакет вашего Приложения. Определите соответствующую ссылку на Таблицу Регистрации Типов, которая выбрана вами и определена в рассматриваемом Приложении обработки Отчетов.

Сборка Компоненты "Report Output Application" непосредственно в вашем Приложении.

Если вы включаете Компоненту "Report Output Application" в установочный пакет вашего Приложения (.app / .exe), то Таблица Регистрации может иметь произвольное Наименование, это относится как к Внутренней, так и к Внешней Таблице. В данном Параграфе описываются вопросы включения рассматриваемых выше Компонент и Регистрационных Таблиц в Проект вашего Приложения.

Note Совет

Если вы следуете данным Рекомендациям, то вы не должны распространять компоненту ReportOutput.App отдельно от вашего Приложения.

Для включения Таблицы Регистрации и Компонент "Report Output" вашего Приложения (.app / .exe) :

  1. Включите фрагмент программного кода, аналогичный представленному далее, в стартовых модулях приложения - чтобы уточнить используемые внешние Компоненты вашего Приложения (Report Output):

    CopyCode image Копировать Код
    * Выполните проверку наличия в Стартовых Модулях
    * вашего Приложения указания внешней Ссылки
    * на процедуру, которая описывает компоненту типа "Report OutPut":
    EXTERNAL proc frxoutput.prg

    * Выполните проверку наличия в Стартовых Модулях
    * вашего Приложения указания внешней Ссылки
    * на Регистрационную Таблицу:
    EXTERNAL TABLE MyConfig

  2. В стартовых Модулях рекомендуется уточнить значение Системной Переменной, содержащей указание на внешнюю Процедуру:

    CopyCode image Копировать Код
    * Установите значение системной переменной: _REPORTOUTPUT
    * в стартовом Модуле вашего Приложения,
    * которая определяет по-умолчанию компоненту "Report Output Application" :
    _REPORTOUTPUT = FULLPATH("frxoutput.prg")

  3. В стартовых Модулях рекомендуется определить, или связать рассматриваемое Приложение с Регистрационной Таблицей, как показано в последней строке программного Фрагмента. Вы не должны указывать полный путь к данной Таблице:

    CopyCode image Копировать Код
    * Определите соответствующую Таблицу Регистрации, как показано ниже:
    #DEFINE OUTPUTAPP_CONFIG_READ -200
    DO (_REPORTOUTPUT) with OUTPUTAPP_CONFIG_READ, "myconfig"

  4. Выполните обновленную Сборку вашего Проекта, учитывая рассмотренные выше изменения, которые описывают Ссылки на внешние компоненты "Report Output Application", данные процедуры и модули будут присоединены к вашему Приложению. В процессе Сборки Приложения уточните все необходимые дополнительные ссылки, которые запрашивает Диспетчер Проектов (Project Manager).

  5. После выполненных Операций ваше Приложение будет готово к взаимодействию с "Report Output Application", функционал которого будет зависеть от рассмотренной Таблицы Регистрации:

    CopyCode image Копировать Код
    * Представленный далее фрагмент программного Кода
    * демонстрирует использование вашей Регистрационной Таблицы.
    * Может возникнуть Ошибка...
    * Если указанная Запись не будет найдена в Таблице:
    REPORT FORM <your report> OBJECT TYPE 993

    * Представленный далее фрагмент программного Кода
    * иллюстрирует использование указанного Объекта (=5).
    * Если в текущей Таблице Регистрации нет таких Объектов,
    * то будет использован объект по-умолчанию (HTML):
    REPORT FORM <your report> OBJECT TYPE 5

    * представленные строки программного Кода определяют, что Visual FoxPro
    * с помощью внешней Компоненты "Report Output Application"
    * для порождаемого Объекта типа "ReportListener" определяет режим Печати
    * TYPE 1 (print). Если ваши Таблица Регистрации содержит описание данного Типа,
    * то будет активирован данный Тип; если в Таблице отсутствует указанный Тип
    * по Компонента "Report Output Application"  использует параметры По-умолчанию
    * для рассматриваемого типа (как обычная печать Отчета)
    SET REPORTBEHAVIOR 90
    REPORT FORM <your report> TO PRINT

См. также

Описание

_REPORTOUTPUT, системная переменная
Включение файлов Отчетов в Установочный Пакет (Distribution)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Using VFP Report Output XML

Visual FoxPro 9.0
Использование вывода отчета VFP в виде XML
Смотрите также

Как поставляется по умолчанию приложением ReportOutput Application, Visual FoxPro's base Report XML трансформируется фундаментальным классом ReportListener, для предоставления HTML-факсимиле оригинального печатного вывода отчета.

Лежащий в основе XML, созданный фундаментальным классом ReportListener XML Foundation Class, включает в себя полный набор данных полученных в результате запуска отчета, плюс дополнительную информацию из таблицы отчета (.frx), требуемую для описания раскладки отчета и условия среды в том месте, в котором отчет был запущен.

VFP Report XML schema указывает формат этого XML. Поскольку схема прямо выражает все детали запущенного отчета, ваше приложение может your applications can leverage the XML to provide many different results.

В этой статье обсуждается XML схема отчета VFP и приводится полная схема документа (.xsd).

Замечание:
По ходу исследования деталей этой схемы, вы обнаружите много необязательных элементов. Включение или исключение этих элементов настраивает схему для различных видов ее использования. Например, фундаментальный класс ReportListener HTML требует информацию о форматировании для определения местоположения элементов раскладки на странице вывода, но генерируемый во время исполнения отчета поисковый кэш содержания документа XML не требует информации о форматировании. Если вы используете фундаментальный класс Report Listener XML для предоставления отчета в виде XML документа, вы используете различные свойства этого класса для установок этих опций. Для получения более подробной информации смотри статью Фундаментальный класс ReportListener XML.

Описание XML схемы отчета VFP

Дизайн документа VFP Report XML может быть в общих чертах описан так, как это приведено ниже:

Документ содержит одно или множество представлений запущенных VFP отчетов.

Каждый узел отчета VFP содержит один или оба возможных дочерних узла:

  • Узел раскладки или, другими словами, узел определения отчета (RDL), содержащий инструкции по форматированию отчета, сохраняемый в в таблице отчета (.frx) дизайнером отчета, и/или
  • Узел Data, с элементами, которые были сгенерированы движком Report Engine при прохождении через область данных отчета в run time.

Когда вы используете фундаментальный класс ReportListener XML Foundation Class для генерации вашего XML, класс определяет, какой тип информации содержится в узле VFP Report с помощью свойства XMLMode , как это показано в приведенной ниже таблице.

0 | OUTPUTXML_DATA_ONLY | Сгенерированные данные будут использованы в представлении, не основанном на ориганальной раскладке отчета, таком как Web страница, использующая независимые критерии дизайна, или для data-centric (неформатированной) трансляции, такой как сгенерированный кэш расчетных калькуляций.
1 | OUTPUTXML_RDL_ONLY | Определение сгенерированного отчета будет в конечном счета располагаться на отчетном сервере. Данные будут поступать из запроса на сервере в run time. XML RDL преподносится как средство для определения такого запроса, равно как и желаемых выходных выражений и раскладки результата. Оригинальные данные отчета в run-time, в таком сценарии, предоставляют набор образцов, в отношении которого VFP-разработанная раскладка отчета запускается для генерации XMl, но не используется сервером.
2 | OUTPUTXML_DATA_RDL | Сгенерированные данные будут соответствовать инструкциям раскладки отчета, использующего внутренний механизм, такой как XSLT, для предоставления дополнительных выходных форм.

Если узел VFP Report включает данные, обработанные в run time наряду с его узлом RDL, вы можете выбрать - пожелаете ли вы включить formatting band data, и, если пожелаете, пожелаете ли вы, чтобы эти данные были интегрированы в стандартные области данных или включены, как отдельные коллекции.

Замечание:
Схема определяет полоски/области заголовков страницы и колонки (Page and Column header) а также полоску/область подножия, как области форматирования, так как они появляютя в произвольных, не зависящих от данных позициях во время производства отчета в run-time. Вывод этих полосок/областей (bands), так же как и точные позиции, в которых это состоится, изменяется в зависимости от раскладки страницы и ее размера, характерного для текущего принтера. Для некоторых отчетов и некоторых XML сценарием, информация в этих полосках/областях не является уместной.

Приведенная ниже диаграмма представляет верхний уровень просмотра VFP Report XML и его главных компонентов.

Visual FoxPro Reporting XML Overview graphic

Узел VFP-RDL

Компонент определения отчета VFP Report XML предоставояет полную подробную информацию о раскладке, содержащуюся в таблице отчета, а также условия окружения, во время исполнения отчета, так как это детализировано в представленной ниже таблице.

Visual FoxPro Reporting XML VFP-RDL graphic

Элемент VFP-RDL | Содержание
VFPFRXLayoutObject | Объединение между колонками таблицы отчета (.frx), FRXCursor-вычисляемыми колонками, и некоторыми специализированными вычисляемыми колонками для различных типов записей таблицы отчета. Для получения более подробной информации о деталях отчета, поставляемых объектом FRXCursor смотрите Фундаментальный класс FRX Cursor.
VFPFRXLayoutNode | Набор элементов, показывающих какие имена узлов элементов используются для различных типов объектов отчета в области вывода данных документа, поскольку это может быть сконфигурировано пользователем.
VFPDataSource | Описание всех открытых в сессии данных таблиц, предоставляющих данные для отчета, включая их индексы, связи, фильтры и колонки. Этот раздел является необязательным.
VFPFRXCommand | Список ключевых форм команды REPORT FORM и существующие условия окружения, поставляемые членом CommandClauses объекта Listener и прочие установки окружения. Для получения подробной информации смотри Свойство CommandClauses.
VFPFRXPrintJob | Набор аттрибутов, предоставляющих информацию о установке принтера и раскладки страницы, используемый при запуске отчета, такие, как, например, высота страницы.

Узел данных (Data Node)

Узел Data предоставляет последовательность полосок данных (bands), содержащих сгенерированные результаты обработанного вывода, которые изобрадены в течение выпуска отчета. Как указано выше, отчет содержит два основных типа областей:

  • Data- и scope- зависимые полоски/диапазоны. Групповые и детальные полоски данных (bands) появляются в порядке и в числе полностью зависящих от области данных, выбранной пользователем для конкретного отчета. Полоски Title и Summary, если таковые используются, появляются только единожды в начале и конце выбранной области данных.
  • Области, зависящие от формата. Заголовки страницы и заголовки и подножия колонки Page and Column headers and footers are triggered by the Report Engine according to the requirements of the original report’s page dimensions и их взаимодействием с длиной других данных в отчете.

Содержание полосок, зависящих от данных и от области The contents of data and scope dependent bands будет всегда содержаться в узле Data node. Инстанции этих областей будут показываться в том же порядке, как они показываются в реальном выводе отчета.

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

Visual FoxPro Reporting XML Data Node graphic
Замечание:
Вы можете связать области форматирования с их областями данных и областями, зависящими от областей видимости (data- и scope- dependent bands), используя связи id:idref, знакомые пользователям Visual FoxPro как первичные и внешние ключи. Области данных и области, зависящие от областей видимости (data- и scope- dependent bands) имеют аттрибут idref указывающий их оригинальный номер страницы, а области форматирования имеют в качестве аттрибута указывающего их оригинальный номер страницы - аттрибут id.

Содержание областей

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

Visual FoxPro Reporting XML Detail graphic

Узлы раскладки элемента включают в себя дополнительные аттрибуты, для описания их форматирования, такие как позиции "top" и "left" на листе.

Замечание:
Схема декларирует, что обработка аттрибутов представляет собой lax для элементов раскладки и несколько других типов, позволяющее пользовательским расширениям схемы оставаться действительными без точного декларирования. Например, вы сможете добавить аттрибут, представляющий динамическое замещение цвета на элементе раскладки в run time, и эти аттрибуты не будут недействительными в вашем XML выводе, в соответствии со схемой VFP Report XML.

Связывание данных и элементов VFP-RDL

Все дата- и областе-зависимые области (bands) равно, каки элементы раскладки, могут быть перекрестно-ссылаемыми с их описаниями раскладки, основанными на таблице отчета, с помощью их id аттрибута, который содержит значение RECNO() из их оригинальной записи в таблице отчета. Например, приведенный ниже фрагмент XML предоставляет run-time инстанцию области подножия страницы, содержащую два элемента Field или Expression и один элемент Text или Label.

Скопировать код
 <PF id="1" idref="4">
 <E id="7" c="0" l="0" t="9920" w="650" h="170">8/13/2004</E>
 <T id="8" c="0" l="6980" t="9910" w="400" h="160">Page </T>
 <E id="9" c="0" l="7380" t="9920" w="490" h="170"> 1</E>
 </PF>

Ниже представлен узел VFPLayoutObject, который описывает раскладку и дизайн первого элемента Expression в области подножия этой страницы. Дочерний элемент frxrecno в ниже расположенном VFPLayoutObject соответствует аттрибуту id в узле E (expression), расположенном выше.

Скопировать код
 <VFPFRXLayoutObject>
 <frxrecno>7</frxrecno>
 <platform>WINDOWS</platform>
 <name/>
 <expr>DATE()</expr>
 <offset>0</offset>
 <vpos>7708.333</vpos>
 <hpos>0.000</hpos>
 <height>1875.000</height>
 <objtype>8</objtype>
 <!-- … -->
 <start_band_id>_1AI121WEG</start_band_id>
 <band_offset>2</band_offset>
 <end_band_id>_1AI121WEG</end_band_id>
 <bandstretch>false</bandstretch>
 </VFPFRXLayoutObject>
Совет:
Элементы раскладки , продолженные на последовательных страницах объединены знаком +" со значениями их аттрибута id, основанными на номере записи. Это соглашение означает, что узел не является новой инстанцией элемента раскладки. Это позволяет вашему XML-парсингу учитывать эту информацию, для объединения текста, который был отображен на отдельных страница в оригинальном печатном выводе.

Области форматирования имеют схожие отношения с их записями VFPLayoutObject, но они используют свои аттрибуты idref для соответствия значению frxrecno в соответствующей записи VFPLayoutObject. Как уже объяснено в последней секции, эти области используют их аттрибут id для представления оригинального номера страницы, в которой они появляются. Во фрагменте XML, приведенном выше, подножие страницы имеет аттрибут id со значением 1, указывающим, что он появился на первой странице и вы можете видеть, что элементы данных в этом подножии страницы действительно показывают, что подножие появилось на странице 1 отчета. Подножие страницы имеет аттрибут idref со значение 4, что показывает, что связанный с ним элемент VFPFRXLayoutObject имеет значение frxrecno равное 4.

Имена узлов областей (Bands) и объектов могут быть сконфигурированы в фундаментальном классе ReportListener XML Foundation Class, с целью использования недефолтных имен. VFP-RDL использует элементы VFPFRXLayoutNode для связи с именами узлов с типами объектов таблицы отчета динамически в результирующем выходном XML. В приведенном ниже фрагменте, имя узла E ассоциированое с объектом типа 8, указывающим, что выражения отчета используют это имя элемента в порции Data документа.

Скопировать код
 <VFPFRXLayoutNode>
 <name>E</name>
 <type>8</type>
 <code>0</code>
 <info>Expression object nodename</info>
 </VFPFRXLayoutNode>
Совет:

Фундаментальный класс ReportListener XML Foundation Class включает в себя элементы для форматирования аттрибутов, так чтобы вы смогли динамически присваивать этим аттрибутам имена. Если ваш производный класс добавляет еще некоторое количество аттрибутов форматирования в вашу версию VFP Report Output XML, добавьте эти аттрибуты в качестве свойств вашего класса вместе со строкой "attr", как часть имени свойства. ReportListener XML Foundation Class включит в себя любые свойства, следующие этому соглашенияю по наименованиям и их значения в список VFPFRXLayoutNodes и присвоит распознаваемый тип объекта.

Документ схемы VFP Report XML

Приведенное ниже представляет собой полную схему отчета - VFP Report XML schema (.xsd). XSD документ включает элементы аннотации, описывающие значимые аспекты этой схемы и их использование и направляет вас к различным свойства фундаментального класса ReportListener XML Foundation Class properties с целью определения их необязательных компонентов.

Замечание:
Схема VFP Report XML schema использует короткие имена узлов XML для описания различных элементов отчета, такие как <PH> для "Page Header." Фундаментальный класс ReportListener XML Foundation Class предоставляет механизм для изменения этих, используемых по умолчанию имен узлов, если вы предпочитаете длинные имена для удобства и разборчивости или если вы желаете изменить их на другие имена, более согласующиеся с описанием каждого элемента в вашем языке. Хотя VFP Report XML использует имена узлов по умолчанию, схема, кроме того, предоставляет механизм описания используемых имен для каждого типа записи таблицы отчета и прочих аспектов исполняемого отчета.

Скопировать код
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Reports">
 <xs:annotation>
  <xs:documentation>
  Эта схема описывает базовый формат поставляемый Visual FoxPro 9.0 XMLListener.
  Как отмечено в разных местах, реальный элемент и аттрибут NCNames
  является конфигурируемым пользователем в runtime, а схема использует
  имена по умолчанию. Кроме того, как это отмечено, многие элементы схема имеют
  аттрибут minOccurs=0. В некоторых случаях эти элементы не появляются вовсе
  в зависимости от конфигурации исполнения отчета или определенных свойств XMLListener
  для исполнения этого отчета.
  Примеры: отчет SUMMARY не имеет полосок/областей "detail", и если
  XMLListener.IncludeFormattingInLayoutObjects установлено в.F. то аттрибуты форматирования
  не появляются в отчете.
 </xs:documentation>
</xs:annotation>
 <xs:complexType>
  <xs:sequence>
  <xs:element ref="VFP-Report" maxOccurs="unbounded"/>
   </xs:sequence>
    </xs:complexType>
     </xs:element>
      <xs:element name="VFP-Report">
       <xs:annotation>
        <xs:documentation>
        Содержание элемента VFP-Report определяется свойством XMLListener.XMLMode.
        </xs:documentation>
         </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element ref="VFP-RDL" minOccurs="0"/>
 <xs:element ref="Data" minOccurs="0"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Data">
 <xs:annotation>
 <xs:documentation>
Содержание и структура элемента Data определяется свойством XMLListener.includeBreaksInData.
 </xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:choice>
 <xs:group ref="IntegratedFormattingBands"/>
 <xs:group ref="SeparateFormattingBands"/>
 </xs:choice>
 </xs:complexType>
 </xs:element>
 <xs:group name="SeparateFormattingBands">
 <xs:sequence>
 <xs:element name="Title" type="Band" minOccurs="0"/>
 <xs:group ref="GroupedBands" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="Summary" type="Band" minOccurs="0"/>
 <xs:element name="Pages">
 <xs:complexType>
 <xs:sequence minOccurs="0" maxOccurs="unbounded">
 <xs:element name="PH" type="FormattingBand" minOccurs="0"/>
 <xs:element name="PF" type="FormattingBand" minOccurs="0"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Columns">
 <xs:complexType>
 <xs:sequence minOccurs="0" maxOccurs="unbounded">
 <xs:element name="CH" type="FormattingBand" minOccurs="0"/>
 <xs:element name="CF" type="FormattingBand" minOccurs="0"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:group>
 <xs:group name="GroupedBands">
 <xs:sequence minOccurs="0" maxOccurs="unbounded">
 <xs:element name="GH" type="Band" minOccurs="0" maxOccurs="unbounded"/>
 <xs:group ref="DetailBandSet" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="GF" type="Band" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
 </xs:group>
 <xs:group name="DetailBandSet">
 <xs:sequence>
 <xs:element name="DH" type="Band" minOccurs="0"/>
 <xs:element name="D" type="Band" minOccurs="0"/>
 <xs:element name="DF" type="Band" minOccurs="0"/>
 </xs:sequence>
 </xs:group>
 <xs:group name="IntegratedFormattingBands">
 <xs:sequence>
 <xs:element name="Title" type="Band" minOccurs="0"/>
 <xs:group ref="FormattedPageBandSeries" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="Summary" type="Band" minOccurs="0"/>
 </xs:sequence>
 </xs:group>
 <xs:group name="FormattedPageBandSeries">
 <xs:sequence>
 <xs:element name="PH" type="FormattingBand" minOccurs="0"/>
 <xs:element name="CH" type="FormattingBand" minOccurs="0" maxOccurs="unbounded"/>
 <xs:group ref="GroupedBands" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="CF" type="FormattingBand" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="PF" type="FormattingBand" minOccurs="0"/>
 </xs:sequence>
 </xs:group>
 <xs:complexType name="Band">
 <xs:annotation>
 <xs:documentation>
Всем полоскам/областям (bands) присущ аттрибут minOccurs="0" до тех пор, пока
XMLListener.includeBandsWithNoObjects установлен в .T.
Аттрибуты полосок id и idref конфигурируемы посредством связанных свойств XMLListener.
На всем протяжении схема показаны имена аттрибутов, используемые по умолчанию.
 </xs:documentation>
 <xs:documentation>
Все имена узлов полосок/областей конфигурируемы, с имена по-умолчанию показанными в схеме;
смотрите аннотацию для VFPFRXLayoutNode имен аттрибутов.
 </xs:documentation>
 </xs:annotation>
 <xs:group ref="LayoutObjects"/>
 <xs:attribute name="id" type="xs:string" use="required">
 <xs:annotation>
 <xs:documentation>
Показывает FRXRecno для связанных FRX метаданных в VFP-RDL,
с соединительным символом "+" в случае если эта область имеет продолжение.
 </xs:documentation>
 </xs:annotation>
 </xs:attribute>
 <xs:attribute name="idref" type="xs:positiveInteger" use="required">
 <xs:annotation>
 <xs:documentation>
Показывает связанный номер страницы, для неформатируемых полосок/областей.
 </xs:documentation>
 </xs:annotation>
 </xs:attribute>
 <!-- здесь ограничения по шаблону? -->
 </xs:complexType>
 <xs:group name="LayoutObjects">
 <xs:choice minOccurs="0" maxOccurs="unbounded">
 <xs:element name="T" type="LayoutObjectNoContinuation"/>
 <xs:element name="P" type="LayoutObjectNoContinuation"/>
 <xs:element name="S" type="LayoutObject"/>
 <xs:element name="E" type="LayoutObject"/>
 <xs:element name="L" type="LayoutObject"/>
 </xs:choice>
 </xs:group>
 <xs:complexType name="FormattingBand">
 <xs:group ref="LayoutObjects"/>
 <xs:attribute name="idref" type="xs:positiveInteger" use="required">
 <xs:annotation>
 <xs:documentation>
Показывает FRXRecno для связанных FRX метаданных, для форматируемых полосок/областей.
 </xs:documentation>
 </xs:annotation>
 </xs:attribute>
 <xs:attribute name="id" type="xs:positiveInteger" use="required">
 <xs:annotation>
 <xs:documentation>
Показывает связанный номер страницы, для форматируемых полосок/областей.
 </xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
 <xs:complexType name="LayoutObject">
 <xs:annotation>
 <xs:documentation>
Все имена узлов объектов раскладки конфигурируемы,
со значениями по умолчанию, показанными в схеме;
смотрите замечание для имени аттрибута VFPFRXLayoutNode.
Доступность аттрибутов форматирования объектов раскладки определяется свойством
XMLListener.IncludeFormattingInLayoutObjects. Все имена аттрибутов,
как форматирующие, так и неформатирующие, являются также конфигурируемыми через ассоциированные свойства
XMLListener.
 </xs:documentation>BR /> </xs:annotation>
 <xs:simpleContent>
 <xs:extension base="xs:string">
 <xs:attribute name="id" type="xs:string" use="required">
 <xs:annotation>
  <xs:documentation>
Указывает FRXRecno для ассоциированных мета-данных FRX в VFP-RDL, с объединящим
  "+" если эти объекты являются их продолжением с предыдущей страницы.
 </xs:documentation>BR /> </xs:annotation>BR /> </xs:attribute>
 <xs:attribute name="c" type="xs:byte" default="0"/>
 <xs:attribute name="l" type="xs:integer"/>
 <xs:attribute name="t" type="xs:integer"/>
 <xs:attribute name="w" type="xs:positiveInteger"/>
 <xs:attribute name="h" type="xs:positiveInteger"/>
 <xs:attribute name="img" type="xs:string">
 <xs:annotation>
  <xs:documentation>
Поставляет сгенерированное имя файла, если этот XML генерируется с помощью класса HTMLListener
и картинка приходит из не основанного на файле типа картинки
(поле типа general или управляющий элемент "image").
 </xs:documentation>
 </xs:annotation>
 </xs:attribute>
 <xs:anyAttribute processContents="lax"/>
 </xs:extension>
 </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="LayoutObjectNoContinuation">
 <xs:simpleContent>
 <xs:restriction base="LayoutObject">
 <xs:attribute name="c" fixed="0"/>
 </xs:restriction>
 </xs:simpleContent>
 </xs:complexType>
 <xs:element name="VFP-RDL">
 <xs:complexType>
 <xs:sequence>
 <xs:element ref="VFPDataSet"/>
 </xs:sequence>
 <xs:attribute name="id" type="xs:string" use="required"/>
 </xs:complexType>
 </xs:element>
 <xs:element name="VFPDataSet">
 <xs:complexType>
 <xs:sequence>
 <xs:element ref="VFPFRXLayoutObject" maxOccurs="unbounded"/>
 <xs:element ref="VFPFRXLayoutNode" maxOccurs="unbounded"/>
 <xs:element ref="VFPDataSource" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element ref="VFPFRXCommand"/>
 <xs:element ref="VFPFRXPrintJob"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="VFPDataSource">
 <xs:annotation>
 <xs:documentation>
Набор элементов VFPDataSource представляет копию FRX's
CurrentDataSession, аналогично с файлов FoxPro View в XML
формате.
 </xs:documentation>s:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="the_alias"/>
 <xs:element name="rpt_driver"/>
 <xs:element name="the_dbf"/>
 <xs:element name="the_order"/>
 <xs:element name="order_desc"/>
 <xs:element name="the_filter"/>
 <xs:element name="the_skip"/>
 <xs:element ref="flds" maxOccurs="unbounded"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="VFPFRXCommand">
 <xs:annotation>
  <xs:documentation>
Базовые аттрибуты определяется свойствами членов объекта
XMLListener.CommandClauses object. Разрешены дополнительные, определенные пользователем аттрибуты.
 </xs:documentation>BR /> </xs:annotation>
 <xs:complexType>
 <xs:attribute name="ASCII" type="xs:boolean" use="required"/>
 <xs:attribute name="DE_NAME" type="xs:string" use="required"/>
 <xs:attribute name="ENVIRONMENT" type="xs:boolean" use="required"/>
 <xs:attribute name="FILE" type="xs:string" use="required"/>
 <xs:attribute name="HEADING" type="xs:string" use="required"/>
 <xs:attribute name="INSCREEN" type="xs:boolean" use="required"/>
 <xs:attribute name="INWINDOW" type="xs:string" use="required"/>
 <xs:attribute name="ISDESIGNERLOADED" type="xs:boolean" use="required"/>
 <xs:attribute name="ISREPORT" type="xs:boolean" use="required"/>
 <xs:attribute name="NOCONSOLE" type="xs:boolean" use="required"/>
 <xs:attribute name="NODIALOG" type="xs:boolean" use="required"/>
 <xs:attribute name="NOEJECT" type="xs:boolean" use="required"/>
 <xs:attribute name="NOPAGEEJECT" type="xs:boolean" use="required"/>
 <xs:attribute name="NORESET" type="xs:boolean" use="required"/>
 <xs:attribute name="NOWAIT" type="xs:boolean" use="required"/>
 <xs:attribute name="OFF" type="xs:boolean" use="required"/>
 <xs:attribute name="OUTPUTTO" type="xs:byte" use="required"/>
  <xs:attribute name="PDSETUP" type="xs:boolean" use="required"/>
<xs:attribute name="PLAIN" type="xs:boolean" use="required"/>
<xs:attribute name="PREVIEW" type="xs:boolean" use="required"/>
<xs:attribute name="PROMPT" type="xs:boolean" use="required"/>
<xs:attribute name="RANGEFROM" type="xs:boolean" use="required"/>
<xs:attribute name="RANGETO" type="xs:byte" use="required"/>
<xs:attribute name="RECORDTOTAL" type="xs:byte" use="required"/>
<xs:attribute name="SAMPLE" type="xs:boolean" use="required"/>
<xs:attribute name="SUMMARY" type="xs:boolean" use="required"/>
<xs:attribute name="TOFILE" type="xs:string" use="required"/>
<xs:attribute name="TOFILEADDITIVE" type="xs:boolean" use="required"/>
<xs:attribute name="WINDOW" type="xs:string" use="required"/>
<xs:anyAttribute processContents="lax"/>
  </xs:complexType>
</xs:element>
<xs:element name="VFPFRXLayoutNode">
<xs:annotation>
<xs:documentation>
Предоставляет мета-данные, характерые для базового XML формата XMLListener.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="name">
<xs:annotation>
<xs:documentation>
Указывает текущие имена узлов, как они определены в конфигурационной таблице XMLListener'а
для элементов, или как свойства XMLListener для аттрибутов.
Имена, используемые для объектов раскладки и типов областей (band) в порции Data
этой схемы, представляют только значения по умолчанию для этих имен узлов;
для читабельности и целей локализации эти имена узлов конфигурируемы
и должны быть найдены из порции VFPFRXLayoutNode
VFP-RDL в runtime.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="type">
<xs:annotation>
<xs:documentation>
Соответствует FRX.objtype для этого имени узла
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="code">
<xs:annotation>
<xs:documentation>
Соответствует FRX.objcode для этого имени узла
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="info">
<xs:annotation>
<xs:documentation>
Описание этого типа узла из таблицы конфигурации XMLListener'а
(для элементов) или соответствующее свойство члена XMLListener (для аттрибутов).
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VFPFRXLayoutObject">
<xs:annotation>
<xs:documentation>
Предоставляет мета-данные характерные для формата FRXt, прямым использованием колонок FRX
равно как и производных колонок из объекта FRXCursor helper и прочих источников.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="frxrecno"/>
<xs:element name="platform"/>
<xs:element name="name"/>
<xs:element name="expr"/>
<xs:element name="offset"/>
<xs:element name="vpos"/>
<xs:element name="hpos"/>
<xs:element name="height"/>
<xs:element name="objtype"/>
<xs:element name="tag"/>
<xs:element name="tag2"/>
<xs:element name="pensize"/>
<xs:element name="penpat"/>
<xs:element name="fillpat"/>
<xs:element name="width"/><xs:element name="style"/>
<xs:element name="picture"/>
<xs:element name="order"/>
<xs:element name="comment"/>
<xs:element name="fillchar"/>
<xs:element name="penred"/>
<xs:element name="pengreen"/>
<xs:element name="penblue"/>
<xs:element name="fillred"/>
<xs:element name="fillgreen"/>
<xs:element name="fillblue"/>
<xs:element name="fontface"/>
<xs:element name="fontstyle"/>
<xs:element name="fontsize"/>
<xs:element name="mode"/>
<xs:element name="float"/>
<xs:element name="stretch"/>
<xs:element name="stretchtop"/>
<xs:element name="fontbold"/>
<xs:element name="fontitalic"/>
<xs:element name="fontunderline"/>
<xs:element name="fontstrikethrough"/>
<xs:element name="unpathedimg"/>
<xs:element name="pathedimg"/>
<xs:element name="top"/>
<xs:element name="bottom"/>
<xs:element name="norepeat"/>
<xs:element name="pagebreak"/>
<xs:element name="colbreak"/>
<xs:element name="resetpage"/>
<xs:element name="general"/>
<xs:element name="spacing"/>
<xs:element name="swapheader"/>
<xs:element name="swapfooter"/>
<xs:element name="ejectbefor"/>
<xs:element name="ejectafter"/>
<xs:element name="totaltype"/>
<xs:element name="resettotal"/>
<xs:element name="fontcharset"/>
<xs:element name="supalways"/>
<xs:element name="supovflow"/>
<xs:element name="suprpcol"/>
<xs:element name="supgroup"/>
<xs:element name="supvalchng"/>
<xs:element name="supexpr"/>
<xs:element name="user"/>
<xs:element name="bandid" minOccurs="0"/>
<xs:element name="bandtype" minOccurs="0"/>
<xs:element name="bandlabel" minOccurs="0"/>
<xs:element name="start" minOccurs="0"/>
<xs:element name="stop" minOccurs="0"/>
<xs:element name="band_seq" minOccurs="0"/>
<xs:element name="rel_band_id" minOccurs="0"/>
<xs:element name="objid" minOccurs="0"/>
<xs:element name="objname" minOccurs="0"/>
<xs:element name="locale_id" minOccurs="0"/>
<xs:element name="start_band_id" minOccurs="0"/>
<xs:element name="band_offset" minOccurs="0"/>
<xs:element name="end_band_id" minOccurs="0"/>
<xs:element name="bandstretch" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VFPFRXPrintJob">
<xs:annotation>
<xs:documentation>
Поставляет информацию, характерную для исполняемого запуска этого отчета, как возможного
в среде VFP. Эти элементы определяют координаты форматирования для инстанций
элементов раскладки, так как их расположение рассчитал Report Engine
во время запуска отчета.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="pagewidth" type="xs:short" use="required"/>
<xs:attribute name="pageheight" type="xs:short" use="required"/>
<xs:attribute name="name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
Предоставляется членом XMLListener.PrintJobName.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="pagedesign" type="xs:string" use="required"/>
<xs:attribute name="printresolution" type="xs:short" use="required"/>
<xs:anyAttribute processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element name="flds">
<xs:complexType>
<xs:sequence>
<xs:element name="the_alias">
<xs:annotation>
<xs:documentation>
Повторяется на уровне поля для использования с SET FIELDS GLOBAL.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="the_field"/>
<xs:element ref="the_type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="the_type">
<xs:annotation>
<xs:documentation>
Происходит из AFIELDS(), соответствует VFP кодам для различных типов данных,
основанных на табличных.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="C"/>
<xs:enumeration value="Y"/>
<xs:enumeration value="D"/>
  <xs:enumeration value="T"/>
<xs:enumeration value="B"/>
<xs:enumeration value="F"/>
<xs:enumeration value="G"/>
<xs:enumeration value="I"/>
<xs:enumeration value="L"/>
<xs:enumeration value="M"/>
<xs:enumeration value="N"/>
<xs:enumeration value="Q"/>
<xs:enumeration value="V"/>
<xs:enumeration value="W"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>

Смотри также

Руководство

Объект ReportListener
Свойство ListenerType

Прочие ресурсы

Фундаментальный класс ReportListener
Расширение функциональности вывода отчета

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Considerations for Creating New Report Output Types

Соглашение о создании новых типов вывода отчета
Смотри также

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

Этот раздел предлагает некоторые инструкции для соглашения о разработке и распространению объектов, расширяющих систему отчетов.

Соглашение по проектированию расширений системы отчетов

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

Если целью является улучшение результатов вывода, Ваш объект возможно не должен быть ReportListener, и он не является типом вывода.

Конструкция этого объекта должна поддерживаться как член или вспомогательный объект множества объектов ReportListener. Он должен быть небольших размеров и поддерживать одну цель для эффективности работы. Конструкция ReportListener должна принимать улучшения последовательным добавлением коллекции этих объектов.

В противоположность этому, если Вашей целью является новый тип вывода результата, это должен быть объект, порожденный от класса ReportListener, и таким образом он может быть успешным партнером обработчика отчетов. Он является хорошим кандидатом для механизма цепи ответственности, представленным ReportListener Base Foundation Class. Этот механизм позволяет Вам генерировать множество типов вывода при прогоне отчета.

Note Замечание

Вы можете использовать оба метода совместно. Зарегистрируйте Ваши расширенные объекты для объекта ReportListener и направьте их действие на вывод до посылки событий на приемники. Каждый приемник может назначить какие расширения возможностей могут быть использованы для его типа вывода. Пример включен в этот раздел.

Определите Вашу стратегию обработки ошибок и опубликуйте Ваши требования к объекту в этом приветствии.
Объекты ReportListener взаимодействует с обработчиком отчетов (Report Engine) уникальным образом, потому что они обрабатывают коды пользователя в течение одной команды Visual FoxPro. Они также частично взаимодействуют с другим кодом пользователя в методах окружения данных и функциях пользователя (UDFs), включенных в файл отчета или наклейки.

Существуют различные способы обработки команды REPORT FORM, которые не совсем правильны. Смотри Обработка ошибок во время прогона отчета для информации и предложений. Когда Вы выберите стратегию будьте уверены, что пользователи вашего класса ReportListener имеют правильную информацию для обеспечения правильной очистки в случае возникновения ошибки.

Разместите требуемые временные таблицы объекта ReportListener в специальной сессии для этой цели.

Свойство FRXDataSession объекта ReportListener обеспечивает вас информацией, которая Вам необходима для доступа к специальной копии файла описания отчета (.frx) во время прогона отчета. Если Вашему ReportListener требуются для работы дополнительные курсоры, используйте эту защищенную сессию даже тогда, когда сессия данных, содержащая данные, на которых базируется отчет представляется Свойством CurrentDataSession объекта ReportListener . Эта стратегия дает уверенность в том, что Вы не трогаете "реальную" сессию данных пользователя и очищаете эти временные файлы после завершения прогона отчета.

Caution note Внимание

Убедитесь, что Вы переключились на соответствующую сессию данных во время прогона отчета, когда Вы хотите использовать копию отчета или другие рабочие файлы. Для дополнительной информации см. Команда SET DATASESSION.

Note Подсказка

Например, Объектно-ориентированный отчет, который использует дополнительные курсоры в сессии данных FRXD см. Report XML MemberData Extensions.

Сделайте различия между Свойством OutputType (Visual FoxPro) объекта ReportListener и Свойством ListenerType в вашем проекте.
OutputType дает вам значение, с которого Приложение вывода Отчета было вызвано, в то время как ListenerType представляет собственный режим генерации вывода, обеспечиваемый базовым классом ReportListener.

Класс, порожденный от класса ReportListener, может быть зарегистрирован для управления множеством различных значений OutputType в таблице регистрации Приложения Вывода Отчета, тогда как базовый класс ReportListener поддерживает различные значения ListenerType. Однако, один OutputType может также поддерживать различные базовые классы и собственный вывод поддержкой множества значений ListenerType.

Пример: Влияние множества эффектов на множество типов вывода

Этот пример создает класс FXListener, порожденный от класса ReportListener, который увеличивает возможности ReportListener Base Foundation класса по управлению цепью приемника. Этот класс обрабатывает все события класса ReportListener до запроса цепи приемника. Все приемники в цепи получают дополнительные возможности от набора эффектов и обрабатывают результаты всех используемых эффектов по мере возможности использования изменений.

FXListener поддерживает коллекцию объектов "эффект". FXListener требует, чтобы все объекты "эффект" являлись экземплярами классов, порожденных от любых базовых классов Visual FoxPro и устанавливали следующий простой интерфейс:

CopyCode image Копировать код
DEFINE CLASS FX As Custom  && any base class
   * Требуемый интерфейс:
   PROCEDURE ApplyFX(toListener, tcProgram,;
                     tP1, tP2, tP3, tP4, tP5, tP6,;
                     tP7, tP8, tP9, tP10, tP11, tP12)
    * FXListener передает ссылку на себя как toListener,
    * PROGRAM() как tcProgram и
    * все параметры ReportListener как tP1 до tP12,
    * для каждого события ReportListener во время прогона.
    * Параметры от tP1 до tP12 передаются по ссылке,
    * поэтому изменения сделанные объектами effect видны
    * классу FXListener и его приемники возвращают из
    * этого метода.
   ENDPROC
ENDDEFINE

Вы регистрируете один или более эффектов для прогона отчета, добавляя экземпляры одного или нескольких классов, управляющих эффектами, в коллекцию эффектов объекта, порожденного от класса FXListener. Затем Вы вызываете команду REPORT FORM с выражением OBJECT, ссылающемся на Ваш объект FXListener для получения результата от Ваших эффектов.

Пример ниже включает полный код для класса FXListener и простого класса "effect". Класс "effect" использует функцию UPPER() для всего выводного текста. Пример добавляет экземпляр класса "effect" в коллекцию класса FXListener. Он также назначает два приемника для FXListener (экземпляр ReportListener User Feedback Foundation Class и экземпляр ReportListener HTML Foundation Class) до того, как отчет будет вызван на прогон.

Изменения вывода отчета от использования объектов "effect" отображаются в предварительном просмотре первичного класса ReportListener (экземпляр класса FXListener), также как вывод HTML генерируется объектом приемника класса HTMListener в своей цепи.

Работая одновременно, пользователь, по обратной связи с помощью класса ReportListener User Feedback , объединяет указатели на свойство PrintJobName первичного класса ReportListener, .

Note Подсказка

Вывод текста изменяется на верхний регистр в методе Render даже при выполнении события EvaluateContents для лучшей призводительности. Использование Render также дает возможность изменять вывод элементов этикетки (Label layout), также как поле или выражение в отчете. Событие EvaluateContents не появляется для элементов этикетки.

Если Вы добавили объект "effect", который выполняет изменения фонта атрибутов, используя событие EvaluateContents , Вы увидите результаты этих изменений в предварительном просмотре. Однако, Вы не увидите тот же результат для HTML; класс ReportListener HTML Foundation получает свой фонт атрибутов из элементов, определенных в FRX и не включает динамические изменения, сделанные во время прогона. Хорошо спроектированные классы "effect" учитывают возможности, требования и ограничения различных типов вывода, сгенерированных классом ReportListener.

Для получения других примеров классов "effect" см. Report XML MemberData Extensions.

CopyCode image Копировать код
#DEFINE FFC_HOME HOME() + "FFC\"

LOCAL loPrimaryRL, loSuccessorRL, loSuccessorRL2
loPrimaryRL = CREATEOBJECT("FXListener")
loSuccessorRL = NEWOBJECT("UpdateListener", ;
                FFC_HOME + "_ReportListener.vcx")
loSuccessorRL2 = NEWOBJECT("HTMLListener", ;
                FFC_HOME + "_ReportListener.vcx")

WITH loPrimaryRL
   .PrintJobName = "Проверка приемника FX (FX Listener Test)"
   .QuietMode = .T.
   .ListenerType = 1
   .FXs.Add(CREATEOBJECT("FXSimple"))
   .Successor = loSuccessorRL
ENDWITH
loSuccessorRL.Successor = loSuccessorRL2
loSuccessorRL2.QuietMode = .T.

REPORT FORM ? OBJECT loPrimaryRL

* FXListener,
* "Эффекты использующие класс производный от ReportListener:
DEFINE CLASS FXListener AS _ReportListener OF ;
                 (FFC_HOME + "_reportListener.vcx")
   FXs = NULL
   PROCEDURE Init()
      THIS.FXs = CREATEOBJECT("Collection")
   ENDPROC
   PROCEDURE SendFX(tcProgram, ;
     tP1, tP2, tP3, tP4, tP5, tP6, tP7, tP8, tP9, tP10, tP11,tP12)
      IF (NOT THIS.IsSuccessor) AND THIS.FXs.Count > 0
         * Только lead делает эту работу.
         * Для того, чтобы
         * вызвать этот метод,
         * который заканчивается DODEFAULT()
         * для каждого события,
         * сделайте результаты доступными
         * для всех приемников.
          LOCAL loFX
          FOR EACH loFX IN THIS.FXs FOXOBJECT
              loFX.ApplyFX(THIS,tcProgram, ;
                           @tP1, @tP2, @tP3, @tP4, @tP5, @tP6, ;
                           @tP7, @tP8, @tP9, @tP10, @tP11, @tP12)
          NEXT
      ENDIF
   ENDPROC
   PROCEDURE BeforeReport()
      THIS.SendFX(PROGRAM())
      NODEFAULT
      RETURN DODEFAULT()
   ENDPROC
   PROCEDURE AfterReport()
      THIS.SendFX(PROGRAM())
      NODEFAULT
      RETURN DODEFAULT()
   ENDPROC
   PROCEDURE BeforeBand(nBandObjCode, nFRXRecNo)
      THIS.SendFX(PROGRAM(),nBandObjCode, nFRXRecNo)
      NODEFAULT
      RETURN DODEFAULT(nBandObjCode, nFRXRecNo)
   ENDPROC
   PROCEDURE AfterBand(nBandObjCode, nFRXRecNo)
      THIS.SendFX(PROGRAM(),nBandObjCode, nFRXRecNo)
      NODEFAULT
      RETURN DODEFAULT(nBandObjCode, nFRXRecNo)
   ENDPROC
   PROCEDURE EvaluateContents(nFRXRecno, oObjProperties)
       THIS.SendFX(PROGRAM(),nFRXRecno, oObjProperties)
       NODEFAULT
       IF (NOT ISNULL(THIS.Successor))
          THIS.SetSuccessorDynamicProperties()
          THIS.Successor.EvaluateContents(nFRXRecno, oObjProperties)
       ENDIF
       DODEFAULT(nFRXRecno, oObjProperties)
   ENDPROC
   PROCEDURE AdjustObjectSize(nFRXRecno, oObjProperties)
       THIS.SendFX(PROGRAM(),nFRXRecno, oObjProperties)
       NODEFAULT
       IF (NOT ISNULL(THIS.Successor))
          THIS.SetSuccessorDynamicProperties()
          THIS.Successor.AdjustObjectSize(nFRXRecno, oObjProperties)
       ENDIF
       DODEFAULT(nFRXRecno, oObjProperties)
   ENDPROC
   PROCEDURE Render(nFRXRecNo,;
                    nLeft,nTop,nWidth,nHeight,;
                    nObjectContinuationType, ;
                    cContentsToBeRendered, GDIPlusImage)
       THIS.SendFX(PROGRAM(),nFRXRecNo,;
                   @nLeft,@nTop,@nWidth,@nHeight,;
                   @nObjectContinuationType, ;
                   @cContentsToBeRendered, @GDIPlusImage)
       NODEFAULT
       RETURN DODEFAULT(nFRXRecNo,;
                        nLeft,nTop,nWidth,nHeight,;
                        nObjectContinuationType, ;
                        cContentsToBeRendered, GDIPlusImage)
   ENDPROC
ENDDEFINE

* Пример класса FX, заполняющего контракт на разработку FX
* установкой требуемого интерфейса:
DEFINE CLASS FXSimple AS Custom
   PROCEDURE ApplyFX(toListener, tcProgram,;
                     tP1, tP2, tP3, tP4, tP5, tP6, ;
                     tP7, tP8, tP9, tP10, tP11, tP12)
      IF ATC("Render",tcProgram) > 0
          tP7 = UPPER(tP7)
          * cContentsToBeRendered
          * является 7-ым параметром Render
          * Заметьте, что многие изменения свойства
          * cContentsToBeRendered в методе Render
          * будут требовать использования STRCONV() для
          * обеспечения результата в Unicode, хотя это
          * простое изменение не требует этого.
      ENDIF
   ENDPROC
ENDDEFINE

Смотри также

Ссылки

Соглашение по созданию отчетов

Отправить комментарии по данной статье в Microsoft. © Microsoft Corporation. Все права защищены.

Перевел BYI


Handling Errors During Report Runs

Visual FoxPro 9.0
Обработка ошибок при выполнении отчета
См. Также

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

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

Обратите внимание:
Прикладные компоненты типа Report Output Application и Report Preview Application взаимодействуют с Visual FoxPro Report System во время осуществления вывода. Они функционируют как устройства обеспечения соответствующих объектных ссылкок на Механизм Отчета. Хотя эти компоненты могут вызвать ошибки и требовать отладки, они не активны в течение внутреннего выполнения отчета, который охватывает события обработки от события BeforeReport до события AfterReport. Вы можете отладить любые проблемы этими компонентами, подобно любому другому приложению Visual FoxPro; они не не охватываются полностью данной темой. Для подробной информации о последовательности событий в выполняемом отчете, см. Understanding Visual FoxPro Object-Assisted Reporting .

Совет:
Вы можете использовать все стандартные средства отладки Visual FoxPro, типа Trace Window при исследовании кода вашей системы отчетов. Вы также найдете ReportListener Debug Foundation Class полезным, по мере Вашего изучения последовательности событий отчета.

Стратегии обработки ошибок в течение выполнения отчета

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

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

ReportListener User Feedback Foundation Class обеспечивает добротную модель отмены отчета в ответ на запрос конечного пользователя. См. тему DoMessage Method для получения кода метода этого класса CancelReport. Обратите внимание, что метод применяет NODEFAULT, если конечный пользователь решил возобновить выполнение отчета через диалоговое окно. Ваш код может придерживаться подобной стратегии в ответ на некритичные ошибки. Для критичных ошибок, Вы можете предпочесть завершить отчет в одностороннем порядке, и закончить выполнение приложение после завершения отчета.

Вы можете выяснить, завершился ли отчет нормально использованием функции SYS(2024). Эта функция возвратит "Y" во время выполнения отчета, через событие завершения Unload, если выполнение отчета не было завершено нормально. В этой точке, внутренняя обработка Системы Отчетов Visual FoxPro завершается. Если Вы решаете, что аварийное завершение выполнения отчета произошло не как ответ на действия конечного пользователя, то Вы можете безопасно выполнить CANCEL или QUIT или выполнить подобную обработку из внешнего объекта приложения. Для подробной информации, см. Microsoft Visual FoxPro Technical Support .

Пример 1: Отмена отчета

В следующем примере, ошибка происходит в событии ReportListener'а BeforeReport, и его обработчик события Error отвечает вызовом метода CancelReport этого класса. Код обработки события UnLoadReport сообщает о значении SYS(2024) равном "Y", как результате срабатывания события Error.

Обратите внимание:
Если бы ошибка произошла во время обработки события LoadReport, SYS(2024) не возвратила бы "Y". Никакого внутреннего процесса отчета в этот момент еще не происходит, так что механизму Отчета не требуется выполнения кода очистки.

Скопировать код
DEFINE CLASS errorListener as ReportListener
  PROCEDURE BeforeReport()
    REPORT FORM ?
  ENDPROC
  PROCEDURE Error(nError, cMethod, nLine)
     WAIT WINDOW MESSAGE()
     * MESSAGE() вернет:
     * Отчет содержит ошибку вложения.
     THIS.CancelReport()
  ENDPROC
  PROCEDURE UnloadReport()
     WAIT WINDOW SYS(2024)
     * SYS(2024) вернет: "Y"
  ENDPROC
ENDDEFINE

Пример 2: Завершение приложения в результате ошибки отчета

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

Для определения из внешнего кода того, что статус соответствует моменту выполнения отчета, используйте функцию SYS(2040). Для подробной информации, см. SYS(2040) - Detect Report Status .

Следующий пример проверяет возвращаемое значение SYS(2040) в обработчике команды ON ERROR Command .

Скопировать код
PUBLIC oApp
oApp = CREATEOBJECT("MyApp")
ON ERROR oApp.ErrorHandler()
WAIT WINDOW "Some processing here..."
REPORT FORM ? OBJECT oApp.oE
WAIT WINDOW ;
  "Some more processing here, " + ;
  "will not occur because of error..."
DEFINE CLASS MyApp AS Custom
   oE = NULL
   PROCEDURE Init
      THIS.oE = CREATEOBJECT("errorListener")
   ENDPROC
   PROCEDURE ErrorHandler
     MESSAGEBOX("Error! " + MESSAGE())
     IF SYS(2040) # "0"
       THIS.oE.cancelReport()
     ENDIF
    IF _VFP.StartMode = 0
       CANCEL
    ELSE
       QUIT
    ENDIF
  ENDPROC
ENDDEFINE
DEFINE CLASS errorListener as ReportListener
  PROCEDURE BeforeBand()
    * parameters are missing
  ENDPROC
  PROCEDURE CancelReport()
    DODEFAULT()
    MESSAGEBOX("Cancelling Report!")
  ENDPROC
ENDDEFINE

Пример 3: Отмена отчета во время завершения приложения

Вы можете использовать подобную стратегию в обработчике ON SHUTDOWN, если это будет возможным для данного обработчика быть вызванным в процессе выполнения отчета. Обработчик ON SHUTDOWN требует ссылку на соответствующий объект ReportListener, так как это делает объект приложения в примере выше. Для подробной информации, см. ON SHUTDOWN Command .

Совет:
Таймеры не срабатывают при выполнении отчета или этикетки. Однако, не исключается возможность конечным пользователям принимать решение о закрытии вашего приложения, в то время как Visual FoxPro продолжает генерировать вывод. Поэтому, не считайте, что необходимость отмены отчета всегда связана с ошибкой.

Вы можете использовать следующий простой пример, чтобы проверить эту возможность.

Скопировать код
PUBLIC rl
ON SHUTDOWN DO MyShutdown
rl = CREATEOBJECT("reportListener")
REPORT FORM ? OBJECT rl  && используйте достаточно длительный отчет!
* используйте значок закрытия главного окна Visual FoxPro
* во время выполнения отчета.
PROCEDURE MyShutDown
  IF SYS(2040) # "0"
     MESSAGEBOX("Now Cancelling Report!")
     rl.CancelReport()
  ENDIF
  ON SHUTDOWN
  IF _VFP.StartMode = 0
     CANCEL
  ELSE
     QUIT
  ENDIF
ENDPROC

Пример 4: Использование события Error ReportListener

В двух из тех трех примеров выше, класс ReportListener не имеет кода обработки события Error. Если Вы включаете обработку события Error в класс ReportListener, как показано в первом примере, этот код может решить обработать, или делегировать любую ошибку, которую он получает.

Если событие Error обрабатывает ошибку, оно может безопасно использовать CANCEL или QUIT. Вы можете использовать эти команды в других событиях или методах ReportListener. Тем не менее убедитесь, что Вы вызвали метод ReportListener'а CancelReport () перед применением инструкций CANCEL или QUIT .

В следующем примере, класс ReportListener использует собственное событие Error чтобы обработать ошибку и затем немедленно завершает отчет.

Совет:
Событие Error ReportListener'а не будет обрабатывать ошибки, которые происходят во время выполнения отчета, но обнаруживаются вне собственного кода ReportListener'а, например, ошибки определяемой пользователем функции (UDF), выполняемой в пределах отчета или ошибки в выражении отчета. По этой причине, наличие кода обработки ошибок ReportListener не освобождает ваш внешний обработчик ошибок от участия в обработке ошибок системы отчетов. Необходима комбинация разных подходов для обработки всех типов ошибок, которые могут произойти в ходе выполнения отчета.

Скопировать код
LOCAL oE
oE = CREATEOBJECT("errorListener")
WAIT WINDOW "Some processing here..."
REPORT FORM ? OBJECT oE
WAIT WINDOW ;
  "Some more processing here, " + ;
  "will not occur because of error..."
DEFINE CLASS errorListener as ReportListener
  PROCEDURE BeforeBand()
    * parameters are missing
  ENDPROC
  PROCEDURE Error(nError, cMethod, nLine)
   WAIT WINDOW "Error occured! " + CHR(13) + ;
               "SYS(2024) before CancelReport: " + SYS(2024)
   THIS.CancelReport()
   CANCEL
  ENDPROC
  PROCEDURE CancelReport()
    IF SYS(2040) # "0"
       MESSAGEBOX("Cancelling Report!")
       DODEFAULT()
       WAIT WINDOW "SYS(2024) is now: " + SYS(2024)
    ENDIF
  ENDPROC
ENDDEFINE

Пример 5: Использование структурной обработки ошибок отчетов

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

Скопировать код
LOCAL oE
TRY
  oE = CREATEOBJECT("errorListener")
  WAIT WINDOW "Some processing here..."
  REPORT FORM ? OBJECT oE
  WAIT WINDOW ;
  "Some more processing here, " + ;
  "will not occur because of error..."
CATCH WHEN .T.
   WAIT WINDOW "An error occured! " + CHR(13) + ;
               "SYS(2024)=" + SYS(2024) + CHR(13) + ;
               "SYS(2040)=" + SYS(2040)
   * SYS(2024) will report "N"
   * SYS(2040) will report "0"
   oE.CancelReport()
ENDTRY
DEFINE CLASS errorListener as ReportListener
  PROCEDURE BeforeBand()
    * parameters are missing
  ENDPROC
  PROCEDURE CancelReport()
    IF SYS(2040) = "0"
       MESSAGEBOX("No report in progress, " + CHR(13) + ;
                  "but this method can still do user cleanup!")
       NODEFAULT
    ELSE
       MESSAGEBOX("Cancelling Report!")
       DODEFAULT()
    ENDIF
  ENDPROC
ENDDEFINE

Ошибки в течение выполнения отчета, которые не содержатся в строках программы

В Visual FoxProе 9.0 и всех более ранних версиях имеется возможность ошибок в течение выполнения отчета, которые определенно не связаны с данными трассировки пользовательского кода. Такие ошибки включают выражения отчета или переменные отчета, которые Механизм Отчета не может распознать, так же как трудности инициализиции окружения данных отчета.

Visual FoxPro 9.0 поддерживает обратную совместимость с собственной обработкой таких ошибок, как описано в этом разделе.

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

Если Вы не имеете обработчика ON ERROR или конструкции TRY… ENDTRY в этом месте, Visual FoxPro не вызывает вашу обработку ошибок, пока он не выполнит внутренний код завершения и не закончит выполнение отчета.

Как демонстрируется в примерах этой темы, значение функции MESSAGE() доступно, если это происходит в коде ReportListener, или в другом пользовательском коде, который Вы вызываете в течение выполнения отчета. Однако, если ошибка не связана со строкой программы, MESSAGE() не присваивается, пока Механизм Отчета не завершает работу.

Если ошибка не связана со строкой программы, значение MESSAGE() не присваивается вообще, если Вы не имеете некоторого способа обработки ошибок в этом месте во время выполнения команд REPORT FORM или LABEL . Если Вы не имеете обработчика ошибок, и если Вы использовали команду CLEAR ERROR перед выполнением отчета, MESSAGE() имеет все ещё пустое значение после начала выполнения отчета. Если Вы не использовали CLEAR ERROR , MESSAGE() сохраняет свое предыдущее значение.

Команды, которые не поддерживаются в течение выполнения отчета

Для правильной обработки ошибок, Вы должны запланировать использование только тех команд, использование которые являются безопасным в течение выполнения отчета.

Все команды Visual FoxPro в таблице ниже не поддерживаются во время внутреннего выполнения вывода, между событиями BeforeReport и AfterReport (включительно).

Не все ошибки в этой таблице будут немедленно генерировать ошибку, но их использование во время процесса вывода ведет к непредсказуемым результатам.

Эти команды не поддерживаются, происходят ли они:

  • Непосредственно в коде события ReportListener'а.

  • В дополнительном коде, вызванном ReportListener'ом, типа кода из библиотеки процедур.

  • В окне command, в то время как выполнение приостановлено.

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

В некоторых случаях, как обозначено в таблице, команды также не поддерживаются в событиях ReportListener'а LoadReport Event и UnloadReport Event . Эти два ограничивающих события обеспечивают пользовательский захват процесса внутреннего выполнения с обеих сторон.

Как последний, исключительный случай, это выполнение метода OutputPage Method, который может продолжаться после завершения отчета, если был вызван объектом PreviewContainer, когда, возможно, он нуждается в доступе к ресурсам, встроенным в приложение, типа файлов изображений, для продолжения выполнения своей задачи. По этой причине, использование команды типа CLEAR ALL, которое могло бы выгрузить вызываемое приложение из памяти, не поддерживается, пока предварительный просмотр не будет завершен. Когда команды REPORT FORM или LABEL включают ключевое слово NOWAIT , предварительный просмотр заканчивается при закрытии окна предварительного просмотра, если пользователь не начинает из него печать. Если пользователь выбирает печать, предварительный просмотр завершается в то время как Visual FoxPro заканчивает вывод отчета на принтер.

Обратите внимание:
В дополнение к нижеупомянутым командам, все команды, которые изменяют сессии, рабочие области, положение указателей зиписи, или другие атрибуты данных над которыми команды REPORT FORM и LABEL производят действия, должны использоваться с предостережением. Как в предыдущих версиях Visual FoxPro, ответственность за восстановление состояния данных при использовании этих команд, лежит на пользователе, при понимании того, что другие ReportListener'ы и дополнительный пользовательский код, так же как и внутренний Механизм Отчета могут оказаться под воздействием изменений этих состояний данных. Например, хотя команда BROWSE отсутствует в этой таблице, она потенциально может изменить указатель записи, вызвать срабатывание дополнительного кода, прикрепленного через определяемые пользователем функции (UDFs), и воздействовать на реляционные отношения данных и поэтому должна использоваться с предостережением.

Команда (ы) | Поддерживаемые в обработчике событий LoadReport и UnloadReport ? | Замечания
CLEAR ALL RELEASE ALL CLOSE ALL | Нет | Это ограничение должно прежде всего сохранить ссылкку на ReportListener и таблицы данных как это ожидается Механизмом Отчета во время процессинга отчета.
RETRY RETURN TO MASTER RETURN TO <Procedure Name> | Нет |
?????? \, \ @. .. SAY EJECT, EJECT PAGE PRINTJOB… ENDPRINTJOB LIST, DISPLAY, TYPE SET DEVICE,PRINTER | Да | Эти команды вывода поддерживаются во время выполнения вывода, если целевое устройство для выполнения вывода отличается от целевого устройства для команды вывода. Например, если ваша команда REPORT FORM имеет предложение PREVIEW, Вы можете выполнить LIST MEMO TO <filename> во время выполнения отчета.
BEGIN TRANSACTION и дополнительные связанные с транзакцией команды | Да | Транзакционные команды поддерживаются, если транзакция завершается в пределах одной используемой процедуры или одного события ReportListener.
MODIFY/CREATE CLASS, FORM, LABEL, REPORT […] | Да | Все команды, которые вовлекают интерактивные дизайнеры Visual FoxPro, являются неподдерживаемыми, как модальные, так и вызваные с ключевым словом NOWAIT . Вы можете вызвать текстовый редактор ( MODIFY FILE или COMMAND ).
REPORT FORM LABEL | Нет | Команды REPORT FORM и LABEL не могут быть вложеными.

Ошибки связанные с Системой Отчетов Visual FoxPro

Следующая таблица представляет перечень ошибок, которые происходят по причинам, специфическим для процессинга отчетов и этикеток в run-time.

Сообщение об ошибке и номер | Причина или сценарий
"name" is not an object (Error 1924) | Механизм отчета получил REPORT FORM Command или LABEL Command с предложением OBJECT <ref> и <ref> не является объектом.
Class definition "name" is not found (Error 1733) | Механизм получил NULL в ссылке как результат предложения OBJECT TYPE <N> в команде REPORT FORM или LABEL, указывая, что приложение заданное системной переменной _REPORTOUTPUT не смогло определить это значение как объектную ссылку ReportListener Object .
Data type is invalid for this property (Error 1732) | Механизм получает предложение OBJECT TYPE <N> в команде REPORT FORM или LABEL, и параметр <N> не имеет числового типа. Эта ошибка может также произойти в соединении с использованием метода OutputPage, обсуждаемого ниже.
Report contains a nesting error (Error 1645) | Команды REPORT FORM или LABEL была вызвана во время выполнения другого отчета или этикетки. Обратите внимание, что эта ошибка происходит, даже если вложенная команда использует обратно совместимый режим отчета, если запрашивается другой отчет, или если вложенная команда включает ссылку на другой объект ReportListener.
Syntax error (Error 10) | SET REPORTBEHAVIOR Command была применена с неправильным параметром.
The current object does not inherit from class "name" (Error 1935) | Механизм получил объектную ссылку, которая не унаследована от базового класса Visual FoxPro ReportListener.
Variable "variable" is not found (Error 12) | Механизм получил предложение OBJECT TYPE <N> в команде REPORT FORM или LABEL, и приложение, указанное системной переменной _REPORTOUTPUT не может быть найдено, или переменная имеет пустое значение.
Must specify additional parameters (Error 94) Function argument value, type, or count is invalid (Error 11) Data type is invalid for this property (Error 1732) Error writing to file "file" (Error 1105) Output page "page" is not available (Error 2194) | Все ошибки в этой группе указывают, что метод ReportListener'а OutputPage был вызван неправильно. Для подробной информации, см. OutputPage Method .

See Also

Reference

TRY...CATCH...FINALLY Command
Debugging and Error-Handling Language
Error Event (Visual FoxPro)
CANCEL Command
QUIT Command
MESSAGE( ) Function
CLEAR Commands

Concepts

Structured Error Handling
Class and Object Error Handling
Handling Run-Time Errors
Error Handler Priority

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Understanding and Extending Report Structure

Visual FoxPro 9.0
Понимание и расширение структуры отчета (Understanding and Extending Report Structure)
Смотри также

В Visual FoxPro 9.0, расширения в системе отчетов изменены более, чем когда либо раньше, как для design-time, так и для run-time и сделаны более пригодными для обработки. Для гарантии успешного создания расширений, вы должны понимать структуру таблиц отчета (.frx) и этикетки (.lbx).

Замечание:
Структуры файлов отчета и этикетки VFP идентичны. Для получения более подробной информации о содержимом каталога FILESPEC, смотри Табличные структуры файлов таблиц (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

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

Эта информация позволит вам:

  • Успешно манипулировать данными таблиц отчета и этикетки.

  • Описывать новые типы элементов отчета и поведения в его таблицах.

Понимание изменений в таблицах отчета и этикетки

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

Для поддержки различных улучшений для design-time и run-time, Visual FoxPro 9 перегружает некоторые поля в таблицах отчетов и этикеток, для использования их в новых способах обращения с элементами раскладки, которые не использовали эти поля в ранних версиях. Некоторые из новых величин не используются продуктом напрямую; вместо этого они предоставляют необходимую информацию приложениям построителя отчета или другим пользовательским программным кодам.

Новое содержание полей таблиц Visual FoxPro 9, обеспечивающее поддержку улучшений разработки и выпуска отчетов, может быть также добавлено и в существующие отчеты без нарушения совместимости назад, с более ранними версиями. Дополнительное содержание в полях отчетов и этикеток будет проигнорировано в run-time Visual FoxPro 8 и более ранними версиями.

Visual FoxPro предоставляет информацию о системных таблицах для различных элементов, включая отчеты в каталоге FILESPEC. В поставку Visual FoxPro 9.0 включены обновленные копии 60FRX.DBF, таблицы, которая определяет использование различных полей в раскладках отчетов и этикеток.

Изменения в 60FRX.DBF

Содержание поля 60FRX.Descriptio обновлено почти для каждой записи с целью более подробного объяснения использования полей таблиц отчетов и этикеток. Обновленная информация, которую вы сможете увидеть в содержимом этого поля, применима ко всем версиям Visual FoxPro,и там же добавлена новая секция, указывающая новое в использовании в Visual FoxPro 9.0.

Приведенный ниже пример представляет собой вход 60FRX.Descriptio для значения RULERLINES полей таблицы 60FRX.Fields.

Скопировать код
RULERLINES is used only in the header record.
0 = Show Ruler Lines: No
1 = Show Ruler Lines: Yes
==============================
Visual FoxPro 9-only Information Below
==============================
RULERLINES is reserved in VFP9 for OBJTYPE=8 (Field) for StringTrimming.
Default is StringTrimmingEllipsisWord.
0 or not entered = Default
1 = StringTrimmingCharacter
2 = StringTrimmingWord
3 = StringTrimmingEllipsisCharacter
4 = StringTrimmingEllipsisWord
5 = StringTrimmingEllipsisPath (for filenames).

Версия 60FRX.DBF в Visual FoxPro 9.0 содержит новое поле - 60FRX.Usedby_obj. Поле 60FRX.Usedby_obj содержит список ключевых слов для всех элементов отчета, которые используют данное поле.

Например, если вы желаете найти все поля, используемые в заголовочной записи файла отчета или этикетки, а также описания того, как эти поля используются, вы можете выполнить приведенную ниже команду:

Скопировать код
SELECT Fields, Descriptio FROM 60FRX WHERE ATC("Header",Usedby_obj) > 0

Колонка Fields в результирующем курсоре даст вам имена каждого поля в таблицах FRX или LBX, используемых в заголовочной записи (Header record). Колонка Descriptio расскажет вам, как используется каждое поле.

Совет:
Если поле отчета используется по-новому в Visual FoxPro 9.0, ключевые слова для элементов, по-новому использующих это поле сопровождаются символом "|", в списке 60FRX.Usedby_obj. Например, для значения RULERLINES в 60FRX.Fields, в 60FRX.Usedby_obj значение читается как HEADER | EXPR. Как было показано выше для RULERLINES в составе колонки 60FRX.Descriptio, ранние версии Visual FoxPro использовали это поле только в заголовочной записи. Visual FoxPro 9.0, кроме того, использует это поле для колонки Field (или Expression) элементов раскладки. В результате, в 60FRX.Usedby_obj имеются два ключевых слова, разделенных символом "|".

Приведенная ниже таблица предоставляет вам информацию о ключевых словах, хранящихся в поле 60FRX.Usedby_obj для каждого типа объектов отчета.

Таблица отчета Значение поля Objtype | Описание объекта отчета | Значение поля 60FRX.Usedby_obj
0 | Comment | N/A
1 | Report Header | HEADER
2 | Workarea (FoxPro 2.x reports) | 20TABLE
3 | Index (FoxPro 2.x reports) | 20INDEX
4 | Relation (FoxPro 2.x reports) | 20RELATION
5 | Label | TEXT
6 | Line | LINE
7 | Rectangle / Shape | SHAPE
8 | Field | EXPR
9 | Bandinfo | BAND
10 | Group | GROUP
17 | Picture / OLE Bound | PICT
18 | Variable | VAR
21 | Printer Driver Setup (FoxPro 2.x reports) | 20PDRIVER
23 | Font resource | FONTRES
25 | Data Environment | DATAENV
26 | Cursor, Relation, или CursorAdapter (Смотри содержание поля Name для определения, какой именно объект имеется в виду) | CURSOR-RELATION

Создание корректного содержания отчета или этикетки

Visual FoxPro 9 поставляется вместе с примерным кодом с целью показать вам, как найти и оразмерить различные объекты, используемые в фундаментальных классах. Для получения подробной информации смотри статью Фундаментальный класс FRX Cursor и Фундаментальный класс FRX Device Helper. Эти классы являются частью приложения построителя отчета, используемого по умолчанию. Они дают вам для использования инструмент приложения построителя отчета, для случаев, когда вы желаете определить подходящие размещения и метрики для новых элементов отчетов и этикеток.

Форматирование и пересмотр информации в 60FRX.DBF

Новый файл отчета 90FRX.FRX, находящийся в каталоге FILESPEC, предоставляет объединенную информацию о полном использовании таблиц отчетов и этикеток во всех версиях, с подчеркиванием новинок в использовании с Visual FoxPro 9. Ранние версии отчетов 60FRX.DBF, 60FRX1.FRX и 60FRX2.FRX по-прежнему включены в поставку и находятся в каталоге FILESPEC.

Безопасное расширение таблиц отчетов и этикеток

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

  • Добавить новые колонки в таблицы отчетов и этикеток.

  • Добавить новые типы объектов отчетов и этикеток в виде новых строк таблицы.

  • Добавить записи со значениями новой платформы (записи в которых значение платформы отличается от "Windows").

  • Добавлять личную информацию в колонки, такие как колонка User, не используемую отчетами и этикетками.

  • Добавлять личные аттрибуты в XML схему данных в Reporting memberdata. Reporting memberdata хранится в колонке Style. Для получения подробной информации смотри Как: присвоить структурированные метаданные элементам (controls) отчета.

Visual FoxPro 9 поддерживает все эти типы определенного пользователем содержания, независимо от того, будут ли они находиться в записях, используемых системой или в дополнительных записях. Он делает возможным использовать это содержание в пользовательском коде в сессиях дизайнера отчета, через перехватчики событий построителя отчета. Когда вы выполняете отчеты или этикеты, он делает доступным полное содержание таблиц отчетов и этикетов событиям и методам объектов ReportListener.

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

Когда вы расширяете отчеты и этикетки новыми типами содержания, то должны быть соблюдены приведенные ниже ограничения.

Разграничение между "родными" (Native) и определенными пользователями типами записей

Существует 100 возможных значений Objtype (от 0 до 99). Visual FoxPro 9 прямо поддерживает значения Objtype от 49 и ниже для внутреннего использования и коренного использования дизайнером отчета. В дизайнере отчета "родным" для VFP образом работа ведется только с записями с распознаваемыми и документированными значениями Objtype и только с записями, содержащие значения поля Objcode, природно ассоциированные с этими значениями Objtype.

Пользователи и разного рода дополнительные инструменты, такие как приложение построителя отчета (ReportBuilder Applications) могут менять содержание записей с "родными"-распознаваемыми значениями в поле Objtype таблиц отчетов и этикеток. Они, кроме того, могут добавлять новые записи с "родными" Objtypes, памятуя о следовании стандарту использования колонок для всех "родных" типов.

Пользователи и используемые программные дополнения не должны добавлять неизвестные или недокументированные значения Objcode в записи в "родными" значениями Objtype (49 и ниже). Они могут быть удалены встроенным дизайнером отчета без каких-либо предупреждений.

Вы можете добавлять записи с определенными вами значениями Objtype в диапазоне от 50 и выше. Эти записи могут иметь любые значения Objcode. Встроенный дизайнер отчета сохраняет и игнорирует все содержание таких записей, однако, для их ввода и редактирования могут быть использованы приложение ReportBuilder и прочие дополнительные программные инструменты.

Замечание:
Хотя добавленные пользователем записи со значением Objtype в 50 и выше сохраняются в таблице, позиция таких записей в таблицах отчетов и этикеток не гарантируется. Сессия дизайнера отчета может изменить порядок записей в таблице раскладки. Добавленные пользователем записи будут скорее всего появляться в конце таблице, после записей, сохраненных дизайнером отчетов. Если для вас порядок записи принципиально важен, то храните необходимую информацию в колонках записи с требуемой позицией.

Гарантирование значения Unique ID для записей с определенным пользователем содержанием

Дополнительное содержание в любой записи без значения UniqueID, включая содержание в родных полях, таких как User, не будет поддерживаться. Ограничение сохраняет контроль для записей с родными значениями Objtype, в той же мере, что и определенными пользователем значениями Objtype.

Совет:
Используйте функцию SYS(2015) с целью получения значений для поля UniqueID новой записи. Используйте метод getFrxTimeStamp фундаментального класса FRXCursor для получения соответствующего значения Timestamp.

Отчеты и этикетки имеют несколько "родных" значений Objtype с неопределенными UniqueIDs, особенно font (objtype 23) и ресурсы, связанные с окружением данных (objtypes 25 и 26), особым образом используемые движком отчета в runtime. Возможно, кроме того существование записи комментария (objtype 0 или пустой). Дизайнер отчета и приложение построителя отчета не гарантируют сохранение пользовательского содержания в этих записях. Вы можете добавить новые записи подходящих objtypes для этих ресурсов, придавая им стандартное содержание. Вы можете, кроме того, расширить эти ресурсы с помощью связывания с ними определенных пользователем типов объектов. Например, запись со значением objtype равным 53 может представлять запись ресурса "extended font".

Поиск добавленного пользователем содержания в структурах таблиц отчетов и этикеток

Добавленные пользователем колонки должны располагаться в конце структуры таблицы отчета или этикетки. Если порядок "родных" колонок изменен, или они удалены, изменены в размерах, типе или имени и т.п., Visual FoxPro будет считать такую таблицу отчета или этикетки недействительной.

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

Колонки Expr, Tag и Tag2 в заголовочной записи (используемые для аттрибутов настройки принтера) зарезервированы для внутреннего использования.

В ряде редких случаев, пользователи могут редактировать значения в колонке Expr и, если эти значения основаны на связанных аттрибутах, они будут распознаны дизайнером, оставаться в записи, быть доступными в течение сессии дизайнера и использоваться движком отчета в run time. Однако, такое поведение не поддерживается и не расширяется. В частном случае, пары значений в поле Expr не будут сохранены в таблице после закрытия сессии, даже если не было сделано явных изменений в Page Setup в течение этой сессии. Вместо этого, вы можете использовать поле Picture заголовочной записи для хранения замещающей информации для инструкций принтеру. Для получения подробной информации смотри SYS(1037) - Диалоговое окно установки страницы (Page Setup).

Смотри также

Справочное руководство

Объект ReportListener
SYS(2015) - Уникальное имя процедуры

Концепции

Расширяемость MemberData
Расширения XML MemberData отчета

Другие ресурсы

Расширение возможностей отчетов в среде разработки

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS


Report XML MemberData Extensions

Расширения Отчетов XML данных
См. также

Visual FoxPro 9.0 позволяет применять расширенные атрибуты метаданных для членов класса в Конструкторе классов, используя XML в формате документов, определяемом схемой VFP данных. Система отчетов Visual FoxPro не используется совместно с Конструктором Классов, однако она использует схемы данных для аналогичных целей. Использование расширений данных в Отчетах позволяет:

  • Определять пользовательские инструкции на этапе проектирования для элементов макета отчета, чтобы использовать их посредством события hooks, доступного в Конструкторах Отчетов и Этикеток.

  • Обеспечить динамические инструкции элементов макета отчета, которые могут быть выполнены с помощью объекта, порожденного классом ReportListener во время выполнения программы.

Этот раздел описывает компоненты схемы данных, используемые для отчетов, приводятся примеры использования данных XML документов при создании и выполнении отчетов.

Построение отчета данных XML документа

Данные отчета, как и класс Design MemberData, содержат последовательность элементов корневого узла VFPData. Чтобы заполнить список схемы совместно используемых данных (.xsd), смотри MemberData Extensibility. Приведенная ниже таблица описывает атрибуты, используемые при работе с отчетами.

Note Замечание

Схема позволяет пользователю добавлять атрибуты, не определенные явно. Любые создаваемые инструменты разбора или создания XML документа должны давать возможность чтобы дополнительные или неизвестные атрибуты присутствовали для одного или нескольких элементов в последовательности. Эти инструменты не должны иметь обязательных атрибутов, схема должна иметь возможность пропускать один или более элементов . Пример, приведенный в этом разделе, предусматривает именно такой способ действия.

Колонка Style отчета и файла описания этикетки (.frx and .lbx tables) зарезервирована для хранения Report MemberData. Для дополнительной информации по структуре отчетов и этикеток, смотри Понимание структуры отчетов.

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

Название узла Тип узла Родитель- ский узел Замечения по использованию

VFPData

Элемент

(обязательный)

Нет

Корневой узел VFP данных документа

reportdata

Элемент

(обязательный)

VFPData

Элемент содержит метаданные для конкретной записи таблицы описания отчета или этикетки.

name

Атрибут

(обязательный)

reportdata

Взаимодействует с данными Конструктора Классов. Может быть использован с типом атрибута для управления записями данных отчета в базах данных, например в FoxCode.dbf. Для дополнительной информации см. Системная переменная _FOXCODE.

Note Замечание

Хотя атрибут обязательный, допускается нулевое(пустое) значение атрибута.

type

Атрибут

reportdata

Используется с данными Конструктора Классов. Может быть использован с именем атрибута для управления записями в базах данных.

Note Замечание

Когда Построитель Отчетов создает отчет данных, он устанавливает значение типа атрибута "R", чтобы различать эти записи от других типов данных.

script

Атрибут

reportdata

Используется с данными Конструктора Классов, так как это делается при создании классов, на этапе создания расширений отчетов.

class

Атрибут

reportdata

Определяет имена классов при использовании в следующих случаях:

  • Шаблон при конструировании, из которого расширения Построителя Отчетов могут использовать атрибуты. Расширения Построителя Отчетов, которые используют этот метод, передают атрибуты из шаблонного класса элементу этикетки или отчета.

  • Класс helper для конструирования элементов Отчета или Этикетки. Расширения Построителя Отчетов используют этот метод, чтобы установить нужное взаимодействие этих классов и активизировать требуемый метод для соответствующего события при конструировании. Класс helper осуществляет доступ к частной сессии данных объекта Report Builder и к копии таблицы отчета или этикетки.

  • Класс helper может взаимодействовать со скриптами при конструировании отчета. Построитель Отчетов, использующий такой подход, может отправить скрипт в класс helper на обработку, или он может выполнять скрипт непосредственно, передав ссылку объекту класса helper в качестве параметра скрипта.

  • Шаблонный класс задается при выполнении отчета с помощью ReportListener. ReportListener может передавать атрибуты динамически из шаблонного класса , описывая набор атрибутов, которые должны быть переданы. Такой подход позволяет изменять все элементы макета, во всех отчетах, изменяя соответствующие элементы шаблонного класса, эмулируя таким образом наследуемый класс .

  • Класс helper может быть активизирован с помощью ReportListener при выполнении определенного элемента макета отчета и связан с выполнением скрипта.

classlib

Атрибут

reportdata

Определяет имя библиотеки классов или файла процедуры (.vcx or .prg), из которых helper или шаблонный класс устанавливает значения. Расширение принимает значение vcx, если атрибут не включен. Следует отметить, что библиотека классов или файл процедуры должны иметь соответствующее расширение. Для общего понимания того, как Visual FoxPro находит определение класса, обратитесь к примечаниям раздела SET CLASSLIB Command.

declass

Атрибут

reportdata

Определяет как хранить имя класса DataEnvironment в visual class library(.vcx), используемого как шаблон для Курсора и связанных записей в отчете или этикетках при реализации Построителем Отчетов события Load DataEnvironment. Построитель Отчетов записывает код, связанный с экземпляром этого класса, в событие DataEnvironment отчета. Для дополнительной информации, смотри Как:Загрузитьd Data Environment sдля отчетов.

Note Замечание

Построитель Отчетов использует запись заголовка (первую запись) в отчете или таблице описания этикетки для хранения информации класса DataEnvironment , так как эта информация является общей для отчета. Следует придерживаться этого правила, т.е. хранить общие (глобальные) данные в первых записях документа XML документа. В примере, приведенном в этом разделе, a run-time reporting extension opts проверяет эту запись скриптом, соответствующим событиям BeforeReport and AfterReport. Эти события являются глобальными по своей сути и не связаны с каким-либо конкретным отчетом или этикеткой.

declasslib

Атрибут

reportdata

Предназначен для хранения имени файла библиотеки классов или процедуры, из которых происходит обращение к классу DataEnvironment, если атрибут declass содержит имя класса DataEnvironment, как описано выше. В качестве альтернативы, Построитель Отчетов дает возможность использовать записи DataEnvironment из других отчетов или этикеток (файлы .frx or .lbx) в отчете. Если выбран этот метод, Построитель Отчетов сохраняет имя отчета или этикетки, используемых в качестве шаблона DataEnvironment, в этом атрибуте.

execute

Атрибут

reportdata

Определяет скрипт, используемый при выполнении отчета.

execwhen

Атрибут

reportdata

Определяет условия, при которых скрипт атрибута execute должен быть выполнен.

Note Подсказка

Как показано в приведенном примере программного кода в этом разделе,условия  execwhen могут быть вычислены гибко, а не как условие Print When в отчете, когда они должны выполняться напрямую а зависимости от логического результата.

Конструирование отчета XML данных

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

Представленный класс реализует механизм Построителя Отчетов, называемый exit handler . Этот класс получает информацию о событии Конструктора Отчетов, устанавливающего, произведены ли какие либо изменения текущего элемента макета отчета. Если элемент макета содержит текст, и изменения произведены, обработчик объекта проверяет наличие шаблонного класса в XML данных. Если таковой существует, и имеет свойство с именем Fontname, обработчик запрашивает пользователя, должен ли быть фонт шаблонного класса применен к элементу макета отчета.

Note Замечание

Для дополнительной информации о регистрации пользовательских обработчиков и фильтров в таблице регистрации Приложенияя Построителя Отчета и и установки требуемого API, смотри Таблица регистрации обработчика событий Построителя Отчетов. Использование механизма exit handler очень удобно, но иллюстрирует только часть возможностей, которыми вы можете воспользоваться, применяя взаимодействие события hooks Конструктора Отчета и Отчет XML данных.

CopyCode image Copy Code
DEFINE CLASS TemplateObjectHandler AS Custom
* определить в качестве exit handler
PROCEDURE Execute( oEvent )
  IF BITTEST(oEvent.ReturnFlags,1) AND ;
    INLIST(FRX.ObjType,5,8) AND NOT EMPTY(FRX.STYLE)
    LOCAL lcAlias, loX
    lcAlias = "T"+SYS(2015)
    TRY
      XMLTOCURSOR(FRX.Style,lcAlias)
      SELECT (lcAlias)
      IF NOT EMPTY(Class) AND ;
        MESSAGEBOX("(Re)apply Font from Template Object?",4) = 6
        IF EMPTY(ClassLib)
          loX = CREATEOBJECT(ALLTRIM(Class))
        ELSE
          loX = NEWOBJECT(ALLTRIM(Class),ALLTRIM(Classlib))
        ENDIF
        IF VARTYPE(loX) = "O" AND ;
          PEMSTATUS(loX,"Fontname",5)
          REPLACE Fontface WITH loX.Fontname IN FRX
        ELSE
          MESSAGEBOX("Could not apply template.")
        ENDIF
      ENDIF
    CATCH WHEN .T.
      * некорректный XML документ
      * или иная ошибка
    FINALLY
      IF USED(lcAlias)
        USE IN (lcAlias)
      ENDIF
      SELECT FRX
    ENDTRY
  ENDIF
  RETURN .T.
ENDPROC
ENDDEFINE

Выполнение отчета XML данных

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

В этом примере суперкласс FXMemberData представляет собой пользовательский класс, реализующий простейший FX API, удобный для вызова из экземпляра класса FXListener , как это описано в данном разделе. FXMemberData является эффективным объектом, способным читать и разбирать Отчет XML данных, размещая результат в курсоре, проиндексированном по колонке FRXRecno, связывающей каждую запись с элементом отчета или таблицей описания этикетки.

FXMemberData реализует свои функции в самом начале выполнения отчета. Далее при выполнении отчета, если значение элемента набора данных  ApplyMemberData установлено True (.T.), FXMemberData устанавливает указатель курсора в соответствии с текущим событием отчета, но не производит каких либо иных действий.

Наличие такого рода объекта позволяет избежать необходимости каждому объекту ReportListener запрашивать доступ к метаданным для собственного разбора XML дкумента. Наряду с простым доступом к метаданным в этом общем курсоре, любой объект, использующий данные, посредством SELECT может выбрать нужные столбцы в отдельный собственный курсор с дополнительными столбцами для динамических изменений, которые ему понадобятся при выполнении для собственных целей.

Note Замечание

Чтобы определить соответствующий курсор, созданный FXMemberData или аналогичным объектом, другие объекты могут обратиться к FRXDataSession для поиска курсора с корректной структурой, или разобрать XML документ самостоятельно, если таковой не найден. Как вариант, следует соблюдать простое условие, представленное свойством MemberDataAlias объекта ReportListener, содержащим соответствующий алиас. Обратите внимание, что FXMemberData использует метод AddProperty Method , чтобы присоединить это свойство к любому объекту ReportListener.

Второй класс, производный от FXMemberData, называется FXProcessMemberDataScript и демонстрирует методику использования атрибутов Execute и ExecWhen Отчета XML данных. Этот класс оценивает состояние ExecWhen и определяет момент запуска скрипта в Execute. Если определено, что следует начать выполнение скрипта, проверяется, является ли первой строкой скрипта строка  PARAMETERS или LPARAMETERS. Если нет, оператор LPARAMETERS записывается в начало скрипта, чтобы позволить пропуск всех параметров, полученных с помощью метода ApplyFX класса effect API, который позволяет объектам класса effect обрабатывать и настраивать все параметры событий отчета. Оператор LPARAMETERS создает включения и ссылки на объект FX в качестве первого параметра, до того как все параметры получены в методе ApplyFx. При выполнении этих настроек используется EXECSCRIPT( ) Function для запуска скрипта, не передавая при этом параметры скрипту.

CopyCode image Copy Code
* при использовании этого класса
* необходимо следовать образцу ,
* иллюстрирующего использование класса FXListener :
LOCAL loPrimaryRL
*сдедующие строки  описывают возможности
* определения класса для  FXListener,  приведенные в
* примере кода в этом разделе
* Соглашения по созданию Новых Типов Выводов Отчета :
loPrimaryRL = CREATEOBJECT("FXListener")
* добавляются наследуемые объекты ReportListeners, если требуется
loPrimaryRL.FXs.Add("FXProcessMemberDataScript")
* или используется его суперкласс, если не выполняется
* скрипт,но вы хотите разобрать XML данные:
* loPrimaryRL.FXs.Add("FXMemberData")
* добавляются другие объекты класса еffect  в набор,
* если это требуется

* класс effect  удобно вызывать
* из класса example в FXListener

* так как он работает с неизвестными атрибутами
* и неизвестными запрашиваемыми данными,
* FXMemberData требует, чтобы значения,  назначенные вами
* для всех пользовательских атрибутов были представлены
* XMLTOCURSOR() как строковые.  Значения,
* не представленные как строковые будут считаться ошибочными.
* Такой способ делает возможным
* для вас и других пользователей работать со сложными типами данных
* с теми же пользовательскими атрибутами
* в различных  записях  FRX.
* Когда вы используете не строковое значение, необходимо
* переопределить его должным образом для применения в вашем коде.
* (Используйте EVAL() или другим способом преобразуйте тип данных
* как это необходимо.)

DEFINE CLASS FXMemberData AS Custom
   MemberDataAlias = ""
   ApplyMemberData = .F.
   PROCEDURE ApplyFX(toListener, tcProgram,;
                     tP1, tP2, tP3, tP4, tP5, tP6, ;
                     tP7, tP8, tP9, tP10, tP11, tP12)
      LOCAL liSession, liSelect, llInBeforeReport
      llInBeforeReport = (ATC("BeforeReport", tcProgram) > 0)
      IF (llInBeforeReport OR THIS.ApplyMemberData) AND ;
         (TYPE("toListener.FRXDataSession") = "N" AND ;
              toListener.FRXDataSession > -1)
         liSession = SET("DATASESSION")
         SET DATASESSION TO (toListener.FRXDataSession)
         liSelect = SELECT()
         IF llInBeforeReport
             * вытаскиваем данные из FRX для дальнейшего использования
             THIS.PullMemberData(toListener)
         ENDIF
         IF THIS.ApplyMemberData
            * этот FX объект
            * может использовать
            * полученные данные
            * или он может сделать их
            * доступными для других FX объектов
            * после прочтения
            SELECT (THIS.MemberDataAlias)
            THIS.UseMemberData(;
                 toListener, tcProgram,;
                 @tP1, @tP2, @tP3, @tP4, @tP5, @tP6, ;
                 @tP7, @tP8, @tP9, @tP10, @tP11, @tP12)
         ENDIF
         SELECT (liSelect)
         SET DATASESSION TO (liSession)
      ENDIF
   ENDPROC
   PROTECTED PROCEDURE UseMemberData(toListener, tcProgram,;
                        tP1, tP2, tP3, tP4, tP5, tP6, ;
                        tP7, tP8, tP9, tP10, tP11, tP12)
       LOCAL lnFRXRecno
       lnFRXRecno = -1
       DO CASE
       CASE ATC(".Before",tcProgram) > 0 OR ATC(".After",tcProgram) > 0
          DO CASE
          CASE RAT("REPORT",UPPER(tcProgram)) = (LEN(tcProgram)-5)
             lnFRXRecNo = 1
             * взять общие(глобальные) данные
          CASE VARTYPE(tP2) = "N" && Band events
             lnFRXRecNo = tP2
          OTHERWISE
             * некорректный вызов
          ENDCASE
       CASE VARTYPE(tP1) = "N"  && Render, другие события
          lnFRXRecno = tP1
       OTHERWISE
          * некорректный вызов
       ENDCASE
       IF NOT SEEK(lnFRXRecno,THIS.MemberDataAlias,"FRXRecno")
          lnFRXRecno = -1
       ENDIF
       RETURN (lnFRXRecno # -1)
   ENDPROC
   PROTECTED PROCEDURE PullMemberData(toListener)
      LOCAL lcAlias, lcTempAlias, lcAttributes, liIndex, loAttr
      IF TYPE("toListener.MemberDataAlias") = "C" AND ;
         NOT EMPTY(toListener.MemberDataAlias)
         lcAlias = toListener.MemberDataAlias
      ELSE
         lcAlias = "M"+SYS(2015)
         toListener.AddProperty("MemberDataAlias", lcAlias)
         * "publish" this for others in case they want it
      ENDIF
      THIS.MemberDataAlias = lcAlias
      lcTempAlias = "T" + SYS(2015)
      CREATE CURSOR (lcAlias)  ;
                    (FRXRecno I, Name M, Type M, ;
                     ExecWhen M, Execute M, Class M, ;
                     ClassLib M, DEClass M, DEClassLib M)
      * мы собираемся взять каждый атрибут  независимо от того,
      * понимаем ли мы назначение столбца или нет,
      * but we'll start off with the
      * core set minus script since script attribute is
      * officially reserved for design-time use
      lcAttributes = ;
          "|FRXRecno|ExecWhen|Execute|Class|" + ;
          "Classlib|Name|Type|DEClass|DEClassLib|"
      SELECT FRX
      SCAN FOR NOT EMPTY(Style)
          TRY
             XMLTOCURSOR(Style,lcTempAlias)
          CATCH WHEN .T.
             * некорректный  XML
          FINALLY
             IF USED(lcTempAlias)
                IF RECCOUNT(lcTempAlias) > 0
                   SELECT (lcTempAlias)
                   FOR liIndex = 1 TO FCOUNT()
                       IF ATC("|"+FIELD(liIndex)+"|",lcAttributes) = 0
                          ALTER TABLE (lcAlias) ;
                           ADD COLUMN (FIELD(liIndex)) M
                          lcAttributes = lcAttributes + ;
                           FIELD(liIndex) + "|"
                       ENDIF
                   ENDFOR
                   SCATTER MEMO NAME loAttr
                   INSERT INTO (lcAlias) FROM NAME loAttr
                   REPLACE FRXRecno WITH RECNO("FRX") IN (lcAlias)
                ENDIF
                USE IN (lcTempAlias)
             ENDIF
          ENDTRY
          loAttr = NULL
       ENDSCAN
       SELECT (lcAlias)
       INDEX ON FRXRecno TAG FRXRecno
   ENDPROC
ENDDEFINE

DEFINE CLASS FXProcessMemberDataScript AS FXMemberData
   ApplyMemberData = .T.
   PROTECTED PROCEDURE UseMemberData(toListener, tcProgram,;
                        tP1, tP2, tP3, tP4, tP5, tP6, ;
                        tP7, tP8, tP9, tP10, tP11, tP12)
       IF DODEFAULT(toListener, tcProgram,;
                    @tP1, @tP2, @tP3, @tP4, @tP5, @tP6, ;
                    @tP7, @tP8, @tP9, @tP10, @tP11, @tP12)

          * Теперь мы позиционированы в корректной
          * записи родительского класса,
          * и можем производить действия, базирующиеся на содержимом данных.
          * Например, если это  BeforeReport,
          * мы можем назначить набор соответствующих
          * стандартных объектов каждой записи  метки или текста,
          * имеющих доступ к классу или библиотеке классов.
          * Для каждого события EvaluateContents или Render
          * мы можем вызвать методы класса
          * или применить атрибуты фонтов  при выполнении отчета.
          LOCAL loMemberdata, llExecute
          SCATTER MEMO NAME loMemberdata
          IF NOT EMPTY(loMemberdata.Execute)
             IF EMPTY(loMemberdata.ExecWhen)
                llExecute = .T.
             ELSE
                DO CASE
                CASE ATC(loMemberData.ExecWhen,tcProgram) > 0
                   * простая обработка события
                   * ExecWhen содержит имя события
                   * Обратите внимание, что каждое событие, присутствующее в скрипте,
                   * потенциально может изменять содержимое
                   * ExecWhen на другое значение ( следующее
                   * событие, во время которого этот скрипт
                   * должен быть обработан )
                   llExecute = .T.
                CASE (TYPE(loMemberdata.ExecWhen) = "L") AND ;
                   EVALUATE(loMemberdata.ExecWhen)
                   * ExecWhen содержит логическое выражение
                   * для обработки
                   llExecute = .T.
                CASE ATC(SUBSTR(tcProgram,RAT(".",tcProgram) + 1),;
                         loMemberData.ExecWhen) > 0
                   * ExecWhen содержит разделенные строки или события
                   llExecute = .T.
                ENDCASE
             ENDIF
             IF llExecute
                IF NOT (BETWEEN(ATC("PARAM", ;
                        ALLTRIM(CHRTRAN(loMemberData.Execute,;
                        CHR(10)+CHR(13), ;
                        SPACE(2)))),1,2))
                   * добавляем оператор параметров,
                   * это необходимо только в начале
                   * обработки  FRX записи.
                   loMemberData.Execute = ;
                   "LPARAMETERS toFX, toListener, tcProgram,;"+ ;
                    CHR(13) + CHR(10) + ;
                   "tP1, tP2, tP3, tP4, tP5, tP6,"+;
                   "tP7, tP8, tP9, tP10, tP11, tP12" + ;
                    CHR(13) + CHR(10) + ;
                   loMemberData.Execute
                   REPLACE Execute WITH loMemberData.Execute
                ENDIF
                ExecScript(loMemberData.Execute,;
                    THIS, toListener, tcProgram,;
                    @tP1, @tP2, @tP3, @tP4, @tP5, @tP6, ;
                    @tP7, @tP8, @tP9, @tP10, @tP11, @tP12)
             ENDIF
          ENDIF
       ENDIF
   ENDPROC

ENDDEFINE

Чтобы эффективно использовать скрипт этой сущности, необходимо добавить следующий XML документ в поле или выражение макета отчета, содержащих числовое значение. Этот пример обеспечивает автоматическое изменение цвета для числовых значений меньше 0, используя событие EvaluateContents, и отображает отрицательные числа в круглых скобках, используя Рендеринг (Render method).

Note Подсказка

Обратите внимание, что атрибут ExecWhen указывает на необходимость выполнения скрипта в этих двух случаях специальными разделительными знаками ("|EvaluateContents|Render|"). Это один из нескольких возможных способов определения условий ExecWhen, предусмотренных в классе FXProcessMemberDataScript.

CopyCode image Copy Code
<VFPData>
<reportdata name="" type="R" script=""
execwhen="|EvaluateContents|Render|"
execute=
"DO CASE
 CASE ATC(&quot;Render&quot;,tcProgram) &gt; 0
  * 7-й параметр Render - cContentstoBeRendered
  * обратите внимание на преобразование из  Unicode в DBCS
  tP7 = VAL(STRCONV(tp7,6))
  IF tp7 &lt; 0
     tP7 =  &quot;(&quot;+TRANS(ABS(tp7)) + &quot;)&quot;
  ELSE
     tP7 = TRANS(tP7)
  ENDIF
  * преобразование обратно в Unicode для использования в ReportListener:
  tP7 = STRCONV(tp7,5)
OTHERWISE
  * второй параметр EvaluateContents - objProperties
    IF VARTYPE(tP2.value) = "N" AND ;
      tP2.value &lt; 0
      tP2.penred = 255
      tP2.penblue = 0
      tP2.pengreen = 0
      tP2.reload = .T.
   ENDIF
ENDCASE"
class="" classlib="" declass="" declasslib=""/>
</VFPData>
Note Подсказка

Формально корректный XML документ, приведенный выше, содержит набор заменяемых объектных ссылок ( escaped character references) в скрипте; например, вместо символа < должна быть использована объектная ссылка &lt; если этот символ является частью значения атрибута или корневого элемента XML. Когда вы создаете скрипт, используя окно для ввода текста интерфейса Run-time Extensions Построителя Отчетов, можно вводить эти символы как обычно, без использования объектных ссылок. Построитель Отчетов сохраняет документ должным образом, преобразуя символы так, как это необходимо, когда вы сохраняете XML документ.

Класс FXMemberDataAware является следующим классом, соответствующим FX API. В отличие от класса FXMemberData и его производных классов, FXMemberDataAware не понимает XML и не может читать XML данные напрямую. Вместо этого он работает с курсором, созданным классом FXMemberData и понимает его структуру. Если класс FXMemberDataAware находит курсор, он может работать с ним, добавляя нужные столбцы. Если нет, он обеспечивает создание временного экземпляра класса FXMemberData при отработке метода BeforeReport, чтобы этот временный объект мог создать курсор.

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

CopyCode image Copy Code
DEFINE CLASS FXMemberDataAware AS Custom

   MemberDataAlias = ""
   HasMemberData = .F.

   PROCEDURE ApplyFX(toListener, tcProgram,;
                     tP1, tP2, tP3, tP4, tP5, tP6, ;
                     tP7, tP8, tP9, tP10, tP11, tP12)

      IF ATC("BeforeReport",tcProgram) > 0
         THIS.VerifyMemberData(toListener)
      ENDIF

      IF ATC("AfterReport",tcProgram) > 0
         THIS.DetachMemberData(toListener, .T.)
      ENDIF

    ENDPROC

   PROCEDURE VerifyMemberData(toListener)
      IF toListener.FRXDataSession = -1
         RETURN .F.
      ENDIF
      LOCAL loMemberData, liSelect, liSession
      liSession = SET("DATASESSION")
      SET DATASESSION TO (toListener.FRXDataSession)
      liSelect = SELECT()
      IF (EMPTY(THIS.MemberDataAlias) OR ;
         (NOT USED(THIS.MemberDataAlias)))
         * может быть определено в Listener
         * с помощью  FX объектов,
         * но может быть нет, в этом случае
         * необходимо использовать временный объект
         IF (NOT PEMSTATUS(toListener,"MemberDataAlias",5)) OR ;
            EMPTY(toListener.MemberDataAlias)
            THIS.MemberDataAlias = "M" + SYS(2015)
            toListener.AddProperty("MemberDataAlias", ;
                        THIS.MemberDataAlias)
         ELSE
            THIS.MemberDataAlias = toListener.MemberDataAlias
         ENDIF
         IF NOT USED(THIS.MemberDataAlias)
            * должен быть общий доступ
            loMemberData = NEWOBJECT("FXMemberData")
            loMemberData.MemberDataAlias = THIS.MemberDataAlias
            loMemberData.ApplyMemberData = .F.
            loMemberData.ApplyFX(toListener, "BeforeReport")
            SET DATASESSION TO (toListener.FRXDataSession)
            IF USED(THIS.MemberDataAlias)
               * можно продолжать...
               THIS.AlterMemberDataInfo()
            ENDIF
          ENDIF
       ENDIF
       THIS.HasMemberData = USED(THIS.MemberDataAlias)
       SELECT (liSelect)
       loMemberData = NULL
       SET DATASESSION TO (liSession)
       RETURN THIS.HasMemberData
    ENDPROC

    PROTECTED PROCEDURE AlterMemberDataInfo()
      * Hook для производных классов
      * для добавления собственных столбцов,
      * или создания собственных курсоров
      * в  FRX Data session ,
      * связанных с общим курсором данных
    ENDPROC

    PROCEDURE DetachMemberData(toListener, tlCloseMemberDataTable)
       IF tlCloseMemberDataTable AND toListener.FRXDataSession > -1
          LOCAL liSession
          liSession = SET("DATASESSION")
          SET DATASESSION TO (toListener.FRXDataSession)
          IF USED(THIS.MemberDataAlias)
             USE IN (THIS.MemberDataAlias)
             IF PEMSTATUS(toListener,"MemberDataAlias",5)
                toListener.MemberDataAlias = ""
             ENDIF
          ENDIF
          SET DATASESSION TO (liSession)
       ENDIF
       THIS.MemberDataAlias = ""
       THIS.HasMemberData = .F.

    ENDPROC

ENDDEFINE

См. также

Ссылки

ReportListener Object
BeforeReport Event
AfterReport Event
Render Method
EvaluateContents Event

Другие ресурсы

Extending Reports at Design Time
Extending Reports at Run Time

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


Using GDI+ in Reports

Использование GDI+ в отчетах
Смотри также

Объектно-ассистированный режим Visual FoxPro 9 усиливает возможности Microsoft Windows GDI+ по интерпретации выводных устройств. GDI+ предлагает новые возможности для высококачественного гибкого вывода, а также объявляет некоторые изменения во внутреннем поведении устройств вывода. Этот раздел описывает некоторые аспекты создания выводов, связанных с использованием GDI+.

GDI+ средства в Visual FoxPro объектно-ассистированном выводе

Когда вы используете Visual FoxPro объектно-ассистированный режим отчета, вывод интерпретируется объектом, порожденным от ReportListener. Следующая таблица перечисляет пути, по которым GDI+ влияет на средства ReportListener и внутреннее поведение.

Интерпретация(rendering) не зависимая от устройства (Device-independent) и не зависимая от резолюции (resolution-independent)

GDI+ обеспечивает графический объект, высокий уровень абстракции содержимого устройства (an extra layer of abstraction beyond the device context of GDI). Графический объект способен интерпретировать вывод идентичный таким устройствам, как экран и принтер.

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

Note Замечание

Так как Visual FoxPro признает наличие резолюции печати для каждого принтера, Вы можете увидеть некоторые изменения в поведении отчетов для сохраненного окружения принтеров. Если setup принтера, который был сохранен во время разработки отчета имел другую резолюцию, чем принтер, который вы описали при прогоне отчета, страница может иметь неправильный масштаб. В Visual FoxPro 9 Вы можете заменить инструкции setup принтера явными инструкциями в отдельном поле, включающем явные инструкции для использования специфических резолюций принтера, независимых от принтера (подразумевается поддержка резолюций принтера, установленных Dами). Однако, в большинстве случаев, Вам нет необходимости делать это. Просто удалите окружение принтера из отчета, это обеспечит лучший результат.

Note Подсказка

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

Различия в кернинге и ширине текста при выводе в предыдущих версиях

Независимые методы GDI+ 'устройства- и резолюции-' рисования текста гарантирует, что определенная строка будет заполнена в тот же прямоугольник в раскладке, когда она интерпретируется для другого устройства. Однако, алгоритмы в GDI+, которые измеряют строки, управляют кернингом (или местом расположения) индивидуальных символов в строках и располагают строки в прямоугольники раскладки, отличны от оригинальных алгоритмов движка отчетов (Report Engine), используемых для этой цели.

Если вы определили ширину для выражения очень явно в существующем отчете, в некоторых случаях одни и те же данные не будут заполнены. У Вас будет возможность расширить выражение добавлением нескольких пикселей. Вы можете использовать опции раскладки размера и положения Report Builder удобные для этой цели. Для дополнительной информации смоти General Tab, Report Control Properties Dialog Box (Report Builder).

Note Подсказка

Как и в предыдущих версиях Visual FoxPro, числовые выражения, которые не помещатся в их назначенные раскладкой прямоугольникиo, отображаются звездочками в выводе отчета для предотвращения отображения чисел, которые выглядят, как правильные, но на самом деле обрезаны. Если Вы видите звездочки в выражении, когда вы переключаете отчет на объектно-ассистированный режим и если Вы считаете, что число должно быть заполнено в это место, проверьте назначен ли шаблон отображения (picture template) для него. Все версии Visual FoxPro используют picture template для определения сколько места необходимо числу для отображения. Если вы использовали шаблон такой, как 99,999.99, например, Ваш вывод может отображать звездочки даже, если настоящее число будет иметь только несколько цифр. Для гарантии правильного отображения вывода в object-assisted режиме, Вы можете расширить раскладку элемента достаточную для отображения 99,999.99 с атрибутом назначенного фонта для элемента. Однако, если picture template имеет больше цифр, чем Вы предвидели в результате, Вам может понадобиться удалить цифру из шаблона. Для дополнительной информации смотри Выражение формата для полей управленияr (Field Controls).

Когда строка не помещается в назначенный прямоугольник раскладки GDI+ дает пользователю знать, что требуемый вывод не отображается. Класс ReportListener улучшает эту возможность GDI+ для вывода неотображаемых чисел с помощью своих опций StringTrimming , описанных далее.

Note Замечание

Все версии Visual FoxPro's Report System игнорируют прямоугольник раскладки когда отображают вычисляемые поля, у которых есть picture templates. Как результат, различия между object-assisted выводом и обратносовместимым выводом, описанным здесь не используется для вычисляемых полей. Например, поле, установленное как Sum и имеющее picture template 999,999,999 в прямоугольнике раскладки, который очень мал, заполнит все знаки в template и будет отображать свой полный текст; оно не будет усечено. Для дополнительной информации смотриКак выполнять вычисления в поле управления ( Field Controls) and Выражение формата для полей управленияr (Field Controls).

Опция StringTrimming

GDI+ обеспечивает множество путей управления текстом, который не может быть заполнен в свой назначенный прямоугольник раскладки. Класс ReportListener раскрывает свои различные опции, как показано в таблице ниже. Когда Вы разрабатываете отчет или этикетку Report Builder позволяет вам выбирать из своих опций в диалоговом боксе Report Control Properties. Для дополнительной информации о выборе одной из доступных опций при разработке отчета смотри Format Tab, Report Control Properties Dialog Box (Report Builder).

Значение Тип StringTrimming

0

Не определен, используется по умолчанию.

1

StringTrimmingCharacter

Обрезает строку, которая не помещается, до ближайшего знака.

2

StringTrimmingWord

Обрезает строку, которая не помещается, до ближайшего слова.

3

StringTrimmingEllipsisCharacter

Обрезает строку, которая не помещается, до ближайшего знака и добавляет (…).

4

StringTrimmingEllipsisWord (Visual FoxPro default)

Обрезает строку, которая не помещается, до ближайшего слова и добавляет (…).

Note Замечания

Обрезание строки, базирующееся на слове, так и на знаке, наиболее близко эмулирует поведение обрезания Visual FoxPro при прогоне отчета не в режиме object-assisted. Добавление (…) позволяет пользователям видеть, когда некоторое содержание отсутствует. Так как GDI+ требует немного больше места для текстовых выражений, чем GDI требовал, эта установка поможет Вам проверить старые отчеты для выражений, которые требуют увеличения ширины для GDI+ при управлении своими контекстами.

5

StringTrimmingEllipsisPath

Замещение внутренней части строки, которая не помещается, знаками (…).

Note Замечание

Это значение полезно для имен файла и пути. Например, the string C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\REPORTOUTPUT.APP может отображаться, как C:\PROGRAM FILES\…\REPORTOUTPUT.APP.
Свойство DynamicLineHeight

GDI+ line spacing является методом по умолчанию для управления размещением строк в объекте ReportListener, который интерпретирует многострочный текст. GDI+ line spacing позволяет делать отчеты более совершенного вида, быстрее выполнять их, чем оригинальные алгоритмы Report Engine и создавать несколько страниц для одного содержимого отчета. Однако, GDI+ line spacing увеличивает необходимое для текста место в раскладке. Это можно увидеть при сравнении результатов вывода с предыдущими версиями Visual FoxPro.

Стратегия интерпретации объекта ReportListener для текста, занимающего несколько строк, изменяетяс в соответствии со значением его свойства DynamicLineHeight . Эта величина определяет использует ли ReportListener GDI+ стандартный (динамический) line spacing в соответствии с характеристиками фонта или обратносовместимый фиксированный line spacing, используемый Visual FoxPro при прогоне отчетов и этикеток, но не в режиме object-assisted. Для дополнительной информации смотри Свойство DynamicLineHeight.

Возможности вывода страничных образоа (output page images)

Когда приложение с помощью GDI+ создает определенный рисунок (drawing surface), GDI+ обеспечивает методы для сохранения содержимого этого рисунка в различных типах графических файлов. Visual FoxPro расшитяет эти возможности в OutputPage методе объекта ReportListener. Для дополнительной информации смотри Метод OutputPage.

Возможность установки величины прозрачности в цвете

GDI+ описывает цвета используя ARGB (alpha или прозрачный, красный, зеленый и голубой) компоненты. Файлы определения отчетов и этикеток Visual FoxPro не имеют возможности хранить значение прозрачности, поэтому цвета в таблицах .frx и .lbx хранятся как полностью прозрачные или непрозрачные. Однако, Visual FoxPro в run time с помощью кода объекта ReportListener в событии EvaluateContents расширяет значения прозрачности. Вы можете использовать это событие динамически устанавливая цвет текста и подложки на различные уровни прозрачности. Для дополнительной информации смотри Событие EvaluateContents.

Использование GDI+ в коде пользователя во время прогона

Ваш код может улучшить возможности GDI+ в отчетах. Visual FoxPro 9 поставляется с подходящими интерфейсными классами для GDI+ API, позволяющими Вам использовать эти возможности. Для дополнительной информации смотри GDI Plus API Wrapper Foundation Classes.

Ваше использование GDI+ в течение прогона отчета имеет одну из двух форм:

  • Вы используете GDI+ для интерпретации рисунка с использованием объекта ReportListener для родного вывода (native output). В этом сценарии Вы можете динамически разместить новые элементы вывода или изменить существующие прямо при прогоне отчета. Класс ReportListener расширяет возможности по управлению своими собственными графическими объектами при прогоне отчета для этой цели. Для дополнительной информации смотри Свойство GDIPlusGraphics. Как объяснено в этом разделе и как показано в примере кода, для использования родного графического объекта ReportListener, Вам необходимо использовать функции, базирующиеся на той же копии файла GDIPLUS.DLL которую продукт использует в родном коде. Для того, чтобы быть уверенным, что вы используете правильную копию GDIPLUS.DLL, используйте синтаксис IN GDIPLUS.DLL с не явным путем в вашем выражении DECLARE DLL. Для дополнительной информации смотри DECLARE - DLL Command.

  • Вы используете объект ReportListener с handle для отделения графического объекта и запрашиваете его для прорисовки выводной страницы в этот дополнительный графический объект. В этом сценарии Вы не добиваетесь своей цели временным назначением другого handle для свойства GDIPlusGraphics объекта ReportListener. Для целей безопасности этот handle является read-only. Вместо этого, Вы используете ReportListener с дополнительным handle, как один из параметров для метода OutputPage. ReportListener's GDIPlusGraphics handle и родной поток вывода (native output stream) остаются незатронутыми этим процессом. Для дополнительной информации смотри Метод OutputPage.

Смотри также

ссылки

Команда SET REPORTBEHAVIOR

Концепции

Понимание Visual FoxPro Объектно-Ассистированного отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевел BYI


Creating International Applications

Visual FoxPro 9.0
Создание Международных (многоязычных) Приложений

В данном параграфе рассматриваются вопросы создания многоязычных приложений, которые могут эффективно использоваться для решения различных Задач Пользователя.

В данном Разделе

Как: Вводить международные (многоязычные) Данные

Обсуждаются вопросы ввода и обработки данных в многоязычных Приложениях.

Как: Устанавливать (определять) национальные характеристики Даты, Времени, Денежных единиц

Рассматриваются различные варианты Локализации для системных параметров Даты, Времени, Денежных Единиц.

Кодовые Страницы (Code Pages) в системе Visual FoxPro

Объясняются ключевые моменты ввода и обработки данных с использованием загружаемых Кодовых Страниц Visual FoxPro, которые совместимы с системными идентификаторами CP операционной системы Microsoft Windows, используемыми для корректного отображения Информации.

Сортировка Данных в Локализованных Приложениях

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

Корректировка Локализованных Приложений

Обсуждаются ключевые вопросы и рекомендации корректного выполнения Локализации программного обеспечения.

Возможности построения Отчетов для Локализованных (многоязычных) Приложений

Приводятся технологические возможности системы Visual FoxPro для построения Отчетов в условиях Локализованных Приложений.

Связанные Секции

Разработка международных (многоязычных) Приложений

Рассматриваются вопросы Планирования и Разработки пользовательских Приложений, предназначенных для международного распространения.

Разработка Приложений в системе Visual FoxPro

Рассматриваются основополагающие (концептуальные) вопросы о разработке Приложений Visual FoxPro; приводятся конкретные инструкции по созданию Баз Данных, пользовательского Интерфейса, решению других пользовательских Задач с помощью системы Visual FoxPro.

Создание Приложений

Рассматриваются основополагающие вопросы разработки Приложений в системе Visual FoxPro, как использовать одну или несколько Баз Данных, как устанавливать Стартовую программу вашего Приложения, как настроить необходимую Среду параметров, как Проектировать синхронизированную пользовательскую среду на основе Форм, подсистем Меню, инструментов ToolBars.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Enter International Data

Visual FoxPro 9.0
Как: вводить международные данные
Смотрите также

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

  • данные вводит пользователь;

  • вы или пользователь импортируете данные из существующих файлов.

В расположенных ниже разделах обсуждаются оба этих метода.

Ввод международных символов

Вы можете вводить междунарожные символы в Visual FoxPro, используя вашу клавиатуру. Точный метод зависит от того, на каком языке вы работаете. В среде однобайтных символов, вы можете вводить символы непосредственно или используя комбинации клавиш клавиатуры. С другой стороны, среда двухбайтных наборов символов (DBCS) часто обеспечивает Input Method Editor (IME), представляющее собой приложение, которое вы можете использовать для ввода символов.

Ввод символов с использованием клавиатуры

Если у вас международная клавиатура, то вы можете отображать международные символы простым нажатием клавиш, предназначенных для этих символов. Если же ваша клавиатуры не имеет клавиш для международных символов, вы можете вводить такие символы используя карту символов (character map), поставляемую с Windows (и доступную через меню Accessories) или с помошью комбинации клавиши ALT key с клавишами на цифровой клавиатуре.

Например, для печати (ANSI code 246), нажмите NUM LOCK на цифровой клавиатуре, если она еще не активизирована, и затем наберите комбинацию ALT+0246. Убедитесь, что используете стандартный шрифт Windows — не FoxFont или FoxPrint.

Note Совет

Полоска статуса окна карты символов (character map) показывает комбинации клавиш в соответствии с каждым выбранным вами символом на карте.

Note Замечание

Вы не можете вводить международные символы, используя шрифт FoxFont. Например, если вы откроете командное окно, переключитесь на FoxFont и, затем, нажмите на предназначенную клавишу, не обязательно, что в результате вы получите то, что надписано на клавише. Поэтому избегайте использовать FoxFont в международных приложениях.

Разбор проблем

Если символы не переносятся корректно, прежде всего посмотрите, не используете ли вы FoxFont. Например, FoxFont является шрифтом по умолчанию для окон, определенных пользователемс помощью команды DEFINE WINDOW (если опущена опция FONT). Убедитесь, что используете опцию FONT для указания шрифта отличного от стандартного шрифта Windows, когда создаете окна, для того, чтобы гарантировать корректное отображение международных символов.

Ввод символов с использованием IME

Если вы работаете в среде IME, вы можете использовать Input Method Editor для ввода символов в Visual FoxPro. IME представляет собой приложение, обеспечивающее вашу среду тем, чтобы вы смогли печатать символы на клавиатуре для отображения выборки международных символов и затем выбирать требуемый вам символ. Например, IME для Chinese предоставляет вам возможность вводить Pinyin представление китайских слов и затем отображать список символов, которые отвечают представлению. Когда вы выбираете желаемый символ, IME копирует его в Visual FoxPro.

Вы можете управлять моментом - когда Visual FoxPro будет отображать IME - установкой свойства IMEMode или вызовом функции IMESTATUS(). Если вы включите окно IME, Visual FoxPro будет автоматически отображать IME, когда вы производите редактирование в системном окне, таком как Browse или Edit. Если вы выключите окно IME, вы можете вызывать IME путем нажатия соответствующих клавиш на вашей клавиатуре.

Добавление и копирование международных данных

Если вы импортируете или копируете данные из файлов с разделителяит с помощью команды APPEND FROM или COPY TO, вы можете указать, какой символ будет использовать в файле для разделения полей. Например, общей практикой во многих европейских странах является использование в качестве разделителей полей точки с запятой (;), тогда как в США используется запятая (,), символ табуляции или пробел.

Для импорта или копирования файлов и указания разделителя добавьте в команды APPEND FROM или COPY TO опцию DELIMITED WITH CHARACTER:

CopyCode image Скопировать код
COPY TO mytxt.txt DELIMITED WITH _ WITH CHARACTER ";"

Смотрите также

Задачи

Как: установить форматы даты, времени и валюты

Справочное руководство

Редактирование международных приложений

Концепции

Сортировка данных в международных приложениях

Прочие ресурсы

Кодовые страницы в Visual FoxPro
Разработка международных приложений
Создание международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Date, Time, and Currency Formats

Visual FoxPro 9.0
Как: Установить форматы для данных типа Дата, Время, и денежная единица (Currency)
См. также

Для форматирования данных типа Data, Time, Currency можно использовать несколько способов:

  • Помимо системы Visual FoxPro, используйте установки в службе Control Panel вашей Операционной Системы.

  • Сделайте необходимые вам установки в системной настройке, (диалоговый бокс Options) Visual FoxPro.

  • Используйте соответствующие команды форматирования в программном коде.

Для форматирования данных типа: дата, время, валюта

  1. В меню Tools, выберите опцию Options, установите закладку Regional.

  2. Для использования настроек операционной системы, Windows Control Panel, выберите Use system settings.

    -или-

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

    Примечание: Если Вы устанавливаете Короткий (Short) или Длинный (Long) формат для дат, то в дальнейшем вы не сможете изменить данную настройку для параметров, загруженных из службы Windows Control Panel.

  3. Нажмите OK, для подтверждения сделанных установок, или кнопку Set As Default - для сохранения сделанных настроек в Реестре Windows, которые будут теперь стандартными, (по-умолчанию), для системы Visual FoxPro.

Вы можете использовать команды в своем программном коде SET SYSFORMATS, команда и SET DATE, команда. Обычно, данные команды используются в самом начале инициализации вашего приложения, (или в конфигурационном файле). По-умолчанию, установлена команда SET SYSFORMATS is OFF, для использования настроек Операционной Системы, выполните установку последней команды в ON.

Вы можете настраивать форматирование ваших данных, размещаемых в индивидуальных контролах text boxes, для этого используйте Свойство Formaty данного контрола. Обратите внимание, что настройки указанного Свойства имеют приоритет над систкмными настройками.

См. также

Описание

Модификация Приложений с национальной спецификой

Концепции

Как:Вводить интернациональные Данные
Сортировка в Приложениях с национальной спецификой

Другие ссылки

Кодовые страницы (Code Pages) в системе Visual FoxPro
Разработка Интернациональных Приложений
Создание Интернациональных Приложений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Code Pages in Visual FoxPro

Visual FoxPro 9.0
Кодовые страницы в Visual FoxPro

Данные хранимые в Visual FoxPro очень часто помечены кодовой страницей, которая представляет собой таблицу символов и соответствующие числа в памяти, которые Windows использует для правильного отображения данных. Например, если вы введете латинскую букву C в файл таблицы (.dbf), то буква будет хранится на жестком диске в виде числа 67. Когда вы открываете такой файл, Visual FoxPro определяет его кодовую страницу, проверяет кодовую страницу на предмет поиска символа, соответствующего числу 67, и затем отображает символ (C) на вашем мониторе.

Кодовые страницы в какой-то мере соответствуют различным алфавитам. Например, Windows поддерживает кодовые страницы для English, German и скандинавских языков и тому подобных. С помощью использования кодовых страниц, приложения могут корректно отображать символы из этих разных алфавитов.

В этом разделе

Понимание кодовых страниц в Visual FoxPro

Описывается, как Visual FoxPro использует кодовые страницы для отображения данных. Кодовые страницы предоставляют набор символов, характерных для языка и платформы компьютерного железа (hardware platform).

Кодовые страницы, поддерживаемые Visual FoxPro

Предоставляется список кодовых страниц, которые поддерживаются Visual FoxPro.

Как: указать кодовую страницу для файла .dbf

Объясняется, как добавить, удалить и изменить маркер кодовой страницы для файла .dbf.

Как: указать кодовую страницу для текстового файла

Объясняется, как указать кодовую страницу для использования с текстовыми файлами.

Как: определить кодовую страницу файла проекта

Описывается, как определить - какую кодовую страницу использует файл в проекте.

Указание кодовой страницы для переменных

Объясняется, как использовать данные, хранящиеся в одной кодовой странице и транслировать их в другую кодовую страницу.

Как: предотвратить трансляцию данных в полях типа Character или Memo

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

Связанные разделы

Разработка международных приложений

Описывается, как разрабатывать и планировать приложения Visual FoxPro чтобы они были совместимыми и эффективными на международных рынках.

Создание международных приложений

Описывается, как создавать приложения Visual FoxPro, которые будут совместимыми и эффективными на международных рынках.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Understanding Code Pages in Visual FoxPro

Visual FoxPro 9.0
Понимание Кодовых страниц в Visual FoxPro
См.так-же

Visual FoxPro показывает данные, используя одну кодовую страницу. По умолчанию, это - текущая кодовая страница, используемая Windows. Однако, Вы можете заменить кодовую страницу , определив альтернативную кодовую страницу в вашем файле конфигурации (Вы должны определить допустимую кодовую страницу).

Таблицы в Visual FoxPro помечены кодовой страницей, которая была установлена, когда таблица была создана. Когда Вы открываете таблицу, Visual FoxPro проверяет кодовую страницу таблицы. Если она соответствуют текущей кодовой странице, Visual FoxPro показывает данные, как есть. Если таблица не помечена кодовой страницей (например, таблица был создан в более ранней версии FoxPro), Visual FoxPro запрашивает кодовую страницу и затем помечает файл ей.

При чтении данных из таблицы с кодовой страницей, которая не соответствует, кодовой странице системы, Visual FoxPro пытается конвертировать символы из кодовой страницы таблицы в текущую. Например, если текущая кодовая страница системы - английская, и символ представлен в ANSI значением 252, а кодовая страница таблицы представляет этот символ как ANSI 219, Visual FoxPro конвертирует все ANSI 219 в ANSI 252 так, чтобы они выглядели должным образом.

Трансляция Кодовой страницы не всегда работает правильно, потому что кодовые страницы обычно содержат символы, которые не представлены взаимно однозначныо в других кодовых страницах. Например, Вы не можете отображать данные, который содержит символы псевдографики для таблиц MS DOS в Windows, потому что кодовые страницы Windows не содержат символы псевдографики для таблиц. Точно так же Вы не можете транслировать данные, созданные в Российской кодовой странице в Английскую кодовую страницу, потому что не имеется взаимно-однозного соответствия между алфавитами для этих языков. Наконец, Visual FoxPro не мог бы содержать символьную карту трансляции для специфической кодовой страницы. В том случае данные отображены без трансляции кодовой страницы. (Visual FoxPro не отображает ошибку указывающую, что трансляция кодовой страницы невозможна.) В любой из этих ситуаций некоторые символы могут отображаться неверно.

При записи данных в таблицу, отмеченную кодовой страницей не соответствующей системной кодовой странице, и символьные данные изменяются, Visual FoxPro пытается транслировать символы с текущей кодовой страницы в кодовую страницу таблицу. Например, если вы используете Visual FoxPro, и текущая системная кодовая страница - Английская, символ представлен ANSI значением 252, а кодовая страница для таблицы представляет символ как ANSI 219, Visual FoxPro транслирует все символы ANSI 252 в ANSI 219 так, чтобы они были сохранены должным образом.

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

Если Вам надо ввести некоторые символы, не представленные на вашей клавиатуре, Вы можете вводить эти символы, используя ALT вместе с цифровой клавиатурой. Однако, помните, что та же самая комбинация клавиш в различных средах часто отображает различные результаты. Например, если Вы вводите ALT+0182, а в Visual FoxPro кодовая страница 1252 , Вы видите символ параграфа. А если Вы вводите ALT+0182 с кодовой страницей 437 в FoxPro для MS DOS, Вы видите символ псевдографики в виде двойной вертикальной линии, в которую входит одиночная горизонтальная линия.

Хотя Visual FoxPro поддерживает много кодовых страниц, только несколько используются часто. Как правило, англо-говорящие пользователи используют кодовую страницу 1252.

При работе с кодовыми страницами, убедитесь что, интерфейс пользователя и данные отображаются правильно при использовании кодовой страницы, предназначенной для специфического языка. Если Вы видите неожиданные символы на экране, проверьте основную кодовую страницу.

См. также

Другие ресурсы

Кодовые страницы в Visual FoxPro
Как определить кодовую страницу текстового файла
Разработка Интернациональных приложений
Как определить кодовую страницу файла проекта
Определение кодовых страниц для переменных

Комментарии об этой статье в шлите корпорацию Microsoft. c Microsoft Corporation. All rights reserved.


Code Pages Supported by Visual FoxPro

Visual FoxPro 9.0
Кодовые страницы, поддерживаемые Visual FoxPro
Смотрите также
CollapseAll image

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

Кодовая страница | Платформа | Идентификатор кодовой страницы
437 | U.S. MS-DOS | x01
620 * | Mazovia (Polish) MS-DOS | x69
737 * | Greek MS-DOS (437G) | x6A
850 | International MS-DOS | x02
852 | Eastern European MS-DOS | x64
857 | Turkish MS-DOS | x6B
861 | Icelandic MS-DOS | x67
865 | Nordic MS-DOS | x66
866 | Russian MS-DOS | x65
874 | Thai Windows | x7C
895 * | Kamenicky (Czech) MS-DOS | x68
932 | Japanese Windows | x7B
936 | Chinese Simplified (PRC, Singapore) Windows | x7A
949 | Korean Windows | x79
950 | Traditional Chinese (Hong Kong SAR, Taiwan) Windows | x78
1250 | Eastern European Windows | xC8
1251 | Russian Windows | xC9
1252 | Windows ANSI | x03
1253 | Greek Windows | xCB
1254 | Turkish Windows | xCA
1255 | Hebrew Windows | x7D
1256 | Arabic Windows | x7E
10000 | Standard Macintosh | x04
10006 | Greek Macintosh | x98
10007 * | Russian Macintosh | x96
10029 | Macintosh EE | x97

* Не определяется, когда вы включаете в конфигурационный файл строку CODEPAGE=AUTO.

Expand image Смотрите также

Задачи

Как: предотвратить трансляцию данных в полях типа Character или Memo

Справочное руководство

Специальные термины конфигурационных файлов
Команда SET COLLATE

Концепции

Сортировка данных в международных приложениях
Спецификация кодовой страницы для переменных

Прочие ресурсы

Кодовые страницы в Visual FoxPro
Разработка международных приложений
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Specify the Code Page of a .dbf File

Visual FoxPro 9.0
Как: указать кодовую страницу .dbf файла
Смотрите также

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

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

Для автоматической проверки метки кодовой страницы

  1. Из меню Tools (Инструменты) выберите Options (Параметры).

  2. Перейдите на закладку Data.

  3. Установите метку в чек-боксе Prompt for code page (Запрашивать кодовую страницу), если она еще не установлена.

    Для сохранения этой установки для будущих сессий Visual FoxPro, щелкните по кнопке Set as Default.

    Note Совет

    Вместо установки метки в чек-боксе Prompt for code page (Запрашивать кодовую страницу), вы можете использовать команду SET CPDIALOG для проверки кодовых страниц.

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

Добавление метки кодовой страницы

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

Для ввода метки кодовой страницы в .dbf файл вручную

  1. Убедитесь, что автоматическая проверка кодовой страницы включена (смотрите описанную выше процедуру установки автоматической проверки).

  2. Откройте файл.

    Если файл не имеет метки кодовой страницы, то появится диалоговое окно Code Page.

  3. Выберите подходящую вам кодовую страницу.

  4. Просмотрите файл для того, чтобы убедиться в том, что вы выбрали правильную кодовую страницу.

    Если вы не видите каких-то данных, или если вы не можете разобрать их, то это означает, что кодовая страница выбрана неверно.

  5. Если кодовая страница выбрана неверно, удалите метку кодовой страницы с помощью программы CPZERO, которая находится в каталоге Visual FoxPro Tools\Cpzero directory.

  6. При необходимости повторите эту процедуру, пока не получите корректное отображение данных, то есть пока не будет установлена корректная кодовая страница.

    Note Замечание

    Текстовые файлы, такие как файлы программ (.prg) и запросов (.qpr) не имеют метки кодовой страницы. Это означает, что вы не можете сказать, какая кодовая страница используется файлом. Однако, если вы включить такие файла в проект, а проект может поддерживать запись для используемой кодовой страницы. Для получения более подробной информации смотрите описание Как: указать кодовую страницу текстового файла.

Удаление метки кодовой страницы

Если данные в табличном .dbf файле не отображаются корректно, то причиной этого может быть неверно выбранная метка кодовой страницы. Вы можете удалить ее с помощью команды CPZERO, размещенной в каталоге Tools\Cpzero. Запуск программы CPZERO устанавливает метку кодовой страницы в 0, что означает ее отсутствие.

Для удаления метки кодовой страницы

  • Запустите программы CPZERO с помощью следующего синтаксиса:

    DO CPZERO WITH "filename", 0

    Note Замечание

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

Изменение метки кодовой страницы

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

Для изменения кодовой страницы .dbf файла с помощью копирования файла

  • Используйте команду COPY TO, указав требуемую кодовую страницу в опции AS. (Для установки кодовой страницы в текущую системную кодовую страницу, опустите в команде опцию AS.)

    Например, для копирования Test.dbf в Test866.dbf, для изменения кодовой страницы в 866, используйте следующие команды:

    CopyCode image Скопировать код
    USE TEST.DBF
COPY TO TEST866.DBF AS 866

После завершения COPY TO, данные в новом файле будут иметь новую указанную кодовую страницу.

Для изменения метки кодовой страницы с помощью CPZERO

  • Запустите CPZERO, используя следующий синтаксис:

    DO CPZERO WITH "filename", newCodePage

    Note Замечание

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

Смотрите также

Задачи

Как: указать кодовую страницу текстового файла
Как: определить кодовую страницу файла проекта

Концепции

Указание кодовых страниц для переменных

Прочие ресурсы

Кодовые страницы в Visual FoxPro
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Specify the Code Page of a Text File

Visual FoxPro 9.0
Как: указать Code Page для текстового файла
Смотрите также

Если вы забыли кодировку (code page) текстового файла, который не является частью проекта, то вы не сможете ее определить, поскольку текстовый файл не имеет метки кодовой страницы в отличие от файла .dbf. Лучшим способом запомнить кодовую страницы текстового файла является введение этого файла в состав проекта.

Для указания кодовой страницы текстового файла

  1. Откройте окно Project Manager.

  2. Выберите текстовый файл, кодовую страницу котого вы желаете установить.

  3. В меню Project, выберите Project Info.

  4. В диалоговом блоке Project Information щелкните на закладке Files.

  5. Щелкните по правой клавише мыши на выбранной файле.

  6. Из субменю выберите Code Page.

    Visual FoxPro отобразит Диалоговый блок Code Page.

  7. Выберите подходящую кодовую страницу.

    Visual FoxPro отобразит доступные кодовые страницы.

Если вы знаете кодовую страницу текстового файла, вы можете указать ее с помощью опции AS в соответствующей команде Visual FoxPro. Для файлов, которые вы жедаете импортировать или добавить, вы можете указать кодовую страницу в команде IMPORT или команде APPEND. Для запросов, программ и прочих текстовых файлов, уже имеющихся в вашем компьютере, вы можете изменить кодовую страницу с помощью команды MODIFY QUERY, команды MODIFY COMMAND и команды MODIFY FILE.

Если вы не уверены или не знаете какую кодовую страницу применить, подставьте функцию GETCP() для кодовой страницы в вызываемой команде. GETCP() отобразить диалоговый блок Code Page, предоставляя вам возможность выбора подходящей кодовой страницы.

Note Замечание

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

Смотрите также

Задачи

Как: указать кодовую страницу файла .dbf
Как: определить кодовую страницу файла проекта
Как: предотвратить трансляцию данных в символьных и мемо полях

Концепции

Указание кодовой страницы для переменных

Прочие ресурсы

Кодовые страницы в Visual FoxPro
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Determine the Code Page of a Project File

Visual FoxPro 9.0
Как: определить кодовую страницу файла проекта
Смотрите также

После добавления файла в проект, вы можете определить его кодовую страницу. Метод, который вы можете использовать зависит от условия - является ли файл таблицей (.dbf file) или представляет собой текстовый файл.

Для определения кодовой страницы текстового файла

  1. Откройте окно Project Manager (Диспетчер проекта).

  2. На закладке Other выберите текстовый файл, кодовую страницу которого вы желаете узнать.

  3. В меню Project (Проект) выберите Project Info (Информация о проекте).

Для определения кодовой страницы таблицы

  • Используйте функцию CPDBF().

Когда вы собираете из проекта приложение, Project Manager (Диспетчер проекта) автоматически интегрирует файлы проекта независимо от того, сколько разных кодовых страниц они используют. Конечное приложение будет иметь текущую кодовую страницу.

Note Замечание

Когда вы добавляет в проект файл таблицы (.dbf), вам не нужно указывать кодовую страницу для файла, так как Visual FoxPro автоматически определяет кодовую страницу файла из содержащейся в нем метки кодовой страницы. Однако, когда вы добавляете в проект текстовый файл, вы должны указать для файла кодовую страницу, поскольку Visual FoxPro не может определить ее автоматически.

Для подготовки программы с использованием другой кодовой страницы, укажите оригинальную кодовую страницу при сохранении или компиляции программы на новой платформе. Например, при подготовке программы, созданной с Visual FoxPro для Macintosh для использования с Visual FoxPro, укажите подходящую кодовую страницу MS-DOS при сохранении или компиляции программы в Visual FoxPro. Если вы используете команду COMPILE, укажите кодовую страницу в опции AS. Или, укажите кодовую страницу в команде SET CPCOMPILE до компиляции программы.

Смотрите также

Задачи

Как: указать кодовую страницу для текстового файла
Как: предотвратить трансляцию данных в полях типа Character или Memo

Справочное руководство

Кодовые страницы, поддерживаемые Visual FoxPro

Концепции

Указание кодовых страниц для переменных

Прочие ресурсы

Кодовые страницы в Visual FoxPro
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Specification of Code Pages for Variables

Visual FoxPro 9.0
Спецификации Кодовых Страниц (Code Pages) для Переменных
См. Также

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

Конвертация данных в Переменных Памяти

Если в вашем Приложении имеются и используются переменные, содержащие данные в небазовых кодовых страницах (не 1251 (WinRus)), вы можете выполнить требующееся преобразование данных с использованием системной функции CPCONVERT( ). Например, предположим что в переменной с именем x содержатся данные, созданные в системах Macintosh, кодовая страница =10000). Для преобразования этих данных в кодовую страницу Windows-1251), можно использовать следующий программный код:

CopyCode image Копировать Код
cConvert=CPCONVERT(10000,1251,x)

В ОС Windows, конвертация данных выглядит таким же образом, как это происходит в системах Macintosh. Например, некоторый символ, "" выглядит в Macintosh точно также как и в ОС Windows.

См. также

Задачи

Как: Определить Кодовую Страницу файла Проекта
Как: Блокировать Преобразование данных в символьных полях и полях типа Memo

Описание

Кодовые Страницы (Code Pages), поддерживаемые в Visual FoxPro

Другие ссылки

Кодовые страницы в Visual FoxPro
Разработка многоязыковых (международных) Приложений
Кодовые Страницы в Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Prevent Translation of Data in Character or Memo Fields

Visual FoxPro 9.0
Как: Отменить Трансляцию (преобразование) Данных в полях типа Character или Memo
См. также

В некоторых случаях, требуется избежать автоматическое преобразование данных в соответствие с текущей кодовой страницей (Code Page). Например, если символьное поле содержит закодированный пароль, то вам нужно, чтобы система Visual FoxPro не выполняла автоматическую трансляцию символов в данном поле.

Для отмены преобразования данных в полях типа character или memo

  1. Откройте Проект, содержащий нужную таблицу.

  2. Выделите эту таблицу.

  3. Нажмите кнопку Modify.

    Откроется соответствующий Дизайнер Таблиц (Visual FoxPro).

  4. Выберите требуемое Поле в структуре таблицы, которое требуется защитить от преобразования.

  5. В соответствующих комбинированных списках Типов Полей выберите Character (Binary) - вместо Character, или Memo (Binary) - вместо memo.

  6. Нажмите OK, и выберите ответ Yes - для подтверждения сохранения изменений.

  7. Выполните проверку внесенных в структуру таблицы изменений, при помощи DISPLAY STRUCTURE, команда.

    Алтернативно, можно использовать MODIFY STRUCTURE, команду для преведения описанных выше действий.

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

См. также

Задачи

Как: Определить Кодовую страницу (Code Page) для защищенных файлов

Описание

Кодовые страницы, поддерживаемые в системе Visual FoxPro

Концепции

Определение Кодовой страницы для переменных

Другие ссылки

Кодовые Страницы в системе Visual FoxPro
Разработка Интернациональных Приложений
Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Sorting Data in International Applications

Visual FoxPro 9.0
Сортировка данных в интернациональных Приложениях

После создания таблиц с интернациональными данными, вам необходимо проверить корректность сортировки данных, выполненной на базе текстовых полей. Кодовая страница, связанная с созданной таблицей в значительной степени определяет порядок сортировки данных в таблице; каждая кодовая страница содержит правила сопоставления исходных данных.

В данном Разделе

Понимание порядка сортировки

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

Как: Определить порядок сортировки

Объясняется, как определить порядок сортировки в вашем приложении, для дальнейших операций индексирования и сортировки данных.

Создание Приложений, использующих Double-Byte Character Sets

Обсуждается, как использовать в ваших приложениях Double-Byte Character Sets, для национальных языков, использующих данные хпрактеристики.

Связанные Разделы

Кодовые страницы в Visual FoxPro

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

Создание интернациональных Приложений

Объясняется, как проектировать и разрабатывать приложения в системе Visual FoxPro, которые будут эффективно работать с различными интернациональными данными.

Разработка интернациональных Приложений

Объясняется, как планировать и разрабатывать приложения Visual FoxPro, правильно обрабатываемые различные интернациональные данные .

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Understanding Sort Orders

Visual FoxPro 9.0
Понимание Порядка Сортировки
Смотрите Также

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

Note Обратите Внимание

Сортировка работает иначе в окружении с двух-байтовыми наборами символов (DBCS - Double-Byte Character Sets).

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

Несортированный | Machine | Основной | Испанский
!@#$ | пробел | пробел | пробел
1234 | !@#$ | !@#$ | !@#$
пробел | 1234 | 1234 | 1234
Caesar | Caesar | a | a
csar | Car | ab | Ab
Strasse | Char | b | b
strae | Czech | Caesar | Caesar
Car | Strasse | csar | Csar
Char | Ab | Car | Car
Czech | Csar | ar | ar
ab | Strae | Char | Czech
ar | ar | Czech | Char
a | a | Strasse | Strasse
b | b | strae | Strae

Принципы Порядка Сортировки

Учитывайте следующие принципы, когда выбираете порядок сортировки:

  • Избегайте Machine порядок сортировки, если вы хотите сортировать международные символы правильно, так как Machine сортирует международные символы в ASCII порядке. Например, обратите внимание, что ar следует за strae.

  • Символы с диакритическими знаками сортируются по другому, чем без них. Например, в основном и испанском порядке сортировки , заметьте, что a стоит до Ab, но ab стоит до b. (!) Примечание переводчика: ДИАКРИТИЧЕСКИЙ - Располагающийся над или под буквами, иногда рядом с ними и указывающий на особый характер произношения соответствующих букв (о дополнительном знаке в алфавитах некоторых языков).

  • Лигатуры, например, сортируются также как и их эквивалент с увеличенным размером знака. Например, strae сортируется также, как Strasse и csar, какже как и Caesar. (!) Примеяание переводчика: ЛИГАТУРА - Знак в виде дуги над группой нот, обозначающий их связное исполнение (в нотной записи)

  • В некоторых языках, два символа сортируются как один. Например, в испанском Ch в Char сортируется, как символ между C и D.

Следующий раздел описывает, как задать порядок сортировки, проверить какой текущий и распознать его влияние.

Проверка Порядка Сортировки

Вы можете определить текущий порядок сортировки, воспользовавшись функцией SET ('COLLATE'). Например, вы можете сохранить текущий порядок, установить Machine текущим, произести необходимые действияи, затем восстановить исходный порядок сортировки, применив следующий код:

CopyCode image Copy Code
cCurrentOrder=SET('COLLATE')
SET COLLATE TO 'MACHINE'
*,,,
* действия, которые требуют Machine порядок сортировки
*,,,
SET COLLATE TO cCurrentOrder  && возврат к предыдущему порядку сортировки

Вы можете также определить порядок сортировки в индексах, используя функцию IDXCOLLATE().

Распознование Влияния Порядка Сортировки

Порядок сортировки влияет на результат сравнения символьных строк, SEEK, и SELECT - SQL, как это описано в следующем разделе.

Сравнение Строк

Все типы сортировок, кроме Machine и Unique Weight, игнорируют регистр. Это означает, что вам ненужно использовать UPPER( ) в выражениях индекса.

Текущий порядок сортировки влияет на сравнение строк. Например, когда установлен порядок сортировки General, то следующие выражения возвращают True (.T.):

CopyCode image Copy Code
?"A" = "a"
?"Strae"="Strasse"
?"" = "ae"

Однако, при использовании Machine порядка сортировки, все эти выражения вернут False (.F.). т.к. строки будут считаться совпадающими при точном сравнении, байт за байтом.

Оператор сравнения строк (= =) дает тот же результат, что и при сравнении значений или при использовании Machine порядка сортировки; это означает, что строки сравниваются по байтно. например, следующее выражение возвращает False (.F.):

CopyCode image Copy Code
? "Strae" == "Strasse"
Note Примечание

Visual FoxPro игнорирует SET EXACT, когда применяется оператор сравнения символьных строк (= =).

Использование SEEK

Visual FoxPro игнорирует диакритические знаки, когда призводит частичный поиск. Частичный поиск происходит, когда задаете выражение меньшей длины, чем длина ключа. Если диакритические знаки важны, следует применять команды SCAN ... ENDSCAN или LOCATE вместо SEEK.

Приемущества использования SCAN и LOCATE вместо SEEK заключается в следующем:

  • SCAN и LOCATE различают диакритические знаки.

  • Visual FoxPro полностью оптимизирует выполнение SCAN или LOCATE, если установлен порядок сортировки Machine или Unique Weight, тогда как Visual FoxPro только частично оптимизирует результаты выполнения SEEK.

  • SCAN и LOCATE запоминают условия их запуска, делая возможным применят их в циклах по условию. В противоположность SEEK, который помещает указатель записи где-то в индексе, и SKIP продолжает перемещаться вниз по индексу от той позиции. Следовательно, SEEK может дать не тот результат, который вы желаете, при работе с международными данными.

Использование SELECT - SQL

Команда SELECT - SQL использует текущий порядок сортировки. Например, если у вас индексный дескриптор (index tag) основан на General порядке сортировки, а текущий порядок сортировки (возвращаемый по SET ('COLLATE')) - Machine, то результат выполнения SELECT SQL основан на Machine.

Чтобы применить текущий порядок сортировки, используйте оператор ORDER BY в SELECT - SQL.

Использование Индексов

Порядок сортировки определяет порядок записей в индексированной таблице. Примите ко вниманию следующие правила использования индексов с порядком сортировки:

  • Перестройте индексы, созданные в ранних версиях FoxPro, если вы хотите использовать другой порядок сортировки, отличный от Machine.

  • Перестройте dBASE индексы, чтобы воспользоваться приемуществами Visual FoxPro порядков сортировки.

  • Используйте команду REINDEX , чтобы перестроить индекс, т.к. она оставляет порядок сортировки неизмененным.

Смотрите Также

Ссылки

Кодовые Страницы, Поддерживаемые в Visual FoxPro
Закладка Data, Диалоговое Окно Options
Модификация Международных Приложений

Концепции

Сортировка Данных в Международных Приложениях
Создание Приложений с двухбайтовыми комбинациями символов

Другие Ресурсы

Разработка Меджународных Приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Specify a Sort Order

Visual FoxPro 9.0
Как: Задать Правило Сортировки Данных
См. также

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

Для задания Порядка Сортировки:

  1. В системном меню Tools, выберите пункт Options.

  2. Активируйте Закладку Data.

  3. В соответствующей области Collating sequence, выберите необходимый Порядок Сортировки (Правило Сортирвки).

    Для сохранения выполненных настроек, используемых в других сеансах работы Visual FoxPro, нажмите кнопку Set as Default.

    Note Совет

    Вы можете также определить Порядок Сортировки (Правило) с помощью стандартной команды SET COLLATE TO или с помощью системной опции COLLATE в соответствующем Конфигурационном файле Config.fpw. Подробное описание указанного файла Config.fpw, смотрите в разделе: Настройка среды выполнения системы Visual FoxPro.

Текущая, выполненная установка Правила Сортировкит не действует для Индексов (индексных файлов), созданных ранее, при другой установке Правила Сортировки; Однако, данная установка Правила влияет на выполнение последующих команд SEEK и SELECT - SQL.

Правило Сортировки вы можете изменять в любой момент. Например, после открытия Таблицы Customer, вы можете создать требуемые индексные Тэги (индексы) для различных вариантов Правил Сортировки, которые будут использоваться в дальнейшем. Смотрите пример ниже:

CopyCode image Копировать Код
USE customer
SET COLLATE TO "GENERAL"
INDEX ON fname TAG mygeneral ADDITIVE
SET COLLATE TO "MACHINE"
INDEX ON custid TAG mymachine ADDITIVE
SET COLLATE TO "DUTCH"
INDEX ON lname TAG mydutch ADDITIVE
Note Примечание

Правило Сортировки активного индекса отменяет текущую установку.

Текущая, установленная Кодовая Страница (code page) определяет список доступных Правил Сортировки. Если для установки Правила Сортировки используется команда SET COLLATE, не поддерживаемая текущей Кодовой Страницей, то система Visual FoxPro генерирует Сообщение об Ошибке. Аналогично, если вы определяете требуемое (но не поддерживаемое) Правило Сортировки в конфигурационном файле Config.fpw, устанавливается Правило Соритровки = Machine.

См. также

Описание

Поддерживаемые Кодовые Страницы (Code Pages) в системе Visual FoxPro
Закладка Data, Диалоговый бокс Options

Концепции

Создание Приложений, поддерживаемых наборы данных типа Double-Byte
Сортировка Данных в интернациональных Приложениях

Другие ссылки

Разработка и Проектирование Интернациональных Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Application Creation with Double-Byte Character Sets

Visual FoxPro 9.0
Создание Приложений с Двубайтовыми Наборами Символов
См. также

Visual FoxPro поддерживает двухбайтовые наборы символов (DBCS), которые требуют для представления символа более одного байта. Примерами языков, требующих двухбайтовых наборов символов, служат Упрощенный Китайский, Традиционный Китайский и Корейский.

Поддержка Visual FoxPro DBCS позволяет вам создавать интернациональные приложения. Например, вы можете создать корейское приложение на американской версии Visual FoxPro, если у вас корейская версия Windows.

Note Замечание

Visual FoxPro предоставляет специальные программные функции для работы со строками в среде DBCS.

Применение Символов DBCS при Присвоении Имен Объектам

Visual FoxPro позволяет применять символы DBCS при присвоении имен элементам ваших приложений. Как обычно, элементы Visual FoxPro могут:

  • Быть длиной до 254 байт с комбинацией двух- и однобайтовых символов. Например, при использовании в имени только двухбайтовых символов длина имени не должна превышать 127 символов.

  • Начинаться с буквы, цифры, символа подчеркивания и содержать лидирующие и конечные пробелы.

  • Содержать только буквы, цифры, знаки подчеркивания и символы DBCS.

Эти правила применимы к именам переменных, объектов (окон, меню и т.п.), функций, процедур, классов, подклассов, алиасов и констант. Кроме того, двухбайтовые символы могут применяться для имен файлов. Чтобы двухбайтовые символы в имени файла не обрабатывались как разделители всегда следует заключать имя файла в кавычки.

Note Замечание

Ограничение длины в Visual FoxPro соотносится с понятием однобайтовых символов. Использование двухбайтовых символов в именах полей, индексных выражениях, именах переменных, окон и т.п., приводит к сокращению максимальной длины имени. Например, в свободной таблице длина имени поля ограничена 10 символами, т.е. имя поля может содержать максимум 10 однобайтовых символов и только 5 - двухбайтовых. Более подробно о системных возможностях Visual FoxPro написано System Capacities.

Сортировка DBCS Данных

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

В следующей таблице показано соответствие опций порядка сортировки и различных языков.

Опции | Язык
JAPANESE | Японский
KOREAN | Корейский
PINYIN | Упрощенный Китайский
STROKE | Упрощенный и Традиционный Китайский

Более подробно это описано в Руководстве: Определение Порядка Сортировки.

См. также

Ссылки

Модификация Международных Приложений
Кодовые Страницы, Поддерживаемые в Visual FoxPro

Понятия

Сортировка Данных в Международных Приложениях

Другие Ресурсы

Разработка Международных Приложений
Кодовые Страницы в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Modifying International Applications

Visual FoxPro 9.0
Корректировка международных приложений
Смотрите также
CollapseAll image

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

Expand image Тестирование версий для международного использования

Если для вашего приложения важно определить, в какой языковой среде запущен Visual FoxPro, то вы можете вызвать функцию VERSION(). Знание языкового окружения может помочь в определении - какой текст отобразить, как отформатировать данные и тому подобному. Например, в приведенном ниже примере определяется языковое окружение, в котором запущен Visual FoxPro и затем запускается форма для конкретного языка:

CopyCode image Скопировать код
IF VERSION(3) = 34 THEN
   * Запуск в Испанском - запускает форму на испанском
   DO FORM CST_SPN.SCX
ELSE
   * Запускаем форму на английском
   DO FORM CST_ENU.SCX
ENDIF

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

Замечание Замечание

Поддержка для двухбайтных символов стала доступной в Visual FoxPro начиная только с 3.0b версии. Если ваше приложение зависит от возможности использования двухбайтных (DBCS) функций, вы тогда, должны вызвать функцию VERSION(1) для определения номера версии Visual FoxPro.

(Опять-таки спорная рекомендация, поскольку разработчик наверняка знает версию Visual FoxPro в которой он работает. Примечание переводчика)

Expand image Использование строк

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

Замечание Замечание

Производительность вашего приложения может пострадать, если вы удалите из него все текстовые строки. Например, производительность может пострадать, если программа ищет содержание строки внутри цикла.

Одним из путей работы со строками в приложении, которые будут транслированы, является путь использования строковых констант по всему приложению. Вы тогда можете опрелить текст для этих констант в отдельном текстовом файле, к которому можно обращаться из ваших программ используя препоцессор директив #INCLUDE. Например, вместо включения текста сообщения об ошибке "file not found," вы можете использовать константу ERR_FILE_NOT_FOUND. Текст для этой константы может быть размещен в файле с именем ERR_TEXT.H. Программный код, который использует такую методику может выглядеть так:

CopyCode image Скопировать код
#INCLUDE ERR_TEXT.H

* обработка происходит здесь

IF ERR THEN
   MESSAGEBOX( ERR_FILE_NOT_FOUND )
ENDIF

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

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

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

Работа со строками в двухбайтном окружении

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

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

DBCS строковые функции | Описание
AT_C( ) | Возвращает позицию одной строки внутри другой (регистро-чувстительная), начиная слева.
ATCC( ) | Возвращает позицию одной строки внутри другой (регистро-нечувстительная).
CHRTRANC( ) | Замещает символы в строке.
IMESTATUS( ) | Переключает двухбайтное редактирование в окне Browse.
ISLEADBYTE( ) | Тестирует - является ли символ DBCS символом.
LEFTC( ) | Возвращает крайне левый символ из строки.
LENC( ) | Возвращает число символов в строке.
LIKEC( ) | Определяет совпадение двух строк.
RATC( ) | Возвращает позицию одной строки внутри другой (регистро-чувстительная), начиная справа.
RIGHTC( ) | Возвращает крайне правый символ из строки.
STRCONV( ) | Конвертирует символы между одно- и двухбайтным представлением.
STUFFC( ) | Замещает символы в строке другой строкой.
SUBSTRC( ) | Возвращает подстроку.

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

Замечание Замечание

Visual FoxPro функции DBCS functions не поддерживаются в ранних версиях Visual FoxPro, и их вызов может привести к непредсказуемым результатам. Если вы используете любые DBCS функции в вашем приложении, используйте функцию VERSION(1) чтобы убедиться в том, что используемая версия Visual FoxPro позднее, чем 3.0.

Expand image Работа с форматами даты, времени и валюты

Для того, чтобы облегчить форматирование дат, времени и валюты для соответствия тому, с чем привык работать пользователь вы можете использовать несколько методик форматирования. Вы можете:

  • Позволить Visual FoxPro использовать установки, определенные в Control Panel.

  • Указать язык или конкретный формат, который вы желаете использовать, в диалоговом блоке Visual FoxPro "Options ".

Для форматирования информации о датах, времени и вылюте в коде, используйте команды SET SYSFORMATS и SET DATE. Как правило, вы должны выпускать эти команды во время инциализации вашего приложения (например в конфигурационном файле). По умолчанию значением для SET SYSFORMATS является OFF, так что вы должны явно установить его в ON при запуске вышего приложения.

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

Для получения более подробной информации об установки локальных форматов, смотрите Как: установить форматы даты, времени и валюты.

Expand image Использование директив препроцессора

Вы можете создать варианты приложений для разных локализацией с помощью директов препроцессора. Они управляют компиляцией кода в приложении и включают в себя конструкции #INCLUDE, #DEFINE, #UNDEF и #IF...#ENDIF.

Использование директив препроцессора может быстро производить локализованные варианты; однако, такие директивы имеют приведенные ниже недостатки:

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

  • Константы времени компиляции доступны только в программе, которая их создает.

Expand image Смотрите также

Справочное руководство

Управление файлами в международном приложении
Функция VERSION()
Директива препроцессора #INCLUDE

Концепции

Создание приложенния с двухбайтным набором символов

Прочие ресурсы

Разработка международных приложений
Создание международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Reporting Features for International Applications

Особенности создания отчетов для международных приложений
Смотрите также

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

Note Замечание

Некоторые из обсуждаемых здесь особенностей доступны в Visual FoxPro только в режиме отчета object assisted. Если Вы обнаружите, что не видите некоторых усовершенствований, обсуждаемых в этой теме, то используйте команду SET REPORTBEHAVIOR 90, или включите опцию OBJECT в команды REPORT FORM или LABEL. Для получения дополнительной информации смотрите Команда SET REPORTBEHAVIOR.

Использование языковых скриптов (Language Script) в отчетах

Так же, как Вы можете выбрать шрифт отдельно для каждого элемента отчета, Вы можете выбрать и языковой скрипт отдельно для каждого элемента. Для получения дополнительной информации смотрите Как: Изменение настроек шрифта для элементов управления отчета.

Если Вы явно не указываете языковой скрипт для выбранного элемента, то данный элемент получает информацию о языковом скрипте из реквизитов шрифта, установленного как шрифт отчета по умолчанию. Для установки шрифта по умолчанию Вы можете использовать опцию Default Font… из пункта меню Report. Вы можете также установить шрифт и языковой скрипт по умолчанию для текущего отчета, используя закладку "Page Layout" диалогового окна Report Properties. Для получения дополнительной информации смотрите Как: Изменение настроек страницы отчета.

Когда Вы создаете новый отчет, значение по умолчанию для шрифта и языкового скрипта отчета определяются Вашими глобальными настройками, установленными в диалоговом окне Tools Options. Для получения дополнительной информации смотрите Закладка Tab диалогового окна Options (Параметры).

Note На заметку

Глобальные настройки диалогового окна "Options", закладка "Page Layout" в построителе отчетов и различные опции построителя отчетов для настройки шрифта в отдельных элементах отчета, все они позволяют опустить (не выбирать) языковой скрипт при настройке шрифта. Если Вы выбираете этот режим, то языковой скрипт для элементов Вашего отчета будет выбран из региональных настроек по умолчанию для Вашего компьютера. Это сделано для обратной совместимости с младшими версиями Visual FoxPro.

Языковой скрипт, используя который система отчетов Visual FoxPro формирует данные для элементов отчета, автоматически становится доступным для дополнительных форм, которые Вы можете создать при помощи классов на базе ReportListener. Исходный текст передается в ReportListener через метод Render в параметре cContentsToBeRendered как Unicode, а стандартная система отчетов уже преобразует данные в соответствующий символьный набор. Для получения дополнительной информации смотрите Метод Render.

ReportListener XML Foundation Class предоставляет пример альтернативного способа вывода, опирающегося на эту особенность. Класс использует значение Unicode из своего метода Render для отображения в отчете смешанных языковых скриптов автоматически. Он преобразует значение Unicode для формирования документов в кодировке UTF-8. Для получения дополнительной информации о классах, формирующих XML, смотрите Использование вывода отчета VFP в виде XML.

Caution note Предупреждение

Может показаться, что данная возможность работает в предварительном просмотре отчетов и в случае, если Вы не используете режим object-assisted. Однако Вы не сможете распечатать отчет, как Вы ожидаете, пока не будет включен режим object-assisted.

Локализация построителя отчетов, Окна предварительного просмотра и компонентов вывода отчета

Каждый распространяемый исходный компонент системы отчетов Visual FoxPro предоставляет заголовочный файл (.h), в котором Вы можете локализовать (перевести) все пользовательские строки. Вы можете перекомпилировать приложения и распространить их по отдельности, чтобы предоставить в совместное пользование внешние компоненты. Вы также можете привязать Вашу расширенную версию каждого компонента непосредственно к файлам .exe или .app Ваших приложений.

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

Имя файла компонента | Использование в приложении | Имя заголовочного файла для локализации | Тема справки для получения дополнительной информации
ReportBuilder.app | Увеличивает возможности по созданию и модификации отчетов и этикеток. | frxbuilder_loc.h | Как: Определять и Распространять Компоненту "ReportBuilder.App"
ReportPreview.app | Обеспечивает гибкий пользовательский интерфейс, предоставляя GDI+ для предварительного просмотра отчетов. | frxpreview_loc.h | Как: специфика и распостранение ReportPreview.App
ReportOutput.app, _reportlistener.vcx | Предоставляет класс ReportListener для отчетов в режиме object-assisted. | reportoutput_locs.h, reportlisteners_locs.h | Как: Определять и Распространять компоненты Приложения "Report Output" Фундаментальный класс ReportListener
_frxcursor.vcx | Предоставляет полезные дополнительные алгоритмы для программного создания и управления отчетами. | _frxcursor.h | Фундаментальный класс курсора FRX (FRX Cursor)

Для получения дополнительной информации смотрите Включение файлов отчетов в дистрибутив.

Каждый компонент также включает интерфейс прикладного программирования (API) предназначенный для изменения пользовательских сообщений во время исполнения приложения для того, чтобы наиболее полно соответствовать конкретной задаче приложения. Например, ReportListener User Feedback Foundation Class - базовый класс обратной связи пользователя, в используемом по умолчанию классе ReportListener для печати и предварительного просмотра обеспечивает глобальным объектам, используемым в отчете, установку различного текста в статусной строке и в заголовке. Приложение для предварительного просмотра отображает свойство Caption и множество API для настройки его контекстного меню. Для получения дополнительной информации смотрите Усиление Штатного Контейнера Предварительного Просмотра Отчетов.

Определение направления чтения (справа-налево и слева-направо) для разных языков

Конструктор отчетов поддерживает языки, читающиеся справа-налево для свойств "Text Alignment" и "Reading Order". Вы можете создать элемент метки (label) и текста (выражение) соответствующие желательному справа-налево результату, настроив оба этих свойства выбранного элемента, используя следующие опции меню Format:

  • Установите свойство "Text Alignment" выбранного элемента в значение "Right"

  • Установите свойство "Reading Order" в значение "Right to Left".

Note Замечание

Опция Reading Order в Format menu недоступна до тех пор, пока в Ваших региональных установках Windows не будет установлен язык, читающийся справа-налево, такой как арабский (Arabic) или иврит (Hebrew), для non-Unicode приложений. Как только Вы сделаете такую настройку, Вы сможете устанавливать для каждого элемента отчета индивидуальное значение настройки "Reading Order" в соответствии с требованием многоязыкового отчета.

На этапе исполнения новая система отображения GDI+ в Visual FoxPro 9' обеспечивает более гибкую и точную обработку выравнивания для языков, читающихся справа-налево. Также, этот механизм формирует выравнивание более согласовано между режимами предварительного просмотра и собственно печать.

Классы на базе ReportListener имеют доступ к настройкам выравнивания и направления чтения сохраненным в Вашем отчете или этикетке и могут выполнять действия на основе этих настроек. Например, Фундаментальный Класс ReportListener HTML использует эти опции для того, чтобы определить компоненты text-align и direction атрибута style для отдельных элементов текста HTML.

Смотрите также

Концепции

Понимание Visual FoxPro Object-Assisted Reporting
Использование GDI+ в отчетах

Другие ресурсы

Распространение Отчетов с Приложениями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Working with Data

Visual FoxPro 9.0
Работа с Данными

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

В данном Разделе

Разработка Баз Данных

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

Работа с Таблицами (Visual FoxPro)

Описывается, как создавать и работать с таблицами.

Enforcing Business Rules

Приводится общее описание базовых правил обеспечения целостности данных, правил контроля вводимых данных, создания постоянных связей между таблицами данных.

Работа с Запросами

Объясняется, как использовать запросы для выборки необходимых данных из таблиц и Представлений (View).

Работа с Представлениями (Visual FoxPro)

Рассматриваются вопросы, как использовать Представления для создания подсистемы обновления данных в ваших приложениях.

Импорт и Экспорт Данных

Объясняется, как осуществлять обмен данными между системой Visual FoxPro и другими приложениями (программными системами).

Масштабирование Баз Данных Visual FoxPro

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

Программирование многопользовательского доступа к Данным

Объясняется, как строить программные модули для использования их в многопользовательской среде обработки данных; обработка данных с нескольких рабочих станций в локальной вычислительной сети.

Доступ к данным Visual FoxPro с помощью провайдера OLE DB

Описываются возможности провайдера Visual FoxPro OLE DB Provider, как получить доступ к данным в формате Visual FoxPro из других языков программирования и программных систем (приложений).

Описание

Общее Описание (Visual FoxPro)

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

Связанные Секции

Разработка приложений Visual FoxPro

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

Проектирование Приложений

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

Расширение возможностей приложения с помощью технологии SQL Pass-Through

Объясняется, как вы можете использовать технологию SQL pass-through (SPT) для создания информационных объектов на Удаленных Серверах, выполнению хранимых процедур, различных серверных команд.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Developing Databases

Visual FoxPro 9.0
Разработка баз данных

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

В этом разделе

Базы данныз в Visual FoxPro

Знакомит с базами данных в Visual FoxPro и предоставляет информацию об их видах.

Разработка баз данных

Описывает рассмотрения дизайна для создания хорошо-спланированных баз данных.

Создание баз данных

Описывает создание баз данных и работу с таблицами, ассоциированными с базами данных.

Управление базами данных

Описывает различные задачи для управления базами данных.

Справочное руководство

Мастер создания базы данных (Database Wizard)

Предоставляет вам возможность создать базу данных с помощью мастера.

Дизайнер баз данных (Visual FoxPro)

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

Окно Project Manager

Предоставляет вам возможность органзовать файлы проекта приложения.

Связанные разделы

Работа с данными

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

Импорт и экспорт данных

Объясняется как копируется информация между Visual FoxPro и прочими приложениями с помощью испорта/экспорта данных из Visual FoxPro.

Разработка приложений Visual FoxPro

Объясняет концепции лежащие в основе разработке приложений Visual FoxPro, инструкции для создания баз данных и пользовательского интерфейса, а также прочие задачи, необходимые для создания приложений Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Databases in Visual FoxPro

Visual FoxPro 9.0
Базы данных в Visual FoxPro
Смотрите также
CollapseAll image

Базы данных предосавляют архитектуру и рабочее окружение для связывания, организации и работы с таблицами и представлениями. Вы можете использовать базы данных независимо или включить их в проект приложения. Когда вы создаете базу данных, Visual FoxPro создает и открывает файл базы данных (.dbc) для монопольного использования (exclusively). Файл базы данных, который представляет собой таблицу, хранит всю информацию о базе данных, включая имена файлов и предметов, ассоциированных с ней. Файл базы данных не содержит физически предметы высшего уровня, такие, как таблицы или поля. Вместо этого, файл базы данных хранит пути к файлах, указывающие на таблицы, ассоциированные с базой данных.

Базы данные предоставляют дополнительные преимущества, которые выражаются в следующем:

  • Связывание таблиц с базой данных.

  • Создание постоянных отнощений между таблицами.

  • Предоставление возможности создавать правила проверки на уровне полей и записей без написания кода.

  • Создание правил для сохранения отношений между таблицами базы данных для операций ввода, обновлений или удаления записей.

  • Создание хранимых процедур.

  • Создание представлений из локальных и удаленных таблиц.

  • Доступ к соединениям к удаленным источникам записи.

Для просмотра структуры образцовой базы данных, откройте файл NorthWind.dbc, расположенный в каталоге Visual FoxPro ...\Samples\Northwind. Для получения более подрбной информации смотрите Как: открывать базы данных.

Expand image Возможности словаря данных базы данных

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

  • Первичные ключи и ключи-кандидаты.

  • Постоянные отношения между таблицами базы данных.

  • Длинные имена для таблиц и полей.

  • Заголовки полей, которые отображаются в окнах browse и в колонках grid в качестве заголовков.

  • Значения по умолчанию для полей.

  • Класс элемента управления, используемых по умолчанию в формах.

  • Маски ввода и форматирование отображения для полей.

  • Правила проверки на уровне поля и на уровне записи.

  • Триггеры.

  • Хранимые процедуры.

  • Соеденения к удаленным источникам данных.

  • Локальные и удаленные представления.

  • Комментарии для каждого поля, таблицы и базы данных.

Некоторые возможности словаря данных, такие, как длинные имена полей, первичные ключи и ключи-кандидаты, значения по умолчанию для полей, правила проверки для полей и записей и триггеры хранятся в файле базы данных (.dbc), но, кроме того, могут быть созданы при создании таблицы или представления. Для получения более подрбной информации смотрите Работа с таблицами и Как: создавать представления.

Expand image Таблицы в базах данных

Вы можете связывать таблицы с базой данных путем их создания или путем их ввода в базу данных. Таблицы в Visual FoxPro могут существовать как в виде свободных таблиц, так и в виде таблиц базы данных. Свобоная таблица представляет собой файд (.dbf), который не связан ни с одной базой данных. Таблица базы данных представляет собой табличный файд, который связан с базой данных. Таблицы базы данных могут иметь свойства, которые недоступны для свободных таблиц, такие как правила проверки на уровне поля и записи, триггеры и постоянные отношения. Для получения более подрбной информации смотрите Работа с таблицами и Как: связать таблицы с базой данных.

Expand image Связи между таблицами и базой данных

Введение таблицы в базу данных создает связи между файлом таблицы и базой данных. Информация об этих связях хранится и в файле базы данных (.dbc), и в файле таблицы (.dbf). Информация связи, хранящаяся в файле базы данных, о таблице, которую она содержит называется форвардной связью (forward link). Инфорамция форвардной связи состоит из относительного пути и имени файла для каждого связанного табличного файла и хранится в файле базы данных.

Информация связи, хранящаяся в файле таблице, о базе данных, в которой она содержится называется обратной связью (back link). Информация обратной связи содержит относительный путь и имя файла базы данных, связанной с таблицей и хранится в табличной файле. Для получения более подрбной информации смотрите Как: переписать связи между таблицей и базой данных.

Expand image Постоянные отношения между таблицами базы данных

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

Индексы предоставляют основу для постоянных отношений

FoxPro Database Designer Testdata

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

Постоянные отношения хранятся в файле базы данных (.dbc). К постоянным отношениям, созданным в базе данных применяется нижеприведенное:

  • Они автоматически используются как условия объединения по умолчанию в дизайнераз запросов и представлений. Для получения более подрбной информации смотрите описание Дизайнеры запросов и представлений.

  • Они появляются в дизайнере баз данных в виде линий, объединяющих табличные индексы. Для получения более подрбной информации смотрите описание Дизайнер баз данных.

  • Они используются для зранения информации о ссылочной целостности.

  • Они используюьтся как отношения по умолчанию для форм и отчетов в окружении данных и появляются в дизайнере Data Environment. Для получения более подрбной информации смотрите описание Дизайнер Data Environment.

Для получения более подрбной информации смотрите описание задачи Как: создавать постоянные отношения между таблицами.

Expand image Ссылочная целостность между таблицами базами данных

Вы можете создать набор правил для сохранения определений отношений между таблицами базы данных при добавлении, обновлении или удалении записей. Процесс создания этих правил носит название "построение ссылочной целостности". Когда вы создаете правила для осуществления ссылочной целостности, Visual FoxPro предовращает приведенные ниже действия:

  • Введение записей в связанную таблицу, когда не существуюь связанные записи в первичной таблице.

  • Изменение значений в первичной таблице, в результате которой появляются "сиротские" записи в связанной таблице.

  • Удаление записей из первичной таблицы, когда имеют записи в связанной таблице отвечающие отношениям.

Вы можете написать триггеры и код хранимых процедур для обеспечения ссылочной целостности. Триггер представляет собой выражение, которое привязано к таблице и вызывается когда любая запись таблица изменяется с помощью одной из указанных команд, изменяющих данные. Однако, вы можете использовать построитель ссылочной целостности Visual FoxPro - Referential Integrity (RI) Builder - для построения правил ссылочной целостности.

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

Expand image Хранимые процедуры баз данных

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

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

Expand image Мнодество баз данных для многопользовательских окружений

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

  • Управление доступом пользователя к поднабору таблиц в целой системе.

  • Организация данных для удовлетворения многообразных информационных требований особенно для различных пользовательский групп.

  • Предоставление возможности использовать поднаборы наборы таблиц исключительно для создания локальных и удаленных представлений в run time.

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

Множество баз данных могут придать вашей системе большую гибкость

FoxPro Sales Inventory

Expand image Смотрите также

Прочие ресурсы

Дизайн баз данных
Создание баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Designing Databases

Visual FoxPro 9.0
Проектирование баз данных

Прежде чем вы начнете создавать и работать с базами данных, убедитесь что вы понимаете факторы, вовлеченные в создание базы данныз.

В этом разделе

Процесс проектирования базы данных

Предоставляет введение в процесс создания хорошо-разработанной базы данных и перечисляет важные шаги с процессе проектирования.

Анилизирование требований к данным

Сосредотачивается на первом шаге в проектировании базы данных Microsoft Visual FoxPro, в который вовлечен поиск причин для создания базы данных и как она может быть использована.

Организация требования в таблицах

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

Определение требуемых полей

Объясняется важность определения того, что вы должны знать о людях, вещах или событиях, записываемых в таблицы.

Идентификация отношений

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

Уточнение дизайна

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

Образец диаграмм базы данных

Предлагает диаграммы базы данных как путь высвечивания идей для создания для создания вашей собственной базы данных.

Связанные разделы

Работа с данными

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

Разработка баз данных

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

Работа с таблицами (Visual FoxPro)

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

Импортирование и экспортирование данных

Описывается, как копируется информация между Microsoft Visual FoxPro и прочими приложениями.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Database Design Process

Visual FoxPro 9.0
Процесс проектирования базы данных
Смотрите также

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

Note Замечание

Термины "база данных" и "таблица" не являются синонимами в Visual FoxPro. Термин "база данных" (файл .dbc file) относится к реляционной базе данных, которая является контейнером для информации об одной или более таблиц (файлов .dbf) или представлений.

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

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

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

Здесь приведены шаги в процессе дизайна базы данных. Каждый шаг обсуждается более подробно в связанных разделах.

  1. Определение цели вашей базы данных Знание цели поможет вам решить, какие необходимые вам факты Visual FoxPro должен хранить. Для получения более подрбной информации смотрите Анализирование требований к данным.

  2. Определение необходимых таблиц Когда у вас ясное представление о назначении вашей базы данных, вы можете разделить вашу информацию на отдельные субъекты, такие как "Работники" или "Счета". Каждый субъект будет представлен таблицей в вашей базе данных. Для получения более подрбной информации смотрите Организация требований в таблицах

  3. Определение необходимых полей Определите, какую информацию вы желаете хранить в каждой таблице. Каждая категория информации в таблице называется полем и отображается как колонка, когда вы просматриваете таблицу. Например, одним полем в таблице Employee могло бы быть Last_name; другим - Hire_date. Для получения более подрбной информации смотрите Определение необходимых полей, которые вам необходимы

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

  5. Уточните ваш дизайн Проанализируйте ваш дизайн относительно ошибок. Создайте таблицы и введите несколько записей тестовых данных. Посмотрите - сможите ли вы получить ожидаемые результаты из ваших таблицы. Сделайте удочнения в дизайне, если это необходимо. Для получения более подрбной информации смотрите Уточнение дизайна

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

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

Взгляните на образцовую базу данных.Откройте базу данных в дизайнере баз данных для чего выберите пункт Open из меню File и найдите Testdata.dbc в каталоге Visual FoxPro ...\Samples\Data.

Дизайнер баз данных показывает отношения между таблицами

FoxPro Database Designer Interface

Подписи на рисунке слева-направо и сверху-вниз:

  • Используйте панель инструментов для быстрого доступа к командам
  • Боксы показывают поля и индексы для каждой таблицы
  • Линии показывают постоянные отношения

Смотрите также

Концепции

Дизайнер баз данных(Visual FoxPro)
Анализирование требований к данным
Организация требований в таблицах

Прочие ресурсы

Проектирование баз данных
Разработка баз данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Analyzing Data Requirements

Visual FoxPro 9.0
Анализирование требований к данным
Смотрите также
Вашим первым шагом в разработке баз данных Visual FoxPro должен являться анализ ваших требований к данным с целью определения назначения баз данных и как они будут использоваться. Это расскажет вас - какую информацию вы желаете получить из базы данных. После этого вы можете определить, какие субъекты вам необходимо хранить (таблицы) и какие факты об этих субъектах вы должны хранить о каждом субъекте (поля в таблицах).

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

Пример

Предположим, что Tasmanian Traders, импортно=экспортная компания, которая продает специальный ассортимент товаров со всего мира, нуждается в базе данных, которая будет отслеживать информацию и продажах компании и составлять описи.

Начало, положенное с написания списка вопросов о базе данных должно привести к желаемым ответам. Как много много продаж ваших продуктов вы сделали в последний месяц? Где живут лучшие потребители? Кто является поставщиком ваших наилучшим образом продаваемых продуктов?

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

Формы и отчеты показывают некоторые требования к данным для вашей базы данных.

FoxPro Product Order Sample

Tasmanian Traders, кроме того, необходимо печатать этикетки посылок для потребителей, работников и поставщиков.

После сбора этой информации вы будете готовы к следующему шагу.

Смотрите также

Концепции

Процесс конструирования базы данных
Организация требований в таблицы

Прочие ресурсы

Конструирование баз даных
Разработка баз данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Organizing Requirements into Tables

Visual FoxPro 9.0
Организация требований в таблицах
Смотрите также

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

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

Однократное сохранение информации уменьшает шанс ошибки

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

Таблицы Customer хранит единичную информацию об адресе

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

Предотвращение удаления значимой информации

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

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

Note Совет

Такая стратегия деления информации в разные таблицы представляет собой взгляд на индивидуальные факты и определяет, что каждый факт представляет собой. Например, в форме заказа Tasmanian Traders адрес потребителя не говорит о продаже; а говорит только о потребителе. Это приводит к выводу, что вам необходима отдельная таблица для потребителей. В отчете Products On Order номер телефона поставщика не говорит о наличии продукта на складе; это информация только о поставщике. То есть, вам нужна отдельная таблица для поставщиков.

Смотрите также

Прочие ресурсы

Дизайн баз данных
Разработка баз данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Determining the Fields You Need

Visual FoxPro 9.0
Определение полей, которые вам нужны

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

В этом разделе

Идентификация полей

Предоставляет советы по определению полей, которые могут понадобиться в вашей базе данных.

Использование полей первичного ключа

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

Связанные разделы

Разработка баз данных

Получите преимущества технологии реляционных баз данных в Visual FoxPro с хорошо спланированными базами данных.

Работа с таблицами

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

Работа с полями

Введение в создание и работу с полями в таблицах.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Identifying Fields

Visual FoxPro 9.0
Идентификация полей
Смотрите также

Ниже приведено несколько советов для определения требующихся вам полей:

Определите отношение каждого поля непосредственно к субъекту таблицы

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

Не включайте в таблицу производные и вычисляемые данные

В большинстве случаев нет необходимости хранить результат вычисления в таблицах. Вместо этого мы можете заставить Visual FoxPro произвести необходимые расчеты, когда вы пожелаете увидеть результат. Например, форма заказа Tasmanian Traders отображает расширенную цену для каждой строки заказа в базе данных Tasmanian Traders. Однако, вы не найдете ни в одной из таблиц Tasmanian Traders ни одного поля, содержащего поле промежуточного итога. Вместо этого, таблица Order_Line_Items включает в себя поле количества, которое хранит единицы товара в ордере для каждого индивидуального продукта, наряду с ценой для каждой заказываемой единицы. Использя эти данные, Visual FoxPro рассчитывает подсумму каждый раз, когда вы печатаете форму заказа. Сами подсуммы не требуют хранения в таблице. Для получения более подробной информации, смотрите Анализ требований к данным.

Включите всю информацию, которая вам необходима

Достаточно легко можно пропустить важную информацию. Вернитесь к информации, собранной вами в первом шаге процесса раз. Посмотрите на ваши бумажные формы и отчеты с тем, чтобы убедиться, что вся требуемая информация, собранная ранее, включена в ваши таблицы или может быть произведена из данных. Подумайте о вопросах, которые вы будуте спрашивать у Visual FoxPro. Может ли Visual FoxPro найти все ответы на ваши вопросы, базируясь на информации в ваших таблицах? Как вы идентифицируете поля, которые будут хранить уникальные данные, так как, например, customer ID? Какие таблицы включают в себя информацию, которую вы должны объединить в одном отчете или форме? Для получения более подробной информации, смотрите Использование полей первичного ключа и Идентификация отношений.

Храните информацию в виде ее мельчайших логических частях

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

Пример

Tasmanian Traders продает договорные продукты со всего мира. Работники используют отчет Products On Order для хранения отслеживания продуктов, помещенных в заказ.

Отчет для отслеживания инвентуры товаров

FoxPro Products OnOrder

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

Черновик таблицы поставщиков, содержащие поля для имени поставщика и его номере телефона

FoxPro Product Supplier Sample

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

Смотрите также

Концепции

Определение полей, которые вам необходимы
Использование полей первичного ключа

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using Primary Key Fields

Visual FoxPro 9.0
Использование полей первичного ключа
Смотрите также

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

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

Когда вы выбираете поля для первичного ключа, держите в уме следующие правила:

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

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

  • Размер первичного ключа имеет воздействие на скорость операции в вашей базе данных. Когда вы создаете поля первичного ключа, используйте наименьший размер, который сможет разместить значения, которые вам нужно хранить в таком поле.

Пример

Первичный ключ таблицы Tasmanian Traders Products содержит идентификационные номера продукта -ID. Поскольку каждый номер продукт идентифицирует различные продукты, вам нежелательно иметь два продукта и одним и тем же номером.

Полем первичного ключа для таблицы является поле Product_id .

FoxPro Product Table Fields

В некоторых случаях вы можете пожелать использовать два или более полей, которые совместно предоставят первичный ключ таблицы. Например, Таблица Order_Line_Items в базе данных Tasmanian Traders использует два поля в качестве ее первичного ключа: Order_id и Product_id. Для получения более подробной информации, смотрите Идентификация отношений.

Смотрите также

Концепции

Определение полей, которые вам необходимы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Identifying Relationships

Visual FoxPro 9.0
Идентификация отношений
Смотрите также

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

Форма Order Entry использует информацию из нескольких таблиц.

FoxPro Order Entry Form

Поясняющие надписи у рисунка - слева направо и сверху вниз:
Информация берется из таблицы Customer...
... таблицы Products
... таблицы Order Line Items
... и таблицы Orders

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

Например, предположим, что вы желаете позвонить работнику с вопросом о сделанных им продажах. Номер телефона работника записан в таблицу Employee; продажи записаны в таблицу Orders. Когда вы говорите Visual FoxPro, какая из продаж вас интересует, Visual FoxPro может поискать телефонный номер на основев отношения между двумя таблицами. И это работает, так как Employee_id, являющийся первичным ключом таблицы Employee, является также полем в таблице Orders. В терминологии баз данных поле Employee_id в таблице Orders называется внешним (foreign) ключом, потому что оно ссылается на первичный ключ из другой, внешней (foreign),таблицы.

Поле Employee_id field является первичным ключом для таблицы Employee и внешним ключом для таблицы Orders

FoxPro Employee And Orders Keys

Поясняющие надписи у рисунка - слева направо и сверху вниз:
Первичный ключ
Поле Employee ID появляется в обоих таблицах
Внешний ключ

Итак, для установки отношения между двумя таблицами — Table A и Table B — вы добавляете первичный ключ таблицы в другую таблицу с тем, чтобы он появился в обоих таблицах. Но как решить - первичный ключ какой таблицы использовать? Для корректной установки отношения, вы сначала должны определить природу отношения. Имеется три типа отношений между таблицами:

  • Один-ко-многим (One-to-many)

  • Многие-ко-многим (Many-to-many)

  • Один-к-одному (One-to-one)

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

Пример

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

Например, таблицы Category и Products в базе данных Tasmanian Traders имеют отношение "один-ко-многим".

Отношение "один-ко-многим"

FoxPro Category Products

Поясняющие надписи у рисунка - слева направо и сверху вниз:
Одна категория может относиться ко многим продуктам

Для установки одношения, вы добавляете поле или поля, которые создают первичный ключ на стороне отношения "один" к таблице на стороне отношения "многим". Вы используете первичный ключ или индекс-кандидат для стороны отношения "один" и обычный индексный ключ на стороне отношения "многим". Вы таком случае, вы должны добавить поле Category_id из таблицы Category в таблицу Products, поскольку она категория включается в себя много продуктов. Visual FoxPro использует номер category ID для поиска корректной категории для каждого продукта.

Для получения более подробной информации смотрите описание Работа с таблицами.

Пример

В отношении "Многие-ко-многим", запись в таблице Table A может иметь более одной соответствующей записи в таблице Table B, а запись в таблице Table B может иметь более одной соответствуюзей записи в таблице Table A. Такой тип отношения требует изменений в дизайне вашей базы данных до того, как вы сможете корректно указать отношения в Visual FoxPro.

Для обнаружения отношения "многие-ко-многим" между вашими таблицами, очень важно, чтобы вы посмотрели оба направления отношения. Например, рассмотрим отношения между заказами и продуктами в бизнесе Tasmanian Traders. Один заказ может включать в себя более одного продукта. Поэтому для каждой записи в таблице Orders имеется много записей в таблице Products. Но это еще не вся история. Каждый продукт может появляться во многих заказах. Поэтому каждой записи в таблице Products имеется много записей соответствия в таблице Orders.

Отношение "Многие-ко-многим"

FoxPro Order Entry Fields

Субъекты двух таблиц — заказы и продукты — имеют отношение "многие-ко-многим". Это представляет определенную проблему в дизайне баз данных. Для понимания проблемы, представьте себе, что случится, если вы попытаетесь установить отношение между двумя таблицами введением поля Product_id в таблицу Orders. Для того, чтобы иметь более одного продукта в заказе, вам необходима более чем одна запись на один заказ в таблице Orders. Вы будете повторять информацию о заказе снова и снова для каждой записи, которая связана с одиночным заказам - то есть неэффективный дизайн может привести к неточным данным. Вы можете попасть в такую же проблему, если вы вставить поле Order_id field в таблицу Products — у вас будет более чем одна запись для кждого продукта в таблице Products. Для решения этой проблемы, создайте третью таблицу, которая разорвет отношение "многие-ко-многим" на два отношения "один-ко-многим". Эта третья таблица, называется перекрестной или объединяющей таблицей, так как она действует как объединение между двумя таблицами. Вы положите первичный ключ из каждой таблицы в одну перекрестную таблицу.

Таблица Order_Line_Items создает ссылку "один-ко-многим" между таблицами Orders и Products

FoxPro Order Product Keys

Поясняющие надписи у рисунка - слева направо и сверху вниз:
Первичный ключ из таблицы Orders
Первичный ключ из таблицы Products
Информация, которая связывает оба субъета - и заказ, и продукт

Перекрестная таблица должна хранить только два первичных ключа из таблиц, которые их связывают, или, подобно таблице Order_Line_Items table, перекрестная таблица может хранить дополнительную информацию.

Каждая запись в таблице Order_Line_Items представляет одну строку в заказе. Первичный ключ таблицы Order_Line_Items состоит из двух полей - внешних ключей из таблиц Orders и Products. Поле Order_id само по себе не работает в качестве первичного ключа для этой таблицы, потому что один заказ может иметь множество строк предметов заказа. Значение order ID повторяется для каждой строки предметов в заказе, поэтому поле не содержит уникальных значений. Поле Product_id само по себе также не работает, так как один продукт может появляться в различных заказах. Но вместе два этих поля в таблице объединения всегда производят уникальное значение для записи. Перекрестная таблица не нуждается в своем собственном первичном ключе.

В базе данных Tasmanian Traders, таблицы Orders и Products прямо не связаны между собой. Вместо этого, они связаны непрямо через таблицу Order_Line_Items. Отношение "многие-ко-многим" между заказами и продуктами представлено в базе данных посредством двух отношений "один-ко-многим":

  • Таблицы Orders и Order_Line_Items имеют отношение "один-ко-многим". Каждый заказ может иметь более одного предмета в списке заказа, но каждая строка предмета соединена только с одним заказом.

  • Таблицы Products и Order_Line_Items также имеют отношение "один-ко-многим". Каждый продукт может иметь множество строк в предметах заказов, связанных с ним, но каждая строка в списке заказа ссылается только на один продукт.

Пример

В отношении "один-к-одному" запись в таблице Table A может иметь не более одной соответствующей записи в таблице Table B, и запись в таблице Table B может иметь не более соответствующей записи в таблице Table A. Этот тип отношения бесполезен и может потребовать некоторых изменений в дизайне вашей базы данных.

Отношение "один-к-одному" между таблицами бесполезно по ряду причин, информация в двух таблицах может быть просто сведена в одну таблицу. Например, предположим, что вы создали таблицу с именем Ping-Pong Players, для отслеживания соревнования по настольному теннису. Поскольку все игроки соревнования являются работниками Tasmanian Traders, такая таблица имеет отношение "один-к-одному" с таблицей Employee в баз данных Tasmanian Traders.

Отношение "один-к-одному"

FoxPro Employee ID sample

Поясняющие надписи у рисунка - слева направо и сверху вниз:
Каждый игрок в настольный теннис имеет одно поле соответствия в таблице Employee
Этот набор значений является поднабором поля Employee_id в таблице Employee

Вы могли бы добавить все поля из таблицы Ping-Pong Players в таблицу Employee. Но таблица Ping-Pong Players отслеживает одномоментное событие, и информация после завершения соревнования вам уже не нужна. Кроме того, не все работники играют в настольный теннис, так что если бы эти поля были в таблице Employee, они содержали бы пустые значения во многих записях. По этой причине потребовалось создать отдельную таблицу.

Когда вы определили необходимость наличия отношения "один-к-одному" в вашей базе данных, прежде всего посмотрите, а не сможете ли вы свести информацию в одну таблицу? Например, в таблице Employee один работник может иметь одного руководителя, который сам по себе тоже работник. Вы можете просто добавить поле для учетного номера руководителя. Если в дальнейшем потребуется свести такую информацию воедино, вы сможете использовать самообъединение (self-join) в вашем запросе или представлении. Вам, в описанном случае, не требуется отдельная таблица для разрешения отнощения "один-к-одному". Если вы не хотите делать этого по какой-то причине, то ниже показано - как установить отношение "один-к-одному" между двумя таблицами:

  • Если две таблицы имеют одного и того же субъекта, вы можете, вероятно, установить отношение с использованием одного и того же поля первичного ключа в обеих таблицах.

  • Если две таблицы имеют разных субъектов с разными первичными ключами, выберите одну из таблиц и положите ее первичный ключ в другую таблицу в качестве внешнего ключа.

Смотрите также

Прочие ресурсы

Дизайн баз данных
Разработка баз данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Refining the Design

Visual FoxPro 9.0
Доводка или уточнение дизайна
Смотрите также

Когда у вас есть все требуемые вам таблицы, поля и отношения, самое время проверить разработку и определить наличие недостатков, которые могли остаться незамеченными.

Вы можете встретить несколько просчетов, допущенных при разработке вашей базы данных. Ниже разобраны эти общие проблемы, которые могут затруднить работу и управление вашими данными:

  • У вас имеется одна таблица с большим числом полей, которые не связаны с одним и тем же объектом? Например, одна таблица может содержать поля, имеющие отношение к вашим потребителям, равно как и поля, которые содержат информацию о продажах. Постарайтесь убедиться, что таблица содержит данные только об одном субъекте.

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

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

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

После того, как вы потренируетесь с вашей начальной базой данных, вы вероятно почувствуете потребность в улучшении. Ниже приведено несколько советов по этому поводу:

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

  • Выбрали ли вы первичные ключи для каждой таблицы? Если вы используете их для поиска конкретных записей, сможете ли вы легко запомнить их и их тип? Убедитесь, что вы не сможете ввести значение в поле первичного ключа, которое повторяет уже существующее значение в этом поле.

  • Вы многократно ввели дублирующую информацию в одной из ваших таблиц? Если это так, вам вероятно необходимо разделить таблицу на две таблицы с отношением "один-ко-многим".

  • У вас имеется таблицы с многими полями, ограниченным числом записей, или много пустых полей для конкретных записей? Если это так, подумайте о перестройке таблицы, так что в ней было меньше полей и больше записей.

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

Пример

Каждый продукт в складеTasmanian Traders подпадает под общую категорию, такую как Beverages, Condiments или Seafood. Таблица Products может включать поля, которые показывают категорию каждого продуктв.

Products table with a Category_name field

FoxPro Product Category

Предположим, что исследование и доводка базы данных Tasmanian Traders привело к решению хранить описание категории рядом с ее наименованием. Если вы добавите поле Category Description в таблицу Products, вы сможете повторять каждое описание категории для каждого продуктв, который подпадает под нее — правоЮ это не лучшее решение.

Лучшим решением является создание для базы данных нового субъекта Category, отслеживаемого в его собственной таблице с помощью его собственного первичного ключа. Тогда вы можете добавить первичный ключ таблицы Category в таблицу Products в качестве внешнего ключа.

Таблицы Category эффективно хранит информацию о категориях

FoxPro Category Product Keys

Таблицы Category и Products имеют отношение "один-ко-многим": одна категория может иметь более чем один продукт, относящийся к ней, но индивидуальный продукт может принадлежать только одной категории.

Смотрите также

Задачи

Образец диаграм базы данных

Прочие ресурсы

Дизайн баз данных
Разработка баз данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sample Database Diagrams

Visual FoxPro 9.0
Простейшие Диаграммы Базы Данных
См. также

Представленные далее Диграммы Базы Данных помогут вам в процессе проектирования ваших собственных Баз Данных. Эти Базы Данных не включены в комплексную поставку системы Visual FoxPro; они представлены в данном разделе как иллюстрация создания Баз Данных и обычных Таблиц.

База Данных "Назначения"

Представленная База Данных, ее структура может быть применена для небольших Офисов Компаний, и при некоторой модификации применима для частных Доктров, зубных врачей, Юристов или Бухгалтеров (применима для их Офисов). Таблица Appointments (назначений) состоит из составных первичных Ключей, которые описывают уникальный идентификатор каждого Назначения. Каждый первичный Ключ содержит характеристики из индексного Поля с именем "client_sta" (статус Клиента), и составного индексного выражения: полей: "client_id" и "date_start" (уникальный идентификатор Клиента, дата начала обслуживания).

Прмер Базы Данных "Назначения":

FoxPro Client Employee Appointments

База Данных "Персонал"

Структура следующей Базы Данных отображает информационную сущность Трудовых (человеческих) Ресурсов, типа: Трудовые Резервы. Таблица с названием Job History содержит информацию о местах работы и последовательности продвижения Сотрудников по службе; поэтому она может содержать несколько Записей для каждого сотрудника.

Пример Базы Данных "Персонал"

FoxPro Employ History Title Depts

База Данных "Библиотека"

Следующая далее База Данных содержит информацию о книгах из Библиотеки (или книгах в Библиотеке) или о Ссудах и Заемщиках. Обратите внимание на Связи типа "многие-ко-многим" при анализе взаимодействия Книг и Авторов или при взаимодействии Книг и Субъектов.

Пример Базы Данных "Библиотека"

FoxPro Author Publishing Connections

См. также

Другие ссылки

Разработка Баз Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Creating Databases

Visual FoxPro 9.0
Создание баз данных

После того, как вы завершили разработку вашей базы данных и определили поля, которые могут вам потребоваться, вы готовы к созданию вашей базы данных.

В этом разделе

Как: создавать базы данных

Описывается, как создавать базы данных.

Как: увидеть и установить свойства базы данных

Описывается, как вы можете увидеть и установаить свойства баз данных.

Работа с предметами в базах данных

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

Как: создавать и управлять хранимыми процедурами

Описывается, как сохранить код, написанный для работы с конкретной базой данных.

Работа с событиями контейнера базы данных

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

Справочное руководство

Мастер базы данных - Database Wizard

Предоставляет вам возможность создавать базы данных с помощью мастера.

Дизайнер базы данных -Database Designer (Visual FoxPro)

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

Окно Project Manager

Предоставляет вам возможность организовывать файлы и проекте приложения.

Связанные разделы

Дизайн баз данных

Описываются анализ и разбор дизайна с целью создания хорошо спланированных баз данных.

Управление базами данных

Описываются различные задачи по управлению базами данных.

Разработка баз данных

Введение и описание использования баз данных для хранения, организации и работы с таблицами и представлениями, как с коллекциями.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Databases

Visual FoxPro 9.0
Как: создать базу данных
Смотрите также

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

Когда вы создаете базу данных, файл базы данных (.dbc) создается совместно с мемо-файлом базы данных (.dct) и ее индексным файлом (.dcx).

Для создания базы данных с использование мастера

  1. В менюFile щелкните на New.

  2. В диалоговом блоке New выберите Database и затем Wizard.

  3. Следуйте инструкциям на экранах мастера.

Для получения более подробной информации смотрите Database Wizard.

Вы, кроме того, можете стартовать мастер из проекта в Project Manager путем развертывания закладки Data, выбора узла Databases с последующем щелчком на New и затем на Database Wizard. Для получения более подробной информации смотрите Окно Project Manager.

Для создания пустого контейнера базы данных

  1. В менюFile щелкните на New.

  2. В диалоговом блоке New выберите Database и затем New file.

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

    Откроется Database Designer и отобразит пустую базу данных.

Для получения более подробной информации смотрите Database Designer (Visual FoxPro).

Для создания базы данных в проекте

  1. Откройте прооект в Project Manager.

  2. В окне Project Manager разверните узел Data и щелкните по узлу Databases.

  3. Щелкните на New и затем на New Database.

Для получения более подробной информации смотрите Окно Project Manager.

Для программного создания базы данных

  • Используйте команду CREATE DATABASE.

    Приведенный ниже пример создает и эксклюзивно открывает базу данных с именем Sample:

    CopyCode image Скопировать код
    CREATE DATABASE Sample

Для получения более подробной информации смотрите Команда CREATE DATABASE.

Note Замечание

Использование команды CREATE DATABASE не вводит автоматически созданную базу данных в проект, даже когда открыт Project Manager. Для получения более подробной информации смотрите Как: добавить базы данных в проекты.

Смотрите также

Справочное руководство

Базы данных в Visual FoxPro

Прочие ресурсы

Работа с предметами в базах данных
Создание баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: View and Set Database Properties

Visual FoxPro 9.0
Как: Просмотреть и установить Свойства Базы Данных
См. также

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

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

Для добавления комментариев в текущую базу данных

  1. Откройте базу данных в службе Database Designer.

  2. В меню Database, выберите пункт Properties для открытия диалогового бокса Database Properties.

  3. В разделе Comment, введите необходимый комментарий для данной базы данных.

  4. При завершении, нажмите кнопку OK.

См. также

Задачи

Как: Создать Базу Данных

Другие ссылки

Создание Базы Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Visual FoxPro 9.0
Работа с предметами в базах данных

После того, как вы создадите базу данных, вы можете выполнять различные задачи, например:

  • Сконфигурировать отображение предметов в базе данных.

  • Добавлять таблицы или создавать новые таблицы и представления в базе данных.

  • Искать таблицы в базе данных.

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

  • Определять постоянные отношения между таблицами базы данных.

  • Создавать правила, управляющие добавлениес, обновлением или удалением записей в таблицах базы данных.

В этом разделе

Как: отображать предметы в базах данных

Описывается - как выбрать предметы и как отобразить их в дизайнере базы данных.

Как: ассоциировать таблицы с базой данных

Описывается, как создавать или добавлять таблицы в базу данных.

Как: найти таблицы или представления в базе данных

Описывается, как быстро найти таблицы или представления в дизайнере баз данных.

Как: расположить таблицы и представления в базах данных

Описывается как организовать раскладку таблиц в дизайнере баз данных.

Как: использовать таблицы из других баз данных

Описывается, как включит данные из таблиц, не связанных с текущей базой данных.

Как: обновлять связи таблицы и базы данных

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

Как: убрать таблицы из базы данных

Описывается, как убрать или удалить таблицы из базы данных.

Как: создать постоянные отношения между таблицами

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

Как: управлять постоянными отношениями между таблицами

Описывается, как редактировать или удалять постоянные отношения между таблицами.

Как: построить ссылочную целостность между таблицами

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

Связанные разделы

Базы данных в Visual FoxPro

Знакомит с базами данными в Visual FoxPro и предоставляет информацию об их аспектах.

Создание баз данных

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

Разработка баз данных

Приводятся соображения по разработке хорошо-спланированных баз данных.

Работа с таблицами (Visual FoxPro)

Описывается использовагние таблиц для хранения данных и работой с ними.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Display Items in Databases

Visual FoxPro 9.0
Как: Отобразить Элементы Базы Данных
См. также

Вы можете выбрать для использования или отобразить элементы, содержащиеся в Базе Данных, с помощью службы Database Designer. На пример, вы можете раскрыть групповой элемент Таблицы, для мросмотра имеющихся индексов и характеристик полей, или свернуть группу, оставить для просмотра только имена таблиц.

Для отображения элементов в Базе Данных

  1. Откройте Базу данных в системной службе Database Designer.

  2. В соответствующем меню Database, выберите пункт Properties, откроется диалоговый бокс Database Properties.

  3. В области Display, выберите требуемый элемент Базы Данных.

Для раскрытия и сворачивания группового списка Таблиц в Базе Данных

  • В службе Database Designer, выполните "right-click" нa нужной таблице, выберите сответствующий пункт Expand или Collapse.

Для раскрытия или сворачивания всех групповых списков Таблиц

  • Выполните "Right-click" в открытой службе Database Designer, выберите соответствующий пункт Открыть Все или Скрыть Все.

См. также

Задачи

Как: Открыть Базу Данных
Как: Упорядочить Таблицы и Представления в Базе Данных
Как: Найти Таблицу или Представление в Базе Данных

Другие ссылки

Создание Базы Данных
Работа с Элементами в Базе Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Associate Tables with a Database

Visual FoxPro 9.0
Как: связать таблицы с базой данных
Смотрите также

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

Note Замечание

Для связывания свободных таблиц с базой данных, вы должны явно ввести их. Изменение их структуры не связывает свободные таблицы с базой данных, даже если база данных открыта во время изменения структуры таблицы.

Когда вы добавляете таблицу в базу данных, Visual FoxPro изменяет заголовок табличного файла для записи пути и имени файла базы данных, которая теперь будет содержать добавляемую таблицу. Информация о пути и имени файла называется обратной ссылкой (иногда в документации используется термин "обратная связь"), поскольку она связывает таблицу с базой данных, ставшей ее собственником.

О создании таблиц базы данных вы можете прочесть в описании задачи Как: создавать таблицы базы данных.

Для связи таблицы с базой данных

  1. Откройте базу данных в Database Designer.

    Появится меню Database.

  2. В меню Database щелкните на Add Table.

  3. В диалоговом окне Open найдите и выберите желаемую таблицу и щелкните на OK.

    Таблица, которую вы выбрали, появится в Database Designer.

Для связи таблицы с базой данных в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager распахните узел Data и затем узел Databases.

  3. Щелкните на узле Tables и затем на Add.

  4. В диалоговом окне Select table name найдите и выберите файл желаемой таблицы (.dbf) и щелкните на OK.

    Выбранная вами таблица появится в узле Tables окна Project Manager.

Для получения более подробной информации смотрите описание Окно Project Manager.

Для программной связи таблицы с текущей базой данных

  1. Откройте базу данных.

  2. Используйте команду ADD TABLE.

    Например, приведенный ниже код примера открывает базу данных с именем MyDatabase и добавляет таблицу с именем MyTable:

    CopyCode image Скопировать код
    OPEN DATABASE MyDatabase
ADD TABLE MyTable

Для получения более подробной информации смотрите описание команды Команда ADD TABLE.

Смотрите также

Задачи

Как: открывать таблицы (Visual FoxPro)
Как: открывать базы данных

Справочное руководство

Базы данных в Visual FoxPro

Прочие ресурсы

Создание баз данных
Работа с элементами в базах данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Find Tables or Views in Databases

Visual FoxPro 9.0
Как: Найти Таблицу или Представление в Базе Данных
См. также

Обычно, в системном окне Database Designer, размещаются все необходимые элементы, таблицы и представления. Для поиска необходимого элемента контейнера База Данных эти элементы размещаются списком. Для открытия необходимого компонента, система Visual FoxPro сначала производит поиск в открытой Базе Данных, а за тем - по заданному поисковому пути.

Для поиска Таблицы или Представления в Базе Данных

  1. Откройте базу данных в системном средстве Database Designer.

  2. В меню Database, нажмите Find Object.

  3. В диалоговом боксе Find Table or View, выберите необходимую таблицу или представление.

  4. Нажмите Find.

    Указанный объект будет выведен на передний плав в окне Database Designer.

См. также

Задачи

Как: Открыть Базу Данных
Как: Отобразить Составляющие компоненты Базы Данных
Как: Разместить Таблицы и Представления в Базе Данных

Другие ссылки

Создание Баз Данных
Работа с Компонентами контейнера База Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Arrange Tables and Views in Databases

Visual FoxPro 9.0
Как: Разместить Таблицы и Представления в Базе Данных
См. также

Вы можете изменить размещение элементов в окне дизайнера базы данных, - таблиц или представлений. Например, после построения несколькиъх таблиц или определения нескольких представлений в окне Базы Данных, Вам хочется упорядочить размещение перечисленных элементов в некотором порядке, группами.

Для ращзмещения таблиц и представлений в базе данных

  1. Откройте базу данных в системном средстве Database Designer.

  2. В меню Database, нажмите Arrange.

  3. В диалоговом боксе Arrange Tables and Views, установите требуемые Вам параметры, и нажмите OK.

См. дополнительно раздел Диалоговый бокс: Размещение Таблиц и Представлений в Базе Данных.

См. также

Задачи

Как: Открыть Базу Данных
Как: Отобразить элементы в Базе Данных
Как: Найти Таблицу или Представление в Базе Данных

Другие ссылки

Создание Баз Данных
Работа с элементами в Базе Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Use Tables from Other Databases

Visual FoxPro 9.0
Как: использовать таблицы из других баз данных
Смотрите также

Вы можете использовать данные из таблицы, не связанной с текущей базы данных.

Note Совет

Для обращения к таблице, связанной или не связанной с базой данных, укажите полный путь. Однако, вы можете повысить производительность при использовании только имени таблицы.

Для использования данных из таблицы другой базы данных

  • Выполните одно из приведенного ниже:

    • Используйте команду USE с вопросительным знаком (?) для вывода диалогового окна Use и щелкните по командной кнопке Other.

    - или -

    • Используйте команду USE и предварите имя таблицы именем базы данных, после которого должен следовать восклицательный знак (!).

      Note Совет

      Восклицательный знак используется для обращения к таблице в базе данных, которая не является текущей базой данных.

    - или -

    • Создайте представление в вашей базе данных, которое ссылается на требуемую таблицу.

Для получения более подробной информации смотрите описания Команда USE и Работа с представлениями (Visual FoxPro).

Например, приведенный ниже пример показывает, как вы можете открыть таблицу с именем MyTable из другой базы данных с именем MyDatabase2 и просмотреть таблицу:

CopyCode image Скопировать код
USE MyDatabase2!MyTable
BROWSE

Смотрите также

Задачи

Как: открывать таблицы (Visual FoxPro)

Прочие ресурсы

Работа с таблицами (Visual FoxPro)
Создание баз данных
Работа с элементами в базах данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Update Table and Database Links

Visual FoxPro 9.0
Как: обновить связи между таблицей и базой данных
Смотрите также

Когда вы перемещаете файлы базы данных (.dbc, .dct и .dcx) или таблицу базы данных, относительные пути изменяются и могут разрушить связи, которые Visual FoxPro использует для ассоциации базы данных и табличных файлов. Вы можете переустановить связи и обновить информацию об относительном пути для отображения нового местонахождения файлов.

Note Совет

Если вы пожелаете открыть таблицу без переустановки связей для всех таблиц в базе данных, то используйте команду USE. Visual FoxPro отобразит диалоговое окно Open с тем, чтобы вы могли найти базу данных, которая владеет таблицей или удалите связи. Для получения более подробной информации смотрите описание команды USE Command.

Вы, кроме того, можете удалить из таблицу ссылку на базу данных, или обратную связку (back link).

Для обновления связей между базой данных и ее таблицами

  • Используйте команду VALIDATE DATABASE с опцией RECOVER

Для получения более подробной информации смотрите описание команды VALIDATE DATABASE.

Например, приведенный ниже код откроет базу данных с именем MyDatabase и отобразит диалоговое окно, с помощью которого вы сможете найти те таблице, которые размещаются по путям, отличным от хранящихся в базе данных:

CopyCode image Скопировать код
OPEN DATABASE MyDatabase
VALIDATE DATABASE RECOVER

Для удаления обратной связки из таблицы

  • Используйте команду FREE TABLE.

    Caution note Предупреждение

    Не используйте команду FREE TABLE для удаления таблицы из базы данных, если база данных имеется на диске; вместо этого используйте команду REMOVE TABLE. При наличии базы данных на диске использование команды FREE TABLE может привести к тому, что база данных станет недоступной.

Для получения более подробной информации смотрите описание команды FREE TABLE.

Смотрите также

Задачи

Как: удалить таблицу из базы данных

Справочное руководство

Базы данных в Visual FoxPro

Прочие ресурсы

Создание баз данных
Работы с элементами базы данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Remove a Table from a Database

Visual FoxPro 9.0
Как: удалить таблицу из базы данных
Смотрите также

Вы можете удалить таблицу из базы данных или удалить таблицу с диска. Удаление таблицы из базы данных не удаляет автоматически файл таблицы. Однако при удалении таблицы из базы данных удаляется и связанная с таблицей информация словаря данных базы данных и, кроме того, переписывается информация связки, для отражения статуса таблицы как свободной таблицы.

Note Замечание

Перед удалением таблицы из базы данных или перед удалением ее с диска вы в первую очередь должны ее закрыть. Если таблица в базе данных имеет длинное имя, то удаление таблицы из базы данных также удаляет и длинное имя. Для получения более подробной информации смотрите Как: называть таблицы.

Для извлечения или удаления таблицы из базы данных

  1. Откройте базу данных в дизайнере Database Designer.

  2. В Database Designer щелкните по таблице, которую вы желаете удалить.

  3. В меню Database щелкните Remove.

    Visual FoxPro спросит вас - желаете ли вы просто удалить таблицу из базы данных или удалить ее с диска.

  4. В подтверждающем диалоговом блоке выполните одно из действий описанных ниже:

    • Для удаления таблицы щелкните на Remove.

    -или

    • Для удаления таблицы с диска щелкните на Delete.

Для удаления таблицы из базы данных или удаления ее с диска в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager разверните узел Data, узел Databases и затем узел Tables.

  3. Щелкните по таблице, которую вы желаете удалить и затем по Remove.

    Visual FoxPro спросит вас - желаете ли вы просто удалить таблицу из базы данных или удалить ее с диска.

  4. В подтверждающем диалоговом блоке выполните одно из действий описанных ниже:

    • Для удаления таблицы щелкните на Remove.

    -или

    • Для удаления таблицы с диска щелкните на Delete.

Для удаления таблицы из текущей базы данных программным путем

  • Выполните одно из действий описанных ниже:

    • Для удаления таблицы из базы данных используйте команду REMOVE TABLE.

      -или-

    • Для удаления таблицы с диска используйте команду DROP TABLE или используйте команду REMOVE TABLE с опцией DELETE.

Для получения более подробной информации смотрите Команда REMOVE TABLE и Команда DROP TABLE.

Например, приведенный ниже программный код открывает базу данных с именем MyDatabase без открытия дизайнера Database Designer и удаляет таблицу с именем:

CopyCode image Скопировать код
OPEN DATABASE MyDatabase
REMOVE TABLE MyTable

Приведенный ниже программный код открывает базу данных с именем MyDatabase без открытия дизайнера Database Designer и удаляет таблицу с именем MyTable с диска:

CopyCode image Скопировать код
OPEN DATABASE MyDatabase
REMOVE TABLE MyTable DELETE

Приведенный ниже программный код открывает базу данных с именем MyDatabase без открытия дизайнера Database Designer и удаляет таблицу с именем MyTable с диска без перемещения его в Windows Recycle Bin:

CopyCode image Скопировать код
OPEN DATABASE MyDatabase
DROP TABLE MyTable NORECYCLE
Caution note Предупреждение

Не используйте команду ERASE с таблицами, связанными с базами данных. ERASE не переписывает обратный линк к базе данных и может вызвать ошибки доступа к таблице.

Смотрите также

Задачи

Как: открыть базу данных
Как: обновить линки таблицы и базы данных

Прочие ресурсы

Создание баз данных
Работа с предметами в базе данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Persistent Relationships Between Tables

Visual FoxPro 9.0
Как: создать постоянные отношения между таблицами
Смотрите также

Вы можете создать постоянные отношения между таблицами базы данных, основанные на простом или сложном выражении или их индексах. Эти отношения хранятся в файле базы данных (.dbc). Тип постоянного отношения, который вы можете создать, определяет тип индексного тэга или ключа. Например, в отношении "один-ко-многим" (one-to-many) между двумя таблицами, вы должны использовать первичный индексный тэг или ключ, или индекс-кандидат в таблице со стороны "one" отношения и обычный индексный тэг или ключ в таблице со стороны "many".

До того, как вы создадите постоянное отношение, вам необходимо выполнить приведенные ниже шаги:

  1. Определить, какая таблица содержит первичные записи и какая таблица содержит связанные записи.

  2. В таблице с первичными записями, добавьте поле типа integer и затем добавьте первичный индекс на новом поле.

  3. В таблице со связанными записями введите поле, которое соответствует первичному индексному ключу в таблице первичных записей и, затем, добавьте обычный индекс для нового поля.

    Note Замечание

    Используйте одно и тоже выражение для обоих индексов. Например, если вы используете функцию в выражении на поле первичного ключа, вам необходимо использовать ту же самую функцию в выражении в поле внешнего (foreign) ключа.

Для получения более подробной информации смотрите описания Идентификация отношений и Работа с табличными индексами.

Для создания постоянного отношения между таблицами

  1. Откройте базу данных в Database Designer.

  2. В Database Designer перетащите элемент списка с именем индекса из таблицы, которую вы желаете связать к имени индекса таблицы, которая будет связана с первой.

Между двумы таблицами в Database Designer появится линиия, представляющая постоянное отношение.

Для получения более подробной информации смотрите описание дизайнера баз данных Database Designer (Visual FoxPro).

Для создания постоянного отношения между таблицами программно

  • Используйте команды CREATE TABLE или ALTER TABLE с опцией FOREIGN KEY.

Для получения более подробной информации смотрите описания команд CREATE TABLE - SQL and ALTER TABLE - SQL .

Например, приведенный ниже код использует команду SQL ALTER TABLE и таблицы Customer и Orders для создания постоянного отношения один-ко-многим, где один потребитель имеет много заказов, основанного на первичном индексном ключе, Cust_ID в таблице Customer и новый внешний ключ cust_id в таблице Orders:

CopyCode image Скопировать код
ALTER TABLE Orders;
   ADD FOREIGN KEY Cust_ID TAG ;
      Cust_Id REFERENCES Customer

Смотрите также

Задачи

Как: открыть базы данных
Как: управлять постоянными отношениями между таблицами

Справочное руководство

Базы данных в Visual FoxPro

Прочие ресурсы

Создание баз данных
Работа с элементами баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Manage Persistent Relationships Between Tables

Visual FoxPro 9.0
Как: управлять постоянными связями между таблицами
Смотрите также

Вы можете редактировать и удалять постоянные отношения между таблицами.

Для редактирования постоянных отношений между таблицами

  1. Откройте базу данных в дизайнере баз данных (Database Designer).

  2. В Database Designer щелкните по линии связи между двумя таблицами.

  3. В меню Database шелкните на Edit Relationship.

    Note Совет

    Кроме того, вы можете выполнить двойной щелчок на линии связи между двумя таблицами.

  4. В диалоговом блоке Edit Relationship измените установки по вашему усмотрению.

Для получения более подробной информации смотрите описание Диалоговый блок Edit Relationship.

Для удаления постоянной связи между таблицами

  1. Откройте базу данных в дизайнере баз данных (Database Designer).

  2. В Database Designer щелкните по линии связи между двумя таблицами.

  3. Нажмите на клавишу DELETE.

Для получения более подробной информации смотрите описание Database Designer (Visual FoxPro).

Для удаления постоянной связи между таблицами программным путем

  • Используйте команду ALTER TABLE и включите в нее ключевые слова DROP FOREIGN KEY.

Для получения более подробной информации смотрите описание команды ALTER TABLE - SQL.

Например, приведенный ниже код удаляет постоянную связь между двумя таблицами, Customer и Orders, основанную на первичном индексном ключе Cust_ID, в таблице Customer и на внешнем ключе Cust_ID в таблице Orders:

CopyCode image Скопировать код
ALTER TABLE Orders DROP FOREIGN KEY TAG Cust_ID SAVE

Смотрите также

Задачи

Как: открыть базу данных
Как: построить ссылочную целостность между таблицами

Прочие ресурсы

Создание баз данных
Работа с предметами в базе данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Build Referential Integrity Between Tables

Visual FoxPro 9.0
Как: построить ссылочную целостность между таблицами
Смотрите также

Вы можете создать набор правил для сохранения отношений, определенных между таблицами при вводе, обновлении или удалении записей. Процесс создания этих правил называется "построением ссылочной целостности".

Для построения ссылочной целостности между таблицами

  1. Откройте базу данных в Database Designer.

  2. В Database Designer, создайте новое постоянное отношение между двуся таблицами или выберите существующее щелчокм по линии отношения.

  3. В меню Database щелкните на Edit Referential Integrity.

  4. В Referential Integrity Builder, выберите правила, которые вы желаете применять для обновления, удаления или вставки записей.

  5. Для сохранения ваших изменений, сгенерируйте RI код и выйдите из построителя, щелкнув на OK, а затем на Yes.

Для получения более подробной информации смотрите описание построителя Построитель ссылочной целостности - Referential Integrity Builder.

Когда вы используете RI Builder, Visual FoxPro генерирует код для применения правил ссылочной целостности и сохраняет их как триггера, которые ссылаются на хранимые процедуры. Триггер представляет собой выражение, которое связано с таблицей и вызывается, когда записи таблицы изменяются посредством команд управления данными. Вы можете посмотреть этот код, открыв редактор хранимых процедур вашей базы данных. Для получения более подробной информации смотрите описания Использование триггеров и Как: создавать и обслуживать хранимые процедуры.

Caution note Предупреждение

Запустите повторно RI Builder после того, как вы сделали изменения в базе данных, такие, как изменения таблиц или замена индексов, используемых в постоянных отношениях, до того, как вы будете использовать базу данных. Повторный запуск RI Builder обновит код хранимых процедур и триггеров таблицы, используемых для применения правил ссылочной целостности. Если вы не сделаете этого, то есть не запустите повторно RI Builder, вы можете получить непредсказуемый результат, так как хранимые процедуры и триггера не будут обновлены.

Смотрите также

Задачи

Как: открыть базы данных
Как: создать постоянные отношения между таблицами
Как: создавать и обслуживать хранимые процедуры

Справочное руководство

Базы данных в Visual FoxPro

Прочие ресурсы

Создание баз данных
Работа с элементами баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Create and Manage Stored Procedures

Visual FoxPro 9.0
Как: создавать хранимые процедуры и управлять ими
Смотрите также

Вы можете создавать, редактировать, копировать и удалять хранимые процедуры в вашей базе данных. Хранимые процедуры представляют собой код Visual FoxPro, который хранится в файле базе данных (.dbc) и действует, главным образом, на данных в базе данных.

Для создания хранимых процедур

  1. Откройте базу данных в дизайнере Database Designer.

  2. В меню Database щелкните наEdit Stored Procedures.

Откроется окно редактирования, с тем, чтобы вы смогли написать код для хранимой процедуры.

Для создания хранимой процедуры для базе данных в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager, разверните узел Data, узел Databases и затем узел базы данных, в которую вы желаете ввести хранимую процедуру.

  3. Щелкните на узле Stored Procedures и затем на New.

Откроется окно редактирования, с тем, чтобы вы смогли написать код для хранимой процедуры.

Для создания хранимой процедуры программным путем

  • Используйте команду MODIFY PROCEDURE.

Для получения более подробной информации, смотрите Команда MODIFY PROCEDURE.

Для редактирования хранимых процедур

  • Выполните одно из приведенного ниже:

    • Для редактирования хранимых процедур из Database Designer, в меню Database щелкните на Edit Stored Procedures.

    -или-

    • Для редактирования хранимых процедур из Project Manager, щелкните на узле Stored Procedures и затем на Modify.

    • -или-

    • Используйте команду MODIFY PROCEDURE.

Откроется окно редактирования, с тем, чтобы вы смогли отредактировать код для хранимой процедуры.

Для копирования и добавления хранимых процедур в текстовый файл

  • Используйте команды COPY PROCEDURES и APPEND PROCEDURES.

Для получения более подробной информации, смотрите Команда COPY PROCEDURES и Команда APPEND PROCEDURES.

Для удаления хранимой процедуры

  1. Откройте окно редактирования для хранимых процедур.

  2. В окне редактирования выберите код, который вы желаете удалить.

  3. Нажмите на клавишу DELETE.

Смотрите также

Задачи

Как: открыть базы данных

Справочное руководство

Базы данных в Visual FoxPro

Концепции

Обработка ошибок баз данных

Прочие ресурсы

Создание базы данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Working with

Visual FoxPro 9.0
Работа с событиями контейнера базы данных

Вы можете использовать события контейнера баз данных (DBC) для исполнения процедурного кода при наступлении событий контейнера.

Note Замечание

События DBC не доступны в версиях до Visual FoxPro 7.0. Попытка доступа к базе данных с контейнером, допускающим работу с событиями в версиях Visual FoxPro до 7.0 вызовет генерацию ошибки.

В этом разеделе

События контейнера базы данных

Знакомит и описывает события контейнера базы данных (DBC).

Как: разрешить или запретить события контейнера базы данных

Описывает как активировать и зеактивировать события контейнера базы данных.

Как: добавить процедурный код в события контейнера базы данных.

Описывает способы добавления процедурного кода в события контейнера базы данных.

Связанные разделы

Понимание событийной модели

Знакомит с событями и описывает способы их использования вами для производства операций когда система или пользователь выполняют действия.

Разработка баз данных

Описывает рассмотрения вопросов дизайна для создания хорошо-спланированной базы данных.

Создание баз данных

Описывает создание баз данных и работу с таблицами, ассоциированными с базами данных.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Database Container Events

Visual FoxPro 9.0
События контейнера баз данных
Смотрите также
CollapseAll image

События контейнера базы данных (DBC) происходят, когда выполняются действия в базе данных. Вы можете добавить в эти события процедурный код, который будет исполнен при наступлении событий.

В приведенной ниже таблице описываются доступные события контейнера базы данных - DBC.

DBC events Описание

DBC_Activate

Происходит, когда открытая база данных становится текущей базой данных.

DBC_Deactivate

Происходит, когда база данных перестает быть текущей базой данных.

DBC_BeforeAddRelation

Происходит до ввода отношения в базу данных.

DBC_AfterAddRelation

Происходит после успешного ввода отношения в базу данных.

DBC_BeforeAddTable

Происходит до ввода таблицы в открытую базу данных.

DBC_AfterAddTable

Происходит после ввода таблицы в открытую базу данных.

DBC_BeforeAppendProc

Происходит до завершения операции APPEND PROCEDURES в текущие хранимые процежуры контейнера базы данных DBC.

Используйте для предотвращения добавления операции. Кроме того, используйте для обнаружения имени вовлеченного DBC.

DBC_AfterAppendProc

Происходит после завершения операции APPEND PROCEDURES.

DBC_BeforeCloseTable

Происходит до закрытия таблицы или представления.

DBC_AfterCloseTable

Происходит после закрытия таблицы или представления.

DBC_BeforeCopyProc

Происходит до начала операции копирования процедуры в текущий DBC.

Используйте для предотвращения операции. Кроме того, используйте для обнаружения имени вовлеченного DBC.

DBC_AfterCopyProc

Происходит после завершения операции копирования процедуры в текущем DBC.

Используйте для обнаружения имени вовлеченного DBC.

DBC_BeforeCreateConnection

Происходит до создания соединения.

Используйте для предотвращения создания соединения или открытия соединения дизайнером.

DBC_AfterCreateConnection

Происходит после создания соединения.

DBC_BeforeCreateOffline

Происходит до перевода представления в автономный режим - offline.

Используйте для предотвращения перевода представления в автономный режим.

DBC_AfterCreateOffline

Происходит после завершения функции CREATEOFFLINE( ).

DBC_BeforeCreateTable

Происходит до создания таблицы в открытой базе данных.

DBC_AfterCreateTable

Происходит после создания таблицы в открытой базе данных.

DBC_BeforeCreateView

Происходит до создания представления.

Используйте для предотвращения создания представления или открытия представления дизайнером.

DBC_AfterCreateView

Происходит после создания представления.

DBC_BeforeDBGetProp

Происходит до запуска DBGETPROP( ).

DBC_AfterDBGetProp

Происходит после завершения DBGETPROP( ).

DBC_BeforeDBSetProp

Происходит до запуска DBSETPROP( ) или когда изменено свойство "Event".

DBC_AfterDBSetProp

Происходит после завершения DBSETPROP( ) или когда изменено свойство "Event".

DBC_BeforeDeleteConnection

Происходит до удаления соединения.

DBC_AfterDeleteConnection

Происходит после удаления соединения.

DBC_BeforeDropOffline

Происходит до возврата представления в online.

Используйте для предотвращения перевода представления из автономного режима назад - в online.

DBC_AfterDropOffline

Происходит после завершения DROPOFFLINE( ).

DBC_BeforeDropRelation

Происходит до удаления отношения из базы данных.

DBC_AfterDropRelation

Происходит после успешного удаления отношения из базы данных.

DBC_BeforeDropTable

Происходит до удаления таблицы из DBC и удаления с диска.

DBC_AfterDropTable

Происходит после удаления таблицы из DBC и удаления с диска.

DBC_BeforeDropView

Происходит до удаления представления изDBC.

Используйте для предотвращения удаления представления.

DBC_AfterDropView

Происходит после удаления представления из DBC.

DBC_BeforeModifyConnection

Происходит до изменения соединения.

DBC_AfterModifyConnection

Происходит после изменения соединения.

DBC_BeforeModifyProc

Происходит до изменения DBC-хранимой процедуры в открытом DBC.

Используйте для предотвращения изменения. Кроме того, используйте для обнаружения имени вовлеченного DBC.

DBC_AfterModifyProc

Происходит после изменения и закрытия файла хранимых процедур для DBC.

DBC_BeforeModifyTable

Происходит до изменения таблицы.

DBC_AfterModifyTable

Происходит после изменения таблицы.

DBC_BeforeModifyView

Происходит до изменения представления.

DBC_AfterModifyView

Происходит после изменения представления.

DBC_BeforeOpenTable

Происходит до открытия таблицы или представления.

DBC_AfterOpenTable

Происходит после открытия таблицы или представления.

DBC_BeforeRemoveTable

Происходит до удаления таблицы из DBC.

DBC_AfterRemoveTable

Происходит после удаления таблицы из DBC.

DBC_BeforeRenameConnection

Происходит до переименования соединения.

DBC_AfterRenameConnection

Происходит после переименования соединения.

DBC_BeforeRenameTable

Происходит до переименования таблицы.

DBC_AfterRenameTable

Происходит после переименования таблицы.

DBC_BeforeRenameView

Происходит до переименования представления.

DBC_AfterRenameView

Происходит после переименования представления.

DBC_BeforeValidateData

Происходит до исполнения VALIDATE DATABASE. Возврат .F. предотвращает DBC от проверки на действительность.

DBC_AfterValidateData

Происходит после завершения VALIDATE DATABASE.

DBC_ModifyData

Происходит незамедлительно после выпуска Modify Data.

Используйте для предотвращения открытия окна схемы. Кроме того, можно открыть закрытую базу данных.

DBC_OpenData

Происходит, когда база данных открывается или когда выпуска команда MODIFY DATABASE в отношении закрытой базы данных.

Используйте для закрытия открытой ранее базы данных.

DBC_CloseData

Закрывает открытую базу данных.

DBC_PackData

Происходит до исполнения PACK DATABASE.

Используйте для предотвращения упаковки DBC.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных - DBC Events
Как: добавить код в событие контейнера базы данных

Прочие ресурсы

Разработка баз данных
Работа с событиями контейнера базы данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Enable or Disable DBC Events

Visual FoxPro 9.0
Как: разрешить или запретить события контейнера базы данных
Смотрите также

До того, как вы добавите процедурный код в события контейнера базы данных, вам необходимо активизировать их. Когда вы пожелаете запретить исполнение кода в событиях DBC, вы можете просто деактивировать их.

Caution note Предупреждение

События контейнера баз данных не достпуны в версиях ранее Visual FoxPro 7.0. Поэтому, активизация событий контейнера базы данных делает невозможным использование таких баз данных с версиями, более ранними, чем Visual FoxPro 7.0. Попытка доступа к контейнеру базы данных с разрешенными событиями при использовани баз данных в версиях более ранних, чем Visual FoxPro 7.0 вызовет генерацию ошибки.

Для активизации событий контейнера базы данных

  1. Откройте базу данных в дизайнере баз данных Database Designer.

  2. В меню Database щелкните на Properties.

  3. В диалоговом блоке Database Properties щелкните на чек-боксеSet Events On. Чек-бокс должен быть отмечен.

  4. Щелкните на OK.

Для получения более подробной информации смотрите Диалоговый блок Database Properties.

Для активизации событий контейнера базы данных программным способом

  1. Убедитесь, что требуемая база данных открыта и установлена текущей.

  2. Используйте функцию DBSETPROP( ).

Например, приведенный ниже программный код активизирует события контейнера базы данных:

CopyCode image Скопировать код
DBSETPROP(cDBCName,'Database','DBCEvents',.T.)

Для получения более подробной информации смотритре Фукнция DBSETPROP( ).

Для деактивации событий контейнера базы данных

  1. Откройте базу данных в дизайнере Database Designer.

  2. В меню Database щелкните на Properties.

  3. В диалоговом блоке Database Properties щелкните на чек-боксе Set Events On для снятия метки.

  4. Щелкните на OK.

Для получения более подробной информации смотрите Диалоговый блок Database Properties.

Для деактивации событий контейнера базы данных программным путем

  • Используйте функцию DBSETPROP( ).

Например, приведенный ниже программный код деактивирует события контейнера базы данных:

CopyCode image Скопировать код
      DBSETPROP(cDBCName,'Database','DBCEvents',.F.)

Смотрите также

Задачи

Как: добавить процедурный код в события контейнера базы данных

Справочное руководство

События контейнера базы данных

Прочие ресурсы

Работа с событиями контейнера базы данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Code to a DBC Event

Visual FoxPro 9.0
Как добавить процедурный код в событие контейнера базы данных
Смотрите также

Вы можете добавить процедрный код в событие контейнра базы данных, путем сохранения его в файле хранимых процедур базы данных или в отдельном программном файле (.prg). При разрешении событий контейнера базы данных, процедурные коды, определенные для событий будут исполняться.

Для добавления кода в событие DBC

  1. Откройте базу данных в дизайнере Database Designer.

  2. В меню Database щелкните на Properties.

    Откроется диалоговое окно Database Properties. Если вы разрешили события контейнера базы данных чек-бокс Events File станет доступным.

  3. В списке Events щелкните на требуемом событии.

    Note Совет

    Для выбора нескольких событие нажмите и удерживайте клавишу SHIFT на время выбора каждого события.

  4. Выберите одно из приведенного ниже:

    • Для добавления кода в файл хранимых процедур текущей базы данных, щелкните на Edit Code.

    -или-

    • для указания кода во внешнем файле отметьте чек-бокс Events File.

      Если файл не указан, откроется диалоговый блок Open, для того, чтобы вы могли выбрать и тем самым указать файл. Если файл уже был указан щлкните на кнопке ellipsis (...) для вывода диалогового блока Open.

      Caution note Предупреждение

      Отметка чек-бокса Events File изменит структуру базы данных, что приведет к несовместимости текущей базы данных с более ранними версиями Visual FoxPro, (ранее 7.0) или к несовместимости с драйвером Visual FoxPro ODBC Driver. очистка чек-бокса Events File возвратит базе данных совместимость назад.

Окно редактирования для хранимых процедур или внешнего файла откроется с процедурным шаблоном для событий контейнера баз данных.

Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

События контейнера базы данных

Прочие ресурсы

Работа с событиями контейнера базы данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Managing Databases

Visual FoxPro 9.0
Управление базами данных

Для управления базами данных вы можете выполнять разные задачи, кратко описанные ниже.

В этом разделе

Как: добавлять базы данных в проекты

Описывается, как добавлять базы данных в проекты приложений.

Как: открыть базы данных

Описывается, как открыть существующие базы данных и работать с их визуальным представлением.

Как: установить текущую базу данных

Описывается, как установить базу данных в качестве текущей.

Как: проверить базу данных

Описывается, как проверить целостность файла базы данных (.dbc).

Обработка ошибок базы данных

Описывается, как предоставить настроенное сообщение об ошибке вместо общих ошибок базы данных используя триггеры.

Как: закрыть базу данных

Описывается, как закрывать базы данных.

Как: удалять базы данных из проектов

Описывается, как удалять базы данных из проекта приложения.

Как: увидеть структуру базы данных

Описывается, как увидеть структуру файла базы данных (.dbc), который содержит информацию о базе данных.

Как: расширить файлы баз данных

Описывается, как добавить определенные пользователем поля в файл базы данных (.dbc).

Справочное руководство

Дизайнер баз данных (Visual FoxPro)

Предоставляет вам возможность создавать базы данных начиная с пустого контейнера базы данных или модифицировать существующие базы данных.

Окно Project Manager

Предоставляет вам возможность организации файлов в проекте приложения.

Базы данных

Перечисляет элементы языка программирования, которые вы можете использовать для работы с базами данных.

Связанные разделы

Работа с элементами в базах данных

Введение и описание способов выполнения задач с элементами баз данных, таких как их отображение, аранжировка, ввод новых элементов, определение отношений, перезапись связей между базой данных и ее таблицами, создание правил проверки, покрывающих операции добавления, обновления и удаления записей, и тому подобное.

Проектирование баз данных

Оприсаывается анализ дизайна для создания хорошо спланированных баз данных.

Разработка баз данных

Введение и описание использования баз данных для хранения, организации и и работы с таблицами и представлениями, как с коллекциями.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Databases to Projects

Visual FoxPro 9.0
Как: Добавить Базу Данных в Проект
См. также

Вы можете добавить базу данных в проект Вашего приложения.

Для размещения базы данных в проекте

  1. Откройте ваш Проект, см. раздел Окно Project Manager.

  2. В подсистеме Project Manager, раскройте подраздел Data.

  3. Выберите раздел Databases, и нажмите кнопку Add.

  4. В диалоговом боксе Select database name, из списка имеющихся баз данных, файлы (.dbc), выберите нужную, и нажмите OK.

    Выбранная База Данных будет размещена в разделе Databases менеджера проектов.

См. также

Другие ссылки

Создание Баз Данных
Управление Базами Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Open Databases

Visual FoxPro 9.0
How to: Open Databases
Смотрите также

Для добавления, доступа и редактирования элементов в базе данных, откройте ее. Когда вы откроете базу данных, Visual FoxPro устанавливает ее текущей и добавляет ее имя список на панели инструментов standard главного окна Visual FoxPro. По умолчанию, элементы, которые вы создаете или добавляете в базу данных, связываются с текущей базой данных и, кроме того, команды и функции, которые управляют открытыми базами данных работают на текущей базе данных. Вы, кроме того, можете установить в качестве текущей другую открытую базу данных. Для получения более подробной информации смотрите описание задачи Как: установить базу данных текущей.

Note Замечание

Открытие новой базы данных не влечет за собой автоматического закрытия других открытых баз данных. Однако, текущей базой данных страновится база данных, которая была открыта последней.

Вы можете иметь множество открытых баз данных в одно и то же время. Например, вы можете открыть и использовать множество баз данных, когда вы запускаете множество приложений, каждое из который использует различные базы данных. Вы можете, кроме того, пожелать открыть множество баз данных для использования информации, такой как настраиваемые элементы управления в базе данных, которая отделена от базы данных вашего приложения.

Note Замечание

Visual FoxPro может открыть одну или более баз данных автоматически, когда вы исполняете запрос или форму, которая требует открытия баз данных. Для обеспечения гарантии, что вы работаете с корректной базой данных, установите базу данных в качестве текущей явно, до использования команд, которые работают на текущей базе данных. Для получения более подробной информации смотрите описание задачи Как: установить базу данных текущей.

Открытие базы данных в конструкторе баз даных предоставляет вам возможность видеть диаграмму базы данных, визуальное представление базы данных и работать с таблицами, связанными с ней, отношениями и прочими элементами базы данных. Для просмотра структуры файла базы данных именно как файла (.dbc) воспользуйтесь описанием задачи Как: просмотреть структуру базы данных.

Для открытия базы данных в дизайнере баз данных (Database Designer)

  1. В меню File щелкните на Open.

  2. В диалоговом окне Open найдите и выберите файл базы данных (.dbc), который вы желаете открыть.

  3. Щелкните на OK.

    Выбранная вами баз данных откроется в дизайнере баз данных, который отобразит любые содержащиеся в ней элементы и отношения между ними.

Для получения более подробной информации смотрите описание Дизайнер баз данных (Visual FoxPro).

Для открытия базы данных в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager распахните узел Data, затем узел Databases.

  3. Щелкните на имени базы данных, которую вы желаете открыть.

  4. Выполните одно из приведенного ниже:

    • Для открытия базы данных без открытия дизайнера Database Designer щелкните на Open или распахните узел для базы данных.

    - или -

    • Для открытия базы данных в Database Designer щелкните на Modify.

      Выбранная вам база данных откроется в Database Designer, который отобразит любые элементы, содержащиеся в ней и любые отношения между ними

Для получения более подробной информации смотрите описание Окно Project Manager.

Для программного открытия базыданных

  • Выполните одно из приведенного ниже:

    • Для открытия базы данных без открытия дизайнера Database Designer используйте команду OPEN DATABASE.

      - или -

    • Для открытия базы данных в Database Designer используйте команду MODIFY DATABASE.

Для получения более подробной информации смотрите описания Команда OPEN DATABASE and Команда MODIFY DATABASE.

Смотрите также

Прочие ресурсы

Работа с элементами в базе данных
Создание баз данных
Управление базами данных
Разработка баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Set the Current Database

Visual FoxPro 9.0
Как: Установить Базу данных - текущей (активной)
См. также

Вы можете открыть несколько различных баз данных, это вполне возможно; однако только одна из открытых баз данных может быть текущей, (активной).

Для активации Базы Данных

  • Выполните одно из следующего:

    • В комбинированном списке открытых баз данных, системный toolbar, выберите нужную базу данных.

      -или-

    • используйте команду SET DATABASE.

Выбранная база данных становится текущей (активной).

См. дополнительно раздел команда SET DATABASE.

См. также

Задачи

Как: Открыть Базу Данных

Другие ссылки

Управление Базой Данных
Разработка Баз Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Validate a Database

Visual FoxPro 9.0
Как: Тестировать (Validate) Базу Данных
См. также

Для проверки наличия необходимах таблиц в Базе Данных, актуальности индексных файлов, целостности прочей информации Вы можете выполнить Тестирование Базы Данных (validating the database).

Для тестирования Базы Данных

  • Используйте команду VALIDATE DATABASE.

См. дополнительно Команду VALIDATE DATABASE.

См. также

Концепции

Обработка ошибок в Базе Данных

Другие ссылки

Управление Базами Данных
Разработка Базы Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Handling Database Errors

Visual FoxPro 9.0
Обработка ошибок базы данных
Смотрите также

Ошибки базы данных или "engine errors" происходят, когда в run time возникает ошибка в коде события на уровне записи. Например, ошибка базы данных происходит, когда пользователь пытается сохранить null-значение в поле, которое не принимает null-значений.

Обычно, когда происходит ошибка базы данных, лежащий в основе баз данных движок, который определил ошибку, генерирует сообщение об ошибке. Однако, точная природа сообщения об ошибке зависит от обращения к базе данных. Например, сообщения об ошибках, генерируемые удаленным сервером баз данных могут отличаться от тех, которые генерируются локальной таблицей базы данных Visual FoxPro. В дополнение, ошибки на уровне движка могут быть общими, так как движок баз данных не имеет информации о контексте для обновления записи. В результате, сообщение генерируемое движком базы данных является бесполезным для пользователея пориложения Visual FoxPro.

Для обработки ошибок баз данных более приближенном к приложении способом, вы можете создать триггеры. Триггер представляет собой выражение, которое привязано к таблице и вызывается когда изменяется любая запись таблицы с помощью одной из команд управления данными. Вы можете написать код в форме пользовательской функции или хранимой процедуры, используя команжу CREATE TRIGGER для отслеживания условий ошибок, характерных для приложения и генерации подходящих сообщений.

Note Совет

Если вы обрабатываете ошибки баз данных с помощью триггеров, то может поступить два сообщения об ошибке: одно из вашего триггера и другое из движка, лежащего в основе баз данных. Вы можете избежать такой возможности включив буфферирование. Буфферирование предоставляет вам возможность задержать обновление записи в лежащей в основе базы данных, но оставляет возможность вызвать ваш триггер при обновлении записи. Вы можете включить буфферирование и отобразить отобразить настроенные сообщения об ошибках с помощью функции CURSORSETPROP(). Для получения более подрбной информации смотрите описание функции CURSORSETPROP().

Для получения более подрбной информации смотрите Команда CREATE TRIGGER и Как: создавать и управлять хранимыми процедурами.

Смотрите также

Задачи

Как: проверить базы данных

Прочие ресурсы

Управление базами данных
Разработка баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Close Databases

Visual FoxPro 9.0
Как: Закрыть Базу Данных
См. также

Закрыть Базу Данных можно с использование IDE - Среды Разработчика, или программным способом.

Для закрытия Базы Данных

  • Выполните одно из следующих действий:

    • В Project Manager - , если раздел база данных Раскрыт, то Закройте его.

    -или-

    • В Project Manager, выберите открытую базу данных, и нажмите Close.

    -или-

    • В Database Designer, - Закройте окно Дизайнера.

    База Данных будет закрыта.

Для закрытия Базы Данных программным способом

  • Используйте команду CLOSE DATABASES.

См. дополнительно раздел Команды CLOSE.

Note Примечание

При помощи команды CLOSE DATABASES, выполненной из Командного окна, невозможно закрыть Базу Данных, открытую в текущем Project Manager , или если запущена Пользовательская форма, использующая данную Базу Данных. В этих случаях, база данных остается Открытой, до момента ее закрытия в Project Manager или при завершении пользовательской формы.

См. также

Другие ссылки

Управление Базами Данных
Разработка Баз Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Remove Databases from Projects

Visual FoxPro 9.0
Как: удалять базы данных из проктов
Смотрите также

Вы можете удалить базу данных из проекта или навсегда удалить ее с диска. Вывод базы данных из проекта не означает автоматического удаления базы данных. Удаление базы данных используя описанные шаги, предоставляет Visual FoxPro удалить информацию об обратных связях в таблицах баз данных.

Note Замечание

Использование прочих методов, таких как поиск файлов баз данных и удаление их с помощью Windows Explorer не удаляет информацию об обратных связях.

Для вывода базы данных из проекта

  1. Откройте проект в окне Project Manager.

  2. В Project Manager откройте закладку Data затем распахните узел Databases.

  3. Щелкните по базе данных, которую вы желаете удалить, затем по Remove.

    Visual FoxPro запросит вас о решении - вывести базу данных из проекта или удалить ее с диска.

  4. В диалоговом окне подтверждения выполните одно из приведенного ниже:

    • Для вывода базы данных из проекта, щелкните по Remove.

    - или -

    • Для удаления базы данных с диска, щелкните по Delete.

Для программного удаления базы данных

  • Используйте команду DELETE DATABASE.

    Note Замечание

    DELETE DATABASE не удаляет таблицы баз данных с диска. Вместо этого, таблицы баз данных становятся свободными таблицами.

    Note Совет

    Для удаления базы данных и ее файлов и с диска используйте команду DELETE DATABASE с ключевым словом DELETETABLES.

Для получения более подробной информации смотрите описание команды DELETE DATABASE.

Например, приведенный ниже пример кода удаляет базу данных с именем MyDatabase с диска:

CopyCode image Скопировать код
DELETE DATABASE MyDatabase

Смотрите также

Прочие ресурсы

Создание баз данных
Управление базами данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: View Database Structure

Visual FoxPro 9.0
Как: Просмотреть Структуру Базы Данных
См. также

В то время, как системная служба Дизайнер Баз Данных показывает визуальное представление ее компонент, в некоторых случаях требуется исследовать структуру хранения информации о компонентах Базы Данных в файле (.dbc), это таблица. В этой таблице каждая запись соответствует различным компонентам Базы Данных: Таблицам, Представлениям, Индексам, индексным Тэгам, постоянным Реляционным Отношениям (связям), Соединениям с удаленными источниками данных, а также описаниям дополнительных свойств каждого поля рассматриваемых таблиц и хранимым процедурам, триггерам ит.д.... Дополнительно См. раздел Структура файла Таблицы (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

Для исследования структуры Базы данных моэжно просмотреть ее, как Таблицу.

Для просмотра файла Базы Данных

  1. Закройте Базу Данных.

  2. Используйте команду USE, указав имя файла базы данных, вместе с расширением (.dbc), и укажите опцию EXCLUSIVE - для монопольного открытия данной таблицы.

  3. Далее: выполните команду BROWSE - для вывода системного окна просмотра таблицы.

    Caution note Предупреждение

    Не рекомендуется использовать команду BROWSE для внесения изменений в те элементы, которые плохо вам понятны. Если произойдет ошибка, то структура базы данных может быть разрушена, данные потеряны. Вместо этого используйте команду MODIFY STRUCTURE - для модификации структур таблиц. Дополнительно См. раздел Как: Расширить файлы Баз Данных.

Например, в следующих строках выполняется просмотр файла-таблицы Базы Данных с именем MyDatabase:

CopyCode image Копировать Код
CLOSE MyDatabase
USE MyDatabase.dbc EXCLUSIVE
BROWSE

См. также

Другие ссылки

Управление Базами Данных
Разработка Баз Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Extend Database Files

Visual FoxPro 9.0
Как: расширить файлы базы данных
Смотрите также

Каждая запись в файле базы данных (.dbc) имеет мемо-поле с именем User. Вы можете использовать это поле для хранения дополнительной информации о каждой записи в файле базы данных. Кроме того, вы можете добавлять свои поля в конец файла базы данных.

Note Замечание

Для изменения структуры файла базы данных, вы должны открыть файл базы данных, как таблицу в монопольном режиме.

Caution note Предупреждение

Не меняйте любые существующие поля в файле базы данных, которые определены Visual FoxPro. Любые сделанные вами изменения могут подействовать на целостность (в смысле - validity) вышей базы данных.

Для добавления поля в файл базы данных

  1. Закройте базу данных.

  2. Используйте команду USE с именем файла базы данных, включая расширение файла .dbc и ключевое слово EXCLUSIVE.

  3. Далее впечатайте в командном окне и исполните команду MODIFY STRUCTURE.

    Откроется табличный дизайнер с файлом базы данных, открытой как таблица.

Теперь вы можете добавлять поля в файл базы данных.

Note Совет

Когда вы добавляете новое поле в файл базы данных, начинайте имена своих вводимых полей с буквы "U" для определения их, как ваших собственных, пользовательских полей. Такое "распознавание" предохранить ваши поля от возможных конфликтов с любыми будущими расширениями в файлах баз данных.

Например, приведенный ниже код сначала закроет базу данных MyDatabase, откроет файл базы данных MyDatabase.dbc эксклюзивно (в монопольном режиме) и, затем, откроет дизайнер таблиц с тем, чтобы вы могли ввести свои поля в файл:

CopyCode image Скопировать код
CLOSE MyDatabase
USE MyDatabase.dbc EXCLUSIVE
MODIFY STRUCTURE

Смотрите также

Задачи

Как: просмотреть структуры базы данных

Прочие ресурсы

Управление базами данных
Разработка баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Tables (Visual FoxPro)

Visual FoxPro 9.0
Working with Tables (Visual FoxPro)

Visual FoxPro использует таблицы в формате строки и колонки. Эти строки и колонки известны как записи и поля. Построение базы данных, включает в себя создание таблиц. При разработка дизайна вашей базы данных, вы определяете элементы, которые вам необходимы в базе данных, такие, как таблицы, поля и отношения, которые будут использоваться вашим приложением. При создании таблиц, вы делаете более конкретные выборы, относящиеся к деталям этих элементов, например, типы данных, заголовки и, возможно, значения по умолчанию для каждого поля, триггеры для каждой таблицы, а также табличные индексы, необходиые для установки отношений между таблицами.

В этом разделе

Создание таблиц

Знакомство с таблицами и рассуждения по-поводу их создания.

Управление таблицами

Описываются задачи по управлению таблицами и работе с ними.

Работа с полями

Знакомство с созданием и работой с полями в таблицах.

Работа с записями

Знакомство с записями, с тем, как их просмотреть и как использовать их для хранения данных в таблицах.

Работа с табличными индексами

Объясняется, как управлять порядком представления данных и увеличить скорость обработки данных в таблицах с помощью создания индексов.

Работа с правилами проверки

Знакомство с правилами проверки для управления данными, вводимыми в таблицы базы данных.

Использование триггеров

Дается описание триггеров и как они могут быть использованы, а также указание на статьи по их созданию, изменению, перемещению и удалению.

Связанные разделы

Работа с данными

Объясняется, как создавать эффективные приложения с индексами, таблицами и базами данных на основе ваших требований к данным.

Разработка баз данных

Описывается, как использовать базы данных в Visual FoxPro для установки отношений между таблицами, применения ссылочной целостности и обслуживании локальных и удаленных данных.

Импортирование и экспортирование данных

Описывается, как копируется информация между Visual FoxPro и другими приложениями с помощью импорта и экспорта данных.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Creating Tables

Visual FoxPro 9.0
Создание таблиц

Вы можете создать таблицы для хранения данных в формате строк и колонок. В зависимости от ваших потребностей, вы можете создавать свободные таблицы или таблицы ассоциированные с контейнером базы данных. В статьях подсказки, ссылки на которые приведены ниже, содержится информация объясняющая принципы создания таблиц, определение полей и их аттрибутов, что собственно и составляет структуру таблицы.

В этом разделе

Создание таблицы

Знакомит с таблицами и преимуществами использования таблиц для хранения данных.

Как: создать свободные таблицы

Описывается создание свободной таблицы.

Как: создать таблицы базы данных

Описывается создание таблиц, ассоциированных с базами данных.

Как: именовать таблицы

Описывается как указывать имена для таблиц или длинные имена для таблиц базы данных.

Как: редактировать структуру таблицы

Описывается как редактировать табличную структуру, которая состоит из полей, их аттрибутов, индексов и прочей табличной информации.

Справочное руководство

Мастер таблиц (Table Wizard)

Предоставляет вам возможность создавать таблицы, используя мастера таблицы.

Дизайнер таблиц (Visual FoxPro)

Предоставляет вам возможность создавать поля структуры таблиц, начиная с пустой таблицы или изменять структуру существующих таблиц.

Язык управления таблицами

Перечисляет команды, которые вы можете использовать для работы с таблицами.

Связанные разделы

Управление таблицами

Обсуждаются задачи, которые вы можете выполнять для управления таблицами.

Работа с таблицами (Visual FoxPro)

Знакомит с созданием и работой с таблицами.

Усиление бизнес-логики

Описывется как усилить бизнес-логику приложений с помощью создания правил проверки на уровне полей и записей.

Использование триггеров

Знакомит с использованием триггеров, которые вызываются при модификации записей таблицы с использованием команд управления данными.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Table Creation

Visual FoxPro 9.0
Создание таблицы
Смотрите также

Таблицы хранят данные в формате строк и колонок, аналогично крупноформатным таблицам или листам таблиц Excel. Каждая строка представляет запись, а каждая колонка представляет поле в каждой запис. Таблицы в Visual FoxPro могут существовать в виде свободных таблиц или в виде таблиц базы данных.

Свободная таблица представляет собой файл (.dbf), который не связан ни с одной базой данных. Таблица базы данных представляет собой табличный файл, который связан с базой данных. Таблицы базы данных могут иметь свойста, которые невозможно для свободных таблиц, такие, как, например, правила на уровнях поля и записи, триггеры и постоянные отношения. Приведенный ниже список включает в себя некоторые преимущества, которые предлагает таблица базы данных:

  • Длинные имена для таблиц и для каждого поля в таблице.

  • Заголовки и комментарии для каждого поля таблицы.

  • Значения по умолчанию, маски ввода и форматы для полей таблицы.

  • Класс элемента управления, используемого по умолчанию для каждого поля таблиц.

  • Правила проверки на уровне поля (Field-level) и записи (record-level).

  • Индексы первичных ключей и отношения таблицы для поддержки правил ссылочной целостности.

  • По одному триггеру для каждого события INSERT, UPDATE или DELETE.

Однако, свободные таблицы также являются полезными для хранения информации вне базы данных. Например, вы можете использовать свободные таблицы для хранения поисковой информации, которую совместно используют несколько баз данных. Для получения более подробной информации о преимуществах связывания таблиц с базами данных смотрите описание Базы данных в Visual FoxPro.

Для просмотра образца таблицы откройте один из табличных файлов (.dbf) базы данных Northwind, расположенной в каталоге Visual FoxPro ...\Samples\Northwind. Для получения более подробной информации смотрите описание задачи Как: просмотреть записи в таблицах.

Соображения для создания таблицы

При создании таблиц помните приведенные ниже соображения:

  • Убедитесь, что тип данных поля соответствует типу информации, которую вы собираетесь хранить в каждом поле.

  • Убедитесь, что поле достаточно большое для размещения в нем информации и ее отображения.

  • Установите подходящее число десятичных чисел для полей с типами данных Numeric или Float.

  • Убедитесь, что поля, которые могут принимать null-значения сконфигурированы для акцептирования их.

Смотрите также

Задачи

Как: создавать свободные таблицы
Как: создавать таблицы базы данных

Прочие ресурсы

Создание таблиц
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Create Database Tables

Visual FoxPro 9.0
Как: создавать таблицы базы данных
Смотрите также

Вы можете использовать мастер (wizard) для помощи в создании таблицы базы данных или вы можете создать пустую таблицу базы данных. Мастер поможет вам создать таблицу с помощью серии вопросов и ваших ответов на них.

Note Замечание

Когда вы создаете таблицу базы данных с открытой базой данных, таблица базы данных автоматически связывается с открытой базой данных. Если открыто множество баз данных, то таблица связывается с открытой базой данных, которая установлена в качестве текущей базы данных. Ассоциация таблиц с базой данных хранится в виде обратной связки в заголовочной записи таблицы. Для получения более подробной информации смотрите описания Базы данных в Visual FoxPro и Как: открыть базы данных.

Когда создаете таблицу, то создается табличный файл (.dbf). Для получения более подробной информации об именовании таблиц смотрите описание задачи Как: именовать таблицы.

Для создания таблицы базы данных с использованием мастера

  1. Откройте базу данных, в которой вы желаете создать таблицу.

  2. В меню Database щелкните на Create Table.

  3. В диалоговом окне New Table щелкните по Table Wizard.

  4. Следуйте инструкциям на экранах мастера.

Для получения более подробной информации смотрите описание Мастер таблиц (Table Wizard).

Вы, кроме того, можете запустить мастер из проекта в Project Manager распахиваением узла Data, узла Databases и затем узла вашей базы данных. Щелкните на узле Tables и затем на New. В диалоговом окне New Table щелкните на Table Wizard. Для получения более подробной информации смотрите описание Окно Project Manager.

Для создания пустой таблицы базы данных

  1. Откройте базу данных, в которой вы желаете создать таблицу.

  2. В меню Database щелкните на Create Table.

  3. В диалоговом окне New Table щелкните на New Table.

  4. В диалоговом окне Create выберите место на диске, где вы желаете сохранить файл таблицы базы данных и впечатайте имя для таблицы.

  5. Щелкните на Save.

    Откроется дизайнер таблиц (Table Designer) в котором вы сможете определить поля таблицы, ее элементы и прочие аттрибуты.

Для получения более подробной информации смотрите описание Дизайнер таблиц (Table Designer) (Visual FoxPro).

Для создания таблицы базы данных в проекте

  1. Откройте проект с базой данных в Project Manager.

  2. В Project Manager распахните узел Data, затем узел Databases и затем узел вашей базы данных.

  3. Щелкните по узлу Tables, затем по New и затем по New Table.

  4. В диалоговом окне Create выберите место на диске, где вы желаете сохранить файл таблицы базы данных и впечатайте имя для таблицы.

  5. Щелкните на Save.

    Откроется дизайнер таблиц (Table Designer) в котором вы сможете определить поля таблицы, ее элементы и прочие аттрибуты.

Для получения более подробной информации смотрите описания Окно Project Manager и Дизайнер таблиц (Table Designer) (Visual FoxPro).

Для программного создания таблицы базы данных

  1. Откройте базу данных, в которой вы желаете создать таблицу.

  2. Выполните одно из приведенного ниже:

    • Для создания таблицы с помощью Table Designer используйте команду CREATE.

      - или -

    • Для создания таблицы без участия Table Designer используйте команду SQL CREATE TABLE.

Для получения более подробной информации смотрите описания Команда CREATE и Команда CREATE TABLE - SQL.

Смотрите также

Задачи

Как: редактировать структуру таблицы

Прочие ресурсы

Работа с таблицами (Visual FoxPro)
Создание таблиц

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Create Free Tables

Visual FoxPro 9.0
Как: создать свободную таблицу
Смотрите также

Вы можете создать свободные таблицы, используя мастер (wizard) или как пустую таблицу. Мастер поможет вам создать таблицу используя ваши ответы на серию вопросов.

Когда вы создаете таблицу, создается файл (.dbf) для ее хранения. Для получения подробной информации о наименовании таблиц смотрите задачу Как: называть таблицы.

Для создания таблиц с использованием мастера (wizard)

  1. В меню File щелкните New.

  2. В диалоговом блоке New выберите Table, затем Wizard.

  3. Следуйте инструкциями на экранах мастера.

Для получения подробной информации смотрите Table Wizard.

Вы можете, кроме того, запустить мастера из проекта в Project Manager путем распахивания узла Data, щелчка на узле Free Tables и затем на New. В диалоговом блоке New Table щелкните на Table Wizard. Для получения подробной информации Project Manager Window.

Для создания пустой свободной таблицы

  1. В меню File щелкните New.

  2. В диалоговом блоке New щелкните на Table и затем на New file.

  3. В диалоговом блоке Create выберите место на диске, в котором вы желаете сохранить файл и напечатайте имя для таблицы.

  4. Щелкните на Save.

    Откройте дизайнер аблицы где вы можете определить поля таблицы, индексы и прочие аттрибуты.

Для получения подробной информации смотрите Table Designer (Visual FoxPro).

Для создания свободной таблицы в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager, распахните узел Data.

  3. Щелкните по узлу Free Tables и затем на New.

  4. В диалоговом блок New Table щелкните на New Table.

  5. В диалоговом блоке Create выберите место на диске, в котором вы желаете сохранить файл и напечатайте имя для таблицы..

  6. Щелкните на Save.

    Откройте дизайнер аблицы где вы можете определить поля таблицы, индексы и прочие аттрибуты.

Для получения подробной информации смотрите Project Manager Window и Table Designer (Visual FoxPro).

Для создания свободной таблицы программным путем

  • Выполните одно из приведенных ниже:

    • Для создания таблицы с помощью Table Designer закройте любые открытые базы данных и в командном окне напечатайте команду CREATE.

    -или-

    • Для создания таблицы без использования дизайнера Table Designer, используйте команду SQL CREATE TABLE. Если открыта какая-нибудь база данных, включите в команду ключевое слово FREE.

Для получения подробной информации смотрите CREATE Command и CREATE TABLE - SQL Command.

Смотрите также

Задачи

Как: редактировать структуру таблицы

Концепции

Создание таблицы

Прочие ресурсы

Создание таблиц
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Name Tables

Visual FoxPro 9.0
Как: именовать таблицы
Смотрите также

Когда вы создаете таблицу, вам необходимо указать имя для табличного файла (.dbf), который будет хранить вашу таблицу. Как таблицы баз данных, так и свободные таблицы требуют имен табличных файлов. Имена таблиц должны начинаться буквы или значка подчеркивания (_) и могут содержить буквы, цифры и значки подчеркивания.

Если ваша таблица принадлежит базе данных, вы можете указать длинное имя таблицы, которое может содержать до 128 символов, в дополнение к имени табличного файла. Вы можете использовать длинные имена таблиц вместо отвечающих соглашению по наименованию имен файлов для более простой идентификации таблиц в базе данных. Visual FoxPro отображает длинные имена таблиц, когда они появляются в интерфейсе Visual FoxPro, например, в Project Manager, в Database Designer, в Query Designer и во View Designer, а также в заголовке окна просмотра таблиц "browse".

Note Замечание

Если вы удалите таблицу из базы данных, таблица останется в своем файле, но больше не будет иметь длинного имени.

Для присвоения длинного имени таблицы базы данных

  1. Откройте таблицу базы данных в Table Designer.

  2. В Table Designer перейдите на закладку Table.

  3. В боксе Name впечатайте желаемое длинное имя таблицы.

Для присвоения длинного имени таблицы базы данных программно

  • Используйте опцию NAME при создании таблицы базы данных с помощью команды SQL CREATE TABLE.

Для получения более подробной информации смотрите описание Дизайнер таблиц - Table Designer (Visual FoxPro) и Команда CREATE TABLE - SQL.

Переименование таблиц

Вы можете переименовать длинные имена для таблиц баз данных, а также имена табличных файлов, как таблиц баз данных, так и свободных таблиц. Вы можете переименовать длинные имена для таблиц баз данных с помощью Table Designer, потому, что вы изменяете ее длинное имя, а не имя ее файла. Вы можете переименовать свободные таблицы только программным способом, так как свободные таблицы не имеют длинных имен.

Для изменения длинного имени таблицы базы данных

  1. Откройте базу данных в Database Designer.

  2. Найдите желаемую таблицу и сделайте ее активной.

  3. В меню Database щелкните на Modify.

  4. В Table Designer щелкните на закладке Table.

  5. В боксе Name впечатайте новое длинное имя таблицы.

Для получения более подробной информации смотрите описания Дизайнер баз данных - Database Designer (Visual FoxPro) and Дизайнер таблиц - Table Designer (Visual FoxPro).

Для програмнного переименования таблицы базы данных

  1. Установите базу данных, содержащую желаемую таблицу текущей.

  2. Используйте команду RENAME TABLE.

Для получения более подробной информации смотрите описание Комагды RENAME TABLE.

Для програмнного переименования свободной таблицы

  • Используйте команду RENAME.

    Caution note Предупреждение

    Не используйте команду RENAME на таблицах баз данных. RENAME не обновляет обратную ссылку к базе данных и может вызвать ошибку при обращении к таблице. Используйте вместо этого команду RENAME TABLE.

Для получения более подробной информации смотрите описание Команда RENAME.

Смотрите также

Задачи

Как: создавать таблицы базы данных
Как: создавать свободные таблицы

Прочие ресурсы

Создание таблиц
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Edit Table Structure

Visual FoxPro 9.0
Как: редактировать структуру таблиц
Смотрите также

Вы можете редактировать структуру таблицы, которая определяет как поля и их аттрибуты, так и индексы таблицы.

Для редактирования структуры свободной таблицы

  1. В меню файл File шелкните на Open.

  2. В диалоговом окне Open найдите и выберите файл желаемой таблицы (.dbf) и шелкните на OK.

  3. Во View шелкните на Table Designer.

    Откроется дизайнер таблиц, в котором вы можете изменить аттрибуты полей, идексов и таблицы.

Для получения более подробной информации смотрите описание Table Designer (Visual FoxPro).

Для редактирования структуры таблицы базы данных

  1. Откройте базу данных в Database Designer.

  2. В Database Designer шелкните на желаемой таблице.

  3. В меню Database шелкните на Modify.

Откроется Table Designer, в котором вы можете изменить аттрибуты полей, идексов и таблицы.

Для редактирования структуры таблицы в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager распахните узел Data.

  3. Выберите одно из приведенного ниже:

    • распахните узел Databases, затем узел Tables и шелкните на желаемой таблице.

    - или -

    • распахните узел Free Tables и шелкните на желаемой таблице.

  4. В Project Manager шелкните на Modify.

    Откроется Table Designer, в котором вы можете изменить аттрибуты полей, идексов и таблицы.

Для получения более подробной информации смотрите описание Table Designer (Visual FoxPro).

Для программного редактирования структуры таблицы

  1. Откройте таблицу командой USE.

  2. Выберите одно из приведенного ниже:

    • Для редактирования структуры таблицы с помощью дизайнера таблиц используйте команду MODIFY STRUCTURE.

      - или -

    • Для редактирования структуры таблиц без помощи дизайнера таблиц используйте команду SQL ALTER TABLE.

Для получения более подробной информации смотрите описания Команда USE, Команда MODIFY STRUCTURE и Команда ALTER TABLE - SQL.

Смотрите также

Задачи

Как: просмотреть записи в таблицах

Прочие ресурсы

Работа с таблицами (Visual FoxPro)
Создание таблиц

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Managing Tables

Visual FoxPro 9.0
Управление таблицами

Вы можете производить различные задачи для управления таблицами.

В этом разделе

Как: открыть таблицы (Visual FoxPro)

Описывается - как открыть свободные таблицы, таблицы базы данных и таблицы в ппроектах.

Как: копировать таблицы

Описывается как копировать структуру и содержимое таблицы в новую таблицу.

Как: как сохранить таблицу в виде HTML

Описывается как сохранить содержание таблицы в виде HTML.

Как: закрыть таблицы

Описывается как закрыть таблицы.

Как: удалить таблицы

Описывается как удалять таблицы.

Управление таблицами в сессиях данных

Описывается как управлять таблицами в сессиях данных, таких как отдельные окружения для форм, набором форм или отчетов.

Связанные разделы

Создание таблиц

Знакомство с созданием таблиц и размышления по-поводу создания таблиц.

Создание баз данных

Описывается создание баз данных и работа с таблицами, ассоциированными с базами данных.

Работа с таблицами (Visual FoxPro)

Обсуждается, как создавать структуру ваших таблиц так, чтобы она отвечала требованиям вашего приложения. Выбор типов и индексов являются основой успеха вашего приложения.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Open Tables (Visual FoxPro)

Visual FoxPro 9.0
How to: Open Tables (Visual FoxPro)
Смотрите также

Для того, чтобы работать с таблицами и вводить в них данные, вы должны сначала открыть их.

Для того, чтобы открыть свободную таблицу

  1. В меню File щелкните на Open.

  2. В диалоговом окне Open найдите и выберите файл таблицы (.dbf), который вы желаете открыть и щелкните на OK.

    Таблица откроется, хотя это и не будет видно на экране.

Для отображения записей в таблице откройте окно просмотра - browse. Для отображения структуры таблицы откройте дизайнер таблиц (Table Designer). Для получения более подробной информации смотрите описания Как: просмотреть записи в таблицах и Как: редактировать структуру таблицы.

Для того, чтобы открыть таблицу базы данных

  1. Откройте базу данных в дизайнере баз данных - Database Designer.

  2. Щелкните на таблице, которую вы желаете открыть.

  3. Для открытия таблицы выполните одно из приведенного ниже:

    • Откройте окно просмотра для таблицы.

    - или -

    1. В меню Window щелкните на Data Session.

    2. В окне Data Session щелкните на Open.

      Появится диалоговое окно Open.

    3. В списке Tables in database щелкните на таблице, которую вы желаете открыть и, затем, щелкните на OK.

      Выбранная вами таблица откроется и покажется в окне Data Session.

Для получения более подробной информации смотрите описания Как: просмотреть записи в таблицах и Управление таблицами в сессиях данных.

Для того, чтобы открыть таблицу в проекте

  1. Откройте проект в Project Manager.

  2. В Project Manager распахните узел Data.

  3. Выберите таблицу базы данных или свободную таблицу:

    • Для того, чтобы открыть таблицу базы данных, распахните узел Databases, затем узел базы данных, содержащей искомую таблицу, затем узел Tables щелкните на на желаемой таблице.

      Note Замечание

      Двойной щелчок по левой клавише мыши на таблице открывает дизайнер таблиц Table Designer. Для получения более подробной информации смотрите описание Создание таблиц.

      - или -

    • Для того, чтобы открыть свободную таблицу, распахните узел Free Tables и щелкните на желаемой таблице.

  4. Для просмотра таблицы, в меню View щелкните на Browse. Для того, чтобы открыть таблицу в сессии данных, выполните приведенные ниже действия:

    1. В меню Window щелкните на Data Session.

    2. В окне Data Session щелкните на Open.

      Откроется диалоговое окно Open.

    3. В списке Tables in database щелкните на желаемой таблице и, затем, щелкните на OK.

      Выбранная вами таблица откроется и появится в окне Data Session.

Для получения более подробной информации смотрите описания Как: просмотреть записи в таблицах и Управление таблицами в сессиях данных.

Для того, чтобы открыть таблицу программно

  • Используйте команду USE.

Для получения более подробной информации смотрите ее описание в Команда USE.

Смотрите также

Прочие ресурсы

Работа с таблицами (Visual FoxPro)
Управление таблицами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Copy Tables

Visual FoxPro 9.0
Как копировать таблицы
См.также

Вы можете копировать таблицы в два шага:

  1. Скопировать структуру таблицы.

  2. Скопировать данные из исходной таблицы в результирующую.

Для копирования структуры таблицы

  1. Откройте исходную таблицу с помощью команды USE.

  2. Скопируйте структуру исходной таблицы и создайте результирующую таблицу одним из следующих способов:

    • Чтобы скопировать только структуру таблицы не включая в неё информацию о значениях полей по умолчанию, триггерах и правилах validation rule, воспользуйтесь командой COPY STRUCTURE.

    • Чтобы скопировать структуру таблицы вместе со значениями полей по умолчанию, триггерами и правилами validation rule, воспользуйтесь командой COPY STRUCTURE EXTENDED.

Для дальнейшей информации см. Команда USE, Команда COPY STRUCTURE, Команда COPY STRUCTURE EXTENDED.

Для копирования данных между таблицами

  1. Откройте исходную и результирующую таблицы при помощи команды USE.

  2. Скопируйте данные из исходной таблицы в результирующую при помощи команды APPEND FROM.

Для дальнейшей информации см. Команда USE Command и Команда APPEND FROM.

См.также

Как отредаткировать структуру таблицы
Работа с таблицами
Управление таблицами

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Save a Table as HTML

Visual FoxPro 9.0
Как: Сохранить таблицу в формате HTML
См. также

Когда Вы просматриваете таблицу данных, вы можете сохранить ее содержание в формате файла HTML.

Для сохранения таблицы в формате HTML

  1. Откройте таблицу в окне browse.

  2. В меню File, нажмите опцию Save As HTML.

  3. В диалоговом боксе Save As HTML, уточните необходимые параметры.

  4. Для задания другого имени сохраняемого файла используйте кнопку ellipsis (...) - многоточие. Или нажмите OK.

См. дополнительно раздел Как: Просмотреть записи в таблице.

См. также

Задачи

Как: Копировать таблицы

Другие ссылки

Работы с таблицами (Visual FoxPro)
Управление таблицами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Close Tables

Visual FoxPro 9.0
Как: Закрыть Таблицу
См. также

Когда Вы завершили работу с таблицами, закройте их.

Для закрытия таблицы

  1. В меню Window, выберите пункт Data Session.

  2. В окне Data Session, в списке алиасов открытых таблиц - выберите нужную, нажмите кнопку Close.

    Таблица будет закрыта.

Для закрытия таблицы программным способом

  • Используйте команду CLOSE с опцией TABLES .

    Note Примечание

    CLOSE TABLES закрывает все таблицы в текущей Базе Данных или все "свободные" таблицы (не закрепленные за базой данных), во всех рабочих областях .

См. дополнительно раздел команды CLOSE.

См. также

Задачи

Как: Удалить Таблицу

Другие ссылки

Работа с Таблицами (Visual FoxPro)
Управление Таблицами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Delete Tables

Visual FoxPro 9.0
Как: Удалить Таблицу
См. также

Вы можете исключить таблицу из контейнера База Данных, или удалить ее с диска, если таблица больше не потребуется. См. дополнительно раздел Как: Исключить таблицу из Базы Данных.

Note Обратите Внимание

Если вы удаляете файл таблицы, то вам нужно убедиться что удалены также связанные файлы: файл для хранения полей типа MEMO (.FPT), или структурный индекс (.cdx), или другие независимые индексные файлы.

Для исключения или удаления свободной таблицы

  1. Откройте Проект вашего приложения в системной службе Project Manager.

  2. В окне Project Manager, раскройте раздел Data, далее подраздел Free Tables.

  3. В подразделе Free Tables, выберите нужную таблицу, нажмите кнопку Remove.

    В появившемся диалоговом боксе Подтверждения выберите требуемую операцию: remove (исключения) или delete (удаления).

  4. Конкретно: в этом диалоговом боксе:

    • Для исключения из Проекта - нажмите Remove.

      -или-

    • Для удаления таблицы с диска - нажмите Delete.

Дополнительно См. раздел Системное окно Project Manager.

Для удаления свободной таблицы с диска программным способом

  1. Закройте таблицу с помощью команды CLOSE, с ключевым словом TABLES.

  2. Удалите файл таблицы с помощью команды DELETE FILE или командой ERASE.

Дополнительно См. разделы DELETE FILE, команда и ERASE, команда.

См. также

Другие ссылки

Работа с Таблицами в системе (Visual FoxPro)
Управление Таблицами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Managing Tables in Data Sessions

Visual FoxPro 9.0
Управление таблицами в сессиях данных

Когда у вас имеется множество таблиц, вы можете использовать сессии данных для управления, к которым могут иметь доступ формы и рабочие области, для определения - какие таблицы открыты в сессиях данных.

В этом разделе

Рабочие области в сессиях данных

Знакомит с использованием рабочих областей (work areas) в сессиях дааных и с табличными псевдоименами (aliases) для идентификации открытых таблиц.

Временные отношения между таблицами

Знакомит, как перемещать указатель записи в таблице, когда он перемещается в другой таблице путем установки временного отношения между таблицами.

Как: открыть таблицы в рабочих областях

Описывает - как открыть таблицы в рабочих областях.

Как: создать и использовать псевдоимена таблиц

Описывает - как создать определенные пользователем псевдоимена и ссылаться к таблицам в других рабочих областях с помощью псевдоимен.

Как: установить временные отношения между таблицами

Описывает - как установить временные отношения между таблицу или в одной таблице.

Как: закрыть таблицы в рабочих областях

Описывает - как закрыть таблицы в рабочих областях.

Связанные разделы

Создание баз данных

Описывает создание баз данных и работу с таблицами, ассоциированными с базами данных.

Создание таблиц

Знакомит с созданием таблиц и обсуждением для создания таблиц.

Управление таблицами

Обсуждаются задачи, которые вы можете выполнять дляя управления таблицами.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Work Areas in Data Sessions

Visual FoxPro 9.0
Рабочие области в сессиях данных
Смотрите также
CollapseAll image

Рабочая область (work area) представляет собой пронумерованную область, которая идентифицирует открытую таблицу, ее инедксы и ее отношения к другим таблицам в сессии данных. Сессия данных (data session) представляет собой текущее динамическое рабочее окружение, используемое формой, набором форм или отчетом. Когда вы используете сессии данных, Visual FoxPro автоматически предоставляет отдельное, изолированное окружение для каждого экземпляра формы или набора форм. Каждая сессия данных содержит набор рабочих областей. Для получения более подробной информации о сессиях данных смотрите описание задач Как: использовать сессии данных и Как: просмотреть открытые таблицы в сессиях данных.

В Visual FoxPro вы можете открыть и управлять таблицами в 32,767 рабочих областях. Рабочие области обычно идентифицируются в вашем приложении по ее номеру или по псевдоимени таблицы, которая открыта в рабочей области. Для получения более подробной информации смотрите описание задач Как: открыть таблицы в рабочих областях и Как: закрыть таблицы в рабочих областях.

Псевдоимя таблицы (alias) представляет собой имя, которое соотносится с таблицей, открытой в рабочей области. Использование псевдоимен таблиц или просто имен позволяет точно идентифицировать желаемую таблицу независимо от рабочей области, в которой она открыта. Вы можете использовать псевдоимена таблиц в программнои языке Visual FoxPro.

Когда вы открываете таблицу, Visual FoxPro автоматически использует имя таблицы в качестве ее псевдоимени по умолчанию. Visual FoxPro, кроме того, автоматически присваивает таблице свое собственное псевдоимя при следующих ситуациях:

  • Когда вы открываете таблицу одновременно во множестве рабочих областей вызовом команды USE с клюевым словом AGAIN без явного указания псевдоимени при открытии таблицы в каждой рабочей области.

  • Когда возникает конфликт между псевдоименами.

Псевдоимена, присваиваемые Visual FoxPro по умолчанию в первых 10 рабочих областях, представляет собой буквы латинского алфавита от "A" до "J". Начиная с одиннадцатой области псевдоимена присваиваются с указанием префикса "W" со следующим за ним номером области - от W11 до W32767. Вы можете использовать эти псевдоимена для обращения к таблицам, открытым в рабочих областях. Для получения более подробной информации смотрите описание задачи Как: создать и использовать псевдоимена таблиц.

Expand image Смотрите также

Концепции

Временные отношения между таблицами

Прочие ресурсы

Управление таблицами в сессиях данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Temporary Relationships Between Tables

Visual FoxPro 9.0
Временные отношения между таблицами
Смотрите также

Вы можете использовать работчие области и псевдоимена таблиц для создания временных отношений между таблицами. Временные отношения вызыват следование указателя записи в одной таблице, известной как дочерняя таблица, перемещению указателя записи в другой таблице, известной как родительская таблица. Например, предположим, что вы желаете установить отношение между таблицей потребителей и таблицей заказов так, чтобы когда вы перемещались бы по записям в таблице потребителей по конкретным потребителям указатель записи в таблице заказов перемещался бы к записи с тем же номером потребителя.

Вы можете создать различные отношения между таблиц. Например, в отношении "один-ко-многим" (one-to-many) , вы можете выбрать запись в родительской таблице, или, другими словами, на стороне "один" отношения и обращаться в множеству записей в дочерней таблице или, другими словами, на стороне "многим" отношения. Для получения более подробной информации об отношениях, которые вы можете создать смотрите описание Идентификация отношений.

Обычно, вы можете устанавливать временные отношения между таблицами которые имеют общее поле с помощью связывающего выражения. Такое выражение обычно представляет собой индексное выражение управляющего индекса в дочерней таблице. Поэтому, когда вы будете создавать отношение между родительской таблицей и индексом дочерней таблицы, выборка записи в родительской таблице приведет в куборке только тех записей в дочерней таблице, чьи индексные ключи соответствуют индексному ключу для выбранной вами родительской записи.

После того, как вы откроете таблицы and создадите отношение, вы можете видеть псевдоимена и отношение для этих таблиц в окне Data Session.

Псевдоимена открытых таблиц и временные отношения в окне Data Session

FoxPro Data Session Order

Пояснение к надписям у рисунка - слева-направо и сверху вниз.
Направленная вверх стрелка указывает, что таблица Orders упорядочена по индексу
Список Aliases отображает открытые таблицы
Список Relations показывает временные отношения между таблицами Customer и Orders

Отношения в одиночной таблице

Вы, кроме того, можете создать отношение между записями в одиночной таблице, или само-ссылающееся отношение. Этот тип отношений может быть полезен, когда вся необходимая информация хранится в одной таблице. Например, предположим, что у вас есть таблица работников. С помощью создания само-ссылающеегося отношения в таблице, вы можете выбрать записи работников для тех работников, которые докладывают каждому руководителю по пути навигации по записям руководителей в этой таблице.

Отношения между таблицами в DataEnvironment

Если вы используете форму для работы с таблицами, вы можете использовать окружение данных формы (data environment) для создания и хранения таких отношений в файле формы. Отношения, которые вы создаете в DataEnvironment автоматически открываются при запуске формы. Для получения подробной информации о создании окружения данных смотрите описание Создание форм.

Смотрите также

Задачи

Как: установить временные отношения между таблицами

Справочное руководство

Рабочие области в сессиях данных

Прочие ресурсы

Управление таблицами в сессиях данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: View Open Tables in Data Sessions

Visual FoxPro 9.0
Как: Просмотреть открытые таблицы в Сессии Данных
См. также

Вы можете просмотреть список таблиц, открытых в текущей Сессии Данных. См. дополнительно раздел Как: Использовать Сессии Данных.

Для просмотра таблиц в сессии данных

  • В системном меню Window, выберите пункт Data Session.

    -или-

  • Выполните команду SET , без дополнительных аргументов.

Отображается системное окно Data Session, в котором указана текущая сессия данных, список алиасов открытых таблиц, и другая информация о сессии данных.

См. дополнительно разделы: Общее описание команд SET и Системное окно Data Session.

См. также

Задачи

Как: Открыть Таблицу в рабочей области
Как: Создавать и использовать Алиасы таблиц
Как: Установить временные Отношения (связи) между таблицами

Другие ссылки

Управление таблицами в Сессии Данных
Работа с Таблицами (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Open Tables in Work Areas

Visual FoxPro 9.0
Как: Открывать Таблицу в Рабочей Области
See Also

Вы можете открывать таблицы в рабочей области в пределах сеанса данных(data session). Вы можете также ссылаться или перемещаться на следующую доступную рабочую область перед открытием таблицы.Более подробно смотрите Рабочие области в сеансе данных и How to: Use Data Sessions.

Примечание:
Нельзя открыть более одной таблицы в одной и той же области. Если вы откроете другую таблицу в той же самой рабочей области,Текущая таблица закрывается автоматически.

Чтобы открыть таблицу в рабочей области

  1. Откройте таблицы, с которыми вы хотите работать в этом сеансе данных.

  2. В меню Window выберите Data Session.

    Откроется окно Data Session.

  3. В списке Alias выберите область для таблицы, которую вы хотите открыть, и откройте ее Open.

    Таблица в выбранной области открыта.

Чтобы многократно открыть таблицу в рабочих областях

  • В списке Alias в окне Data Session Щеклните на область той же таблицы, и затем открывайте Open.

    Visual FoxPro назначает другой псевдоним для той же таблицы.

Чтобы открыть программно таблицу в рабочей области

  • Используйте команду USE с именем таблицы и номером рабочей области.

    В заключение:
    Чтобы открыть одну и ту же таблицу в другой рабочей области, повторите команду USE с тем же самым именем таблицы и включите ключ AGAIN .

Более подробно смотрите USE Command.

Если вы открываете таблицу из меню File, таблица также открывается в рабочей области.

Чтобы сослаться на следующую рабочую область

  • Используйте команду SELECT и включите номер рабочей области или область таблицы.

Более подробно смотрите SELECT Command.

Смотрите также

Другие ресурсы

How to: Close Tables in Work Areas
How to: Create and Use Table Aliases
How to: Set Temporary Relationships Between Tables
Managing Tables in Data Sessions
Working with Tables

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


How to: Create and Use Table Aliases

Visual FoxPro 9.0
Как: создавать и использовать псевдоимена таблиц
Смотрите также

Когда вы открываете таблицу, Visual FoxPro использует, по умолчанию, ее имя в качестве псевдоимени. При определенных условиях Visual FoxPro присваивает в качестве псевдоимен свои собственные значения. Однко, вы можете создавать свои собственные псевдоимена.

Note Замечание

После привоения вами псевдоимени, вы должны после этого использовать именно его для ссылки на таблицу.

Для присвоения пользовательского псевдоимени таблице

  • Откройте таблицу командой USE, в котором укажите имя таблицы и опцию ALIAS с помощью которой вы определяете желаемое псевдоимя.

Для получения более подробной информации смотрите описание команды USE.

Для обращению к полю в открытой таблице из другой рабочей области

  • Предварите имя поля именем таблицы или псевдоименем, разделив их точной (.) или оператором ->.

Например, предположим, что вы желаете обратиться в полю с именем Contact в таблице с именем Customer, которая открыта в другой рабочей области. Приведенный ниже пример показывает, как вы можете это сделать:

Customer.Contact

Если таблица, к которой вы желаете обратиться открыта с использованием псевдоимени, вы можете использовать это псевдоимя. Например, если таблица Customer открыта с псевдоименем People, то в приведенном ниже примере показано, как обратиться в таком случае к полю с именем Contact:

People.Contact

Смотрите также

Задачи

Как: установить временные отношения между таблицами

Справочное руководство

Рабочие области в сессиях данных

Прочие ресурсы

Управление таблицами в сессиях данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Set Temporary Relationships Between Tables

Visual FoxPro 9.0
Как: установить временные отношения между таблицами
Смотрите также

Вы можете установить временные отношения между открытыми таблицами таким образом, что указатель записи перемещается в одной таблице, указатель записи в другой таблице следует за его перемещениями. Вы, кроме того, можете создать временные отношения в одиночной таблице.

Note Совет

Обычно, вы можете установить временные отношения между таблицами, которые имеют общее поле использя выражение отношения. Выражение отношения обычно представляет индексное выражение управляющего индекса в дочерней таблице.

Для получения более подробной информации смотрите описание Временные отношения между таблицами.

Для создания отношения между таблицами

  1. Откройте таблицы, между которыми вы желаете установить отношения.

  2. В меню Window щелкните на Data Session.

    Откроется окно Data Session.

  3. В списке Aliases щелкните на псевдоимени таблицы, которую вы желаете использовать в качестве родительской таблицы, и затем на Relations.

    Таблица, которую вы выбрали появится в списке Relations с указанием графической линии, указывающей на отношение к дочерней таблице, которую вы выберете в следующем шаге.

  4. В списке Aliases щелкните на таблице, которую вы желаете использовать в качестве дочерней и затем на Relations.

    Note Замечание

    Если индексное упорядочивание для выбранной таблицы не установлено, появится диалоговое окно Set Index Order. Для выбора индексного упорядочивания, щелкните на индексе, который вы желаете установить в дочерней таблице и затем на OK.

    Откроется Expression Builder.

  5. В Expression Builder впечатайте или постройте выражение отношения между родительской и дочерней таблицами. Когда закончите, щелкните на OK.

Для получения более подробной информации смотрите описание Как: открывать таблицы в рабочих областях.

Для создания отношения "один-ко-многим" между таблицами

  1. После того, как вы выберете дочернюю таблицу в окне Data Session шелкните на 1 to many.

  2. В диалоговом окне Create One-to-Many Relationships щелкните на псевдоимени дочерней таблицы и затем на Move.

  3. Когда вы закончите - щелкните на OK.

Для создания отношения в одиночной таблице

  1. Откройте желаемую таблицу в двух отдельных рабочих областях.

  2. В меню Window выберите Data Session.

    Откроется окно Data Session.

  3. В списке Aliases щелкните на псевдоимени, которое будет использоваться в качестве родительской таблицы, затем на Relations.

  4. В списке Aliases щелкните по всевдоимени, которое будет использоваться в качестве дочерней таблицы и затем на Relations.

    Note Замечание

    Если индексное упорядочивание для выбранной таблицы не установлено, появится диалоговое окно Set Index Order. Для выбора индексного упорядочивания, щелкните на индексе, который вы желаете установить в дочерней таблице и затем на OK.

    Откроется Expression Builder.

  5. В Expression Builder впечатайте или постройте выражение отношения между родительской и дочерней таблицами. Когда закончите, щелкните на OK.

Для получения более подробной информации смотрите описание Как: открывать таблицы в рабочих областях.

Для програмнной установки временного отношения между таблицами

  • Используйте команду SET RELATION.

Вы, кроме того, можете использовать SET RELATION для установления отнощений между одной родительской и множеством дочерних таблиц. Вы, кроме того, можете установить отношение между таблицей, открытой в текущей выбранной рабочей области и другой такой же таблицей, открытой в другой рабочей области с помощью команды SET RELATION command. Для получения более подробной информации смотрите описание команды SET RELATION.

Смотрите также

Концепции

Временные отношения между таблицами

Прочие ресурсы

Управление таблицами в сессиях данных
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Close Tables in Work Areas

Visual FoxPro 9.0
Как: Закрыть таблицу в рабочей области
См. также

Вы можете закрыть таблицу в конкретной рабочей области, при помощи контейнера data sessions.

Note Совет

При открытии новой таблицы в данной (текущей) рабочей области, таблица, ранее открытая в отой области, - автоматически закрывается.

Для закрытия таблицы в рабочей области

  1. В меню Window, выберите пункт Data Session.

    Откроется системное окно Data Session.

  2. В списке алиасов открытых таблиц Alias, выберите нужную таблицу, нажмите кнопку Close.

Для закрытия таблицы в рабочей области программным образом

  • Используйте команду USE без аргументов (закроется таблица в текущей рабочей области), или с параметром IN , указав нужный номер рабочей области (или имя алиаса рабочей области), где закрывается таблица.

См. также

Задачи

Как: Открыть Таблицу в рабочей области

Другие ссылки

Управление Таблицами в контейнере Data Sessions
Работа с Таблицами (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Working with Fields

Visual FoxPro 9.0
Работа с полями

После того, как вы создадите таблицу, вам необходимо идентифицировать и создать поля для хранения данных в таблице.

В этом разделе

Создание поля

Введение в поля и обсуждения по поводу их создания.

Как: добавить поля в таблицы

Описывается, как добавить новые поля в таблицы.

Как: наименовать поля

Описывается, как указать имена полей.

Как: выбрать тип данных

Описывается, как указать тип данных для полей.

Как: добавить к полям индексы

Описывается, как указать индексы для полей.

Как: разрешить использование Null значений в полях

Описывается, как указать, что поля могут акцептировать null значения.

Как: создать значения по умолчанию для полей

Описывается, как указать для полей значения по умолчанию.

Как: указать маску ввода для полей

Описывается, как указать единообразное форматирование ввода значений в поля.

Как: форматировать вывод для полей

Описывается, как указать формат вывода для полей.

Как: указать заголовки для полей

Описывается, как изменить текст заголовков колонок полей в окне browse и решеток (grids).

Как: установить для полей используемый по умолчанию класс

Описывается, как установить класс, используемый, по умолчанию, при созданнии объектов и управляющих элементов при вводе полей в формы.

Как: установить значения автоувеличения для полей

Описывается, как установить значения поля, чтобы производилось автоматическое автоувеличение.

Как: добавить комментарии к полям

Описывается, как ввести описание полей в таблице.

Как: запретить доступ к полям

Описывается, как отображать только определенные поля в окне browse.

Как: удалять поля

Описывается, как удалять поля из таблиц.

Предотвращение дублирующих значений в полях

Обсуждается защита от дубликатов в полях.

Автоувеличение значений поля в таблицах

Обсуждаются услвоия для автоматического увеличения значений поля.

Связанные разделы

Работа с таблицами (Visual FoxPro)

Введение в создение и работу в таблицами.

Работа с данными

Предоставляет обзор и информацию об использовании данных в ваших приложениях, например, для анализа требований к данным и разработка компонентов вашего приложения, отвечающих этим требованиям.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Field Creation

Visual FoxPro 9.0
Создание поля
Смотрите также

Вы можете определить поле, указав его имя, тип данных и его ширину. При создании таблицы вам нужно определить поля, которые она будет содержать. Таблицы Visual FoxPro могут содержать до 255 полей.

Note Замечание

Если одно или более полей может хранить null-значения, максимальное число полей снижается с 255 до 254.

Приведенный ниже список описывает общие атрибуты, которые вы указываете при создании поля:

  • Имя поля.

  • Тип данных, которые это поле будет содержать.

  • Ширину поля.

  • Число десятичных знаков, если поле будет содержать численные или значения с плавающей запятой.

  • Индекс для поля.

  • Сможет ли поле принимать null-значения.

Кроме того, при работе по созданию полей вы можете выполнить перечисленные ниже задачи:

  • Указать значения по умолчанию для полей.

  • Добавить для поля комментарий.

  • Указать маску для ввода и хранения данных в поле.

  • Установить значения автоматического увеличения значений в полях.

Приведенные ниже разделы описывают соображения, которые нужно учитывать при создании полей:

  • Соображения по выбору имен для полей

  • Соображения по выбору типа данных

  • Соображения по выбору для полей значений по умолчанию

Соображения по выбору имен для полей

Для полей таблицы базы данных, Visual FoxPro хранит первые 10 символов имени поля в файле таблицы (.dbf), а длинные имена поля - в файле контейнера базы данных (.dbc). Правила для создания длинных имен полей теже самые, что и применяемые для создания любых идентификаторов Visual FoxPro, за исключением того, что имена полей таблицы базы данных могут содержать до 128 символов. Для получения более подробной информации смотрите описание Создание имен в Visual FoxPro.

Однако, пока таблица связана с базой данных, вы должны испольщовать длинные имена полей для ссылок на поля таблицы, а не 10-ти символьные имена полей. Если вы выведите таблицу из базы данных, длинные имена полей таблицы потеряются и, в таком случае, вы должны использовать 10-ти символьные имена полей, хранимые в файле таблицы (.dbf) при ссылках на имена полей.

Если первые 10 символов в длинном имени поля не являются уникальными для таблицы, Visual FoxPro генерирует имя поля, состояищее из первых n символов длинного имени с добавлением последовательных номеров, чтобы достичь общей длины имени поля в 10 символов. В приведенной ниже таблице приведены примеры сгенерированных имен.

Длинное имя | Короткое имя
customer_contact_name | customer_c
customer_contact_address | customer_2
customer_contact_city | customer_3
... | ...
customer_contact_fax | customer11

В индексах, длинные имена молей могут состоят из символов, но не номеров. Однако, если вы создаете индекс с использованием длинных имен полей, а затем выводите такую таблицу из базы данных, то индекс не будет корректно работать. В таком случае, вы можете укоротить имена полей в индексах и затем перестроить его или вы можете сначала удалить индекс, а затем создать его заново, использовав уже короткие имена полей. Для получения более подробной информации смотрите описание Работа с табличными индексами.

Для получения более подробной информации о выборе имен полей смотрите описание задачи Как: именовать поля.

Соображения по выбору типа данных

Когда вы выбираете тип данных для поля, помните о следующих соображениях:

  • Типы значений, которые может хранить поле.

    Например, вы не можете хранить текст в численных полях.

  • Объем хранилища, который требуется полю для хранения значений.

    Например, любые значения с типом Currency используют 8 байт для хранения.

  • Типы операций, которые вы можете выполнять с данными в поле.

    Например, Visual FoxPro может подсчитывать сумму значений с типами Numeric или Currency, но не может суммировать значения с типами Character или General.

    Note Совет

    Для чисел, которые не вовлекаются в математические расчеты, например, для номеров телефонов, используйте тип Character, а не Numeric.

  • Способность индексировать или сортировать значения в полях.

    Например, вы не можете сортировать значения или создавать индекс для полей с типом Memo или General.

Для получения более подробной информации о типах данных Visual FoxPro смотрите Типы данных и полей Visual FoxPro. Для получения более подробной информации о выборе типов данных для полей смотрите описание задачи Как: выбирать типы данных.

Соображения по выбору для полей значений по умолчанию

Указание для полей значений по умолчанию поможет пользователям приложения вводить данные более быстро, так как пользователь может пропускать поля до тех пор, пока не потребуется изменить их значения.

Note Совет

Если бизнес-правила вашего приложения требуют, чтобы поля содержали ввод, предоставление значений по умолчанию поможет отвечать этим правилам с использованием правила уровня поля или уровня записи.

Например, предположим, что компания имеет преимущественно местных потребителей. В форме для ввода данных нового потребителя, вы можете пожелать отображать страну для таких потребителей как значения по умолчанию для поля страны или региона. Если для страны или региона требуеются ввести иные значения, пользователь может заменить значение по умолчанию на нужное значение.

Вы можете указать значения по умолчанию, которые являются значениями коэффициентов, такие как числа или выражения, оцениваемые в количество. Вы можете указать любое допустимое выражение FoxPro, которое возвратит значение, сопоставимое с типом данных поля.

Note Замечание

Когда вы указываете значение по умолчанию, Visual FoxPro оценивает значение по умолчанию или выражение на корректный тип данных, при закрытии редактора структуры таблицы или при использовании команд SQL CREATE TABLE или ALTER TABLE. Если тип данных выражения не соответствует типу данных поля, Visual FoxPro сгенерирует ошибку. Выражения, которые представляют собой ваши собственные функции (UDF) или содержат их, не оцениваются; поэтому в таком случае ошибки не генерируются.

Visual FoxPro вычисляет значение по умолчанию или выражение при использовании команд APPEND, APPEND BLANK или SQL INSERT для присвоения значений полям. При присвоении значения полю с использованием команд APPEND FROM или SQL INSERT, Visual FoxPro применяет значения по умолчанию к любому полю, если для поля в команде не были явно указаны присваемые значения. Однако, эти две команды не замещают существующие значения значениями по умолчанию.

Кроме того, вы можете использовать значения по умолчанию для заполнения полей, которые не принимают null-значений. Когда вы добавляете новую запись, Visual FoxPro применяет значения по умолчанию, затем проверяет каждое поле в порядке, в каком вы их определили в структуре, на отсутствие данных. Это гарантирует, что поля, которые не принимают null-значения могут быть заполнены значениями по умолчанию до применения ограничения, что поле не может содержать null.

Если поля в вашей таблице допускают прием null-значений, вы можете использовать null-значение (.NULL.) в качестве значения по умолчанию. Вне зависимости установлен ли SET NULL в "on" или в "off", если вы используете (.NULL.) в качестве значения по умолчанию, Visual FoxPro вставит (.NULL.) в поля для всех команд, за исключением APPEND BLANK. Для получения более подробной информации смотрите описания команды SET NULL и задачи Как: разрешить хранение Null-значения в полях.

Если вы не указали значения по умолчанию, то в поле будет вставлено пустое (blank) значение соответсвующее типу данных до тех пор, пока команда SET NULL будет установлена в ON. Это обеспечивает совместимость назад.

Note Замечание

Когда вы выводите или удаляете таблицу из базы данных, все значения по умолчанию для полей этой таблицы уничтожаются в базе данных. Однако, хранимые процедуры, на которые ссылаются выведенные или удаленные значения по умолчанию остаютс в базе данных, даже после удаления этих значений по умолчанию.

Для получения более подробной информации об установке значений по умолчанию для полей смотритре описание задачи Как: создать значения по умолчанию для полей.

Смотрите также

Задачи

Как: добавить поля в таблицы

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Fields to Tables

Visual FoxPro 9.0
How to: Add Fields to Tables
Смотрите также

Когда вы открываете таблицу в дизайнере таблиц, закладка Fields отображает отображает рамку для первого поля и добавляет пустую рамку для поля, которое вы можете определить. Вы можете добавлять дополнительные поля в любом порядке, который вам удобен.

Для добавления поля в таблицу

  1. Откройте таблицу в дизайнере таблиц - Table Designer.

  2. На закладке Fields поместите курсор в поле, которое последует за вводимым вами полем.

  3. Щелкните по Insert.

    Появится рамка для нового поля, как раз перед выбранным полем, с именем поля "NewFld", используемым по умолчанию, а также используемыми по умолчанию типом поля и его шириной.

  4. Измените аттрибуты поля в желаемые.

  5. Когда закончите, щелкните по OK.

    Visual FoxPro запросит у вас подтверждения об изменении структуры таблицы.

  6. Для подтвеждения изменений щелкните по Yes.

Для добавления поля в таблицу программным способом

  • Используйте команду SQL ALTER TABLE и включите в нее опцию ADD COLUMN.

Для получения более подробной информации смотрите описание команды ALTER TABLE - SQL.

Например, приведенный ниже пример кода добавляет поле с именем Fax символьного типа и длиной в 10 символов в таблицу customer:

CopyCode image Скопировать код
ALTER TABLE Customer ADD COLUMN Fax C(20)

Смотрите также

Задачи

Как: Редактировать структуру таблицы
Как: именовать поля

Концепции

Создание поля

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Name Fields

Visual FoxPro 9.0
Как: именовать поля
Смотрите также

Вы можете указать имена полей во время созлания таблицы. Для свободных таблиц имена полей могут быть длиной до 10-ти символов. Для таблиц базы данных имена полей могут иметь длину в 128 символов.

Note Замечание

Если вы удаляете таблицу из базы данных, то длинные имена полей обрезаются до 10-ти символов. Для получения более подробной информации смотрите Создание поля.

Для присвоения полю имени:

  1. Откройте таблицу в дизайнере таблиц - Table Designer.

  2. Щелкните на закладке Fields.

  3. В боксе Name впечатайте имя поля.

Для получения более подробной информации смотрите Как: открывать таблицы (Visual FoxPro) и Закладка Fields дизайнера таблиц (Table Designer).

To name a table field programmatically

  • При создании поля с помощью команды SQL CREATE TABLE укажите имя поля.

    - или -

  • Для редактирования существующей таблицы, откройте ее с помощью команды USE и затем используйте команду SQL ALTER TABLE.

Для получения более подробной информации смотрите описания команд CREATE TABLE - SQL или ALTER TABLE - SQL.

Например, приведенный ниже код создает и открывает таблицу с именем Customer с тремя полями: Cust_ID, Company и Contact с помощью команды CREATE TABLE:

CopyCode image Скопировать код
CREATE TABLE Customer (Cust_ID C(6), Company C(40), Contact C(30))

В примере C(6) указывает что поле содержит символьные данные (Character) и имеет длину в 6 символов. Для получения более подробной информации смотрите описание задачи Как: выбирать типы данных.

Приведенный код добавляет поля в существующую таблицу с помощью команды SQL ALTER TABLE:

CopyCode image Скопировать код
ALTER TABLE Customer ;
   ADD COLUMN (Company C(40), Contact C(30))

Переименование полей

Вы можете переименовать существующие в таблице поля.

Для переименования имени поля:

  1. Откройте таблицу в дизайнере таблиц - Table Designer.

  2. В боксе Name на закладке Fields вставьте курсор в желаемое поле и напечатайте его новое имя.

Для получения более подробной информации смотрите описание Закладка Fields Tab дизайнера таблиц.

Для переименования имени поля программно:

  • Используйте команду SQL ALTER TABLE с опцией RENAME COLUMN.

Для получения более подробной информации смотрите описание команды ALTER TABLE - SQL.

Например, приведенный ниже код переименовывает поле Company в таблице Customer с помощью команды SQL ALTER TABLE:

CopyCode image Скопировать код
ALTER TABLE Customer RENAME COLUMN Company TO Company_LongName

Смотрите также

Задачи

Как: редактировать стуктуру таблицы
Как: выбирать типы данных

Концепции

Создание поля

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Choose Data Types

Visual FoxPro 9.0
Как: выбрать типы данных
Смотрите также

После того, как вы укажете имя для поля, вы можете выбрать тип данных, которые это поле будет хранить.

Для выбора типа данных для поля

  1. Откройте таблицу в дизайнере таблиц (Table Designer).

  2. На закладке Fields, выберите желаемое поле.

  3. В списке Type, выберите тип данных для поля.

    Note Совет

    Если поле имеет тип Numeric или Float, установите число десятичных мест в колонке Decimal. Если поле типа Integer содержит значение автоувеличения, вам необходимо указать значения для next и step. Для получения более подробной информации смотрите описание задачи Как: установить значения поля с автоувеличением.

Для получения более подробной информации смотрите описание Закладка Fields дизайнера таблиц.

Для выбора типа данных для поля программным путем

  • При создании таблицы с помощью команды SQL CREATE TABLE, укажите тип данных для поля.

-или-

  • Для редактирования уже существующей таблицы, откройте ее с помощью команды USE и затем используйте команду SQL ALTER TABLE.

Для получения более подробной информации смотрите описание команд CREATE TABLE - SQL или ALTER TABLE - SQL.

Например, приведенный ниже код создает и открывает таблицу с именем Customer с тремя полями Cust_ID, Company и Contact, с помощью команды CREATE TABLE:

CopyCode image Скопировать код
CREATE TABLE Customer (Cust_ID C(6), Company C(40), Contact C(30))

В этом пример, C(6) указывает, что поле содержит данные типа Character и имеет длину в 6 символов.

Смотрите также

Задачи

Как: редактировать структуру таблицы
Как: добавлять индексы к полям

Концепции

Создание Field

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Indexes to Fields

Visual FoxPro 9.0
Как: добавить индексы полям
Смотрите также

Когда вы добавляете поле в таблицу, вы можете быстро указать обычный индекс для поля.

Для добавления индекса

  1. Откройте таблицу в Table Designer.

  2. На закладке Fields выберите желаемое поле.

  3. В списке Index для поля выберите желаемую индексную сортировку.

    Созданный вами индекс автоматически появится на закладке Indexes и в качестве индексного выражения будет использоваться выбранное вами поле.

  4. Для продолжения редактирования индекса щелкните по закладке Indexes.

Для получения более подробной информации смотрите Как: создать индексы (Visual FoxPro).

Смотрите также

Задачи

Как: редактировать структуру таблицы

Концепции

Создание поля

Прочие ресурсы

Работа с индексами таблицы
Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Permit Null Values in Fields

Visual FoxPro 9.0
Как: позволить хранение в полях Null-значений
Смотрите также

Когда вы определяете поля таблицы, вы можете рашить - будет ли одно или более полей акцептировать .NULL. - значения. Обычно, null-значения указывают, что информация, которая обычно хранится в таком поле - недоступна в данный момент.

Например, пособие по болезни работника или статус налога может быть неизвестне к моменту заполнения записи. Вместо хранения нуля или пробела, которые могут быть интерпретированы как нечто значимое, вы можете хранить в поле null-значение до тех пор, пока требуемая информация не станет доступной.

Note Замечание

Null-значения в полях оказывают воздействие на поведение таблицы и индексов. Например, если вы используте APPEND FROM или INSERT INTO для копирования записей из таблицы, содержащей null-значения в таблицу, которая не допускает таких значений, добавленные поля, содержавщие null-значения заполняются пробелом, ничем или нулем в таблице, куда они добавлены.

Для разрешения зранения null-значений в поле

  1. Откройте таблицу в Table Designer (Конструкторе таблицы).

  2. На закладке Fields (Поля) щелкните по колонке NULL желаемого поля.

    Когда null-значения разрешены для поля, колонка NULL для такого поля отображает символ метки. Для прекращения разрешения хранения null-значений в полей, щелкните по колонке NULL желаемого поля для снятия метки.

Для получения более подробной информации смотрите Закладка Fields (поля) конструктора таблицы (Table Designer).

Для программной установки разрешения null-значений для поля

  • При создании таблицы с помощью команды SQL CREATE TABLE, включите в команду ключевое слово NULL или NOT NULL при описании поля.

- или -

  • Для редактирования существующей таблицы, откройте ее с помощью команды USE и затем используйте команду SQL ALTER TABLE с ключевым словом NULL или NOT NULL.

Для получения более подробной информации смотрите Команда CREATE TABLE - SQL and Команда ALTER TABLE - SQL.

Например, приведенные ниже строки кода создают и открывают таблицу, которая позволяет хранить null-значения в одном из полей, но не разрешает в двух других полях:

CopyCode image Скопировать код
CREATE TABLE Customer (Cust_ID C(6) NOT NULL, ;
   Company C(40) NOT NULL, Contact C(30) NULL)

Для разрешения хранения null-значений во всех полях таблицы

  1. Откройте таблицу в Table Designer (Конструкторе таблицы).

  2. На закладке Fields (Поля) щелкните по колонке NULL у каждого поля.

Для получения более подробной информации смотрите Закладка Fields (Поля) конструктора таблицы (Table Designer).

Для разрешения хранения null-значений во всех полях таблицы программным путем

  • Используйте SET NULL ON до вызова команды SQL CREATE TABLE.

Использование SET NULL ON, кроме того, выберет автоматически колонку NULL для каждого нового поля добавляемого вами в таблицу при использовании конструктора таблицы (Table Designer) и дает вам мозможность по необходимости включать опции NULL или NOT NULL в команду CREATE TABLE.

Для получения более подробной информации смотрите Команда SET NULL.

Смотрите также

Задачи

Как: открывать базы данных
Как: редактировать структуру таблицы
Как: создавать для полей значения по умолчанию

Концепции

Создание поля

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Default Field Values

Visual FoxPro 9.0
Как: создавать для полей значения по умолчанию
Смотрите также

Вы можете указать значения по умолчанию для полей таблицы, принадлежащей базе данных, которые будут заполнять поля при вводе новых записей вне зависимости от того, как вводятся данные. Эти значения по умолчанию остаются там до тех пор, пока они не будут заменены новыми значениями.

Note Замечание

Вы можете указать значения по умолчанию для полей любого типа, за исключением полей типа General.

Вы, кроме того, можете просмотреть значения по умолчанию для полей.

Для указания значения по умолчанию для поля

  1. Откройте базу данных, содержащую таблицу.

  2. Откройте таблицу в Конструкторе таблиц (Table Designer).

  3. На закладке Fields (Поля) выберите желаемое поле.

  4. В боксе Default value (Значение по умолчанию) в области Field validation (Проверка поля) впечатайте желаемое значение по умолчанию для выбранного поля.

    Note Совет

    В случае, если поле, для которого определяется значение по умолчанию, является полем типа Character, то вводимое значение должно быть заключено в кавычки.

  5. Щелкните по командной кнопке OK.

Для получения более подробной информации смотрите Fields Tab, Table Designer.

Для программного указания значения по умолчанию для поля

  • При создании таблицы с помощью команды SQL CREATE TABLE, включите в нее опцию DEFAULT с указанием требуемого значения.

- или -

  • Для редактирования существующей таблицы откройте ее с помощью команды USE и затем используйте команду SQL ALTER TABLE с опцией DEFAULT.

Для получения более подробной информации смотрите CREATE TABLE - SQL Command and ALTER TABLE - SQL Command.

Например, предположим, что вы желаете ограничить количество товаров, который новый потребитель может заказать в одном счете до того, как вы проверите его кредитоспособность и определите возможную сумму кредита, который вы можете предоставить этому потребителю. Приведенный ниже код создает таблицу, в которой поле определяющее максимальный размер счета, будет иметь значение по умолчанию равное 1000:

CopyCode image Скопировать код
CREATE TABLE Customer (Cust_ID C(6), Company C(40), Contact C(30), ;
   MaxOrdAmt Y(4) DEFAULT 1000)

Если таблица уже существует, вы можете добавить значение по умолчанию для поля программно, например, так:

CopyCode image Скопировать код
ALTER TABLE Customer ALTER COLUMN MaxOrdAmt SET DEFAULT 1000

Для просмотра значения по умолчанию для поля в таблице базы данных

  • Используйте функцию DBGETPROP( ) для извлечения значения свойства поля DefaultValue.

Для получения более подробной информации смотрите DBGETPROP( ) Function.

Смотрите также

Задачи

Как: открыть базы данных
Как: редактировать структуру таблицы
Как: установить значения автоувеличения для поля

Концепции

Создание поля

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Specify Input Masks for Fields

Visual FoxPro 9.0
Как: Определить Маску Ввода (Input Masks) для Контрола
См. также

Вы можете определить наиболее эффективный и унифицированный вариант ввода данных в соответствующий Контрол для Поля из Таблицы, прикрепленной к соответствующей Базе Данных, который позволит вам избежать простейшие Ошибки и недочеты при вводе Данных, ускорит ввод специфических данных. Вы можете использовать дополнительные символы-разделители, которые повышщают читаемость специализированного Текста; все эти возможности осуществимы с помощью хранимой Маски Ввода.

Например, вы можете определить удобную для ввода и прочтения маску Контрола, прикрепленного к Номеру Телефона, хранящегося в цифровом Поле, например, привычную для всех: (999) 999-9999. Данная Маска Ввода обеспечивает удобную форму ввода и отображения требуемой информации (десятизначного номера телефона). Дополнительную информацию смотрите в разделе: InputMask, свойство.

Для определения хранимой Маски Ввода для Поля Таблицы:

  1. Откройте Базу Данных, к которой прикреплена требуемая Таблица.

  2. Для данной таблицы откройте соответствующий Дизайнер таблиц (Table Designer).

  3. В активной закладке Fields, выберите требуемое Поле.

  4. В соответствующем текстовом боксе Input mask, из области Display, введите выбранную вами Маску Ввода.

Дополнительную информацию смотрите в разделе: Закладка Fields, Дизайнер Таблиц (Table Designer).

Для определения хранимой Маски Ввода для Поля в программном Коде:

  • Используйте стандартную функцию DBSETPROP( ), где задайте значение свойства "InputMask".

Дополнительная информация в разделе: DBSETPROP( ), функция.

К примеру, следующая строка программного кода определяет некоторую маску для указанного Поля (почтовый индекс):

CopyCode image Копировать Код
DBSETPROP("Orders.Postalcode","Field","InputMask", "99999-9999")

См. также

Задачи

Как: Открыть Базу Данных
Как: Изменить Структуру Таблицы

Другие ссылки

Работа с Полями
Работа с Таблицами (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Format Output for Fields

Visual FoxPro 9.0
Как: Определить формат вывода для Полей
См. также

Вы можете определить формат вывода значений полей для таблиц, закрепленных за контейнером База Данных, которые будут отображаться в пользовательских формах, или системном окне Browse, или в Отчетах. Формат вывода значений полей задается специальными символами шаблона, о которых см. в разделе Format, свойство.

Для задания шаблона вывода для полей

  1. Откройте Базу Данных, содержащую данную таблицу.

  2. Откройте таблицу в системной службе Table Designer.

  3. В закладке Fields, выберите требуемое поле.

  4. В соответствующем боксе Format, в разделе Display, введите трубуемый шаблон отображения поля.

Дополнительно См. раздел Закладка Fields, Дизайнер Таблиц.

Для определения формата вывода для поля, программным способом

  • Используйте функцию DBSETPROP( ) для определения значения свойства Format.

Дополнительно См. раздел DBSETPROP( ), функция.

Например, в следующем программном коде определяется шаблон отображения почтового кода:

CopyCode image Копировать Код
DBSETPROP("Orders.Postalcode","Field","Format","@R 99999-9999")

См. также

Задачи

Как: Открыть Базу Данных
Как: Изменить структуру Таблицы

Другие ссылки

Работа с Полями Таблиц
Работа с Таблицами в системе (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Specify Captions for Fields

Visual FoxPro 9.0
Как: Задать заголовки для полей
См. также

Для таблиц, закрепленных за контейнером База Данных, т.е несвободных, Вы можете определить заголовки полей (столбцов), которые будут использоваться в окнах Browse или объектах Grid. Данные заголовки должны иметь символьный тип.

Note Примечание

Символьный заголовок не может быть длиннее чем 254 символов. Если задается загаловок большей длины, чем 254, то он заменяется именем соответствующего поля (столбца).

Для определения заголовка поля (столбца)

  1. Откройте базу данных, содержащую необходимую таблицу.

  2. Откройте таблицу в системном средстве Table Designer.

  3. Выберите закладку Fields, выберите нужное Вам Поле (столбец).

  4. В соответствующем боксе Caption области Display, задайте текст Вашего заголовка для поля.

    Note Замечание

    Для задания заголовка как символьного выражения (вычисляемого) укажите в начале символ присваивания (=).

См. дополнительно раздел закладка Fields Tab, Table Designer.

Для определения заголовка программным способом

  • Используйте функцию DBSETPROP( )с указанием необходимых параметров.

См. дополнительно раздел функция DBSETPROP( ).

Например, в следующем коде определяется заголовок "Supplier_Fax" для с именем "Fax" из таблицы "Supplier":

CopyCode image Копировать Код
DBSETPROP('Supplier.Fax', 'Field', 'Caption', 'Supplier_Fax')

См. также

Задачи

Как: Открыть Базу Данных
Как: Изменить структуру таблицы

Другие ссылки

Работв с Полями
Работа с Таблицами (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Set Default Classes for Fields

Visual FoxPro 9.0
Как: Устанавливать Базовый класс для Полей (данных)
См. также

Вы можете изменять стандартные, базовые классы объектов, которые обычно закреплены за полями таблиц из Баз Данных, данные классы объектов определяют создаваемые элементы управления при "перетаскивании" конкретного поля из таблицы в разрабатываемую форму.

Например, обычное символьное поле связанно с текстовым боксом, который может быть добавлен в конкретную форму. Предположим, Вам требуется, чтобы в разрабытываемую форму вместо текстового бокса, добавлялся контрол типа ComboBox. Вы можете изменить тип базового класса для конкретного поля из таблицы Текущей Базы Данных, заменить его на ComboBox. При этом отметим, что кроме базовых классов можно указывать пользовательские библиотеки классов, дополнительно разработанные.

Для закрепления базового класса за полем

  1. Откройте Базу Данных, содержащую нужную таблицу.

  2. Откройте Таблицу в системной службе Table Designer.

  3. В закладке Fields, выберите необходимое поле.

  4. В списке Display class, области Map field type to classes, выберите нужный класс для данного поля.

  5. Для уточнения библиотеки классов, в текстовом боксе Display library, укажите нужную библиотеку или интерактивно выберите последнюю, нажавк нопку - многоточие, ellipsis (...) .

См. дополнительно раздел Закладка Fields, Table Designer.

Note Совет

Если вы часто корректируете библиотеку классов, используемую для "базирования" полей таблиц, то используйте параметры Закладки Field Mapping диалогового бокса Options. См. дополнительно разделы Закладка Field Mapping, диалоговый бокс Options и Как: Создавать Элементы управления (контролы) типа "Dragging / Dropping" для Полей или Таблиц.

См. также

Задачи

Как: Открыть Базу Данных
Как: Изменить структуру Таблицы

Другие ссылки

Работа с Полями
Работа с Таблицами (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Set Autoincrementing Field Values

Visual FoxPro 9.0
Как: Определить значение для Автоинкрементного Поля
См. также

Вы можете определять значения автоинкрементного поля Таблицы из Базы Данных или Сволбодной таблицы для поля с типом Integer.

Note Примечание

Рассматриваемые Автоинкрементные поля не поддерживаются для локальных, удаленных Представлений, а также представлений типа OffLine. При активации автоинкрементных полей, они приобретают характеристику Read-Only, и не могут быть изменены с помощью Операций Insert, Update, Replace, их значения устанавливаются автоматически. Дополнительную информацию смотрите в разделк: Значения Автоинкрементных Полей в Таблицах.

Для установки Автоинкрементной характеристики Поля в Таблице:

  1. Откройте Таблицу в соответствующем Дизайнере (Table Designer).

  2. В соответствующей закладке Fields, выберите требуемое Поле.

  3. В комбинированном Списке Type, установите тип Поля: Integer (AutoInc).

  4. В соответствующей области Дизайнера AutoIncrement, введите начальное значение Автоинкрементного Поля Next Value, а также определите величину Приращения в области Step.

  5. После выполнения всех действий нажмите кнопку OK.

    Note Примечание

    Когда вы выбираете указанный тип Поля = Integer (AutoInc), то соответствующий текстовый бокс Default становится недоступным пользователю. Тем не менее, система Visual FoxPro не отвергает имеющееся значение, и не использует его (значение "По-Умолчанию"). Описанный текстовый бокс становиться доступным для редактирования при условии, если вы измените описанный тип поля = Integer (AutoInc). Для определения значения "По-Умолчанию" для данного Поля вы можете определить с помощью соответствующей функции DBGETPROP( ). Если вы намерены использовать значение характеристики Default, вам нужно изменить установленный тип Поля = Integer (AutoInc).

Дополнительную информацию смотрите в разделе: Закладка Fields, Дизайнер Таблиц.

Для установки Автоинкрементной характеристики Поля программным способом:

  • При создании требуемой Таблицы при помощи команды SQL CREATE TABLE, используйте соответствующую секцию AUTOINC указанной Команды.

    -ИЛИ-

  • Для изменения характеристик Поля существующей Таблицы, сначала откройте таблицу с помощью команды USE, затем используйте команду SQL ALTER TABLE, в которой для требуемого поля используйте секцию (опцию) AUTOINC.

Дополнительную информацию смотрите в разделах: CREATE TABLE - SQL, команда или ALTER TABLE - SQL, команда.

См. также

Задачи

Как: Изменить Структуру Таблицы

Концепции

Создание Полей

Другие ссылки

Работа с Полями
Работа с Таблицами (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Add Comments to Fields

Visual FoxPro 9.0
Как: добавить комментарии к полям
Смотрите также

Вы можете добавить описания к полям таблицы базы данных для того, чтобы в дальнейшем было легче понимать их назначение и обновлять. Когда вы выбираете поле из таблицы базы данных в Project Manager, текст комментария отображается в области Description окна Project Manager.

Для добавления комментария к полю

  1. Откройте базу данных содержащую таблицу.

  2. Откройте таблицу в Table Designer.

  3. На закладке Fields выберите желаемое поле.

  4. В блоке Field comment поля введите текст описания.

  5. Щелкните по OK.

Для получения более подробной информации смотрите Table Designer (Visual FoxPro).

Для программного добавления комментария к полю

  • Используйте функцию DBSETPROP( ) для установки свойства Comment требуемого поля.

Для получения более подробной информации смотрите Функция DBSETPROP( ).

Например, предположим, что вы желаете добавить описание для поля unit price в таблице содержащей предметы заказа. Приведенный ниже код присваивает текст "Current retail price per unit" комментарию поля:

CopyCode image Скопировать код
?DBSETPROP('OrdItems.Price', 'Field', 'Comment', ;
   'Current retail price per unit')

Смотрите также

Задачи

Как: открыть базу данных
Как: редактировать структуру таблицы

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Restrict Access to Fields

Visual FoxPro 9.0
Как: Ограничить доступ к Полям
См. также

Вы можете задать список только определенных Полей Таблицы, которые будут доступны в системном окне Browse или в некоторой пользовательской форме. При определении фильтра для Полей, вы ограничиваете доступ к определенным полям таблиц, в пользовательских формах доступными являются только заданные поля, остальные поля не отображаются и являются недоступными.

Для определения доступа и отображения к заданным Полям Таблиц

  1. Откройте таблицу в системном окне browse.

  2. В соответствующем меню Table, выберите пункт Properties, откроется диалоговый бокс Work Area Properties.

  3. В разделе Allow access to, выполните пункт Only fields specified by field filter, и выполните пункт Field Filter.

    Откроется соответствующий диалоговый бокс Field Picker.

  4. В списке All fields, выберите Поля, которые будут доступными.

    Выбранные поля, в списке All fields, будут скрыты, доступ к ним ограничен.

  5. После выбора, нажмите кнопку Move, за тем кнопку OK.

  6. В соответствующем диалоговом боксе Work Area Properties, нажмите кнопку OK.

  7. Закройте и Откройте вновь системное окно browse.

    В данном окне отображаются только определенные поля Таблицы.

См. также

Задачи

Как: Просмотреть Записи в Таблице

Другие ссылки

Работа с Полями Таблиц
Работа с Таблицами (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Delete Fields

Visual FoxPro 9.0
How to: Удаление Полей
См. также

Вы можете удалить поле из таблицы.

Предупреждение:
Удаление Поля из Таблицы означает удаление всей сопутствующей информации о данном поле: Default, Rule, Caption. Если индексное выражение или триггер ссылаются на данное Поле - то они становятся ошибочными после удаления данного Поля. Эта ситуация не генерирует ошибку в режиме RunTime.

Для удаления Поля из Таблицы

  1. Откройте Таблицу, используя, например, Table Designer.

  2. Используя Закладку Fields, выберите необходимое Поле.

  3. Нажмите Delete.

Для удаления Поля из Таблицы, используя программный код

  • Используйте команду ALTER TABLE с опцией DROP COLUMN.

Для дополнительной информации см. Команду ALTER TABLE - SQL .

Для примера, следующая команда удаляет Поле с именем Fax из Таблицы a Customer:

Копировать Код
ALTER TABLE Customer DROP COLUMN Fax

См.также

Другие Сссылки

How to: Редактирование структуры Таблицы
Работа с Полями
Работа с Таблицами

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.
Переведено: ShmSoft.


Preventing Duplicate Values in Fields

Visual FoxPro 9.0
Предотвращение дублирующих значений в полях
Смотрите также

Для того, что предохраниться от появления дублирующих значений в одном или более полях таблицы, вы можете создать первичный индекс или индекс-кандидат, используя выражение, которое содержит такие поля. Когда вы включите одно или более полей в индексное выражение, Visual FoxPro генерирует индексный ключ, основанный на этих полях для каждой записи, что уникально идентифицирует запись. Когда вводится новая запись, вы можете сравнить индексные ключи для новой записи с существующими с целью определения существует ли уже записи с такими же данные и тем самым предохраниться от ввода дубликатов в таблицу.

Замечание Совет

Если ваша таблица является частью базы данных, используйте первичный индекс или индекс-кандидат. Если ваша таблица является свободной таблицей или уже имеет первичный индекс, вы должны создать индекс-кандидат.

Например, предположим, что у вас имеется таблица, которая хранить коды облрастей и номера телефонов в двух соседних полях. Приведенная ниже таблица иллюстрирует такую ситуацию.

Area code | Phone number
206 | 444-nnnn
206 | 555-nnnn
313 | 444-nnnn

Обе колонки, и area code, и phone number, содержать значения в соответствующих колонках. Однако, ни один телефонный номер не повторяется, поскольку объединение двух полей будут содержить полный телефонный номер. Более того, если первичный индекс или индекс-кандидат включает оба поля в индексном выражении, строка в примере не сможет получить дублирующее значение. Поэтому, если вы попытаетесь ввести телефонный номер, содержащий тот же самый номер зоны и номер, уже существующий в одной из строк, Visual FoxPro будет изымать дубликат.

Смотрите также

Концепции

Создание индекса, основанного на выражениях

Прочие ресурсы

Работа с табличными индексами
Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Autoincrementing Field Values in Tables

Visual FoxPro 9.0
Автоувеличние значений поля в таблицах
Смотрите также

Вы можете указать, что поля с типом integer в таблицах баз данных содержат значения, которые увеличиваются автоматически. Таблица может содержать множество полей, которые содержат автоувеличивающиеся значения. Автоувеличение значений в полях не поддерживается для локальный (local), удаленных (remote) или отключаемых (offline) представлениях.

Когда вы добавляете поле с автоувеличением значений в таблицу, которая до сих пор не имело такого, значение начинает увеличиваться автоматически с вводом следующей записи в таблицу. Существовавшие ранее в таблице строки не обновляются значениями с автомаувеличением; поэтому убедитесь, что в таком случае не произойдет конфликта с имеющимися записями.

Для получения более подробной информации о том, как установить поля с автоматически увеличивающимися значениями смотрите описание задачи Как: установить Autoincrementing для значений поля.

Приведенные ниже разделы содержат более подробную информацию об областях Visual FoxPro подверженных воздействию полей с автоматически увеличивающимися значениями:

  • Изменение структуры для для полей с Autoincrementing

  • Рассуждения для полей с Autoincrementing

  • Локальные представления и поля с Autoincrementing

  • Буфферизация таблиц и поля с Autoincrementing

  • Блокировка записи и поля с Autoincrementing

Изменение структуры для для полей с Autoincrementing

Когда вы активируете автоматическое увеличение значений для любого поля в таблице, Visual FoxPro устанавливает байт 0 в 0x31 для указания типа файла "Visual FoxPro, Autoincrement enabled" в структуре заголовочной записи таблицы (.dbf). Visual FoxPro устанавливает байт 18, байты с 19 по 22 и байты 23 структуре подзаписей поля в приведенные ниже значения соответственно:

  • 0x0C для полей с автоувеличением.

  • Следующее значение.

  • Значение шага.

Для получения более подробной информации смотрите описание Структура файла таблицы.

Рассуждения для полей с Autoincrementing

Поля, которые содержат значения с автоматическим увеличением получают признак "только для чтения" и не могут быть изменены в операциях вставки, удаления или замещения данных. Попытка обновить такое поле будет приводить к генерации сообщения об ошибке до тех пор, пока вы сбросите свойство автоувеличения курсора AutoIncError с помощью функции CURSORSETPROP() в False (.F.) или не выключите сообщение об ошибке с помощью команды SET AUTOINCERROR. Для получения более подробной информации смотрите описание функции CURSORSETPROP() и команды SET AUTOINCERROR.

Таблицы, содержащие поля с автоматическим увеличением значений добавляют записи из буфферированной таблицы примерно на 35% медленнее, чем таблицы без оных полей, что может повлечь за собой снижение производительности приложения. При использовании табличной буфферизации при добавлении записи заголовок таблицы блокируется.

Visual FoxPro не обслуживает пробелы в генерируемых последовательностях. Пробелы или дыры в последовательностях могут быть вызваны сбросом добавляемых или вставляемых записей (revert), неудачной операцией обновления базовой таблицы и тому подобным. Во всем случаях, неиспользованные значения теряются, а следующие генерируемые значения остаются такими же, как если бы операции добавления или вставки записей были удачными.

Версии, до Visual FoxPro 8.0 не могут распознавать таблицы, которые используют автоматическое увеличение значений поля. Если вы удаляете эту возможность для полей, текущее состояние, содержащее последние значения автоувеличения очищаются из субзаписей поля табличного файла (.dbf) и сбрасываются. Тип табличного файла (.dbf) восстанавливается до значения текущего типа Visual FoxPro. Значения, которые автоматически увеличивались и хранились в полях остаются в каждой записи неизменнными.

Локальные представления и поля с Autoincrementing

Представления не "наследуют" поведения автоувеличения базовой таблицы, и поэтому поля в представлении, которые представляют поля с автоувеличением значением в базовой таблицы становятся обновляемыми - "read/write". Автоувеличение значений поля происходит в базовой таблице при обновлении строки или строк. Если вы хотите "освежить" (refresh) представление с полями с автоувеличением значениями сгенерированными ранеее, вы должны использовать фукнцию REQUERY( ). Для получения более подробной информации смотрите ее описание в Функция REQUERY().

Буфферизация таблиц и поля с Autoincrementing

Visual FoxPro не производит любого управления автоувеличением для буфферированных таблиц. Все добавляемые или вставляемые записи, имеют сгенерированные значения для полей с автоувеличением, независимо от того, какой буффер активен - таблицы или строки. В случае буфферирования, при вызове функции TABLEUDPATE(), базовые таблицы обновляются с ранее генерированными значениями. Если обновление не произошло, например в случае вызова функции TABLEREVERT(), любые сгенерированные значения для полей с автоувеличением сбрасываются, в результате чего образуются пробелы или дыры в последовательности.

Блокировка записи и поля с Autoincrementing

Когда вы включаете автоувеличение значений для поля, начальное значение - Next Value - и значение шага - Step - хранятся в заголовке табличного файла (.dbf) в неиспользованной или зарезервированной порции субзаписи поля для указанного поля. Next Value хранится как 4-байтный integer. Значение Step value хранится как 1-байтный integer с максимальным значением в 255. Значение, реально используемое для увеличения значения поля представляет собой сумму значений, хранящихся в заголовке таблицы и значения шага. Последовательность происходящих операций описываются приведенным ниже:

  • Производится операции вставки или добавления.

  • Блокируется заголовок.

  • Увеличивается хранящееся текущее значение увеличения на значение Step и применяется к полю.

  • В заголовке табличного файла (.dbf) сохраняется новое значение, которое равно значению во вновь добавленной записи.

  • После завершения операции добавления или вставки заголовок разблокируется. Заголовок содержит последнее полученное значение.

Смотрите также

Задачи

Как: выбирать типы данных

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Working with Records

Visual FoxPro 9.0
Работа с записями

Созданые Вами таблицы и поля в них, позволяют Вам хранить данные в таблицах с использованием записей. Каждая запись представляет собой строку, которая состоит из каждого поля в таблице.

В этом разделе

Как: просмотреть записи в таблице

Описывает, как посмотреть записи, в которых хранятся данные из таблиц.
Как: осуществить навигацию по записям таблицы

Описывает, как перемещение по записям в таблицах.
Как: отфильтровать записи в таблице

Описывает, как отобразить только некоторые записи или ограничить доступ к ним.
Как: сконфирурировать окно Browse или Grid (сетку)

Описывает, как настроить отображение окна просмотра или сети.
Как: вставить записи в таблицу

Содержит описание того, как добавлять записи в таблицы для хранения данных и вставку записей из других таблиц или файлов.
Как: вставить данные в запись

Описывает, как добавить данные в записи после создания новых записей или перезапись данных в существующих записях.
Как: удалить записи из таблицы

Описывает, как пометить записи для удаления, которые остаются на диске до тех пор, пока Вы не удалите их.
Как: востановить удаленные записи

Описывает, как востановить записи помеченные на удаление.
Как: физически удалить записи, помеченные на удаление

Описывает, как удалить записи, помеченные для удаления, с диска.

Связанные разделы

Работа с данными

Дает обзор и сведения по использованию данных в ваших приложениях, например, анализ данных и проектировании компонентов Вашего приложения для выполнения этих требований.
Работа с таблицами

Введение в создание таблиц и работа с ними.
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: View Records in Tables

Visual FoxPro 9.0
Как: просмотреть записи в таблицах
Смотрите также

Вы можете посмотреть записи в таблице, открыв ее в окне просмотра (browse window). Окно просмотра отображает данные таблицы в виде строк (записей) и колонок (полей), по которым вы можете свободно перемещаться. Для получения более подробной информации, смотрите описание Окно просмотра (Browse Window).

Для просмотра данных в свободной таблице

  1. В меню File, щелкните на Open.

  2. В диалоговом блок Open, просмотрите местонахождение таблицы, которую вы желате просмотреть.

  3. В боксе Files of type диалогового окна, выберите тип файла Table (*.dbf) для отображкния в окне только файлов таблиц.

  4. Выберите файл таблицы, которую вы желаете просмотреть.

  5. В меню View, щелкните на Browse.

    Выбранная вами таблица откроется в окне просмотра.

Для просмотра данных в таблицы базы данных

  1. Откройте базу данных в Database Designer.

  2. Выберите желаемую таблицу.

  3. В меню Database, щелкните на Browse.

    Таблица откроется в окне просмотра.

Для просмотра данных в таблице из проекта

  1. Откройте проект в Project Manager.

  2. Разверните узел Data и выберите одно из приведенного ниже:

    • Для просмотра таблицы базы данных, разверните узел Databases, затем узел Tables.

    -или-

    • Для просмотра свободной таблицы, разверните узел Free Tables.

  3. Щелкните на таблице, которую вы желаете просмотреть, затем на Browse.

    Выбранная вами таблица откроется в окне просмотра.

Для просмотра таблицы программным путем

  1. Откройте таблицу с помощью команды USE.

  2. После выполнения команды USE выдайте команду BROWSE.

    Замечание Совет

    Для предотвращения ввода записей в таблицу во время ее просмотра, включите в команду BROWSE ключевое слово NOAPPEND.

Для получения более подробной информации, смотрите описание команд USE и BROWSE .

Смотрите также

Задачи

Как: перемещаться по записям в таблицах
Как: фильтровать записи в таблицах
Как: сконфигурировать окна просмотра (Browse Windows) или решетки (Grids)

Прочие ресурсы

Работа с записями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Navigate Records in Tables

Visual FoxPro 9.0
Как: перемещаться по записям в таблицах
Смотрите также

Вы можете перемещаться по записям, когда просматриваете их в окне browse с помощью полосок прокрутки (scroll bars), клавиш навигации или клавиши TAB. Вы, кроме того, можете указать группу записей для поиска.

Для перемещения по записям в окне browse

  1. Откройте таблицу в окне browse.

  2. В меню Table перейдите к Go to Record и выберите одно из приведенного ниже:

    • Для перемещения к первой записи щелкните на Top.

    • Для перемещения к последней записи, щелкните на Bottom.

    • Для перемещения к следующей записи, щелкните на Next.

    • Для перемещения к предыдушей записи, щелкните на Previous.

    • Для указания номера записи, щелкните на Record # для открытия диалогового окна Go to Record введите в нем номер желаемой записи и щелкните на OK.

Для получения более подробной информации смотрите описание Диалоговое окно Go To Record.

Для указания группы записей для поиска

  1. Откройте таблицу в окне browse.

  2. В меню Table перейдите к Go to Record и щелкните на Locate.

    Откроется диалоговое окно Locate.

  3. В боксе Scope диалогового окна Locate выберите диапазон записей, которые вы желаете найти.

  4. В боксе For впечатайте выражение, которому должны отвечать требуемые записи. Для построения выражения щелкните на кнопке выбора - ellipsis (...).

  5. В боксе While впечатайне выражение, которое оценивается в true для того, чтобы поиск записей продолжился.

  6. Когда вы закончите, щелкните на Locate.

Смотрите также

Задачи

Как: отфильтровать записи в таблицах
Как: просмотреть записи в таблицах
Как: сконфигурировать окна Browse или Grids

Прочие ресурсы

Работа с таблицами (Visual FoxPro)
Работа с записями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Filter Records in Tables

Visual FoxPro 9.0
Как: отфильтровать записи в таблицах
Смотрите также

Вы можете указать, чтобы только определенные записи отображались в окне browse с помощью установки фильтра данных.

Caution note Caution

Если вы ограничите доступ ко всем полям в таблице, вы можете попасть в ситуацию, когда вы не сможете открыть таблицу в окне browse.

Для фильтрации записей в окне browse:

  1. Откройте таблицу в окне browse.

  2. В меню Table щелкните на Properties для того, чтобы открыть диалоговое окно Work Area Properties.

  3. В боксе Data filter впечатайте желаемое выражение для фильтра. Для того, чтобы воспользоваться построителем выражения щелкните по кнопке ellipsis (...).

  4. Щелкните по OK.

    В окне browse отобразятся только те записи, которые отвечают выражению фильтра.

Например, приведенное нижек выражение фильтра отобразит те записи в таблице Customer, у которых поле Country установлено в "USA":

CopyCode image Скопировать код
Customer.Country = "USA"

Смотрите также

Задачи

Как: перемещаться по записям таблицы
Как: просматривать записи в таблицах
Как: сконфигурировать окна Browse или Grids

Прочие ресурсы

Работа с таблицами (Visual FoxPro)
Работа с записями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Configure Browse Windows or Grids

Visual FoxPro 9.0
How to: Configure Browse Windows or Grids (Настройка окна просмотра или таблицы)
See Also

Вы можете изменить конфигурацию окна просмотра или таблицы одним из следующих способов:

  • Реорганизация(изменение порядка) столбцов

  • Изменение Ширины столбца

  • Автоматическое соответствие столбцов к данным

  • Включение и выключение рисования сетки таблицы

  • Разделение окна просмотра

  • Блокирование столбцов

Для более детальной информации, посмотрите Browse Window и Grid Control.

Реорганизация столбцов

Вы можете реорганизовать столбцы в том порядке, который вы захотите.

Примечание:
Реорганизация столбцов не изменяем фактическую структуру таблицы(источника данных).

Чтобы реорганизовать столбец в окне просмотра

  1. Откройте таблицу в окне просмотра.

  2. Поставте курсор на столбец, который вы хотите переместить.

  3. В меню Table, выберите команду Move Field.

    Курсор мыши примет форму, указывающую на возможность перемещения столбца.

  4. Чтобы переместить столбец, нажимайте на клавиши управления курсором стрелка влево или стрелка вправо.

  5. Для завершения перемещения, нажмите клавишу ENTER.

Вы также можете реорганизовать порядок столбцов перетягивая заголовок столбца в новое положение.

Чтобы реорганизовать столбец в таблице

  • Перетяните заголовок столбца в новое положение.

Изменение Ширины Столбца

Вы можете изменять ширину столбца.

Примечание:
Переопределение ширины столбца не влияет на длину поля или структуру таблицы. Чтобы изменить фактическую длину полей, измените структуру таблицы, используя конструктор таблиц.

Чтобы изменить ширину столбца в окне просмотра

  1. Откройте таблицу в окне просмотра.

  2. Поставьте курсор на столбец, размер которого вы хотите переопределить.

  3. В меню Table, выберите команду Size Field.

    Курсор мыши примет форму, указывающую на возможность переопределения размера столбца.

  4. Чтобы увеличить размер столбца, нажмите клавишу СТРЕЛКА ВПРАВО. Чтобы уменьшить, нажмите клавишу СТРЕЛКА ВЛЕВО.

  5. Для завершения, нажмите клавишу ENTER.

Вы также можете изменять размер столбца перетаскивая правую грань заголовка столбца.

Чтобы изменить ширину столбца в таблице

  • Измените размер столбца перетаскивая правую грань заголовка столбца.

Автоматическое соответствие столбцов к данным

Вы можете переопределить размер столбцов, чтобы они автоматически соответствовали размеру данных, в них содержащихся.

Чтобы переопределить размер одного столбца по размеру данных

  • Сделайте двойной клик между заголовков столбцов свправа от столбца размер которого вы хотите переопределить автоматически.

Чтобы переопределить размер всех столбцов по размерам данных

  • Сделайте двойной клик на левой грани заголовка первого столбца.

Включение и выключение прорисовки сетки таблицы

Вы можете скрыть линии сетки в окне просмотра.

Чтобы скрыть или показать сетку таблицы

  1. Откройте таблицу в окне просмотра.

  2. В меню View, выберите команду Grid Lines.

Разделение окна просмотра

Вы можете разделить окно просмотра на левое и правое окна, таким образом вы сможете просматривать две различные области одной таблицы или просматривать записи в режиме просмотра и редактировать в режиме редактирования в одно и тоже время.

Особенность:
По умолчанию, оба окна расделенного окна просмотра связаны. Когда вы выбираете и изменяете записи в одном окне, ваши изменения отображаются в другом окне. Если вы хотите, чтобы оба окна функционировали независимо, т.е. что бы вы могли прокрутить одно окно независимо от другого, в меню Table выберите команду Link Partitions таким образом, что бы была очищена галочка слева от команды.

Чтобы разделить окно просмотра

  1. Откройте таблицу в окне просмотра.

  2. В меню Table, выберите команду Resize Partitions.

    Курсор мыши примет форму, указывающую на возможность разделения окна просмотра.

  3. Чтобы увеличить размер левого окна просмотра, нажмите клавишу СТРЕЛКА ВПРАВО. Чтобы уменьшить размер, нажмите клавишу СТРЕЛКА ВЛЕВО.

  4. Для завершения, нажмите клавишу ENTER.

Вы можете также поместить курсор в темную области в нижнем левом углу окна просмотра и перетащить ее вправо, чтобы увеличить размер левого окна просмотра.

Чтобы переопределить размер разделенного окна просмотра, выполните указанные выше шаги, для разделения окна просмотра.

Блокирование столбцов

Вы можете показывать только определенные столбцы, прокручивая их в таблице, в то время как остальные столбцы будут заблокированы для прокрутки. Например, нажимая клавишу TAB, чтобы переместиться на следующий столбец вправо не вызывает прокрутку замкнутых столбцов в окне просмотра или таблицы.

Как замкнуть все столбцы слева от нужного столбца

  • Щелкните правой кнопкой мыши правую границу заголовка столбца, который вы хотите замкнуть.

Вертикальная линия разделителя столбца, приобретет ширину более 1 пикселя, чем линия, разделяющая другие столбцы, тем самым указывает область, где замкнутые столбцы заканчиваются и начинаются столбцы способные участвовать в прокрутке.

Чтобы разблокировать все столбцы

  • Щелкните правой кнопкой на границе между любыми заголовками столбцов.

Все столбцы будут разблокированы.

Примечание:
Когда один или несколько столбцов прокрученные влево, выходят за область видимости и являются замкнутыми, они остаются скрытыми, пока замыкание остается включенным. Такая возможность может быть полезна, если вы хотите замкнуть столбцы посреди таблицы не показывая предшествующие или следующие столбцы. Метод SetFocus для столбца не выполняется, если столбец замкнут и скрыт из области просмотра, например, прокрученный столбец влево. Для более конкретной информации, посмотрите Метод SetFocus.

Например, предположите, что таблицы содержит пять столбцов, и источник данных имеет десять столбцов. Когда вы прокручиваете два столбца вправо, первый и второй столбцы смещаются влево и становятся скрытыми. Когда вы щелкаете правой кнопкой по границе заголовка между первым и вторым видимыми столбцами, которые фактически являютсяся третьим и четвертым столбцами источника, первые два скрытых столбца, также как и первый видимый столбец, становятся замкнутымм. Однако, вы не сможете сделать прокрутку влево, чтобы просмотреть все замкнутые столбцы.

ДОПОЛНЕНИЕ по данноve примеру (от переводчика)

В окне просмотра Browse не работает замыкание если хоть один столбец уже скрыт влево из области видимости. При наличии замкнутых столбцов порядок колонок меняется только из меню Table/Field Move, а в Grid замыкание установить невозможно ни каким образом (при наличии замкнутых столбцов).

See Also

Other Resources

How to: View Records in Tables
How to: Navigate Records in Tables
How to: Filter Records in Tables
Working with Tables
Working with Records

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Add Records to Tables

Visual FoxPro 9.0
Как: добавить записи в таблицы
Смотрите также

Прежде чем вы сможете сохранить в таблицах, вы должнв добавить записи для хранения данных. Вы можете добавить одну или несколько чистых записей в конец таблицы. Вы, кроме того, можете скопировать записи из другой таблицы или файла и добавить их в таблицу.

Для добавления чистой записи в таблицу:

  1. Откройте таблицу в окне Browse.

  2. В меню Table щелкните по Append New Record.

    В окне Browse чистые записи появится в конце, после всех записей таблицы.

Для получения более подробной информации смотрите описание задачи Как: просмотреть записи в таблицах.

Для добавления чистой записи после печати данных:

  1. Откройте таблицу в окне Browse.

  2. В меню View щелкните по Append Mode.

Когда вы работаете в режиме добавления, новая чистaя запись появится в строке, следующей за записью в которой вы печатали данные.

Для получения более подробной информации смотрите описание задачи Как: просмотреть записи в таблицах.

Для добавления чистой записи в таблицу программным способом:

  • Выберите одно из приведенного ниже:

    • Используйте команду APPEND с ключевым словом BLANK.

    - или -

    • Для ввоода записей и указания данных, которые будут сохранены в новых записях, используйте команду SQL INSERT.

Когда вы используете команду SQL INSERT, вы можете сохранять данные в записях непосредственно, указав текст или контансты, переменные, массивы, объекты или иные источники данных. Для получения более подробной информации смотрите описание команд INSERT - SQL и APPEND.

Для добавления чистой записи в таблицу из другой таблицы или файла:

  • Используйте команду APPEND FROM или команду IMPORT.

Для получения более подробной информации описания Команда APPEND FROM, Команда IMPORT, and Импортирование и экспортирование данных.

Смотрите также

Задачи

Как: добавит данные в записи

Прочие ресурсы

Работа с записями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Add Data to Records

Visual FoxPro 9.0
Как: добавить данные в записи
Смотрите также

Вы можете данные в записи после создания чистых записей или заместить данные в существующих записях. Вы, кроме того, можете редактировать каждое поле в записи при работе с таблицей в режиме редактирования. Для получения более подробной информации смотрите описание Как: добавит записи в таблицы.

Для добавления или замещения данных в записях

  1. Откройте таблицу в окне просмотра (browse).

    Note Совет

    Для редактирования каждой записи на отдельной строке щелкните в меню View на пункте Edit.

  2. В таблице, установите курсор на требуемое поле записи и впечатайте данные подходящего для данного поля типа.

Для получения более подробной информации смотрите описание Как: просмотреть записи в таблицах.

Для программного сохранения данных в записях

  • Выберите одно из приведенного ниже:

    • Если чистая запись, которую вы добавили является текущей записей, то за командой APPEND BLANK выпустите команду REPLACE и укажите запись для замены в ней значений.

      Note Совет

      По умолчанию, REPLACE замещает значения в полях, включая пустые поля для текущей записи. Когда вы используете REPLACE убедитесь, что таблица открыта, запись существует, что вы указали поле, в котором желаете сохранить данные и что данные соответсвуют типу данных поля.

    - или -

    • Откройте таблицу, затем используйте команды EDIT или CHANGE для отображения таблицы в режиме редактирования.

    - или -

    • Используйте команду SQL UPDATE для обновления записей в таблице.

Для получения более подробной информации смотрите описания команд REPLACE (Visual FoxPro), EDIT, CHANGE и UPDATE - SQL.

Note Совет

Когда вы используете REPLACE или SQL UPDATE в многопользовательском приложении, вы можете редактировать данные без блокировки записи до тех пор, пока не пожелаете завершить редактирование и сбросить данные на диск с помощью включения буфферизации для записи или для таблицы. Для получения более подробной информации смотрите описание Программирование для совместного доступа к данным.

Ввод значений Null в записи

Вы можете печатать null значения для полей в записях.

Note Замечание

Для указания текста, отображаемого для null-значений, используйте команду SET NULLDISPLAY. Для получения более подробной информации смотрите ее описание в SET NULLDISPLAY Command.

Для сохранения null-значения в поле

  1. Откройте таблицу в окне просмотра (browse).

  2. В таблице установите курсор в желаемое поле записи и нажмите CTRL+0 (zero).

Для сохранения null-значения в поле программным способом

  • Включите ключевое слово NULL в команду, которой вы добавляете или замещаете данные.

Смотрите также

Задачи

Как: удалять записи в таблицах

Прочие ресурсы

Работа с записями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Delete Records in Tables

Visual FoxPro 9.0
Как: удалить записи в таблицах
Смотрите также

Вы можете удалить записи в таблицах пометив их для удаленния, а затем физически удалить записи, помеченные для удаления. В противном случае, записи, маркированные для удаления остаются в табличном файле на диске до тех пор, пока вы не удалите их физически командой PACK. Вы, кроме того, одной операцией пометить записи для удаления и физически удалить их из файла таблицы.

Note Совет

При просмотре записей в окне просмотра (окно browse), записи помеченные для удаления будут видны, если была соответствующая установка была установлена командой SET DELETED в OFF. Для того, чтобы спрятать записи, маркированные для удаления выдайте команду SET DELETED ON. SET DELETED, кроме того, определяет: смогут ли команды, работающие с записями обращаться к записям, помеченным для удаления. Кроме того, вы можете создать специальный индексный тэг с помощью функции DELETED(). Для получения более подробной информации смотрите описание Индексы, основанные на удаленных записях.

Вы можете восстановить записи, помеченные для удаления до того, как физически удалите их их файла таблицы. Для получения более подробной информации смотрите описание задачи Как: восстановить удаленные записи.

Для того, чтобы пометить запись на удаление

  1. Откройте таблицу в окне browse соответствующей команой.

  2. В окне browse, вставьте курсор в поле записи, которую вы желаете удалить.

  3. В меню Table шелкните на Toggle Deletion Mark.

    Маркер удаления появится слева от первого поля записи.

    Note Совет

    Вы, кроме того, можете произвести двойной щелчок по левой клавише мыши для маркировки записи для удаления.

Для получения более подробной информации смотрите описание задачи Как: просмотреть записи в таблицах.

Для маркировки множества записей на удаление

  1. Откройте таблицу в окне browse соответствующей команой.

  2. В меню Table шелкните на Delete Records.

    Откроется диалоговое окно Delete.

  3. В боксе Scope диалогового окна Delete выберите диапазон записей, подлежащий удалению.

  4. В боксе For вы можете напечатать выражение, по которому будут отобраны записи, удовлетворяющие условию для удаления. Для того, чтобы воспользоваться построителем выражения щелкните по кнопке с троеточием (...).

  5. В боксе While вы можете впечатать выражение, которое оценивается в true для того, что продолжить оценку записей для включения их в список, подлежащих удалению.

  6. Когда вы завершите описанные действия щелкните на Delete.

Для получения более подробной информации смотрите описание задачи Как: просмотреть записи в таблицах и диалогового окна Диалоговое окно Delete (записи).

Для того, чтобы пометить записи на удаление программно

  • Используйте команжу SQL DELETE.

Для получения более подробной информации смотрите ее описание в Команда DELETE - SQL.

Для пометки всех записей для удаления с одновременным их физическим удалением из таблицы

  • Используйте команду ZAP.

Для получения более подробной информации ее описание в Команда ZAP.

Note Замечание

До использования команды ZAP убедитесь, что таблица открыта в режиме монопольного доступа (exclusively).

Caution note Предупреждение

Записи, удаленные с помощью команды ZAP не могут быть восстановлены.

Смотрите также

Задачи

Как: физически удалить записи, помеченные для удаления

Прочие ресурсы

Работа с записями
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Restore Deleted Records

Visual FoxPro 9.0
Как: Восстановить удаленные Записи Таблицы
См. также

Вы можете восстановить записи, отмеченные к удалению, пока эти записи не удалены совсем.

Для восстановления отмеченных к удалению записей:

  1. Откройте требуемую таблицу в системном окне Browse.

  2. В указанном окне, активируйте запись таблицы, которая отмечена к удалению (отмечен левый крайний столбец).

  3. В системном меню Table, выполните пункт Toggle Deletion Mark.

    Note Совет

    Вы можете также щелкнуть "колонку удаления" для записи, отмеченной для удаления, чтобы удалить маркер удаления.

    Маркер удаления текущей записи - снимается.

Для восстановления нескольких Записей Таблицы, помеченных для удаления:

  1. Откройте требуемую таблицу в системном окне Browse.

  2. Из системного меню Table, выполните пункт Recall Records

    Открывается соответствующий диалоговый бокс Recall.

  3. В текстовом боксе Scope, рассматриваемого диалогового бокса Recall, определите диапазон восстанавливаемых записей.

  4. В соответствующем текстовом боксе For, определите условное выражение - критерий отбора восстанавливаемых записей. Для построения сложного выражения - используйте командную кнопку ellipsis (...) - многоточие.

  5. В соответствующем текстовом боксе While, определите условное выражение, которое определяет критерий восстановления записей, пока заданное логическое выражение = True (.T.).

  6. После выполнения необходимых операций, нажмите кнопку Recall.

Дополнительную информацию смотрите в разделе: Recall (Records), диалоговый бокс.

Для восстановления отмеченных для удаления Записей таблицы программным сособом:

  • Используйте стандартную команду RECALL.

Дополнительную информацию смотрите в разделе: RECALL, команда.

См. также

Задачи

Как: Удалить отмеченные к Удалению Записи Таблицы

Другие ссылки

Работа с Записями Таблицы
Работа с Таблицами (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Remove Deleted Records

Visual FoxPro 9.0
Как: Исключить Удаленные Записи
См. также

После отметки записей на удаление, вы можете исключить данные записи из файла Таблицы, удалить безвозвратно.

Для исключения отмеченных записей из файла Таблицы, с диска

  1. Откройте таблицу в системном окне Browse.

  2. В соответствующем меню Table, выберите пункт Remove Deleted Records (исключить удаленные записи).

  3. При дополнительном запросе не подтверждение, нажмите кнопку Yes.

    Отмеченные для удаления записи будут исключены из файла Таблицы, Окно Browse - закроется..

Для исключения помеченных записей программным способом

  • Используйте команду PACK

См. дополнительно раздел PACK, команда.

Note Обратите Внимание

PACK имеет две опции: MEMO и DBF. Выполнение команды PACK без указания данных опций: MEMO или DBF, исключает помеченные для удаления записи из соответствующего файла таблицы (.dbf) и из соответствующего файла Полей memo (.fpt). Для успешного выполнения указанной команды PACK, требуется режим Исключительного (монопольного) открытия Таблицы. Для исключения удаленных записей только в файле Таблицы, используется команда: PACK DBF. Для оптимизации используемого пространства на диске компьютера, без удаления отмеченных записей в Таблице, используется соответствующая команда: PACK MEMO.

См. также

Задачи

Как: Удалять Записи в Таблицах

Другие ссылки

Работа с Записями Таблиц
Работа с Таблицами в системе (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Working with Table Indexes

Visual FoxPro 9.0
Работа с табличными индексами

Когда вы создаете таблицу, Visual FoxPro создает файл таблицы (.dbf) и, если таблица содержит поля типа memo или general, связанный файл табличных мемо-полей (.fpt). По умолчанию Visual FoxPro хранит записи в таблице в том порядке, в котором они были введены. Когда ваше приложение производит операции на таблице, записи также обрабатвыаются в том же порядке, то есть в порядке, в котором они были введены в таблицу.

Вы можете управлять порядком обработки записей и тем самым увеличить производительность вашего приложения путем создания индексов для таблицы. Индекс не меняет физического порядка записей, хранящихся в таблице; правильнее сказать, он предоставляет эффективный и гибкий механизм для доступа к записям таблицы. Напримре, предположим, что вы желаете обрабатывать записи в таблице потребителей по именам компаний в алфавитном порядке. Вы можете создать табличный индекс, основанный на поле имени компании, так чтобы ваше приложение могло обрабатывать записи в порядке, указанном вами при создании индекса. Кроме того, вы можете добавить фильтр для индекса, так чтобы вы могли добавлять только такие записи, которые отвечают критериям созданного вами фильтра индекса.

После того, как вы создадите табличный индекс, вы можете установить порядок записей в таблице по индексу, так чтобы ваше приложение обрабатывало записи в установленном вами порядке. В дополнение, вы можете создать различные индексы для таблицы, так чтобы могли менять порядок, в котором ваше приложение обрабатывает данные по своему усмотрению. Например, вы можете пожелать организовать таблицу потребителей по контактному имени, для быстрого поиска имени или по почтовому коду, для генерации этикеток-наклеек на почтовые отправления, и так чтобы они были предварительно отсортированы для эффективного почтового сообщения (ну например сначала печатаются этикетки для более удаленных географически клиенто, а уж потом для местных и тому подобное. Вы можете создать и хранить различные сценарии упорядочивания данных в таблице путем создания множества индексов для одной и той же таблицы. Вы можете использовать различные типы индексных файлов для хранения индексов в зависимости от частоты их использования.

Кроме того, вы можете создать индексы для описания постоянных отношений между таблицами внутри базы данных, что даст вам возможность получить доступ именно к тем записям, которые вам нужны. Постоянные отнрошения между таблицами базы данных хранятся в контейнере базы данных и существуют как постоянные отношения например в случае, когда вы используете связанные таблицы в окружении данных.

В этом разделе

Индексные файлы Visual FoxPro

Описываются различные типы типы индексных файлов Visual FoxPro для хранения индексов.

Типы индексов Visual FoxPro

Описываются различные типы индексов.

Как: создать индексы (Visual FoxPro)

Описыаются способы создания индексов.

Создание индексов на базе выражений

Описываются различные типы выражений, которые вы можете использовать для создания индексов.

Рассмотрения для создания индексных выражений

Описываются рассмотрения, которые нужно помнить при создании индексных выражений.

Индексы основанные на удаленных записях

Обсуждается как индексы, основанные на записях, помеченных для удаления повышают производительность запросов и обеспечивают возможность использования оптимизации Rushmore query optimization.

Как: фильтровать данные

Описывается как добавить фильтры для индексов так чтобы вы могли выбрать записи содержащие только нужные вам данные.

Как: создать нечасто используемые индексы

Описывается как создать индексы, которые будут вами нечасто, но все же использоваться и или индексы для специальных задач.

Как: установить управляющий индекс

Описывается как выбрать управляющий, или иными словами, master-индекс для таблицы.

Как: выбрать индексы в Run Time

Описывается каким образом пользователь может изменить отображение записей в run time.

Как: отобразить записи в убывающем порядке

Описывается как изменить отображение записей с возрастающего на убывающий порядок.

Как: усилить эффективность индексирования

Описывается как улучшить производительность индексов, преимущественно в смысле поддержания их постоянно обновляемыми.

Как: удалить индексы (Visual FoxPro)

Описывается как удалить индексы, которые вы не желаете более использовать.

Справочное руководство

Справочное руководство по интерфейсу пользователя (Visual FoxPro)

Объясняются опции, которые появляются в различных диалоговых блоках, окнах и прочих элементах интерфейса пользователя. В общем случае, описывается - что появляется всякий раз, когда вы нажимаете F1 в диалоговых блоках или окнах.

Справочное руководство по языку (Visual FoxPro)

Приводится список статей справочного руководства по языку в алфавитном порядке.

Связанные разделы

Работа с данными

Описывается как разработать и построить вашу базу данных для создания эффективных приложений с индексами, таблицами и базами данных основанными на ваших требованиях к данным.

Работа с таблицами (Visual FoxPro)

Обсуждается каким образом вы можете убедиться в том, что выши таблицы имеют ту структуру, которая реально требуется вашему приложению.

Работа с полями

Знакомит с записями, способами их просмотра и использования для хранения данных в таблицах.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro Index Files

Visual FoxPro 9.0
Индексные файлы Visual FoxPro
Смотрите также

При создании индекса, вы предоставляете выражение, которое содержит имена полей, определяющее порядок, в котором должны быть организованы записи. Visual FoxPro создает индексный ключ для каждой записи в таблице, основанный на определенном вами индексном выражении и хранит индексные ключи в индексных файлах. Индексный файл хранит и обрабатывает указатели на записи в табличном файле (.dbf) и организует их в соответствии со значениями индексных ключей. Индексный файл является отдельным файлом, но связан с табличным .dbf-файлом.

Visual FoxPro поддерживает приведенные далее типы индексных файлов: структурный составной индексный файл (structural compound index (.cdx)), неструктурный составной индексный файл (nonstructural compound index (.cdx)), а также самостоятельные индексные файлы (standalone index (.idx)). Структурные и неструктурные .cdx-файлы содержат множественные индексы, которые имеют имена или тэги, которые идентифицируют их, тогда как самостоятельный индексный .idx-файл содержит только единичный индекс.

На приведенном ниже рисунке показан .cdx file с тремя индексными именами или тэгами. Два индексных тэга, emp_id и last_name, представляют собой индексы, основанные на единичных полях. Индексный тэг, cntry_last, организует записи, используя простое выражение, основанное на двух полях.

.cdx-файл, содержащий множество тэгов, которые представляют множество сценариев упорядочивания записей

cdx Tags Order Scenarios

В приведенной ниже таблице суммированы типы индексных файлв, используемый в Visual FoxPro, а также способы их наименования, tчисло индексных ключей, которые они могут содержать и ограничения для каждого по длине символьного выражения.

Типы индексных файлов Visual FoxPro
Тип индексного файла | Описание | Содержит | Ограничения
Структурные составные индексные файлы Structural compound index (.cdx) | Автоматически открываются и закрываются при открытии и закрытии таблиц. Используются теже базовые имена, что и имена табличных файлов. | множество индексных ключей | в 240-символов на оцениваемом выражении
Неструктурые составные индексые файлы Nonstructural compound index (.cdx) | Должен быть открыт эксклюзивно. Используются имена, отличные от базовых имен табличных файлов и определяются пользователем. | множество индексных ключей | в 240-символов на оцениваемом выражении
Самостоятельные индексные файлы Standalone index (.idx) files | Должен быть открыт эксклюзивно. Используются имена, отличные от базовых имен табличных файлов и определяются пользователем. | Единичный индексный ключ | в 100-символов на оцениваемом выражении

Структурые составные индексные файлы

При создании индексов для таблицы, Visual FoxPro автоматически создает структурный файд с расширение ".cdx" для хранения индексов. Термин "структурный" отражает тот факт, что Visual FoxPro рассматривает структурные файлы, как неотъемлемую часть таблицы и открывает и закрывает структурый индексный файл автоматически, когда вы открываете или закрываете таблицу, и автоматически же обслуживает структурный .cdx-файл когда вы добавляете, изменяете или удаляете записи из таблицы. Если таблица Visual FoxPro имеет индексный файл, ассоциированный с ней, то это обычно структурный .cdx-файл. Структурный .cdx-файл всегда имеет тоже базовое имя, что и имя файла (.dbf) таблицы.

Структурый .cdx-файл может содежрать множество индексов в одном и том же файле. Рекомендуется, чтобы вы использовали структурные индексные файлы (.cdx) для индексов, которые вы часто используете и при необходимости обслуживания записей на регулярной основе, такой как организация записей для ежедневных просмотров, ввода данных, оптимизации запросов по технологии Rushmore или для часто печатаемых отчетов.

Note Замечание

Для конкретной таблицы, Visual FoxPro хранит первичные индексы и индексы-кандидаты в структурном индексном .cdx-файле, ассоциированном с (.dbf)-файлом таблицы. Вы не можете хранить первичные индексы или индексы-кандидаты в прочих .cdx-файлах, таких как неструктурных индексных .cdx-файлах, и вам невозможно использовать для этих целей самостоятельные индексные (.idx)-файлы, поскольку индексный файл должен всегда открываться, когда бы ва не открывали ассоциированный табличный файл.

Неструктурые составные индексные файлы

Неструктурные индексные .cdx-файлы хранят множество индексов, которые в отличие от структруных индексов, нечасто используются. Вы можете использовать эти файлы, когда вы желаете создать множество индексов для специальных целей, но не желаете, чтобы приложение обслуживало их на длительной основе. Имена неструктурных индексных файлов всегда отличаются от базовых имен таблиц и определяются пользователем.

Напримре, предположим, что ваше приложение содержит специальный набор отчетов, которые анализируют данные на основе полей, которые в нормальном ходе исполнения приложения не индексированы. Вы можете создать неструктурных индексный .cdx-файл, содержащий подходящие для этих целей индексы, запустить в работу отчеты, а затем удалить неструктурные индексные файлы.

Note Замечание

В противоположность структурным индексным файлам, которые открываются автоматически каждый раз, когда вы открываете таблицу, ассоциированную с ними, вы должны сами открыть неструктурный индексный файл эксклюзивно, используя команду SET INDEX или с помощью включения опции INDEX в состав команды USE. Для получения более подробной информации смотрите описание команд SET INDEX и USE.

Самостоятельные индексные файлы

Доступные, главным образом, для совместимости с более ранними версиями Visual FoxPro, самостоятельные индексные .idx-файлы хранят единичный индексный ключ, который используется либо временно, либо не часто. Вы можете использовать такие файлы, как временные инедксы, путем их создания или реиндексирования уже имеющихся до их использования в конкретной задаче. Самостоятельные индексные .idx-файлы всегда имеют свои собственные имена, отличные от базовых имен табличных (.dbf)-файлов и определяются пользователем.

Напримре, предположим, что имеете индекс, который используется только для квартальных или годовых сборных отчетов. Вместо включения такого индекса в структурный индексный .cdx-файл, который обслуживается все время использования таблицы, вы можете создать самостоятельный индексный .idx-файл, для хранения индекса. Вы можете создать столько .idx-файлов, сколько необходимо для вашей конкретной таблицы или задачи.

Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)

Концепции

Типы индексов, используемых в Visual FoxPro

Прочие ресурсы

Структуры файлов
Working with Table Indexes

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Visual FoxPro Index Types

Visual FoxPro 9.0
Типы индексов Visual FoxPro
Смотрите также

Visual FoxPro предлагает различные типы индексов для того, чтобы вы могли выполнять дополнительные задачи с данными:

  • Управлять запретом появления дубликатов записей.

  • Устанавливать ссылочную целостность в постоянных отношениях между таблицами.

  • Оптимизировать индексы, основанные на логических выражениях.

  • Выбирать или организовывать поднаборы записей, основанные на первом появлении указанного значения.

  • Оптимизировать операции поиска и запросов.

Вы можете использовать все типы индексов, предлагаемые Visual FoxPro, за исключением бинарных индексов для выполнения запросов, представлений, упорядочивания и операции SEEK на записях. Вы можете использовать все типы индексов для оптимизации условий фильтрации и условий ON и WHERE в предложениях SQL SELECT.

В приведенной ниже таблицы суммированы сведения о типах индексов доступных в Visual FoxPro.

Типы индексов Visual FoxPro
Тип индекса | Описание | Сколько можно иметь
Primary | Не позволяет иметь дублированные значения в указанных полях или выражениях. | Один на таблицу
Candidate | Не позволяет иметь дублированные значения в указанных полях или выражениях. | Более одного на таблицу
Regular | Позволяет иметь дублированные значения в указанных полях или выражениях. | Более одного на таблицу
Binary | Индексирует записи на действительных или недействительных логических выражениях. | Более одного на таблицу
Unique | Выбирает поднабор записей основанный на первом появлении указанного значения. Включен для совместимости с более ранними версиями. | Более одного на таблицу

Первичные индексы (primary indexes)

Первичный индекс содержит индексный ключ для каждой записи в таблице и является индексом по умолчанию, когда вы не указываете любой другой индекс, как главный индекс для таблицы. Первичный индекс запрещает дублированные значения в полях или индексных выражениях, указанных для генерации индексных ключей; поэтому каждый индексный ключ в первичном индексе уникален. Вы можете создать только один первичный индекс на таблицу.

Note Замечание

Первичные индексы являются неотъемлемой частью таблицы внутри базы данных.Если вы удаляете таблицу из базы, то есть превращаете ее в свободную таблицу, то первичный индекс удаляется. Если вы определите первичный индексный ключ для любого поля, которое содержит дублирующие записи, Visual FoxPro сгенерирует ошибку.

Первичный индекс, кроме того, используется, главным образом в первичной или "ссылочной" таблице для устновки ссылочной целостности в постоянных отношениях между таблицами.

Индексы-кадидаты (candidate index)

Аналогично первичному индексу, индекс-кандидат может содержать индексный ключ для любой записи в таблице и предохранять от появления дублирующих значений в поле или в индексном выражении, определенном для генерации индексного ключа. Однако, в противоположность первичному индексы вы можете создать множество таких индексов на одну таблицу. Название "кандидат" в действительности отражает статус индекса; то есть, вы можете создать индекс кандидат, как альтернативу первичному индексу.

Note Замечание

Если вы укажете индекс-кандидат на любом поле, которое содержит дублированные значения, Visual FoxPro сгенерирует ошибку.

Индекс-кандидат может быть использовать как индекс на который ссылаются, так и как индекс к которому ссылаются для установки ссылочной целостности в постоянных отношениях между таблицами базы данных. Например, в одношении один-ко-многим или один-к-одному, вы можете использовать индексы кандидаты и первичные индексы для определения стороны "один-" (выражения "один-ко-многим") в этих отношениях.

Нормальные индексы (Regular Indexes)

Нормальный индекс содержит индексный ключ для каждой записи в таблице, но разрешает полям или выражениям, используемым для генерации индекса, иметь дублированные значения . Нормальный индекс представляет собой просто индекс, который является ни уникальным, ни первичным, ни кандидатом. Вы можете описывать множество таких индексов на одну таблицу.

Вы не можете использовать нормальные индексы для навязывания уникальности данных в этих записях. Вы можете использовать нормальный индекс для определения стороны "-многим" (выражения "один-ко-многим") в этих постоянных отношениях.

Бинарные индексы (Binary Indexes)

Винарные индексы, или индексы битовых карт, используются для создания индексов, основанных на логических выражениях, например, для индексирования удаленных записей, и поддерживаются как для свободных таблиц, так и для таблиц членов контейнера базы данных. Однако, бинарные индексы не поддерживают перечисленного ниже:

  • Использования индексного выражения оцениваемого в null.

  • Использования опции FOR для выражений фильтра.

  • Измения порядка, в котором записи отображаются и обрабатываются, например, использования ключевых слов ASCENDING, DESCENDING, UNIQUE или CANDIDATE.

  • Установки бинарных индексов как управляющих индексов, например, для использования в команде SET ORDER.

  • Осуществления операций поиска и упорядочивания.

Бинарные индексы могут быть существенно меньше по размеру, чем не-бинарные и могут значительно повысить скорость в обслуживании индексов, например, при использовании индексов, основанных на записях, помеченных для удаления. Для получения более подробной информации смотрите Индексы, основанные на записях помеченных для удаления. Visual FoxPro часто может создать битовую карту оптимизации Rushmore для бинарных индексов значитетельно быстрее, если число возвращаемых записей более, чем 3% от общего числа записей. Однако, если возвращаемое число записей менеее 3% от общего числа записей, то создание битовых карт оптимизации Rushmore является более медленным процессом. 3% барьер может уменьшаться по мере увеличения записей в таблице.

Note Замечание

Увеличение или уменьшение производительности и размеры бинарных индексов могут варьироваться в зависимости от ваших конкретных данных и архитектуры приложения. Числа, используемые в примере основываются на тестах, использующих данные, сгенерированные случайным образом.

Вы можете создавать бинарные индексы с помощью дизайнера таблиц или с помощью команды INDEX. Для получения более подробной информации смотрите Как: создавать индексы и Команды INDEX.

Уникальные индексы (Unique Indexes)

Ранние версии Visual FoxPro включали уникальные индексы. Уникальные индексы в действительности не предохраняют вас от появления дублированных записей значений, которые введены в таблицу. Название "unique" в действительности описывает входа в индексном файле, так как файл не хранит более одного исключительного индексного ключа и сбрасывает последующие появления дублированных индексных ключей. Уникальные индексы делают возможным указать, что только индексный ключ первой записи, отвечающий индексному выражению добавляется в индекс. После того, как соответствие имело место, то другие индексные ключи не добавляются в индекс. Однако таблица продолжвет содержать дублированные записи.

Note Совет

Если вы хотите выбирать записи подобным образом, то рекомендуем вам выбирать записи с помощью запросов и представлений, а не с помошью уникальных индексов. Для получения более подробной информации смотрите Работа с запросами и Работа с представлениями.

Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Indexes (Visual FoxPro)

Visual FoxPro 9.0
Как: Создать индексы (Visual FoxPro)
См. также

Создавать индексы для таблиц Вы можете в процессе создания структур этих таблиц, или позднее, после создания структуры таблицы. При создании индекса для таблицы, Вы определяете индексное выражение, которое может содержать имена полей таблицы, и определяет порядок расположения записей данной таблица при активном индексе. Вы можете также создать выражение фильтра, который будет определять условие включения записей таблицы в данный индекс.

Note Замечание

Индексы создаются достаточно легко, но их наличие может несколько замедлить выполнение приложения. Вам нет необходимости создавать индексы для каждого поля таблицы. Если индекс редко используется, то он может замедлить выполнение программы.

Создавать индексы можно при помощи системного средства Visual FoxPro Table Designer, или программным способом. Для дополнительной информации об используемых командах см. раздел Созание индексов программным способом.

Note Примечание

После создания индекса, Вам нужно активировать его для данной таблицы. См. дополнительно раздел Как: Установить управляющий индекс.

Для создания индекса при помощи Table Designer

  1. Откройте Table Designer для модификации вашей таблицы.

  2. В Table Designer, выберите закладку Indexes.

  3. В боксе Name, введите имя тэга индекса (index tag).

  4. В списке Type, выберите тип создаваемого индекса.

  5. В боксе Expression, задайте имя поля, которое будет определять порядок записей таблицы.

    -или-

    Постройте индексное выражение, нажав кнопку ellipsis - многоточие (...), расположенную справа.

    Note Примечание

    При создании индексного выражения для "двоичных" индексов, Вы должны определить логическое условие, которое отфильтровывает недействительные значения. Если индексное выражение в дальнейшем будет оцениваться как недействительное (или как недопустимое), то система Visual FoxPro может сгенерировать ошибочную ситуацию.

  6. Нажмите OK.

О типах индексов см. дополнительно типы индексов в Visual FoxPro.

Дополнительные соображения относительно индексных выражений см. в разделах Создание индексов, основанных на выражениях или Рекомендации по созданию индексных выражений.

Для индексного выражения Вы можете создать условие фильтра, которое определит условие включение записей таблицы в создаваемый индекс. См. дополнительно раздел Как: Отфильтровать Данные.

При создании индекса для таблицы, система Visual FoxPro автоматически создает структурированный компактный индексный файл, (.cdx) в котором будут храниться индексные таблицы. Данный структурный индекс имеет аналогичное имя таблицы; он открывается автоматически, вместе с открытием таблицы. См. дополнительно раздел Индексные файлы Visual FoxPro.

Note Замечание

По-умолчанию, Visual FoxPro размещает записи при активном индексе в порядке возрастания (ascending order). Вы можете, дополнительно, указать отображение записей в порядке убывания (descending order), это делается при создании индекса, или в дальнейшем, после создания индекса. См. дополнительно раздел Как: Как отобразить записи в Убывающем порядке.

Как Вы работаете с записями вашей таблицы? Вы можете спроектировать различные методы доступа к записям таблицы (располагать записи в различных порядках следования). Например, Вам нужно, чтобы записи таблицы customer располагались по порядку имен фирм-контактеров, чтобы быстро ныйти необходимого клиента, или: по порядку почтовых адресов данных клиентов - для эффективной рассылки необходимой корреспонденции своим адресатам. С помощью индексов Вы можете создавать различные сценарии обработки таблиц с данными, в зависимости от текущих требований Вашего бизнеса.

Создание Индексов программным способом

Структурированные компактные индексы (.cdx) можно создавать используя обычные команды Visual FoxPro. Это можно сделать при помощи команды SQL CREATE TABLE при начальном создании стркутуры таблицы, или создать индекс для существующей таблицы при помощи команды SQL ALTER TABLE, или при помощи команды INDEX - для уже существующей таблицы.

Note Примечание

Если Вы хотите создать первичный (primary) индекс, то используйте команды SQL CREATE TABLE или ALTER TABLE. С помощью команды INDEX Вы не сможете создать первичный индекс.

Для создания структурного индекса (.cdx) при создании создании структуры таблицы

  1. Используйте команду SQL CREATE TABLE для определения имени ключевого поля таблицы.

  2. Для создания первичного ключа (индекса), укажите опцию PRIMARY KEY вместе с необходимым Вам полем - ключем таблицы.

    -или-

    Для создания индекса типа candidate index, укажите опцию UNIQUE.

    Note Примечание

    Включение опции UNIQUE - это не тоже самое, что и уникальный индекс.

    -или-

    Для всех других индексов, укажите опцию FOREIGN KEY.

Для создания структурного индекса (.cdx) для уже существующей таблицы

  1. Используйте команду SQL ALTER TABLE для определения имени ключевого поля таблицы.

  2. Для создания первичного ключа (индекса), укажите опцию PRIMARY KEY или ADD PRIMARY KEY вместе с полем, которое должно стать индексным ключем.

    -или-

    Для создания индекса типа candidate index, укажите опцию ADD UNIQUE.

    -или-

    Для всех других индексов, укажите опцию ADD FOREIGN KEY.

Например, для таблицы Customer из базы данных TestData, Вы можете создать первичный ключ по полю Cust_ID при помощи следующих команд:

CopyCode image Копировать Код
ALTER TABLE Customer ADD PRIMARY KEY Cust_ID TAG Cust_ID
ALTER TABLE Customer ALTER COLUMN Cust_ID c(5) PRIMARY KEY

См. дополнительно разделы Команда CREATE TABLE - SQL, Команда ALTER TABLE - SQL, или Команда INDEX .

Создать структурированный индекс (.cdx) можно из нескольких независимых индексных файлов (.idx); для этого используется команда COPY INDEXES , в которой отсутствует опция TO.

Для создания структурного индекса (.cdx) из нескольких индексных файлов (.idx)

  1. Используйте команду COPY INDEXES, в которой укажите один или несколько имен независимых индексных файлов (.idx). Если все нужные индексные файлы уже открыты, то можно указать опцию ALL , (вместо имен индексных файлов).

  2. Опция TO - не указывается.

См. дополнительно раздел команда COPY INDEXES.

См. также

Задачи

Как: Создавать индексы типа "Less Frequently"

Другие ссылки

Работа с Индексами Таблиц

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Index Creation Based on Expressions

Visual FoxPro 9.0
Создание индексов, основанных на выражениях
Смотрите также

Вы можете увеличить производительность приложения путем создания индексов, основанных на выраженях. Выражения могут самыми разными, от очень простых до сложных в зависимости от задач, для которых вы будете создавать такие индексы. Вы можете выполнять разные задачи путем создания индексов с выражениями и это описано в приведенных ниже разделах:

  • Индексы, основанные на простых выражениях
  • Индексы, основанные на сложных выражениях
  • Использование в индексных выражениях полей, допускающих Null-значения

Вы можете значительно увеличить скорость запросоа, отчетов и прочих операций, которые используют индексные выражения, которые, в свою очередь, используют оптимизацию Rushmore. Для получения более подробной информации смотрите Оптимизация приложений.

Индексы, основанные на простых выражениях

Вы можете создать индексы используя простые индексные выражения, которые основываются либо на единичном поле или на соединении двух или более полей. Кроме того, вы можете создать индекс, использя поля из другой таблицы.

Note Совет

Если вы желаете включить в индексное выражение поля с разными типами данных, то сконвертируйте все несимвольные поля в символьные путем включения имени поля в функцию STR( ).

Например, предположим, что, вы желаете организовать данные по максимальной сумме счета и затем по имени компании. Приведенный ниже пример преобразует поля MaxOrdAmt field, которое имеет тип Currency, таким образом, чтобы оно могло быть соединено с полем Company, которое имеет тип Character:

CopyCode image Скопировать код
STR(customer.maxordamt,20,4) + customer.company

Для получения более подробной информации смотрите STR( ).

Одно или более полей в индексных выражениях

Когда вы включаете одно или более полей в индексное выражение, вы можете выполнять описанные ниже задачи:

  • Сортировать данные в порядке, в котором поля появились в индексном выражении.

    Visual FoxPro оценивает поля в порядке, в котором они появились в индексном выражении. Например, предположим что вы желаете видеть записи в таблице customer, отсортированными по стране (поле country), региону (поле region) и затем по признаку потребителя (поле ID). Приведенное выражение создает индекс для таблицы customer с помощью использования знака "плюс" для объединения множества полей:

    CopyCode image Скопировать код
    customer.country + customer.region + customer.cust_id
  • Предотвратить появление дибликатов значений в таблице с помощью использования первичного индекса или индекса-кандидата, которые включают в себя одно и более полей.

    Для получения более подробной информации о контроле над дублирующими друг друга значениями прочитайте Дублированные значения в полях.

  • Оптимизировать производительность и увеличить скорость запросов и представлений с фильтрами на более чем одном поле с помощью включения более одного поля в индексное выражение.

    Путем включения поля, которое изменяется в меньшей степени, в начало индексного выражения, индексирование может быть ограничено теми полями, значения данных в которых изменяются более часто. Например, предположим вы пожелаете организовать записи в таблице customer по стране, почтовому коду внутри страны и по имени компании за почтовым кодом. В приведенном ниже примере поле Country появляется в начале списка, посольку оно изменяется не так часто:

    CopyCode image Скопировать код
    customer.country + customer.postal_code + customer.company

Использование полей из других таблиц в индексном выражении

Вы можете создавать индексное выражение, которое ссылается на поля в другой таблице, например, поля таблицы открытой в другой рабочей области. Однако, рекомендуем вам использовать подобное построение индекса для случаяе, когда вы будете хранить индексные тэги, которые ссылаются на поля более чем в одной таблице в отдельном индексном файле (.idx), вместо хранения их в ассоциированном структурном индексном файле (.cdx). Когда индексный тэг для одной таблицы ссылкается на другую таблицу, Visual FoxPro не позволит открытие таблицы, связанной с .cdx файлом до тех пор пока вы не откроете другую таблицу, на которую имеется ссылка в индексном тэге.

CopyCode image Скопировать код
customer.country + customer.region + customer.cust_id

Индексы, основанные на сложных выражениях

Вы можете создать индексы, используя сложные выражения, которые могут содержит константы, функции Visual FoxPro, хранимые процеду и функции, определенные пользователем. Для получения преимуществ, связанных с Rushmore Query Optimization, индексное выражение должно точно соответствовать критериями оптимизации.

Функции Visual FoxPro в индексных выражениях

Вы можете использовать в индексных выражениях родные функции Visual FoxPro.

Самый простой пример - использование функции STR( ) для преобразования численных значений в символьные строки. Предположим, что вы желаете создать индекс для таблицы customer, уоторый объединит поле ID с максимальной суммой счета в заказе. Вы можете преобразовать значения поля из Currency в Character используя приведенный ниже код:

CopyCode image Скопировать код
INDEX ON cust_id + STR(maxordamt, 8, 2) TAG custmaxord

Если вы желаете снизить размер индекса для полей с целочисленными значениями, вы можете преобразовать целочисленные значения в их бинарные символьные представления с помощью функции BINTOC( ). Кроме того, вы можете преобразовать бинарные значения в целочисленные с помощью функции CTOBIN( ).

Если вы желаете создать индекс для сортировки таблицы в хронологическом порядке вы можете использовать функцию DTOS( ) для преобразования значений в полях типа date в символьные строки. Например, предположим, что вы желаете иметь доступ к таблице работников по дате найма и идентификатору ID. Приведенный ниже пример кода создает индексное выражение выполняющее эту задачу:

CopyCode image Скопировать код
INDEX ON DTOS(hire_date) + emp_id TAG id_hired

Для получения более подробной информации смотрите описание функций STR( ), BINTOC( ), CTOBIN( ) и DTOS( ).

Хранимые процедуры или определенные пользователем функции в индексных выражениях

Вы можете поднять мощность индексов, путем ссылки на хранимые процедуры или включением ваших собственных функций (UDF) в индексное выражение.

Note Замечание

Примите во внимание некоторые соображения при включении UDF в индексное выражение. Ссылка на хранимые процедуры или использование UDF в индексном выражении увеличивает время создания индекса. Для получения более подробной информации смотрите Соображения по составлению инддексных выражений.

Например, вы можете спользовать хранимые процедуры для извлечения названия улицы из единичного поля, значения в котором хранят как название улицы, так и ее номер. Если номер улицы всегда представляет собой число, то хранимая процедура может вернуть символьную часть хранящегося в поле значения и дополнить поле пробелами, которые необходимы для создания индексных ключей с фиксированной длиной. Вы можете использовать такой индексный ключ для доступа к записям в таблице в порядке, основанном на названии улицы.

Использование в индексных выражениях полей, допускающих Null значения

Вы можете создать индексы на полях, которые допускают null значения. Visual FoxPro вставляет индексные выражения, которые оцениваются в пусто (.NULL.) в компактный индекс (.cdx) или отдлеьный индексный (.idx) файл, впереди индексный выражений, которые не оцениваются в null. Поэтому все null значения появляются в начале индекса.

Например, привепденный ниже рисунок демонстрирует эффект индексирования null значений. До применения индекса, первый рисунок показывает поле Social Security для третьей и пятой записи, которые содержат null (.NULL.) значения, что говорит о том, что номера Social Security либо неизвестны, либо недоступны.

Null значения имеются в двух записях поля SocSec.

FoxPro Table Example

Приведенный ниже пример создает индекс, используя индексное выражение, содержащее поле Social Security:

CopyCode image Скопировать код
INDEX ON SocSec + LastName + FirstName TAG MyIndex

Когда вы примените такой индекс, в таблице первыми отобразятся те записи, которые содержат пустые значения для номеров Social Security, упорядоченные по фамилии в убывающем порядке, за которыми следуют оставшиеся записи, упорядоченные по номеру Social Security number.

Note Замечание

В этой таблице имеется два значения Alan Carter. Однако, поскольку в записи номер 5 содержится null значение, то эта запись - с номером 5 индексируется до записи с номером 2.

Записи, которые содержат null-значения в поле SocSec появляются первыми.

FoxPro Example Table Null

Смотрите также

Задачи

Как: создать индексы (Visual FoxPro)

Справочное руководство

Соображения по созданию индексных выражений

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Considerations for Creating Index Expressions

Visual FoxPro 9.0
Соображения по созданию индексных выражений
Смотрите также
CollapseAll image

При создании индексных выражений имейте в виду следующие соображения:

  • Если вы укажете индексное выражение, котороое превышает ограничения установленные для индексов, то Visual FoxPro сгенерирует ошибку.

    Длина индексного ключа в составном индексном (.cdx) файле должна быть в пределах от 1 до 240 символов. Длина индексного ключа в индексном (.idx) файле должна лежать в диапазоне от 1 до 100 символов. С некоторыми последовательностями сопоставления (collating sequences) или при использовании двухбайтных символьных наборов (DBCS), каждый символ в индексном выражении использует два символа в индексном ключе. В таким случаях максимальная длина индексного выражения снижается вдвое и составляет 120 символов (в составном индексном файле).

  • Если вы создаете индексное выражение с использованием численных полей, индекс организует записи по сумме полей, а не по самим полям.

  • Visual FoxPro не поддерживает переменную длину индексного ключа. Если вы попытаетесь построить индекс с ключом, который имеет различные длины, то ключ будет дополнен пробелами.

  • Не используйте для индексных выражений переменные, массивы элементов или поля, а также выражения полей из таблицы, открытой в другой рабочей области.

    Есил вы попытаетесь получить доступ к индексу, который содержит переменную или поле, которые, либо не существуют, либо не могут быть найдны, то Visual FoxPro сгенерирует сообщение об ошибке.

  • Даже несмотря на то, что Visual FoxPro сгенерирует ошибку, все-таки возможно создать индексный ключ с нулевой (0) длиной.

    При создании индекса Visual FoxPro оценивает поля в первой записи в таблице. Поэтому, если индексное выражение представляет собой подстроку пустого мемо-поля, то создается индекс нулевой длины.

    Note Совет

    Для избежания создания индексных ключей нулевой длины в случае, если поле ничего не содержит, может быть придется ввести в поле первой записи таблицы какие-то временные данные.

  • Visual FoxPro дополняет индексные ключи, основанные на полях с типами Character, Varchar, Varchar (Binary) и Varbinary и выражениях.

    Индексные ключи, основанные на полях с типами Varchar, Varchar (Binary) и Varbinary и ваыражениях включают в себя дополнения, несмотря на то, что сами эти типы полей не используют дополнений по длине при хранении. Индексные поля, основанные на типах Varchar и Varchar (Binary) дополняются дополнительными пробелами, по аналогии с индексными ключами, основанными на полях типа Character и выражениях. Индексные выражения, основанные на полях с типом Varbinary или выражениях, дополняются нулями с правой стороны значения в поля до достижения длины, соответствующей максимальной длине поля, установленной при создании таблицы. Например, значения 0hAA, 0hAA00 и 0hAA000 будут иметь одинаковый индексный ключ 0hAA0000. Для получения более подробной информации смотрите Varchar Field Type и Varbinary Data Type.

  • Поля типов Memo и Blob не могут использоваться сами в индексных выражениях, поэтому они должны быть объединены с другими символьными выражениями и с другими символами в выражениях инедксного файла. Поля типа General не могут быть использованы в индексных выражениях.

    Если вы включите в индексное выражение поле, снабженное префиксом псевдоимени таблицы или рабочей области (например: customer.subaaccount/a.subaccount) Visual FoxPro сгенерирует сообщение об ошибке.

  • Опасайтесь использования псевдоимен полей при создании индексов, даже несмотря на то, что вы можете оптимизировать опцию FOR (с технологией Rushmore Query Optimization) в которую включены поля с псевдоименами.

    В некоторых случаях, например, при использовании команд USE...AGAIN и SQL запросов, таблице автоматически присваиваются различные псевдоимена и индекс, в таких случаях, может быть неверно обновлен или использован. Для получения более подробной о технологии оптимизации Rushmore смотрите Использование оптимизации запросов Rushmore для ускорения доступа к данным.

  • Хотя индексные выражения могут включать в себя пользовательские функции (UDF), все-таки не рекоменуется включать их в индексное варажение.

    Хотя обе, и хранимая процедура, и пользовательская функция, использованные в индексном выражении приводят к увеличению времени создания индекса или его обновления, но, если ваша таблица ассоциирована с контейнером базы данных, советуем использовать хранимые процедуры, а не пользовательские функции в ваших индексных выражениях.

    Если вы используете свои собственные пользовательские функции (UDF) в индексных выражениях, Visual FoxPro должен быть способен найти их. Когда Visual FoxPro создает индекс, то индексное выражение сохраняется в индексном файле; однако в случае UDF, включенной в индексное выражения, в индексный файл будет включена только ссылка на нее. UDF хранятся в файле, которые не связваны с базой данных; поэтому, возможно перемещение или удаление файла, содержащего пользовательскую функцию, что приведет к образованию недействительной ссылки на пользовательскую функцию в индексном выражении.

    В противоположность пользовательским функциям, код хранимой процедуры хранится в файле контейнера базы данных (.dbc) и может быть всегда найден Visual FoxPro. Кроме того, ссылка на хранимую процедуру в индексном выражении гарантирует, что индекс основывается на точном указанном вами коде.

    Кроме того, обновление индекса может вообще не произойти, если пользовательская функция находится вне области видимости приложения, которое изменяет индекс. Если вы используете UDF в ваших индексных выражениях, Visual FoxPro использует любую UDF, которая находится в зоне видимости приложения в момент индексирования таблицы и имеет одинаковое имя со ссылаемой в индексном выражении функцией.

    Если вы используете UDF, ассоциированную с базой данной в индексном выражении, Visual FoxPro обрабатывает выражение в той же манере, в какой он обслуживает выражения правил и триггеров, которые содержат UDF. Для получения подробной информации смотрите Усиление правил бизнес-логики и Использование триггера.

  • Убедитесь, что использование функции не зависит от установки текущей кодовой страницы при создании индекса, которое могло бы быть изменено при использовании других кодовых страниц. Результаты, возвращаемые некоторыми функциями могут различаться в зависимости от текущей кодовой страницы.

    Например, функция UPPER( ) использует кодовую страницу для преобразования строки и может даже иметь следствием непредсказуемый результат, если индекс изменяется при смене кодовых страниц. Вы можете вместо указанной функции использовать фукнцию STRCONV( ), STRCONV(...,8,...).

    Visual FoxPro оценивает индексные выражения путем чтения символов из таблицы без дополнительной трансляции кодовой страницы, даже если текущая кодовая страница (CPCURRENT()) не соответствует кодовой странице индексируемой таблицы (CPDBF()) для того, чтобы обеспечить одинаковый результат независимо от текущей кодовой страницы.

Expand image Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)

Справочное руководство

Команда INDEX

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Indexes Based on Deleted Records

Visual FoxPro 9.0
Индексы, основанные на записях, помеченных для удаления
Смотрите также

Когда записи помечены для удаления в Visual FoxPro, они не удаляются физически до тех пор, пока не будет вызвана команда PACK. Поэтому, эти записи остаются видимыми и к ним имеется доступ для производства базовых операций с таблицами до тех пор, пока действует установка, определенная командой SET DELETED OFF. Если команду выпустить с опцией ON, то записи помеченные для удаления будут скрыты от базовых операций.

Для гарантии, что оптимизация Rushmore будеи использована в запросах, некоторые разработчики создают индексные тэги для записей, помеченных для удаления с помощью функции DELETED( ) в индексном выражении. Функция DELETED( ) определяет, помечена ли запись для удаления. Например, приведенная ниже строка кода создает индекс с именем Deleted используя индексное выражение, которое включает в себя функцию DELETED( ), которая отбирает записи помеченные для удаления:

CopyCode image Скопировать код
INDEX ON DELETED() TAG Deleted

Однако, проблемы производительности по-прежнему существуют при использовании этого метода, обычно, при работе с большми наборами данных в сетевом LAN/WAN окружении, когда записи, помеченные для удаления разбросаны по таблице и когда по сети перемещается большой индекс.

Вместо этого, вы можете создать и использовать бинарный индекс, который оптимизирует бит, отвечающий за удаление записи, для увеличения производтельности, когда вы выдаете команду SET DELETED ON. Вы можете создать бинарный индекс с помощью выбора Binary index type в табличном дизайнере или с помощью ввода ключевого слова BINARY в команду INDEX. Напримре, приведенный ниже код создает ьинарный индекс с именем myDeleted, который отбирает записи, помеченные для удаления:

CopyCode image Скопировать код
INDEX ON DELETED() TAG DeletedTag BINARY

Для получения подробной информации смотрите Типы индексов в Visual FoxPro, Функция DELETED( ) и Команда SET DELETED.

Оптимизация Rushmore для индексов, основанных на записях, помеченных для удаления

Для индексов, основанные на записях, помеченных для удаления, Visual FoxPro включает в себя следующие расширения для оптимизации Rushmore в SQL движке:

  • INDEX ON NOT(DELETED()) оптимизирует условия запросов NOT(DELETED()) и DELETED(). В версиях, до Visual FoxPro 9.0, оптимизируемым было только DELETED().

    Например, оптимизированными являются приведенные ниже запросы:

    CopyCode image Скопировать код
    CLEAR
CLOSE DATABASE ALL
SYS(3054,1)
CREATE TABLE myTable (f1 I)
INDEX ON NOT(DELETED()) TAG NotDel

SET DELETED OFF
SELECT * FROM myTable WHERE NOT(DELETED()) INTO CURSOR tempCursor
SELECT * FROM myTable WHERE DELETED() INTO CURSOR tempCursor

SET DELETED ON
SELECT * FROM myTable INTO CURSOR tempCursor
INDEX ON DELETED() TAG Del

SET DELETED OFF
SELECT * FROM myTable WHERE NOT(DELETED()) INTO CURSOR tempCursor
SELECT * FROM myTable WHERE DELETED() INTO CURSOR tempCursor

SET DELETED ON
SELECT * FROM myTable INTO CURSOR tempCursor
CLOSE DATABASE ALL

  • INDEX ON ... FOR DELETED( ) или INDEX ON ... FOR NOT(DELETED()) оптимизируют условия запросов DELETED() или NOT(DELETED()) query соответственно когда не присутствуют INDEX ON DELETED() или INDEX ON NOT(DELETED()).

    For example, the following queries are now optimized:

    CopyCode image Скопировать код
    CLEAR
CLOSE DATABASES ALL
SYS(3054,1)
CREATE TABLE myTable (f1 I)
INDEX ON f1 TAG f1_NotDel FOR NOT(DELETED())
INDEX ON f1 TAG f1_Del FOR DELETED()

SET DELETED OFF
SELECT * FROM myTable WHERE NOT(DELETED()) INTO CURSOR tempCursor
SELECT * FROM myTable WHERE DELETED() INTO CURSOR tempCursor

SET DELETED ON
SELECT * FROM myTable INTO CURSOR tempCursor
INDEX ON DELETED() TAG DeletedRec

SET DELETED OFF
SELECT * FROM myTable WHERE NOT(DELETED()) INTO CURSOR tempCursor
SELECT * FROM myTable WHERE DELETED() INTO CURSOR tempCursor

SET DELETED ON
SELECT * FROM myTable INTO CURSOR tempCursor
CLOSE DATABASES ALL

  • Когда Visual FoxPro может определить, что запрос не должен возвращать удаленные или неудаленные записи, и, если не присутствует нефильтрованный индекс, он использует INDEX ON <expression> ... FOR DELETED() или INDEX ON <expression> FOR NOT(DELETED()).

    Например, приведенные ниже запросы являются оптимизируемыми:

    CopyCode image Скопировать код
    CLEAR
CLOSE DATABASE ALL
SYS(3054,1)
CREATE TABLE myTable (f1 I,f2 I)
INDEX ON f1 TAG f1_NotDel FOR NOT(DELETED())
INDEX ON f1 TAG f1_Del FOR DELETED()

SET DELETED OFF
SELECT * FROM myTable WHERE ;
  (NOT(DELETED()) AND f1>3) OR ;    && Тэг f1_NotDel используется для оптимизации.
  (DELETED() AND f1<3) ;       && Тэг f1_Del используется для оптимизации.
  INTO CURSOR tempCursor
SELECT * FROM myTable WHERE ;
  (f1>3 AND NOT(DELETED())) OR ;   && Не оптимизируемое. f1>3 идет первым.
  (f1<3 AND DELETED()) ;      && Не оптимизируемое. f1<3 идет первым.
  INTO CURSOR tempCursor

SET DELETED ON
SELECT * FROM myTable WHERE ;
  (f1>3000) OR ;       && Тэг f1_NotDel используется для оптимизации.
  (f1<1000) ;         && Тэг f1_NotDel используется для оптимизации.
  INTO CURSOR tempCursor
INDEX ON f1 TAG f1

SET DELETED OFF
SELECT * FROM myTable WHERE ;
  (NOT(DELETED()) AND f1>3) OR ;   && Тэг f1 используется для оптимизации.
  (DELETED() AND f1<3) ;    && Тэг f1 используется для оптимизации.
  INTO CURSOR tempCursor

SET DELETED ON
SELECT * FROM myTable WHERE ;
  (f1>3000) OR ;       && Тэг f1 используется для оптимизации.
  (f1<1000) ;      && Тэг f1 используется для оптимизации.
  INTO CURSOR tempCursor
CLOSE DATABASE ALL

  • Если для оптимизации Rushmore используются только индексы с выражением фильтра NOT(DELETED()) и SET DELETED установлен в ON, тогда then дополнительная оптимизация, использующая NOT(DELETED()) не производится, так как в этом нет необходимости.

SQL ) and MAX( оптимизация для агрегатных функций MIN( ) и MAX( )

Когда это подходит, Visual FoxPro использует выражения фильтра FOR DELETED() и FOR NOT(DELETED()) для оптимизации агрегатных функций MIN( ) и MAX( ). Visual FoxPro использует фильтрованные выражения, основанные на индексном выражении DELETED(), когда это возможно.

Фильтрованные инедксы, которые используют FOR NOT(DELETED()) могут предоставить дополнительную оптимизацию с SQL запросами с любой установкой SET DELETED. Однако, фильтрованный индексный тэг с FOR DELETED() предоставляет преимущества только тогда, когда SET DELETED установле в OFF.

Note Замечание

Эти оптимизации не основаны на технологии Rushmore; поэтому они не появляются в результате, возвращаемом SYS(3054) - Rushmore Query Optimization Level.

CopyCode image Скопировать код
CLEAR
SET SAFETY OFF
CLOSE DATABASE ALL

CREATE TABLE myTable (f1 I)
INDEX ON f1 TAG f1

SET DELETED OFF
SELECT MAX(f1) FROM myTable INTO CURSOR temp1
* тэг f1 используется для оптимизации MAX(f1)

SELECT MAX(f1) FROM myTable WHERE DELETED()INTO CURSOR temp1
* MAX(f1) не оптимизируемое, а поэтому медленное

SET DELETED ON
SELECT MAX(f1) FROM myTable INTO CURSOR temp1
* MAX(f1) не оптимизируемое, а поэтому медленное

SELECT myTable
INDEX ON f1 TAG f1Del FOR DELETED()
INDEX ON f1 TAG f1NotDel FOR NOT(DELETED())

SET DELETED OFF
SELECT MAX(f1) FROM myTable INTO CURSOR temp1
* тэг f1 используется для оптимизации MAX(f1)

SELECT MAX(f1) FROM myTable WHERE DELETED()INTO CURSOR temp1
* тэг f1Del используется MAX(f1)

SET DELETED ON
SELECT MAX(f1) FROM myTable INTO CURSOR temp1
* тэг f1NotDel используется для оптимизации MAX(f1)

CLOSE DATABASE ALL

Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)
Как: создавать нечасто используемые индексы
Как: фильтровать данные

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Filter Data

Visual FoxPro 9.0
Как: фильтровать данные
Смотрите также

Вы можете ограничить записи, к которым вы обращаетесь, только теми, которые вам действительно нужны с помощью индекса фильтрации или временного условия фильтра. Когда вы создаете индекс фильтрации (filtered index), Visual FoxPro создает индексные ключи в индексном файле только для тех записей, которые отвечают выражению фильтра. Индексы фильтрации полезны при создании сложные условий фильтра.

Note Замечание

Не рекомендуется использовать значения, которые отличаются от значений полей, имен констант и встроенных функций для создания выражения фильтра. Вы не можете указать выражение фильтра для бинарных индексов.

Для создания индекса фильтрации

  1. Откройте Table Designer для редактирования желаемой таблицы и перейдите на закладку Indexes.

  2. В боксе Filter впечатайте выражение фильтра.

    - или -

    Постройте выражение фильтра, шелкнув по кнопке троеточия (...) справа от бокса Filter.

  3. Щелкните по OK.

Например, приведенное ниже выражение фильтра выбирает только те записи, которые относятся к потребителям из Канады:

CopyCode image Скопировать код
customer.country = "Canada"

Для создания индекса фильтрации программно

  • Используйте команду INDEX и включите опцию FOR для указания выражения фильтра.

Например, предположим, что вы желаете подготовить список рассылки для торговых представителей вашей компании и вы желаете отсортировать список по странам. Вы можете создать индекс, который отфильтрует таблицу работников так, чтобы появились записи только для торговых представителей, упорядоченные по стране и фамилии. Приведенный ниже пример кода создает индекс фильтрации и отображает отфильтрованные данные в окне просмотра:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Employee
INDEX ON country+last_name FOR title = "Sales Representative" ;
TAG reps_cntry
BROWSE

Когда вы увидите окно просмотра, то в нем будут представленые только торговые представители; записи для других работников вообще не появятся в окне просмотра.

Индекс фильтрации строит индекс только для тех записей, которые отвечают выражению фильтр.
FoxPro Employee Table

Надписи на рисунке - слева направо и сверху вниз:
Значение поля title="Sales Representative"
Да
Строится индекс на значениях полей "Country" и "LastName"
Просмотр результата в окне browse

Для получения более подробной информации смотрите описание команды INDEX.

Временные фильтры

Вы, кроме того, можете временно фильтровать данные без создания индекса фильтрации.

Для временного фильтрования данных

  • Используйте команду SET FILTER.

    SET FILTER особенно полезна, когда вы желаете указать временное условие, по которому можно обращаться к данным в таблице.

В приведенном ниже примере, SET FILTER фильтрует таблицу Customer для отображения только тех потребителей, которые находятся в Германии:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
SET FILTER TO country = "Germany"
BROWSE

SET FILTER акцептирует любые действительные логические выражения Visual FoxPro в качестве условия фильтра. Вы можете отключить фильтр для текущей таблицы с помощью SET FILTER TO без указания выражения.

После использования SET FILTER, в таблице будут доступны только те записи, которые удовлетворяют условию фильтра. Все команды, которые обращаются к таблице будут учитывать выражение SET FILTER. Вы можете установить отдельный фильтр для каждой открытой таблицы.

Для получения более подробной информации смотрите описание команды SET FILTER.

Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)
Как: отображать записи в убывающем порядке

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Create Less Frequently Used Indexes

Visual FoxPro 9.0
Как: создать нечасто используемые индексы
Смотрите также

Если вы желаете создать индекс, который используется редко, например, для каких-то специальных целей, вы можете хранить его в неструктурном составном индексном (.cdx) файле, который может хранить множество индексов. Кроме того, вы можете хранить такие индексы, а также временные индексы в самостоятельных (.idx) файлах, включенных в поставку, для обеспечения совместимости в более ранними версиями. Для получения более подробной информации об индексных файлах для хранения нечасто используемых индексов смотрите Индексные файлы Visual FoxPro.

Вы можете создавать неструктурные .cdx файлы и самостоятельные .idx файлы используя команды языка Visual FoxPro.

Индексы в неструктурных составных индексных файлах

Для уже существующей таблицы вы можете создать индекс в неструктурном.cdx-файле, используя команду INDEX с опциями TAG и OF или с помощью копирования одного или более самостоятельных индексных файлов (.idx) с помощью команды COPY INDEXES.

Для создания индекса в неструктурном индексном .cdx-файле

  1. Используйте команду INDEX, для указания индексного выражения.

  2. Включите в нее опцию TAG для указания имени или тэга для индекса.

  3. Включите в нее опцию OF для указания имени неструктурного .cdx-файла.

Например, приведенные ниже строки кода открывают таблицу Employee в Visual FoxPro тестовой базе данных TestData, и создают индекс , основанный на поле Title. Команда INDEX включает в себя опцию TAG для указания имени или тэга для индекса и опцию OF для сохранения индекса в неструктурном .cdx-файле с именем QRTLYRPT с расширением .cdx:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Employee
INDEX ON Title TAG Title OF QRTLYRPT

Для получения более подробной информации смотрите описание команды OPEN DATABASE, USE и INDEX.

Для создания индекса в неструктурном индексном .cdx-файле из .idx-файла

  1. Используйте команду COPY INDEXES для указания одного или более имен .idx-файлов. Для включения каждого индексного ключа из всех открытых .idx-файлов используйте ключевое слово ALL.

  2. Включите в команду опцию TO для указания имени неструктурного .cdx-файла.

Для получения более подробной информации смотрите описание команды COPY INDEXES.

Индексы в самостоятельных индексных файлах

Для уже существующей таблицы, вы можете создать одноключевой (в статьях встречается, также термин одновходовой - JS) индекс в самостоятельном .idx-файле с помощью команды INDEX с включенной в нее опцией TO или с помощью копирования индекса из составного индексного (.cdx) файла с помощью команды COPY TAG.

Note Совет

Для создания маленького и быстро доступного индексного файла, включите в команду опцию COMPACT. Однако, для создания .idx-файла, совместимого с форматами индексов FoxBASE+® и FoxPro® версии 1.0, опуститу опцию COMPACT.

Note Замечание

По умолчанию, .cdx-файлы всегда компактны.

Для создания одноключевого индекса

  1. Используйте команду INDEX для указания индексного выражения.

  2. Включите в команду опцию TO для указания имени .idx-файла.

  3. Включите в команду опцию COMPACT.

Например, приведенные ниже строки кодв открывают таблицу Orders в Visual FoxPro тестовой базе данных TestData и создают индекс, основанный на поле Order_Date. Опция TO указывает OrdDate как имя .idx-файла. Команда SET ORDER устанавливает порядок таблицы с файлом OrdDate, а команда BROWSE открывает окно просмотра, в котором записи отображаются, упорядоченные по полю Order_Date:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Orders
INDEX ON Order_Date TO OrdDate COMPACT
SET ORDER TO OrdDate
BROWSE

Для получения более подробной информации смотрите описание команд OPEN DATABASE, USE, INDEX, SET ORDER и описание окна Browse.

Кроме того, вы можете создать самостоятельный индекс из индекса в .cdx-файле с помощью команды COPY TAG.

Для создания одноключевого индекса из .cdx-файла

  1. Используйте команду COPY TAG для указания имени индекса в .cdx-файле.

  2. Если необходимо, включите в состав команды опцию FROM для указания имени .cdx-файла.

  3. Включите в состав команды опцию TO для указания имени .idx-файла.

  4. Включите в состав команды опциюCOMPACT.

Например, предположим, что они из индексов в структурном файле .cdx используется только для квартальных или годовых отчетов. Вы можете перенести этот индекс из файла .cdx file в .idx-файл. Приведенный ниже пример открывает таблицу Employee в тестовой базе данных TestData и создает одноключевой индекс, основанные на индексе с именем Birth_Date в структурном файле .cdx, ассоциированном с таблицей Employee. Одноключевой индекс сохраняется в .idx-файле, названном BirthDate.

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Employee
COPY TAG Birth_Date TO BirthDate COMPACT
Note Замечание

Когда открывается таблица, то также открывается и структурный .cdx-файл, ассоциированный с этой таблицей.

Note Совет

После создания файла .idx из .cdx-файла, вы должны удалить тэг из .cdx-файла. Для получения более подробной информации об удалении индексов смотрите Как: удалять индексы (Visual FoxPro).

Для получения более подробной информации смотрите описания команд OPEN DATABASE, USE и COPY TAG.

Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)

Концепции

Типы индексов в Visual FoxPro

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Controlling Indexes

Visual FoxPro 9.0
Как: установить управляющие индексы
Смотрите также

Таблица может имть несколько одновременно открытых индексных файлов; однако, только один мастер-индекс, или другими словами, управляющий индекс, определяет порядок, в котором Visual FoxPro отображает записи или обеспечивает доступ к таблице. Кроме того, определенные команды, такие как команда SEEK, используют управляющий индекс для поиска записей.

Note Замечание

Вы не можете выбрать бинарные индексы в качестве управляющих. Visual FoxPro не поддерживает в команде SET ORDER установку на бинарный индексный тэг. Если вы попытаетесь установить порядок по бинарному тэгу, Visual FoxPro сгенерирует ошибку, и текущее упорядочивание будет производится в соответствии с предыдущей установкой. Записи в таблице отображаются и обрабатываются по порядку их номеров, и не в индексированном порядку. Поэтому, Visual FoxPro не поддерживает операций SEEK по бинарным индексам.

После того, как вы создадите один или более индексов для таблицы, вам необходимо присвоить управляющий индекс, для организации записей в вашей таблице. Вы можете назначить в качестве управляющего индексного тэга или файла индексный тэг в составлном индексном файле - (.cdx) или в свободном индексном фале - (.idx). Все открытые индексные файлы обновляются всякий раз, когда вы производите изменения в таблице.

Вы можете выбрать управляющий инекс с помощью интерфейса среды разработки Visual FoxPro IDE или с помощью команд.

Для назначения индекса в качестве управляющего индекса

  1. Откройте вашу таблицу для просмотра в окне browse.

  2. В меню Table выберите Properties.

  3. В боксе Index order диалогового блока Work Area Properties выберите индекс, который вы желаете использовать.

  4. Выберите OK.

В окне browse отобразятся записи, упорядоченные по указанному вами индексу.

Для установки управляющего индекса программным способом

  • Используте одно из приведенного ниже:

    • Для установки управляющего индекса таблицы используйте команду SET ORDER.

      Note Совет

      При открытии таблицы с помощью команды USE, включите в ее состав опцию ORDER для того чтобы выполнить то же самое, что выполняет команда SET ORDER.

      У вас нет необходимости использовать SET ORDER для заупщенных запросов.

    • Для установки управляющего индекса для текущей открытой таблицы используйте команду SET INDEX.

      Note Совет

      При открытии таблицы с помощью команды USE, включите в ее состав опцию INDEX для того чтобы выполнить то же самое, что выполняет команда SET INDEX.

Например, предположим, что для таблицы Customer тестовой базы данных TestData, включенной в поставку Visual FoxPro, создан индекс с именем тэга Country. Приведенный ниже пример использует команду SET ORDER для указания Country в качестве управляющего индекса для отображения записей в таблице, когда вы ее открываете. Команда BROWSE откроет окно browse и отобразит записи, упорядоченные по имени страны:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
SET ORDER TO Country
BROWSE

Для получения более подробной информации смотрите описание команд SET ORDER, SET INDEX, USE и BROWSE.

Смотрите также

Задачи

Как: создавать индексы (Visual FoxPro)
Как: выбирать индексы в Run Time
Как: отобразить записи в убывающем порядке

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Select Indexes at Run Time

Visual FoxPro 9.0
Как: выбрать индексы в Run Time
Смотрите также

Вы можете предоставить пользователю возможность интерактивной организации записей, когда, к примеру, пользователь щелкает по заголовку колонки решетки (grid) в форме. Например, предположим вы желаете разрешить пользователю приложения указанное выше действие. Для обеспечения этой возможности, включите команду SET ORDER для изменения порядка записей в форме в run time.

Для интерактивной организации записей в форме

  1. Создайте форму с элементом Grid.

  2. Установите свойство grid'а ColumnCount в число полей, котороые вы желаете отображать в решетке.

  3. Для заголовка каждой колонки в решетке, вставьте код, который включает в себя команду SET ORDER в событие Click заголовка, которая произведет следующие задачи:

    • Установит порядок записей по индексному ключу, основанному на колонке.

    • Обновит форму.

Например, предположим, что вы создали форму на базе таблицы Customer в тестовой базе данных Visual FoxPro, TestData, с элементом grid, содержащим четыре колонки: Company, Contact, Postal_Code и Phone. Grid появится отсортированный сначала по алфавиту, поскольку записи в таблице были введены в алфавитном порядке. Однако, вы можете затем дать возможность пользователю видеть содержимое решетки, упорядоченное по контактному имени или по почтовому коду с помощью вставки кода, который использует команду SET ORDER в событии Click каждого колоночного заголовка.

Приведенная ниже таблица описывает примерный код, который вы можете включить в событие Click.

Код | Комментарий
SET ORDER TO Company GO TOP THISFORM.Refresh | Код в событии Click заголовка Company, переупорядочивает grid, используя идексный ключ Company и обновляет форму для отображени записей, упорядоченных по имени компании.
SET ORDER TO Contact GO TOP THISFORM.Refresh | Код в событии Click заголовка Contact, переупорядочивает grid, используя идексный ключ Contact и обновляет форму для отображени записей, упорядоченных по контактному имени.
SET ORDER TO PostalCode GO TOP THISFORM.Refresh | Код в событии Click заголовка Postal_Code, переупорядочивает grid, используя идексный ключ PostalCode и обновляет форму для отображени записей, упорядоченных по почтовому коду.

В приведенном примере, когда форма появляется на экране, grid появляется упорядоченным по алфавиту в имени компании. Когда пользователь щелкает по заголовку колонки Contact, Visual FoxPro отобразит записи в grid, упорядоченными по алфавиту с контактном имени и так далее.

Смотрите также

Справочное руководство

Команда SET ORDER
Элемент Grid
Свойство ColumnCount (Visual FoxPro)
Событие Click

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Display Records in Descending Order

Visual FoxPro 9.0
Как: отобразить записи в убывающем порядке
Смотрите также

По умолчанию Visual FoxPro отображает записи таблицы в возрастающем порядке. Однако, вы можете создать индексы, которые отобразят записи в убывающем порядке или вы можете отобразить записи в убывающем порядке при просмотре записей в таблице.

Замечание Замечание

Вы не можете изменить порядок для отображения или обработки записей при использовании бинарных индексов.

Вы можете создать индексы упорядочивания по убыванию в структурном составном индексном файле (.cdx) с помощью среды разработки Visual FoxPro IDE или команд языка. Для создания индексов упорядочивания по убыванию для прочих индексных файлов, используйте команды языка Visual FoxPro.

Для создания индексов упорядочивания по убыванию

  1. Откройте дизайнер таблиц - Table Designer - для модификации вашей таблицы и выберите закладку Indexes.

  2. В колонке Order рядом с боксом Name индекса, щелкните по смотрящей вверх стрелке, чтобы она поменяла направление.

    Замечание Замечание

    Такая стрелка появляется в колонке Order только когда в боксе Name имеется существующее имя индекса.

Для программного отображения записей, упорядоченных по убыванию

  • Включите ключевое слово DESCENDING в приведенные ниже команды Visual FoxPro:

    • INDEX

    • SET ORDER

    • SET INDEX

    • USE

Хотя, по умолчанию, Visual FoxPro отображает записи в возрастающем порядке, эти команды позволяют включить в свой синтаксис ключевое слово ASCENDING. Вы можете использовать оба ключевых слова для изменения упорядочивания, основываясь на наиболее приемлемом для конкретной цели порядке.

Например, приведенный ниже код открывает таблицу Products в образцовой базе данных Visual FoxPro - TestData, используя команду USE. Команда INDEX создает индекс, основанный на поле Unit_Price с именем, или тэгом, Unit_Price. Команда INDEX включает в себя DESCENDING для отображения записей в убывающем порядке в окне browse при вызове одноменной команды BROWSE. Записи в таблице Products появятся в порядке отображения от самой высокой до самой низкой цены:

CopyCode image Скопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Products
INDEX ON Unit_Price TAG Unit_Price DESCENDING
BROWSE

В случае, когда индекс уже существует, вы можете видеть записи в убыващем порядке вместо создания нового индекса упорядочивания по убыванию. Например, предположим, что вы создали индекс, который организует таблицу product по цене единицы так, как это показано в приведенном ниже фрагменте кода:

CopyCode image Скопировать код
USE Products
INDEX ON Unit_Price TAG Unit_Price

По умолчанию, Visual FoxPro отобразит записи в возрастающем порядке. Однако, вы можете просматривать записи в убывающем порядке при использовании приведенного ниже кода:

CopyCode image Скопировать код
USE Products
SET ORDER TO Unit_Price DESCENDING
BROWSE

Смотрите также

Задачи

Как: создать индексы (Visual FoxPro)
Как: установить управляющие индексы

Справочное руководство

Функция DESCENDING( )

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Enhance the Efficiency of Indexes

Visual FoxPro 9.0
Как: улучшить эффективность индексирования
Смотрите также

Вы можете улулчшить производительность обработки данных индексированных таблиц с помощью своевременного обновления индексов и использования в ваших индексах выражений, которые могут быть оптимизированы. Вы можете перестраивать активные индексные файла или переиндексировать таблицы в run time.

Перестройка активных индексных файлов

Когда вы открываете таблицу, без открытия ее соответствующего индексного файла и делаете изменения в ключевых полях таблицы, то ее индексные файлы становятся устаревшими. Индексный файл, кроме того, может стать недействительным при возникновкнии краха системы, или, что потенциально возможно, при доступе и обновлении данных в таблице из программ, которые не созданы в среде Visual FoxPro. Когда индексные файлы становятся устаревшими, вы можете обновить их с помощью команды REINDEX.

Для перестройки активного индексного файла

  1. Откройте таблицу, которую вы желаете переиндексировать.

  2. В меню Table выберите Rebuild Indexes.

Для перестройки индексных файлов программным способом

  • Используйте команду REINDEX для перестройки индекса.

    REINDEX обновит все индексные файлы, открытые в выбранной рабочей области. Visual FoxPro распознает и соответствующим образом переиндексирует каждый индексный файл.

    Например, приведенный ниже программный код обновляет индексный файл для таблицы Customer в тестовой базе данных Visual FoxPro, именуемой TestData:

    CopyCode image Скопировать код
    OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
REINDEX

Для получения более подробной информации смотрите описание команды REINDEX.

Note Замечание

Переиндексирование таблиц в run time может потребовать большого количества времени, в частности, в случае, когда вы переиндексируете большеи таблицы. Вы должны переиндексировать таблицы только когда это действительно необходимости. Вы можете увеличить производительность приложения путем реиндексирования во время исполнения частей программ инициализации или завершения, по сравнению с тем, если бы вы это делали во время исполнения основной программы приложения.

Смотрите также

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Delete Indexes (Visual FoxPro)

Visual FoxPro 9.0
Как: удалить индексы (Visual FoxPro)
Смотрите также

Путем удаления индексов или индексных тэгов, которые вы никогда не используете, но которые вы создали, вы можете увеличить производительность обработки данных сняв с Visual FoxPro необходимость обновлять эти тэги. Для удаления индекса, удалите тэг в составном индексном (.cdx) файле или удалите полностью самостоятельный индексный (.idx) файл.

Вы можете удалить индексные тэги в структурных .cdx файлах при помощи интерактивной среды разработки Visual FoxPro (IDE) или с помощью команд языка. Для удаления .idx-файла или индексного тэга из неструктурного .cdx-файла используйте команды языка Visual FoxPro.

Удаление индексных тэгов из структурного .cdx-файла

Вы можете удалить индексный тэг из структурного .cdx-файла с помощью дизайнера таблиц (Table Designer) или с помощью команды DELETE TAG, если вы знаете имя тэга, или командой SQL ALTER TABLE если вы не знаете имени тэга, но знаете что тэг это первичный или уникальный индекс.

Для удаления индекского тэга в структурном .cdx файле

  1. Откройте Table Designer для модификации вашей таблицы и перейдите на закладке Indexes.

  2. Выберите индекс и затем щелкните по Delete.

    Для получения более подробной информации смотрите Дизайнер таблиц (Table Designer) (Visual FoxPro).

-или-

  • Используте команду DELETE TAG.

    Например, предположим, что структурный .cdx файл для таблицы Employee table тестовой базы данных Visual FoxPro, TestData, содержит индексный тэг с именем Title. Приведенный ниже пример удалит индексный тэг Title:

    CopyCode image Скопировать код
    USE Employee
DELETE TAG Title

    Для удаления всех тэгов в .cdx файле, включите в ключевое слово ALL в состав команды DELETE TAG. Для получения более подробной информации смотрите описание команды DELETE TAG.

-или-

  • Используйте опции DROP PRIMARY KEY или DROP UNIQUE TAG в команде SQL ALTER TABLE.

    Например, предположим индексный тэг, который вы желаете удалить представляет собой первичный ключ для таблицы Employee в тестовой базе данных TestData, но вы не знаете имени индексного ключа. Вы можете использовать опцию DROP PRIMARY KEY в команде SQL ALTER TABLE:

    CopyCode image Скопировать код
    USE employee
ALTER TABLE DROP PRIMARY KEY

    Для получения более подробной информации смотрите описание команды ALTER TABLE - SQL.

Удаление индексных тэгов из неструктурных .cdx файлов

Вы не можете видеть индексные тэги, хранящиеся в неструктурных .cdx файлах в дизайнере таблиц. Поэтому вы должны знать имя индексного тэга и использовать команду DELETE TAG для удаления индексного тэга из неструктурного .cdx файла.

Для удаления индексного тэга в неструктурном .cdx файле

  • Используйте команду DELETE TAG и опцию OF cдля указания имени тэга и имени .cdx-файла, из которого вы желаете удалить тэг.

    Например, предположим, что у вас имеется неструктурный .cdx-файл с именем QRTLYRPT.CDX, содержащий тэг с именем Title. Приведенная ниже строка кода удалит тэг Title:

    CopyCode image Скопировать код
    DELETE TAG Title OF QRTLYRPT

    Для удаления всех тэгов в cdx-файле, используйте опцию ALL в команде DELETE TAG. Для получения более подробной информации смотрите описание команды DELETE TAG.

Удаление самостоятельных .idx файлов

Самостоятельный индексный (.idx) файл содержит только единичное выражение индексного ключа; поэтому вы можете удалить индекс удалением самого индексного .idx файла.

Для удаления самостоятельного .idx файла

  • Используйте команду DELETE FILE.

    Например, предположим, что у вас есть самостоятельный .idx-файл с именем OrdDate.idx. Приведенная ниже строка кода удалит .idx файл:

    CopyCode image Скопировать код
    DELETE FILE OrdDate.idx

    Для получения более подробной информации смотрите описание команды DELETE FILE.

Кроме того, вы можете использовать операционную систему вашего компьютера для удаления подобных .idx файлов.

Смотрите также

Прочие ресурсы

Работа с табличными индексами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Validation Rules

Visual FoxPro 9.0
Работа с Правилами Контроля (Validation Rules)

При обработке данныхв ваших приложениях вы можете определять Правила Контроля (validation rules) вводимых или изменяемых данных в Базах Данных.

В данной Секции

Правила Контроля уровня Поля и уровня Записи

Рассматриваются ключевые вопросы использования Правил Контроля соответствующих уровней.

Как: Создать Правило Контроля уровня Поля

Объясняется, как создать правило контроля вводимых данных на уровне Поля Таблицы из некоторой Базы Данных.

Как: Создать Правило Контроля уровня Записи Таблицы

Объясняется, как создать правило контроля для добавляемых данных уровня записи Таблицы из некоторой Базы Данных.

Как: Удалить Правило Контроля

Объясняется, как удалить Правило Контроля.

Связанные Секции

Бизнес-логика Обработки данных

Рассматриваются ключевые вопросы по использованию базовых Правил Контроля обрабатываемых данных в соответствие с основной бизнес-логикой Приложения; предотвращение дублирования ключевых данных; сохранение целостности связей между таблицами Базы Данных.

Работа с Полями

Рассматриваются основные вопросы использования Полей Таблиц данных.

Работа с Таблицами Данных (Visual FoxPro)

Объясняется, как создавать и работать с Таблицами Данных.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Field and Record Validation Rules

Visual FoxPro 9.0
Правила проверки поля и записи (Validation Rules)
Смотрите также

Правила проверки поля и записи управляют тем, что и какой тип данных вы можете ввести в поля и записи таблицы базы данных. Правила проверки предоставляют вам следующие преимущества:

  • Предоставляют путь обеспечения единообразности бизнес-правил.

  • Вам потребуется писать меньше кода.

  • Выполняются для всех пользователей таблицы базы данных, независимо от требований приложения.

При использовании правил проверки, значения вводимые в поля и в записи сравниваются с указанными вами выражениями правил. Если введенное значение не отвечает требованиям выражения правила, то эта величина отбрасывается.

Например, вы можете создать правило, которое сравнивает значение почтового индекса со значениями индексов в отдельной таблице, содержащей сокращения кодов для вашей страны или региона и отбрасывает значения, которые не существуют в ней.

Note Совет

Избегайте создания правил проверки уровня поля или записи, которые могут быть специфичными для конкретного приложения. Вместо этого, создайте и используйте правила проверки поля или записи для обеспечения целостности ваших данных и бизнес-правил, которые будут всегда применяться к данным в вашей базе данных, независимо от того, как и кто обращается к данным.

Note Замечание

Правила проверки хранятся в файле базы данных (.dbc). Выведение из базы таблицы или ее удаление выводит и удаляет все правила проверки уровня поля и записи, которые были связаны с удаляемой или выводимой таблицей. Однако, хранимые процедуры, на которые ссылались удаленные правила проверки останутся в базе данных.

Приведенные ниже разделы содержат более подробную информацию о работе с правилами проверки:

  • Выбор между правилами проверки уровня поля и записи

  • Проверяемые поля и правила проверки записи

Выбор между правилами проверки уровня поля и записи

Вы можете использовать правило проверки уровня поля, когда справедливо приведенное ниже:

  • Вы желаете проверять тип информации, которую пользователь может вводить в поле.

  • Вы желаете проверять данные в поле независимо от любых других вводов в запись.

  • Вы желаете сравнимать значения, введенные в поле со значениями из других таблиц.

Например, вы можете использовать правило проверки уровня поля для того, чтобы убедиться в том, что пользователь не ввел отрицательного числа в поле, которое требует только положительных значений.

Вы можете использовать правило проверки уровня записи, когда справедливо приведенное ниже:

  • Вы желаете управлять типом информации, которую пользователь вводить в запись.

  • Вы желаете сравнивать значения двух или более полей в той же самой записи для гарантии того, что они отвечают с бизнес-правилами базы данных.

Например, вы можете использовать правила проверки уровня записи для того, чтобы убедиться в том, что значение в поле всегда больше другого значения в той же самой записи.

Проверка поля и правила проверки записи

Правила проверки поля и записи активны, когда данные буферированы. В общем случае, правила проверки поля проверяются, когда меняется значение поля правила проверки записи проверяется, когда меняется значение записи.

Note Замечание

Если значения поля или записи не изменялись, правила проверки не срабатывают. Когда значения не меняются, вы можете перемещаться по полям и записям, без их проверки.

В приведенной ниже таблице описывается более конкретно - когда Visual FoxPro проверяет правила проверки поля в зависимости от метода ввода данных.

Изменение значения с помощью | Окно или команда | Проверяется правило поля...
Интерфейс пользователя | Окно Browse, форам или другое окно | При вызоде из поля.
Команды, которые не указывают поля | APPEND, APPEND GENERAL, APPEND MEMO, BROWSE, CHANGE, DELETE, EDIT, GATHER | При изменении значения поля. Правило проверяется в поле в порядке, указанном в команде.
Команды, которые не указывают поля | APPEND с опцией BLANK, INSERT - SQL | При добавлении или вставке записи.
Команды, которые указывают поля | UPDATE - SQL, REPLACE | В порядке полей, указанном в команде.

В отличие от этого, Visual FoxPro проверяет правила проверки записи каждый раз, когда указатель записи перемещается к другой записи, независимо от используемого метода ввода данных. В дополнение к этому, в окне browse, правила проверки записи проверяются, если вы изменяете запись, не не смещаете указатель записи, а затем закрываете окно browse. Visual FoxPro генерирует любую ошибку, которая может случиться и затем закрывает окно browse.

Caution note Предупреждение

Не включайте в ваши правила проверки любые команды или функции, которые пытаются переместить указатель записи в текущей области, в которой проверяютс правила. Например, включение команд или функций, таких как SEEK, LOCATE, SKIP, APPEND, APPEND BLANK, INSERT или AVERAGE, COUNT, BROWSE и REPLACE FOR в правила проверки, могут проверять их рекурсивно, создавая условия для ошибки.

Note Замечание

При вызове триггера, Alias всегда является псевдоименем обновляемого курсора, независимо от выбранного псевдоимени, в коде, который вызывает срабатывание триггера.

Если правило проверки записи может вызвать ошибку в запущенном приложении, то вам нужно позаботиться о процедуре обработки ошибок. Обычно такой код не позволяет пользователю покинуть форму или изменить активную среду до тех пор, пока пользователь не исправит ошибку или не отменит изменения, сделанные им в записи.

Смотрите также

Задачи

Как: создавать правила проверки поля (Field Validation Rules)
Как: создавать правила проверки записи (Record Validation Rules)

Прочие ресурсы

Работа с правилами проверки (Validation Rules)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Field Validation Rules

Visual FoxPro 9.0
Как: создавать правила проверки для поля (Field Validation Rules)
Смотрите также

Вы можете создавать правила проверки поля для контроля за типом инфорамации, вводимой пользователем в поля таблицы базы данных. Кроме того, вы можете указать свой собственное сообщение для отображения в случае ввода пользователем некорректного значения вместо того, чтобы выводить стандартное сообщение об ошибке.

Note Замечание

Убедитесь, что правило проверки поля не вхожит в семантический конфликт с правилом проверки записи. Visual FoxPro не сравнивает выражения правил уровня запис и уровня поля на соответствие.

Для создания правила проверки для поля

  1. Откройте базу данных, содержащую таблицу.

  2. Откройте таблицу в дизайнере таблиц (Table Designer).

  3. В дизайнере таблиц выберите желаемое поле.

  4. В боксе Rule в области Field validation впечайтайте желаемое выражение, которое будет использоваться для проверки вводимой в поле информации. Вы можете воспользоваться построителем выражения, щелкнув по кнопке выбора (...) для вывода его диалогового окна.

  5. Когда вы закончите работу, щелкните по OK.

  6. Для отображения вашего сообственного сообщения об ошибке, определите его, впечатав в боксе Message либо в виде сообщения, либо выражения, которое вы желаете отобразить при вводе в поле некорректного значения. Вы можете воспользоваться построителем выражения, щелкнув по кнопке выбора (...) для вывода его диалогового окна.

    Note Замечание

    Убедитесь в том, что ваш текст сообщения заключен в кавычки ("").

  7. Когда вы закончите работу, щелкните по OK.

Для получения более подробной информации смотрите Закладка Fields дизайнера таблиц.

Для создания правила проверки для поля программно

  • При создании таблицйы с помощью команды SQL CREATE TABLE включите в нее опцию CHECK. Для вывода вашего сообщения об ошибке опишите ее в опции ERROR упомянутой команды.

    - или -

  • Для редактирования существующей таблицы, откройте ее с помощью команды USE и затем используйте команду SQL ALTER TABLE с опциями CHECK или SET CHECK. Для ввода текста собственного сообщения об ошибке, включите в упомянутую команду опцию ERROR.

    - или -

  • Используйте функцию DBSETPROP( ) для установки свойств поля RuleExpression и RuleText.

Для получения более подробной информации смотрите описания Команда CREATE TABLE - SQL, Команда ALTER TABLE - SQL, and Функция DBSETPROP( ).

Например, предположим, что вы желаете, чтобы число предметов в записи таблицы предметов заказа было равно или больше, чем 1. Приведенный ниже код добавляет с помощью опции SET CHECK правило проверки для поля, которое требует, чтобы числа, вводимые в поле Quantity были равны или больше 1. Опция ERROR определяет пользовательское сообщение об ошибке:

CopyCode image Скопировать код
ALTER TABLE OrdItems ALTER COLUMN Quantity SET CHECK Quantity >= 1 ;
   ERROR "Quantity must be a value greater than or equal to 1."

Когда пользователь попытается ввести значение, меньшее 1, Visual FoxPro отобразит определенное в коде сообщение и удалит значение.

Смотрите также

Задачи

Как: создавать правила проверки записи (Record Validation Rules)
Как: открывать базы данных
Как: редактировать структуру таблицы
Как: удалять правила проверки

Концепции

Поля и правила проверки записи

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)
Работа с правилами проверки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Record Validation Rules

Visual FoxPro 9.0
Как: создавать правила проверки записи - Record Validation Rules
Смотрите также

Вы можете использовать правила проверки уровня записи, когда вы желаете управлять типом информации, которую пользователь может ввести в запись таблицы базы данных. Кроме того, вы можете указать свое собственное сообщение для отображения в случае ввода пользователем неверных данных для замены стандартного сообщения об ошибке.

Note Замечание

Убедитесь в том, что правила проверки уровня поля не конфликтуют с семантикой правил проверки уровня записи. Visual FoxPro не сравнивает выражения правил уровня поля и правил уровня записи на соответствие.

Для создания правила проверки уровня записи

  1. Откройте базу данных, содержащую желаемую таблицу.

  2. Откройте таблицу в Table Designer (Конструкторе таблицы).

  3. В Table Designer (Конструкторе таблицы) щелкните по закладке Table (Таблица).

  4. В боксе Rule (Правило), в области Record validation (Проверка записи) впечатайте действительное выражение, которое вы желаете использовать. Для сборки выражения щелкните по командной кнопке (...).

  5. После завершения ввода правила щелкните по OK (Сделано).

  6. Для отображения вашего собственного сообщения об ошибке впечатайте в боксе Message (Сообщение) текст сообщения об ошибке или выражение, которое вы желаете отобразить пользователю при вводе некорректных значений. Для сборки выражения щелкните по командной кнопке (...).

    Note Замечание

    Убедитесь, что вы заключили текст сообщения в кавычки ("").

  7. После завершения ввода правила щелкните по OK (Сделано).

Для получения более подробной информации смотрите Закладка Table (Таблица) Table Designer (Конструктора таблицы).

Для программного создания правила проверки уровня записи

  • При создании таблицы с помощью команды SQL CREATE TABLE включите в состав команды опцию CHECK. Для создания собственного сообщения об ошибке включите в команду опцию ERROR с соответствующим текстом.

    - или -

  • Для редактирования существующей таблицы откройте ее с помощью команды USE и, затем, используйте команду SQL ALTER TABLE с опциями CHECK или SET CHECK. Для создания собственного сообщения об ошибке включите в команду опцию ERROR с соответствующим текстом.

Для получения более подробной информации смотрите Команда CREATE TABLE - SQL и Команда ALTER TABLE - SQL.

Note Замечание

Вы не можете использовать функцию DBSETPROP() для установки правил проверки и текста сообщений об ошибке; однако, вы можете извлечь их для просмотра с помощью функции DBGETPROP() и свойств таблицы RuleExpression RuleText. Для получения более подробной информации смотрите Функция DBSETPROP().

Например, предположим, что вы желаете убедиться, что возвраст нового работника, заносимого в таблицу, равен 18 годам или более. Приведенный ниже программный код добавляет правило проверки уровня записи, требующее, чтобы данные в поле Hire_Date были равны или больше суммы даты рождения и 18 лет, с помощью опции SET CHECK. Опция ERROR указывает сообщение об ошибке:

CopyCode image Copy Code
ALTER TABLE Employee SET CHECK Hire_Date >= birth_date + (18 * 365.25) ;
   ERROR "Возраст работника должен быть не менее 18 лет."

Если пользователь введет запись работника с несоответствующей правилу датой, Visual FoxPro отобразит указанное сообщение об ошибке и не обновит запись.

Смотрите также

Задачи

Как: создавать правила проверки поля
Как: открывать базы данных
Как: редактировать структуру таблицы
Как: удалить правила проверки

Концепции

Правила проверки уровня поля и записи

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)
Работа с правилами проверки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Remove Validation Rules

Visual FoxPro 9.0
Как: удалить правила проверки
Смотрите также

Если вы более не желаете использовать правила проверки для поля или записи, то вы можете их удалить.

Note Замечание

Правила проверки хранятся в файле базы данных (.dbc). Вывод или удаление таблицы из базы данных удаляет все правила проверки полей и записей, связанных с выводимой или удаляемой таблицей. Однако, в хранимых процедурах остаются правила, связанные с удаленной или выведенной из базы таблицы.

Для удаления правила проверки поля

  1. Откройте базу данных, содержащую желаемую таблицу.

  2. Откройте таблицу в Table Designer (Конструктора таблицы).

  3. В Table Designer (Конструкторе таблицы) выберите желаемое поле.

  4. В боксе Rule (Правило) в области Field validation (Проверка поля) удалите выражение проверки.

  5. В боксе Message (Сообщение) удалите ваше сообщение об ошибке или выражение, которое там может присутствоватью

  6. Когда вы закончите работу - щелкните по OK.

Для получения более подробной информации смотрите Закладка Fields (Поля) Table Designer (Конструктора таблицы).

Для удаления правила проверки поля

  1. Откройте базу данных, содержащую желаемую таблицу.

  2. Откройте таблицу в Table Designer (Конструктора таблицы).

  3. В Table Designer (Конструкторе таблицы) щелкните по закладке Table (Таблица).

  4. В боксе Rule (Правило) области Record validation (Проверка записи) удалите выражение проверки.

  5. В боксе Message (Сообщение) удалите ваше сообщение об ошибке или выражение, которое там может присутствоватью

  6. Когда вы закончите работу - щелкните по OK.

Для получения более подробной информации смотрите Закладка Table (Таблица) Table Designer (Конструктора таблицы).

Для программного удаления правила проверки

  1. Откройте таблицу с помощью команды USE.

  2. Используйте команду SQL ALTER TABLE с опцией command DROP CHECK.

Для получения более подробной информации смотрите описание команды ALTER TABLE - SQL.

Смотрите также

Задачи

Как: открывать базы данных
Как: редактировать структуру таблицы

Прочие ресурсы

Работа с полями
Работа с таблицами (Visual FoxPro)
Работа с правилами проверки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Trigger Usage

Visual FoxPro 9.0
Использование триггеров

Триггер (trigger) - выражение, которое привязывается к таблице базы данных и вызывается, когда изменяется запись таблицы одной из команд модификации данных, определённых для триггера. Вы можете использовать триггеры для выполнения операции, которые требуются при изменениее базы данных. Следующий список содержит примера задач, которые Вы можете исполнить с помощью триггера:

  • Протоколирование изменения базы данных.

  • Поддерживать целостность и непротиворечивость.

  • Create an automatic reorder for a product that is low on stock. Перезаказ продукции, у которой низкие запасы.

Триггеры создются и хранятся как свойства заданной таблицы. Если Вы удаляете таблицу из базы данных, триггеры, связанные с таблицей удаляются тоже. Триггеры срабатывают после провероки всех прочих ограничений, таких как правила проверки , уникальности первичного ключа, допустимости пустых значений. В отличие от правил уравня полей , триггеры не срабатывают для буфферезированных данных..

В этой секции

Как: создавать триггеры

Описывается, как создвать триггеры.
Как: изменять триггеры

Описывается, как редактировать триггеры.
Как: изымать или удалять триггеры

Описывается, как изымать или удалять триггеры.

Связанные секции

Проверка бизнес-правил

Краткий обзор, как определять бизнес-правила, используя правила проверки для предотвращения дублирование значений полей в разных записях, и поддержки отношений между таблицами..
Работа с таблицами

Представление о создании и работе с таблицами.
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


How to: Create Triggers

Visual FoxPro 9.0
Как: создавать триггеры
Смотрите также

Вы можете создавать триггеры, используя Конструктор таблицы (Table Designer) или команду CREATE TRIGGER. Для каждой таблицы вы можете создать по одному триггеру для каждого из трех событий: INSERT, UPDATE и DELETE. Таблица может иметь максимум три триггера одновременно.

Для создания триггера

  • На закладке Table (Таблица) Table Designer (Конструктора таблиц) (Visual FoxPro), введите выражение тригера или имя хранимой процедуры, содержащей выражение тригера, в боксах Insert trigger (Триггер вставки), Update trigger (Триггер обновления) или Delete trigger (Триггер удаления).

    - или-

  • Используйте команду CREATE TRIGGER.

Например, представим ситуацию, когда при каждой продаже какого-то товара компанией Tasmanian Traders ее продавцы желают сравнить остаток на складе Units_in_stock с уровнем Reorder_level, который определяет необходимость поставки дополнительных количеств проданного товара, и желают чтобы их оповестили о необходимости дозаказа проданного товара. Вы можете создать триггер обновления на таблице products для сопровождения этой задачи. При каждой продаже продукта, триггер Update будет срабатывать и поле Units_in_stock будет обновляться, отражая количество оставшегося в складе продукта.

Для создания триггера, вы можете указать updProductsTrigger( ) в качестве вашего триггера Update для таблицы products. Вы можете добавить поле в products, с именем reorder_amount, которое будет хранить количество, каоторое вы будете перезаказывать каждый раз, и создать таблицу reorder с полями : product_id и reorder_amount. Вы можете затем добавить такой код в вашу хранимую процедуру:

CopyCode image Скопировать код
PROCEDURE updProductsTrigger
   IF (units_in_stock+units_on_order) <= reorder_level
   INSERT INTO Reorder VALUES(Products.product_id, ;
    Products.reorder_amount)
   ENDIF
ENDPROC

Вы можете создать аналогичные триггеры для событий вставки или удаления записей используя опции FOR INSERT или FOR DELETE, соответственно, вместо опции FOR UPDATE. Если вы попытаетесь создать триггер, который уже существует для конкретного события и таблицы, пока команда SET SAFETY установлена в "on", Visual FoxPro запросит вас о потверждении переписи существующего триггера.

Note Замечание

Когда вызывается триггер, Alias всегда представляет обновляемый курсор, независимо от того, какой Alias выбран в программном коде, который вызвал срабатывание триггера.

Visual FoxPro включает в себя Referential Integrity Builder (Компоновщик ссылочной целостности) для генерации триггеров и хранимых процедур, который навязывает свои правила ссылочной целостности - "Referential Integrity (RI)" - для вашей базы данных. Для получения более подробной информации об использовании компоновщика RI Builder смотрите Referential Integrity Builder (Компоновщик ссылочной целостности) и Как: выстроить ссылочную целостность между таблицами.

Смотрите также

Задачи

Как: редактировать структуру таблицы
Как: редактировать триггеры (Visual FoxPro)

Концепции

Использование триггера

Прочие ресурсы

Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Modify Triggers (Visual FoxPro)

Visual FoxPro 9.0
Как: Изменить триггер (Triggers) (Visual FoxPro)
См. также

Вы можете изменять Триггеры в системном средстве Table Designer или программным способом.

Для модификации Триггера

  • В закладке Table, открытого Дизайнера Таблиц, в соответствующем боксе Insert trigger, Update trigger, или Delete trigger введите необходимое выражение триггера.

    -или-

  • При выключенной команде SET SAFETY OFF , программно определите Триггер CREATE TRIGGER, команда.

При выключенной команде SET SAFETY OFF, в процессе изменения выражения Триггера, старое выражение удаляется, а новое корректно заменяет предыдущее (trigger expression).

См. также

Задачи

Как: Исключить или удалить Триггер (деактивировать)
Как: Изменить структуру Таблицы

Концепции

Использование Триггеров (Trigger)

Другие ссылки

Работа с Таблицами (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Remove or Delete Triggers

Visual FoxPro 9.0
Как: убрать или удалить триггеры
Смотрите также

Вы можете убрать триггер из таблицы базы данных через интерфейс или с помощью команды DELETE TRIGGER.

Для удаления триггера

  • На закладке Table дизайнера таблиц (Table Designer (Visual FoxPro)), выберите выражение триггера в боксах Insert trigger, Update trigger или Delete trigger и удалите их, нажав клавишу делете.

    -или-

  • Используйте команду DELETE TRIGGER.

Приведенный ниже пример убирает update-триггре для таблицы customer:

CopyCode image Скопировать код
DELETE TRIGGER ON customer FOR UPDATE

Если вы убираете или удаляете таблицу из базы данных, все триггеры, привязанные к этой таблице удаляются из базы данных. Однако, хранимые процедуры, на которые ссылались убранные или удаленные триггеры, не удаляются.

Смотрите также

Задачи

Как: редактировать структуру таблицы

Концепции

Использование триггеров

Прочие ресурсы

Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Enforcing Business Rules

Visual FoxPro 9.0
Проверка бизнес-правил
См. также

Когда Вам необходимо использовать бизнес-правила для контроля вводимых данных, есть несколько способов, которыми Вы можете реализовать их в вашей базе данных:

  • Создайть правила проверки для контроя данных, вводимых в поля таблицы базы данных. Для получения дополнительной информации, см. Работа с правилами проверки.

  • Предотвращение дублирующих значений в полях с помощью индекса кандидата или первичного индекса. Для получения дополнительной информации, см. Предотвращение дублирущих значений в полях.

  • Поддерживать отношения между таблицами, устанавливая правила ссылочной целостности, используя триггеры и хранимые процедуры, которые вызваются, когда изменяются записи в таблицах базы данных. Для получения дополнительной информации, см. Как: построить ссылочную целостность между таблицами.

При разработке ограничений целостности для вашей базы данных, рассмотрите уровень, на котором Вы хотите предписать бизнес-правило и действие, которое активирует ограничение. Ограничения активизируют в порядке, в котором они появляются в таблице. Первое нарушение любого ограничения останавливает операцию.

В следующая таблице показан порядок, в котором Visual FoxPro проверяет правильность данных, уровень, на котором они применяются, и когда ограничения активизируются.

Уровень | Механизм активации | Когда активируются
Форма | VALID опция | Запись теряет фокус.
Таблица | Триггер | Изменение таблицы с помощью команд INSERT, UPDATE, DELETE
Поле или колонка | Проверка на NULL (на ничего) | Перемещение из поля или столбца в окне браузера или изменение значение поля командами INSERT или REPLACE
Поле или колонка | Правила проверки уровня поля | Перемещение из поля или столбца в окне браузера или изменение значение поля командами INSERT или REPLACE.
Запись | Правила проверки уровня записи | Изменение записи.
Запись | Кандидат/первичный индекс | Изменение записи.

См. также

Другие источники

Работа с данными

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo.


Working with Queries

Visual FoxPro 9.0
Работа с Запросами

Когда в ваших приложениях присутствуют Таблицы, вы можете выбрать и отобразить Данные из представленных таблиц с помощью Запросов. Указанные Запросы выборки данных сожно использовать для решения следующих задач:

  • Получить быстрые ответы на различные вопросы. Например, найти и получить информацию о следующем:

    • Наименование Клиента и соответствующий адрес, по известному конкретному уникальному идентификатору ID;

    • Количество обработанных Заказов выбранного Клиента;

    • Количество Клиентов с неудовлетворительным балансом;

    • Определить Регион или Продавца с наилучшими показателями продаж товаров;

  • Просмотреть наиболее важные (критичные) разделы общего пространства ваших Данных;

  • Создать и структурировать наборы данных для получения требуемых Отчетов. Вы можете также создавать требуемые Отчеты без использования инструментария создания Запросов.

Вы можете создавать Запросы выборки данных из исходных Таблиц; определять и настраивать результирующие наборы Запросов; определять группировку и сортировку данных; задавать различные варианты результирующих наборов выполняемых Запросов: таблицы, курсоры, текстовые файлы, твердые копии (распечатки) на печатающем устройстве.

В данной Секции

Как: Создавать Запросы (Visual FoxPro)

Рассматриваются различные способы создания Запросов выборки требуемых данных.

Как: Создавать Запросы выборки из нескольких Таблиц и Представлений

Рассматриваются ключевые вопросы создания выборки данных из нескольких Таблиц.

Как: Управлять соединением выбираемых записей с помощью механизма Сондинений (Joins)

Рассматриваются вопросы использования Соединений исходных Таблиц для получения сжатых или расширенных Результатов.

Как: Задавать тип Результирующего набора Запроса

Описываются параметры Запроса, определяющие тип набора Результатов.

Как: Структурировать Результирующий набор Запроса

Описываются механизмы сортировки и группировки результирующих наборов Запроса.

Как: Настраивать различные параметры Запроса

Описываются различные пути настройки параметров Запроса с помощью инструментального средства Дизайнер Запросов: группировка данных, общее объединение данных, исключение дублируемых записей, задание ограниченной выборки, как по-количеству, так и в процентном выражении, настройка критериев фильтрации данных, параметризация запросов.

Как: Настраивать параметры Запроса с помощью синтаксических конструкций оператора SQL SELECT

Рассматриваются вопросы настройки различных параметров Запроса, построенного для поосмотра и/или редактирования данных при использовании базового оператора SQL SELECT, который был создан с помощью Дизайнера Представлений.

Как: Задать тип результирующего набора Запроса

Описывается, как с помощью синтаксических конструкций оператора SQL SELECT определить тип результирующего набора Запроса.

Как: Выполнять Запросы (Visual FoxPro)

Описывается, как выполнять созданные Запросы и в каком виде получать результаты.

Определение типов Результирующих наборов Запросов

Приводятся рекомендации по направлению результатов Запроса в Таблицы, Курсоры, Массивы, Текстовые файлы, на экран системы.

Связанные Секции

Работа с Данными

Приводится общее описание использования различных данных в ваших Приложениях. Например, анализируется окружение данных приложения, требуемые компоненты по обработке исходных данных.

Работа с Таблицами (Visual FoxPro)

Рассматриваются вопросы создания структур Таблиц исходных данных, обрабатываемых вашим Приложением; используемые типы данных; требуемые индексные наборы и Тэги, повышающие производительность вашего Приложения.

Работа с Записями

Рассматриваются вопросы обработки записей обрабатываемых Таблиц, как добавлять, удалять, редактировать данные рассматриваемых Записей с помощью системного или пользовательского интерфейса, а также с помощью команд VFP.

Работа с Представлениями Views (Visual FoxPro)

Рассматриваются вопросы создания, настройки и использования изменяемых наборов данных в ваших Приложениях.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Create Queries (Visual FoxPro)

Visual FoxPro 9.0
Как: создавать запросы (Visual FoxPro)
Смотрите также

Основной процесс создания запроса в общем является одним и тем же, независимо от используемого вами метода. Приведенный ниже общий процесс описывает создание запроса из одной таблицы. Вы, кроме того, можете создавать запросы из множества таблиц.

Создание запроса

  1. Определите вид информации, которую вы желаете разыскать, а также таблицу или представление, из которых вы желаете извлечь данные.

  2. Выберите таблицу или представление и соответствующие поля, данные из которых вам нужны.

  3. Указажите дополнительные критерии для извлечения записей из таблиц или представлений.

  4. Сгенерируйте запрос и направьте результат на желаемый вывод.

Когда вам нужно создать запрос, который вы желаете сохранить для использования в дальнейшем, то вы можете дать ему имя. Запросы хранятся в файлах с расширением ".qpr".

Для создания запросов вы можете использовать разоичные методы:

  • Используйте мастер запросов, который проведет вас через шаги, необходимые для создания запросов.

  • Используйте конструктор запросов (Query Designer) для создания и быстрого изменения запросов.

  • Используйте команды SQL SELECT, которые предлагают более мощные и гибкие пути для генерации запросов с помощью кода.

Создание запросов с помощью мастера запросов (Query Wizard)

Если вам требуется помощь при создании запросов, используйте мастер запросов. Мастер попросит вас выбрать таблицы или представления, информация из которых вам нужна, и создаст запрос на основе ваших ответов на серию вопросов. Для получения более подробной информации об использовании мастера, нажмите клавишу F1 для получения справки во время использования мастера или обратитесь к описанию в справке Мастер запросов - Query Wizard.

Для создания запроса с помощью мастера запроса

  1. Откройте свободную таблицу или откройте базу данных в диспетчере проекта (Project Manager) или откройте таблицу базы данных.

  2. В меню Tools (Инструменты) перейдите к Wizards (Мастера) и щелкните по пункту Query (Запрос).

  3. Выберите Query Wizard (Мастер запроса) и щелкните по OK.

  4. Следуйте инструкциям на экранах мастера.

Вы, кроме того, можете начать создание запроса с помощью мастера, сохранить его и, затем, открыть его в конструкторе запросов (Query Designer) для его изменения.

Создание запросов с помощью конструктора запросов (Query Designer)

Если вам не нужна помощь в создании вашего запроса, вы можете использовать конструктор запросов (Query Designer). Конструктор запросов предоставляет вам путь поиска записей, отвечающих вашим конкретным требованиям, в таблицах или представлениях. Вы можете, кроме того, организовывать и группировать записи так, как это вам необходимо и создавать на основе результатов отчеты, таблицы и строить графики.

Чтобы открыть конструктор запросов

  1. В меню File (Файл) щелкните по New (Новый).

  2. В диалоговом окне New (Новый) щелкните по Query (Запрос) и, затем, по New File (Новый файл).

    Откроется конструктор запросов (Query Designer).

Для получения более подробной информации смотрите описание Конструкторы запроса и представления.

Выбор таблиц для запросов

Вы можете создавать запросы из свободных таблиц или представлений, вы можете выбирать таблицы или представления после запуска конструктора запросов. Однако, если вы желаете выбрать таблицы или представления из базы данных, то вы должны открыть базу данных до запуска конструктора. Если ваши таблицы, базы данных или представления являются частью проекта, откройте диспетчер проекта (Project Manager) до запуска конструктора запросов. Для получения более подробной информации об использовании множества таблиц и представлений обратитесь к описанию задачи Как: извлекать данные с помощью запроса из множества таблиц и представлений.

При добавлении в запрос более одной таблицы, вы можете указать условия объединения для изменения области возвращаемых результатов. Visual FoxPro отобразит для вас диалоговое окно Join Condition (Условие объединения) для указания условия объединения с каждой введенной в ваш запрос дополнительной таблицой. Для получения более подробной информации об указании условий объединения смотрите описания Как: управлять выборкой данных с помощью объединений, Условия объединения для таблиц, запросов и представлений и Диалоговое окно Join Condition (Условие объеденения).

Чтобы выбрать свободные таблицы для запроса

  1. В меню File (Файл) щелкните по New (Новый).

  2. В диалоговом окне New (Новый) щелкните по Query (Запрос) и, затем, по New File (Новый файл).

  3. В диалоговом окне Add Table or View (Добавить таблицу или представление) щелкните по Other (Другое).

  4. Выберите таблицу и щелкните по Close (Закрыть).

Чтобы выбрать таблицу базы данных для запроса

  1. Откройте либо самостоятельную базу данных или выберите требуемую в диспетчере проекта (Project Manager).

  2. В меню File (Файл) щелкните по New (Новый).

  3. В диалоговом окне New (Новый) щелкните по Query (Запрос) и, затем, по New File (Новый файл).

  4. В диалоговом окне Add Table or View (Добавить таблицу или представление) выберите таблицу базы данных и затем щелкните по Add (Добавить).

  5. Когда вы закончите выбор таблиц, щелкните по Close (Закрыть).

    Таблицы появятся на поверхности конструктора запроса.

Вы можете, кроме того, создавать запросы с помощью команды CREATE QUERY, которая откроет конструктор запросов (Query Designer). Для получения более подробной информации смотрите описание команды CREATE QUERY.

Вместо использования автоматически генерируемых псевдоимен, которые формируются при добавлении таблицы или представления, вы можете сами указать псевдоимена для каждой используемой вами таблицы впечатав их в боксе Alias, который имеется в диалоговом окне Add Table or View (Добавить таблицу или представление).

Удаление одних и добавление других таблиц

Вы можете как удалять таблицы из ваших запросов, так и добавлять их.

Для удаления из запроса одной таблицы и добавления другой

  1. В конструкторе запросов Query Designer щелкните по таблице, которую вы хотите вывести из запроса.

  2. В полоске инструментов конструктора запросов, щелкните по Remove Table (Удалить таблицу) для удаления таблицы и затем щелкните по Add Table (Добавить таблицу) для выбора таблицы или представления, которые вы желаете добавить в ваш запрос.

Компоновка запросов в конструкторе запросов (Query Designer)

После выбора таблиц, которые вы желаете использовать для вашего запроса, вы можете начать компоновку запросов в конструкторе запросов (Query Designer). Вы можете, кроме того, выбрать таблицы и создать запрос в мастере запросов (Query Wizard), сохранить его и затем настроить в конструкторе запросов (Query Designer).

Для компоновки запроса с помощью конструктора запросов (Query Designer)

  1. В конструкторе запросов (Query Designer) щелкните по закладке Fields (Поля).

  2. В списке Available fields (Доступные поля) выберите требуемое поле и щелкните по кнопке Add (Добавить).

    Для выбора множества полей, нажмите и удерживайте клавишу SHIFT на время выборки полей и затем щелкните по кнопке Add (Добавить).

  3. Для указания упорядочивания, в котором поля появятся в выводе результата, щелкните и удерживайте кнопку с двойной стрелкой слева от поля, которое вы желаете переместить в с списке Selected fields (Выбранные поля). Переместите указатель мыши в ту позицию, в которой вы желаете иметь поле вывода.

Вы можете настроить и уточнить ваш запрос в дальнейшем в конструкторе запросов выполнив приведенные ниже задачи:

  • Изменить условие объединения выбранных таблиц на закладке Join (Объединение).

  • Отфильтровать результаты по полям на закладке Filter (Фильтр).

  • Организовать результаты по полям на закладке Order By (Упорядочить по).

  • Сгруппировать результаты по полям на закладке Group By (Сгрупировать).

  • Выбрать различные виды вывода на закладке Miscellaneous (Разное).

Для получения более подробной информации об уточнении вашего запроса смотрите описание задачи Как: определить результаты запроса. Для получения более подробной информации о настройке вашего представления и использовании закладок в окне конструктора запросов (Query Designer) смотрите описания Как: настроить запросы и Конструкторы запросов и представлений. Для получения более подробной информации об организации вашего запроса смотрите описание задачи Как: организовать результаты запроса.

Добавление в запрос комментариев

Вы можете, кроме того, добавить в запрос комментарии или замечания, описывающие цель данного запроса.

Чтобы добавить в запрос комментарий

  1. Щелкните в любом месте поверхности конструктора запросов (Query Designer) для вывода его на передний план.

  2. В меню Query щелкните по Comments (Комментарии).

  3. В боксе Comment (Комментарий) впечатайте желаемый комментарий, в котором опишите что-либо об этом конкретном запросе.

Комментарии, которые вы добавляете в запрос будут сохранены в предложении SQL SELECT, сгенерированном конструктором запросов. Вы можете увидеть комментарии, щеклнув по кнопке View SQL на полоске инструментов конструктора запроса для вывода окна SQL. Комментарии, которые вы вставите с помощью бокса Comment (Комментарий) появятся выше предложения SQL SELECT и будет предварены символом звездочки(*).

Note Замечание

Когда вы изменяете комментарии, используя бокс Comment (Комментарий) изменения производястя только в первом комментарии и не воздействуют на другие комментарии, которые вы могли вставить вручную в окне SQL.

Для получения более подробной информации о предложении SQL SELECT, генерируемом запросом смотрие описание Команда SELECT - SQL. Для получения более подробной информации о настройке запросов в конструкторе запросов и при использовании команды SQL SELECT в окне SQL смотрите описания задач Как: настроить запросы и Как: настроить запросы, используя предложения SQL SELECT .

Смотрите также

Задачи

Как: определить результаты запроса
Как: запрашивать множество таблиц и представлений
Как: организовать результаты запроса
Как: запускать запросы (Visual FoxPro)
Как: обновлять данные в представлении

Прочие ресурсы

Работа с запросами
Конструкторы запросов и представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Query Multiple Tables and Views

Visual FoxPro 9.0
Как: запрашивать данные из множества таблиц и представлений
Смотрите также

Когда вам необходим доступ к информации, хранящейся в двух или более таблицах, добавьте все необходимые в запрос или представление и объедините их по общим полям. Вы можете затем искать во всех таблицах записи, содержащие требуемую вам информацию. Вы можете в ваших запросах использовать любую комбинацию таблиц базы данных, свободных таблиц и локальных или удаленных представлений.

Термин "представление" может относится как исходному источнику данных, так и к объекту, созданных в дизайнере представлений - View Designer; тогда как термин "таблица" может быть использован как для таблиц, так и представлений, являющихся исходными источниками данных.

Введение представлений и таблиц в запрос (Query)

Когда вы добавляете таблицы или представления в ваш запрос, Visual FoxPro предлагает возможное объединение между таблицами или представлениями, основанное на совпадающих именах полей.

Например, если вы вводите таблицу Customer, расположенную в каталоге Visual FoxPro ...\Samples\Data в дизайнер запросов (Query Designer) и, затем, вводите таблицу Orders, Visual FoxPro предлогает объединение между таблицами, основанное на совпадающих полях Customer.cust_id и Orders.cust_id.

Если вы используете базу данных, содержащую постоянные отношения, определенные в ней между представлениями или таблицами, Visual FoxPro использует существующие отношения в качестве "объединений по умолчанию".

Если вы желаете добавить таблицы или представления базы данных в ващ запрос, вам может понадобиться открыть соответствующую базу данных, чтобы сделать ее доступной.

Для ввода таблицы или представления в запрос:

  1. В панели инструментов Query Designer выберите Add Table.

  2. В диалоговом окне Add Table or View, выберите базу данных, которую вы желаете использовать, выберите Tables или Views, выберите таблицу или представление, которое вы желаете добавить и затем щелкните по OK.

    - или -

    Если вы желаете добавить таблицу, которая не является частью базы данных, выберите Other, найдите таблицу с помощью диалогового окна Open и затем щелкните по OK.

  3. В диалоговом окне Join Condition проверьте предложенное объединение и щелкните по OK.

    Если Visual FoxPro не может предложить близкое соответствие между полями, выберите самостоятельно поля соответствия в диалоговом окне Join Condition.

Смотрите также

Задачи

Как: управлять выбором записей с объединениями
Как: настраивать запросы
Как: создавать запросы (Visual FoxPro)
Как: запускать запросы (Visual FoxPro)

Справочное руководство

Диалоговое окно Add Table or View
Диалоговое окно Join Condition

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Control Record Selection with Joins

Visual FoxPro 9.0
Как: управлять выборкой записей с помощью объединений (Joins)
Смотрите также

Если в запросе или представлении участвует множество таблиц, вы можете контролировать, какие записи запроса или представления будут извлечены с помощью введения или изменения условий объединения между таблицами. Работа с объединения аналогична как для запросов, так и для представлений; поэтому процедуры используют в качестве примеров запросы. Хотя вы можете запустить запрос или представление без объединений, результат будет иметь малое практическое применение и может потребовать большого количества времени для своей работы.

Для получения более подробной информации об условиях смотрите описание Условия объединения для таблиц, запросов и представлений.

Введение условий объединения

Объединения обычно появляются автоматически, когда вы добавляете в запрос или представление таблицы. Однако, если имена полей в связываемых таблицах не соответствуют друг другу, вам может потребоваться указать объединение, желаемое вами для таблиц и добавить их, используя диалоговое окно Join Condition (Условие объединения) в конструкторе запросов и представлений (Query and View designers).

Процесс добавления соединения аналогичен для обоих конструкторов. Описываемая процедура вводит объедигнение в конструкторе запроса (Query Designer).

Для создания объединения между таблицами с помощью Query Designer (Конструктора запроса)

  1. Создайте или откройте запрос.

  2. Добавьте в запрос таблицу, что у вас было две или более таблиц.

  3. В полоске инструментов Query Designer (Конструктора запроса) шелкните по Add Join (Добавить объединение).

  4. В диалоговом окне Join Condition (Условие объединения) выберите в двух таблицах связанные имена полей.

    Note Замечание

    Установите объдинение для колонок, только если они имеют один и тот же размер и тип данных.

  5. Выберите тип соединения и щелкните по OK.

Вы можете, кроме того, добавить соединения для таблиц, которые уже имеются на поверхности конструкторов запроса и представления путем выбора и перетаскиванием мыщкой между полями в таблицах или выбором кнопки Add Join (Добавить соединение) в полоске инстурментов конструктора для отображения диалогового окна Join Condition (Условие объединения) . Вы можете, кроме того, создать тип объединения используя опцию FROM в предложении SQL SELECT.

Для получения более подробной информации о диалоговом окне Join Condition (Условие объединения) смотрите описание Диалоговое окно Join Condition (Условие объединения). Для получения более подробной информации о предложениях SQL SELECT, генерируемых конструкторами запроса и представления смотрите Как: создавать запросы (Visual FoxPro), Как: посмотреть и отредактировать предложения SQL для представлений и описание команды SELECT - SQL.

Например, предположим, что вы желаете извлечь информацию о заказе, включая информацию о потребителе, разместившим заказ. Приведенный ниже пример создает представление, используя две таблицы, Customers и Orders. Обе таблицы, Customer и Orders имеют поле идентификатора потребителя ID. Таблицы связаны на основе внутреннего объединения (inner join), которое указыавет, что в результат будут включены только записи из таблицы Customer, которые соответствуют одной или более записей из таблицы Orders.

Приведенный ниже программный код открывает образцовую базу TestData.dbc, создает представление с помощью команды CREATE SQL VIEW, как описано в примере, и использует опцию FROM для указания условия объединения:

CopyCode image Скопировать код
OPEN DATABASE testdata
CREATE SQL VIEW cust_orders_view AS ;
   SELECT * FROM testdata!customer ;
      INNER JOIN testdata!orders ;
      ON customer.cust_id = orders.cust_id

Изменение условий объединения

Вы можете изменить существующие объединения следующими способами:

  • Выбрать другой тип объединения для изменения области возвращаемых данных.

  • Выбрать другие поля в таблице для объединения.

  • Изменить оператор сравнения.

  • Изменить порядок объединений

Процесс изменения объединения одинаков для конструкторов запроса и представления. Описываемая ниже процедура изменяет объединение в Query Designer (Конструкторе запроса).

Для изменения объединения

  1. Откройте запрос, содержащий таблицы с объединениями, который вы желаете изменить.

  2. На закладке Join (Объединение) конструктора запроса выберите объединение и измениет условие объединения так, как вам хочется.

Вы можете, кроме того, изменить объединение с помощью опции FROM в команде SQL SELECT command. Для получения более подробной информации о предложениях SQL SELECT, генерируемых конструкторами запроса и представления смотрите Как: создавать запросы (Visual FoxPro), Как: посмотреть и отредактировать предложения SQL для представлений и описание команды SELECT - SQL.

Удаление условий объединения

Вы можете удалить объединение между таблицами. Процесс удаления объединения одинаков для конструкторов запроса и представления. Описываемая процедура удаляет объединение в конструкторе запроса.

Для удаления объединения

  1. Откройте запрос, содержащий таблицы с объединением, который вы желаете удалить.

  2. На закладке Join (Объединение) конструктора запроса, выберите условие объединения и щелкните по Remove (Удалить).

Вы можете, кроме того, выбрать строку объединения между двумя таблицами на поверхности контструкторов запроса и представления. Затем в меню Query (Запрос) щелкните по Remove Join Condition (Удалить условие объединения).

Смотрите также

Задачи

Как: создавать запросы (Visual FoxPro)
Как: запрашивать множество таблиц и представлений
Как: настраивать запросы
Как: запускать запросы (Visual FoxPro)

Справочное руководство

Логические операторы
Диалоговое окно Join Condition (Условие объединения)

Прочие ресурсы

Работа с запросами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Define Query Results

Visual FoxPro 9.0
Как: Определять Результирующие Наборы Запросов
См. также

После того, как вы открыли системное окно Дизайнера Запросов и выбрали Таблицу или Предсталение, содержащие требуемую вам Информацию (данные), вы можете определить Результирующий Набор Элементов (Results). Как минимум, вы должны выбрать, указать одно, требуемое вам Поле. Вы можете также задать порядок следования выбранных Полей результирующего Набора, определить Фильтр (условие) выборки требуемых Данных.

Выбор требуемых Полей из Таблиц.

Перед тем, как выполнить готовый Запрос, вы должны указать требуемые Поля в вашем результирующем наборе данных. В некоторых случаях, вы можете указать Все доступные Поля из Таблицы или Представления. В другом случае, вы можете выполнить подборку только необходимых Полей, которые будут включены в ваш Результирующий Набор.

Не забывайте включать в Набор специфические Поля, которые вы используете для Сортировки или Группировки результирующих Записей вашего Набора. При выборке требуемых Полей, вы можете изменять порядок следования Полей, для этого существует достаточный инструментарий изменения порядка следования набора Полей в Результирующем Наборе.

Для выборки описываемых Полей используется Закладка Fields в нижней части системного окна Дизайнера Запросов.

Для добавления Поля в результирующий набор Запроса:

  • Выберите имя требуемого Поля, и нажмите Кнопку Add (Добавить).

    -или-

  • Перетащите (Drag-And-Drop) выделенное Поле в Список Selected fields (Выбранные Поля).

Выбор Всех доступных Полей в Результирующий Набор

Вы можете выбрать Все поля, по-очереди (по-одному) или использовать имеющийся шаблонный символ (звездочка) (*). Если вы выбираете Поля по-именам, то их точные имена включаются в Набор Запроса . Если после однократного выполнения Запроса, добавить в Таблицу новые Поля, они уже не включаются автоматически в результирующий Набор, структуру Запрса необходимо уточнить.

Если вы используете шаблонный символ для включения всех Полей, то все доступные, в данный момент, поля таблицы включаются в результирующий набор Запроса. Если структура Таблицы изменится (добавятся новые поля, удалятся старые), результирующий Набор Запроса остается Актуальным.

Для добавления всех доступных Полей в результирующий набор Запроса:

  • Выберите опцию Add All - для добавления полей по-Именам.

    -или-

  • Перетащите (Drag-And-Drop) символ звездочка (*) в Список выбранных Полей Selected fields.

Отображение Псевдонима (Заголовка) для выбираемых Полей

Вы можете значительно улучшить читаемость Результирующих Наборов Запроса определяя описательные Заголовки для каждого Столбца. Например, вы можете задать значение заголовка "SumMaxOrd" для столбцы, в котором вычисляется выражение: SUM(MaxOrdAmount).

Для добавления Псевдонима к Имени Поля:

  1. В текстовом поле Functions and expressions, укажате требуемое Поле или Выражение, а в текстовом поле AS (Как) укажите Псевдоним, как в следующем Примере:

    CopyCode image Копировать Код
    SUM(maxorderamt) AS SumMaxOrd

  2. Нажмите кнопку Add - для размещения заданного Поля в результирующем Наборе (Списке) Selected fields.

Определение порядка размещения Полей в Результирующем Наборе Запроса:

Порядок следования Полей Набора Запроса меняется имеющимся Инструментом Списка.

Для изменения порядка следования Полей в Наборе Запроса:

  • Перетащите (Drag-and-Drop) указатель Поля, расположенный слева от его Имен, вверх или вниз; изменения выполняются последовательным обменом местами соседних Полей (инструментарий: Mover Box).

Для изменения порядка Сортировки результирующих Наборов (по-записям) рекомендуется использовать Закладку Order By.

Выборка Требуемых Записей Данных

Выборка требуемых вам Записей из результирующего Набора - ключевой (основополагающий) момент построения вашего Запроса. С помощью Закладки Filter системного окна Дизайнера Запросов, вы можете сформулировать секцию WHERE, с помощью которой уточняются самые необходимые вам Данные, определяется Условие выборки данных.

С помощью данного Инструмента вы можете определить Фильтр некоторого подмножества выбираемых Записей, которые будут включены в результирующий Набор Запроса: Например, вам требуется информация о всех Клиентах, имеющих самый большой Баланс мредств, или Все Клиенты, которые размещены в некотором Регионе, или имеют определенные почтовые Коды, ну и так далее. Для того, чтобы отобрать только необходимые вам Записи Данных, вы должны построить (сфоормулировать) условие выборки (Фильтр).

В системе Visual FoxPro, вам рекомендуется использовать Закладку Filter, в которой задается базовое Поле из Набора Запроса, определяется Оператор Соравнения, и некоторая Константа, определяющая суть Отбора требуемых Записей (с которой выполняется сравнение базисного Поля).

Для определения Фильтра Выборки

  1. Из Списка Field Name (Имена Полей), выберите поле, которое будет являться базовым для определения Фильтра выбираемых Записей.

    Note Примечание

    Вы не можете использовать в качестве базовых для Фильтра поля типа General или Memo.

  2. Из Списка Criteria (Критерий), выбирается тип оператора Сравнения.

  3. В соответствующем текстовом поле вводится вариант значения Sample (Пример).

    • Кавычки или апострофы можно использовать только для символьных данных, при этом базисное поле должно быть соответствующего типа ("C"); для других типов данных кавычки не используются.

    • Если вам требуется ввести Дату, то ее также не заключайте в Скобки.

    • Для Логических Данных указывайте ведущую и окончательную точки, как в примере (.T.).

    • Если вы вводите имя некоторого поля, Visual FoxPro предполагает, что это имя поля доступно в среде окружения.

  4. Если вам не требуется точное сравнение символьных данных, то установите соответствующий режим сравнения, кнопка Case.

Если вам требуется выполнить Реверс логического выражения, рекомендуется использовать логический оператор Not, кнопка которого также представлена. Например, если вам требуются данные о всех Клиентах, исключая Штат "Washington", можно использовать следующее логическое выражение:

CopyCode image Копировать Код
Customer.region Not Like WA

Для получения подробной информации о построении сложных Фильтров смотрите раздел Закладка Filter. Информацию по "Тонкой настройке фильтрующих выражений" смотрите в разделе: Как: Настроить Запросы SQL.

Если для выборки Данных вы используете несколько исходных Таблиц или Представлений, вы можете значительно расширить спектр ваших Поисковых Выражений (Фильтров); использовать Констрyкции Объединения JOIN.

Выбор Количества или Процента обработанных Записей

Если вам требуется только некоторое число иои определенный процент от общего количества Записей в результирующем наборе Запроса, вы можете использовать дополнительную секцию Top, которая определяется в Закладке Miscellaneous (Прочее) Дизайнера Запросов или Представлений; или на-прямую определить указанную секцию TOP в вашем операторе SQL SELECT. Для рассматриваемого ограничителя выбираемых Записей можно задавать значения от =1, до =32,767; или в процентах: от =0.01, до =99.99. В этом случае система Visual FoxPro сначала выборку и сортировку Записей, а за тем - извлекает указанный диапазон Записей (определенный по количеству или в пролцентах).

Для ограничения количества возвращаемыз Записей

  1. В системном окне Query Designer (Дизайнера Запрсов), активируйте закладку Miscellaneous (Прочее).

  2. В области Top, снимите отметку All (Все), или определите новый Ограничитель для Top.

  3. Выполните один из следующих вариантов:

    • В специальном боксе Number of records (Количество Записей), введите или выберите максимальное значение Ограничителя возвращаемых Записей Результирующего Набора Запроса.

    -или-

    • Нажмите кнопку Percent (Проценты), для переключения специального бокса Number of records для единиц в процентах Percentage, тем самым, далее вы можете определить максимальное значение Ограничителя, выражаемое в процентах (а не в целых числах количества возвращаемых Записей).

Например, если вам требуется выбрать 10 Клиентов, у которых наибольший Баланс Показателей (экономических) (Highest Order Amounts), вам требуется определить секцию оператора SQL GROUP BY для поля CUST_ID, которая обеспечит группировку Записей по каждому Клиенту (код которого определяет указанное Поле); и задать признак Сортировки по полю Экономического показателя (ORDER_AMT) в соответствующей секции ORDER BY. Для получения первых 10 соответствующих Записей (Клиентов, вам нужно выполнять сортировку по указанному полю, тогда наилучшие результаты будут сгруппированы в начале Списка (Набора). Если вы будете использовать сортировку по-возрастанию (Ascending), то получите самые низшие результаты по Экономическим показателям Клиентов, поэтому используется сортировка по-убыванию (Descending). Далее приводится программный Код описанного примера (базовый оператор SQL).

CopyCode image Копировать Код
SELECT TOP 10 *;
FROM testdata!customer INNER JOIN testdata!orders ;
ON Customer.cust_id = Orders.cust_id;
GROUP BY Customer.cust_id;
ORDER BY Orders.order_amt DESC

См. также

Задачи

Как: Создавать Запросы SQL (Visual FoxPro)
Как: Создавать Результирующие Наборы Запросов SQL
Как: Создавать Запросы, содержащие несколько Таблиц и Представлений
Как: Обновлять данные в Представлениях (View)

Описание

Закладка Fields, Дизайнеры Запросов и Представлений

Другие ссылки

Работа с Запросами SQL

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Organize Query Results

Visual FoxPro 9.0
Как: организовать результаты запроса
Смотрите также

С помощью определенного вывода вашего запроса, вы теперь можете организовывать записи, которые появляются в результате исполнения запроса с помощью их упорядочивания и группировки в полях вывода. Кроме, если вы пожелаете, то вы сможете также фильтровать группы, которые появятся в результатах исполнения запросов.

Упорядочивание результатов запроса

Упорядочивание определяет порядок, в каком записи или строки будут отсортированы, когда они появтся в выводе вашего запроса. Например, вы сможете сортировать записи по State, а затем по City, или сортировать их по возрастанию на основе остатка баланса счета.

Для установки порядка сортировки вашего запроса используйте закладку Order By. Порядок сортировки определяет порядок, в котором записи или строки появятся в выоде вашего запроса.

Для начала выберите поля, которые вы желаете использовать, с помощью бокса Selected Fields (Выбранные поля) в боксе Ordering Criteria (Критерий упорядочивания). Затем расположите поля в том порядке, в котором они должны появиться в результатах исполнения запроса.

Для установки порядка сортировки

  1. В боксе Selected fields (Выбранные поля), выберите имя поля.

  2. Затем щелкните по Add (Добавить).

Для удаления порядка сортировки

  1. Выберите одно и более полей, которые вы желаете удалить.

  2. Затем щелкните по Remove (Удалить).

Порядок, в котором поля покажутся в боксе Ordering criteria (Критерий упорядочивания) определяет порядок значимости, когда сортируются результаты запроса. Первое поле определяет первичный порядок сортировки.

Например, если первым полем в боксе Ordering criteria (Критерий упорядочивания) является поле Customer.region, а вторым полем является Customer.city, the то результаты будут упорядочены по Customer.region. Если в таблице потребителей имеется больше одной записи для для одного и того же значения поля region, то эти записи будут дополнительно упорядочены по полю Customer.city.

Для установки значимости поля порядка сортировки, используйте кнопку слева от поля для перетаскивания поля в желаемую позицию в боксе Ordering criteria (Критерий упорядочивания).

Вы можете сортировать по возрастанию или убыванию с помощью кнопки Order (Порядок) в области опций. Каждое поле появляется в кнопками перемещения в боксе Output fields (Поля вывода) на закладке Filter (Фильтр), с помощью которых вы сможете установить, как будут сортироваться данные поля - по убыванию или по возрастанию.

Группировка результатов запроса

Группировка консолидирует или собирает похожие записи в одну запись, для того, чтобы вы смогли выполнить вычисления, основанные на группе записей. Например, вы можете пожелать найти сумму всех счетов для указанного региона. Вместо того, чтобы искать все записи индивидуально, вы можете сгруппировать все записи, касающиеся одного региона, в одну и получить сумму по всем счетам для этого региона. Для управления группировкой записей используйте закладку Group By (Группировать по) в Query Designer (Конструкторе запроса).

Группировка наиболее полезна, когда используется в соединении с такими агрегатными функциями, как SUM, COUNT, AVG и тому подобными.

Например, предположим вы желаете видеть общую сумму по заказам для каждого номера идентификатора потребителя в вашей таблице заказов. Вам необходимо сгруппировать все записи заказов для данного номера потребителя в одну запись и затем вычислить сумме по всем заказам.

Сначала используйте закладку Fields (Поля) для добавления в вывод вашего запроса выражения SUM(Orders.order_net), затем используйте закладку Group By (Группировать по) для группировки результатов по номеру ID потребителя. Результат покажет общую сумму заказов для каждого потребителя:

Для установки параметров группировки

  1. На закладке Fields (Поля) впечатайте выражение в боксе Functions and expressions (Функции и выражения).

    - или-

    щелкните по кнопен вывода диалогового окна Expression Builder (Компоновщика выражения) для ввода выражения в бокс Functions and expressions (Функции и выражения).

  2. Щелкните по кнопке Add (Добавить), чтобы поместить выражение в бокс Selected fields (Выбранные поля).

  3. На закладке Group By (Группировать по), введите выражение для группировки результатов.

Вы можете, кроме того, установить фильтр на сгруппированные результаты.

Выбор групп, которые вам нужны

Для установки фильтра на сгруппированные или консолидированные записи вместо установки этих опций на индивидуальные запси, выберите Having (Имеющие...) на закладке Group By (Группировать по). Вы можете использовать имя поля, агрегатную функцию с именем поля или иное выражение в боксе Field Name (Имя поля).

Собрав предыдущий пример, вы можете использовать запрос, который покажет общую сумму продаж для номер потребителя, затем используйте кнопку Having (Имеющие...) для ограничения вывода на уровне пользователей, которые имеют по счетам более чем $50,000:

Для установки параметра Having на группу

  1. На закладке Group By (Группировать по) щелкните по Having (Имеющие...).

  2. В диалоговом окне Having (Имеющие...) выберите функцию и имя поля в поле Field Name (Имя поля).

  3. Щелкните по OK (Сделано).

Смотрите также

Задачи

Как: определить результаты запроса
Как: запускать запросы (Visual FoxPro)
Как: настраивать запросы
Как: запрашивать множество таблиц и представлений
Как: обновлять данные в представлении
Как: создавать запросы (Visual FoxPro)

Справочное руководство

Закладка Order By (Упорядочить по) конструкторов запроса и представления

Прочие ресурсы

Работа с запросами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Customize Queries

Visual FoxPro 9.0
Как: настраивать запросы (Queries)
Смотрите также

Вы можете настраивать свои запросы с помощью Конструктора запроса (Query Designer). Вы можете использовать фильтры для изменения диапазонов результатов вашего запроса. Вы можете, кроме того, добавлять выражения для производства вычислений или функции для данных в ваших полях.

Фильтрация записей в запросах (Queries)

Вы можете использовать выражения фильтра для изменения количества записей, которые извлекает ваш запрос. Например, предположим, что вы желаете извлечь записи, которые отвечают более чем одному критерию, например, вы желаете извлечь информацию о потребителях из конкретного штата, чей баланс задолженности превышает $1,000. В таком сценарии, вы пожелаете сузить диапазон записей, который извлечет ваш запрос. Или, предположим, что вы желаете извлечь записи, которые отвечают любому критерию, например, данные потребителей из штата Вашингтон или из штата Калифорния. В таком сценарии вам также желательно сузить диапазон извлекаемых запросом записей.

Когда вы желаете создать выражение фильтра, который влючает в себя более одного критерия, ипсользуйте оператор логического AND. Когда вы желаете создать выражение фильтра, которое будет использовать любой созданный критерий, используйте оператор логического OR.

Вы можете, кроме того, комбинировать условия AND и OR для выборки конкретных наборов записей. Например, вы можете пожелать извлечь записи о потребителях из штата Вашингтон или Калифорния, у каого максимальное количество заказов превышает сумму в $5,000.

Для указания условий AND или OR для выражения филттра

  1. Откройте запрос в Конструкторе запроса (Query Designer).

  2. Щелкните по закладке Filter (Фильтр) и выберите желаемое выражение фильтра.

  3. В колонке Logical (Логический) щелкните по AND или OR.

Для получения более подробной информации смотрите Закладка Filter (Фильтр) Конструктора запроса и представления (Query and View Designer).

Устранение дуюлирующих записей в запросах (Queries)

Вы можете удалить из запросов дублирующие записи. Дублирующие записи содержат поля, где все значения в полях соответствуют друг другу.

Для удаления из запросов дублирующих записей

  1. Откройте запрос в Конструкторе запроса (Query Designer).

  2. Щелкните по закладке Miscellaneous (Различные) и затем по No duplicates (Без дублей).

    Note Замечание

    Выбор "No duplicates (Без дублей) вставляет ключевое слово DISTINCT перед полями в предложении SQL SELECT запроса. Для получения более подробной информации смотрите описание команды SELECT - SQL.

Извлечение верхушки или процента записей

Вы можете указать - как много (по числу или в процентах) записей с высшими или низшими величинами в конкретном поле вы желаете вернуть с помощью запроса. Например, запрос может отобразить только те записи, которые содержат 10 высших или низших значений поля.

Использовав установки Top (Верхушка) на закладке Miscellaneous (Различные), вы можете установить либо число, либо процент записей, которые вы желали бы видеть в выборке. Для установки вашего выбора - высших или низших значений, вам нужно устанавить упорядочивание для вашего запроса либо по уменьшению, чтобы увидеть высшие значения, либо по увеличению, чтобы увидеть низшие значения.

Для извлечения числа или процета верхушки записей

  1. На закладке Order By (Упорядочи по) выберите поля, из которых вы желаете извлечи высшие значения, затем выберите Descending (По убыванию) или Ascending (По возрастанию) для отображения низших значений. Если вы сортировали дополнительные поля, поместите их в списке сортировки после полей, к примеру высшие значения которых вы желаете получить.

  2. На закладке Miscellaneous (Различные) впечатайте число для процента или число извлекаемых записей с высшими или низшими величинами в счетчике (spinner) Number of records (Число записей). Для отображения процента, установките метку в Percent (Процент).

  3. Если вы не желаете видет дублирующие записи включенными в результат вашего запроса, установите метку в No duplicates (Без дублей).

Введение выражение в запросы (Queries)

Вы можете создавать более гибкие и мощные запросы, если вы включите выражения либо в фильтры, либо в выходные поля. Вы можете включить функции и выражения в вывод вашего запроса, используя блок внизу закладки Fields (Поля). Если вы желаете именовать поля, хранящие выражения, вы можете добавить псевдоимена.

Например, вы можете пожелать, чтобы результат вашего запроса включал в себя сумму всех заказов в поле с псевдоименем Total:

CopyCode image Скопировать код
SUM(orders.order_amt) AS Total

Вы можете впечатать выражение непосредственно в боксе выражения или использовать Expression Builder (Компоновщик выражения) на закладке Fields (Поля).

Для ввода выражения в вывод вашего запроса

  1. На закладке Fields (Поля) впечатайте выражение в боксе Functions and Expressions (Функции и выражения).

    - или-

    Щелкните по кнопке (...) для вывода диалогового окна Expression Builder (Компоновщик выражения) и введите или выстройте выражение

  2. Затем щелкните по кнопке Add (Добавить) для размещения выражения в списке Selected fields (Выбранные поля).

    Note Замечание

    Null-значения не учитываются при вычислениях. Для получения более подробной информации о null-значенияз в выражениях, поищите в справке описание для "Null Values".

Вместо поиска записей, которые соответствуют одному или более полям, вы можете использовать выражение для комбинации двух полей или производить вычисления основанные на поле и искать записи, которые соответствуют комбинированным или вычисляемым полям.

Вы можете впечатать выражение непосредственно в боксе Example (Пример) на закладке Filter (Фильтр). Если вы желаете получить некоторую помощь, то вы можете использовать Expression Builder (Компоновщик выражения), вызов которого можно осуществить на закладке Fields (Поля), щелкнув по кнопке (...) справа от бокса Functions and Expressions (Функции и выражения).

Например, используя таблицу Orders, вы можете пожелать проверить общие скидки для потребителей путем объединения количества заказов и скидок по заказам в выражении, подобном приведенному ниже:

CopyCode image Скопировать код
Orders.order_amt * Orders.order_dsc

Смотрите также

Задачи

Как: создавать запросы (Visual FoxPro)
Как: настраивать запросы с помощью предложений SQL SELECT
Как: запуск запросов (Queries) (Visual FoxPro)
Как: организация результатов запроса
Как: запрос из множества таблиц и представлений

Справочное руководство

Диалоговое окно Expression Builder (Компоновщика выражения)
Закладка Fields (Поля), View Query and Designers(Конструкторы запроса и представления)
Как: добавить фильтр для фильтрации таблицы

Прочие ресурсы

Работа с запросами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Customize Queries Using SQL SELECT Statements

Visual FoxPro 9.0
Как: настроить запросы, используя команды SQL SELECT
Смотрите также

Когда вы создаете запрос в Query Designer (Конструкторе запроса), Visual FoxPro в действительность использует команды SQL SELECT для извлечения информации из полей в таблицах. Команды SQL SELECT предлагают вам более мощный способ управления вашим запросом и предоставляют больше возможностей для управления вашим запросом, а также контроля по хранению результатов. Для проверки вашего запроса или добавления комментариев, вы можете отобразить команды SQL SELECT в окне SQL и изменять их для дальнейшей настройки вашего запроса.

Когда вы добавляете запросы в ваши приложения, вы можете использовать команды SQL SELECT для объединения разнообразных источников данных, более точной фильтрации записей, управления ими и сортировки результата. Вы можете использовать команды SQL SELECT с запросами, созданными в Query Designer (Конструкторе запроса), представлениями в View Designer (Конструкторе представления) или в коде событий или процедур в файле программ (.prg). Для получения более подробной информации о том, где вы можете использовать команды SQL SELECT и о самих командах SQL SELECT, смотрите описания задачи Как: создавать запросы (Visual FoxPro) и команды SELECT - SQL.

Просмотр команд SQL SELECT, созданных запросами

Вы можете просмотреть команды SQL, которые ваш запрос выстроит в окне SQL в любой момент, пока вы создаете ваш запрос. Просмотром команд SQL, созданных Query Designer (Конструктором запроса), вы можете убедиться в том, что запрос определен должным образом.

Для просмотра команды SQL SELECT, созданного запросом

  1. Создайте свой запрос с помощью Query Designer (Конструктора запроса).

  2. В меню Query выберите View SQL.

Откроется окно SQL для отображения созданной вашим запросом команды SQL SELECT. Первая команда представляет собой команду SQL SELECT. Например, вы можете выбрать все записи из таблицы Customer, расположенной в базе данных TasTrade, в которой поле country содержит значение "Canada":

CopyCode image Скопировать код
SELECT *;
   FROM tastrade!customer;
   WHERE Customer.country = Canada

Скрипт команды SQL SELECT, появляющийся в окне SQL представляет собой команду, автоматически генерируемую при загрузке или редактировании запроса в Query Designer (Конструктор запроса).

Для немедленного запуска команды SQL SELECT, введите скопированную команду в окне Command. Если вы желаете, чтобы каждая опция команды появлялась на отдельной строке окна, завершите каждую строку точкой с запятой (;) для того, чтобы Visual FoxPro обработал команду только после ввода вами ее последней строки.

Для включения команды SELECT в программный код, скопируйте команду SQL SELECT в файл программы .prg.

Редактирование команд SQL SELECT в окне SQL

В окне SQL вы можете редактировать предложения SQL SELECT запроса.

Note Замечание

Query Designer (Конструктор запроса) разбирает только первое предложение SQL SELECT, отображаемое в окне SQL, опции, которые непосредственно включены в команду SELECT и первый комментарий, появляющийся в запросе. Все прочий текст Query Designer (Конструктор запроса) сбрасывает.

Для редактирования команды SQL SELECT в окне SQL

  1. Создайте или откройте запрос.

  2. Откройте окно SQL и отредактируйте команду SQL SELECT.

Вы можете указать звездочку (*), имя таблицы и звездочку * (table.*) или разделенный запятыми список полей для предложения SELECT в окне SQL. Например, вы можете указать SQL команду в виде SELECT * FROM или SELECT field1, field2, ... FROM. Ваши предпочтения сохраняются во время загрузки или генерации запроса. Кроме того, вы можете включить одни и те же поля много раз в списке SELECT.

Для получения более подробной информации о команде SQL SELECT обратитесь к ее описанию SELECT - SQL.

Загрузка изменений команды SQL SELECT в Query Designer (Конструктор запроса)

После редактирования команды SQL SELECT в окне SQL, вы можете перезагрузить изменения в Query Designer (Конструктор запроса).

Для обновления запроса в Query Designer (Конструкторе запроса)

  • Закройте окно SQL.

Вы можете, кроме того, обновить запрос, щелкнув по Query Designer (Конструктору запроса) для вывода его поверх всех окон.

Если the Query Designer (Конструктор запроса) не может перезагрузить ваши изменения, после того, как вы сделали их в окне View SQL (Просмотр SQL), то появится диалоговое окно с вопросом:

"View/Query designer is unable to reload your changes. Would you like to rebuild content from the designer? (Конструктор представления/запрос не может перезагрузить ваши изменения. Желаете ли вы перестроить содержимое конструктора?)"

Если вы ответите Yes (Да), ваши изменения в окне SQL будут сброшены и Visual FoxPro возвратит вас в Query Designer (Конструктор запроса). Если вы ответите No (Нет), Visual FoxPro вернет вас в окно SQL.

Для сохранения команды, которая не может быть разобрана конструктором, такой как вызов хранимой процедуры, ответьте No (Нет) и щелкните по кнопке Save (Сохранить) на полоске инструментов. Visual FoxPro сохранит запрос. Кроме того, вы можете щелкнуть по кнопке Save (Сохранить) после ввода команды в окне SQL для сохранения запроса. При этом вам не нужно щелкать в пространстве окна Query Designer, так как это вызовет попытку Query Designer (Конструктора запроса загрузить и разобрать запрос.

Смотрите также

Задачи

Как: настраивать запросы
Как: собрать ввод пользователя с помощью запросов
Как: запускать запросы (Visual FoxPro)

Прочие ресурсы

Работа с запросами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Collect User Input with Queries

Visual FoxPro 9.0
Как: собирать ввод пользователя с помощью запросов (Queries)
Смотрите также

Если вы желаете собрать значения, которые пользователь приложения ввел в форме, вы можете создать переменные для хранения этих значений и затем использовать их немедленно в предложении SQL SELECT или исполнить предложение позже. Для получения более подробной информации о настройке запросов с помощью SQL SELECT предложений смотрите Как: настраивать запросы (Queries) с помощью предложений SQL SELECT и Команда SELECT - SQL.

Для сбора значения ввода пользователя для немедленного использования

  • В предложении SQL SELECT включите имя формы или ссылку на форму там, где это применимо.

Приведенный ниже пример иллюстрирует, как собрать значения ввода пользователя из формы используя ссылку-ярлык, которая появляется в опции WHERE предложения SQL SELECT. Ссылка-ярлые, THISFORM, ссылается на текущую активную форму. Вы должны подставить имена элементов управления для ControlName1 и ControlName2.

CopyCode image Скопировать код
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = ;
    THISFORM.ControlName1.Value ;
   AND customer.region =
THISFORM.ControlName2.Value ;
   GROUP BY customer.postal_code ;
   ORDER BY customer.postal_code,
customer.company_name

Для хранения значений ввода пользователя из формы, когда вам не требуется использовать их пока форма активна, используйте в программном коде переменные. Например, если вы не желаете использовать ссылки на элемент управления, вы можете определить переменные в коде для хранения значений, возвращаемых элементом управления.

Для сбора значения ввода пользователя для использования в дальнейшем

  1. Определите переменные, которые вы желаете использовать для хранения значений ввода пользователя.

  2. В предложении SQL SELECT включите имя переменной там, где это применимо.

Приведенный ниже пример иллюстрирует, как собрать значения ввода пользователя из формы с использованием переменной, cValue, to store the value возвращаемой элементом управления в текущей активной форме. Ярлык-ссылка, THISFORM, ссылается на текущую активную форму. Переменная появится в опции WHERE предложения SQL SELECT для выбора страны, которая соответствует значению cValue.

CopyCode image Скопировать код
cValue = THISFORM.ControlName.Value
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = cValue ;
   GROUP BY customer.postal_code ;
   ORDER BY customer.postal_code, ;
     customer.company_name

Если вы не определите переменной до запуска запроса, появится сообщение об ошибке, указываюшее, что переменная не найдена. Если переменная не была определена в коде, Visual FoxPro подразумевает, что переменная была инициализирована ранее.

Смотрите также

Задачи

Как: настраивать запросы (Queries) с помощью предложений SQL SELECT
Как: создавать запросы (Visual FoxPro)

Прочие ресурсы

Работа с запросами
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Run Queries (Visual FoxPro)

Visual FoxPro 9.0
Как: Выполнять Запросы (Visual FoxPro)
См. также

После завершения построения Запроса вы можете выполнить его для получения результатов. Система Visual FoxPro выполняет соответствующий оператор SQL SELECT, который создается автоматически службой Query Designer, и направляет результаты выполнения данного запроса в окно Browse. Дополнительную информацию о построении Запросов см. в разделе Как: Создать Запрос (Visual FoxPro).

Для выполнения запроса из службы Query Designer

  1. Перед выполнением, откройте Запрос в Query Designer.

  2. Из Меню Query, выберите пункт Run Query.

Visual FoxPro отобразит результаты выполнения запроса в окне browse.

Вы можете выполнить данный запрос также из Project Manager, без загрузки содержания запроса в дизайнер; для этого выберите нужный запрос и нажмите кнопку Run.

См. также

Задачи

Как: Настроить оператор SQL SELECT в Запросах

Другие ссылки

Работа с Запросами
Определение источника результатов Запросов

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Setting Query Output Destinations

Visual FoxPro 9.0
Установка типа Результата при выполнении Запросов

Представленная таблица описывает возможные варианты задания результата выполнения Запроса.

Вариант | Описание
Browse | Показать результаты запроса в окне Browse.
Cursor | Сохранить результаты выполнения Запроса во временном курсоре.
Table | Сохранить результаты в Таблице.
Screen | Показать результаты в главном окне Visual FoxPro, как активном окне вывода результатов.

В данном разделе

How to: Как Выбрать тип результата выполнения запроса

Описываются варианты вывода результатов выполнения запросов, например: в курсор, в таблицу, на экран.
How to: Как направить результаты Запроса в таблицу, массив, курсор

Объясняется, как направить результаты запроса в таблицу, массив, курсор.
How to: Выполнение Запросов в Формах

Описывается, как использовать результаты выполнения запроса в управляющих элементах формы: ListBox, ComboBox, Grid.
How to: Как распечатать результаты выполнения запроса в отчетах (Report и Label)

Описывается, как распечатать результаты запросов всуществующих отчетах (report и label).
How to: Как Вывести результаты в окно

Описывается, как вывести результаты запроса в окно Browse или на экран Visual FoxPro.

Описание

Окно Browse

Показывает записи результата в активном окне.
Команда SELECT - SQL

Получить результаты из одной или нескольких таблиц.
Диалоговый бокс Query Destination

Позволяет Вам настроить вариант вывода результатов / выбрать один из семи вариантов. Эта команда доступна только для запросов.

Связанные разделы

Работа с Запросами

Описывает использование подсистемы Запросов для получения результатов из таблиц и представлений.
How to: Настройка результатов Запроса

Описывает настройку вывода результатов выполнения запросов.
How to: Настройка Запросов

Описывает настройку запросов в Дизайнере Запросов, например: расширение запросов, установка фильтров, ограничение количества данных в результате, устранение двойных запросов.
How to: Запросы из нескольких Таблиц и Представлений

Описывается разработка запросов получения данных из нескольких таблиц.
How to: Изменение данных в Представлениях

Описывается изменение данных в Представлениях и базовых таблицах (по которым получены Представления).
How to: Создание Запросов

Описываются другие методы создания Запросов
.
Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Choose a Query Output Destination

Visual FoxPro 9.0
Как: Выбрать тип результата выполнения Запроса
См. также

Результат выполнения Запроса может быть направлен в различные контейнеры, такие как: в курсор, в таблицу, на экран.По-умолчанию, Visual FoxPro выводит результаты выполнения запроса в окно browse.

При выборе опции Query Destination из меню Query, или нажатии на кнопку Query Destination в тулбаре Query, выводится диалоговый бокс Destination, в котором Вы можете задать тип результата выполнения заппроса.

Для выбора типа результата запроса

  1. В меню Query, выберите Query Destination.

  2. В диалоговом боксе Query Destination, выберите тип результата заппроса, и уточните дополнительные параметры, если требуется.

См. также

Задачи

Как: Выполнить Запрос (Visual FoxPro)

Описание

Команда SELECT - SQL

Другие ссылки

Работа с Запросами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Store Query Results in a Table, Array, or Cursor

Visual FoxPro 9.0
Как: сохранить результаты запроса в таблицу, массив или курсор
Смотрите также

Вы можете сохранить результаты исполнения запроса в таблице, массиве или курсоре для последующего использования, такого как заполнения форм и печати отчетов или этикеток. Если вы хотите хранить результаты только исполнения какой-то операции, пошлите результаты исполнения запроса в массив или или курсор. Если вы желаете сохранить результаты исполнения запроса в отдаленном будущем, сохраните их в таблице.

Для укзания таблицы в качестве приемника данных

  • используйте опцию INTO предложения SELECT - SQL для указания применика.

Приведенный ниже пример показывает использование опции INTO для таблицы:

CopyCode image Скопировать код
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = "Canada" ;
   INTO TABLE mytable

Для указания массива в качестве приемника данных

  • используйте опцию INTO предложения SELECT - SQL для указания применика.

Приведенный ниже пример показывает использование опции INTO для массива:

CopyCode image Скопировать код
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = "Canada" ;
   INTO ARRAY aMyArray

Для указания курсора в качестве приемника данных

  • используйте опцию INTO предложения SELECT - SQL для указания применика.

Приведенный ниже пример показывает использование опции INTO для курсора с именем mycursor:

CopyCode image Скопировать код
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = "Canada" ;
   INTO CURSOR mycursor

Если вы создаете таблицу или массив, вы можете использовать их как и любую другую таблицы или любой другой массив в Visual FoxPro. Если вы создаете курсор, вы можете просмотреть его содержание. Курсор открывается в ближайшей доступной рабочей области. Вы можете получить к нему доступ с помощью его имени, уазанного в предложении SELECT - SQL.

Приведенные ссылка на процедуры описывают два общих пути для включения результатов запроса, хранимых в таблицах или курсоре в приложение.

Смотрите также

Задачи

Как: исполнять запросы (Visual FoxPro)
Как: заполнить результатами исполнения запроса управляющие элементы в форме Form
Как: отпечать результаты исполнения запроса в отчете или этикетк

Прочие ресурсы

Установка приемников данных запросов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Populate Query Results in a Form Control

Visual FoxPro 9.0
Как: Заполнить элементы Контролов в Форме результатами Запроса
См. также

Для отображения результатов выполнения Запросов в пользовательских Формах, вы можете использовать различные варианты: использовать таблицы, курсоры, массивы, которые заполняют соответствующие Контролы: Grid, List Box, или Combo Box.

Для заполнения объектов формы list box или combo box из таблиц или курсоров

  1. В системном средстве Form Designer, выберите требуемый, заполняемый Контрол на Форме.

  2. Установите для него значение Свойства RowSourceType = 3 - SQL Statement.

  3. В соответствующем Свойстве RowSource - введите, опредеите команду SELECT - SQL, включая опцию назначения, как INTO TABLE или INTO CURSOR.

Для заполнения Контрола Grid данными из Таблицы или Курсора

  1. В системном средстве Form Designer, выберите требуемый контрол (Grid), на форме.

  2. В событии формы Load, определите необходимый оператор SELECT - SQL, включая соответствующую опцию назначения INTO TABLE или INTO CURSOR.

  3. Установите для данного Контрола значение свойства RecordSource = имя объекта назначения (предылущий пункт).

  4. Установите для данного Контрола значение свойства RecordSourceType = 0 Table (для таблицы) или = 1 Alias (для курсора).

См. также

Задачи

Как: Выполнить Запрос в системе (Visual FoxPro)

Другие ссылки

Установка типа Результата выполнения Запроса
Работа с Запросами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Print Query Results in a Report or Label

Visual FoxPro 9.0
Как: Напечатать Результаты выполнения SQL- Запроса в виде Отчета или Этикетки
См. также

Если ваш Отчет или Этикетка содержат группировку данных или различные варианты сортировки данных, то получить Таблицы данных в виде источников для этих отчетов можно при помощи оператора Запроса SELECT - SQL, который выполняет требуемую для вас выборку данных.

Для отправки на печать результатов выполнения запроса

  • Используйте команду SELECT - SQL совместно с командами REPORT или LABEL.

    В следующем примере показано совместное использование команд: выборка с GROUP BY и ORDER BY, отчет REPORT FORM :

    CopyCode image Копировать Код
    SELECT * ;
       FROM tastrade!customer ;
       WHERE customer.country = "Canada" ;
       GROUP BY customer.region ;
       ORDER BY customer.postal_code, customer.company_name ;
       INTO CURSOR MyCursor
    REPORT FORM MYREPORT.FRX

    В следующем примере показано использование команды LABEL FORM:

    CopyCode image Копировать Код
    SELECT * ;
       FROM tastrade!customer ;
       WHERE customer.country = "Canada" ;
       GROUP BY customer.region ;
       ORDER BY customer.postal_code, customer.company_name ;
       INTO CURSOR mycursor
    LABEL FORM MYLABEL.LBX

Использование оператора запроса SELECT - SQL является очень удобным методом получения источников данных для Отчетов и Этикеток, однако это не единственный вариант.

См. также

Задачи

Как: Выполнять Запросы в системе (Visual FoxPro)

Описание

SELECT - SQL, команда

Концепции

Интеграция Отчетов в Приложения пользователя

Другие ссылки

Задание варианта вывода результата SQL-Запроса

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Display Query Results in a Window

Visual FoxPro 9.0
Как: Отобразить Результаты SQL-Запроса в Окне
См. также

Если вам нужно отобразить результаты выполнения оператора SELECT - SQL, вы можете направить полученные результаты в пользовательское или системное Окно. По-Умолчанию, если в представленном операторе SQL отсутствует указание типа Результирующего набора, результаты отображаются в системном окне Browse. Вы имеете возможность перенаправить результаты Запроса в главное окно системы Visual FoxPro или в другое активное пользовательское Окно.

Для отображения результатов SQL-запроса в главном окне Visual FoxPro:

  • Используйте опциональную секцию TO SCREEN соответствующей команды SELECT - SQL.

Для отображения результатов SQL-запроса в другом активном Окне:

  • Определите пользовательское Окно, активируйте его, выполните соответствующий оператор SQL-запроса, или другую команду, которая отображает некоторые результаты в пользовательском Окне.

В представленном далее Примере: определяется и активируется временное пользовательское Окно с Заголовком "Top Customers", далее в этом окне отображаются результаты Запроса: названия некоторых Компаний, сумма Заказов которых превышает сумму $5,000.

Отображение Результатов Запроса в пользовательском Окне
Программный Код Комментарии
CopyCode image Копировать Код
frmMyForm=createobj("form")
frmMyForm.Left = 1
frmMyForm.Top = 1
frmMyForm.Width = 130
frmMyForm.Height = 25
frmMyForm.Caption = "Top Customers"
frmMyForm.Show

Создание и отображение временного пользовательского Окна.
CopyCode image Копировать Код
SELECT customer.company_name,;
 SUM(orders.freight) ;
 FROM tastrade!customer,
 tastrade!orders ;
 WHERE customer.customer_id =
 orders.customer_id ;
 GROUP BY customer.company_name ;
 HAVING SUM(orders.freight) > 5000 ;
 ORDER BY 2 DESC

Выполнение оператора SELECT - SQL.

См. также

Задачи

Как: Выполнять Запросы (Visual FoxPro)

Описание

SELECT - SQL, команда

Другие ссылки

Установка типа результирующего набора для SQL-Запроса

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Working with Views (Visual FoxPro)

Visual FoxPro 9.0
Работа с Представлениями (Visual FoxPro)

Для оптимальной настройки процессов изменения наборов данных вашего приложения можно создавать и эффективно использовать Представления. Views (представления) являются совокупностью / комбинацией различных характеристик Таблиц и Запросов, обеспечивающих получение результирующих наборов данных из одной или нескольких исходных Таблиц или других Представлений. Вы можете использовать создаваемые Представления для просмотра получаемых данных или для проведения соответствующих корректировок данных; Продставления могут использоваться как локальные образы наборов данных для удаленных источников.

В данной Секции

Создание Представлений

Содержит общие рекомендации по созданию Представлений различных типов; различного назначения.

Манипулирование Представлениями

Описываются ключевые задачи, которые можно решать при помощи Представлений.

Отображение данных в Представлениях

Описываются другие инструментальные средства для просмотра данных в Представлениях.

Изменение Данных в Представлениях

Описывается, как использовать созданные представления для обновления данных в исходных таблицах.

Манипулирование удаленными Данными

Описывается, как выполнять обновление изменненных данных в удаленных представлениях.

Как: Оптимизировать выполнение Представлений

Рассматриваются вопросы по оптимизации загрузки данных в наборы Представлений; настройке соответствующих параметров.

Связанные Секции

Работа с исходными Данными

Рассматриваются концептуальные вопросы по созданию эффективных приложений по обработке исходных данных; приводятся рекомендации по созданию компактных программных компонент обработки данных.

Работа с Таблицами (Visual FoxPro)

Обсуждаются вопросы по созданию эффективной структуры размещения информации в Таблицах данных, которые обеспечивают отработку поставленных задач рассматриваемого приложения.

Работа с Запросами

Обсуждаются вопросы выборки данных из Таблиц и Представлений.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Creating Views

Visual FoxPro 9.0
Создание Представлений

Для получения требуемых данных из локальных или удаленных источнимков данных (Серверов) вы можете использовать имеющиеся механизмы создания соответственно Локальных или Удаленных Представлений. Локальные представления используют стандартный синтаксис Visual FoxPro SQL-операторов, с помощью которых данные выгружаются из Таблиц, расположенных на вашем компьютере (локально). Удаленные представления используют синтексис SQL-операторов, характерный для удаленного источника данных (сервера), который обычно соответствует ODBC-SQL-синтаксису. Для локальных представлений, вы можете загружать данные как из локальных таблиц Visual FoxPro, так и из удаленных ODBC - источников, в этом случае, удаленные представления добавляются к локальным представлениям.

В данном Параграфе:

Создание Представлений

Описываются основополагающие принципы разработки и создания Представлений (Views).

Как: Создавать локальные Представления

Описывается, как создавать представления, построенные на локальных Таблицах.

Доступ к Удаленным данным при помощи Представлений

Рассматриваются основные вопросы по созданию доступа к удаленным источникам данных при помощи Представлений.

Как: Определить параметры Соединения с удаленными источниками данных (Серверами)

Объясняется, как определить необходимые параметры Соединения с удаленными источниками данных, позволяющие строить Представления.

Как: Создавать удаленные Представления

Рассматриваются вопросы и особенности создания удаленных Представлений.

Как: Добавить Таблицу в описание Представления

Описываются особенности доступа к данным из другой таблицы, присоединения ее к существующему Представлению.

Как: Выбрать Поля для Представления

Описывается, как выбрать необходимые Поля из Таблиц для включения их в структуру Представления.

Как: Создать результирующие наборы данных для Представлений

Рассматриваются вопросы получения результирующих Записей данных как итог создаваемого Представления.

Связанные разделы

Управление Представлениями

Рассматриваются основные Задачи, которые требуется решать при управлении Представлениями.

Работа с Представлениями (Visual FoxPro)

Объясняется, как вы можете использовать созданные Представления для обновления используемых (получаемых) данных в ваших Приложениях.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


View Creation

Visual FoxPro 9.0
Создание представления
Смотрите также

Основа процесса создания представления является в общем одним и тем же, независимо используемого вами метода и типа создаваемого вами представления:

  1. Определение типа представления, которое вам требуется создать.

  2. Указание таблиц или представлений из которых вы желаете извлекать записи и их условия объединения.

  3. Указание полей, из которых вы желаете извлекать данные.

  4. Указание любых дополнительных критериев для извлечения данных из этих таблиц.

  5. Указание - будут ли обновляться оригинальные или базовые таблицы, используемые для сборки представления.

  6. Генерация представления для извлечения и просмотра итоговых записей.

Так же, как и в случае запросов, при создании вами представления, Visual FoxPro собирает и запускает SQL оператор, который определяет набор данных для представления, используя определение созданного вами представления. Кроме того, вы можете установить свойства предствлений.

Комбинирование представлений

Вы можете скомбинировать представления, когда вам нужен поднабор данных из других представлений или в случае, когда вы желаете объединить локальные или удаленные данные в одном, единичном представлении. Представление, собираемое из других представлений называется представлением верхнего уровня. Представление, собранное из локальных таблиц и локальных представлений, называется многоярусным представлением.

Основа процесса для комбинирования локальных и удаленных данных в одно представление описывается приведенными ниже шагами:

  1. Создайте удаленное представление.

  2. Создайте локальное представление и добавьте созданное вами удаленное представление.

  3. Введите любые локальные таблицы, которые вам требуются, в локальное представлений и объедините их по общему полю.

  4. В локальном представлении, установите поля и фильтры для нужных вам записей.

  5. Запустите представление.

  6. Обновите результаты представления для обновления как локальных таблиц, так и удаленного представления.

  7. Закройте локальное представление и затем удаленное представление для обновления данных на удаленном сервере.

Кроме того, вы можете комбинировать локальные и удаленные данные в представлении, путем создания нового локального представления, основанного на локальном и удаленном представлениях. Вы можете иметь множество уровней представлений между представлением верхнего уровня и локальными или удаленными базовыми таблицами. Когда вы используете многоярусное представление, представления, на котором базируется представление верхнего уровня, и любые базовые таблицы Visual FoxPro, используемые в верхнем или любом промежуточном уровне, появятся в окне Data Session. Однако удаленные таблицы в этом окне отображены не будут.

Например, приведенный ниже код используется в образцовой базе Northwind и создает локальное представления, которое объединяет данные из локальной таблицы employee и удаленной таблицы orders:

CopyCode image Скопировать код
OPEN DATABASE HOME(2) + "Northwind\Northwind"
CREATE SQL VIEW Local_Employee_View AS SELECT * FROM Employees
CREATE SQL VIEW Remote_Orders_View ;
   CONNECTION Remote_01 AS SELECT * FROM Orders
CREATE SQL VIEW Local_Employee_Remote_Orders_View ;
   AS SELECT * FROM Northwind!Local_Employee_View, ;
   Northwind!Remote_Orders_View ;
   WHERE Local_Employee_View.Emp_ID = Remote_Orders_View.Emp_ID

Смотрите также

Задачи

Как: создать локальные представления

Концепции

Доступ к удаленным данным с помощью представлений

Прочие ресурсы

Создание представлений
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Local Views

Visual FoxPro 9.0
Как: создавать локальные представления
Смотрите также

Локальные представления используют синтаксис Visual FoxPro SQL для выборки информации из таблиц или представлений, которые хранятся локально, на вашем компьютере. Вы можете создавать локальные представления следующими способами:

  • Использование Мастера локального представления (Local View Wizard).

    Мастер подготовлен для самого легкого и быстрого создания представления. Вы можете выбирать поля из таблиц и представлений, фильтровать и сортировать записи в вашем представлении. Для получения более подробной информации смотрите Создание локального представления с помощью мастера.

  • Использование Конструктора представлений (View Designer).

    Конструктор представлений (View Designer) предоставляет возможность выборки полей из таблиц или представлений, указания критерия для извлечения данные и условий объекдинения, а также фильтрации, сортировки и группировки записей для создания представлений или настройки уже существующих. Для получения более подробной информации смотрите Создание локальных представлений с помощью Конструктора представлений (View Designer).

  • Программное создание представлений.

    Команда CREATE SQL VIEW пcommand предоставляет вам возможность использовать предложения SQL SELECT для программного создания представлений. Для получения более подробной информации смотрите Создание локальных представлений программным способом.

Независимо от используемого вами метода, основной процесс создания представления в общем смысле один и тот же. Для получения более подробной информации смотрите Создание представлени.

Note Замечание

Когда вы создаете или используете представление из Диспетчера проекта (Project Manager), последний открывает базу данных автоматически. Однако, если вы позднее будете использовать представление вне проекта, вы должны открыть базу данных или убедиться, что база данных находится в области видимости, до того, как вы будете использовать представление.

Создание локальных представлений с использованием Мастера

Вы можете с помощью мастера легко и быстро создавать локальные представления. Мастер поможет вам выбрать таблица или представления и создаст запрос, основанный на ваших ответах в серии вопросов.

Note Замечание

Таблицы или представления, которые вы желаете использовать, должны быть частью проекта или базы данных до того, как вы начнете использовать мастер для создания представления. Для получения более подробной информации смотрите Работа с проектами и Разработка баз данных.

Для запуска мастера локального представления

  1. Выполните одно из приведенного ниже:

    • Откройте базу данных в Конструкторе базы данных (Database Designer).

      - или-

    • Откройте проект приложения в Диспетчере проекта (Project Manager) и щелкните по базе данных или таблице.

  2. В меню Инструменты (Tools) перейдите к Мастера (Wizards) и щелкните по Все мастера (All Wizards).

  3. В диалоговом окне Выбор мастера (Wizard Selection) щелкните на Мастер локального представления (Local View Wizard) и затем по OK.

  4. Следуйте инструкциям на экранах мастера.

Для получения более подробной информации смотрите Мастер локального представления.

Создание локальных представлений с помощью Конструктора представлений (View Designer)

Вы можете использовать Конструктор представлений (View Designer) для создания представлений и указания дополнительных опций или настройки уже существующих представлений.

Note Замечание

Таблицы или представления, которые вы желаете использовать, должны быть частью проекта или базы данных до того, как вы начнете использовать мастер для создания представления. Для получения более подробной информации смотрите Работа с проектами и Разработка баз данных.

Для запуска Конструктора представлений (View Designer)

  1. Выполните одно из приведенного ниже:

    • Откройте базу данных в Конструкторе базы данных (Database Designer).

      - или-

    • Откройте проект приложения в Диспетчере проекта (Project Manager) и щелкните по базе данных или таблице.

  2. В меню Файл (File) щелкните на Новый (New).

  3. В диалоговом окне Новый (New) щелкните на Представление (View) и затем на Новый файл (New File).

    Появится диалоговое окно Добавить таблицу или представление (Add Table or View).

  4. В области Выбрать (Select) диалогового окна Добавить таблицу или представление (Add Table or View) щелкните по Таблицы (Tables) для отображения доступных таблиц или Представления(Views) для отображения доступных представлений.

  5. Щелкните по таблице или представлению, которые вы желаете использовать, затем по Добавить (Add).

    Note Совет

    Когда вы добавляете более чем одну таблицу или представление, появится диалоговое окно Условие объединения (Join Condition). Вы можете изменить область выходных записей с помощью указания условия объединения для каждой дополнительной таблицы или представления.

    Note Совет

    Когда вы выбираете одну и ту же таблицу или представление многократно, Visual FoxPro использует автоматически генерируемые псевдоимена для таблицы или представления. Однако, вы можете сами указать псевдоимя для каждой таблицы или представления, которые вы выбираете, впечатав его в боксе Alias диалогового окна Добавить таблицу или представление (Add Table or View).

    Таблицы или представления, которые вы выбрали появятся в Конструкторе представлений (View Designer) и Конструкторе базы данных (Database Designer).

  6. Когда вы закончите работу, щелкните по Close.

Для получения более подробной информации об указании условий объединений смотрите Как: управлять выборкой записи с объединениями, Условия объединения для таблиц, запросов и представлений и Диалоговое окно Условие объединения (Join Condition).

После выбора таблицы или представления, вам необходимо выбрать поля, которые содержат желаемые данные для извлечения данных для вашего представления. Для получения более подробной информации смотрите Как: выбирать поля для представлений.

Программное создание локальных представлений

Вы можете программно создавать локальные представления открытием Конструктора представления (View Designer) или указанием предложения SQL SELECT.

Для программного создания локального представления

  1. Откройте базу данных или проект, содержашие таблицы или представления, которые вы желаете выбрать.

  2. Выберите одно из приведенного ниже:

    • Для выбора таблицы или представления и открытия Конструктора представлений (View Designer), используйте команду CREATE SQL VIEW в которой укажите только имя представления, которое вы желаете создать.

    - или-

    • Для создания локального представления без использования Конструктора представлений (View Designer), используйте команду CREATE SQL VIEW и опцию AS для указания предложения SQL SELECT.

      Note Замечание

      Для сведения к соответствию связанных записей между таблицами, вы должны указать условие объединения в опциях FROM или WHERE предложения SQL, используемого в команде CREATE SQL VIEW. Если между таблицами существуют постоянные отношения, они будут автоматически использоваться как условия объединения.

    Таблицы или представления, которые вы выбрали появятся в Конструкторе представлений (View Designer) и Конструкторе базы данных (Database Designer). Вы может быть потребуется закрыть и повторно открыть конструкторы для обновления в них информации.

Для получения более подробной информации смотрите Команда CREATE SQL VIEW.

Смотрите также

Задачи

Как: добавить таблицы в представления

Концепции

Создание представления
Доступ к удаленным данным с использованием представлений

Прочие ресурсы

Создание представлений
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Accessing Remote Data Using Views

Visual FoxPro 9.0
Доступ к удаленным данным с помощью представлений
Смотрите также

Вы можете обращаться и извлекать информацию из удаленных источников данных с помощью удаленных представлений. Удаленные представления похожи на локальные представления за исключением того, что вы указываете имя или имя соединения для удаленного источника данных. В качестве источника удаленных данных обычно используется источник данных Open Database Connectivity (ODBC). Удаленные представления используют для удаленных источников данных SQL синтаксис.

Общий процесс доступа к удаленным данным с помощью удаленных представления описывается ниже:

  1. Установка рабочего соединения с действительным удаленным источником данных.

    В качестве удаленного источника данных обычно используется удаленный сервер, для которого устанавливается ODBC драйвер и определяется имя источника данных ODBC. Для получения более подробной информации смотрите описание Как: установить источник данных ODBC.

  2. В Visual FoxPro, когда вы создаете представление определяется источник данных или именованное соединение.

    Вы можете определить соединение к источнику данных и хранить определение в базе данных Visual FoxPro с тем, чтобы вы могли использовать определение соединения, когда вы создаете удаленное представление. Когда вы открываете удаленное представление, Visual FoxPro использует именованное соединение, ассоциированное с представлением для соединения с удаленным источником данных и запросом данных из этого источника.

  3. Создается удаленное представление с помошью выбора таблиц и полей, которые вы желатете использовать из удаленного источника данных.

  4. Устанавливаются любые свойствао, которые вы желаете для именованного соединения для оптимизации связи между Visual FoxPro и удаленным источником данных.

Смотрите также

Задачи

Как: определить соединение для удаленных источников данных

Концепции

Описание представления

Прочие ресурсы

Создание представлений
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Define Connections to Remote Data Sources

Visual FoxPro 9.0
Как: определить соединения с удаленными источниками данных
Смотрите также

Вы можете дать определение и сохранить соединение с удаленным источником данных в базе данных Visual FoxPro с тем, чтобы вы смогли использовать имя соединения, когда вы создаете и используете удаленное представление.

Создание и хранение именованных соединений в вашей базе данных не использует никаких сетевых или удаленных ресурсов, так как Visual FoxPro не активирует соединения до тех пор, пока вы не начнете использовать удаленное представление. Именованные соединения существуют только как определения соединений хранящиеся в виде записи в файле базы данных (.dbc).

Note Замечание

Прежде, чем вы сможете создать соединение, вы должны открыть базу данных. Для получения более подробной информации смотрите Как: открывать базы данных.

Для определения соединения

  1. Выполните одно из приведенного ниже:

    • Откройте базу данных в Database Designer (Конструкторе баз данных).

    - или -

    • Откройте преокт вашего приложения в Project Manager (Диспетчере проекта).

  2. В меню File (Файл) щелкните по New (Новый).

  3. В диалоговом окне New (Новый) щелкните по Connection (Соединение) и, затем, по New File (Новый файл).

  4. В Connection Designer (Конструкторе соединения) выберите параметры, которые соответствуют требованиям вашего сервера.

  5. В меню File (Файл) щелкните по Save (Сохранить) для открытия диалогового окна Save (Сохранить) .

  6. В блоке ввода Connection Name (Имя соединения) впечатайте имя для соединения и щелкните по OK.

Для получения более подробной информации смотрите описание Connection Designer (Конструктор соединения).

Для программного создания нового соединения

  1. Откройте базу данных или содержащий ее проект.

  2. Выберите одно из приведенного ниже:

    • Для создания соединения с использованием Connection Designer (Конструктора соединения), используйте команду CREATE CONNECTION с вопросительным знаком (?).

    - или -

    • Для создания соединения без открытия Connection Designer (Конструктора соединения) используйте команду CREATE CONNECTION с именем соединения и необходимыми параметрами.

Для получения более подробной информации смотрите описание команды CREATE CONNECTION.

Например, приведенный ниже код открывает базу данных с именем MyDatabase м создает соединение с именем Remote_01 для удаленного источника данных с именем SQLRemote:

CopyCode image Скопировать код
OPEN DATABASE MyDatabase
CREATE CONNECTION Remote_01 ;
   DATASOURCE SQLRemote USERID myUserID PASSWORD myPassword

Примечание переводчика.

В поставку Visual FoxPro 9.0 включено приложение DataExplorer с помощью которого вы можете быстро и легко создавать и тестировать соединения.

Смотрите также

Задачи

Как: создавать удаленные представления

Концепции

Доступ к удаленным данным с помощью представлений
Создание представления

Прочие ресурсы

Создание представлений
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Remote Views

Visual FoxPro 9.0
Как: создавать удаленные представления
Смотрите также

Вы можете создавать удаленные представления указанием имени действительного источника данных или предварительно определенного вами соединения. Для получения более подробной информации о определении соединений смотрите Как: описать соединения к удаленным источникам данных.

Note Замечание

Если вы создаете удаленное соединение, использовав только имя источника данных, Visual FoxPro использует информацию Open Database Connectivity (ODBC) об источнике данных для создания и активации соединения с источником данных. Когда вы закроете представление, то закроется и соединение.

Вы можете создавать удаленные представления следующими способами:

  • Использовать мастер создания удаленного представления (Remote View Wizard).

    Мастер предоставляет наиболее легкий способ создания представления. Вы можете выбрать поля из таблиц, фильт и сортировку записей в вашем удаленном представлении. Для получения более подробной информации смотрите описание Создание удаленных представлений с использованием Мастера (Wizard).

  • Использовать View Designer (Конструктор представления).

    View Designer (Конструктор представления) делает возможным выбор полей из таблиц, указать критерии для выборки данных и условия объединения, а также фильтр, сортировку и группировку записей для создания представлений или настройки существующих. Для получения более подробной информации смотрите описание Создание удаленный представлений с помощью View Designer (Конструктора представления).

  • Создавать удаленные представления программным путем.

    Команда CREATE SQL VIEW дает возможность указать удаленный источник данных или имя соединения, что в свою очередь дает возможность создавать удаленные представления программно. Для получения более подробной информации смотрите описание Программное создание представлений.

Незасимо от используемого вами метода, основной процесс создания представления в общем-то один и тот же. Для получения более подробной информации смотрите описание Создание представления.

Note Замечание

Если вы создаете или используете представление из Project Manager (Диспетчера проекта), the Project Manager (Диспетчер проекта) открывает базы данных автоматически. Однако, если вы впоследствии используете представление вне проекта, вы должны сами открыть базу данных или убедиться, что база данных находится в области видимости до того, как вы сможете использовать представление.

Создание удаленный представлений с помощью мастера

Вы можете легко создавать удаленные представления, используя мастер создания представлений. Мастер поможет вам выбрать соединения или источники данных и создат запрос, основанный на ваших ответах на вопросы мастера.

Для создания представления с помощью мастера

  1. Выполните одно из приведенного ниже:

    • Откройте базу данных в Database Designer (Конструкторе базы данных).

    - или -

    • Откройте проект вашего приложения в Project Manager (Диспетчере проекта).

  2. В меню Tools (Инструменты) перейдите к Wizards (Мастера) и щелкните на All Wizards (Все мастера).

  3. В диалоговом окне Wizard Selection (Выбор мастера) щелкните на Remote View Wizard (Мастер удаленного представления) и, затем, на OK.

  4. Следуйте инструкцияя на экранах мастера.

Для получения более подробной информации смотрите описание Мастер создания удаленного представления (Remote View Wizard).

Создание удаленных представлений с помощью View Designer (Конструктора представления)

Вы можете использовать View Designer (Конструктора представления) для создания представлений и указания дополнительных опций или для настройки существующих представлений.

Note Замечание

Для удаленных представлений, в случае, если вы объединяете две или более таблицы во View Designerт (Конструктора представления), конструктор использует внутренние объединения (inner join) и помещает условие объединения в опцию WHERE предложения SQL генерируемого для представления. Если вы желаете использовать внешнее объединение (outer join), View Designer (Конструктор представления) обеспечивает только внешние объединения слева, используя синтаксис, поддерживаемый ODBC. Если вам требуются внешние объединения справа или полные объединения или, если вы желаете использовать синтаксис для внещнего объединения слева, то в таком случае создавайте представление программным способом.

Для создания удаленного представления

  • Выполните одно из приведенного ниже:

    • Откройте базу данных в Database Designer (Конструкторе базы данных).

    - или -

    • Откройте проект вашего приложения в Project Manager (Диспетчере проекта).

Для получения более подробной информации смотрите описания Конструктор запроса и представления (Query and View Designers) и Диалоговое окно Select Connection or Data Source (Выбор соединения или источника данных).

После выбора таблиц, вам необходимо выбрать поля, которые содержат данные, которые вы желаете извлекать с помощью вашего представления. Для получения более подробной информации смотрите Как: выбирать поля для представлений.

Создание удаленных представлений программным путем

Вы можете создавать удаленные представления программным путем, вызвав View Designer (Конструктор представления) или указанием предложения SQL SELECT.

Для создания удаленного представления программным путем

  1. Откройте базу данных или проект, в которые вы желаете добавить удаленное представление.

  3. Выполните одно из приведенного ниже:

    • Для выбора источника данных или имени соединения, выберите таблицы и откройте View Designer (Конструктор представления) с помощью командв CREATE SQL VIEW с единственной опцией REMOTE.

    - или -

    • Для создания удаленного представления без использования View Designer (Конструктора представления), используйте CREATE SQL VIEW с опцией CONNECTION и опцией AS для указания предложения SQL SELECT, которое вы желаете использовать для представления.

      Note Замечание

      Для указания соответствия связанных записей между таблицами, вы должны указить условие объединение в опции FROM или WHERE предложения SQL, используемого в команде CREATE SQL VIEW . Если между таблицами сущестуют постоянные отношения, они будет автоматически использованы в качестве условий объединения.

    Выбранные вами таблицы покажутся во View Designer (Конструкторе представления) и Database Designer (Конструкторе базы данных). Вам может потребоваться закрыть и заново открыть конструктор для обновления содержащейся в нем информации.

Для получения более подробной информации смотрите описание команды CREATE SQL VIEW.

Вы можете увидеть доступные соединения, используя команду DISPLAY CONNECTIONS. Для получения более подробной информации смотрите ее описание в DISPLAY CONNECTIONS.

Например, приведенный ниже пример кода открывает базу данных с именем MyDatabase на удаленном сервере и создает удаленное представление из таблицы с именем MyRemoteTable, используя предопределенное соединение с именем Remote_01:

CopyCode image Скопировать код
OPEN DATABASE MyDatabase
CREATE SQL VIEW MyRemoteTable_Remote_View ;
   CONNECTION Remote_01 AS SELECT * FROM MyRemoteTable

Вы можете, кроме того, указать имя источника данных вместо имени соединения.

Смотрите также

Концепции

Доступ к удаленным данным с помощью представлений
Создание представления

Прочие ресурсы

Создание представлений
Работа с представлениямит (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Tables to Views

Visual FoxPro 9.0
Как: добавить таблицы в представления
Смотрите также

Вы можете обращаться к данным, хранящимся в других таблицах, путем введения этих таблиц в ваши локальные или удаленные представления с указанием условий объединения для введенных таблиц.

Указание условий объединения между добавленными вами таблицами поможет определить, какие записи из двух таблиц должны быть сравнены и возвращены. Для получения более подробной информации смотрите описания Как: управлять выборкой записи с помощью объединений и Условия объединения для таблиц, запросов и представлений.

Note Замечание

Когда вы добавляете таблицы в существующее представление программным способом, то команда CREATE SQL VIEW производит перекрестный результат.

Для добавления таблицы в локальное представление:

  1. Откройте представление в Project Manager или в Database Designer.

    Откроется View Designer.

  2. В меню Query щелкните на Add Tables.

  3. В диалоговом окне Add Table or View выберите таблицу или представление, которое вы жалаете добавить.

    Выбранная вами таблица или представление появится в View Designer.

  4. В диалоговом окне Join Condition укажите желаемое условие объединения и щелкните на OK.

  5. Если вы желаете указать псевдоимя для каждой выбранной вами таблицы, напечатайте его в боксе Alias.

  6. Когда вы закончите ввод, щелкните на Close.

Для получения более подробной информации смотрите описания Дизайнеры запросов и представлений и Диалоговое окно Join Condition.

Для добавления таблицы в удаленное представление:

  1. Откройте представление в Project Manager или Database Designer.

    Откроется View Designer.

  2. В меню Query щелкните на Add Tables.

  3. В диалоговом блоке Open щелкните по каждой таблице, которую вы желаете добавить и затем по Add.

    Выбранная вами таблица появится в View Designer.

  4. В диалоговом окне Join Condition укажите желаемое условие объединения и щелкните по OK.

  5. Если вы желаете указать псевдоимя для каждой выбранной вами таблицы, напечатайте его в боксе Alias.

  6. Когда вы закончите ввод, щелкните на Close.

Для получения более подробной информации смотрите описания Дизайнеры запросов и представлений, Диалоговое окно Select Connection or Data Source and Диалоговое окно Join Condition.

Для добавления таблицы в представление программным способом:

  1. В операторе SQL SELECT, определенном командой CREATE SQL VIEW, введите имена таблиц и условия объединений для добавляемых вами таблиц с помощью опций FROM и WHERE.

    Visual FoxPro отобразит диалоговое окно подтверждения переписи существующего представления.

  2. В диалоговом окне подтверждения щелкните по Yes.

Для получения более подробной информации смотрите описание команды CREATE SQL VIEW.

Смотрите также

Задачи

Как: редактировать представления
Как: выбирать поля для представлений

Прочие ресурсы

Создание представлений
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Select Fields for Views

Visual FoxPro 9.0
Как: выбрать поля для представлений
Смотрите также

После создания представления (view) и выбора таблиц или других представлений, которые вы желаете использовать во вновь создаваемом, вы можете собрать его с помощью выбора полей из таблиц или представлений.

Для выбора полей для представления

  1. Откройте представление в View Designer (Конструкторе представления).

  2. В View Designer (Конструкторе представления) щелкните на закладке Fields.

  3. В списке Available fields щелкайте по каждому полю, которое вы желаете добавить с последующим щелском по кнопке Add.

    Note Совет

    Для выбора нескольких полей одновременно, нажмите и удерживайте клавишу SHIFT на время выбора полей. После того, как выберите все желаемые поля, щелкните по Add.

    Каждое выбранное вами поле появится в списке Selected fields.

    Note Совет

    Для изменения порядка, в котором поля покажутся в выводе, в списке Selected fields перетаскивайте кнопку с двойной стрелкой, располагающуюся слева от имени поля в желаемую позицию в списке.

  4. Когда вы закончите выборку полей, вы можете производить прочие задачи по настройке представления.

Вы можете настроить ваше представление в View Designer (Конструкторе представления) выполняя перечисленные ниже задачи:

  • Изменить условие объединения выбранных таблиц на закладке Join (Объединение).

  • Отфильтровать результат по полю, на закладке Filter (Фильтр).

  • Упорядочить результаты по полю на закладке Order By (Упорядочить по).

  • Сгруппировать результаты по полю на закладке Group By (Сгруппировать по).

  • Указать критерии обновления на закладке Update Criteria (Критерий обновления) для управления процессом обновления в исходных таблицах.

  • Выбрать различные типы вывода на закладке Miscellaneous (Прочие).

Для получения более подробной информации смотрите Конструкторы запросов и представлений.

Смотрите также

Задачи

Как: создавать локальные представления
Как: создавать удаленные представления

Концепции

Создание представления

Прочие ресурсы

Создание представлений
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Generate Results for Views

Visual FoxPro 9.0
Как: Создавать Результаты для Представлений
См. также

После завершения выбора полей и настройки вашего представления, вы можете загрузить данное представления описанными данными. Когда Данные загружены из источника данных (возможно из удаленного), эти данные можно сохранить на стороне Клиента (у пользователя).

Для загрузки данных в описанное Представление

  • В менюQuery, выберите пункт Run Query.

    Система Visual FoxPro выводит полученные данные в окне Browse.

Для сохранения полученного представления

  1. В меню File, выберите пункт Save As.

  2. В диалоговом боксе Save, введите имя создаваемого представления.

Система Visual FoxPro добавляет (сохраняет) определение представления, необходимые для его создания таблицы, выбранные поля, и прочие необходимые параметры и свойства - в текущей Базе Данных.

См. также

Задачи

Как: Выбрать Поля для Представления

Концепции

Создание Представления

Другие ссылки

Создание Представлений
Работа с Представлениями (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Managing Views

Visual FoxPro 9.0
Управление представлениями

В данном разделе описываются возможности и способы настройки и использования представлений (View). В большинстве случаев, эти возможности повторяют аналогичные средства для таблиц базы данных. Так, созданное представление можно открыть в некоторой рабочей области и использовать его в качестве источника данных для объектов управления на форме или выполнять операции поиска и изменения данных с последующим обновлением таблиц, на которых основано представление. Кроме этого, для представлений и их полей имеется ряд настроек, которые позволяют повысить надежность разрабатываемого приложения, обеспечить корректность хранимых данных и увеличить скорость и удобство разработки приложения. Установка свойств и работа с представлениями осуществляется с помощью специального построителя (Дизайнера Представлений) или с помощью набора команд и функций, позволяющих создавать, модифицировать и настраивать свойства представлений и решать ряд других задач по управлению представлениями, например:

  • Задавать заголовки для полей представлений.

  • Добавлять комментарии для представлений и их полей.

  • Определять значения по умолчанию для полей представлений.

  • Создавать правила проверки для полей и записей.

  • Создавать индексы по полям представления, используя команду INDEX.

    Note Примечание

    В отличии от индексов таблиц, индексы, которые создаются для представлений, не сохраняются и удаляются при закрытии представления. Анализируйте размер полученной выборки представления перед созданием индекса. Индексирование значительных выборок может уменьшить производительность вашего приложения.

  • Создавать временные связи между представлениями или таблицами и представлениями, используя команду SET RELATION.

    Note Совет

    Для увеличения производительности при использовании команды SET RELATION, используйте представление в качестве родительского, а таблицу - в качестве дочернего объекта связи.

    Note Примечание

    Выбор таблицы в качестве дочерней более эффективен, потому, что структурный индекс таблицы постоянно поддерживается в актуальном состоянии, быстродоступен и может быть использован в среде данных для упорядочивания записей. В отличии от табличного, индексы представлений необходимо перестраивать каждый раз при открытии представления, что может потребовать значительного времени. Индекс представления не является частью определения представления, поэтому, если вы используете среду данных (data environment), представление не может быть дочерним объектом в создаваемом отношении, поскольку индекс дочернего объекта должен существовать и являться частью определения этого объекта.

В этом разделе

Открытие представлений

Обсуждается процесс открытия представлений для просмотра содержимого, использования в среде данных и других целей работы с данными представления.

How to: Редактировать представления

Описывается как открыть представление для изменения определения и настройки с помощью специального инструмента Дизайнера Представлений (View Designer).

How to: Переименование представлений (Visual FoxPro)

Описываются визуальный и программный способы изменения имени представления.

How to: Открыть представление в рабочей области

Описывается открытие представлений в рабочих областях с помощью команды USE и некоторые особенности этой команды, характерные для работы с представлениями.

Установка свойств представлений и соединений

Обзор способов установки свойств с помощью команд CURSORSETPROP( ), DBSETPROP( ), SQLSETPROP( ); временные и постоянные установки свойств; механизм наследования свойств представлений и соединений (Connections).

How to: Установка свойств полей представлений

Изменение свойств полей представления с помощью Дизайнера Представлений.

How to: Ввод комментариев для представлений

Описывается, как добавлять описание (комментарий) для представлений.

How to: Создание значений по умолчанию для полей представлений.

Описывается способ определения значений по умолчанию для полей представлений.

How to: Создание правил проверки для представлений

Описываются способы создания правила проверки для полей и записей представления. Правила проверки позволяют создать механизм обеспечения корректности вводимых пользователями данных на уровне базы данных. Правила проверки могут быть определены как для записи представления, так и для каждого поля в отдельности. Использование правил позволяет сделать ваше приложение более надежным в отношении корректности данных.

How to: Установка времени отключения (timeout) для Соединений

Описывается, каким образом устанавливается интервал автоматического отключения соединения с удаленным сервером, при необходимости особой настройки взаимодействия Visual FoxPro и сервера.

How to: Просмотр и редактирование конструкции SQL для представления.

Описывается, как просматривать и редактировать SQL-команду SELECT и автоматически сгенерированные свойства представления с помощью Дизайнера Представлений, а так же возможность прямого изменения sql-запроса.

How to: Программное создание представления на основе SQL-команды

Описывается способ программного создания представления с помощью команды CREATE VIEW, на основе SQL конструкции SELECT, сохраненной в переменной памяти.

How to: Удаление представлений

Описываются визуальный и программный способы удаления определений представлений из бзазы данных.

Связанные разделы

Данные, отображаемые в представлениях

Описываются средства фильтрации и ограничения данных, определяемых представлениями: вывод струкутры представления без загрузки данных, фильтрация записей по условию в представлении, создание параметризированных представленй.

Обновление данных в представлениях

Описывается, как изменять данные в представлениях и обновлять содержимое таблиц, на которых основаны эти представления.

Работа с представлениями (Visual FoxPro)

Обзор использовать представлений в качестве настраиваемых обновляемых множеств данных (выборок) в разрабатываемом приложении.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Opening Views

Visual FoxPro 9.0
Открытие Представлений
См. Также

Вы можете использовать Представления в системном окне просмотра данных (browse), Сессии данных, открывать программным способом, аналогично обычным Таблицам данных. Когда вы выбираете Представление, оно открывается как курсор в некоторой рабочей области. Если вы используете локальное представление, то система Visual FoxPro открывает также базовые таблицы в отдельных рабочих областях. Базовые таблицы данных указываются при построении соответствующего оператора SQL SELECT, когда выполняется команда CREATE SQL VIEW, для построения структуры рассматриваемого Представления. В следующем визуальном примере, при использовании представления product_view автоматически открывается соответствующая базовая таблица products.

В системном окне Data Session отображается выбранное представление и соответствующая базовая таблица

FoxPro Data Session View

Когда Представления основаны на удаленных таблицах, эти таблицы не открываются в отдельных рабочих областях. В системном окне Data Session отображаются толко имена соответствующих представлений.

См. также

Задачи

Как: Редактировать Представления (Views)

Другие ссылки

Управление Представлениями (Views)
Работа с Представлениями (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Edit Views

Visual FoxPro 9.0
Как: Изменять Представления
См. также

Вы можете открыть уже имеющееся Представление для решения разнообразных задач, добавить таблицы, изменить конструкции объединения, или сделать прочие корректировки параметров Представления.

Для открытия представления

  • Выполните одно из следующих:

    • Откройте ваш Проект приложения в системной службе Project Manager. Найдите нужное Представление, нажмите команду Modify (изменить).

      -или-

    • Откройте Базу данных, где расположено представление, в системном средстве Database Designer. Нажмите view в соответствующем меню Database, нажмите Modify (изменить).

    Откроется дополнительная системная служба View Designer, где отображается нужное представление.

См. дополнительно разделы Как: Открыть Базу Данных и Как: Изменять Файлы в Проектах.

Для открытия Представления программным способом

  1. Откройте Базу данных, содержащую нужное Представление.

  2. Выполните команду MODIFY VIEW, дополнительно указав имя Представления.

См. дополнительно раздел MODIFY VIEW, команда.

См. также

Другие ссылки

Управление Представлениями
Работа с Представлениями в системе (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Rename Views (Visual FoxPro)

Visual FoxPro 9.0
Как: Переименовать Представление (View) (Visual FoxPro)
См. также

Вы можете переименовать представление.

Для переименования представления

  1. Откройте проект приложения, содержащего данное представление, с помощью Project Manager.

  2. В Project Manager, выберите раздел Представлений (view).

  3. В меню Project, выберите пункт Rename File.

  4. В диалоговом боксе Rename File, задайте новое имя вашего представления.

  5. При завершении, нажмите кнопку OK.

Для дополнительной информации см. раздел Как: Редактировать файлы в Проекте.

Для переименования представления программным способом

  1. Откройте базу данных (database), содержащую данное представление.

  2. Выполните команду RENAME VIEW.

Для дополнительной информации см. разделы Как: Открыть Базу Данных и команда RENAME VIEW.

См. также

Задачи

Как: Редактировать файлы в Проекте

Другие ссылки

Управление Представлениями
Работа с представлениями (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Open Views in Work Areas

Visual FoxPro 9.0
Как: открывать представления в рабочих областях
Смотрите также

Вы можете открыть представление в отдельных рабочих областях аналогично тому, как вы открываете таблицу в различных рабочих областях. Для получения более подробной информации смотрите описание задачи Как: открывать таблицы в рабочих областях.

Однако, в отличие от таблиц, представления извлекают новый набор данных каждый раз, когда используете представления. Когда вы открываете представление программным путем, с помощью команды USE, вы можете открыть дополнительные экземпляры представления без извлечения данных из источника данных. Это в первую очередь полезно тогда, когда вы желаете открыть удаленное представление во множестве рабочих областей без ожидания загрузки в них данных с удаленного источника данных.

Для открытия другого экземпляра представления без загрузки данных

  • Откройте представление командой USE и включите в нее опции NOREQUERY или AGAIN.

Вы можете указать при использовании NOREQUERY номер сессии данных. Если вы опустите номер сессии данных, Visual FoxPro производит поиск во всех сессиях данных. Если для представления найден открытый набор результатов, Visual FoxPro повторно открывает курсор с тем же самым набором результатов. Если открытый набор результатов не найден, Visual FoxPro извлекает для представления новый набор результатов. Точно также, как и в случае таблиц, если представление не найдено, Visual FoxPro открывает для представления новый курсор.

Если вы желаете, чтобы Visual FoxPro искал открытый набор результатов только в текущей сессии данных, используйте опцию AGAIN. Открытие другого экземпляра представления с опцией AGAIN представляет собой эквивалент использования NOREQUERY с указанием номера текущей сессии данных.

Для получения более подробной информации смотрите описание команды USE.

Например, приведенные ниже строки кода открывает образцовую базу данных Northwind, используя команду OPEN DATABASE, создают удаленное представление с именем Product_View, используя команду CREATE SQL VIEW и выбирают все записи из таблицы Products. Команда USE открывает представление, а команда BROWSE отображает первый экземпляр представления в окне просмотра. Команда SELECT выбирает рабочую область представления, а команда USE открывает то же самое представление с опцией NOREQUERY. В это время, команда BROWSE отображает представление в окне просмотра без извлечения данных из источника данных:

CopyCode image Скопировать код
OPEN DATABASE HOME(2) + "Northwind\Northwind"
CREATE SQL VIEW Product_View AS SELECT * FROM Products
USE Product_View
BROWSE
SELECT 0
USE Product_View NOREQUERY
BROWSE

Приведенный ниже пример кода использует команду USE, для открытия представления, и команду BROWSE для отображения представления в окне просмотра. Вторая команда USE открывает представление в текущей сессии данных с опцией AGAIN, используя другое псевдоимя. Команда BROWSE отображает представление с другим псевдоименем:

CopyCode image Скопировать код
OPEN DATABASE HOME(2) + "Northwind\Northwind"
USE Product_View
BROWSE
USE Product_View AGAIN IN 0
BROWSE

Приведенная команда удаляет представление после того, как вы завершите работу с ним:

CopyCode image Скопировать код
DELETE VIEW Product_View

Для получения более подробной информации смотрите описания: Команда OPEN DATABASE, Команда CREATE SQL VIEW, Команда BROWSE, Команда SELECT и Команда DELETE VIEW.

Смотрите также

Прочие ресурсы

Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Setting View and Connection Properties

Visual FoxPro 9.0
Установка свойств представления (view) и подключения (connection)
Смотрите также
Когда Вы используете представление, настройки свойств, сохраненные для представления в базе данных наследуются активным курсором представления. Вы можете изменить эти свойства у активного курсора, используя функцию CURSORSETPROP () для курсора представления. Изменения, которые Вы делаете с помощью CURSORSETPROP (), являются временными. Временные настройки для активного представления исчезают, когда Вы закрываете представление; временные параметры настройки для курсора 0 отменяются, когда Вы закрываете сессию Visual FoxPro.

Подключения наследуют свойства подобным способом. Заданные по умолчанию свойства для подключения 0 наследуются, когда Вы создаете и сохраняете именованное подключение в базе данных. Вы можете изменить эти заданные по умолчанию настройки свойств для подключения 0 с помощью функции SQLSETPROP () . После того, как подключение было создано и сохранено в базе данных, Вы можете изменить свойства подключения с помощью функции DBSETPROP () . Когда Вы используете подключение, настройки свойств, сохраненные для подключения в базе данных унаследованы активным подключением. Вы можете изменить эти свойства на активном подключении, используя функцию SQLSETPROP () для дескриптора подключения.

И представления и подключения могут использовать именованный ODBC источник данных. Если Вы используете ODBC источник данных в представлении, подключение наследует свойства от значений по умолчанию для сессии.

Следующая диаграмма иллюстрирует наследование свойств для представлений и подключений. Серые линии представляют потоки наследования свойств; черные линии представляют команды Visual FoxPro..

.

Смотрите также

Прочие ресурсы

Управление представлениями
Работа с представлениями

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


How to: Set Field Properties for Views

Visual FoxPro 9.0
Как: Определить свойства Полей в Представлениях
См. также

Вы можете определить значения некоторых свойств Полей из Таблиц, когда размещаете новое Представление (View) в контейнере База Данных. Например, Вы можете отределить заголовок (caption) для поля выборки, добавить комментарии, или задать Правила (validation rules) для контроля данных при их вводе. См. дополнительно Работа с Полями.

Для просмотра или определения свойств Полей в Представлениях

  1. Откройте Представление в дизайнере View Designer, и выберите закладку Fields.

  2. В списке имеющихся полей Selected fields, выберите нужное поле, нажмите Properties.

  3. В появившемся диалоговом боксе View Field Properties, выполните необходимые настройки.

  4. При завершении, нажмите OK.

См. дополнительно разделы Закладка Fields, Дизайнер Запросов и Представлений и Диалоговый бокс View Field Properties.

См. также

Задачи

Как: Изменять Представления (Views)

Другие ссылки

Управление Представлениями
Работа с Представлениями (Views) в системе (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Add Comments to Views

Visual FoxPro 9.0
Как: Добавить Комментарий в Представление (Views)
См. также

Вы можете добавить некоторый Комментарий в создаемое вами Представление. Текст Комментария по Представлению сохраняется в базе данных, файле (.dbc), который содержит данное Представление.

Для добавления Комментария в Представление (view):

  1. Откройте требуемое представление в соответствующем Дизайнере View Designer.

  2. В системном меню Query, выберите пункт Comments.

  3. В открывшемся диалоговом боксе Comment, введите текст Комментария.

  4. После завершения процесса Ввода, нажмите кнопку OK.

Вы можете просмотреть заданный текст Комментария при открытом системном окне SQL window. Смотрите дополнительно раздел: Как: Просмотреть оператор SQL данного Представления.

Для Редактирования текста Комментария выбранного Представления:

  1. Откройте Представление в соответствующем Дизайнере View Designer.

  2. Откройте системное окно SQL window, для просмотра оператора SQL.

  3. В соответствующем окне SQL window, отредактируйте строку программного кода, содержащую текст типа DBSETPROP(... ) DBSetProp(ThisView,"View","Comment","Это комментарий к Представлению"). Или добавьте данную строку, если таковая Отсутствует.

  4. После завершения - закройте системное окно SQL window.

Смотрите дополнительную информацию в разделе Как: Просмотреть оператор SQL данного Представления.

Для добавления или изменения текста Комментария Представления с помощью стандартной команды VFP:

  • Используйте стандартную функцию DBSETPROP( ), в которой указывается соответствующее свойство Comment.

Дополнительную информацию смотрите в разделе: DBSETPROP( ), функция.

См. также

Задачи

Как: Редактировать Представления (Views)

Другие ссылки

Управление Представлениями (Views)
Работа с Представлениями (Views) (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Create Default Values for View Fields

Visual FoxPro 9.0
Как: создать значения по умолчанию для полей представления
Смотрите также

Как и для полей таблиц, вы можете указать значения по умолчанию для представления (view). Эти значения хранятся в базе данных и доступны, когда вы используете представление.

Note Замечание

Visual FoxPro не сравнивает значения по умолчанию, которые создаете локально с любыми другими значениями по умолчанию, хранящимися в удаленном источнике данных. Вы можете создать значения по умолчанию, которые допустимы для источника данных.

Для указания значения по умолчанию для поля представления

  1. Откройте представление в дизайнере представлений (View Designer) и затем щелкните по закладке Fields.

  2. На закладке Fields выберите требуемое поле и щелкните на Properties.

  3. Откроется диалоговый блок View Field Properties.

  4. В боксе Default value, в области Field Validation, впечатайте значение по умолчанию для поля.

  5. Когда закончите, щелкните по OK.

Для получения более подробной информации смотрите описания Закладка Fields дизайнеров запросов и представлений (Query/View Designers) и Диалоговый блок View Field Properties.

Для указания значения по умолчанию для поля представления программным путем programmatically

  • Используйте функцию DBSETPROP() со свойством DefaultValue для представлений.

Для получения более подробной информации смотрите описание функции DBSETPROP().

Например, вы можете пожелать, чтобы ваше приложение ограничивало количество товаров, которое может заказать новый покупатель на время, которое вам треюуется для завершения проверки кредита и определения размера кредита, который вы готовы предоставить покупателю. Приведенный ниже пример создает поле maxordamt со значением по умолчанию равным 1000:

CopyCode image Скопировать код
OPEN DATABASE testdata
USE VIEW customer_view
?DBSETPROP ('Customer_view.maxordamt', 'Field', 'DefaultValue', 1000)

Кроме того, вы можете пожелать использовать значения по умолчанию для автоматического заполнения. Например, вы можете ввести управляющий элемент Grid в форму ввода заказов, которая основана на удаленном представлении таблицы детализации заказов. Поле order_id представляет собой ключевое поле, которое размечает каждую строку решетки к копиям этих строк в таблице, на базе которой построено удаленное представление. Поскольку order ID для каждой строки решетки будет тем же самым для одного заказа, вы можете использовать значение по умолчанию для сохранения значения и автоматического заполнения поля order_id.

Note Совет

Если одно из бизнес-правил вашего приложения требует, чтобы поле содержало ввод, предоставьте значение по умолчанию в качестве подсказки, для того чтобы быть уверенным, что конкретное правило уровня поля или уровня записи не было нарушено.

Смотрите также

Задачи

Как: редактировать представления

Прочие ресурсы

Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Validation Rules for Views

Visual FoxPro 9.0
Как: создавать правила проверки для представлений
Смотрите также

Вы можете создать локальные версии правил проверки поля и записи для представления. Создание локальных правил проверки обеспечивает приведенные ниже преимущества:

  • Снижает время ответа.

  • Снижает воздействие сетевых ресурсов.

  • Тестирует данные перед посылкой их удаленному источнику данных.

  • Предотвращает посылку неверных данных удаленному источнику.

Однако, Visual FoxPro не производит сравнения правил проверки, которые вы создаете локально, с правилами проверки в удаленном источнике данных. Поэтому, вы должны создать правила, которые подходят и совместимы с удаленным источником данных. Если изменяются правила проверки на удаленном источнике, локальные правила проверки должны быть также скорректированы, чтобы соответствовать удаленным.

Для получения более подробной информации смотрите Работа с правилами проверки.

Для создания правила проверки поля или записи для представлений

  1. Откройте представление в Конструкторе представления (View Designer) и щелкните по закладке Поля (Fields) tab.

  2. В списке Выбранные поля (Selected Fields) щелкните по имени поля и далее выберите Свойства (Properties).

  3. В боксе Правило (Rule) в области Проверка поля (Field validation) впечатайте желаемое выражение. Для построения выражения щелкните по кнопке вызова построителя (...).

  4. Для отображения своего сообщения об ошибке, в боксе Message впечатайте свое сообщение об ошибке или выражение, которые вы желаете отобразить для недопустимых значений. Для построения выражения щелкните по кнопке вызова построителя (...)

    Note Замечание

    Убедитесь, что вы заключили текст сообщения в кавычки ("").

Для програмнного создания правила проверки поля или записи для представлений

  • Используйте функцию DBSETPROP( ) для установки свойств RuleExpression и RuleText для поля или записи представления.

Для получения более подробной информации смотрите DBSETPROP( ) Function.

Например, приведенный ниже пример программного кода создает правило проверки уровня поля на представлении orditems_view, которое запрещает ввод количества меньшего единицы:

CopyCode image Скопировать код
OPEN DATABASE testdata
USE VIEW orditems_view
DBSETPROP('Orditems_view.quantity','Field', ;
         'RuleExpression', 'quantity >= 1')
DBSETPROP('Orditems_view.quantity','Field', ;
         'RuleText', ;
'"Количества должны быть более или равны 1"')

Смотрите также

Задачи

Как: редактировать представления

Прочие ресурсы

Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Timeout Intervals for Connections

Visual FoxPro 9.0
How to: Установка интервала ожидания соединения с источником данных.
См. также

Вы можете установить период ожидания соединения с удаленным источником данных.

Установка периода ожидания соединения с источником данных

  1. В Project Manager откройте раздел Представления (Views).

  2. В Project Manager, раскройте закладку Data, закладку Databases , и соответствующую базу данных, содержащую описание удаленных представлений, выберите соответствующее соединение (Connection).

  3. При выборе соединения, нажмите Modify (изменить).

    Откроется (дизайнер соединений) Connection Designer .

  4. В области (интервал ожидания) Timeout intervals установите необходимое значение.

  5. Если все выполнено, то в меню File , запустите опцию Save для сохранения данных установок.

Для дополнительной информации см. раздел Дизайнер Соединений .

См. также

Другие ссылки

How to: Редактирование файлов в Проекте
Управление Представлениями
Работа с Представлениями

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: View and Edit SQL Statements for Views

Visual FoxPro 9.0
Как: посмотреть и отредактировать предложения SQL для представлений
Смотрите также

Когда вы создаете представление в View Designer( Конструкторе представлений), Visual FoxPro выстраивает предложение SQL SELECT для извлечения информации из полей таблицы. Вы можете посмотреть и отредактировать предложение SQL SELECT, которое выстроил Visual FoxPro, а также установку свойств для представления в окне SQL. Любые изменения, которые вы сделаете в окне SQL будут сохранены во время загрузки и генерации представления.

Для отображения определения представления

  1. Откройте представление во View Designer (Конструкторе представления).

  2. В меню Query (Запрос) щелкните по View SQL (Просмотр SQL).

Откроется окно SQL для представления и отобразит предложение SQL SELECT которое автоматически генерируется для представления, а также свойства представления. Для получения более подробной информации смотрите описание команды SELECT - SQL и функции DBSETPROP().

Например, предположим, что вы создаете представление во View Designer (Конструкторе представлений), используя образцовую базу данных Northwind и выбираете все записи из таблицы Customers, где поле Country содержит значение "Canada". Приведенное ниже предложение SQL SELECT появляется в окне SQL при его открытии:

CopyCode image Скопировать код
SELECT *;
   FROM Northwind!Customers ;
   WHERE Customers.Country = "Canada"

Вы можете, кроме того, включить предложение SQL SELECT в код простым копированием сгенерированного предложения из окна SQL в программный файл (.prg). Вы можете, кроме того, сразу после генерации запустить предложение SQL SELECT, копированием предложения в командное окно с последующим его запуском.

Note Совет

Если вы желаете запустить предложение в работе только после того, как вы напечатаете последнюю строку, печатайте каждую опцию на отдельной строке в коне и завершайте каждую строку, за исключением последней, точкой с запятой (;).

Для редактирования определения представления

  1. В окне SQL отредактируйте предложение SQL SELECT или свойства представления.

  2. Для обновления информации во View Designer (Конструкторе представлений), закройте окно SQL или щелкните по View Designer (Конструктор представлений), чтобы сделать его активным.

Информация во View Designer (Конструктор представлений) будет обновлена изменениями, которые вы сделали в определении представления.

Note Замечание

Если View Designer (Конструктор представлений) не в состоянии перезагрузить ваши изменения, которые вы сделали в окне SQL, появится диалогое окно с приведенным ниже запросом:

"View/Query designer is unable to reload your changes. Would you like to rebuild content from the designer?" (Конструкто представления не в состоянии перезагрузит ваши изменения. Желаете ли вы перестроить содержание из конструктора?)

Щелчок по Yes (Да) сбросит ваши изменения, сделанные в окне SQL в вернет вас во View Designer (Конструктор представлений). Щелчок по No (Нет) возвратит вас в окно SQL.

Note Совет

Для сохранения предложения, которое не может быть разобрано, такого как вызов хранимой процедуры, щелкните по No (Нет) и затем по Save (Сохранить) на стандартной панели инструментов. Visual FoxPro сохранит запрос. Вы можете сохранить запрос щелкнув по Save на стандартной панели инструментов после печатания команд в окне SQL. У вас нет необходимости щелкать по окну View Designer (Конструктора представлений), который попытается загрузить и разобрать запрос.

Смотрите также

Задачи

Как: редактировать представления
Как: создавать представления с хранимыми предложениями SQL

Прочие ресурсы

Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Views with Stored SQL Statements

Visual FoxPro 9.0
Как: Создать Представление с переменным SQL-оператором
См. также

Вы можете использовать МакроПодстановку для определения оператора SQL SELECT, создающего необходимое Представление; для этого используется опция AS в соответствующей команде CREATE SQL VIEW.

Для создания Представления с помощью Макроподстановки

  1. Создайте переменную памяти и сохраните в ней требуемый оператор SQL SELECT.

  2. В опции AS, команды CREATE SQL VIEW, с помощью значка макроподстановки (&) укажите определенную ранее переменную памяти.

Например, в следующем программном коде указанный оператор SQL SELECT сохраняется в переменной с именем MyEmpCustSQL. Команда CREATE SQL VIEW создает представление с именем EmpCustView используя заданную переменную:

CopyCode image Копировать Код
MyEmpCustSQL = "SELECT employee.emp_id, customer.cust_id, ;
 customer.emp_id, customer.contact, customer.company ;
 FROM employee, customer WHERE employee.emp_id = customer.emp_id"
CREATE SQL VIEW EmpCustView AS &MyEmpCustSQL

См. также

Задачи

Как: Просмотреть или изменить оператор SQL в Представлении

Описание

CREATE SQL VIEW, команда
&, команда

Другие ссылки

Управление Представлениями
Работа с Представлениями (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Delete Views

Visual FoxPro 9.0
Как: удалить представления
Смотрите также

Вы можете удалить представление из базы данных.

Для удаления представления

  1. Откройте проект приложения, содержащий представление в Project Manager.

  2. В Project Manager распахните узел Data и затем узел Databases.

  3. В узле Local Views или Remote Views щелкните на представлении, которое вы желаете удалить, и затем на Remove.

    Visual FoxPro отобразит диалоговое окно подтверждения для того, чтобы вы подтвердили ваше пожлеание удалить представление.

  4. В этом диалоговом окне щелкните на Remove.

Для получения более подробной информации смотрите Project Manager Window.

Для программного удаления представления

  1. Откройте базу данных, содержащую представление.

  2. Используйте команды DELETE VIEW или DROP VIEW.

    Замечание Замечание

    Эти команды производят одинаковое действие. DROP VIEW использует синтаксис стандарта ANSI SQL для удаления SQL представления.

Для получения более подробной информации смотрите DELETE VIEW Command and DROP VIEW Command.

Смотрите также

Задачи

Как: редактировать файлы в проектах
Как: открыть базы данных

Прочие ресурсы

Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Displaying Data in Views

Visual FoxPro 9.0
Отображение данных в Представлениях (Views)

Отображать данные Представлений можно различными методами, путями:

В данном Разделе

Как: Отобразить структуру Представления

Описывается, как можно просмотреть поля Представления без загрузки данных (выполнения запроса создания представления).

Как: Отфильтровать Записи в Представлениях

Описывается, как можно получить только необходимые записи в представлении (View).

Как: Создавать параметризованные Представления

Объясняется, как можно параметризовать представления для фильтрации записей в них.

Связанные Секции

Изменение данных в Представлениях

Рассматривается, как изменять данные в представлениях и в соответствующих базовых таблицах (физических источниках данных).

Управление Представлениями (Views)

Рассматривается, как можно управлять представлениями (views).

Работа с представлениями (Visual FoxPro)

Рассматриваются вопросы, как создавать настраиваемые представления для выборки и изменения данных в разрабатываемых приложениях.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Display View Structure

Visual FoxPro 9.0
Как: Отобразить Структуру Представления (View)
См. также

Вы можете просмотреть Структуру Представления (view) не используя стандартные средства дизайнера Представлений (View Designer) . Данная возможность полезна в тех случаях, когда отсутствует возможность загрузки Удаленного Представления, отсутствует Соединение с Удаленным Источником Данных.

Для просмотра Представления без загрузки конкретных данных:

  1. Откройте требуемое Представление с помощью стандартной команды USE , при этом используйте секцию NODATA.

  2. Далее можно использовать стандартную команду DISPLAY STRUCTURE - для отображения структуры представления на системном экране Visual FoxPro (главном окне).

Дополнительную информацию смотрите в разделе: USE, команда.

Note Совет

Использование ключевого параметра NODATA является самым быстрым способом получения структуры Курсора некоторого Удаленного Представления, без загрузки Данных с удаленного источника.

Например, в следующем программном коде: открывается база данных с именем MyDatabase. С помощью команды USE - открывается созданное ранее представление с именем Customer_Remote_View, при использовании ключевого слова (опции) NODATA, в рабочей области с номером = 0. Команда DISPLAY STRUCTUREвыводит информацию о структуре рассматриваемого представления в соответствующий текстовый файл, без вывода этой информации в главное окно системы Visual FoxPro.

CopyCode image Копировать Код
OPEN DATABASE MyDatabase
USE Customer_Remote_View NODATA IN 0
DISPLAY STRUCTURE TO FILE ViewStructure.txt NOCONSOLE

См. также

Другие ссылки

Просмотр Данных в Представлениях (Views)
Управление Представлениями
Работа с Представлениями (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Filter Records in Views

Visual FoxPro 9.0
Как: фильтровать записи в представления
Смотрите также

Когда вы обращаетесь к локальным или удаленным источникам данных, вы можете извлекать потенциально большие объемы данных. Однако, вы можете сузить область записей до именно тех, которые вам реально нужны с помощью фильтра. Фильтрование записей, кроме того, снижает сетевую нагрузку при работе с удаленными данными и увеличивает производительность вашего представления.

Вы можете фильтровать записи в представлении указанием выражения фильтра. При генерации представления, Visual FoxPro оценивает выражение фильтра и сравнивает результаты со значениями в полях представления. Если значения отвечают условиям выражения, Visual FoxPro включает эти записи в выходной, результирующий набор. Добавление выражения фильтра приводит к появлению опции WHERE в предложении SQL представления.

Например, предположим, что вы создаете фильтр, который включает записи только тех потребителей, которые находятся в определенной стране. В приведенных ниже строках кода опция WHERE содержит выражение фильтра, который отбирает записи с информацией о потребителях, поле страны в таблице содержит значение "Sweden":

CopyCode image Скопировать код
SELECT * FROM Customer ;
   WHERE Customer.Country = 'Sweden'

Такой код увеличивает производительность, так как извлекает только те записи, которые отвечают условию, то есть выбирает только тех потребителей, которые находятся в Швеции. Однако, такой код требует, кроме того, чтобы вы создали отдельное представление для каждой страны, так как реальное значение жестко прописано в предложении SQL SELECT представления. Вместо этого, вы можете создать параметризованное представление, которое использует в выражении фильтра параметр, для приема значения для опции WHERE. Для получения более подробной информации смотрите описание задачи Как: создавать параметризованные представления.

Для фильтрации записей в представлении

  1. Откройте представление во View Designer (Конструкторе представления) и щелкните по закладке Filter (Фильтр).

  2. В списке Field Name (Имя поля) выберите одно из приведенного ниже:

    • Поле таблицы, которое вы желаете включить в выражение фильтра.

    - или -

    • <Expression> (Выражение) для того, чтобы открыть Expression Builder (Компоновщик выражения) с тем, чтобы вы смогли выстроить выражение фильтра.

      Note Замечание

      Если вы создете представление из удаленного источника данных, функции, доступные в Expression Builder (Компоновщик выражения) отражают функции, поддерживаемые удаленным сервером. Для изучения списка функций, которые поддерживает ваш удаленный сервер, посмотрите документацию сервера. Visual FoxPro не будет пытаться разобрать указанное вами выражение; вместо этого, он просто пошлет его удаленному серверу.

  3. В списке Criteria (Критерий) выберите оператор сравнения, который вы желаете использовать.

    Note Совет

    Для отрицания условия, щелкните в колонке NOT выражения.

  4. В боксе Example (Пример) впечатайте значение или выражение, которое вы желаете использовать для сравнения значений поля.

Для получения более подробной информации смотрите описания Закладка Filter (Фильтр) Query and View Designers (Конструкторов запроса и представления) и Диалоговое окно Expression Builder (Компоновщик выражения).

Смотрите также

Задачи

Как: редактировать представления

Прочие ресурсы

Отображать данные в представлениях
Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Parameterized Views

Visual FoxPro 9.0
Как создать параметрические представления
Cмотрите также

Вы можете отфильтровать записи в представлении без создания отдельных представлений для каждого фильтра, создав параметрическое представление. Параметрическое представление использует SQL SELECT выражение, содержащее оператор WHERE, который определяет условие фильтра с использованием параметра. Параметр принимает значения, которые могут быть переданы через окно диалога с пользователем или программно. Имена параметров могут содержать любую комбинацию символов, чисел и одиночных кавычек

Определение параметра для фильтра

  1. Откройте представление в Конструкторе Представлений (View Designer) и щелкните на закладке Filter.

  2. На закладке Filter создайте фильтр или выберите существующий.

  3. В поле Example введите имя параметра.

    Note Совет

    Для запроса значения пераметра, когда открывается представление, поставьте перед именем параметра вопросительный знак (?). Когда вы открываете представление, появляется диалоговое окно и запрашивает у вас значение параметра.

    Note Примечание

    Имя параметра вычисляется как выражение Visual FoxPro. Если вычисление неудачно, Visual FoxPro запрашивает значение параметра. Значение параметра передается источнику данных как часть SQL SELECT выражения.

Для более подробной информации см. Как редактировать представления и закладка Filter в Конструкторах Запросов и Представлений

Создание параметрического представления программно

  1. Используйте команду CREATE SQL VIEW с оператором AS при составлении SQL SELECT выражения.

  2. В оператор WHERE SQL SELECT выражения включите условие фильтрации, содержащее имя параметра в соответсвующем месте.

Для более подробной информации см. команда CREATE SQL VIEW и команда SELECT - SQL

Например, следующий код открывает базу данных Northwind (из примеров) и создает параметрическое представление, содержащее все записи из таблицы Customers, у которых поле Country равно значению параметра cCountry:

CopyCode image Копировать код
OPEN DATABASE HOME(2) + "Northwind\Northwind"
CREATE SQL VIEW Customer_Remote_View ;
   AS SELECT * FROM Customers WHERE Customers.Country = ?cCountry

Когда нижеприведенный код окрывает представление, появляется диалоговое окно для запроса значения параметра. После того, как вы введете значение параметра, команда BROWSE откроет окно с результатами:

CopyCode image Копировать код
USE Customer_Remote_View
BROWSE

Следующий код удаляет представление из базы данных Northwind, когда вы завершите:

CopyCode image Копировать код
DELETE VIEW Customer_Remote_View

Вы можете передать значение параметра программно вместо запроса его значения. Нижеприведенный код создает то же самое параметрическое представление, но не содержит вопросительного знака. Затем код программно присваивает значение "Sweden" параметру cCountry. Когда вы открываете представление, значение параметра передаётся в представление, и команда BROWSE откроет окно с результатами:

CopyCode image Копировать код
OPEN DATABASE HOME(2) + "Northwind\Northwind"
CREATE SQL VIEW Customer_Remote_View ;
   AS SELECT * FROM Customers WHERE Customers.Country = cCountry
cCountry = 'Sweden'
USE Northwind!Customer_Remote_View
BROWSE

Следующий код удаляет представление из базы данных Northwind, когда вы завершите:

CopyCode image Копировать код
DELETE VIEW Customer_Remote_View

Смотрите также

Задачи

Как редактировать представления

Другие средства

Отображение данных в представлениях
Управление представлениями
Работа с представлениями (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функциях этого продукта, посетите сайт обратной связи
© Microsoft Corporation. All rights reserved.


Updating Data in Views

Visual FoxPro 9.0
Изменение данных в Представлениях

Вы можете изменять данные в Представлениях и базовых Таблицах, на основе которых созданы эти представления.

В данном Разделе

Подготовка создания изменяемых Представлений (Views)

Описываются свойства и характеристики, которые должны быть установлены для изменяемых Представлений.

Как: Изменять данные в Представлениях

Описывается, как включить свойство "изменяенмости" Представлений.

Как: Изменять базовые Таблицы Представлений

Описывается, как изменять данные в базовых таблицах удаленных источников, на которых построены рассматриваемые Представления.

Как: Изменять несколько базовых таблиц представлений

Описывается, как выполнять изменения в нескольких базовых таблицах рассматриваемых представлений.

Связанные Разделы

Отображение данных в Представлениях

Рассматриваются различные пути отображения данных из представлений.

Управление Представлениями

Рассматриваются основные задачи по управлению Представлениями.

Работа с Представлениями (Visual FoxPro)

Объясняется, как использовать представления для изменения данных в базовых таблицах ваших Приложений.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Preparing to Update Views

Visual FoxPro 9.0
Подготовка к обновлению представлений
Смотрите также

До того, как вы сможете обновить данные в представлении, свойства представления, которые управляют обновлением, должны быть установлены так, чтобы представление могло быть обновлено. В большинстве случаев, значения свойств представления по умолчанию установлены так, чтобы представление могло быть обновлено.

В приведенной ниже таблице перечислены свойства представления, которые управляют обновлением и их значения по умолчанию для представления.

Свойство представления Значение по умолчанию

Tables

Включает в себя все таблицы, которые имеют обновляемые поля и имеют по крайней мере одно поле первичного ключа.

KeyField

Ключевые поля базы данных и удаленные первичные ключи таблицы.

UpdateName

Для всех полей используется синтаксис Table_name.column_name.

Updateable

Обновляются все поля, за исключением полей первичного ключа.

SendUpdates

Устанавливает значения по умолчанию в значение, используемое в сессии, которое изначально установлено в False (.F.). Если вы измените его в True (.T.), то оно станет значением по умолчанию для всех представлений, созданных в сессии.

Note Замечание

В то время, как все свойства в таблице являются необходимыми для обновления данных, свойство представления SendUpdates управляет посылкой обновлений. Вы должны установить SendUpdates в True (.T.) для того, чтобы послать обновления источнику данных.

Note Совет

Пока вы разрабатываете ваше приложение, вы можете пожелать установить SendUpdates в False (.F) для того, чтобы вы смогли установить другие свойства представления без обновления данных. Когда вы будете готовы тестировать ваше приложение, установите значение свойства SendUpdates в True (.T.) для начала обновления данных.

CompareMemo

Сбрасывает значение по умолчанию в True (.T.), что означает, что мемо-поля будут включены в оператор WHERE и будут использоваться для определения конфликтов обновления.
Note Замечание

Установки свойств представления, принятые по умолчанию, могут не позволять обновления в случае, если представление создано программным путем. Чтобы позволить обнолвения для созданных программным путем представлений, просмотрите установки свойств по умолчанию и установите их должным образом. Для изменения свойств представлдения используйте функцию DBSETPROP(). Для получения более подробной информации смотрите описание Функция DBSETPROP().

Note Замечание

По умолчанию, для представлений используется оптимистическое буферирование записи. Однако, вы можете изменить его на буферирование таблицы. Для получения более подробной информации смотрите описание задачи Как: производить обновления с использованием буферов.

Смотрите также

Задачи

Как: обновить данные в представлении

Прочие ресурсы

Обновление данных в представлениях
Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Update Data in a View

Visual FoxPro 9.0
Как: обновить данные в представлении
Смотрите также

Перед обновлением данных в представлении убедитесь в том, что опции и свойства, которые управляют обновлениями для представлений установлены так, чтобы представление могло быть обновлено. Для получения более подробной информации смотрите описание Подготовка к обновлению представлений.

Note Замечание

Свойства представления, устанавливаемые по умолчанию могут предоставить все необходимую информацию для того, чтобы ваше представлено могло быть обновлено.

Опции представления, требуемые для его обновления

  • Откройте представление в дизайнере View Designer и щелкните по закладке Update Criteria.

    На закладке Update Criteria отображаются установки обновления для представления.

Для получения более подробной информации смотрите описания Как: редактировать представления and Закладка Update Criteria дизайнера представлений.

Для установки свойств, необходимых для обновления представления

  1. Используйте команду DISPLAY DATABASE для отображения текущих установок свойств представления.

  2. Используйте функцию DBSETPROP( ) для изменения установок свойств представления.

Для получения более подробной информации смотрите описание функции DBSETPROP( ).

Когда вы используете DBSETPROP( ) для установки свойств представления до его использования, то внесенные изменения сохраняются в базе данных и автоматически используются каждый раз, когда вы активизируете представление. После того, как представление станет активным, вы можете использовать функцию CURSORSETPROP( ) для изменения установок свойств активного представления. Однако, изменения значения свойств, которые вы сделали на активном представлении с помощью функции CURSORSETPROP( ) не сохраняются, когда вы закрываете представление.

Приведенный ниже пример перечисляет шаги, которым вы должны следовать для указания пяти свойств, необходимых для обновления представления, программным способом:

  1. Установите свойство Tables в имя таблицы (по крайней мере - одной).

    Например, если у вас имеется представление основанное на таблице customer и носящее имя cust_view, вы могли бы установить имя таблицы с помощью приведенной ниже функции:

    CopyCode image Скопировать код
    DBSETPROP('cust_view','View','Tables','customer')
    Note Совет

    Если таблица появилась в качестве определителя в свойстве UpdateName но не включена в список, используемый по умолчанию для свойства Tables, то таблица просто может не иметь указанного поля первичного ключа. Сделайте таблицу обновляемой с помощью добавления поля, которое вы будете считать ключевым полем в списке свойства KeyField и, затем добавьте таблицу в список свойства Tables.

  2. Установите свойстве KeyField в одно или более локальных имен полей Visual FoxPro, которые вместе будут определять уникальный ключ для обновления таблицы.

    Используя тот же пример, вы могли бы сделать cust_id ключевым полем, используя приведенный ниже код:

    CopyCode image Скопировать код
    DBSETPROP('cust_view.cust_id','Field','KeyField',.T.)
    Caution note Caution

    Убедитесь, что ключевое поле (поля), которые вы указали для определения уникального ключа, имеется как в таблице, которую вы желаете обновить, так и в представлении.

  3. Разметьте поля представления в их поля его базовой таблицы с помощью свойства UpdateName. Это свойство чрезвычайно полезно, когда ваше представление основано на объединении двух таблиц с обшим именем поля, или когда поля имеют псевдоимена в представлении. Для обновления желаемой базовой таблицы, вы размечаете имя поля представления Visual FoxPro в базовое имя поля и имя таблицы.

    CopyCode image Скопировать код
    DBSETPROP('cust_view.cust_id','Field','UpdateName',;
         'customer.cust_id')
    Note Совет

    Для избежания случая описания полей-синонимов в вашем представлении, вы можете определить имена поля в предложении SQL, которое вы используете для построения представления. Затем используйте свойство UpdateName представления Visual FoxPro для разметки каждого определенного поля в корректное имя поля и базовой таблицы.

  4. Укажите диапазон полей, которые вы желаете обновить в свойстве Updatable. Вы должны указать только те поля, которые, кроме того, определены в свойстве UpdateName.

    CopyCode image Скопировать код
    DBSETPROP('cust_view.cust_id','Field','Updatable', .T.)

  5. Установите свойствл SendUpdates в True (.T.). Свойство SendUpdates управляет тем, что будут ли создаваться и посылаться обновления в таблицы и поля, которые могут быть обновлены.

    CopyCode image Скопировать код
    DBSETPROP('cust_view','View','SendUpdates',.T.)

Смотрите также

Задачи

Как: обновить таблицу в представлении

Прочие ресурсы

Обновление данных в представлении
Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Update a Table in a View

Visual FoxPro 9.0
Как: обновить таблицу в представлении
Смотрите также

Вы можете использовать локальные или удаленные представления для обновления базовых таблиц в удаленном источнике данных. В дизайнере представления на закладке Update Criteria вы можете управлять тем, как сделанные вами изменения в удаленных данных (updates, deletes и inserts) будут возвращены удаленному источнику данных. Вы можете разрешить или заблокировать обновление конкретных полей в таблицах и установить метод SQL обновления наиболее подходящий для вашегос сервера.

Замечание Замечание

Локальные базовые таблицы, которые открываются автоматически при использовании вами представлений не закрываются автоматически при закрытии представлений; вы должны явно закрыть их. Это согласуется в командой SQL SELECT.

Как сделать таблицу обновляемой

Если вы желаете, чтобы сделанные вами изменения в локальной версии таблицы были бы посланы назад в исходную таблицу, вам необходимо установить опцию Send SQL Updates. Вы должны установить по меньшей мере одно ключевое поле для этой опции. Если таблица имеет определенное поле первичного ключа и вы выбрали его на закладке Fields, дизайнер представления автоматически использует поле первичного ключа таблицы в качестве ключевого поля представления.

Разрешение обновления исходной таблицы

  • На закладке Update Criteria установите опцию Send SQL updates.

Установка ключевых полей

Когда вы впервые открываете таблицу в дизайнере представления, на закладке Update Criteria показано, какие поля в таблице определены в качестве ключевых полей. Visual FoxPro использует ключевые поля для уникальной идентификации обновляемых записей в удаленной таблице, которые вы изменяете локально.

Для установки ключевого поля

  • На закладке Update Criteria щелкните по ключу в колонке рядом с именем поля.

Если вы изменили ключевые поля и желаете восстановить их оригинальные установки в исходной таблице, щелкните по Reset Key. Visual FoxPro проверить удаленные таблицы и будет использовать ключевые поля из этих таблиц.

Обновление конкретных полей

Вы можете указать, что только определенные поля в данной таблице являются обновляемыми. Вы должны иметь ключевое поле, определенное для таблицы, с целью назначить любое поле в этой таблице в качестве обновляемого. Если поля не маркированы в качестве обновляемых, то пользователь может сделать изменения в этих полях либо в форме, либо в окне Browse, но эти изменения не будут посланы удаленной таблице.

Чтобы сделать поля обновляемыми

  • На закладке Update Criteria щелкните по колонке обновний (там где нарисован карандаш) рядом с именем поля.

Обновление всех полей

Если вы желаете производить изменения во всех полях таблицы, вы можете установить все поля таблицы в виде обновляемых полей.

Чтобы сделать все поля обновляемыми

  • На закладке Update Criteria щелкните по Update All.

    Замечание Замечание

    Для использования Update All вы должны иметь в таблице определенное ключевое поле. Update All не воздействует на ключевые поля.

Смотрите также

Задачи

Как: обновить данные в представлении

Справочное руководство

Закладка Update Criteria дизайнера представления

Прочие ресурсы

Обновление данных в представлениях
Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Update Multiple Tables in a View

Visual FoxPro 9.0
Как: обновить данные множества таблиц в представлении
Смотрите также

Вы можете обновить данные во множестве базовых таблиц из представления. Когда ваше представление соединяет две или более таблиц, вы устанавливаете свойства для гарантии, что все стороны представления являются обновляемыми.

Представления обновляются на основе "таблица-за-таблицей". Вы должны убедиться, что для каждой записи, к которой обращались в представлении, ключевое поле установлено в уникальный ключ, как для результата открытия представления, так и для базовой таблицы.

Для того, чтобы сделать многотабличное представление обновляемым

  • В дизайнере запросов и представлений Query and View Designers перейдите на закладку Update Criteria и затем выберите таблицы и имена полей, которые вы желаете обновлять.

    - или -

  • Используйте функцию DBSETPROP().

В большинстве случаев, значения по умолчанию, предоставляемые Visual FoxPro подготавливают многотабличное представление к возможности обновления, даже в том случае, когда вы создаете представление программным способом. Приведенный ниже пример кода создает и явно устанавливает свойства для обновления двухтабличного представления. Вы можете использовать этот пример, как руководство для настройки установок свойств в представлении, отвечающих за обновление данных..

Обновление множества таблиц в представлении
Программный код | Комментарии
CREATE SQL VIEW emp_cust_view AS ; SELECT employee.emp_id, ; employee.phone, customer.cust_id, ; customer.emp_id, customer.contact, ; customer.company ; FROM employee, customer ; WHERE employee.emp_id = customer.emp_id | Создает представление, которое обращается к полям из двух таблиц.
DBSETPROP('emp_cust_view', 'View', 'Tables', 'employee, customer') | Делает таблицы обновляемыми.
DBSETPROP('emp_cust_view.emp_id', 'Field', ; 'UpdateName', 'employee.emp_id') DBSETPROP('emp_cust_view.phone', 'Field', ; 'UpdateName', 'employee.phone') DBSETPROP('emp_cust_view.cust_id', 'Field', ; 'UpdateName', 'customer.cust_id') DBSETPROP('emp_cust_view.emp_id1', 'Field', ; 'UpdateName', 'customer.emp_id') DBSETPROP('emp_cust_view.contact', 'Field', ; 'UpdateName', 'customer.contact') DBSETPROP('emp_cust_view.company', 'Field', ; 'UpdateName', 'customer.company') | Устанавливает обновляемые имена.
DBSETPROP('emp_cust_view.emp_id', 'Field', ; 'KeyField', .T.) | Устанавливает уникальный ключ единичного поля для таблицы Employee.
DBSETPROP('emp_cust_view.cust_id', 'Field', ; 'KeyField', .T.) DBSETPROP('emp_cust_view.emp_id1', 'Field', ; 'KeyField', .T.) | Устанавливает уникальный ключ, на базе двух полей, в таблице Customer.
DBSETPROP('emp_cust_view.phone', 'Field', ; 'Updatable', .T.) DBSETPROP('emp_cust_view.contact', 'Field', ; 'Updatable', .T.) DBSETPROP('emp_cust_view.company', 'Field', ; 'Updatable', .T.) | Устанавливает обновляемые поля. Обычно ключевые поля не обновляются.
DBSETPROP('emp_cust_view', 'View', ; 'SendUpdates', .T.) | Активизирует функциональную возможность обновления.
GO TOP REPLACE employee.phone WITH "(206)111-2222" REPLACE customer.contact WITH "John Doe" | Изменяет данные в представлении.
TABLEUPDATE() | Записывает изменения обновлением обеих таблиц - и Employee, и Customer.

Смотрите также

Задачи

Как: обновить данные таблицы в представлении

Прочие ресурсы

Обновление данных в представлениях
Управление представлениями
Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Manipulating Offline Data

Visual FoxPro 9.0
Управление Автономными Данными
Смотрите Также

Иногда возникает необходимость отображения, выборки или изменения Данных независимо от удаленного Источника (без соединения с удаленной Базой Данных). Инструментарий автономных представлений (OffLine View) Visual FoxPro позволяет вам спроектировать ваше Приложение для обработки автономных данных. Получив некоторую копию Таблиц из удаленной Базы Данных вы можете выполнять требуемые вычисления непосредственно с указанными Представлениями, которые созданы ранее, при "Активном" режиме работы с Базой Данных. При завершении работы, вы можете Отправить сделанные Изменения обратно, на удаленную Базу Данных, дискретно обновить удаленные Представления и исходные Таблицы.

Далее приводятся некоторые производственные Сценарии, когда могут применяться Автономные Представления:

  • Ситуация накопления больших Информационных Массивов, больших Баз Данных на удаленных серверах типа MIS. Если вас интересуют только информационные массивы Управления Маркетинга (например), то вы можете спроектировать автономные Представления, содержащие специфические характеристики указанного Подразделения. Далее, указанные автономные Таблицы обрабатываются сотрудниками управления Маркетинга, а в конце рабочего Дня - передаются на удаленный Сервер (Базу Данных).

  • В силу временного географического удаления Вас от централизованной Базы Данных, вы загружаете автономные Представления на ваш Мобильный компьютер, выполняете требуемую от вас работу на основе автономных данных, а позднее: выполняете соответствующие изменения главной Базы Данных, актуализируете Информационные Массивы.

  • Обработка Данных, которые зависят от Времени. Например, вам необходимо обновить информационные Массивы, характеризующие уровень оплаты труда до того момента, пока не изменены нормы оплаты труда, которые вступают в силу с определенной Даты.

Работа с Автономными Представлениями:

При использовании Автономных Представлений (offline view), вы можете отображать и изменять требуемые данные с помощью уже разработанных ранее инструментов: Форм, Отчетов и других Приложений.

Для создания и использования Автономных Представлений вы можете использовать следующие Языковые категории:

  • Системная функция CREATEOFFLINE( ) .

  • Стандартная команда USE SQLViewName, с дополнительными секциями ADMIN или ONLINE.

    Например, в следующем фрагменте открывается Представление с именем Showproducts:

    CopyCode image Копировать Код
    USE Showproducts

  • Системная функция TABLEUPDATE( ).

  • Системная функция DROPOFFLINE( ) .

В том случае, когда вы получаете Неверные, Несоответствующие результаты, рекомендуется выполнить проверку настроечных Параметров соответствующих Удаленных Представлений. Если вы определяете собственное значение свойства MaxRecords с помощью соответствующей функции DBSETPROP( ), то только несколько Записей загружается в ваше Автономное Представление. Однако, если вы определяете режим Включения полей типа Memo в общий список полей вашего Представления, то соответствующие Поля автоматически включаются в результирующие Курсоры вне зависимости от установки Свойства: FetchMemo = false (.F.).

Если вы планируете использование Автономного Представления на другом компьютере, отличном от того, на котором были созданы указанные Представления, то вам необходимо обеспечить наличие на компьютере соответствующей Копии локальной Базы Данных (.dbc); проверить параметры источника данных ODBC, соответствующего Инструментария, обеспечивающего возможное соединение с Удаленной Базой Данных; выполнить тестирование загрузки данных на предоставленный Компьютер.

Note Обратите Внимание

Для создания доступа к удаленным Базам Данных рекомендуется использовать системный Администратор ODBC. Данный администратор можно запустить из соответствующей Группы программ: ODBC или Control Panel (Панель Управления).

После создания требуемого Представления для ваших Автономных Данных, вы можете использовать указанное Представление в ваших Приложениях: вы можете Добавлять, Изменять, Удалять записи в соответствующих Курсорах этих Представлений. Несколько Пользователей могут использовать данные Автономные Представления в режиме коллективного доступа, даже если указанные наборы данных уже открыты в других Рабочих Областях. Если в зависимости от производственной необходимости вам требуется не Сохранять выполненные Изменения, то у вас существует возможность выполнить Откат указанных Изменений (Revert), загрузить начальные Данные, актуальные до момента внесения Изменений.

Администрирование Автономных Данных.

В некоторых случаях - особенно в многопользовательской, сетевой среде, в том случае, когда несколько Пользователей выполняют изменение удаленных Данных, возможно вам потребуется отслеживать изменения соответствующих автономных Представлений, в которые вы планируете отправить собственные Изменения. В этих случаях рекомендуется использовать специальную секцию ADMIN стандартной команды USE, в этом случае автоматически отслеживаются все выполненные внешние Изменения рассматриваемого автономного Представления. При таком режиме работы вы получаете возможность выполнить Откат некоторых, выбранных Транзакций без активизации соединения с Удаленным Источником Данных. Например, для открытия автономного Представления с именем Showproducts в административном режиме может использоваться следующая Команда:

CopyCode image Копировать Код
USE Showproducts ADMIN

См. также

Задачи

Как: Создавать Автономные Представления

Концепции

Обновление Данных с помощью Транзакций

Другие ссылки

Работа с Представлениями (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш


How to: Create Offline Views

Visual FoxPro 9.0
Как: создавать отключенные представления (Offline Views)
Смотрите также

Точно также, как и для подключенных данных, проанализируйте ваши требования до создания отключенных представлений с целью определения конструкции представления, необходимой вам в отключенной базе данных. Когда вы будет знать, какой набор данных необходим вам для использования в отключенном режиме, вы можете начать работать с существующим представлением или создать новое. Если уже существующее представление возвращает требуемые вам данные, которые вы желаете использовать в отключенном режиме, вы можете использовать это представление, или вы можете создать его программным путем. Представление, которое вы переводите в отключенное состояние хранится в файле .dbf в контейнере отключенной базы данных.

Note Замечание

Если вы планируете изменить данные в отключенном представлении, убедитесь, что вы сделали представление обновляемым до перевода его в отключенное состояние. После перевода представления в отключенное состояние, вы можете установить его свойства, позволящие обеспечить его обновление только программным путем; вы не можете изменить отключенное представление в Query and View Designers (Конструкторах запроса и представления).

Для использования существующего представления в отключенном режиме

  • Используйте функцию CREATEOFFLINE() с целью присвоения имени представлению.

Например, если вы желаете перейти на сайты клиента для обновления номеров банковских счетов, добавления потребителей и ввода записей новых продах, вам, наравне с информацией о потребителе, потребуются текущие заказы и описание продуктов, выведенных в online. Вам потребуется представление с именем customerinfo, в котором будет объединена информация из таблиц Customers, Orders и OrderItems. Для создания представления используйте приведенный ниже образец программного кода:

CopyCode image Скопировать код
CREATEOFFLINE("customerinfo")

Для программного создания отключенного представления

  • Используйте Команду CREATE SQL VIEW с последующим вызовом функции CREATEOFFLINE().

Например, приведенные ниже строки кода создают представление, которое отображает данные из таблиц Products и Inventory из базы данных, доступной в online. Поскольку в коде не указаны критерии обновления, такое представление будет иметь статус "только для чтения":

CopyCode image Скопировать код
CREATE SQL VIEW showproducts ;
   CONNECTION dsource ;
   AS SELECT * FROM Products INNER JOIN Inventory ;
   ON Products.ProductID = Inventory.ProductID ;
CREATEOFFLINE("showproducts")

Смотрите также

Задачи

Как: оптимизировать производительность представления

Концепции

Работа с отключенными данными
Обновление данных с помощью транзакций

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Updating Data Using Transactions

Visual FoxPro 9.0
Обновление данных с помощью транзакций
Смотрите также

After you're finished offline, you can update the data on the server using the same table update transactions you usually use with online data. При работе с удаленными данными, придерживайтесь приведенных ниже советов:

  • Для обновления единичной записи используйте автоматические транзакции.

  • Для пакетного обновления используйте ручные транзакции.

  • При необходимости включите код для обнаружения конфликтов обновления, создайте журнал регистрации конфликтов (log-файл) и разберитесь с конфликтами.

Перед началом процесса обновления, вам необходимо использовать команду USE с ключевым словом ONLINE для восстановления соединения с базой данной на сервере. После выбачи команды, Visual FoxPro попытается найти базу данных на сервере, используя информацию об источнике данных, хранящуюся в представлении. После того, как соединение будет установлено, вы можете использовать TABLEUPATE( ) для процесса обновления данных на сервере данными с локального компьютера.

Чтобы убедиться в том, что информация о соединении корректна, независимо от нахождения либо сервера, либо таблиц представления, вам необходимо использовать синтаксис строки соединения вместо именованного соединения.

Обновление пакта записей в локальных

Для процесса пакетного изменения на локальных таблицах, вы можете используовать ручные транзакции, которые позволяют вам вести процесс всего пакета изменений внутри единичной транзакции, вместо серии отдельных транзакций.

Обновление локальных таблиц с автономными представлениями (offline views)
Код | Комментарии
USE myofflineview ONLINE EXCLUSIVE | Восстанавливает соединение с сервером и открывает представление.
BEGIN TRANSACTION IF TABLEUPDATE (2, .F., "myofflineview") END TRANSACTION ELSE MESSAGEBOX("Error Occurred: Update unsuccessful.") ROLLBACK ENDIF | Проверяет наличие конфликтов обновления и производит соответствующее обновление.

Пакетное обновление записей в удаленных таблицах

Для производства пакетного обновления на удаленных таблицах, используйте ручные транзации: начиная с TABLEUPDATE( ) и заканчивая процесс либо с SQLCOMMIT( ) или SQLROLLBACK( ).

Для установки соединения для обслуживания ваших транзакций, производимых вручную, вам необходимо использовать CURSORGETPROP( ) на представлении курсора для получения дескриптора соединения, затем установить свойство Transactions в ручной режим.

В приведенном ниже коде, текущая идентификация соединения представления, myview, хранится в hConn1. hConn1 используется для установки свойства Transactions в значение "2", которое соответствует ручным транзакциям.

CopyCode image Скопировать код
hConn1 = CURSORGETPROP("CONNECTHANDLE","myview") ;
SQLSETPROP(hConn1,"TRANSACTIONS",2)

После того, как вы установите соединение для обработки обновлений, вы можете использовать TABLEUPDATE( ) для обработки ваших транзакций.

Если главные таблицы размещены на удаленном сервере, таком как SQL Server, вы можете использовать приведенный ниже код в качестве руководства.

Обновление удаленных таблиц с автономными представлениями (offline views)
Код | Комментарий
USE myofflineview ONLINE EXCLUSIVE | Восстановление соединения с сервером и открытие представления.
SQLSetProp(liviewhandle,"transactions",2) SQLSetProp(custviewhandle,"transactions",2) SQLSetProp(ordviewhandle,"transactions",2) | Установка соединений на представлениях для обработки транзакций вручную.
IF NOT TABLEUPDATE(.T.,.F.,"lineitemsview") =SQLROLLBACK(ordviewhandle) =MESSAGEBOX("Can't update line items table") IF NOT TableUpdate(.T.,.F.,"ordersview") =SQLROLLBACK(liviewhandle) =MESSAGEBOX("unable to update the orders table") IF NOT TABLEUPDATE(.T.,.F.,"customerview") =SQLROLLBACK(custviewhandle) =MESSAGEBOX("Can't update customer table") Else *# check out failure scenarios IF NOT SQLCOMMIT(liviewhandle) =SQLROLLBACK(liviewhandle) IF NOT SQLCOMMIT(ordviewhandle) =SQLROLLBACK(ordviewhandle) IF NOT SQLCOMMIT(custviewhandle) =SQLROLLBACK(custviewhandle) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF | Обработка обновлений и их конфликтов.

Обновление одной записи

Если вы обновляете одну строку, вы можете использовать автоматические транзакции. Поскольку каждое предложение, для производства обновления, удаления или вставки, обрабатывается как отдельная транзакция, откат предыдушей транзакции невозможен.

CopyCode image Скопировать код
USE customerview ONLINE EXCLUSIVE
GO TO 3
IF TABLEUPDATE (0, .F. workarea)
   * conflict handling code
ENDIF
Note Совет

Для обнолвения единичной записи в локальной таблице используйте функцию GETNEXTMODIFIED( ).

Прекращение автономных обновлений

Если вы решили, что желаете удалить автономные данные и вернуть представление назад в подключенное представление, вы можете использовать функцию DROPOFFLINE( ).

Для прекращения автономных обновлений, используйте функцию DROPOFFLINE( ) с именем представления.

Для гарантии проверьте возвращаемые значения. (.T.) указывает что процесс завершился успешно, а (.F.) указывает на то, что представление не было закрыто перед выпуском команды.

Приведенный ниже код сбрасывает все изменения, произведенные в поднаборе данных в представлении myview. Представление остается частью базы данных, но его текущий поднабор данных сброшен:

CopyCode image Скопировать код
DROPOFFLINE("myview")

Вы можете удалить автономные записи, но вы не можете использовать с автономным представлением команды PACK, ZAP или INSERT.

Смотрите также

Задачи

Как: оптимизировать производительность представления
Как: создать запросы (Visual FoxPro)
Как: установить максимальное число загружаемых записей

Справочное руководство

Команда USE
Функция TABLEUPDATE()
Функция SQLCOMMIT()

Концепции

Управление автономными данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Optimize View Performance

Visual FoxPro 9.0
Как: Оптимизировать выполнение Представлений (View)
См. также

Вы можете оптимизировать и значительно улучшить выполнение ваших Представлений при помощи параметров загрузки (Data Fetching) и других параметров Представления. Для этого рекомендуется использовать диалоговый бокс Advanced Options, в котором выполняются различные настройки параметров Загрузки и Обновления данных, соответствия Представлений и базовых Таблиц Сервера.

Для использования расширенных Опций Загрузки Данных:

  1. В системном меню Query, выберите пункт Advanced Options.

  2. В открывшемся Диалоговом Боксе Advanced Options, определите / установите требуемые параметры Соединений с источниками данных и характеристики процессов Загрузки Данных.

  3. Нажмите кнопку OK.

Вы можете изменять количество загружаемых Записей системой Visual FoxPro за один сеанс обращения к Источнику Данных (Серверу); для этого используются соответствующие функции: DBSETPROP( ) и CURSORSETPROP( ). Дополнительную информацию смотрите в разделах: DBSETPROP( ), функция и CURSORSETPROP( ), функция.

Вы можете использовать способ "отложенной подгрузки полей типа MEMO", для ускорения общего процесса подгрузки Данных в Представлениях. Когда вы выбираете указанный режим отложенной загрузки (delayed memo fetching), система Visual FoxPro не загружает соответствующие данных для полей типа MEMO до тех пор, пока пользователь не выполняет обращение к указанным данным. Так как система Visual FoxPro использует Ключевые поля и имена Таблиц для позиционирования на требуемую Запись Данных, то вы должны обеспечить указание этих параметров для соответствующих функций DBSETPROP( ) / CURSORSETPROP( ), которые управляют процессами Отложенной подгрузки полей типа Memo; обратите внимание на следующие Характеристики:

  • UpdateName, свойство; UpdatableFieldList, свойство

  • KeyField, свойство; KeyFieldList, свойство

  • Tables, свойство

Обратите также Внимание: Для использования варианта Отложенной подгрузки полей типа MEMO вы не можете использовать следующие установки: SendUpdates = ON или Updatable = ON.

См. также

Задачи

Как: Задать/Определить максимальное количесво подгужаемых Записей
Как: Создавать Запросы SQL (Visual FoxPro)
Как: Оптимизировать Фильтры и Связывания (Filters, Joins)
Как: Использовать Соединения типа Share для нескольких удаленных Представлений
Как: Выполнить тестирование Соединения

Описание

Advanced Options, Диалоговый бокс

Концепции

Обновление Данных при использовании Транзакций

Другие ссылки

Работа с Представлениями (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Set the Maximum Number of Records Downloaded

Visual FoxPro 9.0
Как: Определить/Задать максимальное количесво Загружаемых Записей
См. также

Вы можете управлять Загрузкой данных при открытии Представления с помощью изменения значения свойства MaxRecords. Когда система Visual FoxPro посылает соответствующий оператор SQL удаленному Источнику Данных (Серверу) для создания Представления, Сервер обрабатывает данный оператор и создает результирующий Набор Данных. Значение свойства MaxRecords определяет максимальное количество Записей размещаемых в данном Наборе, и соответственно в Представлении за один шаг Загрузки. Значение по-умолчанию = –1, что означает загрузку Всех Записей в Результирующий Набор.

Для управления процессом Загрузки Записей в Представление:

  1. В системном Меню Tools, выберите подпункт Options, активируйте Закладку Remote Data; в соответствующей Области данных Remote view defaults, для контрола с названием Maximum records to fetch очистите опцию All, введите количество Загружаемых Записей, нажмите кнопку OK.

    -ИЛИ-

  2. Определите новое значение свойства MaxRecords при помощи стандартных системных Функций: DBSETPROP( ) , CURSORSETPROP( ).

В следующем далее Примере, для существующего Представления определяется значение свойства Загружаемых Записей как = 50.

CopyCode image Копировать Код
OPEN DATABASE testdata
USE VIEW remote_customer_view
?DBSETPROP ('Remote_customer_view', ; 'View','MaxRecords', 50)

Вы также можете использовать функцию: CURSORSETPROP( ) для определения значения рассматриваемого Свойства Активного Представления.

Note Совет

Вы не можете изменять значение свойства MaxRecords для выполняемого в настоящий момент Запроса. Рекомендуется использовать значение свойства QueryTimeOut для управления процессом выполнения Запроса для удаленного Источника Данных.

См. также

Задачи

Как: Оптимизировать Загрузку Представлений (Views)
Как: Оптимизировать Фильтры и Объединения (Filters, Joins)
Как: Создавать Запросы (Visual FoxPro)
Как: Использовать многопользовательские Соединения для нескольких Представлений
Как: Проверить Активность Соединения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Optimize Filters and Joins

Visual FoxPro 9.0
Как: оптимизировать фильтры и объединения
Смотрите также

Для того, чтобы принять решение по оптимизации для представления или запроса, вам требуется знать план исполнения: порядок, в котором оцениваются опции объединения и фильтра. Используя функцию SYS(3054), вы можете отобразить один из трех уровней оптимизации Rushmore. Три уровня указывают степень, в которой условия фильтра или объединения были бы способны использовать оптимизацию Rushmore. Уровнями оптимизации являются "полная" (Full), частичная (Partial) или условия не являются оптимизируемыми вовсе (None).

To display the execution plan for filters

  1. В окне Command , впечатайте SYS(3054,1) для включения в работу SQL ShowPlan.

  2. Впечатайте ваше предложение SQL SELECT.

    Например, вы можете напечатать:

    CopyCode image Скопировать код
    SELECT * FROM customer, orders ;
AND Upper(country) = "MEXICO"

  3. Прочитайте на экране план исполнения.

    Для этого примера на экране могло быть отражено приведенное ниже:

    CopyCode image Скопировать код
    Using Index Tag Country to optimize table customer
Rushmore Optimization Level for table customer: Full
Rushmore Optimization level for table orders: none

  4. В окне Command впечатайте SYS(3054,0) для отключения SQL ShowPlan.

Вы можете, затем, послать SYS функции значение 11 для оценки объединения в опциях FROM или WHERE.

Для отображения плана исполнения для объединений

  1. В окне Command впечатайте SYS(3054,11) для включения в работе SQL ShowPlan.

  2. Впечатайте ваше предложение SQL SELECT.

    Например, вы можете напечатать:

    CopyCode image Скопировать код
    SELECT * ;
FROM customer INNER JOIN orders ;
   ON customer.cust_id = orders.cust_id ;
WHERE Upper(country) = "MEXICO"

  3. Прочитайте на экране план исполнения.

    Для этого примера на экране могло быть отражено приведенное ниже:

    CopyCode image Скопировать код
    Using Index Tag Country to optimize table customer
Rushmore Optimization Level for table customer: Full
Rushmore Optimization level for table orders: none
Joining table customer and table orders using Cust_id

  4. В окне Command впечатайте SYS(3054,0) для отключения SQL ShowPlan.

Управление оценкой объединения

Если план исполнения для ваших объединений не соответствует вашим конкретным нуждам, вы можете принудить исполнение вашего порядка объединения точно так, как он записан без оптимизации.

Для принуждения порядка оценки объединения

  • Введите ключевое слово FORCE и поместите ваши условия объединения в опцию FROM.

    Note Замечание

    Отметьте, что условия объединения, помещенные в опции WHERE не включаются в принудительную оценку объединения.

Note Замечание

Вы не можете использовать ключевое слово FORCE в предложениях сквозных запросов SQL pass-through или с удаленными представлениями, так как это ключевое слово является расширением стандарта ANSI со стороны Visual FoxPro и не поддерживается в других словарях SQL. Опция FORCE является глобальной и поэтому применяется ко всем таблицам, включенным в опцию JOIN. Убедитесь, что порядок в котором появляются объединяемые таблицы строго соответствует порядку, в котором они должны быть объединены. Вы можете, кроме того, использовать круглые скобки для управления порядком исполнения объединений.

В этом примере, первое указанное объединения является, кроме того, первым оцениваемым объединением. Сначала таблица Customer объединяется с таблицей Orders. Результат этого объединения затем объединяется с таблицей OrdItems:

CopyCode image Скопировать код
SELECT * ;
   FROM FORCE Customers ;
   INNER JOIN Orders ;
      ON Orders.Company_ID = Customers.Company_ID ;
   INNER JOIN OrItems;
      ON OrdItems.Order_NO = Orders.Order_NO

В этом примере, первым оценивается объединение внутри круглых скобок для таблиц Orders и OrdItems. Результат этого объединения затем используется для оценки объединения с таблицей Customers:

CopyCode image Скопировать код
SELECT * ;
FROM FORCE Customers ;
   INNER JOIN (orders INNER JOIN OrdItems ;
      ON OrdItems.Order_No = Orders.Order_No) ;
      ON Orders.Company_ID = Customers.Company_ID

Смотрите также

Задачи

Как: установить максимальное число загружаемых записей
Как: оптимизировать производительность представления
Как: создавать запросы (Visual FoxPro)
Как: Использовать совместно соединения для множества удаленных представлений
Как: протестировать соединение на доступность

Справочное руководство

SYS(3054) - Уровень Rushmore оптимизации запроса

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Share Connections for Multiple Remote Views

Visual FoxPro 9.0
Как: Использовать Соединение для нескольких удаленных Представлений
См. также

Вы можете использовать одно Активное Соединение как некоторый Информационный Контейнер (провайдер) для обновления данных нескольких Удаленных Представлений. При использовании Многопользовательского Соединения (Sharing Connection):

  • Уменьшается общее количество Соединений с Удаленным Сервером.

  • Уменьшаются затраты на обеспечение сетевых ресурсов по поддержке имеющихся Соединений с Источниками Данных.

Многопользовательское Соединение активируется при определении основных характеристик вашего Удаленного Представления. Когда открывается Удаленное Представление, система Visual FoxPro пытается выполнить Соединение с удаленным Источником Данных используя уже имеющиеся Соединения (если таковые открыты). Если многопользовательских соединений нет, Visual FoxPro создает новое, уникальное Соединение при открытии Представления, которое может быть использовано в дальнейшем как Многопользовательское, для других Представлений.

Только одно Активное именованное Соединение может быть использовано как Многопользовательское в текущем сеансе работы системы Visual FoxPro. Если в текущий момент открыто несколько активных Соединений с Источником Данных, то только первое Соединение может быть использовано как Многопользовательское для различных Представлений. Все созданные Представления, построенные на определяемых поименованных Соединениях, используют одно и тоже Многопользовательское Соединение для загрузки данных с Удаленного Источника Данных (Сервера).

Другие Соединения, не созданные как Многопользовательские, не могут быть объявлены как многопользовательские. Многопользовательские Соединения не могут быть использованы различными Сессиями Данных (Not Scoped to Sessions).

Для разделения доступа к Соединению:

  • В системном меню Tools, выберите подпункт Options, активируйте Закладку Remote Data; активируйте Контрол Share connection в соответствующей области Remote view defaults, нажмите кнопку OK.

    -ИЛИ-

  • Используйте соответствующий инструментарий: Дизайнеры Запросов и Представлений.

    -ИЛИ-

  • Используйте стандартную команду CREATE SQL VIEW , в которой указывается опциональная секция SHARE.

В представленном далее примере при открытии Представления используется многопользовательское (разделяемое) Соединение; смотрите дополнительно раздел USE, команда:

CopyCode image Копировать Код
CREATE SQL VIEW product_view_remote ;
 CONNECTION remote_01 SHARE AS ;
 SELECT * FROM products
USE product_view_remote

См. также

Задачи

Как: Оптимизировать Загрузку Преставлений (Views)
Как: Оптимизировать Фильтры и Связывания (Filters, Joins)
Как: Создавать Запросы (Visual FoxPro)
Как: Проверить Активность Соединения с Источником Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Test a Connection for Availability

Visual FoxPro 9.0
Как: Проверить доступность Соединения
См. также

Когда Соединение занято (is busy), когда Visual FoxPro выполняет выборку данных в курсор, Вы не можете выполнить другую выборку данных, или выполнить корректировку данных используя данное соединение (возникнет ошибка). С помощью значения свойства ConnectBusy Вы можете определить текущий статус рассматримаемого соединения, когда ConnectBusy = true (.T.), то соединение занято. Данный механизм Вы можете использовать для управления использованием соединения с удаленным источником данных при нескольких командах выборки и корректировки..

Для определения статуса соединения (его занятости)

  • Используйте значение свойства ConnectBusy, возвращаемого функцией SQLGETPROP( ).

Для определения статуса соединения при помощи функции SQLGETPROP( ) необходимо знать дескриптор (handle) текущего соединения. Данный дескриптор определяется как значение свойства ConnectHandle при использовании функции CURSORGETPROP( ). В следующем примере определяется дескриптор текищего соединения и статус данного соединения (его занятость):

CopyCode image Копировать Код
nConnectionHandle=CURSORGETPROP('ConnectHandle')
SQLGETPROP(nConnectionHandle, "ConnectBusy")

См. также

Задачи

Как: Оптимизировать выполнение Представлений
Как: Оптимизировать Фильтры и Объединения (Filters and Joins)
Как: Создавать Запросы (Visual FoxPro)
Как: Определять множественные соединения для нескольких удаленных Представлений (Remote Views)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Importing and Exporting Data

Visual FoxPro 9.0
Импортирование и экспортирование данных

Вы можете копировать данные между Visual FoxPro и прочими приложениями путем их импорта и экспорта из Visual FoxPro. Данные могут быть в любом формате, одном из ряда - текст, таблица Excel и файла таблицы. Вы можете создать новую таблицу Visual FoxPro, добавлять данные в уже существующую или копировать данные в файл другого типа.

В этом разделе

Концепции импорта и экспорта

Когда вы импортируете или добавляете данные, вы переносите данные из другого приложения в Visual FoxPro. Когда вы экспортируете данные, вы посылаете данные из таблицы Visual FoxPro в файл, тип которого используется другим приложением.

Импортирование данных

Если вы желаете импортировать данные из вашего исходного файла, вы можете либо позволить Visual FoxPro определить структуру новой таблицы или использовать мастер импорта (Import Wizard) для указания ее структуры.

Добавление данных

Вы можете добавить ваш текст, таблицу Excel или табличные данные в существующую таблицу Visual FoxPro. По умолчанию, Visual FoxPro использует тип файла для разметки полей источника в таблице назначения.

Экспортирование данных

Вы можете экпортировать данные из ваших таблиц Visual FoxPro в текстовые файлы, таблицы Excel или таблицы, используемые другими приложениями.

Управление доступом к данным с помощью объектов CursorAdapter

Описывается поддержка для работы с различными источниками данных, как с родными курсорами Visual FoxPro с помощью объектов CursorAdapter.

Преобразование между XML и данными Visual FoxPro

Введение в обмен данными с другими приложениями, который может быть легко осуществлен с помощью преобразования данных Visual FoxPro в формат XML.

Функциональные возможности XML, используемые объектами XMLAdapter

Обсуждается расширение возможностей Visual FoxPro по обработке XML и совместимости с XML DiffGram и форматами .NET Framework ADO.NET DataSet, а также поддержка иерархически форматированных XML.

Связанные разделы

Работа с данными

Объясняется, как создавать эффективные приложения с индексами, таблицами и базами данных, основанные на требованиях к вашим данным.

Использование Visual FoxPro

Программные возможности Visual FoxPro разработаны с целью повышения продуктиваности разработчиков, включая методы Access и Assign поддержка большего числа форматов графических файлов, и языка, для упрощения задач программирования.

Разработка приложений Visual FoxPro

Этот раздел включает в себя коцептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и пользовательского интерфейса, а также прочие задачи, необходимые для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Visual FoxPro представляет собой мощный интерактивный инструмент управления данными, но, кроме того, вы может получить доступ к полной мощности Visual FoxPro путем создания приложений. Понимание методик объектно-ориентированного программирования и событийно-управляемой модели может в значительной степени повысить вашу продуктивность в программировании.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Importing and Exporting Concepts

Visual FoxPro 9.0
Концепции Импорта и Экспорта Данных
См. Также

При обработке различных Данных вы можете с помощью системы Visual FoxPro выполнять следующее:

  1. Импортировать данные из других приложений

  2. Добавлять данные из других источников

  3. Экспортировать данных в другие Приложения

Когда вы Импортируете или Добавляете данные в ваши таблицы, вы используете источники данных других Приложений, внешних относительно Visual FoxPro. Когда вы Экспортируете данные, выгружаете данные из Таблиц в другие типы файлов, которые могут быть использованы в других внешних Приложениях. В этом случае можно не использовать механизмы BoundLink.

Когда вы Импортируете данные, выполняется копирование данных из первичного источника данных; создается соответствующая Таблица, в которую загружаются скопированные данные. Например, вы можете импортировать данные из таблицы системы dBASE, создать соответствующую Таблицу Visual FoxPro, заполнить ее данными из исходной таблицы. После импорта данных вы можете использовать данные из таблицы в других приложениях VFP.

Когда вы Добавляете данные из внешних источников, эти данные размещаются после уже имеющихся данных рассматриваемой Таблицы, после последней Записи уже существующей таблицы. Вы можете определять список импортируемых Полей, а также задавать различные Фильтры импортируемых данных; в качестве импортируемых полей могут выступать некоторые выражения, тип которых определяет тип Поля Таблицы назначения. После завершения процесса загрузки внешних данные, эти данные могут быть использованы в ваших Приложениях.

Когда вы выполняете Экспорт данных во внешние источники, сначала данные копируются во внешние файлы различных форматов, в соответствие с форматами внешних Приложений, за тем эти данные сохраняются в этих файлах. Например, вы можете экспортировать данные из некоторой Таблицы Visual FoxPro - в соответствующую Книгу системы Microsoft Excel, файл .XLS.

При выборе внешнего источника данных (для Импорта или Экспорта) сначала вы выбираете внешний Файл. За тем вы можете определить необходимые Поля, установить диапазон обрабатываемыз Записей, определить Фильтр обрабатываемых данных (Загружаемых или Выгружаемых).

См. также

Концепции

Импорт Данных
Добавление Данных
Экспорт Данных

Другие ссылки

Импорт и Экспорт Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Importing Data

Visual FoxPro 9.0
Импортирование данных
Смотрите также

Если вы желаете импортировать из вашего исходного файла, вы можете либо позволить Visual FoxPro определить структуру новой таблицы или использовать мастер импорта - Import Wizard для указания ее структуры. Visual FoxPro использует порядок полей в исходном файле для определения структуры таблицы назначения. Если вы желаете определить структуру, вы можете изменить файл в его исходном приложении или использовать мастер импорта.

Если у вас не имеется доступа к приложению, которое поддерживает такой файл, а вы хотите изменить порядок или типы данных полей, вы можете импортировать исходный файл, а затем создать запрос, в котором поля вывода будут располагаться в требуемом порядке в новой таблице.

Когда вы импортируете файл, вы должны выбрать тип файла, который вы желаете импортировать и указать исходный файл и имя таблицы назначения.

Выбор типа файла для импорта

В приведенной ниже таблице перечислены типы файлов, которые вы можете импортировать в Visual FoxPro:

Тип файла | Расширение имени файла | Описание
Microsoft Excel | xls | Формат рабочей таблицы Microsoft Excel (versions 2.0, 3.0, 4.0, 5.0, and 97). Ячейки колонок становятся полями, а строки становятся записями.
Lotus 1-2-3 | wks wk1 wk3 | Таблица Lotus 1-2-3 spreadsheet для релизов 1-A, 2.x и3.x. Ячейки колонок становятся полями, а строки становятся записями.
Borland Paradox | db | Таблица Paradox версий 3.5 и 4.0.

Если вы желаете использовать таблицы из предыдущих версий FoxPro или использовать файлы dBASE, вы можете открыть и использовать их, не прибегая к импорту. Visual FoxPro запросит вас о вашем желании конвертировать таблицу в последнюю версию Visual FoxPro. После того, как вы конвертируете таблицу, созданную в одной из ранних версий, вы уже не сможете использовать ее с ними. Once you convert a table from a previous version, this table cannot be opened in the previous version.

Для получения более подробной информации об импорте файлов смотрите описание команды IMPORT.

Смотрите также

Задачи

Как: импортировать данные с помощью мастера импорта - Import Wizard
Как: импортировать данные в новые таблицы
Как: импортировать из Lotus 1-2-3
Как: транслировать поля Lotus Date
Как: импортировать из Microsoft Excel

Прочие ресурсы

Импортирование и экспортирование данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Import Data with the Import Wizard

Visual FoxPro 9.0
Как: Импортировать Данные с помощью Мастера Импорта
См. также

При помощи Мастера импорта (Import Wizard) вы можете создать новую таблицу из исходного файла. Мастер задает несколько вопросов по уточнению схемы и структуры создаваемой таблицы.

Для импортирования данных при помощи Мастера Импорта

  1. В меню File, выберите пункт Import.

  2. В диалоговом боксе Import, выберите кнопку Import Wizard.

  3. Следуйте предлагаемым инструкциям по импортированию данных.

См. также

Задачи

Как: Импортировать данные в новые таблицы
Как: Импортировать данные из системы Lotus 1-2-3
Как: Преобразовать данные в полях системы Lotus
Как: Импортировать данные из Microsoft Excel

Концепции

Импорт Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Import Data into New Tables

Visual FoxPro 9.0
Как: импортировать данные в новые таблицы
Смотрите также

Вы можете импортировать данные их табличного или крупноформатных таблиц, таких, как например MS Excel, используя структуру исходного файла для определения структуры новой таблицы.

Для импорта данных в новую таблицу

  1. Из меню File выберите Import.

  2. В боксе Type введите формат файла, который вы желаете импортировать.

  3. В боксе From введите имя исходного файла.

  4. Если вы выбрали лист рабочей книги (spreadsheet) в боксе Type, то в появившемся боксе Sheet введите номер листа, данные из которого вы желаете импортировать.

  5. Выберите OK.

    Visual FoxPro создаст новую таблицу, используя исходный файл.

Если вы желаете импортировать в новую таблицу данные из текстового файла, без использования мастера импорта (Import Wizard), вам необходимо создать новую таблицу с полями, которые соответствуют порядку, типу данных и ширине полей в текстовом файле и, затем, добавить данные в новую таблицу.

После импорта файла, вы можете добавить новую таблицу в базу данных, если вы этого пожелаете. Кроме того, вы можете модифицировать таблицу используя дизайнер таблиц (Table Designer).

Смотрите также

Задачи

Как: импортировать данные с помощью мастера импорта (Import Wizard)
Как: импортировать данные из Lotus 1-2-3
Как: транслировать Lotus Date Fields
Как: импортировать из Microsoft Excel

Справочное руководство

Дизайнер таблиц (Table Designer) (Visual FoxPro)

Концепции

Создание таблицы
Импортирование данных
Добавление данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Import from Lotus 1-2-3

Visual FoxPro 9.0
Как: Импортировать Данные из Lotus 1-2-3
См. также

Когда выполняется импорт данных из соответствующих объектов SpreadSheet, система Visual FoxPro использует первую строку из объекта Lotus 1-2-3 spreadsheet для задания формата загружаемых данных, определения характеристик полей в создаваемой Таблице. Если в первой строке указанного оъекта расположены заголовки столбцов данных, представленные в символьном виде, то все Поля Таблицы будут иметь символьный Тип, хотя в остальных строках исходного объекта размещены данные Других типов (например числовые, или Дата).

Для надежной загрузки Данных в соответствующих типах

  • В системе Lotus 1-2-3, измените объект spreadsheet таким образом, чтобы в первой строке размещались данные требуемого типа, для соответствующего определения и преобразования.

    Caution note Обратите Внимание

    Если импортируются данные версий 2.x или 3.x (файлы с расширением .wk1 или .wk3), и столбцы в исходной таблице имеют размеры , более чем 8 или 9 символов, Visual FoxPro обрезает лишние символы, соответственно: до 8 - для версии 2.x, и до 9 символов для версии 3.x. Для Предотвращения потери данных, используйте соответствующий Мастер Импорта , или сначала создайте требуемую таблицу Visual FoxPro, а далее - выполните Добавление данных из исходного объекта worksheet.

В системе Lotus данные типа Дата храняться в виде целых чисел (без знака), начиная с даты 01 Января 1900. Для корректного преобразования данных указанного типа используйте соответствующее преобразование в системе Visual FoxPro.

См. также

Задачи

Как: Импортировать данные с помощью Мастера Import
Как: Преобразовывать Поля типа Lotus Date
Как: Импортировать Данные из Microsoft Excel

Концепции

Импорт Данных
Добавление Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Translate Lotus Date Fields

Visual FoxPro 9.0
Как: Транслировать данные в полях типа Date системы Lotus
См. также

Если данные типа Дата из системы Lotus загружаются некорректно, вы можете использовать преобразование данных типа Дата в формат типа Julian, например дата 1 января 1900 года преобразуется в число = 2415019, или обратные преобразования.

Для преобразования данных в полях типа Date из системы Lotus

  1. Загрузите данные из объекта SpreadSheet (Lotus) в таблицу Visual FoxPro.

  2. Используйте системное средство Дизайнер Таблиц (Visual FoxPro), для изменения структуры таблицы, добавления новых полей.

  3. Если Даты загружаются в виде числового типа, то используйте команду REPLACE и функцию CTOD( ), для преобразования данных в нужный вид, например:

    CopyCode image Копировать Код
    REPLACE ALL NewDateField ;
       WITH CTOD(SYS(10,OldDateField+2415019))

    -ИЛИ-

    Если Даты загружаются в виде символьного типа, используйте следующее преобразование данных:

    CopyCode image Копировать Код
    REPLACE ALL NewField ;
       WITH CTOD(SYS(10,VAL(OldField)+2415019))

  4. После выполненных преобразований, добавления нового поля в требуемом формате, удалите старое поле из данной таблицы.

См. также

Задачи

Как: Импортировать данные с помощью Мастера Импорта
Как: Импортировать данные из Lotus 1-2-3
Как: Импортировать данные из Microsoft Excel

Концепции

Импорт данных
Добавление данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Import from Microsoft Excel

Visual FoxPro 9.0
Как: Импортировать данные из системы Microsoft Excel
См. также

Когда выполняется импорт данных из таблицы Microsoft Excel, первая строка рассматривается как заголовок, по которому происходит определение типа создаваемых полей новой таблицы Visual FoxPro, все импортируемые поля имеют символьный тип, хотя в исходном файле они могли иметь числовой тип или тип Дата.

Чтобы убедиться, что Поля имеют подходящий тип данных

  • В системе Microsoft Excel, откорректируйте таблицу таким образом, чтобы в первой строке размещались имена полей, а затем следовали соответствующие данные, которые будут импортироваться.

    Caution note Обратите внимание

    Если поле в таблице Microsoft Excel содержит белее чем 255 символов, то данные будут обрезаны до 254 символов в соответствующем поле таблицы Visual FoxPro.

См. также

Задачи

Как: Импортировать данные при помощи Мастера Импорта

Концепции

Добавление Данных
Импорт Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Appending Data

Visual FoxPro 9.0
Добавление данных
Смотрите также

Вы можете добавить ваш текст, крупноформатные таблицы или табличные данные в существующие таблицы Visual FoxPro. По умолчанию Visual FoxPro использует тип файла для разметки полей в таблице назначения. Вы, кроме того, можете выбрать поля и записи для добавления. Если вы желаете управлять разметкой полей, вы можете использовать мастер импорта - Import Wizard, но опции выбора полей и логический выражение там не доступны.

Выбор типа файла для добавления

В приведенной ниже таблице перечислены типы файлов, из которых вы можете добавлять данные в таблицы Visual FoxPro:

Тип файла | Расширение имени файла | Описание
Table | dbf | Таблица FoxPro® из базы данных, не являющейся текущей или файл dBASE.
Tab delimited | txt | Текстовый файл, в котором в качестве разделителя для каждого поля используется символ табуляции.
Comma delimited | txt | Текстовый файл, в котором в качестве разделителя для каждого поля используется запятой.
Space delimited | txt | Текстовый файл, в котором в качестве разделителя для каждого поля используется символ одного пробела.
System Data Format | sdf | Текстовый файл, с фиксированной длиной записи, завершаемой символами возврата каретки (CHR(13))и перевода строки (CHR(10)).
Microsoft Excel | xls | Формат рабочего листа Microsoft Excel (версий 2.0, 3.0, 4.0, 5.0 и 97). Колонки ячеек становятся полями, а строки становятся записями.
Lotus 1-2-3 | wks wk1 wk3 | Крурноформатная таблицы Lotus 1-2-3 релизов 1-A, 2.x и 3.x. Колонки ячеек становятся полями, а строки становятся записями.
Borland Paradox | db | Таблица Paradox версий 3.5 и 4.0.

Для получения более подробной информации о добавлении файлов смотрите описание команды APPEND FROM.

Смотрите также

Задачи

Как: добавить данные с помощью мастера импорта - Import Wizard
Как: добавить данные в существующие таблицы
Как: выбрать поля для добавления
Как: выбрать записи для добавления

Концепции

Импортирование данных

Прочие ресурсы

Импортирование и экспортирование данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Append Data with the Import Wizard

Visual FoxPro 9.0
Как: Добавить Данные с помощью Мастера Import
См. также

Предлагаемый разработчиками Import Wizard задет вам некоторые вопросы, уточняющие характеристики импортируемых данных. Используя данный мастер импорта Вы можете определить схему загружаемых данных, определить последовательность расположения столбцов и строк данных.

Для добавления данных из файла с помощью Мастера Импорта (Import Wizard)

  1. В меню File, выберите пункт Import.

  2. В диалоговом боксе Import, выберите кнопку Import Wizard.

  3. Следуйте инструкциям, которые предлагает данный Мастер Импорта.

См. также

Задачи

Как: Добавить данные в существующие Таблицы
Как: Выбрать добавляемые Поля
Как: Выбрать добавляемые Записи

Концепции

Добавление Данных
Экспорт Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Append Data to Existing Tables

Visual FoxPro 9.0
Как: добавить данные в существующие таблицы
Смотрите также

ВЫ можете добавлять записи в активную таблицу из другого файла. По умолчанию, Visual FoxPro добавляет в таблицу все записи и поля. С помощью опций Append From вы можете указать поля или выбрать записи. Для получения более подробной информации о выборе полей и записей, смотрите разделы Как: выбрать поля для добавления в таблицу и Как: выбрать записи для добавления в таблицу.

Для добавления данных

  1. Откройте таблицу, в которую будут добавляться записи в окне Browse с помощью одноименной команды .

  2. Из меню Table выберите Append Records.

  3. В боксе Type введите формат файла - источника данных.

  4. В боксе From введите имя файла - источника данных.

  5. Убедитесь, что в боксе To показано корректное имя таблицы.

    Note Совет

    Если имя табилцы некорректно, выберите Cancel и затем откройте корректную таблицы, в которую планируете добавить данные. Бокс To показывает таблицу, активную на момент времени, когда вы выбирали команду Append From.

  6. Если вы желаете указать поля или записи для добавления, то выберите Options и завершите диалоговый блок Options.

  7. Выберите OK.

    Visual FoxPro добавит записи в таблицу .

Смотрите также

Задачи

Как: добавить данные с помощью мастера импорта
Как: выбрать поля для добавления
Как: выбрать записи для добавления

Концепции

Экспорт данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Select Fields to Append

Visual FoxPro 9.0
Как: Выбрать Поля при добавлении данных
См. также

При дополнении данных Вы можете загружать только необходимые Поля из исходного файла. Необходимые поля включаются в процесс добавления данных.

Для выбора Полей при добавлении данных

  1. В меню Table, выберите пункт Append Records.

  2. В диалоговаом боксе Append From, введите имя исходного файла данных, и нажмите кнопку Options.

  3. В диалоговом боксе Append From Options, выберите пункт Fields. В диалоговом боксе Field Picker отображается список полей в создаваемой таблице.

  4. Выберите необходимые вам Поля в исходном файле, и нажмите кнопку OK.

    Выбранные поля будут размещены в соответствующем боксе Selected Fields.

  5. Нажмите кнопку OK.

См. также

Задачи

Как: Добавить данные в существующие таблицы
Как: Выбрать добавляемые Записи
Как: Добавить Данные с помощью Мастера Импорта

Концепции

Экспорт Данных

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Select Records to Append

Visual FoxPro 9.0
Как: Выбрать Записи для операции Добавления
См. также

Если вам требуется добавить (в Таблицу) только определенные (конкретные) Записи из внешнего Источника, вы можете использовать секцию Логического условия: FOR. Visual FoxPro использует заданное вами логическое Выражение для фильтрации внешних Данных и добавления только тех Записей, которые удовлетворяют данному Условию. Поля Таблиц, которые используются при построении выражения FOR должны существовать в обоих Таблицах (как в исходной, так и - в добавляемой).

Для выбора определенных Записей для Добавления:

  1. Отобразите Исходную Таблицу (например, в системном окне Browse), в системном Меню Table (Таблица), выберите подпункт: Append Records (добавить Записи).

  2. В активированном диалоговом боксе определите Тип и полное Имя соответствующего файла, далее: нажмите кнопку Options (Параметры).

  3. Нажмите кнопку For (Для) - где выполняется построение требуемого Логического выражения Фильтра добавляемых Записей; при этом используется (активируется) диалоговый бокс Expression Builder (Построитель Выражений).

    Note Обратите Внимание

    Вам не нужно вводить ключевое Слово FOR, которое подразумевается (по-умолчанию). Например, достаточно Ввести: customer.country = "Russia", - для добавления только требуемых Записей (удовлетворяющих данному Условию).

  4. Нажмите кнопку: OK.

Если вы выполняете Добавление Данных из обычного Текстового файла, Visual FoxPro предполагает, что для каждого Поля Таблицы - соответствующие данные из текстового файла разделены запятыми, а символьные данные заключены в кавычки. Обратите Внимание, если вы используете символ Запятая в качестве разделителя между целой и десятичной частями Числовых данных или символ Запятая используется как разделитель Триад в денежных величинах (123,456,78) , то получаем - Риск импортировать числовые Данные в разные поля Таблицы.

Например, Visual FoxPro импортирует исходное Значение = 100,00 в два последовательных Поля Таблицы (так как исходные значения - разделены Запятой, на самом деле это число = 100.00). Рекомендуется воспользоваться одним из следующих Запасных Вариантов:

  • Используйте символ Табуляции (Tab) - как разделитель между рядом-стоящими Значениями Полей в текстовом файле.

  • Измените десятичный разделитель в Числовых Данных, замените его на обычный - Точка.

Если для добавления новых Записей из Текстового файла, где в качестве разделителя между Значениями Полей используется символ Табуляции, вы применяете стандартную команду APPEND FROM, то рекомендуется указывать также дополнительную секцию рассматриваемой команды: DELIMITED WITH TAB.

Если вам требуется использовать десятичную Точку в качестве разделителя целой и десятичной частей числовых Выражений, то выполните необходимые преобразоввания, загрузите эти данные в Таблицу, выполните обратное преобразование ("точку" - обратно в "запятую"). Тем самым Исходный текстовый файл остается в исходном, неизменном вуиде.

Для Замены Десятичной Точки в числовых Выражениях

  1. В системном Командном окне Command, введите и выполните следующую Команду Visual FoxPro.

    CopyCode image Копировать Код
    SET POINT TO

  2. Выполните Импорт требуемых данных из текстового файла, где используется ключевое слово: DELIMITED (разделенных).

  3. Опять в системном Командном окне Command, введите и выполните обратную Команду (установку разделителя - Запятой).

    CopyCode image Копировать Код
    SET POINT TO ','

См. также

Задачи

Как: Добавить Данные с помощью Мастера Импорта (Import Wizard)
Как: Выбрать требуемые Поля для Добавления

Концепции

Передача (Экспорт) Данных
Операции Добавления Данных

Другие ссылки

Импорт и Экспорт Данных

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Exporting Data

Visual FoxPro 9.0
Экспортирование данных
Смотрите также

Вы можете экспортировать данные из ваших таблиц Visual FoxPro в текстовые файлы, таблицы Excel или таблицы используемые другими приложениями. Процесс экспорта требует исходную таблицу и тип и имя файла назначения. Если вы желаете, вы можете выбрать поля и записи для экспорта. Вы можете использовать новый файл в любом приложении, которое поддерживает выбранный вами тип файла.

Выбор типа файла дл экпорта

В приведенной ниже таблице перечислены типы файлов, в которые вы можете экпортировать данные из Visual FoxPro.

Тип файла | Расширение имени файла | Описание
Tabs delimited | txt | A text file with a tab separating each field.
Comma delimited | txt | Текстовый файл с запятыми, разделяющими каждое поле.
Spaces delimited | txt | Текстовый файл, с разделяющим каждое поле пробелом.
System Data Format | sdf | Текстовый файл с записями фиксированной длины, заканчивающися символами возврата каретки и перевода строки.
Table | dbf | Таблицы Visual FoxPro, FoxPro, FoxBASE+®, dBASE или таблица Paradox 3.5 или 4.0.
Microsoft Excel | xls | Формат рабочей таблицы Microsoft Excel (versions 2.0, 3.0, 4.0, 5.0, and 97). Поля становятся ячейками колонок, а записи становятся строками. Вы можете экспортировать максимум 65,535 строк, которые включают в себя одну строку, резервированную для заголовка поля.
Lotus 1-2-3 | wks wk1 | Таблица Lotus 1-2-3 для релизов 1-A, 2.x и 3.x. Поля становятся ячейками колонок, а записи становятся строками.

Для получения более подробной информации об экспортировании данных смотрите описание команды COPY TO.

Смотрите также

Задачи

Как: экспортировать данные в новые файлы
Как: экспортировать определенное количество или диапазон записей
Как: экспортировать записи, которые отвечают условиям
Как: управлять процессом экспорта записей
Как: экспортировать текстовые файлы
Как: экспортировать численные значения или значения валют

Прочие ресурсы

Импортирование или экспортирование данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Export Data to New Files

Visual FoxPro 9.0
Как: экспортировать данные в новые файлы
Смотрите также

Вы можете скопировать все поля и записи из вашей таблицы Visual FoxPro в новый файл или вы можете скопировать только те поля или записи, которые вы выбрали.

Для экспорта данных

  1. В меню Файл (File) выберите Экспорт (Export).

  2. В боксе Тип (Type) выберите тип файла, куда будут копироваться данные.

  3. В боксе В (To) введите имя файла, куда будут копироваться данные.

  4. В боксе Из (From) введите имя исходного файла.

  5. Если вы желаете выбрать для экспорта только определенные поля или записи выберите Опции (Options) и завершите работу с диалоговым окном Опции экспорта (Export Options).

  6. Щелкните по OK.

По умолчанию, Visual FoxPro экспортирует все поля в исходной таблице в файл назначения. Вы можете выбрать, какие поля использовать с помощью диалогового окна Опции экспорта (Export Options).

Для выборки полей для экспорта

  1. В меню Файл (File) выберите Экспорт (Export).

  2. В диалоговом окне Export введите тип файла назначения и его имя.

  3. В боксе Из (From) введите имя исходного файла.

  4. Щелкните по Опции (Options).

  5. Щелкните по Поля (Fields) и выберите поля из диалогового окна Сборщик поля (Field Picker).

  6. Щелкните по OK.

Когда вы экспортируете данные, вы можете пожелать ограничить число записей, которые будут скопированы в новый файл с помощью предоставления критерия выборки. Вы можете:

  • Выбрать область записей, указав количество или диапазон.

  • Построить выражение FOR, которое отберет записи по соответствию условию.

  • Построить выражение WHILE, которое будет выбирать записи до тех пока, пока не найдет соответствия условию.

Вы можете использовать любую комбинацию этих опций. Выражение WHILE переписывает все прочие критерии.

Смотрите также

Задачи

Как: экпортировать количество или диапазон записей
Как: экспортировать записи, которые отвечают условиям
Как: управлять процессом экспорта записей
Как: экспортировать текстовые файлы
How to: Export Numeric or Currency Values

Концепции

Экспорт данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Export a Quantity or Range of Records

Visual FoxPro 9.0
Как экспортировать некоторое количество или диапазон записей
Смотрите также

Вы можете ограничить число записей, указав некоторое количество или диапазон записей. Используя опцию Scope (границы), вы можете экспортировать как отдельную запись, так и группу записей, последовательно расположенных в файле.

Note Примечание

Активный индекс и указатель текущей записи влияют на результаты работы опций диапазона Next и Rest. Например, запись, следующая за данной записью в таблице, индексированной по фамилиям, может отличаться от следующей записи в таблице, индексированной по штатам. Это не влияет на работу опции Record, так как номер записи не изменяется при индексировании таблицы.

Для экспорта записей

  1. В меню File выберите пункт Export.

  2. Введите имя файла - источника (поле From) и необходимую информацию о файле - приемнике (поля Type и To)

  3. Выберите Options.

  4. Выберите Scope.

  5. Выберите соотвествующие границы (Scope) и закройте диалоговое окно Scope.

    Для экспорта Выбрать

    Все записи из файла - источника

    All

    Диапазон записей, начиная с текущей записи

    Next

    Отдельная запись

    Record

    Текущая запись и все остальные записи до конца файла

    Rest

  6. Выберите OK.

    Visual FoxPro экспортирует записи в соответствии с выбранным диапазоном.

Смотрите также

Задачи

Как экспортировать данные в новый файл
Как экспортировать записи, соответствующие заданным условиям
Как управлять процессом экспорта записей
Как экспортировать текстовые файлы
Как экспортировать числовые или значения типа валюта

Общие понятия

Экспорт Данных

Другие средства

Импорт и Экспорт Данных

Для предложений или сообщений об ошибках в Помощи или в других функциях этого продукта, посетите страницу обратной связи
© Microsoft Corporation. All rights reserved.


How to: Export Records That Match Conditions

Visual FoxPro 9.0
Как: Экспортировать Записи из Таблиц при выполнении Условий
См. также

Если вам необходимо экспортировать Записи из Таблицы, которые расположены не последовательно, вы можете построить логический критерий отбора требуемых записей. Например, вы можете экспортировать те записи, в которых значение некоторого поля имеет заданное значение.

Для Определения критерия отбора экспортируемых записей

  1. В системном Меню File, выберите пункт Export.

  2. Введите исходную таблицу и информацию о назначении копирования.

  3. Выберите раздел Options.

  4. Нажмите кнопку For - для построения Критерия отбора, с помощью Диалогового бокса Expression Builder.

    Note Примечание

    Не нужно определять ключевое слово FOR, при определении выражения отбора. Например, введите: customer.country = "Canada" , для отбора только записей (из Канады).

  5. Нажмите кнопку OK.

    Visual FoxPro вычисляет логическое условие отбора записей и экспортирует записи, согласно заданному критерию.

См. также

Задачи

Как: Экспортировать Данные в новые файлы таблиц
Как: Экспортировать записи по количеству или интервалу номеров
Как: Управлять процессом Экспорта Записей
Как: Экспортировать Текстовые файлы
Как: Экспортировать Числовые или Денежные значения

Концепции

Экспорт Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Control the Record Export Process

Visual FoxPro 9.0
Как: Управлять процессом экспорта записей данных
См. также

При выгрузке данных, вы можете задавать условие выгрузки, которое определяет диапазон записей данных, которые будут выгружены.

Система Visual FoxPro выполняет выгрузку данных пока условное выражение, заданное в опции WHILE, принимает значение, = True (.t.); как только встречается запись, для которой условное выражение = False (.f.), то выгрузка данных заканчивается. В условном выражении могут использоваться Поля Таблицы, которые не выгружаются.

Note Обратите внимание

Если вы используете опцию WHILE, для задания условия выгрузки данных, то данный процесс может быть завершен раньше, чем найдутся записи данных, удовлетворяющих заданному условию. Это зависит от активного индексного файла или индексного Тэга, в соответствие с заданным условиенм. Перед выгрузкой данных установите требуемую сортировку данных и указатель записи переместите на первую запись, удовлетворяющую заданному условию.

Для определения критерия завершения выгрузки записей данных

  1. В системном меню File, выберите опцию Export.

  2. Введите таблицу-источник данных и информацию о файле назначения.

  3. Выберите опцию While - для построения выражения условия выгрузки, в соответствующем диалоговом боксе Expression Builder.

    Note Обратите внимание

    Вам нет необходимости включать в условие опцию WHILE, достаточно выражения условия. Например, выражение sales > 1000 , означает выгрузку только соответствующих записей, удовлетворяющих данному условию.

  4. Нажмите кнопку OK.

    Система Visual FoxPro экспортирует записи из таблицы, удовлетворяющие заданному условию выгрузки.

См. также

Задачи

Как: Экспортировать данные в новые файлы
Как: Экспортировать количество или диапазон записей
Как: Экспортировать Записи данных с математическими выражениями
Как: Экспортировать Текстовые файлы
Как: Экспортировать данные числового и денежного типа

Концепции

Экспорт Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Export Text Files

Visual FoxPro 9.0
Как: Экспортировать текстовые файлы
См. также

Если вы экспортируете данные (выгружаете) в текстовые файлы, то система Visual FoxPro предполагает, что поля записи перечисляются через запятую и каждое символьное поле заключается в кавычки. Если ранее был установлен разделитель дробной части, как "запятая", то выгружаемые данные числового и денежного типа будут выгружены "по-частям", т.е. целая часть отдельно от дробной части.

Для выгрузки в текстовый файл

  • Используйте команду COPY TO , с дополнительным параметром DELIMITED, варианты которого описаны в таблице.

    Для Разделения данных Использование DELIMITED

    Поля данных разделены запятой, символьные данные заключены в кавычки

    DELIMITED

    Символьные поля ограничены другими разделителями, отличными от кавычек

    DELIMITED WITH delimiter

    Поля разделены знаком Табуляции

    DELIMITED WITH TAB

    Поля разделяются Пробелом

    DELIMITED WITH BLANK*

    * Дата и Время в этом случае воспринимаются как отдельные поля (для данных типа DateTime)

См. также

Задачи

Как: Экспортировать данные в новые файлы
Как: Экспортировать некоторое количество или диапазон Записей
Как: Экспортировать Записи математических выражений
Как: Управлять процессом экспорта записей
Как: Экспортировать числовые данные или типа Currency (денежные)

Концепции

Экспорт данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Export Numeric or Currency Values

Visual FoxPro 9.0
Как: экспортировать значения типов Numeric или Currency
Смотрите также

Если вы изменяете символ десятичного разделителя в Visual FoxPro в запятую comma, данные типов numeric и currency могуть быть разложены в отдельные поля, когда вы добавляте записи в таблицу или экспортируете их. Например, Visual FoxPro будет транслировать значение 100,000 в два поля, так как значение появилось как выражение, разделенное запятой. Выберите один из приведенных ниже методов, для гарантии, что символ запятой правильно транслируется:

  • Используйте символ табуляции для разделения полей в текстовых файлах

  • Измение символ десятичного разделителя назад - в точку

Если вы желаете экспортировать данные в текстовый файл, используйте команду COPY TO Command с ключевыми словами DELIMITED WITH TAB.

Если вы желаете изменить десятичный разделитель в точку до экспорта текстовых файлов, вы можете изменить символ десятичного разделителя назад в символ запятой, после завершения экспорта файла.

Для замены символа десятичного разделителя

  1. В окне Command впечатайте приведенную ниже команду.

    CopyCode image Скопировать код
    SET POINT TO

  2. Экспортируйте файл, используя ключевое слово DELIMITED.

  3. В окне Command впечатайте приведенную ниже команду для восстановления символа десятичного разделителя в символ запятой.

    CopyCode image Скопировать код
    SET POINT TO ','

Смотрите также

Задачи

Как: экспортированные данные в новые файлы
Как: экспортировать некоторое количество или диапазон записей
Как: экспортировать записи, которые отвечают указанным условиям
Как: управлять процессом экспорта записей
Как: экспортировать текстовые файлы

Концепции

Экспортирование данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Access Management Using CursorAdapters

Visual FoxPro 9.0
Управление доступом к данным с использованием CursorAdapter'ов
Смотри также

В Visual FoxPro с помощью курсоров-адаптеров вы можете извлекать данные из местных (local) и удаленных (remote) источников данных следующих типов:

  • Native

  • Open Database Connectivity (ODBC)

  • ActiveX Data Object (ADO)

  • Extensible Markup Language (XML)

Класс CursorAdapter расширяет поддержку работы с различными типами источников данных, как если бы это были собственные курсоры Visual FoxPro. Объекты CursorAdapter objects provide the following capabilities:

  • Динамическое использование различных источников данных.

  • Использование источника данных либо объекта CursorAdapter, либо DataEnvironment.

  • Совместное использование источников данных в предедах технологии источника данных.

  • Необязательное определение структуры курсора, связанного с объектом CursorAdapter.

  • Управление загрузкой данных из источника данных в курсор Visual FoxPro, связанный с объектом CursorAdapter.

  • Разбор данных, полученных из различных источников данных в курсоры Visual FoxPro, основанный на типе источника данных.

  • Управление через свойства и методы CursorAdapter добавлением, обновлением и удалением данных.

  • Возможность добавлять объекты CursorAdapter в контейнеры отличные от DataEnvironment, такие как формы, наборы форма и прочие контейнеры.

  • Использование класса CursorAdapter, как самостоятельного класса без связи с Data Environment.

С объектами CursorAdapter, источник данных представляется просто трубой к слою трансляции, который предоставляет данные из источника данных в курсор Visual FoxPro.

Замечание:
Visual FoxPro не поддерживает использование отношений (relations) с объектами CursorAdapter. Однако, вы можете использовать отношения между курсорами, связанными с курсорами-адаптерами.

Для получения подробной информации о классах CursorAdapter, DataEnvironment и Cursor смотри Класс Class, Объект DataEnvironment и Объект Cursor.

Взаимодействие с функциями TABLEUPDATE( ) и TABLEREVERT( )

Функция TABLEUPDATE( ) распознает объекты CursorAdapter и может с ними работать. TABLEUPDATE( ) делегирует свои операции курсору-адаптеру, связанному с курсором. TABLEREVERT( ) оперирует на объектах CursorAdapter тем же самым образом, что и прочих буфферированных курсорах.

За подробной информацией о том, как объекты CursorAdapter objects воздействуют на поведение функций TABLEUPDATE( ) и TABLEREVERT( ) смотри TABLEUPDATE( ) функция и TABLEREVERT( ) функция.

Автоматическое обновление и CursorAdapter'ы

Visual FoxPro автоматически генерирует SQL INSERT, UPDATE и DELETE команды для местных (local) и удаленных (remote) представлений. При работе с объектами CursorAdapter, вы можете настраивать и управлять тем, как Visual FoxPro генерирует эти SQL INSERT, UPDATE и DELETE команды.

Когда свойства InsertCmd, UpdateCmd и DeleteCmd объекта CursorAdapter ничего не содержат, Visual FoxPro генерирует соответствующие SQL команды автоматически. Вы должны сами опрделиться с тем - будет ли автоматическая генерация этих команд пригодна для используемого вами источника данных. Для автоматической генерации SQL INSERT, UPDATE и DELETE команд, вы должны установить следующие CursorAdapter-специфичные свойства:

  • Tables

  • KeyFieldList

  • UpdatableFieldList

  • UpdateNameList

К свойствам Tables и UpdateNameList применимы следующие общие правила:

  • Tables

    Чтобы разрешить автоматическое обновление, вы должны предоставить список имен таблиц именно в том порядке, в каком вы желаете видеть их в командах SQL INSERT, UPDATE и DELETE.

  • UpdateNameList

    Вы должны указать разделенный запятыми список, состоящий из пар местных (local) и полных удаленных (remote) имен полей. Каждая пара имен состоит локального имени поля со следующим за ним полным именем удаленного поля. Полное имя удаленного поля (remote field name) показывается как <remote table name>.<remote field name>, где <remote table name> соответствует имени из списка значений свойства Tables.

Вы должны, кроме того, установить соответствующие ключевые поля, если вы установили в True (.T.) следующие свойства CursorAdapter'а:

  • AllowInsert

  • AllowUpdate

  • AllowDelete

Для получения подробной информации о SQL командах, используемых для автоматического обновления смотри статьи INSERT - SQL команда, UPDATE - SQL команда, and DELETE - SQL команда.

Пакетные обновления (Batch Updates)

Объекты CursorAdapter используют пакетное обновление, если свойство BatchUpdateCount установлено в значение большее, чем 1, и верно одно из следующих условий:

  • Объект CursorAdapter установлен для использования одного и того хэндла ODBC декларации для всех разрешенных операций, а именно, INSERT, UDPATE и DELETE, что определено свойствами AllowInsert, AllowUpdate и AllowDelete.

  • Объект CursorAdapter установлен для использования одного и того же объекта ADODB Command для всех разрешенных операций.

  • Объект CursorAdapter использует "XML" в качестве источника данных для всех разрешенных операций.

Если используется пакетное обновление, то не происходят приведенные ниже события CursorAdapter:

  • BeforeInsert

  • AfterInsert

  • BeforeUpdate

  • AfterUpdate

  • BeforeDelete

  • AfterDelete

Если пакетное обновление не получилось, Visual FoxPro пытается послать отдельные обновления для каждой строки входящей в пакет; однако, перечисленные события так и не будут происходить.

Для получения подробной информации смотри статью Свойство BatchUpdateCount.

Автоматическое обновление и объекты ActiveX Data Objects (ADO)

При работе с ADO, вы можете посылать обновления используя два разных метода:

  • Использовать объект CursorAdapter для посылки обновлений с объектом ADO RecordSet используемого методом CursorFill CursorAdapter'а.

    Когда производится автоматическое обновление с использованием ADO RecordSet, при установке свойств InsertCmdDataSource, UpdateCmdDataSource и DeleteCmdDataSource объекта CursorAdapter применяются следующие правила:

    • ADO RecordSet должен быть редактируемым (read/write) и иметь доступные закладки (bookmarks). Закладки всегда доступны при использовании объекта RecordSet на стороне клиента. Закладки могут быть доступны при использовании Keyset или Static server-side курсоров, если это поддерживается OLE DB провайдером.

    • Обновления производятся по принципу "field-by-field". Для каждой обновляемой записи, объект CursorAdapter ищет оригинальную запись в ADO RecordSet, изменяет значение в обновляемом поле и вызывает метод Update ADO RecordSet'а. Объект CursorAdapter не вызывает метод UpdateBatch ADO RecordSet'а; вследствие чего ваше приложение при необходимости должно открыто вызвать UpdateBatch.

    При использовании этого метода, вы должны сконфигурировать объект CursorAdapter следующим образом:

    Скопировать код
    THIS.DataSourceType="ADO"
THIS.UpdateCmdDataSourceType=""
    Кроме того, вы можете использовать построители DataEnvironment и CursorAdapter для строительства обновляемых форм или библиотеки классов DataEnvironment и CursorAdapter и использовать возможности, предоставляемые на закладке "AutoUpdate" построителя CursorAdapter'а для указания ключевых полей, обновляемых полей и прочей необходимой информации.

  • Использовать объект CursorAdapter для прямой посылки обновлений в базу данных, используя пользовательские или автоматичски генерируемые команды обновления.

    При производстве прямого автоматического обновления объекту CursorAdapter требуется объект ADO Command, у которого его свойство ActiveConnection установлено на открытый объект ADO Connection.

    При использовании этого метода, вы должны сконфигурировать объект CursorAdapter следующим образом:

    Скопировать код
    THIS.UpdateCmdDataSourceType="ADO"
THIS.UpdateCmdDataSource=NewADODBCommandObject
    При использовании этого метода установка THIS.DataSourceType="ADO" не используется.

Автоматическое обновление и XML

Когда в качестве источника данных используется XML объекты CursorAdapter не генерируют автоматически команды SQL INSERT, UPDATE или DELETE, как они делают это для других источников данных, вследствие разнообразия существующих способов для генерации XML. Однако, вы можете использовать объект CursorAdapter для генерации XML UpdateGram и присвоения полученного значения свойству UpdateGram CursorAdapter'а.

Хотя объект CursorAdapter может генерировать XML UpdateGram, вы должны you встроить реальную операцию обновления с использованием подходящих протоколов, таких как SQL XML using HTTP, SQL XML OLE DB или XML Web service в .NET.

При работе с XML источниками данных и генерации XML UpdateGrams применяются следующие правила:

  • Вы должны указать текст команд для свойств InsertCmd, UpdateCmd и DeleteCmd объекта CursorAdapter, которые Visual FoxPro может исполнить при соответствующих операциях вставки, обновления или удаления. Если используется пакетное обновление, что определяется установкой свойства BatchUpdateCount в значение большее, чем 1, UpdateCmd исполняется только один раз на пакет обновления.

  • В значение "XML" должны быть установлены следующие свойства объекта CursorAdapter:

    • InsertCmdDataSourceType

    • UpdateCmdDataSourceType

    • DeleteCmdDataSourceType

    Если же этого не сделано, то есть перечисленные свойства не установлены в значение "XML", Visual FoxPro исполняет текст команд, занесенный в свойства UpdateCmd, InsertCmd или DeleteCmd, но не генерирует XML UpdateGram.

  • Для корректного создания XML UpdateGram, CursorAdapter требует, чтобы свойства Tables, UpdatableFieldList и UpdateNameList содержали действительные, корректные значения. CursorAdapter может генерировать многотабличный UpdateGram путем определения таблиц и полей в свойствах Tables, UpdatableFieldList и UpdateNameList. Поэтому, вы можете обновить курсор, который представляет многтабличное объединение с помощью функции XMLUPDATEGRAM( ). Для получения подробной информации смотри статью XMLUPDATEGRAM( ) функция.

  • CursorAdapter использует свойство WhereType для генерации секции before в XML UpdateGram. Вследствие этого, когда вы проводите операцию обновления или удаления, свойства KeyFieldList и UpdatableFieldList должны содержать соответствующие ключевые поля. Для получения подробной информации смотри статью Свойство WhereType.

  • Если разрешено строчное буфферирование или свойство BatchUpdateCount установлено равным 1, Visual FoxPro создает XML UpdateGram для каждой операции обновления, вставки или удаления.

    Если разрешено табличное буфферирование и если используется пакетное обновление, что опрелеляется установкой свойства BatchUpdateCount в значение большее, чем 1, Visual FoxPro создает XML UpdateGram для целого пакета изменений. В этом режиме, вы должны вызвать функцию TABLEUPDATE( ), что ожидается для инициализации обновления и генерации XML UpdateGram.

Смотри также

Прочие ресурсы

Импортирование и экспортирование данных
Класс CursorAdapter
Свойства, методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Converting Between XML and Visual FoxPro Data

Visual FoxPro 9.0
Преобразование между XML и данными Visual FoxPro
Смотрите также

Вы можете более легким способом обмениваться данными между другими приложениями путем преобразования данных Visual FoxPro в XML формат. Visual FoxPro включает в себя приведенные ниже функции, которые позволят вам осуществлять упомянутые преобразования:

  • CURSORTOXML( )

  • XMLTOCURSOR( )

  • XMLUPDATEGRAM( )

Замечание:
Перед использованием указанных XML функций Visual FoxPro, вы должны установить парсер Microsoft XML Core Services (MSXML).

В приведенных ниже разделах обсуждаются соображения, которые необходимо учитывать при преобразованиях между XML и данными Visual FoxPro:

  • Преобразование XML данных в переменные или строки вместо преобразований в файлы

  • Преобразование XML строк

  • Импортирование и экспортирование XML с использованием схем

Вы можете замещать внутреннюю функциональность функций CURSORTOXML( ), XMLTOCURSOR( ) и XMLUPDATEGRAM( ) путем ссылки на компонент COM, используя свойство VFPXMLProgID. Для получения более подробной информации обратитесь к статье VFPXMLProgID Property.

Visual FoxPro поддерживает иерархически форматированные XML дляr XML DiffGram и форматов .NET Framework ADO.NET DataSet, путем предоставления классов XMLAdapter, XMLTable и XMLField. Для получения более подробной информации обратитесь к статье XML Functionality Using XMLAdapters.

Преобразование XML данных в переменные или строки, вместо преобразования в файлы

XMLTOCURSOR( ) по-разному обрабатывает данные из переменных и строк, по сравнению с преобразованием из файлов. При преобразовании XML в курсор, the method used to pass XML to the function affects how double-byte character sets (DBCS) characters in the XML are handled. DBCS символы интерпретируются корректно, когда для XMLSource используется файл. Однако, если вам необходимо использовать переменные памяти или строки, вы можете принудительно выполнить интерпретацию в DBCS с использованием приведенного ниже кода, в XMLTOCURSOR( ):

Скопировать код
STRCONV(string,11)

Приведенный далее пример открывает Visual FoxPro образцовую таблицу Customer, размещенную в каталоге Visual FoxPro ..\Samples\Data\, преобразует данные таблицы и сохраняет их в переменной памяти, lcXML, как XML:

Скопировать код
CLEAR
CLOSE DATABASES ALL
USE HOME()+'samples\data\customer'
CURSORTOXML('customer','lcXML',1,48,5,"","","")

Приведенная ниже строка кода вставляет некорректные символы в результирующий курсор:

Скопировать код
XMLTOCURSOR(lcXML,"curCustomerList",4)

Приведенная далее строка кода использует функцию STRCONV( ) и корректно преобразует XML в данные DBCS и открывает окно просмотра таблицы:

Скопировать код
XMLTOCURSOR(STRCONV(lcXML,11),"curCustomerList",4)
BROWSE

Преобразование XML строк

XMLTOCURSOR( ) не производит автоматических преобразований XML строк, например, из ANSI в UTF-8. Такое может произойти при чтении XML строки из файла. Для осуществления преобразования используйте в этом случае функцию STRCONV( ).

Приведенный ниже пример демонстрирует ошибку парсера, которая наступает в случае, когда Visual FoxPro встречает первый ASCII символ:

Скопировать код
CLOSE DATABASE ALL
USE HOME(2)+"\data\customer"
CURSORTOXML("customer","lcXML",1,32)
STRTOFILE(lcXML,"customer.xml")
XMLTOCURSOR("customer.xml","curCustomer",512)
RETURN

Вы можете предотвратить ошибку парсера, генерируемую при преобразовании строк в UTF-8 когда XML записывается или когда он записан в файл. Приведенный ниже пример преобразует строку в UTF-8 как если бы она была записана в файл, путем использования фукнции STRCONV( ) совместно с функцией STRTOFILE( ):

Скопировать код
CLOSE DATABASE ALL
USE HOME(2)+"\data\customer"
CURSORTOXML("customer","lcXML",1,32)
STRTOFILE(STRCONV(lcXML,9),"customer.xml")
XMLTOCURSOR("customer.xml","curCustomer",512)
RETURN

В примере вы можете использование значен6ие, равное 48 лоя параметра nFlag, передаваемом в функцию STRCONV( ) для создания XML кодированного как UTF-8. Однако, это не работает в случае XML, предоставленного как внешний источник или с XML, который не сгенерирован с помощью фукнции CURSORTOXML( ).

Для получения более подробной информации смотрите описание функции STRCONV( ).

Импортирование и экспортирование XML с использованием схем

Когда вы импортируете XML, используя фукнцию XMLTOCURSOR( ), Visual FoxPro использует внешнюю или внутреннюю схемы, если они доступны, для определения структуры курсора или таблицы перед производством простого прохода по данным для преобразования. Если не схема не предоставлена, Visual FoxPro производит двойной проход по данным XML: во время первого прохода определяется структура данных в наилучшем возможном направлении и только во втором производится собственно преобразование. XML должен, в общем случае, соответствовать формату, который может быть интерпретирован как таблица в дополнение к тому, что он должен быть хорошо сформирован. Хорошо сформированный XML, который не может быть слегко разложен в таблицу не будет обработан при импорте.

Приведенное ниже представляет собой XSD схему, сгенерированную посредством функции CURSORTOXML( ) Visual FoxPro:

Скопировать код
<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<xsd:schema id="VFPSchema" targetNamespace="http://microsoft.com" xmlns="http://microsoft.com" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" elementFormDefault="qualified">
   <xsd:element name="atxm">
      <xsd:complexType>
         <xsd:all>
            <xsd:element name="ikey" minOccurs="0" type="xsd:int"/>
            <xsd:element name="nc00" minOccurs="0">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:decimal">
                     <xsd:precision value="10"/>
                     <xsd:scale value="4"/>
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:element>
            <xsd:element name="mc03" minOccurs="0">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                     <xsd:maxLength value="2147483647"/>
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:element>
            <xsd:element name="cc04" minOccurs="0">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                     <xsd:maxLength value="128"/>
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:element>
            <xsd:element name="lc05" minOccurs="0" type="xsd:boolean"/>
            <xsd:element name="fc06" minOccurs="0" type="xsd:double"/>
            <xsd:element name="yc07" minOccurs="0" type="xsd:decimal"/>
            <xsd:element name="ic08" minOccurs="0" type="xsd:int"/>
            <xsd:element name="bc09" minOccurs="0" type="xsd:double"/>
            <xsd:element name="dc10" minOccurs="0" type="xsd:date"/>
            <xsd:element name="tc11" minOccurs="0"
type="xsd:timeInstant"/>
            <xsd:element name="ts12" minOccurs="0">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:binary">
                     <xsd:encoding value="base64"/>
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:element>
         </xsd:all>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="VFPData" msdata:lsDataSet="true">
      <xsd:complexType>
         <xsd:choice maxOccurs="unbounded">
            <xsd:element ref="atxm"/>
         </xsd:choice>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>

В настоящее время, Visual FoxPro экспортирует XML в следующие форматы:

  • Element-centric Каждое поле в результирующем курсоре или в курсоре источнике или таблице представлено как суб-элемент элемента верхнего уровня.

    Скопировать код
    <?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
    <!-- Note targetNamespace in root (VfpData) element. If set to default (""), xmlns attrib is not written -->
    <VfpData xmlns="http://www.microsoft.com">
       <alltypesxm>
          <ikey>2</ikey>
          <nc00>1.1111</nc00>
          <mc03>H1111111111111111111</mc03>
          <cc04>H111111111111111111</cc04>
          <lc05>true</lc05>
          <fc06>-1111000</fc06>
          <yc07>-111111111.1111</yc07>
          <ic08>-11111111</ic08>
          <bc09>-111111111111.1</bc09>
          <dc10>1999-03-02T08:00:00</dc10>
          <tc11>1999-03-02T09:01:01</tc11>
          <ts12>AAAAAAAAAr8=</ts12>
       </alltypesxm>
    </VfpData>
  • Attribute-centric Курсор определяется ключевым словом "VFPData" и каждое поле в результирующем курсорку или курсоре-источнике или таблице представлено аттрибутами элемента VFPData.

    Copy Code
    <?xml version="1.0" encoding="Windows-1252" ?>
    <!-- Note targetNamespace in root element -->
    <VFPData xmlns="http://www.microsoft.com">
       <atxm_attr ikey="2" nc00="12345.1111"
          mc03="H1111111111111111111" cc04="H111111111111111111" lc05="1"
          fc06="-1111000.0000" yc07="-111111111.1111" ic08="-11111111"
          bc09="-111111111111.100000" dc10="1999-03-02"
          tc11="1999-03-02T01:01:01" ts12="AAAAAAAAAr0=" />
       <atxm_attr ikey="3" nc00="2.1111" mc03="H2222222222222222222"
          cc04="H222222222222222222" lc05="1" fc06="22220000.0000"
          yc07="2222222222.2222" ic08="222222222"
          bc09="222222222222.2200000"
          tc11="2000-10-03T02:02:02" ts12="AAAAAAAAAr8=" />
    </VFPData>
  • Raw Каждая строка в результирующем курсоре или курсоре-источнике или таблице представлена элементом XML с общим идентификатором "row", а каждая колонка размечена в аттрибуты элемента row, где имя аттрибуте соответствует имени колонки. Этот формат идентичен Attribute-centric, за исключением для "row", используемом в качестве элемента верхнего уровня.

    Скопировать код
    <?xml version="1.0"?>
    <!-- Note no targetNamespace in root element -->
    <VFPData>
       <row CustomerID="CACTU" CompanyName="Cactus Comidas para llevar"
          ContactName="Patricio Simpson" ContactTitle="Sales Agent"
          Address="Cerrito 333" City="Buenos Aires" PostalCode="1010"
          Country="Argentina" Phone="(1) 135-5555" Fax="(1) 135-4892"/>
    </VFPData>

Смотрите также

Прочие ресурсы

XML данные в Visual FoxPro
Visual FoxPro и XML разметка типов данных в схеме
Импортирование и экспортирование данных

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XML Functionality Using XMLAdapters

Visual FoxPro 9.0
Обеспечение XML функциональности с помошью XMLAdapter'ов
Смотрите также

Visual FoxPro расширяет свои существующие возможности по обработке XML и свою совместимость с форматами XML DiffGram и .NET Framework ADO.NET DataSet путем предоставления классов XMLAdapter, XMLTable, и XMLField. С этими классами Visual FoxPro поддерживает иерархически форматированные XML, приведенные ниже:

  • XML-файлы, которые имеют связанную с ними схему, как внутреннюю, так и внешнюю, как это было осуществено ADO.NET DataSets, основанными на .NET Framework. Для получения более подробной информации обратитесь к ADO.NET DataSets.

  • Microsoft XML Data Reduced Schema (XDR), такая как, например, используемая Microsoft SQL XML

  • Схемы ADO Recordset, которые производятся когда ADO Recordset сохраняется как XML в файл или в поток

Visual FoxPro может переработать XML файлы, представляющие собой коллекцию различных и, возможно, связанных таблиц, таких как объект ADO.NET DataSet в отдельные курсоры Visual FoxPro. Обычно такой файл содержит данные из систем управления бащзами данных (DBMS) со структуров Parent > Child > Child. XML, кроме того, может иметь вложенный формат, такой как Parent > Child, Parent > Child, или последовательный формат, такой как Parent-Parent, Child-Child.

Когда в вашем распоряжении имеется иерархический XML, который представляет единичную таблицу, получаемую из команды SQL JOIN, связывающей множество таблиц, Visual FoxPro создаст только один курсор.

Note Замечание

Классы XMLAdapter, XMLTable и XMLField требуют, чтобы был инсталлирован Microsoft XML Core Services (MSXML) 4.0 Service Pack 1 (SP1). Для получения более подробной информации об этих классах обратитесь к Класс XMLAdapter, Класс XMLTable и Класс XMLField Class. Для получения более подробной информации о MSXML, смотрите Microsoft XML Core Services 4.0 SP1 на вебсайте MSDN Library http://msdn.microsoft.com/downloads/.

Note Замечание

Схема XML Schema Definition (XSD), сгенерированная Visual Studio ADO.NET DataSets может содержать элементы, не поддерживаемые Visual FoxPro. Для получения более подробной информации смотрите Поддержка схем, сгенерированных ADO.NET DataSets.

ADO.NET DataSets

В .NET Framework, ADO.NET представляет собой набор классов, которые открывают программисту сервисы доступа к данным. ADO.NET предоставляет последовательный доступ к источникам данным, таким как Microsoft SQL Server и прочим источником, которые открываются через OLE DB и XML.

ADO.NET DataSet используется как первичный класс для управления данными и инкапсуляции данных в виде XML. Объект ADO.NET DataSet может производить XML несколькими способами:

  • Возвратом полного ADO.NET DataSet вызывающему приложению.

    Это метод возвращает все строки в оригинальном зарпоск в формате XML DiffGram с внутренней схемой и операциями, показанными как операции обновления, вставки и удаления. Строки, которые остались неизменными не имеют аттрибута diffgr:hasChanges.

    Когда объект DataSet возвращается вызывающему приложению их метода в приложении, которое использует .NET Framework и возвращает объекты ADO.NET DataSet, то они всегда сериализированы или, другими словами, сконвертированы в XML. Visual FoxPro может преобразовать такой XML в курсоры, которые затем могут быть использованы в приложениях Visual FoxPro.

  • Возвратом только изменений в ADO.NET DataSet в приложение, основанноое на .NET.

    Этот метод возвращает только те строки в формате XML DiffGram, которые были изменены, добавлены или удалены.

    Если объект ADO.NET DataSet содержит изменения, они маркируются аттрибуитом DiffGram:hasChanges="modified" или DiffGram:hasChanges="inserted". Для тех записей, которые макрированы, как "modified", предыдущие их значения появляются в секции diffgr:before. Записи, которые удалены появляются только в секции diffgr:before и отсутствуют в основной секции DiffGram.

  • С помощью методов ADO.NET DataSet GetXml и GetXMLSchema возвращающих XML как .CLR поток или строчный тип.

  • С помощью методов ADO.NET DataSet WriteXml и WriteXmlSchema для записи ADO.NET DataSet как XML в файл с внутренней схемой, без схемы или с отдельной схемой.

Для получения более подробной информации о форматах XML DiffGram и ADO.NET DataSet смотрите .NET Framework SDK в MSDN Library на сайте http://msdn.microsoft.com/library/.

Поддержка схем, сгенерированных ADO.NET DataSets

XML, которые имеют внешнюю или внутреннюю схему XML Schema Definition (XSD), сгенерированную ADO.NET DataSets могут содержать элементы, которые не поддерживаются Visual FoxPro, который игнорирует эти элементы. Среди таких элементов, например, могут быть приведенные ниже:

  • xs:unique name

  • xs:annotation

  • Дополнительные processing instructions и аттрибуты, как перечисленные ниже:

    • Поддержка префиксов схемы (Schema prefix support), таких как msdata:Prefix, который определяет область группы элементов

    • Поддержка префиксов схемы XML, таких как аттрибут vfpx attribute, который распространяет область префикса на корневые элементы

    • аттрибут msprop и прочие аттрибуты, которые используют пространства имен

    • Прочие аттрибуты msdata, которые ссылаются на предметы, не поддерживаемые Visual FoxPro, такие как msdata:Locale или msdata:Comment

Смотрите также

Справочное руководство

Visual FoxPro и разметка типов данных схемы XML

Концепции

XML данные в Visual FoxPro
Преобразования между XML и данными Visual FoxPro

Прочие ресурсы

Импорт и экспорт данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Upsizing Visual FoxPro Databases

Visual FoxPro 9.0
Масштабирование Баз Данных Visual FoxPro

После того как вы разработали локальный вариант вашего Приложения типа Клиент-Сервер, вы можете приступать к этапу Масштабирования (или Наращивания) - UpSize вашего Локального Прототипа. Обычно локальные прототипы основаны на стандартных Таблицах Microsoft Visual FoxPro, Представлениях, и других Базах Данных, которые всецело иллюстрируют основные функциональные особенности обработки данных в вашем Приложении, и должны быть повторены или проецированны на Удаленный Сервер. Рекомендуется использовать системный Мастер масштабирования (UpSizing Wizard) для переноса локальных Баз Данных, свободных Таблиц и Представлений на удаленную систему, построенную на основе Microsoft SQL Server.

В данном Параграфе

Основные Цели создания Прототипов

При использовании рассматриваемой системы разработки Microsoft Visual FoxPro в качестве базовой для быстрого построения прототипа будущего Приложения Клиент-Сервер, в вышем распоряжении имеется разнообразный инструментарий построения основ Пользовательского интерфейса и начальной обработки данных: Дизайнеры, Построители, Мастера, диспетчер Проектов, с помощью которого быстро Компануется независимое самостоятельное Приложение.

Как: Построить Локальный Прототип будущего Приложения

После подготовки и построения функционального локального Прототипа вашего Приложения вы можете переходить к следующему этапу развития вашего Приложения - преобразования его в вариант "Клиент-Сервер".

Создание Базы Данных с помощью Мастера Масштабирования

Рассматриваются ключевые вопросы использования системного мастера масштабирования Visual FoxPro SQL Server Upsizing Wizard, который обеспечивает выполнение таких операций, как создание удаленных Баз Данных типа SQL Server на основе локально созданных Баз Данных в йформате обычных Таблиц Microsoft Visual FoxPro.

Связанные Разделы

Разработка Приложений Visual FoxPro

В данном разделе приводятся основополагающие моменты по разработке Приложений с помощью системы Visual FoxPro, обсуждаются ключевые вопросы создания Баз Данных, проектирования Пользовательского Интерфейса, решения различных Задач с помощью Приложений Visual FoxPro.

Работа с Данными

Обсуждается, как создавать и использовать Базы Данных; как эффективно обрабатывать и использовать Объекты Баз Данных; как создавать Запросы и Представления; как Импортировать и Экспортировать Данные; как создавать многопользовательскую среду обработки данных; как использовать возможности провайдера OLE DB.

Создание Приложений

Рассматриваются основополагающие вопросы проектирования и разработки Приложений Visual FoxPro, обрабатывающих одну или несколько Баз Данных; как определять головную программу Приложения; как настраивать параметры Среды Приложения, как использовать Формы, инструменты ToolBar, подсистемы Меню и другие Компоненты.

Создание Приложений с помощью архитектурных решений типа "Framework"

Рассматриваются ключевые вопросы создания Приложений при использовании Application Framework, или Мастера Приложения, или Построителя Приложения (Application builder).

Вопросы Оптимизации выполнения приложений Клиент-Сервер

Рассматриваются вопросы Тонкой настройки вашего Приложения в целях значительного повышения происводительности обработки данных.

Создание Многоязычных (международных) Прниложений

Рассматриваются вопросы проектирования и разработки приложений Visual FoxPro, которые обладают свойствами быстрого переключения на несколько языков (обладающие характеристика многоязычности).

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Goals for Prototyping

Visual FoxPro 9.0
Цели Макетирования (Prototyping)
Смотрите Также

Когда вы используете систему Visual FoxPro для построения Прототипа (Макета) вашего Приложения, в вашем распоряжении имеется широкий спектр функциональных инструментов: Формы, Мастера, Построители, Дизайнеры, Диспетчер Проектов, которые обеспечивают быструю и эффективную разработку рабочего варианта Приложения. В том случае, когда вы планируете использовать полученное Приложение на платформе типа Клиент-Сервер, вы получаете уже готовый Прототип Приложения, который может являться Фундаментом окончательного полнофункционального Приложения.

Уменьшение Времени Разработки

При создании Локального Прототипа вашего Приложнения, вы можете быстро и просто создать базовую Архитектуру обработки Данных, при этом нет необходимости иметь доступ к реальным данным, размещенным на удаленном Сервере. В условиях работы с Прототипом вы можете выполнить Отладку и Тестирование всех компонент Приложения, уточнить с Заказчиком все спецификации Пользовательского Интерфейса, быстро выполнить необходимые исправления, при этом время на загрузку удаленных Данных не требуется, все внимание сосредотачивается на функциональных операциях Приложения. Поскольку вами используется Прототип архитектуры Базы Данных, вы экономите время на разработку соответствующих механизмов управления Базой Данных, создания Таблиц, индексирования Удаленных Источников Данных, которые соответствуют друг-другу.

Ускорение Разработки улучшает качество выполнения Требований Заказчика

Поскольку Локальный Прототип Приложения размещается на локальной Рабочей Станции, вы можете продемонстрнировать вашему Заказчику на самых ранних стадиях цикла Разработки Приложения все основные его особенности, пользовательский Интерфейс. Возможность раннего знакомства с начальными вариантами Приложения значительно повышает ваши шансы, увеличивает доверие Заказчика, что вы действительно способны создавать работающее Приложение, удовлетворяющее его Требованиям. Вместе с тем, перечисленные факторы помогают вам получить Обратную Связь от Заказчика (Сообщение) о состоянии вашей Разработки, своевременно планировать ваши инвестиции по разработке окончательного варианта Приложения для Удаленного Сервера (Источника Данных).

В силу того, что Заказчик начинает взаимодействовать с прототипом Приложения, он может на самых ранних стадиях выявить неточности начальной Архитектуры Базы Данных, уточнить некоторые Спецификации, расширить функциональность компонент. Вы, со своей стороны, можете выполнить необходимые изменения в Проекте Приложения, повторно продемонстрировать последний вариант Прототипа, и так далее, до тех пор, пока не будут удрвлетворены все Требования Заказчика. В последствии, полученный Прототип, Макет вашего Приложения может служить окончательной Спецификацией создаваемого Приложения на платформе Клиент-Сервер.

Содействие Успешной Реализации Проекта

Используя Локальный Прототип Приложения, передав его конечному пользователю Заказчика, вы предоставляете ему широкие возможности по выполнению процессов Тестирования, проведения экспериментальных испытаний, Пользователь знакомится с особенностями Интерфейса, что значительно повышает надежность технологических процедур вашего Приложения. В последствии данный Пользователь становится наилучшим Партнером по разработке данного Приложения. Рассматриваемый вариант взаимодействия Пользователя с Прототипом Приложения позволяет сосредоточить основные усилия на последующих этапах разработки, когда Пользователь уже хорошо знаком с общей Архитектурой Приложения.

Наличие Работающей Локальной Модели Приложения (Макета, Прототипа) является достаточно серьезным базисом для долговременных продуктивных взаимоотношений вас указанным с Заказчиком. Отработанный Пользовательский Интерфейс может являться базовым для нескольких Приложений, разрабатываемых для Заказчика. Локальный Прототип может быть использован в процессах обучения новых Пользователей, выявлению узких мест в Прототипе вашего Приложения. В последствии, Подготовленные Пользователи будут успешно работать на окончательном варианте Приложения, созданного для платформы типа Клиент-Сервер.

См. также

Задачи

Как: Построить локальный Прототип (Макет) Приложения

Концепции

Создание Базы Данных с помощью Мастера Масштабирования (наращивания)
Подготовительные процедуры для работы Мастера масштабирования: SQL Server Upsizing

Другие ссылки

Масштабирование (UpSizing) Баз Данных Visual FoxPro

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


How to: Build a Local Prototype of an Application

Visual FoxPro 9.0
Как: построить локальный прототип приложения
Смотрите также

Когда вы строите локальный прототип вашего приложения, вы можете начать черновой прикладной программы или вы можете сконвертировать существующее приложение Visual FoxPro в клиент-серверное приложение. Первичный различием между построением локального прототипа клиент-серверного приложения и разработкой любого другого приложения Visual FoxPro заключается в использовании локальных представлений и таблиц для представления данных, которые могут быть в конечном счете повышены до уровня серверных.

Для построения и повышения локального прототипа до уровня клиент-серверного

  1. Создайте ваше приложение используя локальные представления и таблицы для представления данных, которые вы желаете переместить на удаленный сервер.

  2. Используйте локальные представления в окружении данных вашего приложения для форм и отчетов.

  3. Повысьте уровень локальных представлений и таблиц с помощью Мастера SQL Server Upsizing:

    • На шаге Set Upsizing Options, в области Changes to make locally, выберите Redirect views to remote data.

      Когда вы выберите эту опцию, Мастер Upsizing скопирует локальные таблицы, которые вы выбрали для удаленного сервера и перенаправит локальные представления для использования данных с удаленного сервера, когда это возможно сделать.

Для получения более подробной информации смотрите Работа с представлениями (Visual FoxPro) и Создание форм.

Смотрите также

Концепции

Задачи для создания прототипов
Создание баз данных с мастером повышения уровна
Подготовка мастера SQL Server Upsizing

Other Resources

Повышение уровня баз данных Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Database Creation with Upsizing Wizards

Visual FoxPro 9.0
Создание Баз Данных с помощью Мастеров Масштабирования (Наращивания)

Система Visual FoxPro имеет в своем распоряжении Мастер масштабирования SQL Server, который создает соответствующую Базу Данных SQL Server,которая дублирует на указанном Сервере все необходимые функции вашей Локальной Базы Данных VFP. Кроме указанного дублирования вы можете также создавать и переопределять Представления Visual FoxPro; с помощью инструментария Мастера Масштабирования вы можете:

  • Перенести Локальные данные на удаленный Сервер.

  • Преобразовать базу данных локальных таблиц в соответствующую удаленную Базу данных вместе с удаленными Представлениями.

  • Выполнить Миграцию вашего локального Приложения - в приложение класса Клиент-Сервер.

    Note Примечание

    Рассматриваемый Мастер Масштабирования ориентирован на использование SQL Server, однако вы можете проектировать приложение класса Клиент-Сервер для других удаленных Источников Данных с помощью механизмов Доступа ODBC. Для работы с удаленным сервером SQL Server вы можете использовать достаточно эффективные механизмы Функций Сквозных Запросов (SQL Pass-Through Functions), с помощью которых создаются удаленные Таблицы, удаленные Представления, хранимые Процндуры. Дополнительную информацию по использованию указанных функций SQL смотрите в разделе: Расширение Приложений при использовании Технологии Функций Сквозных Запросов (SQL). Информацию по созданию удаленных Представлений смотрите в разделе: Как: Создавать удаленные Представления.

В данном Параграфе

Подготовка к работе Мастера Масштабирования SQL Server Upsizing

Рассматриваются вопросы выполнения необходимых предварительных Операций на стороне Клиента и на стороне Сервера для успешного выполнения переноса Локальной Базы Данных с помощью Мастера Масштабирования (SQL Server Upsizing Wizard).

Как: Запустить на выполнение Мастер Масштабирования SQL Server Upsizing

Приводятся конкретные инструкции и рекомендации по выполнению Мастера масштабирования SQL Server Upsizing.

Как работает Мастер масштабирования SQL Server

Объясняется, как работает Мастер SQL Server Upsizing, как локальные Базы данных Visual FoxPro переносятся (масштабируются) в удаленные Базы Данных SQL Server (практически прозрачно).

Отображение локальных Баз Данных Visual FoxPro в Базы Данных SQL Server

Объясняется, как выполняется Отображение Баз Данных Visual FoxPro и соответствующих Баз Данных SQL Server.

Завершающий Этап работы мастера масштабирования SQL Server Upsizing

Рассматриваются ключевые вопросы, которые необходимо учесть Разработчику после выполнения процесса Масштабирования; какие меры необходимо предпринять для обеспечения целостности и правильного преобразования данных.

Связанные разделы

Как: Построить локальный Прототип Приложения VFP

Объясняется, как создать локальный Прототип Приложения, использующий локальные Представления и локальные Таблицы, чтобы протестировать все необходимые механизмы обработки Данных на удаленном Сервере.

Масштабирование (наращивание) Баз Данных Visual FoxPro

Приводятся ссылки на ключевые разделы данной Справки, в которых рассматриваются вопросы Масштабирования локальных Баз Данных Visual FoxPro в соответствующие удаленные Базы Данных SQL Server.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


SQL Server Upsizing Wizard Preparation

Visual FoxPro 9.0
Подготовка к работе Мастера Масштабирования SQL Server Upsizing
Смотрите Также

Перед тем как выполнить задачи Мастера Масштабирования SQL Server Upsizing, вам необходимо проверить готовность как Клиентской так и Серверной частей рассматриваемой Схемы масштабирования.

Подготовка на стороне Сервера SQL

Перед выполнением Масштабирования, вы должны проверить достаточность ваших прав на стороне Сервера, оценить размеры локального прототипа Базы Данных, размеры создаваемой удаленной Базы Данных, достаточность физического дискового пространства. Существуют специальные методики оценки Дисковых массивов и Устройств, используемых под Хранилище Данных, которые используются в мастере масштабирования.

Контроль свободного дискового пространства

Убедитесь в том, что у вас есть достаточный объем дискового пространства в Сервере.

Caution note Предупреждение

Если в процессе работы мастера масштабирования SQL Server Upsizing возникает ситуация недостаточности дискового пространства на Сервере, мастер выполняет корректный Откат частично созданной Базы Данных, удаление созданных Устройств и дисковых массивов. Полное удаление дисковых массивов может быть выполнено с помощью системного инструментария Администратора SQL Server.

Установка требуемых разрешений для Баз Данных SQL Server

Для успешной работы Мастера Масштабирования SQL Server Upsizing, вы должны иметь определенные Права для SQL Server, которые допускают осуществление функций Масштабирования. Однако, запрашиваемые полномочия зависят от начальных Задач Масштабирования.

  • Для масштабирования существующей Базы Данных, вам требуются права для выполнения команд Сервера CREATE TABLE и CREATE DEFAULT .

  • Для создания новой Базы Данных, вам требуются права для выполнения команд CREATE DATABASE и SELECT, которая обращается к системным таблицам Базы Данных Master.

  • Для создания новых Устройств Хранилищ Данных, вам требуются права Системного Администратора.

Дополнительную информацию о необходимых Разрешениях (Правах) смотрите системную документацию SQL Server.

Оценка размеров Базы Данных SQL Server и размеров Устройств хранилищ данных

Когда вы создаете новую Базу данных, мастер Масштабирования SQL Server Upsizing запрашивает выбор системных устройств для хранения Данных и Журналов. Также уточняется будущее местоположение создаваемых Баз Данных и системных Журналов.

Оценка Размеров Базы Данных SQL Server

Когда система SQL Server создает Базу Данных, выполняется оценка размещения реальных Данных на одном или нескольких Устройствах. В начальный момент не все дисковое пространство используется под Данные — выполняется резервирование под новые Данные, которые еще не размещены в Базе Данных.

Note Обратите Внимание

Вы можете увеличить размер Базы Данных SQL Server после ее создания. Дополнительную информацию смотрите в системной документации, команда: ALTER DATABASE.

Для простейшего расчета (оценки) требуемого дискового пространства, размечаемого для создаваемой Базы Днных: сначала вычисляется общий размер всех Таблиц системы Visual FoxPro (.dbf), с учетом дальнейшего наполнения указанных Таблиц. В общих чертах, каждый Мегабайт таблиц Visual FoxPro прецируется на 1.3 - 1.5 MB дискового пространства сервера SQL.

Если вы располагаете достаточным дисковым пространством на Сервере, то можно общий размер локальных Таблиц умножить на 2 (или просто удвоить). По приведенной схеме работает мастер Масштабирования SQL Server Upsizing, в тот момент, когда выполняется Оценка требуемого дискового пространства для создаваемой Базы Данных. При этом еще резервируется некоторое пространство - для случаев непредсказуемого увеличения Базы Данных.

Оценка Размеров Устройств (хранилищ) Сервера SQL

Все Базы Данных сервера SQL и соответствующие Журналы Транзакций размещаются на Устройствах Сервера (Device). Устройство является некоторой условной величиной, которая содержит обе компоненты: и Базу Данных и Протокол Трагнзакций; физически Устройство представляет из себя некоторый Файл Операционной Системы. Когда создается Устройство сервера SQL, создается соответствующий физический файл, который система использует под свои внутренние операции.

В том случае, когда Сервером SQL используется несколько дисковых Устройств, то мастер Масштабирования отображает всю таблицу используемых устройств, занятое и свободное пространство. Вам требуется выбрать устройство, свободное пространство которого является достаточным для размещения создаваемой Базы Данных.

Если в настоящий момент отсутствуют устройства Сервера SQL, на которых может разместиться создаваемая База Данных, то вы можете создать новое устройство для размещения создаваемой Базы Данных. соответствующими функциями обладает Мастер Масштабирования SQL Server Upsizing. Размер создаваемого устройства должен быть не меньше чем проектируемый размер Базы Данных. Вы можете создать большое Устройство Хранения, на этом устройстве может размещаться несколько Баз Данных и соответствующих Протоколов Транзакций.

Обратите Внимание

Размер устройства не может быть изменен в дальнейшем. Поэтому, рекомендуется создавать Устройства самого большого размера (какой доступен).

Использование многотомных Дисков Сервера SQL или нескольких Устройств

В большинстве случаев, мастер масштабирования SQL Server Upsizing обеспечивает достаточное и гарантированное управление по распределению дискового пространства Устройств сервера SQL. Тем не менее, если ваш Сервер располагает несколькими Хранилищами или если вам требуется разместить новую Базу Данных или Журналы на нескольких Устройствах Сервера, вы можете создать требуемые новые устройства, и только после этого запустить на выполнение Мастер масштабирования.

Серверы с Многотомными физическими Дисками

Если ваш Сервер располагает несколькими Дисковыми накопителями (Устройствами Хранения Данных), то, возможно, вам потребуется размещать вашу Базу Данных на одном из Накопителей, а Журналы Транзакций (протоколы) - на других физических Дисках (наверное, в целях значительного повышения надежности вашей системы). В случае физической неисправности одного из Дисковых накопителей - вторая половина остается неповрежденной.

Мастер масштабирования SQL Server Upsizing позволяет вам создавать новые требуемые устройства только на одном физическом диске — там, где размещается системная База Данных Master.

Для размещения вашей Базы Данных и Журналов на разных дисках, вам требуется предварительно проверить возможность размещения требуемых Устройств на имеющихся дисковых накопителях, после этого - создать Устройства требуемых размеров. И только после проведения описанных операций - запустить на выполнение мастер масштабирования SQL Server Upsizing.

Размещение создаваемой Базы Данных и Журналов Транзакций на нескольких Устройствах

Сервер SQL Server допускает размещение Базы Данных и Журналов Транзакций на различных Устройствах. Однако, мастер масштабирования допускает размещение Базы Данных только на одном устройстве Хранения, в Журнала Транзакций - на другом , и только одном устройстве хранения данных.

Если вы хотите выполнить размещение базы данных и журналов на разных устройствах, то рекомендуется не объявлять данные устройства как устройства "по-умолчанию". При работе мастера масштабирования SQL Server Upsizing для создаваемой базы данных или журнала транзакций определить выбранное устройство как Default.

Note Обратите Внимание

Если новая База Данных сервера SQL или Журнал Транзакций не требуют использования всех текущих Устройств Сервера, то сервер SQL использует только Устройство с Достаточным свободным дисковым пространством.

Подготовка на Стороне Клиента

Перед началом выполнения процесса Масштабирования, вам необходимо получить реальный доступ к Серверу SQL, для этого можно использовать либо определения Источника Данных ODBC (Data Source) или именованное Соединение (параметры которого сохраняются в локальном прототипе Базы Данных). Указанная База Данных должна быть Открыта, для которой планируется выполнение мастера Масштабирования SQL Server Upsizing.

Создание Источника Данных ODBC или Именованного Соединения

Для выполнения задач по масштабированию локального прототипа на удаленную Базу Данных, вам необходимо сначала выбрать Источник Данных ODBC или именованное Соединение, которое создается в рассматриваемой Базе Данных Visual FoxPro, которая планируется для переноса на Сервер SQL. Поэтому, перед запуском мастера масштабирования (Upsizing Wizard) сначала требуется создать именованное Соединение или определить Удаленный Источник Данных (ODBC) с помощью системных средств Администрирования Операционной Системы.

Дополнительную информацию по созданию именованного соединения смотрите в разделе: Как: Определить Соединение с Удаленным Источником Данных. Если вы планируете использовать Источник Данных ODBC, то рекомендуется открыть Администратор источников ODBC. Дополнительную информацию по созданию Источников Данных ODBC смотрите в разделе: Как: Определить Источник Данных ODBC.

Резервное Копирование ваших Баз Данных

Создание Резервных копий Локальных Таблиц прототипа Базы Данных - является хорошим подспорьем перед выполнением задач Масштабирования. При работе мастера масштабирования SQL Server Upsizing могут быть выполнены некоторые операции переименования некоторых Объектов Базы Данных, например локальных Представлений или создание новых удаленных Представлений. Если вы располагаете Резервной копией локальной Базы Данных, то вы можете выполнить Откат уже выполненных этапов Масштабирования, просто восстановить резервную Копию локальной Базы Данных. И попытаетесь повторно выполнить Масштабирование.

Закрытие Таблиц

При работе мастера масштабирования SQL Server Upsizing выполняются попытки монопольного открытия локальных Таблиц Базы Данных, для которой выполняется масштабирование; если некоторая таблица уже открыта в режиме коллективного доступа, то рассматриваемый Мастер пытается переоткрыть эту таблицу в монопольном режиме. Выполнение описанных операций обеспечивает блокировку работы остальных пользователей, что сказывается на целостности данных и производительности выполнения процессов Масштабирования. Если мастеру не удается открыть исходные таблицы в монопошльном режиме, то выдается соответствующее Сообщение, в котором указаывается, что да данных Таблиц не может быть выполнен процесс Масштабирования.

См. также

Задачи

Как: Запустить на выполнение Мастер Масштабирования SQL Server Upsizing

Концепции

Создание удаленных Баз Данных с помощью Мастера Масштабирования
Как работает мастер масштабирования SQL Server Upsizing
Завершение работы Мастера Масштабирования SQL Server Upsizing
Основные Цели создания Прототипов

Другие ссылки

Масштабирование Баз Данных Visual FoxPro

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Start the SQL Server Upsizing Wizard

Visual FoxPro 9.0
Как: Запустить Мастер масштабирования SQL Server
См. также

После того, как вы определили удаленный источник данных ODBC data source и выполнили все необходимые настройки Клиента и Сервера, вы готовы выполнить процесс масштабирования Базы Данных (переноса базы данных на удаленный сервер, например MS SQL-Server).

Для запуска Мастера масштабирования SQL Server

  1. Из меню Tools, выберите пункт Wizards, а там - пункт Upsizing.

  2. В соответствующем диалогом боксе Wizard Selection, выберите SQL Server Upsizing Wizard.

  3. Далее, следуйте сценарию диалога, предложенного данным Мастером:

    Вы можете в любой момент прервать работу Мастера, по клавише Cancel; данный мастер не начинает выполнение процесса масштабирования, пока не нажата кнопка Finish.

  4. Когда выполнены все настройки параметров масштабирования, нажмите кнопку Finish.

После этого, Мастер масштабирования SQL Server начинает процесс Экспорта (Загрузки) локальноый базы данных на заданный сервер.

Указанная кнопка Finish - является недоступной до тех пор, пока не определены все необходимые параметры масштабирования. Если вы нажмете кнопку Finish до определения всех параметров масштабирования, то указанный мастер использует значения параметров "по-умолчанию".

См. также

Концепции

Создание Базы Данных с помощью Мастера масштабирования
Подготовка Мастера масштабирования SQL Server
Как работает Мастер масштабирования SQL Server
Завершение процесса масштабирования SQL Server

Другие ссылки

Масштабирование Баз Данных Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How the SQL Server Upsizing Wizard Works

Visual FoxPro 9.0
Как работает мастер переноса баз данных SQL Server Upsizing
Смотрите также

Мастер переноса баз данных на SQL сервер - SQL Server Upsizing Wizard - легко и почти прозрачно переносит базы данных Visual FoxPro на SQL сервер.

SQL Server Upsizing Wizard экспортирует данные с помощью одного из двух методов:

  • Создает хранимую процедуру, которая производит вставку множества строк.

  • Создает предложение SQL INSERT для каждой строки в таблице и затем исполняет его.

Создание хранимой процедуры может быть очень быстрым, поскольку хранимая процедура предварительно компилируется и быстро исполняется. Однако, хранимые процедуры не могут принимать бинарные переменные разной длины в качестве параметров.

Если вы экспортируете данные, которые желаете хранить в таблицах SQL сервера и использовать типы данных "text" или "image" или таблицы более чем с 250-ю полями , то SQL Server Upsizing Wizard создаст предложение SQL INSERT для каждой строки в таблице и затем исполнит его. Если мастер SQL Server Upsizing Wizard встретит любые ошибки, а их число превысит 10 процентов числа записей в таблице или 100 записей, в зависимости от того, что больше, то местар прекратит экспорт таблицы и сохранит число ошибок экпорта в отчете об ошибках. Однако, серверная таблица, в которую производился экспорт, не будет уничтожена и любые успешно экспортированные записи останутся в серверной таблице.

Файлы создаваемые мастером SQL Server Upsizing Wizard

Мастер SQL Server Upsizing Wizard во время процесса переноса создает таблицы для собственных нужд. Эти файлы удаляются диска до указанных событий, за исключением следующих случаев:

  • Вы выбрали создание отчета о переносе.

  • Вы желаете сохранить сгенерированные SQL предложения.

  • Во время переноса произошли ошибки и вы выбрали опцию сохранения информации об ошибках.

Если любое из перечисленных выше условий верно, мастер SQL Server Upsizing Wizard создает проекты с именами Report, Report1, Report2 и так далее, базы данных с именами Upsize, Upsize1 и так далее - в субкаталоге с именем UPSIZE в каталоге, определенном командой SET DEFAULT для вашей сесси Visual FoxPro. Мастер добавляет таблицу базы данных для производства отчета от переносе, таблицу для хранения сгенерированных SQL предложений и таблицу любых ошибок.

В приведенной ниже таблице перечислены файлы таблиц, которые потенциально могут быть созданы в процессе переноса.

Имя таблицы | Содержание | Назначение
Errors_uw | Информация о любой ошибке, случивщейся во время переноса. | Таблица отчета
Fields_uw | Информация о всех перенесенных таблицах. | Таблица отчета
Indexes_uw | Информация о всех перенесенных индексах. | Таблица отчета
Misc_uw | Различная информация о переносе. | Таблица отчета
Relations_uw | Информация о всех ограничениях ссылочной целостности, хранимая в базе данных Visual FoxPro. | Таблица отчета
Tables_uw | Информация о всех таблицах базы данных, которые вы выбрали для переноса. | Таблица отчета
Views_uw | Информация о локальных представлениях, перенаправленных для обращения к удаленным данным. | Таблица отчета
SQL_uw | Одно мемо-поле, содержащее все коды SQL, сгенерированные мастером SQL Server Upsizing Wizard. | Таблица скриптов
ExportErrors_table_name | Мастер SQL Server Upsizing Wizard генерирует таблицу, содержащую записи, которые он не смог экспортировать, для каждой таблицы, при экспорте которой возникли ошибки во время переноса. | Таблица ошибок экспорта данных
Note Замечание

Если мастер был преван во время процесса переноса или если мастер остановился из-за ошибки, то на вашем жестком диске указанных таблиц не останется.

Note Совет

Таблица скриптов хранящаяся на вашем жестком диске содержит все коды SQL, сгенерированные мастером, независимо от того, были ошибки на сервере или нет. Если вы желаете использовать этот код в дальнейшем, лучше всего просмотреть его целиком, скопировать части, если вы желаете их использовать, запустить скопированный код и повторять процесс до получения желаемого результата. Вы не можете запустить SQL скрипт целиком в качестве замещения мастера SQL Server Upsizing Wizard, так как мастер выполняет дополнительные шаги, которые не отражены в сгенерированном коде SQL.

Смотрите также

Задачи

Как: запустить мастер переноса - SQL Server Upsizing Wizard

Концепции

Завершение процесса переноса баз данных на SQL сервер
Созданние базы данных с помощью мастеров переноса

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Mapping Visual FoxPro Databases to SQL Server Databases

Масштабирование Базы Данных Visual FoxPro в Базу Данных SQL Server
См. Также

В представленных далее разделах приводится основополагающая Информация о Преобразовании (масштабировании) Базы Данных Visual FoxPro в Базу Данных SQL Server:

Масштабирование Объектов (преобразование, отображение)

Базы Данных Visual FoxPro могут быть непосредственно преобразованы (отображены), или Масштабированы в соответствующие Базы Данных SQL Server. При выполнении данного процесса преобразования с использование Мастера Масштабирования SQL Server Upsizing, создаются аналогичные Объекты Сервера SQL, которые имеют требуемую функциональность начальных Объектов Локальных Баз Данных Visual FoxPro.

Преобразование Объектов Базы Данных Visual FoxPro в соответствующие Объекты Сервера SQL достаточно ясная и прозрачная процедура. Объекты Visual FoxPro: Таблицы, их Поля, Индексы, Правила Контроля, Стандартные значения масштабируются "один-к-одному" в базовые объекты Сервера SQL. Выбранные Таблицы VFP - преобразуются в Таблицы SQL, за исключением самого Словаря Данных, контейнера .DBC

Однако, не все локальные объекты напрямую масштабируются в объекты сервера SQL. Правила Контроля и Мехзанизмы обеспечение ссылочной целостности данных в системе Visual FoxPro являются составными частями Контейнера .DBC, их функциональность реализуется на уровне самой системы VFP. Указанные Объекты SQL Server не являются составными частями Словаря Данных (Контейнера) и их функциональность обеспечивается на уровне программного кода самих Таблиц. Указанные принципиальные отличия и существующие проектные решения рассматриваемого Мастера Масштабирования SQL Server Upsizing не позволяют напрямую преобразовать абсолютно все Объекты Контейнера базы данных Visual FoxPro - в соответствующие конструкции SQL Server.

В следующем Списке представлены Объекты и правила их Масштабирования Visual FoxPro -->> SQL Server.

Объекты Visual FoxPro | Соответствующие Объекты SQL Server
Database | Database
Table | Table
Indexes | Indexes
Field | Field
Default | Default
Правила проверки объекта Table | Хранимые процедуры SQL Server, вызываемые из соответствующих Триггеров UPDATE, INSERT
Правила проверки Объекта Field | Хранимые процедуры SQL Server, вызываемые из соответствующих Триггеров UPDATE, INSERT
Постоянные Отношени (Persistent relationships) (Когда используется Требование Ссылочной Целостности Данных (Referential Integrity Constraints)) | Соответствующие Триггеры Update, Insert, Delete, или ограничения для Таблиц

Соглашения по Наименованию масштабируемых Объектов

В условиях Миграции объектов Данных на удаленный Источник (Сервер), мастер SQL Server Upsizing создает уникальные имена указанных объектов на сервере. Для создания новых имен объектов Мастер использует Префиксы (приставки), например, для новых объектов типа Defaults или Rules, которые не существуют в локальных Базах Данных Visual FoxPro. Сначала указывается Имя Таблицы, далее следует Имя Поля, согласно правилу Префикса. Подобное соглашение по наименованию всех Объектов в удаленной Базе Данных позволяет применять стандартные средства сортировки и администрирования системных компонент Сервера. Создаваемые объекты группируются в той же последовательности, как они размещались в Контейнере локальной БД.

Note Обратите Внимание

Если в процессе Масштабирования нарушается описанное выше Правило (соглашение) Именования объектов SQL Server, то имена Базы данных, таблиц, индексов, и соответствующих Полей таблиц могут быть изменены. Имя объекта в SQL Server может иметь не более 30 символов, первым символом имени объекта может быть либо алфавитный символ (не цифра), или символ "@". Остальными символами Имени объекта могут быть: числа, символы, или специальные знаки "$", "#", "_"; пробел Недопустим. Мастер SQL Server Upsizing заменяет все недопустимые символы одним символом подчеркивания "_". Если встречается имя, совпадающее с зарезервированным Словом SQL Server, то к данному имени добавляется Суффикс "_". Например, FROM / GROUP - преобразуются в FROM_ / GROUP_. Если Имя объекта начинается с Цифры, то мастер масштабирования помещает перед ним приставку в виде "_".

Мастер масштабирования SQL Server Upsizing создает удаленные Таблицы с соответствующими Именами, если имена локальных таблиц не содержат пробелов или зарезервированных слов удаленного источника (Сервера).

Для Имен Полей таблиц действуют аналогичные ограничения; мастер масштабирования выполняет преобразования типов данных каждого Поля в соответствующие Типы Данных SQL Server.

В следующей Таблице показаны соответствия Типов Данных Visual FoxPro и типов данных SQL Server.

Обозначение | Тип данных Visual FoxPro | Соответствующий Тип Данных SQL Server
C | Character | char
Y | Currency | money
D | Date | datetime
T | DateTime | datetime
B | Double | float
F | Float | float
G | General | image
I | Integer | int
L | Logical | bit
M | Memo | text
M (Binary) | Memo (Binary) | image
C (Binary) | Character (Binary) | binary
N | Numeric | float

Столбец "штамп времени" (TimeStamp) создается на основании соответствующего типы данных Transact-SQL - TimeStamp. Когда вы устанавливаете режим масштабирования локальных таблиц: Timestamp, на 4-ом этапе работы Мастера масштабирования, то для каждой экспортируемой таблицы создается дополнительный столбец (Поле) с именем timestamp, одноименного типа данных.

Примечание Переводчика: данный столбец используется в режимах Обновления данных, выполнения команд SQL UPDATE. Смотрите дополнительно описание секции WhereType для функции CursorGetProp(), значение параметра (4): DB_KEYANDTIMESTAMP (из FOXPRO.H).

Если локальная Таблица содержит одно или несколько полей типа memo (M) или picture (P), тогда Мастер Масштабирования SQL Server Upsizing автоматически устанавливает рассматриваемый режим преобразования Timestamp, и соответствующий столбец добавляется к указанным таблицам. Для Таблиц, содержащих описанные типы Полей, описанный выше режим Обновления данных является наболее предпочтительным.

Уникальный, идентификационный столбец в удаленных Таблицах создается при использовании типа данных: Transact-SQL IDENTITY.

Масштабирование Представлений (Views)

Если вы выбираете режим масштабирования Create Remote Views On Tables (Создание удаленных Представлений для Таблиц), то мастер масштабирования SQL Server Upsizing создает соответствующие Удаленные Представления, которые обладают многими свойствами локальных Таблиц.

Масштабирование SQL Server Defaults (стандартных значений, по-умолчанию)

Выражения "по-умолчанию" для полей локальных Таблиц Visual FoxPro напрямую масштабируются в соответствующие объекты SQL Server Default. Мастер масштабирования SQL Server Upsizing пытается создать для каждого поля соответствующее Правило формирования начального значения Поля таблицы, объект SQL Server Default. Если указанный Объект создается, то Мастер выполняет привязку его к соответствующему Полю SQL Server. В соответствующем Отчете о ходе процесса масштабирования выполняется запись об описанной выше процедуре создания требуемого Объекта SQL Server Transact-SQL. Смотрите дополнительно подраздел: Отображение Выражений.

В основном, для систем SQL Server и Visual FoxPro, правила Default являются аналогичными; однако, существуют некоторые различия по реализации Значений по-умолчанию для Полей Таблиц. В системе SQL Server Default - являются внутренними, встроенными Объектами, которые не зависят от конкретной Таблицы, или Поля. Как только указанный объект Default - создан, он сразу может быть использован в других полях, или связанных объектах.

Однако, Логические поля Visual FoxPro могут иметь значения = null, система SQL Server не допускает такой вольности. Для разрешения описанного противоречия, мастер масштабирования SQL Server Upsizing автоматически создает для таких случаев Объект Default, называемый "UW ZeroDefault", данное правило работает для всех указанных Полей. В этом случае, если логическое поле не содержит значения, то есть = NULL, подразумевается False (.F.) в Visual FoxPro, то в масштабируемом Поле устанавливается значение = 0.

Если для рассмотренного выше случая Логического Поля Visual FoxPro, его значение = True (.T.), мастер масштабирования SQL Server Upsizing не выполняет привязку Правила UW_ZeroDefault для рассматриваемой Таблицы. Вместо этого, мастер создает объект Default, который устанавливает значение для Поля удаленной Таблицы, = 1; правила наименования этого объекта описаны в следующем Пункте.

Note Обратите Внимание

Поведение объектов SQL Server Defaults отличается от выполнение внутренних правил "по-умолчанию" в Visual FoxPro.

Соглашения по Наименованию Объектов Defaults

Мастер масштабирования SQL Server Upsizing для Именования объектов Defaults использует префикс "Dflt_", далее следует Имя Таблицы и Имя Поля. Например, объект Default для поля "Сумма Ордера" (OrderAmmaunt), в таблице Customer будет назван на удаленном Сервере как "Dflt_Customer_Ordamt".

Note Обратите Внимание

Если комбинация префикса, имен таблицы и поля будет превышать 30 символов (вместе с разделителями), система Visual FoxPro удаляет незначащие символы (до 30 символов).

Поля таблицы, для которых не задано Значение "по-умолчанию", после масштабирования связываются с правилом Default "UW ZeroDefault". Если два или более Поля таблицы имеют одинаковые правила формирования значений по-умолчанию, мастер масштабирования SQL Server Upsizing создает два независимых Defaults, с разными Именами, хотя функционально они одинаковы.

Преобразование Индексов

Индексы в системах SQL Server и Visual FoxPro - очень похожи. В следующем Списке представлены правила Преобразования для Индексов.

Тип Индекса (Ключа) Visual FoxPro | Тип Индекса (Ключа) SQL Server
Primary | Clustered Unique
Candidate | Unique
Unique Regular | Non-unique

Мастер масштабирования SQL Server Upsizing для создания имен Индексов Сервера использует имена соответствующих Тэгов Visual FoxPro. Если имя Тэга содержит зарезервированное Слово Сервера, то по правилу формирования Имен, добавляется суффикс "_".

Note Примечание

SQL Server не поддерживает свойства Индексов Ascending / Descending, а также Вычисляемых выражений в индексах. Мастер SQL Server Upsizing исключает указанные свойства индексов Visual FoxPro, или некоторые Тэги из процесса масштабирования; допустимыми являются только канонические имена Полей Таблицы.

Масштабирование Триггеров (Triggers)

Триггер SQL Server представляет собой последовательность операторов Transact-SQL, относящихся к конкретной Талице Сервера. Когда вы выбираете, на Этапе 8, Режим масштабирования Правил Контроля или Ссылочной целостности, мастер SQL Server Upsizing конвертирует имеющиеся в локальной Базе Данных Правила уровня Поля и уровня Записи, а также Постоянные Отношения между Таблицами в создаваемые Хранимые Процедуры, которые вызываются из описываемых Триггеров SQL Server. Каждый из описываемых Триггеров функционально соответствует требуемым Правилам Контроля данных и поддержки Ссылочной Целостности Таблиц Сервера.

Note Обратите внимание

Мастер масштабирования SQL Server Upsizing не выполняет Экспортирование локальных Триггеров Visual FoxPro.

Каждая таблица Сервера может иметь Три Триггера, по одному для каждой базовой операции SQL: UPDATE, INSERT, DELETE. Данные триггеры выполняются автоматически при выполнении соответствующей команды SQL.

Далее, в Таблице, описываются создаваемые Мастером Масштабирования Триггеры SQL Server, которые реалюзуют соответствующий функционал объектов Visual FoxPro.

Триггер (Trigger) | Соответствующая эмуляция в Visual FoxPro
UPDATE | Правила Контроля (проверка на уровне Поля или Записи) ссылочной Целостности (Referential integrity)
INSERT | Правила Контроля (проверка на уровне Поля или Записи) Referential integrity (только триггеров дочерней Таблицы)
DELETE (только для родительской Таблицы) | Контроль Ссылочной Целостости (Referential integrity)

Соглашения по наименованию Триггеров

Мастер масштабирование SQL Server Upsizing использует следующее Правило Именования Триггеров: сначала формируется соответствующий Префикс, а далее следует имя Таблицы Сервера, к которой относится этот триггер. Например: "TrigU_" - для UPDATE, "TrigD_" - для DELETE , "TrigI_" - для INSERT. Например, триггер Обновления UPDATE для Таблицы Customer будет иметь Имя: TrigU_Customer.

Экспортирование Правил Контроля

Мастер SQL Server Upsizing может экспортировать Правила Контроля Visual FoxPro уровня Поля и уровня Записи, которые преобразуются в соответствующие хранимые процедуры (ХП=SP=stored procedure) сервера SQL. Мастер создает указанные процедуры со следующими именами: приставка (префикс) "VRF"+_(имя таблицы)+_(имя поля). Например, vrf_customer_lname. Агналогично, правило урованя Записи (таблицы): приставка (префикс) "VRT"+_(имя таблицы). Например, vrt_customer.

Мастер масштабирования SQL Server Upsizing использует Триггеры, которые вызывают соответствующие хранимые процедуры, взамен соответствующих Правил сервера SQL. Это объясняется невозможностью обрабатывать пользовательские Ошибки в указанных Правилах Сервера. Дополнительную информацию об использовании Правил Сервера SQL смотрите в технической документации, описание команды CREATE RULE.

Экспортирование Сылочной Целостности

Ваши Приложения Visual FoxPro поддерживают Ссылочную Целостность (далее = RI, Referential Integrity), основанную на базовых Триггерах SQL: UPDATE, DELETE, INSERT, проверяющих наличие постоянной связи между таблицами на уровне SQL-движка . Вы можете выбрать идин из двух вариантов реализации Требований RI (Сылочной Целостности) на уровне Сервера SQL Server:

  • Аналогичная RI, основанная на Триггерах SQL (назавем ее TRI = Trigger-based RI).

  • Декларативная RI (Declarative Referential Integrity = DRI).

Когда вы используете вариант TRI, мастер SQL Server Upsizing создает требуемые Триггеры, содержащие команды Transact-SQL, реализующие ограничения RI Visual FoxPro. Если вы выбираете второй вариант реализации DRI, мастер SQL Server Upsizing создает соответствующие Ограничения SQL Server при помощи внесения изменений в структуры соответствующих Таблиц при использовании команды ALTER TABLE, при этом используется ключевая секция CONSTRAINT.

Сылочная Целостность, основанная на Триггерах (TRI)

В случае использования метода TRI, создаются требуемые Триггеры SQL Server, включающие соответствующие операторы Transact-SQL. Вы можете использовать данные Триггеры для соблюдения ограничений RI при выполнении соответствующих команд UPDATE, DELETE, INSERT, или при выполнении последовательных (каскадных = cascade) изменений таблиц при помощи операторов DELETE, INSERT.

Мастер SQL Server Upsizing создает Триггеры SQL Server, реализующие частные (локальные) триггеры Visual FoxPro, используемые обычно для обеспечения постоянных Отношений между Таблицами в Базах Данных Visual FoxPro.

Реализация Постоянных Отношений Visual FoxPro основана на ограничениях ссылочной целостности (RI) с помощью 4 (четырех) базовых Триггеров удаленного источника Данных сервера SQL Server: два триггера для Родительской Таблицы, и два триггера - для дочерней таблицы.

Note Обратите Внимание

Если только одна из двух Таблиц (из постоянного отношения) будет Масштабирована, или будет нарушено Правило Ссылочной Целостности (RI) в Visual FoxPro, тогда рассматриваемое Отношение не будет Экспортировано.

В следующем далее Списке приводятся варианты отображения Ссылочной Целостности Visual FoxPro в создаваемые Триггеры SQL Server с помощью Мастера SQL Server Upsizing.

Обеспечение Ссылочной Целостности Visual FoxPro | Триггеры SQL Server | Краткое Описание
UPDATE | Cascade (последовательный) | Каскадный Триггер UPDATE.
UPDATE | Restrict (ограниченный) | Ограниченный Триггер UPDATE.
UPDATE | Ignore (игнорируется) | Триггер не создается.
INSERT | Restrict | Ограниченный Триггер INSERT.
INSERT | Ignore | Триггер не создается.
DELETE | Cascade | Каскадный Триггер DELETE.
DELETE | Restrict | Ограниченный Триггер DELETE.
DELETE | Ignore | Триггер не создается.

Родительская Таблица (Parent Table)

Мастер SQL Server Upsizing создает соответствующий триггер UPDATE, который ограничивает (запрещает) изменение первичного ключа родительской таблицы или каскадного обновления дочерней таблицы, для различных типов Отношений (связей Таблиц), созданных в Базе Данных Visual FoxPro.

Мастер SQL Server Upsizing аналогично создает триггер DELETE, запрещающий удаление Записей в связанной дочерней таблице, что существенно зависит от типа Отношения между таблицами, созданное в Visual FoxPro.

Дочерняя Таблица (Child Table)

Мастер SQL Server Upsizing создает триггер UPDATE, который запрещает изменение индексов типа Foreign, которые обеспечивают ссылочную целостность для дочерних Записей. Аналогично, триггер INSERT создается для дочерней Таблицы, который запрещает добавление Записей в данную таблицу, без добавления Родительских Записей (другими словами: запрещается создание Сиротливых записей).

Значения пользовательских Ошибок (Custom Error Values)

При выполнении операций Мастером Масштабирования, в том случае, когда нарушаются Правила выполнения Триггеров, созданных этим мастером, могут возникать Исключительные ситуации (Ошибки), система SQL Server размещает указанные Ошибки в переменные @@ERROR . Обработка возможных Ошибок определяется мастером SQL Server Upsizing как часть программного Кода созданных Триггеров. Указанные Ошибки могут быть использованы в дальнейшем, для определения тех ситуаций, когда пользователь пытается выполнить операции SQL: Update, Insert, Delete.

В следующей таблице приводится Список номеров Ошибок, возникающих для соответствующих операций SQL.

Вывполняемая Операция | N ошибки SQL Server
Violated validation rule (Нарушение Правил Контроля) | 44444
Attempted delete (Попытка Удаления) | 44445
Attempted update (Попытка Обновления) | 44446
Attempted insert (Попытка Вставки) | 44447
При попытке выполнения операторов Update / Delete для нескольких Записей; оператор отменяется (Rolled Back) | 44448

Декларативная Ссылочная Целостность (DRI)

Если вы намерены использовать вариант Декларативной Ссылочной Целостности (DRI), то Мастер SQL Server Upsizing создает соответствующие языковые Конструкции SQL Server: команды ALTER TABLE, в которых используется секция CONSTRAINT. Для Родительской Таблицы используется конструкция, определяющая первичный ключ (индекс) PRIMARY KEY. Для Дочерней таблицы создается конструкция на основе секций FOREIGN KEY и REFERENCES. Декларативная Ссылочная Целостность поддерживается для уровней RESTRICT, RESTRICT Update, RESTRICT Delete.

В этом случае, вы можете использовать соответствующие Ограничения SQL Server, обеспечивающие необходимый уровень выполнения операций UPDATE, DELETE, INSERT, что обеспечивает Декларативную Ссылочную Целостность Данных (уровень Отношений между родительскими и дочерними Таблицами).

Отображение Выражений

Не смотря на то, что система Visual FoxPro имеет в своем распоряжении множество аналогичных функций Transact-SQL, некоторые функциональные выражения не поддерживаются в SQL Server.

В следующей Таблице представлен список системных Функций, аналогичных для систем Visual FoxPro и SQL server.

CEILING( ) | LOG( ) | LOWER( )
LTRIM( ) | RIGHT( ) | RTRIM( )
SOUNDEX( ) | SPACE( ) | STR( )
STUFF( ) | UPPER( ) |

В следующей далее Таблице описываются варианты преобразований, выполняемых Мастером SQL Server Upsizing, для Правил Контроля данных уровня Записей таблиц Visual FoxPro и Стандартных значений (default) в соответствующие конструкции Transact-SQL.

Выражение Visual FoxPro | Выражение SQL Server
True (.T.) | 1
False (.F.) | 0
# | <>
.AND. | AND
.NOT. | NOT
.NULL. | NULL
.OR. | OR
=< | <=
=> | >=
ASC( ) | ASCII( )
AT( ) | CHARINDEX( )
CDOW( ) | DATENAME(dw, ...)
CHR( ) | CHAR( )
CMONTH( ) | DATENAME(mm, ...)
CTOD( ) | CONVERT(datetime, ...)
CTOT( ) | CONVERT(datetime, ...)
DATE( ) | GETDATE( )
DATETIME( ) | GETDATE( )
DAY( ) | DATEPART(dd, ...)
DOW( ) | DATEPART(dw, ...)
DTOC( ) | CONVERT(varchar, ...)
DTOR( ) | RADIANS( )
DTOT( ) | CONVERT(datetime, ...)
HOUR( ) | DATEPART(hh, ...)
LIKE( ) | PATINDEX( )
MINUTE( ) | DATEPART(mi, ...)
MONTH( ) | DATEPART(mm, ...)
MTON( ) | CONVERT(money, ...)
NTOM( ) | CONVERT(float, ...)
RTOD( ) | DEGREES( )
SUBSTR( ) | SUBSTRING( )
TTOC( ) | CONVERT(char, ...)
TTOC( ) | CONVERT(datetime, ...)
YEAR( ) | DATEPART(yy, ...)

См. также

Задачи

Как: Стартовать Мастер SQL Server Upsizing

Концепции

Как работает Мастер SQL Server Upsizing (масштабирования Баз Данных в SQL Server)
Завершение процесса масштабирования мастером SQL Server Upsizing
Создание Базы Данных с помощью мастера Upsizing (мастера Масштабирования)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


SQL Server Upsizing Process Completion

Visual FoxPro 9.0
Завершение Процесса Масштабирования (Наращивания) Данных до системы SQL Server
Смотрите Также

В данном Разделе рассматриваются Вопросы выполнения дополнительных мероприятий как для вашего Сервера, так и для вашего Приложения FoxPro, которые обеспечат надежную и безопасную обработку Данных.

Предлагаемая информация может быть использована вами также при разработке Пользовательских Приложений, использующих отдельные Удаленные Представления (Remote Views), без полного Масштабирования Баз Данных. Вне зависимости от вариантов создания обновляемых Копий Удаленных Таблиц, вы можете создать надежные Механизмы обработки представленных Данных, в этих условиях Сервер и Приложение будут надежно работать в среде Клиент-Серверного Приложения.

Мероприятия для SQL Server.

При завершении Процесса Масштабирования локальных Баз Данных вам Требуется проверить на Сервере:

  • Возможность Редактирования Таблиц Данных с помощью системы Visual FoxPro.

  • Доступ конкретных Пользователей к Объектам Базы Данных, что обеспечивает выгрузку требуемых Данных.

  • Наличие Стандартных Инструментов для восстановления Базы Данных в условиях Аварийных Случаев, когда База Данных Разрушается или частично повреждается.

Добавление Уникальных Индексных Тэгов для надежного обновления Данных.

Для надежного обновления Удаленных Таблиц из системы Visual FoxPro эти таблицы должны иметь уникальные Индексы. Подсистема "Мастер Масштабирования Данных до SQL Server" может выполнить преобразование существующих уникальных индексных Тэгов, но не создает указанные Тэги, если они отсутствуют в локальной Базе Данных. Вам требуется проверить наличие указанных индексных Тэгов, которые обеспечивают успешную и надежную работу по Обновлению Данных в удаленных Таблицах.

Установка Разрешений (Прав или Ролей Пользователей)

Для создаваемой новой Базы Данных на сервере SQL, как и для ее Объектов назначаются Права "По-Умолчанию" системы SQL Server. Вам необходимо проверить соответствующие Разрешения (права) пользователей, которые будут выполнять в дальнейшем Обновление Данных, или будут осуществлять Выборку необходимых Данных.

Разрешения для Доступа к Базе Данных.

По-Умолчанию, для создаваемой Базы Данных устанавливаются права доступа только Системному Администратору и Владельцу (Создателю) рассматриваемой Базы Данных.

Вам требуется добавить новых Пользователей или Группы Пользователей в список Доступа к Базе Данных; обычно для этого используется подсистема: SQL Server Security Manager (Диспетчер Безопасности Сервера) или системные Хранимые процедуры sp_adduser / sp_addgroup.

Дополнительную информацию по вопросам Добавления новых Пользователей или Групп смотрите в технической Документации Диспетчера Безопасности Сервера (SQL Server Security Manager); или описание указанных процедур sp_adduser / sp_addgroup в тех.документации: Microsoft SQL Server Transact-SQL Reference.

Разрешения по Доступу к Объектам.

Все Объекты Базы Данных, созданные Мастером Масштабирования Visual FoxPro-to-SQL Server, включая: Таблицы, Триггеры, Значения "По-Умолчанию", являются доступными только для Создателя Базы Данных и Системного Администратора. Данное Правило относится как к Новой, создаваемой Базы Данных, так и к существующей Базе Данных, которая Изменяется. Если вы выполняете Замещение существующих Объектов, то вместе с ними вы выполняете Замещение соответствующих Разрешений для данных Объектов.

Обеспечение аварийного Восстановления.

Вам необходимо обеспечить вариант Восстановления вашей Базы Данных для случаев ее Повреждения и/или Разрушения.

Дампинг Системной базы Данных: Master.

При создании всех Объектов новой Базы Данных в системе SQL Server, указанные объекты создаются и сохраняются в Таблицах системной Базы Данных Master. Дампинг (Dumping) базы данных Master также обеспечивает Резервную Копию всех выполненных изменений, касаемых вашей Базы Данных.

Планирование процедур Резервирования.

Рекомендуется Составить Расписание (План) выполнения регулярных процедур Резервирования (создания Резервных Копий). Это позволит вам выполнить восстановление Копии Базы Данных в случаях возникновения проблем с указанной Базой Данных.

Создание "Зеркал" для Устройств хранения Данных.

"Зеркальные" устройства Хранения Данных обеспечивают надежные подсистемы по сохранности Данных на "физическом" уровне устройств Сервера. Если одно из устройств (пары "Зеркальных"), в какой-то момент выходит из строя, все выполненные Транзакции автоматически восстанавливаются с другого Устройства.

Если вы предполагаете (или планируете) значительный Объем проводимых Изменений Данных в БД, то рекомендуется использовать "Зеркальные" устройства Хранения Данных, которые считаются высокоэффективным Инструментом сохранности Баз Данных. Пары "Зеркальных" устройств хранения необходимо размещать на разных физических Устройствах (Дисках), это обеспечивает восстановление Данных в случае выхода из строя одного из Устройств (Дисков).

Мероприятия для Клиента-Приложения типа Visual FoxPro.

После завершения Процесса Масштабирования локальных Баз Данных Visual FoxPro в удаленные Таблицы системы SQL Server, вам, возможно, потребуется выполнить некоторые Исправления в программных Процедурах вашего Приложения, что обеспечит надежную обработку требуемых данных как в локальных Таблицах Visual FoxPro, так и в удаленных Таблицах SQL Server.

Оптимизация Представлений (Views).

Удаленные Представления (Remote Views), созданные Мастером Масштабирования не являются Параметризованными, поэтому не являются Оптимизированными. Для повышения производительности вашего Приложения по обработке удаленных Данных отредактируйте существующие Представления, определите Параметры, которые повышают Эффективность загрузки требуемых Данных, снижающих объем загрузки Записей с удаленного Сервера. Дополнительную информацию по использованию параметризованных Представлений смотрите в разделе: Как: Создавать Параметризованные Представления.

Система SQL Server не поддерживает некоторые системные функции Visual FoxPro. Если некоторые из таких функций используются в выражениях Удаленных Представлений, которые автоматически Транспортируются Мастером Масштабирования локальных Баз Данных, то эти Представления работать не будут, данные не загрузятся, эти функции не будут преобразованы в соответствующие системные функции Transact-SQL. Дополнительную информацию о возможных преобразованиях выражений Visual FoxPro в соответствующие Выражения Transact-SQL смотрите в разделе: Преобразование Баз Данных Visual FoxPro в Базы Данных SQL Server.

Создание Хранимых Процедур и Триггеров.

Мастер масштабирования (SQL Server Upsizing Wizard) не выполняет преобразование локальных Хранимых Процедур и Триггеров Visual FoxPro. Если вы планируете использование рассматриваемых инструментов Базы Данных в удаленных Таблицах SQL Server, вы можете использовать соответствующий синтаксис Transact-SQL данного сервера и соответствующие функции Сквозных Запросов (SQL pass-through in Visual FoxPro), которые применяются для создания указанных объектов на удаленном сервере. Дополнительную информацию по использованию Команд и Функций Transact-SQL смотрите в Технической Документации SQL Server. Об использовании функций Сквозных Запросов смотрите в разделе: Расширение Приложений с помощью функций Сквозных Запросов (SQL Pass-Through Technology).

Сравнения Последовательностей Событий.

В системе Visual FoxPro, некоторые системные события происходят в разных последовательностях (порядок их следования различается); это зависит от обрабатываемых Данных, откуда выполняется Загрузка: из локальных Таблиц или с Удаленного Сервера. Указанные соображения также могут послужить веской причиной для внесения Изменений в программный Код вашего Приложения.

Значения "По-Умолчанию".

В системе Visual FoxPro Значения "по-умолчанию" для Полей Таблиц появляются и Контролируются в самом начале процесса Редактирования новых Данных (для новой Записи). В системе SQL Server характеристики Полей типа "Значения по-умолчанию" только в тот момент, когда новая Запись добавляется в Таблицу. Поэтому вам необходимо изменить программный код таким образом, чтобы выполнять дополнительную проверку добавляемых данных до момента передачи их на Сервер.

Правила Контроля Данных.

В системе Visual FoxPro, контроль данных в Поле выполняется в момент получения указанным Полем Фокуса Ввода. При редактировании Данных в полях из Удаленных Таблиц SQL Server, соответствующие Триггеры и Правила Контроля активируются только в момент сохранения данных на Сервере. Вам необходимо отредактировать ваш программный Код в целях обеспечения наиболее эффективных процедур контроля данных и надежного сохранения вводимых Данных.

Управление Неконвертируемыми Выражениями.

Отчет-Журнал работы Мастера Масштабирования обычно содержит ссылки на те выражения из локальной Базы Данных Visual FoxPro, которые не преобразуются в соответствующие выражения сервера: правила контроля Записи, правила контроля Поля, выражения Значений по-умолчанию; в этом журнале содержатся также выполненные Преобразования, приведенные к стандартным. Непреобразованные Выражения должны быть описаны вами (переписаны вновь) в терминах синтаксиса Transact-SQL.

Проверку правильности вводимых Данных вы можете выполнять на уровне Локальной Формы, в клиентском Приложении Visual FoxPro. Однако, если Данные Сервера будут изменены без соответствующего Контроля, без выполнения соответствующих проверок и сопутствующих процедур, то может быть нарушена общая Целостность Базы.

Дополнительную информацию по преобразованию Выражений локальных Баз Данных смотрите в разделах: Expression Mapping (Преобразование Выражений). Специальную информацию о Функциях и Командах Transact-SQL смотрите в технической Документации по SQL Server.

Блокировка Записей.

Система Visual FoxPro использует Внутреннюю Оптимистическую Блокировку при обращении к Удаленным Таблицам Сервера SQL. Это означает, что фактическая блокировка Записи выполняется только в момент передачи измененных Данных на Сервер; процесс реального обновления Данных выполняется за короткий интервал времени.

Оптимистическая Блокировка используется вместо стандартной Пессимистичной Блокировки Данных SQL Server-а в силу того, что последняя блокирует целую Страницу Данных, достаточно большой интервал Записей Таблицы в единицу времени. Данный процесс значительно замедляет работу других Пользователей по обновлению Данных, которые являются Блокированными вследствие Блокировки целой Страницы. Оптимистическая Блокировка Записей позволяет значительно повысить общую производительность работы Клиент-Серверного Приложения Visual FoxPro в условиях многопользовательской Среды обработки Данных Сервера SQL.

Вы можете выполнить Оптимизацию процессов Обновления Данных и ввести управление Конфликтами при Обновлении Данных в многопользовательской среде; для этого используются различные значения системного Свойства SQL WhereType (Курсора или КурсорАдаптера). Дополнительную информацию по Управлению Конфликтами при обработке Удаленных Данных смотрите в разделе: Управление Конфликтами при Обновлении Данных.

См. также

Описание

Завершение Процесса Масштабирования (наращивания) Данных до системы SQL Server.

Концепции

Создание Баз Данных с помощью Мастера Масштабирования (Наращивания).
Подготовка к выполнению мастера Масштабирования Данных до системы SQL Server.

Другие ссылки

Масштабирование Баз Данных Visual FoxPro
Расширение Приложений с помощью Технологии Сквозных Запросов (SQL Pass-Through Technology).

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Programming for Shared Access

Visual FoxPro 9.0
Программирование коллективного доступа к Данным

Если вы проектируете создание Приложения, которое будет использоваться несколькими Пользователями, на нескольких Рабочих Станциях, в условиях локальной вычислительной Сети, или если планируете вызов нескольких экземпляров одной и той же Формы, которая использует одну и ту же Среду Данных, тогда вам необходимо проектировать Коллективный Доступ к Данным (Shared Access). Указанная Технология позволяет эффективно распределять Данные между исполнителями, избегать повторение Данных, что способствует повышению достоверности и оперативности используемых Баз Данных, по необходимости, ограничивать доступ к конфиденциальным Данным.

Система Microsoft Visual FoxPro обеспечивает достаточно широкий спектр инструментов для поддержки коллективного и исключительного доступа к Данным, Опции Блокировки Фрагментов Данных, Сессии Данных, вырианты Буферизации Записей и Таблиц, Механизмы Транзакций. Несмотря на то, что указанные технологические возможности используются в основном при проектировании Коллективного доступа к Данным, вы можете эффективно использовать их для создания Однопользовательского (исключительного) интерфейса.

В данном Параграфе

Управление Доступом к Данным

Рассматриваются вопросы эффективного управления Данными в многопользовательских средах (при коллективном доступе к данным), как и где ограничивать доступ к Данным, как применять Блокировку Данных.

Обновление Данных

Объясняется, как использовать механизмы Буферизации, Транзакции и Представления при Обновлении Данных.

Управление конфликтами при Обновлении Данных

Обсуждаются технологические вопросы Управления неизбежными конфликтами, возникающими при выполнении операций Обновления Данных.

Как: Определить наличие Конфликта Обновления Данных

Объясняется, как вы можете определить фактическое обновление данных в Полях Записей Таблиц при выполнении операций обновления данных.

Оптимизация Приложений в условиях Многопользовательской Среды Данных

Объясняется, как повысить качество и производительность создаваемых Приложений, работающих в Многопользовательских Средах.

Связанные Разделы

Оптимизация системы Visual FoxPro при работе в Многопользовательской Среде Данных

Объясняется, как повысить качество и производительность работы системы Visual FoxPro в условиях /Многопользовательской Среды Данных.

Web-Сервисы и Компоненты

Рассматриваются вопросы расширения базовых Приложений Visual FoxPro в условиях Многопользовательских Сред; Доступ и эффективное использование Web-сервисов, использование стандартных инструментов и Контролов Microsoft ActiveX, позволяющих эффективно расширить функции создаваемого Приложения, создавать интернациональные приложения.

Многопользовательская информация и использование механизмов OLE

Рассматриваются вопросы использования Контролов ActiveX, способов Присоединения и Внедрения объектов OLE (Linking - Embedding); автоматизацию обновления указанных Объектов с помощью внешних Приложений.

Работа с Данными

Рассматриваются наиболее важные вопросы создания пользовательских Приложений, обеспечивающих проведение Анализа эффективности обработки Данных.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Controlling Access to Data

Visual FoxPro 9.0
Управление доступом к данным

Поскольку вы обращаетесь к данным в файлах, эффективное управление данными начинается с получения управленияe над окружением этих файлов. Вы можете выбрать - как обращаться к данным и как и когда ограничить к ним доступ.

В этом разеделе

Как: установить доступ к данным

Объясняется - как указать тип доступа, монопольный или совместного использования, когда используется таблица.

Блокировка данных

Обсуждаются методы ручного или автоматического блокирования доступа к таблицам и записям для управления доступом в окружении совместного использования данных.

Обновление данных с помощью множества экземпляров формы

Обсуждается - как обновляются данные и как блокирование записи может воздействовать на другие экземпляры формы.

Как: использовать сессии данных

Описывается - как использовать сессии данных для гарантии того, что каждый пользовать в окружении совместного использования данных имел безопасный, точный дубликат рабочего окружения и гарантии того, что множество экземпляров формы могут оперировать независимо друг от друга.

Настройка окружения сессии данных

Обсуждается - как вы можете использовать частные сессии данных (private data sessions) для для установки настроенных установок команд SET внутри одиночной сессии Visual FoxPro.

Буферирование данных

Описывается буферирование данных и как использовать его для защиты данных во время их обновления.

Как: разрешить буферирование

Объясняется - как разрешить буферирование записи и таблицы во время операций обновления.

Как: добавить запись в буфер таблицы и удалить ее из буфера

Объясняется - как добавить и удалить записи при разрешенной буферизации таблицы.

Справочное руководство

Функция CURSORSETPROP()

Указывает установки свойства для таблицы или курсора Visual FoxPro.

Функция TABLEUPDATE()

Фиксирует изменения, сделанные в буферированной строке, буферированной таблице, курсоре или курсоре-адаптере.

Функция TABLEREVERT()

Фиксирует изменения, сделанные в буферированной строке, буферированной таблице или курсореa и восстанавливает данные из OLDVAL() для удаленных курсоров и и текущие значения с диска для локальных таблиц и курсоров.

Функция LOCK()

Пытается блокировать одну или более записей в таблице.

Окно Data Session

Используйте окно Data Session для открытия и отображения таблиц или представлений, установки временных отношений и свойств рабочей области.

Связанные разделы

Программирование для совместного доступа к данным

Объясняется - как программирование для овместного доступа к данным предоставляет вам возможность создавать приложения, которые будут исполняться на нескольких машинах в сетевом окружении.

Обновленин данных

Объясняется - как обновлять данные с использованием буферов, транзакций или представлений.

Управление конфликтами при обновлении данных

Обсуждается - как вы можете предвидеть и управлять неизбежными конфликтами, которые могут возникать при операциях обновления данных.

Буферирование данных

Объясняется - как буферировать данные для их защиты во время обновлений.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Set Data Access

Visual FoxPro 9.0
Как: установить доступ к данным
Смотрите также

В среде совместного доступа вы можете обращаться к данным двумя способами: в режиме монопольного доступа и в режиме совместного доступа. Если вы открыли таблицу для совместного доступа, то другие пользователи могут обращаться к ее файлу. Если вы открыли таблицу для использования в монопольном режиме доступа, то другие пользователи не могут ни читать, ни писать в этот файл. Поскольку использование монопольного доступа делает невозможным использования большинства возможностей совместной работы с данными в сети, он должен использоваться осторожно.

Использование таблиц в режиме монопольного доступа

Наиболее ограниченным способом отрыть файл, является его открытие в монопольном режиме. Когда вы открываете файл таблицы с помощью интерфейса, он, по умолчанию, открывается в монопольном режиме. Вы можете, кроме того, открыть таблицу в монопольном режиме указав это явно в командах Visual FoxPro.

Для того, чтобы открыть таблицу для монопольного использования (exclusive)

  • Напечатайте в командном окне команду:

    CopyCode image Скопировать код
    SET EXCLUSIVE ON
USE cMyTable

    - или -

  • Напечатайте в командном окне команду:

    CopyCode image Скопировать код
    USE cMyTable EXCLUSIVE

Перечисленные ниже команды требуют, чтобы таблица была открыта в монопольном режиме:

  • Команда ALTER TABLE - SQL

  • Команда INDEX при создании, добавлении или удалении составного индексного тэга.

  • Команда INSERT

  • Команда MODIFY STRUCTURE Для использования этой команды таблица должна быть открыта в монопольном режиме. Вы можете, однако, использовать эту команду в режиме "только для чтения" когда вы открыли таблицу для совместного использования.

  • Команда PACK

  • Команда REINDEX

  • Команда ZAP

Visual FoxPro возвратит сообщение об ошибке: "Exclusive open of file is required," если вы попытаетесь выполнить любую из этих команд на таблице, открытой для совместного использования (shared).

Вы можете запретить обращение к таблице с помощью функции FLOCK( ). Если вы используете функцию FLOCK() для блокировки таблицы, ни один из других пользователей не может писать в таблицу, но они могут читать из нее.

Использовать таблицы в совместном доступе (Shared Access)

Когда вы открываете таблицу для совместного использования, то одновременно использовать одну и ту же таблицу может множество компьютеров. Когда вы открываете таблицу через интерфейс, вы можете переписать установку ON, используемую по умолчанию командой SET EXCLUSIVE. Вы можете явно открыть таблицу для совместного использования с помощью команд Visual FoxPro.

Для открытия таблицы для совместного использования

  • Напечатайте в командном окне команду :

    CopyCode image Скопировать код
    SET EXCLUSIVE OFF
USE cMyTable

    - или -

  • Напечатайте в командном окне команду :

    CopyCode image Скопировать код
    USE cMyTable SHARED

Когда вы изменяете данные в таблице, открытой для совместного использования, вы должны сначала заблокировать записи, которые вы изменяете или заблокировать таблицу целиком. Вы можете заблокировать запись или таблицу, открытую для совместного использования с помощью приведенных ниже способов:

  • Используйте команды, производящие автоматическую блокировку записи или таблицы.

  • Заблокируйте вручную одну или более записей или таблицу целиком с помощью функций блокировки записи или таблицы.

  • Инициируйте буферирование с помощью функции CURSORSETPROP().

Связанные с таблицей файлы мемо-полей и индексов всегда открываются с тем же уровнем доступа, что и их таблицы.

Если ваше приложение использует таблицу только для целей поискам и все пользователи приложения обращаются к ней, тогда вы можете улучшить производительность приложения, определив для таблицы статус "только для чтения".

Смотрите также

Задачи

Как: использовать сессии данных

Справочное руководство

Комада SET EXCLUSIVE

Прочие ресурсы

Управление доступом к данным
Программирование для совместного доступа

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Locking Data

Visual FoxPro 9.0
Блокировка данных
Смотрите также

Если вы предоставляете совместный доступ к файлам, то вы должны управлять доступам к данным с помощью блокировки таблиц или записей. Блокировки, в отличие от разрешений по доступу, могут предоставить как краткосрочное, так и долговременное управление доступам к данным. Visual FoxPro предоставляет как ручную, так и автоматическую блокировку данных.

Выбор между блокировкой таблицы или записи

Блокировка записи, вне зависимости - ручная она или автоматическая, предотвращает запись изменений одним пользователем в физическую запись таблицы, если запись уже заблокирована другим пользователем. Блокировка таблицы предотвращает внесение изменений в таблицу другими пользователями, но разрешает чтение данных из полной таблицы. Так как блокировка таблицы запрещает другим пользователя обновлять записи в таблице, то она должна использоваться осторожно.

Выбор между ручной блокировкой или автоматической

В дополнение к выбору между блокировкой таблицы или блокировкой записи, вы, кроме того, можете выбрать между ручной и автоматической блокировкой. Множество команд Visual FoxPro автоматически пытается заблокировать запись или таблицу до их исполнения. Если таблицу или запись удалось заблокировать, то команда исполняется, после чего блокировка снимается.

Команды, которые автоматически блокируют записи или таблицы
Команда | Что блокирует
ALTER TABLE | Полную таблицу
APPEND | Заголовок таблицы
APPEND BLANK | Заголовок таблицы
APPEND FROM | Заголовок таблицы
APPEND FROM ARRAY | Заголовок таблицы
APPEND MEMO | Текущую запись
BLANK | Текущую запись
BROWSE, CHANGE и EDIT | Текущую запись и все записи, из полей в связанных таблицах, если началось редактирование поля
CURSORSETPROP( ) | Зависит от параметров
DELETE | Текущую запись
DELETE NEXT 1 | Текущую запись
DELETE RECORD n | Запись с номером n
DELETE более одной записи | Полную таблицу
DELETE – SQL | Текущую запись
GATHER | Текущую запись
INSERT | Полную таблицу
INSERT - SQL | Заголовок таблицы
MODIFY MEMO | Текущую запись при начале редактирования
READ | Текущую запись и все записи из связанных полей
RECALL | Текущую запись
RECALL NEXT 1 | Текущую запись
RECALL RECORD n | Запись с номером n
RECALL более одной записи | Таблицу целиком
REPLACE | Текущую запись и все записи из связанных полей
REPLACE NEXT 1 | Текущую запись и все записи из связанных полей
REPLACE RECORD n | Запись с номером n и все записи из связанных полей
REPLACE более одной записи | Таблицу целиком и все записи из связанных полей
SHOW GETS | Текущую запись и все записи, на которые ссылаются связанные поля
TABLEUPDATE( ) | В зависимости от типа буферирования
UPDATE | Таблицу целиком
UPDATE – SQL | Таблицу целиком

Характеристики блокировки записи

Команды, которые пытаются заблокировать запись являются менее ограничивающими, чем команды, которые блокируют таблицу. Когда вы блокируете запись, то прочие пользователи могут продолжить вводить или удалять другие записи. Если запись или таблица уже заблокирована другим пользователем, то попытка блокировки записи или таблицы не будет иметь успеха. Команды, которые пытаются блокировать текущую запись вернут ошибку, "Record is in use by another - Запись занята другим пользомвателем", если запись не может быть заблокирована.

Команды BROWSE, CHANGE, EDIT и MODIFY MEMO не блокируют запись до тех пор, пока не начнете редактировать запись. Если вы редактируете поля записей связанной таблицы, то связанные записи блокируются, если это представляется возможным. Попытка блокировки потерпит неудачу, если текущая запись или любые другие связанные записи уже заблокированы другим пользователем. Если попытка блокировки увенчается успехом, вы можете редактировать запись; блокировка высвобождается, когда вы перемещаетесь к другой записи или активируете другое окно.

Характеристики блокировки заголовка и таблицы

Некоторые команды Visual FoxPro блокируют таблицу целиком, тогда как другие только ее заголовок. Команды, которые блокируют таблицу целиком являются более тяжелыми, чем команды, которые блокируют только заголовок таблицы. Когда вы блокируете заголовок таблицы, другие пользователи не могут вводить записи, но они по-прежнему имеют возможность изменять данные в полях.

Пользователи могут совместно обращаться к таблице, не вызывая конфликта, когда вы выдаете команду APPEND BLANK, но ошибка может наступить в случае, когда другой пользователь также добавляет в таблицу пустую (BLANK) запись. Вы можете отловить ошибку, "File is in use by another - Файл занят другим пользователем" которая возвращается в случае, когда два или более пользователей одновременно исполняют команду APPEND BLANK. Команды, которые блокируют таблицу целиком, возвращают ошибку "File is in use by another - Файл занят другим пользователем", если таблица не может быть заблокирована. Для прекращения попыток блокировки, нажмите клавишу ESC.

Автоматическая блокировка

В приведенном ниже примере, пользователь автоматически блокирует заголовок таблицы добавлением записей из другой таблицы, даже в случае, если customer была открыта в режиме совместного доступа:

CopyCode image Скопировать код
SET EXCLUSIVE OFF
USE customer
APPEND FROM oldcust FOR status = "OPEN"

Ручная блокировка

Вы можете вручную блокировать запись или таблицу с помощью одной из приведенных ниже функций блокировки:

  • Функция RLOCK()

  • Функция LOCK()

  • Функция FLOCK()

Функции LOCK() и RLOCK() могут применяться к заголовку таблицы. Если вы предоставите 0 в качестве записи для LOCK() или RLOCK(), а тесты указывают, что заголовок не заболокирован, то функция блокирует заголовок и возвращает True (.T.).

Если вы блкировали запись или таблицу, убедитесь, что вы сняли блокировку с помощью команды UNLOCK настолько быстро, насколько это возможно, чтобы пользователи имели возможность обратиться к данным таблицы.

Перечисленные функции ручной блокировки производят следующие действия:

  • Проверяют статус блокировки записи или таблицы.

  • Если тесты показывают, что запись разблокирована, блокируется запись или таблица и возвращается True (.T.).

  • Если запись или таблица не могут быть блокированы, пытаются повторно блокировать запись или таблицу, в зависимости от текущей установки SET REPROCESS.

  • Возвращают True (.T.) или False (.F.), указывающие - была ли блокировка успешно.

    Note Совет

    Если вы желаете проверить статус блокировки записи в вашей сессии без блокирования записи, используйте функции ISRLOCKED() или ISFLOCKED().

Если попытка блокировки записи или таблицы потерпела неудачу, то повторение попыток блокировки будут определять команда SET REPROCESS и ваша процедура обработки ошибок. SET REPROCESS влияет на результат неудачной попытки блокировки. Вы можете управлять числом попыток блокировки или их длительностью с помощью SET REPROCESS.

В приведенном ниже примере открывается для совместного доступа таблица customer и используется FLOCK() для попытки заблокировать таблицу. Есди таблица успешно заблокирована, REPLACE ALL обновляет каждую запись в таблице. UNLOCK высвобождает блокировку файла. Если файл не может быть заблокирован в случае, если он уже заблокирован другим пользователем, то отображается сообщение.

CopyCode image Скопировать код
SET EXCLUSIVE OFF
SET REPROCESS TO 0
USE customer    && Таблица открывается для совместного доступа
IF FLOCK()
 REPLACE ALL contact ;    && Замещение данных и разблокировка
  WITH UPPER(contact)
 UNLOCK
ELSE  && Вывод сообщения
 WAIT "File in use by another." WINDOW NOWAIT
ENDIF

Разблокировка данных

После того, как вы установили блокировку записи или файла и завершили операции над данными в среде совместного доступа, вы должны снять блокировку настолько быстро, насколько это возможно. Имеется несколько вариантов снятия блокировки. В некоторых случаях, для разблокировки данных достаточно простого перемещения к следующей записи. Прочие ситуации требуют явных команд.

Для разблокировки записи, которая была блокирована автоматически, вам нужно просто переместить указатель записи, даже если у вас была выполнена установка MULTILOCKS ON. Вы должны явно удалить блокировку записи, которая заблокирована вручную; простого перемещения указателя записи в таком случае недостаточно.

В приведенной ниже таблице описываются воздействия команд ручной и автоматической блокировок записи и таблицы.

Команда | Действие
UNLOCK | Снимает блокировки записи и файла в текущей рабочей области.
UNLOCK ALL | Снимает все блокировки во всех рабочих областях текущей сессии.
SET MULTILOCKS OFF | Разрешает автоматическое разблокирование текущей блокировки, чтобы новая блокировка была безопасной.
FLOCK( ) | Снимает все блокировки записи файла, перед его блокированием.
CLEAR ALL, CLOSE ALL,USE, QUIT | Снимает все блокировки записи и файла.
END TRANSACTION | Снимает автоматическую блокировку.
TABLEUPDATE( ) | Снимает все блокировки после обновления таблицы.
Caution note Предупреждение

Если запись была автоматически заблокирована в функции, определенной пользователем, а вы переместили указатель за пределы записи и затем снова вернулись к ней, то блокировка будет снят. Используйте табличное буферирование для того, чтобы избежать подобной проблемы.

Смотрите также

Задачи

Как: использовать сессии данных

Справочное руководство

Функция RLOCK()
Функция LOCK()
Функция FLOCK()
Команда UNLOCK

Прочие ресурсы

Управление доступом к данным
Программирование для совместного доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Updating Data Using Multiple Form Instances

Visual FoxPro 9.0
Изменения данных при использовании нескольких Форм редактирования
См. Также

Когда используются private data sessions (закрытые сессии данных), которые открывают источники данных в различных рабочих областях, такие как: таблицы, индексы, отношения между таблицами, что происходит при загрузке нескольких экземпляров форм редактирования данных, каждая копия формы ссылается на один и тот же базовый источник данных, таблицу или индексный файл. Когда пользователь изменяет данные в некоторой записи таблицы, в одном экземпляре запущенной формы редактирования, то данные изменения сразу отражаются в базовой таблице данных. В другом экземпляре запущенной формы вы можете просмотреть измененные данные, переместившись на соответствующую запись просматриваемой таблицы.

Блокировки записей или таблиц, выполненые в закрытых сессиях данных (private data session) отражаются и в других закрытых сессиях данных. Например, если пользователь в сессии данных 1 выполняет блокировку записи, то другой пользователь, в закрытой сессии данных 2 не может выполнить блокировку той же записи. Если пользователь в сессии данных 1 открывает таблицу для монопольного использования (exclusively), другой пользователь, в сессии данных 2 не может открыть данную таблицу, она отмечена как занятая другим пользователем (1). Относительно других сессий данных, чистема Visual FoxPro выполняет защиту целостности данных в базовых таблицах.

См. также

Задачи

Как: Использовать Сессии данных (Data Sessions)

Другие ссылки

Управление Доступом к Данным
Программирование коллективного доступа к Данным

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Use Data Sessions

Visual FoxPro 9.0
Как: использовать сессии данных
Смотрите также

Для гарантии того, что каждый пользователь в окружении совместного доступа имел безопасную, точную копию рабочего окружения, а также для гарантии того, что многочисленные экземпляры формы могли работать независимо, Visual FoxPro предоставляет вам сессии данных (data session).

Сессия данных является представлением текущего динамического рабочего окружения. Вы можете думать о сессии данных, как о миниатюрном окружении данных, исполняемом внутри одной открытой сесии Visual FoxPro на одной машине. Каждая сессия данных содержит:

  • Копию элементов в окружении данных формы.

  • Курсоры, представляющие открытые таблицы, их индексы и отношения.

Концепция сессии данных легко понимаема, когжа вы представляете себе, что происходит, когда вы открываете одну и ту же форму одновременно на отдельных рабочих машинах в многопользовательском приложении. В этом случае, каждая рабочая машина запускает отдельную сессию Visual FoxPro, и поэтому имеет свой собственный набор рабочих областей: курсоры, представляющие открытые таблицы, индексы и отношения. Для получения более подробной информации об одновременном доступе к данным смотрите описания Обновление данных с использованием множества экземпляров формы и Блокировка данных.

Однако, если вы откроете множество экзепляров формы в одиночном проекте, на одной машине, внутри одной и той же сессии Visual FoxPro, формы будут совместно использовать сессию данных по умолчанию (Default data session), представляющую единое динамическое рабочее окружение. Каждый экземпляр формы, открытый в одной и той же сессии Visual FoxPro использует один и тот же набор рабочих областей и действие, производимое в одном экземпляре формы, которое перемещает указатель записи в рабочей области, автоматически отразится на других экзеплярах такой же формы.

Использование частных сессий данных (Private Data Sessions)

Если вам желателен больший контроль над множеством экземпляров формы, вы можете применять частные сессии данных. Когда ваша форма использует частную сессию данных, Visual FoxPro создает новую сессию данных для каждого экземпляра формы, набора форм или управляющего элемента панели инструментов, созданных вашим приложением. Каждоая частная сессия данных содержит:

  • Отдельную копию каждой таблицы, инедкса и отношения в окружении данных формы.

  • Неограниченный набор рабочих областей.

  • Указатели записи для каждой копии каждой таблицы, которые являются независимыми от базовой таблицы, используемой формой.

Число доступных сессий данных ограничивается лишь доступной системной памятью и дисковым пространством.

Вы можете применить частную сессию данных установкой свойства формы DataSession. Свойство DataSession имеет две установки:

  • 1 – Default data session (установка по умолчанию).

  • 2 – Private data session.

По умолчанию, свойство формы DataSession установлено в 1.

Для того, чтобы сделать доступной частную сессию данных

  • В дизайнере форм Form Designer установите свойство DataSession в значение 2 – Private data session.

    - или -

  • В коде установите свойство DataSession равным 2.

    Например, напечатайте:

    CopyCode image Скопировать код
    frmFormName.DataSession = 2
    Note Замечание

    Вы можете установить свойство DataSession только в design time. Свойство DataSession в run time получает признак "только для чтения".

Когда форма использует частную сессию данных, каждый экземпляр формы, открытый на одной машине в одной и той же сессии Visual FoxPro, использует свой собственный набор окружения данных. Использование частной сессии данных аналогично запуску одной и то же формы одновременно на разных машинах.

Эквивалент множества сессий данных
EquivMultipleDataSessions screenshot foxpro

Идентификация сессий данных

Каждая частная сессия данных идентифицируется отдельно. Вы можете видеть содержание каждой сессии данных в окне Data Session. Вы, кроме того, можете изменить описание сессии данных с помощью команд в коде события Load.

Для того, чтобы увидеть идентификационный номер каждой сессии данных

  • Используйте свойство, присущее только окружению run-time - DataSessionID.

    Приведенный ниже пример отображает свойство DataSessionID формы с именем frmMyForm:

    CopyCode image Скопировать код
    DO FORM frmMyForm
? frmMyForm.DataSessionID

Если вы активируете форму с помощью ключевого слова NAME, вы можете использовать имя формы для получения значения свойства DataSessionID так, как показано в приведенном ниже примере:

CopyCode image Скопировать код
DO FORM MyForm NAME one
? one.DataSessionID

Свойство DataSessionID разработано только для идентификации конкретной сессии данных. Избегайте изменения свойства DataSessionID экземпляра формы, так как элементы управления, привязанные к данным потеряют свои источники данных, когда вы изменяете DataSessionID.

Перепись автоматического присвоения частной сессии данных

Когда используется частная сессия данных для формы, изменения, которые вы сделали в данных на форме не представляются автоматически на другом экземпляре формы. Если вы желаете, чтобы все экземпляры формы обращались к одним и тем же данным и одновременно отображали изменения в общих данных, вы можете переписать автоматическое присвоение сессии данных.

Для переписи автоматического присвоения сессии данных

  • Установите команду SET DATASESSION в 1 или не указывайте значение.

Например, приведенный ниже пример кода разрешает командному окну (Command window) и окну Project Manager управлять сессией данных, установливаемой по умолчанию:

CopyCode image Скопировать код
SET DATASESSION TO 1

- или -

CopyCode image Скопировать код
SET DATASESSION TO

Смотрите также

Концепции

Настройка окружения сессии данных

Прочие ресурсы

Управление доступом к данным
Программирование для совместного доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Customizing the Environment of a Data Session

Visual FoxPro 9.0
Настройка окружения сессии данных
Смотрите также

Поскольку сессии данных управляют областью действия некоторых команд SET, вы можете использовать частные сессии данных для установки настроенных установок команд SET внутри одной сессии Visual FoxPro.

Например, команда SET EXACT, которая управляет правилами, используемыми при сравнении двух смивольных строк разной длины, принадлежит области текущей сессии данных. Значением по умолчанию SET EXACT является "off", которая определяет что чтобы быть эквивалентными, выражения должны строго соответствовать, посимвольно вплоть до конца выражения, то есть до достижения правой границы. Вы можете пожелать иметь "смазанный" или эквивалентный поиск, оставив установку SET EXACT в значении "OFF" для сессии данных, используемой по умолчанию; однако, ваше приложение может содержать конкретную форму, где требуется точное соответствие. Вы можете установить свойство DataSession формы, требующей точного соответствия в значение 2, разрешая частную сессию данных и затем установить SET EXACT в ON для этой формы. В помощью команды SET выданной для формы, использующей частную сессию данных, вы сохраяете глобальные установки сессии Visual FoxPro, одновременно разрешая настраиваемые установки сессии для конкретной формы.

Смотрите также

Задачи

Как: использовать сессии данных

Прочие ресурсы

Управление доступом к данным
Программирование для совместного доступа

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Buffering Data

Visual FoxPro 9.0
Буферизация данных
Смотрите также

Если вы желаете защитить данные во время операций обновления, то используйте буферы. Visual FoxPro буферизация записи и таблицы поможет вам защитить обновление данных и операции по обслуживанию данных как на одинойчной записи, так и на множестве записей данных в многопользовательском окружении. Буферы могут автоматически тестировать, блокировать и снимать блокировку с записей или таблиц.

С помощью буферизации, вы можете легко находить и разрешать конфликты в операциях обновления данных: текущая запись копируется в память или на диск, обслуживаемые Visual FoxPro. Другие пользователи могут одновременно с вами обращаться к оригинальной, неизменной еще записи. Когда вы уходите с записи или пытаетесь обновить данные программно, Visual FoxPro попытается заблокировать запись, проверяет: нет лит изменений, сделанных другим пользователем во время вашего редактирования этой записи и затем записывает ее на диск. После того, как вы попытаетесь обновить данные, вы должны быть готовы разрешать возможные конфликты, что предовратит запись некорректных изменений в оригинальную запись таблцы.

Выбор режима буферизации

До того, как вы разрешите буферизацию, оцените окружение данных для выбора метода буферизации и опций блокироваки, которые наилучшим образом отвечают требованиям редактирования данных в вашем приложении, типы и размеры записей и таблиц, каким образом информация используется и обновляется и прочие факторы. После того, как вы разрешите буферизацию, она остается в силе до тех пор, пока вы либо не запретите, либо не закроете таблицу.

Visual FoxPro имеет два типа буферизации: записи и таблицы.

  • Для обращения, редактирования и записи одиночной записи однократно выберите буферизацию записи.

    Буферизация записи предоставляет соответствующий процесс проверки с минимальным воздействием на операции обновления данных других пользователей в многопользовательском окружении.

  • Для буферизации обновления нескольких записей одновременно, выберите буфферизацию таблицы.

    Буферизация таблицы предоставляет наиболее эффективный способ обслуживания нескольких записей в одной таблице или в дочерней таблице в отношении "один-ко-многим".

  • Для обеспечения максимальной защиты существующих записей, используйте транзации Visual FoxPro.

    Вы можете вы можете использовать транзакции сами по себе, но вы получите допольнительную эффективность при использовании транзакций в качестве оберток для команд буферизации записи и таблиц.

Выбор метода блокировки

Visual FoxPro предоставляет буферизацию в двух режимах блокировок: пессимистическом и оптимистическом. Этот выбор определяет, когда блокируется одна или более записей и как потом эта блокировка снимается.

Pessimistic Buffering

Пессимистическая буферизация запрещает доступ других пользователей в многопользовательском окружении от доступа к конкретной записи или таблицы во время, когда вы производите в них изменения. Пессимистическая блокировка предоставляет наиболее безопасное окружение для изменения индивидуальных записей, но заметно замедляет работу пользователей вашего приложения. Этот метод буферизации наиболее схож со стандартным механизмом блокировки, использовавшемся в ранних версиях FoxPro, с введенной встроенной буфризацией данных.

Оптимистическая буферизация

Оптимистическая буферизация представляет собой наиболее эффективный путь для обновления записей, так как блокировка имеет место только во время записи записей на диск, что минимизирует время любого одиночного пользователя монополизации системы в многопользовательском окружении. Когда вы используете буферизацию записи или таблицы в представлении Visual FoxPro навязывает оптимистическую буферизацию.

Значение свойства Buffering, устанавливаемое функцией CURSORSETPROP() определяет методы буферизации и блокировки.

В приведенной ниже таблице сведены действительные значения для свойства Buffering.

Для разрешения ... | используйте это значение
Режим буферизации не устанавливается. Значение по умолчанию. | 1
для пессимистичесой блокировки записи, которая блокирует запись сразу и производит обновление при перемещении указателя записи или по команде TABLEUPDATE( ). | 2
для оптимистической блокировки записи, которая ожидает перемещения указателя записи, после чего немедленно блокирует запись и производить обновление данных записи. | 3
для пессимистичесой блокировки таблицы, которая сразу блокирует таблицу; обновление происходит по команде TABLEUPDATE( ). | 4
для оптимистической блокировки таблицы, которая ожидает команды TABLEUPDATE() и при ее выдаче блокирует таблицу и обновляет отредактированные записи. | 5

Значением по умолчанию для буферизации равно 1 для таблиц и 3 для представлений. Если вы используете буферизацию для доступа к удаленным записям, то свойство Buffering равно либо 3, либо 5, то есть устанавливается оптимичстичесепя буфреризация записи или таблицы. Для получения более подробной информации о доступе к данным в удаленных таблицах смотрите описание Как: выполнять запросы на множестве таблиц и представлений.

Note Замечание

Для режимов буферизации со значение большим чем 1 установите MULTILOCKS в ON.

Смотрите также

Задачи

Как: разрешить буферирование
Как: добавлять и удалять записи в буферах таблицы

Прочие ресурсы

Обновление данных
Программирование для совместного использования доступа к данным
Управление доступом к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Enable Buffering

Visual FoxPro 9.0
Как: разрешить бефферизацию
Смотрите также

Вы можете разрешить буфферизацию записи или таблицы для защиты данных во время обновления.

Разрешение буфферизации записи

Разрешите буфферизацию с помощью фукнции CURSORSETPROP( ).

Для разрешения пессимистического блокирования записи в текущей рабочей области

  • Используйте эту функцию и значение:

    CopyCode image Скопировать код
    CURSORSETPROP("Buffering", 2)

Visual FoxPro попытается заблокировать запись в позиции ее указателя. Если блокировка будет успешной, Visual FoxPro помещает запись в буффер и разрешает ее редактирование. Когда вы сместите указатель записи или используете функцию TABLEUPDATE( ), Visual FoxPro запишет буфферированную запись в оригинальную таблицу.

Для разрешения оптимистического блокирования записи в текущей рабочей области

  • Используйте эту функцию и значение:

    CopyCode image Скопировать код
    CURSORSETPROP("Buffering", 3)

Visual FoxPro запишет запись в позиции указателя в буффер и разрешит редактирование. Когда вы сместите указатель записи или используете функцию TABLEUPDATE( ), Visual FoxPro попытается заблокировать запись. Если блокировка будет успешной, Visual FoxPro сравнит текущее значение записи на диске с с оригинальным значением в буффере. Если эти значения одинаковые, то будет произведена запись в таблицу измененных данных; если же эти записи различаются, то есть кто-то другой уже изменил редактируемую пользователем запись, то Visual FoxPro сгенерирует ошибку.

Разрешение буфферирования таблицы

Разрешите буфферирование таблицы с помощью функции CURSORSETPROP().

Для разрешения пессимистического блокирования записей в текущей рабочей области

  • Используйте эту функцию и значение:

    CopyCode image Скопировать код
    CURSORSETPROP("Buffering", 4)

Visual FoxPro попытается заблокировать запись в позиции указателя. Если блокировка была успешной, Visual FoxPro поместит запись в буффер и разрешит ее редактирование. Используйте функцию TABLEUPDATE( ) для записи буфферированных записей в оригинальную таблицу.

Для разрешения оптимистического блокирования множества записей в текущей рабочей области

  • Используйте эту функцию и значение:

    CopyCode image Скопировать код
    CURSORSETPROP("Buffering", 5)

Visual FoxPro запишет записи в буффер и разрешит редактирования до момента, когда вы используете функцию TABLEUPDATE(). Затем Visual FoxPro произведет приведенную ниже последовательность действий на каждой записи в буффере:

  1. Попытается заблокировать каждую отредактированную запись.

  2. При успешной блокировке, сравнит текущее значение каждой записи на диске с оригинальным значением в буффере..

  3. Запишет редактирование в оригинальную таблицы, если сравнение показывает, что данные на диске не изменялись или что данные на диске равны оригинальному значению в буффере.

  4. Сгенерирует ошибку, если указанные значения различаются.

Когда разрешено табличное буфферирование, Visual FoxPro попытается сделать обновление только после использования функции TABLEUPDATE().

Смотрите также

Задачи

Как: добавить и удалить записи в табличных буфферах
Как: использовать сессии данных

Справочное руководство

Функция CURSORSETPROP()

Концепции

Буфферирование данных

Прочие ресурсы

Обновление данных
Программирование для совместного доступа
Управление доступом к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Append and Delete Records in Table Buffers

Visual FoxPro 9.0
Как: добавлять и удалять записи в буфферы таблиц
Смотрите также

Вы можете добавлять и уалять записи во время, когда разрешено буфферирования таблиц: добавляемые записи помещаются в конец буффера. Для доступа ко все записям в буффере, включая добавленные записи, используйте функцию RECNO(). Функция RECNO() возвратит последовательные отрицательные номера записей, добавленных вами в табличный буффер. Например, если вы инициируете буфферизацию таблицы, редактировали записи 7, 8 и 9, а затем добавили три записи, буффер будет содержать значения RECNO( ): 7, 8, 9, – 1, – 2 и – 3.

Note Замечание

Таблицы, содержащие поля с автоувеличением значение, добавляют записи в буфферированную таблицу примерно на 35% медленнее, чем в таблицу без таких полей, что может оказать существенное влияние на производительность приложения. При использовании буфферизации таблицы, при добавлении записей заголовок таблицы блокируется.

Буффер после редактирования и добавления записей

EditedTableBuffer2 graphic foxpro

Вы можете добавленные записи из буффера только с помощью функции TABLEREVERT(). Для любой добавленной записи обе функции и TABLEUPDATE(), и TABLEREVERT() удаляют отрицательное значение RECNO(), для записи, которая формирует последовательность.

Буффер после редактирования, удаления добавленной записи и добавления другой

EditedTableBuffer graphic foxpro

Пока используется буфферизация таблицы, вы можете использовать команду GO с негативным значением RECNO( ) для обращения к конкретной добавленной записи. Например, используя предыдущую таблицу вы можете печатать команды:

CopyCode image Скопировать код
GO 7      && moves to the 1st buffered record
GO -3      && moves to the 6th buffered record (3rd appended)

Для добавления записи в буффер таблицы

  • Используйте команду APPEND или APPEND BLANK после того, как вы разрешите буфферизацию таблицы.

Добавленные записи имеет последовательно возрастающие отрицательные номера RECNO().

Для удаления добавленной записи из буффера таблицы

  1. Используйте команду GO | GOTO с отрицательным номером для позиционирования указателя записи на запись, которая будт удалена.

  2. Используйте команду DELETE для маркировки записи на удаление.

  3. Используйте функцию TABLEREVERT() для удаления записи из буффера.

    Note Замечание

    Функция TABLEREVERT() воздействует, кроме того, на статус удаленных и измененных строк.

Для удаления все добавленных записей из буффера таблицы

  • Используйте функцию TABLEREVERT() со значением True (.T.).

TABLEREVERT() удаляет добавленные записи из фуффера таблицы без записи записей в таблицу. TABLEUPDATE() записывает все текущие буфферированные записи в таблицу, даже если они были маркированы для удаления.

Смотрите также

Задачи

Как: разрешить буфферизацию
Как: использовать сессии данных

Справочное руководство

Функция CURSORSETPROP()

Концепции

Буфферизация данных

Прочие ресурсы

Обновление данных
Программирование для совместного использования информации
Управление доступом к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Updating Data

Visual FoxPro 9.0
Обновление данных

Для обновления данных вы можете использовать буфферы, транзакции или представления.

В этом разделе

Как: произвести обновление с помощью буфферов

Объясняется как разрешить буфферизацию записей или таблицы после выбора типа метода буфферирования и типа блокировки

Управление обновлениями с помощью транзакций

Описываются транзакции и как их использовать для защиты операций обновления и использовать транзакции для востановления из целой секции кода как единицы.

Управление обновлениями с помощью представлений

Обсуждается использование представлений для управления конфликтами данных в многопользовательском окружении.

Справочное руководство

Функция TABLEUPDATE()

Записывает изменения, сделанные в буфферированной строке, буфферированных таблице, курсоре или курсор-адаптере.

Функция TABLEREVERT()

Сбрасывает изменения, сделанные в буфферированной строке, буфферированных таблице или курсоре и восстанавливает данные, получаемые с помощью OLDVAL() для удаленных курсоров и текущих значений данных, хранящихся на диске для локальных таблиц и курсоров.

Связанные разделы

Программирование для совместного использования данных

Объясняется как писать программы для совместного использования информации, что позволяет вам создавать приложения, которые могут быть запущены на нескольких машиных в сетевом окружении.

Управление доступом к данным

Обсуждается эффективное управление данными в окружении совместного использования информации и то, как вы можете выбрать доступ к данным и как и когда ограничить такой доступ.

Управление конфликтами при обновлении данных

Обсуждается, как вы можете принять участие и управлять конфликтами, которые являются результатами операций обновления.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Perform Updates Using Buffers

Visual FoxPro 9.0
Как: произвести обновление с помощью буферов
Смотрите также

После выбора режима буферирования и типа блокировки, вы можете разрешить буферирование таблицы или записи.

Для разрешения буферирования

  • Выберите одну из приведенных ниже опций:

    • В Конструкторе форм (Form Designer), установите свойство курсора BufferModeOverride в окружении данных (DataEnvironment) формы.

    или

    • Используйте функцию CURSORSETPROP() для установки свойства Buffering.

Например, вы можете разрешить пессимистическое буферирование строки с помощью приведенного ниже программного кода, помещенного в процедуру события Init формы:

CopyCode image Скопировать код
CURSORSETPROP('Buffering', 2)

Затем вы можете поместить код для операции обновления в коде подходящего метода для вашего элемента управления.

Для записи данных в оригинальную таблицу используйте функцию TABLEUPDATE(). Для прекращения редактирования, в случае ошибки обновления или неудачной попытки обновления в результате нарущения правил, используйте функцию TABLEREVERT(), которая действительна даже в случае, когда явное буферирование таблицы не разрешено. Для указания уровня проверки целостности таблицы ниже,чем используемого по умолчанию, вы можете использовать команду SET TABLEVALIDATE.

Приведенный ниже пример показывает, как обновить записи при разрешенном пессимистическом буферировании.

Пример обновления с использованием буферирования записи и таблицы
Программный код Комментарий

OPEN DATABASE testdata

USE customers

CURSORSETPROP('Buffering', 2)

В процедуре события Init формы, открывает таблицу и разрешает пессимистическое буферирование записи.

lModified = .F.

FOR nFieldNum = 1 TO FCOUNT()

IF GETFLDSTATE(nFieldNum) = 2

lModified = .T.

EXIT

ENDIF

ENDFOR

Проходит по полям, проверяя любое поле, которое было изменено.

Note Замечание

Этот код может быть помещен в процедуру события Click командной кнопки "Save" или "Update".

IF lModified

nResult = MESSAGEBOX;

("Record has been modified. Save?", ;

4+32+256, "Data Change")

Поиск следующей измененной записи.

IF nResult = 7

TABLEREVERT (.F.)

ENDIF

ENDIF

Представляет текущее значение и дает пользователю опцию сбросить изменения в текушем поле.

SKIP

IF EOF()

MESSAGEBOX( "already at bottom")

SKIP -1

ENDIF

THISFORM.Refresh

SKIP гарантирует, что последнее изменение записано.

Смотрите также

Справочное руководство

Закладка Критерий обновления (Update Criteria) конструктора представления (View Designer)
Функиця DBSETPROP()
Функиця CURSORSETPROP()

Концепции

Буферирование данных
Управление конфликтами при обновлении данных

Прочие ресурсы

Обновление данных
Программирование для совместного доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Managing Updates Using Transactions

Visual FoxPro 9.0
Управление обновлениями с помощью транзакций
Смотрите также

Даже при использовании буферирования, что-то может пойти не так, хотелось. Если вы желаете защитить операции обновления и восстановить их из целой секции кода в виде единого целого, используйте транзакции.

Введение транзакций в ваше приложение предоставляет защиту вне буферирования записи и таблицы Visual FoxPro, путем размещения целой секции кода в защищенную и восстановливаемую единицу, действующую как единое целое. Вы можете вкладывать транзакции и использовать их для защиты буферированных обновлений. Транзакции Visual FoxPro доступно только для таблиц и представлений, содержащихся в контейнере базы данных.

Заключение сегментов кода в оболочки

Транзакции действуют, как оболочки, которые кэшируют операции обновлнения данных в памяти или на диске, до того, как применить их непосредственно к базе данных. Реальное обновление базы данных производится в конце транзакции. Если по какой-либо причине система не может произвести операцию обновления на базе данных, вы можете откатить целую транзакцию и операция обновления не будет произведена.

Note Замечание

Операции буферированного обновления, производимые вне транзакции, игнорируются внутри транзакции в одной и той же сессии данных.

Команды, которые управляют транзакциями

Visual FoxPro предоставляет три команды и одну функцию для управления транзакциями.

Для ... | используйте ...
начала транзакции | BEGIN TRANSACTION
определения текущего уровня транзакции | TXNLEVEL( )
сброса всех изменений, произведенных после самого последнего предложения BEGIN TRANSACTION | ROLLBACK
блокировки записей, записи на диск всех изменений в таблицах в базе данных начиная с самой последней BEGIN TRANSACTION, а затем разблокировки записей | END TRANSACTION

Вы можете использовать транзакции для обертывания изменений в таблицах, структурных индексных (.cdx) и мемо файлах , связанных с таблицами внутри базы данных. Операции, включающие в себя переменные и другие объекты не признают транзакции; поэтому вы не можете откатить такие операции.

Note Замечание

При использовании данных, хранящихся в удаленных таблицах, команды транзакий управляют только обновлениями данных в локальной копии курсора представления; обновления в удаленной базе данных не подвергаются их воздействию. Для того, чтобы разрешить ручные транзакции на удаленных таблицах используйте SQLSETPROP( ), а затем управляйте транзакцией с помощью функций SQLCOMMIT( ) и SQLROLLBACK( ).

В общем случае, вы должны использовать транзакции скорее с буферами записей, чем с буферированием таблиц, за исключением обертки вызовов TABLEUPDATE(). Если вы помещаете в транзакцию команду TABLEUPDATE( ), вы можете откатить неудавшееся обновление, исследовать причину сбоя, а затем попытаться вызвать TABLEUPDATE() без потери данных. Это гарантирует обновление, случившееся в виде операции "все-или-ничего" ("all-or-nothing").

Хотя обработка простой транзакции обеспечивает безопасность операций обновления в нормальных ситуациях, она не обеспечивает глобальной защиты от системных сбоев. Если во время исполнения команды END TRANSACTION пропадет питание или случится иная неисправность системы, обновление данных может не состояться.

Используйте для транзакций приведенный шиблон кода:

CopyCode image Скопировать код
BEGIN TRANSACTION
* Обновление записей
IF lSuccess = .F. && произошла ошибка
   ROLLBACK
ELSE && записывает изменения
   * проверяет данные
   IF && произошла ошибка
      ROLLBACK
   ELSE
      END TRANSACTION
   ENDIF
ENDIF

К транзакциям применяются перечисленные ниже правила:

  • Транзакция начинается командой BEGIN TRANSACTION и заканчивается командой END TRANSACTION или ROLLBACK. Предложение END TRANSACTION без предшествовавшего ему BEGIN TRANSACTION сгенерирует ошибку.

  • Предложение ROLLBACK без предшествовавшего ему BEGIN TRANSACTION сгенерирует ошибку.

  • Начатая транзакция, остается в действии до тех пока, пока не начнется исполнение END TRANSACTION (или не будет выдана команда ROLLBACK ), даже с учетом исполнения программ или вызова функций, если не произошло прерывание исполнения приложения, которое вызовет откат.

  • Visual FoxPro использует данные, кэшированные в буфере транзакции до использования дисковых данных для запросов на данных, вовлеченных в транзакции. Это гарантирует использование самых свежих данных.

  • Если исполнение приложения прерывается во время транзакции, все операции откатываются.

  • Транзакции работают только на контейнере базы данных.

  • Вы не можете использовать команду INDEX, если она переписывает существующий индексный файл, или в случае, если открыт любой файл индекса (.cdx).

  • Транзакции принадлежат сессиям данных.

Транзакции показывают приведенное ниже поведение блокировки:

  • Внутри транзакции, Visual FoxPro накладывает блокировку во время прямых или косвенных вызовов команды. Любые системные команды или прямые или косвенные команды разблокировки кэшируются до момента завершения транзакции командами ROLLBACK или END TRANSACTION.

  • Если вы внутри транзакции используете команды блокировки, такие как FLOCK( ) или RLOCK( ), предложение END TRANSACTION не снимет установленную блокировку. А таком случае, вы должны явно разблокировать любые наложенные во время транзакции блокировки. Кроме того, вы должны обеспечить минимальное время, насколько это возможно, действия транзакции, содержащей команды FLOCK( ) или RLOCK( ); в противном случае, пользователь может быть заблокирован для доступа к данным на длительное время.

Вложение транзакций

Вложенные транзакции предоставляют логические группы операций обновления таблиц, которые изолированы от конкурентных процессов. Пары BEGIN TRANSACTION...END TRANSACTION не обязательно должны быть в одной и той же функции или процедуре. Приведенные ниже правила применяются ко вложенным транзакциям:

  • Вы можете иметь уровень вложенности до пяти пар BEGIN TRANSACTION...END TRANSACTION.

  • Обновления, произведенные во вложенных транзакциях не фиксируются до вызова внешней END TRANSACTION.

  • Во вложенных транзакциях END TRANSACTION работает только на транзакции, инициированной последней выданной BEGIN TRANSACTION.

  • Во вложенных транзакциях оператор ROLLBACK работает только на транзакции инициированной последней выданной BEGIN TRANSACTION.

  • Наиболее вложенное обновление в наборе вложенных транзакций на одних и тех же данных имеет преимущество над всеми остальными в том же самом блоке вложенных транзакций .

Уведомление в приведенном ниже примере вызвано тем, что так как изменения во вложенной транзакции не записаны на диск, а только в буфер транзакции, то внетренняя транзакция будет переписывать изменения, сделанные в том же самом поле STATUS поредшествующей транзакции:

CopyCode image Скопировать код
BEGIN TRANSACTION &&  транзакция 1
   UPDATE EMPLOYEE ; &&  первое изменение
      SET STATUS = "Contract" ;
      WHERE EMPID BETWEEN 9001 AND 10000
   BEGIN TRANSACTION &&  транзакция 2
      UPDATE EMPLOYEE ;
         SET STATUS = "Exempt" ;
         WHERE HIREDATE > {^1998-01-01}  &&  перепись
   END TRANSACTION &&  transaction 2
END TRANSACTION    &&  transaction 1

Приведенный ниже пример вложенной транзакции удаляет запись пользователя и все, связанные с ним счета. Транзакция будет откатана назад, если во время команды DELETE случится оишбка. Этот пример демонстрирует группирование операций обновления таблицы для защиты обновлений от частичного завершения и избежания конкурентных конфликтов.

Пример изменения записей во вложенных транзакциях
Код | Комментарий
DO WHILE TXNLEVEL( ) > 0 ROLLBACK ENDDO | Очистка от других транзакций.
CLOSE ALL SET MULTILOCKS ON SET EXCLUSIVE OFF | Установка среды для буферизации.
OPEN DATABASE test USE mrgtest1 CURSORSETPROP('buffering',5) GO TOP | Разблокировка оптимистического буферирования таблицы.
REPLACE fld1 WITH "changed" SKIP REPLACE fld1 WITH "another change" MESSAGEBOX("modify first field of both" + ; "records on another machine") | Изменение записи. Изменение другой записи.
BEGIN TRANSACTION lSuccess = TABLEUPDATE(.T.,.F.) | Запуск транзакции 1 и попытка обновить все измененные записи без force.
IF lSuccess = .F. ROLLBACK AERROR(aErrors) DO CASE CASE aErrors[1,1] = 1539 ... CASE aErrors[1,1] = 1581 ... CASE aErrors[1,1] = 1582 | Если обновление не случилось, откат тразакции. Получение ошибки из AERROR( ). Определение причины ошибки. Если траггер не удалось выполнить, то производится его обслуживание. Если поле не принимает null-значения, обслуживается этот случай. Если было нарушено правило поля, обслуживается этот случай.
CASE aErrors[1,1] = 1585 nNextModified = getnextmodified(0) DO WHILE nNextModified <> 0 GO nNextModified RLOCK() FOR nField = 1 to FCOUNT() cField = FIELD(nField) if OLDVAL(cField) <> CURVAL(cField) | Если запись была изменена другим пользователем, ищется первая измененая запись. Поиск проводится через все измененные записи, начиная с первой записи. Блокировка каждой записи для гарантии, что вы можете произвести обновление. Проверка каждого поля на любое изменение. Проверка буферированного значения против значения на диске, а затем выдача сообщения пользователю.
nResult = MESSAGEBOX; ("Data was changed " + ; "by another user — keep"+ ; "changes?", 4+48, ; "Modified Record") |
IF nResult = 7 TABLEREVERT(.F.) UNLOCK record nNextModified ENDIF | Если пользователь ответил "No," возврат одной записи к ее прежнему состоянию и ее разблокировка.
EXIT ENDIF ENDFOR | Выход из цикла Break "FOR nField...".
ENDDO | Получить следующую измененную запись.
BEGIN TRANSACTION TABLEUPDATE(.T.,.T.) END TRANSACTION UNLOCK | Запуск транзакции 2 и обновление всех не возвращенных к прежнему состоянию записей с force. Завершение транзакции 2. Снятие блокировки.
CASE aErrors[1,1] = 109 ... CASE aErrors[1,1] = 1583 ... CASE aErrors[1,1] = 1884 ... OTHERWISE MESSAGEBOX( "Unknown error "+; "message: " + STR(aErrors[1,1])) ENDCASE | Если запись используется другим пользователем, обрабатывается этот случай. Если нарушено правило поля, обрабатывается этот случай. Если была нарушена уникальной индекса, обрабатывается этот случай. В противном случае, пользователю выводится диалоговое окно.
ELSE END TRANSACTION ENDIF | Завершение транзакции 1.

Защита удаленных обновлений

Транзакции могут защитить вас от генерируемых системой ошибок во время обновления данных на удаленных таблицах. Приведенный ниже пример используется транзакции для обертывания операций записи данных на удаленной таблице.

Пример транзакции на удаленной таблице
Код | Комментарий
hConnect = CURSORGETPROP('connecthandle') SQLSETPROP(hConnect, 'transmode', DB_TRANSMANUAL) | Получаем дескриптор соединения и разрешаем ручные транзакции.
BEGIN TRANSACTION | Начинаем ручную транзакцию.
lSuccess = TABLEUPDATE(.T.,.F.) IF lSuccess = .F. SQLROLLBACK (hConnect) ROLLBACK | Пытаемся обновить все записи без force. Если не удалось, откатываем транзакицю на соединении для курсора.
AERROR(aErrors) DO CASE | Получаем ошибку из AERROR( ).
CASE aErrors[1,1] = 1539 ... | Если триггер не удалось выполнить, обрабатывается этот случай.
CASE aErrors[1,1] = 1581 ... | Если поле не принимает null-значений, обрабатывается этот случай.
CASE aErrors[1,1] = 1582 ... | Если нарушено правило поля, обрабатывается этот случай.
CASE aErrors[1,1] = 1585 nNextModified = GETNEXTMODIFIED(0) DO WHILE nNextModified <> 0 GO nNextModified | Если запись была изменена друшим пользователем, обрабатывается этот случай. Осуществляется поиск через все измененные записи, начиная с первой.
FOR nField = 1 to FCOUNT() cField = FIELD(nField) IF OLDVAL(cField) <> CURVAL(cField) nResult = MESSAGEBOX; ("Data has been changed ; by another user. ; Keep changes?",4+48,; "Modified Record") | Проверяется каждое поле на любое изменение. Проверяется буферированное значение против значения на диске, а затем пользователю выводится сообщение.
IF nResult = 7 TABLEREVERT(.F.) ENDIF EXIT ENDIF ENDFOR nNextModified = ; GETNEXTMODIFIED(nNextModified) ENDDO | Если пользователь ответил "No," возврат одной записи к ее прежнему состоянию . Выход из цикла "FOR nField..." Получаем следующую измененную запись.
TABLEUPDATE(.T.,.T.) SQLCOMMIT(hConnect) | Обновление всех не возвращенных к прежнему состоянию записей с force и выдача фиксации.
CASE aErrors[1,1] = 109 * Handle the error | Ошибка 109 указывает, что запись используется другим пользователем.
CASE aErrors[1,1] = 1583 * Handle the error | Ошибка 1583 указывает, что было нарушено правило строки.
CASE aErrors[1,1] = 1884 * Handle the error | Ошибка 1884 указывает, что была нарушена уникальность индекса.
OTHERWISE * Handle generic errors. |
MESSAGEBOX("Unknown error message:" ; + STR(aErrors[1,1])) ENDCASE | Пользователю выводится диалоговое окно. Конец обработки ошибок.
ELSE SQLCOMMIT(hConnect) END TRANSACTION ENDIF | Если все ошибки были обработаны и вся транзакция была осуществлена, выдается фиксация и завершение транзакции.

Смотрите также

Справочное руководство

Закладка Update Criteria (Критерий обновления) конструктора представления (View Designer)
Функция DBSETPROP()
Функция CURSORSETPROP()

Концепции

Управление конфликтами при обновлении данных

Прочие ресурсы

Обновление данных
Программирование для совместного доступа

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Managing Updates by Using Views

Visual FoxPro 9.0
Управление обновлениями с помощью представлений
Смотрите также

Для обслуживания многопользовательского доступа к данным вы можете использовать технологию управления конфликтами обновления, встроенную в представления Visual FoxPro. Представления управляют тем, что посылается в таблицы, лежащие в их основе, с помощью свойства WhereType. Вы можете установить это свойство как для локальных, так и для удаленных представлений. Свойство WhereType предоставляет четыре установки:

  • DB_KEY

  • DB_KEYANDUPDATABLE

  • DB_KEYANDMODIFIED (по умолчанию)

  • DB_KEYANDTIMESTAMP

Выбором одной из этих четырех установок вы управляете - как Visual FoxPro будет выстраивать опцию WHERE для предложения SQL Update, посылаемого таблицам, состовляющим основу представления. Вы можете выбрать желаемую установку с помощью закладки Update Criteria (Критерий обновления) конструктора представленяи - View Designer, или вы можете использовать DBSETPROP() для установки WhereType в определении представления. Для изменения установки WhereType для активного курсора представления используйте функцию CURSORSETPROP().

Для того, чтобы... | выберите эту опцию SQL WHERE...
обновление не состоялось, если в исходной таблице было изменено ключевое поле | Key fields only
обновление не состоялось, если в удаленной таблице было изменено любое из полей, размеченное как обновляемое | Key and updatable fields
обновление не состоялось, если любое поле, которое вы изменили локально было изменено в исходной таблице | Key and modified fields
обновление не состоялось, если метка времени записи в удаленной таблице была изменена после первого извлечения данных (доступно только в удаленных таблицах, которые имеют поле timestamp) | Key and timestamp

Например, предположим, что у вас имеется простое удаленное представление, основанное на таблице Customer, которое включает в себя семь полей: cust_id, company, phone, fax, contact, title и timestamp. Первичным ключом вашего представления является cust_id.

Вы маркировали в качестве обновляемых только два поля: contact_name и contact_title. Вы желаете, чтобы у пользователя была возможность изменить данные контактного лица компании и его титул с помощью представления. Однако, если другие данные о компании изменились, например - адрес компании, вы желаете, чтобы изменения следовали через координатора, который может определить воздействия изменений на вашей компании, такие, как будет ли изменен регион потребителя. Теперь, когда ваше представление установлено для посылки обновлений вы можете выбрать значение свойства WhereType в соответствии с вашими предпочтениями.

Теперь предположим, что вы измененили имя в полей contact потребителя, но не меняли значения другого обновляемого поля, title. На основе этого примера в следующем разделе обсуждается - как установка WhereType будет оказывать влияние на опцию WHERE, которую выстроит Visual FoxPro для посылки нового имени контактного лица в таблицы базы.

Сравнение только ключевых полей

Наименее ограниченное обновление использует установку DB_KEY. Опция WHERE используется для обновления удаленных таблиц будет состоять только поля первичного ключа, указанного в свойстве KeyField или KeyFieldList. Пока не будет изменено поле первичного ключа или значение не будет удалено в базовой таблице, из которой вы извлекли запис, обновление будет осуществляться.

В случае предыдущего примера Visual FoxPro должен подготовить предложение обновления с опцией WHERE, которое сравнит значение в поле cust_id со значением поля cust_id в строке базовой таблицы:

CopyCode image Скопировать код
WHERE OLDVAL(customer.cust_id) = CURVAL(customer_remote_view.cust_id)

Когда предложение обновления посылается базовой таблице, то проверяется только ее ключевое поле.

Ключевое поле в вашем представлении сравнивается с аналогичным в базовой таблице.

Надписи на рисунке слева-направо и сверху-вниз:

  • Сравниваются поля выделенные желтым цветом
  • Ключевое поле
  • Это поле было изменено
  • Эти поля являются обновляемыми

Сравнение ключевого поля и полей, измененных в представлении

Установка DB_KEYANDMODIFIED, используемая по умолчанию, представляет собой просто более ограниченное по сравнению с DB_KEY обновление. DB_KEYANDMODIFIED сравнивает только ключевое поле и любые обновляемые поля, значения которых вы изменили в представлении с их соответствующими полями в базовой таблице. Если вы изменили поле в представлении, но поле не является обновляемым, то поля не сравниваются с данными в базовой таблице.

Опция WHERE, используемая для обновления базовой таблицы, состоит из первичных полей, указанных в свойстве KeyFieldList и любых других

полей, которые изменены в представлении. В случае предыдущего примера, Visual FoxPro должен подготовить предложение обновления, которое сравнит значения в поле cust_id, поскольку оно является ключевым полем, и поле contact, поскольку имя контактного лица было изменено. Несмотря на то, что поле title является обновляемым, оно не будет включено в предложение обновления, поскольку мы не меняли его значения.

Ключевые и измененные поля в вашем представлении сравниваются с аналогичными в базовой таблице.

Надписи на рисунке слева-направо и сверху-вниз:

  • Сравниваются поля выделенные желтым цветом
  • Ключевое поле
  • Это поле было изменено
  • Эти поля являются обновляемыми

Сравнение ключевого поля и всех обновляемых полей

Установка DB_KEYANDUPDATABLE сравнивает ключевое поле и любые обновляемые поля (вне зависимости - изменены они ли нет) в вашем представлении с их аналогами в базовой таблицеin. Если поля являются обновляемыми, даже если вы и не изменяли их значений в представлении, и если кто-либо еще изменил эти поля в базовой таблице, то обновление не состоится.

Опция WHERE, используемая для обновления базовой таблицы, состоит из первичных полей, указанных в свойстве Key Field или KeyFieldList и любых других полей, которые являются обновляемыми. В случае приведенного выше примера, Visual FoxPro должен подготовить предложение обновления, которое сравнит значение в полях cust_id, contact и title со значениями аналогичнх полей в строке базовой таблицы.

Все обновляемые поля в вашем представлении сравниваются с их аналогами в базовой таблице.

Viewed Fields Compared graphic

Надписи на рисунке слева-направо и сверху-вниз:

  • Сравниваются поля выделенные желтым цветом
  • Ключевое поле
  • Это поле было изменено
  • Эти поля являются обновляемыми

Сравнение Timestamp для всех полей в записи базовой таблицы

DB_KEYANDTIMESTAMP представляет собой наиболее ограниченный тип обновления, и доступен только в том случае, когда базовая таблица имеет колонку метки времени (timestamp). Visual FoxPro сравнивает текущую метку времени записи базовой таблицы с меткой времени соответствующей времени извдечения данных в представление. Если любое поле в записи базовой таблицы было изменено, даже если оно не является полем, которое вы пытались изменить или даже любым полем в вашем представление, обновление не состоится.

В случае примера, рассмотренного выше, Visual FoxPro подготавливает предложение обновления, которое сравнивает значение в поле cust_id и значение в поле timestamp со значениями аналогичных полей в строке базовой таблицы.

Метка времени (timestamp) для записи вашего представления сравнивается с меткой времени в записи базовой таблицы.

Надписи на рисунке слева-направо и сверху-вниз:

  • Сравниваются поля выделенные желтым цветом
  • Ключевое поле
  • Это поле было изменено
  • Эти поля являются обновляемыми

Для того, чтобы успешно обновить данные с помощью установки DB_KEYANDTIMESTAMP в многотабличном представлении, вы должны включить поле timestamp в вашем представлении для любой таблицы, которая является обновляемой. Например, если у вас в представлении имеется три таблицы и вы желаете обновлять только две из них и вы выбрали установку DB_KEYANDTIMESTAMP, вы должны вывести поля timestamp fields из двух обновляемых таблиц в ваш набор результатов. Вы можете, кроме того, использовать логические значения в свойстве CompareMemo для определения - были ли мемо-поля включены в определение конфликта обновления.

Смотрите также

Справочное руководство

Закладка Update Criteria (Критерий обновления), View Designer (Конструктора представления)
Функция DBSETPROP()
Функция CURSORSETPROP()

Концепции

Управление конфликтами при обновлении данных

Прочие ресурсы

Обновление данных
Программирование для совместного доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Managing Conflicts When Updating Data

Visual FoxPro 9.0
Управление конфликтами при обновлении данных
Смотрите также

Независимо от того, что вы используете - буферизацию, транзакции или представления, вы должны управлять конфликтами, которые могут возникнуть во время процесса обновления. Управление конфликтами, случающимися в многопользовательской среде может потребовать большого и повторяющегося объема кода. Полная процедура управления конфликтами производит перечисленное ниже:

  • Определяет конфликт.

  • Идентифицирует природу и размещение конфликта.

  • Предоставляет достаточную информацию с тем, чтобы пользователь мог разумно разрешить конфликт.

Примером процедуры управления конфликтами, может служить класс data checker, определенный в библиотеке Samples.vcx, размещенной в каталоге Visual FoxPro ...\Samples\Classes. Просто добавьте этот класс в форму и вызовите метод CheckConflicts до любой операции, которая записывает буферированные данные в таблицу, например до перемещения указателя записи, если вы используете буферирование строки, до закрытия таблицы или до выпуска команды TABLEUPDATE().

Управление конфликтами буферирования

Вы можете сделать процесс обновления данных более эффективным тщательным выбором - как и когда открывать, буферировать и блокировать данных в многопользовательской среде. Вы должны ограничить время, когда запись или таблица могут стать субъектом конфликта. Однако, вы должны предвидеть неизбежные конфликты и управлять ими. Конфликт происходит, когда один пользователь старается заблокировать запись или таблицу, которая в это же самое время заблокирована другим пользователем. Два пользователя не могут блокировать одну и ту жу запись или таблицу в одно и то же время.

Ваше приложение должно содержать процедуру для управления этими конфликтами. Если ваше приложение не имеет такой процедуры, система может заблокироваться. Зависание происходит, когда один пользователь заблокировал запись или таблицу и старается заблокировать другую запись или таблицу, которые уже заблокированы другим пользователем, который, в свою очередь, пытается заблокировать запись, которая уже заблокирована первым пользователем. Хотя такая конкуренция представляет собой довольно редкий случай, все таки имеется шанс для зависания.

Захват ошибок

Разработка многопользовательского приложения или введение сетевой поддержки в однопользовательскую систему требует, чтобы вы работали с коллизиями и захватом ошибок. Использование предоставляемого Visual FoxPro буферирования записи и таблицы упрощает некоторые из этих задач.

Если вы пытаетесь блокировать запись или таблицу, уже заблокированную другим пользователем, то Visual FoxPro вернет сообщение об ошибке. Вы можете использовать команду SET REPROCESS для автоматической работы с безуспешными попытками блокировки. Эта команда, в комбинации с процедурой, определенной с помощью ON ERROR, а также командой RETRY, позвволяет вам продолжить или прекратить попытки блокировки.

Приведенный ниже пример демонстрирует автоматическое повторение процесса безуспешной операции с помощью команды SET REPROCESS.

Использование SET REPROCESS и ON ERROR управления конфликтами пользователя
Программный код | Комментарий
ON ERROR DO err_fix WITH ERROR(),MESSAGE() SET EXCLUSIVE OFF SET REPROCESS TO AUTOMATIC USE customer IF !FILE('cus_copy.dbf') COPY TO cus_copy ENDIF | Эта процедура запускается в случае, если произошла ошибка. Открывает файлы для совместного доступа. Повторение безуспешных попыток блокировки производится автоматически. Открывает таблицу. Создает, при необходимости, таблицу для APPEND FROM.
DO app_blank DO rep_next DO rep_all DO rep_curr DO add_recs | Основная процедура запускается отсюда. Эти команды являются примером кода, который должен исполняться по ходу вашей программы.
ON ERROR | Основная процедура заканчивается здесь.
PROCEDURE app_blank APPEND BLANK RETURN ENDPROC | Процедура добавления пустой записи.
PROCEDURE rep_next REPLACE NEXT 1 contact WITH ; PROPER(contact) RETURN ENDPROC | Процедура для замещения данных в текущей записи.
PROCEDURE rep_all REPLACE ALL contact WITH ; PROPER(contact) GO TOP RETURN ENDPROC | Процедура для замещения данных во всех записях.
PROCEDURE rep_curr REPLACE contact WITH PROPER(contact) RETURN ENDPROC | Процедура для замещения данных в текущей записи.
PROCEDURE add_recs APPEND FROM cus_copy RETURN ENDPROC | Процедура для добавления записей из другого файла.

Приведенный ниже пример демонстрирует процедуру обработки ошибки, которая запускается, когда пользователь нажимает ESC.

Обработка ошибок с помощью клавиши ESC
Программный код | Коммантарий
PROCEDURE err_fix PARAMETERS errnum, msg | Эта программа вызывается, когда происходит ошибка и пользователь выходит из процесса ожидания с помощью клавиши ESC.
DO CASE | Определяется вид произошедшей ошибки. Не является ли она ошибкой "File is in use by another"?
CASE errnum = 108 line1 = "File cannot be locked." line2 = "Try again later..." |
CASE errnum = 109 .OR. errnum = 130 line1 = "Record cannot be locked." line2 = "Try again later." | или "Record is in use by another"?
OTHERWISE line1 = msg + " " line2 = ; "See your system administrator." ENDCASE | или вообще ни одна из определяемых?
=MESSAGEBOX( line1 + line2, 48, "Error!" ) RETURN | Отображает сообщение об ошибке в диалоговом окне с восклицательным знаком и командной кнопкой OK.

Смотрите также

Справочное руководство

Команда SET REPROCESS
Команда ON ERROR
Команда RETRY

Прочие ресурсы

Обновление данных
Программирование для совместного доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Как обнаруживаются конфликты изменений

Visual FoxPro 9.0
Как обнаруживаются конфликты изменений
Смотрите также

В течении операции обновления (модифицикации) данных, особенно в средах общего доступа, Вам бывает нужно определить, какие поля изменились или какое значение: оригинал или текущие находятся в изменяемых полях. Буферизация Visual FoxPro и функции GETFLDSTATE( ), GETNEXTMODIFIED( ), OLDVAL( ) и CURVAL( ) дают Вам возможность определить какое поле изменилось, найти измененные данные, и сравнить текущее, оригинальное и отредактированные значения так, что Вы можете решить, как обработать ошибку или конфликт.

Обнаружение изменения значения поля

  • После операции изменения используйте функцию GETFLDSTATE( ).

GETFLDSTATE( ) работает и на небуферизованных данных. Однако эта функция более эффективна, когда Вы применяете буферизацию записей. Например, используйте GETFLDSTATE () в коде кнопки Следующая на форме. Когда Вы перемещаете указатель записи, Visual FoxPro проверяет состояние всех полей записи как в следующем примере:

CopyCode image Копировать
lModified = .F.
FOR nFieldNum = 1 TO FCOUNT( ) && Проверка всех полей
   if GETFLDSTATE(nFieldNum) = 2  && Были изменеия
      lModified = .T.
      EXIT && Здесь вставить  процедуру обновления/сохранения.
   ENDIF && См. следующий пример.
ENDFOR

Обнаружение и помещение измененной записи в буферизированных данных

  • Используйте функцию GETNEXTMODIFIED( ).

GETNEXTMODIFIED( ) с нолем в качестве параметра находит первую измененную запись. Если другой пользователь делает изменения в буферизированной таблице, любые изменения, с которыми сталкивается команда TABLEUPDATE( ) в вашем буфере создаст конфликты. Вы можете оценивать противоречивые значения и разрешать их, используя функции CURVAL( ), OLDVAL( ) и MESSAGEBOX( ). CURVAL( ) Возвращает текущее значение записи с диска, в то время как OLDVAL () возвращает значение записи на момент, когда она была буферизирована.

Определение первоначального значения буферизированного поля

  • Используйте фукцию OLDVAL( ).

OLDVAL( ) возвращает значение буферизированного поля.

Определение текущего значения буферизированного поля на диске

  • Используйте фукцию CURVAL( ).

CURVAL( ) возвращает текущее значение буферизированного поля на диске до начала любых его измений.

Вы можете создавать процедуру обработки ошибки, которая сравнивает текущие и первоначальные значения, давая Вам возможность самим решить: сохранить текущее изменение или использовать более раннее изменение данных в среде общего доступа.

Следующий пример использует GETNEXTMODIFIED (), CURVAL () и OLDVAL () чтобы обеспечить пользователя информированным выбором в операции модификации. Этот пример начинается с обнаружения первой измененной записи и мог бы содержаться в кнопке Обновить или в кнопке Сохранить на форме.

Код события Click для кнопки Обновить или Сохранить
Код | Коментарий
nCurRec = GETNEXTMODIFIED(nCurRec) DO WHILE nCurRec <> 0 GO nCurRec RLOCK( ) | Проход через буфер. Блокирование измененной записи.
FOR nField = 1 TO FCOUNT(cAlias) cField = FIELD(nField) IF OLDVAL(cField) <> CURVAL(cField) nResult = MESSAGEBOX("Данные были; изменены другим пользователем. ; Сохранить изменения?", 4+48+0, ; "Изменение записи") | Обнаружение конфликта. Сравнение первоначального значение с текущим значением на диске и, затем, запрос к пользователю, что делать с конфликтом.
IF nResult = 7 TABLEREVERT(.F.) UNLOCK RECORD nCurRec ENDIF ENDIF ENDFOR nCurRec = GETNEXTMODIFIED(nCurRec) ENDDO | Если пользователь выбрал "Нет", возвращается эта запись и, затем, удаляется блокировка. Находится следующая измененная запись.
TABLEUPDATE(.T., .T.) | Принудительная модификация всех записей.

Вы можете использовать свойство CompareMemo, чтобы управлять использованием мемо-полей при обнаружении конфликтов модификации. Это свойство представления и курсора определяет, нужно ли включать мемо-поля (типы М или G) в раздел WHERE модификации. Параметр по умолчанию - Истина (.T)., означает, что мемо-поля включены в раздел WHERE. Если Вы устанавливаете это свойство в Ложь (.F), мемо-поля не участвуют в раздел WHERE модификации, независимо от параметров настройки UpdateType.

Оптимистическое обнаружение конфликта мемо-полей заблокировано, когда CompareMemo установлено в Ложь. Для обнаружения конфликта значений мемо, установите CompareMemo в Истину (.T).

Смотрите также

Ссылки

Функция GETFLDSTATE( )
Функция GETNEXTMODIFIED( )

Концепции

Управление конфликтами при обновлении данных
Управление обновлениями при использовании представлений

Другие ресурсы

Программирование общего доступа

Чтобы сделать предложение или сообщить об ошибке (дефекте) этой справки или других неприятных особенностях этой программы, посетите feedback site.
© Microsoft Corporation. All rights reserved.


Optimizing Applications in Multiuser Environments

Visual FoxPro 9.0
Оптимизация Приложений в условиях Многопользовательской Среды
Смотрите Также

При создании Приложения для Многопользовательской Среды, необходимо уделить много внимания процессам обработки Данных, так как существующие недостатки планирования коллективной обработки данных могут только Увеличиваться. Когда несколько Пользователей получает доступ к исходным Данным, ваше Приложение должно корректно и надежно управлять обработкой Данных, отслеживать Сетевое Окружение (доступность и недоступность Удаленных Источников Данных).

Вы можете использовать следующие Рекомендации по обеспечению, управлению, производительности Обработки Данных в Сети:

  • Соответствующее использование Индексов Таблиц или Сортировки.

  • Корректировка продолжительности интервалов Попыток Блокировки Данных.

  • Эффективное использование механизмов Транзакций.

Вы можете также использовать основополагающие Рекомендации по обработке данных, размещенных на удаленных Серверах (источниках данных). Дополнительную информацию смотрите в разделе: Оптимизация Доступа к Удаленным Данным.

Соответствующая Индексация или Сортировка Таблиц Данных

Когда данные в Таблице являются относительно Статичными (например: Справочники), достаточно использовать обычную Сортировку Данных, не используя переключаемые Индексы. Однако, обычная Сортировка данных не исключает использования соответствующих Индексных Таблиц (индексных файлов), с помощью которых достигается высокая производительность по Поиску требуемых данных. Например, для выполнения поисковой команды SEEK требуется соответствующий активный Индекс, требуемые данные находятся очень быстро. Однако, после выполнения поиска требуемой Записи в Таблице, команды SEEK, активный Индекс можно Отключить... (рекомендуектся).

Корректировка интервалов Попыток Блокировки Данных

Если ваше Приложение неуспешно пытается Блокировать некоторую Запись Таблицы или Таблицу целиком, вы можете определить (задать) значение интервала времени, через который система Visual FoxPro автоматически повторит попытку требуемой Блокировки данных. Однако, каждая попытка Блокировки увеличивает размер Общего Трафика в Сети, тем самым ухудшает общее состояние Трафика в Сети, производительность работы всех Пользователей. Для построения более эффективных сценариев обработки данных рекомендуется использовать системную функцию: SYS(3051) - Установка интервалов повторной Блокировки. При использовании относительно длинных интервалов повторной Блокировки, что означает меньшее количество обращений за одну секунду, уменьшает общий Сетевой Трафик, повышает производительность вашей Сети, однако может немного замедлить работу вашего Приложения.

Дополнительную информацию смотрите в разделе: SYS(3051) - Определение интнрвала повторной Блокировки.

Эффективное использование механизмов Транзакций

При использовании механизмов Транзакций рекомендуется планировать их выполнение таким образом, чтобы как можно они выполнялись достаточно быстро и с наименьшим влиянием на других Пользователей в Сети, или использующих те же Источники Данных. Идеальная Транзакция должна содержать только операторы Обновления Данных.

Когда вы добавляете Запись в Таблицу, Visual FoxPro блокирует Заголовок соответствующего файла Таблицы. Указанный заголовок остается блокированным на весь период выполнения текущей транзакции, тем самым обеспечивается недоступность добавлять новые записи другим пользователям. До тех пор, пока текущая Транзакция остается Открытой, остаются блокированными все соответствующие наборы Данных, к которым относиться данная Транзакция, до тех пор пока эта транзакция не будет подтверждена или будет выполнен Откат Транзакции. Даже если вы явно выполняете команду снятия Блокировки: UNLOCK, сама блокировка остается активной, до тех пор, пока не будет выполнена команда закрытия Транзакции:END TRANSACTION или команда Отката: ROLLBACK. Смотрите дополнительно разделы: UNLOCK, команда, END TRANSACTION, команда, ROLLBACK, команда.

Например, предположим, вы намереваетесь выполнить Цикл Транзакции для обновления Данных некоторой Таблицы из пользовательской Формы. Вместо того, чтобы начинать Транзакцию при запуске указанной Формы, а закрывать указанную Транзакцию при закрытии Формы, рекомендуется использовать представленный ниже фрагмент программного Кода для События Click управляющей кнопки Save (Сохранить), в этом случае длительность Транзакции будет минимальной:

CopyCode image Копировать Код
BEGIN TRANSACTION
UPDATE Products SET reorder_amt = 0 WHERE discontinued = .T.
END TRANSACTION

См. также

Концепции

Оптимизация параметров системы Visual FoxPro в условиях Многопользовательской Среды
Оптимизация Доступа к Удаленным Данным

Другие ссылки

Программирование процессов Коллективного Доступа к Данным

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Visual FoxPro Data Access Using the OLE DB Provider

Visual FoxPro 9.0
Доступ к данным Visual FoxPro с помощью провайдера OLE DB

Вы можете получить доступ к данным Visual FoxPro из других языков программирования и Приложений. Для этого используется Microsoft OLE DB Provider Visual FoxPro, который обеспечивает соединения с источниками данных Visual FoxPro, базами данных и таблицами, выполняет выборку данных из указанных источников, которые могут быть использованы в программных системах Visual Studio и приложениях Microsoft Office.

В данном Разделе

Провайдер OLE DB для системы Visual FoxPro

Описываются основные возможности Провайдера Visual FoxPro OLE DB по решению различных информационных задач, полной функциональности обработки получаемых данных.

Как: Получить доступ к данным Visual FoxPro в системах Visual Studio

Описываются основные методы доступа к базам данных и таблицам Visual FoxPro при помощи Провайдера Visual FoxPro OLE DB при разработке приложений в системах Visual Studio.

Как: Получить доступ к данным Visual FoxPro в системах Microsoft Office

Описывается, как получить доступ в системах и приложениях Microsoft Office (Word и Excel) к данным баз данных и таблиц Visual FoxPro при использовании соответствующего провайдера OLE.

Связанные секции

Описание Языка для OLE DB

Описывается поддерка языковых элементов Visual FoxPro для соответствующего провайдера OLE DB.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


OLE DB Provider for Visual FoxPro

Visual FoxPro 9.0
OLE DB Provider для Visual FoxPro
Смотрите также
CollapseAll image

Visual FoxPro OLE DB Provider (VfpOleDB.dll) делает видимыми интерфейсы OLE DB, которые вы можете использовать для обращения к таблицам и базам данныхVisual FoxPro из других програмных языков и приложений.

Visual FoxPro OLE DB Provider включает в себя следующее:

  • Поддержку большей часть функциональности Open Database Connectivity (ODBC) driver из ранних версий FoxPro

  • Улучшенная поточная модель для переносимости

    Note Замечание

    Visual FoxPro OLE DB Provider не поддерживает множественных наборов результатов.

  • Расширенные функциональные возможности для хранимых процедур и обращения к ним

    Хранимые процедуры возвращают скалярные результаты в наборах строк и могут принимать параметры. Visual FoxPro OLE DB Provider обеспечивает интерфейс ICommandPersist с тем, чтобы вы могли создавать, изменять или удалять хранимые процедуры в процедурном коде или в модулях.

  • Поддержка событий контейнера базы данных DBC и способность создавать, изменять или удалять функции и процедуры в модуле хранимых процедур контейнера базы данных DBC

  • Поддержка для следующих схем Schema Rowsets: Table, Column, Provider Types, Indexes, Primary Keys, Procedures, Foreign Keys, Views, Table Constraints, Check Constraints и Referential Constraints

  • Распознавание любого допустимого файла конфигурации Visual FoxPro (.fpw), который хранится в том же самом каталоге, что и Provider. Однако, провайдером в файле конфигурации распознаются только перечисленные ниже установки.

    • MVCOUNT - которая устанавливает максимальное число переменных, которые могут обслуживаться Visual FoxPro.

    • ENGINEBEHAVIOR - которая указывает уровень совместимости движка.

    • TABLEVALIDATE - которая определяет уровень производимой проверки на корректность таблицы.

    • REFRESH - которая определяет - как часто обновляются локальные буферы памяти изменениями, произведенными другими пользователями в сети.

Вы можете производить следующие операции через Visual FoxPro OLE DB Provider:

  • Обращаться к данным Visual FoxPro из внешних приложений.

  • Создавать n-tier тонких и толстых клиентов, которые обращаются к унаследованным данным Visual FoxPro.

  • Использовать поднабор языка Visual FoxPro в хранимых процедурах базы данных.

  • Создавать и обслуживать контейнеры базы данных (DBCs) с помощью расширенной функциональности Data Manipulation Language (DML) и расширений ADOX для ADO.

Visual FoxPro OLE DB Provider поддерживается OLE DB System Components, которые поставляются с версией MDAC 2.6 или более поздней. Эти требования для запуска Visual FoxPro OLE DB Provider являются теми же самыми, что и для этой версии Visual FoxPro.

Note Замечание

Когда вы используете Visual FoxPro OLE DB Provider в качестве связанного сервера SQL (SQL Server-linked server), то поддерживаются только запросы. Visual FoxPro OLE DB Provider не поддерживает операции обновления, вставки или удаления через связанный сервер (linked server).

Expand image Соотношение между методами Visual FoxPro OLE DB и функциями ODBC Driver

OLE DB и ODBC представляют собой разные интерфейсы. Не существует один к одному соответствия между свойствами одного интерфейса и аттрибутами другого. OLE DB содержит богатые наборы определений свойств и параметров методов интерфейса, которые предоставляют сервисы, значительно отличающиеся от тех, что предоставляет ODBC.

Для получения более подробной информации смотрите документацию по OLE DB о схеме набора строк (schema rowsets), наборов свойств (property sets) и методах. Посмотрите обсуждение OLE DB соотносительно к ODBC в статье на сайте MSDN "OLE DB for the ODBC Programmer."

Expand image Хранимые процедуры в OLE DB Provider

Visual FoxPro OLE DB Provider принимает команды хранимых процедур в приведенных ниже форматах:

  • Вызов хранимой процедуры с использованием обычного синтаксиса:

    CopyCode image Скопировать код
    myStoredProc( Param1, Param2, ... )

  • Вызов хранимой процедуры с использованием ключевого слова SQL EXEC с приведенным ниже синтаксисом:

    CopyCode image Скопировать код
    EXEC myStoredProc( Param1, Param2, ... )

    где каждый параметр в его формате предполагается в его типе данных или представляет собой допустимое выражение, которое вернет такой форма, так как это показано в приведенном ниже примере:

    CopyCode image Скопировать код
    EXEC myStoredProc( 'characterparm', {^2002/09/09}, dateTime(), 100, 99.99, .T.)
    Note Замечание

    Убедитесь, что заменили myStoredProc желаемым именем хранимой процедуры.

    Note Совет

    Когда вы используете ADO или ADO.NET и устанавливаете Command Type в Stored Procedure, у вас отпадает необходимость включать ключевое слово EXEC. Если Command Type установлено в Stored Procedure, вы должны использовать обычный синтаксис для хранимых процедур или использовать ключевое слово EXEC.

Expand image Входы реестра

Когда вы инсталлируете Visual FoxPro OLE DB, программа установки обновляет ваш системный реестр, HKEY CLASSES_ROOT, и добавляет перечисленные ниже новые ключи:

HKEY_CLASSES_ROOT\VFPOLEDB

HKEY_CLASSES_ROOT\VFPOLEDB.1

HKEY_CLASSES_ROOT\Vfpoledb.ConnectionPage

HKEY_CLASSES_ROOT\Vfpoledb.ConnectionPage.1

HKEY_CLASSES_ROOT\VFPOLEDB.ErrorLookup

HKEY_CLASSES_ROOT\VFPOLEDB.ErrorLookup.1

Expand image Поддержка национальных языков

Visual FoxPro OLE DB Provider поддерживает национальный язык для приведенного ниже:

  • Double-byte character sets (DBCS)

  • Multiple collating sequences

    Последовательность сопоставления определяет порядок сортировки данных, хранящихся в таблице или базе данных Visual FoxPro. Visual FoxPro OLE DB Provider по умолчанию конфигурируется для использования последовательностей сопоставления, которые поддерживаются языковой версией вашей операционной системы.

Expand image Смотрите также

Задачи

Как: обращаться к данным Visual FoxPro из Visual Studio
Как: обращаться к данным Visual FoxPro из Microsoft Office

Справочное руководство

Руководство по языку для разработки OLE DB

Прочие ресурсы

Обращение к данным Visual FoxPro с использованием OLE DB Provider

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Access Visual FoxPro Data in Visual Studio

Visual FoxPro 9.0
Как: Получить доступ к Данным Visual FoxPro в системе Visual Studio
Смотрите также

Вы можете обращаться к базам данным и таблицам Visual FoxPro в Visual Studio с помощью Visual FoxPro OLE DB Provider. Visual FoxPro OLE DB Provider доступен через Visual Studio Server Explorer или через использование строки соединения в программном коде.

Доступ к источникам данных Visual FoxPro Data Sources через Visual Studio Server Explorer

Вы можете обращаться к базам данным и таблицам Visual FoxPro в Visual Studio введением их в списое соединений с данными, который появляется в панели Visual Studio Server Explorer. Для начала вам необходимо указать соединение через Visual FoxPro OLE DB Provider к желаемым базам данных и таблицам. Затем вы можете выбрать базы данных или таблицы для того, чтобы они появились в панели Visual Studio Server Explorer pane.

Note Замечание

У вас есть возможность указать папку желаемой базы данных или таблицы Visual FoxPro предоставив путь и имя файла или просто найти ее на диске просмотром.

Для соединения к базе данных или таблице Visual FoxPro через Visual FoxPro OLE DB Provider

  1. Откройте Visual Studio.

  2. Из меню View выберите Server Explorer.

  3. В панели Server Explorer выполните щелчок по правой клавише мыши на Data Connections и затем щелкните на Add Connection.

  4. В диалоговом окне Data Link Properties щелкните на закладке Provider tab.

  5. Выберите Microsoft OLE DB Provider for Visual FoxPro.

    В диалоговом окне Data Link Properties появится закладка Connection.

Для ввода базы данных или таблицы Visual FoxPro

  1. На закладке Connection впечатайте в боксе Select or enter a database name путь и имя желаемой базы данных или таблицы.

    - или -

    Для поиска папки базы данных или таблицы Visual FoxPro щелкните по командной кнопке поиска (...) справа от бокса ввода пути и имени файла для того, чтобы открыть диалоговое окно Configure Connection.

  2. Укажите, если требуется, другую последовательность сопоставления (collating sequence).

  3. Для проверки соединения, щелкните по Test Connection. Если соединение удалост установить, щелкните поOK.

Выбранная папка базы данных или таблицы появится в Visual Studio Server Explorer под узлом Data Connections.

Доступ к источникам данных Visual FoxPro с помощью строк соединения

Для доступа к источникам данных Visual FoxPro в программном коде, используйте допустимую строку соединения для указания Visual FoxPro OLE DB Provider, источника данных или имени источника данных. Например, вы можете обращаться к Visual FoxPro OLE DB Provider используя программный код Visual FoxPro.

Кроме того, вы можете вместо источника данных указать существующих Visual FoxPro ODBC Data Source Name (DSN). Provider использует источник данных, указанный в DSN и расширяет его в подходящую для Provider строку соединения.

Для соединения с Visual FoxPro OLE DB Provider в Visual FoxPro

  1. Создайте объект ActiveX Data Object (ADO) Connection object aи создайте объект данных в Visual FoxPro.

  2. Укажите Visual FoxPro OLE DB Provider и источник данных в строке соединения так, как это показано в приведенном ниже программном коде:

    CopyCode image Скопировать код
    oConn = CREATEOBJECT("ADODB.Connection")
oConn.ConnectionString = "provider=vfpoledb.1;;
   data source=.\MyTestDatabase.dbc"
oConn.Open

Этот код создает объет данных из которого вы можете извлекать данные.

Note Замечание

Убедитесь, что заменили MyTestDatbase своим, подходящим именем базы данных.

Вместо источника данных вы можете использовать в строке соединения существующий Open Database Connectivity (ODBC) data source name (DSN) для Visual FoxPro OLE DB Provider. Visual FoxPro OLE DB Provider принимает параметр, DSN = cDSNName, и использует источник данных, указанный в DSN так, как это показано в приведенном ниже примере:

CopyCode image Скопировать код
oConn=CREATEOBJECT("adodb.connection")
oConn.ConnectionString="Provider=vfpoledb;DSN=ODBCdataSourceName"
oConn.Open()
Note Замечание

Убедитесь, что заменили ODBCdataSourceName своим, подходящим ODBC DSN, например, vfpTestData.

После того, как соединение будет открыто, вы можете запрашивать значение ConnectionString для определения оцениваемого источника данных.

Строка соединения включает в себя приведенные ниже ключевые слова-атрибуты и значения:

Provider= cVFPOLEDBProvider

Указывает Visual FoxPro OLE DB Provider (VFPOLEDB).

Data Source= cPath

Указывает путь к базе данных Visual FoxPro или папкуЮ содержащую свободные таблицы. Например, c:\Microsoft Visual FoxPro\Samples\Data\Testdata.dbc

DSN= cDSNName

Указывает существующий ODBC DSN.

Mode= cMode

Указывает одно из списка: Read, ReadWrite, Share Deny None (по умолчанию), Share Deny Read, Share Deny Write или Share Exclusive, которое включает два предыдущих режима.

Для полного объяснения синтаксиса строки соединения обратитесь к Microsoft OLE DB 2.5 Programmer's Reference and SDK Guide.

Обновление данных Visual FoxPro

Вы можете обновлять данные Visual FoxPro новыми значениями через Visual FoxPro OLE DB Provider с помощью ADO. Приведенная ниже процедура описывает три метода, с помощью которых вы можете производить обновление данных Visual FoxPro используя данные из базы данных Northwind, размещенной в каталоге Visual FoxPro ..\Samples\Northwind.

Note Замечание

Убедитесь, что вы заменили имя NorthWind.dbc именем базы данных, которую вы желаете использовать.

Для обновления данных Visual FoxPro через Visual FoxPro OLE DB Provider с помощью ADO

  1. Вызовите команды обновления, вставки или удаления (update, insert или delete) непосредственно в коде.

    Для прямого вызова команды обновления используйте метод ADO Execute. Например:

    CopyCode image Скопировать код
    CLEAR
LOCAL oConn as "adodb.connection"
LOCAL oRS as "adodb.recordset"
oConn = CREATEOBJECT('adodb.connection')
oRS = CREATEOBJECT('adodb.recordset')
cConnStrng = ;
   "Provider=vfpoledb;Data Source="+HOME(2)+"Northwind\Northwind.dbc"
oConn.Open(cConnStrng)
oConn.BeginTrans()
oConn.Execute("UPDATE Customers SET contactname = 'Patricio X. Simpson';
   WHERE customerid='CACTU'")
oRS = oConn.Execute("SELECT * FROM customers WHERE customerid = 'CACTU'")
?oRS.Fields("contactname").Value
oConn.RollbackTrans()
oRS.Requery()
?oRS.Fields('contactname').Value
oRS.Close()
oConn.Close()

    - или -

  2. Используйте курсор на клиенте.

    Например:

    CopyCode image Скопировать код
    CLEAR
LOCAL oConn as "adodb.connection"
LOCAL oRS as "adodb.recordset"
oConn = CREATEOBJECT('adodb.connection')
oRS = CREATEOBJECT('adodb.recordset')
cConnStrng = ;
   "Provider=vfpoledb;Data Source="+HOME(2)+"Northwind\Northwind.dbc"
oConn.CursorLocation= 3            && adUseClient
oConn.Open(cConnStrng)

*!* Open RecordSet using keyset cursor and optimistic locking.
oRS.Open(;
   "SELECT * FROM customers WHERE customerid = 'CACTU'",oConn,1,3,1)
? 'Current value:',oRS.Fields("contactname").Value
oRS.Fields("contactname").Value = "Patricio X. Simpson"
oRS.Update()
oRS.Requery()
? 'New value:',oRS.Fields("contactname").Value
oRS.Close()
oConn.Close()

    - или -

  3. Используйте курсор на сервере.

    Например:

    CopyCode image Скопировать код
    LOCAL oRS as "adodb.recordset"
oConn = CREATEOBJECT('adodb.connection')
oRS = CREATEOBJECT('adodb.recordset')
cConnStrng = ;
   "Provider=vfpoledb;Data Source="+HOME(2)+"Northwind\Northwind.dbc"
oConn.Open(cConnStrng)

*!* Updatable server cursors must use the USE <table name> command to
*!* open the table, not a SELECT statement. Server cursor is updatable,
*!* opened keyset, and lock optimistic.
oRS.Open("USE customers",oconn,1,3,1)
? 'CursorLocation:',IIF(oRS.CursorLocation=2,"adUseServer","adUseClient")

* Find CACTU.
? oRS.Find("customerid='CACTU'")
? 'Current value:',oRS.Fields("contactname").Value
oRS.Fields("contactname").Value = "Patricio Simpson"
oRS.Update()
oRS.Requery()
oRS.Find("customerid='CACTU'")
? 'New value:',oRS.Fields("contactname").Value
oRs.Close()
oRS =''
oConn.Close()oConn=''

Доступ к данным Visual FoxPro Data из других языков

Вы можете обращаться к Visual FoxPro OLE DB Provider из других языков используя различные строки соединения, зависящие от языка. Например, для соединения с базой данных Visual FoxPro из приложения Visual C#, вы можете использовать приведенную ниже строку соединения, заменив имя myVFPDatabase подходящим именем источника данных:

CopyCode image Скопировать код
oleDbConnection1.ConnectionString = "Provider=VFPOLEDB.1;" +
   "Data Source=C:\\myVFPDatabase.DBC;";

Приведенные ниже программный код иллюстрирует использование строк соединения, которые указывают Visual FoxPro OLE DB Provider и источник данных из других языков.

Note Замечание

Убедитесь, что заменили myVFPDatabase подходящим источником данных или DSN.

Для обращения к данным Visual FoxPro в Visual C#

  • Используйте строку соединения для указания Visual FoxPro OLE DB Provider и обращайтесь к источнику данных так, как показано в приведенном ниже программном коде:

    CopyCode image Скопировать код
    OleDbConnection oleDbConnection1 = new OleDbConnection("Provider=VFPOLEDB.1;" +
      "Data Source=C:\\myVFPDatabase.DBC;");
oleDbConnection1.Open();

Для доступа к данным Visual FoxPro из Visual Basic

  • Используйте строку соединения для указания Visual FoxPro OLE DB Provider и источника данных так, как это показано в приведенном ниже коде, где oConnection представляет собой объект ADO Connection:

    CopyCode image Скопировать код
    oConnection.Open("Provider=vfpoledb.1;
   Data Source=.\myVFPDatabase.dbc")

Для доступа к данным Visual FoxPro с помощью ActiveX Data Objects (ADO) в Visual Basic

  • Используйте строку соединения для указания Visual FoxPro OLE DB Provider и источника данных так, как это показано в приведенном ниже коде:

    CopyCode image Скопировать код
    Imports System.Data.OleDb
Public Class ConnectToVFP
    Public Function ADONETOpenVFPDatabase() As Boolean
        Dim bIsConnected As Boolean = True
        Try
            Dim cnn As New OleDbConnection("Provider=VFPOLEDB.1;" + _
               "Data Source=.\MyTestDatabase.dbc;")
            cnn.Open()
        Catch e As System.Exception
            bIsConnected = False
        End Try
        Return bIsConnected
    End Function
End Class
    Note Замечание

    Убедитесь, что заменили MyTestDatabase именем своей базы данных или каталога таблицы, доступ к которым вы желаете получить.

Для доступа к источнику данных Visual FoxPro из Visual C++

  • Установите свойства базы данных указанием массива DBSetProp, массива DBProp и указателя IDBProperties, следующими за строкой соединения, которая указывает Visual FoxPro OLE DB Provider так, как показано в приведенном ниже программном коде:

    CopyCode image Скопировать код
    HRESULT hr;
CLSID clsid;

// Set the DBProp array.
DBPROP iProp[1];
DBPROPSET rgIP;
IDBProperties* pIDBProperties = NULL;
IDBInitialize *pIDBInitialize = NULL;
VariantInit(&iProp[0].vValue);
iProp[0].dwOptions = DBPROPOPTIONS_OPTIONAL;    // Required
iProp[0].colid = DB_NULLID;

// Set the location of data source.
iProp[0].dwPropertyID = DBPROP_INIT_DATASOURCE;
iProp[0].vValue.vt = VT_BSTR;
iProp[0].vValue.bstrVal = L"c:\myVFPDatabase.dbc"; // Data source

// Set DBpropset to point to the DBPROP array.
rgIP.guidPropertySet = DBPROPSET_DBINIT;
rgIP.cProperties = 1;
rgIP.rgProperties = iProp;
::CoInitialize(NULL);
hr = CLSIDFromProgID(L"vfpoledb.1",&clsid); // Specify OLE DB Provider.
hr = CoCreateInstance(clsid,
       NULL,
       CLSCTX_INPROC_SERVER,
       IID_IDBInitialize,
       (void**)&pIDBInitialize);

// Initialize.
hr = piDBInitialize->QueryInterface(_uuidof(IDBProperties), (void**)&pIDBProperties);
hr = pIDBProperties->SetProperties(1 , &rgIP) ;
hr = pIDBProperties->Release();
hr = pIDBInitialize->Initialize();

Для доступа к источнику данных Visual FoxPro в ASP с помощью ActiveX Data Objects (ADO)

  1. Создайте страницу ASP с соответствующими тэгами HTML.

  2. Для установки соединения и запуска команд с использованием ADO, добавьте код Visual Basic Scripting Language (VBScript):

    CopyCode image Скопировать код
    <%
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.ConnectionString="Provider=VFPOLEDB.1;
       Data Source=myVFPDatabase.dbc"
    conn.Open
    sql = "select * from tableName"
    Set rsArrival = conn.Execute(sql)
%>
    Note Замечание

    Убедитесь, что заменили tableName именем своей таблицы, которую вы желаете использовать.

Для доступа к источнику данных Visual FoxPro в JScript

  • Используйте строку соединения, для указания Visual FoxPro OLE DB Provider и источника данных так, как это показано в приведенном ниже программном коде:

    CopyCode image Скопировать код
    var vbOKCancel = 0;
var vbInformation = 64;
var vbCancel = 2;
var L_Welcome_MsgBox_Message_Text = "This script demonstrates how to access VFP OLE DB Provider using the Windows Scripting Host.";
var L_Welcome_MsgBox_Title_Text = "VFP OLE DB Provider JScript Sample";
var sBuffer = "";
var sConnString = "Provider=vfpoledb.1;Data Source=myVFPDatabase.dbc";
var oConn = new ActiveXObject("ADODB.Connection");
var oRS = new ActiveXObject("ADODB.Recordset");
oConn.Open(sConnString);
oRS.Open("select * from tableName where fieldName1='fieldValue'",oConn,3,3);
// Get tableName.fieldName2
sBuffer = oRS.Fields('fieldName2').value;

var WSHShell = WScript.CreateObject("WScript.Shell");
var intDoIt;
intDoIt =  WSHShell.Popup(sBuffer,
   0,
   L_Welcome_MsgBox_Title_Text,
   vbOKCancel );
   if (intDoIt == vbOKCancel) {
      oRS.Close();
      oConn.Close();
      WScript.Quit();
}
    Note Замечание

    Убедить, что заменили myVFPDatabase, tableName, fieldName1, fieldName2 и fieldValue своими, соответствующими значениями. Вы должны использовать обратный слэш (\) для указания символов в пути к файлу, например: "c:\\MyFolder\\MyVFP.dbc".

Смотрите также

Задачи

Как: обращаться к данным Visual FoxPro в Microsoft Office

Справочное руководство

OLE DB Provider для Visual FoxPro
Справочное руководство по языку для OLE DB Development

Прочие ресурсы

Доступ к данным Visual FoxPro Data с использованием OLE DB Provider

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Access Visual FoxPro Data in Microsoft Office

Visual FoxPro 9.0
Как: обращаться к данным Visual FoxPro в Microsoft Office
Смотрите также

Вы можете обращаться к данным из баз данных и таблиц Visual FoxPro в приложениях Microsoft Office таких, как Microsoft Excel или Microsoft Word, с помощью Visual FoxPro OLE DB Provider.

Note Замечание

Вы можете импортировать данные Visual FoxPro используя Visual FoxPro OLE DB Provider только в Office XP (а также в MS Office 2003).

Для соединения с базой данных или таблицей Visual FoxPro в Excel

  1. Откройте рабочий лист Excel.

  2. В меню Data перейдите к Import External Data и щелкните на Import Data.

  3. В диалоговом окне Select Data Source щелкните на New Source Data Connection, в MS Office 2003 - New Source....

  4. В диалоговом окне Data Connection Wizard выберите Other/Advanced и щелкните по Next.

  5. Откроется диалоговое окно Data Link Properties, в котором на закладке Provider выберите Microsoft OLE DB Provider for Visual FoxPro и снова щелкните на Next.

    Дальнейшие операции будут описаны ниже, после указаний для соединения в Microsoft Word.

Вас перенесут на закладку Connection.

Для соединения с базой данных или таблицей Visual FoxPro в Word

  1. Откройте документ Word.

  2. В меню View перейдите на Toolbars и щелкните по Database.

  3. В панели инструментов Database щелкните по иконке Insert Database.

  4. В диалоговом окне Database щелкните на Get Data.

  5. В диалоговом окне Select Data Source щелкните на New Source Data Connection, в MS Office 2003 - New Source....

  6. В диалоговом окне Data Connection Wizard выберите Other/Advanced.

  7. на закладке Provider выберите Microsoft OLE DB Provider for Visual FoxPro.

Вас перенесут на закладку Connection.

Для ввода базы данных или папки таблицы Visual FoxPro

  1. На закладке Connection в боксе Select or enter a database name впечатайте имя желаемой базы данных или папки с таблицами.

    - или -

    Для поиска базы данных Visual FoxPro или папки с таблицами щелкните по кнопке (...) справа от бокса Select or enter a database name для того, чтобы открыть диалоговое окно Configure Connection.

  2. Укажите желаемую последовательность сопоставления (collating sequence), если не желаете использовать предложенную по умолчанию "Machine".

  3. Для теста соединения щелкните по кнопке Test Connection. Если появится сообщение "Test connection succeeded" щелкните по OK.

    Далее следуйте инструкциям на экране, которые могут отличаться для разных версий MS Office.

Смотрите также

Задачи

Как: обращаться к данным Visual FoxPro в Visual Studio

Справочное руководство

OLE DB Provider for Visual FoxPro
Справочное руководство для OLE DB разработок

Прочие ресурсы

Доступ к данным Visual FoxPro с помощью OLE DB Provider

Ресурсы русского FoxClub

Доступ к данным Visual FoxPro из приложений MS Office
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Enhancing Applications Using SQL Pass-Through Technology

Visual FoxPro 9.0
Расширение приложений с помошью использования технологии SQL Pass-Through

Создаете-ли вы и переносите работающий локальный прототип или разрабатываете-ли вы ваше приложение для работы с удаленными данными с использованием удаленных представлений, в любом случае вы приобретаете доступ к большим хранилищам данных, доступных обычно в серверах баз данных. Кроме того, вы получаете преимущества, заключающиеся в безопасности данных и возможностях обработки транзакций на удаленном сервере. Если удаленные представления обслуживают основные задачи управления данными, то с помощью использования технологии сквозных запросов SQL pass-through (SPT) вы можете значителньо расширить возможности вашего приложения, через создание на сервере объектов, запуска на нем хранимых процедур и исполнение команд с использованием родного синтаксиса сервера.

В перечисленных ниже статьях обсуждаются методики для внедрения клиент/серверной технологии в работающие приложения, которые используют удаленные представления.

В этом разделе

Как: установить источник данных ODBC

Описывается, как установить драйвер ODBC и установить источник данных ODBC с тем, чтобы вы смогли создать удаленные представления или использовать сквозные запросы SQL pass-through.

Использование технологии SQL Pass-Through

Описывается, как удаленные представления обеспечивают легчайший и наиболее общий метод для обращения к удаленным данным и их обновления. Мастера переноса (upsizing wizards) могут создать удаленные представления автоматически в вашей базе данных, как часть переноса, или вы можете использовать Microsoft Visual FoxPro для создания удаленных представлений после переноса.

Работа с удаленными данными с использованием SQL Pass-Through

Объясняется, что после того, как вы извлечете набор результатов с помощью SQL pass-through, вы можете просматривать и управлять свойствами вашего курсора набора результатов с помощью функций Microsoft Visual FoxPro CURSORGETPROP() и CURSORSETPROP().

Обработка ошибок SQL Pass-Through

Объясняется, как Microsoft Visual FoxPro сохраняет в массиве ошибки, возвращаемые функцией сообщения об ошибке.

Связанные разделы

Использование Visual FoxPro

Описыаются программные возможности Visual FoxPro, разработанные для повышения продуктивности разработок, включая методы Access и Assign, поддержка большего числа форматов графических файлов, а также язык программирования, упрощающий задачи программирования.

Разработка приложений Visual FoxPro

Включает в себя концептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также прочие задачи, необходимые для создания приложений Visual FoxPro.

Планирование приложения

Описывается, как тщательное планирование экономит время и деньги и сколько решений вы сделаете в фазе планирования, что будет воздействовать на то, как вы создаете элементы приложения.

Создание приложений

Обсуждается, как создавать приложения Visual FoxPro, которые могут включать одну или более баз данных, главную программу, которая установить системную среду приложения и интерфейс пользователя, состоящий из форм, инструментальных полосок и меню.

Web-сервисы и компоненты

Объясняется, как можно расширить ваши приложения Visual FoxPro для обеспечения совместной работы множества пользователей, а также использование преимуществ элеменето Microsoft ActiveX и приложений, допускающих автоматизацию.

Работа с данными

Описывается, как создавать эффективные приложения с индексами, таблицами и базами данных на основе ваших требований к данным.

Работа с проектами

Определяется конфигурация проекта и групп файлов, которые производят конечную программу или конечный бинарный файл или файлы.

Компиляция приложения

Объясняется, как использовать модульный подход, для того, чтобы вы смогли удостовериться в функиональных возможностях каждого созданного вами компонента до того, как вы скомпилируете их в готовое приложение, которое соберет исполнимые компоненты вашего проекта.

Тестирование и отлажка приложений

Описываются инструменты отладки Visual FoxPro, которые помогут вас найти и скорректировать ошибки, которые могут обнаружиться в ваших приложениях.

Распространение приложений

Объясняется, как подготовить приложение к распространению включением всех требуемых файлов и создать диски дистрибутивов, после того, как вы завершите разработку и тестирование вашего приложения.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Set Up an ODBC Data Source

Visual FoxPro 9.0
Как: Определить/Задать Источник Данных ODBC
См. также

Перед использованием или созданием Удаленных Представлений с помощью Технологии SQL pass-through, вам необходимо установить соответствующую подсистему ODBC driver, и определить/задать соответствующие Источники Данных (ODBC Data Source).

Выбор Драйвера (Провайдера) ODBC

Для полуавтоматической установки поддерживаемых Драйверов ODBC рекомендуется использовать установочную программу Visual FoxPro Setup Program. Если в процессе ее выполнения будет отмечена установочная ОпцияComplete, все Драйверы будут установлены.

После того, как вы выбрали требуемый Драйвер ODBC, вы можете создать соответствующий Источник Данных.

Для добавления нового Источника Данных (ODBC Data Source)

  1. Выберите системный Инструментарий Administrative Tools в соответствующем разделе Windows Control Panel.

  2. Активируйте ссылку Data Sources.

  3. В диалоговом Боксе ODBC Data Source Administrator, нажмите кнопку Add, выберите требуемый Драйвер из представленного Списка установленных драйверов Installed ODBC Drivers, нажмите Кнопку OK.

  4. В открывшемся Диалоговом Боксе Setup, определите все необходимые характеристики Создаваемого Источника Данных, и нажмите кнопку OK.

Для получения дополнительной информации по характеристикам создаваемого Источника Данных используйте командную кнопку Help из соответствующего Диалогового Бокса ODBC Setup.

Установка внешнего Источника Данных (ODBC Data Sources)

При помощи подсистемы Open Database Connectivity (ODBC), которая обычно устанавливается на вашу Рабочую Станцию вместе с системой Visual FoxPro (при отмеченных опциях установки: Complete , Custom, вы получаете эффективный доступ к удаленным данным Серверов SQL непосредственно из ваших Приложений Visual FoxPro; Однако, перед тем как использовать данные Удаленного Источника (Сервера), вам необходимо определить базовые Характеристики этих Источников Данных:

Присоединение системы Visual FoxPro к удаленным источникам Данных ODBC:

Connecting Visual FoxPro

Для Определения характеристик Удаленного Источника Данных:

  1. Откройте системный Сервис Windows Control Panel, активируйте подраздел ODBC.

  2. В соответствующем Диалоговом Боксе Data Sources, нажмите кнопку Add.

  3. В открывшемся диалоговом Боксе Add Data Source, выберите драйвер: SQL Server ODBC, нажмите кнопку OK.

  4. В открывшемся далее диалоговом боксе ODBC SQL Server Setup, введите базовые характеристики Создаваемого Источника Данных, нажмите кнопку OK.

  5. При возврате в диалоговый бокс Data Sources, нажмите кнопку Close.

См. также

Концепции

Обновление для Младших Версий системы VFP

Другие ссылки

Установка Системы Visual FoxPro
Расширение Приложений при использовании Технологии Сквозных Запросов (SQL Pass-Through Technology)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Using SQL Pass-Through Technology

Visual FoxPro 9.0
Использование технологии сквозных запросов - SQL Pass-Through

Использование удаленных представлений представляет собой наилегчайший и наиболее общий метод обращения к удаленным данным и их обновления. Технология SQL pass-through позволяет вам посылать SQL предложения непосредственно серверу, вследствие того, что предложения исполняются на сервере, является мощнейшим способом увеличения производительности вашего клиент-серверного приложения.

Перечисленные ниже статьи справки предоставляют информацию о том, как использовать технологию SQL pass-through в ваших приложениях.

В этом разделе

Как: обращаться к хранимым процедурам на удаленных серверах с помощью функций SQL Pass-Through

Описывается, как использовать хранимые процедуры сервера. Хранимые процедуры сервера может значительно увеличить производительность предложений SQL и групповых операций.

Как: использовать функции SQL Pass-Through

Объясняется, как ваше клиент-серверное приложение может обращаться к удаленным данным с помощью SQL pass-through. Кроме того, в статье предоставляется сравнение удаленных представлений и технологии SQL pass-through.

Функции Visual FoxPro SQL Pass-Through

Предоставляется список функций SQL Pass-Through.

Использование наборов результатов

Объясняет, как Visual FoxPro обрабатывает наборы результатов, которые возвращаются из функций SQL Pass-Through.

Как: возвратить множественные наборы результатов

Объясняется, как извлечь множественные наборы результатов, получаемых из хранимых процедур, которые содержат родные предложения SELECT сервера.

Как: создавать параметризированные запросы

Объясняется, как создать параметризированный запрос с помощью технологии SQL pass-through.

Использование параметров ввода/вывода SQL сервера

Описывается, как использовать параметры ввода/вывода для пересылки значений между SQL сервером и Visual FoxPro.

Исполнение расширений ODBC в SQL

Предоставляется информация о том, как исполнить расширения OBDC в SQL.

Управление соединениями с SQL Pass-Through

Описывается, как управлять вашими серверными соединениями предоставлением обзора различных сред и свойств соединения и как их устанавливать.

Совместное использование соединений для удаленных данных

Описывается, как Visual FoxPro позволяет вас совместно использовать дескриптор соединения для соединения с удаленными данными, что может быть полезно для снижения числа соединений при управлении соединениями с SQL сервером и ресурсами сервера.

Как: использовать режим автоматической транзакции

Описывается, как установить Visual FoxPro для автоматической обертки каждой операции записи данных, посылаемых удаленному серверу в транзакции.

Как: вручную управлять транзакциями

Описывается, как вручную управлять транзакциями с удаленным сервером.

Выбор правильных методов

Описываются и сопоставляются лучшие практические использования удаленных представлений и технологии SQL pass-through в вашем клиент-серверном приложении.

Связанные разделы

Работа с удаленными данными с использованием SQL Pass-Through

Объясняется, как вы можете посмотреть и управлять свойствами курсора с набором результата запроса SQL pass-through с помощью использования функций Microsoft Visual FoxPro CURSORGETPROP() и CURSORSETPROP().

Работа с данными

Описывается, как создавать эффективные приложения с индексами, таблицами и базами данных на основе ваших требований к данным.

Обработка ошибок SQL Pass-Through

Объясняется, как извлекать информацию об ошибках для их исследования и определения причины их возникновения.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Access Stored Procedures on Remote Servers with SQL Pass-Through Functions

Visual FoxPro 9.0
Как: Использовать Хранимые Процедуры (SP) удаленного Сервера, с помощью функций "SQL Pass-Through"
См. также

Вы можете использовать Технологию Visual FoxPro SQL pass-through technology для создания и выполнения Хранимых Процедур (Sored Procedures = SP) для удаленного Сервера. Сохраненные процедуры могут существенно повысить мощность, эффективность, и гибкость SQL; совершенно улучшать исполнение отдельных операторов и пакетов команд SQL. Многие Серверы SQL обеспечивают доступ к технологическим процедурам Определения и Манипулирования Данными, объектами Сервера; обеспечивают выполнение процессов администрирования Системы и группами Пользователей.

Note Примечание

Примеры в данном разделе используют синтаксис Сервера Микрософт SQL, если иначе не отмечено Другое.

Для Вызова Хранимой Процедуры Сервера:

  • Используйте стандартную функцию: SQLEXEC( ), функция ; указав имя хранимой процедуры (SP).

В программном коде следующего примера: выполняется хранимая процедура с именем sp_who, используется текущее Соединение с удаленным сервером SQL Server, которое имеет имя sqlremote:

CopyCode image Копировать Код
nConnectionHandle = SQLCONNECT('sqlremote')
? SQLEXEC(nConnectionHandle, 'use pubs')
? SQLEXEC(nConnectionHandle, 'sp_who')
BROWSE

Дополнительную информацию о Создании и Выполнении Хранимых Процедур для удаленных Серверов Смотрите в специализированной документации по данным Серверам.

См. также

Задачи

Как: Получать множественные Наборы Данных

Другие ссылки

Использование Технологии "SQL Pass-Through"
Расширение Приложений при использовании технологии "SQL Pass-Through"
Планирование Приложений типа Client/Server
Масштабирование Баз Данных Visual FoxPro
Создание Представлений (Views)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Use SQL Pass-Through Functions

Visual FoxPro 9.0
Как: использовать функции SQL Pass-Through
Смотрите также

Ваше клиент-серверное приложение может обращаться к данным на сервере с помощью:

  • Удаленных представлений

  • SQL pass-through

Удаленные представления обеспечивают наиболее обший и простой способ для обращения и обновления удаленных данных. Мастера переноса (upsizing wizards) могут автоматически создавать удаленные представления в вашей базе данных как часть переноса или же вы можете использовать Visual FoxPro для создания удаленных представлений после переноса. Для получения более подробной информации об удаленных представлениях смотрите описание задачи Как: создавать удаленные представления.

Технология SQL pass-through позволяет вам посылать предложения SQL непосредственно серверу. Предложения SQL pass-through, вследствие того, что они исполняются на back-end сервере, представляют собой мощный способ увеличить производительность ваших клиент-серверных приложений. В приведенной ниже таблице производится сравнение удаленных представлений с SQL pass-through.

Сравнение удаленного представления с технологиями SQL Pass-Through
Удаленное представление | SQL Pass-Through
Основано на предложении SQL SELECT. | Основано на любом родном серверном предложении SQL, позволяя исполнение предложения определения данных или хранимых процедур на удаленном сервере.
Может быть использовано в качестве источника данных для элементов управления в design time. | Не может быть использовано в качестве источника данных для элементов управления.
Нет возможности исполнить команд DDL (data definition language - язык определения данных) на источнике данных . | Предоставляет метод для использования команд DDL на источнике данных.
Извлекает один набор результатов. | Извлекает один или более наборов результатов.
Обеспечивает встроенное управление соединением. | Требует явного управления соединением.
Обеспечивает встроенную по умолчанию информацию для обновлений, вставок и удалений. | Не обеспечивает информацией по умолчанию.
Обеспечивает явное исполнение SQL и извлечение данных. | Обеспечивает явное исполнение SQL и управление извлечением результата.
Не обеспечивает обслуживание транзакций. | Обеспечивает явное обслуживание транзакций.
Хранит свойства на постоянной основе в базе данных. | Обеспечивает временные свойства для курсора SQL pass-through, основанные на свойствах сессии.
Использует асинхронное прогрессивное извлечение во время исполнения SQL. | Полностью поддерживает программируемое асинхронное извлечение.

Технология SQL pass-through предоставляет перечисленные ниже преимущества по сравнению с удаленными представлениями:

  • Вы можете использовать функциональные возможности характерные для сервера, такие как хранимые процедуры и внутренние, основанные на технологии сервера, функции.

  • Вы можете использовать расширения SQL поддерживаемые сервером, в том числе определение данных (data-definition), администрирование сервера и команды безопасности.

  • У вас есть больший контроль над предложениями SQL pass-through Update, Delete и Insert.

  • У вас есть больший контроль над удаленными транзакциями.

    Note Совет

    Visual FoxPro может обслуживать запросы SQL pass-through, которые возвращают более одного набора результатов.

Запросы SQL pass-through, кроме того, имеют и ряд недостатков:

  • По умолчанию, запрос SQL pass-through всегда возвращает необновляемый снимок удаленных данных, который хранится в активном курсоре представления. Вы можете сделать курсор обновляемым с помощью установки свойств через использование функции CURSORSETPROP(). Обновляемое удаленное представление, в противоположность этому, обычно не требует, чтобы вы установили свойства до того, как вы сможете обновить удаленные данные, поскольку установки свойств хранятся в базе данных, в которой создание определение удаленного представления.

  • Вы должны вводить команды SQL непосредственно в командном окне или в программе, вместо использования графического View Designer (Конструктора представлений).

  • Вы создаете и управляете соединением к источнику данных.

Независимо от того, используете ли вы удаленные представления или SQL pass-through, вы можете запрашивать и обновлять удаленные данные. Во многих приложениях вы можете использовать как удаленные представления, так и SQL pass-through.

Использование функций SQL Pass-Through

Для использования SQL pass-through с целью соединения с удаленным ODBC источником данных, вы должны сначала вызвать функцию Visual FoxPro SQLCONNECT() для создания соединения. Затем вы можете использовать функции Visual FoxPro SQL pass-through для посылки удаленному источнику данных команд на исполнение.

Для использования функций Visual FoxPro SQL pass-through

  1. Убедитесь, что ваша система способна подключить ваш компьютер к вашему источнику данных. Используйте тестовую утилиту, такую как ODBC Test for ODBC.

  2. Установите соединение с вашим источником данных с помощью функции SQLCONNECT() или SQLSTRINGCONNECT().

    Например, если вы соединяете Visual FoxPro к источнику данных SQL Server sqlremote, вы можете зарегистрироваться с помощью приведенной ниже команды:

    CopyCode image Скопировать код
    nConnectionHandle = SQLCONNECT('sqlremote','<userid>','<password>')
    Note Замечание

    Вы можете, кроме того, для соединения посредством именованного соединения использовать функцию SQLCONNECT().

  3. Используйте функции Visual FoxPro SQL pass-through для извлечения данных в курсоры Visual FoxPro и обрабатывайте полученные данные с помощью стандартных команд и функций Visual FoxPro.

    Например, вы можете послать запрос таблице authors и посмотреть выходной курсор с помощью приведенной ниже команды:

    CopyCode image Скопировать код
    ? SQLEXEC(nConnectionHandle,"select * from authors","mycursorname")
BROWSE

  4. Отсоединитесь от источника данных с помощью функции SQLDISCONNECT() function.

Смотрите также

Задачи

Как: обращаться к хранимым процедурам на удаленных серверах через функции SQL Pass-Through Functions
Как: возвратить множественный набор результатов

Справочное руководство

Функции Visual FoxPro SQL Pass-Through

Концепции

Использование наборов результатов
Обработка множественных наборов результатов

Прочие ресурсы

Использование технологии SQL Pass-Through
Расширение приложений с помощью технологии SQL Pass-Through
Планирование клиент-серверных приложений
Перенос баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro SQL Pass-Through Functions

Visual FoxPro 9.0
Функции Visual FoxPro SQL Pass-Through
Смотрите также
CollapseAll image

В приведенной ниже таблице перечислены функции Visual FoxPro SQL, которые поддерживают работу с удаленными источниками данных, сгруппированные в соответствии с задачами.

Задача | Функция | Назначение
Управлением соединением | SQLCONNECT() | Подключает к источнику данных для операций SQL pass-through.
 | SQLSTRINGCONNECT() | Подключает к источнику данных с использованием синтаксиса строки соединения ODBC.
 | SQLDISCONNECT() | Разывает соединение с ODBC источником данных, превращая дескриптор указанного соединения устаревшим.
 | SQLIDLEDISCONNECT() | Позволяет соединению или соединениям SQL pass-through быть временно отключенными.
Исполнение и контроль предложений SQL | SQLCANCEL() | Прекращает асинхронное исполнение SQL запроса на активном соединении.
 | SQLEXEC() | Исполняет SQL pass-through query на активном соединении; возвращает число сгенерированных наборов результатов, или 0, если SQLEXEC() находится в состоянии исполнения (асинхронная обработка).
 | SQLMORERESULTS() | Помещает в курсор другой набор результатов. Возвращает 0, если предложение, создающее набор результатов продолжает исполняться.
 | SQLPREPARE() | Предварительно компилирует предложение SQL на источнике данных и связывает параметры Visual FoxPro, то есть, сохраняет выражение реального параметра для всех параметров в предложении SQL.
 | SQLCOMMIT() | Запрашивает подтверждения транзакции.
 | SQLROLLBACK() | Запрашивает отката транзакции.
Информация об источнике данных | SQLCOLUMNS() | Сохраняет в курсоре список имен колонок и информацию о каждой из них. Возвращает 1, если выполнение прошло успешно, или 0, если исполнение функции еще не завершилось.
 | SQLTABLES() | Сохраняет в курсоре имена таблиц источника данных. Возвращает 1, если выполнение прошло успешно, или 0, если исполнение функции еще не завершилось. .
Прочий контроль | SQLGETPROP() | Получает свойства соединения из активного соединения.
 | SQLSETPROP() | Устанавливает свойства активного соединения.

Предложения SQLEXEC(), SQLMORERESULTS(), SQLTABLES() и SQLCOLUMNS() могут быть прерваны в синхронном режиме нажатием ESC, если SET ESCAPE было установлено в ON. Вы можете прервать эти предложения в любое время в асинхронном режиме, используя функцию SQLCANCEL(). Все прочие предложения SQL pass-through действуют синхронно и непрерываемо.

Expand image Смотрите также

Задачи

Как: использовать функции SQL Pass-Through
Уву: обращаться к хрнимым процедурам на удаленных серверах с помощью функций SQL Pass-Through
Как: вернуть множественный набор результатов

Концепции

Использование наборов результатов
Обработка множества наборов результатов

Прочие ресурсы

Использование технологии SQL Pass-Through
Расширение приложений с помощью технологии SQL Pass-Through
Планирование клиент-серверных приложений
Перенос баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using Result Sets

Visual FoxPro 9.0
Использование Результирующих Наборов
См. Также

Когда вы используете функции сквозных запросов SQL pass-through для выборки необходимых данных: SQLEXEC( ) или SQLMORERESULTS( ), система Visual FoxPro возвращает один или несколько Результирующих Наборов Данных (Курсоров). Данные наборы формируются из соответствующих результирующих Курсоров на удаленном источнике данных (сервере), которые в дальнейшем преобразуются в соответствующие Курсоры Visual FoxPro. По-умолчанию, базовое имя результирующего курсора = SQLRESULT.

Как Сервер обрабатывает Результирующие Наборы и Ошибки

Поскольку Сервер компилирует каждую Хранимую процедуру, которую вы создаете, вы сразу получаете сообщения о возможных Синтаксических или других Ошибках. В процессе выполнения готовых Хранимых процедур удаленный Сервер выполняет соответствующие операторы SQL последовательно (как обычные команды в программах Visual FoxPro), поэтому, результирующие наборы Visual FoxPro получает в том же порядке, при выполнении соответствующих операторов.

Результирующие наборы и возможные Ошибки также возвращаются в последовательности выполнения соответствующих операторов SQL. Например, если в процессе выполнения пакета SQL возникает ошибка при обработке Сервером третьего (3) оператора (из четырех (4) имеющихся) в пакете операторов; сначала вы получаете Два первых Результирующих Курсора, далее - сообщение об Ошибке в третьем операторе, после обработки данной ошибки четвертый .оператор не обрабатывается системой VFP. Для детальной обработки указанной ошибки рекомендуется использовать функцию AERROR( ), которая извлекает полный комплект информации о данной исключительной ситуации.

Note Обратите Внимание

Вы можете выполнять Хранимые процедуры на удаленном Сервере из программных модулей Visual FoxPro только при использовании технологии функций Сквозных Запросов SQL (pass-through). Представления (Views) не поддерживают хранимые процедуры для удаленных серверов, потому, что каждое представление содержит статический оператор SQL SELECT, однозначно определяющий рассматриваемое Представление.

См. также

Задачи

Как: Использовать функции SQL PT (Pass-Through) (Сквозных Запросов)
Как: Использовать Хранимые процедуры удаленного Сервера при помощи функций SQL PT
Как: Получить несколько Результирующих наборов SQL

Концепции

Обработка нескольких Результирующих наборов SQL

Другие ссылки

Использование технологии Сквозных Запросов SQL (Pass-Through)
Расширение Приложений при использовании Технологии SQL Pass-Through
Проектирование Приложений типа Клиент/Сервер
Масштабирование Баз Данных Visual FoxPro
Создание Представлений (Views)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Return Multiple Result Sets

Visual FoxPro 9.0
Как: Получать несколько Результирующих наборов Данных
См. также

Если вы выполняете некоторую хранимую процедуру локального сервера, содержащую стандартную конструкцию Запроса на основе оператора SELECT, то каждый набор результирующих данных возвращается в виде соответствующего Курсора Visual FoxPro. Аналогичную технологию для хранимых процедур вы можете использовать для удаленного Сервера, где система Visual FoxPro выступает в качестве Клиента получения данных.

Для получения нескольких результирующих наборов данных:

  • Используйте стандартную SQLEXEC( ), функцию для получения нескольких результирующих наборов данных, как и для локального сервера, используя обычные синтаксические конструкции SQL Select.

Например, в следуещем программном коде, создается и выполняется на удаленном Сервере некоторая хранимая процедура с именем my_procedure, которая возвращает и создает сразу три (3) результирующих Курсора Visual FoxPro: sqlresult, sqlresult1, sqlresult2:

CopyCode image Копировать Код
=SQLEXEC(nConnectionHandle,'create procedure my_procedure as ;
 select * from sales; select * from authors;
 select * from titles')
=SQLEXEC(nConnectionHandle,'execute my_procedure')

Используемая функция SQLEXEC( ), с помощью которой выполняются требуемые операторы SQL, выполняются без дополнительной интерпретации, обычно они полностью совместимы как для локального так и удаленного Серверов.

Вы можете также использовать указанную функцию SQLEXEC( ) для создания различных параметризированных Запросорв, или использовать различные дополнительные функции механизма ODBC удаленного источника данных SQL.

См. также

Задачи

Как: Использовать Хранимые Процедуры удаленного Сервера с помощью стандартных функций SQL Pass-Through
Как: Создавать Параметризованные Запросы

Другие ссылки

Использование Технологии SQL Pass-Through (Сквозных Запросов)
Расширение функций Приложения при помощи Технологии SQL Pass-Through
Планирование Приложения типа Клиент-Сервер
Масштабирование Баз Данных Visual FoxPro на удаленный Сервер
Создание Представлений (Views)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Create a Parameterized Query

Visual FoxPro 9.0
Как: создать параметризованный запрос
Смотрите также

Таким же образом, каким вы можете создать параметризованное представление с помощью дизайнеров запросов и представлений или посредством языка программирования, вы можете создать параметризованный запрос SQL pass-through.

Для создания параметризованного запроса с SQL pass-through

  • Вставьте перед параметром Visual FoxPro знак вопроса (?) и, затем, включите параметр в SQL строку, которую вы посылаете с функцией SQLEXEC().

Предоставленный вами параметр оценивается, как выражение Visual FoxPro, и значение посылается, как часть предложения SQL представления. Если оценка выражения не прошла, Visual FoxPro запросит у вас значение параметра.

Например, если у вас есть таблица customer из базы данных Testdata, расположенной на удаленном сервере, приведенный ниже код создаст параметризованный запрос, который ограничит просмотр тех потребителей, чья страна соответствует предоставленному для cCountry параметру:

CopyCode image Скопировать код
? SQLEXEC(1,'SELECT * FROM customer WHERE customer.country = cCountry')

Если вы желаете запрашивать у пользователя значение параметра, поместите перед выражением параметра вопросительный знак (?). Для получения более подробной информации смотрите Как: создать параметризованные представления.

Ваш источник данных ODBC не акцептирует параметры в нижеприведенных местах:

  • В полях SELECT или в списке таблиц.

  • В качестве обоих выражений в предикате сравнения.

  • В качестве обоих операторов в бинарном операторе.

Источник данных ODBC не будет акцептировать параметры в приведенных ниже местах в опциях WHERE или HAVING предложения SELECT:

  • В качестве первого и второго оператов в предикате BETWEEN.

  • В качестве первого и третьего операторов в предикате BETWEEN.

  • В качестве выражения и первого значения в предикате IN.

  • В качестве оператора в унарном операторе + или -.

  • В качестве аргумента функции SET.

Для получения более подробной информации смотрите Использование параметров ввода/вывода SQL Server.

Смотрите также

Задачи

Как: возвратить множественные наборы результатов

Прочие ресурсы

Использование технологии SQL Pass-Through
Расширение приложение с помощью технологии SQL Pass-Through
Планирование клиент-серверных приложений
Перенос баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using SQL Server Input/Output Parameters

Visual FoxPro 9.0
Использование параметров Ввода/Вывода SQL Server
Смотрите Также

Вы можете использовать Параметры Ввода/Вывода для обмена информационными потоками между Visual FoxPro и SQL Server. Параметры Ввода/Вывода допускаются только при выполнении функций "Сквозных Запросов" SQL pass-through; они не могут быть использованы в Представлениях SQL (View).

В следующей далее таблице представлены возможные варианты использования параметров Ввода/Вывода при передаче их Значений из системы Visual FoxPro во внешнюю систему SQL Server (в Хранимые Процедуры) Stored Procedures, которые возвращают результирующие Значения обратно, в Visual FoxPro.

Использование параметров Ввода/Вывода в Хранимых Процедурах SQL Server
Программный Код | Комментарииs
resultCode = SQLExec(connHand, "CREATE PROCEDURE sp_test; @mult1 int, @mult2 int, @result int; OUTPUT AS SELECT @result = @mult1 * @mult2") | Создается хранимая процедура, с именем: Sp_Test, которая перемножает два передаваемых Параметра (mult1 и mult2), а результат перемножения заносится в третий параметр, с именем: result.
outParam = 0 | Создание системное переменной Visual FoxPro, в которую помещаются результаты выполнения текущих опраторов SQL Server, которые возвращают значения в Visual FoxPro.
resultCode = SQLExec(connHand, ; "{CALL sp_test (2, 4, ?@outParam)}") | Выполнение хранимой поцедуры SQL Server, передача параметров-констант '2' и '4', и получения результата перемножения переданных параметров в Результирующий параметр.
? "outParam =", outParam && the value is 8 | Отображение результирующего Значения.

Определение Требуемых Параметров

Рекомендуется использовать следующий Синтаксис Результирующих Параметров:

CopyCode image Копировать Код
?@parameter_name

В случае необходимости использования параметров Ввода/Вывода, определите сначала некоторые переменные Visual FoxPro, которые в дальнейшем будут включены в соответствующие операторы SQL pass-through, а только после этого их (переменные) используйте для выполнения актуальных операторов (функций) Запросов. Чтобы успешно посылать и получать требуемую информацию при использовании параметров Ввода/Вывода, вам необходимо выполнить следующее:

  • Определите параметр Хранимой Процедуры в соответствие с Типом получаемых Значений.

    Например, если вы определяете параметр хранимой процедуры как: @result, вы должны назначить требуемый Тип результирующего параметра, как = int, для @result, и только после этого записывать в данный параметр результирующее Значение, @result = 10.

  • В качестве результирующих параметров (@parameter_name) необходимо указывать только уже существующие переменные Visual FoxPro.

    Например, если в качестве результирующего параметра указано: ?@outParam, в вашем приложении уже должна существовать переменная (определена) Visual FoxPro outParam.

    Note Обратите Внимание

    Если вы не используете Результирующий параметр, как в системе Visual FoxPro так и в хранимой процедуре, или вы не определяете специальную переменную для получения результирующих Значений в Visual FoxPro, то последний не изменяет значение передаваемого параметра в хранимую процедуру (???).

Конвертация типов Данных

Visual FoxPro выполняет конвертацию возвращаемых Значений рассматриваемых Параметров по следующим Правилам:

  • Плавающая точка в Типах (N, F, B) - конвертируется в тип (N).

  • Размер отображения указанных числовых типов данных устанавливается = 20.

  • Позиция десятичной точки устанавливается текущими системными Установками. Это касается только оекущего Отображения полученного Числа (Default Display Format), но не относится к точности представления числа.

  • Данные типя Время (Date / Time), переменные (D, T) конвертируются в общий формат (T) - Time (Время).

Вы не можете использовать переменные типа Memo, General, Picture, NULL в качестве параметров Вводв/Вывода операторов SQL.

Если в ваших Приложениях в качестве рассматриваемых Параметров (SQL) используются конкретные Поля Курсоров, Visual FoxPro выполняет попытки обратной конвертации получаемых Результатов в соответствующий тип Данных (в полях Курсоров).

Возвращаемые Значения Параметров

Параметры Ввода/Вывода становятся доступными только после завершения получения Последнего Результирующего Набора последнего Запроса SQL. Это означает следующее: система Visual FoxPro возвращает Значения параметров Ввода/Вывода Только После:

  • SQLEXEC( ) возвращает значение (=1) в режиме пакетного выполнения (Batch Mode)

    -или-

  • SQLMORERESULTS( ) возвращает значение (=2) при Непакетном Режиме (non-batch mode).

Если предполагается, что при выполнении функции SQLEXEC( ) оператор SQL должен вернуть несколько результирующих наборов, то гарантировано возвращаются Выходные параметры только после получения Последнего Набора Данных (SQL) .

См. также

Задачи

Как: Создавать Параметризованные Запросы SQL
Как: Получать Результаты нескольких Результирующих Наборов Запросов (SQL)

Другие ссылки

Использование Технологии SQL Pass-Through (Сквозных Запросов)
Расширение вашего Приложения при использовании Технологии SQL Pass-Through
Планирование разработки Приложений типа Client/Server (Клиент-Сервер)
Масштабирование Баз Данных Visual FoxPro
Создание Представлений (View)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Execution of ODBC Extensions to SQL

Visual FoxPro 9.0
Execution of ODBC Extensions to SQL
Смотрите также
CollapseAll image

Вы можете использовать функцию SQLEXEC( ) для исполнения расширений ODBC в код SQL, вложив предложение SQL в стандарт SQL Access Group или использовав расширенный синтаксис под названием "escape syntax". Для получения более подробной информации о расширениях ODBC в код SQL, обратитесь к приложению "SQL Grammar" в вашей документации по ODBC.

Expand image Создание внешнего соединения с помощью опции ODBC Escape

Вы можете использовать SQL pass-through для производства внешних объединений на удаленных данных с помощью ODBC escape syntax, если ваш сервер поддерживает внешние объединения. Внешнее объединение соединяет информацию из одной или более таблиц независимо от того - были ли найдены соответствующие строки или нет.

Синтаксис для внешних соединений с использованием опции ODBC escape представлен ниже:

CopyCode image Скопировать код
{oj outer-join expression}

Приведенный ниже пример создает набор результатов из имен и департаментов работников, работающих над проектом 544:

CopyCode image Скопировать код
SELECT employee.name, dept.deptname;
   FROM {oj employee LEFT OUTER JOIN dept;
            ON employee.deptid = dept.deptid};
   WHERE employee.projid = 544

Для получения более подробной информации о синтаксисе внешних объединений смотрите документацию сервера. Для получения более подробной информации о создании именованного соединения смотрите описание задачи Как: определить соединения к удаленному источнику данных.

Expand image Смотрите также

Концепции

Управление соединениями с SQL Pass-Through

Прочие ресурсы

Использование технологии SQL Pass-Through
Расширение приложений с помощью технологии SQL Pass-Through
Планирование клиент/серверных приложений
Перенос баз Visual FoxPro на серверные платформы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Managing Connections with SQL Pass-Through

Visual FoxPro 9.0
Managing Connections with SQL Pass-Through
Смотрите также

Когда вы создаете удаленное представление, вы выбираете имя источника данных ODBC или имя соединения, которое затем будет использовано в качестве канала связи с удаленным сервером при активизации представления. Для прямого обращения к удаленным данным через сквозные запросы (SQL pass-through) вы должны иметь дескриптор активного соединения. Дескпиртор представляет собой значение, которое ссылаетс на объект; в данном случае, дескриптор должен ссылаться на соединение с источником данных. Для получения дескриптора вы запрашиваете соединение с источником данным To obtain a handle, you request a connection to the data source посредством функции SQLCONNECT() или SQLSTRINGCONNECT(). Если соединение было успешно установлено, ваше приложение получает дескриптор соединения для использования в последовательных вызовах из Visual FoxPro.

Ваше приложение может запрашивать множество соединений для одного источника данных. Вы можете, кроме того, работать со множеством источников данных ODBC путем запроса соединения к каждому источнику данных, к которому вы желаете обращаться. Если вы желаете уменьшить число используемых соединений, вы можете сконфигурировать удаленные представления для совместного использования одного и того же соединения. Вы можете отключиться от источника данных с помощью функции SQLDISCONNECT().

Note Совет

Visual FoxPro полагается на определение источника данных ODBC, которое хранится в Windows при подключении к источнику данных. Если вы измените имя или информацию для регистрации для источника данных, то имейте в виде, что такие изменения могут иметь следствием, что приложение, использующее этот источник данных не сможет подключиться к желаемому удаленному серверу.

Управление свойствами среды и соединения

Среда клиент/сервер устанавливается каждый раз, когда вы открываете Visual FoxPro. Среда существует для открытой сессии Visual FoxPro и исчезает, когда вы закрываете Visual FoxPro. Среда клиент/сервер содержит:

  • Глобальные свойства, которые действуют как прототипы для новых соединений.

  • Значение ошибок для ошибок, которые могут возникнуть извне конкретного соединения.

Вы можете использовать дескритор 0, иначе говоря дескриптор среды, для ссылки на установки глобального свойства. Вы можете использовать функцию SQLSETPROP() для управления установок свойства по умолчанию в среде соединения и свойств внутри индивидуальных соединений. Метод, который вы можете использовать для ввода значений SQLSETPROP() является согласованным как для среды, так и для индивидуальных соединений:

  • Свойства, определенные одним или двумя значениями, могут использовать логическое значение (.F. или .T.) для eExpression.

  • Имя свойства может быть сокращено для его короткого распознаваемого сокращения. Например, вы можете использовать "Asynchronous", "Asynch", или "A" для указания свойства с именеме Asynchronous. Имена свойств не являются чувствительными к регистру символов.

Когда вы инициируете соединение, то соединение наследует значения свойств, установленных по умолчанию. Для изменения этих значений вы можете использовать функцию SQLSETPROP().

Установка свойств соединения

Для просмотра текущих установок соединения, используйте функцию SQLGETPROP() с соответствующим дескриптором соединения. В приведенной ниже таблице перечислены установки соединения, к которым вы можете обращаться с помощью функции SQLGETPROP().

Свойства соединения Visual FoxPro
Для ... | ... используйте установку ... | Цель
отображения информации, используемой для создания активного соединения | ConnectString | Получить строку регистрации соединения.
 | DataSource | Получить именя источника данных, как оно определено ODBC.
 | Password | Получить пароль соединения.
 | UserID | Получить идентификацию пользователя.
работы с соединениями совместного использования | ConnectBusy | Получаем True (.T.), если соединение совместного использования занято; в противном случае получаем false (.F.).
управления интерфейсом отображения | DispLogin | Управляет тем, когда будет отображен диалоговое окно регистрации ODBC.
 | DispWarnings | Управлеяет - будут ли отображаться некритические предупреждения или нет.
управления интервалами времени | ConnectTimeout | Определяет время (в секундах) для возврата ошибки о превышении лимита времени ожидания соединения.
 | IdleTimeout | Определяет временной интервал пассивного ожидания (в секундах). Указанное соединение будет деактивировано после истечения указанного промежутка времени.1
 | WaitTime | Управляет промежутком времени в миллисеккундах которое осталось до проверки со стороны Visual FoxPro - было ли завершено исполнение SQL предложения.
 | QueryTimeout | Управляет промежутком времени (в секундах) ожидания до возврата общей ошибки превышения лимита времени запроса.
управления транзакциями | Transactions | Определяет как соединение управляет транзакциями на удаленной таблице.
управления выборкой наборов результатов в курсоры представления | Asynchronous | Определяет - будут ли наборы результатов возвращаться синхронно (по умолчанию) или асинхронно.
 | BatchMode | Определяет - будет ли SQLEXEC() возвращать все наборы результатов сразу (по умолчанию) или индивидуально через SQLMORERESULTS().
 | PacketSize | Определяет размер сетевого пакета, используемого соединением.
отображения внутренних дескрипторов ODBC | ODBChdbc2 | Внутренний дескриптор соединения ODBC, который может быть использован внешней библиотекой (файлы .fll) для вызова функций ODBC API.
 | ODBChstmt2 | Внутренний дескриптор предложения ODBC, который может быть использован внешней библиотекой (файлы .fll) для вызова функций ODBC API.

1. Если установлен режим ручного управления транзакциями, соединение не деактивируется.

2. Если соединение деактивировано, значения ODBChdbc м ODBChstmt более не являются действительными. Не освобождайте или не передавайте эти значения в библиотеках пользователя.

Для получения более подробной информации о свойства соединения и их значениях по умолчанию смотрите описание функции SQLSETPROP().

Управление установками свойств среды

Значения, которые вы установливаете в среде Visual FoxPro используя дескриптор 0, используются в качетсве протитипов или значений по умолчанию для каждого последующего соединения или прикрепления.

Для просмотра текущих установок свойств среды используйте функцию SQLGETPROP() с 0 в качестве значения дескриптора.

Приведенный ниже пример отображает текущую установку свойсва среды WaitTime:

CopyCode image Скопировать код
? SQLGETPROP(0, "WaitTime")

Если вы установили значение свойства DispWarnings в true (.T.), Visual FoxPro будет отображать любые ошибки среды с момента установки свойства и, кроме того, установит DispWarnings в true (.T.) для вновь создаваемых соединений.

Хотя значения, которые вы установили для нулевого дескриптора используются в качестве значений прототипов для каждого соединения, вы можете, кроме того установить настраиваемые свойства для индивидуального соединения вызовом функции SQLSETPROP() с дескриптором этого соединения. Иключениями для такого случаея являются свойства ConnectTimeout, PacketSize и DispLogin, чьи установки соединение наследует во время соединения. Если вы измените значения свойств ConnectTimeout, PacketSize или DispLogin, то они не будут приниматься во внимания до момента повторного соединения.

Управленияе соединеением и объектами представления

Вы можете управлять соединениями и представлениями установкой свойств соединения и объекта представления. Свойства, которые управляют базами данных, таблицами, полями таблиц, определениями представлений, полями представлений, именованными соединениями, активными соединениями или активными курсорами представлений называются свойствами движка - engine properties. Вы можете отобразить или установить свойства движка с помощью одной из приведенных ниже функций Visual FoxPro:

Для отображения свойств движка используйте | Для установки свойств движка используйте
CURSORGETPROP() | CURSORSETPROP()
DBGETPROP() | DBSETPROP()
SQLGETPROP() | SQLSETPROP()

Функции, которые вы можете использовать зависят от того, что вы желаете установить - свойства объекта 0 ( соединения 0 и курсора 0), определения объекта в базе данных (именованные соединения или определения представления) или активного объекта (активного соединения или активного курсора представления). В приведенной ниже таблице перечислены объекты и функции с помощью которых вы можете установить свойства каждого объекта:

Для установки свойства | Connection | View
Объект 0 | SQLSETPROP( ) | CURSORSETPROP( )
Определение объекта в базе данных | DBSETPROP( ) | DBSETPROP( )
активного объекта | SQLSETPROP( ) | CURSORSETPROP( )

Свойства движка - Engine Properties

На приведенном ниже рисунке перечислены свойства движка в алфавитном порядке наряду с объектами, которые используют каждое свойство.

FoxPro Properties Table Sample

Обозначения на рисунке: пустой кружок - свойство имеет признак только для чтения, полузаполненный - только для чтения для локальных и редактируемое для удаленных, заполненный - свойство редактируемое

В приведенной ниже таблице перечислены свойства движка наряду с функциями, которые вы можете использовать для установки этих свойств.

Свойство движка - Engine property | Применяется к
Asynchronous | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
BatchMode | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
BatchUpdateCount1 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP().
Buffering | Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
Caption | Полям в таблцах, полям в определении представления: смотрите описание функции DBSETPROP( ).
Comment | Базам данных, таблицам, полям в таблицах, определениям представлений, полям в определении представлений, определению соединения: смотрите описание функции DBSETPROP( ).
CompareMemo | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
ConnectBusy | Активному соединению: смотрите описание функции SQLGETPROP( ).
ConnectHandle | Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
ConnectName1 | Определениям представления: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLGETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
ConnectString | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLGETPROP( ).
ConnectTimeout | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
Database | Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
DataSource | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLGETPROP( ).
DataType | Полям в определении представления: смотрите описание функции DBSETPROP( ).
DefaultValue | Полям в таблицах, полям в определении представления: смотрите описание функции DBSETPROP( ).
DeleteTrigger | Таблицам: смотрите описание функции DBGETPROP( ).
DispLogin | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
DispWarnings | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
FetchAsNeeded | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
FetchMemo1 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
FetchSize1 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
IdleTimeout | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
InsertTrigger | Таблицам: смотрите описание функции DBGETPROP( ).
KeyField | Полям в определении представления: смотрите описание функции DBSETPROP( ).
KeyFieldList2 | Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
MaxRecords1 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
ODBCHdbc | Активному соединению: смотрите описание функции SQLGETPROP( ).
ODBCHstmt | Активному соединению: смотрите описание функции SQLGETPROP( ).
Offline | Определениям представления: смотрите описание функции DBGETPROP( ).
PacketSize | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
ParameterList | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
Password | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLGETPROP( ).
Path | Таблицам: смотрите описание функции DBGETPROP( ).
Prepared | Определениям представления: смотрите описание функции DBSETPROP( ).
PrimaryKey | Таблицам: смотрите описание функции DBGETPROP( ).
QueryTimeout | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
RuleExpression | Таблицам, полям в таблицах, определениям представления, полям в определениях представления: смотрите DBSETPROP( ).
RuleText | Таблицам, полям в таблицах, определениям представления, полям в определениях представления: смотрите DBSETPROP( ).
SendUpdates2 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
ShareConnection | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
SourceName | Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
SourceType | Определениям представления: смотрите описание функции DBGETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
SQL | Определениям представления: смотрите описание функции DBGETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
Tables2 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
Transactions | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
Updatable | Полям в определении представления: смотрите описание функции DBSETPROP( ).
UpdatableFieldList2 | Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
UpdateName | Полям в определении представления: смотрите описание функции DBSETPROP( ).
UpdateNameList2 | Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
UpdateTrigger | Таблицам: смотрите описание функции DBGETPROP( ).
UpdateType | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).
UseMemoSize1 | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORGETPROP( ).
UserID | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLGETPROP( ).
Version | Базам данных: смотрите описание функции DBGETPROP( ).
WaitTime | Определению соединения: смотрите описание функции DBSETPROP( ). Активному соединению: смотрите описание функции SQLSETPROP( ).
WhereType | Определениям представления: смотрите описание функции DBSETPROP( ). Активным курсорам представления: смотрите описание функции CURSORSETPROP( ).

1. Свойство используется изначально для удаленных представлений; установка не воздействует на производительность работы с локальными представлениями. Вы можете установить это свойство для локальных представоений если вы желаете предустановить свойство на локальном представлении, а затем перенести его для создания удаленного представления.

2. Свойство должно быть установлено для того, чтобы можно было посылать обновления удаленному источнику данных.

Использование транзакций с удаленными данными

Вы можете обернуть транзакциями обновления, удаления и вставки в удаленных данных, используя один из приведенных ниже двух методов:

  • Режим автоматической транзакции

  • Режим ручного управления транзакцией

Выбранный вами режим управления транзакциями определяет - как Visual FoxPro обрабатывает транзакции на вашей локальной машине.

Вложенные транзакции

Visual FoxPro поддерживает вложение транзакций до пяти уровней для локальных данных. В сквозные запросы встроена поддержка только одного уровня транзакций.

Если ваш сервер поддерживает многоуровневые транзакции, вы можете использовать сквозные запросы (SQL pass-through) для явного управления уровнями транзакций. Однако, явное управление транзакциями представляет собой довольно сложную процедуру, поскольку может быть трудно управлять взаимодействием между встроенными транзакциями и синхронизацией транзакций на удаленном сервере. Для получения более подробной информации о явном управлении транзакциями, смотрите документацию по используемому вами ODBC.

Смотрите также

Задачи

Как: использовать режим автоматической транзакции

Справочное руководство

Исполнение расширений ODBC в SQL

Прочие ресурсы

Использование технологии SQL Pass-Through
Расширение приложений с помощью технологииSQL Pass-Through
Планирование клиент-серверных приложений
Перенос (Upsizing) баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sharing Connections for Remote Data

Visual FoxPro 9.0
Совместное использование соединений для удаленных данных
Смотрите также

Visual FoxPro позволяет вам совместное использование дескриптора соединения для удаленных данных. Совместное использование дескриптора может быть желательным, когда вам захочется лучшим образом управлять соединениями с SQL сервером и ресурсами сервера путем уменьшения числа соединений.

По умолчанию, Visual FoxPro создает новый дескриптор соединения каждый раз, когда создается новое соединение с удаленными данными. Однако, если это указано, Visual FoxPro может использовать существующее соединение и связать с ним новое предложение. Этим создается новый дескриптор предложения и дескриптор Visual FoxPro; однако, связанный дескриптор соединения остается одним и тем же.

Имеется три типа дескрипторов, связанных с соединениемс удаленными данными. Они описываются в приведенной ниже таблице.

Тип дескриптора Описание

Дескриптор соединения (ODBC HDBC)

Уникальное целое число, присвоенное соединению.

Дескриптор предложения (ODBC HSTMP)

Уникальное целое число, присвоенное предложению.

Note Замечание

С дескриптором соединения HDBC может быть связано более одного дескриптора предложения HSTMP .

Дескриптор соединения Visual FoxPro

Уникальное целое число, присваемое Visual FoxPro уникальному дескриптору предложения.

Соединения совместного использования для удаленных представлений

Удаленное представление может использовать дескриптор соединения совместного использования с помощью включения ключевого слова SHARE в команду CREATE SQL VIEW. Если доступно свместно используемое соединение, то Visual FoxPro использует его для создания нового дескриптора предложения и дескриптора соединения Visual FoxPro. Если же совместно используемое соединение недоступно, Visual FoxPro создает новое, совместно используемое соединение, которое могут использовать другие представления.

Совместно используемые соединения для SQL Pass-Through

Вы можете создать новое соединение, которое может быть использовано совместно включением параметра lShared в функцию SQLSTRINGCONNECT(). Функция SQLSTRINGCONNECT() всегда создает новое соединение, предложение и дескриптор соединения Visual FoxPro.

Включение параметра lShared в функцию SQLCONNECT(), кроме того, создает новое соединение, которое также может быть использовано совместно, включением в ее состав параметра nStatementHandle, что вызовет использование функцией SQLCONNECT() текущего доступного соединения, которое может бысть использовано совместно и создание ею только дескриптора предложения и дескриптора соединения Visual FoxPro.

Смотрите также

Задачи

Как: совместно использовать соединения для множества удаленных представлений

Справочное руководство

Функция SQLCONNECT()
Функция SQLSTRINGCONNECT()

Концепции

Управление соединениями с SQL Pass-Through

Прочие ресурсы

Использование технологии SQL Pass-Through

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Use Automatic Transaction Mode

Visual FoxPro 9.0
Как: Использование режима автоматических транзакций
Смотрите также

По умолчанию в Visual FoxPro каждая операция записи данных автоматически начинает транзакцию и завершает ее. Этот механизм обеспечивается установкой в 1 (или DB_TRANSAUTO) свойства Transactions .

Для использования режима автоматических транзакций:

  • С помощью функции DBSETPROP( ) установите свойство подключения Transactions в 1 (или DB_TRANSAUTO).

    -или-

  • С помощью функции SQLSETPROP( ) свойство Transactions активного подключения в 1 (или DB_TRANSAUTO).

Будет установлен режим автоматических транзакций.

Note Примечание

Команды Visual FoxPro BEGIN TRANSACTION и END TRANSACTION создают транзакцию только для локальных курсоров Visual FoxPro. Их действие не распространяется на удаленный сервер.

Смотрите также

Задачи

Как: Управлять транзакциями вручную

Понятия

Управление подключениями при использовании технологии сквозных запросов

Прочие ресурсы

Использование технологии сквозных запросов (SQL Pass-Through)
Масштабирование баз данных Visual FoxPro
Планирование разработки клиент-серверного приложения
Расширение приложений с помощью использования технологии SQL Pass-Through
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


How to: Control Transactions Manually

Visual FoxPro 9.0
Как: Локально Управлять Транзакциями
См. также

Для переключения в режим "Локального управления Транзакциями" (Manually), вам нужно установить значение свойства Transactions = 2, или константа DB_TRANSMANUAL. При локальном ("ручном") управлении Транзакциями в системе Visual FoxPro, транзакции автоматически включаются при первом выполнении соответствующего Оператора SQL, но для завершения цикла Транзакций Visual FoxPro должен выполнить функции SQLCOMMIT( ) или SQLROLLBACK( ) (Подтверждения или Отката выполненных изменений). При использовании прогрессивного объекта CursorAdapter, вы можете определить значение Свойства UseTransactions = False (.F.), тогда данный объект CursorAdapter не использует механизм Транзакций при выполнении соответствующих Команд SQL: Insert, Update, Delete.

Для использования локального ("ручного") режима Транзакций:

  1. Используйте стандартную функцию DBSETPROP( ) для задания значения свойства Transactions = 2 или DB_TRANSMANUAL, для активного Соединения.

    -ИЛИ-

  2. Используйте стандартную функцию SQLSETPROP( ) для определения значения свойства Transactions = 2 или DB_TRANSMANUAL, для активного Соединения.

Процессы Транзакций контролируются с помощью стандартных функций: SQLCOMMIT( ) SQLCOMMIT( ) , SQLROLLBACK( ).

После завершения текущего цикла Транзакций, подтверждения выполненных Изменений или Отката последних, система Visual FoxPro автоматически начинает новый цикл Транзакций при активации очередного Оператора SQL, выполняющего изменение Данных. Дополнительную информацию смотрите в разделе: Программирование Коллективного Доступа к Данным.

Система Visual FoxPro поддерживает пять (5) вложенных циклов Транзакций для Локальных Данных. Но только один (1) уровень Транзакций для обработки данных при помощи Технологии SQL pass-through.

Если ваш удаленный Сервер поддерживает несколько вложенных уровней Транзакций, вы можете использовать технологию Сквозных Запросов (SQL pass-through) для исключительного управления Транзакциямиy. Однако комплексное управление вложенными Транзакциями является достаточно трудоемким Процессом, в котором необходимо комбинировать управление внешними и внутренними транзакциями самого Сервера. Дополнительную информацию об управлении комплексом Транзакций смотрите в Технической документации по системе ODBC.

См. также

Задачи

Как: Использовать Автоматический режим Транзакций

Описание

UseTransactions, свойство

Концепции

Работа с удаленными Данными при помощи Технологии Сквозных Запросов (SQL Pass-Through)

Другие ссылки

Использование технологии Сквозных Запросов (SQL Pass-Through Technology)
Расширение Приложений при использовании Технологии "SQL Pass-Through"
Планирование Приложений типа Клиент-Сервер
Масштабирование Баз Данных Visual FoxPro
Создание Представлений (Views)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Selecting the Right Methods

Visual FoxPro 9.0
Выбор правильных методов
Смотрите также

Вы можете использовать удаленные представления, SQL pass-through, или их вместе для сроздания ваших клиент-серверных приложений. Вы можете комбинировать оба метода для получения значительных результатов: используйте представления для большинства ваших требований по управлению данными и используйте SQL pass-through для увеличения мощности вашего приложения.

Использование представлений

Вы можете использовать представления как базовый метод для разработки трудоемких клиент-серверных приложений. Дистанционно удаленные представления (Remote views) являются мощной технологией; они разработаны для обеспечения ваших потребностей в выборке именно требуемых данных с дистанционно удаленного сервера в локальные курсоры Visual FoxPro, которые вы затем можете использовать для просмотра и обновления удаленных данных. Представление обычно представляет собой результирующий набор из предложения SQL SELECT.

Представления являются постоянными объектами: их определение хранится в базе данных. Определения представлений имеют свойства, которые вы можете устанавить и затем настроить для курсора активного представления. Представления являются наилучшим инструментом для определения данных в обновляемой результирующем наборе.

Вы можете использовать локальные представления для построения локальных прототипов и в дальнейшем с помощью мастера переноса Upsizing Wizard транформировать их в дистанционно удаленные представления.. Для получения более подробной информации, смотрите описание Перенос баз данных Visual FoxPro.

Если пользователи вашего приложения желают использовать данные для мобильной работы, вы можете развернуть отключаемые представления (Offline views). Они делают данные переносимыми, позволяя пользователю переносного или иного портативного компьютера работать с сохраненной копией исходных данных, которые могут быть изменены, пока пользователи в дороге. Когда пользователь восстанавливает соединение с сервером, ваше приложение может легко слить сделанные во время мобильной работы изменения в исходные таблицы.

Вы можете пожедать использовать технологию отключаемых представлений с тем, чтобы позволить локальным пользователям работать с данными в "отключенном" состоянии, сливая их изменения в таблицы в подходящее время. Для получения более подробной информации, смотрите Управление отключаемыми данными.

Using SQL Pass-Through

Технология SQL pass-through (часто встречается сокращение SPT - прим.переводчика) предоставляет вам прямой доступ к дистанционно удаленному серверу с помощью SQL pass-through функций Visual FoxPro. Эти функции позволяют дополнительный доступ к серверу и управляют на расстоянии возможностями представлений. Например, вы можете производить определение данных на дистанционно удаленном сервере, устанавливать свойства сервера и обращаться к хранимым процедурам на этом сервере.

SQL pass-through является лучщим инструментом для создания наборов результатов, предназначенных только для чтения и для использования других родных синтаксисов SQL. В противовес представления, которые являются результирующими наборами из предложений SQL SELECT, SQL pass-through позволяет вам послать что-нибудь, что вы желаете, на сервер с помощью функции SQLEXEC( ). В приведенной ниже таблице перечислены функции Visual FoxPro SQL pass-through.

Фукнции SQL pass-through
SQLCANCEL( ) | SQLCOLUMNS( ) | SQLCOMMIT( )
SQLCONNECT( ) | SQLDISCONNECT( ) | SQLEXEC( )
SQLGETPROP( ) | SQLMORERESULTS( ) | SQLPREPARE( )
SQLROLLBACK( ) | SQLSETPROP( ) | SQLSTRINGCONNECT( )
SQLTABLES( ) |  |

Вы можете сами создавать курсоры, используя технологию SQL pass-through. Хотя SQL pass-through предоставляет более широкий доступ к серверу, но в тоже время, она предоставляет менее стабальный доступ, чем представления. В отличие от представлений, чьи определения хранятся постоянно в базе данных, курсоры, созданные с использованием SQL pass-through существуют только для текущей сессии. Для получения более подробной информации, смотрите описание Расширений возможностей приложений с помощью технологии SQL Pass-Through.

Объединений представлений и SQL Pass-Through

Наиболее мощная парадигма построения Visual FoxPro клиент-серверного приложения объединяет представления и технологии SQL pass-through. Поскольку представления легко построить и обеспечить автоматическое буфферирование и возможности обновления, используйте представления для большинства задач по управлению данными. Затем используйте SQL pass-through для выполнения специфичных задач на дистанционно удаленном сервере, таких, как определение данных и создание и исполнение хранимым процедур на таком сервере.

Смотрите также

Концепции

Размещение данных на оптимальной платформе
Быстрая разработка приложений
Создание приложения с соответствиеи и целостностью данных
Увеличение производительности через доступ к данным, основанном на предустановках
Разработка клиент/сервера для высокой производительности

Прочие ресурсы

Использование технологии SQL Pass-Through
Планирование клиент/серверных приложений
Оптимизацич производительности клиент/сервера

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Remote Data Using SQL Pass-Through

Visual FoxPro 9.0
Работа с удаленными данными с использованием SQL Pass-Through

После того, как вы извлечете набор результатов, используя SQL pass-through, вы можете просмотреть и управлять свойствами вашего курсора с помощью функций Visual FoxPro CURSORGETPROP() и CURSORSETPROP(). Это те же самые функций, которые вы используете для установки свойств активных курсоров представлений.

Note Замечание

Курсоры не являются объектами и поэтому не привязываются к объектной модели. Однако, вы можете увидеть их свойства, или атрибуты, с помощью CURSORGETPROP() и установить их свойства с помощью CURSORSETPROP().

В этом разделе

Установка свойств курсора для удаленных данных

Описывается назначение свойств курсоров удаленных данных и то, как установить их с помощью SQL pass-through и установок на закладке Remote Data (Удаленные данные) диалогового окна Options (Параметры).

Как: обновить удаленные данные с помощью SQL Pass-Through

Описывается, как обновить удаленные данные, включая конкретные подробности об обновлениях, таких как управление синхронизацией удаленных обновлений, использование оптимистического и пессимистического буферирования строки или таблицы, определение изменений, сделанных другими пользователями, принуждении обновлений и как разбираться с сообщениями об ошибках обновлений.

Выборка эффективного режима обработки SQL Pass-Through

Сравнивает и противопоставляет два типа модели орбаботки для извлечения и обновления удаленных данных с помощью SQL pass-through: синхронного и асинхронного.

Как: использовать SQL Pass-Through асинхронно

Объясняется, как установить ваше клиент-серверное приложение для использования асинхронной обработки для SQL pass-through.

Обработка множественных наборов результатов

Описывается, как обрабатывать множественные наборы результатов, используя синхронный или асинхронный пакетный режим и непакетный режим обработки.

Управление преобразованием типов данных

Объясняется, как размечаются типы данных между OBDC или ADO и Visual FoxPro, для того, чтобы вы могли прогнозировать - как будут обрабатываться данные с удаленного сервера в вашем приложении Visual FoxPro.

Связанные разделы

Расширение приложений с помощью технологииSQL Pass-Through

Объясняется, как ваше приложение может использовать технологию сквозных запросов (SQL pass-through) для обращения к удаленным данным, запуска хранимых процедур сервера, исполнения команд с использованием родного синтаксиса сервера и создания объктов на сервере.

Как: установить источник данных ODBC Data

Описывается, как установить драйвер OBDC для того, чтобы вы смогли использовать источник данных OBDC для удаленных представлений и для SQL pass-through.

Обработка ошибок SQL Pass-Through

Объясняется, как извелкать информацию об ошибках, исследовать их и определять их причину.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Setting Cursor Properties for Remote Data

Visual FoxPro 9.0
Установка свойств курсора для удаленных данных
Смотрите также

В приведенной ниже таблице перечислены свойства курсора Visual FoxPro, который поддерживает работу с представлениями и подключенными наборами данных, сгруппированные в соответствии с категориями задачи.

Свойства курсора Visual FoxPro
Задача | Свойство | Назначение
Определение курсора представления. | SQL | Содержит предложение SQL, по которому строится курсор.
Управление взаимодействием между Visual FoxPro и ODBC. | ConnectHandle | Обслуживает удаленные соединения, которые используются курсором.
 | ConnectName | Имя соединения, используемого курсором.
 | Prepare | Определяет будет ли запрос для представления подготолвен до его исполнения.
 | FetchAsNeeded | Определяет будут ли извлекаться строки во время незанятого цикла или только на основе "по необходимости".
 | CompareMemo | Определяет будут ли поля Memo и General участвовать в опции WHERE предложения UPDATE, независимо от установки свойства UpdateType
 | FetchMemo | Определяет будут ли поля Memo и General автоматически извлекаться с набором данных, или будут извлекаться позднее по запросу, при открытии таких полей для просмотра.
 | UseMemoSize | Определяет минимальный размер колонки (от 1 до 255) в наборе данных, когда для такой колонки возвращается поле типа Memo.
 | FetchSize | Определяет число строк, которые извлекаются за один раз из набора удаленных данных.
 | MaxRecords | Определяет максимальное число строк, извлекаемое в возвращаемый набор данных.
Update data | SendUpdates* | Определяет будут ли обновления в курсоре посылаться таблицам, на которых он основан.
 | BatchUpdateCount | Определяет число предложений обновления посылаемых удаленному источнику данных (back end) для буфферированных таблиц.
 | Tables* | Разделенный запятыми список имен таблиц источника данных; используется для определения областей свойств UpdateNameList и UpdatableFieldsList.
 | KeyFieldList* | Разделенный запятыми список полей Visual FoxPro, которые представляют первичные ключи набора данных, используемых для обновления.
 | UpdateNameList* | Разделенный запятыми список пар полей Visual FoxPro в курсоре с именами таблиц и именами колонок полей, которым вы желаете послать обновление.
 | UpdatableFieldList* | Разделенный запятыми список полей Visual FoxPro для которых посылаются обновления.
 | Buffering | Определяет тип буфферирования производимого на курсоре.
 | UpdateType | Определяет должно ли производиться обновление при использовании команд UPDATE или DELETE и последующей команды INSERT.
 | WhereType | Определяет что должно быть включено в опцию WHERE для обновления табличных данных.

* Свойства, которые должны быть установлены до того, как вы сможете обновить данные.

Вы можете использовать эти свойства для управления процессом взаимодействия вашего приложения с удаленными данными, в том числе, установки числа строк, получаемых во время постепенного извлечения, управления буфферизацией и обновления удаленных данных.

Использование закладки Remote Data в диалоговом окне Options

Некоторые свойства курсора наследуют свои начальные значения из окружения; другие свойства становятся доступными только на уровне курсора. Некоторые свойства доступны для курсоров, представляющих удаленные представления и ODBC или подключенные таблицы SQL pass-through.

Вы можете управлятьн некоторыми установками свойств курсоров и соединений через закладку Remote Data диалогового кона Options. Когда вы выведете закладку Remote Data на передний план, значения в диалоговом окне представляют установки курсора для текущей сессии и глобальные установки для соединений, используемые Visual FoxPro по умолчанию. Когда вы измените значения на закладке Remote Data с последующим щелчком на OK, новые значения сохраняются в текущей сессии курсора и переписывают глобальные установки для соединения. Если вы выберите Set As Default, то установленные вами значения записываются в конфигурируемые системные установки на вашей машине. Приведенная ниже диаграмма иллюстрирует эти взаимодействия.

Вид и установка глобальных и сессионных установок в диалоговом окне Options

Надписи на рисунке сверху вниз и слева направо:
Диалоговое окно Options - открыта закладка Remote Data - Удаленные данные
Командные кнопки: Set As Default - Установить по умолчанию и ОК

Регистр операционной системы
Конфигурируемые системные установки на базе "на клиента"
Глобальные установки Visual FoxPro
Текущие установки сессии
Установки сессии (1) Встроенные установки Visual FoxPro
Начальные значение по умолчанию при старте
Начальные установки по умолчанию для всех сессий, за исключение сессии(1)

Установка свойств с SQL Pass-Through

Когда вы создаете курсор, то курсор наследует установки свойств, такие как UpdateType и UseMemoSize, из курсора окружения или курсора 0 текущей сессии. Вы можете изменить эти установки по умолчанию с помощью функции CURSORSETPROP() с указанием 0 в качестве номера курсора.

После того, как вы создадите курсор с SQL pass-through, вы можете изменить активные установки свойств курсора с помощью функции CURSORSETPROP() для курсора представления. Изменение, которые вы произведете в помощью CURSORSETPROP( ) являются временными: временные установки для активного курсора исчезнут, когда вы закроете представление, а для курсора 0 временные установки уйдут при закрытии сессии Visual FoxPro.

Соединения наследуют свойства в схожей манере. Свойства по умолчанию для соединения 0 наследуются при создании и хранении именованного соединения в базе данных. Вы можете изменить эти установки свойств по умолчанию для соединения 0 с помощью функции SQLSETPROP( ). После того, как соединение будет создано и сохранено в базе данных, вы можете изменить его свойства с помощью функции DBSETPROP(). При использовании соединения, установки свойств, хранимые для соединения в базе данных будут унаследованы активным соединением. Вы можете изменить эти свойства активного соединения с помощью функции SQLSETPROP() используя дескриптор соединения.

Как курсоры SQL pass-through представлений, так и именованные соединения могут использовать именнованный источник данных ODBC. Если вы используете источник данных ODBC в курсоре представления SQL pass-through, соединение наследует свойства из значений по умолчанию сессии.

Приведенная ниже диаграмма иллюстрирует наследование свойств для курсоров и соединений, созданных с SQL pass-through. Серые линии представляют поток наследования свойств; черные линии представляют команды Visual FoxPro.

SQL pass-through (SPT) connection and cursor property inheritance

Надписи на рисунке - слева-направо и сверху вниз:
Текущие установки Visual FoxPro | ODBC
Глобальные установки\Установки текущей сессии | Имена инсталлированных источников данных ODBC
Значения по умолчанию соединения 0 | Значения по умолчанию курсора 0
Создание соединения | Выбор имени источника данных в CREATE CONNECTION или SQLConnect()
(1) База данных\Определение соединения | Легенда: наследование свойств / команды
(2) SQLConnect()
Соединение и курсор SQL pass-through/
Активное соединение -- SQLExec()--> (3) Активный курсор SPT

(1) Если активное соединение основано на источнике данных ODBC его свойства наследуются из соединения 0
(2) Если активное соединение основано на соединении, определенном в базе данных, его свойства наследуются из этого определения.
(3) Свойства активного курсора SPT наследуются из значений по умолчанию курсора 0

Смотрите также

Задачи

Как: вручную управлять транзакциями

Концепции

Работа с удаленными данными с помощью SQL Pass-Through
Обновление удаленных данных с SQL Pass-Through

Прочие ресурсы

Расширение приложений с помощью технологии SQL Pass-Through
Планирование клиент-серверных приложений
Перенос (Upsizing) баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Updating Remote Data with SQL Pass-Through

Visual FoxPro 9.0
Обновление удаленных данных с помощью SQL Pass-Through
Смотрите также

При использовании функций SQL pass-through для обновления данных на удаленном сервере, вы управляете процессом - будут ли данные обновлены или нет, а также подробностями процесса обновления, установкой свойств курсора набора результатов. Visual FoxPro проверяет эти свойства при запросе на обновление до подтвеждения обновления.

Note Совет

Курсоры представления SQL pass-through не являются обновляемыми до тех пор, пока вы не определите свойств обновления для курсора представления. Если вы желаете сохранить на постоянной основе установки свойств обновления, создайте определение представления. Visual FoxPro поставляет значения по умолчанию, которые подготавливают представление для перевода его в обновляемое, во время создания представления с помощью View Designer (Конструктора представления) или с помощью команд и функций языка. Вы можете использовать функцию CURSORSETPROP() для ввода дополнительной информации для подстановки или настройки значений по умолчанию.

Для обновления удаленных данных вы должны с помощью функции CURSORSETPROP() установить перечисленные ниже свойства:

  • Tables

  • KeyFieldList

  • UpdateNameList

  • UpdatableFieldList

  • SendUpdates

Вы можете указать дополнительные свойства, такие как Buffering, UpdateType и WhereType для лучшего согласования с требованиями вашего приложения.

Свойства обновления, которые вы устанавливаете для курсора представления, слегка отличаются по именам, по сравнению с их аналогами в DBSETPROP( ) . Приведенная ниже таблица перечисляет имена, используемые как определений представлений, так и активных курсоров.

Свойства обновления для представления и курсора
Назначение | Свойства определения представления 1 | Свойста активного курсора 2
Сделать удаленные таблицы обновляемыми. | Tables | Tables
Указать удаленные имена для полей представления. | UpdateName (field-level property) | UpdateNameList
Указать поля представления, которые вы желаете использовать в качестве ключей. | KeyField (field-level property) | KeyFieldList
Указать поля представления, которые являются обновляемыми. | Updatable (field-level property) | UpdatableFieldList
Посылать обновления. | SendUpdates | SendUpdates

1 Устанавливается с помощью DBSETPROP().

2 Устанавливается с помощью CURSORSETPROP().

Для получения более подробной информации об установке свойств обновлений смотрите описания задач Как: обновить данные в представлении или смотрите описания функций DBSETPROP() или CURSORSETPROP().

Управления интервалами удаленных обновлений

Вы управляете тем, как буферируются обновления удаленных данных, установкой свойства Buffering курсора. Из пяти возможных режимов буферизации для удаленных представлений доступны два:

  • 3, или DB_BUFOPTROW, используется по умолчанию, который оптимистически блокирует строку.

  • 5, или DB_BUFOPTTABLE, который оптимистически блокирует таблицу.

Visual FoxPro поддерживает только оптимистическую блокировку удаленных курсоров.

Note Замечание

Установки пессимистического буферирования строки и таблицы, 2 и 4, не применяются для удаленных представлений, поскольку Visual FoxPro не производит блокировки данных на сервере. Установка свойства Buffering равная 1 не применяется к удаленным представлениям, поскольку представления всегда буферированы.

Использование оптимистической буферизации строки

Установка по умолчанию для буферизации, DB_BUFOPTROW, оптимистически блокирует удаленные данные на основе строка-за-строкой. Например, если вы желаете, чтобы изменения в таблице titles были подтвеждены на основе строка-за-строкой, например при использовании команды SKIP, вы должны установить свойство Buffering в 3:

CopyCode image Скопировать код
CURSORSETPROP('buffering', 3, 'titles')

Когда Buffering установлено в буферирование строки, то у вас есть два метода посылки обновлений на удаленный сервер. Вы можете:

  • Вызвать функцию TABLEUPDATE().

  • Использовать команду, которая перемещает указатель записи за ее пределы, такую как SKIP или GO BOTTOM.

Функция TABLEUPDATE( ) обновляет серверные данные без перемещения указателя записи. Команды, которые перемещают указатель записи посылают обновления на удаленный сервер так как это предусмотрено продуктом - перемещением указателя записи за пределы измененой записи.

Если вы используете буферирование строки и желаете иметь возможность отменять изменения сделанные в записях, вы должны обернуть изменения в ручные транзакции с помощью функций транзакции SQL pass-through.

Использование оптимистической буферизации таблицы

Если вы желаете, чтобы изменения были подтвеждены однократным пакетом обновления, например, когда пользовать щелкает по командной кнопке Save или OK в форме, вы можете использовать установку свойства Buffering равную 5, или DB_BUFOPTTABLE. Для посылки обновления на сервер вы долнжы вызвать фукнцию TABLEUPDATE().

В приведенном ниже примере, вы установливаете свойство Buffering в коде инициализации формы и затем подтвеждаете изменения в коде save.

Код | Комментарии
CURSORSETPROP('buffering', 5, 'sqltitles') | Установка в коде Init
* Update batched changes; * ignore changes made by others |
TABLEUPDATE(.T., .T., 'titles') | Установка в коде Save

Для восстановления оригинальных значений в таблице и предотвращения посылки обновлений удаленному серверу, вы вызываете TABLEREVERT(). Вы можете управлять объемом отката - будет ли откат произведен для одной или всех строк комбинированием установок свойства Buffering курсора и команды TABLEREVERT(). В приведенном ниже примере откатывается только текущая строка. Вы можете пожелать вызвать такой код, когда пользователь щелкает в форме по командной кнопке Cancel:

CopyCode image Скопировать код
= TABLEREVERT(.F., 'titles')      && Откатывает изменения в текущей строке

Если вы желаете откатить изменения во всех строках, например, когда пользователь нажмет ESC для выхода из формы, вы можете использовать этот же самый пример, который в данном случае изменяет установку свойства Buffering и команду TABLEREVERT() для отката изменений во всех строках, с помощью буферизации полной таблицы:

CopyCode image Скопировать код
= TABLEREVERT(.T., 'titles')      && Откатывает изменения во всех строка

Для получения более подробной информации о буферировании смотрите описание Программирование для совместного доступа.

Определение изменений, сделанных другими пользователями

В многопользовательских приложениях, конфликты с обновлениями других пользователей определяются с помощью запросов SQL Update, который генерируется, когда производится локальная попытка записи. Уровень определения зависит от установки свойства WhereType. Для получения более подробной информации об установке свойства WhereType смотрите описание Управление обновлениями с помощью представлений.

Принуждение обновлений

Вы можете использовать функцию TABLEUPDATE() для контроля - были ли изменения, сделанные в таблице или курсоре другим пользователем в сети переписаны посылкой ваших обновлений. Если вы установливаете параметр Force функции TABLEUPDATE( ) в true (.T.), а CURSORSETPROP() установить значение свойства UpdateType в значение по умолчанию, равное 1, старые данные обновляются новыми, которые вы посылаете, до тех пор, пока ключевое поле записи в удаленной таблице остается неизменным. Если значение ключевого поля изменилось, или если значение свойства UpdateType установлено в 2, Visual FoxPro посылает удаленной таблице предложение DELETE до предложения INSERT.

Сообщения об ошибках при поиске конфликтов обновления

В приведенной ниже таблице перечислены сообщения об ошибках Visual FoxPro и ODBC, которые применяются именно для удаленных обновлений. Колонка Действие содержит описание действия, которое вы можете предпринять для разрешения конфликтного состояния.

Сообщение об ошибке | Означает | Действие
No update table(s) specified. Use the Tables cursor property. | Свойство курсора Tables не содержит имен удаленных таблиц. Для производства обновлений на удаленном сервере требуется по крайней мере хотя бы одна таблица. | Используйте свойство Tables для указания хотя бы одной таблицы для курсора.
No key column(s) specified for the update table table_name. Use the KeyFieldList cursor property. | Первичный ключ, указанный в сообщении об ошибке не включен в значение свойства KeyFieldList курсора; для каждой обновляемой таблицы требуется первичный ключ. | Используйте свойство KeyFieldList для указания первичного ключа удаленной таблицы.
No valid update table specified for column column_name. Use the UpdateNameList and Tables cursor properties. | Свойство UpdateName для колонки column_name имеет недопустимый идентификатор таблицы. | Установите идентификатор таблицы в свойстве UpdateNameList или добавьте его в свойство Tables или сделайте оба изменения.
The KeyField List cursor property doesn't define a unique key. | Более чем одна запись в удаленной источнике имеют один и тот же ключ. | Используйте свойство KeyField List property для определения уникального ключа для удаленной таблицы.
From ODBC: ODBC invalid object. | ODBC не может найти удаленную таблицу или поле, поскольку именованные не существуют. Имена полей Visual FoxPro проверяются им самим; удаленные таблицы и имена полей проверяются только на удаленном сервере. | Проверьте имя объекта.

Для получения более подробной информации об обработке ошибок смотрите описание Обработка ошибок SQL Pass-Through.

Смотрите также

Концепции

Работа с удаленными данными с использованием SQL Pass-Through
Выборка эффективного режима обработки SQL Pass-Through

Прочие ресурсы

Расширение приложений с помощью технологииSQL Pass-Through
Планирование клиент-серверных приложений
Перенос (Upsizing) баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Selecting an Efficient SQL Pass-Through Processing Mode

Visual FoxPro 9.0
Эффективные Выборки в разных режимах работы SQL Pass-Through
См. Также

Система Visual FoxPro обеспечивает два режима Получения и Обновления удаленных данных (данных на внешних Серверах) при помощи механизмов Технологии SQL pass-through: Синхронный и Асинхронный. Когда вы используете функции SQL pass-through, вы можете выбрать более предпочтительный режим обработки данных. Для удаленных Представлений (Remote Views) вам не требуется выбирать режим обработки; Visual FoxPro автоматически выбирает наиболее предпочтительный в текущий момент режим загрузки данных и их обновления для ваших Удаленных Представлений.

Преимущества Синхронного режима обработки Удаленных данных

По-умолчанию, соответствующие функции Visual FoxPro SQL выполняются в Синхронном режиме: Visual FoxPro не возвращает управление Приложению, пока выполняется текущая функция SQL (пока она не закончилась). Синхронный режим Эффективен в интерактивном режиме работы системы Visual FoxPro, или вашего Приложения.

Преимущества Асинхронного режима обработки Удаленных данных

Асинхронный режим обработки удаленных данных обеспечивает большую гибкость, по сравнению с Синхронным режимом. Например, когда в вашем Приложении выполняется Асинхронная функция SQL, приложение освобождается, может быть выведен Индикатор Выбоки данных, отслеживаются перемещения указателя мышки,нажатия клавиш; можно создать цикл ожидания выполнения данной функции, предусмотреть вариант Прекращения удаленной выборки данных, если он выполняется достаточно длительное время, можно использовать различные Таймеры (объект Timer).

См. также

Задачи

Как: Использовать Асинхронные режимы работы SQL Pass-Through

Концепции

Обновление удаленых Данных при помощи механизма SQL Pass-Through

Другие ссылки

Расширение ваших Приложений при использовании Технологии SQL Pass-Through
Планирование Приложений типа Клиент-Сервер (Client/Server Applications)
Масштабирование Баз Данных Visual FoxPro
Создание Представлений (Views)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Use SQL Pass-Through Asynchronously

Visual FoxPro 9.0
Как: использовать асинхронно SQL Pass-Through
Смотрите также

Ваше приложение может запросить асинхронную обработку для четырех функций, которые посылают запросы к источнику данных и извлекают данные: SQLEXEC(), SQLMORERESULTS(), SQLTABLES() и SQLCOLUMNS(). Вы можете разрешить асинхронную обработку установкой свойства соединения Asynchronous с помощью функции SQLSETPROP(). Когда для соединения установлена асинхронная связь, все эти четыре функции работают в асинхронном режиме.

Для проверки установки свойства Asynchronous

  • Для просмотра значения свойства Asynchronous используйте функцию SQLGETPROP(). В приведенном ниже примере nConnectionHandle представляет собой номер дескриптора вашего активного соединения:

    CopyCode image Скопировать код
    ? SQLGETPROP(nConnectionHandle,'Asynchronous')

Чтобы разрешить асинхронную обработку

  • Используйте функцию SQLSETPROP() для указания значения свойства Asynchronous:

    CopyCode image Скопировать код
    ? SQLSETPROP(nConnectionHandle,'Asynchronous', .T.)

В асинхронном режиме вы должны вызывать каждую функцию повторно, до тех пор, пока она не возвратит значение отличное от 0 (0 - означает что исполнение не завершено). Пока функция исполняется, вы можете прекратить обработку нажатием клавиши ESC в случае, если свойство SET ESCAPE установлено в true (.T.).

Пока функция не завершит обработку, приложение может использовать дескриптор соединения только с функцией SQLCANCEL() или с асинхронными фуекциями — SQLEXEC(), SQLMORERESULTS(), SQLTABLES() или SQLCOLUMNS() — изначально связнными с дескриптором. Вы не можете вызывать любую из трех других асинхронных функций или SQLDISCONNECT() и одним и тем же дескриптором соединения, до тех пор, пока вызов функции не завершится.

Смотрите также

Концепции

Выборка эффективного режима обработки SQL Pass-Through
Обработка множественных наборов результатов
Работа с удаленными данными с использованием SQL Pass-Through

Прочие ресурсы

Расширение приложений с помощью технологииSQL Pass-Through
Планирование клиент-серверных приложений
Перенос (Upsizing) баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Processing Multiple Result Sets

Visual FoxPro 9.0
Обработка множественных наборов результатов
Смотрите также

Ваше приложение извлекает множественные наборы результатов, когда вы используете функцию SQLEXEC() более чем для одного предложения SQL SELECT или исполняете хранимые процедуры, которые выполняют множество предложений SELECT. В результате каждое предложение SQL SELECT возвращается в виде отдельного курсора Visual FoxPro.

Для первого курсора, по умолчанию, используется имя SQLRESULT; последующим курсорам присваиваются уникальные имена путем индексирования имени, используемого по умолчанию. Например, именами по умолчанию для курсоров, возвращаемых предложениями SQLEXEC( ) могут быть три набора результатов: Sqlresult, Sqlresult1 и Sqlresult2.

В пакетном режиме, если функция возвращает множественный набор результатов, имена курсоров, ответственных за каждый набор в Visual FoxPro будут иметь уникальные суффиксы и могут быть длиной до 255. Например, приведенный ниже пример устанавливает свойство BatchMode в пакетный режим, а затем выдает команду SQLEXEC( ), содержащую четыре предложения SQL SELECT, которые выстроят четыре набора результатов:

CopyCode image Скопировать код
? SQLSETPROP(nConnectionHandle,'BatchMode', .T.)
? SQLEXEC(nConnectionHandle,'select * from authors ;
                     select * from titles ;
                     select * from roysched ;
                     select * from titleauthor','ITEM')

Когда приведенная выше функция завершить обработку, в Visual FoxPro будут возвращены четыре набора результатов в виде курсоров Visual FoxPro - Item, Item1, Item2 и Item3.

Вы можете изменить имя, используемое по умолчанию с помощью параметра cCursorname в функциях SQLEXEC( ) или SQLMORERESULTS( ). Если указанное вами имя для набора результатов уже используется, тогда новый набор результатов перепишет существующий курсор.

Когда приложение извлекает множественные наборы результатов, вы можете выбрать либо асинхронный, либо синхронный режим обработки или либо пакетный либо не пакетный режимы.

Использование режима пакетной (Batch Mode) обработки

Свойство BatchMode, устанавливаемое с помощью SQLSETPROP(), управляет тем, как SQLEXEC() будет возвращать наборы результатов. The default value is .T., for batch mode. Batch mode processing means that Visual FoxPro doesn't return any results from a still-executing SQLEXEC( ) call until all of the individual result sets have been retrieved.

Использование режима беспакетной (Non-Batch Mode) обработки

Если вы используете SQLSETPROP( ) для установки свойства BatchMode в .F., для режима беспакетной обработки, то каждый набор результатов возвращается индивидуально. Первый набор результатов возвращается вызовом функции SQLEXEC( ). Затем ваше приложение должно периодически вызвать функцию SQLMORERESULTS( ) до тех пор, пока не будет возвращено значение 2, указывающее, что более нет доступных результатов.

В беспакетном режиме, имя курсора может быть изменено в каждом последующем вызове SQLMORERESULTS(). В предыдущем примере, если имя первого курсора в последовательности SQLEXEC( ) было Item, а второй вызов SQLMORERESULTS( ) изменял значение параметра cCursorName в Otheritem, то результирующие наборы в этом случае будут именоваться Item, Item1, Otheritem и Otheritem1.

Следующий раздел подробно описывает режимы пакетной и беспакетной обработки в синхронном и асинхронном режимах. Приведенная ниже диаграмма предоставляет четыре возможных комбинации обработки. Числа 0, 1 и 2 представляют собой значения, возвращаемые при каждом вызове функции.

Синхронные и асинхронные режимы обработки Visual FoxPro

Повежение каждого типа обработки объяснено ниже: метки A, B, C и D ссылаются на колонки диаграммы. Каждое объяснение подразумевает исполнение предложения, которое возвращает три набора результатов, представленных в диаграмме тремя горизонтальными полосами.

Использование сихронной обработки

В синхронном режиме управление не возвращается приложению до тех пор, пока не будет завершено исполнение функции.

A: Синхронный пакетный режим (Synchronous Batch Mode)

Когда вы исполняете предложение SQL pass-through синхронно в пакетном режиме, управление не возвращается приложению до завершения извлечения набора результатов. Вы указываете имя первого курсора с помощью параметра cCursorname в оригинальной функции. Если указанный вами курсор уже существует, то набор результатов перепишет его. Когда вы запрашиваете множество наборов результатов в синхронном режиме, Visual FoxPro создает имена дополнительных курсоров численным индексированием имени первого курсора.

B: Синхронный беспакетный режим (Synchronous Non-Batch Mode)

Когда вы исполняете предложение SQL pass-through синхронно в беспакетном режиме, первое предложение извлекает первый набор результатов и возвращает 1. Затем вы должны периодически вызывать функцию SQLMORERESULTS( ), и можете, хотя это и необязательно, указать новое имя для курсора. Если вы не укажите новое имя для курсора, множественные имена для множественных наборов результатов создаются численным индексированием основного имени. Когда SQLMORERESULTS() возвратит значение 2, то это означает, что более нет доступных результатов.

Использование асинхронной обработки

В асинхронном режиме, ваше приложений должно продолжить вызов тех же самых функций SQL pass-through, пока не будет возвращено значение, отличное от 0 (0 означает продолжение исполнения). Имя набора результатов, которое по умолчанию равно Sqlresult, может быть изменено с помощью параметра cCursorname, при первом вызове функции. Если указанное вами имя уже используется, но новый набор результатов перепишет информацию в существующем курсоре.

C: Асинхронный пакетный режим (Asynchronous Batch Mode)

При асинхронном исполнении в пакетном режиме, каждый повторный вызов оригинальной функции будет возвращать 0 до тех пор, пока в указанные курсоры не будет возвращено множество наборов результатов. Когда все результаты будут возвращены, то оригинальная функция вернет либо число курсоров, либо отрицательное число, указывающее на ошибку исполнения.

D: Асинхронный беспакетный режим (Asynchronous Non-Batch Mode)

При асинхронной обработке в беспакетном режиме, SQLEXEC( ) вернет значение 1, когда она завершит извлечение каждого набора результатов. Ваше приложение затем должны переодически вызывать SQLMORERESULTS( ) до тех пор, пока не будет возвращено значение 2, указывающее, что более не имеется доступных результатов.

Note Совет

Удаленные наборы результатов извлекаются в две стадии: сначала набор результатов подготавливается на сервере; затем набор результатов загружается в локальный курсор Visual FoxPro. В асинхронном режиме вы можете вызывать функцию USED( ) для проверки - начал ли Visual FoxPro заполнять запрашиваемый вами курсор.

Смотрите также

Задачи

Как: использовать SQL Pass-Through асинхронно

Концепции

Управление преобразованием типов данныъData Type Conversion Control
Работа с удаленными данными с использованием SQL Pass-Through

Прочие ресурсы

Расщирение приложений с помощью технологии SQL Pass-Through
Планирование клиент/серверных приложений
Перенос баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Type Conversion Control

Visual FoxPro 9.0
Управление преобразованием типа данных
Смотрите также

Когда вы перемещаете данные между удаленным сервером и Visual FoxPro, вы можете найти различия в типах данных, доступных на сервере или в Visual FoxPro. Однозначное соответствие между типами данных на удаленном источнике данных и типами данных, которые доступны в Visual FoxPro встречается крайне редко. Для обслуживания этих различий, Visual FoxPro использует ODBC или ADO типы данных для разметки удаленных типов данных в локальные типы данных Visual FoxPro. Поняв, как размечаются типы данных между ODBC или ADO и Visual FoxPro, вы можете предсказать, как данные удаленного сервера будут обработаны в вашем Visual FoxPro приложении.

Вы можете, кроме того, подогнать типы данных, используемые на сервере или в вашем приложении. Вы можете переписать типы данных полей, используемых Visual FoxPro по умолчанию, создав представление для набора удаленных данных и, затем, переписать установки свойства DataType поля представления в базе данных. Свойство DataType представляет собой символьное свойство, указывающее желаемый тип данных для каждого поля в удаленном представлении. Для получения более подробной информации о свойстве DataType смотрите описание функции DBSETPROP().

Преобразование типа данных между удаленными представлениями и курсорами Visual FoxPro

Когда вы извлекаете данные из удаленного источника через ODBC или ADO, Visual FoxPro преобразует тип данных каждого поля ODBC или ADO в эквивалентный тип данных Visual FoxPro в курсоре результата.

Удаленные типы данных в типы данных Visual FoxPro

В приведенной ниже таблице приведена используемая по умолчанию разметка между типами данных удаленного поля и Visual FoxPro типами данных для курсоров.

Тип данных ODBC/ADO Тип данных курсора Visual FoxPro, используемый по умолчанию

SQL_BINARY / adBinary SQL_VARBINARY / adVarbinary

Memo/Blob1 или Varbinary

Note Замечание

На тип, используемый по умолчанию, оказывает влияние свойство MapBinary. Для получения более подробной информации смотрите описание функции CURSORSETPROP().

SQL_LONGVARBINARY

General/Blob

Note Замечание

На тип, используемый по умолчанию, оказывает влияние свойство MapBinary. Для получения более подробной информации смотрите описание функции CURSORSETPROP().

adLongVarbinary

Memo или Character

SQL_CHAR / adChar SQL_WCHAR / adWChar

Memo1 или Character

SQL_LONGVARCHAR / adLongVarChar SQL_WLONGVARCHAR / adLongVarWChar

Memo

SQL_VARCHAR / adVarChar SQL_WVARCHAR / adVarWChar

Memo1 или Character/Varchar

Note Замечание

На тип, используемый по умолчанию, оказывает влияние свойство MapVarchar. Для получения более подробной информации смотрите описание функции CURSORSETPROP().

SQL_DECIMAL / adNumeric SQL_NUMERIC / adNumeric

Currency2

SQL_BIT / adBoolean

Logical

SQL_TINYINT / adVarbinary SQL_SMALLINT / adSmallInt SQL_INTEGER / adInteger

Integer

SQL_BIGINT / adBigInt

Character

SQL_REAL / adSingle SQL_FLOAT / adDouble SQL_DOUBLE / adSingle

Double

Note Замечание

Для Double, число десятичных мест представляет собой значение, определяемое установкой SET DECIMAL в Visual FoxPro.

SQL_DATE / adDBTimeStamp

Date

SQL_TIME / adDBTTimeStamp

DateTime4

SQL_TIMESTAMP / adBinary

DateTime3

1 Если ширина поля ODBC/ADO меньше, чем значение свойства курсора UseMemoSize, то оно становится полем Character/Varchar/Varbinary в курсоре Visual FoxPro; в противном случае, он становится полем Memo/Blob.

2 Если поле сервера представляет собой тип данных money, оно становится типом данных Currency в Visual FoxPro.

3 Если значение в поле SQL_TIMESTAMP содержит доли секунд, то эти доли отбрасываются, когда значение поля преобразуется в тип данных Visual FoxPro DateTime.

4 День устанавливается по умолчанию в 1/1/1900.

В приведенной ниже таблице перечислены типы, доступные при использовании удаленных представлений или объектов CursorAdapter наравне с источниками данных ODBC или ADO и эквивалентными типами данных Visual FoxPro. Для получения более подробной информации об указании схемы курсора смотрите описание метода CursorFill объекта CursorAdapter .

Тип данных ODBC/ADO Акцептируемые курсором Visual FoxPro типы данных

SQL_BINARY / adBinary SQL_VARBINARY / adVarbinary SQL_LONGVARBINARY / adLongVarbinary SQL_CHAR / adChar SQL_VARCHAR / adVarChar SQL_LONGVARCHAR / adLongVarChar

Blob, Varbinary, Character, Varchar, General, Memo5

SQL_WCHAR / adWChar SQL_WVARCHAR / adVarWChar SQL_WLONGVARCHAR / adLongVarWChar

Character, Varchar, Memo

SQL_BIT / adBoolean

Character, Varchar, Logical

SQL_REAL / adSingle SQL_FLOAT / adDouble SQL_DOUBLE / adSingle SQL_DECIMAL / adNumeric SQL_NUMERIC / adNumeric SQL_TINYINT / adVarbinary SQL_SMALLINT / adSmallInt SQL_INTEGER / adInteger SQL_BIGINT / adBigInt

Character, Varchar, Integer, Numeric, Float, Double или Currency6

Note Замечание

Для Double, число десятичных мест представляет собой значение, определяемое установкой SET DECIMAL в Visual FoxPro.

SQL_DATE / adDBTimeStamp SQL_TIMESTAMP / adBinary

Character, Varchar, Date, DateTime7

SQL_TIME / adDBTTimeStamp

Character, Varchar, DateTime8

5 Если ширина поля ODBC меньше, чем значение свойства курсора UseMemoSize, оно становится полем Character в курсоре Visual FoxPro; в противном случае оно становится Memo полем.

6 Если поле сервера представляет собой тип данных money, оно становится типом данных Currency в Visual FoxPro.

7 Если значение в поле SQL_TIMESTAMP field содержит доли секунд, то эти доли отбрасываются при преобразовании значения в тип данных Visual FoxPro DateTime.

8 День устанавливается по умолчанию в 1/1/1900.

Note Замечание

Null-значения в полях источников данных ODBC становятся null-значениями в курсоре Visual FoxPro, вне зависимости от установки SET NULL в Visual FoxPro во время, когда приложение извлекает удаленные данные.

В Visual FoxPro 9.0, определенные типы данных ODBC и ADO могут быть размечены в логический тип данных в удаленных представлениях и объекте CursorAdapter.

Если значением backend является zero, тип данных размечается в логическое False (.F.); все другие значения размечаются в True (.T.). При производстве обновления, разметка из логических данных в целочисленный тип является зависимой от backend. Для ODBC, False (.F.) обычно размечается в 0, а True (.T.) обычно размечается в 1. Для ADO, False (.F.) обычно размечается в zero, а .T. обычно размечается в 1 или -1, в зависимости от исполняемой команды. Для принудительной разметки может быть использовано свойство ConversionFunc объекта.

Для удаленных представлений и объекта CursorAdapter, типы данных ODBC SQL_DECIMAL и SQL_NUMERIC могут быть размечены только в логические значения, если Scale установлено в zero.

Для объекта CursorAdapter типы данных ADO adDecimal и adNumeric могут быть размечены только в логические значения, если Scale установлено в zero.

В приведенной ниже таблице перечислены типы данных ODBC и ADO, которые могут быть размечены в логический тип данных.

Тип данных ODBC | Тип данных ADO
SQL_TINYINT SQL_SMALLINT SQL_INTEGER SQL_BIGINT SQL_DECIMAL SQL_NUMERIC | adSingle adTinyInt adSmallInt adInteger adBigInt adUnsignedTinyInt adUnsignedSmallInt adDecimal adNumeric

В приведенной ниже таблице перечислены типы данных Visual FoxPro, доступные при использовании удаленных представлений с объектами CursorAdapter и родными данными Visual FoxPro и их эквивалентами с типами данных Visual FoxPro.

Родные типы данных Visual FoxPro | Акцептируемые курсором Visual FoxPro типы данных
Character, Memo, General | Character, Varchar, Memo, General
Numeric, Float, Currency, Integer, Double | Numeric, Float, Currency, Integer, Double, Character, Varchar
Logical | Logical, Character, Varchar
Date, DateTime | Character, Varchar, Date, DateTime

Значения параметра Visual FoxPro для типов данных удаленных представлений

Если в курсоре Visual FoxPro присутствуют данные, которые получены из удаленных данных, то данные преобразуются обратно в их оригинальные типы данных ODBC или ADO при отсылке их на удаленный сервер. Если вы посылаете данные, созданные в Visual FoxPro на удаленный сервер с использованием технологии SQL, то применяются преобразования, приведенные в таблице.

Типы данныхVisual FoxPro | Тип данных ODBC
Character, Varchar, Memo | SQL_CHAR или SQL_LONGVARCHAR9
Blob, Varbinary | SQL_BINARY или SQL_LONGVARBINARY
Currency | SQL_DECIMAL
Date | SQL_DATE или SQL_TIMESTAMP10
DateTime | SQL_TIMESTAMP
Double | SQL_DOUBLE
Integer | SQL_INTEGER
General | SQL_LONGVARBINARY
Logical | SQL_BIT
Numeric | SQL_DOUBLE

9 Если переменная Visual FoxPro, которая размечена в параметр, создает выражение, ширина которого меньше 255 символов, то оно становится типом SQL_CHAR в источнике данных ODBC; в противном случае оно становится типом SQL_LONGVARCHAR.

10 Данные типа Visual FoxPro Date преобразуются в SQL_DATE для всех источников данных ODBC, за исключением SQL Server, где они становятся SQL_TIMESTAMP.

Разметка значений параметра Visual FoxPro в удаленный тип данных

Вы можете разметить значение параметра Visual FoxPro в конкретный тип удаленных данных, форматируя параметр, как символьное выражение, которое использует синтаксис для желаемого удаленного типа данных. Например, если ваш сервер предоставляет тип данных DateTime, вы можете создать ваш параметр Visual FoxPro в виде символьного выражения в формате, используемом вашим сервером для представления типа данных DateTime. Когда ваш сервер получает значение параметра, он пытается разметить форматированные данные в тип данных DateTime.

Note Замечание

Когда вы посылаете параметр удаленному серверу, убедитесь, что тип данных в ключевом слове WHERE соответствует типу данных, используемых для выражения параметра.

Смотрите также

Концепции

Обработка множественных наборов результатов
Обслуживание ошибок SQL Pass-Through
Работа с удаленными данными с использованием SQL Pass-Through

Прочие ресурсы

Расширение приложений с помощью технологии SQL Pass-Through
Планирование приложений Client/Server
Перенос баз данных Visual FoxPro
Создание представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Handling SQL Pass-Through Errors

Visual FoxPro 9.0
Управление ошибками в функциях SQL Pass-Through (сквозных Запросов)
См. Также

Если функция SQL pass-through возвращает ошибку, тогда система Visual FoxPro помещает расширенное сообщение о данной ошибке в массив. Функция AERROR( ) обеспечивает чтение информации о данной ошибке, полученное от систем различных уровней: Visual FoxPro, ODBC Data Source, или удаленного сервера (Remote Server). Анализируя полученные с помощью функции AERROR( ) сообщения, вы можете установить причину возникновения данной ошибочной ситуации, спланировать варианты обработки таких сообщений, (или игнорировать их).

Caution note Обратите внимание

Для использования функции AERROR(), ее нужно выполнять немедленно после возникшей ошибочной ситуации. Если возникнет другая ошибка, до вызова функции AERROR(), то расширенная информация о 1-ой ошибке будет потеряна.

См. также

Концепции

Контрол Data Type Conversion (преобразования типов данных)l
Обработка запросов с несколькими таблицами результатов (Processing Multiple Result Sets)
Работа с Удаленными Данными при помощи SQL Pass-Through (функций сквозных запрсов)

Другие ссылки

Расширение приложений при использовании технологии функций SQL Pass-Through (сквозных запросов)
Проектирование Приложений типа Client/Server (Клиент/Сервер)
Масштабирование Баз Данных Visual FoxPro
Создание Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Web Services and Components

Visual FoxPro 9.0
Сервис WEB и Компоненты

Для расширения функциональных возможностей базовых Приложений Microsoft Visual FoxPro вы можете подключить дополнительные функции Многопользовательской обработки Данных, использовать расширенные функции сервисов XML Web, использовать внешние Контролы Microsoft ActiveX, или доступные Серверы Автоматизации (Automation Servers), а также другие расширения Операционной системы Windows.

В данном Параграфе

Использование Сервисов XML Web в приложениях Visual FoxPro

Рассматриваются вопросы, как использовать внешние Сервисы XML Web в пользовательских Приложениях Visual FoxPro. Обычно, указанные сервисы XML Web представляют собой Классы или Объекты, обеспечивающие стандартные функции Web, которые вы можете подсоединять к своим Приложениям с помощью обычных методов Объектно-Ориентированного Программирования (ООП).

Серверы Автоматизации и COM

Объясняется, как вы можете значительно расширить функциональные возможности своих Приложений Visual FoxPro не прибегая к длительным и сложным программным процедурам, вместо этого - достаточно подключить Серверы Автоматизации и COM.

Функциональная Совместимость и Интернет

Объясняется, как при помощи стандартных операций OLE "drag-and-drop" (перетаскивание) вы можете быстро разрабатывать свои Приложения (наращивать их функциональность) за счет внешних Компонент Microsoft-Windows-совместимых Приложений. Создание однотипных Документов для использования их в Интернет, или использование собственных Таблиц Visual FoxPro в других Компонентах COM (Серверах Автоматизации), использование модулей в качестве многопоточных Приложений.

Описание

Данные фоормата XML в системе Visual FoxPro

Рассматриваются Схемы XML, описывающие различные Типы данных; обсуждается общий план обработки данных по представленным Схемам в приложениях Visual FoxPro.

Связанные Разделы

Разработка Приложений Visual FoxPro

Содержатся концептуальные вопросы об основных принципах разработки Приложений Visual FoxPro, приводятся рекомендации по созданию Баз Данных, пользовательского интерфейса, а также других Компонент, выполняющих специфические функции обработки данных в Visual FoxPro.

Расширение пользовательских Приложений с помощью Технологии Сквозных Запросов (SQL Pass-Through Technology)

Рассматриваются рекомендации по использованию технологии Сквозных Запросов (SQL pass-through (SPT) technology) для создания Объектов и обработки Данных на удаленном Сервере, выполнения Хранимых Процедур (SP) для указанных Серверов, а также выполнения команд и операторов SQL, используя локальный синтаксис.

Работа с Данными

Рассматриваются вопросы построения эффективных Приложений при использовании Индексов, структур Таблиц, Контейнеров Баз Данных.

Упражнение: Построение Сервисов XML Web с помощью системы Visual FoxPro

Приводятся по-шаговые инструкции по созданию общедоступных серверов Visual FoxPro COM, выполняющих функции Сервисов XML Web.

Обеспечение функциональности XML при использовании классов типа XMLAdapter

Рассматриваются вопросы расширения технологии классов Visual FoxPro XML для обеспечения совместимости с XML DiffGram и .NET Framework или ADO.NET DataSet, которые поддерживают иерархические структуры данных в формате XML.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


XML Web Services in Visual FoxPro

Visual FoxPro 9.0
XML Web-сервисы в Visual FoxPro

XML Web-сервисы представляют собой классы или объекты, доступные на Web, которые вы можете использовать в ваших приложениях программным способом, как нормальные, объектно-ориентированные вызовы. Вы можете , кроме того, опубликовать Visual FoxPro COM Servers (OLEPUBLIC) в качестве XML Web-сервисов, делая информацию доступной другим клиентам в Internet.

Например, вы можете использовать XML Web-сервис в ваших приложениях, который возвращает сведения о погоде для данного города, когда вы вызываете метод, который возвращает температуру, при передаче методу имени города.

Поддержка Visual FoxPro для XML Web-сервисов обеспечивается через SOAP, используя реализацию Webservices Description Language (WSDL) совместимую с WSDL version 1.1. В поставку Visual FoxPro включен Microsoft SOAP Toolkit version 3.0, который обеспечивает поддержку для XML Web-сервисов через набор расширений, и, кроме того, доступный с Web сайта Microsoft. Visual FoxPro расширил функциональность Toolkit; поэтому будущие изменения в спецификациях WSDL, осуществляемые W3C консорциумом, копируются непосредственно в Visual FoxPro, когда вы обновляете Toolkit до новой версии.

Замечание Замечание

Для использования XML Web-сервисов вы должны иметь инсталлированным Microsoft SOAP Toolkit. Если вы планируете опубликовать свои собственные XML Web-сервисы из Visual FoxPro COM серверов, у вас должен быть инсталлирован Microsoft Internet Information Services (IIS).

SOAP Toolkit, кроме того, предоставляет объекты, котооые вы можете использовать для вызова XML Web-сервисов на низком уровне, которые взаимодействуют напрямую с реальными SOAP сообщениями. Однако, эти объекты не поддерживаются напрямую расширениями Visual FoxPro.

Для получения более подробной информации о поддерживаемых платформах, SOAP, WSDL или Toolkit, смотри документацию для Toolkit, доступную в online или информацию на сайте SOAP Developer Resources по адресу http://msdn.microsoft.com/soap/.

В этом разделе

Как: получить доступ к XML Web-сервисам

Описывается - как найти, зарегистрировать и использовать XML Web-сервисы в Visual FoxPro приложениях.

Как: распространять XML Web-сервисы

Описывается - как указать местоположение, используемое по умолчанию, для публикации XML Web-сервисов, публикации Visual FoxPro COM серверов, в качестве XML Web-сервисов, включая компоненты для развертывания XML Web-сервисов, и сгенерировать автоматически файлы поддержки XML Web сервисов, когда вы перестраиваете свой COM сервер.

Тестирование и перестройка COM серверов для XML Web-сервисов

Описывается - сгенерировать автоматически файлы поддержки XML Web сервисов, когда вы тестируете и перестраивате COM серверы.

Развертывание XML Web-сервисов (Visual FoxPro)

Описываются файлы, необходимые для развертывания XML Web-сервисов.

Связанные разделы

Web-сервисы и компоненты

Обсуждается - как вы можете обеспечить возможность приложению Visual FoxPro работать со множеством пользователей, используя преимущества элементов ActiveX и доступных для автоматизации приложений и введения возможностей международного использования.

Automation and COM Servers

Описывается - как вы можете расширить функциональность ваших приложений Visual FoxPro без затрат времени на написания кода, с помощью автоматизации и серверов COM.

Репетиция: Создание XML Web-сервиса в Visual FoxPro

Объясняется, как создать и опубликовать Visual FoxPro COM сервер в качестве XML Web сервиса.

Взаимодействие и Internet

Объясняется, как использовать OLE drag-and-drop для разработки приложений с тем, чтобы могли перемещать данные между приложениями, основанными на операционной системе Microsoft Windows и приложениями Visual FoxPro. Создание документов для использования в Internet, или использование одной из двух разных run-time версий Visual FoxPro для создания COM компонентов (серверов автоматизации ) как нормальных или многопоточных приложений.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Access XML Web Services

Visual FoxPro 9.0
Как: получить доступ к XML Web сервисам
Смотрите также

Поддержка XML Web сервисов в Visual FoxPro, обеспеченная с помощью Microsoft SOAP Toolkit, предоставляет вам возможность использовать XML Web сервисы из Web. Расширения, обеспечиваемые SOAP Toolkit 3.0 предоставляют доступ к XML Web сервисам с помощью объекта Toolkit's SoapClient.

Эта высокоуровневая архитектура доступа с поздним связыванием предоставляет вам возможность непосредственно вызывать метод XML Web сервиса с помощью всего нескольких строк простого объектного кода.

Фундаментальный класс WSHandler, который включен и библиотеку классов _WS3Client.vcx в каталоге ...\Ffc, представляет собой класс XML Web сервиса, используемого для всех вызовов из Visual FoxPro XML Web сервиса.

Регистрация XML Web сервисов

Перед использованием XML Web сервиса в вашем приложении, вы должны зарегистрировать его в Visual FoxPro. Затем вы можете выбрать XML Web в Visual FoxPro Toolbox и использовать вызовы операции или метода из этого XML Web сервиса для возврата результата. При вызове XML Web сервиса, вы можете связать результаты со свойством конкретного управляющего элемента, таким как, как свойство Value управляющего элемента TextBox.

Замечание Замечание

Вам не нужно регистрировать XML Web сервис для получения доступа к нему; однако, регистрация XML Web сервиса делает возможноым для Visual FoxPro предоставить вам IntelliSense для методов XML Web сервиса и его параметров.

Для регистрации XML Web сервиса

  1. В меню Tools щелкните на Task Pane.

  2. В панели инструментов Task Pane Manager щелкните на More Panes и, затем, щелкните на XML Web services.

  3. В панелиXML Web services щелкните на Register an XML Web Service.

  4. В диалоговом окне Visual FoxPro XML Web Services Registration впечатайте унифицированыый локатор ресурса (URL) Web Services Description Language (WSDL) XML Web сервиса и затем щелкните на Register.

Кроме того, вы можете открыть диалоговое окно Visual FoxPro XML Web Services Registration программным способом, как это показано в приведенном ниже примере:

CopyCode image Скопировать код
DO (_wizard) WITH "project",,"Web","IntelliSense"

Для получения более подробной информации об установках, которые вам необходимо сконфигурировать, смотрите описание Диалоговое окно "Visual FoxPro XML Web Services Registration".

Вызов XML Web сервиса

После того, как вы зарегистрируете XML Web сервис в Visual FoxPro, вы можете вызвать и связать XML Web сервис с управляющим элементов или объектов на форме. После чего вы можете обработать результаты, полученные из XML Web сервиса в вашем приложении. Вы можете вызвать и связать XML Web сервисы используя либо XML Web Service Builder или программный код. Построитель предоставляет широкие возможности связывания, освобождая вас от необходимости написания кода. Для получения более подробной информации, смотрите Построитель "XML Web Service Builder".

Описанные ниже шаги иллюстрируют, как вызвать XML Web сервис в вашей программе используя процедурный код.

Для вызова XML Web сервиса с использованием процедурного кода

  1. В меню Tools щелкните на Toolbox.

  2. В Toolbox щелкните на My XML Web сервисы.

  3. Откройте окно редактирования с указанием местонахождения вашей программы или процедурного кода, в котором вы желаете вызывать XML Web сервис.

  4. Перетащите XML Web сервис в окно редактирования.

    В окне редактирования появится процедурный код для XML Web сервиса.

Кроме того, вы можете просто напечатать в окне редактирования два символа - ws. Появится диалоговое окно Select для того, чтобы вы смогли выбрать XML Web сервис и любые дополнительные опции и вставить код для XML Web сервиса в окне редактирования. Для получения более подробной информации, смотрите Диалоговое окно "Select" (Visual FoxPro).

Вы можете использовать IntelliSense для того, чтобы увидеть достпуные методы и параметры для XML Web сервиса. Например, IntelliSense отобразит список методов, доступных в XML Web сервисе, в момент, когда вы напечаете в окне редактирования приведенные ниже строки кода:

CopyCode image Скопировать код
? YourXMLWebService.
Замечание Замечание

Убедитесь в том, что заменили MyXMLWebService объектом XML Web сервиса, предоставленного в процедурном коде.

Вы можете выбрать метод и продолжать печатать, указывая параметры для метода:

CopyCode image Скопировать код
? MyXMLWebService.WSMethod(
Замечание Замечание

Замените WSMethod выбранным вами методом XML Web сервиса.

IntelliSense отобразит возможные параметры и возвратит тип для этого метода.

Кроме того, вы можете перенести код для XML Web сервиса на другой компьютер, который не имеет зарегистрированного XML Web сервиса. Visual FoxPro может определить, что XML Web сервис не зарегистрирован и попросить вас зарегистрировать его. Если вы не желаете регистрировать XML Web сервис, вы можете удалить строку кода, которая содержит ссылку на WSDL, например:

CopyCode image Скопировать код
* __VFPWSDef__: lofoxtypes=http://mywebserver/foxws/foxtypes.wsdl

Для получения более подробной информации о доступе к XML Web сервисам с использованием вызовов высокого и низкого уровня, смотрите документацию для SOAP Toolkit 3.0.

Привязка XML Web сервисов к управляющим элементам

ВЫ можете привязать XML Web сервис к управляющему элементу или объекту на форме и присвоить результат, полученный из XML Web сервиса свойству управляющего элемента или объекту.

Для привязки XML Web сервис к управляющему элементу

  1. Создайте новую или откройте существующую форму или класс.

  2. В Tools меню щелкните Toolbox.

  3. Из My XML Web сервисы в Toolbox перетащите управляющий элемент Generic Handler или зарегистрированный XML Web сервис на форму или в класс.

    Появится XML Web Service Builder, который поможет вам привязать XML Web сервис к управляющим элементами или объектам на форме. Если построитель не появится вызовите контекстное меню щелчком по правой клавише мыши на управляющем элементе XML Web сервис и выберите Builder.

Для получения более подробной информации смотрите Построитель "XML Web Service Builder".

Замечание Замечание

Рекомендуется, чтобы вы сохранили вновь созданную форму до перетаскивания XML Web сервиса, так как построителю нужен доступ к управляющим элементам на форме с испрользованием пути контейнера.

Смотрите также

Задачи

Репетиция: Создание XML Web сервиса с Visual FoxPro
Как: распространять XML Web сервисы

Прочие ресурсы

XML Web сервисы in Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Distribute XML Web Services

Visual FoxPro 9.0
Как: распространять XML Web сервисы
Смотрите также

Поддержка XML Web сервисов в Visual FoxPro обеспечивается Microsoft SOAP Toolkit, предоставляя вам возможность публиковать Visual COM серверы (OLEPUBLIC) в качестве XML Web сервисов, которые могут быть доступны на Web. Расширения и объекты, доступные в SOAP Toolkit предоставляют возможности публикации для XML Web сервисов. Для получения подробной информации о публикации Visual FoxPro COM серверов в качестве XML Web сервисов, смотрите Репетиция: Создание XML Web сервисов с помощью Visual FoxPro.

Указание, используемого по умолчанию, местонахождения XML Web сервисов

До публикации XML Web сервиса, вы можете указать для публикации используемое по умолчанию местонахождение. Это местонахождение представляет собой Uniform Resource Locator (URL) локального Web сервера или виртуальный каталог, который вы используете для хранения файлов поддержки XML Web сервиса, так как ASP listeners и файлов WSDL. Хотя указание этого местонахождения является необязательным, с его помощью вы можете упростить процесс публикации XML Web сервисов.

Замечание Замечание

Диалоговое окно Visual FoxPro XML Web Service Location первый раз покажется, когда вы выберите Web services в меню Wizards. Если вы не укажите используемого по умолчанию местонахождения, Visual FoxPro будет запрашивать его каждый раз, при очередной публикации нового XML Web сервиса. Вы можете изменить используемое по умолчанию местонахождение и позднее, просто щелкнув по командной кнопке Advanced в диалоговом окне Visual FoxPro XML Web Services Publisher .

Для получения более подробной информации, смотрите Диалоговое окно "Visual FoxPro XML Web Service Location" и Диалоговое окно "Visual FoxPro XML Web Services Publisher".

Для указания используемого по умолчанию местонахождения для XML Web сервиса

  1. В меню Tools найдите Wizards и щелкните на Web сервисы.

  2. В открывшевся диалоговом окне щелкните на OK.

  3. В диалоговом окне Visual FoxPro XML Web Service Location выберите существующее местонахождение для публикации вашего XML Web сервиса, щелкните на Existing и выберите местонахождение в боксе Select Location (Virtual Directory).

    -или-

    Для выбора нового местонахождения, щелкните на New, выберите местонахождение в боксе Select Location (Virtual Directory), щелкните на командной кнопке (...) для указания пути файла вывода, если это требуется, и впечатайте имя для каталога в боксе New Virtual Directory Name.

Установки для каждого XML Web сервиса сохраняются, так что вы можете легко обновить XML Web сервис, например, в случае если изменилось содержание WSDL. Эти установки хранятся в таблице FoxWS3.dbf в том же самом каталоге, что и таблица FoxCode.dbf (_FOXCODE).

Публикация XML Web сервисов

Вы можете опубликовать Visual FoxPro COM сервер в качестве XML Web сервиса для обеспечения его доступности в Web.

Замечание Замечание

Публикация XML Web сервисов посредством диалогового окна Visual FoxPro Web Services Publisher поддерживается только для генерируемых WSDL файлов, содержащих единичный сервис и порт или класс. Если вы желаете выбрать множество классов, вы должны использовать мастер, доступный в SOAP Toolkit.

Для публикации XML Web сервиса

  1. В меню Tools щелкните на Task Pane.

  2. В панели инструментов Task Pane Manager щелкните на More Panes.

  3. В панели "XML Web Services", щелкните на Publish Your XML Web Service.

  4. В диалоговом окне Visual FoxPro XML Web Services Publisher щелкните на командной кнопке (...) для поиска и выбора требуемого вам Visual FoxPro COM сервера.

Кроме того, вы можете опубликовать ваш COM сервер щелкнув по Web Services в Wizards вызвать контекстное меню на открытом проекте COM сервера, щелкнуть на Builder и выбрать Web Services Publisher в диалоговом окне Wizard Selection. Кроме того, вы можете открыть диалоговое окно Visual FoxPro XML Web сервисы Publisher с помощью приведенного ниже процедурного кода:

CopyCode image Скопировать код
DO (_wizard) WITH "project",,"Web"

Для получения более подробной информации смотрите Visual FoxPro XML Web сервисы Publisher Dialog Box.

Смотрите также

Концепции

Тестирование и перестройка COM серверов для XML Web сервисов
Развертывание XML Web сервисов (Visual FoxPro)

Прочие ресурсы

XML Web сервисы в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Testing and Rebuilding COM Servers for XML Web Services

Visual FoxPro 9.0
Тестирование и перестройка COM серверов для XML Web сервисов
Смотрите также

При перестройке вашего COM сервера, вы можете автоматически генерировать файлы поддержки XML Web сервиса, путем создания проектного блока для проекта COM сервера, который вызовет движок XML Web сервиса для перестройки файлов поддержки. Вы можете выбрать эту опцию в диалоговом блоке Advanced диалогового же блока "Visual FoxPro XML Web Services Publisher". Блок проекта (WSHOOK) храниться в библиотеке фундаментальных классов XML Web, _WS3Utils.vcx, расположеной в каталоге Visual FoxPro ..\Ffc. Для получения более подробной информации смотрите Фундаментальные классы XML Web сервисов.

Когда вы работаете с вашим XML Web сервисом и тестируете его, может статься, что IIS кэширует ваш COM сервер по соображениям производительности. Для перестройки вашего COM сервера, вам может потребоваться сначала завершить процесс, который использует COM сервер, например, приложения IIS Out-Of-Process Pooled Applications COM+; в противном случае может быть сгененировано сообщение об отказе в доступе во время процесса строительства проекта. Этот процесс может быть утомительным, если вы должны часто тестировать и перестраивать COM сервер. Проектный блок в библиотеке фундаментального класса "XML Web service", _WS3Utils.vcx, может для вас закрыть этот процесс.

Замечание Замечание

Вам может потребоваться изменить установки по умолчанию в проектном блок, с тем чтобы приложение завершилось в зависимости от того, на какой платформе ОС или версии IIS вы запускаетесь.

Для получения более подробной информации смотрите Фундмаментальные классы XML Web Services.

Смотрите также

Концепции

Развертывание XML Web сервисов (Visual FoxPro)

Прочие ресурсы

XML Web сервисы в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Deploying XML Web Services (Visual FoxPro)

Visual FoxPro 9.0
Развертывание XML Web Services (Visual FoxPro)
См. Также

Когда требуется использовать в вашем приложении Visual FoxPro соответствующий сервис XML Web, вы должны включить в установочный пакет вашего приложения соответствующую поддержку SOAP Toolkit. Если ваше приложение использует только существующий сервис XML Web, вы можете включить в установочный пакет только компоненту SOAP Client merge module.

Для Приложений, которые используют полный сервис XML Web, вы должны включить в установочный пакет как Клиентскую, так и Серверную компоненты сервиса SOAP Toolkit. Дополнительно, вы можете также включить дополнительные компоненты, например, ASP listener и WSDL-файлы. Вам также требуется решить, будете ли вы использовать в вашем приложении фундаментальные классы для рассматриваемого сервиса XML Web: _WS3Utils.vcx и _WS3Client.vcx, которые обеспечивают развертывание необходимого сервиса на компьютере Клиента.

Если вы автоматизируете соответствующий сервис XML Web, вы можете создать виртуальный каталог, в котором будут проводится все необходимые операции по обработке файлов, как-бы "на-лету". Однако, рекомендуется использовать стандартную процедуру установки требуемых сервисов по указанным ранее SOAP Client merge module.

См. также

Задачи

Как: Распространять сервисы XML Web

Другие ссылки

Сервисы XML Web в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Автоматизация и COM-серверы

Visual FoxPro 9.0
Автоматизация и COM-серверы

Вы можете расширять функциональные возможности ваших Visual FoxPro приложений и сохранять время при написании кода, если использовать Автоматизацию и COM-серверы. Применяя Автоматизацию, Вы можете управлять другими приложениями, такими как Microsoft Excel, изнутри вашего собственного приложения. COM серверы позволяют Вам упаковывать сложные модули в компоненты многократного использования.

В этом разделе

Управление программой Visual FoxPro из других приложений

Обсуждается, как Вы можете управлять Visual FoxPro из других приложений, используя объект Application Visual FoxPro. Приложения, которые поддерживают Автоматизацию, могут создавать экземпляры Visual FoxPro, выполнять команды Visual FoxPro, и обращаться к объектам Visual FoxPro.

Visual FoxPro и расширение COM

Обсуждается, как воспользоваться преимуществом особенностей COM в Visual FoxPro, осуществляя связывание событий и интерфейсов. Обсуждается внутренния работа при раннем и позднем связывании клиента и сервера, выполнение COM, создание COM объектов и многое другое.

Описание типов данных в COM объектах

Объясняется, как создать экземпляр переменной с правильным типом, когда Вы используете Visual FoxPro как клиента раннего связывания и хотите ссылаться на различные типы данных объекта COM.

Работа с серверами Автоматизации

Описывается создание и использование серверов Автоматизации.

Visual FoxPro библиотеки исполнения

Описываются две отдельных библиотеки периода выполнения, которые поставляются с Visual FoxPro: однa - для обычных типов прикложений и другая - для широко масштабируемых in-process приложений - серверов.

Соображения по разработке Сервера и ограничения

Описывает некоторые процессы, ограничения и поведение, которые могут повлиять на эффективность вашего приложения - сервера.

Связанные разделы

Web севисы и компонеты

Описывается, как Вы можете организовать многопользовательскую работу приложения Visual FoxPro использую выгоды средств управления ActiveX и поддержки автоматизации приложений, а также добавляя международные способности.

Способность к взаимодействию и Internet

Объясняет, как использовать OLE технологию drag-and-drop, чтобы разработать приложения, которые делают возможным перетаскивание данных между приложениями Windows и в пределах приложения Visual FoxPro. Создание документов для использования на Internet. Использование одного из двух различных запускаемых типов приложений Visual FoxPro, чтобы создать COM компоненты (серверы Автоматизации) как нормальные или многопоточные приложения.

Чтобы дать предложение или сообщить об ошибке (дефекте) в этой Справке или другой особенности этой программы, зайдите на feedback site.
© Microsoft Corporation. All rights reserved.


Controlling Visual FoxPro from Other Applications

Visual FoxPro 9.0
Управление Visual FoxPro из других приложений
Смотрите также

Поскольку Visual FoxPro действует как сервер, так и клиент, то приложения, которые поддерживают автоматизацию, могут использовать экземпляр Visual FoxPro, запускать команды Visual FoxPro и получать доступ к объектам Visual FoxPro.

Вы можете управлять Visual FoxPro из других приложений с помощью объекта Visual FoxPro Application. Объект Application автоматически создается каждый раз, когда запускается Visual FoxPro, либо непосредствено, через DDE, или через Automation.

Например, приведенные ниже строки кода в Visual Basic®, или модуль Microsoft Excel создают ссылку на объекта приложения Visual FoxPro:

CopyCode image Скопировать код
Dim oFox as Object
Set oFox = CreateObject("VisualFoxPro.Application")

После того, как вы получите ссылку на объект приложения Visual FoxPro, вы можете вызывать методы, ассоциированные с объектом приложения и имет доступ к другим объектам, через свойства коллекций объекта приложения.

Методы объекта Application
DataToClip | Help
DoCmd | Quit
Eval | RequestData

Приведенный ниже пример использует код Visual Basic for Applications в модуде Excel для создания объекта приложения Visual FoxPro, открывает таблицу Visual FoxPro и добавляет результат исполнения запроса в активный лист рабочей книги:

CopyCode image Скопировать код
Sub FoxTest()
Dim oFox as Object
Set oFox = CreateObject("VisualFoxPro.Application")

oFox.DoCmd "USE customer"
oFox.DoCmd "SELECT contact, phone FROM customer
   WHERE country = " + Chr$(39) + USA+ Chr$(39) + " INTO CURSOR cust"
oFox.DataToClip "cust",,3
Range("A1:B1").Select
ActiveSheet.Paste
End Sub

Объектная модель Visual FoxPro Application

Объект приложения автоматически создается каждый раз, когда запускается Visual FoxPro, либо непосредствено, через DDE, или через Automation. Этот объект приложения предоставляет доступ ко всем другим объектам, созданным в сессии Visual FoxPro посредством свойств Collection.

Объектная модель Visual FoxPro Application

Visual FoxPro application object model graphic

Получения доступа к объектам через свойства Collection

Объект приложения Visual FoxPro и все контейнерные объекты в Visual FoxPro имеют свойство count и свойства коллекций, ассоциированных с ними. Свойство collection представляет собой массив, со ссылками на каждый содержащийся в контейнере объект. Свойство count представляет собой число, указывающее число содержащихся в контейнере объектов.

В приведенной ниже таблице пречислены объекты и соответствующие свойства коллекций и счетчиков.

Объект | Свойство Collection | Свойство Count
Application | Objects Forms | Count FormCount
FormSet | Forms | FormCount
Form | Objects Controls | Count ControlCount
PageFrame | Pages | PageCount
Page | Controls | ControlCount
Grid | Columns | ColumnCount
CommandGroup | Buttons | ButtonCount
OptionGroup | Buttons | ButtonCount
Column | Controls | ControlCount
ToolBar | Controls | ControlCount
Container | Controls | ControlCount
Control | Controls | ControlCount

Эти свойства позволяют вам использовать программный цикл для управления всеми или конкретными объектами, содержащимися в контейнере. Например, приведенные ниже строки кода установливают свойство Visible для всех форм в значение True (.T.):

CopyCode image Скопировать код
FOR EACH Form IN Application.Forms
   Form.Visible = .T.
ENDFOR

Смотрите также

Прочие ресурсы

Автоматизация и серверы COM
Совместное использование информации и введение OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro and Advanced COM

Visual FoxPro 9.0
Visual FoxPro и Расширение технологии COM
См. Также

Теперь вы имеете в системе Visual FoxPro возможность использовать широкие функциональные преимущества технологии COM по реализации внешних Интерфейсов и Связыванию и обработке как внутренних, так и внешних Событий. В младших версиях Visual FoxPro тоже поддерживались простейшие процессы Привязки событий Серверов COM, однако реализовывалась только Клиентская часть Позднего Связывания. Теперь система Visual FoxPro выполняет поддержку Клиентской части Раннего Связывания. В данном параграфе обсуждаются вопросы внутренних механизмов Раннего и Позднего Связывания для обоих частей технологии COM (Серверной и Клиентской); рассматриваются вопросы производительности и эффективности объектов COM, характеристики их прозрачности и функциональной наполненности.

Введение

Технология COM разработана для обеспечения взаимодействия различных Приложений, рассматриваемых как отдельные независимые Объекты, которые могут обращаться к другим Объектам для выполнения требуемых функций. Связывание взаимодействующих Объектов может принимать самые различные формы. Простейшей схемой взаимодействия может являться: Обращение одного Объекта - Клиента к другому, внешнему Объекту - Серверу. Примерами более сложных схем взаимодействия, чем указанная выше схема Клиент-Сервер, могут яаляться схемы взаимодействия типа Peer-To-Peer, где взаимодействие осуществляется при прямом обращении Объекта к другому Объекту.

Если взаимодействующие Объекты не имеют предварительной Информации друг о друге, то необходим механизм надежного функционального и информационного Взаимодействия, объект должен знать, как ему обращаться к другому Объекту. Интерфейс Обработки Событий (Event Interfaces) является характерным примером для получения необходимой информации Вызывающего Объекта (Клиента) о статусе текущего взаимодействия с другим Объектом (Приложением). Подобные схемы Взаимодействия Объектов предполагают, что если Событие не обработано в Сервере, оно обрабатывается на Клиенте. Стандартные Контролы Microsoft ActiveX являются примерами объектов COM, имеющие достаточно развитые Интерфейсы взаимодействия с вешними Клиентами. Указанные Интерфейсы (как самого Контрола, так и Хоста (Host)) поддерживают доступ к изменяемым характеристикам Контрола, как внутри самого Контрола, так и на стороне Клиента, обращающегося к Объекту. На стороне Клиента поддерживаются Механизмы управления Событиями Контрола (связывания событий Контрола). Комбинация перечисленных функциональных преимуществ предоставляет Разработчику Мощный инструментарий разработки пользовательских Приложений.

В начале данного параграфа рассматривается самый простейший пример Сервера Microsoft Visual FoxPro COM и все его основные функциональные особенности и преимущества. Далее рассматриваются Библиотеки Типов, которые описывают процессы декларации компонент COM в окружающей среде, рассматриваются механизмы обнаружения и обработки Исключительных ситуаций (Ошибок). Наконец, обсуждаются вопросы производительности и реализации рассматриываемых Интерфейсов взаимодействия внешних Объектов.

С настоящего момента рассматриваются другие масштабы схем взаимодействия Объектов, как они обмениваются информацией друг с другом. В версии Visual FoxPro 6.0 выполнялась поддержка Раннего и Позднего Связывания для внешних Объектов (Клиентов), которые обращаются для обслуживания к Серверу Visual FoxPro 6.0; однако, для Сервера Visual FoxPro 6.0 поддерживалась только Позднее Связывание. Начиная с текущей версии (9.0) также выполняется поддержка Раннего Связывания при обращении к Серверу Visual FoxPro.

Создание простейших Серверов COM в системе Visual FoxPro

Далее представлен пример простейшего Сервера, программный код оформлен в виде модуля MYCLASS.PRG:

CopyCode image Копировать Код
*This entirely self-contained program will build a COM server
* called "myserver.myclass"
* It will unregister a prior instance, if any
IF PROGRAM() != "MYCLASS"
 ?"this file MUST BE NAMED 'myclass.prg'"
 return
ENDIF
IF FILE("myclass.dll")
 DECLARE integer DllUnregisterServer IN myclass.dll
 DllUnregisterServer()
 CLEAR DLLS
ENDIF
BUILD PROJECT myserver FROM myclass
BUILD DLL myserver from myserver recomp
*now test this COM server:
ox = CreateObject("myserver.myclass") && create the server object
ox.mydocmd("USE home(1)+'samples\data\customer'") && use a table
?ox.myeval("RECCOUNT()") && get the record count

DEFINE CLASS myclass AS session OLEPUBLIC
 PROCEDURE MyDoCmd(cCmd as String) as Variant ;
 helpstring "Execute a VFP cmd"
 &cCmd && just execute parm as if it were a fox command
 FUNCTION MyEval(cExpr as String) ;
 helpstring "Evaluate a VFP expression"
 RETURN &cExpr && evaluate parm as if it were a fox expr
 FUNCTION Error(nError, cMethod, nLine)
 COMreturnerror(cMethod+' err#='+str(nError,5)+;
 ' line='+str(nline,6)+' '+message(),_VFP.ServerName)
 && this line is never executed
ENDDEFINE

Представленная программа описывает структуру Сервера COM и не нарушает целостность Реестра ОС. Рекомендуется выполнять данный модуль только во время построения Сервера. При Сборке (компиляции) Проекта сервера COM выполняется автоматическая регистрация полученной Компоненты в Реестре ОС. Повторное выполнение Сборки автоматически очищает предудущую Регистрацию. Тем не менее, флаги о необходимости перерегистрации Компоненты хранятся в Проекте (соответствующий файл .PJX). Если рассматриваемый Проект будет удален и построен заново, то при первой Сборке "старая" информация не будет обновлена. Требуется обратить на это особое внимание.

Далее. Вы построили ваш первый Сервер COM. При выполнении процесса Сборки Сервера в системе Visual FoxPro создается Библиотека Типов (Type Library); осуществляется Регистрация нового Объекта COM, включая разделы Реестра с именами ProgId, Type Library, Местоположения Сервера (File Location). В процессе Сборки Сервера создается файл с именем myserver.vbr, в котором отображаются изменяемые Секции Реестра при Регистрации собираемого Сервера.

Обратите внимание, как используется стандартный базовый класс SESSION, который появился только в версии Visual FoxPro 6.0 SP3. Указанный класс является невизуальным и достаточно простым и несложным; он имеет ключевое Свойство DataSession, которое обеспечивает работу при нескольких Сеансах Взаимодействия. Если построение Сервера COM осуществляется на базовом классе FORM, который также имеет рассмотренное выше свойство DataSession, но класс формы имеет и много других Свойств, которые являются несовместимыми с рассматриваемой технологией COM. К тому же, все незащищенные и открытые Свойства базового Класса прописываются в Библиотеке Типов, поэтому могут быть доступны внешнему Объекту, что может повлиять на безопасность и целостность создаваемого Сервера в процессе его функционарования.

Библиотеки Типов

Библиотека Типов представляет собой некоторый программный файл, который может быть либо автономным, либо внутренним ресурсом соответствующего файла Сервера COM: .EXE / .DLL. Рассматриваемый файл представляет из себя независимую от языка программирования Декларацию механизмов Интерфейса, описания Свойств и Методов создаваемого объекта COM. Данный файл может содержать вспомогательные строки Комментариев (краткой информации, Помощи), идентификаторы подсистемы Help (IDs), имена передаваемых / принимаемых параметров, полные названия Членов Объекта (Свойств и Методов). Если данный файл библиотеки типов не включен как внутренний ресурс исполняемых файлов EXE / DLL, то обычно он имеет расширение (тип) = .TLB / .OLB.

Начиная с версии Visual FoxPro 6.0 создаваемая Библиотека Типов содержит имена передаваемых параметров и соответствующих Методов, имеющих дополнительную характеристику OLE Public. Если при создании рассматриваемого Класса в свойстве Description приводится краткое назначение используемой Компоненты, которое хранится в соответствующем файле .VCX, то данная информация помещается в соответствующие строки комментариев (помощи) Библиотеки Типов (Type Library).

Вы можете просмотреть содержание Type Library при помощи соответствующего Инструментария. Например, для систем: Microsoft Excel, Microsoft Word - используется компонента Object Browser, для Visual FoxPro - Class Browser, OLE Viewer - для Visual C++. С помощью перечисленных инструментов вы можете просмотреть всю Объектную Модель для промышленных Серверных Приложений, которые могут иметь достаточно внушительные размеры.

Когда в текущий момент выполняется процесс Просмотра компоненты Библиотеки Типов (Type Library), данный Сервер COM не может быть перестроен до тех пор, пока не закроется соответствующая Type Library. Аналогично, вы не можете создать новый экземпляр Клиента Объекта, пока не будет создана его Копия, или сервер не будет пересобран заново. Для решения перечисленных Конфликтов рекомендуется создавать Копию зарегистрированного Сервера DLL / EXE (1 копия - для разработки, 1 копия - для использования ).

Чтение Библиотек Типов

Обычный инструментарий чтения Библиотек Типов (TLBINF32.DLL) входит в стандартную поставку системы Microsoft Visual Studio. Данный инструмент применим для множества программных продуктов, в том числе и для Серверов COM. Далее приводится пример программного кода, иллюстрирующий создание простого инструмента чтения составляющих элементов Библиотеки Типов:

CopyCode image Копировать Код
clear
PUBLIC otlb
otli=NEWOBJECT('tli.tliapplication')
otlb=otli.TypeLibInfoFromFile("myserver.dll")
*otlb=otli.TypeLibInfoFromFile("tlbinf32.dll")
*otlb=otli.TypeLibInfoFromFile("c:\program files\microsoft office\office\excel9.olb")
?"CoClasses:"
FOR each oCoClass in otlb.CoClasses
 ?" ",oCoClass.name
 *now each interface associated with this CoClass
 for each oInterface in oCoClass.Interfaces
 ?" ",oInterface.name
 endfor
endfor

?
?"Interfaces"

FOR each oInterface in otlb.Interfaces
 ?" ",oInterface.name
ENDFOR
?
?"Interface Members for 1st interface"
FOR each oMember IN otlb.Interfaces(1).Members
 ?" ", oMember.name
 FOR each oParm in oMember.Parameters
 ?" ",oParm.name
 ENDFOR
ENDFOR

Сначала создается экземпляр Объекта инструментария TLB, предназначенного для чтения Библиотеки Типов, смотри Метод TypeLibInfoFromFile. Составяющие компоненты Библиотеки типов представлены в виде разнообразных Коллекций, которые могут бать достаточно просто обработаны при помощи языковой конструкции Visual FoxPro: команда FOR EACH.

Коллекция Interface представляет собой множество интерфейсных элементов (Свойств), опубликованных в Библиотеке Типов. Каждый из представленных Интерфейсов должен поддерживаться либо самим Сервером, оказывающим Услуги, либо интерфейс реализуется (создается) самим Клиентом, который обращается к Серверу; например, обычно Клиент реализует функционирование интерфейсов Events.

В коллекции CoClass обычно публикуются объекты COM, которые обычно создаются Клиентом. По-Умолчанию, реализация интерфейса CoClass представлена совместно с дополнительным интерфейсом Event Source interface.

Прочие Интерфейсы, отличные от стандартных: CoClass и Event, могут быть также опубликованы в Библиотеке Типов. Клиент может получить доступ к таким Интерфейсам посредством вызова специализированных Методов Объекта COM. Например, внутренний интерфейс ICell может быть получен как возвращаемое значение при вызове Метода GetCell (Сноска: при вызове метода ВзатьКлетку - возвращается индекс Ячейки).

Константы Объекта COM также могут быть опубликованы в Библиотеке Типов. Например, для получения значений некоторых Констант, к примеру xlMaximized, из соответствующей Библиотеке Типов Excel Type Library, загрузите Коллекцию otlb.Constants.

Для подробного изучения возможностей инструмента TLBINF32.DLL попытайтесь самостоятельно загрузить вашу Библиотеку Типов, которую вы сами хорошо знаете и сделайте сопоставления; изучите представленные Коллекции Свойств, Методов и Параметров, их корректные наименования.

Эффективность, Производительность, Быстродействие

Производительность Программных Компонент имеет важное значение для многих Разработчиков. В контексте программного обеспечения и Объектов COM, повышение производительности означает получение быстрых Результатов. Технология COM - это моделирование быстрого и надежного взаимодействия различного программного обеспечения друг с другом. Поэтому, тщательный Дизайн COM - прямой путь к повышению производительности всего комплекса программных средств, участвующих в получении конечных результатов.

Например, рассмортрим следующий Программный Код:

CopyCode image Копировать Код
ox=CreateObject("excel.application")
start = seconds()
ox.workbooks.add
SET EXCLUSIVE OFF
USE HOME()+'samples\data\customer'
ox.visible=1
FOR i= 1 TO RECCOUNT()
 FOR J = 1 TO FCOUNT()
 ox.Activesheet.cells(i,j).value = EVAL(FIELD(j))
 NEXT
 SKIP
NEXT
ox.Workbooks(1).Close(0) && close workbook, discarding changes
ox=0 && release Excel
?seconds() - start

В примере демонстрируется заполение Рабочего Листа Excel значениями из Таблицы VFP. Данный модуль выполняется в течение 30 секунд, обрабатывается 92 Записи Таблицы (Сноска: скорость относительно Рабочей Станции Автора).

Для повышения производительности представленного Процесса, вы должны точно знать как выполняются составные части данного программного модуля, выявить возможные "узкие" места, где есть возможности оптимизации и повышения производительности.

Отображение рассматриваемой Рабочей Книги Excel задерживается до тех пор, пока она не будет заполнена всеми Значениями. Оптимизация системы Excel нам недоступна, да и не требуется, отображение происходит почти мгновенно.

Имеется стандартная рекомендация при выполнении строки Кода, где происходит вычисление значения Поля и загрузка его всоответствующую Ячейку Активного Листа Excel. Вы можете исключить лишние вызовы Сервера COM, заменив указанную строку на следующую:

CopyCode image Копировать Код
 oa= EVAL(FIELD(j))

Данная корректировка представленного программного Кода позволяет снизить затраты времени на выполнение двойного цикла до Одной секунды. Это показывает, что остальные 29 секунд тратились для вычисления конструкции ox.Activesheet.cells (а это работа внешнего COM Сервера (Excel)).

Анализируем данную строку Кода далее, Visual FoxPro пытается идентифиуцировать требуемый элемент ox.Activesheet, а результат записать в некоторую временную переменную VFP. Далее, выполняется уточнение косвенной ссылки на требуемую Ячейку, в которую требуется записать вычисленное Значение. Каждая косвенная ссылка (".") в результирующем выражении порождает создание временных переменных VFP, переписывание значений из одного в другое. При следующем проходе Цикле - вычисление и переопределение временных переменных повторяется.

Каждая косвенная ссылка (".") порождает прямое обращение к соответствующему методу Сервера COM (Excel), который выполняет возврат требуемого локального Объекта. Рекомендуется следующий подход: сначала выполняем вычисление Активного Листа IApplication.ActiveSheet, который сохраняем во временной переменной Visual FoxPro. Далее, вычисляем Коллекцию Ячеек Активного Листа (от временной переменной). Наконец, идентификация требуемой Ячейки осуществляется при помощи индексов (I,J), которые передаются как параметры. После получения ссылки на конкретную Ячейку, заносим в нее требуемое значение, (следующий вызов инструментария Сервера COM). Всего получаем 4 (четыре ) вызова Сервера. Повышение Производительности - очевидно.

Выводы: замена объектной ссылки ox.Activesheet через временную переменную VFP, вычисляемую до Двойного Цикла и использование процессов Кэширования внешних Объектов позволяет повысить Эффективность выполнения представленного программного модуля до 50 процентов (17 секунд). Смотрите новый контекст:

CopyCode image Копировать Код
oa = ox.Activesheet && get an object reference
FOR i= 1 TO RECCOUNT()
 FOR J = 1 TO FCOUNT()
 oa.cells(i,j).value = EVAL(FIELD(j))
 NEXT
 SKIP
NEXT

Поскольку внутренний объект Activesheet независим от выполняемого Двойного Цикла, вы должны вычислять его и сохранять в Кэше временной переменной до начала выполнения представленных циклов. Это позволяет исключить еще одно обращение к Серверу; в Итоге получаем = 3 (Три) вызова методов Сервера COM (Excel).

Уменьшение количества вызовов методов Сервера снижает временные затраты еще на 25 процентов, от ранее уменьшенного времени на 50 процентов. Однако, снижение количества обращений к серверу COM не пропорционально линейному снижению временных затрат при выполнении программного кода. Затраты на обработку Кэша, создания временных переменных и прочее вносят свои нелинейные факторы в общий процесс выполнения программного Кода при участии Объектов COM.

Note Примечание

В представленном Программном Коде можно совсем не использовать внутренний объект Activesheet. Требуемая Коллекция Ячеек более эффективно может быть доступна при помощи имеющегося Интерфейса Iapplication. Используемый внутренний объект ActiveSheet был представлен исключительно для иллюстрации возможностей Анализа и Способов повышения Производительности при работе с внешними Объектами COM (Excel).

Использование системы Visual Basic, как Клиента COM

Система Visual Basic (как Клиент COM) может быть использована для решения аналогичной Задачи (рассмотренной в предыдущем разделе).

Для использования Visual Basic, как Клиента (подсистемы Запроса на Обслуживание):

  1. Загрузите систему MS Excel.

  2. В системном меню Tools, выберите подпункт Macro.

  3. Нажмите кнопку Macros, введите временное имя: t.

  4. Нажмите Кнопку Create.

  5. В системном Меню Tools, выберите подпункт References, и укажите ранее созданный Сервер COM (VFP): myserver, точнее его Библиотеку Типов (Type Library), в которой опубликованы Основные Интерфейсы.

    Выполнение описанного Шага обеспечивает необходимой информацией из Библиотеки Типов сервера myserver создаваемый далее Макрос.

  6. Введите (или скопируйте) в тело Макроса следующий Програмный Код (VB):

    CopyCode image Копировать Код
    Sub t()
    Dim ox As New myserver.myclass
    ox.mydocmd ("SET EXCLUSIVE OFF")
    ox.mydocmd ("USE C:\Program Files\Microsoft Visual FoxPro VersionNumber\Samples\Data\Customer")
    n = ox.MyEval("reccount()")
    nflds = ox.MyEval("fcount()")
    nsecs = ox.MyEval("seconds()")
    For i = 1 To n
     For j = 1 To nflds
     cc = "evaluate(field(" & j & "))"
     Application.Sheets(1).Cells(i, j).Value = ox.MyEval(cc)
     Next
     ox.mydocmd ("skip")
    Next
    MsgBox (ox.MyEval("seconds()") - nsecs)
    End Sub

Обработка и Управление Ошибоками

Контроль и Управление исключительными ситуациями (Ошибками) является очень важным составным элементом в Серверах COM, особенно это касается DLL-Серверов. Если подсистема-Клиент пытается выполнить некоторый Метод на Сервере, что приводит к некоторой Ошибке, например, файл Отсутствует (File Not Found) или отказано в Доступе (Access Denied), то Сообщение Сервера об указанной Ошибке не будет являться хорошим тоном в Программировании. Разработчик должен использовать соответствующий Метод Error для класса с атрибутами OLE Public, который более корректно разрешает проблему Ошибочных ситуаций. Система Visual FoxPro имеет стандартную функцию COMReturnError(), параметрами которой являются объект порождения Ошибки COM Error, и соответствующее Сообщение об Ошибке, которые возвращаются Клиенту COM. Далее представлен Пример использования указанной функции, вместе с указанием основных параметров: Source / Description. Данный Фрагмент может быть использован при построении Сервера MyServer (смотрите выше)

CopyCode image Копировать Код
FUNCTION Error(nError, cMethod, nLine)
 COMreturnerror(cMethod+' err#='+str(nError,5)+' line='+str(nline,6)+'
 '+message(),_VFP.ServerName)
 && this line is never executed

Вы можете проТестировать представленный Фрагмент Программного Кода если выполните следующие шаги:

CopyCode image Копировать Код
ox = CreateObject("myserver.myclass") && create the server object
?ox.mydocmd("illegal command") && causes an Error to occur

Когда Ошибка возникает в Сервере, она перехватывается (обрабатывается) нашим Методом MyClass::Error, что заставляет Сервер прервать выполнение поставленной Задачи, и вернуть Клиенту COM соответствующий объект Error и комментарий по данной Ошибке. Смотрите ниже:

CopyCode image Копировать Код
?aerror(myarray)
list memo like myarray
MYARRAY Pub A
 ( 1, 1) N 1429 ( 1429.00000000)
 ( 1, 2) C "OLE IDispatch exception code 0 from mydocmd
 err#= 16 line= 2 Unrecognized command v
 erb.: c:\fox\test\myserver.exe.."
 ( 1, 3) C "c:\fox\test\myserver.exe"
 ( 1, 4) C "mydocmd err#= 16 line= 2 Unrecognized
 command verb."
 ( 1, 5) C ""
 ( 1, 6) N 0 ( 0.00000000)
 ( 1, 7) N 0 ( 0.00000000)

Общий Интерфейс

На самом деле, Интерфейс COM представляет из себя набор указателей в соответствующей Таблице функциональных Адресов Сервера. Обычно указанная Таблица называется VTable, или Таблицей Виртуальных Функций. Декларация Интерфейса COM - это указание номера (точки) входа в указанную Таблицу, сопоставление каждого Метода Класса с соответствующим индексом Таблицы, описание Сигнатуры каждой функции из Таблицы: количества параметров, их Типов, возвращаемое значение.

Все Интерфейсы COM наследуются от типа IUnknown. Это означает, что первыми тремя (3) Входами в Таблицу VTable каждого интерфейса COM являются следующие базовые методы реализации функций Сервера: IUnkown::QueryInterface, IUnkown::AddRef, IUnkown::Release.

Когда Интерфейс наследуется из другого Интерфейса, все последующие Интерфейсы содержат вложенные таблицы vtable начальных интерфейсов.

Двойной Интерфейс (Dual Interface) COM порождается от интерфейса типа IDispatch (интерфейс Позднего Связывания). IDispatch имеет только Четыре метода: GetTypeInfoCount, GetTypeInfo, GetIDsOfNames, и Invoke. Таким образом, первые 7 (семь) (3+4) Интерфейсов (входы в Таблицу) полностью описывают IDispatch, и все пораждаемые от него Интерфейсы IDispatch.

Для ранее построенного сервера Myserver.dll, двойной интерфейс IMyClass может иметь следующий вид:

CopyCode image Копировать Код
 IMyClass
 QueryInterface(QI params) (from IUnknown)
 Addref (from IUnknown)
 Release (from IUnknown)
 GetTypeInfoCount() (from IDispatch)
 GetTypeInfo() (from IDispatch)
 GetIDsOfNames() (from IDispatch)
 Invoke() (from IDispatch)
 MyDoCmd(cCmd) (from IMyClass)
 MyEval(cExpr) (from IMyClass)

Предположим, Клиент пытается выполнить метод Activesheet с помощью двойного интерфейса IApplication Сервера Excel.Application. Фактически, данный Метод может быть выполнен двумя путями: с помощью Раннего и Позднего Связывания (Early/Late Binding). Раннее Связывание обычно называется Связыванием VTtable, поскольку, Клиент вызывает требуемый метод Activesheet данного Сервера определяя его индексный ключ входа из представленной Таблицы VFable; естественно, номер данного метода болше 7. По найденному адресу размещен фиксированный программный Код требуемого Метода-функции, который включается в Класс Клиента во время Компиляции. Если в последующих версиях Сервера изменяется номер рассматриваемого Метода в Таблице Интерфейса, тогда Класс Клиента будет выполняться с Ошибкой (адрес метода-функции изменился).

При Позднем Связывании используется интерфейс IDispatch. Клиент выполняет вызов IDispatch::GetIDsOfNames, которому передается в виде параметра имя требуемого Метода: Activesheet, отсюда получаем идентификатор функции ID. (Данный идентификатор требуемой функции ID может быть кэширован (зарезервирован, сохранен) Клиентом для последующего использования). Далее Клиент размещает все необходимые параметры метода Activesheet в простейшую структуру DISPPARAMS, и вызывается функция IDispatch::Invoke, которой передается известный идентификатор ID и структура параметров DISPPARAMS. Функция IDispatch::Invoke выполняется на стороне Сервера, она распаковывает параметры из структуры DISPPARAMS, вызывает актуальную копию метода Activesheet, получает возвращаемое значение, передает последнее вызывающему Клиенту.

Поскольку при Позднем Связывании на Клиенте не фиксируется программный Код метода Сервера (точнее индекс требуемой функции из V-Таблицы), заново собранные Методы Клиента остаются работоспособными независимо от перекомпоновки Сервера (изменения индекса таблицы интерфейса). Однако, процессы упаковки передаваемых параметров на стороне Клиента и распаковки этих параметров на стороне Сервера замедляют выполнение требуемых методов при Позднем связывании; чего не происходит при Раннем Связывании (там процессы упаковки/распаковки параметров отсутствуют).

Реализация Интерфейсов

Реализация интерфейса означает, что ваш модуль проверяет Свойства, События и Методы Объекта COM и создает новый экземпляр Объекта с указанными характеристиками. Данный процесс реализует любые параметры, их соответствующие типы и возвращаемые Значения. Другими словами, если некоторый Объект умеет и знает как использовать и вызывать компоненты другого Объекта с помощью специального Интерфейса, значит Он может использовать любой Объект, реализуемых этим Интерфейсом.

Реализация Интерфейса обеспечивает использование Клиентом любого Метода представленного Интерфейса. Это означает, что если вызван следующий Метод: Sample(parm1 as int, parm2 as string, parm3 as variant @) as int, тогда соответствующий уникальный Идентификатор должен быть найден в Объекте.

В следующем далее примере использования COM-объекта ADO, если при вызове некоторого Метода не указан (опущен) один из параметров, то следует появление следующего Сообщения (Класс не может идентифицировать Значение, поскольку член 'RECORDSETEVENTS_WillChangeField' имеет неверное количество параметров):

Note Примечание

Class can not be instantiated because Member 'RECORDSETEVENTS_WillChangeField' has wrong # of parameters

Соответственно, при исключении (удалении) Метода появляется другое сообщение об Ошибке

Как описывалось ранее в данном Разделе, соответствующие интерфейсы описываются в Библиотеке Типов, которую можно просмотреть. Инструментальное средство системы Visual FoxPro Object Browser (вызываемый из системного меню Tools) обеспечивает Разработчика необходимым инструментом для просмотра Библиотек Типов требуемых Объектов COM. С помощью простейших операций Редактора Visual FoxPro (Drag-Drop) вы можете скопировать требуемую Сигнатуру Метода в соответствующий файл .PRG, тем самым выполните действительную Реализацию Интерфейса.

Связывание Событий

Функциональная возможность Реализации Интерфейсов объектов COM позволяет использовать разнообразные возможности системы Microsoft Office. Представленный далее пример демонстрирует реализацию обработки Событий подсистем Microsoft Outlook, Excel, Word. Тем самым Разработчик получает доступ к разнообразным Методам, реализуемым подсистемами Office. Новые возможности стандартной функции версии VFP-9 EventBinding позволяют создавать Классы Реализации Интерфейсов по обработке "перехватываемых" Событий внешних Объектов COM, которые опубликованы и декларированы для внешнего исспользования.

Представленная Модель обработки Событий называется "Плотно связанные События" (Tightly Coupled Events). Взаимодействующие между собой Клиент и Сервер должны знать друг о друге достаточно много (быть тесно взаимосвязаны); Объекты должны иметь взаимооднозначное Соответствие. К новым моделям событийного взаимодействия Объектов можно отнести модель "Соводно связанные События" (Loosely Coupled Events), в которых Объект-Сервер публикует (рекламирует) свои Открытые События, а Объект-Клиент подписывается на указанные События (берется их обрабатывать Сам).

CopyCode image Копировать Код
CLEAR
CLEAR all
PUBLIC ox as Excel.Application, ;
 ow as word.application, ;
 oOutlook as Outlook.Application

oOutlookEvents= NEWOBJECT('OutlookEvents')

oOutlook = NEWOBJECT("Outlook.Application")
oOutlookEvents.oo = oOutlook
? "Outlook",EVENTHANDLER( oOutlook, oOutlookEvents)

oWordEvents = NEWOBJECT("WordEvents")
ow = NEWOBJECT("word.application")
oWordEvents.ow = ow
?"Word",EVENTHANDLER(ow,oWordEvents)
ow.visible = .t.
ow.Activate
ow.Documents.Add

oExcelEvents = NEWOBJECT("ExcelEvents")
oex = NEWOBJECT("excel.application")
oex.Workbooks.Add
?"Excel",EVENTHANDLER(oex, oExcelEvents)
oex.visible = .t.

_screen.WindowState= 1

DEFINE CLASS OutlookEvents AS SESSION OLEPUBLIC
 IMPLEMENTS ApplicationEvents IN Outlook.Application
 oo = .null.
 PROCEDURE ApplicationEvents_ItemSend(ITEM AS VARIANT, ;
 CANCEL AS LOGICAL) AS VOID
 ?PROGRAM()
 m.item.Body=STRTRAN(m.item.Body,"good","bad") + ;
 CHR(13)+CHR(10)+TRANSFORM(DATETIME())+" Fox was here!"
* if Recipients fails, it could be outlook security
* m.item.Recipients.Add("someone@example.com")
 PROCEDURE ApplicationEvents_NewMail() AS VOID
 ?PROGRAM()
 PROCEDURE ApplicationEvents_Reminder(ITEM AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE ApplicationEvents_OptionsPagesAdd(PAGES AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE ApplicationEvents_Startup() AS VOID
 ?PROGRAM()
 PROCEDURE ApplicationEvents_Quit() AS VOID
 ?PROGRAM()
 PROCEDURE destroy
 ?PROGRAM()
 IF !ISNULL(this.oo)
 ?EVENTHANDLER(this.oo,this,.t.)
 ENDIF
ENDDEFINE

DEFINE CLASS WordEvents as Custom
 implements applicationevents2 in "word.application"
 ow = .null.
 PROCEDURE applicationevents2_startup()
 ?PROGRAM()
 PROCEDURE applicationevents2_quit
 ?PROGRAM()
 procedure applicationevents2_DocumentBeforeClose(Cancel,Doc)
 ?PROGRAM()
 procedure DocumentBeforeClose(Cancel,Doc)
 ?PROGRAM()
 procedure applicationevents2_DocumentBeforePrint(Cancel,Doc)
 ?PROGRAM()
 procedure applicationevents2_DocumentBeforeSave(Doc,SaveAsUI,Cancel)
 ?PROGRAM()
 procedure applicationevents2_DocumentChange
 ?PROGRAM()
 procedure applicationevents2_DocumentOpen(Doc)
 ?PROGRAM()
 procedure applicationevents2_NewDocument(Doc)
 ?PROGRAM()
 procedure applicationevents2_WindowActivate(Doc,Wn)
 ?PROGRAM()
 procedure applicationevents2_WindowBeforeDoubleClick(Sel,Cancel)
 ?PROGRAM()
 procedure applicationevents2_WindowBeforeRightClick(Sel,Cancel)
 ?PROGRAM()
 procedure applicationevents2_WindowDeactivate(Doc,Wn)
 ?PROGRAM()
 procedure applicationevents2_WindowSelectionChange(Sel)
 ?PROGRAM(),sel.text
 IF sel.start < sel.end
 sel.InsertAfter("Fox!")
*!* mtmp = sel.text
*!* sel.text=STRTRAN(mtmp,"good","Great!")
 endif
 PROCEDURE destroy
 ?PROGRAM()
 IF !ISNULL(this.ow)
 ?EVENTHANDLER(this.ow,this,.t.)
 ENDIF
ENDDEFINE

DEFINE CLASS ExcelEvents AS session OLEPUBLIC
 IMPLEMENTS AppEvents IN "excel.application"
 PROCEDURE AppEvents_NewWorkbook(Wb AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetSelectionChange(Sh AS VARIANT, ;
 Target AS VARIANT) AS VOID
 LOCAL mtmp,mcell
 mcell = m.target.Cells(1,1)
 IF !ISNULL(mcell)
 mtmp = m.target.Cells(1,1).Value
 ?PROGRAM(),VARTYPE(mtmp)
 DO case
 case ISNULL(mtmp)
 * m.target.Cells(1,1).Value = "Fox is great"
 CASE VARTYPE(mtmp)='C'
 m.target.Cells(1,1).Value = ;
 STRTRAN(mtmp,"good","great!")
 CASE VARTYPE(mtmp)='N'
 m.target.Cells(1,1).Value = mtmp + 1
 ENDCASE
 ENDIF
 PROCEDURE AppEvents_SheetBeforeDoubleClick(Sh AS VARIANT, ;
 Target AS VARIANT, Cancel AS LOGICAL) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetBeforeRightClick(Sh AS VARIANT, ;
 Target AS VARIANT, Cancel AS LOGICAL) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetActivate(Sh AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetDeactivate(Sh AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetCalculate(Sh AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetChange(Sh AS VARIANT, Target AS VARIANT) AS
 VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookOpen(Wb AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookActivate(Wb AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookDeactivate(Wb AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookBeforeClose(Wb AS VARIANT, ;
 Cancel AS LOGICAL) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookBeforeSave(Wb AS VARIANT, ;
 SaveAsUI AS LOGICAL, Cancel AS LOGICAL) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookBeforePrint(Wb AS VARIANT, ;
 Cancel AS LOGICAL) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookNewSheet(Wb AS VARIANT, ;
 Sh AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookAddinInstall(Wb AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookAddinUninstall(Wb AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WindowResize(Wb AS VARIANT, Wn AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WindowActivate(Wb AS VARIANT, Wn AS VARIANT) AS
 VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WindowDeactivate(Wb AS VARIANT, Wn AS VARIANT) AS
 VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetFollowHyperlink(Sh AS VARIANT, ;
 Target AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_SheetPivotTableUpdate(Sh AS VARIANT, ;
 Target AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookPivotTableCloseConnection(Sh AS VARIANT, ;
 Target AS VARIANT) AS VOID
 ?PROGRAM()
 PROCEDURE AppEvents_WorkbookPivotTableOpenConnection(Sh AS VARIANT, ;
 Target AS VARIANT) AS VOID
 ?PROGRAM()
ENDDEFINE

Далее представлен пример Реализации интерфейса для Событий объекта ADO. В данном случае, Пользователь не взаимодействует с Приложением, поэтому События не обрабатываются, как это было для простых случаев в подсистемах Office. В данном случае, Клиент напрямую вызывает необходимые Методы объекта ADO (Сервера), который возвращает необходимые Значения при использовании Интерфейса Обработки Событий. Смотрите Далее:

CopyCode image Копировать Код
clear
CLEAR all
local ox as adodb.recordset
local oc as ADODB.Connection
oe = NEWOBJECT("myclass")
oe2 = NEWOBJECT("myclass")

oc=NEWOBJECT("adodb.connection")
connstr = "Driver={Microsoft Visual FoxPro Driver};UID=;PWD=;SourceDB=" + ;
 HOME(1)+"samples\data\testdata.dbc" + ;
 ";SourceType=DBC;Exclusive=No;BackgroundFetch=No;Collate=Machine;"
*
oc.ConnectionString= connstr
oc.Open
ox = oc.Execute("select * from customer")
* Now enable event handling
?EVENTHANDLER(ox,oe)
?EVENTHANDLER(ox,oe2)

?
?PADR(ox.Fields(0).Value,20)

?EVENTHANDLER(ox,oe2,.f.) && Turn off 2nd obj event handling
ox.MoveNext
?PADR(ox.Fields(0).Value,20)
ox.MoveNext
CLEAR all
retu
for i = 0 to ox.Fields.Count-1
* ?PADR(ox.Fields(i).Name,20)
* ?ox.Fields[i].value
endfor

DEFINE CLASS myclass AS session
 implements RecordsetEvents IN "adodb.recordset"
* implements RecordsetEvents IN ;
*"C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL"
 PROCEDURE Recordsetevents_WillChangeField(cFields AS Number @, ;
 Fields AS VARIANT @, adStatus AS VARIANT @, ;
 pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_FieldChangeComplete(;
 cFields AS Number @, ;
 Fields AS VARIANT @, pError AS VARIANT @, ;
 adStatus AS VARIANT @, pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_WillChangeRecord(adReason AS VARIANT @, ;
 cRecords AS Number @, adStatus AS VARIANT @, ;
 pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_RecordChangeComplete(adReason AS VARIANT @, ;
 cRecords AS Number @, pError AS VARIANT @, ;
 adStatus AS VARIANT @, pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_WillChangeRecordset(adReason AS VARIANT @, ;
 adStatus AS VARIANT @, pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 ?adreason,adstatus,precordset.recordcount
 PROCEDURE Recordsetevents_RecordsetChangeComplete(;
 adReason AS VARIANT @, ;
 pError AS VARIANT @, adStatus AS VARIANT @, ;
 pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_WillMove(adReason AS VARIANT @, ;
 adStatus AS VARIANT @, pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_MoveComplete(adReason AS VARIANT @, ;
 pError AS VARIANT @, adStatus AS VARIANT @, ;
 pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_EndOfRecordset(fMoreData AS LOGICAL @, ;
 adStatus AS VARIANT @, pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_FetchProgress(Progress AS Number @, ;
 MaxProgress AS Number @, adStatus AS VARIANT @, ;
 pRecordset AS VARIANT @) AS Void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 PROCEDURE Recordsetevents_FetchComplete(pError AS VARIANT @, ;
 adStatus AS VARIANT @, pRecordset AS VARIANT @) AS void
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
ENDDEFINE

Использование Функциональных Тэгов Office XP

Новая версия Office XP обладает новыми возможностями, называемыми Smart Tags (интелектуальные Тэги). Типичным примером в работе каждой Компании является использование разнообразного Программного Обеспечения, обрабатывающего одни и те же информационные Данные. Например, обычно Компания имеет Генеральный Список своих Клиентов, имеющих индивидуальные электронные адреса (e-mail), в процессе своей работы создаются разнообразные финансовые Документы и Таблицы, которые либо публикуются на серверах Web, либо рассылаются Клиентам. Предположим, необходимо отправить Сообщение на адрес (e-mail) Клиенту с Идентификатором ALFKI, при этом требуется указать Номер Телефона или Лимит Сссуды. Обычно, сотруднику Компании требуется переключиться в другое Приложение, обеспечивающее требуемой Информацией, найти Клиента ALFKI, перенести указанную информацию в первое Приложение.

Технология Smart Tags обеспечивает взаимодействие нескольких Приложений на основе Распознавания Ключевых Идентификаторов; пользователь-Сотрудник выделяет в тексте уникальный Идентификатор Клиента, активирует Контекстное Меню (Right-Click), получает несколько возможностей реализовать поставленные Задачи. С помощью Ключевого Идентификатора ALFKI могукт быть выполнены разнообразные функции: уточнены параметры Кредитной Линии, детали юридического Адреса, отправлены документы на соответствующий электронный Адрес, выполнены доступные финансовые / бухгалтерские Транзакции, или даже - может быть набран номеер Телефона Клиента. Сотрудник Компании может работать как с постоянными Идентификаторами Клиентов, или использовать временные Идентификаторы, которые удаляются при Завершении Рабочего Дня.

В следующем далее Примере построения Smart Tags используются уникальные идентификаторы Клиентов IDs из соответствующей Таблицы Customer. Smart Tag представляют из себя Поля из указанной Таблицы, с использованием которых осуществляется доступ к Страницам Web данного Клиента. Если Сотрудник выполняет работу в редакторе Word, то указанные Поля используются для вставки их содержания в финансовые Документы Word. Для Приложения Excel, рассматриваемые Поля вставляются в Ячейки, ширина которых автоматически выравнивается. Для Приложения Internet Explorer, создается соответствующий Диалоговый Бокс (в системе Visual FoxPro рекомендуется использовать DLL, реализующий функцию MessageBox, которая объявляется соответственно командой Declare DLL).

Технологические компоненты Smart Tag должны только регистрироваться в секциях ProgID соответствующих Разделов Реестра ОС Windows. Подробное описание Smart Tag SDK (представленое для свободного использования на Microsoft Web Site) описывает различные возможности данных Компонентов.

Рассматриваемые Smart Tag должы реализовываться двумя Интерфейсами: ISmartTagRecognizer и ISmartTagAction. Первый выполняет распознавание и детализацию Ключевых Элементов, возвращает их ссылки запрашиваемому Клиенту. Второй - описывает выполняемые действия.

Note Примечание

Если в текущий момент Приложения Office являются открытыми (загруженными), то соответствующие, привязанные модули .DLL будут также открыты. Вы не сможете редактировать и выполнять Сборку указанных .DLL, пока не закроете приложения Office.

Метод Logit выполняет поддержку Протокола Приложения, что обеспечивает удобный механизм отслеживания выполняемых Операций. При помощи Текстового Редактора вы можете просмотреть создаваемый Журнал.

CopyCode image Копировать Код
CLEAR ALL
clear
SET excl off
?PROGRAM()

*Smart tags in Office XP. Just change the DATAPATH,STAGPATH if necessary
IF PROGRAM() != "STAG"
 ?"this file MUST BE NAMED 'stag.prg'"
ENDIF
#define STNAME "MynameSpaceURI#MyLocalName"
#define DATAPATH HOME(1)+"samples\data\"
#define STAGPATH "C:\Program Files\Common Files\Microsoft Shared\Smart Tag\mstag.tlb"
IF .t.
 IF FILE("stag.dll")
 DECLARE integer DllUnregisterServer IN stag.dll
 DllUnregisterServer()
 CLEAR DLLS
 ENDIF
 BUILD PROJECT stag FROM stag
 BUILD mtDLL stag from stag recomp
 STRTOFILE("","d:\t.txt") && null log file
endif

#DEFINE HKEY_CURRENT_USER -2147483647 && BITSET(0,31)+1
oFoxReg=NEWOBJECT("foxreg", HOME(1)+"FFC\registry")
oFoxReg.OpenKey("Software\Microsoft\Office\Common\Smart Tag\Actions\stag.MyStag", ;
 HKEY_CURRENT_USER, .T.)
oFoxReg.OpenKey(;
 "Software\Microsoft\Office\Common\Smart Tag\Recognizers\stag.MyStag", ;
 HKEY_CURRENT_USER, .T.)

DEFINE CLASS MyStag AS Session OLEPUBLIC
 IMPLEMENTS ISmartTagRecognizer IN STAGPATH
 IMPLEMENTS ISmartTagAction IN STAGPATH
 PROCEDURE ISmartTagRecognizer_get_ProgId() AS STRING
 logit()
 RETURN "stag.MyStag"
 PROCEDURE ISmartTagRecognizer_get_Name(LocaleID AS Integer) AS STRING
 logit()
 RETURN "VFP NorthWind Customer Recognizer"
 PROCEDURE ISmartTagRecognizer_get_Desc(LocaleID AS Integer) AS STRING
 logit()
 RETURN "VFP NorthWind Customer ID Recognizer"
 PROCEDURE ISmartTagRecognizer_get_SmartTagCount() AS Integer
 logit()
 RETURN 1
 PROCEDURE ISmartTagRecognizer_get_SmartTagName(;
 SmartTagID AS Integer) AS STRING
 logit()
 If SmartTagID = 1
 RETURN STNAME
 EndIf
 RETURN ""
 PROCEDURE ISmartTagRecognizer_get_SmartTagDownloadURL(;
 SmartTagID AS Integer) AS STRING
 logit()
 RETURN ""
 PROCEDURE ISmartTagRecognizer_Recognize(cText AS STRING, ;
 DataType AS Integer, ;
 LocaleID AS Integer, RecognizerSite AS VARIANT) AS VOID
 logit(ctext+' '+TRANSFORM(LEN(CTEXT)))
 LOCAL i, mat,cWord,propbag
 i = 1
 DO WHILE i <= LEN(cText)
 IF ISALPHA(SUBSTR(cText,i))
 mst = i
 DO WHILE i <= LEN(cText) AND ;
 (ISALPHA(SUBSTR(cText,i)) or ;
 ISDIGIT(SUBSTR(cText,i)))
 i=i+1
 ENDDO
 IF mst # i
 cWord = SUBSTR(cText,mst,i-mst)
 IF SEEK(cWord,"Customer")
 * Ask for a property bag
 propbag = ;
 RecognizerSite.GetNewPropertyBag()
 * Commit the smart tag
 propbag.write("test","value")
 propbag.write("test2","value2")
 RecognizerSite.CommitSmartTag(STNAME, ;
 mst, LEN(cWord), propbag)
 propbag=.null.
 ENDIF
 ENDIF
 ENDIF
 i=i+1
 ENDDO
***********************
 PROCEDURE ISmartTagAction_get_ProgId() AS STRING
 logit()
 RETURN "stag.MyStag"
 PROCEDURE ISmartTagAction_get_Name(LocaleID AS Integer) AS STRING
 logit()
 RETURN "Customer Actions"
 PROCEDURE ISmartTagAction_get_Desc(LocaleID AS Integer) AS STRING
 logit()
 RETURN "Provides actions for VFP Customer data"
 PROCEDURE ISmartTagAction_get_SmartTagCount() AS Integer
 logit()
 RETURN 1
 PROCEDURE ISmartTagAction_get_SmartTagName(SmartTagID AS Integer) AS
 STRING
 logit()
 IF SmartTagID = 1
 RETURN STNAME
 EndIf
 RETURN ""
 PROCEDURE ISmartTagAction_get_SmartTagCaption(SmartTagID AS Integer, ;
 LocaleID AS Integer) AS STRING
 logit(TRANSFORM(SmartTagID ))
 RETURN "Customer Lookup"
 PROCEDURE ISmartTagAction_get_VerbCount(SmartTagName AS STRING) AS
 Integer
 logit(SmartTagName )
 If SmartTagName = STNAME
 RETURN FCOUNT()+1
 ENDIF
 RETURN 0
 PROCEDURE ISmartTagAction_get_VerbID(SmartTagName AS STRING, ;
 VerbIndex AS Integer) AS Integer
 logit(SmartTagName +', '+ TRANSFORM(VerbIndex ))
 RETURN VerbIndex
 PROCEDURE ISmartTagAction_get_VerbCaptionFromID(VerbID AS Integer, ;
 _ApplicationName AS STRING, LocaleID AS Integer) AS STRING
 logit(TRANSFORM(VerbID )+' '+_ApplicationName +;
 ' '+TRANSFORM(LocaleID))
 IF VerbId <= FCOUNT()
 RETURN "View "+FIELD(VerbID)
 ENDIF
 RETURN "Visit customer Web site"
 PROCEDURE ISmartTagAction_get_VerbNameFromID(VerbID AS Integer) AS
 STRING
 logit(TRANSFORM(VerbID))
 IF VerbId <= FCOUNT()
 RETURN FIELD(VerbID)
 ENDIF
 RETURN "Visit Web site"
 PROCEDURE ISmartTagAction_InvokeVerb(VerbID AS Integer, ;
 cApplicationName AS STRING, ;
 Target AS VARIANT, oProperties AS VARIANT, ;
 cText AS STRING, Xml AS STRING) AS VOID
 logit(TRANSFORM(VerbID )+' '+cApplicationName +' '+cText+' ';
 +Xml+' '+TRANSFORM(oProperties.count))
 LOCAL i,cProp
 oProperties.write("iitest","iivalue")
 oProperties.write("iitest2","iivalue2")
 FOR i = 1 to oProperties.count
 cProp = oProperties.keyfromindex(i-1)
 logit(cProp)
 logit(oProperties.read(cprop))
 endfor
 LOCAL fExcel,fWord
 DO case
 CASE capplicationname = "Excel.Application.10"
 fExcel = .t.
 logit(m.target.cells[1,1].value)
 CASE capplicationname = "Word.Application.10"
 fWord = .t.
* logit(m.target.range
 ENDCASE
 IF verbId > FCOUNT()
 LOCAL oie as internetexplorer.application
 oie = NEWOBJECT("internetexplorer.application")
 oie.navigate2("localhost/"+ctext+".html")
 oie.visible=1
 else
 IF SEEK(cText,"customer")
 DO case
 case fExcel
 target.cells[1,2].value = ;

 ALLTRIM(TRANSFORM(EVALUATE(FIELD(VerbID))))
 target.Columns(2).columnWidth = 25
 case fWord
 target.insertAfter(' '+;

 ALLTRIM(TRANSFORM(EVALUATE(FIELD(VerbID)))))
 otherwise
 DECLARE Integer MessageBox IN WIN32API ;
 as msgbox ;
 Integer,string,string, integer
 msgbox(0,;

 ALLTRIM(TRANSFORM(EVALUATE(FIELD(VerbID)))), ;
 ctext+"="+company,0)
 endcase
 ELSE
 logit("not found")
 ENDIF
 ENDIF
 PROCEDURE Init
 logit()
 SET EXACT ON
 SET EXCLUSIVE off
 SET PATH TO DATAPATH
 USE customer order cust_id shared
 PROCEDURE Destroy
 logit()
 PROCEDURE MyDoCmd(cCmd as String)
 &cCmd
 PROCEDURE MyEval(cExp as String)
 RETURN &cExp
 PROCEDURE Error(nError, cMethod, nLine)
 logit(TRANSFORM(nError)+' '+TRANSFORM(nLine)+' '+MESSAGE())
ENDDEFINE
#if .f.
DEFINE CLASS STagAction AS StagRecognizer OLEPUBLIC
 PROCEDURE Error(nError, cMethod, nLine)
 logit(PROGRAM()+" "+TRANSFORM(nError)+' '+TRANSFORM(nLine)+' '+MESSAGE())

ENDDEFINE
#endif
 FUNCTION Logit(cStr)
TEXT TO mystr TEXTMERGE NOSHOW
<<DATETIME()>> <<PROGRAM(PROGRAM(-1)-1)>> <<cStr>>

ENDTEXT
 STRTOFILE(myStr,"D:\t.TXT",.T.)

Разработка обратных вызовов Visual FoxPro (Callback Design)

Система Visual FoxPro позволяет создавать такие Объекты COM, функционал которых обеспечивает обработку Событий обслуживающего Сервера на стороне Клиента. Подобные сценарии Обратных Вызовов (CallBack) аналогичны механизмам Visual FoxPro по перехвату Событий Объектов (обработке их в других пользовательских классах - обработке события на стороне Клиента). В представленном далее Примере Программного Кода используется Сервер COM, декларированный в модуле IDEMO (.DLL), где описан весь механизм Event Interface, реализуемый на стороне Клиента с помощью Методов Класса DemoEvents.

В Коде Клиента используется единственный вызов объекта cCallBack, с помощью которого осуществляется интерфейс DemoEvents.

Базовый Объект IDEMO имеет декларированный Метод BuyStock, который может быть вызван на Стороне Клиента. Изначально, в Коде метода BuyStock размещен только Комментарий, который может быть Заменен на стороне Клиента конкретным программным кодом (например, по покупке Клиентом Акций). Однако, Перед и После выполнения Клиентского Программного Кода выполняется вызов соответствующего Кода из сопоставимого Объекта в классе DemoEvents. Если в программном Коде Клиента отсутствует Обратный Вызов, использующий объявленный Метод SetCallBack, то вызов методов Объекта DemoEvents не выполняется. Тем не менее, если Клиент использует право Обратного Вызова, то рассматриваемые Методы выполняют возврат управления на сторону Клиента.

CopyCode image Копировать Код
CLEAR ALL
IF PROGRAM() != "IDEMO"
 ?"this file MUST BE NAMED 'idemo.prg'"
 RETURN
ENDIF
IF .t.
 IF FILE("idemo.dll")
 DECLARE integer DllUnregisterServer IN idemo.dll
 DllUnregisterServer()
 CLEAR DLLS
 ENDIF
 BUILD PROJECT idemo FROM idemo
 BUILD DLL idemo from idemo recomp
endif
clear

oCallback = NEWOBJECT("cCallback") && the event callback
ostock=newOBJECT("idemo.idemo") && the business COM obj
ostock.setcallback(oCallBack) && like BindEvents
?ostock.BuyStock("MSFT",10000 ) && invoke a method
ostock.setcallback(.null.) && like UnBindEvents
?ostock.BuyStock("MSFT",20000 ) && this one doesn't fire events

*This is the actual implementation of the event interface
DEFINE CLASS cCallback as session
 implements iDemoEvents in idemo.dll
 procedure iDemoEvents_BeforeBuyStock(cStock as String, qty AS Number)
 ?program(),cstock,qty
 procedure iDemoEvents_AfterBuyStock(cStock as String, qty AS Number)
 ?program(),cstock,qty

enddefine
*the rest of this file is used in the COM server
DEFINE CLASS idemo as session olepublic
 oc = .null.
 PROCEDURE init
 this.SetCallBack(.null.) && set callback to default
 PROCEDURE setcallback(oC as Variant)
 IF ISNULL(oc)
 && dummy instance that does nothing: virtual function
 this.oc = NEWOBJECT("DemoEvents")
 else
 IF VARTYPE(oc) != 'O'
 COMRETURNERROR(PROGRAM(),"callback must be obj")
 ENDIF
 this.oc = GETINTERFACE(oC,"iDemoEvents","idemo.idemo")
 endif
 procedure MyDoCmd(cCmd as String) as Variant
 &cCmd
 procedure MyEval(cExpr as String) as Variant
 return &cExpr
 procedure BuyStock(cStock as String, qty AS Number) as Boolean
 this.oc.BeforeBuyStock(cStock, qty)
 *here we buy the stock
 this.oc.AfterBuyStock(cStock, qty)
 FUNCTION Error(nError, cMethod, nLine)
 COMreturnerror(cMethod+' err#='+str(nError,5)+' line='+;
 str(nline,6)+' '+message(),_VFP.ServerName)
 && this line is never executed

enddefine

*Just an interface definition that should be implemented by outside callers
DEFINE CLASS DemoEvents as session olepublic
 procedure BeforeBuyStock(cStock as String, qty AS Number)
 procedure AfterBuyStock(cStock as String, qty AS Number)
enddefine

Технология COM допускает самые разнообразные схемы взаимодействия внешних Объектов. Каждое новое дополнение в функциональные возможности COM сразу находит поддержку в системе Visual FoxPro, включая поддержку простейших Клиентов COM, обслуживание Интерфейсов (обработку Событий Сервера), поддержку Раннего Связывания для Сервера и Клиента, их изменяемых функциональных возможностей и расширений.

См. также

Задачи

Как: Создать Сервер Автоматизации (Automation Server)

Концепции

Рекомендации по программированию Automation Server
Привязка Событий для Объектов COM

Другие ссылки

Серверы Автоматизации и COM (Automation & COM)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Referencing Data Types in COM Objects

Visual FoxPro 9.0
Ссылочные Типы Данных в объектах COM
См. Также

Когда вы используете систему Visual FoxPro, как Клиент Раннего Связывания (Early Binding Client) и хотите получить ссылку на данные типа Variant в объекте COM, вы должны сначала создать переменную-приемник с соответствующим типом данных, как показано в следующем Примере:

CopyCode image Копировать Код
DEFINE CLASS varianttest AS SESSION OLEPUBLIC
 FUNCTION varret(outVal AS VARIANT@, inVal AS VARIANT) AS VOID
 OutVal = inVal
 ENDFUNC
ENDDEFINE

После компоновки данного класса в соответствующий модуль DLL, с именем myServer, вы можете использовать данную ссылку для получения конкретных данных, как демонстрируется далее, в программном Коде:

CopyCode image Копировать Код
x = CREATEOBJECT("myServer.varianttest","","")
ov = ""
tt.varret(@ov, "string") && Sets string value.
ov = 0
tt.varret(@ov, 123) && Sets ov to an integer value.
ov = 0.0
tt.varret(@ov, 44.44) && Sets ov to a real numeric value.
ov = l
tt.varret(@ov, f) && Sets ov to a Boolean value.

См. также

Описание

Присоединение Библиотек Типов (Type Libraries)
Раннее (vtable) и Позднее (IDispatch) Связывание

Другие ссылки

Работа с Серверами Автоматизации (Automation Servers)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Working with Automation Servers

Visual FoxPro 9.0
Работа с Серверами Автоматизации

Вы можете делать доступными функциональные возможности других приложений, создав серверы автоматизации (Automation servers) в Visual FoxPro.

Например, вы можете создать сервер автоматизации, который отображает многократно используемые формы или формирует пакеты комплексных процедур в более простые компоненты, которые могут быть использованы другими программистами. Вы можете создать классы объектов для применения корпоративного делового регламента. Клиентское приложение может применять эти объекты для вызова методов и для передачи параметров серверу, который может извлекать или сохранять данные, производить операции и возвращать результаты.

В данном Разделе

Серверы Автоматизации в Visual FoxPro

Предоставляет обзор по созданию и примениению серверов Автоматизации.

Как: Создавать Серверы Автоматизации

Описывает процесс создания Серверов.

Замечания по программированию Серверов Автоматизации

Предоставляет ссылки на статьи, излагающие дополнительную информацию по созданию таких серверов.

Как: Строить Серверы Автоматизации

Описывает, как компилировать Серверы Автоматизации.

Как: Зарегистрировать Серверы Автоматизации

Описывает, как регистрировать Серверы, чтобы другие приложения имели к ним доступ.

Библиотеки привязки типов

Обсуждается Visual FoxPro поддержку для свойственных Visual FoxPro методов, свойств и событий в библиотеке типов Сервера Автоматизации.

Раннее (vtable) и позднее (IDispatch) связывание

Обсуждается Visual FoxPro поддержка для двойственного интерфейса, раннего (vtable) или позднего (Idispatch) связывание.

Передача массивов Серверам Автоматизации

Обсуждается, как передать массив Серверу, используя функцию COMARRAY( ).

Компилирование исходного кода

Описывается, как дать возможность приложению генерировать и компилировать программный (.prg) файл в run time.

Масштабируемость и многопоточность

Разъясняются различия между компонентом с однопоточным исполнением и компонентом с многопоточностью. Кроме того, данный раздел разъясняет, как оба типа выполнения применяют последовательную обработку и ее значимость.

Родственные Разделы

Соглашения и Ограничения при Разработке Серверов

Описывает определенные поведение, процессы и ограничения, которые могут обуславливать эффективность вашего серверного приложения.

Управление Visual FoxPro из Других Приложений

Обсуждает, как вы можете управлять Visual FoxPro из других приложений, используя объект Visual FoxPro Application. Приложения, которые поддерживают Автоматизацию могут создавать экземпляр Visual FoxPro, выполнять Visual FoxPro команды и обращаться к Visual FoxPro объектам.

Разделение Информации и Добавление OLE

Объясняет, как вы можете использовать Visual FoxPro для разделения (совместного использование) информации с другими приложениями.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Automation Servers in Visual FoxPro

Visual FoxPro 9.0
Сервера автоматизации (Automation servers) в Visual FoxPro
Смотрите также

Вы можете создавать, собирать, распространять и обращаться к серверам автоматизации (Automation servers) в Visual FoxPro.

Создание серверов автоматизации

Вы можете создавать сервера автоматизации в виде OLE public классов, определенных вами в программных файлах (.prg) или в файлах библиотек визуальных классов (.vcx). Вы можете иметь в проекте приложения любое количество классов OLE public.

Сборка серверов автоматизации

После создания сервера автоматизации, вы можете собрать его в виде компоненты out-of-process или в виде компоненты in-process. Компонента out-of-process представляет собой исполнимый файл (.exe), который запускается в своем собственном процессе. Компонента in-process представляет собой файл dynamic-link library (.dll), который запускается в том же самом адресном пространстве, что и вызвавший его клиент. Общение между приложением клиента и сервером, собранным в виде исполнимого файла, называется межпроцессным (cross-process).

Когда вы собираете сервер автоматизации в виде исполнимого файла (.exe), вы не теряете никакой функциональности обычного исполнимого файла. Вы можете запускать исполнимый файл, обеспечивать интерфейс пользователя, а также любую функциональность, доступную для приложений. В доолнение к этому, вы расширяете возможности вашего приложения, позволяя другим приложениям использовать функциональности, заложенные в вашем сервере автоматизации.

При сбоке серверов автоматизации имейте ввиду следующее:

  • Сервера In-process могут быть быстрее потому, что в этом случае нет издержек, связанных с межпроцессным общением.

  • Серверы Out-of-process могут быть развернуты на удаленных машинах, тогда как серверы in-process не могут.

  • Сервер in-process и клиент совместно используеют одно и то же адресное пространство и любая серъезная ошибка в in-process сервере прерывает работу клиента. Ошибки, случившиеся в out-of-process сервере прерывают работу только самого сервера.

Сборка сервера автоматизации создает три файла:

  • Файл .exe или .dll.

  • Файл библиотеки типов (.tlb).

    Файл библиотеки типов представляет собой бинарный файл, в котором перечислены все опубликованные классы вашего сервера автоматизации, наряду с их свойствами, методыми и событиями. Обозреватели OLE объекта читают эту информацию и представляют ее в читабельном интерфейсе. Для получения более подробной информации смотрите Сборка библоитек типов .

  • Файл регистрации (.vbr)

    Файл регистрации перечисляет глобальные уникальные идентификаторы (GUID) классов в вашем сервере.

    Note Замечание

    Файл регистрации .vbr представляет собой тот же файл, что и файл регистрации .reg за исключением того, что файл .vbr не включает в себя жестко прописанных путей.

Распространение серверов автоматизации Visual FoxPro

Когда вы распространяете сервер автоматизации (.dll), вы должны включить в дистрибутив перечисленные ниже файлы:

  • VFPVersionNumberR.dll или VFPVersionNumberT.dll, где VersionNumber представляет собой номер версии выпуска Visual FoxPro.

  • VFPVersionNumberRENU.dll

  • GDIPlus.dll

  • MSVCR70.dll

Если вы распространяете сервер автоматизации в виде исполнимого файла (.exe) то прочитайте условия, описанные в статье Подготовка к распространению приложений. Для получения более подробной информации о библиотеках run-time, прочитайте Библиотека VFP9R.DLL Run-Time и Библиотека VFP9T.DLL Run-Time.

Обращение к сервервам автоматизации Visual FoxPro

Любое приложение, которое может создать объекты автоматизации, может создать объекты, основанные на вашем сервере автоматизации, установить свойства, которые не были объявлены, как HIDDEN или PROTECTED, и вызывать методы. Например, предположим, что ваш сервер имеет имя foxole и содержит класс с именемperson с методом GetName. Приведенный ниже может быть запущен в Visual FoxPro:

CopyCode image Скопировать код
oTest = CREATEOBJECT("foxole.person")
cName = oTest.GetName()

Аналогичный код мог бы быть запущен и в Microsoft Excel или Visual Basic:

CopyCode image Скопировать код
Set oTest = CreateObject("foxole.person")
cName$ = oTest.GetName()

Обработка ошибок в серверах автоматизации Visual FoxPro

Единственным способом взаимодействия с объектами, предоставляемыми серверами автоматизации является взаимодействие, основанное на методах и свойствах выказываемых сервером классов. Когда клиентское приложение вызывает метод объекта и в сервере автоматизации происходит ошибка, метод либо возвращает значение ошибки или поднимает ошибку на уровень клиентского приложения.

Клиентское приложение решает - либо предупредить пользоватеья или продолжить работу по другому пути. Сервер автоматизации, сам по себе, никогда не взаимодействует с пользователем. Это позволяет размещению сервера быть прозрачным по отношению к клиентскому приложению. Сервер автоматизации может быть локальным, запущенным на компьютере пользователя или может использовать свойство Visual FoxPro Remote Automation, позволяющее запускать его на сетевом сервере.

Когда сервер автоматизации Visual FoxPro генерирует ошибку, то сервер устанавливает объект COM ErrorInfo с помощью IErrorInfo и прекращает исполнение текущего метода. Клиент автоматизации может либо высвободить из памяти сервер автоматизации, или, если клиент имеет доступ к объекту COM ErrorInfo, обработать исключение на основе полученной информации. Для получения более подробной информации смотрите _ErrorInfo( ) API Library Routine.

Функция COMRETURNERROR() обрабатывает ошибки, которые случаются в сервере автоматизации. Вы можете использовать COMRETURNERROR() в методе Error, для заполнения структуры COM исключения информацией, которую клиент автоматизации может использовать для определения источника ошибок сервера автоматизации. Для получения более подробной информации смотрите описание функции COMRETURNERROR().

Смотрите также

Задачи

Как: создавать серверы автоматизации

Прочие ресурсы

Работа с серверами автоматизации

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Automation Servers

Visual FoxPro 9.0
Как: Создать Серверы Автоматизации
Смотрите Также

Вы можете создать серверы автоматизации в проекте приложения посредством создания OLE public class в программном (.prg) файле или в библиотеке визуальных классов (visual class library) (.vcx).

Для примеров смотрите директорию Visual FoxPro ..\Samples\Servers.

Для того, чтобы создать сервер Автоматизации

  1. Создайте класс в Class Designer, как Custom класс.

  2. В маню Class, щелкните на Class Info.

  3. В диалоговом окне Class Info щелкните на OLE Public.

Для дальнейшей информации смотрите Как: Создать Классы и Подсклассы.

Для того, чтобы создать сервер Автоматизации программно

  • Создать класс командой DEFINE CLASS, включив в нее ключевое слово OLEPUBLIC с AS выражением.

Например, следующий код создает пользовательский OLE public класс:

CopyCode image Copy Code
DEFINE CLASS person AS CUSTOM OLEPUBLIC
   FirstName = SPACE(30)
   LastName = SPACE(45)

   PROCEDURE GetName
      RETURN THIS.FirstName + " " + THIS.LastName
   ENDPROC
ENDDEFINE

Смотрите Также

Задачи

Как: Построить серверы Автоматизации

Концепции

Замечания по Программированию Сервера Автоматизации

Другие Ресурсы

Работа с Серверами Автоматизации

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Automation Server Programming Notes

Visual FoxPro 9.0
Примечания по Программированию Сервера Автоматизации
Смотрите Также

Для дополнительной информации по написанию серверов автоматизации, смотрите разделы на следующие темы.

Объекты Application

Объекты Application не представлены в библиотеке типов серверов автоматизации, поэтому вы не можете обратиться к методам DoCmd и Eval объекта Application. Однако, вы можете сделать объект Application доступным, путем создания пользовательского свойства и установки его значения на объект Application, или вы можете предоставить метод, который осуществляет доступ к объекту Application.

Note Примечание

Изменяемые свойства объекта Application, как например, AutoYield, являются глобальными для проекта. Следовательно, позаботьтесь, чтобы многопоточные серверы не предполагали, что значения этих установок защищены в топоке.

Для дальнейшей информации смотрите Объект Application.

Примеры Сервера Автоматизации

Данная версия Visual FoxPro включает два примера ISAPI сервера автоматизации, FoxWeb и FoxIS. Данные примеры способны передавать выбранные Visual FoxPro записи в формате HTML в Internet browser. Для дальнейшей информации об этих примерах смотрите Примеры FoxISAPI Сервера Автоматизации.

Note Примечание

FoxISAPI предоставляет удобства, разработанные специально для применения новых многопоточных DLL Серверов. DLL Серверы, которые запускаются через FoxISAPI не должны использовать встроенный Pool Manager.

Файлы Конфигурации

В Visual FoxPro, только те файлы конфигурации, Config.fpw, которые включены в EXE или DLL серверах будут использрваны при run-time инициализации. Файл конфигурации хранит важные настройки, которые устанавливаются в момент запуска Visual FoxPro, как сам по себе, так и в run-time. До Visual FoxPro 6.0, файл Config.fpw мог существовать как отдельный файл так и включенный в приложение (.app, .exe или .dll). Если файл Config.fpw обнаружен внутри приложения, тогда он используется. В противном случае, Visual FoxPro ищет Config.fpw файл в доступных директориях.

Вы все таки будите иметь полную функциональность с нормально распространенными .app и .exe приложениями.

Для дальнейшей информации смотрите Как: Установить Опции Конфигурации при Запуске.

Управление Кодовой Страницей

Кодовые страницы поддерживаются во всех серверах и они специфичны для индивидуального проекта (.dll). Вы можете установить кодовую страницу по умолчанию в Config.fpw файле; однако, она устанавливается только в момент run-time инициализации. Кодовая страница является глобальной для всех проектов. Также, все объекты, примененные в конкретной run-time сессии, используют одну и туже кодовую страницу.

У каждого сервера есть его собственная конфигурация Config.fpw с отличной установкой кодовой страницы. Visual FoxPro предотвращает изменение этой настройки после запуска run-time, т.к. множественные .dll серверы потенциально могут изменять кодовую страницу по умолчанию в run-time. Следовательно, кодовая страница, единожды установленная, остается безызменной до тех пор, пока данный run-time не завершиться.

Note Пояснение

Пользователи, которым необходимы серверы, каждый из которых с индивидуальной кодовой страницей, могут разместить такие серверы, вместе с копией VFP9T.dll run-time библиотекой, в отдельную папку. Сервер по умолчанию использует run-time библиотеку, находящиюся в той же папке. Для дальнейшей информации смотрите VFP9T.DLL Run-Time Библиотеки.

Особые Языковые Соглашения

Работая с серверами автоматизации, отдавайте себе отчет в том, что поведение следующих команд слегка отличается от их поведения в обычном режиме работы Visual Foxpro:

  • Команда SET PROCEDURE

    Данная команда уникальна для каждого индивидуального потока потому, что она хранится в локальной памяти потока. Тем не менее, Visual FoxPro неявно выполняет SET PROCEDURE ко всему серверу по умолчанию, когда вы вызываете .exe или .dll COM сервер.

    Например:

    CopyCode image Copy Code
    ? SET("PROCEDURE")
C:\VFP\MYSERVER.DLL

    Это дает вам возможность обратиться в любой процедуре, хранимой в данном сервере. Если существующий объект в потоке вызывает SET PROCEDURE, то путь к процедуре сбрасывается (становится пустым). Тем не менее, новый объект в том же самом потоке автоматически установит путь к процедуному файлу, как путь ко всему серверу опять.

  • Команда SET CLASS

    Данная команда работае аналогично команде SET PROCEDURE. Это значение хранится в локальной памяти потока; тем не менее, оно устанавливается ко всем библиотекам классов в вашем .exe или .dll сервере.

    Например:

    CopyCode image Copy Code
    ? SET("CLASS")
C:\VFP\myClass.VCX ALIA

  • Команды CD, CHDIR и SET DEFAULT

    Эти команды изменяют исходные директории всего процесса, таким образом, они влияют на все потоки, которые являются частью процесса. Вместо CD, CHDIR и SET DEFAULT, используйте Команду SET PATH.

Смотрите Также

Задачи

Как: Создать Серверы Автоматизации

Концепции

Выбор Run-Time Библиотеки

Другие Ресурсы

Работа с Серверами Автоматизации

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. LS


How to: Build Automation Servers

Visual FoxPro 9.0
Как: Строить Серверы Автоматизации
Смотрите Также

Вы можете создать сервер автоматизации как выполняемы (.exe) файл или как файл динамически подключаемой библиотеки (.dll).

Note Примечание

Серверы автоматизации запускаются путем создания копии класса; следовательно, вы можете построить сервер автоматизации без предварительно определенного главного файла в Менеджере Проекта.

Для информации о создании приложений смотрите Как: Строить Приложения.

Чтобы построить сервер автоматизации (.dll)

  1. Откройте проект вашего приложения.

  2. В Project Manager, нажмите Build.

  3. В диалоговом окне Build Options, щелкните на Single-threaded COM server (dll) или Multi-threaded COM server (dll).

  4. Выберите остальные желаемые опции и щелкните OK.

    Note Совет

    Вы можете просмотреть и сохранить сообщения, которые возникнут в прецессе построения. Для дальнейшей информации смотрите Как: Просмотреть и Сохранить Сообщения Построителя.

  5. В диалоговом окне Save As, определите имя файла и затем сохраните файл.

Для дальнейшей информации смотрите Окно Менеджера Проекта (Project Manager) и Диалоговое Окно Build Options.

Чтобы построить сервер автоматизации програмно

  • Используйте BUILD EXE, BUILD DLL или BUILD MTDLL команды.

Для дальнейшей информации смотрите Команда BUILD EXE, Команда BUILD DLL и Команда BUILD MTDLL.

Note Примечание

Вы можете включить определенные (.dll) библиотеки, когда распространяете ваш сервер автоматизации. Для дальнейшей информации смотрите Серверы Автоматизации в Visual FoxPro.

После того, как вы построили сервер автоматизации, классы сервера перечислены в диалоговом окне Project Information. Вы можете определить файл справки и Help контекст ID для каждого класса. Этот файл справки может открываться из самых обычных просмотрщиков объектов (object browsers). Вы можете выбрать классом определяемые исключительные значения в диалоговом окне Project Information. Для дальнейшей информации смотрите Закладка Servers, Диалогового Окна Project Information.

Note Совет

Для того чтобы изменения настроек на закладке Servers вступили в силу, надо перестроить .dll или .exe.

Смотрите Также

Задачи

Как: Создать Серверы Автоматизации
Как: Регистрировать Серверы Автоматизации

Другие Ресурсы

Работа с Серверами Автоматизации

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. LS


How to: Register Automation Servers

Visual FoxPro 9.0
Как: Зарегистрировать Сервер Автоматизации
Смотрите Также

Вы можете сделать ваш сервер автоматизации доступным для других приложений, после того как добавите его в системный реестр Windows. Когда вы создаете сервер автоматизации, то он автоматически регистрируется на данном компьютере. Когда вы используете Visual FoxPro Setup программу для создания инсталяционного диска, то исталяционная программа регистрирует ваш сервер на компьютере, где устанавливается приложение. Однако, вы также можете вручную регистрировать серверы.

Note Примечения

Системный реестр содержит полный путь к файлу, поэтому, если вы переместили файл, то вы должны зарегистрировать его снова.

Для того, чтобы зарегистрировать .exe компонент

  • Запустите .exe файл с /regserver ключем.

    Например, чтобы зарегистрировать Myserver.exe, надо выполнить следующую команду:

    CopyCode image Copy Code
    myserver /regserver

Чтобы удалить .exe компонент из системного реестра

  • Запустите .exe файл с /unregserver ключем.

    Например, чтобы снять с регистрации Myserver.exe, выполните следующую команду:

    CopyCode image Copy Code
    myserver /unregserver

Чтобы зарегистрировать .dll компонент

  • Запустите REGSVR32 с именем сервера.

    Например, чтобы загегистрировать Myserver.dll, выполните следующую команду:

    CopyCode image Copy Code
    REGSVR32 myserver.dll

Чтобв удалить .dll компонент из системного реестра

  • Запустите REGSVR32 с именем сервера и /u ключем.

    Например, для Myserver.dll выполните следующую команду:

    CopyCode image Copy Code
    REGSVR32 /u myserver.dll

Смотрите Также

Другие Ресурсы

Работа с Серверами Автоматизации

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. LS


Binding Type Libraries

Visual FoxPro 9.0
Присоединение Библиотек Типов
См. также
CollapseAll image

Система Visual FoxPro поддерживает наиболее важные (Visual FoxPro) Свойства, События и Методы в создаваемых вами серверах Automation, через механизм библиотек Типов. В библиотеку Типов включаются только свойства имеющие характеритстику PUBLIC.

Как обычно, пользовательские Свойства и создаваемые Методы Visual FoxPro включаются в библиотеку Типов с атрибутом (характеристикой) PUBLIC. Например, Visual FoxPro определяет возвращаемое значение кака тип Variant, аналогично для списка передаваемых параметров (также типа: variant), которые могут быть получены, или определены в соответствующих Методах. Свойства, описанные в соответствующих класса библиотек .vcx также включаются в создаваемые библиотеки Типов.

Библиотеки Типов создаются в процессе Компоновки (компиляции) создаваемого сервера (.exe / .dll), имеют расширение = .tlb. Данные библиотеки типов также включаются в виде связанного Ресурса в создаваемые сервера (.dll / .exe). Это обстоятельство исключает необходимость поставки потребителюд описанного выше файла .tlb, который обычно требуется для полной регистрации Сервера и файла .vbr.

Note Обратите Внимание

Внутренний метод Visual FoxPro Release не включается в Библиотеку Типов, он уже существует в Объекте COM.

Expand image См. также

Описание

Передача Массивов как параметров в серверы Automation

Другие ссылки

Работа с серверами Automation
Общедоступность и системы Internet

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Visual FoxPro 9.0
Раннее (vtable) и позднее (IDispatch) связывание
Смотрите также
CollapseAll image

COM серверы Visual FoxPro поддерживают оба интерфейса - раннего (vtable) связывания и существующий позднего связывания (IDispatch) (вместе известных под термином dual-interface). Связывание описывает - как клиент получает доступ к свойствам и методам сервера. Ранее связывание предоставляет преимущества производительности для контроллеров автоматизации, которые поддерживают раннее связывание, таких как Visual Basic и Microsoft Transaction Server. Поскольку серверы Visual FoxPro поддерживают оба интерфейса, то какой из них использовать - определяется клиентом.

Expand image Ранее связывание

Если ваш клиент может определить в период компиляции, какие свойства или методы принадлежат объекту, то он может разрешить (resolve) ссылку на объект в период компиляции. Скомпилированный исполнимый файл содержит только код для вызова свойств, методов и событий объекта. Это называется ранним связыванием.

Пример: клиент Visual FoxPro

CopyCode image Скопировать код
LOCAL xlApp1 As Excel.Application
xlApp1 = CreateObjectEx("Excel.Application","","")

Пример: клиент Visual Basic

CopyCode image Скопировать код
Dim xlApp1 As Excel.Application
Set xlApp1 = New Excel.Application

Ранее связывание резко снижает время, требуемое для установки или получения значений свойств, поскольку накладные расходы вызова могут быть значительной частью общего периода времени. Для вызовов методов, улучшение зависит от объекта работы, проделываемой методом. Короткие методы, где накладные расходы вызова сравнимы по времени с периодом, требуемым для завершения залачи, выгода является наивысшей.

Expand image Позднее связывание

Хотя поздее связывание представляет собой самый медленный путь вызова свойств и методов объекта, бывают моменты, когда это необходимо. Например, в Visual Basic вы можете написать функцию, которая использует переменную объекта, для воздействия на любой из нескольких отдельных классов объектов. Так как вы не знаете заранее, какой класс объекта присвоен переменной, вы должны декларировать ее, как переменную позднего связывания с помощью команды Visual Basic - DIM As Object. В Visual FoxPro, вы можете использовать функцию CREATEOBJECT() в предпочтение функции CREATEOBJECTEX() function.

Пример: клиент Visual FoxPro

CopyCode image Скопировать код
LOCAL xlApp2 As Excel.Application
xlApp2 = CreateObject("Excel.Application")

Пример: клиент Visual Basic

CopyCode image Скопировать код
Dim xlApp2 As Object
Set xlApp2 = CreateObject("Excel.Application")

Вызовы метода объектов, созданных этим путем могут исполняться медленнее, чем вызовы методов объектов, созданных с ранним связыванием, поскольку клиент должен включать в себя код в скопилированном исполнимом файле, который будет определять в run time будет или нет иметься у сервера конкретный метод.

Expand image Смотрите также

Справочное руководство

Компиляция исходного кода
Масштабируемость и многопоточный режим
Run-Time библиотеки Visual FoxPro

Прочие ресурсы

Работа с серверами автоматизации
Способность к взаимодействию и Internet

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Passing Arrays to Automation Servers

Visual FoxPro 9.0
Передача Массивов Серверам Автоматизаций
Смотрите Также
CollapseAll image

Более ранние версии Visual FoxPro передавали массивы COM объектам, таким как Серверам Автоматизации созданные в Visual FoxPro, Visual Basic или Visual C++, по значению. То есть, после вызова метода, элементы массива оставались без изменений, и изменения COM объекта на передавались клиенту. Это ограничение не позволяло передавать большое количество данных между Visual FoxPro и COM объектами.

По умолчанию, предполагается, что массив, передаваемый в COM объект, индексируется с 1, т.е. обращение к первому элементу массивы будет выглядеть, как MyArray[1], и передается по значению. Однако, некоторые COM объекты требуют, чтобы массив индексировался с 0, т.е. первый элемент - MyArray[0], и передавался по ссылке.

Вы можете указать, как передавать массив серверу автоматизации, используя функцию COMARRAY( ). Для дальнейшей информации смотрите Функция COMARRAY( ).

Expand image Смотрите Также

Ссылки

Компиляция Исходного Кода

Другие Ресурсы

Работа с Серверами Автоматизации
Возможность Взаимодействия и Интернет

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Compiling Source Code

Visual FoxPro 9.0
Компиляция Исходного Программного Кода
См. также
CollapseAll image

В системе Visual FoxPro, вы можете компилировать исходный программный Код во время выполнения пользовательского Приложения, в режиме Run-Time, который поддерживается библиотеками VFP9R.dll или VFP9T.dll. Дополнительную информацию об указанных библиотеках смотрите в разделе: Библиотеки Visual FoxPro Run-Time.

Note Обратите внимание

Младшие версии Visual FoxPro использовали Макро-Подстановки или вычисления каждой параметризированной строки программного Кода во время выполнения Приложения. Данный процесс не всегда бал Оптимальным по причинам величины и сложности исходного программного кода, а также больших Издержек при выполнении оператора макро-подстановки &, или системной функции EVALUATE( ).

Стандартная команда COMPILE теперь доступна при выполнении Приложения (в режиме Run-Time), поэтому ваше приложение может создавать и компилировать программные файлы (.prg). Режим Компиляции Run-time работает со всеми поддерживаемыми в команде COMPILE: Процедуры, Формы, Классы, Этикетки, Отчеты, Контейнеры Баз Данных. Вы можете использовать стандартную функцию STRTOFILE( ) для формирования требуемого Программного файла (.prg).

Есть несколько различий между Компилятором для Среды Разработки (Design-Time) и Компилятором режима Run-Time:

  • Опция "?" команды COMPILE (применяется для выбора файла), не поддерживается в режиме Run-Time; это объясняется тем, что Серверы Автоматизации (.dlls) не поддерживают Диалогов с Пользователем, что предполагает указанная опция "?".

  • Стандартная команда SET DEVELOPMENT - не поддерживается в режиме Run-Time.

    В режиме Среды Разработки (Design-Time), команда SET DEVELOPMENTопределяет, что Visual FoxPro выполняет сравнение даты и времени Объектного Кода и последнюю Редакцию Файла Исходного Кода (чтобы выполнить компиляцию новой версии). Если установлено SET DEVELOPMENT = ON, всегда выполняется самая последняя версия программного Кода (при необходимости Код - перекомпилируется). В режиме Run-Time, вам требуется явно выполнить команду COMPILE, для компяляции Исходного Кода. Это означает, что при выполнении стандартной команды DO в режиме Run-Time никогда не выполняется исходный файл .PRG. К тому же, в режиме Run-Time, команда DO игнорирует расширение заданного на выполнение файла, рассматривается только .FXP, если даже специально указывается .PRG.

Expand image См. также

Описание

Раннее (vtable) и Позднее (IDispatch) Связывание
Расширяемость и Многозадачность

Другие ссылки

Работа с Серверами Автоматизации (Automation Servers)
Способность к Взаимодействию и Интернет

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Scalability and Multithreading

Visual FoxPro 9.0
Расширяемость и Многопоточность (Scalability and Multithreading)
См. также
CollapseAll image

Когда некоторая программная Компонента имеет один выполняемый Поток, то только Код одного программного Объекта может выполняться в текущий момент времени. Возможности серверов Автоматизации Component Object Model (COM) позволяют обрабатывать серию поступающих на выполнение Запросов. Тем самым, поступающие Запросы к Серверу (.dll) выстраиваются в Очередь, и последовательно Обрабатываются до тех пор, пока указанная очередь не заканчивается.

В Много-поточной Операционной Среде, где системный процесс Serialization(последовательного упорядочивания) защищает Одно-поточные Объекты от перекрывающихся (накладываемых) Запросов внешнего Клиента. Тем самым, программный Код метода будет находиться в ожидании до тех пор, пока выполняются предыдущие Запосы Клмента. Наложение (параллельное выполнение) Запросов может породить внутренние Ошибки обработки Данных, если данный объект разработан без учета Реентерабельного (повторного) использования.

Тем самым, процесс Сериализации (Serialization) является особо Важной характеристикой серверов Автоматизации. Однако, Сериализация одно-поточных Компонент приводит иногда к Блокировке запросов внешнего Клиента. Например, предположим, что вы имеете объект Widget, который обладает двумя Методами: Spin и Flip.

  • Метод Spin выполняется несколько секунд в течение Получаса.

  • Метод Flip выполняется почти моментально.

Поскольку 32-х разрядное Приложение является много-Задачным, то второе Приложение, которое запрашивает у вашего Сервера выполнения короткого Метода Flip будет находиться в Ожидании до тех пор, пока для первого Приложения не завершится длинный метод Spin.

В том случае, когда Короткие Операции часто блокируются Длинными Операциями, то значительно падает Производительность Сервера и растет недовольство Пользователей. Компоненты (серверы), имеющие описанные характеристики часто называют "Плохо- Расширяемыми" (масштабируемыми). То есть, они работают неудовлетворительно в условиях последовательности поступающих Запросов смешанной природы (длинных и коротких).

Система Visual FoxPro обеспечивает создание двух видов внешних Компонент, которые масштабируют адресное пространство и позволяют избегать Блокировку Запросов, это: — SingleUse (Однопользовательские) и MultiThreaded (много-поточные) Объекты. Дополнительную информацию смотрите в разделе: Управление Блокировкой Запросов.

Expand image См. также

Описание

Раннее (vtable) и Поздее (IDispatch) Связывание
Библиотеки поддержки выполнения Приложений Visual FoxPro Run-Time
Компиляция Исходного Программного Кода

Другие ссылки

Работа с Серверами Автоматизации (Automation Server)
Коммуникабельность и Интернет

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Visual FoxPro Run-Time Libraries

Visual FoxPro 9.0
Библиотеки Visual FoxPro Run-Time
Смотрите также
CollapseAll image

Поставка Visual FoxPro включает в себя две библиотеки для run-time, которые вы будет распространять со своими приложениями:

  • VFPVersionNumberR.dll

  • VFPVersionNumberT.dll

VersionNumber указывает номер версии Visual FoxPro, которую вы использовали для разработки ваших приложений. Эти run-time библиотеки размещены в каталоге ..\Program Files\Common Files\Microsoft Shared\VFP.

VFPVersionNumberR.dll представляет собой обычную run-time библиотеку для большинства типов приложений. VFPVersionNumberT.dll представляет собой специальную multithreaded run time библиотеку для высокопереносимых in-process серверных приложений, такизх как созданных для использования с Microsoft Transaction Server. Обе run-time библиотеки совместно используют файл ресурса, VFPVersionNumberRENU.dll. Для получения более подробной информации смотрите Run-Time Библиотека VFP9R.DLL и Run-Time Библиотека VFP9T.DLL.

Когда you собираете ваше приложения из Project Manager (Диспетчера проекта), выбранное вами действие по сборке определяет, какие run-time библиотеки будет использовать сгенерированное приложение или сервер. Библиотеку VFPVersionNumberT.dll могут использовать только сервера автоматизации Automation servers (.dll). Метод Build (Собрать) для объектов Project (Проект) позволяет вам, кроме того, выбрать: какую библиотеку использовать. Для получения более подробной информации смотрите задач и метода Как: собирать сервера автоматизации (Automation Servers), Как: собирать приложения и Метод Build (Собрать).

Note Замечание

Скомпилированный исходный файл, например, исполнимый (.exe) или сервер автоматизации внутренне маркируется для идентификации при вызове - какую библиотеку использовать. Единственным способом заменить run-time библиотеку сервера автоматизации является его пересборка. Ваш сервер может определить в run time, какая библиотека используется с помощью свойства (маркированного, как "только для чтения") StartMode объекта Application. Вам необходимо знать, какая библиотека ассоциирована с вашим сервером автоматизации для того, чтобы вы могли выбрать "правильную" библиотеку для включения ее в установочный файл. Для получения более подробной информации смотрите Сервера автоматизации и COM.

Expand image Смотрите также

Справочное руководство

Масштабируемость и многопоточность

Прочие ресурсы

Способность к взаимодействию и Internet
Анализы и ограничения разработки сервера

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VFP9R.DLL Run-Time Library

Visual FoxPro 9.0
VFP9R.DLL, Библиотека исполнения (Run-Time)
См. также
CollapseAll image

Библиотека исполнения Visual FoxPro: VFP9R.dll - является основной (главной) библиотекой Run-Time, которая обеспечивает весь функционал системы Visual FoxPro для созданных Приложений Visual FoxPro следующих типов:

  • Базовые, распространяемые Приложения, файлы типа (.exe) ;

  • Независимые серверы Автоматизации (Out-of-process), файла типа (.exe) ;

  • Зависимые (однопоточные) (In-process) серверы Автоматизации, файлы типа (.dll) .

Рассматриваемая библиотека Исполнения обычно размещается в следующей папке: ..\Program Files\Common Files\Microsoft Shared\VFP .

Основная библиотека исполнения модулей Visual FoxPro не может коллективно использоваться несколькими запущенными однопоточными процессами (in-process Automation servers (.dll)). Вместо этого, каждый однопоточный процесс использует запуск отдельной, независимой копии "библиотеки поддержки" Visual FoxPro. В представленных далее Правилах определяются условия использования однопоточными серверами Автоматизации основной библиотеки исполнения Visual FoxPro:

  • При запуске однопоточного сервера автоматизации (in-process .dll) последний эксклюзивно захватывает рассматриваемую Библиотеку исполнения Visual FoxPro.

    Если указанный процесс уже запущен и монопольно использует библиотеку исполнения Visual FoxPro, то для нового запускаемого процесса создается переименованная копия указанной библиотеки, которая создается на диске рядом с сервером .Dll и загружается в память компьютера в целях поддержки нового, запускаемого Процесса. Для именования новой копии библиотеки исполнения Visual FoxPro используется базовое имя сервера Автоматизации

    Например, предположим, что запускается пользовательский однопоточный сервер с именем MyServer.dll. В этом случае будет создана Копия основной библиотеки Visual FoxPro с именем MyServerR1.dll, которая будет загружена в память для поддержки нового однопоточного процесса .dll. Аналогичная ситуация может происходит и с программным модулем .Exe Visual FoxPro, запущенном в одном потоке с рассматриваемым однопоточным сервером .dll, данная ситуация характеризует невозможность использования одной копии библиотеки исполнения двумя процессами, выполняемыми в одном и том же Потоке. Уточнение: сначала запускается модуль типа .Exe, а с его помощью выполняется запуск пользовательского сервера .Dll, которые и порождает новую копию библиотеки Исполнения VFP.

  • Копия Библиотеки исполнения Visual FoxPro создается только для однопоточных процессов, запускаемых в одном потоке с основной программой, основным Сервером.

    Это означает, два независимых Клиента, выполняемые в отдельных, собственных, независимых процессах могут загружать два различных независимых однопоточных процесса типа Visual FoxPro .dll, при этом дублирования основной библиотеки исполнения не выполняется. В этом случае, оба параллельных однопоточных процесса Visual FoxPro .dll используют одну и ту же библиотеку исполнения Visual FoxPro в качестве Клиентов, существующих в независимых процессах.

  • Многопоточные серверы Автоматизации (Automation servers), которые создаются с указанием ключевой секции OLEPUBLIC в стандартной команде описания класса DEFINE CLASS, запущенные как однопоточные процессы .dll используют одну копию библиотеки исполнения Visual FoxPro (Run-Time Library).

    В этом случае, для многопоточных серверов, возможны случаи взаимодействия или одного сервера на другой сервер, например при изменении значений глобальных переменных PUBLIC, которые являются доступными обоим серверам , запущенным в рамках одного процесса Клиента, возможно также изменения параметров среды исполнения командами SET, и другие взаимодействия серверов, размещенных в одном общем процессе. Обратите внимание, чтобы многопоточные серверы Automation, запущенные в одном потоке Клиента .dll не взаимодействовали друг с другом. Созданный новый стандартный класс типа Session позволяет решать некоторые проблемы разрешения конфликтов между серверами. Использование многопоточной библиотеки исполнения Visual FoxPro, VFP9T.dll, позволяет разрешить конфликты взаимодействия независимых серверов; в этом случае рассматриваемые серверы автоматизации или объекты создаются в различных потоках, адресных пространствах, для которых создаются собственные сеансы или среды данных, которые не соприкасаются друг с другом, исключают взаимное влияние, Конфликты.

Вы можете использовать главную библиотеку исполнения Visual FoxPro для однопоточных серверов .dll. Но поскольку существуют ограничения по использованию указанной библиотеки исполнения Visual FoxPro, вы должны рассмотреть вместо этого варианты использования Многопоточной библиотеки исполнения Visual FoxPro, которая имеет шаблон имени: VFPVersionNumberT.dll. Рассматриваемая библиотека исполнения Visual FoxPro не гарантирует полную защиту Данных и значений Глобальных переменных; поэтому эта библиотека может блокировать многопоточные Объекты для исключения параллельного выполнения Программного Кода данных объектов. Если в настоящий момент выполняется Код одного из Объектов, все остальные экземпляры соответствующих объектов должны находиться в очереди на выполнение собственного Кода. После завершения выполнения программного Кода активного Объекта, управление передается очередному Объекту, начинает выполняться его Код, это относится как к свойствам так и к методам объектов. Если для многих случаев создание Очереди на выполнение Кода не является идеальным вариантом для производительности Приложения в целом, существуют некоторые приложения - типы серверов, для которых указанный сценарий выполнения является наиболее Оптимальным.

Если однопоточные (In-Process) серверы .dll активируются в условиях таких систем, как Component Services (или Microsoft Transaction Server) в виде пакетов, когда создается экземпляр сервера в отдельном адресном пространстве, который обслуживается указанной системой Component Services, а не как независимый процесс . Кроме того, многопоточные процессы .exe поддерживаемые системой Visual FoxPro, как серверы .dll могут загружаться в качестве отдельных процессов в одном процессе системы Component Services. Component Services генерирует или повторно использует Поток обработки для каждого Клиента, порожденного с характеристикой общего использования (OLEPUBLIC) из основного сервера Visual FoxPro. В силу того, что такие Приложения обычно требуют Полного Масштабирования (Enterprise Scalability), то в данных условиях существует потенциальная возможность возникновения конкурентного обращения различных процессов к вашему Серверу Visual FoxPro. Если только один Клиент (экземпляр Объекта) запрашивает выполнение собственного программного Кода, то остальные Клиенты должны находиться в очереди, ожидать выполнения своих запросов. Если Рабочая Станция имеет один процессор, то описанный выше случай является вполне приемлемым, в зависимости от конкретных условий выполнения операций на вашем Сервере. Не забывайте, что один процессор может выполнять один Процесс в текущий момент времени.

Note Совет

Рекомендуется всегда использовать многопоточную библиотеку исполнения Visual FoxPro для рабочих станций с несколькими процессорами, так как каждый из процессоров может выполнять параллельную обработку представленных Объектов, или функционально независимых объектов. В силу того, что основная библиотека исполнения Visual FoxPro является Однопоточной, то она блокирует одновременно выполняемый программный Код, выстраивает очередь выполнения процессов, требующих обработку, Поэтому вам необходимо проектировать ваше Приложение с учетов всех возможностей параллельного выполнения различных блоков программного Кода или созданных программных Объектов (если это возможно).

Expand image См. также

Описание

Библиотеки Исполнения Visual FoxPro Run-Time
Масштабируемость и Многопоточность

Другие ссылки

Открытое Взаимодействие и Интернет
Соглашения и Ограничения по разработке Серверов (.Dll)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


VFP9T.DLL Run-Time Library

Visual FoxPro 9.0
VFP9T.DLL, Библиотека выполнения (Run-Time)
См. также
CollapseAll image

Многопоточная библиотека исполнения Visual FoxPro, VFP9T.dll, обеспечивает разрешение вопросов блокировки процессов, что характерно для библиотеки исполнения Visual FoxPro, VFP9R.dll. С помощью многопоточной библиотеки Visual FoxPro вы можете создавать Серверы типа In-Process, которые обеспечивают исключение ситуаций блокировки выполняемого Кода. Указанная библиотека расположена в подкаталоге: ..\Program Files\Common Files\Microsoft Shared\VFP.

Поскольку многопоточная библиотека исполнения Visual FoxPro предназначена исключительно для Серверов типа In-Process, многие команды и функции, реализующие визуальные компоненты и диалог с Пользователем, отключены в данной Библиотеке.

Поскольку в многопотоковой библиотеке Visual FoxPro не возникает событий Блокировки исполняемого Кода, выполнение длительных процедур (например, печать файла, отчета на принтере) не задерживает выполнение более быстрых процессов, которые могут выполняться параллельно и быстро. Например, при использовании обычной библиотеки исполнения Visual FoxPro, выполнение процедуры Запроса к Базе данных (который выполняется 1 секунду) может ожидать завершения длительного процесса печати сложного Отчета (который может выполняться до 15 минут). При использовании многопоточной библиотеки исполнения Visual FoxPro, описанной выше проблемы не возникает (процессы выполняются параллельно).

Дополнительно к механизмам разрешения проблем блокировки, реализуемым специальной Моделью построения многопоточной библиотеки исполнения Visual FoxPro, реализованы также процедуры разрешения конфликтов при обращении к удаленным Данным, когда для каждого Потока создается специальная изолированная Область, в которую загружаются требуемые данные. При использовании многопоточной библиотеки выполнения Visual FoxPro для каждого экземпляра Класса реализуется отдельная локальная область памяти, в которую загружаются требуемые данные. Это означает, что при объявлении глобальной переменной с помощью команды PUBLIC, эта переменная является актуальной только в рамках текущего Потока; каждый экземпляр соответствующего потока имеет собственную глобальную переменную.

Note Примечание

Чтение/Запись значений основных Свойств объекта Application (напрмер, AutoYield) имеет глобальный характер для всего Проекта Приложения.

Visual FoxPro обеспечивает функционирование многопоточной библиотеки исполнения модулей Visual FoxPro, которая развертывает несколько конкурирующих процессов автоматизации типа In-Process (.dll) (или Серверов), которые могут успешно выполняться как в одном процессе (потоке), так и изолированно, независимо. Обычная библиотека выполнения модулей Visual FoxPro создает переименованную копию исходной библиотеки для каждого процесса типа In-Process сервера .dll, который выполняется в одном глобальном процессе Visual FoxPro.

Visual FoxPro располагает классом Session, который рекомендуется использовать с параметром OLEPUBLIC при создании серверных классов. Аналогично для Форм, которые располагают свойством DataSession, которое обеспечивает возможность создания закрытого сеанса обработки данных для каждого экземпляра работающего Объекта. Основным преимуществом класса Session является тот факт, что этот класс занимает в памяти значительно меньше места, чем класс формы. Многопоточная библиотека Visual FoxPro автоматически защищает глобальные переменные и пользовательские данные текущего Потока в отдельном локальном хранилище (области памяти), но это относится только для независимых Потоков/Процессов. Объекты, созданные в одном Потоке, реализованном одним сервером .dll, могут иметь доступ к данным другого Объекта. Класс Session позволяет защитить данные только в пределах одного Потока.

С самого начала, многопоточная библиотека выполнения модулей Visual FoxPro была разработана только для поддержки Серверов типа In-Process, поэтому она имеет меньший размер. Многие команды и функции пользовательского интерфейса исключены из библиотеки, включая старые команды типа FoxPro 2.x READ / @...Get/Say. К тому же, такие Дизайнеры, как дизайнер Таблиц или дизайнер Отчетов, которые существуют в стандартной библиотеке выполнения модулей Visual FoxPro, исключены из многопоточной библиотеки. Однако, многопоточная библиотека все еще поддерживает визуальные классы, такие как Форма.

Expand image См. также

Описание

VFP9R.DLL, библиотека выполнения (Run-Time)
Библиотеки исполнения Visual FoxPro Run-Time
Подбор типов Процессов

Другие ссылки

Проектирование Серверов, соглашения и ограничения
Интернет и возможности Коммуникации

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Server Design Considerations and Limitations

Visual FoxPro 9.0
Соглашения и Ограничения по проектированию Серверов

Существует достаточное количество важных вопросов, влияющих на разработку Серверов. Специальное поведение, множественные процессы, различные ограничения определяют Эффективность работы вашего Серверного Приложения.

В данном Параграфе

Выбор Типа Процесса

Рассматриваются ключевые вопросы выбора варианта Сервера: как In-Process или Out-Of-Process сервера; какие особенности функционирования и пользовательского интерфейса предоставляют данные варианты для ваших Приложений.

Управление Блокировками Вызовов (Controlling Call Blocking)

Рассматриваются вопросы создания Однопользовательских (SingleUse) или Многопользовательских (Apartment-model) объектов, которые выполняют обработку очередей Блокировок, и как выполняют данные функции; как данные факторы влияют на эффективность и надежность вашего Приложения.

Выбор типа библиотеки Run-Time

Представлена информация по использованию внутренних механизмов Visual FoxPro API, вопросы надежности, обработка конфликтов, использование общедоступных ресурсов системы.

Функционал Языка (VFP), поддерживаемый различными вариантами библиотек Run-Time

Приводятся команды и функции, системные переменные Visual FoxPro, не поддерживаемые в "многопотоковых" библиотеках режима выполнения Visual FoxPro run-time.

Связанные Разделы

VFP9T.DLL, библиотека Run-Time

Приводятся функциональные особенности Многопоточной библиотеки Visual FoxPro.

Серверы Automation и COM

Рассматриваются вопросы функционального расширения ваших приложений Visual FoxPro при использовании общедоступных инструментов и механизмов серверов Automation и COM.

Рекомендации по разработке Серверов Automation (автоматизации)

В этих разделах вы найдете дополнительную информацию и рекомендации по разработке серверов Автоматизации.

Общедоступность (Interoperability) и Internet

Приводится различная информация для организации взаимодействия системы Visual FoxPro с другими Приложениями, или как другие Приложения взаимодействуют с системой Visual FoxPro.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Selecting Process Types

Visual FoxPro 9.0
Выбор типа Процесса
См. также
CollapseAll image

Серверы In-Process и Out-Of-Process обеспечивают различные Сервисы, особенно в части Пользовательского Интерфейса вашего Приложения.

Expand image Пользовательский Интерфейс

Несмотря на то, что в младших версиях Visual FoxPro вам также предоставлялись возможности использовать Формы для вывода Данных в Приложениях типа Сервер Автоматизации (Automation server), в настоящий момент система Visual FoxPro обладает двумя Библиотеками поддержки Выполнения приложений (Run-Time), которые обеспечивают различные варианты выполнения процессов типа Out-Of-Process и In-Process.

Expand image Серверы типа In-Process

Модель "внутри-поточного" сервера Автоматизации (.dll), типа In-Process, требует исключения пользовательского Интерфейса. Хотя, в Visual FoxPro 5.0, было возможно (но не рекомендовалось) создавать внутри-поточные Серверы (in-process), где использовались Формы для вывода Информации (как бы - односторонний пользовательский Интерфейс). Тем самым, для указанного типа Серверов частично поддерживался пользовательский Интерфейс, где не поддерживалась обработка обытий Формы. Начиная с версии Visual FoxPro 6, если вы пытаетесь использовать Элементы Пользовательского Интерфейса для внутри-поточных Серверов (in-process), то при компоновке файла .Dll - генерируется Сообщение об Ошибке. Это есть так называемый "неподдерживаемый" Режим.

Expand image Серверы типа Out-of-Process

Для Серверов Автоматизации, типа Out-Of-Process (.exe), может создаваться Интерфейс Пользователя. Системная функция Visual FoxPro SYS(2335) позволяет Включить или Отключить Пользовательский Интерфейс в Модальных Режимах работы сервера Автоматизации (.exe), типа Out-Of-Process; в этом случае Сервер может управляться Удаленно, без участия Пользователя. Модальные События в пользовательских Формах, Системные Диалоги, выполнение функции MESSAGEBOX( ) и команды WAIT, и аналогичных нормально обрабатывают пользовательский ввод Информации.

Expand image См. также

Описание

Управление Блокировкой Запросов
Элементы Языка программирования (VFP), поддерживаемые в библиотеках Run-Time

Концепции

Выбор библиотеки Выполнения (Run-Time)
Рекомендации по программированию Серверов Автоматизации

Другие ссылки

Соглашения и Ограничения по Разработке Серверов (.dll / .exe)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Controlling Call Blocking

Visual FoxPro 9.0
Управление блокированием вызовов (Controlling Call Blocking)
Смотрите также
CollapseAll image

Для того, чтобы увеличить масштабируемость Ваших приложений, Visual FoxPro предоставляет объекты SingleUse и модель Apartment Threading как пути управления проблемами блокирования вызовов.

Expand image Объекты SingleUse

Вы можете заставить каждый экземпляр класса OLEPUBLIC выполняться в отдельном экземпляре Вашего компонента, установив у свойства "Instancing" класса OLEPUBLIC значение "SingleUse" в диалоговом окне "Project Info". Это означает, что даже притом, что Ваш компонент является одно-потоковым, каждый экземпляр SingleUse класса имеет свой собственный поток исполнения. Поведение объектов SingleUse отличается для .exe и .dll серверов.

Объекты SingleUse в EXE серверах

Когда свойство "Instancing" установлено в значение "SingleUse", каждый экземпляр объекта порождает новый процесс EXE. В версии Windows 2000 или старше, Вы будете видеть каждый запущенный процесс в менеджере задач (Task Manager). При установке значения "MultiUse", первый экземпляр порождает новый процесс, но каждый последующий экземпляр разделяет (включается) в тот же самый первый процесс.

Объекты SingleUse в DLL серверах

Значение свойства "Instancing" игнорируется для многопотоковых .dlls и только читается для run-time библиотеки VFP9R.dll. Серверы, построенные для использования с run-time библиотеками VFPVersionNumberT.dll, где VersionNumber это номер версии FoxPro, всегда работают в режиме "MultiUse" вне зависимости от их настройки. В основном, Вы должны всегда устанавливать свойство "Instancing" в значение "MultiUse" для VFPVersionNumberR.dll in-process серверов. Если Вы установите значение "SingleUse", то только один экземпляр объекта этого сервера сможет быть создан. Вы получите сообщение об ошибке, если попытаетесь создать большее количество экземпляров объектов.

В исключительно редких случаях у Вас может возникнуть желание использовать установку "SingleUse". Фактически, Microsoft Transaction Server компонент требует установки "MultiUse". Объекты "SingleUse" зачастую требуют значительно больше памяти, чем многопользовательские объекты в многопоточных компонентах. Однако существуют причины, по которым Вы можете захотеть использовать объекты "SingleUse". Например, Вы можете изолировать рискованные операции в выделенных процессах объектов "SingleUse". Если в объекте происходит критическая ошибка, то другие процессы останутся не затронутыми этой ошибкой. В то время как возникновение критической ошибки в многопоточном компоненте уничтожает все потоки.

Expand image Модель Apartment Threading

Сервер автоматизации Visual FoxPro теперь поддерживает модель Apartment threading. "Microsoft Transaction Server" использует apartment-threaded сервера и предоставляет лучшую защиту и масштабируемость, используя распаралеливание (serialization) и выстраивание (marshaling) процессов.

В Visual FoxPro модель apartment threading обеспечивает безопасность процесса. В модели apartment threading, каждый процесс (thread) подобен apartment, поскольку все объекты создаются в одном процессе, живущем в этом apartment, и не затрагивают объекты из других apartment. Каждый объект модели Apartment (такой как сервера автоматизации Visual FoxPro) может существовать только в одном процессе, процессе, который создал объект. Однако, объектный сервер (такой как Microsoft Transaction Server) может поддерживать множество объектов, формируемых разными процессами. Общие данные, используемые объектным сервером, должны быть защищены от конфликтов использования нескольких процессов.

Модель Apartment threading предоставляет следующие преимущества:

  • Все объекты, которые клиент создает в данном процессе, создаются в том же самом apartment (процессе) в DLL. Запросы к одному и тому же процессу этих объектов не требует создания cross-thread marshaling, делая их, таким образом, более эффективными.

  • Поскольку объекты получают только доступ к процессу, в котором они были созданы, то все вызовы преобразуются в последовательность вызовов таким образом, чтобы вызов от одного объекта никогда не прерывался вызовом от другого.

  • Параметры для cross-thread вызовов собираются в одном месте, и вызывающий процесс блокируется. Подобная синхронизация данных защищает структуру исполняемых процессов.

Apartment-threaded DLL не могут создавать свои собственные процессы; когда процесс клиента в первый раз требует объект, предоставляемый Вашей библиотекой DLL, создается новый apartment, и объект выполняет событие Init для этого apartment. Все одиночные процессы от объектов, которые потребуются клиенту, будут существовать в том же самом apartment, и совместно использовать глобальные данные. Любые частные (PRIVATE) объекты (включая формы), созданные глобальными объектами также будут существовать в том же самом apartment.

Хотя Visual FoxPro не предоставляет возможность доступа между разными apartment, многопользовательский клиент может получить ссылку на объект процесса A, и передать ему ссылку на объект процесса B.

Для получения дополнительной информации о модели Apartment threading, смотрите "Apartment-Model Threading" в библиотеке MSDN.

Использование Visual FoxPro модели Apartment threading исключает конфликты в процессе доступа к глобальным данным, из множества процессов предоставляя каждому apartment свою собственную копию глобальных данных. Таким образом, все объекты, созданные процессом, существуют в этом apartment, и не затрагивают объекты в других apartment.

Visual FoxPro использует локальное хранение данных процесса для того, чтобы сохранить уникальные настройки приложения и глобального окружения данных для каждого процесса (apartment). Это означает, что два экземпляра одного и того же класса созданного в разных процессах не могут получить доступ к данным друг друга. Однако если те же два экземпляра созданы в том же процессе, то каждый объект может получить доступ к данным другого объекта. Это может создавать проблемы для Вашего приложения. Фактически, два объекта создаются в одном процессе на основе одного OLEPUBLIC класса в том же .dll сервере, поэтому могут свободно обмениваться собственными данными между собой. Замечание: Вы можете использовать класс Session для того, чтобы предоставить каждому объекту уникальную частную сессию данных.

В дополнении к локальным данным процесса, Visual FoxPro также обеспечивает каждый проект (.dll) уникальной настройкой глобальных данных. Объекты, созданные в разных проектах (.dll серверах) не имеют доступа к глобальным данным друг друга, даже если они созданы в одном процессе.

Expand image Смотрите также

Ссылки

Выбор типа Процесса
Элементы Языка, поддерживаемые в Библиотеках Run-Time

Концепции

Выбор библиотеки исполнения (Run-Time Library)
Примечания по Программированию Сервера Автоматизации

Другие ресурсы

Соглашения и Ограничения по проектированию Серверов
Перекрестные взаимодействия и Internet

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Selecting a Run-Time Library

Visual FoxPro 9.0
Выбор библиотеки исполнения (Run-Time Library)
Смотрите Также

Возможно в вашей деятельности возникает необходимость в Приложениях, таких как Internet Server Application, которые приводятся в представленных разделах: FoxIsapi Server, пример, где вы можете получить экземпляр пользовательской Формы с помощью процедур макетирования, подобных формату HTML. В условиях наличия значительного количества некритических особенностей использования Многопоточной библиотеки Исполнения Visual FoxPro во многих случаях удается построить сценарии удовлетворительного выполнения ваших Приложений в виде многопоточных серверов.

Обычно существует мнение, не совсем объективное заблуждение, что при выборе типа создаваемого сервера, что приложение автоматически хорошо масштабирует только серверы типа .dll, которые запускаются в новом Сеансе. Вы можете разрешить все существующие проблемы при тщательном исследовании вопросов:

- использования функций Visual FoxPro API,

- процессов масштабирования (Scalability),

- реентерабельности (повторного использования) (Reentrancy),

- закрепления ресурсов (Resource Contention).

Использование возможностей Visual FoxPro API

Когда используются функции из библиотек Visual FoxPro FLL или стандартных компонент Windows DLL, которые созданы с помощью интерфейса Visual FoxPro API, существуют некоторые проблемы, которые вы должны учитывать при проектировании и разработке ваших Серверов. Существующий интерфейс Visual FoxPro API не в состоянии полностью определить какой из активных проектов (.dll) выполняет специфический, конкретный Запрос на обработку. Поэтому, существует потенциальная возможность ситуации (хотя достаточно редко) когда программный интерфейс API вызывает конкурирующий Запрос к рассматриваемому Серверу (.dll размещен в локальном процессе). Это может произойти в том случае, когда рассматриваемая библиотека FLL/DLL создана в другим сервере Visual FoxPro .dll (другими словами: предназначена для выполнения с другой библиотекой исполнение). Существует несколько решений, позволяющих избежать описанные выше потенциальные проблемы:

  • Создание независимой копии многопоточной библиотеки исполнения (Multithreaded Visual FoxPro Run-Time Library), и размещение этой копии рядом с рассматриваемым Сервером, в одной папке. Сервер всегда начинает поиск необходимой компоненты сначала с текущей папки, далее в подкаталоге Windows System или в папке, где размещается сам Клиент VFP. При наличии в одной папке обслуживающей Его библиотеки исполнения, рассматриваемый Сервер не будет испытывать проблем с конкурирующими процессами, которые отсутствуют в описанной папке, иначе последние смогут перехватить обслуживающую библиотеку исполнения. Описанные выше Сценарий предполагается для многих случаев (автоматическое копирование-переименование библиотеки исполнения в папку запрашивающего обслуживания Сервера), поэтому существующий программный интерфейс API выполняет только Декларацию необходимых функций для многопоточной библиотеки исполнения Visual FoxPro.

  • Ограничитесь в вашем Приложении одним Сервером (файлом типа .dll). Если вы используете несколько Серверов, модулей .dll, (построенных из нескольких Проектов), то возникает потенциальная возможность возникновения конфликтов программного интерфейса API. Обратите внимание, что один Проект может содержать несколько Определений Классов с ключевой опцией OLEPUBLIC, в противном случае вам необходимо создавать для каждого OLEPUBLIC независимых Проект, а следовательно и модуль .Dll. Не забывайте, что на общедоступных Серверах (или Рабочих Станциях) другими пользователями могут устанавливаться другие обслуживающие Visual FoxPro COM, которые могут вступать в конфликт с вашим Сервером.

Проблемы Масштабирования

Многопоточная библиотека исполнения Visual FoxPro предназначается для масштабирования однопоточных локальных серверов Visual FoxPro (in-process servers). Хотя процессы масштабирования ваших серверов автоматически начинают обслуживать сервера в момент их загрузки, могут возникнуть некоторые Петли программного Кода (неявные ошибки), которые не позволят выполнить переключение между обслуживаемыми Процессами. Например, могут возникнуть ситуации невозможности выхода из программного цикла DO WHILE. Если у вас возникают описанные выше проблемы с процессами масштабирования, вы можете включить в программный Код ваших модулей приводимый ниже фрагмент программного Кода, который вынуждает процессор переключиться на обработку другого Процесса:

CopyCode image Копировать Код
DECLARE Sleep IN Win32API INTEGER
SLEEP(0)

Несмотря но то, что вы можете использовать многопоточную библиотеку исполнения на рабочей станции с одним процессором, это не обеспечит вам ожидаемой производительности Приложения. Например, для однопроцессорной рабочей станции использование многопоточной библиотеки исполнения обеспечит хорошее обслуживание программного Кода только в случае комбинирования достаточно Коротких с достаточно Длинными вычислительными Задачами. Прямое применение многопоточной библиотеки исполнения может существенно замедлить выполнение вашего Приложения в целом.

FoxPro Method Calls

В представленном примере: метод А и метод В активируются Одновременно. В Одно-Поточной Компоненте, эти методы переконфигурируются в Очередь на обслуживание, поэтому метод B не начинает работать пока не закончился метод A. В условиях Много-Поточной компоненты обслуживания рассматриваемые методы свободно конкурируют за обслуживание их Процессором.

Кроме того, общее время обслуживания Методов увеличивается за счет необходимых временных издержек по переключению процессора между обрабатываемыми процессами.

Основная проблема состоит в том, что оба метода (A и B) начинают обслуживаться в один момент времени.

Например, Если бы метод B "опрашивался" только три раза то момента его завершения, то пользователь почуствовал значительное оживление процесса обработки Запросов метода B — и только всего лишь небольшую задержку при обслуживании метода A.

Различные сценарии обслуживания Запросов с использованием Многопоточной компоненты показывают, что несколько коротких Запросов, которые сопоставимы с временем переключения Процессора между Задачами, обрабатываются достаточно эффективно — Например, в течение ожидания процессом выполнения операции Ввода/Вывода в файл — другие "короткие" процессы могут быть быстро выполнены.

Если вы рассматриваете Приложение, выполняемое на однопроцессорной рабочей станции, имеющей высокие характеристики времени переключения между операциями блокирования обслуживающих процессов, то вы можете смело использовать главную библиотеку исполнения Visual FoxPro. Для многопроцессорных рабочих станций и приложений, которые выполняют сложные и не равнозначные функции вам рекомендуется рассмотреть варианты использования Многопоточной библиотеки исполнения Visual FoxPro, которая будет поддерживать ваши серверы .dll .

Повторное Использование (Reentrancy)

Для Приложений, построенных на модели Реентерабельности (возможности повторного входа в программу), существует вероятность возникновения следующих Событий:

  1. Система обслуживания Потока выполняет программный (объектный) Код обслуживаемого Свойства или Метода.

  2. Пока обслуживается Поток текущего свойства или метода, другой поток пытается обратиться к свойству или методу рассматриваемого объекта, согласно принципам Automation создается очередь на обслуживание — новые запросы устанавливаются в очередь перед последним Потоком на обслуживание рассматриваемого Объекта.

  3. Прежде, чем поток достигает конца обслуживания, выполняется программный Код, который управляет переключением Процессора.

  4. По принципу Automation для потока составляется новое Задание, которое представляет собой скомбинированную очередь на обслуживание данным потоком, выполнения программного кода Очереди.

Новый запрос на обслуживание может поступить от объекта, который уже был выполнен активным Потоком — в этом случае этот запрос также (второй раз) устанавливается в очередь на обслуживание — или аналогичный запрос может поступить от другого Процесса. Если второй Объект будет конкурировать, то он будет обработан перед первым Объектом. Если изменяются уровни приоритетов выполняемых модулей, то какой из рассматриваемых Объектов (очередников) получает управление - обработку невозможно спрогнозировать. Это может привести к непредсказуемым результатам.

Постоянная перестройка или организация очередей на обслуживание Запросов, которая соответствует принципам Automation выполняет защитные функции по исключению ситуаций Реентерабельности — пока ваш Код не вмешивается в работу Процессора. Существуют следующие варианты, когда может возникнуть ситуация перехвата управления процессором:

  • Выполнение метода DoEvents.

  • Запрос значений Свойств или выполнение Методов объекта из других Потоков, или даже из других Процессов. Установка значения .F. для свойства приложения Application.AutoYield = .F. приостановит процессы обработки неустойчивых Событий в интервалах между выполнением каждой строки программного Кода (VFP).

  • Вызов потока типа cross-thread или обращение аналогичному (cross-process) Методу из другого метода.

Если вы тщательно не отработали исполнение вашего Объектного Кода до такого уровня, чтобы ваши методы не выполнялись в один момент времени вам не рекомендуется использовать программный код, который может перехватить управление исполняемого процессора

Закрепление Ресурсов

Многопоточная Библиотека исполнения Visual FoxPro обеспечивает Защиту характеристик и данных выполняемых Объектов от обращения к ним из других объектов Приложения. К данным объектам относятся соответствующие Глобальные объекты системы и другие подобные свойства и характеристики VFP. Некоторые системные Ресурсы представляют в этом смысле потенциальные проблемы, к ним относятся:

  • Файлы;

  • Значения Ключей Реестра Windows;

  • Данные.

Файлы Ввода-Вывода (I/O) представляют собой ресурсы, содержание которых может быть изменено обычными операциями самой Операционной системы. Когда ваш сервер использует некоторый Файл (или даже блокирует его) то другие процессы должны однозначно определять, что этот файл используется данным процессом (сервером). Рассматриваемый сервер должен выполнить запись в данный файл и освободить его для использования другими процессами, или достаточно Корректно обработать ошибки обращения к данному файлу. Рассматриваемые файлы Ресурсов могут быть открыты для коллективного использования, в этом случае ваш Сервер должен учитывать, что данные могут быть изменены другими процессами.

К наиболее Общему случаю относятся Файлы параметров (INI), значения переменных в которых могут читать и изменять различные процессы.Сам процесс Чтения и Записи Значения некоторого Свойства состоит из двух шагов (чтение-запись). Поэтому, существует потенциальная возможность, что в промежутке между чтением и записью значений одного процесса другой процесс выполняет аналогичную пару описанных операций. Описанный сценарий может приводить к конфликтным ситуациям..

Как и для описанных выше фалов типа INI, в разделах системного Реестра может происходить описанная выше ситуация конфликта между читаемыми и записываемыми значениями Ключей, которые обрабатываются несколькими Конкурирующими Процессами. Используемая в таких случаях подсистема Windows API обеспечивает разрешение возможных Конфликтов.

Непосредственные Данные - это достаточно гибкий и сложный Ресурс, которым совсем непросто управлять. Однако, инструментальные средства Visual FoxPro позволяют достаточно надежно и быстро выполнять обработку этого Вида Ресурсов. Дополнительную информацию вы можете просмотреть в разделе: Программирование в условиях Коллективного Доступа к Данным.

См. также

Задачи

FoxISAPI Automation Server, примеры

Описание

Управление Блокировками Вызовов
Элементы Языка (FoxPro), поддерживаемые в библиотеках Исполнения
Библиотеки исполнения Visual FoxPro

Концепции

Рекомендации по программированию Серверов Автоматизации (Automation Server)

Другие ссылки

Соглашения и Ограничения по проектированию Серверов
Функциональная Совместимость и Интернет

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Language Supported in Run-Time Libraries

Visual FoxPro 9.0
Элементы Языка, поддерживаемые в Библиотеках Run-Time
См. также
CollapseAll image

Одна из основных библиотек Visual FoxPro режима run-time, VFPVersionNumberR.dll, где VersionNumber - номер соответствующей версии системы, поддерживает полный комплекс элементов языка: объектов, команд, функций, за исключением специфических возможностей режима Среды разработки (Design-Time)

При использовании основной библиотеки multithreaded Visual FoxPro run-time, VFPVersionNumberT.dll, для "облегчения" библиотеки поддержки при выполнении серверовт типа in-process, многие используемые команды и функции исключены из этой библиотеки. Все объекты остаются доступными, однако их События отключены, например не активируются события объекта Form. Это справедливо также для другиз визуальных классов. Обратите Внимание: следующие категории Языка исключены из рассматриваемой библиотеки multithreaded Visual FoxPro run-time:

  • READ, @...Get/Says

  • Menu, Popup, и Bar, команды и функции

  • MESSAGEBOX() и WAIT WINDOW

  • Пользовательские Окна, команды и функции

Expand image Отключенные команды режима Run-Time, которые генерируют сообщение об ошибке

В следующей таблице перечисляются элементы Языка (команды, функции, переменные), которые не поддерживаются в режиме работы multithreaded Visual FoxPro run-time, и порождают следующие исключительные ситуации (сообщения об ошибках):

  • Команды: Данный функционал недоступен

  • Функции: Данная функция не поддерживается

  • Системная переменная: Данная переменная не найдена

В следующей таблице представлены Отключенные, неподдерживаемые команды в режиме Multithreaded Run-Time.

@...BOX | @...CLASS | @...CLEAR
@...EDIT | @...FILL | @...GET
@...MENU | @...PROMPT | @...SAY
@...SCROLL | @...TO | _ALIGNMENT
_ASSIST | _BEAUTIFY | _BOX
_CALCMEM | _CALCVALUE | _CONVERTER
_COVERAGE | _CUROBJ | _DBLCLICK
_DIARYDATE | _FOXDOC | _GALLERY
_GENMENU | _GENPD | _GENSCRN
_GETEXPR | _INCSEEK | _INDENT
_LMARGIN | _PADVANCE | _PBPAGE
_PCOLNO | _PCOPIES | _PDRIVER
_PDSETUP | _PECODE | _PEJECT
_PEPAGE | _PLENGTH | _PLINENO
_PLOFFSET | _PPITCH | _PQUALITY
_PSCODE | _PSPACING | _PWAIT
_RMARGIN | _SCCTEXT | _SPELLCHK
_STARTUP | _TABS | _THROTTLE
_TRANSPORT | _WRAP |
ACCEPT | ACTIVATE MENU | ACTIVATE POPUP
ACTIVATE SCREEN | ACTIVATE WINDOW | AGETCLASS()
AMOUSEOBJ() | ANSITOOEM() | APROCINFO()
ASELOBJ() | ASSERT | ASSIST
BAR() | BARCOUNT() | BARPROMPT()
BROWSE | CALL | CHANGE
CLEAR DEBUG | CLEAR GETS | CLEAR MACROS
CLEAR MENUS | CLEAR POPUPS | CLEAR PROMPT
CLEAR READ | CLOSE DEBUGGER | CLOSE FORMAT
CLOSE MEMO | CNTBAR() | CNTPAD()
COL() | CREATE | CREATE CLASS
CREATE CLASSLIB | CREATE COLOR SET | CREATE FORM
CREATE LABEL | CREATE MENU | CREATE PROJECT
CREATE QUERY | CREATE REPORT | CREATE SCREEN
DEACTIVATE MENU | DEACTIVATE POPUP | DEACTIVATE WINDOW
DEBUG | DEBUGOUT | DEFINE BAR
DEFINE BOX | DEFINE MENU | DEFINE PAD
DEFINE POPUP | DEFINE WINDOW | EDIT
FKLABEL() | FKMAX() | GETBAR()
GETCOLOR() | GETCP() | GETDIR()
GETEXPR() | GETFILE() | GETFONT()
GETPAD() | GETPICT() | GETPRINTER()
HELP | HIDE MENU | HIDE POPUP
HIDE WINDOW | IMESTATUS() | INPUT
KEYBOARD | LOAD | LOCFILE()
MCOL() | MDOWN() | MENU
MENU TO | MENU() | MESSAGEBOX()
MODIFY , Командаs | MOUSE | MOVE POPUP
MOVE WINDOW | MRKBAR() | MRKPAD()
MROW() | MWINDOW() | OBJNUM()
OBJVAR() | OEMTOANSI() | ON BAR()
ON ESCAPE | ON EXIT , Командаs | ON KEY
ON KEY LABEL | ON PAD | ON PAGE
ON READERROR | ON SELECTION BAR | ON SELECTION MENU
ON SELECTION PAD | ON SELECTION POPUP | PAD()
PLAY MACRO | POP KEY | POP MENU
POP POPUP | POPUP() | PRMBAR()
PRMPAD() | PROMPT() | PUSH KEY
PUSH MENU | PUSH POPUP | PUTFILE()
RDLEVEL() | READ | READ MENU
READKEY() | RELEASE BAR | RELEASE MENUS
RELEASE PAD | RELEASE POPUPS | RELEASE WINDOWS
RESTORE MACROS | RESTORE SCREEN | RESTORE WINDOW
ROW() | SAVE MACROS | SAVE SCREEN
SAVE WINDOWS | SCROLL | SHOW GET(S)
SHOW MENU | SHOW OBJECT | SHOW POPUP
SHOW WINDOW | SIZE POPUP | SIZE WINDOW
SKPBAR() | SKPPAD() | SUSPEND
VARREAD() | WAIT | WBORDER()
WCHILD() | WCOLS() | WEXIST()
WFONT() | WLAST() | WLCOL()
WLROW() | WMAXIMUM() | WONTOP()
WOUTPUT() | WMINIMUM() | WPARENT()
WREAD() | WROWS() | WTITLE()
WVISIBLE() | ZOOM WINDOW |

Expand image Отключенные команды режима Run-Time, которые не генерируют сообщение об Ошибке

В следующей таблице представлены команды, НеПоддерживаемые в режиме Run-Time для библиотеки multithreaded Visual FoxPro, и не создающие сообщения об ошибках при выполнении. Данные команды отключены в указанной библиотеке и не создают исключительных ситуаций (ошибок) по причине, что они часто используются в разрабатываемых библиотеках классов, они просто игнорируются. Когда указанные команды размещаются в выполняемом программном коде, система Visual FoxPro игнорирует их и продолжает выполнение модуля дальше. К данному списку относятся некоторые команды из группы SET и некоторые функции SYS.

CD | CHDIR | DOEVENTS
SET ASSERTS | SET BELL | SET BORDER
SET BROWSEME | SET BRSTATUS | SET CONSOLE
SET COLOR | SET CLEAR | SET CLOCK
SET CONFIRM | SET CURSOR | SET CPDIALOG
SET DEBUGOUT | SET DEBUG | SET DEFAULT
SET DEVELOPMENT | SET DELIMITERS | SET DISPLAY
SET DOHISTORY | SET ESCAPE | SET ECHO
SET EVENTLIST | SET EVENTTRACKING | SET FORMAT
SET FUNCTION | SET HELP | SET INTENSITY
SET MARK OF | SET MACDESKTOP | SET MACKEY
SET MARGIN | SET MESSAGE | SET NOTIFY
SET ODOMETER | SET PALETTE | SET PDSETUP
SET READBORDER | SET REFRESH | SET RESOURCE
SET SAFETY | SET SKIP OF | SET STICKY
SET STATUS | SET SYSMENU | SET TALK
SET TRBETWEEN | SET TYPEAHEAD | SET VIEW
SET WINDOW | SYS(1037) | SYS(18)
SYS(103) | SYS(2002) | SYS(1270)
SYS(2017) | SYS(4204) | SYS(2016)

В следующей таблице представлены функции и свойства, облегчающие управление Сервером и Клиентом Automation.

Команда или Свойство | Описание
COMARRAY( ), Функция | Определяет, как массивы данных передаются во внешние объекты COM.
COMCLASSINFO( ), Функция | Возвращает информацию из Реестра Windows об указанном объекте COM, таком как Visual FoxPro Automation server.
COMRETURNERROR( ), Функция | Загружает информацию в структуру исключений COM, которая может использоваться Клиентом Automation для определения и управления ошибочными ситуациями в Сервере Automation.
CREATEOBJECTEX( ), Функция | Создает образ (instance) зарегистрированного объекта COM (например, Visual FoxPro Automation server) на удаленной рабочей станции. Для созданного Visual FoxPro in-process .dll, вы можете использовать Microsoft Transaction Server по масштабированию данного объекта на удаленном компьютере.
EVENTHANDLER( ), Функция | Связывает события сервера COM с соответствующими методами объекта Visual FoxPro.
ProcessID, свойство | Возвращает идентификатор ID соответствующего Процесса, созданного объектом COM
ServerName, свойство | Содержит полное имя файла сервера Automation. Значение данного свойства ServerName есть значение свойства Application рассматриваемого объекта.
StartMode, свойство | Содержит целое число, указывающее в каком режиме запущена система Visual FoxPro.
SYS(2334) – Режим вызова Сервера Automation | Возвращает значение, показывающее, каким методом система Visual FoxPro выполняет Сервер Automation.
SYS(2335) – Автономный режим работы Сервера | Включает или Отключает поддержку Модального состояния при ваполнении Visual FoxPro Сервера Automation типа ".Exe"
SYS(2336) - Функция поддержки Критических Секций | Управляет доступом к критическим секциям серверов типа Multithreaded.
SYS(2339) - Функция Внутренней глобальной переменной | Возвращает значение внутренней глобальной переменной через g_fCallCoFreeOnRelease.
ThreadID, свойство | Возвращает идентификатор ID триады (thread), в которой создан данный Объект.

Expand image См. также

Описание

Управление блокировками вызовов
Типы Запускаемых Процессов

Концепции

Выбор библиотеки Run-Time
Замечания по программированию Сервера Automation

Другие ссылки

Среда разработки Сервера, соглашения и ограничения
Возможности взаимодействия с Internet

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Interoperability and the Internet

Visual FoxPro 9.0
Перекрестные взаимодействия и Internet

Visual FoxPro поддерживает OLE drag-and-drop, что позволяет вам перемещать данные между Visual FoxPro и прочими приложениями, так же легко, как и внутри приложений Visual FoxPro.

С помощью Visual FoxPro можно легко создавать приложения для использования с Internet, а также с прочими Microsoft Windows-based приложениями, такими как Excel и Visual Basic.

Кроме того, Visual FoxPro позволяет легко создавать Automation сервера, которые хорошо работают с Internet, Microsoft Transaction Server, и Active Desktop.

В этом разделе

OLE Drag-and-Drop

Описывает, каким образом Visual FoxPro поддерживает OLE drag-and-drop, мощный и полезный инструмент, который позволяет перемещать данные между приложениями, поддерживающими OLE drag-and-drop (такими, как Visual FoxPro, Visual Basic, Microsoft Windows Explorer, Word, Excel и тому подобными).
Совместное использование информации и введение OLE

Объясняет, как вы можете использовать Visual FoxPro для совместного использования информации с другими приложениями.

Связанные разделы

Web сервисы и компоненты

Объясняет, как вы можете сделать возможным для приложений Visual FoxPro работу с множественными пользователями, включая XML Web сервисы, компоненты ActiveX и automation-enabled приложения и ввести международные возможности (international capabilities).
XML Web сервисы в Visual FoxPro

Описывает, как использовать Web сервисы с вашими приложениями Visual FoxPro. XML Web сервисы представляют собой классы или объекты доступные в Web, которые вы можете использовать в ваших приложениях программно, как обычные объектно-ориентированные вызовы.
Сервера Automation и COM

Описывает, как вы можете расширить функциональность ваших приложение Visual FoxPro без затрт дополнительного времени на написание кода, путем использования серверов Automation и COM.
Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


OLE Drag-and-Drop

Visual FoxPro 9.0
OLE Drag-and-Drop
CollapseAll image

Visual FoxPro поддерживает OLE drag-and-drop, мощный и полезный инструмент, который предоставляет вам возможность перемещать данные между другими приложениями, которые поддерживают OLE drag-and-drop ( такие как Visual FoxPro, Visual Basic, Windows Explorer, Microsoft Word и Excel, и тому подобные). В распределенном приложении Visual FoxPro вы можете перемещать данные между элементами управления в приложении или между элементами управления в приложении и другими Windows приложениями, которые поддерживают OLE drag-and-drop.

Отметьте, что предыдущие версии Visual FoxPro, поддерживавшие возможности программного drag-and-drop для элементов управления, предоставляли вам возможность перемещать элементы управления на форме. Этот вид drag and drop остается поддерживаемым в Visual FoxPro. Однако, если вы выбираете инструмент поддержки drag and drop в ваших приложениях, вы должны эксклюзивно использовать либо программный drag-and-drop для элементов управления или OLE drag-and-drop – не путайте два разных типа поддержки операций drag-and-drop.

Expand image В этом разделе

Перенос с последующим высвобождением данных - Dragging and Dropping

Описывает основы функциональности OLE drag-and-drop.

Поддержка OLE Drag-and-Drop во время разработки

Описывается, как, используя OLE drag-and-drop в Visual FoxPro, сделать разработку приложения более быстрой и легкой.

Поддержка OLE Drag-and-Drop в распределенном приложении

Описывается, как использовать поддержку OLE drag-and-drop support в течение исполнения вашего приложения.

Как: обеспечить внутренний и ручной режимы OLE Drag-and-Drop

Объясняется, как обеспечить два режима OLE drag-and-drop для элементов управления в Visual FoxPro.

Expand image Связанные разделы

Межвзаимодействие и Internet

Предоставляет ссылки на информацию о том, как вы можете перемещать данные между Visual FoxPro и другими приложениями, равно как и внутри Visual FoxPro приложений.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Dragging and Dropping Data

Visual FoxPro 9.0
Перемещение Данных (Dragging and Dropping Data)
Смотрите Также

В данном разделе рассматриваются Основополагающие понятия Приложений, поддерживающих OLE Drag-And-Drop,что позволяет вам достаточно просто и эффективно использовать описываемые Инструмента в разрабатываемых пользовательских Приложениях.

Обычно манипулятор Мышь эффективно используется для выполнения операций типа "drag and drop" между соответствующими Приложениями и Контролами. К примеру, вы можете выделить некоторый Набор (подмножество) файлов в популярной системе Windows Explorer (Обычный Проводник). Далее вы можете нажать кнопку Мыши и удерживать ее во время выполнения операции перетаскивания выделенных файлов, для завершения операции "Перетаскивания" - достаточно освободить удерживаемую кнопку мышки в том месте, куда выполняется перетаскивание файлов, например: Диспетчер открытого Проекта Visual FoxPro. Или другой пример, вы можете выделить некоторый текстовый фрагмент в открытом Документе типа MS-Word, и описанным выше способом "перетащить" выделенный фрагмент Текст а в текстовый Контрол на открытой Форме Visual FoxPro. Во время выполнения операции "OLE drag-and-drop", указатель Мышки изменяет текущее изображение (свой Вид), что может иллюстрировать активную операцию OLE drag-and-drop.

Источник Перемещения (Объект)

Приложение или внешний Контрол, данные которого являются Источником Перетаскиваемых Объектов во внешнее Приложение.

В следующей таблице приводятся основные Свойства, События, Методы, которые доступны разработчику при рассмотрении Исходного Объекта Перетаскивания.

Свойства, События, Методы | Краткое Описание
OLECompleteDrag, Событие | Событие происходит в тот момент, когда требуемые данных перемещены в пункт назначения, или когда операция перетаскивания отменена.
OLEDrag, Метод | Начинает выполнение операции перетаскивания (OLE drag-and-drop operation).
OLEDragPicture, Свойство | Определяет изображение (вид) указателя Мышки при выполнении операции Перетаскивания. Вы можете указывать следующие поддерживаемые типы графических файлов: .bmp, .dib, .jpg, .gif, .ani, .cur, .ico .
OLEDragMode, Свойство | Определяет вариант управления выполнение операции Перетаскивания (OLE drag operations).
OLEGiveFeedBack, Событие | Происходит после каждого события OLEDragOver. Позволяет анализировать Тип выполняемой операции перетаскивания для исходного Объекта.
OLESetData, Событие | Происходит в тот момент, когда в месте Назначения выполняется метод GetData, или когда отсутствуют Данные в заданном формате для объекта DataObject в результате выполнения операции Перетаскивания.
OLEStartDrag, Событие | Происходит в тот момент, когда выполнен соответствующий метод OLEDrag.

Место Назначения (Адресат-Получатель)

Является Приложением или внешним Контролом, которые являются местом Назначания перемещаемых Данных (или Объектов) (drop target).

В следующей таблице приводится список Свойств, Событий , Методов, доступных для объектов назначения перемещаемых Элементов, в результате выполнения операции перетаскивания (OLE drop target).

Свойства и События | Краткое Описание
OLEDragDrop, Событие | Происходит в тот момент, когда перемещаемые данные уже находятся в Объекте назначения, и когда свойство OLEDropMode = 1 – (Включено) - Объект готов к Приему Внешних Данных.
OLEDragOver, Событие | Происходит в тот момент, когда перетаскиваемые данные уже находятся над местом назначения, и когда свойство OLEDropMode = 1 – (Включено) - Объект готов к Приему Внешних Данных.
OLEDropEffects, Свойство | Определяет тип Операции Приема, которые поддерживаются для компоненты Приема внешних данных (OLE drop target).
OLEDropHasData, Свойство | Определяет, как управляется операция Приема внешних данных.
OLEDropMode, Свойство | Определяет, как в Месте Назначения выполняется операция приема внешних Данных.

Перенос Данных

Для выполнения операции перетаскивания (drag-and-drop) Данных обычно используется левая кнопка Мышки, сначала требуемые данные выделяются в Исходном Источнике Данных. Далее - выделенные данных с помощью нажатия и удерживания левой кнопки мышки перемещаются в Место Назначения, чтобы перетаскиваемый объект располагался над указанным местом назначения. При отпускании удерживаемой кнопки мышки перетаскиваемые данные поступают в Место назначения. Во время выполнения описанной операции типа "OLE drag-and-drop", изображение (вид) указателя мышки изменяется (отличается от стандартного), что иллюстрирует для Пользователя текущую Активность выполняемой Операции Перетаскивания Данных.

Вы можете также нажать правую кнопку мышки для веделенной группы Объектов ("Right-Click"). В зависимости от Места назначения перемещаемых данных, может быть отображено Контекстное Меню, предусмотренные подпункты которого могут выполнить соответствующие операции для выделенной группы Объектов. Описанное выше контекстное меню может содержать также варианты обработки Перетаскиваемых Данных.

Копирование Данных

Вы можете выполнить обычную операцию Копирования требуемых Данных из исходного Иточника в соответствующее Место Назначения. Для этого: нажмите и удерживайте клавишу Ctrl и одновременно нажмите кнопку Мышки на требуемом Объекте Перемещения. Указатель мышки отображается как значек Плюс (+) во время выполнения операции по копированию - перетаскиванию выбранных Данных.

Источники и Адресаты, для которых не поддерживаются операции типа "OLE drag-and-drop"

Вы можете выполнить операции Перемещения или Копирования по принципу "OLE drag-and-drop" только для Перемещаемых Объектов и Объектов Назначения (адресатов), которые полностью поддерживают описываемый принцип перемещения Контролов (или Данных) "OLE drag-and-drop". Обратите внимание, что несмотря на то, что Место Назначения поддерживает операции типа "OLE drag-and-drop", однако перемещаемые данные не могут быть приняты в силу того, что данные представлены в неподдерживаемом Формате. Обычно описываемые выше Операции завершаются Аварийно в силу несогласованности Форматов передаваемых - получаемых Данных. При выполнении описываемых операций курсор мышки не изменяет своего изображения (Вида), что иллюстрирует невозможность принять перетаскиваемые Данные. Указатель мышки может иметь также вид "No Drop" (зачеркнутый кружек), что также иллюстрирует невозможность приема переданных данных в месте назначения.

Завершение Описываемых Операций

Вы можете прервать выполнение операций типа "OLE drag-and-drop", для этого достаточно нажать клавишу <ESC>.

См. также

Описание

Операции типа "OLE Drag-and-Drop"
Поддержка выполнения операций типа "OLE Drag-and-Drop" в режиме Run-Time

Другие ссылки

Функциональная совместимость и Интернет

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Design-Time OLE Drag-and-Drop Support

Visual FoxPro 9.0
Поддержка OLE Drag-and-Drop в Design-Time
Смотрите также
CollapseAll image

Поддержка OLE drag-and-drop в Visual FoxPro в design-time делает разработку приложение более быстрой, чем в предыдущих версиях. OLE drag-and-drop позволяет легко перетаскивать файлы в Project Manager и в дизайнеры Visual FoxPro из Windows Explorer. Тексты могут легко перемещены из других приложений в командное окно, текстовые редакторы Visual FoxPro и в окно Properties.

В приведенной ниже таблице перечислены в возможности Visual FoxPro в design time, которые поддерживают OLE drag-and-drop с описанием поддержки.

Предмет интерфейса Описание

Командное окно

Целевой предмет для операции Drop для файлов, источник операции drag и целевой объект для операции drop для текста.

Если файл, созданный в Visual FoxPro перетаскивается в комадное окно, то он открывает с подходящей для него командй Visual FoxPro. Например, если в командное окно перетащить базу данных, Visual FoxPro выдаст команды OPEN DATABASE и MODIFY DATABASE для открытия файла для модификации. Если в командное окно перетащить таблицу, то на будет открыта командами USE ... AGAIN и BROWSE. Если SET EXCLUSIVE установлен в ON, таблица открывается для использования для монопольного (exclusive) использования. В противном случае (SET EXCLUSIVE установлен в OFF), таблица открывается для совместного использования.

Прочие файлы Visual FoxPro открываются соответствующими им командами MODIFY — формы открываются с MODIFY FORM, запросы открываются с MODIFY QUERY, текстовые файлы и файлы заголовков (.H) открываются командой MODIFY FILE, и так далее.

Если файл был создан в другом приложении и перетащен в командное окно, то файл открывается приложением, в котором он. Например, перетаскивание в командное окно таблицы Microsoft Excel запустит Excel и откроет таблицу.

Project Manager

Целевой объект операций Drop для файлов.

Файлы добавляют в соответствующие их типам категории Project Manager, на основе расширений имен файлов. Если расширение файла, перетащенного в Project Manager не распознается Visual FoxPro, то файл будет добавлен в категорию Other.

Если файл, содержащийся в базе данных перетаскивается в Project Manager, то база данных добавляется в категорию Databases на закладке Data и маркируется, как Excluded. Если в Project Manager перетаскивается свободная таблица, то она добавляется в категорию Free Tables на закладке Data и также маркируется, как Excluded. Если в Project Manager добавляется база данных, то она вводится в категорию Databases на закладке Data и маркируется, как Excluded.

Наряду с тем, что OLE drag-and-drop позволяет легко добавлять файлы в Project Manager, помните, что Project Manager автоматически добавляет любые ссылочные файлы в проект, когда вы строите проект. Например, если программа, которую вы добавляете в проект исполняет другую программу, то вторая программа будет автоматически добавлена в проект при его построении. То есть, у вас нет необходимости добавлять вторую программу в проект..

Редакторы текста

Представляют оба предмета операций - как источник текста, так и целевой объект для текста.

Редакторы текста включают в себя окна редактирования, открываемые с помощью команд MODIFY COMMAND, MODIFY FILE и MODIFY MEMO, командное окно, окно редактирования кода в дазийнерах форм, классов, меню и окружения данных, а также редактор хранимых процедур в дизайнере баз данных.

Debugger

Аналогично с текстовыми редакторами - источник текста и целевой объект операции перетаскивания для текста.

Текстовый бок окна Watch и список Name представляют собой оба типа объектов операций drag-and-drop для текста. Окна Trace и Debug Output являются источниками операции drag для текста.

Database Designer

Целевой объект, в который перетаскиваются файлы.

"Бросание" таблицы в Database Designer вводит таблицу в текущую базу данных.

Class Designer

Целевой объект, в который перетаскиваются файлы и текст.

По умолчанию, перетаскивание текста в объект контейнера в дизайнере классов создает метку (label) с текстом, как значением ее свойства Caption. Вы можете изменить дефолтный элемент управления, создаваемый при перетаскивании текста в дизайнере форм на закладке Field Mapping Tab диалогового блока Options.

Если вы перетаскиваете текст в неконтейнерных элемент управления (CheckBox, CommandButton, Header, Label или OptionButton), то текст заносится в свойство Caption этих элементов управления.

Перетаскивание графических файлов (.ani, .bmp, .cur, .gif, .ico, or .jpg) в диазйнер классов создает элемент управления Image, свойство Picture которого, устанавливается в имя графического файла.

Data Environment Designer

Целевой объект перетаскивания файлов.

Перетаскивание таблицы в дизайнер DataEnvironment добавляет таблицу в окружение данных. Перетаскивание базы данных в дизайнер DataEnvironment выводит диалоговое окно Add Table or View, позволяя вам добавить желаемые таблицы или представления в окружение данных.

Query Designer

Целевой объект перетаскивания файлов.

Перетаскивание таблицы в Query Designer добавляет таблицу в запрос. Перетаскивание базы данных в Query Designer выводит диалоговое окно Add Table or View, позволяя вам добавить желаемые таблицы или представления в запрос.

View Designer

Целевой объект перетаскивания файлов.

Перетаскивание таблицы во View Designer добавляет таблицу в представление. Перетаскивание базы данных во View Designer выводит диалоговое окно Add Table or View, позволяя вам добавить желаемые таблицы или представления в представление.

Properties window

Целевой объект для текста.

Вы можете броить текст в текстовый бокс, появляющийся на вершине окна Properties когда выбрано свойство, доступное в design time.

Component Gallery

Источник для файлов и целевой объект для них.

Вы можете взять объекты в Component Gallery и бросить их в дизайнер форм. Кроме того, вы можете взять файлы из Component Gallery и бросить их на Project Manager.

В тоже время, файлы могут быть перетащены и в саму Component Gallery.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Поддержка OLE Drag-and-Drop в Run-Time

Прочие ресурсы

Межвзаимодействие и Internet

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Run-Time OLE Drag-and-Drop Support

Visual FoxPro 9.0
Поддержка операций OLE Drag-and-Drop в Run-Time
Смотрите также
CollapseAll image

Поддержка операций OLE drag-and-drop доступна в run time для элементов управления Visual FoxPro и текстового редактора. Элементы управления и текстовый редактор поддерживают OLE drag-and-drop в run time интерактивно, а элементы управления предоставляют программную поддержку. Объект DataObject предоставляет для элементов управления программную поддержку операций OLE drag-and-drop.

Для элементов управления Visual FoxPro доступны два режима OLE drag-and-drop: внутренний режим и ручной режим. Во внутренним режиме Visual FoxPro внутренне обрабатывает операции OLE drag-and-drop. В ручном режиме операции OLE drag-and-drop обрабатываются программным путем. События, которые происходят, определяются режимом операций OLE drag-and-drop. Для получения более подробной информации, смотрите раздел, "Внутренний и ручной режимы OLE drag-and-drop."

Expand image Drag and Drop в предыдущих версиях Visual FoxPro

Предыдущие версии Visual FoxPro поддерживали программный drag-and-drop для элементов управления, предоставляя вам возможность перемещать элементы управления на форме. Этот вид drag and drop остается поддерживаемым. Если вы используете установки по умолчанию для свойств OLEDragMode и OLEDropMode, ваше конечное приложение будет запускаться как и раньше, без всяких изменений.

Expand image Объект DataObject

Объект DataObject представляет собой контейнер для данных, переносимых их источника OLE drag в целевой объект OLE drop, и существует только во время исполнения операции OLE drag-and-drop. Объект DataObject не может быть создан программным путем, а ссылка на него становится недействительной после завершения операции OLE drag-and-drop. DataObject посылается как параметр oDataObject в события OLEStartDrag, OLEDragOver, OLEDragDrop и OLESetData.

DataObject может хранить множественные наборы данных, каждый в своем формате. Присутствие конкретного формата в DataObject может быть определено с помощью метода GetFormat. Смотрите в описании метода GetFormat список поддерживаемых DataObject форматов.

Методы объекта DataObject Object

Объект DataObject имеет методы, которые позволяют вам программно управлять перетаскиваемыми данными. В приведенное ниже таблице перечислены методы, доступные в run time для DataObject.

Метод | Описание
ClearData | Очищает все данные и их форматы из объекта OLE drag-and-drop DataObject.
GetData | Извлекает данные из объекта OLE drag-and-drop DataObject.
GetFormat | Определяет - будут ли данные определенного формата доступны на объекте OLE drag-and-drop DataObject.
SetData | Помещает данные и их форматы в объект OLE drag-and-drop DataObject.
SetFormat | Помещает форматы данных, без самих данных в объект OLE drag-and-drop DataObject.

Expand image Смотрите также

Справочное руководство

Поддержка OLE Drag-and-Drop в Design-Time

Прочие ресурсы

Межвзаимодействие и Internet

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Implement Intrinsic and Manual OLE Drag-and-Drop Modes

Visual FoxPro 9.0
Как: Обеспечить поддержку Внутреннего или Управляемого режимов "OLE Drag-And-Drop"
См. также

Система Visual FoxPro поддерживает два режима для выполнения операций с Контролами (Элементами Управления) OLE Drag-And-Drop: 1) Внутренний (собственный) и 2) Управляемый (программный). В собственном режиме, операции "перетаскивания" (OLE drag-and-drop operations) контролируются самой системой Visual FoxPro. В ручном (управляемом ) режиме рассматриваемые операции осуществляются с помощью созданных вами программных процедур, функций и Контролов.

Собственный Режим для операций перетаскивания Элементов Управления ("OLE drag-and-drop")

Внутренний режим (Intrinsic Mode) для операций Перетаскивания может быть осуществлен в вашем Приложении для поддержки стандартных операций типа "OLE drag-and-drop" при взаимодействии вашего Приложения с внешними Приложениями без использования дополнительных программных методов и процедур.

Для обеспечения поддержки Внутреннего режима выполнения операций типа OLE drag-and-drop:

  1. Установите значение свойства OLEDragMode = 1 – (автоматически, обеспечивает стандартные процедуры для Источника рассматриваемой Операции).

  2. Установите значение свойства OLEDropMode = 1 – (включено, обеспечивает прием в месте назначения "перетаскиваемого" Контрола.

Для внутреннего режима выполнения операций перетаскивания (OLE drag-and-drop), система Visual FoxPro автоматически определяет формат, или возможность поддержки формата перетаскиваемого Объекта в месте назначения; если формат перетаскиваемого Объекта поддерживается, то указанная операция выполняется, в противном случае - операция перетаскивания не выполняется.

В следующей далее Таблице приводится Список стандартных Контролов Visual FoxPro и соответствующие им Форматы Данных, поддерживаемые для Внутреннего Режима операций Перетаскивания. Рекомендуется использовать константу CF_TEXT для Текстовых Объектов (TextBox), а константу: CFSTR_VFPSOURCEOBJECT вместе со сылкой на стандартный Контрол или Объект Visual FoxPro. Для Контролов, которые не поддерживают формат данных, определенный в CF_TEXT (имеют значение формата меньше чем значение данной константы), рекомендуется выполнять операции "перетаскивания" по-частям, отдельными фрагментами.

Форматы Контролов, как Источников для операций Перетаскивания
Контролы | Формат Объекта (определенный в файле: Foxpro.h)
Container, Image, Line, PageFrame, Shape | CFSTR_VFPSOURCEOBJECT
CommandButton, Label | CFSTR_VFPSOURCEOBJECT, CF_TEXT
CheckBox, ComboBox, EditBox, ListBox, Spinner, TextBox | CFSTR_VFPSOURCEOBJECT, CF_TEXT, CFSTR_OLEVARIANT

Контролы и Объекты системы Visual FoxPro, которые поддерживают Форматы данных в Месте Назначения при операциях Перетаскивания для Внутреннего режима (intrinsic mode) приводятся в следующей далее Таблице. Для указанных Контролов, вы можете перетаскивать выделенные фрагменты Текста из источника Данных. Перетаскиваемый фрагмент Текста вставляется в точку Перетаскивания (Места Назначения).

Форматы Контролов, как Мест Назначения при операциях Перетаскивания
Контролы | Формат Объекта
EditBox, ComboBox (если для ComboBox Style = 0 - (Dropdown Combo)) | CF_TEXT
Spinner, TextBox | CFSTR_OLEVARIANT

Ручной (управляемый) режим операций "OLE drag-and-drop"

Возможны случаи из практики, когда вам понадобится управлять по собственному желанию Контролами или Форматами перетаскиваемых Объектов, или обеспечить специфическую, дополнительную функциональносить для обрабатываемых Объектов. Например, вам требуется выполнить дополнительное Преобразование получаемых Данных при операции Перетаскивания, или необходимо уточнить у Пользователя выбираемый вариант преобразования данных, или уточнения некоторой характеристики. Для отмены стандартного Внутреннего режима выполнения операций перетаскивания (OLE drag-and-drop), или получения больших функциональных возможностей обработки форматов перетаскиваемых данных применяется режим Управляемой (контролируемой) операции Перетаскивания (Manual OLE Drag-And-Drop).

Для осуществления поддержки Управляемой операции OLE drag-and-drop:

  • Разработайте собственные программные кода для соответствующих Методов и Событий рассматриваемой операции Пекретаскивания Контролов или Объектов.

В ключите стандартную Команду NODEFAULT в указанные Методы и События, что обеспечит отключение выполнения Стандартных программных Кодов рассматриваемых Методов и Событий, осуществляющих Внутренний механизм поддержки операций Перетаскивания.

Система Visual FoxPro обеспечивает Обратную Совместимость (без поддержки операций типа: OLE drag); в этом случае для Контролов устанавливается значение свойства OLEDragMode = 0 (по-умолчанию), а разработчик не переопределяет основные программные коды Событий и Методов, используемых в операциях перетаскивания Данных (OLE drag-and-drop).

См. также

Описание

Поддержка в условиях "Run-Time" режимов "OLE Drag-and-Drop"
Поддержка в условиях "Design-Time" режимов "OLE Drag-and-Drop"
Операции типа "OLE Drag-and-Drop"

Другие ссылки

Функциональная Совместимость и Интернет

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Sharing Information and Adding OLE

Visual FoxPro 9.0
Разделение Информации и Использование OLE

С помощью системы Visual FoxPro вы можете эффективно использовать возможности других Приложений, обрабатывать разнообразную Информацию в режиме коллективного доступа. Вы имеете возможность Копировать и Вставлять разнообразные Данные между несколькими Приложениями, создавать автоматически обновляемые Письма для Клиентов при использовании Таблиц Visual FoxPro, подсоединение или внедрение графических объектовиз других Приложений, а также Импортирование или Экспортирование Данных в разных Форматах хранения. Используя коллективный доступ к информации, вы можете сберечь свое Время и избежать неожиданных Ошибок. Например, вместо того, чтобы выводить результаты из Таблицы Excel - в таблицу .DBF, вы можете указанные результаты сохранить в требуемом Формате, или выполнить присоединение данных из указанной Таблице с системе VFP.

Кроме того, вы можете значительно Расширить функциональные возможности ваших Приложений Visual FoxPro за счет использования самых сильных сорон внешних, автоматически подключаемых Приложений (Automation Server) или Контролов типа ActiveX. В ваших Формах или полях Таблиц типа General, вы можете эффективно использовать внешние Контролы или хранить специфические Данные, такие, как форматированный Текст, Музыкальные фрагменты, Графические Изображения, Видео-файлы, обрабатываемые другими внешними Приложениями. Вы можете просматривать или манипулировать указанными Объектами с помощью разнообразных Механизмов, предоставляемых Приложениями, в которых созданы эти Объекты; данные операции выполняются автоматически при помощи системного сервиса поддержки Automation.

Соответственно, и другие Приложения могут использовать мощный Функционал Visual FoxPro, как сервера Automation. Кроме того, вы можете создать специфические Серверы Automation (компоненты COM) в среде программирования Visual FoxPro, которые могут быть использованы как Локально, так и Удаленно.

В данном Параграфе

Динамическое разделение Информации

Рассматриваются вопросы, как с помощью системы Visual FoxPro, вы можете динамически использовать различные Данные из других Приложений, а также использовать функциональные возможности этих приложений по обслуживанию подсоединенных или внедренных (Linking / Embedding) Данных в вашем Приложении.

Работа с Объектами OLE

Описываются основные вопросы использования объектов OLE в ваших Приложениях.

Связанные Секции

Способность к Взаимодействию и Интернет

Описываются вопросы, как при помощи операций типа "OLE drag-and-drop" вы можете обмениваться разнообразными Объектами Данных между Базовыми Приложениями Операционной Системы Microsoft Windows и приложениями Visual FoxPro. Создание Документов для отображения их в Интернет, или использование одного из двух различных способов Visual FoxPro, компонент COM (Серверов Автоматизации) как обычных или многопроцессорных Приложений.

Разработка Приложений Visual FoxPro

Приводятся основополагающие моменты по разработке приложений Visual FoxPro, рассматриваются инструкции по созданию Баз Данных и Компонент Пользовательского Интерфейса, и решение других нетипичных Задач с помощью Приложений Visual FoxPro.

Операции типа "OLE Drag-and-Drop"

Рассматривается механизм "OLE drag-and-drop", как мощное и производительное Средство обмена Объектами Данных между различными Приложениями, которое поддерживается системой Visual FoxPro; это позволяет эффективно обмениваться Данными между Приложениями, которые поддерживают механизм "OLE drag-and-drop" (например, Visual FoxPro, Visual Basic, Microsoft Windows Explorer, Word and Excel, и аналогичные).

Программирование в системе Visual FoxPro

Рассматриваются вопросы использования всех функциональных возможностей системы программирования Visual FoxPro по созданию эффективных Приложений, в которых используются методы Объектно-Ориентированного Программирования, Событийная Модель взаимодействия Объектов, позволяющие значительно повысить скорость Разработки

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Dynamic Information Sharing

Visual FoxPro 9.0
Совместное использование динамической информации

Обычно вы можете включить небольшо количество данных копированием и вставкой их в ваши приложения. Однако, при определенных условиях, вместо этого вам может понадобиться связать или встроить данные из других приложений. Например, вы можете связать (link) или поместить (embed) документ Microsoft Word в поле General или разместить рабочий лист Microsoft Excel на форме.

Когда вы связываете данные, они хранятся в своем собственном исходном файле, а не в таблице или форме Visual FoxPro. Таблица или форма хранят только местонахождение источника и отображают представление связанных (linked) данных. Связанные данные обновляются, когда они изменяются в исходном файле и остаются в соединении с их исходным файлом, до тех пор, пока не разорвете это соединение, то есть, не уберете связь.

Note Замечание

Файлы с расширение .avi всегда связываются (linked).

Когда вы вставляете динамически меняющиеся данные, они хранятся только в вашей таблице или в форме. Эти данные теряют связь со своим исходным файлом. Если в исходном файле производились изменения, они не будут отражены в вашем приложении Visual FoxPro.

В этом разделе

Рассуждения для связывания или вставки данных

Описываются рассуждения для выбора между связыванием или вставкой данных.

Вставка гиперссылок

Описывается поддержка для разрешения и вставки гиперссылок.

Как: вставить данные в таблицы

Описывается, как вставить данные в поле типа General.

Как: изменить или разорвать связь к данным в таблицах

Описывается, как изменить связь к данным в поле с типом General.

Как: обобразить вставленные или связанные данные из таблиц

Описывается как отобразить данные из поля с типом General на форме или в отчете.

Как: отобразить вставленные или связанные данные на формах

Описывается как связать или отобразить данные из поля с типом General на форме.

Как: заместить связанные или вставленные данные статическими данными

Описывается, как заместить связанные или вставленные данные объектов самостоятельными картинками формата bitmaps.

Связанные разделы

Совместное использование информации и введение OLE

Объясняется, как использовать Visual FoxPro для совместного использования информации с другими приложениями.

Как: добавить OLE объекты в приложения

Описывается, как вы может добавить объекты OLE в таблицы или формы - интерактивно или программно.

OLE Drag-and-Drop

Описываются операции OLE drag-and-drop, мощный и полезный инструмент, поддерживаемый Visual FoxPro, что дает вам возможность перемещать данные между приложениями, которые поддерживают операции OLE drag-and-drop.

Импортирование и экспортирование данных

Объясняется, как можно копировать информацию между Visual FoxPro и прочими приложениеми, с помощью импортирования и экспортирования изVisual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Considerations for Linking or Embedding Data

Visual FoxPro 9.0
Соглашения по Связыванию (Linking) и Вложению (Embedding) внешних Данных
См. также
CollapseAll image

Рекомендуется поддерживаться следующим основным Принципам по связыванию и Вложению внешних Данных (Linking & Embending):

Связывание (Привязка ) внешних Данных:

  • Данные или Графические Объекты будут изменяться в дальнейшем.

  • Ваше Приложение должно использовать последние (новейшие) версии представленных внешних Данных.

  • Исходные файлы, содержащие необходимые данные, размещаются на вашем компьютере или доступны через Сеть.

  • Исходные файла должны быть доступны для коллективного использования (вашим и другими Приложениями).

Вложение Данных или графических Объектов:

  • Вам не требуются новейшие (последние) версии исходных файлов, содержащих требуемые данные.

  • Эти данные используются только в одном вашем Приложении.

  • Привязанные исходные файлы не требуется изменять в процессе работы вашего Приложения.

  • Вы намереваетесь использовать достаточно большой внешний файл: Видео или Звук.

  • Вы намереваетесь использовать данный внешний файл Локально, только в текущем Приложении, эксклюзивно.

Expand image См. также

Задачи

Как: Добавить Данные в Таблицы

Концепции

Dynamic Information Sharing

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Embedding Hyperlinks

Visual FoxPro 9.0
Встраивание Гипер-Ссылок
См. также
CollapseAll image

Редактор системы Visual FoxPro поддерживает создание, встраивание и активацию ГиперСсылок (HyperLinks). Когда вы включаете в Текст верную ГиперСсылку, система Visual FoxPro определяет все необходимые характеристики для создаваемой ГиперСсылки.

Если ГиперСсылка активируется в соответствующем диалоговом боксе Options или с помощью определения свойства EditorOptions, то данная ГиперСсылка отображается в стандартном виде (голубым цветом, с подчеркиванием), как принято для стандартных файлов типа .HTML. Завершающим символом ГиперСсылки принято считать - Пробел, поэтому, если вам требуется использовать в тексте Ссылки указанный символ - замените данные символы на общепринятый шаблон = "%20". Например, следующий текст "http://servername/program files/my folder" должен записан в виде: "http://servername/program%20files/my%20folder".

По-умолчанию, при использовании комбинации "CTRL" + Клик мышки - выполняется Соединение с указанным удаленным Источником Данных, Web-Сервером. Значение свойства EditorOptions может быть переопределено на другой вариант выполнения Соединения, например: обычный Клик или Двойной Клик.

В следующем списке приводятся допустимые Протоколы, используемые в ГиперСсылках.

Протокол | Триггеры (Тэги) | Общая Синтаксическая Конструкция
File | File:/ | file:///cDrive/cPathcFile file:////cUNCPath
FTP | FTP:/ | ftp://[cUserName[:cPassword@]]cDomain
Gopher | Gopher:/ | gopher://cDomain
HTTP | HTTP:/, www.<char> | http://cDomain
HTTPS | HTTP:/ | https://cDomain
MailTo | MailTo: | mailto:cAddress[;cMoreAddresses][&cSubject] [&cBody] [&cCC][&cBCC]
News | News: | news:cNewsGroup
Telnet | Telnet:/ | telnet://cDomain[:iPort]

Expand image См. также

Концепции

Коллективное Использование Динамической Информации

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Insert Data in Tables

Visual FoxPro 9.0
Как: вставлять данные в таблицы
Смотрите также

Вы можете включить данные из других приложений в таблицу Visual FoxPro путем их вставки в поля General. Например, если у вас имеются фотограции продуктов, вы можете включить их в таблицу, содержащую прочую информацию о продукте путем вставки их в поле типа General. Если данные по количеству данных достаточно малы, вы моожете просто скопировать их (copy and paste) в поле General.

Для вставки данных в поле General

  1. Откройте для просмотра подходящую таблицу.

  2. Произведите двойной-щелчок по полю General, в которое вы желаете вставить данные.

  3. Из меню Edit выберите Insert Object.

    В диалоговом окне Insert Object появится список типов данных, которые вы можете вставить в поле.

    Note Совет

    Вы можете сохранить дисковое пространство при связывании или вставки данных с помощью щелчка по Display As Icon в диалоговом окне Paste Special. При таком выборе Visual FoxPro отобразит вместо данных иконку.

  4. Выберите одно из приведенного ниже:

    • Для создания ваших собстевнных данных, выберите Create New и затем выберите подходящий тип данных.

    - или -

    • Для использования существующих данных выберите Create from File. Затем, впечатайте имя имя, срдержащего данные, или щелкните по Browse и выберите подходящий файл. Если вы желаете сделать связь к файлу - выберите Link.

Для вклеивания данных из других приложений в поле General

  1. В другом приложение скопируйте данные в Clipboard.

  2. Откройте таблцу, содержащую поле General в окне browse.

  3. Произведите двойной-щелчок по полю General, в которое вы желаете вставить данные.

  4. Выберите одно из приведенного ниже:

    • Для вклеивания данных в меню Edit щелкните на Paste.

    - или -

    • Для связи с данными в меню Edit шелкните на Paste Special для открытия диалогового окна Paste Special и, затем, щелкните на Paste Link.

      Note Совет

      Вы можете сохранить дисковое пространство при связывании или вставки данных с помощью щелчка по Display As Icon в диалоговом окне Paste Special. При таком выборе Visual FoxPro отобразит вместо данных иконку.

Смотрите также

Концепции

Совместное использование динамически изменяющейся информации

Прочие ресурсы

Импортирование и экспортирование данных
Совместное использование информации и введение OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


How to: Change or Break Links to Data in Tables

Visual FoxPro 9.0
Как: Изменить или Разорвать Ссылку к данным в Таблице
См. также

После привизки некоторых данных к полю таблицы, вы можете изменить источник данных, или зименить тип привязки данных, или разорвать установленную связь. Для изменения источника данных, нужно либо указать другой источник, либо разорвать привязку к внешнему источнику данных OLE.

Для изменения привязки данных в полях типа General

  1. Откройте для просмотра соответствующую таблицу.

  2. Выполните "Double-click" на поле типа General , содержащем данные, ссылку на которые нужно изменить.

  3. Из меню Edit, выберите пункт Links. Отобразится соответствующий диалоговый бокс Links.

    Note Примечание

    Выберите опцию Automatic - для автоматического изменения данных в соответствующей источнику программе, или опцию Manual - для самостоятельного изменения данных.

  4. В диалоговом боксе Links, выберите Change Source.

    Появится дополнительный бокс Change Source.

  5. Определите новые данные, новый источник данных, и нажмите OK.

  6. В диалоговом боксе Links, нажмите Close - для завершения изменений.

Для разрыва привязки данных к полю типа General

  1. Откройте для просмотра соответствующую Таблицу.

  2. Выполните "Double-click" на поле типа General, содержащем данные, привязку к которым нужно разорвать.

  3. В меню Edit, выберите опцию Links.

  4. В аоявившемся диалоговом боксе Links, выберите опцию Break Link.

  5. Выполните Close.

Когда связь прервана, данные становится статическим (размещаются непосредственно в поле типа General).

См. также

Задачи

Как: Вставить данные в Таблицу

Концепции

Динамически изменяемая информация

Другие ссылки

Импорт и Экспорт Данных
Общая информация и добавление данных типа OLE

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Display Embedded or Linked Data on Forms

Visual FoxPro 9.0
Как: отобразить вложенные или связанные данные (Embedded/Linked Data) в формах
Смотрите также

Вы можете улучшить дизайн ваших форм с помощью связанных или вложенных данных, таких, как документы Microsoft Word и рабочие таблицы Microsoft Excel. Аналогичным образом вы можете улучшить отчеты с помощью отображения вложенных или связанных данных из полей типа General.

Для связывания или укладки данных в форму

  1. Создайте или откройте форму.

  2. В панели Form Controls выберите кнопку OLE Container Control и перетащите ее на формку, одновременно устанавливая размер элемента управления.

    В появившемся диалоговом окне Insert Object будут перечислены типы файлов, которые вы можете вложить или связать с элементом управления.

  3. Выберите одно из приведенного ниже:

    • Создайте новый файл, выбрав Create New.

      - или -

    • Используйте существующий файл, выбрав Create from File. Впечатайте имя файла, содержащего данные или щелкните по Browse в выберите подходящий файл. В дополнение к этому, если вы желаете связать привязаться к файлк, щелкните по Link.

Изменение или разрыв связей с данными на формах

Вы можете изменить или разорвать связи с данными, отображаемыми в форме с помощью использования команды Links в меню Edit.

Для изменения связи с данными на форме

  1. Откройте требуемую форму.

  2. Выберите объект, связь с данными которого вы желаете изменить.

  3. В меню Edit выберите Links.

  4. В диалоговом окне Links выберите Change Source.

  5. В диалоговом окне Change Source укажите новый источник данных и выберите OK.

  6. В диалоговом окне Links выберите Close для завершения изменения.

Для разрыва связи с данными на форме

  1. Откройте требуемую форму.

  2. Выберите объект, связь с данными которого вы желаете разорвать.

  3. В меню Edit выберите Links.

  4. В диалоговом окне Links выберите Break Link.

  5. Выберите Close.

Когда связь разорвана, данные становятся статическими.

Смотрите также

Задачи

Как: добавить в отчеты поля типа General
Как: изменить или разорвать связи с данными в таблицах
Как: отобразить вложенные или связанные данные из таблиц
Как: редактировать объекты OLE в формах и таблицах
Как: заменить связанные или вложенные данные статическими данными

Концепции

Совместное использование динамически изменяющейся информации

Прочие ресурсы

Работа с отчетами
Импортирование и экспортирование данных
Совместное использование информации и введение OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Replace Linked or Embedded Data with Static Data

Visual FoxPro 9.0
Как: Заменить привязанные или внедренные данные на постоянные
См. также

Вы можете заменить привязанные или внедренные данные (графику), которые используются в вашем приложении, на статические данные - постоянно хранящиеся в ваших базах данных.

Для замены присоединенных или внедренных данных на факитеские файлы графики

  1. Запустите приложение, которое создает требуемые вам графические данные (картинки).

  2. С помощью инструментария приложения скопируйте требуемый объект в буфер памяти (Clipboard).

    Например, если приложение имеет команду Copy Picture, используйте ее для выбранного объекта.

  3. В системном меню Edit (Visual FoxPro), выберите пункт Paste Special.

  4. В соответствующем диалоговом боксе Paste Special, выберите пункт Paste Option.

  5. Выберите опцию Picture (Metafile).

См. также

Задачи

Как: Редактировать объекты OLE в Формах и Таблицах
Как: Отобразить внедренные или привязанные данные в Таблицах
Как: Отобразить внедренные или привязанные данные в Формах

Концепции

Информация о динамическом разделении доступа

Другие ссылки

Импорт и Экспорт Данных
Информация общего доступа и Добавление объектов OLE

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Working with OLE Objects

Visual FoxPro 9.0
Работа с Объектами OLE

Вы можете значительно Усилить и Расширить функциональность ваших Приложений при использовании Элементов таких программ, как Microsoft Excel, Word, которые могут рассматриваться как внешние Объекты OLE.

В данном Разделе

Проектирование и Разработка приложений OLE

Рассматриваются вопросы Присоединения и Внедрения (Linking и Embedding) объектов OLE, которые усиливают функциональность и гибкость Приложений, например, при использовании Элементов Microsoft Word / Excel.

Как: Добавить Объект OLE в приложение VFP

Приводятся рекомендации по добавлению Объектов OLE в ваши Приложения.

Как: Редактировать Объекты OLE в Формах или в Таблицах

Приводятся рекомендации по Редактированию внедренных или присоединенных Объектов в формах VFP.

Как: Использовать Контролы ActiveX

Рассматриваются вопросы использования контролов ActiveX в Приложениях VFP. Контролы и Объекты ActiveX имеют унаследованную функциональность и премственные Свойства, События, Методы порождающих Объектов.

Управление Объектами с использованием OLE-Automation

Обсуждаются вопросы управления Объектами OLE или Контролами ActiveX, размещенными в соответствующих контейнерах OLE, при этом используются обычные методы программного Кода, используемые при управлении обычных (внутренних) Классов Visual FoxPro.

Описание

Дизайнер Таблиц (Visual FoxPro)

Приводятся ссылки на разделы, в которых рассматриваются ключевые вопросы использования Дизайнера Таблиц Visual FoxPro.

MODIFY GENERAL, команда

Описывается стандартная команда MODIFY GENERAL, которая открывает Окно Редактирования полей типа General текущей записи Таблицы.

APPEND GENERAL, команда

Описывается стандартная команда APPEND GENERAL, используемая для Импорта объектов OLE из соответствующих файлов, и размещения содержания указанных Объектов в полях типа General.

Связанные Секции

Динамическая информация коллективного доступа (Dynamic Information Sharing)

Рассматириваются ключевые вопросы присоединения к Приложениям Visual FoxPro внешних динамических, изменяемых Объектов, которые будут поддерживаться и в дальнейшем для поддержки процессов присоединения и внедрения (Linking и Embedding).

OLE Drag-and-Drop

Рассматриваются вопросы применения прогрессивной Технологии OLE drag-and-drop, которая поддерживается системой Visual FoxPro, и которая является мощным Инструментом создания взаимосвязей между различными Приложениями ОС Windows, поддерживающими OLE drag-and-drop.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Designing an OLE Application

Visual FoxPro 9.0
Проектирование Приложений OLE
См. Также

Открытые Приложения Automation и серверы Компонент COM могут работать как серверы Автоматизации (Automation Servers), или как Клиенты, использующие общедоступные Компоненты, или как /Приложения, выполняющие одновременно обе роли Сервер-Клиент. Некоторые компоненты данных приложений предоставляют услуги (объекты, их функциональность) другим активным Приложениям, или использовать в своей деятельности общедоступные Объекты других приложений.

Вы можете эффективно использовать разнообразный функционал установленных приложений, например: Microsoft Excel / Word. В тоже время, система Visual FoxPro также может выступать в качестве Сервера, предоставляющего услуги (свои функциональные возможности) другим активным приложениям, эффективно интегрироваться в комплексные программные Пакеты, например Microsoft Office, или другие Приложения, построенные на принципах Компонент COM.

Внедряемые в ваше Приложение объекты OLE, должны поддерживаться OLE-серверами, такими как объекты из Microsoft Excel / Word. Указанными объектами могут быть обычные текстовые Документы Word, или Таблицы Excel. В пользовательских Формах рассматриваемые внешние Объекты размещаются с помощью соответствующих Контролов или контейнеров OLE, данные объекты вы можете также разместить в полях типа General пользовательских таблиц, или отобразить их на формах с помощью контролов OLE Bound.

В разрабатываемых Приложениях Visual FoxPro технологии OLE и ActiveX могут быть использованы в разных вариантах. Сначала попытайтесь рассмотреть данные варианты внедрения этих технологий в ваше Приложение.

Связывание или Вложение объектов OLE (Linking or Embedding OLE Objects)

Внешние объекты OLE из других приложений Windows могут быть привязаны или внедрены в ваши Формы или Таблицы. Например, вы можете разместить некоторый документ Word в соответствующее поле типа General некоторой Таблицы, аналогичную операцию можно выполнить для внешней Рабочей книги Excel.

Различия между указанными вариантами Связывания или Внедрения заключается в физическом местоположении самого внешнего объекта. При Внедрении объект физически размещается в соответствующей Форме или Таблице, при Связывании - объект остается "физически внешним". Например, когда вы Внедряете рабочую книгу Excel в свою форму, данная форма содержит копию указанной рабочей книги. Однако, когда вы Связываете данный объект с Формой, в этой форме хранится только ссылка на внешний объект, сама Рабочая книга остается на своем прежнем месте.

Для обоих случаев, Связывания и Внедрения, непосредственные данные внешнего объекта сначала обрабатываются соответствующим Сервером, который предоставил данный объект.

В условиях Связывания - если изменяется объект-источник, то изменяются данные и в вашей Форме; в условиях Внедрения - данные автоматически не изменяются:

Связанные Данные обновляются и в Форме

LinkedDataFormUpdated screeenshot foxpro

Однако, Внедренные Объекты не являются абсолютно статичными, они также могут быть изменены, но уже интерактивным или программным способом, с помощью функциональности Visual FoxPro, но не автоматически, как для Связанных Объектов.

Использование Связанных или Несвязанных объектов OLE

Для пользовательских Форм или Отчетов вы можете создавать необходимые Контролы, основанные на связанных полях типа General из пользовательских Таблиц. В этом случае рекомендуется использовать соответствующий системный контрол bound OLE objects, который позволит вам отобразить внешний объект OLE посредством соответствующего поля типа General. Стандартный объект-контейнер OLE Bound control размещен в соответствующем Form Controls Toolbar. Кроме того, вы можете использовать внешний Несвязанный объект OLE, для этого используется соответствующий OLE Container control. Однако, несвязанные объекты OLE не поддерживаются для полей типа General.

См. также

Задачи

Как: Добавить объект OLE в разрабатываемое Приложение

Другие ссылки

Доступ к Информации и использование объектов OLE

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Add OLE Objects to Applications

Visual FoxPro 9.0
Как: добавить OLE объекты в приложения
Смотрите также

Вы можете добавлять OLE объекты таблицы, формы и отчеты. Для получения более подробной информации о добавлении OLE объектов в отчеты смотрите описание задачи Как: добавить в отчеты поля типа General.

Добавление OLE объектов в таблицы

Вы можете включить в таблицу документы Word с помощью создания полей General и добавлением документов либо путем связки, либо путем встраивания.

Для добавления OLE объекта в таблицу

  1. Откройте таблицу в Table Designer (Конструкторе таблиц).

  2. В Table Designer (Конструкторе таблиц), создайте поле General.

  3. Откройте таблицу для просмотра в окне Browse.

  4. Выполните двойной щелчок на поле General для того, чтобы открыть окно редактирования.

    Note Совет

    Вы можете, кроме того использовать команду MODIFY GENERAL.

  5. В меню Edit щелкните поInsert Object.

Для программного добавления OLE объекта в таблицу

  • Используйте команду APPEND GENERAL.

Для получения более подробной информации смотрите описание команды APPEND GENERAL.

Вы можете использовать APPEND GENERAL для включения объектов OLE или ссылок на OLE объекты, созданные такими приложениями, как Microsoft Excel и Word. Эти приложения поддерживают как ссылки (linking), так и включения (embedding). Однако, некоторые приложения, такие как Microsoft Graph поддерживают только включение (embedding). Когда вы используете команду APPEND GENERAL, вы можете импортировать OLE объект из файла или вставить его в поле типа General. Если поле уже содержит включенный объект, то он будет замещен новым.

Note Замечание

В отличие от APPEND и APPEND BLANK, APPEND GENERAL не добавляет в таблицу новую запись.

Например, предположим, что у вас имеются файлы Microsoft Word, которые вы желаете сохранить в таблице Visual FoxPro. Если у таблицы имеется поле General с именем WordDoc, вы можете вложить документ с помощью приведенного ниже программного кода:

CopyCode image Скопировать код
CREATE TABLE oletable (name c(24), worddoc g)
CD GETDIR()

nFiles = ADIR(aWordFiles, "*.doc")
IF nFiles > 0
   FOR i = 1 to nFiles
      APPEND BLANK
      REPLACE Oletable.Name WITH aWordFiles(i,1)
      APPEND GENERAL WordDoc FROM aWordFiles(i,1)
   ENDFOR
ELSE
   MESSAGEBOX("No Word files found.")
ENDIF
Note Замечание

Рассмотренный пример собирает только те файлы, которые имеют расширение .doc, используемое по умолчанию файлами Word. Поскольку Microsoft Word и OLE ожидают такого расширения, то файлы автоматически ассоциируются с сервером Word, когда вы используете APPEND GENERAL.

Если вы используете другое расширение, отличающееся от ожидаемого сервером, вы должны объявить класс сервера, используя опцию CLASS. Например, если вы добавите класс для Word в рассмотренном примере, то код видоизменится к приведенному ниже виду:

CopyCode image Скопировать код
APPEND GENERAL WordDoc FROM wordfiles(i,1) CLASS "Word.Document"

Если у вас имеются файлы с широко употребляемыми расширениями (например, .bmp), тогда должны использоваться другие серверы и вы можете использовать опцию CLASS для указания конкретного сервера, который вы желаете использоваться для этих файлов. В качестве альтернативы, если вы используете ссылочные объекты вместо вложенны, то используйте ключевое слово LINK так, как показано в следующем примере:

CopyCode image Скопировать код
APPEND GENERAL WordDoc FROM wordfiles(i,1) LINK CLASS "Word.Document"

В дополнение к сказанному, вы можете замещать данные в объекте, используя ключевое слово DATA команды APPEND GENERAL.

Добавление OLE объектов в формы

Используя Form Designer (Конструктор формы), вы можете добавлять в форму вставляемые OLE объекты с помощью элемента управления OLE Container. В дополнение к этому, вы можете отображать OLE объекты из полей типа General, используя элемент управления OLE Bound. Когда вы добавляете в форму OLE объект либо с помощью OLE Container, либо с помощью OLE Bound, у вас имеется больше возможностей управления над открытием и редактированием объекта.

Вы можете определить, будет ли OLE объект открыт или он будет редактироваться при получении им фокуса или в случае, когда пользователь будет производить на нем двойной щелчок, установкой свойства AutoActivate элементов управления OLE bound или OLE container. Свойство AutoVerbMenu указывает, будет ли контекстное меню элемента управления позволять пользователю открывать или редактировать OLE объект. Для управления доступом, который определяет, что объект OLE может быть только открыт или изменено программно с помощью метода DoVerb, установите свойство AutoActivate в 0 - Manual и AutoVerbMenu в false (.F.).

Для того, чтобы добавить OLE объект в форму

  1. В Form Designer (Конструкторе форм), добавьте в вашу форму элемент управления OLE Container. Откроется диалоговое окно Insert Object (Вставить объект).

  2. В этом диалоговом окне выберите либо Create New (Создать новый) или Create from File (Создать из файла).

  3. ВЫберите подходящий вам OLE объект из списка Object Type (Тип объекта).

Вы можете, кроме того, настроить полоску инструментов Form Controls (Элементы управления форм) так, чтобы вы смогли непосредственно добавлять в форму конкретные OLE объекты.

Для того, чтобы добавить OLE объекты в полоску инструментов Form Controls (Элементы управления формы)

  1. Из меню Tools (Инструменты) выберите Options (Параметры).

  2. На закладке Controls (Элементы управления) диалогового окна Options (Параметры) выберите ActiveX controls (Элементы управления ActiveX).

  3. В списке Selected, выберите OLE объекты и элементы управления ActiveX, которые вы желаете иметь в полоске инструментов Form Controls (Элементы управления формы).

  4. Щелкните по кнопке Set as Default (Установить по умолчанию), а затем щелкните по кнопке OK (Сделано).

  5. В полоске инструментов Form Controls (Элементы управления формы) выберите View Classes (Обзор классов), и затем выберите ActiveX Controls (Элементы управления ActiveX).

Для отображения OLE объекта из поля типа General

  1. В конструкторе формы добавьте в вашу форму OLE Bound control.

  2. Укажите поле типа General, которое содержит данные с помощью установки свойства ControlSource объекта.

    Например, если имеется таблица с именем Inventory и поле типа General с именем Current, тогда установите свойство ControlSource в значение Inventory.Current.

Вы можете, кроме того, отобразить OLE объект из поля типа General программным способом:

Код | Комментарии
frm1 = CREATEOBJECT("form") | Создаем форму.
frm1.ADDOBJECT("olb1", "oleboundcontrol") | Добавляем элемент управления.
frm1.olb1.ControlSource = "Inventory.Current" | Привязываем данные к элементу управления.
frm1.olb1.Visible = .T. frm1.Visible = .T. | Обеспечиваем видимость формы и элемента управления.

Смотрите также

Задачи

Как: редактировать OLE объекты в формах и таблицах

Прочие ресурсы

Работа с OLE объектами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Edit OLE Objects in Forms and Tables

Visual FoxPro 9.0
Как: Редактировать Объекты OLE в Формах или Таблицах (.dbf)
См. также

При Разработке или Выполнении Приложения вы можете добавить требуемый внешний Объект OLE в пользовательскую Форму или Таблицу, который может быть изменен или переустановлены его некоторые Свойства (параметры).

Note Обратите Внимание

Вы не можете Изменять данные в объекте OLE, который помещен в Контрол типа OLE Bound, когда выполняется режим Design-Time.

Некоторые внедряемые объекты OLE поддерживают режимы Редактирования "по-месту", то есть там, где они размещены; следовательно, вы можете изменить требуемые данных этого объекта OLE непосредственно ву рабочем Окне (или Форме) вашего Приложения. Например, если вы выполните операцию "double-click" для объекта Microsoft Excel WorkSheet, который помещен в Поле Таблицы типа General, в этом случае активируются соответствующие Меню и Инструментарий внешнего Приложения Microsoft Excel, размещаемые в вашем Окне. Конечный пользователь вашего Приложения сможет внести требуемые изменения в объект OLE не выходя из Приложения. При этом, основные пункты системного Меню Visual FoxPro (File, Program, Window) остаются Активными.

Note Примечание

Только внедренные (Еmbedded) объекты OLE могут изменяться в режиме "по-месту"; это не относится к подсоединенным Объектам (Linked objects).

Если вы создаете Заголовок Меню, который должен оставаться активным при Редактировании объекта OLE, вам необходимо включить переключатель Negotiate (Согласован) для данного раздела Меню, что выполняется в диалоговом боксе Prompt Options соответствующего Дизайнера Меню. Смотрите дополнительно: Разработка Меню и Инструментария Toolbar, или описание секции NEGOTIATE в стандартной команде DEFINE PAD.

Другим вариантом Редактирования требуемого Объекта OLE является: открыть соответствующий сервер автоматизации (Automation server) во внешнем окне, внести требуемые изменения в объект, вернуться в ваше Приложение, перезагрузить обновленные данные в Форму или Таблицу (где был изначально внедрен рассматриваемый Объект).

Для Изменения данных, помещенных в Поле типа General Таблицы (.dbf) :

  1. Откройте необходимую Таблицу в системном окне Browse.

  2. Выполните операцию "Double-click" для поля типа General, содержание которого нужно изменить.

    Активируется дополнительное системное Окно редактирования поля типа General.

  3. В окне Редактирования выполните повторно операцию "double-click" - для активации сервера Автоматизации.

Для Изменения внедренного или подсоединенного объекта OLE, размещенного на пользовательской Форме, в режиме Design-Time:

  1. Выберите Объект с требуемыми Данными.

  2. Выполните операцию "Right-Click" для данного Объекта.

  3. Из соответствующего Контекстного Меню выберите тип Объекта и требуемое действие: Edit or Open (Открытие или Изменение).

Для Изменения содержания Объекта из поля типа General, помещенного в пользовательскую Форму: (форма выполняется)

  1. Из системного меню Edit, выберите требуемый Объект.

    Например, если Объектом является: Microsoft Excel WorkSheet, выберите тип Spreadsheet Object из меню Edit.

    Note Совет

    Вы можете также выполнить операцию "Right-Click" для данного Объекта, ( при условии, что выполняется: AutoVerbMenu = True. Из контекстного Меню определяете тип Объекта и операцию Edit or Open (Открыть или Изменить).

  2. Для активации режима Редактирования "по-месту" - выберите Edit (Изменить).

    -или-

    Для активации режима Редактирования во внешнем, независимом Окне - выберите Open (Открыть).

    Caution note Предупреждение, обратите внимание

    Если вы изменяете данные Объекта OLE в выполняемой пользовательской Форме, Visual FoxPro сохраняет сделанные изменения только для подсоединенных (Linked) или ассоциированных с помощью Класса OLE Bound Control пользовательских объектов. Изменения для объектов, которые создаются Контейнерами (OLE Container) - не сохраняются.

См. также

Задачи

Как: Добавить Объекты OLE в Приложение (VFP)

Другие ссылки

Использование Объектов типа OLE

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Use ActiveX Controls

Visual FoxPro 9.0
Как: использовать ActiveX
Смотрите также

ActiveX элементы представляют собой объекты с инкапсюлированной функциональностью и открытыми свойствами, событияи и методами. Элементы ActiveX предоставляют широкий спектр функциональности, которая может быть легко использована. Элементы ActiveX, поставляемые с Visual FoxPro включают в себя:

  • Управляющие элементы Windows, такие как RichText и TreeView.

  • Системные управляющие элементы, такие как элементы Communications и MAPI.

Элементы ActiveX являются гибкими элементами, вследствие чего вы можете субклассировать их, для создания других управлющих элементов и вы можете управлять ими, используя события, методы и свойства, ассоциированные с ними. Вы не можете создавать элементы ActiveX с помощью Visual FoxPro; однако, вы можете создать их, используя Microsoft OLE Custom Control Developer's Kit, поставляемый с Microsoft Visual C++® 4.0 и с Microsoft Visual Basic® Control Creation Edition 5-й версии.

Для получения более подробной информации о доступе к элементам ActiveX, смотрите описание see расширение Visual FoxPro с помощью внешних билиотек. Для получения более подробной информации о создании элементов ActiveX, характерных для Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Введение элементов ActiveX в форму

Элементы ActiveX в Visual FoxPro должны быть заключены в элемент OLE Container (базовым классом которого является OLEControl). Когда вы добавляете OLE Container в форму, вы можете выбрать элемент ActiveX, который вы желаете ввести в форму.

Для введения элемента ActiveX в форму

  1. В панели Form Controls, выберите OLE Container Control и перетащите его в форму.

  2. В диалоговом блоке Insert Object, выберите Insert Control.

  3. В списке Control Type, выберите желаемый элемент ActiveX.

  4. Щелкните на OK.

Если ActiveX поддерживает простую привязку данных, Visual FoxPro откроет свойство ControlSource для выбранного элемента. Все, что вам нужно сделать, заключается в устновке свойства ControlSource на поле таблицы и значение, которое будет отображать ActiveX отразит значение в связанном с ним поле. Изменения значения, сделанные в элементе ActiveX, будут сохраняться в поле.

Для примеров использования элементов ActiveX, запустите приложение Solution.app, расположенное в Visual FoxPro ...\Samples\Solution каталоге.

Замечание Замечание

Для гарантии, что все события элемента ActiveX обрабатываются, установите свойство AutoYield объекта приложения Visual FoxPro в значение (.F.).

Смотрите также

Задачи

Как: ввести OLE объекты в приложения

Справочное руководство

OLE Container Control
Диалоговый блок "Insert Object"

Прочие ресурсы

Совместное использование информации и введение OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Manipulating Objects with Automation

Visual FoxPro 9.0
Управление объектами с автоматизацией
Смотрите также

С OLE объектами в ваших формах или программах, или с компонентами ActiveX внутри элементов OLE Container можно обращаться посредством программного кода тем же самым образом, как будто бы вы программируете родные объекты Visual FoxPro.

Управление внешними свойствами объекта (несвойственными VFP)

В программном коде вы можете управлять объектом используя его свойства. Способ, при помощьи которого вы обращаетесь к свойству, зависит от статуса объекта - или он является объектом сам по себе, или является частью контейнера, такого как OLE Container control или OLE Bound control.

Note Замечание

ActiveX компоненты всегда являются частью OLE Container control.

Объект в контейнере имеет две части: сам объект и контейнер, в котором он размещен. Оба, и объект, и контейнер имеют свойства и, иногда, они могут иметь одинаковые имена свойств. Для гарантированного обращения к свойствам объекта, всегда добавляйте свойство контейнера Object к имени свойства. Например, приведенный ниже код обращается к свойству Left объекта:

CopyCode image Copy Code
frm1.olecontrol1.Object.Left = 25  && Значение Left объекта

Если же вы опустите свойство Object контейнера, то вы будете ссылаться вместо свойства Left объекта, на одноименное свойство контейнера:

CopyCode image Copy Code
frm1.olecontrol1.Left= 25  && Значение Left контейнера

Например, предположим, что у вас есть приложение, которое посылает электронную почту, когда пользователь щелкает на командной кнопке, отвечающей за создание документа сообщения - "compose". Если вы добавили компонент Microsoft MAPI message в форму и обозвали его как olecontrol1, то код, ассоциированный с событием Click командной кноки должен выглядеть так, как это показано ниже:

CopyCode image Copy Code
THISFORM.olecontrol1.Object.Compose
THISFORM.olecontrol1.Object.Send(.T.)

Дополнительно к использованию свойства Object, для ссылки на объект, содержащейся в контейнере, вы можете использовать другие свойства этого объекта. Например, вы можете ссылкаться на свойство OLEClass (read-only) для идентификации типа объекта в контейнере и свойство Sizable для предотвращения изменения размера объекта пользователем. Для получения более подробной информации о свойствах элемента container control смотрите OLE Container Control.

В дизайнерах форм и классов, свойства компонентов ActiveX отображаются в окне Properties Visual FoxPro, но большинство ActiveX могут иметь свой собственный интерфейс для установки общих свойств. Вы можете увидеть этот интерфейс путем выбора опции Properties специфичные для конкретного объекта из контекстного меню компонента ActiveX. Например, для того, чтобы открыть диалоговый блок Properties для элемента rich text control, выберите Microsoft RichText Control Properties из контекстного меню.

Использование внешних методов объекта

В дополнение к установке и вызову свойств объектов, вы можете управлять объектом используя поддерживаемые им методы. Например, вы можете использовать метод Add объекта коллекции Microsoft Excel для создания новой рабочей книги Microsoft Excel.

Приведенный ниже пример автоматизации использует метод Add для создания рабочей книги Excel, метод Save для ее сохранения и метод Quit для завершения работы с Excel:

Программный код | Комментарии
oleApp = CREATEOBJECT("Excel.Application") | Запускает Excel.
OleApp.Visible=.T. | Отображает Excel.
OleApp.Workbooks.Add | Создает рабочую книгу.
OleApp.Cells(1,1).Value=7 | Устанавливает значение для ячейки.
OleApp.ActiveWorkbook.SaveAs("C:\TEMP.XLS") | Сохраняет рабочую книгу.
OleApp.Quit | Завершает работу и выходит из Excel.

Если вы создаете объект, используя OLE Container control или OLE Bound control, вы можете использовать метод DoVerb компонента для исполнения команды на этом объекте. Например, используйте DoVerb(0) для исполнения дефолтного метода, DoVerb(– 1) для активизации объекта для визуального редактирования, и DoVerb(– 2) для открытия объекта в отдельном окне.

Note Замечание

Смотрите документацию приложения для определения команд, поддерживаемых автоматизацией (Automation). Например, компоненты Microsoft Excel add-in не доступны для автоматизации.

Установка времен завершения

Когда вы направляете запрос объекту OLE его обрабатывает сервер автоматизации. У вас нет больших возможностей по установке контроля над серверной обработкой, но вы можете указать - как долго вы будете ожидать окончания процесса путем установки свойств OLERequestPendingTimeout и OLEServerBusyTimeout. Вы можете определить, что происходит, когда время ожидания заканчивается путем установки свойства OLEServerBusyRaiseError.

Доступ к коллекциям объектов

Тип объекта может представлять либо единичный объект или коллекцию связанных объектов. Например, объект Microsoft Excel Workbook представляет собой единичную рабочую книгу, тогда как объект Workbooks представляет собой все рабочие книги, загруженные в данный момент времени. Так как объект Workbooks представляет собой коллекцию объектов, он называется объектом "коллекция".

В программном коде, коллекция представляет собой неупорядоченный список, в котором позиция объекта может изменяться всякий раз при добавлении или удалении объектов в/из коллекции. Вы можете получить доступ к объекту коллекции путем многократного прохода по коллекции, с помощью свойства коллекции Count. Свойство Count возвращает число элементов в коллекции (items). Вы можете, кроме того, использовать дефолтный метод Item для получения доступа к конкретному элементу коллекции.

Например, для отображения имен рабочих листов в рабочей книге Microsoft Excel используйте приведенный ниже программный код:

CopyCode image Copy Code
oleApp = CREATEOBJECT("Excel.Application")
oleApp.Workbooks.Add
FOR EACH x IN oleApp.Workbooks
 ? x.Name
ENDFOR

Вы можете получить доступ к коллекциям, содержащимся внутри коллекций. Например, вы можете получить доступ к коллекции ячеек внутри диапазона, используя программный код, приведенный ниже:

CopyCode image Copy Code
oleApp = CREATEOBJECT("Excel.sheet")
oleApp.Workbooks.Add
oleApp.Range(oleApp.Cells(1,1),oleApp.Cells(10,10)).Value=100
oleApp.Visible=.T.

Использование массивов объектов

Вы можете направить массов в методы и вы можете получить его обратно. Однако, вы должны послать массив по ссылке, дополнив имя массива знаком @.

Например, для посылки массива Visual FoxPro в Microsoft Excel имейте в виду приведенный ниже код. Он создает массив в Visual FoxPro, присваивает элементам массива некоторые значения, запускает Microsoft Excel, создает рабочую книгу, устанавливает значение первой ячейки рабочего листа и затем копирует это значение в другие листа в массиве:

CopyCode image Copy Code
DIMENSION aV(3)
aV(1) = "Sheet1"
aV(2) = "Sheet2"
aV(3) = "Sheet3"
oleApp=CREATEOBJECT("Excel.Application")
oleApp.Workbooks.Add
oleI=oleApp.Workbooks.Item(1)
oleI.Sheets.Item(1).Cells(1,1).Value = 83
oleI.Sheets(@aV).;
 FillAcrossSheets(oleI.Worksheets("Sheet1").Cells(1,1))

oleApp.Visible = .T.

Или, в качестве альтернативы, приведенный ниже пример возвращает массив в Visual FoxPro с последующим отображением содержания массива:

CopyCode image Copy Code
oleApp = CREATEOBJECT("Excel.Application")
aOleArray = oleApp.GetCustomListContents(3)
FOR nIndex = 1 to ALEN(aOleArray)
   ? aOleArray(nIndex)
ENDFOR
Note Замечания

С Visual FoxPro, вы не можете послать массив, более чем двумерный объектам OLE. Для получения более подробной информации о работе с массива в Visual FoxPro, смотрите Arrays и Object and Member Arrays.

Освобождение (удаление) внешних объектов

Сервер автоматизации автоматически освобождает объекты, если они не видимы или если не имеется переменных в текущей области видимости, содержащих ссылки на объект. Вы можете использовать команду RELEASE для удаления переменных, связанных с объектом. Если сервер автоматизации визуально наблюдает, используйте метод Quit для его удаления.

Смотрите также

Задачи

Как: Добавить OLE объекты в приложения

Справочное руководство

OLE Container Control
OLE Bound Control
Object свойство (Visual FoxPro)

Прочие ресурсы

Общее использование информации и введение OLE

Перевод выполнен JS Footer image
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Optimizing Applications

Visual FoxPro 9.0
Оптимизация Приложений

Когда Вы изпользуете систему Visual FoxPro для разработки и выполнения приложений, возникает желание по наиболее эффективному использованию возможностей Операционной системы, инструментария Visual FoxPro, а также вашей программной компоненты.

В данном Разделе

Оптимизация Таблиц и Индексов

Описывается, как вы можете ускорить доступ к данным в таблицах при помощи эффективных индексов; полнофункционально использовать различные режимы буфферизации данных. Дополнительно, Вы можете использовать технологию Rushmore для оптимизации Запросов при выборке данных из баз данных.

Использование технологии Rushmore для оптимизации Запросов, для ускорения выборки данных

Описывается, как активировать технологию Rushmore при выполнении доступа к данным; повышать производительность ваших приложений.

Оптимизация Форм и элементов управления (Контролов)

Объясняется, как Вы можете улучшить взаимодействие элементов управления в Формах вашего приложения.

Оптимизация Программных модулей

Обсуждается, как тщательно создавать программные модули, которые выполняются наиболее эффективно в конкретных ситуациях.

Оптимизация контролов ActiveX

Объясняется, как использовать в ваших приложениях объекты Automation и компоненты Microsoft ActiveX; как нужно тонко настраивать данные внешние объекты ActiveX и Automation для повышения быстродействия приложений, содержащих эти элементы.

Оптимизация доступа к удаленным данным

Обсуждается, как ускорить загрузку данных из удаленных источников, внешних Баз Данных.

Оптимизация интернациональных приложений

Объясняется, как управлять настройками системы при разработке интернациональных приложений, используемых при различных условиях, в различных национальных средах.

Дополнительные Секции

Программирование в Visual FoxPro

Обсуждается, как эффективно использовать технику объектно-ориентированного программирования и событийную модель взаимодействия объектов при разработке ваших Приложений.

Работа с программами

Объясняется, как эффективно работать с программными модулями, файлами (.prg), а также другими текстовыми файлами, содержащими различные языковые инструкции системы Visual FoxPro, как строить эффективные программные модули.

Объектно-ориентированное программирование

Описывается, как создавать замкнутые программные компоненты на основе принципов объектно-ориентированного программирования, которые эффективно выполняют свои функциональные задачи, легко перестраиваются и настраиваются, могут многократно использоваться в различных приложениях.

Подключение функций API

Объясняется, как расширить функциональные возможности системы Visual FoxPro при использовании внешних библиотек, механизма API, таких как Microsoft® ActiveX® компонент или динамических библиотек (DLLs) других производителей.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Optimizing Tables and Indexes

Visual FoxPro 9.0
Оптимизация таблиц и индексов
См. также

Вы можете ускорить доступ к данным таблиц, если будете рационально использовать индексы и буферизацию. Кроме того, можете использовать технологию Rushmore Query Optimization для оптимизации ваших запросов.

Использование индексов

Для того, чтобы ускорять доступ к данным в таблице, используйте индекс. Добавление индекса к таблице ускоряет поиск данных в ней, особенно при искусном применении технологии Rushmore для оптимизации этого поиска. Кроме того, индексирование позволяет Вам, чтобы работать с данными, отсортированными в нужном порядке; например, при просмотре можно отсортировать таблицу покупателей по фамилии.

Если записи в таблице содержат уникальные ключи, то создайте для ключевого поля первичный индекс или индекс-кандидат. Эти типы индексов позволяют Visual FoxPro проверять правильность ключей на низком уровне (без программирования), что обеспечивает наибольшую производительность.

Дополнительно к индексированию полей, используемых для поиска и сортировки, вы должны проиндексировать поля, включенные в операцию объединения (join) таблиц. Если вы объединяете две таблицы с помощью неиндексированных полей, то такая операция может потребовать на свое выполнение в сотни раз больше времени.

Важной особенностью Visual FoxPro является возможность создания индекса по любому выражению. (В некоторых системах управления базами данных допускаются индексы только по полям). Эта возможность позволяет вам применять индексы для оптимизации поиска, сортировки и операций объединения, используя комбинации полей или формируя из полей выражения. Например, вы можете индексировать поле Имени, базирующееся на выражении, использующем функцию SOUNDEX( ). Таким способом ваше приложение может обеспечить быстрый доступ к именам, которые звучат одинаково.

При дополнении индексов в таблицы, вы должны поддерживать баланс между выгодой, которую вы получите во времени поиска, и неизбежными потерями, которые возникнут при обновлении проиндексированных таблиц. Как только вы добавите индексы к своим таблицам, тотчас же операции обновления и вставки записей в таблицы начнут выполняться медленнее по той причине, что Visual FoxPro вынужден будет обновлять каждый индекс.

И наконец, избегайте использовать индексирование по полям, которые содержат только ограниченное число дискретных значений, например,по логическим полям. В этом случае, индекс будет содержать мало данных, и, вероятно,накладные расходы по поддержанию индекса перевесят ту пользу, которую вы получите от такого индекса при поиске.

Относительно деталей эффективного индексирования при использовании технологии Rushmore вы можете обратиться к разделу Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Оптимизация операций объединения (Joins)

При создании объединений с помощью команды SELECT - SQL следующие ситуации могут снизить производительность и привести к непредсказуемым результатам:

  • При объединении таблиц, у одной из них отсутствует первичный или уникальный ключ.

  • Объединяемые таблицы содержат незаполненные поля.

Для того, чтобы избежать этих ситуаций, создайте объединения, основанные на отношении между первичными ключами в одной таблице и внешними ключами в другой. Если Вы создаете объединение, основанное на данных, которые не являются уникальными, то конечный результат может может содержать все данные из обеих таблиц. Например, следующая команда SELECT - SQL создает объединение, результат которого может быть очень объемным:

Копировать код
SELECT *;
 FROM tastrade!customer INNER JOIN tastrade!orders ;
 ON Customer.postal_code = Orders.postal_code

В этом примере, почтовый код будет однозначно идентифицировать место расположения клиента в пределах города, но этого может оказаться недостаточно в том случае, если вы собираетесь сопоставить записи клиента с записями заказа. Почтовый код не однозначно идентифицирует клиента или заказ. Взамен этого создайте объединение следующей командой:

Копировать код
SELECT *;
 FROM tastrade!customer INNER JOIN tastrade!orders ;
 ON Customer.customer_id = Orders.customer_id

В этом примере, поле customer_id однозначно идентифицирует конкретного клиента и принадлежащие ему заказы и, следовательно, создает результирующий набор, который объединяет записи клиента с каждой записью заказа.

Кроме того, проявите осмотрительность при объединении таблиц с незаполненными полями, поскольку Visual FoxPro не может сравнить поля с неопределенными (null) значениями. При создании объединения проверяйте значения полей на их обязательную заполненность.

Например, если вы предполагаете, что поле customer_id в таблице Заказов может быть пустым, то примените следующую команду SELECT - SQL, которая отфильтрует записи с клиентами без номера:

Копировать код
SELECT *;
 FROM tastrade!customer INNER JOIN tastrade!orders ;
 ON Customer.customer_id = Orders.customer_id;
 WHERE tastrade!orders <> ""
Заметка:
Можно, также, проверить заполненность символьного поля с помощью функции EMPTY( ), но она работает медленней, чем операция сравнения с константой.

Использование менеджера проектов

При использовании менеджера проекта вы можете объединить неограниченное количество программ и процедур в одном .app или .exe файле. Это может существенно увеличить скорость выполнения программы по двум причинам.

Во-первых, Visual FoxPro открывает программный файл и оставляет его открытым. Позднее, когда вы дадите команду DO в программе, содержащейся в файле, Visual FoxPro не нужно будет снова открывать этот файл.

Во-вторых, приложение, состоящее только из одного или двух файлов, уменьшает количество файлов, хранящихся в рабочей папке. Скорость всех файловых операций возрастает, поскольку операционная система будет проверять меньшее количество элементов в папке при открытии, переименовании, или удалении файлов.

Более подробно о том, как использовать менеджер проектов для создания приложений, читайте в разделе Компиляция приложения.

Общие рекомендации по оптимизации таблиц и индексов

Для того, чтобы создавать самые быстрые таблицы и индексы, последуйте за нижеследующими рекомендациям.

  • Если не включена буферизация записей или таблиц, то применяйте команду INSERT - SQL вместо пары команд APPEND BLANK и REPLACE, что особенно важно для индексированных таблиц в многопользовательской среде, поскольку при этом индексы будут обновляться только один раз.

  • Если необходимо добавить много записей в индексированную таблицу, то быстрее будет сначала удалить индекс, затем добавить записи и после этого создать индекс заново.

  • По возможности, избегайте вызова функций в SQL-командах, особенно в тех, которые возвращают более одной записи. Дело в том, что такие команды должны повторно вычисляться для каждой записи (при этом функции каждый раз будут вызываться снова). Если Вы создаете команду SQL с переменными данными, то используйте выражения имени или макроподстановки вместо функции EVALUATE(). Пока что, лучшей стратегией является динамическое формирование всей команды SQL, а не только его отдельных предложений (clause). Подробнее об этом смотрите в разделах Использование макросов и Создание именованных выражений.

  • Как правило, если вы часто используете один и тот же индекс, то можете улучшить производительность приложения периодически сортируя таблицу по индексному выражению.

  • В многопользовательской среде применяйте файлы .cdx вместо файлов .idx, потому что обновление одного файла .cdx происходит быстрее, чем нескольких файлов .idx.

См. также

Ссылки

Оптимизация приложений
Оптимизация вашей системы
Использование оптимизации запросов Rushmore для ускорения доступа к данным

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Using Rushmore Query Optimization to Speed Data Access

Visual FoxPro 9.0
Использование оптимизации запросов Rushmore для ускорения доступа к данным
См. также

Для того, чтобы помочь вам оптимизировать производительность приложений, Visual FoxPro включает в себя технологию доступа к данным, называемую Оптимизация запросов Rushmore (Rushmore Query Optimization). Применяя технологию Rushmore, вы сможете выполнять определенные сложные табличные операции в сотни и даже тысячи раз быстрее, чем без нее.

Понимание технологии оптимизации запросов Rushmore

Технология оптимизации запросов Rushmore - это технический прием, который использует стандартные индексы Visual FoxPro для того, чтобы оптимизировать доступ к данным. Вы можете использовать Rushmore с любым индексом Visual FoxPro, включая индексы FoxPro 1.x (.idx), компактные (.idx) и составные индексы (.cdx).

Как .cdx- так и компактные .idx-индексы используют технический прием сжатия, при котором их размер становится равным одной шестой части несжатых индексов старого формата. Visual FoxPro может обработать сжатый индекс быстрее, поскольку требуется меньше времени на доступ к диску и большее число индексов будет буферизовано в памяти. Хотя оптимизация запросов Rushmore, подобно другим файловым методам доступа, извлекает преимущества из меньшего размера компактных индексов, она также хорошо работает и с индексами старых форматов.

Когда Visual FoxPro обрабатывает очень большие таблицы на компьютерах с самым минимальной объемом RAM, Rushmore не сможет работать из-за недостатка оперативной памяти. В этом случае, Visual FoxPro может отобразить предупреждающее сообщение "Not enough memory for optimization" ("Не достаточно памяти для оптимизации"). В этом случае, ваша программа хотя и будет функционировать правильно и без потери данных, но вы не получите пользы от оптимизации Rushmore при выполнении запросов.

В своей самой простой форме, Rushmore ускоряет выполнение одно-табличных команд, использующих предложения FOR (FOR clauses) для точного определения наборов записей с точки зрения существующих индексов. Кроме того, Rushmore может ускорять работу таких команд, как LOCATE и INDEX. Полный список оптимизируемых команд приведен в подразделе "Использование оптимизации запросов Rushmore при работе с таблицами".

SQL-команды Visual FoxPro используют Rushmore как основной инструмент оптимизации в многотабличном запросе, применяя для этого существующие индексы и даже создавая новые, специально созданные для этого случая (ad-hoc), индексы, что позволяет ускорить выполнение запроса.

Использование оптимизации запросов Rushmore при работе с таблицами

Используйте Rushmore для оптимизации доступа к данным в зависимости от количества затрагиваемых при этом таблиц. Если вы работаете с одиночными таблицами, то можете получить выигрыш от применения Rushmore везде, где фигурирует предложение FOR. Если вы работаете с множеством таблиц, то запросы SELECT - SQL заменяют собой всю оптимизацию Rushmore. В команде SQL Visual FoxPro сам решает, что необходимо оптимизировать запрос, и делает всю работу за вас. Вам не нужно открывать таблицы или индексы. Если SQL решит, что ему нужны индексы, то он создаст временные индексы для своего собственного использования.

При использования оптимизации запросов Rushmore

  1. Для доступа к данным из одиночных таблиц применяйте предложение FOR в таких командах как AVERAGE, BROWSE или LOCATE, или используйте для обновления таблиц команды SQL. Полный список команд, в которых применяется предложение FOR, указан в таблице, приведенной ниже.

    или

  2. Для доступа к данным из более чем одной таблицы, применяйте команды SELECT - SQL, DELETE - SQL, и UPDATE - SQL.

Следующая таблица содержит команды, которые используют предложение FOR. Rushmore сконструирован таким образом, что скорость его работы прямо пропорциональна количеству извлекаемых записей.

Потенциально оптимизируемые команды с предложением FOR

AVERAGE | BLANK
BROWSE | CALCULATE
CHANGE | COPY TO
COPY TO ARRAY | COUNT
DELETE | DISPLAY
EDIT | EXPORT TO
INDEX | JOIN WITH
LABEL | LIST
LOCATE | RECALL
REPLACE | REPLACE FROM ARRAY
REPORT | SCAN
SET DELETED | SET FILTER
SORT TO | SUM
TOTAL TO |

Если вы применяете в командах предложение scope (диапазон), то scope должна быть установлена в значения ALL (все) или REST (остальное), иначе от Rushmore не будет проку. Предложения NEXT (следующие) или RECORD (запись №...) блокируют Rushmore. Поэтому для большинства команд умалчиваемое значение scope всегда установлено в ALL и Rushmore будет работать когда вы пропускаете предложение scope.

Rushmore может использовать любые открытые индексы за исключением фильтрующих и UNIQUE (уникальных) индексов.

Замечание:
Для оптимального выполнения не устанавливайте порядок таблицы.

Создание индекса или тегов автоматически устанавливает порядок. Если Вы хотите получить от Rushmore максимальное преимущество при работе с большими наборами данных, которые должны быть определенным образом упорядочены, то выполните SET ORDER TO для того, чтобы отключить управление индексами, а затем выполните команду SORT.

Эффективная индексация для оптимизации запросов Rushmore

Rushmore не может воспользоваться всеми преимуществами индексов. Если вы применяете в команде INDEX предложение FOR, то Rushmore не сможет использовать этот индекс для оптимизации. Например, следующий оператор не может быть оптимизирован именно из-за использования в нем предложения FOR: INDEX ON ORDNUM FOR DISCOUNT > 10 TAG ORDDISC.

Кроме того, Rushmore не может использовать индекс, созданный с условием NOT. Например, это выражение может быть оптимизировано: INDEX ON DELETED() TAG DEL, а вот это - нет: INDEX ON NOT DELETED() TAG NOTDEL.

В том случае, когда вы хотите исключить из запроса удаленные записи, использование индекс, созданного в первом примере, ускорит операции, при условии, что вы установили SET DELETED в значение ON.

Работа без оптимизации запросов Rushmore

Операции поиска данных продолжаются без оптимизации Rushmore в следующих ситуациях:

  • Когда Rushmore не может оптимизировать выражения из предложения FOR в потенциально оптимизируемых командах.

  • Когда команда, которая может быть усилена применением Rushmore, содержит предложение WHILE.

  • Когда слишком мало памяти. Поиск данных продолжается, но без оптимизации.

Отключение оптимизации запросов Rushmore

Впрочем, иногда возникает необходимость в отключении Rushmore. Когда выполняется команда, оптимизированная по этой технологии, вначале определяется набор записей, отвечающих выражению предложения FOR. Только эти записи и будут обработаны командой.

Если потенциально оптимизируемая команда модифицирует индексный ключ в предложении FOR, то набор записей, с которым оперирует Rushmore, может стать неактуальным. Отключив Rushmore, вы гарантируете себе работу с самой свежей информацией из таблицы.

Чтобы отключить Rushmore для конкретной команды

  1. Примените предложение NOOPTIMIZE.

    Например, следующая команда LOCATE не оптимизируется:

    Копировать код
    LOCATE FOR DueDate < {^1998-01-01} NOOPTIMIZE

Вы можете глобально включить или отключить Rushmore для всех команд, получающих выгоду от Rushmore, можно командой SET OPTIMIZE.

Для глобального отключения Rushmore

  1. Воспользуйтесь следующим кодом:

    Копировать код
    SET OPTIMIZE OFF
Для глобального включения Rushmore

  1. Воспользуйтесь следующим кодом:

    Копировать код
    SET OPTIMIZE ON

По умолчанию оптимизация Rushmore установлена в ON.

Оптимизация выражений Rushmore

Технология Rushmore зависит от наличия в предложении FOR или в предложении SQL WHERE основного оптимизируемого выражения. Основное оптимизируемое выражение может составлять все выражение или его часть. А еще, вы можете скомбинировать основные выражения для того, чтобы сформировать составное оптимизируемое выражение.

Создание основных оптимизируемых выражений

Основное оптимизируемое выражение принимает одну из двух следующих форм:

Копировать код
 eIndex relOp eExp

или

Копировать код
 eExpr relOp eIndex

Основное оптимизируемое выражение имеет следующие характеристики:

  • eIndex точно соответствует выражению на котором был создан индекс.

  • eExpr это любое выражение, которое может включать переменные и поля из других не связанных таблиц.

  • relOp это один из следующих реляционных операторов: <, >, =, <=, >=, <>, #, ==, or !=. Можно также воспользоваться функциями ISNULL( ), BETWEEN( ) или INLIST( ) (или их SQL-эквивалентами, такими как IS NULL и т.п.).

Можно использовать функции BETWEEN( ) or INLIST( ) в следующих двух формах:

Копировать код
BETWEEN(eIndex, eExpr, eExpr)

или

Копировать код
INLIST(eIndex, eExpr [, eExpr, eExpr, ...])
Замечание:
Функции ISBLANK() и EMPTY() не оптимизируются Rushmore.

Если вы создаете индексы firstname, custno, UPPER(lastname) и hiredate, то каждое из следующих выражений будет оптимизируем:

Копировать код
firstname = "Fred"
custno >= 1000
UPPER(lastname) = "SMITH"
hiredate < {^1997-12-30}

Оптимизируемые выражения могут содержать переменные и функции, которые приводятся к определенному значению. Например, если используется индекс addr и вы дали команду STORE "WASHINGTON AVENUE" TO cVar, то следующие операторы так же являются основными оптимизируемыми выражениями:

Копировать код
ADDR = cVar
ADDR = SUBSTR(cVar,8,3)

Осмысление того, когда запросы могут быть оптимизированы

Важно понимать когда запросы будут оптимизированы и когда не будут. Visual FoxPro оптимизирует условия поиска, отыскивая точное совпадение между левой стороной выражения фильтра и индексным ключевым выражением. Следовательно, Rushmore может оптимизировать выражение только в том случае, если вы ведете поиск точно по такому же выражению, которое применено в индексе.

Например, представьте себе, что вы просто создали таблицу и добавляете первый индекс, используя следующую команду:

Копировать код
USE CUSTOMERS
INDEX ON UPPER(cu_name) TAG name

Следующая команда не оптимизируемая, потому что поисковое выражение основано на поле cu_name, а не на выражении индекса:

Копировать код
SELECT * FROM customers WHERE cu_name ="ACME"

Поэтому вы должны создать оптимизируемое выражение, использующее команду, в которой поисковое выражение точно соответствует индексному выражению, а именно:

Копировать код
SELECT * FROM customers WHERE UPPER(cu_name) = "ACME"
Совет:
Для того, чтобы определить уровень оптимизации Rushmore, используйте функцию SYS(3054).

Комбинирование основных оптимизируемых выражений

Вы можете комбинировать простые или сложные выражения, основанные на предложениях FOR или WHERE для того, чтобы увеличивать скорость поиска данных, при условии, что FOR-выражения имеют характеристики основных оптимизируемых выражений.

Основные выражения могут быть оптимизируемыми. Вы можете скомбинировать выражения при помощи логических операторов AND, OR, and NOT для получения сложного выражения в предложении FOR, которое также может быть оптимизируемым. Если одно или больше основных выражений не оптимизируемые, то сложное выражение может быть частично оптимизируемым или совсемне оптимизируемым.

Инструкцией определено, что если выражение формировалось из основных оптимизируемых или неоптимизируемых выражений, то оно может быть полностью оптимизируемым, частично оптимизируемым, или не оптимизируемым. Следующая таблица суммирует в себе правила оптимизации запроса Rushmore.

Комбинирование основных выражений

Основное выражение | Оператор | Основное выражение | Результат запроса
Оптимизируемое | AND | Оптимизируемое | Полностью оптимизируемый
Оптимизируемое | OR | Оптимизируемое | Полностью оптимизируемый
Оптимизируемое | AND | Не оптимизируемое | Частично оптимизируемый
Оптимизируемое | OR | Не оптимизируемое | Не оптимизируемый
Не оптимизируемое | AND | Не оптимизируемое | Не оптимизируемый
Не оптимизируемое | OR | Не оптимизируемое | Не оптимизируемый
— | NOT | Оптимизируемое | Полностью оптимизируемый
— | NOT | Не оптимизируемое | Не оптимизируемый

Вы можете применить оператор AND для комбинирования двух оптимизируемых выражений в одно полностью оптимизируемое выражение:

Копировать код
FIRSTNAME = "FRED" AND HIREDATE < {^1997-12-30} && Оптимизируемое

В следующем примере оператор OR комбинирует основное оптимизируемое выражение с неоптимизируемым выражением, для получения не оптимизируемого выражения:

Копировать код
FIRSTNAME = "FRED" OR "S" $ LASTNAME && Не оптимизируемое

Применение оператора NOT для оптимизируемого выражения создает полностью оптимизируемое выражение:

Копировать код
NOT FIRSTNAME = "FRED" && Полностью оптимизируемое

Вы можете также использовать круглые скобки, чтобы группировать комбинации основных выражений.

Комбинирование сложных выражений

Аналогично комбинированию основных выражений, вы можете объединять сложные выражения для создания еще более сложных выражений, которые будут полностью оптимизируемыми, частично оптимизируемыми, или не оптимизируемыми. Далее снова можно составлять еще более сложные выражения, которые снова могут быть полностью или частично оптимизируемыми, или неоптимизируемым вовсе. В следующей таблице приведены варианты комбинирования сложных выражений. Эти правила справедливы и для группировки выражений с помощью скобок.

Комбинирование сложных выражений

Выражение | Оператор | Выражение | Результат
Полностью оптимизируемое | AND | Полностью оптимизируемое | Полностью оптимизируемое
Полностью оптимизируемое | OR | Полностью оптимизируемое | Полностью оптимизируемое
Полностью оптимизируемое | AND | Частично оптимизируемое | Частично оптимизируемое
Полностью оптимизируемое | OR | Частично оптимизируемое | Частично оптимизируемое
Полностью оптимизируемое | AND | Не оптимизируемое | Частично оптимизируемое
Полностью оптимизируемое | OR | Не оптимизируемое | Не оптимизируемое
— | NOT | Полностью оптимизируемое | Полностью оптимизируемое
Частично оптимизируемое | AND | Частично оптимизируемое | Частично оптимизируемое
Частично оптимизируемое | OR | Частично оптимизируемое | Частично оптимизируемое
Частично оптимизируемое | AND | Не оптимизируемое | Частично оптимизируемое
Частично оптимизируемое | OR | Не оптимизируемое | Не оптимизируемое
— | NOT | Частично оптимизируемое | Не оптимизируемое
Не оптимизируемое | AND | Не оптимизируемое | Не оптимизируемое
Не оптимизируемое | OR | Не оптимизируемое | Не оптимизируемое
— | NOT | Не оптимизируемое | Не оптимизируемое

Вы можете скомбинировать полностью оптимизируемые выражения с помощью оператора OR для создания выражения, которое также будет полностью оптимизируемым:

Копировать код
* Полностью оптимизируемое выражение
(FIRSTNAME = "FRED" AND HIREDATE < {^1997-12-30}) ;
 OR (LASTNAME = "" AND HIREDATE > {^1996-12-30})

Для создания частично оптимизируемых выражений скомбинируйте полностью оптимизируемое выражение с неоптимизируемым с помощью оператора AND:

Копировать код
* Частично оптимизируемое выражение
(FIRSTNAME = "FRED" AND HIREDATE < {^1997-12-30}) ;
 AND "S" $ LASTNAME

Частично оптимизируемые выражения можно комбинировать для создания также частично оптимизируемого выражения:

Копировать код
* Частично оптимизируемое выражение
(FIRSTNAME = "FRED" AND "S" $ LASTNAME) ;
 OR (FIRSTNAME = "DAVE" AND "T" $ LASTNAME)

Результатом комбинирования не оптимизируемых выражений также будет не оптимизируемое выражение:

Копировать код
* Не оптимизируемое выражение
("FRED" $ FIRSTNAME OR "S" $ LASTNAME) ;
 OR ("MAIN" $ STREET OR "AVE" $ STREET)

См. также

Ссылки

Оптимизация приложений
Оптимизация вашей системы
Команда LOCATE
Команда INDEX

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Optimizing Forms and Controls

Visual FoxPro 9.0
Оптимизация форм и элементов управления
См. также

Вы можете значительно улучшить формы и элементы управления в вашем приложении, если оптимизируете их производительность.

Например, использование в формах и отчетах среды данных (data environment), позволяет открывать таблицы гораздо быстрее, чем при при выполнении команд USE, SET ORDER или SET RELATION из события L oad. Когда вы используете среду данных, Visual FoxPro применяет для открытия таблиц и установке индексов и отношений между таблицами механизм доступа к данным на низком уровне.

Ограничивайте количество форм в наборе форм (Form Set)

Применяйте наборы форм только в том случае, если несколько форм должны совместно использовать приватный сеанс данных (private data session). Когда Вы используете набор форм, Visual FoxPro создает экземпляры всех форм и их элементов управления для всех формах в наборе, даже в том случае, если только первая форма из набора является единственной отображаемой формой. Это может быть занять много времени и не требуется для форм, которые не должны совместно использовать приватный сеанс данных.

Use form sets only when it is necessary to have a group of forms share a private data session. When you use a form set, Visual FoxPro creates instances of all forms and all controls on all forms in the form set, even though the first form in the form set is the only one being displayed. This can be time consuming, and is unnecessary if the forms don't have to share a private data session. В этом случае, вместо использования набора форм, вы должны выполнить команду DO FORM для вызова других форм только тогда, когда они будут необходимы.

Замечание:
При использовании набора форм вы получаете некоторый выигрыш во время вызова форм за счет того, что хотя формы и не будут видимы, но уже будут загружены.

Динамическая загрузка страниц (Page Controls) в страничном фрейме (блоке) (Page Frame)

Подобно набору форм, при загрузке страничного фрейма будут загружаться все элементы управления на каждой его странице, что может стать причиной замедления загрузки страничного фрейма. Взамен этого, вы можете динамически загружать страницы, когда это потребуется, путем заблаговременного создания классов элементов управления для этих страниц и их загрузки в момент активизациинужной страницы.

Ниже приводится схема динамической загрузки страниц:

  1. Конструируется форма и в нее, как правило, включаются все элементы управления на всех страницах.

  2. Когда конструирование завершено, перейдите на вторую страницу вашего страничного фрейма и сохраните элементы управления как класс (save as a class).

  3. Откройте созданный вами класс для того, чтобы убедиться в правильном расположении элементов управления.

  4. Повторите шаги 2 и 3 для третьей и последующих страниц фрейма.

  5. В событии Activate второй и последующих страниц добавьте объекты и сделайте их видимыми.

    Например, если ваш класс элементов управления называется cnrpage1, то вы должны поместить следующий код:

    Копировать код
    IF THIS.ControlCount = 0
     THIS.AddObject("cnrpage1","cnrpage1")
     THIS.cnrpage1.Visible = .T.
    ENDIF

Динамическое связывание элементов управления с данными

Вы можете уменьшить время загрузки формы, которая содержит много связанных с данными элементов управления, если отсрочите связь этих элементов управления до тех пор, пока она понадобиться.

Ниже приводится схема процесса динамического связывания элементов управления с данными:

  1. Поместите таблицы и представления для вашей формы в среду данных так, чтобы они открывались при загрузке формы.

  2. Для каждого связываемого элемента управления поместите в событие GotFocus код, который свяжет его со значением данных при получении фокуса этим элементом управления.

    Например, следующий код связывает элемент управления ComboBox с полем customer.company:

    Копировать код
    * Проверка правильности связывания элемента управления.
    IF THIS.RecordSource = ""
     * Присвоение свойству RecordSource значения имени поля
     THIS.RecordSource = "customer.company"
     * Присвоение свойству RecordSourceType типа "поле"
     THIS.RecordSourceType = 6
     THIS.Refresh
    ENDIF

Отсрочка обновления экрана

Если вам необходимо сделать несколько изменений на экране, например, изменить значение сразу нескольких элементов управления, то можно уменьшить общее время, требуемое на обновление экрана, отсрочив это обновление до тех пор, пока все изменения не будут завершены.

Например, предположим, что вы захотите сделать элементы управления видимыми или невидимыми, изменить их цвета, или поменять записи в связанных элементах управления. Рекомендуем отсрочить перерисовку этих элементов управления дополного окончания требуемых изменений.

Ниже приводится схема процесса отсрочки обновления экрана:

  1. Присвойте свойству формы LockScreen значение .T. (Истина).

  2. Скорректируйте элементы управления как требуется.

  3. Вызовите метод формы Refresh.

  4. Присвойте свойству формы LockScreen значение .F. (Ложь).

Совет:
Эта техника не обеспечивает увеличение производительности при обновлении одного-единственного элемента управления.

Например, следующий код изменяет сразу несколько экранные свойства, перемещает указатели на новые записи и, только затем, выводит на экран новую информацию. Если вначале кода не присвоить свойству LockScreen значения .T., то экран будет обновляться после каждого изменения, затрагивающего конкретные элементы управления, а это снизит производительность всей операции обновления:

Копировать код
THISFORM.LockScreen = .T.
THISFORM.MyButton.Caption = "Сохранить"
THISFORM.MyGrid.BackColor = RGB (255, 0, 0) && Красный
SKIP IN customers
SKIP IN orders
THISFORM.Refresh
THISFORM.LockScreen = .F.

Сокращение кода в часто используемых методах

Ввиду того, что метод Refresh и событие Paint вызываются довольно часто, вы можете увеличить производительность работы форм, сократив в них количество строк кода. Аналогично, для ускорения загрузки формы вы должны переместить код из события Init в нечасто используемые события, такие как Activate, Click, и GotFocus. При этом, вы должны использовать какое-то свойство (например, Tag или пользовательское свойство) для отслеживания того, чтобы этот код был выполнен только один раз.

См. также

Ссылки

Использование оптимизации запросов Rushmore для ускорения доступа к данным
Оптимизация приложений
Оптимизация вашей системы

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Optimizing Programs

Visual FoxPro 9.0
Оптимизация программ
См. также

Тщательно записывая код, вы можете написать самые быстрые программы. Есть несколько способов для улучшения исполнения программ в Visual FoxPro:

  • Следуйте общим советам по программированию, приведенным ниже.

  • Используйте именованные выражения вместо макроподстановки.

  • Эффективно обращайтесь к свойствам объектов.

Общие советы по программированию

Для того, чтобы писать самые быстрые программы, последуйте рекомендациям, приведенным ниже.

  • Выбирайте правильный тип для ваших данных. В частности, используйте тип данных Integer для числовой информации там, где это только возможно, потому что он обрабатывается наиболее эффективно. По возможности, используйте тип данных Integer для первичных и внешних ключевых значений, в результате чего получаются небольшие файлы данных, небольшие индексы и более быстрые соединения.

    Замечание:
    Чтобы посмотреть пример создания небольшого и, следовательно, быстрого индекса, запустите приложение Solution.app, расположенное в папке Visual FoxPro ...\Samples\Solution. Выберите View Samples by Filtered List, выберите из выпадающего списка Indexes и затем выберите Create Small Indexes Using BINTOC( ) из появившегося списка.

  • Избегайте повторного открытия файлов, так как это замедляет выполнение приложения. Вместо этого, назначайте файлам при открытии рабочие области и, когда будет нужно, выбирайте эти области с помощью команды SELECT.

  • Применяйте циклы FOR ... ENDFOR вместо циклов DO WHILE ... ENDDO когда это только возможно, потому что они работают быстрее.

  • При копировании данных из множества полей команда SCATTER TO ARRAY работает быстрее чем команда SCATTER MEMVAR.

  • Для эффективного использования памяти избегайте создания объектов до того времени, пока они вам не понадобятся, и удаляйте объекты из памяти после окончания работы с ними.

    Совет:
    Вы можете проверить сколько памяти занимает каждый объект, вызвав функцию SYS(1016).

  • Направляйте вывод в окно, находящееся на переднем плане, потому что обновление окна, находящегося на заднем плане, происходит в значительной степени медленнее. Процесс вывода в прокручиваемое окно, находящееся на заднем плане, является самым наихудшим.

  • Отключите отображение результатов выполнения командой SET TALK OFF, которая устранит накладные расходы на обновление экрана.

  • Установите параметр команды SET DOHISTORY в значение OFF для того, чтобы командное окно не обновлялось при выполнении программы.

Используйте именованные выражения вместо макроподстановки

Производительность программы сильно улучшится, если использовать именованные выражения вместо макроподстановок. Например, если вы присвоите значение переменной cFile, то именованное выражение, созданное с cFile, будет выполнено быстрее макроподстановки.

Копировать код
cFile = "CUST"
use &cFile  && Макроподстановка медленнее
use (cFile) && Именованное выражение быстрее и, следовательно, предпочтительнее

Эффективно обращайтесь к свойствам объектов

Вы можете выполнение приложения более эффективным, если будете понимать как Visual FoxPro работает со свойствами и объектами.

Оптимизация многократных ссылок на свойство

Когда вы ссылаетесь на свойство объекта с помощью синтаксиса object.property, Visual FoxPro должен найти объект прежде чем получит доступ к свойству. Если вы должны многократно получать доступ к свойству, то этот поисковая стратегия сильно снизит производительность.

Для того, чтобы избежать многократно повторяющихся ссылок (например, в цикле), считайте значение свойства в переменную, сделайте изменения, а затем присвойте результат другому свойству. Например, следующий код заполняет свойство-массив; сначала создает массив в памяти, заполняет его, и затем за один раз присваивает результат свойству-массиву:

Копировать код
* Копирование строки в локальную переменную
lcChar = THISFORM.cCharString
LOCAL laCharArray[256] && Создание локального массива
FOR nCounter = 1 to 256
 laCharArray[nCounter] = SUBSTR(lcChar,nCounter,1)
ENDFOR
* Копирование локального массива в свойство-массив
ACOPY(laCharArray,THISFORM.aCharArray)

Эффективное обращение к множеству свойств

Если вы обновляете более чем одно свойство объекта, то Visual FoxPro должен искать объект много раз, что обязательно скажется на производительности. Например, следующий код заставляет Visual FoxProпросматривать четыре объекта (а именно, THISFORM, pgfCstInfo, pgCstName, and txtName) для того, чтобы найти свойство, которое должно быть установлено. Но, поскольку, этот код устанавливает значение двух свойств, то четырехкратный поиск будет сделан дважды:

Копировать код
THISFORM.pgfCstInfo.pgCstName.txtName.Value = ;
 "Fred Smith"
THISFORM.pgfCstInfo.pgCstName.txtName.BackColor = ;
 RGB (0,0,0)

Для того, чтобы избежать этих накладных расходов, применяйте команду WITH ... ENDWITH. Этот метод заставляет Visual FoxPro находить объект только один раз. Например, следующий пример выполняет ту же задачу, что и предшествующий, но быстрее:

Копировать код
WITH THISFORM.pgfCstInfo.pgCstName.txtName
 .Value = "Fred Smith"
 .BackColor = RGB (0,0,0)
ENDWITH

Вы также можете сохранить объектную ссылку в переменной, а затем включать переменную вместо объектной ссылки:

Копировать код
oControl = THISFORM.pgfCstInfo.pgCstName.txtName
oControl.Value = "Fred Smith"
oControl.BackColor = RGB (0,0,0)

См. также

Ссылки

Оптимизация приложений
Оптимизация вашей системы
Команда SELECT
Команда FOR ... ENDFOR
Команда SCATTER

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Optimizing ActiveX Controls

Visual FoxPro 9.0
Оптимизация элементов управления ActiveX
См. также

Если вы используете элементы управления Автоматизации (Automation) или ActiveX в своем приложении, то можете более тонко настроить приложение для получения наилучший результатов как из элементов управления ActiveX так и из - Automation.

Эффективное применение элементов управления ActiveX

Для получения наилучшей эффективности от применении в формах элементов управления ActiveX воспользуйтесь следующими указаниями:

  • Заблаговременно запустите сервера Автоматизации. Элементы управления, связанные с полями типа general, будут выполняться быстрее, если серверы для этих типов данных (типа Microsoft Excel или Word) уже запущены на клиентской машине.

  • Включайте объекты в виде пиктограмм ("As Icon"). Когда вы включаете элемент управления ActiveX в поле, включите его как пиктограмму или заполнитель, а не как целый объект. Это уменьшит объем памяти, требуемой для его хранения, поскольку Visual FoxPro сопоставляет представленный образ с объектом, который мог бы потребовать много пространства для своего хранения. Кроме того, включение объекта в виде пиктограммы увеличивает производительность при его прорисовке.

  • Используйте образы элементов управления. Если Вы хотите вывести побитовое отображение (bitmap) графического объекта (например, логотип компании), то помните, что образы элементов управления обрабатываются значительно быстрее, чем сами элементы управления OLEBound.

  • Применяйте ручные связи всегда, когда это возможно. Ручные связи объектов выполняются быстрее, поскольку они не нуждаются во времени уведомления, необходимом для автоматических связей, и поскольку сервер не должен быть запущен для прорисовки объекта. Если вам не нужно часто корректировать объект, то используйте ручные связи.

Оптимизация выполнения Автоматизации

Если ваше приложение взаимодействует с другими приложениями, то вы можете получить наилучшие показатели, если будете использовать следующие технические приемы.

Избегайте множества экземпляров сервера (Avoiding Multiple Instances of the Server)

В некоторых случаях, серверы Автоматизации (например, Microsoft Excel) всегда будут стартовать заново, даже если один из них уже работает. Для того, чтобы избежать этого и улучшить исполнение, используйте функцию GetObject( ) вместо CreateObject( ). Например, в следующем примере всегда будет запрошен существующий экземпляр сервера Microsoft Excel, если, конечно, он существует:

Копировать код
x = GetObject(,"excel.Application")

А в этом случае всегда будет запрошен новый:

Копировать код
x = CreateObject("excel.Application")

Если вы сделали запрос функцией GetObject( ), но сервер уже не выполняется, то вы получите ошибку под номером 1426. В этом случае вы можете перехватить ошибку и запросить сервер функцией CreateObject( ):

Копировать код
ON ERROR DO oleErr WITH ERROR()
x = GetObject(,"excel.application")
ON ERROR && restore system error handler

PROCEDURE oleErr
PARAMETER mError
IF mError = 1426 then
 x = CreateObject("excel.application")
ENDIF

Referencing Objects Efficiently

Выполнение выражений, которые используют объекты сервера Автоматизации, может быть дорогостоящим, особенно с точки зрения затраченного времени. Выполнение таких выражений значительно ускорится, если сохранить ссылки на объекты в переменные и впоследствии ссылаться на них.

См. также

Ссылки

Оптимизация приложений в многопользовательской среде
Оптимизация доступа к удаленным данным
Оптимизация приложений
Оптимизация вашей системы

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Optimizing Access to Remote Data

Visual FoxPro 9.0
Оптимизация доступа к удаленным данным
См. также

Поиск данных в любой удаленной базе данных является дорогостоящим занятием. Для того, чтобы получать данные из серверной базы данных, необходимо проделать следующие шаги:

  1. Клиент делает запрос к дистанционной базе данных.

  2. Сервер выполняет грамматический разбор и компилирует запрос.

  3. Сервер генерирует результирующий набор.

  4. Сервер уведомляет клиента о том, что готов результат запроса.

  5. Клиент забирает данные с сервера через сеть. Клиент может получить все данные результата запроса сразу или запросить, чтобы они были посланы ему по частям.

Есть множество способов для того, чтобы ускорить поиск или обновление данных, а именно:

  • Извлечение только необходимые вам данных

  • Рациональное обновление удаленных таблиц

  • Пересылка команд в пакете

  • Регулировка размера пакета

  • Задержка в получении мемо и двоичных данных

  • Локальное хранение данных для поиска

  • Создание локальных правил

Извлечение только необходимые вам данных

В большинстве приложений, которые используют удаленные данные, формам и отчетам не нужен доступ ко всем данным таблицы сразу. Следовательно, вы можете ускорить исполнение запросов создавая удаленные представления, которые выбирают или модифицируют только нужные вам поля и записи. Это позволит минимизировать данных, которые должны быть переданы по сети.

Для того, чтобы создавать запросы, которые минимизируют непроизводительные издержки при получения данных от удаленных источников, последуйте следующим советам:

  • Указывайте только необходимые вам поля. Не применяйте команд типа SELECT * FROM customers до тех пор, пока вам не понадобятся все поля таблицы.

  • Включайте в запрос предложение WHERE для ограничения количества загружаемых записей. Чем больше условий указано в предложении WHERE, тем меньше записей будет передано на ваш компьютер, и тем скорее завершится запрос.

  • Если при проектировании вам будет затруднительно определить какие значение использовать в предложении WHERE, то можете использовать примеры из данного раздела. Перед выполнением запроса, Visual FoxPro использует заранее определенное пользователем значение параметра переменной (с символом ?) или отображает окно с подсказкой, в котором пользователь должен ввести это значение. Например, вот этот запрос позволяет приложению или пользователю заполнять значение региона во время выполнения параметризованного запроса:

    Копировать код
    SELECT cust_id, company, contact, address ;
     FROM customers ;
     WHERE region = ?pcRegion
  • Установите свойство NoDataOnLoad соответствующего объекта Data Environment Cursor. Эта техника обычно применяется с параметризованными представлениями, в которых параметр получает свое значение от элемента управления формы.

Рациональное обновление удаленных таблиц

Когда вы используете для модификации таблицы в удаленном источнике данных представление, то Visual FoxPro должен, в свою очередь, проверить факт того, что запись или записи, которые вы модифицировали, на самом деле были изменены. Для того, чтобы сделать это, Visual FoxPro должен проверять данные на сервере и сравнить их с данными, содержащимися в вашем компьютере. В ряде случаев эта операция потребует значительных затрат времени.

Для оптимизации процесса модификации данных в удаленном источнике данных вы можете указать как Visual FoxPro должен проверять факт изменения записей. Чтобы сделать это, вы указываете в предложении WHERE каким образом Visual FoxPro должен проводить эту модификацию.

Например, представьте, что вы используете представление, базирующееся на таблице клиентов удаленного источника данных, которое создали с помощью следующей команды SELECT - SQL:

Копировать код
SELECT cust_id, company, address, contact ;
 FROM customers ;
 WHERE region = ?vpRegion

Необходимо модифицировать все поля, указанные в представлении, за исключением ключевого (cust_id). Следующая таблица демонстрирует всевозможные варианты предложения WHERE, которые доступны для этого примера.

Замечание:
Функция OLDVAL( ) возвращает значение поля до модификации, а функция CURVAL( ) - текущее значение поля из удаленного источника данных. Сравнивая эти значения, Visual FoxPro определяет была ли кем-либо изменена запись на удаленном источнике данных с тех пор, как вы загрузили ее на свой компьютер.

Установочные параметры | Результирующее предложение WHERE
Key fields only (Только ключевое поле) | WHERE OLDVAL(cust_id) = CURVAL(cust_id)
Key and updatable fields (Ключевое поле и поля, которые могут быть модифицированы) (по умолчанию) | WHERE OLDVAL(cust_id) = CURVAL(cust_id) AND OLDVAL(<mod_fld1>) = CURVAL(<mod_fld2>) AND OLDVAL(<mod_fld2>) = CURVAL(<mod_fld2>) AND ...
Key and modified fields (Ключевое и уже модифицированные поля) | WHERE OLDVAL(cust_id) = CURVAL(cust_id) AND OLDVAL(company) = CURVAL(company) AND OLDVAL(contact) = CURVAL(contact) AND OLDVAL(address) = CURVAL(address)
Key and timestamp (Ключевое поле и время создания/модификации полей) | WHERE OLDVAL(cust_id) = CURVAL(cust_id) AND OLDVAL(timestamp) = CURVAL(timestamp)

Вообще говоря, вы должны придерживаться следующего порядка при выборе вариантов предложения SQL WHERE:

  1. Key and timestamp, если удаленная база данных поддерживает опцию "время создания/модификации полей", то это самый быстрый способ проверить изменилась запись или нет.

  2. Key and modified fields, поскольку поля, которые вы модифицирует на сервере, почти всегда являются подмножеством совокупности полей, которые необходимо модифицировать.

  3. Key and updatable fields.

  4. Key fields only. Использование этих установочных параметров подразумевает, что удаленный сервер при изменении ключевого пля удалит старую запись и добавит новую запись со всеми ее полями.

Пересылка команд в пакете

Сервера, подобные Microsoft SQL Server, позволяют передать им группу SQL-команд в одном пакете. Это ускоряет их выполнение, потому-что, во-первых, снижается сетевой трафик и, во-вторых, сервер может компилировать несколько предложений за один раз.

Например, если вы хотите модифицировать 10 записей в удаленной базе данных четырьмя SQL-командами, то Visual FoxPro передаст их в одном пакете:

Копировать код
UPDATE customer SET contact = "John Jones" ;
 WHERE cust_id = 1;
UPDATE customer SET contact = "Sally Park" ;
 WHERE cust_id = 2;
UPDATE customer SET company = "John Jones" ;
 WHERE cust_id = 3;
UPDATE customer SET contact = "John Jones" ;
 WHERE cust_id = 4
Для того, чтобы послать несколько команд в одном пакете, необходимо:

  1. В диалоговом окне Options выбрать закладку Remote Data, а затем в поле Records to batch update указать количество включаемых в пакет записей.

    или

  2. Вызвать функцию DBSETPROP( ) или CURSORSETPROP( ), чтобы установить ее свойства:

    • Установите Transaction равным 2.

    • Установите BatchUpdateCount равным количеству команд, посылаемых в пакете.

      или
  1. В конструкторе представлений (View Designer) выберите в меню Query пункт Advanced Options, чтобы отобразить диалоговое окно Advanced Options.

  2. В области Performance укажите в поле Number of records to batch update количество команд, посылаемых в пакете.

    Замечание:
    Для оптимизации модификаций вы должны поэксперементировать с различными значениями вышеприведенных свойств, а также свойства PacketSize.

Регулировка размера пакета

Чтобы оптимизировать доступ к удаленным серверам необходимо отрегулировать размер сетевых пакетов, посылаемых и принимаемых из удаленных баз данных. Например, если ваша сеть поддерживает пересылку пакетов большого размера (больше чем 4096 байтов), то вы можете увеличивать размер пакета для того, чтобы пересылать больше данных всякий раз, когда принимаете или посылаете данные по сети.

Для регулировки размера пакета необходимо

  1. Вызвать функцию DBSETPROP( ) или CURSORSETPROP( ) присвоить свойству PacketSize положительное целое значение. Умалчиваемое значение равно 4096.

    Замечание:
    Различные сетевые провайдеры оперирую с этим свойством по разному, поэтому за деталями вы должны обратиться к сетевой сервисной документации. Для Novell NetWare, например, максимальный размер пакета равен 512 байтам, поэтому присвоение свойству PacketSize большего значения не принесет никакой выгоды.

Задержка в получении мемо и двоичных данных

Если вы сохраняете мемо или двоичные данные на удаленном сервере, то можете увеличить производительность, если задержите фактическую загрузку этих данных до тех пор, пока они действительно не понадобятся вам.

Для тог, чтобы задержать получение мемо или двоичных данных вы должны:

  1. В диалоговом окне Options выбрать закладку Remote Data, а затем в поле Remote view defaults установить значение Fetch memo.

    или

  2. Вызвать функцию DBSETPROP( ) или CURSORSETPROP( ) для установки свойства FetchMemo.

Локальное хранение данных для поиска

Множество приложений содержит статические поисковые данные, например, почтовые коды и наименования должностей служащих. Если ваше приложение работает с такими типами данных и размер таблиц , содержащие эти данные, не слишком велик, то вы можете держать копию этой информации на каждом пользовательском компьютере. В этом случаеснизится сетевой трафик и ускорится работа приложения.

Обычно, эта техника применяется к данным, которые никогда не меняются или меняются очень редко. Если данные иногда изменяется, то надо выработать стратегию для загрузки новой копии поисковой таблицы в каждый компьютер пользователя.

Создание локальных правил

Можно повысить эффективность приложения, если создать в Visual FoxPro локальные правила уровня поля и уровня записи, а не доверять правилам, определенным на сервере. Эти правила могут предотвратить попадание в базу не согласованных данных и данных, не соответствующих бизнес-правилам.

Определяя правила в Visual FoxPro, вы перехватываете неправильные данные прежде, чем они будут посланы по сети, что увеличит производительность последней и позволит вам улучшить обработку ошибок. Тем не менее, использование локальных правил не отменяет их согласование их с правилами удаленного сервера. Например, если произошло изменение каких-либо правил на сервере, то необходимо изменить и соответствующие им локальные правила.

Подробнее об этом смотрите в разделе Руководство: Создайте правила проверки достоверности для представлений

См. также

Ссылки

Оптимизация приложений, работающих в многопользовательской среде
Оптимизация приложений
Оптимизация вашей системы
Свойство NoDataOnLoad
Команда SELECT - SQL

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Optimizing International Applications

Visual FoxPro 9.0
Оптимизация интернациональных приложений
См. также

Если вы разрабатываете интернациональные приложения, то вам может понадобиться управлять схемой упорядочения ваших данных для оптимальной работы приложения. В этом разделе обсуждается:

  • Эффективное применение схемы упорядочения.

  • Применение SELECT - SQL со сложной схемой упорядочения.

Эффективное применение схемы упорядочения

Если ваши данные не включает диактирические знаки, такие, например, как ударения () или умляуты (), то вы можете улучшить выполнение приложения, если примените машинную схему упорядочения, поскольку:

  • Не-машинные индексные ключи в два раза больше, поскольку они содержат диакритическую информацию.

  • Не-машинное упорядочение использует много специальных правил для индексирования символов для того, чтобы возвратить соответствующие результаты.

Поскольку машинная схема упорядочения является более быстрой, ей обычно отдают предпочтение в операциях соединения и поиска, тогда как другие схемы упорядочения применяются для упорядочения записей.

Когда Вы создаете индекс, Visual FoxPro использует текущую схему упорядочения, установленную с помощью команд SET COLLATE, CREATE TABLE - SQL, ALTER TABLE - SQL или INDEX. Например, если вы хотите создать два индекса с двумя схемами упорядочения, то можете применить команду SET COLLATE как показано в следующем примере:

Копировать код
SET COLLATE TO "MACHINE"
INDEX ON lastname TAG _lastname && Индекс для соединения или поиска
SET COLLATE TO "GENERAL"
INDEX ON lastname TAG lastname && Индекс для сортировки

Если вы хотите вести поиск, выборку или соединение по полю lastname, то выдайте команду SET COLLATE TO "MACHINE" перед этими операциями. Оптимизация запросов Rushmore использует индексы, созданные в машинной схеме упорядочения, и операция поиска будет выполнена очень быстро.

Применение SQL SELECT со сложной схемой упорядочения

Когда вы выдаете команду SELECT - SQL, Visual FoxPro применяет текущую схему упорядочения для операций поиска и для предложений ORDER BY и GROUP BY. Если вы хотите искать и сортировать с использованием различных схем упорядочения, то можете разделить ваши команды SQL на две следующим образом:

Копировать код
* Выборка записей с использованием одной схемы упорядочения
SET COLLATE TO "MACHINE"
SELECT * FROM table INTO CURSOR temp1 ;
 WHERE lname = "Mller"
* Упорядочение записей с использованием другой схемы упорядочения
SET COLLATE TO "GENERAL"
SELECT * FROM temp1 INTO TABLE output ORDER BY lastname

См. также

Ссылки

Оптимизация доступа к удаленным данным
Оптимизация приложений
Оптимизация вашей системы
Оптимизация элементов управления ActiveX

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Testing and Debugging Applications

Visual FoxPro 9.0
Тестирование и Отладка Приложения

Процесс тестирования приложения заключается в нахождении проблемных моментов в вашем программном коде; отладка приложения - это уже поиск вариантов выхода из ошибочных ситуаций наилучшим способом. Процессы тестирования и отладки программного кода нужно включать на ранних стадиях разработки приложения; это значительно облегчит процесс компоновки основного приложения, его тестирования и отладки как единого целого.

При тестировании и отладке приложения разработчик обычно использует следующие принципы тестирования:

  • Выполнение приложения без ошибок и зависаний.

  • Выполнение основных функций согласно общих сценариев работы приложения.

  • Обоснованная обработка возникающих ошибочных ситуаций согласно заложенным сценариям.

  • Надежное восстановление системы после непланируемых действий пользователя.

Visual FoxPro имеет широкий набор инструментальных средств обнаружения возможных ошибок и мотодов их локализации и обработки в разрабатываемых приложениях.

В данном Разделе

Устранение недостатков перед началом отладки пиложения

Приводятся некоторые рекомендации по профессиональному программированию модулей приложения для исключения возможных ошибок.

Как: Тестировать Проект

Объясняется, как тестировать и проверять проект вашего приложения, перед тем как компоновать его в модуль .ехе .

Как: Просмотреть и Сохранить сообщения об ошибках процесса компоновки приложения

Объясняется, как просмотреть и сохранить сообщения об ошибках, полученные при компиляции проекта приложения.

Управление ошибками в режиме Run-Time

Объясняется, как контролировать и управлять возможными ошибками при выполнении приложения в режиме Run-Time.

Использование Отладчика (Debugger)

Описывается, как использовать интерфейс Отладчика Visual FoxPro для разрешения проблем с возникающими ошибками в процессе выполнения приложений.

Связанные Секции

Конструкции языка, предназначенные для отладки и управления ошибками

Список функциональных возможностей языка Visual FoxPro, предназначенных для контроля и управления ошибками.

Компиляция Приложений

Рассматриваются вопросы, как использовать модульный принцип разработки и отладки вашего приложения, чтобы в дальнейшем успешно скомпоновать их в системное приложение, основанное на вашем проекте.

Дистрибуция Приложений

Обсуждается, как подготовить ваше приложение к распространению, собрать все необходимые файлы, создать дистрибутивные диски.

Разработка Приложений в системе Visual FoxPro

Приводится концептуальная информация о разработке приложений в системе Visual FoxPro, приводятся конкретные инструкции по созданию Баз Данных, пользовательского интерфейса, разработке функциональных модулей для решения различных задач вашего бизнеса.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Debugging Before Bugs Exist

Visual FoxPro 9.0
Отладка до возникновения программных ошибок
Смотрите также

Хорошие методы программирования, такие как использование пробелов, включение комментариев и следование соглашению по наименованиям, поможет снизить число программных ошибок в вашем коде. Однако, одним из наилучших способов создания устойчивого приложения является поиск потенциальных проблем до их возникновения в процеесе работы приложения. Для облегчения тестирования и отладки в будущем, необходимо заранее предусмотреть описанные ниже шаги в процессе разработки:

  • Создание среды тестирования

  • Написание кода, позволяющего избегать ошибок

  • Назначение объявлений

  • Отслеживание последовательностей событий

Создание среды тестирования

Though the data environment you have set up for the application is important, the system environment that you expect an application to run in is just as important. To ensure portability of your application and to create an appropriate environment for testing and debugging, you need to consider the following items:

  • Оборудование и программное обеспечение.

  • Системные пути и свойства файлов.

  • Структура каталога и размещение файлов.

Оборудование и программное обеспечение

Для обеспечения максимальной переносимости ваших приложений рекомендуется, чтобы вы разрабатывали ваши приложений с учетом самой слабой общей платформы, в которой вы считаете возможным запуск ваших приложений. Для определения базисной платформы, используйте следующие указания:

  • Разрабатывайте ваши приложения используя наинизшее расширение видео-режима.

  • Определите базовые требования для оперативной памяти и пространству на жестком диске, включая все необходимые дисководы или одновременно работающее программное обеспечение.

  • Учитывайте специальные сценарии для памяти, файлов и блокировок записей для использования приложений в сетевой среде по сравнению с самостоятельными, исполняемые на одной машине приложениями.

Системные пути и свойства файлов

Для того, чтобы обеспечить условия доступа ко всем необходимым программным файлам на каждом компьютере, на котором запускается ваше приложение, вы должны потребовать обеспечить базисную файловую конфигурацию. Чтобы помочь себе определеить базисную конфигурацию, задайте себе приведенные ниже вопросы:

  • Требует ли ваше приложение общих системных путей?

  • Установили ли вы соответствующие свойства, обеспечивающие доступ к файлу?

  • Корректно ли установлены сетевые разрешения для каждого пользователя?

Структура каталога и размещение файлов

Если ваш исходный код ссылается на абсолютные пути или имена файлов, эти точные пути и файлы должны существовать, когда ваше приложение инсталлируется на любом другом компьютере. Избегайте такого сценария, выполнив приведенные ниже задачи:

  • Используйте конфигурационные файлы Visual FoxPro. Для получения дополнительной информации об использовании конфигурационных файлов обратитесь к описанию Настройка среды Visual FoxPro .

  • Создайте отдельный каталог или структуру каталогов для хранения исходных файлов вне генерируемых файлов приложения. Таким образом вы сможете протестировать ссылки в завершенном приложении и будете точно знать, какие файлы подлежат распространению.

  • Используйте относительные пути.

Написание кода, позволяющего избегать ошибок

Вы можете снизить число ошибок, если будете анализировать возможность их возникновения и писать код таким образом, чтобы избежать их.

В приведенной ниже таблице проиллюстрировано - как избежать условий, в которых могут возникнуть ошибки.

Условие возникновения ошибки Чтобы избежать ошибки

Команда SKIP перемещает указатель записи в таблице к следующей записи. Однако, если указатель записи перемещен к последней записи в таблице, то вызов команды SKIP сгенерирует ошибку.

Осуществляйте проверку на признак конца файла:

CopyCode image Скопировать код
IF !EOF()
   SKIP
      IF EOF()
         GO BOTTOM
      ENDIF
ENDIF

Следующая строка кода отобразит диалоговое окно Open с тем, чтобы пользователь мог открыть таблицу в новой рабочей области:

CopyCode image Скопировать код
USE GETFILE('DBF') IN 0

Пользователь может выбрать Cancel в диалоговом окне Open или впечатать имя файла, который не существует. Кроме того, пользователь может впечатать имя файла, который не является таблицей Visual FoxPro.

Убедитесь, что файл существует до того, как пользователь попытается его использовать:

CopyCode image Скопировать код
cNewTable = GETFILE('DBF')
IF FILE(cNewTable)
   USE (cNewTable) IN 0
ENDIF

Если пользователь впечатает имя файла, который не является таблицей Visual FoxPro, в результате чего будет сгенерирована ошибка с номером 15, "Не таблица", вы можете отобразить сообщение, которое предложить пользователю открыть другой файл, например, "Пожалуйста откройте другой файл. Этот файл не является таблицей."

Назначение объявлений (asserts)

Объявления отображают окна сообщений, когда логическое выражение оценивается в False (.F.). Вы можете включить в ваш код объявления для проверки предположений, которые вы допускаете для среды исполнения вашего кода. Вы можете использовать команду ASSERT для назначения объявлений. Для получения более подробной информации смотрите описание команды ASSERT.

Отслеживание последовательностей событий

С помощью отслеживания последовательностей событий в их связи с другими событиями, вы сможете определить наиболее эффективное место для ввода кода в события. Для получения более подробной информации смотрите описание задачи Как: отслеживать последовательности событий.

Смотрите также

Задачи

Как: использовать автоматизированные средства тестирования

Прочие ресурсы

Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Test a Project

Visual FoxPro 9.0
How to: Test a Project
Смотрите также

Перед сборкой приложения, вы можете потестировать проект для того, чтобы убедиться, что все ссылки действительны и все компоненты доступны. Тестирование проекта перестроит проект, что принудит Visual FoxPro разрешить конфликты со ссылками и перекомпилировать устаревшие файлы.

Note Совет

Для более легкого прохода по коду, маркируйте места в коде с помощью закладок, коротких ключей и точек останова. Для получения более подробной информации смотрите Как: создавать закладки (Bookmarks) и короткие ключи списка задач (Task List Shortcuts).

Вы можете протестировать проекты с помощью Project Manager (Диспетчера проекта) или с помощью команды BUILD PROJECT. Однако, большее количество опций доступно, когда вы используете Project Manager (Диспетчер проекта). Для получения более подробной информации смотрите описание команды BUILD PROJECT.

Для тестирования проекта

  1. Откройте проект вашего приложения.

  2. В Project Manager (Диспетчере проекта) щелкните по Build (Собрать).

  3. В диалоговом окне Build Options (Параметры сборки) выберите Rebuild project (Перестроить проект).

  4. Выберите любые другие опции, которые желаете использовать и щелкните по OK.

    Note Совет

    Вы можете видеть с сохранять сообщения, которые могут появиться в процессе сборки. Для получения более подробной информации смотрите описание задачи Как: посмотреть и сохранить сообщения при сборке проекта.

Для получения более подробной информации смотрите описания Окно Project Manager (Диспетчера проекта) and Диалоговое окно Build Options (Параметры сборки).

Note Совет

После успешной сборки проекта запустите его до сборки файла приложения. После того, как вы добавили в проект какой-то компонент, рекомендуем, чтобы вы тестировали и запускали проект после каждого ввода компонентов.

Для запуска проекта

  • В Project Manager (Диспетчере проекта) выберите главную программу и затем щелкните по Run (Запустить).

Вы можете, кроме того, запустить проект с помощью команды DO с именем главной программы. Например, приведенная ниже строка кода в командном окне запустит проект, содержащий программу Main.prg:

CopyCode image Скопировать код
DO Main.prg

Если программа запустилась корректно, вы можете собрать файл приложения, который содержит все файлы проекта. Для получения более подробной информации смотрите описание задачи Компиляция приложения.

Смотрите также

Задачи

Как: использовать Automated Test Harness
Как: регистрировать Code Coverage

Прочие ресурсы

Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: View and Save Build Messages

Visual FoxPro 9.0
Как: Просмотреть и Сохранить Сообщения процесса Сборки Приложения (Build Application)
См. также

Когда вы выполняете Сборку (компиляцию) Проекта, Приложения, или динамической библиотеки (.dll), система Visual FoxPro все сопутствующие Сообщения и сообщения об Ошибках помещает в файл Ошибок (Error File); указанный файл имеет расширение (тип файла) = (.err), имя файла совпадает с именем Программного модуля, данный файл размещается в той же папке, вместе с программным модулем. Когда вы выполняете повторную Сборку программного модуля диагностические сообщения и возможные сообщения об Ошибках размещаются в описанном файле.

Если процесс Сборки прерывается (по каким-либо причинам), вы можете просмотреть указанный файл (.err), содержащий соответствующие Сообщения. Вы также можете настроить параметры создания и использования указанного файла Сообщений; смотрите опцию Display Errors соответственно в Диалоговом боксе Build Options, с помощью которого можно управлять созданием и сохранением данного файла после Завершения Сборки (Компиляции) Приложения.

Note Обратите Внимание

Если в процессе Сборки сообщения об Ошибках отсутствуют, то файлы типа (.err) Удаляются.

В период выполнения процесса Сборки соответствующие сообщения отображаются в строке Статуса (Status Bar). После завершения Сборки в указанной строке Статуса отображается количество найденных Ошибок.

Для отображения и дальнейшего Просмотра файла Сообщений об Ошибках:

  1. Выполните Сборку Проекта, Приложения или Библиотеки (.dll), рекомендации смотрите в разделах: Как: Тестировать Проект или Как: Выполнить Сборку Приложения.

  2. Если перед выполнение процесса Сборки, в соответствующем диалоговом боксе Build Options, отмечена Опция Display Errors, то после завершения Сборки, и при наличии Сообщений об Ошибках, отображается Протокол указанных Сообщений.

    -ИЛИ-

    Для просмотра Протокола Сборки, в системном меню Project, выберите подпункт Errors.

Дополнительно смотрите: Build Options, диалоговый бокс.

Описанные выше сообщения процесса Сбрки также управляются при помощи стандартной команды SET LOGERRORS. Смотрите дополнительно: SET LOGERRORS, команда.

Вы можете также использовать Сообщения, направляемые в системное Окно Debug Output подсистемы Отладки (Debugger). Смотрите дополнимтельно разделы: Debug Output, системное окно и Debugger, системное окно.

Для включения Сообщений об Ошибках в соответствующий файл (.err):

  1. Выполните Сборку (Компиляцию) Проекта, Приложения или динамической библиотеки (.dll), как описывается в разделах: Как: Тестировать Проект или Как: Выполнять Сборку Приложений.

  2. Соответственно, в диалоговом боксе Build Options, выполните отметку Recompile All Files.

См. также

Другие ссылки

Тестирование и Отладка Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Handling Run-Time Errors

Visual FoxPro 9.0
Обработка ошибок Run-Time
Смотрите также

После начала исполнения приложения в run time могут происходить ошибки. Например, ошибки могут происходить в run time в перечисленных ниже операциях:

  • Запись в несуществующий файл.

  • Попытка открыть уже открытую таблицу или выбрать закрутую таблицу.

  • Возникновение конфликта данных.

  • Деление значения на ноль.

Вы можете обрабатывать такие ошибки, включая ошибки, которые случаются в отчетах и также в таблицах с нарушенной ссылкой на базу данных, используя обработчики, которые предоставляет Visual FoxPro. Однако, если ваше приложение не содержит процедур обработки ошибок для случаев возникновения ошибок в run time, приложение приостанавливается и появляется соответствующее системное сообщение Visual FoxPro об ошибке со следующими командными кнопками:

  • Cancel Если пользователь выбирает Cancel, приложение незамедлительно прекращает исполнение и передает управление системе.

  • Ignore Если пользователь выбирает Ignore, Visual FoxPro игнорирует строку, которая вызвала ошибку и продолжает исполнение приложения со следующей строки кода программы.

Обратитесь к описанию Сообщения об ошибках для просмотра списка и разъяснений по каждому сообщению об ошибке Visual FoxPro.

Note Совет

Для ошибок, которые вы не смогли избежать ил предусмотреть убедитесь, что предоставили в документации к приложению описание ошибок, которые может увидеть пользователь и описали способ коррекции подобных ошибок.

Использование процедур обработки ошибок

Вы можете использовать язык Visual FoxPro для создания процедур обработки ошибок для условий, в которых они могут возникнуть. Перечисленные ниже статьт справки объясняют несколько механизмов для обработки run-time ошибок и порядок их действия:

  • Процедурная обработка ошибок

    Обсуждается использование команды ON ERROR для обработки ошибок в процедурном коде.

  • Обработка ошибок классов и объектов

    Обсуждается использование события Error для обработки локальных ошибок для объектов и классов.

  • Структурированная обработка ошибок

    Обсуждается использование управляющей структуры TRY...CATCH...FINALLY для обработки ошибок и исключений, которые могут произойти в run time.

  • Приоритет обработчиков ошибок

    Обсуждается порядок приоритетов для процедур обработки ошибок.

Исполнение последней исполненной строки кода

Вы можете использовать команду RETRY, за исключением случая TRY...CATCH...FINALLY, для исполнения той последней строки кода, которая вызвала ошибку после обработки условия, которое вызвало такую ошибку.

Note Замечание

Иногда, такой последней строки кода вызвавшей ошибку может и не существовать, поэтому ее повторное исполнение с помощью RETRY невозмодно. Событие Error может наступить даже когда случилась ошибка не связанная со строкой вашего кода. Например, если вы вызываете метод окружения данных CloseTables в коде, когда значение свойства AutoCloseTables установлено в True (.T.) и затем высвобождаете форму, Visual FoxPro сгенерирует внутреннюю ошибку, когда он попытается повторно закрыть таблицы. Вы можете отловить ошибку; однако, не существует строки кода, к которой можно было бы вернуться с помощью команды RETRY.

Для получения более подробной информации смотрите описание команды RETRY.

Смотрите также

Справочное руководство

Язык отладки и обработки ошибок

Концепции

Обработка ошибок во время исполнения отчета

Прочие ресурсы

Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Procedural Error Handling

Visual FoxPro 9.0
Процедурная обработка ошибок
Смотрите также

Вы можете определить и обработать ошибки в одной строке или множестве строк кода использованием команды ON ERROR и указанием в ней любой допустимой команды или выражения. Однако, обычно для указания процедуры обработки ошибок или программы используется команда DO . Обычно ON ERROR используется как, верхний в иерархии, обработчик ошибок, которые локальные обработчики, такие как события Error и TRY...CATCH...FINALLY не обрабатывают.

Например, предположим, что в вашем программном файле (.prg) имеется недопустимая строка, вроде представленной ниже:

CopyCode image Скопировать код
qxy

Когда вы запустите программу, Visual FoxPro отобразит подходящее случаю сообщение об ошибке, "Unrecognized command verb." Однако, вы можете создать процедуру ON ERROR для определения таких недопустимых команд и запустить ее для обработки подобной ошибки. В приведенном ниже фрагменте кода недопустимой команде предществует команда ON ERROR, включащая в себя функцию ERROR(), которая отобразит результат с помощью команды вывода на экран - ?:

CopyCode image Скопировать код
ON ERROR ?ERROR()
qxy

Когда будут исполняться эти строки кода, команда ON ERROR определит ошибку и отразит номер ошибки, возвращенный функцией ERROR() в активном окне, вместо вывода диалога, сообщающего об ошибке.

Приведенный ниже код, по существую являющийся базовой формой обработчика, иллюстрируется использование процедуры ON ERROR:

CopyCode image Скопировать код
LOCAL lcOldOnError
lcOldOnError = ON("ERROR") && Сохраняет обработчик ошибок, используемый по умолчанию.

* Вызываем ON ERROR с процедуров обработки ошибки.
ON ERROR DO ErrHandler WITH ERROR(), MESSAGE()

* Вставьте здесь код, к которому применяется процедура обработки ошибки.

* Восстанавливаем оригинальный обработчик ошибок.
ON ERROR &lcOldOnError

PROCEDURE ErrHandler
   LOCAL aErrInfo[1]
   AERROR(aErrInfo)
   DO CASE
      CASE aErrInfo[1] = ErrorNum && Укажите подходящий номер ошибки.
         * отобразите соответствующее сообщение и вставьте код, фиксирующий ошибку.
      OTHERWISE
         * Отобразите какое-то общее для вашего приложение сообщение об ошибке.
ENDPROC

Для получения более подробной информации смотрите описание команды ON ERROR. Вы можете, кроме того, включить в процедурном кода другие обработчики ошибок,такие как TRY...CATCH...FINALLY.

Смотрите также

Справочное руководство

Справка по языку отладки и обработки ошибок

Концепции

Структурированная обработки ошибок
Обработка ошибок класса и объекта
Обработка оишбок в Run-Time

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Class and Object Error Handling

Visual FoxPro 9.0
Обработка ошибок на уровне классов и объектов
См. Также

Вы можете обрабатывать ошибки, которые происходят в объектах в run time, добавляя код обработки ошибок к обработчику событий Error объекта или определения класса. Если Вы хотите, чтобы объект имел свое собственное поведение обработки ошибок, добавьте код обработки ошибок к объектному событию Error . Поведение обработки ошибок, которое Вы определяете, относится тольлко к этому специфическому объекту.

Если Вы хотите чтобы все объекты, основанные на специфическом классе, использовали то же самое поведение обработки ошибок, добавьте код события Error в определение класса, например, в пользовательский класс или подкласс. Все объекты, производные от класса будут содержать одно и то же поведение обработки ошибок. Если класс или подкласс не содержат кода события Error , он наследует поведение обработки ошибок от родительского класса. Если кода ошибки Error не существует в родительском классе, Visual FoxPro ищет код события Error в другом классе иерархия классов. Вы можете также использовать команду NODEFAULT и функцию DODEFAULT( ) для отмены или вызова кода родительского класса. Для подробной информации, см. Отмена и Вызов Кода Родительского Класса .

Когда происходит ошибка в объекте в run time, Visual FoxPro ищет код события Error в объектном событии Error , событии базового класса Error , или в иерархии класса для этого объекта, и выполняет этот код, если он существует. Другие обработчики ошибок могут влиять на то, как Visual FoxPro обрабатывает ошибки. Для подробной информации, см. Приоритет Обработчика Ошибок .

Обработка ошибок Объектов в Контейнерах

Для объектов-членов созданных в пределах другого объекта или контейнера, например, контролов на форме, Вы можете определить обработку ошибок для каждого объекта-члена, добавляя код события Error для каждого объекта-члена. Однако, если кода события Error не существует для объекта-члена, он не наследуется из кода собылия Error контейнерного объекта автоматически. Если Вы хотите событие контейнерного объекта Error применить для обработки ошибок его членов, Вы можете передать сведения об ошибке из события члена Error в событие контейнера Error , используя следующий код в событии члена Error :

Скопировать код
LPARAMETERS nError, cMethod, nLine
THIS.Parent.Error(nError, cMethod, nLine)

Вы можете добавить код в событии контейнерного объекта Error , чтобы обработать сведения об ошибке переданные через параметры, указанные в этом коде.

Например, класс Видеомагнитофона в библиотеке примеров классов Visual FoxPro Buttons.vcx, расположенный в каталоге Visual FoxPro ...\Samples\Classes, основан на классе Visual FoxPro Container . Контейнер имеет четыре кнопки, которые управляют таблицей, перемещая указатель записи.

Однако, когда пользователь щелкает кнопкой и таблица рот этом не открыта, может произойти ошибка. Visual FoxPro пытается записать буферизированные значения в таблицу, когда перемещается указатель записи; поэтому, если допускается оптимистическая буферизация строки, и другой пользователь изменил значение в буферизированной записи, может также произойти ошибка.

Эти ошибки могут произойти, когда пользователь выбирает любую кнопку; поэтому, Вы не должны писать четыре отдельных подпрограммы обработки ошибок для каждой кнопки. Вместо этого, каждое событие кнопки Error содержит код, чтобы передать сведения об ошибке отдельной подпрограмме обработки ошибок в событии Error класса Видеомагнитофона.

Вы можете также включить другие обработчики ошибок, типа команд TRY...CATCH...FINALLY и ON ERROR в определениях класса и объектах. Для подробной информации о порядке и приоритете, в котором работают обработчики ошибок, см. Приоритет Обработчика Ошибок .

См. Также

Другие Ресурсы

Язык Отладки и Обработки ошибок
Структурная Обработка ошибок
Процедурная Обработка ошибок
Обработка Run-Time Ошибок

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Structured Error Handling

Visual FoxPro 9.0
Структурная Обработка ошибок
См. Также

Вы можете использовать команду TRY...CATCH...FINALLY как управляющую структуру, чтобы обрабатывать ошибки, или исключения, которые могут произойти в вашем коде в run time. Структура TRY...CATCH...FINALLY содержит блоки кода TRY , CATCH , и FINALLY так, что Вы можете определить инструкции, которые могли бы генерировать ошибки, инструкции, чтобы обработать эти ошибки, и инструкции, чтобы выполнить завершающие операции.

Структура TRY...CATCH...FINALLY начинается инструкцией TRY , которая отмечает начало блока TRY . В блоке TRY , Вы можете определить код, который мог бы вызвать ошибки в run time. Если ваша программа завершает блок TRY , не генерируя ошибки, или исключения, то он минует блок CATCH и переходит к блоку FINALLY в конце структуры, если он существует, и выполняет соответствующие инструкции. Если блока FINALLY не существует, выполнение программы продолжается за структурой, начиная с первой инструкции после инструкции ENDTRY , которая отмечает конец структуры TRY...CATCH...FINALLY .

Обратите внимание:
Visual FoxPro разрешает существование структур TRY...CATCH...FINALLY , которые не имеют блоков CATCH и FINALLY , которые передают ошибку на высокоуровневый обработчик ошибок.

Вы можете также вложить структуры TRY...CATCH...FINALLY в блоки TRY , CATCH , или FINALLY .

Следующие разделы описывают задания обработки ошибок, которые Вы можете исполнить в этих блоках кода:

  • Генерирование Исключений

  • Захват Исключений

  • Передача Исключений на высокий уровень

  • Немедленное прекращение команды TRY...CATCH...FINALLY

  • Использование Команд в TRY...CATCH...FINALLY

  • Выполнение инструкции FINALLY

Для подробной информации, см. TRY...CATCH...FINALLY Команда .

Генерирование Исключений

Visual FoxPro генерирует или "устраивает" исключение и создает объект Exception , который содержит подробности об ошибке, когда ошибка происходит в блоке TRY в следующих местах:

  • Строка программы. Он включает вызовы внешних процедур, которые содержат ошибки, но не содержит собственных обработчиков ошибок.

  • Обращение к объекту из метода, когда код метода содержит ошибки, а объект не содержит кода события Error .

    Иначе, если код события Error существует, событие Error для этого объекта обрабатывает ошибку, если метод не содержит собственного обработчика ошибок TRY...CATCH...FINALLY .

Обратите внимание:
Вы не можете выполнить код когда содан объект Exception . Созданный объект Exception , всегда существует как экземпляр базового класса Exception . Если Вы хотите использовать подкласс класса Exception , Вы должны повторно вызвать исключение в блоках CATCH или FINALLY . Только програмные файлы Visual FoxPro (.prg) поддерживают объекты Exception , хотя Вы можете вызвать исключения из форм, выполняющихся в среде проектирования. Вы не можете вызвать объекты Exception из COM объектов в файлах библиотек динамической компоновки (.dll) или исполняемых файлах (.exe). Для подробной информации, см. Exception Class .

После того, как происходит ошибка, Visual FoxPro обрабатывает или "захватывает" исключение, переходя к первой инструкции CATCH , и ищет соответствующие инструкции в блоке CATCH , чтобы обработать исключение.

Захват исключения

Программа просматривает инструкции CATCH в порядке их появления в блоке CATCH , чтобы определить существующие инструкции для обработки исключения. Если программа находит инструкцию CATCH , которая обрабатывает исключение, программа, выполняет соответствующий код.

Инструкция CATCH может содержать дополнительные предложения TO и WHEN . Вы можете хранить ссылку на созданный объект Exception , определяя переменную памяти с использованием парметра VarName в предложении TO . Если Вы хотите задать условие для выполнения блока CATCH , Вы можете определить логическое выражение в предложении WHEN , которое должно быть приведено к Истине (.T). перед тем как инструкции блока CATCH будут выполняться. Инструкции CATCH работают подобно инструкциям CASE и предложение WHEN должно быть равно логическому выражению. Если опций TO и WHEN не существуют, инструкция CATCH рассматривается как CATCH WHEN .T. (Истина).

После того, как программа выполняет инструкции в блоке CATCH , она не возвращается к инструкции TRY , и она не ищет другой инструкции CATCH . Вместо этого, программа переходит непосредственно к инструкции FINALLY , если она существует, для выполнить любые других оставшихся инструкций. Иначе, программа завершает выполнение структуры TRY...CATCH...FINALLY и переходит к инструкции, которая немедленно следует за ENDTRY .

Эскалация исключений

Если Вы хотите передать или "повторно вызвать" исключение в обработчик ошибок более высокого уровня, Вы можете включить инструкцию THROW . Вы можете вызвать THROW из любого блока кода структуры TRY...CATCH...FINALLY. Тем не менее, Вы можете использовать THROW в любом месте кода, где существует обработчик ошибок для перехвата исключений. Вы не можете вызвать THROW из окна Command.

Предостережение:
Вызов команды THROW вне структуры TRY...CATCH...FINALLY и без соответствующего обработчика ошибок заставляет вашу программу закончить выполнение.

Если Вы используете THROW вне раздела TRY...CATCH , где вызванное исключение обработывается процедурой ON ERROR или системой Visual FoxPro вместо события Error , выполнение программы не возвращается в то место, где была вызвана инструкция THROW . Следующий пример показывает почему строка программы ?2 не выполняется. Это поведение отличается от традиционного поведения при обработке ошибок, когда выполнение программы возвращается к месту возникновения ошибки:

Скопировать код
ON ERROR ? ERROR()
DO myProc1
PROCEDURE myProc1
   ?1
   THROW 11
   ?2
ENDPROC

Помните что намеренный вызов THROW предназначен для передачи исключения обработчику ошибок более высокого уровня.

Если существует внешний блок TRY...CATCH рядом с инструкцией THROW , когда она вызывается изнутри блока CATCH или FINALLY , Visual FoxPro переназначает переменную памяти, указанную в предложении TO со ссылки к объекту предыдущего исключения на ссылку к объекту последнего исключения, созданного вызванным исключением. Если не существует никакой внешней структуры TRY...CATCH , Visual FoxPro передает исключение в процедуру ON ERROR или в событие ошибки, если они существуют. В противном случае, Visual FoxPro выводит соответствующее системное сообщение об ошибке.

Немедленный выход из TRY...CATCH...FINALLY

Вы можете выйти из блока кода немедленно включением инструкции EXIT в блоках TRY или CATCH . Программа продолжает выполнять код инструкции FINALLY , если он существуете, или переходит на строку, следующую сразу за инструкцией ENDTRY .

Использование Команд в TRY...CATCH...FINALLY

Вы можете использовать разные команды Visual FoxPro, которые влияют на нормальное выполнение кода изнутри блоков TRY или CATCH . Однако, если Вы используете одну из этих команд, которые не разрешаются для определенного блока, Visual FoxPro генерирует ошибку в run time. Инструкции FINALLY всегда выполняются перед обработкой этих команд, кроме случаев использования CANCEL или QUIT . Следующая таблица перечисляет команды Visual FoxPro, которые Вы можете и не может использовать в блоках TRY , CATCH , или FINALLY .

Команда | TRY | CATCH | FINALLY
CANCEL | Да | Да | Да
CLEAR ALL | Да | Нет | Нет
CLOSE ALL | Да | Да | Да
DOEVENTS | Да | Да | Да
ERROR | Да | Да | Да
EXIT | Да | Да | Да
LOOP | Нет | Нет | Нет
QUIT | Да | Да | Да
RELEASE | Да | Да | Да
RESUME | Да | Да | Да
RETRY | Нет | Нет | Нет
RETURN | Нет | Нет | Нет
RETURN TO MASTER | Нет | Нет | Нет
RETURN TO < ProcedureName > | Нет | Нет | Нет
SET STEP ON | Да | Да | Да
SUSPEND | Да | Да | Да
THROW | Да | Да | Да
Обратите внимание:
Вы можете включить команды типа LOOP в блоке, если Вы размещаете её во внедренной циклической конструкции типа FOR EACH...ENDOR или DO WHILE...ENDDO . Вы можете вызвать команду ERROR из блоков TRY , CATCH , или FINALLY . TRY...CATCH...FINALLY обрабатывает команду ERROR подобно любому другому исключению или использованию команды THROW .

Выполнение инструкции FINALLY

Если программа определяет местонахождение интструкции FINALLY , она выполняет код, который находится в блоке FINALLY . Блок FINALLY обычно закрывает все ресурсы, размещенные блоком TRY и всегда является последним кодом, который выполнится до завершения структуры TRY...CATCH...FINALLY .

Блок FINALLY выполняется всегда, когда происходит исключение, необработанное или другое, даже если выполняется другой обработчик исключений, типа процедуры ON ERROR или событие объекта Error .

Обратите внимание:
Вы не можете явно передать управление вашей программой непосредственно блоку CATCH или FINALLY . Вы не можете обойти интсрукцию FINALLY, если она существует, в том случае, если Вы не используете команду CANCEL , чтобы остановить выполнение программы. Если Вы желаете игнорировать интструкцию FINALLY , Вы должны предусмотреть код в начале блока FINALLY , который проверяет условие и выходит из блока, если это условие выполнено.

После выполнения блока FINALLY , программа переходит к инструкции следующей сразу после инструкции ENDTRY . Инструкция ENDTRY завершает структуру TRY...CATCH...FINALLY .

См. Также

Другие Ресурсы

Класс и Объектная Обработка ошибок
Процедурная Обработка ошибок
Приоритет Обработчика Ошибки
Отладка и язык Error-Handling
Обработка ошибок Run-Time
Испытание и Отладка Приложений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error Handler Priority

Visual FoxPro 9.0
Приоритет обработчика ошибок
Cмотрите также

Visual FoxPro предоставляет несколько обработчиков ошибок, которые вы можете использования для обнаружения и обработок ошибок в коде программы.

Caution note Предупреждение

Использование операторов TRY...CATCH в процедурном коде метода класса, чье определение не имеет события Error или в программном коде метода может влиять на существующий код и сделать невозможным совместимость назад, для более ранних версий Visual FoxPro.

В приведенной ниже таблицы сведены приоритеты обработчиков ошибок.

Когда присутствует только приведенный ниже обработчик ошибок Приоритет обрабочика ошибок

Обработчик отсутствует или существующий не в состоянии обработать ошибку

Системное сообщение об ошибке Visual FoxPro

Команда ON ERROR

ON ERROR имеет преимущество, пока не вызван другой обработчик ON ERROR или пока не восстановлено системное сообщение об ошибке Visual FoxPro.

В противном случае, Visual FoxPro отобразит системное сообщение об ошибке.

Команда TRY...CATCH...FINALLY

TRY...CATCH...FINALLY имеет преимущество, когда ошибка происходит в блоке TRY.

В противном случае, Visual FoxPro отобразит системное сообщение об ошибке.

Событие Error или метод

Error имеет преимущество, когда ошибка происходит в коде метода объекта.

В противном случае, Visual FoxPro отобразит системное сообщение об ошибке.

Команда TRY...CATCH...FINALLY и команда ON ERROR

TRY...CATCH...FINALLY имеет преимущество, когда ошибка происходит в блоке TRY.

ON ERROR имеет преимущество, когда:

  • Ошибка происходит вне блока TRY.

  • Ошибка происходит в блоке CATCH.

  • Ошибка происходит в блоке FINALLY.

В противном случае, Visual FoxPro отобразит системное сообщение об ошибке.

Событие Error или ON ERROR

Error имеет преимущество, когда ошибка происходит в коде метода объекта.

ON ERROR имеет преимущество, когда:

  • Ошибка происходит вне определения класса.

  • Ошибка проимходит внутри определения класса, но вне кода метода. Ошибка определяется в точке инициализации объекта.

В противном случае, Visual FoxPro отобразит системное сообщение об ошибке.

Команда TRY...CATCH...FINALLY или событие Error

TRY...CATCH...FINALLY имеет преимущество, когда:

  • Ошибка произошла в блоке TRY вне определения класса.

  • Ошибка произошла в коде метода объекта и он находится внутри блока TRY block.

  • Ошибка имеет начало в определении класса вне кода метода, но наступила в блоке TRY вне определения класса.

  • Ошибка произошла в блоке TRY внутри внешней процедуры или коде метода объекта, а метод или процедура вызваны напрямую из другого метода, независимо от того, где появился вызов метода - внутри или извне блока TRY.

Error имеет преимущество, когда:

  • Ошибка произошла внутри кода метода, но вне блока TRY.

  • Ошибка произошла в коде метода объекта, а метод был вызван напрямую из другого метода, независимо от того, где появился вызов метода - внутри или извне блока TRY.

    Note Замечание

    Если вызов метода осуществлен в блоке TRY, и не существует ближайщего события Error или не существует кода метода для этого объекта, Visual FoxPro будет искать код для события Error, наследуемый из родительского класса или иного класса вверх по иерархии класса. Если не существует кода для Error в иерархии класса, Visual FoxPro будет искать блок CATCH, соответствующий блоку TRY, из которого был вызван метод.

В противном случае Visual FoxPro отобразит системное сообщение об ошибке.

Резюме об обработке ошибок в коде метода объекта

Для ошибок, случившихся в коде метода объекта, порядок приоритетов для обработчиков ошибок определяется так, как представлено ниже:

  • Непосредственный TRY...CATCH, если он существует, в том же методе, в котором произошла ошибка. Это применяется и к внешним процедурам, которые вызываются в методе.

  • Событие Error объекта, если оно существует.

  • TRY...CATCH следующего уровня в цепочке вызовом или в методе уровнем выше.

  • Процедура ON ERROR, если она существует.

  • Системное сообщение об ошибке Visual FoxPro.

Для получения более подробной информации о приоритетах обработки ошибок внутри структуры TRY...CATCH...FINALLY смотрите описание Приоритет обработки ошибки в структурах TRY...CATCH...FINALLY - ниже в этом же топике. Для получения более подробной информации о приоритетах обработки ошибок в классах и объектах смотрите описание Приоритет обработки ошибки в классах и объектах - ниже в этом же топике.

Приоритет обработки ошибки в структурах TRY...CATCH...FINALLY

В приведенной ниже таблице сведены последовательности действий при обработке ошибок или команд THROW в блоке TRY структуры TRY...CATCH...FINALLY.

Когда существует указанный ниже обработчик ошибок и ошибка происходит в первом указанном блоке кода Последовательность действий

Не существует обработчика ошибок

Отображается соответствующее системное сообщение об ошибке Visual FoxPro.

Блок кода CATCH

Ошибку обрабатывает блокCATCH.

Блок кода CATCH, блок кода FINALLY

Блок кода CATCH обрабатывает ошибку, затем исполняется код блока FINALLY.

Исполняется внутренний блок кода CATCH, затем внутренний блок кода FINALLY внешнего блока структуры TRY.

Внутренний блок кода CATCH обрабатывает ошибку. Внутренний блок кода FINALLY исполняется. Внешний блок кода FINALLY исполняется.

Если не существует внутренного блока кода CATCH, то исполняется код блока FINALLY, внешний блок кода CATCH обрабатывает ошибку и исполняется внешний блок кода FINALLY.

Код блока CATCH, код блока FINALLY, команда ON ERROR

Блок кода CATCH обрабатывает ошибку. Затем исполняется кода блока FINALLY. Затем исполняется команда ON ERROR.

Если не существует блока кода CATCH, исполняется блок кода FINALLY, а ошибку обрабатывает команда ON ERROR.

Блок кода CATCH, блок кода FINALLY и блок кода события Error.

Код блока CATCH обрабатывает ошибку. Затем исполняется код блока FINALLY. Затем исполняется код события Error.

Если не существует блока CATCH, то исполняется код блока FINALLY и затем событие Error обрабатывает ошибку.

Для получения более подробной инфорамции о том, как структуры TRY...CATCH...FINALLY обрабатывают ошибки смотрите описание Структурированная обработка ошибок.

Приоритеты обработки ошибка в классах и объектах

Когда ошибка происходит в коде метода объекта, а метод вызван непосредственно или из блока TRY структуры TRY...CATCH...FINALLY, Visual FoxPro следует процедуре обработки ошибка для этого конкретного объекта. Такой протокол позволяет вас поддерживать инкапсуляцию и управлять вашими компонентами. Обычно, событие Error объекта, если оно существует, имеет преимущество над прочими обработчиками ошибок, если код метода объекта содержит свою собственную структуру TRY...CATCH...FINALLY structure.

Для получения более подробной информации об обработке ошибок для классов и объектов смотрите описание Обработка ошибок класса и объекта.

Примеры приоритетов обработки ошибок для кода метода объекта

В приведенном ниже примере, в котором класс содержит событие Error, код создает экземлпяр объекта из пользовательского класса с именем MyObjectClass, в котором определены два метода, содержащих блоки TRY...CATCH, один метод, который содержит ошибку и событие Error. Объект далее вызывает два определенных в классе метода.

Блок TRY в Method1 содержит вызов пользовательского метода RaiseError, которые генерирует ошибку. Однако, блок CATCH в Method1 не обрабатывает эту ошибку; вместо этого, код события Error класса обрабатывает эту ошибку и отображает указанное сообщение. Если событие Error не существует, блок CATCH в Method1 смог бы отобразит указанное сообщение.

В противополжность этому, когда ошибка происходит до блока TRY в Method2, событие Error обрабатывает эту ошибку отображением указанного сообщения. Когда в блоке TRY в Method2 происходит вторая ошибка, блок CATCH обрабатывает вторую ошибку и отображает указанное сообшение.

CopyCode image Скопировать код
CLEAR
oMyObject = CREATEOBJECT("MyClass")
oMyObject.Method1()
?
oMyObject.Method2()

DEFINE CLASS MyClass AS Custom
   PROCEDURE Method1
      ? "Method1"
      TRY
         ? "Вызов метода RaiseError в блоке TRY для Method1."
         This.RaiseError()
      CATCH
         ? "Работает блок CATCH для Method1. Ошибка поймана."
      ENDTRY
   ENDPROC

   PROCEDURE Method2
      ? "Method2"
      ? "Ошибка гененируется до блока TRY в Method2."
      ERROR 1
      TRY
         ? "Генерируется ошибка в блоке TRY в Method2."
         ERROR 1
      CATCH
         ? "Работает блок CATCH метода Method2. Ошибка поймана."
      ENDTRY
   ENDPROC

   PROCEDURE RaiseError
      ? "Работает метод RaiseError. Генерируется ошибка."
      ERROR 1
   ENDPROC

   PROCEDURE Error(t1,t2,t3)
      ? "Сработало событие Error объекта, созданного из класса MyObjectClass."
   ENDPROC
ENDDEFINE

В приведенном ниже примере, в котором класс не содержит события Error, код создает экземлпяр объекта из пользовательского класса с именем MyClass, в котором определены два метода: первый из них содержит блок TRY...CATCH, тогда как второй такого блока не содержит.

Блок TRY в myMethod1 содержит вызов метода myMethod2, который генерирует ошибку. Блок CATCH в Method1 обрабатывает эту ошибку и отображает сообщение с информацией о сгенерированной ошибке Visual FoxPro.

Однако, если пример вызывает метод myMethod2 напрямую, например с помощью oMyObject.myMethod1() в oMyObject.myMethod2(), тогда предложению ON ERROR DO errorHandler нужно указать функциональную процедуру с именем errorHandler для обработки ошибки в myMethod2. После обработки ошибки, процедур ON ERROR возвращает управление программе с тем, чтобы могло быть исполнено предложение, следующее за предложением, вызвавшим ошибку.

CopyCode image Скопировать код
CLEAR
ON ERROR DO errorHandler && Создается функциональный обработчик ошибок для теста.
oMyObject=CREATEOBJECT("myClass")
oMyObject.myMethod1()
* oMyObject.myMethod2()  && Удалите символ комментария для тестирования этой строки кода.

DEFINE CLASS myClass AS Custom

   PROCEDURE myMethod1
      ? "myMethod1"
      TRY
         ? "Вызов myMethod2 в блоке TRY метода myMethod1."
         THIS.myMethod2()
      CATCH TO omyError
         ? "Работает блок CATCH метода myMethod1. Захвачены: ", ;
            omyError.ErrorNo, " ", omyError.Message
      ENDTRY
   ENDPROC

   PROCEDURE myMethod2
      ?
      ? "myMethod2"
      ? "Генерация ошибки в myMethod2."
      x=y         && Переменная  y не существует. Эту ошибку обрабатывает CATCH.
      ? "Эта строка отображается, если CATCH не обработал предществующую ему ошибку."
   ENDPROC
ENDDEFINE

Смотрите также

Концепции

Обработка ошибок Run-Time

Прочие ресурсы

Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using the Debugger

Visual FoxPro 9.0
Использование Отладчика (Debugger)

После выяснения проблемных, критических точек в Тестируемой Программе, вы можете использовать подсистему Visual FoxPro Debugging, которая позволяет выполнить следующие вспомогательные Операции:

  • Запустить независимую сессию Отладчика

  • Выполнить Трассировку программного Кодп Модуля

  • Остановить выполнение Программы в некоторой строке Кода

  • Просмотреть Значения Переменных

  • Отобразить результаты результирующих значений

В Данной Секции

Как: Использовать Отладчик (Debugger)

Описываются способы использования Отладчика для отслеживания хода выполнения программного модуля.

Как: Приостановить выполнение Программы

Рассматриваются варианты использования контрольных точек (BreakPoints) для приостановки выполнения программы. Контрольные точки обычно используются для остановки выполнения программы в некоторой позиции, в которой Разработчик может просмотреть текущие значения переменных памяти, свойств Объектов; проверить текущие системные установки переменных Среды Данных, просмотреть фрагмент программного кода, выполняемого в текущий момент.

Как: Просмотреть Значения переменных и свойств

Рассматриваются варианты просмотра значений переменных текущей области видимости, элементов массивов, свойств Объектов, размещаемых в секциях Отладчика: Locals, Watch, Trace.

Системное Окно Output Display

Рассматриваются вопросы отображения и сохранения для дальнейшего анализа Отладочной информации.

Описание

Системное окно Trace

Описывается системное окно Trace (трассировки), в котором отображаются фрагменты выполняемого в настоящий момент программного кода.

Системное окно Debugger

Описывается системное окно Debugger (отладчика); приводятся ссылки на дополнительные разделы, в которых рассматриваются функциональные возможности Отладчика (Debugger).

DEBUG, команда

Приводится информация по использованию стандартной команды DEBUG, которая отерывает системное окно Debugger.

Связанные Разделы

Тестирование и Отладка Приложений

Приводятся ссылки на дополнительные разделы, описывающие способы и методы Отладки ваших Приложений.

Как: Использовать подсистему автоматического тестирования (Automated Test Harness)

Рассматриваются ключевые вопросы использования подсистемы Automated Test Harness, позволяющей автоматизировать процессы Тестирования Приложений с помощью создания и выполнения специальных Скриптов. Работа одсистемы Automated Test Harness основана на Записи и выполнении сценариев событий для Mouse, KeyBoard с помощью технологии Microsoft Active Accessiblity.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


How to: Use the Debugger

Visual FoxPro 9.0
Как: использовать Debugger
Смотрите также

Вы можете использовать Visual FoxPro Debugger для трассировки кода во время исполнения.

Запуск отладочной сессии

Вы можете запустить отладочную сессию, путем открытия отладочного окружения.

Для того, чтобы открыть Debugger

  • Из меню Tools, выберите Debugger.

    Замечание Замечание

    Если вы занимаетесь отладеой в окружении Visual FoxPro, выберите отладочный инструмент, который вы желаете открыть из меню Tools.

Вы можете, кроме того, открыть Debugger любой из следующих команд:

  • DEBUG

  • SET STEP ON

  • SET ECHO ON

Debugger откроется автоматически, когда в программном коде встретиться точка останова.

Трассировка по коду

Одной из наиболее полезных отладочных стратегий по вашим управлением является способность трассировки по коду, позволяющая видеть каждую строку кода при исполнении и проверять значения всех переменных, свойств и установок окружения.

Для трассироваки через код

  1. Запустите отладочную сессию.

  2. Если пока не открыто ни одной программы в окне Trace выберите Do из меню Debug.

  3. Выберите Step Into из меню Debug или щелкните на кнопке Step Into панели инструментов.

Стрелка в серой области слева от кода указывает на строку, которая будет исполнена по порядку следования.

Замечание Совет

Применяйте приведенные ниже советы:

Если вы нашли проблему во время отладки программы или объектного кода, вы можете немедленно зафиксировать ее.

Для фиксации проблем, обнаруженных во время трассировки кода

  • Из меню Debug выберите Fix.

Когда вы выбираете Fix из меню Debug, исполнение программы прекращается и открывается окно редактирования, где курсор будет установлен на проблемную строку.

Смотрите также

Задачи

Как: увидеть хранимые значения

Справочное руководство

Отображение вывода
Окно Trace
Окно Debugger

Прочие ресурсы

Использование отладчика - Debugger
Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Suspend Program Execution

Visual FoxPro 9.0
Как: приостановить исполнение программы
Смотрите также

Точки останова позволяют вам приостановить исполнение программы. Когда исполнение программы будет приостановлено, вы можете проверить значения переменных и свойств, посмотреть установки среды и исследовать разделы кода построчно без необходимости прохождения через весь ваш программный код.

Note Советы

Вы, кроме того, можете приостановить исполнение программы, запущенной в окне Trace (Трассировка) нажатием клавиши ESC.

Suspending Execution at a Line of Code (Приостановка исполнения на строке кода)

Вы можете в вашем программном коде установить точки останова для приостановки исполнения программ несколькими различными способоами. Если вы знаете, где вы желаете приостановить исполнение программы, вы можете установить точку останова на этой строке кода.

Чтобы установить точку останова на конкретной строке кода

  1. В окне Trace (Трассировка) найдите строку кода, на которой вы желаете установить точку останова.

  2. Установите на эту строку курсор.

  3. Выполните одно из приведенного ниже:

    • выполните двойной щелчок в серой области слева от строки кода;

    • в полоске инструментов Debugger (Отладчика) щелкните по командной кнопке Toggle Breakpoints (Переключить точку останова);

    • нажмите F9.

Слева от строки кода в серой области появится большая точка, указывающая, что на этой строке установлена точка останова.

Note Советы

Если вы отлаживаете объекты, вы можете найти конкретные строки кода в окне Trace (Трассировки) выбрав объект из выпадающего списка Object (Объект), а также метод или событие из выпадающего списка Procedure (Процедура).

Вы, кроме того, можете установить точки останова указанием размщений и файлов в диалоговом окне Breakpoints (Точки останова).

Примеры размещений и файлов для точек останова
Размещение | Файл | Где будет приостановлено исполнение
ErrHandler | C:\Myapp\Main.prg | На первой исполнимой строке в процедуре с именем ErrHandler в файле Main.prg.
Main,10 | C:\Myapp\Main.prg | На десятой исполнимой строке в программе с именем Main.
Click | C:\Myapp\Form.scx | На первой исполнимой строке любой процедуры, функции, метода или события с именем Click в файле Form.scx.
cmdNext.Click | C:\Myapp\Form.scx | На первой исполнимой строке, ассоциированной с событием Click объекта cmdNext в файле Form.scx.
cmdNext::Click |  | На первой исполнимой строке в событии Click любого элемента управления, чьим родительским классом (ParentClass) является cmdNext в любом файле.

Приостановка исполнения при изменении значения

Если вы желаете знать, когда будет изменено значение переменной или свойства, или когда будет изменено условие в run-time, вы можете установить точку останова на выражении.

Чтобы установить точку останова на момент изменения значения или выражения

  1. В меню Tools (Инструменты) в окне Debugger (Отладичка) выберите Breakpoints (точки останова) для вывода диалогового окна Breakpoints (Точки останова).

  2. Из списка Type (Тип) выберите Break when expression has changed (Остановить при изменении выражения).

  3. Введите выражение в боксе Expression (Выражение).

Примеры выражений для точек останова
Выражение | Используется
RECNO( ) | для приостановки исполнения, когда указатель записи смещается в таблице.
PROGRAM( ) | для приостановки исполнения на первой строке любой новой программы, процедуры, метода или события.
myform.Text1.Value | для приостановки исполнения в любое время, когда значение этого свойства изменяется интерактивно или программно.

Приостановка исполнения по условию

Достаточно часто появляется желание приостановить исполнение программы не на конкретной строке кода, а в случае, когда определенное выражение оценивается в истину (true).

Чтобы приостановить исполнение программы, когда выражение оцентивается в true

  1. В меню Tools (Инструменты) в окне Debugger (Отладичка) выберите Breakpoints (точки останова) для вывода диалогового окна Breakpoints (Точки останова).

  2. Из списка Type (Тип) выберите Break when expression is true (Остановить при оценке выражения в true).

  3. В боксе Expression (Выражение) введите желаемое выражение.

  4. Щелкните по Add для добавления точки останова в список Breakpoints (Точки останова).

Примеры выражений для точек останова
Выражение | Используется
EOF( ) | для пристановки исполнения, когда указатель записи переместился за последнюю запись в таблице.
'CLICK'$PROGRAM( ) | для пристановки исполнения на первой строке кода, ассоциированного с событием Click или DblClick.
nReturnValue = 6 | Если возвращаемое значение из окна сообщения (messagebox) сохраняется в переменной nReturnValue, то исполнение будет приостановлено, когда пользователь щелкнет по кнопке Yes (Да) окна вывода сообщения.

Приостановка исполнения по условию на строке кода

Вы можете указать, что исполнение программы будет приостановлено на конкретной строке кода только в том случае, когда конкретное выражение будет оценено в true.

Чтобы приостановить исполнение на конкретной строке кода при оценке выражения в true

  1. В меню Tools (Инструменты) в окне Debugger (Отладичка) выберите Breakpoints (точки останова) для вывода диалогового окна Breakpoints (Точки останова).

  2. Из списка Type (Тип) выберите Break at location if expression is true (Остановить в месте, где выражение будет оценено в true).

  3. Укажите место в боксе Location (Размещение).

  4. В боксе Expression введите желаемое выражение.

  5. Щелкните по Add для добавления точки останова в список Breakpoints (Точки останова).

  6. Щелкните по OK.

    Note Советы

    Иногда проще найти строку кода в окне Trace (Трассировка), установить точку останова, а лишь затем отредактировать ее в диалоговом окне Breakpoints (точки останова). Для редактирования изменение Type (Тип) из Break at location в Break at location if expression is true и затем введите выражение.

Removing Breakpoints (Удаление точек останова)

Вы можете запретить точки останова без удаления их в диалоговом окне Breakpoints (Точки останова). Вы можете удалить точки останова типа "break at location" в окне трассировки - Trace.

Чтобы удалить точки останова из строки кода

  • В окне Trace (Трассировка) найдите точку останова и выполните одно из приведенного ниже:

    • установите курсор на строку кода и затем в полоске инструментов Debugger (Отладчика) щелкните по командной кнопке Toggle Breakpoints (Переключить точку останова);

      - или -

    • выполните двойной щелчок в серой области слева от строки кода.

Смотрите также

Задачи

Как: использовать Debugger (Отладчик)
Как: посмотреть хранимые значения

Справочное руководство

Отображение вывода
Окно Trace (Трассировка)
Окно Debugger (Отладчик)

Прочие ресурсы

Использование Debugger (Отладчика)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: See Stored Values

Visual FoxPro 9.0
Как: увидеть хранимые значения
Смотрите также

В окне Debugger, вы можете легко увидеть run-time значения переменных, элементы массивов,свойства и выражения в окнах, список которых приведен ниже:

  • Окно Locals

  • Окно Watch

  • Окно Trace

Просмотр хранимых значений в окне Locals

Окно Locals отображает все переменные, массивы, объекты и членов объекта, которые видимы в любой программе, процедуре или методе в стеке вызовов. По умолчанию, в окне Locals отображаются значения для текущей исполняемой программы.

Для просмотра хранимых значений в окне Locals

  • В списке Locals For выберите программу или процедуру.

Вы можете пройти внутрь массивов или объектов путем щелчка на знаке (+) сбоку от имени массива или объекта в окнах Locals и Watch. Когда вы спускаетесь вниз по элементам, вы можете видеть значения всех элементов в массиве и все значения свойств в объектах.

Вы можете даже изменить значения в переменных, элементах массива и свойств в окнах Locals и Watch путем выбора переменной, элемента или свойства с последующим щелчком в колонке Value и впечатыванием нового значения.

Просмотр хранимых значений в окне Watch

Вы можете видеть хранимые значения в окне Watch. Значение и тип выражения появляются в списке окна Watch. Значения, которые были изменены отображаются в окне Watch красным цветом.

Замечание Замечание

Вы не можете в окне Watch ввести выражение, которое создает объекты.

Для просмотра хранимых значений в окне Watch

  • В боксе Watch окна Watch впечатайте любое действительное выражение Visual FoxPro и нажмите на ENTER.

Кроме того, вы может выбрать переменные или выражения в окне Trace или других окнах отладчика и перетащить их в окно Watch.

Для удаления предмета из списка окна Watch

  • Выберите предмет и выполните одно из приведенного ниже:

    • Нажмите DEL.

      -или-

    • Из контекстного меню выберите Delete Watch.

Для редактирования наблюдаемого предмета

  • Выполните двойной щелчок на наблюдаемом предмете в окне Watch и отредактируйте его на месте.

Просмотр хранимых значений в окне Trace

Вы можете видеть хранимые значения в окне Trace в виде блока подсказки (tip) конкретного предмета.

Для просмотра хранимых значений в окне Trace

  • В окне Trace переместите курсор на элемент, значение которого вы желаете увидеть. В Visual FoxPro 9.0, вы можете отобразить значение констант времени компиляции #DEFINE.

Подсказка значения в окне Trace

TraceValueTip screenshot foxpro

Смотрите также

Задачи

Как: использовать отладчик (Debugger)
Как: приостановить исполнение программы
Как: записать последовательность Code Coverage

Справочное руководство

Отображение вывода

Концепции

Обработка ошибок Run-Time

Прочие ресурсы

Использование отладчика (Debugger)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.
Перевод выполнен JS.


Output Display

Visual FoxPro 9.0
Системное окно Output
См. также
CollapseAll image

С помощью команды DEBUGOUTвы можете записать значения требуемых переменных в системное окно "Debug Output", создать некоторый файл Журнала выполнения программного модуля. Аналогично, вы можете использовать для указанных целей команду SET DEBUGOUT TO, или использовать Закладку Debug соответствующего Диалогового бокса Options.

Если вы используете указанную выше команду DEBUGOUT в текстовом файле, то системное окно Debug Output должно быть открыто до того момента, когда требуемые значения будут определены в команде DEBUGOUT. Например, при выполнении приведенного далее фрагмента программного кода в системном окне Debug Output отображается текущее время выполнения тестируемого программного модуля:

CopyCode image Копировать Код
DEBUGOUT DATETIME( )

Дополнительно, вы можете включить механизм Event Tracking (Отслеживание Событий), и выбрать имя переменной или параметра, которые характеризуют свершение отслеживаемых Событий, и значения которых отображаются в системном окне Debug Output (Окне Результатов Отладчика).

Expand image См. также

Задачи

Как: Использовать Отладчик (Debugger)
Как: Просмотреть Значения Переменных
Как: Просматривать журнал "Code Coverage"
Как: Остановить выполнение Программы

Концепции

Обработка Ошибок в режиме Run-Time

Другие ссылки

Использование Отладчика

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Compiling an Application

Visual FoxPro 9.0
Компиляция Приложений

При создании вашего приложения как единого целого, вы можете проверить его функциональность, работу различных его подсистем. После создания и тестирования различных компонент, размещаемых в вашем проекте, вы можете создать один файл приложения, содержащий все необходимые компоненты, такие как: Формы, Отчеты, Меню, программные модули, а также другие файлы, размещаемые внутри данного файла приложения, который отправляется вашим заказчикам по разработке приложения.

В данном Разделе

Исключение модифицируемых файлов из Компоновки

Объясняется, какие файлы нужно исключить из прцесса компоновки файла приложения, чтобы они оставались изменяемыми при работе данного приложения.

Как: Исключить файлы из процесса Компоновки приложения

Объясняется, как исключить некоторые файлы из создаваемого файла приложения, обеспечивая возможность их дальнейшей корректировки.

Как: Компоновать Приложение

Объясняется, как скомпоновать файл приложения из построенного проекта.

Как: Запустить на выполнение Приложение

Объясняется, как запустить на выполнение только что построенное приложение.

Связанные разделы Справки

Тестирование и Отладка Приложений

Объясняются процессы испытаний и отладки вашего приложения, с помощью данной информации вы можете найти и откорректировать любые ошибки, которые еще имеются в ваших приложениях.

Распространение (Distributing) Приложений

После создания и этапа тестирования вашего приложения наступает этап подготовки дистрибутива вашего приложения. В этом разделе содержится информация о необходимых компонентах программной системы, инструкции по созданию дистрибутивных дисков и т.д.

Разработка Приложений Visual FoxPro

Содержит концептуальную информацию о проектировании и разработке пользовательских приложений в Visual FoxPro; содержит инструкции по созданию Баз Данных, дизайну пользовательского интерфейса, другим важным задачам создаваемых приложений.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Excluding Modifiable Files from Builds

Visual FoxPro 9.0
Исключение Изменяемых Программных файлов из Сборки (компиляции)
См. Также

Вероятно, что Проект вашего Приложения содержит программные файлы, которые могут изменяться конечным Пользователем в процессе работы данного Приложения, например Таблицы, структуры которых могут быть изменены. Однако, когда вы выполняете Сборку вашего Приложения из проекта Visual FoxPro, все файлы проекта укладываются в один программный, и , естественно, получают атрибут "включенный" (в Проект), и, тем самым - атрибут "только-чтение" при работе Приложения.

Для Изменяемых файлов (предполагаемых к изменению) вы можете подсоединить их к рассматриваемому Проекту, но исключить их из процесса Сборки (компиляции) Приложения. Исключенные программные файлы продолжают оставаться неотъемлемыми составляющими частями вашего Приложения. Однако, данные программные элементы не укаладываются в программный файл Приложения, поэтому могут быть изменены конечным пользователем.

Обычно, в основной программный файл Приложения включаются программные элементы: Формы, Запросы, Меню, Программные модули, Отчеты и другие файлы, которые не предполагается изменять конечным пользователем. Из процесса Сборки вы должны исключить Файлы Данных (Таблицы), Контролы ActiveX (файлы .ocx), динамические библиотеки Visual FoxPro (.fll), а также внешние модули (.dll - OS Windows). По-умолчанию, Таблицы Данных (.dbf) исключаются из Проекта, так как предполагается, что пользователь может изменять Структуры этих Таблиц при работе Приложения.

Note Примечание

Вы не можете Включить готовые Приложения (файлы .app) в текущий Проект. Вы не можете Исключить из Проекта программный файл, отмеченный как Главный (Main). Дополнительную информацию смотрите в разделе: Как: Определить Стартовую Точку (Главный файл).

Тем не менее, вам требуется внимательно проанализировать программные элементы (файлы), какие - Включить, а какие - Исключить из Приложения. Например, вы можете включить в приложение Таблицу с данными, которые не будут меняться, тем самым они будут защищены от случайного Изменения (или преднамеренного). В тоже время, если предполагается вносить незначительные изменения в файлы Отчетов, то их можно Исключить из Приложения, тогда они будут доступны для Изменения в процессе работы Приложения.

См. также

Задачи

Как: Исключить Программные файлы их Сборки (компиляции)

Другие ссылки

Компиляция Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


How to: Exclude Files from Builds

Visual FoxPro 9.0
Как : Исключить программный файл из процесса Компиляции
См. также

Перед тем как построить испольняемый, дистрибутивный (.exe) файл Приложения, исключите те файлы Проекта, которые конечные пользователи могут в дальнейшем изменять, модифмцировать, корректировать при эксплуатации вашего проекта.

Note Примечание

Если вы исключили некоторый программный элемент (файл) из проекта приложения Visual FoxPro, обеспечьте доступность данного программного элемента при работающем приложении (определите область видимости приложения). Если система Visual FoxPro не может найти или определить местоположение внешнего (исключенного) программного компонента во время выполнения Приложения, Visual FoxPro задает пользователю вопрос об указании местоположения требуемое компоненты, или сообщит о невозможности выполнить требуемый программный элемент. Например, если вы исключаете некоторую библиотеку классов, файл (.vcx), то выполняемая Форма пытается найти необходимые элементы, классы из указанной библиотеки по относительным путям поиска. Если требуемая библиотека классов - не найдена, то поиск продолжается по списку путей, указанных в команде SET PATH. Если требуемая библиотека - не найдена и в этом случае, Visual FoxPro задает пользователю запрос на указание местоположения библиотеки. Если рассматриваемая библиотека классов включена в проект пользовательского Приложения, а значит - и в дистрибутивный (.exe) файл, выполняемая Форма всегда определит требуемые компоненты из указанной библиотеки.

Для исключения программного файла из Проекта Приложения:

  1. Откройте Проект вашего Приложения.

  2. В системном окне Project Manager, выберите требуемый Программный файл (процедуру, форму, отчет, библиотеку классов....)

  3. В системном меню Project, выберите пункт Exclude (исключить).

    Note Примечание

    Если данный программный элемент (файл) уже исключен из Проекта, пункт Exclude чвляется недоступным. Вместо этого, становится доступным пункт рассматриваемого меню Include (включить).

Исключенные программные элементы (файлы) отмечены специальным символом: Ø, который располагается слева от имени файла в списках системного окна Project Manager.

Note Совет

Для просмотра полного Списка всех программных элеме текущего Проекта, выберите пункт Project Info, из системного меню Project menu. В соответствующем диалоговом боксе Project Information, активируйте Закладку Files.

Смотрите дополнительную информацию в разделах: Системное окно Project Manager и Закладка Files, Project Information, диалоговый бокс.

См. также

Задачи

Как: Компилировать Приложение

Концепции

Исключение изменяемых файлов из процесса компиляции

Другие ссылки

Компиляция (Сборка) Приложения

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Build Applications

Visual FoxPro 9.0
Как: собирать (строить) приложения
Смотрите также

После того, как вы протестировали проект вашего приложения на предмет наличия ошибок и включили в проект все необходимые файлы, вы можете собрать из проекта распространяемый файл, следуя шагам, описанным в каком-либо из приведенных ниже разделов:

  • Сборка стандартного приложения Visual FoxPro

    Описывается, как собрать файл стандартного приложения (.app) который можно запустить только при наличии инсталлированного Visual FoxPro.

  • Сборка исполнимого файла Visual FoxPro

    Описыается как собрать исполнимый файл (.exe), который можно запускать не имея Visual FoxPro.

Для получения подробной информации о сборке серверов автоматизации (Automation servers) или файлов динамических библиотек Windows (.dll) смотрите описание Как: собирать серверы автоматизации (Automation Servers).

Для получения подробной информации о тестировании проектов приложения смотрите описание задачи Как: тестировать проект.

Сборка стандартного приложения Visual FoxPro

Вы можете собрать файл стандартного приложения Visual FoxPro (.app) с помощью Project Manager (Диспетчера проекта) или команды BUILD APP. Однако, при использовании Project Manager (Диспетчера проекта) вам будет доступно большее количество опций. Для получения подробной информации об использовании команды BUILD APP смотрите ее описание в BUILD APP.

Note Замечание

Для сборки файла .app ваш проект должен иметь программу, установленную в качестве основной. Для получения более подробной информации смотрите описание задачи Как: установить стартовую точку приложения.

Для сборки файла стандартного приложения (.app)

  1. Откройте проект вашего приложения.

  2. В Project Manager (Диспетчере проекта) выберите Build (Собрать).

  3. В диалоговом окне Build Options (Параметры сборки) выберите Application (Приложение) (app).

  4. Выберите любые другие желаемые опции и щелкните по OK.

    Note Совет

    Вы можете просмотреть и сохранить сообщения, появляющиеся во время процесса сборки. Для получения более подробной информации смотрите описание задачи Как: увидеть и сохранить сообщения о сборке приложения.

  5. В диалоговом окне Save As (Сохранить как) укажите имя для файла и затем сохраните его.

Для получения более подробной информации смотрите описание Окно Project Manager (Диспетчера проекта) и Диалоговое окно Build Options (Параметры сборки).

Сборка исполнимого файла Visual FoxPro

Вы можете собрать исполнимый файл Visual FoxPro (.exe), используя Project Manager (Диспетчера проекта) или команду BUILD EXE. Однако, при использовании Project Manager (Диспетчера проекта) вам будет доступно большее количество опций. Для получения более подробной информации о команде BUILD EXE смотрите ее описание в BUILD EXE.

Note Замечание

Для сборки файла .exe ваш проект должен иметь программу, установленную в качестве основной. Для получения более подробной информации смотрите описание задачи Как: установить стартовую точку приложения.

Для сборки исполнимого файла (.exe)

  1. Откройте проект вашего приложения.

  2. В Project Manager (Диспетчере проекта) выберите Build (Собрать).

  3. В диалоговом окне Build Options (Параметры сборки) выберите Win32 executable/COM server (exe).

  4. Выберите любые другие желаемые опции и щелкните по OK.

    Note Совет

    Вы можете просмотреть и сохранить сообщения, появляющиеся во время процесса сборки. Для получения более подробной информации смотрите описание задачи Как: увидеть и сохранить сообщения о сборке приложения.

  5. В диалоговом окне Save As (Сохранить как) укажите имя для файла и затем сохраните его.

Для получения более подробной информации смотрите описание Окно Project Manager (Диспетчера проекта) и Диалоговое окно Build Options (Параметры сборки).

Note Замечание

Файл .exe работает с определенными библиотеками (.dll), которые обеспечивают завершенную среду Visual FoxPro run-time и поэтому вам необходимо включить их в дистрибутив при распространении вашего приложения. Для получения более подробной информации смотрите описание Подготовка к распространению приложений.

Смотрите также

Задачи

Как: запускать приложения

Прочие ресурсы

Распространение приложений
Компиляция приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Run Applications

Visual FoxPro 9.0
Как: Выполнить Приложение (Applications)
См. также

После завершения создания и построения файла приложения, его можно запустить на выполнение. Вы можете запустить приложение с помощью меню Program или посредством команды DO. См. дополнительно раздел команда DO.

Для запуска приложения, файла (.app)

  1. В меню Program, нажмите Do.

  2. В диалоговом боксе Do, выберите необходимое приложение .app, и запустите на выполнение.

Для запуска приложения, файла (.exe)

  • В системе Windows, выполните "double-click" на иконке соответствующего файла .exe.

Вы можете выполнить приложение .exe также из меню Program или с помощью команды DO.

См. также

Другие ссылки

Дистрибуция приложений
Компиляция приложений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Configuring Help Files for Applications

Visual FoxPro 9.0
Конфигурация файла Справки для Приложения

Вы можете настроить Файл справки для вашего приложения с целью более успешного его использования.

В данном Разделе

Как: Добавить Context Sensitive (контекстно-чувсвительную) систему Справки в ваше Приложение

Объясняется, как конфигурировать систему Справки так, что при нажатии клавиши F1 появлялся на экране именно соответствующий раздел справки, (в соответствии с решаемой в данный момент задачи).

Как: Обеспечить ответ на вопрос "А Это - что?"

Объясняется, как конфигурировать систему Справки так, что при нажатии пользователем кнопки "Что Это?" на экране появлялась необходимая, разъясняющая информация.

Как: Добавить Кнопку Справки в Форму

Описывается, как добавить специальную кнопку Справки в вашу Форму, чтобы пользователь мог эффективно использовать справочную информацию.

Описание

Команда SET HELP

Включает или Отключает подсистему Помощи в Microsoft Visual FoxPro.

Команда SET TOPIC

Определяет Список разделов Справки или конкретный раздел, который стартует при вызове пользователем системы Справки.

Команда SET TOPIC ID

Определяет конкретный раздел Справки, который появляется в программно описываемом случае обращения к справочной системе.

Связанные Разделы

Разработка Приложений в Visual FoxPro

Описываются основные концепции процесса разработки пользовательского приложения в Visual FoxPro, даются инструкции по созданию Баз Данных, построению пользовательского интерфейса, советы по созданию функциональных программных модулей, решающих различные задачи.

Как: Включать файлы в Приложение при дистрибьюции программы

Описывается, как распространять файлы вашего приложения, включать их в комплект поставки.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Add Context Sensitive Help to Applications

Visual FoxPro 9.0
Как: добавить контекстно-чувствительную помощь (Help) в приложения
Смотрите также

Введение контекстно-чувствительной помощи/подсказки (поскольку среди программистов прижились оба варианта и оба варианта точно передают смысл сущности я буду использовать их попеременно для избежания повторов в предложениях. Прим. переводчика) в приложения предоставляет пользователю приложения возможность обращаться к темам/статьям подсказки, связанным с задачами, которые они выполняют или связанные с элементами интерфейса, которые они видят в вашем приложении. Например, если пользователь видит форму для ввода данных, вы можете сконфигурировать контекстно-чувствительную помощь для предоставления статьи, связанной именно с этой формой для ввода данных.

Вы можете выбрать уровень детализации для реализации контекстно-чувствительной подсказки в ваших приложениях. Например, вы можете ассоциировать статью контекстно-чувствительной подсказки с формой или вы можете ассоциировать более подробные статьи, связанные с каждым элементов и полями на форме.

Пользователи могут обращаться к контекстно-чувствительной помощи с помощью нажатия клавиши F1. F1 разрешена для обращения к контекстно-чувствительной помощи по умолчанию.

Note Замечание

Хотя вы можете разметить какжду клавишу для активизации контекстно-чувствительной помощи с помощью команды ON KEY LABEL, нажатие клавиши F1 распознается, стандартно, как обращение к подсказке; поэтому, переопределение этой клавиши не рекомендуется. Для получения более подробной информации смотрите описание команды ON KEY LABEL.

Для введение контекстно-чувствительной помощи, вы должны указать файл подсказки для вашего приложения и затем присвоить конкретные темы подсказки объектам в вашем приложении.

Указание файла подсказки

Для указания файла подсказки для вашего приложения

  • Используйте команду SET HELP для указания имени файла подсказки, который вы желаете использовать.

    Note Совет

    Эта команда обычно включается в код установки главной программы вашего приложения.

Для получения более подробной информации смотрите описание команды SET HELP.

Например, приведенная ниже строка кода устанавливает HTML файл подсказки MyHelp.chm как файл подсказки для использования с приложением:

CopyCode image Скопировать код
SET HELP TO MyHelp.chm

Присвоение тем подсказки

Вы можете присвоить конкретные темы/статьи подсказки объектам, таким как формы, управляющие элементы или понелям инструментов вашего приложения.

Для присвоеният темы подсказки объекту

  1. В design time, выберите объект, которому вы желаете присвоить тему.

  2. В меню Window щелкните на Properties Window.

  3. В окне Properties, установите значение свойства HelpContextID на номер, ассоциированный с темой в вашем файле помощь.

Для получения более подробной информации смотрите описание свойства HelpContextID (Visual FoxPro).

Note Замечание

Для присвоения тем подсказки заголовкам меню или командам меню, вы должны включить команду SET TOPIC в процедуру, связанную с заголовком меню или командой меню. Для получения более подробной информации смотрите SET TOPIC.

Смотрите также

Задачи

Как: реалзиовать подсказку "What's This?"
Как: добавить кнопку Help в формы

Прочие ресурсы

Конфигурирование файлов помощи для приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Implement "What's This?" Help

Visual FoxPro 9.0
Как: встроить подсказку "What's This?"
Смотрите также

Подсказка "What's This?" похожа на контекстно-чувствительную подсказку в том, что она обеспечивает помощь, связанную с конкретным объектом или элементом управления на форме, который имеет фокус. Подсказка "What's This?" Help полезна тем, что она выводит краткие описание в стиле советов или определения для конкретных элементов управления. Вы можете встроить "What's This?" дополнив формы кнопкой "What's This?" (?). Пользователи обращабтся к "What's This?" щелчком по кнопке "What's This?" (?) в заголовке формы, что изменяет указатель мыши в указатель, отображающий знак вопроса, после чего они должны щелкнуть на объекте формы.

Когда вы конфигурируете ваше приложение для использования файлов WinHelp, щелчок на кнопке "What's This?" откроет всплывающее окно, в котором отобразится текст подсказки, которое исчезнет, после щелчка в каком-то другом месте формы. Когда вы конфигурируете ваше приложение для использования с файлами HTML Help, щелчок по кнопке "What's This?" откроет файл справки и отобразит статью справки в обозревателе HTML Help.

Note Совет

Старайтесь сделать топики "What's This?" Help краткими и имейте в виду, что всплывающее окошко должно отражать то, что понятно пользователю.

Для встраивания "What's This?" Help

  1. Откройте желаемую форму в Form Designer (Конструкторе форм).

  2. В меню Window (Окно) щелкните по Properties Window (Окно свойств).

  3. В окне Properties (Свойства) установите свойство формы WhatsThisHelp в True (.T.).

  4. Для отображения кнопки "What's This?" (?) Help в заголовке формы, установите свойство формы set WhatsThisButton в значение True (.T.). Установите свойство формы MaxButton в значение False (.F.) и свойство MinButton также в значение False (.F.).

  5. Для связывания справки с формой, установите свойство формы WhatsThisHelpID в номер ID, соответствующий подходящему топику в файле справки.

  6. Для связывания справки с конкретным элементом управления на форме, выберите желаемый эдемент управления и установите его свойство WhatsThisHelpID в номер ID, соответствующий подходящему топику в файле справки.

Вы можете, кроме того, использовать метод WhatsThisMode для отображения вопросительного знака "What's This?" Help, для того, чтобы пользователь мог щелкать по объектам для отображения топиков "What's This?" Help.

Для получения более подробной информации смотрите Свойство WhatsThisHelp, Свойство WhatsThisButton, Свойство WhatsThisHelpID и Метод WhatsThisMode.

Смотрите также

Задачи

Образец обеспечения What's This? Help в форме
Как: добавить контекстно-чувствительную подсказку в приложения
Как: добавить кнопки подсказки в формы

Прочие ресурсы

Конфигурирование файлов помощи для приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Help Buttons to Forms

Visual FoxPro 9.0
Как: добавить в формы кнопки Help
Смотрите также

Вы можете запрограммировать ваше приложение так, чтобы пользователь мог щелкнуть по кнопке Help (Справка) для обращения к файлу справки. Введение кнопок Help (Справка) может облегчить начинающим пользователям обращение к справке.

Note Совет

Вы можете созданить командную кнопку Help в виде класса, который в дальнейшем вы легко можете добавлять в форму.

Для добавления кнопки Help в форму

  1. В событии формы Init используйте метод SetAll для установки свойства HelpContextID для всех объектов формы в значение, которое вы присвоили подходящей статье справки.

    Например, приведенная ниже строка кода устанавливает свойство HelpContextID всех объектов в значение 7, который представляет номер ID содержания справки:

    CopyCode image Скопировать код
    THIS.SetAll("HelpContextID", 7)

  2. Добавьте в форму командную кнопку.

  3. Установите свойство Caption командной кнопки в текст, например, в Help или Справка.

  4. В ее событии Click напечатайте приведенную ниже команду:

    CopyCode image Скопировать код
    HELP ID THIS.HelpContextID

Для получения более подробной информации смотрите описания Событие Init , Метод SetAll, Свойство HelpContextID (Visual FoxPro), Свойство Caption , Click Event и Команда HELP.

Смотрите также

Задачи

Как: добавить контекстно-чувствительную подсказку в приложения
Как: встроить подсказку "What's This?"

Справочное руководство

Фундаментальный класс командной кнопки Help

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Distributing Applications

Visual FoxPro 9.0
Распространение Приложений

После завершения процесса разработки и тестирования вашего приложения, Вы можете подготовить пакет распространения приложения, включая внего все необходимые файлы, и создать дистрибутивные диски.

В данном Разделе

Процесс распространения приложений

Описываются общие принципы и пошаговая процедура создания дистрибутивного пакета вашего приложения.

Подготовка приложения к Распространению

Рассматриваются вопросы и приводятся соображения по формированию дистрибутивного пакета вашего приложения; создание среды выполнения приложения в режиме Run-Time, определяются минимальные требования к операционной системе и мощности персональной рабочей станции; рассматривается использование системной среды Visual FoxPro, использование компонент системного меню.

Использование файлов ресурсов в приложениях

Обсуждается, какие файлы ресурсов вы можете включить в распространяемое приложение для повышения его функциональности, такие как: FoxUser.dbf, файлы внешних библиотек, контролов ActiveX и компоненты COM, файлы конфигурации, справочные файлы Help, и так далее.

Распространяемые и Ограниченные к распространению файлы инструментария Visual FoxPro

Рассматриваются ограничения, которые действительны для RunTime-версии Visual FoxPro, ее функциональные особенности; указываются файлы разрешенные к распространению, и файлы, ограниченные для распространения.

Как: Включить файлы в распространяемое приложение

Объясняется, как включить файлы в дистрибутивный пакет распространяемого приложения.

Связанные Секции

Разработка приложений в Visual FoxPro

Включена концептуальная информация о разработке приложений в системе Visual FoxPro, даются конкретные инструкции по созданию Баз Данных, пользовательского интерфейса, и другим функциональным модулям, необходимым в разрабатываемом приложении.

Работа с Проектами

Описывается, как конфигурировать проект приложения, как сгруппированы файлы в проекте, как хранится бинарный код программных модулей создаваемого приложения в данном проекте.

Компиляция Приложений

Описываются способы модульного программирования функциональной части вашего приложения, тестирования отдельных компонент; дальнейшей сборки модулей в один программный файл приложения на основе проекта.

Тестирование и Отладка приложений

Обсуждаются инструментальные средства системы по отладке компонент вашего приложения; поиска невыявленных ошибок; создания единообразных обработчиков ошибок в режиме Run-Time. Visual FoxPro обеспечен развитыми инструментальными средствами отладки функциональных модулей и диспетчером обработки ошибок.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Application Distribution Process

Visual FoxPro 9.0
Процесс распространения приложения
Смотрите также

Приведенный ниже список определяет в целом шаги, необходимые для распространия приложения Visual FoxPro:

  1. Создайте и отладьте приложение, используя среду разработки Visual FoxPro.

  2. Подготовьте и настройте ваше приложение для среды run-time. Для получения более подробной информации смотрите описание Подготовка к распространению приложений.

  3. Убедитесь, что проект включает в себя все необходиые для вашего приложения файлы, включая любые файлы ресурсов, графические файлы или шаблоны. Для получения более подробной информации о типах файлов, которые вы можете включить в ваше приложение и о том, как их включить в приложение смотрите описание Файлы ресурсов в приложениях и Как: включить файлы с приложением для распространения.

    Note Замечание

    Требуемые файлы среды Runtime: Visual FoxPro требует включения определенных файлов, для того, чтобы ваше приложение нормально работало в среде runtime. Самый легкий путь включения этих файлов заключается в использовании инструмента, основанного на Windows Installer, для создания настраиваемых установочных программ (такого как InstallShield Express). Выбрав модули Microsoft Visual FoxPro 9.0 Runtime Libraries, ваша установочная программа будет содержать соответствующие файлы, необходимые для запуска ваших собственных приложений Visual FoxPro 9.0. Основные модули Visual FoxPro 9.0 должным образом обслуживают процесс инсталляции и регистрации перечисленных ниже файлов:

    • vfp9r.dll

    • vfp9t.dll

    • vfp9renu.dll

    • msvcr71.dll

    • gdiplus.dll

      Файлы Msvcr71.dll и gdiplus.dll являются частью отдельных объединяемых модулей, но они включаются автоматически, вследствие их зависимости от библиотек Visual FoxPro 9.0 Runtime. Gdiplus.dll устанавливается только на платформах до Windows 2000 (например, на Windows 98).

      Если вам требуется поддержка в runtime для дополнительных языков, выберите соотствующие объединяемые модули. Эти модули содержат конкретные библиотеки ресурса языка (например, vfp9rdeu.dll).

  4. Удалите любые запрещенные возможности или файлы Visual FoxPro из ваших приложений. Определенные возможности среды разработки не доступны в среде run-time и должны быть удалены из ващих приложений. Убедитесь, что любые файлы, которые вы планируете распространять, отвечают руководству для распространямых файлов. Для получения более подробной информации о запрещенных к распространению, а также распространямых файлах, смотрите описание Распространяемый и запрещенные к распространению возможности и файлы Visual FoxPro.

  5. Соберите файл приложения (.app), исполнимый файл (.exe) или компонент COM (сервер автоматизации) с расширениями .dll или .exe. Для получения более подробной информации о сборке приложения Компиляция приложения.

  6. Создайте инсталляционный пакет используя программу внедрения Windows Installer. Для получения более подробной информации о создании инсталляционных пакетов смотрите Репетиция: создание установочной программы приложения Visual FoxPro Application с помощью InstallShield.

    Note Замечание

    Вы должны использовать технологию Windows Installer для создания устновочной программы Setup (.msi) или объединяемых модулей (.msm), которые совместимы с Microsoft Windows Installer. Руководство Windows 2000 Logo требует, чтобы установочная программа была основана на технологии Windows Installer.

  7. Упакуйте и распространяйте ваши инсталляционные диски с любой печатной документацией. В зависимости от программы, создающей установочную программы, она может либо создать образы дисков или вам может потребоваться копировать файлы вручную. Обратитесь к документации программы, создающей установочные программы для получения более подробной информации.

Смотрите также

Концепции

Подготовка к распространению приложений

Прочие ресурсы

Распространение приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Preparation for Distributing Applications

Visual FoxPro 9.0
Подготовка к распространению приложений
Смотрите также

В этой секции описывается ряд выводов, которые вы должны учитывать при подготовке вашего приложения к распространению.

  • Выбор типа сборки

  • Вопросы железа, памяти и сети

  • Уверенность в корректном поведении в Run-Time

  • Опции меню по умолчанию

Выбор типа сборки

До того, как вы сможете распространять ваше приложение, вы должны собрать файл приложения (.app) , исполнимый файл (.exe) или COM компонент(automation server) с расширением .dll или .exe. При выборе типа сборки, которую вы желаете создать, учитывайте размер вашего конечного приложения, а также обстоятельство - установлен ли Visual FoxPro на компьютере пользователя.

В приведенной ниже таблице перечислены различия между типами сборок.

Тип сборки Описание

Файл приложения (.app)

Такой файл требует, чтобы у пользователя была инсталлирована копия Visual FoxPro. Файл .app обычно меньше по размеру, чем .exe файл.

Исполнимый файл (.exe)

Такой файл включает в себя загрузчик Visual FoxPro, поэтому не требуется, чтобы у пользователя был инсталлирован Visual FoxPro.

Вы должны предоставить два файла поддержки VFPVersionNumberR.dll и VFPVersionNumberRENU.dll, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Буквы "EN" представляют собой сокращение для английской версии. Эти файлы должны быть помещены в том же самом каталоге, что и .exe файл, или в каталоге, указанном в DOS пути. Смотрите описание команды BUILD EXE для получения подробной информации о создании и распространении исполнимых файлов.

COM сервер (файлы .dll или .exe)

Этот тип используется для создания файла, который может быть вызван другими приложениями.

В Visual FoxPro, вы можете создать два типа файлов COM сервера (.dll,бывший, OLE). Вы должны предоставлить файлы поддержки run-time, включая VFPVersionNumberR.dll, VFPVersionNumberT.dll и VFPVersionNumberRENU.dll, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Для получения более подробной информации смотрите описание задачи Как: добавить OLE объекты в приложения.

Вопросы железа, памяти и сети

Вы должны рассмотреть и протестировать минимальную среду, в которой ваше приложение сможет работать, включая количество дискового пространства и память. Результаты ваших тестов и решения других вопросов, рассмотренных в этом разделе, помогут вам определить тип сборки, а также файлы, которые вы включите в ваше приложение.

Приложение, которое вы создали может потребовать те же самые требования к железу, памяти и сетевым ресурсам, что и Visual FoxPro. Для получения более подробной информации об этих требованиях посмотрите раздел Инсталляция Visual FoxPro. Для получения дополнительной информации о создании приложений для многопользовательской среды посмотрите описание Програмимирование для совместного доступа.

Уверенность в корректном поведении в Run-Time

При распространении исполнимого файла (.exe) приложения, вы должны включить в поставку своего продукта перечисленные ниже файлы:

  • VFPVersionNumberR.dll, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro.

  • VFPVersionNumberRENU.dll

  • GDIPlus.dll

  • MSVCR71.dll

В некоторых случаях, Visual FoxPro in-process серверы, или файлы .dll могут использовать вместо полной - облегченную версию VFPVersionNumberT.dll run-time библиотеки. Для получения дополнительной информации о run-time библиотеках смотрите описания VFP9R.DLL Run-Time Library и VFP9T.DLL Run-Time Library.

Note Замечание

Если вы желаете запускать файл приложения (.exe) с использованием среды разработки Visual FoxPro, вы должны запускать .exe файл вместе с исполнимым файлов Visual FoxPro, VFPVersionNumber.exe.

Приложение, состоящее только из немодальных форм, не будет корректно работать в среде run-time, пока вы не предоставите команду READ EVENTS. Вы можете обеспечить корректную работу приложения добавлением вызывающей программы или установкой свойства WindowType.

Вы можете, кроме того, напечать DO вместе с именем файла вашего приложения (.exe) в окне Command или использовать ключ командной строки -E в строке команды, которая запускает Visual FoxPro. Например, если ваше приложение называется MYAPP, вы можете запустить его с помощью приведенной ниже командной строки:

CopyCode image Скопировать код
MYAPP.EXE -E

Ключи командной строки вынуждают приложение использовать исполнимый файл , VFPVersionNumber.exe, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Чтобы этот ключ работал корректно, файл VFPVersionNumber.exe должен находиться в пути поиска операционной системы.

Для запуска формы в среде run-time

  1. Запустите форму из программы, содержащей команду READ EVENTS.

    - или -

  2. Установите свойство формы WindowType в Modal.

Некоторые приложения Visual FoxPro жестко привязаны к системному меню Visual FoxPro. В run time, некоторые меню и команды недоступны, если не предоставлена команда READ EVENTS, а приложение, управляемое через меню заканчивает работу сразу после запуска. Используйте следующий раздел для просмотра любых меню, которые вы включаете в свое приложение.

Для получения более подробной информации о структурировании приложения с командной READ EVENTS смотрите описание задачи Как: управлять циклом событий и примеры - как структурировать приложение - в описании Компиляция приложения.

Опции меню по умолчанию

Если вы используете системное меню Visual FoxPro, ваш файл прилоожения включает в себя только приведенные ниже меню и команды меню, используемые по умолчанию.

Меню | Элементы меню
File | Close, Save, Save As, Exit
Edit | Undo, Redo, Cut, Copy, Paste, Paste Special, Select All, Find, Replace
Window | Arrange All, Hide, Hide All, Show All, Clear, Cycle, все открыте окна
Help | Contents, Search for Help on, Product Support, About Visual FoxPro

Вы можете запретить или удалить любое из этих меню или команды меню, или добавить свои собственные меню и команды в ваши run-time приложения.

Note Совет

Если ваша система меню работает в среде разработки, но закрывается сразу после запуска - проверьте - имеется ли активная команда READ EVENTS во время работы вашей системы меню. Кроме того, убедитесь, что включили команду CLEAR EVENTS, когда вы выходите из системы меню.

Для получения более подробной информации о настройке меню смотрите описание Разработка меню и полосок инструментов.

Смотрите также

Задачи

Как: включить файлы с приложением для распространения

Справочное руководство

Файлы ресурсов в приложениях

Концепции

Процесс распространения приложения
Распространяемые и запрещенные к распространению функциональные возможности Visual FoxPro и файлы

Прочие ресурсы

Распространение приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Resource Files in Applications

Visual FoxPro 9.0
Файлы ресурсов в приложениях
Смотрите также
CollapseAll image

Visual FoxPro предоставляет несколько файлов ресурсов, которые расширяют базовую функциональность ваших приложений, включая файлы ресурса FoxUser, библиотеки API и элементы ActiveX. Если вы используете эти файлы, вы должны включить их в ваш проект или в инсталляционный пакет.

В приведенной ниже таблице перечислены некоторые из файлов, которые вы можете включить в ваше приложение, просто добавив их в ваш проект. Для получения боле подробной информации о включении файлов в ваши приложения для последующего распространения смотрите описание задачи Как: добавить файлы для распространения вместе с приложением.

Если вы ... | ... то добавьте эти файлы в ваш проект
применяете настраиваемую конфигурацию для вашего приложения | Config.fpw
применяете настраиваемые установки в вашем приложении | FoxUser.dbf и FoxUser.fpt

Для получения более подробной информации о том, как включить файлы в вашу установочную программу обратитесь к справочному руководству по используемой вами установочной программе. Программа, с помощью которой создается установочная программа должна создавать упаковки установки MSI с помощью технологии Windows Installer.

Expand image Файлы ресурса FoxUser.*

Visual FoxPro содержат в себе такую полезную информацию вашего приложения, как позиции окон, конфигурацию окна Browse и определения меток. Если ваше приложение основывается на специфичных установках для любых из перечисленных элементов ресурсов, вы должны распространять вместе с приложением FoxUser и его мемо-файл или файлы ресурсов, которые вы специально создали для вашего приложения. Эти файлы ресурсов состоят из файла таблицы Visual FoxPro с ассоциированной с ней файлом мемо-полей, обычно именуемых FoxUser.dbf и FoxUser.fpt.

Note Замечание

Файл ресурса FoxUser.dbf представляет собой отдельный файл, не связанный с локальным файлом ресурса, содержащем конкретную локальную информацию о диалоговых окна и сообщениях об ошибках. Файл FoxUser.dbf содержит информацию приложения такую, как определенные вами макросы; тогда как второй тип файла ресурса содержит строки системного текста.

Expand image Файлы внешних бибилиотек

Если ваше приложение включает в себя файлы внешних библиотек таких, как файлы элементов ActiveX (.ocx) или файлы библиотек API Visual FoxPro (.fll), убедитесь, что они размещены в соответствующем каталоге в вашем установочном пакете. Вы можете совместно с вашим приложением распространять файл FoxTools.fll Visual FoxPro. Для получения более подробной информации по созданию внешних библиотек для доступа к Visual FoxPro API смотрите описание Обращение к API.

Expand image Элементы ActiveX и COM компоненты

Если вы включаете элементы ActiveX или у вас имеются серверы автоматизации (COM компонент) как часть вашего приложения, включите любые файлы .ocx и .dll в ваш проект и убедитесь, что необходимые файлы поддержки установлены в должном месте на машине пользователя.

Note Замечание

Руководство по использованию логотипа Windows 2000 Logo не рекомендует устанавливать компоненты в системный каталог Windows System. Вы можете распространять только те элементы ActiveX, на которые у вас имеется лицензия. Для серверов автоматизации вы должны, кроме того, включить в ваше приложение файлы регистрации такие, как файлы библиотек типов (.tlb) и файлы реестра (.vbr).

Если для создания дисков-дистрибутивов вы используете программу создания установочных файлов, вы можете автоматически включить эти файлы. Когда вы сделаете это, установочная программа самостоятельно убедится, что COM-компоненты зарегистрированы должным образом на машине пользователя при инсталляции приложения. Для получения более подробной информации о включении файлов в программу создания установочного пакета, смотрите справку, поставляемую вместе с программой подготовки инсталляционных пакетов.

Все пользователи могут запускать формы, содержащие элементы ActiveX; однако, ваше приложение не может выполнять определенные задачи, если они выполняются под run-time версикй Visual FoxPro. Помните о приведенных ниже правилах:

  • Ваше приложение должно запускаться под полной версией Visual FoxPro в случае, если требуется изменение форм, классов или субклассов, которые в свою очередь включают в себя элементы ActiveX.

  • Ваше приложение должно запускаться под полной версией Visual FoxPro для добавления элементов ActiveX в формы в run time. Например, для ввода в форму элемента, как это показано в приведенном ниже примере, требуется полная версия Visual FoxPro:

    CopyCode image Скопировать код
    PUBLIC frmOleNewForm
frmOleNewForm = CREATEOBJECT("form")
frmOleNewForm.Show
frmOleNewForm.ScaleMode = 3
frmOleNewForm.Addobject("NewListview","OLEControl",;
   "MSComctlLib.ListViewCtrl")
    Note Замечание

    Когда форма закрывается, элементы, введенные в нее в run time не сохраняются.

  • Для ввода в форму в run time субклассированных элементов ActiveX требуется либо run-time, либо полная версия Visual FoxPro. Например, вы можете определить субкласс RedListview основанный на классе Listview и распространять субкласс в библиотеке Olelib.vcx; в этом случае все пользователи могут добавить элемент RedListview в форму с помощью приведенного ниже программного кода:

    CopyCode image Скопировать код
    PUBLIC frmOleNewForm
frmOleNewForm = CREATEOBJECT("form")
frmOleNewForm.Show
frmOleNewForm.ScaleMode = 3
SET CLASSLIB TO CURR() + OLELIB.VCX
frmOleNewForm.Addobject("NewListview","RedListview")

Expand image Файлы конфигурации

Вы можете использовать файл конфигурации, Config.fpw, для установки множества установок, используемых Visual FoxPro по умолчанию. К примеру, вы можете изменить заголовок Visual FoxPro, цвет фона и способ навигации с помощью клавиш клавиатуры.

Если вы желаете установить для файла конфигурации признак "только для чтения", поместите его в проект и пометьте его как "included". Если вы желаете, чтобы файл конфигурации был редактируемым, поместите его в проект и пометьте его как "excluded". Распространяйте конфигурационный файл вместе с приложением или исполнимым файлом в виде отдельного файла. По умолчанию, Visual FoxPro ищет при запуске файл конфигурации с именем Config.fpw. Однако, вы можете указать иное имя для файла конфигурации используя ключ -C командной строки при запуске Visual FoxPro.

Для получения более подробной информации об опциях, которые вы можете установить в файле конфигурации смотрите описание "Использование файла конфигурации" в Настройке среды Visual FoxPro.

Expand image Файлы ресурсов, связанные с локализацией

Если вы распространяете ваше приложение совместно с run-time версией Visual FoxPro, вы может потребоваться специальный файл ресурса, связанный с местной локализацией. Этот файл содержит диалоговые окна и прочие элементы интерфейса пользователя, которые Visual FoxPro использует для взаимодействия с пользователем. Различные файлы ресурсов run-time существуют для каждого языка, в котором доступен Visual FoxPro.

Для получения более подробной информации об использовании локализованных файлов run-time смотрите описание "Распространение локализованных файлов Run-Time" в Разработка международных приложений.

Note Замечание

Файлы ресурсов локализации - это не то же самое, что файл ресурса FoxUser.dbf, который хранит информацию о приложении такую, как макросы, определенные вами. Файл ресурса локализации хранит строки системного текста.

Если вы создаете приложение для среднеазиатских платформ, убедитесь, что вы добавили файл VBAME.DLL в ваш набор установки приложения и что он проинсталлиован в системном каталоге Windows.

Expand image Замечание Вы не можете распространять Winhelp.exe или файлы справки, поставляемые с Visual FoxPro.

Expand image Смотрите также

Задачи

Как: включить файлы с приложением для распространения

Концепции

Подготовка к распространению приложений
Разрешенные и запрещенные к распространению функциональные возможности и файлы Visual FoxPro

Прочие ресурсы

Распространение приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Distributable and Restricted Visual FoxPro Features and Files

Visual FoxPro 9.0
Распространяемые и запрещенные к распространению возможности и файлы Visual FoxPro
See Also

Visual FoxPro and its development environment contain many files and features that are licensed only for your use in designing, developing, and testing your applications. If your application contains any of these restricted features or files as well as files other than those authored by you or in Redist.txt, you must remove them. Under the terms of the Microsoft License Agreement you received with this product, you cannot ship these files in your application or on your disks.

Вы можете распространять со своим приложением любой файл Visual FoxPro, который не имеет ограничений для распространения. Список файлов, которые вы можете распространять со своими приложениями приведен в файле Redist.txt, котороый находится в вашем установочном каталоге Visual FoxPro, а руководство по включению распространяемых файлов приведены в этой статье.

Возможности Visual FoxPro, запрещенные к распространению

Вы не можете включать перечисленные ниже служебные меню Visual FoxPro а также их команды в распространяемый исполнимый (.exe) файл:

  • Database

  • Form

  • Menu

  • Program

  • Project

  • Query

  • Table

В приведенной ниже таблице перечислены команды, в случае использования которых ваше приложение вернет сообщение "Feature not available", если они были включены в его состав. Хотя вы не можете включать команды, которые создают или изменяют меню, формы или запросы, вы можете запускать из вашего приложения скомпилированные меню, формы и программы запросов..

Недоступные команды |
APPEND PROCEDURES | MODIFY DATABASE
BUILD APP | MODIFY FORM
BUILD EXE | MODIFY MENU
BUILD PROJECT | MODIFY PROCEDURE
CREATE FORM | MODIFY PROJECT
CREATE MENU | MODIFY QUERY
CREATE QUERY | MODIFY SCREEN
CREATE SCREEN | MODIFY VIEW
CREATE VIEW | MODIFY CONNECTION
SET STEP |

В приведенной ниже таблице перечислены команды, которые игнорируются в случае использования в распространяемом приложении.

Игнорируемые команды |
ASSERT | DEBUGOUT
SET DEBUG | SET DOHISTORY
SET DEVELOPMENT | SET ECHO

Запрещенные к распространению файлы Visual FoxPro

Visual FoxPro инсталлирует в ваш компьютер файлы, которые предназначены только для разработчика, то есть, предназначены для служебного использования и поэтому не могут быть воспроизведены или распространены в ваших приложениях. Эти файлы включают в себя:

  • Некоторые файлы мастеров (wizards)

  • Шрифты TrueType

  • Файлы из справки Visual FoxPro

Свободно распространяемые Файлы Visual FoxPro

В соответствии с лицензионным соглашением Microsoft полученным с этим продуктов, вы должны распространять файлы связанные с соответствующим приложением. К свободно распространяемым файла применяются следующие правила The following guidelines apply to distributable files.

Образцы (Samples)

Visual FoxPro для вашего изучения и сборок предоставляет файлы, расположенные в каталоге Visual FoxPro \Samples. Хотя вы не имеет права распространять образцы Visual FoxPro в неизменном виде, вы можете ссылаться в качестве примеров на части кода образцовых приложенй в сборках ваших собственных приложений.

Если вы используете любые файлы из этих каталогов, включая все файлы картинок, иконок и файлов курсоров указателя мышы (.bmp, .ico и .cur) вы должны включить их в ваш проект и в сборку приложения. Они не должны появляться поименно на дисках с дистрибутивами ваших приложений и не могут распространяться независимо от ваших приложений.

Библиотеки классов

Вы можете использовать любые файлы библиотек классов (.vcx), расположенные в каталогах \Ffc и \Gallery, библиотеки классов мастеров, Wizstyle.vcx и библиотеку классов образцов без каких либо изменений в ваших приложениях. Вы должны включить эти библиотеки в ваш проект и в сборку вашего приложения.

Файлы ODBC

Пожалуйства просмотрите лицензионного соглашение Microsoft, полученное с этим продуктом в части, касающейся ограничений с учетом ваших распространямых файлов ODBC.

Управляющие элементы ActiveX

Visual FoxPro включает в свою поставку набор управляющих элементов ActiveX (файлы .ocx) которые вы можете добавить в сборку вашего приложения и распространять вместе с ним.

Смотрите также

Задачи

Как: включить файлы в приложение для распространения

Справочное руководство

Файлы ресурсов в приложениях
Обзор управляющих элементов ActiveX

Концепции

Подготовка к распространению приложений

Прочие ресурсы

Распространение приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Include Files with Applications for Distribution

Visual FoxPro 9.0
Как: Включить файлы-компоненты Приложения для Дистрибуции (распространения)
См. также

Вы можете свободно использовать различные файлы системы Visual FoxPro при дистрибуции ваших приложений, графические файлы, программные модули и прочее; однако имеется ряд ограничений по распространению системных файлов. См. дополнительную информацию в разделе Распространение и Ограничения по системным файлам Visual FoxPro.

Прежде чем создавать ваше Приложение, убедитесь в том, что все необходимые файлы включены в проект вашего приложения или размещены в подкаталогах основного каталога. Это относится к графическим файлам, файлам шаблонов, файлам Отчетов и прочее.

Для добавления файлов в ваше приложение

  1. Включите требуемый файл-компоненту в проект вашего Приложения.

    Если данный файл не будет изменяться в процессе работы приложения, установите для данного файла-компоненты отметку included (включен). Такие файлы имеют атрибут "read-only" и не могут изменяться.

    -или-

  2. Разместите файл-компоненту в каталоге приложения, при создании установочной программы Setup укажите данный файл в списке распространяемых файлов данного приложения.

    Если вы планируете, что данный файл будет изменяться при работе приложения, то установите для него отметку "excluded" - (исключен). Данные файлы нужно распространять с вашим приложением, как отдельные файлы.

См. дополнительную информацию о создании проекта, включении и исключении файлов из него в разделе Компиляция Приложений.

См. также

Описание

Файлы Ресурсов в Приложении

Концепции

Подготовка Распространения Приложений

Другие ссылки

Распространение Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Programming in Visual FoxPro

Visual FoxPro 9.0
Программирование в Visual FoxPro
Вы можете создать приложения и программы, изучая и используя язык программирования Visual FoxPro и его возможности.

В этом разделе

Основные понятия в программировании

Дается обзор основ программирования в Visual FoxPro, включая хранение данных, типы данных, контейнеры, операторы, команды и управление процессом выполнения программы.
Работа с программами

Знакомит с созданием и работой программ Visual FoxPro, которые, по своей сути, являются текстовыми файлами с инструкции, использующими язык Visual FoxPro.
Работа с процедурами и функциями

Знакомит с тем, как вызвать встроенные функции Visual FoxPro, а также пользовательские функции и процедуры. Даются общий обзоры и детальные аспекты пользовательских функций и процедур, а так же способы их создания.
Передача данных через параметры

Обсуждаются способы передачи данных через параметры.
Объектно-ориентированное программирование

Обсуждаются способы создания самостоятельных компонент приложения, которые реагируют на действия пользователя и системы, и могут легко сопровождаться и многократно использоваться.
Подключение API (Application Program Interface - интерфейс прикладного программирования)

Обсуждаются вопросы расширения возможностей приложения с помощью внешних библиотек, таких например, как элементы Microsoft ActiveX и динамически подключаемые библиотеки (DLL).
Руководство: Создание программ завершения сеанса

Обсуждаются вопросы создания собственных программ завершения сеанса, отрабатывающих при выходе из приложения, Visual FoxPro или Microsoft Windows.

Ссылки

Использование Visual FoxPro
Приводится обзор свойств Visual FoxPro, дается описание концепций и инструментов, предназначенные для разработки приложений и компонентов управления высокопроизводительными базами данных.
Разработка приложений на Visual FoxPro

Объясняются принципы создания на Visual FoxPro приложений , даются инструкции по созданию баз данных, пользовательского интерфейса и решению проблем, которые могут возникнуть при создании приложений.
Инструменты для эффективной разработки

Обсуждаются инструменты разработки приложений, которые могут применяться в рамках языка Visual FoxPro.
Критический анализ

Вначале приводится общий сценарий, а затем, шаг за шагом, детализируется процесс создания различных типов приложений и компонент.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Basic Programming Concepts

Visual FoxPro 9.0
Основные концепции программирования
Смотрите также

Когда вы пишите программу, вы можете хранить данные и управлять ими с помощью набора инструкций. Данные и контейнеры хранения данных представляют собой основные строительные блоки в программах, и вы используете команды, функции и операторы для управления данными и контейнерами хранения данных.

Хранение данных

Данные, с которыми вы работаете могут включать в себя какие-то количества времени, денежных единиц и элементов, которые можно подсчитывать, наравне с датами, именами, описаниями и тому подобным. Каждый кусок данных представляет их определенный тип: он принадлежит к категории данных, которыми вы управляете однотипным методом. Вы можете работать с этим данными непосредственно без их хранения, но при этом потеряете гибкость и мощность Visual FoxPro. Visual FoxPro предоставляет многочисленные контейнеры хранения для расширения вашей способности легкого управления данными.

Типы данных определяют, как данные хранятся и как они могут быть использованы. Вы можете умножать два числа, но вы не можете умножить два символа. Вы можете напечатать символы в верхнем регистре, но вы не можете произвести подобное над числами. Некоторые из первичных типов данных, используемых в Visual FoxPro перечислены в приведенной ниже таблице.

Типы данных
Тип | Примеры
Numeric | 123 3.1415 – 7
Character | "Test String" "123" "01/01/98"
Logical | .T. .F.
Date DateTime | {^1998-01-01} {^1998-01-01 12:30:00 p}

Контейнеры данных

Контейнеры данных позволяют вам производить одни и те же операции над множеством кусков данных. Например, вы можете добавить часы, в которые работал работник, умножить их на ставку и затем вычислить налоги для определения - сколько денег работник получит на руки. Вы можете производить точно такие же операции для каждого работника и для каждого периода оплаты его труда. Если вы храните такую информацию в контейнерах и производите операции над контейнерами, вы просто замещаете старые данные новыми и повторно запускаете свою программу исчисления зарплаты. В приведенной ниже таблице приведены некоторые из основных контейнеров для данных, используемых в Visual FoxPro.

Тип | Описание
Переменные | Простые элементы для хранения данных в оперативной памяти вашего компьютера - RAM (Random Access Memory).
Записи таблицы | Множество строк предопределенных полей, каждое из которых может содержать предварительно определенный кусок данных. Таблицы хранятся на диске.
Массивы | Множество элементов хранения данных в оперативной памяти компьютера - RAM.

Управление данными

Контейнеры и типы данных являются для вас строительными блоками, которые нужны вам для управления данными. Конечными частями являются операторы, функции и команды.

Использование операторов

Операторы соединяют данные вместе. Ниже представлены наиболее общие операторы, используемые в Visual FoxPro.

Оператор | Допустимые типы данных | Пример | Результат
= | Все | ? n = 7 | Выводит на экран .T., если значение, хранимое в переменной n равно 7, в противном случае выводит .F.
+ | Numeric, Character, Date, DateTime | ? "Fox" + "Pro" | Выводит на экран "FoxPro"
! или NOT | Logical | ? !.T. | Выводит на экран .F.
*, / | Numeric | ? 5 * 5 ? 25 / 5 | Выводит на экран 25, затем выводит на экран 5
Note Замечание

Вопросительный знак (?) в начале выражения вызывает вывод новой строку символов и результат выражения выводится в активное окно вывода, каковым обычно является главное окно Visual FoxPro, иногда упоминаемое в документации, как окно рабочего стола.

Помните, что вы должны использовать один и тот же тип данных с любым из операторов. Приведенные ниже предложения сохраняют два численных куска данных в двух переменных. Переменные имеют данные им имена, которые начинаются с n, поэтому взглянув на них мы можем сказать, что они содержат численные данные, но вы можете именовать их любой комбинацией цифро-буквенных символов и символами подчеркивания.

nFirst = 123

nSecond = 45

Следующие два выражения сохраняют два куска символьных данных в двух переменных. Данные им имена начинаются с символа c, что указывает, что они содержат символьные данные.

cFirst = "123"

cSecond = "45"

Следующие две операции складывают и соединяют, что приводит к различным результатам, так как типы переменных различаются в обеих операциях.

? nFirst + nSecond

? cFirst + cSecond

Вывод

168

12345

Поскольку cFirst представляет символьные данные, а nSecond представляет численные данные, вы получите ошибку несовпадения типов данных, если попытаетесь исполнить следующую команду:

? cFirst + nSecond

Вы можете избежать этой проблемы с помощью функций преобразования. Наприме, STR() возвращает исмвольный эквивалент численного значения, а VAL() возвращает численный эквивалент строки, состоящей из чисел. Эти функции и функция LTRIM(), которая удаляет ведущие пробелы, позволят нам выполнить следующие операции:

? cFirst + LTRIM(STR(nSecond))

? VAL(cFirst) + nSecond

Вывод

12345

168

Использование коман

Команды вызовают совершение определенного действия. Каждая команда имеет свой синтаксис, который указывает, что должно быть включено для того, чтобы команда сработала. Кроме того, имеются необязательные параметры, связанные с командами, что позволяет вам указать более точно - что вы хотите получить в результате исполнения команд.

Например, для открытия и закрытия таблиц используется команда US.

Синтаксис USE | Описание
USE | Закрывает таблицу в текущей рабочей области
USE customer | Открывает таблицу CUSTOMER в текущей рабочей области, закрывает любую таблицу, которая была открыта в этой области ранее.
USE customer IN 0 | Открывает таблицу CUSTOMER в следующей доступной рабочей области.
USE customer IN 0 ; ALIAS mycust | Открывает таблицу CUSTOMER в следующей доступной рабочей области и присваивает ей псевдоимя mycust.

В приведенной ниже таблице показаны некоторые примеры команд.

Команда | Описание
DELETE | Помечает указанную запись для удаления.
REPLACE | Замещает значение, хранящееся в поле записи, новым значением.
Go | Перемещает указатель записи к конкретной позиции в таблице.

Управление течением исполнения программы

Visual FoxPro включает в себя несколько категорий команд, которые "окружают" другие команды и функции, определяя когда и как будут исполнены другие команды и функции. Эти команды позволяют условное разветвление и циклическое исполнение, два очень мощных инструмента программирования. Приведенная ниже программа показывает условное разветвление и циклическое исполнение. Эти команды описываются более подробно после описания примера.

Предположим, что у вас имеется 10,000 работников и вы желаете дать каждому работнику, имеющему $30,000 или более 3 процентов роста зарплаты, а каждому работнику, чья зарплата меньше $30,000 - 6 процентов роста зарплаты. Приведенный ниже пример выполняет эту задачу.

Эта программа подразумевает, что таблица с численным полем с именем salary открыта в текущей рабочей области. Для получения более подробной информации о рабочих областях прочитайте описание "Использование множества таблиц" в Работа с таблицами.

Простая программа для увеличения значений зарплат работников
Код Комментарии

SCAN

Код между командами SCAN и ENDSCAN исполняется столько раз, сколько имеется записей в таблице. Код исполняется каждый раз, когда происходит перемещение к следующей записи.

IF salary >= 30000.00

REPLACE salary WITH ;

salary * 1.03

Для каждой записи, если зарплата больше или равна 30,000, значение поля заменяется новым значением, увеличенным на 3%.

Точка с запятой (;) после WITH указывает, что команда разбита на несколько строк и ее синтакиси продолжается на следующей строке.

ELSE

REPLACE salary WITH ;

salary * 1.06

Для каждой записи, если зарплата меньше 30,000, значение поля заменяется новым значением, увеличенным на 6%.

ENDIF

ENDSCAN

Конец условного оператора IF.

Конец кода, который исполнялся для каждой записи в таблице.

Этот пример использовал оба типа команд- условного разветвления и циклического исполнения для управления течением исполнения программы.

Условное разветвление

Условное разветвление позволяет вам протестировать условие и затем, в зависимости от результатов этого теста, производить различные операции. В Visual FoxPro имеется две команды, которые осуществляют условное разветвление:

  • IF ... ELSE ... ENDIF

  • DO CASE ... ENDCASE

Код между начальными операторами и оператторами ENDIF или ENDCASE исполняется только в том случае, если логическое условие оценивается в True (.T.). В примере программы, команда IF используется для разделения двух штатов сотрудников: одних - с зарплатой в $30,000 или более, и других, зарплата которых меньше $30,000. В зависимостри от размера зарплаты производятся разные действия.

В следующей примере, в случае, если значение, хранящееся в переменной nWaterTemp менее 100, не предпринимается никаких действий:

CopyCode image Скопировать код
* устанавливает логическую переменную в значение true, если выполняется условие.
IF nWaterTemp >= 100
   lBoiling = .T.
ENDIF
Note Замечание

Звездочка в начале первой строки примера указывает на то, что данная строка программы представляет собой комментарий. Комментарии помогают программисту помнить, для чего разработан каждый сегмент кода, а при исполнении программы игнорируются Visual FoxPro.

Если имеется несколько возможных условий для проверки чего-либо, то блок DO CASE ... ENDCASE может быть более эффективным и легко отслеживаемым, по сравнению со множественными операторами IF.

Циклы

Циклы позволяют вам исполнять одну или более строк столько раз, сколько требуется. В Visual FoxPro имеются три команды, которые обеспечивают циклическое исполнение команд:

  • DO WHILE ... ENDDO

  • FOR ... ENDFOR

  • FOR EACH ... ENDFOR

  • SCAN ... ENDSCAN

Используйте SCAN, если вы производите серию действий для каждой записи в таблиц, подобно только что разобранному примеру с зарплатой. Цикл SCAN позволяет вам написать код только раз и исполнять его для каждой записи по мере перемещения по таблице указателя записи.

Используйте FOR, если вы знаете сколько раз должна быть исполнена секция кода. Например, вы знаете, что конкретное число полей в таблице. Поскольку функция Visual FoxPro FCOUNT() возвращает это число, вы можете использовать цикл FOR для печати имен всех полей таблицы:

CopyCode image Скопировать код
FOR nCnt = 1 TO FCOUNT( )
   ? FIELD(nCnt)
ENDFOR

Используйте DO WHILE, когда вы хотите исполнять секцию кода до тех пор, пока не выполнится определенное условие. Вы можете не знать, сколько раз нужно исполнить код, зато вы знаете, когда нужно остановить его исполнение. Например, предположим, что у вас имеется таблица с именами людей и их инициалами и вы желаете использовать инициалы для поиска людей. Вы можете иметь проблему когда вы попытаетесь добавить персону, которая имеет те же самые инициалы, как и кто либо еще, уже внесенный в вашу таблицу.

Для решения этой проблемы, вы можете добавить число к инициалам. Например, идентификационный код для Michael Suyama мог бы быть равным MS. Следующая персона с такими же инициалами, Margaret Sun, могла бы иметь код равный MS1. Если вы затем добавляете в таблицу Michelle Smith, то ее идентификационным кодом мог бы быть MS2. Цикл DO WHILE позволяет вам найти правильный номер, который можно добавить к инициалам.

Простая программа с DO WHILE для генерации уникального ID
Код | Комментарии
nHere = RECNO() | Сохраняет местонахождение записи.
cInitials = LEFT(firstname,1) + ; LEFT(lastname,1) nSuffix = 0 | Получает инициалы персоны из первых букв значений полей firstname и lastname. Устанавливает переменную для хранения числа, которок будет добавлено при необходимости к инициалам персоны.
LOCATE FOR person_id = cInitials | Ищется другая персона, занесенная в таблицу с теми же самыми инициалами.
DO WHILE FOUND( ) | Если у другой персоны в таблице имеется значение person_id точно такое же, как у cInitials, то функция FOUND() возвратит true (.T.) и код в цикле DO WHILE исполнится. Если не найдено совпадения, то следующей строкой, которая будет исполнена, является строка следующая за оператором ENDDO.
nSuffix = nSuffix + 1 cInitials = ; LEFT(cInitials,2); + ALLTRIM(STR(nSuffix)) | Подготавливает свежий суффикс и добавляет его в конце инициалов.
CONTINUE | CONTINUE вызывает повторное исполнение последней команды LOCATE. Программа проверяет, не имеется ли в таблице нового значения cInitials в поле person_id field другой записи. Если имеется, то FOUND( ) вновь вернет .T. и код в цикле DO WHILE будет повторно исполнен. Если новое значение cInitials является действительно уникальным, FOUND() возвратит .F. и исполнение программы продолжится со строки, следующей за ENDDO.
ENDDO | Конец цикла DO WHILE.
GOTO nHere REPLACE person_id WITH cInitials | Возврат к записи и сохранение уникального идентификационного кода в поле person_id.

Поскольку вы не знаете заранее, сколько идентификационных кодов уже используется, вы используете в этом примере цикл DO WHILE.

Смотрите также

Справочное руководство

Команда SCAN ... ENDSCAN
Команда FOR ... ENDFOR
Команда DO WHILE ... ENDDO
Команда IF ... ENDIF
Команда DO CASE ... ENDCASE
Функция GETDIR()
Команда USE

Прочие ресурсы

Объектно-ориентированное программирование
Работа с таблицами (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Programs

Visual FoxPro 9.0
Работа с программами

Программные файлы содержат коды, предназначенные для выполнения последовательности инструкций. Хранение кода в программном файле (.prg) дает следующие преимущества:

  • Вы можете создать и сохранять программы для того, чтобы выполнить их позже, а не сию минуту.

  • Вы можете редактировать программы в окне редактирования Visual FoxPro и, при этом, отформатировать отдельные блоки кода или полностью весь программный файл.

  • Вы можете редактировать и выполнять программы множество раз.

  • Вы можете выполнять программы из меню, форм или панелей инструментов.

  • Вы можете применять в программах вызов других программ.

Кроме того, если ваша программа является частью проекта, то Вы можете искать и заменять последовательности кодов и текст и просматривать описания элементов кода, найденного при поиске в текущей программе. Более подробно смотрите об этом в разделах Руководство: Поиск последовательности кодов и Руководство: Просмотр последовательности кодов.

В этом разделе

Руководство: Создание программ

Описывается как создать программу в Visual FoxPro.
Руководство: Редактирование программ

Описывается как отредактировать программу после ее создания.
Руководство: Форматирование кода в программах

Описывается как установить опции форматирования и использовать их при кодировании программ.
Руководство: Сохранение программ

Описывается как сохранить программы после того, как вы их создали и отредактировали.
Руководство: Выполнение программ

Описывается как выполнять программы.

Связанные разделы

Работа с проектами
Дается понятие проекта и его конфигурирования, описываются группы файлов проекта, которые необходимы для создания программы или финального двоичного файла или файлов.
Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.
Справочник по языку от A до Z

Содержит список ссылок на языковые темы в алфавитном порядке.
Инструменты для эффективной разработки

Обсуждаются инструменты разработки приложений, которые могут применяться в рамках языка Visual FoxPro.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Create Programs

Visual FoxPro 9.0
Как: Создавать Программы
См. также

Вы можете создать автономную программу, программу, как часть проекта, или непосредственно выполняя команду.

Note Примечание

После завершения процесса создания программного модуля, убедитесь что вы сохранили его. Если вы пытаетесь закрыть несохраненную программу, система Visual FoxPro задает вопрос о сохранении внесенных изменений или отказе от выполнения последнего.

Для создания автономной программы:

  1. В системном меню File, выберите пункт New.

  2. В соответствующем диалоговом боксе New, выберите раздел Program, и далее - New File.

  3. В открывшемся окне Редактирования, введите требуемые строки Программного модуля.

Для создания программного модуля в составе текущего Проекта:

  1. Откройте Проект вашего Приложения в дизайнере Project Manager.

  2. В системном окне Project Manager, активируйте Закладку Code.

  3. Выберите группу Programs, нажмите командную кнопку New.

  4. В открывшемся окне Редактирования, введите требуемые строки Программного модуля.

Для создания программного модуля с помощью команды VFP:

  • В Системном окне Command, с помощью команды MODIFY COMMAND открывается окно Редактирования.

См. также

Задачи

Как: Редактировать Программы
Как: Сохранить Программу

Описание

Системное Окно Project Manager
MODIFY COMMAND, команда
Командное Окно (Visual FoxPro)

Другие ссылки

Работа с Программными Модулями

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Edit Programs

Visual FoxPro 9.0
Как: редактировать программы
Смотрите также

После создания программы, вы можете изменить ее или любую существующую.

Note Замечание

После редактирования программы, убедитесь, что вы сохранили ее.

Для редактирования отдельной, самостоятельной программы

  1. В меню File (Файл) щелкните на Open (Открыть).

  2. В диалоговом окне Open (Открыть) выберите Program (Программа) в списке типов файлов для показа только программных файлов.

  3. Щелкните по файлу программы, которую вы желаете изменить, затем по OK.

Для редактирования программы в проекте приложения

  1. Откройте проект вашего приложения в Project Manager (Диспетчере проекта).

  2. В Project Manager (Диспетчере проекта), распахните узел Code (Код) и затем узел Programs (Программы).

  3. В узле Programs (Программы) выберите желаемую программу и щелкните по Modify (Изменить).

Для редактирования программы

  • В окне Command (Команда) выполните одно из приведенного ниже:

    • Используйте MODIFY COMMAND с именем программного файла (.prg) для открытия программы в окне редактирования. Например:

      CopyCode image Скопировать код
      MODIFY COMMAND MyProgram

    • Используйте MODIFY COMMAND с вопросительным знаком (?) для отображения диалогового окна Open (Открыть) для того, чтобы вы могли найти и выбрать файл программы. Например:

      CopyCode image Скопировать код
      MODIFY COMMAND ?

Смотрите также

Задачи

Как: сохранять программы
Как: запускать программы

Справочное руководство

Окно Project Manager (Диспетчер проекта)
Команда MODIFY COMMAND
Комадное окно (Visual FoxPro)

Прочие ресурсы

Работа с программами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Format Code in Programs

Visual FoxPro 9.0
Как: Форматировать программный код в программных модулях
См. также

Вы можете форматировать специфические блоки программного кода в ваших программах с помощью диалогового бокса Beautify Options, где определяются различные параметры настроек Форматирования программного текста. После выполнения форматирования кода, вы можете использовать инструментарий Beautify Tool для внесения дополнительных поправок в параметры форматирования программного кода.

Для установки опций форматирования программного кода

  1. Откройте программный файл.

  2. Для форматирования некоторого фрагмента, выделите требуемый программный код.

    Note Примечание

    Для форматирования всего файла программы не нужно выделять некоторый фрагмент программного кода.

  3. В меню Tools, выберите опцию Beautify.

  4. В открывшемся диалоговом боксе Beautify Options, определите требуемые вам опции форматирования.

    Процесс форматирования использует первую строку выделенного фрагмента для идентификации группы установленных опций форматирования.

Для применения опций форматирования программного кода

  • В диалоговом боксе Beautify Options, нажмите кнопку Run.

См. также

Задачи

Как: Редактировать Программы
Как: Сохранить Программу

Описание

Диалоговый бокс Beautify Options

Другие ссылки

Работа с Программами

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Save Programs

Visual FoxPro 9.0
Как: Сохранить программу
См. также

После создания или изменения программного модуля, Вам нужно сохранить введенные изменения.

Для сохранения программы

  • В меню File, нажмите Save.

Система Visual FoxPro сохраняет программные модули в файлах с расширением .prg. После сохранения программы Вы можете ее выполнить или продолжить вносить изменения.

Note Примечание

Если Вы сохраняете программу, которая еще не имеет имени, то Visual FoxPro выводит диалоговый бокс Save As для указания имени сохраняемого программного модуля. Если сохраняется программа, созданная в подсистеме Project Manager, Visual FoxPro добавляет данное имя, модуль в текущий Проект.

См. также

Задачи

Как: Редактировать программы
Как: Запускать программы

Другие ссылки

Работа с программами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Run Programs

Visual FoxPro 9.0
Как: запускать программы
Смотрите также

После того, как вы сохранили программу, вы можете ее запустить.

Для запуска самостоятельной программы

  1. В меню Program (Программа) щелкните на Do (Выполнить).

  2. В диалоговом окне Do (Выполнить) найдите и выберите желаемую программу.

  3. Щелкните на командной кнопке Do (Выполнить).

Для запуска программы из проекта

  1. Откройте проект вашего приложения в Project Manager (Диспетчере проекта).

  2. В Project Manager (Диспетчере проекта), перейдите на закладку Code (Код) или распахните узел Code (Код) на закладке All (Все) и, затем, распахните узел Programs (Программы), если он свернут.

  3. В узле Programs (Программы) выберите желаемую программу и щелкните по командной кнопке Run (Запустить).

Для программного запуска программы

  • В окне Command (Команда) выполните одно из приведенного ниже:

    • Используйте команду DO с именем программного файла (.prg) для запуска программы. Например:

      CopyCode image Скопировать код
      DO MyProgram

    • Используйте команду DO со следующим за ней вопросительным знаком (?) для отображения диалогового окна Do (Выполнить) с тем, чтобы вы смогли найти и выбрать файл программы. Например:

      CopyCode image Скопировать код
      DO ?

Смотрите также

Задачи

Как: редактировать программы

Справочное руководство

Команда DO
Окно Command (Команда) (Visual FoxPro)
Окно Project Manager (Диспетчер проекта)

Прочие ресурсы

Работа с программами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Working with Procedures and Functions

Visual FoxPro 9.0
Работа с процедурами и функциями

Visual FoxPro включает в себя большой набор родных процедур, которые вы можете использовать для производства операций с данными или какие-то иные. Функции в Visual FoxPro производят операции с данными и возвращают результат определенного типа. Вы можете, кроме того, создавать процедуры и функции для хранения кода, который производит часто повторяющиеся и общие в использовании рутинные операции в ваших программах.

В этом разделе

Определенные пользователем процедуры и функции

Знакомит с процедурами и функциями, которые вы можете определить и создать в Visual FoxPro.

Параметры в процедурах и функциях

Описывается как посылаются данные в процедуры и функции для обработки.

Как: создавать процедуры и функции

Объясняется как создавать процедуры и функции.

Как: вызывать процедуры и функции

Объясняется как вызывать родные функции, равно как и определенные пользователем функции и процедуры.

Проверка данных, посылаемых в процедуры и функции

Описывается способы проверки, что в процедуры и функции посылаются корректные данные.

Возврат данных из процедур и функций

Описывается как вернуть данные из процедур и функций.

Справочное руководство

Функции

Перечислены доступные в Visual FoxPro функции.

Связанные разделы

Посылка данных в параметры

Описывается как в параметры посылаются данные - по ссылке или по значению.

Работа с программами

Знакомит со способами создания и работы с программами Visual FoxPro.

Программирование в Visual FoxPro

Описываются подходы к программированию, такие как основные концепции программирования, работа с программами, объектно-ориентированное программирование и оптимизация приложений в Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


User-Defined Procedures and Functions

Visual FoxPro 9.0
Определенные пользователем процедуры и функции
Смотрите также

Определение общих и часто используемых рутинных задач и операций в виде отдельных процедур и функций может уменьшить размер программы и ее сложност, что, кроме того, делает код легко читаемым и обслуживаемым. Например, вам потребуется в этом случае сделать необходимые изменения только один раз в процедуре или функции, вместо того, чтобы производить эти изменения многократно по всей программе. Процедуры и функции предоставляют вас возможность держать код общего использования в одном месте с тем, чтобы вы могли вызывать его из различных частей вашего приложения.

Процедура, условно, содержит код, который производит операцию, тогда как функция производит операцию и возвращает определенное значение. Большинство, но не все, родных функций Visual FoxPro возвращает значения. В Visual FoxPro, как процедуры, так и функции могут возвращать значения. Когда вы создаете процедуры или функции, вы можете выбрать для себя - следовать ли условному соглашению по возврату значения только из функций.

Например, приведенные ниже строки кода иллюстрируют основную форму процедуры и функции:

CopyCode image Скопировать код
PROCEDURE myProcedure
   * Вставить код процедуры.
ENDPROC

FUNCTION myFunction
 * Вставить код функции.
  RETURN myFuncReturnValue
ENDFUNC

В своих основных формах, процедуры и функции могут не казаться полезными или отличающимися друг от друга. Однако, процедуры и функции могут, кроме того, принимать данные, которые вызывающая программа посылает им через параметры, которые вы можете включить, как часть определений и вызовов. Данные, которые посылаются в процедуры и функции иногда называют словом "arguments". Процедуры и функции, кроме того, различаются в способе (по умолчанию) приема данных, которые программы по умолчанию посылает им. Для получения более подробной информации смотрите Параметры в процедурах и функциях.

Функции, которые вы создаете в Visual FoxPro иногда называют определенными пользователем функциями (UDFs). Вы можете включать процедуры или функции с другим обычнм исполнимым кодов в файл программы (.prg) или помещать их в отдельный файл .prg.

Note Замечание

Если вы включаете процедуры и функции в файл с другим кодом, то они должны быть помещены в конец файла, после нормального исполнимого кода. Вы можете не включать нормальный исполняемый программный код, за которым следуют процедуры и функции в файл .prg. В таком случае, в таком файле после первого оператора PROCEDURE или FUNCTION могут размещаться только другие определенные пользователем процедуры, функции и определения класса.

Смотрите также

Задачи

Как: создавать процедуры и функции
Как: вызывать процедуры и функции

Прочие ресурсы

Работа с процедурами и функциями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Parameters in Procedures and Functions

Visual FoxPro 9.0
Параметры in Procedures and Functions
Смотрите также

Когда программа вызывает процедуры или функцию ,она может им послать данные для обработки. Однако, когда вы создаете процедуру или функцию, которые производят операции на данных, посланных им из вызывающей программы, то процедура или функция должны содержать в своем определении параметры, для приема данных. В приведенных ниже секциях содержится информация о работе с параметрами:

  • Определение параметров в процедурах и функциях

  • Передача данных в процедуры и функции

Определение параметров в процедурах и функциях

Когда программа посылает данные в процедуру или функцию, параметры в процедуре или функции принимают эти данные, с тем, что на данных можно было произвести операции. Когда вы желаете создать процедуры или функции, которые будут обрабатывать данные, посланные вызывающей программой, вам необходимо включить в определение процедур или функций параметры, которые будут принимать эти данные..

Приведенная ниже строка кода показывает основной формат для включения параметров в определение процедуры:

CopyCode image Скопировать код
PROCEDURE myProcedure
   LPARAMETERS Par1, Par2, Par3, ...
   * Вставьте здесь код процедуры.
ENDPROC

-или-

CopyCode image Скопировать код
PROCEDURE myProcedure(Par1, Par2, Par3, ...)
  * Вставьте здесь код процедуры.
ENDPROC

Первая процедуры включает оператор LPARAMETERS который может содержать один или более параметров. Вторая процедура перечисляет те же самые параметры, заключенные в круглые скобки, сразу после имени процедуры. Использование оператора LPARAMETERS, или заключение списка параметров в круглые скобки определяет параметры, область видимости которых принадлежит локальной области процедуры. Вы может использовать ключевое слово PARAMETERS вместо LPARAMETERS для акцептирования параметров принадлежащих частной области видимости. Вы можете послать множественные значения в процедуру или функцию, разделяя значения запятой.

Например, в приведенном ниже примере показано определение процедуры, которая включает в себя параметры. Первая процедура включает оператор LPARAMETERS и два параметра, myPar1 и myPar2. Вторая процедура перечисляет теже самые параметры, заключенные в круглые скобки (()) сразу после имени процедуры. Обе процедуры добавляют значение, указанное в myPar2 к значению, указанному вв myPar1 и присваивают результат для myPar1. По умолчанию, данные посылаются по ссылке, так что новое значение myPar1 замещает его оригинальное значение.

CopyCode image Скопировать код
PROCEDURE myProcedure
   LPARAMETERS myPar1, myPar2
   myPar1 = myPar1 + myPar2
ENDPROC

-OR-

CopyCode image Скопировать код
PROCEDURE myProcedure(myPar1, myPar2)
  myPar1 = myPar1 + myPar2
ENDPROC

Схожим образом вы можете включить параметры в определение функции. Для получения более подробной информации, смотрите описание команд PROCEDURE, FUNCTION, LPARAMETERS и PARAMETERS.

Передача данных в процедуры или функции

Вы можете передать данные, или, более точно, "аргументы" из вашей программы в процедуры или функциями двумя способами, в зависимости от приведенного ниже:

  • Желаете ли вы послать данные по ссылке или по значению. Для получения более подробной информации, смотрите описание Посылка данные в параметры.

  • Как вы вызываете функцию или процедуру. Для получения более подробной информации, смотри описание Как: вызвать процедуры или функции.

Например, когда вы вызываете процедуру с помощью команды DO, вы можете послать данные используя ключевое слово WITH и список параметров. В приведенном ниже примере, переменные myVar и myVar2 содержат значения 4 и 5. Когда вы вызываете процедуру myProcedure с помощью команды DO, список параметров, определенных с ключевым словом WITH посылает эти переменные в процедуру:

CopyCode image Скопировать код
myVar = 4
myVar2 = 5
DO myProcedure WITH myVar, myVar2

По умолчанию, переменные и массивы посылаются в процедуры по ссылке. Поэтому, изменения, сделанные в процедуре в посланных переменных и массивах, возвращаются назад в управляющую программу. Например, предположим, что процедура увеличивает значение, содержащееся в myVar на величину, указанную в myVar2. Измененное значение myVar становится новым значением myVar, когда процедура возвращает управление вызывающей программе.

С другой стороны, вы хотите использовать команду DO, но желаете послать данные по значению, заключив каждый параметр в круглые скобки, (()), как это показано в приведенном ниже примере:

CopyCode image Скопировать код
DO myProcedure WITH (myVar), (myVar2)

Когда вы вызываете функцию, вы можете послать данные с помощью списка параметров, заключенных в круглые скобки, как это показано в приведенном ниже примере:

CopyCode image Скопировать код
myFunction(myVar, myVar2)

По умолчанию, переменные и массивы посылаются в определенные пользователем функции по значению. Поэтому, изменения, произведенные в функции над посланными переменными или массивами не возвращаются назад вызывающей программе. Однако, вы можете послать переменные и массивы по ссылке, предварив переменные и массивы символов (@), как показано в приведенном ниже примере:

CopyCode image Скопировать код
myFunction(@var1, @var2, ...)

В приведенной ниже таблицы суммированы пути, по которым вы можете послать переменные в процедуры и функции.

Вызов процедуры или функции | Комментарии
DO myProcedure WITH var1, var2, ... | Вызывает процедуру и посылает параметры по ссылке.
DO myProcedure WITH (var1), (var2), ... | Вызывает процедуру и посылает параметры по значению.
myFunction(var1, var2, ...) | Вызывает функцию и посылает параметры по значению.
myFunction(@var1, @var2, ...) | Вызывает функцию и посылает параметры по ссылке.

Смотрите также

Задачи

Как: создавать процедуры и функции

Концепции

Определенные пользователем процедуры и функции
Проверка данных, посылаемых процедурам и функциям

Прочие ресурсы

Работа с процедурами и функциями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Create Procedures and Functions

Visual FoxPro 9.0
Как: создавать процедуры и функции
Смотрите также

Вы можете создавать процедуры и функции программным способом.

Для создания процедуры

  1. Начните определение процедуры с оператора PROCEDURE и имени процедуры.

  2. Для определения параметров, во второй строке определения процедуры оператор LPARAMETERS или PARAMETERS со списком параметров.

    - или -

    На той же строке, на которой находится оператор PROCEDURE непосредственно после имени процедуры включите список параметров, заключенный в круглые скобки.

  3. На последующих строках включите операторы кода, которые вы желаете исполнить в процедуре.

  4. Завершите определение процедуры ключевым словом ENDPROC.

Например, приведенные ниже строки кода показывают простой пример процедуры:

CopyCode image Скопировать код
PROCEDURE myProcedure
   LPARAMETERS myPar1, myPar2
   myPar1 = myPar1 + myPar2
ENDPROC

- или -

CopyCode image Скопировать код
PROCEDURE myProcedure(myPar1, myPar2)
  myPar1 = myPar1 + myPar2
ENDPROC

По умолчанию значения передаются в процедуры по ссылке. Поэтому изменения, сделанные в посланных значениях в процедуре посылаются назад в вызывающую программу.

Для получения более подробной информации смотрите Команда PROCEDURE, Команда PARAMETERS, and Команда LPARAMETERS.

Для создания функции

  1. Начните определение функции с команды FUNCTION и имени функции.

  2. Для определения параметров на второй строке определения функции включите операторы LPARAMETERS или PARAMETERS со списком параметров.

    - или-

    В той же строке, в которой имеется команда FUNCTION сразу после имени функции включите список параметров, заключенный в круглые скобки.

  3. В следующих строках кода включите операторы кода, которые вы желаете исполнять в функции.

  4. Включите команду RETURN, в месте, в котором вы желаете вернуть значение и управление коду, исполняемому в вызывающей программе.

  5. Завершите определение функции ключевым словом ENDFUNC.

Например, приведенные ниже строки кода показывают простой пример функции:

CopyCode image Скопировать код
FUNCTION myFunction
  LPARAMETERS myPar1, myPar2
  myFuncReturnValue = myPar1 + myPar2
  RETURN myFuncReturnValue
ENDFUNC

- или -

CopyCode image Скопировать код
FUNCTION myFunction(myPar1, myPar2)
  myFuncReturnValue = myPar1 + myPar2
  RETURN myFuncReturnValue
ENDFUNC

По умолчанию, значения посылаются в определенные пользователем функции по значению. Поэтому изменения сделанные в посланных значениях в функции не посылаются назад вызывающей программе.

Для получения более подробной информации смотрите Команда FUNCTION, Команда PARAMETERS и Команда LPARAMETERS.

Смотрите также

Задачи

Как: вызывать процедуры и функции

Концепции

Посылка данных в параметры
Возврат данных из процедур и функций
Определенные пользователем процедуры и функции

Прочие ресурсы

Работа с процедурами и функциями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Call Procedures and Functions

Visual FoxPro 9.0
Как: Вызов процедур и функций
Смотрите также

Существуют различные способы вызова процедур, встроенных функций Visual FoxPro и пользовательских функций. Кроме того, пользовательские функции (user-defined functions-UDF) могут вызываться так же, как процедуры. Вы можете вызывать созданные Вами процедуры, хранящиеся в программных (.prg) файлах как самостоятельные программы или как функции, если необходимо использовать возвращаемые этими процедурами значения.

Note Подсказка

Если процедуры и функции размещены в отдельном программном файле (.prg), то сделать их доступными в программе можно командой SET PROCEDURE TO. Например, если имеется файл с именем ProcFile.prg, то можно сделать его доступным в программе, введя в командном окне следующую команду:

CopyCode image Скопировать код
SET PROCEDURE TO ProcFile.prg

Функции Visual FoxPro или пользовательские функции можно вызвать:

  • Без сохранения возвращаемого значения.

    -или-

  • С присвоением возвращаемого значения переменной памяти.

    -или-

  • Включив вызов функции в состав другой команды или функции.

Некоторые функции могут принимать передаваемые из вызывающей программы данные в качестве параметров. Для более подробной информации смотрите Передача параметров и Параметры в процедурах и функциях.

В следующем примере первая строка кода вызывает функцию DATE( ), возвращающую текущую системную дату. Никаких действий над возвращаемым значением не выполняется. Вторая строчка кода присваивает возвращаемое значение переменной памяти dToday. Третья строка кода включает функцию в состав другой команды, выводящей возвращаемое значение в текущее активное окно вывода. В четвертой строке функция включена в состав другой, внешней функции, и передает ей возвращаемое значение в качестве параметра, после чего внешняя функция возвращает номер дня недели, исходя из принятой даты.

CopyCode image Скопировать код
DATE( )
dToday = DATE( )
? DATE( )
DOW(DATE( ))

Для более подробной информации смотрите Возвращение данных из процедур и функций.

Для вызова процедуры

  • Используйте команду DO со следующим за ней названием процедуры.

В следующем примере команда DO вызывает процедуры myProc1 и myProc2. Первая строка кода вызывает процедуру myProc1 без параметров. Четвертая строка кода включает предложение WITH в команду DO чтобы передать список параметров в процедуру myProc2.

CopyCode image Скопировать код
DO myProc1
var1=4
var2=5
DO myProc2 WITH (var1, var2)

Для более подробной информации смотрите DO, команда.

Смотрите также

Задачи

Как: Создание процедур и функций

Понятия

Пользовательские процедуры и функции

Прочие ресурсы

Работа с процедурами и функциями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Verifying Data Passed to Procedures and Functions

Visual FoxPro 9.0
Проверка данных, посылаемых в процедуры и функции
Смотрите также

Когда в параметры процедуры и функции посылаются данные или "arguments" то рекомендуется, чтобы вы проверили, что данные, которые получают процедуры и функции именно те, которые ожидаются. Вы можете использовать функции TYPE( ) и PARAMETERS( ) для проверки типа и числа аргументов, посланных в процедуры или функции.

Проверка типа данных, посылаемых в параметры

Вы можете использовать функцию TYPE( ) для проверки, что данные посланные в параметры имеют корректный тип. В приведенном ниже примере функция принимает значение даты через параметр dDate. Функция возвращает дату, которая на представляет дату на 14 дней более позднюю, чем посланная функции:

CopyCode image Скопировать код
FUNCTION plus2weeks( dDate )
   PARAMETERS dDate
   RETURN dDate + 14
ENDFUNC

Параметр в функции требует значения типа Date. Приведенная далее версия функции включает в себя код, который использует функцию TYPE( ) для того, чтобы убедиться, что посланное значение имеет корректный тип:

CopyCode image Скопировать код
FUNCTION plus2weeks( dDate )
   IF TYPE("dDate") = "D"
      RETURN dDate + 14
   ELSE
      MESSAGEBOX( "Function requires a date value." )
      RETURN { - - }      && Return an empty date.
   ENDIF
ENDFUNC

Проверка корректного числа аргументов

Когда программа посылает процедуре или функции большее число параметров, чем их ожидаемое число, Visual FoxPro генерирует сообщение ошибке. Когда программа посылает меньшее число аргумнтов, чем их число, ожидаемое процедурой или функцией, оставшиеся параметры инициализируется в False (.F.).

Например, предположим, что вы включили два параметра в определение процедуры, но вы вызвали ее с тремя аргумнтами; в этом случае Visual FoxPro сгенерирует сообщение об ошибке. Однако, если вы вызовите процедуру только с одним параметров, оставшиеся параметры инициализируются в False (.F.). Однако, здесь не имеется способа узнать - был ли аргумент для последнего параметры действительно опущен или явно оценен в .F.. Поэтому приведенный ниже пример кода использует функцию PARAMETERS( ) для проверки подходящего числа аргументов:

CopyCode image Скопировать код
FUNCTION SaveValue( cStoreTo, cNewVal, lIsInTable )
   IF PARAMETERS( ) < 3
      MESSAGEBOX( "Too few parameters passed." )
      RETURN .F.
   ENDIF
   IF lIsInTable
      REPLACE (cStoreTo) WITH (cNewVal)
   ELSE
      &cStoreTo = cNewVal
   ENDIF
   RETURN .T.
ENDFUNC

Смотрите также

Задачи

Как: создавать процедуры и функции

Концепции

Параметры в процедурах и функциях

Прочие ресурсы

Работа с процедурами и функциями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Returning Data from Procedures and Functions

Visual FoxPro 9.0
Возврат данных из процедур и функций
Смотрите также

Общепринято, что функции возвращают значения в вызывающую программу. Однако, в Visual FoxPro, вы можете возвращать данные, как из функций, так и из процедур. Когда процедуры и функции не включают явно предложения команды RETURN, возвращающую определенное значение, Visual FoxPro самостоятельно явно включает в код предложение команды RETURN, которое автоматически вернет значение True (.T.). В общем случае, вы можете пожелать использовать команду RETURN для возврата определенных значений из функций, например, как результат обработки, указывающий - успешно ли завершилось исполнение операции.

Note Замечание

Команда RETURN, кроме того, определяет, возврат управления исполнением кода вызывающей программе. Для получения более подробной информации смотрите описание команды RETURN Command.

Предположим, что в приведенном ниже примере, вы послали дату определенной функции. Функция вернет дату, значение которой на 14 дней позде, чем дата, переданная в качестве параметра:

CopyCode image Скопировать код
FUNCTION plus2weeks
   PARAMETERS dDate
   RETURN dDate + 14
ENDFUNC

Вы, затем, можете присвоить полученное из функции значение переменной так, как это показано в приведенной ниже строке кода:

CopyCode image Скопировать код
dDeadLine = plus2weeks(DATE())

Присвоение возвращаемых процедурами и функций значений

Вы можете присвоить, причем явно, значение возвращенное процедурой или функцией, например, переменной с помощью использования оператора присвоения (символ знака равенства (=)) или послать возвращенное значение напрямую другой функции.

Предположим, что в приведенном ниже примере функция myFunc возвращает определенное значение. Первая строка кода присваивает возвращаемое функцией myFunc значение переменной памяти с именем myVar. Вторая строка кода посылает возвращаемое функцией myFunc значение непосредственно функции Visual FoxPro STR(), которое вернет значение и отобразит его в активном окне вывода с помощью команды ?:

CopyCode image Скопировать код
myVar = myFunc( )
? STR( myFunc( ) )

Смотрите также

Задачи

Как: создавать процеду и функции
Как: вызывать процедуры и функции

Прочие ресурсы

Работа с процедурами и функциями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Passing Data to Parameters

Visual FoxPro 9.0
Передача Данных, как параметров
См. Также

Вы можете передавать любые данные, пременные или элементы массивов, в качестве "аргументов" в процедуры или функции двумя способами: "по-ссылке" или "по-значению" . При передаче параметров по-ссылке, в этих параметрах сохраняются все изменения, которые выполнялись в вызываемой процедуре или функции. При передаче параметров по-значению, в вызываемой процедуре создаются копии передаваемых переменных, над которыми совершаются необходимые операции, исходные данные в вызывающем модуле не изменяются.

По-умолчанию, в Процедуры параметры передаются по-ссылке (команда DO...), а в пользовательские функции (UDFs-User-Defined-Function) - по-значению. Однако, вы можете локально изменить данное правило передачи параметров, но: система Visual FoxPro передает объекты всегда по-ссылке.

Note Обратите внимание

Когда вы передаете в качестве параметра - массив, то он должен передаваться по-ссылке; при выполнении попытки передачи имени массива по-значению, будет передан только первый элемент массива в вызывающую процедуру, функцию.

См. также

Задачи

Как: Передавать данные в параметрах, по-ссылке (by Reference)
Как: Передавать данные в параметрах, по-значению (by Value)

Концепции

Параметры в Процедурах и Функциях

Другие ссылки

Программирование в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Pass Data to Parameters by Reference

Visual FoxPro 9.0
Как: Передавать значения параметров "по-ссылке"
См. также

Для передачи параметров в программные модули (функции) "по-ссылке" можно использовать несколько вариантов:

Для глобальной установки передачи параметров в программы, "по-ссылке"

  • Перед рассматриваемой программной строкой, где передаются параметры в вызываемую процедуру, задайте следующую строку:

    CopyCode image Копировать Код
    SET UDFPARMS TO REFERENCE

См. дополнительно раздел SET UDFPARMS, команда.

Для указания (локального) передачи параметров "по-ссылке"

  • Используйте пред переменно-параметром специальный значек (@), как показано в следующем примере:

    CopyCode image Копировать Код
    myFunc(@var1, var2)

См. также

Задачи

Как: Передавать данные в параметрах "по-значению"

Концепции

Передача Данных в виде Параметров

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


How to: Pass Data to Parameters by Value

Visual FoxPro 9.0
Как: Передавать параметры в Процедуры "По-Значению"
См. также

Вы можете передавать параметры по-значению, непосредственно, или с помощью специальных указателей или настроек

Для передачи параметров "по-значению" непосредственно в программный модуль:

  • Перед строкой программного кода, где выполняется передача параметров, укажите следующую строку:

    CopyCode image Копировать Код
    SET UDFPARMS TO VALUE
Note Примечание

Установка оператора SET UDFPARMS TO VALUE не распространяет своего действия для программных строк типа DO ... WITH , в которых , как принято По-умолчанию, параметры передаются "По-Ссылке".

Дополнмтельную информацию смотрите в разделе: SET UDFPARMS, команда.

Для передачи параметров "по-значению", в специальных случаях:

  • Заключите соответствующие переменные (параметры) или элемнты массивов в круглые скобки (()) , как показано в следующем примере:

    CopyCode image Копировать Код
    DO myProcedure WITH (myVar), (myVar2)

См. также

Задачи

Как: Передовать параметры в Процедуры "По-Ссылке"

Концепции

Передача Данных как Параметров

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Object-Oriented Programming

Visual FoxPro 9.0
Объектно-ориентированное программирование

Visual FoxPro поддерживает как стандартное процедурное программирование, так и мощное и гибкое объектно-ориентированное программирование. Объектно-ориентированный разработка и объектно-ориентированное программирование являются более современными и прогрессивными по сравнению со стандартным процедурным программированием. Вместо того, чтобы думать о программе как о процессе последовательного выполнения строк кода, теперь надо думать о создании объектов. Вы можете создавать объекты и манипулировать ими как самостоятельными компонентами приложения и применять их как в своих задачах, так и предоставлять для использования другим разработчикам..

В этом разделе

Работа с классами в Visual FoxPro

Дается понятие о классах в Visual FoxPro и рассказывается как их применять для создания объектов.
Работа с объектами в Visual FoxPro

Дается понятие об объектах в Visual FoxPro и рассказывается о том, как их создавать и применять.
Понимание событийной модели

Дается понятие о событиях и рассказывается о том, как их использовать для выполнения операций, в ответ на на действие системы или пользователя.

Связанные разделы

Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.
Работа с программами

Объясняется как создавать и работать с программами в Visual FoxPro.
Оптимизация приложений

Описываются способы оптимизации выполнения приложений, делая их небольшими и быстрыми.
Подключение API

Описывается как расширить возможности Visual FoxPro с помощью внешних библиотек, таких как элементы управления Microsoft ActiveX и динамически подключаемые библиотеки (DLLs).
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Working with Classes in Visual FoxPro

Visual FoxPro 9.0
Работа с классами в Visual FoxPro

Visual FoxPro включает в себя возможность работы с классами, что является частью возможностей объектно-ориентированного программирования. Когда вы разрабатываете и создаете класс, то вы выстраиваете шаблон, с помощью которого вы можете создавать объекты на основе этого класса. Visual FoxPro включает в себя конструкторы и прочие инструменты для создания и управления классами.

В этом разделе

Классы в Visual FoxPro

Предоставляется обзор классов в Visual FoxPro и обсуждаются преимущества, предоставляемые классами.

Базовые классы в Visual FoxPro

Предоставляется список базовых классов поставляемых с Visual FoxPro.

Субклассы в Visual FoxPro

Предоставляется обзор субклассов в Visual FoxPro и предлагается их возможное использование.

Анализ для создания классов

Содержит информацию по лучшей практике создания классов.

Как: создавать классы и субклассы

Описывается - как создавать классы и субклассы с помощью Class Designer (конструктора классов) Visual FoxPro или программным путем.

Как: осуществить строгую типизацию для класса, объекта или кода переменной

Описывается - как осуществить строгую типизацию с тем, чтобы вы имели больше управления над кодом и сделать возможным использования IntelliSense для определенных элементов Visual FoxPro.

Как: изменять классы

Описывается - как изменять классы с помощью Class Designer (конструктора классов) и в случае, когда классы введены в проект.

Как: добавлять классам свойства

Описывается - как вы можете добавлять классу свои, пользовательские свойства.

Как: создавать методы Access и Assign

Описывается - как вы можете создавать новые методы Access и Assign для свойств.

Как: добавлять в классы методы

Описывается - как вы можете добавить в класс свои, пользовательские методы.

Как: как добавлять код в методы и события

Описывается - как добавлять ваш собственный код в метод или событие.

Как: изменять аттрибуты класса и члена класса

Описывается - как добавлять или редактировать описание класса и аттрибуты для пользовательских свойств и методов.

Как: удалять из класса свойства и методы

Описывается - как удалять из класса ваши, пользовательские свойства и методы.

Как: указать внешний вид классов в Design-Time

Описывается - как указать представление-внешний вид для невизуальных классов в design-time.

Как: добавлять классы в инструменты Visual FoxPro

Описывается - как добавлять пользовательские классы в Visual FoxPro Toolbox и полоску инструментов Form Controls (Элементы управления форм) и как регистрировать библиотеку классов.

Методы Access и Assign

Предоставляется обзор методов Access и Assign, которые вы можете использовать для исполнения кода при запросе или попытки изменении значения свойства.

Защита и скрытие членов класса

Предоставляется обзор об определении свойств и методов в качестве скрытых или защищенных.

Перепись значений свойств, использовавшихся по умолчанию

Предоставляется обзор о переписи установок по умолчанию для классов, определенных пользователем.

Перепись и вызов кода родительского класса

Предоставляется обзор о том, как вызвать или переписать код родительского класса.

Связанные разделы

Работа с объектами в Visual FoxPro

Введение в использование объектов в Visual FoxPro и об их создании и использовании.

Понимание событийной модели

Введение в события и описание ваших возможностей для использования их для операций, когда система или пользователь осуществляют операции, вызывающие срабатывание события.

Объектно-ориентированное программирование

Обсуждается - как вы можете создавать самодостаточные компоненты приложения, которые отвечают на действия пользователя и системы, и которые могут быть легко управляемы и использованы многократно.

Программирование в Visual FoxPro

Описывается - как понимание техники объектно-ориентированного программирования и событийно-управляемой модели помогут вам максимально повысить производительность вашего труда.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Classes in Visual FoxPro

Visual FoxPro 9.0
Классы в Visual FoxPro
Смотрите также

Классы определяют свойства, методы и события, которые являются характеристиками и функциональностью, которыми обладают объекты и которые вы можете использовать для управления этими объектами. Классы могут, кроме того, содержать другие объекты или члены данных, такие как переменные. Когда объект или инстанция создаются из класса, то он содержит свойства, методы, события и все прочие объекты, определенные в описании класса.

Свойства, которые определяет класс, указывают характеристики объекта этого класса. Например, класс командной кнопки CommandButton имеет свойство Name, которое определяет имя командной кнопки, которое в свою очередь, противопоставляется свойству Caption, которое определяет текст, который командная кнопка отобразит пользователю.

Методы класса определяют и хранят процедурный код, который исполняется всякий раз, когда вы вызываете метод объекта этого класса. Например, класс командной кнопки CommandButton имеет метод Move, который перемещает командую кнопку в указанные вами координаты.

События класса определяют код, который будет исполняться всякий раз, когда система или пользователь включает это событие для объекта этого класса. Например, класс командной кнопки CommandButton содержит событие Click, которое представляет собой процедурный код, который исполняется всякий раз, когда пользователь щелкает по ней.

Классы, кроме того, могут содержать другие объекты, например, класс формы Form может содержать управляющий эшлемент , такой как командная кнопка. Вы можете, кроме того, указать членов данных, такие как переменные, как часть класса.

Приведенные ниже разделы предоставляют подробную информацию о классах Visual FoxPro:

  • Преимущества использования классов

  • Типы классов Visual FoxPro

Для получения более подробной информации об объектах в Visual FoxPro, смотрите описание Работа с объектами в Visual FoxPro.

Преимущества использования классов

Классы предоставляют перечисленные ниже возможности, которые позволяют вам создавать повторно-используемый и более легкий в обслуживании код:

  • Инкапсуляция

    Инкапсуляция, которая включает в себя упаковку свойства и метода кода в объекте, прячет излишнюю сложность и содействует абстракции. Абстракция позволяет вам сфокусировать свое внимание на аспектах объекта, которые вы желаете или вынуждены использовать, вместо внимания на деталях низкого уровня.

    Например, когда кто-то использует компьютер, ему вовсе не обязательно знать, как он работает внутренне, то есть ему не нужны знания о том, как компьютер обрабатывает данные и обслуживает файлы. Ему хочется выполняться задачи, такие, как написание писем и совсем не хочется знать, как это происходит внутренне, в железе компьютера.

    Подобно этому, класс listbox инкапсуюлирует свойства, управляющие тем, как в нем будут обображаться элементы списка, а также инкапсуюлирует функциональность, определяющие действия, которые будут выполнены при выборе элемента из списка в единичный управляющий элемент.

  • Создание субклассов

    Для получения более подробной информации, смотрите их описание Субклассы в Visual FoxPro.

  • Наследование (Inheritance)

    Для получения более подробной информации, смотрите их описание Subclasses in Visual FoxPro.

Эти возможности позволяют вам более быстро и легко создавать и обслуживать код.

Типы классов Visual FoxPro

Классы Visual FoxPro, и по расширению, объекты, делятся на два первичный типа: контейнерные классы и классы управляющих элементов. Классы, кроме того, могут быть визуальными и невизуальными.

Контейнерные классы и классы управляющих элементов.

Контейнеры могут состоять из других объектов, таких как управляющие элементы, и предоставлять доступ к объектам, в них содержащимся. Классы управляющих элементов являются более инкапсюлированными, чем контейнерные классы; однако, по этой причине они могут быть менее гибкими. Классы управляющих элементов не имеют метода AddObject.

Например, предположим, что вы создаете контейнерный класс, который состоит из двух listbox'ов и двух командных кнопок. Затем вы добавляете объект, основанный на контейнерном классе в форму. Вы можете управлять каждым объектов в контейнере, как в design, так в run time; например, вы можете изменить позиции listbox'ов или заголовки командных кнопок. Кроме того, вы можете добавлять другие объекты в контейнер в design time; например, вы можете добавить метки для идентификации listbox'ов.

В приведенной ниже таблице перечислены примеры объектов, которые могут существовать в контейнерных классах.

Контейнер | Может содержать
Column | Может содержать Заголовки (Headers) и любые другие объекты, за исключение наборов форм, самих форм, панелей инструментов, таймеров и других колонокКомандные кнопки
CommandGroup | Command buttons - командные кнопки
Container | Любые управляющие элементы
Control | Любые управляющие элементы
Custom | Любые управляющие элементы, data environment, page frame - страничный фрейм, container - контейнер, custom - специальный пользовательский класс (не путать с произвольно создаваемым пользователем классом - это невозможно в Visual FoxPro)
DataEnvironment | Курсоры, отношения и курсоры-адаптеры
FormSet | Формы и панели инструментоы
Form | Page frames, data environment, Любые управляющие элементы, containers, custom
Grid | Columns - колонки
OptionGroup | Option buttons - отдельные радиокнопки
PageFrame | Pages - страницы
Page | Любые управляющие элементы, контейнеры, custom
Project | Файлы,сервера (не путать с компьютерным железом! :))
Toolbar | Любые управляющие элементы, page frame, container

Визуальные и невизуальные классы

В Visual FoxPro, объекты и управляющие элементы, созданные из визуальных классов отображают визуальные элементы как в design, так и в run time. Объекты и элементы, основанные на невизуальных классах, таких, как класс Custom и элемент Timer, отображают визуальный элемент только в среде разработки - design time, но не в run time.

Смотрите также

Задачи

Как: создавать классы и субклассы

Концепции

Базовые классы в Visual FoxPro
Рассмотрения для создания классов
Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Base Classes in Visual FoxPro

Visual FoxPro 9.0
Базовые классы в Visual FoxPro
Смотрите также

Visual FoxPro предоставляет набор классов по умолчанию, или базовых классов, которые вы можете сразу использовать для обеспечения базовой функциональности в ваших приложениях. В приведенной ниже таблице перечислены базовые классы в Visual FoxPro, хотя не все базовые классы доступны в дизайнере классов или для создания субклассов.

CheckBox | Collection | Column* | ComboBox
CommandButton | CommandGroup | Container | Control
Cursor | CursorAdapter | Custom | DataEnvironment
EditBox | Empty* | Exception | Form
FormSet | Grid | Header* | Hyperlink
Image | Label | Line | ListBox
OLE Bound | OLE Container | OptionButton | OptionGroup
Page | PageFrame | ProjectHook | Relation
ReportListener | Separator | Session Object | Shape
Spinner | TextBox | Timer | ToolBar
XMLAdapter | XMLField | XMLTable |

* не доступно для создания субклассов

Все базовые классы Visual FoxPro, за исключением класса Empty распознают минимальный набор событий:

  • Init

  • Destroy

  • Error

Все базовые классы Visual FoxPro, за исключением класса Empty имеют минимальный набор свойств:

  • Class

  • BaseClass

  • ClassLibrary

  • ParentClass

Смотрите также

Задачи

Как: создавать классы и субклассы

Концепции

Классы в Visual FoxPro
Рассуждения по поводу созлания классов
Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Subclasses in Visual FoxPro

Visual FoxPro 9.0
СубКлассирование в системе Visual FoxPro
См. Также

Вы можете создавать новые классы на основе базовых классов системы Visual FoxPro и других существующих классов. Создаваемый Подкласс может содержать всю функциональность Порождающего или Родительского класса, и еще дополнительные функциональные характеристики, уточняющие текущую подстройку создаваемого подкласса.

Создание и использование Подклассов обеспечивает эффективное повторное использование уже разработанного ранее программного кода, свойство Наследования обеспечивает сохранение функциональности порождаемого подкласса, относительно родительского класса. При внесении изменений в родительский класс, они становятся доступными во всех порождаемых подклассах.

Например, у вас имеется некоторый класс Командной кнопки. Вы можете создать на основе этого класса некоторый Подкласс, имеющий все аналогичные функциональные характеристики родительского класса (свойства, методы, события), и дополнительные особенности данного подкласса: нестандартный цвет и размер командной кнопки, новое функциональное назначение - отображение специальных Сообщений.

СубКлассирование не ограничивается проостейшими базовыми классами. Например, вы можете разместить несколько Контролов при определении некоторого контейнерного класса, к примеру - на Форме. Множество различных подклассов имеется в библиотеках Visual FoxPro, которые размещаются в различных библиотеках классов, по категориям, по назначению. См. дополнительно раздел Образцы Библиотек Классов.

См. также

Задачи

Как: Создавать Классы и ПодКлассы

Концепции

Основные соображения по созданию Классов
Работа с Классами в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Considerations for Creating Classes

Visual FoxPro 9.0
Обсуждения о создании классов
Смотрите также

Имеется много обстоятельств, которые в той или иной мере влияют на создание классов или субклассов. Однако, используя стратегическое планирование вы можете с большей эффективностью определить, какие именно классы нужны вам для дизайна приложения и какие типы функциональности должны быть включены в эти классы. При разработке классов помните о приведенных ниже рассуждениях.

  • Будьте избирательныЮ при создании классов.

    Хотя вы можете создать класс для каждого управляющего элемента и форму, которые вы желаете использовать, такая стратегия не может быть максимально эффективным путем для разработки вашего приложения. В результате вы можете получить массу классов, которые выполняют схожие задачи, но нуждаются, при этом, в отдельном управлении.

  • Создавайте и используйте классы управляющих элементов (controls) для инкапсюляции общей функциональности.

    Вы можете предоставить общую функциональность в вашем приложении с помощью классов элементов. Например, вы можете создать командную кнопку, при щелчке на которой пользователь сможет перемещаться по таблице, закрывать форму или открывать файл подсказки и затем сохранить ее, как класс, который вы сможете добавить в форму.

    Вы можете сделать видимыми методы класса, так чтобы пользователь смог интегрировать их в конкретное окружение данных формы или набора форм

  • Определите заранее функциональность, которую вы желаете включить для классов на уровне класса, уровне субкласса и уровне объекта.

    Когда вы создаете субклассы и объекты из классов, которые вы создали, вы можете включить в них дополнительные свойства, методы и события (события - ??? - имеются в виду методы Assign/Access??? - поскольку мы не можем добавлять события по умолчанию или привязка событий к методам класса?. Примечание переводчика) в эти субклассы, и по расширению - объекты, созданные их этих классов. Вы, кроме того, можете переписать значения свойств, установленных по умолчанию, равно как и программный код в методах и событиях оригинального класса.

  • Предоставьте непротиворечивые вид и ощущение для вашего приложения.

    Вы можете создать форму, набор форм и классы управляющих элементов с характерным визуальным представлением, что все компоненты вашего приложения выглядят единообразно. Например, вы можете добавить графику и цветные шаблоны в класс формы и использовать этот класс, как шаблон для других создаваемых вами форм. Вы можете создать класс текстового блока с непротиворечивым визуальным представлением, таким как эффект оттенения, и использовать этот класс повсюду, где в приложение требуется использование текстового блока.

Смотрите также

Задачи

Как: создавать классы и субклассы

Концпепции

Классы в Visual FoxPro
Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Classes and Subclasses

Visual FoxPro 9.0
Как: Создавать Классы и Подклассы
См. также

Классы или Подклассы в системе Visual FoxPro можно создавать с помощью системного средства Class Designer , или программным способом. Когда класс создается с помощью дизайнера Class Designer, Вы можете видеть явное представление создаваемого класса.

Note Замечание

Для удобства и ускорения работы, желательно размещать классы и их производные подклассы в одной библиотеке классов. Если связанный класс находится в другой библиотеке, то желательно, чтобы она была открыта в текущий момент. Это значительно ускоряет процесс создания и выполнения программных модулей, в которых используются данные классы или подклассы.

Для создания класса или подкласса

  1. в меню File, выберите опцию New.

  2. В диалоговом боксе New, выберите раздел Class, и нажмите кнопку New File.

    Откроется диалоговый бокс New Class.

  3. В поле Class Name диалогового бокса New Class,задайте имя создаваемого класса.

  4. В поле-списке Based On, выберите базовый класс системы Visual FoxPro.

    Note Замечание

    Для создания невизуального класса, порожденого от базового класса, выберите Custom. При создании класса, основанного на базовом невизуальном классе Custom, он отображается в дизайнере, однако при выполнении - становится невидимым. См. дополнительно разделы Объект Custom или Как: Определяется поведение классов в режиме Design-Time.

    -или-

    Нажмите кнопку ellipsis (...) - многоточие для выбора файла библиотеки (.vcx), из которой берется родительский класс.

  5. В поле Store In, указывается имя библиотеки классов, где будет сохранен создаваемый класс.

  6. Нажмите OK.

    Откроется Class Designer для уточнения свойств создаваемого класса.

  7. При завершении процесса создания класса, выполните его сохранение.

    Класс сохраняется в библиотеке классов, файле (.vcx).

Система Visual FoxPro сохраняет описание создаваемых классов с помощью Class Designer в библиотеках визуальных классов (.vcx). Это касается как визуальных так и невизуальных классов.

О базовых классах см. раздел Базовые классы в Visual FoxPro. О дизайнере Designer, см. раздел Class Designer.

Можно добавлять создаваемые классы в уже существующие библиотеки классов, см. дополнительно Как: Добавить Класс или Подкласс в библиотеку классов.

Для создания Класса или Подкласса в проекте

  1. Откройте проект Вашего приложения.

  2. В Project Manager, выберите закладку Classes, и нажмите New.

    Откроется диалоговый бокс New Class, где определяются необходимые параметры создаваемого класса.

  3. Следуйте предлагаемым шагам уточнения параметров создания Класса.

См. дополнительно раздел Окно Project Manager.

Для создания Класса или Подкласса программным способом

  • Используйте команды CREATE CLASS или DEFINE CLASS.

Команда CREATE CLASS открывает системное средство Class Designer, команда DEFINE CLASS используется в программном коде. Свойства и Методы в создаваемом Классе или Подклассе могут быть описаны в команде DEFINE CLASS.

Note Примечание

Если описание класса с помощью команды DEFINE CLASS размещено в программном файле, то данное описание должно располагаться после программного кода, где оно используется; но не как не ранее. Данное правило аналогично описанию пользовательских подпрограмм и функций, которые располагаются ниже основного кода программного модуля.

См. дополнительно разделы Команда CREATE CLASS или Команда DEFINE CLASS.

См. также

Задачи

Как: Изменять классы
Как: Добавить Свойство в Класс
Как: Добавить Метод в Класс

Концепции

Классы в системе Visual FoxPro
Работа с классами в системе Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Implement Strong Typing for Class, Object, and Variable Code

Visual FoxPro 9.0
Как: осуществить строгую типизацию для классов, объектов и переменных в программном коде
See Also

С целью получения более тонкого контроля над вашим кодом, облегчения его написания и с тем, чтобы сделать его более стойким к ошибка, а также обеспечения функциональности IntelliSense доступной для визуальных объектов, ссылок на классы, компонентов ActiveX, COM-серверов и определенных пользователем элементов кода, используйте строгую типизацию. OLEPUBLIC библиотеки типов также используют строгую типизацию.

Note Замечание

Visual FoxPro не является языком строгой типизации и не требует, чтобы декларировали переменные с указанием типа данных. Visual FoxPro не навязывает строгой типизации ни в design, ни в run time.

Для получения более подробной информации смотрите описание Поддержка IntelliSense в Visual FoxPro.

Для осуществления строгой типизации

  • Для объектов, параемтров методов и значений используйте опцию AS в команде DEFINE CLASS.

-или-

  • Для деклараций параметров и переменных используйте опцию AS в следующих командах:

    • FUNCTION

    • LOCAL

    • LPARAMETERS

    • PARAMETERS

    • PROCEDURE

    • PUBLIC

Когда вы используете в коде опцию AS, IntelliSense отображает выпадающий список доступных типов, включая типы из следующих источников:

  • базовые классы объектов Visual FoxPro.

  • типы данных Visual FoxPro.

Приведенный ниже пример использует опцию AS в команде DEFINE CLASS для осуществления строгой типихации пользовательского OLEPUBLIC класса и метода MyMethod:

CopyCode image Скопировать код
DEFINE CLASS MyClass1 AS Custom OLEPUBLIC
   FUNCTION MyMethod (MyParam1 AS integer, MyParam2 AS string) AS integer
      RETURN MyParam1
   ENDFUNCTION
ENDDEFINE

Приведенный ниже пример использует опцию AS в командах LOCAL, PUBLIC, LPARAMETERS, PARAMETERS и FUNCTION для осуществления строгой типизации:

CopyCode image Скопировать код
LOCAL oExcel AS "excel.application"
oExcel = CREATEOBJECT("excel.application")
oExcel.   && Отображает список членов.

PUBLIC ARRAY MyArray[2] AS _form OF ffc\_base
LPARAMETERS MyParam1 AS String OF _Base.vcx
PARAMETERS MyParam1 AS Custom OF MyBase.vcx
FUNCTION MyFunction AS Custom

Смотри также

Задачи

Как: создавать классы и субклассы
Как: редактировать классы

Концепции

Обсуждения для описания классов
работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Modify Classes

Visual FoxPro 9.0
How to: Модификация Классов
См. Также

После того, как Вы создали класс, Вы можете изменить его характеристики. Данные изменения распространяются на все подклассы и все объекты, базирующиеся на данном классе. Например, Если Вы внесете некоторые расширения в класс или выполните некоторое fix a bug в классе. Все порождаемые подклассы и объекты будут содержать данные характеристики. (Принцип Наследования)

Предупреждение:
Если класс используется в нескольких приложениях, то не рекомендуется изменять его имя, свойство Name данного класса. В противном случае система Visual FoxPro не сможет найти размещение данного класса.

Вы можете изменить класс используя следующие инструментальные средства системы: Дизайнер Классов (Class Designer) , Браузер классов (Class Browser), Project Manager, если класс включен в проект, а также программно (в коде).

Для Изменения класса

  1. В меню File , выберите Open.

  2. В секции Files of type диалогового бокса Open , выберите необходимую библиотеку, содержащую класс, нажмите OK.

    В соответствующем боксе Open можно выбрать любой из классов в текущей библиотеке классов .

  3. В секции Class Name из списка классов выберите необходимый

    Выбранный класс отображается в дизайнере классов (Class Designer).

    -ИЛИ-

  4. В соответствующем Class Browser (меню Tools), откройте необходимую библиотеку классов

    Для дополнительной информации см. раздел Как: Открыть Библиотеку Классов .

  5. В списке классов, выберите нужный класс, в соответствующем right-click-Menu выберите Modify.

    Выбранный класс откроется в дизайнере Class Designer.

Для модификации класса в Проекте

  1. Откройте Проект, содержащий интересующий Вас Класс

  2. В Project Manager, выберите соответствующий класси нажмите Modify.

    Выбранный класс откроется в дизайнере Class Designer.

Вы можете также открыть клас для модификации в дизайнере классов использую командную строку: MODIFY CLASS .

Например, для модификации класса можно набрать следующую строку в командном окне:

Копировать код
MODIFY CLASS MyClass OF MyClassLibrary

Для дополнительной информации см. Команда MODIFY CLASS .

См. также

Другие ссылки

Классы в Visual FoxPro
Как: Добавить Свойство в Класс
Как: Добавить Метод в Класс
Работа с Классами в Visual FoxPro

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Add Properties to Classes

Visual FoxPro 9.0
Как: добавить свойства в классы
Смотрите также

Когда вы создаете класс, вы можете добавить в него свои собственные свойства. Для получения более подробной информации смотрите Классы в Visual FoxPro.

Note Замечание

Когда вы создаете свои собственные, пользовательские свойства для классо, свойства применяются к классу, а не к индивидуальным компонентам класса.

Вы можете добавлять свойства в классы либо используя интерактивную среду разработки Visual FoxPro - IDE, либо программно.

Для добавления классу свойсва

  1. Откройте класс в Class Designer (Конструкторе класса).

    Когда класс открыт в Class Designer (Конструкторе класса) в меню появляется пункт Class (Класс).

  2. В меню Class (Класс) выберите New Property (Новое свойство).

  3. В боксе Name диалогового окна New Property (Новое свойство) впечатайте имя свойства.

  4. В боксе Visibility выберите уровень видимости свойства.

  5. Для создания метода Access, установите метку Access method (Метод Access ). Для создания метода Assign, установите метку на Assign method (Метод Assign ). Для создания обоих методов установите метки на обоих чек-боксах.

  6. Для указания значения по умолчанию, которое отличается от принятого для нового свойства False (.F.), укажите ваше собственное значение по умолчанию в боксе Default Value (Значение по умолчанию).

    Note Совет

    Для установки значения свойства по умолчанию в пустую строку (""), щелкните по боксу Default Value (Значение по умолчанию) и нажмите на клавишу пробела.

  7. Для указания описания, для отображения его в окне Properties (Свойства), напечатайте описание в боксе Description (Описание).

    Note Совет

    Вы можете перечислить допустимые значения свойства в боксе Description (Описание).

  8. Щелкните по Add.

  9. Продолжайте вводить свойства или, если вы закончили работу, щелкните по Close.

а

Свойства в субклассах наследуют значения по умолчанию для свойств, которые вы указали, пока вы не переустановите в новые значения или сбросите в значения по умолчанию, определенные для родительского класса. Когда вы добавляете свойство, которое может быть установлено пользователем, пользователь может ввести недопустимое значение, которое может вызвать ошибки run-time. Рекомендуется, чтобы вы включили в ваше приложение код, который проверит значения введенные пользователем для свойства, или то, что задекларировано в качестве действительных значений для свойства при его создании.

После того, как вы добавите свойство, оно появится в окне Properties (Свойства) в конце списка свойств, со значением, которое вы указали. Вы можете изменить значения для свойства в Окне Properties - Свойства(Visual FoxPro).

Для получения более подробной информации об открытии классов смотрите описание задачи Как: редактировать классы. Для получения более подробной информации об уровнях видимости свойств смотрите Звщита и скрытие членов класса. Для получения более подробной информации смотрите Методы Access и Assign и Как: создавать методы Access и Assign.

Для программного добавления свойств в классы

  • Используйте команду DEFINE CLASS.

    В run time, вы можете добавлять объектам свойства с помощью функции ADDPROPERTY() или метода объекта AddProperty .

Для получения более подробной информации смотрите Команда DEFINE CLASS, Функция ADDPROPERTY() и Метод AddProperty.

Свойства-массива

Вы можете создать и добавить в класс в качестве свойства массив. Свойства-массивы представляют собой массивы, которые вы можете вводит в классы в виде свойств. Свойство-массив имеет признак "только для чтения" в design time и появляется в окне свойств выделенное курсивом; однако, вы можете управлять и изменять свойствами массива в run time. Например, вы можете создать свойство-массив для формы с целью хранения объектных переменных, связанных с каждым экземпляром формы. В качестве примера использования свойства-массива смотрите Как: управлять множеством экземпляров формы. Для получения информации об ограничениях в числе элементов массива обратитесь к справке Системные возможности Visual FoxPro.

To create an array property

  1. Следуйте приведенным ниже шагам для ввода свойства в класс.

  2. В боксе Name диалогового окна New Property (Новое свойство) впечатайте имя и размер массива.

Например, указание myArrayProperty[10,2] создает свойство-массив с именем myArrayProperty с 10-тью строками и двумя колонками.

Смотрите также

Задачи

Как: добавить методы в классы

Концепции

Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create Access and Assign Methods

Visual FoxPro 9.0
Как: создать методы Access и Assign
Смотрите также

Вы моежте создавать методы Access и Assign для новых своих собственных настраиваемых свойств, "родных" свойств Visual FoxPro или уже существующих созданных вами свойств. Вы можете создать из при введении или редактировании свойств. Для получения более подробной информации о методах Access и Assign смотрите описание Методы Access и Assign. Для получения более подробной информации о вводе новых свойств в формы, наборы форм или классы смотрите описание Как: добавить свойства и методы в форму и Как: добавить свойства и методы в классы.

Вы можете создавать методы Access и Assign интерактивно в дизайнераз форм и классов. Для создания методов Access и Assign для свойств формы или набора форм используйте дизайнер форм. Для создания методов Access и Assign для свойств классов элементов управления или других объектов используйте дизайнер классов. Кроме того, вы можете создать методы Access и Assign программно.

Для создания метода Access или Assign при добавлении нового свойства:

  1. В диалоговом окне New Property отметьте чек-боксAccess Method, Assign Method или оба.

  2. Когда вы закончите создание свойства, щелкните на Add.

Когда вы создаете метод Access или Assign, то вновь созданный метод появится в конце списка свойств в окне Properties и будет иметь имя, составленное из имени свойства, дополненного суффиксом _access или _assign.

Для получения более подробной информации смотрите Диалоговое окно New Property.

Для создания метода Access или Assign для "родных" свойств Visual FoxPro:

  1. Если вы работаете с дизайнером форм (Form Designer), то выберите в меню Form пункт New Method.

    - или -

    Если вы работаете с дизайнером классов (Class Designer, то выберите в меню Class пункт New Method.

  2. В боксе Name диалогового окна New Method впечатайте имя родного свойства Visual FoxPro и добавьте к нему суффикс _ACCESS или _ASSIGN.

  3. Когда вы закончите создание метода, щалкните на Add.

Для получения более подробной информации смотрите Диалоговое окно New Method

Для создания метода Access или Assign для уже существующих пользовательских, то есть ваших, свойств:

  1. Если вы работаете с дизайнером форм (Form Designer), то выберите в меню Form пункт Edit Property/Method.

    - или -

    Если вы работаете с дизайнером классов (Class Designer, то выберите в меню Class пункт Edit Property/Method.

  2. В диалоговом окне Edit Property/Method выберите желаемое свойство.

  3. Отметьте чек-боксAccess Method, Assign Method или оба.

  4. Щелкните на Apply и, затем, на Close.

Для получения более подробной информации смотрите Диалоговое окно Edit Property/Method.

Когда вы создаете методы Access или Assign для уже существующих свойств, то вновь созданный метод появится в конце списка свойств в окне Properties и будет иметь имя, составленное из имени свойства, дополненного суффиксом _access или _assign.

Для создания методов Access и Assign программно

  • Используйте команду DEFINE CLASS и включите в нее опцию PROCEDURE.

Note Замечание

В методах Assign, вы должны включить команду PARAMETERS или LPARAMETERS для того, чтобы когда вы попытаетесь присвоить значение свойству в run time, Visual FoxPro смог бы акцептировать значение и послать его методу Assign.

Для получения более подробной информации смотрите описание команды DEFINE CLASS.

Например, приведенный ниже пример кода создает класс с именем MyClass с методами Access и Assign, имеющими имена MyProperty_ACCESS и MyProperty_ASSIGN, для пользовательского свойства MyProperty. MyProperty_ACCESS отвечает на запросы значения MyProperty, а MyProperty_ASSIGN отвечает на изменения значения MyProperty.

Note Замечание

Метод Assign включает в себя команду LPARAMETERS для того, чтобы он смог принять значение, которое ему посылается.

CopyCode image Скопировать код
DEFINE CLASS MyClass AS Custom
   MyProperty = 100

   PROCEDURE MyProperty_ACCESS
      WAIT WINDOW 'This is the Access method';
         +  ' ' + PROGRAM( )
      RETURN THIS.MyProperty
   ENDPROC

   PROCEDURE MyProperty_ASSIGN
      LPARAMETERS tAssign
      WAIT WINDOW 'This is the Assign method';
          + ' ' + PROGRAM( )
   ENDPROC
ENDDEFINE

Приведенный ниже пример создает класс Form с именем frmMyForm с методом Assign, имеющим имя Left_ASSIGN для родного свойства формы Left. Left_ASSIGN производит простую проверку значения свойства и исполняется, когда производится попытка присвоить этому свойстве какое-то значение. Если вы пытаетесь установить свойство Left в отрицательное значение, метод Assign отобразит сообщение и оставить значение свойства неизмененным. Если вы попытаетесь установить свойство Left в неотрицательное значение, то метод установить свойство в переданное ему значение.

Note Замечание

Метод Assign включает в себя команду LPARAMETERS для того, чтобы он смог принять посылаемое ему значение.

CopyCode image Скопировать код
DEFINE CLASS frmMyForm AS Form
   PROCEDURE Left_ASSIGN
      LPARAMETERS tAssign
      DO CASE
         CASE tAssign < 0 && Посылается отрицательное значение.
            WAIT WINDOW 'Value must be greater than 0'
         OTHERWISE  && Посылается положительное значение.
            THIS.Left = tAssign
      ENDCASE
   ENDPROC
ENDDEFINE

Создание методов THIS_ACCESS

Вы можете создать методы THIS_ACCESS из дизайнеров форм, классов или программно.

Для создания метода THIS_ACCESS

  1. В меню Form для дизайнера форм или в меню Class для дизайнера классов выберите New Method.

  2. В диалоговом окне New Method напечатайте THIS_ACCESS.

  3. Щелкните по Add.

    Когда метод THIS_ACCESS будет создан, то он появится окне Properties. Для ввода кода в метод, выполните двойной щелчок по имени метода в окне Properties.

Для создания метода THIS_ACCESS программно

  • Используйте команду DEFINE CLASS и включите в нее ключевое слово THIS_ACCESS.

Для получения более подробной информации смотрите описание команды DEFINE CLASS.

Приведенный ниже пример создает класс Form с именем MyForm с методом THIS_ACCESS, который содержит команду LPARAMETER с именем объекта-члена и некоторым исполняемым кодом. Первая строка кода создает форму с именем oTempForm с помощью функции CREATEOBJECT(). Вторая строка кода пытается присвоить значение свойству формы Caption. Это действие исполняет метод THIS_ACCESS и посылает ему имя свойства Caption. THIS_ACCESS отображает имя объекта-члена, или 'Caption' в данном примере, используя команду воспросительного знака (?) и, затем, возвращает объектную ссылку для формы.

Третья строка кода пытается отобразить значение свойства формы Caption, используя команду ?. Это действие повторно исполняет метод THIS_ACCESS, посылает ему имя свойства Caption, отображает 'Caption' и, затем, возвращает объектную ссылку для формы. И, наконец, ображается значение свойства Caption - 'abc'.

CopyCode image Скопировать код
oTempForm = CREATEOBJECT('MyForm')
oTempForm.Caption = 'abc'
? oTempForm.Caption

DEFINE CLASS MyForm AS Form
   PROCEDURE THIS_ACCESS
      LPARAMETER cMemberName

      IF cMemberName = 'caption'
         ? cMemberName
      ENDIF
      RETURN THIS
   ENDPROC
ENDDEFINE

Для получения более подробной информации смотрите описание команды DEFINE CLASS.

Смотрите также

Задачи

Как: добавить свойства в классы

Концепции

Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Add Methods to Classes

Visual FoxPro 9.0
Как: добавить методы в классы
Смотрите также

После того, как вы создали класс, вы можете создать и добавить в класс свои настраиваемые методы. Когда вы добавляете методы в классы, вы создаете в определении класса процедуры или функции. Для получения более подробной инфорамции о методах, смотрите описание Классы в Visual FoxPro.

Note Замечание

Когда вы создаете свои собственные настраиваемые методы для классов, то они принадлежат области видимости класса, но не его индивидуальным компонентам. Если вы создаете метод, который имеет тоже самое имя, что и событие в определении класса, то этот код будет исполняться, когда произойдет одноименное событие.

Вы можете добавлять методы в классы используя Visual FoxPro IDE или программно. Когда вы добавляете метод, вы можете указать для него область видимости. Для получения более подробной информации об областях видимости для методов, смотрите описание Защита и скрытие членов класса.

Для того, чтобы добавить метод в класс

  1. Откройте класс в дизайнере классов Class Designer.

    Для получения более подробной информации об открытии классов смотрите описание задачи Как: изменять классы.

    Когда класс открыт в дизайнере классов Class Designer, в меню появится пункт Class.

  2. В меню Class выберите New Method.

  3. В боксе Name диалогового окна New Method впечатайте имя добавляемого метода.

  4. В боксе Visibility выберите для метода желаемую область видимости.

  5. Для указания описания для метода, которое появится в окне Properties, напечайте жалаемое описание в боксе Описание.

  6. Щелкните по Add.

  7. Продолжите добавление методов, или, если вы закончили их ввод, щелкните по Close.

После того, как вы добавили метод, он появится в окне Properties в конце списка процедур. Для получения более подробной информации о вводе кода в методы смотрите описание задачи Как: добавить код в методы и события.

Для ввода методов в классы программным путем

  • Используйте команду DEFINE CLASS и включите опцию FUNCTION при его создании.

Для получения более подробной информации смотрите Команда DEFINE CLASS.

Смотрите также

Задачи

Как: добавить свойства в классы

Концепции

Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Add Code to Methods and Events

Visual FoxPro 9.0
Как: добавить код в методы и события
Смотрите также

Вы можете добавить код для методов, которые вы добавили в классы или в события классов, используя дизайнер классов или программным способом.

Для добавления кода для метода или события

  1. Откройте класс в дизайнере классов.

    Для получения более подробной информации об открытии классов, смотрите Как: изменять классы.

  2. На панели инструментов Visual FoxPro щелкните на Properties Window.

  3. В списке свойств окна Properties, выполните двойной щелчок на методе или событии, в которые вы желаете добавить код для того, чтобы открыть окно редактирования.

    Замечание Замечание

    Определенные пользователем методы появляются в конце списка свойств.

  4. В окне редактирования кода добавьте необходимый фрагмент кода для метода или события.

  5. Когда вы закончите редактирование кода, закройте окно редактирования.

Для получения более подробной информации, смотрите Окно Properties (Visual FoxPro) и Окно редактирования кода.

Для добавления кода в методы и события программным способом

  • Используйте команду DEFINE CLASS и включите операторы FUNCTION или PROCEDURE.

Для получения более подробной информации, смотрите Команда DEFINE CLASS.

Смотрите также

Концепции

Классы в Visual FoxPro
Работа с классами в Visual FoxPro

Прочие ресурсы

Понимание событийной модели

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Modify Class and Class Member Attributes

Visual FoxPro 9.0
Как: изменить класс и аттрибуты члена класса
Смотрите также

После того, как вы создали классы, вы можете добавить или редактировать их описание с помощью Class Designer (Конструктора класса) или Class Browser (Обозревателя класса). Если вы делаете это с помощью Class Browser (Обозревателя класса), вам не нужно открывать каждый класс. Вы, кроме того, можете изменять атрибуты введенных вами свойств и методов.

Для изменения описания класса

  1. Откройте класс Class Designer (Конструктор класса).

    Для получения более подробной информации об открытии классов смотрите описание задачи Как: редактировать класс.

    Когда класс открыт в Class Designer (Конструктор класса), то в меню появится пункт Class (Класс).

  2. В меню Class (Класс) выберите Class Info (Информация о классе).

  3. В диалоговом окне Class Info (Информация о классе) выберите закладку Class (Класс).

  4. Сделайте необходимые изменения в боксе Description (Описание).

  5. Когда вы закончите делать изменения, щелкните на OK.

Для изменения описания класса без открытия каждого класса

  1. Откройте библиотеку класса в Class Browser (Обозревателе класса).

    Для получения более подробной информации об открытии библиотек класса смотрите описание задачи Как: открыть библиотеку класса.

  2. В списке классов в Class Browser (Обозревателе класса) выберите класс, описание которого вы желаете изменить.

  3. В нижнем левом углу Class Browser (Обозревателя класса) впечатайте текст, описывающий класс.

Если в списке членов в Class Browser (Обозреватель класса) не выбран конкретный член класса Class Browser, то в правом нижнем углу Class Browser (Обозреватель класса) отображается класс информация метки времени для выбранного класса.

Изменение атрибутов пользовательских свойств и методов

Вы можете редактировать атрибуты, такие как область видимости и описание для пользовательских свойств и методов с помощью интерактивной среды Visual FoxPro, Project Manager (Диспетчера проекта) в случае, когда класс является частью проекта, или с помощью Class Browser (Обозревателя класса).

Caution note Предупреждение

Будьте осторожны при редактировании атрибутов, таких как область видимости, для пользовательских свойств и методов. Изменения, которые вы сделаете, могут иметь влияние на код, который ссылается на эти свойства и методы.

Для изменения атрибутов пользовательских свойств и методов

  1. Откройте класс в Class Designer (Конструкторе класса).

    Для получения более подробной информации об открытии классов, смотрите описание задачи Как: редактировать класс.

    Когда class открыт в Class Designer (Конструкторе класса) в меню появляется пункт Class (Класс).

  2. В меню Class (Класс) выберите Edit Property/Method (Редактировать свойство/метод).

  3. Когда вы завершите изменения щелкните по Apply (Применить).

Вы, кроме того, можете вызвать контекстное меню щелчком по правой клавише мыши на имени свойства или метода в списке свойств окна Properties (Свойства) и выбрать пункт Edit Property/Method (Редактировать свойство/метод).

Для изменения атрибутов для пользовательских свойств и методов без открытия каждого класса

  1. Откройте библиотеку класса в Class Browser (Обозревателе класса).

    Для получения более подробной информации об открытии библиотеки класса смотрите описание задачи Как: открыть библиотеку класса.

  2. В списке членов в Class Browser (Обозревателе класса) выберите метод или свойство.

  3. В правом нижнем углу Class Browser (Обозревателя класса), впечатайте текст для свойства или метода.

Note Замечание

Для свойств и методов члена, в нижнем правом углу отображается описание, которое вы можете редактировать. Однако, для членов объекта и экземпляра класса, в нижнем правом углу отображается информация о классе с признаком "только для чтения" и базовом классе члена объекта, включая область видимости, имена членов и значения свойств.

Смотрите также

Задачи

Как: добавить код в методы и события

Концепции

Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Remove Properties and Methods from Classes

Visual FoxPro 9.0
Как: Исключить Свойство или Метод из класса
См. также

Вы можете исключить пользовательское Свойство или пользовательский Метод из класса.

Caution note Обратите Внимание

Осторожно удаляйте выбранные свойства или методы класса, если они используются в порождаемых объектах, то это может привести к ошибке или исключительной ситуации.

Для исключения пользовательского Свойства или Метода из объекта

  1. Откройте класс в Class Designer.

    См. дополнительно раздел Как: Изменять Классы.

    Когда класс откроется в службе Class Designer, появится соответствующее меню Class.

  2. В данном меню Class, выберите пункт Edit Property/Method.

  3. В списке Property/Method Information, выберите нужное свойство или метод, нажмите кнопку Remove.

См. также

Концепции

Классы в системе Visual FoxPro
Работа с классами в Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Specify Design-Time Appearance for Classes

Visual FoxPro 9.0
Как: указать внешний вид классов в Design-Time
Смотрите также

В Visual FoxPro объекты и элементы управления, созданные из визуальных классов отображают визуальный элемент как в design time, так и в run time. Однако, объекты и элементы управления, созданные из невизуальных классов, таких как Custom и Timer отображают визуальный элемент в design time, но не отображают в run time.

В design time, Visual FoxPro отображает объекты, созданные из невизуальных классов в виде картинки, используемой по умолчанию для таких классов. Однако, вы можете изменить картинку, используемую по умолчанию, для того чтобы вы могли различать невизуальные классы от других в design time. Однако, объекты, созданные из невизуальных классов все равно не будут отображать представляющие их картинки в run time.

Вы, кроме того, можете указать полоску инструментов и контейнерные иконки, которые появятся для классов в Visual FoxPro IDE. Вы можете указать иконки, которые появятся в полоске инструментов для формы и в Toolbox, после того, как вы добавите в него классы. Вы, кроме того, можете указать контейнерные иконки, которые появятся в Project Manager (Диспетчере проекта) и Class Browser (Обозревателе класса).

Для указания визуального элемента для невизуального класса

  1. Откройте класс в Class Browser (Обозревателе класса).

    Для получения более подробной информации об открытии классов смотрите описание задачи Как: редактировать класс.

  2. В полоске инструментов Visual FoxPro щелкните по Properties Window (Окно свойств).

  3. В окне Properties (Свойства) укажите файл картинки, так как файл bitmap (.bmp) для свойства Picture.

  4. Сохраните класс.

Вы можете указать иконку класса для полоски инструментов. После того, как вы введете класс в полоску инструментов формы или Toolbox, иконка класса появится как полоске инструментов формы, так и в Toolbox.

Для указания иконки класса для полоски инструментов

  1. Откройте класс Class Designer (Конструкторе класса).

    Для получения более подробной информации об открытии классов смотрите описание задачи Как: редактировать класс.

    Когда класс открывается в Class Designer (Конструкторе класса), появляется меню Class (Класс).

  2. В меню Class (Класс) выберите Class Info (Информация о классе).

  3. В боксе Toolbar icon (Иконка полоски инструментов) в диалоговом окне Class Info (Информация о классе), впечатайте имя и путь к файлу icon (.ico) или bitmap (.bmp).

    - или -

    Щелкните по кнопке (...) для поиска файла .ico или .bmp.

  4. Щелкните по командной кнопке OK и сохраните класс.

Note Замечание

Файл bitmap (.bmp) для иконки полоски инструментов должен иметь размер картинки 15х16 пикселей. Если картинка больше или меньше по размеру, она будет приведена к указанному размеру 15х16 и может выглядеть совсем не так, как вам хотелось бы.

Вы можете указать контейнерную иконку для класса. Икона класса появляется в таких контейнерах, как Project Manager (Диспетчер проекта ) и Class Browser (Обозреватель класса). в Class Browser (Обозревателе класса), иконка класса появляется рядом с классом в списке классов и рядом с боксом типов, когда класс выбран в списке. По умолчанию, контейнерная иконка и иконка для полоски инструментов обычно одна и та же, что выбрана для родительского класса.

Для указания контейнерной иконки класса

  1. Откройте класс в Class Designer (Конструкторе класса).

    Для получения более подробной информации об открытии класса смотрите описание задачи Как: редактировать класс.

    Когда класс открывается в Class Designer (Конструкторе класса) , появляется меню Class (Класс).

  2. В меню Class (Класс) выберите Class Info (Информация о классе).

  3. В боксе Container icon (Иконка контейнера) в диалоговом окне Class Info (Информация о класса) впечатайте имя и путь к файлу icon (.ico) или bitmap (.bmp).

    - или -

    Щелкните по кнопке (...) для поиска файла .ico или .bmp.

  4. Щелкните по командной кнопке OK и сохраните класс.

Вы, кроме того, можете указать контейнерную иконку в Class Browser (Обозревателе класса) с помощью вызова контекстного меню на имени класса в списке классов и выбора в нем пункта Container icon (Иконка контейнера) с последующим выбором файла .ico или .bmp и щелчком по OK.

Note Совет

Если вы щелкнете по Cancel вместо OK, Visual FoxPro отобразит сообщение, запрашивающее вас - желаете ли вы сбросить иконку в иконку по умолчанию, которую Visual FoxPro использует для своих базовых классов. Если вы желаете, что иконка соответствовала своему базовому классу - щелкните по Yes.

Новая иконка заменит предыдущую в списке классов. Иконка, которая появляется рядом с классом обновится, когда вы повторно выберете класс в списке классов.

Note Замечание

Если предыдущая иконка для контейнера и полоски инструментов одна и та же, то новая иконка заменит обе - как для полоски инструментов, так и для контейнера. В противном случае, если предыдущие иконки для полоски инструментов и для контейнера различались, то изменится только контейнерная иконка.

Смотрите также

Задачи

Как: создавать классы и субклассы

Концепции

Классы в Visual FoxPro
Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.
Перевод выполнен JS.


How to: Add Classes to Visual FoxPro Tools

Visual FoxPro 9.0
Как: Добавлять класы в инструментарий Visual FoxPro
Смотрите также

Как правило, вы можете добавить объекты в формы, перетаскивая классы из инструментальной панели или добавляя их из панели инструментов Form Controls. Однако, Visual FoxPro не добавляет пользовательские классы в инструментарий или панели инструментов Form Controls автоматически.

Для добавления класа в инструментальную панель

  1. В меню Tools, выберите Toolbox.

  2. Щелкните правой кнопкой мыши по Toolbox и выберите Add Class Library.

  3. В поле Category диалогового окна Add Class Library, напечатайте или выберите категорию, к которой вы хотите добавить класс.

  4. В поле Class Library, напечатайте название библиотеки классов.

    -ИЛИ-

    Щелкните кнопку троеточие (...) для выбора библиотеки класов.

Visual FoxPro добавляет класс в конец категории, которую вы выбрали в инструментальной панели.

Для получения дополнительной информации, смотрите Toolbox (Visual FoxPro) и Как: Настроить инструментальную панель.

Для добавления сласа в панель инструментов Form Controls

  1. Откройте форму.

  2. В меню View, выберите Form Controls Toolbar.

  3. На инструментальной панели Form Controls, щелкните View Classes, и затем выберите Add.

  4. В диалоговом окне Open, выберите библиотеку классов, и затем щелкните Open.

    Класс появляется на инструментальной панели Form Controls.

Когда вы добавляете библиотеки классов в инструментальную панель Form Controls, они появляются зарегистрированными на закладке Controls диалогового окна Options. Если Вы хотите, чтобы класс появился на инструментальной панели Forms Control в будущих сеансах Visual FoxPro, щелкните Set As Default на закладке Controls диалогового окна Options.

Note Tip

Вы можете регистрировать библиотеку классов так, что когда вы выбираете View Classes на инструментальной панели Form Controls, библиотека классов появилась в списке библиотек классов, которые вы можете выбрать.

Для регистрации библиотеки класов

  1. В меню Tools, выберите Options.

  2. В диалоговом окне Options, выберите закладку Controls.

  3. На закладке Controls, выберите Visual class libraries, и затем щелкните Add.

  4. В диалоговом окне Open выберите библиотеку классов, и затем щелкните Open.

  5. Чтобы сделать библиотеку классов доступной на инструментальной панели Form Controls для будущих сеансов Visual FoxPro, щелкните Set As Default.

  6. щелкните OK.

Смотрите также

Концепции

Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Access and Assign Methods

Visual FoxPro 9.0
Методы Access и Assign
Смотрите также

Visual FoxPro поддерживает методы Access и Assign, которые представляют собой пользовательские процедуру и функции, имеющие те же имена, что и имя свойства, с которым они ассоциированы, но дополненные суффиксами _ACCESS или _ASSIGN. Вы можете использовать методы Access и Assign для исполнения процедурного кода когда запрашивается значение свойства или когда производится попытка присвоения нового значения свойству. Visual FoxPro исполняет методы Access и Assign только при запросах значения свойства или изменения значения свойства в run time, но не в design time. Вы можете создать методы Access и Assign отдельно и независимо друг от друга.

Методы Access и Assign дают приведенные ниже преимущества:

  • Вы можете создать открытый интерфейс для класса или объекта, который отделяет интерфейс от реализации.

  • вы можете легко реализовать проверку истинности значения свойства.

  • Вы можете легко защитить свойства в субклассированных ActiveX элементах.

Visual FoxPro исполняет код в методк Access, когда запрашивается значение свойства, обычно при использовании свойства в ссылке объекта, сохранения значения свойства в переменную памяти или отображении значения свойства с командой "знак вопроса" (?).

Visual FoxPro исполняет код в методе Assign когда вы пытаетесь изменить значение свойства, обычно с помощью команды STORE или оператора привоения (=) для сохранения нового значения свойства.

Note Замечание

Вы можете создать методы Access и Assign для большинства родных свойств Visual FoxPro. Вы можете создать методы Assign для свойств, у которых установлен аттрибут "только для чтения", однако, в этом случае метод никогда не будет исполнен. Visual FoxPro не поддерживает метод Assign для значения свойства Value для управляющих элементов, а также не поддерживает методы Access и Assign для родных свойств, событий или методов элементов ActiveX. Однако, Visual FoxPro поддерживает методы Access и Assign для свойств, событий и методов для Visual FoxPro OLE Container в котором содержится элемент ActiveX.

Note Замечание

Методы Access и Assign для членов массива не срабатывают, когда обращение к массиву производится в помощью функции, такой как ASCAN().

Note Замечание

Метод Assign сработает для определенных родных свойств, когда их значения опрашиваются, но не изменяются. Эти свойства включают в себя свойства размеров, такие как Top, Left, Height, Width а также и некоторые другие, такие как Visible. Этот связано с тем, как Visual FoxPro внутренне обрабатывает эти свойства.

Visual FoxPro интерпретирует методы Access и Assign в run time, как Protected, так что к ним нельзя обратиться извне определения класса. Однако, когда вы находитесь в дизайнере класса, Visual FoxPro интерпретирует эти методы Access и Assign особым образом. Когда вы бросаете объект на контейнер, например, командную кнопку на форму, Visual FoxPro обычно метит защищенные методы такого объекта как "read-only" и не модифицируемыми в дизайнере. Однако вы вы можете редактировать методы Access и Assign такого объекта в дизайнере классов.

Методы THIS_ACCESS

Вы можете создать методы THIS_ACCESS для исполнения кода, когда изменяется значение для члена объекта или опросе члена объекта. Метод THIS_ACCESS должен всегда возвразать объектную ссылку; в противном случае Visual FoxPro сгенерирует ошибку. Обычно, метод возвращает объектную ссылку THIS. Метод THIS_ACCESS, кроме того, должен включать параметр для приема имени члена объекта, который изменяется или опрашивается.

Note Замечание

THIS_ACCESS не предназначен в качестве глобальной замены методов Access и Assign. Он только предоставляет информацию о членах объекта, к которому обращаются или который опрашивается. В отличие от методов Access и Assign, метод THIS_ACCESS не предоставляет управления над значениями, возвращаемые конкретными членами объекта.

Смотрите также

Задачи

Как: создавать методы Access и Assign

Концепции

Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Protecting and Hiding Class Members

Visual FoxPro 9.0
Защита и Доступность Элементов Класса
См. Также

Когда вы создаете или добавляете новое Свойство или Метод для некоторого пользовательского или стандартного Класса, например в Дизайнере Классов, вы можете обеспечить различные уровни доступности изащиты к данным свойствам или методам: Public, Protected, Hidden.Когда вы создаете класс при помощи команды (в программном модуле) DEFINE CLASS, вы можете использовать ключевые секции (или опции), такие как PROTECTED или HIDDEN.

По-умолчанию, Свойства и Методы в классах создаются с атрибутом Public, что обеспечивает возможность изменять и переопределять данные Свойства и Методы в порождаемых Классах или создаваемых Объектах, использовать прямые вызовы программного кода данных методов. Тем не менее, для некоторых разрабатываемых классов имеет смысл и необходимость ограничить доступ к некоторым Свойствам, и отключить внешний вызов Методов класса. Вы можете определить характеристику рассматриваемого Свойства или Метода как Protected, что ограничит доступ к данным элементам помимо класса или подклассов (то есть, они будут доступны только внутри класса). Вы можете также использовать характеристику Hidden для данных членов класса (свойств или методов), в этом случае эти элементы будут недоступны другим членам класса (скрыты для "родственников").

Например, предположим вы создаете некоторый Класс, в котором содержится информация "для служебного пользования", и вы не хотите, чтобы пользователи не могли изменять некоторое поле, содержащее информацию о служащем. Вы можете создать требуемое Свойство с реквизитом Protected, и вместе с этим , создать пользовательский метод, возвращающий значение защищенной информации, которую пользователь моржет просматривать, и только. В следующем далее примере проограммного кода: создается пользовательский класс Employee, при помощи команды DEFINE CLASS, свойство HireDate определяется с атрибутом Protected, смотрите опцию PROTECTED, но имеется мотод с именем GetHireDate, который возвращает требуемое значение:

CopyCode image Копировать Код
DEFINE CLASS Employee AS CUSTOM
 PROTECTED HireDate
 First_Name = ""
 Last_Name = ""
 Address = ""
 HireDate = { - - }

 PROCEDURE GetHireDate
 RETURN This.HireDate
 ENDPROC
ENDDEFINE

Дополнительную информацию смотрите в разделе: DEFINE CLASS, команда.

Стандартный пример Visual FoxPro, Использование Секундомера, пример, также иллюстрирует использование защищенных свойств и методов пользовательского Класса.

См. также

Задачи

Как: Добавить Свойство в Класс
Как: Добавить Метод в Класс

Концепции

Классы в системе Visual FoxPro
Работа с Классами в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Overriding Default Property Settings

Visual FoxPro 9.0
Аннулирование установки Свойства "по-умолчанию"
См. Также

Для пользовательских классов, вы можете изменять значения свойств объектов, заданных "по-умолчанию", это относится к тем свойствам, которые отмечены как доступные (Public), и не имеют характеристики Protected, т.е не защищены. Данные действия сбрасывают (аннулируют) значения свойств, заданные по-умолчанию, при создании объекта, класса. Если вы, в дальнейшем, изменяете значение по-умолчанию для некоторого свойства класса, например, с помощью Class Designer, то данное значение не будет иметь эффекта для уже созданных объектов, размещенных на активной форме.

Тем не менее, если вы не меняете значение свойства по-умолчанию, когда добавляете рассматриваемый объект на форму, а при разработке класса выполните замену значения по-умолчанию на новое значение, то данное значение будет дествительным при активации объекта на форме.

Например, предположим , что вы добавляете на форму некоторый пользовательский объект Командная кнопка, затем меняете значение свойства BackColor, с белого на красный. Если в дальнейшем будет проведена замена данного свойства BackColor, в пользовательском классе, на зеленый цвет, то в нашей форме рассматриваемая кнопка останется красной. Однако, если бы вы не меняли, в форме, цвета кнопки (белый на красный), т.е значение по-умолчанию, то на форме кнопка была бы тоже зеленого цвета. В этом случае работает один из основных принципов Объектно-ориентированного программирования - Наследование.

См. также

Концепции

Аннулирование и вызов программного кода родительского класса
Работа с Классами в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Overriding and Calling Parent Class Code

Visual FoxPro 9.0
Перепись и вызов кода родительского класса
Смотрите также

Когда вы создаете класс, то класс автоматически наследует все свойства, методы и события родительского класса. Например, если в родительском классе существует код для события, то этот код исполняется, когда происходит событие в объекте, основанное на субклассе, созданном из родительского класса.

В приведенном ниже разделе описывается, каким образом вы можете переписать или исполнить метод или код события из родительского класса:

  • Перепись кода родительского класса

  • Вызов кода родительского класса

Перепись кода родительского класса

Обычно, создание нового класса вызывается желанием придать дополнительную функциональность объекту, созданного из этого класса, по сравнению с оригинальным классом. Однако, вы можете переписать код метода или события, наследуемого из родительского класса. Например, предположим, что вы создаете субкласс или объект, основанный на субклассе контнейнера, такого как форма. Вы можете написать новый код для события Click класса, для того, чтобы переписать код события родительского класса. В обоих случаях, в run time будет исполнено новый, а не оригинальный код.

Вы можете, кроме того, предотвратить поведение по умолчанию базового класса, которое определяется методами или событиями субкласса. Для этого, вам нужно в добавляемый код метода или события включить ключевое слово NODEFAULT.

Например, приведенный ниже программный код использует ключевое слово NODEFAULT событии KeyPress textbox'а для предотвращения печати символов от их отображения в text box'е:

CopyCode image Скопировать код
frmKeyExample = CREATEOBJECT("test")
frmKeyExample.Show
READ EVENTS
DEFINE CLASS myForm AS FORM
   ADD OBJECT text1 AS TEXTBOX
   PROCEDURE text1.KeyPress
      PARAMETERS nKeyCode, nShiftAltCtrl
      NODEFAULT
      IF BETWEEN(nKeyCode, 65, 122) && Между 'A' и 'z'
         This.Value = ALLTRIM(This.Value) + "*"
         ACTIVATE SCREEN      && Направляет вывод в гланое окно Visual FoxPro.
         ?? CHR(nKeyCode)
      ENDIF
   ENDPROC
   PROCEDURE Destroy
      CLEAR EVENTS
   ENDPROC
ENDDEFINE

Вызов кода родительского класса

Вы можете оптимизировать дизайн класса ввдением и испольнением кода на различных уровнях иерархии класса или контейнера.

Для исполнения метода или кода события в родителском классе в дополнении к коду того же самого метода или события в субклассе введите в код функцию DODEFAULT( ) или оператор (::) до написанного вами кода метода или события.

Замечание Совет

При использовании функции DODEFAULT() вам не требуется знать имя родительского класса. Однако, для определения всех классов в иерархии класса объекта, используйте функцию ACLASS(). Для получения более подробной информации, смотрите ее описание в ACLASS().

Например, предположим, что у вас имеется класс с именем cmdGoBottom, основанный на классе CommandButton, у которого в событии Click имеется приведенный ниже код:

CopyCode image Скопировать код
GO BOTTOM
THISFORM.Refresh

Этот код смещает указатель записи таблицы в конец таблицы. Когда вы создаете командную кнопку, например, cmdGoBottom1, основанную на классе cmdGoBottom и добавляете ее в форме, вы можете рещить исполнять код родительского класса в событии Click и отображать сообщение, указывюще на то, что указатель записи таблицы перемещен в конец таблицы. Предположим, что вы добавляете только приведенную ниже строку кода в код события Click командной кнопки cmdGoBottom1 для отображения сообщения: "At the Bottom of the Table":

CopyCode image Скопировать код
WAIT WINDOW "At the Bottom of the Table" TIMEOUT 1

Когда вы запустите форму, сообщение отображается; однако, указатель записи не смещается, так как код в событии Click командной кнопки cmdGoBottom1 переписал код родительского класса. Для того, чтобы гарантировать, что код родительского класса для события Click также будет исполнен, включите приведенные ниже строки кода, вместо кода в событии Click:

CopyCode image Скопировать код
DODEFAULT( )
WAIT WINDOW "At the Bottom of the Table" TIMEOUT 1

Приведенные ниже строки в коде Click той же самой кнопки, показывают, как выполнить ту жу самую задачу с помощью оператора (::) и имени родительского класса:

CopyCode image Скопировать код
cmdGoBottom::Click()
WAIT WINDOW "At the Bottom of the Table" TIMEOUT 1

Как другой пример этого, библиотека визуальных классов Buttons.vcx, находящаяся в каталоге Visual FoxPro ...\Samples\Classes содержит два класса командных кнопок: cmdOK и cmdCancel. Предположим, что на форме имеется командная кнопка, созданная из класса cmdOK. Код в ее событии Click освобождает форму, когда вы щелкаете по этой командной кнопке. Однако, класс командной кнопки cmdCancel является субклассов командной кнопки cmdOK. Предположим, что вы желаете сбросить изменения, сделанные а таблице, когда вы щелкаете по командной кнопке, созданной из класса cmdCancel. Вы можете добавить желаемую функциональность событию Click класса cmdCancel, который вызывает код метода в классе cmdOK, используя приведенный ниже код примера:

CopyCode image Скопировать код
IF USED( ) AND CURSORGETPROP("Buffering") != 1
TABLEREVERT(.T.)
ENDIF
DODEFAULT( )

Код, добавленный в класс cmdCancel, сбрасывает изменения с помощью функции TABLEREVERT( ) до использования функции DODEFAULT( ) для вызова кода в классе cmdOK с целью высвобождения формы.

Замечание Замечание

Вам нет необходимости добавлять функцию TABLEUPDATE( ) в класс cmdOK, так как изменения, сделанные в буфферированной таблице записываются, по умолчанию, при закрытии формы.

Для получения более подробной информации, смотрите описание функции DODEFAULT() и описание :: Scope Resolution Operator.

Смотрите также

Концепции

Перепись значений свойств, установленных по умолчанию
Работа с классами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Managing Classes and Class Libraries

Visual FoxPro 9.0
Управление Классами и Библиотеками Классов

Visual FoxPro использует сохраняемые Определения пользовательских Классов в соответствующих файлах Библиотек Классов. Вы можете выполнять разнообразные операции по управлению Классами: создавать Библиотеки Классов, добавлять новые Классы и порождаемые ПодКлассы, копировать и переименовывать классы, переопределять родительские классы и соответствующие связи, удалять (исключать) классы из Библиотек Классов.

Visual FoxPro предоставляет Разработчику несколько рназнообразных средств по управлению Классами и Библиотеками классов. Однако, при использовании системного средства Class Browser, все выполняемые изменения в библиотеках классов отражаются в соответствующих файлах библиотек классов, но не актуализируют информацию в соответствующих Проектах и Формах. Выполненные изменения Компонент с помощью системного дизайнера Class Browser записываются в библиотеках (.vcx) или в файлах форм (.scx), которые также открыты в
Class Browser.

В данном Разделе:

Выполнение Операций с помощью Class Browser

Рассматриваются вопросы использования Class Browser.

Как: Создать Библиотеку Классов (Visual FoxPro)

Приводятся способы и методы создания Библиотеки Классов.

Как: Открыть Библиотеку Классов

Приводятся рекомендации по открытию Библиотеки Классов.

Как: Добавить Новый Класс или подкласс в Библиотеку Классов

Объясняется, как добавить новый Класс или Подкласс в существующую Библиотеку Классов.

Как: Переименовать Класс в Библиотеке Классов

Объясняется, какими методами можно переименовать Класс в Библиотеке Классов.

Как: Копировать Классы между Библиотеками Классов

Описываются процессы копирования Классов из одной библиотеки в другую библиотеку классов.

Как: Переопределить взаимосвязь с Родительским Классом

Рассматриваются методы изменения для Класса Родительской наследственности.

Как: Исключить Класс из Библиотеки Классов

Приводятся рекомендации по Исключению Класса из Библиотеки.

Как: Просмотреть информацию о Типе Библиотеки

Приводятся рекомендации о получении информации о Типе Библиотеки.

Связанные Секции:

Объектно-Ориентированное Программирование

Обсуждаются вопросы создания замкнутых подсистем программных Компонент, обеспечивающих широкий спектр функционального назначения; достаточно легко внедряемые в другие приложения; просто корректируемые и поддерживаемые.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Operating the Class Browser

Visual FoxPro 9.0
Operating the Class Browser (Действия с навигатором классов)

Навигатор Класса позволяет вам, управлять классами и библиотеками классов.

В Этой Секции

How to: Run the Class Browser

Объясняет, как открыть и выполнить навигатор Класса.
How to: Customize the Class Browser

Объясняет, как настроить Навигатор Класса.
How to: View Class Hierarchies

Объясняет, как просматривать иерархии класса.
How to: Filter the Class Browser Class List

Объясняет, как фильтровать классы, отображаемые в Навигаторе Класса.
How to: View Class Definition Code

Объясняет, как просматривать код определения классов.

Связанные Секции

Managing Classes and Class Libraries

Описывает, как управлять классами, которые вы создаете.
Working with Classes in Visual FoxPro

Введение в классы Visual FoxPro и их использование для создания объектов.
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


How to: Run the Class Browser

Visual FoxPro 9.0
Как: запустить Class Browser
Смотрите также

Вы можете одновременно запустить множество экземпляров Class Browser.

Для запуска Class Browser

  • В меню Tools выберите Class Browser.

Для получения более подробной информации смотрите описание Окно Class Browser и Командные кнопки Class Browser.

Для программного запуска Class Browser

  • В окне Command используйте команду DO с системной переменной _BROWSER, которая указыавет на приложение обозревателя классов, так как это показано в приведенном ниже примере кода:

    CopyCode image Скопировать код
    DO (_BROWSER)

Для получения более подробной информации смотрите описание Системная переменная _BROWSER.

При запуске Class Browser с помощью команды DO, вы можете использовать дополнительные параметры и синтаксис, перечисленные ниже в таблице:

CopyCode image Скопировать код
DO (_BROWSER) [WITH [tcFileName][, tcDefaultClass[.member]][, tlListBox][, tcClassType][, tnWindowState]]

В приведенной ниже таблице описываются дополнительные параметры, которые вы можете использовать для запуска Class Browser с помощью команды DO.

Параметр | Описание
tcFileName | Имя файла с расширениями .vcx, .scx, .olb, .tlb, .pjx или .exe для открытия в Class Browser. Для получения более подробной информации смотрите описание Расширения файла и типы файлов.
tcDefaultClass[.member] | Указывает класс, выбираемый по умолчанию в файле .vcx. Если этот параметр не указан, выбирается библиотека класса. Если указан член класса, то он появится выбранным в списке Class Browser.
tlListBox | Определяет - будут ли отображаться классы и члены в виде списка или в виде элементов древовидной структуры (tree-view). Для отображения в виде списка укажаите для этого параметра True (.T.). По умолчанию установливается в: False (.F.)
tcClassType | Определяет начальный фильтр типа для классов, отображаемых в Class Browser. Для изменения фильтра в Class Browser, выберите другое значение в списке типов Class Browser. По умолчаниюDefault: No filter. - Фильтр не установлен
tnWindowState | Указывает состояние открываемого окна Class Browser. 0 - Нормальноеl (По умолчанию) 1 - Минимизированное 2 – Распахнутое на весь экран
tlGallery | Определяет - что будет открыто - Component Gallery вместо Class Browser или непосредственно Class Browser. Для открытия окна Component Gallery укажите для этого параметра True (.T.). По умолчанию устанавливается в : False (.F.)

Например, вы можете запустить Class Browser с конкретным файлом библиотеки визуальных классов (.vcx) или с объектной ссылкой. Вы можете ,кроме того, включить имя класса, который будет выбран при запуске. Приведенная ниже строка кода открывает Class Browser, библиотеку классов Buttons.vcx и выбирает класс VCR:

CopyCode image Скопировать код
DO (_BROWSER) WITH HOME(2) + 'Classes\Buttons.vcx', 'VCR'

В качестве другого примера, вы можете запустить Class Browser и указать ему выбрать объект cmdOK из класса Print_Report и библиотеке Samples.vcx, отобразить формы и членов в Samples.vcx в списке, отфильровать отображаемые классы с помощью класса Form и открыть окно Class Browser распахнутым на весь экран:

CopyCode image Скопировать код
DO (_BROWSER) WITH "Samples.vcx", "Print_Report.cmdOK", .T., "form", 2

Смотрите также

Задачи

Как: настроить Class Browser
Как: просмотреть иерархию класса
Как: отфильтровать список классов в Class Browser
Как: просмотреть код определения класса

Прочие ресурсы

Работа с Class Browser
Управлением классами и библиотеками классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Customize the Class Browser

Visual FoxPro 9.0
Как: настроить Class Browser
Смотрите также

Вы можете настроить Class Browser изменением значений его свойств и используя его методы и события. Вы можете производить дополнительные операции, такие как указание библиотеки класса открываемой по умолчанию в Class Browser, испсользуя методы Class Browser. Для получения более подробной информации смотрите описание Свойства Class Browser, Методы Class Browser, and Объекты-члены Class Browser

Когда вы открываете Class Browser, автоматически создается глобальная переменная _oBrowser. Вы можете использовать эту переменную для обращения или управления Class Browser также, как и для обращения или управления любым объектом формы.

Для установки свойств Class Browser

  • В окне Command используйте приведенный ниже синтакис для установки свойств Class Browser, которые вы желаете изменить:

    CopyCode image Скопировать код
    _oBrowser.Property = newValue

Например, после открытия Class Browser, вы можете использовать приведенные строки кода для установки свойства Caption окна Class Browser в "My Class Browser" и установки свойства Left в значение 10:

CopyCode image Скопировать код
_OBROWSER.Caption = "My Class Browser"
_OBROWSER.Left = 10

Для указания класса библиотеки, открываемого по умолчанию при открытии Class Browser

  1. Откройте библиотеку классов в Class Browser.

  2. В списке классов Class Browser выберите библиотеку классов.

  3. В окне Command впечатайте приведенный ниже код:

    CopyCode image Скопировать код
    _oBrowser.SetDefaultFile

Это сбросит любые ранее установленные библиотеки, открываемые по умолчанию.

Вы можете указать библиотеку классов, открываемую по умолчанию в дополнение к уже существующему значению.

Для указания дополнительной библиотеки, открываемой при открытии Class Browser

  1. В Class Browser щелкните на кнопке View Additional File.

  2. В списке классов Class Browser выберите библиотеку классов.

  3. В окне Command впечатайте приведенный ниже код:

    CopyCode image Скопировать код
    _oBrowser.SetDefaultFile(.T.)

Для удаления библиотеки классов из списка Class Browser

  1. В списке классов Class Browser выберите библиотеку классов.

  2. В окне Command впечатайте приведенный ниже код:

    CopyCode image Скопировать код
    _oBrowser.ResetDefaultFile

Для удаления всех библиотек классов из списка Class Browser list

  • В окне Command впечатайте приведенный ниже код:

    CopyCode image Скопировать код
    _oBrowser.ResetDefaultFile(.T.)

Смотрите также

Задачи

Как: просмотреть иерархию класса
Как: отфильтровать список классов в Class Browser
Как: просмотреть код определения класса

Справочное руководство

Окно Class Browser

Прочие ресурсы

Работа с Class Browser
Управлением классами и библиотеками классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: View Class Hierarchies

Visual FoxPro 9.0
Как: Просмотреть Иерархию классов
См. также

С помощью системной службы Class Browser вы можете просмотреть иерархию классов в библиотеке классов, пользовательские члены классов, или наследование классов между связанными классами.

Для просмотра списка и иерархии классов

  1. В окне службы Class Browser, откройте интересующую вас библиотеку классов.

    Как запустить данную системную службу, см. дополнительно Как: Запустить службу Class Browser.

  2. В появившемся списке классов окна Class Browser, выберите нужный вам класс.

Когда выбран нужный класс, то во втором списке данной службы появляется иерархия составляющих элементов рассматриваемого класса. Основной список классов данной библиотеки представлен в иерархическом виде, если включен режим Hierarchical , из короткого (программного меню данной службы).

При выборе родительского класса, раскрывается дополнительный список порожденных классов (если таковые имеются).

Для просмотра родительского (порождающего) класса

  • Выполните "Right-click" на выбранном классе, и в отображенном меню, выберите Select ParentClass.

    Будет выделен порождающий класс.

Если рядом с классом высвечивается шеврон (<<), значит родительская библиотека не открыта в данный момент (.vcx) . Если вы выберете пункт Select ParentClass, из короткого меню, то соответствующая библиотека, содержащая родительский класс будет также открыта системной службой.

Вы можете открывать несколько библиотек классов одном окне системной службы Class Browser; одна и таже библиотека классов может быть открыта в нескольких окнах данной службы Class Browser.

См. также

Задачи

Как: Фильтровать классы в списке Browser Class
Как: Просмотреть программный код определения класса

Описание

Окно Class Browser

Другие ссылки

Работа с системным средством Class Browser
Управление Классами и библиотеками классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Filter the Class Browser Class List

Visual FoxPro 9.0
Как: фильтровать список классов в Class Browser
Смотрите также

Вы можете отобразить конкретный набор классов, указав в Class Browser тип класса, имя класса или фильтр .

Для фильтрации списка классов

  1. В Class Browser, откройте желаемую библиотеку классов.

    Для получения более подробной информации об открытии Class Browser, see Как: запустить Class Browser.

  2. В комобоксе типов, выберите класс из списка, или впечатайте имя класса, или впечатайте одиночный фильтр или фильтры, разделенные запятыми, которые будут в этом случае действовать как логическое ИЛИ.

    Note Замечание

    Класс должен отвечать условию хотя бы одного фильтра для включения его в список классов.

    Классы, которые отвечают классу, типу класса или указанному вами фильтру, появятся в списке классов. Указанные вами фильтры добавляются в списко типов.

Список типов хранится в истории типов и выбранных вами фильтров только для текущего экземпляра Class Browser. Список не сохраняется при закрытии Class Browser.

Note Замечание

По умолчанию в контекстном меню Class Browser выбран иерархический режим отображения. Когда выбран этот режим, Visual FoxPro оценивает родительские классы. Если родительский класс отвечает условию фильтра, то оцениваются его дочерние классы. Если же нет, то его дочерние классы не оцениваются и не появляются в списке, даже если какой либо из дочерних классов отвечает условию фильтра.

Вы можете расширить поиск классов, включив конкретные символьные строки в имя или описание.

Для поиска по имени класса или по тексту описания

  1. В Class Browser откройте желаемую библиотеку.

  2. В Class Browser щелкните по кнопке Find.

  3. В боксе Look for диалогового окна Find Class впечатайте строку текста, по которой вы желаете осуществить поиск.

  4. Щелкните по Find.

Классы, которые содержат искомую строку в своем имени или описании появятся в списке классов.

Note Замечание

Когда выбран иерархический режим, в списке появятся только те родительские класса и связанные с ними субклассы, которые отвечают условию поиска.

В приведенной ниже таблице операторов фильтров и выражение описываются расширяющие поиск символы, которые вы можете комбинировать с символами в именах классов, для создания фильтра в Class Browser.

Фильтр содержит Описание

+cTargetName

Имя, которое начинается с cTargetName.

%cTargetName%

Имя содержит cTargetName.

Например, для просмотра всх классов, содержаших строку "mover," впечатайте %MOVER%.

-cTarget

Имя не содержит cTarget.

Имеет преимущество над всеми прочими поисковыми фильтрами .

~cTarget

Имя содержит что-то сходное с cTarget.

cTarget*

Звездочка (*) замещает неограниченное числов символов.

Имя содержит все, что следует за cTarget.

Например, для просмотра всх классов, начинающихся с "VCR," впечатайте VCR*.

"cTarget"

Имя представляет собой cTarget.

Если cTarget не является базовым классов будет выведен отчет о поиске имени класса.

cTarget

Если cTarget представляет собой базовый класса, будет выведен отчет о всех членах базового класса, независимо от имени класса.

[?...]cTarget[?...]

Имя содержит cTarget плюс указанные неизвестные символы в конкретных относительных позициях.

Знак вопроса (?) замещает одиночный символ. Вы можете использовать вопросительные знаки в любой позиции и в любом количестве.

Например, для просмотра всх классов, начинающихся с MsgBox и какого-то номера, такого как MsgBox1, впечатайте MsgBox?.

Приведенная ниже таблица описывает примеры, которые иллюстрируют комбинации выражений фильтра, разделенных пробелами, которые представляют в этом случае оператор ИЛИ.

Если вы желаете, чтобы ... | ... используйте выражение подобное приведенному в этом столбце
цель фильтра представляла собой строку, которая начинается с "test" но не является классом "form" | -%form% +test*
цель фильтра представляла собой любую строку, котораяне содержит "debug" и начинается с "c" ИЛИ содержит "test". | c* %test% -%debug%
цель фильтра представляла собой любую строку, которая не начинается с "debug" но похожа на "test" ИЛИ представляет собой строку "myform" | ~test -debug* "myForm"

Смотрите также

Задачи

Как: просмотреть иерархию класса
Как: просмотреть код определения класса

Справочное руководство

Окно Class Browser

Прочие ресурсы

Работа с Class Browser
Управлением классами и библиотеками классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: View Class Definition Code

Visual FoxPro 9.0
Как: Просмотреть программный код определения класса
См. также

При помощи системного средства Class Browser Вы можете просмотреть программный код определения класса, описание его параметров, или код пользовательских методов. Также Вы можете сохранить код определения класса в другой библиотеке классов.

Для просмотра программного кода определения класса

  1. В подсистеме Class Browser, откройте библиотеку класса, которую Вы хотите.

    Для запуска средства (подсистемы) Class Browser, см. раздел Как: Запустить Class Browser.

  2. В списке классов выберите интересующий Вас класс.

  3. В Class Browser, нажмите кнопку View Class Code.

Система Visual FoxPro выводит программный код определения данного класса, как программный файл (.prg). Определение класса отображается со всеми установленными свойствами, кодом методов и событий.

Note Примечание

Программный код выводится только для просмотра. Во многих случаях Вы можете сохранить данное определение класса в программном файле и использовать его в дальнейшем; тем не менее, код с вложенными контейнерами генерирует ошибки. Для просмотра информации о type library используйте окно Object Browser.

Вы можете использовать команды редактирования, такие как Find, Copy, и Select All, из меню Edit.

Если в пользовательских методах представлен код родительских классов, то он также доступен для просмотра.

Для просмотра программного кода пользовательских методов в родительских классах

  1. В подсистеме Class Browser, дважды кликнете (double-click) на классе или элементе класса.

    Данный класс будет открыт в подсистеме Class Designer или Form Designer. Если окно просмотра Кода не открывается, в меню View, выберите опцию Code.

  2. В системном ToolBar Visual FoxPro нажмите кнопку Edit ParentClass Method.

См. также

Задачи

Как: Просмотреть иерархию классов
Как: Отфильтровать список классов в Class Browser

Описание

Окно Class Browser

Другие ссылки

Использование средства Class Browser
Управление классами и библиотеками классов

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Create Class Libraries (Visual FoxPro)

Visual FoxPro 9.0
Как: создавать библиотеки классов (Visual FoxPro)
Смотрите также

Вы можете создать библиотеки классов при создании классов с помощью интерактивной среды разработки Visual FoxPro IDE или создать программно пустую библиотеку.

Visual FoxPro сохраняет создаваемые вами в Class Designer (Конструкторе классов) классы в файлах библиотек визуальных классов (.vcx). Эти классы включают в себя, как визуальные, так и невизуальные классы. Вы можете, кроме того, вы можете выбрать хранение определения классов в программных файлах (.prg), когда для создания класса используете команду DEFINE CLASS.

Для создании библиотеки классов при создании класса

  1. Создайте класс с использованием интерактивной среды разработки Visual FoxPro IDE.

  2. В боксе Store In (Сохранить в) диалогового окна New Class (Новый класс) впечатайте имя библиотеки класса.

Для получения более подробной информации о создании классов смотрите описание задачи Как: создавать классы и субклассы.

Для программного создания библиотеки классов

  • Используйте команду CREATE CLASSLIB для создания пустой библиотеки классов.

    - или -

  • Включите в команду CREATE CLASS опцию OF при создании класса.

Например, приведенная ниже строка кода использует команду CREATE CLASSLIB для создания пустой библиотеки класса с именем MyClassLibrary:

CopyCode image Скопировать код
CREATE CLASSLIB MyClassLibrary

Приведенная ниже строка кода включает в команду CREATE CLASS опцию OF для указания библиотеки класса, в которой будет храниться класс MyClass, основанный на классе Form.

CopyCode image Скопировать код
CREATE CLASS MyClass OF MyClassLibrary AS Form

Для получения более подробной информации смотрите описание команды CREATE CLASSLIB.

Смотрите также

Задачи

Как: добавить классы и субклассы в библиотеки классов

Прочие ресурсы

Управление классами и библиотеками классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Open Class Libraries

Visual FoxPro 9.0
Как: Открыть Библиотеку Классов
См. также

Вы можете Открыть библиотеку Классов (Class Libraries) для просмотра содержания или добавления нового Класса.

Требуемый Класс может быть открыт с использованием: системного инструмента Class Browser, с помощью диспетчера проектов Project Manager, в случае принадлежности класса к Проекту, или с помощью стандартной команды VFP.

Для открытия Библиотеки классов:

  1. В системном меню Tools, выберите соответствующий пункт Class Browser.

  2. В открывшемся системном окне Class Browser, выполните команду Open.

  3. В соответствующем Диалоговом боксе Open, выберите требуемую библиотеку Классов, нажмите кнопку OK.

    Выбранная библиотека классов открывается в системном окне Class Browser, вместе со Списком содержащихся в ней Классов.

Для открытия библиотеки классов из Диспетчера Проектов:

  1. Откройте Проект вашего Приложения, содержащего требуемую библиотеку Классов.

  2. В системном окне Project Manager, активируйте закладку Classes.

  3. Выберите требуемую библиотеку, далее - требуемый Класс, нажмите командную кнопку Modify.

    Выбранный Класс Библиотеки открывается в системном окне Class Browser.

Для открытия или закрытия Библиотеки классов с помощью стандартной команды:

  1. Для открытия библиотеки классов используется команда: SET CLASSLIB.

    -или-

  2. Для закрытия открытой ранее библиотеки классов используется команда RELEASE CLASSLIB.

Дополнительную информацию смотрите в разделах: SET CLASSLIB, команда и RELEASE CLASSLIB, команда.

См. также

Задачи

Как: Редактировать Классы
Как: Добавлять Классы и ПодКлассы в Библиотеку Классов

Другие ссылки

Управление Классами и Библиотеками Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Add Classes and Subclasses to Class Libraries

Visual FoxPro 9.0
Как: добавить классы и субклассы в библиотеки классов
Смотрите также

Когда вы создаете интерактивно и программно класс или субкласс, класс сохраняется в указанной вами библиотеке классов. Если она существует, то класс добавляется в нее.

Для добавления класса в библиотеку классов

  1. Откройте Open библиотеку классов в Class Browser (Обозревателе классов).

    Для получения более подробной информации об открытии библиотек классов смотрите описание задачи Как: открыть библиотеки классов.

  2. В списке классов в Class Browser (Обозревателе классов), выберите библиотеку классов, в которую вы желаете добавить класс.

  3. В Class Browser (Обозревателе классов), щелкните по кнопке New Class (Новый класс).

    Откроется диалоговое окно New Class (Новый класс), в котором вы сможете указать информацию для нового класса.

  4. Следуйте шагам для создания классов или субклассов. Для получения более подробной информации Как: создавать классы и субклассы.

Когда вы закончите процесс создания и сохранения класса, то он появится в библиотеке классов, отображаемой в Class Browser (Обозревателе классов).

Для ввода субкласса в библиотеку классов

  1. Откройте Open библиотеку классов в Class Browser (Обозревателе классов).

    Для получения более подробной информации об открытии библиотек классов смотрите описание задачи Как: открыть библиотеки классов.

  2. В списке классов в Class Browser (Обозревателе классов), выберите класса, на основе которого вы желаете создать субкласс.

  3. В Class Browser (Обозревателе классов), щелкните по кнопке New Class (Новый класс).

    Откроется диалоговое окно New Class (Новый класс), в котором вы сможете указать информацию для нового класса. Класс, который вы выбрали появится по умолчанию в боксе Based On (На основе).

  4. Следуйте шагам по созданию класса или субкласса. Для получения более подробной информации Как: создавать классы и субклассы.

Когда вы закончите процесс создания и сохранения субкласса, то он появится в библиотеке классов, отображаемой в Class Browser (Обозревателе классов).

Для добавления классов в библиотеку классов программным путем

  • Используйте команду ADD CLASS.

Например, приведенная ниже строка кода добавляет класс с именем MyClass в библиотеку классов MyClassLibrary:

CopyCode image Скопировать код
ADD CLASS MyClass TO MyClassLibrary2

Для получения более подробной информации смотрите описание команды ADD CLASS.

Смотрите также

Задачи

Как: добавить свойства классам
Как: добавить метода классам

Прочие ресурсы

Управление классами и библиотеками классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Rename Classes in Class Libraries

Visual FoxPro 9.0
Как: Переименовать класс в библиотеке классов
См. также

Вы можете переименовать класс в библиотеке классов. Данное действие можно выполнить используя системные средства Class Browser, Project Manager, когда библиотека является частью проекта, или программным способом.

Caution note Предупреждение

Когда класс переименовывается, то формы и другие субклассы, образованные от рассматримаемого класса, имеют старую ссылку, поэтому они могут потерять свою работоспособность.

Note Замечание

Если Вы выполняете переименование класса при помощи системного средства Class Browser, когда все соответствующие субклассы или формы также открыты в Class Browser, то новое имя рассматримаемого класса автоматически переопределяется во всех связанных объектах.

Для переименования класса в библиотеке классов

  1. Откройте библиотеку классов в Class Browser.

    См. дополнительно рахздел Как: Открыть библиотеку классов.

  2. В списке классов Class Browser, выберите необходимый класс, и нажмите кнопку Rename.

  3. В диалоговом боксе Rename, укажите новое имя класса, и нажмите Rename.

    В списке классов Class Browser отобразится новое имя класса.

См. дополнительно раздел Окно Class Browser.

Для переименования класса в проекте

  1. Откройте проект, содержащий библиотеку классов, с классом, который переименовывается.

  2. В открытом Project Manager, выберите закладку Classes.

  3. Раскройте список нужной библиотеки, где расположен класс.

  4. Выполните "Right-click" для класса, выберите пункт меню Rename.

  5. В диалоговом боксе, в секции To: , укажите новое имя класса.

  6. Нажмите OK.

Дя переименования класса программным способом

  • Используйте команду RENAME CLASS.

Например, в следующем коде выполняется переименование класса "MyClass", из библиотеки "MyClassLibrary", в новое имя "YourClass":

CopyCode image Копировать Код
RENAME CLASS MyClass OF MyClassLibrary TO YourClass

См. дополнительно команда RENAME CLASS.

См. также

Другие ссылки

Управление классами и библиотеками классов

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: Copy Classes Between Class Libraries

Visual FoxPro 9.0
Как: Копировать Классы Объектов между несколькими Библиотеками Классов
См. также

Вы можете копировать Класс Объектов из одной Библиотеки Классов в другую. Для этого рекомендуется использовать системные средства Class Browser, Project Manager, когда рассматриваемые Библиотеки Классов являются составляющими частями данного Проекта, или другого Проекта. Копировать Классы можно также при помощи Программного Кода.

Для копирования Класса между Библиотеками Классов:

  1. Откройте Библиотеку Классов, содержащую требуемый вам Класс Объекта, с помощью системного средства Class Browser.

    Дополнительную информацию об Открытии библиотек смотрите в разделе: Как: Открыть Библиотеку Классов.

  2. Откройте вторую Библиотеку Классов, в которую планируете скопировать требуемый Класс, в другом экземпляре инструмента Class Browser.

  3. В первом экземпляре Class Browser, содержащем исходную библиотеку, выберите требуемый Класс.

  4. Нажмите и удерживайте клавишу CTRL, одновременно выполните перемещение выделенного Класса в другую Библиотеку.

    Значек (+) (плюс) отображается при Копировании Класса в библиотеку Назначения.

Note Совет

Для Перемещения Класса из одной Библиотеки в другую не используйте нажатие и удерживание клавиши CTRL при Перемещении иконки класса с помощью Мышки.

Для копирования Класса Объекта между библиотеками одного Проекта Приложения:

  1. Откройте Проект, который содержит требуемые Библиотеки Классов.

  2. В окне Project Manager, активируйте Закладку Classes.

  3. Раскройте список классов выбранной библиотеки, а также список классов Библиотеки классов Назначения, куда копируется Класс.

  4. Переместите с помощью Мышки Класс из обной библиотеки в другую.

    Обратите внимание на Указатель мышки при выполнении описанной Операции Копирования.

Для копирования Класса Объекта между двумя Библиотеками с помощью программного Кода:

  • Используйте стандартную команду ADD CLASS, в которой используется опциональная секция OF.

В следующем далее примере, выполняется копирование пользовательского Класса MyClass из библиотеки MyClassLibrary1 в библиотеку MyClassLibrary2.

CopyCode image Копировать Код
ADD CLASS MyClass OF MyClassLibrary1 TO MyClassLibrary2

Дополнительно смотрите раздел: ADD CLASS, команда.

См. также

Другие ссылки

Управление Классами и Библиотеками Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


How to: Redefine Parent Class Relationships

Visual FoxPro 9.0
Как: Переопределить родительский класс для текущего класса
См. также

Вы можете перекопределить связь между дочерними и родительскими объектами классов.

Caution note Обратите Внимание

Когда выполняется переопределение родительского класса, то для форм и других классов и объектов, которые не открыты в данный момент в службе Class Browser, и имеющие отношения с рассматриваемым классом, данная операция может быть выполнена некорректно, или совсем не выполнена.

Для изменения родительского класса для рассматриваемого класса

  1. Откройте библиотеку классов в системной службе Class Browser.

    Как открыть библиотеку классов см. в разделе Как: Открыть библиотеку Классов.

  2. В списке классов, открытом службой Class Browser, выберите необходимый класс (для которого требуется переопределение родителя).

  3. В службе Class Browser, нажмите кнопку Redefine (преопределить).

  4. В списке As диалогового бокса Redefine, выберите имя нужного класса или введите новое имя родительского класса.

    -или-

    Нажмите "многоточие" (ellipsis (...)) - для выбора класса.

  5. Нажмите Redefine (переопределить).

См. также

Другие ссылки

Управление Классами и Библиотеками классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Remove Classes from Class Libraries

Visual FoxPro 9.0
Как: Исключить Класс из Библиотеки классов
См. также

Вы можете исключить (удалить) некоторый класс из библиотеки классов.

Caution note Предупреждение

Когда класс исключается из библиотеки, он будет удален совсем.

Удалить класс из библиотеки классов можно при помощи системной службы Class Browser, или при помощи Project Manager , когда данный класс включен в проект приложения, или программным способом.

Для исключения класса из библиотеки классов

  1. Откройте библиотеку классов в Class Browser.

    См. дополнительно раздел Как: Открыть библиотеку Классов.

  2. В списке классов окна Class Browser, выполните "right-click" на нужном классе, и выберите опцию короткого меню Remove.

Для исключения класса из проекта приложения

  1. Откройте проект, содержащий библиотеку классов.

  2. В окне Project Manager, откройте закладку Classes.

  3. Раскройте нужную библиотеку классов.

  4. Выберите требуемый класс, нажмите кнопку слева Remove.

Для исключения класса из библиотеки программным способом

  • Используйте команду REMOVE CLASS.

Например, следующая команда исключает класс с именем MyClass из библиотеки классов с именем MyClassLibrary:

CopyCode image Копировать Код
REMOVE CLASS MyClass OF MyClassLibrary.vcx

Дополнительно См. раздел REMOVE CLASS, команда.

См. также

Другие ссылки

Управление Классами и Библиотеками классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: View Type Library Information

Visual FoxPro 9.0
Как: Просмотреть информацию о внешних Библиотеках
См. также

Системные библиотеки программных Компонент COM размещаются в специальных файлах, содержащих информацию о типах данных и характеристику объектов, находящихся в данных приложениях OLE. Тип Библиотеки может быть файл-(.tlb), компилированное приложение файл-(.exe), Контрол ActiveX, как файл-(.ocx), или динамическая библиотека, файл-(.dll или DLL). DLL-файлы содержат одину или несколько библиотек, как файлов-(.olb).

Для просмотра Информации о внешней Библиотеке

  1. В системной службе Окно Object Browser, выберите пункт Open Type Library.

  2. В открывшемся диалоговом боксе Open, выберите требуемый файл Библиотеки.

    Recent History- список, отображает ранее открываемые библиотеки.

    COM libraries- список, зарегистрированных в системе Windows, внешних Объектов, который можно уточнить с помощью кнопки Browse.

    Current Selection- список уже открытых библиотек.

    В диалоговом боксе Open, имеется открывающийся список Files of type - для уточнения типа выбираемой библиотеки; выберите нужный вариант: Application, *.dll, *.ocx, *.olb, или *.tlb.

  3. После выбора библиотеки, нажмите кнопку OK.

Специфическая информация о компонентах выбранной библиотеки отображается в списке Classes & Members.

См. также

Описание

Использование системной службы Object Browser

Другие ссылки

Операции в системной службе Class Browser

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Working with Objects in Visual FoxPro

Visual FoxPro 9.0
Работа с объектами в Visual FoxPro

Visual FoxPro предоставляет множество способов для работы с объектами. Используя объекты вы можете создавать объекты из классов с целью создания более универсального программного кода, использовать объекты для хранения данных и создавать код, который легко читается и на который легко ссылаться.

В этом разделе

Объекты в Visual FoxPro

Знакомит с объектами в Visual FoxPro а также с тем, как их создать и использовать.

Создание объектов из классов

Описывается - как создать объект на основе сохраненного визуального класса.

Как: добавить классы в формы

Описывается - как добавить класс в форму с помощью Project Manager.

Введение объектов в класс контейнера

Подробно рассматривается - как добавить объекты в контейнер через использование опции ADD OBJECT в команде DEFINE CLASS или через использование метода AddObject.

Как: ввести объекты в элемент управления класса Control или класс Container

Описывается - как ввести объекты в класс, используя конструктор классов.

Создание кнопок навигации по таблице

Предоставляется объяснение - как разработать и выстроить кнопки навигации по таблице через программный код.

Определение элемента управления Grid

Описывается, как программно определеить элемент уравления grid.

Как: установить свойства

Описывается - как установить свойства объекта в run time или design time.

Обращние к объекту в контейнерной иерархии

Описывается - как обратиться к объекту в иерархии контейнера и объясняется важность идентификации объектов по отношению к иерархии контейнера.

Создание объектной ссылки

Объясняется - как сделать ссылку на объект, и описываются преимущества создания ссылок над созданием копией объектов.

Объект и массивы членов

Описывается - как создать массив, содержащий объекты и определенить членов класса в качестве массивов.

Хранение данных в объектах

Описывает - где и как хранить данные в объектах.

Как: вызывать методы

Описывается - как вызывать методы объекты отовсюду по приложению, когда он создан.

Объект и интеграция данных

Содержит информацию о том, почему важно интеграция данных и объектов.

Как: создание экземпляров классов с помощью Class Browser

Описывается - как создать новый экземпляр класса, используя Class Browser.

Как: добавить элементы управления в формы в Class Browser

Описывается - как добавить объекты в формы в Class Browser.

Справочное руководство

Объекты, коллекции и классы

Предоставляется список объектов, коллекций и классов в Visual FoxPro.

Связанные разделы

Управление классами и библиотеками классов

Обсуждается - как создать и изменять классы и библиотеки классов в Visual FoxPro.

Работа с классами в Visual FoxPro

Обсуждаются методы для использования, изменения и создания классов в Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Objects in Visual FoxPro

Visual FoxPro 9.0
Объекты в Visual FoxPro
Смотрите также

Когда объект создан из класса, он существует, как инстанция этого класса. Класс описывает данные, характеристики и функциональность для объектов, которые будут созданы из этого класса. Объектами в Visual FoxPro могут быть формы, наборы форма, управляющие элементы и тому подобные. Кроме того, они иогут иметь свойства и методы, которые вы можете использовать для управления объектами, а они могут определять события и отвечать на них, которые могут происходить при производстве определенных действий. Свойства, методы и события объекта определяются классом, из которого этот объект создан..

Вы можете создавать объекты с помощью дизайнера форма или с помощью функции CREATEOBJECT(). Для получения более подробной информации смотрите описания Создание объектов из классов, Дизайнер форм или Функция CREATEOBJECT().

Возможности объектов

Объекты обладают следующими возможностями:

  • свойствами объектов

  • методами объектов

  • событиями объектов

Свойства объектов

Объект, который вы создаете в Visual FoxPro имеет свойства или аттрибуты, которые свойственны конкретно этому объекту. Вы можете устанавливать и изменять значения для этих свойств, которые определяют характеристики объектов. Вы можете устанавливать свойства для объектов Visual FoxPro в или в зависимости от конкретного свойства.

Например, компьютер имеет свойства, которые могут включать в себя следующее: цвет, размер, внешний вод, размещение в комнате или состояние. Подобно этому, в Visual FoxPro, check box созданный из управляющего элемента CheckBox включает в себя перечисленные ниже свойства:

  • Caption

  • Enabled

  • Top

  • Visible

Для получения более подробной информации смотрите описания задач: Как: установить свойства объекта и Как: добавить свойства классу.

Методы объекта

Объект имеет методы, которые содержать процедуры для выполнения конкретных задач. Однако, методы объекта отличабтся от стандартных процедур Visual FoxPro тем, что методы объекта неразрывно и сложно связаны с объектом и вызываются по иному, по сравнению со стандартными процедурами Visual FoxPro.

Например, объект check box созданных из класса управляющего элемента CheckBox включает в себя следующие методы:

  • Drag

  • Move

  • ReadExpression

  • Refresh

Вы можете включить методы в события объектов или использовать их независимо вне событий. Когда вы используете методы вне событий вы можете вызывать их явно и программным путем. Кроме того, вы можете создавать и расширять методы. Для получения более подробной информации смотрите Как: вызывать методы и Как: добавить свойства классу.

События объекта

Объект может распознавать и отвечать на конкретные действия, называемые событиями. Событие представляет собой конкретную и предопределенную активность, которая наступает, когда пользователь или система производит какое-то действие. В большинстве случаев событие наступает в результате действия пользователя. В Visual FoxPro, действия пользователя, которые инициируют события включают, к примеру, нажатие клавиш мыши или перемещение ее указателя, а также нажатие клавиш на клавиатуре. Системные событи включают в себя, к примеру, инициализацию объекта и вычисление линии кода, которая вызвала ошибку.

Например, объект check box, созданный из класса CheckBox включает в себя следующие события:

  • MouseEnter

  • MouseUp

  • MouseDown

  • RightClick

События могут иметь методы, ассоциированные и ними. Например, когда вы вводите свой процедурный код в событие Click, ваш код будет исполняться каждый раз, когда такое событие наступит. Несмотря на широкие возможности, набор доступных событий фиксирован. Вы не можете создавать новых событий.

Для получения более подробной информации смотрите описание Events in Visual FoxPro.

Смотрите также

Задачи

Как: создавать классы и субклассы

Концепции

Работа с классами в Visual FoxPro

Прочие ресурсы

Объектно-ориентированное программирование
Управление объектами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Creating Objects from Classes

Visual FoxPro 9.0
Создание Объектов из Классов
См. Также

После того, как вы сохранили созданный визуальный класс в библиотеке классов, то при помощи функции CREATEOBJECT( ) вы можете создать экземпляр объекта Форма, основанный на данном классе. В следующем примере демонстрируется запуск формы, созданной ранее в библиотеке классов Forms.vcx, под именем TestForm:

Создание и Отображение объекта типа Форма, созданного Дизайнером форм в соответствующей библиотеке классов
Программный Код | Комментарии
SET CLASSLIB TO Forms ADDITIVE | Установка библиотеки классов, файла .vcx, где сохраняется определяемый класс. Опция ADDITIVE обеспечивает доступность ранее открытых библиотек Классов.
frmTest = CREATEOBJECT("TestForm") | Предполагается, что указанный класс TestForm доступен в открытой библиотеке классов.
frmTest.Show | Отображается Форма.

См. также

Описание

Добавление объектов в Контейнерные Классы
SET CLASSLIB, команда
CREATEOBJECT( ), функция

Концепции

Защита и скрытие элементов Класса (свойств, методов)

Другие ссылки

Объектно-Ориентированное Программирование (ООП)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


How to: Add Classes to Forms

Visual FoxPro 9.0
Как: Добавить Класс в Форму
См. также

Вы можете перетащить нужный Вам класс из окна Project Manager - в окно Form Designer - или в окно Class Designer. Вы также можете расширить список используемых библиотек классов, которые определяют текущее содержания ToolBar Form Controls, элементы которого могут потребоваться при разработке в Class Designer или Form Designer.

Для добавления класса в Форму

  1. В окне открытого Project Manager, выберите класс, который нужно добавить в форму.

  2. Выберите и перетащите нужный класс из окна Project Manager - в открытое окно Form Designer.

См. также

Задачи

Как: Задавать значение Свойств
Как: Запускать Методы

Концепции

Работа с Классами в системе Visual FoxPro
Иерархическое представление объектов в контейнере

Другие ссылки

Объектно-Ориентированное Программирование

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Adding Objects to a Container Class

Visual FoxPro 9.0
Добавление Объектов в Класс типа Контейнер
См. также
CollapseAll image

Для добавления нового Объекта в Контейнерный Класс (или Объект) вы можете использовать дополнительную секцию ADD OBJECT в стандартной команде DEFINE CLASS, или стандартный метод контейнерного класса AddObject.

Например, в следующем фрагменте программного Кода - создается контейнерный Объект = Форма (Form). Секция ADD OBJECT используется для добавления двух командных Кнопок в данной форме (дочерние для Формы объекты типа "CommandButton"):

CopyCode image Копировать Код
DEFINE CLASS myform AS FORM
 ADD OBJECT cmdOK AS COMMANDBUTTON
 ADD OBJECT PROTECTED cmdCancel AS COMMANDBUTTON
ENDDEFINE

Метод AddObject используется для добавления новых, дочерних Объектов в том случае, когда родительский Контейнер уже создан. Например, Сначала создается пользовательская Форма (переменная FrmMessage), далее создаются два поля для ввода (TextBox):

CopyCode image Копировать Код
frmMessage = CREATEOBJECT("FORM")
frmMessage.AddObject("txt1", "TEXTBOX")
frmMessage.AddObject("txt2", "TEXTBOX")

Вы можете также использовать описанный выше Метод AddObject внутри Метода Родительского класса. Например, далее приводится фрагмент программного Кода, где метод AddObject используется для добавления Контрола (cboClient типа ComboBox) во 2-ой Столбец объекта Grid, который выполняется в соответствующем Событии Init.

CopyCode image Копировать Код
DEFINE CLASS mygrid AS GRID
ColumnCount = 3
PROCEDURE Init
 THIS.Column2.AddObject("cboClient", "COMBOBOX")
 THIS.Column2.CurrentControl = "cboClient"
ENDPROC
ENDDEFINE

Expand image Добавление и Создание Классов в программном Коде Метода

Добавить новый Объект в контейнерный Класс при помощи программного Кода вы можете использую метод AddObject. Для этих целей также можетт быть использована стандартная функция CREATEOBJECT( ), которая размещается в программном Коде событий Load, Init, или в другом Методе рассматриваемого контейнерного Класса.

При добавлении нового Объекта с помощью стандартного метода AddObject, данный Объект становится Членом указанного контейнерного Класса (родительского Объекта). В этом случае, стандартное свойство Parent добавленного Объекта будет содержать Ссылку на родительский объект - контейнер. Если родительский объект-контейнер или объект-контрол стираются из Памяти, то также очищаются все созданные в данных Контейнерах дочерние Объекты.

Когда новый дочерний Объект создается с помощью функции CREATEOBJECT( ), данный объект ассоциируется с некоторым Свойством Контейнера или другой Переменной рассматриваемого Метода, в котором вызвана указанная функция. В этом случае, Свойство Parent создаваемого Объекта - не определяется.

Expand image См. также

Описание

Ссылка на Родительский Объект

Концепции

Создание Объектов из описаний Классов
Характеристики Protecting / Hiding для Членов Класса

Другие ссылки

Объектно-Ориентированное Программирование

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Add Objects to a Control or Container Class

Visual FoxPro 9.0
Как: Добавить Объект в Контрол или класс Container
См. также

Для добавления элементов управления или объектов в создаваемый новый класс можно использовать системное средство Class Designer, аналогичным образом добавляются Контролы или Объекты в Form Designer.

Для добавления Контрола в Класс

  1. Откройте системное средство Class Designer.

  2. Из ToolBar Form Controls, перетащите необходимый базовый класс в рабочее окно Class Designer.

    Note Совет

    Для деактивации snap-to-grid functionality, нажмите и удерживайте клавишу CTRL, когда выполняете перетаскивание нужного класса из toolbar.

См. также

Задачи

Как: Добавить Свойство в Класс

Концепции

Работа с Классами в системе Visual FoxPro
Иерархическое представление объектов в Контейнере

Другие ссылки

Объектно-Ориентированное Программирование

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Creating Table Navigation Buttons

Visual FoxPro 9.0
Создание Кнопок Навигации по Таблице
См. также

Многие приложения похожи тем, что используют для перемещения по таблице определенный набор кнопок. Обычно, этот набор включает в себя кнопки для перемещения указателя записи на следующую или предыдущую запись , а также на первую или последнюю запись в таблице.

Создание Кнопок Навигации

Каждая кнопка, в общем и целом, будет иметь одинаковые характеристики и функциональное назначение , что является хорошей предпосылкой для создания класса кнопки навигации. А индивидуальные кнопки смогут легко получить эти общие характеристики, например внешний вид, и функциональное назначение из класса. Этот родительский класс является классом Navbutton, который будет определен ниже в этом разделе.

Как только родительский класс будет определен, следующие подклассы определят функциональное назначение и специфический вид для каждой из четырех кнопок навигации: navTop, navPrior, navNext, navBottom.

В конце будет создан класс контейнера - vcr, и каждая кнопка навигации будет добавлена к этому классу. Контейнер может быть добавлен к форме или тулбару, чтобы обеспечивать навигацию по таблице.

Определение Класса NAVBUTTON

Для создания Navbutton, сохраните следующие шесть определений классов (Navbutton, navTop, navBottom, navPrior, navNext, и vcr) в программном файле Navclass.prg.

Определение Обобщенного Класса Navigation Commandbutton
Код | Комментарии
DEFINE CLASS Navbutton AS COMMANDBUTTON Height = 25 Width = 25 TableAlias = "" | Определяет родительский класс для кнопок навигации. Задает некоторые значения для класса, включая пользовательское свойство TableAlias для хранения имени псевдонима(алиаса) при навигации по нему.
PROCEDURE Click IF NOT EMPTY(This.TableAlias) SELECT (This.TableAlias) ENDIF ENDPROC | Если свойство TableAlias было установлено, то эта процедура родительского класса выберет алиаса прежде, чем будет выполнен код навигации подкласса. В противном случае считается, что пользователь сам хочет управлять навигацией по таблице в текущей выбранной рабочей области.
PROCEDURE RefreshForm _SCREEN.ActiveForm.Refresh ENDPROC | Использование _SCREEN.ActiveForm.Refresh вместо THISFORM.Refresh позволит вам добавить класс к форме или тулбару без потери функциональности.
ENDDEFINE | Конец определения класса.

Указанные кнопки навигации полностью основаны на классе Navbutton. Следующий код определяет кнопку Top из набора кнопок навигации. Остальные три кнопки навигации определены в следующей таблице. Определения всех четырех классов аналогичны, поэтому только первый из них имеет подробные комментарии.

Определение Класса для Кнопки Навигации Top
Код | Комментарии
DEFINE CLASS navTop AS Navbutton Caption = "|<" | Определяет класс кнопки навигации Top и устанавливает свойство Caption.
PROCEDURE Click | Создает код метода, который будет выполнен если произойдет событие Click для кнопки.
DODEFAULT( ) GO TOP THIS.RefreshForm | Вызывает код события Click в родительском классе Navbutton для того, чтобы соответствующий алиас мог быть выбран, если свойство TableAlias было установлено. Код GO TOP включен для установки указателя записи на первую запись таблицы. Затем вызывается метод RefreshForm из родительского класса. В данном случае нет необходимости применения оператора разрешения области видимости (::) т.к. в подклассе нет метода с тем же именем, что и в родительском классе. С другой стороны, как родительский класс так и подкласс имеют код метода для события Click.
ENDPROC | Конец процедуры Click.
ENDDEFINE | Конец определения класса.

Другие кнопки навигации имеют похожее определение класса.

Определение Классов для Других Кнопок Навигации
Код | Комментарии
DEFINE CLASS navNext AS Navbutton Caption = ">" | Определяет класс кнопки навигации Next и устанавливает свойство Caption.
PROCEDURE Click DODEFAULT( ) SKIP 1 IF EOF( ) GO BOTTOM ENDIF THIS.RefreshForm ENDPROC ENDDEFINE | Включает в себя код для установки указателя записи на следующую запись в таблице. Конец определения класса.
DEFINE CLASS navPrior AS Navbutton Caption = "<" | Определяет класс кнопки навигации Prior и устанавливает свойство Caption.
PROCEDURE Click DODEFAULT( ) SKIP –1 IF BOF( ) GO TOP ENDIF THIS.RefreshForm ENDPROC ENDDEFINE | Включает в себя код для установки указателя записи на предыдущую запись в таблице. Конец определения класса.
DEFINE CLASS navBottom AS Navbutton Caption = ">|" | Определяет класс кнопки навигации Bottom и устанавливает свойство Caption.
PROCEDURE Click DODEFAULT( ) GO BOTTOM THIS.RefreshForm ENDPROC ENDDEFINE | Включает в себя код для установки указателя записи на последнюю запись в таблице. Конец определения класса.

Следующее определение класса содержит все четыре кнопки навигации так, что они могут быть добавлены как единое целое к форме. Класс также включает метод для установки свойства TableAlias кнопок.

Определение Класса Элемента Управления Навигацией Таблицы
Код Комментарии

DEFINE CLASS vcr AS CONTAINER

Height = 25

Width = 100

Left = 3

Top = 3

Начало определения класса. Свойству H eight назначается тоже значение, что и значение высоты командных кнопок.

ADD OBJECT cmdTop AS navTop ;

WITH Left = 0

ADD OBJECT cmdPrior AS navPrior ;

WITH Left = 25

ADD OBJECT cmdNext AS navNext ;

WITH Left = 50

ADD OBJECT cmdBot AS navBottom ;

WITH Left = 75

Добавление кнопок навигации.

PROCEDURE SetTable(cTableAlias)

IF TYPE("cTableAlias") = 'C'

THIS.cmdTop.TableAlias = ;

cTableAlias

THIS.cmdPrior.TableAlias = ;

cTableAlias

THIS.cmdNext.TableAlias = ;

cTableAlias

THIS.cmdBot.TableAlias = ;

cTableAlias

ENDIF

ENDPROC

Этот метод используется для установки свойства TableAlias кнопок. TableAlias определен в родительском классе Navbutton. Также, для установки этого свойства можно было применить метод SetAll:

IF TYPE ("cTableAlias") = 'C'

  This.SetAll("TableAlias", "cTableAlias")

ENDIF

Однако, это может вызвать ошибку, если объект уже был добавлен к классу, у которого нет свойства TableAlias.

ENDDEFINE

Конец определения класса.

Один раз определив класс, вы можете субклассировать его или добавлять на форму.

Создание Подкласса Основанного на Новом Классе

Также можно создать подкласс, основанный на базе vcr, который имеет дополнительные кнопки, такие как Search, Edit, Save и Quit. Например, vcr2 содержит кнопку Quit:

Определение Подкласса Элемента Управления Навигацией по Таблице
Код | Комментарии
DEFINE CLASS vcr2 AS vcr ADD OBJECT cmdQuit AS COMMANDBUTTON WITH ; Caption = "Quit",; Height = 25, ; Width = 50 Width = THIS.Width + THIS.cmdQuit.Width cmdQuit.Left = THIS.Width - ; THIS.cmdQuit.Width | Определение класса, основанного на vcr и добавление к нему командной кнопки.
PROCEDURE cmdQuit.CLICK RELEASE THISFORM ENDPROC | Когда пользователь нажмет cmdQuit, то этот код закрывает и выгружает из памяти форму.
ENDDEFINE | Конец определения класса.

Vcr2 наследует все от vcr, плюс к этому имеет новую командную кнопку. При этом вам нет необходимости перезаписывать любой из существующих кодов vcr.

Изменения в VCR Отражаются на Подклассе

Из-за наследования изменения, сделанные в родительском классе, отражаются на всех подклассах, основанных на нем. Например, вы могли бы позволить пользователю узнать, что низ таблицы был достигнут, если измените оператор IF EOF( )в событии navNext.Click на следующий код:

CopyCode image Копировать код
IF EOF( )
   GO BOTTOM
   SET MESSAGE TO "Bottom of the table"
ELSE
   SET MESSAGE TO
ENDIF

Вы могли бы позволить пользователю узнать, что верх таблицы был достигнут, если измените оператор IF BOF( )в событии navNext.Click на следующий код:

CopyCode image Копировать код
IF BOF()
   GO TOP
   SET MESSAGE TO "Top of the table"
ELSE
   SET MESSAGE TO
ENDIF

Если эти изменения сделать в классах navNext и navPrior, то они автоматически будут применены и в соответствующих кнопках vcr и vcr2.

Добавление VCR к Классу Формы

Однажды определив vcr как элемент управления, можно добавить этот элемент управления в контейнер в момент определения самого контейнера. Например, следующий код, добавленный в Navclass.prg определяет форму и добавляет к ней кнопки навигации:

CopyCode image Копировать код
DEFINE CLASS NavForm AS Form
   ADD OBJECT oVCR AS vcr
ENDDEFINE

Выполнение Формы, Содержащей VCR

Однажды определив подкласс формы, вы можете отобразить ее загрузив определение класса, создав объект основанный на подклассе и выполнив метод Show формы:

CopyCode image Копировать код
SET PROCEDURE TO navclass ADDITIVE
frmTest = CREATEOBJECT("navform")
frmTest.Show

Если Вы не вызываете метод SetTable в oVCR ( VCR - объект в NavForm) когда пользователь нажимает кнопки навигации, то указатель записи перемещается в таблице, открытой в текущей выбранной рабочей области. Вы можете вызвать метод SetTable, чтобы определять по какой таблице перемещать указатель записи.

CopyCode image Копировать код
frmTest.oVCR.SetTable("customer")
Note Заметка

Когда пользователь закрывает форму, frmTest устанавливается в неопределенное значение (.NULL.). Для того, чтобы выгрузить объектную переменную из памяти, используйте команду RELEASE. Объектные переменные, созданные в программных файлах, будут выгружены из памяти после завершения программы.

См. также

Ссылки

Свойство Caption (Visual FoxPro)
Свойство Height
Метод SetAll

Понятия

Определение Элемента Управления Grid

Другие Ресурсы

Объектно-Ориентированное Программирование

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Defining a Grid Control

Visual FoxPro 9.0
Определение Элемента Управления (Контрола) Grid
См. также

Grid содержит колонки, которые, в свою очередь, могут содержать заголовки и любые другие элементы управление. По умолчанию, элемент управления содержит в колонке - текстовый бокс, так что по умолчанию, функциональное назначение grid приближено к окну Browse. Тем не менее, архитектура, лежащая в основе grid, позволяет расширить его возможности по сравнению с возможностями окна Browse.

В следующем примере создается форма, которая содержит объект Grid с двумя колонками. Вторая колонка содержит checkbox для отображения значения логического поля таблицы.

Элемент управления Grid с checkbox'ом в одной колонке

Определение Класса Grid с CheckBox'ом Колонке Grid
Код | Комментарии
DEFINE CLASS grdProducts AS Grid Left = 24 Top = 10 Width = 295 Height = 210 Visible = .T. RowHeight = 28 ColumnCount = 2 | Начало определения класса и установка свойств, которые определяют вид grid. Установкой свойства ColumnCount в 2, Вы добавляете две колонки к grid. Каждая колонка содержит заголовок с именем Header1. Кроме того, каждая колонка имеет независимую группу свойств, которые определяют ее вид и поведение.
Column1.ControlSource ="prod_name" Column2.ControlSource ="discontinu" | Когда Вы установите свойство ControlSource колонки, то в колонке будет отображаться значения одного поля для всех записей таблицы. Discontinu - это логическое поле.
Column2.Sparse = .F. | Column2 будет содержать checkbox. Установите для колонки значение свойства Sparse в .F., чтобы checkbox был виден во всех строках, а не только в выбранной ячейке.
Procedure Init THIS.Column1.Width = 175 THIS.Column2.Width = 68 THIS.Column1.Header1.Caption = ; "Product Name" THIS.Column2.Header1.Caption = ; "Discontinued" THIS.Column2.AddObject("chk1", ; "checkbox") THIS.Column2.CurrentControl = ; "chk1" THIS.Column2.chk1.Visible = .T. THIS.Column2.chk1.Caption = "" ENDPROC | Установите ширину колонки и название ее заголовка. Метод AddObject позволяет добавить объект в контейнер — в нашем случае это checkbox названный chk1. Присвойте свойству CurrentControl колонки имя checkbox'а для того, чтобы checkbox был виден. Убедитесь, что checkbox виден. Присвойте свойству Сaption checkbox'а пустое значение, чтобы он не был заполнен.
ENDDEFINE | Конец определения класса.

Следующий класс определяет форму, содержащую grid. Оба определения классов могу быть размещены в одном программном файле.

Определение Класса Form, которая Содержит Класс Grid
Код | Комментарии
DEFINE CLASS GridForm AS FORM Width = 330 Height = 250 Caption = "Grid Example" ADD OBJECT grid1 AS grdProducts | Создает класс form и добавляет в него объект, основанный на классе grid.
PROCEDURE Destroy CLEAR EVENTS ENDPROC ENDDEFINE | Программа, которая создает объект, основанный на этом классе, будет использовать команду READ EVENTS. Включение команды CLEAR EVENTS в Событие Destroy формы, позволит программе завершиться когда пользователь закроет эту форму. Конец определения класса.

Следующая программа открывает таблицу с полями, которые будут отображаться в колонках grid, создает объект, основанный на классе GridForm и запускает команду READ EVENTS:

CopyCode image Копировать код
CLOSE DATABASE
OPEN DATABASE (HOME(2) + "data\testdata.dbc")
USE products
frmTest= CREATEOBJECT("GridForm")
frmTest.Show
READ EVENTS

Эта программы может быть включена в начало того же файла, в котором определяются классы. Также, Вы можете использовать команду SET PROCEDURE TO, чтобы указать программу с определениями класса и включать этот код в отдельную программу.

См. также

Задачи

Руководство: Создание Классов и Подклассов

Ссылки

Окно Browse
Свойство Sparse
Метод AddObject
SYS(18) - Текущий Элемент Управления (Контрол)

Понятия

Создание Кнопок для Навигации по Таблице
Создание Ссылки на Объект

Другие Ресурсы

Объектно-Ориентированное Программирование

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Set Properties

Visual FoxPro 9.0
How to: Установка Свойств
См. также

Вы можете изменять значения свойств объектов как в режиме разработки, так и в режиме выполнения RunTime.

Изменение начальных значений Свойств

Начальные значения свойств базовых объектов Вы можете установить в Дизайнере Классов. Когда в форму добавляется объект, порожденный базовым классом, он наследует значения своих свойств, которые Вы определили для данного базового класса.

Предупреждение:
Свойства в порождаемых классах принимают те значения, которые Вы определили для базовых классов до тех пор, пока Вы не выполните пункт меню Reset to Default (восстановить начальные значения), который восстанавливает значения свойства родительского класса.

Для установки значения свойства

  • Используйте следующий синтаксис при программировании:

    Container.Object.Property = Value (Контейнер.Объект.Свойство=Значение)

    Например, в следующих опраторах изменяются свойства объекта txtDate, расположенного на форме frmPhoneLog:

    Копировать Код
    frmPhoneLog.txtDate.Value = DATE( ) && Display the current date
    frmPhoneLog.txtDate.Enabled = .T. && The control is enabled
    frmPhoneLog.txtDate.ForeColor = RGB(0,0,0)    && black text
    frmPhoneLog.txtDate.BackColor = RGB(192,192,192)  && gray background

В предыдущем примере форма с именем frmPhoneLog является объектов верхнего уровня. Если эта форма содержится в объекте FormSet, Вы должны использовать следующий синтаксис: (frsContacts - объект типа FormSet)

Копировать код
frsContacts.frmPhoneLog.txtDate.Value = DATE( )

Определение нескольких свойств

  • Используйте Команду WITH ... ENDWITH , которая обеспечивает установку нескольких свойств:

Например, для установки нескольких свойств объекта Столбец в Сетке (Column in Grid), - которая в форме, а последняя - в контейнере FormSet можно использовать следующий синтаксис:

Копировать код
WITH THISFORMSET.frmForm1.grdGrid1.grcColumn1
 .Width = 5
 .Resizable = .F.
 .ForeColor = RGB(0,0,0)
 .BackColor = RGB(255,255,255)
 .SelectOnEntry = .T.
ENDWITH
Примечание:
Для изменения свойств объекта Вы также можете использовать Окно Свойств

См. также

Другие ссылки

Объектно-ориентированное программирование
Работа с классами в Visual FoxPro
Защита и сохранение элементов в Классах
Переопределение начальных значений свойств объектов

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Container Hierarchy Object Referencing

Visual FoxPro 9.0
Обращение к объекту в иерархии контейнера
See Also

Иерархия контейнера и класса представляют собой две раздельные сущности. Ссылки на объект связаны с иерархией контейнера, тогда как Visual FoxPro ищет код для события в иерархии класса.

Для управления объектом вам необходимо идентифицировать его относительно иерархии контейнера. Например, для управления элементом на форме в наборе форм, вам необходимы ссылки на набор форм, на форму и затем на элемент.

Вы можете сравнить обращение к объекту внутри иерархии его контейнера, с тем, что вы как бы даете Visual FoxPro адрес вашего объекта. Например. Когда вы описываете расположение дома кому-либо извне вашего теущего местонахождения, вам необходимо указать страну, штат или район, город, улицу и точный номер дома в зависимости от того, насколько далеко от вас находится информируемый. В противном случае может произойти недоразумение.

Приведенный рисунок иллюстрирует возможную ситуацию вложенности контейнеров.

Вложенные контейнеры

Для запрещения элемента в колонке решетки , вам необходимо предоставить следующий адрес:

CopyCode image Скопировать код
Formset.Form.PageFrame.Page.;
 Grid.Column.Control.Enabled = .F.

Свойство ActiveForm объекта приложения (_VFP) позволяет вам управлять активной формой, даже если вы не знаете имени активной формы. Например, приведенная строка кода изменят цвет фона активной формы, независимо от того, к какому набору форм она принадлежит:

CopyCode image Скопировать код
_VFP.ActiveForm.BackColor = RGB(255,255,255)

Аналогично, свойство ActiveControl позволяет вам управлять активным элементов на активной форме. Например, приведенное выражение, введенное в окно Watch отобразит имя активного элемента на форме, как если бы вы выбрали элемент интерактивно:

CopyCode image Скопировать код
_VFP.ActiveForm.ActiveControl.Name

Относительное обращение

Когда вы обращаетесь к объектам из иерархии контейнера (например, в событии Click командной кнопки на форме или в наборе форм), вы можете использовать некоторые ярлыки для идентификации объекта, которым вы желаете управлять. В приведенной ниже таблице перечислены свойства или ключевые слока, которые облгчают обращение к объекту внутри иерархии объекта:

Свойство или ключевое слово | Ссылка
Parent | Ближайший контейнер объекта.
THIS | Сам объект.
THISFORM | Форма, которая содержит данный объект.
THISFORMSET | Набор форм, который содержит данный объект.
Note Замечание

Вы можете использовать THIS, THISFORM и THISFORMSET только в методах или в процедурных кодах событий.

В приведенной ниже таблице приведены примеры использования THISFORMSET, THISFORM, THIS и Parent для установки свойств объекта:

Команда | Где включить эту команду
THISFORMSET.frm1.cmd1.Caption = "OK" | В процедурном коде события или коде метода любого элемента на форме или в наборе форм.
THISFORM.cmd1.Caption = "OK" | В процедурном коде события или коде метода любого элемента на той же самой форме, где располагается этот cmd1.
THIS.Caption = "OK" | В процедурном коде события или коде метода любого элемента, чей заголовок вы желаете изменить.
THIS.Parent.BackColor = RGB(192,0,0) | В процедурном коде события или коде метода любого элемента в том же самом контейнере, в котором находится элемент, из кода которого меняется свойство родительского контейнера. (Выделено переводчиком. Перевод изменен сознательно, дабы исключить двоякость толкования, приведенного в оригинале).

Смотрите также

Концепции

Работа с классами в Visual FoxPro

Прочие ресурсы

Объектно-ориентированное программирование

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Object Reference Creation

Visual FoxPro 9.0
Создание объектной ссылки
Смотрите также

Вместо создания копии объекта вы можете создать ссылку на объект. Ссылка занимает в памяти меньше места, чем дополнительный объект, может быть легко передана между процедурами, и может быть полезной при написании общего кода.

Возвращение ссылки на объект

Иногда вы можете управлять объектом посредством одной или более ссылок на объект. Например, приведенная ниже программа описывает класс, создает объект на его основе и возвращает ссылку на этот объект:

CopyCode image Скопировать код
*--NEWINV.PRG
*--возвращает ссылку на новую форму инвойса.
frmInv = CREATEOBJECT("InvoiceForm")
RETURN frmInv

DEFINE CLASS InvoiceForm AS FORM
   ADD OBJECT txtCompany AS TEXTBOX
   * код для установки свойств, ввода других объектов и томк подобного
ENDDEFINE

Приведенная ниже программа устанавливает ссылку на объект, созданный в Newinv.prg. Переменная ссылки может быть столь же управляемой и в той же самой степени, что и объект:

CopyCode image Скопировать код
frmInvoice = NewInv() && сохраняет объекьную ссылку в переменной
frmInvoice.SHOW

Кроме того, вы можете создать ссылку на объект на форме, как это показано на примере ниже:

CopyCode image Скопировать код
txtCustName = frmInvoice.txtCompany
txtCustName.Value = "Fox User"
Note Совет

После того, как вы создали объекь, вы можете использовать команду DISPLAY OBJECTS, для отображения иерархии класса, установок свойств, содержащихся объектов и доступных методов и событий. Вы можете заполнить массив свойствами (не установками свойств, а именами свойств) событиями, методами и содержащимися внутри объекта другими объектами в помощью функции AMEMBERS().

Высвобождение объектов и ссылок из памяти

Если существует ссылка на объект, высвобождение объекта не удаляет объект из памяти. Например, приведенная ниже команда освобождает frmInvoice, оригинальный объект:

CopyCode image Скопировать код
RELEASE frmInvoice

Однако, поскольку ссылка на объект, принадлежащий frmInvoice продолжает существовать, объект не удаляется из памяти до тех пор, пока txtCustName не будет высвобожден приведенной ниже командой:

CopyCode image Скопировать код
RELEASE txtCustName

Проверка существования объекта

Вы можете использовать функции TYPE( ), ISNULL( ) и VARTYPE( ) для проверки существования объекта. Например, приведенные ниже строки кода проверяют - существует ли объект с именем oConnection:

CopyCode image Скопировать код
IF TYPE("oConnection") = "O" AND NOT ISNULL(oConnection)
   * объект существует
ELSE
   * объект не существует
ENDIF
Note Замечание

ISNULL() является необходимой, так как .NULL. сохраняется в переменной объекта формы, когда ползователь закрывает форму, но тип переменной остается типом "объект" - "O".

Смотрите также

Справочное руководство

Массивы объектов и членов
Команда DISPLAY OBJECTS
Функция AMEMBERS()

Концепции

Описание управляющего элемента Grid

Прочие ресурсы

Объектно-ориентированное программирование

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Object and Member Arrays

Visual FoxPro 9.0
Массивы объектов и членов
Смотрите также
CollapseAll image

Вы можете создавать массивы, содержащие объекты, а также массивы, являющиеся членами класса.

Expand image Массивы объектов

Вы можете создать массив, который содержит объекты. При создании массива, содержащего объекты, имейте ввиду следующие соображения:

  • Вы не можете присвоить индивидуальный объект все элементам в массиве использованием одной команды. Вы должны присвоить объект каждому элементу массива индивидуально.

  • Вы не можете присвоить значение свойства целому массиву.

    Например, приведенная ниже команда приведет к ошибке:

    CopyCode image Скопировать код
    MyArray.Enabled = .F.

  • Когда вы изменяете размер массива с целью увеличения его размера, то новые элементы массива инициализируются в значения (.F.), как и со всеми массивами в Visual FoxPro. Когда вы изменяете размер массива с целью уменьшения его размера, объекты с индексом большим, чем новый максимальный индекс, высвобождаются.

Например, приведенный ниже код создает массив с именем MyArray, который хранит объекты командных кнопок, используя структуру цикда:

CopyCode image Скопировать код
DIMENSION MyArray[5]
FOR x = 1 TO 5
   MyArray[x] = CREATEOBJECT("CommandButton")
ENDFOR

Expand image Массив, в качестве члена класса

Вы можете включить массивы в качестве членов класса, для хранения в них объектов.

Приведенный ниже пример создает форму, которая содержит объект, созданный из пользовательского класса на базе класса Container, ButtonList. Класс ButtonList содержит члена, который представляет собой массив с именем aChoices, в котором каждый элемент содержит объекты разных элементов управления.

Когда вы запустите пример из файла программы (.prg), то появится форма с двумя командными кнопками и чек-боксом. Когда пользователь щелкнет по командной кнопке или установит метку в чек-боксе формы, Visual FoxPro перешлет номер элемента массива, который содержит объект элемента управления событию Click посредством параметра tnIndex. Команда структуры DO CASE отобразит окно с номер элемента.

Различие в коде зависит от того, какая кнопка была нажата.

CopyCode image Скопировать код
loForm = CREATEOBJECT("Form")
loForm.AddObject("cntButtons", "ButtonList")
loForm.cntButtons.SetAll("Visible", .T.)
loForm.cntButtons.Visible = .T.
loForm.Show(1)

DEFINE CLASS ButtonList AS Container
   Height = 100
   Width = 130
   BorderWidth = 0

   DIMENSION aChoices[3]

   ADD OBJECT aChoices[1] AS CommandButton WITH ;
      Top = 10, ;
      Height = 20, ;
      Left = 10, ;
      Caption = "Element One"
   ADD OBJECT aChoices[2] AS CommandButton WITH ;
      Top = 40, ;
      Left = 10, ;
      Height = 20, ;
      Caption = "Element Two"
   ADD OBJECT aChoices[3] AS CheckBox WITH ;
      Top = 70, ;
      Left = 10, ;
      Caption = "Element Three"

   PROCEDURE aChoices.Click
      LPARAMETER tnIndex
      DO CASE
         CASE tnIndex = 1
            WAIT WINDOW "1"
         CASE tnIndex = 2
            WAIT WINDOW "2"
         CASE tnIndex = 3
            WAIT WINDOW "3"
      ENDCASE
   ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Массивы
Добавление объектов в класс контейнера

Концепции

Объекты в Visual FoxPro

Прочие ресурсы

Работа с объектами в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Хранение данных в объекте

Visual FoxPro 9.0
Хранение данных в объекте
Смотри также

В объектно-ориентированных языках, класс представляет полезное и удобное гибкое средство для хранение данных и процедур, связанных с сущностью. Например, Вы могли определить класс клиента, чтобы держать в нём информацию о клиенте, а так же иметь метод для вычисления возраста клиента:

CopyCode image Copy Code
DEFINE CLASS customer AS CUSTOM
   LastName = ""
   FirstName = ""
   Birthday = { - - }
   PROCEDURE Age
      IF !EMPTY(THIS.Birthday)
         RETURN YEAR(DATE()) - YEAR(THIS.Birthday)
      ELSE
         RETURN 0
      ENDIF
   ENDPROC
ENDDEFINE

Однако, данные, сохраненные в объектах, основанных на классе клиента хранятся только в памяти компьютера. Если бы эти данные были в таблице, то она хранилась бы на диске. Если Вы имеете больше чем одного клиента, чтобы организовать поиск, таблица даст Вам доступ ко всем камандам и функциям управления базой данных Visual FoxPro. И как результат, Вы могли быстро определить местонахождение информации, сортировать её, сгруппировать, выполнить над ней вычисления, создать основанные на ней отчеты и запросы, и так далее.

Хранение и управление данными в базах данных и таблицах - это то, что Visua FoxPro делает лучше всего. Однако, бывают случаи, когда Вы захотите хранить данные в объектах. Обычно, такие данные будут существенны только в то время как ваше приложение запущено и они существуют в единственном экземпляре.

Например, в приложении, которое включает систему безопасности, Вы типично, имейте таблицу пользователей, которые имеют доступ к приложению. Таблица включает пользовательскую идентификацию, пароль, и уровень доступа. Как только пользователь начинет работать, Вы более не нуждатетесь в информации из таблицы. Все, в чем Вы нуждаетесь - это информация о текущем пользователе, и эта информациия может быть легко сохранена и управляема в объекте. Следующее определение класса, например, инициирует вход в систему, когда создан объект, основанный на классе:

CopyCode image Copy Code
DEFINE CLASS NewUser AS CUSTOM
   PROTECTED LogonTime, AccessLevel
   UserId = ""
   PassWord = ""
   LogonTime = { - - : : }
   AccessLevel = 0
   PROCEDURE Init
      DO FORM LOGON WITH ; && assuming you have created this form
         This.UserId, ;
         This.PassWord, ;
         This.AccessLevel
      This.LogonTime = DATETIME( )
   ENDPROC
* Create methods to return protected property values.
   PROCEDURE GetLogonTime
      RETURN This.LogonTime
   ENDPROC
   PROCEDURE GetAccessLevel
      RETURN This.AccessLevel
   ENDPROC

ENDDEFINE

В основной программе вашего приложения Вы мможете создать объект, основанный на классе NewUser:

CopyCode image Copy Code
oUser = CREATEOBJECT('NewUser')
oUser.Logon

Всюду в Вашему приложении, когда Вы нуждаетесь в информации о текущем пользователе, Вы можете получиь её из объекта oUser. Например:

CopyCode image Copy Code
IF oUser.GetAccessLevel( ) >= 4
   DO ADMIN.MPR
ENDIF

Смотри также

Ссылка

Массивы свойств и объектов

Справочное руководство

Интергация объекта и данных
Создание ссылки на объект

Прочие ресурсы

Объектно-ориентированное программирование

Чтобы сделать предложение или сообщить об ошибке в Справке или другой особенности этого продукта зайдите на feedback .
© Microsoft Corporation. All rights reserved. Microsoft не несет ответственности за содержание переведенных статей справки.


How to: Call Methods

Visual FoxPro 9.0
Как: Вызов методов
Смотрите также

После создания объекта его методы могут быть вызваны из любого места Вашего приложения.

Чтобы вызвать метод

  • Используйте следующий синтаксис:

    Скопировать код
                  Parent.Object.Method

Следующий пример вызывает методы вывода формы на экран и установки фокуса на текстбокс:

Скопировать код
frsFormSet.frmForm1.Show
frsFormSet.frmForm1.txtGetText1.SetFocus

Методы, возвращающие значения и использующиеся в выражениях, должны оканчиваться открывающей и закрывающей круглыми скобками. Например, по следующей инструкции заголовок формы принимает значение, которое возвращает определенный пользователем метод GetNewCaption:

Скопировать код
Form1.Caption = Form1.GetNewCaption( )
Примечание:
Параметры, передаваемые в вызываемый метод, должны быть заключены в круглые скобки после имени метода; например, Form1.Show(nStyle) передает параметр nStyle в код метода Show формы Form1.

Смотрите также

Прочие ресурсы

Защита и скрывание членов класса
Отмена наборов свойств, заданных по умолчанию
Объектно ориентированное программирование
Работа с классами в Visual FoxPro

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


Object and Data Integration

Visual FoxPro 9.0
Интеграция Объектов и Данных
См. Также

В большинстве Приложений вы можете использовать внутренние, достаточно эффективные механизмы Интеграции Объектов и Исходных Данных (Полей, Таблиц и Баз Данных). Большинство базовых классов Visual FoxPro имеют соответствующие Свойства и Методы, которые позволяют вам создавать эффективные механизмы обработки данных, совмещать и интегрировать Реляционные преимущества Таблиц и объектно-ориентированные преимущества Контролов.

Основные базовые Свойства для Интеграции Классов Visual FoxPro и исходных элементов Баз Данных
Базовый Класс | Свойства по управлению Данными
Grid | RecordSource, ChildOrder, LinkMaster
Все другие контролы | ControlSource
List box / Combo box | ControlSource, RowSource
Form / FormSet | DataSession

Поскольку перечисленные Свойства могут быть изменены и определены как в режиме разработки, так и в режиме выполнения приложения, вы можете создавать многофункциональные Контролы, которые не зависят от конкретных данных, что значительно улучшает функциональность вашего Приложения.

Дополнительную информацию об Интеграции Данных и Объектов VFP смотрите в разделах: Создание Форм, и Использование Контролов

См. также

Концепции

Хранение данных с помощью Объектов
Создание Ссылок на Объекты

Другие ссылки

Объектно-Ориентированное Программирование

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Create Instances of Classes with the Class Browser

Visual FoxPro 9.0
Как: создать экземпляр класса с помощью Class Browser
Смотрите также

Вы можете создавать экземпляры классов в Class Browser, поэтому вы можете видеть экземпляры этих классов. Например, если вы создаете экземпляр формы или класса формы, форма создается и отображается.

Note Замечание

Когда вы создаете экземпляр класса, запускается код, содержащийся в событии Init и, возможно, других событий. До того, как вы создадите экземпляр, знайте, что код связан с вашим классом. Если класс требует конкретного окружения, которое не установлено, Visual FoxPro сгенерирует ошибки. Class Browser не предоставляет обработки ошибок для определенных пользователем классов.

Для создания экземпляра класса

  1. Откройте библиотеку классов или форму в Class Browser.

  2. В списке классов Class Browser выберите класс или форму, экземпляр которых вы желаете создать.

  3. Перетащите иконку класса, которая появляется рядом с комбобоксом типов в Class Browser в главное окно Visual FoxPro.

    Note Замечание

    Если вы перетаскиваете форму или класс формы в главное окно Visual FoxPro, форма создается и отображается. Если вы перетаскиваете в главное окно Visual FoxPro элемент управления, то он добавляется в объект _SCREEN. Для получения более подробной информации смотрите Системная переменная _SCREEN.

Для создания экземпляра класса без его отображание, нажмите и удерживайте клавишу SHIFT в течение всей операции перетаскивания. Для подавления сообщений об ошибке при создании экземпляра, нажмите и удерживайте клавишу CTRL во время операции перетаскивания.

Для вызова подходящей функции NEWOBJECT( ) или CREATEOBJECT( ) для создания экземпляра класса, вы можете перетащить иконку класса в командное окно.

Для удаления объъекта из объекта _SCREEN

  • Используйте метод RemoveObject для _SCREEN.

Например, предположим, что вы перетащили класс VCR из библиотеки классов Buttons.vcx, расположенной в каталоге Visual FoxPro ...\Samples\Classes на экран. Вы можете удалить экземпляр класса из _SCREEN с помощью приведенной ниже команды, выпущенной в командном окне:

CopyCode image Скопировать код
_SCREEN.RemoveObject("VCR1")

Смотрите также

Задачи

Как: настроить Class Browser
Как: просмотреть иерархию класса
Как: просмотреть информацию библиотеки типов

Справочное руководство

Командные кнопки Class Browser
Окно Class Browser
Метод SaveAs(Visual FoxPro)
Метод SaveAsClass

Прочие ресурсы

Работа с Class Browser

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Controls to Forms with the Class Browser

Visual FoxPro 9.0
Как: добавить элементы управления в форму с помощью Class Browser
Смотрите также

Вы можете добавить элементы управления из Class Browser пока разрабатываете форму или во время ее исполнения.

Для того, чтобы добавить элементы управления в форму или контейнер

  1. В Конструкторе форм откройте форму.

  2. В окне Class Browser откройте файл библиотеки классов, содержащий класс или объект, который вы желаете добавить в форму.

  3. В списке Class выберите имя класса и, затем, перетащите иконку класса на форму. Иконка класса расположена над списком Class.

Для просмотра класса для элемента управления на форме или в контейнере

  1. В Конструкторе форм выберите элемент управления.

  2. В меню Tools выберите Class Browser. Откроется окно Class Browser и отобразит класс элемента управления, который вы выбрали на форме.

Вы можете разрабатывать свои формы так, чтобы вы смогли добавлять объекты класса из Class Browser на форму во время ее исполнения. Вы можете пожелать разработать класс формы который имеет такую возможность как одно из своих свойств.

Для ввода объектов в исполняемую форму или контейнер на форме

  1. Запустите форму.

  2. Откройте Class Browser и просмотрите список классов, содержащий класс объекта, который вы желаете ввести в форму.

  3. Выберите желаемый класс и перетащите на форму иконку класса из Class Browser.

  4. Новый объект, основанный на выбранном в Class Browser классе появится на форме./p>

    Note Tip

    Вы можете ,кроме того, добавить экземпляр выбранного класса в любой контейнер путем позиционирования мыши над выбранным классов и вводом строки кода в окне Command: _oBrowser.FormAddObject(SYS(1270))

Для просмотра класса для элементар управления на исполняемой форме

  1. Установите фокус на элемент управления.

  2. В меню Tools выберите Class Browser. Class Browser оценит _SCREEN.ActiveForm.ActiveControl и отобразит класс элемента управления, который вы выбрали на форме.

Смотрите также

Задачи

Как: настроить Class Browser
Как: просмотреть иерархию класса
Как: просмотреть информацию библиотеки типов

Справочное руководство

Командные кнопки Class Browser
Окно Class Browser
Метод SaveAs (Visual FoxPro)
Метод SaveAsClass

Прочие ресурсы

Работа с Class Browser

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Understanding the Event Model

Visual FoxPro 9.0
Понимание Модели Событий

Модель событий Visual FoxPro - исчерпывающая и предоставляет мощный контроль над тем, как компоненты вашего приложения реагируют на широкий спектр действий системы и пользователя. Visual FoxPro управляет обработкой событий, чтобы вы могли предоставить пользователю более богатое диалоговое окружение.

В Данном Разделе

События в Visual FoxPro

Предоставляет обзор событий в Visual FoxPro.
Последовательность Событий в Visual FoxPro

Объясняет и иллюстрирует последовательность свершения событий.
Как: Отследить Последавтельность Событий

Объясняет, как отследить события.
Соображения для Написании Кода для События

Описываются заключения, которые необходимо помнить при добавлении кода в события.
Привязка Событий для Объектов

Знакомит с привязкой событий, что делает возможным соединить события, методы и свойства Visual FoxPro объекта или события COM объекта с другим Visual FoxPro объектом.

Другие Разделы

Объектно-Ориентированное Программирование

Обсуждаются возможности создания автономных компонент приложения, которые реагируют на действия пользователя или системы и которые могут легко поддерживаться и повторно использоваться.
Программирование в Visual FoxPro

Описывается, как понимание техники объектно-ориентированного программирования и управляемой событиями модели может максимально повысить производитьность программирования и позволит вам воспользоваться всей мощью Visual FoxPro.
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Events in Visual FoxPro

Visual FoxPro 9.0
События в Visual FoxPro
Смотрите также

События происходят автоматически когда пользователь производит конкретные действия в системе или в приложении. События, ассоциированные с объектом, происходят, когда пользователь взаимодействует с объектом каким-либо способом, например, с помощью перебора с клавишей Tab, при щелках по клавишам мыши, перемещением на объект указателя мыши и т.д. Например, класс CommandButton содержит событие Click, которое срабатывает при щелчке по левой клавише мыши на объекте этого класса.

Вы можете добавить свой код в процедуру события объекта, с тем, чтобы при наступлении события для объекта, код мог быт автоматически исполнен. Например, вы можете добавить код в событие Click, для того, чтобы когда пользователь щелкнул по командной кнопке, автоматически выполнился бы код для производства какого-то действия, например для открытия формы. Системные события также могут исполнять код в событиях, например в случае использования элемента управления Timer в процедурном коде события Timer.

В приведенной ниже таблице содержится список базового набора событий Visual FoxPro, которые применимы к большинству элементов управления.

Базовые события в Visual FoxPro
Событие | Событие наступает, когда
Init | создается объект.
Destroy | объект высвобождается из памяти.
Click | Пользователь щелкает на объекте, используя первичную клавишу мыши.
DblClick | Пользователь дважды щелкает на объекте, используя первичную клавишу мыши.
RightClick | Пользователь щелкает на объекте, используя вторичную клавишу мыши.
GotFocus | Объект получает фокус через действие пользователя, такое как перемещение с помощью клавиши табуляции или щелчок или с помощью переноса фокуса на объект программным способом, с помощью метода SetFocus. Для получения более подробной информации, see SetFocus Method.
LostFocus | Объект теряет фокус через действие пользователя, такое как перемещение с помощью клавиши табуляции или щелчок или с помощью переноса фокуса на другой объект программным способом, с помощью метода SetFocus.
KeyPress | Пользователь нажимает и отпускает клавишу.
MouseDown | Пользователь нажимает клавишу мыши, когда ее указатель находится над объектом.
MouseMove | Пользователь перемещает указатель мыши над объектом.
MouseUp | Пользователь отпускает клавишу мыши, когда ее указатель находится над объектом.

Вызов событий программным способом

Большинство событий происходит автоматически, когда система или пользователь производят действия. Однако, вы можете генерировать приведенные ниже события программным способом, используя определенные команды Visual FoxPro:

  • Используйте команду MOUSE для генерации событий Click, DblClick, MouseMove и DragDrop.

  • Используйте команду ERROR, для генерации события Error.

  • Используйте команду KEYBOARD для генерации события KeyPress.

Для получения более подробной информации, смотрите Команда MOUSE, Команда ERROR и Команда KEYBOARD .

Хотя вы не можете вызвать срабатывания большинства событий программным способом, вы можете вызвать процедуры, ассоциированные с событием, которые исполняют код события, но не вызывают события как такового. Например, приведенная ниже строка кода вызывает процедуру события Activate для формы frmPhoneLog и исполняет код события; однако, она не активизирует саму форму:

CopyCode image Скопировать код
frmPhoneLog.Activate

Если вы желаете активизировать форму, используйте метод формы Show:

CopyCode image Скопировать код
frmPhoneLog.Show

Вызво метода Show отображает и активизирует форму, при этом исполняется код в событии Activate.

Смотрите также

Концепции

Последовательность событий в Visual FoxPro
Рассуждения по поводу кода события

Прочие ресурсы

Привязка событий к объектам
Понимание событийной модели

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнен JS.


Event Sequence in Visual FoxPro

Visual FoxPro 9.0
Последовательность событий в Visual FoxPro
Смотрите также

Несмотря на то, что некоторые события происходят как единичные события, действия пользователя могут инициировать срабатывание множества событий. Некоторые из этих событий происходят независимо; однако, последовательность некоторых событий фиксирована, например, последовательность событий при создании и разрушении объекта формы.

Когда последовательность событий инициирована для управляющего элемента, вся последовательность событий ассоциирована с этим управляющим элементом. Например, преположим, что вы щелкнули по левой клавише мыши на командной кнопке и затем потащили указатель мыши прочь от нее. Событие MouseMove командной кнопки продолжается даже если указатель мыши движется уже над формой. Если вы отпустите левую кнопку мыши над формой, а не над кнопкой, событие MouseUp, которое произойдет в этом случае будет связано с командной кнопкой, а не формой.

В приведенной ниже таблице показана общая последовательность событий Visual FoxPro, с учетом того, что свойство AutoOpenTables окружения данных установлено в True (.T.). Прочие событие могут происходит на основе взаимодействия пользователя и отклика на них системы.

Последовательность событий Visual FoxPro
Объект | Наступившее событие
Data environment | BeforeOpenTables
Form set | Load
Form | Load
Data environment cursor(s) | Init
Data environment | Init
Objects 1 | Init
Form | Init
Form set | Init
Form set | Activate
Form | Activate
Object1 2 | When
Form | GotFocus
Object1 | GotFocus
Object1 | Message
Object1 | Valid 3
Object1 | LostFocus
Object2 3 | When
Object2 | GotFocus
Object2 | Message
Object2 | Valid 4
Object2 | LostFocus
Form | QueryUnload
Form | Destroy
Object 5 | Destroy
Form | Unload
Form set | Unload
Data environment | AfterCloseTables
Data environment | Destroy
Data environment cursor(s) | Destroy

1. Для каждого объекта, начиная с самого внутреннего до самого внешнего контейнера

2. Первый объект в порядке табуляции

3. Следующий объект, получающий фокус

4. После того, как объект потеряет фокус

5. Для каждого объекта начиная с наружного до внутреннего

Пример последовательности событий

Приведенный ниже пример использует форму для иллюстрации порядка, в котором наступают события в ответ на действия пользователя.

Образцовая форма

В этом примере пользователь производит следующие действия:

  1. Запускает форму.

  2. Печатает текст в текстовом блоке Text1.

  3. Выбирает текст и копирует его в Clipboard.

  4. Перемещается в текстовый блок Text2, с помощью клавиши TAB.

  5. Вставляет скопированный текст в Text2.

  6. Закрывает форму, щелкнув на командной кнопке Command2.

Эти действия инициируют события для каждого объекта. В приведенной ниже таблице перечислены события, которые наступают в ответ на каждое действие пользователя.

Note Замечание

В этом примере, событие Paint было удалено из таблицы, так как это событие происходит часть и делает затруднительным просмотр последовательности другиз событий.

Действие 1

Пользователь запускает форму, впечатав приведенную ниже команду в командном окне:

CopyCode image Скопировать код
DO FORM form1 NAME frmObject

Visual FoxPro загружает форму, инициализирует каждый объект, затем инициализирует форму. Форма активизируется и первый тектовый блок получает фокус.

Объект | Событие
DataEnvironment | BeforeOpenTables
Form1 | Load
DataEnvironment | Init
Text1 | Init
Text2 | Init
Command1 | Init
Command2 | Init
Form1 | Init
Form1 | Activate
Form1 | GotFocus
Text1 | When
Text1 | GotFocus

Действие 2

Пользователь печатает текст "Test" в текстовом блоке Text1. Каждое нажатие клавиши генерирует два события.

Note Замечание

Событие KeyPress получает два параметра: число, представляющее нажатую клавишу и состояние клавиш SHIFT, ALT и CTRL.

Объект | Событие | Параметры
Text1 | KeyPress | (84 для "T", 1)
Text1 | InteractiveChange |
Text1 | KeyPress | (101 для "e", 0)
Text1 | InteractiveChange |
Text1 | KeyPress | (115 для "s", 0)
Text1 | InteractiveChange |
Text1 | KeyPress | (116 для "t",0)
Text1 | InteractiveChange |

Действие 3

Пользователь выбирает текст в текстовом блоке Text1, используя двойной щелчок на тексте и копирует его в Clipboard, нажатиемby CTRL+C. События мыши и событие Click сопровождают событие DblClick.

Note Замечание

События MouseMove, MouseDown и MouseUp получают четыре параметра: число, указывающее нажатую клавишу мыши, состояние клавиши SHIFT, и (X, Y) координаты. Координаты X и Y выражены относительно формы и отражаются в единицах, определяемый режимом масштаба формы, например, в пикселях. Хотя здесь указано только одно событий MouseMove для каждого управляющего элемента, в действительности, такое событие может наступать до полдюжины раз и более.

Объект | Событие | Параметры
Form1 | MouseMove | (0, 0, 100, 35)
Text1 | MouseMove | (0, 0, 44, 22)
Text1 | MouseDown | (1, 0, 44, 22)
Text1 | MouseUp | (1, 0, 44, 22)
Text1 | Click |
Text1 | MouseDown | (1, 0, 44, 22)
Text1 | MouseUp | (1, 0, 44, 22)
Text1 | DblClick |

Действие 4

Пользователь перемещается в текстовый блок Text2, путем нажатия клавиши TAB.

Объект | Событие | Параметры
Text1 | KeyPress | (9, 0)
Text1 | Valid |
Text1 | LostFocus |
Text2 | When |
Text2 | GotFocus |

Действие 5

Пользователь вставляет скопированный текст в текстовый блок Text2, нажатием сцепления CTRL+V.

Объект | Событие
Text2 | InteractiveChange

Действие 6

Пользователь щелкает на командной кнопке Command2, для того, чтобы закрыть форму.

Объект | Событие | Параметры
Form1 | MouseMove |
Command2 | MouseMove |
Text2 | Valid |
Command2 | When |
Text2 | LostFocus |
Command2 | GotFocus |
Command2 | MouseDown | (1, 0, 143, 128)
Command2 | MouseUp | (1, 0, 143, 128)
Command2 | Click |
Command2 | Valid |
Command2 | When |

Когда форма закрывается и освобождаются объекты, то имеют место дополнительные события по сравнению со списком событий, перечисленных для действия 1.

Объект | Событие
Form1 | Destroy
Command2 | Destroy
Command1 | Destroy
Text2 | Destroy
Text1 | Destroy
Form1 | Unload
DataEnvironment | AfterCloseTables
DataEnvironment | Destroy

Смотрите также

Задачи

Как: отслеживать последовательность событий

Концепции

События в Visual FoxPro

Прочие ресурсы

Привявзка событий к объектам
Понимание событийной модели

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Track Event Sequences

Visual FoxPro 9.0
Как: Просмотреть последовательность выполнения Событий
См. также

Вы можете просмотреть последовательность выполнения (возникновения) Событий, запустив механизм Event Tracking в системной службе Visual FoxPro Debugger. Вы можете определить наиболее эффективное место в вашем программном обеспечении, с которого отслеживаются различные События в ваших формах и Контролах, как они взаимодействуют друг с другом.

Для запуска механизма Отслеживания Событий

  1. В системном меню Tools, выберите пункт Debugger.

  2. Уже в меню Tools Debugger, выберите пункт Event Tracking.

  3. В соответствующем диалоговом боксе Event Tracking, выберите кнопку Turn event tracking on.

Данный механизм также управляется с помощью команды SET EVENTTRACKING. См. дополнительно SET EVENTTRACKING, команда.

По-умолчанию, последовательность отслеживаемых событий отображается в системном окне Debug Output. Однако вы можете переопределить вывод списка событий в некоторый текстовый файл.

См. дополнительно разделы Как: Использовать Дебугер (Debugger), Системное Окно Debugger, и Диалоговый бокс Event Tracking.

См. также

Концепции

Последовательность Событий в системе Visual FoxPro
События в системе Visual FoxPro
Соглашения по программному коду Событий

Другие ссылки

Понимание механизма Событийной Модели

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Considerations for Event Code

Visual FoxPro 9.0
Соображения по-поводу кода событий
Смотрите также

Когда вы вводите процедурный код в события, примите во внимание следующие соображения:

  • Набор событий базовых классов Visual FoxPro фиксирован и не может быть расширен.

  • Каждый класс распознает набор фиксированных событий, используемый по умолчанию, который включают в себя минимально события Init, Destroy и Error.

  • Контейнеры не обслуживают события, ассоциированные с элементами управления, которые контейнеры содержат.

  • Если с событием управляющего элемента не ассоциирован процедурный код, Visual FoxPro проверяет его существование вверх по иерархии класса управляющего элемента.

  • Последовательность событий может воздействовать на местонахождение введенного вами кода.

Приведенные ниже разделы содержат более подробную информацию о трех последних соображениях.

События объекта в контейнерах

Каждый объект, даже если находится в контейнерах, получает свои события независимо. Например, предположим, что на форме имеется командная кнопка. Когда пользователь щелкает по ней, срабатывает только событие Click для командной кнопки, но не для одноименного события формы. Поэтому, если с событием Click формы ассоциирован какой-то процедурный код, но нет никакого кода ассоциированого с событием Click командной кнопки, то ничего не произойдет, когда пользователь произведет щелчок на командной кнопке, располагающейся в форме.

Это же соображение применимо и к элементам решетки (grid control). Решетка содержит колонки, которые содержат заголовки и элементы управления. Когда событие происходит для внутреннего объекта, то только именно этот объект, ассоциированным с этим событие и распознает это событие. Контейнер более верхнего уровня, каким в данном случае является колонка, не распознает это событие.

Note Замечание

Однако, исключение из этого правила существует. Если существует процедурный код, определенный для события грурры радиокнопок или группы командных кнопок, но у отдельных радиокнопок группы или у отдельных командных кнопок группы не кода, ассоциированного с событием, то при наступлении события для такой радио- или командной кнопки будет исполнен код, определенный для их групп.

События управляющих элементов из определенных пользователем классов

Когда событие происходит для элемента, основанного на классе, определенном пользователем, Visual FoxPro проверяет этот элемент на наличие процедурного кода для обработки события. Если код существует, Visual FoxPro выполнит его. В противном случае, однако, Visual FoxPro будет искать наличие процедурного кода вверх по иерархии класса. Если такой код будет найден Visual FoxPro исполнит его и прекратит поиск возможного кода в более высоких уровнях иерархии класса.

Соображения по последовательности событий

При определении - куда добавить код для события помните о приведенных ниже соображениях:

  • Событие Init формы наступает после всех событий Init для элементов, содержащихся в форме. Поэтому, вы можете включить код в событие Init формы для управления любыми элементами на форме до отображнения ее самой на экране.

  • Если вы желаете исполнить код, когда изменяется значение в list box, combo box или check box, введите требуемый код в событие InteractiveChange вместо события Click. Событие Click может и не наступить или может быть вызвано, даже если значение указанных элементов не изменялось.

  • Когда вы перетаскиваете элемент управления, все прочие события мыши приостановлены. Например, события MouseUp и MouseMove не наступают во время операции перетаскивания.

  • События Valid и When возвращают значение True (.T.) по умолчанию. Если код вернет False (.F.) или 0 в событии When, элемент управления не сможет получить фокус. Если код в событии Valid вернет False (.F.) или 0, фокус не может быть перемещен с этого элемента.

Смотрите также

Концепции

События в Visual FoxPro
Последовательность событий в Visual FoxPro

Прочие ресурсы

Понимание событийной модели

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Event Binding for Objects

Visual FoxPro 9.0
Привязка событий к объектам

Вы можете использовать привязку событий для присоединения события, метода или свойства из объекта Visual FoxPro или события из объекта Component Object Model (COM), из которых оба могут действовать как источники события, к объектам Visual FoxPro. Однако, подход, используемый для привязки событий, различается для родных объектов VFP и объектов COM.

В этом разеделе

Привязка событий к объектам Visual FoxPro

Обсуждается привязка событий, методов и свойств из других родных объектов Visual FoxPro к объектам Visual FoxPro.

Привязка событий к объектам COM

бсуждается привязка событий из объектов COM к объектам Visual FoxPro.

Связанные разделы

Понимание событийной модели

Предоставляет обзор событий, как они происходят и как можно их отслеживать.

Использование Visual FoxPro

Предоставляет обзор возможностей Visual FoxPro, описывает концепции и инструменты для разработки, программирования и управления высокопроизводительными приложениями баз данных и их компонентов.

Справочное руководство (Visual FoxPro)

Включает в себя общее описание Visual FoxPro, языка программирования, пользовательского интерфейса и описание сообщений об ошибках.

Образцы и репетиции

Содержит образцы кода Visual FoxPro и пошаговые репетиции, которые вы можете использовать для экспериментирования и изучения возможностей Visual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Event Binding for Visual FoxPro Objects

Visual FoxPro 9.0
Привязка события к объектам Visual FoxPro
Смотрите также

Вы можете использовать привязку события для инициирования событий, свойств или методов родных объектов Visual FoxPro из других объектов Visual FoxPro с помощью следующих функций:

  • BINDEVENT( )

    Ассоциирует событие из родного объекта Visual FoxPro с методами или событием другого объекта Visual FoxPro.

  • UNBINDEVENTS( )

    Освобождает события ранее привязанные к объектам Visual FoxPro.

  • RAISEEVENT( )

    Инициирует или вызывает срабатывание события для определенных пользователем настраиваемых методов. Кроме того, вы можете использовать RAISEEVENT( ) для родных событий и методов.

  • AEVENTS( )

    Извлекает информацию о числе существуюших привязок события.

Посмотрите образец решения, демонстрирующий привязку событий, программное инициирование событий, их освобождение и извлечение информации о событиях, в статье Образец решения - привязка событие, их инициирование и освобождение, извлечение информации о событии.

Для получения подробной информации о привязке событий из объектов Component Object Model (COM), смотрите описание Привязка событий для COM объектов и Функция EVENTHANDLER().

Привязка события

Вы можете использовать функцию BINDEVENT() для присоединения или, иными словами, привязки события, метода или свойства из одного объекта Visual FoxPro, или источника события, методу или событию другого объекта Visual FoxPro или обработчику события. Метод, который обрабатывает событие, действует как "делегат" для обработчика события.

Вы можете привязаться к любому действительному методу или событию объекта Visual FoxPro, включая методы Access и Assign. Однако, оба, и источник события, и обработчик события должны быть действительными объектами Visual FoxPro. Вы не можете использовать COM объекты или привязываться к методам объектов в коллекциях, ссылаемых по системной переменной _VFP поскольку эти коллекции также посылаются через COM.

Note Замечание

Когда вы указываете объекты для привязки событий, убедитесь, что их создание завершено. Не привязывайте события, метода или свойства к объектам в их событиях Load или Init поскольку объект может быть еще не полностью создан, что может вызвать отказ операции привязки.

Вы можете использовать один и тот объект, и как источник события и как его обработчик. В приведенном ниже примере показано, как Form1 действует одновременно как источник, так и обработчик:

CopyCode image Скопировать код
BINDEVENT( Form1, "Resize", Form1, "myresize1" )

Вы можете использовать разные объекты из одного и того же класса, как источник события и как обработчик. Однако, событие объекта, который используется одновременно, как источник события и как обработчик, не может быть использовано в качестве метода-делегата.

Вы можете привязать множество обработчиков события к одному и тому же источнику события и событие в действии ссылается Вы можете подключить несколько обработчиков событий на одно и то же событие тем самым организуя шикоровещательные (multi-casting) оповещения. Если для одного и того же события определено множество обработчиков, то событие произойдет в первом из них, согласно правилу стэка (FIFO).

Вы можете привязать множество методов-делагатов из обработчика события к конкретному источнику события или событию. Например:

CopyCode image Скопировать код
BINDEVENT( Form1, "Resize", oHandler, "myresize1" )
BINDEVENT( Form1, "Resize", oHandler, "myresize2" )

Вы не можете привязаться к событию с параметрами, которые посылаются по ссылке. Несмотря на то, что вызов BINDEVENT( ) выполнится успешно, инициирование события, например, с помощью RAISEEVENT( ) потерпит неудачу.

Visual FoxPro не поддерживает привязку событий в дизайнерах, таких как дизайнеры форм и классов, насмотря на то, что вы можете получить объектную ссылку с помощью функций ASELOBJ( ) или SYS(1270).

Для получения более подробной информации смотрите описание функций BINDEVENT(), ASELOBJ() и SYS(1270) - Местонахождение объекта. Описание образца решения вы найдете в Образец решения - привязка событие, их инициирование и освобождение, извлечение информации о событии.

Освобождение события

Вы можете использовать функцию UNBINDEVENTS() для отсоединения событий, методов и свойств, которые были привязаны с помощью функции BINDEVENT() из родных объектов Visual FoxPro. UNBINDEVENTS() возвращает число событий, которые были освобождены, если исполнение функции было успешным. Вы можете указать объект источника события Visual FoxPro или объектную ссылку, которая может быть использована в качестве источника события или обработчика события.

Для получения более подробной информации смотрите описание функции UNBINDEVENTS().

Поднятие (инициирование) события

Вы можете использовать функцию RAISEEVENT() для инициирования или вызова срабатывания события для пользовательских или родных методов. Непосредственный вызов методов не производит срабатывания события, до тех пор, пока вы не установите соответсвующие флаги при использовании BINDEVENT() для подключения события к другим объектам. Поэтому вам необходимо использовать RAISEEVENT() для инициирования срабатывания таких событий.

Для получения более подробной информации смотрите описание функции RAISEEVENT().

Извлечение информации о привязке события

Вы можете использовать функцию AEVENTS() для извлечения числа событий Visual FoxPro, которые привязаны в данный момент времени к объектам Visual FoxPro. Visual FoxPro сохранит эту информацию в массиве. В зависимости от переданных параметров, AEVENTS() вернет либо одноэлементный массив, содержащий объектную ссылку на источник события или массив, который представляет каждую существующую привязку события как отдельную строку содержающую в пяти колонках информацию о привязке.

Для получения более подробной информации смотрите описание функции AEVENTS().

Смотрите также

Прочие ресурсы

Приввязка событий к объектам
Понимание событийной модели

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS, PiVa.


Event Binding for COM Objects

Visual FoxPro 9.0
Привязка Событий объектов COM
См. Также

Вы можете связать (перехватить) обработку возникающих Событий используемых вами внешних объектов Component Object Model (COM), для обработки их во внутренних объектах Visual FoxPro, для этого используется системная функция EVENTHANDLER( ). Например, для перехвата событий внешнего объекта ActiveX Data Object (ADO) RecordSet, вы можете определить выполнение внутреннего программного кода Visual FoxPro, когда указатель текущей записи перемещается в соответствующем объекте RecordSet. Функция EVENTHANDLER( ) определяет перехват (связывание) возникающих Событий в рассматриваемом объекте COM, который должен обладать соответствующим внутренним механизмом IConnectionPoint, интерфейсом, позволяющим выполнять описанное выше Связывание. Дополнительно смотрите раздел: EVENTHANDLER( ), функция.

Тем не менее, система Visual FoxPro не поддерживает прямой доступ к перехвату (связыванию) требуемых Событий через представленный механизм (интерфейс) IConnectionPoint. Для того, чтобы осуществить связывание Событий объекта COM, в соответствующем объекте Visual FoxPro, данный объект должен иметь характеристику Implement, позволяющую обрабатывать требуемые События объекта COM, данный объект должен иметь все соответствующие События внешнего объекта, чтобы управлять и обрабатывать все возникающие События, а не только требуемые вам. Если построенные События - Дублеры не выполняют требуемых функций внешнего объекта COM, данный объект теряет внешнее управление; может возникнуть ситуация внешней Ошибки.

Взамен Событий COM+, существующий сервис COM+, обеспечивает более предпочтительную стратегию для перехвата (связывания) требуемых Событий внешнего объекта COM. COM+ Events посылает и доставляет возникающие События между связанными Приложениями. Рассматриваемые приложения могут получать и отправлять возникающие События другим взаимодействующим Приложениям, например: прием на работу нового сотрудника; новые сведения о курсе Акций; текущий уровень износа Оборудования, требуемого замены.

Для данной модели COM+ Events, Приложения, создающие оповещения (сообщения) о возникновении некоторого События, называются Publisher (Издатель / Производитель). Другие приложения, получающие рассматриваемые Сообщения о Событиях называются Subscriber (Подписчики / Потребители). Рассматриваемая модель COM+ Events обычно называется Loosely Coupled Events, в этом случае Издатель и Подписчик не связаны в жесткие рамки, могут существовать независимо друг от друга, могут даже не знать о существовании друг друга; Подписчик активируется только в том случае, когда получает соответствующее Уведомление о возникновении некоторого События. В этом случае, вы определяете только те события в программном коде своего Объекта, которые вам требуется обрабатывать.

Для использования преимуществ модели COM+ Events, при создании Класса - Дублера вам необходимо обеспечить создание одного или нескольких механизмов обработки внешних Событий. Какждый механизм (интерфейс) обеспечивает одну группу соответствующих Методов или Событий внешнего объекта COM+. Вам требуется создать функциональный механизм Подписчика, который будет обрабатывать получаемые События. Наконец, вы создаете Приложение Издателя, которое имеет функциональные Объекты, которые в процессе своей жизнедеятельности будут порождать События, направляемые и обрабатываемые у Подписчика. Сервис событий должен обладать функциями доставки соответствующих сообщений Подписчику.

См. также

Концепции

Привязка Событий для объектов Visual FoxPro

Другие ссылки

Привязка (Связывание) Событий Объектов
Основные понятия Событийной Модели объектов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Accessing APIs

Visual FoxPro 9.0
Подключение API

Если задачи, поставленные перед вашим приложением, не могут быть решены с помощью функциональных возможностей Visual FoxPro, то можно использовать для их решения внешние библиотеки, такие как элементы управления Microsoft ActiveX и динамически подключаемые библиотеки (DLL). С помощью внешних библиотек вы можете добавить к своему приложению различные объекты, начиная от усовершенствованных текстовых полей (enhanced text boxes) и заканчивая календарями и другими полнофункциональными приложениями. Кроме того, у вас есть возможность воспользоваться функциональными возможностями, реализованными в других программах (включая Microsoft Windows), через их интерфейс прикладного программирования (API).

В этом разделе

Расширение Visual FoxPro с помощью внешних библиотек

Рассказывается о том, что можно легко добавить в приложение элементы управления Микрософт ActiveX (файлы с расширением .ocx ), которые обеспечат вас новыми объектами, используемыми в формах и в подклассах, а также о способах координации работы этихActiveX-элементов с нативными (исконными, родными ) элементами управления Visual FoxPro. Описывается, что вы можете осуществить связь с внешней библиотекой, такой как, например, DLL, и вызывать ее библиотечные функции из ваших собственных программ.
Подключение API к Visual FoxPro

Если вы не нашли подходящей внешней библиотеки, то можете написать свой собственный элемент управления Microsoft ActiveX или динамически подключаемую библиотеку специально для Visual FoxPro (файл с расширением .fll ). Вызывая функции, доступные в Visual FoxPro API, вы можете создать элементы управления или библиотеки, которые будут тесно интегрированы в и оптимизированы для использования в Visual FoxPro.

Связанные разделы

Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.
Руководство: Создание программ

Объясняются два способа создания в Visual FoxPro программы, которая, по сути, является текстовый файлом, содержащим серию команд.
Объектно-ориентированное программирование

С помощью объектно-ориентированного программирования вы можете создать самостоятельные прикладные компоненты, которые будут реагировать на действия пользователя и системы, и которые можно будет легко быть поддерживать и многократно использовать.
Оптимизация приложений

Описываются способы оптимизации выполнения приложений, делая их небольшими и быстрыми.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Extending Visual FoxPro with External Libraries

Visual FoxPro 9.0
Расширение возможностей Visual FoxPro при помощи Внешних Библиотек

Вы можете значительно расширить функциональные возможности системы Microsoft® Visual FoxPro® открытыми и доступными внешними Компонентами: Контролами Microsoft® ActiveX® (фыйлы .ocx), объектами ActiveX, различными динамическими библиотеками (DLL). Внешние библиотеки и Компоненты позволяют вам не только получить доступ к возможностям других программ и приложений, но ик самой операционной системе Microsoft® Windows®. Например, вы можете использовать соответствующие компоненты ActiveX для чтения и корректировки напрямую различных разделов системного Реестра Windows, или выполнять необходимый вызов низкоуровневых функций системных библиотек .DLL, тем самым, косвенно управлять ОC Windows.

В данном Параграфе

Подсоединение Внешних Библиотек

В большинстве случаев, Visual FoxPro предоставляет самые широкие и разнообразные функциональные возможности при разработке Приложений. Однако, в какой-то момент, вы можете обнаружить недостаточную мощь Visual FoxPro, отсутствие некоторых инструментов.

Как: Подсоединить Контролы и Объекты ActiveX

Вы можете использовать разнообразные компоненты Microsoft® ActiveX®, которые поставляются вместе со стандартом Операционной системы. Для использования контрола ActiveX, вам нужно добавить его на Форму, настроить свойства, определить программный код Методов и Событий.

Кок: Подсоединить внешние динамические библиотеки (.dll)

Если вам требуется функциональность имеющейся внешней библиотеки DLL, вы можете установить с ней связь, декларировать функции и выполнять их.

Как: Подключить библиотеки Visual FoxPro (.FLL)

Подобно динамическим библиотекам DLL, собственные библиотеки Visual FoxPro (файлы .fll) могут содержать разнообразные функции, которыми вы можете успешно пользоваться.

Связанные Разделы

Подсоединение функций API

Если некоторые задачи вашего Приложения не решаются стандартными инструментальными средствами Visual FoxPro, вы можете расширить имеющийся функционал посредством внешних компонент и библиотек — Microsoft® ActiveX®, или динамические библиотеки (.DLL).

Подсоединение внутренних функций Visual FoxPro API

Если внешние библиотеки не доступны или не удовлетворяют вашим потребностям, вы можете создать, спроектировать требуемый Контрол Microsoft® ActiveX® или специфическую динасмическую библиотеку Visual FoxPro (файл .fll). При помощи имеющихся внутренних функций API Visual FoxPro вы можете создать внешние контролы или библиотеки, которые будут достаточно плотно интегрированы с самой системой Visual FoxPro.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Accessing External Libraries

Visual FoxPro 9.0
Подключение Внешних Библиотек
Смотрите Также

Во многих случаях, система Visual FoxPro обеспечивает Разработчика широким спектром инструментальных возможностей для использования их в Приложениях. Однако, порой этих возможностей становится недостаточно, существуют узкоспециализированные задачи, которые невозможно решить только средствами Visual FoxPro. В таких случаях, вы можете использовать Совместимые Внешние Библиотеки, которые значительно расширяют возможности Visual FoxPro, и успешно работают с ним (VFP).

Visual FoxPro обеспечивает доступ к различным типам Внешних Библиотек:

  • Контролы ActiveX (файлы .ocx) и другие Объекты OS Windows. Контролы и Объекты ActiveX представляют из себя внешние Программные Модули, выполняющие специфические функции и задачи. В основном, Контролы и Объекты ActiveX дополняют широкий и разнообразный набор Классов Visual FoxPro — к ним относятся: новые формы Текстовых Боксов, Класс Календаря, Класс Калькулятора, и многие другие сложные функциональные Объекты. Некоторые классы объектов ActiveX способны выполнять Специфические Задачи: доступ к системам Электронной почты, коммуникационным Портам вашей Рабочей Станции. Как правило, после внедрения внешних Контролов ActiveX в Контейнерные классы Visual FoxPro, вы можете использовать полученные Комбинации внутренних и Внешних Классов как собственные Объекты Visual FoxPro в разнообразных Приложениях.

  • Динамически - подключаемые библиотеки (Dynamic-link libraries) (файлы .dll). Обычно, файлы типа (.dll) представляют собой внешние библиотеки функций, которые вы можете использовать как внутренние функции системы Visual FoxPro, или как некоторые созданные пользовательские функции в виде файлов (.prg) Visual FoxPro. Самые разнообразные программы ОС Windows — как и сама система ОС Windows — представляют собой разнообразные наборы Функций, сгруппированных во внешние Библиотеки (.dll). Например, Вы можете получить доступ к разнообразным функциям по установке Цветовых Схем, для это вам достточно подсоединить соответствующую системную библиотеку (.dll), и вызвать требуемую функцию.

  • Внешние библиотеки Visual FoxPro (файлы .fll). Библиотеки типа .fll представляют собой аналогичные библиотеки функций .dll, но использующие специальный механизм Доступа к Данным с помощью системы Visual FoxPro, и обычно содержат внутренние вызовы соответствующих функций API Visual FoxPro. Как правило, функции из библиотек (.fll) предназначены для расширения возможностей системы Visual FoxPro, в отличие от библиотек типа (.dll), которые могут использоваться любой программой ОС Windows. Из ваших Приложений, функции библиотек (.fll) могут быть вызваны как обычные стандартные или пользовательские функции системы Visual FoxPro.

Перед использование Внешних Библиотек, вам необходимо выполнить все требования и соглашения по Доступу к внешним Контролам, Объектам и Функциям. Например, если вам требуется использовать в вашей Форме некоторый Контрол ActiveX, вы должны знать все требуемые Свойства, События и Методы этого Контрола, с помощью которых вы можете управлять этим Контролом. Для краткого изучения характеристик Контролов ActiveX, вы можете использовать системное средство Visual FoxPro Class Browser, с помощью которого определяется весь спектр Интерфейса с внешним Объектом (Контролом). Аналогично, другой пример, если вам требуется вызвать некоторую функцию из внешней Библиотеки (.dll), вы должны знать полное (точное) имя требуемой Функции, общее количество и Типы обязательных передаваемых Параметров, а также тип возвращаемого Значения. В основном, краткое описание функции и передаваемых параметров вы можете получить в соответствующей Документации по Библиотеке или в подсистеме Help. Дополнительную информацию о стандартных функциях из системных библиотек (.dll) ОС Windows вы можете получить из стандартных Software Development Kit (SDK), входящих в стандартную поставку вашей версии ОС Windows или свободно загружаемые с соответствующих страниц Web Компании MicroSoft.

См. также

Задачи

Как: Подключить внешние Контролы и Объекты ActiveX
Как: Подключить внешние Динамические Библиотеки (Dynamic-Link Libraries) - .DLL
Как: Подключить библиотеки системы Visual FoxPro

Другие ссылки

Расширение функциональных возможностей Visual FoxPro с помощью Внешних Библиотек
Подключение подсистемы Visual FoxPro API

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


How to: Access ActiveX Controls and Objects

Visual FoxPro 9.0
Как: обращаться к элементам управления ActiveX и объектам
Смотрите также

Вы можете использовать любой элемент управления ActiveX, который доступен на вашем компьютере. Для использования элемента управления ActiveX введите его в форму, затем установите его свойства, напишите обработчик для его событий или вызывайте его методы. Вы можете добавить в форму элемент управления ActiveX с помощью панели инструментов Form Controls или , или с помощью элемента управления OLE Container Control, или с помощью кода. Для получения более подробной информации об использовании элементов управления ActiveX в дизайнере форм смотрите описание Совместное использование информации и введение OLE.

Вы можете создать элемент управления ActiveX в коде в общем-то точно также, как вы создаете любой элемент управления Visual FoxPro. Однако, перед создание элемент управления ActiveX вы должны определить имя библиотеки класса элемент управления, которое хранится в регистре Windows. Если вы не знаете или не можете определить имя библиотеки класса элемента, то используйте дизайнер форм для создани элемент управления (как описао выше), и затем получите свойство OLEClass элемент управления ActiveX.

Объекты ActiveX могут быть созданы непосредственно командой CREATEOBJECT( ), и не требуют наличия экземпляра формы.

Для создания элемента управления ActiveX в коде программы

  1. Вызовите функцию CREATEOBJECT( ) для создания формы.

  2. Вызовите метод AddObject Method вновь созданной формы для ввода элемента управления ActiveX, укажите olecontrol в качестве класса. Вы должны послать имя библиотеки класса элемента управления ActiveX в качестве третьего параметра метода AddObject.

Например, приведенная ниже программа создает новую форму и вводит в нее элемент управления ActiveX listview:

CopyCode image Скопировать код
oMyForm = CREATEOBJECT("form")
oMyForm.AddObject("oleListview","olecontrol", ;
   "MSComctlLib.ListViewCtrl")

После того, как вы создали форму и элемент управления, вы можете отобразить их вызвав метод формы Show и отобразить введенный элемент управления ActiveX установкой свойства Visible в true:

CopyCode image Скопировать код
oMyForm.oleListview.Visible = .T.
oMyForm.Show

Некоторые элементы управления ActiveX не разрабатывались для интерактивного использования пользователем. Например, элемент управления timer не поддерживает методов для взаимодействия с пользователем. Даже в таком случае, вы в состоянии создавать элементы управления ActiveX на форме, поскольку такие элементы позволяет сделать видимыми их визуально, с помощью определенных по умолчанию, компонентов, таких как, например, иконка. Чаще всего вам не треуется ни заменять иконку, ни заменять ее размеры.

Если вы не желаете, чтобы ваше приложение отображало иконку для неинтерактивных элементов управления, вы можете скрыть элемент управления с помощью установки свойства Visible содержащего этот элемент OLE контейнера в false, или установить его свойство Left в отрицательное значение (такое, как, например –100), что переместит его за видимую часть экрана. Кроме того, вы можете поместить элемент управления в форму, которая никогда не будет видимой (то есть, для которой никогда не будет вызван метод Show). В таких случаях у вас по-прежнему остается возможность вызывать методы элемента управления, как в случае, если бы он был видимым.

Смотрите также

Задачи

Как: обращаться к Dynamic-Link Libraries
Как: обращаться к библиотекам Visual FoxPro

Справочное руководство

Функция CREATEOBJECT()

Концепции

Обращение к внешним библиотекам

Прочие ресурсы

Расширение Visual FoxPro с помощью внешних библиотек
Обращение к Visual FoxPro API
Совместное использование информации и введение OLE

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Access Dynamic-Link Libraries

Visual FoxPro 9.0
Как: обращатсья к библиотекам DLL
Смотрите также

Если требуемая вам функциональная возможность доступна в какой-то DLL, вы можете установить связи с библиотекой и вызывать ее функции. До вызова функции DLL вы должны определить протокол ее вызова, включая имя функции, число и типы данных ее параметров и тип данных возвращаемого ею значения.

В Visual FoxPro, вы можете использовать только те DLL, которые написаны для 32-битной среды. Однако, если вам требуется доступ к 16-битной DLL, вы можете вызвать ее, используя функции доступные в Foxtools.fll. Для получения более подробной информации смотри справку, поставляемую для Foxtools (Foxtools.chm).

Для вызова функции DLL

  1. Зарегистрируйте функцию DLL с помощью команды DECLARE - DLL. Имена функций чувствительны к разряду! Помните об этом!

    Note Замечание

    Если вы указали WIN32API в качестве имени библиотеки, Visual FoxPro производит поиск функции в 32-bit Windows DLL библиотеках Kernel32.dll, Gdi32.dll, User32.dll, Mpr.dll и Advapi32.dll.

  2. После этого вызовите функцию так, как вы вызываете любую функцию Visual FoxPro.

Например, приведенный ниже пример программы регистрирует функцию GetActiveWindow() из системной библиотеки Windows USER DLL, которая отобразит дескриптор главного окна Visual FoxPro. Функция GetActiveWindow() не требует параметров, но возвращает простое целочисленное значение:

CopyCode image Скопировать код
DECLARE INTEGER GetActiveWindow IN win32api
MESSAGEBOX(STR( GetActiveWindow() ) )

Библиотека DLL, содержащая функцию, которую вы регистрируете, должна быть доступна в каталоге, используемом по умолчанию, или в каталогах Windows или System или в пути, указанном в DOS.

Если функция, которую вы желаете вызывать имеет одинаковое название с доступной родной функцией Visual FoxPro (либо родной функцией или уже зарегистрированной ранее), вы можете функции с дублирующим именем псевдоимя (alias) и при вызове используйте определенное вами псевдоимя.

CopyCode image Скопировать код
DECLARE INTEGER GetActiveWindow IN win32api AS GetWinHndl
MESSAGEBOX(STR( GetWinHndl() ) )

Связанные DLL функции остаются доступными до момента выхода из Visual FoxPro, поэтому вам нужно зарегистрировать их всего лишь однажды. Если у вас отпала необходимость повторных вызовов функций в DLL, вы можете выдать команду CLEAR DLLS для удаления библиотеки из памяти и освобождения ресурсов памяти.

Note Замечание

Выдача команды CLEAR DLLS удаляет из памяти все зарегистрированные функции DLL.

Смотрите также

Концепции

Обращение к внешним библиотекам
Передача параметров в Dynamic-Link Libraries

Прочие ресурсы

Расширение Visual FoxPro с помощью внешних библиотек

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Passing Parameters to Dynamic-Link Libraries

Visual FoxPro 9.0
Передача Параметров в библиотеки .DLL
Смотрите Также

Когда вы регистрируете Функцию из библиотеки .DLL, вам необходимо указать количество и Типы передаваемых Параметров. По-умолчанию, параметры во внешние функции передаются "по-значению". Вы можете определить, что конкретный параметр передается "по-ссылке", для этого при регистрации внешней функции (команда Declare) вам требуется передпараметром указать специальный символ (@).

В основном, для внешних функций DLL применяется общее Соглашение по передаче типов параметров, принятая для Языка программирования "C", которая отличается от используемых традиций в системе Visual FoxPro. Например, обычно функции DLL не поддерживают такие типы данных, как Data или Currency. Если вам требуется передать в функцию DLL параметр некоторого Типа, который не поддерживается данной функцией, вам необходимо выполнить соответствующее преобразование перед передачей параметра. К примеру, параметр типа Data - преобразовать в числовой формат Julian, допустим при помощи следующих строк Программного Кода:

CopyCode image Копировать Код
cDate = sys(11, date())
nDate = val( cDate )

Некоторые внешние функции DLL требуют передачи более сложных параметров: Структур или Массивов. Если внешняя функция требует передачи в качестве параметра некоторый Указатель на Структуру, вы должны предварительно описать и создать указанную Структуру данных в виде символьной строки Visual FoxPro, и только после этого передавать ее указатель в Функцию, это относится также к получению из внешней функции результирующих Значений в виде Структуры. Например, известная системная (Windows) функция API GetSystemTime( ) возвращает указатель на Структуру, содержащую восемь стандартных слов (тип WORD: - 8-мь Бит) или 16-ти битных беззнаковых целых чисел (Inntger), которые содержат соответственно: Год, Месяц, День, час, и так далее - текущего Системного Времени. Далее приводится рассмотренная структура Системного Времени:

CopyCode image Копировать Код
typedef struct _SYSTEMTIME {
 WORD wYear ;
 WORD wMonth ;
 WORD wDayOfWeek ;
 WORD wDay ;
 WORD wHour ;
 WORD wMinute ;
 WORD wSecond ;
 WORD wMilliseconds ;
} SYSTEMTIME

Для обмена данными между системой Visual FoxPro и внешней функцией API GetSystemTime( ), вам требуется создать символьную строку (некоторый Буфер) длиной в 40-к Байт, которая предварительно заполнена пробелами, далее адрес данной строки передается в функцию, которая заполняет соответствующим образом описанную Структуру. Когда данная строка получена, вам нужно выполнить разбор заполненных результирующих значений, как 2-х байтных двоичных Строк - соответствующих полей описанной выше Структуры Системного Времени. Обратите внимание, что длины соответствующих Полей имеют разные Значения. В следующем далее фрагменте программного кода демонстрируется разбор полученной структуры Данных Системного Времени:

CopyCode image Копировать Код
DECLARE INTEGER GetSystemTime IN win32api STRING @
cBuff=SPACE(40)
=GetSystemTime(@cBuff)

tYear = ALLTRIM(STR(ASC(SUBSTR(cBuff,2)) * ;
 256 + ASC(SUBSTR(cBuff,1))))
tMonth = ALLTRIM(STR(ASC(SUBSTR(cBuff,4)) * ;
 256 + ASC(SUBSTR(cBuff,3))))
tDOW = ALLTRIM(STR(ASC(SUBSTR(cBuff,6)) * ;
 256 + ASC(SUBSTR(cBuff,5))))

Дополнительную информацию вы можете получить при рассмотрении примера: Systime.scx, расположенной в подкаталоге Visual FoxPro ...\Samples\Solution\Winapi. Другие примеры использования внешних функций и передачи параметров смотрите в модуле: Registry.prg, который размещен в подкаталоге Visual FoxPro ...\Samples\Classes.

Если данные, с которыми вы работаете в системе Visual FoxPro, представляют собой некоторый Массив, то при необходимости передать Его во внешнюю функцию .DLL вам требуется выполнить преобразование Массива - перевод в символьную моно-строку в стиле языка "C". Если элементы массива являются числовыми значениями, 16-ти битными или 32-х битными, вам предварительно необходимо преобразовать их соответствующие 16-тиричные символьные значения перед тем как они будут помещены в общую символьную строку. Когда вы передаете адрес полученной строки элементов массива из Visual FoxPro во внешнюю функцию, там уже данные обрабатываются как Массив элементов. Пример описанного преобразования вы можете посмотреть в примере формы Syscolor.scx, который размещен в подкаталоге Visual FoxPro ...\Samples\Solution\Winapi.

См. также

Задачи

Как: Подсоединить динамическую Библиотеку .DLL

Другие ссылки

Расширение возможностей Visual FoxPro за счет Внешних Библиотек

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Access a Visual FoxPro Library

Visual FoxPro 9.0
Как: Подключить библиотеку Visual FoxPro
См. также

Библиотеки Visual FoxPro (.fll файлы), а также файлы .dll, содержат функции, которые Вы можете использовать как обычные функции. Передача параметров и получение результатов из этих функций выполняется обычным образом, так как данные библиотеки функций создаются специально для использования в приложениях Visual FoxPro.

Для того чтобы использовать библиотеку Visual FoxPro (файл .fll), нужно объявить ее с помощью команды SET LIBRARY, а затем использовать функции из данной библиотеки обычным образом. В отличие от функций из библиотек .DLL, Вам не нужно регистрировать индивидуальные функции из файла .fll, также не нужно беспокоиться о типах передаваемых параметров и получаемых результата.

Note Примечание

Если Вы хотите использовать .fll-библиотеки из младших версий Visual FoxPro, необходимо перекомпилировать эти библиотеки под версию Visual FoxPro 5.0.

Для вызова .fll-функций

  1. Объявите данную .fll-библиотеку при помощи команды SET LIBRARY.

  2. Выполните необходимую функцию из данной библиотеки обычным образом.

Например, в следующем коде используется функция из библиотеки Foxtools.fll Visual FoxPro, которая определяет тип диска C:

CopyCode image Копировать Код
SET LIBRARY TO "C:\Program Files\Microsoft Visual FoxPro 9.0\Foxtools.fll"
? DriveType("C:")

Если Вам нужно объявить несколько .fll-библиотек, то нужно использовать опцию ADDITIVE в команде SET LIBRARY. Если этого не сделать, то ранее объявленные библиотеки закрываются, активной остается только последняя, объявленная библиотека.

Если имя функции из некоторой библиотеки совпадает с другой функцией, то приоритет имеет последняя объявленная функция. Если имя функции из некоторой библиотеки совпадает с именем стандартной функции VFP, то приоритет имеет стандартная функция.

Объявление .fll-библиотек действует в течение одного сеанса работы системы Visual FoxPro. Если в какой-то момент отпадает необходимость в использовании загруженных библиотек, то занятые ими ресурсы освобождаются при помощи команд RELEASE LIBRARY, RELEASE ALL, или SET LIBRARY.

См. дополнительно команда RELEASE LIBRARY и команда RELEASE.

См. также

Задачи

Как: Подключить библиотеки Dynamic-Link (DLL)
Как: Подключить Контролы и Объекты ActiveX

Концепции

Подключение внешних библиотек

Другие ссылки

Расширение возможностей Visual FoxPro с помощью внешних библиотек
Подключение Visual FoxPro API

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Accessing the Visual FoxPro API

Visual FoxPro 9.0
Подключение Модулей Visual FoxPro API

Если система Visual FoxPro не обладает требуемыми для вашего Приложения Характеристиками или Функционалом, вы можете эффективно использовать Внешние Библиотеки, например такие, как: Контролы Microsoft ActiveX (.ocx) или динамические Библиотеки Visual FoxPro (файлы .FLL).

Система Visual FoxPro располагает подсистемой Library Construction Kit, которая содержит дополнительные файлы Pro_Ext.h, WinAPIMS.lib, или OcxAPI.lib, с помощью которых вы можете создавать внешние Контролы ActiveX или Библиотеки - .FLL.

Note Обратите Внимание

Библиотека Library Construction Kit имеет Ограничение: до 65,000 элементов в одном Массиве.

В данном Параграфе

Создание внешних Библиотек или Объектов типа ActiveX

Рассматриваются вопросы расширения функциональных возможностей системы Visual FoxPro за счет построения внешних Библиотек, которые решают специфические Задачи вашего Приложения.

Как: Создать Базовый Объект типа ActiveX

Объясняются основные положения технологии Создания Контролов ActiveX.

Создание внешних динамических Библиотек в Visual FoxPro

Приводится Информация об основных моментах создания внешних динамических Библиотек с помощью системы Visual FoxPro.

Описание Структуры FoxInfo

Рассматриваются вопросы построения структуры FoxInfo, которая используется для осуществления взаимодействия между внутренними функциями Visual FoxPro и внешними, создаваемыми Библиотеками FLL.

Описание Структуры FoxTable

Рассматриваются вопросы построения структуры FoxTable, которая отслеживает все структуры типа FoxInfo, которые созданы в описании внешней Библиотеке.

Как: Добавить (использовать) вызовы Модулей Visual FoxPro API

Объясняется, как вы можете интегрировать ваши внешние Библиотеки с функционалом системы Visual FoxPro с помощью соответствующего использования Модулей Visual FoxPro API.

Параметры во Внешних Библиотеках

Рассматриваются вопросы передачи необходимых параметров во Внешние Библиотеки, используемые для выполнения специфических Опреаций.

Как: Возвращать (получать) Значения из Контролов ActiveX или библиотек .FLL

Рассматриваются вопросы возврата (или получения) результирующих Значений из Внешних Библиотек.

Передача Параметров в Функции Visual FoxPro API

Объясняется, как Модули Visual FoxPro API получают параметры, сгруппированные в соответствующие Структуры Данных Visual FoxPro.

Доступ к Переменным и Полям Visual FoxPro

Рассматриваются вопросы получения доступа к Переменным или Полям системы Visual FoxPro из ваших Контролов ActiveX или внешних функций .FLL.

Управление Блоками Памяти с помощью модулей Visual FoxPro API

Объясняется, как с помощью Модулей Visual FoxPro API управлять Оперативной Памятью Рабочей Станции.

Как: Управлять Оперативной Памятью

Рассматриваются вопросы, как Модули Visual FoxPro API обеспечивают доступ к Диспетчеру Динамической Памяти Visual FoxPro.

Как: Компилировать и Отлаживать внешние Библиотеки или Контролы типа ActiveX

Объясняется, как выполнять основные Этапы Создания и Отладки контролов ActiveX или Библиотек .FLL.

Связанные Разделы

Получение Доступа к API

Обсуждаются основополагающие Вопросы возможностей Расширения ваших Приложений с помощью внешних Контролов типа Microsoft ActiveX или внешних динамических Библиотек Visual FoxPro (файлов типа .FLL).

Расширение функциональных возможностей системы Visual FoxPro с помощью внешних Библиотек

Объясняется, как вы можете добавить в ваше Приложение внешний Контрол Microsoft ActiveX (из файла типа .ocx); данный Контрол может быть размещен в Форме, или использоваться в пользовательских Классах; данные Контролы обрабатываются как обычные, внутренние Классы Visual FoxPro. Кроме того, вы можете использовать внешние динамические Библиотеки Функций Visual FoxPro (FLL), которые после соответствующего Декларирования, могут использоваться как внутренние, стандартные функции VFP.

Основные Конструкции Модулей Библиотеки API

Приводится справочная Информация о Модулях Библиотеки API, Системных Событиях, и Кодах Клавиш.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Library or ActiveX Object Creation

Visual FoxPro 9.0
Создание Библиотек и Объектов ActiveX
См. Также

Вы можете значительно расширить функциональные возможности ваших Приложений Visual FoxPro при использовании программных компонент, созданных на языке программирования C или C++. Например, если вашему приложению требуется прямой доступ к внутренним ресурсам и компонентам операционной системы Windows, вы можете создать программные модули на языке C или C++, которые обращаются к механизму ОС Windows API, и после этого возвращают требуемые результаты в Приложение Visual FoxPro.

Вы можете создавать три (3) типа программных компонент для прямого доступа к механизму Visual FoxPro API:

  • Как Контрол ActiveX (файл .ocx).

  • Как Объект COM.

  • Как динамическую библиотеку .DLL, предназначенную для приложений Visual FoxPro. Данная библиотека DLL может быть вызвана только из приложений Visual FoxPro, что обеспечивает использование библиотек типа .fll, как библиотек DLL.

Какждый из перечисленн вариантов имеет свои преимущества. Контролы ActiveX имеют следующие отличительные черты:

  • Может использоваться стандартной технологией Объектно-Ориентированного Программирования, где управление Свойствами и вызов Методов осуществляется обычным образом.

  • Допускает СубКлассирование и переопределение программного кода Методов.

  • Допускает Инкапсуляцию и многократное использованиен экземпляров классов без глубокой проработки ядра Объекта.

  • Обеспечивает простейший механизм передачи параметров в методы и События.

  • Допускает использование данных Контролов из других Приложений ОС Windows, если ваша программа (библиотека) была разработана в этих целях.

Объекты COM имеют следующие отличительные черты и преимущества:

  • Также обеспечивает стандартный механизм доступа методами Объектно-Ориентированного Программирования к основным Свойствам иМетодам данных Объектов.

  • Методы Объекта могут быть переопределены.

  • Допускает Инкапсуляцию и многократное использование экземпляров классов без сложного управления средой системы.

  • Обеспечивает простейший механизм передачи параметров.

  • Может быть использован в других приложениях ОС Windows, если данный объект был разработан в данных целях.

Динамические библиотеки (.fll) обеспечивают наилучший вариант использования внутренних возможностей младших версий Visual FoxPro.

См. также

Задачи

Как: Создавать Базовые Объекты ActiveX

Концепции

Создание динамических библиотек (DLL) в Visual FoxPro

Другие ссылки

Доступ к Механизму Visual FoxPro API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Create a Basic ActiveX Object

Visual FoxPro 9.0
Как: Создать базовый Объект ActiveX
См. также

Вы можете создавать Объекты COM, используемые в других Пиложениях; для этого используется Механизм ActiveX Template Library, который поддерживается системой Microsoft® Visual C++.

Вы можете создать Контролы Microsoft ActiveX, специфичные для системы Visual FoxPro, которые являются совместимыми с обычными системными Контролами. При использовании Компилятора C++ создаются общие Структуры Контролов ActiveX, как и при использовании системы Microsoft Visual Basic Control Creation Edition.

В последующих пунктах рассматриваются Вопросы и детальные Шаги по созданию Контролов ActiveX при помощи системы Microsoft Visual C++ 6.0, которые могут быть использованы в Visual FoxPro.

Для создания Проекта будущего Контрола (объекта) ActiveX

  1. Запустите Систему Microsoft Visual C++.

  2. Из системного меню File, выберите пункт New.

  3. В активированном диалоговом боксе New, выберите подраздел Project Workspace.

  4. В открывшемся диалоговом боксе New Project Workspace, задайте имя Нового Проекта.

  5. В Списке Type, выберите пункт OLE ControlWizard.

  6. Далее: кнопка Create, и следуйте инструкциям, предлагаемым данным Мастером.

После завершения работы рассматриваемого Мастера, вы можете сразу использовать созданный объект ActiveX. Однако, вам нужно также определить необходимые Свойства и Методы данного Контрола.

Для добавления Свойств и МетодовTo в Контрол ActiveX

  1. Из системного меню View, выберите пункт ClassWizard.

  2. Активируйте закладку OLEAutomation.

  3. Выберите кнопку Add Method или Add Property (добавить, определить Свойство или Метод).

  4. Определите Имя Элемента (свойства/метода), параметры и другую необходимую информацию, в конце нажмите кнопку OK.

  5. Нажмите кнопку Edit Code - для активации окна Редактора, в котором введите требуемых программный Код для создаваемого Элемента.

Например, для создания свойства Version, которое определяет версию создаваемого файла Контрола (.ocx), которая является целым числом (к примеру = 101), вам требуется определить указанное Свойство: определить его Тип long, и ввести следующий Код:

CopyCode image Копировать Код
#define VERSION 101

long CPyCtrl::GetVersion()
{
 // set the version number here
 return VERSION;
}

В силу того, что, обычно номер Версии является Свойством с характеристикой "только-чтение", вам не потребуется создавать Метод-функцию SetVersion( ).

См. также

Задачи

Как: Добавить вызов функции Visual FoxPro API

Концепции

Создание OLE-библиотек или Объектов ActiveX
Создание динамических библиотек .DLL Visual FoxPro

Другие ссылки

Подключение Инструментария Visual FoxPro API
Расширение возможностей Visual FoxPro при помощи внешних Библиотек

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Creating Visual FoxPro Dynamic-Link Libraries

Visual FoxPro 9.0
Создание Visual FoxPro Dynamic-Link Libraries
Смотрите также

Visual FoxPro dynamic-link library (FLL) представляют собой, по сути, DLL, которая содержит вызовы Visual FoxPro API. Вы можете создать базовую структуру DLL в вашей среде разработки и, затем, добавить функции Visual FoxPro, которые вы желаете вызывать. В приведенных ниже разделах описан пример шаблона, для создания шаблонов в C и C++.

Установка шаблона библиотеки

Каждая FLL библиотека Visual FoxPro имеет одну и ту же базовую структуру. Вы можете использоть шаблон структуры, после чего вам нужно будет только добавить код для вашей конкретной процедуры библиотеки.

В шаблоне библиотеки Visual FoxPro имеется пять элементов:

  • Предложение #include.

  • Определение функции.

    Определение функции имеет пустое возвращаемое значение и получает параметр ParamBlk *parm. Для получения более подробной информации о параметре ParamBlk смотрите описание Параметры во внешних библиотеках.

  • Код функции.

  • Структура FoxInfo.

    Функции в FLL общаются с Visual FoxPro через структуру FoxInfo. Visual FoxPro uиспользует FoxInfo для определения имени функции и типа параметров.

  • Структура FoxTable.

    Структура FoxTable представляет собой список указателей, который отслеживает структуры FoxInfo.

Для получения более подробной информации об опредедениях структур FoxInfo и FoxTable посмотрите содержимое файла Pro_ext.h.

Вы потребуются, кроме того, перечисленные ниже файлы:

  • Заголовочный файл Pro_ext.h.

    Вы можете распечатать этот файл для просмотра деклараций функции, определений типов typedefs и структур, используемых в Visual FoxPro API.

  • Файл Winapims.lib.

Оба эти файла размещзены в каталоге Microsoft Visual FoxPro ..\Samples\API.

Образец шаблонов

Для процедур C, вы можете использовать приведенный ниже шаблон:

CopyCode image Скопировать код
#include <Pro_ext.h>

void Internal_Name(ParamBlk *parm)
{
// Function code goes here.
}

FoxInfo myFoxInfo[] = {
   {"FUNC_NAME", (FPFI) Internal_Name, 0, ""},
};

FoxTable _FoxTable = {
   (FoxTable *)0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Для пароцедур C++, вам необходимо декларировать структуру FoxTable как внешнюю в приведенном ниже шаблоне:

CopyCode image Скопировать код
#include <Pro_ext.h>

void Internal_Name(ParamBlk  *parm)
{
// Function code goes here.
}

   FoxInfo myFoxInfo[] = {
      {"FUNC_NAME", (FPFI) Internal_Name, 0, ""},
   };

extern "C" {
   FoxTable _FoxTable = {
      (FoxTable *)0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
   };
}

Смотрите также

Задачи

Как: добавить вызовы Visual FoxPro API

Справочное руководство

Структура FoxInfo
Структура FoxTable

Прочие ресурсы

API Library Construction
Доступ к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FoxInfo Structure

Visual FoxPro 9.0
Структура FoxInfo
Смотрите также
CollapseAll image

Структура FoxInfo используется для связи с именами функций и описаниями параметров между Visual FoxPro и вашей библиотекой FLL.

Приведенный ниже код иллюстрирует синтаксис для структуры FoxInfo:

CopyCode image Скопировать код
FoxInfo arrayname[ ] = {
   {funcName1, FPFI function1, parmCount1, parmTypes1}
   {funcName2, FPFI function2, parmCount2, parmTypes2}
      . . .
   {funcNameN, FPFI functionN, parmCountN, parmTypesN}
};

В приведенной ниже таблице описываются параметры в этой структуре.

Параметр Описание

arrayname

указывает переменную типа FoxInfo.

Note Замечание

Вы можете включить в этот массив несколько структур FoxInfo.

funcName

Содержаит имя, которое использует пользовать Visual FoxPro для вызова вашей функции.

function

Указывает адрес вашей процедуры в языке C. Это имя (регистро-чувствительное) в точности повторяет то, что вы определили для вашей функции.

parmCount

Указывает число параметров, описанных в строке parmTypes string или одно из перечисленных ниже значений флажков. :

  • INTERNAL

    определяет, что функция не может быть вызвана непосредственно из Visual FoxPro.

  • CALLONLOAD

    указывает, что процедура вызывается при загрузке библиотеки. CALLONLOAD не может вызывать никакую процедуру, которая возвращает результат в Visual FoxPro.

  • CALLONUNLOAD

    указывает, что процедура вызывается при выгрузке библиотеки или когда выдана команда Visual FoxPro QUIT. CALLONUNLOAD не может вызывать никакую процедуру, которая возвращает результат в Visual FoxPro.

parmTypes

Описывает тип данных каждого параметра.

Ниже перечислены допустимые значения для parmTypes.

  • " "

    нет параметра.

  • "?"

    определяет, что может быть послан любой тип параметра. В теле функции вам нужно будет проверить тип переданного параметра.

  • "C"

    определяет тип параметра, как Character.

  • "D"

    определяет тип параметра, как Date.

  • "I"

    определяет тип параметра, как Integer.

  • "L"

    определяет тип параметра, как Logical.

  • "N"

    определяет тип параметра, как Numeric.

  • "R"

    ссылка.

  • "T"

    определяет тип параметра, как DateTime.

  • "Y"

    определяет тип параметра, как Currency

  • "O"

    определяет тип параметра, как Object
Note Замечание

Включите значение типа для каждого параметра, посылаемого библиотеке. Для указания того, что параметр является необязательным, предварите его символом точки (.). Пропущены могут быть только завершающие параметры.

Например, предположим, что вы создали функцию, которая может принимать в виде параметра и символьную строку, и число. Когда вы будете определять parmType, используйте "CN".

Приведенный ниже пример структуры FoxInfo определяет библиотеку с одной функцией, которая внутренне называется dates, а вызывается извне , как DATES. Структура принимает один параметр типа Character:

CopyCode image Скопировать код
FoxInfo myFoxInfo[] = {
   { "DATES", (FPFI) dates, 1, "C" }
};

После того, как вы скомпилируете свою FLL библиотеку с этой структуров FoxInfo и загрузите ее в Visual FoxPro с помощью команды SET LIBRARY, вы можете вызвать эту функцию в Visual FoxPro приведенной ниже строкой кода:

CopyCode image Скопировать код
=DATES("01/01/95")

Expand image Смотрите также

Задачи

Как: добавить вызовы Visual FoxPro API

Концепции

Создание библиотек Visual FoxPro Dynamic-Link Libraries

Прочие ресурсы

Конструирование библиотеки API
Доступ к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FoxTable Structure

Visual FoxPro 9.0
Структура FoxTable
Смотрите также
CollapseAll image

Структура FoxTable представляет собой список связей, которые поддерживают отслеживание всех структур FoxInfo, которые имеются для конкретной библиотеки.

Приведенный ниже код показывает синтаксис для структуры FoxTable:

CopyCode image Скопировать код
FoxTable _FoxTable = {nextLibrary, infoCount,infoPtr};

В приведенной ниже таблице описываются параметры в этой структуре.

Параметр | Описание
nextLibrary | Определяет указатель, внутренне используемый Visual FoxPro и который должен инициализирован в 0.
infoCount | Указывает число внешних процедур Visual FoxPro, определенной в этой библиотеке.
infoPtr | Указывает адрес первого элемента массива FoxInfo структур. Это имя должно соответствовать имени массива, приведенного в списке предложения FoxInfo.

Приведенный ниже пример иллюстрирует предложение FoxTable. Если имя вашего массива FoxInfo, скажем, определено как myFoxInfo, вам никогда не потребуется изменять это предложение:

CopyCode image Copy Code
FoxTable _FoxTable = {
   (FoxTable  *) 0,
   sizeof( myFoxInfo) / sizeof( FoxInfo ),
   myFoxInfo
};

Visual FoxPro захватывает General Protection Faults (GPFs) в элементах управления ActiveX, помещенных на форму, или COM объектов, экземпляры которых созданы внутри Visual FoxPro. GPF в элементах ActiveX или COM объектах не обрабатываются как перемещаемая по иерархии ошибка Visual FoxPro (Error 1440 - OLE object might be corrupt).

Expand image Смотрите также

Задачи

Как: добавить вызовы Visual FoxPro API

Концепции

Создание библиотек Visual FoxPro Dynamic-Link Libraries

Прочие ресурсы

Конструирование API Library
Доступ к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Add Visual FoxPro API Calls

Visual FoxPro 9.0
Как: добавить вызовы Visual FoxPro API
Смотрите также

Для интеграции вашей программы с Visual FoxPro, вы можете вызывать процедуры Visual FoxPro API. Эти процедуры API представляют собой функции, которые вы можете вызвать из любой программы, написанной на C или C++, включая файл .ocx или .fll, который даст вам доступ к переменным, операциям управления базами данных и выполнения многих других характерных для Visual FoxPro задач.

В приведенной ниже таблице перечислены общие категории вызовов API, доступных в Visual FoxPro. Для получения более подробной информации об индивидуальных функциях API смотрите описания Процедуры библиотеки API от A до Z или Процедуры библиотеки API по категориям.

Для использования процедур FoxPro API, вы должны включить файл Pro_ext.h, доступный в каиалоге Visual FoxPro API. Этот файл включает в себя прототипы функций и структур, которые позволят вам использовать информацию совместно с Visual FoxPro.

Если вы пишите элемент управления ActiveX, вы должны, кроме того добавить вызовы для инициализации и очистки API.

Чтобы добавить процедуры Visual FoxPro API в ваш объект ActiveX

  1. Используйте #INCLUDE чтобы включить файл Pro_ext.h среди других требумых заголовочных файлов.

  2. В Constructor (метод Init) элемента управления вызовите _OCXAPI( ) для инициализации интерфейса в Visual FoxPro с помощью приведенного ниже кода:

    CopyCode image Скопировать код
    _OCXAPI(AfxGetInstanceHandle(),DLL_PROCESS_ATTACH);

  3. Включите вызов Visual FoxPro API какэто требуется в вашем объекте.

  4. В Destructor (метод Destroy) объекта снова вызовите _OCXAPI( ) для высвобождения процесса, созданного в Constructor, с помощью приведенного ниже кода:

    CopyCode image Скопировать код
    _OCXAPI(AfxGetInstanceHandle(),DLL_PROCESS_DETACH);

В качестве примера библиотеки .fll, которая включает в себя вызовы Visual FoxPro API, посмотрите на пример программы в каталоге \Api\Samples, который имеет расширение C: EVENT.C, HELLO.C и тому подобные.

Если вы используете вызовы Visual FoxPro API в вашем элементе управления ActiveX, COM-объекте или в библиотеке .fll, код, содержащий вызовы яаляется несовместимым с другими приложениями. Поэтому вам может потребоваться собрать один или более тестов в программе, для определения возможности вызова объекта из Visual FoxPro.

Например, если вы создаете элемент управления ActiveX, используя Microsoft Foundation Classes, вы можете изменить код конструктора элемента управления для включения теста, который предупредит пользователя, если элемент управления вызывается не из Visual FoxPro:

CopyCode image Скопировать код
if (!_OCXAPI(AfxGetInstanceHandle(),DLL_PROCESS_ATTACH))
{
   ::MessageBox(0,"This OCX can only be hosted by Visual Foxpro","",0);
      //Здесь вы можете делать все, что угодно в случае, когда хостом не является VFP:
      // вы можете отклонить загрузку или вы можете установить свойство, указывающее,
      // хост не является VFP и элемент управления будет использовать другое средство
      // для достижения требуемой цели.
}

Если вы создаете элемент управления ActiveX, используя Microsoft ActiveX Template Library, используйте приведенный ниже код:

CopyCode image Скопировать код
if (!_OCXAPI(_Module.GetModuleInstance(),DLL_PROCESS_ATTACH))
{
   ::MessageBox(0,"This OCX can only be hosted by Visual Foxpro","",0);
      //Здесь вы можете делать все, что угодно в случае, когда хостом не является VFP:
      // вы можете отклонить загрузку или вы можете установить свойство, указывающее,
      // хост не является VFP и элемент управления будет использовать другое средство
      // для достижения требуемой цели.

}

Выбранная вами стратегия зависит от того, как вы предугадаете использование элемента управления. Например, если вы определили, что элемент управления используется вне Visual FoxPro, вы можете установить флаг, который вы проверяете на каждой точке в элементе управления, в которой вы вызываете Visual FoxPro API. Если флаг указывает, что элемент управления находится вне Visual FoxPro, вы можете разветвить вызов API на альтернативное средство, позволяющее выполнить аналогичную задачу.

Смотрите также

Задачи

Как: возвратить значения из элементов управления ActiveX и библиотек FLL

Концепции

Создание Visual FoxPro Dynamic-Link Libraries
Параметры во вненшних библиотеках

Прочие ресурсы

Доступ к Visual FoxPro API
Расширение Visual FoxPro с помощью внешних библиотек
Конструирование API Library

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Parameters in External Libraries

Visual FoxPro 9.0
Параметры во Внешних Библиотеках
См. также

Вы можете передавать аргументы в качестве параметров когда вызываете из Visual FoxPro элемент управления ActiveX, COM-объект или динамически подключаемую библиотеку Visual FoxPro (FLL). Например, элемент управления ActiveX может принять аргументы при вызове одного из его методов. По аналогии, программа Visual FoxPro может вызвать функцию в своей библиотеке FLL и передать ей аргументы.

Visual FoxPro может передавать аргументы через параметры внешней библиотеки по значению и по ссылке. По умолчанию считается заданной команда SET UDFPARMS. Однако, некоторые переменные, такие как массивы, поля и выражения, передаются по значению. Более подробно о том, как изменить умалчиваемое значение для передачи аргументов, можно узнать в Passing Data to Parameters (Передача Данных через Параметры).

Ввиду того, что элементы управления ActiveX и COM объекты являются стандартными программами Windows, нет специальных механизмов по передаче в их параметры аргументов из программ Visual FoxPro. Код передачи аргументов библиотеке FLL можно писать так, как будто аргументы передаются из программ, написанных на языках C или C++.

Однако, функции библиотеки FLL используют FoxInfo структуру для получения аргументов из Visual FoxPro. FoxInfo структура включает в себя список функций библиотеки, количество и тип параметров, которые ожидает получить. Например, следующая FoxInfo структура принадлежит библиотеке с одной функцией, имеющей внутреннее имя dates, которая получает один Character параметр:

CopyCode image Копировать код
FoxInfo myFoxInfo[] = {
   { "DATES", (FPFI) dates, 1, "C" }
};

Функции, которые вы определяете во внешней библиотеке в действительности получают только один параметр - указатель на блок параметров. Блок параметров, определенный в структуре ParamBlk, хранит всю информацию о параметрах, которые были переданы из функции вызова Visual FoxPro. Следующий код иллюстрирует формат, которому должна следовать ваша декларируемая функция:

CopyCode image Копировать код
void function_name(ParamBlk *parm)

Например, определение функции dates выглядит так:

CopyCode image Копировать код
void dates(ParamBlk *parm)

Структура ParamBlk состоит из целого, которое представляет собой количество параметров, со следующим за ним массивом объединенного параметра. Определение структуры включено в Pro_ext.h:

CopyCode image Копировать код
/* Список параметров для библиотечной функции */
typedef struct {
   short int pCount;      /* количество переданных параметров */
   Parameter p[1];         /* pCount parameters */
} ParamBlk;

Тип Parameter, включенный в структуру ParamBlk, является объединением структуры Value и структуры Locator. Вызов по значению оперирует со структурой Value, а вызов по ссылке - со структурой Locator. Эту структура предназначена для доступа к параметрам, переданным вашей функции при ее вызове из Visual FoxPro.

Следующая информация, выделенная из файла Pro_ext.h, показывает определение типа Parameter:

CopyCode image Копировать код
/* Параметр для библиотечной функции */
typedef union {
   Value val;
   Locator loc;
} Parameter;

Определение Структуры Value

Если параметр передан в вашу функцию по значению, то для доступа к нему используйте структуру Value. Следующая структура Value выделена из файла Pro_ext.h:

CopyCode image Copy Code
// Значение выражения.
Typedef struct {
   char         ev_type;
   char         ev_padding;
   short         ev_width;
   unsigned      ev_length;
   long         ev_long;
   double         ev_real;
   CCY         ev_currency;
   MHANDLE      ev_handle;
   ULONG         ev_object;
} Value;

Value Structure Fields

Следующая таблица является справочником по значениям, которые Вы можете передать и получить в структуре Value для различных типов данных. Только указанные поля структуры могут быть использованы для этого типа данных.

Содержание структуры Value для различных типов данных
Тип данных | Поле структуры | Значение
Character | ev_type | 'C'
 | ev_length | длина строки
 | ev_handle | MHANDLE для строки
Numeric | ev_type | 'N'
 | ev_width | Ширина отображения
 | ev_length | Десятичные разряды
 | ev_real | Двойная точность
Integer | ev_type | 'I'
 | ev_width | Высота отображения
 | ev_long | Длинное целое
Date | ev_type | 'D'
 | ev_real | Дата1
Date Time | ev_type | 'T'
 | ev_real | Дата + (секунды/86400.0)
Currency | ev_type | 'Y'
 | ev_width | Ширина отображения
 | ev_currency | Денежное значение2
Logical | ev_type | 'L'
 | ev_length | 0 or 1
Memo | ev_type | 'M'
 | ev_wdith | FCHAN
 | ev_long | Длина memo-поля
 | ev_real | Смещение memo-поля
General | ev_type | 'G'
 | ev_wdith | FCHAN
 | ev_long | Длина поля general
 | ev_real | Смещение поля general
Object | ev_type | 'O'
 | ev_object | идентификатор объекта
Null | ev_type | '0' (zero)
 | ev_long | Тип данных

1. Дата представлена как номер дня в Юлианском календаре с двойной точностью и с плавающей точкой, вычисленный с использованием Алгоритма 199 из Коллекции Алгоритмов ACM.
2. Денежное значение - это длинное целое с неявной десятичной точкой перед последними четырьмя цифрами.

Note Замечание

ev_length - это только указатель истинной длины строки. Строка не может заканчиваться символом конца строки, поскольку сама может содержать вложенные null символы.

Определение Структуры Locator

Используйте структуру Locator для манипулирования параметрами переданными по ссылке. Следующая структура Locator выделена из файла Pro_ext.h:

CopyCode image Copy Code
typedef struct {
  char  l_type;
  short l_where, /* Database number or -1 for memory */
  l_NTI,      /* Variable name table offset*/
  l_offset,  /* Index into database*/
  l_subs,  /* # subscripts specified 0 <= x <= 2 */
  l_sub1, l_sub2; /* subscript integral values */
} Locator;

Locator Structure Fields

Следующая таблица является справочником по полям структуры Locator.

Поле Locator'а | Применение поля
l_type | 'R'
l_where | Номер таблицы, содержащей это поле или -1 для переменной.
l_NTI | Имя Табличного Индекса. Для внутреннего применения Visual FoxPro.
l_offset | Номер поля в таблице. Для внутреннего применения Visual FoxPro.
l_subs | Только для переменных - число индексов (0 - 2).
l_sub1 | Только для переменных - первый индекс, если l_subs не равен 0.
l_sub2 | Только для переменных - первый индекс, если l_subs не равен 2.
Note Замечание

Хорошей манерой при программировании является проверка типа параметра в ev_type для того, чтобы определять какие поля доступны из структуры Value.

Пример Организации Доступа к Параметрам в Библиотеке FLL

В следующем примере _StrCpy( ) используется для возврата в Visual FoxPro типа Character, который является конкатенацией двух Character параметров. Обратите внимание на то, что хотя описатель каждого параметра структуры Value использован как рабочая память для выполнения конкатенации, изменения в распределении этой памяти не влияют на аргумент Visual FoxPro, который был передан по значению.

(The following example uses _StrCpy( )to return a Character type to Visual FoxPro that's the concatenation of its two Character parameters. Notice that although the handle of each parameter's Value structure is used as working memory to perform the concatenation, changes to this memory allocation don't affect the Visual FoxPro argument that was passed by value.)

CopyCode image Копировать код
#include <Pro_ext.h>

Example(ParamBlk *parm)
{
// сделаем структуру paramBlk легко управляемой путем
// использования клавишных комбинаций, определенных в #define
#define p0 (parm->p[0].val)
#define p1 (parm->p[1].val)

// убедимся, что памяти достаточно
if (!_SetHandSize(p0.ev_handle, p0.ev_length + p1.ev_length))
   _Error(182); // "Недостаточно памяти"

// заблокируем описатели (lock the handles)
_HLock(p0.ev_handle);
_HLock(p1.ev_handle);

// преобразуем описатели в указатели и убедимся (convert handles to pointers and make sure the )
// что строки оканчиваются символом конца строки (омstrings are null-terminated)
((char *)_HandToPtr(p0.ev_handle))[p0.ev_length] = '\0';
((char *)_HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

// конкатенируем строки, используя API-функцию _StrCpy
_StrCpy((char *)_HandToPtr(p0.ev_handle) + p0.ev_length,
_HandToPtr(p1.ev_handle));

// возвратим конкатенированную строку Visual FoxPro
_RetChar(_HandToPtr(p0.ev_handle));

// разблокируем описатели (unlock the handles)
_HUnLock(p0.ev_handle);
_HUnLock(p1.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"STRCAT", Example, 2, "CC"},
};

FoxTable _FoxTable = {
   (FoxTable *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

См. также

Задачи

Руководство: Добавление API Вызовов в Visual FoxPro
Руководство: Возврат Значений из Элементов Управления ActiveX и FLL Библиотек

Ссылка

Передача параметров в Visual FoxPro API Функции

Other Resources

Подключение Visual FoxPro API
Расширение Visual FoxPro Внешними Библиотеками
Построение API Библиотеки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


How to: Return Values from ActiveX Controls and FLL Libraries

Visual FoxPro 9.0
Как: вернуть значения из элементов управления ActiveX Controls и FLL библиотек
Смотрите также

Вы можете возвращать значения из элементов управления ActiveX или Visual FoxPro dynamic-link libraries (FLL) в Visual FoxPro.

Для возврата значений из элементов управления ActiveX в Visual FoxPro

  • Используйте в элементе управоения команду RETURN и отправьте единичное значение.

Приведенный ниже пример использует команду RETURN для возврата номера версии, хранимой в VERSION:

CopyCode image Скопировать код
#define VERSION 101

// здесь может располагаться другой код

long CPyCtrl::GetVersion()
{
   // установите здесь номер версии в переменной fVersion
   возвратите VERSION;
}

Возврат значений из FLL библиотек

Когда вы желаете вернуть значения из FLL библиотек, используйте функции API, а не родные команды C или C++.

Note Замечание

Когда возвращаете значения из файла элемента управления ActiveX control (.ocx), не используйте функции API для возврата значений из FLL библиотек. Вместо этого используйте команду RETURN.

Для возврата значений из FLL библиотеки

  • Используйте функции API, перечисленные в приведенной ниже таблице.

Приведенные ниже функции API должны использоваться только для FLL библиотек.

Функция | Описание
_RetChar(char *string) | Устанавливает возвращаемое функцией значение в строку с нуль-терминатором.
_RetCurrency(CCY cval, int width) | Устанавливает возвращаемое функцией значение в денежную едииницу.
_RetDateStr(char *string) | Устанавливает возвращаемое функцией значение в дату. Дата указывается в формате mm/dd/yy[yy].
_RetDateTimeStr(char *string) | Устанавливает возвращаемое функцией значение в дату и время, указаннные в формате mm/dd/yy[yy] hh:mm:ss.
_RetFloat(double flt, int width, int dec) | Устанавливает возвращаемое функцией значение в значение с плавающей запятой.
_RetInt(long ival, int width) | Устанавливает возвращаемое функцией значение в численное значение.
_RetLogical(int flag) | Устанавливает возвращаемое функцией значение в логическое значение. Нуль рассматривается как FALSE. Любое ненулевое значение рассматривается как TRUE.
_RetVal(Value *val) | Посылает завершенную структуру Visual FoxPro Value; любой тип данных Visual FoxPro, за исключением мемо, который может быть возвращен. Вы должны вызвать _RetVal( ) для возврата строки, которая содержит вложенные null-символы или возвращает значение .NULL..
Note Замечание

Для возврата значения типа данных "объект" используйте функцию the _RetVal(), с заполненным полем ev_object в структуре Value.

В приведенном ниже пример Sum, принимает ссылку на численное поле в таблице и использует _RetFloat для возврата суммы значений в поле:

CopyCode image Скопировать код
#include <Pro_ext.h>

Sum(ParamBlk *parm)
{
// декларация переменных
double tot = 0, rec_cnt;
int i = 0, workarea = -1; // -1 является текущей рабочей областью
Value val;

// GO TOP
_DBRewind(workarea);

// Get RECCOUNT( )
rec_cnt = _DBRecCount(workarea);

// Проходим по таблице
for(i = 0; i < rec_cnt; i++)
{
   //Помещаем значение поля в структуру Value
   _Load(&parm->p[0].loc, &val);

   // добавляем значение для подсчета общей суммы
   tot += val.ev_real;

   // SKIP 1 in the workarea
   _DBSkip(workarea, 1);
}

// Возвращаем значение суммы в Visual FoxPro
_RetFloat(tot, 10, 4);
}
// Функция Sum принимает один параметр Reference
FoxInfo myFoxInfo[] = {
   {"SUM", Sum, 1,"R"}
};
FoxTable _FoxTable = {
   (FoxTable *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Предположим, что в текущей открытой таблице имеется численное поле с именем amount ; приведенная ниже строка кода в прорамме Visual FoxPro вызовет функцию:

CopyCode image Скопировать код
? SUM(@amount)

Смотрите также

Справочное руководство

Пересылка параметров функциям Visual FoxPro API

Концепции

Параметры во внешних библиотеках
Доступ к переменным и полям Visual FoxPro

Прочие ресурсы

Доступ к Visual FoxPro API
Расширение Visual FoxPro с помощью внешних библиоте
Конструировани библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Passing Parameters to Visual FoxPro API Functions

Visual FoxPro 9.0
Передача Параметров Visual FoxPro API Функциям
Смотрите Также
CollapseAll image

Часто Visual FoxPro API процедуры требуют параметры определенной структуры данных Visual FoxPro. Следующие разделы предоставляют перечень типов данных Visual FoxPro и дополнительных структур данных. Описания существующих типов и структур смотрите в файле Pro_ext.h.

Expand image Типы Данных Visual FoxPro API

Следующие типы данных используются в Visual FoxPro API процедурах.

Тип данных | Описание
EDLINE | Количество строк в открытом файле в окне редактирования. Первая линия - номер 1.
EDPOS | Указатель смещения символа в открытом файле в окне редактирования. Для первого символа в файле или поле типа memo - это 0.
FCHAN | Канал (channel) файла. Для каждого файла, открытого с помощью Visual FoxPro или API при использовании функций _FCreate( ) и _FOpen( ), назначается FCHAN.
FPFI | 32-битовый указатель (pointer) на возвращаемое функцией целого значения.
ITEMID | Уникальный идентификатор, присвоенный каждому пункту меню.
MENUID | Уникальный идентификатор, присвоенный меню.
MHANDLE | Уникальный идентификатор, присвоенный каждому блоку памяти, зарезервированному с помощью Visual FoxPro или API используя функцию _AllocHand( ). Этот идентификатор может быть преобразован в указатель (pointer), используя функцию _HandToPtr( ).
NTI | Название индекса таблицы. У каждой переменной и названия поля таблицы имеется вход в этой таблице.
WHANDLE | Дескриптор окна. Уникальный идентификатор, определенный для каждого окна, открытого при помощи Visual FoxPro или API функцией _WOpen( ).
Note Примечание

Так как, FAR указатели (pointers) не предназначены для 32-битовых компеляторов, то команды #define в файле Pro_ext.h переопределяют FAR, _far и __far как пустые значения.

Expand image Структуры Данных Visual FoxPro API

Исходные структуры данных, используемые в Visual FoxPro API библиотеке, перечислены в следующей таблице.

Структура | Описание
EventRec | Структура применяется для описания того, что выполняет система в заданный момент времени.
FoxInfo | Используется в FLL библиотеках для взаимодействия Visual FoxPro и вашей программы; не применяется в .ocx файлах.
FoxTable | Используется в FLL библиотеках для взаимодействия Visual FoxPro и вашей программы; не применяется в .ocx файлах.
Locator | Структура используется для доступа к значениям параметров (FLL) или к Visual FoxPro переменным и полям (FLL и OCX).
ParamBlk | Используется в FLL библиотеках для взаимодействия Visual FoxPro и вашей программы; не применяется в .ocx файлах.
Parameter | Используется в FLL библиотеках для взаимодействия Visual FoxPro и вашей программы; не применяется в .ocx файлах.
Point | Структура, которая определяет горизонтальную и вертикальную координаты определенной точки на экране. Координаты определены как номера строк и колонок.
Rect | Структура, которая определяет координаты прямоугольника на экране. Верхний левый угол прямоугольника задается (top,left) и нижний правый угол - (bottom-1,right-1). Координаты определены как номера строк и колонок.
Value | Структура используется для доступа к значениям параметров (FLL) или к Visual FoxPro переменным и полям (FLL и OCX).

Expand image Смотрите Также

Задачи

Как: Вернуть значения из ActiveX объектов и FLL библиотек
Как: Управлять памятью

Концепции

Доспут к переменным Visual FoxPro и полям

Другие Ресурсы

Доступ к Visual FoxPro API
Расширение возможностей Visual FoxPro при помощи внешних библиотек
Конструкция API библиотеки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Access to Visual FoxPro Variables and Fields

Visual FoxPro 9.0
Доступ к переменным и полям Visual FoxPro
Смотрите также

Вы можете обращаться к значениям переменных или полей Visual FoxPro в ваших элементах ActiveX или FLL функции, как для чтения их, так и для установки. В дополнение к этому, вы можете создавать новые переменные, которые могут быть доступны из Visual FoxPro.

Переменные и поля сделаны в Visual FoxPro доступными через таблицу имен, которая представляет собой массив, содержащий имена всех текущих определенных переменных и полей. Вы можете обращаться к индивидуальным элементам в массиве используя индекс таблицы имен (NTI). Специальная функция API, _NameTableIndex(), возвращает индекс существующей переменной или поля, на основе предоставленного вами имени. После того, как вы определите NTI для данной переменной, вы можете прочитать ее с помощью API функции _Load() или установить ее значение с помощью API функции _Store( ). Для создания новой переменной вы можете вызвать API функцию _NewVar().

Для обращения к переменным или полям Visual FoxPro, вы используете структуры Value м Locator, определенные в файле Pro_ext.h. Если вы создаете FLL-библиотеку, вы можете использовать те же самые способы, которые вы используете для обращения к параметрам, посланным в ваши функции. За более подробной информацией о структурах Value и Locator обратитесь к описанию Параметры во внешних библиотеках.

Приведенный ниже пример иллюстрирует, каким образом вы можете использовать структуры Value и Locator в элементе ActiveX для доступа к переменным Visual FoxPro.

CopyCode image Скопировать код
long CFoxtlibCtrl::TLGetTypeAttr(long pTypeInfo, LPCTSTR szArrName)
{
  int nResult = 1;
  TYPEATTR *lpTypeAttr;
  Locator loc;
  Value val;
  OLECHAR szGuid[128];
  char *szBuff;
__try {
   if (_FindVar(_NameTableIndex(( char *)szArrName),-1,&loc)) {
      ((ITypeInfo *)pTypeInfo)->GetTypeAttr(&lpTypeAttr);
      if (_ALen(loc.l_NTI, AL_ELEMENTS) < 16) {
         _Error(631); //Array argument not of proper size.
      }

      //1 = Guid
      StringFromGUID2(lpTypeAttr->guid, (LPOLESTR )&szGuid,sizeof(szGuid));
      OLEOleToAnsiString(szGuid,&szBuff);
      val.ev_type = 'C';
      val.ev_length = strlen(szBuff);
      val.ev_handle = _AllocHand(val.ev_length);
      _HLock(val.ev_handle);
      _MemMove((char *) _HandToPtr( val.ev_handle ), szBuff, val.ev_length);
      OLEFreeString((void **)&szBuff);
      _HUnLock(val.ev_handle);
      loc.l_sub1 = 1;
      _Store(&loc,&val);
      _FreeHand(val.ev_handle);

      //2 = LCID
      loc.l_sub1 = 2;
      val.ev_type = 'I';
      val.ev_long = lpTypeAttr->lcid;
      _Store(&loc,&val);

      // code for values 3 - 16 here
      ((ITypeInfo *)pTypeInfo) -> ReleaseTypeAttr(lpTypeAttr);
      }
   } __except  (EXCEPTION_EXECUTE_HANDLER) {
      nResult = 0;
   }
return nResult;

Смотрите также

Задачи

Как: управлять памятью
Как: собрать и отладить библиотеки и элементы ActiveX

Справочное руководство

Пересылка параметров в функции Visual FoxPro API
_NameTableIndex( ) API Library Routine

Прочие ресурсы

Обращение к Visual FoxPro API
Расширение Visual FoxPro с помощью внешних библиотек

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Memory Management Using the Visual FoxPro API

Visual FoxPro 9.0
Управление Памятью с помощью механизма Visual FoxPro API
См. Также

Внутренний механизм Visual FoxPro API обеспечивает прямой доступ к Менеджеру динамической памяти Visual FoxPro (Dynamic Memory Manager). Модули API запрашивают Блоки Памяти в качестве Дескрипторов блоков (указателей), которые в дальнейшем используют. Система Visual FoxPro использует в своей деятельности архитектуру Сегментной Загрузки (Segment-Loading Architecture) для распределения Дескрипторов Блоков, вместо обычных указателей, что значительно Эффективнее при использовании Памяти.

Дескриптор блока памяти является, по-сути, индексом в массиве Указателей (Index in an Array of Pointers). Координата каждого Указателя на блок памяти известна системе Visual FoxPro. Почти все ссылки на указатели блоков памяти в модулях API заменены описанными выше Дескрипторами, в отличие от стандартных указателей языка "C".

Понимание Стэка (Understanding Stacks)

Создаваемый вами Контрол или Библиотека не имеет свой собственный Стэк Памяти. Вместо этого, они используют Стэки вызываемых Программ или, в крайнем случае, стэк системы Visual FoxPro. Однако, вы не можете управлять размером используемого Стэка Visual FoxPro или влиять на используемый размер памяти контролами ActiveX или библиотеками FLL.

В обычных условиях данные различия не имеют особого значения. Система Visual FoxPro имеет достаточно большой размер Стэка для размещения всех необходимых вам переменных, используемых в Контроле или Библиотеке. Если места в Стэке недостаточно, вы всегда можете динамически перераспределить блоки памяти.

Правила по использованию Дескрипторов (Handles)

Следующие правила применяются при Размещении или Освобождении Дескрипторов блоков Памяти:

  • Пользователь должен освобождать все используемые Дескрипторы блоков памяти, включая и те, которые созданы функциями типа _Load().

  • _Load() только создает Дескриптор блока, когда вы загружаете в переменную символьные данные (например: ev_type = 'C'). Все другие типы Данных помещают значения в структуру Value, после загрузки реальных данных указатель на структуру помещается в MHANDLE как элемент значения ev_handle.

  • В библиотеках FLL, система Visual FoxPro сама отвечает за освобождение всех используемых Дескрипторов, возвращаемых функцией _RetVal( ). Пользователь не должен освобождать эти Дескрипторы, хотя он их и создавал

  • Пользователь не должен освобождать Дескрипторы блоков, полученные через механизм ParamBlk.

    Caution note Обратите Внимание

    Когда вы создаете внешние Приложения, использующие вызовы внутренних функций API, обязательно проверяйте выполнение всех правил обработки данных в Памяти, а также возвращаемые Значения. Ошибочный или неверный указатель на блок памяти или Дескриптор может привести к разрушению внутренних структур памяти системы Visual FoxPro, что приведет к Аварийному завершению работы Системы, чревато потерей важных Данных.

См. также

Задачи

Как: Управлять Памятью (компьютера)

Другие ссылки

Возможность Доступа к механизму Visual FoxPro API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


How to: Manage Memory

Visual FoxPro 9.0
Руководство: Управление Памятью
См. также

Вы можете распределять память и управлять ею с помощью Visual FoxPro API.

Note Замечание

Описанные методы относятся как к элементам управления ActiveX так и FLL-библиотекам.

Чтобы распределять и использовать память

  1. Распределите дескриптор с помощью _AllocHand( ).

  2. Заблокируйте дескриптор с помощью _HLock( ).

  3. Преобразуйте дескриптор в указатель с помощью _HandToPtr( ).

  4. Сошлитесь на память, используя указатель.

  5. Разблокируйте дескриптор с помощью _HUnLock( ).

    Note Замечание

    Для того, чтобы избежать разрушения memo-файла, не делайте запись в memo-файл перед вызовом функции _AllocMemo( ).

Для того, чтобы обращаться к распределенной памяти, Ваши API-программы должны преобразовать дескриптор в указатель, вызывая для этого программу _HandToPtr( ). Даже если менеджеру памяти Visual FoxPro нужно будет реорганизовывать память для того, чтобы при последующих ее запросах получать больший участок непрерывной памяти, дескриптор останется тем же. Программы, которые наращивают, уменьшают, освобождают и блокируют распределение памяти тоже имеются в Вашем распоряжении.

Когда Вы создаете внешние программы, пытайтесь минимизировать использование памяти. Если Вы создаете внешнюю программу, которая динамически распределяет память, пытайтесь использовать наименьший объемдоступной памяти. Быть особенно осторожными при блокировке больших объемов памяти на длительные периоды времени. Не забывайте разблокировать дескриптор памяти с помощью _HUnLock( ) когда блокировка больше не нужна, поскольку от этого может снизится производительность Visual FoxPro.

Caution note Предупреждение

Чрезмерное использование динамической памяти лишает Visual FoxPro памяти для буферов, окон, меню и т.д. и снижает его производительность, поскольку памятьдля выполнения API отдается из резервов самого Visual FoxPro. Распределяя много дескрипторов и удерживая их может привести к тому, что Visual FoxPro будет сам испытывать недостаток в памяти и завершится ненормально. Среда Visual FoxPro не имеет защиты памяти. Внешняя API- программа не может обеспечить все подтверждения достоверности, которые присущи стандартной программе Visual FoxPro. Если Вы повредите память, то получите такие сообщения как"Transgressed handle" ("Нарушение дескриптора"), "Internal consistency error" ("Внутренняя ошибка из-за несовместимости") или "Transgressed node during compaction" ("Нарушение точки пересечения во время уплотнения":).

Следующее функции из библиотеки FLL иллюстрирует распределение памяти. Пример использует _RetDateStr( ), чтобы возвратить в Visual FoxPro тип Даты (допустим что Character-параметр является соответствующей датой):

CopyCode image Копировать код
#include <Pro_ext.h>

void dates(ParamBlk  *parm)
{
   MHANDLE mh;
   char *instring;

   if ((mh = _AllocHand(parm->p[0].val.ev_length + 1)) == 0) {
      _Error(182); // "Не хватает памяти"
   }
   _HLock(parm->p[0].val.ev_handle);
   instring = _HandToPtr(parm->p[0].val.ev_handle);
   instring[parm->p[0].val.ev_length] = '\0';
   _RetDateStr(instring);
   _HUnLock(parm->p[0].val.ev_handle);
}
FoxInfo myFoxInfo[] = {
   {"DATES", (FPFI) dates, 1, "C"}
};
FoxTable _FoxTable = {
   (FoxTable *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

См. также

Понятия

Управление Памятью с Помощью Visual FoxPro API

Другие ресурсы

Организация доступа к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Build and Debug Libraries and ActiveX Controls

Visual FoxPro 9.0
Как: Собрать и Отладить Библиотеку или Контрол типа ActiveX
См. также

После создания вашего Проекта в системе Visual Studio, вы можете выполнить Сборку и Отладку разрабатываемого Модуля. В данном параграфе рассматриваются ключевые вопросы использования системы Visual Studio 6.0. Дополнительную информацию о специальных особенностях смотрите в Технической Документации.

Сборка Проекта

Перед тем, как выполнить Сборку вашего Проекта, вам необходимо выполнить настройку специальных параметров рассматриваемого Проекта. Некоторые параметры, которые вы изменяете, влияют на свойства создаваемого Модуля, предназначенного либо для Отладки, либо он уже является готовой Компонентой: Библиотекой функций или Контролом типа ActiveX. Как правило, сначала рекомендуется создавать Отладочную версию, а после удовлетворительной Отладки - создавать конечный, пользовательский вариант разрабатываемого Модуля.

Для определения Версии Отладки или Версии Готовой Компоненты:

  1. В системном меню Build (Сборка), выберите подпункт Set Default Configuration (Установить Текущую Конфигурацию).

  2. Выберите требуемый Вариант: Отладочный или Готовая Компонента.

  3. Нажмите кнопку OK.

Для Установки параметров Проекта:

  1. В системном меню Build (Сборка), выберите подпункт Settings (Установки, Параметры).

  2. В Подразделе: Settings For (Параметры Для), выберите требуемый вариант: Отладочный или Готовая Компонента.

  3. Активируйте закладку C/C++, и установите следующие параметры:

    • В списке Category (Категории), выберите Опцию Code Generation (Генерация программного Кода).

    • В списке Calling Convention (Вызов Соглашений), выберите вариант: _fastcall.

    • В списке Use run-time library (Используемая библиотека), выберите вариант - Многопоточная: Multithreaded DLL.

  4. Далее, активируйте закладку Link, и в текстовом Боксе Object/Library Modules, укажите одну из следующих Библиотек:

    • Если создаете Контрол ActiveX (.ocx) - выберите OCXAPI.LIB из соответствующего подкаталога Visual FoxPro API.

    • Если создаете библиотеку Функций (.fll) - выберите WINAPIMS.LIB из соответствующего подкаталога Visual FoxPro API.

  5. Снимите отметку в Контроле-Переключателе: Ignore all default libraries (Игнорировать все Библиотеки "по-умолчанию").

  6. Нажмите кнопку OK.

Для проверки того, что Компилятор сможет найти все требуемые файлы:

  1. В системном меню Tools (Инструменты), выберите подраздел Options (Опции, Параметры).

  2. Активируйте Закладку Directories (Подкаталоги).

  3. В списке Show directories for (Показать Подкаталоги Для...), выберите опцию Include files (Файлы Расширений).

  4. В тулбаре Directories, нажмите кнопку Add (Добавить).

  5. Выберите подкаталог, где размещается файл: Pro_ext.h.

  6. В списке Show directories for, выберите опцию: Library files (Файлы Библиотек).

  7. В тулбаре Directories, нажмите кнопку Add.

  8. Выберите подкаталог, содержащий файл: Ocxapi.lib, это есть соответствующая папка Visual FoxPro API (при создании модуля .OCX); или выберите подкаталог, содержащий файл: Winapims.lib (при создании модуля .FLL).

  9. В активном диалоговом боксе Options, нажмите кнопку OK.

После выполнения описанных выше настроек вы можете Компилировать проект и осуществлять Соединение составных частей создаваемого Модуля (Compile / Link).

Для выполнения Компиляции и Сборки компоненты типа .ocx :

  • В системном меню Build, выберите подпункт: Build projname.ocx (Сборка Контрола).

Когда выполняете компиляцию и сборку модуля типа .ocx, система Visual C++автоматически регистрирует данный Контрол в системном Реестре Windows для компьютера, где выполняется указанная Сборка. Если, по какой-либо Причине, вам требуется в-ручную выполнить Регистрацию создаваемого Контрола, вы можете использовать следующий Сценарий.

Для Регистрации Контрола типа ActiveX:

  1. В системном меню Tools подсистемы: Microsoft Development Environment, выберите подпункт: Register Control (Регистрация Контрола).

    -или-

  2. Используйте объявление и выполнение внутреннего модуля Регистрации: DLLRegisterServer( ), который должен существовать в каждом Модуле рассматриваемого Типа.

Отладка Контрола типа ActiveX или Библиотеки функций .FLL в контексте полного, готового Приложения Visual FoxPro значительно труднее и менее качественнее, чем отладка из специального отладочного модуля. Данная Рекомендация является хорошим подспорьем для создания указанного специализированного отладочного модуля Тестирования разрабатываемой Компоненты.

Выполнение процессов Отладки с помощью подсистемы: Microsoft Development Environment

Система Microsoft Visual C++, версии 4.0, и выше имеет в своем составе Интегрированную подсистему Отладки с широкими возможностями по управлению контрольными точками отлаживаемого Модуля и обеспечения по-шагового выполнения Фрагментов программного Кода. Вы можете даже выполнить Visual FoxPro в среде Отладки Visual C++.

Для Запуска процесса Отладки Модуля с использованием Microsoft Visual C++ :

  1. В системном меню Build, выберите подпункт: Settings.

  2. В активированном диалоговом боксе Project Settings (Параметры Проекта), активируйте закладку Debug (Отладка).

  3. В текстовом боксе: Executable for debug session (Программа для сеанса Отладки), введите полный путь и имя главного исполняемого файла Visual FoxPro (executable - (.exe)). Например, вы можете ввести конкретный исполняемый модуль, который удовлетворяет следующему абстрактному Шаблону:

    C:\Program Files\Microsoft Visual FoxPro <номер версии>\Vfp<номер версии>.exe

  4. Нажмите кнопку OK.

  5. Установите Контрольные Точки в программном Коде вашей Библиотеки.

  6. В системном меню Build, выберите подпункт Debug. И далее, в дополнительном подменю - подпункт: Go.

  7. Когда подсистема Visual Studio отобразит дополнительный Диалоговый Бокс " VFP9.exe не содержит Отладочной Информации ?" выберите вариант - Yes (Да), (и продолжайте Отладку Приложения).

Дополнительную информацию по выполнению Отладочных Процедур смотрите в Технической Документации по системе: Visual C++ .

Выполнение Отладочных Процедур с помощью Других Отладчиков.

Вы можете также выполнить требуемые Отладочные процедуры для разрабатываемого Контрола или Библиотеки с помощью другого Отладчика, который корректно обрабатывает прерывание INT 3 (_BreakPoint( )), которое может быть внедрено в программные коды ваших Модулей. Вы можете использовать любой Отладчик, который поддерживает "Символическую" Отладку, которая предполагает следующие ключевые моменты:

  • Создание Символьной Таблицы из общей Карты исходного программного файла.

  • Возможность загрузки созданной Символической Таблицы независимо от отлаживаемого программного файла.

  • Возможности перемещения специализированных Символов по новому Адресу программного Кода.

Для Отладки создаваемой Библиотеки:

  1. Подключите вызов функции _BreakPoint( ) в тех местах Модуля, где планируется процесс Отладки Библиотеки.

  2. Выполните Сборку Контрола или Библиотеки.

  3. Запустите ваш Отладчик (Debugger).

  4. Если ваш Отладчик поддерживает Cимволы, загрузите Таблицу Символов для вашей Библиотеки.

  5. Активируйте систему Visual FoxPro.

  6. Выполните вызов отлаживаемой Библиотеки из системы Visual FoxPro.

  7. Когда достигается Контрольная Точка, внесите изменения в базовый символ Смещения, характеризующий текущее местоположение Программного Кода отлаживаемой Библиотеки.

  8. Увеличивайте значение указателя (IP) на единицу (1), чтобы обеспечить пропуск инструкции INT 3.

  9. Продолжайте отладку вашей Библиотеки, как обычного Программного Модуля.

    Note Обратите Внимание

    Всегда удаляйте ваши Контрольные Точки в Отладчике перед подготовкой ваших Компонент к передаче конечному Пользователю.

См. также

Задачи

Как: Управлять Блоками Памяти
Как: Возвратить Значение из Контрола ActiveX или Библиотеки .FLL

Концепции

Доступ к Переменным и Полям Visual FoxPro

Другие ссылки

Подключение функций Visual FoxPro API
Расширение возможностей Visual FoxPro с помощью Внешних Библиотек

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Create Quit Routines

Visual FoxPro 9.0
Как: Создать модуль завершения
См. также

Вы можете создать пользовательский модуль обработки процесса завершения работы Вашего приложения, системы Visual FoxPro, или Microsoft Windows.

Для создания модуля завершения

  • Используйте команду ON SHUTDOWN для указания программы или процедуры, которые будут выполняться при завершении работы приложения.

Обычно в команде ON SHUTDOWN указывается команда DO для запуска пользовательского модуля обработки завершения приложения. Например, в следующем случае, вызывается на выполнение модуль: My_QuitRoutine:

CopyCode image Копировать Код
ON SHUTDOWN DO My_QuitRoutine

Обычно, модуль завершения содержит диалоговый бокс с вопросом о завершении работы приложения. Если пользователь положительно отвечает на поставленный вопрос, то далее следуют команды закрытия файлов таблиц, восстановления переменных среды, и команда QUIT. Если пользователь не желает завершить работу, то данный модуль возвращает управление данному приложению.

См. дополнительно: Команда ON SHUTDOWN.

См. также

Другие ссылки

Работа с программами
Программирование в системе Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Development Productivity Tools

Visual FoxPro 9.0
Инструментальные средства повышения производительности разработки
Смотрите также

Visual FoxPro, как и прежде, обеспечивает разработчика эффективными инструментальными средствами создания приложений. Расширены режимы и языковые возможности объектно-ориентированного программирования. Эта версия Visual FoxPro включает ориентированные на создание Web-приложений средства языка и инструментальные средства.

В этом разделе

Краткий обзор IntelliSense

Описываются возможности IntelliSense: каким образом в Visual FoxPro отображается информация во всплывающих окнах и раскрывающихся списках, которые помогают разработчику быстро завершать синтаксис команд и функций и отображают доступные переменные, объекты, их свойства, методы, и события.

Использование галереи компонентов

Описывается галерея компонентов, представляющая собой контейнер для объектов программного обеспечения, таких как библиотеки классов, формы, кнопки и т. п.

Анализатор эффективности кода Coverage Profiler Application

Описывается приложение Coverage, которое записывает информацию о строках кода в файл, которые будут исполнены, а также приложение Profiler, которое предоставляет информацию о том, какие строки кода исполняются реально, сколько раз была исполнена строка, продолжительность исполнения и т. п.

Программные утилиты

Описываются инструментальные средства Microsoft Visual FoxPro, позволяющие ускорить процесс разработки пользовательского приложения.

Как: настроить Toolbox

Описывается, каким образом настроить Toolbox, чтобы ускорить доступ к наиболее часто используемым инструментальным средствам.

Как: использовать диспетчер списка задач Task List Manager

Описывается, как использовать Task List Manager для отслеживания ярлыков, определенных пользователем, ссылающихся на конкретную строку кода и отслеживать другие пользовательские задачи.

Как: создавать закладки и ярлыки списка задач

Обсуждается, как использовать закладки и ярлыки списка задач в окне редактирования для более легкого управления Вашим кодом во время программирования и устранения ошибок.

Настройка менеджера списка задач Task List Manager

Описывается, каким образом настроить вид Task List Manager.

Использование обозревателя объекта Object Browser

Описывается, каким образом использовать Object Browser, для просмотра информации о компонентах, таких как объекты, классы, свойства, методы и события.

Как: использовать командное окно

Описывается командное окно, которое может использоваться для выполнения кода. После ввода команды Visual FoxPro в окне, она немедленно выполняется.

Как: Использовать службу доступа Accessibility Browser

Обсуждается использование Accessibility Browser для получения дополнительной информации при разработке приложений для людей с ограниченной трудоспособностью.

Как: Использовать автоматизированные средства тестирования Automated Test Harness

Предлагается информация о средствах Automated Test Harness, которые могут использоваться для выполнения сценариев, позволяющих автоматизировать тестирование вашего приложения.

Смежные разделы

Настройка среды Visual FoxPro

Описывается, каким образом можно индивидуально настроить среду разработки после установки Visual FoxPro. Параметры настройки среды включают заголовок главного окна, директорию по умолчанию, проект, редактор, опции отладчика и инструментов формы, хранилище временных файлов и многое другое.

Разработка приложений Visual FoxPro

Содержит концептуальную информацию о разработке приложения Visual FoxPro, о командах для создания баз данных и пользовательского интерфейса, и других вопросах, связанных с созданием приложения Visual FoxPro.

Программирование в Visual FoxPro

Обсуждаются вопросы наиболее полного доступа к возможностям Visual FoxPro при создании приложений. Понимание методов объектно-ориентированного программирования и событийно-управляемой модели позволит максимально увеличить производительность Вашего программирования.

Смотрите также

Справочное руководство

Папка XSource

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


IntelliSense Overview

Visual FoxPro 9.0
Общий обзор IntelliSense

В период разработки, функциональные возможности IntelliSense в Visual FoxPro помогают вам завершить программный синтаксис в то время, как вы печатаете код, показывая синтаксис языка Visual FoxPro и перечень доступных элементов, значений свойств, последних используемых файлов, наименований таблиц, наименований полей и переменных.

В Этом Разделе

IntelliSense поддержка в Visual FoxPro

Описывает уровень и диапазон IntelliSense поддержки в Visual FoxPro.

IntelliSense завершение синтаксиса

Описывает, как IntelliSense помогает вам завершить программный синтаксис Visual FoxPro, когда вы печатаете код.

IntelliSense автоматическое отображение MRU (Most Recently Used) - последних используемых файлов

Описывает, как IntelliSense показывает перечень доступных и последних используемых (MRU) файлов, при печати определенных команд Visual FoxPro.

IntelliSense автоматическое отображениы названий таблиц, полей и переменных

Описывает, как IntelliSense отображает названия таблиц, полей и переменных при печати определенных команд Visual FoxPro.

Как: Активизировать или блокировать IntelliSense

Описывает, как включать и выключать IntelliSense.

Как: Просмотривать IntelliSense при написании кода

Описывает, как просматривать функциональные возможности IntelliSense при написании кода.

Как: Настроить IntelliSense

Описывает, как задать настройки, которые влияют на доступность и проявление функциональных возможностей IntelliSense.

Персональная настройка IntelliSense в Visual FoxPro

Описывает, как настроить под пользователя функциональные возможности IntelliSense.

Связанные Разделы

Инструменты продуктивной разработки

Описывает инструменты Visual FoxPro, которые вы можете использовать при разработке программного приложения.

Методы менаджера проектов

Описывает, как программно обратиться к проектам, чтобы управлять проектами как объектами.

Автоматическое выполнение определенной последовательности нажатий клавишь при помощи макро

Описывает, как вы можете записать и сохранить последовательность нажатий клавишь используя макро, чтобы автоматизировать выполнение этой последовательности в приложениях или при неоднократно повторяющемся использовании одной и той же последовательности нажатий клавишь.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


IntelliSense Support in Visual FoxPro

Visual FoxPro 9.0
Поддержка IntelliSense в Visual FoxPro
Смотрите также

Visual FoxPro включает в себя поддержку IntelliSense для его родных элементов языка, таких как команды и функции, а также для классов, объектов-экземпляров классов, их свойств и событий, визуальных объектов, системных переменных _VFP и _SCREEN, элементов управления Microsoft ActiveXи COM серверов. Кроме того, вы можете добавить поддержку IntelliSense для зарегистрированных библиотек классов, типов, определенных пользователем, а также для элементов кода, перечисляемых значений и настраиваемых классов.

Приведенный ниже список описывает некоторые места, в которых Visual FoxPro осущевляет поддержку IntelliSense:

  • Окна, в которых вы можете пачатать код, такие как Command, редакторы файлов program (.prg), окна редактирования кода (дизайнеры форм и классов), а также окно Watch в отладчике (Debugger) Visual FoxPro.

    Замечание Замечание

    Для окна Watch в отладчике (Debugger) Visual FoxPro. осуществляется ограниченная поддержка IntelliSense. Для получения более подробной информации смотрите описание Структура таблицы IntelliSense. IntelliSense поддерживается для существующих в программных файлах (.prg) элементов, таких как ссылки на класс, элементов управления ActiveX и COM серверов только для случая, когла эти элементы строго типизированы. Для получения более подробной информации смотрите описание задачи Как: применить строгую типизацию для кода класса, объекта и переменной.

  • Контейнеры и элементы управления в дизайнерах Visual FoxPro таких, как дизайнер форм.

В приведенной ниже таблице сведены места, где для конкретных элементов Visual FoxPro доступен IntelliSense.

Элемент Visual FoxPro | Редактор Visual FoxPro | Окно Code | Окно Command
_SCREEN | A | A | A
_VFP / Приложения | A | A | A
Созданные экземпляры классов - инстанциированные объекты |  |  | A
Визуальные объекты | S | A |
Ссылки на класс | S | S |
Элементы управления ActiveX | S | A |
COM серверы | S | S |
THIS, THISFORM, THISFORMSET | S | A |
Имена таблиц и полей |  |  | A
Определенные пользователем | A | A | A

A = все подходящие члены S = только для членов со строгой типизацией

Поддержка IntelliSense в Runtime

Избранные возможности IntelliSense доступны и в run time в распространяемых приложениях Visual FoxPro 9.0. IntelliSense может быть явно управляем в run time посредством скриптов FoxCode. Смотрите описание Настройка IntelliSense в Visual FoxPro в справке для получения дополнительной информации о том, как добавить IntelliSense в ваши распространяемые приложения.

В приведенной ниже таблице перечислены функциональные возможности IntelliSense, которые доступны в run time.

Возможность Описание

Редактор, открываемый с помощью команды MODIFY COMMAND

Раскраска синтаксиса доступна только в редакторе, открываемом командой MODIFY COMMAND. Раскраска синтаксиса поддерживается, даже если выключен перенос слов.

List Members

Доступен только через объект oFoxCode в скрипте FoxCode.

Quick Info

Доступен только через объект oFoxCode в скрипте FoxCode.

Системная переменная _FOXCODE

Доступна в run time, но вы должны установить ее значение в имя файла таблицы, используемой в вашем распространяемом приложении.

Системная переменная _CODESENSE

Доступна в run time. Эта системная переменная содержит имя приложения, которое предоставляет функциональные возможности для IntelliSense Manager. По умолчанию, в качестве приложения используется FoxCode.app, которая, кроме того, содержит библиотеку для общих скриптов FoxCode.

Замечание Замечание

Приложение обычно не требует явной поддержки IntelliSense в run time.

По умолчанию, _CODESENSE содержить в run time пустую строку. Вы должны установить ее значение в имя приложения IntelliSense, используемого в вашем распространяемом приложении.

_VFP.EditorOptions

Свойство EditorOptions не установлено в какое-либо значение в run time. Вы должны явно установить это свойство в run time для включения поддержки IntelliSense.

FoxCode Field Type = C (Command)

Поддерживается в run time.

FoxCode Field Type = F (Function)

Поддерживается в run time.

FoxCode Field Type = U (User)

Поддерживается в run time.

FoxCode Field Type = S (Script)

Поддерживается в run time.

В приведенной ниже таблице перечислены возможности IntelliSense, которые не поддерживаются в run time.

Возможность | Описание
Keyboard Shortcuts | IntelliSense keyboard shortcuts недоступны в run time для функциональных возможностей Automatic List Members, Quick Info или List Values.
Menu Commands | Команды IntelliSense List Members и Quick Info в меню Edit недоступны в в редакторах Visual FoxPro в run time.
Значения списка | Не поддерживается в run time.
Поддержка родных объектов | Не поддерживается в run time.
Типизация переменной | Не поддерживается в run time.
Списко MRU | Не поддерживается в run time.
Тип поля FoxCode = T (Typing) | Не поддерживается в run time.
Тип поля FoxCode = O (COM Typing) | Не поддерживается в run time.
Тип поля FoxCode = P (Property) | Не поддерживается в run time.
Тип поля FoxCode = E (XML) | Не поддерживается в run time.

Смотрите также

Задачи

Как: активировать или заблокировать IntelliSense
Как: увидеть IntelliSense при написании кода

Справочное руководство

Завершение синтаксиса с IntelliSense
Имена IntelliSense Auto Table, Field и Variable
IntelliSense Auto MRU (Most Recently Used) Files

Прочие ресурсы

Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IntelliSense Syntax Completion

Visual FoxPro 9.0
IntelliSense Syntax Completion
Смотрите также
CollapseAll image

Когда вы печатаете код, Visual FoxPro IntelliSense может помочь вам завершить программный синтаксис Visual FoxPro с помощью нижеперечисленных функциональных возможностей:

  • Быстрой информации - Quick Info

  • Списка членов

  • Списка значений

Expand image Быстрая информация - Quick Info

Функциональная возможность Quick Info отображает дополнительную информацию о синтаксисе для элементов языка Visual FoxPro таких, как функции и методы. Например, когда вы печаете функцию SYS() в командном окне, Quick Info отображает список, содержазий доступные элементы синтаксиса, из которого вы можете выбрать требуемый. Когда вы вводите значения аргументов для методов, Quick Info отобразит синтаксис в окне Tip, и следующий элемент появится форматированным в жирном шрифте. Для прочих элементов языка Visual FoxPro таких, как команды, информация о синтаксисе отображается в окне Tip.

Quick Info доступна в любом месте, в котором вы печаете код, таком как окно Command, окна редакторов и кода.

Expand image Список членов

Функциональная возможность "список членов - List Members" отображает список доступных членов для определенных элементов языка Visual FoxPro таких, как системные переменные _VFP и _SCREEN и в более ограниченных местах, списко доступных членов таких, как свойства, методы, события и объекты для экземпляров объектов. Список членов также доступен для визуальных объектов, элементов управления ActiveX, COM серверов, родных классов Visual FoxPro и определенных пользователем членов, когда они являются строго типизированными. Для получения более подрбной информации смотрите Как: применить строгую типизацию для кода класса, объекта и переменной.

Для объектов, созданных в run time функциями такими, как CREATEOBJECT(), CREATEOBJECTEX(), NEWOBJECT() и GETOBJECT( ), IntelliSense заполняет список членов информацией из определений классов или библиотек типов, которые Visual FoxPro ищет в нижеперечисленных местах:

  • Базовые классы объектов Visual FoxPro.

  • Определение класса в памяти в порядке, в котором они загружались.

  • Определение класса в текущей программе.

  • Определение класса в файле библиотеки визуальных классов (.vcx), открытой командой SET CLASSLIB.

  • Определение класса в процедурном файле, открытом командой SET PROCEDURE command.

  • Определение класса в цепочке исполнения программы. Для получения более подрбной информации смотрите описание команды DO.

  • База данных системной регистрации (регистре).

  • Клавишные ключи для Quick Info и List Members.

Expand image Список значений

При программном присвоении значений свойствам объектов, функциональность "список значений" отображает редактор значений, такой как сборщики шрифтов и цветов, или список доступных значений. Список значений доступен для свойств, которые имеют установленный набор значений, а библиотека типов ссылаемого объекта определяет содержание списка значений. Для свойств в библиотеке типов, список членой поддерживает перечни (enumerations).

Expand image Смотрите также

Задачи

Как: активировать или заблокировать IntelliSense
Как: увидеть IntelliSense при наборе кода
Как: установить опции IntelliSense

Справочное руководство

Файлы IntelliSense Auto MRU (Most Recently Used)
Имена IntelliSense Auto Table, Field и Variable

Прочие ресурсы

Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IntelliSense Auto MRU (Most Recently Used) Files

Visual FoxPro 9.0
Список последних использованных Файлов, выводимый IntelliSense
Смотрите также
CollapseAll image

Когда вы печатаете определенные команды Visual FoxPro, вы можете использовать IntelliSense для просмотра списка файлов, к которым вы обращались в последнее время с возможностью их выбора и запуска.

В приведенной ниже таблице перечислены команды и соответствующие им типы файлов по умолчанию, которые были использованы вами в последнее время и которые найдет и отобразит IntelliSense с целью обеспечения их быстрого выбора и запуска.

Команда | IntelliSense отобразит файлы следующих типов
CD | Файлы в текущем каталога или в указанном пути.
DO | .prg, .mpr, .qpr, .fxp, .app, .exe
DO FORM | .scx
LABEL FORM | .frx, .lbx
MODIFY CLASS | .vcx
MODIFY COMMAND | .prg, .mpr, .qpr
MODIFY DATABASE | .dbc
MODIFY FILE | Любые типы файлов и расширений.
MODIFY FORM | .scx
MODIFY LABEL | .lbx
MODIFY MENU | .mnx
MODIFY PROJECT | .pjx
MODIFY QUERY | .qpr
MODIFY REPORT | .frx
MODIFY VIEW | Локальные и удаленные представления.
OPEN DATABASE | .dbc
REPORT FORM | .frx, .lbx
SET DATABASE | .dbc
USE | .dbf, view

Expand image Смотрите также

Задачи

Как: активировать и деактивировать IntelliSense
Как: видеть IntelliSense при написании кода
Как: установить опции IntelliSense

Справочное руководство

Завершение синтаксиса с IntelliSense
Имена IntelliSense Auto Table, Field и Variable

Прочие ресурсы

Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IntelliSense Auto Table, Field, and Variable Names

Visual FoxPro 9.0
IntelliSense Автоматический Показ Имен Таблиц, Полей и Переменных
Смотрите Также
CollapseAll image

Когда вы печатаете определенные команды Visual FoxPro, то IntelliSense показывает названия подходящих тавлиц, полей и переменных.

Expand image Автоматическое отображение названий таблиц и полей

Когда вы работаете с открытой таблицей и печатаете определенные команды и командном окне, то IntelliSense показывает перечень подходящих названий таблиц и полей. Когда вы перемещаетесь по перечню полей, IntelliSense показывает окно подсказки, в котором тип и длина выбранного поля.

В следующей таблице перечислены команды и соответствующие таблицы или поля, которые показывает IntelliSense.

Команда Visual FoxPro | IntelliSense показывает перечень ...
USE или USE tableAlias | таблиц из активной базы данных и список последних используеных (MRU).
REPLACE | полей из таблицы, курсора или представления в текущей рабочей области.
MODIFY MEMO | полей типа Memo из таблицы, курсора или представления в текущей рабочей области.
MODIFY GENERAL | полей типа General из таблицы, курсора или представления в текущей рабочей области.

Expand image Автоматическое отображение имен переменных

Когда вы печатаете букву "m", за которой следует точка (.), в командном окне, IntelliSense показывает перечень всех объявленных и доступных переменных. Когда вы перемещаетесь по этому перечню, IntelliSense показывает окно подсказки со значением выбранной переменной.

Expand image Смотрите Также

Задачи

Как: Активизировать или Заблокировать IntelliSense
Как: Просматреть IntelliSense при Написании Кода
Как: Настроить IntelliSense

Референс

IntelliSense Завершение Синтаксиса
IntelliSense Автоматическое Отображение MRU (Most Recently Used) - Последних Используемых Файлов

Другие Ресурсы

Общий Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


How to: Activate or Disable IntelliSense

Visual FoxPro 9.0
Как: Активировать или Отключить службу IntelliSense
См. также

Вы можете активировать или отключить системное средство IntelliSense при помощи IntelliSense Manager, или программным способом. По-умолчанию, IntelliSense - активирована.

Для отключения или активации службы IntelliSense

  1. В меню Tools, выберите IntelliSense Manager.

  2. В диалоговом боксе IntelliSense Manager, выберите закладку General.

  3. для отключения IntelliSense, снимите отметку Enable IntelliSense.

    -или-

    для активации IntelliSense, установите отметку Enable IntelliSense.

Для управления службой IntelliSense программным способом: установите соответствующее значение свойству EditorOptions глобальной переменной _VFP. См. дополнительно раздел Окно Visual FoxPro IntelliSense Manager и Свойство EditorOptions.

Вы можете также изменять уровень функциональности рассматриваемой службы IntelliSense. Например, если IntelliSense находится в режиме Manual, Вы можете активировать IntelliSense с помощью клавиатурных комбинаций. См. дополнительно раздел Как: Установить значения свойств IntelliSense.

См. также

Задачи

Как: Использовать службу IntelliSense при написании программного кода

Другие ссылки

Общее описание IntelliSense

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


How to: View IntelliSense When Writing Code

Visual FoxPro 9.0
Как: видеть IntelliSense при написании программного кода
Смотри также

Вы можете наблюдать функциональность IntelliSense при печатании программного кода к редакторах Visual FoxPro, окнах программных кодов (в дизайнерах), в командном окне или при отладке кода в окне Watch отладчика (Visual FoxPro Debugger).

Когда значения для "List Members" или "Quick Info" в IntelliSense установлены в "Automatic", функциональность IntelliSense наблюдается в момент, когда нажимаете клавишу активатора. Используемая клавиша активатора зависит от контекста печатаемого программного кода. Когда значения для "List Members" или "Quick Info" в IntelliSense установлены в "Manual", вы можете наблюдать функциональность IntelliSense при нажатии соответствующего клавишного короткого ключа в подходящей позиции курсора. Для получения подробной информации смотрите статью Ключи активатора, навигации и терминатора IntelliSense и Короткие клавиатурные ключи.

В секции, приведенной ниже, описывается: каким образом вы можете наблюдать функциональность IntelliSense при печатании программного кода:

  • Просмотр краткой информации и инфорамции о доступных членах и значений

  • Просмотр файлов, которые были использованы самыми последними (MRU)

  • Просмотр доступных таблиц, полей и переменных

Просмотр краткой инфорамции "Quick Info" и информации о доступных членах и значений

Вы можете видеть краткую информацию (информацию о синтаксисе) или информацию о доступных членах или значений во время печатания программного кода. Для получения подробной информации смотри Завершение синтаксиса с IntelliSense.

Для наблюдения краткой информации для команд

  1. Напечатайте первое слово в команде и нажмите пробел.

    IntelliSense произведет одно из указанных ниже действий, так чтобы вы могли продолжать печатать команду:

    • Вставит часть синтаксиса.

    • Отобразит лист действительных членов, так чтобы вы могли выбрать одного из них.

      Совет:
      Для просмотра списка и наблюдения краткой информации для каждого члена в списке, нажимайте клавиши управления курсором "вниз" - DOWN или "вверх" UP. IntelliSense отобразит окошко подсказки с информацией, если она доступна для каждого члена.

    • Отобразит окошко подсказки с оставшейся частью синтаксиса команды.

  2. Продолжите печатание команды.

    -или-

    Выберите члена двойным щелчком на имени члена. Вы можете также щелкнуть на имени члена и затем нажать клавишу пробела.

    Член команды появится в текущей позиции курсора.

К примеру, предположим, что вы печатаете в командном окне следующую строку кода, завершаемую пробелом (" "):

Скопировать код
ALTER

IntelliSense частично завершит SQL команду ALTER TABLE и отобразит оставшуюся часть синтаксиса в окошке подсказки.

Для просмотра краткой информации о функциях и методах объекта

  1. Напечатайте имя функции или метода объекта и сразу напечайте открывающую полукруглую скобку("(").

    IntelliSense произведет одно из приведенных ниже действий, так чтобы вы смогли продолжить печатание функции или метода:

    • Отобразит окошко подсказки с оставшейся частью синтаксиса. При вводе значения аргумента, синтаксис для следующего аргумента будет отображен жирным шрифтом.

    • Отобразит лист действительных значений, так чтобы вы смогли выбрать одно из них.

      Совет:
      Для просмотра списка и наблюдения краткой информации для каждого члена в списке, нажимайте клавиши управления курсором "вниз" - DOWN или "вверх" UP. IntelliSense отобразит окошко подсказки с информацией, если она доступна для каждого значения.

  2. Продолжите печатание.

    -или-

    Выберите действительное значение двойным щелчком или щелкните на значении и нажмите клавишу пробела.

К примеру, предположим, что вы печатаете в командном окне следующую строку кода, завершаемую пробелом (" "):

Скопировать код
SYS(

IntelliSense отобразит список действительных значений, так чтобы вы смогли выбрать одно из них.

Для получения подробной информации смотри статью Завершение синтаксиса с IntelliSense.

Длс просмотра доступных членов, или системных переменных, или объектов

  1. Напечатайте имя действительной системной переменной или инстанциированного объекта, после чего напечайте точку (.).

    IntelliSense отобразит список действительных членов, так чтобы вы смогли выбрать одного из них.

    Совет:
    Для просмотра списка или краткой информации для каждого члена в списке, нажимайте клавиши управления курсором "вниз" - DOWN или "вверх" UP. IntelliSense отобразит окошко подсказки с информацией, если она доступна для каждого члена.

  2. Для выбора действительного члена, выполните двойной щелчок на имени члена.Вы можете также щелкнуть на имени члена и затем нажать на клавишу пробела.

Например, предположим, что вы желаете программно установить свойство Visible для формы путем печати в командном окне следующей команды:

Скопировать код
oMyForm = CREATEOBJECT("Form")
oMyForm.

Когда вы напечаете точку, следующую непосредственно за словом oMyForm, IntelliSense отобразит список членов объекта oMyForm. Теперь вы можете выбрать из списка свойство Visible.

Список членов объекта остается видимым до тех пор, пока вы не произведете одно из приведенных ниже действий:

  • Введете все требуемые параметры с последующим вводом пробела (" ").

  • Нажмете на клавишу терминатора, такую как ESC, END, или HOME, или недействительную символьную клавишу.

  • Смените активное окно на другое.

Для получения подробной информации смотри статью Заверешение синтаксиса с IntelliSense.

Для просмотра возможных значений для свойств

  1. Напечатайте имя свойства с завершающим символом "равно" (=).

    -или-

    Выберите свойство из списка, нажмите клавишу пробела, и затем напечатайте символ "равно".

    IntelliSense отобразит список значений, если они имеются, так чтобы вы смогли выбрать одно из них.

  2. Выберите значение двойным щелчком. Вы также можете щелкнуть на имени значения и затем нажать клавишу пробела.

    Значение появится в текущей позиции курсора.

Например, предположим, что вы желаете программно установить свойство Visible для формы путем печати в командном окне следующей команды::

Скопировать код
oMyForm = CREATEOBJECT("Form")
oMyForm.Visible=

Когда вы напечатаете знак "равно" (=) для присвоения значения True (.T.) иди False (.F.) свойству Visible, IntelliSense отобразат список с допустимыми значениями, из которого вы можете выбрать одно.

Для получения подробной информации смотри статью Завершение синтаксиса с IntelliSense.

Просмотр файлов, которые были использованы самыми последними (MRU)

Вы можете видеть и выбрать доступные файлы, которые были использованы самыми последними в подходящем месте, когда вы печаете программный код. Для получения подробной информации смотри статью IntelliSense Auto MRU (Most Recently Used) Files.

Для того, чтобы видеть доступные или использованные последними файлы - (MRU)

  1. Напечатайте соответствующию команду с завершающим пробелом (" ").

    IntelliSense отобразит списко доступных файлов, так чтобы вы смогли просмотреть список файлов и выбрать требуемый из списка.

  2. Выберите файл с помощью двойного щелчка. Вы можете также щелкнуть на имени файла и нажать клавишу пробела.

    Путь, если это свойственно для файла, и имя файла покажутся в текущей позиции курсора в окне редактирования.

Просмотр доступных таблиц, полей и переменных

Вы можете видеть и выбирать доступные таблицы, поля и переменные в соответствующем месте при печатани программного кода. Для получения подробной информации смотри статью IntelliSense Auto таблица, поле и имена переменных.

Для просмотра досупных таблиц и полей

  1. Откройте таблицу в Visual FoxPro.

  2. Напечатайте подходящую для такого случая команды с завершающим пробелом (" ").

    В зависимости от команды, IntelliSense отобразит список доступных таблиц или полей, так чтобы вы могли просмотреть список и вы выбрать из него таблицу или поле.

  3. Выберите таблицу или поле двойным щелчком. Вы можете также щелкнуть на имени таблицы или поля и затем нажать клавишу пробела.

    Имя таблицы или поля появятся в текущей позиции курсора.

Для просмотра доступных переменных

  • В командном окне напечатайте букву "m" с завершающей точной (.).

    IntelliSense отробразит список всех задекларированных и доступных переменных.

Например, предположим, что вы задекларировали две переменные печатанием в командном окне приведенного ниже программного кода:

Скопировать код
oMyForm=CREATEOBJECT("Form")
oMyForm2=CREATEOBJECT("Form")
m.

Когда вы напечатаете букву "m", и завершите печать точкой, IntelliSense отобразит список задекларированных и доступных переменных.

Смотри также

Прочие ресурсы

How to: Set IntelliSense Options
Настройка IntelliSense в Visual FoxPro
Обзор IntelliSense

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


How to: Set IntelliSense Options

Visual FoxPro 9.0
Как: Установить опции IntelliSense
Смотрите также

Вы можете установить опции IntelliSense, оказывающие влияние на его доступность и проявление, руководствуясь инструкциями в приведенных ниже разделах:

  • Установка уровней доступности для Quick Info и List Members

  • Указание числа файлов в Most Recently Used (MRU) List

  • Установка числа элементов для отображения во всплывающих списках IntelliSense.

Для настройки функциональных возможностей IntelliSense для элементов языка Visual FoxPro, а также введенных пользователем элементов, включая команды и функции, которые отображают IntelliSense-подобные списки, такие, как команды SET, отредактируйте записи в таблице IntelliSense. Для получения более подробной информации смотрите описание Настройка IntelliSense в Visual FoxPro.

Установка уровней доступности для Quick Info и List Members

Вы можете установить значение уровня доступности для Quick Info и List Members в Auto, Manual или Disabled. Установка этих опций предоставляет вам возможность активировать или блокировать Quick Info и List Members следующими способами:

  • При установке уровня доступности в Automatic (по умолчанию), Quick Info или List Members появляются там в подобающем месте при нажатии клавиши активатора. Для получения более подробной информации об использовании ключей активаторов смотрите описание задачи Как: увидеть IntelliSense при написании кода.

  • При установке уровня доступности в Manual, Quick Info или List Members доступны, когда вы выбираете Quick Info или List Members, соответственно, в меню Edit, в контекстном меню или нажатием подходящей клавиши клавиатуры, когда курсор позиционируется в месте, в котором доступны Quick Info или List Members.

  • При установке уровня доступности в Disabled, Quick Info или List Members недоступны и не появляются.

    Note Замечание

    Для команд, информация о синтаксисе, которая отображается в окнах Tip, появляется автоматически, если Quick Info и List Members не установлены в Disabled.

Для получения более подробной информации смотрите описание Окно Visual FoxPro IntelliSense Manager.

Для устнановки уроавней доступности для Quick Info и List Members

  1. В меню Tools щелкните на IntelliSense Manager.

  2. В диалоговом окне IntelliSense Manager щелкните на закладке General.

  3. Чтобы сделать доступными опции для Quick Info или List Members, убедитесь, что чек-бокс Enable IntelliSense отмечен.

    Если чек-бокс Enable IntelliSense не отмечен, то оба, и Quick Info, и List Members заблокированы.

  4. Выберите желаемые опции в списках опций для List members или Quick info tips.

  5. Когда закончите установку опций, щелкните на OK.

Кроме того, вы можете активировать или блокировать List Members и Quick Info программно, путем установки соответствующих опций в свойсте EditorOptions системной переменной _VFP. Для получения более подробной информации смотрите описание Свойство EditorOptions.

Указание числа файлов в Most Recently Used (MRU) List

Вы можете указать число файлов, отображаемых в списке MRU, с помощью диалогового окна Options.

Для указания числа файлов в списке MRU

  1. В меню Tools щелкните на Options.

  2. В диалоговом окне Options щелкните на закладке View.

  3. В боксе Most Recently Used list contains выберите или напечатайте численное значение, которое будет определять число отображаемых файлов.

  4. Когда закончите, щелкните на OK.

Для получения более подробной информации смотрите описание Закладка View диалогового окна Options.

Установка числа эдементов для отображения во всплывающих списках IntelliSense

Вы можете установить число элементов для начального отображения в списках IntelliSense используя диалоговое окно Options.

Для установки числа элементов для отображения в списках IntelliSense

  1. В меню Tools щелкните на Options.

  2. В диалоговом окне Options щелкните на закладке View.

  3. В боксе List display count выберите или напечатайте численное значение, соответствующее желаемому числу элементов, которые изначально появятся в списках IntelliSense.

  4. Когда закончите, щелкните на OK.

Для получения более подробной информации смотрите описание Закладка View диалогового окна Options.

Смотрите также

Задачи

Как: увидеть IntelliSense при написании кода
Как: активировать или заблокировать IntelliSense

Прочие ресурсы

Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IntelliSense Activator, Navigation, and Terminator Keys

Visual FoxPro 9.0
Клавиши Активации, Навигации и Завершения IntelliSense
Смотрите Также
CollapseAll image

IntelliSense реагирует на клавиши активации, как например ПРОБЕЛ, навигации - алфавитно-цифровые, и завершения - ESC. Содержание кода и лингвистические элементы определяют, какую клавишу активации вы можете использовать.

Следующие таблицы описывают клавиши активации, навигации и завершения, на которые реагирует IntelliSense.

Клавиши Активации
Клавиша | Описание
SPACEBAR | Пробел (" "). Клавиша активации для команд Visual FoxPro и определенных пользователем элементов языка. Показывает список элементов или окно подсказки.
( | Открывающая скобка. Клавиша активации для функций Visual FoxPro и методов объекта. Показывает список значений или окно подсказки.
PERIOD | Точка (.). Клавиша активации для системных переменных или объектов. Показывает список свойств, методов и событий объектов или окно подсказки.
= | Знак равенства. Клавиша активации для свойств. Учитывает пробелы между свойством и знаком "=". Показывает список значений, редакторы значений, например, шрифт или цвет пикер, или окно подсказки.
Клавиши Навигации
Клавиша | Описание
a–z, A-Z, 0-9 | Алфавитно-цифровые. Оперирует совпадающими элементами в списке IntelliSense до тех пор, пока существуют совпадения.
< | Левая стрелка. Перемещает курсор на один символ влево. Закрывает IntelliSense перечень, если курсор переместился за предел контекста, например, предшествует точке.
> | Правая стрелка. Перемещает курсор на один символ вправо. Закрывает IntelliSense список, если курсор переместился за пределы контекста, например, после того, что было напечатано.
PAGE UP | Перемещает курсор на одну страницу вверх в IntelliSense списке.
PAGE DOWN | Перемещает курсор на одну страницу вниз в IntelliSense списке.
TAB | Вставляет выбранный в IntelliSense списке элемент в код и помещает курсор напосредственно после добавленного элемента.
Клавиши Завершения
Клавиша | Описание
ESC | Закрывает IntelliSense список.
HOME | Закрывает IntelliSense список и помещает курсор вначало текущей строки.
END, ENTER, SPACEBAR и другие не алфавитно-цифровые символы | Закрывают IntelliSense список и помещают курсор в конец текущей строки.

Expand image Смотрите Также

Задачи

Как: Просмотрет IntelliSense при Написании Кода

Другие источники

Общий Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Customizing IntelliSense in Visual FoxPro

Visual FoxPro 9.0
Настройка IntelliSense в Visual FoxPro

Вы можете настроить функционирование IntelliSense для Visual FoxPro и пользрвателем определенные языковые элементы путем замены или добавления записей в таблицу IntelliSense. Напрмер, вы можете добавить или изменить синтаксическое завершение элементов языка или создать скрипт/сценарий, которые будут выполняться, когда вы используете функциональные возможности IntelliSense.

Note Примечание

Изменения в таблице IntelliSense не влияют на функциональные возможности IntelliSense для свойств, методов и событий объектов, слава Богу.

В Данном Разделе

Структура таблицы IntelliSense

Описывает структуру таблицы IntelliSense.

Как: Редактировать IntelliSense записей

Описывает, как открыть IntelliSense таблицу и редактировать записи.

Как: Создать IntelliSense скрипты

Описывает, как создавать и использовать скрипты, которые выполняются, когда используются функциональные возможности IntelliSense.

Как: Восстановить начальное содержание таблицы IntelliSense

Описывает, как восстановить таблицу IntelliSense в ее первичную конфигурацию для собственных элементов языка Visual FoxPro и как удалить пользователем определенные элементы.

Связанные Разделы

Общий обзор IntelliSense

Описывает, как IntelliSense в Visual FoxPro помогает вам дополнять программный синтаксис и показывает перечни доступных файлов, таблиц, полей и переменных, когда вы печатаете код.

IntelliSense поддержка в Visual FoxPro

Описывает уровень и диапазон IntelliSense поддержки в Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


IntelliSense Table Structure

Visual FoxPro 9.0
Структура таблицы IntelliSense
Смотрите также
CollapseAll image

Таблица IntelliSense содержит записи, которые определяют функциональные возможности IntelliSense как для родных Visual FoxPro элементов языка, так и для определенных пользователем. По умолчанию, таблица IntelliSense имеет имя FoxCode и хранится в файле FoxCode.dbf, который расположен в основном каталоге Microsoft Visual FoxPro и определен системной переменной _FOXCODE. Для получения более подробной информации смотрите описание Системная переменная _FOXCODE.

Замечание Замечание

Таблица IntelliSense содержит ограниченную поддержку для окна Watch в отладчике Visual FoxPro Debugger, которая в свою очередь зависит от определения действительности значения для окна Watch.

Поддержка для окна Watch существует в таблице IntelliSense для следующих областей:

  • List Members для экземпляров объектов.

  • Quick Info для экземпляров объектоы.

  • Элементы Function.

  • Расширения для переменных памяти при печати m.

Поддержка функциональных возможностей IntelliSense не поддерживается для окна Watch для приведенного ниже:

  • List Values для экземпляров объектов.

  • Элементов Command.

  • Обработчиков скрипта, используемых по умолчанию.

  • Редакторов значений свойств.

  • Определенных пользователем команд.

  • Наиболее часто используемых за последний период файлов (MRU).

В приведенной ниже таблице описывается структура таблицы IntelliSense.

Имя поля | Тип (размер) | Описание
Type | C (1) | Указывает тип элемента в записи. Для получения более подробной информации смотрите Действительные типа элементов для поля Type.
Abbrev | C (24) | Представляет минимальный набор печатаемых символов лоя активации функциональности IntelliSense для этого элемента. Текст, который вы печаете из поля Abbrev замещается текстов в поле Expanded.
Expanded | C (26) | Указывает текст, который IntelliSense использует для замещения текста, печатаемого в текущей позиции курсора. Текст в поле Expanded замещает текст, определенный в поле Abbrev.
Cmd | C (15) | Определяет ссылку на скрипт для этого элемента.
Tip | M | Определяет текст, отображаемый в окне Quick Info Tip.
Data | M | Определяет содержание для функциональных возможностей IntelliSense List Values, конкретный код Visual FoxPro для этого элемента или иной текст скрипта.
Case | C (1) | Определяет регистр букв для замещающего текста. U = Uppercase L = Lowercase M or <empty> = Mixed case P = Proper case X = Unchanged Любое значение, которое вы укажите в поле записи веврсии, устанавливает глобальную установку по умолчанию для индивидуальных записей, котороые не имеют установленного значения регистра.
Save | L | Определяет - будет ли сохранения запись при обновлении поля.
TimeStamp | T | Представляет уникальный метку времени для этого элемента.
Source | M | Определяет содержание источника записи. Слово RESERVED определяет базовое содержание, поставляемое с это версией Visual FoxPro. Это поле может содержать информацию о пути и имени файла для предоставленных пользователем записей.
UniqueID | C (10) | Определяет уникальный идентификатор для этой записи.
User | M | Определяет информацию пользователья.

Expand image Действительные типа элементов для поля Type

В приведенной ниже таблице описываются действительные значения и типы элементов для поля Type таблицы IntelliSense.

Значение в поле Type | Тип элемента | Описание
O | COM Component | Определяет ссылку на COM type library, до отображения в списке опции AS IntelliSense. Для получения более подробной информации смотрите Тип элемента COM Component.
C | Command | Определяет синтаксис завершения элементов для команд Visual FoxPro. Для получения более подробной информации смотрите Тип элемента Command.
E | XML | Определяет, что элемент является свойством или методом, который имеет метаданные memberdata. Для получения более подробной информации смотрите Расширяемость MemberData.
F | Function | Specifies syntax completion items for Visual FoxPro functions, procedures, and user-defined functions. Для получения более подробной информации смотрите Function Item Type.
P | Property | Определяет ссылки на скрипт для отображения редакторов значения для определенных свойств Visual FoxPro. Для получения более подробной информации смотрите Тип элемента Property.
S | Script | Определяет скрипты Visual FoxPro для запуска. Для получения более подробной информации смотрите Тип элемента Script.
T | Typing | Определяет элементы, которые появятся в списке опции AS IntelliSense или при обращении к объектам. Для получения более подробной информации смотрите Тип элемента Typing.
U | User | Определяет элементы авторасширения, определенные пользователем. В отличие от элементов Command, элемента User не требует точного соответствия шаблону. Для получения более подробной информации смотрите Тип элемента User.
V | Version | Определяет специальную запись для версии и отслеживаемой информации (резервирована). Для получения более подробной информации смотрите Тип элемента Version.

Тип элемента COM Component

Тип элемента COM Component определяет запись таблицы IntelliSense, чье содержание появится в списке IntelliSense опции AS, аналогично элементам Typing. Элемент COM Component определяет имя библиотеки типов COM, которая содержит коллекцию классов (ProgIDs) из которых Visual FoxPro может создавать экземпляры с помощью функции CREATEOBJECT( ). Поле Data для элемента COM Component содержит GUID и версию библиотеки типов.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа COM Component.

Имя поля | Пример
Type | O
Abbrev | Excel
Cmd | {}
Tip | Microsoft Excel 9.0 Object Library
Data | {00020813-0000-0000-C000-000000000046}#1.3

Элемент типа Command

Элемент типа Command определяет запись таблицы IntelliSense, чье содержание дополняет или замещает синтаксис или отображается в окне Tip для команд Visual FoxPro.

Замечание Замечание

Символы в поле Abbrev записей для элемента Command должны соответствовать начальным символам слов текста, расположенного в поле Expanded. Например, если поле Expanded содержит команду MODIFY COMMAND, поле Abbrev должно содержать начальные буквы MC.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Command.

Имя поля | Пример
Type | C
Abbrev | MC
Expanded | MODIFY COMMAND

Тип элемента _MemberData Property

Запись _MemberData поддерживает нуки построителя GetMemberData.

Имя поля | Пример
Type | E - Указывает, что элемент является свойством или методом, имеющим метаданные
Abbrev | _GETMEMBERDATA - Имя свойства или метода члена
Data | Содержит скрипт, запускаемый для свойства или метода

Элемент типа Function

Элемент типа Function определяет запись таблицы IntelliSense, чье содержание завершает или замещает синтаксис или отображется в окне Tip для функций и процедур Visual FoxPro, а также для функций и процедур определенных пользователем.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Function.

Имя поля | Пример
Type | F
Abbrev | FCOU
Expanded | FCOUNT
Tip | [nWorkArea | cTableAlias]

Элемент типа Property

Элемент типа Property определяет запись в таблице IntelliSense, чье содержание может определять код в поле Data элемента или ссылку, содержащуюся в поле Data, на скрипт в элементе Script. Код или ссылка на скрипт могут быть запущены для отображения редактора настраиваемых значений, когда вы присваиваете значение свойству, которому соответствует элемент Property.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Property.

Имя поля | Пример
Type | P
Abbrev | .Picture
Cmd | {picture}

В этом примере поле Cmd содержит ссылку на скрипт "{picture}" для скрипта, хранимого в отдельном элементе Script. Поле Abbrev в записи элемента Script содержит символьную строку , "Picture", а код в его поле Data запускается, когда вы печатаете приведенную ниже строку кода или используете IntelliSense для завершения приведенного ниже синтаксиса:

CopyCode image Copy Code
Object.Picture=

Для получения более подробной информации смотрите Элемет типа Script.

Элемент типа Script

Элемент типа Script определяет запись таблицы IntelliSense, которая содержит код или данные в его поле Data. Когда вы храните код в отдельном элементе Script, то на него могут ссылаться или запускать его другие записи таблицы IntelliSense, у которых ссылка на скрипт указана в поле Cmd.

Замечание Замечание

Ссылка на скрипт является необзятальным ключевым словом, которое появляется в поле Abbrev записи для элемента Script, но если она имеется, то заключена в фигурные скобки ({}).

Код, который запускает IntelliSense, должен содержать параметр посылаемый объекту FoxCode. Объект FoxCode содержит метаданные, описывающие способ вызова скрипта, включая исходную запись в таблице IntelliSense. Поэтому, код в поле Data должен содержать операторы PARAMETERS или LPARAMETERS для размещения ссылки на объект. Для получения более подробной информации об объекте FoxCode смотрите Объектая ссылка FoxCode.

Значение, возвращаемое кодом, замещает любой текст, который напечатан в текущей позици курсора. Однако, если возвращаемое значение оценивается в пустую строку (""), Visual FoxPro оставляет напечатанный текст неизмененным.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Script.

Имя поля Пример

Type

S

Abbrev

Picture

Data

(Stored in a memo field)

CopyCode image Copy Code
LPARAMETERS oFoxcode
   LOCAL lcPicture
   oFoxcode.ValueType="V"
   lcPicture = GETPICT()
   IF LEN(lcPicture) > 0
      lcPicture = ['] + lcPicture + [']
   ENDIF
   RETURN lcPicture

Разберем этот пример. Предположим, что поле Cmd в записи элемента типа Property для конкретного свойства Picture содержит ссылку на скрипт "{picture}" соответствующего элемента типа Script. Когда вы выбрали свойство Picture для объекта, просто напечатав .Picture с завершающим знаком равенства (=) и выбрали сборщик картинки, код в поле Data элемента Script будет запущен и отобразит диалоговое окно Open Picture.

Для получения более подробной информации об использовании скриптов смотрите описание задачи Как: создавать скрипты IntelliSense.

Элемент типа Typing

Элемент типа Typing определяет запись таблицы IntelliSense, чье содердание описывает элемент, который появится в списке IntelliSense для опции AS. Поле Data такой записи может, но не обязательно, содержать код, который возвращает значение, которое IntelliSense вставляет в текущую позицию курсора.

Замечание Tip

Если вы включаете код в поле Data, то завершите его предложением с RETURN.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Typing.

Имя поля | Пример
Type | T
Abbrev | CommandButton
Data | CommandButton

Элемент типа User

Элемент типа User определяет запись таблицы IntelliSense, чье содержание завершает или замещает определенные пользователем сокращения. В отличие от поля Abbrev в записи для элемента Command, сокращение для элемента User не требует соответствия начальных букв слов текста в поле Expanded.

Имя поля | Пример
Type | U
Abbrev | MYADDRESS
Expanded | 101 Main Street

Элемент типа Version

Элемент типа Version определяет запись таблицы IntelliSense, которая содержит установки по умолчанию и информацию об отслеживании версии. Элемент типа Version зарезервирован для внутреннего использования.

Имя поля | Пример
Type | V
Expanded | Идентифицирует последнюю версию IntelliSense. Зарезервировано для внутреннего использования.

Expand image Смотрите также

Задачи

Как: редактировать записи IntelliSense
Как: создавать скрипты IntelliSense

Справочное руководство

Свойство _MemberData

Концепции

Расширяемость MemberData

Прочие ресурсы

Настройка IntelliSense в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Edit IntelliSense Records

Visual FoxPro 9.0
Как: редактировать записи IntelliSense
Смотрите также

Вы можете добавить новые элементы в таблицу IntelliSense или редактировать уже существующие. Вы можете редактировать определенные пользователем элементы в таблице IntelliSense, используя Visual FoxPro IntelliSense Manager или все записи IntelliSense, путем прямого открытия и просмотра таблицы или обращаясь к ней из программы.

Для ввода новых элементов в таблицу IntelliSense

  1. В меню Tools щелкните на IntelliSense Manager.

  2. В окне IntelliSense Manager щелкните на закладке Custom.

    На закладке Custom перечислены все определенные пользователем элементы, сохраняемые в таблице IntelliSense.

  3. В боксе Type выберите желаемый элемент.

    Замечание Замечание

    Кнопка Add станет доступной, когда вы изначально выберите тип, отличающийся от Command.

    Примечание переводчика. Ну скажем прямо, не совсем так. В пятой версии IntelliSense, поставляемой с VFP9SP1 в комбобоксе Type доступны только четыре варианта:

    • Command
    • Function
    • Property
    • Script

    то есть отсутствуют все прочие типы элементов. Не обращая внимания на описанное выше и ничего не выбирая из комбобокса типов элементов, впечатайте в боксе "Replace" что-нибудь, например: fch. Обратите внимание, что как только вы впечаете первое сочетание символов, которое не имеется еще в таблице IntelliSense, кнопка Add станет доступной. Далее, впечатайте в бокс "With" строку: * Example Russian FoxClub. Уж очень сильно не разгоняйтесь, поскольку все, что вы печаете в боксе "With" попадает в поле Expanded, размерность которого ограничена 26-ю символами. Для преодоления этого ограничения имеются методы, которые описаны в дополнительной статье Русского Клуба программистов Visual FoxPro. После этого щелкните по кнопке Add.

    Откроется для просмотра только что введенная запись с типом элемента User.

  4. Щелкните на Add.

    В начале таблицы, отображаемой на закладке Custom появится новая запись.

  5. В боксе Replace впечатайте символы, которые при работе будут заменены текстом, который вы впечатаете в боксе With.

    Замечание Замечание
    Примечание переводчика. Оригинальный текст замечания изменен для того, чтобы не возникла путаница.
    Когда вы будете печатать символы либо в коде, либо в командном окне или в ином редакторе кода, то что вы введете в боксе Replace будет в соответстсвующей позиции курсора в редакторе кода и прочих подходящих местах заменяться текстом, который вы введете в бокс With.

  6. В боксе With напечатайте символы, которыми при работе будет заменяться текст, введенный в боксе Replace во время ввода или редактирования записи таблицы IntelliSense.

  7. Для ввода кода в поле Data щелкните на Script.

    Откроется окно редактирования где вы сможете ввести желаемый код в поле Data для этого элемента.

  8. Для просмотра и редактирования записи в целом, щелкните на Edit.

    Откроется таблица IntelliSense, в которой вы можете редактировать и другие поля записи.

Для получения более подрбной информации смотрите Окно Visual FoxPro IntelliSense Manager.

Для редактирования определенных пользователем элементов в таблице IntelliSense

  1. В меню Tools щелкните на IntelliSense Manager.

  2. В IntelliSense Manager щелкните на закладке Custom.

    На закладке Custom перечислены все определенные пользователем элементы в таблице IntelliSense.

  3. В списке элементов выберите элемент, который вы желаете отредактировать.

  4. Для просмотра и редактирования записи щелкните на Edit.

Открытие таблицы IntelliSense программным путем

Вы можете обращаться к таблице IntelliSense программным путем, используя системную переменную _FOXCODE. Для получения более подрбной информации смотрите Системная переменная _FOXCODE.

Для открытия таблицы IntelliSense программным путем

  • В командной окне напечатайте приведенные ниже строки кода:

    CopyCode image Скопировать код
    USE (_FOXCODE) SHARED
BROWSE

    Таблица IntelliSense откроется в окне Browse window.

Смотрите также

Задачи

Как: создавать скрипты IntelliSense
Как: восстановить таблицу IntelliSense в ее начальное состояние

Справочное руководство

Структура таблицы IntelliSense

Прочие ресурсы

Настройка IntelliSense в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Create IntelliSense Scripts

Visual FoxPro 9.0
Как: создать скрипты IntelliSense
Смотрите также

Вы можете создавать скрипты IntelliSense для предметов, размещенных в таблице IntelliSense. Создание скриптов IntelliSense предоставляет возможность командам, функциям или свойствам запускать определенный программный код, например, открывать редактор значений, когда вы желаете присвоить значения определенным свойствам. Для получения более подробной информации смотрите Структура таблицы IntelliSense.

Приведенный ниже раздел описывает различные пути для создания и ссылок на скрипты:

  • Создание или ссылка на скрипты для множественных предметов

  • Ссылка на скрипты для единичного предмета

Создание или ссылка на скрипты для множественных предметов

В таблице IntelliSense вы можете создать запись Script чье поле Data солержит пользовательскую процедуру или программный код Visual FoxPro который могут запускать другие записи IntelliSense или можете хранить программный код в поле Data предмета, который запустит скрипт только для этого предмета. Хотя поле Data в общем случае содержит программный код который прочие записи IntelliSense могут запускать, оно, кроме того, может хранить метаданные, используемые скриптами. Параметр FoxCode, являющийся объектом автоматически пересылает эти метаданные скрипту. Для получения подробной информации об объекте FoxCode смотрите Ссылка на объект FoxCode.

Для создания скриптов IntelliSense, которые могут запускать другие записи IntelliSense

  1. Откройте таблицу IntelliSense, которая находится в файле FoxCode.dbf с помощью IntelliSense Manager или программно.

  2. Создайте в таблице IntelliSense запись для предмета Script.

  3. В поле Abbrev предмета Script впечатайте ключевое слово, которое по вашему желанию будут использовать другие записи как часть ссылки на скрипт, для запуска скрипта.

  4. В поле Data предмета Script впечатайте программный код Visual FoxPro, который по вашему желанию могут исполнять другие записи IntelliSense.

    Note Замечание

    Программный код в поле Data должен содержать предложения PARAMETERS или LPARAMETERS для размещения ссылки на объект FoxCode. Каждый скрипт IntelliSense должен содержать параметр, который IntelliSense перешлет параметру объекта FoxCode. Объект FoxCode параметра содержит метаданные, описывающие как скрипт был вызван, включая исходную запись в таблице IntelliSense. Для получения более подробной информации смотрите описание предмета Script в Структура таблицы IntelliSense.

  5. В поле Cmd предмета, который запускает скрипт, впечатайие ссылку на скрипт, которая заключает ключевое слово скрипта из поля Abbrev предмета Script в фигурные скобки ({}).

Например, печатание приведенного ниже текста в поле Abbrev предмета Script образначает текст, как ключевое слово скрипта: /p>

Picture

Вставка приведенного ниже кода в поле Data предмета Script отобразит диалоговый блок Open Picture:

CopyCode image Скопировать код
LPARAMETERS oFoxcode  && обязательное предложение.
LOCAL lcPicture
oFoxcode.valuetype="V"
lcPicture = getpict()
IF LEN(lcPicture) > 0
   lcPicture = ['] + lcPicture+ [']
ENDIF
RETURN lcPicture

Печатание приведенного ниже текста, который представляет собой ключевое слово скрипта, заключенное в фигурные скобки, определяет текст как ссылку на скрипт:

{picture}

Для ссылки на существующие скрипты IntelliSense из других записей IntelliSense

  1. в таблице IntelliSense найдите предмет Script, который вы желаете использовать.

  2. В поле Abbrev предмета Script найдите ключевое слово, которое вы желаете использовать как часть ссылки на скрипт.

  3. В поле Cmd записи IntelliSense, которая исполняет скрипт, впечатайте ключевое словое и поля Abbrev предмета Script заключенное в фигурные скобки ({}).

Ссылка на скрипт для единичных предметов

За исключением предметов в Typing и COM Component, когда поле Cmd записи IntelliSense содержит только фигурные скобки не содержащие внутри ключевого слова скрипта, печатание текста в поле Abbrev этого предмета запустит любой код существующий в поле Data этого предмета.

Для создания скриптов для единичных записей IntelliSense

  1. В таблице IntelliSense найдите предмет, для которого вы желаете создать скрипт.

  2. В поле Data предмета впечатайте программный код Visual FoxPro, который по вашему желанию должен запускать этот предмет.

  3. В поле Cmd предмета впечатайте открывающую и закрывающую фигурные скобики ({}) без пробела внутри них.

Например, приведенная ниже таблица иллюстрирует пример кода в поле Data предмета Command, который запускается, в случае функциональность IntelliSense активизирована только для этого предмета Command.

Field Name | Example
Type | C
Abbrev | NOW
Cmd | {}
Data | (Stored in a memo field) LPARAMETERS oFoxCode RETURN TRANSFORM(DATE( ))

Смотрите также

Задачи

Как: редактировать записи IntelliSense
Как: восстановить таблицу IntelliSense, используемую по умолчанию

Прочие ресурсы

Настройка IntelliSense в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Restore the Default IntelliSense Table

Visual FoxPro 9.0
Как: Восстановить начальную таблицу подсистемы IntelliSense
См. также

Вы можете восстановить начальные параметры подсистемы IntelliSense для внутренних элементов языка программирования Visual FoxPro. Однако, если пользовательские элементы подсистемы IntelliSense не удалены, то они остаются в восстанавливаемой конфигурации.

Для восстановления таблицы начальной конфигурации подсистемы IntelliSense для внутренних элементов языка Visual FoxPro

  1. В меню Tools, выберите пункт IntelliSense Manager.

  2. В открывшемся окне IntelliSense Manager, откройте закладку Advanced.

  3. В закладке Advanced, нажмите кнопку Clean Up.

  4. В диалоговом боксе Maintenance, нажмите Restore FoxCode (восстановить исходный код).

    Система Visual FoxPro запросит подтверждения для восстановления оригинальной таблицы IntelliSense.

  5. Для подтверждения, нажмите Yes.

    Система Visual FoxPro подтвердит восстановление таблицы IntelliSense.

  6. При завершении, нажмите OK.

Для удаления пользовательских записей в таблице IntelliSense

  1. В системном меню Tools, выберите пункт IntelliSense Manager.

  2. В открывшемся окне IntelliSense Manager, откройте закладку Custom.

  3. В закладке Custom, выберите пользовательские записи таблицы IntelliSense, которые нужно удалить.

  4. Нажмите Delete.

  5. При запросе на удаление записей, выбирайте Yes.

  6. Когда нужные записи будут удалены, откройте закладку Advanced.

  7. В закладке Advanced, нажмите кнопку Clean Up.

  8. В диалоговом боксе Maintenance, нажмите кнопку Clean Up FoxCode - для "физического" удаления отмеченных записей.

См. также

Задачи

Как: Изменить записи в IntelliSense
Как: Создать Скрипт IntelliSense

Другие ссылки

Настройка подсистемы IntelliSense в системе Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Using the Component Gallery

Visual FoxPro 9.0
Использование галереи компонентов (Component Gallery)

Component Gallery представляет собой контейнер для объектов программного обеспечения, такиех как библиотеки классов, формы, кнопки и тому подобного. Кроме того, Component Gallery включает в себя классы Visual FoxPro. Вы можете использовать Component Gallery для организации компонентов а объекте, проекте, приложении или прочих группировках. Эти визуальные группировки являются динамически настраиваемыми, так что вы можете использовать, создавать копии или переставлять компоненты среди нескольких классификаций внутри Component Gallery. Вы можете обращаться к конкретным компонентам из любого места в Component Gallery, в котором вы разместили ссылку к таким компонентам. Вы можете иметь несколько ссылок в различных каталогах или папках на один и тот же объект. Например, кнопка может появитьс в одной или более категориях Component Gallery (представленных в виде папок), но может быть, кроме того, видима в категории "Tools",которая хранит ссылки ко всем используемым вами кнопкам.

Вы можете использовать Component Gallery для всех функций, поставляемых отдельным Project Manager, окном Class Browser и панелью инструментов Form Controls. Каждый из других компонентов Visual FoxPro предоставляет весьма характерный фокус к проектам или классам внутри специального окружения либо файла Project или библиотеки класса. Component Gallery позволяет вам управлять отношениями между компонентами и многими поведениями этих компонентов из абстрактного уровня дизайна наряду с более глубокими видами.

Вы можете перетаскивать компоненты из Component Gallery и в Component Gallery в проекты или формы. Вы можете, кроме того, изменять свойства объектов или классов внутри Component Gallery.

Component Gallery может содержать любой элемент Visual FoxPro, включая локальные и удаленные документы, файлы или каталоги, серверы автоматизации подобные Microsoft Excel и Word, ссылки HTML и сами HTML файлы. Вы можете включить программые файлы .prg, содержащие фрагменты кодов, классы, мастера, построители и тому подобное.

В этом разделе

Как: управлять проектами из Component Gallery

Объясняется, как использовать Component Gallery с целью использования шаблонов, построителей и мастеров для создани проектов или приложений.

Каталоги Component Gallery

Описывается, как использовать каталоги Visual FoxPro Component Gallery и каталог, назначенный по умолчанию, который включает в себя предметы, сгруппированные в несколько категорий, включая формы, элементы управления и прочее.

Как: настроить Component Gallery

Описывается, как вы моежете изменить поведение по умолчанию каталога, папок и предметов Visual FoxPro Component Gallery с помощью ее настройки.

Объекты членов Component Gallery

Предоставляет список классов и предметов, которые ссылаются на класс, которые содержат интерфейс Visual FoxPro Component Gallery.

Библиотека класса Component Gallery (Vpfgallery.vcx)

Объясняется, как библиотека классов Visual FoxPro Component Gallery, Vpfgallery.vcx, представляет типы элементов в виде классов.

Структура таблицы Component Gallery

Описывается структура таблицы Visual FoxPro Component Gallery.

Связанные разделы

Инструменты производительности разработок

Предоставляется информация о инструментах разработчика, предоставленных для разработки приложений внутри Visual FoxPro и языка.

Обзор IntelliSense

Предоставляет информацию об IntelliSense, который отображает информацию во всплывающих окнах и выпадающих списках, которые помогают вам использовать синтаксис операторов и функций.

Приложение Coverage Profiler

Обсуждается приложение Coverage, которое записывает информацию о строках кода в файл, которые будут исполенны, а также приложение Profiler, которое предоставляет информацию о том, какие строки кода исполняются реально, сколько раз была исполнена строка, продолжительность исполнения и тому подобное.

Методы Project Manager

Описывается, как вы можете программно обращаться к проекту, что позволяет вам управлять проектом, как объектом.

Автоматизация задач клавишных сцеплений с помощью макросов

Описывается, как вы можете записать и сохранить клавишные сцепления в макросах с помощью диалогового окна Macros.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Manage Projects with the Component Gallery

Visual FoxPro 9.0
Как: управлять проектами с помощью Component Gallery (Галереи компонентов)
Смотрите также

Вы можете использовать Component Gallery (Галерею компонентов) для создания проектов и приложений и управления их разработкой. Используйте Component Gallery (Галерею компонентов) для систематизации компонентов внутри ее самой или используйте шаблоны, компоновщики или мастера в Component Gallery (Галерее компонентов) для создания желаемого проекта или приложения.

Каталоги Component Gallery (Галереи компонентов) представляют собой произволную компоновку элементов галереи. Вы можете перестроить порядок отображения элементов галереи перетаскивая элементы с помощью операции "drag and drop" или вы можете создавать дубликаты элементы в других каталогах. Вы можете копировать и переименовывать каталог или папки и собирать в них элементы по своему усмотрению. Почти ничто не ограничивает вас в том, как вы будете использовать, изменять или создавать каталоги или папки.

Установки, определенные по умолчанию, для каталогов и папок позволяют вам просматривать и управлять элементами галереи. Если вы желаете изменить характеристики каталогово или папок, или если вы желаете иметь больший доступ к свойствам галереи, выберите опцию Advanced editing enabled (Разрешено расширенное редактирование) в Диалоговом окне Options (Параметры) Component Gallery (Галереи компонентов).

Для создания проекта или приложения из Component Gallery (Галереи компонентов)

  • Используйте Application Wizard (Мастер приложения) или New Application template (Новый шаблон приложения) в папке Applications (Приложения) каталога Visual FoxPro.

Для каталогов и папок, выберите закладки и параметры для изменений, которые вы можете пожелать сделать в дальнейшем. Для получения более подробной информации смотри в справке описание For details, see Диалоговое окно Options (Параметры) Component Gallery (Галереи компонентов).

Перемещение и просмотр элементов в Component Gallery (Галерее компонентов)

Вы можете перемещать элементы из правой панели - Object (Объект) окна Component Gallery (Галереи компонентов) на рабочий стол или в открытый проект или форму. Project Manager (Диспетчер проекта) распознает элемент, на который ссылается элемент Component Gallery (Галереи компонентов) и помещает его в должном месте в Project Manager (Диспетчере проекта). Элементы Component Gallery (Галереи компонентов) помещенные на рабочий стол неработоспособны. Так например не имеется настольных представлений для Database, Folder и элементов галереи, представляющих собой невизуальные файлы.

Для перемещения элементов из Component Gallery (Галереи компонентов)

  1. Выделите в правой панели элемент, который вы желаете переместить.

    Иконка Move (Переместить), расположенная в верхнем левом углу окна Component Gallery (Галереи компонентов) изменится в соответствии с выбранным вами элементом.

  2. Перетащите иконку Move () на рабочий стол или в открытый проект или форму.

Когда Component Gallery (Галерея компонентов) не в состоянии найти оригинальный элемент, представленный элементов галереи, то откроется диалоговое окно Find (Найти) для того, чтобы вы смогли найти этот оригинальный элемент.

В приведенной ниже таблице The following table идентифицирвоаны элементы галереи, включенные в Visual FoxPro и их поведение по умолчанию.

Тип элемента Component Gallery (Галереи компонентов) | Проект | Форма | Экран | Элементы управления
Класс (_ClassItem) |  |  | 6 |
File (_FileItem) |  |  |  |
URL (_UrlItem) |  | 1 |  |
Form (_FormItem) |  | 9 | 11 |
Report (_ReportItem) |  | 9 | 11 |
Program (_ProgramItem) |  |  | 11 |
Menu (_MenuItem) |  | 10 | 11 |
Image (_ImageItem) |  | 2 | 7 | 2
Sound (_SoundItem) |  | 3 |  |
Video (_VideoItem) |  | 3 |  |
ActiveX (_ActiveXItem) |  |  |  |
Data (_DataItem) |  | 4 |  |
Template (_TemplateItem) | 5 |  |  |
Catalog (_CatalogItem) |  |  | 8 |
Sample (_SampleItem) |  |  |  |
Project (_ProjectItem) |  |  | 11 |

1 – Добавляет класс гиперссылки 2 – Добавляет класс картинки или устанавливает свойство Picture 3 – добавляет класс мультимедии 4 – добавляет класс grid 5 – В зависимости от типа (например, форма) создает новый файл и добавляет его в проект 6 – Создает экземпляр в экране 7 – устанавливает обои Visual FoxPro 8 – Запускает новое окно Gallery с выбранным каталогом 9 – Добавляет класс Button для запуска формы/отчета 10 – добавляет в форму контекстное меню 11 – Открывает конструктор (для редактирования)

Обзор и редактирование классов

Поскольку элементы Component Gallery (Галереи компонентов) представляют реальные элементы, в качестве которых могут выступать объекты и классы, Вы можете просматривать или изменять эти классы с помощью обращения к реальным объектам с помощью Component Gallery (Галереи компонентов).

Для просмотра класса

  1. Выполните на имени класса в Component Gallery (Галерее компонентов) щелчок по правой клавише мыши.

  2. Из контекстного меню выберите View in Browser (Просмотр в обозревателе).

    Это действие откроет окно Class Browser (Обозревателя класса), гдк вы сможете увидеть свойства и методы выбранного класса.

Для редактирования класса

  1. Выполните на имени класса в Component Gallery (Галерее компонентов) щелчок по правой клавише мыши.

  2. Из контекстного меню выберите Modify (Изменить).

    Это действие откроет Class Designer (Конструктор класса).

Создание и изменение форм

Вы можете использовать Component Gallery (Галерею компонентов) для создания дубликатов или редактирования форм или добавления в проект форм или других элементов галереи.

Для создания формы из Component Gallery (Галереи компонентов)

  • Выполните двойной щелчок по любому шаблону или выберите New Form (Новая форма) из контекстного меню любого шаблона в папке Forms (Формы) в окне Component Gallery (Галереи компонентов).

    - или -

    Выполните двойной щелчок по Form Wizard (Мастер формы) в папке Forms (Формы) Component Gallery (Галереи компонентов) .

    - или -

    Выберите Create Form (Создать форму) из контекстного меню элемента Component Gallery (Галереи компонентов) в папке Forms.

Смотрите также

Задачи

Как: настроить Component Gallery (Галерею компонентов)

Справочное руководство

Объекты члены Component Gallery (Галереи компонентов)

Концепции

Component Gallery (Галерея компонентов) Catalogs

Прочие ресурсы

Использование Component Gallery (Галереи компонентов)
Инструменты продуктивной разработки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Component Gallery Catalogs

Visual FoxPro 9.0
Каталоги Component Gallery (Галереи компонентов)
Смотрите также

Когда вы открываете Component Gallery (Галерею компонентов), левая, Catalog, панель отображает каталог, определенный по умолчанию в поставке Component Gallery (Галереи компонентов). Каталог представляет собой визуальное представление элементов, которые принадлежат Visual FoxPro или определенной пользователем группе. Внутри каталога Вы можете создавать папки для более удобной организации субгрупп элементов. В качестве элементов могут быть представлены формы, запросы, программы, шаблоны, файлы мультимедии, звуковые файлы или другие объекты. Каталог, определенный по умолчанию для Component Gallery (Галерея компонентов) в поставке Visual FoxPro включает в себя элементы, сгруппированные в нескольких категориях, включая формы, элементы управления и прочее. Этот каталог, кроме того, включает в себя пустую папку с именем Favorites (Избранное), которую вы можете использовать для создания элементов или копирования в нее существующих. Вы можете, кроме того, скопировать и переименовать каталог, определенный по умолчанию или создать свои собственные каталоги.

Параметры каталога Component Gallery (Галереи компонентов) представляют собой набор параметров, определяющие содержание каталога и поведение, проявляющееся при открытии каталога. Каталоги Global (Глобальные) могут содержать любой тип элемента Component Gallery (Галереи компонентов). Каталог Default (По умолчанию) открывается автоматически, когда вы запускаете Component Gallery (Галерею компонентов). Для получения более подробной информации смотрите описание в справке Закладка Catalogs (Каталоги ) диалогового окна Options (Параметры) галереи компонентов (Component Gallery).

Component Gallery (Галерея компонентов) включает в себя перечисленные ниже каталоги.

Каталог | Описание
VFPGLRY | Содержит компоненты, используемые другими каталогами в галерее. Включает в себя все каталоги, поставляемые с Visual FoxPro - Default и Global.
Visual FoxPro | Содержит фундаментальные классы Visual FoxPro. Размещается в Default.
Favorites (Избранное) | Пустая папка. Размещается в Global
My Base Classes (Мои базовые классы) | Содержит субклассы базовых классов Visual FoxPro. Размещается в Default
ActiveX | Динамический каталог, содержащий либо список всех зарегистрированных элементов ActiveX, либо список всех элементов Visual FoxPro ActiveX. Размещается в Default.
World Wide Web | Коллекция гиперссылок на Web-сайты
Multimedia (Мультимедиа) | Разнообразные картинки, звуковые файлы и видеофайлы, которые вы можете использовать в ваших приложениях
Samples (Образцы) | Ссылки на образцы Solutions, ActiveX Servers и Client/Server

Когда вы щелкаете по имени каталога в списке, правая панель, Object, отображает содержание этого каталога. Вы можете открыть каталог двойным щелчком в любой панели.

Смотрите также

Задачи

Как: управлять проектами с помощью Component Gallery (Галереи компонентов)
Как: настроить Component Gallery (Галерею компонентов)

Справочное руководство

Объекты члены Component Gallery (Галереи компонентов)

Концепции

Библиотека класса Component Gallery (Галерея компонентов) (Vpfgallery.vcx)

Прочие ресурсы

Инструменты продуктивной разработки
Использование Component Gallery (Галереи компонентов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Customize the Component Gallery

Visual FoxPro 9.0
Как: настроить Component Gallery (Галерею компонентов)
Смотрите также

Вы можете настроить Component Gallery (Галерею компонентов), изменив поведение по умолчанию каталога, папки или элемента галереи посредством подходящих для каждого конкретного случая диалогов установки свойств.

Для создания каталога Component Gallery (Галереи компонентов)

  1. Щелкните по кнопке Options (Параметры) на полоске инструментов Component Gallery (Галереи компонентов).

  2. Щелкните по закладке Catalogs (Каталоги) в диалоговом окне Component Gallery Options (Параметры Галереи компонентов).

  3. Щелкните по кнопке New (Новый) и дайте имя новому каталогу в диалоговом окне Open (Открыть).

  4. Щелкните по OK.

  5. Component Gallery (Галерея компонентов) добавит каталог в дерево каталогов, и вы можете начать использовать его, как и любой другой существующий каталог.

Для изменения конфигурации каталога или папки

  1. Вызовите контекстное меню щелчком по правой клавише мыши на имени каталога или папки.

  2. В контекстном меню щелкните по Properties (Свойства).

  3. В диалоговом окне Catalog Properties (Свойства каталога) или Folder Properties (Свойства папки) выберите закладку, содержащую параметры, которые вы желаете использовать для конфигурации каталога или папки.

    Каталоги и папки Gallery (Галереи) отображаемые в окне Component Gallery (Галереи компонентов) в панели Catalog (Каталог), могут представлять собой URL-ы, папки или файлы на вашем жестком диске. Вы можете видеть папку Gallery (Галерея) в виде Web view или в виде Explorer-level view, в зависимости от способа, которым вы указали имя на закладке General (Общие) диалогового окна Folder properties (Свойства папки).

Web Views

Вы можете указать URL-ы или файлы в качестве каталогов галереи или в качестве элементов Gallery. Когда вы конфигурируете элемент в папке галереи, автоматически открывается как Web view в правой панели Object (Объект), когда вы выделяете его в панели Catalog (Каталог).

Для конфигурирования каталога или папки галереи в виде Web view

  1. В диалоговом окне Folder Properties (Свойства папки) перейдите на закладку Node (Узел).

  2. В поле Dynamic folder (Динамическая папка) укажите Web страницу или имя файла так, как показано в приведенном ниже примере:

    http:\\www.microsoft.com\

    file:\\c:\my documents\testpage.htm

    file:\\c:\my documents\Wordfile.doc

Когда вы выделите иконку Web view в панели каталога, полоска инструментов изменится, включив в себя кнопки навигации по Web. Web view отобразит установки вашего Windows Explorer.

Explorer-level Views

Вы можете указать каталаог в качестве каталога или папки галереи, который имеет характеристики Windows Explorer.

Для конфигурирования каталога или папки галереи в виде Explorer-level view

  1. В диалоговом окне Folder Properties (Свойства папки) перейдите на закладку Node (Узел).

  2. В поле Dynamic folder (Динамическая папка) укажите папку или файл и обратный слэш (\) в качестве значения, так как это показано в приведенном ниже примере:

    C:\My Documents\

    Note Note

    Такое указание создает вид реальных файлов, в отличие от прочих видов Component Gallery (Галереи компонентов). В таком виде вы можете удалять файлы с вашего диска. Для создания вида Explorer-level view, который обслуживает защиту отображаемых файлов, укажите местонахождение используя модификатор имен так, как показано в примере ниже::

    C:\My Documents\*.*

Избегайте использования модификторов имен при создании динамических каталогов, когда вы можете предполагать поиск более чем 512 элементовitems, если вы не имеет достаточно быстрого компьютера с большим объемом оперативной памяти.

Смотрите также

Справочное руководство

Объекты-члены Component Gallery (Галереи компонентов)

Концепции

Каталоги Component Gallery (Галереи компонентов)
Component Gallery Class Library (Vpfgallery.vcx)

Прочие ресурсы

Инструменты продуктивной разработки
Использование Component Gallery (Галереи компонентов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Component Gallery Object Members

Visual FoxPro 9.0
Объекты членов Галереи компонентов (Component Gallery)
Смотрите также

Галерея компонентов состоит из интерфейса, классы которого содержатся в Vfpglry.vcx, и элементов, которые ссылаются на следующие Фундаментальные классы Visual FoxPro.

Объект | Описание | Библиотека классов
About Dialog Box | Предоставляет простое диалоговое окно About для пользовательских приложений. | _dialogs.vcx
ActiveX Calendar | Элемент управления Календарь, который может быть привязан к полю даты. | _datetime.vcx
Application Registry | Обеспечивает набор функций системного реестра, которые возвращают специфическую для приложения информацию. | Registry.vcx
Array Handler | Содержит методы для проведения операций над массивом, не поддерживаеые встроенными функциями обработки массивов. | _utility.vcx
Cancel Button | Освобождает форму и отменяет все невыполненные изменеия буферизированных данных. | _miscbtns.vcx
Clock | Простой элемент управления "часы" для формы или контейнера. | _datetime.vcx
Conflict Catcher | Диалоговое окно для разрешения конфликтов строк, с которыми сталкиваются при редактировании в случае оптимистической буферизации. | _dataquery.vcx
Cookies | Простой Web класс для обрабатки идентификаторов cookie между Web-страницами. | _internet.vcx
Cross Tab | Построение перекрекрестных таблиц. | _utility.vcx
Data Edit Buttons | Полный набор кнопок редактирования (для использования Мастерами форм). | Wizbtns.vcx
Data Navigation Buttons | Группа кнопок перемещения "В начало","Следующая"," Предыдущая", "В конец" и класс DataChecker , для проверки конфликтов при перемещении по записям. | _datanav.vcx
Data Navigation Object | Невизуальный навигационный объект, который могут использовать другие классы. | _table.vcx
Data Session Manager | Управляет сессиями данных и обрабатывает обновления данных. | _app.vcx
Data Validation | Перехватывает конфликты данных для буферизированных данных. | _datanav.vcx
DBF -> HTML | Конвертирует курсор (.dbf) Visual FoxPro в HTML. | _internet.vcx
Distinct Values Combo | Ваполняет поиск уникальных значений в поле controlsource, чтобы заполнить combo box(выпадающий список). | _dataquery.vcx
Error Object | Универсальный обработчик ошибки, который работает и для объектного и для процедурного кода. | _app.vcx
Field Mover | Список полей supermover, автоматически загружающий поля текущего источника данных. (Прим. переводчика. Supermover это два списка и кнопки для перемещения отмеченных элементов из одного списка в другой) | _movers.vcx
File Version | Извлекает информацию о версии файла ресурсов. | _utility.vcx
Filter Button | Вызавает диалог для задания фильтра по отдельному полю. | _table2.vcx
Filter Dialog | Диалог, который позволяет Вам определить условие фильтра данных. | _table.vcx
Filter Expression Dialog | Создает расширенный диалог выражения фильтра. | _table.vcx
Find (Findnext) Buttons | Универсальный набор кнопок происка/продолжения поиска. | _table.vcx
Find Button | Находит запись, удовлетворяющую определенным критериям. | _table.vcx
Find Dialog | Диалог поиска по простыму условию, например по выборанному полю. | _table.vcx
Find Files/Text | Пользовательский Filer.DLL COM объект для поиска файлов. | _utility.vcx
Find Object | Создает универсальный объект, который определяет местонахождение записи по указанному условию. | _table.vcx
Font Combobox | Поле со списком, которое содержит доступные шрифты. Оно также используется классами rtfControls и tbrEditing. | _format.vcx
Fontsize Combobox | Поле со списком, которое содержит доступные размеры шрифта. Оно также используется классами rtfControls и tbrEditing. | _format.vcx
Format Toolbar | Панель инструментов форматирования шрифта текста активного элемента управления. | _format.vcx
FRX -> HTML | Конвертирует отчет Visual FoxPro в HTML. | _internet.vcx
GetFile and Directory | Извлекает имя файла и папки. | _controls.vcx
Goto Dialog Box Button | Создает кнопку, которая отображает диалоговое окно "Перейти к" (Goto). | _table2.vcx
Goto Dialog Box | Создает диалоговое окно "Перейти к записи". | _table.vcx
Graph By Record Object | Навигационная группа кнопок, которая позволяет Вам быстро обновить граф записи. | _utility.vcx
Graph Object | Генерирует Граф, используя базовый механизм Конструктора Графа. | Autgraph.vcx
Help Button | Отображает файл справки при старте поиска указанного HelpContextID. | _miscbtns.vcx
Hyperlink Button | Запуск Web-браузера кнопкой. | _hyperlink.vcx
Hyperlink Image | Запуск Web-браузера картинкой. | _hyperlink.vcx
Hyperlink Label | Запуск Web-браузера этикеткой. | _hyperlink.vcx
INI Access | Набор функций системного реестра, которые обеспечивают доступ к параметрам старого файла INI-style. | Registry.vcx
Item Locator | Эта кнопка вызывает диалог поиска записи. | _dialogs.vcx
Keywords Dialog | Создает диалог подобный диалогу ключевых слов галереи компонентов. | _dialogs.vcx
Launch Button | Запускает приложение с дополнительным документом. | _miscbtns.vcx
Locate Button | Отображает диалог для поиска записи. | _table2.vcx
Lookup Combobox | Выполняет поиск значений поля таблицы, чтобы заполнить поле со списком. | _dataquery.vcx
Mail Merge Object | Генерирует почтовое сляния в Word для составление стандартных писем, используя базовый механизм Мастера Составления стандартных писем. | Mailmerge.vcx
Messagebox Handler | Простая обертка к функции MessageBox. | _dialogs.vcx
MouseOver Effects | Выделяет элемент управления, когда указатель мыши проходит над ним. | _ui.vcx
Mover | Простой класс, обеспечивающий перемещение в list box (списке) кнопками move/remove (переместить/удалить). | _movers.vcx
Navigation Shortcut Menu | Контекстное меню, которое может быть привязано к форме. | _table2.vcx
Navigation Toolbar | Набор навигационных кнопок в панели инструментов. | _table2.vcx
Object State | Определяет состояние объекта и сохраняет/восстанавливает свойства объекта. | _app.vcx
ODBC Registry | Набор функций системного реестра, которые возвращают специфичную для ODBC информацию. | Registry.vcx
Offline Switch | Обеспечивает представление online (сетевых) данных для использования автономно. | _dataquery.vcx
OK Button | Простое закрвтие формы. | _miscbtns.vcx
Output Control | Отображает комплексное диалоговое окно, которое запрашивает у пользователя опции вывода отчета. | _reports.vcx
Output Dialog | Отображает диалоговое окно, которое запрашивает у пользователя опции вывода отчета. | _reports.vcx
Output Object | Варианты опций вывода сообщения. | _reports.vcx
Password Dialog | Простой диалог ввода пароля для конечных приложений. | _dialogs.vcx
Pivot Table | Генерирует сводную таблицу Центра Microsoft Excel, используя базовый механизм мастера сводных таблиц. | Pivtable.vcx
Preview Report | Универсальная кнопка для запуска отчета. | _miscbtns.vcx
QBF | Набор кнопок для формы формирования запроса. | _dataquery.vcx
Registry Access | Обеспечивает доступ к информации в Системном реестре Windows. | registry.vcx
Resize Object | Форма, способная изменять размеры/перемещатся при возникновении события resize. | _controls.vcx
RTF Controls | Набор кнопок для форматирования шрифта текста активного элемента управления. | _format.vcx
Run Form Button | Кнопка, которая запускает форму. | _miscbtns.vcx
SCX -> HTML | Конвертирует форму (.scx) в HTM. | _internet.vcx
SendMail Buttons | Использует элемент управления ActiveX MAPI (программного интерфейса почтовых приложений), чтобы послать почтовое сообщение из формы. | _miscbtns.vcx
Shell Execute | Задает поведение при двойном щелчке в проводнике Windows. | _environ.vcx
Shortcut Menu Class | Этот класс обертки динамически создает контекстные всплывающие меню. | _menu.vcx
Simple Edit Buttons | Простые кнопки Add, Edit, Delete, Duplicate, Save, Cancel (Добавить, Редактировать, Удалить, Дублировать, Сохранить, Выход) (какие используются Мастерами форм). | Wizbtns.vcx
Simple Navigation Buttons | Набор кнопок Next и Previous (Следующий и Предыдущий). | _table.vcx
Simple Picture Navigation Buttons | Это - набор простых картинных навигационных кнопок. | _table2.vcx
Sort Button | Отображает диалог, который позволяет Вам представить данные по возрастанию или убыванию выбранного поля. | _table2.vcx
Sort Dialog | Позволяет Вам представить данные по возрастанию или убыванию выбранного поля. | _table2.vcx
Sort Mover | Подкласс класса supermover list box автоматически обрабатывающий сортировку данных | _movers.vcx
Sort Object | Выполняет сортировку источника данных. | _table.vcx
Sort Selector | Выполняет сортировку по возрастанию или убыванию основанную на текущем элементе управления. | _table2.vcx
Sound Player | Этот класс загружает и проигрывает звуковой файл. | _multimedia.vcx
Splash Screen | Обеспечивает простую заставку для заказных приложений. | _dialogs.vcx
SQL Pass Through | Обеспечивает удаленный доступ к SQL позволяет Вам выполнять сохраненные процедуры в вашей хостовой базе данных. | _dataquery.vcx
Stop Watch | Секундомер для формы или контейнера. | _datetime.vcx
String Library | Выполняет различные строковые преобразования. | _utility.vcx
Super Mover | Кнопки "Переместить", "Удалить", "Переместить все" и "Удалить все". | _movers.vcx
System Toolbars | Управляющий класс, который обрабатывает и отслеживает Systoolbars (Системную панель управления). | _app.vcx
Table Mover | Этот подкласс класса supermover list box автоматически загружает таблицы и поля из текущего источника данных. | _movers.vcx
Text Preview | Обеспечивает средство просмотра текста вывода. | _reports.vcx
Thermometer | Обеспечивает стандартный класс thermometer (шкала). | _controls.vcx
Trace Aware Timer | Это - прикладная утилита, которая определяет, является ли окно трассировки открытым. | _app.vcx
Type Library | Основная программа ExportTypeLib. Cоздает текстовый файл с информацией о библиотеке типов | _utility.vcx
URL Combo | Создает combo box (выпадающий список), содержащий URL Web. Запускает Microsoft Internet Explorer и выбирает сайт. | _internet.vcx
URL Open Dialog | Диалог с раскрывающимся списком, который сохраняет хронологию URL. | _internet.vcx
VCR Buttons | Группа навигационных кнопок "В начало", "Следующая" , "Предыдущая". | _table.vcx
VCR Picture Navigation Buttons | Набор картинок стиля VCR (управления видеомагнитофоном) для навигационных кнопок. | _table2.vcx
Video Player | Загрузка и проигрование видео файла используящая команды MCI (интерфейс управления средой). | _multimedia.vcx
Web Browser control | Подкласс Internet Explorer 4.0 Browser. Обработчик событий для кода Visual FoxPro. | _webview.vcx
Window Handler | Исполняет несколько обычных операций с окнами, типичных для приложений. | _ui.vcx

Подробно об этих библиотек классов, см. Visual FoxPro Foundation Classes A-Z. Информацию об использовании фундаментальных классов, см. Guidelines for Using Visual FoxPro Foundation Classes.

Смотрите также

Прочие ресурсы

How to: Customize the Component Gallery
Development Productivity Tools
Using the Component Gallery
Component Gallery Class Library (Vpfgallery.vcx)
Component Gallery Table Structure

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


Component Gallery Class Library (Vpfgallery.vcx)

Visual FoxPro 9.0
Библиотека класса Component Gallery (галереи компонентов) (Vpfgallery.vcx)
Смотрите также

Библиотека классов галереи компонентов, Vpfgallery.vcx, предоставляет типы элементов в виде классов.

Тип элемента Описание

Class (_ClassItem)

Общий тип элемента для любого класса Visual FoxPro. Он может быть получен либо из файла библиотеки класса .vcx или из программных файлов .prg.

File (_FileItem)

Представляет собой любой файл. Visual FoxPro читает регистр в поиске функции оболочки и добавляет их в меню. Галерея включает в себя поисковую процедуру, которая проверяет наличие конкретного расширенияи и осуществляет перенаправление типа элемента.

Галерея поддерживает соглашение по наименованиям UNC для разработок в составе команды (совместное использование каталогов в сетях).

ActiveX (_ActiveXItem)

Представляет собой элемент управления ActiveX Control или Server, такой как .ocx, созданный в Visual Basic CCE или .exe/.dll, созданный в Visual FoxPro.

Data (_DataItem)

Представляет собой источник данных Visual FoxPro (.dbc, .dbf, View и тому подобное).

Image (_ImageItem)

Представляет собой тип "Элемент Файл", чей файл имеет расширение имени файла такое, как .bmp, .jpg, .gif, .ico, .cur, .ani и тому подобное.

Sound (_SoundItem)

Представляет собой тип "Элемент Файл", чей файл имеет расширение имени файла такое, как .wav или .rmi extension.

Video(_VideoItem)

Представляет собой тип "Элемент Файл", чей файл имеет расширение имени файла такое, как .avi.

URL (_UrlItem)

Представляет тип Элемент Web и включает документы, как с Web, так и локальные тип HTML файлов.

Sample (_SampleItem)

Представляет собой тип "Элемент Файл" для файлов, которые запускаются в среде Visual FoxPro, а также могут быть исполнимым Visual FoxPro приложениями, такие как .app, .exe, .prg, .scx или .frx.

Template (_TemplateItem)

Представляет собой тип "Элемент Скрипт", который открывает компоновщик для элементов Visual FoxPro, представленных типом выбранного элемента, включая формы и отчеты.

Catalog (_CatalogItem)

Представляет собой тип "Элемент Каталог", который позволяет вас вводить и открывать каталоги Visual FoxPro.

Form(_FormItem)

Представляет собой тип для форм Visual FoxPro (.scx).

Report (_ReportItem)

Представляет собой тип для отчетов Visual FoxPro (.frx).

Menu (_MenuItem)

Представляет собой тип для меню Visual FoxPro (.mnx).

Program (_ProgramItem)

Представляет собой тип для программ Visual FoxPro (.prg).

Project (_ProjectItem)

Представляет собой тип для проектов Visual FoxPro (.pjx).

Вы можете использовать Обозреватель классов (Class Browser) для исследования подробностей каждого из этих классов.

Для изучения подробного описания прочих классов, используемых в Галерее компонентов (Component Gallery) посмотрите статью Фундаментальные классы Visual FoxPro от A до Z или используйте Class Browser (Обозреватель классов) для исследования библиотек в папке фундаментальных классов - Ffc.

Смотрите также

Справочное руководство

Члены объекта Component Gallery (Галерея компонентов)
Структура таблицы Component Gallery (Галереи компонентов)

Концепции

Приложение Coverage Profiler

Прочие ресурсы

Инструменты повышения производительности разработки
Использование Галереи компонентов (Component Gallery)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Component Gallery Table Structure

Visual FoxPro 9.0
Структура таблицы Component Gallery
Смотрите также
CollapseAll image

Галерея компонентов (Visual FoxPro Component Gallery) описана в приведенной ниже структуре таблицы.

Поле | Имя поля | Тип | Ширина | Индекс
1 | TYPE | Character | 12 | нет
2 | ID | Character | 12 | нет
3 | PARENT | Memo | 4 | нет
4 | LINK | Memo | 4 | нет
5 | TEXT | Memo | 4 | нет
6 | TYPEDESC | Memo | 4 | нет
7 | DESC | Memo | 4 | нет
8 | PROPERTIES | Memo | 4 | нет
9 | FILENAME | Memo | 4 | нет
10 | CLASS | Memo | 4 | нет
11 | PICTURE | Memo | 4 | нет
12 | FOLDERPICT | Memo | 4 | нет
13 | SCRIPT | Memo | 4 | нет
14 | CLASSLIB | Memo | 4 | нет
15 | CLASSNAME | Memo | 4 | нет
16 | ITEMCLASS | Memo | 4 | нет
17 | ITEMTPDESC | Memo | 4 | нет
18 | VIEWS | Memo | 4 | нет
19 | KEYWORDS | Memo | 4 | нет
20 | SRCALIAS | Memo | 4 | нет
21 | SRCRECNO | Numeric | 6 | нет
22 | UPDATED | DateTime | 8 | нет
23 | COMMENT | Memo | 4 | нет
24 | USER | Memo | 4 | нет

Expand image Смотрите также

Справочное руководство

Члены объекта Component Gallery

Концепции

Библиотека классов Component Gallery (Vpfgallery.vcx)
Приложение Coverage Profiler

Прочие ресурсы

Инструменты производительности разработчика
Использование Component Gallery

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Coverage Profiler Application

Visual FoxPro 9.0
Приложение "Coverage Profiler"

Одна часть подсистемы "Coverage Profiler" (Профилировщик Покрытия) обеспечивает запись информации о строках выполняемого Программного Кода в файл Протокола (Coverage - покрытие программного Кода), какие части модулей выполняются, а какие - Не выполняются. Вторая часть указанного приложения (Profiler) представляет информацию о Хронометраже выполняемых фрагментов программного Кода, хронометрирует выполнение каждой строки программных модулей и записывает в файл Протокола перечисленную информацию. Рассматриваемое Приложение Coverage / Profiling обеспечивает Разработчика инструментом анализа эффективности выполнения отдельных фрагментов создаваемого Приложения, выявляет пропускаемые участки программного кода, выявляет "узкие места" по скорости выполнения программного Кода.

Представляемая подсистема Visual FoxPro Coverage Profiler представляется в двух Частях, сам внутренний механизм (движек) Coverage может быть использован вами для анализа, настройки, повышения эффективности ваших Приложений или Проектов. Исходные программные тексты Coverage Profiler (как Вторая часть) не представлены в системном каталоге Visual FoxPro (по-умолчанию). Для использования указанных источников раскройте архив XSource.zip, который размещен в подкаталоге ...\Tools\XSource.

Приложение Coverage Profiler (Coverage.app) обеспечивает несколько вариантов просмотра Протоколов анализируемых программных модулей, созданных данным Профилировщиком. Приложение Coverage.app является порождаемым подклассом от родительского Класса Coverage Engine Class. Вы можете использовать стандартный интерфейс Профилировщика или изменить возможные настраиваемые опции; или отключить совсем пользовательский Интерфейс.

При запуске данного Приложения Coverage.app останавливыается процесс Протоколирования пользовательского Приложения, который бал инициирован ранее стандартной командой SET COVERAGE. После завершения работы с описываемым Профилировщиком задается вопрос о варианте продолжения Протоколирования анализируемых программных модулей, восстановления установок команды: SET COVERAGE.

В данном Папраграфе

Файл Протокола подсистемы Coverage Profiler

Объясняется, как подсистема Visual FoxPro Coverage Profiler создает и использует файл Протокола, содержащего записи информационных Элементов, перечисленных через запятую.

Как: Проанализировать ваше Приложения с помощью инструментов: Coverage / Profile

Приводится информация о возможностях подсистемы Coverage Profiler, обеспечивающих полную и детальную характеристику ваших Проектов или Приложений.

Модификация подсистемы Coverage Profiler

Рассматриваются вопросы изменения стандартных настроек Coverage Profiler, определения дочернего системного окна от главного экрана Visual FoxPro, или создания независимого окна Приложения.

Расширение функционала подсистемы Coverage Profiler

Объясняется, как подготовить и зарегистрировать дополнительные или расширяющие Модули подсистемы Coverage Profiler.

Как: Протоколировать программный Код с помощью Coverage (Покрытия)

Объясняется, как с помощью Протокола анализа программного кода, содержащего детальную информацию о каждом фрагменте выполненных Модулей, их хронометраже, построить более эффективные механизмы. Представленная информация поможет вам оптимизировать ваши Приложения, переопределить неэффективные фрагменты программных модулей.

Оптимизация Дискового Пространства с помощью инструментария Coverage

Рассматриваются вопросы использования рассматриваемых инструментов для оптимизации используемого места Таблицами данных, чтобы избежать в некоторых случаях аварийных сообщений типа: "out of disk space" (недостаточно места на Диске).

Coverage Engine Object, характеристики

Приводятся базовые Свойства, События, Методы класса Coverage Engine.

Связанные Разделы

Инструментарий Продуктивной Разработки Приложений

Представлена дополнительная информация об Инструментариях эффективной разработки, которая может быть использована при разработке приложений с помощью Visual FoxPro или других Языков Программирования.

IntelliSense, общее Описание

Представлена информация о подсистеме IntelliSense, которая обеспечивает эффективный вариант создания Программного Кода с использованием активных информационных Окон и динамических Списков, раскрывающих всевозможные синтаксические Конструкции Языка программирования.

Перехваты (Hooks) для Диспетчера Проектов (Project Manager)

Объясняется, как вы можете программным способом получить доступ к Компонентам Проекта, изменять или дополнять явные и неявные функциональные возможности ваших Приложений.

Задачи автоматического нажатия Клавиш, решаемые с помощью Макросов

Рассматриваются вопросы, как вы можете определить и сохранить последовательности нажатия Клавиш с помощью Диалогового Бокса Macros (Макросы).

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Coverage Profiler Log File

Visual FoxPro 9.0
Файл Журнала подсистемы "Coverage Profiler"
Смотрите Также

Подсистема Coverage Profiler (Зона Испытаний) использует файл Журнала Протокола, созданного системой Visual FoxPro, когда вы устанавливаете опцию Coverage из меню Tools Отладчика (Debuger) или используете системную команду SET COVERAGE TO в представленном далее виде:

CopyCode image Копировать Код
SET COVERAGE TO cCoverage.log

В том случае, когда в данной команде используется опциональная секция ADDITIVE, то журнал Протокола не переписывается, а дополняется. Данная команда открывает текстовый файл Журнал Протокола типа cCoverage.log и запускает режим отслеживания выполняемого Приложения; Протокол содержит детальную информацию о ходе выполнения испытуемого вами Приложения.

Указанный Журнал типа "Coverage Log" содержит информационные записи, в которых элементы перечисляются через запятую. В следующем списке описывается структура указанных информационных записей Протокола.

Элемент | Краткое Описание
1 | Время выполнения (момент выполнения)
2 | Класс выполняемого Программного Кода
3 | Объект, Метод, или Процедура, в которых найден выполняемый в настоящий момент программный Код
4 | Номер выполняемой строки в диапазоне данной Процедуры или Метода
5 | Полный путь выполняемого программного файла
6 | Уровень вложенности данного модуля (stack level)

После задания имени файла Протокола, запустите на выполнение программный Модуль или Приложение, которое собираетесь Анализировать. После того, как завершится выполнение программы, выполните команду: SET COVERAGE TO (без указания файла), что закончит процесс Отслеживания программного кода и закроет файл Протокола типа "Coverage Log".

Вы можете просмотреть указанный выше файл Протокола с помощью подсистемы Coverage Profiler (Зона Испытаний), который вызывается из системного меню Tools или при помощи стандартной команды DO, как показано в следующем примере:

CopyCode image Копировать Код
DO (_COVERAGE) [WITH cCoverage]

Система Visual FoxPro информирует вас об отсутствии файла Протокола, если он не указывался в описываемой выше команде (Set Coverage To...). Системная переменная _COVERAGE, по-умолчанию, установлена в указанное выше приложение Visual FoxPro: Coverage Profiler, Coverage.App.

См. также

Задачи

Как: Испытать ваше Приложение с помощью подсистемы Coverage / Profile

Описание

Структура Таблицы подсистемы Component Gallery (Галерея Компонент)

Концепции

Использование подсистемы Coverage Profiler (Испытательная Зона)

Другие ссылки

Инструментарий Эффективной Разработки Приложений
Использование подсистемы Component Gallery

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Examine Application Coverage and Profile

Visual FoxPro 9.0
Как: Провести испытание приложения с помощью "Coverage / Profile"
См. также

При эффективном использовании подсистемы Coverage Profiler, тестировании и испытании программного Кода вашего Приложения, а также оптимизации Среды выполнения приложения вам рекомендуется провести некоторый анализ вашего Приложения. Подсистема Coverage Profiler может обеспечить вас детальной и точной информацией о работе вашего Проекта или Приложения.

Для использования подсистемы Coverage Profiler при Исследовании приложения в режиме "Coverage":

  1. Используйте параметр Coverage Logging из системного меню Debugger Tools или выполните стандартную команду SET COVERAGE, которые активируют процесс Анализа потока выполняемых данных (программного Кода), и открывают файл Протокола, в который записываются все Статистические Данные анализа выполнения.

  2. Запустите на выполнение Программу или Приложение, процесс протекания которых вы собираетесь проанализировать в деталях.

  3. Активируйте Приложение Анализа (Coverage Application), из системного меню Tools, соответствующий подпункт; или выполните в Командном окне стандартную команду: DO (_COVERAGE).

    Приложение Coverage Profiler (Зона Испытаний, или Охватывающий Профилировщик) запускается в режиме Coverage Mode (по-умолчанию, стандартно).

Для использования подсистемы Coverage Profiler при Исследовании приложения в режиме "Profile":

  1. Используйте стандартную команду SET COVERAGE для активации процесса сбора статистической информации о потоке выполняемых инструкций и Открытия файла Протокола, в который записываются указанные данные.

  2. Запустите на выполнение Программу или Приложение, которое намереваетесь Профилировать (Проводить Хронометраж выполнения).

  3. Активируйте подсистему Профилировщика (Зоны Испытаний), из системного меню Tools, или выполните в Командном окне оператор: DO (_COVERAGE).

  4. В активированном окне Профилировщика нажмите командную кнопку Profile Mode (Режим Профилировщика - Хронометра).

    Если вам требуется изменить специфику собираемой статистической Информации, вы можете изменить Стандартные настройки Профилировщика, которые можно выполнить в: Coverage Profiler Options (параметры), диалоговый бокс.

Для активации подсистемы Coverage Profiler с конкретным Файлом Протокола:

  • Запустите Профилировщик, используя секцию задания дополнительных параметров: WITH, после которой уточняется имя файла Протокола, как показано в следующем примере:

    CopyCode image Копировать Код
    DO (_COVERAGE) WITH "Mylog.LOG"

    Данный пример иллюстрирует активацию Профилировщика для указанного файла Протокола: Mylog.log. Если вы не указываете имя файла Протокола, то подсистема Coverage Profiler использует файл протокола, который является текущим, указанным в последней команде: SET COVERAGE TO, или активирует диалоговый бокс Открытия файла Протокола в том случае, когда в настоящий момент отключено протоколирование выполнения программного Кода, то есть: ( Set Coverage OFF ).

Для использования подсистемы Coverage Profiler без подсистемы Пользовательского Интерфейса:

  • Запустите Профилировщик с указанием дополнительных параметров WITH: имя файла Протокола, и параметр True (.T.), который отключает режим использования Пользовательского Интерфейса, Например:

    CopyCode image Копировать Код
    DO (_COVERAGE) WITH "Mylog.LOG",.T.

    В этом случае подсистема Профилировщика (Coverage Profiler) активируется с открытием файла Протокола: "Mylog.log" и загружается без активации главного окна приложения "Coverage Profiler".

Для использования подсистемы Coverage Profiler с указанием пользовательского файла Расширения:

  • Запустите Профилировщик с указанием дополнительных параметров WITH, где третьим параметром указывается пользовательский программный файл, как указано в следующем примере:

    CopyCode image Копировать Код
    DO (_COVERAGE) WITH "Mylog.LOG",, "add_ui.prg"

    В данном примере активируется Профилировщик, открывается файл Протокола: "Mylog.log", отображается стандартное системное Окно Coverage Profiler, и запускается на выполнение модуль Расширения: ADD_UI.PRG. Обратите внимание, что второй параметр не указан при вызове Приложения Профилировщика, по-умолчанию, для данного параметра принимается значение = False (.F.), что означает отображение стандартного окна Профилировщика "Coverage Profiler".

Помимо описанной выше всеобъемлющей Информации Профилировщика, вы можете добавить свои собственные Комментарии по интересующим вас моментам Протокола выполнения Приложения, которые можете использовать в дальнейшем, при разработке новых Приложений.

См. также

Концепции

Модификация подсистемы Coverage Profiler
Расширение подсистемы Coverage Profiler
Перехватчики (Hooks) Диспетчера Проектов (Project Manager)
Использование подсистемы Coverage Profiler (Зона Испытаний)

Другие ссылки

Инструменты Эффективной Разработки Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Coverage Profiler Modification

Visual FoxPro 9.0
Модификация Профайлера Области Наблюдения (Coverage Profiler Modification)
См. также

По умолчанию, приложение Coverage Profiler выполняется в отдельном окне. Изменив Environment Option (Опцию Окружения) вы можете переконфигурировать его и тем самым заставить выполняться в главном окне Visual FoxPro. В Диалоговом окне Coverage Profiler Options измените значение опции Environment с Coverage frame на FoxPro frame, а затем перезапустите Coverage Profiler.

Кроме того, диалоговое окно Coverage Profiler Options можно использовать для модификации следующих характеристик Coverage Profiler.

Характеристика | Описание
Add-Ins | Указывает надо ли регистрировать Add-Ins (расширения) по мере их использования в Coverage Profiler. Specifies whether Add-Ins are registered in the Coverage Profiler as they are used. For more information, see the section, "."
Coverage Marks | Указывает будет ли Coverage Profiler маркировать код, который выполнялся, или код, который не выполнялся. Специфицирует символ (-ы), используемый для маркировки кода. Указывается толко в том случае, если код нуждается в маркировке.
Fonts | Указывает шрифт, который Coverage Profiler использует для отображения классов, объектов и процедур (Display Font) и шрифт отображения кода (Code Font).
Smart Pathing | Указывает, будет ли Coverage Profiler автоматически искать файлы в ранее определенных локациях.
Start Mode | Указывает, будет ли Coverage Profiler открываться в Coverage режиме или Profile режиме.

Обеспечение Релевантности в Coverage Profiler

Для проверки того, что файлы обработанные в Coverage Profiler корректны, проделайте следующее:

  • Перед тем как запустить журналирование области наблюдения установите папку вашего проекта как умолчиваемую, чтобы связать ссылки на файлы.

  • Избегайте динамического переименования объектов. Coverage Profiler не найдет объекты, переименованные во время выполнения приложения.

  • Избегайте использовать исходные файлы с одинаковыми именами, даже если расширения у них разные, т.к. Coverage Profiler не различает их.

  • Убедитесь, что ваш проект содержит только правильные версии часто модифицировавшихся файлов.

  • Убедитесь, что ваш проект не содержит несколько копий одного файла во вложенных папках.

  • Выполните компиляцию перед тем как запустить наблюдение:

    • Убедитесь, что в вашем приложении есть информация для Отладчика (Make sure Debug information is in your application).

    • Выключите Кодирование (Encrypt OFF).

    • Используйте RECOMPILE или Build All для того, чтобы гарантировать перекомпиляцию всего исходного кода.

    • Выполните компиляцию непосредственно перед началом наблюдения, чтобы быть уверенным в том, что исходный код точно соотносится с объектным кодом.

Некоторые строки кода, такие как комментарии, операторы DEFINE CLASS и ELSE, строки расположенные между операторами TEXT и ENDTEXT, не показываются в журнале наблюдения, т.к. они никогда не выполняются. Сюда же попадут строки разбитые символами продолжения (точка с запятой). Они считаются отдельными строками кода и маркер появится только на последней части разбитой строки.

См. также

Задачи

Руководство: Проверка Приложения при помощи Coverage и Profile

Понятия

Расширения ( Add-Ins ) в Coverage Profiler
Приложение Coverage Profiler
Project Manager Hooks (Ловушки)

Другие Ресурсы

Инструментальные Средства для Повышения Производительности Разработки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Coverage Profiler Add-Ins

Visual FoxPro 9.0
Дополнения к подсистеме "Coverage Profiler"
Смотрите Также

Программные Модули Расширения, (обычно это: .prg или .scx) обеспечивают для вас простой путь доступа к базовым функциональным возможностям подсистемы Анализа исходного программного Кода "Coverage Profiler", далее по тексту - Профилировщика. Базовый класс Движка профилировщика: Cov_Standard с помощью стандартного Интерфейса (Оболочки) Coverage.app, обеспечивают только базовую, малую Часть функциональных возможностей Профилировщика. Представленный механизм Анализа формирует Отчет - Протокол в самом простейшем виде, только в одном из возможных вариантов, которые вы можете использовать для своих целей.

На основе механизма Субклассирования от Cov_Engine вы можете создать совершенно другой Интерфейс. Например, созданный вами Подкласс может отобразить Диалоговый бокс, определить параметры Запроса к Таблице-Протоколу Статистики, созданному стандартными механизмами Анализа. Указанный Запрос может содержать специфические параметры Фильтрации записей Протокола и параметры уточняющие колонки формируемого Отчета (использование только необходимых характеристик Статистики).

Вы можете создать новый пользовательский Интерфейс что называется: "на пустом месте", однако базовые функциональные возможности класса cov_engine достаточно надежно и просто реализованы в стандартном интерфейсе Профилировщика. На основе базового класса стандартного интерфейса Cov_Standard, использующего Движек класса Cov_Engine вы можете разработать дополнительное Расширение - пользовательский Модуль или Форму, которые выполнят необходимые вам специфические функции. Стандартный класс Cov_standard обеспечивает регистрацию Модулей Расширения с помощью специальной командной кнопки, которая размещается в стандартном Окне Профилировщика (Coverage Profiler). Когда вы запускаете модуль Расширения на основе стандартного Интерфейса, то получаете все те же самые функциональные возможности базового Движка, как и стандартный модуль класса Cov_Standard, доступ к таблице Протокола, к свойствам и Методам самого Движка Анализа. Модули Расширения способны значительно обогатить стандартный Пользовательский Интерфейс, добавить требуемые функциональные возможности к стандартным возможностям обработки Протокола Статистики.

Создание Дополнительных Компонент

Вы можете разработать дополнительные, расширяющие компоненты к стандартному интерфейсу рассматриваемой подсистемы Анализа или использовать субклассирование от cov_standard, для создания собственного Интерфейса.

Расширение Стандартного Приложения Профилировщика

В следующем Списке представлены некоторые функции, которые могут быть выполнены модулями Расширения:

  • Добавление визуальных компонент к основной Форме подсистемы Анализа, Профилировщика.

  • Добавление специального Диалога набор форм профилировщика (в целях протестировать возможность расширения стандартного пользовательского Интерфейса, правильности его обработки и расположения).

  • Отображения отсутствующих в Стандарте функциональных возможностей Движка Coverage.

  • Создание подсистемы Запросов к стандартной Таблице - Протоколу Статистики Анализа, фильтры, порядок размещения данных и прочее, отображения Результатов Запросов.

    Note Обратите Внимание

    Вы можете использовать методы Настройки - "Adjust..." (AdjustCoverageFilenameCursor(), AdjustSourceCursor(), а также AdjustTargetCursor()), которые позволяют обрабатывать Исходные и Результирующие Таблицы данных базового Движка и используются в ваших модулях Расширений (Add-Ins).

  • Добавить имена файлов в Курсор IgnoredFiles, содержащий имена необработанных программных файлов, что сокращает время обработки Протокола Анализа.

  • Использование специализированных Перехватов в начальном Событии Init для выполнения модулей расширения.

  • Использование Регистрационных Списков модулей расширений (Register Add-Ins).

    Модальный диалоговый бокс, построенный от класса cov_AddInDialog, обеспечивает доступ к регистрационной Таблице модулей Расширений. Когда вы определяете значение стандартное свойство Движка lRegisterAdd-In = ON, то полное имя модуля Расширения регистрируется в списке модулей, сохраненном в Реестре (Windows Registry) и данный модуль может быть вторично выполнен. В стандартном Окне Движка данная функция обеспечивается в: Диалоговом боксе Coverage Profiler Options.

    Подсистема Coverage Engine обеспечивает регистрацию всех успешно выполненных модулей Расширений в свойстве-массиве aAddIns.

  • Построение возможности использования итоговой информации из Протокола Анализа, представления данной информации в собственном виде, отформатированную.

При разработке ваших Модулей Расширений рекомендуется учитывать следующие Замечания:

  • Вы можете использовать только одни из поддерживаемых типов файлов в ваших Расширениях: .qpr, .qpx, .mpr, .mpx, .app, .exe, .scx, fxp, .prg, а также файлы Процедур (которые открыты в момент разработки модулей ваших Расширений).

  • Стандартная форма Coverage Engine содержит невидимую ("invisible") инструментальную линейку. Если ваш Модуль является невизуальным, то вы можете использовать функциональ указанного ToolBar. Если ваш Модуль содержит визуальные Контролы, то вы можете использовать уже имеющийся член-компоненту .Cov_tools, что позволяет вам получить доступ к функциям Движка. Этот прием обеспечивает полную синхронизацию выполняемых функций вашим Модулем Расширения.

  • Все методы базового класса используют Исходные и Результирующие Таблицы, доступ к которым осуществляется через соответствующие Алиасы. Вы можете изменить или использовать имена указанных Алиасов, они хранятся в свойствах: cSourceAlias и cTargetAlias. Это позволяет вам работать с несколькими Протоколами Анализа исходных программных Кодов.

  • Основные Ограничения:

    • Модуль Расширения должен принимать один параметр (Профилировщик передает собственную ссылку в запускаемый Модуль).

    • Компонентой Расширения может быть один из перечисленных типов поддерживаемых программных файлов.

    • Используемые в Модуле процедурные файлы должны быть доступны (или загружены) в момент выполнения Профилировщика (смотрите дополнительно: SET PROCEDURE, команда). Профилировщик не использует вариант синтаксиса: IN FileName; и не использует вызов процедур или функций через стандартную команду: RETURN (например: Return MyFunction()). Профилировщик не использует секции NAME / LINK в стандартной команде вызова Формы: DO FORM; вам нужно самостоятельно отслеживать передаваемую ссылку на объект-ядро, ваша форма становится членом общего набора форм (FormSet) Движка Профилировщика.

    • Если планируете выполнение модуля Расширения при запуске Профилировщика, то вам необходимо использовать прямую ссылку на Движек, так как в этот момент публичная переменная _oCoverage еще не определена (еще не доступна). В другом случае, когда приложение уже запущено, вы можете использовать указанную переменную в качестве ссылки на объект-ядро, или на собственную переменную из Модуля Расширения, как вам удобно.

    • Если вы создаете Расширение в виде Формы, для которой установлено свойство ShowWindow = 1 (In-Top-Level-Form), а Профилировщик запускается в собственном фрейме (независимо от главного окна VFP), то ваша форма запустится внутри главного окна Профилировщика.

    • Если вы используете вызов метода .RunAddIn из Командного Окна, сначала убедитесь в том, что фрейм Профилировщика запущен в самостоятельном контексте, как форма типа MDI, и только после этого активируйте вашу Форму.

Субклассирование от родительского класса Cov_Standard

Вы можете воспользоваться субклассированием от стандартного "движка" Coverage. Далее представлены основные компоненты структуры проекта COVERAGE.

Программный Файл Краткое Описание

Coverage.prg

Это есть Оболочка ("wrapper") для объекта Профилировщика, которая представляет рассматриваемый Объект.

Coverage.vcx Coverage.vct

Библиотека всех Классов, используемых в Проекте.

Cov_short.mnx Cov_short.mnt

Модуль-Таблица Контекстного Меню.

Cov_pjx.frx Cov_pjx.frt

Стандартный Отчет о Структуре уровня Проекта.

Coverage.h

Заголовочный файл Профилировщика, который состоит (ссылается) на следующие подразделы:

*— Символьные константы Профилировщика, используемые при Протоколировании и Анализе Исходного Программного Кода:

CopyCode image Копировать Код
 #INCLUDE COV_CHAR.H

*— Символьные константы Локализации (используются в протоколах и при Анализе):

CopyCode image Копировать Код
 #INCLUDE COV_LOCS.H

*— Общие константы ключевых Диалогов Профилировщика:

CopyCode image Копировать Код
 #INCLUDE COV_DLGS.H

*— Технические константы Профилировщика (Coverage):

CopyCode image Копировать Код
 #INCLUDE COV_SPEC.H

*— Константы, характеризующие Объект в Реестре Windows:

CopyCode image Копировать Код
 #INCLUDE COV_REGS.H

*— Константы "тонкой" настройки Профилировщика:

CopyCode image Копировать Код
 #INCLUDE COV_TUNE.H

Рассматриваемый Проект COVERAGE содержит также дополнительные файлы, такие, как: .ico .bmp, .msk .

Используйте файл COV_TUNE.H (содержащий дополнительные комментарии и разъяснения) для детального ознакомления с различными тонкостями разработки данного Проекта (для исключения возможных Ошибок и неточностей).

Поскольку создаваемые Расширения управляются базовым Классом Профилировщика, то и любой порождаемый подкласс может использовать данные модули Расширения подсистемы Анализа исходного Кода.

Подкласс от базового класса Профилировщика (по-умолчанию, это приложение Coverage.app) никогда не запускает сразу модуль созданного расширения с помощью существующего Метода RunAddIn( ). Так создана Технология, однако, перед выполнением модуля Расширения сначала активируется модальное окно выбора конкретного Модуля (Add-In) и только после этого выполняется метод профилировщика RunAddIn( ). Модальный Диалоговый бокс получает необходимую ссылку на активный объект Профилировщика и устанавливает значение Свойства, содержащего Имя текущего, последнего выполненного модуля Расширения: cAddIn.

Если вы разрабатываете собственный подкласс Профилировщика, вам требуется обеспечить использование вашим Объектом стандартного модального диалогового бокса (cov_AddInDialog), который обрабатывает все модули Расширения рассматриваемого Профилировщика; указанный Диалоговый бокс не использует никакие функции стандартного класса исходного Объекта.

Вы можете активировать другой (нестандартный) диалоговый бокс, напрямую определить значение свойства: cAddIn, как имя файла Модуля Расширения, или отменить (очистить) значение свойства cAddIn, или передать имя требуемого файла модуля Расширения в качестве параметра для выполнения Метода RunAddIn( ).

В тоже время, при использовании стандартного механизма, вы имеете доступ к целому Списку зарегистрированных модулей Расширений, которые обычно размещаются в свойстве-массиве aAddIns стандартного объекта Профилировщика.

Дополнительную информацию об основных Свойствах, Событиях и Методах Профилировщика смотрите в разделе: Coverage Engine Object.

См. также

Концепции

Модификация подсистемы "Coverage Profiler"
Перехватчики (Hooks) Диспетчера Проектов
Иерархическая структура объектов Проекта
Подсистема Анализа "Coverage Profiler"

Другие ссылки

Инструментарий продуктивной Разработки

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Log Code Coverage

Visual FoxPro 9.0
Как: Создать Протокол программного Кода (Coverage)
См. также Пример

Позднее, при продолжении процесса Разработки Приложения, вы можете очистить или переопределить фрагменты программного Кода, которые были проанализированы с помощью детальной информации из Протоколов Профилировщик.

Протоколы Профилировщика (Coverage ProFiler) содержат информацию о тестируемых программных модулях, позволяют вам увидеть невыполненные фрагменты, хронометраж выполнения отдельных строк программного Кода. С помощью этих данных вы можете провести "тонкую" настройку (тюнинг) проблемных фрагментов вашего Приложения, что позволит вам эффективно использовать уже разработанные библиотеки в новых Приложениях.

Переключение режимов Активности / Неактивности протоколирования выполнения программных модулей вы можете с помощью инструментальной кнопки: "Code Coverage" из системного Окна Debugger. Если вам требуется Включить Протоколирование, то активируется Coverage, диалоговый бокс, где вводится имя и место файла Протокола и другие дополнительные параметры.

Описываемый выше процесс управления Протоколированием может быть выполнен вами с помощью стандартной команды SET COVERAGE TO. Например, вы можете включить данную команду перед Проблемным фрагментом программного Кода, который требует дополнительного Анализа:

CopyCode image Копировать Код
SET COVERAGE TO mylog.log

После завершения протоколирования, для закрытия файла протокола, Выключения Протоколирования вы можете включить следующую стандартную команду:

CopyCode image Копировать Код
SET COVERAGE TO

После того, как вы определили имя и местоположение файла Протокола, активировали процесс протоколирования, перейдите в главное окно Visual FoxPro и запустите на выполнение требуемый программный модуль или Приложение. Для каждой Строки выполняемого программного Кода в созданном Протоколе записываются следующие Информационные Элементы:

  • Хронометраж выполнения строки Кода (как долго выполняется команда), в секундах.

  • Класс из Библиотеки, к которому относится протоколируемый Код, если таковой имеется.

  • Метод или Процедура, которым принадлежит исследуемый Код.

  • Номер Строки, относительно программного модуля.

  • Имя Файла, содержащего программный Код.

  • Уровень Стэка выполнения (Call stack level).

Для облегчения процессов Анализа информации из описываемых текстовых Протоколов они конвертируются в обычные Таблицы, что обеспечивает создание Фильтров, Сортировок, выполнения требуемых Запросов (SQL)

Подсистема Coverage Profiler создает временный Курсор из соответствующего Протокола анализируемого программного Кода, что обеспечивает более эффективную обработку информации из Протокола, для Анализа.

Пример

В представленном примере иллюстрируется конвертация текстового файла Протокола Профилировщика (Coverage) в обычную таблицу (.Dbf):

CopyCode image Копировать Код
cFileName = GETFILE('DBF')
IF EMPTY(cFileName)
 RETURN
ENDIF

CREATE TABLE (cFileName) ;
 (duration n(7,3), ;
 class c(30), ;
 procedure c(60), ;
 line i, ;
 file c(100))

APPEND FROM GETFILE('log') TYPE DELIMITED

См. также

Описание

Отображение Результатов
Системное окно Debugger
Coverage, диалоговый бокс
SET COVERAGE, команда

Концепции

Обработка Ошибок в режиме Run-Time
Использование подсистемы Coverage Profiler

Другие ссылки

Тестирование и Отладка Приложений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Conserving Disk Space During Coverage Runs

Visual FoxPro 9.0
Бронирование Дискового Пространства при выполнении приложения Coverage
См. Также

Если вы регулярно получаете сообщение об Ошибке "out of disk space" (недостаточно места на Диске) при работе с приложением Coverage, Вы можете изменить размерность некоторых Полей рабочих Таблиц данного Приложения, в некоторых случаях, эти таблицы уменьшаются в размере.

По-умолчанию, размер Полей для хранения имен объектов и их Компонент = 115, они содержат длинные наименования и полные пути доступа к рабочим компонентам. Значения, большие чем > 115, не рекомендуется использовать в своей работе, предполагается, что сумма двух соответствующих Полей не должна превышать 240 (максимального значения для длины Ключевого Поля - индексного выражения).

Не рекомендуется уменьшать размер для поля с именем Hostfile, если вы не уверены, что имена файлов, содержащих исходные тексты программного Кода не содержат длинных имен Компонент. В противном случае, рассматриваемое Приложение будет генерировать сообщение об Ошибке: отсутствует некомпилированная версия данного файла.

Если вы используете глубоко вложенные объекты PageFrame, а также сложные сетки Grid, содержащие длинные имена вложенных объектов, то остерегайтесь сокращать длину полей ObjClass / Executing, ; еще требуется резирвировать место для возможного сообщения об Ошибке. В противном случае, вам будет трудно определить местоположения возникающей ошибки, так как, необходимая информация не поместилась в соответствующем поле рабочей таблицы приложения Coverage.

Когда вы изменилт размерность полей ObjClass / Executing, может возникнуть опасность неадекватного обозначения объектов или Компонент в соответствующем файле Протокола статистики подсистемы Coverage. Хотя рассматриваемая подсистема не генерирует никаких простейших ошибок (с низким уровнем значимости), но при выполнении разрабатываемого приложения согут возникнуть более серьезные Ошибки по однозначной идентификации используемых объектов, имена которых были урезаны в процессе работы приложения Coverage.

Обычно, для изменения размеров описываемых полей, используются значения свойств: iLenHostfile, iLenObjClass, iLenExecuting. Вы можете динамически изменять значения этих свойств, при открытом системном окне Coverage, но до момента открытия Журнала (Coverage Log), который имеет очень большой размер.

Note Обратите Внимание

Когда вы уже открыли Журнал, вы не можете изменить размерность описанных полей, пока не будет создан новый журнал, иначе вы рискуете получать Статистические Ошибки.

Тем не менее, если вы определили значение параметра COV_TOPSPEED = True (.T.) (наилучшая скорость выполнения), из соответствующего настроечного файла COV_TUNE.H, что улучшает производительность приложения Coverage, который использует настроечные параметры из уже указанного файла COV_TUNE.H, где также могут быть определены размерности описанных выше Полей. (Данные значения используются многократно для получения однозначных сравнений различных Компонент приложения, и при анализе исходного программного Кода.) Если вы используете установку COV_TOPSPEED = true (.T.), вы должны выполнить соответствующие корректировки в указанном файле COV_TUNE.H

См. также

Описание

Coverage Engine, объект

Концепции

Coverage Profiler, приложение

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Coverage Engine Object

Visual FoxPro 9.0 Описание Языка
Объект "Coverage Engine" (Профилировщик)
См. также
CollapseAll image

Класс внутреннего механизма (движка - Engine) Профилировщика (Coverage Engine) является Подклассом от базового класса Visual FoxPro FormSet. Хотя данный факт не обеспечивает никаких дополнительных визуальных компонентов, но создает Сессию Данных типа FormSet и обеспечивает обратную совместимость для файлов Протоколов, созданных при использовании команд и функций: WAIT, команда, MESSAGEBOX( ), функция, и к тому же дополнительное субклассирование для MSComDlg.CommonDialog.

Note Обратите Внимание

Данный объект типа formset не является порожденным подклассом от класса _formset, поэтому Профилировщик Coverage Profiler запускается начиная с версии Visual FoxPro 5.0, и для более поздних.

Класс | cov_engine
Библиотека Классов | coverage.vcx
Базовый Класс | formset
Порождающий Класс | scov_formset

Дополнительную информацию смотрите в разделе: Подсистема Анализа Приложения "Coverage Profiler".

Expand image Комментарии

Рассматриваемый контейнер Форм содержит одну форму, одну инструментальную Линейку (toolbar), которые могут быть скрытыми, если установлены соответствующие параметры Настройки, например пользовательский класс CusRegistry или Dialog. Объект Cov_standard, как подкласс от класса cov_engine, обеспечивает простейший пользовательский Интерфейс, подробнее смотрите в разделе: Подсистема Анализа Приложения "Coverage Profiler". Вы можете субклассировать свои собственные Классы на основе материнских классов: cov_engine или cov_standard.

Свойства, События, Методы Краткое Описание

*.cStackXSLT, Свойство

Есть имя файла, содержащего (по-умолчанию) Таблицу стилей для преобразования типа XSL, которая используется при анализе Документа XML вызовом метода TransformStackXML.

aAddIns array, Свойство

Является одномерным массивом, содержащим список зарегистрированных Расширений (Add-Ins).

По-Умолчанию: .F. (для 1-го элемента массива)

aFileTypes array, Свойство

Является двумерным массивом, содержащим список Типов файлов (расширений) обработчиков подсистемы Coverage Profiler. Первый столбец содержит именно расширение файла (.fxp / .vct), из списка Протокола. Второй столбец содержит расширение файла Исходного текста программного модуля (.prg или .vcx), которые подсистема Coverage Profiler использует при обработке Протокола анализа программного Кода. Данный массив заполняется при выполнении соответствующего метода: FillFileTypeArray( ).

По-Умолчанию: .F. (начальная размерность массива [1, 2])

cAddIn, Свойство

Содержит имя последнего выполненного Модуля Расширения. При запуске подсистемы анализа это свойство может быть заполнено при указании требуемого модуля в стартовых параметрах, или при указании его в событии Init. Иначе, если имя файла Расширения уже зарегистрировано, то оно загружается из соответствующего массива aAddIns.

По-Умолчанию: ""

cBaseFontName, Свойство

Определяет имя базового Шрифта для основных Контролов Приложения. По-Умолчанию, аттрибуты данного шрифта определяются Константами, определяемыми операторами #DEFINE, а именно COV_DEFAULT_BASE_FONTNAME в файле: COV_TUNE.H.

По-Умолчанию: = MS Sans Serif

cBaseMonoFontName, Свойство

Определяет имя базового Шрифта для основных Контролов Приложения, которые требуют моноширинного Шрифта.

По-умолчанию, данный параметр не сохраняется в Реестре, для задания начального значения используется соответствующее значение из ресурсного файла Visual FoxPro, которое определено для компоненты: MODIFY COMMAND, команда (или для Окна Редактирования). В противном случае, просматривается зарегистрированный Шрифт для системного Окна Visual FoxPro Trace (окно Трассировки). Если перечисленные параметры Отключены, то используется Константа, заданная оператором #DEFINE COV_DEFAULT_MONO_FONTNAME из файла COV_TUNE.H.

По-Умолчанию: Courier New

cCovFilesAlias, Свойство

Содержит имя Курсора профилировщика, содержащего имена файлов, для которых невозможно определить исходные программные Коды. Профилировщик заполняет данный курсор при выполнении Методов: CreateCoverageFileNameCursor( ) или FillCoverageFileNameCursor( ). Для добавления имен файлов в рассматриваемый Курсор вы можете использовать метод AdjustCoverageFileNameCursor( ).

По-Умолчанию: IgnoredFiles

cDefaultWritePath, Свойство

Определяет полное имя каталога для сохранения cSourceFile. Обычно используется каталог по-умолчанию для данного Профилировщика "Coverage Profiler".

По-Умолчанию: ""

cMarkExecuted, Свойство

Определяет символ-Маркер, которым отмечаются выполненные Строки программного Кода, проанализированные в текущем файле Протокола. Хотя для данного Свойства, по-умолчанию, установлена пустая строка, профилировщик использует метод SetMarks( ) для выравнивания длин символов-маркеров cMarkExecuted и cMarkNotExecuted, чтобы текст в Протоколе имел корректную ширину, или отступы. Поэтому, начальное значение для данного свойства cMarkExecuted = SPACE(4), что соответствует ширине Маркера cMarkNotExecuted, его длина также =4.

По-Умолчанию: "____"

cMarkNotExecuted, Свойство

Определяет символы-маркеры для строк программного кода, которые Не выполнялись при проведении последнего Тестирования (анализа).

По-Умолчанию: |+SPACE(3)

cSavedSkipFiles, Свойство

Определяет имя файла Таблицы (.dbf), содержащей список файлов - программных компонент, которые пропущены в процессе выполнения Анализа программного Кода.

По-Умолчанию: ""

cSavedStackXML, Свойство

Содержит имя файла, в котором сохраняется протокол Анализа в формате XML, в дальнейшем данный временный файл может быть сохранен на Диске. Данное свойство Очищается ("") при создании, или загрузке нового Протокола.

cSavedTargetDBF, Свойство

Определяет имя файла Таблицы (.dbf), в которую конвертируется Текстовый Протокол Анализа.

По-Умолчанию: ""

cSkippedAlias, Свойство

Определяет имя Курсора, который содержит список программных файлов, которые не были определены подсистемой "Coverage Profiler". Профилировщик заполняет указанный Курсор при помощи метода CreateSkippedCursor( ), и сохраняет данную информацию на Диске с помощью метода SaveSkippedCursor( ).

По-Умолчанию: SkippedFiles

cSourceAlias, Свойство

Определяет имя Алиаса таблицы с исходными данными, записями из текстового Протокола Анализа. Данная Таблица создается в методе CreateSourceCursor( ), и добавляется Полями с помощью метода AdjustSourceCursor( ), индесными Тэгами, и так далее. Таблица заполняется информацией с помощью метода FillSourceCursor( ) из текущего Протокола Анализа.

По-Умолчанию: FromLog

cSourceFile, Свойство

Specifies the name of the file to be analyzed. You can specify this value as the first parameter of the DO (_COVERAGE) WITH command.

По-Умолчанию: ""

cSuspendedLog, Свойство

Определяет имя файла текущего Протокола (Coverage Log), который задан в команде SET COVERAGE, если Профилировщик останавливает процесс протоколирования Анализа. Это свойство заполняется в методе SuspendCoverage( ).

По-Умолчанию: ""

cTargetAlias, Свойство

Определяет имя Алиаса результитрующей Таблицы, содержащей имена Классов, файлов исходных текстов, маркированных процедур, статистическую информацию Анализа. Профилировщик создает данный курсор в методе CreateTargetCursor( ), и обеспечивает выполнение метода AdjustTargetCursor( ) - для добавления Полей, индексных Тэгов, и прочего. Аналитическая статистика заполняется в методе FillTargetCursor( ).

По-Умолчанию: MarkedCode

iLenDuration, Свойство

Определяет длину числовых значений, включая десятичную часть, которая используется при создании числовых Полей в Исходной Таблице.

По-Умолчанию: =8 (В Visual FoxPro 5.0 / 6.0. По-умолчанию = 11 )

iLenExecuting, Свойство

Определяет длину (размер) Поля, содержащего имена исходных, анализируемых Классов, выполненных к настоящему моменту, когда значение константы #DEFINE COV_TOPSPEED из файла COV_TUNE.H = False (.F.).

Вы можете уменьшить это значение для того, чтобы съэкономить дисковое пространство, при уверенности, что имена ваших модулей достаточно коротки. Смотрите объяснения к заголовочному файлу: COV_TUNE.H. Смотрите раздел: Conserving Disk Space During Coverage Runs .

По-Умолчанию: 115

iLenHostFile, Свойство

По-Умолчанию: 115

iLenObjClass, Свойство

Смотрите аналогичную информацию при описании свойства iLenExecuting и в разделе: Conserving Disk Space During Coverage Runs.

По-Умолчанию: 115

lBaseFontBold, Свойство

Определяет текущую установку характеристики основного Шрифта (его выделенность, "жирность").

По-Умолчанию: .F.

lBaseFontItalic, Свойство

Определяет текущую установку характеристики основного Шрифта (его курсив, "наклон").

По-Умолчанию: .F.

lBaseMonoFontBold, Свойство

Определяет текущую установку характеристики моноширинного Шрифта (его выделенность, "жирность").

По-Умолчанию: .F.

lBaseMonoFontItalic, Свойство

Определяет текущую установку характеристики моноширинного Шрифта (его курсив, "наклон").

По-Умолчанию: .F.

lError, Свойство

Флаг, устанавливаемый при возникновении Ошибки; который регулируется методом Error в случае исключительной ситуации.

По-Умолчанию: .F.

lInCoverageFrame, Свойство

Определяет, что Профилировщик открывается в главном окне Visual FoxPro. По-умолчанию, Профилировщик запускается в отдельном Фрейме.

По-Умолчанию: .F.

lInProfileMode, Свойство

Определяет, что Профилировщик запускается в Режиме Profiler (детального Анализа). По-умолчанию, Профилировщик запускается в режиме итоговой Статистики, Режим Coverage.

По-Умолчанию: .F.

lMarkAllOnLoad, Свойство

Определяет, что весь исходный программный код Отмечен. По-умолчанию, только отдельные строки Кода отмечаются маркерами, которые определил Пользователь.

По-Умолчанию: .F.

lSaveFormPositions, Свойство

Определяет, что для всех форм из из набора Профилировщика выполняется процедура cov_SavePosition, которая запоминает текущую позицию размещения.

По-Умолчанию: .F.

lSmartPath, Свойство

Определяет, что Движек Профилировщика пытается просмотреть все подкаталоги размещения файлов исходных программных текстов.
По-Умолчанию: .T.

lStackXMLExtendedTree, Свойство

Если = .T., тогда проводится более расширенный Анализ с помощью StackXML, в этом случае более точно выполняется анализ времени пенредачи параметров в выполняемые модули. Значение По-Умолчанию = .F.. Однако, если COV_LOAD_STACK_FROM_DBF = .T.,то данный расширенный анализ XML выполняется всегда.

lStartInProfileMode, Свойство

Определяет, как свойство lInProfileMode устанавливается для каждого нового Протокола Анализа. Данное свойство рассматривается в том случае, когда lMarkAllOnLoad = True (.T.).

По-Умолчанию: .F.

lTurnedOffTrace, Свойство

Определяет, выполняет ли Профилировщик команду: SET TRBETWEEN OFF во время выполнения.

По-Умолчанию: .F.

lUsingRegistry, Свойство

Определяет, выполняется ли сохранения и восстановления параметров в Реестре Microsoft Windows.

По-Умолчанию: .T.

lUsingStatusBar, Свойство

Определяет, используется ли Строка Статуса (для отображения системных сообщений) или сообщения выводятся командой WAIT WINDOW NOWAIT. Строка статуса используется Профилировщиком в режиме запуска как дочернее окно Visual FoxPro или при независимом Фрейме выполняется команда STATUS BAR ON.

По-Умолчанию: .F.

lVFP5, Свойство

Определяет, как Профилировщик запускается в версии Visual FoxPro 5.0.

По-Умолчанию: (ATC("FoxPro 05",VERSION( )) > 0)

nBasefontsize, Свойство

Определяет размер базового Шрифта.

По-Умолчанию: 11 (для версий 5.0 / 6.0 =8)

oFrame, Свойство

Содержит объектную ссылку на системное окно Профилировщика (Coverage Frame), когда последний загружен в режиме отдельного Фрейма. Профилировщик проверяет наличие всех необходимых Окон при активации дополнительных диалоговых боксов или других внешних Компонент (включая субклассированные общие диалоги, активация SET TALK, и порочие режимы).

По-Умолчанию: .NULL.

*.TransformStackXML( ), Метод

Синтаксис: TransformStackXML(tcXSLT, tcXMLIn, tcXMLOut, tlNoShow)

Возвращаемое значение: Returns .T. if successful.

Параметры: tcXSLT Specifies the name of the XSL file.tcXMLIn Specifies the name of the XML input file.tcXMLOut Specifies the name of the XML output file.tlNoShow Specifies whether to call DisplayStackXML.

Примечание: Applies tcXSLT (default to .cStackXSLT) to tcXMLIn (default .cSavedStackXML, GetStackXML( ) called if empty). Saves result to tcXMLOut (defaults to tcXMLIn-based generated name w/ HTM ext). If ! tlNoShow, calls DisplayStackXML( ).

AddFormPositionSaver( ), Метод

Adds an instance of cov_SavePosition to a form to save and restore form size and position.

Синтаксис: AddFormPositionSaver(toForm)

Возвращаемое Значение: Нет

Параметры: toForm Specifies that the cov_SavePosition object is saved to a form.

AddPath( ), Метод

Extracts directory information to concatenate to SET(PATH).

Синтаксис: AddPath(tcFileName)

Возвращаемое Значение: Нет

Параметры: tcFileName Specifies a file name.

Примечание: Extracts the directory information from the passed file name, tcFileName, to concatenate into the current SET(PATH).

AddRegisteredAddin( ), Метод

Adds file name to the aAddIns array.

Синтаксис: AddRegisteredAddin(tcFileToAdd)

Возвращаемое Значение: Нет

Параметры: tcFileToAdd Specifies the file to add to the aAddIns array.

Примечание: Adds a file name, TcFileToAdd, to the aAddIns array when called by the RunAddIn( ) method after an add-in runs successfully.

AdjustCoverageFilenameCursor( ), Метод

Enables adding files to cursor list of unanalyzed files.

Синтаксис: AdjustCoverageFilenameCursor(tcTarget)

Возвращаемое Значение: NOT THIS.lReturn

Параметры: tcTarget Specifies the name of the cursor you want to modify.

Примечание: Makes it possible for you to add files that you do not want analyzed to the cursor's file list when called by the CreateCoverageFilenameCursor( ) method. See the cCovFilesAlias property.

AdjustSourceCursor( ), Метод

Abstract method that makes it possible for you to add index tags and custom fields to the source cursor when called by the CreateSourceCursor( ) method.

Синтаксис: AdjustSourceCursor(tcSource)

Возвращаемое Значение: NOT THIS.lReturn

Параметры: tcSource Specifies the name of the cursor containing the source records.

AdjustTargetCursor( ), Метод

Abstract method called by the CreateTargetCursor( ) method makes it possible for you to add index tags and custom fields to the target cursor.

Синтаксис: AdjustTargetCursor(tcTarget)

Возвращаемое Значение: NOT THIS.lReturn

Параметры: tcTarget Specifies the name of the table being modified.

ClearStatus( ), Метод

Removes a message from the status bar or performs a CLEAR WAIT WINDOW command. See lUsingStatusBar property.

Синтаксис: ClearStatus( )

Возвращаемое Значение: Нет

Параметры: Нет

CreateCoverageFilenameCursor( ), Метод

Creates a cursor to hold the names of source files that the Coverage Profiler should not locate and analyze. See the cCovFilesAlias property.

Синтаксис: CreateCoverageFileNameCursor( )

Возвращаемое Значение: lReturn AND NOT THIS.lError

Параметры: Нет

CreateForms( ), Метод

At startup, displays the Coverage Profiler window after workfiles have been set up if the coverage engine is not in Unattended mode. In the coverage engine base class, this method creates only the Coverage frame (if the engine is not running in the Visual FoxPro window). Subclasses can augment this method to add their own dialogs.

Синтаксис: CreateForms( )

Возвращаемое Значение: Нет

Параметры: Нет

CreateSkippedCursor( ), Метод

The engine creates this cursor by looking for deleted records in the Source table, because skipped records are deleted when the engine encounters file names that cannot be located or that are in the Ignored Files list during its load of the log file. See the CSkippedAlias property.

Синтаксис: CreateSkippedCursor(tcSource, tcSkipped)

Возвращаемое Значение: NOT THIS.lError

Параметры:tcSource Specifies the name of the table containing the source records.TcSkipped Specifies the alias of the cursor containing the skipped records.

CreateSourceCursor( ), Метод

Creates a source cursor in the following format:

CopyCode image Копировать Код
CREATE CURSOR(cSource) ;
(Duration n(COV_LEN_DURATION,N_COVLOG_PRECISION), ;ObjClass c(COV_LEN_OBJCLASS), ;Executing c(COV_LEN_EXECUTING), ;Procline i, ;Hostfile c(COV_LEN_HOSTFILE), ;Stacklevel I, ;FileType c(4) )

The Stacklevel field is excluded when the value of the lVFP5 property is true (.T.). See COV_TUNE.H for #DEFINE field lengths.

Синтаксис: CreateSourceCursor(tcSource)

Возвращаемое Значение: lReturn AND NOT THIS.lError

Параметры: tcSource Specifies the name of the cursor containing the source records.

CreateTargetCursor( ), Метод

Creates a target cursor in the following format:

CopyCode image Копировать Код
CREATE CURSOR (cTarget) ;
(Hostfile c(COV_LEN_HOSTFILE), ;ObjClass c(COV_LEN_OBJCLASS), ;FileType c(4), ;Marked m, ;Profiled m, ;SourceCode m, ;Coverable i, ;Covered i, ;ObjTotal i, ;ObjHits i)

See COV_TUNE.H for #DEFINE field lengths.

Синтаксис: CreateTargetCursor(tcSource, tcTarget)

Возвращаемое Значение: NOT THIS.lError

Параметры: tcSource Specifies the name of the file to analyze.TcTarget Specifies the name of the file you want to modify.

Примечание: The target file contains one record for each of the following in the coverage log:

  • An ASCII source file.

  • A class contained in an ASCII source file.

  • A class contained in a .vcx or .scx file.

  • A stored procedure list in a .dbc file.

  • A Data Environment class or other Data Environment member class (such as a cursor) in a .frx or .lbx source file.

DeleteRegisteredAddin( ), Метод

Removes a file name from the aAddIns array.

Синтаксис: DeleteRegisteredAddin(tcFileToDelete)

Возвращаемое Значение: Нет

Параметры: tcFileToDelete Specifies the add-in to remove from the registry.

Примечание: Called by the RunAddIn method after an add-in does not run successfully, whether the Registry is currently in use or not.

DisplayProjectStatistics( ), Метод

Enables reporting after project statistics have been gathered in GetProjectStatistics( ).

Синтаксис: DisplayProjectStatistics(tcSource, tcTarget, tcProject)

Возвращаемое Значение: NOT THIS.lError

Параметры:tcSource Specifies the name of the table containing the source records.tcTarget Specifies the name of the table being modified.tcProject Specifies the alias of the project being analyzed.

DisplayStackXML( ), Метод

Displays XML file.

Синтаксис: DisplayStackXML(tcXMLFile)

Возвращаемое значение: Logical. .T. if no error occurs.

Defaults to the current Stack Analysis filename indicated by the cSavedStackXML property.

Примечание: This method is similar to DisplayProjectStatistics, except that, instead of being abstract in the engine, cov_engine.DisplayStackXML performs a ShellExecuteA.

DoMessage( ), Метод

Displays tcMessage.

Синтаксис: DoMessage(tcMessage [, tnMessageBoxOptions [, tcMessageBoxTitle]])

Возвращаемое Значение: liReturn

Параметры:tcMessage Specifies the message that appears in the MESSAGEBOX.TnMessageBoxOptions Specifies the MESSAGEBOX nDialogBoxType setting.TcMessageBoxTitle Specifies the MESSAGEBOX cTitleBarText setting.LiReturn Specifies any return value from MESSAGEBOX( ), or 0 if a WAIT WINDOW executes.

Примечание: If the Coverage Profiler is running in Unattended mode, the message is displayed in a WAIT WINDOW TIMEOUT window so it does not prevent further processing. You can specify the timeout value using COV_TIMEOUT_SECS (a #DEFINE in COV_TUNE.H).

Error( ), Метод

Sets the dialog error flag.

Синтаксис: Error(nError, cMethod, nLine)

Возвращаемое Значение: Нет

Параметры:nError Specifies the Visual FoxPro error number.CMethod Specifies the name of the method that caused the error.NLine Specifies the line number where the error occurred.

Примечание: Depending on the value of COV_DEBUG (a #DEFINE in COV_TUNE.H), this will display an error MESSAGEBOX and release the engine or display a WAIT WINDOW with error information and invoke the native Visual FoxPro error handler to make it possible for you to cancel, suspend, or ignore the current error.

FillCoverageFileNameCursor( ), Метод

Adds files to the list of ignored files.

Синтаксис: FillCoverageFileNameCursor( )

Возвращаемое Значение: NOT THIS.lError

Параметры: Нет

Примечание: CreateCoverageFileNameCursor( ) calls this method to add the names of the coverage engine file set to the group of files that should be ignored during processing. This method is a hard-coded set of INSERTs in the base coverage engine. You can override this set in a subclass designed to read in a set of file names from a text file generated from the Coverage.pjx file list.

FillFileTypeArray( ), Метод

Initializes the aFileTypes array with known file extensions. See the aFileTypes property.

Синтаксис: FillFileTypeArray( )

Возвращаемое Значение: NOT(EMPTY(THIS.aFileTypes[1,1]) OR THIS.lError)

Параметры: Нет

FillOneTargetRecord( ), Метод

Adds unmarked source code to memo field.

Синтаксис: FillOneTargetRecord(tcSource, tcTarget, tlFillingAll)

Возвращаемое Значение: lReturn AND(NOT THIS.lError)

Параметры:tcSource Specifies the name of the table containing the source records.TcTarget Specifies the name of the table being modified.TlFillingAll Specifies whether all records are processed in a loop, which changes the user feedback and displayed character handling.

Примечание: Places the unmarked source code for a target record into the appropriate memo field for later marking using a different strategy to find the right code for each type of source code. When COV_TOPSPEED is not #DEFINEd true (.T.), this method also places certain initial statistics into the Target file.

FillSourceCursor( ), Метод

APPENDs the coverage log contents to the coverage analysis source file.

Синтаксис: FillSourceCursor(tcSource)

Возвращаемое Значение: lReturn

Параметры: tcSource Specifies the name of the source file.

Примечание: This method calls the SourceAvailable( ) method to eliminate records that refer to source files unavailable for analysis. It marks these records deleted in the source cursor.

FillTargetCursor( ), Метод

Calls the FillOneTargetRecord( ) method for all target records in a loop.

Синтаксис: FillTargetCursor(tcTarget)

Возвращаемое Значение: (THIS.iTargetReccount > 0 AND NOT THIS.lError)

Параметры: tcTarget Specifies the target file that receives the processed results.

Примечание: Replicates the ObjHits statistics from the CreateTargetCursor( ) method for additional records referring to the same source files with the target files. See the CreateTargetCursor( ) method.

FilterListByLocation( ), Метод

Provides a placeholder for future enhancements.

Синтаксис: FilterListByLocation( )

Возвращаемое Значение: NOT THIS.lError

Параметры: Нет

Примечание: FilterListByLocation( ) can be called either when a log loads or in response to a user action, with or without the Coverage Profiler application. This method is abstract in the engine.

GetAlias( ), Метод

Returns the current or default alias of a Coverage Profiler workfile type.

Синтаксис: GetAlias(tAlias, tcWhichProp)

Returns: cReturn

Параметры:tAlias Specifies the alias of a file.tcWhichProp Specifies the workfile type (currently, either Source or Target) of the current default.

Примечание: GetAlias( ) returns either a currently used alias or the default alias of one of the Coverage Profiler workfile types. The valid workfile types include the following:

Note Примечание

"SOURCE","TARGET","SKIPPED","COVFILES", and "PROJECT"

(The list of types is #DEFINEd in COV_SPEC.H as COV_KNOWN_ALIAS_PROPERTIES.) Each workfile type matches one c...Alias property to specify the default alias for this workfile.

The Coverage Profiler usually has a cursor open using each one of the workfile default aliases. However, the Coverage Profiler is capable of handling many sets of workfiles at the same time, within its data session, as long as you specify separate aliases for each one. The GetAlias( ) method and the system of defined work types plus the following properties make it possible for you to have default alias names without the default aliases being hard-coded:

  • cBaseFontName

  • cBaseMonoFontName

  • cCovFileAlias

  • cDefaultWritePath

  • cMarExecuted

  • cMarkNotExecuted

  • cOldPath

  • cSavedSkippedFiles

  • cSavedTargetDBF

  • cSkippedAlias

  • cSourceAlias

  • cSourcefile

  • cSuspendedLog

  • cTargetAlias

The engine methods that process the workfiles use aliases as parameters, so you can specify which source, target, or other file you are interested in at any time. Because you usually are interested only in one set of workfiles, however, these methods all use the GetAlias( ) methods to specify which alias and workfile default type to seek if you do not pass them a specific alias or aliases.

GetFontsFromUser( ), Метод

Creates an instance of a common dialog subclass to ask the user to set font properties. If lUsingOCXs is False (.F.) or there has been an error creating an instance of the common dialog, the method uses the GETFONT( ) method. If the first parameter, tlBaseMonoFont, is True (.T.), the method shows only monospaced fonts and fills the monospaced font attribute properties of the engine. If this parameter is False (.F.), the second set of base font attribute properties is filled from a list of all available screen fonts.

See to the GetResourceLocation( ) method for more information on the lUsingOCXs property.

Синтаксис: GetFontsFromUser(tlBaseMonoFont, toMemberHost )

Возвращаемое Значение: lFontChange AND NOT THIS.lError

Параметры:tlBaseMonoFont Specifies the default monospace font style.ToMemberHost Specifies a reference to the current Coverage object.

GetProjectStatistics( ), Метод

Creates a cursor containing project information.

Синтаксис: GetStatistics(tcSource, tcTarget, tcProject)

Возвращаемое Значение: lReturn

Параметры:tcSource Specifies the name of the alias containing the source records.tcTarget Specifies the name of the alias being modified.tcProject Specifies the project containing the source files.

Примечание: The information contained in the cursor is in the following format.

CREATE CURSOR(cProject) ;

Note Примечание

(Hostfile c(COV_LEN_HOSTFILE), ;FileType c(4), ;Coverable n(8), ;Covered n(8), ;ObjTotal n(8), ;ObjHits n(8))

GetProjectStatistics( ) creates a header file in this cursor, indicating the project to which this cursor applies and fills this cursor with statistics drawn from the current coverage log that apply to each source file in the project. If necessary, GetProjectStatistics( ) calls MarkOneTargetRecord( ) for any project files that have not yet had their source code marked.

GetRegisteredAddins( ), Метод

Fills the aAddIns array and the cAddIn property.

Синтаксис: GetRegisteredAddins( )

Возвращаемое Значение: Нет

Параметры: Нет

GetRegistryKeyValue( ), Метод

Retrieves registry value of user option

Синтаксис: GetRegistryKeyValue(tcOption, tDefaultValue, tcPath)

Возвращаемое Значение: vReturn

Параметры:tcOption Specifies the file type option.tDefaultValue Specifies the default registry value.tcPath Specifies RegKey.

Примечание: This method, typically used at startup, uses the registry-handling member of the toolbar in the engine formset to get a registry key value for a user option. It converts the registry value to other TYPE( )s as required and compares this TYPE( ) to the passed value, tDefaultValue. It returns the registry value or the default value if the registry value is not found or is of the wrong type.

GetResourceLocation( ), Метод

Specifies whether GETFILE( )/ShowOpen( ) strategy or PUTFILE( )/ShowSave( ) strategy is followed.

Синтаксис: GetResourceLocation(tcHost, tcTitle, tcCDLFilter, tcFileName, tcWhichDialog, [toMemberHost] )

Возвращаемое Значение: lcFileName

Параметры:tcHost Specifies the name of the file the method is starting from, usually seeking the matching file name of the uncompiled version of the code. If it is passed, it provides information for the common file dialog .InitDir property. tcTitle Specifies the title to use in the dialog or, in the GETFILE( )/PUTFILE( ) version, to use as a WAIT WINDOW NOWAIT prompt. If tcHost also is passed and includes a file name, then this information is added to the dialog title or prompt.tcCDLFilter Specifies the file types allowed in the dialog. This parameter is expressed in the format required by the common dialog filter expression. If the GETFILE( )/PUTFILE( ) is called, the method parses the common dialog filter to put it into appropriate format for the two Visual FoxPro functions.tcFileName Specifies the default file name to display.tcWhichDialog Specifies the GETFILE or PUTFILE.toMemberHost Specifies an optional form reference that can be passed to indicate where the dialog is displayed. If toMemberHost is not passed, the file dialog will display relative to the Coverage frame (if the Coverage frame exists) or to the first form in the formset collection (if the Coverage Profiler is in the Visual FoxPro window).

Примечание: Adds a member of the appropriate common dialog subclass (depending on the value of tcWhichDialog) if this is the first call. The dialog subclasses differ in how they set various flags.

Note Примечание

This method provides for additional dialog subclasses, showing a Help file or print dialog, to be instantiated and used in the future.

If a common dialog subclass or .ocx-related error occur in the Coverage Profiler, this method sets the lUsingOCXs property to false (.F.) and uses GETFILE( )/PUTFILE( ).

You can set the #DEFINE COV_USE_OCXS if you prefer to default to the native Visual FoxPro functions even if there are no OCX errors.

GetStackXML( ), Метод

Generates Stack Analysis XML from tcLog.

Синтаксис: GetStackXML(tclog)

Возвращаемое значение: Logical. .T. if successful.

Параметры: tcLog Specifies the name of the log file.

Примечание: This function defaults to current Coverage source log. The tcLog argument is ignored if DEFINEd COV_LOAD_STACK_FROM_DBF is .T.

GetTableName( ), Метод

Generates file names for unattended operation.

Синтаксис: GetTableName(tcWhichSuffix)

Возвращаемое Значение: cLogfileStem+SUFFIX[+n]+.dbf

Параметры: tcWhichSuffix Specifies which file extension to use.

Примечание: This method allows the coverage engine to generate file names with which to save its work to disk without overwriting existing files. Generally it just supplies file name defaults, but in Unattended mode, this method creates the file names without user intervention. Each method that saves a file to disk calls GetTableName( ) with a specific suffix; for example, in the SaveSkippedCursor:

CopyCode image Копировать Код
cDBFName = ; THIS.GetTableName(COV_SKIPFILEDBF_SUFFIX)

GetTableName( ) uses the path and stem of the current log file name (THIS.cSourceFile) and attaches the appropriate suffix to this stem plus a digit, followed by the DBF extension. For example, Testlog.txt would produce TESTLOG_SKIP1.DBF in the previous example.

GetTableName( ) then increments the digit if the generated file name exists, until it finds a name that does not exist.

The default suffixes are #DEFINEs in COV_TUNE.H.

LockScreens( ), Метод

Freezes or releases LockScreen properties and MousePointer properties for all members of _Screen during various long procedures.

Синтаксис: LockScreens(tlOn)

Возвращаемое Значение: Logical. .T.

Параметры: tlOn Specifies whether to lock the Lockscreen and MousePointer properties.

MarkAllTargetRecords( ), Метод

Calls the MarkOneTargetRecord( ) method for all target records in a loop. Can be called because lMarkAllOnLoad is true (.T.) or because the coverage engine is in Unattended mode.

Синтаксис: MarkAllTargetRecords(tcSource, tcTarget)

Возвращаемое Значение: NOT THIS.lError

Параметры:tcSource Specifies the name of the table containing the source records.tcTarget Specifies the name of the table being modified.

MarkCodeLine( ), Метод

Creates a marked-up version of a line of code, plus coverage statistics.

Синтаксис: MarkCodeLine(tcLine, tiExecuted, tnFirst, tnAverage)

Возвращаемое Значение: CMarkedLine

Параметры:tcLine Specifies the line of code.tiExecuted Specifies the number of times tcLine was run.tnAverage Specifies the average length of time to run.

Примечание: In Coverage mode, MarkCodeLine( ) marks code as "Executed" if tiExecuted is a positive number and "not Executed" if tiExecuted is 0. In Profile mode, MarkCodeLine( ) marks coverage statistics appropriately for the line. In either mode, MarkCodeLine( ) marks code as uncoverable (preceded by spaces) if tiExecuted is .NULL.

MarkOneTargetRecord( ), Метод

Determines the marked status of the current line.

Синтаксис: MarkOneTargetRecord(tcSource, tcTarget, tlFillingAll)

Возвращаемое Значение: lReturn AND (NOT THIS.lError)

Параметры:tcSource Specifies the name of the table containing the source records.tcTarget Specifies the record being modified.tlFillingAll Specifies whether other target records are being processed. If all records are processed in a loop, then the user feedback and handling of displayed characters changes.

Примечание: Determines whether the current target record, tcTarget, is already marked in the current coverage mode and, if not, passes the relevant information to the MarkTargetCoverage( ) method for processing.

MarkTargetCoverage( ), Метод

Marks up a copy of the source and REPLACEs a memo field in the target file.

Синтаксис: MarkTargetCoverage(tcSource, tcTarget)

Возвращаемое Значение: NOT (EMPTY(cMemo) OR THIS.lError)

Параметры: tcSource Specifies the name of the table containing the source records.tcTarget Specifies the name of the table being modified.

Примечание: MarkTargetCoverage( ) creates a marked-up version of tcSource and REPLACEs a memo field in the target file, tcTarget, (whether the code is for a class or a full procedure file).

To perform this action, the method starts with the sourcecode memo. The memo field REPLACEd depends on whether Coverage Profiler is marking Profiler or Coverage information, because the Target record retains both sets of marked-up code.

This method parses the source code and evaluates its statistics line by line. By default, this method calls the MarkCodeLine( ) method to mark each line when it has the appropriate statistics. However, the way this method marks the code line is #DEFINEd as COV_MARK_CODE_LINE in COV_TUNE.H, not directly implemented as a call to the MarkCodeLine( ) method. This makes it possible for you to replace the call to the MarkCodeLine( ) method with a different marking system. A second #DEFINE, COV_TOPSPEED, in COV_TUNE.H also makes it possible for you to switch the MarkCodeLine( ) call to a simpler, in-line marking system for fastest response time.

MarkTargetCoverage( ) evaluates each line to find out whether it was executed, how many times it was executed, and its execution timings (first and average) when in Profile mode. However, many lines are considered uncoverable in Coverage Profiler. These lines, such as comments, DEFINE CLASS and ELSE/Otherwise statements, and lines within TEXT ... ENDTEXT, do not appear in coverage logs, because they are not executable.

Note Примечание

Other uncoverable code lines include #DEFINE statements, empty lines, continuations of executing lines, and parameter lines.

This method sets the number of times these lines run to .NULL. These lines are not considered when Coverage Profiler compiles statistics. In addition, lines broken by continuation symbols (semicolons) are considered as a single line of code and marked only on the last line.

OrderListByTime( ), Метод

Provides a placeholder for future enhancements and subclasses.

Синтаксис: OrderListByTime( )

Возвращаемое Значение: NOT THIS.lError

Параметры: Нет

Примечание: OrderListByTime( ) is abstract in the engine.

PassedProperParams( ), Метод

Синтаксис: PassedProperParams(tcFile, tlUnattended, tcAddIn)

Возвращаемое Значение: lReturn

Параметры: tcFile Specifies the name of the log file.tlUnattended Specifies whether to run in Unattended mode.tcAddIn Specifies the add-in file name(s).

Примечание: Test at startup to determine whether passed parameters are appropriate to the class. If any passed parameters are not appropriate TYPE( ), provides a MESSAGEBOX showing what parameters may be passed and RETURNs false (.F.), preventing any further coverage processing, as well as the creation of an instance of the class.

This method uses a MESSAGEBOX for feedback and stops processing even if the Coverage Profiler is starting up in Unattended mode. If you are setting up the Coverage Profiler for automated testing, be sure your calling program sends correct parameters or the analysis will not proceed.

RestoreCoverage( ), Метод

Resumes coverage logging from suspended operation.

Синтаксис: RestoreCoverage( )

Возвращаемое Значение: Нет

Параметры: Нет

Примечание: If the Coverage Profiler previously suspended coverage logging, this method gives the user a chance to resume coverage logging when the Coverage Profiler releases. The user can choose to overwrite this previous log, append new log entries to it, or not resume coverage logging at that time.

RunAddin( ), Метод

Runs an add-in file.

Синтаксис: RunAddin(tcAddin)

Возвращаемое Значение: lReturn AND NOT THIS.lError

Параметры: tcAddin Specifies the name of the file to run.

Примечание: RunAddin( ) runs a file (.scx, .fxp, .app, .prg, .qpx, .qpr, .mpx, or .mpr) that adds functionality to the Coverage object. If you do not pass a file name, RunAddin( ) runs the file specified by the cAddIn property.

The tcAddin file must accept an object reference, because the file is run by passing a reference to the coverage form, as in the following examples (depending on the file type):

CopyCode image Копировать Код
DO (cFileName) WITH THIS
DO FORM (cFileName) WITH THIS

SaveFormsetAttributes( ), Метод

Saves general frame and formset characteristivs to the registry as Profiler ends.

Синтаксис: SaveFormsetAttributes( )

Возвращаемое Значение: Нет

Параметры: Нет

SaveOptionsToRegistry( ), Метод

Saves current user values to the registry.

Синтаксис: SaveOptionsToRegistry( )

Возвращаемое Значение: lSuccess

Параметры: Нет

Примечание: SaveOptionsToRegistry( ) can be called any time the user's current values should be saved to the registry. It saves the following user preferences:

  • Work options group

    lStartInProfileModelSmartPathlMarkAllOnLoadcMarkExecutedcMarkNotExecutedlRegisterAddIn

  • UI options group

    Font name, size, italic, bold for base monospace font

There are a few registry settings not saved by this method, because they have to be done at specific moments during the life of the engine. These are:

Coverage or the main Visual FoxPro frame (must be done when the user makes a choice and will be in effect next session but does not correspond to or affect any of the coverage property values for this session).

Registered add-ins (this array is manipulated over the life of the session, and the full set of file names it contains is saved to the registry at the end of the session).

SaveSkippedCursor( ), Метод

Saves the skipped files cursor to disk.

Синтаксис: SaveSkippedCursor(tcSkipped)

Возвращаемое Значение: RETURN NOT THIS.lError

Параметры: tcSkipped Specifies the cursor containing skipped records.

Примечание: Saves the skipped files cursor to disk if it contains any records and places the name of the table on disk in the cSavedSkipFiles property. See the cSkippedAlias and cSavedSkipFiles properties.

SaveTargetToDisk( ), Метод

Saves output file, including marked-up code and statistics, to disk.

Синтаксис: SaveTargetToDisk(tcTarget)

Возвращаемое Значение: lReturn and NOT THIS.lError

Параметры: tcTarget Specifies the name of the modified table saved to disk.

SetFontValues( ), Метод

Sets up initial font attribute values using registry key values and other defaults.

Синтаксис: SetFontValues( )

Возвращаемое Значение: NOT THIS.lError

Параметры: Нет

Примечание: See cBaseFontName and cBaseMonoFontName for information on how the coverage engine derives these defaults.

SetFormsetAttributes( ), Метод

Reads and restores general frame and formset characteristics.

Синтаксис: SetFormsetAttributes( )

Возвращаемое Значение: Нет

Параметры: Нет

Примечание: Reads and restores general frame and formset characteristics from the registry as Profiler starts.

SetLogFile( ), Метод

Attempts to set up a file for analysis.

Синтаксис: SetLogFile(tcFile)

Возвращаемое Значение: lReturn

Параметры: tcFile Specifies the name of the file to analyze.

Примечание: If you pass no string value, the SET COVERAGE value is used. If there is no current log file, the method prompts for a file name. If a log file can be set successfully, the method returns .T. If the user designates no log file, the method returns. F. If no new log is specified, the Coverage Engine returns to the currently loaded log, if one is loaded, or releases, if no log is loaded.

SetMarks( ), Метод

Synchronizes and returns the values of cMarkExecuted and cMarkNotExecuted.

Синтаксис: SetMarks( )

Возвращаемое Значение: NOT THIS.lError

Параметры: Нет

Примечание: Synchronizes the lengths of cMarkExecuted and cMarkNotExecuted and returns the values of either or both properties to a default if they are not character-type or both properties are empty. If user options are not available from the registry, this method gets defaults from the #DEFINE values, COV_DEFAULT_MARKNOTEXECUTED and COV_DEFAULT_MARKEXECUTED, which you can set in COV_TUNE.H. A third #DEFINE, COV_DEFAULT_MARKSPACING, makes sure there is space between the marks and the line of code.

SetRegisteredAddins( ), Метод

Saves the file names in the aAddIns array to registry values.

Синтаксис: SetRegisteredAddins( )

Возвращаемое Значение: Нет

Параметры: Нет

SetRegistryKeyValue( ), Метод

Sets a registry key value from a user option.

Синтаксис: SetRegistryKeyValue(tcWhichOption, tValue)

Возвращаемое Значение: NOT THIS.lError

Параметры: tcWhichOption Specifies the user option to be accessed.tValue Specifies the value of tcWhichOption.

Примечание: SetRegistryKeyValue( ) uses the registry-handling member of the toolbar in the engine formset to set a registry key value from a user option. It converts all values to string type before sending them to the registry-handler to apply to the registry.

SetUIFonts( ), Метод

Provides font preferences.

Синтаксис: SetUIFonts( )

Возвращаемое значение: NOT THIS.lError

Параметры: Нет

Примечание: Abstract in the engine, called by SetUiOptions, SetUIFonts( ), makes it possible for the user font preferences saved in the various Base and BaseMont font properties to be applied to appropriate displayed characters.

SetUIOptions( ), Метод

Sets UI options and defaults.

Синтаксис: SetUIOptions( )

Возвращаемое значение: lReturn and NOT THIS.lError

Параметры: Нет

Примечание: Sets up initial UI options according to user preferences or defaults after initial setup of workfiles. This group of options includes fonts and the array of registered add-ins. It is required for UI display and user interaction with the workfiles, after they have been processed.

SetUIToShowCode( ), Метод

Enables display of current target record in new log.

Синтаксис: SetUIToShowCode(tcTarget)

Возвращаемое значение: NOT THIS.lError

Параметры: tcTarget Specifies the name of the table being modified.

Примечание: Abstract in the engine, called at the end of SetupWorkFiles( ) to allow UI to show current Target record in the newly loaded log.

SetUIToShowFileStates( ), Метод

Enables reporting of log loading status.

Синтаксис: SetUIToShowFileStates(tcSource, tcTarget)

Возвращаемое значение: NOT THIS.lError

Параметры: tcSource Specifies the name of the table containing the source records.tcTarget Specifies the name of the table being modified.

Примечание: Abstract in the engine, called at the end of SetupWorkFiles( ) to allow UI to indicate success or failure or current attempt to load a log.

SetUpWorkFiles( ), Метод

Sets and validates a coverage log.

Синтаксис: SetupWorkFiles(tcLogFile, tcSource, tcTarget)

Возвращаемое значение: lReturn AND NOT THIS.lError

Параметры: TcLogFile Specifies the name of the text log to analyze.tcSource Specifies the name of the file to use as source.tcTarget Specifies the name of the cursor being modified.

Примечание: SetUpWorkFiles( ) sets and validates a coverage log and then creates and fills the source and target work files for this text log. If the user choice is the same as the log file currently loaded, the method asks the user whether the log should be reloaded and analyzed. It makes sure the log is not open in a text window before loading the log. If the user specifies lMarkAllOnLoad, it marks all records in the current mode (Coverage or Profile) after successfully filling the target file with source code entries. If Coverage Profiler is in Unattended mode, it marks all records in both Coverage and Profile mode after successfully filling the target file. If the load succeeds, this method also sets the cDefaultWritePath to mark the path of the text log and the cSourceFile property to hold the name of this text log.

SetWorkOptions( ), Метод

Sets initial user defined options.

Синтаксис: SetWorkOptions( )

Возвращаемое значение: NOT THIS.lError

Параметры: Нет

Примечание: SetWorkOptions( ) sets up initial options according to user preferences or defaults before initial setup of workfiles. This group of options includes coverage marks and initial coverage mode and is required for processing the workfiles.

ShowProjectStatistics( ), Метод

Runs coverage analysis figures against a Visual FoxPro project.

Синтаксис: ShowStatistics(tcSource, tcTarget, tcProject)

Возвращаемое значение: lReturn AND NOT THIS.lError

Параметры: tcSource Specifies the name of the table containing the source records.tcTarget Specifies the name of the table being modified.tcProject Specifies the project containing tcSource.

Примечание: ShowProjectStatistics( ) calls GetProjectStatistics( ) and DisplayProjectStatistics( ) to run coverage analysis figures against a specific Visual FoxPro project set of files.

ShowStackXML( ), Метод

Синтаксис: ShowStackXML(tclog)

Возвращаемое значение: Logical. .T. if successful.

Параметры: tcLog Specifies the name of the log file.

Примечание: ShowStackXML( ) calls GetStackXML(tcLog) and DisplayStackXML(tcXMLFile) to run coverage analysis figures against a specific Visual Foxpro project set of files. The tcLog argument is ignored if DEFINEd COV_LOAD_STACK_FROM_DBF is .T.

ShowStatistics( ), Метод

Abstract in the base engine.

Синтаксис: ShowStatistics( )

Возвращаемое значение: NOT THIS.lError

Параметры: Нет

ShowStatus( ), Метод

Places a message in the status bar or a WAIT WINDOW. See lUsingStatusBar property.

Синтаксис: ShowStatus(cMessage)

Параметры: cMessage Specifies the message to display in the status bar or WAIT WINDOW.

SourceAvailable( ), Метод

Replaces the current Source log compiled file name with the full path name of the file holding the uncompiled source code.

Синтаксис: SourceAvailable( )

Возвращаемое значение: lReturn

Параметры: Нет

Примечание: SourceAvailable( ) calls GetSourceLoc( ) if necessary to locate uncompiled source code. If the lSmarthPath property is true (.T.), it uses AddPath( ) to adjust SET (PATH) as the user specifies directories in which to find source files. RETURNs false (.F.) if the source file is on the Ignored Files list, if the file is of an unknown type, or if the uncompiled source code cannot be found.

SourceFileIsLog( ), Метод

Checks the file name held in the cSourceFile property for valid coverage log format.

Синтаксис: SourceFileIsLog( )

Возвращаемое значение: lReturn

Параметры: Нет

SuspendCoverage( ), Метод

Sets the cSuspendedLog property to the name of the current log.

Синтаксис: SuspendCoverage( )

Возвращаемое значение: Нет

Параметры: Нет

Примечание: Sets cSuspendedLog to the name of the current log and temporarily stops Visual FoxPro from writing this log, in one of the following cases:

  • The passed file name is the same as the current coverage log.

  • No file name is passed and the engine defaults to analyzing the current coverage log.

ToggleCoverageProfileMode( ), Метод

Переключает (выделяет/снимает выделение) результирующих Записей в новый режим.

Синтаксис: ToggleCoverageProfileMode(tcSource, tcTarget)

Возвращаемое значение: RETURN NOT THIS.lError

Параметры: tcSource - имя исходной Таблицы, .tcTarget - имя модифицированной Таблицы.

Примечание: Если lMarkAllOnLoad = true (.T.), то маркируются все Записи в новом Режиме.

ToggleStackXMLExtendedTree( ), Метод

Переключатель .lStackXMLExtendedTree.

Синтаксис: ToggleStackXMLExtendedTree( )

Возвращаемое значение: NOT THIS.lError

Параметры: Нет

Примечание: Разрабатывался для усиления возможностей Субклассирования в условиях переключения в Пользовательском Интерфейсе, изменяет текущую схему XSLT, и другие характеристики. Данный метод аналогичен методу: ToggleCoverageProfileMode.

Expand image См. также

Концепции

Подсистема Анализа Приложения "Coverage Profiler"

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Utility Programs

Visual FoxPro 9.0 Samples
Программные Утилиты

Представленный Инструментарий предусмотрен в системе Microsoft Visual FoxPro, чтобы помочь ускорить Процесс Разработки Пользовательского Приложения.

В этом Разделе

Как: Добавить Определение Этикетки (Label) с помощью приложения Addlabel.app

Описывается процесс создания Новой Этикетки, которая может далее использоваться в Диалоговом боксе New Label Дизайнера Этикеток.

Анализатор Программного Кода (Code Analizer)

Предоставляет визуальный Интерфейс, Меню, "горячие" Клавиши для навигации по файлам Программного Кода разрабатываемого Приложения при помощи соответствующего Мастера Документирования (Documenting Wizard).

Cpzero.prg

Позволяет очистить Флаг признака Code Page в структуре файла Таблицы Данных.

Filer.dll

Поддерживает самые популярные Операции и Характеристики Файловой Системы, включая поддержку Поисковых функций в файлах, символьных строк, а также открытие нескольких файлов для Редактирования.

Gendbc.prg

Создает Программный Код, позволяющий повторно создавать Контейнеры Баз Данных (.DBC).

Genhtml.prg

Позволяет Создавать страницы Web (.HTML) на основе требуемых Данных из Таблиц (.DBF).

HexEdit

Позволяет просматривать, проверять, или изменять двоичные данные по определенным физическим адресам в программных или ASCII файлах.

Связанные Секции Справки

Инструментарий Производительной Разработки

Рассматриваются подходы и разнообразный Инструментарий, помогающие Просто и Быстро создавать Приложения Visual FoxPro.

Как: Использовать Диспетчер Task List (Список Задач)

Рассматриваются вопросы использования Диспетчера Task List, позволяющего Отслеживать выполняемые пользовательские Задачи, вести Журнал или Протокол выполняемых Задач.

Использование инструментария Object Browser (Просмотрщик Объектов (COM / ActiveX))

Описываются основные моменты использования Object Browser для получения информации о различных Внешних Компонентах, Объектах, Классах, их Свойствах, Методах и Событиях.

Как: Использовать возможности Командного Окна (Command Window)

Объясняется, как при помощи Командного Окна, можно ввести стандартную Команду системы Visual FoxPro, которая будет немедленно выполнена.

Как: Использовать Просмотрщик средства Accessibility (Доступности)

Рассматриваются вопросы и рекомендации по использованию Accessibility Browser для проверки вашего Приложения на предмет обеспечения доступности пользователей с ограниченными возможностями, ограниченной трудоспособностью при работе с данным Приложением.

Как: Использовать автоматическую подсистему Тестирования Harness

Рассматриваются вопросы использования подсистемы Automated Test Harness, которая помогает выполнять специальные Скрипты, автоматически тестирующие ваше Приложение.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


How to: Add a Label Definition Using Addlabel.app

Visual FoxPro 9.0 Samples
Как: Добавить Определение Этикетки с помощью системного приложения Addlabel.app
См. также

Поставляемое с дистрибутивным пакетом системы Visual FoxPro Приложение Tools\Addlabel folder, Addlabel.app предоставляет вам возможность определить различные параметры настроек создаваемых Этикеток, сохранить данные параметры в системном реестре Windows Registry, использовать их при последующих сеансах работы с Дизайнером Этикеток.

CopyCode image Копировать Код
DO Addlabel.app

Добавление пользовательских размеров Этикеток

Если в имеющемся списке возможных размеров Этикеток, которые предоставляет Дизайнер Этикеток, вы не находите требуемый вам размер, вы можете определить новый пользовательский размер Этикетки, для этого используется Диалоговый бокс New Label.

Для добавления нового определения размеров Этикетки

  1. Запустите приложение (Run Addlabel.app).

  2. В соответствующем диалоговом боксе Custom Labels, выберите кнопку New.

  3. В соответствующих диалоговых боксах Label Name , New Label Definition, определите имя нового члена списка Шаблонов размеров Этикеток. Данное имя шаблона отображается в соответствующем боксе New Label, при создании новой Этикетки.

  4. В дополнительных текстовых боксах отображаются специфические данные о размере определяемой Этикетки: Высота, Ширина, Отступы от края. Вы также можете определить количество печатаемых Этикеток в одной Колонке печатного листа, для этого используется соответствующий Контрол: Number Across.

  5. Нажмите командную кнопку Add.

См. также

Описание

Cpzero.prg
Gendbc.prg
Genhtml.prg
Дизайнер Этикеток

Концепции

Code Analyzer
HexEdit

Другие ссылки

Системные Программы-Утилиты

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Code Analyzer

Visual FoxPro 9.0, Примеры
Анализатор Программного Кода, пример
Смотрите Также

Рассматриваемый программный модуль размещается относительно домашнего каталога системы Visual FoxPro, в подкаталоге: Tools\Analyzer; Приложение Analyzer.app позволяет в режиме On-Line (непрерывно) отслеживать структуру и наполнение Приложений Visual FoxPro; в данном Инструменте предусмотрены визуальные управляющие элементы (Контролы), контекстные Меню, "горячие" клавиши по выполнению разнообразных операций над исследуемым Приложением; можно получать Отчеты, которые используются в Мастере Документирования.

CopyCode image Копировать Код
DO HOME( ) + 'tools\analyzer\analyzer' WITH 'DocWizTargetDirectory'

Параметры

DocWizTargetDirectory

Определяет Имя подкаталога, который используется Мастером Документирования Приложения.

Комментарии

Закладка Symbols обеспечивает доступ ко всем аттрибутам Разработчика для открытого Документа. Закладка Hierarchies обеспечивает отображение Иерархического дерева структуры программных модулей и используемых Классов вашего Приложения.

См. также

Описание

Мастер Документирования

Концепции

Программа Мониторинга Приложения

Другие ссылки

Программные Утилиты

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Symbols Tab, Code Analyzer

Visual FoxPro 9.0, Примеры
Закладка Symbols, Анализатор Кода
См. Также

В данной закладке Анализатора Кода определяются специальные символы, которые используются при документировании ваших программных модулей, разделяются отдельные программные блоки. В данной закладке имеются следующие параметры.

Закладки (Tab) Параметров

Goto (Переход)

Открывает текстовое окно для выбранного программного файла, в котором выполняется автоматическое перемещение на позицию со специальным символом.

Next (Следующий)

Выполняется перемещение на следующее место, где расположены специальные символы данного программного файла.

Symbols (Специальные символы)

Отображаются все специальные символы, представленные в документированном файле.

Files (Файлы)

Отображается список процедурных файлов, в которых содержатся указанные специальные символы.

См. также

Описание

Мастер Документирования Приложения
Закладка Hierarchies, Анализатор Кода

Концепции

Анализатор Кода
Анализатор Кода

Другие ссылки

Программные Утилиты

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Hierarchies Tab, Code Analyzer

Visual FoxPro 9.0, Примеры
Закладка Иерархия, Анализатор Кода
См. Также

В данной закладке отображается структура вызова модулей или иерархическое дерево компонент, классов и прочих элементов вашего программного модуля. Данная закладка содержит следующие дополнительные параметры:

Закладка Опции (Tab options)

Files (файлы)

Отображаются структура вызова модулей или иерархия классов вашего программного модуля.

Option (опции, параметры)

Выбирается альтернативный вариант отображения файлов-компонент вашего программного модуля.

См. также

Описание

Мастер Документирования
Закладка Symbols, Анализатор Кода

Концепции

Анализатор Кода
Анализатор Кода 2

Другие ссылки

Программные Утилиты

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Cpzero.prg

Visual FoxPro 9.0 Samples
Cpzero.prg
Смотрите также Пример

Расположенная в папке Visual FoxPro Tools\Cpzero, Cpzero.prg удаляет метку кодовой страницы из любого файла, который имеет табличную структуру файловая структура. После удаления метки Cpzero добавляет другую метку, которую вы определяете.

Обычно вы используете Cpzero с файлами других платформ или более ранних версий FoxPro. Если эти файлы не имеют метки кодовой страницы, когда вы их открываете, Visual FoxPro подсказывает вам кодовую страницу. Если вы неверно определили кодовую страницу,и данные в файлах отображаются неправильно, скорректируйте кодовую страницу, используя Cpzero.

DO Cpzero [WITH "filename"[, codepage_number]]

Параметры

filename

Определяет имя файла и должно быть ограничено одинарными или двойными кавычками. Если filename не включено, отображается диалоговое окно определения местоположения файла.
codepage_number

Определяет желаемый номер кодовой страницы. Если параметр не включен, будет показано диалоговое окно выбора кодовой страницы.
Примечание:
Перед запуском Cpzero на таблице убедитесь, что она закрыта.

Пример

Copy Code
* Удалите кодовую страницу из MYFILE.DBF и установите новую кодовую страницу равной 437
*
*
DO Cpzero WITH 'MYFILE.DBF',437

Смотри также

Другие ресурсы

How to: Add a Label Definition Using Addlabel.app
Code Analyzer
Gendbc.prg
Genhtml.prg
HexEdit
Code Pages Supported by Visual FoxPro
CPCONVERT( ) Function
CPCURRENT( ) Function
CPDBF( ) Function
GETCP( ) Function
Utility Programs
SET CPDIALOG Command
SET NOCPTRANS Command

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Filer.dll

Visual FoxPro 9.0
Filer.dll
Смотрите также

Расположенная в директории Visual FoxPro \Tools\Filer библиотека Filer.dll это базовый компонент, который обеспечивает поиск файла и текста без использования пользовательского интерфейса. Вы можете включить Filer.dll и связанные с ним файлы Filer.ico, Filer.scx и Filer.sct в дистрибутив созданного Вами приложения на Visual FoxPro.

Note Замечание

Техническая поддержка по проблемам, связанным с использованием этих файлов не осуществляется.

Для получения дополнительной информации об использовании Filer.dll смотрите следующие разделы:

  • Создание объекта Filer

  • Создание пользовательского интерфейса для объекта Filer

  • Использование свойств и методов объекта Filer

Создание объекта Filer

Вы можете использовать Filer.dll чтобы получить возможность программным способом искать и манипулировать файлами без участия пользователя. Filer.dll также включает поддержку поиска текстовых строк в файлах и возможность открытия нескольких файлов для редактирования.

Filer.dll это COM объект, поддерживающий режим автоматизации. Поэтому, Вы можете создавать экземпляр Filer для других серверов автоматизации, таких как Microsoft Visual Basic и Microsoft Excel.

Создание экземпляра поисковой системы Filer

  • Включите следующую строку кода для того, чтобы создать экземпляр объекта Filer.

    CopyCode image Копировать код
    oMyFiler = CREATEOBJECT('Filer.FileUtil')

Для того чтобы создать экземпляр объекта Filer для других серверов автоматизации, Вы можете использовать подобный синтаксис.

Создание пользовательского интерфейса для объекта Filer

Visual FoxPro включает пример формы Filer.scx (и Filer.sct) для того, чтобы показать, как Вы можете создать пользовательский интерфейс для объекта Filer. Когда Вы запустите форму, появится диалоговое окно File Finder и пункт меню Filer будет добавлен в выпадающее меню Tools текущей сессии Visual FoxPro.

Запустить форму Filer

  • Выполните команду DO FORM как показано в следующем примере:

    CopyCode image Копировать код
    DO FORM (HOME(1) + 'Tools\Filer\Filer.scx')

Для получения дополнительной информации смотрите Диалоговое окно поиска файла (File Finder).

Просмотреть или изменить код формы Filer

  • Выполните команду MODIFY FORM как показано в следующем примере:

    CopyCode image Копировать код
    MODIFY FORM (HOME(1) + 'Tools\Filer\Filer.scx')

Использование свойств и методов объекта Filer

Объект Filer имеет свойства и методы, которые Вы можете использовать, например, для того, чтобы определить условия поиска файла и запустить сам процесс поиска.

Когда Вы выполняете поиск файла, используя метод Find объекта Filer, то создается коллекция объектов с именем Files. Коллекция объектов Files имеет свойства, которые Вы можете использовать для определения информации о файлах, удовлетворяющих условиям поиска. Коллекция объектов Files также имеет методы, которые Вы можете использовать для того, чтобы открыть или удалить найденные файлы.

Следующий пример демонстрирует, как Вы можете найти и открыть текстовый файл из среды Visual FoxPro.

CopyCode image Копировать код
oMyFiler = CREATEOBJECT('Filer.FileUtil')
oMyFiler.SearchPath = HOME() && Домашний каталог, как место, откуда надо начинать поиск.
oMyFiler.FileExpression = '*.TXT' && Указание поиска текстовых файлов.
oMyFiler.Find(0) && Выполнить поиск, удалив результаты предыдущего поиска

FOR nFileCount = 1 TO oMyFiler.Files.Count
   oMyFiler.Files.Item(nFileCount).Edit && Открыть файлы.
ENDFOR

Свойства объекта Filer

Следующая таблица описывает свойства, связанные с объектом Filer.

Свойство | Тип данных | Описание
SearchPath | C | Директория, из которой начинается поиск. Поддерживает универсальное соглашение о наименованиях "Universal naming conventions" (UNC). Данное свойство можно как читать, так и изменять.
FileExpression | C | Маска для поиска файла, которая может включать несколько масок, разделенных символом точки с запятой (;). Например, маска поиска файла "*.scx; *.sct" означает, что необходимо искать все файлы, которые имеют как расширение ".scx", так и расширение ".sct". По умолчанию, маска поиска файла устанавливается в значение "*.*". Данное свойство можно как читать, так и изменять.
SubFolder | N | Числовое значение, которое определяет, будет ли поиск выполняться только в директории, указанной в свойстве SearchPath или же и в ее поддиректориях. Если свойство SubFolder имеет значение 0, то поиск файла будет осуществлен только в директории, указанной в свойстве SearchPath. Если свойство SubFolder имеет значение 1, то поиск файла будет осуществлен как в директории, указанной в свойстве SearchPath, так и во всех ее поддиректориях. Следует заметить, что объект Filer игнорирует системные папки. По умолчанию, данное свойство имеет значение 0. Данное свойство можно как читать, так и изменять.
SearchText1 | C | Символьная строка, которую следует искать внутри файлов, удовлетворяющих условию поиска, заданному в свойстве FileExpression. По умолчанию, значение этого свойства равно пустой строке. Данное свойство можно как читать, так и изменять.
SearchText2 | C | Еще одна, дополнительная, символьная строка, которую следует искать внутри файлов, удовлетворяющих условию поиска, заданному в свойстве FileExpression. Данное свойство игнорируется, если свойство SearchText1 содержит пустую строку. По умолчанию, значение этого свойства равно пустой строке. Данное свойство можно как читать, так и изменять.
SearchText3 | C | Еще одна, дополнительная, символьная строка, которую следует искать внутри файлов, удовлетворяющих условию поиска, заданному в свойстве FileExpression. Данное свойство игнорируется, если свойства SearchText1 и SearchText2 содержат пустые строки. По умолчанию, значение этого свойства равно пустой строке. Данное свойство можно как читать, так и изменять.
IgnoreCase | N | Числовое значение, которое определяет, следует ли учитывать или игнорировать регистр текста (большие или маленькие буквы) в текстовых строках, указанных в свойствах SearchText1, SearchText2 и SearchText3. Если значение свойства IgnoreCase имеет значение 0, то значение регистра букв учитывается (большие и маленькие буквы различаются). Если значение свойства IgnoreCase имеет значение 1, то регистр букв игнорируется. По умолчанию, значение этого свойства равно 1. Данное свойство можно как читать, так и изменять.
WholeWords | N | Числовое значение, которое определяет, следует ли воспринимать как слово целиком или как фрагмент слова текст в текстовых строках, указанных в свойствах SearchText1, SearchText2 и SearchText3. Если значение свойства WholeWords имеет значение 0, то текст в текстовых строках - это фрагмент (часть) слова. Если значение свойства WholeWords имеет значение 1, то текст в текстовых строках - это слово целиком, а не часть слова. По умолчанию, значение этого свойства равно 0. Данное свойство можно как читать, так и изменять.
SearchAnd | N | Числовое значение, которое определяет, следует ли обязательно найти все тексты в текстовых строках, указанных в свойствах SearchText1, SearchText2 и SearchText3 или достаточно найти какой-либо один из указанных текстов. Если свойство SearchAnd имеет значение 0, то достаточно найти любой из указанных текстов. Если свойство SearchAnd имеет значение 1, то необходимо найти все указанные тексты. По умолчанию, значение этого свойства равно 0. Данное свойство можно как читать, так и изменять.
Editor | C | Программа-редактор, в которой будет открыт файл из коллекции Files при использовании метода Open. Данное свойство игнорируется, если свойство IsHostedByFox имеет значение 1. Программой редактором по умолчанию назначена программа Notepad. Данное свойство можно как читать, так и изменять.
IsHostedByFox | N | Числовое значение, которое определяет, кто является клиентом для COM-объекта созданного на базе Filer.dll. Если свойство IsHostedByFox имеет значение 1, то клиентом является Visual FoxPro и редактор Visual FoxPro используется для открытия файла. Если свойство IsHostedByFox имеет значение 0, то клиентом является приложение, отличное от Visual FoxPro, и в качестве редактора для открытия файлов используется приложение, указанное в свойстве Editor. По умолчанию, значение этого свойства равно 1 в Visual FoxPro. Данное свойство можно как читать, так и изменять.
SortBy | N | Числовое значение, которое определяет порядок, в котором будут отсортированы объекты в коллекции найденных файлов Files. Следующая таблица содержит список возможных значений свойства SortBy и порядок сортировки файлов для каждого из значений. 0 Нет сортировки 1 Путь и имя файла 2 Имя файла 3 Расширение файла 4 Размер файла 5 Дата последней модификации файла 6 Дата последнего обращения к файлу 7 Дата создания файла 8 Атрибуты файла По умолчанию, данное свойство имеет значение 1. Данное свойство можно как читать, так и изменять.
SortDirection | N | Числовое значение, которое определяет, следует ли упорядочивать элементы в коллекции Files по возрастанию или по убыванию значений. Если свойство SortDirection имеет значение 0, то элементы в коллекции Files упорядочены по возрастанию значения. Если свойство SortDirection имеет значение 1, то элементы в коллекции Files упорядочены по убыванию значения. По умолчанию, данное свойство имеет значение 0. Данное свойство можно как читать, так и изменять.

Методы объекта Filer

Следующая таблица описывает методы, связанные с объектом Filer.

Метод Описание

Find(nValue)

Метод, который собственно и выполняет поиск файлов и создает коллекцию Files. Метод Find возвращает числовое значение, которое определяет, количество элементов в коллекции Files.

nValue это числовое значение, которое определяет, следует ли удалить из коллекции Files результаты предыдущего поиска. Если свойство nValue имеет значение 0, то результаты предыдущего поиска удаляются из коллекции Files. Если свойство nValue имеет значение 1, то результаты нового поиска добавляются к результатам предыдущего поиска в коллекции Files.

Обратите внимание, что свойство nValue является обязательным. Нет значения по умолчанию.

Объекты коллекции Files

Следующая таблица описывает объектные ссылки, связанные с коллекцией Files.

Объект | Описание
Item(nValue) | Объектная ссылка на файл в коллекции Files. nValue - это индекс файла в коллекции Files. nValue начинается с 1 и до количества файлов, содержащихся в коллекции Files. Вы можете использовать свойство Count, описанное ниже, для того, чтобы определить общее количество файлов в коллекции Files.

Свойства коллекции Files

Следующая таблица описывает свойства, связанные с коллекцией Files.

Свойство | Тип данных | Описание
Count | N | Содержит количество файлов в коллекции Files. Данное свойство доступно только для чтения.
Name | C | Имя файла, исключая путь доступа. Данное свойство доступно только для чтения.
Size | N | Размер файла в байтах. Данное свойство доступно только для чтения.
SizeHigh | N | Старшие 4 байта, если размер файла превышает 4 гигабайта. Данное свойство доступно только для чтения.
Attr | N | Атрибуты файла в системе Windows. Следующий список содержит числовые значение типичных атрибутов файлов. 0 Нет установленных атрибутов 1 Файл только на чтение 2 Скрытый файл 4 Системный файл 32 Архивный файл Значение свойства Attr может содержать сумму нескольких файловых атрибутов. Например, если свойство Attr имеет значение 7 (1+2+4), то файл доступен только на чтение, и является скрытым и системным файлом. Дополнительную информацию о других файловых атрибутах, которые может возвращать свойство Attr, смотрите в описании к функции GetFileAttributes в "Microsoft Developer's Network library" (MSDN). Данное свойство можно как читать, так и изменять.
DateTime | N | Отметка времени, установленная системой Windows в момент создания файла. Дата и время создания файла Целая часть этой отметки - это количество дней, прошедших с даты 12/30/1899, а дробная часть - это отношение количества секунд прошедших с полуночи до момента создания файла к общему количеству секунд в сутках. Форма Filer (Filer.scx), содержит пользовательский метод с именем GetTime, который демонстрирует, как Вы можете определить дату и время создания файла из свойства DateTime. Замечание от переводчика: На самом деле в этой форме такого метода нет. Но Вы можете легко создать его сами по приведенному описанию. Данное свойство доступно только на чтение.
LastAccessTime | N | Отметка времени, установленная системой Windows в момент последнего обращения к файлу. Данное свойство доступно только на чтение.
LastWriteTime | N | Отметка времени, установленная системой Windows в момент последнего изменения файла. Данное свойство доступно только на чтение.
AlternateName | C | Короткое имя файла, если количество символов в имени файла больше, чем допускается соглашением о наименованиях MS-DOS® 8.3. Данное свойство доступно только на чтение.
Path | C | Полный путь доступа к файлу. Данное свойство доступно только на чтение.

Методы коллекции Files

Следующая таблица описывает методы связанные с коллекцией Files.

Метод | Описание
Edit | Открывает указанный файл для редактирования. Если свойство IsHostedByFox имеет значение 1 (это значение по умолчанию для Visual FoxPro), то файл открывается в редакторе Visual FoxPro. Если свойство IsHostedByFox имеет значение 0, то файл открывается в редакторе, определенном в свойстве Editor (по умолчанию - это NotePad).
Delete | Удаляет указанный файл с диска. Файл не помещается в корзину (Recycling Bin). Удаление без возможности восстановления

Смотрите также

Ссылки

CREATEOBJECT( ) функция
DO FORM команда
MODIFY FORM команда

Другие ресурсы

Программные утилиты
Инструменты, для повышения производительности разработчика
Автоматизация и COM-серверы
Создание дистрибутива приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Gendbc.prg

Visual FoxPro 9.0, Примеры
Gendbc.Prg, утилита
См. также Пример
CollapseAll image

Размещается в подкаталоге: Tools\Gendbc, данный инструментарий генерирует Программный Модуль создания структуры Базы Данных типа Visual FoxPro. GenDBC.prg поддерживает поля типа Autoincrementing, последовательности Сортировки (Collating), фильтрованные первичные Ключи. Для версии Visual FoxPro 9.0, также поддерживаются поля типа: Blob, VarChar, VarBinary, а также специфические свойства AllowSimultaneousFetch, RuleExpression, RuleText - для Представлений (Views).

Вы можете использовать рассматриваемую программную утилиту для следующих случаев:

  • Программный код создания Базы Данных, в целях обучения мотодам программирования БД;

  • Использование Фрагментов создаваемого программного Кода в пользовательских Приложениях, для автоматизации процедур поддержки БД.

  • Использование программного Кода создания всех компонент БД в условиях разрушения исходной Базы Данных.

DO GENDBC WITH filename

Параметры

filename

Определяет символьную строку, как имя выходного, генерируемого программного файла. Данный параметр: filenameможет содержать полный путь к файлу и расширение (тип) создаваемого файла. Если расширение не указывается, то предполагается (.prg).

Note Обратите Внимание

Данная программа работает только с активной, открытой, текущей Базой Данных.

Expand image Пример

В представленном далее примере, создается программный модуль MyData.prg, который содержит программный код создания Базы Данных с именем MyDatabase. Другой модуль, Main.prg, создается в подкаталоге: C:\VFP\main\, и содержит программный код создания БД Main.

CopyCode image Копировать Код
OPEN DATABASE MyDatabase
DO gendbc WITH 'MyData.prg'
SET DATABASE TO Main
DO gendbc WITH 'c:\vfp\main'

Expand image См. также

Задачи

Как: Добавить шаблон Этикетки с помощью Утилиты Addlabel.app

Описание

Genhtml.prg, утилита
Cpzero.prg, утилита

Концепции

Анализатор программного Кода (Code Analyzer)
HexEdit, редактор-16

Другие ссылки

Программные Утилиты

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Genhtml.prg

Visual FoxPro 9.0 Образцы
Genhtml.prg
Смотрите также
CollapseAll image

Genhtml.prg является программой, используемой системной переменной _GENHTML по умолчанию.

Вы можете использовать _GenHTML для легкого сбора статических данных или конвертации форм, этикеток, отчетов и меню для просмотра или пересылки по email или посылки в качестве Web страниц. Вы можете и использовать для совместного использования данных на сайтах, на которых нет инсталлированного Visual FoxPro или созданият щаблонов, для использования в Web страницах.

Доступ к программе GenHTML.PRG можно получить из меню File, когда вы выбираете опцию Save As HTML. Эта опция меню доступна, когда активны дизайнеры форм, этикеток, меню или отчетов или когда таблица или курсор открыты в окне Browse. GenHTML использует указанные источники данных, как основу для генерации HTML документов, используя класс, кодержащийся в библиотеке классов _HTML.VCX.

Вы можете запустить программу GenHTML из командного окна, используя приведенный ниже синтаксис:

CopyCode image Скопировать код
DO (_GENHTML) WITH <cOutFile> <cSourceFile> [, <nShow>][,<vIELink>][,...
Параметр Описание

cOutFile

По умолчанию = ""

Указывает имя файла, который будет сгенерирован. Если для имени файла не указано расширение, то умолчанию используется .HTM .

cSourceFile

По умолчанию: = ""

Указывает имя файла источника, псевдоимя или объект.

nShow

По умолчанию: = 0

Определяет - будет ли GenHTML создавать новый файл или открывать уже имеющийся. tnShow может принимать приведенные далее значения:

0 = Генерировать выходной файл

1 = Генерировать и отобразить выходной файл в редакторе Visual FoxPro.

2 = Генерировать и отобразить выходной файл в Internet Explorer.

3 = Генерировать и отобразить выходной файл после использования диалогового блока Save As

4 = Создать объект PUBLIC _oHTML и генерировать файл.

5 = Создать объект PUBLIC _oHTML без генерации файла.

vIELink

По умолчанию:

Указывает линк на объект Internet Explorer или управляющий элементов Web browser.

Object

По умолчанию:

Указывает ссылку на объект Internet Explorer.

cStyle

По умолчанию:

Указывает Style ID в GenHTML.DBF.

tcScope

По умолчанию:

Указывает область сканирования с помощью использования свойства cScope.

cHTMLClass

По умолчанию:

Указывает класс, и, необязательно, баблиотеку классов, из которой получена инстанция объекта HTML.

Expand image Смотрите также

Задачи

Как: добавить определения этикетки с помощью программы Addlabel.app

Справочное руководство

Программа генерации баз данных Gendbc.prg
Программа сброса кодовой страницы Cpzero.prg

Концепции

Анализатор кода
Редактор HexEdit

Прочие ресурсы

Программы утилит

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


HexEdit

Visual FoxPro 9.0 Образцы
Приложение HexEdit
Смотрите также

Расположенный в каталоге Visual FoxPro Tools\Hexedit, приложение Hexedit.app предоставляет путь для проверки адресных значений или изменения байта и ASCII значений данных в файле. HexEdit является визуальным эквивалентом команды DUMP отладочной программы MS-DOS Debug.

Caution note Предупреждение

Когда вы желаете отредактировать файл, убедитесь что он не используется или не заблокирован каким-то иным способом.

CopyCode image Скопировать код
DO HEXEDIT.app

Примечания

Когда вы выбираете редактирование файла, HexEdit отображает диалоговый блок с приведенными ниже управляющими опциями.

Опции окна приложения

Select File

Командная кнопка, щелчок по которой, отображает диалоговый блок Open, с тем, чтобы вы могли изменить декущий файл.

Address

Отображает смещение адреса первого байта данных файла в 16-ти байтном блоке, отображаемом в следующим колонках.

0...F

Отображает шестнадцать 2-значных чисел, представляющих шестналцатиричное значение байта в этой позиции файла.

Text

Отображает ASCII представление значения байта в соответствующей позиции в колонках, в которых выведены значения байта.

Save Edits

Командная кнопка, щелчок по которой, сохраняет изменения в открытом файле.

Undo Edits

Командная кнопка, щелчок по которой, сбрасывает все редактирование в открытом файла.

Find

Командная кнопка, щелчок по которой, разрешает вам указать символ, для его поиска в файле. Вы можете, кроме того, искать или вперед или назад по содержимому файла в любом его месте.

Jump

Командная кнопка, щелчок по которой, разрешает вам указать шестнадцатиричный или десятичный адрес для редактирования.

Close

Командная кнопка, щелчок по которой, закрывает приложение HexEdit и открытый файл.

Смотрите также

Задачи

Как: добавить определение этикетки с помощью приложения Addlabel.app

Справочное руководство

Gendbc.prg
Cpzero.prg
Genhtml.prg
Visual FoxPro Key Codes (API Library Construction)

Concepts

Анализатор кода (Code Analyzer)

Прочие ресурсы

Программы Utility

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Customize the Toolbox

Visual FoxPro 9.0
Как: настроить Toolbox
Смотрите также

Toolbox может быть настроен таким образом, чтобы он содержал категории и элементы, которые вы наиболее часто используете. Вы можете, кроме того, упорядочить элементы таким образом, чтобы их использование вами было наиболее эффективным. Это может быть сделано добавление или удалением категорий, изменением порядка следований категорий и добавлением или удалением элементов в категорию.

До того, как вы сможете настроить Toolbox, вы должны открыть его.

Для того, чтобы открыть Toolbox

  • В меню Tools щелкните по Toolbox.

Для добавления новой категории

  1. Вызовите щелчком по правой клавише мыши контекстное меню и выберите в нем Customize Toolbox.

  2. В диалоговом окне Customize Toolbox щелкните по папке Categories.

  3. Вверху диалогового окна Customize Toolbox щелкните по Add Category.

  4. В диалоговогом окне Add Category впечатайте имя новой категории в боксе Category namebox.

  5. В списке Category type выберите тип категории, которую вы добавляете и щелкните по OK.

Для удаления категории

  1. Вызовите щелчком по правой клавише мыши контекстное меню и выберите в нем Customize Toolbox.

  2. В диалоговом окне Customize Toolbox щелкните по категории, которую вы желаете удалить.

  3. Вверху диалогового окна Customize Toolbox щелкните по Remove Category.

  4. Когда вы будете запрошены об удалении категории, щелкните по OK.

Для добавления элемента в категорию

  1. Вызовите щелчком по правой клавише мыши контекстное меню и выберите в нем Customize Toolbox.

  2. В диалоговом окне Customize Toolbox щелкните по категории, в которую вы желаете добавить ваш класс.

  3. Щелкните по Add Item в диалоговом окне Customize Toolbox.

  4. В диалоговом окне Add Item выберите тип элемента, который вы желаете добавить и щелкните по OK.

  5. В диалоговом окне Add Class Library выберите категорию в которую вы желаете добавить вашу библиотеку классов.

  6. Щелкните по командной кнопке выбора (...) справа от бокса ввода библиотеки класса, выберите в диалоговом окне Open желаемую библиотеку и щелкните по командной кнопке OK

  7. В диалоговом окне Add Class Library щелкните по OK.

Для удаления элемента из категории

  1. Вызовите щелчком по правой клавише мыши контекстное меню и выберите в нем Customize Toolbox.

  2. В диалоговом окне Customize Toolbox выберите категорию, из которой вы желаете удалить элемент.

  3. В списке Category Item выберите элемент, который вы желаете удалить.

  4. Щелкните по кнопке Remove Item в диалоговом окне Customize Toolbox.

  5. Когда вы будете запрошены об удалении элемента, щелкните по кнопке OK.

Смотрите также

Справочное руководство

Toolbox (Visual FoxPro)
Системная переменная _TOOLBOX

Прочие ресурсы

Ресурсы повышения производительности
Программы-утилиты

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Use the Task List Manager

Visual FoxPro 9.0
Как: использовать Task List Manager (Диспетчер списка задач)
Смотрите также

Вы можете отслеживать задачи, используя Task List Manager (Диспетчер списка задач), которые хранит задачи в файле таблицы FoxTask.dbf. Вы можете создавать перечисленные ниже типы задач:

  • Shortcut (Ярлык) Ссылается на конкретную строку кода, которую вы желаете посмотреть или отредактировать спустя какое-то время.

  • Определенные пользователем Указывает на замечание to-do (Сделать) или элемент информации, который вы желаете отслеживать. Такие задачи добавляются вручную.

  • Прочие Настраиваемые или пользовательские задачи. Вы должны добавлять такой тип задач в вашем приложении программным путем.

    Note Замечание

    Убедитесь, что установили значение настраиваемой задачи в "O" в поле Type таблицы FoxTask.dbf, на которую ссылается системная переменная _FOXTASK. Для получения более подробной информации смотрите _FoxTask System Variable.

Для того, чтобы открыть Task List Manager (Диспетчер списка задач)

  • Для того, чтобы открыть Task List Manager (Диспетчер списка задач) в меню Tools (Инструменты) щелкните по Task List (Список задач).

Для получения более подробной информации смотрите Окно Task List Manager (Диспетчера списка задач).

Вы можете выполнять множество действий в Task List Manager (Диспетчере списка задач), такие как добавление, редактирование, установка приоритета, установка статуса задачи и удаление задач.

Добавление задач

Вы можете добавить ярлые или определенные вами задачи в Task List Manager (Диспетчер списка задач).

Для ввода ярлыка задачи

  1. Откройте программный файл, в котором вы желаете создать ярлык.

  2. В окне редактирования кода, выберите строку кода, для который вы желаете создать ярлык.

  3. В меню Edit (Правка) перейдите на Bookmarks (Закладки) и щелкните по Toggle Task List Shortcut (Переключить ярлык списка задач).

Вы можете, кроме того, добавить ярлык выполнив одно из приведенного ниже после выбора строка кода:

  • Вызвать на выделенной строке кода контекстное меню щелчок по правой клавише мыши и с последующим щелчком по Add Task List Shortcut (Добавить ярлык списка задач).

  • Нажать комбинацию клавиш ALT+F2 для ввода или удаления ярлыка.

  • Нажать и удерживать клавишу CTRL и затем щелкнуть по отступу выбора в редакторе кода..

Ярлыки задач указываются в виде стандартной иконки ярлыка, аналогичной размещаемой на иконках рабочего стола Windows, в колонке типа задачи.

Для ввода задачи, определенной пользователем

  1. В окне Tasks (Задачи) щелкните по надписи Click here to add a new task (Щелкните здесь для ввода новой задачи) в колонке Contents (Содержания).

    В текстовом боксе появится курсор.

  2. Впечатайте информацию о задаче, которую вы желаете выполнить.

  3. Когда закончите, нажмите на клавишу RETURN или щелкните за границей бокса ввода содержания задачи.

    Задача добавляется в конец списка и вы можете ввести дополнительную информацию.

Задача определенные пользователем отображаются в виде иконки с изображением пользователя с папочкой задач в колонке типа задачи.

Редактирование задач

Вы можете редактировать задачи непосредственно в Task List (Списке задач) или использовать диалоговое окно Task Properties (Свойства задачи). Диалоговое окно Task Properties (Свойства задачи) содержит закладки Task (Задача) и Fields (Поля), на которых отображается информация обо всех доступных полях, даже если они не отображены в окне Tasks (Задачи).

Note Замечание

Двойной щелчок на ярлыке задачи в окне Tasks (Задачи) открывает соответствующее окно редактирование и перемещается в нем к установленной закладке, определяющей этот ярлык.

Для редактирования задачи в диалоговом окне Task Properties (Свойства задачи)

  1. В колонке типа задачи (третья колонка слева), выполните двойной щелчок по левой клавише мыши у желаемой задаче.

  2. В диалоговом окне Task Properties (Свойства задач) щелкните по закладке Task (Задача).

  3. Редактируйте желаемые поля и установки.

Вы можете, кроме того, открыть диалоговое окно Task Properties (Свойства задачи) вызовом контекстного меню с помощью щелчка по правой клавише мыши на задаче с последующим выбором Open Task (Открыть задачу).

Установка приоритетов задач

Вы можете установить и организовывать приоритеты для задач.

Для установки приоритета задачи

  1. В колонке приоритетов, указываемой восклицательным знаком (!), щелкните по комбобоксу задачи, приоритет которой вы желаете изменить

  2. Выберите из списка подходящий авторитет для задачи.

Вы можете организовывать задачи по приоритету, щелкая по заголоку колонки приоритетов. Вы можете, кроме того, ввести для задачи дату ее исполнения.

Маркировка задач

Вы можете маркировать задачи, указывая их статус в виде "Прочтено" или "Завершено" в Task List Manager (Диспетчере списка задач).

Задачи, которые еще не прочитаны показываются выделенными жирным шрифтом и окрашены в красный цвет. Вы можете маркировать задачи как прочитанные, когда вы закончите читать описание задачи.

Для маркировки задачи, как прочитанной

  • Вызовите контекстное меню с помощью щелчка по правой клавише мыши на задаче с последующим выбором Mark as Read.

    Когда задача прочитана, она более не будет отображаться жирным шрифтом.

Вы можете маркировать задачу, как прочитанную, открыв диалоговое окно Task Properties (Свойства задачи), щелкнув по закладке Task (Задача) и установив метку для чек-бокса Read (Прочитано).

Вы можете, кроме того, маркировать задачу, как завершенную, когда вы реально ее закончите.

Для маркировки задачи, как завершенной

  • Во второй колонке слева, отметьте чек-бокс задачи, которую вы завершили.

    Когда задача помечена, как завершенная, ее наименование появляется выведенным перечеркнутым шрифтом.

Вы можете, кроме того, маркировать задачу, как завершенную, вызовав контекстное меню с помощью щелчка по правой клавише мыши на задаче с последующим выбором Mark as Complete (Маркировать, как завершенную) или открыв диалоговое окно Task Properties (Свойства задачи), щелкнув по закладке Task (Задача) и установив метку в чек-боксе Complete (Завершена).

Удаление задач

Вы можете удалять задачи в Task List Manager (Диспетчере списка задач).

Note Замечание

Ярлыки задач удаляются автоматически, когда вы удаляете ярлык в окне редактирования.

Для удаления задачи

  • Вызовите контекстное меню с помощью щелчка по правой клавише мыши на задаче с последующим выбором Delete Task (Удалить задачу).

Добавление файлов в задачи, определенные пользователем

Ярлыки задач имеют автоматически ассоциированные с ними файлы. Вы можете добавить ассоциации файлов в определенные пользователем или прочие задачи, хотя этого и не требуется.

Для добавления ассоциации с файлом

  • В поле File Name (Имя файла) задачи, впечатайте полный путь и имя файла и любую другую дополнительную информацию, такую как номер строки или метод.

Вы можете, кроме того, добавить ассоциацию с файлом, открыв диалоговое окно Task Properties (Свойства задачи) и введя имя файла в поле File Name (Имя файла).

Открытие файлов для редактирования

Вы можете открыть и редактировать файлы, ассоциированные с задачами.

Для открытия и редактирования файла, связанного я задачей

  • Выполните двойной щелчок по левой клавише мыши в окне Tasks (Задачи).

Вы можете, кроме того, вызвать контекстное меню с помощью щелчка по правой клавише мыши на ярлыке задачи или задачи, определенной пользователем, которая имеет ассоциированный с ней файл и выбратьOpen File (Открыть файл).

Редактирование пользовательских полей

Вы можете редактировать пользовательские поля, которые существуют в Task List Manager (Диспетчере списка задач).

Для редактирования пользовательских полей

  1. В колонке типа задачи (третья колонка слева), выполните двойной щелчок по левой клавише мыши на иконке рядом с желаемой задачей.

  2. В диалоговом окне Task Properties (Свойства задачи) щелкните по закладке Fields (Поля).

    Появится список доступных пользовательских полей.

Очистка и редактирование таблицы списка задач

Вы можете очистить таблицу списка задач и редактировать структуру пользовательских колонок таблицы.

Для очистки таблицы списка задач

  1. Вызовите контекстное меню с помощью щелчка по правой клавише мыши на окне Tasks (Задачи) и выберите Options (Параметры).

  2. В диалоговом окне Tasklist Options (Параметры списка задач) щелкните по Clean Up FoxTask (Очистить таблицу задач).

Для редактирования структуры определенных пользователем полей таблицы

  1. Вызовите контекстное меню с помощью щелчка по правой клавише мыши на окне Tasks (Задачи) и выберите Options (Параметры)

  2. В диалоговом окне Tasklist Options (Параметры списка задач) щелкните по Редактировать структуру.

Вы можете, кроме того, настраивать Task List manager (Диспетчер списка задач) путем сортировки или фильтрации задач, а также выбором или вводом пользовательских полей. Для получения более подробной информации обратитесь к Настройка Task List Manager (Диспетчера списка задач).

Смотрите также

Задачи

Как: создавать закладки и ярлыки списка задач

Справочное руководство

Окно Task List Manager (Диспетчера списка задач)
Системная переменная _FoxTask
Системная переменная _TASKLIST

Прочие ресурсы

Программы-утилиты

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


How to: Create Bookmarks and Task List Shortcuts

Visual FoxPro 9.0
Как: Создавать закладки и ярлыки списка задач
Смотреть также

Вы можете устанавливать закладки и ярлыки в окне редактирования кода, что позволит легче управлять Вашим кодом во время программирования и устранения ошибок. Устанавливая закладки, Вы можете переходить между закладками в своем коде.

Создавая ярлыки, Вы можете создавать задачи в менеджере списка задач, связанные с этим ярлыком. Когда вы создали в коде ярлык, в окне задач менеджера списка задач появляется запись, которая позволяет быстро перейти к обозначенному коду. Больше информации Вы найдете посмотрев Как: использовать менеджер списка задач и Окно менеджера списка задач.

Note Примечание

Прежде чем создавать закладки или ярлыки, у Вас должен быть предварительно сохраненный файл. Для одной строчки кода Вы можете создать либо закладку, либо ярлык. Закладки и ярлыки относятся к позиции строки кода в окне редактирования, а не к самому коду. Следовательно, определенные действия, как например, вставка текста перед закладкой, приведут к тому, что закладка или ярлык будет ссылаться на другую строку кода. Если Вы не хотите, чтобы закладка ссылалась на новую строку, удалите закладку или ярлык, и добавьте в желаемой позиции.

Чтобы создать закладки и ярлыки

  1. Если файл с кодом не сохранен, сохраните его.

  2. Поставьте курсор мыши на строку кода, в которой Вы хотите создать закладку или ярлык.

  3. В меню Edit (Правка), найдите Bookmarks (Закладки).

  4. Чтобы создать закладку, нажмите Toggle Bookmark.

    На поле с левой стороны окна редактирования появится прямоугольник.

    Note Совет

    Если поле с левой стороны окна редактирования не отоборажается, Ви можете включить его на закладке Editor (Редактор) диалога Options (Опции). Больше информации Вы найдете посмотрев Закладка Editor (Редактор), диалога Options (Опции).

    -ИЛИ-

    Чтобы создать ярлык, нажмите Toggle Task List Shortcut.

    На поле с левой стороны окна редактирования появится изогнутая стрелка.

Также создать закладку Вы можите двойным нажатием мыши, удерживая кнопку SHIFT, на поле, слева от нужной строки кода. Аналогично двойным нажатием мыши, удерживая кнопку CTRL, на поле, слева от нужной строки кода, Вы можите создать ярлык. Создавать закладки и ярлыки возможно, также, с помощью "горячих" клавиш. Информация о "горячих" клавишах тут: "Горячие" клавиши (Visual FoxPro).

Note Примечание

Закладки сохраняются, если Вы закрыли и потом опять открыли окно редактирования, но они исчезнут, после перезагрузки Visual FoxPro. Ярлыки же сохраняются и между сеансами редактирования.

Управление закладками и ярлыками

  • В меню Edit (Правка), нажмите Next Bookmark/Shortcut (Следущая Закладка/ Ярлык) или Previous Bookmark/Shortcut(Предыдущая Закладка/Ярлык).

Удаление закладок и ярлыков

  1. Поставьте курсор мыши на строку кода, в которой Вы хотите удалить закладку или ярлык.

  2. В меню Edit (Правка), выберите Bookmarks (Закладки). Чтобы удалить закладку, нажмите Toggle Bookmark.

    -ИЛИ-

    Чтобы удалить ярлык, нажмите Toggle Task List Shortcut.

Смотрите также

Прочие ресурсы

Программирование в Visual FoxPro
Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Customizing the Task List Manager

Visual FoxPro 9.0
Настройка Task List Manager - мэнеджера списка задач
Смотрите также

Вы можете настроить вид вашего Task List Manager несколькими способами:

  • Сортировка задач Вы можете отсортировать список задач, щелкнув по заголовку колонки поля, которое. Повторные щелчки по заголовку изменять порядок сортировки: по убыванию, по возрастанию.

  • Фильтрация типов задач Вы можете отфильтровать типы задач, которые вы желаете отобразить в Task List с помошью выбора конкретный типов задач из субменю Show Tasks контекстного меню Task List. Субменю содержит опции для отображения контексных меню, пользовательских и прочих задач.

  • Выбор полей для просмотра Вы можете выбрать поля, которые вы желаете видеть в Task List с помощью выбора пункта меню Column Chooser из контекстного меню Task List. Появится диалоговое окно Columns picker для того, чтобы вы могли добавить новые поля, используя drag-and-drop, непосредственно в Task List. Для удаления поля, щелкните по правой клавише мыши на заголовке колонки и выбери пункт меню Remove This Column.

  • Введение пользовательских полей Вы можете добавить свои собственные поля в ваш Task List. Такие поля хранятся в отдельной таблице от вашей основной таблицы _FOXTASK (Foxtask.dbf). Такие пользовательские поля должны иметь поле UniqueID, с тем, чтобы вы могли связать поле с таблицей Foxtask. Вы можете редактировать Custom fields на закладке Fields диалогового блока Task Properties.

    Вы можете добавлять новые или существующие поля в диалоговом блоке Options. Доступ к этому блоку Options, осущевляетс из пункта меню Options контекстного меню Task List. Все пользовательские поля появляются в диалоговом блоке Columns Chooser, так что вы можете как добавлять их в Task List, так и удалять их оттуда.

Смотрите также

Задачи

Как: создать закладки (Bookmarks) и контексные меню Task List

Справочное руководство

Окно Task List Manager
Переменная _FoxTask System
Переменная _TASKLIST System

Концепции

Как: использовать Task List Manager

Прочие ресурсы

Программы утилиты

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Using the Object Browser

Visual FoxPro 9.0
Использование Object Browser (Обозревателя объекта)
Смотрите также
CollapseAll image

Object Browser (Обозреватель объекта) позволяет вам просматривать, фильтровать и искать компоненты, которые вы могли бы использовать в ваших проектах.

Для запуска Object Browser (Обозревателя объекта) в меню Tools (Инструменты), щелкните по Object Browser (Обозреватель объекта).

Кроме того, вы можете открыть Object Browser (Обозреватель объекта), щелкнув по командной кнопке Object Browser (Обозреватель объекта) на главной полоске инструментов Visual FoxPro, или напечатав приведенную ниже команду в окне Command:

CopyCode image Скопировать код
DO (_OBJECTBROWSER)
Note Замечание

После того, как Object Browser (Обозреватель объекта) откроется, вы можете открыть его программно с помощью системной переменной _OBJECTBROWSER.

Вы можете просматривать любые библиотеки типов COM классов, которые зарегистрированы в вашей системе. Левая панель отображает список всех загруженных библиотек классов. Вы можете развернуть любую категорию для отображения классов в библиотеке. Члены, связанные с этими классами, появятся в правой панели.

Expand image Работа с классами

Классы предоставляют полную информацию о члене для конкретного COM-компоненты или элемента ActiveX, которые вы можете использовать в вашем приложении. Экземлпяры этих объектов обычно создаются с помощью одной из перечисленных ниже функций Visual FoxPro:

CREATEOBJECT( ),
CREATEOBJECTEX( ),
NEWOBJECT( ),
GETOBJECT( ),
Метод ADDOBJECT

Note Замечание

Элементы управления ActiveX обычно просто перетаскиваются на класс формы непосредственно и затем в форме создается их экземпляр.

Вы можете пройти внутрь класса для просмотра подробной информации о члене, выбрав класс из узла Classes (Классы) в панели Classes & Members (Классы и члены). Когда класс выбран, то его свойства, методы и события отображаются в правой панели Members (Члены). Защищенные члены отображаются вместе и иконкой замка.

Когда вы щелкаете по членам класса в панели Members (Члены), то информация о них отображается в панели описания внизу окна. Содержимое панели информации предоставляет подробные данные о типах данных для параметров члена и возвращаемые значения. Выделенные подчеркиванием элементы представляют собой ссыки, по которым вы можете щелкнуть для того чтобы непосредственно перейти к этому элементу для получения более подробной информации. Кроме того, в панели описания отображается, если оно доступно, функциональное описание члена.

Expand image Работа со свойствами, методами и событиями

Наилучшим способом просмотра свойств, методов и событий является использование конкретного класса в панели Members (Члены). Обычно вы работаете с одним классом в один и тот же момент времени. Иногда вам может потребоваться просмотреть все свойства, методы и события в библиотеки сразу -не отфильтровывая по классу. Для того, чтобы выполнить это, щелкните по соответствующему узлу в панели Classes & Members (Классы и члены). В зависимости от размера библиотеки типов, для вывода списка всех членов может потребоваться от нескольких секунд до нескольких минут.

Когда вы щелкаете по свойству, методу или событию в панели Classes & Members (Классы и члены), вы сможете просмотреть все используемые классы и интерфейсы в панели Members (Члены).

Expand image Работа с кэшированными классами

Когда вы развертываете узлы Properties (Свойства), Methods (Методы) или Events (События) в панели Classes & Methods (Классы и члены), это может потребовать времени для отображения всего содержания. Поэтому Object Browser (Обозреватель класса) кэширует эту информацию в таблице Objectbrowser.dbf. Это съэкономит время, когда вам в будущем потребуется открыть эту библиотеку. Вы можете щелкнуть по кнопке Refresh (Обновить)для перезагрузки свойств, методоы и событий в следующий раз, когда вы будете развертывать описанные узлы.

Expand image Работа с константами и перечислениями

Многие библиотеки типов содержат константы. Константа представляет собой эквивалент численного #DEFINE, с которым разработчики приложений Visual FoxPro хорошо знакомы. Перечисления представляют собой коллекции из одной или более констант.

Перечисления являются особенными в том, что член может различать конкретное перечисление как тип данных для параметра или возвращаемого значения. В случае параметра это означает, что величина посылаемая параметру должны быть одной из констант, связанной с этим перечислением.

Вы можете просмотреть значение константы, щелкнув по ней и прочитать ее численное значение в панели описания.

Когда указывается константа в качестве параметра метода, вы должны посылать ее реальное численное значение. Visual FoxPro не распознакт реального имени константы, используемой в качестве ссылки по сравнению с тем, как это делается в других языках, например в Visual Basic.

Вы можете создать набор директив #DEFINE, которые представляют все константы просто перетащив узел Constants (Константы) в окно редактирования.

Expand image Работа с интерфейсами

Опытные разработчики могут пожелать работать с конкретными интерфейсами, описанными в COM-библиотеке. Интерфейсы чрезвычайно полезна, когда вы используете COM-серверы в Visual FoxPro, который использует опцию IMPLEMENTS команды DEFINE CLASS. Опция IMPLEMENTS принимает имя интерфейса в качестве параметра и может быть использована в связке с широким набором COM+ сервисов наравне с функцией EVENTHANDLER( ).

Вы можете создать шаблон класса с помощью операции "drag and drop", перетащив узел Interface (Интерфейс) в окно редактирования. Этот шаблон будет содержать любые предложения IMPLEMENTS и детали для члена интерфейса.

Expand image Поиск внутри библиотек

Вы можете осуществлять поиск текста в библиотеке, щелкнув по кнопке Find (Найти). Кнопка Find отобразит в верхней части окна обозревателя уникальную панель Find (Найти) поверх двух главных панелей. В помощью панели Simple Find (Простой поиск) производится поиск указанной строки внутри всех открытых библиотек. Этот поиск производится внутри всех элементов библиотеки и для строк, "содержащихся внутри".

Панель Advanced Find (Уточненный поиск) поддерживает большие уточнения для поиска.

Expand image Неизменность данных Object Browser (Обозревателя класса)

Сессии Object Browser (Обозревателя класса) неизменны между использованиями. Информация из Object Browser (Обозревателя класса) сохраняется в таблице objectbrowser.dbf, которая хранится в том же месте на диске, где и приложение Object Browser (Обозревателя класса). Эта информация включает в себя нижеприведенное:

  • Список Recent History (История последних библиотек) содержит список всех ранее открывавшихся библиотек, что служит для быстрого извлечения этой информции в будущем.

  • Кэшированные свойства, методы и события для библиотеки, чтобы вы смогли быстро их загрузить в следующий раз, когда они вам потребуются.

  • Все ранее загруженные дополнения (add-ins).

  • Предпочтения пользователя, установленные в диалоговом окне Options (Параметры).

  • COM-компонеты и элементы управления ActiveX, отображавшиеся в диалоговом окне Open (Открыть) (хранятся в таблице Foxrefs.dbf).

Expand image Работа с дополнениями (Add-Ins)

  • Дополнения Object Browser (Обозревателя объектов) могут осуществлять различные полезные функции, которые не являются родными для самого обозревателя. Они включают введенные дополнительные элементы интерфейса пользователя, новые элементы меню и возможности для производства операций перетаскивания (drag-drop).

    Дополнения (Add-ins) обычно создаются в виде VCX классов.

Expand image Мастер инсталляции существующих дополнений

Мастер дополнений появится, когда вы щелкните по командной кнопке Options (Настройки) обозревателя, затем щелкните по закладке Add-ins (Дополнения) и затем щелкните по кнопке Manual Install (Установка вручную).

Первый шаг в мастере Existing Add-Ins wizard определяет перечисленные ниже опции:

  • Введите удобное для использования имя для дополнения, которое покажется в списке дополнений в диалоговом окне Options (Настройки) обозревателя.

  • Введите описание дополнения в том виде, в каком вы желаете его видеть с списке дополнений в диалоговом окне Options (Настройки) обозревателя.

  • Выберие иконку для отображения в списке дополнений (это можно пропустить, так как это необязвтельный параметр дополнения).

Второй шаг включает в себя конкретную информацию о класса дополнения.

  • Выберите конкретный класс и его библиотеку для класса дополнения.

Третий шаг является необязательным и позволяет ввести информацию о поддержке дополнения:

  • Вы можете указать ссылку на Web-страницу, которая предоставит дополнительную информацию об использовании дополнения. Кроме того, вы можете предоставить конкретный HTML, который появится в описании дополнения.

Последний шаг позволит вам завершить установку дополнения.

  • Вы можете указать некоторые расширенные параметры. Это включает в себя свойства и установки, определенные пользователем.

После завершения работы мастера ваше дополнение появится в списке дополнений. Вы можете удалить его, щелкнув по командной кнопке Remove (Удалить)

Expand image Смотрите также

Задачи

Как: просмотреть информацию бибилиотеки типов

Справочное руководство

Окно Object Browser
Окно Class Browser
Системная переменная _ObjectBrowser
Команда DEFINE CLASS
Функция EVENTHANDLER()

Прочие ресурсы

Программы утилит

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Operate the Command Window

Visual FoxPro 9.0
Как: Использовать Командное Окно
См. также

В общих чертах, в Системном Командном Окне вы можете выполнять различные операции с данными, которые выполняются обычно в Программном Модуле. Например, вы можете выполнить некоторую команду Visual FoxPro, набрав ее в Командном Окне. Однако, когда вы выполняете программный код в Командном Окне, он выполняется немедленно, в текущий момент. В Командном Окне можно выполнить также несколько строк программного кода, как будто все они размещены в некотором программном модуле.

Кроме того, выполняемые пункты Системного Меню или Системных Диалоговых боксов отражаются в виде протокола в Системном Командном Окне. Вы можете скопировать из имеющегося протокола несколько строк выполненных команд, оформить их в виде некоторого Программного Модуля, и неоднократно выполнять данный модуль, по-необходимости, чем значительно облегчите свою повседневную Работу.

Командное окно является окном Редактирования; следовательно, вы можете отредактировать необходимый программный код, используя стандартный набор Редактора, доступного в Visual FoxPro. Например, Вы можете изменять текст, вставлять, удалять, копировать необходимые элементы и так далее...

Для выполнения строки программного кода в Командном Окне:

  • В системном окне Command, с начала строки, наберите необходимую Команду VFP и нажмите клавишу ENTER.

Для повторного выполнения некоторой строки программного кода в Командном Окне:

  1. В системном окне Command, переместите курсор на требуемую строку Протокола выполненных ранее Команд.

  2. Нажмите клавишу ENTER.

Для выполнения нескольких строк программного Кода в Командном Окне:

  1. В системном окне Command, выделите необходимый фрагмент программного кода Протокола.

  2. Нажмите клавишу ENTER.

Хотя Вы можете запустить программный код в Командном окне, который обычно выполняется в программном файле, существуют определенные преимущества выполнения кода в программном модуле. Дополнительную информацию см. в разделе: Работа с Программными Модулями.

См. также

Описание

Командное Окно (Visual FoxPro)

Другие ссылки

Инструментарий производительной Разработки

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Use the Accessibility Browser

Visual FoxPro 9.0
Как: Использовать Accessibility Browser (службу доступа)
См. также

Вы можете использовать службу Accessibility Browser для получения дополнительной информации при разработке приложений для людей с ограниченной трудоспособностью, для автоматизации процесса разработки программ, или выбора некоторых программных модулей, для тестирования. Данное средство используется для поверки свойства IAccessible различных объектов, как объекты взаимодействуют друг с другом.

Для запуска службы Accessibility Browser

  1. В системном меню Program, выберите пункт Do.

  2. В соответствующем диалоговом боксе Do... , выполните переход в подкаталог системы Microsoft Visual FoxPro ..\Tools\MSAA\, где размещается файл приложения accbrow.app.

  3. Выберите этот файл и нажмите кнопку Do.

См. дополнительную информацию в разделе Окно Accessibility Browser.

Следую предлагаемым проектным решениям и используя стратегию Active Accessibility (активной доступности) ваше приложение будет широко использоваться, иметь все необходимые характеристики. См. дополнительно раздел Доступность для людей с ограниченной трудоспособностью (Visual FoxPro).

См. также

Описание

SYS(2800) - поддержка Accessibility (доступности средств)

Другие ссылки

Программные утилиты
Инструментарий Разработчика

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


How to: Use the Automated Test Harness

Visual FoxPro 9.0
Как: Использовать Автоматическое тестирование типа Harness
См. также

Вы можете выполнить автоматическое Тестирование ваших приложений Visual FoxPro при помощи Системной утилиты Automated Test Harness. Данный системный инструментарий (Automated Test Harness) записывает и тестирует События манипулятора Мышь и Клавиатуры при помощи инструментария Операционной системы Microsoft Active Accessibility (MSAA), поддержка которого размещается в подкаталоге Microsoft Visual FoxPro 9\Tools\Test. Дополнительную информацию смотрите в файле: AaTestHelp.htm, расположенном в каталоге \Tools\Test .

Для запуска инструментария Automated Test Harness:

  1. Запустите на выполнение Automated Test Harness из каталога: \Tools\Test\AATEST.APP

    -ИЛИ-

    В командном Окне Visual FoxPro, введите следующую команду:

    CopyCode image Копировать Код
    DO (HOME() + "tools\test\aatest")

  2. Для Записи Скрипта (script), нажмите кнопку Record из Инструментария или выберите пункт Record из Меню.

    Отображается Список Доступных Приложений.

  3. Выберите требуемое Приложение Visual FoxPro, и после подтверждения - введите имя файла Скрипта.

    После выбора приложения Visual FoxPro или активации соответствующего Окна, Инструментарий Тестирования готов к процессу Тестирования Событий Приложения.

  4. Запись Событий. Запустите на выполнение ваше Приложение, как обычно, с помощью Мышки или Клавиатуры. Проконтролируйте, все ли режимы вашего Приложения охвачены процессом Тестирования: все элементы Интерфейса, Формы, Меню, Диалоговые Окна.

  5. После завершения процесса Тестирования, нажмите кнопку Stop из соответствующего Инструментария подсистемы Тестирования. Вы также можете временно приостановить процесс Тестирования или возобновить его (Pause - Resume).

Для просмотра Журнала Событий (Events Log), выделите текущую Запись в списке, нажмите кнопку "Edit the script."

Для "Прогона" полученного текстового Скрипта, выберите необходимый файл Скрипта, и нажмите кнопку Play. Если программа генерирует Исключительную систуацию (Ошибку), вам выдается соответствующее Сообщение подсистемой Тестирования.

Для просмотра Журнала Тестирования, активируйте Закладку Test Log.

Note Примечание

Только один экземпляр Инструментария Тестирования может быть Активирован в текущий момент, так как внутренние Таблицы открываются в монопольном режиме использования.

См. также

Описание

Системное Окно Accessibility Browser
Отладка Приложений и Язык управления Ошибками (Error-Handling Language)

Другие ссылки

Программные Утилиты
Тестирование и Отладка Приложений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Samples and Walkthroughs

Visual FoxPro 9.0
Примеры и Упражнения (Walkthroughs)

Visual FoxPro включает множество примеров программного кода, с помощью которых ваши пошаговые упражнения и эксперименты позволяют ускорить процесс освоения возможностей программирования в данной системе разработки.

В данной Секции

Примеры

С помощью имеющихся библиотек классов, серверов, программных решений, базовых классов объектов вы можете успешно осваивать, экспериментировать и использовать самые конкретные возможности программной системы Visual FoxPro.

Упражнения

Обеспечивают широкий список общих сценариев и пошаговых инструкций, используемых в обычных приложениях Visual FoxPro, с помощью которых каждый интересующийся может научиться использовать различные программные возможности Visual FoxPro.

Связанные разделы

Начальные Сведения о Visual FoxPro

Содержит ссылки на основные разделы системы Помощи, с помощью которых можно начинать создавать базы данных различной информации, строить первые программные решения; имеется информация об определении, изменении и настройке различных системных параметров Visual FoxPro.

Использование Visual FoxPro

Содержит информацию о системных программных возможностях и об инструментарии Visual FoxPro, с помощью которого можно разрабатывать приложения.

Программирование в Visual FoxPro

Содержит ссылки на многочисленные расделы Справки, с помощью которых можно добиться высокой производительности при разработке программного кода в Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Samples

Visual FoxPro 9.0 Примеры
Примеры

Visual FoxPro поставляется с многочисленными примерами, которые Вы можете использовать для экспериментов и знакомства с его характеристиками.

Дополнительные примеры, иллюстрирующие работу с API, сервисами COM+ и доступом к данным, находятся в папке Visual FoxPro ..\Samples.

В этом разделе

Примеры библиотек классов

Содержаться примеры библиотек классов с инкапсулированными возможностями, которые вы можете включать в свои приложения.
Примеры работы с серверами

Содержаться примеры, которые иллюстрируют серверы автоматизации (Automation Servers).
Примеры решений

Содержаться примеры, демонстрирующие конкретные возможности Visual FoxPro, и являющиеся вполне самостоятельными приложениями.
Примеры фундаментальных классов

Содержаться примеры, иллюстрирующие применение фундаментальных классов Visual FoxPro.

Связанные разделы

Начало работы с Visual FoxPro

Предоставляется информация о том, где найти файл Readme, как установить Visual Foxpro и перейти на него из предшествующих версий, как сконфигурировать Visual FoxPro и настроить его под собственные нужды.
Разработка приложений в Visual FoxPro

Приводятся концептуальные сведения о том, как разрабатывать приложения в Visual FoxPro, инструкции по созданию баз данных и пользовательского интерфейса, а также другие сведения, необходимые для создания приложений в Visual FoxPro.
Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.
Справочная информация

Приводятся ссылки на темы, посвященные инструментам, повышающим производительность при проектировании, а также на темы, описывающие элементы управления, объекты, свойства, методы, события, операторы, функции и константы
Инструкции

Предоставляется список общих сценариев для работы с Visual FoxPro и даются пошаговые инструкции для всех, кто начинает изучать его характеристики.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Sample Class Libraries

Visual FoxPro 9.0, Примеры
Библиотеки Классов, примеры
См. также

Примеры Библиотек Классов Visual FoxPro обеспечивают Инкапсуляцию требуемой функциональности в ваших разрабатываемых Приложениях. Примеры Решений иллюстрируют варианты использования Классов. Группы примеров Классов подробно описаны в следующих Разделах:

  • Библиотека Классов Командных Кнопок

  • Библиотека Примеров Классов

  • Библиотеки Классов программных Утилит

  • Программы для работы с Реестром

Библиотека Классов Командных Кнопок

Библиотека Buttons.vcx содержит следующие Классы Командных Кнопок.

Класс Краткое Описание

CmdOK

Командная кнопка Закрытия родительской Формы. Если форма является Элементом набора форм (FormSet), cmdOK закрывает весь набор форм.

CmdCancel

ПодКласс, порождаемый классом cmdOK, в котором свойство Caption имеет значение = "Cancel" (Отмена)

CmdHelp

Кнопка активации подсистемы Помощи (раздела помощи) в соответствие с идентификатором HelpContextID, который определен для Формы, в которую помещена данная Кнопка.

MailBtn

Кнопка обработки Почты, входит в состав Контейнера, вместе с Контролами: Microsoft MAPI Message, Microsoft MAPI Session. Программный фрагмент события Click данной кнопки выполняет подключение к Электронной Почте, создает соответствующее Сообщение на основе Данных из Текущей Записи Таблицы.

Например, Класс кнопки MailBtn используется в форме: SENDMAIL.SCX, подкаталог: ...Samples\Solution\OLE.

VCR

Набор командных кнопок навигации по записям Таблицы Данных, обеспечивается выполнение стандартных навигационных команд: Next, Prior, Top, Bottom.

При использовании данного класса уточните значение свойства Skiptable, содержащего Алиас Таблицы Данных, для которой требуется навигация. Если Skiptable ="", указатель Записи перемещается для текущей рабочей области.

Библиотека Классов Макетов

Библиотека Samples.vcx солдержит следующие Классы.

Класс Краткое Описание

CboFontName

Контрол типа "combo box", отображающий все текущие доступные системные Шрифты.

CboFontSize

Контрол типа "combo box", отображающий вместе с доступными Шрифтами возможные Размеры данных Шрифтов. Для заполнения данного Контрола используется внутренний метод: FillList, ему передается имя Шрифта. Свойства nLargestFont и nSmallestFont ограничивают минимальный и максимальный размеры для отображаемых Шрифтов. Вы можете использовать данный Класс совместно с Контролом cboFontName (смотрите выше). В программном фрагменте события InteractiveChange объекта cboFontName вызывается указанный Метод FillList рассматриваемого контрола cboFontSize:

THISFORM.cboFontSize1.FillList(THIS.Value)

Например, данный класс (контрол) используется при построении класса tbrEditing, расположенного в данной Библиотеке.

Clock

Класс-Контейнер, отображающий текущую Дату и Время.

Компонета "Display a system clock" (Отобразить Системное Время) из Общих Решений VFP, использует рассматриваемый класс Clock.

Datachecker

Пользовательский Класс, обеспечивающий разрешение Конфликтов обработки данных в многопользовательской среде (или при многосеансной обработке данных). Программный фрагмент в событии Error контрола VCR из библиотекиn BUTTONS.vcx выполняет вызов соответствующий метод обработчика Конфликтов CheckConflicts в том случае, когда возникает конфликтная ситуация при сохранении измененных данных Буферизованных Таблиц, смотрите Код ниже:

nConflictStatus = ; THIS.DataChecker1.CheckConflicts()

В разделе "Run multiple instances of a form" (Активация нескольких Экземпляров одной Формы ) из Общих Решений VFP демонстрируется использование рассматриваемого класса обработки Конфликтов.

Дополнительную информацию смотрите в соответствующем Разделе, при описании, или в комментариях к указанному Примеру.

Distinct_values_combo

Контрол типа "combo box", который заполняется уникальными (неповторяющимися) значениями из соответствующего источника данных, определенного в свойстве: ControlSource. Например, если вы разместите данный класс в вашей Форме, уточните значение свойства ControlSource = "customer.country", то данный Контрол будет заполнен значениями "Национальностей" из указанной Таблицы, при этом значения будут неповторяющиеся.

FrmNoTitle

Контрол типа "Form", у которого отсутствует Заголовок. Если вам требуется отобразить некоторую информацию в обычном Окне (не в Форме), вы можете создать пользовательский Объект, порождаемый данным классом, а далее использовать Графические Методы обычной Формы.

Раздел "Display line animation on a form" (Подвижные Линии в Форме) из Общих Решений VFP демонстрирует использование указанного Класса-формы без Заголовка.

Lookup_combo

Контрол типа "combo box", который позволяет достаточно просто отображать значения одного из полей таблицы, например, Имя Компании, в том случае, когда свойство ControlSource "привязано" к другому Полю, например, используется идентификатор Компании (company id number). Данный Класс имеет дополнительные, пользовательские Свойства:

order_column: Номер столбца Сортировки Таблицы (опционально).

lookup_table: Имя алиаса Таблицы, из которой заполняется данный Контрол.

display_column: Имя отображаемого Столбца Таблицы.

return_column: Имя столбца, который связывается со свойством ControlSource.

MoverLists

Контейнер, содержащий Два Списка и Четыре Командные Кнопки. Пользователь может переносить выбранные Элементы Списков в другой Список при помощи соответствующих Кнопок или при помощи операций "перетаскивания" (dragging-and-dropping).

Вым необходимо контролировать, чтобы значение свойства в обоих Списках было RowSourceType = 0; элементы в Списки добавляются с помощью стандартного Метода AddItem.

Класс MoverLists содержит Три пользовательскихСвойства:

CanDropIcon: Имя графического файла Курсора мышки, который отображается при доступности выполнения операции "перетаскивания": "drag and drop".

NoDropIcon: Имя графического файла Курсора мышки, который отображается в том случае, когда указанная выше операция недоступна.

DragThreshold: Количество пикселов, которое определыяет начало указанной операции "перетаскивания".

Рассматриваемый класс иллюстрируется в разделе "Move items between list boxes" (Перенос Элементов между двумя Списками) в Общих Решениях VFP.

Print_reports

Класс модальной Формы, содержащий требуемый функционал, позволяющий Пользователю выполнить Предварительный просмотр Отчета, или напечатать Отчет, или перенаправить данный Отчет в Текстовый файл. Вы можете использовать свойство cReport - для указания требуемого файла Отчета, или передать имя данного Отчета в качестве паракметра, при создании данной Формы, смотрите пример ниже:

o = CREATEOBJECT(print_reports, ; "myreport.frx")

QBF

Контейнер с Тремя Кнопками. Данный Класс используется совместно с классом VCR в формах, обрабатывающих Данные из Таблиц. Когда вы нажимаете кнопку <Enter QBF> (Определить Запрос по Форме, примеру [Query -By- Form]), значения в контролах очищаются. Вводимые новые значения будут определять условия Фильтрации Записей Таблицы; фильтр устанавливается кнопкой <Query> (Запрос).

Каждый из контролов-источников значений филтра должен иметь заданное свойство ControlSource, эти контролы должны иметь родительским Контейнером ту же самую Форму.

Компонента Примеров Решений VFP "Create a query by example form" (Создание Запроса-по-примеру) иллюстрирует использование рассматриываемого Класса

Resizable

Класс типа "Custom", который обеспечивает изменение размеров Контролов на Форме, а также их размещение относительно изменяемых размеров самой Формы. Включите данный класс в вашу форму и определите в программном Коде события Resize формы вызов специального метода данного класса: AdjustControls:

THIS.Resizable2.AdjustControls

Рассматриваемый класс Resizable содержит два пользовательских свойства, которые требуется уточнить:

RepositionList: Символьная строка, как список обрабатываемых (перемещаемых) базовых Классов.

ResizeList: Символьная строка, как список классов, у которых изменяются размеры.

Компонента "Resize and reposition controls at run time" (Перемещение и Масштабирование Контролов при выполнении Приложения) иллюстрирует использование данного Класса.

RTFcontrols

Класс типа "Container", содержащий описанные выше контролы: cboFontName, cboFontSize, а также дополнительные кнопки: Bold, Italic, ForeColor. Подконтрол cboFontSize обновляет (или учитывает) изменения в указанных контролах, смотрите код события: InteractiveChange для cboFontName,

Компонента "Use the RichText control" (Использование внешнего Контрола типа RichText) из Примеров Решений VFP иллюстрирует использование данного контейнера.

SoundPlayer

Класс обеспечивает открытие и активацию невизуальных (звуковых) мультимедийных файлов, типа .WAV (Audio). Дополнительную информацию по использованию данного класса смотрите в разделе Sample Multimedia Classes (Примеры обработки Мультимедийных Файлов), смотрите Далее....

StopWatch

Контейнерный класс, содержащий базовые классы Timer & Label, позволяющие эмулировать работу Секундомера.

Класс StopWatch имеет Три пользовательских Метода, которые имеют следующее назначение:

Start: Запуск Секундомера;

Stop: Остановка Секундомера;

Reset: Очистка текущего значения (Табло Секундомера) (0:00)

Компонента "Display a stop watch" (Отображения Секундомера)иллюстрирует использование данного класса.

TbrEditing

Класс Инструментария для команд Редактирования; tbrEditing содержит следующие компоненты:

nAppliesTo Property: возможные значения: 1, 2, или 3.

  1. Команды действуют только на текущий Контрол данной Формы.

  2. Команды действуют только на Контролы типа TextBox или EditBox.

  3. Команды действуют на все Контролы данной Формы.

Refresh: Принимает ссылку на объект и устанавливает все изменяемые свойства объекта. Вызов метода Refresh рекомендуется выполнять в программном Коде события GotFocus каждого Контрола.

Компонента "Change font attributes" (Изменение характеристик и свойств Шрифта) иллюстрирует использование данного Класса.

VideoFrame

Данный класс может быть использован для Активации и просмотра мультимедийных файлов, таких как "Windows Video". Подробнее смотрите в разделе "Sample Multimedia Classes" (Примеры Мультимедийных классов), смотрите ниже....

Макеты мультимедийных Классов

Два представленных Класса (SoundPlayer и VideoFrame) из библиотеки классов ...Samples\Classes\Samples.vcx позволяют вам вцыполнять специальные команды MCI (Multimedia Command Interface) для обработки и активации Мультимедийных файлов.

Техническая документация по использованию команд MCI может быть найдена по фильтру "Multimedia Commands" на следующем разделе MSDN (http://msdn.microsoft.com/library).

Класс Звукового Плейера (Sound Player Class)

Данный класс позволяет открывать и активировать (проигрывать) мультимедийные (звуковые) файлы, такие как: .WAV. После открытия конкретного звукового файла вы получаете возможность обращаться к встроенным функциям указанного инструментария MCI.

Свойство | Краткое Описание
AutoOpen | Определяет, что звуковой файл Открывается автоматически после создания рабочего Экземпляра данного Класса. Значение по-умолчанию: True (.T.).
AutoPlay | Определяет, что после открытия Звукового файла, он автоматически Активируется (проигрывается). Значение по-умолчанию: True (.T.).
AutoRepeat | Определяет, что по-завершении проигрывания звукового файла требуется повторить его Активацию. Значение по-умолчанию: False (.F.).
ControlSource | Определяет Имя Поля (столбца) некоторой Таблицы, который содержит ссылку на Звуковой файл. Если данное значение не указано (пустое), то предполагается значение свойства SoundFile, как имя звукового файла.
MCIAlias | Определяет имя Алиаса Таблицы, используемой при выполнении команд MCI. Если значение не задано (пустое), то предполагается в качестве алиаса таблицы значение свойства Name рассматриваемого Класса. Обычно, данное значение можно не указывать, однако при использовании текущего звукового файла дважды - требуется однозначно определять имя рабочего Алиаса для каждого Экземпляра Класса. В противном случае возможны конфликты, или непредсказуемые Ошибки.
SoundFile | Содержит или Определяет полное имя звукового файла, например: "C:\WINDOWS\CHIMES.WAV".
Метод | Краткое Описание
OpenSound | Открывает Звуковой Файл.
PlaySound | Выполняет Активацию Звукового файла (проигрывание). Перед выполнением данного метода звуковой файл должен быть открыт в методе: OpenSound.
PauseSound | Остановка проигрывания звукового файла. Продолжение может быть выполнено методом PlaySound.
SetPosition | Позволяет переместить текущий указатель Позиции звукового файла. Данный метод может быть выполнен только после успешного Открытия указанного Звукового файла. Доустимые значения: "Start", "End", или значение N (в миллисекундах), определяющее позицию Звукового файла.
CloseSound | Закрывает Звуковой файл и освобождает все связанные с ним Ресурсы системы.

Класс ВидеоЭкрана (VideoFrame Class)

Класс VideoFrame может быть использован вами для активации (просмотра) мультимедийного файла , такого как стандартное Видео ОС Windows. После успешного открытия видео-файла вы получаете доступ к дополнительным внутренним функциям Инструментария MCI.

Например, использование данного класса можно посмотреть в библиотеке Video.scx, размещенную в подкаталоге: ...Samples\Solution\Forms.

Свойства | Краткое Описание
AutoOpen | Определяет, что видео-файл автоматически открывается ппосле создания рабочего экземпляра класса. Значение по-умолчанию: True (.T.).
AutoPlay | Определяет, что после успешного открытия видео-файла, он Активируется (проигрывается). Значение по-умолчанию: True (.T.).
AutoRepeat | Определяет, выполнять ли повтор Просмотра данного файла после завершения текущего Цикла просмотра. Для повторения (непрерывного просмотра видео-файла) требуется установит значение = .T. . Значение по-умолчанию: False (.F.).
ControlSource | Определяет имя Поля (столбца), содержащего ссылку на требуемый видео-файл. Если значение не задано (пустое), то предполагается использование значение свойства VideoFile (смотрите ниже...).
MCIalias | Определяет имя Алиаса Таблицы, которая используется в инструментарии MCI. Если значение не указано (пустое), то для данного Алиаса используется значение свойства Name рассматриваемого класса. Обычно, данное свойство можно не определять, Однако при неоднократном использовании видео-файла (в нескольких экземплярах данного класса) для каждого из них необходимо указать кникальный идентификатор Алиаса.
VideoFile | Определяет или Содержит полное имя видео-файла, например: "C:\VFP\SAMPLES\SOLUTION\FORMS\FOX.AVI".
Метод | Краткое Описание
CloseVideo | Закрывает текущий видео-файл и освобождает все связанные с ним Ресурсы.
DoMCI | Может быть использован для выполнения других (вспомогательных) команд Инструментария MCI. Стандартно применяется для выполнения основных команд MCI.
OpenVideo | Открывает заданный видео-файл и отображает начальный кадр.
PauseVideo | Приостанавливает просмотр видео-файла. Для возобновления может быть использован метод: PlayVideo.
PlayVideo | Стартует Просмотр файла-видео с текущей позиции. Файл должен быть предваритьельно открыт с помощью метода OpenVideo.
SetPosition | Позволяет вам установить текущую позицию указателя видео-файла. Данный метод может быть выполнен только после успешного открытия файла. Допустимые значения для параметра позиции: "Start", "End", или позиция N (в миллисекундах) относительно начала видео-файла.

Библиотека Классов Утилит

Библиотека Utility.vcx содержит следующие Классы.

Класс Краткое Описание

Arraylib

Класс типа "Custom", содержащий методы Вставки, Удаления элементов в массивы; имеются также возможности Сканирования Массивов по Столбцам.

Execsp

Класс типа "Custom", значительно облегчающий выполнение Хранимых Процедур (SP-SQL) с использованием Технологии Сквозных Запросов (SQL pass through) для Удаленных Источников Данных (Серверов).

Filelib

Класс типа "Custom", содержащий Расширенные методы обработки Специализированных символьных строк (имен файлов и подкаталогов), например, исключение или замена расширения имени файла, исключение или добавление к имени подкаталога обратной косой черты (backslash), и так далее.

Menulib

Контейнерный класс, содержащий методы создания Контекстных Меню (shortcut menu) из исходных Массивов Данных.

В компоненте "Create dynamic shortcut menus" (Создание динамических Контекстных Меню) из Раздела Примеры Решений VFP иллюстрируется использование рассматриваемого Класса.

Программы Обработки Реестра ОС Windows

Модуль Registry.prg содержит описание следующих Классов.

Класс | Краткое Описание
FileReg | Является Подклассом основного класса Registry, который обеспечивает Чтение специфической информации о конкретном Приложении, на основании расширения файла Приложения и местом расположения указанного Приложения.
FoxReg | Является подклассом основного класса Registry, который обеспечивает Чтение-Запись специальных параметров системы Visual FoxPro в реестре ОС Windows.
ODBCReg | Является подклассом основного класса Registry, который обеспечивает Чтение информации о внешних или внутренних Источниках Данных (ODBC data source), а также специальную информацию о соответствующих Драйверах.
OldINIReg | Является подклассом основного класса Registry, который обеспечивает Чтение-Запись пользовательской информации в файлах .INI
Registry | Основной класс для работы с Реестром ОС Windows, базирующийся на эффективном использовании инструментария Windows API.

Для знакомства с примерами по работе с Реестром запустите приложение SOLUTION.app из папки примеров: ..\Samples\Solution\.

См. также

Задачи

Примеры Решений в VFP

Другие ссылки

Примеры, Инструкции, Упражнения
Примеры использования Фундаментальных классов
Примеры Серверов Автоматизации (Automation Server) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Server Samples (Visual FoxPro)

Visual FoxPro 9.0 Образцы
Образцы с серверами (Visual FoxPro)

В поставку Visual FoxPro включены несколько образцов, которые сфокусированы на серверах автоматизации (Automation Servers). Сервер автоматизации представляет собой приложение COM компоненты, которая выказывает функциональность, которая может быть использована другими приложениями через автоматизацию. В дополнение к сказанному, вы можете использовать один или более классов для обслуживания бизнес правил масштаба предприятия. Клиентское приложение, которое использует бизнес-правила должно посылать параметры в вызываемые методы, а сервер автоматизации, затем, может выполнить большую часть задачи, извлекая или сохраняя данные из различных источников и производит сложные вычисления, до возвращения ответа.

В этом разделе

Образцы FoxISAPI Automation Server

Описывается, как расширения Visual FoxPro ISAPI позволяют вам обращаться к пользовательским серверам автоматизации Visual FoxPro custom Automation с любого, поддерживающего ISAPI Web-сервера, такого как Microsoft Internet Information Services (IIS) версии 5.0 или более позднего и Microsoft Personal Web Server.

Образцы COM+

Описываются образцы для использования Queued Components, событий COM+ и Compensation Resource Managers.

Связанные разделы

Использование Visual FoxPro

Предоставляется обзор возмоностей Visual FoxPro features, описываются концепции и инструменты для разработки, программирования и управления высоко-производительными приложениями баз данных и компоненты.

Разработка приложений Visual FoxPro

Объясняются концепции, лежащие в основе разработок приложений Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также прочие задачи, необходимые для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Объясняется, как методики объектно-ориентированного программирования и событийно-управляемая модель могут максимально увеличить продуктивность вашего программирования и дадут вам доступ к полной мощи Visual FoxPro.

Образцы и репетиции

Содержит образцы кода Visual FoxPro и пошаговые репетиции, которые вы можете использовать в своих экспериментах и изучении возможностей Visual FoxPro.

Библиотеки классов образцов

Содержит ссылки и описание библиотек образцов классов, которые предоставляют инкапсюлированную функциональность, которые вы можете добавить в ваши приложения.

Образцы фундаментальных классов

Содержит образцы, которые иллюстрируют использование фундаментальных классов Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FoxISAPI Automation Server Samples

Visual FoxPro 9.0 Samples
Сервер Автоматизации FoxISAPI (Automation Server), пример
См. также

Дистрибутивный пакет системы Visual FoxPro включает подсистему расширения ISAPI, которая вызывается из Библиотеки Foxisapi.dll,которая обеспечивает Доступ из данной системы Visual FoxPro через дополнительный сервер Автоматизации ISAPI, к различным сервисам Web, например таким как: Microsoft Internet Information Services (IIS), версия 5.0 или позднее; или Microsoft Personal Web Server. Расширение FoxISAPI работает посредством создания экземпляра Сервера Автоматизации Visual FoxPro, в котором вызываются соответствующие Методы, которые возвращают файлы типа .HTML. Данные файлы создаются в формате, совместимом с сервисами Web browser, которые обеспечивают просмотр данных файлов, например, стандартным Проводником: Microsoft Internet Explorer.

Note Обратите Внимание

Внешняя библиотека Foxisapi.dll представляет собой исключительно Пример построения интерфейса ISAPI Visual FoxPro, в виде сервера Автоматизации с соответствующими сервисами ISAPI Web Server. Foxisapi.dll не может быть использована в промышленных и технологических программных комплексах.

Visual FoxPro располагает двумя Вариантами Примеров Серверов Автоматизации FoxISAPI, которые демонстрируют некоторые функциональные возможности по динамической поддержке Web-Страниц с помощью функционала системы Visual FoxPro. Первый вариант, FoxWeb, размещается в папке: Samples\Servers\FoxIsapi\FoxWeb, в нем показаны основные, концептуальные возможности FoxISAPI. В данном примере для вас предлагаются Технологические шаги по установке и развертыванию серверов FoxISAPI, как Локальных, так и Удаленных . Кроме того, пример демонстрирует основные Шаги по Организации Пула нескольких Серверов, их улучшенной совместимости и Масштабируемости.

Второй вариант примера, FoxIs, размещается в папке: Samples\Servers\FoxIsapi\FoxIs, он демонстрирует более сложные функции и команды реализации различных Задач по отображению и выполнению операций Форм Visual FoxPro в стандартном формате HTML. Основная концепция - как и для примера FoxWeb; FoxISAPI демонстрирует выполнение преобразований в формат HTML. Поскольку пример FoxIs использует Визуальные Компоненты (Формы), то для вас предлагаются универсальные подходы по выполнению данных Сервисов в отдельных программах, или в качестве Клиента OLE, или с использование Проводника Web browser.

Если вам еще не знакомы подходы по построению Серверов Автоматизации с помощью Visual FoxPro смотрите раздел: Как: Создать Сервер Автоматизации.

Компоненты FoxISAPI

Далее описываются основные составляющие сервера автоматизации FoxWeb.

Файл | Краткое Описание
Foxisapi.dll | Главная компонента серверов Автоматизации FoxISAPI: FoxWeb и FoxIs. Foxisapi.dll использует IIS или Microsoft Personal Web Server. Foxisapi.dll создает Экземпляр Объекта сервера автоматизации Visual FoxPro и выполняет Методы данного Сервера. Указанные методы возвращают файлы типа .HTML, отображаемые в Web browser. Foxisapi.dll используется непосредственно с системой Visual FoxPro; однако, эта библиотека может использоваться и с другими Серверами Автоматизации (Automation Server).
Foxisapi.ini | Описание стартовых параметров использования библиотеки Foxisapi.dll, а также создания Объектов.
Odebug.prg | Программный модуль Visual FoxPro, используемый для Отладки вашего Приложения типа Internet.

Настройка Компонент FoxISAPI

Для установки перечисленных компонент подсистемы FoxISAPI выполните следующие Шаги:

  1. Скопируйте файлы: Foxisapi.dll и Foxisapi.ini в папку Скриптов вашего Сервера Web. К примеру, C:\InetPub\scripts\.

  2. Скопируйте программный модуль Oldebug.prg в корневой каталог размещения системы Visual FoxPro (это значение может вернуть функция HOME( )). Для примера: C:\Program Files\Microsoft Visual FoxPro\.

См. также

Задачи

FoxWeb, как настоящий Сервер Автоматизации Интернет Visual FoxPro
FoxIs, Сервер Интернет Visual FoxPro
Примеры Решений

Другие ссылки

Примеры для Серверов (COM) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


FoxWeb, a Simplified Visual FoxPro Internet Automation Server

Visual FoxPro 9.0 Образцы
FoxWeb, упрощенный Интернет сервер автоматизации Visual FoxPro
Смотрите также

FoxWeb представляет собой образец упрощенного сервера автоматизации ISAPI, разработанный для быстрого создания Web сайта и его запуска. FoxWeb предоставляет собой новую версию Foxisapi.dll (также поставляемую с образцом сервера Visual FoxPro FoxIs ). Foxisapi.dll теперь может управлять множеством экземпляров серверов автоматизации Visual FoxPro и предоставляет дополнительные методы отладка для приложений Visual FoxPro, разрабатываемых для Internet.

Сервер автоматизации FoxWeb

Образце FoxWeb использует простой класс сервера Visual FoxPro, предназначенного для демонстрации базового использования сервера, запущенного под FoxISAPI. Весь код хранится в файле с именем FoxWeb.prg. Этот файл содержит класс с именем Server, который определен, как OLEPUBLIC, поэтому он может быть при сборке зарегистрирован в виде СОМ компоненты сервера автоматизации. Этот класс подвергается обработке FoxISAPI и содержит ряд методов, которые могут быть вызваны (например, методы Hello и Delay) так, как показано ниже. Эти методы иллюстрируют структуры, которые требуются для FoxISAPI для корректного функционирования.

Файлы образца FoxWeb

Файлы для нового образца сервера автоматизации Visual FoxPro FoxWeb размещены в каталоге Visual FoxPro ...\Samples\Servers\Foxisapi\FoxWeb.

Установка сервера автоматизации FoxWeb

В приведенных ниже разделах описывается, как использовать Visual FoxPro для быстрого создания Web-сайта и его запуска с FoxWeb.

Регистрация сервера автоматизации Visual FoxPro FoxWeb

Серверы автоматизации Visual FoxPro, которые возвращают HTML должны быть зарегистрированы. Регистрация производится автоматически, если ваш .exe или .dll был собран с помощью диспетчера проекта (Project Manager) Visual FoxPro или собран с помощью команд BUILD EXE, BUILD DLL или BUILD MTDLL. Например, если вы откроете проект FoxWeb, поставляемый вместе с образцом FoxWeb в диспетчере проекта, вы сможете выбрать Build для создания сервера автоматизации в виде файлов in-process .dll или out-of-process .exe. Отметьте, что регистрация произойдет автоматически только на той машине, на которой файл был собран.

Сервер автоматизации Visual FoxPro, собранный в виде out-of-process .exe может быть, кроме того, зарегистрирован указанием имени сервера автоматизации с включением ключа /RegServer. Например, приведенная ниже команда регистрирует сервер автоматизации Visual FoxPro FoxWeb:

CopyCode image Скопировать код
FoxWeb.exe /RegServer

Если сервер автоматизации Visual FoxPro был собран в виде in-process .dll, то он, кроме того, может быть зарегистрирован с помощью Regsvr32.exe. Например, приведенная ниже команда регистрирует сервер автоматизации Visual FoxPro FoxWeb:

CopyCode image Скопировать код
Regsvr32 FoxWeb.dll
Note Замечание

Если ваш сервер автоматизации Visual FoxPro ISAPI использует дополнительные файлы, такие как .gif или .jpg files, убедитесь в том, что эти файлы размещены в каталогах, к которым может обращаться Microsoft Internet Information Services (IIS) или Microsoft Personal Web Server.

Использование вашего Web обозревателя для доступа к серверу автоматизации Visual FoxPro ISAPI

Сервер автоматизации Visual FoxPro ISAPI доступен из вашего Web обозревателя (browser) с помощью универсального локатора ресурса URL . Web обозреватель формирует HTTP запрос к Microsoft IIS или к Microsoft Personal Web Server. Сервер автоматизации посылает запрос библиотеке Foxisapi.dll, которая, в свою очередь, посылает запрос вашему серверу автоматизации.

Например, представленный ниже URL обращается к серверу автоматизации ISAPI, который именован как FoxWeb.Server:

CopyCode image Скопировать код
HTTP://MyServer/Scripts/Foxisapi.dll/FoxWeb.server.Delay?30

В приведенной ниже таблице описывается каждый элемент представленного выше примера URL.

Элемент URL Описание

Myserver

Виртуальный каталог IIS или Personal Web Server.

Scripts/Foxisapi.dll

Каталог скриптов IIS или Microsoft Personal Web Server, а также Foxisapi.dll.

FoxWeb.Server

Зарегистрированное имя (ProgID) вызываемого сервера автоматизации Visual FoxPro ISAPI.

В этом примере, FoxWeb представляет собой имя файла .exe или .dll Visual FoxPro сервера автоматизации. Server представляет собой класс, указанный в опции OLEPUBLIC команды DEFINE CLASS, которая создает сервер автоматизации.

FoxWeb.Server, кроме того является программным идентификатором - ProgID - для сервера автоматизации, так, как он хранится в реестре Windows. Вы можете использовать RegEdit для просмотра или изменения ProgID сервера автоматизации.

Delay

Имя метода, исполняемого на сервере автоматизации Visual FoxPro ISAPI.

?30

Параметр, посылаемый методу. Знак вопрос представляет собой разделитель, который указывает, что за ним следует параметр. Для этого метода, 30 определяет, что исполнение будет задержано на 30 секунт. Параметр посылается как строка символов.

Пересылка параметров в методы

Приведенный ниже код взят из метода Delay в FoxWeb.prg, и демонстрирует структуру для исполнения метода на серверах автоматизации Visual FoxPro ISAPI.

CopyCode image Скопировать код
PROCEDURE Delay
   LPARAMETERS cParm1, cIniFile, nPersistInstance
*** Здесь должен размещаться ваш код ***
   RETURN AnHTMLString
ENDPROC
cParm1

Символьная строка, посланная методу. В методе Delay этот параметр определяет число секунд, на которое будет задержано исполнение.

cIniFile

Имя файла .ini (посылаемого методу со стороны Foxisapi.dll), создаваемого каждый раз при обращении к серверу автоматизации Visual FoxPro ISAPI. Какждый .ini файл создается в каталоге Scripts и имеет уникальное имя, которое начинается с префикса "Fox." Вы можете использовать функцию GetPrivateProfileString в FoxWeb.prg, например, для чтения информации из .ini файла и возврата пользовательского HTML, основанного на конфигурации пользователя.

nPersistInstance

Определяет - будет экземпляр сервера автоматизации Visual FoxPro ISAPI сохраняться после завершения исполнения вашего метода. nPersistInstance посылается методу по ссылке со стороны Foxisapi.dll. Если nPersistInstance в вашем Web приложении установлено в 0, то экземпляр сервера автоматизации останется в наличии после завершения исполнения метода. Если же значение nPersistInstance отличается от 0, то тогда экземпляр сервера автоматизации высвобождается из памяти. Для оптимальной производительности, nPersistInstance должен быть установлен в 0, в противном случае при следующем вызове сервер автоматизации будет запускаться заново.

Использование Foxisapi.dll для пула серверов автоматизации

Поскольку Foxisapi.dll является free-threaded, он может собирать в пул множество серверов автоматизации Visual FoxPro ISAPI для обеспечения лучшей расширяемости ваших Web приложений. Серверы автоматизации, собранные в пул позволяют свободному серверу автоматизации ISAPI обслужить запрос, когда заняты другие серверы автоматизации ISAPI. Для обеспечения преимуществ пула серверов автоматизации ISAPI , экземпляры серверов автоматизации должны существовать, что обеспечивается в вашем Web приложении с помощью установки nPersistInstance в 0.

Число серверов автоматизации серверов автоматизаци ISAPI, доступных для обслуживания запросов, определяется установками в вашем инициализационном файла Foxisapi.ini. Для создания пула множества серверов автоматизации ISAPI, включите в файл инициализации ввод с именем сервера автоматизации, заключенный в квадратные скобки, для которого будет создаваться пул серверов. За этим вводом должен следовать список серверов автоматизации ISAPI, которые составят пул, с численным значением, указывающим максимальное число экземпляров каждого сервера автоматизации, которое может быть создано.

Например, поместив приведенные ниже строки в Foxisap.ini вы создадите пол из семи серверов автоматизации ISAPI для обслуживания запросов к FoxWeb.myserver. Foxisapi.dll может создать до четырех экземпляров FoxWeb.server серверов автоматизации ISAPI и до трех экземлпяров FoxWeb2.server серверов автоматизации ISAPI для обслуживания запросов.

CopyCode image Скопировать код
[FOXWEB.MYSERVER]
FOXWEB.SERVER=4
FOXWEB2.SERVER=3

Приведенный ниже URL исполнит метод Delay либо на экземпляре FoxWeb.server, либо на экземпляре FoxWeb2.server сервера автоматизации ISAPI:

CopyCode image Скопировать код
HTTP://MyServer/Scripts/Foxisapi.dll/FoxWeb.Myserver.Delay?30

Foxisapi.ini может указать, что серверы автоматизации ISAPI инициируются до получения запроса на обслуживание. Чтобы сделать это, добавьте после числа, указывающего число экземлпяров точку и звездочку так, как показано в приведенном ниже примере.

CopyCode image Скопировать код
[FOXWEB.MYSERVER]
FOXWEB.SERVER=4,*
FOXWEB2.SERVER=3,*

Использование диспетчера пула на множестве машин

Foxisapi.dll предоставляет возможность управлять серверами автоматизации Visual FoxPro ISAPI на множестве машин. Вы можете использовать Remote Automation или DCOM (Distributed Component Object Model) для доступа к серверам автоматизации ISAPI. Отметьте, что для оптимальной производительности и масштаблируемости экземпляры серверов автоматизации ISAPI должны буть сделаны постоянно существующими с помощью установки nPersistInstance в 0 в вашем Web приложении.

Приведенный ниже пример описывает сценарий, в котором два сервера автоматизации Visual FoxPro ISAPI, FoxWeb и FoxWeb2, размещены на двух машинах.

Machine_A представляет собой локальную машину, на которой запущены Windows 98, DCOM и Personal Web Server. Machine_B представляет собой удаленную машину, доступную через сеть, на которой запущены Windows 2000 и DCOM.

  1. Machine_A является вашей машиной разработчика Visual FoxPro, на которой вы проинсталлировали образцы сервера автоматизации Visual FoxPro FoxISAPI. На этой машине откройте в диспетчере проекта Visual FoxPro проект FoxWeb и выберите Build для создания сервера автоматизации ISAPI в виде out-of-process .exe файла. Сборка .exe автоматически зарегистриррет сервер автоматизации ISAPI на машине, как FoxWeb.exe. Теперь откройте проект FoxWeb2 в диспетечере проекта Visual FoxPro и выберите Build для создания и регистрации другого сервера автоматизации ISAPI в виде .exe файла.

  2. Для того, чтобы убедиться в том, что серверы автоматизации ISAPI FoxWeb и FoxWeb2 зарегистрированы должным образом, вы можете использоватьRegEdit и поискать FoxWeb и FoxWeb2. Отметьте, что программные идентификаторы ProgID для серверов зарегистрированы, соответственно, как FoxWeb.Server и FoxWeb2.Server. Server представляет собой имя класса, определенное в опции OLEPUBLIC команды DEFINE CLASS, которая создает сервер автоматизации ISAPI. FoxWeb.prg представляет собой Internet приложение Visual FoxPro, включенное в оба проекта - FoxWeb и FoxWeb2.

    ProgID для обоих серверов автоматизации ISAPI указывают на Machine_A, то есть на локальную машину. Установки регистра для сервера автоматизации FoxWeb2 ISAPI необходимо изменить так, чтобы она указывала на Machine_B, то есть на удаленную машину.

  3. Теперь скопируйте файлы FoxWeb2.exe, FoxWeb2.vbr и FoxWeb2.tlb с локальной машины Machine_A на удаленную машину to Machine_B.

  4. Используйте опцию /RegServer для регистрации FoxWeb2.exe на Machine_B в MS-DOS командной строке:

    CopyCode image Скопировать код
    C:\VFP\FOXWEB2.EXE /RegServer

  5. И, наконец, остановите и перезапустите Personal Web Server на Machine_A, чтобы были учтены изменения в регистре.

Вы можете использовать команду Status на Foxisapi.dll для проверки статуса серверов автоматизации ISAPI, зарегистрированных в Foxisapi.ini. Команду Status исполняет приведенный ниже URL:

CopyCode image Скопировать код
HTTP://Machine_A/Scripts/FoxISAPI.dll/Status

Теперь вы можете исполнить команду Reset на Foxisapi.dll для сброса всех серверов автоматизации ISAPI, зарегистрированных в Foxisapi.ini. Команда Reset высвобождает из памяти все экземлпяры серверов автоматизации ISAPI. Команду Reset исполняет приведенный ниже URL:

CopyCode image Скопировать код
HTTP://Machine_A/Scripts/FoxISAPI.dll/Reset

Для тестирования инсталляции, вы можете открыть столько экземпляров вашего Web обозревателя, сколько серверов автоматизации ISAPI находится в пуле серверов. Web обозреватели могут быть открыты на множестве машин, подключенных к вашей сети. Затем вы можете вызвать метод Delay в строке URL каждого из Web обозервателей с тем, чтобы Foxisapi.dll направил запросы на обслуживание к другим свободным серверам автоматизации ISAPI. После того, как метод Delay будет исполнен из каждого Web обозревателя, вы можете использовать метод Status с целью проверки - все ли серверы автоматизации в пуле получили запросы на обслуживание.

Использование FoxISAPI с DLL серверами

Если вы используете FoxISAPI с многопоточными in-process серверами в предыдущих версиях Visual FoxPro, вам необхоидмо запретить поддержку диспетчера пула в FoxISAPI. Вы можете сделать это с помощью установки PoolMode в файле FoxIsapi.ini. Установка PoolMode представляет собой глобальную установку для всех серверов, поэтому мы рекомендуем, чтобы вы не допускали единого сервиса FoxIsapi.dll для EXE и DLL серверов одновременно. Вместо этого, вы должны скопировать и переименовать файлы FoxIsapi.dll и FoxIsapi.ini для того, чтобы у вас был один набор для EXE серверов и один набор для DLL серверов.

Отладка ваших серверов автоматизации ISAPI

FoxIsapi.dll, кроме того, позволяет вам отлаживать ваши сервера автоматизации ISAPI на вашей локальной машине. Установите число экземпляров сервера автоматизации ISAPI , которые вы желаете отлаживать в 0 так, как это показано в приведенном ниже примере файла FoxIsapi.ini:

CopyCode image Скопировать код
[FOXWEB.MYSERVER]
FOXWEB.SERVER=0

Программный файл Odebug.prg должен находиться в вашем корневом каталоге Visual FoxPro и исходные файлы сервера автоматизации ISAPI должны иметься в наличии. Убедитесь, что сервер автоматизации ISAPI, который вы желаете отлаживать, сконфигурирован как постоянно существующий сервер автоматизации ISAPI, а информация об отладке включена в проекте, содержащем исходные файлы вашего сервера автоматизации ISAPI.

Когда будет создан экземпляр сервера автоматизации ISAPI, Foxisapi.dll запустит Visual FoxPro для отладки, позволяя вам установить точки останова, трассировку кода и тому подобное.

Команды Foxisapi.dll

Foxisapi.dll имеет команды, которые вы можете вызывать для определения состояния ваших серверов автоматизации ISAPI и для сброса серверов. В приведенной ниже таблице перечислены команды Foxisapi.dll с описанием каждой из них.

Команда | Описание
MultiMode | Исполняет команду Reset, затем ограничивает число экземпляров серверов автоматизации ISAPI значением, указанным в Foxisapi.ini.
PoolMode | Разрешает или запрщает поддержку диспетчера пула в FoxISAPI. Используйте эту команду для отключения диспетчера пула для in-process DLL серверов. 0 – запрещает 1 - разрешает (по умолчанию)
Reset | Высвобождает все экземпляры серверов автоматизации ISAPI.
SingleMode | Исполняет команду Reset, затем ограничивает число экземпляров серверов автоматизации ISAPI до одного экземпляра. Исполняйте эту команду для проведения обслуживания; например, вы можете открыть таблицы монопольно, когда включен режим SingleMode.
Status | Отображает текущее состояние серверов автоматизации ISAPI, установки Foxisapi.ini и какой режим включен - SingleMode или MultiMode.

Каждая из команд Foxisapi.dll вызывается с помощью URL, который указан в Foxisapi.ini. Приведенное ниже представляет собой содержание файла Foxisapi.ini образца с URL-ми, определенными по умолчанию:

CopyCode image Скопировать код
[FOXISAPI]
StatusURL = Status
ResetURL = Reset
SingleModeURL = SingleMode
MultiModeURL = MultiMode

Приведенный ниже URL исполняет команду Status:

CopyCode image Скопировать код
HTTP://MyServer/Scripts/Foxisapi.dll/Status

В приведенном ниже образце файла Foxisapi.ini, URL для команды Status изменен из Status в MyStatus:

CopyCode image Скопировать код
[FOXISAPI]
StatusURL = MyStatus
ResetURL = Reset
SingleModeURL = MSingleMode
MultiModeURL = MultiMode

После этого изменения в Foxisapi.ini, приведенный ниже URL исполняет команду Status:

CopyCode image Скопировать код
HTTP://MyServer/Scripts/FoxISAPI.dll/MyStatus
Note Замечание

Вы можете сбросить Foxisapi.dll с помощью команды Reset, после того, как вы сделали изменения в файле Foxisapi.ini для того, чтобы изменения были учтены.

Дополнительные установки FoxISAPI.ini

Foxisapi.dll читает Foxisapi.ini и конфигурирует свои установки в соответствии с размещенными в Foxisapi.ini элементами. В приведенной ниже таблице описана каждая из дополнительных установок, которая может быть помещена в ваш файл Foxisapi.ini.

Элемент | Описание
AutoRefreshStatus | Определяет число секунд между обновлениями страницы Status. По умолчанию равна 0 секундам (страница Status не обновляется) если этот элемент опущен или если Foxisapi.ini отсутствует.
BusyTimeout | Определяет число секунд, в течении которых Foxisapi.dll ожидает ответа серверов приложения Visual FoxPro до генерации сообщения о превышении лимита времени. По умолчанию равно 2 секундам, если этот элемент опущен или если Foxisapi.ini отсутствует.
ReleaseTimeout | Определяет число секунд в течении которых Foxisapi.dll ожидает ответа серверов приложения Visual FoxPro до исполнения команды Reset. По умолчанию равно 2 секундам, если этот элемент опущен или если Foxisapi.ini отсутствует.

Приведенное ниже взято из файла образца Foxisapi.ini и демонстрирует формы дополнительных элементов, которые могут быть помещены в файа инициализации:

CopyCode image Скопировать код
[FOXISAPI]
BusyTimeout = 5
ReleaseTimeout = 15
Note Замечание

Вы можете сбросить Foxisapi.dll с помощью команды Reset после того, как вы сделали изменения в файле Foxisapi.ini, для того, чтобы эти изменения вступили в силу.

Советы по конфигурации для Microsoft Internet Information Services (IIS)

В ваш реестр могут быть добавлены два входа для Microsoft IIS, PoolThreadLimit и ThreadTimeout, с помощью которых можно улучшить производительность серверов автоматизации Visual FoxPro FoxISAPI. Эти входы реестра определяют общее число потоков, которые может создать Internet Information Services а также время их существования. Для получения более подробной информации об этих установках реестра, обратитесь к документации по Internet Information Services.

Статья базы знаний Microsoft с названием "How to Launch Automation servers from ISAPI Extensions" (number Q156223) доступна на сайте www.microsoft.com. Эта статья предоставляет информацию об установках разрешений безопасности для досупа, требуемых для запуска серверов автоматизации, таких как Visual FoxPro ISAPI.

Смотрите также

Задачи

Образцы решений
Образцы сервера автоматизации FoxISAPI
FoxIs,Internet сервер Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FoxIs, a Visual FoxPro Internet Server

Visual FoxPro 9.0 Образцы
FoxIs, Visual FoxPro Internet Сервер
Смотрите также

FoxIs, находящийся в каталоге Visual FoxPro ...\Samples\Servers\Foxisapi\FoxIs, иллюстрирует создание out-of-process .exe или in-process .dll с функциональностью ISAPI, к которому можно обращаться из Visual FoxPro, как самостоятельной программы, из клиентов автоматизации и из Web браузера. Изменения, которые вы сделаете в его классах, могут улучшить сервер автоматизации, вне зависимости от того, откуда он запущен.

Для того, чтобы открыть проект образца FoxIs

  • Напечатайте приведенную ниже команжу в окне Command:

    CopyCode image Скопировать код
    MODIFY PROJECT (HOME(2) + 'servers\foxisapi\foxis\foxis')

Запуск образца FoxIs

Вы можете запустить образец FoxIs четырьмя разными путями. Когда вы будете пробовать код, то в качестве неплохой идеи можете воспользоваться рекомендуемым порядком:

Запуск из Visual FoxPro

Для запуска образца FoxIs из Visual FoxPro, выполните последовательность приведенных ниже команж в окне Command.

CopyCode image Скопировать код
SET DEFAULT TO (HOME(2) + 'servers\foxisapi\foxis\')
SET CLASSLIB TO employee
ox = CREATEOBJECT('employee')
ox.show

Запуск в качестве независимого исполнимого приложения

Вы можете построить исполнимый файл из образца с помощью приведенной ниже строки кода:

CopyCode image Скопировать код
BUILD EXE foxis FROM foxis

Скомпилированный файд, FOXIS.EXE, представляет из себя программу для Windows, которая может быть добавлена в Windows Start menu, запущена из Windows Explorer и тому подобным образом.

Запуск в качестве сервера автоматизации

Если FoxIs ьудет скомпилирован в .exe или в .dll, он регистрируется как сервер автоматизации в регистре Windows. Вы можете создать объект, основанный на классе employee из любого OLE контроллера, например, Excel, Visual Basic и Visual FoxPro:

CopyCode image Скопировать код
ox = CREATEOBJECT('foxis.employee')
ox.SHOW

Запуск из Web браузера

Вы можете даже запустить образец FoxIs из Web браузера, который может быть на другой машине, такой как 286 под MS-DOS, Unixe, Macintosh или Personal Digital Assistant.

Системные требования для использования через Internet

Для запуска образца FoxIs из Web браузера у вас должны быть запущены:

  • Windows 98 или Windows 2000 или более поздний.

  • ISAPI-совместимый Web сервер, такой как Microsoft Personal Web Server для Windows 98 или Microsoft Internet Information Services (IIS). IIS идет в поставке с Windows 2000 и более поздними версиями и может быть загружен с сайта www.microsoft.com; Personal Web Server также может быть загружен с сайта www.microsoft.com.

Если вы используете Windows 2000 или более позднюю версию, вам необходимо запустить утилиту DCOMCNFG, для конфигурирования DCOM с тем, чтобы обеспечить права сервису IIS на создание OLE объектов.

Для конфигурирования Windows 2000 или поздних DCOM

  1. В окне Command операционной системы, не Visual FoxPro!!!, напечатайте DCOMCNFG м затем нажмите Enter.

  2. На закладке Applications выберите имя сервера автоматизации. Когда вы компилировали сервер, ему по умолчанию было присвоено имя "employee".

  3. На закладке Default Security диалогового блока Distributed COM Configuration Properties, выберите Edit Default для каждой области : Default Access Permissions, Default Launch Permissions и Default Configuration Permissions.

  4. В появившемся диалоговом блоке Registry Value Permissions для каждой области выберите Add.

  5. В боксе Add Names диалогового окна Add Users and Groups, впечатайте имя вашего WWW сервера и имя пользователя вашего входа (login user name).

    Вы можете увидеть имя сервера в окне Microsoft Internet Service Manager Properties window. Если имя вашей машины - MINE, приведенная ниже строка в боксе Add Names установит пользователя по умолчанию:

    CopyCode image Скопировать код
    \MINE\IUSR_MINE

    Если имя вашей машины - MINE и вы вошли как HOMER, то следующая строка в боксе Add Names установит разрешения для вас при входе:

    CopyCode image Скопировать код
    \MINE\HOMER

Установка образца FoxIs для доступа чере Internet

Для установки образца FoxIs, вам необходимо создать .exe или .dll из проекта FoxIs, и затем скопировать файл в ваш каталог Inetsvr\Scripts.

Для устоновки образца FoxIs

  1. Откройте проект FOXIS.

  2. Щелкните на кнопке Build и затем выберите Build COM DLL.

  3. Скопируйте Foxisapi.dll в папку Inetsrv\Scripts.

Предварительное тестирование

Вы можете потестировать образец приложения FoxIs на различных уровнях для того, чтобы увидеть, что все сконфигурировано корректно.

Для того, чтобы видеть что код работает

  1. В меню Program выберите Do.

  2. Выберите Main.prg в каталоге Visual FoxPro Samples\Servers\Foxisapi.

  3. Выберите Do.

Для того, чтобы увидеть, что .EXE работает

  1. В командном окне Visual FoxPro выдайте приведенную ниже команду:

    CopyCode image Скопировать код
    BUILD EXE Foxis.exe FROM foxis

  2. Произведите двойной щелчок на Foxis.exe в Windows Explorer.

Для того, чтобы увидеть, что сервер автоматизации FoxIs работает

  • Выполните следующие команды:

    CopyCode image Скопировать код
    OX= CREATEOBJECT('FOXIS.EMPLOYEE')
OX.Show    && See if it works as a ISAPI Automation server
?OX.Startup( )  && See if it returns html

Намного легче протестировать сервер автоматизации из контроллера автоматизации, такого как Visual FoxPro до создания его в FoxIs.

Установка HTML страницы

Для того, чтобы этот предмет запустился, вам нужна HTML страница, которая содержит ссылку на URL. Например, возьмите приведенный ниже код и поместите его в файл Wwwroot\default.htm file.

CopyCode image Скопировать код
<a HREF="/scripts/foxisapi.dll/FoxIS.employee.startup"> <i>VFP ISAPI AUTOMATION SERVER DEMO PAGE</i> </a>

Затем используйте браузер, который может быть на этой же машине и подсоединитесь к YourMachineName. Например, если имя вашей машины "myMachine," тогда напечайтайте "myMachine" как URL, на который нужно придти. Это выдаст страницу Default.htm page на сервере с именем "myMachine"

Инициализируется CreateObject("foxis.employee") и на объекте будет вызван метод Startup, который вернет сгенерированную страницу HTML. Если сервер автоматизации еще не построен, тогда Foxisapi.dll вернет HTML страницу с характерным для WEB кодом ошибки.

Затем используйте ваш Web браузер для обращения к приведенному выше href. Если вы получите HTML страницу с ошибкой, на которой говорится "Foxisapi error", тогда вы будете знать, что DLL загружена и работает.

CopyCode image Скопировать код
 <FORM ACTION = "/scripts/foxisapi.dll/foxis.employee.cmd">
<INPUT NAME="Cmd" VALUE = "Reset">
<INPUT TYPE="submit" VALUE="Dos Command">
</FORM>

В действительности вы можете положить любую действительную команду MS-DOS и это будет выполнено на серверной машине. Если это команда "Reset" (по умолчанию), тогда это высвободит первую инстанцию ISAPI сервера автоматизации наравне с ним самим, таким образом полностью высвобождая сервер ISAPI.

Дополнительно, вы можете оценить любое выражение Visual FoxPro. Однако, если выражение Visual FoxPro отображает модальный диалог, такой, какой к примеру производит функция MESSAGEBOX( ), сервер автоматизации зависнет в ожидании ответа, который не может быть предоставлен. Однако,для in-process .dll, модальный интерфейс обслуживается автоматически и сервер автоматизации не зависнет.

CopyCode image Скопировать код
<FORM ACTION = "/scripts/foxisapi.dll/foxis.employee.cmd?FOXCMD">
<INPUT NAME="Cmd">
<INPUT TYPE="submit" VALUE="Fox Expression">
like "today is "+ cdow(date()) or 45 * 3 or SYS(2004)
</FORM>

Отладка сервера

Сервер Windows NT не имеет Desktop, поэтому на серверной машине не покажется интерфейс пользователя. Это означает, что вы должны отладить ваш сервер автоматиции до его развертывания.

Для трассироваки через Foxisapi.dll с помощью Visual C++ 5.0

  1. Откройте Foxisapi.mak.

  2. Удалите значок комментация из приведенной ниже строки кода в HttpExtensionProc:

    CopyCode image Скопировать код
    //   _asm int 3

  3. Перестройте проект.

  4. Запустите MSDEV с идентификаторов процесса (PID) Inetinfo.exe. Вы можете получить идентификатор процесса в Windows Task Manager.

Этот процесс применяется к Windows 2000 или более поздней версии.

Замечание Совет

При отладке у вас не будет возможности выключить Web сервер для изменения сервера автоматизации. Вы можете просто прервать out-of-process компонент посылкой значения reset методу cmd, так как это описано выше, или, при использовании Win32 SDK с помощью TLIST, KILL, PVIEW или через Task Manager в Windows 2000 или более поздней версии.

Класс ISForm

"Движок" oобразца представляет собой класс ISForm в Isapi.vcx.

Точки входа в классе ISForm

Приведенные ниже методы могут быть вызваны из Web браузера с помощью Foxisapi.dll, для возврата HTML страниц.

Метод | возвращает
Cmd | вычисление выражения Visual FoxPro или результаты команд MS-DOS.
DoSave | сохраняет изменения, сделанные пользователем в данных и возвращает HTML страницу employee.
Skipit | информацию работника для указанного работника в таблице. Skipit берет информацию cookie посылаемую в качестве параметра из Web браузера, проверяет таблицу cookies с целью поиска предыдущего номера записи и смещает указатель записи вперед или назах относительно номера записи, хранимого в таблице cookies. Новый номер записи записывается в таблицу cookies и вызывается метод GenHTML.
Startup | информацию работника в первой записи таблицы. Startup создает новый идентификатор cookie - id - для пользователя и посылает его назад как скрытый вход в HTML .

Поддержание сервера активным

Обычно, на каждый запрос от Web клиента, сервер автоматизации инстанциируется, генерирует HTML страницу и затем высвобождается с вызовом Release( ) в CallObject( ) в Foxisapi.cpp. Это означает, что полный Visual FoxPro runtime запускается и выгружается при каждом запросе.

Если сервер автоматизации ISAPI зарегистрирован, как Multi-Use и не вызывается Release(), тогда первый запрос запустит сервер, но последующие запромы будут использовать ту же самую инстанции сервера, намного улучшая производительность. Код в Foxisapi.dll и методах Load, Cmd, DoSave, Startup и Skipit объекта ISForm управляют поддержанием активной одной инстанции сервера.

Переменные в DLL

Задекларированы две переменных: pdispObj и pdispDoRelease. Когда сервер изначально создан, pdispObj представляет собой дескриптор диспетчера OLE объекта. Переменная pdispDoRelease устанавливается в то же самое значение, что и pdispObj и посылается по ссылке в качестве параметра методу ISForm сервера, который запрашивается Web браузером. Код в Visual FoxPro ISForm сервере автоматизации может изменить значение pdispDoRelease.

Замечание Совет

Для получения более подробной информации об этом образце смотрите комментарии в коде в ISForm и Foxisapi.cpp.

Событие загрузки формы

Когда ISForm создан, код в событии Load создает две глобальные переменные, gpInstance и gpDisp. Когда сервер ISForm загружен первый раз, значение переменной gpInstance устанавливается в 1. Последующие инстанции увеличивают значение этой переменной. Когда инстанция высвобождается, значение переменной gpInstance уменьшается.

Методы точки входа

Когда через Foxisapi.dll вызывается метод (Cmd, DoSave, Skipit, or Startup) ISForm , .dll передает методу указатель диспетчера по ссылке в в качестве параметра.

Когда сервер запускается первый раз, счетчик инстанций устанавливается в 1 и указатель диспетчера сохраняется в глобальной переменной. Затем в указателе сохраняется значение 0.

CopyCode image Скопировать код
IF m.gnInstance = 1
   IF TYPE('pDisp') $ 'NI'
      gpDisp = m.pDisp
      pDisp = 0
   ENDIF
ENDIF

В этой точке, две переменные указывают на одно и тоже значение указателя диспетчера: gpDisp в ISForm сервера автоматизации и pdispObj в Foxisapi.dll. Значение pdispDoRelease в .dll равно 0, как оно и было изменено в ISForm сервера автоматизации.

Следующие друг за другом вызовы сервера увеличивают счетчик инстанций, новый pdispObj генерируется в .dll, сохраняется в pdispDoRelease, и направляется по ссылке в запрашиваемый метод. Так как значение gnInstance не равно 1, значение переменной gpDisp не изменяется. Начиная с этой точки, gpDisp в сервере автоматизации хранит отличающееся значение от pdispObj и pdispDoRelease в .dll.

Высвобождение сервера

Для принужления высвобождения, pdispDoRelease не может содержать 0 и должно иметь значение, отличающееся от значения pdispObject. На высвобождение сервера оказывает влияние значение, посылаемое приведенным ниже текстом HTML страницы:

CopyCode image Скопировать код
 <FORM ACTION = "/scripts/foxisapi.dll/foxis.employee.cmd">
<INPUT NAME="Cmd" VALUE = "Reset">
<INPUT TYPE="submit" VALUE="Dos Command">
</FORM>

Приведенный ниже код в методе cmd устанавливает значение pdispDoRelease для значения диспетчера первой инстанции.

CopyCode image Скопировать код
CASE 'RESET'$upper(m.p1)
   m.pDisp= m.gpDisp

Код в .dll будет теперь высвобождать текущую инстанцию и оригинальную инстанцию, которая поддерживалась в наличии для предотвращения загрузки Visual FoxPro каждый раз, когда вызывался сервер.

Посылка HTML клиенту

Метод GenHTML класса ISForm вызывается из каждого метода точки входа. HTML, возвращенный из методаGenHTML, возвращается Web браузеру через Internet Information Services.

Если параметр режима, посылаемый методу GenHTML не равен "FORM," то метод GenHTML просто ищет значение в таблице и посылает назад предформатированный HTML.

CopyCode image Скопировать код
IF m.mode != 'FORM'
   =SEEK(m.mode,'html')
   rv = html.html
  RETURN m.rv
ENDIF

Если параметр режима равен "FORM," код в GenHTML идентифицирует каждую метку и текстбокс на форме, сортирует их в порядке сверху вних и слева-направо, вычисляет Captions и ControlSources элементов управления и использует возможности Visual FoxPro сливать текст для конструирования подходящего текста HTML для отображения на форме.

Если вы добавили в форму дополнительные метки и текстбоксы, то они автоматически отображаются в сгенерированном HTML.

Создание и использование Cookies

В качестве Web сервера, это приложение может быть запрощено многократно разными клиентами и нам необходимо сохранять трэки состояний пользователей. В этом случае, мы сохраняем трек текущего номера записи для такого пользователя. Мы могли бы предоставить пользователю экран логина и использовать имя пользователя, как ключ для cookie, но вместо этого, мы генерируем значение cookie в методе MakeCookie и посылаем его в качестве скрытого значения в HTML, посылаемом назад пользователю. Каждый раз, когда пользователь выбирает другую запись, мы читаем значение cookie из строки HTTP, посылаемой .dll, ищем cookie в таблице Cookies, находим текущий номер записи и перемещаем указатель относительно этого номера.

В процессе управления cookie используются свойства и методы, перечисленные ниже:

  • Свойство Cookie

  • Метод GetCookie

  • Метод MakeCookie

  • Метод WriteCookieInfo

Обработка ошибок

Если произошла ошибка, код в событии Error класса ISForm вызывает метод GenHTML с параметром "ERROR." GenHTML читает предформатированный HTML текст для ошибок и возвращает его коду события Error. Код события Error замещает информацию об ошибке для соответствующих мест в HTML:

CopyCode image Скопировать код
   LOCAL rv
   rv = THIS.GenHTML('ERROR')
   rv = strtran(m.rv,'%METHOD%',m.cMethod)
   rv = strtran(m.rv,'%ERRORNO%',STR(m.nError,4))
   rv = strtran(m.rv,'%ERRORMSG%',Message(1))
   rv = strtran(m.rv,'%LINENO%',STR(m.nLine,4))
   THIS.ErrorHTML = m.rv

Когда ErrorHTML что-то содержит, GenHTML посылает значение ErrorHTML назад, клиенту.

Таблицы, используемые в образце FoxIs

В дополнение к таблице employee, используемой для ввода данных и отображаения, образец FoxIs использует перечисленные ниже таблицы.

Таблица | Описание
HTML | Хранит HTML текст посылаемый назад Web браузеру, как заголовок для вычислений FoxCMD и DosCMD илил в случае ошибки.
Cookies | Хранить трэки номеров записей для различных Web браузеров. Уникальное значение поля cookie посылается как скрытое значение в HTML тексте, посылаемое конкретному пользователю.

Смотрите также

Задачи

Образцы решений (Solution Samples)
Образцы FoxISAPI сервера автоматизации
FoxWeb, упрощенный Visual FoxPro Internet сервер автоматизации

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


COM+ Samples

Visual FoxPro 9.0, Примеры
COM+, примеры
См. также

Система Windows 2000 предлагает новый спектр системных служб (COM+ Services) для осуществления новейших рещений по обработке информационных потоков в ваших Приложениях и Web. Система Visual FoxPro также включает новые развитые средства Сервера для поддержки использования указанных служб Операционной Системы. Возможности служб COM+ достаточно просты в использовании и основаны на ключевых характеристиках концепции COM+ Service. Примеры использования таких компонент, как Queued Components, COM+ Events, и Compensation Resource Managers размещаются в папке ...\Samples\COM+. Дополнительную информацию см. в файле Readme.htm.

Сохраняется также поддерка "старых" служб COM+, например Transactions. Коме того, добавлена поддержка новых возможностей системных служб COM+ Events и Queued Components, которые были ранее недоступны при разработке программ в системе Visual FoxPro.

См. также

Задачи

FoxISAPI Automation Server, примеры

Другие ссылки

Примеры Сервера (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Solution Samples

Visual FoxPro 9.0 Примеры
Примеры решений

Примеры решений Visual FoxPro демонстрируют специфические особенности Visual FoxPro и могут быть свободно выполнены. Примеры также включают решения с использованием Базовыз классов Visual FoxPro.

Примеры решений могут быть выполнены из Менеджера панели задач Visual FoxPro, функциональные возможности которого позволяют осуществлять поиск решений и выполнять установку дополнительных решений. Примеры решений можно выполнить также непосредственно из ...\Samples\Solution\Solution.app.

В этом разделе

Как: Выполнение примеров решений Visual FoxPro

Описывается, каким образом выполнить примеры из Менеджера панели задач.

Примеры решений с использованием ActiveX компонентов

Содержит примеры решений, иллюстрирующие возможности использования элементов управления ActiveX в Visual FoxPro.

Примеры Автоматизированных Решений

Содержит примеры решений, иллюстрирующие возможности автоматизации с файлами других приложений.

Примеры решений для Элементов Управления

Содержит примеры, иллюстрирующие возможности решения самых разнообразных задач построения пользовательского интерфейса.

Примеры решений для данных

Содержит примеры, иллюстрирующие возможности решения разнообразных задач с использованием различных источников данных.

Примеры решений для баз данных

Содержит примеры, иллюстрирующие возможности решения прикладных задач, которые могут быть выполнены с базами данных.

Примеры решений для форм

Содержит примеры, иллюстрирующие возможности решения прикладных задач с использованием форм.

Примеры решений для меню и панелей инструментов

Содержит примеры, иллюстрирующие возможности решения прикладных задач с использованием меню и панелей инструментов.

Примеры программирования

Содержит примеры, иллюстрирующие возможности программирования с использованием Visual FoxPro.

Примеры решений для отчетов

Содержит примеры, иллюстрирующие использование отчетов.

Примеры решений для представлений и запросов

Содержит примеры, иллюстрирующие возможности решения прикладных задач с использованием представлений и запросов.

Примеры Решений для Windows API

Содержит примеры, иллюстрирующие возможности решения прикладных задач с использованием инструментов операционной системы - Windows API.

Прочие решения

Содержит примеры, иллюстрирующие возможности решения прочих задач с использованием средств Visual FoxPro.

Справочное руководство

Алфавитный указатель базовых классов Visual FoxPro

Перечисляются базовые классы Visual FoxPro, доступные для использования в приложениях.

Справочное руководство

Включает техническую информацию, связанную с Visual FoxPro, в том числе описание языка, пользовательского интерфейса и сообщения об ошибках.

Связанные разделы

Примеры

Содежит примеры, которые можно использовать для изучения возможностей Visual FoxPro.

Примеры библиотек классов

Содержит примеры библиотек классов, обеспечивающие, в том числе, скрытые функциональные возможности, которые могут быть использованы при создании приложений.

Примеры использования серверов

Содержит примеры, иллюстрирующие использование серверов автоматизации.

Примеры использования базовых классов

Содержит примеры, иллюстрирующие использование базовых классов Visual FoxPro.

Репетиции

Репетиции содержат пошаговые инструкции для общих сценариев.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


How to: Run Visual FoxPro Solution Samples

Visual FoxPro 9.0 Samples
Как: Запустить Примеры Решений системы Visual FoxPro
См. также

Вы можете запустить Примеры Решений Visual FoxPro в службе Task Pane Manager, которая обеспечивает инструсентарием для поиска и установки дополнительных примеров.

Для Запуска Solution samples

  1. В запущенной службе Task Pane Manager, выберите Task Pane, из меню Tools.

  2. Из соответствующего toolbar Task Pane Manager, выберите Solution Samples.

  3. Из представленного иерархического списка разделов Решений выберите нужный вам и запустите его.

  4. Кроме запуска представленных примеров Решений можно просмотреть также исходный код данных решений. Для этого выбирается соответствующая кнопка Click here to view the code.

См. дополнительно раздел Task Pane Manager.

Главный файл приложения Примеры Решений VFP расположен в подкаталоге ...\Samples\Solution\Solution.app.

См. также

Задачи

Примеры Решений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


ActiveX Solution Samples

Visual FoxPro 9.0, Примеры
Примеры Решений для Контролов ActiveX

Представленные примеры Решений демонстрируют варианты использования Контролов (Элементов управления) ActiveX.

В данном Разделе:

Добавление и Исключение Элемента в/из Списка типа Treeview, Пример

Иллюстрируются варианты добавления, удаления, обработки Объекта Nodes в контроле TreeView, который представляет собой коллекцию Элементов Node. В данном примере демонстрируется построение иерархического Списка Treeview из Таблицы VFP.

Настройка Диалогового бокса Open (Открыть), Пример

Показано, как активировать и использовать настраиваемые диалоговые боксы Open.

Отображение Системной Информации, Пример

Показано, как использовать контрол SysInfoControl, для просмотра системной информации (ОС) при изменении параметров настройки или состава оборудования.

Просмотр файлов типа AVI с помощью контрола ActiveX, Пример

Показано, как использовать контрол Мультимедиа (Multimedia) для просмотра файлов типа AVI, где используется Свойство hWnd.

Обеспечение Иерархического представления Списков элементов, Пример

Показано, как использовать два различных типа контролов ActiveX для иерархического отображения элементов Списка, контролы OutLine и TreeView.

Отправка Почтовой корреспонденции, Пример (Visual FoxPro)

Показано, как создать простейшее Электронное Сообщение из программного модуля Visual FoxPro, направленное на некоторый адрес E-Mail.

Использование внешних контролов: Slider и Status Bar, Пример

Показываются простейшие варианты использования контролов Slider и StatusBar.

Использование контрола RichText, Пример

Показывается вариант использования внешнего контрола RichText для отображения и редактирования текста в формате RTF, который размещается в поле типа memo обычной таблицы VFP.

Описание

Примеры Библиотек Классов

Содержатся описания примеров Библиотеки классов, в которых обеспечивается функциональная Инкапсуляция (Encapsulated Functionality), которая может быть использована в ваших Приложениях.

Фундаментальные классы Visual FoxPro, A-Z

Рассматриваются представленные фундаментальные классы Visual FoxPro, которые могут быть использованы для быстрой разработки разработки ваших Приложений.

Описание Системы (Visual FoxPro)

Представлены основополагающие разделы по функциональности Visual FoxPro, Язык программирования, Пользовательский интерфейс, Сообщения об Ошибках.

Связанные Секции:

Примеры Библиотек Классов

Содержатся описания примеров Библиотеки классов, в которых обеспечивается функциональная Инкапсуляция (Encapsulated Functionality), которая может быть использована в ваших Приложениях.

Фундаментальные классы Visual FoxPro, A-Z

Рассматриваются представленные фундаментальные классы Visual FoxPro, которые могут быть использованы для быстрой разработки разработки ваших Приложений.

Reference (Visual FoxPro)

Представлены основополагающие разделы по функциональности Visual FoxPro, Язык программирования, Пользовательский интерфейс, Сообщения об Ошибках.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Add and Remove Items in a Treeview Control Sample

Visual FoxPro 9.0 Примеры
Пример: Добавление и удаление узлов в Treeview Control
Смотри также

Файл: ...\Samples\Solution\OLE\Bldtree.scx

Элемент TreeView отображает коллекцию объектов Node (узел), каждый из которых состояит из метки и необязательной картинки (bitmap). После создания объекта TreeView мы можете добавлять, удалять, перемещать и совершать прочие операции на объектами Node путем установки свойств и вызова методов.

Этот пример показывает добавление узлов в элемент TreeView, удаление узлов, выбор узлов программным способом, запись иерархии TreeView в таблицу и чтение иерархии TreeView из таблицы.

Добавление узлов

Каждому узлу в TreeView необходимо присвоить уникальный ключ, который представляет собой символьную строку, генерируемую методом NewKey в этой примерной форме.

Скопировать код
*метод NewKey
cKey = THIS.cNextKey
THIS.cNextKey = ALLTRIM(STR(VAL(THIS.cNextKey) + 1) + "_")
RETURN cKey

Для добавления новый узлов TreeView используется метод Add. Программный код, ассоциированный с событием Click командной кнопки cmdNewNode добавляет узел корневого уровня, используя метод Add.

Скопировать код
o = THISFORM.oleTree
o.Nodes.Add(,1,THISFORM.NewKey(),"Click to edit text",0)

Программный код, ассоциированный с событием Click командной кнопки cmdNewChild добавляет узел, являющийся дочерним, по отношении к выбранному узлу.

Скопировать код
o = THISFORM.oleTree
IF !ISNULL(o.SelectedItem) THEN
   o.Nodes.Add(o.SelectedItem.Key, 4, THISFORM.NewKey(), "Click to edit text",0)
ENDIF

Удаление узлов (Nodes)

Вы можете удалить все узлы, вызвав метод Clear.

Скопировать код
THISFORM.oleTree.Nodes.Clear

Или вы можете удалить конкретные выбранные узлы, вызвав метод Remove. Помните, что при удалении узла, имеющего дочерние узлы, последние будут также удплены.

Скопировать код
THISFORM.oleTree.Nodes.Remove(THISFORM.oleTree.SelectedItem.Key)

Запись и чтение иерархии в таблицы

Для сохранения иерархии вашего TreeView в таблицу, с тем, чтобы вы могли перезагрузить ее в дерево и редактировать, пройдите последовательно все узлы в объекте TreeView и запишите ключ, родительский ключ и текст метки в соответствующие поля таблицы.

Скопировать код
FOR i = 1 TO loNodes.Count
   IF ISNULL(loNodes.Item(i).Parent)
      lcParent = "0_" && Root
   ELSE
      lcParent = loNodes.Item(i).Parent.Key
   ENDIF
   INSERT INTO (lcDBFName) VALUES ;
      (loNodes.Item(i).Key, ;
       lcParent, ;
       loNodes.Item(i).Text)
ENDFOR

Для восстановления иерархии дерева TreeView, просканируйте записи в таблице, используя родительский ключ, клю и текст метки, которые вы сохранили в ней ранее.

Скопировать код
* Заполнить объект TreeView значениями из таблицы.
o = THISFORM.oleTree.Nodes
   SCAN
      IF ALLTRIM(parent) = '0_'
         o.add(,1,ALLTRIM(key),ALLTRIM(text),0)
      ELSE
         o.add(ALLTRIM(parent),4,ALLTRIM(key), ALLTRIM(text),0)
      ENDIF
      THISFORM.cNextKey = ALLTRIM(STR(VAL(key) + 1) + "_")
   ENDSCAN

Смотри также

Прочие ресурсы

Treeview/Listbox Drag and Drop
Примеры решений для ActiveX
Solution Samples

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Customize the Open Dialog Box Sample

Visual FoxPro 9.0, Примеры
Настройка Диалогового бокса Open (Открыть), пример
См. также

Программный файл: ...\Samples\Solution\OLE\Commdlog.scx

Рассматриваемый пример иллюстрирует, как вы можете настраивать Вид, Свойства и Характеристики часто используемого Диалогового бокса Open (Открыть), который порождается внешним системным контролом "Common Dialog".

Для определения различных характеристик и функциональных возможностей рассматриваемого Диалогового Окна "Открыть" обычно используется "Аддитивный" способ определения значения свойства Flags данного контрола типа Common Dialog, где дополнительные параметры определяются в виде Суммы специальных (конкретных) числовых Значений (например: 1+2+4+8+16...). В следующей далее Таблице описаны Основные варианты используемыз Аддитивных Значений параметра (Свойства) Flags.

Значение | Краткое Описание
1 | Определяет наличие Переключателя Read-Only (Только-Чтение) в виде контрола CheckBox, который размещается в описываемом Диалоговом Боксе. При закрытии данного Окна этот специальный Флаг определяет соответствующий Статус открытия выбранного файла (в режиме read-only / или Нет).
2 | Определяет возможное дополнительное Открытие Диалогового бокса Save As (Сохранить Как...) в том случае, когда выбранный файл уже Существует. В этом случае для пользователя создается Запрос-Подтверждение перезаписи существующего файла.
4 | Скрывает Переключатель Read-Only.
8 | Определяет открытие Текущего Каталога при генерации создаваемого Диалогового Бокса.
16 | Определяет наличие специальной кнопки Help (Помощь) в создаваемом Диалоговом Боксе.
256 | Определяет возможность использования недопустимых символов в задаваемом имени Файла.
512 | Определяет наличие свойства Списка File Name (Имя Файла) - как возможность множественного выбора (нескольких файлов). Для выполнения операции "множественного выбора" рекомендуется использовать клавишу SHIFT в комбинации с клавишами UP ARROW и DOWN ARROW (стрелки вверх и вниз). В результате выполненных действий, значение Свойства File Name возвращает Список выбранных файлов. Имена файлов в указанном списке разделяются Пробелами.
1024 | Определяет, что расширение (тип) возвращаемого Имени файла может отличаться от заданного в Свойстве: DefaultExt значения. Данный флаг не устанавливается для случаев, когда DefaultExt = Null, или расширение полностью соответствует, или если расширение отсутствует совсем. Значение данного флага может быть проверено после закрытия Диалогового Бокса.
2048 | Определяет, что пользователь может вводить только допустимые Имена путей доступа к файлам. Если введено недопустимое значение, то активируется Предупреждающее Сообщение.
4096 | Определяет, что пользователь может вводить Имена только существующих файлов в текущем каталоге для текстового бокса File Name. Если введено недопустимое значение,то активируется Предупреждающее Сообщение. Данный флаг устанавливается совместно с флагом 2048.
8192 | Определяет, что система должна создать дополнительный Запрос по созданию нового файла, который еще не существует. Данный флаг применяется совместно с флагами 4096 + 2048 .
16384 | Определяет, что Ошибки совместного (коллективного) доступа к выбранному файлу - Игнорируются.
32768 | Определяет использование специального Шаблона Проводника ОС Windows Open A File (Открыть Файл) для рассматриваемого Диалогового Бокса.
524288 | Определяет использование стандартного Шаблона Проводника Open A File (Открыть Файл) .
1048576 | Запрещает использование неверных системных Ссылок (в том числе неразрешимых ссылок). По-Умолчанию, указание специфической Ссылки активирует соответствующие Процесы Диспетчера ОС.
1048576 | Запрещает использование Ярлыков в качестве Имен Файлов (shell links). По-умолчанию, Ярлыки могут порождать соответствующие процессы Диспетчера.
2097152 | Допускает использование длинных Имен Файлов.

Далее представлены фрагменты программного кода, которые представлены в событии Click объекта cmdFiles, которые уточняют характеристики и устанавливают значения дополнительных свойств Flags и Filter для внешнего контрола "Common Dialog".

Установка переключателя Read-only (Только-Чтение)

CopyCode image Копировать Код
IF !thisform.chkRead.Value
 m.nFlags = m.nFlags + 4
ENDIF

Установка Переключателя выборки нескольких файлов (открытия нескольких файлов)

CopyCode image Копировать Код
IF thisform.chkMulti.Value
 m.nFlags = m.nFlags + 512
ENDIF

Установка флага определения кнопки Help (Помощь)

CopyCode image Копировать Код
IF thisform.chkHelp.Value
 m.nFlags = m.nFlags + 16
ENDIF

Определение Флага ПредОпределения Имени Файла

CopyCode image Копировать Код
IF thisform.chkMulti.Value
 m.nFlags = m.nFlags + 4096
ENDIF

Переопределение Свойства Flags для внешнего контрола "Common Dialog"

CopyCode image Копировать Код
THISFORM.oleCommDlog.Flags = m.nFlags

Определение Списка Фильтра для значения свойства Filter для Контрола "Common Dialog"

Указанное Свойство внешнего контрола Filter может быть использовано для определения групп Типов выбираемых Файлов.

CopyCode image Копировать Код
THISFORM.oleCommDlog.Filter = "All files" + ;
 "(*.*)|*.*|Text (*.txt)|*.txt" + ;
 "|Pictures(*.bmp;*.ico)|*.bmp;*.ico"

См. также

Задачи

Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, по-алфавиту: A-Z

Другие ссылки

Примеры решений с использование контролов ActiveX

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Display System Information Sample

Visual FoxPro 9.0, Примеры
Отображение Системной Информации, Пример
См. также

Программный файл: ...\Samples\Solution\OLE\Sysinfo.scx

В предлагаемом примере демонстрируется использование объекта SysInfoControl - для отображения различной системной информации.

Основной программный код размещается в методе CheckStatus. Здесь проверяются и заполняются значения основных Свойств объекта SysInfoControl, которые в дальнейшем заполняются в объекте отображения системной информации - объекте типа TreeView . Например, следующий фрагмент программного кода проверяет значение системного свойства BatteryLifePercent:

CopyCode image Копировать Код
IF ThisForm.SysInfo.BatteryLifePercent = 255
 * Add a node to display the information
ENDIF

При изменении Системных параметров происходит событие рассматриваемого объекта SysInfoControl. Программный код соответствующего событияизменяет заголовок некоторого параметра и вызывает соответствующий Метод CheckStatus - для обновления содержания элементов объекта treeview. К примеру, следующий программный фрагмент связан с событием: SysColorsChanged:

CopyCode image Копировать Код
ThisForm.Status.Caption = SysColorsChanged_LOC
ThisForm.CheckStatus

См. также

Задачи

Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для объектов ActiveX

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Play an AVI File in an ActiveX Control Sample

Visual FoxPro 9.0, Примеры
Просмотр файла .AVI в Контроле ActiveX, Пример
См. также

Программный Файл: ...\Samples\Solution\OLE\Mmsample.scx

В данном примере показано, как использовать системный Контрол Multimedia для просмотра файлов .AVI, где используется значение свойства hWnd текущего окна.

В данном Контроле, построенном на основе пользовательского ActiveX, используется свойство текущей формы hWin, системный дескритор окна; используется контрол построенный на основе OLE Control Wizard in Microsoft Visual C++ 4.0. В создаваемом модуле hWin.ocx, все значения свойств данного объекта (по-умолчанию) переносятся в компилируемый объект.

В программном коде события Init рассматриваемой формы необходимо вставить следующую строку кода, для привязки Контрола Multimedia к соответствующему файлу .AVI, из рабочей Формы:

CopyCode image Копировать Код
ThisForm.VCR.hWndDisplay = ThisForm.Test.hWnd

См. также

Задачи

Примеры Решений

Описание

ВидеоПроигрыватель, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Решения с использованием ActiveX, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Provide a Hierarchical Display of Items Sample

Visual FoxPro 9.0, Примеры
Обеспечение Иерархического отображения элементов, Пример
См. также

Программный файл: ...\Samples\Solution\OLE\Outline.scx

В представленном примере демонстрируется два различные объекта типа ActiveX, которые используются для вывода иерархической информации. В данном примере отображается структура некоторого Подкаталога (дирректории). Пользовательский Метод с именем FillTree используется рекурсивно для создания и заполнения Дерева соответствующей информацией.

Контрол Treeview обеспечивает отображение соответствующих картинок для кажного элемента рассматриваемой структуры.

Treeview Control (иерархический элемент управления)

Системный Контрол Treeview позволяет наглядно представить структурированную иерархически информацию (например о Каталоге). В отличие от системного контрола Outline, который использует методы и индексы системных элементов, контрол Treeview использует более прогрессивные Коллекции элементов Nodes Collection.

Note Примечание

Для отображения требуемых картинок для кажного элемента рассматриываемой Коллекции данных в форму необходимо добавить системный Объект ImageList.

CopyCode image Копировать Код
* Add items to treeview control
o = THIS.PageFrame1.Page2.oleTreeview
IF cnt = 1
 oNode = o.nodes.add(,1,LOWER(m.path)+"_",LOWER(m.path),,)
 oNode.Image = "world" &&name of image
ELSE
 oNode = o.nodes.add(m.pkey,4,LOWER(m.path)+"_",LOWER(m.path),,)
 oNode.Image = "fldr" &&name of image
ENDIF

См. также

Задачи

Treeview/Listbox, операция Drag-and-Drop, Пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры решений для объектов ActiveX

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Send Mail Sample (Visual FoxPro)

Visual FoxPro 9.0 Образцы
Образец отправки почты (Visual FoxPro)
Смотрите также

Файл: ...\Samples\Solution\OLE\Sendmail.scx

Этот образец иллюстрирует использование класса mailbtn, хранящегося в библиотеке ...\Samples\Classes\Buttons.vcx для создания простой формы отправки сообщений, которая позволяет Visual FoxPro посылать данные по e-mail адресам.

Mailbtn представляет собой контнейнерный класс, содержащий командную кнопку и два элемента ActiveX: MAPI Session и MAPI Messages, который оба определены в Msmapi32.ocx. Элемент MAPI Session устанавливает сессию MAPI, а MAPI Messages позволяет пользователю осуществлять разлчные функции системы рассылки сообщений.

Класс mailbtn запускает новую сессию Mail, собирает данные из текущей записи и выводит диалог Send Mail с данными, вставленными в виде текста сообщения.

В этом классе имеются два пользовательских метода AddTabs и StripPath для форматирования информации, собранной из таблицы и вставленной в сообщений.

Этот класс, кроме того, использует другой пользовательский метод, с именем Signon наряду с пользовательским свойством с именем logsession, которое изначально установлено в значение .F. .

Когда пользователь щелкает по кнопке cmdMail, приведенный ниже код в событии Click вызывает метод signon, для устнановки logsession в true (.T.).:

CopyCode image Скопировать код
this.logsession = .T.
this.OLEMSess.signon

Если зарегистрироваться не удалось, то вызывается событие Error данного класса и logsession сбрасывается в .F.

Элементы управления MAPI невидимы в run time. В дополнение к этому, для них не существуют событий. Для их использования, вы должны указать соответствующие методы. Чтобы эти элементы работали, в системе должны присутствовать сервисы MAPI. Сервисы MAPI предоставлены в Microsoft Outlook и Exchange для Microsoft Windows 95 или более поздней.

Смотрите также

Задачи

Образцы решений

Справочное руководство

Фундаментальный класс кнопок SendMail
Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с ActiveX

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Use Slider and Status Bar Controls Sample

Visual FoxPro 9.0, Примеры
Использование Контролов Slider и StatusBar, Пример
См. также

Программный Файл: ...\Samples\Solution\OLE\Slider.scx

Данный пример демонстрирует использование Контролов Slider и StatusBar.

Slider Controls

Программный код в событии Scroll для каждого контрола Slider изменяет значения свойств других объектов Формы

CopyCode image Копировать Код
#DEFINE TXT_LOC "slider value: "
THISFORM.Olecontrol2.Panels(2).Text = TXT_LOC + ALLTRIM(STR(THIS.value))
THIS.Parent.spn1.Value = THIS.Value
THIS.Parent.oleV.Value = THIS.Value

StatusBar Control

Диалоговый бокс StatusBar Control Properties позволяет просто настроить параметры данного объекта

Для открытия показанного Диалогового бокса настройки StatusBar Control Properties, выберите пункт StatusBar Control Properties из Короткого меню самого контрола StatusBar.

См. также

Задачи

Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Решения с использованием ActiveX, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Use the RichText Control Sample

Visual FoxPro 9.0, Примеры
Использование Контрола RichText, пример
См. также

Программный файл: ...\Samples\Solution\OLE\Rtf.scx

В данном примере иллюстрируется использование внешнего Контрола RichText, с помощью которого можно просматривать или редактировать текстовые Фрагменты в формате RTF, размещаемые в полях типа MEMO некоторой Таблицы.

Вы можете установить напрямую значение свойства ControlSource для контрола RichText в виде некоторого ТекстовогоПоля, но не поля типа memo. Вместо этого, создайте произвольное Свойства для Формы, в которое будет загружаться копия указанного поля типа MEMO, тем самым вы осуществите соединение (интерфейс) контрола RichText с указанным полем memo.

Для загрузки текста в формате RTF в поле типа MEMO

  1. Определите источник данных, свойство ControlSource контрола RichText, как некоторое свойство Формы.

    CopyCode image Копировать Код
    THISFORM.oleRTF.ControlSource = THISFORM.cText

  2. Загрузите содержание поля memo = в созданное пользовательское свойство Формы.

    CopyCode image Копировать Код
    THISFORM.cText = rtf.source

  3. Перед перемещением указателя Записи Таблицы, сохраните значение свойства TextRTF - в соответствующем поле memo.

    CopyCode image Копировать Код
    REPLACE rtf.Source WITH THISFORM.oleRTF.TextRTF

Текст, размещаемый в соответствующем Поле MEMO имеет стандартный формат RTF, например:

{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss Arial;}{\f3\fswiss Arial;}} {\colortbl\red0\green0\blue0;\red255\green0\blue0;} \deflang1033\pard\qc\plain\f3\fs32\i The RichTextBox Control \par \pard\plain\f3\fs20

См. также

Задачи

Примеры Решений

Описание

Фундаментальные Классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Контролов ActiveX

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Automation Solution Samples

Visual FoxPro 9.0 Samples
Примеры Автоматизированных Решений

Данные примеры решений иллюстрируют, как вы можете осуществлять автоматизацию с файлами других приложений.

В этом разделе

Пример Автоматизации Таблицы Microsoft Excel

Описывается как автоматизировать вызов таблицы Excel.

Пример Автоматизации Microsoft Word Документа на Форме

Описывается как автоматизировать встроенный Word объект на форме, вставить текст в формате rich text и форматировать текст.

Пример Автоматизации Microsoft Word и Excel

Описывается как, применяя Visual FoxPro в качестве контроллера автоматизации, выбирать данные из Visual FoxPro базы банных, вставлять данные в Excel worksheet, строить графикии и отображать эти данный в Word.

Пример Управления Характеристиками Отображения Графиков

Описывается как включить MS Graph 5.0, который является сервером автоматизации, в ваши приложения.

Пример Обновления Графика на Форме

Описывается как выбрать данные из Visual FoxPro таблицы и передать их в MS Graph, с целью обновления значений диаграмме.

Сылки

Библиотеки Примеров Классов

Содержит библиотеки примеров классов, предоставляющие модульные функциональности, которые вы можете добавить в ваши приложения.

Фундаментальные Классы Visual FoxPro A-Z

Описывает Visual FoxPro фундаментальные классы, которые вы можете применять для быстрой разработки приложений.

Справочник Языка Программирования Visual FoxPro

Включает справочники основ Visual FoxPro, языка программирования, пользовательского интерфайса и сообщений об ошибках.

Робственный Разделы

Примеры Решений

Содержит примеры, демонстрирующие определенные возможности Visual FoxPro, и могут быть выполнены самостоятельно.

Примеры Фундаментальных Классов

Содержит примеры, иллюстрирующие применение фундаментальных классов Visual FoxPro.

Примеры Сервера (Visual FoxPro)

Содержит примеры, иллюстрирующие Серверы Автоматизации (Automation Servers).

Репетиции

Содержит пошаговые инструкции для общих сценариев.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. LS


Automate a Microsoft Excel Spreadsheet Sample

Visual FoxPro 9.0, Примеры
Автоматизация обработки Таблиц Microsoft Excel, Пример
См. также

Файл: ...\Samples\Solution\OLE\Olexl.scx

Данный пример демонстрирует два способа обработки в системе Visual FoxPro рабочих таблиц Excel.

По кнопке Trend выполняется запрос к перекрестной таблице данных с помощью создания специального объекта Excel.Sheet. Только при помощи системы Excel, Visual FoxPro может вызвать специальную функцию Trend, для выполнения простейшего регрессионного анализа исходных данных.

По кнопке Chart, с помощью специального объекта Excel.Chart создается диаграмма исходных данных. Система Excel поддерживает графическую иллюстрацию обработки данных, как в системе MS Graph, которвя может быть не установлена на рабочей станции. Тем не менее, вы можете выполнять дистрибуцию MS Graph вместе с вашим Приложением.

См. также

Задачи

Автоматизация обработки документов Microsoft Word в формах Visual FoxPro, Пример
Автоматизация обработки файлов Microsoft Word и Excel, Пример

Другие ссылки

Примеры решений для объектов Automation

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Automate a Microsoft Word Document in a Form Sample

Visual FoxPro 9.0, Примеры
Автоматизация обработки документов Microsoft Word в Формах VFP, Пример
См. также

Файл: ...\Samples\Solution\OLE\Oleword.scx

В данном примере показано, как вы можете обрабатывать полученный текстовый документ Word в вашей Форме, вставлять подготовленный текст, форматировать компоненты текстового документа. Типичные функции работы с текстовыми документами обеспечиваются внешним объектом "Word.Basic", который создается припомощи функции CREATEOBJECT( ) .

CopyCode image Копировать Код
oForm = THISFORM
oForm.AddObject('oWordDoc','OleControl','WordDocument')
oForm.oWordDoc.Visible =  .t.
oForm.oWordDoc.DoVerb(0)

См. также

Задачи

Автоматизация обработки таблиц Microsoft Excel, Пример
Автоматизация обработки объектов Microsoft Word и Excel, Пример

Другие ссылки

Примеры Решений для объектов Automation

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Automate Microsoft Word and Excel Sample

Visual FoxPro 9.0, Примеры
Автоматизация Microsoft Word / Excel, Пример
См. также

Программный файл: ...\Samples\Solution\OLE\Oleaut1.scx

На данном простейшем примере показано, как система Visual FoxPro выступает Контролером процесса Автоматизации (Automation controller). Здесь демонстрируется выборка требуемых данных из Таблиц Базы Данных Visual FoxPro, размещение выбранных данных в электронной таблице Microsoft Excel, построение Графиков в виде Диаграмм, отображение графиков в системе MS Word. Для использования рассмотренного примера рекомендуется использовать версии, не младше Excel 5.0, Word 6.0, и Базу Данных Testdata.dbc, которая размещено по адресу: ...\Samples\Data.

В следующей строке программного Кода создается объектная ссылка на Электронную Таблицу Microsoft Excel.

CopyCode image Копировать Код
objXLsheet=createobject("Excel.Sheet")

В следующей строке Кода: добавляется Диаграммы в созданную Таблицу.

CopyCode image Копировать Код
objChart1 = objXLsheet.ChartObjects.Add(100, 100, 200, 200)

Далее: создается объектная ссылка на Приложение Microsoft Word.

CopyCode image Копировать Код
objWDdoc=createobject("word.basic")

oWordRef = GetObject('','word.basic')

См. также

Задачи

Автоматизация для Документа Microsoft Word в Форме VFP, пример
Автоматизация для Электронной таблицы Microsoft Excel, пример

Другие ссылки

Решения по Автоматизации (Automation), примеры

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Manipulate Display Characteristics of a Graph Sample

Visual FoxPro 9.0, Примеры
Отображение нескольких характеристик в Графиках, Пример
См. также

Программный файл: ...\Samples\Solution\OLE\Olegraph.scx

В предлагаемом примере показано как использовать системный Объект MS Graph в ваших Приложениях. Подсистема MS Graph 5.0 является стандартным средством автоматизации (Automation Server), система Visual FoxPro может создать соответствующий объект с помощью функции: CREATEOBJECT( ). С помощью стандартных средств Visual FoxPro, Графические объекты могут рассматриваться как обычные "внедряемые" OLE-объекты. Можно использовать объекты типа OleBoundControl (привязанные к соответствующим полям таблиц типа General), или программным способом ("на-лету") вставлять , строить необходимые графические объекты.

Сервер автоматизации MS Graph's обеспечивает доступ только к графическим объектам, таблицами данных он не управляет. Требуемые данные могут быть добавлены в соответствующие графики с помощью команды APPEND GENERAL для соответствующего поля типа General. В представленном ниже программном коде используется свойство HasLegend, как пример настройки характеристик рассматриваемого объекта OLE automation:

CopyCode image Копировать Код
cGData = ""+TAB+"Cats"+TAB+"Dogs"+CRLF+;
 "1994"+TAB+"11"+TAB+"22"+CRLF+;
 "1995"+TAB+"33"+TAB+"44"+CRLF+;
 "1996"+TAB+"55"+TAB+"55"+CRLF
APPEND GENERAL gen1 CLASS "msgraph.chart" DATA m.cGData
THIS.OleBoundControl1.ControlSource = "Gen1"
THIS.OleBoundControl1.HasLegend = .F.

С помощью команды APPEND GENERAL создается новая графическая диаграмма, графический объект. Если вы не укажете следующую секцию CLASS "msgraph.chart" , данная диаграмма не будет изменяться. Секция CLASS создает новый экземпляр графической диаграммы, с новыми параметрами форматирования.

См. также

Задачи

Обновление графического объекта в Форме, пример

Описание

Фундаментальные классы для графических Объектов

Другие ссылки

Примеры Решений для объектов Automation

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Refresh a Graph in a Form Sample

Visual FoxPro 9.0 Samples
Обновление Графика на Форме, пример
См. также

Программный файл: ...\Samples\Solution\OLE\Stock.scx

В данном примере демонстрируется выборка требуемых Данных из Таблицы и использование системы MS Graph для обновления построенной графической Диаграммы. Основной программный Код размещен в соответствующем событии InteractiveChange Контрола cboMonth (ComboBox).

Загрузка данных в Курсор:

CopyCode image Копировать Код
SELECT date, close;
 FROM Stock1 WHERE MONTH(date) = THIS.Value ;
 ORDER BY date INTO CURSOR wtemp

Создание символьной строки, содержащей выбранные данные:

CopyCode image Копировать Код
SELECT wtemp

lcData = " " + TAB + "Closing Price" + CRLF

SCAN
 lcData = lcData + DTOC(date)
 lcData = lcData + TAB
 lcData = lcData + ALLTRIM(STR(close)) + CRLF
ENDSCAN

Передача подготовленной Строки параметров во внешний Сервер MS Graph:

CopyCode image Копировать Код
SELECT Graph
APPEND GENERAL msgraph DATA lcData

См. также

Задачи

Операции изменения параметров отображения Графиков, пример

Описание

Графический Объект, фундаментальный Класс

Другие ссылки

Примеры Решений для Серверов Автоматизации COM (Automation)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Controls Solution Samples

Visual FoxPro 9.0, Примеры
Примеры Решений для Контролов (Элементов Управления)

Представленный список примеров Рещений упорядочен по типам Контролов (Элементов Управления), которые обеспечивают решения самых разнообразных задач построения GUI (Графического Пользовательского Интерфейса).

В данном Параграфе:

Интерактивно добавить Элемент в список типа List Box, пример

Показывается, как добавить или исключить Элемент в/из списка ListBox.

Добавление Элемента в контрол ComboBox , пример

Показывается, как добавить введенный в текстовый бокс Элемент в общий список контрола Combo Box.

Выбор Значения из представленного Списка типа List, пример

Показывается, как обеспечить установку значений Элементов из полей Таблицы в Контролах типа list box и combo box.

Как пользователь может перетаскивать (Drag-and-Drop) элементы Контролов, пример

Иллюстрируется механизм перетаскивания Элементов в Списках Контролов.

Изменение активной Страницы при нажитии на командную кнопку, пример

Показано, как отображаются разнообразные комбинации Командных кнопок в диалоговом Боксе типа MessageBox с помощью Контрола OptionB Buttons.

Изменение количества Закладок во время выполнения (Run Time), пример

Показано, как использовать Контрол PageFrame с Закладками.

Использование Секундамера (Stop Watch), пример

Показано, как можно использовать Секундомер, построенный на классе Таймер (Class Timer).

Использование Системных Часов (System Clock), пример

Иллюстрируется использование Системного Времени.

Отображение вычисляемых выражений в Столбце Контрола Grid, пример

Иллюстрируется отображение вычисляемых значений (не Полей Таблицы) в столбце Сетки.

Отображение связанных данных из Дочерней Таблицы, пример

Показывается, как координировать, согласовать отображение данных в построенном Отношении "Один-ко-Многим".

Отображение различных Контролов в столбцах Таблицы, Сетки, Grid, пример

Иллюстрируются варианты отображения контролов в столбцах Элемента управления Grid.

Отображение разнообразных Страниц данных при использовании Закладок, пример

Показывается, как можно работать со Страницами данных используя Закладки для Контрола PageFrame.

Отображение нескольких столбцов элементов в списках типа List Box, пример

Иллюстрируется построение многоколоночных Списков.

Отображение графических картинок в элементах Списка, пример

Показывается, как отобразить для каждого Элемента Списка отдельную картинку.

Динамическое Форматирование Столбцов контрола Grid, пример

Показывается, как динамически изменять цвет фона или цвет символов элементов в Столбцах Grid.

Редактирование полей типа Memo или текстовых файлов, пример

Демонстрируется, как просматривать или Редактировать текст в полях типа Memo или текстовых файлах при использовании контрола EditBox.

Выполнение пользовательских команд через заданный интервал времени, пример

Иллюстрируется, как установить и контролировать временной интервал отображения текстового бокса или контрола типа Spinner.

Заполнение списков значениями из различных источников данных, пример

Показывается, как использовать значения Свойства RowSourceType для заполнения Списков данными из разнообразных Источников.

Форматирование ввода и проверка данных в контроле Text Box, пример

Показываются приемы, как можно просто форматировать вводимые Данные, а также котролировать их ввод.

Подсветка активной строки Grid, изменение размеров Столбца, отображение Картинок в Заголовке, пример

Демонстрируются разнообразные варианты подсветок активной строки Grid, автоматическая подстройка ширины столбца, размещение специальных картинок в заголовках столбцов (например, для показывания режимов Сортировки).

Специальные графические эффекты для Контролов, типа Hot Tracking / Hover Effects, пример

Показываются специфические графические эффекты для стандартных Контролов, размещенных на Форме.

Программная обработка Текстовых элементов, пример

Демонстрируются варианты использования Свойств контрола EditBox для различных действий над Текстом.

Перемежение Элементов между двумя Списками ListBox, пример

Рассматриваются повсеместно используемые комбинированные Контролы Выборки элементов из Списков, перемещения элемента из одного списка в другой.

Выбор нескольких Элементов из Списка ListBox, пример

Иллюстрируются механизмы выбора нескольких элементов из одного Списка.

Многовариантный выбор для пользователя, пример

Показывается, как обеспечить многовариантный выбор с помощью контрола Option Button Group.

Интерактивное открытие нескольких Файлов, пример

Иллюстрируются варианты отображения нескольких файлов в Списке.

Изменение размеров и координат Контролов в режиме выполнения (Run Time), пример

Показывается, как при произвольном изменении размеров пользовательской Формы, корректно или пропорционально изменить размеры контролов данной Формы, их относительные Координаты размещения на Форме.

Настройка внешнего вида Переключателей Check Box, пример

Показано, как с помощью соответствующих Свойств настроить внешний вид Переключателей типа Check Box.

Настройка внешнего вида Командных Кнопок, пример

Показано, как с помощью существующих Свойств настроить внешний вид Командных Кнопок.

Сортировка элементов в Контроле List Box, пример

Показано, как пользователь может перестраивать или сортировать элементы в Списках (list box).

Treeview/Listbox, использование перетаскивания (Drag-And-Drop), пример

Показано, как при помощи методов перетаскивания (drag-and-drop) управлять элементами внешних Компонент TreeView / ListBox.

Описания

Простейшие Библиотеки Классов

Содержатся примеры и образцы классов библиотек, скрытая функциональность которых может быть использована в ваших приложениях (Provide Encapsulated Functionality). Обеспечение принципов инкапсуляции функциональности элементов при ООП - объектно-ориентированном программировании.

Фундаментальные классы Visual FoxPro, A-Z

Рассматриваются ключевые вопросы построения Фундаментальных классов Visual FoxPro, которые рекомендуется использовать для быстрой разработки ваших Приложений.

Описание Языка (Visual FoxPro)

Представленыы основные ссылки на разделы данной Справки по компонентам Visual FoxPro, Элементы Языка программирования, Основы Пользовательского интерфейса, Сообщения об Ошибках.

Связанные Секции

Примеры Решений

Содержит демонстрацию разнообразных возможностей инструментария системы Visual FoxPro, многие примеры могут быть использованы независимо от представленных разделов.

Примеры использования Фундаментальных классов

Содержатся примеры, демонстрирующие использование Фундаментальных Классов Visual FoxPro.

Примеры Серверов COM (Visual FoxPro)

Содержатся примеры, иллюстрирующие использование Серверов Автоматизации (Automation Servers).

Упражнения

Содержатся по-шаговые инструкции и упражнения для освоения Общих Сценариев работы с системой Visual FoxPro.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Add Items Interactively to a List Box Sample

Visual FoxPro 9.0 Samples
Пример Интерактивного Добавления Пункта в List Box
См. также

File: ...\Samples\Solution\Controls\Lists\Ladd.scx

Этот пример демонстрирует добавление и удаление пунктов list box. Если пользователь ввел текст в text box и нажал ENTER, то текст из text box добавляется в list box и курсор вернется в text box, чтобы пользователь мог ввести другое значение.

Для того, чтобы пользователь смог добавить пункт в list box, воспользуйтесь методом AddItem. В примере, код помещенный в событие KeyPress text box, добавляет текст из text box в list box и очищает text box после нажатия пользователем ENTER:

CopyCode image Копировать код
PARAMETERS nKeyCode, nShiftCtrlAlt
IF nKeyCode = 13     && Enter Key
   THISFORM.lstAdd.AddItem (This.Value)
   THIS.Value = ""
ENDIF

Следующий код, помещенный в событие DblClick list box, посылает значение пункта list box, на который пользователь дважды кликнул, в text box и удаляет этот пункт из list box:

CopyCode image Копировать код
THISFORM.txtAddText.Value = This.List(This.ListIndex)
THIS.RemoveItem (This.ListIndex)

См. также

Задачи

Пример Отображения Нескольких Колонок в List Box
Пример Отображения Картинок в List Sample
Пример Заполнения Списка Значениями из Различных Источников
Пример Перемещения Пунктов Между List Boxe'ами
Пример Выбора Нескольких Пунктов в List Box
Пример Интерактивного Открытия Нескольких Файлов
Пример Сортировки Пунктов в List Box
Пример Применения Технологии "Drag and Drop" в Treeview и Listbox

Другие ресурсы

Примеры Решений для Элементов Управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Add New Items to a Combo Box Sample

Visual FoxPro 9.0 Samples
Добавление Нового Элемента в Контрол ComboBox, пример
См. также

Программный Файл: ...\Samples\Solution\Controls\Combobox\Lookup.scx

Данный пример демонстрирует добавление введенного пользователем текста в Список контрола combo-box и обеспечивает возможность поиска необходимого Элемента в указанном списке.

Добавление Пользовательского Фрагмента Текста в Список Combo Box

Контрол типа Combo Box позволяет вводить требуемое Значение или выбирать уже заданные Значения из раскрывающегося Списка (Drop-Down-List). Вы можете также определить новое Значение в Списке Контрола на основании введенного текстового Значения, поэтому Пользователю не нужно будет вводить одно и тоже значение несколько раз (при переодическом выполнении ОписываемыхОпераций).

В зависимости от варианта определения ключевого Свойства RowSourceType рассматриваемого контрола Combo Box существует несколько различных способов дополнения нового Элемента в Список рассматриваемого Контрола. В текущем примере: RowSourceType = 1 - (по-значению). Если пользователем введено в Текстовый элемент Контрола новое Значение, то в представленном далее фрагменте программного кода выполняется добавление нового элемента в Список контрола (в значение свойства RowSource добавляется запятая и новая текстовая строка):

CopyCode image Копировать Код
cCountryName = ALLTRIM(Custs.Country)
IF ATC(m.cCountryName,THIS.RowSource)=0 AND !EMPTY(m.cCountryName)
 THIS.RowSource=THIS.RowSource+","+m.cCountryName
ENDIF

Контрол типа Combo Box в Примере программной обработки Текста использует установку значения свойства RowSourceType = 0 - (нет источника). В представленном далее фрагменте программного кода, ассоциированного с событием Valid для объекта cboSearchString (смотрите пример формы: ...\Samples\Solution\Controls\TXT_EDT\Text.scx) выполняется добавление нового элемента в Список контрола на основании введенного Значения в текстовый элемент Контрола:

CopyCode image Копировать Код
IF !EMPTY(THIS.Text)
 FOR i = 1 TO THIS.ListCount
 IF THIS.List(i) = THIS.Text
 RETURN
 ENDIF
 ENDFOR
 THIS.AddItem(THIS.Text)
ENDIF

Если определяющее свойство RowSource рассматриваемого контрола Combo Box указывает на Массив, вам необходимо обеспечить добавления введенного Текста как элемент Массива, и выполнить метод Requery - для обновления состава раскрывающегося Списка.

Если рассматриваемое свойство RowSource указывает на Таблицу или Курсор, вам требуется обеспечить либо добавление новой записи, ли выполнение команды REPLACE - для пустой записи, и также выполнить обновление Списка Контрола (выполнение Метода Requery).

Обеспечение Поиска Требуемых Данных

Дополнительно к иллюстрации Добавления элемента в список контрола Combo Box, в данном примере демонстрируется один из возможных путей фильтрации выбираемых групп Записей соответственно уточняемому значению Фильтра. Пользователь может выполнить следующее:

  • Ввести некоторое Значение в текстовый элемент контрола ComboBox.

  • Выбрать одно из значений в раскрывающемся Списке.

  • Ввести начальную часть поискового Значения для выполнения динамического Поиска.

Ввод Значения в Текстовый Элемент контрола Combo Box

Представленный далее программный код ассоциирован с Событием LostFocus контрола cboCombo. После завершения ввода Пользователем требуемого значения, в событии LostFocus выполняется заполнение курсора данных в соответствие с выполненным выбором и определяется значение свойства RecordSource для Объекта типа Grid (grdCust), где выбранные данные отображаются.

CopyCode image Копировать Код
cDisplayValue = ALLTRIM(THIS.DisplayValue)

IF THIS.Value = "(All)"
 SELECT country AS location,* FROM CUSTOMER;
 INTO CURSOR Custs
 thisform.grdcust.recordsource = "Custs"
ELSE
 SELECT country AS location,* FROM CUSTOMER ;
 WHERE UPPER(ALLTRIM(Customer.Country)) = UPPER(m.cDisplayValue);
 INTO CURSOR Custs
 THISFORM.grdCust.RecordSource = "Custs"
ENDIF

Выбор требуемого Значения из раскрывающегося Списка (Drop-Down-List)

В основном, программный Код для Поиска Значения связывается со стандартным Событием InteractiveChange рассматриваемого контрола cboDrop – Если выбирается значение "(All)" - Все, тогда все записи из представленного Курсора выбираются в Результирующий набор Данных, иначе, выбираются только Записи данных, соответствующие пользовательскому Выбору.

Определение частичных Значений для Поиска по-возрастанию (Incremental Search)

Далее представлен фрагмент программного кода для События InteractiveChange контрола cboIntSearch, обеспечивающего динамический Поиск требуемого Значения при вводе каждого символа в Текстовый элемент контрола ComboBox.

CopyCode image Копировать Код
#DEFINE DELKEY 127
LPARAMETERS nKeyCode, nShiftAltCtrl
LOCAL cDisplayValue
IF nKeyCode = DELKEY
 cDisplayValue = ALLTRIM(THIS.DisplayValue)
 IF LEN(m.cDisplayValue)=1
 cDisplayValue = ""
 ELSE
 cDisplayValue = LEFT(cDisplayValue,LEN(cDisplayValue)-1)
 ENDIF
ELSE
 cDisplayValue = ALLTRIM(THIS.DisplayValue)+CHR(nKeyCode)
ENDIF
THISFORM.LockScreen = .T.
DO CASE
CASE EMPTY(m.cDisplayValue)
 THISFORM.grdCust.RecordSource = " "
CASE THIS.Value = "(All)"
 SELECT country AS location,* FROM CUSTOMER;
 INTO CURSOR Custs
 THISFORM.grdCust.RecordSource = "Custs"
OTHERWISE
 SELECT country AS location,* FROM CUSTOMER ;
 WHERE UPPER(ALLTRIM(Customer.Country)) = UPPER(m.cDisplayValue);
 INTO CURSOR Custs
 THISFORM.grdCust.RecordSource = "Custs"
ENDCASE
THISFORM.ResetCombos(THIS)
THISFORM.LockScreen = .F.

См. также

Задачи

Добавление Поиска Данных в контроле ComboBox, пример
Доступность для Пользователя выбирать Значение из Списка, пример

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Allow Users to Choose List Values Sample

Visual FoxPro 9.0, Примеры
Пользовательское Определение значений элементов Списка, пример
См. также

Программный Файл: ...\Samples\Solution\Forms\Datalook.scx

Рассматриваемый пример демонстрирует, как пользователь может определять источники данных для Списков типа ListBox или ComboBox, задавать значения элементов "на-прямую", из Таблицы или из Запроса к Таблицам. Значения пользовательского выбора сохраняются в текущей Таблице.

Списки - это наиболее используемый Контрол, с помощью которого обеспечивается надежный Ввод данных. Для активации требуемой функциональности рассматриваемых Списков необходимо определить несколько их Свойств - и Контрол готов к работе. Например, для используемого в данном примере списка с именем cboEmp_id, который создан на Закладке Using Combo Box (Использование Списка), требуется определить всего лишь следующие Свйства :

Свойство | Установка (Значение)
BoundColumn | 2
ColumnCount | 2
ControlSource | orders.emp_id
RowSource | SELECT DISTINCT ALLTRIM( employee.first_name) + " " + ALLTRIM( employee.last_name) , EMP_ID FROM employee INTO CURSOR cEmpCombo ORDER BY first_name
RowSourceType | 3 – SQL Statement (Запрос SQL)

В целях обеспечения однозначного выбора Служащего (его идентификатора, табельного номера) в список включается Комбинация Фамилии и Имени Служащего (1-ый столбец), и Идентификатор (ID) - (2-ой столбец); детально смотрите конструкцию оператора SELECT SQL.

Поскольку оператор SELECT создает временный Курсор, то его требуется Закрыть при завершении работы, в коде События Destroy:

( Вариант от Переводчика: USE IN SELECT("cEmpCombo") )

CopyCode image Копировать Код
IF USED("cEmpCombo") THEN
 USE IN cEmpCombo
ENDIF

См. также

Задачи

Добавление новых Элементов в список типа Combo Box, пример

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Allow Users to Drag and Drop Controls Sample

Visual FoxPro 9.0 Samples
Пример использования Drag and Drop для элементов управления
Смотреть также

Файл: ...\Samples\Solution\Forms\Ddrop.scx

Этот пример показывает, как реализовать операции drag and drop. Одна страница на форме показывает ручное перетаскивание элементов управления вызовом метода Drag. Явный вызов метода Drag позволяет обрабатывать код события Click элемента управления. Другая страница показывает применение значения Automatic свойства DragMode, что позволяет начинать Drag and Drop операцию автоматически, когда пользователь нажмет кнопку мыши на элементе управления.

Перемещение элемента Command Button

В событии MouseMove элемента cmdDrop, если нажата левая кнопка мыши, находим растаяние от указателя мыши к верхнему и левому краю кнопки, и начинаем операцию перетаскивания.

CopyCode image Копировать код
LPARAMETERS nButton, nShift, nXCoord, nYCoord
IF nButton = 1 && Left button
   THISFORM.XOffset = nXCoord – THIS.Left
   THISFORM.YOffset = nYCoord - THIS.Top
   THIS.Drag
ENDIF

В событии DragDrop страницы, на которой находится кнопка, меняем положение этой кнопки.

CopyCode image Копировать код
oSource.Left = nXCoord - THISFORM.XOffset
oSource.Top = nYCoord - THISFORM.Yoffset

Изменение цвета элемента Shape

Значение свойства DragMode цветного квадрата на странице Change Colors формы установлено в 1 – Automatic. Как только пользователь нажмет кнопку мыши на квадрате, начнется операция перемещения. Любой код в событии Click квадрата никогда не будет выполнен.

Код в событии DragDrop круга изменяет значение его свойства BackColor в такое же, как и в перемещаемого элемента.

CopyCode image Копировать код
LPARAMETERS oSource, nXCoord, nYCoord
THIS.BackColor = oSource.BackColor

Смотрите также

Задачи

Пример Drag and Drop для Treeview/Listbox
Пример эффектов Hot Tracking и Hover
Пример выбора значения из списка
Пример использования форматов данных для OLE Drag-and-Drop

Прочие ресурсы

Примеры решений для элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Translated by Boyko Vasyl


Change Pages When a User Chooses a Button Sample

Visual FoxPro 9.0, Примеры
Изменение параметров Страницы при нажатии на соответствующую кнопку, Пример
См. также

Программный файл: ...\Samples\Solution\Controls\PgFrame\Msgbox.scx

Данный пример демонстрирует диалоговое изменение параметров соответствующего Бокса Сообщений (Message Box).

В данном примере представлено Шесть командных кнопок, которые управляют различными вариантами настройки MessageBox. Каждый из предлагаемых вариантов может быть рассмотрен (для Отладки ) на независимой Странице Формы; представляет из себя Построитель Бокса Сообщений Messagebox Builder Form.

Управляющие кнопки пронумерованы от 0, до 5, что позваляет вам выбрать Итоговый набор управляющих Кнопок Готового Бокса Сообщения. Выбранный вариант набора Кнопок определяет характеристику Итогового Диалогового Бокса. Значение свойства ActivePage устанавливается с использованием соответствующего значения Value от Контрола OptionGroup.

Конструирование Программного Кода для итоговой функции MESSAGEBOX:

В программном коде События InteractiveChange рассматриваемого Контрола формы, с помощью стандартного Метода WriteCode выполняется динамическое построение требуемого программного Кода для итоговой функции MESSAGEBOX .

CopyCode image Копировать Код
* WriteCode Method
#DEFINE QM '"'

cString = '=MESSAGEBOX('
cString = cString + QM + ALLTRIM(STRTRAN(THIS.edtMessage.Value, CHR(13)+CHR(10), QM + '+CHR(13)+' + QM)) + QM + ','
cString = cString + THIS.cboIcon.Value + '+'
cString = cString + THIS.DefaultButton + '+'
cString = cString + ALLTRIM(STR(THIS.opgButtons.Value - 1)) + ','
cString = cString + QM + ALLTRIM(THIS.txtCaption.Value) + QM + ')'

THIS.edtCode.Value = cString

См. также

Задачи

Представление Пользователю Множественного Выбора, Пример
Отображение Нестандартных Страниц без Закладок (Tabs), Пример

Описание

Контроллер Messagebox, фундаментальный класс VFP

Другие ссылки

Решения для Контролов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Change the Number of Tabs at Run Time Sample

Visual FoxPro 9.0, Примеры
Изменение количества Закладок (Tabs) при выполнении программы, пример
См. также

Программный Файл: ...\Samples\Solution\Controls\Pgframe\Pfsam1.scx

В данном примере иллюстрируется использование Контейнера Page Frame с Закладками (Tabs). Количество Закладок может изменяться динамически, когда пользователь выбирает новое значение для управляющего элемента Spinner. При активации новой Закладки, в соответствующем Списке отображается значение выбранной Закладки.

Для изменения количества Закладок в Контроле PageFrame, при выполнении программы:

  • Установите новое значение для свойства PageCount, отвечающее за количество Страниц (листов).

Список типа List Box, из данного примера, размещается на тестовой Форме, но не принадлежит ни одной из Страниц Контейнера. Данное размещение списка позволяет контролировать все страницы контейнера, вне зависимости от их активности.

В примере используются два пользовательских Метода, один определяет Заголовок Закладки, а другой отслеживает значения в указанном Списке Страниц, их наименования: UpdateList и SetCaption.

Метод UpdateList:

Данный метод выполняется в том случае, когда изменяется количество Закладок (Страниц) и когда пользователь выбирает новую (созданную) закладку.

CopyCode image Копировать Код
LOCAL lnPage, lcHigh, lcLow
#define NO_MATCH_LOC 'No Matching Names for '
DIMENSION THISFORM.aCustomers[1,2]
lnPage = THISFORM.pgfRolodex.activepage
THISFORM.aCustomers[1,1] = NO_MATCH_LOC + ;
 THISFORM.pgfRolodex.Pages(lnPage).Caption
THISFORM.aCustomers[1,2] = ""

lcHigh = substr(THISFORM.pgfrolodex.Pages(lnPage).caption,3,1)
lcLow = substr(THISFORM.pgfrolodex.Pages(lnPage).caption,1,1)
SELECT company, phone FROM customer;
 WHERE company <= lcHigh and company => lcLow;
 ORDER BY company;
 INTO ARRAY THISFORM.aCustomers

THISFORM.lstCustomers.Requery
THISFORM.lstCustomers.Value = 1

Метод SetCaption:

Данный метод выполняется в том случае, когда активируются соответствующие События контрола Spinner UpClick / DownClick и определяет, какие Заголовки Закладок должны появляться на тестовой Форме.

CopyCode image Копировать Код
THISFORM.LockScreen = .T.
FOR n = 1 to THISFORM.pgfRolodex.PageCount
 FirstLetter = SUBSTR(THISFORM.Alphabet,((n - 1)*ROUND(LEN(THISFORM.Alphabet)/THISFORM.pgfRolodex.PageCount,0))+1,1)
 IF n = THISFORM.pgfRolodex.PageCount &&last page
 LastLetter = right(THISFORM.Alphabet,1)
 ELSE
 LastLetter = SUBSTR(THISFORM.Alphabet,((n)*ROUND(LEN(THISFORM.Alphabet)/THISFORM.pgfRolodex.PageCount,0)),1)
 ENDIF
 THISFORM.pgfRolodex.Pages(n).Caption = FirstLetter + "-" + LastLetter
ENDFOR
THISFORM.LockScreen = .F.

Пользовательское Свойство Alphabet определяет набор Заголовков для Закладок контрола PageFrame. Для изменения набора символов (алфавита), например в условиях Локализации рассматриваемого примера, определите значение свойства Alphabet в требуемом Языке Локализации, например, для Русской версии: "АБВГДЕЖЗИЙКЛМН...".

См. также

Задачи

Отображение нестандартных Закладок (без ярлыков), пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Display a Stop Watch Sample

Visual FoxPro 9.0 Samples
Отображение и Использование Секундомера (Stop Watch), Пример
См. также

Программный Файл: ...\Samples\Solution\Controls\Timer\Swatch.scx

Данный Пример построен на использовании Класса Секундомера (Stopwatch Class).

Класс Секундомера.

Рассматриваемый Класс Секундомера построен на основе базового класса Таймера (Timer) и нескольких объектов типа Label. Объект Таймера увеличивает числовое значение пользовательского Свойства Класса и устанавливает соответствующее значение свойства Caption (для отображения соответствующих значений секундомера).

В методе Start данного класса устанавливается значение свойства Enabled используемого таймера, = true (.T.). В методе6 Stop устанавливается значение указанного свойства Enabled, = false (.F.). А завершающий метод Reset устанавливает значение Таймера = 0, (останавливает таймер, секундомер).

Характеристики Свойств Класса Секундомера:
Контрол (компонента класса) | Свойство | Значение
lblSeconds | Caption | 00
lblColon1 | Caption | :
lblMinutes | Caption | 00
lblColon2 | Caption | :
lblHours | Caption | 00
tmrSWatch | Interval | 1000

Форма Секундомера

Демонстрационная Форма Секундомера содержит Объект, порожденный рассматриваемым классом Секундомера (Stopwatch class), на форме также имеются кнопки Управления секундомером. Основной программный Код содержится в Коде событий Click, в первой кнопке вызываются соответствующие методы Start и Stop класса секундомера. Во второй кнопке выполняется метод Reset - очистка объектов отображения.

Защищенные Свойства и Методы

Рассматриваемый Пример иллюстрирует также использование Защищенных свойств и методов создаваемых Классов. Класс Секундомера содержит три (3) защищенных свойства: nSec, nMin, nHour; и один защищенный метод: UpdateDisplay.

Note Совет

Для отображения характеристик указанных Свойств и Методов выберите подпункт Class Info из системного подменю Class.

Защищенные свойства используются для внутренних вычислений в защищенном методе UpdateDisplay ключевого события Timer рассматриваемого Класса. Указанный метод UpdateDisplay устанавливает отображаемое свойство Сaption, которое содержит текущее время Секундомера.

UpdateDisplay, метод
Программный Код Комментарии
CopyCode image Копировать Код
cSecDisplay = ALLTRIM(STR(THIS.nSec))
cMinDisplay = ALLTRIM(STR(THIS.nMin))
cHourDisplay = ALLTRIM(STR(THIS.nHour))

Выполняется Конвертация числовых значений Секундомера в соответствующие символьные значения объектов отображения.
CopyCode image Копировать Код
THIS.lblSeconds.Caption = ;
 IIF(THIS.nSec < 10, ;
 "0" ,"") + cSecDisplay
THIS.lblMinutes.Caption = ;
 IIF(THIS.nMin < 10, ;
 "0", "") + cMinDisplay
THIS.lblHours.Caption = ;
 IIF(THIS.nHour < 10, ;
 "0", "") + cHourDisplay

Выполняется добавление лидирующих Нулей если текущее значение рассматриваемого показателя меньше чем 10 (<10).

В следующем списке приводятся фрагменты программного Кода ключевого События: tmrSWatch.Timer:

Событие Timer
Программный Код Комментарии
CopyCode image Копировать Код
THIS.Parent.nSec = THIS.Parent.nSec + 1
IF THIS.Parent.nSec = 60
 THIS.Parent.nSec = 0
 THIS.Parent.nMin = ;
 THIS.Parent.nMin + 1
ENDIF

Увеличивает значение свойства nSec каждый раз, при активации События Timer: в каждую Секунду. Если значение свойства nSec = 60, то значение очищается, = 0, а значение другого свойства: nMin - увеличивается на 1 (+1).
CopyCode image Копировать Код
IF THIS.Parent.nMin = 60
 THIS.Parent.nMin = 0
 THIS.Parent.nHour = ;
 THIS.Parent.nHour + 1
ENDIF
THIS.Parent.UpdateDisplay

Если значение свойства nMin = 60, то по=аналогии, значение очищается, = 0, а значение следующего свойства: nHour увеличивается на 1 (+1).

Вызывается метод UpdateDisplay, который отображает текущее значение рассмотренных свойств.

Класс Секундомера имеет три незащищенных метода: Start, Stop, Reset. Пользователь может использовать указанные методы, чтобы напрямую управлять данным Секундомером.

Метод Start содержит следующий фрагмент программного Кода:

CopyCode image Копировать Код
THIS.tmrSWatch.Enabled = .T.

Метод Stop содержит следующий фрагмент программного Кода:

CopyCode image Копировать Код
THIS.tmrSWatch.Enabled = .F.

Метод Reset устанавливает нулевые значения защищенных Свойств и вызывает защищенный метод:

CopyCode image Копировать Код
THIS.nSec = 0
THIS.nMin = 0
THIS.nHour = 0
THIS.UpdateDisplay

Пользователь не может непосредственно изменить значения указанных Свойств и вызвать указанный Метод (UpdateDisplay). Однако он может выполнить требуемые вычисления и установки в программном Коде метода Reset.

См. также

Задачи

Примеры Решений

Описание

Stop Watch (Секундомер), фундаментальный класс
Фундаментальные классы Visual FoxPro, по-алфавиту, A-Z

Другие ссылки

Примеры Решений для Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Display a System Clock Sample

Visual FoxPro 9.0 Примеры
Пример Отображения Системного времени
См. Также

File: ...\Samples\Solution\Controls\Timer\Clock.scx

Этот пример содержит настраиваемый контрол отображения времени в Samples.vcx на форме. Класс включает текстовое поле для отображения даты и времени и таймер для обновления значений.

Свойство TimeFormat класса clock может быть установлено в 0 для 24-часового формата времени или 1 для 12-часового формата. Код в событии Timer таймера обновляет показания времени.

Скопировать код
#DEFINE LONGDATE_LOC CDOW(DATE())+" "+CMONTH(DATE())+" "+ ;
         ALLTRIM(STR(DAY(DATE())))+", "+ALLTRIM(STR(YEAR(DATE())))
IF This.Parent.TimeFormat = 0
   This.Parent.txtTime.Value = IIF(VAL(SUBSTR(TIME(),1,2))>12, ;
      ALLTRIM(STR((VAL(SUBSTR(TIME(),1,2))-12)))+SUBSTR(TIME(),3,6),TIME())
ELSE
   This.Parent.txtTime.Value = TIME()
ENDIF
THIS.Parent.txtDate.Value = LONGDATE_LOC

Этот класс содержит отдельное текстовое поле для значений даты и времени. Если Вы хотите скрыться один или другой, Вы можете легко установить его Видимое свойство в ложь (.F).. Более простой способ отображать время и дату состоит в том, чтобы использовать одно текстовое поле и устанавливать его значение элементом управления Timer в DATETIME( ). Это позволит Вам с пользой применить свойства Hours, Seconds и DateFormat текстового поля.

См. Также

Другие Ресурсы

Фундаментальный класс Clock
Примеры Решений применения Элементов Управления
Примеры Решения
Фундаментальные классы Visual FoxProа A-Z

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Display Calculated Values in a Column Sample

Visual FoxPro 9.0, Примеры
Отображение Вычисляемых значений в столбцах объекта Grid, пример
См. также

Программный файл: ...\Samples\Solution\Controls\Grid\Calc.scx

В данном примере демонстрируется отображение вычисляемых значений в столбцых объекта Grid.

Для свойства ControlSource выбранного столбца установите вычисляемое выражение (какое требуется). Например, следующее выражение определяется для столбца с именем Profit, где задается разница между Ценой и Стоимостью.

CopyCode image Копировать Код
Products.Unit_Price - Products.Unit_Cost

Когда изменяется значение одного или обоих источников (цена/стоимость), автоматически изменяется значение результата в рассматриваемом столбце.

Note Примечание

Столбцы, для которых задано вычисляемое выражение, являются неизменяемыми ("read-only").

См. также

Задачи

Отображение дочерних записей данных из определенного Соотношения Таблиц, пример
Размещение Контролов в столбцах объекта Grid, пример
Динамическое форматирование столбцов объекта Grid, пример

Другие ссылки

Решения для Контролов, поримеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Display Child Records from a Relationship Sample

Visual FoxPro 9.0, Примеры
Отображение Дочерних Записей из связанной Таблицы, примерe
См. также

Программный файл: ...\Samples\Solution\Controls\Grid\1_many.scx

Рассматриваемый пример демонстрирует согласованное отображение Записей Таблиц, связанных Отношением типа "Один-ко-Многим" в двух соответствующих контролах-контейнерах Grid (двух дочерних таблиц). Достаточно небольшой фрагмент программного Кода обеспечивает выполнение требуемых настроек используемых Контролов, для выполнения поставленной Задачи.

Property Settings (Установка значений Свойств)

Для текстовых полей на стороне "Родителя" определяются источники данных (поля Родительской Таблицы):

CopyCode image Копировать Код
ControlSource = Customer.cust_id
ControlSource = Customer.company

Для контрола Grid "Дочерней" таблицы:

CopyCode image Копировать Код
ChildOrder = cust_id
LinkMaster = customer
RecordSource = orders
RecordSourceType = 1 - Alias
RelationalExpr = customer.cust_id
ColumnCount = 4
 Column1.ControlSource = "orders.order_no"
 Column1.Header1.Caption = "Order"
 Column2.ControlSource = "orders.order_date"
 Column2.Header1.Caption = "Date"
 Column3.ControlSource = "orders.to_name"
 Column3.Header1.Caption = "Ship To"
 Column4.ControlSource = "orders.order_amt"
 Column4.Sparse = .F.
 Column4.Header1.Caption = "Total"
 Column4.Text1.InputMask = "$$999,999.99"

Для второго контрола Grid, второй "Дочерней" таблицы сложного Отношения:

CopyCode image Копировать Код
ChildOrder = order_id
LinkMaster = Orders
RecordSource = Orditems
RecordSourceType = 1 - Alias
RelationalExpr =Orders.order_id
ColumnCount = 4
 Column1.ControlSource = "orditems.line_no"
 Column1.Header1.Caption = "Item"
 Column2.ControlSource = "products.prod_name"
 Column2.Header1.Caption = "Product"
 Column3.ControlSource = "orditems.quantity"
 Column3.Header1.Caption = "Qty."
 Column4.ControlSource = "orditems.unit_price"
 Column4.Sparse = .F.
 Column4.Header1.Caption = "Price"
 Column4.Text1.InputMask = "$$9,999.99"

В дополнение к функциональности контролов Grids, на тестовой Форме размещается контрол Навигации по Родительской Таблице типа VCR , библиотека классов Buttons.vcx. Значение свойства SkipTable указанного класса Навигации содержит Алиас (псевдоним) родительской таблицы, указатель Записей которой перемещается кнопками Навигации. Пользователь простыми действиями (перемещаясь по записям Родителя) получает отображение соответствующих записей (из дочерних таблиц: Orders и Orditems), свойство SkipTable = "Customer".

См. также

Задачи

Отображение Вычисляемых Значений в стобце Grid, пример
Отображение Контролов в контейнере Grid, пример
Динамическое форматирование Столбцов контейнера Grid, пример

Другие ссылки

Примеры Решений для Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Display Controls in a Grid Sample

Visual FoxPro 9.0, Примеры
Размещение Контролов в объекте Grid, пример
См. также

Программный файл: ...\Samples\Solution\Controls\Grid\Controls.scx

Данный пример демонстрирует размещение Контролов (элементов управления) в столбцах объекта Grid.

Необходимый контрол может быть добавлен в соответствующей столбец с помощью средств Form Designer (Дизайнера Форм), или программным способом, используя соответствующий метод AddObject.

Необходимо обратить на некоторые свойства, от которых зависит размещение контролов в столбце объекта Grid.

CurrentControl, свойство

После добавления необходимого контрола в столбец, вы должны изменить значение свойства CurrentControl на имя соответствующего контрола, который должен отображаться в данном столбце.

Sparse, свойство

Контрол сheckbox, который размещается в столбце объекта Grid, может отображаться в разных вариантах, это зависит от установки свойства Sparse. Когда Sparse = .T., тогда рассматриваемый контрол отображается в столбце для клетки, которая имеет фокус в текущий момент; когда Sparse = .F., данный контрол отображается во всех записях столбца (значение по-умолчанию:Sparse = .T.).

Контролы и События

Обратите внимание, что событие контрола, размещенного в столбце объекта Grid, возникает только в том случае, когда клетка столбца получает фокус ввода или обработки. Например, если вы пытаетесь выбрать необходимую клетку столбца с помощью нажатия стрелок вверх/вниз, а текущим контролом в клетке является объект spinner, то выполняется соответственное увеличение или уменьшение значения данной клетки, перемещения не происходит. Данное явление касается объекта spinner, а для объекта textbox - все работает нормально, происходит соответствующее перемещение по клеткам столбца.

См. также

Задачи

Отображение вычисляемых значений в столбцах Grid, пример
Оображение дочерних записей из соответствующего отношения, пример
Динамическое форматирование столбцов в объекте Grid, пример

Другие ссылки

Решения для Контролов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Display Different Pages without Tabs Sample

Visual FoxPro 9.0, Примеры
Отображение Объектов типа Pages без использования Закладок (Tabs), Пример
См. также

Программный файл: ...\Samples\Solution\Controls\PgFrame\Pfsam2.scx

В представленном примере показано, как управлять Страницами контейнера PagrFrame без использования стандартных Закладок. На форме имеется объект PagrFrame, управление страницами которого осуществляется с помощью управляющих кнопок. Каждая Страница рассматриваемого объекта может иметь собственные элементы управления и отображения информации, а также различные функции.

Для переноса Активной Страницы на передний план - поверх остальных Страниц используется системный метод ZOrder. Например, следующий фрагмент программного кода Активирует страницу pagCustomers:

CopyCode image Копировать Код
THISFORM.pgfPeople.pagCustomers.ZOrder

Для определения (или установки) текущей активной страницы можно использовать значение свойства ActivePage.

CopyCode image Копировать Код
THISFORM.pgfPeople.ActivePage = 1

См. также

Задачи

Изменение Страниц с помощью управляющих Кнопок, Пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Элементов управления

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Display Multiple Columns in a List Box Sample

Visual FoxPro 9.0, Примеры
Отображение нескольких Столбцов в Контроле ListBox, пример
См. также

Программный файл: ...\Samples\Solution\Controls\Lists\Lmulcol.scx

В рассматриваемом примере демонстрируется отображение нескольких столбцов в списочном Контроле (list box). На рассматриваемой форме размещены контролы ListBox и Spinner. Количество отображаемых столбцов определяется значение свойства Value Контрола Spinner: 1,2,3,4.

Для определения размеров (ширины) столбцов в многоколоночном Списке, используется соответствующее свойство: ColumnWidths. Например,если предполагается три (3) столбца в списке, то следующий фрагмент программного кода определяет соответствующие размеры столбцов: 10, 15, 20:

CopyCode image Копировать Код
Form.List.ColumnWidths = "10, 15, 20"

Для определения источников Данных нескольких Столбцов используется расширенный вариант свойства RowSource. Например, в следующем фрагменте программного кода определяются источники данных для трех столбцов: Телефон, Город, Страна (из текущей Таблицы Customer).

CopyCode image Копировать Код
Form.List.RowSource = "contact,city,country"

Свойство ColumnLines определяет отображение разделительных линий между соответствующими Столбцами.

См. также

Задачи

Интерактивное добавление Элемента в Список, Пример
Отображение Картинки в Списке, Пример
Заполнение Списка данными из разных Источников, Пример
Перенос Элементы между Списками (List Boxes), Пример
Множественный выбор Элементов в Списках, Пример
Открытие нескольких файлов, Пример
Сортировка Элементов в Списке (List Box), Пример
Перетаскивание Элементов в Контролах Treeview/Listbox (Drag-and-Drop), Пример

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Display Pictures in a List Sample

Visual FoxPro 9.0 Samples
Отображение Картинок в элементах Списка, пример
См. также

Программный файл: ...\Samples\Solution\Controls\Lists\Piclist.scx

Данный пример демонстрирует, как вы можете добавить графическую картинку для каждого текстового элемента Списка (например типа List Box). В данном примере, вы можете указать некоторую Базу Данных, контейнер (.dbc), а в соответствующем Контроле ListBox будут показаны вместе с именами выбранных элементов разнообразные Картинки, соответствующие Таблицам, локальным и удаленным Представлениям.

В следующем Фрагменте программного кода, выполняется перебор всех составляющих Компонент Базы Данных, с помощью свойства Picture для каждого элемента Списка определяется соответствующая Картинка, (код метода cmdDatabase). В соответствии с используемым индексом переменной Цикла выполняется определение картинки для своего Элемента Списка.

CopyCode image Копировать Код
FOR i = (m.nTblCount+1) TO thisform.lstDatabase.ListCount
IF DBGETPROP(ALLTRIM(thisform.lstDatabase.List[m.i]),; "view","sourcetype") = 1
 *Local view
 thisform.lstDatabase.Picture[m.i] = m.cLViewBMP
 ELSE
 * Remote view
 thisform.lstDatabase.Picture[m.i] = m.cRViewBMP
 ENDIF
ENDFOR
Note Обратите Внимание

Вам нужно следить за размером используемых Картинок; указанные размеры должны соответствовать установленному значению для текстовых Элементов (свойство FontSize); в противном случае, графические элементы отображаются некорректно.

См. также

Задачи

Интерактивное добавление элементов в Списки List Box, пример
Отображение нескольких столбцов в списках List Box, пример
Заполнение списка данными из различных Источников, пример
Перемещение Элементов между Списками List Box, пример
Множественный выборэлементов в Списках, пример
Интерактивное открытие нескольких Файлов, пример
Сортировка элементов в Списке, пример
Перетаскивание элементов (Drag and Drop) в контролах TreeView/ListView, пример

Другие ссылки

Примеры Решений для Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Dynamically Format Grid Columns Sample

Visual FoxPro 9.0 Samples
Динамическое (интерактивное) форматирование Столбцов Контрола Grid, пример
См. также

Программный файл: ...\Samples\Solution\Controls\Grid\Dyngrid.scx

Рассматриваемый пример демонстрирует динамическое изменение свойств Контрола Column: DynamicForeColor, DynamicBackColor.

В программном Коде данного примера, который расположен в соответствующем Событии InteractiveChange для элемента управления с именем: cboFormat.

Сначала, в программном коде, очищаются значения соответствующих Свойств:

CopyCode image Копировать Код
oGrd.SetAll("dynamicbackcolor", "", "Column")
oGrd.SetAll("dynamicforecolor", "", "Column")

Далее, в зависимости от конструкции выбора Варианта CASE устанавливаются новые значения для Свойств: DynamicForeColor и DynamicBackColor. К примеру, в зависимости от значения элемента с именем discontinu изменяется Цвет символов (ForeColor).

CopyCode image Копировать Код
oGrd.SetAll("dynamicforecolor", ;
 "IIF(discontinu, RGB(192,192,192), RGB(0,0,0))", "Column")

Discontinu - есть поле Логического Типа из соответствующей Таблицы Products.

См. также

Задачи

Отображение Вычисляемых Значений в Столбце Grif, пример
Отображение "дочерних" Записей связанной Таблицы, пример
Отображение Контролов в элементе Grid, пример

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Edit a Memo Field or Text File Sample

Visual FoxPro 9.0 Samples
Редактирование Поля Memo или Текстового файла, Пример
См. также

Программный Файл: ...\Samples\Solution\Controls\TXT_EDT\Editbox.scx

В данном примере показан процесс просмотра или редактирования Поля типа MEMO или Текстового файла с использованием Контрола EditBox.

Для отображения содержания поля MEMO достаточно установить значение свойства ControlSource для контрола Редактирования EditBox.

В этом примере показаны Два варианта Редактирования Текстового файла с помощью Контрола EditBox: при помощи низко-уровневых файловых функций, и при использовании способа Создания временного Курсора, содержащего текст файла. В данном примере используются низко-уровневые файловые функции при создании требуемого Курсора.

Редактирование Текстового файла при использоывании Низко-Уровневых файловых функций.

Текстовый файл может быть открыт с помощью стандартной функции FOPEN( ), чтение содержания текстового файла выполняется с помощью функции FREAD( ), далее данный текст помещается в некоторую переменную памяти или присваивается в виде значения свойству Value соответствующего Контрола EditBox. Далее, измененный текст может быть записан в файл с помощью функции FWRITE( ), текстовый файл закрывается с помощью функции FCLOSE( ).

Редактирование текстового файла способом загрузки его содержания в поле некоторого временного Курсора.

Основным преимуществом данного метода создания временного курсора и загрузки в него содержания текстового файла является то, что при этом используется достаточно простой Программный Код (смотрите ниже) и то, что система Visual FoxPro достаточно надежно выполняет управление большими размерами текстовых файлов в условиях недостаточности Оперативной Памяти рабочей станции.

CopyCode image Копировать Код
IF SELECT("textfile") = 0
 CREATE CURSOR textfile (filename c(60),mem m)
 APPEND BLANK
ENDIF
REPLACE textfile.FileName WITH GETFILE("TXT")
IF EMPTY(textfile.FileName)
 RETURN
ENDIF
SELECT textfile
APPEND MEMO mem FROM (textfile.FileName) OVERWRITE
THIS.Parent.edtText.ControlSource = "textfile.mem"
THIS.Parent.cmdSave.Enabled = .T.
THIS.Parent.lblFileName.Caption = ALLTRIM(textfile.FileName)
THIS.Parent.Refresh

См. также

Задачи

Манипулирование Текстом с помощью Программного Кода, Пример

Другие ссылки

Варианты Решений для Контролов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Execute Commands at Specified Intervals Sample

Visual FoxPro 9.0, Примеры
Выполнение команд через заданные интервалы времени, Пример
См. также

Программный файл: ...\Samples\Solution\Controls\Timer\Timecomm.scx

Данный пример Формы содержит текстовый бокс и Контрол spinner. Вводимый вами текст отображается в системном окне WAIT WINDOW. С помощью контрола spinner вы можете изменять величину интервала времени (в секундах), когда выполняется соответствующая команда WAIT WINDOW.

В соответствующем событии InteractiveChange контрола spinner, устанавливается величина соответствующего интервала времени для объекта timer. Значение свойства Interval измеряется в следующих единицах: 1/1000 секунды, поэтому значение контрола spinner умножается на 1000 (spinner.value * 1000).

CopyCode image Копировать Код
THISFORM.Timer1.Interval = (THIS.Value * 1000)

В соответствующем событии Timer, выполняется заданная команда: WAIT WINDOW.

CopyCode image Копировать Код
WAIT WINDOW ALLTRIM(THISFORM.Text1.Value) TIMEOUT 0.5

В код указанного события Timer может быть включена любая другая команда или процедура: программный код изменения данных, проверка наличия входящей почты, отображение текущего состояния системных Ресурсов, и так далее.

См. также

Задачи

Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Элементов управления

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Fill a List with Values from Different Sources Sample

Visual FoxPro 9.0, Примеры
Заполнение Списков значениями из различных Источников данных, Пример
См. также

Программный файл: ...\Samples\Solution\Controls\Lists\Multdat1.scx

В представленном примере демонстрирутся установка различных вариантов для ключевого Свойства контрола ListBox: RowSourceType: SQL-оператор, программный файл Запроса (.qpr), Массив, Поля таблицы, Файлы из каталога, Элементы структуры Таблицы (.Dbf).

Для контрола ComboBox можно использовать аналогичные варианты типов источников, для соответствующего свойства RowSourceTypes (исключая вариант =9 - popup, который включен для совместимости с младшими версиями VFP). В программном коде соответствующего события InteractiveChange устанавливаются значения для рассмотренных свойств RowSourceType и RowSource.

Когда вы одновременно изменяете значение данных свойств: RowSourceType и RowSource, вам необходимо обязательно выполнить следующее:

  1. Установить значение для Списка RowSourceType = 0.

  2. Установить новое значение источника данных RowSource = <???>.

  3. Установить значение нового типа источника данных: RowSourceType = <new type>.

Если нарушить порядок выполнения указанных операций для установки новых значений свойств RowSource / RowSourceType, может возникнуть конфликтная ситуация со старыми значениями источников данных.

См. также

Задачи

Интерактивное добавление элемента в Список, пример
Отображение нескольких столбцов данных в Списках, пример
Отображение Картинок в Списках, пример
Перенос элементов из одного Списка в Другой Список, пример
Выбор нескольких элементов в Списках, пример
Открытие (загрузка) нескольких файлов, пример
Сортировка элементов в Списках, пример
Treeview/Listbox, выполнение операций "Drag-Drop", пример

Другие ссылки

Примеры Решений для Элементов управления

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Format Input and Validate Data in a Text Box Sample

Visual FoxPro 9.0, Примеры
Форматирование Ввода и Контроль Данных в контроле TextBox, пример
См. также

Программный Файл: ...\Samples\Solution\Controls\TXT_EDT\Textbox.scx

В представленном примере демонстрируются простейшие способы определения Свойств Текстового Бокса, что облегчает ввод данных требуемого Формата.

Формат | Свойство Объекта | Значение
Допустимы только цифры | InputMask | 999999999
Выделение при Активации (Фокус ввода) | SelectOnEntry | .T.
Только в верхнем регистре | Format | !
Только-Чтение | ReadOnly | .T.
Формат N телефона (US) | InputMask | (999) 999-9999
Ввод Пароля | PasswordChar | *
Форматирование Даты | DateFormat | Числа (1-31, 1-12, 2007)

Контроль вводимых Данных

Следующий фрагмент программного кода размещается в код события Valid Контрола TexBox, и контролирует допустимость ввода символа "a":

CopyCode image Копировать Код
IF "a"$ THIS.Value
 #DEFINE MESSAGE_LOC "The text box value cannot contain the letter 'a'"
 MESSAGEBOX(MESSAGE_LOC,48+0+0)
 RETURN 0
ELSE
 RETURN .T.
ENDIF

См. также

Задачи

Примеры Решений

Описание

Фундаментальные Классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Grid Highlighting, Column Resizing, and Header Images Sample

Visual FoxPro 9.0, Примеры
Подсветка строк в Grid, Изменение размеров Столбцов, Размещение картинок в Заголовках, примеры
См. также

Программный Файл: ...\Samples\Solution\Toledo\Griders.scx

Рассматриваемый пример демонстрирует, как вы можете выполнять следующие Операции при обработке Данных:

  • Выбрать или Изменить Стиль и Цвет подсветки активной строки в Контроле Grid.

  • Автоматическое изменение ширины Столбцов для отображения всей Информации.

  • Закрепление первых Стобцов Grid-a при выполнении горизонтального Скролинга.

  • Определить и эффективно использовать специальные Картинки в Заголовках Столбцов (например, для режимов Сортировки).

Выбор Стиля подсветки активной Строки контрола Grid

Вы можете использовать различные Стили подсветки активной Строки Grid-a как при получении Фокуса этим Контролом, так и при потере Grid-ом фокуса Ввода. Для определения Стиля Подсветки используется свойство Grid HighlightStyle.

В данном Примере, для переопределения значения свойства HighlightStyle, требуемый Стиль Подсветки выбирается с помощью Контрола типа ComboBox, размещенного на Форме Примера. Программный Код события InteractiveChange СomboBox-a содержит следующий фрагмент:

CopyCode image Копировать Код
ThisForm.grdCustomers.HighlightStyle = VAL(this.Value)

Дополнительную информацию о рассматриваемом Свойстве HighlightStyle, смотрите в разделе: HighlightStyle, свойство.

Вместе с возможностью изменять Стиль Подсветки, вы можете переопределять Цветовую гамму элементов подсветки Активной строки. Смотрите дополнительно: HighlightBackColor, свойство, HighlightForeColor, свойство, SelectedItemBackColor, свойство, или SelectedItemForeColor, свойство.

Подгонка (подстраивание) ширины Столбцов для отображения исходных Данных

В данном примере, также иллюстрируется автоматическое изменение Размеров Столбцов (ширины) в целях полного отображения всей информации в текстовых Элементах указанных Столбцов; для этих целей рекомендуется использовать Метод Grid AutoFit:

CopyCode image Копировать Код
ThisForm.grdCustomers.AutoFit()

Для этих целей также может использоваться Верхний-Левый угол контрола Grid; если выполнить операцию "double-clicking" в указанном месте, то будет выполнена описанная выше Операция Подгонки Размеров Столбцов. Для автоматического изменения размера конкретного Столбца, можно использовать "double-click" для Правой-Разделительной линии требуемого Столбца. Управление описанным Механизмом автоматического изменения размеров Столбцов осуществляется с помощью значения свойства Grid AllowAutoColumnFit.

Дополнительную информацию смотрите в разделах: AutoFit, метод или AllowAutoColumnFit, свойство.

Фиксация Столбцов контрола Grid

С помощью свойства контрола Grid.LockColumnsвы можете Зафиксировать один или несколько Столбцов Grid-a, которые не будут менять своего положения при горизонтальном Скролинге Grid.

В рассматриваемом Примере, вы можете зафиксировать Первый-Левый Столбец, установив значение свойства grdCustomers.LockColumns = 1, как показано во Фрагменте Кода:

CopyCode image Копировать Код
ThisForm.grdCustomers.LockColumns = 1

Вы можете Зафиксировать также столбец с Идентификатором "Customer ID", для этого можно выполнить "clicking" на Заголовке указанного Столбца. Появившийся в Заголовке Значек (картинка) означает, что данный столбец является Зафиксированным. Для фиксации отдельного Столбца достаточно выполнить "Right-Click" в области разделительных Линий между Заголовками соседних Столбцов.

Дополнительную информацию смотрите в разделах: LockColumns, свойство или LockColumnsLeft, свойство.

Отображение Картинок (графических элементов) в области Заголовков Столбцов

Для размещения картинки в заголовке Столбца рекомендуется использовать установку свойства Pictureуказанного объекта типа Header, а также определить место размещения Картинки относиттельно Текста Заголовка, свойство: Header Alignment.

В рассматриваемом примере, Картинка размещается в заголовке столбца с идентификатором "Company Name" (название Предприятия), которая показывает порядок Сортировки информационных Строк в контроле Grid. При повторной операции "Clicking" для данного Столбца указанная выше картинка заменяется на другую, что информирует пользователя об изменении режимов Сортировки: по-Возрастанию или по-Убыванию (Ascending / Descending).

Дополнительную информацию смотрите в разделах: Picture, свойство или Alignment, свойство.

См. также

Другие ссылки

Примеры Решений для Контролов (элементов управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Hot Tracking and Hover Effects Sample

Visual FoxPro 9.0, Примеры
Перетаскивание и специальные эффекты для Контролов, Пример
См. также

Файл: ...\Samples\Solution\Sedona\Dvds.scx

В данном примере показана работа нескольких Новых Событий и Свойств, с помощью которых вы можете осуществлять различные эффекты перемещения Контролов на формах.

См. также

Задачи

Обеспечить возможность перетаскивания Контролов (элементов управления), Пример
Изменение размеров и местоположения Контролов в режиме Run Time, Пример

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Manipulate Text Programmatically Sample

Visual FoxPro 9.0, Примеры
Программная обработка Текстовых Элементов, пример
См. также

Программный Файл: ...\Samples\Solution\Controls\TXT_EDT\Text.scx

В данном примере показано использование Свойств SelStart, SelLength, SelText базового Контрола Edit Box для обработки Текстового элемента в режиме Run-Time. В примере также подсчитывается количество Символов, Слов и Параграфов текстового файла, обеспечивается возможность Поиска требуемой строки символов в указанном Файле.

Форматирование Текста

Следующий фрагмент Кода может быть использован для включения в событие Click некоторой Кнопки Форматирования Текста - перевода всех символов выделенного Фрагмента в верхний регистр:

CopyCode image Копировать Код
lo = THIS.Parent.edtText
lnOldStart = lo.SelStart
lnOldLength = lo.SelLength
lo.SelText = UPPER(lo.SelText)
lo.SelStart = lnOldStart
lo.SelLength = lnOldLength

Если вам требуется изменить атрибуты Текста (выделенного фрагмента текста), изменения Шрифта, его размера - рекомендуется использовать внешний Контрол RichText (ActiveX).

Поиск Фрагмента Текста

Представленный далее фрагмент Программного Кода обеспечивает процедуру Поиска заданной Подстроки Текста в стандартном Контроле Edit Box:

CopyCode image Копировать Код
llKeepLooking = .T.
DO WHILE llKeepLooking
 FOR i = lnStart TO LEN(loEDT.Value)
 loEDT.SelStart = i
 loEDT.SelLength = lnLen
 IF loEDT.SelText = ALLTRIM(loCBO.Text) OR ;
 (!llCaseSensitive AND ;
 (UPPER(loEDT.SelText) = UPPER(ALLTRIM(loCBO.Text))))
 llFound = .T.
 llKeepLooking = .F.
 EXIT
 ENDIF
 ENDFOR
 IF !llFound
 lnChoice=MESSAGEBOX("Search string not found.", ;
 64+0+4)
 IF lnChoice = 6 && Yes
 llKeepLooking = .T.
 lnStart = 0
 ELSE
 llKeepLooking = .F.
 ENDIF
 ENDIF
ENDDO
Note Совет

Рекомендуется выполнять установку значения Свойства формы LockScreen = True (.T.) - перед началом выполнения процесса Поиска подстроки; и далее: LockScreen = False (.F.) - после завершения Поиска. В противном случае, при каждом изменении значения свойства SelStart выполняется обновление содержания рассматриваемого Контрола Edit Box.

См. также

Задачи

Редактирование Поля типа Memo или Текстового Файла, пример
Программная обработка Объектов, пример

Другие ссылки

Примеры Решений для Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Move Items Between List Boxes Sample

Visual FoxPro 9.0 Samples
Пример Перемещения Элементов Между List Boxes
Смотрите Также

Файл: ...\Samples\Solution\Controls\Lists\Lmover.scx

Данный пример демонстрирует перемещение элементов из одного list box в другой. Пользователь может дважды щелкнуть мышкой на элементе, чтобы переместить его, выбрать один или более элементов и перетянуть их мышкой, или нажать соответствующую кнопку, чтобы перенести элементы из одного list box в другой.

Два list boxes и четыре сопутствующие кнопки сохранены как класс: MoverLists в библиотеке Samples.vcx. Базовый класс для MoverLists - Контейнер. Чтобы была возможность добавлять и удалять элементы списка, свойства RowSourceType обоих lists должны быть равны 0 – None. Если вы хотите заполнить list box значениями из массива или таблицы, вы можете использовать следующий код:

CopyCode image Скопировать Код
*Массив
FOR i = 1 to ALEN(myarray)
   List.AddItem(myarray[i])
ENDFOR

*Таблица
SCAN
   List.AddItem(table.field)
ENDSCAN

Чтобы Перемещать Элементы Дважды Щелкнув Мышкой

Ниже приведенный код сопутствует событию DblClick левого list box (lstSource). Аналогичный код сопутствует событию DblClick правого list box (lstSelected).

CopyCode image Скопировать Код
THIS.Parent.lstSelected.AddItem(THIS.List(THIS.ListIndex))
This.RemoveItem(THIS.ListIndex)
THIS.Parent.Refresh

"THIS" относится к lstSource. "THIS.Parent" относится к классу moverlists, которым является контейнер.

Чтобы Переместить Все Элементы Одного Списка в Другой

Следующий код сопутствует событию Click кнопки cmdAddAll:

CopyCode image Скопировать Код
  DO WHILE THIS.PARENT.lstSource.ListCount > 0
    THIS.PARENT.lstSelected.AddItem;
        (THIS.PARENT.lstSource.List(1))
   THIS.PARENT.lstSource.RemoveItem(1)
  ENDDO
  THIS.PARENT.Refresh

Чтобы Переместить Выделенные Элементы Одного Списка в Другой

Когда вы перемещаете элемент из list box, значение свойства ListCount этого list box уменьшается, а также и индекс ListIndex всех последующих элементов этого списка. Чтобы переместить несколько выделенных элементов, вам необходимо использовать цикл DO WHILE. Следующий код относится к событию Click кнопки cmdAdd:

CopyCode image Скопировать Код
nCnt = 1
DO WHILE nCnt <= THIS.PARENT.lstSource.ListCount
   IF THIS.PARENT.lstSource.Selected(nCnt)
      THIS.PARENT.lstSelected.AddItem;
         (THIS.PARENT.lstSource.List(nCnt))
      THIS.PARENT.lstSource.RemoveItem(nCnt)
   ELSE
      nCnt = nCnt + 1
   ENDIF
ENDDO
THIS.PARENT.Refresh

Чтобы Перетаскивать Мышкой Элементы Одного Списка в Другой

Осуществление "перетаскивания" (drag-and-drop) между двумя list boxes включает в себя код, который сопутствует событиям MouseDown, MouseMove, DragOver и DragDrop. Три дополнительных свойства (DragThreshold, MouseX и MouseY) делают использование данного класса более удобным.

Код события MouseDown записывает X и Y координаты курсора мышки в свойства класса.

CopyCode image Скопировать Код
*MouseDown
Parameters nButton, nShift, nXCoord, nYCoord
THIS.PARENT.MouseX = nXCoord
THIS.PARENT.MouseY = nYCoord

Код события MouseMove проверяет, была ли нажата левая клавиша мышки до начала процедуры перетаскивания. В дополнение, чтобы предотвратить случайное перетаскивание, данный код проверяет, передвинул ли пользователь мышку на растояние больше, чем установленная пороговая величина (свойство threshold) (8 пикселов по умолчанию).

CopyCode image Скопировать Код
*MouseMove
Parameters nButton, nShift, nXCoord, nYCoord
IF nButton = 1 && Левая клавиша мышки
   IF ABS(nXCoord - THIS.PARENT.MouseX) > ;
      THIS.Parent.DragThreshold OR ;
         ABS(nYCoord - THIS.PARENT.MouseY) > ;
         THIS.Parent.DragThreshold
      THIS.Drag
   ENDIF
ENDIF

Код события DragOver заменяет иконку DragIcon источника, когда курсор мышки входит и покидает "пространство" list box.

CopyCode image Скопировать Код
*DragOver
Parameters oSource, nXCoord, nYCoord, nState
DO CASE
   CASE nState = 0 && Входит
      oSource.DragIcon = THIS.Parent.CanDropIcon
   CASE nState = 1 && Покидает
      oSource.DragIcon = THIS.Parent.NoDropIcon
ENDCASE

Код события DragDrop проверяет, чтобы источник перетаскивания не являлся бы list box-ом назначения процесса пететаскивания, и вызывает метод сопутствующий событию Click кнопки cmdAdd (в случае, если текущий список - lstSelected) или кнопки cmdRemove (если - lstSource).

CopyCode image Скопировать Код
*DragDrop
Parameters oSource, nXCoord, nYCoord
IF oSource.Name != THIS.Name
   THIS.PARENT.cmdAdd.Click
ENDIF

Смотрите Также

Задачи

Пример Интерактивного Добавления Элементов в List Box
Пример Отображения Нескольких Колонок в List Box
Пример Отображения Картинок в List
Пример Заполнения Списка Значениями из Других Источников
Пример Выбора Нескольких Элементов в List Box
Пример Интерактивного Открытия Множественных Файлов
Пример Сортировки Элементов List Box
Пример Treeview/Listbox Перетащить и Оставить (Drag and Drop)

Другие Ресурсы

Примеры Решений Объектов Управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Multiselect Items in a List Box Sample

Visual FoxPro 9.0, Примеры
Выделение нескольких элементов в списке ListBox, пример
См. также

Программный Файл: ...\Samples\Solution\Controls\Lists\Lmsel.scx

Данный пример демонстрирует, как выполнить выделение нескольких элементов в списке ListBox. В тестовой Форме содержится контрол, Список типа ListBox, для которого свойство MultiSelect содержит значение, = True (.T.). Второй контрол типа ComboBox содержит все выделенные элементы в первом Списке.

Для обработки выделенных, нескольких элементов рассматриваемого Списка — они копируются в соответствующий массив или накапливаются в переменной вашего Приложения; выбранные элементы имеют свойство, значение которого Selected = True (.T.). В представленном далее программном коде события Click отображаются выбранные Элементы Списка, а в дополнительном текстовом боксе отображается общее количество выбранных Элементов:

CopyCode image Копировать Код
nNoSelected = 0 && variable to track number of selected items
THISFORM.cboSelected.Clear && clear the combo box

* main processing loop
FOR i = 1 TO THIS.ListCount
 IF THIS.Selected(i)
 nNoSelected = nNoSelected + 1
 THISFORM.cboSelected.Additem (THIS.List(i))
 ENDIF
ENDFOR

THISFORM.txtNoSelected.Value = nNoSelected

В программном коде события Init рассматриваемой тестовой Формы, с помощью предпроцессорной директивы #DEFINEопределяются значения элементов тестового Списка. Каждый определяемый элемент имеет окончание в виде "_LOC". С помощью соответствующего инструментария Локализации компании Microsoft указанные тестовые строки могут быть "локализованы" в требуемый национальный язык.

См. также

Задачи

Интерактивное добавление Элементов в список типа ListBox, пример
Отображение нескольких столбцов в списке типа ListBox, пример
Отображение Картинок в элементах списка, пример
Заполнение Списков значениями из различных Источников, пример
Перемещение Элементов между Списками типа ListBox, пример
Интерактивное Открытие нескольких файлов, пример
Сортировка элементов в списке ListBox, пример
Перетаскивание (Drag-and-Drop) элементов в списках типа TreeView/ListView , пример

Другие ссылки

Примеры Решений для Контролов (Элементов Управления)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Present a User with Multiple Choices Sample

Visual FoxPro 9.0, Примеры
Обеспечение Пользователя вариантами Выбора, Пример
См. также

Файл: ...\Samples\Solution\Controls\Buttons\Quiz.scx

Данный пример иллюстрирует использование контрола Option Button Group для однозначного выбора (без задания значения - по-умолчанию), и привязки символьного поля таблицы к данному контролу option group.

Чтобы отобразить контрол option group без выбранного варианта, выполните одно из двух:

  1. Предварительно установите для каждой кнопки контрола значение свойства Value = 0 или .F.

  2. Установите значение свойства Value для контрола option button group = 0.

Чтобы привязать заголовок кнопки к символьному полю таблицы:

  • Установите свойство ControlSource, данного контрола option button group, = имени моля таблицы.

См. также

Задачи

Смена Страницы при нажатии кнопки пользователем, Пример
Отображение различных Страниц (Pages) без активных Закладок (Tabs), Пример

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Open Multiple Files Interactively Sample

Примеры Visual FoxPro 9.0
Пример диалога открытия нескольких файлов
Смотреть также

Файл: ...\Samples\Solution\Controls\Lists\Multfile.scx

Этот пример показывает, как заполнять список файлов. Когда Вы заполняете список файлов, встроенный функционал дает возможность пользователю выбирать диски и папки. В этом примере пользователь может выбрать из списка один или несколько файлов, и открыть их для редактирования.

Цикл следующего кода проверяет элементы списка и открывает выбранные файлы для редактирования:

CopyCode image Copy Code
FOR nFile = 5 to THISFORM.lstFiles.ListCount
   IF THISFORM.lstFiles.Selected(nFile)
      MODIFY FILE (THISFORM.lstFiles.List(2) + ;
         THISFORM.lstFiles.List(nFile)) NOWAIT
   ENDIF
ENDFOR

Когда значение свойства RowSourceType ровно 7 - Files (Файлы):

  • lstFiles.List(1) указывает на диск.

  • lstFiles.List(2) указывает на путь.

  • lstFiles.List(3) линия-разделитель.

  • lstFiles.List(4) это [..]. Нажмите, чтобы перейти к папке уровнем выше.

Файлы могут начинаться с lstFiles.List(5)

Смотреть также

Задачи

Пример интерактивного добавления элементов список List Box
Пример отображения нескольких колонок в List Box
Пример отображения рисунков в List Box
Пример заполнения List Box c разных источников
Пример перемещения элементов списков List Box
Пример выбора нескольких элементов списка List Box
Пример сортировки элементов списка List Box
Пример Drag and Drop для Treeview/Listbox

Прочие ресурсы

Примеры решений для элементов управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Translated by Boyko Vasyl


Resize and Reposition Controls at Run Time Sample

Visual FoxPro 9.0 Samples
Изменение размеров и Размещения Контролов в режиме Run-Time, Пример
См. также

Программный файл: ...\Samples\Solution\Forms\Cresize.scx

Конечный пользователь может достаточно просто изменить Размеры и Местоположения Контролов на Форме. Указанные Контролы изменяют свои координаты и размеры относительно новых значений свойств Height (высота) и Width (ширина) рассматриваемой формы.

В данном примере используется Класс из библиотеки: ...\Samples\Classes\Samples.vcx, который управляет рассматриваемыми характеристиками (размеры и координаты) Контролами на Форме. В следующей далее строке программного Кода показан пример команды, размещаемой в соответствующем Событии Resize данной Формы, осуществляется вызов Метода AdjustControls, выполняющего перестройку Контролов Формы:

CopyCode image Копировать Код
THIS.Resizable2.AdjustControls

Сначала, в коде События Init, выполняется перебор всех Контролов Формы, координаты и размеры которых размещаются в Рабочем Массиве данного Класса. Когда изменяются размеры Формы, выполняется уже указанный Метод AdjustControls, где перевычисляются новые характеристики Координат и Размеров всех Контролов (с помощью старых координат и коэффициента изменения размеров Формы, новые координаты сохраняются в уже указанном Массиве, и так далее...).

Вы можете добавить несколько новых Контролов на Форму, они также будут включены в процесс отслеживания рассматриваемым Классом.

Свойства с именами RepositionList и ResizeList содержат список (через пробел) всех Базовых Классов VFP, которые включаются (по-умолчанию) в процесс Отслеживания Размеров и Координат Контролов Формы. Если вам требуется не отслеживать какойлибо Класс - исключите его из описанного Списка ResizeList.

Для установки Защиты при изменении размеров Формы можно использовать соответствующие базовые Свойства MinHeight и MinWidth.

См. также

Задачи

Возможность перемещать Контролы (Drag-and-Drop), Пример
Отслеживание Положения и Эффекты Движения, Пример

Описание

Изменение Размеров программных Объектов, фундаментальный класс VFP

Другие ссылки

Решения для Контролов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


See Check Box Design Options Sample

Visual FoxPro 9.0, Примеры
Просмотр настроек контрола CheckBox, пример
См. также

Программный файл: ...\Samples\Solution\Controls\Checkbox\Checkbox.scx

В данном примере демонстрируются варианты настроек для отображения Контрола CheckBox.

Свойство | Описание
ControlSource | Переменная или поле таблицы, числового или логического типа.
Picture | Отображаемая картинка, если установлен режим свойства Style = Graphical.
Style | Определяет вариант отображения контрола: стандартный или графический.
Value | Возможные, допустимые значения: .T., .F., 0, 1, 2, или .NULL.

См. также

Задачи

Как: Использовать Контрол CheckBox для отображения состояния объекта (Статуса)

Описание

Фундаментальный класс определенных значений (Distinct Values Combo)

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


See Command Button Design Options Sample

Visual FoxPro 9.0, Примеры
Просмотр характеристик контрола Command Button, Пример
См. также

Файл: ...\Samples\Solution\Controls\Buttons\Cmdbtn.scx

В данном примере показана работа различных свойств и характеристик контрола Сommand Button.

Свойство | Описание
Cancel | Если в программном коде события Click, контрола command button, устанавливается значение свойства Cancel = true (.T.), то выполняется действие: пользователь нажал клавишу ESC.
Default | Если в программном коде события Click, контрола command button, устанавливается значение свойства Default = true (.T.), то выполняется действие: пользователь нажал клавишу ENTER.
Picture | Отображается картинка, если установлено свойство Style = Graphical.

См. также

Другие ссылки

Примеры Решений для Контролов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Sort List Box Items Sample

Visual FoxPro 9.0 Samples
Пример Сортировки Элементов List Box
Смотрите Также

Файл: ...\Samples\Solution\Controls\Lists\Lsort.scx

Данный пример демонстрирует возможность перестановки или сортировки элементов в списке (list). Ключевыми свойствами для установки являются:

CopyCode image Скопировать Код
   List.MoverBars = .T.
   List.Sorted = .T.

Установка свойства MoverBars равным true (.T.), делает возможным для пользователя переопределить порядок следования элементов списка, перетягивая кнопку, расположенную слева от элемента списка, в новое положение.

Установите свойство Sorted равным true (.T.), чтобы упорядочить элементы списка в алфавитном порядке. Вы по-прежнему можете изменять порядок следования элементов списка после того, как они были упорядочены. Установите свойство Sorted равным true (.T.) опять, чтобы опять упорядочить элементы списка в алфавитном порядке.

Свойство Sorted применимо только в случае, когда свойство RowSourceType равно 0 (None) или 1 (Value).

Смотрите Также

Задачи

Пример Интерактивного Добавления Элементов в List Box
Пример Отображения Множественных Колонок в List Box
Пример Отображения Картинок в List Box
Пример Заполнения List Значениями из Других Источнокив
Пример Перемещения Элементов Между Двумя List Boxes
Пример Выбора Нескольких Элементов в List Box
Пример Интерактивного Открытия Множественных Файлов
Пример Treeview/Listbox Перетащить и Оставить (Drag and Drop)
Пример Использования Mover List Boxes для Выбора Данных

Другие Ресурсы

Примеры Решений Объектов Управления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Treeview/Listbox Drag and Drop Sample

Visual FoxPro 9.0 Примеры
Пример использования Drag and Drop в объектах Treeview/Listbox
Смотри также

Файл: ...\Samples\Solution\Tahoe\Listdd.scx

Этот пример предоставляет демонстрацию установок для свойств OLEDragMode и OLEDropMode элементов TreeView и ListBox.

Смотри также

Прочие ресурсы

Примеры Controls Solution
Пример - интерактивное добавление элементов в List Box
Пример - отображение множества колонок в List Box
Пример - Отображение рисунков в List
Пример - Заполнение листа значениями из различных источников
Пример - перемещение элементов между List Boxes
Пример - множествевнный выбор в List Box
Пример - интерактивное открытие множества файлов
Пример - сортировка элементов List Box
Пример - добавление и удаление элементов в Treeview

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Solution Samples

Visual FoxPro 9.0, Примеры
Примеры Решений по обработке Данных

Представленные примеры Решений демонстрируют варианты разработки Приложений по обработке Информационных Данных.

В данной Секции

Создание Курсора из Наборов данных в формате XML, пример

Приводится вариант создания обычного Курсора (VFP) из соответствующих наборов данных в формате XML при использовании классов CursorAdapter и XMLAdapter, которые обеспечивают привязку Контролов Форм с источниками Данных.

Загрузка и Создание наборов данных типа XML при использовании класса XMLAdapter, пример

Демонстрируется использование стандартного класса XMLAdapter для генерации соответствующего файла .XML, содержащего выборку из нескольких взаимосвязанных Таблиц или Курсоров.

Управление доступом к Данным при использовании класса CursorAdapters, пример

Приводится вариант использования стандартного класса CursorAdapter для загрузки Данных из удаленных Источников Данных нестандартных типов.

Связанные Разделы

Примеры Решений

Содержатся Примеры, демонстрирующие широкие функциональные возможности системы Visual FoxPro, которые могут быть использованы при разработке ваших Приложений.

Примеры Библиотек Классов

Содержатся примеры создания Библиотек Классов, которые поддерживают все фундаментальные принципы Объектно-Ориентированного Программирования, и могут быть эффективно вами использованы при разработке Приложений.

Примеры Фундаментальных Классов

Содержатся примеры использования Фундаментальных Классов (Visual FoxPro Foundation classes).

Упражнения

Приводятся пошаговые инструкции использования Общих Сценариев Обработки Данных, построению Диалогов.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Create a Cursor from an XML DataSet Sample

Visual FoxPro 9.0 Примеры
Пример создания курсора из XML DataSet
Смотрите также

File: ...\Samples\Solution\Toledo\CAXML.scx

Этот пример показывает как создать курсор из XML DataSet с помощью классов CursorAdapter и XMLAdapter и как связать данные с элементами на форме.

Для того, чтобы увидеть изменения в XML DiffGram

  • Сделайте изменения в grid и щелкните на Show DiffGram.

Для того, чтобы чтобы посмотреть значение свойств CursorAdapter

  • Щелкните на Show CursorAdapter Properties.

Для получения более подробной информации о CursorAdapter и XMLAdapter, смотрите CursorAdapter Class и XMLAdapter Class.

Загрузка XML в Cursor

В этом примере метод LoadXML объекта XMLAdapter загружает XML DataSet в объект XMLAdapter и работает с объектом CursorAdapter для создания курсора. Загрузка XML DataSet в XMLAdapter создает объекты XMLTable в коллекции XMLAdapter Tables соответствующие таблицам в XML DataSet. Свойство CursorAdapter SelectCmd устанавливается в объект XMLTable, который вы желаете отобразить. Курсор создается, когда вызывается метод CursorFill на объекте CursorAdapter.

Для получения более подробной информации смотрите LoadXML Method, XMLTable Class и CursorFill Method.

Этот пример использует ADO.NET DataSet как XML файл, на такой такой файл может быть сгенерирован Visual FoxPro, как XML DataSet.

Для загрузки XML DataSet в объект XMLAdapter

  1. В событии Init формы примера, добавьте свойство, которое представляет собой объектную ссылку на XMLAdapter, либо с помощью использования дизайнеров форм или классов или с помощью метода AddProperty непосредственно в коде:

    CopyCode image Скопировать код
    ThisForm.AddProperty('oXMLAdapter',CREATEOBJECT('XMLAdapter'))

  2. Для создания коллекции таблиц Tables в объекте XMLAdaptert, загрузите XML файл так, как это показано в приведенном ниже фрагменте кода:

    CopyCode image Скопировать код
    WITH ThisForm.oXMLAdapter
       .LoadXML(ThisForm.cRunPath+'getcustomers.xml',.T.)
    ENDWITH

  3. Установите свойство CursorAdapter.SelectCmd на объект XMLTable и вызовите метод CursorAdapter.CursorFill:

    CopyCode image Скопировать код
    ThisForm.DataEnvironment.cursor1.SelectCmd= ;
       "ThisForm.oXMLAdapter.Tables.Item(1)"
    ThisForm.DataEnvironment.cursor1.CursorFill()

Для просмотра свойств объекта CursorAdapter, посмотрите на объект DataEnvironment. Вы можете открыть дизайнер DataEnvironment путем правого клика на объекте CursorAdapter и выборкой опции Builder. Свойства CursorAdapter будут установлена построителем CursorAdapter'а.

Для получения более подробной информации смотрите DataEnvironment Object, Init Event и CursorAdapter Builder.

Управление привязкой данных

В момент, когда обычно происходит привязка данных, курсор, содержащий данные еще не существует. Это происходит потому, что объект XMLAdapter загружает XML в событии Init формы, которое происходит после привязки данных по умолчанию. Однако, вы можете управлять привязкой данных соответствующей установкой свойства Form BindControls.

В этом примере, свойство формы BindControls установлено в False (.F.). После того, как метод CursorFill объекта CursorAdapter создаст курсор, содержащий данные, BindControls устанавливается в True (.T.). Вы можете затем привязать элементы на форме с помощью приведенного ниже фрагмента кода:

CopyCode image Скопировать код
ThisForm.BindControls = .T.

Для получения более подробной информации смотрите BindControls Property.

Generating XML DiffGrams with the XMLAdapter

Для генерации XML DiffGram, используйте метод ToXML объекта XMLAdapter , как это показано в событии cmdDiffgram.Click приведенного примера:

CopyCode image Скопировать код
WITH ThisForm.oXMLAdapter
   .ReleaseXML(.F.)      && Осовобождает XML документ, но сохраняет схему.
   .UTF8Encoded = .T.    && Показывает International символы.
   .IsDiffgram = .T.     && Генерирует XML DiffGram.
   llIncludeBefore = .T. && Включает формат <diffgram:before>.
   llChangesOnly = .T.   && Генерирует только сделанные изменения.
   llIsFile = .F.        && XML является переменной памяти.
   lcSchemaLocation = "" && Генерирует внутреннюю схему.
   .ToXml("lcXML",lcSchemaLocation,llIsFile,llIncludeBefore,llChangesOnly)
ENDWITH

Смотрите также

Концепции

Обеспечение XML функциональности с помошью использования XMLAdapter'ов

Прочие ресурсы

Примеры Data Solution

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Load and Generate XML Using the XMLAdapter Class Sample

Visual FoxPro 9.0 Примеры
Пример: Загрузка и генерация XML с использованием класса XMLAdapter
Смотрите также

File: ...\Samples\Solutions\Toledo\XMLAdapter.scx

Вы можете использовать класс XMLAdapter для создания множества курсоров из XML, таких как ADO.NET DataSets, и, наоборот, генерировать XML из множества курсоров.

Этот пример показывает одно из многих использований класса XMLAdapter, такое как выборка XML-файла для создания курсоров и генерации XML из множества курсоров.

Для получения более подробной информации смотрите статью Класс XMLAdapter.

Загрузка XML

В этом примере, вы можете загрузить XML DataSet в объект XMLAdapter путем щелчка на Load XML на закладке XMLTables и выбрать действительный XML файл, такой как один из сгенерированных из ADO.NET DataSet или другой объект XMLAdapter. Событие Click командной кнопки Load XML button содержит следующий код, который использован в методе LoadXML объекта XMLAdapter:

CopyCode image Скопировать код
ThisForm.oXMLAdapter.LoadXML(cFilename, .T.)

Имя выбранного вами файла передается в качестве первого параметра методу LoadXML. Второй параметр метода LoadXML указывает, что первый параметр представляет собой файл; в противном случае, он подразумевает, что первый параметр представляет собой переменную памяти, содержащую строку XML.

После выборки файла, коллекция Tables объекта XMLAdapter заполняется числом объектов XMLTable, равным количеству таблиц в XML DataSet, которые вы можете использовать для генерации курсоров.

Добавление таблиц

В этом примере вы можете добавлять таблицы и генерировать XML путем выбора Add Table на закладке XMLTables tab, с последующими выбором таблицы и щелчком на To XML.

Когда вы выбрали Add Table, появляется список таблиц базы данных Northwind, тз которой вы может выбрать одну или более таблиц. После открытия таблицы, она добавляется в объект XMLAdapter, путем вызова метода AddTableSchema так, как это показано ниже:

CopyCode image Скопировать код
USE ? SHARED IN 0
cTable = LOWER(ALIAS())
ThisForm.oXMLAdapter.AddTableSchema(cTable)

Generating XML

In this sample, you can generate XML after adding tables to the XMLAdapter object and setting any additional properties on XMLAdapter Properties tab.

To generate XML, select To XML on the XMLTables tab, which calls the XMLAdapter ToXML method:

CopyCode image Copy Code
ThisForm.oXMLAdapter.ToXML(XML_FILENAME,, .T., ;
ThisForm.tabXMLAdapter.Page1.chkBefore.Value, ;
ThisForm.tabXMLAdapter.Page1.chkChangesOnly.Value)

In ToXML, leaving the second parameter blank indicates that schema should be generated inline. The third parameter indicates whether the first parameter is the name of a file (True - .T.) or a variable (False - .F.).

See Also

Concepts

XML Functionality Using XMLAdapters

Other Resources

Data Solution Samples

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Manage Data Access Using CursorAdapters Sample

Visual FoxPro 9.0 Samples
Образец - Управление доступом к данным с использованием CursorAdapter'ов
Смотри также

File: ...\Samples\Solution\Toledo\CASample.scx

Этот образец демонстрирует как объекты CursorAdapter извлекают данные из трех различных типов источников данных:

  • Native

    Этот образец демонстрирует "родной" курсор, подключенный к базе данных Northwind (Visual FoxPro).

  • Open Database Connectivity (ODBC)

    Этот образец демонстрирует курсор ODBC, подключенный к SQL Server Northwind Database, (в случае, если последний инсталлирован).

  • ActiveX® Data Objects (ADO)

    Этот образец демонстрирует курсор ADO, подключенный к SQL Server Northwind Database, (в случае, если последний инсталлирован).

Курсоры имеют установленным буфферирование строк и используют автоматическое обновление, то есть, если вы уходите с записи, то любые изменения будут посланы базе данных.

Для просмотра установок свойств объектов CursorAdapter, щелкните на кнопке View CursorAdapter Properties. Установки этих свойств были выполнены с использованием построителя CursorAdapter'а (CursorAdapter Builder).

Смотри также

Прочие ресурсы

Образцы решение обработки данных (Data Solution)
Класс CursorAdapter
Управление доступом к данным с использованием CursorAdapter'ов
Построитель CursorAdapter'а Builder

ПерешлитеSend комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Databases Solution Samples

Visual FoxPro 9.0, Примеры
Примеры Решений для Баз Данных

Представленные Примеры Решений демонстрируют разработку Задач, выполняющих обработку Баз Данных.

В данном Параграфе:

Создание уникального Идентификатора ID для Записи Таблицы, пример

Показано, как вы можете использовать Хранимые процедуры, осуществляющие создание уникального первичного Ключа Записи.

Создание коротких индексных выражений с помощью функции BINTOC( ), пример

Показано, как можно создавать различные индексные схемы при использовании числовых и целочисленных типов данных, что уменьшает размеры индексных выражений.

Индексные Выражения, пример

Приводятся разнообразные варианты для создания требуемых индексных выражений или уникальных идентификаторов ID, содержащих как символьные так и числовые данные.

Циклы Транзакций, пример

Рассматриваются процессы Начала, Завершения, и Отката Транзакций обработки Данных.

Программная проверка Свойств Таблицы, пример

Показано, как получить требуемую Информацию о текущей Таблице во время выполнения программного модуля.

Сортировка или переключение Индекса Таблицы, пример

Рассматриваются варианты изменения последовательности размещения Записей Таблицы.

Использование Событий контейнера DBC, пример

Показывается, как можно использовать стандартные События контейнера Базы Данных (DBC) при выполнении разнообразных операций с таблицами или Данными: открытие, подключение , добавление, изменение.

Описание

Примеры Классов Библиотек

Содержатся разнообразные примеры классов библиотек, обеспечивающих Инкапсуляцию функциональности порождаемых объектов, которые могут быть использованы в ваших Приложениях.

Фундаментальные Классы Visual FoxPro, A-Z

Описываются фундаментальные классы Visual FoxPro, которые вы можете эффективно использовать при разработке ваших Приложений.

Описание Языка (Visual FoxPro)

Включает основные ссылки на разделы по вопросам программирования в системе Visual FoxPro, Язык Программирования, Пользовательский Интерфейс, Сообщения об Ошибках.

Связанные Секции:

Прмеры Решений

Приводится оглавление основных групп Примеров, демонстрирующих фундаментальные возможности системы Visual FoxPro, которые могут быть выполнены в настоящий момент.

Примеры Фундаментальных Классов

Приводятся основные примеры, демонстрирующие использование Фундаментальных Классов Visual FoxPro.

Премеры Серверов (Visual FoxPro)

Показаны основы построения Серверов Автоматизации Automation Servers (COM).

Упражнения и Тесты

Приводятся по-шаговые инструкции использования типичных Сценариев по началу учебных занятий по освоению Функциональных возможностей системы Visual FoxPro.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Create a Default Unique ID Value for a Field Sample

Visual FoxPro 9.0 Образцы
Образец: создание для поля уникального значения ID по умолчанию
Смотрите также

Файл: ...\Samples\Solution\Db\Newid.scx

Этот пример использует хранимую процедуру базы данных для предоставления значения по умолчанию для первичного ключа таблицы.

Для создания уникального ID по умолчанию

  1. Добавьте в базу данных отдельную таблицу, в которой будет храниться следующий ID для каждой таблицы базы данных.

    Таблица в образце названа как Ids.dbf. Она содержит два поля: Table C(10), NextID I.

  2. В хранимых процедурах базы данных, создайте функцию, которая вернет значение последующего ID из таблицы ID.

    Эта процедура в образце именована как NewID. Код для этой функции приведен ниже.

  3. Установите значение по умолчанию для поля в имя этой функции.

Хранимая процедура NewID

CopyCode image Скопировать код
FUNCTION NewID(tcAlias)
LOCAL lcAlias, lnID, lcOldReprocess, lnOldArea

  lnOldArea = SELECT()

  IF PARAMETERS() < 1
    lcAlias = UPPER(ALIAS())
  ELSE
    lcAlias = UPPER(tcAlias)
  ENDIF

  lcOldReprocess = SET('REPROCESS')

  * Заблокируем, пока пользователь не нажмет Esc
  SET REPROCESS TO AUTOMATIC

  IF !USED("IDS")
    USE newid!ids IN 0
  ENDIF
  SELECT ids

  IF SEEK(lcAlias, "Ids", "table")
    IF RLOCK()
      lnID = ids.nextid
      REPLACE ids.nextid WITH ids.nextid + 1
      UNLOCK
    ENDIF
  ENDIF

  SELECT (lnOldArea)
  SET REPROCESS TO lcOldReprocess

  RETURN lnID
ENDFUNC

Смотрите также

Задачи

Образцы решений

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений для баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Create Small Indexes Using BINTOC( ) Sample

Visual FoxPro 9.0 Samples
Пример создания маленьких индексов с помощью BINTOC()
Смотрите также

Файл: ...\Samples\Solution\Db\Index1.scx

Этот пример показывает различные индексные схемы, которые вы можете использовать с целочисленными и численными типами данных с целью получить существенный выигрыш в размере индексного файла и экономию дискового пространства. В дополнение, индексные файлы малого размера обычно имеют следствием более быстрый поиск. Функция BINTOC() предоставляет вам возможность конвертировать целочисленные (численные) значения в бинарные символьные представления.

Syntax

BINTOC(nExpression [, nSize])

В зависимости от размере вашего выражения, вы можете установить параметр nSize таким образом, чтобы вместить значение вашего выражения в минимальное количество символов.

Приведенная ниже строка кода создает индекс на численном поле:

CopyCode image Скопировать код
INDEX on line_no TAG line_no

В следующий раз при работе с индексом на целочисленных данных примите во внимание использование подобного приведенному ниже:

CopyCode image Скопировать код
INDEX on BINTOC(line_no,1) TAG line_no

Смотрите также

Справочное руководство

Функция BINTOC()

Прочие ресурсы

Примеры решений для баз данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Index on Expressions Sample

Visual FoxPro 9.0 примеры
Пример выражения Index on
See Also

Файл: ...\Samples\Solution\Db\Index2.scx

Этот пример показывает несколько вариантов, которые Вы можете использоваать для определения уникального идентификатора символьных полей (которые содержат числовые данные). Индексный тэг, основанный на символьном поле сортирует по ASCII представлению данных, тогда как индекс, основанный на числовом выражении, использующем функцию VAL () , сортирует по численному представлению. Следующая таблица показывает различия сортировки двух видов индексов:

cExpression | VAL(cExpression)
1 | 1
11 | 2
2 | 11
Note:
Когда Вы используете функцию VAL( ), все нечисловые значения будут преобразованы к 0.

Используя BINTOC (VAL(product_id)), Вы можете значительно уменьшить размер ваших индексных тэгов.

См. также

Другие источники

Пример базы данных
VAL( ) функция
BINTOC( ) функция

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Nest Transactions Sample

Visual FoxPro 9.0, Примеры
Циклы Транзакций, Пример
См. также

Программный файл: ...\Samples\Solution\Db\Trans.scx

В рассматриваемом примере демонстрируется весь цикл транзакций, начало транзакции, окончание транзакции, откат транзакциит. Вы можете принять решение: сохранить измененные данные для одной таблицы или отменить эти изменения (если для таблицы используется режим табличной буферизации); при использовании механизмов Управляемых Транзакций вы можете управлять сохранением или откатом выполненных изменений для нескольких Таблиц.

Для начала процесса редактирования данных - нажмите кнопку Begin. После завершения редактирования данных: вы можете нажать повторно кнопку Begin - для начала следующего цикла редактирования, или нажать кнопку End - для записи данных в Источник или кнопку Rollback - для отмены выполненных изменений.

Ключевыми командами в данном Примере являются следующие команды:

CopyCode image Копировать Код
BEGIN TRANSACTION

END TRANSACTION

ROLLBACK

Для определения уровня текущей Транзакции используется функция:

CopyCode image Копировать Код
TXNLEVEL( )

См. также

Описание

BEGIN TRANSACTION, команда
END TRANSACTION, команда
ROLLBACK, команда
TXNLEVEL( ), функция

Другие ссылки

Примеры решений для Баз Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Programmatically Check Table Properties Sample

Visual FoxPro 9.0 Образцы
Пример программной проверки свойств таблицы
Смотрите также

File: ...\Samples\Solution\Db\Info.scx

Этот пример иллстрирует получение инфорамции о таблице в run time.

Информация о поле

Функция AFIELDS( ) предоставляет большинство из возможной информации о полях таблицы, отображаемые в этом примере. В дополнение к информации, отображаемой в этой примере, AFIELDS( ) предоставляет информацию о выражениях правил для поля и таблицы и сообщения об ошибках при невыполнении правил, а также выражения для триггеров и соответствующие сообщения об ошибках, наряду с длинным именем таблицы и комментарией к ней, хранящиеся в базе данных (необходимо отметить, что инфорамация о длинном имени таблицы, триггерах и комментарий поставляются функцией в первой строке массива - JS).

Инфомарция об индексе

Функции TAG( ) и KEY( ) предоставляют информацию об индексе.

CopyCode image Скопировать код
lo = THISFORM.edtProperties
FOR i = 1 TO TAGCOUNT( )
   IF !EMPTY(TAG(i))  && Checks for tags in the index
      lo.Value = lo.Value + TAG(i) + "  " + KEY(i)
   ELSE
      EXIT
   ENDIF
ENDFOR

Смотрите также

Справочное руководство

Функция AFIELDS()
Функция TAG()
Функция KEY()

Прочие ресурсы

Образцы решений при работе с базами данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sort or Order a Table at Run Time Sample

Visual FoxPro 9.0, Примеры
Сортировка и ее порядок в Таблицах для режима RunTime, Пример
См. также

Файл: ...\Samples\Solution\Db\Order.scx

Данный пример иллюстирирует изменение порядка расположения записей таблицы или Списка. Таблица Клиентов (customer) имеет индексные тэги для каждого поля, размещенного в объекте Grid. В программном коде события MouseUp, для каждого представленного заголовка столбца помещается соответствующий код, соответствующий индексному тэгу (см. ниже), который переключает порядок сортировки данных. Например, представленный программный код соответствует заголовку столбца Предприятие (Company):

CopyCode image Копировать Код
LPARAMETERS nButton, nShift, nXCoord, nYCoord
IF nShift = 2 && CTRL, при нажатии кнопки мыши с клавишей CTRL - обратная сортировка
   SET ORDER TO Company DESCENDING
ELSE
   SET ORDER TO Company ASCENDING
ENDIF

GO TOP
THISFORM.Refresh

См. также

Описание

MouseUp, событие

Другие ссылки

Примеры Решений для Баз Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Use DBC Events Sample

Visual FoxPro 9.0, Примеры
Использование событий контейнера .DBC, Пример
См. также

Файл: ...\Samples\Solution\Sedona\Dbcevents.scx

В данном примере показано, как можно использовать События Контейнера Баз Данных или его элементов (Таблиц, Представлений, Отношений и так далее) при выполнении операций по открытию таблиц, доступу к данным, обработки объектов БД.

См. также

Описание

События контейнера Баз Данных

Другие ссылки

Примеры Решений для Баз Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Forms Solution Samples

Visual FoxPro 9.0 Образцы
Образцы решений с формами

Эти образцы решений иллюстрируют задачи по разработке приложений, использующих формы.

В этом разделе

Образец создания формы ввода с отношением "один-ко-многим"

Иллюстрирует основные задачи, связанные с формой ввода данных в отношении "один-ко-многим".

Образец создания формы "Запрос по образцу"

Иллюстрирует, как обеспечить возможности поиска и фильтрации для записей в одном и том же интерфейсе, который отображает эти записи.

Образец создания формы ввода данных в отдельную таблицу

Иллюстрирует простейший сценарий для одного пользователя и формы для ввода данных в одну таблицу.

Образец создания формы SDI

Иллюстрирует поддержку Visual FoxPro для интерфейса форм (SDI).

Образец создания окна произвольной формы

Иллюстрирует, как вы можете использовать функцию Windows API SetLayeredWindowAttributes для изменения используемой по умолчанию прямоуголной формы клиентской области главного окна Visual FoxPro или любой создаваемой вами формы.

Образец анимации линии на форме

Иллюстрирует как рисовать линии на форме.

Образец отображения картинок в элементе управления Image

Иллюстрирует как отображать bitmaps или icons в элементе управления Image на форме.

Образец рисования на форме линий и контуров

Иллюстрирует как испольщовать методы формы для рисования фигур и контуров на формах.

Обьразец вывода графика уроавнений на форме

Иллюстрирует как выводить графики уравнений на формах.

Обьразец программного управления объектами

Иллюстрирует как посылать параметры в формы и извлекать значения.

Обьразец пересылки параметров между формами

Иллюстрирует как пересылать параметры между формами и извлекать значения.

Обьразец обеспечения на форме подсказки What's This?

Иллюстрирует как обеспечить на форме кнопку подскзки "What's This?".

Обьразец возврата значения из формы

Иллюстрирует как вернуть значение из формы регистрации входа.

Обьразец запуска множества экземпляров формы

Иллюстрирует как запустить множество экземпляров формы.

Обьразец прозрачной формы

Иллюстрирует как использовать слоеные окна для улучшения производительности и визуальные эффекты со сложными контурами.

Обьразец использования методов Access/Assign в форме

Иллюстрирует как использовать в форме методы Access и Assign.

Справочное руководство

Библиотеки класса образцов

Содержит библиотеки класса образцов, которые обеспечивают функциональные возможности инкапсуляции, которые вы можете добавить в свои приложения.

Фундаментальные классы Visual FoxPro от A до Z

Содержит ссылки на образцы, которые иллюстрируют использование фундаментальных классов Visual FoxPro Foundation.

Справочное руководство (Visual FoxPro)

Включает в себя топики об инструментах, а также о доступных элементах управления, объектах, свойствах, методах, событиях, операторах, функциях и константах.

Связанные разделы

Образцы использования фундаментальных классов

Содержит ссылки на образцы, которые иллюстрируют использование фундаментальных классов Visual FoxPro Foundation.

Образцы серверов (Visual FoxPro)

Содержит образцы использования серверов, которые представляют собой Automation Servers.

Образцы решений

Содержит ссылка на образцы решений, которые демонстрируют конкретные возможности Visual FoxPro и могут быть запущены независимо.

Репетиции

Предоставляет пошаговые инструкции для общих сценариев, что делает их хорошим местом для начала изучения различных возможностей Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Create a One-To-Many Data Entry Form Sample

Образцы решений Visual FoxPro 9.0
Образец создания формы ввода "один-ко-многим"
Смотрите также

Файл: ...\Samples\Solution\Forms\Many.scx

Этот образец иллюстрирует основные задачи, связанные с формой ввода данных в таблицы с отношением "один-ко-многим".

Когда вы щелкаете по командной кнопке New рядом с блоками ввода данных в поля родительской таблицы, справа от поля Company, то исполняется приведенный ниже фрагмент программного кода:

CopyCode image Скопировать код
SELECT CUSTOMER
APPEND BLANK
THISFORM.Refresh

Когда вы щелкаете по командной кнопке New справа от элемента управления grid, который отображает дочерние записи, то исполнится приведенный ниже фрагмент программного кода.

После выбора таблицы заказов, программный код подсчитывает новое значение order_id для таблицы заказов, добавляет пустую запись, затем сохраняет значение cust_id из родительской таблицы и идентификатор заказа в соответствующих полях.

CopyCode image Скопировать код
CALCULATE MAX(order_id) ALL TO lMaxID
lMaxID = ALLTRIM(STR(VAL(lMaxID) + 1))

APPEND BLANK

REPLACE cust_id WITH Customer.Cust_id IN orders
REPLACE order_id with lMaxID in orders
Note Замечание

Этот метод создания нового значения идентификатора может быть не является надежным, для случая многопользовательского приложения, когда в одно и то же время добавляются новые заказы. Вместо этого, вы можете создавать новые идентификаторы так, как это показано в образце Создание для поля уникального значения идентификатора по умолчанию.

Смотрите также

Задачи

Образец создания формы ввода данных для одиночной таблицы
Образцы решений
Создание для поля уникального значения идентификатора по умолчанию

Прочие ресурсы

Образцы решений для форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Create a Query-By-Example Form Sample

Visual FoxPro 9.0 Samples
Пример Формы для Создания Запроса-По-Образцу (Create a Query-By-Example Form Sample)
См. также

File: ...\Samples\Solution\Forms\Qbf.scx

Этот пример позволяет пользователю искать и фильтровать записи через тот же интерфейс, через который он их просматривает.

Когда пользователь выберет Enter QBF, то код, связанный с событием Click кнопки cmdQBFMode, начинает транзакцию и добавляет в таблицу пустую запись, чтобы сохранить текст пользовательского запроса.

CopyCode image Копировать код
* фрагмент кода из события cmdQBFMode.Click
BEGIN TRANSACTION
APPEND BLANK
THISFORM.Refresh

Когда пользователь выберет Query, , то код, связанный с событием Click кнопки cmdQBFMode, откатывает транзакцию назад и удаляет новую запись.

Вы можете применять транзакции только с таблицами, содержащимися в базе данных. Если Вы хотите включить возможности QBF для таблицы, которая не содержится в базе данных, то можете пройти через все элементы управления в форме, сохранить старые значения свойства ControlSource и присвоить свойству ControlSource этих элементов управления пустое значение. После получения строки запроса пользователя, Вы можете вновь пройти через элементы управления и восстановить прежние значения свойства ControlSource.

Код, связанный с событием Click кнопки cmdQBFMode, тоже проходит через все элементы управления формы, проверяет значения, введенные пользователем, и вызывает метод ParseCondition для того, чтобы собрать строку фильтра.

Пользователь может ввести одиночное значение или целое выражение для сопоставления. Например, , чтобы установить фильтр, пользователь может ввести любое из приведенных ниже значений:

CopyCode image Копировать код
Sales Manager

!= "Sales Manager"

Если пользователь не вводит выражение, то кавычки не требуются.

Метод ParseCondition

CopyCode image Копировать код
LPARAMETERS cCondition, cControlSource
LOCAL lcRetCondition, lcFieldName
IF TYPE('cCondition') = 'C'
   cCondition = ALLTRIM(cCondition)
ENDIF

lcFieldName = SUBSTRC(cControlSource,(RATC(".",cControlSource)+1))

IF !EMPTY(cCondition) THEN
   IF TYPE('cCondition')$ "CM"
      IF ("<"   $ cCondition OR ;
         "=="   $ cCondition OR ;
         "LIKE" $ cCondition OR ;
         "<>"   $ cCondition OR ;
         "!="   $ cCondition OR ;
         "#"    $ cCondition OR ;
         "="    $ cCondition OR ;
         ">"    $ cCondition)
           lcRetCondition = lcFieldName + cCondition
      ENDIF
   ENDIF

   IF EMPTY(lcRetCondition)
      DO CASE
         * помещает кавычки вокруг символьных выражений
         CASE TYPE(cControlSource) $ "CM"
            lcRetCondition = lcFieldName + " = " + CHR(34) + cCondition + CHR(34)

         * помещает скобки вокруг выражений даты
         CASE TYPE(cControlSource) $ "DT"
            lcRetCondition = lcFieldName + " = {" + DTOC(cCondition) + "}"

         OTHERWISE
            lcRetCondition = lcFieldName + " = " + STR(cCondition)
      ENDCASE
   ENDIF
ELSE
   lcRetCondition = ""
ENDIF

RETURN lcRetCondition

См. также

Задачи

Пример Формы для Создания Ввода Данных Один-Ко-Многим ( Create a One-To-Many Data Entry Form Sample)
Примеры решений

Ссылки

Фундаментальные классы Visual FoxPro от A до Z

Другие ресурсы

Примеры Решений для Форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Create a Single Table Data Entry Form Sample

Visual FoxPro 9.0 Образцы
Образец создания формы ввода данных на основе одной таблицы
Смотрите также

Файл: ...\Samples\Solution\Forms\Single.scx

Этот образец показывает простейший сценарий для формы ввода данных, основанной на одной таблице и используемой одним пользователем.

Свойство ControlSource каждого элемента управления типа textbox и combobox формы установлено в поле таблицы Customer.

Команда APPEND BLANK выдается в процедуре события Click командной кнопки cmdNew.

CopyCode image Скопировать код
APPEND BLANK
THISFORM.Refresh

Команда DELETE выдается в процедуре события Click командной кнопки cmdDelete.

CopyCode image Скопировать код
* cmdDelete.Click
#DEFINE MSGBOX_YES      6
#DEFINE C_MSGBOX1      36
#DEFINE C_DELETE_LOC   "Вы убуждены, что хотите удалить эту запись?"

IF MESSAGEBOX(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
   DELETE
   IF !EOF()
      SKIP 1
   ENDIF
   IF EOF() AND !BOF()
      SKIP -1
   ENDIF
   THISFORM.Refresh
ENDIF

Расширение формы ввода данных

Для создания более "умной" формы, которая позволила бы пользователю прекратить изменения или позволила бы множеству пользователей обращаться к одним и тем же данным, вам нужно будет использовать транзакции или буферирование таблицы или строки.

Смотрите также

Задачи

Образец создания формы "Заказ по примеру"
Образец создания формы ввода с отношением "один ко многим"
Образцы решений

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с формами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved
Перевод выполнен JS.


Create an SDI Form Sample

Visual FoxPro 9.0, Примеры
Создание Формы типа SDI, пример
См. также

Программный Файл: ...\Samples\Solution\Forms\Sdiform.scx

Данный пример иллюстрирует поддержку в системе Visual FoxPro форм типа "SDI" (Single-Data-Interface). Для создания указанных Форм разработчику достаточно определить значение свойства ShowWindow = 2 (Top-Level-Form), форма верхнего уровня. Формы типа "SDI" не контролируются системой Visual FoxPro, активация и отображение выполняется ОС (Операционной системой).

Добавление Форм

Существует два варианта добавления новых Форм (как дочерних) в уже созданную форму верхнего уровня, типа "Top-Level" (SDI). В первом варианте: новая форма создается с свойством ShowWindow = 1, (In Top-Level - внутри формы верхнего уровня). Несмотря на то, что данный вариант является достаточно простым, это не всегда достигается, так как значение свойства ShowWindow может определяться только в режиме Разработки формы (Design Time).

Другой вариант основан на использовании стандартной команды ACTIVATE WINDOW. В следующем примере фрагмента программного Кода показывается простой вариант создания SDIForm. Поскольку указанная команда не базируется на Объекте, вы должны ссылаться на форму с помощью Имени Окна (Свойство Name).

CopyCode image Копировать Код
ACTIVATE WINDOW (thisform.oWindows[m.nGetWin].NAME) ;
IN WINDOW (thisform.name)

Добавление подсистемы Меню

Подсистема Меню также может быть добавлена в фоорму типа SDI. Для этого, использования Меню в форме типа "Top-Level" требуется включить соответствующий переключатель (Check Box), в дополнительном диалоговом боксе Menu Designer's View, General Options. Для формы рассматриваемого типа (Top-Level Form) подсистема Меню активируется как показано в следующем фрагменте программного Кода.

CopyCode image Копировать Код
DO sdiform.mpr WITH THISFORM,.T.
Note Обратите Внимание

Если подсистема Меню интегрируется в Главное окно Visual FoxPro, то Оно не будет доступно при скрытии указанного Главного Окна Visual FoxPro, (при активации окна SDI).

Добавление Инструментария Toolbars

В дополнении к Меню и дочерним Окнам, вы можете добавить инструментарий типа ToolBar в форму класса SDI. В силу того, что объекты Toolbars являются дочерними Окнами, поэтому вы получаете преимущество перед Объектной моделью Visual FoxPro, данные Инструменты успешно добавляются в виде дочерних объектов в Форме. Далее представлен пример фрагмента программного Кода, где для формы типа SDI создается и прикрепляется к ней инструментальный объект ToolBar.

CopyCode image Копировать Код
SET CLASSLIB TO sditbar ADDITIVE
thisform.oToolbar=create("sditb1")
thisform.oToolbar.show

См. также

Задачи

Создание однопользовательской Формы Ввода Данных, пример
Создание Формы построения Запроса по-Образцу (Query-By-Example), пример
Создание Формы ввода данных в Отношениях типа "One-To-Many", пример
Примеры Решений

Описание

Фундаментальные Классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Форм

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Create an Irregularly Shaped Window Sample

Visual FoxPro 9.0 Примеры
Пример создания окна нестандартной формы
См. также

Файл: ...\Samples\Solution\Toledo\Irregular.scx

Главное окно Visual FoxPro и создаваемые пользователем Формы обычно имеют прямоугольную форму. Для изменения указанной характеристики можно применить функцию Windows API SetLayeredWindowAttributes , которая может изменять коэффициент прозрачности и цветовой оттенок. Функция SetLayeredWindowAttributes поддерживается Операционными системами Microsoft Windows 2000 и Windows XP.

Объявление функций Windows API

В данном примере, в событии Init, объявляются необходимые функции API :

Копировать код
DECLARE INTEGER SetLayeredWindowAttributes IN win32api;
      INTEGER HWND, INTEGER crKey, INTEGER bAlpha, INTEGER dwFlags

DECLARE INTEGER SetWindowLong IN user32.DLL ;
   INTEGER hWnd, INTEGER nIndex, INTEGER dwNewLong

DECLARE INTEGER GetWindowLong IN user32.DLL ;
   INTEGER hWnd, INTEGER nIndex

См. дополнительно: Событие Init . См. также MSDN online в http://msdn.microsoft.com.

Отображение Окна нестандартной формы

Указанная выше функция SetLayeredWindowAttributes может отобразить непрямоугольную форму, или изменить оттенок прозрачности для формы. В этом случае формы отображаются в полупрозрачном цвете. Однако могут управляться простым кликом манипулятора мыши.

Данная функциональность поддерживается только в ОС Microsoft Windows 2000 и Windows XP, однако для использования перечисленных дополнительных свойств необходимо выполнение некоторых условий.

Установить для формы следующие характеристики

  1. Установит свойство формы Form ShowWindow = 2 (As Top-Level Form), чтобы обеспечит многоуровневость окна.

  2. Необходимо определить свойства окна (формы), как показано далее:

    Копировать код
    BorderStyle   = 0
    Caption   = ""
    Closable   = .F.
    ControlBox   = .F.
    TitleBar   = 0

  3. В соответствующем методе MakeIrregular разместите следующий программный код.

    Копировать код
    * Gets existing flags from the window.
    lnFlags = GetWindowLong(nHWND, GWL_EXSTYLE)
    ThisForm.nFlags = lnFlags
    * Appends Layered flag to existing flags.
    lnFlags = BITOR(lnFlags, WS_EX_LAYERED)
    * Sets new flags to the window.
    SetWindowLong(nHWND, GWL_EXSTYLE, lnFlags)
    SetLayeredWindowAttributes(nHWND, nColor, 0, LWA_COLORKEY)

Для дополнительной информации, см. разделы: Дизайнер Форм, Создание Форм , и Свойство ShowWindow.

См. также

Другие ссылки

Примеры Решений для Форм
Примеры Решений

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Display Line Animation on a Form Sample

Visual FoxPro 9.0 Образцы
Образец анимации линии в форме
Смотрите также

Файл: ...\Samples\Solution\Forms\Graphics\Anim.scx

Этот образец иллюстрирует рисование линий на форме. Или точнее, он демонстрирует сохранение координат набора линий для их отрисовки и перерисовки наряду в дополнительными линиями в промежуточных позициях, создающих эффект движения.

Введние линий в таблицу

Каждый раз, когда пользоватлеь рисует линию на форме, ее координаты сохраняются в таблице с приведенной ниже структуров:

Имя | Тип | Описание
Frameno | I | Увеличивается каждый раз, когда пользователь выбирает New Frame (Новый кадр).
Objno | I | Увеличивается каждый раз, когда линия вводится в кадр.
X1 | I | Начальная координата X для линии.
X2 | I | Конечная координата X для линии.
Y1 | I | Начальная координата Y для линии
Y2 | I | Конечная координата Y для линии.

Проигрывание кадров

Приведенный ниже программный код проигрывает кадры, повторно использует таблицу в другой рабочей области, выбирает вторую рабочую область и переходит к следующему кадру:

CopyCode image Скопировать код
USE (lcTable) AGAIN IN 0 ALIAS shadow
SELECT shadow
LOCATE FOR frameno # &lcTable..frameno

Переменная nBetween определяет, сколько промежуточных линий рисуется на форме между линией в одном кадре и соответствующей линией в другом кадре.

CopyCode image Скопировать код
FOR nb = 1 TO nBetween

Внутри цикла FOR код сканирует таблицу для поиска всех линий, связанных с кадром и вычисляет координаты для промежуточных линий, например:

CopyCode image Скопировать код
nx1 = frames.x1 + nb * (shadow.x1 - frames.x1) / nBetween
ny1 = frames.y1 + nb * (shadow.y1 - frames.y1) / nBetween

Затем код рисует каждую промежуточную линию и после ожидания в полсекунды (WAIT .05) очищает форму и продолжает цикл.

CopyCode image Скопировать код
THISFORMSET.frmAnimation.line(nx1,ny1,nx2,ny2)

Смотрите также

Задачи

Образец рисования линий и контуров на форме
Образцы решений

Справочное руководство

Фундаметальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с формами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Display Pictures in an Image Control Sample

Visual FoxPro 9.0, Примеры
Отображение Картинок в контроле Image, пример
См. также

Программный файл: ...\Samples\Solution\Forms\Image.scx

В данном примере демонстрируется, как отображаются графические объекты (изображения) с помощью контрола Image.

Для контрола listbox, который содержит имена файлов некоторой папки можно определить некоторые картинки, которые появятся слева от наименования файлов в списке. Для этого, в программном коде события InteractiveChange контрола listbox, нужно определить значение свойства Picture, как показано ниже:

CopyCode image Копировать Код
* lstFiles.InteractiveChange
cSelected = UPPER(THIS.List(THIS.ListIndex))
CD THIS.List(2)
IF ".BMP"$cSelected OR ".ICO"$cSelected
 THISFORM.imgDisplay.Picture = THIS.List(2) + cSelected
ENDIF

См. также

Задачи

Отображение картинок в списках, пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры решений для Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Draw Lines and Shapes on a Form Sample

Visual FoxPro 9.0 Примеры
Пример: Линии и области на Форме
См. также

Файл: ...\Samples\Solution\Forms\Graphics\Fdmain.scx

Этот пример показывает, как с помощью графических методов (PSet, Line, и Circle), а также свойств (DrawMode, DrawStyle, DrawWidth), можно разместить на форме различные нестандартные графические области, которые к тому же можно раскрасить в различные цвета.

В примере используется toolbar (определяется в модуле Fdproc.prg) и форма (определенная от класса frmFD в библиотеке Fd.vcx). Пользователь может менять различные характеристики графических объектов на форме , используя указанный ToolBar.

Непосредственно графические функции размещены в соответствующих программных кодах событий Формы MouseDown и MouseMove .

Копировать код
* MouseDown
PARAMETERS nButton, nShift, nXCoord, nYCoord
IF THIS.MousePointer = 2
   THIS.PSet(nXCoord, nYCoord)
ENDIF

* MouseMove
PARAMETERS nButton, nShift, nXCoord, nYCoord
IF THIS.MousePointer = 2
   THISFORM.LINE(nXCoord, nYCoord)
ENDIF

См. также

Другие ссылки

Отобразить двигающуюся линию на Форме
Примеры Решений для Форм
Прмеры Решений
Visual FoxPro Foundation Classes A-Z

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Graph Equations on a Form Sample

Visual FoxPro 9.0, Примеры
Графики Уравнений на Форме, пример
См. также

Программный Файл: ...\Samples\Solution\Forms\Graphics\Graph.scx

В данном примере демонстрируется вариант, как построить График Уравнения на Форме (VFP). Пользователь может выполнить Масштабирование представленного Уравнения. Имеется возможность изменить расположение Графика Уравнения, для этого используются стандартные функции Перетаскивания Объектов (Clicking / Dragging).

Для построения Графиков Уравнений используются два программных Модуля: Cgraph.prg и Pgraph.prg. При построении объекта CGRAPH используются Декартовы координаты. При построении объекта PGRAPH используются Полярные Координаты. В представленных программных Модулях для построения графических объектов используются стандартные методы PSet и Line.

Представленный фрагмент программного кода связан с событием OneGraph, в котором выполняется построение объекта CGRAPH, указанная Функция запускается при нажатии на командную кнопку Graph:

CopyCode image Копировать Код
THISFORMSET.frmGraph.Draw

 DO cgraph WITH ;
 graph.equation, ;
 graph.step, ;
 graph.ecolor, ;
 graph.connect, ;
 THISFORMSET.nFormX, ;
 THISFORMSET.nFormY, ;
 .F., ;
 THISFORMSET.frmgraph, ;
 THISFORMSET.nFormScale

В следующей Таблице описываются Основные Свойства и параметры объекта CGRAPH:

Параметры | Тип | Краткое Описание
equation | C | Вид Основного Уравнения; аргумент - X, зависимая переменная - Y.
step | N | Шаг Приращения (шаг Аргумента).
ecolor | N | Цвет линии Кривой (уравнения).
connect | L | Флаг, определяющий соединение одной точки Уравнения- с другой точкой.
nFormX | N | Координата точки x = 0, на Форме
nFormY | N | Координата точки y = 0, на Форме
lAddCoords | L | Флаг, определяющий отображение Осей Координат.
frmgraph | C | Имя Формы, в которой выполняется Построение Графика.
nFormScale | N | Шкала Графика представленного Уравнения.

См. также

Задачи

Обновление Гафиков в Форме, пример
Примеры Решений

Описание

Графические Объекты, фундаментальный класс
Фундаментальные Классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Форм

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Manipulate Objects Programmatically Sample

Visual FoxPro 9.0, Примеры
Программное манипулирование Объектами, Пример
См. также

Программный Файл: ...\Samples\Solution\Forms\Objects.scx

В данном примере демонстрируется изменение свойств некоторых объектов на форме в процессе выполнения данных форм (т.е. программным способом). Пример содержит две Формы. Программный код события Clickдля некотрой управляющей кнопки изменяет значение другого контрола на рассматриваемой форме.

Для изменения значения некоторого свойства объекта не забывайте указывать точный адрес данного объекта. Например, для изменения значения свойства Value объекта, расположенного в другой форме, нужно использовать общую иерархическую ссылку Набора Форм (FormSet), к которому принадлежат рассматриваемые формы, при указании всех необходимых контейнеров...

CopyCode image Копировать Код
THISFORMSET.frmLeft.chkBold.Value = .F.

См. также

Задачи

Программное манипулирование Текстом, Пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Форм

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Pass Parameters Between Forms Sample

Образцы решений Visual FoxPro 9.0
Образец пересылки параметров между формами
Смотрите также

Файл: ...\Samples\Solution\Forms\Param.scx

Этот пример иллюстрирует пересылку параметров в форму и возврат из нее значения.

PARAM Form

Эта форма имеет текстовый бокс ввода вопроса пользователя и возможные ответы на него. Затем, в событии Click командной кнопки cmdAsk, открывается форма ParamAsk, которой пересылаются вопрос и возможные варианты ответов.

CopyCode image Скопировать код
cParam1 = THISFORM.txtPassValue1.value
nParam2 = THISFORM.opgPassValue2.value

DO FORM LOCFILE("ParamAsk.scx") WITH cParam1, nParam2 TO nRetValue

PARAMASK Form

PARAMETERS посылаются событию Init формы, где они обрабатываются.

CopyCode image Скопировать код
PARAMETERS cQuestion, nButtons
THISFORM.txtQuestion.caption = cQuestion

В событии Unload формы, возвращаемое значение сохраняется в переменной retvalue, которая возвращается вызывающей форме:

CopyCode image Скопировать код
RETURN THISFORM.retValue

Смотрите также

Задачи

Образцы решений

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений для форм

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Provide What's This? Help on a Form Sample

Visual FoxPro 9.0 Образцы
Образец предоставления подсказки What's This? на форме
Смотрите также

Файл: ...\Samples\Solution\Forms\Whatthis.scx

Когда вы предоставляете на форме справку "What's This?", то в верхнем правом углу формы отображается кнопка с вопросительным знаком.

Когда пользователь щелкает по этой кнопке или нажимает SHIFT+ F1, форма устанавливается в режим WhatsThis. Вы, кроме того, войти в этот режим программно, вызвав метод WhatsThisMode формы. Когда форма находится в режиме WhatsThis, то изменяется вид указателя мыши. Пользователь может щелкнуть по элементу управления и получить контекстно-чувствительную справку для выбранного элемента управления во всплывающем окне.

Note Замечание

Если WhatsThisHelpID элемента управления или формы установлен в значение -1 (по умолчанию), текст во всплывающем окне укажет, что для элемента управления не имеется статьи справки.

Для предоставления справки "What's This?"

  1. Создайте файл справки со статьями для каждого элемента управления на форме.

  2. В секции проекта справки Map, разметьте значения HelpContextID к соответствующим им статьям.

  3. Установите свойство WhatsThisHelp формы в значение true (.T.).

  4. Установите свойство WhatsThisButton формы в true (.T.).

  5. Установите WhatsThisHelpID элемента управления в соответствующие значения helpcontextID.

  6. В событии Load или Init формы, используйте команду SET HELP TO для указания файла справки, созданного или содержащего статьи справки для формы.

В дополнение к Whatthis.scx, этот образец включает в себя перечисленные ниже файлы:

Файл | Описание
Whatthis.hlp | Файл справки Help для формы
Whatthis.hpj | Файл проекта справки
Whatthis.rtf | Исходный документ для файла справки

Смотрите также

Задачи

Образцы решений (Solution)

Справочное руководство

Фундаментальный класс Help Button
Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с формами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Return a Value from a Form Sample

Visual FoxPro 9.0 Samples
Return a Value from a Form Sample
Смотрите также

Файл: ...\Samples\Solution\Forms\Logform.scx

Этот образец показывает возврат значения из формы регистрации входа. Запуск формы (Logform.scx) использует команду DO FORM для запуска формы регистрации входа и сохраняет возвращаемое значение в переменную (cUser).

CopyCode image Скопировать код
DO FORM Login TO cUser
Note Замечание

Для возврата значения из формы, ее свойство WindowType должно быть установлено в 1 - Modal.

The logon form (Login.scx) makes it possible for a user to enter a user name and a password. Code associated with the Click event of cmdOK checks to make sure that the correct password was entered.

CopyCode image Скопировать код
LOCATE FOR UPPER(login.userid) = UPPER(ALLTRIM(THISFORM.txtUserName.Value))

IF FOUND() AND ALLTRIM(password) == ALLTRIM(THISFORM.txtPassword.Value)
   THISFORM.cUser = ALLTRIM(login.userid)
   THISFORM.Release
ELSE
   #DEFINE MISMATCH_LOC "Имя пользователя или пароль некорректны. Пожалуйста, попробуйте еще раз."
   WAIT WINDOW MISMATCH_LOC TIMEOUT 1.5
   THISFORM.txtUserName.Value = ""
   THISFORM.txtPassword.Value = ""
   THISFORM.txtUserName.SetFocus
ENDIF

Программный код, ассоциированный с событием Unload формы возвращает имя пользователя, если пользователь ввел корректный пароль, или, в противном случае, пустую строку.

CopyCode image Скопировать код
RETURN THIS.cUser

Смотрите также

Задачи

Образцы решений

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы рещений с формами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Run Multiple Instances of a Form Sample

Visual FoxPro 9.0 Samples
Образец: запуск множества экземпляров формы
Смотрите также

Файл: ...\Samples\Solution\Forms\Launch.scx

Этот образец демонстрирует запуск множества экземпляров форм. aForms представляет собой свойство типа "массив" формы, которая запускает множество экземпляров. Приведенный ниже программный код связан с событием Click командной кнопки, которая запускает множество форм:

Получаем номер последнего элемента массива

CopyCode image Скопировать код
nInstance = ALEN(THISFORM.aForms)

Определяет свойства Top и Left для создания каскада окон новых форм. Эти установки посылаются в качестве параметров, когда запускаются экземпляры формы.

CopyCode image Скопировать код
IF nInstance > 1 AND ;
   TYPE('THISFORM.aForms[nInstance -1]') = 'O'
   nFormTop = THISFORM.aForms[nInstance -1].Top + 1
   nFormLeft = THISFORM.aForms[nInstance -1].Left + 1
ELSE
   nFormTop = 1
   nFormLeft = 1
ENDIF

Устанавливаем заголовок, для отображения номера экземпляра

CopyCode image Скопировать код
cFormCaption = "Instance" + ALLTRIM(STR(nInstance))

Запускаем формы и присваиваем объектную ссылку элементу массива. Ключевое слово Linked указывает, что все экземпляры будут высвобождены из памяти когда будет высвобожден массив. Без LINKED, множество экземпляров останутся висеть в памяти после уничтожения массива.

CopyCode image Скопировать код
DO FORM Multi NAME THISFORM.aForms[nInstance] WITH ;
   nFormTop, nFormLeft, cFormCaption LINKED

Изменяйте размер массива для того, чтобы можно было запускать последующие экземпляры формы .

CopyCode image Скопировать код
DIMENSION THISFORM.aForms[nInstance + 1]

Смотрите также

Задачи

Образцы решений

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с формами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Transparent Forms Sample

Visual FoxPro 9.0, Примеры
Полупрозрачные Формы, Пример
См. также

Файл: ...\Samples\Solution\Sedona\Fadeaway.scx

ОС (операционная система) Microsoft Windows 2000 имеет поддержку многоуровневых (layered) окон. Использование многоуровневых окон значительно улучшает функциональность и визуальные эффекты самых обычных рабочих форм, анимирование оконных блоков, различные эффекты полупрозрачности окон позволяют значительно улучшить интерфейс пользовательских приложений. Система автоматически формирует и перекрашивает многоуровневое окно на фоне базового приложения. В результате многоуровневое окно представляется гладким, без характерных мерцаний в насыщенных регионах окна. Кроме того такие окна могут быть динамически подсвечены снизу, т.е. иметь сложную гамму раскраски фона. В представленном примере показано использование многоуровневых окон в системе Visual FoxPro, имеющих эффекты непрозрачности и прозрачности.

Дополнительные детали об использовании базовых классов VFP см. в разделе Базовые классы Visual FoxPro, A-Z.

См. также

Описание

Базовые классы Visual FoxPro, A-Z

Концепции

Основополагающие принципы использования фундаментальных классов Visual FoxPro Foundation

Другие ссылки

Решения для Форм, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Use Access/Assign Methods on a Form Sample

Visual FoxPro 9.0 Samples
Пример использования методов Access/Assign в объекте Form
Смотрите Также

File: ...\Samples\Solution\Tahoe\Aa_fun.scx

Этот пример демонстрирует способы использования методов Access/Assign в объекте form.

Этот пример содержит следующие класы

Метод | Описание
caption_assign | Назначает новое значение свойству Caption формы.
mybuttons_access | Возвращает индекс кнопки.
oshape_access | Возвращает форму объекта.
cshapecolor_access | Возвращает цвет объекта.
this_access | Добавляет новое свойство и возвращает его значение.

Детальнее о всех класах доступных в фундаментальных класах, смотрите Фундаментальные класы Visual FoxPro от A до Z.

Смотрите Также

Справочное руководство

Фундаментальные класы Visual FoxPro от A до Z

Концепции

Руководство по Использованию Фундаментальных Классов Visual FoxPro

Прочие ресурсы

Forms Solution Samples
Foundation Class Samples

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Menus and Toolbars Solution Samples

Visual FoxPro 9.0 Samples
Примеры Решений для Меню и Toolbars

В данном Параграфе

Добавление Пункта Меню в режиме Выполнения, пример

Иллюстрируется, как добавить новый элемент Меню при выполнении Программы.

Добавление Персонифицированного Меню в Приложение, пример

Иллюстрируется, как добавить Персонифицированное Меню в Приложение, по аналогии с системой Microsoft-Office-2000.

Изменение атрибутов Шрифта, пример

Показывается, как с помощью стандартного инструментария (toolbar) изменить Шрифт или Цвет отображения для Контрола (элемента управления) на Форме.

Координирование Элементов Меню и Кнопок инструментария ToolBar, пример

Показывается, как обеспечить координацию пунктов Меню и Кнопок ToolBar, в целях соответствия выполняемых Функций Приложения.

Создание Динамических, Контекстных (Shortcut) Меню, пример

Иллюстрируется, как создавать Альтернативные, контекстные подсистемы Меню.

Отключение или Отображение пометок для пунктов Меню, пример

Показывается, как динамически изменять отображение различных пунктов Меню: недоступность Пункта, отметка пункта галочкой в зависимости от некоторых контролируемых условий.

Активация Алтернативных, контекстных Меню, пример

Показывается, как активировать или отобразить Контекстное Меню (shortcut) при нажатии пользователем правой клавиши мышки (right-clicks).

Использование Инструментариев (Toolbars) Стилей, пример

Показывается, как можно создавать пользовательские ToolBar (с картинками и Текстом в кнопках, открывающихся Списков и прочее), например как применяются Инструментарии в системе Microsoft Office.

Описание

Примеры Библиотек Классов

Приводятся ссылки на примеры классов библиотек, в которых обеспечивается функциональная Инкапсуляция; которые с успехом могут быть добавлены в ваши Приложения.

Фундаментальные классы Visual FoxPro, по-алфавиту: A-Z

Описываются фундаментальные классы системы Visual FoxPro, которые вы можете использовать для Быстрой разработки ваших Приложений.

Описание Языка (Visual FoxPro)

Приводятся ссылки на основные Разделы Описания системы Visual FoxPro: язык программирования, пользовательский интерфейс, сообщения об Ошибках и их сгруппированные разделы (по-алфавиту, по-номерам).

Связанные Секции

Примеры Фундаментальных Классов

Содержатся ссылки на разделы, иллюстрирующие использование Фундаментальных Классов Visual FoxPro.

Примеры Серверов (COM) (Visual FoxPro)

Показывается, как создавать серверы Автоматизации (Automation Servers) в Visual FoxPro.

Примеры Решений

Содержатся ссылки на разделы, в которых демонстрируются возможности системы Visual FoxPro, они вполне могут быть использованы в ваших Приложениях.

Упражнения (Walkthroughs)

Приводятся пошаговые инструкции для Общих Сценариев пользовательского интерфейса или начальные шаги по изучению возможностей системы Visual FoxPro.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Add Menu Items at Run Time Sample

Visual FoxPro 9.0 Примеры
Пример добавления пунктов меню во время выполнения программы
Смотрите также

Файл: ...\Samples\Solution\Menus\Fillmenu.scx

Этот пример демонстрирует добавление пунктов в меню во время выполнения программы.

Меню в этом примере создано в Конструкторе Меню и содержит единственную подсказку и пустое подменю с именем empty_pop.

Следующий код выполняется, когда пользователь выбирает любой пункт в меню.

CopyCode image Скопировать код
PROCEDURE takeaction(cPrompt)
#DEFINE MSG_LOC "You chose " + cPrompt + "."

IF cPrompt = "Release this menu"
   RELEASE PAD dynmenu of _MSYSMENU
ELSE
   WAIT WINDOW MSG_LOC TIMEOUT 1
ENDIF

Код, помещенный в событии Click кнопки cmdRefresh на форме, запускает меню.

CopyCode image Скопировать код
DO dynamic.mpr

Затем для каждого элемента в списке определяется соответствующий пункт меню с подсказкой и текстом сообщения.

CopyCode image Скопировать код
FOR i = 1 TO THISFORM.lstMenu.ListCount
   DEFINE BAR i OF empty_pop PROMPT (ALLTRIM(THISFORM.lstMenu.List(i,1))) ;
      MESSAGE (THISFORM.lstMenu.List(i,2))
ENDFOR
Есть также код, добавляющий пункт в меню с подсказкой, чтобы дать возможность пользователю удалить меню.
CopyCode image Скопировать код
DEFINE BAR i + 1 OF empty_pop PROMPT "\-"
DEFINE BAR i + 2 OF empty_pop PROMPT "Release this menu" ;
   MESSAGE "Remove the Dynamic Items menu from the menu bar."

Смотрите также

Задачи

Пример координации Пунктов Меню и кнопок на Панели Инструментов
Примеры решений

Другие ресурсы

Примеры решений для Меню и Панелей Инструментов

Для предложений или сообщений об ошибках в Помощи или в других функционалах этого продукта, посетите страницу обратной связи.
© Microsoft Corporation. All rights reserved.

Перевод - Рябинин Олег aka OLEGarh


Add Personalized Menus Sample

Visual FoxPro 9.0, Примеры
Создание персонализированного Меню, Пример
См. также

Файл: ...\Samples\Solution\Sedona\Mrumenu.scx

Вы можете создавать персонализированные меню, как в известной системе Microsoft Office 2000, где только общие пункты появляются в блоках меню. Данный пример использует образец меню (Dvdmenu.mnx), который содержит специальный программный код построения меню.

Дополнительные детали об использовании базовых классов VFP см. в разделе Базовые классы Visual FoxPro, A-Z.

См. также

Описание

Базовые классы Visual FoxPro, A-Z

Концепции

Основополагающие принципы использования Базовых Классов Visual FoxPro

Другие ссылки

Решения для Меню и Toolbars, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Change Font Attributes Sample

Visual FoxPro 9.0, Пример
Изменение характеристик Шрифта, пример
См. также

Программный Файл: ...\Samples\Solution\Toolbars\Format.scx

В рассматриваемом Примере демонстрируется использование стандартных функций инструмента ToolBar, применяемого для определения значений Свойств: FontName, FontSize, FontBold, FontItalic, ForeColor, BackColor, которые могут принадлежать различным Контролам на Форме.

Указанный инструмент tbrEditing описывается в Библиотеке : ...\Samples\Classes\Samples.vcx. Свойство с именем nAppliesTo содержит имена допустимых базовых Классов, для которых могут быть определены перечисленные выше свойства (характерисктики Шрифта), Все Текстовые боксы и области Редактирования на Форме, или все контролы на Форме. Для определения указанных свойств может использоваться либо код Солбытия InteractiveChange или события Click рассматриваемой текущей Кнопки ToolBar. Далее приводится примерный программный код События Click для командной кнопки cmdBold (переключение характеристики шрифта: Жирный/Обычный):

CopyCode image Копировать Код
IF TYPE("_SCREEN.ActiveForm") = 'O'
 oForm = _SCREEN.ActiveForm
ELSE
 RETURN
ENDIF

DO CASE
 CASE THIS.Parent.nAppliesTo = 1 && Current Control
 oForm.ActiveControl.FontBold = THIS.Value

 CASE THIS.Parent.nAppliesTo = 2 && Text and edit boxes
 oForm.SetAll('FontBold', THIS.Value, 'TEXTBOX')
 oForm.SetAll('FontBold', THIS.Value, 'EDITBOX')

 CASE THIS.Parent.nAppliesTo = 3 && All Controls
 oForm.SetAll('FontBold', THIS.Value)
ENDCASE

Для события активации фокуса: GotFocus, соответствует одна строка программного Кода. Каждое соответствующее событие GotFocus содержит указанную командную строку:

CopyCode image Копировать Код
THISFORMSET.tbrEditing.Refresh(THIS)

Метод Refresh набора инструментов Форматирования tbrEditing обновляет отображение изменяемого Контрола, который передается в рассматриваемый Метод по-ссылке, как активный, текущий параметр.

См. также

Задачи

Примеры Решений

Описание

Выбор Шрифта, фундаментальный класс
Выбор Размера Шрифта, фундаментальный класс

Другие ссылки

Примеры Решений для Меню и инструментов Toolbar

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Coordinate Menu Items and Toolbar Buttons Sample

Visual FoxPro 9.0 Samples
Координирование Элементов (пунктов) Меню с кнопками Toolbar, пример
См. также

Программный Файл: ...\Samples\Solution\Menus\Toolmenu.scx

Данный Пример демонстрирует координирование Пунктов Меню и кнопок инструментария ToolBar, что обеспечивает соответствующую функциональность.

В некоторых случаях требуется совместить выполняемые функции как для пунктов Меню, так и для кнопок Инструментария (ToolBar). Например, в стандартном Меню Visual FoxPro вы можете сохранить отредактированный Файл нажав кнопку Save в системном ToolBar, или выбрав соответствующий пункт Save из системного меню File.

В рассматриваемом примере используются следующие Компоненты:

Компонент | Краткое Описание
Toolmenu.scx | Форма
tbrBackColor из библиотеки Solution.vcx | Инструмент ToolBar
Toolmenu.mnx | Меню

В коде События Init тестовой Формы создается объект ToolBar, ссылка на который сохраняется в свойстве Формы: oToolbar.

CopyCode image Копировать Код
SET CLASSLIB TO ..\solution
This.oToolbar = CREATEOBJECT('tbrbackcolor')

* Position the toolbar and show it
THIS.oToolbar.Left = THIS.Left + 10
THIS.oToolbar.Top = THIS.Top - 50
THIS.oToolbar.Visible = .T.

* Push the current menu on the stack so it can be
* restored in the Destroy event of the form.
PUSH MENU _MSYSMENU

* Run the menu
DO toolmenu.mpr

Чтобы не выполнять двойное программирование функциональности кнопки ToolBar и пункта Меню, или вносить требуемые изменения в программный Код выполняемых функций только в одном месте, рекомендуется использовать следующую команду привязки пункта меню к уже созданной кнопке ToolBar (функциональный код которой уже создан):

CopyCode image Копировать Код
_VFP.ActiveForm.oToolbar.cmdRed.click

Для стандартной команды управления доступностью рассматриваемого пункта Меню ( SKIP FOR ), в качестве логического выражения может передаваться статус доступности соответствующей кнопки Инструмента ToolBar. Например, следующий далее фрагмент команды (Set Skip) может быть использован для управления доступностью первого пункта Меню, который определяет требуемое Логическое выражение:

CopyCode image Копировать Код
!_VFP.ActiveForm.oToolbar.cmdRed.Enabled

См. также

Задачи

Примеры Решений

Описание

Локатор Пунктов, фундаментальный класс
Инструмент Форматирования, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Меню и инструментов Toolbars

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Create Dynamic Shortcut Menus Sample

Visual FoxPro 9.0 Samples
Пример создания динамического меню быстрого вызова
См. также

Файл: ...\Samples\Solution\Menus\Dynshort.scx

Этот пример иллюстрирует альтернативный путь создания меню быстрого вызова.

Меню быстрого вызова в примере Отображение меню быстрого вызова (команд) было создано в Конструкторе Меню. Преимущества использования Конструктора Меню состоит в удобстве разработки меню, способности созданиякаскадного меню и простой интеграции меню в форму. Однако, при использовании Конструктора Меню Вам понадобятся отдельные .mnx, .mnt, и .mpr файлы для каждого меню быстрого вызова. Если Вы сделаете изменение в меню, то снова потребуется его сгенерировать и скомпилировать.

Движителем динамического меню быстрого вызова является пользовательский класс, который Вы можете добавить в любую форму: menulib in ...\Samples\Classes\Utility.vcx. В этом классе метод ShowMenu определяет меню и отображает его в позиции MousePointer как это определено функциями MROW( ) и MCOL( ).

Для создания меню быстрого вызова в событии объекта RightClick проделайте следующее:

  1. Создайте массив с пунктами меню быстрого вызова.

  2. Передайте массив в метод ShowMenu класса menulib.

  3. Обработайте пользовательский выбор путем проверки значения функции BAR( ).

Ниже приведен код события формы RightClick:

CopyCode image Копировать код
LOCAL laMenu[5]

laMenu=""
laMenu[1]="\<Center"
laMenu[2]="\<Font..."
laMenu[3]="\<Minimize"
laMenu[4]="\-"
laMenu[5]="E\<xit"
THISFORM.oMenuShortcut.ShowMenu(@laMenu)
DO CASE
   CASE BAR()=1
      THISFORM.AutoCenter=.T.
   CASE BAR()=2
      THISFORM.SetFont
   CASE BAR()=3
      THISFORM.WindowState=1
   CASE BAR()=5
      THISFORM.Release
ENDCASE

См. также

Задачи

Пример добавления меню быстрого запуска к Объекту
Пример отображения меню быстрого запуска
Примеры решений

Другие ресурсы

Примеры решений Меню и Панелей инструментов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Disable or Display a Check beside a Menu Item Sample

Visual FoxPro 9.0, Примеры
Отключение или Отображение Метки (галочки) пункта Меню, пример
См. также

Программный Файл: ...\Samples\Solution\Menus\Chkmenu.scx

В данном примере иллюстрируется динамическое Отключение конкретного Пункта Меню, а также отображение специальной Метки (галочки) у требуемого пункта Меню.

Подсистема Меню данного примера создана при помощи Дизайнера Меню и активируется при загрузке Тестовой Формы.

CopyCode image Копировать Код
DO chkmenu.mpr

Для отключения активности Пункта Меню рекомендуется включить в стандартную команду SET SKIP OF некоторое логическое выражение, вычисляемое как = False (.F.). Например, следующая далее командная строка из События InteractiveChange Контрола Check Box выполняет команду SET SKIP OF, которая, в зависимости от передаваемого текущего значения указанного Контрола, отключает / включает рассматриваемай пункт Меню, (1-ый).

CopyCode image Копировать Код
SET SKIP OF BAR 1 OF checkitems !THIS.Value

Для размещения рядом с некоторым пунктом Меню специальной отметки (галочки), включите логическое выражение, вычисляемое как = True (.T.) после ключевого слова TO в стандартной команде SET MARK OF. Например, во фрагменте программного кода уже указанного события InteractiveChange Контрола Check Box команда SET MARK OF используется для управления данным пунктом Меню, в зависимости от текущего значения свойства Value Контрола Check Box.

CopyCode image Копировать Код
SET MARK OF BAR 1 OF checkitems TO THIS.Value

См. также

Задачи

Примеры Решений

Описание

Фундаментальные Классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Меню и Toolbar

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Display Shortcut Menus Sample

Visual FoxPro 9.0 Samples
Отображение меню быстрого вызова (команд)
См. также

Файл: ...\Samples\Solution\Menus\Shortcut.scx

Этот пример иллюстрирует отображение меню быстрого вызова когда пользователь щелкает на объекте правой клавишей мышки. Если меню быстрого вызова создано в Конструкторе меню, то код в форме для активации этого меню выглядит очень просто. Следующий код ассоциирован с событием RightClick формы:

CopyCode image Копировать код
    DO frmshort.mpr WITH THIS

Следующий код ассоциирован с событием RightClick элемента EditBox формы:

CopyCode image Копировать код
DO edtshort.mpr WITH THIS

Меню FRMSHORT

Меню FRMSHORT предназначено для приема в качестве параметра объекта-формы. В окне редактирования кода установки (setup) находится следующий код:

CopyCode image Копировать код
PARAMETER oREF
#PREPOP

Директива #PREPOP заставлять выполняться перед командой ACTIVATE POPUP код, набранный в окне редактирования кода завершения (cleanup) меню. Это делает возможным блокировку или разблокировку пунктов меню во времени выполнения, а также позволяет отображать отметки (check marks) рядом с пунктами меню.

Код, ассоциированный с пунктами меню, устанавливает свойства объекта, которые были переданы в .mpr как параметр. Например, пункт Always on top устанавливает свойство AlwaysOnTop формы.

Следующий код, включенный в окно редактирования кода завершения (cleanup) меню, отображает отметку (check mark) рядом с пунктом меню Always on top если свойству формы AlwaysOnTop присвоено значение "истина" (.T.).

CopyCode image Копировать код
SET MARK OF BAR 4 OF frmshort TO oRef.AlwaysOnTop

Меню EDTSHORT

Меню EDTSHORT также принимает объект в качестве параметра в своем коде установки (setup code). Поскольку нет необходимости отображать контрольную отметку (check mark) рядом с пунктами в этом меню, директива #PREPOP не используется.

Альтернативный путь отображения меню быстрого вызова описан в примере Создание динамического меню быстрого вызова.

См. также

Задачи

Примеры решений
Пример создания динамического меню быстрого вызова

Ссылки

Фундаментальные Классы Visual FoxPro от A до Z

Другие ресурсы

Примеры решения для Меню и Панелей инструментов (Menus and Toolbars)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Use Style Toolbars Sample

Visual FoxPro 9.0, Примеры
Использование Стилей инструментальных линеек (Toolbars), Пример
См. также

Программный Файл: ...\Samples\Solution\Sedona\Newtbars.scx

Данный пример демонстрирует использование динамически настраиваемых картинок в пользовательском объекте toolbar, в стиле инструментальных линеек Microsoft Office. Данный стиль командных кнопок строится с использованием свойства объекта VisualEffect, для двух заданных командных кнопок. Стандартное меню также может использовать аналогичный эффект для актуализации доступности пунктов меню.

Следующий пример содержит следующий классы:
Класс | Библиотека | Описание
tbar1 | newtbars.vcx | Содержит класс toolbar для отображения картинок с помощью простейших командных кнопок.

Дополнительная информация по имеющимся фундаментальным классам представлена в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Решения для построения Меню и Toolbars, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Programming Solution Samples

Visual FoxPro 9.0 Samples
Примеры Программных Решений

Здесь демонстрируются Примеры Программных Решений, которые вы можете использовать при разработке своих Приложений Visual FoxPro.

В данном Параграфе

Пример Связывания, Обработки, Отключения и Восстановления Событий Объектов

Демонстрируются способы Связывания (перехвата) стандартных Событий Объектов, Активация и обработка данных Событий с помощью программного Кода, Освобождение Событий и Восстановление их стандартной Обработки Объектами.

Пример Обработки Членов (элементов) Класса

В данном разделе иллюстрируются механизмы определения субклассированных членов Класса, с помощью которых вы можете для выбранного родительского контейнерного Объекта определить библиотеку Членов Класса, увеличить или уменьшить количество необходимых Членов требуемого Класса, рассмотреть и использовать полученное Семейство Членов как в режиме Разработки, так и в режиме Выполнения Приложения.

Пример обработки Событий в Объектах типа OLE Drag-and-Drop

Рассматриваются вопросы и пути использования механизмов "OLE Drag and Drop" при включении программного Кода в События OLEDragDrop и OLEDragOver.

Пример форматирования Данных в Объектах типа OLE Drag-and-Drop

Рассматриваются вопросы и пути использования механизмов "OLE Drag and Drop" при включении программного Кода при обработке Элементов Отчетов для Событий OLEDragDrop и OLEDragOver.

Пример передачи строго типизированных Массивов

Демонстрируются способы передачи строго типизированных массивов методом "по-ссылке" в соответствующие внешние объекты COM, с использованием стандартной функции COMARRAY. В данном примере демонстрируется также общие принципы Интерфейса, осуществляющего синтаксис декларации массивов типа ByRef, который обычно используется в Библиотеках Типов COM.

Пример использования команды SCATTER NAME...ADDITIVE

Рассматриваются способы Изменения и Сохранения Данных некоторой Таблицы с помощью созданного в Форме специального Свойства (Буфера Данных); при этом используется команда SCATTER с дополнительными секциями NAME и ADDITIVE; а также соответствующая команда GATHER с аналогичной секцией NAME.

Пример Структурированной Обработки Исключительных Ситуаций (Ошибок) (Visual FoxPro)

В данном примере демонстрируется использование команды TRY ... CATCH выполняющей обработку возможных Ошибок, восстановление ресурсов в специальном блоке FINALLY, а также дополнительную обработку Исключений в блоке THROW.

Пример Taskbar Icon

В данном примере приводится некоторый вариант использования системного Класса Systray, который выполняет поддержку Иконок, размещаемых в системной области Taskbar Notification Area. Данный класс Systray поддерживает также обработку Событий манипулятора Мышь, подсказки и комментарии типа Balloon, а также Контекстные Меню Visual FoxPro, которые вы можете создать с помощью стандартного средства Visual FoxPro Menu Designer.

Пример поддержки и использования Тем Windows XP

Демонстрируются различные уровни поддержки системой Visual FoxPro Тем Операционной системы Windows XP.

Связанные Секции

Примеры Решений

Содержатся ссылки на разделы подсистемы Помощи, в которых описываются и демонстрируются разнообразные функциональные возможности Visual FoxPro, которые могут быть использованы независимо друг от друга.

Примеры Библиотек Классов

Содержатся ссылки на примеры библиотек классов, которые вы можете эффективно использовать при разработке своих Приложений.

Примеры Фундаментальных Классов

Содержатся ссылки на примеры, демонстрирующие использование в приложениях Фундаментальных Классов Visual FoxPro.

Упражнения / Инструкции

Содержатся разделы по описанию и иллюстрации по-шаговых Инструкций выполнения Общих Сценариев.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Bind, Raise, Unbind, and Retrieve Events Sample

Visual FoxPro 9.0 Samples
Образец решения - привязка событие, их инициирование и освобождение, извлечение информации о событии
Смотрите также

Файл: ...\Samples\Solution\Toledo\FrmEvents.scx

Этот образец демонстрирует првязку событий, инициирование событий программным способом, освобождение событие и извлечение информации о событии для системной переменной _SCREEN иди для главного окна Visual FoxPro. В примере, вы можете вручную привязать событие для _SCREEN путем выбора события из комбобокса или вызвать те же самые события и их соответствующие обработчики с помощью мыши.

Для получения более подробной информации о _SCREEN, смотрите описание Системная переменная _SCREEN.

Привязка событий

Для ответа на события Visual FoxPro, используйте функцию BINDEVENT( ). В этом примере, функция BINDEVENT( ) вызывается в пользовательском методк InitBindEvent и привязывает несколько событий _SCREEN к методам формы. Когда происходит одно из событий _SCREEN, вызывается метод соответствующего обработчика:

CopyCode image Скопировать код
BINDEVENT(_SCREEN,"Resize",ThisForm,"screenresize")
BINDEVENT(_SCREEN,"Mousedown",ThisForm,"screenmousedown")
BINDEVENT(_SCREEN,"Mouseup",ThisForm,"screenmouseup")
BINDEVENT(_SCREEN,"Rightclick",ThisForm,"screenrightclick")
BINDEVENT(_SCREEN,"Dblclick",ThisForm,"screendblclick")

Для получения более подробной информации, смотрите описание BINDEVENT() и Событие Init.

Инициирование события программным способом

Для программного инициирования события, используйте функцию RAISEEVENT(). В этом примере, когда производится выборка в комбобоксе, событие InteractiveChange использует возвращаемое значение для программного инициирования указанного события.

CopyCode image Скопировать код
RAISEEVENT(_SCREEN,this.Value)

Для получения более подробной информации, смотрите описания Функция RAISEEVENT() и Событие InteractiveChange.

Unbinding Events

Для освобождения обработчиков события, используйте функцию UNBINDEVENTS(). В этом примере, освобождение событий для _SCREEN производится в пользовательском методе UnbindHandlers .

CopyCode image Скопировать код
UNBINDEVENTS(_SCREEN)

Для получения более подробной информации, смотрите описания Функция UNBINDEVENTS().

Извлечение информации о привязках событий

Для извлечения существующих привязок событий в массив, используйте функцию AEVENTS(). В этом примере, пользовательский метод ScreenDblClick, который привязан к событию _SCREEN DblClick, использует функцю AEVENTS( ) для вывода числа связанных событий:

CopyCode image Скопировать код
AEVENTS(laEvents,Thisform)

Для получения более подробной информации, смотрите описания Функция AEVENTS() и Событие DblClick.

Смотрите также

Концепции

Привязка событий к объектам Visual FoxPro

Прочие ресурсы

Образцы решений программирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Member Classes Sample

Visual FoxPro 9.0 Образцы
Образец Member Classes
Смотрите также

Файл: ...\Samples\Solution\Toledo\frmMember.scx

Вы можете указать классы члена для перечисленных ниже контейнерных классов:

  • PageFrame (Page member class)

  • OptionGroup (OptionButton member class)

  • CommandGroup (CommandButton member class)

  • Grid (Column member class)

  • Column (Header member class)

Кроме того, вы можете создать субклассы классов Page, OptionButton, CommandButton, Column и Header.

В этом образце, вы можете выбрать родтельский контейнер, установить библиотеку класса члена, увеличить или уменьшить число членов и выбрать поведение показа члена в design или run time.

Note Замечание

Понаблюдайте различие в поведении, которое существует в design и run time. Изменения в MemberClass воздействуект на все классы члена в. Однако в run time изменению подвергаются только новые члены.

Этот образец использует классы члена определенные как в программном файле (.prg), так и в библиотеке визуальных классов (.vcx). Для получения более подробной информации смотрите Классы членов.

Указание класса члена и библиотеки класса члена

Вы можете указать класс члена и его библиотеку класса, которые вы желаете использовать в контейнерах PageFrame, OptionGroup, CommandGroup, Grid и Column установкой свойств MemberClass и MemberClassLibrary этих объектов так, как это показано в приведенном ниже примере:

CopyCode image Скопировать код
MemberClassLibrary = "MyClasses.vcx"
MemberClass = "MyClassName"

- или -

CopyCode image Скопировать код
MemberClassLibrary = "MyClasses.prg"
MemberClass = "MyClassName"

Вы должны установить значение свойства MemberClassLibrary до установки свойства MemberClass.

Для получения более подробной информации смотрите Свойство MemberClass и Свойство MemberClassLibrary.

Смотрите также

Прочие ресурсы

Образцы решений по программированию

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OLE Drag-and-Drop Events Sample

Visual FoxPro 9.0 Samples
Пример. Обработка событий OLE Drag-and-Drop
См. также

Файл: ...\Samples\Solution\Tahoe\Oledd.scx

Данный пример демонстрирует пути использования механизма OLE drag and drop при программировании событий OLEDragDrop и OLEDragOver.

См. также

Описание

OLE Drag-and-Drop

Другие ссылки

Примеры Программных Решений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


OLE Drag-and-Drop Data Formats Sample

Visual FoxPro 9.0, Примеры
Форматирование данных OLE Drag-and-Drop, Пример
См. также

Файл: ...\Samples\Solution\Tahoe\Querydd.scx

В данном примере демонстрируется, как использовать механизм OLE drag and drop для обработки данных, размещая соответствующий программный код в События OLEDragDrop и OLEDragOver.

См. также

Описание

OLE Drag-and-Drop

Другие ссылки

Примеры Решений Программного кода

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Pass Strongly Typed Arrays Sample

Visual FoxPro 9.0, Примеры
Надежная передача Массивов, пример
См. также

Программный Файл: ...\Samples\Solution\Toledo\ComArray.scx

В данном примере показывается, как надежно (Strongly Typed) передавать Массивы в Сервер COM при помощи стандартной функции COMARRAY. Указанный сервер COM выполняет вычисления или изменения элементов переданного Массива. В клиентской Форме используется команда DIMENSION для определения размерности передаваемого массива, в которой указывается опция AS, определяющая соответствующий тип элементов рассматриваемого массива (надежная типизация).

В рассматриваемом примере используется сервер COM, который создан в системе Visual FoxPro. При этом также демонстрируется использование Декларации используемых Элементов, которая определяет Типы передаваемых массивов, которые, в свою очередь, должны соответствовать типам параметровByRef, объявленных в Библиотеке Типов COM (Type Library).

При запуске данного примера, пользователю задается Запрос на Регистрацию указанного Сервера COM. Данный сервер COM исключается из Реестра после завершения работы данного Примера.

Для передачи Матрицы, как строго типизированного массива, в Сервер COM:

  • В тестовой Форме Примеры, введите требуемое значение в Матрицу, и нажмите кнопку Determinant (Определитель).

Сервер COM вычисляет Определитель рассматриваемой Матрицы при помощи метода Редукции Гаусса-Джордана.

Дополнительную информацию смотрите в разделах: COMARRAY( ), функция и DIMENSION, команда.

Передача строго типизированных массивов.

Следующий фрагмент программного кода использует команду DIMENSION...AS, которая декларирует строго типизированный массив, который используется в пользовательском Методе: CallCOMServer:

CopyCode image Копировать Код
DIMENSION laMatrix(ThisForm.Matrixdim, ThisForm.Matrixdim) AS Double

Данный Массив передается "по-ссылке" в рассматриваемый сервер Visual FoxPro COM с помощью функции COMARRAY( ):

CopyCode image Копировать Код
* Instantiate COM server.
loMatrixCalc = CREATEOBJECT("VFPCOMArray.COMARRAYDemo")
* Array is one based and is passed by reference.
COMARRAY(loMatrixCalc,11)
* Pass array to COM server by reference "As Double".
lnResult = loMatrixCalc.Determinant(@laMatrix)

Передача параметров COM "по-ссылке".

В рассматриваемом примере, используется пользовательский метод RegisterCOMServer, который содержится в Сервере Visual FoxPro COM, компилируется и регистрируется "на-лету", при выполнении Примера. Рассматриваемый программный Код сервера COM иллюстрирует Синтаксис декларации строго типизированных массивов, передаваемых в данный Сервер. При этом, в соответствующей Библиотеке Типов COM выполняется следующая Декларация исполняемого Метода Вычисления Определителя Матрицы:

CopyCode image Копировать Код
FUNCTION Determinant(mat[] AS Double @) AS Double

Указанный массив корректно записывается в Библиотеку Типов как строго типизированный массив. Специальный значек (@) показывает, что принимаемый массив передается "по-ссылке" (ByRef), в Библиотеке Типов.

См. также

Другие ссылки

Примеры Решений для процессов программирования

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SCATTER NAME...ADDITIVE Sample

Visual FoxPro 9.0 Samples
SCATTER NAME...ADDITIVE, Пример использования
См. также

Программный Файл: ...\Samples\Solution\Toledo\ScatterName.scx

В данном Примере, демонстрируются способы и методы изменения, сохранения и восстановления Значений Свойств Формы при использовании стандартных Команд: SCATTER, с секциями NAME и ADDITIVE; а также команды GATHER, с секцией NAME.

В рассматриваемом Примере, сначала вы можете обновить значения свойств Объекта, восстановив их из Таблицы, при этом работает вспомогательная секция ADDITIVE базовой команды SCATTER NAME. Далее, вы можете изменять размеры Формы, базовый Цвет, координаты размещения Формы, минимизировать Форму; и в завершение закрыть Форму. Когда вы запускаете рассматриваемую Форму снова, в следующий раз, выполненные на предыдущем Шаге изменения Вида Формы восстанавливаются. Демонстрируется сохранение и восстановление параметров Изображения (состояния) объекта Форма.

Дополнительную информацию смотрите в разделах: GATHER, команда и SCATTER, команда.

Определение Свойств Формы из Таблицы (.dbf), с помощью команды SCATTER...NAME... ADDITIVE.

В приведенном далее программном фрагменте из События Init открывается Таблица, в которой содержатся дополнительные свойства, которые определяются для рассматриваемой Формы:

CopyCode image Копировать Код
USE (ThisForm.cRunPath+"FormProps")
SCATTER NAME ThisForm ADDITIVE
USE IN FormProps

Ключевое слово рассматриваемой команды: ADDITIVE позволяет программно добавлять и изменятьСвойства Объектов.

Сохранение значений Свойств Формы в Таблицу (.dbf), с помощью команды GATHER NAME.

В приведенном далее фрагменте программного кода, из события Destroy, при закрытии данной Формы, сохраняются значения Свойств в полях Таблицы, размещенной в одном каталоге с файлом Формы.

CopyCode image Копировать Код
USE (ThisForm.cRunPath+"FormProps")
GATHER NAME ThisForm
USE IN FormProps
Note Обратите Внимание:

Рассматриваемая Таблица (параметров Формы) должна быть создана в некотрой Базе Данных, чтобы в ней размещались Поля, имена которых могут быть длиной более 10-ти символов.

См. также

Другие ссылки

Примеры Программных Решений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Structured Exception Handling Sample (Visual FoxPro)

Visual FoxPro 9.0 Samples
Образец структурированной обработки исключений (Visual FoxPro)
Смотрите также

Файл: ...\Samples\Solution\Toledo\TryCatch.scx

Вы можете осуществить структурированную обработку исключений с помощью структуры обработки ошибок TRY...CATCH...FINALLY для запуска конкретного блока предложений, если указанное исключение произошло во время исполнения вашей программы. Когда происходит ошибка или возникает исключение, то тогда создается объект Exception.

Этот образец показывает, как отловить исключение с помощью блоков TRY и CATCH, очистить ресурсы с помощью блока FINALLY и переместить, или передать исключение высшему обработчику с помощью THROW.

Для получения более подробной информации смотрите описания Структурированная обработка ошибок, Команда TRY...CATCH...FINALLY Command и Объект Exception.

Отлов исключений

В этом образце, вы можете выбрать ошибку или исключение, которые вы желаете в блоке TRY и посмотреть свойства объекта Exception, сгенерированного из исключения.

Для проявления исключения

  • На закладке CATCHing Exceptions выберите желаемую ошибку из выпадающего списка и щелкните по Execute TRY block.

Исполняется блок CATCH и отображает свойства объекта Exception.

Приведенный код показывает структуру обработки ошибки в этом, частном образце. Обычно код, который может сгенерировать исключение появляется в блоке TRY; однако, команда ERROR вызывается специально для того, чтобы показать как передается управление в блок CATCH только в случае возникновения ошибки.

Вы можете использовать свойство UserValue объекта Exception для хранения любой дополнительной информации об ошибке.

CopyCode image Скопировать код
TRY
   ERROR nErrorCode
CATCH TO myException
myException.UserValue = "I can handle this."
ENDTRY

Очистка ресурсов

Блок FINALLY обычно очищает любые ресурсы, размещаемые блоком TRY и всегда является последним блоком, исполняемым перед выходом из структурыTRY...CATCH...FINALLY.

Для наблюдения, как FINALLY исполняется после всего прочего кода

  • На закладке Using FINALLY выберите опцию или напечатайте имя таблицы и путь в combobox и щелкните по TRY.

Приведенный ниже пример кода показывает, как исполняется FINALLY после всего прочего кода.

CopyCode image Скопировать код
TRY
   lnPrevArea = SELECT()
   USE CUSTOMERS IN 0 EXCLUSIVE
* обрабатывает при отсутствии файла.
CATCH TO myException WHEN myException.ErrorNo = 1
* Обрабатывается, если файл занят.
CATCH TO myException WHEN myException.ErrorNo = 3
* Обрабатывается, когда запрещен доступ к файлу.
CATCH TO myException WHEN myException.ErrorNo = 1704
* отлавливается все остальное.
CATCH TO myException

* Код в блоке FINALLY исполняется всегда.
FINALLY
IF USED('CUSTOMERS')
      USE IN CUSTOMERS
   ENDIF
   SELECT (lnPrevArea)
ENDTRY

Передача исключения

Для передачи исключения обработчику ошибок более высокого уровня, используйте предложение THROW в блоке CATCH.

Этот пример использует вложенные блоки TRY. Самый внутренний блок TRY может обработать только первую ошибку. Для последующих ошибок, самый внутренний блок TRY передает объект Exception внешнему блоку TRY. Когда конкретное исключение передано, в данном примере THROW oMyException, свойство UserValue отловленного исключения во внешнем блоке содержит исключение, переданное из внутреннего блока.

CopyCode image Скопировать код
TRY
   * исполняется некий код.
   TRY
      * Произошла ошибка.
      ERROR 3
      CATCH TO InnerException WHEN InnerException.ErrorNo = 1
      InnerException.UserValue = "INNER TRY: I can handle this."
      CATCH TO InnerException
      InnerException.UserValue = "INNER TRY: I can't handle this."
      * Ошибка не может быть обработана, поэтому передается внешнему блоку TRY.
      THROW InnerException
   ENDTRY
CATCH TO OuterException
* В этом случае, когда исключение передано, отловленное исключение содержится в свойстве
* UserValue.
? OuterException.UserValue.UserValue
ENDTRY

Вы можете, кроме того, передавать наверх строку сообщения. В этом случае, строка сообщения хранится в свойстве UserValue внешнего исключения:

CopyCode image Скопировать код
TRY
   * Запускается некий код.
   TRY
      * Произошла ошибка.
        ERROR 1
   CATCH
      THROW "INNER TRY: I can't handle this one."
   ENDTRY
CATCH TO OuterException
   ? OuterException.UserValue
ENDTRY

Смотрите также

Прочие ресурсы

Образцы решений программирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Taskbar Icon Sample

Visual FoxPro 9.0 Samples
Образец (пример) Taskbar Icon
См. также

File: ...\Samples\Solution\Toledo\SysTray_Sample.scxLibrary: ...\ Samples\Solution\Toledo\SysTray.vcxReadMe: ...\Samples\Solution\Toledo\SysTray_ReadMe.htm

Данный пример демонстрирует общее использование объекта-класса Systray. Данный класс поддерживает использование иконок Taskbar Notification Area. Данный класс поддерживает также события мышки, balloon tips, Visual FoxPro shortcut menus for your taskbar icon, которые Вы можете активно использовать при разработке их в соответствующем Visual FoxPro Menu Designer.

Для дополнительной информации о свойствах, методах, событиях библиотеки классов Systray см. соответствующий файл SysTray_ReadMe.htm.

См. также

Описание

Дизайнеры Menu и Shortcut

Другие ссылки

Программирование образцов Решений (Programming Solution Samples)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Windows XP Themes Support Sample

Visual FoxPro 9.0 Примеры
Поддержка Тем Windows XP, пример
См. также

Программный Файл: ...\Samples\Solution\Toledo\Themes.scx

В данном примере демонстрируется использование Включения/Выключения поддержки Тем Windows-XP на различных уровнях элементов управления Visual FoxPro. Поддержка Тем (Themes), по-умолчанию, включена для всех визуальных Контролов и Контейнеров VFP.

Система Visual FoxPro поддерживает управление Темами Windows XP на трех уровнях:

  • На уровне Приложения используется стандартная функция SYS(2700) - Включение поддержки Тем Windows XP; а также свойство _SCREEN Themes

  • На уровне Формы используется соответствующее значение свойства Form Themes

  • И, соответственно, на уровне конкретного Контрола (Control-level)

Поддержка Тем на Уровне Приложения

В рассматриваемом Примере, вы можете Включить поддержку Тем для всего Приложения Visual FoxPro с использование стандартной функции: SYS(2700) - Включение поддержки Тем Windows XP; для этого достаточно в программном Коде указать следующий фрагмент:

CopyCode image Копировать Код
SYS(2700,1)

Для Выключения поддержки Тем на уровне Приложения достаточно вторым параметром указать значение = 0, в параметре функции SYS(2700).

CopyCode image Копировать Код
SYS(2700,0)

Для Включения поддержки Тем с помощью системной переменной _SCREEN - достаточно выполнить следующее _SCREEN.Themes = True (.T.):

CopyCode image Копировать Код
_SCREEN.Themes = .T.

Для Выключения поддержки Тем с помощью системной переменной _SCREEN, достаточно выполнить _SCREEN.Themes = False (.F.):

CopyCode image Копировать Код
_SCREEN.Themes = .F.

Дополнительную информацию смотрите в разделах: SYS(2700) - Включение поддержки Тем Windows XP и Themes, свойство.

Поддержка Тем на уровне Формы, контейнера Form

В рассматриваемом примере, для Включения поддержки Тем Windows-XP, на уровне Формы, установите значение =Enable для свойства Формы Themes, что означает следующее: ThisForm.Themes = True (.T.):

CopyCode image Копировать Код
ThisForm.Themes = .T.

Поддержка Тем для отдельного Контрола (элемента управления)

Вы можете также Включить поддержку Тем Win-XP для отдельного Элемента Управления (Контрола). Выключение поддержки Тем уровня Контрола переопределяет установку поддержки Тем (значение свойства Themes) уровня Приложения или уровня Формы. В зависимости от конкретного Контрола, вы можете варьировать поддержку Тем Win-XP с помощью значений свойств Themes и/или Style.

Дополнительную Информацию смотрите в разделе: Style, свойство.

См. также

Другие ссылки

Примеры Решений для Программного Кода

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Reports Solution Samples

Visual FoxPro 9.0 Samples
Образцы решений для отчетов

Перечисленные ниже образцы решений показывают задачи, которые вы можете производить с отчетами.

В этом разделе

Образец: Печать процента общей суммы в отчете

Показывается, как подсчитать и отобразить значения в начале отчета, до вывода всех записей из источника данных на печать.

Образец: Печать счета

Показыватется, как отчет использует представление для объединения информации из множества таблиц, функцию для сбора данных от пользователя и раскладку отчета вида "один-ко-многим".

Образец: Печать этикеток для посылок пользователям

Показывается, как печатать почтовые наклейки.

Образец: печать информации из справочника данных

Показывается, как сгенерировать отчет с содержимым базы данных Visual FoxPro.

Образец: печать в формате каталога

Показывается, как напечатать, каталог-справочник, окружить текстом графику, изменить позицию в печати элементов управления и позицию плавающих полей ниже полей, которые имеют автоматическую подгонку размеров (stretch).

Образец: печать заказов продукта по кварталам

Показывается, как сгенерировать и отпечатать графики без приостановки нормальный операций.

Образец: печать полосы данных отчета в стиле тельняшки (Ledger)

Показывается, как распечатать список записей с чередующимся цветом фона.

Образец: использование в отчете форматирования по условию

Показывается, как изменить форматирование поля на основе значения записи.

Справочное руководство

Библиотеки классов образцов

Содержит библиотеки классов образцов, которые предоставляют функциональные возможности инкапсуляции, которые вы можете добавить в свои приложения.

Фундаментальные классы Visual FoxPro Foundation от A до Z

Описываются фундаментальные классы Visual FoxPro Foundation, которые вы можете использовать для быстрой разработки приложений.

Справочное руководство (Visual FoxPro)

Включает в себя общее описание Visual FoxPro, язык программирования, итрефейс пользователя и статьи о сообщениях об ошибках.

Связанные разделы

Образцы фундаментальных классов

Содержит образцы, которые иллюстрируют использование фундаментальных классов Visual FoxPro.

Образцы серверов (Visual FoxPro)

Содержит образцы, которые иллюстрируют сервера автоматизации (Automation Servers).

Образцы решений

Содержит образцы, которые иллюстрируют важнейшие функции Visual FoxPro и которые могут быть запущены индивидуально.

Репетиции

Предоставляются пошаговые инструкции для общих сценариев, что делает их неплохой точкой для начала изучения различных возможнотей Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Print a Percent of Total in a Report Sample

Visual FoxPro 9.0 Samples
Печать Процентов от общего Итога в Отчете, пример
См. также

Программный файл: ...\Samples\Solution\Reports\Percent.frx

В примере Отчета, имеющим Имя файла: Percent.frx, демонстрируется один из путей вычисления и отображения Итогового Значения в самом начале Отчета, до обработки всех Записей. В данном примере вычисляется Итоговое значение Процентов, которое обычно вычисляется после обработки всех Записей базовой Таблицы Отчета, в самом конце Отчета.

В рассматриваемом Отчете используются данные из Таблиц с именами: EMPLOYEE, ORDERS, которые закреплены за Средой данных Отчета (Data Environment). Глобальная переменная и соответствующее выражение используют поле ORDER_AMT, для которого вычисляются требуемые Проценты.

Для сортировки исходных данных, необходимой при группировке Записей, используемой в Отчете, для свойства Order от объекта Cursor1 используется Тэг Индекса с именем EMP_ID.

Глобальная переменная, nTotalSales, созданная в Событии Init, для объекта Cursor2, загружается общее значение сумм всех Ордеров. Это будет предварительный проход базовой Таблицы. Так как глобальная переменная декларирована в событии Init объекта Cursor2, то область видимости данной переменной обеспечена.

Далее: приводится пример Выражения, размещаемого в полосе Отчета Group Footer, в котором вычисляется и отображается (печатается) величина процента для каждого Служащего:

CopyCode image Копировать Код
STR(INT((emp_total / nTotalSales)*100)) + " " + "%"

Далее: приводится пример выражения, размещаемого в полосе Отчета Summary, в котором вычисляется и отображается Общая Сумма процентов для всех Служащих:

CopyCode image Копировать Код
STR(INT((nTotalSales / nTotalSales)*100)) + " " + "%"

См. также

Задачи

Печать Счет-Фактуры, пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Решения для Отчетов, примеры

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Print an Invoice Sample

Visual FoxPro 9.0, Прмеры
Печать Счет-Фактур (Invoice), Пример
См. также

Программный Файл: ...\Samples\Solution\Reports\Invoice.frx

В рассматриваемом Отчете демонстрируется Счет-Фактура, которая использует комбинацию Представления выборки из нескольких Таблиц, которые функционально связаны (информация о Клиенте - с данными о товарах, связанных отношением типа "один-ко-многим"). При получении Отчета, сначала запрашивается дополнительная информация (вызывается функция из Модуля: Datepick.prg). Далее, на основании введенного интервала Дат, выполняется выборка соответствующих данных, и печать итогового Отчета (Счет-Фактуры по Клиенту).

The Record Source (Исходные Данные) Представление, с именем INVOICE, которое основано на данных из тестовой Базы Данных TESTDATA, на которой основано большинство примеров Решений. Рассматриваемое Представление - есть комбинированная выборки из Таблиц: CUSTOMER (Клиенты), ORDERS (Ордера), ORDITEMS (части Ордеров), PRODUCTS (Товары). Ключевым Фильтром при получении Счет-Фактур является временной Интервал, который задается параметрами Представления, dStart_Date / dEnd_Date, (начальная и конечная Даты).

The Data Environment () Рассматриваемое Представление рассматривается как Объект Среды Данных. Для уточнения основных параметров Представления, в программном Коде События BeforeOpenTables Среды Данных объявляются Глобальные переменные: dStart_date, dEnd_Date, cOldPath. Первые две определяют временной Интервал Запрашиваемых Данных. Третья переменная, cOldPath, содержит текущее значение глобальной установки PATH, которая восстанавливается в программном коде события Destroy. Переменная каталогов поиска изменяется в целях однозначного определения требуемой, вызываемой функции, в которой определяются параметры Представления (временной интервал). После этого выполняется требуемый Запрос в Базе Данных.

Программный код События (метода) Destroy используется для восстановления начальной среды данных очистки созданных глобальных переменных, восстановлению глобальной установки системной переменной PATH, которая изменялась перед выполнением Отчета.

The Datepick.prg (Модуль) В этом модуле определяется требуемая функция, которая вызывается из Класса frmDATEPICK. В классе Формы определено четыре (4) контрола типа Combo Box, которые определяют значения требуемых глобальных переменных, dStart_Date, dEnd_Date. Указанные четыре параметра, nFromMonth, nFromYear, nToMonth, nToYear, определяют месяц-год начала и месяц-год окончания задаваемого временного интервала, которые определяют значения глобальных переменных dStart_Date / dEnd_Date. Данная функция проверяет также ввод данных пользователем в каждый Контрол и выполнение условия, чтобы начальная дата была больше меньше конечной даты.

The Report Layout (Настройка Отчета) При настройке Отчета, в Полосе Group Header размещается информация о Клиенте (наименования, счета), в Полосе Detail содержатся данные об Ордерах, их элементах, в Полосе Group Footer размещаются итоговые, вычисляемые значения выбранных Счет-Фактур.

Для более корректного размещения соответствующей информации, содержащейся в нескольких полях Таблиц используются разнообразные разделители. Для вычисления значений итоговых Контролов, размещенных в Полосе Group Footer, определяются две переменные Отчета, nSubtotal / nDiscount, в которых подсчитываются частичная сумма и текущий процент Дисконта.

См. также

Задачи

Печать Почтовых Открыток Клиента, пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Print Customer Mailing Labels Sample

Visual FoxPro 9.0, Примеры
Распечатка клиентских почтовых открыток, Пример
См. также

Файл: ...\Samples\Solution\Reports\Cust.lbx

В данном примере показана распечатка клиентских почтовых открыток, по одной на каждого клиента из таблицы Customer.

Открытка содержит следующие поля из таблицы данных:

  • Company (Предприятие)

  • Contact + ", " + Title (телефон, контакт с сотрудником)

  • Address (Адрес, местоположение)

  • City + ", " + Region+ " " + Country (город, регион, страна)

Отображаемый Логотип Предприятия выполнен при использовании контрола OLE container.

См. также

Задачи

Распечатка Счет-фактуры, Пример
Примеры Решений

Описание

Базовые классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Print Data Dictionary Information Sample

Visual FoxPro 9.0, Примеры
Распечатка информации из Словаря Данных , Пример
См. также

Файл: ...\Samples\Solution\Reports\Dbctofrx.scx

В данном примере показано, как получить Отчет о содержании Контейнера Базы Данных Visual FoxPro (dbc). Просто выберите соответствующий файл .dbc, и будет сгенерирован Отчет, вывод информации в режиме PreView. Если вам требуется твердая копия, то можно данный отчет напечатать.

В данном примере создается временный Курсор, в который загружаются записи при сканировании выбранного контейнера .dbc. Таблицы и Представления представлены вместе с соответствующими индексными файлами.

См. также

Задачи

Распечатка Счет-фактуры, Пример
Примеры Решений

Описание

Базовые классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Print in Catalog Format Sample

Visual FoxPro 9.0, Примеры
Печать Отчета в форме Каталога, пример
См. также

Программный Файл: ...\Samples\Solution\Reports\Wrapping.frx

В настоящем разделе описывается Отчет с именем Wrapping.frx, в котором формируются данные Сотрудников (Служащих) - Employee, в этом Отчете иллюстрируются варианты специфического размещения Текстовых Элементов и Графики (картинок) - обтекание текста вокруг картинок, альтернативное размещение некоторых Объектов Отчета, динамические координаты Контролов в зависимости от размеров других Элементов Оточета. В качестве Среды Данных рассматриваемого Отчета используется таблица EMPLOYEE из Базы Данных Testdata.dbc, используемой в проекте Solution (Примеры Решений).

Структура Отчета, размещение Элементов Отчета

Полоса Заголовка (Title) содержит Название и краткое Описание Отчета. Детальная Полоса (Detail Band) обычно содержит информационные Поля и Метки, которые печатаются для каждой Записи Таблицы. В каждой Записи исходной Таблица размещены ссылки на 4 (четыре) категории информационных Данных:

  • Полное Имя Сотрудника ;

  • Биографические Данные ;

  • Информационный блок дополнительных данных (Адрес, Телефон) ;

  • Личная Фотография.

После вывода начальных данных (Полного Имени), в Отчете размещаются личная фотография и биографические данные, установленные характеристики олбеспечивают комбинированное размещение Текстовой и Графической Информации (обтекание картинок текстом), используется также вариантное размещение отдельных Контролов Отчета, итоговый Информационный Блок имеет динамические координаты размещения в зависимости от печатаемого размера Биографических данных и Фотографии.

Окаймление Текстом Графических Объектов

Для размещения всей Информации из соответствующего Поля Записи типа MEMO рекомендуется предварительная обработка указанного Поля, используемое выражение представлено ниже:
CopyCode image Копировать Код
LEFTC(employee.notes,nWrapCharPos)

Во втором Поле Отчета печатаются отсутствующие слова, которые не попали в первый Контрол. Для данного Контрола используется следующее выражение:

CopyCode image Копировать Код
LTRIM(RIGHTC(employee.notes,(nMemoLen-(nWrapCharPos))))

Указанные выражения для Контролов используют внутренние переменные Отчета, в зависимости от которых выполняется требуемая обработка полей типа MEMO.

  • Переменная nFirstMemoLen определяет количество символов размещаемых в первом Контроле без отсечения. Для рассматриваемого Отчета эта переменная принимает значение =185. Если вы намереваетесь использовать данный подход, то вам нужно определить максимальное значение рассматриваемого параметра, который определит количество символов, печатаемых выше графического изображения (картинки).

  • Переменная nMemoLen определяет длину символьной строки, размещенной в текущем поле типа MEMO. для этого используется следующее выражение: LENC(employee.notes).

  • Переменная nSpace определяет позицию первого Пробела после всех символов, размещаемых в первом Контроле. Для этого используется следующее выражение: AT_C(CHR(32),RIGHTC(employee.notes,(nMemoLen - nFirstMemoLen))).

  • Переменная nWrapCharPos определяет позицию, где будет выполнен переход на следующую строку. Для этого используется выражение: nSpace + nFirstMemoLen.

Алтарнативное размещение Печатаемых Объектов

В рассматриваемом Отчете, размещение основных информационных групп (бографических данных, фотографии и информационного блока) изменяется для каждой Записи в исходной Таблице. Для того, чтобы чередовать размещение основных двух групп (фотографии и информационного блока) используется специальный механизм. Третья составляющая (биография) не имеет альтернативы размещения, это начальный Элемент каждой Записи.

Сначала фотография размещается с левой стороны, а информационный блок - с правой стороны, для следующей Записи Данных указанные Элементы Отчета меняются местами, и так далее... Для отслеживания и управления указанными режимами Печати используется внутренняя переменная Отчета: nCounter, которая накапливает количество обработанных (напечатанных) Сотрудников. Условиями позиционирования каждого дублирующего набора Контролов Отчета являются простейшие условные выражения, которые размещены в соответствующих Событиях Print When (Условие Печати). Для одного набора - MOD(nCounter,2) = 0. а для второго набора: MOD(nCounter,2) = 1.

Растяжение Объектов переменной Длины

В данном Отчете выводится Блок информации, размещаемый ниже Биографических Данных. Так как размер Биографических данных может меняться для разных Записей Таблицы, то Блок Биографических данных размещается рядом с Графическим изображением (фотографией) и может занимать только отведенное для соответствующего Поля Место в Отчете. Рассматриваемый Блок Информации размещается ниже Биографии и "растягивается до конца текущей Страницы, его размер зависит от размера Биографии. Данный Блок представляет собой группу информационных Полей, Этикеток, прямоугольных Областей. Для исключения наложения данных из Биографии и Элементов из указанной группы для всех этих Элементов устанавливается Свойство Float (плавающих координат).

См. также

Задачи

Печать Отчета в стиле Бухгалтерской Книги (Гросс-Буха), пример
Примеры Решений

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту: A-Z

Другие ссылки

Примеры Решений для Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Print Product Orders By Quarter Sample

Visual FoxPro 9.0, Примеры
Печать Накладных на Продукты, по-Кварталам, пример
См. также

Программный Файл: ...\Samples\Solution\Reports\Ordgraph.scx

Рассматриваемый пример показывает создание и печать Графиков в режиме Run-Time, при выполнении Отчета, "на-лету" (On the Fly). Система Visual FoxPro обеспечивает необходимый функционал для добавления на пользовательскую (тестовую) Форму Графиков, при этом используются стандартные классы: OleControls или OleBoundControls. После создания Графика, можно сохранить его в соответствующем поле типа General, что обеспечивает связь с исходными данными (о Продукции).

Если вы используете систему Visual FoxPro, Генератор Отчетов, для печати Графиков, то вам можно использовать поля типа General для хранения полученных Графиков (для использования в дальнейшей работе). Простейшим способом сохранения Графика в поле General может являться стандартная команда APPEND GENERAL, например, в виде:

CopyCode image Копировать Код
APPEND GENERAL graphfield CLASS "msgraph"

Представленный фрагмент только сохраняет изображение Графика в поле типа General, однако исходные данные не сохраняются (на основе которых построет График). Дополнительная Опция DATA обеспечивает фактическое сохранение исходных данных Графика.

Следующий далее программный код демонстрирует построение необходимой символьной строки, содержащей исходные данные Графика, которые используются при выполнении команды: APPEND GENERAL .... DATA:

CopyCode image Копировать Код
SCAN NEXT m.totrecs
 m.cData = ""+TAB+m.f2+TAB+m.f3+TAB+m.f4+CRLF+;
 EVAL(fields(1))+ TAB + ;
 ALLTRIM(STR(EVAL(field(2))))+ TAB +;
 ALLTRIM(STR(EVAL(field(3))))+ TAB + ;
 ALLTRIM(STR(EVAL(field(4))))
 m.cDetails = ;

f2+"-" +ALLTRIM(STR(EVAL(FIELD(2)))) ;
 + CRLF + f3+"-" +ALLTRIM(STR(EVAL(FIELD(3)))) ;
 + CRLF + f4+" - "+ALLTRIM(STR(EVAL(FIELD(4)))) +CRLF
 INSERT INTO prodsales ;
VALUES(SalesData.prod_name,tmpgrph.graph,m.cDetails)
 APPEND GENERAL prodsales.sales DATA m.cData
ENDSCAN

Как только вы получаете описанную выше Таблицу, содержащую Графики в поле типа General, вы можете распечатать данные Графики при помощи стандартной команды Visual FoxPro REPORT FORM. Вы не можете включать внешние контроллы ActiveX в пользовательские Отчеты.

См. также

Задачи

Создание Связанных с данными Графиков, пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Print Report Details in a Ledger Style Sample

Visual FoxPro 9.0, Примеры
Респечатка деталей Отчета в стиле Большой книги, пример
См. также

Программный файл: ...\Samples\Solution\Reports\Ledger.frx

Имеющийся в примерах Отчет, имя файла Ledger.frx, печатает телефонный справочник служащих некоторой организации в нестандартном виде: каждая информационная строка печатается на сером фоне. Источником данных для данного отчета является таблица EMPLOYEE из тестовой базы данных Testdata.dbc, размещенной в проекте Solution (Решения).

В настройках отчета имеется следующее: в области заголовка Отчета размещается общий заголовок, краткое описание и заголовки каждого информационного столбца; в области Detail (дитали отчета) размещены информационные данные о служащих рассматриваемой организации.

Для печати данного отчета в стиле Большой Книги (ГроссБуха) каждая вторая запись печатается на сером прямоугольнике, т.е получается чередование фона печати белый-серый-белый-серый. Для построения данного стиля вводится переменная отчета nCounter, значение которой увеличивается на 1 при обработке каждой записи исходной таблицы служащих. Условием изменения фона печати информации о номерах телефонов является выражение MOD(nCounter,2) = 1 (определение нечетного значения). Тем самым каждая нечетная запись печатается на сером фоне, а каждая четная - на белом фоне.

См. также

ЗадачиnCounter

Печать Отчета в формате Каталога, пример
Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры решений для Отчетов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Use Conditional Formatting in a Report Sample

Visual FoxPro 9.0 Samples
Использование условного форматирования в Отчетах, пример
См. также

Программный Файл: ...\Samples\Solution\Reports\Colors.frx

Рассматриваемый пример иллюстрирует использование логических выражений в Событии Print When контрола Отчета, которое определяет базовое форматирование Значения Поля Таблицы. В отчете печатается фрагмент: "Product Inventory Report" (Отчет по компонентам Продукции). Если рассматриваемая продукция отсутствует (на Складе), то данный продукт печатается зачеркнутым. Если уровень Запаса Продукции на складе ниже допустимого, то данный продукт печатается красным цветом. В противном случае, Остаток количества продукта (на Складе) печатается обычным (черным) цветом.

Рассматриваемый Отчет использует Таблицу PRODUCTS, которая закреплена за контейнером Базы Данных TESTDATA, и размещается в объекте Среды Данных Отчета (Report Data Environment). В основной полосе Отчета (Detail) размещены Поля-Контролы: идентификатор Продукта ID, Наименование, количество на Складе, допустимый уровень Запаса. Остальные характеристики рассматриваемого Продукта печатаются только в том случае, когда требуется пополнение уровня его Запаса.

Для управления перечисленными, тремя случаями состояния Продукта, используются различные варианты форматирования печатаемой информации о состоянии продукта. Для первого случая используется красный цвет (недостаток, обратить внимание); для второго случая - обычный, черный цвет (Запас продукта - достаточен); а для третьего случая - эффект зачеркивания (Отсутствие Продукта на Складе).

Каждый Контрол устанавливает разнообразные условные выражения для События Print When.

  • Для отображения Поля Таблицы в Черном цвете, (Продукт имеется в наличии, и его уровень запаса достаточен):

    CopyCode image Копировать Код
    (products.in_stock > products.reorder_at) and products.discontinu = .F.

  • Для Зачеркивания значения Поля Таблицы, (Продукт отсутствует на Складе):

    CopyCode image Копировать Код
    products.discontinu = .T.

  • Для отображения текста Поля в Красном цвете, (Уровень запаса Продукта на Складе недостаточен):

    CopyCode image Копировать Код
    products.in_stock <= products.reorder_at and products.discontinu = .F.

См. также

Задачи

Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Views and Queries Solution Samples

Visual FoxPro 9.0 Образцы
Образцы решений, связанные с представлениями и запросами

Эти образцы Решений иллюстрируют задачи разработки приложения, которые вы можете выполнять с запросами и представлениями.

В этом разделе

Образец интерактивной компоновки предложения SELECT

Иллюстрирует, как создавать свои запросы в run time.

Образце выбора потребителей конкретной страны

Иллюстрирует, как использовать параметризированные представления для отображения поднабора записей, которые соответствуют переменной, значение которой устанавливается в run time.

Образец выборки записей из полного внешнего объединения (Full Outer Join)

Иллюстрирует, как выбрать записи из двух таблицы, используя условие полного внешнего объединения.

Образец выборки записей из внешнего объединения слева (Left Outer Join)

Иллюстрирует, как выбрать записи из двух таблицы, используя условие внешнего объединения слева.

Образец выборки записей из вложенного объединения (Nested Join)

Иллюстрирует, как выбрать записи из множества таблиц, используя условия вложенного соединения.

Образец выборки записей из внешнего объединения справа (Right Outer Join)

Иллюстрирует, как выбрать записи из двух таблицы, используя условие внешнего объединения справа.

Образец выборки записей из внутреннего объединения (Inner Join)

Иллюстрирует, как выбрать записи из двух таблицы, используя условие внутреннего объединения.

Образец выборки записей из обоих объединений - внутреннего и внешнего

Иллюстрирует, как выбрать записи из множества таблиц, используя комбинацию условий внутреннего и внешнего объединений.

Образец выборки 10-ти наименее продаваемых продуктов

Иллюстрирует, как выбрать записи, используя ключевое слово TOP в команде SQL SELECT.

Образец выборки 10-ти наиболее продаваемых продуктов

Иллюстрирует, как выбрать записи, используя ключевое слово TOP в команде SQL SELECT.

Справочное руководство

Библиотеки класса образцов

Содержит библиотеки класса образцоы, которые обеспечивают инкапсюлированную функциональность, которую вы можете добавить в ваши приложения.

Фундаментальные классы Visual FoxPro от A до Z

Описывает фундаментальные классы Visual FoxPro, которые вы можете использовать для быстрой разработки приложения.

Справочное руководство (Visual FoxPro)

Включает в себя общее описание Visual FoxPro, язык программирования, интерфейс пользователя и статьи о сообщениях об ошибках.

Связанные разделы

Образцы использования фундаментальных классов

Содержит образцы, которые иллюстрируют использование фундаментальных классов Visual FoxPro.

Образцы сервера (Visual FoxPro)

Содержит образцы, которые иллюстрируют создание и работу серверов автоматизации (Automation Servers).

Образцы решений

Содержит образцы, которые демонстрируют особенные возможности Visual FoxPro и которые могут быть запущены независимо.

Репетиции

Предоставляет пошаговые инструкуии для общих сценариев, что делает их хорошим местом для начала изучения различных возможностей Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Interactively Build a SELECT Statement Sample

Visual FoxPro 9.0, Примеры
Диалоговое Построение SQL-оператора SELECT, Пример
См. также

Программный файл: ...\Samples\Solution\Forms\Makesql.scx

Данный пример демонстрирует возможность диалогового построения конечным пользователем Запроса в режиме выполнения Приложения (Run-Time Mode). Из соответствующего Контрола (Combo box) вы можете выбрать требуемое Поле из Активной Таблицы Данных. Базовый метод с именем BldSQL выполняет всю непосредственную подготовку по выбранным полям и построенным выражениям для получения итогового оператора SQL SELECT.

Дополнительные методы с именами ValidateType и SetTextboxFormat, обрабатывают и контролируют ввод необходимых значений в соответствующие текстовые поля, выполняют преобразование в соответствующий тип Данных, что значительно влияет на итоговый оператор SELECT.

После уточнения конструкции условия Запроса WHERE, полученное выражение помещается в переменную с именем lcWhere, что можно увидеть на следующем далее примере командной строки; представлен пример оператора SELECT:

CopyCode image Копировать Код
lcSQL = "SELECT * FROM " + lcAlias + " " + lcWHERE

Как только выражение оператора SELECT будет построено, оно может быть выполнено с помощью следующей МакроПодстановки.

CopyCode image Копировать Код
&lcSQL

См. также

Задачи

Примеры Решений

Описание

Контроллер Массивов, фундаментальный класс VFP
Фундаментальные классы Visual FoxPro, список A-Z

Другие ссылки

Представления и Запросы, примеры Решений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Select Customers in a Specific Country Sample

Visual FoxPro 9.0, Примеры
Выбор Клиента из заданной Страны, Пример
См. также

Файл: ...\Samples\Data\Testdata.dbc

Данный пример показывает, как использовать Параметризованные Представления ("customers in specific country" - клиенты из заданной страны, при выборке из тестовой Базы Данных), для выборки необходимыъх данных при задании значений некоторым переменным, которые являются управляющими параметрами данных Представлений.

Для создания параметризованных представлений, в дизайнере Представлений (View Designer), введите перед переменной знак вопроса (?), в соответствующем боксе Sample, закладки Filter. (т.е. при построении параметрического условия выборки данных, фильтрации)

Если в момент выполнения Запроса заданная переменная не существует, то пользователю предлагается определить ее, введя необходимое значение, например: whichcountry. Если переменная существует (в области видимости), имеет значение соответствующего типа, то запрос выполняется без дополнительного вопроса к пользователю о вводе необходимого значения.

См. также

Задачи

Примеры Решений

Описание

Базовые классы Visual FoxPro, A-Z

Другие ссылки

Примеры Решений для Представлений и Запросов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Select Records from a Full Outer Join Sample

Visual FoxPro 9.0 Образцы
Образец выборки записи из полного внешнего объединения (Full Outer Join)
Смотрите также

Файл: ...\Samples\Data\Fouterj.qpr

Запрос, FOUTERJ, в проекте Solution объединяет информацию из таблицы стран и таблицы потребителей с помощью полного внешнего объединения. Каждая запись результата имеет поле для каждого из полей таблицы стран и поля country и cust_id для полей из таблицы потребителей, так как это указано в ключевом слове SELECT предложения SELECT-SQL.

CopyCode image Скопировать код
SELECT Country.*, Customer.country, Customer.cust_id;
 FROM testdata!customer FULL JOIN country ;
  ON Customer.country = Country.country

Обычно, полное внешнее объединение отвечает на три вопроса относительно записей в вашей базе данных. Запрос может ответить на приведенные ниже вопросы:

  • Какие потребители и в каких странах или регионах?

  • В каких странах или регионах вообще нет никаких потребителей?

  • В каких записях потребителей отсутствует инфорамация о стране или регионе?

Такая информация может помочь кому-то принять решение об открытия его бизнеса в других странах, изменить маркетинговую стратегию в некоторых странах или регионах или просто показать пользователю необходимость обновления некоторых записей с целью ввода информации о стране или регионе.

Полное внешнее объединение возвращает все записи из обеих таблиц и объединяет их на основе условия объединения. Набор результатов включает в себя три поднабора записей:

  • Записи, отвечающие условию объединения, которые объединяют информацию из записей в каждой таблице.

  • Записи из таблицы стран, которые не отвечают условию объединения.

  • Записи из таблицы потребителей, которые не отвечают условию объединения.

Поскольку каждая запись в наборе результатов имеет одни и те же поля, записи, которые не имеют соответствий с другой таблице будут иметь NULL-значения в полях, в которых могли бы содержаться записи из другой таблицы. Например, если запись для страны Russia не имеет связанных со страной потребителей в таблице потребителей, то такяа запись появится с NULL-значением в полях cust_id и country_b.

Вы можете изменить результаты запроса указанием фильтров, порядка сортировки, группировки или прочих опций запроса.

Смотрите также

Задачи

Образцы Solution

Прочие ресурсы

Образцы представлений и запросов в Solution

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Select Records from a Left Outer Join Sample

Visual FoxPro 9.0 Samples
Выбор Записей на Примере Left Outer Join
См. также

Файл: ...\Samples\Data\Louterj.qpr

В проекте Solution запрос LOUTERJ объединяет информацию таблиц Orders и Customer используя left outer join. Каждая результирующая запись содержит поле order_id из таблицы Orders и поля cust_id, company и country из таблицы Customer, как это указывается в предложении (операнде, clause) SELECT оператора SELECT-SQL.

CopyCode image Копировать код
SELECT Customer.cust_id, Customer.company, Customer.country,;
 Orders.order_id;
 FROM testdata!orders LEFT OUTER JOIN testdata!customer ;
  ON Orders.cust_id = Customer.cust_id

Обычно, left outer join может ответить на два вопроса о записях в Вашей базе данных, а именно:

  • Какие заказы принадлежат конкретным клиентам?

  • Какие заказы не связаны с информацией о клиентах?

Эта информация помогает администратору базы данных определить какие записи заказов не связаны ни с одним из клиентов, т.е. являются лишними.

Left outer join возвращает все записи из таблицы, находящейся слева, и только те записи из таблицы, находящейся справа, для которых оказалось верным условие объединения. Результирующая таблица включает следующие два подмножества записей:

  • Записи из каждой таблицы, для которых оказалось верным условие объединения.

  • Записи из таблицы Orders, для которых условие объединения оказалось не верным.

Ввиду того, что все записи результирующей таблицы имееют одинаковый набор полей, записи, для которых условие объединения оказалось не верным, имеют значение всех полей, кроме поля order_id, равное NULL. Например, если запись с заказом 11079 не связана ни с одной записью в таблице Customer, то запись, которая появится в результирующей таблице, будет содержать значение NULL в полях cust_id, company и country.

Вы можете изменить результаты запроса, определяя фильтры, порядок сортировки, группировки или другие опции для запроса.

См. также

Задачи

Примеры Решений

Другие ресурсы

Примеры Решений для Представлений и Запросов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Select Records from a Nested Join Sample

Visual FoxPro 9.0, Примеры
Выборка Записей данных оператором Nested Join, пример
См. также

Программный файл: ...\Samples\Data\Nested.qpr

В запросе, с именем NESTED, из проекта Solution (Решения) комбинируется информация из следующих таблиц customer, orders, и orditems с помощью использования двойной констркуции Inner Join (двойного внутреннего объединения). Одно объединение выполняется для таблиц customer и orders; другое объединение - для таблиц orders и orditems. В результирующую запись включаются поля cust_id и company из таблицы customers, order_id - из таблицы orders,и поле line_no - из таблицы orditems, основной оператор выборки данных имеет следующий вид: SELECT-SQL:

CopyCode image Копировать Код
SELECT Customer.cust_id, Customer.company, Orders.order_id, Orditems.line_no;
 FROM testdata!customer INNER JOIN testdata!orders;
 INNER JOIN testdata!orditems ;
 ON Orders.order_id = Orditems.order_id ;
 ON Customer.cust_id = Orders.cust_id

Порядок, в котором таблицы объединяются в рассматриваемом запросе определяет получаемый результат. В начале берутся Клиенты, потом их заказы, потом элементы каждого заказа, который уже выбран.

Вы можете изменить получаемые результаты данного запроса, задать фильтр отбора записей, порядок сортировки, или другие параметры рассматриваемого запроса.

См. также

Задачи

Примеры Решений

Другие ссылки

Решения для Представлений и Запросов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Select Records from a Right Outer Join Sample

Visual FoxPro 9.0 Образцы
Образец выбора записей из внешнего объединения справа (Right Outer Join)
Смотрите также

Файл: ...\Samples\Data\Routerj.qpr

Запрос, ROUTERJ, в проекте Solution использует тестовую базу данных, и объединяет инфорамцию из таблицы заказов и работников, используя внешнее объединение справа. Каждая запись результата иметт поле для идентификатора заказа order_id из таблицы заказов и поле для фамилии работкника lastname из таблицы работников.

CopyCode image Скопировать код
SELECT Orders.order_id, Employee.last_name;
 FROM testdata!employee RIGHT OUTER JOIN testdata!orders ;
 ON Employee.emp_id = Orders.emp_id

Обычно, внешнее объединение справа может ответить на два вопроса о записях в вашей базе данных. Например, такой запрос может ответить на вопросы:

  • Какие заказы были введены каждым работников?

  • У каких заказов не определен работник?

Такая информация может помочь в отслеживании конкретных заказов и идентифицировать заказы, у которых не определен оформивший их работник.

Внешнее объединение справа запрашивает все записи из таблицы справа в условии объединения и объединяет из с записями из таблицы слева, которые соответствуют условию. Выходной набор включает в себя два поднабора записей:

  • Записи, соответствующие условию объединения, которые объединяют информацию из записи в каждой таблице.

  • Записи из таблицы заказов, которые не соответствуют условию объединения.

Поскольку каждая запись в выходной наборе имеет те же самые поля, записи в lastname , которые не имеют соответствия в таблице заказов имеют в поле значения NULL, а в противном случае, будут хранить записи из таблицы заказов. Например, если запись для заказа с номером 11078 не имеет никакого соответствия с записями работников с таблице employee, то эта запись появится в выходном наборе со значением NULL в поле lastname.

Вы можете изменить результаты запроса, указав фильтр, сортировку, группировки или какой-то другой параметр для запроса.

Смотрите также

Задачи

Образцы решений

Прочие ресурсы

Образцы решений, связанные с представлениями и запросами

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Select Records from an Inner Join Sample

Visual FoxPro 9.0, Примеры
Выбор Записей данных с помощью оператора Inner Join, пример
См. также

Программный файл: ...\Samples\Data\Innerj.qpr

Запрос, с именем INNERJ, в проекте Решения (Solution), использует обращение к базе данных TESTDATA, где группируются данные из следующих таблиц: ORDERS , CUSTOMER, при выборке используется конструкция Inner Join (внутреннее объединение). Каждая запись в результирующем курсоре имеет поля CUST_ID, COMPANY, и COUNTRY - из таблицы CUSTOMERS, и поле ORDER_ID - из таблицы ORDERS, которые задаются в следующем операторе SELECT-SQL:

CopyCode image Копировать Код
SELECT Customer.cust_id, Customer.company, Customer.country,;
 Orders.order_id;
 FROM testdata!orders INNER JOIN testdata!customer ;
 ON Orders.cust_id = Customer.cust_id

Данный запрос возвращает комбинацию записей из двух указанных таблиц, которые объединяются по указанному условию, Условие объединения данных из этих таблиц построено на ключевом поле cust_id.

Для рассмотренных "Внутренних Объединений" типичным является следующий вопрос. "Какие Заказы имеются для данного Клиента ?". Если для клиента нет Заказов - то данный клиент не включается в результат запроса, так как в этом случае не выполняется условие соединения данных таблиц.

Вы можете изменить некоторые параметры рассматриваемого запроса: тип результата запрса, установить фильтр, группировку результирующих записей, сортирвку, или другие параметры.

См. также

Задачи

Примеры Решений

Другие ссылки

Решения для Представлений и Запросов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Select Records from Both Inner and Outer Joins Sample

Visual FoxPro 9.0, Примеры
Выборка Записей одновременно при Inner/Outer Joins (внутреннем и внешнем объединениях), пример
См. также

Программный файл: ...\Samples\Data\Comboj.qpr

В запрсое с именем COMBOJ используется база данных testdata, выполняется комбинированная выборка данных из таблиц: customer, orders, orditems. Каждая запись результата содержит поле company из таблицы customer table, поле order_date из таблицы orders, а также поле line_no из таблицы orditems; выборка задается следующим оператором SELECT-SQL:

CopyCode image Копировать Код
SELECT Customer.company, Orders.order_id, Orditems.line_no;
 FROM testdata!customer LEFT OUTER JOIN testdata!orders;
 INNER JOIN testdata!orditems ;
 ON Orders.order_id = Orditems.order_id ;
 ON Customer.cust_id = Orders.cust_id

Порядок выполнения объединения указанных таблиц осуществляется в той последовательности, в которой таблицы задаются в представленном операторе SQL. Сначала осуществляется объединение между таблицами Заказов (orders) и Элементами_заказов (orditems); заданное условие объединения определяет принцип объединения данных таблиц. Так как это внутреннее объединение (inner join), в подмножество выборки попадают только те записи данных, которые имеются в обоих таблицах, в соответствие с условием объединения. Полученное подмножество объединяется внешним образом (outer join) с таблицей Клиентов (customer). Так как в этом случае используется внешнее объединение, то в результируещее подмножество попадают все Клиенты, которые имеют Заказы и которые не имеют Заказов, для последник значение заказа = NULL.

Вы можете изменить параметры рассматриваемого запроса, задать фильтр для результирующего подмножества записей, порядок сортировки, или прочие параметры Запроса.

См. также

Задачи

Примеры Решений

Другие ссылки

Решения для Представлений и Запросов, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Select the 10 Worst-Selling Products Sample

Visual FoxPro 9.0 Примеры
Выбор 10-ти товаров пользующихся наименьшим спросом
См. также

Файл: ...\Samples\Data\Worstten.qpr

Этот запрос отображает 10 пользующихся наименьшим спросом товаров. Он основан на продажах, зарегистрированных в таблице Order Items. Запрос использует опцию TOP n команды SELECT. Поскольку таблица упорядочена по возрастанию cуммарной цены и количества заказов, запрос возвращает 10 самых меньших значений.

Копировать код
SELECT TOP 10 Products.prod_name,;
  SUM(Orditems.unit_price*Orditems.quantity);
 FROM testdata!products INNER JOIN testdata!orditems ;
   ON Products.product_id = Orditems.product_id;
 GROUP BY Products.prod_name;
 ORDER BY 2

См. также

Другие источники

Примеры представлений и запросов
Выбор 10-ти товаров пользующихся наибольшим спросом
Примеры решений
Фундаментальные классы Visual FoxPro A-Z

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


Select the Top 10 Best-Selling Products Sample

Visual FoxPro 9.0 Примеры
Выбор 10-ти товаров пользующихся наибольшим спросом
См. также

Файл: ...\Samples\Data\Topten.qpr

Этот запрос отображает 10 пользующихся наибольшим спросом товаров. Он основан на продажах, зарегистрированных в таблице Order Items. Запрос использует опцию TOP n команды SELECT. Поскольку таблица упорядочена по убыванию (DESCENDING) cуммарной цены и количества заказов, запрос возвращает 10 самых больших значений.

Copy Code
SELECT TOP 10 Products.prod_name,;
  SUM( Orditems.unit_price*  Orditems.quantity);
 FROM testdata!products INNER JOIN testdata!orditems ;
   ON Products.product_id = Orditems.product_id;
 GROUP BY Products.prod_name;
 ORDER BY 2 DESC

См. также

Другие ресурсы

Примеры представлений и запросов
Пример выборки 10-ти товаров пользующихся наименьшим спросом
Примеры решений
Фундаментальные классы Visual FoxPro A-Z

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo.


Windows API Solution Samples

Visual FoxPro 9.0, Примеры
Примеры Решений для Windows API

В данном параграфе рассматриваются примеры разработки приложений по решению пользовательских Задач при использовании инструментов Операционной Системы: Windows API.

В данном Параграфе

Запрос Информации о Приложении из системного Реестра (Windows Registry), пример

Показывается, как можно получить требуемую Информацию о Приложении из Реестра Windows с помощью существующиго стандартного инструментария системы Visual FoxPro.

Запрос Информации о Версии, пример

Показывается, как отобразить информацию о Сервере типа .dll или .exe .

Проигрывание мультимедийных файлов с помощью команд MCI, пример

Показывается, как использовать стандартный интерфейс Media Control Interface (MCI) для проигрывания мультимедийных файлов.

Чтение и Запись Значений системы Visual FoxPro в системном Реестре, пример

Показывается, как можно использовать установки системы Visual FoxPro, сохраненные в системном Реестре Windows с помощью возможностей Языка программирования Visual FoxPro.

Чтение Значений параметров ODBC из системного Реестра, пример

Показывается, как получить данные о Драйверах ODBC или Описания Удаленных Источников Данных, параметры которых сохранены в системном Реестре с помощью возможностей Языка программирования Visual FoxPro.

Использование функций API, в которых применяются структуры данных (STRUCT), пример

Показывается, как выполнять функцию Windows API: GetSystemTime для получения структуры значений типа WORD, которая описывает Системное Время на Рабочей Станции (Компьютере).

Использование Функций API, в которых применяются Указатели (Pointers) на массивы Данных (Arrays), пример

Показывается, как выполнять функции Windows API для получения или очистки системных установок Цветовой Гаммы, в которых используются Указатели на массивы данных.

Просмотр содержания Библиотеки Типов (Type Library), пример

Показывается, как с помощью системного класса TypeLib прочитать содержание Библиотеки Типов (Type Library) из соответствующих файлов .dll, .exe, .tlb .

Описание

Примеры Библиотек Классов

Содержатся ссылки на разделы, в которых рассматриваются вопросы использования Классов Библиотек, обеспечивающих функциональность Инкапсуляции порождаемых Классов, которые могут быть добавлены в ваши Приложения и эффективно использованы.

Фундаментальные классы Visual FoxPro: по-алфавиту, A-Z

Описываются разнообразные Фундаментальные Классы Visual FoxPro, которые вы можете использовать для Быстрой разработки ваших Приложений.

Описание Языка (Visual FoxPro)

Приводятся основные ссылки на Разделы по возможностям Системы, Языку Программирования, Пользовательскому Интерфейсу, сообщению об Ошибках, которые сгруппированы по-алфавиту, или по-номерам.

Связанные Секции

Примеры Фундаментальных Классов

Приводятся ссылки на разделы, в которых иллюстрируются возможности Фундаментальных Классов Visual FoxPro .

Примеры Серверов (COM) (Visual FoxPro)

Приводятся примеры, иллюстрирующие примеры построения Серверов Автоматизации (Automation Servers).

Примеры Решений

Приводятся разнообразные Примеры, характеризующие основные технологические возможности системы Visual FoxPro, которые могут быть непосредственно выполнены и просмотрен Исходный Текст Примера.

Упражнения (Walkthroughs)

Приводятся пошаговые Инструкции для Общих Сценариев взаимодействия с системой VFP, которые могут быть хорошим началом для первого знакомства с системой, выполнения начальных Операций по Обработке Данных, первых шагов по изучению разнообразных возможностей Visual FoxPro.

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Get Application Information from the Windows Registry Sample

Visual FoxPro 9.0, Примеры
Извлечение информации о приложении из системного Реестра Windows, Пример
См. также

Файл: ...\Samples\Solution\WINAPI\Regfile.scx

Данный пример показывает, как получить доступ к Реестру Windows при помощи внутренних команд Visual FoxPro DECLARE-DLL. Механизм Windows API предоставляем множество функций по Доступу, Чтению и Записи в системный реестр. В программном модуле Registry.prg, находящемся в каталоге библиотек классов ...\Samples\Classes, содержатся готовые для использования вами функции по работе с Реестром в ваших Приложениях.

В данном специальном примере, вы можете использовать функции для работы с Реестром, чтобы проверить наличие некоторого специального приложения, установлено оно или нет на рабочей станции. Например, при распространении своего приложения, вам необходимо проверить наличие установленной системы Excel, для обработки специфических таблиц. Обычно Реестр содержит местоположение, версию, и другую информацию о конкретном приложении.

См. также

Задачи

Образцы Решений

Описание

Базовый класс доступа к Реестру
Базовый класс Реестра Приложения
Базовые классы Visual FoxPro, A-Z

Другие ссылки

Примеры решений Windows API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Get Version Information Sample

Visual FoxPro 9.0, Примеры
Получить информацию о Версии системы, пример
См. также

Программный файл: ...\Samples\Solution\WINAPI\Getver.scx

Данный пример демонстрирует возможность определения информации о версии программного файла типа .dll или .exe.

В системной библиотеке Foxtool.fll добавлена новая функция GetFileVersion( ), которая позволяет получить информацию о версии программного файла. В следующем примере демонстрируется использование этой функции. Детальное описание параметров функции см. в имеющемся файле Tools\Foxtools.hlp.

CopyCode image Копировать Код
SET LIBRARY TO FoxTools ADDITIVE
DIMENSION aFileVer[12]
nRetVal = GetFileVersion(GetFile("EXE"),@aFileVer)
IF nRetVal = 0
 DISPLAY MEMO LIKE aFileVer
ENDIF
SET LIBRARY TO
Note Примечание

Система Visual FoxPro позволяет теперь сохранять в создаваемых вами программных модулях типа EXE и DLL информацию о версиях модулей, времени компоновки этих модулей и другую информацию. Данная системная информация сохраняется в ресурсном файле, который используется Проводником системы Windows. Файлы EXE, созданные системой Visual FoxPro 3.0 не содержат информации о версии и времени компоновки программных модулей.

См. также

Задачи

Примеры Решений

Описание

Версия файла, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Другие ссылки

Решения для Windows API, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Play Multimedia Files Using MCI Commands Sample

Visual FoxPro 9.0 Samples
Использование файлов мультимедиа с помощью команд MCI, пример
См. также

Программный файл: ...\Samples\Solution\Forms\Mci_play.scx

Представленный пример Формы использует Media Control Interface (MCI), с помощью которого вы можете использовать в своих Приложениях как визуальные, так и невизуальные Медиа-Компоненты, установленные в вашей Операционной системе (OS Windows). Тем не менее, стандартная функция GETFILE( ) позволяет открывать только общие файлы Медиа: .avi, .wav, .mov, или .mid. Для открытия других файлов рекомендуется использовать спецификацию Фильтра All Files (Все файлы) и выбрать требуемый вам файл Медиа. Для просмотра дополнительной информации по использованию упомянутых команд MCI, смотрите соответствующие разделы MSDN.

В событии Init формы данного Примера объявляется использование следующих трех функций Windows API:

  • mciSendString

  • mciGetErrorString

  • SetWindowPos

Пользовательский метод DoMCI применяется для выполнения требуемых команд MCI, в котором уточняются необходимые параметры выполняемых функций.

Классы

Вы можете непосредственно просмотреть весь программный Код обработки файлов Мультимедиа, но для большей функциональности все требуемые функции MCI собраны в соответствующие Классы, которые вы можете использовать в своих Приложениях.

Класс Video Frame

Класс VideoFrame размещен в библиотеке классов ...\Samples\Classes\Samples.vcx, которая может быть использована для обработки файлов Мультимедиа, к примеру файлов Video Windows. Данный класс позволяет вам выполнить предварительные операции по обработке файлов мультимедиа (размер и местоположение окна просмотра видео), класс обеспечивает доступ к внутренним методам обработки файлов Мультимедиа.

Пример использования данного класса: форма Video.scx, расположенная в подкаталоге: ...\Samples\Solution\Forms.

Свойства | Краткое Описание
AutoOpen | Определяет, что указанный файл Видео автоматически открывается в момент создания экземпляра рассматриваемого Класса. Значение по-умолчанию = (.T.).
AutoPlay | Определяет, что указанный файл Видео автоматически активируется после его Открытия. Значение по-умолчанию = (.T.).
AutoRepeat | Определяет, что по завершении активации файла Видео выполняется повтор цикла активации. Значение по-умолчанию = (.F.), для непрерывного "проигрывания" данного файла Видео вам необходимо установить значение = .T.
ControlSource | Определяет имя Поля Таблицы, которое содержит ссылку на файл Мультимедиа. Если данное значение не задано (пусто), то предполагается ссылка на файл содержится в свойстве: VideoFile.
MCIalias | Определяет имя Алиаса таблицы, которая используется в командах MCI. Если данное значение не задано (пусто), то в качестве имени Алиаса используется значение свойства Name рассматриваемого Класса. Обычно, данное свойство можно не определять (оставлять пустым), но в этом случае для каждого файла Видео вам потребуется создаывать свой Класс, или определить все требуемые Свойства для активации нескольких файлов Видео.
VideoFile | Содержит полную ссылку на файл Видео, например: "D:\...\Samples\Solution\FORMS\FOX.AVI"
Методы | Краткое Описание
CloseVideo | Закрывает текущий файл Видео и освобождает все связанные с ним Ресурсы.
DoMCI | Выполняет непосредственные Команды MCI. Вы можете использовать данный метод для выполнения требуемых вам команд MCI.
OpenVideo | Открывает выбранный файл Видео и отображает начальный кадр данного файла.
PauseVideo | Выполняет остановку демонстрации файла Видео. Продолжение может быть выполнено с помощью метода PlayVideo.
PlayVideo | Запускает процесс демонстрации файла Видео. Перед выполнением данного метода файл должен быть открыт соответствующим Методом OpenVideo.
SetPosition | Обеспечивает перемещение Указателя текущей позиции в файле Видео. Вы можете выполнять требуемые команды только после открытия рассматриваемого файла Видео. Допустимыми командами в данном методе являются: "Start", "End", или значение позиции (в миллисекундах) от начала файла Видео.

Класс Sound Player

Рассматриваемый класс также размещен в библиотеке классов: ...\Samples\Classes\Samples.vcx. Он может быть использован для обработки невизуального мультимедийного файла, например звукового файла. Данный класс обеспечивает начальную обработку требуемого файла (уточнение свойств и местоположения файла), а также выполнение встроенных функций Проигрывания (активации) звукового файла.

Свойства | Краткое Описание
AutoOpen | Определяет, что Звуковой файл автоматически открывается в момент создания Экземпляра рассматриваемого класса. Значение по-умолчанию = (.T.).
AutoPlay | Определяет, что звуковой файл автоматически запускается после его открытия. Значение по-умолчанию = (.T.).
AutoRepeat | Определяет, что после завершения цикла проигрывания звукового файла, процесс повторяется сначала. Значение по-умолчанию = (.F.).
ControlSource | Определяет имя Поля (Столбца) Таблицы, в котором содержится ссылка на звуковой файл. Если значение не задано (пустое), то предполагается полная ссылка на звуковой файл, заданная как значение свойства SoundFile.
MCIAlias | Определяет имя Алиаса Таблицы (Курсора), которая использкется в командах MCI. Если значение не задано (пустое), для рассматриваемого свойства принимается значение свойства Name данного Класса. Обычно, вы можете оставлять данное свойство пустым, однако если вам требуется проиграть данный файл дважды (в другом классе) - вам потребуется указать уникальное значение для данного свойства (во избежание Конфликтов).
SoundFile | Определяет полное имя (ссылку) на Звуковой файл, к примеру: "C:\WINDOWS\CHIMES.WAV"
Методы | Краткое Описание
OpenSound | Открывает Звуковой файл.
PlaySound | Запускает процесс проигрывания звукового файла. Рассматриваемый файл должен быть предварительно открыт с помощью метода OpenSound.
PauseSound | Выполняет Остановку (паузу) процесса проигрывания звукового файла. Продолжение может быть выполнено с помощью метода PlaySound.
SetPosition | Обеспечивает перемещение Указателя Текущей Позиции звукового файла. Данный метод может использоваться только после открытия звукового файла (чтобы знать его размер). Допустимыми командами являются: "Start", "End", или конкретное значение Позиции (в миллисекундах) данного звукового файла.
CloseSound | Закрывает ранее открытый Звуковой файл и освобождает все связанные с ним Ресурсы Системы.

См. также

Задачи

Примеры Решений

Описание

Фундаментальные классы Visual FoxPro, по-алфавиту: A-Z

Другие ссылки

Примеры решений для Windows API

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Read and Write Visual FoxPro Registry Values Sample

Visual FoxPro 9.0 Образцы
Образец: чтение и запись значений в регистре Visual FoxPro
Смотрите также

Файл: ...\Samples\Solution\WINAPI\Regfox.scx

Этот образец показывает вам, как обращаться к Windows Registry с помощью родных команд DECLARE-DLL Visual FoxPro. Windows API предоставляет ряд функций, которые вы можете использовать для доступа, чтения из регистра и записи в регистр. Библиотека класса Registry.prg в ...\Samples\Classes содержит определение класса, который выставляет эти функции в качестве методов, которые вы можете вызывать в ваших приложениях.

Содержимое закладки Field Mapping (Разметка полей) диалогового кона Options (Параметры) Visual FoxPro и определение Label (для именования полей) хранится в регистре. Поскольку многие из этих установок недоступны через использование функций SET, вы можете использования функции класса для получения доступа к этим значениям в регистре. Приведенный ниже код заполняет массив всеми установками диалогового окна Options (Параметры):

CopyCode image Скопировать код
regfile = HOME(2)+"classes\registry.prg"
SET PROCEDURE TO (m.regfile) ADDITIVE
oReg = CreateObject("FoxReg")

DIMENSION aFoxOptions[1,2]
m.nErrNum = oReg.EnumFoxOptions(@aFoxOptions)

Приведенный ниже код вызывает метод SetFoxOption в классе FoxReg, определенном в Registry.prg для установки TALK OFF в регистре Windows:

CopyCode image Скопировать код
regfile = HOME(2)+"classes\registry.prg"
SET PROCEDURE TO (m.regfile) ADDITIVE
oReg = CreateObject("FoxReg")

m.nErrNum = oReg.SetFoxOption("TALK","OFF")

Смотрите также

Задачи

Образец: получение информации о приложении из регистра Windows
Образцы решений (Solution)

Справочное руководство

Фундаментальный класс Registry Access
Фундаментальный класс Application Registry
Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с использованием Windows API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Read ODBC Registry Values Sample

Visual FoxPro 9.0 Образцы
Образец - Чтения значений ODBC из регистра
Смотрите также

Файл: ...\Samples\Solution\WINAPI\Regodbc.scx

Этот образец показывает, как обратиться к регистру Windows Registry, используя родную команду Visual FoxPro DECLARE-DLL. Windows API предоставляет ряд функций, которые вы можете использования для доступа, чтения и записи в регистр.. Библиотека классов Registry.prg, находящаяся в ...\Samples\Classes содержит определение класса, который выставляет эти функции, как методы, которые вы можете вызывать в ваших приложениях.

Registry содержит перечисление всех инсталлированных драйверов ODBC и источников данных. Если ваше приложение зависит от использования ODBC, тогда вы можете пожелать осуществить проверку Registry, с целью посмотреть, установлен ли конкретный драйвер или источник данных. Этот образец показывает, как сделать запрос о получении информации, связанной с ODBC.

CopyCode image Скопировать код
LOCAL oReg,regfile,nErrNum,lDrivers
PUBLIC aODBCData

regfile = HOME(2)+"classes\registry.prg"
SET PROCEDURE TO (m.regfile) ADDITIVE

oReg = CreateObject("ODBCReg")

DIMENSION aODBCData[1]
m.nErrNum = oReg.GetODBCDrvrs(@aODBCData)

Смотрите также

Задачи

Образцы решений (Solution)

Справочное руководство

Фунадментальный класс доступа к регистру - Registry Access
Фунадментальный класс ODBC Registry
Фунадментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с Windows API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Use API Functions that Require a STRUCT Sample

Visual FoxPro 9.0 Samples
Пример Применения API Функций, Требующих Структуры STRUCT
Смотрите Также

Файл: ...\Samples\Solution\Winapi\Systime.scx

Данный пример демонстрирует вызов Windows API функции GetSystemTime. GetSystemTime заполнят структуру двух байтными (WORD) (16-битовое целое без знака) значениями с информацией о системном времени.

C Функция Объявления и Описание Структуры

CopyCode image Copy Code
VOID GetSystemTime(
    LPSYSTEMTIME lpSystemTime    // адрес структуры системного времени
   );

Это - описание структуры:

CopyCode image Copy Code
typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME;

Вызов данной Функции в Visual FoxPro

Следующий Visual FoxPro код передает GetSystemTime ссылку на символьную переменную, которая заполняется двухбайтныме значениями.

CopyCode image Copy Code
* Visual FoxPro Code: cmdSystemTime.Click
DECLARE INTEGER GetSystemTime IN win32api STRING @
cBuff=SPACE(40)

GetSystemTime(@cBuff)

Чтобы извлечь информацию из символьной переменной cBuff, следующий код конвертирует 8-битовые ASCII символы для года и месяца в 16-битовые эквиваленты.

CopyCode image Copy Code
THIS.Parent.lblYear.Caption = ALLTRIM(STR(ASC(SUBSTR(cBuff,2)) * 256 + ASC(SUBSTR(cBuff,1))))

THIS.Parent.lblMonth.Caption = MONTH_LOC + ALLTRIM(STR(ASC(SUBSTR(cBuff,4)) * 256 + ASC(SUBSTR(cBuff,3))))

Смотрите Также

Задачи

Пример Применения API Функций, Требующих Указатель на Массив
Примеры Решений

Ссылки

Фундаментальные Классы Visual FoxPro A-Z

Другие Источники

Примеры Windows API Решений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Use API Functions That Require Pointers to Arrays Sample

Visual FoxPro 9.0 Образцы
Образец использования функций API, которые требуют указатели на массивы
Смотрите также

Файл: ...\Samples\Solution\Winapi\Syscolor.scx

Этот пример использует две функции Windows API - первую для получения установок системного цвета (GetSysColor) и затем вторую для сброса системных цветов в новые значения (SetSysColors). Два из трех параметров, требуемых SetSysColors являются указателями на родные массивы языка C.

GetSysColor

Функция GetSysColor принимает целочисленный параметр, число в диапазоне от 0 до 18, и возвращает DWORD (32-битное целое число без знака), указывающее текущую установку цвета.

CopyCode image Скопировать код
DWORD GetSysColor(
    int nIndex    // элемент отображения
   );

nIndex является значением, представляющим область интерфейса, определенную в приведенном ниже списке:

CopyCode image Скопировать код
#define COLOR_SCROLLBAR         0
#define COLOR_BACKGROUND        1
#define COLOR_ACTIVECAPTION     2
#define COLOR_INACTIVECAPTION   3
#define COLOR_MENU              4
#define COLOR_WINDOW            5
#define COLOR_WINDOWFRAME       6
#define COLOR_MENUTEXT          7
#define COLOR_WINDOWTEXT        8
#define COLOR_CAPTIONTEXT       9
#define COLOR_ACTIVEBORDER      10
#define COLOR_INACTIVEBORDER    11
#define COLOR_APPWORKSPACE      12
#define COLOR_HIGHLIGHT         13
#define COLOR_HIGHLIGHTTEXT     14
#define COLOR_BTNFACE           15
#define COLOR_BTNSHADOW         16
#define COLOR_GRAYTEXT          17
#define COLOR_BTNTEXT           18
#define COLOR_INACTIVECAPTIONTEXT 19
#define COLOR_BTNHIGHLIGHT      20

#if(WINVER >= 0x0400)
#define COLOR_3DDKSHADOW        21
#define COLOR_3DLIGHT           22
#define COLOR_INFOTEXT          23
#define COLOR_INFOBK            24

#define COLOR_DESKTOP           COLOR_BACKGROUND
#define COLOR_3DFACE            COLOR_BTNFACE
#define COLOR_3DSHADOW          COLOR_BTNSHADOW
#define COLOR_3DHIGHLIGHT       COLOR_BTNHIGHLIGHT
#define COLOR_3DHILIGHT         COLOR_BTNHIGHLIGHT
#define COLOR_BTNHILIGHT        COLOR_BTNHIGHLIGHT
#endif /* WINVER >= 0x0400 */

SetSysColors

Функция SetSysColors требует три параметра: число элементов в двух массивах и адреса двух массивов.

CopyCode image Скопировать код
BOOL WINAPI SetSysColors(
    int cElements,                  // число изменяемых элементов
    CONST INT *lpaElements,         // адрес массива элементов
    CONST COLORREF *lpaRgbValues    // адрес массива RGB-значений
   );

Вызов SetSysColors в Visual FoxPro

Приведенный ниже код извлечен из метода щелчка по командной кнопке - cmdSetSysColors.Click:

CopyCode image Скопировать код
DECLARE INTEGER SetSysColors IN win32api INTEGER, STRING, STRING

Собираем элементы первого массива в символьную переменную.

CopyCode image Скопировать код
cElements = ""
FOR i = 0 TO 18
   cElements = cElements + THISFORM.DecToHex(i)
ENDFOR

Собираем элементы второго массива в символьную переменную. Сканируемый курсор заполнен значениями GetSysColor в событии Init формы.

CopyCode image Скопировать код
cColors = ""
SCAN
   cColors = cColors + THISFORM.DecToHex(INT(color))
ENDSCAN

=SetSysColors(18,cElements,cColors)

Смотрите также

Задачи

Образец функций API, которые требуют STRUCT
Образцы решений (Solution)

Reference

Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Образцы решений с Windows API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


View Type Library Information Sample

Visual FoxPro 9.0 Samples
Пример: Просмотр информации из Type Library
Смотрите также

File: ...\Samples\Solution\Winapi\Typelib.scx

Пример TYPELIB использует класс Visual FoxPro с именем Typelib, который хранится в библиотеке ...\Samples\Classes\Typelib.vcx. Этот класс, на основе контейнера содержит компонент ActiveX, который имеет ряд методов для чтения Type Library информации из любого .dll, .exe или .tlb file.

Класс-обертка Typelib сохранит ваше время, обрабатывая большую часть вашей работы. В классе имеется метод ExportTypeLib, который экспортирует содержание указанной библиотеки типов в текстовый File.

CopyCode image Скопировать код
THISFORM.typelib1.TypeLibName = THISFORM.txtFileName.Value
THISFORM.typelib1.ExportTypeLib( )

Если вы взглянете на сгенерированный текстовый файл, вы отметите, что библиотека типов (Type Library) может состоят из множества Type Infos. Каждый Type Info представляет конкретный класс. Когда вы генерируете новый EXE или DLL из проект с помощью Visual FoxPro, каждый класс в проекте, который отмечен как OLEPUBLIC будет генерировать отдельный пользовательский Custom OLE Server.

Note Замечание

Вы можете иметь единичный .exe/.dll файл, однако, такой файл может содержать множество серверов (по одному на каждый OLEPUBLIC класс).И Visual FoxPro генерирует единичный TLB файл для всего проекта, хотя такой Type Library файл содержит отдельные Type Info для каждого OLEPUBLIC класса.

Внутри каждого Type Info (OLEPUBLIC класс), кроме того, имеется описания функции. Они представляют все свойства и методы класса. Для методов, the Type Library содержит как параметры, так и возвращаемые типы. Некоторыми из возможных типов являются Boolean, string и variant. Поскольку в Visual FoxPro нет строгой типизации переменных, многие из этих типов используемые в ваших пользовательских методах будут типа variant.

Если вы посмотрите более пристально на экспортированные функции, вы отметите двойные входы для многих свойств. Это происходит потому, что пользователи могут либо устанавливать set или получать get значения этих свойств. А некоторые языки, такие как Visual Basic предоставляют вам возможность исполнять код при присвоении или доступе к этим свойствам. Отсюда и следует, что Type Library будет представлять одно свойства двумя входами. Если существует только один вход, то это означает, что свойсто является свойством определенным только для чтения. Свойства и методы, которые помеченны как Hidden или Protected не появятся в Type Library.

Смотрите также

Задачи

Примеры Solution

Справочное руководство

Фундаментальный класс Type Library
Фундаментальные классы Visual FoxPro от A до Z

Прочие ресурсы

Примеры Windows API Solution

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Miscellaneous Solution Samples

Visual FoxPro 9.0, Примеры
Прочие Решения, примеры

Представленные примеры Решений демонстрируют прочие (другие) решаемые Задачи с помощью средств Visual FoxPro.

В данном разделе

Управление системой MSN Messenger, пример

Демонстрируется использование системных механизмов MSN Messenger при использовании Messenger API и Windows Scripting Host.

Ведение журнала операций в Проекте, пример

Демонстрируется использование "хука" для текущего проекта с целью отслеживания всех проводимых операций с объектами проекта, добавление новых элементов, удаление, редактирование объектов проекта.

Связанные секции

Примеры Решений

Содержит различные примеры решений, демонстрирующие обширные возможности системы Visual FoxPro, которые могут работать независимоот условий выполнения.

Классы библиотек, примеры

Содержатся различные классы из библиотек, которые вы можете использовать в своих приложениях.

Фундаментальные классы, примеры

Содержатся примеры использования фундаментальных классов Visual FoxPro.

Вертикальное управление (Сквозной Контроль - Walkthroughs)

Содержатся по-шаговые инструкции для общих сценариев ваших приложений.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Control MSN Messenger Sample

Visual FoxPro 9.0, Примеры
Контрол Почты: MSN Messenger, пример
См. также

Программный Файл: ...\Samples\Solution\Toledo\Messenger.scx

Рассматриваемый Пример демонстрирует, как использовать внешний контрол MSN Messenger, используя системные механизмы Messenger API и Windows Scripting Host. Указанные инструменты могут быть использованы для автоматической отправки Сообщений, e-mail,и файлов типа MSN. Дополнительно, если пользователь использует подсистему Mobile Messaging, могут обрабатываться соответствующие страницы.

Рассматриваемый пример не является альтернативным вариантом исходной системы MSN Messenger. Дополнительную информацию смотрите на страницах MSDN: http://msdn.microsoft.com.

MSN Messenger API, модули

Данный пример демонстрирует использование модулей Messenger API, которые поддерживают стандартную модель Component Object Model (COM). В данном случае, экземпляр объекта типа Messenger создается в программном коде События Init:

CopyCode image Копировать Код
ThisForm.oMessenger = CREATEOBJECT("Messenger.UIAutomation.1")

Там же, в событии Init, декларируются дополнительные функции Windows API, которые использует объект Messenger для выполнения разнообразных операций обработки Почтовой Корреспонденции.

CopyCode image Копировать Код
DECLARE LONG SetForegroundWindow IN WIN32API LONG
DECLARE INTEGER FindWindow IN WIN32API STRING @ cClass, STRING @ cTitle
DECLARE LONG CloseWindow IN WIN32API LONG
DECLARE Sleep IN WIN32API long

После успешного создания экземпляра объекта Messenger,вы можете использовать представленные функциональные Методы: AutoSignin, InstantMessage, OpenInbox, SendFile, SendMail, SignOut. Указанные методы: SendFile / SendEmail используют другие внешние функции Windows API, для активации на переднем плане Формы рассматриваемого объекта Messenger, в котором обрабатываются текущие активные команды и сообщения подсистемы Windows Scripting Host Shell.

Windows Scripting Host (подсистема ОС)

Рассматриваемый пример демонстрирует использование подсистемы команд Windows Scripting Host для обработки и отправки символьных строк (сообщений) для активного Окна. Вы можете также определить необходимые параметры для выполнения автоматической отправки сообщения или некоторого файла Отчета. Подсистема Windows Scripting Host требуется для обеспечения функциональности рассматириваемого объекта MSN Messenger API. Указанный объект Windows Scripting Host Shell создается в программном коде события Init для тестовой Формы:

CopyCode image Копировать Код
ThisForm.oWsh = CREATEOBJECT("wscript.Shell")

Для передачи активному Окну некоторой символьной строки используется функциональный метод SendKeys, который вызывает соответствующую внешнюю функцию SendKeys( ), тем самым обеспечивается автоматизация процессов отправки электронных сообщений или файлов при поддержке подсистемы Windows Scripting Host Shell.

CopyCode image Копировать Код
ThisForm.oWsh.SendKeys(tcKeys)

См. также

Задачи

Примеры Решений

Описание

Init, событие

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Track Activities in a Project Sample

Visual FoxPro 9.0, Примеры
Отслеживание Изменений в Проекте, Пример
См. также

Программный Файл: ...\Samples\Solution\Tahoe\Acttrack.scx

В данном примере демонстрируется открытие Проекта Приложения и работы с объектами проекта при следующих условиях: Все проводимые изменения в объектах Проекта записываются в некоторую таблицу (ведется журнал изменений). После закрытия рассматриваемого проекта вы можете просмотреть список выполненных изменений в соответствующем окне Browse (просмотра).

Более подробно о построении рассмотренных возможностей см. в программном коде представленного Примера.

В этом примере используются следующие классы:

Класс | Библиотека | Описание
activity_tracker | project_hook.vcx | Создается Проект и соотетствующий журнал выполняемых действий с объектами данного проекта.

Программный код событий объекта ProjectHook, конкретно: Project_hook.vcx, может содержать программные вызовы соответствующих событий самого Прокта. Библиотека классов ProjectHook используется в данном демонстрациоееом примере. Библиотека Project_hook.vcx размещена в подкаталоге: ...\Samples\Solution\Tahoe

См. также

Задачи

Примеры Решений
Определение (извлечение) размещения и Имени Проекта, Примерe

Другие ссылки

Прочие Примеры Решений, Сохранение Изменений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Foundation Class Samples

Visual FoxPro 9.0 Образцы
Образцы использования фундаментальных классов

Фундаментальные классы Visual FoxPro обеспечивают быструю разработке приложения с минимальным написанием кода и поставляются вместе с Component Gallery (Галереей компонентов). Классы предназначены для немедленного использования разработчиком, так как они:

  • предоставляют общие инструменты разработки баз данных и структур;

  • предоставляют быстрые, расширяемые компоненты общего плана;

  • предоставляют компоненты, которые расширяют и облегчают разработку Web страниц;

  • предоставляют эффективные оболочки для системных функций API;

  • предоставляют расширенный набор функций для широкого ряда пользователей Visual FoxPro.

В этом разделе

Руководства по использованию фундаментальных классов Visual FoxPro

Предоставляется обзор ситуаций и решений, в которых могут быть использованы фундаментальные классы.

Образец: добавление календаря, связанного с данными

Демонстрируется использование элемента управления ActiveX calendar control, связанного с данными, для расширения возможностей ввода дат в поле типа "date" в формах приложения.

Образец: добавления элементов управления Data Lookup Combo Boxes

Осуществляется поиск значений в поле, для заполнения выпадающих списков.

Образец: добавление в форму запросов данных

Демонстрируются опции, которые позволяют вам перемещаться по таблице и искать данные.

Образец: добавление в формы сортировки и фильтрации данных

Демонстрируется использование развитых опций запросов в форме наряду с опциями для обеспечения сортировки данных по возрастанию или убыванию.

Образец: добавление шифтрования в приложения

Демонстрируется как вы можете добавить в свои приложение шифрование.

Образец: добавление в форму разных командных кнопок

Показывается использование командных кнопок в приложених для выполнения таких задач, как запуск и остановка приложения, отображения формы или предварительного просмотра отчета.

Образец: добавление в формы навигации

Демонстрируются различные опции для обеспечения навигации в формах.

Образец: добавление контекстных меню объектам

Демонстрируется использование в форме констекстных меню, включая использование разделителей, "жирного" текста, отмечаемых команд и каскадных меню.

Образец: добавление в формы гиперссылок Web

Демонстрируется введение функциональности гиперссылок и запуск Web обозревателя из различных элементов управления.

Образец: обработка ошибок приложения

Демонстрируются обработка ошибок приложения и запись подробностей о состоянии приложения.

Образец: создание Web Browser в Visual FoxPro

Демонстрируется предоставления в форме Visual FoxPro обозревателя Web для отображения данных в HTML.

Образец: создание графиков, связанных с записями

Показывается использование данных из полей для генерации графиков на основе "запись-за-записью".

Образец: создание эффектор элемента управления Toolbar

Демонстрируются различные эффекты, которых вы можете достичь с элементом управления toolbar, когда над ним перемещается указатель мыши.

Образец: отображение опций вывода данных в отчет

Демонстрируется простой редактор текста и предоставляет набор опций вывода отчета.

Образец: расширение метода SetAll

Используется класс SetAllx для обеспечения программной установки свойств объекта на основе расширенных критериев, недоступных с родным методом SetAll().

Образец: генерация HTML

Показывается как вы можете использовать HTML классы для создания Web страниц из ваших данных, форм или отчетов.

Образец: обслуживание задач среды приложения

Демонстрируются утилиты для сохранения и восстановления установок критических состояний и обслуживания операций общего плана для приложений.

Образец: обслуживание общих задач, связанных с окнами

Демонстрируется расстановка и каскадирование разных форм на рабочем столе.

Образец: обработка конфликтов данных

Демонстрируется разрешение конфликтов данных, позволяющее пользователю обновить данные в форме.

Образец: диспетчер пула - Pool Manager

Демонстрируется как использовать класс Pool Manager, которые обслуживает пул коллекции объектов из класса и чем он может быть полезен, когда вам нужно многократно использовать объекты в течение короткого промежутка времени.

Образец: извлечение размещения проекта и его имени

Демонстрируется предоставление пользователю места для ввода размещения файла и каталога, преимущественно для создания новых проектов.

Образец: запуск автоматизации Word, Excel и Graph

Демонстрируется добавление в приложение процедур автоматизации для создания свобных таблиц Microsoft Excel, документов рассылки почты - Microsoft Word mail merge, перекрестных таблиц Visual, а также графиков Graph.

Образец: поиск текста с использованием регулярных выражений

Демонстрируется использование в приложениях поиска с использованием регулярных выражений.

Образец: установка команд VFP Shell Open

Иллюстрируется - как изменить установки Shell Open для различных типов файлов.

Образец: советы по программе Windows 2000 Logo

Показывается несколько фундаментальных классов , которые предоставляют информацию, которая в свою очередь может быть использована для создания приложений, совместимых с требованиями Windows 2000 Logo.

Образец: использование расширенного диалогового окна открытия файла

Иллюстрируется - как использовать фундаментальный класс Common File Dialog для создания окон, которые смотрятся и ощущаются как диалоговые окна файлов Windows.

Образец: использование обработки массивов

Демонстрируются полезные методы для расширения функциональных возможностей работы с массивами. Этот образец использует ACOLSCAN() для поиска конкретной колонки в массиве.

Образец: использование расширенного общего диалогового окна открытия файла

Показывается использование фундаментального класса Common File Dialog.

Образец: использование общих диалоговых окон приложения

Показывается как вы можете использовать в приложениях диалоговые окна для таких операций общего плана, как регистрация пользователя, отображение окон-заставок, окон описания приложения и тому подобных.

Образец: использование кнопок редактирования в сложных формах

Демонстрируется использование командных кнопок для редактирования форм, включающих в себя отношение "один-ко-многим".

Образец: использование кнопок редактирования в простой форме

Демонстрируется использование кнопок простого редактирования данных в простой форме с одной таблицей.

Образец: использование боксов список перемещения для выбора данных

Демонстрируется использование боксов списков для загрузки таблиц и полей из источника данных и обслуживания сортировки данных.

Образец: использование класса Progress Thermometer

Демонстрируется использование стандартного отображение прогресса процесса в приложениях.

Образец: работа с Microsoft Agent

Демонстрируется введение в приложение анимационных актеров с использованием технологии Microsoft Agent.

Связанные разделы

Фундаментальные классы Visual FoxPro от A до Z

Перечисляются фундаментальные классы, сортированные по алфавиту. Многие из этих фундаментальных классов используются в примерах решений - Solutions, размещенных в каталоге ...\Samples\Solution folder.

Образцы

Предоставляются библиотеки классов, серверы, решения и образцы кода фундаментальных классов, которые вы можете использовать для экспериментов и получения сведений о важнейших возможностях Visual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Guidelines for Using Visual FoxPro Foundation Classes

Visual FoxPro 9.0 Описание Языка Программирования
Руководство по Использованию Фундаментальных Классов Visual FoxPro
Также смотри

Библиотеки визуальных классов Visual FoxPro (.vcx), разположеные в Visual FoxPro ...\FFC директории, содержат многообразие фудаментальных классов, которые позволят усовершенствовать ваши Visual FoxPro приложения с минимальными усилиями или даже без них. Вы имеете право свободно распространять их вместе со своими программными приложениями.

Просмотреть эти классы вы можете в Галерее Компонентов (Component Gallery). Галерея предоставляет быстрый и легкий способ узнать больше о свойствах, событиях и методах каждого класса. Для дальнейшей информации о Галерее Компонентов, смотри Использование Галереи Компонентов (Component Gallery).

Также, вы можете открыть класс в Дезайнере Классов (Class Designer) или Программой Просмотра Классов (Class Browser), чтобы увидеть его структуру и код. Это - отличный способ узнать, как работают фундаментальные классы, а также исключительна возможность проникнуть в суть программирования на Visual FoxPro.

Ниже приведенное руководство раскажет, как добавлять фундаментальные классы к приложениям.

Типы Классов

Прежде, чем работать с фундаментальными классами, необходимо знать их базовые классы.

Подсказка:
Чтобы посмотреть какой базовый класс, в Галерее Компонентов щелкните правой клавишей мышки на фундаментальном классе, появится меню быстпого вызова и в нем щелкните на Properties, а потом на закладке Class Item. В поле Base Class появится назнание базового класса.

Определенные фундаментальные классы используюутся только, как визуальные объекты на форме, в то время, как другие - не визуальные и запускаются программно не размещаясь на форме. Для того, чтобы определить может ли интересующий вас класс находиться на форме или он запускается программно, смотрите Фундаментальные Классы от А до Я, где находястся более подробные описания какдого фундаментального класса.

Ниже представлен список базовых классов и как их добавлять к приложению.

Категория A – базовые классы, которые размещаются на форме | Категория B – базовые классы, которые размещаются на форме или запускаются программно | Категория C – базовые классы, которые запускаются только программно
Checkbox | Custom | Form
Combobox | Container | Formset
Commandbutton | Timer | Toolbar
Commandgroup | ProjectHook |
Editbox |  |
Grid |  |
Hyperlink |  |
Image |  |
Label |  |
Line |  |
Listbox |  |
OLE Control |  |
Optionbutton |  |
Optiongroup |  |
Shape |  |
Spinner |  |
Textbox |  |

Размещение фундаментального Класса на Форме

Это - наиболее частый случай. Вы можете просто мышкой перетянуть класс на форму из Галереи Компонентов, Браузера классов, Менеджера Проекта и Панели Инструментов Формы.

Примечание:
Чтобы увидеть более полную информацию о фундаментальном классе, выделите его на форме, затем запустите программу просмотра классов (Class Browser) из меню Tools.

Галерея Компонентов (Component Gallery) Галерея компонентов предоставляет наилегчайший способ размещения фундаментальных классов на форме. Классы, у которых базовые классы категорий A и B, вы можете мышкой перетянуть из Component Gallery на форму. Или вы можете щелкнуть правой клавишей мышки на нужном фундаментальном классе в Component Gallery, откроется меню быстрого вызова, выбрать пункт меню Add to Form.

У некоторых фундаментальных классов есть собсвенные построители (Builders), которые запускаются автоматически, запрашивая у вас более детальную информацию, необходимую для конкретного класса.

Программа Просмотра Классов (Class Browser) Фундаментальные классы, у которых базовые классы категорий A и B, можно поместить на форму непосредственно из окна программы просмотра классов (Class Browser), мышкой перетянув иконку класса, расположенную в вехнем левом углу окна. Для этого, выделите нужный класс в Class Browser, щелкните на иконке класса в верхнем левом углу окна Class Browser, не отпуская клавиши перетяните мышку на форму и отпустите клавишу в желаемом месте формы.

Фундаментальные классы, перетянутые на форму из Class Browser, не запускают соответсвующий данному классу построитель. Однако, вы можете сами запуспить его после того, как класс помещен на форму. Выделите фундаментальный класс на форме, затем правой клавишей мышки вызовите меню быстрого запуска. В этом меню щелкните на Builder и построитель запустится.

Менеджер Проекта (Project Manager) Фундаментальные классы, у которых базовые классы категорий А и В, можно поместить на форму из Менеджера Проекта (Project Manager).

Фундаментальные классы, перетянутые на форму из Project Manager, также не запускают соответсвующий данному классу построитель. Однако, вы межете сами запуспить его после того, как класс помещен на форму. Выделите фундаментальный класс на форму, затем правой клавишей мышки вызовите меню быстрого запуска. В этом меню щелкните на Builder и построитель запустится.

Панель Объектов Управления Формы (Form Controls toolbar) Фундаментальные классы, у которых базовые классы категорий А и В, можно поместить на форму из Панели Объектов Управления Формы (Form Controls Toolbar).

Если на этой панели кнопка Builder Lock отжата, помещая фундаментальный класс на форму может запустиься соответствующий построитель класса. Если же кнопка Builder Lock нажата, то вы межете сами запуспить его, после того, как класс помещен на форму. Выделите фундаментальный класс на форму, затем правой клавишей мышки вызовите меню быстрого запуска. В этом меню щелкните на Builder и построитель запустится.

Добавление Фундаментальных Классов к Проекту

Когда форма, содержащая фундаментальные классы, добавлена в проект, Менеджер Проекта (Project Manager) автоматически добавит в проект нужные библиотеки визуальных классов. Однако, существуют и другие случаи, в которых, возможно, вам необходимо будет добавить класс в проект. Например, ваше приложение может использовать фундаментальный класс категории С, значит этот класс должен быть в проекте приложения.

Фундаментальный класс может быть добавлен в проект, путем перетягивания мышкой .vcx библиотеки, в которой находится данный класс, из Windows Explorer, или путем нажатия кнопки Add в Менеджере Проекта (Project Manager).

Добавление Фундаментальных Классов из Галереи Компонентов (Component Gallery)

Вы можете мышкой перетянуть фундаментальный класс из Галереи Компонентов (Component Gallery) в проект, либо щелкнув правой клавишей мышки на нужном класс в Галерее Компонентов (Component Gallery) открыть меню быстроко запуска, и затем выбрать Add to Project. Когда вы добавляете класс в проект, появится окно диалога Add_Class_to_Project, предлагая вам следующие опции:

Add class to project
- Добавить класс в проект

Выбором данной опции, добавляется класс и его .vcx библиотека в проект. Напоминаем, что это будет осуществленно автоматически для классов помещенных на форму (категория A и B). И для некоторых классов категорий В и С, которые вы планируете вызывать программно в своем приложении, вы захотите воспользоваться этой опцией.
Create a new class from selected class
- Создать подкласс данного класса

Выбором этой опции, сосдается новый подкласс фундаменталького класса в проекте. Данная опция дает вам возможность улучшить функциональность исходного фундаментального класса, обычно путем добавления программного кода.
Create a new form from selected class
- Создать новую форму из данного класса

Выбирайте эту опцию для фундаментальных классов, у которых базовый класс - Form (например, классы в библиотеке _dialogs.vcx). С этой опцией возможно создать новую форму из фундаментального класса и улучшить ее функциональность.

Добавление Фундаментального Класса из Windows Explorer

Фундаментальный класс может быть добавлен в проект, путем перетягивания мышкой .vcx библиотеки визуальных классов, в которой находится данный класс, из Windows Explorer. Данная библиотека будет добавлена в раздел Class Libraries Менеджера Проекта.

Добавление Фундаментальных Классов в Менеджере Проекта (Project Manager)

В Менеджере Проекта щелкните на закладке Classes, затем на кнопке Add. Веберите библиотеку классов из папки \Ffc\, которая содержит желаемый вами класс.

Включение Классов в Ваше Приложение

Во многих случаях, большинство фундаментальных классов не требуют дополнительного программирования. Тем не менее, вам возможно придется написать дополнительный код для некоторых из них, например, таких, как из категорий B and C с невидимыми базовыми классами.

Невидимые Фундаментальные Классы

Например, такие фундаментальные классы, которые базируются на Пользовательском (Custom) классе из категории B, и такие классы требуют дополнительного программирования. Эти классы обычно выполняют задачи общего характера, как проверка информации в Регистрах Windows, обращение к настройкам среды окружения, обработка ошибок приложения, использование средств автоматизации других приложений таких, как автоматизированное составление стандартных писем (Mail Merge) с помощью Microsoft Word.

Вы можете поместить невидимые классы на форму, но вам будет нужно приложить дополнительные усилия, чтобы они работали с вашим приложением. В некоторых случаях запустится построитель, как только вы поместите такой класс на форму.

Ниже приведенный пример демонстрирует программный код, как использовать невидимые фундаментальные классы в ваших приложениях:

  1. Поместите File Version класс из Галереи Компонентов (Component Gallery), из папки Foundation Classes\Utilities на форму.

  2. Добавте кнопку на форму и напишите следующий код на событие Click:

    Скопировать Код
    WITH THISFORM._FILEVERSION1
       .cFileName = HOME( )+ 'VFP9.EXE'
       .GetVersion( )
       .DisplayVersion( )
    ENDWITH
  3. Запустите форму и нажмите кнопку.

Вы можете включить невидимый класс в свое приложение и без размещения его на форме, но при условии, что вы включите его в проект вашего приложения. Ниже приведенный код показывает, как запустить на выполнение тотже File Version фудаментальный класс, когда он не на форме.

Скопировать Код
LOCAL oFileVersion
      oFileVersion = NewObject('_fileversion', '_utility.vcx')
      WITH oFileVersion
            .cFileName = HOME( )+ 'VFP9.EXE'
            .GetVersion( )
            .DisplayVersion( )
ENDWITH
Примечание:
Данный пример предполагает, что код может определить местонахождение библиотеки _utility.vcx или файла .app, который содержит в себе _utility.vcx.

Когда вы используете невидимые классы, вам недходимо знать как и когда это происходит в вашем приложении, для того, чтобы его область действия была определена корректно. Если только одиночная форма использует класс, вы можете просто разместить класс на этой форме. Но если класс используют многие формы или глобально по всему приложению, то у такого фундаментальныго класса должна быть абсолютная, т.е. глобальная, область действия для того, чтобы можно было обратить к нему из любой точки приложения. К тому же, глобальная область действия может положительно повлиять на производительность вашего приложения.

Добавление Визуального Фундаментального Класса к Приложению.

Вы можете программно добавить к вашему приложению визуальные фундаментальные классы, такие, которые имеют базовым классом класс form. Например, вы можете использовать следующий код для вызова диалогового окна About:

Скопировать Код
LOCAL oAbout
      oAbout = NewObject('_aboutbox','_dialogs.vcx')
      oAbout.Show( )

Для того, чтобы сделать индивидуальные настройки диалогового окна About для конкретного приложения, создайте в приложении подкласс данного класса:

  1. Откройте проект приложения.

  2. В меню Tools выберите Component Gallery.

  3. В окне Component Gallery, откройте каталог Visual FoxPro Catalog, затем - Foundation Classes, and выберите Dialogs.

  4. Перетяните мышкой класс Aboutbox в окно Менеджера Проекта (Project Manager).

  5. Появится диалоговое окно Add Class to Project, в котором выберите опцию Create new form from selected class.

  6. В диалоговом окне Save As, введите имя новой формы.

    После чего, откроется построитель форм с только-что созданной формой.

  7. В окне Properties, введите в свойство Caption загаловок новой формы вашего приложения. Сохраните и закройте форму.

  8. Напишите программный код DO FORM FormName в программе запуска этой формы, например, в процедуре пункта меню About.

    -или-

    Из папки Foundation Classes\Buttons в Component Gallery, перетяните класс Run Form button на какую-нибудь форму. Запустится построитель, и вы, таким образом, сможете задать имя исполняемой формы.

Если вы пользуетесь Фундаментальными Структурами Visual FoxPro приложения (Application Framework), то построитель приложения (Application Builder) автоматически добавит формы (обе: .scx и класс формы .vcx). Мастер Нового Приложения или раздел Галереи Компонентов New Application инсталирует Фундаментальные Структуры (Framework) в проект, который они создали. Построитель приложения взаимодействует непосредственно с Фундаментальными Структурами Visual FoxPro и дает вам возможность определить, как и где запускать эту форму.

Применяя Фундаментальные Структуры, созданные Мастером Приложения, Построителем Приложения и Галереей Компонентов, вы получаете мощный набор инструментов для создания всего приложения с минимальным программированием вручную.

Соглашения о Наименовании Класса

Фундаментальные классы Visual FoxPro, а также их свойства и методы применяют следующие Соглашения о Наименовании.

Классы и Библиотеки Классов

Большинство фундаментальных классов являются подклассами базовых визуальных классов из библиотеки _base.vcx, которую вы сможете найти в папке \Ffc\. Соглашения о наименовании для этих классов отражают базовый класс. Например, подкласс класса Custom назван _Custom в _base.vcx. Все классы используют символ подчёркивания ( _ ), предшествующий имени класса в _base.vcx.

Несколько библиотек не содержат в себе подклассы базовых классов из _base.vcx, т.к. эти классы совместно используются и другими компонентами Visual FoxPro, как например, Мастера (wizards) и Построители (builders). Такие классы находятся в библиотеках с именами без предшествующего символа подчёркивания, например, Registry.vcx.

Методы и Свойства

Наименование методов чаще основывается на выполняемых ими действиях, такое как RunForm (ЗапускФормы). Если имя содержит несколько слов, как в данном примере, RunForm, тогда это показывается заглавными буквами. Именам свойств, обычно, предшествует буква, определяющая тип данных данного свойства. Например, cFileName указывает,что это свойство - символьного типа. А также, значения свойств по умочанию (default values) для свойств устанавливают соответствующий тип данных. Например, начальное значение логического свойства может быть ЛОЖЬ (.F.), в то время как, начальное значение числового свойства может быль определено, как 0.

Свойства классов, которые поставлялись с более ранними версиями Visual FoxPro не строго следуют этим соглашениям, и придерживаются этих имен, чтобы избежать конфликта совместимости с раннее написанным кодом пользователя, ссылающимся на эти свойства.

Улучшение или Изменения Фундаментальных Классов Visual FoxPro

Вы можете улучшить или изменить фундаментальные классы для того, чтобы они соответствовали нуждам вашего программного приложения. Однако, мы рекомдуем не изменять сами классы. Фундаметальные классы могут периодически дополняться новыми функциональными возможностями.

Создание Подклассов Фундаментальных Классов

Вам предоставляется исходный программный код фундаментальных классов, таким образом, вы можете создать подкласс любого фундаментального класса для того, чтобы заменить или улучшить его свойства и методы. Это довольно распространенный прием, когда поведение кокретного класса должно меняется от приложения к приложению. Одно приложение может использовать непосредственно класс, в то время , как другое - его подкласс.

Изменение _base.vcx

Если вы желаете добавить глобальные изменения в фундаментальные классы Visual FoxPro, вы межете изменить _base.vcx. Так как фундаментальные классы - это подклассы из _base.vcx, то изменения классов это библиотеки автоматически распространяются и на фундаментальные классы. Элементарный набор методов и свойств предоставлен для всех классов в _base.vcx. Тем не менее, вы межете внести изменения в классы, находящиеся в _base.vcx, если это придаст желаемое поведение вашему приложению (в отличии от фундаментальных классов, которые мы рекомендуем не изменять).

Вместо того, чтобы изменять _base.vcx, вам следует переопределить классы в _base.vcx, чтобы они унаследовали поведение от ваших собственных базовых классов, что предпочтительней, чем от базовых классов Visual FoxPro. Если у вас уже есть библиотека собственных бвзовых классов, которые являются подклассами базовых классов Visual FoxPro, вы можете переопределить _base.vcx для наследования от ваших пользовательских классов. Таким образом, когда компоненты приложения используют _base классы, то они будут наследовать от ваших классов. Вы можете воспользоваться программой просмотра классов Class Browser, чтобы переопределить родителький класс (свойство parent class) для отдельно взятого класса.

Примечание:
Когда вы переопределяете классы, что бы те наследовали от ваших собственных классов, вам следует добавить вызов функции DODEFAULT() в надлежащем месте, если хотите, чтобы метод родительского класса выполнялся.

Если вы заменяете всю библиотеку _base.vcx своей собственной, прежде убедитесть, что у вас точно такой же набор имен классов; иначе у фундаментальных классов будут отсутствующие ссылки.

Смотри также

Другие статьи

Фундаментальные Классы от А до Я
Примеры Фундаментальных Классов
Фундаментальный Класс File Version
Фундаментальный Класс Диалогового Окна About
Фундаментальный Класс Кнопки Run Form

Отправьте ваши комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод LS


Add a Data-Bound Calendar Sample

Visual FoxPro 9.0, Примеры
Добавить Дата-ориентированный Календарь, Пример
См. также

Программный файл: ...\Samples\Solution\Ffc\Datacal.scx

Данный пример содержит следующие классы:

Класс | Библиотека | Описание
_olecalendar | _datetime.vcx | Отображает Календарь с выделенной Датой, связанной с полем из Таблицы.
_nav2buttons | _table.vcx | Отображает пары навигационных кнопок.

Дополнительная информация об имеющихся фундаментальных классах - в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Фундаментальные классы, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Add Data Lookup Combo Boxes Sample

Visual FoxPro 9.0, Примеры
Добавление Поиска данных в Контрол ComboBox, Пример
См. также

Программный файл: ...\Samples\Solution\Ffc\DataLook2.scx

В представленном примере используются следующие фундаментальные классы:

Класс | Библиотека | Описание
_cbodistinctvalues | _dataquery.vcx | Выполняет поиск уникального значения в источнике данных для обычного контрола combobox.
_cbolookup | _dataquery.vcx | Выполняет поик значения элемента для обычного контрола combobox.
_nav2buttons | _table.vcx | Отображает пару управляющих кнопок для выполнения функций GoNext( ) - "к следующему", GoPrevious( ) - "к предыдущему".

Дополнительную информацию по использованию фундаментальных классов смотрите в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Поиск в Контролах Combobox, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Add Data Querying to Forms Sample

Visual FoxPro 9.0 - Образцы решений
Образец решения ввода в формы запроса данных
Смотрите также

Файл: ...\Samples\Solution\Ffc\DataQry.scx

Этот образец содержит перечисленные ниже классы.

Класс | Библиотека | Описание
_findnextbuttons | _table.scx | Предоставляет набор командны кнопок Find/Find Next для навигации по таблице.
_locatebutton | _table2.vcx | Предоставляет командную кнопку Locate для отображения диалогового кона для навигации по таблице.
_findbutton | _table.vcx | Предоставляет командную кнопку Find общего использования.

Для получения подробной информации о всех классах, доступных среди фундаментальных классов, смотрите описание Фундаментальные классы Visual FoxPro от A до Z.

Смотрите также

Задачи

Образец решения ввода в формы сортировки и фильтрации данных

Справочное руководство

Фундаментальный класс командной кнопки Find
Фундаментальный класс командной кнопки Locate
Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы решений с использованием фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Add Data Sorting and Filtering to Forms Sample

Visual FoxPro 9.0 - Образцы решений
Образце решения по вводу в формы сортировки и фильтрации данных
Смотрите также

Файл: ...\Samples\Solution\Ffc\DataSort.scx

Этот образец содержит перечисленные ниже классы.

Класс | Библиотека | Описание
_sortbutton | _table2.vcx | Предоставляет командные кнопки для производства сортировки данных по возрастанию и убыванию.
_navtoolbarclass | _table2.vcx | Предоставляет элементы управления навигации на панели инструментов.
_navmenu | _table2.vcx | Предоставляет контекстное меню, которое включает опции для навигации по данным.

Для получения подробной информации о всех классах, доступных среди фундаментальных классов, смотрите описание Фундаментальные классы Visual FoxPro от A до Z.

Смотрите также

Задачи

Образец ввода запросов данных в формы

Справочное руководство

Фундаментальный класс объекта навигации по данным
Фундаментальный класс командных кнопок навигации по данным
Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы решений с использованием фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Add Encryption to Applications Sample

Visual FoxPro 9.0, Примеры
Использование Шифрования в Приложениях, Пример
См. также

Программный файл: ...\Samples\Solution\FFC\Crypto.scx

Данный пример демонстрирует использование фундаментального класса Crypto, который опирается на механизмы Windows Crypto API routines. Вы можете шифровать с его помощью текст, файлы, различные данные ваших приложений. Предлагается несколько вариантов шифрования данных, имеются возможности электронной подписи файлов данных.

Данный пример содержит следующие фундаментальные классы:

Класс | Библиотека | Описание
_cryptapi | _ crypt.vcx | Данный фундаментальный класс содержит Свойства и Методы шифрования данных в ваших приложениях. Данный класс использует стандартные механизмы шифрования Windows Crypto API routines.

Дополнительная информация о всех фундаментальных классах содержится в разделе Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Add Miscellaneous Form Buttons Sample

Visual FoxPro 9.0, Примеры
Командные Кнопки в Формах, пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\Buttons.scx

В данном примере использованы следующие Классы Контролов.

Класс | Библиотека | Краткое Описание
_shellexecute | _environ.vcx | Запускает внешнее Приложение с помощью объекта Windows Shell.
_mailbtn | _miscbtns.vcx | Использует внешний контрол MAPI ActiveX, отправка Сообщения E-Mail из Формы VFP.
_cmdlaunch | _miscbtns.vcx | Обеспечивает запуск некоторого внешнего Приложения с помощью команды Run.
_cmdok | _miscbtns.vcx | Закрывает Форму и Сохраняет все введенные Данные.
_cmdcancel | _miscbtns.vcx | Закрывает Форму и Отменяетвсе введенные Данные.
_cmdhelp | _miscbtns.vcx | Обеспечивает отображение некоторого Раздела подсистемы Помощи (Help Topic).
_cmdrunform | _miscbtns.vcx | Обеспечивает запуск некоторой Формы.
_cmdrunreport | _miscbtns.vcx | Обеспечивает выполнение мнекоторого Отчета.

В представленном примере показаны варианты использования Командных Кнопок в ваших Приложениях. Представленные Кнопки обеспечивают выполнение следующих Функций:

  • Запуск внешних Приложений

  • Открытие страницы Web в окне Обозревателя Windows

  • Активация Формы (Visual FoxPro)

  • Предварительный просмотр Отчета

  • Завершение выполненных процессов при помощи Кнопок: OK / Cancel

  • Активация и отображение Параграфа подсистемы Помощи (Help Topic)

Дополнительную информацию по использованию Фундаментальных Классов смотрите в разделе: Фундаментальные Классы Visual FoxPro, A-Z.

См. также

Описание

Кнопка Запуска Формы, фундаментальный класс
Фундаментальные Классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Add Navigation to Forms Sample

Visual FoxPro 9.0, Примеры
Добавление Контрола Навигации (Navigation) в Форму, пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\DataNav.scx

В рассматриваемом примере используются следующие Классы:

Имя Класса | Библиотека | Краткое Описание
_nav2buttons | _table2.vcx | Отображает и активирует командные кнопки GoNext( ) и GoPrevious( ) (Следующая и Предыдущая).
_nav4buttons | _table2.vcx | Отображает дополнительные Кнопки навигации: GO TOP и GO BOTTOM, для предыдущего класса.
_tablenav | _table.vcx | Невизуальный класс, обеспечивающий функциональность навигации других Классов.
_nav2picbuttons | _table2.vcx | Отображает две кнопки с картинками для выполнения методов GoNext( ) и GoPrevious( ).
_gotobutton | _table2.vcx | Обеспечивает функциональную кнопку навигации Go To.

Дополнительную информацию о функциональности Фундаментальных классов смотрите в разделах: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Задачи

Добавление контролов Запросов SQL в Форму, пример

Описание

Простейшие кнопки Навигации, фундаментальный Класс
Кнопки навигации по Данным, фундаментальный Класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных классов VFP

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Add Shortcut Menus to Objects Sample

Visual FoxPro 9.0, Примеры
Добавить меню типа Shortcut для выбранного объекта, Пример
См. также

Программный файл: ...\Samples\Solution\Ffc\NewMenu.scx

Данный пример содержит следующие Классы.

Класс | Библиотека | Описание
_shortcutmenu | _menu.vcx | Динамическое создание меню типа shortcut.

Дополнительная информация об использовании фундаментальных классов в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальный класс создания меню типа Shortcut
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Add Web Hyperlinks to a Form Sample

Visual FoxPro 9.0 - Образцы решений
Образец решения ввода в формы гиперссылок
Смотрите также

Файл: ...\Samples\Solution\Ffc\HyperLnk.scx

Этот образец содержит перечисленные ниже классы.

Класс | Библиотека | Описание
_urlcombobox | Internet.vcx | Создает комбобокс для указания и навигации по Web-сайтам.
_hyperlinklabel | Internet.vcx | Обеспечивает функциональность гиперссылки и запускает Web обозреватель из метки.
_hyperlinkimage | Internet.vcx | Обеспечивает функциональность гиперссылки и запускает Web обозреватель из картинки.
_hyperlinkcommandbutton | Internet.vcx | Обеспечивает функциональность гиперссылки и запускает Web обозреватель из командной кнопки.

Для получения подробной информации о всех классах, доступных среди фундаментальных классов, смотрите описание Фундаментальные классы Visual FoxPro от A до Z.

Смотрите также

Справочное руководство

Фундаментальный класс - командная кнопка гиперссылки
Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы решений с использованием фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Application Error Handling Sample

Visual FoxPro 9.0, Примеры
Подсистема управления ошибками в Приложении, Пример
См. также

Файл: ...\Samples\Solution\Ffc\Error.scx

Данный пример содержит следующие имеющиеся Классы.

Класс | Библиотека | Описание
_error | _app.vcx | Обеспечивает обработку ошибочных ситуаций, как на объектном, так и процедурном уровне.

Дополнительные сведения об использовании имеющихся Фундаментальных Классов см. в разделе Базовые классы Visual FoxPro, A-Z.

См. также

Описание

Базовые классы Visual FoxPro, A-Z

Концепции

Основополагающие принципы использования Фундаментальных Классов FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Create a Visual FoxPro Web Browser Sample

Visual FoxPro 9.0, Примеры
Создание объекта WebBrowser средствами Visual FoxPro, пример
См. также

Программный файл: ...\Samples\Solution\Ffc\DoHTML.scx

В данном примере используются следующий классы.

Класс | Библиотека | Краткое описание
_webbrowser4 | _webview.vcx | Обеспечивает создание Контрола Web browser на фоме Visual FoxPro.

Дополнительные сведения о всех фундаментальных классах см. в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальный класс Web Browser Control
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Create Record Bound Graphs Sample

Visual FoxPro 9.0, Примеры
Создание Графика, привязанного к записям данных, пример
См. также

Программный файл: ...\Samples\Solution\Ffc\GraphRec.scx

В данном примере используются следующие классы.

Класс | Библиотека | Описание
_graphbyrecord | _utility.vcx | Обеспечивает кнопками навигации по записям таблицы и построение графиков, изображений, привязанным к данным из рассматриваемых таблицах.
_nav4buttons | _table2.vcx | Отображает две дополнительные кнопки, для выполнения операций GO TOP и GO BOTTOM в соответствующем классе _Nav2Button.

Дополнительная информация об имеющихся фундаментальных классах - в разделе Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Графики по данныс Записей, фундаментальный класс
Кнопки навигации по данным, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Create Toolbar Control Effects Sample

Visual FoxPro 9.0, Примеры
Создание инструментальной линейки (Toolbar), с эффектными Контролами, Пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\MouseFx.scx

В следующем примере содержатся классы:

Класс | Библиотека | Описание
_mouseoverfx | _ui.vcx | Выделяет соответствующий Контрол при перемещении указателя мыши над ним.

Дополнительная информация об имеющихся фундаментальных классах - в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Задачи

Отображение Контролов в объекте Grid, Пример

Описание

Фундаментальный класс MouseOver Effects
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Фундаментальные классы, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Display Data Reporting Output Options Sample

Visual FoxPro 9.0, Примеры
Отображение Параметров вывода Отчета, Пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\Output.scx

В данном примере используются следующие классы:

Класс | Библиотека | Описание
_showtext | _reports.vcx | Обеспечивает отображение диалогового бокса редактирования текста, содержащего кнопки форматирования, сохранения и закрытия данного окна.
_outputdialog | _reports.vcx | Обеспечивает отображение диалогового бокса задания параметров вывода Отчета.

Дополнительная информация об имеющихся фундаментальных классах - в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Фундаментальные классы, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Expanding the SetAll Method Sample

Visual FoxPro 9.0, Примеры
Расширение возможностей метода SetAll, Пример
См. также

Файл: ...\Samples\Solution\FFC\Setallx.scx

В данном примере используется Фундаментальный Класс SetAllx, обеспечивающий программные установки различных свойств объектов, при нестандартных ситуациях, что значительно расширяет возможности базового Метода SetAll( ).

Данный пример содержит следующие классы
Класс | Библиотека | Описание
_setallx | _setallx.vcx | Обеспечивает оболочку для вызова методов SetAllx, расширяющих возможности SetAll.

Дополнительные сведения об использовании Фундаментальных Классов см. в разделе Базовые классы Visual FoxPro, A-Z.

См. также

Описание

Базовые классы Visual FoxPro, A-Z

Концепции

Основополагающие принципы использования Фундаментальных Классов Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Generate HTML Sample

Visual FoxPro 9.0, Примеры
Генерация файла .HTML, Пример
См. также

Программный файл: ...\Samples\Solution\Ffc\DoHTML.scx

В данном примере используются следующие фундаментальные классы:

Класс | Библиотека | Описание
_webform | Webview.vcx | Обеспечивает создание формы Visual FoxPro для отображения Объекта Web browser - для просмотра HTML.
_resizable | Controls.vcx | Обеспечивает пропорциональное изменение размеров формы просмотра при изменении общих размеров.
_dbf2html | Internet.vcx | Выполняет конвертацию: Таблица Visual FoxPro (.dbf) -> HTML.
_frx2html | Internet.vcx | Выполняет конвертацию Отчета: Visual FoxPro (.frx) -> HTML.

Дополнительные сведения по использованию фундаментальных классов смотрите в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Handle Application Environment Tasks Sample

Visual FoxPro 9.0, Примеры
Задачи управления Средой Приложения, пример
См. также

Программный файл: ...\Samples\Solution\Ffc\Environ.scx

Рассматриваемый пример использует следующие Фундаментальные Классы:

Класс | Библиотека | Описание
System Toolbar | _app.vcx | Управляет и настраивает системные инструментальные панели (System ToolBars).
_objectstate | _app.vcx | Определяет состояние объекта, позволяющего сохранять и восстанавливать требуемые настройки.
_traceawaretimer | _app.vcx | Определяет активность системного окна Отладки управляет выводом отладочной информации.

Дополнительная информация по использованию фундаментальных классов находится в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Задачи

Некоторые задачи управления Общими системными Окнами, пример

Описание

System Toolbar, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры использования фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Handle Common Windowing Tasks Sample

Visual FoxPro 9.0, Примеры
Диспетчер общих оконных задач, Пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\WHandler.scx

В данном примере используется следующий фундаментальный класс:

Класс | Библиотека | Описание
_windowhandler | Ui.vcx | Выполняет несколько общих оконных операций, типичных для обычного Приложения.

Дополнительная информация о всех фундаментальных классах содержится в разделе Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальный класс Оконного Диспетчера
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Handle Data Conflicts Sample

Visual FoxPro 9.0 Samples
Управление Конфликтами Данных, пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\Conflicts.scx

В данном примере используются следующие Классы из библиотек:

Класс | Библиотека | Краткое Описание
_conflicts | _dataquery.vcx | Отображает диалоговый бокс, с помощью которого пользователь может разрешить Конфликт Редактирования данных в Записях Таблицы при использовании Сессии Данных с Оптимистической Буферизацией (Optimistic Buffering).
_nav4picbutton | _table.vcx | Отображает две дополнительные командные кнопки, выполняющие операции перемещения укзателя Записи Таблицы: GO TOP и GO BOTTOM, которые используются в Классе навигации: _Nav2PicButton.
_resizable | _controls.vcx | Масштабирование и координация Контролов и Объектов на Форме в условиях изменения ее размеров.
_datachecker | _datanav.vcx | Прерывания для Конфликтов Данных.

Более подробную информацию о всех фундаментальных классах смотрите в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Conflict Catcher (Ловушка для Конфликтов), фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Foundation Class Samples

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Pool Manager Sample

Visual FoxPro 9.0 Samples
Pool Manager (Диспетчер Пула), пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\_PoolManager.scx

Представленный пример демонстрирует, как вы можете использовать в своих Проектах класс Диспетчера Пула (Pool Manager), который обеспечивает управление некоторым множеством или Коллекцией Объектов, интенсивно и неоднократно используемых в короткий промежуток времени.

В данном примере используются следующие Классы.

Класс | Библиотека Классов | Краткое Описание
_poolmanager | _poolmanager.vcx | Обеспечивает эффективное управление Коллекцией или подмножеством Объектов одного пользовательского Класса.

Пулинг Объектов (объединение)

В представленном примере, пользовательские Формы собраны в некоторый Пул (Коллекцию) таким образом, что уже созданные Формы могут быть использованы неоднократно при обработке Данных, выборе конкретного Клиента. (Вместо того, чтобы каждый раз создавать новый Экземпляр рассматриваемого набора Форм.)

Для использования функций класса Диспетчера Пула достаточно определить следующие Значения для базовых Свойств:

cClass = frmCustomer

cClassLibrary = frmCustomer.vcx

Связывание ключевых Событий Диспетчера Пула

Вы можете Связать основные События рассматриваемого класса _PoolManager. В рассматриваемом примере: в соответствующем Событии пользовательский формы Init выполняется Определение Локального обработчика для соответствующих Событий-Методов рассматриваемого Класса: PoolManager_ObjectRequested и PoolManager_ObjectReturned, а соответствующие Обработчики в локальной форме: _PoolManager ObjectRequested и ObjectReturned, которые отслеживают текущее состояние Базовых Событий:

CopyCode image Копировать Код
BINDEVENT(This.PoolManager,"ObjectRequested",ThisForm,"PoolManager_ObjectRequested")
BINDEVENT(This.PoolManager,"ObjectReturned",ThisForm,"PoolManager_ObjectReturned")

Requesting Objects (Вызов Объектов)

Для вызова (активации) требуемого объекта из созданного Пула, достаточно вызвать соответствующий Метод Get Диспетчера _PoolManager.

Для открытия пользовательской Формы в рассматриваемом Примере:

  1. Выберите Имя Клиента в представленном Списке.

  2. Выполните команду View Customer (Просмотр Клиента).

Вы можете открыть несколько копий Формы, выбрав различных Клиентов (как показано выше) - View Customer, в каждом случае вызов Объекта указанной Формы выполняется при помощи рассматриваемого Диспетчера Пула Объектов. Метод пользовательской формы ViewCustomer может содержать следующий фрагмент программного кода:

CopyCode image Копировать Код
loForm = ThisForm.PoolManager.Get(m.lcCustID)
If Vartype(m.loForm) == "O"
 loForm.Show()
EndIf

В данном примере, указанный Метод Get возвращает еще неиспользуемый Объект из Пула или создает Новый Объект (Форму). Когда вы выбираете нового Клиента (создается соответствующая форма данного Клиента), в соответствующем событии Init данной формы выполняется привязка Событий диспетчера Пула (форм): _PoolManager ObjectRequested и ObjectReturned, которые "закрепляются" за приватными переменными с именем THISPOOLMANAGER, которые создаются в каждой копии Метода Get:

CopyCode image Копировать Код
BINDEVENT(THISPOOLMANAGER,"ObjectRequested",This,"PoolManager_ObjectRequested")
BINDEVENT(THISPOOLMANAGER,"ObjectReturned",This,"PoolManager_ObjectReturned")

В таком случае, можно использовать выполнение для пользовательской Формы Метода Hide - вместо метода Release, что обеспечивает более эффективное управление Пулом пользовательских Форм (формы не разрушаются при их закрытии, и не создаются вновь при повторном обращении).

Returning Objects (Возврат Объектов)

Для освобождения сохраненного ранее Объекта в Пуле Диспетчера _PoolManager используется соответствующий метод Free. В рассматриваемом примере, в пользовательской форме, в соответствующем событии QueryUnloadсодержится следующий фрагмент программного кода, который фактически "освобождает" данный Объект из под Контроля Диспетчера (исключает из Пула):

CopyCode image Копировать Код
If Vartype(This.oPoolManager) == "O"
 This.oPoolManager.Free(This)
 NoDefault
EndIf

См. также

Описание

Фундаментальные классы Visual FoxPro, по-алфавиту, A-Z

Другие ссылки

Примеры использования Фундаментальных классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Retrieve Project Location and Name Sample

Visual FoxPro 9.0, Примеры
Определениен имени и местоположения Проекта, Пример
См. также

Программный файл: ...\Samples\Solution\Ffc\GetProject.scx

Данный пример содержит следующие фундаментальные классы:.

Класс | Библиотека | Описание
_folder | _controls | Обеспечивает открытие Диалогового бокса определения имени и каталога Проекта.

Дополнительная информация о всех фундаментальных классах содержится в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Определение файла и каталога фундаментального класса
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Run Word, Excel, and Graph Automation Sample

Visual FoxPro 9.0 Samples
Примеры запуска Word, Excel и Graph
Смотрите Также

Файл: ...\Samples\Solution\Ffc\Automate.scx

Данный пример содержит следующие классы.

Класс | Библиотека | Описание
Cross Tab | _utility.vcx | Генерирует отчёт с перекрёстными ссылками (cross-tab report).
Mail Merge | Mailmerge.vcx | Генерирует стандартные письма в Word с применением основного механизма Mail Merge мастера.
Pivot Table | Pivtable.vcx | Генерирует сводную таблицу (pivot table) в Excel с применением основного механизма мастера PivotTable.
Graph Object | _utility.vcx | Генерирует графики с применением основного механизма Graph мастера.

Этот пример демонстрирует добавление автоматических процедур в ваше приложение. Нажмите соответствующую кнопку в диалоговом окне, чтобы сгенерировать отчёт с перекрёстными ссылками, или сводную таблицу в Excel, или стандартное письмо в Word или график.

Более подробно о фундаментальных классах читайте Фундаментальные Классы Visual FoxPro A-Z.

Смотрите Также

Ссылки

Фундаментальный Класс Cross Tab
Фундаментальные Классы Visual FoxPro A-Z

Концепции

Руководство по Применению Фундаментальных Классов Visual FoxPro

Прочие Ресурсы

Примеры Фундаментальных Классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Search Text Using Regular Expressions Sample

Visual FoxPro 9.0, Примеры
Поиск фрагмента текста с помощью регулярных выражений, пример
См. также

Программный файл: ...\Samples\Solution\FFC\Regexp.scx

В данном примере демонстрируется использование регулярных выражений для поиска фрагментов текста, используется фундаментальный класс Regular Expressions, который обеспечивает доступ к системным средствам (библиотекам) построения и поиска регулярных выражений. Данный механизм основан на комплексном поиске или построении фильтрующих выражений, которые могут использоваться при построении диалоговых боксов Find (Поиск) в ваших приложениях.

В данном примере используются следующий классы
Класс | Библиотека | Краткое Описание
_regexp | _ regexp.vcx | Обеспечивает различные методы построения регулярных выражений для выполнения поиска фрагментов текста в ваших приложениях.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования фундаментальных классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Set VFP Shell Open Commands Sample

Visual FoxPro 9.0, Примеры
Настройка команд Открытия среды VFP, Пример
См. также

Программный Файл: ...\Samples\Solution\Winapi\Shellopen.scx

Данный пример содержит некоторые утилиты, с помощью которых вы можете изменить стандартные настройки системного диалога Открытия файлов (Shell Open), определить расширения файлов (типы), для соответствующий действий; также имеются прямые вызовы фундаментального класса работы с Реестром Windows. Подсистема обработки (Shell Open) отрабатывает необходимые действия (открытие файлов) при выполнении пользователем "double-click" на конкретном файле в в системном окне Проводника Windows.

В предыдущей версии, Visual FoxPro 7.0, система Visual FoxPro запускалась в новой инстанции для указанного файла. В данном примере показано, как вы можете управлять и контролировать процессом открытия файлов на первичном (файловом) уровне.

В данном примере содержатся следующие фундаментальные классы:
Класс | Библиотека | Описание
registry | registry.vcx | Содержатся вызовы системных функций обращения к данным Реестра Windows.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Фундаментальные классы, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Notes for the Windows 2000 Logo Program Sample

Visual FoxPro 9.0, Примеры
Рекомендации по использованию "Windows 2000 Logo Program", пример
См. также

Программный файл: ...\Samples\Solution\FFC\Logo.scx

Пользовательское приложение может вызывать системную процедуру: "Windows 2000 Logo". Существует несколько системных требований для выполнения возможности получения различной системной информации по общему стандарту, например как (см. подробно в http://www.microsoft.com/winlogo). В данном примере представлен фундаментальный класс, который обеспечивает получение различной системной информации.

В данном примере используются следующие фундаментальные классы:

Класс | Библиотека__ | Описание
_sysmetrics | _ system.vcx | Возвращает системную информацию, например, количество кнопок на манипуляторе mouse, количество используемых мониторов, и другие представленные манипуляторы управления данными
_userpriv | _ system.vcx | Возвращает уровень текущего пользователя Системы (Гость, Продвинутый Пользователь, Администратор Рабочей Станции).
_commonfolder | _ system.vcx | Возвращает системный путь для общих системных папок, например, для папки "Мои Документы" (My Documents).

Дополнительную информацию по использованию фундаментальных классов смотрите в разделе: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Use an Enhanced Openfile Dialog Box Sample

Visual FoxPro 9.0 Образцы решений
Образец использования и расширения Диалогового бокса Открытия файла
См. также

Файл: ...\Samples\Solution\FFC\Getfilex.scx

Стандартно система Visual FoxPro обеспечивает процессы работы с файлами диалоговыми функциями GETFILE() и PUTFILE() , которые не учитывают последних возможностей операционной системы в этом вопросе. В данном примере показано использование фундаментального класса Common Dialog Box. С помощью которого Вы можете значительно расширить возможности Пользовательского Интерфейса (UI) ваших приложений, включая быстрый Поиск основных разделов History, Desktop, и My Document, расположенных в левой панели Проводника.

Данный Образец размещается в следующей библиотеке:
Класс | Библиотека | Описание
_comdlg | _system.vcx | Содержит основные свойства и методы, которые используют внутренние Диалоговые Окна открытия и сохранения файлов операционной системы Windows.

Для подробностей об использовании базовых классов , см. раздел Visual FoxPro Foundation Classes A-Z.

См. также

Концепции

Основные принципы использования Visual FoxPro Foundation Classes

Другие ссылки

Образцы решений форм (Forms)
Образцы фундаментальных Классов (Foundation Class)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Use Array Handling Sample

Visual FoxPro 9.0, Примеры
Использование управления массивами, Пример
См. также

Файл: ...\Samples\Solution\Ffc\Arrays.scx

Данный пример содержит следующие фундаментальные классы.

Класс | Библиотека | Описание
_arraylib | _utility.vcx | Обеспечивает функциями и методами работы с массивами, которые отсутствуют в стандартных функциях обработки массивов в системе Visual FoxPro.

Дополнительные сведения об имеющихся фундаментальных классах см. в разделе Базовые классы Visual FoxPro, A-Z

См. также

Описание

Базовые классы Visual FoxPro, A-Z

Концепции

Основные принципы использования Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Use Common Application Dialog Boxes Sample

Visual FoxPro 9.0, Примеры
Использование Общих Диалоговых Боксов в Приложении, пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\Dialogs.scx

В данном примере используются следующие Фундаментальные Классы.

Класс | В Библиотеке | Краткое Описание
_splash | _dialogs.vcx | Обеспечивает отображение Заставки (Splash-Screen) для вашего Приложения.
_login | _dialogs.vcx | Обеспечивает активацию диалогового бокса Входа в Приложение (Login box).
_aboutbox | _dialogs.vcx | Обеспечивает отображение Информационного окна "О Программе..." (About Box).
_keywords | _dialogs.vcx | Обеспечивает доступ к ключевым Таблицам Приложения (.dbf).
_locateitem | _dialogs.vcx | Отображает диалоговый бокс типа "Locate Item".

Дополнительную информацию по использованию Фундаментальных Классов смотрите в разделах: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Описание

Ввод пароля Доступа, фундаментальный класс
Экран Заставки (Splash-Screen), фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Use Edit Buttons for a Complex Form Sample

Visual FoxPro 9.0, Примеры
Использование кнопок Редактирования в Комплексных Формах, Пример
См. также

Программный Файл: ...\Samples\Solution\Ffc\Dataedit.scx

В следующем примере используются следующие Классы:

Класс | Библиотека | Описание
picbtns | Wizbtns.vcx | Обеспечивает полный набор кнопок редактирования и навигации по записям Таблицы.

Дополнительная информация об имеющихся фундаментальных классах представлена в разделе: Фундаментальные классы в Visual FoxPro, A-Z.

См. также

Задачи

Использование кнопок редактирования в простых Формах, Пример

Описание

Простейший фундаментальный класс кнопок редактирования
Фундаментальный класс кнопки редактирования Данных
Фундаментальные классы в Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Фундаментальные классы, Примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Use Edit Buttons for a Simple Form Sample

Visual FoxPro 9.0, Примеры
Использование кнопок Редактирования для простых Форм, Пример
См. также

Программный файл: ...\Samples\Solution\Ffc\Dataedit2.scx

В данном примере используются следующие классы.

Класс | Библиотека | Описание
_picformbtns | _wizbtns.vcx | Отображает кнопки, обеспечивающие операции Find, Print, Add, Delete, Exit (Поиска, Печати, Добавления, Удаления, Выхода).

Дополнительная информация об имеющихся фундаментальных классах - в разделе: Фундаментальные классы Visual FoxPro, A-Z

См. также

Задачи

Использование кнопок редактирования в сложных Формах, Пример

Описание

Простые кнопки редактирования, фундаментальный класс
Кнопки редактирования данных, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Фундаментальные классы, примеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Use Mover List Boxes for Selecting Data Sample

Visual FoxPro 9.0 Samples
Использование Контрола "Mover List Boxes" для выборки Данных, пример
См. также

Программный файл: ...\Samples\Solution\Ffc\Movers.scx

В представленном примере используются следующие Классы.

Класс | Библиотека | Краткое Описание
_tablemover | _movers.scx | Автоматически загружает Таблицыи необходимые поля из указанных источников Данных.
_fieldmover | _movers.scx | Автоматически загружает требуемые Поля из текущего источника Данных.
_sortmover | _movers.scx | Автоматически управляет Сортировкой Данных.
_supermover | _movers.scx | Обеспечивает основной механизм рассматриваемого Контрола (mover list box) командными кнопками Move, Remove, Move All, и Remove All.

Более подробную информацию об использовании всех классов в Фундаментальных Классах смотрите в разделах: Фундаментальные классы Visual FoxPro, A-Z.

См. также

Задачи

Интерактивное добавление Элемента в список типа List Box, пример

Описание

Mover, фундаментальный класс
Фундаментальные классы Visual FoxPro, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Use Progress Thermometer Sample

Visual FoxPro 9.0, Примеры
Использование Измерителя Процессов, Примеры
См. также

Программный файл: ...\Samples\Solution\Ffc\Therm.scx

В данном примере используются следующие Классы.

Класс | Библиотека | Описание
_thermometer | _therm.vcx | Обеспечивает отображение стандартного Измерителя Процессов.

Дополнительная информация о всех фундаментальных классах представлена в разделе Фундаментальные Классы Visual FoxPro, Классы A-Z.

См. также

Описание

Фундаментальный класс Thermometer
Фундаментальные классы Visual FoxPro, Классы A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Working with Microsoft Agent Sample

Visual FoxPro 9.0, Примеры
Работа с системой Microsoft Agent, Пример
См. также

Файл: ...\Samples\Solution\FFC\Agent.scx

В данном примере показано, как вы можете анимировать (Characters) - Помощников в ваших Приложениях с помощью Технологии Microsoft Agent. Данные Сharacters аналогичны Office Assistants, и могут выполнять различные функции и действия.

Данный пример содержится в следующих фундаментальных классах VFP
Класс | Библиотека | Описание
_agent | _agent.vcx | Обеспечивает методами по управлению функциями системы Microsoft Agent.

Для подробной информации об использовании фундаментальных классов см. раздел Базовые классы Visual FoxPro, A-Z.

См. также

Описание

Базовые классы Visual FoxPro, A-Z

Концепции

Основополагающие принципы использования фундаментальных классов Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Walkthroughs

Visual FoxPro 9.0 Репетиции
Репетиции

Репетиции дают пошаговые инструкции для общих сценариев, что делает их хорошим местом для начала изучения Visual FoxPro или конкретной области возможностей.

В этом разделе

Репетиция: Создание приложений с помощью Visual FoxPro

Предоставляет шаги для создания простой программы, включающей перемещение данных и создание форм, и показывающей - как использовать это в качестве основы для приложения.

Репетиция: Создание отчетов с помошью Visual FoxPro

Предоставляет шаги для создания отчетов с помощью мастера отчетов (Report wizard) и конструктора отчетов (Report designer), а также обсуждаются вопросы, появляющиеся при планировании и создании отчетов.

Репетиция: Извлечение данных из различных источников данных

Предоставляет шаги, необходимые для извлечения данных из родных таблиц Visual FoxPro или извлечения данных с использованием источников данных типа Open Database Connectivity (ODBC), ActiveX Data Objects (ADO) или XML.

Репетиция: Создание XML Web-сервисов с помощью Visual FoxPro

Предоставляет шаги, объясняющие - как создать и опубликовать сервер Visual FoxPro COM в качестве XML Web-сервиса.

Репетиция: Создание установочной программы приложения Visual FoxPro с помощью InstallShield

Предоставляет шаги, необходимые для упаковки и внедрения ваших приложений с помощью InstallShield Express, что дает пользователям возможность рационально инсталлировать и сконфигурировать ваши продукты.

Связанные разделы

Использование Visual FoxPro

Microsoft Visual FoxPro предоставляет инструменты, необходимые для создания и обслуживания высокопроизводительных, 32-bit приложений баз данных и компонентов. С этими мощными инструментами и объектно-ориентированным языком, сконцентрированном на обработке данных, вы можете строить современные, расширяемые, многоярусные приложения, которые могут интегрировать клиент-серверную обработку данных и Internet.

Разработка приложений Visual FoxPro

Включает в себя концептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также информацию о других задачах, необходимых для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Объясняется - как понимание методик объектно-ориентированного программирования и событийно-управляемой модели может максимально увеличить вашу производительность в программировании с тем, чтобы вы могли получить доступ к полной мощности обработки, обеспечиваемой Visual FoxPro.

Инструменты эффективной разработки

Объясняется - что предоставляет Visual FoxPro в качестве инструметов разработчика для создания приложений и язык FoxPro.

Образцы и репетиции

Предоставляет исчерпывающие образцы для разработки базы данных и приложения.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Walkthrough: Creating Applications with Visual FoxPro

Visual FoxPro 9.0 Репетиции
Репетиция: создание приложения с помощью Visual FoxPro
Смотрите также
CollapseAll image

Вы можете использовать Visual FoxPro для создания простых программ или более сложных приложений уровня предприятия, серверов и XML Web сервисов. Вы можете использовать для создания приложения входящие в поставку инструменты или писать код программ вручную. Когда вы компилируете программы, созданные в Visual FoxPro, вы компилируете их либо в виде файлов приложений (.app) для запуска в среде Visual FoxPro, либо в виде исполнимых файлов (.exe) или файлов dynamic-link library (.dll), которые вы в дальнейшем можете вызывать отовсюду в среде Microsoft Windows.

В приведенных ниже секциях в этой репетиции объясняется: как создать простую программу и использовать ее, как основу для приложения:

  • Использование данных

  • Создание программы для формы

  • Создание приложения

Expand image Использование данных

Программы и приложения Visual FoxPro основаны на данных, хранящихся в таблицах или курсорах. Данные могут уже находиться на вашем жестком диске, на удаленном сервере или на Web-сайте, или вы можете создать их непосредственно в Visual FoxPro. Данные могут быть в любом формате, который может распознать Visual FoxPro, включая OLE-объекты.

Для этого образцового приложения данные, которые вы будете использовать будут скопированы из таблицы Orders, которая включена в поставку Visual FoxPro и расположена в папке \Program Files\Microsoft Visual FoxPro 9\Samples\Data.

Для перемещения данных из одной таблицы в другую

  1. В меню File (Файл) щелкните по Export (Экспорт).

  2. В выпадающем списке Type (Тип) в диалоговом окне Export (Экспорт) выберите "Visual FoxPro 3.0 (DBF)".

  3. В текстовом боксе To (В) впечатайте myApp в качестве имени файла, который вы будете создавать.

  4. Щелкните по кнопке (...) для вызова диалогового окна Save (Сохранить) и сохраните файл в папке Visual FoxPro Projects (..\My Documents\Visual FoxPro Projects).

  5. В текстовом боксе From (Из) диалогового окна Export (Экспорт) щелкните по кнопке (...) для вызова диалогового окна Open (Открыть) и найдите файл таблицы Orders.dbf в папке \Program Files\Microsoft Visual FoxPro 9\Samples\Data.

  6. В диалоговом окне Export (Экспорт) щелкните по Options (Параметры).

  7. В диалоговом окне Export Options (Параметры экспорта) щелкните по кнопке Fields (Поля) и в открывшемся диалоговом окне Field Picker (Выбор поля) переместите cust_id, to_city, to_country и order_amt из списка All fields (Все поля) в список Selected fields (Выбранные поля) и затем щелкните по OK. Диалоговое окно выбора полей закроется и теперь щелкните по OK (Сделано) для того, чтобы закрыть диалоговое окно Export Options (Параметры экспорта), затем еще раз по OK (Сделано) в диалоговом окне Export.

  8. В меню File (Файл) щелкните на Open (Открыть).

  9. В выпадающем списке Files of type (Файлы типа) выберите Table (Таблица), отметьте чек-бокс open exclusive (открыть монопольно) и найдите myApp.dbf.

  10. В меню View (Обзор) щелкните по Table Designer (Конструктор таблицы).

  11. На закладке Fields (Поля) выберите строку to_city щелкните по Index и в выпадающем списке выберите Ascending (По возрастанию).

  12. Щелкните по кноке OK (Сделано) и затем по Yes (Да) для подтверждения изменения структуры таблицы.

  13. В меню Window (Окно) щелкните по Data Session (Сессия данных) для упорядочивания таблицы в соответствии с ее новым индексом.

    Note Замечание

    Вы создали таблицу, которая вследствие того, что она индексирована, поддерживает групповые подсчеты в Report Designer (Конструкторе отчета).

  14. В окне Data Session (Сессия данных) щелкните по Properties (Свойства).

  15. В выпадающем списке Index Order (Индексное упорядочивание) выберите myApp:to_city и затем щелкните по OK.

    К настоящему моменту у вас имеются выбранные поля, экспортированные из одной таблицы в другую и для новой таблицы установлен индекс. Оставьте окно Data Session (Сессия данных) открытым, так как вы будете сразу использовать эту таблицу в оставшейся части этой репетиции.

Expand image Создание программы для формы

Вы можете создать простую программу Visual FoxPro из меню и в интерактивной среде разработки - IDE. Эти программы могут быть исполнены или в Visual FoxPro или с обращением к Visual FoxPro Runtime.

Для создания формы

  1. В меню File (Файл) щелкните по New (Новый).

  2. Щелкните по Form (Форм) затем по New file (Новый файл).

    Это откроет Form Designer (Конструктор форм), добавит в системное меню элемент меню Form (Форма) и инструментальную полоску Form Controls (Элементы управления формы) и отобразит для формы окно Properties (Свойства). Если полоска инструментов невидима, вы можете открыть ее из меню View (Обзор).

  3. В окне Properties (Свойства) выберите Caption (Заголовок) и впечатайте myForm.

Для ввода элемента метка (Label)

  1. На полоске инструментов Form Controls (Элементы управления формы) щелкните по Label, и перетащите метку на форму.

  2. В окне Properties (Свойства), которое будет отображать свойства для введенной метки выберите Caption (Заголовок) и измените его в My Data Form. Затем выберите FontSize (Размер шрифта) и впечатайте 20.

  3. При необходимости измените размеры метки в соответствии с длиной текста.

Для ввода элемента решетка (Grid)

  1. На полоске инструментов Form Controls (Элементы управления формы) щелкните по Grid, и затем перетащите ее на форму.

  2. Выполните на помещенном в форму элементе щелчок по правой клавише мыши и выберите в контекстном меню Builder (Компоновщик).

  3. В Grid Builder (Компоновщике решетки) выберите вашу созданную таблицу myApp.

  4. На закладке Grid Items (Элементы решетки) переместите все элементы списка Available fields (Доступные поля) в список Selected fields (Выбранные поля) и затем закройте компоновщик.

Для ввода элемента командная кнопка (Button)

  1. На полоске инструментов Form Controls (Элементы управления формы) щелкните по иконке Command Button и затем перетащите ее на форму ниже уже введенного в форму элемента решетка (grid).

  2. Выполните двойной щелчок по вновь введенной в форму кнопке и впечатайте приведенный ниже код в редакторе кода. Закройте окно редактора после завершения ввода кода.

    CopyCode image Скопировать код
    THISFORM.RELEASE

    Этот код закроет форму, когда она уже не будет вам нужна.

  3. В окне Properties (Свойства) для этой кнопки выберите Caption и впечатайте Exit.

  4. В меню File щелкните по Save As и сохраните форму с именем myForm.

  5. Щелкните по кнопке Run (!) на полоске инструментов для просмотра вашей формы.

Для завершения программы

  1. В меню File щелкните по New.

  2. Щелкните по Program и затем по New file (Новый файл). Это откроет редактор Visual FoxPro.

  3. В редакторе впечатайте приведенный ниже код:

    CopyCode image Скопировать код
    DO FORM myForm.scx

  4. Сохраните эту программу с именем myProgram. Это создаст программный файл Visual FoxPro (.prg), который запустит вашу форму с помощью приведенной ниже команды, выданной в командном окне:

    CopyCode image Скопировать код
    DO myProgram

Итак, вы поместили в форму таблицу (отображаемую в решетке), метку и командную кнопку. Вы создали программу для запуска из командного окна или из меню Program (Программа). In the next section, the application exchanges a data review form for the grid and adds it to the program before compiling it to a file.

Expand image Создание приложения

Запуск программы, которую вы создали выше, требует, чтобы на комрьютере был инсталлирован Visual FoxPro. Однако, вы можете с помощью Visual FoxPro создать приложение, которое будет запускаться на компьютере, на котором Visual FoxPro не установлен.

Созданная ранее программа имеет только одну форму и обладает не бог весть какой функциональностью. Этот раздел проведет вас через ввод формы обзора данных с некоторыми дополнительными элементами управления с последующей компиляцией двух видов — первого - в приложение Visual FoxPro и второго - приложения Windows. Файл приложения Visual FoxPro (.app) или исполнимый файл Visual FoxPro (.exe) могут быть оба исполнены на платформе Windows с установленным Visual FoxPro. Приложение Visual FoxPro, скомпилированное в виде исполнимого файла (.exe) может исполняться на платформе Windows, где установлен только Visual FoxPro Runtime.

В этом разделе вы создадите приложение с помощью мастера приложения (Application wizard), компоновщика приложения (Application builder) и диспетчера проекта (Project manager).

  • Мастер приложения создает проект и предоставляет расширенный application framework для того, чтобы вы смогли добавить компоненты, которые вы уже создали ранее или создать приложения с нуля до конца, включая экраны заставки и прочие расширения.

  • Компоновщик приложения позволяет вас добавлять таблицы, формы и отчеты в уже существующий проект.

  • Диспетчек проект, наиболее фундаментальный инструмент создания приложений в Visual FoxPro, обеспечивает доступ ко всем компонентам, которые вы пожелаете включить в приложение и содержать их для компиляции.

Для этой репетиции мы сначала будем использовать мастер приложения - Application wizard.

Для создания приложения

  1. В меню Tools (Инструменты) перейдите на Wizards (Мастера) и щелкните по Application (Приложение).

  2. В блоке ввода Project name (Имя проекта) впечатайте MyApplication, сохраните проект в вашей папкеVisual FoxPro Projects (..\My Documents\Visual FoxPro Projects) и, затем, щелкните по OK.

Visual FoxPro подготовит создание файла проекта с указанным вами именем. Когда он завершит создание проекта, появятся два окна: Project Manager (Диспетчер проекта) и Application Builder (Компоновщик приложения). В приведенной ниже процедуре вы будете использовать компоновщик приложения для ввода компонентов и функциональных возможностей в ваше приложение.

Для указания информации об экране заставке и диалогового окна About

  1. На закладке General (Общие) компоновщика приложения - Application Builder, щелкните по кнопке выбора (...) рядом с блоком Image (Картинка).

  2. Найдите картинку логотипа Visual FoxPro, fox.bmp, в вашей папке Visual FoxPro (..\Program Files\Microsoft Visual FoxPro VersionNumber), и щелкните по OK. Эта картинка появится на вашем экране-заставке.

    Note Замечание

    Если вы закрыли Application builder (Компоновщик приложения), вы можете открыть его заново щелкнув в меню Tools (Инструменты), затем перейдя к пункту Wizards (Мастера), и щелкнув по All Wizards (Все мастера). Щелкните по Application Builder (Компоновщик) в диалоговом окне Wizard Selection (Выбор мастера) и затем щелкните по OK.

  3. На закладке Credits (Список разработчиков) компоновщика приложения Application Builder, введите соответствующую информацию об авторе и версии.

Для указания источника данных

  • На закладке Data (Данные) щелкните по Select (Выбрать), найдите и выберите myAPP (таблицу, которую вы использовали ранее в простой программе).

    Note Замечание

    Вы можете выбрать любую доступную таблицу. Эта закладка, кроме того, предоставляет командные кнопки, поэтому вы можете отсюда легко начать создание таблиц или базы данных.

Для создания формы или отчета

  • На закладке Data (Данные) вы можете выбрать из списка шаблоны форм и отчета, которые являются частью Advanced Application Framework (включенного в компоновщик приложения). Акцептируйте значения по умолчанию в выпадающих списках и затем щелкните по кнопке Generate (Генерировать).

    Visual FoxPro сгенерирует форму и отчет из указанной вами таблицы и предоставит вас доступ к ним на закладках Forms (Формы) and Reports (Отчеты) компоновщика приложения. Эти компоненты станут частью проекта, который вы выстраиваете, а файлы будут сохранены в папке Forms (Формы) или Reports (Отчеты) в вашей папке Visual FoxPro Projects (..\My Documents\Visual FoxPro Projects).

Для добавления элементов управления в форму

  1. На закладке Forms (Формы) компоновщика приложения, щелкните по кнопке Edit (Редактировать) для открытия конструктора форм (Form Designer), в котором вы можете делать любые добавления или изменения.

    В том виде, в каком вы создали форму, она будет отображать только первую запись, поэтому мы должны добавить, по крайней мере, еще один элемент управления; в описываемой процедуре вы добавите два элемента управления.

  2. В панели инструментов Form Designer (Конструкторе форм) щелкните по иконке Button (Командная кнопка) и перетащите прямоуголник на форму. В свойстве Caption (Заголовок) впечатайте Next (Далее).

  3. Выполните двойной щелчок на только что добавленной командной кнопке и впечатайте приведенный ниже код в окне редактирования сода. Закройте окно редактирования кода по окончанию.

    CopyCode image Скопировать код
    IF NOT EOF()
   SKIP
ELSE
   GO TOP
ENDIF
THISFORM.REFRESH

    Это код будет пошагово проходить по записям таблицы и отображать содержимое каждой записи. Вы, конечно, можете добавить еще одну кнопку, которая будет перематься по таблице в обратном направлении.

  4. Скопируйте кнопку Next (Далее) и поместите копию справа формы. В свойство Caption (Заголовок) впечатайте Exit (Выход).

  5. Выполните двойной щелчок на только что добавленной командной кнопке Exit (Выход) и затем в окне редактирования кода замените код на приведенный ниже, а затем закройте окно:

    CopyCode image Скопировать код
    THISFORM.RELEASE

    Этот код закроет вашу форму при исполнении.

Чтобы добавить в отчет подсчеты (calculations)

  1. На закладке Reports (Отчеты) компоновщика приложения (Application Builder), щелкните по Edit (Редактировать) для MyApp для того, чтобы открыть Report Designer (Конструктор отчета). Разверните все области отчета, чтобы облегчить выполнение приведенных ниже операций.

    Note Замечание

    Это то место, где вы можете сделать любые добавления или изменения, такие как перекомпоновка полей или введение элементов управления.

  2. В меню View (Обзор) щелкните по Data Environment (Среда данных).

  3. Выполните щелчок по правой клавише мыши на окне Data Environment (Среда данных) и выберите Properties (Свойства) из контекстного меню.

    Это действие установит окно Properties (Свойства) на объект Dataenvironment.

  4. В окне Properties (Свойства) выберите курсор из выпадающего списка Properties Description (Описание свойства) и измените свойство Order (Упорядочивание) в to_city для обеспечения возможности группировки.

  5. В меню Report (Отчет) щелкните по Data Grouping (Группировка данных).

  6. В диалоговом окне Data Grouping (Группировка данных) щелкните по кнопке Add (Добавить) и затем выполните двойно щелчок на to_city в списке Fields (Поля) в Expression Builder (Компоновщике выражения). Щелкните по OK (Сделано) в обоих диалоговых окна.

  7. В Report Designer (Конструкторе отчета) скопируйте и вставьте элемент to_city и, затем, перетащите копию из полосы Detail (Детально) в полосу Group Footer (Подножие группы) для групповых сумм. Повторите эту процедуру для размещения другой копии элемента to_city в область Page Footer (Подножие страницы) для таблицы в целомf.

  8. Для каждой копии элемента to_city выполните двойной щелчок для того, чтобы открыть диалоговое окно Report Expression (Выражение отчета).

  9. Щелкните по Calculations (Подсчеты).

  10. В диалоговом окне Calculation Field (Поле подсчета) щелкните по Count (Подсчитать).

    Выпадающий список Reset (Сборос) должен отобразить выбор по умолчанию, который установлен п поле to_city. Это означает, что функция Count (Подсчитать) будет сбрасываться в ноль, каждый раз, когда значение элемента to_city будет изменяться при прохоже через таблицу. Это справедливо для полосы Group Footer (Подножие группы), но вы должны изменить этот выбор для элемента to_city в полосе Page Footer (Подножие страницы).

  11. После того, как вы выберите Count (Подсчитать) в диалоговом окне Calculate Field (Вычисляемое поле) элемента to_city, помещенного в полосу Page Footer (Подножие страницы), измените значение Reset (Сборос) в End of Report (Конец отчета).

  12. После установки Calculation field (Вычисляемое поле) для каждого элемента to_city щелкните по OK (Сделано) для закрытия диалогового окна.

  13. Щелкните по OK (Сделано) для закрытия компоновщика приложения - Application Builder.

Note Замечание

В дополнение к возможностям, которые вы использовали в компоновщике приложения (Application wizard), Visual FoxPro создает и другие компоненты для вашего приложения. Когда вы запустите ваше приложение, вы найдете настроенное меню File (Файл) и диалоговое окно, из которого вы сможете запустить вашу форму или отчет.

Теперь вы можете использовать Project manager (Диспетчер проекта) для просмотра созданных вами компонентов. Вы найдете, что компоновщик приложения (Application wizard) создал много компонентов, которые вы изменяли в нем и в конструкторах формы и отчета. Вы можете исследовать и изменять эти компоненты с помощью разных инструментов Visual FoxPro, таких как конструкторы или Class Browser (Обозреватель класса) и Object Browser (Обозреватель объекта).

В этой точне, наиболее важным использованием Project manager (Диспетчера проекта) является завершение компиляции ваших файлов в приложение.

Для завершения приложения

  1. В Project Manager (Диспетчере проекта), щелкните по Build (Собрать).

  2. Щелкните по Application (app) для создания приложения, которое может быть запущено только в Visual FoxPro.

    Note Замечание

    Если вы выберите Win 32 executable / COM server (exe), то вы создадите приложение, которое может быть запущено на компьютере, на котором установлена только Visual FoxPro Runtime версия.

  3. Щелкните по OK (Сделано).

Когда процесс сборки завершится, у вас будет приложение, которое вы сможете запустить в Visual FoxPro двойным щелчок на файле с расширением .app. Когда программа откроется, она отобразит окно-заставку (splash screen) и затем отобразит диалоговое окно Quick Start (Быстрый запуск), в котором вы увидите вашу форму и отчет. Приложение предоставит, кроме того, элемент Quick Start в своем меню.

Для получения более подробной информации о создании программ и приложений смотрите описание Application Wizard (Мастер приложения) и Application Builder (Компоновщик приложения).

Для получения более подробной информации о Project Manager (Диспетчере проекта) и описания параметров сборки приложения смотрите Окно Project Manager (Диспетчер проекта), and Диалоговое окно Build Options (Параметры сборки).

Expand image Смотрите также

Справочное руководство

Мастер приложения (Application Wizard)
Компоновщик приложения (Application Builder)

Прочие ресурсы

Репетиции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Walkthrough: Creating Reports with Visual FoxPro

Visual FoxPro 9.0, Упражнения
Упражнение: Создание Отчетов с помощью системы Visual FoxPro
Смотрите Также
CollapseAll image

Вы можете проектировать и создавать Отчеты в целях представления требуемой Информации в удобочитаемом и упорядоченном виде, выполнив все необходимые условия для Отчетов, сформулированные Заказчиком или вашим Руководителем. Отчеты являются удобным и достаточно функциональным средством представления необходимой информации, которые можно повторно использовать, дублировать и выполнять несколькими Пользователями.

Данное Упражнение демонстрирует функциональные возможности по созданию Отчетов в Visual FoxPro; рассматриваются Мастера быстрого создания Отчетов, основанных на одной или нескольких, связанных Источниках Данных. Если вам необходимо выполнить дополнительное форматирование представленных Отчетов, или добавить пользовательские Элементы в данные Отчеты то воспользуйтесь системным средством Дизайнер Отчетов (Report designer).

  • Создание Отчетов, управляемых одной Таблицей

  • Создание Отчетов, основанных на нескольких Таблицах Данных

Дополнительную информацию смотрите в разделе: Работа с Отчетами.

Expand image Создание Отчетов, управляемых одной Таблицей

Если вам достаточно только просмотреть содержание информационной Таблицы, то рекомендуется воспользоваться системным окном Browse для вашей таблицы .

Для активации системного окна Browse (Обзор)

  1. С помощью системного меню File, откройте требуемую Таблицу.

  2. В системном меню View, выберите подпункт Browse.

Если вам необходимо быстро распечатать содержание Таблицы или отправить Почтовое Сообщение, то рекомендуется сначала использовать механизм Экспорта данных в текстовый файл, а после этого - распечатать данный файл или отправить его по электронной почте. Диалоговый бокс Экспорта данных имеет дополнительные параметры уточнения подгрупп экспортируемых Записей Таблицы. (Обратите внимание, что при печати больших таблиц рекомендуется устанавливать соответствующую ориентацию печатного Листа (ЛандШафт) ).

Для быстрого получения "чернового" варианта Отчета о данных из Таблицы

  1. С помощью системного Меню File, активируйте диалоговый бокс Open.

  2. В диалоговом боксе Open, выберите опцию Table из раскрывающегося списка Files of type, выполните поиск требуемой Таблицы, выберите ее, и нажмите кнопку OK.

  3. В системном меню View, выберите подпункт Browse.

    Активируется указанное системное окно с содержанием выбранной таблицы данных. В условиях Среды Разработки (IDE), вы можете изменить ширину Столбцов или их размещение (порядок) в системном окне, вы можете также выполнить дополнительные изменения с помощью опций системного меню Table.

  4. В системном меню File, выберите подпункт Export.

  5. В активированном диалоговом боксе Export, выберите вариант Delimited Text из раскрывающегося списка Type.

    Обратите внимание, что вы можете использовать другой тип Экспорта данных, например: Microsoft Excel, вы должны выбрать указанный тип преобразования, данные из таблицы будут отформатированы соответствующим образом, будет создан внешний файл с соответствующим расширением.

  6. Нажмите кнопку To, и введите имя создаваемого файла (включая расширение этого файла).

  7. В раскрывающемся списке Field separator, выберите требуемый вам Разделитель данных полей таблицы, и нажмите кнопку OK.

Мастер создания Отчетов Visual FoxPro.

Если вы представляете в общих чертах назначение проектируемого Отчета: презентация, или подведение итогов или выполнение бухгалтерских вычислений, или планируется многократное использование отчета, то рекомендуется воспользоваться системными средствами Мастер Отчетов или Дизайнер Отчетов (Report wizard or the Report designer), помощью которых можно создать изменяемые, или дополняемые, или корректируемые Отчеты.

Мастер Отчетов, с помощью дополнительных, уточняющих вопросов позволяет создать достаточно функциональные, хорошо сконструированные Отчеты, которые создаются достаточно быстро и во многих случаях реализуют поставленные Задачи.

Для использования Мастера Отчетов

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report (Отчет).

  3. Нажмите кнопку Wizard (Мастер), и уточните тип создаваемого нового Отчета.

В системном окне Мастера, вы можете выполнить предварительный просмотр создаваемого Отчета (перед тем, как сохранить его). Дополнительно, вы можете сохранить текущую копию созданного Отчета, которую в дальнейшем вы можете открыть в Дизайнере Отчетов, с помощью которого и дополнительных функций Visual FoxPro IDE вы можете продолжить дальнейшее совершенствование созданного Отчета, или уточнения его функциональных характеристик.

Для проведения собственных экспериментов при работе с Мастером Отчетов, рекомендуется использовать тестовую Таблицу Labels.dbf, которая поставляется в составе дистрибутива Visual FoxPro. С помощью представленных далее простых процедур вы можете создавать широкий спектр Отчетов, управляемых одной таблицей Данных.

Для создания простых Отчетов с использованием таблицы стилей Labels.dbf

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report и нажмите кнопку Wizard.

  3. В диалоговом боксе Wizard selection (Уточнение типа Мастера), выполните "double-click" Report Wizard.

  4. В системном окне Мастера, выберите вариант: Free Tables (Свободные Таблицы) из раскрывающегося списка Databases and tables, выберите или выполните поиск требуемой таблицы Labels.

  5. Выберите несколько или все из представленных Полей продолжайте работу Мастера, выполните переход к Шагу 5 (Step 5).

  6. В Закладке Step 5, выберите Стиль Отчета и требуемую ориентацию Листа печати.

    Дополнительно, вы можете использовать кнопку Summary - для подключения агрегатных функций подсчета итогов — Sum, Avg, Count, Min, или Max— которые выполняют подсчет требуемых результатов относительно соответствующих полей таблицы. Выбранные функции автоматически добавляются в создаваемый Отчет и размещаются соответствующим образом (на последней странице Отчета ).

  7. В Закладке Step 6, нажмите кнопку Preview, чтобы просмотреть предварительный вариант Отчета, или нажмите кнопку Finish. Вы можете распечатать полученный отчет непосредственно из режима просмотра, и не выполнять сохранение в файле созданного Отчета.

    Обратите внимание, что мастер Report создает Этикетки и подбирает характеристики Шрифтов, их размеров, закладывает различные дополнительные стилистические особенности создаваемых Типов Отчета. Во многих случаях, мастер Отчетов позволяет достаточно быстро создавать требуемые Отчеты, обладающие высоким качеством, значительно превосходящим описанные выше отчеты, или при просмотре данных в системном окне Browse, или выполнения экспорта в текстовый файл.

  8. Нажмите кнопку Finish (Завершение).

Дополнительную информацию смотрите в разделах: Мастер Отчетов или Мастер Отчетов типа "One-To-Many".

Дизайнер Отчетов системы Visual FoxPro.

У вас имеется возможность использовать системное средство: Дизайнер Отчетов, с помощью которого вы можете создать простейшие Отчеты, запустить процесс создания Быстрого Отчета (Quick Reports). Дополнительно, данное средство имеет широкий спектр функциональных возможностей по проектированию и форматированию создаваемых Отчетов. Основным отличием между Мастером Отчетов и Дизайнером Отчетов является расширенные возможности Дизайнера по созданию различных, специфических Контролов и Элементов Отчета и их размещения на Листах Отчета.

Для создания Быстрого Отчета с помощью Дизайнера Отчетов (Report designer)

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report (Отчет), и нажмите кнопку New File (Новый Файл).

  3. В системном меню Report, выберите подпункт Quick Report (Быстрый Отчет).

    Если в настоящий момент в текущей рабочей области открыта Таблица Данных, Visual FoxPro использует ее в качестве источника данных для генерации начального варианта Отчета. Если нет открытой Таблицы, Visual FoxPro активирует диалоговый бокс Open, с помощью которого вы можете открыть требуемую Таблицу Данных (в качестве источника данных создаваемого Отчета).

Дизайнер Отчета автоматически заполняет соответствующими Контролами Полосы Отчета Detail и Page Footer. Далее, указанные выше Контролы Отчета доступны для редактирования, или уточнения характеристик этих Контролов. В этом случае, у вас имеется гораздо больше возможностей, чем в системном средстве: Мастер Отчетов; однако, вместе с тем, на вас возлагается и большая Ответственность по результатам Отчета. Если вам требуется построить дополнительные Контролы, подсуммирования, средних значений, количественных показателей, то рекомендуется использовать подпункт Data Grouping из системного меню Report. Для использования группировки данных достаточно указать имя Поля группировки, или построить специальное выражение с помощью Построителя Выражений (Expression builder).

Для включения вычисляемых Контролов в ваш Отчет (в качестве Примера), откройте индексированную таблицу (индекс по полю cust_id), выполните построение Быстрого Отчета (Quick Report), определить необходимую Группировку Данных, далее: разместите вычисляемые Контролы в требуемых местах Отчета. Наконец, Просмотрите или напечатайте полученный вариант Отчета, сохраните отчет в файле (если это требуется).

Для создания Отчетов, содержащих вычисляемые Контролы

  1. В системном меню File, откройте тестовую Таблицу: "..\samples\Data\orders.dbf".

  2. В системном меню Window, выберите подпункт Data Session, и нажмите кнопку Properties (Свойства) - для установки текущего режима Сортировки данных. В диалоговом боксе Work Area Properties (Свойства Рабочей Области), выберите индексный Тэг с именем: Orders.cust_id, нажмите кнопку OK, и закройте диалоговый бокс Data Session (Сессия Данных).

  3. В системном меню File, выберите подпункт New. В диалоговом боксе New, выберите тип Report, и нажмите кнопку New File.

  4. В системном меню Report, выберите подпункт Quick Report (Быстрый Отчет), и установите вертикальный вариант размещения Контролов Отчета. Нажмите кнопку Fields (Поля), выберите требуемые Поля из представленной Таблицы, нажмите кнопку OK. И и еще раз - OK в диалоговом боксе Quick Report.

    Note Обратите Внимание

    Для примера, предлагается выбрать следующие Поля - Контролы для Отчета: Order_ID, Cust_ID, и Order_amt.

  5. В системном меню Report, выберите подпункт Data Grouping. в диалоговом боксе Data Grouping (Группировка Данных), нажмите кнопку Add (добавить) и, из списка Fields (Поля) в соответствующем Expression Builder (Построителе Выражений), выполните "double-click" для поля Orders.cust_id. Нажмите OK.

  6. В полосе Отчета Detail (Детали), разместите Контрол Отчета order_amt, "перетащите" (выполните копирование) данный контрол в полосу Отчета Group Footer, где размещаются групповые итоги, далее: откройте диалоговый бокс Field Properties (Свойства Поля). В закладке Calculate (Вычисления), выберите агрегатную функцию Sum из соответствующего списка: Calculate Type.

    Note Обратите Внимание

    По-Умолчанию, устанавливается характеристика Reset based on, для выбранного поля Order.cust_id. Данная вариант обеспечивает очистку накопительной внутренней переменной Отчета, которая отвечает за выбранную функцию Sum, очистка выполняется каждый раз, когда изменяется значение поля cust_id (когда заканчивается соответствующая группа данных).

  7. В полосе Отчета Detail, разместите следующее поле, с именем order_amt, "перетащите" (выполните копирование) данного контрола в полосу отчета Page Footer, далее: откройте диалоговый бокс Field Properties. В закладке Calculate, выберите вариант подсуммирования: Sum из соответствующего списка вариантов Calculate Type, и измените текущую характеристику "обнуления" Reset based on на новое значение = Report.

  8. В системном меню Report, выберите подпункт Print Preview (Предварительный Просмотр) - чтобы просмотреть предварительный вариант созданного Отчета. Сохраните созданный Отчет (если он удовлетворяет вашим требованиям). Последний лист Отчета содержит общие Итоги вычисленных Контролов (описанных выше), которые отсутствуют в исходном источнике Данных - Таблице.

Пока открыто системное окно Дизайнера Отчетов, вы можете параллельно работать с другим инструментарием вашей системы, с другими Дизайнерами, вы можете просмотреть содержимое Исходной Таблицы, изменить Среду Данных, свойства объекта DataEnvironment, выбрать другие Таблицы, построить новые Индексы. Дополнительно, вы можете добавить или изменить функциональный инструментарий Контролов Отчета, или элементы системного меню Report.

Дополнительную информацию о возможностях Дизайнера Отчетов (Report designer) смотрите в разделах: Дизайнер Отчетов или Report Band Properties (Свойства Полос Отчета), диалоговый бокс.

Expand image Создание Отчетов, основанных на нескольких Таблицах Данных

Дополнительно к отчетам, управляемым одной таблицей, Visual FoxPro может создавать более сложные отчеты, содержащие данные из нескольких взаимосвязанных Таблиц, выполнять специфические вычисления, генерировать Итоги групп данных.

Далее описываются процедуры, использующие две тестовые Таблицы: Customer (Клиенты) и Orders (Заказы), которые присоединены к контейнеру Базы Данных: TestData.dbc, размещенной в подкаталоге Samples.

Для создания Отчета на основе БД Testdata, входящей в дистрибутив системы Visual FoxPro

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report, и нажмите кнопку Wizard (Мастер).

  3. В диалоговом боксе Wizard selection, выполните "double-click" для элемента One-To-Many Report Wizard (Мастер сложных Отчетов).

  4. В системном окне мастера One-To-Many Report (Отчет типа "Один-ко-Многим") , выберите в качестве источника данных контейнер базы данных TESTDATA, из соответствующего раскрывающегося списка Databases and Tables, далее выберите таблицу Клиентов Customer.

  5. В закладке Step 1, выделите таблицу Customer, и выберите поля: cust_id, Customer из соответствующего списка доступных Полей Available Fields.

  6. В закладке Step 2, выделите таблицу Orders, и выберите поля: cust_id, to_city, и order_amt из соответствующего списка Available Fields.

    В закладке Step 3, вы можете увидеть результаты выполненных вами действий, привязка рассмотренных выше Таблиц, и соответствующие поля: — customer.cust_id , orders.cust_id; которые должны иметь соответствующие Индексы, по которым осуществляется привязка Таблиц.

    Если вам требуется построение нестандартного Отношения, то вы можете выбрать другие Таблицы в качестве дочерних к таблице Клиентов. Если вы определяете специальное Отношение между таблицами, то вам требуется внимательно проанализировать характеристики Связей, определенные в шагах 1-2 рассматриваемого Мастера.

  7. В Закладке Step 5, выберите Стиль Отчета и требуемую ориентацию Листа печати.

    Дополнительно, вы можете использовать кнопку Summary - для подключения агрегатных функций подсчета итогов — Sum, Avg, Count, Min, или Max — которые выполняют подсчет требуемых результатов относительно соответствующих полей таблицы. Выбранные функции автоматически добавляются в создаваемый Отчет и размещаются соответствующим образом (на последней странице Отчета ).

  8. В Закладке Step 6, нажмите кнопку Preview, чтобы просмотреть предварительный вариант Отчета, или нажмите кнопку Finish. Вы можете распечатать полученный отчет непосредственно из режима просмотра, и не выполнять сохранение в файле созданного Отчета.
    Обратите внимание, что мастер Report создает Этикетки и подбирает характеристики Шрифтов, их размеров, закладывает различные дополнительные стилистические особенности создаваемых Типов Отчета. Во многих случаях, мастер Отчетов позволяет достаточно быстро создавать требуемые Отчеты, обладающие высоким качеством, значительно превосходящим описанные выше отчеты, или при просмотре данных в системном окне Browse, или выполнения экспорта в текстовый файл.

  9. Нажмите кнопку Finish (Завершение).

Вы можете построить соответствующий Отчет (описанный выше) и с помощью Дизайнера Отчетов, однако вам требуется самостоятельно определить все необходимые характеристики определения Отношений между таблицами (которые вы выберите). Далее, Контролы самого Отчета можно "перетащить" из уже созданных Отчетов (например, с помощью Мастера Отчетов ).

Для использования других вариантов дочерних данных смотрите раздел: Примеры Решений.

Дополнительную информацию по использованию Отчетов смотрите в разделе: Как: Определить выражение в поле Контрола Отчета.

Expand image См. также

Задачи

Примеры Решений

Описание

Мастер Отчетов
Мастер Отчетов типа "One-To-Many"
Дизайнер Отчетов
Report Band Properties (Свойства Полосы Отчета), диалоговый бокс

Другие ссылки

Упражнения

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Walkthrough: Retrieving Data from Different Data Sources

Visual FoxPro 9.0 Walkthroughs
Репетиция: Извлечение данных из различных источников данных
Смотрите также
CollapseAll image

Вы можете извлекать данные, используя различные типы соединений с источниками данных. Вы можете, затем, создать курсор или курсоры-адаптерыVisual FoxPro используя извлеченные данные. Курсор-адаптеры могут извлекать данные из широкого ряда источников данных, по сравнению с традиционными курсорами.

Эта репетиция объясняет как выстроить окружение данных для формы Visual FoxPro путем конфигурирования источника данных и, при необходимости, типа соединения, что применяется ко всем курсорам-адаптерам в окружении данных с помощью построителя DataEnvironment Builder. Вы можете, затем, создать курсоры в окружении данных, которые имеют конкретные свойства для обращения к данным, с помошью построителя CursorAdapter Builder.

Эта репетиция содержит приведенные ниже секции:

  • Предварительные условия

  • Открытие Data Environment для формы

  • Установка типов источников данных и самих источников данны

  • Извлечение данных для курсоров-адаптеров

  • Использование курсора-адаптера в форме

Для получения более подробной информации о курсорах-адаптерах смотрите описания Управление доступом к данным с помощью курсоров-адаптеров, Класс CursorAdapter, Построитель DataEnvironment Builder и Построитель CursorAdapter Builder.

Expand image Предварительные условия

Для этой репетиции необходимо приведенное ниже:

  • Источники данных, использующие приведенные ниже типы соединения:

    • Native

      Используйте образцовую базу Northwind, включенную в поставку Visual FoxPro и размещенную в каталоге ...\Samples\Northwind.

    • ODBC или ADO

      Установите доступ к локальному или удаленному SQL серверу (SQL Server 7 или 2000) с установленной на нем базой данной Northwind.

    • XML

      Используйте файл GetCustomers.XML DataSet включенный в поставку Visual FoxPro и размещенную в каталоге ...\Samples\Solution\Toledo.

  • Формы Visual FoxPro, основанная на классе FrmSolution, включенная в состав библиотеки классов Solution.vcx, которая размещена в папке ...\Samples\Solution. Форма, основанная на FrmSolution похожа на форму, используемую в примерах Solution.

Вы можете создать форму на основе класса FrmSolution class с помощью создания категории в Toolbox, введением в нее класса FrmSolution и затем создания самой формы, основанной на этом классе.

Для создания формы, используемой в этой репетиции

  1. В меню Tools щелкните на Toolbox.

  2. Выполните щелчок по правой клавише мыши на Toolbox а затем щелкните на Add Category.

  3. В боксе Category name впечатайте имя категории.

    Созданная вами категория появится в Toolbox.

  4. В Toolbox выполните щелчок по правой клавише мыши на категории и затем на Add Class Library.

  5. В диалоговом окне Add Class Library щелкните на кнопке выбора (...), найдите папку ...\Samples\Solution folder и выберите Solution.vcx.

    Классы из библиотеки классов Solution.vcx появятся в категории, только что созданной вами в Toolbox.

  6. В Toolbox выполните щелчок по правой клавише мыши на frmsolution (SOLUTION) и, затем, щелкните на Create Form.

Expand image Открытие Data Environment для формы

Когда вы создаете форму Visual FoxPro создает в ней объект DataEnvironment в виде контейнера для объектов Cursor, CursorAdapter и Relation, которые связаны с формой или набором форм. Вам необходимо открыть DataEnvironment формы и установить подходящие типы источников данных и сами источники данных, для извлечения из них данных.

До того, как вы будете выбирать типы источников данных и сами источники данных, из которых вы будете извлекать данных, откройте описанный объект окружения данных формы -DataEnvironment.

Для открытия окружения данных формы (DataEnvironment)

  1. Откройте форму.

  2. В дизайнере формы Form Designer выполните щелчок по правой клавише мыши на формк и щелкните на DataEnvironment для того, чтобы открыть откружение данных.

    Для формы с еще пустым окружением данных появится диалоговое окно Open.

  3. В диалоговом окне Open щелкните на Cancel.

  4. Для открытия построителя Data Environment выполните щелчок по правой клавише мыши на поверхности Data Environment и затем щелкните на Builder.

    Откроется построитель DataEnvironment Builder и отобразит следующие закладки: Data Source и Cursors.

Для получения более подробной информации об объектах DataEnvironment смотрите описание Объект DataEnvironment.

Expand image Установка типов источников данных и самих источников данных

Установите тип источника данных и сконфигурируйте подходящий источник данных, из которого вы желаете извлекать данные, путем установки опций на закладке Data Source в построителе DataEnvironment Builder.

Для выбора типа источника данных для окружения данных формы

  1. В DataEnvironment Builder щелкните на закладке Data Source.

  2. На закладке Data Source выберите подходящий тип источника данных: ADO, Native, ODBC или XML.

В зависимости от вашего выбора появятся соответствующие опции. Приведенные ниже процедуры демонстрируют - как установить окружение данных в родные таблицы Visual FoxPro, ODBC, ADO и XML.

Для получения более подробной информации смотрите описание Data Source Tab, DataEnvironment Builder.

Указание родных источников данных Visual FoxPro

Для указания родных источников данных Visual FoxPro, используйте приведенную ниже процедуру:

Для использования родных таблиц Visual FoxPro

  1. После выбора Native на закладке Data Source щелкните по кнопке выбора (...) справа от бокса Database

  2. Найдите каталог ...\Samples и выберите базу данных Northwind.

Для продолжения этой репетиции смотрите описание Извлечение данных для курсоров-адаптеров.

Указание источников данных с помощью ODBC

Для указания источников данных ODBC, используйте приведенную ниже процедуру:

Для использования источников данных ODBC

  1. После выбора ODBC на закладке Data Source щелкните по Use connection string.

  2. Впечатайте строку соединения для подключения к базе данных Northwind на вашем локальном или удаленном SQL сервере. Например:

    CopyCode image Скопировать код
    Driver={Sql Server};Server=localhost;Database=Northwind;Int Security=yes;
    Note Замечание

    Вы должны иметь доступ к локальному или удаленному SQL серверу (SQL Server 7 or 2000) с установленной базой данных Northwind. Если ваш SQL сервер не является локальным, вы можете изменить значение параметра Server= в строке соединения на имя вашего удаленного сервера.

  3. Щелкните на Test Connection для проверки соединения.

Если соединение удалось, вы можете продолжить и извлекать данные из источника данных.

Для продолжения этой репетиции смотрите описание Извлечение данных для курсоров-адаптеров.

Указание источников данных с помощью ADO

Для указания источников данных ADO, используйте приведенную ниже процедуру:

Для использования источников данных с помощью ADO

  1. После выбора ADO на закладке Data Source щелкните на Use connection string.

  2. Впечатайте строку соединения для подключения к базе данных Northwind на вашем локальном или удаленном SQL сервере. Например:

    CopyCode image Скопировать код
    Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=localhost
    Note Замечание

    Вы должны иметь доступ к локальному или удаленному SQL серверу (SQL Server 7 or 2000) с установленной базой данных Northwind. Если ваш SQL сервер не является локальным, вы можете изменить значение параметра Data Source= в строке соединения в имя вашего удаленного сервера.

  3. Щелкните на Test Connection для проверки соединения.

    Если соединение удалось, вы можете продолжить и извлекать данные из источника данных.

Если вы желаете сконструировать строку соежинения вместо печати вашей заготовки на закладке Data Source щелкните по Build для того, чтобы открыть диалоговое окно Data Link Properties в Visual FoxPro OLE DB Provider. Для получения более подробной информации смотрите описание OLE DB Provider для Visual FoxPro.

Для продолжения этой репетиции смотрите описание Извлечение данных для курсоров-адаптеров.

Указание источников данных типа XML

В этой репетиции метод для создания курсоров-адаптеров из XML демонтрирует только один пример того, как вы можете образаться к источнику данных XML, или более конкретно, к файлу XML DataSet, сгенерированному из ADO.NET. Реальный код может отличаться в соответствии с вашими конкретными нуждами.

Для использования источников данных XML

  • После выбора XML на закладке Data Source щелкните по закладке Cursors.

Вы, кроме того, можете использовать курсоры-адаптеры с курсорами, сгенерированными из XML с помощью XML-адаптеров или объекты XMLAdapter. Вы можете использовать такую комбинацию для доступа к более передовым возможностям design-time окружения и привязки элементов управления формы к полям в курсоре-адаптере. XML-адаптер производит реальную работу в run time.

Когда вы создаете курсор-адаптер из XML, вы можете для установки его свойств использовать построитель CursorAdapter Builder. Однако, вам необходимо создать объект XMLAdapter для загрузки XML а его коллекцию Tables. После создания XML-адаптера, вы можете загрузить в него XML файл, установить команду Select курсора-адаптера в желаемую ссылку на объект XMLTable, содержащийся в коллекции Tables объекта XMLAdapter и, затем вызвать метод CursorFill курсора-адаптера для заполнения курсора-адаптера данными XML.

Для продолжения этой репетиции смотрите описание Извлечение данных для курсоров-адаптеров.

Для получения более подробной информации о том, как курсоры-адаптеры работают с XML адаптерами смотрите описание Образец - Создание курсора из XML DataSet в качестве примера того, как обращаться к файлу XML и генерировать XML DiffGrams и описание Выполняемый функции XML с использованием XML-адаптеров.

Для получения более подробной информации о XML-адаптерах и курсорах-адаптерах смотрите описания Класс XMLAdapter и Класс CursorAdapter.

Expand image Извлечение данных для курсоров-адаптеров

После установки окружения данных для формы в построителе DataEnvironment Builder для нужного вам источника данных, создайте объекты CursorAdapter в окружении данных формы для извлечения данных из источника данных. Вы можете создать объекты CursorAdapter установкой опций на закладке Cursors построителя CursorAdapter Builder.

Для создания нового курсора-адаптера

  1. В построителе DataEnvironment Builder щелкните на закладке Cursors, чтобы перейти на нее.

  2. На закладке Cursors щелкните на New для того, чтобы открыть построитель CursorAdapter Builder.

Появится CursorAdapter Builder, отобразит закладки Properties, Data Access и Auto-Update и создаст новый курсор-адаптер с именем Cursor1.

Для получения более подробной информации смотрите описание Закладка Cursors построителя DataEnvironment Builder.

Установка свойств для курсоров-адаптеров

Установите свойства для нового курсора-адаптера с помощью редактирования его свойств на закладке Properties построителя CursorAdapter Builder.

Для установки свойств нового курсора-адаптера

  1. В построителе CursorAdapter Builder щелкните на закладке Properties чтобы перейти на нее, если она в данный момент времени не отображается.

  2. На закладке Properties измените, если вы этого желаете, имя для Cursor1; переименуйте псевдоимя курсора-адаптера в Customer.

    Note Замечание

    Обычно, вы печатаете имя и псевдоимя, которые вы желаете использовать для курсора-адаптера.

  3. Щелкните на чек-боксе Use DataEnvironment data source для использования источника данных, установленного ранее для окружения данных формы.

Для получения более подробной информации смотрите описание Закладка Properties построителя CursorAdapter Builder.

Указание - как курсор-адаптеры будут извлекать данные

После создания нового курсора-адаптера, укажите - как курсор-адаптер будет извлекать данные из источника данных установкой опций на закладке Data Access построителя CursorAdapter Builder.

Если вы используте источники данных типа Native, ODBC или ADO, следуйте приведенным ниже инструкциям для конструирования команды Select для извлечения данных из источника данных. Если же вы используете источник данных типа XML, следуйте инструкциям для указания правильно-сформированного файла XML, который содержит схему.

Для конструирования команды Select для источников данных типа Native, ODBC и ADO

  1. В построителе CursorAdapter Builder, щелкните на закладке Data Access для того, чтобы перейти на нее.

  2. На закладке Data Access щелкните на Build для того, чтобы открыть диалоговое окно Select Command Builder.

  3. В диалоговом окне Select Command Builder выберите таблицу CUSTOMERS в списке таблиц Table.

    Поля, которые содержит таблица CUSTOMERS появятся в списке с левой стороны диалогового окна Select Command Builder.

  4. В этом списке щелкните на CUSTOMERS.* для включения таблицы CUSTOMERS и всех содержащихся в ней полей в состав команды Select.

    Note Замечание

    Обычно, если вы желаете выбрать индивидуальные поля в таблице для команды Select, щелкайте на tableName.fieldName для раздельного ввода каждого поля в список выбранных полей с правой стороны диалогового окна Select Command Builder.

  5. Щелкните на стрелке, указывающей вправо (>) для ввода CUSTOMERS.* в список выбранных полей, и затем щелните на OK.

    Собранная команда Select появится в боксе Select command, а схема курсор-адаптера появится в боксе Schema.

Вы можете установить дополнительные опции для извлечения данных. Однако, эта репетиция использует установки, определенные для этих опций по умолчанию.

Note Замечание

В этой репетиции, режим буферизации для курсор-адаптера установлен в оптимистическое буферирование строки, так как это определено по умолчанию на закладке Data Access для источников данных типа Native, ODBC и ADO. Поэтому, когда вы делаете изменения в строке элемента управления "grid" на форме и после перемещаетесь в следующую строке, сделанные вами изменения посылаются в таблицу Customer.dbf в источнике данных через подходящий тип соединения. Для получения более подробной информации о режимах буферизации смотрите описание Свойство BufferModeOverride.

Для получения более подробной информации о дополнительных опциях, которые вы можете установить сами, смотрите описание Закладка Data Access построителя CursorAdapter Builder.

Для указания XML файла в случае использования источника данных типа XML

  1. В построителе CursorAdapter Builder щелкните на закладке Data Access для того, чтобы перейти на нее, если она еще не видима.

  2. На закладке Data Access щелните на кнопке Build расположенной выше бокса Schema для вывода диалогового окна Open.

  3. Найдите каталог ...\Samples\Solution\Toledo\ и выберите файл GetCustomers.XML.

    В боксе Schema появится схема для курсор-адаптера.

  4. В боксе Buffer mode override выберите Optimistic table buffering.

    Note Замечание

    В этой репетиции, режим буферизации для курсор-адаптера установлен в оптимистическое буферирование таблицы на закладке Data Access для источников данных типа XML что позвволяет XML-адаптеру создать XML DiffGrams. Для получения более подробной информации об установках режима буферизации смотрите описание Свойство BufferModeOverride.

  5. Щелкните на OK для того, чтобы закрыть CursorAdapter Builder и затем еще раз щелкните на OK для того, чтобы закрыть DataEnvironment Builder.

    Новый курсор-адаптер, теперь уже с именем Customer, появится в Data Environment формы и будет содержать все поля их файла GetCustomer.xml file.

Вы можете установить дополнительные опции для извлечения данных. Однко, за исключение установки режима буферизации для курсора, создаваемого курсор-адаптером в примере XML, эта репетиция использует определенные для этих опций значения по умолчанию. Для получения более подробной информации об этих установках смотрите описание Закладка Data Access построителя CursorAdapter Builder.

Для продолжения примера для XML смотрите описание Использование курсора-адаптера в форме.

Конфигурирование обновлений для курсоров-адаптеров

После конструирования команды Select для курсор-адаптера с целью извлечения данных, вы можете указать - как курсор-адаптер будет производить обновления на источнике данных с помощью установки опций на закладке Auto-Update построителя CursorAdapter Builder.

Для конфигурирования установок обновлений на источнике данных с помощью курсор-адаптера

  1. В построителе CursorAdapter Builder щелкните на закладке Auto-Update.

  2. На закладке Auto-Update отметьте чек-бокс Auto-update.

    При этом на закладке Auto-Update будет заполнен список полей, которые вы выбрали на закладке Data Access и будет разрешено автоматическое обновление указанных там полей.

  3. Отметьте чек-бокс Update all fields для указания, что все поля из указанной таблицы будут обновляться автоматически.

    Метка выбора в виде карандаша появится в колонке автоматического обновления для каждого поля в списке полей.

  4. Отметьте чек-бокс в колонке ключевого поля, отображаемого символом ключа, для поля CUSTOMERID чтобы указать его в качестве поля первичного ключа.

  5. Снимите метку с чек-бокса в колонке автоматического обновления для поля CUSTOMERID для предотвращения изменения значения первичного ключа.

  6. Щелкните на OK для того, чтобы закрыть построитель CursorAdapter Builder и еще раз на OK для того, чтобы закрыть построитель DataEnvironment Builder.

    Новый курсор-адаптер, теперь уже с именем Customer появится в Data Environment формы и будет содержать все поля, как это и было определено, из таблицы Customer.

Вы можете установить дополнительные опции, указывающие - как курсор-адаптер обновляет источник данных. Однако, эта репетиция использует установки для этих опций, определенные по умолчанию.

Для получения более подробной информации смотрите описание Закладка Auto-Update построителя CursorAdapter Builder.

Expand image Использование курсора адаптера в форме

После создания курсор-адаптера в окружении данных формы, вы можете перетащить его на форму с целью автоматического создания элемента управления grid.

Для создания эелемента управления grid с помощью созданного курсор-адаптера

  1. В DataEenvironment формы выберите щелчком курсор-адаптер с именем Customer и перетащите его на форму для создания элемента управления grid.

    Если вы используте источник данных типа XML, впечатайте приведенный ниже код в процедуру события Init формы для создания и конфигурирования объекта XMLAdapter:

    CopyCode image Скопировать код
    LOCAL oXMLAdapter as XMLAdapter
DODEFAULT()
ThisForm.AddProperty('oXMLAdapter',CREATEOBJECT('XMLAdapter'))
WITH ThisForm.oXMLAdapter
   .LoadXml(ThisForm.cRunPath+'getcustomers.xml',.T.)
ENDWITH
ThisForm.DataEnvironment.cursor1.SelectCmd="ThisForm.oXMLAdapter.Tables.Item(1)"
ThisForm.DataEnvironment.cursor1.CursorFill()
GO TOP
ThisForm.BindControls = .T.
ThisForm.grdCustomer.AutoFit()

  2. В окне Properties установите свойство формы BindControls в False (.F.).

  3. Сохраните форму в папке ...\Samples\Solution\Toledo.

  4. В понели инструментов Visual FoxPro щелкните на кнопке Run (!) для запуска формы.

На экране появится форма и отобразит grid, который содержит приведенное ниже:

  • Для типов источников данных Native, ODBC и ADO: данные из полей таблицы CUSTOMER.

  • Для типа источника данных XML: данные, загруженные из XML DataSet, GetCustomer.xml.

    При использовании XML-адаптеров с курсорами-адаптерами, вы можете сгенерировать XML DiffGrams с помощью созданного XML-адаптера. Например, приведенный ниже пример кода создает строку XML DiffGram в локальной переменной с именем lcXML:

    CopyCode image Скопировать код
    LOCAL lcXML, llIncludeBefore, llChangesOnly, llIsFile, lcSchemaLocation
WITH ThisForm.oXMLAdapter
...* Убираем XML документ, но сохраняем схему.
....ReleaseXML(.F.)
....UTF8Encoded = .T.    && Указывает международные символы.
....IsDiffgram = .T.       && Генерирует XML DiffGram.
...llIncludeBefore = .T. && Включает формат <diffgram:before>.
...llChangesOnly = .T.   && Генерирует только произведенные изменения.
...llIsFile = .F.
...lcSchemaLocation = "" && схема встроенная.
....ToXML("lcXML",lcSchemaLocation,llIsFile,llIncludeBefore,llChangesOnly)
ENDWITH

Expand image Смотрите также

Задачи

Пример управления доступом к данным с помощью курсоров-адаптеров
Пример загрузки и генерации XML с помощью класса XMLAdapter

Прочие ресурсы

Репетиции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Walkthrough: Creating XML Web Services with Visual FoxPro

Visual FoxPro 9.0 - Репетиции
Репетиции: Создание XML Web сервисов с Visual FoxPro
Смотрите также
CollapseAll image

XML Web сервисы представляют собой фундаментальные строительные блоки для распреленных вычислений в Internet. XML Web сервис представляет собой объект или класс, который развернут в Internet, доступ к которому вы можете получить программным путем через типичные вызовы методов. XML Web сервисы предоставляют функциональность и доступ к данным между платформами и сквозь разнотипные соединения. Наиболее важный аспект XML Web сервисов заключается в том, как они используют HTTP и SOAP, функциональность, доступную через бранмауэры (firewalls). Вы можете вызвать XML Web сервис вне зависимости от платформы, на которой они запущены, вследствие того, что HTTP и SOAP работают независимо от вашей компьютерной платформы. В некоторых случаях, это может предоставить функциональность, которая недоступна под распределенным COM.

Вы можете создать XML Web сервисы и обратиться к ним через Web. ВЫ можете использовать Visual FoxPro для создания XML Web сервиса, или можете использовать Visual FoxPro для получения доступа к XML Web сервисам, созданных в других программных языках.

Эта репетиция объясняет, как создать COM сервер и опубликовать его в качестве XML Web сервиса. В дополнение к этому, она будет вести вас через использование вашего вновь созданного XML Web сервиса. XML Web сервис предоставит список потребителей из таблицы, где потребители отвечают определенным требованиям. Список посылается, как XML строка, которая затем помещается в курсор с помощью класса XMLAdapter.

Эта репетиция содержит следующие разделы:

  • Необходимые условия

  • Информационные сервсисы Интернет - Internet Information Services (IIS)

  • Создание COM сервера

  • Создание и публикация XML Web сервиса

  • Тестирование XML Web сервиса

  • Использование XML Web сервиса

Expand image Необходимые условия

Для этой репетиции требуется приведенное ниже:

  • Microsoft Internet Information Services (IIS)

  • SOAP

  • Visual FoxPro COM Servers

SOAP автоматически инсталлируется при инсталляции Visual FoxPro. IIS представляет собой необязательный компонент для Windows 2000 и автоматически инсталлируется на платформе Windows 2000 Server. IIS обслуживает ваши XML Web сервисы из вашего виртуального каталога пользователям в Internet. Его виртуальный каталог ссылается на место на вашем жестком диске, в котором вы поместите ваши XML Web сервисы. Вы используйте Visual FoxPro для создания COM объектов. После того, как ваши COM объекты будут созданы, вы сможете использовать построитель "Visual FoxPro XML Web Service builder" для публикации их в ваш виртуальный каталог.

Expand image Internet Information Services

IIS предоставляет ссылку на местонахождение вашего XML Web сервиса пользователям, получающим доступ к ним через Internet. Для публикации XML Web сервиса, вы должны создать виртуальный каталог в IIS, который содержит необходимые файлы Web Services Description Language (.wsdl). Эти файлы создаются мастером "Web Service Wizard" из вашего COM компонента.

Для создания виртуального каталога

  1. В гланом каталоге Visual FoxPro ..\Program Files\Microsoft Visual FoxPro VersionNumber, создайте папку с именем Web Services.

  2. В панели управления Windows Control Panel, выполните двойной щелчок на иконке Administrative Tools, и затем выполните двойной щелчок на иконке Internet Information Services.

    Откроется окно Internet Information Services, отображая управляющий элемент "tree" с левой стороны, в котором размещается список Internet information services вашего компьютера.

  3. Выполните правый щелчок на узле Default Web Site.

  4. Щелкните на пункте New, и затем на Virtual Directory для того, чтобы открыть мастер "Virtual Directory Creation Wizard".

  5. Следуйте инструкциями мастера и укажите в первом шаге созданную вами папку Web Services как ваш виртульаный каталог.

    Этот виртуальный каталог ссылается на папку Web Services, в которой вы будете хранить все созданные вами файлы XML Web сервиса.

Expand image Создание COM сервера

Так как XML Web сервис представляет собой файл библиотеки DLL или исполняемый файл (.exe), вы должны использовать COM сервер, как основу вашего XML Web сервиса. COM сервер в Visual FoxPro представляет собой файл с расширением .dll или .exe, содержащий пользовательский класс, основанный на объекте Session. Пользовательский класс указан при его определении, как OLEPUBLIC. Это выказывает функциональность, которая может быть использования и многократно другими приложениями через автоматизацию.

Для этого примера COM сервера, вы создаете пользовательский класс, который сообщает некую общую информацию. Вы пишите программу, которая создает класс с одним методом, компилируете проект, содержащий этот класс в COM сервер и, затем, публикуете его в качестве XML Web сервиса.

Для создания COM сервера

  1. В меню File Visual FoxPro щелкните на New.

  2. В диалоговом блоке New щелкните на Project и, затем, на New file. Сохраните проект с именем myWServ1.

  3. На закладке All Project Manager, разверните узел Code, щелкните на Programs и, затем, щелкните на New.

  4. Скопируйте приведенный ниже код в окно редактирования программ.

    CopyCode image Скопировать код
    DEFINE CLASS ShowCustomers AS Session OLEPUBLIC
   PROCEDURE CustomersInGermany AS String
      LOCAL loXMLAdapter AS XMLAdapter
      LOCAL lcXMLCustomers AS String

      loXMLAdapter = CREATEOBJECT("XMLAdapter")

      OPEN DATABASE "C:\Program Files\Microsoft Visual FoxPro 9\" ;
         + "Samples\Northwind\northwind.dbc"

      USE customers
      SELECT * ;
         FROM customers ;
         WHERE country LIKE "Germany%" ;
         INTO CURSOR curCustomers

      loXMLAdapter.AddTableSchema("curCustomers")
      loXMLAdapter.UTF8Encoded = .T.
      loXMLAdapter.ToXML("lcXMLCustomers")

      CLOSE DATABASES ALL

      RETURN lcXMLCustomers
   ENDPROC
ENDDEFINE

    Эта программа определяет один класс, ShowCustomers, который имеет один метод - CustomersInGermany.

  5. В меню File щелкните на Save.

  6. В диалоговом окне Save As дайте программе имя myWServ1 щелкните на Save.

  7. Закройте окно редактирования.

  8. В Project Manager щелкние на Build.

  9. Выберите Multi-threaded COM server (dll) и щелкните на OK. В диалоговом окне Save As найдите каталог Web Services, который вы создали под главным каталогом Visual FoxPro. Сохраните DLL под именем myWServ1.dll в этом каталоге.

Замечание Замечание

Если DLL сохранена в каталоге, к которому IIS/SOAP не могут обратиться, то в результате вызова WebService получите ошибку SOAP error "Class not registered."

Visual FoxPro сейчас скомпилировал файл myWServ1 в COM сервер с именем myWServ1.dll. Теперь вы можете опубликовать XML Web сервис.

Expand image Создание и публикация XML Web сервиса

Из файла myWServ1.dll, созданного в предыдущей процедуре, новый файл Web Services Description Language (.wsdl) будет сгенерирован при публикации XML Web сервиса. Файл .wsdl представляет собой XML файл, который описывает XML Web сервис и содержащиеся в нем классы.

Для добавления компонентов, необходимых для превращения вашего COM сервера в XML Web сервис, ввы должны скомпилировать COM сервер, как XML Web сервис. После того, как вы укажите установки в Web Services Publisher, Visual FoxPro создаст SOAP файлы, необходимы для превращения вашего COM сервера в XML Web сервис, опубликует их в вашем вирутальном каталоге и зарегистрирует новый XML Web сервис в IntelliSense.

Для компиляции и публикации XML Web сервиса

  1. В меню Tools щелкните на Task Pane.

  2. В Task Pane Manager щелкните на XML Web Services.

  3. В XML Web Service Tools выберите Publish Your XML Web Service.

  4. Если файл myWServ1.dll не перечислен в поле COM Server, щелкните на командной кнопке (...) и выберите myWServ1.dll.

  5. Щелкните на Advanced для отображения диалогового блока Visual FoxPro XML Web Services Publisher.

  6. Убедитесь, что бокс Listener URI отображает ваш виртуальный каталог. Если такой не существует, щелкните на командной кнопке (...) и выберите ваш виртуальный каталог.

  7. Щелкните на закладке Methods и убедитесь, что выбран CustomersInGermany.

  8. Щелкните на таблице Namespaces, заместите tempuri.org именем вашего домена во всех поля и щелкните на OK.

    Если у вас нет своего собственного домена, вы можете оставить для этого примера tempuri.org неизмененным.

  9. Щелкните на OK для того, чтобы закрыть Visual FoxPro XML Web Services Publisher.

  10. Щелкните на Generate.

    Visual FoxPro сгенерирует файлы XML Web сервиса. После завершения генерации XML Web Services Publishing Results появится диалоговое окно, отображающее список сгенерированных файлов - файл .wsdl, ISAPI или ASP listener, чтобы вы смогли проверить, что файлы сгенерированы должным образом.

К этому моменту вы создали и опубликовали ваш XML Web сервис. Любой, кто имеет доступ к виртуальному каталогу, установленному вами ранее, может использовать HTTP для обращения к опубликованному вами XML Web сервису.

Expand image Тестирование XML Web сервиса

После того, как вы опубликовали ваш новый XML Web сервис, вы должны протестировать его, чтобы убедиться, что он работает корректно. Visual FoxPro предоставляет механизм для тестирования XML Web сервисов, который доступен в панели XML Web Service в Task Pane Manager. Механизм теста отобразит любые результаты, возвращаемые из XML Web сервиса, используемые XML схемы и ошибку обратной связи.

Для тестирования XML Web сервиса

  1. В меню Tools Visual FoxPro щелкните на Task Pane.

  2. В Task Pane Manager щелкните на XML Web Services.

  3. В Explore an XML Web Service щелкните на ShowCustomers в боксе Service Name.

  4. В боксе The following methods are supported by this XML web service щелкните на CustomersInGermany.

    В этом боксе будут перечислены все доступные методы для XML Web сервиса.

  5. Щелкните на Test this XML Web Service.

Если тестирование прошло успешно, появится окно Web Service Test Results. Оно отобразит результаты, возвращенные XML Web сервисом и вы сможете увидеть файл .wsdl, ассоциированный с XML Web сервисом. Если при тестировании произошла ошибка, окно Web Service Test Results отобразит информацию об ошибке.

Expand image Использование XML Web сервиса

Вы используете XML Web сервис таким же образом, что и любой COM Server: выставить на показ функциональность приложения другому приложению. В следующей процедуре вы создаете программный файл для доступа к вашему XML Web сервису и используете Toolbox для получения требуемого кода, который должным образом ссылается на XML Web service .

Для использования XML Web сервиса

  1. В меню File Visual FoxPro щелкните на New.

  2. В диалоговом окне New выберите Project и щелкните на New file. Сохраните проект под именем wsTest.

  3. На закладке All Project Manager разверните узел Code, выберите Programs и, затем, щелкните на New. В меню Tools Visual FoxPro щелкните на Toolbox.

  4. В Toolbox щелкните на My XML Web Services.

  5. Щелкните и перетащите ShowCustomers XML Web сервис из Toolbox в командное окно.

    Тем самым вы добавите правильный код для вашего XML Web service.

  6. В окне редактирования, ниже строки с текстом "Call your XML Web service here" вставьте приведенный ниже код.

    CopyCode image Скопировать код
    LOCAL lcXML, lcAlias AS String
LOCAL loXMLAdapter AS XMLAdapter

lcXML = loShowCustomers.CustomersInGermany

loXMLAdapter = CREATEOBJECT("XMLAdapter")
loXMLAdapter.LoadXML(lcXML)

lcAlias = loXMLAdapter.Tables.Item(1).Alias
loXMLAdapter.Tables.Item(1).ToCursor()

SELECT(lcAlias)
BROWSE
CLOSE DATABASES ALL

  7. В меню File щелкните на Save.

  8. В диалоговом окне Save As дайте программе имя WebServiceTest и щелкните на Save.

  9. Закройте окно редактирования.

  10. В Project Manager выберите программный файл WebServiceTest и щелкните на Run.

    Появится окно просмотра (browse) с таблицей всех потребителей из Германии, выбранными из базы данных Northwind. Этот курсор будет заполнен из XML, поставляемым из вашего XML Web сервиса с помощью класса XMLAdapter.

Для получения более подробной информации о Web сервисах, смотрите описание Web сервисы и компоненты. Для получения более подробной информации о COM серверах, смотрите описание Как: создать сервер автоматизации.

Expand image Смотрите также

Прочие ресурсы

Репетиции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Walkthrough: Creating a Visual FoxPro Application Setup Program Using InstallShield

Visual FoxPro 9.0 Репетиции
Репетиция: Создание установочной программы для приложения Visual FoxPro с помощью InstallShield
Смотрите также
CollapseAll image

Когда вы готовы к распространению приложения, вы можете создать установочную программу (setup) с целью помочь потребителю вашего приложения в его установке. Эта репетиция объясняет соображения, которые вы должны учесть до распространения вашей программы, и показывает - как создать проект Setup, как включить в него файлы и установить их свойства и как распространять файлы приложения через Setup, созданную с помощью InstallShield Express Visual FoxPro Limited Edition.

Эта репетиция содержит следующие разделы:

  • Предварительные условия

  • Создание установочной программы с помощью InstallShield Express

  • Распространение приложения

Для получения более подробной информации о распространении приложений смотрите описание Распространение приложений.

Expand image Предварительные условия (Prerequisites)

В поставку Visual FoxPro включен лимитированный выпуск InstallShield Express версии 5.0, замещающий мастера установочной программы (Setup Wizard), который поставлялся в версиях вплоть до Visual FoxPro 7.0. Для изучения установки InstallShield Express Limited Edition на вашем компьютере смотрите описание задачи Как: установить дополнительные приложения.

Note Замечание

Вы можете использовать любую программу, создающую установочные программы, которая использует технологию Microsoft Windows Installer для создания программы Setup (.msi) или объединенных модулей (.msm), которые совместимы с Microsoft Windows Installer. Некоторые сценарии распространения требуют наличия объединенных модулей в дополнение к run-time файлам Visual FoxPro. Для получения более подробной информации смотрите описание Сценарии распространения Visual FoxPro, приведенное в этой репетиции.

Руководство по Windows 2000 Logo требует, чтобы установочная программа была основана на технологии Windows Installer. Windows Installer является частью Windows 2000, а Zero Administration Windows пытается снизить общую строимость внедрения, использования и управления настольными компьютерами. Как лимитированный, так и полный выпуск InstallShield Express используют Microsoft Installer, функциональные возможности которого представляют всеобъемлющую и гибкую технологию создания Setup. Эта технология позволяет вашим потребителя эффективно инсталлировать и сконфигурировать ваше приложение.

Не нужно рассматривать эту репетицию, как замену документации InstallShield Express, которую вы должны прочитать до работы с ним. Это всего лишь дополнение, которое должно помочь вам при использовании InstallShield Express для упаковки и распространения приложений. Вы можете, кроме того, загрузить компоненты Platform SDK для Windows Installer Developers с сайта Microsoft по адресу http://www.microsoft.com/msdownload/platformsdk/sdkupdate/.

Вы должны учесть несколько соображений при подготовке к распространению приложения. В дополнение к приведенным ниже процедурам, описанным в статье Процесс распространения приложения, вы должны определиться со структурой вашего приложения; решить вопрос поставки вашего приложения потребителям и рассмотреть вопрос наилучшей организации вашей установочной программы. Когда вы определите для себя все вышесказанное, вы будете готовы к распространению вашего Visual FoxPro приложения.

Expand image Создание установочной программы (Setup) с помощью InstallShield Express

Первым шагом в создании установочной программы являектся создание проекта. Файл проекта Setup (.ism), который вы создадите с помощью InstallShield Express, основан на файле проекта Windows Installer. Этот файл хранит всю логику и информацию, необходимые для сборки установочной программы, совместимой с Windows Installer.

Для создания проекта Setup

  1. В меню старт Start операционной системы перейдите к All Programs. Далее перейдите к InstallShield и щелкните по Express для запуска InstallShield Express.

  2. В меню File приложения InstallShield Express щелкните по New для того, чтобы открыть диалоговое окно New Project.

  3. Определите место на диске, в котором вы желаете сохранить ваш проект, переименуйте имя файла проекта, используемое по умолчанию, в боксе Project Name and Location и щелкните по OK.

  4. Для создания вашей установочной программы в другом языке, отличающемся от English, выберите подходящий вам язык в списке Project Language.

    Note Замечание

    После того, как вы выбрали язык, у вас остается возможность изменить его для текущего проекта.

Определение свойств проекта

После того, как вы создали проект Setup, вы можете определить его свойства - такие, как:

  • Product name (Имя продукта)

  • Product version (Версия продукта)

  • Product icons (Иконка продукта)

  • Default installation folder for all application files (Каталог инсталляции по умолчанию для всех файлов приложения)

  • Name and location of a Readme file (Имя и размещение файла Readme - ("Прочти меня")

Минимально, вы должны указать имя продукта и инсталляционный каталог, используемый по умолчанию для всех файлов вашего приложения. Свойство INSTALLDIR в InstallShield указывает размещение каталога инсталляции, например, домашний каталог проекта. Каталог размещения, используемый по умолчанию, указываемый в INSTALLDIR определяется как:

[ProgramFilesFolder]Your Company Name\Your Product Name

Note Замечание

Рекомендуется, чтобы вы изменили Your Company Name и Your Product Name в подходящие для вашего приложения имена.

Вы можете, кроме того, указать и другой каталог для вашего приложения, указав в свойстве INSTALLDIR каталог с именени вашего приложения, как указано для MyApp в примере ниже:

[ProgramFilesFolder]\MyApp

Если вы планируете инсталлировать любые файлы данных или баз данных, вы можете, кроме того, изменить свойство DATABASEDIR для указания каталога по умолчанию, в котором будут размещены такие файлы.

Для указания общей информации вашего проекта Setup

  1. В узле Organize Your Setup (Организуйте вашу установочную программу) щелкните по General Information (Общая информация).

  2. В списке свойств, выполните двойной щелчок в поле значения свойства для его редактирования.

  3. Щелкните где-либо в другом месте списка свойств для того, чтобы увидеть эффект от сделанных вами изменений.

Разделите ваш проект на функциональные особенности

С точки зрения пользователя приложения и InstallShield Express, функциональной особенностью является сборочный блок приложения. Функциональные особенности позволяют пользователю устанавливать части приложения. Например, во время инсталляции Visual FoxPro, вы можете указать - устанавливать ли образцы Visual FoxPro Samples, а также инструменты Visual FoxPro Tools, которые представляют собой функциональные особенности поставки.

Note Замечание

Деление вашего продукта на функциональные особенности не требуется, то есть не является обязательной операцией, когда вы создаете установочную программы, хотя это может быть полезно пользователям вашего приложения.

Установкой по умолчанию для инсталляции функциональных особенностей является Always Install, в которой перечислены компоненты, инсталлируемые со всеми типами Setup.

Для создания функциональных особенностей

  1. В узле Organize Your Setup щелкните по Features.

  2. Для добавления новой функциональной особенности, выполните щелчок по правой клавише мыши на узле Features в дереве средней панели, а затем щелкните по New Feature Ins.

  3. Впечатайте имя для новой функциональной особенности и затем нажмите ENTER.

Когда вы идентифицировали функциональные особенности вашего продукта, вы можете установить свойства функциональной особенности, такие как ее описание, как она будет представлена пользователю и требуется ли она пользователю в обязательном порядке или нет. Хотя функциональные особенности представляются пользователю как инсталлируемые, но на самом деле они не инсталлируются во время установки вашего продукта. Windows Installer проинсталлирует их сразу, как только пользователь попытается впервые их использовать.

Для установки свойства функциональной особенности

  1. Выберите функциональную особненность, свойства который вы желаете изменить.

  2. В списке свойств, выполните двойной щелчок по полю значения свойства для его редактирования.

    Для отображения большего количества опций, щеклните по кнопке выбора (...) или по кнопке со стрелкой, которая появляется рядом с полем значения свойства в случае, если доступны дополнительные опции.

  3. Впечатайте или выберите новое значение для свойства.

Например, предположим, что вам захотелось предоставить опцию инсталляции файла справки для вашего приложения. Следуйте шагам, описанным для создания функциональной особенности и назовите ее "Help file." Если вы желаете сделать инсталляцию файла справки необязательной, установите значение свойства Required в No. Если вы желаете, чтобы функциональная особенность была инсталлирована сразу после первой попытки ее вызова пользователем, нажатием кнопки F1 , установите свойство Advertised в Yes.

Указание функциональных особенностей для типа Setup

Вы можете включить в программу установки различные типы Setup и указать, какие функциональные особенности должны быть инсталлированы в каждом типе Setup. Типы Setup предлагают различные уровни инсталляции, из которых пользователь может выбрать наиболее подходящий:

  • Обычный Setup инсталлирует все функциональные возможности и файлы.

  • Минимальный Setup инсталлирует минимальное количество функциональных возможностей и файлов, лишь те, которые необходимы для работы приложения.

  • Настраиваемый (Custom) Setup позволяет указать, что нужно инсталлировать и что не нужно.

Вы должны обеспечить по крайней мере один тип Setup.

Все три типа Setup инсталлируют функциональные возможности, перечисленные в Always Install. Например, базовый Setup включает все, что перечислено в Always Install и в &Typical Setup. Знак амперсанда (&) в имени типа Setup указывает ключи доступа к конкретному типу Setup в интерфейсе пользователя установочной программы. Вы можете включать или исключать типы Setup в зависимости от того, что вы желаете включить в установку, при этом по крайней мере один тип должен быть доступным, а также можете переименовывать типы Setup.

Note Замечание

Указание функциональных возможностей для каждого типа Setup не требуется при создании программы установки (Setup).

Для выбора типов Setup и указания функциональных возможностей для каждого типа Setup

  1. В узле Organize Your Setup щелкните по Setup Types.

  2. В панели Setup Types отметьте чек-боксы для каждого типа Setup, которые вы желаете включить в установочную программу.

  3. В панели Features installed for <selected> setup type отметьте чек-боксы для каждой функциональной возможности, которую должен устанавливать выбранный тип Setup.

Добавление файлов в Setup

Для запуска приложения пользователю обыкновенно требуется исполнимый файл (.exe). Вы можете добавить этот файл первым, среди других файлов, требуемых для работы приложения.

Visual FoxPro предоставляет файлы ресурсов, которые расширяют базовую функциональность вашего приложения, включая файл ресурсов FoxUser, библиотеки API и элементы управления Microsoft ActiveX. Если вы используете эти файлы, вы должны добавить их в программу установки для того, чтобы они были проинсталлированы во время работы Setup. Для получения более подробной информации о файлах ресурсов, которые вы можете использовать, прочитайте описание Файлы ресурсов в приложениях.

Для просмотра файлов, которые вы можете добавить в Setup

  • В узле Specify Application Data щелкните по Files.

Обзор Files разделен на четыре панели. В левой панели отображаются каталоги на вашем компьютере и "компьютере", на котором будет устанавливаться ваше приложение. Правые панели отображают файлы в этих каталогах. Бокс Feature появляется над четырьмя панелями.

Note Замечание

Свойство INSTALLDIR указывает каталог, содержащий корневую папку файлов вашего приложения и обычно указывается, как каталог для инсталляции на том компьютере, на котором будет работать ваше приложение.

До добавления файлов в проект Setup, вы должны указать функциональные возможности, связанные с этими файлами выбором их в боксе Feature.

Note Замечание

Добавьте обязательные для инсталляции файлы, как функциональные возможности Always Install.

Убедитесь, что функциональные возможности появились в боксе Feature. После выбора функциональной возможности, вы можете добавлять файлы в проект Setup копированием их из каталога исходников в каталог на компьютере назначения.

Для добавления файлов из исходного каталога в каталог назначения

  1. В панели Destination computer's folders выберите каталог назначения, в который вы желаете инсталлировать файл приложения.

  2. Перетащите исходный файл из панели Source computer's files в каталог назначения.

    Note Замечание

    Каталог, указанный в INSTALLDIR в узле General Information как каталог инсталляции, который будет использован по умолчанию, должен появиться в панели Destination computer's folders. Перетаскивание исходного файла в каталог назначения всего лишь указывает InstallShield Express где искать исходные файлы, когда вы будете собирать программу установки. В действительности, он не перемещает никакие файлы на исходном компьютере.

Вы можете, кроме того, просмотреть список предопределенных каталогов, таких как каталог рабочего стола операционной системы, которые вы можете выбрать и добавить в список каталогов на коипьютере назначения.

Для просмотра и добавления предопределенных каталогов

  1. В панели Destination computer's folders выполните щелчок по правой клавише мыши на Destination Computer.

  2. Щелкните по Show Predefined Folders.

  3. Выберите каталог, который вы желаете добавить.

    После этого каталог появится в списке каталогов на компьютере назначения.

Вы можете создать один или несколько субкаталогов в каталоге назначения.

Для создания субкаталога в каталоге назначения

  1. Выполните щелчок по правой клавише мыши на каталоге назначения и затем щелкните по Add.

  2. Впечатайте имя нового каталога и нажмите ENTER.

Регистрация файлов

Windows Installer включает в себя перечисленные ниже возможности:

  • откат несостоявшейся инсталляции, возврат целевого компьюьтера в его прежнее состояние.

    Например, COM серверы, такие как файлы ActiveX, COM и COM+ требуют специальной регистрации с тем, чтобы приложение могло обращаться к их интерфейсам. Эти .ocx, .exe и .dll файлы традиционно содержат функции саморегистрации, которые могут быть вызваны для регистрации файлов во время инсталляции. Однако, надежды на саморегистрацию, могут вызвать некоторые проблемы с Windows Installer.

    Note Замечание

    При регистрации COM сервера очень рекомендуется, чтобы вы выбрали Extract COM Information вместо Self-registration в качестве типа регистрации для конкретного файла. Если вы выберите Self-registration, Windows Installer не будет иметь полной информации, необходимой для для правильного удаления COM сервера из реестра.

    У традиционно написанных программ Setup, саморегистрацмя была приемлема для инсталляции COM объектов и продолжает оставаться действующей. Однако, саморегистрация COM объектов не посылает их инсталляционную и регистрационную информацию в Windows Installer. Поэтому, Windows Installer не может откатить инсталляцию и регистрацию саморегистрирующихся COM объектов или афишировать эти объекты.

  • Афиширование установленных продуктов или индивидуальных элементов продукта, таких как COM объекты.

    Афмшмрование делает продукт или COM объект доступным пользователю или компьютеру назначения без установки продукта до момента, когда пользователь или иная функция компьютера не попытается обратиться к афишируемому элементу. Афиширование осуществляется размещением ярлыка в подходящем месте, в таком, как меню Start операционной системы или в реестре.

Для регистрации COM сервера с помощью InstallShield Express

  1. В узле Specify Application Data щелкните по Files.

  2. Скопируйте файл для COM сервера из исходного каталога в каталог назначения.

  3. Выполните щелчок по правой клавише мыши на файле, который вы хотите зарегистрировать и щелкните по Properties.

  4. В диалоговом окне Properties щелкните по закладке COM & .NET Settings.

  5. Выберите Registration Type.

Для получения более подробной информации о регистрации COM серверов смотрите описание Сценарии распространения Visual FoxPro.

Выберите объекты и модули объединения (Merge Modules)

Модуль объединения (.msm файл) содержит все входы логики и реестра, а также файлы, необходимые для успешной инсталляции приложения или run-time файлов. Если бы вы инсталлировали ваше приложение вручную, вам потребовалось бы скопировать Visual FoxPro run-time файлы на целевой компьютер и зарегистрировать эти файлы. Однако, если вы выберите модуль объединения Microsoft Visual FoxPro 9 Runtime Libraries, InstallShield Express должным образом скопирует и зарегистрирует run-time файлы.

Для Visual FoxPro приложения, вы должны выбрать, по крайней мере, модули Microsoft Visual FoxPro 9 Runtime Libraries и MSXML 4.0. Для получения более подробной информации о Visual FoxPro run-time библиотеках смотрите описание Run-Time библиотеки Visual FoxPro.

Note Замечание

Когда вы в InstallShield Express выберите модуль Microsoft Visual FoxPro 9 Runtime Libraries, то чек-боксы для модулей Microsoft Visual C Runtime Library 7.1 и GDI Plus Redist будут выбраны автоматически и должны оставаться выбранными. Visual FoxPro 9.0 требует наличия этих модулей; поэтому не снимайте метки с этих чек-боксов.

Имеется два модуля MSXML 4.0, которые должны быть включены в инсталляцию:

  • MSXML 4.0 (msxml4sxs32.msm)

  • MSXML 4.0 (msxml4sys32.msm)

Кроме того, вы должны включить модуль объединения Microsoft Visual FoxPro 9 Report Applications, который содержит runtime приложения, используемые движком отчетов Visual FoxPro 9.0. Для получения более подробной информации смотрите описание Включение в дистрибутив файлов отчетов.

Если ваше приложение использует функции связанные с XML, например CURSORTOXML, вы должны, кроме того, включить в дистрибутив перечисленные ниже модули MSXML 3.0:

  • MSXML 3.0 (msxml3_wim32.msm)

  • Msxml3 Exception INF Merge Module (msxml3inf_wim32.msm)

  • WebData std library (wdstddll_wim32.msm)

Если вы предполагаете международное использование вашего приложения, вам может потребоваться включение одного или большего числа модулей поддержки языков -Microsoft Visual FoxPro 9 Resource language modules.

Для выбора объектов и модулей объединения для инсталляции

  1. В узле Specify Application Data щелкните по Redistributables.

  2. В панели InstallShield Redistributables установите метки в чек-боксе каждого модуля, который вы желаете инсталлировать вместе с вашим приложением.

  3. Вы можете инсталлировать модуль объединения особенности помодульно с помощью установки метки или ее снятия в панели Conditional Installation, когда она доступна.

Для получения более подробной инфорамции о модулях объединения смотрите описание Сценарии распространения Visual FoxPro.

Создание ярлыков и каталогов

InstallShield Express позволяет вам создавать ярлыки и каталоги в меню Start и на рабочем столе.

Для создания каталогов или ярлыков

  1. В узле Configure the Target System щелкните по ShortCuts/Folders.

  2. В дереве Shortcuts в средней панели, выполните щелчок по правой клавише на узле, в котором вы зелаете установить ярлык или каталог, а затем выберите New Shortcut или New Folder.

  3. Если вы создаете ярлык, то вы должны указать файл назначения. В диалоговом окне Browse for Shortcut Target выполните двойной щелчок по файлу в списке Look in, для которого вы желаете создать ярлык.

    Вы можете, кроме того, связать ваш ярлык с особенностью, перейдя к каталогу, содержащему файлы, связанные с особенностями и выбрать нужный файл из списка.

  4. Впечатайте имя для ярлыка или каталога и нажмите ENTER.

    Для переименования каталога или ярлыка, выполните щелчок по правой клавише, выберите из контекстного меню элемент Rename, впечатайте новое имя и затем нажмите ENTER.

    Note Замечание

    Файлы для вашего приложения располагаются внизу списка Look in.

Создание ключей реестра

Если ваше приложение использует ключи реестра, например, для хранения настроек и параметров пользователя, InstallShield Express может добавить их в компьютер назначения во время установки. Если ключей нет на компьютере разработки, то вы можете создать их вручную.

Note Замечание

Создание ключей реестра не требуется при создании установочной программы Setup.

Входы реестра создаются в уобях реестра. Ульи реестра категоризируют входы реестра по функциям. Например, классы COM Server хранятся в улье реестра HKEY_CLASSES_ROOT. Параметры программного обеспечения, такие как опции Visual FoxPro, хранятся в каталоге Software в улье HKEY_CURRENT_USER.

Для создания ключей реестра

  1. В узле Configure the Target System щелкните по Registry.

  2. В панели Destination computer's Registry view вызовите контекстное меню на желаемом улье реестра.

  3. В контекстном меню перейдите к элементу New и щелкните по Key.

  4. Впечатайте имя ключа и нажмите ENTER.

  5. Вызовите контекстное меню на новом ключе, перейдите к элементу New и выберите тип значения, который вы желаете добавить ключу.

  6. В панели Destination computer's registry data выполните двойной щелчок по ключу для ввода значения данных.

    В зависимости от типа ключа вы можете ввести для него его имя.

Создание Open Database Connectivity (ODBC) Data Source Names (DSNs)

Если в компьютере разработчика имеются ранее существовавшие DSNs, вы можете инструктировать InstallShield Express об установке DSN на компьютере назначения. Если вы инсталлируете DSNs, вы должны включить модули MDAC для случая, если на компьютере назначения отсутствют инсталлированные компоненты ODBC.

Note Замечание

Создание ODBC DSNs не требуется при создании установочной программы Setup.

Для создания DSNs

  1. В узле Configure the Target System щелкните по ODBC Resources.

  2. В дереве ODBC Resources отметьте чек-боксы для тех DSN, которые вы желаете создать на целевом компьютере.

Настройка внешнего вида Setup

Вы можете выбрать или изменить внешний вид диалоговых окон, которые увидит пользователь при инсталляции вашего приложения. Вы можете указать картинки (.bmp) для каждого диалогового окна и добавить диалоговые окна, например, позволяющие пользователю указать каталог назначения.

Note Замечание

Настройка внешнего вида Setup не является обязательной при создании программы установки - Setup.

Для выбора диалоговых окон

  1. В узле Customize the Setup Appearance выберите Dialogs.

  2. В дереве Dialogs выберите диалоговые окна, которые вы желаете отобразить во время инсталляции.

    Когда вы выберите диалоговое окно, его картинка появится в нижней левой панели, а диалоговое окно свойств появится в верхней правой панели.

Чтобы дать возможность пользователю указать каталог назначения

  1. В узле Customize the Setup Appearance выберите Dialogs.

  2. В дереве Dialogs щелкните по Destination Folder.

Сборка вашей установочной программы

После того, как вы закончите разработку и установку свойств для всех элементов в вашем проекте Setup, включая особенности, файлы, ярлыки, входы реестра и интерфейс пользователя, вы будете готовы собрать вашу установочную программу Setup.

Наиболее часто используемыми типами сборок являются CD-ROM или SingleImage. Выбор CD_ROM создает установочную программу, которая содержит файлы, организованные в структурах каталогов. Выбор SingleImage объединяет файлы в один файл.

Для сборки установочной программы Setup

  1. В узле Prepare for Release щелкните по Build Your Release.

  2. В дереве Builds выберите тип медиа, который вы желаете собрать.

  3. В списке свойств, установите или отредактируйте свойства сборки.

  4. Для сборки вашей установочной прогораммы, выполните щелчок по правой клавише мыши на выбранной медиа и затем щелкните по Build.

    InstallShield Express поместит собранную упаковку Setup в следующем каталоге:

    <project directory>\Express\<media type>\DiskImages\DISK1

Тестирование вашей установочной программы

Очень важно, чтобы вы протестировали вашу установочную программу до распространения. Вы можете это сделать без запуска реальной инсталляции с помощью InstallShield Express.

Для тестирования вашей установочной программы с помощью InstallShield Express

  1. В узле Prepare for Release щелкните по Test Your Setup.

  2. В дереве Builds выберите тип медиа, содержащий вашу сборку, которую вы желаете протестировать.

  3. Если вы желаете запустить установочную программу и инстраллировать ваше приложение и его файлы на вашем компьютере разработки, щелкните по Run Your Setup.

    - или -

    Если вы желаете протестировать только лишь диалоговые окна Setup и любые настраиваемые действия, которые вы выбрали, щелкните по Test Your Setup.

    Эта опция не инсталлирует никаких файлов и не делает никаких изменений в системе.

Expand image Распространение приложения

После сборки и тестирования вашей установочной программы, вы готовы распространять ваше приложение.

Для распространения

  1. В узле Prepare for Release щелкните по Distribute Your Release.

  2. В дереве Builds выберите тип медиа, которое содержит сборку, предназначенную для распространения.

  3. Введние местонахождение или щелкните по Browse и перейдите к месту, куда должен быть скопирована ваша упаковка установочной программы.

  4. Щелкните по Distribute to Location.

Вы можете, кроме того, скопировать вашу упаковку установочной программы на FTP сервер.

Для получения дополнительной информации и параметрах для распространения приложений, обратитесь к документации InstallShield Express.

Эта репетиция подразумевает, что вы инсталлируете простое приложение Visual FoxPro, которое не имеет зависимостей, отличающихся от Visual FoxPro Runtime Libraries. Приведенная ниже информация включает в себя инструкции, необходимые для сценариев распространения, которые отличаются от инсталляции только лишь приложений Visual FoxPro и их родных данных. Для этих сценариев, добавьте перечисленные ниже подходящие модули объединения, когда выбираете объекты и модули объединения для вашей установочной программы Setup.

Web Services и SOAP

Если ваше приложение использует Web сервисы или SOAP, вы должны включить перечисленные ниже модули объединения:

  • SOAP SDK Files (Soap_Core.msm)

  • Visual Basic Virtual Machine (MSVBVM60.msm)

  • Microsoft Component Category Manager Library (Comcat.msm)

  • Microsoft OLE 2.40 (OLEAUT32.msm)

Приложения, использующие компоненты Visual FoxPro Report Application

Если ваше приложение использует поставляемые Report Builder Application, Report Output Application или Report Preview Application, и вы хотите убедиться, что эти компоненты доступны в вашем приложении по умолчанию, включите в сборку перечисленные ниже модули:

  • Visual FoxPro 9 Report Applications (vfp9rptapps.msm)

Для получения более подробной информации смотрите Включение файлов Report для распространения.

Microsoft Visual FoxPro OLE DB Provider

Visual FoxPro OLE DB Provider позволяет, как Visual FoxPro приложениям, так и другим приложениям обращаться к данным Visual FoxPro с помощью OLE DB или ActiveX® Data Objects (ADO). Для установки Visual FoxPro OLE DB Provider на компьютере назначения, включите в сборку модуль Microsoft Visual FoxPro OLE DB Provider (VfpOLEDB.msm).

Элементы управления ActiveX

Элементы управления ActiveX представляют собой достаточно общие элементы во многих приложениях Visual FoxPro. Для того, чтобы включить элементы управления ActiveX в вашу сборку InstallShield Express Setup, вы должны включить в нее модуль Microsoft Component Category Manager Library (Comcat.msm).

Note Замечание

Windows 2000 и Windows XP, кроме того, инталлируют файлы, содержашиеся в этом модуле.

Элементы управления ActiveX, которые вы желаете инсталлировать, оказывают влияние на тип модулей объединения, которые вы желаете инсталлировать и добавляют дополнительные шаги, которые вам необходимо сделать, чтобы их инсталлировать.

  • Common ActiveX Controls

    Представляют собой элементы управления ActiveX общенго назначения, которые поставляются с Visual FoxPro и Microsoft Visual Studio. InstallShield Express поставляется с модулями объединения для большинства этих элементов управления.

    Если есть необходимость, то добавьте подходящие модули, которые необходимы для этих элементов управления. Например, если ваше приложение использует элемент управления Treeview, вы должны включить модуль объединения MSCOMCTL.msm.

    Note Замечание

    Элементы управления Common ActiveX Controls, включенные модули объединения поставки InstallShield Express содержат регистрационную информацию, которая совместима с Windows Installer.

  • Элементы управления Microsoft Foundation Class (MFC)

    Некоторые устаревшие элементы управления, такие как Calendar, используют библиотеки MFC; поэтому, рекомендуется, чтобы вы включили соответствующие модули объединения MFC, такие как MFC42.msm. Если вы имели дело с элементами управления VBCCE, вы должны вручную добавить в проект элементы управления и установить различные свойства.

  • Элементы управления третьих производителей

    Убедитесь, что будет произведена регистрация включенных в ваше приложение элементов управления третьих производителей. В дополнение к этому, вам может потребоваться добавить конкретные ключи реестра, с помощью окна Registry в InstallShield Express для выполнения любых лицензионных требований.

    Для получения более подробной информацию смотрите документацию, поставляемую производителями этих элементов управления, и то - как и где инсталлировать эти элементы управленияs. Документация производителей, кроме того, должны предоставить информацию о любых требуемых файлах зависимостей, таких как файлы MFC.

Для того, чтобы убедиться, что Windows Installer мог бы откатить или афишировать устанавливаемые файлы, вы должны инсталлировать файле в соответствии с требованиями совместимости с Windows Installer. Саморегистрация файлов несвоместима с требованиями Windows Installer. Вы можете проверить, что InstallShield Express инсталлирует COM объекты, совместимые с Windows Installer следуя приведенным ниже инструкциям об регистрации файлов. Для получения более подробной информации смотрите документацию InstallShield Express.

Приложения, использующие HTML Help

Модули объединения Microsoft Visual FoxPro HTML Help Support Library (VFP9HTMLHelp.msm) включают в себя файлы как FOXHHELP9.exe , так и FOXHHELPPS9.dll, необходимые для поддержки контекстно-чувствительной справки HTML Help в ваших приложениях Visual FoxPro.

В дополение к вашему конкретному, связанному с приложением файлом .chm file, вы можете включить файлы ядра HTML Help viewer. Последняя версия Microsoft Internet Explorer уже включает в себя эти файлы. Вы можете, кроме того, распространять их с файлов HHUPD.exe, доступном на сайте Microsoft Developer Network (MSDN).

Приложения, использующие компоненты MDAC

Для приложений Visual FoxPro, запускаемых на операционных системах, вышедших ранее, чем Windows 2000 или Windows XP, рекомендуется, чтобы вы включили в сборку модули объединения Microsoft Data Access Components (MDAC) (MDAC25.msm) в случае, если ваше приложение использует любой из перечисленных ниже компонентов:

  • Драйверы ODBC, включая Microsoft Visual FoxPro ODBC Driver (VFPODBC.msm)

  • OLE DB Provider

  • ADO, RDS

COM серверы

Возможности отката и афиширования Windows Installer позволяют откатить инсталляцию компонентов и их регистрацию в случае, если инсталляция не состоялась или была прервана по причине какой-либо ошибки. Однако, вы должны корректно инсталлировать и регистрировать COM объекты, чтобы обеспечить такую возможность. Для корректной регистрации инсталлируемых COM объектов, установите Registration Type в Extract COM Information. Саморегистрирующиеся инсталлируемые COM объекты лишают Windows Installer возможности произвести откат и афиширование.

Для получения более подробной информации смотрите инструкции о регистрации в этой статье.

Локализованные приложения

Visual FoxPro Runtime Libraries (VFP9Runtime.msm) содержат стандартный, нейтральный по отношению к языку файл ресурса (VFP9renu.dll), используемый для поставки со всеми приложениями, выполненными на English (US). Если вы желаете включить поддержку для другого локализованного файла ресурса (VFP9Rnnn.dll), включите подходящий модуль Microsoft Visual FoxPro Resource merge module, который содержит желаемый локализованный файл ресурса.

Note Замечание

Локализованные файлы ресурса не включают в себя локализованные диалоговые окна Setup. Вы можете выбрать желаемый язык для ваших диалоговых окон Setup во время создания вашего проекта установочной программы Setup.

Чтобы включить локализованный файл ресурса Visual FoxPro

  1. В узле Specify Application Data щелкните по Redistributables.

  2. Для идентификации желаемого модуля Microsoft Visual FoxPro Resource merge module, посмотрите описания для каждого модуля в нижней левой панели.

  3. Выберите желаемый модуль.

    Например, чтобы включить файл ресурса German , выберите модуль VFP9rdeu.msm. В приведенной ниже таблице перечислены доступные модули, содержащие соответствующие файлы локализованных ресурсов.

    Язык Модуль объединения

    Chinese, Simplified

    VFP9rchs.msm

    Chinese, Traditional

    VFP9rcht.msm

    Czech

    VFP9rcsy.msm

    French

    VFP9rfra.msm

    German

    VFP9rdeu.msm

    Korean

    VFP9rkor.msm

    Russian

    VFP9rrus.msm

    Spanish, International Sort

    VFP9resn.msm

Expand image Смотрите также

Справочное руководство

Файлы ресурсов в приложениях

Концепции

Распространяемые и запрещенные к распространению файла и функциональные возможности Visual FoxPro

Прочие ресурсы

Репетиции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Reference (Visual FoxPro)

Visual FoxPro 9.0
Справочная информация (Visual FoxPro)

Справочники Visual FoxPro содержат описания команд, элементов управления, объектов, свойств, методов, событий, операторов, функций, констант и инструментов для работы с ними.

В этом разделе

Общий справочник

Включает техническую информацию, связанную с Visual FoxPro, в том числе типы файлов, структуры файлов и другую справочную информацию об элементах Visual FoxPro.
Справочник по языку

Содержит список языковых справочных тем в алфавитном порядке.
Справочник по интерфейсу

Объясняются опции, которые появляются в различных диалоговых боксах, окнах, и других пользовательских интерфейсах. Обычно эти темы появляются после нажатия клавиши F1 в диалоговом боксе или окне.
Сообщения об ошибках

Приводятся типичные сообщениях об ошибках, которые могут возникнуть у пользователя при работе с Visual FoxPro.

Связанные разделы

Microsoft Visual FoxPro 9.0

Приводятся ссылки на дополнительные ресурсы, доступные разработчику приложений на Visual FoxPro.
Начало работы с Visual FoxPro

Дается информации об установке, модернизации и конфигурировании Visual FoxPro, а также о настройке среды разработки под конкретного пользователя.
Использование Visual FoxPro

Описываются возможности Visual FoxPro, концепции и инструменты, предназначенные для разработки и управления высокопроизводительными базами данных, приложениями и компонентами.
Примеры и критический анализ

Представлены образцы кодов, которые вы можете использовать для эксперимента и знакомиться с возможностями Visual FoxPro.
Поддержка продукта

Дается информация о различной технической поддержке, доступной для пользователей Visual FoxPro.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


General Reference

Visual FoxPro 9.0
Общий справочник

В этом раздел содержится много общетехнической информации, включая описание типов файлов, структуры файлов и другой общей информации об элементах Visual FoxPro.

В этом разделе

Данные и типы полей

Даются ссылки на информацию о типах полей, используемых в Visual FoxPro, и преобразованиях данных одного типа в другой, как например, типы данных Схемы XML.
Манипулирование данными

Описываются способы построения выражений, которые наиболее полно используют мощные возможности Visual FoxPro в части манипулирования данными.
Контейнеры для хранения данных

Обсуждается вопрос о том, какой тип контейнера лучше использовать и дается суммарная оценка различиям между контейнерами данных.
Построение выражений

Описывается каким образом скомбинировать в выражениях данные и операторы, чтобы получить значение заданного типа.
Структуры файлов

Содержит техническую информацию о структурах и типах файлов.
Обзор шрифтов

Рассказывается о влиянии шрифтов, установленных в операционной системе, на внешний вид экранного и печатного текста, а так же на позиционирование и размер элементов управления Visual FoxPro.
Поддержка графики в Visual FoxPro

Обсуждается Интерфейс Графических Устройств+ (GDI+), интерфейс графических устройств для Microsoft Windows XP и будущих версий операционной системы Windows. Visual FoxPro поддерживает все графические форматы, которые поддерживает GDI+.
Клавиатурные комбинации быстрого вызова

Дается информация о клавиатурных комбинациях быстрого вызова, поддерживаемых в Visual FoxPro.
Расширяемость за счет данных, принадлежащих члену класса (MemberData Extensibility)

Обсуждается модель расширяемости применения метаданных этапа проектирования с использованием членов класса. (Discusses extensibility model for design time use of meta data with class members.)
Соглашения о присвоении имен

Рассказывается о выборе имен для незащищенных объектов, свойств и методов, которые будут просты и понятны для пользователей приложения.
Регулярные выражения и операторы

Описываются регулярные выражения и операторы, являющиеся символами, с помощью которых можно делать сложные поиски, предназначенные для обнаружения и замены образцов текста.
Зарезервированные слова

Приводится список зарезервированных слов, использования которых в качестве имен (например имен окон, таблиц полей) необходимо избегать.
Сравнение значений строк в Visual FoxPro

Описываются операторы, используемые для сравнения значений строк.
Имена системного меню

Приводится список внутренних имен и имен для пользовательского интерфейса, используемых в системной строке меню, заголовках меню, самих меню и пунктах меню. Эти имена дают вам возможность использовать системную строку меню Visual FoxPro для создания системы меню собственных приложений.
Visual FoxPro и другие языки программирования

Проводится сравнение элементов языка Visual FoxPro с другими языками программирования.
Системные возможности Visual FoxPro

Дается перечень ограничений накладываемых на таблицы и индексные файлы, характеристики полей, переменные и массивы, файлы программ и процедур, возможности Конструктора Отчетов и т.д.
Папка XSource

Содержит архивные zip-файлы, содержащие HTML-файлы помощи для Образцов Решений (Solution Sample), а также папки с файлами, содержащими исходные коды некоторых программ, например, таких как Addlabel, Browser, Builder, Coverage и Wizards.

Связанные разделы

Справочная информация

Приводятся ссылки на темы, посвященные инструментам, повышающим производительность при проектировании, а также на темы, описывающие элементы управления, объекты, свойства, методы, события, операторы, функции и константы.
Справочник по интерфейсу

Описываются опции, которые появляются в различных диалоговых боксах, окнах и других частях интерфейса. Обычно, эти справочники появляются при нажатии клавиши F1 в диалоговом боксе или окне.
Сообщения об ошибках

Приводятся типичные сообщениях об ошибках, которые могут возникнуть у пользователя при работе с Visual FoxPro.
Использование Visual FoxPro

Описываются возможности Visual FoxPro, концепции и инструменты, предназначенные для разработки и управления высокопроизводительными базами данных, приложениями и компонентами.
Разработка приложений в Visual FoxPro

Приводятся концептуальные сведения о том, как разрабатывать приложения в Visual FoxPro, инструкции по созданию баз данных и пользовательского интерфейса, а также другие сведения, необходимые для создания приложений в Visual FoxPro.
Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Data and Field Types

Visual FoxPro 9.0
Типы данных и полей

Этот раздел содержит перечень типов данных и функций для оперирования этими типами данных.

В этом разделе

Типы данных и полей в Visual FoxPro

Дается информация о типах данных Visual FoxPro, включая их описания, допустимые значения, диапазон и размер этих значений.
Данные XML в Visual FoxPro

Знакомит с использованием данных XML в Visual FoxPro.
Visual FoxPro и преобразования типов данных XML- схемы

Описываются типы данных в XML- схемы и показывается как они преобразуются типы данных Visual FoxPro и обратно.
Тип данных Blob (Binary Large Object - большой двоичный объект)

Описывается тип данных Blob, в котором могут храниться двоичные данные неопределенной длины.
Символьный тип данных (Character)

Описывается тип данных Character, в котором может храниться алфавитный текст. Поля типа Character (Binary) предназначены для хранения текста, который не надо переводить в другие кодовые страницы.
Денежный тип данных (Currency)

Описывается тип данных Currency, в котором могут храниться денежные значения или точные финансовые вычисления.
Тип данных дата (Date)

Описывается тип данных Date, в котором может храниться значение даты без значения времени.
Тип данных дата и время (DateTime)

Описывается тип данных DateTime, в котором может храниться и значение даты и значение времени, или только значение даты.
Тип поля двойной (Double)

Описывается тип поля Double, который является более точным, чем числовой (Numeric) тип.
Плавающий (Float) тип поля

Описывается тип поля Float, который включен для обратной совместимости с предыдущими версиями Foxpro и функционально эквивалентен числовому (Numeric) типу.
Общий (General) тип поля

Описывается тип поля General, в котором могут храниться OLE-объекты.
Целый (Integer) тип поля

Описывается тип поля Integer, в котором могут храниться не десятичные числовые значения. Этот тип поля может использоваться тогда, когда важными факторами являются производительность и ограничение на размер таблиц.
Логический (Logical) тип данных

Описывается тип данных Logical, который обеспечивает эффективный способ хранения данных, которые могут иметь только два значения.
Тип поля меморандум (Memo)

Описывается тип поля Memo, в котором могут храниться блоки данных. Поле типа Memo (Binary), является версией типа поля Memo, и предназначено для хранения блоков данных, которые не надо переводить в другие кодовые страницы.
Числовой (Numeric) тип данных

Описывается тип данных Numeric, в котором могут храниться значения, указывающие на величину.
Тип данных Varbinary

Описывается тип данных Varbinary, в котором могут храниться двоичные значения и литералы фиксированной длины без дополнительного наполнения пробелами и без усечения пробелов.
Тип поля Varchar

Описывается тип поля Varchar, в котором может храниться алфавитно-цифровой текст без дополнительного наполнения пробелами и без усечения пробелов. Тип поля Varchar (Binary) предназначен для хранения алфавитно-цифрового текста без дополнительного наполнения пробелами и без усечения пробелов, который не надо переводить в другие кодовые страницы.
Тип данных Variant

Описывается тип данных Variant, в котором может храниться любой тип данных, исключая данные фиксированной длины.

Связанные разделы

Общий справочник

Включает техническую информацию, связанную с Visual FoxPro, в том числе типы файлов, структуры файлов и другую справочную информацию об элементах Visual FoxPro.
Языковые категории

Содержит список функционального назначения и описания языка.
Использование Visual FoxPro
Обсуждаются возможности программирования в Visual FoxPro, которые предназначены для улучшения производительность разработчика, а именно: методы Access и Assign, поддержка большинства форматов графических файлов и сам язык, упрощающий программирование задач.
Разработка приложений в Visual FoxPro

Приводятся концептуальные сведения о том, как разрабатывать приложения в Visual FoxPro, инструкции по созданию баз данных и пользовательского интерфейса, а также другие сведения, необходимые для создания приложений в Visual FoxPro.

Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Visual FoxPro Data and Field Types

Visual FoxPro 9.0
Типы данных и полей Visual FoxPro
Смотрите также
CollapseAll image

Все данные в Visual FoxPro имеют конкретный тип данных, который определяет значения, разрешенные для данных и диапазон, а также размеры этих значений. После того, как вы идентифицируете и укажите тип данных, которые вы будете использовать, Visual FoxPro сможет эффективно хранить и управлять ими.

Когда вы создаете таблицу, вы можете указать тип данных, который будет храниться в каждом поле таблицы. Вы можете можете указать большее число типов для полей в таблице, по сравнению с теми, которые вы можете указать для переменных и массивов. Переменные и массивы могут хранить только поднабор доступных типов данных Visual FoxPro; Значение, которое вы храните в переменной или элементе массива определяют тип данных этой переменной или элемента массива. Для получения более подробной информации смотрите описание Как: выбрать типы данных.

Note Совет

Вы можете использовать функцию TYPE( ) для определения типа данных, хранящихся в переменной, элементе массива или поле.

Типы данных Visual FoxPro
Тип данных | Описание | Размер | Диапазон
Blob | Бинарные данные неопределенной длины. Значения Blob хранятся в мемо-файле (.fpt). На данных типа Blob не производится трансляция кодовой страницы. | 4 байта в таблице | Ограничено доступной памятью и/или ограничением на размер файла в 2GB.
Character | Алфавитно-цифровой текст Например, адрес потребителя | от 1 байт на символ до суммарно 254 байтов | Любые символы
Currency | Количество денежных единиц Например, цена товара | 8 байт | - $922337203685477.5807 до $922337203685477.5807
Date | Хронологическая дата, состоящая из месяца, дня и года Например, дата заказа | 8 байт | При использовании строгого формата даты: {^0001-01-01}, January 1st, 1 A.D to {^9999-12-31}, December 31st, 9999 A.D.
DateTime | Хронологическая дата, состоящая из месяца, дня, года, минут и секунд Например, дата и время прибытия | 8 байт | При использовании строгого формата даты: {^0001-01-01}, January 1st, 1 A.D to {^9999-12-31}, December 31st, 9999 A.D., плюс 00:00:00 a.m. to 11:59:59 p.m.
Logical | Булево значение True или False Например, был-ли запонен заказ | 1 байт | True (.T.) или False (.F.)
Numeric | Целочисленные значения или числа Например, количество заказанного товара | 8 байт в памяти; от 1 до 20 байт в таблице | - .9999999999E+19 to .9999999999E+20
Varbinary | Бинарные значения. Тип данных Varbinary похож на Varchar, в котором значения не включают в себя дополняющие байты нулей (0). Длина содержащегося значения хранится внутренне системой. Для типа данных Varbinary не производится трансляция кодовой страницы. | от 1 байта на шестнадцатиричное значение до максимум 255 байт в целом | Любое шестнадцатиричное значение
Variant | Variant данные могут быть любого типа данных Visual FoxPro, а также null-значением. После того, как значение сохранено как variant, то variant подразумевает тип данных, содержащихся в нем. Variant'ы распознаются в синтаксисе языка по префиксу e. | Смотрите другие типы данных. | Смотрите другие типы данных.

В дополнение к этому списку, Visual FoxPro предоставяет типы данных, которые применяются только к полям таблиц.

Типы полей Visual FoxPro
Тип поля | Описание | Размер | Диапазон
Character (Binary) | Любые символьные Character данных, которые не подлежат трансляции кодовой страницы Например, пароли пользователей, хранящиеся в таблице и используемые в различных странах или регионах. | 1 байт на символ - максимум 254 символов | Любые символы
Double | Число с плавающей точкой двойной точности Например, научные данные, требующие высокой степени точности. | 8 байт | +/-4.94065645841247E-324 до +/-8.9884656743115E307
Float | Тоже, что и Numeric | 8 байт в памяти; от 1 до 20 байт в таблице | - .9999999999E+19 до .9999999999E+20
General | Ссылка на объект OLE Например, на рабочий лист Microsoft Excel. | 4 байта в таблице | Ограничено доступной памятью.
Integer | Значение Numeric без десятичных знаков Например, номер позиции в заказе. | 4 байта | -2147483647 до 2147483647
Integer (Autoinc) | Тоже самое, что и Integer, но с автоматическим увеличением значения. "Только для чтения". | 4 байта | Значение, управляемое значениями Next и Step.
Memo | Алфавитно-цифровой текст неопределенной длины или ссылка на блок данных Например, замечания о телефонных разговорах в записях телефонных разговоров. | 4 байта в таблице | Ограничено доступной памятью.
Memo (Binary) | Тоже самое, что и Memo за исключанием того, что данные в поле не изменяются при изменении кодовых страниц Например, скрипт входа пользователя, используемый в различных странах и регионах. | 4 байта в таблице | Ограничено доступной памятью.
Varchar | Алфавитно-цифровой текст. Varchar похож на Character за исключением того, что значения в поле Varchar не включают заполнения дополнительными пробелами. Длина содержащегося значения хранится внутренне системой. | 1 байт на символ до 254 символов в целом | Любые символы
Varchar (Binary) | Varchar - тип данных, для которых нежелательная трансляция кодовой страницы. | 1 байт на символ до 254 символов в целом | Любые символы

Каждый тип данных имеет свои собственные характеристики, включая размер хранения:

Различия в хранении типов данных

FoxPro Character Date Integer

Для просмотра списка функций, которые вы можете использовать с каждым типом данных, смотрите описание Категории языка.

Expand image Смотрите также

Прочие ресурсы

Типы данных и полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


XML Data in Visual FoxPro

Visual FoxPro 9.0
XML Data in Visual FoxPro
Смотрите также

Вы можете работать с XML данными в Visual FoxPro путем импорта или экспорта XML документов, используя функции Visual FoxPro или объекты XMLAdapters. В приведенных ниже секциях вы познакомитесь с действительными (valid) или "хорошо сформированными" ("well-formed") XML документами и XML схемами, что поможет объяснить требования для работы с XML данными в Visual FoxPro:

  • Well-Formed XML документы

  • Поддержка XML схем

Well-Formed XML Docments

XML документами являются действительными, когда они "хорошо сформированы". Visual FoxPro производит XML документы, которые действительно хорошо сформированы. Хорошо сформированный документ должен отвечать базовым правилам XML:

  • Каждый XML документ должен содержать уникальный корневой элемент, который представляет собой элемент, от которого осуществляется навигация по полному документу.

  • Все открывающие и закрывающие тэги должны соответствовать друг другу. XML тэги являются регистро-чувствительными.

  • Для каждого открытого тэга, должен существовать соответствующий закрывающий тэг. Специальные короткие тэги могут отсечать пустые элементы. (Прим. переводчика. Это не совсем верно, так как существуют элементы, которые не могут в принципе иметь закрывающего тэга - например тэг <img>. Для того, чтобы ввести такой элемент в документ XML и обеспечить при этом соответствие правилам хорошо сформированного документа применяется специальная нотация тэга такого элемента, например, использование дополнительного пробела и слэжа, перед закрывающей угловой скобкой тэга)

  • Элементы не должны перекрываться. Другими словами, открывающий и закрывающий тэги должны должным образом вложены внутрь других элементов.

  • Определенные зарезервированные символы, являющиеся частью XML syntax и не интерпретированные так, как они должны быть интерпретерированыa не должны быть использованы в областях данных элемента в прямом виде. В приведенной ниже таблице показаны символьные последовательности или сущности, используемые для замещения этих зарезервированных символов.

    Символ Тип данных Кодировка сущности

    & (ampersand) < (левая угловая скобка) > (првая угловая скобка) " (значок цитирования) ' (апостроф)

    String String String String String

    Замещается &amp; Замещается &lt; Замещается &gt; Замещается &quot; Замещается &apos;

    Для других типов данных правила кодировки сущности приведены ниже в таблице.

    Тип данных Символ и кодировка сущности

    Date

    Должна отвечать стандарту ISO 8601

    Numbers

    Пунктуация должна использовать правила пунктуации U.S. English. Например, вы должны использовать точку в качестве десятичного разделителя. Числа могут включать в себя степени.

    Boolean

    False = 0, True = 1. (SQL XML возвращает 0 и 1)

    BLOB

    Используется кодировка MIME Base64

В приведенном ниже примере показан хорошо сформированный XML:

CopyCode image Copy Code
<?xml version="1.0"?>
<Data>
<ORDER>
 <CUSTOMER>Mary Baker</CUSTOMER>
  <ITEM>Coho Winery&apos;s Chablis</ITEM>
 <PRICE>$10.00</PRICE>
 <QUANTITY>1 Bottle</QUANTITY>
 </ORDER>
</Data>
Note Совет

Вы можете использовать пробелы в документе для улучшения читаемости.

В приведенном примере показаны определенные части XML документа:

  • <?xml version="1.0"?>

    Декларирует XML документ и предоставляет номер версии стандарта. Эта декларация является вспомогательной, но рекомендована для использования в любом XML документе.

  • <ORDER>

    Определяет корневой элемент, который заключает в себе полный документ.

  • <CUSTOMER> ... </CUSTOMER>

    Определяет набор открывающего и закрывающего тэгов, который описывает элемент данных, в данном случае, имя потребителя.

    Note Замечание

    Каждый набор тэгов имеет открывающий и закрываюзий тэги, которые являются регистро-чувствительными и правильно вложенными. При импорте данных приложением, сущности &apos трансформируются в апостроф ('). Апостроф имеет специальное назначение в XML документах и может быть неверно интерпретирован, если используется непосредственно в тексте. Сконвертируемые данные будут отображаться как Coho Winery's Chablis.

Поддержка XML схем

XML схема может помочь в определении правил и структуры XML документов. Visual FoxPro может интерпретировать XML файлы как со схемой, так и без нее. Однако, Visual FoxPro поддерживает XML Schema Definition (XSD), которые являются базовой инфраструктурой для описания типа и структуры документов XML. XML schema definition обслуживает специальные цели:

  • Описывает структуру данных в общем формате, который потребителя, другие Web браузеры или целый ряд программного обеспечения с XML-поддержкой может быть распознан и разобран.

  • Определяет правила данных XML документа, включая имена элементов и типы данных, какие элементы и в в каких комбинациях могут показываться, а также доступные для каждого элемента аттрибуты.

  • Предоставляет модель для документа XML, содержащего данные, путем определения оформления тэгов и текста внутри всех документов, ссылающихся на схему.

При использовании XML схемы, вы можете быть уверены, что любой XML документ, используемый для импорта или экспорта данных содержит специфические данные и удовлетворяет определенной схемой структуре. Когда вы указываете схемы при экспорте XML из Visual FoxPro, то экспортируемый документа подразумевается как действительный (valid) XML. Это означает, что в дополнение к тому, что документ является хорошо сформированным, он также отвечает определенной схеме. Вы можете, кроме того, предоставить схему для других производителей и приложений, так чтобы они могли структурировать XML данные, которые будут отвечать предоставленной вами схеме.

В частности, Visual FoxPro поддерживает формат W3C XSD schema. Формат XSD schema основан на рекомандации консорциума W3C Recommendation для спецификации XSD Schema. Для получения подробной информации обратитесь к источнику по адресу http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/ и связанным с ним документам.

Смотри также

Справочное руководство

Функции XML

Концепции

Преобразования между XML и данными Visual FoxPro
Функциональность XML обеспечиваемая использованием XMLAdapter'ов

Прочие ресурсы

Данные и типы полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Visual FoxPro and XML Schema Data Type Mapping

Visual FoxPro 9.0
Visual FoxPro и разметка типов данных в XML Schema
Смотрите также
CollapseAll image

Приведенные ниже таблицы описывают следующие разметки типов, используемые по умолчанию, между типами данных Visual FoxPro и XML schema:

  • XML Schema Primitive Data Types в типы данных Visual FoxPro

  • XML Schema Derived Types в типы данных Visual FoxPro

  • Типы данных Visual FoxPro в типы данных XML Schema Definition (XSD)

  • Типы данных XML Schema Definition (XSD) в типы данных Visual FoxPro

  • Типы данных XML Data Reduced (XDR) в типы данных Visual FoxPro

XML Schema Primitive Data Types to Visual FoxPro Data Types
XML тип данных Фасеты Описание Visual FoxPro тип данных

anyURI

length, pattern, maxLength, minLength, enumeration, whiteSpace

Представляет унифицированный идентфикатор ресурса Uniform Resource Identifier (URI) как это определяется рекомендацией RFC 2396. Значение anyURI может быть абсолютным или относительным и может иметь вспомогательные фрагменты идентификатора.

Memo. Visual FoxPro применяет гиперссылку на URI в поле Memo.

base64Binary

length, pattern, maxLength, minLength, enumeration, whiteSpace

Представляет произвольные base64-encoded бинарные данные. A base64Binary представляет собой набор последовательности бинарных октетов произвольной длины.

Memo (Binary), Varbinary или Blob

boolean

pattern, whiteSpace

Представляет значения Boolean, которые могут быть либо true, либо false.

Logical

date

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет календарную дату. Шаблоном для date является CCYY-MM-DD с необязательным индикатором временной зоны, как это разрешено для dateTime.

Date

dateTime

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет специфическую инстанцию времени.

Шаблоном для dateTime является CCYY-MM-DDThh:mm:ss гдн CC представляет век, YY - год, MM - месяц и DD - день, который может быть сопровожден необзяательным ведущим символом (-) для отображения отрицательных значений. Если исмвол отрицательного значения опущен, то вместо него подразумевается символ положительного значения (+). T - представляет собой разделитель между календарной и временной частями date/time, а hh, mm и ss представляют час, минуту и, соответственно, секунду. Дополнительные цифры могут быть использованы для увеличения точности десятичных секунд, если это требуется. Например, поддерживается формат ss.ss... с любым количеством цифр после десятичной точки. Часть, указывающая на доли секунд является необязательной.

Это представление может дополнено символом "Z" для отображения Coordinated Universal Time (UTC) или для отображения временной зоны. Например, различие между локальным временем и Coordinated Universal Time, со следующим непосредственно за ним знаком + или - с последующим значением различия отUTC представляется как hh:mm (минуты требуются). Если в вырадение включена временная зона, как часы, так и минуты должны быть в нем представлены.

DateTime

decimal

enumeration, pattern, totalDigits, fractionDigits, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет произвольные десятичные числа.

Numeric, Currency, или Character

double

pattern, enumeration, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет числа двойной точности - double-precision 64-bit floating-point.

Double

duration

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет длительность по времени. Шаблоном для duration является PnYnMnDTnHnMnS, где nY представляет число лет, nM - число месяцев, nD - число дней, T разделитель date/time, nH -число часов, nM - число минут и nS - число секунд.

Например, для отображения длительности в 1 год, 2 месяца, 3 дня, 10 часов и 30 минут, вы должны записать: P1Y2M3DT10H30M. Вы можете, кроме того, отображать длительность в минус днях, например, 120 дней назад, как -P120D.

Character (C(30))

float

pattern, enumeration, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет числа обычной точности - single-precision 32-bit floating-point numbers.

Double

gDay

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет григорианский день, который повторяется, в частности день месяца, такой как пятый день месяца. gDay представляет собой пространство календарных дат. В частности, это набор длиной в один день, еземесячно повторяющиеся инстанции.

Шаблоном для gDay является --DD с необязательным индикатором временной зоны, как это разрешено для date.

Character (C(10))

gMonth

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет григорианский месяц, который повторяется каждый год. gMonth представляет пространство набора календарных месяцев. В частности, это набор длиной в один месяц, ежегодно повторяющиеся инстанции.

Шаблоном для gMonth является -MM- с необязательным индикатором временной зоны, как это разрешено для date.

Character (C(10))

gMonthDay

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет частную григорианскую дату которая повторяется, в частности день года, такой, как например, третье мая. gMonthDay представляет пространство календарных дат. В частности, это набор длиной в один день, ежегодно повторяющиеся инстанции.

Шаблоном для gMonthDay является --MM-DD с необязательным индикатором временной зоны, как это разрешено для date.

Character (C(10))

gYear

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет Григорианский год. Набор длиной в один месяц, неповторяющиеся инстанции.

Шаблоном для gYear является CCYY с необязательным индикатором временной зоны, как это разрешено для dateTime.

Character (C(15))

gYearMonth

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет определенный григорианский месяц в определенном григорианском году. Набор длиной в один месяц, неповторяющиеся инстанции.

Шаблоном для gYearMonth является CCYY-MM с необязательным индикатором временной зоны.

Character (C(15))

hexBinary

length, pattern, maxLength, minLength, enumeration, whiteSpace

Представляет произвольные hex-encoded бинарные данные. hexBinary является набором последовательностей бинарных октетов произвольной длины. Каждый бинарный октет кодируется, как символьный кортеж, состоящий из двух hexadecimal цифр ([0-9a-fA-F]) представляющих код октета.

Memo (Binary)

NOTATION

length, enumeration, pattern, maxLength, minLength, whiteSpace

Представляет тип аттрибута NOTATION. Набор квалифицированных имен QNames.

Memo

QName

length, enumeration, pattern, maxLength, minLength, whiteSpace

Представляет квалифированное имя. Квалифицированное имя составляется из префикса и локального имени, разделенных двоеточием. Оба - и префикс и локальное имя должны быть в шаблоне NCName. Префикс должен быть ассоциирован с пространством имен (namespace) ссылки Uniform Resource Identifier (URI), используемой в декларации пространства имен.

Memo

string

length, pattern, maxLength, minLength, enumeration, whiteSpace

Представляет символьные строки

Character когда maxLength указана и меньше чем 255 символов. В противном случае - Memo.

time

enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace

Представляет инстанцию времени, которая повторяется каждый день.

Шаблоном для time является hh:mm:ss.sss с необязательным индикатором временной зоны.

Character (C(20))
XML Schema Derived Types в типы данных Visual FoxPro
XML тип данных | Фасеты | Описание | Visual FoxPro тип данных
byte | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целочисленные с минимальным значением, равным -128 и максимальным, равным 127. Этот тип данных происходит из short. | Integer
ENTITIES | length, maxLength, minLength, enumeration, whiteSpace | Представляет тип аттрибута ENTITIES и содержит набор значений типа ENTITY. | Character, если maxLength указана и меньше 255. В противном случае - Memo.
ENTITY | length, enumeration, pattern, maxLength, minLength, whiteSpace | Представляет аттрибут ENTITY в рекомендации XML 1.0. Это является ссылкой на неразбираемую сущность с именем, которое соответствует указанному имени. ENTITY должен быть NCName и должен быть декларирован в схеме, как неразбираемое имя сущности.Этот тип данных происходит из NCName. | Character, если maxLength указана и меньше than 255. В противном случае - Memo.
ID | length, enumeration, pattern, maxLength, minLength, whiteSpace | Представляет собой тип аттрибута ID определенного в рекомендации XML 1.0. ID должен быть типа no-colon-name (NCName) и должен быть уникальным внутри всего XML документа. Этот тип данных происходит из NCName. | Character, если maxLengthуказана и меньше than 255. В противном случае - Memo.
IDREF | length, enumeration, pattern, maxLength, minLength, whiteSpace | Представляет ссылку на элемент, который имеет аттрибут ID, который в свою очередь соответствует определенному ID. IDREF должен быть типа NCName должен быть значением элемента или аттрибута типа ID внутри XML документа.Этот тип данных происходит из NCName. | Character, если maxLength указана и меньше 255. В противном случае - Memo.
IDREFS | length, maxLength, minLength, enumeration, whiteSpace | Представляет аттрибут типа IDREFS и содержит в себе набор значений типа IDREF. | Character, если maxLength указана и меньше 255. В противном случае - Memo.
int | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число в диапазоне от -2147483648 до 2147483647. Этот тип данных происходит из long. | Integer
integer | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет последовательность десятичных цифр с необязательным ведиущим символом знака (+ или -). Этот тип данных происходит из decimal. | Integer, если totalDigits меньше, чем 10. В противном случае, Character с учетом totalDigits.
language | length, pattern, maxLength, minLength, enumeration, whiteSpace | Представляет идентификатор естественнного языка (определенного рекомендацией RFC 1766). Этот тип данных происходит из token. | Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.
long | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет собой целое число в диапазоне от -9223372036854775808 до 9223372036854775807. Этот тип данных происходит из integer. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
Name | length, pattern, maxLength, minLength, enumeration, whiteSpace | Представляет имена в XML. Name собой token, который начинается с буквы, символа подчеркивания или колонки, продолженный с символами имени (буквы, цифры и прочие символы).Этот тип данных происходит из token. | Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.
NCName | length, pattern, maxLength, minLength, enumeration, whiteSpace | Представляет noncolonized имена. Этот тип данных представляет собой тот же тип, что и Name, за исключением того, что данные не могут начинаться с символа колонки.Этот тип данных происходит из Name. | Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.
negativeInteger | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число, которое меньше или равно нулю и состоит из символа знака (-) и последовательности десятичных цифр. Этот тип данных происходит из nonPositiveInteger. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
NMTOKEN | length, pattern, maxLength, minLength, enumeration, whiteSpace | Представляет тип аттрибута NMTOKEN type. MTOKEN предстадставляет собой набор символов, таких как буквы, цифры и другие символы в любой комбинации. В противоположность Name и NCName, NMTOKEN не имеет ограничения накладываемого на начальный символ.Этот тип данных происходит из token. | Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.
NMTOKENS | length, maxLength, minLength, enumeration, whiteSpace | Представляет тип аттрибута NMTOKENS и содержит набор значений типа NMTOKEN. | Memo
nonNegativeInteger | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число, которое больше или равно нулю. Этот тип данных происходит из integer. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
nonPositiveInteger | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число, которое меньше или равно нулю и состоит из знака отрицательного числа (-) и последовательности десятичных цифр.Этот тип данных происходит из integer. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
normalizedString | length, pattern, maxLength, minLength, enumeration, whiteSpace | Представляет строки нормализованные пробелами. Этот тип данных происходит из string. | Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.
positiveInteger | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число, которое больше чем ноль. Этот тип данных происходит из nonNegativeInteger. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
token | enumeration, pattern, length, minLength, maxLength, whiteSpace | Представляет tokenized строки. Этот тип данных происходит из normalizedString. | Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.
short | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число в диапазоне от -32768 до 32767. Этот тип данных происходит из int. | Integer
unsignedByte | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число в диапазоне от нуля and до 255. Этот тип данных происходит из unsignedShort. | Integer
unsignedInt | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число в диапазоне от нуля and до 4294967295. Этот тип данных происходит из unsignedLong. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
unsignedLong | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число в диапазоне от нуля до 18446744073709551615. Этот тип данных происходит из nonNegativeInteger. | Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits.
unsignedShort | enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace | Представляет целое число в диапазоне от нуля до 65535. Этот тип данных происходит из unsignedInt. | Integer
Visual FoxPro Data Types to XML Schema Definition (XSD) Data Types
Visual FoxPro data type | XSD data type and examples | Restrictions and sample restriction | Comments
Blob | xs:base64Binary | <xs:element name="ts12" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:base64Binary"/> </xs:simpleType> </xs:element> | Содержание транслировано в кодировку base64. Размечается в SQL Binary.
Character | xs:string Confirm this is electric | <xs:element name="cc04" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="128"/> </xs:restriction> </xs:simpleType> </xs:element> |
Character (Binary) | xs:string Confirm this is electric | <xs:element name="cc04" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="128"/> </xs:restriction> </xs:simpleType> </xs:element> |
Currency | xs:decimal -1.23, 0, 123, 4, 1000.00 | <xs:element name="yc07" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="19"/> <xs:fractionDigits value="4"/> </xs:restriction> </xs:simpleType> </xs:element> | Валюта всегда равна 19,4.
Date | xs:date 1999-05-31 | нет |
DateTime | xs:dateTime 1999-05-31T13:20:00.000-05:00 | нет |
Double | xs:double -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN | нет | Экспортируемое значение должно включать максимальную шкалу, разрешенную для double и не ограничивать в отображении шкалы (внутренее значение double).
Float | xs:decimal | <xs:element name="fc06" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="14"/> <xs:fractionDigits value="4"/> </xs:restriction> </xs:simpleType> </xs:element> | totalDigits представляет число цифр, без учета десятичной точки.
General | Не поддерживается |  |
Integer | xs:int -1, 126789675 |  |
Logical | xs:boolean true, false, 1, 0 |  | Значения могут быть либо true и false или 1 и 0.
Memo | xs:string | <xs:element name="mc03" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647"/> </xs:restriction> </xs:simpleType> </xs:element> |
Memo (Binary) | xs:base64Binary | <xs:element name="ts12" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:base64Binary"/> </xs:simpleType> </xs:element> | Содержание транслировано в кодировку base64. Размечается к SQL Binary.
Numeric | xs:decimal -1.23, 0, 123, 1000.00 | <xs:element name="nc00" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="10"/> <xs:fractionDigits value="4"/> </xs:restriction> </xs:simpleType> </xs:element > | totalDigits представляет число цифр, без учета десятичной точки.
Varbinary | xs:base64Binary | <xs:element name="cc04" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:base64Binary"> <xs:maxLength value="128"/> </xs:restriction> </xs:simpleType> </xs:element> | Содержание транслировано в кодировку base64.
Varchar | xs:string Confirm this is electric | <xs:element name="cc04" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="128"/> </xs:restriction> </xs:simpleType> </xs:element> |
Varchar (Binary) | xs:string Confirm this is electric | <xs:element name="cc04" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="128"/> </xs:restriction> </xs:simpleType> </xs:element> |

Типы данных XML Schema Definition (XSD) в типы данных Visual FoxPro

Типы данны XSD | Типы данных Visual FoxPro
xsd:binaryBase64 | Memo (Binary)
xsd:boolean | Logical
xsd:date | Date
xsd:dateTime | DateTime
xsd:decimal | Numeric
xsd:double | Double
xsd:int | Integer
xsd:string | Character
xsd:string (более чем 254 символов в длину) | Memo
Типы данных XML Data Reduced (XDR) Schema в типы данных Visual FoxPro
XDR тип данных Описание Visual FoxPro тип данных XSD тип данных

bin.base64

Определяет MIME-style Base64-encoded бинарные данные.

Memo (Binary)

base64Binary

bin.hex

Определяет hexadecimal-encoded бинарные данные.

Memo (Binary)

hexBinary

boolean

Определяет значение Boolean, равное либо 0 либо 1.

Пример: 0 это false, а 1 это true.

Logical

boolean

char

Определяет число, соответствующее Unicode представлению одиночного символа.

нет

не поддерживается

date

Определяет дату в поднаборе формата ISO 8601 без временной составляющей.

Пример: "1994-11-05"

Date

date

dateTime

Определяет дату в поднаборе формата ISO 8601 с необязательной временной составляющей и временной зоной. Доли секунд могут быть уточнены до наносекунд.

Пример: "1988-04-07T18:39:09"

DateTime

dateTime

dateTime.tz

Определяет дату в поднаборе формата ISO 8601 с необязательной временной составляющей и временной зоной. Доли секунд могут быть уточнены до наносекунд.

Пример: "1988-04-07T18:39:09-08:00"

нет

нет

entity

Определяет ссылку на неразбираемую сущность, требующую соответствия декларации <!ENTITY> для каждой инстанции сущности.

нет

нет

entities

Определяет список сущносте, разделенный пробелами.

нет

нет

enumeration

Аналогичен nmtoken но со списком разрешенных значений. Поддерживается только в аттрибутах.

Пример: "Red Blue Green"

нет

нет

fixed.14.4

Определяет число с не более, чем четырнадцатью фирами слева от десятичной точки и не более чем с четырьмя числами справа от десятичной точки.

Пример: 9999.0044

Currency

decimal 19,4

float

Определяет число формата real floating point

Примеры: 111, 3.14, -123.456E+10

Double

double

i1

Определяет 1-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -128 до 127.

Примеры: 1, 127, -128

Integer

byte

i2

Определяет 2-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -32768 до 32767.

Примеры: 1, 703, -32768

Integer

short

i4

Определяет 4-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -2147483648 до 2147483647

Примеры: 1, 703, -32768, 148343, -1000000000

Integer

int

i8

Определяет 8-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -9223372036854775808 до 9223372036854775807.

Примеры: 1, 703, -32768, 1483433434334, -1000000000000000

Character или Integer

long

id

Определяет значение, которое идентифицирует аттрибут, как аттрибут id типа. Значения id должны быть уникальными внутри документа.

В документе, аттрибут idref(s) ссылается на аттрибут id типа, формируя связь аналогичную связи между первичным и внешним ключами в реляционных базах данных.

Пример: Cust1

нет

нет

idref

Определяет значение, соответствующее id типу, разрешая внутридокументные ссылки.

Пример: Cust1

нет

нет

idrefs

Аналогично idref, за исключением того, что содержит множество значений id типа, разделенные пробелами.

Пример: Cust1 Cust2 Cust3

нет

нет

int

Определяет целое число со знаком.

Примеры 11123, -123

Integer

int

nmtoken

Содержит значения, которые удовлетворяют правилу name token.

Пример: Cust1

нет

нет

nmtokens

Аналогично nmtoken, за исключением того, что содердит список значений nmtoken, разделенный пробелами.

Пример: Cust1 Cust2 Cust3

нет

нет

notation

A NOTATION type

нет

нет

number

Число без ограничения в цифрах

Примеры: 111, 3.14, -123.456E+10

Note Совет

Для ADO RecordSets, существует особый случай, когда число может иметь тип Currency. Когда dt:type='number' присутствует в ADO XDR Schema, Visual FoxPro проверяет наличие rs:dbtype='currency'.

Character, Currency, или Numeric - как подойдет

decimal

r4

Тоже, что и float, но только в 4-байтной кодировке. Значения могут лежать в диапазоне от 1.17549435E-38F до 3.40282347E+38F.

Double

float

r8

Определяет число с плавающей запятой. Этот тип данных поддерживает только 15 цифр точности и значения в диапазоне от 2.2250738585072014E-308 до 1.7976931348623157E+308.

Double

double

string

Определяет строку.

Пример: "This is a string"

Character, если maxLength указано и меньше, чем 255. В противном случае, Memo.

string

time

Определяет время в поднаборе формата ISO 8601 без даты и временной зоны.

Пример: "08:15:27"

нет

нет

time.tz

Определяет время в поднаборе формата ISO 8601 без даты, но с необязательной временной зоной.

Пример: "08:15:27-05:00"

нет

нет

ui1

Определяет 1-байтное целое число без знака в диапазоне от 0 до 255.

Примеры: 1, 255

Integer

unsignedByte

ui2

Определяет 2-байтное целое число без знака в диапазоне от 0 до 65535.

Примеры: 1, 255, 65535

Integer

unsignedShort

ui4

Определяет 4-байтное целое число без знака в диапазоне от 0 до 4294967296.

Примеры: 1, 703, 3000000000

Character или Integer

unsignedInt

ui8

Определяет 8-байтное целое число без знака в диапазоне от 0 до 18446744073709551615.

Пример: 1483433434334

Character или Integer

unsignedLong

uri

Идентифицирует Uniform Resource Identifier (URI).

Пример: "urn:schemas-microsoft-com:Office9"

Memo

anyURI

uuid

Содержит hexadecimal цифры, представляющие октеты с необязательно включенными символами переноса, которые просто игнорируются.

Пример: 333C7BC4-460F-11D0-BC04-0080C7055A83

Character (C(40))

string

Expand image Смотрите также

Справочное руководство

Данные Visual FoxPro и типы полей
Класс XMLAdapter
Класс XMLTable
Класс XMLField

Прочие ресурсы

Данные и типы полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Blob Data Type

Visual FoxPro 9.0
Тип Данных Blob
См. также
CollapseAll image

Для загрузки двоичных данных любого типа, таких как текст ASCII, или исполняемые файлы (.exe), или обычный поток байтов, которые имеют неопределенную длину, используется тип данных Blob. Тип данных Blob особенно полезен при хранении Изображений в системе SQL Server.

Вы можете задать значение поля типа Blob при помощи обычных символов. Обычно двоичные данные имеют приставку из символов "0h", далее следуют символьные строки в 16-ричном представлении, при этом кавычки не используютсят (как у символьных строк). Следующие примеры иллюстрируют некоторые двоичные данные:

  • 0h202020

  • 0h6ABCDEF

  • 0h - пустая двоичная строка

Двоичные строки ограничиваются кодами из 255 символов.

Для хранения двоичных данных фиксированной длины, используется тип Данных Varbinary. См. дополнительно раздел Тип Данных Varbinary .

Expand image Функциональная поддержка типа данных Blob

Тип данных Blob поддерживается для полей таблиц в соответствующих контейнерах Баз данных (.dbc), а также для свободных таблиц, курсоров и Представлений. Например, вы можете выбрать поле указанного типа (задать его) при работе в Дизайнере Таблиц. Таблица может содержать несколько полей с типом данных Blob. Для данных полей может быть задано значение "по-умолчанию", как NULL. Тип данных Blob поддерживается для контрольных процедур Поля (field validation).

Вы можете просмотреть содержание поля типа Blob, для этого может использоваться Контрол EditBox, или контрол TextBox, в соответствующем контейнере Grid, или при обычном использовании команды MODIFY MEMO, указав соответствующее имя поля Blob; однако содержание этого поля находится в режиме "только-чтение". В соответствующем контроле editbox данные типа Blob отображаются в соответствующей 16-ричной кодировке, без лидирующих символов "0h". В объекте Grid, данные типа Blob отображаются как строка "blob", если значения отсутствуют, или в виде строки "Blob", если данные в этом поле имеются. При выполнении "double-click" на данном поле, открывается дополнительное окно редактирования для отображения соответствующих данных в режиме "только-чтение".

Индексные ключи для типа данных Blob - не поддерживаются. Кодовые Страницы для данного типа Blob также не выполняют никаких преобразований.

В следующей таблице представлен список конструкция Языка, обеспечивающих поддержку данных типа Blob.

AFIELDS( ), Функция | ALTER TABLE - SQL, Команда | ALINES( ), Функция
BITAND( ), Функция | BITCLEAR( ), Функция | BITNOT( ), Функция
BITOR( ), Функция | BITSET( ), Функция | BITTEST( ), Функция
BITXOR( ), Функция | COPY STRUCTURE EXTENDED, Команда | COPY TO, Команда
CREATE CURSOR - SQL, Команда | CREATE FROM, Команда | CREATE TABLE - SQL, Команда
CursorSchema , Свойство | CURSORGETPROP( ), Функция | CURSORSETPROP( ), Функция
CURSORTOXML( ), Функция | DataType , Свойство | EMPTY( ), Функция
ISBLANK( ), Функция | MLINE( ), Функция | MODIFY MEMO, Команда
SET ANSI, Команда | SET EXACT, Команда | TRANSFORM( ), Функция
XMLTOCURSOR( ), Функция |  |
Note Обратите Внимание

Значение типов данных Blob не совместимы с двоичными данными, которые используются в функциях BINTOC( ) и CTOBIN( ). При использовании строковых функций, например SUBSTR( ), могут обрабатывать также двоичные строки рассматриваемого типа.

См. дополнительную информацию о спецификациях типа данных Blob в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

Закладка Fields, Дизайнер Таблиц
DISPLAY STRUCTURE, Команда
Строки и сравнения величин в Visual FoxPro
TYPE( ), Функция
VARTYPE( ), Функция

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Character Data Type

Visual FoxPro 9.0
Тип Данных Character
См. также
CollapseAll image

Для хранения символьно-цифровых данных, символолв пунктуации, спуциальных символов и др. используется тип данных Character. Для блокировки символьных преобразований с помощью Кодовых Страниц используется тип данных Character (Binary).

Note Совет

Для создания соответствующего поля типа Character (Binary), используется опция NOCPTRANS в соответствующих командах SQL CREATE TABLE или CREATE CURSOR, или при выборе необходимого поля при работе с Дизайнером Таблиц.

Поля типа Character или Character (Binary) могут содержать различную символьную информацию: символы , цифры, знаки и прочее, но не могут быть использованы в арифметических и математических вычислениях; они могут хранить имена, названия, адреса, телефонные номера в виде текстовой информации. Например, телефонный номер или почтовый индекс лучше сохранять в символьных полях; числовые выражения или вычисления для таких полей не имеют смысла.

Если загружаемое значение в поле типа Character имеет меньшую длину, чем размер поля, Visual FoxPro добавляет дополнительные пробелы до максимальной длины указанного поля. Свободное пространство не используется. Для хранения текстовых данных переменной длины, без добавления хвостовых пробелов используется тип данных Varchar. Поля типа Varchar или Varchar (Binary) имеют приоритет над полями типа Character при использоывании их в конструкциях UNION или в операторах соединения данных (concatenation operations). См. дополнительную информацию в следующих разделах Тип Поля Varchar и Соглашения для операторов типа SQL SELECT.

См. дополнительную информацию о спецификациях типов данных Character или Character (Binary) в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

Символьные Операторы
CREATE TABLE - SQL, Команда
Создание Символьных Выражений

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Currency Data Type

Visual FoxPro 9.0
Тип Данных Currency
См. также
CollapseAll image

Для хранения денежных значений или результатов точных финансовых вычислений, вместо обычного типа Numeric применяется тип Данных Currency .

Note Совет

Вы можете конвертировать значения типа Numeric в значения типа Currency, а также выполнять обратные преобразования при помощи функций NTOM( ) и MTON( ). См. дополнительную информацию в разделах Тип Данных Numeric, NTOM( ), Функция, и MTON( ), Функция.

Для идентификации типа данных Currency используется значек денежной единицы ($) - dollar:

CopyCode image Копировать Код
money = $50.33
moremoney = $675.43886

Если вы определяете (задаете) больше чем 4 (четыре) знака для десятичной части числового выражения, Visual FoxPro округляет заданное выражение до четырех знаков. Например, в указанном выше примере, переменная moremoney принимает значение = 675.4389.

Поля типа Currency подчиняются системным установкам, устанавливаемым с помощью команды SET CURRENCY, в этом случае эти поля отображаются в системном окне Browse, или в других командах отображения данных с заданным количеством десятичных знаков.

О Спецификациях для типа Данных Currency см. в разделе Тпы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

SET CURRENCY, Команда

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Date Data Type (Visual FoxPro)

Visual FoxPro 9.0
Тип Данных Date (Visual FoxPro)
См. также
CollapseAll image

Для хранения данных типа Дата (без значения Времени) используется тип Данных Date.

Начиная с версии Visual FoxPro 5.0 и далее поддерживается строгий формат данных типа Date / DateTime, который обеспечивает разрешение возможных проблем типа "year 2000". Рекомендуется строго придерживаться заданным правилам при обработке любых данных типа Date / DateTime, констант или выражений. См. дополнительно раздел StrictDateEntry, Свойство.

Для обоих типов данных, Date или DateTime, предполагается выполнение следующих Правил:

  • {00:00:00AM} = (эквивалентно) {12:00:00AM}, Полночь, начало Суток.

  • {00:00:00PM} = (эквивалентно) {12:00:00PM}, ПолДень.

  • {00:00:00} - {11:59:59} = (эквивалентно) {12:00:00AM} - {11:59:59AM}.

  • {12:00:00} - {23:59:59} = (эквивалентно) {12:00:00PM} - {11:59:59PM}.

О Спецификациях для типа Данных Date см. в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

CREATE TABLE - SQL, Команда
Создание выражений типа Date
Операторы для данных типа Date / Time

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


DateTime Data Type

Visual FoxPro 9.0
Тип Данных DateTime
См. также
CollapseAll image

Для хранения типов данных Дата-Время или только Дата используется тип данных DateTime. Физически Тип данных DateTime представляет из себя восьми байтовое двойное слово (DW) - два четырех байтовых целых числа.

Начиная с версии Visual FoxPro 5.0 данные типа Date или DateTime поддерживаются в соответствие с требованиями year-2000. Рекомендуется следовать строгим правилам для переменных и констант типа Date или DateTime при обработке соответствующих выражений. См. дополнительную информацию в разделе StrictDateEntry, Свойство.

Для обоих типов данных Date или DateTime предполагаются следующие правила:

  • {00:00:00AM} = (эквивалентно) {12:00:00AM}, Полночь, начало суток

  • {00:00:00PM} = (эквивалентно) {12:00:00PM}, ПолДень.

  • {00:00:00} - {11:59:59} = (эквивалентно) {12:00:00AM} - {11:59:59AM}

  • {12:00:00} - {23:59:59} = (эквивалентно) {12:00:00PM} - {11:59:59PM}

О Спецификациях типа данных DateTime см. в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

CREATE TABLE - SQL, Команда
Создание выражений типа Date
Операторы для обработки Date / Time

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Double Field Type

Visual FoxPro 9.0
Тип Данных Double
См. также Пример
CollapseAll image

В случаях, когда требуется высокая точность для сохранения данных, например, для хранения в ваших таблицах результатов точных вычислений, или хранения данных, выраженных в формате "с плавающей точкой", вместо стандартного типа данных Numeric можно использовать тип данных Double. В этом случае, количество задаваемых десятичных знаков определяет количество отображаемых десятичных знаков.

Note Обратите Внимание

Когда данные типа Double отображаются в таблице, то в десятичной части этих чисел отображается заданное количество десятичных знаков. Однако Система Visual FoxPro сохраняет в Поле таблицы актуальное значение хранимой величины.

См. дополнительную информацию о спицификациях типа данных Double в разделе Типы Данных и Полей в Visual FoxPro.

Expand image Пример

В следующем примере, создается Курсор с полем типа Double, определяется 2 знака для десятичной части этого поля. При отображении значения данного поля в десятичной части отображается только 2 знака, хотя поле может содержать большее значение десятичных знаков.

CopyCode image Копировать Код
&& Закрыть открытые базы данных и очистить память.
CLOSE DATABASES ALL
CLEAR

&& Создать Курсор с Полем, типа данных Double.
CREATE CURSOR myCursor (myField B(2))

&& Вставить запись с полем задвнного значения.
INSERT INTO myCursor VALUES (1234.561234)

&& Вычислить и отобразить значение поля myField.
? EVALUATE("myCursor.myField") && Displays 1234.56.

&& Вычислить и сравнить значения с указанными константами.
? EVALUATE("myCursor.myField") = 1234.56 && результат .F.
? EVALUATE("myCursor.myField") = 1234.561234 && результат .T.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

Числовые Операторы
CREATE CURSOR - SQL, Команда
INSERT - SQL, Команда
EVALUATE( ), Функция

Концепции

Создание Числовых выражений

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Float Field Type

Visual FoxPro 9.0
Тип Данных Float
См. также
CollapseAll image

Включено для совместимости с другими системами, тип данных Float функционально эквивалентен типу данных Numeric.

О Спецификациях типа данных Float см. в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать тип Данных

Описание

CREATE TABLE - SQL, Команда
Числовые Операторы

Концепции

Создание Числовых Выражений

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


General Field Type

Visual FoxPro 9.0
Тип Поля General
См. также
CollapseAll image

Для хранения содержания объектов OLE используется тип данных (полей) General.

Поля типа General содержат 10-байтные числовые ссылки (адреса) на дествительное место хранения указанного поля; это может быть некоторая таблицы системы Excel, или документ системы Word, или некоторая Картинка, Изображение, созданное в другом приложении. Фактический тип и размер рассматриваемых Данных зависит от конкретного Сервера Автоматизации (Server OLE Automation), где был создан и кем обслуживается данный объект OLE, который был подсоединен с помощью рассматриваемого типа данных General.

В случае, когда вы выполняете только соединение с объектом OLE, в вашей таблице хранится только ссылка на указанный объект; если вы выполняете "внедрение" объекта OLE, то в вашей таблице, помимо ссылок на данный объект и обрабатывающее его Приложение, хранится копия самого объекта OLE. Размер поля типа General ограничивается только свободным дисковым пространством. Дополнительная информация об использовании в ваших приложениях объектов OLE находится в разделе Общая информация и Добавление объектов OLE.

О Спецификациях типа данных General см. в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать тип Данных

Описание

APPEND GENERAL, Команда
CREATE TABLE - SQL, Команда
Системное окно General Field

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Integer Field Type

Visual FoxPro 9.0
Integer Field Type
Смотрите также
CollapseAll image

Для того чтобы хранить целые числовые величины, когда особенно важны табличные ограничения, используйте Integer тип. Для того чтобы генерировать величины, такие как ID, используйте Integer(AutoInc), которое автоматически увеличивает величину.

В таблицах, Integer тип сохраняется как 4-байтовая двоичная величина. В результате, требует меньше памяти, чем другие Числовые типы данных. Хранится как двоичная величина, не требует преобразование в ASCII.

Про спецификации Integer и Integer (Autoinc) типов, смотрите Visual FoxPro Data and Field Types.

Expand image Смотрите также

Задачи

Выбор Типа Данных
Установка Величины Автоприращения

Ссылки

CREATE TABLE - SQL Команда
Числовые операции
ALTER TABLE - SQL Команда
CREATE TABLE - SQL команда
CREATE CURSOR - SQL команда

Понятия

Создание Числовых Выражений
Автоприращение значений в таблицах

Другие ресурсы

Типы данных и значений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


Logical Data Type

Visual FoxPro 9.0
Тип Данных Logical
См. также
CollapseAll image

Для хранения величин, имеющих только два значения используется тип данных Logical.

Логический тип данных может содержать значение = True (.T.) или = False (.F.).

См. дополнительную информацию о спецификациях данных типа Logical в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать тип Данных

Описание

CREATE TABLE - SQL, Команда
Логические операторы

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Memo Field Type

Visual FoxPro 9.0
Тип Поля Memo
См. также
CollapseAll image

Для хранения блоков данных различного типа и назначения, таких как: null-значения, двоичный код, готовый драйвер принтера (двоичный), обычные символьные данные неопределенной длины используется тип Полей Memo. Для блокировки преобразований, выполняемых соответствующими Кодовыми Страницами рассматриваемых блоков Данных может использоваться тип полей Memo (Binary).

Note Совет

Для создания полей типа Memo (Binary) используется опция NOCPTRANS, указываемая в соответствующих командах SQL CREATE TABLE или CREATE CURSOR, а также при определении характеристик Поля в Дизайнере Таблиц.

Поля типа Memo и Memo (Binary) содержат 10-байтные ссылки на блоки памяти (файла на диске), содержащие действительные данные, сохранненные в этих полях. Однако, фактический размер полей указанных типов зависит от фактического размера загружаемых данных. Фактические данные для полей типа Memo / Memo (Binary) хранятся в дополнительном файле с расширением (.fpt), который имеет аналогичное имя, как и файл рассматриваемой таблицы Данных. Размеры Полей типа Memo / Memo (Binary) ограничиваются только свободным дисковым промтгранством.

Вы можете размещать значения Полей типа Memo в обычных переменных памяти. Данные указанного типа обрабатываются всеми доступными символьными функциями (или функциями обработки строк символов).

О Спецификациях для полей типа Memo или Memo (Binary) см. в разделе Типы Данных и Полей в Visual FoxPro.

Expand image См. также

Задачи

Как: Выбрать Тип Данных

Описание

CREATE TABLE - SQL, Команда
Закладка Fields, Дизайнер Таблиц
MODIFY MEMO, Команда

Другие ссылки

Типы Данных и Полей

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Numeric Data Type

Visual FoxPro 9.0
Тип данных Numeric
Смотрите также
CollapseAll image

Для указания величин и размеров используйте тип данных Numeric. Численные значения содержать цифры от 0 до 9 и, необязательно, знак и десятичную точку. Visual FoxPro поддерживает шестнадцатиричные значения для данных типа numeric. Например, десятичное значение 255 может быть представлено как 0xFF.

Note Совет

Для точных финансовых расчетов вместо рассматриваемого типа данных используйте тип данных Currency. Вы можете преобразовывать значения из Numeric в Currency и обратно, используя функции NTOM( ) и MTON(). Для получения более подробной информации смотрите описания Тип данных Currency, Функция NTOM() и Функция MTON().

В полях с типом данных Numeric, длина десятичной порции определяется во время разработки, когда вы создаете поле. Длина десятичной части является частью общей длины. Например, если вы указали длину равную 6 для поля типа numeric а также установили количество десятичный мест равное 4, то поле может хранить значения до 9.9999.

Подробные спецификации о типе данных Numeric смотрите в описании Типы данных и полей Visual FoxPro.

Expand image Точность чисел

При хранении чисел с плавающей запятой в полях Numeric, точность числа в Visual FoxPro ограничена примерно 15 цифрами. Поэтому, точность более чем в 15 цифр может быть потеряна при преобразовании из численных в бинарные числа, хранение чисел с бесконечно повторяющимися десятичными значениями в бинарных, производит множество повторяемых операций, а хранение численных значений в полях Character и в переменных памяти осуществляется в бинарном формате.

Такое ограничение основано на способе, каким Pentium-процессоры подсчитывают и хранят числа с плавающей запятой и следует спецификациям Institute of Electrical and Electronics Engineers (IEEE) для управления числами с плавающей запятой в бинарном формате. Этот стандарт позволяет хранит числа с плавающей запятой в разумном количестве пространства и производит операции расчетов более быстро.

Например, дробь 1/10 может быть представлна, как десятичное значение 0.1. Однако, при хранении 1/10 в бинарном формате, десятичное значение не является тем же самым, что и дробь. Вместо этого, дробь представляет собой повторяющиеся бинарные 0001100110011100110011 и тому подобное. Такой тип числа не может быть представлен в памяти, которая конечна и ограничена; поэтому, десятичные числа округляются и хранятся в бинарном формате.

Для значений, требующих высокой точности используйте тип данных Double.

Для получения более подробной информации о том, как хранятся числа с плавающей запятой и как Pentium-процессоры обрабатывают расчеты с их использованием, посмотрите статью Microsoft Knowledge Base Article - Q78113, "XL: Floating-Point Arithmetic May Give Inaccurate Results" по адресу http://support.microsoft.com/default.aspx?scid=kb;en-us;Q78113.

Приведенный ниже пример иллюстрирует ограничение точности чисел для чисел с плавающей запятой в отношении типа данных Numeric:

CopyCode image Скопировать код
x=1234567890.0987654321
? x

Результат равен 1234567890.0987650000.

Expand image Смотрите также

Задачи

Как: выбрать типы данных

Справочное руководство

Численные операторы

Концепции

Создание численных выражений

Прочие ресурсы

Типы данных и полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Varbinary Data Type

Visual FoxPro 9.0
Varbinary Data Type
Смотрите также
CollapseAll image

Для хранения бинарных значений или литералов фиксированной длины без добавления дополнительных нулевых байтов или обрезкт хвостовых 0 байтов используйте тип данных Varbinary. Для хранения бинарных значений неопределенной длины используйте вместо этого типа данных тип данных Blob. Для получения более подробной информации смотрите описание Тип данных Blob.

Бинарные литералы начинаются с префикса, 0h, за которым следует строка шестнадцатиричных чисел, которые не заключены в кавычки по сравнению с символьными строками. Приведенный ниже списко включает в себя примеры бинарных литералов:

  • 0h202020

  • 0h6ABCDEF

  • 0h (пустой бинарный литерал)

Бинарные литералы ограничены 255-ми кодированными байтами. Поля типа Varbinary ограничены 254-мя кодированными байтами.

Когда производится операции сравнения или связывания, такие как =, !=, ==, >, >=, <=, + и -, результат их варьируется в зависимости от операции и порядка типов в операциях. Когда вы соединяете два бинарных значения, результат также будет бинарным. Когда вы соединяете переменные типа Varbinary (Q) с типами Varchar (V) или Character (C) результат будет иметь тип данных первого элемента в списке соединения элементов. Например:

V + Q = V

Q + V = Q

Когда вы сравниваете типы Varbinary и Character операцией управляет тип левой стороны. Например, предположим выражение сравнения, такое как приведено ниже, на бинарной основе:

Q = V

Visual FoxPro оценивает эти значения на побайтной основе, и результат будет тем же самым, что производится кодом CAST(V AS Q(n) = Q.

Теперь предположим, что выражение сранения основывается на символах:

V = Q

Visual FoxPro оценивает эти выражения, как будто бы они символьные строки, и результат будет тем же самым, что производится кодом CAST(Q AS V(n) = V.

Индексные ключи, основанные на полях Varbinary или выражениях дополняются нулями справа до значения, определяемого максимальной длиной поля. Например, значения 0hAA, 0hAA00, и 0hAA000 имеют один и тот же индексный ключ 0hAA0000. Используемая по умолчанию последовательность сопоставления (collation sequence) для индексных ключей, основанных на бинарных выражения, является MACHINE. Другие последовательности сопоставления не разрешены. Для получения более подробной информации смотрите описания Команда INDEX и Индексы, основанные на выражениях.

Expand image Поддержка типа данных Varbinary

Поддержка типа Varbinary обеспечивается в контейнерах баз данных (.dbc), свободных таблицах, курсорах и представлениях. Например, вы можете выбрать этот тип для поля на закладке Fields в дизайнере таблиц. Таблицы могут содержать множество полей Varbinary. Вы можете указать значение по умолчанию и нулевые значения для полей Varbinary. Поля Varbinary поддерживают правила проверки уровня поля.

Для данных типа Varbinary не производится трансляция кодовой страницы.

Тип данных Varbinary не поддерживается перечисленными ниже опциями и функциями :

  • LIKE в объединениях и условиях фильтра для предложений SQL statements

  • LIKE( ) Function

  • LIKEC( ) Function

  • BINTOC( ) Function

  • BITLSHIFT( ) Function

  • BITRSHIFT( ) Function

  • CTOBIN( ) Function

Приведенные ниже функции удаляют ведущие и хвостовые нулевые байты из бинарных значений:

  • ALLTRIM( ) Function

  • LTRIM( ) Function

  • RTRIM( ) Function

  • TRIM( ) Function

Ниже приведен список элементов языка, которые содержат выполняемые функции, на которые оказывает влияние тип данных Varbinary.

? ?? Command | AFIELDS( ) Function | ALINES( ) Function
ALTER TABLE - SQL Command | APPEND FROM Command | BITAND( ) Function
BITCLEAR( ) Function | BITNOT( ) Function | BITOR( ) Function
BITSET( ) Function | BITTEST( ) Function | BITXOR( ) Function
COPY STRUCTURE EXTENDED Command | COPY TO Command | CREATE CURSOR - SQL Command
CREATE FROM Command | CREATE TABLE - SQL Command | CURSORGETPROP( ) Function
CursorSchema Property | CURSORSETPROP( ) Function | CURSORTOXML( ) Function
DataType Property | EMPTY( ) Function | Format Property
InputMask Property | ISBLANK( ) Function | LIST Commands
MLINE( ) Function | SET ENGINEBEHAVIOR Command | SET ANSI Command
SET EXACT Command | TRANSFORM( ) Function | XMLTOCURSOR( ) Function
Note Замечание

Значения с типом Varbinary не совместимы с бинарными выражениями, производимыми функцией BINTOC( ) или используемыми функцией CTOBIN( ). Строковые функции, которые обычно возвращают строки, такие как функция SUBSTR( ) , теперь возвращают бинарные значения, когда им посылаются бинарные значения.

Для получения более подробных спецификаций по типу данных Varbinary смотрите описание Типы данных и полей Visual FoxPro.

Приведенный ниже пример очищает главное окно Visual FoxPro с помощью команды CLEAR и создает курсор с полем, названным myVarbinaryField с типом данных Varbinary, с помощью команды SQL CREATE CURSOR. Для каждого предложения SQL INSERT команда INSERT вставляет в курсор строку, содержащую бинарный литерал в поле myVarbinary. GO TOP позиционирует курсор на первую запись. Цикл DO WHILE отображает число символов в поле для каждой строки с помощью функции LEN( ) до тех пор, пока не будет достигнута последняя записб в таблице.

Вы можете перепечатать пример в программный файл (.prg) и запустить его в командном окне с помощью команды DO.

CopyCode image Скопировать код
CLEAR
CREATE CURSOR myCursor (myVarbinaryField Q(10))
INSERT INTO myCursor (myVarbinaryField) VALUES (0h616161202020)
INSERT INTO myCursor (myVarbinaryField) VALUES (0hABCDEF)
INSERT INTO myCursor (myVarbinaryField) VALUES (0h)
GO TOP
DO WHILE !EOF()
   ? "# Varbinary characters: ", LEN(myVarbinaryField)
   ?
   SKIP
ENDDO

Для получения более подробной информации о командных и функциях, использованных в этом примере, смотрите описания CLEAR Commands, CREATE CURSOR - SQL Command, INSERT - SQL Command, BROWSE Command, GO GOTO Command, DO WHILE ... ENDDO Command, EOF( ) Function и SKIP Command.

Expand image Смотрите также

Задачи

Как: выбирать типы данных

Справочное руководство

Закладка Fields дизайнера таблиц
Сравнение строк и значений в Visual FoxPro
Функция TYPE()
Функция VARTYPE( )

Прочие ресурсы

Типы данных и полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Varchar Field Type

Visual FoxPro 9.0
Тип поля Varchar
Смотрите также
CollapseAll image

Для того чтобы ввести в поле буквенно-числовой текст без добавления завершающих пробелов, используйте тип поля Varchar. Буквенно-числовой текст может содержать буквы, числа, пробелы, дополнительные символы и знаки пунктуации. Тип Varchar также обеспечивает удобный перенос типов данных VarChar из среды SQL Server в типы данных среды Visual FoxPro.

Для того чтобы предотвратить автоматическую трансляцию кодовых страниц в данных, хранящихся в полях типа Varchar, используйте тип поля Varchar (Binary).

Типы полей Varchar и Varchar (Binary) подобны полям типа Character и Character (Binary) в том смысле, что они применяются для хранения текстовой информации, которая не используется в математических вычислениях, таких как названия, адреса и номера. При сохранении значений полей типа Varchar и Varchar (Binary) в переменных памяти они рассматриваются как данные типа Character.

Note К сведению

Для того чтобы создать в таблице поле типа Varchar (Binary) используйте опцию NOCPTRANS в командах SQL CREATE TABLE и CREATE CURSOR или выберите его на закладке Fields в дизайнере таблицы.

Типы полей Varchar и Varchar (Binary) имеют приоритет перед типом Character при выполнении операций UNION и операций сложения между этими типами данных. Например, предположим, что Вы имеете поля типа Varchar (X) и Character (Y), где X представляет длину символьных данных, хранящихся в поле Varchar, а Y представляет длину поля Character. При выполнении операции сложения результирующее поле будет иметь тип Varchar и длину символьного значения X+Y.

Когда выполняются операции сложения между Varchar (Binary) (X) и Character (Binary) (Y), результатом является Varchar (Binary) (X+Y). Для функций Visual FoxPro, которые возвращают значение типа Character, если хотя бы один параметр - это поле таблицы или курсора с типом Varchar или Varchar (Binary), то возвращаемое значение будет иметь тип Varchar. Для получения дополнительной информации о преобразовании типов данных и приоритетах в операции UNION, смотрите Общие Рекомендации по использованию операторов SQL SELECT.

Индексные ключи, основанные на полях типа Varchar и Varchar (Binary) или выражениях с их использованием, автоматически дополняются концевыми пробелами справа до значения максимальной длины этих полей. Поэтому, опция LIKE в условиях объединения JOIN или фильтрах WHERE в SQL командах с использованием полей типа Varchar или Varchar (Binary) может иметь только уровень Rushmore-оптимизации "partial" (частичная). Для получения дополнительной информации смотрите Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Expand image Поддержка для типов Varchar и Varchar (Binary)

Типы полей Varchar и Varchar (Binary) поддерживаются для контейнеров базы данных (.dbc), свободных таблиц, курсоров, локальных и удаленных представлений. Например, Вы можете выбрать эти типы для полей на закладке Fields в дизайнере таблицы. Таблицы могут иметь несколько полей типа Varchar и Varchar (Binary). Вы можете указать значения по умолчанию и значения null для полей типа Varchar и Varchar (Binary). Varchar и Varchar (Binary) поля поддерживают контроль полей (RULE).

В следующей таблице приведен список языковых конструкций, которые содержат функциональность, учитывающую поля типа Varchar и Varchar (Binary).

AFIELDS( ) функция | ALTER TABLE - SQL команда | APPEND FROM команда
COPY STRUCTURE EXTENDED команда | COPY TO команда | CREATE CURSOR - SQL команда
CREATE FROM команда | CREATE TABLE - SQL команда | CURSORGETPROP( ) функция
CursorSchema свойство | CURSORSETPROP( ) функция | CURSORTOXML( ) функция
DataType свойство | Format свойство | MaxLength свойство
InputMask свойство | SET ENGINEBEHAVIOR команда | SET ANSI команда
SET EXACT команда | XMLTOCURSOR( ) функция |

Для получения более детальной информации о типах Varchar и Varchar (Binary) смотрите Типы данных и полей Visual FoxPro.

Приведенный ниже пример последовательно выполняет следующие операции. Команда CLEAR очищает главное окно Visual FoxPro. SQL-команда CREATE CURSOR создает курсор с именем myCursor, содержащий два поля. Одно поле имеет имя myVarCharField и тип Varchar, другое - имя myCharField и тип Character. При помощи последовательных SQL-команд INSERT осуществляется наполнение этого курсора данными. Причем каждая последующая SQL-команда INSERT вставляет символьную строку, содержащую на один символ больше, чем предыдущая строка. Команда BROWSE отображает курсор. В этот момент выполнение примера приостанавливается до того момента, как Вы закроете окно BROWSE, например, при помощи клавиши Esc. После закрытия окна BROWSE выполняется команда GO TOP, которая переводит указатель записи на первую запись курсора. Затем выполняется цикл SCAN, который последовательно перебирает все записи курсора сверху вниз. На каждом шаге цикла отображается количество символов в обоих полях при помощи функции LEN( ).

Вы можете скопировать пример в программный файл (.prg) и запустить его из окна Command при помощи DO команды.

CopyCode image Скопировать код
CLEAR
CREATE CURSOR myCursor (myVarCharField V(10), myCharField C(10))
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("a", "a")
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("aa", "aa")
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("aaa", "aaa")
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("aaaa", "aaaa")
BROWSE
GO TOP
SCAN
   ? "# VarChar символов: ", LEN(myVarCharField), ;
      ", # Char символов:      ", LEN(myCharField)
   ?
ENDSCAN

Для получения дополнительной информации об использованных в данном примере командах и функциях смотрите CLEAR команда, CREATE CURSOR - SQL команда, INSERT - SQL команда, BROWSE команда, GOTO команда, SCAN ... ENDSCAN команда, DO WHILE ... ENDDO команда, EOF( ) функция, и SKIP команда.

Expand image Смотрите также

Задачи

Как: выбрать типы данных

Ссылки

Закладка Fields дизайнера таблиц
DISPLAY STRUCTURE команда
TYPE( ) функция
VARTYPE( ) функция

Другие ресурсы

Типы данных и полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Variant Data Type

Visual FoxPro 9.0
Variant Data Type
Смотрите также
CollapseAll image

Variant представляет собой специальный тип данных, который может содержать любой вид данных, за исключением строковых данных фиксированной длины. Тип данных Variant может быть иметь специальные значения Empty, Error и NULL. Этот тип данных используется внешними клиентами приложений Visual FoxPro, так как Visual FoxPro не является языком со строгой типизацией данных.

Для изучения спецификации типа данных Variant смотрите описание Типы данных и полей Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Функция EMPTY()
Команда ERROR

Концепции

NULL в качестве значения

Прочие ресурсы

Типы данных и полей

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Data Manipulation

Visual FoxPro 9.0
Манипулирование данными

Выражения, которые вы можете создать, дают полный доступ к мощным возможностям манипулирования данными в Visual FoxPro. Кроме того, вы можете расширить эти возможности применением пользовательских функций, манипулированием полями, записями и массивами, использованием классов и объектов, и манипулированием null-значениями.

В этом разделе

Манипулирование полями и записями

Приводятся списки тем по установке области и интервалов доступа к записям, а также об сужении этих областей и интервалов.
Передача данных и массивы

Приводятся списки тем по передаче данных в массивы и использованию их в манипулировании данными.
Манипулирование классами и объектами

Приводятся списки тем по элементам языка, которые используются для манипулирования объектами.
Оперирование значением Null

Приводятся списки тем по оперированию значениями null в Visual FoxPro.

Связанные разделы

Пользовательские процедуры и функции

Выносятся на рассмотрение процедуры и функции, которые вы можете определять и создавать в Visual FoxPro.
Общий справочник

Включает техническую информацию, связанную с Visual FoxPro, в том числе типы файлов, структуры файлов и другую справочную информацию об элементах Visual FoxPro.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field and Record Manipulation

Visual FoxPro 9.0
Манипуляции с Полями и Записями

Вы имеете доступ к исходным данным, размещенных в Полях, которые сгруппированы в одну или несколько Записей таблиц. Для перемещения к конкретной Записи данных используется способ перемещения Указателя Записи, с помощью команды GOTO ; для отбора только необходимых записей данных используются фильтрующие опции в командах обработки: FOR, WHILE , или задание диапазона обработки.

В данном Разделе

Параметры диапазона (Scope Clauses)

Описываются опции указания диапазона, с помощью которых определяется группа обрабатываемых Записей Таблицы.

Опция FOR

Описывается фильтрующая опция FOR , которая определяет логическое условие обработки группы Записей.

Опция WHILE

Описывается фильтрующая опция WHILE , которая определяет логическое условия продолжения обработки группы Записей таблицы.

Связанные Разделы

Манипуляции с Данными

Приводится информация по построению выражений (языковых конструкций), обеспечивающих полный доступ к данным и дальнейшую их обработку в системе Visual FoxPro.

Поля (Fields)

Описываютя ключевые понятия для Полей Данных.

Записи (Records)

Описываются ключевые понятия о Записях таблиц.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Scope Clauses

Visual FoxPro 9.0
Выражение Scope
Смотрите также
CollapseAll image

Если команда Visual FoxPro имеет выражение Scope, вы можете определить диапазон записей на который будет воздействовать команда.

Следующая таблица описывает выражения, которые Вы можете использовать для Scope.

Scope (область действия) | Описание
ALL | Команда затрагивает все записи в таблице.
NEXT nExpr | Команда затрагивает следующее nExpr число записей, начиная с текущей записи. В следующем примере, команда REPLACE действует на текущюю запись и две следующие записи: REPLACE status WITH "open" NEXT 3
RECORD nRecordNumber | Команда затрагивает только указанный номер записи. В следующем примере, команда REPLACE действует на запись номер 5: REPLACE status WITH "open" RECORD 5
REST | Команда затрагивает диапазон записей, начинающихся с текущей записи и заканчивающихся последней записью в табликце. В следующем примере, команда REPLACE сохраняет значение типа null в оставшихся записях: REPLACE status WITH .NULL. REST

Вы также можете определить диапазоны записей, используя выражения FOR и WHILE. Для получения дополнительной информации, смотрите Выражение FOR and Выражение WHILE.

Expand image Смотрите также

Справочное руководство

Команда REPLACE (Visual FoxPro)

Прочие ресурсы

Манипулирование данными
Манипуляции с полями и записями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FOR Clauses

Visual FoxPro 9.0
Выражение FOR
Смотрите также
CollapseAll image

Выражение FOR заставляет команду действовать на каждую запись, которая удовлетворяет заданое логическое условие. Выражения FOR имеют следующий синтаксис:

Следующий пример сохраняет low balance в поле alert всех записей которые содержат меньше чем 500 в поле total.

CopyCode image Copy Code
FOR lExpr
REPLACE ALL alert WITH "low balance" FOR total < 500

Expand image Замечания

Следующая таблица перечисляет команды, в которых вы можете использовать выражение FOR.

Команды в которых используется выражение FOR
APPEND FROM ARRAY | COUNT | LOCATE
APPEND FROM | DEFINE PAD | RECALL
AVERAGE | DELETE | REPLACE FROM ARRAY
BLANK | DISPLAY | REPLACE
BROWSE | EXPORT | REPORT
CALCULATE | FOR( ) | SCAN...ENDSCAN
CHANGE | INDEX | SORT
COPY TO ARRAY | LABEL | SUM
COPY TO | LIST |

Использование выражения FOR может ускорить операцию одно-табличных команд. Для получения дополнительной информацией о повышении производительности, смотрите Оптимизация приложений.

Expand image Смотрите также

Справочное руководство

Команда REPLACE (Visual FoxPro)
Выражение Scope
Выражение WHILE

Прочие ресурсы

 Манипулирование данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


WHILE Clauses

Visual FoxPro 9.0
Операторы WHILE
Смотрите также
CollapseAll image

Оператор WHILE вызывает исполнение команды на каждой записи, пока логическое выражение оценивается в true (.T.). После того, как выражение будет впервые оценено в false (.F.), исполнение команды прекращается, без попытки ее исполения на оставшихся записях. Это выражение обычно используется с таблицами, которые отсортированы или индексированы по полю (или полям), включенному в выражение WHILE. Например, в приведенном ниже примере производится перемещение по индексированной таблице для поиска первой записи, отвечающей условию, после чего исполняется команда REPLACE на тех записях, которые отвечают условию, определенному для WHILE.

CopyCode image Скопировать код
USE Mytable INDEX street
LOCATE FOR UPPER(street) = "MAIN"
REPLACE street WITH "Maine" WHILE UPPER(street) = "MAIN"

Вы можете использовать выражения Scope, FOR и WHILE в одной и той же команде Visual FoxPro. Например, приведенный ниже пример сохраняет новое значение в поле status нескольких записей.

CopyCode image Скопировать код
REPLACE ALL status WITH "Active" FOR total > 30 ;
   WHILE expd > {^1998/02/16}

Когда вы указываете оба оператора - FOR и WHILE, выражение WHILE имеет преимущество и оператор FOR используется для фильтрации записей, выбранных с помощью WHILE.

В приведенной ниже таблице перечислены команды, в которых вы можете использовать оператор WHILE.

Команды, которые используют оператор WHILE
AVERAGE | COUNT | RECALL
BLANK | DELETE | REPLACE
BROWSE | DISPLAY | REPLACE FROM ARRAY
CALCULATE | EXPORT | REPORT
CHANGE | LABEL | SCAN ... ENDSCAN
COPY TO ARRAY | LIST | SORT
COPY TO | LOCATE | SUM

Expand image Смотрите также

Справочное руководство

Команда LOCATE
Команда REPLACE (Visual FoxPro)

Прочие ресурсы

Управление полями и записями
Управление данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Transfer and Arrays

Visual FoxPro 9.0
Передача Данных и Массивы

Массивы обеспечивают быстрый доступ к обрабатываемым данным. Как только данные размещаются в массивах, вы можете выполнить поиск, сортировку или другую обработку данных. Для получения возможности обрабатывать данные вам необходимо загружать (передавать) необходимые данные из Таблиц в Массивы.

Настоящая версия системы Visual FoxPro не имеет никаких ограничений по размерности обрабатываемых Массивов и типов данных. Единственным ограничением может быть объем доступной памяти рабочей станции.

В данном Разделе

Передача данных из Массивов в Таблицы

Дополнительные Определения и уточнения

Передача данных из Таблиц в Массивы

Дополнительные Определения и уточнения

Массивы и язык манипулирования SELECT - SQL

Дополнительные Определения и уточнения

Связанные разделы

Манипулирование Полями и Записями

Дополнительные Определения и уточнения

Манипулирование Данными

Приводится информация о построении выражений для обеспечения доступа к Данным, их обработке в системе Visual FoxPro.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Data Transfer from a Table to an Array

Visual FoxPro 9.0
Передача данных из таблиц в массивы
Смотрите также

Следующие команды Visual FoxPro передают данные из таблицы в массив:

  • SCATTER передает данные из записи одной таблицы в масив.

  • COPY TO ARRAY передает данные из набора записей в масив.

  • SELECT - SQL может передать результаты запроса в массив. Подробнее о SELECT - SQL, обратитесь к теме Масивы м SELECT - SQL.

SCATTER и COPY TO ARRAY отличаются по следующим отношениям:

  • SCATTER передает данные из текущей записи в текущей таблице. COPY TO ARRAY может передать данные из множества записей в текущей таблице.

  • Опция SCATTER BLANK автоматически создает массив, имеющий элементы того же размера и типа как поля таблицы, но элементы массива пусты.

  • Опция SCATTER VAR автоматически создает ряд переменных, имеющих тот же размер, тип и имя как и поля в таблице.

Смотрите также

Справочное руководство

Масивы и SELECT - SQL
Команда COPY TO ARRAY
Команда SCATTER
Команда SELECT - SQL

Концепции

Передача данных из массива в таблицу

Прочие ресурсы

Передача данных и массивы
Манипулирование данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Data Transfer from an Array to a Table

Visual FoxPro 9.0
Передача данных из массивов в таблицы
Смотрите также

Следующие команды Visual FoxPro передают данные из массива в таблицу:

  • GATHER передает данные из массива в единственную запись таблицы.

  • APPEND FROM ARRAY добавляет новые записи в таблицу и заполняет записи данными из масива.

  • INSERT - SQL добавляет единственную новую запись в таблицу и заполняет ее данными из массива.

GATHER, APPEND FROM ARRAY, и INSERT - SQL отличаются по следующим отношениям:

  • GATHER передает данные из массива в текущую запись в текущей таблице. Дополнительно, опция GATHER MEMVAR Дополнительно, опция GATHER_MEMVAR передает данные из ряда переменных в текущую запись таблицы.

  • APPEND FROM ARRAY добавляет новые записи в конец текущей таблицы и затем передает данные из массива в только что добавленные записи.

  • INSERT - SQL добавляет новую запись и передает данные из масива в толькочто добавленную запись. В отличие от GATHER и APPEND FROM ARRAY, INSERT - SQL может добавить запись в невыбранную таблицу (таблица открытая в рабочей области отличной от текущей рабочей области).

    Note Note

    APPEND FROM ARRAY или INSERT - SQL выполняют быстрее чем APPEND BLANK сопровождаемый REPLACE, особенно в сети.

Смотрите также

Справочное руководство

Команда APPEND FROM ARRAY
Команда GATHER
Команда INSERT - SQL
Масивы и SELECT - SQL

Концепции

Передача данных из таблиц в массивы

Прочие ресурсы

Передача данных и массивы
Манипулирование данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Arrays and SELECT - SQL

Visual FoxPro 9.0
Масивы и SELECT - SQL
Смотрите также Пример
CollapseAll image

Используйте Команду SELECT - SQL с выражением - INTO или TO чтобы сделать запрос в таблицы и вывести результаты запроса в масив.

Если массив не существует, и предложение SQL SELECT возвращает одну или более записей, команда создает массив. Существующий массив пересоздается чтобы поместить результаты запроса.

обратите внимание Если предложение SQL SELECT не возвращает ниодной записи, существующий массив остается неизменным и может содержать предыдущие результаты. Если массив не существует, команда не создает его. Используйте Системная переменная _TALLY для определения, возвращает ли утверждение SQL SELECT какие-нибудь записи.

Expand image Пример

В следующем примере, SELECT - SQL направляет результаты запроса в масив с именем RESULTS:
CopyCode image Copy Code
SELECT DISTINCT a.cust_id, a.company, b.amount ;
FROM customer a, payments b ;
WHERE a.cust_id = b.cust_id INTO ARRAY results

DISPLAY MEMORY LIKE results

RESULTS   Priv A            TEST
  ( 1, 1)   C  "000004"
  ( 1, 2)   C  "Stylistic Inc."
  ( 1, 3)   N    13.91  (    13.91000000)
  ( 2, 1)   C  "000008"
  ( 2, 2)   C  "Ashe Aircraft"
  ( 2, 3)   N    4021.98  (  4021.98000000)
  ( 3, 1)   C  "000010"
  ( 3, 2)   C  "Miakonda Industries"
  ( 3, 3)   N     9.84  (   9.84000000)

Expand image Смотрите также

Справочное руководство

Команда SELECT - SQL

Концепции

Передача данных из таблиц в массивы
Передача данных из массивов в таблицы

Прочие ресурсы

Передача Данных и массивы
Манипулирование данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Class and Object Manipulation

Visual FoxPro 9.0
Управление классом и объектом
Смотрите также
CollapseAll image

Visual FoxPro представляет два специальных оператора для объектного программирования: оператор "точка" (.) и оператор разрешения области видимости (::). Visual FoxPro, кроме того, добавляет команды, которые позволяют вас создать класс и ввести в класс объекты.

Оператор, команда, функция | Описание
. (оператор "точка") | Приводит видимость объектов к его родителям; приводит видимость свойств, событий и методов к объектам, для которых они созданы или характерны.
:: (оператор разрешения области видимости) | Вызывает метод родительского класса из субкласса.
CREATEOBJECT( ) | Создает объект из класса, субкласса или объект OLE.
DEFINE CLASS с опцией ADD OBJECT | Создает определение класса. Опция ADD OBJECT добавляет объект, основанный для сущестсующем классе или субклассе в design time.
GETOBJECT( ) | Возвращает ссылку на объект OLE.

Для получения более подробной информации об использовании классов и объектов смотрите описание Объектно-ориентированное программирование.

Expand image Смотрите также

Справочное руководство

:: оператор разрешения области видимости
Функция CREATEOBJECT()
Команда DEFINE CLASS
Функция GETOBJECT()
Обработка Null-значений

Прочие ресурсы

Перенос данных и массивы
Управление данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Null Value Handling

Visual FoxPro 9.0
Обработка Null-значения
Смотрите также
CollapseAll image

Visual FoxPro обеспечивает поддержку null-значений. Эта поддержка упрощает задачи представления неизвестных данных и упрощает работу с базами данных Microsoft Access или SQL, которые могут содержать null-значения.

Что представляют собой Null-значения:

  • Отсутствие какого-либо значения.

  • Нечто отличное от нуля, пустая строка ("") или чистое поле.

  • Сортируемое поверх других данных.

  • Распространенное в подсчетах и большинстве функций.

Null-значения оказывают влияние на поведение команд и функций, логических выражений и параметров.

Поддержака Visual FoxPro null-значений осуществляется в соответствии со стандартами ANSI и оказывает влияние на любую область продукта, в которой используются значения и выражения.

Для использования null-значений в ... | смотрите описания ...
командах и функциях | Поведение Null-значений в командах и функциях
выражениях | Поведение Null-значений в логических выражениях
параметрах | NULL в качестве параметра

Expand image Использование NULL в значениях и выражениях

В Visual FoxPro, вы можете присваивать null-значение программно с помощью .NULL. или интерактивно, при работе с полем, с помощью CTRL+0. Отметьте, что точки вокруг .NULL. не являются обязательными. Для определения - содержит ли поле или переменная null-значение или для определения - оценивается ли выражение в null-значение, используйте функцию ISNULL().

Expand image Смотрите также

Справочное руководство

Функция EMPTY()
Функция ISBLANK()
Функция ISNULL()

Концепции

NULL в качестве параметра
NULL в качестве значения

Прочие ресурсы

Управление данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NULL as a Value

Visual FoxPro 9.0
NULL как значение
Смотрите также

Нулевое значение отличается от пустой строки, пустого поля, или нуля. Например, и EMPTY( ) и ISBLANK( ) возвращают "истину" (.T.) когда переменная содержит пробел или пустую строку. EMPTY( ) также возвращает "истину" (.T.) для нуля. ISNULL( ) возвращает "ложь" (.F.) для этих значений. EMPTY( ) и ISBLANK( ) возвращают "ложь" (.F.) для значений типа null.

Вы можете использовать значения типа null с массивом и командами обработки полей такими как STORE, GATHER, и SCATTER. Следующий пример назначает .NULL. каждому єлементу масива aX:

CopyCode image Copy Code
DIMENSION aX[4]
STORE .NULL. TO aX

Нулевое значение не тип данных. Когда вы назначаете .NULL. полю или переменной, значение изменяется на .NULL. но тип данных поля или переменной не изменяется. Например:

CopyCode image Copy Code
STORE 5 TO nX
nX = .NULL.
? TYPE ("nX")  && Data type reported as numeric

Смотрите также

Справочное руководство

Поведение значкний типа Null в логических выражениях
Поведение значкний типа Null в командах и функциях
Функция EMPTY( )
Функция ISBLANK( )
Функция ISNULL( )
Обработка значений типа Null

Концепции

NULL как параметр

Прочие ресурсы

Манипулирование данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Behavior of Null Values in Commands and Functions

Visual FoxPro 9.0
Поведение значкний типа Null в командах и функциях
Смотрите также
CollapseAll image

Следующая таблица описывает, как команды и функции интерпретируют значения типа null.

Тип данных | Поведение
Logical | Логические выражения вычесленные в .NULL. возвращают .NULL. или генерируют ошибку. EMPTY( ), ISBLANK( ), и ISNULL( ) - исключения.
Numeric | Числовые выражения, которые вычисляются в .NULL. возвращают .NULL. Числовая функция вычисляется в .NULL. когда передано нулевое значение.
Date | Выражения даты, содержащие нулевые значения возвращают .NULL.

Expand image Смотрите также

Справочное руководство

Обработка значений типа Null
Тип данных Date (Visual FoxPro)
Функция EMPTY( )
Функция ISBLANK( )
Функция ISNULL( )
Тип данных Logical
Тип данных Numeric
Поведение значкний типа Null в логических выражениях

Концепции

NULL как значение
NULL как параметр

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Behavior of Null Values in Logical Expressions

Visual FoxPro 9.0
Поведение значкний типа Null в логических выражениях
Смотрите также
CollapseAll image

Нулевые значения сохраняются через логические выражения в большинстве случаев. Следующая таблица описывает поведение нулевых значений в логических выражениях.

Логическое выражение | Результат, если x=TRUE | Результат, если x=FALSE | Результат, если x=.NULL.
x AND .NULL. | .NULL. | FALSE | .NULL.
x OR .NULL. | TRUE | .NULL. | .NULL.
NOT x | FALSE | TRUE | .NULL.

Когда условное выражение сталкивается с нулевым значением, условие терпит неудачу, потому что .NULL. не "истина" (.T.). Например Выражение FOR которое вычисляется в .NULL. обрабатывается как "ложь" (.F.). Отметьте, что нулевые значения обработаны как .NULL. пока все выражение не вычесленно.

Expand image Смотрите также

Справочное руководство

Выражение FOR
Обработка значений типа Null
Поведение значкний типа Null в командах и функциях

Концепции

NULL как значение
NULL как параметр

Прочие ресурсы

Манипулирование данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


NULL as a Parameter

Visual FoxPro 9.0
NULL as a Parameter
Смотрите также

Передача null-значения в качестве параметра воздействует на поведение многих команд и функций Visual FoxPro. Для null-значений, посылаемых в качестве параметра в командах и функциям применяются приведенные ниже общие правила:

  • Команды генерируют ошибки, когда получают null-значение.

  • Функции, которые акцептируют .NULL. в качестве действительного значения, копируют .NULL. в результат.

  • Фнукции, которые акцептируют параметры, которые с свою очередь должны быть численного типа, генерируют ошибку при получении .NULL. значений в качестве этих параметров.

    CopyCode image Скопировать код
    STORE .NULL. TO n
USE Mytable ALIAS &n            && ожидаемая рабочая область
                                    && имя или число
? SUBSTR("Hello, world",n,5)        && ожидаемая позиция
                                    && в строке

  • ISBLANK( ), ISDIGIT( ), ISLOWER( ), ISUPPER( ), ISALPHA( ) и EMPTY возвращают (.F.) когда получают null-значение. ISNULL( ) возвращает true (.T.), когда получает null-значение.

  • Команды INSERT - SQL и SELECT - SQL обрабатывают null-значения посредством опций IS NULL и IS NOT NULL и, в случае INSERT, UPDATE и REPLACE помещают null-значения в записи.

  • SQL функции группировки игнорируют эти значения вместо копирования.

  • Функции группировки Visual FoxPro копируют .NULL. если все переданные значения, также являются null-значениями; в противном случае они игнорируются.

Для получения более подробной информации об использовании null-значений в ваших приложениях, смотрите описание Работа с таблицами.

Смотрите также

Справочное руководство

Функция EMPTY( )
Команда INSERT - SQL
Функция ISALPHA( )
Функция ISBLANK( )
Функция ISDIGIT( )
Функция ISLOWER( )
Функция ISNULL( )
Функция ISUPPER( )
Команда REPLACE (Visual FoxPro)
Команда SELECT - SQL
SQL команды и функции
Команда UPDATE
Обслуживание Null значения

Концепции

NULL в качестве значения

Прочие ресурсы

Управлением данными

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Storage Containers

Visual FoxPro 9.0
Контейнеры для хранения данных
См. также

Вы выбираете контейнер для хранения данных согласно объему и типу данных, которые надо сохранить, и тому, как вы хотите их использовать. Вы должны определить доступность данных путем их объявления в том месте программы, где они создаются. Диапазон доступности или действенности данных называется областью видимости (scope).

В большинстве языков программирования дается возможность сохранения данных в константах, переменных и массивах. В Visual FoxPro, помимо этого, можно еще сохранять данные в записях и объектах.Более подробно смотрите об этом в Visual FoxPro и другие языки программирования.

Область видимости контейнеров данных

В следующей таблице приведены различия между контейнерами данных.

Контейнер | Область видимости | Пример
Массивы | Public, private или local | ArrayName[1,1] = "John Brown"
Константы | см. команду PRIVATE | #DEFINE ERRSTR "Error!"
Поля | Отовсюду, пока таблица, содержащая записи, открыта | REPLACE name WITH "John Brown"
Переменные | см. команду PUBLIC, private или команду LOCAL | Var = 7
Объекты | Доступны через ссылки на объект и иерархию контейнеров объекта | txtCustomer.Value = "John Brown"

См. также

Ссылки

Общий справочник
Доступ к переменным
Команда LOCAL
Команда PRIVATE
Команда PUBLIC
Записи
Visual FoxPro и другие языки программирования

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Arrays

Visual FoxPro 9.0
Массивы
Смотрите также

Массивы - это упорядоченные группы значений данных, которые называются элементами массива. К элементам массива адресуются по их положению в массиве, определяя это положение как числовое значение позиции элемента массива или индекс элемента массива. Поскольку массив существует в памяти, Вы можете быстро и легко получить доступ к массиву и манипулировать элементами массива. Массив Visual FoxPro может содержать любой тип данных в любом элементе массива. Массивы имеют те же области применения, что и переменные памяти.

Вы можете создать массив, используя команды DIMENSION или DECLARE и присвоить значение каждому элементу, используя имя массива и позицию элементов или индекс элемента. Вы можете использовать команды SCATTER, GATHER, COPY TO ARRAY и APPEND FROM ARRAY для перемещения значения полей таблицы в массив и обратно.

Например, следующие строки кода создают двумерный массив из пяти строк и двух столбцов. Затем присваивается значение элементу второго столбца первой строки:

Копировать код
DIMENSION ArrayName[5,2]
ArrayName[1,2] = 966789
Замечание:
Массивы Visual FoxPro начинаются с единицы - первый элемент, строка или столбец массива определяются как имеющие номер 1. (Массивы в других языках программирования могут начинаться с нуля; первый элемент, строка или столбец массива определяются как имеющие номер 0.)

Для получения дополнительной информации смотрите Команда DIMENSION, Команда DECLARE, Команда SCATTER, Команда GATHER, Команда COPY TO ARRAY и Команда APPEND FROM ARRAY. Для получения дополнительной информации об использовании массивов в Вашем приложении смотрите Передача данных и массивы.

Смотрите также

Прочие ресурсы

Системные возможности Visual FoxPro
Контейнеры хранения данных
Переменные памяти

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Constants

Visual FoxPro 9.0
Константы
Смотрите также
CollapseAll image

Константы представляют собой именованный предмет, который остается неизменным на протяжении всех операций. Чсило ?, или 3.1415926535, являет собой пример численной константы; буква A является примером символьной константы.

Вы можете создать константы времени компиляции, которые существуют на всем протяжении операции приложения Visual FoxPro. Вы можете использовать константы и знать, что их значения останутся неизменными во время операции вашего приложения. В design time, вы можете воздействовать на приложением в целом с помощью изменения одной единственной константы.

Константы могут содержать любой тип данных.

Для получения более подробной информации о назначении и снятия назначения констант , смотрите Как: определить константу.

Expand image Смотрите также

Справочное руководство

Переменные (Visual FoxPro)
Директивы препроцессора #DEFINE ... #UNDEF
Фукнция PI()
Константа уже создана с помощью #DEFINE (Ошибка 1725)
Директивы препроцессора #IFDEF | #IFNDEF ... #ENDIF
Контейнеры хранения данных

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to: Define a Constant

Visual FoxPro 9.0
Как: Определить Костанту
См. также

Можно определить константу различного типа.

Для определения значения константы

  • Используйте директиву препроцессора #DEFINE.

В следующем примере, для константы с именем TABLERR1 задается следующая текстовая строка.

CopyCode image Копировать Код
#DEFINE TABLERR1 "Данная таблица не доступна. Пожалуйста, попробуйте позже."

После того, как данное определение задано, вы можете использовать константу TABLERR1, как переменную.

Для освобождения определения константы

  • Используйте директиву препроцессора #UNDEFINE .

    CopyCode image Копировать Код
    #UNDEF TABLERR1

См. также

Описание

Переменные в системе (Visual FoxPro)
#DEFINE ... #UNDEF, директива препроцессора
PI( ), функция
Константа уже определена ранее с помощью директивы #DEFINE (Ошибка 1725)
#IFDEF | #IFNDEF ... #ENDIF, директива препроцессора
Контейнеры хранения данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Fields

Visual FoxPro 9.0
Поля Таблиц
См. Также

Полем называется поименованная часть Записи таблицы, содержащая определенный тип данных. Поля могут содержать любой допустимый тип данных (переменных или полей) в системе Visual FoxPro.

Тип поля определяется с помощью системного средства Дизайнер таблиц или при выполнении команды CREATE TABLE.

См. также

Описание

CREATE TABLE - SQL, команда
Записи Таблиц
Дизайнер Таблиц (Visual FoxPro)
Контейнеры хранения Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Records

Visual FoxPro 9.0
Записи
Смотрите также
CollapseAll image

Запись это набор полей в таблице. Записи могут иметь до 255 полей. Все записи в таблице содержат одни и те же поля. Хотя содержание полей отличается у записи от записи, размер поля одинаковый для всех записей в таблице. Тип данных для каждого поля тот же что и для всех записей в таблице.

Чтобы создать запись, используйте команду INSERT - SQL или команду APPEND.

Для получения дополнительной информации о создании записей и использовании таблиц, смотрите Работа с таблицами.

Expand image Смотрите также

Справочное руководство

Команда APPEND
Команда INSERT - SQL
Контейнеры для хранения данных

Концепции

Поля

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Variables (Visual FoxPro)

Visual FoxPro 9.0
Переменные памяти (Visual FoxPro)
Смотрите также Пример

Переменные памяти - это область памяти, значение которой может быть изменено в процессе работы программы. Переменная памяти может содержать значение любого типа. Вы можете изменить значение переменной памяти в любой момент. Это позволяет Вам отслеживать какой-либо статус по факту его изменения в процессе работы приложения.

Переменные памяти существуют, только пока приложение выполняется или в той сессии Visual FoxPro, в которой они были созданы. Для определения области существования переменных памяти, используйте ключевые слова LOCAL, PRIVATE и PUBLIC.

Создание переменных памяти

Для того чтобы создать переменную памяти, сохраните значение в названном элементе Visual FoxPro, используя команду STORE, или оператор = (равенство).

Пример

Следующие примеры - это простые операторы присваивания, которые являются функционально эквивалентными.

Копировать код
STORE 7 TO nVar
nVar = 7

Следующий пример использует переменную памяти nInc для сохранения значения счетчика цикла. Visual FoxPro присваивает новое значение переменной памяти на каждом шаге цикла.

Копировать код
FOR nInc = 1 TO 10
   ? nInc
ENDFOR

Следующий пример использует переменную памяти cName для сохранения значения поля Firstname из таблицы Customer.

Копировать код
USE Customer
STORE Customer.Firstname TO cName

Смотрите также

Прочие ресурсы

Доступ к переменным памяти
Команда =
Команда FOR ... ENDFOR
Команда LOCAL
Команда PRIVATE
Команда PUBLIC
Команда STORE
Контейнеры хранения данных

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Access to Variables

Visual FoxPro 9.0
Доступ к переменным памяти
Смотрите также

Переменные памяти существуют, только пока приложение выполняется или в той сессии Visual FoxPro, в которой они были созданы. Для определения области существования переменных памяти, используйте ключевые слова LOCAL, PRIVATE и PUBLIC.

  • LOCAL создает переменные памяти или массивы, которые могут быть использованы или изменены только в той программе, в которой они были созданы и они недоступны из программ верхнего или нижнего уровня. Локальные переменные памяти и массивы уничтожаются сразу, как только содержащая их программа прекращает выполняться.

  • PRIVATE скрывает переменные памяти или массивы, которые были определены в вызвавшей программе от текущей программы. Вы можете использовать те же самые имена для переменных памяти в текущей программе, не затрагивая оригинальные переменные. Сразу, как только программа, содержащая PRIVATE, прекращает выполняться, все переменные памяти и массивы, которые были скрыты командой PRIVATE, снова становятся доступными.

  • PUBLIC определяет глобальные переменные памяти и массивы. Глобальные переменные памяти и массивы могут быть использованы и изменены из любой программы, которые Вы запустили в течение текущей сессии Visual FoxPro. Любые переменные памяти и массивы, созданные в командном окне автоматически объявляются как PUBLIC.

Обращение к переменным памяти

Если переменная памяти имеет то же самое имя, что и поле таблицы в текущей рабочей области, то Visual FoxPro сначала предполагает, что требуется прочитать содержимое именно поля таблицы. И только если в текущей рабочей области нет такого поля, осуществляется чтение значения переменной памяти. Вы можете уточнить, что ссылка относиться именно к переменной памяти, используя m. или m-> вместе с именем переменной памяти как в следующих примерах.

Копировать код
* Закрываю таблицу, которая может быть открыта в текущей рабочей области
USE

* Создаю переменную памяти
cFname = "переменная"
?  cFname         && печатает содержимое переменной памяти cFname

* Создаю курсор с полем, имя которого совпадает с именем переменной памяти
CREATE CURSOR test (cFname C(10))
INSERT INTO test (cFname) VALUES ("таблица")

?  cFname         && печатает содержимое поля cFname
?  m.cFname       && печатает значение переменной памяти cFname
?  m->cFname      && печатает значение переменной памяти cFname
?  test.cFname    && печатает содержимое поля cFname

Для получения дополнительной информации по этим командам смотрите соответствующие темы в Help.

Замечание:
В объектно-ориентированном программировании Вы можете создавать свойства объектов для хранения значений вместо использования переменных памяти. Для получения дополнительной информации смотрите Объектно-оиентированное программирование.

Смотрите также

Прочие ресурсы

Переменные памяти
Команда PUBLIC
Команда PRIVATE
Команда LOCAL
Объектно-ориентированное программирование
Контейнеры хранения данных

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Building Expressions

Visual FoxPro 9.0
Построение выражений

Выражение объединяет в себе данные и операторы с целью создания значения с определенным типом данных. Выражение также может использоваться для присвоения значению определенного типа данных.

В этом разделе

Создание символьных выражений

Дается представление о символьных выражениях, предназначенных для создания значений с символьным типом данных.
Создание имен Visual FoxPro

Дается представление об именах контейнеров данных и об именах команд и функций в Visual FoxPro.
Создание именованного выражения

Дается представление об именованных выражениях, которые заменяют значения имен символьных переменных и элементов массива в командах и функциях.
Макроподстановка

Дается представление об использовании макроподстановки для замены имен переменных.
Создание цифровых выражений

Дается представление о цифровых выражениях, предназначенных для создания значений с цифровым типом данных.
Создание логических выражений

Дается представление о логических выражениях, предназначенных для создания значений с логическим типом данных.
Создание выражений даты

Дается представление о выражениях даты, предназначенных для создания значений с типом данных дата.
Использование команд и функций

Дается представление об использовании выражений в командах и функциях Visual FoxPro.
Выражения для обрезания и объединения

Объясняется как можно обрезать нежелательные пробелы в значениях полей и объединить несколько выражений в одно.
Работа с Построителем выражений

Описывается процесс создания выражений в Построителе выражений, если он доступен для работы.

См. также

Общий справочник

Содержит техническую информацию, связанную с Visual FoxPro, включая типы файлов, файлофые структуры и другие информационные ссылки на элементы Visual FoxPro.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Creating Character Expressions

Visual FoxPro 9.0
Создание символьных выражений
См. также

Символьные выражения создаются путем объединения символьных операторов со следующими элементами Visual FoxPro:

  • Символьными полями.

  • Функциями, возвращающими символьные значения.

  • Переменными и элементами массива, содержащими символьные данные.

  • Символьными константами, или иначе, строковыми литералами.

Если символьная строка содержит кавычки ("" или ''), то ее нужно заключить либо в квадратные скобки ([]):

Копировать код
STORE [Robert's Diner] TO cCompanyName
STORE [See the "Sunday Special"] TO cBanner

, либо в кавычки другого типа:

Копировать код
STORE "Robert's Diner" TO cCompanyName
STORE 'See the "Sunday Special"' TO cBanner

Более подробно, смотрите К оманда S TORE.

См. также

Ссылки

Символьные операторы
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Creating Visual FoxPro Names

Visual FoxPro 9.0
Создание имен Visual FoxPro
См. также

Контейнерам данных и некоторым параметрам в командах и функциях требуются имена. При создании имен в Visual FoxPro используются следующие правила:

  • Используются только буквы, символ подчеркивания и цифры.

  • Имя всегда начинается с буквы или с символа подчеркивания.

  • Длина имени должна быть от 1 до 128 символов, за исключением имен полей в свободных таблицах и индексных тагах — их длина не должна превышать 10 символов.

  • Избегайте слов, зарезервированных в Visual FoxPro.

Имена файлов должны соответствовать требованиям операционной системы.

См. также

Ссылки

Создание имени выражения
Макроподстановка
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Name Expression Creation

Visual FoxPro 9.0
Создание именованного выражения
См. также

Многие команды и функции Visual FoxPro требуют подстановки имени. И хотя имя не может быть переменной памяти или элементом массива, можно создать именованное выражение, которое сохранит значение символьной переменной или элемента массива.

Если вы сохранили в имени переменную или элемент массива, то можно подставить это имя в команду или функцию, заключив его в скобки. Чтобы использовать список имен, следует разделять их запятыми. Имя не является ни выражением, ни переменной или элементом массива, ни полем. Имя не должно заключаться в кавычки. Другими словами, имена должны удовлетворять правилам об именованиив Visual FoxPro, описанным в разделе Создание имен Visual FoxPro.

Например, в команде REPLACE требуется указать имя поля. Можно занести имя поля в переменную и использовать в команде REPLACE вместо имени поля именованное выражение:

Копировать код
STORE 'city' TO cVarCity
REPLACE (cVarCity) WITH 'Paris'

Вначале Visual FoxPro сохраняет имя поля city в переменной cVarCity, а затем сохраняет значение "Paris" в поле city, используя значение именованного выражения cVarCity.

Более подробно об этом написано в разделах Команда S TORE и Команда R EPLACE.

См. также

Ссылки

Макроподстановка
Построение выражений
Создание имен Visual FoxPro

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Macro Substitution (Visual FoxPro)

Visual FoxPro 9.0
Макроподстановка (Visual FoxPro)
См. также

Имена можно замещать переменными памяти, используя макроподстановку. Использование макроподстановки заключается в том, что перед именем переменной помещают знак амперсанд (&) для того, чтобы сообщить Visual FoxPro, что значение переменной употребляется в качестве имени; заканчивается выражение макроподстановки символом точки (.).

Например, следующий код выводит на экран текст "FoxPro":
Копировать код
x = "Fox"
? "&x.Pro"

Команда или функция, содержащая именованое выражение, выполняется быстрее, чем содержащая макроподстановку, поэтому целесообразно использовать именованое выражение вместо макроподстановки. Более подробно о макроподстановке можно узнать в теме & Command.

См. также

Ссылки

Создание имен Visual FoxPro
Создание именованного выражения
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Creating Numeric Expressions

Visual FoxPro 9.0
Создание числовых выражений
См. также

Числовые выражения формируются путем комбинирования операторов для работы с числами со следующими элементами Visual FoxPro:

  • Полями числового типа.

  • Функциями, возвращающими числовые значения.

  • Переменными и элементами массивов, содержащими числовые значение.

  • Числовыми константами.

См. также

Ссылки

Операторы для работы с числами
Числовой тип данных
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Creating Logical Expressions

Visual FoxPro 9.0
Создание логических выражений
См. также

Логические выражения преобразуются в значения типа истина и ложь, которые в Visual FoxPro обозначаются , соответственно, как .T. и .F. Логические выражения формируются путем комбинирования логических операторов со следующими элементами Visual FoxPro:

  • Полями логического типа.

  • Функциями, возвращающими логические значения.

  • Переменными и элементами массивов, содержащими логические значения.

  • Любыми выражениями, преобразующимися в логическое значение.

Visual FoxPro преобразует логические выражения слева направо и до конца. В следующем примере оператор AND применен для создания логического выражения. Если любое из значений в выражении ложно (.F.), то и все выражение будет ложным. Поэтому, когда Visual FoxPro сталкивается с первым ложным значением (.F.), то остальная часть выражения не преобразуется.

Копировать код
.T. AND .T. AND .F. AND .T. AND .T. AND .T.

См. также

Ссылки

Логические операторы
Данные логического типа
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Creating Date Expressions

Visual FoxPro 9.0
Создание выражений даты
См. также

Выражения даты формируются путем комбинирования операторов для работы с датой со следующими элементами Visual FoxPro:

  • Полями типа Date или DateTime.

  • Функциями, возвращающими значение даты или даты и времени.

  • Переменными и элементами массивов, содержащими дату или время.

  • Константами типа Date and DateTime.

В Visual FoxPro неправильная дата трактуется как пустая (свободная).

См. также

Ссылки

Операторы даты и времени
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Using Commands and Functions

Visual FoxPro 9.0
Использование команд и функций
См. также

Команды и функции Visual FoxPro выполняют определенные действия или возвращают значения, которые будут использоваться в других командах и функциях. Команды и функции могут получать выражения через параметры или сами могут быть частью этих выражений. Кроме того, при использовании команд и функций Visual FoxPro всегда можно применять пользовательские функции (UDFs).

Команды и функции ведут себя по-разному:

  • Команды выполняют действие. Например, команду BROWSE можно использовать для просмотра содержимого таблицы.

  • Функции возвращают значение определенного типа данных. Например, функция DATE( ) возвращает системную дату компьютера. В конце имен функций стоит пара круглых скобок, которая и отличает функции от команд.

Функция всегда используются только в комбинации с командой Visual FoxPro. Например, для того, чтобы вывести на экран системную дату, необходимо скомбинировать команду "?", которая направляет вывод на экран, и функцию DATE( ), которая возвращает текущую системную дату:

Копировать код
? DATE( )

При использовании команд и функций необходимо строго придерживаться их синтаксиса, а также синтаксиса параметров функций, который подробно описывается в Справочник по языку от A до Z.

См. также

Ссылки

Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Trimming and Concatenating Expressions

Visual FoxPro 9.0
Выражения тримминга и конкатенации
См. также

При составлении выражения, включающего в себя несколько полей, можно не получить желаемого результата из-за того, что результирующее выражение будет содержать незначащие (лидирующие и завершающие) пробелы. Для их исключения нужно сначала удалить незначащие пробелы из значений полей, а затем объединить поля в одно выражение. Допустим, вы хотите отобразить адресную строку, содержащую названия города, области и почтовый код. Если указать поля в строке друг за другом, то между значениями этих полей могут появиться незначащие пробелы.

Тримминг полей и выражения конкатенации

Вы можете применить тримминг и конкатенацию к выражениям, содержащим поля с переменной длиной значения. Для этого сначала из каждого такого поля функцией ALLTRIM( ) надо удалить незначащие пробелы, при этом знаки пунктуации и значащие пробелы заключаются в кавычки (" "), а затем объединить поля с помощью знака плюс (+).

Длина значения в поле может быть переменной, как в поле с названием города, или постоянной, как в поле с почтовым кодом. В следующем примере показано, что функция ALLTRIM( ) применяется только к полям с переменной длиной значения:

Копировать код
ALLTRIM(city) + ", " + region + " " + postal_code
Замечание:
Обратите внимание на то, что в кавычки заключена не только запятая, но и пробел.

Для лучшего понимания смотрите пример отчета Invoice.frx в папке Visual FoxPro ...\Samples\Solution\Reports.

Быстрые выражения тримминга и конкатенации

Если знаки пунктуации не нужны, то можно применить быстрый тримминг и конкатенацию, поставив запятую (,) между выражениями. При этом из значения выражения, стоящего перед запятой, будут удалены незначащие пробелы .

Замечание:
Если значение, полученное после удаления незначащих пробелов, имеет длину больше нуля, то его можно перенести на новую строку, поставив вслед за выражением точку с запятой (;).

В следующем примере показано применение выражений тримминга и конкатенации для нескольких полей в почтовом адресе:

Копировать код
contact_name; address; city, region, postal_code

См. также

Ссылки

Руководство: Тримминг и конкатенация полей
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Operating the Expression Builder

Visual FoxPro 9.0
Работа с Построителем выражений

Если Построитель выражений доступен в пользовательском интерфейсе Visual FoxPro, то построить выражения можно и с его помощью. В тех местах, где требуется указание выражения, для открытия Построителя выражений обычно предусмотрена кнопка с многоточием (...).

В этом разделе

Руководство: Построение выражения функции

Объясняется построение выражения функции в Построителе выражений.
Руководство: Построение выражения переменной

Объясняется построение выражения переменной в Построителе выражений.
Руководство: Тримминг и конкатенация полей

Объясняется тримминг и конкатенация выражений, содержащих поля, в Построителе выражений.

См.также

Построение выражений

Рассказывается о том, как в выражениях Visual FoxPro скомбинировать данные и операторы , чтобы получить значение определенного типа данных.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Build a Function Expression

Visual FoxPro 9.0
Руководство: Построение выражения функции
См. также

В Построителе выражений вы можете построить выражение, содержащее функцию.

Для построения выражения функции

  1. Если доступна кнопка с изображением многоточия (...), то нажмите ее для того, чтобы открыть Построитель выражений.

  2. В области Functions(Функции) построителя выберите одну из функций, доступных в списке.

  3. Нажмите OK.

Более подробно об этом смотрите в Диалоговом боксе Построителя выражений.

См. также

Ссылки

Работа с Построителем выражений
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Build a Variable Expression

Visual FoxPro 9.0
Руководство: Построение выражения переменной
См. также

В Построителе выражений вы можете сформировать выражение, содержащее имя переменной.

Для построения выражения переменной

  1. Если доступна кнопка с изображением многоточия (...), то нажмите ее для того, чтобы открыть Построитель выражений.

  2. Выполните одно из следующих действий:

    • В основной области выражений введите имея переменной.

    • В списке Переменные (Variables) построителя выберите имя системной переменной.

  3. Нажмите OK.

Более подробно об этом смотрите в Диалоговом боксе Построителя выражений.

См. также

Ссылки

Работа с Построителем выражений
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


How to: Trim and Concatenate Fields

Visual FoxPro 9.0
РуководствоКак: Обрезать и Объединять Поля
См. также

В Построителе выражений вы можете с помощью функции ALLTRIM( ) обрезать поля, у которых длина осмысленного значения может изменяться, а затем объединить их в одно выражение.

Для объединения полей

  1. Если доступна кнопка с изображением многоточия (...), то нажмите ее для того, чтобы открыть Построитель выражений.

  2. В области String(Строка) построителя выберите функцию ALLTRIM(expC).

    В основной области выражений функция ALLTRIM() появится с выделенным аргументом expC.

  3. В списке Fields (Поля) сделайте двойной клик на поле, которое необходимо подставить в функцию в качестве аргумента.

    Имя этого поля заменит expC.

  4. Следом за функцией введите знак плюс (+) или выберите его из области String(Строка).

  5. Следом за знаком плюс введите запятую в кавычках (",") или в области String(Строка) выберите "text" и затем вставьте запятую между появившимися кавычками.

  6. Для добавление в выражение других полей, повторите шаги со 2 по 3, а затем нажмите кнопку OK для возврата в позицию, из которой вы открыли Построитель выражений.

Более подробно об этом смотрите в Диалоговом боксе Построителя выражений.

См. также

Ссылки

Выражения для обрезания и объединения
Работа с Построителем выражений
Построение выражений

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File Structures

Visual FoxPro 9.0
Структуры файлов

Содержит техническую информацию о структурах и типах файлов.

В этом разделе

Структура файла составного индекса (.cdx)

Описывается отличие структур файлов составного и компактного индексов.
Структура файла компактного индекса (.idx)

Приводится информация о записи заголовка компактного индекса.
Расширения и типы файлов

Приводится перечень расширений файлов и их связь с типами файлов, которые используются в Microsoft Visual FoxPro.
Структура файла ресурсов (foxuser.dbf)

Содержит различную информацию о содержимом файла ресурсов, а именно о: позиционировании окон, наборах цветов, конфигурации окна просмотра (Browse), определении меток и так далее.
Структура файла индекса (.idx)

Рассказывается о содержимом индексных файлов, о записях заголовка и узлов.
Формат файла макрокоманд (.fky)

Приводится описание файла заголовка и отдельных макрокоманд.
Структура memo-файла (.fpt)

Описывается содержимое memo-файла, а именно: запись заголовка, заголовок блока и memo-текст.
Структура файла таблицы (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Приводится перечень типов файлов, которые хранятся в виде таблиц, а также структура записи заголовка таблицы и структура подзаписи поля.
Табличные структуры для файлов таблиц (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Приводится задокументированная структура таблиц.

Связанные разделы

Общий справочник

Включает техническую информацию, связанную с Visual FoxPro, в том числе типы файлов, структуры файлов и другую справочную информацию об элементах Visual FoxPro.
Соглашения об именах

Приводятся ссылки на дополнительную информацию о выборе имен для незащищенных объектов, свойств и методов, которые могут быть легко понятны пользователям приложения.
Visual FoxPro и другие языки программирования

Проводится сравнение элементов языка Visual FoxPro с другими языками программирования.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Compound Index File Structure (.cdx)

Visual FoxPro 9.0
Структура файла составного индекса (.cdx)
См. также
CollapseAll image

Все составные индексные файлы (индексы) являются компактными (упакованными, сжатыми) индексами.

Для всех Тэгов составных индексных файлов (.cdx) применяется одна структура Записи информации об индексах. Данная структура соответствует описанной в следующем разделе Структура файла компактного индекса , с одним только исключением — корневые элементы на самом нижнем уровне данной структуры указывают на один Тэг составного индекса.

Все Тэги в составном индексном файле имеют соответствующую, аналогичную структуру простого компактного индекса (.idx).

Expand image См. также

Описание

Структура файла простого индекса (.idx)
Структура файла компактного индекса (.idx)
Структура файла Таблицы (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Табличные структуры для табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Структура файла полей Memo (.FPT)
Файлы формата Macro (.fky)
Расширения файлов и Типы файлов

Другие ссылки

Структуры Файлов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Compact Index File Structure (.idx)

Visual FoxPro 9.0
Структура компактного индексного файла (.idx)
Смотри также
CollapseAll image

Заголовочная запись компактного индекса

Byte offset | Описание
00 – 03 | Указатель на корневой узел
04 – 07 | Указатель на список свободных узлов ( -1 если список отсутствует)
08 – 11 | Зарезервировано для внутреннего использования
12 – 13 | Длина ключа
14 | – Опции индекса (любое из следующих численных значений или их суммы): 1 – уникальный индекс 8 – – индекс с опцией FOR 32 – формат компактного индекса 64 – заголовок составного индекса
15 | Сигнатура индекса
16 – 19 | Зарезервировано для внутреннего использования
20 – 23 | Зарезервировано для внутреннего использования
24 – 27 | Зарезервировано для внутреннего использования
28 – 31 | Зарезервировано для внутреннего использования
32 – 35 | Зарезервировано для внутреннего использования
36 – 501 | Зарезервировано для внутреннего использования
502 – 503 | Упорядочивание по возрастанию или убыванию: 0 = по возрастанию 1 = по убыванию
504 – 505 | Зарезервировано для внутреннего использования
506 – 507 | длина пула выражения FOR (смотрите ссылку 1)
508 – 509 | Зарезервировано для внутреннего использования
510 – 511 | Длига пула выражения ключа (смотрите ссылку 1)
512 – 1023 | Пул выражения ключа (некомпилированное)

1 Эта информация отслеживает пространство используемое в пуле выражения ключа.

Запись внутреннего узла компактного индекса
Byte offset Описание

00 – 01

Аттрибуты узла (любое из следующих численных значений или их суммы): a. 0 – индексный узел b. 1 – корневой узел c. 2 – узел-лист

02 – 03

Число существующих ключей (0, 1 или больше)

04 – 07

Указатель на узел, расположенный непосредственно слева от текущего узла (на том же самом уровне, -1 если отсутствует)

08 – 11

Указатель на узел, расположенный непосредственно справа от текущего узла (на том же самом уровне, -1 если отсутствует)

12 – 511

Пространство до 500 символов, содержащее выражение ключа с учетом длины ключа, выраженной четырехбайтным шестнадцатиричным числом (хранимым в нормальном формате - "слева-направо"):

Этот узел всегда содержит индексный ключ, номер записи и указатель на внутренний индекс (смотрите ссылку 2)

Ключ/етырехбайтное шестнадцатиричное число будет встречаться в индексном файле столько раз, сколько указывает число, размещенное в байтах со смещением 02 – 03.
Запись внешнего узла компактного индекса
00 – 01 | Аттрибуты узла (дюбое из следующих численных значений или из суммы): 0 – индексный узел 1 – корневой узел 2 – узел-лист
02 – 03 | Число существующих ключей (0, 1 или больше)
04 – 07 | Указатель на ключ, расположенный непосредственно слева от текущего узла (на том же самом уровне, -1 если отсутствует)
08 – 11 | Указатель на узел, расположенный непосредственно справа от текущего узла (на том же самом уровне, -1 если отсутствует)
12 – 13 | Доступное свободное пространство в узле
14 – 17 | Маска номера записи
18 | Маска счетчика дублированных байтов
19 | Маска счетчика хвостовых байтов
20 | Число бит, использованных для номера записи
21 | Число бит, использованных для счетчика дубликатов
22 | Число бит, использованных для счетчика хвостовых байтов
23 | Числов байтов, предназначенных для хранения номера записи, счетчиков дубликатов и хвостов
24 – 511 | Индексный ключ и информация (смотрите ссылку 2)

2 Каждый вход состояит из номера записи, счетчика дублированных байтов и счетчика хвостовых байтов, все в компактном виде. Текст ключа помещается в логическом конце узла, работающем в обратном направлении, учитывающем предыдущие входы ключа.

Expand image Смотрите также

Справочное руководство

Структура составного индексного файла (.cdx)
Структура индексного файла (.idx)
Структура табличных файлов (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Структура таблиц табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Структура мемо-файлов (.FPT)
Формат файлов макросов (.fky)
Расширения и типы файлов

Прочие ресурсы

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


File Extensions and File Types

Visual FoxPro 9.0
Расширения файлов и типы Файлов
Смотрите также
CollapseAll image

В этой таблице приведен список расширений и связаных сними типов файлов использующихся в Visual FoxPro

Расширение | Тип файла
.act | Documenting Wizard action diagram
.app | Сгенерированное приложение
.cdx | Составной индекс
.chm | Компилированая HTML справка
.cur | Курсор
.dbc | База данных
.dbf | Таблица
.dbg | Конфигурация отладчика
.dct | Memo базы данных
.dcx | Индекс базы данных
.dll | Windows dynamic-link Library
.err | Ошибка компиляции
.exe | Выполняемая программа
.fky | Macro
.fll | Visual FoxPro dynamic-link library
.fmt | Файл формата
.fpt | Memo таблицы
.frt | Memo отчета
.frx | Отчет
.fxp | Компилированая програма
.h | Файл заголовка (для включения в програму Visual FoxPro или C/C++)
.hlp | WinHelp
.htm | HTML
.ico | Файл пиктограмы
.idx | Single index
.lbt | Memo этикетки
.lbx | Этикетка (Label)
.log | Файл лога
.lst | Documenting Wizard list
.mem | Сохраненная переменная
.mnt | Menu memo
.mnx | Menu
.mpr | Generated menu program
.mpx | Compiled menu program
.ocx | ActiveX control
.pjt | Project memo
.pjx | Project
.prg | Program
.qpr | Generated query program
.qpx | Compiled query program
.sct | Form memo
.scx | Form
.spr | Generated screen program (только в ранних версиях FoxPro)
.spx | Compiled screen program (только в ранних версиях FoxPro)
.tbk | Memo backup
.txt | Text
.vct | Visual class library memo
.vcx | Visual class library
.vue | FoxPro 2.x view
.win | Window file
.xml | XML

Expand image Смотрите Также

Справочное руководство

Структура компактного индексного файла (.idx)
Структура составного индексного файла (.cdx)
Структура файла индекса (.idx)
Структура файла Memo (.FPT)
Структура файла таблицы (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Таблицы структуры вайлов таблиц (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Прочие ресурсы

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FoxUser Resource File Structure

Visual FoxPro 9.0
Структура Файла Ресурсов FoxUser
См. также
CollapseAll image

Файл ресурсов FoxUser.dbf хранит ряд информационных ресурсов (например, позиции окна, наборы цветов, конфигурации окна Просмотра (Browse), определения этикеток и т.д.). FoxUser.dbf - это стандартная таблица FoxPro со связанным с ней мемо-файлом (.FPT). Если индексный файл не существует, то он будет создан при открытии файла FoxUser.dbf.

В отличие от более ранних версий Visual FoxPro, файл ресурсов FoxUser.dbf всегда открыт как SHARED.

Если RESOURCE установлен в SET ON, то FoxPro управляет всеми ресурсами. Вы можете модифицировать данные, содержащиеся в этом файле двумя способами:

  1. Специальные конфигурации окна или других его предустановок, установленные однажды и сохраненные в файле ресурсов, могут быть защищены из последующих диалоговых изменений с помощью модификации поля READONLY для специфицированного ресурса (смотрите пример в секции Конфигурация Встроенного Окна Просмотра (Predefining Browse Window Configuration)).

  2. Ресурсы, которые больше не нужны или не желательны, могут быть удалены и файл ресурсов может быть упакован.

Модификация поля READONLY и/или удаление записей из файла ресурсов - это единственные действия, которые Вы должны выполнять с файлом FoxUser.dbf. Вы должны скопировать файл ресурсов прежде чем сделать любую его модификацию.

Таблица FoxUser.dbf имеет следующую структуру:
№ поля | Имя поля | Тип поля | Ширина поля
1 | TYPE | Character | 12
2 | ID | Character | 12
3 | NAME | Memo | 4
4 | READONLY | Logical | 1
5 | CKVAL | Numeric | 6
6 | DATA | Memo | 4
7 | UPDATED | Date | 8
TYPE

Определяет тип информации хранилища ресурсов

ID

Определяет запись с полем TYPE

NAME

Содержит имя, присвоенное ресурсу, например, имя присвоенное набору цветов, окну ПРОСМОТРА (BROWSE) или системным окнам

READONLY

Логическое поле, которое может быть установлено в истину (.T.), для указания на то, что ресурс будет использован только для чтения и не может быть изменен

CKVAL

Используется FoxPro для проверки правильности данных (в мемо-поле DATA)

DATA

Мемо-поле, которое содержит актуальные данные для ресурса

UPDATED

Дата, когда текущий ресурс последний раз был изменен

Вы можете сделать файл ресурсов FoxUser.dbf доступным только для чтения с помощью МS-DOS команды ATTRIB с параметром <+R>. Маркировка файла "только для чтения" полезна в многопользовательских решениях, поскольку FoxUser.dbf может быть открыт как Shared в сетевых приложениях.

Expand image Модификация Файла Ресурсов FoxUser.dbf

The following SET RESOURCE commands make it possible for you to open and easily modify the FoxUser.dbf file's contents, as well as use a resource file other than FoxUser.dbf.

SET RESOURCE TO <resourcefile>

SET RESOURCE TO

SET RESOURCE ON

SET RESOURCE OFF

If you want to make changes to your resources, in the Command window, use the following commands:

CopyCode image Copy Code
SET RESOURCE OFF
USE FOXUSER
BROWSE

With the resource file open, you can use CHANGE, EDIT, BROWSE, DELETE, REPLACE and other FoxPro commands to modify or delete data. You can even use COPY TO to create a new resource table. When you have finished modifying the resource file, pack it if you marked records for deletion, and close it. Then, set the resource feature on with the following commands:

CopyCode image Copy Code
USE
SET RESOURCE ON

You can open the FoxUser.dbf file in a work area without setting resource OFF by issuing the command USE SYS(2005) AGAIN. SYS(2005) returns the name of the current resource file.

Expand image Конфигурация Встроенного Окна Просмотра (Predefining Browse Window Configuration)

One useful modification that you can make to the FoxUser.dbf file is changing the READONLY field for predefined Browse window configurations.

First, adjust a BROWSE window to display specific fields that are sized for easy manipulation, position the window and size it, split the window into two partitions, with one partition in BROWSE mode and one in CHANGE, then close the window. When the BROWSE window is closed, its configuration is saved in the current resource file, provided the field named READONLY is not set to T, and provided the window was not closed with Ctrl+Q.

Then, issue USE SYS(2005) AGAIN and edit the READONLY field, setting it to true ("T"). To do this, look for the BROWSE window resource that has a TYPE of PREFW, and ID of WINDBROW, and a NAME field with the alias of the table you just browsed. When the READONLY field is true (T), the corresponding resource data will not be overwritten if the Browse window configuration is later changed interactively.

Now, whenever the table is browsed with the BROWSE LAST command, the Browse window appears in the same position with all its field, size, and placement configurations the same as the last session. No matter how much the Browse window is changed by the user, it will always return according to the data in the resource when you BROWSE LAST.

Expand image См. также

Reference

Resource Files in Applications

Concepts

Visual FoxPro Configuration

Other Resources

File Structures

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Index File Structure (.idx)

Visual FoxPro 9.0
Структура индексного (.idx) файла
Смотрите также
CollapseAll image

Индексные файлы содержат одну заголовочную запись и одну или несколько записей узлов. Заголовочная запись содержит информацию о корневом узле, текущем размере файла, длине ключа, опции, сигнатуру, а также ASCII представления ключа key (ссылка 1 внизу) и выражения FOR, пригодные для печати. Заголовочная запись начинается с нулевого байта файла.

Оставшиеся узловые записи содержат аттрибут, число существующих ключей и указатели к узлам слева и справа (на том же уровне) от текущего узла. Они, кроме того, содержат группу символов, заключающих значение ключа и либо указатель к узлу нижнего уровня, либо реальный номер записи в таблице. Размер каждой записи, которая записывается в файл составляет 512 байт.

Заголовочная запись индекса
Byte offset | Описание
00 – 03 | Указатель к корневому узлу
04 – 07 | Указатель к списку свободных узлов ( -1, если список отсутствует)
08 – 11 | Указатель на конец файла (собственно представляет собой размер файла)
12 – 13 | Длина ключа
14 | Опции индекса (любые приведенные численные значения или их суммы): 1 – уникальный индекс 8 – индекс имеет опцию FOR
15 | Сигнатура индекса (предусмотрено для использования в будущем)
16 – 235 | Выражение ключа (несомпилируемое; до 220 символов) - смотрите ссылки 1,3
236 – 455 | Выражение FOR (несомпилируемое; до 220 символов завершаемое нуль терминатором - chr(0))
456 – 511 | Неиспользуемые
Запись узла индекса
Byte offset Описание

00 – 01

Аттрибуты узла (любые из следующих численных значений или их суммы): 0 – индексный узел 1 – корневой узел 2 – узел лист

02 – 03

Число существующих ключей (0, 1 или больше)

04 – 07

Указатель на узел, находящийся слева от текущего узла (на том же уровне; -1 если узел не существует)

08 – 11

Указатель на узел, находящийся справа от текущего узла (на том же уровне; -1 если узел не существует)

12 – 511

Место размером до 500 символов, содержащее значение ключа размером в длину ключа с добавлением четырехбайтного номера, хранимого в нормальном (читаемом) слева-направо формате: если узел представляет собой лист (аттрибут = 02 или 03), тогда четыре байта содержат реальный табличный номер (записи) в шестнадцатиричном формате; в противном случае, 4 байта содержат внутрииндексный указатель. Смотрите ссылку 2

Комбинация ключ/четырехбайтный шестнадцатиричный номер будет встречаться в файле столько раз, сколько записано в байтах 02 – 03.

1 Тип ключа не хранится в индексе. он может быть определен по выражению ключа.

2 Все, что угодно, кроме символьных строк, чисел, используемых как значения ключей и четырехбайтных номеров в узлах-листьях, представленных в реверсивных байтах (формат Intel 8086).

3 Числа, имеющие особое значение, когда используются в качестве ключа. Они сконвертированы по приведенному ниже алгоритму, так чтобы они могли быть отсортированы с использование тех же самых последовательных сопоставлений ASCII (collating sequence), что и символы:

  • Преобразование числа в формат IEEE с плавающей запятой. За подробностями обратитесь к Системные способности Visual FoxPro.

  • Замена порядка байт из порядка Intel 8086 в порядок "слева-направо".

  • Если число было отрицательным, то берется логическое дополнение числа (заменяются -swap- все 64 бита, 1 в 0 и 0 в 1); в противном случае, "переворачивается" только самый левый бит.

Expand image Пример упорядоченной структуры дерева

Поиск ключа в струтуре дерева, приведенной ниже, требует поиска единичного пути между корневым узлом и узлом-листом. Уза на самом нижнем уровне являются узлами-листами. Поскольку ключи сортированы, все ключи в поддеревьях меньше чем или равны родительскому узлу.

В приведенной выше иллюстрации, в качестве значений ключей используются буквы. Каждый ключ может также имет четырехбайтный шестнадцатиричный номер. Номера, ассоциированные с ключами в узлах-листьях доджны быть реальными табличными номерами — все ключи во всех других узлах должны иметь ассоциированные с ними внутрииндексные указатели.

Байты 12-511 в индексном узле могут выглядеть так, как показано ниже:

FoxPro Key Values

Комбинация "значение ключа/шестнадцатиричный номер" повторяется в байтах 12 – 511 n раз, где n предсталяет собой число существующих ключей.

Expand image Смотрите также

Справочное руководство

Структура компактного индексного файла (.idx)
Структура составного индексного файла (.cdx)
Структура табличных файлов (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Таблица стуктур табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Структура мемо-файла (.FPT)
Формат макро файлов (.fky)
Расширения файлов и типы файлов

Прочие ресурсы

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Macro File Format (.fky)

Visual FoxPro 9.0
Формат файла Macro (.fky)
Смотрите также
CollapseAll image

?

Файл макро состоит из заголовочной части и последовательного описания каждой макрокоманды друг за другом. Заголовочная часть содержит сигнатуру (признак) того, что данный файл - это файл макро, а также общее количество содержащихся в нем макро команд. Заголовочная часть начинается с нулевой позиции файла и занимает 18 байт.

Непосредственно за заголовочной частью следует последовательное описание каждой макрокоманды друг за другом.

Expand image Заголовочная часть

Смещение в байтах | Описание
00 – 01 | Сигнатура. Признак того, что данный файл является файлом макрокоманд. Принимает значение 0x79FF, начиная с младшего разряда
02 – 15 | пгнорируются
16 – 17 | Общее количество макрокоманд, записанных в данном файле. Запись сделана в двоичном виде и хранится, начиная с младшего разряда
18 – до конца | Собственно описание макрокоманд

Expand image Отдельные макрокоманды

Смещение в байтах | Описание
00 – 19 | пмя макрокоманды
20 – 21 | Длина макрокоманды. Количество нажатий клавиш, которые необходимо сделать для выполнения макрокоманды. Запись сделана в двоичном виде и хранится, начиная с младшего разряда
22 – 23 | Код клавиш, запускающих макрокоманду. Запись сделана в двоичном виде
24 – до конца макрокоманды | Коды клавиш, в составе макрокоманды. Под каждую клавишу отводится два байта. Таким образом, общая длина макрокоманды - это удвоенное значение, записанное в 20 и 21 байтах

Expand image Смотрите также

Ссылки

Структура табличного файла (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Структура составного индексного файла (.cdx)
Расширения файлов и типы файлов
Структура файла Memo (.FPT)
Структура компактного индексного файла (.idx)
Структура индексного файла (.idx)

Другие ссылки

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Memo File Structure (.FPT)

Visual FoxPro 9.0
Структура файла Memo (.FPT)
Смотрите также
CollapseAll image

Файл memo состоит из заголовочной части и любого числа блоков. Заголовочная часть содержит указатель на следующий свободный блок и размер одного блока в байтах. Размер одного блока определяется настройкой SET BLOCKSIZE в момент создания файла. Заголовочная часть начинается с нулевой позиции файла и занимает 512 байт. Настройка SET BLOCKSIZE TO 0 устанавливает размер блока равным 1 байту.

Непосредственно за заголовочной частью следуют блоки заголовка и содержания полей memo. Табличный файл содержит номера блоков с которых начинается содержимое memo-полей. Позиция блока в файле memo определяется как произведение номера блока на размер одного блока (размер одного блока указан в заголовке файла memo). Собственно содержимое поля memo начинается уже в пределах адресного блока. Поле memo может занимать более одного последовательного блока.

Note Замечание

Под термином "Memo" в данном случае понимается не поле типа "Memo", а поле любого типа, размер которого может превышать 255 символов и содержимое которого хранится в файле memo (.fpt). Это поля типа Memo, Memo (Binary), Blob, General

Expand image Заголовочная часть файла memo

Смещение в байтах | Описание
00 – 03 | Указывает на следующий свободный блок
04 – 05 | Не используется
06 – 07 | Размер одного блока (в байтах)
08 – 511 | Не используется

Адрес и размер записаны как Integer и хранятся, начиная с младшего разряда.

Expand image Заголовок блока Memo и Memo текст

Смещение в байтах | Описание
00 – 03 | Сигнатура блока (определяет тип данных, хранящихся в блоке) 0 – объект (для типов данных, ссылающихся на объект. Например, поле типа General) 1 – текст (для текстовых типов данных. Например, поле типа Memo)
04 – 07 | Длина одного memo (в байтах)
08 – n | Содержимое Memo (n = длине)

Сигнатура и длина записаны как Integer и хранятся, начиная с младшего разряда.

Expand image Замечания

Модификация содержимого полей memo, как правило, происходит не путем замещения старых данных на новые, даже если физически достаточно места в выделенных блоках, а путем записи всего нового содержимого поля memo на новом месте, начиная с первого свободного блока.

Первый свободный блок - это конец файла memo. Таким образом, при любой модификации содержимого полей memo старая информация, то, что было до модификации, остается без изменений, а новое значение записывается в конец файла memo

Исключением является модификация при открытии таблицы в режиме Exclusive. В этом случае, при модификации содержимого, если новое значение помещается в уже выделенных блоках файла memo, то происходит замещение старой информации на том же месте. В противном случае, логика та же - старая информация не изменяется, а новая записывается в конец файла.

Таким образом, при интенсивной модификации полей любого типа, содержимое которых хранится в файле memo (это поля типа Memo, Memo (Binary), Blob, General) наблюдается лавинообразный рост размера этого файла. Причем большую часть его содержимого составляет уже не используемые старые данные. То, что было до внесения изменений.

Чтобы удалить уже не использующуюся старую информацию необходимо выполнить команду PACK или PACK MEMO. Но, поскольку, данная команда может быть выполнена только при открытии таблицы в режиме Exclusive, то ее выполнение желательно выделять в отдельные административные процедуры по обслуживанию базы данных.

Expand image Смотрите также

Ссылки

Структура табличного файла (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Структура таблиц табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Команда SET BLOCKSIZE
Структура индексного файла (.idx)
Структура компактного индексного файла (.idx)
Структура составного индексного файла (.cdx)
Формат файла Macro (.fky)
Расширения файлов и типы файлов
Структура файла Memo (.FPT)

Другие ссылки

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Visual FoxPro 9.0
Структура табличного файла (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Смотрите также
CollapseAll image

Visual FoxPro использует таблицы для хранения данных определяемых в различных типах файлов. Следующий список включает типы файлов, которые хранят данные в виде таблиц:

  • Database (.dbc) - Контейнер базы данных

  • Form (.scx) - Форма

  • Label (.lbx) - Этикетка

  • Menu (.mnx) - Макет меню

  • Project (.pjx) - Проект

  • Report (.frx) - Отчет

  • Table (.dbf) - Таблица

  • Visual class library (.vcx) - Визуальная библиотека классов

Вы можете использовать и просматривать эти файлы точно так же, как Вы просматриваете любые табличные файлы, поскольку эти файлы фактически являются таблицами.

Табличный файл состоит из заголовочной части и собственно данных. Заголовочная часть описывает структуру таблицы и содержит прочую информацию, связанную с таблицей. Она начинается с нулевой позиции файла. Собственно данные следуют непосредственно за заголовком в последовательно располагающихся байтах и содержат собственно текст полей.

Note Замечание

Собственно данные в файле начинаются с позиции, указанной в 8 и 9 байтах заголовочной части. Каждая строка данных начинается с байта, содержащего флаг (признак) удаленной записи. Если этот байт в кодировке ASCII является пробелом (0x20), то данная запись не является удаленной. Если первый байт строки - это звездочка (0x2A), то данная запись является удаленной. Данные из собственно полей следуют непосредственно за флагом удаления.

Note Замечание

Файл таблицы может заканчиваться дополнительным байтом - признаком конца файла (0x1A). Но может его и не иметь. На работу с таблицей это не оказывает никакого влияния.

Длина записи в байтах определяется как сумма длин всех полей плюс один байт на флаг удаления.

Данные типа Integer в табличном файле хранятся, начиная с младшего разряда.

Дополнительную информацию о структуре таблиц разных типов файлов Вы можете посмотреть Структура таблиц табличных файлов.

Expand image Структура заголовка таблицы

Смещение в байтах Описание

0

Тип файла:

0x02 FoxBASE

0x03 FoxBASE+/Dbase III plus, нет memo

0x30 Visual FoxPro

0x31 Visual FoxPro, поддержка свойства autoincrement

0x32 Visual FoxPro, поддержка полей типа Varchar, Varbinary, или Blob

0x43 dBASE IV SQL табличный файл, нет memo

0x63 dBASE IV SQL системный файл, нет memo

0x83 FoxBASE+/dBASE III PLUS, с memo

0x8B dBASE IV с memo

0xCB dBASE IV SQL табличный файл, с memo

0xF5 FoxPro 2.x (или младше) с memo

0xFB FoxBASE

Note Замечание

Visual FoxPro может работать со всеми перечисленными типами файлов как с собственными файлами без дополнительных драйверов и преобразований, но только в том случае, если все остальные структуры таблиц соответствуют системным ограничениям Visual FoxPro.

Note Замечание

При создании новых таблиц в Visual FoxPro значение данного байта устанавливается в одно из трех значений: 0x30, 0x31 или 0x32 в зависимости от факта использования соответствующих типов полей. В случае добавления, удаления или изменения полей произойдет и модификация данного байта, если необходимо.

1 - 3

Дата последнего изменения области данных таблицы (YYMMDD)

4 – 7

Количество записей в таблице

8 – 9

Позиция начала области данных

10 – 11

Длина одной строки (записи) данных, включая флаг удаления

12 – 27

Зарезервировано

28

Табличные флаги:

0x01 файл имеет структурный индексный файл .cdx

0x02 файл имеет связанный с ним файл .fpt для хранения содержимого полей типа Memo и Blob

0x04 файл является контейнером базы данных (.dbc)

Этот байт может содержать сумму любых допустимых значений. Например, значение 0x03 указывает на то, что таблица имеет как структурный индексный файл .cdx так и файл .fpt для хранения содержимого полей типа Memo и Blob.

29

Обозначение кодовой страницы

30 – 31

Зарезервировано, содержит 0x00

32 – n

Описание полей. Количество полей определяется количеством описаний. Для каждого поля таблицы существует одно и только одно описание. Блок описания одного поля занимает ровно 32 байта.

n+1

Признак конца заголовочной части (0x0D)

n+2 to n+264

Область в 263 байта, которая содержит относительный путь к файлу контейнера базы данных (.dbc) связанному с данной таблицей. Если первый байт этой области 0x00, то данный файл не связан с контейнером базы данных. Поэтому сам файл контейнер базы данных всегда содержит в первом байте этой области 0x00.

Expand image Структура описания полей

Смещение в байтах Описание

0 – 10

Имя поля длиной не более 10 символов. Если количество символов в имени поля меньше 10, то недостающее количество символов дополняется значением null (0x00).

11

Тип поля:

W - Blob

C – Character

C – Character (binary)

Y – Currency

B – Double

D – Date

T – DateTime

F – Float

G – General

I – Integer

L – Logical

M – Memo

M – Memo (binary)

N – Numeric

P – Picture - оставлено для совместимости с FoxPro 2.x

Q - Varbinary

V - Varchar

V - Varchar (binary)

Note Замечание

Для каждого поля типа Varchar или Varbinary, один бит или бит "переменной длины" переносится в последнее системное поле с именем _NullFlags, которое является скрытым полем и хранит статус значения null для всех полей, которые могут принимать значение null. Если поле типа Varchar или Varbinary также может принимать значение null, то бит статуса null следует за битом "переменной длины". Если бит "переменной длины" принимает значение 1, то это значит, что длина текущего значения в поле записана в последнем байте, выделенном под значение поля. В противном случае, если данный бит принимает значение 0, то длина текущего значения равна длине поля.

12 – 15

Смещение поля в записи

16

Длина поля (в байтах)

17

Количество знаков в дробной части

18

Флаги поля:

0x01 Системное поле (не видимое для пользователя)

0x02 Поле может принимать значение null

0x04 Информация в поле записана в двоичном виде или поле имеет свойство Binary (только для полей типа Character и Memo)

0x06 (0x02+0x04) Когда поле может принимать и значение NULL, и информация в поле записана в двоичном виде или поле имеет свойство binary (Integer, Currency, и Character/Memo поля)

0x0C Поле имеет свойство автоинкремента

19 - 22

Значение для автоинкрементного поля. Следующее значение, которое будет присвоено в новой записи

23

Значение для автоинкрементного поля. Шаг приращения значения

24 – 31

Зарезервировано

Подробнее об ограничениях на количество символов в записи, максимальном числе полей и прочих ограничениях, смотрите Системные возможности Visual FoxPro.

Expand image Замечания

Если Вы открыли в Visual FoxPro табличный файл, созданный в ранней версии FoxPro или же созданный в другой системе, то Visual FoxPro не изменяет заголовок таблицы, до тех пор, пока Вы не внесете такие изменения в структуру таблицы, которые не поддерживаются в соответствующей версии табличного файла.

Например, в версии FoxPro 2.x не существовало таких типов данных как Integer или Currency, не было поддержки значений типа Null, не было свойства Binary для символьных полей, не было понятия "контейнер базы данных" (.dbc). Следовательно, как только Вы измените структуру таблицы, созданной в версии FoxPro 2.x таким образом, что введете данные, не поддерживаемые в этой версии, то таблица перестанет соответствовать своему формату. В этом случае как раз и произойдет изменение как версии файла DBF, так и структуры заголовка таблицы.

Note Совет

Вы можете использовать следующую формулу для подсчета количества полей в таблице:

(x – 296)/32.

В этой формуле:

x - это позиция начала области данных (содержимое с 8 по 9 байтов заголовка таблицы)
296 - это 263 (информация о связи с контейнером базы данных) + 1 (признак завершения заголовка таблицы) + 32 (заголовочная часть до начала описания первого поля таблицы)
32 - это длина одного блока описания поля таблицы.

Expand image Смотрите также

Задачи

Как: Проверить на различия в файлах форм, отчетов и прочих табличных файлах

Ссылки

Кодовые страницы, поддерживаемые Visual FoxPro
Типы данных и полей Visual FoxPro
Структура таблиц табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Расширение файлов и типы файлов

Прочие ресурсы

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Table Structures of Table Files (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Visual FoxPro 9.0
Структуры табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Смотрите также
CollapseAll image

Описание структуры таблиц хранится в файлах, расположенных в директории с именем "FILESPEC". Директория с именем "FILESPEC" содержит два файла проектов: 60SPEC.pjx и 26SPEC.pjx. Файл проекта 60SPEC.pjx содержит таблицы и отчеты, которые описывают структуру таблиц Visual FoxPro версии 5.0 или старше. Файл проекта 26SPEC.pjx содержит таблицы и отчеты, которые описывают структуру таблиц FoxPro версии 2.6

Для того, чтобы увидеть описание структуры таблицы, распечатайте соответствующий отчет. Расположенная далее таблица показывает какие файлы отчетов какие типы файлов описывают. Некоторые типы файлов требуют более одного отчета для своего описания, поскольку они имеют слишком много столбцов, чтобы разместить их все на одном листе.

Note Замечание

Все отчеты предполагают ориентацию бумаги "Ландшафт".

Expand image Виды файлов для Visual FoxPro версии 5.0 или старше

Для того, чтобы увидеть структуры таблицы ... | Распечатайте отчет | Который использует
Database - Контейнер базы данных (1) | 60DBC.frx | 60DBC.dbf
Form (форма) и Visual Class Library (визуальная библиотека классов) | 60SCX1.frx 60SCX2.frx | 60SCX.dbf
Menu - макет меню (2) | 60MNX.frx | 60MNX.dbf
Project - проект | 60PJX1.frx 60PJX2.frx | 60PJX.dbf
Report (отчет) и Label (этикетка) | 90FRX.frx или 60FRX1.frx и 60FRX2.frx | 60FRX.dbf

(1) Свойства контейнера базы данных (database) могут быть распечатаны при помощи отчета 60DBCPRO.frx.

(2) Расположение полей в Visual FoxPro версии 6.0 отличается от расположения полей в Visual FoxPro версии 5.0. Кроме того, добавлены поля для поддержания картинок в Visual FoxPro версии 7.0.

Expand image FoxPro версии 2.6

Для того, чтобы увидеть структуры таблицы ... | Распечатайте отчет | Который использует
Screen - экран | 26SCX1.frx 26SCX2.frx | 26SCX.dbf
Menu - макет меню | 26MNX.frx | 26MNX.dbf
Project - проект | 26PJX1.frx 26PJX2.frx | 26PJX.dbf
Report (отчет) и Label (этикетка) | 26FRX1.frx 26FRX2.frx | 26FRX.dbf

Expand image Смотрите также

Задачи

Как: Найти отличия в Forms (формах), Reports (отчетах), и прочих табличных файлах

Ссылки

Структура табличного файла (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Кодовые страницы, поддерживаемые Visual FoxPro
Типы полей и данных в Visual FoxPro
Типы файлов и расширений

Определения

Понимание и расширение структуры отчета

Другие ресурсы

Структуры файлов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Fonts Overview

Visual FoxPro 9.0 Language Reference
Обзор шрифтов
См. также

Visual FoxPro может использовать установленные в операционной системе шрифты. Шрифты определяют вид отображаемого или напечатанного текста. Кроме того, шрифты определяют позицию и размер элементов управления.

Управление размером и позицией

Свойство формы ScaleMode управляет размером и позицией элементов управления, размещенных на этой форме. Если значение ScaleMode установлено в Pixels (3), то размер элемента управления будет указан в пикселях. Если значение ScaleMode установлено в Foxels (0), то размер элемента управления определяется текущим шрифтом формы и его размером.

Foxel - это термин, принятый в Visual FoxPro, который соответствует максимальной высоте и средней ширине символа для текущего шрифта. Высота строки соответствует максимальной высоте буквы для текущего шрифта; ширина колонки соответствует средней ширине буквы для текущего шрифта.

Visual FoxPro позволяет использовать десятичные дроби при задании координат строк и колонок, чтобы точнее спозиционировать элементы управления и результаты, отображаемые в форме. В FoxPro для MS-DOS дробные значения координат строк и колонок игнорировались.

Для установки или изменения шрифта главного окна Visual FoxPro вначале убедитесь, что в строке меню есть меню Format, которое содержит пункт Font, а затем нажмите клавишу SHIFT и откройте меню Format - в результате пункт меню Font будет заменен пунктом Screen Font, который и следует выбрать (меню Format с пунктом Font доступно, например, при открытом окне редактирования текста). Шрифт пользовательского окна может быть указан в предложении FONT команды DEFINE WINDOW.

Подстановка шрифта

Если вы указали шрифт, который не доступен в операционной системе Windows, то вместо него будет подставлен шрифт со сходными характеристиками. Windows рассматривает размер точки, характеристики засечки и шаг шрифта, которые Вы запрашиваете. Обычно подставляется шрифт TrueType. Растровый или векторный шрифт будет подставлен только тогда, когда характеристики шрифта, который Вы запрашиваете, ему близки.

Функции для работы со шрифтами

В следующей таблице приведены функции, которые могут применяться для возврата информации о шрифтах и тексте, который их использует:

Функция | Описание
AFONT( ) | Помещает информацию о доступных шрифтах в массив.
FONTMETRIC( ) | Возвращает атрибуты установленных шрифтов.
GETFONT( ) | Отображает диалоговое окно Font и возвращает название шрифта, выбранного в этом окне.
SYSMETRIC( ) | Возвращает размер отображаемого элемента.
SCOLS( ) | Возвращает количество колонок, доступных в главном окне Visual FoxPro. Полезно применять при центровке текста или элемента управления в главном окне Visual FoxPro.
SROWS( ) | Возвращает количество строк, доступных в главном окне Visual FoxPro. Полезно применять при центровке текста или элемента управления в главном окне Visual FoxPro.
WCOLS( ) | Возвращает количество колонок в указанном окне. Полезно применять при центровке текста или элемента управления в пользовательском окне.
WFONT( ) | Возвращает наименование, размер и стиль текущего шрифта окна.
WROWS( ) | Возвращает количество строк в указанном окне. Полезно применять при центровке текста или элемента управления в пользовательском окне.

См. также

Ссылки

Свойство ScaleMode
Функции
Свойства

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Graphics Support in Visual FoxPro

Visual FoxPro 9.0
Поддержка графики в Visual FoxPro
Смотрите также
CollapseAll image

Visual FoxPro версии 8.0 и последующих версий вместо собственных средств для представления файлов форматов Graphics Interchange Format (.gif) и Joint Photographic Electronic Group (.jpeg) использует средства Graphics Device Interface+ (GDI+) для Microsoft Windows XP и последующих версий. Visual FoxPro поддерживает все форматы, которые обрабатывает GDI+, включая анимированные .gif файлы.

Следующая таблица показывает графические форматы, поддерживаемые Visual FoxPro.

Расширение файла | Наименование типа файла
.ani | Анимированный курсор (Animated Cursor)
.bmp | Растр (Bitmap)
.cur | Курсор (Cursor)
.dib | Device Independent Bitmap
.emf | Windows Enhanced Metafile
.exif | Exchangeable Image File
.gif, .gfa | Graphics Interchange Format
.ico | Иконка (Icon)
.jpg, .jpeg, .jpe, .jfif | Joint Photographic Electronic Group, JPEG File Interchange Format
.png | Portable Networks Graphics
.tif, .tiff | Tag Image File Format
.wmf | Windows метафайл (Windows Metafile)
Note Примечание

В Visual FoxPro курсор, анимированный курсор и иконка могут использоваться как графические файлы. Например, вы можете указать файл анимированного курсора в свойстве Picture для элемента управления Image. Однако элемент управления Image отобразит этот курсор в статичном (не анимированном) виде.

Если Visual FoxPro не может распознать специфические версиии поддерживаемых им форматов, таких, как .bmp, .dib, .cur, .ani, или .ico, то он передает их в GDI+ для обработки и отображения. Поэтому, поскольку новые статические форматы будут поддерживаться в будущих версиях GDI+, Visual FoxPro тоже сможет поддерживать их автоматически.

С использованием GDI+ в Visual FoxPro добавилось свойство RotateFlip в элементе управления Image, с помощью которого вы можете вращать и инвертировать или переворачивать изображение. Для большей информации смотрите свойство RotateFlip.

Note Примечание

GDI+ устанавливается вместе с операционной системой Windows XP и необходим для запуска Visual FoxPro. Visual FoxPro содержит в себе модуль слияния с GDI+ для распространения пользовательских приложений, работающих под операционными системами Windows 98, Windows Me и Windows 2000 (для этого нужно использовать InstallShield Express for Visual Foxpro, входящий в дистрибутив Visual FoxPro).

Visual FoxPro обеспечивает использование графики при помощи трех нижеследующих возможностей:

  • Язык Visual FoxPro

  • Элементы управления и объекты

  • Интерфейс пользователя

Expand image Язык Visual FoxPro

Вы можете использовать функцию GETPICT( ) для доступа к диалоговому окну Visual FoxPro, с помощью которого осуществляется взаимодействие с файлами допустимых графических форматов. Вы можете также получить доступ к графике через свойства элементов управления и объектов, описываемых здесь ниже.

Expand image Элементы управления и объекты

Следующая таблица показывает элементы управления и объекты со свойствами, для которых можно указать графические файлы. Вы можете указать .gif, .jpg, .cur, .ani, и .ico графические файлы для этих свойств в дополнении к .bmp и .dib графическим файлам, поддерживаемых в предыдущих версиях Visual FoxPro.

Элемент управления или объект | Свойства
Элемент управления CheckBox | DisabledPicture, DownPicture Picture
Элемент управления CommandButton | DisabledPicture, DownPicture Picture
Элемент управления ComboBox | Picture
Объект Container | Picture
Объект Control | Picture
Объект Custom | Picture
Объект Form | Picture
Элемент управления Image* | Picture
Элемент управления ListBox | Picture
Элемент управления OptionButton | DisabledPicture, DownPicture Picture
Объект Page | Picture
Системная переменная _SCREEN | Picture

* Visual FoxPro поддерживает анимированные .gif файлы только для свойства Picture элемента управления Image.

Expand image Интерфейс пользователя

Вы можете выбрать графические файлы при помощи диалогового окна Open (Открыть) в некоторых конструкторах Visual FoxPro. Диалоговое окно Open для ниже перечисленных конструкторов содержит в себе все допустимые форматы графических файлов.

Конструкторы форм и классов

Вы можете найти и выбрать изображение, вызвав диалоговое окно Open в конструкторах форм и классов для вышеуказанных свойств в тех элементах управления, которые поддерживают использование графических файлов.

Выбор изображения в конструкторах форм и классов

  • В окне Properties дважды щелкните на свойстве Picture.

Visual FoxPro выведет диалоговое окно Open для поиска и выбора изображения.

Менеджер проекта

Вы можете найти, выбрать и добавить графический файл к проекту в менеджере проекта.

Добавление графического файла к проекту

  • В менеджере проекта выберите Other Files в закладках All или Other и щелкните на кнопке Add.

Visual FoxPro выведет диалоговое окно Open для поиска и выбора изображения.

Expand image GDI+ Поддержка изображения

GDI+ - это основанный на классах интерфейс прикладного программирования (Application Programming Interface - API) для программистов, пишущих на C/C++. Это позволяет приложениям использовать графику и форматированный текст как на экране, так и для вывода на печать. Приложения, базирующиеся на Microsoft Win32 API не взаимодействуют с графическими устройствами непосредственно. Вместо этого GDI+ взаимодействует с драйверами устройств от имени приложений. GDI+ также поддерживается 64-bit Windows операционными системами.

GDI+ может использоваться во всех Windows-приложениях. GDI+ содержится в операционных системах Microsoft Windows XP и Windows Server 2003. GDI+ необходим и доступен для Visual FoxPro приложений, которые запускаются в операционных системах Windows 2000, Windows Millennium Edition и Windows 98. Для загрузки самых последних и свежих версий дистрибутивов посетите сайт Microsoft Windows Platform SDK: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ или сайт Microsoft Download Center: http://www.microsoft.com/downloads/.

Файл GDIPlus.dll должен быть размещен в системной папке компьютера пользователя (для Windows 2000, например, в папке ...\SYSTEM32).

Expand image Поддержка анимированных .gif изображений

Анимированные .gif файлы являются популярным видом файлов формата .gif. Они имеют то же расширение (.gif) и содержат специальные фреймы (кадры) изображений, циклически сменяющихся и производящих при этом эффект анимации. Visual FoxPro поддерживает анимированные .gif файлы так, как показано ниже:

  • Visual FoxPro поддерживает анимированные .gif файлы только для свойства Picture в элементе управления Image.

  • Анимированные .gif файлы отображаются как в режиме разработки, так и в режиме времени выполнения программы.

  • Visual FoxPro показывает только первый фрейм анимированного .gif файла , если это не элемент управления Image.

  • Visual FoxPro воспроизводит анимированный .gif файл основываясь исключительно на его внутреннем счетчике.

  • Visual FoxPro делает паузу в одну секунду между повторами анимации.

  • Если размер или положение элемента управления Image изменяются во время исполнения программы (run-time), в то время, когда происходит анимация, Visual FoxPro переключается на первый фрейм (кадр) и продолжает сначала.

  • Visual FoxPro отображает изображение .gif тем размером, который был указан создателем .gif, но не элементом управления Image. Visual FoxPro не обрезает и не масштабирует изображение.

  • В процессе анимации полное изображение или его часть стираются, чтобы следующий фрейм мог быть перерисован. Visual FoxPro сводит к минимуму излишние перерисовки для предотвращения появления мерцания. Если позиция изображения изменилась, например, элемент управления или его контейнер были перемещены, целая часть изображения должна быть перерисована.

  • Та как Visual FoxPro сохраняет представление отдельного изображения как скрытую битовую карту, несколько элементов управления Image, использующих один и тот же анимированный файл, всегда синхронизированы между собой. Если вы хотите, чтобы анимация одного и того же изображения для различных элементов управления Image отличалась, нужно создать копии каждого анимированного .gif и переименовать их.

  • Создатель анимированных .gif файлов может указать время между фреймами. Это время может варьироваться между каждым фреймом.

  • Если вы используете анимированный .gif файл не в элементе управления Image, анимации не происходит. Однако, если позже вы используете изображение в элементе управления Image, изображение анимируется только если вы сначала выполните команду CLEAR...RESOURCES. Это происходит потому, что изображение уже записано в память, и анимационный атрибут будет игнорироваться, когда изображение перерисовывается в элементе управления, не являющимся Image. Вы должны использовать команду CLEAR...RESOURCES для перезагрузки изображения в память.

Expand image Смотрите также

Задачи

Как: Создание методов Access и Assign

Ссылки

Свойство Picture (Visual FoxPro)
Элемент управления Image (Visual FoxPro)
Команды CLEAR...

Понятия

Методы Access and Assign

Другие средства

Общие понятия

Для предложений или сообщений об ошибках в Помощи или в других функциях этого продукта, посетите страницу обратной связи.
© Microsoft Corporation. All rights reserved.

Перевод Рябинин Олег aka OLEGarh


Keyboard Shortcuts (Visual FoxPro)

Visual FoxPro 9.0
Клавиатурные комбинации быстрого вызова (Visual FoxPro)
See Also

Visual FoxPro поддерживает клавиатурные комбинации быстрого вызова в следующих областях:

  • Окно Browse

  • Class Browser

  • Кодовое окно

  • Элементы управления

  • Редактор

  • Конструктор форм и Конструктор Классов

  • Справка

  • Команды меню

  • Окно Предварительного просмотра (Print Preview)

  • Окно свойств (Properties)

  • Конструктор отчетов (Report Designer) и Конструктор этикеток (Label Designer)

  • Манипулирование окнами (Window manipulation)

Оно Browse

Клавиатурные комбинации быстрого вызова | Действие
CTRL+HOME | Перемещает указатель на первую запись курсора или таблицы в Grid'е или окне BROWSE.
CTRL+END | Перемещает указатель на последнюю запись курсора или таблицы в Grid'е или окне BROWSE.
CTRL+HOME CTRL+SHIFT+HOME CTRL+PAGE UP CTRL+PAGE DOWN | Открывается окно редактирования, когда клавиатурная комбинация нажата в мемо-поле.

Class Browser

Клавиатурные комбинации быстрого вызова | Действие
F5 | Обновляет текущее представление (view).
SHIFT+F10 | Вызывает всплывающее меню.
Right-click+кнопка Open Right-click+кнопка Add Right-click+кнопка Component Gallery | Отображает список из 32 файлов, которые были загружены последними.
Right-click+кнопка View Class Code | Отображает код класса для просмотра в виде web-формы.
CTRL+Right-click+Иконка Class (в верхнем левом углу Class Browser) | Создает экземпляр класса с помощью функции NEWOBJECT( ) в Командном окне. Тоже действие происходит при перемещении иконки Класса в Командное окно с помощью мыши.
SHIFT+Right-click+Иконка Class (в верхнем левом углу Class Browser) | Для форм - вызывает их выполнение. Для других элементов управления и объектов - создает экземпляр элемента управления или объекта. Кроме того, для элемента управления - добавляет его в позицию0,0 рабочего стола Visual FoxPro. Тоже действие происходит при перетаскивании иконки Класса на рабочий стол Visual FoxPro.

Кодовое окно

Клавиатурные комбинации быстрого вызова | Действие
ALT+I | Нажимает кнопку View Parent Code (Просмотр кода родительского класса).

Элементы управления

Клавиатурные комбинации быстрого вызова | Действие
CTRL+TAB | Если в фокусе находится Grid, то он теряет фокус. Если в фокусе находится EditBox и его свойство AllowTabs равно True (.T.)то EditBox теряет фокус. Если на форме или в диалоговом боксе находится PageFrame, то фокус перемещается на его следующую страницу (закладку). Но это правило не действует для страниц Project Manager'а и в том случае, если странице содержит элемент ActiveX.
CTRL+SHIFT+TAB | Если на форме или в диалоговом боксе находится PageFrame, то фокус перемещается на его предыдущую страницу. Но это правило не действует для страниц Project Manager'а и в том случае, если странице содержит элемент ActiveX.
TAB | Если в фокусе находится Grid, то перемещает указатель на следующее поле.

Редактор

я

Клавиатурные комбинации
быстрого вызова
Действие

ALT+Drag

Вырезание и вставка.

Замечание. По умолчанию, перетаскиваемый (drag-and-drop) текст можно вставить между другими словами. Опция "Drag drop between words", расположенная на странице Editor окна Options, которое вызывается через одноименный пункт меню Tools, позволяет переключать вставку перетаскиваемого (drag-and-drop) текста с "вставки между словами" на "вставку между символами слов".
To toggle between dragging text within words and dragging text between words, press ALT+Drag.(от переводчика - я не смог получить эффект, описанный в последнем приложении)

CTRL+Drag

Копирование и вставка.

CTRL+I

Показывает IntelliSense Quick Info.

CTRL+J

Показывает IntelliSense List Members или List Values.

F2

Переход на линию со следующей закладкой (bookmark).

SHIFT+F2

Переход на линию с предыдущей закладкой (bookmark).

ALT+SHIFT+F2

Включает или выключает закладку (bookmark) на текущей линии.

F3

Ищет следующее вхождение ранее указанного текста.

CTRL+F3

CTRL+G

Ищет следующее вхождение выделенного текста.

SHIFT+F3

Ищет предыдущее вхождение ранее указанного текста.

CTRL+SHIFT+F3

Ищет предыдущее вхождение выделенного текста.

CTRL+DOWNARROW

Прокручивает содержимое окна вверх без перемещения курсора.

CTRL+UPARROW

Прокручивает содержимое окна вниз без перемещения курсора.

CTRL+LEFTARROW

Перемещает курсор на одно слово влево.

CTRL+RIGHTARROW

Перемещает курсор на одно слово вправо.

F9

Вставляет удаленную точку останова программы (breakpoint).

CTRL+F9

Разрешает или запрещает использование точки останова программы (breakpoint).

CTRL+B

Вызывает на передний план диалоговое окно Breakpoints.

ALT+F2

Добавляет/Убирает отметку Task List shortcut (Adds/Removes Task List shortcut).

CTRL+U

Переводит выделенный текст в нижний регистр.

CTRL+SHIFT+U

Переводит выделенный текст в верхний регистр.

CTRL+BACKSPACE

Удаляет слово слева от курсора.

Конструктор форм и Конструктор классов

Клавиатурные комбинации быстрого вызова | Действие
Клавиши со стрелками | Перемещает выделенные элементы на один пиксел.
CTRL+E | Запускает форму прямо из Конструктора форм.
CTRL+SHIFT+Click на элементе управления | Перейти к элементу управления, находящемуся на самом нижнем слое контейнера (Drills down to a control in a container).
CTRL+Click на контейнере | Перейти к следующему слою контейнера (Drills down through the container).
SHIFT+Клавиши со стрелками | Изменяет высоту или ширину выделенных элементов на один пиксел.

Справка

Клавиатурные комбинации быстрого вызова | Действие
F1 | Отображает содержание справки или контекстно-чувствительную справку по текущей теме, например, по выделенному ключевому слову в командном окне или по текущему свойству в окне свойств.
SHIFT+F1 | Приспосабливает контекстно-чувствительную помощь под пользователя. Форма указателя мыши изменяется на стрелку со знаком вопроса, после чего можно кликнуть на интересующий вас пункт. такой например, как команда меню или панель управления, чтобы отобразить контекстно-чувствительную справку, если таковая, конечно, имеется для этого пункта.

Команды меню

Клавиатурные комбинации быстрого вызова | Команда | Меню
CTRL+A | Выделить все (Select All). | Edit
CTRL+C | Копировать (Copy). | Edit
CTRL+D | Команда запустить (Do). | Program
CTRL+E | Удалить пункт (Delete Item). | Menu
CTRL+E | Запустить программу (Do <program>). Запустить форму (Run Form). | Program Form
CTRL+F | Поиск (Find). | Edit
CTRL+G | Продолжить поиск (Find Again). | Edit
CTRL+H | Изменить разделы (Change Partitions). | Table
CTRL+I | Вставить пункт (Insert Item). | Menu
CTRL+J | Информация о проекте (Project Info). | Project
CTRL+L | Заменить (Replace). | Edit
CTRL+M | Продолжить (Resume). | Program
CTRL+N | Новый (New). | File
CTRL+O | Открыть (Open). | File
CTRL+P | Печатать (Print). | File
CTRL+Q | Закрыть текущее окно редактирования и отменить сделанные изменения.. См. также CTRL+W. Выполнить запрос (Run Query). | - Query
CTRL+R | Вернуть отмененные изменения (Redo). | Edit
CTRL+S | Сохранить (Save). | File
CTRL+T | Поставить/Снять отметку об удалении (Toggle Deletion Mark). | Table
CTRL+V | Вставить (Paste). | Edit
CTRL+W | Закрыть текущее окно редактирования или диалоговый бокс и сохранить сделанные изменения. | -
CTRL+X | Вырезать (Cut). | Edit
CTRL+Y | Добавить новую запись (Append New Record). | Table
CTRL+Z | Отменить изменения (Undo). | Edit

Окно Предварительного просмотра (Print Preview)

Клавиатурные комбинации быстрого вызова | Действие
Z | Увеличивает и уменьшает размер страницы.
L | Переключение между различным изменением масштаба уровней.
G | Открыть диалоговый бокс Goto.
ESC | Закрыть окно Print Preview.
LEFTARROW | Прокрутить содержимое страницы окна Print Preview влево.
RIGHTARROW | Прокрутить содержимое страницы окна Print Preview вправо.
UPARROW | Прокрутить содержимое страницы окна Print Preview вверх.
DOWNARROW | Прокрутить содержимое страницы окна Print Preview вниз.
PAGEDOWN | Перейти на следующую страницу окна Print Preview.
PAGEUP | Перейти на предыдущую страницу окна Print Preview.
HOME | Перейти на первую страницу окна Print Preview.
END | Перейти на последнюю страницу окна Print Preview.

Окно свойств (Properties)

Клавиатурные комбинации быстрого вызова | Действие
ALT+DOWN ARROW | Раскрыть список объектов.
ALT+UP ARROW | Закрыть список объектов.
CTRL+PAGE DOWN DOWN ARROW RIGHT ARROW | Перейти на следующий объект в списке.
CTRL+PAGE UP UP ARROW LEFT ARROW | Перейти на предыдущий объект в списке.
CTRL+END | Перейти на последний объект в списке.
CTRL+HOME | Перейти на первый объект в списке.
TAB | Перейти на следующий элемент управления в окне Properties.
SHIFT+TAB | Перейти на предыдущий элемент управления в окне Properties.
SHIFT+F10 | Отобразить соответствующее всплывающее меню.
CTRL+ALT+буква | Выбрать в списке свойство, название которого начинается с буквы. Например, при наборе комбинации CTRL+ALT+B будет выбрано свойство, название которого начинается с буквы B.

Конструктор отчетов (Report Designer) и Конструктор этикеток (Label Designer)

Клавиатурные комбинации быстрого вызова | Действие
ALT+ENTER | Открыть диалоговый бокс, соответствующий элементу управления отчета.
Клавиши со стрелками | Переместить выделенные элементы управления на один пиксель.
CTRL+E | Войти в режим редактирования элемента управления Label, если он выделен в Конструкторе отчетов.
ESC | Выйти из режима редактирования элемента управления Label и возвратиться в режим Select.
SHIFT+клавиши со стрелками | Изменить высоту или ширину выделенного элемента на один пиксель.
SHIFT+TAB | Перейти на предыдущий объект в Конструкторе отчетов, если активен режим табуляции.
SHIFT+двойной клик на полосе отчета | Выбрать все объекты в полосе отчета.
TAB | Автоматически войти в режим табуляции и перейти на следующий объект в Конструкторе отчетов.

Манипулирование окнами (Window manipulation)

Клавиатурные комбинации быстрого вызова | Действие
CTRL+F1 | Циклическое перемещение между окнами.
CTRL+TAB | Перейти на следующее окно.
CTRL+SHIFT+TAB | Перейти на предыдущее окно.
CTRL+F2 | Отобразить командное (Command) окно.
CTRL+F4 | Закрыть активное окно.
CTRL+F6 | Перейти на следующее окно.
CTRL+ALT+SHIFT | Скрыть все окна кроме главного окна приложения для просмотра в нем выходных результатов.
CTRL+F10 | Переключения размера окна в максимальный и обратно.

При циклическом перемещении между окнами Visual FoxPro сохраняет их порядок, т.е. переносит новое окно на передний план, а не перемещает окно, которое было активно перед этим, на задний план.

См. также

Ссылки

Общий справочник
Клавиатурные комбинации быстрого вызова и Меню в Отладчике (Debugger)
Командное окно
Окно Class Browser

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MemberData Extensibility

Visual FoxPro 9.0
Расширяемость MemberData (MemberData Extensibility)
Смотри также

Visual FoxPro 9.0 предоставляет для членов класса расширенные аттрибуты метаданных. Благодаря новой модели расширяемости, у вас теперь есть возможность расширять функциональность свойств и методов класса, что позволит вам создавать улучшения в design-time, например такие, как приведенные ниже:

  • Устанавливать свой пользовательский редактор свойств.

  • Добавлять свойства, события и методы в новую закладку Favorites - Избранное в окне "Properties".

  • Управлять отображением (капитализацией написания) введенных пользовательских свойств и методов в окне "Properties" и в IntelliSense.

  • Дополнять их определенными вами аттрибутами.

Модель расширяемости MemberData

Расширяемость обеспечивается с помощью MemberData, который использует XML-строку для указания установок метаданных для свойств и методов класса.

Настройки, которые вы вводите в _MemberData действуют как на уровне класа, так и на глобальном уровне. Уровень класса всегда замещает глобальный уровень. На уровне класса поддержка обеспечивается с помошью свойства _MemberData. Это свойство содержит XML-строку с реальными метаданными члена. Будучи свойством, оно наследуется и переписывается субклассами. На глобальном уровне, MemberData указывается в специальных записях таблицы Foxcode.dbf.

Наследование MemberData

Структура наследования для MemberData перемещается по следующему пути:

Скопировать код
Class -> Container -> Global

Поведение наследования схоже (но не тоже самое) со стандартным наследованием в объектно-ориентированном программировании. Visual FoxPro сначала будет искать MemberData на уровне класса вплоть до родителя, от которого класс наследует. Если конкретный аттрибут или тэг MemberData не найден, тогда исследуется иерархия внутри контейнера (от внутреннего контейнера к внешнему). И, наконец, если поиск не дал результата на уровне контейнеров, тогда MemberData ищется на глобальном уровне (в таблице, указанной в системной переменной _FOXCODE). Важно понять, что поиск осуществляется для конкретного аттрибута или тэга внутри XML-строки MemberData (а не просто существования MemberData самого по себе). Вследствие этого, имеется возможность иметь MemberData, который охватывает множество размещений. Приведенный ниже пример иллюстрирует это.

Форма (Myform) содержит страничный фрейм (Mypageframe), в котором имеется командная кнопка (Mycmd), которая наследует из класса _commandbutton, определенного в библиотеке _base.vcx (помещенной в каталог FFC/), который в свою очередь имеет свойство, определенное как “Myprop” c ассоциированными с ним метаданными, размещенными в MemberData. Иерархия MemberData для Myprop выражается следующим образом:

Скопировать код
** Уровень класса - Mycmd (Myclasses.vcx)
<memberdata name="Myprop" display="MYProp" type="property"/>

** Уровень родительского класса - _commandbutton (_base.vcx)
<memberdata name="Myprop" display="MYPROP" type="property"/>

** Уровень внутреннего контейнера - mypageframe (myclasses.vcx)
<memberdata name="Myprop" favorites="True" display="myPRop" type="property"/>

** Уровень внешнего контейнера - myform (myclasses.vcx)
<memberdata name="Myprop" favorites="False" helpfile="Myhelp.chm" type="property"/>

** Глобальный уровень - foxcode.dbf
<memberdata name="Myprop" type="property" display="MYPROP" script="DO (_CODESENSE) WITH 'RunPropertyEditor','','MYPROP'"/>

Основанное на приоритете (Class -> Container -> Global), текущее значение установок MemberData для Myprop является следующим:

Скопировать код
display="MYProp"
favorites="True"
script="DO (_CODESENSE) WITH 'RunPropertyEditor','','myprop'"
helpfile="myhelp.chm"   &&(замечание: это аттрибут, определенный пользователем)

Замечания

MemberData может содержать XML-строку со структурой, определяемой с помощью схемы MemberData XSD Schema описанной ниже.

MemberData является регистро-чувствительным (case-sensitive). Аттрибуты, такие как Favorites должны быть указаны как “favorites.” Значения также являются регистро-чувствительной (case-sensitive) (например, favorites=”True”).

Не требуется, чтобы MemberData было установлено для каждого определенного аттрибута или тэга. Если конкретный запрашиваемый аттрибут или тэг MemberData не найден на текущем уровне, ищутся прочие MemberData вдоль пути наследования.

Если XML выражение MemberData содержит установленным в True аттрибут Override, то дополнительный поиск вдоль пути наследования останавливается на этой точке.

Если MemberData содержит недействительное XML выражение, то оно игнорируется целиком и поиск продолжается вдоль пути наследования.

Если вход в MemberData не содержит действительной (в смысле- правильной) величины (например, favorites=”123”), то этот вход игнорируется. Однако и поиск на этом прекращается (аналогично, как если бы имели аттрибут Override установленный в True).

FOXCODE.dbf, Глобальное хранилище

FOXCODE.dbf, глобальное хранилище, представляет собой таблицу Visual FoxPro, которая хранит информацию для IntelliSense. Если свойство или метод определенный в свойстве _MEMBERDATA не может быть найден в дереве наследования, то поиск продолжается в FOXCODE.dbf. Так как FOXCODE.dbf является глобальным хранилищем, лубая установка свойства или метода применяется ко всем свойствам и методам Visual FoxPro, за исключением случая, когда свойство _MEMBERDATA используется отмены, игнорирования или замещения установок, прописанных в таблице FOXCODE.dbf.

Замечание:
Для событий, единственным распознаваемым аттрибутом является аттрибут "favorites". Аттрибует "favorites" определяет - будет-ли свойство, метод или событие отображено на закладке "Favorites" окна "Properties".

FOXCODE.dbf MEMBERDATA формат

Приведенная ниже таблица описывает формат, в котором информация для MemberData хранится в таблице FOXCODE.dbf. Каждый вход в MemberData требует единичной записи с типом поля Type установленным в "E."

Имя поля | Значение | Описание
Type | E |
Abbrev | <name> | Имя поля, события1, или метода.
Cmd | {command} | Скрипт, исполняемый для свойства или метода.
Tip |  | MemberData XML-строка для свойства или метода.
Data |  | Содержит скрипт для запуска пользовательского (custom) редактора свойства.

1 Для событий хранится только аттрибут favorites. Аттрибут определен в MemberData XML-строке в поле Tip.

Определения для содержания MemberData XML

Приведенная ниже таблица перечисляет зарезервированные элементы и аттрибуты XML распознаваемые Visual FoxPro 9.0.

Замечание:
Вы можете включить MemberData XML со своими собственными элементами и аттрибутами, которые Visual FoxPro будет хранить, но в то же время игнорировать.

Элемент | Аттрибут | Родитель | Description
VFPData |  |  | Корневой элемент обозначающий метаданные для класса.
memberdata |  | VFPData | Элемент, содержащий метаданные для определенного члена. Член определен, как свойство или метод.
memberdata | name |  | Имя члена (например, Caption или MyProperty).
memberdata | type |  | Property или Method.
memberdata | display |  | Визуальное представление члена. Эта установка воздействует на отображение имени как в окне "Properties", так и в IntelliSense.
memberdata | favorites |  | True или False.
memberdata | override |  | True или False.
memberdata | script |  | Скрипт метода для исполнения.

MemberData XSD Schema

Ниже приведена схема MemberData XSD schema, которую использует Visual FoxPro. В схему включено описание специальных аттрибутов.

Note:
Схема VFP MemberData, показанная ниже включает два варианта документа MemberData: последовательность элементов memberdata поддерживаемых для использования с классами Visual FoxPro и последовательность элементов reportdata поддерживаемых для использования в системе производства отчетов Visual FoxPro. Visual FoxPro не использует элементы reportdata напрямую, но парраллельная разработка документа позволяет вам использовать похожий механизм для разбора обоих типов расширений и хранения их в общем гдобальном хранилище. Подобно memberdata класса, MemberData для отчетов может быть использовано как в среде разработки (design time) так в run time. Для получения подробной информации обратитесь к статье Расширения XML MemberData отчета.

Скопировать код
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:element name="VFPData">
  <xs:complexType>
   <xs:choice>
    <xs:sequence>

     <xs:element name="reportdata" maxOccurs="unbounded">
      <xs:complexType>
       <xs:attributeGroup ref="Common"/>
       <xs:attributeGroup ref="ReportTemplate"/>
       <xs:anyAttribute processContents="lax"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:sequence>

     <xs:element name="memberdata" maxOccurs="unbounded">
      <xs:complexType>
       <xs:attributeGroup ref="Common"/>
       <xs:attributeGroup ref="PropertySheet"/>
       <xs:anyAttribute processContents="lax"/>
      </xs:complexType>
     </xs:element>

    </xs:sequence>
   </xs:choice>
  </xs:complexType>
 </xs:element>

 <xs:annotation>
  <xs:documentation>
  Вы может добавить аттрибуты расширения, если потребуется.
  </xs:documentation>
  <xs:documentation>
Используйте аттрибуты name и ref в группе Common attribute для декларирования
что определенные строки "принадлежат" вам. Используйте аттрибут script
группы Common attribute для исполнения в среде разработки (design-time scripting).
  </xs:documentation>
   </xs:annotation>

 <xs:attributeGroup name="Common">
  <xs:attribute name="name" type="xs:string" use="required"/>
  <xs:attribute name="type" type="xs:string"/>
  <xs:attribute name="script" type="xs:string"/>
 </xs:attributeGroup>

<xs:annotation>
<xs:documentation>
Относящиеся к ReportTemplate аттрибут execute представляет собой скрипт, исполняемый в
runtime (с помощью Listeners), тогда как аттрибуты Common script исполняются, по-возможности,
инструментами среды разработки (design-time). Аттрибуты declass и declasslib
предназначены для поиска информации в заголовочных записях шаблонов,
и не конкретных записей, относительно объекта DataEnvironment.
Аттрибуты class и classlib attributes в заголовочной записи не используются,
и могут быть по желанию использованы как средство для пользовательского вспомогательного класса
предназначенного для построителя отчета или listeners.
Аттрибуты class и classlib attributes в объектах раскладки являются средством
для использования в подготовке шаблонов в run-time и design-time.
Вы можете использовать эти шаблоны классов для строительства пользовательских
объектов разбора в runtime или присвоить аттрибуты общего стиля в design-time
или обоих.
</xs:documentation>
 </xs:annotation>

 <xs:attributeGroup name="ReportTemplate">
  <xs:attribute name="class" type="xs:string"/>
  <xs:attribute name="classlib" type="xs:string"/>
  <xs:attribute name="declass" type="xs:string"/>
  <xs:attribute name="declasslib" type="xs:string"/>
  <xs:attribute name="execute" type="xs:string"/>
  <xs:attribute name="execwhen" type="xs:string"/>
 </xs:attributeGroup>

 <xs:attributeGroup name="PropertySheet">
  <xs:attribute name="override" type="xs:boolean"/>
  <xs:attribute name="display" type="xs:string"/>
  <xs:attribute name="favorites" type="xs:boolean"/>
 </xs:attributeGroup>

</xs:schema>

Пример MemberData

Приведенное ниже является примером MemberData XML-строки, которая демонстрирует использование зарезервированных Visual FoxPro 9.0 XML элементов и аттрибутов. Первая секция добавляет свойство BorderStyle в закладку "Favorites" в окне "Properties" и отображает имя свойства в верхнем регистре.

Вторая секция создает пользовательское свойство, именованное как "MyProperty", которое также вводится в закладку "Favorites" в окне "Properties". Скрипт, названный MyPropertyScript исполняется, когда производится щелчок по кнопке с тремя точками или когда производится двойной щелчок на свойстве в окне "Properties".

Скопировать код
<?xml version="1.0" encoding="Windows-1252" standalone="yes"?>
<VFPData>
<memberdata name="borderstyle" type="property" favorites="True" display="BORDERSTYLE"override="False"/>
<memberdata name="MyProperty" type="property" display="MyProperty" favorites="True" override="False" script="MyPropertyScript"/>
</VFPData>

Пользовательские (Custom) редакторы свойства

В Visual FoxPro 9.0 вы можете создать свой собственный (custom) редактор свойства. Ваш собственный редактор может быть запущен либо выбором свойства в окне "Properties" с последующим щелчком по кнопке (…), либо путем производства двойного щелчка по свойству. Если свойство представляет собой пользовательское свойство, то в окне "Properties" отображается только кнопка с тремя точками.

Visual FoxPro поддерживает редакторы пользовательских свойств следующим образом:

  • Когда окно "Properties" открыто, Visual FoxPro ищет свойство _MemberData и его дерево наследования. Если значение для аттрибута "script" существует для выбранного свойства и сам скрипт является действительным, то отображается кнопка с тремя точками.

  • Если был щелчок на кнопке с тремя точками или произведен двойной щелчок на пользовательском свойстве, то будет выполнен занесенный в аттрибут script программный код.

  • Пользовательские (custom) и родные свойства Visual FoxPro могут иметь пользовательские редакторы. Для родных свойств Visual FoxPro, скрипт должен вернуть соответствующий тип данных и значение для свойства, в противном случае будет сгенерирована ошибка.

  • Пользовательский (custom) редактор свойства не будет принимать во внимание наличие родного редактора Visual FoxPro (например, использования Color Picker для установки свойства ForeColor).

  • Подобно приложениям построителей Visual FoxPro, пользовательский редактор свойства ответственнен за установку корректной величины для значения свойства. Пользовательский редактор свойств должен использовать функцию ASELOBJ( ) для получения ссылки на выбранный объект или объекты. Пользовательский редактор свойств должен работать схожим образом с приложениями построителей Visual FoxPro, и должен прятать окно "Properties" если оно не состыковано с другими окнами или инструментами. Для получения подробной информации о приложениях пользовательских построителей обратитесь к статье Как: указать приложение построителя с помощью Builder.dbf.

Перехватчики событий меню редактора пользовательского свойства (Custom Property Editor Menu Hooks)

Вы можете запустить свой собственный (custom) редактор свойства, когда вы выбираете опцию "MemberData Editor…" из системного меню "Form" или когда вы производите щелчок по правой клавише мыши на свойстве, событии или методе с последующим выбором опции "Add to Favorites…" в контекстном меню.

Когда вы выбираете опцию "MemberData Editor…" из системного меню Form, приложению, указанному в системной переменной _BUILDER, посылаются четыре параметра. В приведенной ниже таблице описываются типы данных, посылаемых приложению построителя в качестве параметров.

Номер параметра | Описание
1 | Ссылка на объект (контейнер) верхнего уровня.
2 | Текстовая строка "MemberData".
3 | Численное значение, 0 - для дизайнера класса, 1 - для дизайнера формы.
4 | Имя свойства, события или метода, выбранное как строка текста.

Например, выбор опции "MemberData Editor…" из иситемного меню Form идентично исполнению следующей команды:

Скопировать код
DO (_BUILDER) WITH oForm, "MemberData", 1

Если ни одно свойство не выбрано или окно "Properties" закрыто, последний параметр будет содержать пустую строку. Если окно "Properties" закрыто, то в качестве первого параметра будет послан базовый объект. Если выбрано несколько объектов, только первый из них посылается в качестве первого параметра.

Когда вы выбираете опцию "Add to Favorites…" из контекстного меню, то приложению, указанному в системной переменной _BUILDER посылается четыре параметра. Приведенная ниже таблица описывает тип данных, посылаемых в качестве параметров приложению построителя.

Параметр | Описание
1 | Ссылка на объект (контейнер) верхнего уровня.
2 | Текстовая строка "MemberData".
3 | Численное значение, 10 - для дизайнера класса, 11 - для дизайнера формы.
4 | Имя свойства, события или метода, выбранного как строка текста.

Например, выбор опции "Add to Favorites…" из контекстного меню, в случае если выбрано свойство "Caption" в окне "Properties" идентично выполнению следующей команды:

Скопировать код
DO (_BUILDER) WITH oForm, "MemberData", 11, "Caption"
Note:
Опция "Add to Favorites…" контекстного меню недоступна в случае, если окно "Properties" открыто для системной переменной приложения _SCREEN Visual FoxPro.

MemberDataEditor.app

Visual FoxPro включает в себя приложение Member Data Editor - MemberDataEditor.app, которое позволяет вам легко редактировать метаданные членов для свойств, событий и методов. Когда окно "Properties" открыто, вы можете запустить приложение MemberDataEditor.app выбором опции "MemberData Editor…" из системного меню Form.

Приложение MemberDataEditor.app позволяет вам сделать следующее:

  • Создать MemberData для свойства или метода.

  • Определить, является ли MemberData глобальной (MemberData прописан в таблице FoxCode.dbf).

  • Определить, будет ли MemberData замещать глобальные аттрибуты MemberData.

  • Определить, будет ли использоваться поведение по умолчанию для неопределенных аттрибутов свойств и методов.

  • Добавлять свойства, события и методы в закладку "Favorites" окна "Properties".

  • Создавать скрипт (программный код Visual FoxPro) для свойства или метода.

  • Определять, как будет свойство или метод будут отображаться в окне "Properties" и определять отображение по умолчанию.

  • Определять, как были сформатированы элементы XML.

За более подробной информацией обратитесь к статье Редактор MemberData.

Перехватчики событий скриптов Foxcode.dbf

В таблицу FoxCode.dbf, определяемую системной переменной _FOXCODE, содержащую специальные скрипты (программные коды Visual FoxPro), вызываемые во время разработки приложений (design time) может быть добавлено несколько новых записей скриптов.

Замечание:
Эти записи скриптов не включены в таблицу, используемую по умолчанию и определяемую системной переменной _FOXCODE. Вы можете найтискрипты для меню Visual FoxPro в приложении "Solution Samples" в ветке "New in Visual FoxPro 9.0". За получением подробной информации обратитесь к статье Как: запустить образцы решений Visual FoxPro.

Скрипт _GetMemberData

Скрипт _GetMemberData может быть использован в качестве пользовательского редатора для добавления свойства _MEMBERDATA контейнеру или элементам (controls) когда они открыты в дизайнерах формы или класса. Скрипт вызывается для следующих событий:

  • Когда открывается дизанер формы или класса.

  • Когда вводится новый элемент (control) в дизайнере формы или класса.

  • Когда элемент (control) выбран в дизайнере формы или класса или в контейнере, на нем был выполнен щелчок мышью для его выбора.

Приведенная ниже таблица перечисляет поля и значения, которые они могут содержать в записи таблицы Foxcode.dbf.

Имя поля | Значение | Описание
Type | E | Определяет что предмет записи представляет собой свойство или метод, которые имеют метаданные члена.
Abbrev | _GETMEMBERDATA | Указывает, что это запись для скрипта _GetMemberData.
Data |  | Собственно скрипт, который должен быть выполнен для свойства или метода.

Скрипт _GetMemberData не получает никаких параметров.

Замечание:
Скрипт _GetMemberData может использовать функцию ASELOBJ для получения ссылка на объект текущего выбранного элемента (control) или контейнера.

Скрипт MenuHit

Скрипт MenuHit вызывается в случае, если совершен выбор из системного меню Visual FoxPro. Он может быть использован для замещения существующего диалогового блока Visual FoxPro пользовательским диалоговыи блоком.

Приведенная ниже таблица перечисляет поля и значения, которые они могут содержать в записи таблицы Foxcode.dbf.

Имя поля | Значение | Описание
Type | S | Указывает, что предмет записи представляет собой скрипт.
Abbrev | MENUHIT | Указывает, что это запись для скрипта MenuHit.
Data |  | Собственно скрипт (программный код Visual FoxPro) для запуска пользовательского диалогового блока.

Скрипт MenuHit получает два параметра в виде символьных строк:

Параметр | Описание
UserTyped | Внутренний (имя системного меню Visual FoxPro) титул системного меню, из которого был выбран пункт. В случае, если меню представляет собой контекстное меню (shortcut menu) параметры посылается пустая строка.
MenuItem | Внутреннее (имя системного меню Visual FoxPro) имя выбранного пункта меню.

Смотри статью Имена системного меню (System Menu Names), в которой перечислены внутренние имена системного меню Visual FoxPro.

Для того чтобы не допустить обработку меню самим Visual FoxPro, установите параметр для свойства ValueType объекта в значение V или L.

Замечание:
Поскольку _Foxcode поддерживает только одну запись скрипта для MenuHit и, в принципе, возможно, что вы пожелаете обрабатывать множественные пункты меню вашим собственными пользовательскими скриптами, рекомендуется, чтобы вы создали запись обработчика MenuHit, который будет использоваться по умолчанию и который сможет вызывать другие записи скриптов. Образец решения "Foxcode menu scripts" содержит рекомендованный общий скрипт Menuhit, который вы можете использовать для своих целей.

Ниже приведен пример скрипта для записи MenuHit, который вы можете использовать для поиска других записей в _Foxcode, у которых Type field = "M", поле Abbrev содержит имя меню и поле Data содержит скрипт для исполнения. Это один и тот же скрипт, который используется в качестве скрипта как для MenuHit, так и для MenuContext в образце решения "Foxcode menu scripts".

Copy Code
LPARAMETERS toParameter

LOCAL lnSelect, lcCode, llReturn, lScriptHandled, lcSaveUdfParms
TRY
* First try FoxCode lookup for Type="M" records
lnSelect = SELECT()
SELECT 0
USE (_FOXCODE) AGAIN SHARE ORDER 1
IF SEEK('M' + PADR(UPPER(toParameter.MenuItem), LEN(ABBREV)))
lcCode = DATA
ENDIF
USE
SELECT (lnSelect)
IF NOT EMPTY(lcCode)
llReturn = EXECSCRIPT(lcCode, toParameter)
lScriptHandled=.T.
ENDIF

* обработка путем направления к внешней процедуре, как указано в поле Tip
IF !lScriptHandled
lcProgram = ALLTRIM(toParameter.Tip)
IF FILE(lcProgram)
lcSaveUdfParms=SET("Udfparms")
SET UDFPARMS TO REFERENCE
DO (lcProgram) WITH toParameter,llReturn
SET UDFPARMS TO &lcSaveUdfParms
ENDIF
ENDIF

* Пользовательский скрипт удачен, а поэтому запретим природное поведение
IF llReturn
toParameter.ValueType = 'V'
ENDIF
CATCH
ENDTRY

RETURN llReturn

Скрипт MenuContext

Скрипт MenuContext может быть использован для замещения существующего контекстного меню Visual FoxPro пользовательским контекстным меню и он вызывается как раз до отображения контекстного меню Visual FoxPro. Контекстное меню (shortcut menu) отображается путем щечка по правой клавише мыши на окне или объекте.

Приведенная ниже таблица перечисляет поля и значения, которые они могут содержать в записи таблицы Foxcode.dbf.

Имя поля | Значение | Описание
Type | S | Указывает что предмет записи представляет собой скрипт.
Abbrev | MENUCONTEXT | Указывает, что это скрипт записи MenuContext.
Data |  | Собственно скрипт (программный код Visual FoxPro) запускаемый для пользовательского контекстного меню (shortcut menu).

Скрипту MenuContext посылается единственный параметр, представляющий собой объект, содержащий свойства, которые с помощью скрипта могут быть доступны как ссылки, включая следующие:

Параметр | Описание
Items | Массив пунктов контекстного меню.
UserTyped | Указывает допольнительную информацию, если она доступна, связанную с содежанием контекстного меню.
MenuItem | Внутрениий ID меню Visual FoxPro для контекстного меню.

Для подавления отображения контекстного меню Visual FoxPro, установите параметр свойства ValueType объекта в V или L. Вы можете использовать команду DEFINE MENU с опцией SHORTCUT для создания своего пользовательского контекстного меню.

Замечание Поскольку _Foxcode поддерживает только одну запись скрипта для MenuContext и, в принципе, возможно, что вы пожелаете обрабатывать множественные контекстные меню вашим собственными пользовательскими скриптами, рекомендуется, чтобы вы создали запись обработчика MenuContext, который будет использоваться по умолчанию и который сможет вызывать другие записи скриптов. Образец решения "Foxcode menu scripts" содержит рекомендованный общий скрипт MenuContext, который вы можете использовать для своих целей. Вернитесь к секции, оисывающей скрипт MenuHit и посмотрите на приведенный там программгый код

Смотри также

Справочное руководство

Свойство _MemberData
Стуктура таблицы IntelliSense

Перешлите комментарии об этой статье в копорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


Constant Naming Conventions

Visual FoxPro 9.0
Соглашение об именах констант
См. также Пример

При присвоении имен константам используется следующий формат:

NAME

Параметры

NAME

Имя константы в верхнем регистре.

Пример

Следующий пример иллюстрирует использование директивы препроцессора #DEFINE с именем константы MAX_VALUE в верхнем регистре:
Копировать код
#DEFINE MAX_VALUE 10

См. также

Ссылки

Создание имен Visual FoxPro
Соглашение об именах объектов
Соглашение об именах полей в таблицах
Соглашение об именах переменных
Соглашение об именах окон
Соглашение об именах

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Соглашение об именах объектов

Visual FoxPro 9.0
Соглашение об именах объектов
См. также Пример

При присвоении имен объектам используется следующий формат.

PrefixObjectName

Параметры

Prefix

Определяет символы, которые указывают на связанный объект. Следующая таблица включает предлагаемые для Prefix значения.

Prefix Объект Пример

chk

CheckBox

chkReadOnly

col

Collection

colFormObjects

cbo

ComboBox

cboEnglish

cmd

CommandButton

cmdCancel

cmg

CommandGroup

cmgChoices

cnt

Container

cntMoverList

ctl

Control

ctlFileList

cur

Cursor

curRecordsReturned

cad

CursorAdapter

cadInventory

<произвольно>

Custom

произвольно

dte

DataEnvironment

dteSalesForm

edt

EditBox

edtTextArea

frm

Form

frmFileOpen

frs

FormSet

frsDataEntry

grd

Grid

grdPrices

grc

Column

grcCurrentPrice

grh

Header

grhTotalInventory

hpl

HyperLink

hplHomeURL

img

Image

imgIcon

lbl

Label

lblHelpMessage

lin

Line

linVertical

lst

ListBox

lstPolicyCodes

olb

OLEBoundControl

olbObject1

ole

OLE

oleObject1

opt

OptionButton

optFrench

opg

OptionGroup

opgType

pag

Page

pagDataUpdate

pgf

PageFrame

pgfLeft

prj

ProjectHook

prjBuildAll

rel

Relation

relCustomerRelation

rpt

ReportListener

rptListener1

sep

Separator

sepToolSection1

shp

Shape

shpCircle

spn

Spinner

spnValues

txt

TextBox

txtGetText

tmr

Timer

tmrAlarm

tbr

ToolBar

tbrEditReport

xad

XMLAdapter

xadRemoteXMLData

xfd

XMLField

xfdPrices

xtb

XMLTable

xtbInventory

ObjectName

Определяет имя объекта.

Пример

В следующем примере комбинация символов "cmd" указывает на то, что объект cmdCancel является элементом управления CommandButton
Copy Code
cmdCancel

См. также

Ссылки

Создание имен Visual FoxPro
Соглашение об именах констант
Соглашение об именах полей в таблицах
Соглашение об именах переменных
Соглашение об именах окон
Соглашение об именах

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table Field Naming Conventions

Visual FoxPro 9.0
Соглашение об именах полей в таблицах
См. также Пример

При присвоении имен полям в таблицах используйте следующий рекомендуемый формат.

TableAlias.PrefixFieldName

Параметры

TableAlias

Определяет имя или псевдоним для таблицы.
Prefix

Указывает тип данных для поля таблицы. В следующей таблице указан список предлагаемых значений для Prefix.

Prefix Описание

c

Character

y

Currency

d

Date

t

DateTime

b

Double

f

Float

g

General

i

Integer

l

Logical

m

Memo

n

Numeric

q

Varbinary

v

Varchar, Varchar (Binary)

w

Blob

FieldName

Определяет имя поля.

Пример

В следующем примере буква "c" указывает, что поле LastName таблицы Customer имеет тип Character:

Copy Code
Customer.cLastName

См. также

Ссылки

Создание имен Visual FoxPro
Соглашение об именах констант
Соглашение об именах объектов
Соглашение об именах переменных
Соглашение об именах окон
Соглашение об именах

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Variable Naming Conventions

Visual FoxPro 9.0
Соглашение об именах переменных
См. также Пример

При присвоении переменным имен используйте следующий рекомендуемый формат.

[Scope]TypeVariableName

Параметры

[ Scope]

Определяет символ, который указывает область применения переменной. В следующей таблице указан список предлагаемых значений для Scope.

Scope Описание

l

Local

t

Parameter

g

Public (Global)

p

Private (Default)
Примечание:
В некоторых случаях явное указание параметра Scope не требуется. Например, в главной (main) программе автономного (standalone) приложения нет различия в области видимости для переменных типа PUBLIC или PRIVATE. В других же программах явное указание Scope всегда является важным и необходимым.

Type

Определяет символ, который указывает тип данных переменной. В следующей таблице указан список предлагаемых значений для Type.

Type Описание

a

Array

c

Character, Varchar, Varchar (Binary)

y

Currency

d

Date

t

DateTime

b

Double

f

Float

l

Logical

n

Numeric

o

Object

q

Varbinary, Blob

u

Unknown

VariableName

Определяет имя переменной.

Пример

В следующем примере буква "l" указывает, что переменная Counter имеет локальную область применения, а буква "n" указывает на тип переменной - Numeric:

Копировать код
nCounter
lnCounter

См. также

Ссылки

Создание имен Visual FoxPro
Соглашение об именах констант
Соглашение об именах объектов
Соглашение об именах полей в таблицах
Соглашение об именах окон
Соглашение об именах

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Соглашение об именах окон

Visual FoxPro 9.0
Соглашение об именах окон
См. также Пример

При присвоении имен окнам используется следующий формат.

wWindowName

Замечания

Примечание:
Не используйте префикс с определениями класса; используйте префиксы только когда объекту приписано значение.

Пример

Следующий пример иллюстрирует присвоение имени объекту "Окно" с помощью команды DEFINE WINDOW:
Копировать код
DEFINE WINDOW wCustomerInvoices ;
   FROM nFirstRow, nFirstColumn TO nLastRow, nLastColumn

См. также

Ссылки

Команда DEFINE WINDOW
Создание имен Visual FoxPro
Соглашение об именах констант
Соглашение об именах объектов
Соглашение об именах полей в таблицах
Соглашение об именах переменных
Соглашение об именах

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Regular Expressions and Operators

Visual FoxPro 9.0
Регулярные выражения и операторы
См. также

Регулярные выражения являются наборами символов, которые можно использовать для обнаружения и замены образцов текста. Регулярные выражения обеспечивают краткий и гибкий путь для организации более сложного поиска и критерия фильтрации выбранного текста, чем поисковый образец, построенный с помощью символов шаблона (wildcard) в диалоговом окне Find.

Следующая таблица описывает поведение операторов регулярных выражений в запросе.

Оператор Поведение

.

Соответствует любому одиночному символу, кроме символа конца строки (\n).

*

Соответствует предыдущему символу ноль и более раз. Можно использовать и знак вопроса (?).

Пример: "zo*" соответствует и "z" и "zoo". Выражение "a?ve?" соответствует "ve" в "never".

+

Соответствует предыдущему символу один и более раз.

Пример: "zo+" соответствует "zoo", но не соответствует "z".

^

Соответствует началу вводимой строки.

$

Соответствует концу вводимой строки.

[xyz]

Соответствует одному любому символу в наборе. Квадратные скобки обязательны.

Пример: "[abc]" соответствует "a" в "plain".

[^xyz]

Соответствует любому символу, не попавшему в набор. Квадратные скобки обязательны.

Пример: "[^abc]" соответствует "p" в "plain".

[a-z]

Соответствует любому символу указанного диапазона.

Пример: "[a-z]" соответствует любому алфавитному символу нижнего регистра в диапазоне от "a" до "z".

[^a-z]

Соответствует любому символу, расположенному вне указанного диапазона.

Пример: "[^m-z]" соответствует любому символу, расположенному вне диапазона от "m" до "z".

\

Обозначает следующий за ним символ как специальный, например, как символ escape или литерал.

Пример: "\\" соответствует "\", а "\(" соответствует "(".

(pattern)

Соответствует группе образца. Круглые скобки обязательны.

Пример: "(tress)" соответствует "mattress" но не соответствует "mattres". Для установки соответствия круглых скобок необходимо использовать "\(" или "\)".

x|y

Соответствует либо x либо y.

Пример: "z|wood" соответствует "z" или "wood". Выражение "(z|w)ood" соответствует "zood" или "wood".

{m}

Соответствует предыдущему символу точно m раз, где m - положительное число. Круглые скобки обязательны.

Пример: "o{2}" не соответствует "o" в "Bob", но соответствует первым двум буквам o в "food" или в "foooood".

{m,}

Соответствует предыдущему символу по крайней мере m раз (а), где m - положительное число.

Пример: "o{2,}" не соответствует "o" in "Bob", но соответствует всем o в "fooooood". Кроме того, выражение "o{1,}" является эквивалентом "o+", а "o{0,}" - эквивалентом "o*".

{m,n}

Соответствует предыдущему символу по крайней мере m и самое большее n раз, где m и n - положительные числа

Пример: "o{1,3}" соответствует первым трем буквам o в "foooooood". Кроме того, выражение "o{0,1}" является эквивалентом "o?".

Все иные

Соответствуют сами себе.

При использовании операторов регулярных выражений применяются следующие правила:

  • Регулярные выражения можно заключить в кавычки. Обязательно заключаются в кавычки регулярные выражения, содержащие пробелы и парные круглые скобки (()).

Фундаментальный класс регулярных выражений обеспечивает доступ к стандартным программам, которые могут пригодиться для использования регулярных выражений в ваших приложениях. Более подробно, смотри Фундаментальный класс регулярных выражений

Visual FoxPro включает в себя пример регулярных выражений, который можно использовать для того, чтобы понять как включать поисковый текст регулярного выражения в ваше приложение. Более подробно, смотри Поисковый текст, использующий регулярные выражения.

Вы можете обратиться к MSDN за общими понятиями о регулярных выражениях и для формирования собственных соответствий.

См. также

Ссылки

Общий справочник
Диалоговое окно Look Up Reference
Диалоговое окно поиска (Find)

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Reserved Words (Visual FoxPro)

Visual FoxPro 9.0 Справочник по языку
Зарезервированные слова (Visual FoxPro)
См. также
Зарезервированные слова в Visual FoxPro включают имена функций, системных переменных памяти, свойств, событий, методов, команд и предложений. При программировании не используйте зарезервированные слова в качестве имен (например имен окон, таблиц, полей). Если вы задали в качестве имени зарезервированное слово, то может быть зафиксирована синтаксическая ошибка.

Ниже перечислены все зарезервированные слова Visual FoxPro.

Операторы и смешанные пункты

-

!

!=

#

$

%

(

)

*

**

,

.

.AND.

.F.

.N.

.NOT.

.NULL.

.OR.

.T.

.Y.

/

/R

:

::

;

?

??

???

@

[

]

^

+

<

<??>

<=

<>

=

=

==

=>

>

->

>=

#

#DEFINE

#ELIF

#ELSE

#ENDIF

#IF

#ITSEXPRESSION

#READCLAUSES

#REGION

#SECTION

#UNDEF

#WNAME

_

_ALIGNMENT

_ASCIICOLS

_ASCIIROWS

_ASSIST

_BEAUTIFY

_BOX

_BROWSER

_BUILDER

_CALCMEM

_CALCVALUE

_CLIPTEXT

_CODESENSE

_CONVERTER

_COVERAGE

_CUROBJ

_DATETIMEFORMAT

_DBLCLICK

_DIARYDATE

_DOS

_FONTCLASS

_FOXBASECLASS

_FOXCODE

_FOXDOC

_FOXDRAGDROP

_FOXDROPTARGET

_FOXREF

_FOXGRAPH

_FOXTASK

_GALLERY

_GENGRAPH

_GENHTML

_GENMENU

_GENPD

_GENSCRN

_GENXTAB

_GETEXPR

_HELPWEBDEVONLY

_HELPWEBDIRECTORY

_HELPWEBFILLER1

_HELPWEBFILLER2

_HELPWEBMSDNONLINE

_HELPWEBMSFTHOMEPAGE

_HELPWEBSEARCH

_HELPWEBTUTORIAL

_HELPWEBVFPFAQ

_HELPWEBVFPFREESTUFF

_HELPWEBVFPHOMEPAGE

_HELPWEBVFPONLINESUPPORT

_HELPWEBVFPSENDFEEDBACK

_HELPWEBVSPRODNEWS

_INCLUDE

_INCSEEK

_INDENT

_LMARGIN

_MAC

_MBR_APPND

_MBR_CPART

_MBR_DELET

_MBR_FONT

_MBR_GOTO

_MBR_GRID

_MBR_LINK

_MBR_MODE

_MBR_MVFLD

_MBR_MVPRT

_MBR_SEEK

_MBR_SP100

_MBR_SP200

_MBR_SZFLD

_MBROWSE

_MDA_APPND

_MDA_AVG

_MDA_BROW

_MDA_CALC

_MDA_COPY

_MDA_COUNT

_MDA_LABEL

_MDA_PACK

_MDA_REPRT

_MDA_RINDX

_MDA_SETUP

_MDA_SORT

_MDA_SP100

_MDA_SP200

_MDA_SP300

_MDA_SUM

_MDA_TOTAL

_MDATA

_MDIARY

_MED_BEAUT

_MED_BLDEX

_MED_CLEAR

_MED_COPY

_MED_CUT

_MED_CVTST

_MED_EXBLK

_MED_FIND

_MED_FINDA

_MED_GOTO

_MED_INSOB

_MED_LINK

_MED_OBJ

_MED_PASTE

_MED_PREF

_MED_PSTLK

_MED_REDO

_MED_REPL

_MED_REPLA

_MED_SLCTA

_MED_SP100

_MED_SP200

_MED_SP300

_MED_SP400

_MED_SP500

_MED_SP600

_MED_UNDO

_MEDIT

_MEMBERDATA

_MENUDESIGNER

_MFI_CLALL

_MFI_CLOSE

_MFI_EXPORT

_MFI_IMPORT

_MFI_NEW

_MFI_OPEN

_MFI_PGSET

_MFI_PREVU

_MFI_PRINT

_MFI_PRINTONECOPY

_MFI_QUIT

_MFI_REVRT

_MFI_SAVAS

_MFI_SAVE

_MFI_SAVEASHTML

_MFI_SEND

_MFI_SETUP

_MFI_SP100

_MFI_SP200

_MFI_SP300

_MFI_SP400

_MFI_SYSPRINT

_MFILE

_MFILER

_MFIRST

_MLABEL

_MLAST

_MLINE

_MMACRO

_MMB_DELET

_MMB_GENER

_MMB_GOPTS

_MMB_INSBR

_MMB_INSRT

_MMB_MOPTS

_MMB_PREVU

_MMB_QUICK

_MMB_SP100

_MMB_SP200

_MMB_SP300

_MMBLDR

_MOUSEEVENTS

_MOUSEEVENTSNODBL

_MPR_BEAUT

_MPR_CANCL

_MPR_COMPL

_MPR_DO

_MPR_DOCUM

_MPR_FORMWZ

_MPR_GENER

_MPR_GRAPH

_MPR_RESUM

_MPR_SP100

_MPR_SP200

_MPR_SP300

_MPR_SUSPEND

_MPROG

_MPROJ

_MRC_APPND

_MRC_CHNGE

_MRC_CONT

_MRC_DELET

_MRC_GOTO

_MRC_LOCAT

_MRC_RECAL

_MRC_REPL

_MRC_SEEK

_MRC_SP100

_MRC_SP200

_MRECORD

_MREPORT

_MRQBE

_MSCREEN

_MSM_DATA

_MSM_EDIT

_MSM_FILE

_MSM_FORMAT

_MSM_PROG

_MSM_RECRD

_MSM_SYSTM

_MSM_TEXT

_MSM_TOOLS

_MSM_VIEW

_MSM_WINDO

_MST_ABOUT

_MST_ASCII

_MST_CALCU

_MST_CAPTR

_MST_DBASE

_MST_DIARY

_MST_DOCUM

_MST_FILER

_MST_HELP

_MST_HPHOW

_MST_HPSCH

_MST_MACRO

_MST_MSDNC

_MST_MSDNI

_MST_MSDNS

_MST_OFFICE

_MST_PUZZL

_MST_SAMP

_MST_SP100

_MST_SP200

_MST_SP300

_MST_SPECL

_MST_TECHS

_MSYSMENU

_MSYSTEM

_MTABLE

_MTB_APPND

_MTB_CPART

_MTB_DELET

_MTB_DELRC

_MTB_GOTO

_MTB_LINK

_MTB_MVFLD

_MTB_MVPRT

_MTB_PROPS

_MTB_RECAL

_MTB_SP100

_MTB_SP200

_MTB_SP300

_MTB_SP400

_MTB_SZFLD

_MTI_CALLSTACK

_MTI_DBGOUT

_MTI_LOCALS

_MTI_RUNACTIVEDOC

_MTI_TRACE

_MTI_WATCH

_MTL_BROWSER

_MTL_COVERAGE

_MTL_DEBUGGER

_MTL_GALLERY

_MTL_MACRO

_MTL_OPTNS

_MTL_SP100

_MTL_SP200

_MTL_SP300

_MTL_SP400

_MTL_SPELL

_MTL_WZRDS

_MTOOLS

_MVI_TOOLB

_MVIEW

_MWI_ARRAN

_MWI_CLEAR

_MWI_CMD

_MWI_COLOR

_MWI_DEBUG

_MWI_HIDE

_MWI_HIDEA

_MWI_MIN

_MWI_MOVE

_MWI_ROTAT

_MWI_SHOWA

_MWI_SIZE

_MWI_SP100

_MWI_SP200

_MWI_TOOLB

_MWI_TRACE

_MWI_VIEW

_MWI_ZOOM

_MWINDOW

_MWIZARDS

_MWZ_ALL

_MWZ_APPLIC

_MWZ_APPLICATION

_MWZ_DATABASE

_MWZ_FORM

_MWZ_FOXDOC

_MWZ_IMPORT

_MWZ_LABEL

_MWZ_MAIL

_MWZ_PIVOT

_MWZ_QUERY

_MWZ_REPRT

_MWZ_SETUP

_MWZ_TABLE

_MWZ_UPSIZING

_MWZ_WEBPUBLISHING

_NETWARE

_OBJECTBROWSER

_OLEBASECONTROL

_OLEDRAGDROP

_ORACLE

_PADVANCE

_PAGENO

_PAGETOTAL

_PBPAGE

_PCOLNO

_PCOPIES

_PDPARMS

_PDRIVER

_PDSETUP

_PECODE

_PEJECT

_PEPAGE

_PFORM

_PLENGTH

_PLINENO

_PLOFFSET

_PPITCH

_PQUALITY

_PRETEXT

_PSCODE

_PSPACING

_PWAIT

_RECTCLASS

_RMARGIN

_REPORTBUILDER

_REPORTPREVIEW

_REPORTOUTPUT

_RUNACTIVEDOC

_SAMPLES

_SCCTEXT

_SCREEN

_SHELL

_SPELLCHK

_SQLSERVER

_STARTUP

_TABS

_TALLY

_TASKLIST

_TEXT

_THROTTLE

_TOOLTIPTIMEOUT

_TRANSPORT

_TRIGGERLEVEL

_UNIX

_VFP

_VIEWPORT

_VSBUILD

_WEBDEVONLY

_WEBMENU

_WEBMSFTHOMEPAGE

_WEBVFPHOMEPAGE

_WEBVFPONLINESUPPORT

_WINDOWS

_WIZARD

_WRAP

A

A

ABS

ACCELERATE

ACCEPT

ACCESS

ACLASS

ACOPY

ACOS

ACTIVATE

ACTIVATECELL

ACTIVECOLUMN

ACTIVECONTROL

ACTIVEDOC

ACTIVEFORM

ACTIVEOBJECTID

ACTIVEPAGE

ACTIVEROW

ADATABASES

ADBOBJECTS

ADD

ADDBS

ADDCOLUMN

ADDITEM

ADDITIVE

ADDLISTITEM

ADDOBJECT

ADDPROPERTY

ADDRELATIONTOENV

ADDTABLETOENV

ADDTABLESCHEMA

ADOCKSTATE

ADOCODEPAGE

ADEL

ADIR

ADLLS

ADMIN

ADOCKSTATE

ADJUSTOBJECTSIZE

AELEMENT

AERROR

AEVENTS

AFIELDS

AFONT

AFTER

AFTERBAND

AFTERBUILD

AFTERCLOSETABLES

AFTERCURSORATTACH

AFTERCURSORCLOSE

AFTERCURSORDETACH

AFTERCURSORFILL

AFTERCURSORREFRESH

AFTERCURSORUPDATE

AFTERDELETE

AFTERDOCK

AFTERINSERT

AFTERRECORDREFRESH

AFTERREPORT

AFTERROWCOLCHANGE

AFTERUPDATE

AGAIN

AGETCLASS

AGETFILEVERSION

AINDENT

AINS

AINSTANCE

ALANGUAGE

ALEN

ALIAS

ALIGN

ALIGNMENT

ALIGNRIGHT

ALINES

ALL

ALLOWADDNEW

ALLOWAUTOCOLUMNFIT

ALLOWCELLSELECTION

ALLOWDELETE

ALLOWEXTERNAL

ALLOWHEADERSIZING

ALLOWINSERT

ALLOWMODALMESSAGES

ALLOWOUTPUT

ALLOWRESIZE

ALLOWROWSIZING

ALLOWTABS

ALLOWTABS+

ALLOWUPDATE

ALLTRIM

ALT

ALTER

ALTERNATE

ALWAYSONBOTTOM

ALWAYSONTOP

AMEMBERS

AMOUSEOBJ

ANCHOR

AND

ANETRESOURCES

ANSI

ANSITOOEM

ANY

APLABOUT

APP

APPEND

APPLICATION

APPLYDIFFGRAM

APRINTERS

APROCINFO

ARRAY

AS

ASC

ASCAN

ASCENDING

ASCII

ASELOBJ

ASESSIONS

ASIN

ASORT

ASQLHANDLES

ASSERT

ASSERTS

ASSIST

ASTACKINFO

ASUBSCRIPT

ASYNCHRONOUS

AT

AT_C

ATAGINFO

ATAN

ATC

ATCC

ATCLINE

ATGETCOLORS

ATLINE

ATLISTCOLORS

ATN2

ATTACH

ATTRIBUTES

AUSED

AUTOACTIVATE

AUTOCENTER

AUTOCLOSETABLES

AUTOCOMPLETE

AUTOCOMPSOURCE

AUTOCOMPTABLE

AUTOFIT

AUTOFORM

AUTOHIDESCROLLBAR

AUTOINC

AUTOINCERROR

AUTOMATIC

AUTOOPEN

AUTOOPENTABLES

AUTORELEASE

AUTOREPORT

AUTOSAVE

AUTOSIZE

AUTOVERBMENU

AUTOYIELD

AVAILNUM

AVCXCLASSES

AVERAGE

AVG

B

B

BACKCOLOR

BACKSTYLE

BACKSTYLE

BAR

BARCOUNT

BARPROMPT

BASECLASS

BATCHMODE

BATCHUPDATECOUNT

BEFORE

BEFOREBAND

BEFOREBUILD

BEFORECURSORATTACH

BEFORECURSORCLOSE

BEFORECURSORDETACH

BEFORECURSORFILL

BEFORECURSORREFRESH

BEFORECURSORUPDATE

BEFOREDELETE

BEFOREDOCK

BEFOREINSERT

BEFOREOPENTABLES

BEFORERECORDREFRESH

BEFOREREPORT

BEFOREROWCOLCHANGE

BEFOREUPDATE

BEGIN

BELL

BELLSOUND

BETWEEN

BINDCONTROLS

BINDEVENT

BINTOC

BITAND

BITCLEAR

BITLSHIFT

BITMAP

BITNOT

BITOR

BITRSHIFT

BITSET

BITTEST

BITXOR

BLANK

BLINK

BLOB

BLOCKSIZE

BOF

BORDER

BORDERCOLOR

BORDERSTYLE

BORDERWIDTH

BOTTOM

BOUND

BOUNDCOLUMN

BOUNDTO

BOX

BROWSE

BROWSEALIGNMENT

BROWSECELLMARG

BROWSEDESTWIDTH

BROWSEIMECONTROL

BROWSEREFRESH

BRSTATUS

BUCKET

BUFFERING

BUFFERMODE

BUFFERMODEOVERRIDE

BUFFERS

BUILD

BUILDERLOCK

BUTTONCOUNT

BUTTONINDEX

BUTTONS

BUTTONSBOF

BY

C

C

CALCULATE

CALL

CANACCELERATE

CANCEL

CANCELREPORT

CANDIDATE

CANGETFOCUS

CANLOSEFOCUS

CAPSLOCK

CAPTION

CARRY

CASCADE

CASE

CAST

CATALOG

CATCH

CD

CDOW

CDX

CEILING

CENTER

CENTERED

CENTRAL

CENTURY

CGA

CHANGE

CHANGESTOCURSOR

CHAR

CHARACTER

CHDIR

CHECK

CHECKBOX

CHILDALIAS

CHILDORDER

CHILDORDER

CHILDTABLE

CHR

CHRSAW

CHRTRAN

CHRTRANC

CIRCLE

CLASS

CLASS

CLASSLIB

CLASSLIBRARY

CLEAR

CLEARDATA

CLEARRESULTSET

CLEARSTATUS

CLICK

CLIPCONTROLS

CLIPRECT

CLOCK

CLONEOBJECT

CLOSABLE

CLOSE

CLOSEEDITOR

CLOSETABLES

CLS

CMONTH

CNT

CNTBAR

CNTPAD

CODEPAGE

COL

COLLATE

COLLECTION

COLOR

COLORSCHEME

COLORSOURCE

COLUMN

COLUMNCOUNT

COLUMNHEADERS

COLUMNLINES

COLUMNORDER

COLUMNS

COLUMNWIDTHS

COM1

COM2

COMARRAY

COMBOBOX

COMCLASSINFO

COMMAND

COMMANDBUTTON

COMMANDCLAUSES

COMMANDGROUP

COMMANDTARGETEXEC

COMMANDTARGETQUERY

COMMENT

COMPACT

COMPAREMEMO

COMPATIBLE

COMPILE

COMPLETED

COMPOBJ

COMPRESS

COMPUTE

COMRETURNERROR

CONCAT

CONFIRM

CONFLICTCHECKCMD

CONFLICTCHECKTYPE

CONNECTBUSY

CONNECTHANDLE

CONNECTION

CONNECTIONS

CONNECTNAME

CONNECTSTRING

CONNECTTIMEOUT

CONNSTRING

CONSOLE

CONTAINER

CONTAINERRELEASE

CONTAINERRELEASETYPE

CONTINUE

CONTINUOUSSCROLL

CONTROL

CONTROLBOX

CONTROLCOUNT

CONTROLINDEX

CONTROLS

CONTROLSOURCE

CONVERSIONFUNC

COPIES

COPY

COS

COT

COUNT

COVERAGE

CPCOMPILE

CPCONVERT

CPCURRENT

CPDBF

CPDIALOG

CPNOTRANS

CREATE

CREATEBINARY

CREATEOBJECT

CREATEOBJECTEX

CREATEOFFLINE

CRSBUFFERING

CRSFETCHMEMO

CRSFETCHSIZE

CRSMAXROWS

CRSMETHODUSED

CRSNUMBATCH

CRSSHARECONNECTION

CRSUSEMEMOSIZE

CRSWHERECLAUSE

CSV

CTOBIN

CTOBIN

CTOD

CTOT

CURDATE

CURDIR

CURRENCY

CURRENTCONTROL

CURRENTDATASESSION

CURRENTPASS

CURRENTX

CURRENTY

CURRENTY

CURRLEFT

CURRSYMBOL

CURSOR

CURSORADAPTER

CURSORATTACH

CURSORDETACH

CURSORFILL

CURSORGETPROP

CURSORREFRESH

CURSORSCHEMA

CURSORSETPROP

CURSORSOURCE

CURSORSTATUS

CURSORTORS

CURSORTOXML

CURTIME

CURVAL

CURVATURE

CUSTOM

CYCLE

D

D

DATABASE

DATABASES

DATAENVIRONMENT

DATAOBJECT

DATASESSION

DATASESSIONID

DATASOURCE

DATASOURCEOBJ

DATASOURCETYPE

DATATOCLIP

DATATYPE

DATE

DATEFORMAT

DATEMARK

DATETIME

DAY

DAYNAME

DAYOFMONTH

DAYOFWEEK

DAYOFYEAR

DB_BUFLOCKROW

DB_BUFLOCKTABLE

DB_BUFOFF

DB_BUFOPTROW

DB_BUFOPTTABLE

DB_COMPLETTE

DB_DELETEINSERT

DB_KEYANDMODIFIED

DB_KEYANDTIMESTAMP

DB_KEYANDUPDATABLE

DB_LOCALSQL

DB_NOPROMPT

DB_PROMPT

DB_REMOTESQL

DB_TRANSAUTO

DB_TRANSMANUAL

DB_TRANSNONE

DB_UPDATE

DB4

DB4

DBALIAS

DBC

DBC_Activate

DBC_AfterAddRelation

DBC_AfterAddTable

DBC_AfterAppendProc

DBC_AfterCloseTable

DBC_AfterCopyProc

DBC_AfterCreateConnection

DBC_AfterCreateOffline

DBC_AfterCreateTable

DBC_AfterCreateView

DBC_AfterDBGetProp

DBC_AfterDBSetProp

DBC_AfterDeleteConnection

DBC_AfterDropOffline

DBC_AfterDropRelation

DBC_AfterDropTable

DBC_AfterDropView

DBC_AfterModifyConnection

DBC_AfterModifyProc

DBC_AfterModifyTable

DBC_AfterModifyView

DBC_AfterOpenTable

DBC_AfterRemoveTable

DBC_AfterRenameConnection

DBC_AfterRenameTable

DBC_AfterRenameView

DBC_AfterValidateData

DBC_BeforeAddRelation

DBC_BeforeAddTable

DBC_BeforeAppendProc

DBC_BeforeCloseTable

DBC_BeforeCopyProc

DBC_BeforeCreateConnection

DBC_BeforeCreateOffline

DBC_BeforeCreateTable

DBC_BeforeCreateView

DBC_BeforeDBGetProp

DBC_BeforeDBSetProp

DBC_BeforeDeleteConnection

DBC_BeforeDropOffline

DBC_BeforeDropRelation

DBC_BeforeDropTable

DBC_BeforeDropView

DBC_BeforeModifyConnection

DBC_BeforeModifyProc

DBC_BeforeModifyTable

DBC_BeforeModifyView

DBC_BeforeOpenTable

DBC_BeforeRemoveTable

DBC_BeforeRenameConnection

DBC_BeforeRenameTable

DBC_BeforeRenameView

DBC_BeforeValidateData

DBC_CloseData

DBC_Deactivate

DBC_ModifyData

DBC_OpenData

DBC_PackData

DBF

DBFDBLCLICK

DBGETPROP

DBLCLICK

DBMEMO3

DBSETPROP

DBTRAP

DBUSED

DDEABORTTRANS

DDEADVISE

DDEENABLED

DDEEXECUTE

DDEINITIATE

DDELASTERROR

DDEPOKE

DDEREQUEST

DDESETOPTION

DDESETSERVICE

DDESETTOPIC

DDETERMINATE

DEACTIVATE

DEACTIVATE

DEBUG

DEBUGGER

DEBUGOUT

DECIMALS

DECLARE

DECLAREXMLPREFIX

DECLASS

DECLASSLIBRARY

DEFAULT

DEFAULTEXT

DEFAULTFILEPATH

DEFAULTSOURCE

DEFAULTVALUE

DEFBUTTON

DEFBUTTONORIG

DEFHEIGHT

DEFINE

DEFINEWINDOWS

DEFLEFT

DEFOLELCID

DEFTOP

DEFWIDTH

DEGREES

DELAYBIND

DELAYEDMEMOFETCH

DELETE

DELETECMD

DELETECMDDATASOURCE

DELETECMDDATASOURCETYPE

DELETECOLUMN

DELETED

DELETEMARK

DELETETABLES

DELETETRIGGER

DELIMITED

DELIMITERS

DESC

DESCENDING

DESCRIPTION

DESIGN

DESKTOP

DESTROY

DETAILS

DEVELOPMENT

DEVICE

DIF

DIFFERENCE

DIMENSION

DIR

DIRECTORY

DISABLED

DISABLEDBACKCOLOR

DISABLEDBYEOF

DISABLEDFORECOLOR

DISABLEDITEMBACKCOLOR

DISABLEDITEMFORECOLOR

DISABLEDPICTURE

DISABLEENCODE

DISCONNECTED

DISKSPACE

DISPLAY

DISPLAYCOUNT

DISPLAYORIENTATION

DISPLAYPATH

DISPLAYVALUE

DISPLAYVALUEDIRTY

DISPLOGIN

DISPPAGEHEIGHT

DISPPAGEWIDTH

DISPWARNINGS

DISTINCT

DLL

DLLS

DMY

DO

DOC

DOCK

DOCKABLE

DOCKED

DOCKPOSITION

DOCMD

DOCREATE

DOCUMENTFILE

DODEFAULT

DOEVENTS

DOHISTORY

DOMESSAGE

DOS

DOSCROLL

DOSMEM

DOSTATUS

DOUBLE

DOVERB

DOW

DOWN

DOWNCLICK

DOWNPICTURE

DRAG

DRAGDROP

DRAGICON

DRAGMODE

DRAGOVER

DRAGSTATE

DRAW

DRAW

DRAWMODE

DRAWSTYLE

DRAWWIDTH

DRIVER

DRIVETYPE

DROP

DROPDOWN

DROPOFFLINE

DTOC

DTOR

DTOS

DTOT

DUPLEX

DYNAMICALIGNMENT

DYNAMICBACKCOLOR

DYNAMICCURRENTCONTROL

DYNAMICFONTBOLD

DYNAMICFONTITALIC

DYNAMICFONTNAME

DYNAMICFONTOUTLINE

DYNAMICFONTSHADOW

DYNAMICFONTSIZE

DYNAMICFONTSTRIKETHRU

DYNAMICFONTUNDERLINE

DYNAMICFORECOLOR

DYNAMICINPUTMASK

DYNAMICLINEHEIGHT

E

E

EACH

ECHO

EDIT

EDITBOX

EDITFLAGS

EDITOROPTIONS

EDITSOURCE

EDITWORK

EGA25

EGA43

EJECT

ELIF

ELSE

EMPTY

EMS

EMS64

ENABLED

ENABLEDBYREADLOCK

ENABLEHYPERLINKS

ENCRYPT

ENCRYPTION

END

ENDCASE

ENDDEFINE

ENDDO

ENDFOR

ENDFUNC

ENDIF

ENDPRINTJOB

ENDPROC

ENDSCAN

ENDTEXT

ENDTRY

ENDWITH

ENGINEBEHAVIOR

ENTERFOCUS

ENVIRONMENT

ENVLEVEL

EOF

ERASE

ERASEPAGE

ERROR

ERRORMESSAGE

ERRORNO

ESCAPE

EVALUATE

EVALUATECONTENTS

EVENTHANDLER

EVENTLIST

EVENTS

EVENTTRACKING

EVL

EXACT

EXCEPT

EXCEPTION

EXCLUSIVE

EXE

EXECSCRIPT

EXISTS

EXIT

EXITFOCUS

EXP

EXPORT

EXPRESSION

EXTENDED

EXTERNAL

F

F

F11F12

FCHSIZE

FCLOSE

FCOUNT

FCREATE

FDATE

FDOW

FEOF

FERROR

FETCH

FETCHMEMO

FETCHMEMOCMDLIST

FETCHMEMODATASOURCE

FETCHMEMODATASOURCETYPE

FETCHSIZE

FFLUSH

FGETS

FIELD

FIELDS

FIELDSF

FILE

FILER

FILES

FILETOSTR

FILL

FILLCOLOR

FILLSTYLE

FILTER

FINALLY

FIND

FIRSTELEMENT

FIRSTNESTEDTABLE

FIXED

FKLABEL

FKMAX

FLAGS

FLDCOUNT

FLDLIST

FLOAT

FLOCK

FLOOR

FLUSH

FOLDCONST

FONT

FONTBOLD

FONTCHARSET

FONTCLASS

FONTCONDENSE

FONTEXTEND

FONTITALIC

FONTMETRIC

FONTMETRIC

FONTNAME

FONTOUTLINE

FONTSHADOW

FONTSIZE

FONTSTRIKETHRU

FONTUNDERLINE

FOOTER

FOPEN

FOR

FORCE

FORCECLOSETAG

FORCEEXT

FORCEFOCUS

FORCEPATH

FORECOLOR

FOREIGN

FORM

FORMAT

FORMATCHANGE

FORMATTEDOUTPUT

FORMCOUNT

FORMINDEX

FORMPAGECOUNT

FORMPAGEINDEX

FORMS

FORMSCLASS

FORMSET

FORMSETCLASS

FORMSETLIB

FORMSLIB

FOUND

FOX2X

FOXCODE

FOXDOC

FOXFONT

FOXGEN

FOXGRAPH

FOXOBJECT

FOXPLUS

FOXPRO

FOXTASK

FOXVIEW

FPUTS

FRACTIONDIGITS

FREAD

FREE

FREEZE

FRENCH

FROM

FRXDATASESSION

FSEEK

FSIZE

FTIME

FULL

FULLNAME

FULLPATH

FUNCTION

FV

FW2

FWEEK

FWRITE

G

G

GATHER

GDIPLUSGRAPHICS

GENERAL

GERMAN

GET

GETAUTOINCVALUE

GETBAR

GETCOLOR

GETCP

GETCURSORADAPTER

GETDATA

GETDIR

GETDOCKSTATE

GETENV

GETEXPR

GETFILE

GETFLDSTATE

GETFONT

GETFORMAT

GETHOST

GETINTERFACE

GETKEY

GETNEXTMODIFIED

GETOBJECT

GETPAD

GETPAGEHEIGHT

GETPAGEWIDTH

GETPEM

GETPICT

GETPRINTER

GETRESULTSET

GETS

GETWORDCOUNT

GETWORDNUM

GLOBAL

GO

GOBACK

GOFIRST

GOFORWARD

GOLAST

GOMONTH

GOTFOCUS

GOTO

GRAPH

GRID

GRIDHITTEST

GRIDHORZ

GRIDLINECOLOR

GRIDLINES

GRIDLINEWIDTH

GRIDSHOW

GRIDSHOWPOS

GRIDSNAP

GRIDVERT

GROUP

GROW

H

H

HALFHEIGHT

HALFHEIGHTCAPTION

HASCLIP

HAVING

HEADER

HEADERCLASS

HEADERCLASSLIBRARY

HEADERGAP

HEADERHEIGHT

HEADING

HEADINGS

HEIGHT

HELP

HELPCONTEXTID

HELPFILTER

HELPON

HELPTO

HIDDEN

HIDE

HIDEAPPOBJ

HIDEDOC

HIDESELECTION

HIGHLIGHT

HIGHLIGHTBACKCOLOR

HIGHLIGHTFORECOLOR

HIGHLIGHTSTYLE

HIGHLIGHTROW

HISTORY

HMEMORY

HOME

HOSTNAME

HOTKEY

HOUR

HOURS

HPROJ

HSCROLLSMALLCHANGE

HWND

HYPERLINK

I

I

IBLOCK

ICASE

ICON

ID

IDHISTORY

IDLETIMEOUT

IDXCOLLATE

IF

IFDEF

IFNDEF

IGNOREINSERT

IIF

IMAGE

IMEMODE

IMESTATUS

IMPORT

IN

INCLUDE

INCLUDEPAGEINOUTPUT

INCREMENT

INCREMENTALSEARCH

INDBC

INDEX

INDEXES

INDEXSEEK

INDEXTOITEMID

INFORMATION

INIT

INITIALSELECTEDALIAS

INKEY

INLIST

INNER

INPUT

INPUTMASK

INRESIZE

INSERT

INSERTCMD

INSERTCMDDATASOURCE

INSERTCMDDATASOURCETYPE

INSERTCMDREFRESHCMD

INSERTCMDREFRESHFIELDLIST

INSERTCMDREFRESHKEYFIELDLIST

INSERTTRIGGER

INSMODE

INSTRUCT

INT

INTEGER

INTEGRALHEIGHT

INTENSITY

INTERACTIVECHANGE

INTERSECT

INTERVAL

INTO

IS

ISALPHA

ISATTRIBUTE

ISBASE64

ISBINARY

ISBLANK

ISCOLOR

ISDIFFGRAM

ISDIGIT

ISEXCLUSIVE

ISFLOCKED

ISHOSTED

ISLEADBYTE

ISLOADED

ISLOWER

ISMEMOFETCHED

ISMOUSE

ISNULL

ISOMETRIC

ISPEN

ISREADONLY

ISRLOCKED

ISTRANSACTABLE

ISUPPER

ITALIAN

ITEM

ITEMBACKCOLOR

ITEMDATA

ITEMFORECOLOR

ITEMIDDATA

ITEMIDTOINDEX

ITEMTIPS

IXMLDOMELEMENT

J

J

JAPAN

JOIN

JUSTDRIVE

JUSTEXT

JUSTFNAME

JUSTPATH

JUSTREADLOCKED

JUSTSTEM

K

KEY

KEYBOARD

KEYBOARDHIGHVALUE

KEYBOARDLOWVALUE

KEYCOLUMNS

KEYCOMP

KEYFIELD

KEYFIELDLIST

KEYMATCH

KEYPRESS

KEYPREVIEW

KEYSET

KEYSORT

L

LABEL

LANGUAGEOPTIONS

LAST

LASTKEY

LASTPROJECT

LCASE

LDCHECK

LEDIT

LEFT

LEFTC

LEFTCOLUMN

LEN

LENC

LENGTH

LEVEL

LIBRARY

LIKE

LIKEC

LINE

LINECONTENTS

LINENO

LINESLANT

LINKED

LINKMASTER

LIST

LISTBOX

LISTCOUNT

LISTENERTYPE

LISTINDEX

LISTITEM

LISTITEMID

LOAD

LOADPICTURE

LOADREPORT

LOADXML

LOCAL

LOCFILE

LOCK

LOCKCOLUMNS

LOCKCOLUMNSLEFT

LOCKDATASOURCE

LOCKSCREEN

LOG

LOG10

LOGERRORS

LOGOUT

LONG

LOOKUP

LOOP

LOSTFOCUS

LOWER

LPARAMETER

LPARAMETERS

LPARTITION

LTRIM

LTRJUSTIFY

LUPDATE

M

M

MAC

MACDESKTOP

MACHELP

MACKEY

MACROS

MACSCREEN

MAIL

MAKETRANSACTABLE

MAP19_4TOCURRENCY

MAPBINARY

MAPVARCHAR

MARGIN

MARK

MASTER

MAX

MAXBUTTON

MAXHEIGHT

MAXLEFT

MAXLENGTH

MAXMEM

MAXRECORDS

MAXTOP

MAXWIDTH

MBLOCK

MCOL

MD

MDI

MDIFORM

MDOWN

MDX

MDY

MEMBERCLASS

MEMBERCLASSLIBRARY

MEMLIMIT

MEMLINES

MEMO

MEMORY

MEMOS

MEMOWIDTH

MEMOWINDOW

MEMVAR

MENU

MENUS

MESSAGE

MESSAGEBOX

MESSAGES

METHOD

MIDDLE

MIDDLECLICK

MIN

MINBUTTON

MINHEIGHT

MINIMIZE

MINUS

MINUTE

MINWIDTH

MKDIR

MLINE

MOD

MODAL

MODIFY

MODULE

MONO

MONO43

MONO43

MONTH

MONTHNAME

MOUSE

MOUSEDOWN

MOUSEICON

MOUSEMOVE

MOUSEPOINTER

MOUSEUP

MOUSEWHEEL

MOVABLE

MOVE

MOVED

MOVEITEM

MOVERBARS

MOVERS

MRKBAR

MRKPAD

MROW

MTB_SP100

MTON

MULTILOCKS

MULTISELECT

MVARSIZ

MVCOUNT

MWINDOW

N

NAME

NAPTIME

NATIVE

NAVIGATETO

NDX

NEAR

NEGOTIATE

NEST

NESTEDINTO

NETWORK

NEWINDEX

NEWITEMID

NEWOBJECT

NEXT

NEXTSIBLINGTABLE

NEXTVALUE

NOALIAS

NOAPPEND

NOCLEAR

NOCLOSE

NOCONSOLE

NOCPTRANS

NODATA

NODATAONLOAD

NODEBUG

NODEFAULT

NODEFINE

NODELETE

NODIALOG

NODUP

NOEDIT

NOEJECT

NOENVIRONMENT

NOFILTER

NOFLOAT

NOFOLLOW

NOGROW

NOINIT

NOLGRID

NOLINK

NOLOCK

NOLOG

NOMARGIN

NOMDI

NOMENU

NOMINIMIZE

NOMODIFY

NOMOUSE

NONE

NOOPTIMIZE

NOORGANIZE

NOOVERWRITE

NOPROJECTHOOK

NOPROMPT

NOREAD

NOREFRESH

NOREQUERY

NORGRID

NORM

NORMAL

NORMALIZE

NOSAVE

NOSHADOW

NOSHOW

NOSPACE

NOT

NOTAB

NOTE

NOTIFY

NOTIFYCONTAINER

NOUPDATE

NOVALIDATE

NOVERIFY

NOW

NOWAIT

NOWINDOW

NOWRAP

NOZOOM

NPV

NTOM

NULL

NULLDISPLAY

NULLSTRING

NUMBER

NUMBEROFELEMENTS

NUMLOCK

NVL

O

OBJECTS

OBJNUM

OBJREF

OBJTOCLIENT

OBJVAR

OCCURS

ODBCHDBC

ODBCHSTMT

ODOMETER

OEMTOANSI

OF

OFF

OLDVAL

OLEBASECONTROL

OLEBOUNDCONTROL

OLECLASS

OLECLASSID

OLECLASSIDISPOUT

OLECOMPLETEDRAG

OLECONTROL

OLECONTROLCONTAINER

OLEDRAG

OLEDRAGDROP

OLEDRAGMODE

OLEDRAGOVER

OLEDRAGPICTURE

OLEDROPEFFECTS

OLEDROPHASDATA

OLEDROPMODE

OLEDROPTEXTINSERTION

OLEGIVEFEEDBACK

OLEIDISPATCHINCOMING

OLEIDISPATCHOUTGOING

OLEIDISPINVALUE

OLEIDISPOUTVALUE

OLELCID

OLEOBJECTS

OLEPUBLIC

OLEREQUESTPENDINGTIMOU

OLESERVERBUSYRAISEERRO

OLESERVERBUSYTIMOUT

OLESETDATA

OLESTARTDRAG

OLETYPEALLOWED

ON

ONETOMANY

ONLINE

ONLY

ONMOVEITEM

ONPREVIEWCLOSE

ONRESIZE

OPEN

OPENEDITOR

OPENTABLES

OPENVIEWS

OPENWINDOW

OPTIMIZE

OPTIONBUTTON

OPTIONGROUP

OR

ORACLE

ORDER

ORDERDIRECTION

ORIENTATION

OS

OTHERWISE

OUTER

OUTPUT

OUTPUTPAGE

OUTPUTPAGECOUNT

OUTPUTTYPE

OUTSHOW

OVERLAY

OVERWRITE

P

PACK

PACKETSIZE

PAD

PADC

PADL

PADPROMPT

PADR

PAGE

PAGECOUNT

PAGEFRAME

PAGEHEIGHT

PAGEHEIGHT

PAGENO

PAGEORDER

PAGES

PAGETOTAL

PAGEWIDTH

PAINT

PALETTE

PANEL

PANELLINK

PAPERLENGTH

PAPERSIZE

PAPERWIDTH

PARAMETERS

PARENT

PARENTALIAS

PARENTCLASS

PARENTTABLE

PARTITION

PASSWORD

PASSWORDCHAR

PATH

PATTERN

PAUSE

PAYMENT

PCOL

PCOUNT

PDOX

PDSETUP

PEMSTATUS

PEN

PERCENT

PFS

PI

PICTURE

PICTUREMARGIN

PICTUREPOSITION

PICTURESPACING

PICTURESELECTIONDISPLAY

PICTUREVAL

PIVOT

PIXELS

PLAIN

PLATFORM

PLAY

POINT

POLYPOINTS

POP

POPUPS

POWER

PRECISION

PREFERENCE

PRESERVEWHITESPACE

PRETEXT

PREVIEW

PREVIEWCONTAINER

PRIMARY

PRIMARYKEY

PRINT

PRINTER

PRINTFORM

PRINTJOB

PRINTJOBNAME

PRINTQUALITY

PRINTSTATUS

PRIVATE

PRMBAR

PRMPAD

PROCEDURE

PROCEDURES

PRODUCTION

PROGCACHE

PROGRAM

PROGRAMMATICCHANGE

PROGWORK

PROJECT

PROJECTCLICK

PROJECTHOOK

PROMPT

PROPER

PROTECTED

PROW

PRTINFO

PSET

PSET

PUBLIC

PUSH

PUTFILE

PV

Q

QPR

QUARTER

QUERY

QUERYADDFILE

QUERYMODIFYFILE

QUERYNEWFILE

QUERYREMOVEFILE

QUERYRUNFILE

QUERYTIMEOUT

QUERYUNLOAD

QUERYUNLOAD

QUIETMODE

QUIT

R

RADIANS

RAISEEVENT

RAND

RANDOM

RANGE

RANGEHIGH

RANGELOW

RAT

RATC

RATLINE

RD

RDLEVEL

READ

READACTIVATE

READBORDER

READCOLORS

READCYCLE

READDEACTIVATE

READERROR

READEXPRESSION

READFILLER

READKEY

READLOCK

READMETHOD

READMOUSE

READONLY

READSAVE

READSHOW

READSIZE

READTIMEOUT

READVALID

READWHEN

RECALL

RECCOUNT

RECENTLYUSEDFILES

RECNO

RECOMPILE

RECORD

RECORDMARK

RECORDREFRESH

RECORDSOURCE

RECORDSOURCETYPE

RECOVER

RECSIZE

RECT

RECTCLASS

RECYCLE

REDIT

REFERENCE

REFERENCES

REFRESH

REFRESHALIAS

REFRESHCMD

REFRESHCMDDATASOURCE

REFRESHCMDDATASOURCETYPE

REFRESHIGNOREFIELDLIST

REFRESHTIMESTAMP

REINDEX

RELATEDCHILD

RELATEDTABLE

RELATEDTAG

RELATION

RELATIONALEXPR

RELATIVE

RELATIVECOLUMN

RELATIVEROW

RELEASE

RELEASEERASE

RELEASETYPE

RELEASEWINDOWS

RELEASEXML

REMOTE

REMOVE

REMOVEITEM

REMOVELISTITEM

REMOVEOBJECT

REMOVEPROPERTY

RENAME

RENDER

REPEAT

REPLACE

REPLICATE

REPORT

REPORTBEHAVIOR

REPORTLISTENER

REPROCESS

REQUERY

REQUESTDATA

REQUIRED

RESET

RESETTODEFAULT

RESHEIGHT

RESIZABLE

RESIZE

RESOURCE

RESOURCEON

RESOURCES

RESOURCETO

RESPECTCURSORCP

RESPECTNESTING

REST

RESTORE

RESTRICT

RESUME

RESWIDTH

RETRY

RETURN

REVERTOFFLINE

RGB

RGBSCHEME

RIGHT

RIGHTC

RIGHTCLICK

RIGHTTOLEFT

RLOCK

RMDIR

ROLLBACK

ROLLOVER

ROTATION

ROTATEFLIP

ROUND

ROW

ROWCOLCHANGE

ROWHEIGHT

ROWSET

ROWSOURCE

ROWSOURCETYPE

RPD

RSTOCURSOR

RTLJUSTIFY

RTOD

RTRIM

RULEEXPRESSION

RULETEXT

RUN

RUNTIME

RVIEW

S

SAFETY

SAME

SAMPLE

SAVE

SAVEAS

SAVEASCLASS

SAVEPICTURE

SAY

SCALE

SCALEMODE

SCALEUNITS

SCAN

SCATTER

SCCDESTROY

SCCINIT

SCHEME

SCOLS

SCOREBOARD

SCREEN

SCREENS

SCROLL

SCROLLBARS

SCROLLED

SCROLLSCROLLBARS

SDF

SDIFORM

SEC

SECOND

SECONDS

SECONDS

SEEK

SELECT

SELECTCMD

SELECTED

SELECTEDBACKCOLOR

SELECTEDFORECOLOR

SELECTEDID

SELECTEDITEMBACKCOLOR

SELECTEDITEMFORECOLOR

SELECTION

SELECTIONNAMESPACES

SELECTONENTRY

SELFEDIT

SELLENGTH

SELSTART

SELTEXT

SENDGDIPLUSIMAGE

SENDUPDATES

SEPARATOR

SET

SETALL

SETDATA

SETDEFAULT

SETFLDSTATE

SETFOCUS

SETFORMAT

SETRESULTSET

SETUP

SETVAR

SETVIEWPORT

SHADOWS

SHAPE

SHARECONNECTION

SHARED

SHEET

SHELL

SHIFT

SHORTCUT

SHOW

SHOWDOC

SHOWINTASKBAR

SHOWOLECONTROLS

SHOWOLEINSERTABLE

SHOWTIPS

SHOWVCXS

SHOWWHATSTHIS

SHOWWINDOW

SHUTDOWN

SIGN

SIN

SINGLE

SIZABLE

SIZE

SIZE<HEIGHT>

SIZE<MAXLENGTH>

SIZE<WIDTH>

SIZEBOX

SKIP

SKIPFORM

SKPBAR

SKPPAD

SOM

SOME

SORT

SORTED

SORTWORK

SOUNDEX

SOURCENAME

SOURCETYPE

SPACE

SPARSE

SPECIALEFFECT

SPINNER

SPINNERHIGHVALUE

SPINNERLOWVALUE

SPLITBAR

SQL

SQLASYNCHRONOUS

SQLBATCHMODE

SQLCANCEL

SQLCOLUMNS

SQLCOMMIT

SQLCONNECT

SQLCONNECTTIMEOUT

SQLDISCONNECT

SQLDISPLOGIN

SQLDISPWARNINGS

SQLEXEC

SQLGETPROP

SQLIDLEDISCONNECT

SQLIDLETIMEOUT

SQLL

SQLMORERESULTS

SQLPREPARE

SQLQUERYTIMEOUT

SQLROLLBACK

SQLSETPROP

SQLSTRINGCONNECT

SQLSTRINGCONNECT

SQLTABLES

SQLTRANSACTIONS

SQLWAITTIME

SQRT

SROWS

STACKLEVEL

STANDALONE

STATUS

STATUSBAR

STATUSBARTEXT

STD

STEP

STICKY

STORE

STR

STRCONV

STRETCH

STRICTDATE

STRICTDATEENTRY

STRING

STRTOFILE

STRTRAN

STRUCTURE

STUFF

STUFFC

STYLE

SUBCLASS

SUBSTR

SUBSTRC

SUBSTRING

SUM

SUMMARY

SUPPORTSLISTENERTYPE

SUSPEND

SYLK

SYS

SYSFORMATS

SYSMENUS

SYSMETRIC

SYSTEM

SYSTEMREFCOUNT

T

TAB

TABFIXEDHEIGHT

TABFIXEDWIDTH

TABHIT

TABINDEX

TABLE

TABLEPROMPT

TABLEREFRESH

TABLEREVERT

TABLES

TABLEUPDATE

TABLEVALIDATE

TABORDERING

TABORIENTATION

TABS

TABSTOP

TABSTRETCH

TABSTYLE

TAG

TAGCOUNT

TAGNO

TALK

TAN

TARGET

TASKPANE

TEDIT

TERMINATEREAD

TEXT

TEXTBOX

TEXTHEIGHT

TEXTMERGE

TEXTWIDTH

THEMES

THEN

THIS

THISFORM

THISFORMSET

THROW

TIME

TIMEOUT

TIMER

TIMESTAMP

TIMESTAMPDIFF

TIMESTAMPFIELDLIST

TITLEBAR

TITLES

TMPFILES

TO

TOCURSOR

TOOLBAR

TOOLBOX

TOOLTIPTEXT

TOP

TOPIC

TOPINDEX

TOPITEMID

TOTAL

TOXML

TRANSACTION

TRANSACTIONS

TRANSFORM

TRAP

TRBETWEEN

TRIGGER

TRIM

TRUNCATE

TRY

TTOC

TTOD

TTOPTION

TWOPASSPROCESS

TXNLEVEL

TXTWIDTH

TYPE

TYPEAHEAD

U

UCASE

UDFPARMS

UIENABLE

UNBINDEVENT

UNDEFINE

UNDOCK

UNICODE

UNION

UNIQUE

UNLOAD

UNLOADREPORT

UNLOCK

UNLOCKDATASOURCE

UNNEST

UNPACK

UP

UPCLICK

UPDATABLE

UPDATABLEFIELDLIST

UPDATE

UPDATECMD

UPDATECMDREFRESHCMD

UPDATECMDREFRESHFIELDLIST

UPDATECMDREFRESHKEYFIELDLIST

UPDATECMDSOURCE

UPDATECMDSOURCETYPE

UPDATED

UPDATEDATASOURCE

UPDATEGRAM

UPDATEGRAMSCHEMALOCATION

UPDATENAME

UPDATENAMELIST

UPDATESTATUS

UPDATETRIGGER

UPDATETYPE

UPPER

UPSIZING

USA

USE

USECODEPAGE

USECURSORSCHEMA

USED

USEMEMOSIZE

USERID

USERS

USERVALUE

USETRANSACTIONS

UTF8ENCODED

V

VAL

VALID

VALIDATE

VALUE

VALUEDIRTY

VALUES

VAR

VARBINARY

VARCHAR

VARCHARMAPPING

VARREAD

VARTYPE

VERB

VERSION

VGA25

VGA50

VIEW

VIEWPORTHEIGHT

VIEWPORTLEFT

VIEWPORTTOP

VIEWPORTWIDTH

VIEWS

VISIBLE

VISUALEFFECT

VOLUME

VSCROLLSMALLCHANGE

W

WAIT

WAITTIME

WASACTIVE

WASOPEN

WBORDER

WCHILD

WCOLS

WDOCKABLE

WEEK

WEXIST

WFONT

WHATSTHISBUTTON

WHATSTHISHELP

WHATSTHISHELPID

WHATSTHISMODE

WHEN

WHERE

WHEREWHERETYPE

WHILE

WIDTH

WINDCMD

WINDHELP

WINDMEMO

WINDMENU

WINDMODIFY

WINDOW

WINDOWLIST

WINDOWNTILIST

WINDOWS

WINDOWSTATE

WINDOWTYPE

WINDQUERY

WINDSCREEN

WINDSNIP

WINDSTPROC

WITH

WIZARDPROMPT

WK1

WK3

WKS

WLAST

WLCOL

WLROW

WMAXIMUM

WMINIMUM

WONTOP

WORDWRAP

WORKAREA

WOUTPUT

WP

WPARENT

WR1

WRAP

WRAPCHARINCDATA

WRAPINCDATA

WRAPMEMOINCDATA

WREAD

WRITEEXPRESSION

WRITEMETHOD

WRK

WROWS

WTITLE

WVISIBLE

X

XCMDFILE

XL5

XL8

XLS

XMLADAPTER

XMLCONSTRAINTS

XMLFIELD

XMLNAME

XMLNAMEISXPATH

XMLNAMESPACE

XMLPREFIX

XMLSCHEMALOCATION

XMLTABLE

XMLTOCURSOR

XMLTYPE

XMLUPDATEGRAM

XSDFRACTIONDIGITS

XSDMAXLENGTH

XSDTOTALDIGITS

XSDTYPE

Y

YEAR

YRESOLUTION

Z

ZAP

ZOOM

ZOOMBOX

ZORDER

ZORDERSET

См. также

Ссылки

Справочник по языку от A до Z
Сообщения об ошибках от A до Z
Общий справочник

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


String and Value Comparison in Visual FoxPro

Visual FoxPro 9.0
Сравнение значений строк в Visual FoxPro
См. также

В Visual FoxPro имеется два оператора для проверки равенства: оператор Равно (=) и оператор Сравнение символьных строк (==). Оператор = сравнивает два значения, имеющих один и тот же тип данных, и применяется для сравнения следующих типов данных: Character, Numeric, Date, и Logical. Однако использование оператора = для сравнения символьных выражений может дать не тот результат, который вы ожидали.

Символьные выражения сравниваются посимвольно слева направо до тех пор, пока:
  • все символы одного выражения не сравнятся с символами другого,
  • не будет достигнут конец выражения, стоящего справа от оператора =, если параметр команды SET EXACT установлен в значение OFF,
  • не будет достигнут конец обоих выражений, если параметр команды SET EXACT установлен в значение ON.

Оператор == используется для точного сравнения символьных (character) и двоичных (binary) выражений. Два символьных или двоичных выражения считаются одинаковыми, если содержат одинаковую последовательность символов или битов по обе стороны оператора ==, включая пробелы и нулевые (0) биты. При использовании оператора == значение параметра в команде SET EXACT игнорируется. Более подробно об этом см. Операторы отношений.

В следующей таблице показано влияет на результат сравнения выбор оператора и значение параметра в команде SET EXACT.
Замечание:
Знак подчеркивание обозначает пробел.

Сравнение | = с SET EXACT OFF | = с SET EXACT ON | == с SET EXACT ON или OFF
"abc" = "abc" | Равны | Равны | Равны
"ab" = "abc" | Не равны | Не равны | Не равны
"abc" = "ab" | Равны | Не равны | Не равны
"abc" = "ab_" | Не равны | Не равны | Не равны
"ab" = "ab_" | Не равны | Равны | Не равны
"ab_" = "ab" | Равны | Равны | Не равны
"" = "ab" | Не равны | Не равны | Не равны
"ab" = "" | Равны | Не равны | Не равны
"__" = "" | Равны | Равны | Не равны
"" = "___" | Не равны | Равны | Не равны
TRIM("___") = "" | Равны | Равны | Равны
"" = TRIM("___") | Равны | Равны | Равны

В SQL-операторах, таких, например, как Команда S ELECT - SQL, на результат применения оператора = может оказать влияние значение параметра в команде SET ANSI.

См. также

Ссылки

Команда SET EXACT
Команда SET ANSI
Общий справочник

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


System Menu Names

Visual FoxPro 9.0 Справочник Языка
Имена Системного меню
См. Также

Следующие таблицы перечисляют внутренние имена и имена интерфейса пользователя для системного меню Visual FoxPro, заголовки меню, меню, и пункты меню. Используя эти имена Вы можете применять системное меню Visual FoxPro для того, чтобы создать систему меню для вашего собственного приложения.

SYS(2013) функция возвращает разбитую пробелами строку, содержащую эти имена. Вы можете также создать быстрое меню, используя Проектировщик Меню видеть внутренние имена системного меню.

Для подробной информации относительно системного меню, см. Проектирование Меню и Инструментальных панелей (тулбаров) .

Имена Системного меню в Visual FoxPro

Внутреннее имя для полосы системного меню непосредственно в Visual FoxPro - _MSYSMENU.

Системные меню

Заголовки меню | Внутреннее имя
Файл | _MSM_FILE
Редактировать | _MSM_EDIT
Вид | _MSM_VIEW
Формат | _MSM_TEXT
Инструментальные средства | _MSM_TOOLS
Программа | _MSM_PROG
Окно | _MSM_WINDO
Справка | _MSM_SYSTM

Меню Файла

Меню и пункты | Внутреннее имя
Меню файла | _MFILE
Новый | _MFI_NEW
Открыть | _MFI_OPEN
Закрыть | _MFI_CLOSE
Закрыть все | _MFI_CLALL
1ый Разделитель | _MFI_SP100
Сохранить | _MFI_SAVE
Сохраните Как | _MFI_SAVAS
Сохраните Как HTML | _MFI_SAVASHTML
Возврат | _MFI_REVRT
2ой Разделитель | _MFI_SP200
Импорт | _MFI_IMPORT
Экспорт | _MFI_EXPORT
3ий Разделитель | _MFI_SP300
Параметры станицы | _MFI_PGSET
Предварительный просмотр Печати | _MFI_PREVU
Печать | _MFI_SYSPRINT
Послать | _MFI_SEND
4ый Разделитель | _MFI_SP400
Выход | _MFI_QUIT

Меню Редактирования - Visual FoxPro

Меню и пункты | Внутреннее имя
Меню редактирования | _MEDIT
Отмена | _MED_UNDO
Восстановить | _MED_REDO
1ый Разделитель | _MED_SP100
Вырезать | _MED_CUT
Копировать | _MED_COPY
Вставить | _MED_PASTE
Специальная вставка | _MED_PSTLK
Очистить | _MED_CLEAR
2ой Разделитель | _MED_SP200
Выделите всё | _MED_SLCTA
3ий Разделитель | _MED_SP300
Найти | _MED_FIND
Заменить | _MED_REPL
Перейти к строке | _MED_GOTO
4ый Разделитель | _MED_SP400
Листинг | _MED_LISTMEMBERS
Оперативная Информация | _MED_QUICKINFO
5ый Разделитель | _MED_SP500
Закладки | _MED_BKMKS
6ой Разделитель | _MED_SP600
Вставить объект | _MED_INSOB
Объект | _MED_OBJ
Ссылки | _MED_LINK
7ой Разделитель | _MED_SP700
Свойства | _MED_PREF

Меню Представления данных

Меню и пункты | Внутреннее имя
Меню представления | _MVIEW
Инструментальные панели | _MVI_TOOLB

Меню Инструментальных средств

Меню и пункты | Внутреннее имя
Меню инструментальных средств | _MTOOLS
Мастера | _MTL_WZRDS
1ый Разделитель | _MTL_SP100
Макроопределение | _MST_MACRO
Средство просмотра классов | _MTL_BROWSER
Галерея компонентов | _MTL_GALLERY
Браузер объектов | _MTL_OBJECTBROWSER
IntelliSense Менеджер | _MTI_FOXCODE
2ой Разделитель | _MTL_SP200
Оформить | _MED_BEAUT
Список задач | _MTI_TASKLIST
Вид Документа | _MTI_DOCVIEW
3ий Разделитель | _MTL_SP300
Профилировщик | _MTL_COVERAGE
Контрольные точки | _MTI_BREAKPOINT
Отладчик | _MTL_DEBUGGER
4ый Разделитель | _MTL_SP400
Трасса | _MTI_TRACE
Локальные переменные | _MTI_LOCALS
Стек вызовов | _MTI_CALLSTACK
Вывод | _MTI_DBGOUT
Варианты (опции) | _MTL_OPTNS

Меню Программы

Меню и пункты | Внутреннее имя
Программа | _MPROG
Выполнить | _MPR_DO
Отменить выполнение | _MPR_CANCL
Возобновить | _MPR_RESUM
Приостановить | _MPR_SUSPEND
1ый Разделитель | _MPR_SP100
Компилировать | _MPR_COMPL

Меню Окна

Меню и пункты | Внутреннее имя
Меню окна | _MWINDOW
Каскад | _MWI_CASCADE
Упорядочить все | _MWI_ARRAN
1ый Разделитель | _MWI_SP100
Парковать | _MWI_DOCKABLE
2ый Разделитель | _MWI_SP200
Скрыть | _MWI_HIDE
Очистить | _MWI_CLEAR
Цикл | _MWI_ROTAT
3ий Разделитель | _MWI_SP300
Командное Окно | _MWI_CMD
Сессия Данных | _MWI_VIEW (поддерживает совместимость с более ранними версиями Visual FoxPro)
Свойства | _MWI_PROPERTIES

Справочное меню

Меню и пункты | Внутреннее имя
Справочное меню | _MSYSTEM
Microsoft Visual FoxPro Справка | _MST_HPSCH
MSDN Поиск | _MST_MSDNS
1ый Разделитель | _MST_SP100
Техническая поддержка | _MST_TECHS
Visual FoxPro в Интернете | _MST_VFPWEB
2ой Разделитель | _MST_SP200
О Microsoft Visual FoxPro | _MST_ABOUT

См. Также

Другие Ресурсы

SYS(2013) - Строка Имени Системного меню
SYS(1500) - Активирование Пункта Системного меню
Проектировщик Меню
Проектирование Меню и Инструментальных панелей
SYS( ) Краткий обзор Функций

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Visual FoxPro and Other Programming Languages

Visual FoxPro 9.0 Language Reference
Visual FoxPro и другие языки программирования
См. также

Большинство языков программирования иметь аналогичные основные характеристики. Если Вы знакомы с одним языком программирования, то можете легко перенести эти знание на другой язык. Выберите один из пунктов, в таблице, чтобы сравнить Visual FoxPro с языками программированияBASIC, C/C++ и Pascal.

Что сравнивается | Что смотреть
Независимость языка от регистра клавиатуры. | Зависимость от регистра
Как объявить переменную. | Объявление переменной
Как вставить комментарий в программу. | Комментарии
Как сохранить значения в переменных. | Операторы назначения
Структура оператора IF. | Оператор IF
Структура оператора CASE. | Оператор CASE
Структура циклического оператора FOR. | Циклический оператор FOR
Структура циклического оператора WHILE. | Циклический оператор WHILE
Как передать данные через параметры | Передача данных через параметры в других языках программирования

См. также

Ссылки

Общий справочник

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Case Sensitivity (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Чувствительность к регистру (Visual FoxPro)
Смотрите также
CollapseAll image

Вы можете сравниться, как чувствительность к регистру отличается между Visual FoxPro и другими языками.

Visual FoxPro | BASIC
Не чувствителен к регистру | Не чувствителен к регистру
Pascal | C/C++
Чувствителен к регистру | Чувствителен к регистру

Expand image Смотрите также

Справочное руководство

Visual FoxPro и другие языки программирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Variable Declaration (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Объявление переменной (Visual FoxPro)
Смотрите также
CollapseAll image

Вы можете сравнить, как различается объявление переменной между Visual FoxPro и прочими программными языками. В Visual FoxPro, вы не присваиваете переменной тип данных. Однако, рекомендуется, что вы именовали ваши переменными с префиксами, поясняющими тип данных, который вы планируете использовать с переменной. Другие языки требуют, чтобы присваивали переменной тип данных при ее объявлении. Для получения более подробной информации смотрите Соглашение по наименованию переменных.

Note Замечание

Когда вы сохраняете значение в переменную, а переменная еще не существует, Visual FoxPro внутренне создает ее с областью видимости PRIVATE. Другие языки, которые требуют явного объявления переменной, возвращают ошибку. Для создания переменных в Visual FoxPro с областью видимости PUBLIC или LOCAL, вы должны явно объявить их командами PUBLIC или LOCAL. Для получения более подробной информации смотрите описание этих команд в PUBLIC Command и LOCAL Command.

Visual FoxPro | BASIC
Переменные внутренне объявляются без типизации данных. | Переменные могут быть внутренне объявлены и имя переменной диктует тип данных.
Pascal | C/C++
Переменные должны быть объявлены явно и им должен быть присвоен тип данных. | Переменные должны быть объявлены явно и им должен быть присвоен тип данных.

Expand image Смотрите также

Справочное руководство

Переменные (Visual FoxPro)
Обращение к переменным
Visual FoxPro и прочие языки программирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Comments

Visual FoxPro 9.0 Описание Языка
Комментарии
См. также

Вы можете сравнить как форматирование комментариев отличается в различных системах разработки программ. Visual FoxPro, C, and C++ обозначают строки или части строк комментариев в различной форме.

Visual FoxPro | BASIC
* целая строка ком-ия. USE && часть строки. NOTE несколько строк ; комментариев | ' комментарийнесколько строк

Pascal | C/C++
{ комментарий } | // Комментарий /* комментарий в несколько строк */

См. также

Другие Ссылки

Команда *
Команда &&
Команда NOTE
Visual FoxPro и другие Языки Программирования

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Assignment Statements (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Операторы присвоения (Visual FoxPro)
Смотрите также
CollapseAll image

Вы можете сравнить, как различаются операторы присвоения, используемые в Visual FoxPro и других программных языках.

Note Замечание

В Visual FoxPro вы можете, кроме того, присвоить значение полю в таблице с помощью команды REPLACE.

Visual FoxPro BASIC

nVal = 7

- или -

STORE 7 to nVal
CopyCode image Скопировать код
nVal = 7
Pascal C/C++
CopyCode image Скопировать код
nVal := 7
CopyCode image Скопировать код
nVal = 7

Expand image Смотрите также

Справочное руководство

Команд =
Команда STORE
Visual FoxPro и другие программные языки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CASE Statements

Visual FoxPro 9.0 Справка по языку
Инструкции CASE
Смотрите также

Вы можете сравнить, в чём инструкции case Visual FoxPro отличаются от аналогичных инструкций в других языках программирования. Только в языке Pascal для case не предлагается конструкции выполнения по умолчанию.

Visual FoxPro BASIC
Скопировать код
DO CASE
 CASE n = 0
 ? 'Zero'
 CASE n > 0
 ? 'Pos'
 OTHERWISE
 ? 'Neg'
ENDCASE
Скопировать код
Select Case n
 Case 0
 Print 'Zero'
 Case Is > 0
 Print 'Pos'
 Case Else
 Print 'Neg'
End Select

Pascal C/C++
Скопировать код
case n of
 0: writeln("Zero");
 1: writeln("One");
end
Скопировать код
switch(n) {
 case 0:
 printf("Zero\n");
 break;
 case 1:
 printf("One\n");
 break;
 default:
 printf("?\n");}

Смотрите также

Команда DO CASE ... ENDCASE
Visual FoxPro и другие языки программирования

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


IF Statements

Visual FoxPro 9.0 Справочное руководство по языку
Условные операторы IF
Смотрите также
CollapseAll image

Вы можете сравниться, как условные операторы IF отличаются между Visual FoxPro и другими языками программирования. Выражение THEN разрешено только в условном операторе IF в Visual FoxPro.

Visual FoxPro | BASIC
IF nCnt < nMax nTot = nTot * nCnt nCnt = nCnt + 1 ENDIF | If nCnt < nMax Then nTot = nTot * nCnt nCnt = nCnt + 1 End If
Pascal | C/C++
if nCnt < nMax then begin nTot:=nTot * nCnt; nCnt:=nCnt + 1; end | if(nCnt < nMax) { nTot *= nCnt; nCnt++; }

Expand image Смотрите также

Справочное руководство

Команда IF ... ENDIF
Visual FoxPro и другие языки программирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FOR Loops (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Цикл FOR (Visual FoxPro)
Смотрите также
CollapseAll image

Вы можете сравнить отличия между циклом FOR в Visual FoxPro и других языках програмирования.

Visual FoxPro | BASIC
FOR n = 1 TO 10 ? n ENDFOR | For n = 1 to 10 Print n Next n
Pascal | C/C++
for n := 1 to 10 do writeln(n); | for(n=1; n<11; n++) printf("%d\n",n);

Expand image Смотрите также

Справочное руководство

Команда FOR ... ENDFOR
Visual FoxPro и другие языки програмирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


WHILE Loops (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Цикл WHILE (Visual FoxPro)
Смотрите также
CollapseAll image

Вы можете сравнить отличия между циклом WHILE в Visual FoxPro и других языках програмирования.

Visual FoxPro | BASIC
DO WHILE n < 100 n = n + n ENDDO | Do While n < 100 n = n + n Loop
Pascal | C/C++
while n < 100 do n := n + n; | while(n < 100) n += n;

Expand image Смотрите также

Справочное руководство

Выражение WHILE
Visual FoxPro и другие языки програмирования

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Passing Data to Parameters in Other Programming Languages

Visual FoxPro 9.0 Описание Языка
Передача данных, как параметров, в другие программные Системы
См. также
CollapseAll image

Вы можете сравнить, как передаются параметры между системой Visual FoxPro и другими системами программирования.

В следующей таблице приводятся примеры-сравнения передачи параметров "по-ссылке".

Visual FoxPro | BASIC
=ABC(@X) –или– DO ABC WITH X | ABC X
Pascal | C/C++
procedure ABC var x:integer); | ABC(&VAR);

Далее приводятся примеры-сравнения передачи параметров "по-значению"

Visual FoxPro | BASIC
=ABC(X) | ABC ByVal X
Pascal | C/C++
procedure ABC (x:integer); | ABC(X);

Expand image См. также

Задачи

Как: Передавать параметры "по-ссылке"
Как: Передовать параметры "по-значению"

Описание

Система Visual FoxPro и другие Системы прогрaммирования

Концепции

Передача данных, как параметров

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Visual FoxPro System Capacities

Visual FoxPro 9.0
Системные Возможности Visual FoxPro
См. Также

Разные части Visual FoxPro имеют пределы системных возможностей. Следующие таблицы перечисляют эти ограничения.

Обратите внимание:
Некоторые возможности могут быть ограничены доступной памятью и дисковым пространством.

Таблица и Индексные файлы

Особенность | Возможность
Максимум # записей в файл таблицы. | 1 миллиард
Максимальный размер файла таблицы. | 2 гигабайты
Максимальный размер FPT файл. | 2 гигабайты
Максимум # символов в записи. | 65,500
Максимум # полей в записи 1 . | 255
Максимум # таблиц для одновременного открытия 2 . | 65,535
Максимум # символов в поле таблицы. | 254
Максимум # байтов в индексном ключе некомпактного индекса 3 . | 100
Максимум # байтов в индексном ключ компактного индекса 3 . | 240
Максимум # открытых индексных файлов для таблицы 2 . | Ограниченный доступной памятью
Максимум # открытых индексов во всех рабочих областях 2 . | Ограничения размером доступной памяти
Максимум # связей. | Ограничено доступной памятью
Максимальная длина выражений для описания связи. | Ограниченно доступной памятью

Поля

Особенность | Возможности
Максимальный размер символьных полей. | 254
Максимальный размер числовых и полей с плавающей точкой. | 20
Максимальное число символов в именах полей свободной таблицы. | 10
Максимальное число символов в именах полей для таблицы, содержавшейся в базе данных. | 128
Минимальное значение целого числа. | -2,147,483,647
Максимальное значение целого числа. | 2,147,483,647
Знаки точности в числовых вычислениях. Visual FoxPro может обработать числа до 9007199254740992 (2^53) в точных вычислениях. | 16
Miscellaneous: 64 bits = 8 bytes Largest number = 10 ^ 308 = 2 ^ 1023 -gt; 10 bits per exponent + 1 for exponent sign plus 1 for number sign =gt; 12 bits Leaving 52 bits for the mantissa + 1 for implied normalized bit -gt; 53 bits LOG10(2^53) = 15.95 decimal digits accuracy |

Переменные и Массивы

Особенность | Возможности
Значение по умолчанию # для переменных. | 16,384
Максимум # количетсва переменных. | 65,000
Максимум # количества массивов. | 65,000
Максимум # элементов в массив. | Normal: 2 гигабайты Member array: 2 гигабайты Массив объектов: 65,000

Программа и Файлы Процедуры

Особенность Возможности

Максимум # строк в файлах исходной программы.

Ограничено доступной памятью

Максимальный размер откомпилированных модулей программы 4 .

Ограничено доступной памятью

Максимум # процедур в файле.

Ограничено доступной памятью

Максимум # вложений вызовов DO .

Совет:
Вы можете изменить заданный по умолчанию уровень вложений, используя файл конфигурации, который включает установку STACKSIZE . Для подробной информации, см. Специальные Элементы для Файлов конфигурации .

128 (Значение по умолчанию)

Максимум # уровни вложенности READ .

5

Максимум # вложенных команд структурного программирования.

384

Максимум # переданных параметров.

26

Максимум # транзакций.

5

Максимум # уровней компилятора для #INCLUDE .

4

Отчеты

Особенность | Возможности
Максимум # объектов в определении отчета. | Ограничено доступной памятью
Максимальная высота полосы отчета. | 20 дюймов | 50.8 см | 1920 пикселей
Максимум # уровней группировок данных. | 74
Максимальная длина символьных имен переменной отчета или выражения отчета. | 255
Максимум # полос с данными. | 20
Максимум # страниц в отчете в run time. | 65534 В обектоно-ассистированом предварительном просмотре, ограничено доступным GDI + ресурсами

Разное

Особенность | Возможности
Максимум # открытых окон (все типы) 2 . | Ограничено доступной памятью
Максимум # открытых окон Browse. | 255
Максимум # символов в символьной строке или переменной памяти. | 16,777,184
Максимум # символов в командной строке. | 8,192
Максимум # символов в элементе управления label отчета. | 252
Максимум # символов в макроподстановке. | 8,192
Максимум # открытых файлов. | Ограничения операционной системы
Максимальные количество комбинаций в макрокоманде клавиатуры. | 1,024
Максимальные количество полей, которые могут быть запрошены через инструкцию SQL SELECT . | 255
Максимальная длина строкового литерала. | 255

1 Если одно или более полей допускают пустые значения (null), ограничение уменьшен на 1 до 254 полей.

2 Ограничено памятью и доступными дескрипторами файла. .cdx файлы используют только один дескриптор файла.

3 Если схема сортировки установлена в MACHINE, каждый символ использует один байт. Если схема сортировки не установлена в MACHINE, каждый символ использует два байта. Если индексированное поле поддерживает пустые значения, то дополнительный байт используется в индексном ключе. Обратите внимание, что не-машинные индексы всегда компактны.

4 Модуль программы - одна процедура. Программа или приложение могут содержать неограниченное количество модулей программы.

См. Также

Другие Ресурсы

Общий Справочник
Структура Файла Таблицы (.dbc.dbf.frx.lbx.mnx.pjx.scx.vcx)
Как: Задать Источник данных ODBC
Пример Выведения Системной Информации
Оптимизация Вашей Системы
Расширения файлов и типы Файлов
Оптимизация Скорости Запуска Visual FoxPro
Специальные Термы для Файлов конфигурации

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XSource Folder

Visual FoxPro 9.0
Папка XSource
См. также

Папка XSource находится в каталоге Visual FoxPro \Tools и содержит zip-архивы с исходными файлами различных компонент Visual FoxPro. Корневая папка VFPSource содержит исходные файлы для приложений, приведенных в следующей таблице:

Имя приложения и расположение | Папка в Xsource | Заголовок справки с информацией о приложении
HOME()+ "Tools\AddLabel\"+ "AddLabel.app" | Addlabel | Руководство: Применение Addlabel.app для добавление описания этикетки
HOME()+ "Browser.app" | Browser | Окно Class Browser
HOME()+ "Builder.app" | Builders | Построители
HOME()+ "Convert.app" | Convert | Диалоговый бокс Преобразователь
HOME()+ "Coverage.app" | Coverage | Приложение Профайлер охвата событий (Coverage Profiler)
HOME()+ "DataExplorer.app" | DataExplorer | Проводник данных в панели задач (в Task Pane)
HOME()+ "EnvMgr.app" | EnvMgr | Управление окружением в панели задач (Task Pane)
HOME()+ "FoxCode.app" | Foxcode | Поддержка интеллектуального распознавания (IntelliSense) в Visual FoxPro
HOME()+ "FoxRef.app" | Foxref | Окно Результаты поиска кода (Code References)
HOME()+ "MemberDataEditor.app" | MemberData | Редактор Данных, принадлежащих члену класса (MemberData Editor)
HOME()+ "ObjectBrowser.app" | Obrowser | Окно объектного просмотра (Object Browser)
HOME()+ "ReportBuilder.app" | ReportBuilder | Расширение отчетов на стадии проектирования
HOME()+ "ReportOutput.app" | ReportOutput | Расширение функциональности вывода данных в отчете (Report Output)
HOME()+ "ReportPreview.app" | ReportPreview | Расширение функциональности предварительного просмотра в отчете (Report Preview)
HOME()+ "TaskList.app" | Tasklist | Окно менеджера списка задач (Task List Manager)
HOME()+ "TaskPane.app" | Taskpane | Менеджер панели задач (Task Pane Manager)
HOME()+ "Toolbox.app" | Toolbox | Инструментальная панель (Toolbox) Visual FoxPro
HOME()+ "VFPClean.app" | Vfpclean | Руководство: Повторная установка Visual FoxPro
HOME()+ "Wizards\"+ "WebService.app" | Webservice | Службы XML Web в Visual FoxPro
HOME()+ "Wizards\"+ "AnchorEditor.app" | Wizards\AnchorEditor | Прочие расширения
HOME()+ "Wizards\"+ "DEBuilder.app" | Wizards\debuilder | Построитель DataEnvironment
HOME()+ "Wizards\"+ "WzApp.app" | Wizards\wzapp | Мастер приложения (Application Wizard)
HOME()+ "Wizard.app" | Wizards\wzcommon | Мастера (Wizards) Visual FoxPro
HOME()+ "Wizards\"+ "WzApp.app" | Wizards\wzform | Мастер форм (Form Wizard)
HOME()+ "Wizards\"+ "WzFoxDoc.app" | Wizards\wzfoxdoc | Мастер документирования (Documenting Wizard)
HOME()+ "Wizards\"+ "WzGraph.app" | Wizards\wzgraph, Wizards\automate, | Мастер диаграмм (Graph Wizard)
HOME()+ "Wizards\"+ "WzImport.app" | Wizards\wzimport | Мастер импорта (Import Wizard)
HOME()+ "Wizards\"+ "WzMail.app" | Wizards\wzmail, Wizards\automate | Мастер составление стандартных писем (Mail Merge Wizard)
HOME()+ "Wizards\"+ "WzPivot.app" | Wizards\wzpivot, Wizards\automate | Мастер сводных таблиц (PivotTable Wizard) Мастер перекрестных табличных запросов (Cross-Tab Wizard)
HOME()+ "Wizards\"+ "WzQuery.app" | Wizards\wzquery | Мастер запросов (Query Wizard)
HOME()+ "Wizards\"+ "WzReport.app" | Wizards\wzreport | Мастер отчетов (Report Wizard)
HOME()+ "Wizards\"+ "WzTable.app" | Wizards\wztable | Мастер таблиц (Table Wizard)
HOME()+ "Wizards\"+ "WzUpsize.app" | Wizards\wzupsize | Мастер переноса базы данных VFP на SQL Server ( SQL Server Upsizing Wizard)
HOME()+ "Wizards\"+ "WzWeb.app | Wizards\wzweb, Wizards\wzintnet | Мастер публикация в сети WEB (Web Publishing Wizard)

См. также

Ссылки

Общий справочник
Инструменты для повышения производительности разработки
Обслуживающие программы

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Language Reference (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Описание Языка (Visual FoxPro)

Систему Visual FoxPro можно использовать для создания различных Баз Данных и пользовательских приложений по каталогизации различной информации, выполнение поиска, обработке специализированных запросов. Знание широких функциональных возможностей системы программирования Visual FoxPro позволяет эффективно решать разнообразные задачи обработки информации.

Подобно другим языкам программирования, Visual FoxPro предоставляет широкие функциональные возможности по обработке различных типов данных, числовых, символьных и различных других. Эти данные можно хранить в структурированных таблицах, переменных памяти, других контейнерах данных. Для манипулирования данными предоставляются разнообразные операторы, например, такие как сложение и конкатенация; существует широкий спектр по защите данных, проверки надежного хранения, выборки, группировки и сортировки данных.

Перечисленные разделы содержат основополагающую информацию о базовых элементах языка программирования Visual FoxPro.

В данном Разделе

Категории Языка

Содержит общее описание базовых категорий языка программирования Visual FoxPro.

Команды (Visual FoxPro)

Список системных команд Visual FoxPro.

Объекты, Коллекции, и Классы

Список классов, коллекций, и объектов, представленных в Visual FoxPro.

Свойства (Visual FoxPro)

Список основных Свойств базовых классов и объектов Visual FoxPro.

Методы (Visual FoxPro)

Список Методов, представленных в Visual FoxPro.

События (Visual FoxPro)

Список базовых Событий, обрабатываемых системой Visual FoxPro.

Функции

Список системных функций Visual FoxPro.

Операторы (Visual FoxPro)

Список основных операторов манипулирования данными в Visual FoxPro.

Директивы ПреПроцессора (Visual FoxPro)

Список директив препроцессора, которые можно использовать в программных модулях Visual FoxPro.

Системные переменные

Список Системных переменных Visual FoxPro, значения которых можно использовать в программах.

Конструкции библиотек API

Описываются модули библиотек API, системных событий, а также коды клавиш.

Команды и функции SQL

Описывается применение Языка Структурированных Запросов (Structured Query Lanaguage (SQL)), его команд и функций в Visual FoxPro.

Описание Языка при разработке OLE DB

Рассматривается поддержка внутренних языковых конструкций Visual FoxPro в провайдере доступа к данным OLE DB.

Элементы Языка для совместимости с младшими версиями VFP

Список устаревших языковых конструкций, которые поддерживаются для совместимости с младшими версиями Visual FoxPro.

Связанные Секции

Общее Описание (Visual FoxPro)

Включает основополагающие языковые конструкции Visual FoxPro, пользовательского интерфейса (IDE), список системных сообщений об ошибках.

Программирование в Visual FoxPro

Обсуждается, как понимать технику объектно-ориентированного программирования и Событийной модели для повышения производительности процесса разработки пользоввательских приложений в системе Visual FoxPro.

Примеры и Упражнения

Содержатся примеры и образцы программных модулей Visual FoxPro, пошаговые упражнения, с помощью которых можно быстро и эффективно осваивать основные функциональные возможности Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Language Categories

Visual FoxPro 9.0 Language Reference
Языковые категории

Этот раздел содержит основные категории, описывающие функциональные возможности Visual FoxPro.

В этом разделе

Базы данных

Ссылка на информацию о том, как вы можете манипулировать базами данных, таблицами, записям, и полями, а также индексами и отношениями.

Ввод и вывод (Visual FoxPro)

Содержит ссылки на информации об управлении вводом и выводом из ваших приложений.

Програмирование

Содержит ссылки на большое количество информации по програмированию, включяя манипуляции с масивами, отлаживание и обработку ошибок, структурное программирование, и так далее..

Совместный доступ к данным

Содержит команды и функции, которые позволяют вам управлять многопользовательской средой.

Окружение Visual FoxPro

Список команд и функции, которые позволяют вам обращаться к окружению Visual FoxPro.

Связанные разделы

Справочное руководство по языку (Visual FoxPro)

Содержит список языковых тем справочной информации в алфавитном порядке.

Соглашение об именах

Обсуждает, как выбрать имена для незащищенных объектов, свойств, и методов, которые могут быть легко поняты пользователями приложения.

Разработка приложений в Visual FoxPro

Включает концептуальную информацию о том, как разработать приложения Visual FoxPro, инструкции по созданию баз данных и пользовательского интерфейса, и других задачи для которых необходимо создавать приложения Visual FoxPro.

Программирование в Visual FoxPro

Обсуждает, как вы можете получить доступ к полной мощи при создании приложений Visual FoxPro. Понимание технологии объектно-ориентированного программирования и модели управляемой событиями может максимизировать вашу производительность программирования.

Visual FoxPro и другие языки программирования

Обеспечивает сравнение Visual FoxPro с другими языками программирования.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Databases

Visual FoxPro 9.0 Справочное руководство по языку
Базы данных

ВЫ можете управлять базами данных, таблицами, записями и полями, а также индексами и отношениями.

В этом разделе

Язык управления базами данных

Перечислены команды и функции, с помощью которых вы можете управлять базами данных.

Язык управления полями

Перечислены команды и функции, крирпые дают вас возможность управлять полями в таблице.

Язык управления индексами

Перечислены команды и функции, которые производят операции над индексами и возвращают информацию об индексных файлах.

Язык управления записями

Перечислены команды и функции, которые предоставляют вам возможность выбрать записи внутри таблицы или управлять позицией указателя записи.

Язык управления отношениями

Перечислены команды и функции, которые предоставляют вас возможность устанавливать или снимать отношения между табличными файлами.

Язык управления таблицами

Перечислены команды и функции, которые позволяют вас создавать, управлять и контролировать файлы таблиц.

Связанные разделы

Категории языка

Содержит список описаний и функциональностей языка.

Использование Visual FoxPro

Обсуждается, как с помощью вложенных программных возможностей Visual FoxPro увеличить эффективность разработки, включая методы Access и Assign, поддержку графических форматов файлов и язык, для упрощения программных задач.

Разработка приложений Visual FoxPro

Включает концептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также других необходимых задач для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Обсуждается - как вы можете использовать на полную мощность Visual FoxPro при создании приложений. Понимание техники объектно-ориентированного программирования и событийно-управляемой модели может увеличить эффективность вашего программирования.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнене JS.


Database Manipulation Language

Visual FoxPro 9.0 Описание Языка
Язык Манипулирования Базой Данных
См. также
CollapseAll image

В следующей Таблице представлен список Команд и Функций для обработки объектов в Базе Данных.

Используется... | Для...
ADATABASES( ), Функция | Размещает в массив Имена и Пути всех открытых Баз Данных.
ADD TABLE, Команда | Добавляет свободную таблицу в текущую Базу Данных.
APPEND PROCEDURES, Команда | Добавляет хранимые процедуры в текстовый файл из списка ХП текущей Базы Данных.
AUSED( ), Функция | Размещает в массив алиасы таблиц и номера рабочих областей для текущей сессии данных.
CLOSE, Командаs | Закрывает различные типы файлов.
COMPILE, Команда | Компилирует заданные исходные файлы и создает соответствующие файлы Объектного Кода.
COPY PROCEDURES, Команда | Копирует из заданного текстового файла хранимые процедуры в текущую Базу Данных.
CREATE CONNECTION, Команда | Создает именованное Соединение и добавляет его в текущую Базу Данных.
CREATE DATABASE, Команда | Создает Базу Данных и открывает ее.
CREATE SQL VIEW, Команда | Отображает Дизайнер Представлений, где можно создать SQL-представление.
CREATE TRIGGER, Команда | Создает Delete, Insert, или Update - Триггер для Таблицы.
CREATEOFFLINE( ), Функция | Переводит существующее Представление в режим OFFLINE.
DROPOFFLINE( ), Функция | Отменяет все выполненные изменения в offline-представлении и переводит помследнее в режим ONLINE.
CURSORGETPROP( ), Функция | Возвращает текущее значение Свойства Таблицы или Курсора Visual FoxPro.
CURSORSETPROP( ), Функция | Определяет значение Свойства Таблицы или Курсора Visual FoxPro.
CURVAL( ), Функция | Возвращает действительное значение Поля для таблицы или удаленного источника данных.
DATETIME( ), Функция | Возвращает текущее значение Даты-Времени, или создает правильное (2000-compliant) значение типа DateTime.
DBC( ), Функция | Возвращает имя и путь текущей Базы Данных.
DBGETPROP( ), Функция | Возвращает значение заданного Свойства текущей Базы Данных, или Поля, или именованного Соединения, или Представления, закрепленных за текущей Базой Данных.
DBSETPROP( ), Функция | Устанавливает заданное значение Свойства текущей Базы Данных, или Поля, или именованного Соединения, или Представления, закрепленных за текущей Базой Данных.
DBUSED( ), Функция | Возвращает = true (.T.), если указанная База Данных открыта.
DELETE - SQL, Команда | Помечает Записи для удаления.
DELETE CONNECTION, Команда | Удаляет именованное Соединение из текущей Базы Данных.
DELETE DATABASE, Команда | Удаляет указанную базу данных с диска.
DELETE TRIGGER, Команда | Исключает Триггер таблицы из текущей Базы Данных.
DELETE VIEW, Команда | Удаляет SQL-представление из текущей Базы Данных.
DISPLAY CONNECTIONS, Команда | Отображает информацию об именованных Соединениях в текущей Базе Данных.
DISPLAY DATABASE, Команда | Отображает информацию о текущей базе данныз или о Полях, именованных соединениях, таблицах или представлениях, закрепленных за текущей Базой Данных.
DISPLAY PROCEDURES, Команда | Отображает имена Хранимых процедур в текущей Базе Данных.
DISPLAY TABLES, Команда | Отображает имена и информацию о Таблицах, закрепленных за текущей Базой Данных.
DISPLAY VIEWS, Команда | Отображает информацию об SQL-представлениях в текущей Базе Данных.
FREE TABLE, Команда | Исключает указанную таблицу из Базы Данных, удаляет информацию о привязке к БД в таблице.
GETFLDSTATE( ), Функция | Возвращает числовое значение Статуса Поля в Таблице или Курсоре.
GETNEXTMODIFIED( ), Функция | Возвращает количество записей, изменяемых в буфферизованной таблице или Курсоре.
INDBC( ), Функция | Возвращает Статус указанного объекта в текущей Базе Данных (есть он там , или нет).
ISEXCLUSIVE( ), Функция | Возвращает Статус исключительно открытия базы данных.
LIST CONNECTIONS, Команда | Отображает информацию об именованных Соединениях в текущей Базе Данных.
LIST DATABASE, Команда | Отображает Информацию о текущей Базе Данных.
LIST PROCEDURES, Команда | Отображаетимена Хранимых Процедур в текущей Базе Данных.
LIST TABLES, Команда | Отображает информацию о Таблицах, закрепленных за текущей Базой Данных.
LIST VIEWS, Команда | Отображает информацию об SQL-представлениях в текущей Базе Данных.
MODIFY CONNECTION, Команда | Отображает системное окно Дизайнера Соединений.
MODIFY DATABASE, Команда | Отображает системное окно Дизайнера Баз Данных.
MODIFY PROCEDURE, Команда | Открывает окно Редактора Visual FoxPro.
MODIFY VIEW, Команда | Отображает системное окно Дизайнера Представлений.
OLDVAL( ), Функция | Возвращает действительное значение поля, которое было изменено, но не обновлено в Источнике Данных.
OPEN DATABASE, Команда | Открывает Базу Данных.
PACK DATABASE, Команда | Исключает Записи, отмеченные для удаления из текущей Базы Данных.
REFRESH( ), Функция | Обновляет данные для модифицируемых SQLпредставлений или курсоров КурсорАдаптера.
REMOVE TABLE, Команда | Исключает Таблицу из текущей Базы Данных.
RENAME CONNECTION, Команда | Переименовывает Соединение в текущей Базе Данных.
RENAME TABLE, Команда | Переименовывает Таблицу в текущей Базе Данных.
RENAME VIEW, Команда | Переименовывает SQL-представление в текущей Базе Данных.
REQUERY( ), Функция | Возвращает обновленное SQL-представление.
SET DATABASE, Команда | Определяет текущую Базу Данных.
SET DATASESSION, Команда | Активирует заданную Сессию данных для Формы.
SETFLDSTATE( ), Функция | Установливает Статус изменения или удаления Поля или Записи в Таблице или Курсоре.
SQLCANCEL( ), Функция | Отправляет запрос на прерывание выполняемого SQL-оператора.
SQLCOLUMNS( ), Функция | Помещает информацию о Столбцах таблицы в Курсор.
SQLCOMMIT( ), Функция | Завершает Транзакцию Данных.
SQLCONNECT( ), Функция | Устанавливает Соединение с удаленным источником данных.
SQLDISCONNECT( ), Функция | Закрывает Соединение с удаленным источником данных.
SQLEXEC( ), Функция | Посылает на выполнение в удаленном источнике данных заданный SQL-оператор.
SQLGETPROP( ), Функция | Возвращает статус установки активного Соединения.
SQLMORERESULTS( ), Функция | Копирует полученные данные в Курсор Visual FoxPro, если определено несколько курсоров при выборке данных.
SQLROLLBACK( ), Функция | Прерывает выполнение изменений для текущей Транзакции.
SQLSETPROP( ), Функция | Определяет значение Свойства активного Соединения.
SQLSTRINGCONNECT( ), Функция | Выполняет попытку Соединения с удаленным источником данных по заданной строке соединения.
SQLTABLES( ), Функция | Помещает имена таблиц Источника Данных в Курсор Visual FoxPro.
TABLEREVERT( ), Функция | Отменяет выполненные изменения в буфере Записи или буфера Таблицы, Курсора или КурсорАдаптера.
TABLEUPDATE( ), Функция | Выполняет сохранение данных буфера Записи или буфера Таблицы, Курсора или КурсорАдаптера.
_TRIGGERLEVEL System Variable | Содержит числовое значение "read-only" текущего уровня вложенности процедуры Триггер.
VALIDATE DATABASE, Команда | Проверяет наличие и правильность таблиц и индексов в текущей Базе Данных.

Expand image См. также

Другие ссылки

Базы Данных
Категории Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Field Manipulation Language

Visual FoxPro 9.0 Справочное руководство по языку
Программный язык управления полями
Смотрите также
CollapseAll image

Приведенные ниже команды и функции предоставляют вам возможность управлять полями в таблице.

Используйте | Для
Функция AFIELDS() | Сохранения информации о структуре текущей таблицы в массиве и возврата числа полей.
Команда BLANK | Очистки данных указанного поля.
Функция DELETED( ) | Индикации маркировки записи для удаления.
Функция FCOUNT( ) | Возврата числа записей в таблице.
Функция FIELD( ) | Возврата имени поля, по его номеру.
Функция FLDLIST( ) | Включено для совместимости с dBASE.
Функция FSIZE( ) | Возврата размера, в байтах, для указанного поля или файла.
Команда GATHER | Замещения данные в записи данными из указанного источника.
Функция ISBLANK( ) | Определения - является ли выражение пустым или нет.
Функция LUPDATE( ) | Возврата даты последнего обновления таблицы.
Функция NDX( ) | Возврата имени открытого индексного файла (.IDX) для текущей или указанной таблицы.
Команда SCATTER | Копирования данных из записи в указанный приемник данных.
Команда SET BLOCKSIZE | Определения, как распределить дисковое пространство для хранения мемо-полей.
Команда SET EXACT | Указания правил сравнения двух строк разной длины.
Команда SET NOCPTRANS | Предотвращения трансляции кодовой страницы для выбранных полей в открытой таблице.
Команда SET TEXTMERGE | Разрешения или запрещения оценки полей, переменных, элементов массивов, функций или выражений, которые окружены разделителями слияния текста (text-merge) и указания вывода слияния текста..
Команда SET TEXTMERGE DELIMITERS | Определения разделителей для слияния текста.
SYS(14) - индексное выражение | Возврата индексного выражения открытого одно-входового индексного файла (.idx) или индексного выражения для тэга в составном индексном файле (.cdx).

Expand image Смотрите также

Прочие ресурсы

Базы данных
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Index Manipulation Language

Visual FoxPro 9.0 Справочное руководство по языку
Команды управления индексами
Смотрите также
CollapseAll image

В приведенной ниже таблицы перечислены команды, производяющиеся операции на индесам и возвращающих информацию об индексных файлах.

Используйте | Для
ATAGINFO( ) Function | создания массива, который будет содержать информаию об индексных файла для выбранной таблицы.
CANDIDATE( ) Function | указания, что индексный тэг является тэгом индекса-кандидата.
CDX( ) Function | возврата открытого составного индексногоф файла, который имеет указанную позицию инедкса.
CLOSE Commands | закрытия файлов разного типа.
COPY INDEXES Command | создания составных индексных тэгов из одновоходовых индексных .idx-файлов.
COPY TAG Command | создания одновходового индексного (.idx) файла из тэга в составном индексном файле.
DESCENDING( ) Function | определения - был ли инедкс создан с ключевым словом DESCENDING.
DELETE TAG Command | удаления тэга из составного индексного файла.
FOR( ) Function | возврата выражения индексного фильтра.
IDXCOLLATE( ) Function | возврата последовательности сопоставления (collating sequence) для индекса или для индексного тэга.
INDEX Command | создания индексного файла.
INDEXSEEK( ) Function | поиска и индексрования таблицы без спецщения указателя записи.
KEY( ) Function | возврата выражения индексного ключа для индексного тэга или индекса.
KEYMATCH( ) Function | поиска индексного тэга или инедксного файла для индексного ключа.
MDX( ) Function | возврата имени открытого составного индексного файла, который имеет указанную индексную позицию.
NDX( ) Function | возврата имени открытого индексного (.IDX) файла для текущей или указанной таблицы.
ORDER( ) Function | возврата имени контролирующего индексного файла или тэга
PRIMARY( ) Function | определения - является ли индексный тэг первичным индексным тэгом.
REINDEX Command | перестройки открытых индексных файлов.
SET COLLATE Command | указания последовательности сопоставления (collation sequence) для символьных полей в операциях индексирования или сортировки.
SET INDEX Command | открытия одного или более индексных файлов для использования с текущей таблицей.
SET KEY Command | указания доступа к диапазону записей, основанного на их индексных ключах.
SET ORDER Command | указания управляющего индексного файла или тэга для таблицы.
SET UNIQUE Command | указания - будут ли записи в дублированным индексным ключам обслужены в индексном файле.
SYS(14) - Index Expression | возврата индексного выражегтя из индексов.
SYS(21) - Controlling Index Number | возврата позиции индекса для текущей выбранной рабочей области.
SYS(2021) - Filtered Index Expression | возврата выражения фильтра из индекса.
TAG( ) Function | возврата имени тэга из открытого составного индексного файла или имени из открытого одновходового индексного файла.
TAGCOUNT( ) Function | возврата числа открытых индексов.
TAGNO( ) Function | возврата позиции индекса для индексного файла.

Expand image Смотрите также

Прочие ресурсы

Базы данных
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Record Manipulation Language

Visual FoxPro 9.0 Справочное руководство по языку
Язык манипуляций записями
Смотрите также
CollapseAll image

Эти команды и функции позволяют вам выделять записи внутри таблицы и устанавливать положение указателя на запись.

Use | To
Команда APPEND FROM | Добавляет записи в таблицу.
Команда APPEND MEMO | Копирует содержимое текстового файла в memo-поле.
Команда BLANK | Стирает данные из полей.
Команда CONTINUE | Продолжает работу предыдущей команды LOCATE.
Команда DELETE - SQL | Помечает записи на удаление.
Функция FILTER( ) | Возвращает выражение фильтра таблицы, заданное в команде SET FILTER.
Команда GO | GOTO | Перемещает указатель записи.
Функция INDEXSEEK( ) | Ищет в проиндексированой таблице без перемещения указателя записи.
Команда INSERT - SQL | Вставляет в текущую таблицу новую запись.
Функция ISBLANK( ) | Определяет, является ли выражение пустым.
Функция KEYMATCH( ) | Просматривает тег индекса или файл индекса в поисках ключа индекса.
Команда LOCATE | Последовательно просматривает таблицу в поисках заданного логического выражения.
Функция LOOKUP( ) | Ищет в таблице первую запись, в которой значение поля совпадает с заданным выражением.
Команда REPLACE FROM ARRAY | Обновляет содержимое полей значениями из массива переменных памяти.
Команда SEEK | Команда SEEK просматривает таблицу в поисках первого вхождения записи, ключ индекса которой совпадает с заданным выражением общего вида.
Функция SEEK( ) | Просматривает индексированную таблицу в поисках первого вхождения записи, ключ индекса которой совпадает с заданным выражением.
Команда SET COLLATE | Задает последовательность сортировки для символьных полей в последующих операциях индексирования и сортировки.
Команда SET FILTER | Задает условие, соблюдение которого делает записи текущей таблицы доступными.
Команда SET KEY | Задает способ доступа к записям некоторого диапазона исходя из их ключей индекса.
Команда SET NEAR | Определяет, где располагается указатель записи после неудачного выполнения поиска записи.
Команда SET RELATION | Устанавливает отношение между двумя открытыми таблицами.
Команда SKIP | Перемещает указатель записи вперед или назад по таблице.
Команда UPDATE - SQL | Обновляет записи в таблице новыми значениями.

Expand image Смотрите также

Прочие ресурсы

Базы данных
Language Categories

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Relation Manipulation Language

Visual FoxPro 9.0 Справочное руководство по языку
Язык управления отношениями
Смотрите также
CollapseAll image

Эти команды и функции позволяют вам устанавливать и разрывать отношения между файлами таблиц.

Use | To
Функция RELATION( ) | Возвращает указанное реляционное выражение для таблицы, открытой в заданной рабочей области.
Команда SELECT - SQL | Извлекает данные из одной или нескольких таблиц.
Команда SET RELATION | Устанавливает отношение между двумя открытыми таблицами.
Команда SET RELATION OFF | Разрывает установленное отношение между родительской таблицей и связанной с ней дочерней таблицей.
Команда SET SKIP | Создает отношение один-ко-многим между таблицами.
Функция TARGET( ) | Возвращает псевдоним таблицы, с которой устанавливается отношение согласно предложению INTO команды SET RELATION.

Expand image Смотрите также

Прочие ресурсы

Базы данных
Language Categories

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Table Manipulation Language

Visual FoxPro 9.0 Справочное руководство по языку
Язык управления таблицами
Смотрите также
CollapseAll image

Приведенные ниже команды и функции предоставляют вам возможность создавать, управлять и контролировать табличные файлы.

Используйте | для
ADD TABLE Command | добавления свободной таблицы в текущую базу данных.
ALINES( ) Function | копирования каждой линии мемо-поля в соответствующую строку массива.
ALTER TABLE - SQL Command | модификации структуры таблицы.
APPEND Command | добавления записей в коней таблицы.
AUSED( ) Function | размещения псевдоимен таблиц и рабочих областей сессии данных в переменную массива.
AVERAGE Command | подсчета среднего арифметического численного выражения поля.
BEGIN TRANSACTION Command | начала транзакции.
BROWSE Command | открытия окна просмотра (browse window) и отображения записей в таблице.
CHANGE Command | отображения полей для редактирования.
CLOSE Commands | закрытия открытых таблиц.
COPY MEMO Command | Копирования содержания мемо-поля в текстовый файл.
COPY STRUCTURE Command | создания новой пустой таблицы со той же структурой, что и структура текущей выбранной таблицы.
COPY STRUCTURE EXTENDED Command | создания новой таблицы с полями, содержами структуру текущей выбранной таблицы.
COPY TO Command | создания нового файла из содержания таблицы.
COUNT Command | подсчета записей таблицы.
CPCURRENT( ) Function | возврата установки текущей кодовой страницы.
CPDBF( ) Function | возврата кодовой страницы, информация о которой размещена в заголовке файла таблицы.
CREATE Command | построения новой таблицы.
CREATE FROM Command | создания таблицы из таблицы, созданной командой COPY STRUCTURE EXTENDED.
CREATE QUERY Command | открытия дизайнера запросов (Query designer).
CREATE TABLE - SQL Command | создания новой таблицы.
CURVAL( ) Function | возвращения значений поля.
DELETE Command | маркировки записи для удаления.
DELETE - SQL Command | маркировки записей для удаления.
DELETED( ) Function | определения - маркирована ли запись на удаление.
DISPLAY STRUCTURE Command | отображения структуры таблицы.
DISPLAY TABLES Command | отображения имен и информации обо всех таблицах в базе данных.
EDIT Command | отображения полей для редактирования.
END TRANSACTION Command | завершения транзакции.
EXPORT Command | копирования данных из таблицы в файл другого формата.
FLUSH Command | сохранение изменений в таблице и в индексных файлах на диск.
GETFLDSTATE( ) Function | возвращение численного значения, указывающего статус поля в таблице или курсоре.
GETNEXTMODIFIED( ) Function | получения номера записи для следующей измененной записи в буфферированной таблице или курсоре.
IMPORT Command | импортирование данных из внешних файловых форматов для создания новой таблицы.
ISEXCLUSIVE( ) Function | определения - открыта ли таблица эксклюзтвно.
ISREADONLY( ) Function | определения - открыта ли таблица как "только для чтения".
LIST TABLES Command | отображения имен и информации обо всех таблицах в базе данных
MEMLINES( ) Function | возвращения числа строк в мемо-поле.
MLINE( ) Function | возвращения конкретной строки в мемо-поле в виде смвольной строки
MODIFY GENERAL Command | открытия окна редактирования для поля типа "general" текущей записи.
MODIFY MEMO Command | открытия окна редактирования для мемо- или бинарного (field) в текущем окне.
MODIFY QUERY Command | открытия дизайнера запросов (Query Designer).
MODIFY STRUCTURE Command | отображения дизайнера таблиц.
OLDVAL( ) Function | возвращения оригинального значения для полей, которые были изменены, но измененная инфомарция еще не была переписана в таблицу.
PACK Command | для полного удаления всех записей, помеченных для удаления из таблицы и уменьшения размера связанного с таблицей мемо-файла.
RECALL Command | снятия маркировки на удаление с записей помеченных в таблице, как подлежащие удалению.
REFRESH( ) Function | освежения данных в обновляемом SQL удаленном или локальной представлении или в курсор-адаптере.
REMOVE TABLE Command | удаления таблицы из текущей базы данных.
REPLACE Command (Visual FoxPro) | перезаписи табличных записей.
REPLACE FROM ARRAY Command | перезаписи данных в полях значениями из переменной массива.
RENAME TABLE Command | переименования таблицы.
ROLLBACK Command | прекращения всех изменений во время текущей транзакции.
SELECT Command | активизации указанной рабочей области.
SELECT - SQL Command | получения данных из одной или множества таблиц.
SET ANSI Command | определения будут ли дополнены короткие строки пробелами при выполнении SQL строчного сравнения или бинарного выражения с (0) байтами при выполнении бинарного сравнения выражения в команде SQL с помощью знака оператора равенства (=).
SET AUTOSAVE Command | определения будет ли Visual FoxPro сбрасывать данные буффера на диск, когда вы выходите из READ или возвращаетесь в командное окно.
SET DATASESSION Command | активизация указанной сессии данных формы.
SET DELETED Command | определения будет ли Visual FoxPro обрабатывать помеченные для удаления записи или же они будут доступны для использования с другими командами.
SET FIELDS Command | указания списка полей, к которым будет осуществляться доступ в таблице.
SET NULL Command | указания как nullзначения будут поддерживаться разными командами.
SET OLEOBJECT Command | указанния для поиска в регистре, в случае, когда объект не может быть найден.
SET OPTIMIZE Command | разрешения или запрещения Rushmore Query Optimization.
SORT Command | сортировки записей в таблице и вывода отсортированных записей в новую таблицу.
SUM Command | подсчета суммы численных полей в таблице.
SYS(2029) - Table Type | возвращения значения, соответствующего типу таблицы.
TABLEREVERT( ) Function | сбора изменения, сделанных в буфферированной строке или в буфферированной таблице и восстановления оригинальных данных, предоставляемых функией OLDVAL( ).
TABLEUPDATE( ) Function | подписи изменений сделанных в буфферированной строке или в буфферированной таблице или в курсоре-адаптере для обновления данных в таблице.
TOTAL Command | подсчета общей суммы для численных полей таблицы.
TXNLEVEL( ) Function | возвращения численного значения, указывающего текущей уровень транзакции.
UPDATE - SQL Command | обновления записи в таблице новыми значениями.
USE Command | открытия таблицы.
USED( ) Function | определения - используется ли псевдоимя или открыта ли таблицы в конкретной рабочей области.
ZAP Command | Удаляет все записи из таблицы, оставляя лишь табличную структуру.

Expand image Смотрите также

Справочное руководство

Дизайнер таблиц (Visual FoxPro)

Прочие ресурсы

Базы данных
Дизайнеры запросов и представлений
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Input and Output (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Ввод и Вывод (Visual FoxPro)

В целях построения эффективных Приложений по обработке Данных, организации надежных процедур Ввода или Вывода различной информации обратитесь к представленным далее ссылкам по основным элементам системы Visual FoxPro.

В данной Секции

Язык Форматирования Данных

Приводится список системных Команд и Функций, обеспечивающих Форматирование и Отображение различных информационных данных, размещенных в Записях Таблиц, в Полях, в Переменных Памяти, или в элементах Массивов.

Ввод данных с Клавиатуры или манипулятора Мышь

Приводится список системных Команд и Функций, обеспечивающих обработку событий по вводу данных с Клавиатуры или с помощью манипулятора Мышь.

Подсистемы Меню и Блоки Меню

Приводится список системных Команд и Функций, позволяющих создавать, активировать и управлять пользовательскими подсистемами Меню.

Печать Данных (Visual FoxPro)

Приводится список системных Команд и Функций, обеспечивающих Печать (получение твердой Копии) или Отображение данных из Записей Таблиц или переменных памяти на Экран рабочей станции, печатающее устройство (Принтер), или в текстовый файл (или файл другого типа)..

Отчеты и Этикетки

Приводится список системных Команд и Функций, обеспечивающих создание и обработку Отчетов.

Команды и Функции работы с Окнами

Приводится список системных Команд и Функций, обеспечивающих создание, отображение и управление пользовательскими Окнами.

Связанные Секции

Кактегории Языка Программирования (Visual FoxPro)

Содержатся ссылки на основные функциональные категории языка программирования VFP.

Использование системы Visual FoxPro

Описываются разнообразные функциональные возможности языка программирования Visual FoxPro, значительно повышающие производительность разработки пользовательских Приложений; в частности: методы Access / Assign, поддержка широкого спектра типов графических файлов, и другие языковые конструкции, значительно повышающие производительность процессов программирования.

Разработка Приложений в системе Visual FoxPro

Приводятся основные ссылки по концептуальным вопросам разработки пользовательских Приложений Visual FoxPro, где приводятся конкретные инструкции по созданию Баз Данных, проектированию Пользовательского Интерфейса, решению разнообразных Задач с помощью инструментария системы Visual FoxPro.

Программирование в системе Visual FoxPro

Рассматриваются вопросы по созданию полнофункциональных Приложений с помощью Visual FoxPro. Приводятся Основные Понятия технологии Объектно-Ориентированного Программирования и основные положения Событийной Модели управления пользовательским Интерфейсом, что значительно ускоряет создание Приложений (их программирование).

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Data Formatting Language

Visual FoxPro 9.0 Справочное руководство по языку
Data Formatting Language
Смотрите также
CollapseAll image

Приведенные ниже команды и функции предоставлены вам для формитирования и отображения данных их записей, полей, переменных памяти или массивов. Кроме того, они позволяют вам управлять общими возможностями экрана или окна.

Используйте ... | для:
\ | \\ Command | печати или отображения строк текста.
? | ?? Command | оценки выражения и посылки результата на главное окно Visual FoxPro активное окно, определенное пользователем или на принтер.
@ ... CLEAR Command | очистки части главного окна Visual FoxPro или определенного пользователем окна.
@ ... FILL Command | изменения цвета существующего текста внутри области экрана.
ACTIVATE SCREEN Command | посылки всех последовательный выводов в главное окно Visual вместо окна, определенного пользователем.
APPEND Command | добавления одной или более записей в конец таблицы.
BROWSE Command | открытия окна просмотра и отображения в нем записей из таблицы.
CHANGE Command | отображения полей для редактирования.
CLEAR Commands | высвобождения всех указанных элементов из памяти.
CLOSE Commands | закрытия файлов различных типов.
CREATE FORM Command | открытия дизайнера форм.
DISPLAY Command | отображения содержания записи и результатов выражения для текущей таблицы.
DisplayPath( ) Function | укорачивания длинного выражения пути в указанную длину для отображения.
EDIT Command | отображения полей для редактирования.
FUNCTION Command | создания пользовательской функции в программном файле.
INKEY( ) Function | возврата числа, соответствуюющего первому щелчку мыши или нажатию клавиши в буффере печати.
LIST Commands | отображения таблицы или информации окружения без задержки в главном окне Visual FoxPro или окне, определенном пользователем.
MESSAGEBOX( ) Function | отображения настроенного пользователем диалогового окна сообщения.
MODIFY FORM Command | открытия Form Designer, для того, чтобы вы смогли редактировать или создать форму.
OBJTOCLIENT( ) Function | возврата позиции или размера элемента управления или объекта по отношению к содержащей его форме.
RESTORE SCREEN Command | восстановления главного окна Visual FoxPro или окна, определенного пользователем, сохраненного ранее в буффер экрана, переменную или элемент массива.
SAVE SCREEN Command | сохранения главного окна Visual FoxPro или окна, определенного пользователем, сохраненного ранее в буффер экрана, переменную или элемент массива.
SCOLS( ) Function | возврата число колонок, доступных в главном окне Microsoft Visual FoxPro.
SCROLL Command | Прокрутки области главного окна Visual FoxPro window или окна, определенного пользователем, вверх, вниз, влево или вправо.
SET CARRY Command | определения - будет ли Visual FoxPro переносить данные из текущей записи во вновь вводимую, создаваемую командами INSERT, APPEND и BROWSE.
SET COLOR OF SCHEME Command | указания цвета или цветовой схемы или копирования одной цветовой схемы в другую.
SET COLOR SET Command | загрузки предварительно определенного набора цветов.
SET CONFIRM Command | указания, сможет ли пользоватль выйти из текстового бокса (text box) после печати в нем последнего символа.
SET CONSOLE Command | разрешения или запрещения вывода из программы в главное окноVisual FoxPro или активное окно, определенное пользователем.
SET CURSOR Command | определения - будет ли отображатся курсор вставки, когда Visual FoxPro будет ожидать ввода.
SET DECIMALS Command | указания числа десятичных мест, отображаемые в численных выражениях.
SET DEVICE Command | направления вывода @ ... SAY на экран, принтер или в файл.
SET FIXED Command | Указания будет ли число десятичных мест фиксировано при отображении численных данных.
SET HEADINGS Command | определения - будут ли отображаться заголовки колонок для полей и будет ли включена информация о файле, когда выдается команда TYPE для отображения содержания файла.
SET MARK TO Command | определения разделителя для отображения выражений даты.
SET MEMOWIDTH Command | указания отображаемой длины мемо-полей и символьных выражений.
SET MESSAGE Command | определения сообщения для отображения в главном окне Visual FoxPro или в графической полоске статуса, или указания места сообщения для определенных пользователем полосок меню и команд меню.
SET ODOMETER Command | указания отчетного интервала счетчика записей для команд, которые обрабатывают записи.
SET SPACE Command | определения - будет ли отображаться пространство между полями или выражениями при использовании команды ? или ??.
SET TEXTMERGE Command | разрешения или запрещения оценки полей, переменных, эелементов массивов, функций или выражений, которые окружаются метками вывода текста.
SET TEXTMERGE DELIMITERS Command | указания набора символой разделяющих выводимый текст при нежелании использовать установленные по умолчанию.
SROWS( ) Function | возврата числа строк, доступных в главном окнеVisual FoxPro.
SYS(7) - Current Format File | возврата имени текущего файла форматов.
SYS(2002) - Turn Insertion Point On or Off | включения или выключения курсора вставки.
TEXT ... ENDTEXT Command | посылки строк текста, определяемого TextLines на текущее устройство вывода.
TRANSFORM( ) Function | возврата символьной строки из выражения в формате, определяемом кодом формата.

Expand image Смотрите также

Справочное руководство

Дизайнер форм (Form Designer)

Прочие ресурсы

Ввод и вывод (Visual FoxPro)
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Keyboard and Mouse Input

Visual FoxPro 9.0 Справочное руководство по языку
Ввод данных с помощью клавиатуры и мыши
Смотрите также
CollapseAll image

Команды и функции, перечисленные в таблице, позволяют управлять вводом данных, осуществляемым с клавиатуры или с помощью мыши.

Команда или функция | Назначение
AMOUSEOBJ( ), функция | Создает массив, содержащий информацию о позиции указателя мыши и объекте, над которым указатель мыши расположен.
CAPSLOCK( ), функция | Возвращает текущее состояние клавиши CAPS LOCK или устанавливает режим CAPS LOCK в состояние ВКЛ или ВЫКЛ.
CHRSAW( ), функция | Определяет наличие символа в буфере клавиатуры.
CLEAR, команды | Освобождают память от указанных элемента или элементов.
INSMODE( ), функция | Возвращает текущее состояние режима Insert (Вставка), или устанавливает его в состояние ВКЛ или ВЫКЛ.
KEYBOARD, команда | Помещает указанное символьное выражение в буфер клавиатуры.
LASTKEY( ), функция | Возвращает целое число, соответствующее коду последней нажатой клавиши.
MCOL( ), функция | Возвращает позицию указателя мыши по столбцам в основном окне Visual FoxPro или в окне, определенном пользователем.
MOUSE, команда | Имитирует щелканье мышью (включая двойное) и перемещение мыши (в том числе при нажатой кнопке).
MROW( ), функция | Возвращает позицию указателя мыши по строкам в основном окне Visual FoxPro или в окне, определенном пользователем.
NUMLOCK( ), функция | Возвращает текущее состояние клавиши NUM LOCK или устанавливает режим NUM LOCK в состояние ВКЛ или ВЫКЛ.
ON KEY LABEL, команда | Задает команду, которая будет выполнена, если нажать некоторую клавишу или комбинацию клавиш или щелкнуть кнопкой мыши.
PLAY MACRO, команда | Выполняет макрокоманду клавиатуры.
POP KEY, команда | Восстанавливает назначения команды ON KEY LABEL, помещенные в стек командой PUSH KEY.
PUSH KEY, команда | Помещает все текущие установки команд ON KEY LABEL в стек памяти.
RESTORE MACROS, команда | Восстанавливает в памяти макрокоманды клавиатуры, сохраненные в файле макрокоманд клавиатуры или в memo-поле.
SAVE MACROS, команда | Сохраняет набор макрокоманд клавиатуры в файле макрокоманд клавиатуры или в memo-поле.
SET FUNCTION, команда | Назначает выполнение выражения (макрокоманды клавиатуры) при нажатии функциональной клавиши (или их комбинаций).
SET KEYCOMP, команда | Управляет клавишной навигацией Visual FoxPro.
SET MACKEY, команда | Задает клавишу или комбинацию клавиш, при нажатии которых отображается диалоговое окно Macro Key Definition.
SET TYPEAHEAD, команда | Задает максимальное число символов, которые можно сохранить в буфере клавиатуры.

Expand image Смотрите также

Прочие ресурсы

Ввод и вывод (Visual FoxPro)
Языковые категории

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Menus and Menu Bars

Visual FoxPro 9.0 Language Reference
Меню и Пункты меню
Смотреть также

Эти команды и функции позволяют Вам разрабатывать, отображать, и активизировать определяемые пользователем меню и строки меню.

Использование | Разультат
Команда \ | \\ | Печатает или отображает строку текста.
Команда ACTIVATE POPUP | Отображает и активизирует строку меню.
Функция BAR( ) | Возвращает номер последнего выбранного элемента меню, определенного с помощью команды DEFINE POPUP, или номер элемента меню Visual FoxPro.
Функция BARPROMPT( ) | Возвращает текст элемента меню. Возвращает текст элемента меню.
Команда CLEAR MENUS | Освобождает в памяти все определения строки меню.
Команда CLEAR POPUPS | Освобождает в памяти все определения меню, созданные с помощью команды DEFINE POPUP.
Функция CNTBAR( ) | Освобождает в памяти все определения меню, созданные с помощью команды DEFINE POPUP.
CNTPAD( ) Function | Return the number of menu titles on a user-defined menu bar or the Visual FoxPro system menu bar.
Команда CREATE MENU | Открывает конструктор меню в Visual FoxPro.
Команда DEACTIVATE MENU | Деактивизирует строку меню, определенную пользователем, и удаляет ее с экрана, оставляя при этом определение строки меню в памяти..
Команда DEACTIVATE POPUP | Деактивизирует меню, созданное командой DEFINE POPUP.
Команда DEFINE BAR | Создает элемент в меню, определенном с помощью команды DEFINE POPUP.
Команда DEFINE MENU | Создает строку меню.
Команда DEFINE PAD | Создает заголовок меню в пользовательской строке меню или в системной строке меню Visual FoxPro.
Команда DEFINE POPUP | Создает меню.
Функция GETBAR( ) | Возвращает номер элемента в меню, определенном с помощью команды DEFINE POPUP, или в системном меню Visual FoxPro.
Функция GETPAD( ) | Возвращает имя меню для заданной позиции строки меню.
Команда HIDE MENU | Скрывает одну или несколько активных пользовательских строк меню.
Команда HIDE POPUP | Скрывает одно или несколько активных меню, созданных с помощью команды DEFINE POPUP.
Команда MODIFY MENU | Открывает конструктор меню, в котором можно модифицировать или создать систему меню.
Команда MOVE POPUP | Перемещает меню, определенное пользователем с помощью команды DEFINE POPUP на новое место.
Функция MRKBAR( ) | Определяет, помечен ли элемент пользовательского или системного меню Visual FoxPro.
Функция MRKPAD( ) | Определяет, помечен ли заголовок меню в строке меню, определенной пользователем, или в системной строке меню Visual FoxPro.
Команда ON BAR | Задает меню или строку меню, которые активизируются при выборе определенного элемента из меню.
Команда ON EXIT BAR | Выполняет команду при выходе из заданного элемента меню. Включена для совместимости с dBASE.
Команда ON EXIT MENU | Выполняет команду при выходе из любого заголовка меню в заданной строке меню. Включена для совместимости с dBASE.
Команда ON EXIT PAD | Выполняет команду при выходе из заданного заголовка меню. Включена для совместимости с dBASE.
Команда ON EXIT POPUP | Выполняет команду при выходе из любого элемента заданного меню. Включена для совместимости с dBASE
Команда ON PAD | Задает меню или строку меню, активизируемые при выборе данного заголовка меню.
Команда ON SELECTION BAR | Задает команду, которая выполняется при выборе конкретного элемента меню.
Команда ON SELECTION MENU | Задает команду, которая выполняется при выборе любого заголовка меню в строке меню.
Команда ON SELECTION PAD | Задает команду, которая выполняется при выборе конкретного заголовка меню в строке меню.
Команда ON SELECTION POPUP | Задает команду, которая выполняется при выборе любого элемента из заданного меню или из любого меню.
Функция PAD( ) | Возвращает самый последний заголовок меню, выбранный из строки меню, в виде строки прописных символов, или возвращеает логическое значение, указывающее, что заголовок меню определен для активной строки меню.
Команда POP MENU | Восстанавливает заданное определение строки меню, которое было занесено в стек командой PUSH MENU.
Команда POP POPUP | Восстанавливает заданное определение меню, которое было занесено в стек командой PUSH POPUP.
Функция POPUP( ) | Возвращает символьную строку, содержащую имя активного меню, или логическое значение, которое указывает, определено ли заданное меню.
Функция PRMBAR( ) | Возвращает текст элемента меню.
Функция PRMPAD( ) | Возвращает текст заголовка меню.
Функция PROMPT( ) | Возвращает текст заголовка меню, выбранного из строки меню, или текст элемента меню, выбранного из меню.
Команда PUSH MENU | Помещает определение строки меню в стек памяти, содержащий определения строк меню.
Команда PUSH POPUP | Помещает определение меню в стек памяти, в котором хранятся определения меню.
Команда RELEASE BAR | Удаляет из памяти заданный элемент некоторого меню или все его элементы.
Команда RELEASE MENUS | Удаляет из памяти строки меню, определенные пользователем.
Команда RELEASE PAD | Удаляет из памяти конкретный заголовок меню или все заголовки меню.
Команда RELEASE POPUPS | Удаляет из памяти конкретное меню или все меню.
Команда SET MARK OF | Задает символ маркировки для заголовков меню и элементов меню, либо отображает или удаляет символ маркировки.
Команда SET SKIP OF | Делает доступным или недоступным меню, строку меню, заголовок меню или элемент меню; воздействует как на пользовательские меню, так и на системные меню Visual FoxPro.
Команда SIZE POPUP | Изменяет размеры меню, созданного командой DEFINE POPUP.
Функция SKPBAR( ) | Определяет состояние элемента меню (доступен или недоступен), заданное с помощью команды SET SKIP OF.
Функция SKPPAD( ) | пределяет состояние заголовка меню (доступен или недоступен), заданное с помощью команды SET SKIP OF.
Команда SHOW MENU | Отображает одну или несколько определенных пользователем строк меню, не активизируя их.
Команда SHOW POPUP | Отображает одно или несколько меню, определенных с помощью команды DEFINE POPUP, не активизируя их.
SYS(2013) - строка имен системных меню | Возвращает символьную строку, ограниченную пробелом, которая содержит внутренние имена системных меню Visual FoxPro.

See Also

Other Resources

Input and Output
Menu Designer
Language Categories

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


? Printing (Visual FoxPro)
Visual FoxPro 9.0 Language Reference
Печать (Visual FoxPro)
Смотреть также

Эти команды и функции позволяют вам выводить, на печать или отображать данные из записей или переменных памяти, на принтер или выходной файл.

Использование | Назначение
_ASCIICOLS Системная переменая | Задает число столбцов в ASCII текстовом файле, созданном с помощью ключевого слова ASCII в команде REPORT FORM.
_ASCIIROWS Системная переменая | Задает число строк в ASCII текстовом файле, созданном с помощью с помощью ключевого слова ASCII в команде REPORT FORM.
\ | \\ Команда | Выводит строки текста.
? | ?? Команда | Вычисляет выражения и выводит результаты в основное окно Visual FoxPro или в пользовательское активное окно или на принтер
??? Команда | Направляет вывод непосредственно на принтер.
APRINTERS( ) Функция | Помещает в массив переменных памяти имена принтеров, которые в данный момент описаны в Диспетчере печати Windows.
CLOSE ALTERNATE Команда | Закрыть различные типы файлов.
DISPLAY Команда | Отображает информацию о текущей таблице в основном окне Visual FoxPro или в пользовательском окне.
EJECT Команда | Посылает на принтер код перевода страницы.
EJECT PAGE Команда | Передает на принтер код условного перевода страницы.
GETPRINTER( ) Функция | Отображает диалоговое окно Print Setup (Windows) и возвращает имя выбранного принтера.
LIST Команда | Выдает на экран информацию о таблицах или о среде непрерывным потоком.
ON PAGE Команда | Задает команду, которая выполнится, когда печать дойдет до строки отчета с заданным номером или когда будет выдана команда EJECT PAGE.
PCOL( ) Функция | Возвращает текущую позицию по столбцам печатающей головки принтера.
PRINTJOB ... ENDPRINTJOB Команда | Активизирует установки для системных переменных памяти, связанных с заданием печати.
PROW( ) Функция | Возвращает текущий номер строки для печатающей головки принтера.
PRTINFO( ) Function | Возвращает действующую в данный момент установку принтера.
REPORT FORM Команда | Выводит на дисплей или на печать отчет под управлением (.frx)файла описания отчета, созданного по команде MODIFY REPORT или CREATE REPORT.
SET MARGIN Команда | Задает левое поле печати, определяя вид всего вывода, направляемого на принтер.
SET PDSETUP Команда | Загружает набор установок драйвера принтера или удаляет текущий набор установок драйвера принтера.
SET PRINTER Команда | Разрешает или запрещает вывод на принтер или направляет вывод в файл, в порт или на сетевой принтер.
SYS(6) - Current Printer Device | Возвращает текущее печатающее устройство
SYS(1037) - Диалоговое окно Page Setup | Выбирает принтер, путь принтера и установки, связанные с бумагой. Параметры, допускающие регулирование в данном диалоговом окне, зависят от установленного принтера и сохраняются вместе с отчетом или этикеткой. Вы также можете изменить параметры текущего задания печати. Эти установки не сохраняются вместе с файлом отчета.
TYPE Команда | Отображает содержимое файла.

Смотреть также

Ссылки

Диалоговое окно Print (Visual FoxPro)
Построитель отчетов

Другие ресурсы

Ввод и вывод
Language Categories

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Reports and Labels

Visual FoxPro 9.0 Справочное руководство по языку
Отчеты и этикетки
Смотрите также
CollapseAll image

Эти команды позволяют Вам создать отчеты и управлять выводом.

Use | To
Системная переменная _ASCIICOLS | Определяет количество столбцов в текстовом файле ASCII, созданном с ключевым словом ASCII в команде REPORT FORM .
Системная переменная _ASCIIROWS | Определяет число строк в текстовом файле ASCII, созданном с ключевым словом ASCII в команде REPORT FORM.
Команда \ | \\ | Печатает или выводит на экран строки текста.
Команда CREATE LABEL | Открывает дизайнер єтикеток для создания этикетки стандартного или пользовательского формата.
Команда CREATE REPORT | Открывает дизайнер Отчетов для создания отчета в стандартном или пользовательском формате отчета.
Команда LABEL | Отправляет єтикетку из соответствующего файла на устройство вывода.
Команда MODIFY LABEL | Открывает дизайнер этикеток для создания или модификации этикетки.
Команда MODIFY REPORT | Открывает дизайнер отчетов для создания или модификации отчета.
Команда REPORT FORM | Выводит на экран или на печать отчет, указанный в файле определения отчета (.frx), например, созданный командами CREATE REPORT или MODIFY REPORT.

Expand image Смотрите также

Справочное руководство

Дизайнер отчета
Дизайнер этикеток

Прочие ресурсы

Ввод и вывод (Visual FoxPro)
Языковые Категории

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Windows Commands and Functions

Visual FoxPro 9.0 Language Reference
Команды и Функции Управления Окнами
Смотрите Также
CollapseAll image

Данные команды и функции дают вам возможность создать, отобразить и активировать определяемые пользователем окна.

Применить | Для
ACTIVATE WINDOW Команда | Отображает и активирует одно или несколько определенных пользователем окна или системные окна Visual FoxPro.
BorderStyle Свойство | Определяет стиль рамки объекта.
CLEAR Команды | Освобождает заданный элемент или элементы из памяти.
CREATE FORM Команда | Открывает Дизайнер Форм.
DEACTIVATE WINDOW Команда | Дезактивирует пользовательское окно или системные окна Visual FoxPro и убирает их с экрана, но не из памяти.
DEFINE WINDOW Команда | Создает окно и определяет его свойства.
HIDE WINDOW Команда | Прячет активное пользовательское окно или Visual FoxPro системное окно.
MODIFY FORM Команда | Открывает Дизайнер Форм, чтобы вы могли изменить или создать форму.
MODIFY WINDOW Команда | Изменяет пользовательское окно или главное окно Visual FoxPro.
MOVE WINDOW Команда | Перемещает пользовательское окно, созданное командой DEFINE WINDOW, или системное окно Visual FoxPro, в новое местоположение.
Refresh Метод | Воспроизводит форму или элемент управления и обновляет значения, или обновляет визуальное отображение проекта.
RELEASE WINDOWS Команда | Удаляет пользовательское окно или системные окна из памяти.
RESTORE WINDOW Команда | Восстанавливает окно по его описанию в памяти и состояния окна, сохраненные в файле окна или в поле типа memo.
SAVE WINDOWS Команда | Сохраняет все заданные описания окна в файле окна или в поле типа memo.
SHOW WINDOW Команда | Показывает одно или несколько пользовательских окон или системные окна Visual FoxPro без их активирования.
SIZE WINDOW Команда | Изменяет размер окна, созданного командой DEFINE WINDOW, или системного окна Visual FoxPro.
TextBox | Создает элемент управления text box.
WBORDER( ) Функция | Определяет, имеет ли активное или заданное окно рамку.
WCHILD( ) Функция | Возвращает либо количество дочерних окон в родительском окне, либо имена дочерних окон в последовательности, в которой они расположены в родительском окне.
WCOLS( ) Функция | Возвращает количество колонок у активного или заданного окна.
WEXIST( ) Функция | Определяет, существует ли заданное пользовательское окно.
WFONT( ) Функция | Возвращает наименование, размер и стиль текущего шрифта для окна.
WLAST( ) Функция | Возвращает имя окна, которое было активным до текущего окна или определяет, было ли заданное окно активным до текущего.
WLCOL( ) Функция | Возвращает координату колонки верхнего левого угла активного или заданного окна.
WLROW( ) Функция | Возвращает координату строки верхнего левого угла активного или заданного окна.
WMAXIMUM( ) Функция | Определяет, зарвернуто ли на весь экран активное или заданное окно.
WMINIMUM( ) Функция | Определяет, минимизировано ли активное или заданное окно.
WONTOP( ) Функция | Определяет, находится ли активное или заданное окно впереди всех остальных.
WOUTPUT( ) Функция | Определяет, был ли направлен вывод на активное или заданное окно.
WPARENT( ) Функция | Возвращает имя родительского окна для активного или заданного окна.
WREAD( ) Функция | Эта команда включена для обратной совместимости. Используйте возможности Дизайнер Форм вместо этого.
WROWS( ) Функция | Возвращает количество рядов в активном или заданном окне.
WTITLE( ) Функция | Возвращает заголовок актавного или заданного окна.
WVISIBLE( ) Функция | Определяет, было ли заданное окно активировано и не спрятано ли оно.
ZOOM WINDOW Команда | Изменяет размер и позицию пользовательского или системного окна.

Expand image Смотрите Также

Другие Ресурсы

Ввод и Вывод (Visual FoxPro)
Категории Языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Programming

Visual FoxPro 9.0 Language Reference
Программирование

Следующие параграфы содержат описание языка Visual FoxPro для решения задач программирования.

В этой секции

Array Manipulation (Работа с массивами)

Список команд и функций позволяющих выполнять различные действия над переменными-Массивами.
Debugging and Error-Handling Language (Язык отладки и управления ошибками)

Список языка Visual FoxPro, который вы можете использовать чтобы выполнять отладку и управлять обработкой ошибок в ваших программах на Visual FoxPro.
Event Handlers (Обработка событий)

Список команд и функций с помощью которых вы можете описать порядок действий, которые будут выполнены, когда происходит определенное событие в программе.
Low-Level File Functions (Функции низкого уровня для работы с файлами)

Список функций, позволяющих манипулировать файлами и коммуникационными портами на низком уровне. Функции низкого уровня следует использовать очень осторожно, особенно при работе файлами таблиц.
Object-Oriented Programming Commands and Functions (Процедуры и функции ООП)

Список процедур и функций, позволяющие создавать и управлять классами и объектами.
Program Execution (Выполнение программы)

Список процедур и функций, позволяющие контролировать выполнение программ на Visual FoxPro, их остановку и завершение.
Structured Programming (Програмные структуры)

Список процедур и функций, позволяющих выполнять контролирующие и разветвляющие команды внутри программыVisual FoxPro.
Variable Manipulation (Работа с Переменными)

Список процедур и функций для работы с переменными.
System Variables Overview (Краткий обзор системных переменых)

Список встроенных переменных, которые Visual FoxPro создает и поддерживает автоматически.

Связанные секции

Language Categories(Категории языка)

Список функций по группам.
Using Visual FoxPro (использование)

Обсуждение особенностей программирования на Visual FoxPro, эффективность разработки и ее повышение, в том числе Access и Assign методы, поддержка большего числа форматов графических файлов, и упрощения языка для задач программирования.
Developing Visual FoxPro Applications (Разработка приложений)

Включает концепцию разработки приложений на Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, и другие задачи, необходимые при создании приложений на Visual FoxPro.
Programming in Visual FoxPro (ПРограммирование)

Обсуждение как получить полную мощность Visual FoxPro при создании приложений. Понимание методов Объектно-Ориентированного программирования и модели управления прерываниями, которые помогут достич максимальной продуктивности программирования.
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Array Manipulation

Visual FoxPro 9.0 Справочное руководство по языку
Манипуляции с масивами
Смотрите также
CollapseAll image

Эти команды и функции позволяют вам работать с массивами переменных.

Используйте | Для
Функция ACOPY( ) | Копирует элементы из одного массива в другой массив.
Функция ADEL( ) | Удаляет элемент из одномерного массива, или строку или столбец из двумерного массива.
Функция ADIR( ) | Помещяет информацию о файлах в масив и возвращает число файлов.
Функция AELEMENT( ) | Вычисляет номер элемента массива исходя из индексов этого элемента.
Функция AFIELDS( ) | Извлекает и хранит информацию о структуре таблицы в указанной рабочей области, заданой псевдонимом таблицы, или в выбраной в данный момент рабочей области в масив и возвращает число полей в таблице.
Функция AFONT( ) | Помещяет информацию о доступных шрифтах, такую как имя, в массив.
Функция AINS( ) | Вставляет элемент в одномерный массив, или строку или столбец в двумерный массив.
Функция ALEN( ) | Возвращает число элементов, строк, или столбцов в массиве.
Команда APPEND FROM ARRAY | Добавляет одну запись в текущюю выбраную таблицу для каждой строки в массиве и заполняет каждую запись данными из соответствующей строки массива.
Функция ASESSIONS( ) | Создает массив IDs существующей сессии данных.
Функция ASCAN( ) | Ищет элемент массива, содержащий те же самые данные и тип как в выражении.
Функция ASORT( ) | Упорядочивает элементы в масиве в порядке возрастания или убывания.
Функция ASUBSCRIPT( ) | Возвращает строчный или столбцевой индекс элемента массива исходя из его номера.
Команда COPY TO ARRAY | Копирует данные из текущей выбранной таблици в масив.
Команда DECLARE | Создает одно или двух-мерный массив.
Команда DIMENSION | Создает одномерный или двумерный массив переменных.
Команда GATHER | RЗамещает данные в текущей записи текущей выбранной таблицы данными, взятыми из массива, набора переменных или объекта.
Команда SCATTER | Копирует данные из текущей записи в набор переменных или масив.

Expand image Смотрите также

Прочие ресурсы

Программирование
Языковые категории

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Debugging and Error-Handling Language

Visual FoxPro 9.0 Справочное руководство по языку
Команды и функции языка отладки и обработки ошибок
Смотрите также
CollapseAll image

В приведенной ниже таблице перечислены элементы языка Visual FoxPro позволяющие вам осуществлять операции отладки и обработки ошибок в программах.

Язык отладки
Используйте ... | для ...
Команду * | указания на начало линии комментария.
Команду && | указания на начало комментария внутри строки кода.
Команды CLEAR | высвобождения указанного элемента или элементов из памяти.
Команду DEBUG | открытия отладчика - Debugger - Visual FoxPro.
Команду DEBUGOUT | направления вывода результата одного или более выражений в окно Debug Output (Вывод отладки).
Команду SET DEVELOPMENT | определения, будет ли окно Trace (Трассировка) автоматически открываться, когда в запущенной форме происходит ошибка.
Команду SET TALK | определения, будет ли Visual FoxPro отображать результаты исполнения команд.
Команду SET TRBETWEEN | разрешения или запрещения трассировки между точками разрыва в окне Trace (Трассировка).
Команду WAIT | отображения сообщения и временной остановки исполнения программы Visual FoxPro до момента нажатия пользователем клавиши на клавиатура или щелчка мыши.
Язык обработки ошибок
Используйте... | для...
Функцию AERROR() | сохранения в массиве информации об ошибке.
Функцию COMRETURNERROR() | сохранения информации об ошибке в структуре исключения COM.
Команду DEBUG или команду SET STEP | открытия отладчика или окна Trace (Трассировка).
Команду ERROR | генерации конкретной ошибки Visual FoxPro для тестирования вашего обработчика ошибок.
Функцию ERROR() | возврата номера ошибки.
Функцию LINENO() | возврата строки в исполняемой программе.
Функцию MESSAGE() | возврата строки сообщения об ошибке.
Команду ON ERROR | исполнения команды при возникновении ошибки.
Функцию ON() | возврата команд, присвоенных командам обработчика ошибок.
Команду ON SHUTDOWN | исполнении команд при выходе из Visual FoxPro или Windows.
Функцию PROGRAM() или SYS(16) - Имя файла исполняемой программы | возврата имени текущей исполняемой программы.
Команду RETRY | исполнения предыдущей команды, самой последней в списке исполненных команд.
Команду SET AUTOINCERROR | генерации ошибки при попытке обновить или вставить значение в поле, поддерживающее автоувеличение значения.
SYS(2018) - Параметр сообщения об ошибке | возврата любого параметра текущего сообщения об ошибке.
SYS(2410) - обработчик ошибок | возврата типа обработчика ошибок для ошибки.
Блок команд TRY...CATCH...FINALLY | обработки ошибок и исключений, которые могут произойти во время исполнения блока кода.

Expand image Смотрите также

Справочное руководство

Окно отладчика - Debugger
Окно Trace (Трассировка)

Прочие ресурсы

Тестирование и отладка приложений
Программирование
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Event Handlers

Visual FoxPro 9.0 Справочное руководство по языку
Обработчики событий
Смотрите также
CollapseAll image

Перечисленные ниже команды и функции позволяют вам указать действие, которое , когда наступит данное событие. These commands and functions make it possible for you to specify the action a program takes when a given event occurs.

Используйте | Для
EVENTHANDLER( ) Function | привязки события COM-сервера к методам implemented интерфейса на объекте Visual FoxPro.
ON ERROR Command | указания действительного значения или команды Visual FoxPro для исполнения в случае, если при исполнения программного кода в run time произойдет ошибка.
ON ESCAPE Command | указания команды, которая будет исполнена в случае, если вы нажмете на клавишу ESC во время исполнения программы или команды.
ON KEY LABEL Command | указания команды, которая будет исполнена, когда вы нажмете указанную в команде клавишу или комбинацию клавиш или щелкните по кнопке мыши.
ON PAD Command | указания меню или полоски меню, которая будет активирована в случае, если вы выберите конкретный пункт меню.
ON SELECTION PAD Command | указания команды, которая будет исполнена в случае, если вы выберите конкретный пункт меню..
ON SELECTION POPUP Command | указания команды, которая будет исполнена, когда вы выберите любой пункт из указанного меню или из всех меню.
ON SHUTDOWN Command | указания команды, которая будет исполнена, когда вы попробуете выйти из Visual FoxPro или из Microsoft Windows.
ON( ) Function | возврата команды, которая присвоена каждой из этих команд обработки событий: ON ERROR, ON ESCAPE, ON KEY LABEL или ON PAGE.

Expand image Смотрите также

Справочное руководство

Дизайнер форм

Прочие ресурсы

Программирование
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Low-Level File Functions

Visual FoxPro 9.0 Справочное руководство по языку
Функции низкого уровня для работы с файлами
Смотрите также

Эти функции позволяют вам манипулировать файлами и коммуникационными портами на низком уровне. Будьте очень внимательны при использовании этих функций! Их нужно применять с осторожностью, особенно при работе с файлами таблиц. Перед использованием данных функций применительно к рабочим файлам, рекомендуется провести тестирование.

Функция | Выполняемые действия
FCHSIZE( ) | Изменяет размер файла, открытого с помощью файловой функции низкого уровня.
FCLOSE( ) | Сбрасывает буферы и закрывает файл или коммуникационный порт, открытый с помощью файловой функции низкого уровня.
FCREATE( ) | Создает и открывает файл низкого уровня.
FEOF( ) | Определяет, установлен ли указатель файла в конце файла.
FERROR( ) | Возвращает номер, соответствующий самой последней ошибке в файловой функции низкого уровня.
FFLUSH( ) | Сбрасывает на диск файл, открытый с помощью функции низкого уровня.
FGETS( ) | Возвращает последовательность байтов из файла или коммуникационного порта, открытого с помощью файловой функции низкого уровня, пока не встретится символ возврата каретки.
FOPEN( ) | Открывает файл для использования файловыми функциями низкого уровня.
FPUTS( ) | Записывает символьную строку с возвратом каретки и переводом строки в файл, открытый с помощью файловой функции низкого уровня.
FREAD( ) | Возвращает заданное число байтов из файла, открытого с помощью файловой функции низкого уровня.
FSEEK( ) | Перемещает указатель файла, открытого с помощью файловой функции низкого уровня.
FWRITE( ) | Записывает символьную строку в файл, открытый с помощью файловой функции низкого уровня.
HEADER( ) | Возвращает число байтов в заголовке файла текущей или заданной таблицы.

Смотрите также

Прочие ресурсы

Программирование
Категории языка

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


Object-Oriented Programming Commands and Functions

Visual FoxPro 9.0 Справочное руководство по языку
Команды и функции объектно-ориентированного программирования
Смотрите также
CollapseAll image

Приведенные ниже команды и функции предоставляют вам возможность создавать классы и объекты и управления ими.

Используйте ... | ... для
:: оператор разрешения области видимости | запуска метода родительского класса из метода субкласса.
команду @ ... CLASS | для создания элемента управления или объекта, который вы можете активировать с помощью READ.
системную переменную _WIZARD | размещения имени приложения-мастера Visual FoxPro.
функцию ACLASS( ) | размешения имени класса объекта и имени класса предка в массив переменных.
функцию ADATABASES( ) | размещения имен всех открытых баз данных и путей к ним в массив переменных.
функцию ADBOBJECTS( ) | размещения имен именованных соединений, отношений, таблиц или SQL представлений в текущей базе данных в массив переменных.
команду ADD CLASS | ввода определения класса в библиотеку визуальных классов .vcx.
функцию AGETCLASS( ) | отображения библиотек классов в диалоговом окне Open и создания массива, содержащего имя библиотеки класса и выбранного класса
функцию AINSTANCE( ) | размещения экземпляров классов в массив переменных и возрата числа экземпляров, помещенных в массив.
функцию AMEMBERS( ) | размещения имен свойтсв, методов и объектов-членов объекта в массив переменных.
функцию AMOUSEOBJ( ) | создания массива, содержащего информацию о позиции указателя мыщи и об объекте, над которым находился в тот момент указатель мыши.
функцию ASELOBJ( ) | размещения объектной ссылки на текущий выбранный элемент управления или контейнер, который аходится в конструкторе форм (Form Designer), в конструкторе классов (Class Designer) или окне редактирования в указанный массив переменных.
функцию AVCXCLASSES( ) | размещения информации о классах в библиотеке классов в массив.
системную переменную _BUILDER | для указания имени приложения построителя Visual FoxPro.
функцию COMCLASSINFO( ) | возврата информации из регистра об объектах COM, таких как серверы автоматизации Visual FoxPro.
функцию COMPOBJ( ) | сравнения свойств двух объектов и возврата True (.T.), если их свойства и значения свойств идентичны.
команду CREATE CLASS | открытия конструктора классов (Class Designer), с тем, чтобы позволить вам создать новое определение класса.
команду CREATE CLASSLIB | создания файла новой, пустой библиотеки визуальных классов (.vcx).
функцию CREATEOBJECT( ) | создания объкта из определения класса или приложения, допускающего автоматизацию.
команду DEFINE CLASS | создания пользовательского класса или субкласса и указания свойств, событий и методов для создаваемого класса или субкласса.
команду DISPLAY OBJECTS | отображения информации об объектах и группах объектов.
функцию GETINTERFACE( ) | предоставления доступа со свойствам, методом и события COM-объекта через раннее связывание.
функцию GETOBJECT( ) | активизации объекта Automation и создания ссылки на объект.
команду LIST OBJECTS | последовательного отображения информации об объекте или группе объектов
функцию LOADPICTURE( ) | создания объектной ссылки на файл битовой карты (bitmap), иконки (icon) или метафайл Windows.
команду MODIFY CLASS | открытия конструктора класса для того, чтобы дать вам возможность модифицировать определение класса или создания определения нового класса.
функцию NEWOBJECT( ) | Create a new class or object directly from a visual class library (.vcx) file or program (.prg) file without opening the file.
команду RELEASE CLASSLIB | закрытия библиотеки визуальных классов .vcx, содержащих определения класса.
команду REMOVE CLASS | удаления определения класса из библиотеки визуальных классов .vcx.
команду RENAME CLASS | переименования определения класса, содержащегося в библиотеке визуальных классов .vcx.
функцию SAVEPICTURE( ) | создания файла битовой карты (.bmp) из объектной ссылки картинки.
системную переменную _SCREEN | указания свойств и методов для главного окна Visual FoxPro.
команду SET CLASSLIB | открытия библиотеки визуальных классов .vcx, содержащей опеределения классов.
команду SET OLEOBJECT | указания - нужно-ли будет Visual FoxPro производить поиск в регистре, когда местонахождение объекта не найдено.
команду WITH ... ENDWITH | указания множества свойств для объекта.

Expand image Смотрите также

Справочное руководство

Конструктор форм (Form Designer)

Концепции

Конструктор форм (Class Designer)

Прочие ресурсы

ПРограммирование
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Program Execution

Visual FoxPro 9.0 Справочное руководство по языку
Исполнение программы
Смотрите также
CollapseAll image

These commands and functions make it possible for you to control how Microsoft Visual FoxPro programs are executed, suspended, and terminated.

Используйте ... | ... для
Команда BUILD APP | создания файла стандартного приложения (.app) из проекта Visual FoxPro.
Команда BUILD DLL | создания single-threaded Windows dynamic-link library (.dll) или сервера автоматизации (Automation server) с помощью определения классов из проекта Visual FoxPro
Команда BUILD EXE | создания исполнимого файла (.exe) из проекта Visual FoxPro.
Команда BUILD PROJECT | создания файла таблицы проекта Visual FoxPro (.pjx) путем открытия, обработки и включения одной или более указанных програм, меню, отчета, этикетки, формы или файлов библиотек в проект.
Команда CANCEL | прекращения исполнения текущего программного файла Visual FoxPro.
Команды CLEAR | высвобождения из памяти указанного элемента или элементов.
Команды CLOSE | закрытия различных типов файлов.
Команда COMPILE | компиляции одного или более исходных файлов и создания объектного создания объектного файла для каждого исходного файла.
Команда CREATE PROJECT | открытия Project Manager (диспетчера проекта) с тем, чтобы вы смогли создать проект.
Директива препроцессора #DEFINE ... #UNDEF | создания и высвобождения констант времени компиляции.
Команда DO | исполнения программы или процедуры Visual FoxPro.
Команда DO FORM | запуска скомпилированной формы или набора форм, созданных в Form designer (конструкторе форм).
Функция EXECSCRIPT( ) | обеспечения возможности запуска множества строк кода из переменных, таблиц или прочих текстов в runtime.
Команда FUNCTION | создания пользовательской функции в программном файле. Имеется две версии синтаксиса.
Директива препроцессора #IF ... #ENDIF | условного включения исходного кода во время компиляции.
Директива препроцессора #INCLUDE | указания препроцессору Visual FoxPro что требуется обработка содержания указанного заголовочного файла так, как если бы он появился в программе Visual FoxPro.
Системная переменная _INCLUDE | указания заголовочного файла, используемого по умолчанию, включаемого в определенные пользователем классы, формы или наборы форм.
Команда LPARAMETERS | присвоения данных посланным из вызывающей программы локальным переменным или массивам.
Функция MESSAGEBOX() | отображения настраиваемого пользователем диалогового окна.
Команда MODIFY PROJECT | открытия Project Manager (диспетчера проекта) с тем, чтобы вы смогли изменить или создать файл проекта.
Команда PARAMETERS | присвоения данных посланным из вызывающей программы частным переменным или массивам.
Функция PARAMETERS() | возврата числа параметров, посланных самой последней из вызванных програм, процедуры или функции, определенной пользователем.
Команда PROCEDURE | создания пользовательской процедуры в программном файле. Имеется две версии синтаксиса.
Команда RELEASE PROCEDURE | закрытия процедурного файла, открытого командой SET PROCEDURE.
Команда RESUME | продолжения исполнения приостановленной программы.
Команда RETURN | возврата управления программой вызывающей программе.
Команда RUN | ! | исполнения внешней операционной команды или программы.
Команда SET ESCAPE | определения - будет ли нажатие клавиши ESC прерывать исполнение программы или команды.
Команда SET LIBRARY | открытия внешнего файла библиотеки API (application programming interface).
Команда SET LOGERRORS | определения - будут ли сообщения об ошибках Visual FoxPro, случившихся во время компиляции направляться в текстовый файл или нет.
Команда SET PROCEDURE | открытия процедурного файла.
Команда SET SYSMENU | разрешения или запрещения испольования полоски системного меню Visual FoxPro во время исполнения программы и обеспечения возможности его переконфигурирования.
Команда SET UDFPARMS | указания - будут ли переменные, посылаться в процедуры и определенные пользователем функции по значению или по ссылке.
Команда SUSPEND | приостановления исполнения программы и возврата в интерактивную среду Visual FoxPro.
Функция SYS(2015) - уникальное имя процедуры | возврата уникального 10-символьного имени процедуры, которое начинается с символа подчеркивания и следующей за ним комбинации букв и цифр.
Команда WAIT | отображения сообщения и приостановки исполнения Visual FoxPro до нажатия пользователем клавиши или до щелчка мыши.

Expand image Смотрите также

Прочие ресурсы

Программирпование
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Structured Programming

Visual FoxPro 9.0 Справочное руководство по языку
Структурированное программирование
Смотрите также
CollapseAll image

В приведенной ниже таблицы перечислены команды и функции, позволяющие вам управлять исполнением программы и разветвлять их.

Используйте | Для
команду DO CASE ... ENDCASE | Выполнения первого набора команд, пока выражение условия оценивается в (.T.).
команду DO WHILE ... ENDDO | Исполнения набора команд внутри условного цикла.
команду EXIT | Выхода из циклов DO WHILE, FOR или SCAN.
команду FOR EACH ... ENDFOR | Исполнения набора команд для каждого элемента массива Visual FoxPro или коллекции.
команду FOR ... ENDFOR | Исполнения набора команд заданное количество раз.
директивы предпроцессора #IF ... #ENDIF | Условного включения исходного кода во время компиляции.
директивы предпроцессора #IFDEF | #IFNDEF ... #ENDIF | Условного включания набора команд во время компиляции, если определены константы препроцессора.
функцию ICASE() | Оценки результатов из списка условий.
команду IF ... ENDIF | Условного исполнения набора команд, основанного на значении логического выражения.
функцию IIF() | Возврата одного из двух значений, в зависимости от значения логического выражения.
команду LOOP | Возврата управления программой непосредственно к началу структурного цикла.
команду SCAN ... ENDSCAN | Перемещения указателя записи по текущей открытой таблице и исполнения блока команд для каждой записи, которая отвечает определенным условиям.

Expand image Смотрите также

Прочие ресурсы

Программирование
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Variable Manipulation

Visual FoxPro 9.0 Описание Языка
Действия с Переменными
См. также
CollapseAll image

Описанные далее Команды и Функции обеспечивают работу с Переменными или Обычным Текстом.

Используется | Для Выполнения
& , команда | Выполняет Макро-Подстановку.
= , команда | Вычисляет Одно или Несколько выражений.
ACOPY( ) , функция | Копирует элементы из одного Массива в другой Массив.
ADEL( ) , функция | Удаляет элементы из Одно-мерного массива, или удаляет строку/столбец из Дву-мерного массива.
ADIR( ) , функция | Размещает информацию о файлах в Массив, возвращает количесто обработанных файлов.
AELEMENT( ) , функция | Возвращает номер элемента массива из некоторого подмножества элементов.
AFIELDS( ) , функция | Извлекает и загружает информацию о Структуре таблицы в определенной рабочей области или заданную Алиасом, или из текущей рабочей области в дву-мерный Массив, возвращает количество Полей в Таблице.
AINS( ) , функция | Вставляет один элемент в одно-мерный массив, или строку/столбец - в дву-мерный массив.
ASCAN( ) Function | Выполняет поиск элемента в массиве, содержащего указанные Данные соответствующего Типа.
ASORT( ) , функция | Сортирует элементы в массиве по-возрастанию или по-убыванию.
ASUBSCRIPT( ) , функция | Возвращает Строку или Столбец из двумерного массива как некоторое подмножество Элементов.
AVERAGE , команда | Определяет Среднее Арифметическое для числовых значений или Полей Таблицы.
CLEAR , команды | Очищает заданный элемент или группу элементов (переменных) из Памяти.
CLEAR , команды | Очищает заданный элемент или группу элементов (переменных) из Памяти.
COUNT , команда | Определяет Количество Записей.
DISPLAY MEMORY , команда | Отображает текущее состояние Переменных и Массивов в памяти.
GETEXPR , команда | Активирует Диалоговый бокс Построителя Выражений (Expression Builder) , с помощью которого вы можете определить некоторое выражение, которое загружается в переменную памяти или в элемент массива.
_GETEXPR, системная переменная | Содержит имя выполняемого программного модуля, из которого вызвана Команда GETEXPR или где активирован указанный Диалоговый Бокс Expression Builder Visual FoxPro.
LEN( ) , функция | Вычисляет количество символов в символьном выражении, определяет длину символьного выражения.
LIST , командаs | Отображает содержание Записей Таьлицы или Другую системную информацию без выполнения разбивки на отдельные листы (экраны), без паузы выводит информацию на главную консоль Visual FoxPro или активное в настоящий момент пользовательское Окно.
LOCAL , команда | Создает Локальные переменные или Массивы переменных памяти.
PARAMETERS , команда | Обеспечивает прием передаваемых данных из вызывающей программы в соответствующие переменные или массивы переменных типа Private.
PRIVATE , команда | Скрывает определенные выше, в вызываемой программе, приватные переменные или массивы, создает указанные переменные и массивы в текущем модуле.
PUBLIC , команда | Определяет (создает) Глобальные переменные или массивы.
RELEASE , команда | Удаляет переменные или массивы из Памяти.
RESTORE FROM , команда | Восстанавливает переменные или массивы переменных из соответствующего файла переменных или из поля типа Memo в памяти, сохраненные ранее соответствующей командой.
SAVE TO , команда | Сохраняет текущее состояние переменных или массивов переменных в соответствующем Файле или в поле типа Memo.
STORE , команда | Загружает некоторые данные в переменные, в массив, или в элемент массива.
SUM , команда | Выполняет суммирование числовых полей всех или группы записей Таблицы.
TEXTMERGE( ) , функция | Обеспечивает вычисление некоторого символьного выражения.
WAIT , команда | Отображает произвольное Сообщение, выполняет временную остановку выполнения программы Visual FoxPro, обеспечивает диалог с пользователем по продолжению выполнения модуля.

Expand image См. также

Другие ссылки

Процессы Программирования
Категории Языка Программирования

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Системные Переменные

Visual FoxPro 9.0 Справочник Языка
Системные Переменные
См. Также

Следующие системные переменные доступны в Visual FoxPro.

A

Используйте | Для
_ASCIICOLS | Определяет количество столбцов в текстовом файле ASCII, созданном с ключевым словом ASCII в команде REPORT FORM .
_ASCIIROWS | Определяет количество строк в текстовом файле ASCII, созданном с ключевым словом ASCII в команде REPORT FORM .

B

Используйте | Для
_BEAUTIFY | Определяет приложение изящного форматирования для программ Visual FoxPro.
_BROWSER | Определяет имя приложения средства просмотра классов.
_BUILDER | Определяет имя построителя Visual FoxPro приложение.

C

Используйте | Для
_CALCMEM | Определите числовое значение, которое Microsoft Visual FoxPro хранит в памяти Калькулятора.
_CALCVALUE | Определяет числовое значение, которое Калькулятор отображает первоначально.
_CLIPTEXT | Определяет содержание Буфера обмена.
_CODESENSE | Определяет имя приложения, которое обеспечивает функциональные возможности для IntelliSense Менеджера.
_CONVERTER | Определите имя приложения конвертера Microsoft Visual FoxProа.
_COVERAGE | Определите имя приложения Visual FoxPro, которое выводит зону отладки и протоколирование Отладчика.

D

Используйте | Для
_DBLCLICK | Определяет интервал времени между двойными и тройными щелчками мыши.
_DIARYDATE | Определяет текущую дату в Calendar/Diary.
_DOS | Включено для обратной совместимости.

E

F

Используйте | Для
_FOXCODE | Определяет имя файла таблицы, используемого для Visual FoxPro IntelliSense.
_FOXREF | Определяет имя приложения, которое обеспечивает инструмент Кодовых Ссылок.
_FOXTASK | Определяет имя таблицы FOXTASK, которая поддерживает Менеджера Задач Visual FoxPro.

Г

Используйте | Для
_GALLERY | Определяет программу, которая выполняется, когда Вы выбираете Component Gallery из меню Tools.
_GENHTML | Определяет программу генератор HTML (Язык разметки гипертекста).
_GENMENU | Определяет программу генерирования меню.
_GETEXPR | Определяет программу, которая выполняется, когда Вы запускаете команду GETEXPR или вызываете диалоговое окно Expression Builder из Visual FoxPro.

H

Я

Используйте | Для
_INCSEEK | Определяет интервал времени, доступный для нажатий клавиши в пределах инкрементного поиска, как в контролах Listbox или ComboBox.
_INCLUDE | Определяет заданный по умолчанию заголовочный файл, включаемый с определяемыми пользователем классами, формами, или наборами формы.

J

K

L

М.

Используйте | Для
_MAC | Включено для обратной совместимости.
_MLINE | Определяет смещение memo-поля для функции MLINE ( ).

N

O

Используйте | Для
_OBJECTBROWSER | Определяет имя приложения объектного браузера.

P

Используйте | Для
_PAGENO | Определяет текущий номер страницы.
_PAGETOTAL | Определяет общее количество страниц в отчете.
_PRETEXT | Определяет символьное выражение для добавление в начало строк при слиянии текста.

Q

R

Используйте | Для
_REPORTBUILDER Системная Переменная | Установливает приложение обработчика Visual FoxPro для событий Report Designer и Label Designer.
_REPORTOUTPUT Системная Переменная | Установливает приложение обработчика Visual FoxPro для предложения OBJECT TYPE <n> команды REPORT FORM , и поддерживает реестр классов ReportListener для разных результатов вывода.
_REPORTPREVIEW Системная Переменная | Установливает приложение обработчика Visual FoxPro обеспечивающего ссылку PreviewContainer на объеты ReportListener .

S

Используйте | Для
_SAMPLES | Определяет путь каталога, в котором установлены примеры Microsoft Visual FoxPro.
_SCCTEXT | Определяет программу перекодировки Visual FoxPro, которая обеспечивает перевод двоичных файлов Visual FoxPro в текстовые эквиваленты и обратно.
_SCREEN | Определяет свойства и методы для главного окна Visual FoxPro. Вы можете использовать _SCREEN, чтобы управлять главным окном Visual FoxPro как объектом. Есть две версии синтаксиса.
_SHELL | Определяет оболочку программы.
_SPELLCHK | Определяет программу спеллчекера для редактора текста Visual FoxPro.
_STARTUP | Определяет имя приложения, которое выполняется, когда Вы запускаете Visual FoxPro.

T

Используйте | Для
_TASKLIST | Определяет имя программы-менеджера списка задач.
_TASKPANE | Определяет путь и имя файла для Менеджера Панели Задач Visual FoxPro.
_TALLY | Определяет количество записей, обработанных последней выполненной табличной командой.
_TEXT | Прямой вывод командами слияния текста \ | \\ и текст TEXT ... ENDTEXT в отрытый на нижнем уровне файл.
_THROTTLE | Определите скорость выполнения программ, когда окно Trace является открытым.
_TOOLBOX | Определите путь и имя файла для Инструментария Visual FoxPro
_TRIGGERLEVEL | Считывает значение, указывающее текущий уровень вложенности триггера.

U

Используйте | Для
_UNIX | Включено для обратной совместимости.

V

Используйте | Для
_VFP | Ссылается на объект Application для текущего экземпляра Visual FoxPro.

W

Используйте | Для
_WINDOWS | Включено для обратной совместимости.
_WIZARD | Определяет имя мастера приложений Visual FoxPro.

X

Y

Z

См. Также

Другие Ресурсы

Программирование
Категории Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Shared Access to Data

Visual FoxPro 9.0 Справочное руководство по языку
Совместный доступ к данным

Команды и функции, перечисленные в ссылках разделов этой статьи, позволяют вам управлять работой в многопользовательской среде.

В этом разделе

Команды и функции совместного доступа к данным

Перечислены команды и функции, которые позволяют множеству пользователей в сети обращаться к данным из таблиц.

Команды, которые относятся к области видимости сессии данных (Data Session)

Перечислены команды, которые воздействуют только на ту сессию данных, в которой они выданы.

Связанные разделы

Категории языка

Содержит список функциональных возможностей и описания.

Использование Visual FoxPro

Обсуждаются программные возможности Visual FoxPro разаботанные для повышения производительности труда разработчика, включая методы Access и Assign, поддержки большего числа форматов графической файлов и языка, упрощающего задачи программирования.

Разаботка приложений Visual FoxPro

Включает в себя концептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также прочеи задачи, необходимые для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Обсуждается способы получения доступа к полной мощности Visual FoxPro с помощью создания приложний. Понимание методик объектно-ориентированного программирования и событийно-управляемой модели может максимально увеличить производительность вашего труда.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Shared Access to Data Commands and Functions

Visual FoxPro 9.0 Справочное руководство по языку
Команды и функции совместного доступа к данным
Смотрите также
CollapseAll image

Перечисленные ниже команды и функции позволяют множеству пользователей в сети совместно использовать данные из таблиц.

Используйте... | для
Функцию CURSORSETPROP( ) | установки свойст таблицы или курсора Visual FoxPro.
Функцию CURVAL( ) | возврата непосредственно с диска значений полей таблицы или удаленного источника данных
Функцию FLOCK( ) | попытки блокировки текущей или указанной таблицы
Функцию LOCK( ) или Функцию RLOCK( ) | попытки блокировки одной или более записей в таблице.
Функцию OLDVAL( ) | возврата оригинальных значений полей для полей, которые были изменены, но еще данные которых еще не были записаны в таблицу.
Команду SET EXCLUSIVE | открытия файлов таблиц в монопольном режиме или для совместного использования в сети
Команду SET LOCK | разрешения или запрещения автоматической блокировки файла в определенных командах.
Команду SET MULTILOCKS | определения, сможете ли вы заблокировато множество записей при использовании функций LOCK( ) или RLOCK( ).
Команду SET REFRESH | для обновления окна просмотра (browse) или окна редактирования мемо поля, или для обновления буферов памяти изменениями, полученными в результате действий других пользователей в сети.
Команду SET REPROCESS | указания, как часто и как долго Visual FoxPro будет пытаться заблокировать файл или запись после неудачной попытки блокировки
SYS(3051) - установку интервала повторного блокирования | указания времени, измеряемого в милисекундах, которое будет выжидать Visual FoxPro до попытки повторной блокировки записи, таблицы, файла полей мемо или индексного файла после неудачной попытки блокировки.
SYS(3052) - перепись блоировки SET REPROCESS | указания - будет ли Visual FoxPro использовать установку SET REPROCESS при попытке блокировки индексных файлов или файлов мемо полей.
Функцию TABLEREVERT( ) | для сброса изменений, произведенных в буферированной строке или буферированной таблице и восстановления оригинальных значений (OLDVAL()) данных для удаленных курсоров и текущих значений с диска для локальных таблиц и курсоров.
Функцию TABLEUPDATE() | для записи изменений, произведенных в буферированной строке, буферированной таблице, курсоре или курсоре-адаптере.
Команду UNLOCK | Высвобождения блокировки записи, множества записей или файла таблицы или всех открытых таблиц.

Expand image Смотрите также

Прочие ресурсы

Совместный доступ к данным
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Commands that Scope to a Data Session

Visual FoxPro 9.0 Справочное руководство по языку
Команды, которые относятся к области видимости сессии данных.
Смотрите также
CollapseAll image

Перечисленные ниже команды действуют только в той сессии данных, в которых они выпущены.

Используйте команду | для
BEGIN TRANSACTION | Начала транзакции.
END TRANSACTION | Завершения текущей транзакции и сохранения любых изменений, сделанных в таблицах, мемо-полях таблиц или индексных файлов, включенных в транзакцию.
ROLLBACK | Отмены любых изменений сделанные во время текущей транзакции.
SET ANSI | Определения - дополнить ли короткие строки или бинарные выражения во время сравнения в SQL командах.
SET AUTOINCERROR | Определения - будут ли попытки переписать или вставить значения в поля с автоувеличением генерировать ошибки.
SET AUTOSAVE | Определения - будет ли Visual FoxPro сбрасывать буфферы данных на диск, когда вы выходите из READ или возвращаетесь в командное окно.
SET BLOCKSIZE | Определения, как Visual FoxPro распределяет дисковое пространство для хранения мемо-полей.
SET CARRY | Определения - будет ли Visual FoxPro переносить данные из текущей записи в новую запись, при ее создании с помощью команд INSERT, APPEND и BROWSE.
SET CENTURY | Отображения вековой части выражения даты и определения, как интерпретировать дату, которая содержит только две цифры года.
SET COLLATE | Определения последовательности сопоставления для символьных полей в последовательном индексировании и операциях сортировки.
SET CONFIRM | Определения - сможет ли пользователь выходить из textbox путем печати последнего остающегося символа в textbox.
SET CURRENCY | Определения символа валюты и указания его позиции в отображении выражениях чисел, валют, чисел с плавающей запятой и чисел с двойной точностью.
SET DATABASE | Указания текущей базы данных.
SET DATE | Указания формата отображения выражений Date и DateTime.
SET DECIMALS | Указания числа десятичных мест, отображемых в численных выражениях.
SET DELETED | Указания - обрабатывать ли записи, помеченные для удаления и будут ли такие записи доступны прочим командам.
SET EXACT | Указания правила сравнения двух строк разной длины.
SET EXCLUSIVE | Указания - будут ли файлы таблиц открываться эксклюзивно (в монопольном режиме) или они будут открыты для совместного использования в сети.
SET FIELDS | Указания списка полей, которые могут быть доступны в таблице.
SET FIXED | Указания - если число мест после десятичной запятой фиксировано.
SET HOURS | Установки системных часов в 12- или 24-часовой формат.
SET LOCK | Разрешения или запрещения автоматической блокировки файла определенными командами.
SET MARK TO | Указания разделителя для отображения временных (часовых) выражений.
SET MEMOWIDTH | Указания ширины отображения мемо-полей и симаольных выражений.
SET MULTILOCKS | Определения - сможете ли вы блокировать множество записей с помощью функций LOCK( ) или RLOCK( ).
SET NEAR | Определения размещения указателя записи в таблице, после неудачного поиска с FIND или SEEK операциями.
SET NULL | Определения как будут поддерживаться null-значения командами ALTER TABLE, CREATE TABLE и INSERT - SQL.
SET POINT | Определения символа десятичного разделителя, используемого при отображении ваыражений чисел или дат.
SET REFRESH | Указания интервала обновления для окон browse, редактирования мемо-полей или буфферов локальной памяти измененными другими пользователями в сети.
SET REPROCESS | Указания - как часто и как долго Visual FoxPro будет вытаться блокировать файл или запись после неудачной попытки блокировки.
SET SAFETY | Отображения предупреждающего диалогового блока перед перезаписью существующего файла или определения будут ли оцениваться правила таблицы или поля, значения по умолчанию и сообщения об ошибках, когда изменения производятся в диизайнере таблиц или с помощью команды ALTER TABLE.
SET SECONDS | Указания - будут ли отображаться секунды во временной порции значения DateTime.
SET SYSFORMATS | Указания - будет ли Visual FoxPro переписывать системные установки Windows или использовать их текущие значения.
SET TALK | Определения - будет ли Visual FoxPro отображать результаты исполнения команд.
SET UNIQUE | Указания - будут ли записи с дублированными значениями индексных ключей сохраняться в индексном файле.

Expand image Смотрите также

Справочное руководство

Окно Command (Visual FoxPro)
Дизайнер таблиц (Visual FoxPro)

Прочие ресурсы

Совместный доступ к данным
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro Environment

Visual FoxPro 9.0 Справочное руководство по языку
Окружение Visual FoxPro

Команды и функции, перечисленные в этом разделе, позволяют вам обращаться к окружению Microsoft Visual FoxPro.

В этом разделе

Окружение (Visual FoxPro)

Содержит команды и функции, которые позволяют вам управлять щироким диапазоном системных параметров и параметров окружения Visual FoxPro.

Управление файлами

Содержит команды и функции для управления и обслуживания дисковыми файлами.

Связанные разделы

Категории язывка

Предоставляет списко функциональностей и описаний языка.

Использование Visual FoxPro

Обсуждается, как программные возможности, разработанные для увеличения продуктивности разработчика, включая методы Access и Assign, поддержку более широкого диапазона графических форматов и языка, упрощают задачи программирования.

Разработка приложений Visual FoxPro

Включает концептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя и прочих задачах, необходимых для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Обсуждается как вы можете получить доступ к полной мощи Visual FoxPro при создании приложений. Понимание методик объектно-ориентированного программирования и событийно-управляемой модели могут максимально увеличить вашу производительность в программировании.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выпонлен JS.


Environment (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Окружение - Environment (Visual FoxPro)
Смотрите также
CollapseAll image

Перечисленные ниже команды и функции предоставляют вам возможность управлять широким диапазоном параметров системы Microsoft Visual FoxPro или ее окружения.

Используйте | Для
ADIR( ) Function | сбора информации о файлах в массив и затем возврата числа файлов, информация о которых будет содержаться в массиве.
ADLLS( ) Function | возврата массива, содержащего имена функций, загруженных с помощью DECLARE DLLs.
ALANGUAGE( ) Function | возврата массива, содержащего имена всех действительных команд, функций и базовых классов Visual FoxPro.
APROCINFO( ) Function | возврата массива, содержащего элементы языка Visual FoxPro, содержащиеся в программном файле.
ASESSIONS( ) Function | создания массива идентификаторов существующих сессий данных (массив data session IDs).
ASTACKINFO( ) Function | создания массива и его заполнения информацией о текущем состоянии стэка вызовов.
_BROWSER System Variable | указания имени приложения браузера классов.
_BUILDER System Variable | указания имени построителя приложений Visual FoxPro.
CAPSLOCK( ) Function | возврата текущего режима клавиши CAPS LOCK или для переключения режимов клавиши CAPS LOCK.
CREATE COLOR SET Command | создания набора цветов из текущих цветовых установок.
CREATE VIEW Command | создания файла представления из окружения Visual FoxPro.
CurrentX, CurrentY Properties | указания горизонтальной (X) и вертикальной (Y) координат для следующего метода рисования. Не доступно в design time; редактируемое в run time.
DECLARE - DLL Command | регистрации функции во внешней библиотеке совместного использования.
DIR or DIRECTORY Command | отображения информации о файлах в каталоге.
DISKSPACE( ) Function | возвращения числа байт, доступных на диске, используемом по умолчанию или на указанном диске или логическом диске.
DISPLAY DLLS Command | отображения информации о функциях библиотеки совместного использования, зарегистрированных в Visual FoxPro с помощью DECLARE – DLL.
DISPLAY STATUS Command | отображения статуса окружения Visual FoxPro.
FKLABEL( ) Function | возврата имени функциональной клавиши (F1, F2, F3 ...) из ключей, соответствующих номеру функциональной клавиши.
FKMAX( ) Function | возврата числа программируемых функциональных ключей или комбинации функциональных клавиш на вашей клавиатуре.
FONTMETRIC( ) Function | возврата аттрибута шрифтадля шрифтов текущей инсталлированной операционной системы.
_GALLERY System Variable | указания команды, которая будет исполняться при выборе опции Component Gallery из меню Tools.
_GENHTML System Variable | указания программы, генерирующей HTML (Hypertext Markup Language).
GETCOLOR( ) Function | отображения диалогового блока Windows Color и возвращения номера выбранного цвета.
GETCP( ) Function | запроса у пользователя кодовой страницы с помощью отображения диалогового блока Code Page с последующим возвратом номера выбранной кодовой страницы.
GETENV( ) Function | возврата содержания указанной переменной окружения MS-DOS.
_GETEXPR System Variable | указания программы, которая будет исполняться при выдаче команды GETEXPR или вызова диалогового блока Expression Builder из Visual FoxPro.
GETFILE( ) Function | отображения диалогового блока Open и возврата имени выбранного вами файла.
GETFONT( ) Function | отображения диалогового блока Font и возврата информации о выбранном вами шрифте.
GETPEM( ) Function | возврата текущего значения свойства или программного кода для события или метода в design time.
HOME( ) Function | возврата имен каталогов Visual FoxPro и Visual Studio.
HELP Command | открытия окна Help.
IMESTATUS( ) Function | включения или выключения окна IME (Input Method Editor) и возврата текущего статуса IME.
_INCLUDE System Variable | указания файла заголовков, используемого по умолчания для использования его с определенными пользователем классов, форм или наборов форм.
INKEY( ) Function | возврата номера, соответствующего клавише мыши или нажатой клавиши помещенных в буффер ввода клавиатуры.
INSMODE( ) Function | возврата текущего режима вставки или для переключения режима вставки/переписи при вводе текста.
ISCOLOR( ) Function | определения - может ли компьютер отображать цвета.
ISMOUSE( ) Function | возврата (.T.) если в системе имеется мышь (имеется в виду комьютерная, а не серая с хвостом, для которой "страшнее кошки зверя нет").
LIST DLLS Command | отображения информации о списке функций библиотеки совместного использоваия, зарегистрированных в Visual FoxPro с помощью DECLARE - DLL.
LIST Commands | отображения таблицы или информации об окружении без пауз в основном окне Visual FoxPro или в пользовательском окне. Имеется несколько версий синтаксиса.
LOCFILE( ) Function | поиска файла на диске и возврата его имени и пути к нему.
MEMORY( ) Function | возврата количества памяти, доступной для исполнения внешних программ.
MESSAGE( ) Function | возврата либо текущего сообщения об ошибке в виде символьной строки или содержания строки программы, которая вызвала ошибку.
NUMLOCK( ) Function | возврата текущего режима клавиши NUM LOCK или для переключения между режимами on или off.
_ObjectBrowser System Variable | возврата имени приложения, отображающей браузер классов.
OBJTOCLIENT( ) Function | возврата позиции или размеров управляющего элемента или объекта, относительно формы, в которой он размещается.
OS( ) Function | возврата имени и версии операционной системы, под которой запущен Visual FoxPro.
PCOL( ) Function | возврата текущей позиции печатной головки принтера.
PEMSTATUS( ) Function | получения аттрибута для свойства, события, метода или объекта.
PROW( ) Function | возврата номер текущей строки печатной головки принтера.
PUTFILE( ) Function | вызова диалогового блока Save As и возврата имени, указанного в нем вами.
QUIT Command | завершения текущей сессии Visual FoxPro и возврата управления операционной системе.
RGB( ) Function | возврата единичного значения цвета из набора компонентов цвета red, green и blue.
SCHEME( ) Function | возврата листа цветовых пар или единичной цветовой пары для указанной цветовой схемы.
_SCREEN System Variable | указания свойств и методов главного окна Visual FoxPro.
SET( ) Function | возврата статуса различных команд SET.
SET Commands | открытия окна Data Session. Окно Data Session предоставляет легкий путь для открытия таблиц, установки отношений или изменения многих опций Visual FoxPro.
SYS(3) - Legal File Name | возврата легального имени файла, которое может быть использовано для создания временного файла.
SYS(5) - Default Drive | возврата текущего диска, используемого по умолчанию Visual FoxPro.
SYS(6) - Current Printer Device | Возврата текущего печатающего устройства, используемого по умолчанию Visual FoxPro.
SYS(7) - Current Format File | возврата имени текущего форматного файла.
SYS(9) - Visual FoxPro Serial Number | Возврата серийного номера вашего Visual FoxPro.
SYS(12) - Available Memory in Bytes | возврата количества памяти, доступной в области ниже 640K, которая может быть использована для исполнения внешней программы.
SYS(16) - Executing Program File Name | возврата имени файла текущей исполняемой программыф. Вы можете использовать SYS(16) для выхода из состояния ошибки.
SYS(17) - Processor in Use | возврата используемого процессора (CPU).
SYS(1001) - Visual FoxPro Memory | возврата общего количества памяти, доступного мэнеджеру памяти Visual FoxPro.
SYS(1016) - User Object Memory Use | возврата количества памяти, используемой объектами, которые вы определили.
SYS(1023) - Enable Help Diagnostic Mode | разрешения диагностического режима Help, делая возможным отслеживать HelpContextID, посланный в Visual FoxPro Help system.
SYS(1024) - Disable Help Diagnostic Mode | запрещения описанного выше и разрешенного функцией SYS(1023) диагностический режим.
SYS(1269) - Property Information | возврата значения, которое показывает - изменялось ли значения свойства по сравнению с его значением, используемым по умолчанию. Возвращает значение, которе указывает, что свойство имеет признак "только для чтения".
SYS(1270) - Object Location | возврата ссылка на объект, размещающийся в указанной точке.
SYS(1271) - Object's .SCX File | возврата имени файла .SCX, в котором хранится описание созданного объекта.
SYS(1272) - Object Hierarchy | возврата иерархии объектов для указанного объекта. Не доступно в design time.
SYS(2001) - SET ... Command Status | возврата статуса указанной команды SET.
SYS(2003) - Current Directory | возврата имени текущего каталога на используемом по умолчанию диске.
SYS(2004) - Visual FoxPro Start Directory | возврата имени каталога, из которого был запущен Visual FoxPro.
SYS(2005) - Current Resource File | возврата имени текущего файла ресурса Visual FoxPro.
SYS(2006) - Current Graphics Card | возврата типа используемых в системе графической карты и монитора.
SYS(2010) - CONFIG.SYS File Settings | возврата установки количества файлов в CONFIG.SYS.
SYS(2013) - System Menu Name String | возврата строки, разделенной пробелами, содержащей внутренние имена системы меню Visual FoxPro.
SYS(2019) - Configuration File Name and Location | возврата имени и местонахождения конфигурационного файла Visual FoxPro.
SYS(2020) - Default Disk Free Space | возврата свободного пространства на диске, используемом по умолчанию.
SYS(2022) - Disk Cluster Size | возврата размера кластера в байтах на указанном диске.
SYS(2023) - Temporary Path | возврата пути, в котором Visual FoxPro хранит свои временные файлы.
SYS(2334) - Automation Server Invocation Mode | возврата значения, указывающего как был вызван метод сервера автоматизации Visual FoxPro.
SYS(2800) - Accessibility Support | разрешения или запрещения поддержки Microsoft Active Accessibility и установки определенных опуий для отслеживания фокуса клавиатуры на текущем выбранном управляющем элементе в форме Visual FoxPro.
SYS(3004) - Return Locale ID | возврата Locale ID, используемого автоматизацией и элементами ActiveX.
SYS(3005) - Set Locale ID | установки Locale ID, используемого автоматизацией и элементами ActiveX.
SYS(3006) - Set Language and Locale IDs | установки Language ID и Locale ID.
SYS(3050) - Set Buffer Memory Size | установки размера буффера памяти для foreground или background процессов.
SYS(3053) - ODBC Environment Handle | возврата хэндла окружения ODBC.
SYS(3056) - Read Registry Settings | чтения установок Visual FoxPro в регистре и обновления текущими установками в регистре.
SYS(3095) - IDispatch Pointer | возврата указателя outgoing IDispatch для объекта COM.
SYSMETRIC( ) Function | возврата резмеров элементов экрана операционной системы.
_TASKLIST System Variable | получения имени списка задач мэнеджера программ.
TXTWIDTH( ) Function | возврата длины символьного выражения с учетом средней ширины символа в шрифте.
VERSION( ) Function | возврата информации об используемой версии Visual FoxPro.
WFONT( ) Function | возврата имени, размера и стиля текущего шрифта для окон Visual FoxPro for Windows.
_WIZARD System Variable | получения имени приложения-мастера Visual FoxPro.

Expand image Смотрите также

Прочие ресурсы

Окружение Visual FoxPro
Настройка окружения Visual FoxPro
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


File Management

Visual FoxPro 9.0 Справочное руководство по языку
Управление файлами
Смотрите также
CollapseAll image

Следующие команды и функции позволяют управлять и манипулировать файлами на дисках.

Команда / функция | Выполняемые действия
ADDBS( ), функция | Добавляет обратную косую (символ '\') к выражению, содержащему путь.
ADIR( ), функция | Заносит в массив информацию о файлах и возвращает количество файлов.
CD | CHDIR, команда | Заменяет каталог Visual FoxPro, используемый по умолчанию, заданным каталогом.
CLOSE, командаs | Закрывают файлы различных типов.
COPY FILE, команда | Создает копию файла любого типа.
CREATE VIEW, команда | Создает файл среды Visual FoxPro.
CURDIR( ), функция | Возвращает текущий каталог.
DEFAULTEXT( ), функция | Возвращает имя файла с новым расширением, которое на этот момент отсутствует.
DELETE FILE, команда | Удаляет файл с диска.
DIR или DIRECTORY, команда | Отображает информацию о файлах некоторого каталога.
DISPLAY FILES, команда | Отображает информацию о файлах.
DISKSPACE( ), функция | Возвращает информацию об объеме свободного пространства в байтах на диске, используемом по умолчанию.
DO, команда | Выполняет программу или процедуру Visual FoxPro.
DRIVETYPE( ), функция | Возвращает тип указанного диска.
EDITSOURCE( ), функция | Открывает редактор Visual FoxPro и позиционирует курсор.
ERASE, команда | Стирает файл с диска.
FDATE( ), функция | Возвращает дату или дату со временем последней модификации файла.
FTIME( ), функция | Возвращает время последней модификации файла.
FILE( ), функция | Определяет наличие фала на диске.
FILETOSTR( ), функция | Возвращает содержимое файла как символьную строку.
FLUSH, команда | Сохраняет изменения в таблицах и индексах на диск.
FORCEEXT( ), функция | Возвращает строку, в которой старое расширение имени файла заменено новым.
FORCEPATH( ), функция | Возвращает полное имя файла, в котором старый путь заменен новым путем.
FULLPATH( ), функция | Возвращает путь к заданному файлу или путь относительно другого файла.
GETFILE( ), функция | Отображает диалоговое окно Open и возвращает имя выбранного файла.
GETPICT( ), функция | Открывает диалоговое окно Open Picture и возвращает имя выбранного файла рисунка.
ISNULL( ), функция | Возвращает значение "истина" (.T.), если результатом вычисления выражения является значение NULL; в противном случае возвращает "ложь" (.F.).
JUSTDRIVE( ), функция | Возвращает букву диска из полного пути.
JUSTEXT( ), функция | Из полного пути и имени файла возвращает символьную строку, содержащую расширение файла.
JUSTFNAME( ), функция | Из полного пути и имени файла возвращает символьную строку, содержащую имя файла.
JUSTPATH( ), функция | Из полного пути и имени файла возвращает символьную строку, содержащую путь.
JUSTSTEM( ), функция | Из полного пути и имени файла возвращает символьную строку, содержащую имя файла без расширения.
LIST, команды | Непрерывным потоком отображает информацию о таблице или среде в главное окно Visual FoxPro или определенное пользователем окно.
LOCFILE( ), функция | Осуществляет поиск файла на диске и возвращает имя файла вместе с путем к нему.
MD | MKDIR, команда | Создает новый каталог или подкаталог на диске.
MODIFY COMMAND, команда | Открывает окно редактирования, в котором Вы можете изменить или создать программный файл.
MODIFY FILE, команда | Открывает окно редактирования, в котором Вы можете изменить или создать текстовый файл.
NVL( ), функция | Из двух заданных выражений возвращает ненулевое (non-null).
OPEN DATABASE, команда | Открывает базу данных.
PUTFILE( ), функция | Открывает диалоговое окно Save As и возвращает заданное в нем имя файла.
RD | RMDIR, команда | Удаляет каталог или папку с диска.
RENAME, команда | Изменяет имя файла на новое имя.
SET ALTERNATE, команда | Управляет выводом результатов на экран, принтер, или в текстовый файл таких команд, как ?, ??, DISPLAY, или LIST.
SET DEFAULT, команда | Определяет заданный по умолчанию диск и каталог.
SET FULLPATH, команда | Определяет, возвращают ли указанные функции CDX( ), DBF( ), MDX( ), и NDX( ) полное имя файла (с указанием полного пути).
SET PATH, команда | Задает путь для поиска файлов.
SET SAFETY, команда | Определяет, будет ли Visual FoxPro отображать диалоговое окно перед тем, как вести запись поверх существующего файла, а также будут ли вычисляться правила таблиц или полей, значения по умолчанию и сообщения об ошибках при внесении изменений в конструкторе таблиц или командой ALTER TABLE.
SET VIEW, команда | Открывает или закрывает окно Data Session или восстанавливает параметры среды Visual FoxPro из файла представления.
STRTOFILE( ), функция | Записывает содержимое символьной строки в файл.
SYS(3) - допустимое имя файла. | Возвращает допустимое имя файла, которое можно использовать при создании временных файлов.
SYS(2000) - имя файла, соответствующее шаблону. | Возвращается имя первого в алфавитном порядке файла, которое соответствует заданному шаблону.
SYS(2014) - кратчайший путь | Возвращает кратчайший путь для заданного файла относительно текущего или указанного каталога.
TYPE, команда | Отображает содержимое файла.

Expand image Смотрите также

Прочие ресурсы

Среда Visual FoxPro
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Commands (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Команды (Visual FoxPro)
См. Также

Поддерживаемые Кманды и Функции Visual FoxPro в Провайдере OLE DB

НеПоддерживаемые Команды и Функции Visual FoxPro в Провайдере OLE DB

Дополнительную информацию о поддержке Языковых конструкций VFP младших версий см. в разделе Обратная совместимость Элементов Языка.

& , Команда

&& , Команда

* , Команда

= , Команда

? | ?? , Команда

??? , Команда

@ ... BOX , Команда

@ ... CLASS , Команда

@ ... CLEAR , Команда

@ ... EDIT - Edit Boxes , Команда

@ ... FILL , Команда

@ ... GET - Check Boxes , Команда

@ ... GET - Combo Boxes , Команда

@ ... GET - , Команда Buttons , Команда

@ ... GET - List Boxes , Команда

@ ... GET - Option Buttons , Команда

@ ... GET - Spinners , Команда

@ ... GET - Text Boxes , Команда

@ ... GET - Transparent Buttons , Команда

@ ... MENU , Команда

@ ... PROMPT , Команда

@ ... SAY - Pictures & OLE Objects , Команда

@ ... SAY , Команда

@ ... SCROLL , Команда

@ ... TO , Команда

\ | \\ , Команда

ACTIVATE MENU , Команда

ACTIVATE POPUP , Команда

ACTIVATE SCREEN , Команда

ACTIVATE WINDOW , Команда

ADD CLASS , Команда

ADD TABLE , Команда

ALTER TABLE - SQL , Команда

APPEND , Команда

APPEND FROM ARRAY , Команда

APPEND FROM , Команда

APPEND GENERAL , Команда

APPEND MEMO , Команда

APPEND PROCEDURES , Команда

ASSERT , Команда

ASSIST , Команда

AVERAGE , Команда

BEGIN TRANSACTION , Команда

BLANK , Команда

BROWSE , Команда

BUILD APP , Команда

BUILD DLL , Команда

BUILD EXE , Команда

BUILD MTDLL , Команда

BUILD PROJECT , Команда

CALCULATE , Команда

CALL , Команда

CANCEL , Команда

CD | CHDIR , Команда

CHANGE , Команда

CLEAR , Командаs

CLOSE , Командаs

CLOSE MEMO , Команда

COMPILE , Команда

CONTINUE , Команда

COPY FILE , Команда

COPY INDEXES , Команда

COPY MEMO , Команда

COPY PROCEDURES , Команда

COPY STRUCTURE , Команда

COPY STRUCTURE EXTENDED , Команда

COPY TAG , Команда

COPY TO ARRAY , Команда

COPY TO , Команда

COUNT , Команда

CREATE CLASS , Команда

CREATE CLASSLIB , Команда

CREATE COLOR SET , Команда

CREATE , Команда

CREATE CONNECTION , Команда

CREATE CURSOR - SQL , Команда

CREATE DATABASE , Команда

CREATE FORM , Команда

CREATE FROM , Команда

CREATE LABEL , Команда

CREATE MENU , Команда

CREATE PROJECT , Команда

CREATE QUERY , Команда

CREATE REPORT - Quick Report , Команда

CREATE REPORT , Команда

CREATE SCREEN - Quick Screen , Команда

CREATE SCREEN , Команда

CREATE SQL VIEW , Команда

CREATE TABLE - SQL , Команда

CREATE TRIGGER , Команда

CREATE VIEW , Команда

DEACTIVATE MENU , Команда

DEACTIVATE POPUP , Команда

DEACTIVATE WINDOW , Команда

DEBUG , Команда

DEBUGOUT , Команда

DECLARE - DLL , Команда

DECLARE , Команда

DEFINE BAR , Команда

DEFINE BOX , Команда

DEFINE CLASS , Команда

DEFINE MENU , Команда

DEFINE PAD , Команда

DEFINE POPUP , Команда

DEFINE WINDOW , Команда

DELETE - SQL , Команда

DELETE , Команда

DELETE CONNECTION , Команда

DELETE DATABASE , Команда

DELETE FILE , Команда

DELETE TAG , Команда

DELETE TRIGGER , Команда

DELETE VIEW , Команда

DIMENSION , Команда

DIR or DIRECTORY , Команда

DISPLAY , Команда

DISPLAY CONNECTIONS , Команда

DISPLAY DATABASE , Команда

DISPLAY DLLS , Команда

DISPLAY FILES , Команда

DISPLAY MEMORY , Команда

DISPLAY OBJECTS , Команда

DISPLAY PROCEDURES , Команда

DISPLAY STATUS , Команда

DISPLAY STRUCTURE , Команда

DISPLAY TABLES , Команда

DISPLAY VIEWS , Команда

DO CASE ... ENDCASE , Команда

DO , Команда

DO FORM , Команда

DO WHILE ... ENDDO , Команда

DOCK , Команда

DOEVENTS , Команда

DROP TABLE , Команда

DROP VIEW , Команда

EDIT , Команда

EJECT , Команда

EJECT PAGE , Команда

END TRANSACTION , Команда

ERASE , Команда

ERROR , Команда

EXIT , Команда

EXPORT , Команда

EXTERNAL , Команда

FIND , Команда (Visual FoxPro)

FLUSH , Команда

FOR EACH ... ENDFOR , Команда

FOR ... ENDFOR , Команда

FREE TABLE , Команда

FUNCTION , Команда

GATHER , Команда

GETEXPR , Команда

GO | GOTO , Команда

HELP , Команда

HIDE MENU , Команда

HIDE POPUP , Команда

HIDE WINDOW , Команда

IF ... ENDIF , Команда

IMPORT , Команда

INDEX , Команда

INPUT , Команда

INSERT - SQL , Команда

INSERT , Команда

JOIN , Команда

KEYBOARD , Команда

LABEL , Команда

LIST , Командаs

LIST CONNECTIONS , Команда

LIST DATABASE , Команда

LIST DLLS , Команда

LIST OBJECTS , Команда

LIST PROCEDURES , Команда

LIST TABLES , Команда

LIST VIEWS , Команда

LOAD , Команда

LOCAL , Команда

LOCATE , Команда

LOOP , Команда

LPARAMETERS , Команда

MD | MKDIR , Команда

MENU , Команда

MENU TO , Команда

MODIFY CLASS , Команда

MODIFY COMMAND , Команда

MODIFY CONNECTION , Команда

MODIFY DATABASE , Команда

MODIFY FILE , Команда

MODIFY FORM , Команда

MODIFY GENERAL , Команда

MODIFY LABEL , Команда

MODIFY MEMO , Команда

MODIFY MENU , Команда

MODIFY PROCEDURE , Команда

MODIFY PROJECT , Команда

MODIFY QUERY , Команда

MODIFY REPORT , Команда

MODIFY SCREEN , Команда

MODIFY STRUCTURE , Команда

MODIFY VIEW , Команда

MODIFY WINDOW , Команда

MOUSE , Команда

MOVE POPUP , Команда

MOVE WINDOW , Команда

NOTE , Команда

ON BAR , Команда

ON ERROR , Команда

ON ESCAPE , Команда

ON EXIT BAR , Команда

ON EXIT MENU , Команда

ON EXIT PAD , Команда

ON EXIT POPUP , Команда

ON KEY = , Команда

ON KEY , Команда

ON KEY LABEL , Команда

ON PAD , Команда

ON PAGE , Команда

ON READERROR , Команда

ON SELECTION BAR , Команда

ON SELECTION MENU , Команда

ON SELECTION PAD , Команда

ON SELECTION POPUP , Команда

ON SHUTDOWN , Команда

OPEN DATABASE , Команда

PACK , Команда

PACK DATABASE , Команда

PARAMETERS , Команда

PLAY MACRO , Команда

POP KEY , Команда

POP MENU , Команда

POP POPUP , Команда

PRINTJOB ... ENDPRINTJOB , Команда

PRIVATE , Команда

PROCEDURE , Команда

PUBLIC , Команда

PUSH KEY , Команда

PUSH MENU , Команда

PUSH POPUP , Команда

QUIT , Команда

RD | RMDIR , Команда

READ , Команда

READ EVENTS , Команда

READ MENU , Команда

RECALL , Команда

REINDEX , Команда

RELEASE BAR , Команда

RELEASE CLASSLIB , Команда

RELEASE , Команда

RELEASE LIBRARY , Команда

RELEASE MENUS , Команда

RELEASE PAD , Команда

RELEASE POPUPS , Команда

RELEASE PROCEDURE , Команда

RELEASE WINDOWS , Команда

REMOVE CLASS , Команда

REMOVE TABLE , Команда

RENAME CLASS , Команда

RENAME , Команда

RENAME CONNECTION , Команда

RENAME TABLE , Команда

RENAME VIEW , Команда

REPLACE , Команда (Visual FoxPro)

REPLACE FROM ARRAY , Команда

REPORT FORM , Команда

RESTORE FROM , Команда

RESTORE MACROS , Команда

RESTORE SCREEN , Команда

RESTORE WINDOW , Команда

RESUME , Команда

RETRY , Команда

RETURN , Команда

ROLLBACK , Команда

RUN | ! , Команда

SAVE MACROS , Команда

SAVE SCREEN , Команда

SAVE TO , Команда

SAVE WINDOWS , Команда

SCAN ... ENDSCAN , Команда

SCATTER , Команда

SCROLL , Команда

SEEK , Команда

SELECT - SQL , Команда

SELECT , Команда

SET ALTERNATE , Команда

SET ANSI , Команда

SET ASSERTS , Команда

SET AUTOINCERROR , Команда

SET AUTOSAVE , Команда

SET BELL , Команда

SET BLOCKSIZE , Команда

SET BORDER , Команда

SET BROWSEIME , Команда

SET BRSTATUS , Команда

SET CARRY , Команда

SET CENTURY , Команда

SET CLASSLIB , Команда

SET CLEAR , Команда

SET CLOCK , Команда

SET COLLATE , Команда

SET COLOR OF , Команда

SET COLOR OF SCHEME , Команда

SET COLOR SET , Команда

SET COLOR TO , Команда

SET , Команда Overview

SET COMPATIBLE , Команда

SET CONFIRM , Команда

SET CONSOLE , Команда

SET COVERAGE , Команда

SET CPCOMPILE , Команда

SET CPDIALOG , Команда

SET CURRENCY , Команда

SET CURSOR , Команда

SET DATABASE , Команда

SET DATASESSION , Команда

SET DATE , Команда

SET DEBUG , Команда

SET DEBUGOUT , Команда

SET DECIMALS , Команда

SET DEFAULT , Команда

SET DELETED , Команда

SET DELIMITERS , Команда

SET DEVELOPMENT , Команда

SET DEVICE , Команда

SET DISPLAY , Команда

SET DOHISTORY , Команда

SET ECHO , Команда

SET ENGINEBEHAVIOR , Команда

SET ESCAPE , Команда

SET EVENTLIST , Команда

SET EVENTTRACKING , Команда

SET EXACT , Команда

SET EXCLUSIVE , Команда

SET FDOW , Команда

SET FIELDS , Команда

SET FILTER , Команда

SET FIXED , Команда

SET FORMAT , Команда

SET FULLPATH , Команда

SET FUNCTION , Команда

SET FWEEK , Команда

SET HEADINGS , Команда

SET HELP , Команда

SET HOURS , Команда

SET INDEX , Команда

SET INTENSITY , Команда

SET KEY , Команда

SET KEYCOMP , Команда

SET LIBRARY , Команда

SET LOCK , Команда

SET LOGERRORS , Команда

SET MACKEY , Команда

SET MARGIN , Команда

SET MARK OF , Команда

SET MARK TO , Команда

SET MEMOWIDTH , Команда

SET MESSAGE , Команда

SET MULTILOCKS , Команда

SET NEAR , Команда

SET NOCPTRANS , Команда

SET NOTIFY , Команда

SET NULL , Команда

SET NULLDISPLAY , Команда

SET ODOMETER , Команда

SET OLEOBJECT , Команда

SET OPTIMIZE , Команда

SET ORDER , Команда

SET PALETTE , Команда

SET PATH , Команда

SET PDSETUP , Команда

SET POINT , Команда

SET PRINTER , Команда

SET PROCEDURE , Команда

SET READBORDER , Команда

SET REFRESH , Команда

SET RELATION , Команда

SET RELATION OFF , Команда

SET REPROCESS , Команда

SET RESOURCE , Команда

SET SAFETY , Команда

SET SECONDS , Команда

SET SEPARATOR , Команда

SET SKIP , Команда

SET SKIP OF , Команда

SET SPACE , Команда

SET STATUS BAR , Команда

SET STATUS , Команда

SET STEP , Команда

SET STRICTDATE , Команда

SET SYSFORMATS , Команда

SET SYSMENU , Команда

SET TABLEVALIDATE , Команда

SET TALK , Команда

SET TEXTMERGE , Команда

SET TEXTMERGE DELIMITERS , Команда

SET TOPIC , Команда

SET TOPIC ID , Команда

SET TRBETWEEN , Команда

SET TYPEAHEAD , Команда

SET UDFPARMS , Команда

SET UNIQUE , Команда

SET VIEW , Команда

SET WINDOW OF MEMO , Команда

SHOW GET , Команда

SHOW GETS , Команда

SHOW MENU , Команда

SHOW OBJECT , Команда

SHOW POPUP , Команда

SHOW WINDOW , Команда

SIZE POPUP , Команда

SIZE WINDOW , Команда

SKIP , Команда

SORT , Команда

STORE , Команда

SUM , Команда

SUSPEND , Команда

SYS(2001) - SET ... , Команда Status

TEXT ... ENDTEXT , Команда

TOTAL , Команда

TRY...CATCH...FINALLY , Команда

TYPE , Команда

UNLOCK , Команда

UPDATE - SQL , Команда

UPDATE , Команда

USE , Команда

VALIDATE DATABASE , Команда

WAIT , Команда

WITH ... ENDWITH , Команда

ZAP , Команда

ZOOM WINDOW , Команда

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


& Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда &
Смотрите также Пример
CollapseAll image

Выполняет макроподстановку.

& VarName[.cExpression]

Параметры

& VarName

Задает имя переменной памяти или элемента массива, указываемого в макроподстановке. Нельзя указывать в имени префикс M., которым переменные памяти отличаются от полей. Такое включение вызовет синтаксическую ошибку. Длина имени не может превышать максимальной допустимой в Visual FoxPro длины оператора.

В подстановке не допускаются рекурсивные ссылки переменной на саму себя. Например, в следующем случае будет сгенерировано сообщение об ошибке:

CopyCode image Copy Code
STORE '&gcX' TO gcX? &gcX

Операторы макроподстановки, фигурирующие в командах DO WHILE, FOR и SCAN, вычисляются только в начале цикла и при последующих итерациях не пересчитываются. Любые изменения в переменной памяти или элементе массива, происшедшие за время работы цикла, не распознаются.

[. cExpression]

Необязательный аргумент .cExpression с разделителем в виде точки (.) используется для присоединения к макрокоманде дополнительных символов. При этом в качестве cExpression можно указать еще одну макрокоманду. If cExpression is a property name, include an extra period (cExpression..PropertyName).

Expand image Примечания

Операция макроподстановки рассматривает содержимое переменной памяти или элемента массива как строковый литерал. Если перед переменной памяти символьного типа или элементом массива стоит знак (&) , в качестве ссылки в макрокоманде подставляется содержимое переменной или элемента массива. Макроподстановку можно использовать в любой команде или функции, допускающей задание строкового литерала.

Note Tip

По мере возможности старайтесь использовать вместо макроподстановки выражение имени. Такое выражение действует как макроподстановка, но оно может передавать в качестве имен только символьные строки. Употребляя выражение имени, вы значительно ускорите процесс обработки команды или функции, допускающей задание имени (имени файла, имени окна, имени меню и т.д.). Подробнее о выражениях имени смотрите Создание именованного выражения .

Следующие команды являются допустимыми:

CopyCode image Copy Code
STORE 'customer' TO gcTableName
STORE 'company'  TO gcTagName
USE &gcTableName ORDER &gcTagName

но лучше воспользоваться выражением имени:

CopyCode image Copy Code
USE (gcTableName) ORDER (gcTagName)

Макроподстановка оказывается полезной, если необходимо заменить ключевое слово в команде. В следующем примере значение установки TALK сохраняется в переменной памяти, чтобы впоследствии программа смогла его восстановить. Исходное значение TALK восстанавливается с помощью макроподстановки.

Note Note

Performing concatenation with a single ampersand (&) when attempting to include double ampersands (&&) in a string literal might produce undesirable results. For example, suppose you assign the string "YYY" to a variable, BBB. Performing concatenation using "AAA&" and "&BBB" replaces "BBB" with "YYY" so instead of getting the result "AAA&&BBB", the result is "AAA&YYY". For more information, see && Command.

Expand image Пример

CopyCode image Copy Code
STORE SET('TALK') TO gcSaveTalk
SET TALK OFF
*
*  Additional program code
*
SET TALK &gcSaveTalk  && Restore original TALK setting

Expand image Смотрите Также

Справочное руководство

Команда STORE
Команда &&

Концепции

Макроподстановка (Visual FoxPro)

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


&& Command

Visual FoxPro 9.0 Language Reference
Команда &&
Смотреть также Пример

Указывает на начало неисполняемого комментария внутри строки файла программы.

&& [Comments]

Параметры

&& [ Comments]

Указывает на то, что далее в строке стоит комментарий.

Комментарии

Вставка внутристрочных комментариев, обозначающих конец команд структурного программирования IF ... ENDIF, DO и FOR ... ENDFOR, значительно повышает читаемость программ.

Предостережение::
Включение двойных амперсандов (&&) в буквальной строке, например, "AAA&&BBB", вызовет ошибку. Вместо этого, чтобы включить двойные амперсанды, используйте конкатенацию как показано: "AAA&" + "&" + "BBB".

Комментарии:
Когда используя конкатенацию, проявите осмотрительность с размещением единственного амперсанда (&), используемый, для выполнения макроподстановки, чтобы не получить нежелательный результат. Например, предположите, что Вы назначаете строку "YYY" на переменную BBB. Выполнение использования конкатенации "AAA&" и "&BBB" заменяет "BBB" на "YYY", вместо ожидаемого результата "AAA&&BBB", получим результат - "AAA&YYY". Для получения дополнительной информации, см. & Команда.

В конце каждой строки комментария, продолжающейся на следующую строку, ставьте точку с запятой (;).

Комментарии:
В более ранних версиях Visual FoxPro, нельзя ставить && и комментарий после точки с запятой, использованной для продолжения команды на следующую строку.

Пример

Следующий пример включает встроенные комментарии "20 лет ежемесячных платежей" обозначенный командой &&:

Копировать код
STORE (20*12) TO gnPayments  && 20 years of monthly payments
Копировать код
NOTE  Initialize the page number;
   variable.
STORE 1 to gnPageNum
* Set up the loop
DO WHILE gnPageNum <= 25  && loop 25 times
   gnPageNum = gnPageNum + 1
ENDDO  && DO WHILE gnPageNum <= 25

See Also

Другие ресурсы

Команда *
Команда MODIFY COMMAND
Команда MODIFY FILE
Команда NOTE
Команда &
Команды

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


* Command

Visual FoxPro 9.0 Language Reference
* Команда
See Also Example

Указывает начало невыполняющейся строки комментария в программном файле.

* [Comments]

Параметры

Comments

Определяет комментарий в строке комментария. Например:
Скопировать код
*   This is a comment

Замечания

Размещайте точку с запятой (;) в конце каждой строки комментария, которая переходит на следующую строку.

Любой текст, который добавляют к методу или обработччику события в окне кода Библиотеки визуальных классов (VCX) или форме (SCX) заставит этот класс пересмотреть поведение для метода или обработки события. Поэтому, код метода или обработчика события родительского класса не будет выполнен по умолчанию (он должен быть явно выполнен). Это относится и к невыполняемым строкам комментариев, которые начинаются с "*".

Example

Copy Code
* Initialize the page number;
   variable.
STORE 1 to gnPageNum
* Set up the loop
DO WHILE gnPageNum <= 25  && loop 25 times
   gnPageNum = gnPageNum + 1
ENDDO  && DO WHILE gnPageNum <= 25

See Also

Concepts

Overriding and Calling Parent Class Code

Other Resources

&& Command
MODIFY COMMAND Command
MODIFY FILE Command
NOTE Command
Commands

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


? | ?? Command

Visual FoxPro 9.0 Language Reference
Команда ? | ??
См.также Пример

Вычисляет выражения и выводит результаты в основное окно Visual FoxPro, в активное окно определенное пользователем или на принтер.

? | ?? Expression1 [PICTURE cFormatCodes] | [FUNCTION cFormatCodes] |
   [VnWidth] [AT nColumn]
   [FONT cFontName [, nFontSize [, nFontCharSet]] [STYLE cFontStyle | Expression2]]
   [, Expression3] ...

Parameters

? Expression1

Вычисляет выражение, заданное аргументом Expression1, и выводит результаты, ставя перед ними возврат каретки и перевод строки. Результаты отображаются в следующей строке основного окна Visual FoxPro или активного окна, определенного пользователем, и печатаются у левого поля страницы, если только код функции шаблона cFormatCodes или системная переменная памяти _ALIGNMENT не задают иной порядок. Если выражения опущены, выводится или печатается пустая строка. Если задано несколько выражений, между их результатами ставится пробел. Если результатом выражения Expression1 является объект, the ? команда возвращает строковое значение, "(Object)".
?? Expression1

Вычисляет выражение, заданное аргументом Expression1, и отображает полученные результаты в текущей строке и в текущей позиции основного окна Visual FoxPro, активного пользовательского окна или принтера. Перед результатами не выдается возврат каретки с переводом строки.
PICTURE cFormatCodes

Задает формат шаблона, в котором должен отображаться результат выражения Expression1. Среди cFormatCodes могут быть как функциональные коды, так и коды шаблонов. Вы можете использовать те же самые коды, доступные вСвойстве Format и Свойстве InputMask. Функциональные коды определяют общий формат результата, а коды шаблонов воздействуют на отдельные символы в результате. Если среди cFormatCodes заданы функциональные коды, они должны идти до кодов шаблонов и сопровождаться префиксом @. Непосредственно после символа @ можно ввести несколько функциональных кодов без внутренних пробелов. После последнего функционального кода должен стоять один или несколько пробелов, сигнализирующих о конце последовательности функциональных кодов и о начале кодов шаблонов.
FUNCTION cFormatCodes

Задает функциональный код, который следует включить в вывод команд ? и ??. Если данное предложение указано, перед функциональными кодами не нужно ставить символ @. Функциональные коды должны сопровождаться префиксом @ только в том случае, когда они включаются в предложение PICTURE.
V nWidth

Задает специальный функциональный код, с помощью которого результаты символьного выражения можно растягивать по вертикали в определенном числе столбцов. Количество столбцов в выводе задает аргумент nWidth.
Копировать код
? 'This is an example of how the V function code works.' ;
   FUNCTION 'V10'
AT nColumn

Задает номер столбца, в котором будет выведен результат. Данная опция позволяет выравнивать вывод по столбцам, чтобы получилась таблица. В качестве числового выражения nColumn может быть указана определенная пользователем функция, которая возвращает числовое значение.
FONT cFontName[, nFontSize [, nFontCharSet]]

Задает шрифт для вывода команд ? или ?? . Аргумент cFontName определяет название шрифта, а nFontSize его размер в пунктах. Вы можете определить сценарий языка nFontCharSet. См. Функция GETFONT () для списка доступных значений сценария языка. Например, приведенная ниже команда задает вывод на экран системной даты шрифтом Courier размером 16 пунктов:
Копировать код
? DATE( ) FONT 'Courier',16
Если указано предложение FONT без аргумента nFontSize, используется шрифт размером в 10 пунктов. Если предложение FONT опущено, а вывод команд ? или ?? направлен в основное окно Visual FoxPro, используется шрифт данного окна. Если предложение FONT опущено, а вывод команд ? или ?? направлен в окно, определенное пользователем, для вывода применяется шрифт этого пользовательского окна.
Note:
Если заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.

STYLE cFontStyle

Задает стиль шрифта для вывода команд ? или ?? . Если предложение STYLE опущено, используется стиль Normal. Если заданный стиль шрифта отсутствует, его заменяет стиль с похожими характеристиками.
Note:
Если вы определяете стиль шрифта с помощью предложения STYLE, обязательно должно быть включено предложение FONT.

В качестве cFontStyle можно указывать следующие стили шрифтов:

cFontStyle Стиль шрифта

B

Bold (Полужирный)

I

Italic (Курсив)

N

Normal (Нормальный)

Q

Opaque (Непрозрачный)

-

Strikeout (Перечеркнутый; только в Visual FoxPro)

T

Transparent (Прозрачный)

U

Underline (Подчеркнутый)
Можно задать комбинацию стилей, указав несколько символов. Например, приведенная ниже команда отображает на экране системную дату шрифтом Courier Bold Italic:
Копировать код
? DATE( ) FONT 'COURIER' STYLE 'BI'

Коментарии

Для выдачи результатов только на принтер, используйте команды:

Копировать код
SET PRINTER ON
SET CONSOLE OFF

Для выдачи результата выражения на принтер и одновременно в основное окно Visual FoxPro или в активное пользовательское окно, используйте команды::

Копировать код
SET PRINTER ON

Установка SET ALTERNATE изменяет направление вывода для команд ? и ?? . Для получения дополнительной информации, см. SET ALTERNATE Command.

Команда ? отображает двоичные данные для Varbinary типов данных в шестнадцатеричном формате без ограничения на размер. Для получения дополнительной информации, см. Varbinary Data Type.

Пример

Следующий пример отображает заданные выражения:
Копировать код
? 15 * (10+10)
? 'Welcome to ' PICTURE '@!'
?? 'Visual FoxPro'

Смотреть также

Reference

??? Command
SET MEMOWIDTH Command

Other Resources

Commands
@ ... SAY Command
_ALIGNMENT System Variable
SET PRINTER Command
SET SPACE Command
Format Property
InputMask Property

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


??? Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ???
Смотрите также
CollapseAll image

Направляет вывод непосредственно на принтер.

??? cExpression

Параметры

cExpression

Задает символы, посылаемые на принтер

Expand image замечание

Команда из трех вопросительных знаков в обход принтерного драйвера направляет содержимое cExpression прямо на принтер. Содержимое cExpression должно быть допустимыми кодами принтера.

Управляющие коды принтера позволяют сбрасывать принтер, изменять стили и размеры начертаний символов, а также включать и отключать печать полужирным шрифтом. Эти коды могут содержать любую комбинацию печатаемых или непечатаемых символов, специфических для используемого принтера. Посылать управляющие коды на принтер можно разными способами:

  • ASCII-символы можно послать непосредственно на принтер с помощью комбинаций функции CHR( ).

  • Строки, содержащие коды принтера или ASCII-символы, можно послать с помощью фигурных скобок { }. Можно использовать комбинацию CHR( ) и фигурных скобок.

  • Коды можно посылать на принтер до начала печати и после ее завершения, используя системные переменные памяти _PSCODE и _PECODE. Подробнее об этом смотрите Системная переменная _PSCODE и Системная переменная _PECODE.

Управляющие коды принтера зависят от используемого устройства. Самый лучший источник информации об управляющих кодах принтера ѕ документация, имеющаяся в комплекте принтера.

Expand image Смотрите также

Справочное руководство

Команда ? | ??
Команда @ ... SAY
Функция CHR( )
Диалоговый бокс Print (Visual FoxPro)

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


@ ... CLASS Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... CLASS
См. также Пример

Создает элемент управления или объект, управляемый командой READ.

@ nRow, nColumn CLASS ClassName NAME ObjectName

Параметры

@ nRow, nColumn

Задает начальную позицию объекта. Высота и ширина объекта определены в описании родительского класса. Строки и столбцы нумеруются с 0 и до конца представленной области (экран VFP или пользовательское окно). Количество строк и количество столбцов, размещаемых в текущей активной области зависит от размера и характеристик текущего Шрифта.
CLASS ClassName

Задает имя порождающего класса для данного объекта. Параметр ClassName должен быть именем базового класса Visual FoxPro или именем определенного пользовательского класса.
NAME ObjectName

Задает имя переменной, которая будет хранить ссылку на данный объект. Соответствующие свойства, события и методы связываются с данной переменной. Дополнительная информаци о базовых классах Visual FoxPro в разделе Базовые классы в Visual FoxPro.

Комментарии

Команда @ ... CLASS обеспечивает промежуточный вариант перехода от старой технологии программирования, применяемой в младших версиях VFP к объектно-ориентированной технологии. Для дополнительной информации о совместимости с младшими версиями FoxPro 2.x см. раздел Controls and Objects Created in Earlier Versions.

Для дополнительной информации об объектно-ориентированном программировании см. раздел Объектно-ориентированное программирование.

Пример

Представленный пример демонстрирует использование команды @ ... CLASS при технологии программирования, используемой в младших версиях FoxPro (в примере используется команда READ, как диспетчер элементов управления). Команда @ ... CLASS используется для создания объекта TextBox, который можно было заменить на уже привычный управляющий элемент TextBox в объектно-ориентированной технологии программирования.

Команда ON KEY LABEL вызывает системный диалоговый бокс выбора цветовой схемы при нажатии комбинации клавиш CTRL+I. Элемент TextBox размещается на главном экране Visual FoxPro командой @ ... CLASS, и активируется командой READ.

Копировать Код
CLEAR
ON KEY LABEL CTRL+I _SCREEN.PageFrame1.Page1.goFirstName.BackColor;
    = GETCOLOR( )
@ 2,2 SAY 'Press Ctrl+I to change the background color'

@ 4,2 CLASS TextBox NAME goFirstName
READ
CLEAR

См. также

Другие Ссылки

Команды
Функция CREATEOBJECT( )
Команда DEFINE CLASS
Команда READ
Системная переменная _SCREEN

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... CLEAR Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... CLEAR
См. также Пример

Очищает часть главного окна системы Visual FoxPro или активного окна пользователя.

@ nRow1, nColumn1 [CLEAR
CLEAR TO nRow2, nColumn2]

Параметры

@ nRow1, nColumn1 CLEAR

Очищает прямоугольную область с координатами начала в верхнем левом углу (nRow1, nColumn1) и до конца экрана или активного пользовательского окна.
CLEAR TO nRow2, nColumn2

Очищает прямоугольную область с соответствующими координатами: с началом в верхнем левом углу (nRow1, nColumn1) и завершением в нижнем правом углу ( nRow2, nColumn2).

Комментарии

Если опции CLEAR или CLEAR TO отсутствуют, система Visual FoxPro чистит область с началом в (nRow1 , nColumn1).

Пример

Представленный пример чистит экран, главное окно Visual FoxPro или активное окно пользователя начиная со второй строки.

Копировать Код
@ 2,0 CLEAR

В Следующем примере очищается прямоугольная область; с координатами (10,0) - (20,20).

Копировать Код
@ 10,0 CLEAR TO 20,20

См. также

Другие Ссылки

Команды
Команда CLEAR
Команда SET CLEAR
Функция API _WClear( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... FILL Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... FILL
См. также Пример

Изменяет цвета существущего текст в пределах области экрана.

@ nRow1, nColumn1 FILL TO nRow2,
  nColumn2[COLOR SCHEME nSchemeNumber
COLOR ColorPairList]

Параметры

@ nRow1, nColumn1

Определяет координаты верхнего левого угла изменяемой области.
FILL TO nRow2, nColumn2

Определяет координаты нижнего правого угла изменяемой области.
COLOR SCHEME nSchemeNumber

Определяет цветовую схему изменяемой области. Только первая пара цветовой схемы используется для изменения цветов области.
COLOR ColorPairList

Определяет цвета области. Только первая пара цветовой схемы используется для изменения цветов области. Если Вы опускаете опции COLOR SCHEME или COLOR, указанная область очищается. Представленная область может быть очищена также командой @ ... CLEAR.

Комментарии

Данная команда изменяет цвета существущего текст в пределах области экрана или активного окна пользователя. Вы можете устанавливать новые цветовые схемы только для соществующего текста. Любой другой текст, выведенный в облась экрана или активного, после данной команды будет иметь цветовые атрибуты, установленные для данной области по-умолчанию, т.е отличаться от заданной цветовой схемы.

Пример

В представленном примере область экрана очищается и заполняется указанным цветом.

Копировать Код
ACTIVATE SCREEN
CLEAR
@ 4,1 FILL TO 10, 8 COLOR GR+/B

См. также

Другие Ссылки

Команды
Команда @ ... SAY
Свойство ColorScheme
Свойство FillColor

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... SCROLL Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... SCROLL
См. также

Перемещает область главного окна Visual FoxPro или окна пользователя вверх, вниз, влево или вправо.

@ nRow1, nColumn1 TO nRow2, nColumn2 SCROLL
[UP | DOWN | LEFT | RIGHT]   [BY nMoveAmount]

Параметры

@ nRow1, nColumn1 TO nRow2, nColumn2 SCROLL

Перемещает прямоугольную область: верхний левый угол ( nRow1, nColumn1) - правый нижний угол (nRow2, nColumn2).
UP | DOWN | LEFT | RIGHT (вверх,вниз, влево, вправо)

Определяет направление, в котором прямоугольная область перемещается. Если Вы опускаете опцию направления, область перемещается вверх.
BY nMoveAmount

Определяет количество строк или столбцов перемещаемой прямоугольной области. Если Вы опускаете данную опцию, область перемещается на одну строку или на один столбец.

См. также

Другие Ссылки

Команды
Команда SCROLL
Событие Scrolled

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


\ | \\ Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда \ | \\
Смотрите также Пример
CollapseAll image

Печатает или выводит строки текста.

\TextLine
\\TextLine

Параметры

\ TextLine

Если вы используете команду \, строке текста будет предшествовать возврат каретки и перевод строки.

\\ TextLine

Если вы используете команду \\, строке текста не будет предшествовать возврат каретки и перевод строки.

Пробелы, стоящие перед символами \ и \\ , не включаются в строку вывода, но пробелы, стоящие после этих символов, включаются в вывод.

В строку текста можно вставить выражение. Если оно заключено в разделители слияния (<< >> по умолчанию) и командой SET TEXTMERGE установлено значение ON, выражение будет вычислено и это значение выводится в виде текста.

Expand image Замечания

Команды \ и \\ помогают выполнять слияние текста в Visual FoxPro. Слияние текста позволяет выводить текст в файл, чтобы затем создавать стандартные письма или программы.

Пользуйтесь командами \ и \\ для вывода строки текста в файл вывода слияния текста и на экран. Команда SET TEXTMERGE используется Для задания файла вывода слияния текста. Если вывод слияния текста не направляется в файл, строка текста выводится только в основное окно Visual FoxPro либо в активное окно вывода, определенное пользователем. Команда SET TEXTMERGE NOSHOW подавляет вывод в основное окно Visual FoxPro либо в активное окно, определенное пользователем.

Expand image Пример

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer && Open customer table
SET TEXTMERGE ON
SET TEXTMERGE TO letter.txt
\<<CDOW(DATE( ))>>, <<CMONTH(DATE( ))>>
\\ <<DAY(DATE( ))>>, <<YEAR(DATE( ))>>
\
\
\Dear <<contact>>
\Additional text
\
\Thank you,
\
\XYZ Corporation
CLOSE ALL
MODIFY FILE letter.txt NOEDIT

Expand image Смотрите также

Справочное руководство

Системная переменная _PRETEXT
Команда SET TEXTMERGE
Команда SET TEXTMERGE DELIMITERS
Системная переменная _TEXT
Команда TEXT ... ENDTEXT

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


= Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда =
Смотрите также
CollapseAll image

Вычисляет одно или несколько выражений.

= Expression1 [, Expression2 ...]

Параметры

Expression1[, Expression2...]

Задает выражение или выражения, вычисляемые командой = .

Expand image Замечания

Команда = вычисляет одно или несколько выражений Expression1, Expression2 ..., и сбрасывает возвращаемые значения. Это может понадобиться, когда нужно выполнить функцию Visual FoxPro или функцию, определенную пользователем, но нет необходимости присваивать возвращаемое ею значение переменной памяти, элементу массива либо полю.

Например, чтобы включить режим вставки, можно воспользоваться командой:

CopyCode image Copy Code
= INSMODE(.T.)

Функция INSMODE обычно возвращает значение "истина" (.T.) или "ложь" (.F.). В предыдущем примере функция выполняется, но возвращаемое ею значение отбрасывается..

Если включено только одно выражение (Expression1), то знак равенства is optional.

Note Note

Знак равенства (=) может использоваться двумя способами, не связанными между собою. Во-первых, он может служить для обозначения операции сравнения в логических выражениях и, во-вторых, для присваивания значений переменным памяти и элементам массива. В обоих случаях знак равенства (=) является оператором, но не командой. Смотрите Операторы отношений (Relational Operators) для получения большей информации об использовании знака (=) как оператора в логических выражениях. Для получения большей информации об использовании знака равно (=) для присвоения значений переменным и элементам масива смотрите Команда STORE.

Expand image Смотрите также

Справочное руководство

Функция EVALUATE( )
Функция INSMODE( )
Операторы отношений (Relational Operators)
Команда STORE
Команда ON KEY =

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ACTIVATE MENU Command

Visual FoxPro 9.0 Справочник Языка
ACTIVATE MENU Команда
См. Также Пример

Выводит и активизируют строку меню.

ACTIVATE MENU MenuBarName   [NOWAIT]   [PAD MenuTitleName]

Параметры

MenuBarName

Определяет имя строки меню для активизации.
NOWAIT

Определяет, что в run time программа не должна ждать действий пользователя по выбору меню из активной строки меню или нажатия ESC. Вместо этого, программа продолжает выполняться. Меню, активизированное с опцией NOWAIT не возвращает выполнение программы к строке следующей за командой ACTIVATE MENU после применения DEACTIVATE MENU.
PAD MenuTitleName

Определяет имя заголовка меню, которое автоматически получает фокус при активизации строки меню. Если Вы не определяете имя заголовка меню, то активируется имя первого заголовка меню в активизированной строке меню по умолчанию.

Замечания

Выводит и активизируют строку меню, указанную MenuBarName . Эта команда работает вместе с DEFINE MENU и DEFINE PAD.

Обратите внимание:
Когда Вы включаете полосу системного меню Visual FoxPro (_MSYSMENU) в приложение, то нет необходимости активизировать меню. Вместо этого применяйте SET SYSMENU AUTOMATIC.

Пример

Следующий пример использует ACTIVATE MENU, чтобы вывести и активизировать определяемую пользователем систему меню. Текущая полоса системного меню сначала сохраняется в памяти командой SET SYSMENU SAVE и затем удаляются все заголовки системного меню с помощью SET SYSMENU TO.

Создаются два заголовка меню командой DEFINE PAD; команда DEFINE POPUP используется, чтобы создать выпадающее меню для каждого заголовка меню. Используется DEFINE BAR для создания пунктов каждого из этих меню. Когда заголовок меню выбран, ON PAD использует команду ACTIVATE POPUP, чтобы активизировать соответствующее меню. Команда ACTIVATE MENU выводит и активизирует строку меню.

Когда выбирается пункт меню, выполняется процедура CHOICE. CHOICE отображает имя выбранного пункта и имя меню, содержащего этот пункт.

Скопировать код
*** Name this program ACTIMENU.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
ON KEY LABEL ESC KEYBOARD CHR(13)
DEFINE MENU example BAR AT LINE 1
DEFINE PAD convpad OF example PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD cardpad OF example PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
ON PAD convpad OF example ACTIVATE POPUP conversion
ON PAD cardpad OF example ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' ;
   KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
   KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
   KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
   KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
   KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
   KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
   KEY CTRL+M, '^M'
ON SELECTION POPUP conversion DO choice IN actimenu;
   WITH PROMPT( ), POPUP( )
DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
   KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
   KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ;
   KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges ' ;
   KEY ALT+C, ''
ON SELECTION POPUP cardinfo;
   DO choice IN actimenu WITH PROMPT( ), POPUP( )
ACTIVATE MENU example
DEACTIVATE MENU example
RELEASE MENU example EXTENDED
SET SYSMENU TO DEFAULT
ON KEY LABEL ESC
PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ' from popup ' + mpopup NOWAIT

См. Также

Другие Ресурсы

CLEAR Команды
CREATE MENU Команда
DEACTIVATE MENU Команда
DEFINE MENU Команда
DEFINE PAD Команда
HIDE MENU Команда
SET SYSMENU Команда
SHOW MENU Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ACTIVATE POPUP Command

Visual FoxPro 9.0 Language Reference
ACTIVATE POPUP Команда
См. также Пример

Показывает и активизируют меню.

ACTIVATE POPUP MenuName   [AT nRow, nColumn]
[BAR nMenuItemNumber]   [NOWAIT]   [REST]

Параметры

MenuName

Определяет имя меню которое активизируется.
AT nRow, nColumn

Задает позицию меню на экране или в окне, определенном пользователем. Указываются координаты (строка и столбец) левого верхнего угла меню. Заданная таким образом позиция отменяет позицию, заданную аргументом FROM в команде DEFINE POPUP.
BAR nMenuItemNumber

Задает элемент меню, который будет изображен выбранным при активизации меню. Например, если nMenuItemNumber равно 2, выбирается второй элемент. Если предложение BAR nMenuItemNumber опущено или если значение nMenuItemNumber превышает число элементов меню, будет выбран первый элемент.
NOWAIT

Указывает, что на этапе выполнения программа не станет ждать, пока пользователь выберет элемент из меню, а продолжит выполнение.
REST

Меню, созданное с помощью предложения PROMPT FIELD команды DEFINE POPUP, заполняется записями из некоторого поля. Когда это меню активизируется, его первый элемент изображается выбранным, даже если указатель записи в таблице, содержащей поле, установлен не на первой записи. Задав REST, вы укажете, что элемент, выбираемый при активизации меню, соответствует установке указателя на текущую запись в таблице..

Замечания

Команда ACTIVATE POPUP работает совместно с командой DEFINE POPUP, используемой для создания меню, и командой DEFINE BAR, используемой для создания элементов меню.

Example

ледующий пример использует ACTIVATE POPUP с ON PAD для активизации меню при выборе его заголовка. В начале строка текущего системного меню сохраняется в памяти с помощью SET SYSMENU SAVE, затем все заголовки системного меню удаляются с помощью SET SYSMENU TO.

С помощью DEFINE PAD создаются два заголовка меню, а DEFINE POPUP используется для создания меню для каждого заголовка. DEFINE BAR используется для создания элементов меню для каждого меню. Если выбрать заголовок меню, ON PAD использует ACTIVATE POPUP для активизации соответствующего меню.

При выборе из меню элемента меню выполняется процедура CHOICE. CHOICE выводит имя выбранного элемента и имя меню, содержащего элемент. Если из меню Card Info выбирается элемент Exit, то восстанавливается начальное системное меню Visual FoxPro.

Копировать код
*** Name this program ACTIPOP.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD convpad OF _MSYSMENU PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD cardpad OF _MSYSMENU PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
ON PAD convpad OF _MSYSMENU ACTIVATE POPUP conversion
ON PAD cardpad OF _MSYSMENU ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
   KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
   KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
   KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
   KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
   KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
   KEY CTRL+M, '^M'
ON SELECTION POPUP conversion;
   DO choice IN actipop WITH PROMPT(), POPUP()
DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
   KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
   KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ;
   KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges' ;
   KEY ALT+C, ''
DEFINE BAR 6 OF cardinfo PROMPT '\-'
DEFINE BAR 7 OF cardinfo PROMPT 'E\<xit';
   KEY ALT+X, ''
ON SELECTION POPUP cardinfo;
DO choice IN actipop WITH PROMPT(),POPUP()

PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ;
   ' from popup ' + mpopup NOWAIT
IF mprompt = 'Exit'
   SET SYSMENU TO DEFAULT
ENDIF

См. также

Другие источники

CLEAR команды
CREATE MENU команда
DEACTIVATE POPUP команда
DEFINE BAR команда
DEFINE POPUP команда
HIDE POPUP команда
MOVE POPUP команда
ON SELECTION POPUP команда
POP POPUP команда
POPUP( ) Function
PROMPT( ) Function
PUSH POPUP команда
SHOW POPU команда
Команды
Справочник по языку

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


ACTIVATE SCREEN Command

Visual FoxPro 9.0 Описание Языка
Команда ACTIVATE SCREEN
См. также

Перенаправляет всю выводимую информацию на главное окно системы Visual FoxPro взамен вывода в активное окно пользователя.

ACTIVATE SCREEN

Комментарии

Используйте команду ACTIVATE WINDOW для перенаправления вывода информации в пользовательское окно.

См. также

Другие ссылки

Команда ACTIVATE WINDOW
Команда DEACTIVATE WINDOW
Команда DEFINE WINDOW
Команда HIDE WINDOW
Команда SHOW WINDOW
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ACTIVATE WINDOW Command

Visual FoxPro 9.0 Описание Языка
Команда ACTIVATE WINDOW
См. также Пример

Отображает и активирует одно или несколько пользовательских окон, а также главное окно Visual FoxPro.

ACTIVATE WINDOW WindowName1 [, WindowName2 ...]
| ALL   [IN [WINDOW] WindowName3 | IN SCREEN
[BOTTOM | TOP | SAME]    [NOSHOW]

Параметры

WindowName1[, WindowName2...]

Определяет имя активируемого окна. Несколько имен окон должны разделяться запятой. Кроме этого Вы можете активировать также построенные ранее Toolbar-ы. В разделе описания команды SHOW WINDOW описаны имена системных ToolBar-ов Visual FoxPro.
ALL

Определяет активацию всех окон. Последнее окно будет являться текущим окном для вывода результатов.
IN [WINDOW] WindowName3

Определяет имя родительского окна, в котором будет размещено и активировано окно. В этом случае активируемое окно будет чвляться дочерним окном (к указанному - родительскому). Родительское окно может иметь несколько дочерних окон. Дочернее окно не может быть перенесено за пределы родительского окна. Если родительское окно переносится, то все дочерние окна переносятся вместе с ним.
Примечание:
Родительское окно должно быть видимым для активации любого своего дочернего окна.

IN SCREEN

Размещает активируемое окно в главном окне Visual FoxPro window. Создаваемое окно может быть размещено в конкретном родительском окне если в команде DEFINE WINDOW указать опциюIN WINDOW. Указание опции IN SCREEN в команде ACTIVATE WINDOW имеет больший приоритет чем опция IN WINDOW в команде DEFINE WINDOW.
BOTTOM | TOP | SAME

Определяет, как данное, активируемое окно соотносится с последним активируемым окном. По-умолчанию, окно активируется на самом переднем плане. Опция BOTTOM указывает, что окно активируется на заднем плане. Опция TOP указывает, что окно активируется на переднем плане. Опция SAME указывает, что окно активируется без учета переднего-заднего плана расположения других окон.
NOSHOW

Активирует и переоапределяет вывод результатов в данное окно без его отображения на экране.

Комментарии

Чтобы успешно использовать данную команду необходимо создать пользовательское окно при помощи команды DEFINE WINDOW .

Команда активизации размещает окно на переднем плане и переопределяет вывод информации в данное окно. Вывод информации может быть переопределен только в одно окно, в каждый момент выполнения программы. Весь вывод информации будет направлен в данное окно до тех пор, пока не будет активировыано другое окно пользователя или активировано главное окно Visual FoxPr, или данное окно будет стерто (Release).

Имена пользовательских окон размещаются в нижней части секции Window главного меню системы. Имя Текущего активного окна отмечено соответствующей галочкой.

В один момент времени в главном окне системы может быть расположено несколько пользовательских окон, но вывод информации направляется только в одно окно, которое было активировано последним. Когда открыто несколько пользовательских окон, и выполняется последовательная деактивация данных окон , вывод информации последовательно перенаправляется в следующие активные окна. Если активных окон эже нет, то вывод направляется в главное окно Visual FoxPro.

Примечание:
Для перенаправления вывода информации в конкретное пользовательское окно Вам необходимо явно выполнить команду активации данного окна ACTIVATE WINDOW.

Все активные и отображенные окна могут быть деактивированы или спрятаны соответствующими командами DEACTIVATE WINDOW или HIDE WINDOW. Данные команды только убирают изображения окон с экрана, ео не удаляют их из памяти. Эти окна могут быть восстановлены соответствующими командами ACTIVATE WINDOW или SHOW WINDOW.

Для удаления окон из памяти необходимо выполнить команды CLEAR WINDOWS, RELEASE WINDOWS, или CLEAR ALL. Для восстановления стертого из памяти окна его нужно переопределить заново.

Вы можете использовать команду ACTIVATE WINDOW для размещения на главном экране системные окна Visual FoxPro

Но следующие окна не могут быть активированы с помощью команды ACTIVATE WINDOW:

  • Command

  • Call Stack

  • Debug

  • Debug Output

  • Document View

  • Locals

  • Trace

  • Watch

  • View

Для активации системных окон с помощью данной команды имена этих окон необходимо указать в кавычках, например:

Копировать код
ACTIVATE WINDOW "Call Stack"

Исторически, в младших версиях Visual FoxPro, окно Data Session всегда отождествлялось с окном View. К тому же, соответствующие команды HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), также управляют данным окном View. Система Visual FoxPro продолжает поддерживать управление окна View при помощи команды ACTIVATE WINDOW.

Используйте команды HIDE WINDOW или RELEASE WINDOW для удаления системных окон из главного окна Visual FoxPro или другого родительского окна.

Пример

В представленном примере создается окно с именем output , активируется, за тем - скрывается, за тем - показывается вновь, и наконец - стирается. Команда WAIT обеспечивает пошаговое выполнение перечисленных действий.

Копировать код
CLEAR
DEFINE WINDOW output FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW output
WAIT WINDOW 'Press any key to hide window output'
HIDE WINDOW output
WAIT WINDOW 'Press any key to show window output'
SHOW WINDOW output
WAIT WINDOW 'Press any key to release window output'
RELEASE WINDOW output

См. также

Другие ссылки

Команда CLEAR WINDOWS
Команда DEACTIVATE WINDOW
Команда DEFINE WINDOW
Команда HIDE WINDOW
Команда RELEASE WINDOWS
Команда SHOW WINDOW
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ADD CLASS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ADD CLASS
Смотрите также
CollapseAll image

Добавляет определение класса в библиотеку визуальных классов .vcx.

ADD CLASS ClassName [OF ClassLibraryName1] TO ClassLibraryName2
   [OVERWRITE]

Параметры

ClassName

Задает имя определения класса, добавляемого в библиотеку визуальных классов (.vcx) ClassLibraryName2.

Если опустить необязательное предложение OF ClassLibraryName1 , Visual FoxPro ведет поиск определения класса во всех библиотеках визуальных классов .VCX, открытых командой SET CLASSLIB.

Если определение класса найти не удается или определение класса с заданным именем уже существует в библиотеке ClassLibraryName2, Visual FoxPro генерирует ошибку.

OF ClassLibraryName1

Задает библиотеку визуальных классов .VCX, из которой копируется определение класса.

TO ClassLibraryName2

Задает библиотеку визуальных классов .VCX, в которую добавляется данное определение класса. Если задана несуществующая библиотека визуальных классов .VCX, Visual FoxPro создает такую библиотеку и включает в нее определение класса.

OVERWRITE

Задает запись определения класса, заданного с помощью аргумента ClassName , поверх определения класса с тем же именем. Если ключевое слово OVERWRITE опущено и в библиотеке визуальных классов .VCX уже существует определение класса с именем ClassName, генерируется сообщение об ошибке.

Expand image Примечания

Команду ADD CLASS следует использовать, чтобы добавить определение класса в библиотеку классов или скопировать определение класса из одной библиотеки визуальных классов .VCX в другую. Определение класса нельзя добавить из программы или приложения Visual FoxPro (файлы .PRG или .APP) или из файла процедуры.

Expand image Смотрите также

Справочное руководство

Функция ACLASS( )
Функция AMEMBERS( )
Команда CREATE CLASS
Команда CREATE CLASSLIB
Команда DEFINE CLASS
Команда MODIFY CLASS
Команда RELEASE CLASSLIB
Команда REMOVE CLASS
Команда RENAME CLASS
Команда SET CLASSLIB

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ADD TABLE Command

Visual FoxPro 9.0 Language Reference
ADD TABLE Command
See Also Example

Добавляет свободную таблицу в текущую базу данных.

ADD TABLE TableName | ?   [NAME LongTableName]

Параметры

Имя таблицы

Определяет имя таблицы, добавляемой в базу данных.
?

Отображает диалоговое окно, в котором вы можете выбрать таблицу, добавляемую в базу данных.
ИмяДлинное имя таблицы

Определяет длинное имя для таблицы.Длинные имена могут содержать до 128 символов и могут быть использованы вместо коротких имен файлов, имеющих расширение .DBF.

Замечания

После того как таблица добавлена в базу данных, вы можете выполнять те же операции, как и с другой таблицей.

Как только таблица будет добавлена в базу данных,она больше не является свободной. Тем не менее, любая таблица может стать свободной при использовании REMOVE TABLE.

Таблица, которую вы добавляете:

  • Должна быть действительным .DBF файлом.

  • Не может иметь такое же имя, как существующая таблица в открытой базе данных, если вы не присваиваете таблице уникальное длинное имя.

  • Не может существовать в другой базе данных. Используйте REMOVE TABLE, чтобы удалить таблицу из другой базы данных.

База данных,в которую вы добавляете таблицу, не может быть включена в транзакцию.

Пример

Следующий пример создает две базы данных с именами mydbc1 и mydbc2, и таблицу с именем table1. Таблица добавлена в mydbc1 при создании. Затем таблица закрыта и удалена из mydbc1.Команда ADD TABLE используется для добавления таблицы в mydbc2. Команда RENAME TABLE используется для изменения имени таблицы с table1 на table2.
Copy Code
CREATE DATABASE mydbc1
CREATE DATABASE mydbc2
SET DATABASE TO mydbc1
CREATE TABLE table1 (cField1 C(10), n N(10))  && Adds table to mydbc1
CLOSE TABLES&& A table must be closed to remove it from a database
REMOVE TABLE table1
SET DATABASE TO mydbc2
ADD TABLE table1
RENAME TABLE table1 TO table2

Смотри также

Reference

INDBC( ) Function

Другие ресурсы

CLOSE Commands
CREATE DATABASE Command
DISPLAY TABLES Command
FREE TABLE Command
OPEN DATABASE Command
REMOVE TABLE Command
Commands
Language Reference

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.

Переводчик TATA


ALTER TABLE - SQL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ALTER TABLE - SQL
Смотрите также Пример
CollapseAll image

Программно изменяет структуру таблицы. Имеется несколько версий синтаксиса этой команды.

ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1
      FieldType [( nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]]
   [AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1]
   [PRIMARY KEY | UNIQUE [COLLATE cCollateSequence]]
   [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [NOVALIDATE]
ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] [SET DEFAULT eExpression2]
   [SET CHECK lExpression2 [ERROR cMessageText2]] [ DROP DEFAULT ] [ DROP CHECK ] [ NOVALIDATE ]
ALTER TABLE TableName1 [DROP [COLUMN] FieldName3]
   [SET CHECK lExpression3 [ERRORcMessageText3]] [DROP CHECK]
   [ADD PRIMARY KEY eExpression3 [FOR lExpression4] TAG TagName2
   [COLLATE cCollateSequence]] [DROP PRIMARY KEY]
   [ADD UNIQUE eExpression4 [[FOR lExpression5] TAG TagName3
      [COLLATE cCollateSequence]]] [DROP UNIQUE TAG TagName4]
   [ADD FOREIGN KEY [eExpression5] [FOR lExpression6] TAG TagName4
      REFERENCES TableName4 [TAG TagName4][COLLATE cCollateSequence]
      REFERENCES TableName2 [TAG TagName5]]
   [DROP FOREIGN KEY TAG TagName6 [SAVE]]
   [RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]

Параметры

ALTER TABLE TableName1

Изменяет структуру таблицы. Параметр TableName1 определяет имя таблицы, подлежащей изменению.

ADD | ALTER [COLUMN] FieldName1

Определяет имя добавляемого или изменяемого поля.

Единичная таблица может содержать до 255 полей. Если одно или более полей позволяют прнимать значения null, ограничение увеличивается на одно поле и составляет 254 поля.

Использование ALTER COLUMN сбрасывает collating sequence к значение по умолчанию. Вы должны повторно индексировать таблицу с желаемом collating после производства ALTER COLUMN. Вы, кроме того, модете использовать ключевое слово COLLATE в команде ALTER TABLE когда это удоавлетворяет условиям (первичеый ключ или внешний ключ).

FieldType[( nFieldWidth[, nPrecision])]

Определяет тип поля, его длину и точность (число лесятичных мест) для нового или изменяемого поля.

FieldType может быть единичной буквой, указывающей тип данных, которые будут храниться в поле или длинные имена, определяющие их. Некоторые типы полей требуют, чтобы указали nFieldWidth или nPrecision или оба. В приведенной ниже таблице перечислены значения для FieldType, а также случаи, когда требуются nFieldWidth и nPrecision:

FieldType nFieldWidth nPrecision Тип хранимых данных

W, Blob

-

-

Blob

C, Char, Character

N

–

Character поле с длиной n

Y, Currency

–

–

Currency

D, Date

–

–

Date

T, DateTime

–

–

DateTime

B, Double

–

D

Double

G, General

–

–

General

I, Int, Interger

–

–

Integer

L, Logical

–

–

Logical

M, Memo

–

–

Memo

N, Num, Numeric

N

D

Numeric численное поле с длиной n с d десятичными местами

F, Float

N

D

Floating Numeric поле с длиной n с d десятичными местами

Q, Varbinary

n

-

Varbinary поле с длиной n

V, Varchar

n

-

Varchar поле с длиной n

Параметры nFieldWidth и nPrecision игнорируются для типов W, Y, D, T, G, I, L и M. Если nPrecision не включена для типов N, F или B, параметр nPrecision устанавливается по умолчанию в zero (нет десятичных мест).

NULL | NOT NULL

Определяет будут ли позволены null значения в содержании поля. NULL разрешает null значения, а NOT NULL не позволяет их. Если одно или более полей могут содержать null значения, максимальное число полей возможное в таблице ограничивается числом 254.

Note Замечание

Изменение структуры поля, которое используется в бинарном индексе на тип, позволяющий использовать null значения приведет к генерации ошибки.

CHECK lExpression1

Определяет правило проверки для поля. Параметр lExpression1 должен оцениваться в логическое выражение и может быть определенной пользователей функцией или хранимой процедурой. Visual FoxPro проверяет правило проверки, определенное для ключевого слова CHECK в случае, когда добавляется пустая запись.

ERROR cMessageText1

Определяет сообщение об ошибке. Visual FoxPro отображает это сообщение, когда правило проверки, указанное для ключевого слова CHECK генерирует ошибку. Это сообщение отображается только в случае, если данные изменяются в окнах Browse или Edit.

AUTOINC [NEXTVALUE NextValue[STEP StepValue]]

Разрешает автоматическое увеличение значения для поля. NextValue определяет начальное значение и может быть положительным или отрацательным числов в диапазоне от 2,147,483,647 до -2,147,483,647. Значение по умолчанию равно единице (1). Вы можете установить NextValue используя спиннер Next Value на закладке Fields дизайнера таблиц.

StepValue определяет значение увеличения для поляи может быть положительным, ненулевым целым числом в диапазоне от 1 до 255. Значение по умолчанию равняется единице (1). Вы можете установить StepValue используя спиннер Step на закладке Fields дизайнера таблиц.

Значения Autoincrementing не могут быть NULL.

Note Замечание

Таблицы, содержащие поля, допускающие автоувеличение добавляют записи в буфферированные таблицы примерно на 35% медленнее, чем таблицы не содержащие таких полей, что может оказать воздействие на производительность приложения. При использовании буфферизации таблиц, заголовко таблицы блокируется в случае, когда добавляются записи .

DEFAULT eExpression1

Определяет значение по умолчанию для поля, указанного в FieldName1. Тип данных eExpression1 , естественно, должен быть точно таким же, как и тип данных поля.

Вы не можете указать значение по умолчанию, если вы используете опцию AUTOINC для включения автоувеличения значений поля. Visual FoxPro генерирует сообщение об ошибке, если вы одновременно указали обе опции - и AUTOINC, и DEFAULT для одного и того же поля.

PRIMARY KEY | UNIQUE

PRIMARY KEY создает первичный индекс для поля, указанного в FieldName1. UNIQUE создает индекс-кандидат (candidate) для поля указанного в FieldName1. Тэг первичного индекса или тэг индекса-кандидата имеют те же самые имена, что и имя поля. Для получения более подробной информации о первичных индексах и индексах-кандидатах смотрите Типы индексов Visual FoxPro.

COLLATE cCollateSequence

Определяет последовательность сопоставления (collation sequence), которая отличается от используемой по умолчанию - MACHINE. Параметр cCollateSequence должен быть действительной последовательностью сопоставления Visual FoxPro. Для получения более подробной информации смотрите Оптимизация приложений для международного использования (Optimizing International Applications) и команду SET COLLATE.

REFERENCES TableName2[TAG TagName1]

Определяет родительскую таблицу, для которой установлены постоянные связи (ссылочной целостности). Родительская таблица не может быть свободной таблицей.

Параметр TagName1 определяет имя тэга индекса для родительской таблицы указанной в TableName2. Имена тэгов индексов могут содержать до 10-ти символов. Если вы опустите опцию TAG, связь устанавливается на основе использования первичного индексного ключа родительской таблицы. Если родительская таблица не имеет первичного индекса, Visual FoxPro сгенерирует ошибку.

NOCPTRANS

Предотвращает трансляцию в разные кодовые страницы для полей с типами данных Character, Memo или Varchar. Соответственно только для полей этих типов вы и можете указать ключевое слово NOCPTRANS. Это создаст то, что появится в дизайнере таблиц в виде типов полей Character (Binary), Memo (Binary) и Varchar (Binary).

NOVALIDATE

Определяет, что Visual FoxPro позволяет сделать изменения в структуре таблице, которые могут нарушать целостность данных в таблице. По умолчанию, Visual FoxPro препятствует ALTER TABLE в производстве таких изменений в структуре таблицы. Для перевешивая поведения по умолчанию включите ключевое слово NOVALIDATE в вашу команду.

ALTER [COLUMN] FieldName2

Определяет имя поля, подлежащего изменению. Вам необходимо включить опцию ALTER COLUMN для изменения более чем одного свойства поля в единичной команде ALTER TABLE. Для получения более подробной информации о том, как ALTER COLUMN структурирован - смотрите пример в этой статье.

SET DEFAULT eExpression2

Определяет новое значение по умолчанию для существующего поля. Тип данных выражения eExpression2 должен быть такого же типа, как и тип данных поля, для которого устанавливается это значение.

Вы не можете установить значение по умолчанию, если вы используете опцию AUTOINC для активизации автоувеличения значений, хранящихся в поле. Visual FoxPro сгенерирует ошибку, если вы одновременно укажите обе опции - и AUTOINC и SET DEFAULT.

SET CHECK lExpression2

Определяет новое правило проверки для существующего поля. Параметр lExpression2 должен оцениваться в логическое выражение и может являться функцией, определенной пользователем или хранимой процедурой.

ERROR cMessageText2

Определяет сообщение об ошибке. Visual FoxPro отображает это сообщение, когда правило проверки, указанное для ключевого слова SET CHECK генерирует ошибку. Это сообщение отображается только в случае, если данные изменяются в окнах Browse или Edit..

DROP DEFAULT

Удаляет значение по умолчанию для существующего поля.

DROP CHECK

Удаляет правило проверки для существующего поля.

DROP [COLUMN] FieldName3

Определяет поле, которое будет удалено из таблицы. Удаление поля из таблицы, кроме этого, удаляет значение по умолчанию, если такое было установлено и правило проверки для поля.

Если индексный ключ или выражение триггера ссылаются на это поле, то выражение становится недействительным при удалении поля. В этом случае ошибка не генерируется, когда поле удаляется, однако недействительные индексный ключ или выражение триггера сгенерируют ошибку в run time.

SET CHECK lExpression3

Определяет правило проверки для таблицы. Параметр lExpression3 должен оцениваться в логическое выражение и может являться функцией, определенной пользователем или хранимой процедурой.

ERROR cMessageText3

Определяет сообщение об ошибке правила проверки для таблицы в lExpression3. Visual FoxPro отображает это сообщение, когда правило проверки для таблицы генерирует ошибку. Это сообщение отображается только в случае, если данные изменяются в окнах Browse или Edit.

DROP CHECK

Удаляет правило проверки для таблицы.

ADD PRIMARY KEY eExpression3[FOR lExpression4] TAG TagName2

Добавляет перввичный ключ в таблицу. eExpression3 определяет выражение первичного индексного ключа.

Вы можете использовать lExpression4 для указания выражения фильтра, по которому только те записи, которые удовлетворяют условию будут открыты для отобрадения и доступа. Первичный индексный ключ создается в индексном файле только для тех записей, которые удовлетворяют выражению фильтра. ВЫ должны избегать использования опции FOR при создании первичного индекса; неуникальность первичного ключа оказывает влияние только на те записи, которые соответствуют условию, определенному в опции FOR. Всесто этого, используйте команду INDEX с опцией FOR для создания фильтрованного индекса.

Rushmore Query Optimization оптимизирует команду ALTER TABLE ... FOR lExpression4, если выражение lExpression4 может быть оптимизировано. Для получения наивысшей производительности, используйте оптимизируемые выражения в опции FOR. Для получения более подробной информации обратитесь с статьям SET OPTIMIZE Command и Использование Rushmore Query Optimization для увеличения скорости доступа к данным.

Параметр TagName2 определяет имя тэга первичного индекса. Имена тэгов индексов могут содержать до 10 символов. Если вы опустите TAG TagName2 и eExpression3 представляет собой единичное поле, тэг первичного индекса будет иметь то же самое имя, что и имя поля, указанное в eExpression3.

DROP PRIMARY KEY

Удаляет первичный индекс и его индексный тэг. Таблица может иметь только первичный ключ, поэтому вам не требуется указывать имя первичного ключа. Удаление первичного индекса удаляет, также, все постоянные связи, основанные на первичном ключе.

ADD UNIQUE eExpressio n4[TAG TagName3[FOR lExpression5]]

Добавляет в таблицу индекс-кандидат. Параметр eExpression4 определяет выражение для ключа индекса-кандидата. Параметр TagName3 определяет имя тэга индекса. Имя тэга индекса может содержать до 10 символов. Если вы опустите TAG TagName3, и если eExpression4 представляет собой единичное поле, имя тэга индекса-кандидата будет то же самое имя, что и имя поля, указанное в eExpression4.

ВЫ можете испольховать параметр lExpression5 для указания выражения фильтра, где только только записи, удовлетворяющие условию фильтра будут открыты для отображения и доступа. Ключи индексов-кандидатов создаются в индексном файле только для тех записей, которые удовлетворяют условию выражения фильтра.

Rushmore оптимизирует команду ALTER TABLE ... FOR lExpression5 если выражение lExpression5 может быть оптимизировано. Для получения наивысшей производительности, используйте оптимизируемые выражения в опции FOR. Для получения более подробной информации обратитесь с статьям SET OPTIMIZE Command и Использование Rushmore Query Optimization для увеличения скорости доступа к данным.

DROP UNIQUE TAG TagName4

Удаляет индекс-кандидат и его индексный тэг. Таблица может иметь множество ключей кандидатов, поэтому вам необходимо указать имя тэга удаляемого индекса.

ADD FOREIGN KEY [ eExpression5] TAG TagName4[FOR lExpression6]

Добавляет в таблицу внешний (не первичный) индекс. Параметр eExpression5 определяет выражение внешнего индексного ключа. Параметр TagName4 определяет имя тэга внешнего индекса. Имя тэга индекса может содержать до 10 символов.

Вы можете использовать параметр lExpression6 для указания выражения фильтра, где только только записи, удовлетворяющие условию фильтра будут открыты для отображения и доступа. Внешние индексные ключи создаются в индексном файле только для тех записей, которые удовлетворяют условию выражения фильтра.

Rushmore оптимизирует команду ALTER TABLE ... FOR lExpression6 если выражение lExpression6 может быть оптимизировано. Для получения наивысшей производительности, используйте оптимизируемые выражения в опции FOR. Для получения более подробной информации обратитесь с статьям SET OPTIMIZE Command и Использование Rushmore Query Optimization для увеличения скорости доступа к данным.

REFERENCES TableName2[TAG TagName5]

Определяет родительскую таблицу, для которой установлены отношения ссылочной целостности. Вы можете использовать опцию TAG TagName5 для установки отношения, основанной на существующем индексном тэге родительской таблицы. Имена индексных тэгов могут содержать до 10 символов. Если вы опустите опцию TAG, Visual FoxPro установить связь, используя тэг первичного ключа родительской таблицы.

DROP FOREIGN KEY TAG TagName6[SAVE]

Удаляет внешний ключ, чей индексный тэг указан в TagName6. Вы можете использовать опцию SAVE для сохранения индексного тэга в структурном индексе. Если вы опустите SAVE, индексный тэг будет удален из структурного индекса.

RENAME COLUMN FieldName4TO FieldName5

Предоставляет вам возможность изменить имя поля в таблице. Параметр FieldName4 определяет имя поля, которое будет изменено. Параметр FieldName5 определяет новое имя для поля.

Caution note Предупреждение

Будьте внимательны, когда переименовываете имена полей, так как индексные выражения, правила проверки для полей и таблиц, команды и функции и тому подобное могут ссылаться на оригинальные имена полей.

Expand image Примечания

Вы можете использовать ALTER TABLE для модификации структуры таблиц, которые не добавлены в базу данных. Однако, Visual FoxPro сгенерирует ошибку, когда вы включите опции DEFAULT, FOREIGN KEY, PRIMARY KEY, REFERENCES или SET , характерные для таблиц включенных в базу данных, при изменении структуры свободных таблиц.

ALTER TABLE может перестроить таблицу путем переписи заголовка табличного файла и добавить записи в заголовок таблицы. Напримре, изменение типа или длины поля вызовет перестройку табличного файла.

После того, как таблица будет перестроена, для любого поля, чьи тип или длина изменены, будут выполнены правила проверки для поля. Если вы изменяете тип или длину любого поля в таблице, то и правила проверки для таблицы также будут исполнены.

Если вы изменяете поле или правила проверки для таблицы, имеющей записи, Visual FoxPro тестирует новое поле или правило проверки для таблицы на существующих данных и выдает предупреждение при первом случае нарушения правила для таблицы или триггера.

Вы не можете указать значение в опции DEFAULT, если вы активизировали autoincrementing для поля.

Для удаления автоувеличения используйте ALTER TABLE - SQL для изменения COLUMN, но не включайте в команду опцию AUTOINC.

Проверка поля должна остаться возможной для полей с автоувеличением. ВЫ можете захотеть использовать проверки для возвращения нового значения autoincrementing.

Когда вы изменяете таблицу, которая не содержит полей с автоувеличением с целью добавления такого поля, либо с помощью команды ALTER TABLE или с использованием дизайнера таблиц, автоувеличение начинается со средующей добавленной строки. Предыдущие строки в таблице не переписываются значениями автоувеличения, начиная с первой записи. Вы должны убедиться, что в результате такой модификации таблицы не возникнет конфликта.

ALTER TABLE не может производить согласующийся с описанным выше результат, когда применяется в отношении курсоров, созданных командой CREATE CURSOR. В частности, Вы можете создать курсор Visual FoxPro со свойствами, такие как длинные имена полей, которые обычно доступны только для таблиц, являющихся частью контейнера базы данных. ALTER TABLE сохраняет временную копию курсора, так что правила, которые применяются к свободным таблицам также применимы, а любые возможности, требующие поддержки базой данных теряются или изменяется непредсказуемым образом. Поэтому вы, в общем случае, избегать использования команды ALTER TABLE с курсорами Visual FoxPro до тех пор пока вы не протестируете это и не поймете что в конечном итоге получите.

Если вы в команде опустите опции NULL и NOT NULL, то будут или нет null значения позволены в изменяемом поле будет определяться текущей установкой, полученной в результате исполнения команды SET NULL. Однако, если вы опустите эти опции, но включите в состав команды ключевые слова PRIMARY KEY или UNIQUE, Visual FoxPro сбросит текущую установку SET NULL и поле получит значение по умолчанию NOT NULL.

Visual FoxPro сгенерирует ошибку, если правило проверки, определенное в опции CHECK не допускает пустые поля в добавляемой записи.

Null значения или дублированные записи не разрешены в поле, используемом для первичного индекса или индекса-кандидата. Если вы создаете новое поле с помощью ADD COLUMN Visual FoxPro не генерирует ошибку, если вы создаете первичный индекс или индекс-кандидат для поля которое поддерживает null значения. Однако, Visual FoxPro сгенерирует ошибку, если вы попытаетесь ввести null значение или дублированное значение в поле, используемое для указанных типов индексов.

Note Замечание

Индексы-кандидаты, созданные путем включения в команду опции UNIQUE (обеспечивающую совместимость с ANSI) в командах CREATE TABLE – SQL или ALTER TABLE – SQL, не являются теми же самыми индексами, которые созданы командой INDEX с опцией UNIQUE. Индекс, созданный командой INDEX использующей опцию UNIQUE позволяет дублированные индексные ключи; индексы-кандидаты не позволяют дублирования. Для получения более подробной информации об опции UNIQUE в команде INDEX смотрите Команда INDEX. The term CANDIDATE is a synonym of UNIQUE and can be used instead if you choose.

Если вы изменяете существующее поле, а выражение первичного индекса или индекса-кандидата состоит из полей таблицы, Visual FoxPro проверяет поля на наличие null значений или дублированных записей. Если они имеются, Visual FoxPro генерирует ошибку и таблица остается неизменной.

Если таблица конвертируется в другую кодовую страницу, поля для которых определено NOCPTRANS не подвергаются транслированию.

Expand image Пример

Пример 1 добавляет поле с именем Fax в таблицу Customer и позволяет полю иметь null значения.

Пример 2 делает поле Cust_id первичным ключом таблицы Customer.

Пример 3 добавляет правило проверки для поля Quantity таблицы Orders которое определяет, что значения в поле Quantity должны быть неотрицательными.

Пример 4 добавляет постоянное отношение один-ко-многим между таблицами Customer и Orders, основанное на первичном ключе Cust_id в таблице Customer и новый внешний индексный ключ table Cust_id в таблицу Orders.

Пример 5 удаляет правило проверки для поля из поля Quantity в таблице Orders.

Пример 6 удаляет постоянное отношение между таблицами Customer и Orderss, но сохраняет индексный тэг Cust_id в таблице Orders.

Пример 7 добавляет поле с именем Fax2 в таблицу Customer и запрещает полю содержать null значения. Отображается новая структура таблицы. Две используемые опции ALTER COLUMN позволяют полю иметь null значения и устанавливают значение по умолчанию в null значение. Отметьте, что для изменения более одного свойства требуются множественные опции ALTER COLUMN в одной команде ALTER TABLE. Новое поле затем удаляется из таблицы и она восстанавливается в исходное состояние.

CopyCode image Скопировать код
* Пример 1
SET PATH TO (HOME(2) + 'Data\')     && устанавливает путь к таблице.
ALTER TABLE Customer ADD COLUMN Fax c(20) NULL

* Пример 2
ALTER TABLE Customer ADD PRIMARY KEY Cust_id TAG Cust_id
ALTER TABLE Customer ALTER COLUMN Cust_id Character(5) PRIMARY KEY

* Пример 3
ALTER TABLE Orders;
    ALTER COLUMN Quantity SET CHECK Quantity >= 0;
    ERROR "Quantities must be non-negative"

* Пример 4
ALTER TABLE Orders;
   ADD FOREIGN KEY Cust_id TAG Cust_id REFERENCES Customer

* Пример 5
ALTER TABLE Orders ALTER COLUMN Quantity DROP CHECK

* Пример 6
ALTER TABLE Orders DROP FOREIGN KEY TAG Cust_id SAVE

* Пример 7
CLEAR
ALTER TABLE Customer ADD COLUMN Fax2 c(20) NOT NULL
DISPLAY STRUCTURE
ALTER TABLE Customer;
   ALTER COLUMN Fax2 NULL;
   ALTER COLUMN Fax2 SET DEFAULT .NULL.
ALTER TABLE Customer DROP COLUMN Fax2

Expand image Смотрите также

Справочное руководство

Функция AFIELDS()
Команда CREATE TABLE - SQL
Команда INDEX
Команда MODIFY STRUCTURE
Команда OPEN DATABASE
Команда SET OPTIMIZE

Концепции

Автоувеличение значений поля в таблице
Использование Rushmore Query Optimization для увеличения скорости доступа к данным

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Команда APPEND

Visual FoxPro 9.0 Справочное руководство по языку
Команда APPEND
Смотрите также Example
CollapseAll image

Добавляет в конец таблицы одну или несколько новых записей.

APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]

Параметры

BLANK

Добавляет в конец текущей таблицы одну пустую запись. Visual FoxPro не открывает окно редактирования при выдаче команды APPEND BLANK.

Вы можете редактировать новую запись с помощью команды BROWSE, CHANGE или EDIT.

IN nWorkArea

Задает рабочую область таблицы, к которой добавляется новая запись.

IN cTableAlias

Задает псевдоним таблицы, к которой добавляется новая запись.

Если аргументы nWorkArea или cTableAlias, опущены, новая запись добавляется к той таблице, которая принадлежит выбранной в данный момент рабочей области. Если выдана команда APPEND, к таблице, заданной аргументом nWorkArea или cTableAlias добавляется пустая запись и таблица автоматически выбирается. Если выдана команда APPEND BLANK, к таблице, заданной аргументом nWorkArea или cTableAlias, добавляется пустая запись, но таблица не выбирается.

NOMENU

Указывает, что из системной строки меню удаляется заголовок меню Table, чтобы не допустить внесения изменений в формат окна редактирования.

Expand image Замечания

Если в момент выдачи команды APPEND или APPEND BLANK таблица в текущей рабочей области не открыта, появляется диалоговое окно Open, в котором можно выбрать таблицу для добавления записей.

Команда APPEND открывает окно редактирования, и вы можете ввести данные в новую запись (или записи). Когда вы добавляете новую запись, Visual FoxPro обновляет все открытые индексы.

Expand image Пример

В следующем примере команда APPEND BLANK используется для создания таблицы, содержащей 10 записей со случайными значениями, затем на экран выводятся максимальное и минимальное значения в таблице.
CopyCode image Copy Code
CLOSE DATABASES
CREATE TABLE curRandom (nValue N(3))
FOR nItem = 1 TO 10
   APPEND BLANK
   REPLACE nValue WITH 1 + 100 * RAND( )
ENDFOR

CLEAR
LIST
SELECT MIN(nValue) as nMinimum, MAX(nValue) AS nMaximum;
   FROM curRandom INTO CURSOR curMinMax
? 'Минимальное значение : ', nMinimum
? 'Максимальное значение: ', nMaximum
CLOSE DATABASES

Expand image Смотрите также

Reference

Команда APPEND FROM ARRAY
Команда BROWSE
Команда SELECT - SQL

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


APPEND FROM ARRAY Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда APPEND FROM ARRAY
Смотрите также Пример
CollapseAll image

Добавляет одну запись в выбранную в данный момент таблицу для каждой строки массива и заполняет каждую запись данными из соответствующей строки массива.

APPEND FROM ARRAY ArrayName [FOR lExpression]
   [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]

Параметры

ArrayName

Задает имя массива, содержащего данные, которые следует помещать в новые записи. Новые записи добавляются в таблицу до тех пор, пока не будут добавлены все строки массива.

FOR lExpression

Задает условие добавления записей из массива. Выражение lExpression должно содержать имя поля назначения в его условном выражении.

Перед добавлением строки массива к записи в таблице проверяется элемент массива, который соответствует полю назначения, заданному выражением lExpression. Если элемент массива удовлетворяет условию lExpression, запись добавляется.

Если элемент массива не удовлетворяет этому условию, строка массива не добавляется и проверяется следующая строка массива - удовлетворяет она условию или нет.

FIELDS FieldList

Указывает, что помещать данные из массива следует только в поля, перечисленные в списке FieldList. В первое поле из списка помещается содержимое первого элемента массива, во второе поле - содержимое второго элемента и т.д.

FIELDS LIKE Skeleton

Указывает, что помещать данные из массива следует только в те поля, названия которых соответствуют шаблону Skeleton.

FIELDS EXCEPT Skeleton

Указывает, что помещать данные из массива следует во все поля, кроме тех, названия которых соответствуют шаблону Skeleton.

Шаблон имени поля Skeleton поддерживает подстановочные символы. В следующем примере данные из массива будут помещены только в поля, названия которых начинаются с букв A и P:

CopyCode image Скопировать код
APPEND FROM ARRAY aMyArray FIELDS LIKE A*,P*

Предложение LIKE может использоваться в комбинации с предложением EXCEPT :

CopyCode image Скопировать код
APPEND FROM ARRAY aMyArray FIELDS LIKE A*,P* EXCEPT PARTNO*

Expand image Замечания

Поля типов Memo, General, and Blob игнорируются командой APPEND FROM ARRAY.

Когда таблица открыта для совместного использования, команда APPEND FROM ARRAY блокирует заголовок таблицы на время добавления записей.

Если массив одномерный, APPEND FROM ARRAY добавляет в таблицу одну запись. Содержимое первого элемента массива заносится в первое поле добавленной записи, содержимое второго элемента - во второе поле и т.д.

Если в одномерном массиве больше столбцов, чем полей в таблице, "лишние" столбцы игнорируются. Если в таблице больше полей, чем столбцов в массиве, "лишние" поля инициализируются заданными по умолчанию "пустыми" значениями. В следующей таблице перечислены "пустые" значения для полей различных типов:

Тип поля | Значение по умолчанию
Character | Пробел
Currency | 0
Date | Пустая дата (CTOD(""))
DateTime | Пустое значение DateTime (CTOT(""))
Double | 0
Float | 0
Integer | 0
Logical | Пусто
Memo | Пусто (нет содержимого)
Numeric | 0

Если в команде участвует двухмерный массив, APPEND FROM ARRAY добавляет к таблице новую запись для каждой строки массива. Например, если в массиве четыре строки, к таблице будут добавлены четыре новые записи.

Содержимое первого столбца массива заполняет первые поля добавляемых записей, второй столбец - вторые поля, и т. д. Например, если массив состоит из четырех строк и трех столбцов, элементы первого столбца заполнят первые поля каждой из четырех новых записей, добавленных к таблице.

Если в двухмерном массиве больше столбцов, чем полей в таблице, "лишние" столбцы игнорируются. Если в таблице больше полей, чем столбцов в массиве, "лишние" поля инициализируются заданными по умолчанию "пустыми" значениями.

Команда APPEND FROM ARRAY может заполнить поле даже в том случае, если тип данных соответствующего элемента массива не совпадает с типом данных поля, но при условии, что данные элемента совместимы с типом данных этого поля. Если данные несовместимы, поле инициализируется "пустым" значением.

Если таблица, в которую производится добавление записей использует автоинкремент, команда APPEND FROM ARRAY потерпит неудачу, когда SET AUTOINCERROR установлена в ON и автоинкрементное поле не исключено из списка полей, в которые помещаются данные из массива, предложением FIELDS. Для успешной работы команды APPEND FROM ARRAY при использовании таблиц с автоинкрементными полями необходимо установить AUTOINCERROR в OFF или воспользоваться функцией CURSORSETPROP( ). В этом случае для автоинкрементного поля или полей будет применено соответствующее инкрементное значение, а не значение из массива.

Expand image Пример

В следующем примере создается таблица и команда APPEND FROM ARRAY используется для добавления записей в нее.
CopyCode image Скопировать код
LOCAL ARRAY aNewRec(3)

* Create the table
CREATE TABLE Test FREE  (Object C(10), Color C(16), SqFt n(6,2))
SCATTER TO aNewRec BLANK  && Create a new array from the table
aNewRec[1]="Box"         && Fill the array
aNewRec[2]="Red"
aNewRec[3]=12.5
APPEND FROM ARRAY aNewRec   && Add record containing array contents
          && to the table

Expand image Смотрите также

Справочное руководство

Команда APPEND
Команда COPY TO ARRAY
Команда DIMENSION
Команда GATHER
Команда SCATTER

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


APPEND FROM Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда APPEND FROM
Смотрите также Пример
CollapseAll image

Добавляет записи в коней текущей выбранной таблицы из другого файла.

APPEND FROM FileName | ?[FIELDS FieldList] [FOR lExpression]
   [[TYPE] [DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB
      | WITH CHARACTER Delimiter] | DIF | FW2 | MOD | PDOX | RPD |
      SDF | SYLK | WK1 | WK3 | WKS | WR1 | WRK | CSV | XLS | XL5
      [SHEET cSheetName] | XL8 [SHEET cSheetName]]] [AS nCodePage]

Параметры

FileName

Указывает имя файла, из которого добавляются записи. Если вы не включите в имя файла его расширение, то подразумевается таблица Visual FoxPro и ее расширение по умолчанию .dbf. Если вы добавляете записи из таблицы Visual FoxPro, то в случае наличия в таблице, из которой производится добавление записей, записей помеченных для удаления и при текущем установке SET DELETED OFF, то такие записи будут также добавлены в таблицу.

?

Отображает диалоговое окно Открыть (Open), в котором вы можете выбрать файл, из которого будут добавляться записи.

FIELDS FieldList

Определяет список полей, данные из которых будут добавляться.

Note Замечание

Вы не можете добавить мемо-поля из текстовых файлов, формата CSV и SDF.

FOR lExpression

Добавляет новую запись для каждой записи в текущей выбранной таблице, для которой lExpression оценивается в True (.T.). Записи добавляются до тех пор, пока не будет достигнут конец текущей выбранной таблицы. Если вы опустите в команде ключевое слово FOR, в текущую выбранную таблицу исходный файл будет добавлен целиком.

TYPE

Определяет тип исходного файла, из которого вы добавляете записи. Хотя вы должны указать тип файла, из которого производится добавление записей, в случае, когда этот файл не является таблицей Visual FoxPro, включение в команду ключа TYPE не является обязательным. Вы можете добавлять записи из широкого набора различных типов файлов, включенные файлы ASCII с разделителями, для которых вы можете указать используемый разделитель полей.

Если исходный файл, из которого добавляются записи, не имеет обычного расширения имени файла, используемого по умолчанию ддя данного типа файла, имя исходного файла должно содержать расширение. Например, рабочие листы Microsoft Excel обычно имеют расширение .xls. Если файл Microsoft Excel, из которого добавляются записи, имеет расширение, отличающееся от ожидаемого .xls, убедитесь, что вы указали в командн его существующее расширение.

Note Замечание

Когда вы добавляете данные из рабочих таблиц Excel, данные в таких таблицах могут храниться в порядке, определяемом строками, а не колонками. Это необходимо учитывать при добавлении данных, что они соответствовали структуре таблицы.

DELIMITED

Указывает, что исходный файл, данные из которого добавляются в текущую таблицу Visual FoxPro представляет собой файл с разделителями. Файл с разделителями представляет собой текст ASCII, в котором каждая запись заканчивается переводом каретки и переносом строки. Содержания полей разделены запятыми, что подразумевается по умолчанию, (не включая лишних пробелов до или после запятых) а значения символьных полей дополнительно разделены кавычками. Например:

CopyCode image Скопировать код
"Smith",9999999,"TELEPHONE"

Для всех файлов с разделителями в качестве расширения подразумевается .txt.

Вы можете импортировать данные из файлов с разделителями в случае, если даты указаны в соответствующем формате. Для дат форматом по умолчанию установлен mm/dd/yy. Включении части года, указывающей век, не является обязательной. Visual FoxPro будет импортировать дату, такую как 12/25/95, которая не имеет вековой составляющей в позиции чисел года, так как будто дата принадлежит двадцатому веку. Разделителем даты может быть любой нечисленный символ, за исключением разделителя, который разделяет поля в файле с разделителями.

Даты в другом формате могут быть импортированы, если их формат соответствует формату, установленному в SET DATE. Для импорта дат, которые не приведены к формату, используемому по умолчанию, выдайде команду SET DATE с соответствующим форматом даты до использования команды APPEND FROM. Для тестирования - будет дата в используемом формате импортирована или нет используйте для теста CTOD( ). Если дата принимается CTOD( ), и вы имеете точный ожидаемый результат, то даты буду импортированы правильно.

DELIMITED WITH Delimiter

Указывает, что символьные поля разеделены символом, отличным от кавычек.

DELIMITED WITH BLANK

Указывает файлы, которые содержат поля, разделенные пробелами вместо запятых.

DELIMITED WITH TAB

Указывает файлы, которые содержат поля, разделенные символами табуляции вместо запятых.

DELIMITED WITH CHARACTER Delimiter

Указывает файлы, которые содержат поля, заключенные в символ, указанный в параметре Delimiter. Если Delimiter представляет собой точку с запятой (символ, используемый в Visual FoxPro для указания продления строки команды ), заключите точку с запятой в кавычки. Вы можете, кроме того, указать ключевые слова BLANK и TAB в качестве параметра Delimiter.

Опция WITH Delimiter может быть объединена с опцией WITH CHARACTER. Например, приведенная ниже команда добавляет записи из текстового файла с символьными полями, заключенные в символы подчеркивания и все поля разделены между собой звездочками:

CopyCode image Скопировать код
APPEND FROM mytxt.txt DELIMITED WITH _ WITH CHARACTER *
DIF

Включите ключевое слово DIF для испорта данных из файлов VisiCalc .dif (Data Interchange Format). Векторы (Vectors) становятся полями в текущей выбранной таблице, а кортежи (tuples) становятся записями. Подразумевается, что файлы DIF имеют расширение .dif.

FW2

Включите ключевое слово FW2 для испорта данных из файлов, созданных Framework II. Подразумевается, что файлы FW2 имеют расширение .fw2.

MOD

Включите ключевое слово MOD для испорта данных из файлов Microsoft Multiplan версии 4.01 . Подразумевается, что файлы MOD имеют расширение .mod.

PDOX

Включите ключевое слово PDOX для испорта данных из файлов Paradox версии 3.5 или 4.0 . Подразумевается, что файлы Paradox имеют расширение .db.

RPD

Включите ключевое слово RPD для испорта данных из файлов, созданных RapidFile version 1.2.Подразумевается, что файлы RapidFile имеют расширение .rpd .

SDF

Включите ключевое слово SDF для импортирования данных из файлов формата System Data Format. Файл SDF представляет собой текстовый ASCII файл, в котором записи имеют фиксированную длину и заканчиваются переводом каретки и переносом строки. Поля не разеделены. В качестве расширения имени файла подразумевается .txt для всех SDF файлов.

Эффективное преобразование даты из файлов SDF в таблицы Visual FoxPro требует, чтобы дата хранилась в формате YYYYMMDD.

Если инфорамция о дате хранится в сомнительном формате, вы должны разметить поле даты в символьное, соответствующей длины, для того чтобы вы могли проинспектировать значение и, затем, применить процедуру корректного преобразования для создания корректно сформатированных данных даты.

SYLK

Включите ключевое слово SYLK для импортирования данных из файлов SYLK (Symbolic Link) interchange format. Файлы SYLK используются в Microsoft MultiPlan. Колонки в файле SYLK становятся полями в таблице Visual FoxPro, а строки - записями. Имена файлов SYLK не имеют расширения.

WK1

Включите ключевое слово WK1 для импортирования данных из файлов таблиц Lotus 1-2-3 ревизии 2.x. Каждая колонка таблицы Lotus становится полем в таблице Visual FoxPro, а каждая строка - записью. Расширение имени файла .WK1 присваивается таблицам, созданным в Lotus 1-2-3 ревизии 2.x.

WK3

Включите ключевое слово WK3 для импортирования данных из файлов таблиц Lotus 1-2-3. Каждая колонка в таблице Lotus становится полем в таблице Visual FoxPro; каждая строка - записью. Расширение имени файла .wk3 присваивается таблицам, созданным в Lotus 1-2-3 ревизии 3.x.

WKS

Включите ключевое слово WKS для импорта данных из Lotus 1-2-3 ревизии 1-A Каждая колонка в таблице Lotus становится полем в таблице Visual FoxPro; каждая строка - записью. Расширение имени файла .wks присваивается таблицам, созданным в Lotus 1-2-3 ревизии 1-A.

WR1

Включите ключевое слово WR1 для импорта данных из Lotus Symphony версии 1.1 or 1.2 . Каждая колонка в таблице Lotus становится полем в таблице Visual FoxPro; каждая строка - записью. Расширение имени файла .wr1 присваивается таблицам, созданным в Lotus Symphony версии 1.1 или 1.2.

WRK

Включите ключевое слово WRK для импорта данных из Lotus Symphony версии 1.0 Каждая колонка в таблице Lotus становится полем в таблице Visual FoxPro; каждая строка - записью. Расширение имени файла .wrk присваивается таблицам, созданным в Lotus Symphony версии 1.0.

CSV

Включите ключевое слово CSV для импорта данных из файла со значениями, разделенными запятами. Файла CSV имеет в первой строке перечисление имен полей; эта строка игнорируется при импорте файла.

XLS

Включите ключевое слово XLS для импорта данных из Microsoft Excel worksheet. Каждая колонка становится полем в таблице, а каждая строка рабочего листа - записью. Файлы рабочих листо, созданные в Microsoft Excel имеют в имени файла расширение .xls.

XL5

Включите ключевое слово XL5 для импорта данных из Microsoft Excel версии 5.0. Колонки из рабочего листа становятся полями таблицы, а строки - записями. Рабочие листы, созданыые в Microsoft Excel имеют расширение имени файла .xls.

Если вы опустите опцию SHEET, то импортируются данные из Sheet1. Для импорта данных из конкретного листа, включите в команду ключевое слово SHEET и укажите имя листа в cSheetName.

XL8

Включите ключевое слово XL8 для импорта данных из Microsoft Excel 97. Колонки из рабочего листа становятся полями таблицы, а строки - записями. Файлы рабочих таблиц, созданные в Microsoft Excel имеют расширение .xls.

Если вы опустите опцию SHEET, то импортируются данные из Sheet1. Для импорта данных из конкретного листа, включите в команду ключевое слово SHEET и укажите имя листа в cSheetName.

AS nCodePage

Указывает кодовую страницу исходной таблицы или файла. Visual FoxPro копирует содержимое исходной таблицы или файла и, при копировании данных, автоматически преобразует данные в кодовую страницу текущей таблицы.

Если указанное в nCodePage значение не поддерживается, Visual FoxPro генерирует сообщение об ошибке. Вы можете использовать GETCP( ) для nCodePage для вывода диалогового окна Code Page, что предоставляет вам возможность указать кодовую страницу для добавляемой таблицы или файла.

Если вы опустите AS nCodePage, а Visual FoxPro не сможет определить кодовую страницу исходной таблицы или файла, то Visual FoxPro просто скопирует содержимое исходной таблицы или файла. При копировании, он автоматически преобразует данные в текущую кодовую страницу. Если SET CPDIALOG установлен в ON, таблица в текущей выбранной рабочей области маркируется кодовой страницей. Если вы добавляете данные из таблицы, которая не маркирована кодовой страницей, то будет отображено диалоговое окно Кодовая страница (Code Page), что даст вам возможность выбрать кодовую страницу таблицы, из которой добавляются данные. Текущая кодовая страница Visual FoxPro может быть определена с помощью функции CPCURRENT().

Если вы опустите AS nCodePage, а Visual FoxPro сможет определить кодовую страницу добавляемой таблицы или файла,Visual FoxPro копирует содержание добавляемой таблицы или файла. При копировании производится автоматическое преобразование данных в кодовую страницу текущей, выбранной таблицы.

Если nCodePage равно 0, Visual FoxPro подразумевает, что кодовая страница добавляемой таблицы или файла та же самая, что и кодовая страница текущей выбранной таблицы. В таком случае не производится преобразование кодовых страниц.

Expand image Примечания

Если файл, из которые вы добавляете данные представляет собой таблицу Visual FoxPro или таблицу, созданную в ранних версиях FoxPro, то подразуемается расширение файла .dbf. Если таблица Visual FoxPro или таблица, созданная в ранних версиях FoxPro не имеют расширения .dbf, вы можете указать расширение, которое имеет файл, из которого добавляются данные. Если файл не является таблицей Visual FoxPro или таблицей, созданной в ранних версиях FoxPro, вы должны указать тип файла, из которого вы добавляете данные.

До того, как вы сможете добавить данные из таблиц, созданных в dBASE IV или dBASE V, которые содержат мемо-поля, вы сначала должны открыть таблицу в Visual FoxPro с помощью команды USE. Когда вы будете запрошены о преобразовании файла, выберите Yes.

Если вы добавляете данные из таблицы Visual FoxPro или таблицы, созданной в ранних версиях FoxPro, таблица, из которой вы добавляете данные должна быть открыта в свободной рабочей области.

Используйте функцию DBF( ) для добавления данных из временных курсоров, имеющих атрибут "только для чтения", созданных командой SELECT - SQL. Включите имя курсора в функцию DBF( ) так, как показано в приведенном ниже примере:

CopyCode image Скопировать код
APPEND FROM DBF('<Cursor Name>')

Если целевая таблица, то есть таблица, в которую добавляются записи использует автоувеличение значений поля, APPEND FROM не сработает, если AUTOINCERROR установлено в ON, если опция FIELDS не используется для пропуска полей с AUTOINC. Установка AUTOINCERROR в OFF или выключение автоувеличения целевой таблицы с помощью функции CURSORSETPROP( ) позволяет провести добавление записей с помощью APPEND FROM. Поля автоувеличения целевой таблицы или поля, значения которых увеличиваются в соответствии с указанными значениями, а также значения в исходной таблице не используются.

Expand image Пример

В приведенном ниже примере таблица customer открыта, ее структура копируется в таблицу с названием backup, и эта таблица - backup также открывается. Затем Visual FoxPro добавляет все записи, для которых значение поля равно Finland, из таблицы customer. Эти записи затем копируются в новый, разделенный запятыми файл с именем TEMP.TXT.
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Open customer table
COPY STRUCTURE TO backup
USE backup
APPEND FROM customer FOR country = 'Finland'
COPY TO temp TYPE DELIMITED
MODIFY FILE temp.txt
USE
DELETE FILE backup.dbf
DELETE FILE temp.txt

Expand image Смотрите также

Справочное руководство

Команда COPY FILE
Команда COPY TO
Команда EXPORT
Фнукция GETCP( )
Команда IMPORT
Команда SET DELETED

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


APPEND GENERAL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда APPEND GENERAL
Смотрите также Пример
CollapseAll image

Импортирует объект OLE из файла и помещает его в поле типа General.

APPEND GENERAL GeneralFieldName [FROM FileName]
   [DATA cExpression] [LINK] [CLASS OLEClassName]

Параметры

GeneralFieldName

Задает имя поля типа General, в которое нужно поместить объект OLE. Можно задать поле типа General в таблице, которая открыта в рабочей области, отличной от текущей: для этого необходимо вместе с именем поля указать псевдоним таблицы.

FROM FileName
DATA cExpression

Задает символьное выражение, которое определяется и пересылается в качестве символьной строки в объект OLE в поле типа General. Обьект OLE должен быть в состоянии принять и обработать строку. например, нельзя переслать символьную строку графическому обьекту, такому как Paintbrush.

LINK

Создает связь между объектом OLE и файлом, содержащим объект. Объект OLE переходит в поле типа General, но описание объекта остается в файле. Если опустить параметр LINK, объект OLE будет внедрен в поле типа General.

CLASS OLEClassName

Задает для объекта OLE класс OLE, отличный от принимаемого по умолчанию.

Имя класса можно задать, когда расширение имени файла, содержащего объект OLE, отличается от расширения, используемого по умолчанию, и вы хотите установить режим работы, свойственный данному классу. Если расширение, принимаемое по умолчанию, может использоваться несколькими Automation серверами, задайте класс, чтобы указать конкретный сервер.

Expand image Замечания

Если в поле типа General уже существует объект OLE, он замещается объектом OLE из файла. Чтобы удалять объект OLE из поля general, выдайте APPEND GENERAL GeneralFieldName (GeneralFieldName имя поля general для очистки) без дополнительных параметров.

Для получения дополнительной информации об объектах OLE в Visual FoxPro, смотрите .Совместное использование информации и добавления OLE.

Expand image Пример

Следующий пример импортирует диаграмму Microsoft Excel из каталога Excel в поле типа general с именем mygenfield.
CopyCode image Copy Code
CREATE TABLE MyGenTbl (mygenfield G)
APPEND BLANK  && Add a blank record
APPEND GENERAL mygenfield FROM C:\EXCEL\BOOK1.XLS CLASS EXCELCHART

Expand image Смотрите также

Справочное руководство

Элемент управления Image (Visual FoxPro)
Элемент управления OLE Container
Команда MODIFY GENERAL
Элемент управления OLE Bound

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


APPEND MEMO Command

Visual FoxPro 9.0 Language Reference
APPEND MEMO Команда
See Also Example

Копирует содержание текстового файла в memo-поле.

APPEND MEMO MemoFieldName FROM FileName[OVERWRITE] [AS nCodePage]

Параметры

MemoFieldName

Определяет имя memo-поля, в конец которого добавляется файл.
FROM FileName

Определяет текстовый файл, содержание которого копируется в memo-поле. Вы должны указать полное имя текстового файла, включая его расширение.
OVERWRITE

Заменяет текущее содержание memo-поля содержанием файла.
AS nCodePage

Определяет кодовую страницу текстового файла, копируемого в memo-поле. Microsoft Visual FoxPro копирует содержание текстового файла и во время копирования данных в memo-поле, автоматически конвертирует данные из указанной кодовой страницы в кодовую страницу таблицы, содержащей memo-поле. Если таблица, содержащая memo-поле не имеет отметки о кодовой странице, Visual FoxPro автоматически конвертирует данные из кодовой страницы, которую Вы определяете в текущую кодовую страницу Visual FoxPro. Если Вы определяете неподдерживаемое значение для nCodePage , Visual FoxPro генерирует сообщение об ошибке. Вы можете использовать GETCP( ) для nCodePage для вывода диалогового окна Code Page, разрешающего Вам определить кодовую страницу для добавляемой таблицы или файла. Если Вы опускаете предложение AS nCodePage или определяет 0 для nCodePage , никаких преобразований кодовой страницы не происходит для этого текстового файла.

Замечания

Текстовый файл полностью добавляется в конец содержания указанного memo-поля текущей записи, если опущено overwrite.

Пример

В следующем примере, содержание memo-поля notes копируются в файл Test.txt. Затем Test.txt добавляется к содержанию memo-поля. Наконец, содержание Test.txt заменяет текущее содержание memo-поля.

Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee  && Open Employee table
WAIT WINDOW 'Employee notes memo field - press ESC' NOWAIT
MODIFY MEMO notes NOEDIT  && Open the notes memo field
COPY MEMO notes TO test.txt  && Create test file from memo field
WAIT WINDOW 'TEST.TXT text file - press ESC' NOWAIT
MODIFY FILE test.txt NOEDIT && Open the text file
WAIT WINDOW 'Employee notes now appended - press ESC' NOWAIT
APPEND MEMO notes FROM test.txt  && Add contents of text file
MODIFY MEMO notes NOEDIT  && Display memo field again
WAIT WINDOW 'Overwrite Employee notes- press ESC' NOWAIT
APPEND MEMO notes FROM test.txt OVERWRITE  && Replace notes
MODIFY MEMO notes NOEDIT NOWAIT
DELETE FILE test.txt

See Also

Other Resources

COPY MEMO Command
GETCP( ) Function
CLOSE MEMO Command
SET WINDOW OF MEMO Command
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


APPEND PROCEDURES Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда APPEND PROCEDURES
Смотрите также Пример
CollapseAll image

Добавляет хранимые процедуры из текстового файла в текущую базу данных.

APPEND PROCEDURES FROM FileName   [AS nCodePage] [OVERWRITE]

Параметры

FileName

Указывает имя текстового файла, из которого будут добавляться хранимые процедуры.

AS nCodePage

Указывает кодовую страницу текстового файла, из которого будут добавляться хранимые процедуры. Visual FoxPro копирует содержимое текстового файла и, после того, как это будет завершено, автоматически конвертирует содержимое текстового файла в указанную вами кодовую страницу.

Если в качестве значения для nCodePage неподдерживаемую кодовую страницу, Visual FoxPro сгенерирует сообщение об ошибке. Вы можете использовать функцию GETCP( ) для nCodePage с тем, чтобы отобразить диалоговое окно "Code Page", с помощью которого вы сможете указать кодовую страницу для текстового файла, из которого будут добавляться хранимые процедуры.

Если вы опустите AS nCodePage, Visual FoxPro скопирует содержимое текстового файла из которого будут добавляться хранимые процедуры, и после завершения этой операции, автоматически сконвертирует содержимое текстового файла в текущую кодовую страницу Visual FoxPro. Значение текущей кодовой страницы Visual FoxPro может быть определено с помощью функции CPCURRENT().

Если nCodePage указана равной 0, Visual FoxPro подразумевает, что кодовая страница текстового файла, из которого будут добавляться хранимые процедуры, равна кодовой странице текущей базы данных и не будет производить соответствующей конвертации.

OVERWRITE

Указывает, что текущие хранимые процедуры в базе данных, будут переписаны содержимым текстового файла. Если вы опустите в команде ключевое слово OVERWRITE, то текущие хранимые процедуры в файле не переписываются, а содержимое текстового файла просто добавляется к уже имеющимся хранимым процедурам в базе данных.

Expand image Примечания

APPEND PROCEDURES недоступно в распространяемом исполнимом файле. Если ваше приложение использует эту команду, то будет сгенерирована ошибка "Feature is not available." Для получения более подробной информации об ограничения и распространении файлов Visual FoxPro, смотрите описание Распространяемые и запрещенные возможности и файлы Visual FoxPro

Используйте команду APPEND PROCEDURES для программного изменения хранимых процедур в базе данных. В этом случае, база данных должна быть открыта и являться текущей при выдаче команды APPEND PROCEDURES; в противном случае Visual FoxPro сгенерирует сообщение об ошибке.

Замечание Замечание

Для просмотра и редактирования хранимых процедур с помощью интерфейса пользователя, используйте Database Designer.

Expand image Пример

Приведенный ниже пример открывает базу данных testdata. Создается временная таблица с именем mytable, с единстенным мемо-полем и для сохранения хранимой процедуры с именем MyProcedure в этом мемо-поле используется команда REPLACE COPY MEMO используется для создания временного текстового файла с именеме Mytemp.txt, который содержит содержимеое мемо-поля.

Команда APPEND PROCEDURES для добавления хранимой процедуры из временного текстового файла в базу данных. Команда DISPLAY PROCEDURES отображает хранимые процедуры базы данных, послe чего временная таблица и временный текстовый файл стираются с диска.

CopyCode image Скопировать код
CLOSE DATABASES
* Открывает базу данных testdata
OPEN DATABASE (HOME(2) + 'Data\testdata')

* Создает свободную, временную таблицу с единственным полем (тип мемо) с именемmProcedure
CREATE TABLE mytable FREE (mProcedure M)
APPEND BLANK          && Добавляет в таблицу пустую запись

* Добавляет команду PROCEDUREЮ имя и сочетание "возврат каретки/перевод линии"
* в мемо поле
REPLACE mProcedure WITH "PROCEDURE MyProcedure" + CHR(13) + CHR(10)

* Копирует содержимое мемо-поля во временный файл
COPY MEMO mProcedure TO mytemp.txt
USE             && Закрывает временную таблицу

APPEND PROCEDURES FROM mytemp.txt   && Копирует процедуру в базу данных
CLEAR

* Отображает процедуры, ассоцммрованные с текущей базой данных
DISPLAY PROCEDURES
DELETE FILE mytable.dbf     && Стирает временную таблицу
DELETE FILE mytable.fpt     && Стирает мемо-файл временной таблицы
DELETE FILE mytemp.txt      && Стирает временный текстовый файл

Expand image Смотрите также

Справочное руководство

Команда COPY PROCEDURES
Команда CREATE TRIGGER
Команда DISPLAY PROCEDURES
Команда MODIFY PROCEDURE
Команда OPEN DATABASE
Команда PROCEDURE
Команда SET DATABASE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ASSERT Command

Visual FoxPro 9.0 Описание Языка
ASSERT, команда
См. также Пример
CollapseAll image

Отображает диалоговый бокс с Сообщением, при значении выражения = False (.F.).

Когда выражение, указанное в команде ASSERT, принимает значение = False (.F.), данная команда отображает соответствующее сообщение в системном окне Debug Output подсистемы Отладчика (Debugger).

Note Примечание

Команда ASSERT игнорируется в компилированных приложениях, в режимах RunTime.

ASSERT lExpression [MESSAGE cMessageText]

Параметры

lExpression

Определяет специальное логическое выражение. Если данное выражение lExpression принимает значение = False (.F.), отображается предусмотренный диалоговый бокс с сообщением. Если выражение lExpression принимает значение = True (.T.), диалоговый бокс с Сообщением не отображается.

cMessageText

Определяет текст Специального Сообщения. Если вы не указываете данный параметр cMessageText, то отображается текст предусмотренный системой, также отображается номер строки программного модуля, где располагается соответствующая команда ASSERT.

Expand image Комментарии

Вы можете отределить текст отображаемого Сообщения при помощи команды SET ASSERTS. Дополнительную информацию см. в разделе: SET ASSERTS, команда.

Диалоговый бокс с соответствующим сообщением содержит следующие командные кнопки: Debug, Cancel, Ignore, и Ignore All. В следующей далее таблице описываются соответствующие действия, выполняемые указанными командными кнопками.

Кнопка | Краткое Описание
Debug | Останавливает выполнение текущего Программного модуля, активирует системное окно Trace Отладчика Debug.
Cancel | Прерывает выполнение программного модуля.
Ignore | Продолжает выполнение с команды, следующей за командой ASSERT.
Ignore All | Продолжает выполнение программного модуля с команды, следующей за командой ASSERT, выполняет переключение системной установки SET ASSERTS = OFF. Игнорирует последующие команды ASSERT, до явного переключения: SET ASSERTS = ON.

Expand image Пример

Предположим, вы создаете некоторую функцию, которая должна принять ненулевой параметр. В следующей строке программного кода создается предупреждение о получении нулевого параметра:

CopyCode image Копировать Код
ASSERT nParm != 0 MESSAGE "Received a parameter of 0"

Expand image См. также

Описание

Системное Окно Отладчика

Концепции

Отладка приложений

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


AVERAGE Command

Visual FoxPro 9.0 Справка по языку
Команда AVERAGE
Смотрите также Пример

Вычисляет среднее арифметическое числовых выражений или значений из полей таблицы.

AVERAGE [ExpressionList] [Scope] [FOR lExpression1] [WHILElExpression2]
 [TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]

Параметры

ExpressionList

Указывает выражения для нахождения среднего значения. ExpressionList может быть списком полей таблицы, разделенных запятыми или числовых выражений, содержащих имена полей таблицы.
Scope

Указывает запись или диапазон записей для нахождения среднего значения. В вычислении среднего будут участвовать только записи, находящиеся внутри указанного диапазона. Допускается указывать диапазон в виде ALL, NEXT nRecords, RECORD nRecordNumber и REST. По умолчанию принимается диапазон ALL. Команды, которые включают Scope, относятся только к таблице, открытой в текущей рабочей области.
FOR lExpression1

Указывает условие, в соответствии с которым в расчет принимаются только записи, для которых истинно логическое выражение lExpression. Эта опция позволяет вам отфильтровать ненужные записи. Если условие lExpression является оптимизируемым выражением, к команде AVERAGE FOR применима оптимизация запросов Rushmore. Для достижения лучшей производительности используйте оптимизируемые выражения в опции FOR. Для получения дальнейших сведений об оптимизируемых выражениях Rushmore обращайтесь к темам Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.
WHILE lExpression2

Указывает, что записи будут включаться в вычисление среднего значения только до тех пор, пока логическое выражение lExpression2 остается истинным (.T.).
TO VarList

Указывает список переменных или элементов массива, в которых запоминаются вычисленные значения среднего.
TO ARRAY ArrayName

Указывает одномерный массив, в котором будут сохранены вычисленные значения среднего. Одномерный массив может быть создан до выполнения команды AVERAGE. Если массив, имя которого вы указали в команде AVERAGE не существует, Visual FoxPro создаст его автоматически. Если массив существует и его размер недостаточен для размещения всех результатов, Visual FoxPro автоматически увеличит размер массива с тем, чтобы разместить всю необходимую информацию.
NOOPTIMIZE

Отключает оптимизацию Rushmore для команды AVERAGE. Для получения дальнейших сведений обратитесь к темам Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Примечания

Если вы не укажете необязательный список выражений, средние значения будут вычислены по всем полям выбранной таблицы. Результаты отображаются на экране если установка SET TALK находится в ON. Если установка SET HEADINGS находится в ON, строке с результатами будет предшествовать строка с именами полей или выражений, содержащих имена полей.

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders && Open order table

CLEAR
AVERAGE Order_Amt && Calcuate averages of all orders
AVERAGE Order_Amt TO gnAvg && Store average to memory variable
? 'Average order amount: '
?? gnAvg && Display the average again

Смотрите также

Команда CALCULATE
Команда DIMENSION
Команда SET HEADINGS
Команда SUM
Использование оптимизации запросов Rushmore для ускорения доступа к данным
Команда SET OPTIMIZE
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BEGIN TRANSACTION Command

Visual FoxPro 9.0 Справочник Языка
BEGIN TRANSACTION Команда
См. Также Пример

Начинает транзакцию. Транзакции поддерживаются только для таблиц в базе данных. См. CREATE DATABASE и ADD TABLE для информации относительно того, как создавать и добавлять таблицы к базе данных.

BEGIN TRANSACTION

Замечания

Чтобы сохранять любые сделанные Вами изменения и завершить транзакцию, примените END TRANSACTION. Если происходит сбой выполнения транзакции (сбои сервера, сбои рабочей станции, или Вы выходите из Visual FoxPro без подтверждения транзакции) или если Вы применяете ROLLBACK, то файл или файлы участвующие в транзакции восстанавливаются в их первоначальное состояние.

Транзакции могут быть вложены на глубину до пяти уровней. Ошибка будет генерироваться, если Вы сделаете попытку вложения шестого уровня.

Когда Вы изменяете записи в таблице, которая участвует в транзакции, другие пользователи в сети не имеют доступа (чтение или запись) к записям, пока Вы не закончите транзакцию.

Когда другие пользователи в сети пробуют обратиться к записям, которые Вы изменили, они должны ждать, пока Вы не закончите вашу транзакцию. Они будут получать сообщение "Запись не доступна ..., пожалуйста ждите" до тех пор, пока записи не станут доступными. По этой причине, важно свести время транзакции к минимуму или провести транзакцию в течение того времени, когда другие не нуждаются в доступе.

Все индексные файлы IDX (неструктурные или non-CDX индексы) должны быть закрыты в течение транзакций. Только структурные индексы поддерживаются при выполнении транзакций.

Следующие команды и функции не поддерживаются при выполнении транзакции:

Команды и функции |
ADD TABLE | DELETE CONNECTION
APPEND PROCEDURES | DELETE DATABASE
CLEAR ALL | DELETE TRIGGER
CLOSE ALL1 | DELETE VIEW
CLOSE DATABASES1 | MODIFY CONNECTION
COPY INDEXES | MODIFY DATABASE
COPY PROCEDURES | MODIFY PROCEDURE
CREATE CONNECTION | MODIFY VIEW
CREATE DATABASE | REMOVE TABLE
CREATE TRIGGER | RENAME TABLE
CREATE VIEW | REQUERY ()
CREATE SQL VIEW |

1, если применяется CLOSE ALL в то время как происходит транзакция, все таблицы во всех открытых базах данных закрываются. Однако, базы данных остаются открытыми. Применение CLOSE DATABASES во время транзакции закрывает все таблицы в текущей базе данных, но база данных остается открытой.

Также, следующие команды и функции не могут использоваться для указанной таблицы, участвующей в транзакции:

Команды и функции |
ALTER TABLE | MODIFY STRUCTURE
CREATE TABLE | PACK
CURSORSETPROP () | REINDEX
DELETE TAG | TABLEREVERT ()
INDEX | ZAP
INSERT |

Пример

В следующем примере, открывается таблица клиентов в базе данных testdata. Устанавливается оптимистическая буферизация для таблицы клиентов. Отображается содержание полей cust_id и company и затем содержание поля company заменяется в условиях буферизации данных.

Применяется BEGIN TRANSACTION чтобы запустить транзакцию. Функция TABLEUPDATE( ) используется, чтобы записать изменения в таблицу. Отображается новое содержание и применяется ROLLBACK для восстановления первоначального содержания поля company . Снова отображаются поля cust_id и company с полем company , содержащим свои первоначальные значения.

Скопировать код
CLEAR
CLOSE DATABASES
* Транзакции поддерживаются только в пределах DBC
OPEN DATABASE (HOME(2) + 'Data\testdata')
SET MULTILOCKS ON      && Требование для буферизации
USE customer
=CURSORSETPROP("Buffering",5)
? 'Первоначальное поле company'
LIST FIELDS cust_id, company NEXT 5
REPLACE ALL company WITH "***" && Замените содержание полей

   =TABLEUPDATE(.T.)
   GO TOP
   ? 'Модифицированное поле company'
   LIST FIELDS cust_id, company NEXT 5
   ROLLBACK           && Восстановите первоначальное содержание полей
=TABLEREVERT(.T.)
GO TOP
? 'Восстановленное поле company'
LIST FIELDS cust_id, company NEXT 5

См. Также

Ссылки

MAKETRANSACTABLE () Функция
ISTRANSACTABLE () Функция

Другие Ресурсы

END TRANSACTION Команда
ROLLBACK Команда
TXNLEVEL( ) Функция
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BLANK Command

Visual FoxPro 9.0 Описание Языка
BLANK, команда
См. также Пример
CollapseAll image

Очищает указанные (или все) поля текущей Записи Таблицы, если не указаны дополнительные параметры.

BLANK [FIELDS FieldList] [DEFAULT [AUTOINC]] [Scope] [FOR lExpression1]
 [WHILE lExpression2] [NOOPTIMIZE] [IN nWorkArea | cTableAlias]

Параметры

[FIELDS FieldList]

Определяет список очищаемых полей Таблицы FieldList. Если данная секция FIELDS cотсутствует, предролагаются все поля рассматриываемой Таблицы. Если указывается имя поля, относящееся к другой, не текущей таблице, оно должно быть указано вместе с соответствующим алиасом (в целях однозначного соответствия и возможных ошибок).

Note Примечание

Команда BLANK не очищает соответствующие поля записей таблицы, связанной с текущей таблицей, если указатель записей расположен вне-данных (EOF()=.t.). Если Указатель записи текущей таблицы установлен в актуальное состояние, а в дочерней таблице существуют соответствующие записи, тогда команда BLANK может очистить данные в указанных полях дочерней записи.

[DEFAULT [AUTOINC]]

Определяет создание начальных значений для всех очищаемых полей, для которых в Базе Данных созданы соответствующие значения (значения по-умолчанию). Если список полей не указан, то всем полям будут присвоены начальные значения. Секция DEFAULT игнорируется для Свободных таблиц (не закрепленных за базой данных).

Ключевое слово AUTOINC определяет задание начального значения для соответствующих полей таблицы, которые имеют соответствующую характеристику. Если опция AUTOINC отсутствует, то присваивается начальные значения соответствующим полям.

Note Примечание

Для автоматического изменения автоинкрементных полей требуется временная блокировка Заголовка Таблицы. Если вы выполняете команду BLANK, с опциями DEFAULT AUTOINC, таблица открыта в режиме коллективного доступа, системная команда SET MULTILOCKS находится в состоянии = OFF, Visual FoxPro генерирует сообщение об Ошибке. Блокировка Записи невозможна.

Scope

Определяет диапазон обрабатываемых Записей Таблицы, поля которых будут очищены. По-умолчанию, команда BLANK очищает текущую запись таблицы, предполагается опция (NEXT 1). Очищаются только те записи, которые входят в указанный диапазон.

Ключевыми опциями Диапазона являются: ALL, NEXT nRecords, RECORD nRecordNumber, и REST.

Рассматриваемые опции Диапазона работают только с текущей Рабочей Областью.

Дополнительную информацию смотрите в разделе: Опции Диапазона.

FOR lExpression1

Определяет логическое условие, если значение заданного выражения lExpression1 = True (.T.), то поля соответствующих Записей Очищаются. Если указанное логическое условие BLANK FOR lExpression1 оптимизируемо, то может быть применена технология "Rushmore Query Optimization". О возможностях данной технологии смотрите в разделе: Использование Технологии Rushmore оптимизации Запросов для ускорения доступа к данным.

WHILE lExpression2

Определяет логическое условие очистки полей соответствующих Записей Таблицы, пока данное условие lExpression2 = True (.T.) - записи очищаются.

NOOPTIMIZE

Отключает оптимизацию Rushmore при выполнении команды BLANK. Смотрите дополнительно разделы: SET OPTIMIZE, команда и Использование Технологии Rushmore оптимизации запросов для ускорения доступа к данным.

IN nWorkArea| cTableAlias

Определяет номер рабочей области или алиас соответствующей таблицы, поля записей которой будут очищаться при помощи команды BLANK. Данная опция используется для указания ссылки на таблицу, открытую не в текущей рабочей области.

Expand image Комментарии

Для проверки того факта, очищено ли поле таблицы, используйте функцию: ISBLANK( ).

Для добавления новой Записи в конец Таблицы - используйте команду APPEND BLANK.

Expand image Пример

В рассматриваемом далее примере: открывается таблица с именем customer, которая закреплена за Базой Данных testdata . Отображается содержание полей первой Записи таболицы. Команда SCATTER используется для получения копии данных в массиве переменных памяти. Текущая запись очищается при промощи команды BLANK, вновь отображается содержание полей записи. Команда GATHER используется для восстановления сохраненных ранее данных в Записи, и восстановленные данные отображаются опять.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table

CLEAR
DISPLAY && Displays the current record
SCATTER TO gaCustomer && Create array with record contents
BLANK && Clear the record
DISPLAY && Displays the blank record
GATHER FROM gaCustomer && Restore original record contents
DISPLAY && Display the restored record

Expand image См. также

Описание

APPEND , команда
EMPTY( ), функция
ISBLANK( ), функция
REPLACE , команда (Visual FoxPro)
SET OPTIMIZE , команда

Концепции

Использование технологии "Rushmore" оптимизации запросов для ускорения доступа к данным

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


BROWSE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда BROWSE
Смотрите также
CollapseAll image

Открывает окно просмотра Browse и отображает записи из текущей или выбранной таблицы.

BROWSE [FIELDS FieldList] [FONT cFontName [, nFontSize [, nFontCharSet]]]
   [STYLE cFontStyle] [FOR lExpression1 [REST]] [FORMAT]
   [FREEZE FieldName] [KEY eExpression1 [, eExpression2]] [LAST | NOINIT]
   [LOCK nNumberOfFields] [LPARTITION] [NAME ObjectName] [NOAPPEND]
   [NOCAPTIONS] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID]
   [NOLINK] [NOMENU] [NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT]
   [PARTITION nColumnNumber [LEDIT] [REDIT]]
   [PREFERENCE PreferenceName] [SAVE] [TIMEOUT nSeconds]
   [TITLE cTitleText] [VALID [:F] lExpression2 [ERROR cMessageText]]
   [WHEN lExpression3] [WIDTH nFieldWidth] [WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber]

Параметры

FIELDS FieldList

Определяет список полей, которые появятся в окне Browse. Поля отображаются в порядке, указанном в FieldList. Вы можете включить в список поля из других, связанных таблиц. Когда вы включаете поля из связанной таблицы, дополните имя поля спереди псевдоименем таблицы и точкой.

Если вы в команде опустите ключевое слово FIELDS, то будут отображены все поля таблицы, в порядке, в котором они определены в структуре таблицы.

FONT cFontName[, nFontSize [, nFontCharSet]]

Определяет шрифт и его размер для окна Browse. Символьное выражение cFontName указывает имя шрифта, а численное выражение nFontSize - его размер. Вы можете указать скрипт языка в параметре nFontCharSet. Смотрите описание функции GETFONT(), в котором вы найдете списко доступных значений скрипта языков.

Например, приведенная ниже опция шрифта определит шрифт Courier размером в 16 pt для полей, отображаемых в окне Browse:

CopyCode image Copy Code
FONT 'Courier',16

Если вы включите в команду опцию FONT, но не укажите размер шрифта nFontSize, для окна Browse будет использоваться шрифт размеров в 10 pt. Если вы вообще опустите в команде опцию FONT, то будет использоваться шрифт размером 8-pt с именем MS Sans Serif.

Если указанный вами шрифт недоступен, то для замещения будет использоваться шрифт со схожими характеристиками.

STYLE cFontStyle

Определяет стиль шрифта для окна Browse. Если вы опустите в команде параметр STYLE, то для шрифта будет использоваться нормальный стиль

Если указанный вами стиль шрифта недоступен, то для замещения будет использоваться стиль шрифта со схожими характеристиками или Normal.

Символ Стиль шрифта

B

Bold (жирный)

I

Italic (наклонный или курсив)

N

Normal (

O

Outline

Q

Opaque

S

Shadow

–

Strikeout

T

Transparent

U

Underline

Вы можете включить в команду более одного символа для указания комбинацией стилей шрифта. Приведенный ниже пример открывает окно Browse и использует подчеркнутый шрифт:

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
IF _WINDOWS
   BROWSE FIELDS contact FONT 'System', 15  STYLE 'NU'
ENDIF
IF _MAC
   BROWSE FIELDS contact FONT 'Geneva', 14  STYLE 'NU'
ENDIF
FOR lExpression1

Указывает условие, по которому в окне Browse будут отображаться только те записи, для которых выражение lExpression1 оценивается в true .T. .

Rushmore Query Optimization оптимизирует запрос, указанный с помощью BROWSE FOR в случае, если lExpression1 представляет собой оптимизируемое выражение. Для получения наивысшей производительности используйте для опции FOR оптимизируемые выражения. Для получения более подробной информации об оптимизируемых выражениях Rushmore смотрите описание команды SET OPTIMIZE и статью Использование Rushmore Query Optimization для ускорения обращения к данным.

Включите FOR для перемещения указателя записи к первой записи, отвечающей условию. Включите REST для удержания указателя записи в его текущей позиции.

REST

Предотвращает перемещение указателя записи из его текущей позиции к вершине таблицы, когда окно Browse открывается с опцией FOR. В противном случае, BROWSE, по умолчанию, позиционирует указатель записи на вершину таблицы.

FORMAT

Определяет использование файла формата для управления отображением и формата ввода данных в окне Browse. Файл формата сначала нужно открыть с помощью команды SET FORMAT. Приведенная ниже информация извлечена из файла формата и применяется к окну Browse:

  • Список полей для просмотра

  • Все опции VALID

  • Все опции WHEN

  • Все опции RANGE

  • Размеры поля (как указано в опциях PICTURE)

  • Вы выражения SAY (включены как вычисляемые поля BROWSE)

Приведенный ниже пример использует файл формата для проверки данных, введенных в окне Browse. Позиции, указанные с помощью @ ... GET игнорируются.

Первая строка кода создает для BROWSE поле (cust_id), которое имеет ширину в 5 символов и позволяет вводит только буквы и цифры. Вторая строка создает для BROWSE поле (company), которое не может содержать пустое значение и может вместить до 20 (максимум) алфавитных символов.

Третья строка создает для BROWSE поле (contact) в которое вы можете ввести данные только в том случае, когда оно не содержит никакого значения.

Ниже приводится содержание файла формата Custentr.fmt, который используется для проверки данных, вводимых в таблицу customer:

CopyCode image Copy Code
@ 3,0 GET cust_id PICTURE 'NNNNN'
@ 3,0 GET company VALID company != SPACE(40) ;
   PICTURE 'AAAAAAAAAAAAAAAAAAAA'
@ 3,0 GET contact WHEN contact = SPACE(40)

* Ниже приведена программа, которая использует файл формата
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
SET FORMAT TO custentr.fmt
BROWSE FORMAT
FREEZE FieldName

Позволяет в окне Browse производить изменения только в одном поле. Вы указываете это поле в FieldName. Оставшиеся поля будут отображаться, но не могут редактироваться.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
BROWSE FIELDS phone :H = 'Phone Number:' , ;
   company :H = 'Company:' ;
   FREEZE phone
KEY eExpression1[, eExpression2]

Ограничивает область записей, которые отображаются в окне Browse. С помощью KEY вы можете указать значение индексного ключа (eExpression1) или диапазон значений ключа (eExpression1, eExpression2) для записей, которые отображаются в окне Browse. Таблица, которую вы просматриваете, должна быть индексирована и значение/значения ключей, включенных в опцию KEY должны быть одного и того же типа, что и индексное выражение главного индекного файла или тэга.

Например, таблица customer включает в себя символьное поле, содержащее почтовые коды. Если таблица индексирована по этому полю, вы можете указать диапазон почтовых кодов в опции KEY.

В приведенном ниже примере, в окне Browse будут отображаться только те записи, которые заполняются дипазон от 10,000 до 30,000:

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
SET ORDER TO postalcode
BROWSE KEY '10000', '30000'
LAST | NOINIT

Сохраняет любые изменения в конфигурации, связанные с видом окна Browse. Изменения сохраняются в файле ресурса FoxUser.dbf и могут включать в себя изменения в списке полей, размере каждого поля, а также размер и местоположение окна Browse на экране.

Если вы выдаете команду BROWSE с ключевыми словами LAST или NOINIT, окно Browse открывается в той же самой конфигурацией, которая была сохранена последней в файле ресурса FoxUser.dbf, если ранее была выдана команда SET RESOURCE ON. Это восстанавливает конфигурацию окна Browse созданную последней командой BROWSE. Если команда BROWSE была выдана последней в командном окне с длинным списком опцией, выдача BROWSE с ключевыми словами LAST или NOINIT помогут избежать необходимости печатать такую длинную команду. Для получения более подробной информации о файле ресурса FoxUser смотрите описание SET RESOURCE.

Если окно Browse было открыто командой BROWSE, которая включала в себя ключевое слово PREFERENCE, BROWSE LAST не будет восстанавливать ранее определенных предпочтений.

Любые изменения конфигурации окна Browse, сделанные в текущей сессии не сохраняются, если вы выходите из окна BROWSE нажатием CTRL+Q.

Опции LAST и NOINIT идентичны; NOINIT обеспечивает совместимость с dBASE.

LOCK nNumberOfFields

Указывает либо положительное число, которые определяет число полей, которое вы можете видеть в левой части окна Browse, без использования клавиши табуляции или прокрутки, либо отричательное число, которое указывает число полей, остающихся блокированными в окне Browse при табуляции вправо.

Размеры левого сегмента окна устанавливаются автоматически для отображения указанного вами в nNumberOfFields числа полей. Линия разделителя колонок, которая показывается на 1 пиксель толще, чем линия, разделяющая другие колонки, указывает область, в которой помещены заблокированные колонки и начинаются нормальные колонки.

LPARTITION

Определяет, что курсор помещается в первое поле в левом сегменте окна Browse. По умолчанию, при открытии окна Browse курсор помещается в первое поле в правом сегменте окна.

NAME ObjectName

Создает объектную ссылку на окно Browse, позволяя вас управлять окном Browse, с помощью объектно-ориентированных свойств, которые определены для элемента управления Grid. Для получения более подробной информации об объектно-ориентированном программировании в Visual FoxPro смотрите статью Объектно-ориентированное программирование. Для получения более подробной информации об свойствах элемента управления Grid, которые вы моежте указать для окна Browse, созданного с ключевым словом NAME, смотрите описание элемента управления Grid.

NOAPPEND

Предотвращает добавление пользотелем записей в таблицу с помощью клавиш CTRL+Y или выбором пункта Append Record (Добавит запись) из меню Table menu.

Note Замечание

Включение в команду ключевого слова NOAPPEND не предохраняет от добавления записей из процедуры (созданной с помощью VALID, WHEN или ON KEY LABEL) пока открыто окно Browse.

NOCAPTIONS

Указывает обязательное использование имен полей таблицы или представления в качестве заголовков колонок, даже в том случае, когда в базе данных для полей определены более понятные заголовки. Эта опция используется только с таблицами или представлениями, связанными с базами данных.

NODELETE

Предотвращает пометку записей для удаления в окне Browse. По умолчанию, записи могут быть помечены для удаления нажатием CTRL+T, выбором Toggle Delete (Переключить удаление) из меню Table или щелчок по крайней левой колонке около записи.

NOEDIT | NOMODIFY

Запрещает пользователю изменять таблицу. NOEDIT и NOMODIFY идентичны. Если вы включите в команду любое из этих ключевых слов, вы можете просматривать таблицу или искать в ней записи, но вы не можете редактировать ее данные. Однако, вы можете доабвлять или удалять записи.

NOLGRID

Удаляет разлиновку полей в левом сегменте окна Browse.

NORGRID

Удаляет разлиновку полей в правом сегменте окна Browse.

NOLINK

Удаляет связь между левым и правым сегментами в окне Browse. По умолчанию, левый и правый сегменты окна Browse связаны для того, чтоюы при прокрутке записей в одном сегменте, они прокручивались бы и во втором.

NOMENU

Удаляет из системного меню заголовок Table (Таблица), предотвращая доступ к меню Browse.

NOOPTIMIZE

Запрещает Rushmore Query Optimization для BROWSE. Для получения более подробной информации смотрите SET OPTIMIZE и Использование Rushmore Query Optimization для ускорения обращения к данным.

NOREFRESH

Предотвращает окно Browse от обновления. Окно Browse обновляется в соответствии со значением, установленным командой SET REFRESH. NOREFRESH полезно при просмотре файлов с аттрибутом "только для чтения" и повышает производительность.

NORMAL

Открывает окно Browse с его нормальными, определенными по умолчанию, установками, такими, как его цвета, размер, положение на экране, заголовок и управляющими опциями (GROW, FLOAT, ZOOM и тому подобными). Если вы в команде опустите ключевое слово NORMAL, а текущее окно вывода представляет собой определенное пользователем окно со своими собственными установками, окно Browse принимает эти определенные пользователем установки.

NOWAIT

Продолжает исполнение программы, следующей за командой, открывшей окно Browse. Программа не будет ожидать закрытия окна Browse и продолжит исполнение строки, следующей сразу за строкой, содержащей BROWSE NOWAIT. Если вы в команде опустите ключевое слово NOWAIT, когда команда BROWSE выдается из программы, окно Browse открывается и исполнение программы приостанавливается до тех пор, пока не будет закрыто окно Browse.

NOWAIT доступно только в программах. Включение NOWAIT в команду BROWSE, выданную в командном окне не будет иметь никакого эффекта.

PARTITION nColumnNumber

Разделяет окно Browse на левый и правый сегменты с nColumnNumber, указывающим номер колонки для полосы разделения сегментов. Например, если nColumnNumber равно 20, то полоса разеделения помещается в 20-й колонке окна Browse.

LEDIT

Определяет, что левый сегмент окна Browse появляется в режиме Edit.

REDIT

Определяет, что правый сегмент окна Browse появляется в режиме Edit. Приведенный ниже пример открывает окно Browse с полосой разделения, помещенной в 20-й колонке и правый сегмент окна открывается в режиме Edit.

Влючение в команду обоих ключевых слов открывает оба сегмента в режиме Edit.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
BROWSE PARTITION 20 REDIT
PREFERENCE PreferenceName

Сохраняет аттрибуты окна Browse и его опции для использования в дальнейшем. В противоположность LAST, которое восстанавливает окно Browse в том виде, в каком оно появлялось в предыдущей сессии, PREFERENCE неограниченно сохраняет аттрибуты окна Browse в файле ресурса FoxUser.dbf. Предпочтения могут быть затребованы в любое время.

Первоначальная выдача команды BROWSE с указанным именем предпочтений создает ввод в таблице FoxUser.dbf, в котором затем сохраняется конфигурация окна Browse. Выдача в дальнейшем команды BROWSE с указанным именем предпочтений восстанавливает окно Browse в том состоянии, которое определяется сохраненными установками. При закрытии окна Browse предпочтения переписываются новыми значениями.

Имя предпочтения может иметь длину в 10 символов, должно начинаться с буквы или символа подчеркивания, и может содержать любую комбинацию букв, цифр и символов подчеркивания.

Если вы определили для себя какие-то предпочтения в отображении окна, вы можете предотвратить их измненение. Закройте окно Browse, выдайте команду SET RESOURCE OFF, откройте файл FoxUser.dbf как обычную таблицу и пометьте запись, содержащую ваши предпочтительные установки аттрибутом "только для чтения", изменив значение логического поля READONLY в (.T.).

Для получения более подробной информации о файле ресурса FoxUser.dbf смотрите описание команды SET RESOURCE.

Если вы закрываете окно Browse с помощью комбинации клавиш CTRL+Q, изменения аттрибутов Browse не сохраняются в файле ресурса.

SAVE

Поддерживает окно Browse или любые окна редактирования содержащихся в просмотриваемой таблице мемо-полей активными и видимыми (открытыми). Вы можете затем вернуться в окно Browse путем циклического обхода открытых окон или с помощью мыши.

SAVE доступно только в программах. Выдача команды BROWSE с ключевым словом SAVE в командном окне не будет иметь никакого эффекта, поскольку BROWSE SAVE для интерактивного режима используется по умолчанию.

TIMEOUT nSeconds

Определяет, как долго окно Browse будет ожидать ввода. Численное выражение nSeconds сколько секунт пройдет до автоматического закрытия окна Browse, если не было сделано ни одного ввода или изменения данных.

TIMEOUT доступен только в программах; оно имеет никакого воздействия при выдаче команды BROWSE из командного окна. В приведенном ниже примере, окно Browse будет закрыто, если в течении 10 секунд не произойдет ввода данных.

CopyCode image Copy Code
DEFINE WINDOW wBrowse FROM 1,1 TO 24,40 ;
   CLOSE ;
   GROW ;
   COLOR SCHEME 10
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
Browse WINDOW wBrowse ;
   FIELDS phone :H = 'Phone Number:' , ;
   company :H = 'Company:' ;
   TIMEOUT 10
RELEASE WINDOW wBrowse
TITLE cTitleText

По умолчанию, в заголовке окна Browse появляется имя таблицы и используемое для нее псевдоимя. Если вы при выдачи команды Browse использовали это ключевое слово с указанным в cTitleText текстом, то последний будет использоваться в качестве заголовка окна.

Если вы выдаете команду Browse для размещения окна Browse в определенном пользователем окне, заголовок окна Browse заменит заголовок пользовательского окна.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && открывается таблица customer
BROWSE;
   TITLE 'My окно Browse' ;
   FIELDS phone :H = 'Phone Number' , ;
   company :H = 'Company:'
VALID lExpression2

Производит проверку ввода на уровне записи в окне Browse. Ключевое слово VALID используется только в том случае, если вы сделали изменения в записи, а затем попытались переместиться к другой записи. Однако, опция VALID не исполняется, если изменения были сделаны только в мемо-поле.

Если VALID возвратит true (.T.), то пользователь может переместить курсор к следующей записи. В противном случае (если VALID возвратит false (.F.)), курсор останется в текущем поле и Visual FoxPro сгенерирует сообщение об ошибке. Если VALID возвратит 0, курсор останется в текущей записи, но сообщение об ошибке сгенерировано не будет.

Не путайте опцию VALID с опцией проверки (:V), которая позволяет проверку на уровне поля.

:F

Принуждает исполнение опции VALID до перемещения курсора к следующей записи. В этом случае, VALID исполняется даже если в записи не было произведено изменений.

ERROR cMessageText

Указывает сообщение об ошиьке, которое переписывает системное сообщение, используемое по умолчанию. Visual FoxPro отобразит cMessageText когда VALID возвратит false (.F.).

WHEN lExpression3

Оценивается условие, когда пользователь перемещает курсор в следующую запись. Если lExpression3 оценивается в true (.T.), то пользователь может редактировать запись, к которой он перемещается. Если lExpression3 оценивается в false (.F.) или в 0, запись, к которой перемещается пользователь приобретает признак "только для чтения" и не может быть изменена.

Опция WHEN не исполняется при активации другого окна.

WIDTH nFieldWidth

Ограничивает число символов, отображаемый во всех полях в окне Browse значением nFieldWidth. Содержание поля может быть просмотрено горизонтальной прокруткой с помощью клавиш управления курсором LEFT ARROW и RIGHT ARROW или с помощью полосы горизонтальной прокрутки. Включение в команду опции WIDTH не изменяет размер полей в таблице, оно только изменяет вид отображения полей в окне Browse. Если была указана ширина для конкретного поля в опции FIELDS, она переписывается значением, определенным с WIDTH для этого поля.

WINDOW WindowName1

Указывает определенное пользователем окно, чьи характеристики приобретает окно Browse. Например, если пользовательское окно было определено с опцией FLOAT, окно Browse может быть перемещено. Указанное окно не обязательно должно быть активным или видимым, но оно должно быть определено до команды Browse.

IN [WINDOW] WindowName2

Указывает родительское окно, внутрь которого будет помещено окно Browse. В этом случае окно Browse не принимает характеристик родительского окна. Окно Browse активизируется внутри родительского окна и не может быть перемещено из него. Если перемещается родительское окно, окно Browse перемещается вместе с ним.

Для обращения к окну Browse, родительское окно должно быть определено первым с помощью DEFINE WINDOW и должно быть активным и видимым.

IN SCREEN

Явно помещает окно Browse в главном окне Visual FoxPro, даже когда активно пользовательское окно.

COLOR SCHEME nSchemeNumber

Указывает номер цветовой гаммы, используемой для цветов окна Browse.

Окно Browse принимает цветовую гамму, установленную с помощью панели управления цветом Windows.

Expand image Примечания

Окно Browse позволяет вам просматривать записи в таблице, редактировать эти записи или добавлять дополнительные записи. Visual FoxPro позволяет вам иметь открытыми одновременно несколько окон Browse.

Если вы нажимаете ESC для выхода из окна Browse, изменения, сделанные в последнем поле сбрасываются. Однако, если вы переместились к другой записи, после изменения поля, то эти изменения сохраняются.

Список полей может указывать любую комбинацию полей или вычисляемых полей. Синтаксис для списка полей представлен ниже:

CopyCode image Скопировать код
FieldName1
   [:R]
   [:nColumnWidth]
   [:V = lExpression1 [:F] [:E = cMessageText]]
   [:P = cFormatCodes]
   [:B = eLowerBound, eUpperBound [:F]]
   [:H = cHeadingText]
   [:W = lExpression2]
   [, FieldName2 [:R]...]

Вычисляемые поля Список полей может содержать предложения для создания вычисляемых полей. Вычисляемые поля содержат данные с признаком "только для чтения", созданные с помощью выражения. Выражение может быть любой формы, но оно должно представлять собой допустимое выражение Visual FoxPro.

Формат предложения, который вы можете использовать для создания вычисляемого поля приведен ниже:

CalculatedFieldName = eExpression

Приведенный ниже пример создает вычисляемое поле с именем location:

CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Открывается таблица customer
BROWSE FIELDS location = ALLTRIM(city) + ', ' + country

city и country представляют собой имена полей из текущей выбранной таблицы.

Список полей опции FIELDS включается в себя опции, которые обеспечивают специальную обработку полей в окне Browse:

:R

Указывает, что полю присваивается атрибут "только для чтения"only. Данные, которые содержит поле, могут быть просмотрены, но не могут редактироваться.

В приведенном ниже примере окно Browse открывается с полями cust_id и company. Для поля cust_id установлен признак "только для чтения", поэтому оно не может быть изменено.

CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
BROWSE FIELDS cust_id:R, company
: nColumnWidth

Указывает ширину колонки для поля. Значение: nColumnWidth не изменяет размер поля в таблице; оно воздействует только на отображение поля в окне Browse.

:V = lExpression1[:F] [:E = cMessageText]

Позволяет вам производить проверку на уровне поля внутри окна Browse. Если выражение lExpression1 оценивается в true (.T.), то когда вы перемещаетесь из этого поля в другое, ввод данных в поле считается корректным и вследствие этого курсор может быть перемещен в другое поле.

Если же lExpression1 оценивается в false (.F.), ввод данных считается некорректным, курсор остается в поле и срабатывает событие ошибки или исключения. Если lExpression1 оценивается в 0, ввод данных считается некорректным, курсор остается в поле, но сообщение об ошибке не появляется.

Опция проверки не исполняется для мемо-полей.

По умолчанию, lExpression1 исполняется только при изменении поля. Для принуждения проверки включите в команду опцию :F.

Вы можете отобразить свое собственное сообщение об ошибке включением в команду опции :E описанную нижк.

:F

Определяет - будет ли выражение, указанное для проверки ввода оцениваться при выходе из поля или при активации другого окна. Если :F не включено в команду, то lExpression1 оценивается только в том случае, когда в поле были сделаны изменения. Если же :F включено в команду , то lExpression1 будет оцениваться, даже если значение в поле не изменялось.

:E = cMessageText

Если выражение проверки :V = lExpression1 оценивалось в true (.T), курсор может нормально выйти из поля. Если же выражение оценивалось в false (.F.), курсор остается в полей и Visual FoxPro генерирует сообщение об ошибке.

Если в команду включена опция (:E), то вместо системного сообщения об ошибке, появится сообщение с текстом, определенным в cMessageText. Это сообщение будет отображено только в том случае, когда SET NOTIFY установлен в ON. В случае, если SET BELL установлен в ON, будет выдан и звуковой сигнал.

Если :V = lExpression1 оценивается в 0, то курсор остается в проверяемом поле, но сообщение об ошибке не выводится. Эта опция позволяет вам отобразить свое собственное сообщение об ошибке в процедуре проверки.

Приведенный ниже пример открывает таблицу products и отображает поля product_id и prod_name. Поле product_id представляет собой поле численного типа, которое может принять до пяти цифр. Для целей этого примера, мы будем считать, что значение для product_id, которое больше 100 является недопустимым.

:V определяет критерий проверки. :F обеспечивает обязательную проверку вне зависимости от того, были изменены данные или нет. :E замещает системное сообщение Visual FoxPro об ошибке определенным в примере. В Visual FoxPro сообщение об ошибке появляется в полоске состояния внизу главного окна Visual FoxPro.

Нажатие ESC закрывает окно Browse.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Открывает таблицу products
IF _WINDOWS OR _MAC
   SET STATUS BAR ON
ENDIF
USE products
BROWSE FIELDS in_stock :V = in_stock < 100 ;
   :F ;
   :E = 'The stock amount must be less than 100'
:P = cFormatCodes

Если вы включили в команду опцию FIELDS, вы можете, кроме того, указать опцию picture (:P) для каждого поля в списке. Опция picture позволяет вам создать список кодов, которые управляют отображением и вводом данных для каждого поля в окне Browse. cFormatCodes представляет собой список кодов.

Приведенный ниже пример использует опцию picture, позволяющую вводить только численные данные в конкретном формате в поле unit_price:

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Открывает таблицу products
BROWSE FIELDS unit_price :P = '99,999.99'

Описание свойств Format и InputMask предоставляют подробную информацию о кодах опцииpicture .

:B = eLowerBound, eUpperBound[:F]

Определяет набор пределов, в которые должны попадать данные. Выражения пределов eLowerBound и eUpperBound должны соответствовать типу данных поля. В качестве выражений не могут быть использованы определенные пользователем функции. Если введенные данные не размещаться внутри указанных пределов, между eLowerBound и eUpperBound, то появляется системное сообщение, что данные должны должны располагаться внутри указанного диапазона.

По умолчанию, вводимые данные проверяются на вхождение в диапазон между указанными пределаит только в том случае, когда вы изменили содержимое поля. Для принудительной проверки на вхождение данных в диапазон, включите в команду опцию проверки (:F).

Приведенный ниже пример гарантирует, что значение в поле in_stock расплагается между 1 и 100. Нажатие ESC закрывает окно Browse.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Открывает таблицу products
BROWSE FIELDS in_stock :B = 1, 100    :F
:H = cHeadingText

Замещает используемые по умолчанию имена полей вашими собственными заголовками, которые вы указываете в cHeadingText. По умолчанию, для заголовков колонок в окне Browse используются имена полей.

В приведенном ниже примере предоставляются определенные пользователем заголовки для колонок полей.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Открывает таблицу products
BROWSE FIELDS prod_name :H = 'Product Name:', ;
   unit_price :H = 'Price per Unit:'
:W = lExpression2

Определяет - можно ли перейти в поле при навигации по записи. Если lExpression2 оценивается в false (.F.), перемещение в такое поле курсора запрещено. Если же lExpression2 оценивается в true (.T.), то курсор может быть перемещено в это поле. В lExpression2 поддерживаются определенные пользователем функции.

Если перемещение курсора во все поля запрещены, то текущая запись получает признак "только для чтения". Это произойдет в случае, когда каждое поле, содержащее опцию WHEN будет оценено в false.

Поддержка SET SKIP SET SKIP позволяет вам установить отношение "один-ко-многим" между двумя таблицами. Каждой записи в родительской таблице может соответствовать множество записей в дочерней. Если вы создаете отношение "один-ко-многим", вы можете использовать команду BROWSE для просмотра записей из обеих таблиц.

Запись из родительской таблицы появлятся однократно, рядом с первой соответствующей записью из дочерней таблицы. Любые последовательно соответствующие отношению записи отображаются в строках, следующих за первой соответствующей отношению записью дочерной таблицы. Символ заполнения для повторяющейся родительской информации зависит от текущего шрифта окна Browse.

Есди указатель записи спозиционирован на родительскую запись, то вы можете перемещаться по родительской таблице в окне Browse с помощью комбинации клавищ CTRL+DOWN ARROW и CTRL+UP ARROW соответственно вверх и вниз по записям. Для получения более подробной информации о создании отношений "один-ко-многим" смотрите описание команды SET SKIP.

Список полей FIELDS содержит поля записей как родительской, так и из дочерней таблицы. Имена полей в таком случае должны быть дополнены именем (псевдоименем) таблицы с точной(orders или customer).

CopyCode image Скопировать код
CLEAR
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER cust_id IN 0   && родительская таблица
USE orders ORDER cust_id IN 0  && дочерняя таблица
SELECT customer     && возвращаемся в рабочую область родительской таблицы
SET RELATION TO cust_id INTO orders     && устанавливаем отношение
SET SKIP TO orders  && указывает тип отношение "один-ко-многим"
WAIT WINDOW 'покрутите записи, для просмотра дат поставок для каждого потребителя' NOWAIT
BROWSE FIELDS customer.cust_id :H='Customer Number', ;
   customer.city :H='Customer City', orders.shipped_on

Полезные функции Несколько функций Visual FoxPro возвращают информацию об окне Browse, которая может быть полезной.

Функция | Описание
VARREAD() | Возвращает имя поля, в котором находится курсор для активного окна Browse.
RECNO() | Возвращает номер выбранной записи в активном окне Browse.

Expand image Смотрите также

Задачи

Как: добавлять записи в таблицы

Справочное руководство

Команда CHANGE
Команда EDIT
Элемент управления Grid
Команда SET SKIP
Функция WTITLE()

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BUILD APP Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда BUILD APP
Смотрите также
CollapseAll image

Создаеется стандартное приложение (.app) из проекта Visual FoxPro.

Note Замечание

Прежде чем использовать команду BUILD APP, убедитесь что проект содержит все файлы необходимые ДЛЯ ПРИЛОЖЕНИЯ. Если необходимые файлы отсутствуют вовремя построения, Visual FoxPro генерит ошибку. Для получения более детальной информации, смотрите Работа с проектами.

BUILD APP APPFileName FROM ProjectName [RECOMPILE]

Параметры

APPFileName

Задает имя создаваемого файла приложения. По умолчанию используется расширение имени .app.

Note Замечание

Если существует выполняемый (.exe) файл с такимже корневым именем как и создаваемый вами .app файл, то .exe файл будет удален.

FROM ProjectName

Задает имя проекта, по которому строится приложение..

[RECOMPILE]

Задает что проект будет откомпилирован до построения файла приложения. Все програмы и файлы форматов; формы, етикетки, отчеты, исходные коды библиотек визуальных класов; а также хранимые процедуры баз данных проекта будут откомпилированы.

Expand image Смотрите также

Задачи

Как: Построить приложение

Справочное руководство

Команда BUILD EXE
Команда CREATE PROJECT
Команда MODIFY PROJECT
Команда BUILD PROJECT
Метод Build

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BUILD DLL Command

Visual FoxPro 9.0 Описание Языка
BUILD DLL, команда
См. также
CollapseAll image

Создает одно-поточную (Single-Threaded) динамическую библиотеку ОС Windows (.dll), или Сервер Автоматизации (Automation Server), на основе определения соответствующего Класса в Проекте Приложения Visual FoxPro.

BUILD DLL DLLFileName FROM ProjectName [RECOMPILE]

Параметры

DLLFileName

Определяет имя (наименование) файла создаваемой динамической библиотеки (.Dll). По-умолчанию, расширение для создаваемого данной командой файла = .dll.

FROM ProjectName

Определяет имя файла Проекта (VFP), на основе которого создается динамическая Библиотека.

Указываемый проект должен содержать определение Класса, содержащее ключевую опцию OLEPUBLIC, в противном случае, отображается соответствующее Сообщение об Ошибке. Для определения указанного Класса с опцией OLEPUBLIC в некотором программном Модуле, укажите данную опцию в стандартной команде определения Класса DEFINE CLASS. Для определения данной опции в инструментальном средстве Дизайнера Классов (Class Designer), выберите подпункт "Class Info" из системного Меню "Class" и активируйте переключатель OLE Public.

[RECOMPILE]

Определяет, что перед сборкой соответствующей динамической библиотеки выполняется Компиляция всех сосставляющих частей Проекта. К компилируемым частям относятся: программные Модули и файлы Форматов, Формы, Этикетки и Отчеты, Библиотеки Классов; Хранимые Процедуры в составе Контейнеров Баз Данных, привязанных к данному Проекту.

Диалоговый Бокс "Class Info"

Expand image Комментарии

Команда BUILD DLL автоматически Регистрирует создаваемый Сервер Автоматизации в соответствующем Списке Server Classes, в Закладке Servers из Диалогового Бокса Project Information.

Expand image См. также

Задачи

Как: Выполнять Компоновку Приложения

Описание

BUILD EXE, Команда
Build, метод
BUILD PROJECT, Команда
CREATE PROJECT, Команда
MODIFY PROJECT, Команда

Другие ссылки

Серверы Автоматизации и COM
Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


BUILD EXE Command

Visual FoxPro 9.0 Language Reference
Команда BUILD EXE
См. также
CollapseAll image

Создает программу (exe-файл) из проекта Visual FoxPro.

Note Замечание

Exe-файл взаимодействует с динамическими библиотеками Visual FoxPro (.dll) VFPVersionNumberR.dll и VFPVersionNumberRENU.dll, которые Вам нужно распространять вместе с вашим приложением для того, чтобы обеспечить его выполнение. VersionNumber представляет собой номер версии Visual FoxPro, который Вы используете, чтобы создать exe-файл. Эти файлы расположены в директории ..\Program Files\Common Files\Microsoft Shared\VFP.

Более подробно смотрите об этом в Run-Time Библиотека VFP9R.DLL, Run-Time Библиотек VFP9T.DLL, Подготовка Приложения к Распространению и Управление Файлами в Международных приложениях.

BUILD EXE EXEFileName FROM ProjectName [RECOMPILE]

Параметры

EXEFileName

Определяет имя создаваемого выполняемого файла. По умолчанию, расширением файла является .exe.

Note Замечание

Если существует файл приложения (.app), то при создании exe-файла с таким же именем app-файл будет удален.

FROM ProjectName

Определяет имя проекта из которого будет создан исполняемый файл.

[RECOMPILE]

Определяет, что проект будет скомпилирован прежде, чем выполняемый файл будет создан. При этом компилируются все файлы проекта: программы, формы, этикетки, отчеты, исходные коды библиотек визуальных классов и хранимые процедуры в базах данных.

Expand image Замечания

If the .exe file contains OLEPUBLIC class definitions, BUILD EXE automatically registers the OLEPUBLIC class definitions in the system registry. OLEPUBLIC class definitions appear in the Server Classes list box on the Servers tab of the Project Information dialog box. BUILD EXE creates also registration (.vbr) and type library (.tlb) files with the same name as the .exe file. The .vbr file makes it possible for you to register class definitions in the system registry when the .exe file is moved to a different computer. The .tlb file is for use with object browsers. For more information about registering OLEPUBLIC class definitions in an executable file, see Sharing Information and Adding OLE.

Visual FoxPro includes support for applications that are generated by the build process to detect whether they are running on a Terminal Server and prevents loading of unnecessary dynamic-link library (.dll) files that can impact performance.

Expand image См. также

Tasks

How to: Build Applications

Reference

BUILD DLL Command
BUILD APP Command
BUILD MTDLL Command
BUILD PROJECT Command
Build Method

Other Resources

Commands (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BUILD MTDLL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда BUILD MTDLL
Смотрите также
CollapseAll image

Создает многопоточную динамически подключаемую библиотеку Windows (.dll), или Automation сервер, используя описания классов проекта.

BUILD MTDLL MTDLLFileName FROM ProjectName [RECOMPILE]

Параметры

MTDLLFileName

Определяет имя файла создаваемой библиотеки. Расширение по умолчанию - .dll.

FROM ProjectName

Определяет имя файла проекта из которого создается библиотека.

Проект должен содержать класс определенный как OLEPUBLIC, иначе будет показано сообщение об ошибке. Чтобы определить класс как OLEPUBLIC в коде программы, включите ключевое слово OLEPUBLIC в DEFINE CLASS. Чтобы определить класс как OLEPUBLIC в дизайнере классов, выберите Class Info из меню Class и сделайте отметку на OLE Public.

[RECOMPILE]

Определяет будет-ли проект перекомпелирован до создания библиотеки. Все программы и форматированные файлы; формы, метки, отчеты, исходные коды библиотек классов; хранимые процедуры в базах данных проекта будут перекомпилированны.

Expand image Примечания

BUILD MTDLL регестрирует сервер автоматически в списке Server Classes на вкладке Servers диалога Project Information.

Созданные Visual FoxPro многопоточные .dll файлы являются только in-process серверами. Большое количество команд и функций не поддерживается. Больше информации, тут: Функциональная совместимость и Internet.

Expand image Смотрите также

Задачи

Как: Собирать приложения

Ссылки

Команда BUILD DLL
Команда BUILD EXE
Команда BUILD PROJECT
Метод Build
Команда CREATE PROJECT
Команда MODIFY PROJECT

Прочие ресурсы

Automation и COM сервера
Комманды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BUILD PROJECT Command

Visual FoxPro 9.0 Language Reference
Команда BUILD PROJECT
Смотреть также

Создает таблицу (.pjx) проекта Visual FoxPro, открывая и обрабатывая один или несколько заданных файлов программ, меню, отчетов, этикеток, форм или библиотек. Проект Visual FoxPro включает файл .pjx и memo файл проекта (.pjt). Вы можете также использовать команду BUILD PROJECT для пересборки проекта.

BUILD PROJECT ProjectFileName [RECOMPILE]
   [FROM ProgramName1 | MenuName1 | ReportName1 | LabelName1 |
            FormName1 | LibraryName1 [, ProgramName2 | MenuName2 |
            ReportName2 | LabelName2 | FormName2 | LibraryName2 ...]]

Параметры

ProjectFileName

Задает имя создаваемой таблицы проекта.
[RECOMPILE]

Компилирует все файлы в проекте. Если параметр RECOMPILE опущен, будет откомпелированы только те файлы, которые были модифицированы на момент последней сборки.
[FROM ProgramName1| MenuName1| ReportName1| LabelName1| FormName1| LibraryName1]

Задает файлы, включаемые в проект. Можно задать один или несколько файлов программ, меню, отчетов, этикеток, форм или библиотек, и проект будет отслеживать состояние этих файлов, а также зависимостей, ссылок и связей между ними. Первый исполняемый файл программы или меню в предложении FROM по умолчанию служит главным файлом программы в проекте.
Tip:
Для обновления файла проекта выдайте команду BUILD PROJECT без предложения FROM. Visual FoxPro обновит указанный проект.

Комментарии

Visual FoxPro в таблице проекта отслеживается состояние всех файлов, участвующих в создании приложения, а также зависимости, ссылки и связи между файлами. Как только вы определите все составные части проекта, Visual FoxPro обеспечит использование в приложении самых актуальных исходных файлов. Каждый файл проекта имеет отметку времени и даты, что позволяет обновлять файл проекта при внесении изменений во входящие в проект файлы или при изменении зависимостей. Благодаря этому гарантируется использование самых актуальных исходных файлов в приложении, создаваемом по проекту. Когда Visual FoxPro при создании файла проекта по команде BUILD PROJECT встречает файл программы, меню или формы, система отыскивает соответствующий скомпилированный файл и сравнивает отметки времени и даты для этих двух файлов. Если отметка времени и даты на исходном файле сделана позже, чем на скомпилированном файле, Visual FoxPro выполняет повторную компиляцию исходного файла.

При выдаче команды BUILD PROJECT возможны сообщения о неразрешенных ссылках и других ошибках, но они не препятствуют созданию файла проекта. Это позволяет строить проект даже в тех случаях, когда на момент построения не все нужные его компоненты фактически созданы или не все они доступны. Неразрешенные ссылки и другие проблемы можно впоследствии устранить, обновив файл проекта или вручную изменив сохраненную в нем информацию с помощью команды MODIFY PROJECT.

С помощью файла проекта можно создать Вы можете создать следующие типы файлов: файлы приложения (.app), исполняемый файл с расширением .exe либо файл динамической библиотеки (.dll). Однако, прежде чем создавать распространяемые файлы приложения, вы должны проверить ваш проект. Для более подробной информации см. Как: Тестирование Проекта. Для более подробной информации о создании распространяемых приложений см. Компиляция Приложения.

Смотреть также

Другие ресурсы

Работа с проектом
Команда CREATE PROJECT
MODIFY PROJECT Command
Команда BUILD APP
Команда BUILD EXE
Команда BUILD DLL
Команда BUILD MTDLL
Метод Build
Внешние команды
Команды
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


CALCULATE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CALCULATE
Смотрите также Пример
CollapseAll image

Выполняет финансовые и статистические операции над полями в таблице или над выражениями, включающими поля.

CALCULATE eExpressionList [Scope] [FOR lExpression1] [WHILE lExpression2]
   [TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]
   [IN nWorkArea | cTableAlias]

Параметры

eExpressionList

Задает выражения, которые могут содержать любую комбинацию следующих функций:

AVG(nExpression)

CNT( ) или COUNT( )

MAX(eExpression)

MIN(eExpression)

NPV(nExpression1, nExpression2 [, nExpression3])

STD(nExpression)

SUM(nExpression)

VAR(nExpression)

Функции в списке выражений eExpressionList разделяются запятыми. Эти функции являются специфическими для CALCULATE и подробно описываются ниже в данном разделе. Их не следует смешивать с независимыми функциями, имеющими те же названия. Например, CALCULATE MIN( ) и MIN( ) - это две разные функции.

Scope

Задает диапазон записей, используемых при вычислении. В вычислении участвуют только те записи, которые попадают в указанный диапазон. Он задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона смотрите Выражения Scope. Команды, использующие выражение Scope воздействуют только на таблицу активной рабочей области.

По умолчанию областью действия команды CALCULATE являются все записи (предложение ALL).

FOR lExpression1

Определяет, что в вычислении могут участвовать только записи, удовлетворяющие логическому условию lExpression1. Предложение FOR позволяет выполнять условное включение записей в вычисление, отфильтровывая ненужные записи.

Технология Rushmore допускает оптимизацию запроса CALCULATE ... FOR, если lExpression1 вляется оптимизируемым выражением. Для повышения производительности рекомендуется пользоваться в предложении FOR оптимизируемым выражением. Об оптимизируемых по технологии Rushmore выражениях смотрите Команда SET OPTIMIZE and Использование оптимизации запросов Rushmore для ускорения доступа к данным.

WHILE lExpression2

Задает условие, согласно которому записи будут включаться в вычисление до тех пор, пока логическое выражение lExpression2 остается истинным (.T.).

TO VarList

Задает одну или несколько переменных памяти, в которые записываются результаты вычисления. Если указанной переменной памяти не существует, Visual FoxPro автоматически создает переменную памяти с заданным именем.

TO ARRAY ArrayName

Задает имя массива, в который могут быть записаны результаты вычисления. If the array name you specify does not exist, Visual FoxPro automatically creates an array with the name you specify. If the array exists and is not large enough to contain all the results of the calculation, Visual FoxPro automatically increases the size of the array to accommodate the information. If an existing array is larger than necessary, additional elements are left unchanged. Results are stored to the array elements in the order they are specified in the CALCULATE command.

NOOPTIMIZE

Блокирует оптимизацию команды CALCULATE по технологии Rushmore. Для получения дополнительной информации, смотрите Команда SET OPTIMIZE and Использование оптимизации запросов Rushmore для ускорения доступа к данным.

AVG( nExpression)

Вычисляет среднее арифметическое выражения nExpression. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

CNT( ) or COUNT( )

Возвращает число записей в таблице. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE..

MAX( eExpression)

Возвращает максимальное (или самое позднее) значение для выражения eExpression. В предложении MAX( ) можно задать любое поле типа Сharacter, date, datetime, numeric, float, integer, double, или currency или любое выражение, использующее поля этих типов. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

MIN( eExpression)

Возвращает минимальное (или самое раннее) значение для выражения eExpression. Любое поле типа character, date, datetime, numeric, float, integer, double, или currency, или любое выражение, использующее поля этих типов, может включятся в eExpression. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

NPV( nExpression1, nExpression2[, nExpression3])

Вычисляет окончательную сумму в серии предстоящих перемещений наличности с учетом постоянной периодической процентной ставки.

nExpression1 задает процентную ставку, выраженную в виде десятичной дроби.

nExpression2 задает поле, выражение с участием полей или числовое выражение, представляющее серию перемещений наличности. Каждое такое перемещение может иметь либо положительное, либо отрицательное значение. Когда выражение nExpression2 2 является полем, считается, что значение каждой записи этого поля выражает перемещение наличности.

nExpression3 задает необязательную величину начального инвестирования. Если эта величина не задана, то предполагается, что начальное инвестирование имело место в конце первого периода. Размер начального инвестирования является первой записью в поле; отрицательное значение этой величины соответствует расходу наличности.

При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

STD( nExpression)

Вычисляет среднее квадратичное отклонение для выражения nExpression. Эта величина характеризует степень отличия значений полей или выражений, использующих поля, от среднего для этих значений. Чем меньше среднее квадратичное отклонение, тем меньше значения отклоняются от среднего. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

SUM( nExpression)

Вычисляет общую сумму значений выражения nExpression. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

VAR( nExpression)

Вычисляет дисперсию выражения nExpression. Величина дисперсии равняется среднему квадратичному отклонению, возведенному в квадрат. Чем меньше дисперсия, тем меньше значения отклоняются от среднего. При вычислении учитываются только записи, попадающие в диапазон Scope и/или удовлетворяющие условиям FOR или WHILE.

IN nWorkArea| cTableAlias

Определяет рабочюю область или псевдоним таблицы, который будет затронут командой CALCULATE. Используйте это выражение, чтобы определить рабочюю область или таблицу вне текущей рабочей области.

Expand image Замечания

Записи, содержащие нулевое значение не включаются в выполняемые командой CALCULATE операции.

Expand image Пример

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE orders  && Open Orders table

SET TALK ON
CLEAR
CALCULATE AVG(order_amt), MIN(order_amt), MAX(order_amt)
CALCULATE STD(order_amt), VAR(order_amt) TO gnStd, gnVar

Expand image Смотрите также

Справочное руководство

Команда AVERAGE
Команда COUNT
Команда DIMENSION
Функция FV( )
Функция MAX( )
Функция MIN( )
Функция PAYMENT( )
Функция PV( )
Команда SUM

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CANCEL Command

Visual FoxPro 9.0 Справка по языку
Команда CANCEL
См.также Пример

Завершает выполнение текущего файла программы Visual FoxPro.

CANCEL

Замечания

Когда Visual FoxPro выполняется в интерактивном режиме, управление передается окну Command. Если выполняется приложение в версии времени исполнения (run-time), команда CANCEL прерывает выполнение приложения и возвращает управление операционной системе Windows. Если программа выполняется в среде разработки Visual FoxPro (design time), команда CANCEL прерывает выполнение программы и возвращает управление окну Command.

Выполнение команды CANCEL удаляет из памяти все переменные, объявленные как private.

Пример

Следующий пример моделирует цикл при выполнении программы. При каждом прохождении цикла спрашивается, продолжать ли работу. Если вы нажмете кнопку Cancel, команда CANCEL прекратит выполнение программы.

Скопировать код
DO WHILE .T.
 IF MESSAGEBOX("Вы хотите продолжить?",36) <> 6
 CANCEL
 ENDIF
ENDDO

См.также

Другие ресурсы

Команда QUIT
Команда RESUME
Команда RETURN
Команда SUSPEND
Свойство Cancel
Функция SQLCANCEL( )

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CD | CHDIR Command

Visual FoxPro 9.0 Language Reference
Команда CD | CHDIR
See Also Example
CollapseAll image

Изменяет каталог Visual FoxPro по умолчанию на определенный вами каталог.

CD cPath | CHDIR cPath

Параметры

cPath

Определяется одно из следующего:

  • Обозначение устройства

  • Обозначение устройства с каталогом

  • Подкаталог

  • Любое из вышеуказанного при использовании краткой записи MS-DOS (\ или ...) Если вы включаете .. для изменения текущего каталога, вы должны включить пробел между CD или CHDIR и две точки.

Expand image Замечания

Используйте CD или CHDIR для определения каталога Visual FoxPro по умолчанию. Visual FoxPro сначала ищет файлы в каталоге по умолчанию. Если Visual FoxPro не может найти файл в каталоге по умолчанию,затем он ищет по пути Visual FoxPro, если он определен. Используйте SET PATH, чтобы определить путь Visual FoxPro.

Если вы создаете файл и не определяете его размещение, файл будет размещен в каталоге по умолчанию Visual FoxPro.

Вы можете назначить скрытый или системный каталог, используя CD и CHDIR. Более подробно смотрите функцию FILE( ) and функцию DIRECTORY( ) .

Команды CD и CHDIR не поддерживаются в одиночных или многопоточных DLL-серверах. Эти команды изменяют каталог по умолчанию целого процесса, так что весь поток задействуется как часть процесса. Используйте команду SET PATH в DLL-серверах вместо SET DEFAULT.

Expand image Примеры

Следующий пример использует SET DEFAULT для изменения каталога по умолчанию Visual FoxPro на стартовый каталог. Он использует MKDIR для создания нового каталога, называемого mytestdir, и CHDIR изменяет каталог mytestdir. GETDIR( ) показывает структуру каталога в диалоговом окне Select Directory. Вы можете использовать SET DEFAULT, чтобы вернуть ваше расположение назад в стартовый каталог, RMDIR, чтобы удалить вновь созданный каталог, и GETDIR( ), чтобы показать оригинальную структуру каталога.
CopyCode image Copy Code
SET DEFAULT TO HOME()
MKDIR mytestdir
CHDIR mytestdir  = GETDIR()
SET DEFAULT TO HOME()
RMDIR mytestdir  = GETDIR()

Expand image Смотрите также

Reference

Команды DIR или DIRECTORY
Функция DIRECTORY( )
Функция GETDIR( )
Функция HOME( )
Команда MD | MKDIR
Команда RD | RMDIR
Команда SET DEFAULT
Команда SET PATH /a>
SYS(5) - Устройство по умолчанию
SYS(2003) - Текущий каталог
SYS(2004) - Стартовый каталог Visual FoxPro

Другие ресурсы

Команды (Visual FoxPro)
Языковая ссылка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CHANGE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CHANGE
Смотрите также
CollapseAll image

Отображает поля для редактирования.

CHANGE [FIELDS FieldList] [Scope]
[FOR lExpression1] [WHILE lExpression2]
[FONT cFontName [, nFontSize [, nFontCharSet]]] [STYLE cFontStyle]
[FREEZE FieldName]
[KEY eExpression1 [, eExpression2]] [LAST | NOINIT] [LPARTITION]
[NAME ObjectName] [NOAPPEND] [NOCAPTION] [NOCLEAR] [NODELETE]
[NOEDIT | NOMODIFY] [NOLINK] [NOMENU] [NOOPTIMIZE] [NORMAL] [NOWAIT]
[PARTITION nColumnNumber [LEDIT] [REDIT]] [PREFERENCE PreferenceName]
[REST] [SAVE] [TIMEOUT nSeconds] [TITLE cTitleText]
[VALID [:F] lExpression3 [ERROR cMessageText]] [WHEN lExpression4]
[WIDTH nFieldWidth] [WINDOW WindowName1]
[IN [WINDOW] WindowNam2 | IN SCREEN | IN MACDESKTOP]]
[COLOR SCHEME nSchemeNumber | COLOR ColorPairList]

Параметры

Параметры команды CHANGE такиеже как у команды EDIT. Смотрите Команда EDIT.

Expand image Замечания

CHANGE работает в точности как EDIT.

Expand image Смотрите также

Справочное руководство

Команда BROWSE
Функция WTITLE( )

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CLEAR Commands

Visual FoxPro 9.0 Справочное руководство по языку
Команды CLEAR
Смотрите также
CollapseAll image

Освобождают заданный элемент или элементы из памяти.

CLEAR [ALL | CLASS ClassName | CLASSLIB ClassLibraryName | DEBUG | DLLS
   [cAliasNameList]| EVENTS | ERROR |FIELDS | GETS | MACROS | MEMORY
   | MENUS | POPUPS | PROGRAM | PROMPT | READ [ALL] | RESOURCES
   [FileName] | TYPEAHEAD | WINDOWS]

Параметры

ALL

Освобождает в памяти все переменные памяти и массивы, а также определения всех пользовательских строк меню, самих меню и окон. Кроме того, команда CLEAR ALL закрывает все таблицы, включая все связанные с ними файлы индексов, файлы формата и memo-файлы, и выбирает рабочую область 1. CLEAR ALL также удаляет из памяти все функции внешних библиотек зарегистрированные DECLARE - DLL.

CLEAR ALL не освобождает системные переменные памяти и не очищает буфер откомпилированных программ. Для очистки этого буфера используйте команду CLEAR PROGRAM.

Если выдать CLEAR ALLвнутри события или метода активного элемента управления или объекта, будет сгенерировано сообщение об ошибке Visual FoxPro. Переменная памяти типа объект не может быть освобождена из памяти, если соответствующий ей элемент управления или объект активен.

CLASS ClassName

Удаляет из памяти определение класса. Если создан экземпляр класса, Visual FoxPro хранит определение класса в памяти и после освобождения этого экземпляра. Чтобы удалить из памяти определение класса после освобождения его экземпляра, используйте команду CLEAR CLASS.

CLASSLIB ClassLibraryName

Удаляет из памяти все определения классов, содержащиеся в данной библиотеке визуальных классов. Если существуют экземпляры классов, принадлежащих этой библиотеке, определения классов не удаляются из памяти. Однако все определения классов, не имеющих экземпляров, удаляются из памяти.

DEBUG

Снимает все точки останова в отладчике и восстанавливает окна Debugger (Call Stack, Trace, Watch, и т. д.) к их позициям по умолчанию.

Если выдать Clear Debug, когда отладчик закрыт, отладчик откроется с окнами Debugger в их позициях по умолчанию.

Работает или в fox или debugger frame mode.

DLLS cAliasNameList

Удаляет из памяти все внешние динамические библиотекия, зарегистрированные с помощью команды DECLARE - DLL. cAliasNameList - это список псевдонимов функций разделенных запятой для удаления из памяти как в следующем примере:

CopyCode image Copy Code
CLEAR DLLS  "RegCloseKey","RegOpenKey"

Если вы не использовали никакого псевдонима в объявлении, cAliasNameList такойже как имя функции. Вы не определяете cAliasNameList, все DLL будут удалены из памяти. Вы можете использовать Функция ADLLS( ) чтобы определить, какие DLLs загружены.

Для получения дополнительной информацией о регистрации внешних библиотек функций, смотрите Команда DECLARE - DLL.

ERROR

Востанавливает структуры ошибок Visual FoxPro , как будто никакая ошибка не произошла. Следующие функции востанавливают значения по умолчанию:

Функция AERROR( ) (востанавливается в 0).

Функция ERROR( ) Function (востанавливается в 0).

Функция MESSAGE( ) (востанавливается в пустую строку).

SYS(2018) - Error Message Parameter (reset to the empty string).

Избегайте использования CLEAR ERROR в пределах Команды TRY...CATCH...FINALLY, особенно если вы используете Команду TRY...CATCH...FINALLY для повторного востановления ошибок. Объект Exception, возможно, больше не будет действителен.

EVENTS

Прекращает обработку событий, начатую по команде READ EVENTS. После выдачи команды CLEAR EVENTS is executed, выполнение программы продолжается со строки, непосредственно следующей за строкой с командой READ EVENTS.

FIELDS

Освобождает список, созданный по команде SET FIELDS , и выполняет команду SET FIELDS OFF. CLEAR FIELDS, в отличие от SET FIELDS TO , освобождает все списки полей во всех рабочих областях, а не только в текущей. Кроме того, команда SET FIELDS TO не включает неявное выполнение команды SET FIELDS OFF.

GETS

Освобождает все ждущие элементы управления @ ... GET. Выполнение команды CLEAR также высвобождает все ждущие элементы управления @ ... GET.

Note Note

GETS включен для обратной совместимости .

MACROS

Освобождает в памяти все макрокоманды клавиатуры, включая все назначения клавиш SET FUNCTION. Макрокоманды можно сохранить в файл макрокоманды или в memo-поле с помощью команды SAVE MACROS и позже восстановить командой RESTORE MACROS. Кроме того, по команде RESTORE MACROS можно восстановить и макрокоманды, используемые по умолчанию.

MEMORY

Освобождает в памяти все глобальные и локальные переменные памяти и массивы. Системные переменные памяти не освобождаются.

MENUS

Освобождает в памяти все определения строки меню.

POPUPS

Освобождает в памяти все определения меню, созданные с помощью команды DEFINE POPUP.

PROGRAM

Очищает буфер откомпилированных программ. Visual FoxPro хранит в буфере самые последние выполнявшиеся программы. В редких случаях Visual FoxPro может не принять изменения, внесенные в файлы программ на диске. CLEAR PROGRAM заставляет Visual FoxPro читать программы с диска, а не из буфера программ. Чаще всего ситуации, когда Visual FoxPro не принимает изменение файлов программ на диске, возникают, если вы модифицируете файл программы с помощью внешнего или резидентного (TSR) редактора. Кроме подобных случаев, командой CLEAR PROGRAM пользоваться не следует.

PROMPT

Освобождает элементы меню, созданные с помощью команды @ ... PROMPT.

READ [ALL]

Включена для обратной совместимости. Используйте вместо нее команду CLEAR EVENTS.

RESOURCES [ FileName]

Определяет имя кэшируемого точечного рисунка, изображения, шрифта, курсора, или файла значка, который будет очищен из памяти. Если никакое имя файла не определено, весь точечные рисуноки, изображения, шрифты, курсоры и файлы значков будут удалены из памяти.

Когда Visual FoxPro отображает точечный рисунок, изображение, курсор, значок, или ресурс шрифта, ресурс кэшируется для оптимизации работы. Если ресурс того с таким же именем используется (например, различный точечный рисунок с тем же именем что и уже кэшируемый), Visual FoxPro не перезагружает ресурс.

Очистка файла ресурса особенно полезна для удаления графическое изображений из памяти и вынуждает Visual FoxPro перезагружать изображение с тем же именем с диска. Например, отчет мог бы отобразить графические изображения из базы данных, которые называются TEMP; однако, потому что они все имеют одинаковое имя, Visual FoxPro не будет перезагружать каждый новый графическое изображение пока не будет очищен из памяти существующий используя команду CLEAR RESOURCES.

Если специфический ресурс все еще находится в использовании Visual FoxPro, то он не может быть очищенным с помощью команды CLEAR RESOURCES.

TYPEAHEAD

Очищает буфер клавиатуры. Командой CLEAR TYPEAHEAD можно запретить вводить данные в поле или отвечать на приглашение до того, как поле или приглашение появится на экране.

WINDOWS

Освобождает в памяти все определения пользовательских окон и удаляет все окна из основного окна Visual FoxPro или из активного пользовательского окна. Команда SAVE WINDOW позволяет сохранить определения окон в файле или memo-поле для использования в будущем.

Выдачи команды CLEAR WINDOWS освобождет все системные переменные памяти, задающие ссылки на формы. Например, следующие команды создают для формы ссылочную переменную памяти, а затем выводят на экран информацию об этой переменной:

CopyCode image Copy Code
goMyForm = CREATEOBJECT('FORM')
DISPLAY MEMORY LIKE goMyForm  && Displays GOMYFORM  O  FORM

Команда CLEAR WINDOWS освобождает ссылочную переменную памяти, которая с этого момента будет содержать значение NULL:

CopyCode image Copy Code
CLEAR WINDOWS
DISPLAY MEMORY LIKE goMyForm  && Displays GOMYFORM  O  .NULL.

Expand image Замечания

Команда CLEAR очищает основное окно Visual FoxPro или текущее пользовательское окно, а также освобождает в памяти все ожидающие элементы управления @ ... GET. Команду CLEAR можно включать в файлы формата.

Expand image Смотрите также

Справочное руководство

Команда @ ... CLEAR
Команды CLOSE
Команда DECLARE - DLL
Команда READ
Команда READ EVENTS
Команда RELEASE
Команда RELEASE CLASSLIB
Команда RELEASE WINDOWS

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Commands CLOSE

Visual FoxPro 9.0 Language Reference
Команды CLOSE
Смотреть также

Закрывают файлы различных типов.

CLOSE [ALL | ALTERNATE | DATABASES [ALL] | DEBUGGER | FORMAT | INDEXES
 | PROCEDURE | TABLES [ALL]]

Параметры

ALL

Закрывает все открытые базы данных, таблицы и индексы во всех рабочих областях и выбирает рабочую область 1. Команда CLOSE ALL также закрывает все файлы, открытые с помощью функций файлов низкого уровня FCREATE( ) и FOPEN( ) и процедурные файлы открытые с помощью команды SET PROCEDURE. CLOSE ALL не закрывает файлы открытые командой SET PRINT. По команде CLOSE ALL также закрываются:
  • Дизайнер Форм

  • Менеджер проектов

  • Дизайнер этикеток

  • Дизийнер отчетов

  • Дизайнер запросов

CLOSE ALL не закрывает:
  • Окно команд

  • Окно Debug

  • Помощь

  • Окно Trace

CLOSE ALTERNATE

Закрывает альтернативный файл, открытый с помощью команды SET ALTERNATE.
CLOSE DATABASES [ALL]

Закрывает текущую базу данных и ее таблицы. Если текущая база данных не определена, закрываются все открытые свободные таблицы, индексы и файлы формата во всех рабочих областях и выбирается рабочая область 1.
Комментрарии:
Использование CLOSE DATABASES в окне Command не приведет к закрытию базы данных, если база данных была открыта в Менеджере проекта, с развернутым узлом базы, или когда форма выполняется в ее собственном сеансе данных. При этих обстоятельствах, база данных остается открытой, пока Менеджер проекта не закрывает базу данных или форма, не выполнит закрытие базы данных.

ALL ключевое слово приводит к закрытию следующих элементов в текущем и всех неактивных сеансах данных и выбору первой рабочей области:
  • All open databases and their tables, except for currently selected databases in other data sessions or databases and their tables that are open in other data sessions.

  • Всех открытых свободных таблиц.

  • Всех индексов и файлов формата во всех рабочих областях.

CLOSE DEBUGGER

Закрытие Visual FoxPro дебагера.
CLOSE FORMAT

Закрывает файл формата в текущей рабочей области, открытый с помощью команды SET FORMAT.
CLOSE INDEXES

Закрывает все открытые файлы индексов (как просые индексы .IDX, так и независимые составные индексы .CDX) в текущей рабочей области. Структурный составной индекс (файл .CDX, автоматически открываемый вместе с таблицей) не закрывается.
CLOSE PROCEDURE

Закрывает файл процедуры, открытый по команде SET PROCEDURE.
CLOSE TABLES [ALL]

Закрывает все таблицы во всех открытых базах данных, оставляя сами базы данных открытыми. CLOSE TABLES закрывает все свободные таблицы во всех рабочих областях. Используйте ALL для закрытия всех таблиц во всех базах данных, и всех свободных таблиц. Все базы данных остаются открытыми. CLOSE TABLES нельзя выдавать во время выполнения транзакции; Visual FoxPro сгенерирует сообщение об ошибке.

Смотреть также

Другие ресурсы

Команда ADD TABLE
Команда CLOSE MEMO
Команда CREATE DATABASE
Метод Close

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


CLOSE MEMO Command

Visual FoxPro 9.0 Справочник Языка
CLOSE MEMO Команда
См. Также

Закрывает одно или более окон редактирования memo.

CLOSE MEMO MemoFieldName1 [, MemoFieldName2 ...] | ALL

Параметры

MemoFieldName1 [, MemoFieldName2 ...]

Определяет имя memo-поля, окно редактирования которого, Вы хотите закрыть. Чтобы закрыть несколько окон редактирования мемо, включите список имен полей мемо, разделенные запятыми. Вы можете закрыть окно редактирования memo-поля таблицы, открытой в другой рабочей области, указанием псевдонима таблицы.
ALL

Закрывает все окна редактирования мемо для всех memo-полей в любых открытых таблицах.

Замечания

CLOSE MEMO закрывает окна редактирования мемо, открытые командой MODIFY MEMO, или открытые из окон Browse или Edit. CLOSE MEMO сохраняет любые изменения, которые Вы сделали в memo-полях.

Закрытие таблицы, содержащей поле или поля мемо, также сохраняет любые изменения, которые Вы сделали, и закрывает окна мемо.

См. Также

Другие Ресурсы

BROWSE Команда
MODIFY MEMO Команда
APPEND MEMO Команда
COPY MEMO Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COMPILE Command

Visual FoxPro 9.0 Language Reference
Команда COMPILE
См. также
CollapseAll image

Компилирует один или несколько исходных файлов и создает для каждого исходного объектный файл. Есть две версии синтаксиса.

COMPILE [DATABASE | FORM | CLASSLIB | LABEL | REPORT] cFileName | cFileSkeleton | ? [ALL]
COMPILE cFileName | cFileSkeleton | ? [ENCRYPT] [NODEBUG] [AS nCodePage]

Параметры

DATABASE

Компилируется один или несколько файлов базы данных (.dbc), указанных с помощью параметров cFileName или cFileSkeleton. При выборе параметра DATABASE компилирует исходный код для хранимых процедур, которые храниться в базе данных, и сохраняет его в дополнительном мемо-поле. Вы можете использовать параметр DATABASE для компиляции хранимых процедур вне Конструктора Баз Данных.

Note Замечание

COMPILE DATABASE упаковывает мемо-поля в мемо-файле базы данных (.dct) для удаления неиспользуемого пространства из мемо-файла. Записи таблицы базы данных, помеченные на удаление, не удаляются из этой таблицы.

FORM

Компилируется одна или несколько форм, определенных файлами (.scx), указанных с помощью параметров cFileName или cFileSkeleton. При выборе параметра FORM компилирует исходный код для среды данных, которая хранится в форме, и сохраняет его в дополнительном мемо-поле. Visual FoxPro автоматически компилирует формы, когда они сохраняются в Конструкторе Форм. Вы можете использовать параметр FORM для компиляции форм вне Конструктора Форм.

Note Замечание

Исходный код формы хранится в мемо-полях таблицы Формы. COMPILE FORM компилирует мемо-поля в объектный код и сохраняет его в дополнительном мемо-поле. Visual FoxPro выполняет сохраненный в дополнительном мемо-поле объектный код, когда Вы используете команду DO FORM. Более подробно, смотрите Команда DO FORM.

CLASSLIB

Компилирует один или несколько файлов библиотеки визуальных классов (.vcx), указанных с помощью параметров cFileName или cFileSkeleton. Исходный код библиотеки визуальных классов хранится в мемо-полях таблицы библиотеки визуальных классов. При выборе версии CLASSLIB исходный код мемо-полей компилирует в объектный код и сохраняет его в дополнительном мемо-поле.

LABEL

Компилирует один или несколько файлов определения этикетки (.lbx), указанных с помощью параметров cFileName или cFileSkeleton. При выборе параметра LABEL компилирует исходный код для среды данных, который хранится в файле метки(этикетки), и сохраняет его в дополнительном мемо-поле.

REPORT

Компилирует один или несколько файлов определения отчета (.frx), указанных с помощью параметров cFileName или cFileSkeleton. При выборе параметра REPORT компилирует исходный код для среды данных, который хранится в файле отчета, и сохраняет его в дополнительном мемо-поле.

cFileName

Определяет целевой файл для компиляции.

Если Вы выбрали ни один из параметров, то следующая таблица описывает значения для cFileName, которое корреспондирует с параметром, который Вы выбирали.

Параметр cFileName

DATABASE

Имя базы данных, содержащей хранимые процедуры для компиляции.
Вы можете компилировать хранимые процедуры в неоткрытой базе данных.

FORM

Имя формы для компиляции.

CLASSLIB

Имя библиотеки классов для компиляции.

LABEL

Имя этикетки для компиляции.

REPORT

Имя отчета для компиляции.

Если не указана ни один из параметров, например, FORM или REPORT, то в качестве cFileName можно указывать следующие файлы:

  • Program (.prg)

  • Form (.spr)

  • Menu (.mpr)

  • Query (.qpr)

  • Format (.fmt)

cFileSkeleton

Определяет набор или подмножество файлов, соответствующих файловому скелету, который может содержать символы шаблона, например, звездочка (*) или знак вопроса (?).

Например, для компиляции всех файлов базы данных, наименование которых начинается с буквы A, используйте следующую команду:
CopyCode image Копировать код
COMPILE DATABASE A*

Для компиляции всех файлов программ с расширением .prg в текущей директории или папке, используйте следующую команду:

CopyCode image Копировать код
COMPILE *.PRG
?

Отображает диалоговый бокс Compile, в котором Вы можете просмотреть и выбрать файл для компиляции.

ALL

Для файлов старой кросс-платформы, отчетов (.frx) и этикеток (.lbx), компилирует все записи для всех платформ Visual FoxPro в таблице формы и является доступной только для параметров REPORT и LABEL.

Предположим, что у Вас есть .frx файл, содержащий только записи Windows и Macintosh. При выполнении команды COMPILE на компьютере с Windows, опускают ALL, компилируя только записи Windows.
ENCRYPT

Кодирует скомпилированные программные файлы Visual FoxPro. Параметр не доступен при использовании параметров DATABASE, FORM, CLASSLIB, LABEL и REPORT. ENCRYPT предотвращает доступ к оригинальным исходным программам. Для дополнительной защиты исходного кода всегда включайте этот параметр при компиляции программ, предназначенных для распространения.

NODEBUG

Уменьшает размер скомпилированного файла на два байта для каждой строки исходного файла. Параметр не доступен при использовании параметров DATABASE, FORM, CLASSLIB, LABEL и REPORT. Два байта, на которые уменьшается строка в скомпилированном файле, - это ссылка на соответствующую строку в исходном файле. Удаление этих двух байтов не влияет на исполнение программы, но зато уменьшает размер скомпилированного файла и, следовательно, экономит дисковое пространство.

Note Замечание

Когда Вы включаете параметр NODEBUG, то Вы не можете просмотреть выполняющуюся программу в окне Trace (Трассировки) или возвратить номер линии исходного кода с помощью функции MESSAGE(1)при возникновении ошибки. Более подробно, смотрите функцию MESSAGE( ) .

AS nCodePage

Определяет кодовую страницу, в которой скомпилирован программный файл. Параметр не доступен при использовании параметров DATABASE, FORM, CLASSLIB, LABEL и REPORT. Кодовая страница компиляции, которую Вы определяете здесь, аннулирует кодовую страницу глобальной компиляции определенную в SET CPCOMPILE.

Expand image Ссылки

Visual FoxPro executes only object files, so if a source file has not been compiled, it is automatically compiled into an object file when you run the program. The source file remains unchanged. A separate compiled object file is created with the same root name as the source file, but with a different extension. The following table lists example source file extensions and compiled file extensions for each file type.

File type | Source extension | Compiled extension
Program file | PRG | FXP
Menu code | MPR | MPX
Query | QPR | QPX
Format | FMT | PRX

The compiler detects any syntax errors in the source file. If SET LOGERRORS is set to ON when the file is compiled, Visual FoxPro saves compilation error messages to a text file. The error log file has the same root name as the compiled file and has an .err file name extension. If SET LOGERRORS is set to OFF, the error log file is not created. For more information, see SET LOGERRORS Command.

If a form has an #INCLUDE header (.h) file, and the .h file is moved from its original directory, a compilation error occurs and is listed in the error log (.err) file. You can run the form, but if you modify it, you cannot save it until you correct the path to the .h file.

To correct the path for a moved header (.h) file

  1. Open the form using the MODIFY FORM command.

  2. On the Form menu, choose Include File.

  3. In the Include File dialog box, browse to or type the new path for the .h file.

For more information, see #INCLUDE Preprocessor Directive, MODIFY FORM Command, and Include File Dialog Box.

Expand image Примеры

The following example uses CLOSE DATABASES to close all open databases and uses COMPILE DATABASE to compile all the stored procedures in the Visual FoxPro sample database, TestData.dbc.

CopyCode image Copy Code
CLOSE DATABASES
COMPILE DATABASE (HOME(2) + 'Data\TestData')

Expand image См. также

Reference

File Extensions and File Types
Compiling Source Code

Other Resources

Commands (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CONTINUE Command

Visual FoxPro 9.0 Language Reference
Команда CONTINUE
See Also Example
CollapseAll image

CONTINUE

CONTINUE используют после того, как LOCATE успешно найдет запись, для продолжения операции LOCATE. CONTINUE перемещает указатель записи к следующей записи, для которой логическое выражение, определенное в предшествующей LOCATE, оценивается в истину (.T.)

CONTINUE может быть повторена, пока не будет обнаружен конец файла или конец области, определенной в LOCATE.

Если CONTINUE успешно нашла запись, RECNO( ) возвращает номер записи, FOUND( ) возвращает значение True (.T.), и EOF( ) возвращает значение False (.F.).

Если CONTINUE не обнаружила запись, RECNO( ) возвращает номер записи в таблице плюс один, FOUND( ) возвращает False (.F.), и EOF( ) возвращает True (.T.).

Expand image Пример

В следующем примере подсчитываются и отображаются все клиенты из Франции. Все записи найдены с использованием LOCATE с применением CONTINUE в пределах цикла.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
SET TALK OFF
STORE 0 TO gnCount

LOCATE FOR ALLTRIM(UPPER(country)) = 'FRANCE'
DO WHILE FOUND( )
   gnCount = gnCount + 1
   CONTINUE
ENDDO
? 'Total customers from France: '+ LTRIM(STR(gnCount))

Expand image Смотрите также

Ссылка

EOF( ) Function
FOUND( ) Function
LOCATE Command
SEEK Command

Другие ресурсы

Commands (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


COPY FILE Command

Visual FoxPro 9.0 Описание языка
COPY FILE Команда
Смотрите также
CollapseAll image

Дублирует любой тип файла.

COPY FILE FileName1 TO FileName2

Expand image Замечания

COPY FILE создает дубликат файла, чье имя определено в FileName1. Вы можете использовать COPY FILE, чтобы копировать любой тип файла. Файл, который нужно копировать, не должен быть открытым. Вы должны указывать расширение файлов как для FileName1 так и для FileName2.

FileName1 и FileName2 могут содержать символы шаблона как например, * и ?. Например, чтобы создать резервные копии всех программных файлов с расширением .prg в текущей директории, запаустите COPY FILE *.PRG TO *.BAK.

Если Вы используете COPY FILE, чтобы создавать копию таблицы, которая имеет memo область, структурный индекс, не забывать копировать также файлы .fpt и .cdx.

Expand image Смотрите также

Ссылки

DELETE FILE Команда
RENAME Команда
RENAME TABLE Команда

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


COPY INDEXES Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY INDEXES
Смотрите также
CollapseAll image

Создает составные индексные тэги из единичных индексных .idx-файлов.

COPY INDEXES IndexFileList | ALL   [TO CDXFileName]

Параметры

IndexFileList

Указывает одновходовые индексные .idx-файлы, чьи индексные выражения используются для создания тэгов. Разделите имена индексных файлов запятыми. Имя, присваемое кждому тэгу является корневым именем соответствующего одновзодового индексного-файла. Если вы создаете тэг из индексного файла, который имеет одинаковок с уже существующим именем, то в случае, если была сделана установка SAFETY ON, откроется дилаоговый блок, запрашивающий вас - желаете ли вы переписать существующий тэг.

ALL

Указывает, что нужно создать индексные тэги из всех открытых одновходовых индексных файлов.

TO CDXFileName

Создает тэги в неструктурном составном индексном файле. Укажаите желаемое имя неструктурного составного индексного файла в выражении CDXFileName. Если неструктурный индексный файл с таким именем еще не существует, то Visual FoxPro автоматичеси создаст его.

Expand image Примечания

Составной индексный файл представляет собой индексный файл, содержащий отдельные индексные входы, именуемые тэгами (tag). Каждый тэг идентифицируется по его уникальному имени. По умолчанию, в качестве расширения для составного индексного файла используется .cdx.

Перед выпуском команды COPY INDEXES вы должны сначала открыть таблицы и одновходовые индексные файлы. Для создания новых тэгов используются индексные выражения из одновходовых индексных файлов.

Если вы опустите опцию TO, то вновь созданные тэги будут добавлены к структурному составному индексному файлу, который автоматически открывается при открытии таблицы. Если структурный составной индексный файл еще не существует для данной открытой таблицы, COPY INDEXES создаст такой файл.

Используйте команду COPY TAG для создания одновходовых индексных файлов из тэгов составного индексного файла.

Expand image Смотрите также

Справочное руководство

Функция CDX()
Команда COPY TAG
Команда DELETE TAG
Команда INDEX
Функция TAG()
Команда USE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


COPY MEMO Command

Visual FoxPro 9.0 Справочник Языка
COPY MEMO Команда
См. Также Пример

Копирует содержание указанного memo-поля текущей записи в текстовый файл.

COPY MEMO MemoFieldName TO FileName   [ADDITIVE]   [AS nCodePage]

Параметры

MemoFieldName

Определяет имя memo-поля, копируемое в текстовый файл.
TO FileName

Определяет имя нового или существующего текстового файла, в который копируется memo-поле. Если Вы не задаете расширение в FileName , то назначается .txt-расширение. Вы можете также включить путь с именем файла.
ADDITIVE

Добавляет содержание memo-поля в конец указанного текстового файла. Если Вы опускаете ADDITIVE, содержание memo-поля заменяет содержание текстового файла.
AS nCodePage

Определяет кодовую страницу для текстового файла, который создается командой COPY MEMO. Visual FoxPro копирует содержание указанного memo-поля, и при копировании данных, автоматически конвертирует данные в ту кодовую страницу, которую Вы определили для текстового файла. Если Вы определяете неподдерживаемое значение для nCodePage , Visual FoxPro генерирует сообщение об ошибке. Получить nCodePage Вы можете функцией GETCP( ) для вывода диалогового окна Code Page, разрешающего Вам определить кодовую страницу для создания файлов Visual FoxPro. Если AS nCodePage опущено или - 0, преобразование кодовой страницы не происходит.

Пример

В следующем примере, содержание memo-поля notes скопировано в файл Test.txt. Затем Memo-поле вновь копируется с добавлением в конец текстового файла.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee && Opens Employee table
COPY MEMO notes TO test.txt
WAIT WINDOW 'Memo contents now in test.txt' NOWAIT
MODIFY FILE test.txt
COPY MEMO notes TO test.txt ADDITIVE
WAIT WINDOW 'Memo contents added again to test.txt' NOWAIT
MODIFY FILE test.txt
DELETE FILE test.txt

См. Также

Другие Ресурсы

APPEND MEMO Команда
COPY FILE Команда
COPY TO Команда
MODIFY MEMO Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COPY PROCEDURES Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY PROCEDURES
Смотрите также Пример
CollapseAll image

Копирует хранимые процедуры текущей базы данных в текстовый файл.

COPY PROCEDURES TO FileName   [AS nCodePage] [ADDITIVE]

Параметры

FileName

Задает имя текстового файла, в который копируются хранимые процедуры. Если заданный файл не существует, Visual FoxPro автоматически создает его.

AS nCodePage

Задает кодовую страницу для текстового файла, в который копируются хранимые процедуры. Visual FoxPro копирует хранимые процедуры и при этом автоматически преобразует их в соответствии с заданной кодовой страницей.

Если заданное значение nCodePage не поддерживается, Visual FoxPro генерирует сообщение об ошибке. Выдав функцию GETCP( ) для страницы nCodePage можно открыть диалоговое окно Code Page и задать в нем нужную кодовую страницу для текстового файла, в который копируются хранимые процедуры.

Если предложение nCodePageопущено или задает nCodePage равным 0, преобразование кодовой страницы не производится.

ADDITIVE

Присоединяет хранимые процедуры в конец заданного текстового файла. Если ключевое слово ADDITIVE опущено, хранимые процедуры замещают содержимое файла.

Expand image Замечания

Используя команду COPY PROCEDURES вместе с APPEND PROCEDURES, можно программным способом модифицировать хранимые процедуры в базе данных. В момент выдачи команды COPY PROCEDURES база данных должна быть открытой и текущей; в противном случае Visual FoxPro сгенерирует сообщение об ошибке.

Expand image Пример

В следующем примере открывается база данных testdata и по команде COPY PROCEDURES процедуры копируются во временный файл Myproc.txt. Команда MODIFY FILE используется для открытия временного текстового файла, который будет пустым, если в базе данных нет хранимых процедур.

Если хранимых процедур нет, вы можете запустить пример для Команда APPEND PROCEDURES чтобы добавить процедуру в базу данных.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')

COPY PROCEDURES TO myproc.txt && Copy stored procedures to a file
MODIFY FILE myproc.txt  && Open the file
DELETE FILE myproc.txt  && Erase the file

Expand image Смотрите также

Справочное руководство

Команда APPEND PROCEDURES
Команда CREATE TRIGGER
Команда КоDISPLAY PROCEDURES
Команда MODIFY PROCEDURE
Команда SET DATABASE

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


COPY STRUCTURE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY STRUCTURE
Смотрите также Пример
CollapseAll image

Создает новую, пустую таблицу с той же структурой, что и у таблицы выбранной в даный момент.

COPY STRUCTURE TO TableName   [FIELDS FieldList]
[[WITH] CDX | [WITH] PRODUCTION]
[DATABASE cDatabaseName [NAME cTableName]]

Параметры

TableName

Определяет имя новой создаваемой пустой таблицы.

В Visual FoxPro, поддерживаются значения типа null и кодовая страница для новой, свободной таблицы идентична кодовой странице таблицы выбранной в данный момент.

FIELDS FieldList

Определяет что только поля чьи имена определены в FieldList будут скопированы в новую таблицу. Если вы опустите FIELDS FieldList, все поля будут скопированы в новую таблицу.

[WITH] CDX | [WITH] PRODUCTION

Создает структурный индексный файл для новой таблицы, который является идентичным структурному индексному файлу существующей таблицы. Тэгы и индексные выражения первоначального структурного индексного файла копируются в новый структурный индексный файл.

Предложения CDX И PRODUCTION идентичны.

В Visual FoxPro, первичный индекс для выбранной в даный момент таблицы конвертируется для новой пустой таблицы в индекс типа кандидат.

DATABASE cDatabaseName

Определяет имя существующей базы данных, к которой добавляется новая таблица. Обратите внимание свойства таблицы и полей не копируются в базу данных.

NAME cTableName

Определяет имя таблицы которое будет отображаться в базе данных.

Expand image Пример

В следующем примере, открывается таблица customer, ее структура копируется в таблицу с названием backup после чего backup открывается. Команда APPEND FROM добавляет записи в таблицу backup из таблицы customer, после чего открывается окно Browse для таблицы backup.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

COPY STRUCTURE TO backup
USE backup
APPEND FROM customer FOR country = 'UK'
BROWSE FIELDS contact, country
USE
DELETE FILE backup.dbf

Expand image Смотрите также

Справочное руководство

Команда COPY STRUCTURE EXTENDED
Команда CREATE
Команда DISPLAY STRUCTURE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


COPY STRUCTURE EXTENDED Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY STRUCTURE EXTENDED
Смотрите также Пример
CollapseAll image

Создает новую таблицу с полями, содержащими структуру текущей выбранной таблицы.

COPY STRUCTURE EXTENDED TO FileName
   [DATABASE DatabaseName [NAME LongTableName]] [FIELDS FieldList]

Параметры

FileName

Указывает имя файла создаваемой таблицы структуры.

DATABASE DatabaseName

Указывает имя базы данных, в которую будет добавления новая таблица.

NAME LongTableName

Указывает длинное имя для новой таблицы. Длинные имена могут содержать до 128 символов и могут быть использованы вместо коротких имен файлов в базе данных.

FIELDS FieldList

Указывает, что только перечисленные в FieldList поля будут включены в новую таблицу. Если вы опустите в команде опцию FIELDS FieldList, то в новую таблицу будут включены все поля из текущей таблицы..

Expand image Примечания

Информация о каждом поле в текущей выбранной таблице копируется в новую запись в новой таблице. Структура новой таблицы имеет фиксированный формат и состоит из 18 полей. В приведенной ниже таблице перечислены имена полей и их содержимое.

Поле | Тип поля | Содержимое
FIELD_NAME | Character | Имена полей из выбранной таблицы (шириной в 128 символов)
FIELD_TYPE | Character | Типы полей: Blob Character Currency Date DateTime Double Float General Integer Logical Memo Numeric Varchar and Varchar (Binary) Varbinary
FIELD_LEN | Numeric | Ширина полей
FIELD_DEC | Numeric | Число десятичных цифр в численных полях
FIELD_NULL | Logical | Поле поддерживает значение null
FIELD_NOCP | Logical | Не допускается трансляция кодовой страницы (только для полей типа character и memo)
FIELD_DEFA | Memo | Значения полей по умолчанию
FIELD_RULE | Memo | Правила проверки для поля
FIELD_ERR | Memo | Текст сообщения об ошибке при несоблюдении правила проверки поля
TABLE_RULE | Memo | Правило проверки таблицы
TABLE_ERR | Memo | Текст сообщения об ошибке при несоблюдении правила проверки таблицы
TABLE_NAME | Character | Длинное имя таблицы (имеется только в первой записи)
INS_TRIG | Memo | Выражение триггера вставки (имеется только в первой записи)
UPD_TRIG | Memo | Выражение триггера обновления (имеется только в первой записи)
DEL_TRIG | Memo | Выражение триггера удаления (имеется только в первой записи)
TABLE_CMT | Memo | Комментарий к таблице (имеется только в первой записи)
FIELD_NEXT | Numeric | Следующее значение для поля с AUTOINC, если это разрешено.
FIELD_STEP | Numeric | Шаг увеличения для поля AUTOINC. Если значение равно 0, автоувеличение значения поля не разрешено.

Ширина поля FIELD_NAME в предыдущих версиях Visual FoxPro, FoxPro for Windows и FoxPro for MS-DOS равнялась 10-ти символам. Для использования команды CREATE FROM с таблицами структур, созданных с помощью команды COPY STRUCTURE EXTENDED в Visual FoxPro 5.0 и более ранних версий, вы должны изменить ширину поля до значения FIELD_NAME в 10 символов длиной. Некоторые типы полей не поддерживаются в Visual FoxPro 3.0 и более ранних версий.

Если поле в исходной таблице использует автоувеличние значения, FIELD_STEP должен хранить ненулевое значение.

Вы можете модифицировать вновь созданную таблицу и использовать команду CREATE FROM для создания новой таблицы с другой структурой. Команды COPY STRUCTURE и CREATE FROM позволяют вам программно изменить структуру таблицы.

Expand image Пример

Приведенный ниже пример отображает структуру таблицы Orders, копирует расширенную информацию о ее структуре в таблицус Temp, выводит таблицу Temp в окно просмотра, создает таблицу с именем Backup из Temp, и отображает структуру таблицыBackup.
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Orders  && Открывает таблицу Orders.
CLEAR
DISPLAY STRUCTURE

WAIT WINDOW 'Structure of the Orders table' NOWAIT
COPY STRUCTURE EXTENDED TO Temp
USE Temp
WAIT WINDOW 'The Temp table - 1 row per field in orders' NOWAIT
BROWSE
CREATE Backup FROM Temp
USE Backup
DISPLAY STRUCTURE
WAIT WINDOW 'Backup.dbf has the same structure as Orders' NOWAIT
USE
DELETE FILE Temp.dbf
DELETE FILE Backup.dbf

Expand image Смотрите также

Справочное руководство

Функция AFIELDS()
Команда CREATE FROM
Команда COPY STRUCTURE

Концепции

Автоувеличение значения поля в таблицах

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


COPY TAG Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY TAG
Смотрите также
CollapseAll image

Создает файл простого индекса (.IDX) на основе тега из файла составного индекса.

COPY TAG TagName [OF CDXFileName]   TO IndexFileName

Параметры

TagName

Задает тег, используемый для создания файла индекса .idx.

OF CDXFileName

Задает файл составного индекса, содержащий данный тег. Это предложение следует указывать, если в открытых файлах составных индексов имеются теги с одинаковыми именами. Если опустить предложение OF CDXFileName, Visual FoxPro будет искать тег сначала в файле структурного индекса, а затем, если там его не окажется, во всех открытых файлах неструктурных составных индексов.

TO IndexFileName

Задает имя файла простого индекса .idx, который предстоит создать.

Expand image Замечания

Пользуйтесь командой COPY TAG для создания нового файла простого индекса .idx на основе тега из файла составного индекса .cdx.

Файл составного индекса, на основе которого вы создаете файл простого индекса .idx, должен быть открыт. Файлы структурных составных индексов автоматически открываются вместе с таблицейНеструктурные составные индексы необходимо открывать явно с помощью команд USE ... INDEX или SET INDEX. Подробнее о файлах составных индексов смотрите Команда INDEX.

Use COPY INDEX to create tags in compound index files from single-entry .idx files.

Expand image Смотрите также

Справочное руководство

Функция CDX( )
Команда COPY INDEXES
Команда DELETE TAG
Команда INDEX
Функция TAG( )
Команда USE

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


COPY TO ARRAY Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY TO ARRAY
Смотрите также Пример
CollapseAll image

Копирует данные в массив из таблицы, выбранной в данный момент.

COPY TO ARRAY ArrayName
   [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
   [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]

Параметры

ArrayName

Задает массив, в который нужно скопировать данные из таблицы.

FIELDS FieldList

Указывает, что в массив следует скопировать только поля, включенные в список FieldList. Если опустить предложение FIELDS FieldList, все поля будут скопированы в массив, если у него достаточно столбцов.

FIELDS LIKE Skeleton

Указывает, что в масив копируются поля которые соответствуют шаблону Skeleton.

FIELDS EXCEPT Skeleton

Указывает, что в масив копируются все поля кроме тех, которые соответствуют шаблону Skeleton.

Scope

Задает диапазон записей, копируемых в массив. В копировании будут участвовать только записи указанного диапазона. Он может задаваться следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона смотрите тему Выражение Scope.

FOR lExpression1

Задает копирование в масив только записей, удовлетворяющих логическому условию lExpression1. Предложение FOR позволяет выполнять условное копирование записей в массив, отфильтровывая ненужные записи.

WHILE lExpression2

Задает условие, согласно которому записи будут копироваться в массив, пока логическое выражение lExpression2 остается истинным (.T.).

NOOPTIMIZE

Блокирует оптимизацию выполнения команды COPY TO ARRAY по технологии Rushmore. Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Expand image Замечания

Технология Rushmore допускает оптимизацию запроса COPY TO ARRAY с предложением FOR lExpression1, если lExpression1 является оптимизируемым выражением. Для повышения производительности рекомендуется пользоваться в предложении FOR оптимизируемым выражением. одробнее о выражениях, оптимизируемых по технологии Rushmore, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Команда COPY TO ARRAY аналогична команде SCATTER. COPY TO ARRAY копирует несколько записей в массив, а SCATTER - только одну запись в массив или в набор переменных памяти. Обе команды, COPY TO ARRAY и SCATTER , создают новый массив, если массива с заданным именем не существует.

Чтобы скопировать одну запись в массив, можно задать одномерный массив. В состав такого массива должно входить столько же элементов, сколько полей входит в таблицу, не считая memo-полей. Memo и Blob поля игнорируются командой COPY TO ARRAY.

Если вы задали одномерный массив, первое поле записи будет сохранено в первом элементе массива, второе поле - во втором элементе и т.д. Если в одномерном массиве оказалось больше элементов, чем полей в таблице, оставшиеся элементы не изменяются. Если в массиве меньше элементов, чем полей в таблице, лишние поля игнорируются.

Чтобы скопировать в массив несколько записей или всю таблицу целиком, задайте двумерный массив. Число строк в массиве - это число записей, которое массив может вместить, а число столбцов массива - это число полей, которое можно в него поместить.

Каждая запись сохраняется в одной строке массива, а каждое поле записи сохраняется в одном столбце массива. В каждой записи первое поле сохраняется в первом столбце массива, второе поле - во втором столбце и т.д. Если в массиве оказалось больше столбцов, чем полей в таблице, все оставшиеся столбцы не изменяются. Если в массиве меньше столбцов, чем полей в таблице, лишние поля не сохраняются в массиве.

Каждая последующая строка массива заполняется содержимым очередной записи таблицы. Если в массиве больше строк, чем записей в таблице, оставшиеся строки не изменяются. Если в массиве меньше строк, чем записей в таблице, лишние записи не сохраняются в массиве.

Содержимое массива можно скопировать в новые табличные записи командой APPEND FROM ARRAY. Кроме того, с помощью команды GATHER можно скопировать данные из массива или из набора переменных памяти в записи таблицы.

Шаблон Skeleton поддерживает групповые символы. Например, чтобы скопировать все поля, которые начинаются с символов A и P, используйте следующее:

CopyCode image Copy Code
COPY TO ARRAY aMyArray FIELDS LIKE A*,P*

Предложение LIKE может использоваться в комбинации с предложением EXCEPT:

CopyCode image Copy Code
COPY TO ARRAY aMyArray FIELDS LIKE A*,P* EXCEPT PARTNO*

Включение автоувеличения (autoincrement) не имеет никакого эффекта на команду COPY TO ARRAY. Только значения записей копируются в масив.

Expand image Пример

В следующем примере открывается таблица, Customer. Затем создается двумерный массив, в него копируются первые три записи таблицы Customer. DISPLAY MEMORY показывает данные, сохраненные в массиве.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer  && Opens Customer table.

DIMENSION gaTemp(3,10)
COPY NEXT 3 TO ARRAY gaTemp
DISPLAY MEMORY LIKE gaTemp

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM ARRAY
Команда DECLARE
Команда DIMENSION
Команда GATHER
Команда PUBLIC
Команда SCATTER
Команда STORE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


COPY TO Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда COPY TO Command
Смотрите также Пример
CollapseAll image

Создает новый файл на основе содержимого выбранной в данный момент таблицы.

COPY TO FileName [DATABASE DatabaseName [NAME LongTableName]]
   [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
   [Scope] [FOR lExpression1] [WHILE lExpression2]
   [ [WITH] CDX ] | [ [WITH] PRODUCTION ] [NOOPTIMIZE]
   [ [TYPE] [ FOXPLUS | FOX2X | DIF | MOD | SDF | SYLK | WK1 | WKS | WR1
   | WRK | CSV | XLS | XL5 | DELIMITED [ WITH Delimiter | WITH BLANK
   | WITH TAB | WITH CHARACTER Delimiter ] ] ] [AS nCodePage]

Параметры

FileName

Задает имя нового создаваемого файла. Если вы указали имя файла без расширения, COPY TO назначит ему расширение, принятое по умолчанию для файлов заданного типа. Если вы не указали тип файла, COPY TO оздает новую таблицу Visual FoxPro и назначает этому файлу расширение по умолчанию .dbf.

DATABASE DatabaseName

Определяет базу данных, в которую добавляется новая таблица.

NAME LongTableName

Определяет длинное имя для новой таблицы. Длинные имена могут содержать до 128 символов и могут использоваться вместо коротких имен файлов в базе данных.

FIELDS FieldList

Определяет, какие поля копировать в новый файлу. Если вы опустите FIELDS FieldList, все поля будут скопированы в файл. Если создаваемый файл не является таблицей, memo поля не будут скопированы в новый файл, даже если имена memo полей включены в cписок полей.

FIELDS LIKE Skeleton

Указывает, что в новый файл будут включены только те поля из оригинальной таблицы, которые соответствуют шаблону Skeleton.

FIELDS EXCEPT Skeleton

Определяет, что все поля кроме тех, которые соответствуют шаблону Skeleton будут включены в новый файл.

Scope

Задает диапазон записей, копируемых в файл. Копируются только записи, попадающие в указанный диапазон. Он может задаваться предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона смотрите Выражение Scope.

FOR lExpression1

Определяет, что COPY TO копирует только те записи, для которых логическое условие lExpression1 вычисляется в истину (.T.). Используйте предложение FOR lExpression1 для условного копирования только нужных записей.

WHILE lExpression2

Задает условие, согласно которому записи копируются, пока значение логического выражения lExpression2 остается равным "истине" (.T.).

[WITH] CDX | [WITH] PRODUCTION

Создает для новой таблицы файл структурного индекса, идентичный файлу структурного индекса существующей таблицы. Теги и выражения индекса из исходного файла структурного индекса копируются в новый файл структурного индекса. Предложения CDX и PRODUCTION эквивалентны. Однако, не включайте предложения CDX или PRODUCTION если вы копируете в файл неявлюющийся новой таблицей Visual FoxPro.

NOOPTIMIZE

Блокирует оптимизацию команды COPY TO по технологии Rushmore. Для получения дополнительной информации, смотрите Команда SET OPTIMIZE and Использование оптимизации запросов Rushmore для ускорения доступа к данным.

TYPE

Задает тип файла, если создаваемый файл не является таблицей Visual FoxPro. Хотя задавать тип файла нужно обязательно, ключевое слово TYPE можно опустить.

FOXPLUS

Memo-файлы Visual FoxPro имеют структуру, отличную от структуры memo-файлов FoxBASE+™. Если исходная таблица Visual FoxPro содержит memo-поле, включите предложение FOXPLUS , чтобы создать таблицу, которую можно будет использовать в FoxBASE+. Memo-поле Visual FoxPro не может содержать двоичные данные, поскольку FoxBASE+ не поддерживает двоичные данные в memo-полях.

FOX2X

Создает новую таблицу, которую можно открывать в предыдущих версиях FoxPro (версии 2.0, 2.5, и 2.6).

Для полей типа Numeric, Float, Integer, Double и Currency значения NULL из исходной таблицы преобразуются в нули в новой таблице. Для остальных типов полей значения NULL исходной таблицы преобразуются в новой таблице в пустые значения. Подробнее о пустых значениях смотрите Функция ISBLANK( ).

В следующей таблице приводится список типов полей Visual FoxPro, которые преобразуются в новой таблице в другие типы полей при наличии параметра FOX2X.

Тип поля Visual FoxPro Тип поля FoxPro 2.x

Blob

Memo

Currency

Float

DateTime

Date

Double

Float

Integer

Numeric

Varbinary

Memo

Varchar

Memo
DIF

Создает файл VisiCalc® .dif (Data Interchange Format). Поля таблицы Visual FoxPro становятся векторами (столбцами), а записи становятся кортежами (строками). Новому файлу назначается расширение имени .dif , если вы не указали иное расширение в аргументе FileName.

MOD

Создает файл Microsoft Multiplan версии 4.01. Новому файлу Microsoft Multiplan назначается расширение имени .MOD, если вы не задали иное расширение.

SDF

Создает файл формата SDF (System Data Format). Файл SDF представляет собой текстовый ASCII-файл, записи которого имеют фиксированную длину и завершаются возвратом каретки и переводом строки. Поля не ограничиваются. Файлу SDF назначается расширение имени .TXT, если вы не задали иное расширение. Установка SET CENTURY игнорируется при создании SDF файлов командой COPY TO.

Если файлы SDF включают данные типа date, то они должны быть в формате YYYYMMDD для достижения эффективного обратного преобразования в таблицы Visual FoxPro.

Если информация типа date сохранена в неоднозначном формате, вы должны удостовериться, что даты находятся в формате YYYYMMDD прежде, чем вы выполняете операцию COPY TO.

SYLK

Создает файл обмена типа SYLK (Symbolic Link). Файлы SYLK используются в Microsoft MultiPlan. Каждое поле из текущей выбранной таблицы становится столбцом в электронной таблице, а каждая запись становится строкой. Имена файлов SYLK не имеют расширений.

WK1

Создает файл электронной таблицы Lotus® 1-2-3® версии 2.x. Каждое поле текущей выбранной таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Новой электронной таблице назначается расширение имени файла .wk1.

WKS

Создает файл электронной таблицы Lotus 1-2-3 версии 1a. Каждое поле текущей выбранной таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Новой электронной таблице назначается расширение имени файла .WKS.

WR1

Создает файл электронной таблицы Lotus Symphony® версии 1.1 или 1.2. Каждое поле текущей выбранной таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Новой электронной таблице назначается расширение имени файла .WR1.

WRK

Создает файл электронной таблицы Lotus Symphony версии 1.0. Каждое поле текущей выбранной таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Новой электронной таблице назначается расширение имени файла .WR1.

CSV

Создает файл значения в котором разделены запятой. В файле CSV первая строка - имена полей, следующие строки - значения полей разделенные запятыми.

XLS

Создает файл электронной таблицы Microsoft Excel версии 2.0. Каждое поле текущей выбранной таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Новой электронной таблице назначается расширение имени файла .XLS, если вы не задали иное расширение.

Note Note

Хотя вы и можете экспортировать максимум 65,535 строк, включая одну строку, зарезервированную для заголовка полей, версии Excel ранее чем 8.0 (Excel 97) отображают только первые 16,384 строк и не могут импортировать файлы, содержащие больше чем 32,767 строки.

XL5

Создает файл электронной таблицы Microsoft Excel версии 5.0. Каждое поле текущей выбранной таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Новой электронной таблице назначается расширение имени файла .XLS, если вы не задали иное расширение.

Note Note

Хотя вы и можете экспортировать максимум 65,535 строк, включая одну строку, зарезервированную для заголовка полей, версии Excel ранее чем 8.0 (Excel 97) отображают только первые 16,384 строк и не могут импортировать файлы, содержащие больше чем 32,767 строки.

DELIMITED

Создает файл с разделителями; это текстовый ASCII-файл, в котором каждая запись заканчивается возвратом каретки и переводом строки. По умолчанию в качестве разделителя полей используется запятая. Поскольку запятые могут входить в состав символьных данных, символьные поля дополнительно разделяются двойными кавычками.

Вновь создаваемым файлам типа DELIMITED назначается расширение имени .TXT, если вы не задаете иного расширения.

DELIMITED WITH Delimiter

Создает файл с разделителями, в котором символьные поля разделяются символом, отличным от кавычек. Этот символ задается аргументом Delimiter.

DELIMITED WITH BLANK

Создает файл с разделителями, в котором поля разделяются не запятыми, а пробелами.

DELIMITED WITH TAB

Создает файл с разделителями, в котором поля разделяются не запятыми, а табуляторами.

DELIMITED WITH CHARACTER Delimiter

Creates a delimited file with all fields enclosed by the character specified with Delimiter. If Delimiter is a semicolon (;), used in Visual FoxPro to indicate command line continuation, enclose the semicolon in quotation marks. You can also specify the BLANK and TAB keywords for Delimiter.

You can combine the WITH Delimiter clause with the WITH CHARACTER clause. For example, the following command creates a text file with character fields enclosed by underscores and all fields delimited from each other with semicolons:

CopyCode image Copy Code
COPY TO mytxt.txt DELIMITED WITH _ WITH CHARACTER ';'
AS nCodePage

Задает кодовую страницу для таблицы или файла, создаваемого командой COPY TO. Visual FoxPro копирует содержимое выбранной в данный момент таблицы и в процессе копирования автоматически преобразует данные в кодовую таблицу, указанную для новой таблицы или файла. Если это возможно, Visual FoxPro помечает вновь созданную таблицу или файл указанной кодовой страницей.

Если опустить предложение AS nCodePage, e, вновь созданная таблица или файл преобразуется в текущую кодовую страницу Visual FoxPro.

Expand image Remarks

Шаблон Skeleton поддерживает групповые символы. Например, чтобы скопировать все поля, которые начинаются с символов A и P, используйте следующее:

CopyCode image Copy Code
COPY TO mytable FIELDS LIKE A*,P*

Предложение LIKE может использоваться в комбинации с предложением EXCEPT:

CopyCode image Copy Code
COPY TO mytable FIELDS LIKE A*,P* EXCEPT PARTNO*

Технология Rushmore допускает оптимизацию COPY TO с предложением FOR lExpression1 если lExpression1 является оптимизируемым выражением. Для повышения производительности рекомендуется пользоваться в предложении FOR lExpression1 оптимизируемым выражением. Подробнее о выражениях, оптимизируемых по технологии Rushmore, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Если установлен порядок сортировки в индексе, записи копируются в порядке сортировки индекса.

Если в качестве nCodePage вы задали кодовую страницу, которая не поддерживается, Visual FoxPro генерирует сообщение об ошибке. Вы можете использовать функцию GETCP( ) для nCodePage чтобы отобразить диалоговое окно Code Page и там задать кодовую страницу для создаваемой таблицы или файла.

Команда COPY TO сохраняет автоувеличивающиеся настройки кроме следующих условий:

  • Когда cписок полей, определенный, используя COPY TO...FIELDS не включает поля которая используют автоувеличение.

  • Когда используется параметр TYPE в команде COPY TO, независимо от типа, определенного в соответствии с пунктом.

Результирующяя таблица начинает увеличивать щетчик начиная с значения NextValue исходной таблицы. Например, предположим что NextValue в исходной таблице 1000 со значением Step 1. Тогда первая строка результирующей таблицы будет иметь значение 1001; вторая строка 1002, и так далее.

Используя команду COPY TO, следует знать, что Команда SET VARCHARMAPPING будет воздействовать на вычисляемые поля (символьные выражения переменной длины) установленные командой SET FIELDS.

Expand image Пример

В следующем примере открывается таблица customer и следующие три записи копируются в новый файл данных Temp.txt типа DELIMITED.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer  && Opens Customer table.

COPY NEXT 3 TO Temp TYPE DELIMITED
WAIT WINDOW 'This is the delimited text file' NOWAIT
MODIFY FILE Temp.txt
DELETE FILE Temp.txt

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM
Команда COPY FILE
Функция GETCP( )
Команда EXPORT
Команда IMPORT
Команда RENAME TABLE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


COUNT Command

Visual FoxPro 9.0 Справочник Языка
COUNT Команда
См. Также Пример

Считает количество записей таблицы.

COUNT   [Scope] [FOR lExpression1] [WHILE lExpression2]   [TO VarName]
   [NOOPTIMIZE]

Параметры

Scope

Определяет диапазон записей, которые будут включены в подсчет. Диапазон по умолчанию для COUNT - ALL (все записи). Предложения scope (для определения диапазона): ALL, NEXT nRecords , RECORD nRecordNumber , и REST. Команды, которые включают Scope работают только над таблицей в активной рабочей области. Для подробной информации относительно предложений scope, см. Предложения Scope .
FOR lExpression1

Определяет, что подсчитываются только записи, которые удовлетворяют логическому условию lExpression1. Включение FOR позволяет Вам считать записи по условию, отфильтровывая нежелательные записи. Оптимизация Rushmore оптимизирует запрос COUNT FOR если lExpression1 является оптимизируемым выражением. Для быстрого выполнения, используйте оптимизируемое выражение в предложении FOR. Для подробной информации относительно оптимизируемых выражений, см. SET OPTIMIZE Команда и Использование Rushmore Query Optimization to Speed Data Access .
WHILE lExpression2

Определяет условие, при котором подсчет продолжается пока логическое выражение lExpression2 равно Истине (.T)..
TO VarName

Определяет переменную или массив, в которых сохраняется число записей. Если переменной, которую Вы определяете, не существует, Visual FoxPro её создает.
NOOPTIMIZE

Отключает Rushmore оптимизацию для COUNT. Для подробной информации см. SET OPTIMIZE Команда и Использование Rushmore Query Optimization to Speed Data Access .

Замечания

COUNT считает записи в пределах записей, для которых условия FOR или WHILE являются истинными. Если SET TALK - ON, то на экран выводится количество записей.

Записи, отмеченные для удаления включены в подсчет, если SET DELETE - OFF.

Для обсуждения того, как значения null влияют на COUNT, см. тему Поведение Значений null в Командах и Функциях .

Пример

Следующий пример подсчитывает и отображает количество клиентов в Париже.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
CLEAR
COUNT FOR UPPER(city) = 'PARIS'
DISPLAY FIELDS company, contact FOR UPPER(city) = 'PARIS'

См. Также

Другие Ресурсы

CALCULATE Команда
SET DELETED Команда
SET TALK Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CREATE CLASS Command

Visual FoxPro 9.0 Описание Языка
CREATE CLASS, команда
См. также
CollapseAll image

Открывает системное окно Дизайнера Классов, в котором вы можете создать новый Класс определенного типа.

CREATE CLASS ClassName | ? [OF ClassLibraryName1 | ?]
[AS cBaseClassName [FROM ClassLibraryName2]] [NOWAIT]

Параметры

ClassName

Определяет имя создаваемого Класса.

?

Открывает соответствующий диалоговый бокс New Class, в котором определяется имя и тип создаваемого Класса, а также имя библиотеки классов, в которой будет размещен данный класс.

OF ClassLibraryName1

Определяет имя Библиотеки классов .vcx, в которой будет размещен создаваемый Класс. Если указанная библиотека .vcx уже существует, создаваемый класс будет расположен в ней.

Расширение библиотеки классов =.vcx принято по-умолчанию для файлов библиотек визуальных классов. Если вы используете другое расширение для библиотеки классов, отличное от стандартного, то необходимо это расширение указывать явно с именем библиотеки.

?
Открывает соответствующий диалоговый бокс New Class, в котором определяется имя и тип создаваемого Класса, а также имя библиотеки классов, в которой будет размещен данный класс.
AS cBaseClassName

Задает класс, на котором базируется данное определение класса. Это может быть любой базовый класс Visual FoxPro, кроме Column и Header. В качестве cBaseClassName можно задать и класс, определенный пользователем, если указано предложение FROM ClassLibraryName2, которое определяет имя библиотеки визуальных классов .VCX, содержащее этот пользовательский класс.
Если преложение AS cBaseClassName опущено, определение класса будет основано на базовом классе FormSet.

FROM ClassLibraryName2

Определяет имя библиотеки пользовательских классов .vcx, в которой размещен пользовательский Родительский класс cBaseClassName.

NOWAIT

Продолжает выполнение программы после открытия конструктора классов. Программа не ожидает закрытия конструктора классов, а продолжает выполняться со строки, непосредственно следующей за строкой с командой CREATE CLASS NOWAIT. Если опустить NOWAIT, то при выдаче команды CREATE CLASS в программе конструктор классов будет открыт, а выполнение программы приостановится до тех пор, пока конструктор классов не закроется.
Включение предложения NOWAIT не влияет на работу команды CREATE CLASS, когда та выдается из Системного Командного окна.

Expand image Комментарии

Команда CREATE CLASS используется для создания Класса, который сохраняется в некоторой библиотеке классов .vcx. Данную библиотеку классов вы можете заранее открыть при помощи команды SET CLASSLIB, в этом случае все определяемые классы данной библиотеки становятся доступными для дальнейшего использования.

Expand image См. также

Описание

ADD CLASS , Команда
_BROWSER, системная переменная
CREATE CLASSLIB , Команда
DEFINE CLASS , Команда
_INCLUDE, системная переменная
MODIFY CLASS , Команда
RELEASE CLASSLIB , Команда
Session, объект
SET CLASSLIB , Команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CREATE CLASSLIB Command

Visual FoxPro 9.0 Language Reference
CREATE CLASSLIB Команда
См. Также Пример

Создает новый, пустой .VCX файл библиотеки визуальных классов.

CREATE CLASSLIB ClassLibraryName

Параметры

ClassLibraryName

Задает имя библиотеки визуальных классов, которую предстоит создать. Если библиотека визуальных классов с таким именем уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдает запрос, следует ли вести запись поверх существующей библиотеки визуальных классов. Если команда SET SAFETY установила значение OFF, запись поверх существующего файла будет вестись автоматически. Если расширение имени файла не задано, Visual FoxPro автоматически добавит расширение .vcx.

Замечания

Определения классов можно добавить в библиотеку визуальных классов с помощью команд ADD CLASS и CREATE CLASS.

Пример

В следующем примере команда CREATE CLASSLIB создает библиотеку визуальных классов myclslib. Далее создается класс myform основанный на базовом классе Visual FoxPro Form и помещается в библиотеку визуальных классов myclslib . SET CLASSLIB используется для открытия библиотеки myclslib, чтобы классы из нее могли быть использованы.
Код в буфер
CREATE CLASSLIB myclslib     && Creates a new .VCX visual class library
CREATE CLASS myform OF myclslib AS "Form"  && Creates new class
SET CLASSLIB TO myclslib ADDITIVE     && Opens MyClsLib.VCX

См. Также

Другие Ресурсы

ADD CLASS Команда
_BROWSER Системная переменная
CREATE CLASS Команда
DEFINE CLASS Команда
MODIFY CLASS Команда
RELEASE CLASSLIB Команда
SET CLASSLIB Команда
Команды
Справочники языка

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CREATE COLOR SET Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE COLOR SET
Смотрите также
CollapseAll image

Создает цветовой набор на основе текущих установок цвета..

CREATE COLOR SET ColorSetName

Параметры

ColorSetName

Задает имя создаваемого цветового набора.

Expand image Remarks

В создаваемом цветовом наборе сохраняется каждая цветовая пара из каждой цветовой схемы. Имя цветового набора может содержать в Visual FoxPro до 24 символов (в предыдущих версиях FoxPro ѕ до 10 символов), в том числе цифры и символы подчеркивания, но не может начинаться с цифры.

После того как цветовой набор создан, его можно загружать с помощью команды SET COLOR SET.

Цветовые наборы сохраняются в файле ресурсов Visual FoxPro. Если цветовой набор с заданным именем уже существует, он будет перезаписан.

Expand image Смотрите также

Справочное руководство

Команда SET COLOR OF SCHEME
Команда SET COLOR SET
Команда SET COLOR TO

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CREATE Command

Visual FoxPro 9.0 Описание Языка
CREATE, команда
См. также
CollapseAll image

Открывает системное окно Дизайнера Таблиц, в котором вы можете создать структуру Таблицы Visual FoxPro.

CREATE [FileName | ?]

Параметры

[ FileName| ?]

Задает имя таблицы, которую предстоит создать. Или Отображает диалоговое окно Create, в котором можно определить имя и местоположение создаваемой таблицы.

Expand image Комментарии

В Visual FoxPro, если во время создания таблицы имеется уже открытая база данных, таблица автоматически добавляется в данную базу данных.

В Visual FoxPro, FoxPro для Windows и FoxPro для MS-DOS нельзя создать таблицу с именем, которое носит устройство MS-DOS, например CON, NUL, PRN, COM1. Следует избегать использования дефисов в имени таблицы: такие имена не будут отображены в окне просмотра и, кроме того, могут вызвать путаницу с указателем псевдонима (->).

Создать таблицу - значит определить имя, тип и размер каждого поля. Построив структуру таблицы, можно добавлять в эту таблицу записи. Смотрите дополнительно раздел Создание Таблиц данных.

При помощи специальной команды SQL CREATE TABLE можно программным способом создавать Таблицы, определять их характеристики. Смотрите дополнительно раздел: CREATE TABLE - SQL, команда.

Expand image См. также

Описание

ALTER TABLE - SQL, команда
CREATE DATABASE, команда
MODIFY STRUCTURE, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CREATE CONNECTION Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE CONNECTION
Смотрите также Пример
CollapseAll image

Создает именованное соединение и сохраняет его в текущей базе данных.

CREATE CONNECTION [ConnectionName | ?]   [DATASOURCE cDataSourceName]
   [USERID cUserID] [PASSWORD cPassWord]   [DATABASE cDatabaseName]
| CONNSTRING cConnectionString]

Параметры

ConnectionName

Задает имя соединения, которое будет создано.

?

Отображает Конструктор соеденений, в котором можно создать и сохранить соединение.

DATASOURCE cDataSourceName

Задает имя источника данных ODBC для соединения.

USERID cUserID

Задает идентификатор пользователя для источника данных ODBC.

PASSWORD cPassWord

Задает пароль для источника данных ODBC.

DATABASE cDatabaseName

Задает базу данных на сервере к которой создается соеденение.

CONNSTRING cConnectionString

Задает строку соединения с источником данных ODBC. Строку соединения можно использовать вместо явного задания источника данных ODBC, идентификатора пользователя и пароля.

Expand image Замечания

Если опустить необязательные аргументы, появится диалоговое окно Connection Designer, с помощью которого можно создать соединение в интерактивном режиме.

Expand image Пример

The following example assumes an ODBC data source called MyFoxSQLNT is available. The testdata database is opened, and a connection named Myconn is created. DISPLAY CONNECTIONS is used to display the named connections in the database. The connection is then removed from the database with DELETE CONNECTION.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
CREATE CONNECTION Myconn DATASOURCE "MyFoxSQLNT" USERID "<userid>" PASSWORD "<password>"

CLEAR
DISPLAY CONNECTIONS  && Displays named connections in the database
DELETE CONNECTION Myconn  && Removes the connection just created

Expand image Смотрите также

Справочное руководство

Команда DELETE CONNECTION
Функция DBGETPROP( )
Команда DISPLAY CONNECTIONS
Команда LIST CONNECTIONS
Команда MODIFY CONNECTION
Команда OPEN DATABASE
Команда RENAME CONNECTION

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CREATE CURSOR - SQL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE CURSOR - SQL
Смотрите также Пример
CollapseAll image

Создает временную таблицу, которая существует только до момента ее закрытия.

CREATE CURSOR alias_name
...[CODEPAGE=nCodePage]
   (fname1 cFieldType [(nFieldWidth [, nPrecision])] [NULL | NOT NULL]
   [CHECK lExpression [ERROR cMessageText]]
   [AUTOINC [NEXTVALUE NextValue [STEP StepValue]]]
   [DEFAULT eExpression] [UNIQUE [COLLATE cCollateSequence]]
   [NOCPTRANS] [, fname2 ...])
   | FROM ARRAY ArrayName

Параметры

alias_name

Указывает имя создаваемой временной таблицы. Параметр alias_name может быть выражением, оцениваемым в имя.

nCodePage

Указывает какую кодовую страницу использовать при создании. Для получения подробной информации о списке поддерживаемых кодовых странице обратитесь к статье Кодовые страницы, поддерживаемые Visual FoxPro.

fname

Указывает имя поля временной таблицы. Каждый fname может представлять собой выржание, оцениваемое в имя.

cFieldType

Указывает одну букву или длинное имя, определяющие тип данных, которые будут храниться в поле.

nFieldWidth

Определяет ширину поля, указанного в fname. Некоторые типы данных требуют, чтобы вы указали значение для nFieldWidth. Для некоторых типов данных это значение устанавливается автоматически

nPrecision

Определяет число десятичных мест для указанного типа данных. Некоторые типы данных требуют указания этого значения, для некоторых типов данных, например, символьных, это значение абсурдно.

В приведенной ниже таблице показаны возможные значения для параметров cFieldType, nFieldWidth и nPrecision.

cFieldType nFieldWidth nPrecision Описание

W, Blob

-

-

Blob

C, Char, Character

n

–

Character поле с длиной n

Y, Currency

–

–

Currency

D, Date

–

–

Date

T, DateTime

–

–

DateTime

B, Double

–

d

Double

G, General

–

–

General

I, Int, Integer

–

–

Integer

L, Logical

–

–

Logical

M, Memo

–

–

Memo

N, Num, Numeric

n

d

Numeric поле с длиной n, имеющее d десятичных мест

F, Float

n

d

Поле Numeric длиной n имеющее d десятичных мест с плавающей запятой

Q, Varbinary

n

-

Varbinary поле с длиной n

V, Varchar

n

-

Varchar поле с длиной n

Параемтры nFieldWidth и nPrecision игнорируются для типов W, Y, D, T, G, I, L и M. Если nPrecision не указана для типов данных N, F или B, то nPrecision установливается в значение по умолчанию равное zero (нет десятичных мест).

NULL | NOT NULL

Определяет - будут ли допустимы для хранения в поле null-значения. NULL разрешает зранение null-значений, а NOTNULL запрещает.

CHECK lExpression

Указывает правило проверки для поля. Параметр lExpression должен оцениваться в логическое выражение и может быть пользовательской функцией или хранимой процедурой.

ERROR cMessageText

Определяет сообщение об ошибке, которое будет выведено пользователю в случае, когда правило проверки возвращает значение .F. и генерируется соответствующая ошибка. Сообщение отображается только в случае, когда данные изменены в окнах Browse или Edit.

AUTOINC [NEXTVALUE NextValue [STEP StepValue]]

Разрешает автоувеличение для поля.

NextValue указывает начальное значение и может быть как положительным, так и отрицательным числом в диапазоне от 2,147,483,647 до -2,147,483,647. Значение по умолчанию для этого параметра равно единице (1). Вы можете установить NextValue используя бокс Next Value на закладке Fields в табличном дизайнере.

StepValue указывает значение, на которое будет увеличиваться значение поля, которо может быть положительным, не равным нулю, в диапазоне от 1 до 255. Значением по умолчанию является 1. Вы можете установить значение StepValue используя бокс Step на закладке Fields табличного редактора.

Значения поля автоувеличения не могут хранить null-значения (.NULL.). Автоувеличение включается, когда размер шага автоувеличения больше чем 0.

Note Замечание

Таблица, содержащая поля с разрешенным для них автоувеличением в случае табличной буфферизации добавляют записи примерно на 35% медленнее по сравнению с таблицами, не имеющими таких полей. При использовании табличной буфферизации заголовок таблицы блокируется во время добавления записей.

DEFAULT eExpression

Указывает значение по умолчанию для поля. Тип данных выражения eExpression должен быть того же самого типа, что и тип данных, которое ьудет храниться в этом поре.

Если вы используете опцию AUTOINC для разрешения автоувеличения значений поля и указываете значение по умолчанию, Visual FoxPro хранит введенное вами значение в таблице, но не использует его. Visual FoxPro использует значение по умолчанию, если вы используете команду ALTER TABLE - SQL для удаления автоувеличения для поля.

UNIQUE

Создает индекс-кандидат для поля. Тэг индекса-кандидата имеет тоже самое имя, что и имя поля. Для получения более подробной информации об индексах-кандидатах смотрите Типы индексов Visual FoxPro.

COLLATE cCollateSequence

Определяет последовательность сопоставления, если она отличается от используемой по умолчанию MACHINE. Параметр cCollateSequence должен быть поддерживаемой и действительной последовательностью сопоставления Visual FoxPro. Для получения более подробной инофрмации смотрите описания Оптимизация международных приложений и Команда SET COLLATE.

NOCPTRANS

Предотвращает трансляцию между разными кодовыми страницами для полей типа Character, Memo и Varchar. Вы можете указать NOCPTRANS только для полей этих типов.

FROM ARRAY ArrayName

Указывает имя существующего массива, который содержит всю необходимую для создания временной таблицы информацию - имена полей, их тип, точность и размер. Вы можете использовать опцию FROM ARRAY вместо указания индивидуальных полей. Для точного формата содержания массива смотрите описание функции AFIELDS().

Expand image Примечания

Вы можете управлять временной таблицей, созданной с помощью CREATE CURSOR в той же манере, что и любой другой таблицей — вы можете просматривать ее и индексировать, вы можете добавлять и изменять записи. Временная таблица открывается в ближайшей свободной рабочей области и на нее можно ссылаться с помощью псевдоимени. Каждое поле временной таблица определено по всем правилам, как и для обычной таблицы. Эти определения могут быть получены как из команды, так и из массива. Временная таблица открывается эксклюзивно (в монопольном режиме) независимо от значения установки SET EXCLUSIVE.

Если вы опустити опции NULL и NOT NULL, то будет или нет разрешено хранение в поле null-значений, определяется текущей установкой SET NULL. Однако, если вы опустите в команде опции NULL и NOT NULL, но включите в команду ключевое выражение PRIMARY KEY или ключевое слово UNIQUE, Visual FoxPro не будет обращать внимания на значение установки SET NULL и поле, по умолчанию, получит NOT NULL.

Null-значения и дублированные записи не разрешены в поле, используемом для индекса-кандидата. Однако, Visual FoxPro не сгенерирует ошибки, если вы создаете индекс-кандидат для, которое уже поддерживает null-значения. Visual FoxPro сгенерирует ошибку, если вы попытаетесь ввести null или диблирующее значение в поле, используемое для индекса-кандидата.

Note Замечание

Индексы-кандидаты, созданные с помощью включения ключевого слова UNIQUE (предоставляемого для совместимости с ANSI) в команду CREATE TABLE – SQL или ALTER TABLE – SQL, не являются теми же самыми, которые создаются командой INDEX с ключевым словом UNIQUE. Индекс, созданный с помощью команды INDEX с ключевым словом UNIQUE позволяют дублирование индексных ключей, тогда как индекс-кандидат - нет. Для получения более подробной информации об ключевом слове UNIQUE в команде INDEX смотрите ее описание в Команда INDEX.

Если таблица сконвертирована в другую кодовую страницу, поля, для которых было опрелено NOCPTRANS не транслируются.

CREATE CURSOR...FROM ARRAY распознает все типы полей, доступные в функции AFIELDS() и включает автоувеличение в курсоре, если значение Step указано большим чем ноль (zero).

Expand image Пример

Приведенный ниже пример создает курсор с псевдоименем "employee." В него добавляется чистая запись, заполняется и отображается при выдаче команды BROWSE.

CopyCode image Скопировать код
CLOSE DATABASES
CLEAR
CREATE CURSOR employee ;
 (EmpID N(5), Name Character(20), Address C(30), City C(30), ;
  PostalCode C(10), OfficeNo C(8) NULL, Specialty Memo)
DISPLAY STRUCTURE
WAIT WINDOW "Press a key to add a record."

INSERT INTO employee (EmpId, Name, Address, City, PostalCode, ;
   OfficeNo, Specialty);
   VALUES (1002, "Dr. Bonnie Doren", "University of Oregon", "Eugene", ;
   "98403", "", "Secondary Special Education")
BROWSE

* В этой точке вы можете скопировать эту запись в постоянную таблицу.
CLOSE ALL   && После того, как курсор закрыт, все данные удаляются из памяти.
CLEAR

ПРиведенный ниже пример использует ключевое слово NOCPTRANS для предотвращения трансляции в другую кодовую страницу. Пример создает курсор с именем "mycursor", который содержит два символьных поля и два мемо-поля. Второе символьное поле, "char2," и второе мемо-поле, "memo2," включают NOCPTRANS для предотвращения трансляции.

CopyCode image Скопировать код
CREATE CURSOR mycursor (char1 C(10), char2 C(10) NOCPTRANS,;
   memo1 M, memo2 M NOCPTRANS)

Expand image Смотрите также

Справочное руководство

Функция AFIELDS()
Команда CREATE
Команда CREATE QUERY
Команда CREATE TABLE - SQL
Команда INSERT - SQL
Команда MODIFY QUERY
Команда SELECT - SQL

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CREATE DATABASE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE DATABASE
Смотрите также Пример
CollapseAll image

Создает и открывает базу данных.

CREATE DATABASE [DatabaseName | ?]

Параемтры

[ DatabaseName| ?]

Указывает имя базы данных или открывает диалоговый блок Create с тем, чтобы вы могли указать имя для базы данных и место на диске, где вы желаете ее сохранить. Если вы опустите параметры, то откроется диалоговый блок Create.

Файлы баз данных сохраняются с расширением имени файла .dbc.

Note Замечание

Если команда SET SAFETY была выпущена с ON, а имя базы данных, которое вы указали в параметре точно такое же, как и уже существующей на диске, Visual FoxPro запросит вас указать другой путь или имя для базы данных.

Expand image Примечания

Файл базы данных (.dbc) создается с ассоциированными файлами мемо-полей (.dct) и индекса (.dcx).

База данных открывается эксклюзивно (в монопольном режиме) независимо от установки, определенной командой SET EXCLUSIVE. Поскольку CREATE DATABASE открывает базу данных после того, как она была создана, у вас нет необходимости специально выдавать команду OPEN DATABASE.

Использование команды CREATE DATABASE не добавляет ее автоматически в состав проекта, даже если проект открыт в окне Project Manager. Вы должны явно ввести базу данных в проект приложения.

Expand image Пример

Этот пример создает базу данных и именем people. Таблица с именем friends оздается и автоматически вводится в базу данных. DISPLAY TABLES используется для отображения таблиц в базе данных, а DISPLAY DATABASES используется для отображения информации о таблицах базы данных.

CopyCode image Скопировать код
CREATE DATABASE people
CREATE TABLE friends (FirstName C(20), LastName C(20))
CLEAR
DISPLAY TABLES  && Отображает таблицы в базе данных
DISPLAY DATABASES  && Отображает информацию о таблице

Expand image Смотрите также

Задачи

How to: Create Databases

Справочное руководство

Команда ADD TABLE
Команды CLOSE
Команда DELETE DATABASE
Команда MODIFY DATABASE
Команда OPEN DATABASE
Команда SET DATABASE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CREATE FORM Command

Visual FoxPro 9.0 Справочник Языка
CREATE FORM Команда
См. Также

Открывает Form Designer.

CREATE FORM [FormName | ?] [AS cClassName FROM cClassLibraryName | ?]
   [NOWAIT] [SAVE] [DEFAULT] [[WINDOW WindowName1] [IN [WINDOW]
            WindowName2 | IN SCREEN]]

Параметры

FormName

Определяет имя файла для формы. Если Вы не определяете расширение для имени файла, Visual FoxPro автоматически назначает расширение .scx. Если файл формы с именем, которое Вы определяете уже существует, Вас спрашивают, хотите ли Вы записать поверх существующего файла (если SET SAFETY установлен в ON).
?

Отображает диалоговое окно Create, из которого Вы можете выбрать форму или ввести имя новой формы чтобы её создать.
AS cClassName FROM cClassLibraryName |?

Создает новую форму из класса форм библиотеки визуальных классов .vcx. cClassName определяет имя определяемого пользователем класса форм от которого создается новая форма. Если cClassName не основан на форме, генерируется ошибка. cClassLibraryName определяет имя библиотеки визуальных классов .vcx, содержащей класс форм, указанный cClassName . Включите ? для отображения диалогового окна Open, которое разрешит Вам определить библиотеку визуальных классов.
NOWAIT

Продолжает выполнение программы после того, как дизайнер Форм был открыт. Программа не ждет пока дизайнер Форм будет закрыт, а продолжает выполнение с програмной строки, следующей немедленно после строки, которая содержит CREATE FORM NOWAIT. Если Вы опускаете NOWAIT, когда в программе выполняется CREATE FORM, открывается дизайнер Форм и наступает пауза выполнения программы до тех пор, пока дизайнер Форм не будут закрыт. Включение NOWAIT не влияет на выполнение CREATE FORM из окна Command.
SAVE

При выполнении в программе, оставляет дизайнера Форм открытым после того, как другое окно появляется на переднем плане. Включение опции SAVE не не влияет на выполнение из окна Command.
DEFAULT

Определяет, что дизайнер Форм открывается с заданным по умолчанию шаблоном формы Visual FoxPro, отменяя заданный по умолчанию шаблон формы, указанный на вкладке Forms диалога Options. Для дополнительной информации о шаблонах форм, см. Создание Форм .
WINDOW WindowName1

Определяет окно, характеристики которого перенимает дизайнер Форм. Например, если окно создано с опцией FLOAT DEFINE WINDOW, дизайнер Форм может быть также перемещаемым. Окно не обязательно должно быть активным или видимым, но оно должно быть определено. Дизайнер Форм имеет заданный по умолчанию размер, который может быть большим чем окно, характеристики которого он использует. В этом случае, дизайнер Форм продолжает использовать характеристики окна, в которое он помещен. Левый верхний угол дизайнера Форм устанавливается в те же самые координаты что и левый верхний угол этого окна, и распространяется за его границы.
IN [WINDOW] WindowName2

Определяет родительское окно, в котором открывается дизайнер Форм. Дизайнер Форм не перенимает характеристик родительского окна и не может быть перемещен за пределы родительского окна. Если родительское окно перемещается, дизайнер Форм перемещается вместе с ним. Родительское окно должно быть сначала определено командой DEFINE WINDOW и должно быть видимым, чтобы иметь доступ к дизайнеру Форм.
IN SCREEN

Определяет, что дизайнер Форм должен быть явно открыт в главном окне Visual FoxPro, после того как он был помещен в родительское окно. Дизайнер Форм помещается в родительское окно включением предложения IN WINDOW.

Замечания

Выполнение CREATE FORM без любых дополнительных параметров открывает новую форму в дизайнере Форм. Когда Вы завершаете работу дизайнера Форм, Вам предлагают сохранить форму под другим именем.

См. Также

Другие Ресурсы

_BROWSER Системная Переменная
COMPILE Команда
DO FORM Команда
GETPEM( ) Функция
_INCLUDE Системная Переменная
MODIFY FORM Команда
PEMSTATUS( ) Функция
Объект - Session Object
SYS(1269) - Данные о свойстве - Property Information
SYS(1270) - Положение объекта - Object Location
SYS(1271) - Объектный файл - Object's .SCX File
SYS(1272) - Объектная иерархия - Object Hierarchy
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CREATE FROM Command

Visual FoxPro 9.0 Справочник языка
CREATE FROM Команда
Смотрите также Пример

Создает таблицу на основе содержимого таблицы, созданной командой COPY STRUCTURE EXTENDED.

CREATE [FileName1 [DATABASE DatabaseName [NAME LongTableName]]]
   FROM [FileName2]

Параметры

FileName1

Определяет имя вновь создаваемой таблицы.
DATABASE DatabaseName

Определяет имя базы данных, в которую будет добавлена вновь создаваемая таблица.
NAME LongTableName

Определяет длинное имя вновь создаваемой таблицы. Длинные имена могут содержать до 128 символов и могут использоваться вместо коротких имен файла в базе данных.
FROM [ FileName2]

Определяет имя таблицы, созданной вручную, либо командой COPY STRUCTURE EXTENDED, на основе которой будет создана новая таблица.

Замечания

Этот вариант команды CREATE предполагает, что таблица с именем FileName2 была создана предварительно вручную либо с помощью команды COPY STRUCTURE EXTENDED. Новая таблица будет создана с именем FileName1 и со структурой, описанной в таблице FileName2. Вновь созданная таблица становится активной.

Если параметры FileName1 или FileName2, или оба опущены, на экран выводится диалоговое окно, в котором могут быть заданы имена вновь создаваемой таблицы и таблицы - источника структуры для новой таблицы.

Примечание:
Учтите, что все записи в таблице FileName2, включая помеченные на удаление, будут использованы для создания таблицы FileName1.

Команда CREATE FROM поддерживает создание таблицы, имеющей поля с автоинкрементом в случае, если поле FIELD_STEP в таблице созданной командой COPY STRUCTURE EXTENDED содержит допустимое значение. Значения переменной, которая в новой таблице будет использована в качестве следующего значения при автоинкременте и шага автоинкремента совпадают с их значениями в исходной таблице.

Пример

Следующий пример выводит на экран структуру таблицы "Orders", производит расширенное копирование этой структуры в таблицу "Temp". Затем выполняется просмотр таблицы "Temp", создается таблица "Backup" на основе содержимого "Temp" и отображение структуры "Backup".
Скопировать код
CLOSE DATABASES
CLEAR
SET PATH TO (HOME(2) + 'Data\')     && Назначается путь к базе данных.
USE Orders
DISPLAY STRUCTURE
WAIT WINDOW 'Структура таблицы "Orders" ' NOWAIT
COPY STRUCTURE EXTENDED TO Temp
USE Temp
WAIT WINDOW 'Таблица "Temp" содержит по одной записи на каждое поле таблицы "Orders"' NOWAIT
BROWSE
CREATE Backup FROM Temp
USE Backup
DISPLAY STRUCTURE
WAIT WINDOW 'Backup.dbf имеет такую же структуру как таблица "Orders"' NOWAIT
USE
DELETE FILE Temp.dbf
DELETE FILE Backup.dbf

Смотри также

Другие ресурсы

Команда COPY STRUCTURE EXTENDED
Команда COPY STRUCTURE
Команда CREATE
Команды
Справочник языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


CREATE LABEL Command

Visual FoxPro 9.0 Описание Языка
Команда CREATE LABEL
См. также

Открывает Дизайнер Этикеток для создания Этикетки стандартного или пользовательского формата.

CREATE LABEL [FileName | ?] [NOWAIT] [SAVE] [WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN] [PROTECTED]

Параметры

[ FileName| ?]

Определяет имя файла Этикетки, или открывает диалоговый бокс Создания файла Этикетки, имя которого можно задать в соответствующем поле. По-умолчанию, для расширения файла предполагается (.lbx).
Примечание:
При вызове команды CREATE LABEL без аргументов открывается Дизайнер Этикеток, и создается файл Этикетки с именем LabelVersionNumber. Когда Дизайнер Этикеток закрывается, система Visual FoxPro предлагает сохранить изменения в файле с указанным именем, или ввести другое имя файла этикетки.

[NOWAIT]

Выполнение программы продолжается после открытия Дизайнера Этикеток. Программа не ждет закрытия дизайнера, а продолжает свое выполнение со следующей строки. Если опция NOWAIT отсутствует, Дизайнер открывается, а выполнение программы приостанавливается до момента закрытия окна дизайнера. Когда команда CREATE LABEL с опцией NOWAIT выполняется из Командного окна, опция NOWAIT не работает.
[SAVE]

Определяет, что дизайнер остается открытым после активации другого окна. Если опция SAVE отсутствует, Дизайнерэтикеток закрывается при активации другого окна. Когда команда CREATE LABEL с опцией SAVE выполняется из Командного окна, опция SAVE не работает.
[WINDOW WindowName1]

Определяет окно, характеристики которого используются при создании окна Дизайнера Этикеток. Например, если окно имеет опцию FLOAT в команде DEFINE WINDOW, то окно дизайнера может перемещаться. Данное окно должно быть определено, но может быть неактивным или невидимым.
Примечание:
Дизайнер Этикеток имеет свои стандартные размеры, которые могут быть больше, чем размеры указанного окна, в этом случае окно дизайнера наследует только координаты верхнего-левого угла заданного окна, а размеры увеличиваются до необходимых.

[IN [WINDOW] WindowName2| IN SCREEN]

Определяет открытие дизайнера в родительском окне, или в главном окне системы Visual FoxPro. Окно дизайнера в этом случае не наследует характеристики родительского окна, однако окно дизайнера не может быть перемещено за границы родительского окна. При перемещении родительского окна, окно дизайнера перемещается вместе с ним.
Примечание:
Перед использованием родительское окно должно быть определено в команде DEFINE WINDOW и должно быть видимым для размещения в нем окна дизайнера.

[PROTECTED]

По-умолчанию, данная опция игнорируется Дизайнером Этикеток, потому что при создании новых Этикеток не установлены никакие ограничения по использованию. Тем не менее, в дизайнере этикеток могут быть заданы различные ограничения при выполнении различных специальных функций. Например, в качестве ограничения может выступить запрет отображения диалогового бокса Report Properties. См. дополнительно Нестандартные события Построителя Отчетов .

Комментарии

Вы можете также создать этикетку, используя соответствующий Мастер. См. дополнительно: Как: Создать Этикетку

См. также

Другие ссылки

Дизайнер Этикеток
Команда LABEL
Команда MODIFY LABEL
Работа с Отчетами
Команды

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Command CREATE MENU

Visual FoxPro 9.0 Language Reference
Команда CREATE MENU
Смотреть также

Открывает конструктор меню в Visual FoxPro.

CREATE MENU [FileName | ?] [NOWAIT] [SAVE] [WINDOW WindowName1]
 [IN [WINDOW] WindowName2 | IN SCREEN

Параметры

FileName

Задает имя файла для таблицы меню. Если имя файла задано без расширения, автоматически назначается расширение .MNX.
?

Отображает диалоговое окно Create, в котором предлагается ввести имя создаваемого меню.
NOWAIT

Продолжает выполнение программы после открытия конструктора меню. Программа не ждет закрытия конструктора меню, а продолжает выполняться со строки, непосредственно следующей за строкой с командой CREATE MENU NOWAIT. Если команда CREATE MENU выдана в программе без опции NOWAIT, конструктор меню откроется, а выполнение программы будет приостановлено до закрытия конструктора меню. Опция NOWAIT не оказывает никакого эффекта на работу команды CREATE MENU, когда та выдается из окна команд, диалогвое окно New Menu не отображается. диалогвое окно New Menu позволяет задать тип создаваемого меню ( стандартное или меню быстрого вызова).
SAVE

Оставляет конструктор меню открытым после активизации другого окна. Если опустить опцию SAVE, конструктор меню будет закрываться при активизации другого окна. Опция SAVE не оказывает никакого эффекта на работу команды CREATE MENU, когда та выдается из окна команд.
WINDOW WindowName1

Задает окно, характеристики которого перенимает конструктор меню. Например, если окно создано по команде DEFINE WINDOW с опцией FLOAT, конструктор меню можно перемещать. Данное окно не обязательно должно быть активным или видимым, но оно должно быть определено. Конструктор меню по умолчанию принимает размер, который может оказаться больше размера окна, наследующего ему свои характеристики. В подобном случае конструктор меню все равно принимает характеристики окна, в котором он размещается. Левый верхний угол конструктора меню совпадает с левым верхним углом окна, а справа и внизу конструктор меню выходит за пределы окна.
IN [WINDOW] WindowName2

Задает родительское окно, в котором открывается конструктор меню. Конструктор меню не принимает характеристики родительского окна и не может быть сдвинут за его пределы. При перемещении родительского окна конструктор меню будет перемещаться вместе с ним. Родительское окно должно быть заранее определено командой DEFINE WINDOW и должно быть видимым, чтобы доступ к конструктору меню был открыт.
IN SCREEN

Указывает, что конструктор меню явно открывается в основном окне Visual FoxPro после размещения в родительском окне. Конструктор меню помещается в родительское окно, когда задано предложение IN WINDOW.

Комментарии

При выдаче команды CREATE MENU без аргументов открывается конструктор меню, в котором можно определить систему меню. Таблица описания меню получает временное имя MENU1. При выходе из конструктора меню вы можете сохранить определение меню под другим именем.

Смотреть также

Ссылки

Системная переменнная памяти _MENUDESIGNER

Другие ресурсы

Команда DEFINE MENU
Команда MODIFY MENU
Конструктор меню
Конструктор меню и панели инструментов
Команды
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


CREATE PROJECT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE PROJECT
Смотрите также
CollapseAll image

Открывает менеджер проектов, в котором можно создать проект.

CREATE PROJECT [FileName | ?] [NOWAIT] [SAVE] [WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN [NOSHOW] [NOPROJECTHOOK]

Параметры

FileName

Задает имя файла для таблицы проекта. Если имя файла указано без расширения, Visual FoxPro автоматически назначит расширение .pjx.

?

Отображает диалоговое окно Create, предлагающее ввести имя создаваемого проекта.

NOWAIT

Продолжает выполнение программы после открытия менеджера проектов. Программа не ждет закрытия менеджера проектов, а продолжает выполняться со строки, непосредственно следующей за строкой с командой CREATE PROJECT NOWAIT. Если команда CREATE PROJECT выдана в программе без опции NOWAIT, диспетчер проектов откроется, а выполнение программы будет приостановлено до закрытия диспетчера проектов.

Опция NOWAIT не оказывает никакого эффекта на работу команды CREATE PROJECT, когда последняя выдается из окна команд.

SAVE

Оставляет диспетчер проектов открытым после активизации другого окна. Если опустить опцию SAVE, диспетчер проектов будет закрываться при активизации другого окна.

Опция SAVE не оказывает никакого эффекта на работу команды CREATE PROJECT, когда последняя выдается из окна команд.

WINDOW WindowName1

Задает окно, характеристики которого наследует диспетчер проектов. Например, если окно создано по команде DEFINE WINDOW с опцией FLOAT, диспетчер проектов можно перемещать. Данное окно не обязательно должно быть активным или видимым, но оно должно быть определено.

Диспетчер проектов по умолчанию принимает размер, который может оказаться больше размера окна, наследующего ему свои характеристики. В подобном случае диспетчер проектов все равно принимает характеристики окна, в котором он размещается. Левый верхний угол диспетчера проектов совпадает с левым верхним углом окна, а справа и внизу диспетчер проектов выходит за пределы окна.

IN [WINDOW] WindowName2

Задает родительское окно, в котором открывается диспетчер проектов. Диспетчер проектов не принимает характеристики родительского окна и не может быть сдвинут за его пределы. При перемещении родительского окна диспетчер проектов также будет перемещаться вместе с ним.

Родительское окно должно быть заранее определено командой DEFINE WINDOW и должно быть видимым, чтобы доступ к диспетчеру проектов был открыт.

IN SCREEN

Указывает, что диспетчер проектов явно открывается в основном окне Visual FoxPro после размещения в родительском окне. Диспетчер проектов помещается в родительское окно, когда задано предложение IN WINDOW.

NOSHOW

Определяет, что диспечер проектов скрыт (его свойство Visible установлено в "ложь" (.F.)) когда он открівается. Чтобы отобразить диспетчер проектов, установите свойство Visible диспетчера проектов в "истина" (.T.). NOSHOW позволяет манипулировать проектом перед показом в диспетчере проектов. Отметьте, что, воизбежать путаницы с ключевое слово NOSHADOW, вы неможете сокращать NOSHOW меньше чем на пять символов.

NOPROJECTHOOK

Определяет, что объект ProjectHook не будет создан если открыт диспечер проектов. Включите NOPROJECTHOOK для проектов, которыми не будут управлять программно через обработчики событий диспечера проектов. Отметьте, что объект Project все еще создается всякий раз, когда открывается файл проекта (.pjx) .

Expand image Замечания

Проект представляет собой таблицу, в которой ведется список всех файлов, необходимых для создания приложения, а также всех зависимостей, ссылок и связей между файлами. Файл таблицы проекта имеет расширение имени .PJX, а соответствующий memo-файл ѕ расширение .PJT. В проекте вы задаете все компоненты, требуемые для приложения, а Visual FoxPro следит за тем, чтобы в компиляции участвовали самые последние версии исходных файлов.

Таблицу проекта можно открыть по команде USE и работать с ней, как с любой другой таблицей Visual FoxPro.

При выдаче команды CREATE PROJECT без аргументов отображается диалоговое окно Create, предлагающее задать имя проекта.

Expand image Смотрите также

Справочное руководство

Команда BUILD APP
Команда BUILD PROJECT
Команда MODIFY PROJECT

Прочие ресурсы

Компиляция приложения
Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CREATE QUERY Command

Visual FoxPro 9.0 Справочное руководство по языку
CREATE QUERY Command
Смотрите также
CollapseAll image

Открывает конструктор запросов.

CREATE QUERY [FileName | ?] [NOWAIT]

Параметры

FileName

Задает имя файла для запроса. Если имя файла указано без расширения автоматически назначается расширение .qpr.

?

Отображает диалоговое окно Create, предлагающее ввести имя создаваемого запроса.

NOWAIT

Продолжает выполнение программы после открытия конструктора запросов. Программа не ожидает закрытия конструктора запросов, а продолжает выполняться со строки, непосредственно следующей за строкой с командой CREATE QUERY NOWAIT. Если при выдаче CREATE QUERY в программе опустить предложение NOWAIT, конструктор запросов откроется и выполнение программы приостановится до тех пор, пока конструктор запросов не закроется.

Опция NOWAIT действительна только при использовании в программе. Она не влияет на работу команды CREATE QUERY, если последняя выдана из окна команд.

Expand image Примечания

Команда CREATE QUERY открывает конструктор запросов, с помощью которого можно составить запрос в интерактивном режиме..

Для извлечения данных из таблиц применяется команда SQL SELECT. SELECT представляет собой весьма мощное средство, способное заменить собой серию команд Visual FoxPro. В результате команда SQL SELECT заметно оптимизирует производительность программы.

Команду SELECT следует рассматривать как средство формирования запроса к Visual FoxPro на получение табличной информации. SELECT позволяет задать желаемую информацию, не уточняя, каким образом Visual FoxPro будет извлекать ее. Visual FoxPro самостоятельно определяет наилучший метод получения информации.

После того как запрос составлен, он сохраняется в виде файла программы Visual FoxPro с расширением имени .QPR. Программу запроса можно выполнить с помощью команды DO. При выполнении запроса по команде DO необходимо указать расширение имени файла запроса, как это сделано в следующем примере:

CopyCode image Copy Code
DO my_query.qpr

При выдаче команды CREATE QUERY без аргументов открывается новое окно запроса. Запросу присваивается имя QUERY1. При выходе из окна запроса вы можете сохранить запрос под другим именем.

Expand image Смотрите также

Справочное руководство

Команда MODIFY QUERY
Команда SELECT - SQL

Прочие ресурсы

Дизайнер запросов и представлений
Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CREATE REPORT - Quick Report Command

Visual FoxPro 9.0 Справочное руководство по языку
CREATE REPORT - Quick Report Команда
Смотрите также

Создает отчет не открывая Дизайнер Отчетов.

CREATE REPORT FileName | ? FROM Source [FORM | COLUMN]
 [FIELDS FieldList] [ALIAS] [NOOVERWRITE] [WIDTH nColumns]

Параметры

FileName| ?

Задает имя файла для отчета или выводит на экран диалоговое окно Create, запрашивающее имя создаваемого отчета. По умолчанию файлу отчета присваивается расширение .frx.
FROM Source

Задает имя таблицы из которой делается отчет (таблица не обязательно должна быть открыта) или псевдоним (алиас) открытой таблицы. Например:
Скопировать код
LOCAL lcFile
USE ? ALIAS temp
lcFile = PUTFILE("Report name","myreport.frx")
IF NOT EMPTY(lcFile)
   CREATE REPORT (lcFile) ;
      FROM (ALIAS())
ENDIF
Совет:
Обратите внимание, что в примере, перед использованием команды CREATE REPORT- Quick Report не проверяется, открыта ли в данной рабочей области какая-либо таблица (EMPTY(ALIAS())). Если в текущей рабочей области нет открытых таблиц, Visual FoxPro вызовет диалог открытия таблицы.

[FORM | COLUMN]

Определяет создание отчета с полями и их именами, организованными сверху вниз в полосе Detail или с полями организованными слева направо поперек страницы в полосе Detail. Имена полей помещены в полосе Page Header. Если задан аргумент COLUMN, в колонтитул (Page Header) будут помещены имена полей.
Примечание:
Если аргументы FORM и COLUMN опущены, по умолчанию принимается формат COLUMN.

[FIELDS FieldList]

Определяет поля таблицы, которые появятся в отчете. Поля в списке FieldList следует отделять запятыми.
[ALIAS]

Определяет, будет ли добавляться псевдоним таблицы (алиас) к именам полей в отчете.
[NOOVERWRITE]

Запрещает перезапись существующего отчета. Если отчет с именем заданным в FileName1 уже существует , новый отчет не будет создан.
[WIDTH nColumns]

Задает ширину страницы отчета в столбцах.

Замечания

Вы можете также создать отчет с использованием другой версии команды CREATE REPORT, которая открывает Дизайнер Отчетов. Для более подробной информации смотрите CREATE REPORT Command.

Отчеты можно создавать и с помощью мастера. Для более подробной информации смотрите Как: Create Reports.

В зависимости от установки системной переменной _REPORTBUILDER , эта команда может отобразить дополнительные диалоги, расширяющие возможности создания отчетов. Для более подробной информации смотрите Системная переменная _REPORTBUILDER .

Смотрите также

Прочие ресурсы

Дизайнер отчета
Команда MODIFY REPORT
Команда REPORT
Команды
Работа с отчетами
Справочное руководство по языку

Послать комментарииоб этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


CREATE REPORT Command

Visual FoxPro 9.0 Справочное руководство по языку
CREATE REPORT Команда
Смотрите также

Открывает Дизайнер Отчетов (Конструктор отчетов) для создания отчета в стандартном или пользовательском формате отчета.

CREATE REPORT [FileName | ?] [NOWAIT] [SAVE] [WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN] [PROTECTED]

Параметры

[ FileName| ?]

Задает имя файла для отчета или отображает диалоговое окно Create, в котором Вы можете ввести имя создаваемого отчета. По умолчанию файл отчета имеет расширение .frx
Примечание:
Если командой SET SAFETY установлено значение ON и если файл отчета с заданным именем уже существует, появится запрос: следует ли вести запись поверх существующего файла. Вызов команды CREATE REPORT без аргументов открывает Дизайнер Отчетов и назначает файл отчета с именем по умолчанию вида ReportVersionNumber. При выходе из Дизайнера Отчетов вы получите приглашение сохранить определение отчета под другим именем.

[NOWAIT]

Продолжает выполнение программы после открытия Дизайнера Отчетов. Программа не будет ждать его закрытия, а продолжит выполнение со строки, непосредственно следующей за строкой с командой CREATE REPORT NOWAIT. Если предложение NOWAIT опущено при выдаче CREATE REPORT в программе, конструктор отчетов откроется и выполнение программы будет приостановлено до тех пор, пока конструктор отчетов не закроется. Включение опции NOWAIT не оказывает никакого эффекта при выдаче команды CREATE REPORT в командном окне.
[SAVE]

Оставляет Дизайнер Отчетов открытым после активизации другого окна. Если предложение SAVE опущено, Дизайнер Отчетов закроется при активизации другого окна. Включение предложения SAVE не оказывает никакого эффекта при выдаче команды CREATE REPORT в командном окне.
[WINDOW WindowName1]

Определяет окно, характеристики которого наследует Дизайнер Отчетов. Например, если окно создано по команде DEFINE WINDOW с опцией FLOAT, Дизайнер Отчетов можно перемещать. Данное окно не обязательно должно быть активным или видимым, но оно должно быть определено.
Примечание:
Размер Дизайнера Отчетов, принимаемый по умолчанию может оказаться больше размера окна, наследующего ему свои характеристики. В подобном случае Дизайнер Отчетов все равно принимает характеристики окна, в котором он размещается. Левый верхний угол конструктора отчетов совпадает с левым верхним углом окна, а справа и внизу конструктор отчетов выходит за пределы окна.

[IN [WINDOW] WindowName2| IN SCREEN]

Определяет, будет ли Дизайнер Отчетов открываться в родительском или в главном окне Visual FoxPro после открытия в родительском окне. Дизайнер Отчетов не принимает характеристики родительского окна и не может перемещаться вне его пределов. При перемещении родительского окна будет перемещаться и Дизайнер Отчетов.

Примечание:
Родительское окно должно быть заранее определено командой DEFINE WINDOW и должно быть видимым для доступа Дизайнера Отчетов.

[PROTECTED]

По умолчанию Дизайнер отчетов игнорирует это предложение в силу того, что у вновь созданного отчета не установлен ни один из флагов защиты. Однако, построитель отчетов может предпринять некое специфическое действие, если это предложение присутствует в строке команды CREATE REPORT. Например, построитель отчетов по умолчанию при наличии этого предложения в строке команды CREATE REPORT скрывает вкладку Protection в диалоговом окне свойств отчета. Смотрите Понимание событий построителя отчетов Report Builder для более подробной информации.

Замечания

Вы также имеете возможность создавать отчеты с использованием мастера. Для более подробной информации смотрите Как: Создание отчетов. Кроме того, существует возможность быстрого создания отчета без открытия Дизайнера Отчетов с помощью другой версии команды CREATE REPORT. Для более подробной информации смотрите Команда CREATE REPORT - Quick Report.

Смотрите также

Прочие ресурсы

Дизайнер Отчетов
Команда MODIFY REPORT
Команда REPORT FORM
Команды
Работа с отчетами
Справочное руководство по языку

Послать комментарииоб этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


CREATE SQL VIEW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE SQL VIEW
Смотрите также Пример
CollapseAll image

Открывает Конструктор Представлений, позволяя вам создать SQL представление.

CREATE [SQL] VIEW [ViewName] [REMOTE]
   [CONNECTION ConnectionName [SHARE] | CONNECTION DataSourceName]
   [AS SQLSELECTStatement]

Параметры

CREATE [SQL] VIEW

Создает SQL представление.

[ViewName]

Задает имя создаваемого представления.

[REMOTE]

Указывает, что создается удаленное представление, использующее удаленные таблицы. Если опустить REMOTE, то создается представление, использующее локальные таблицы.

[CONNECTION ConnectionName[SHARE] | CONNECTION DataSourceName]

Задает предварительно созданное соединение или уже существующий источник данных, с которым устанавливается соединение при открытии представления.

Note Замечание

Когда вы используете оператор CONNECTION и указываете имя соединения или источник данных, Visual FoxPro ищет сначала в текущей базе данных соединение с указанным именем. Если указанное соединение не найдено, Visual FoxPro ищет указанное имя в установленных в системе источниках данных ODBC. Следовательно, если текущая база данных содержит указанное соединение, имя которого совпадает с именем источника данных ODBC в системе, Visual FoxPro использует именно указанное соединение.

Note Совет

Если вы используете оператор CONNECTION в команде CREATE SQL VIEW, вам не нужно включать ключевое слово REMOTE. Visual FoxPro определит представление как удаленное представление из-за наличия ключевого слова CONNECTION.

Ключевое слово SHARE указывает, что Visual FoxPro задействует совместно используемое соединение, если таковое есть. Если же доступных совместно используемых представавлений нет, то после открытия представления Visual FoxPro создаст уникальное соединение, которым не смогут пользоваться другие представления.

[AS SQLSELECTStatement]

Указывает SQL SELECT выражение для представления. SQLSELECTStatement должно быть допустимым SQL SELECT выражением и не должно быть заключено в кавычки ("").

Note Совет

Если описывается локальное представление, предваряйте имя представления или таблицы именем базы данных с восклицательным знаком (!). Предваряя имя представления или таблицы именем базы данных при помощи восклицательного знака, Visual FoxPro ищет таблицу во всех открытых базах данных и в заданном по умолчанию пути поиска для таблицы. Однако, если вы не уточните таблицу с базой данных в определении представления, база данных должна быть открыта перед использованием представления. Для большей информации смотрите команда SELECT - SQL.

Expand image Примечания

SQL представление позволяет вам извлекать данные из указанных полей в одной или более связанных таблиц в таблицу, которую можно обновлять. Для большей информации смотрите Работа с представлениями (Visual FoxPro).

Expand image Пример

Следующий пример закрывает все открытые базы даныых и открывает базу данных Northwind из примеров Visual FoxPro. Команда CREATE SQL VIEW создает локальное SQL представление с именем MyView, используя SQL SELECT выражение, которое выбирает все записи из таблицы Customers, в которых поле Country содержит в себе слово "Mexico". Команда MODIFY VIEW показывает представление в Конструкторе Представлений, в котором вы можете редактировать данное представление. После того, как вы закроете Конструктор Представлений, команда DELETE VIEW удалит представление.
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Northwind\Northwind')
CREATE SQL VIEW MyView AS SELECT * FROM Northwind!Customers;
   WHERE Country="Mexico"
MODIFY VIEW MyView
DELETE VIEW MyView

Для большец информации смотрите команды CLOSE, команда OPEN DATABASE, команда MODIFY VIEW и команда DELETE VIEW .

Expand image Смотрите также

Другие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функционалах этого продукта, посетите страницу обратной связи.
© Microsoft Corporation. All rights reserved.

Перевод - Рябинин Олег aka OLEGarh


CREATE TABLE - SQL Command

Visual FoxPro 9.0 Справочное руководство по языку
CREATE TABLE - SQL Command
Смотрите также
CollapseAll image

Создает таблицу, с использованием указанных полей или массива.

CREATE TABLE | DBF TableName1 [NAME LongTableName] [FREE]
    [CODEPAGE = nCodePage]
    ( FieldName1 FieldType [( nFieldWidth [, nPrecision] )] [NULL | NOT NULL]
    [CHECK lExpression1 [ERROR cMessageText1]]
    [AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1]
    [PRIMARY KEY | UNIQUE [COLLATE cCollateSequence]]
    [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS]
    [, FieldName2 ... ]
    [, PRIMARY KEY eExpression2 TAG TagName2 |, UNIQUE eExpression3 TAG TagName3
[COLLATE cCollateSequence]]
    [, FOREIGN KEY eExpression4 TAG TagName4 [NODUP]
    [COLLATE cCollateSequence]
    REFERENCES TableName3 [TAG TagName5]] [, CHECK lExpression2 [ERROR cMessageText2]] )
    | FROM ARRAY ArrayName

Параметры

CREATE TABLE | DBF TableName1

Создает таблицу или .dbf. Параметр TableName1 указывает имя таблицы. Опции TABLE и DBF идентичны.

nCodePage

Указывает кодовую страницу, которая будет использоваться для вновь создаваемой таблицы. Список поддерживаемых кодовых страниц вы можете посмотреть в описании Кодовые страницы, поддерживаемые Visual FoxPro.

NAME LongTableName

Указывает длинное имя для таблицы. Вы можете указать длинное имя для таблицы только в том случае, когда открыта база данных, поскольку длинные имена таблиц хранятся в базе данных. Длинные имена таблиц могут содержать до 128 символов в длину и могут быть использованы в базе данных вместо коротких имен.

FREE

Определяет, что таблица не будет ассоциирована с открытой базой данных. Если у вас нет открытой базы данных, то ключевое слово FREE можно не использовать.

FieldName1, FieldType, nFieldWidth,nPrecision

Указывает соответственно имя поля, тип поля, его длину и точность (число десятичных мест). Одиночная таблицы может содержать до 255 полей. Если одно или более полей позволяют использование null-значений, допустимое число полей снижается до 254.

Параметр FieldType представляет собой одну букву или длинное имя, указывающее тип данных поля. Вы можете указать nFieldWidth, nPrecision или оба для некоторых типов полей. В приведенной ниже таблице перечислены значения для FieldType и указано, можете ли вы указать nFieldWidth и nPrecision.

FieldType nFieldWidth nPrecision Data type

W, Blob

-

-

Blob

C, Char, Character

n

–

Поле Character длиной в n символов

Y, Currency

–

–

Currency

D, Date

–

–

Date

T, DateTime

–

–

DateTime

B, Double

–

d

Double

G, General

–

–

General

I, Int, Integer

–

–

Integer

L, Logical

–

–

Logical

M, Memo

–

–

Memo

N, Num, Numeric

n

d

Поле Numeric с длиной n и d десятичными местами

F, Float

n

d

Поле Numeric с плавающей запятой длиной n с d десятичными местами

Q, Varbinary

n

-

Поле Varbinary с длиной n

V, Varchar

n

-

Поле Varchar с длиной n

Параметры nFieldWidth и nPrecision игнорируются для полей типов W, Y, D, T, G, I, L и M. Если nPrecision не указана для полей типов N или F, то параметр nPrecision по умолчанию устанавливается равным нулю (без десятичных мест). Если nPrecision не указана для поля типа B, то параметр nPrecision устанавливается по умолчанию в число десятичных мест, определенных установкой команды SET DECIMALS.

NULL | NOT NULL

Определяет - будут ли разрешены null-значения для хранения в поле. NULL разрешает хранение null-значений, а NOT NULL, соответственно, запрещает. Если одно или более полей могут хранить null-значения, максимальное число полей на таблицу ограничивается значением 254.

CHECK lExpression1

Указывает правило проверки для поля. Параметр lExpression1 должен оцениваться в логическое выражение и может представляет собой пользовательскую функцию или хранимую процедуру. Visual FoxPro проверяет правило проверки, указанное в опции CHECK при добавлении пустой записи.

ERROR cMessageText1

Указывает сообщение об ошибке. Visual FoxPro будет отображать это сообщение, когда правило проверки, указанное в опции CHECK будет генерировать ошибку. Сообщение отображается только тогда, когда данные изменяются в окне Browse или окне Edit.

AUTOINC [NEXTVALUE NextValue [STEP StepValue]]

Разрешает автоувеличение для поля. NextValue указывает начальное значение и может представлять, как положительное, так и отрицательное значение, лежащее в диапазоне от -2,147,483,647 до 2,147,483,647. Значением по умолчанию является единица (1). Вы можете установить значение NextValue, используя счетчик Next Value на закладке Fields дизайнера таблиц.

StepValue указывает значение увеличения для поля и может быть положительным, ненулевым значением в диапазоне от 1 до 255. Значением по умолчанию является единица (1). Вы можете установить значение StepValue с помощью счетчика Step на закладке Fields дизайнера таблиц.

Значения автоувеличения не могут быть NULL.

Note Замечание

Таблицы, содержащие поле с автоувеличением значения добавляют записи в буфферированные таблицы приблизительно на 35% медленне, чем в таблицы без таких полей, что может повлиять на производительность приложения. При использовании буфферизации таблицы, при добавлении записи заголовок таблицы блокируется.

DEFAULT eExpression1

Указывает значение по умолчанию для поля, указанного в параметре FieldName1. Тип данных eExpression1 должен быть того же самого типа, что и тип поля.

Если вы используете опцию AUTOINC, для включения возможности автоувеличения его значения, и указываете значение по умолчанию, Visual FoxPro будет хранить указанное вами значение по умолчанию, но не будет его использовать. Visual FoxPro будет использовать значение по умолчанию, если вы с помощью команды SQL ALTER TABLE снимите с поля возможность автоувеличения значений.

PRIMARY KEY | UNIQUE

PRIMARY KEY создает первичный индекс для поля, указанного в FieldName1. UNIQUE создает индекс-кандидат для поля, указанного в FieldName1. Первичный индексный тэг или тэг индекса-кандидата имеют тоже самое имя, что и имя поля. Для получения более подробной информации о первичных индексах и индексах-кандидатах смотри описание Типы индексов Visual FoxPro.

COLLATE cCollateSequence

Указывает последовательность сопоставления, если она отличается от значения по умолчанию - MACHINE. Параметр cCollateSequence должен быть допустимой последовательностью сопоставления, поддерживаемой Visual FoxPro.

Note Совет

Вы, кроме того, можете использовоть команду SET COLLATE до создания индекса. Для получения более подробной информации об установке последовательности сопоставления (collation sequence) смотрите описания Оптимизация международных приложений и Команда SET COLLATE.

REFERENCES TableName2 [TAG TagName1]

Указывает родительскую таблицу, с которой устанавливается постоянное отношение (persistent relationship). Родительская таблицы не может быть свободной таблицей.

Параметр TagName1 определяет имя тэга для родительской таблицы, указанной в TableName2. Имена индексных тэгов могут иметь длину до 10 символов. Если вы опустите опцию TAG , то постоянное отношение устанавливается с использованием первичного индексного ключа родительской таблицы. Если родительская таблицы не имеет первичного индекса, то в таком случае Visual FoxPro сгенерирует ошибку.

NOCPTRANS

Предотвращает трансляцию в другую кодовую страницу для полей с типами Character, Memo и Varchar. Вы можете указать NOCPTRANS только для символьных и мемо полей. Это создает типы, которые появляются в виде Character (Binary), Memo (Binary) и Varchar (Binary) в дизайнере таблиц.

FieldName2 ...

Указывает одно или более полей с соответствующими аттрибутами.

PRIMARY KEY eExpression2 TAG TagName2

Указывает любое поле или комбинацию полей в таблице, которое будет использоваться в таблице для создания первичного индекса. Вы не можете использовать это ключевое слово - PRIMARY KEY, если ранее для поля уже был создан первичный индекс, поскольку таблица может иметь только один первичный индекс. Если вы включите более одной опции PRIMARY KEY в предложение CREATE TABLE, Visual FoxPro сгенерирует ошибку.

Параметр TagName2 указывает имя для первичного индексного тэга в выражении eExpression2. Имена индексных тэгов могут иметь длину до 10 символов.

UNIQUE eExpression3 TAG TagName3

Указывает любое поле или комбинацию полей в таблице, которое/которые будет использоваться в таблице для создания индекса-кандидата. Таблица может иметь множество индексов-кандидатов. Однако, если вы ранее создали первичный ключ с опцией PRIMARY KEY, вы не можете включить в комбинацию, используемую для создания индекса-кандидата, поле, указанное для первичного индекса.

Параметр TagName3 указывает имя для тэга индекса-кандидата в eExpression3. Имена индексных тэгов могут иметь длину до 10 символов.

FOREIGN KEY eExpression4 TAG TagName4 [ NODUP ]

Создает внешний (foreign (non-primary)) индекс, указанного выражения индексного ключа, и установливает отношение к родительской таблице. Вы можете создать множество внешних ключей для таблицы, но выражение внешнего индексного ключа, в таком случае, должно указывать разные поля в таблице.

Параметр TagName4 указывает имя для тэга внешнего индексного ключа. Имена индексных тэгов могут иметь длину до 10 символов.

NODUP создает внешний инедкс-кандидат.

REFERENCES TableName3 TAG TagName5

Указываеть родительскую таблицу, с которой устанавливается постоянное отношение.

Параметр TagName5 указывает имя индексного тэга для родителской таблицы в TableName3 и устанавливает отношение, основанное на индексном тэге. Имена индексных тэгов могут иметь длину до 10 символов. Если вы опустите опцию TAG, отношение устанавливается, по умолчанию, с использованием первичного индексного ключа родительской таблицы.

CHECK lExpression2

Указывает правило проверки для таблицы. Параметр lExpression2 должен оцениваться в логическое выражение и может представлять собой пользовательскую функцию или хранимую процедуру.

ERROR cMessageText2

Указывает сообщение об ошибке для правила проверки таблицы в lExpression2. Visual FoxPro будет отображать это сообщение, когда правило проверки сгенерирует ошибку. Сообщение отображается только при изменении данных внутри окна Browse или окна Edit.

FROM ARRAY ArrayName

Указывает имя существующего массива, содержание которого составляют имя, тип, точность и диапазон для каждого поля в таблице. Вы можете использовать опцию FROM ARRAY вместо указания индвидуальных полей в предложении SQL CREATE TABLE. Для просмотра соответствующиего формата массива обратитесь к описанию функции AFIELDS().

Автоувеличение значений поля включается при указании значения StepValue большего, чем 0.

Expand image Примечания

Вновь созданная таблица открывается в наименьшей по номеру доступной (неиспользуемой) рабочей области и может быть доступна по ее псевдоимени. Новая таблица открывается в режиме монопольного доступа (exclusively), независимо от текущей установки, установленной командой SET EXCLUSIVE.

Если отрыта база данных, а вы не включили в состав команды создания таблицы опцию FREE, то новая таблица добавляется в базу данных. Вы не можете создать новую таблицу с тем же самым именем, которое имеет таблица, уже существующая в базе данных.

Если таблица конвертируется в другую кодовую странцу, поля, для которых установлен признак NOCPTRANS, не транслируются.

Если при создании новой таблицы у вас не было открытой базы данных, а команда включала в себя опции NAME, CHECK, DEFAULT, FOREIGN KEY, PRIMARY KEY или REFERENCES, то будет сгенерирована ошибка.

Таблицы, созданные в Visual FoxPro OLE DB Provider с использованием команды CREATE TABLE размещаются в каталоге, используемом по умолчанию вызывающим приложением, если вы не указали для них другого местонахождения.

Note Замечание

Синтаксис CREATE TABLE использует запятые для разделения определенных опций команды CREATE TABLE. Вы можете поместить NULL, NOT NULL, CHECK, DEFAULT, PRIMARY KEY и UNIQUE внутри скобок, содержащих определение колонки - поля.

Если вы опустите NULL и NOT NULL, то будут или не будут позволены null-значения в поле, определяет установка, определенная командой SET NULL. Однако, если вы опустите NULL и NOT NULL, но укажите PRIMARY KEY или UNIQUE, Visual FoxPro сбросит текущую установку SET NULL, и поля, по умолчанию, получат признак NOT NULL.

Visual FoxPro сгенерирует ошибку, если правило проверки, определенное в опции CHECK не позволяет вводит пустые значения полей в добавляемой записи.

Null-значения и записи-дубликаты не разрешены в полях, использующих первичный индекс или индекс-кандидат. Однако, Visual FoxPro не сгенерирует ошибки, если вы создадите первичный индекс или индекс-кандидат для поля, которое допускает null-значения. Visual FoxPro сгенерирует ошибку, если вы попытаетесь ввести null или дублирующее значение в поле, используемое для первичного индекса или индекса-кандидата.

Note Замечание

Индексы-кандидаты, которые вы создали включением в команду опции UNIQUE, которые предоставлены для совместимости с ANSI, в командах SQL CREATE TABLE или ALTER TABLE не являются теми же самыми индексами, создаваемыми командой INDEX с опцией UNIQUE. Индекс, созданный командой INDEX, использующей опцию UNIQUE позволяет дублирующие индексные ключи; в то время как индексы-кандидаты не позволяют их. Для получения более подробной информации об опции UNIQUE в команде INDEX смотрите ее описание в INDEX. Термин CANDIDATE является синонимом UNIQUE и может быть использовать вместо последнего по вашему выбору.

Для NextValue пустое значение интерпретируется, как 0 и вызывает автоувеличение, начиная с 0 + StepValue.

Значение увеличения StepValue всегда добавляется с положительным знаком. Если вы желаете использовать серии автоувеличений с отрицательным знаком, вы должны начать с отрицательной NextValue и шагать по направлении к 0, используя значение автоувеличения StepValue. Например, если NextValue равно -2147483647, первый шаг произведет значение -2147483646.

CREATE TABLE распознает все поля, доступные в функции AFIELDS( ) и включает автоувеличение в таблице, когда StepValue больше, чем нуль.

Expand image Примеры

Пример 1

Приведенный ниже пример создает новую базу данных с именем MyData1 и использует команду CREATE TABLE для создания трех таблиц: Salesman, Customer и Orders. Опции FOREIGN KEY и REFERENCES во второй команде CREATE TABLE создают постоянное отношение "один-ко-многим" между таблицами Salesman и Customer. Опции DEFAULT в третьей команде CREATE TABLE устанавливают значения по умолчанию, а опции CHECK и ERROR устанавливают бизнес-правила для ввода данных в указанные поля. Команда MODIFY DATABASE отображает отношения между тремя таблицами.

CopyCode image Скопировать код
CLOSE DATABASES
CLEAR
CREATE DATABASE mydata1

* Создает таблицу Salesman с первичным ключом.
CREATE TABLE Salesman ;
   (SalesID c(6) PRIMARY KEY, ;
   SaleName Character(20))

* Создает таблицу Customer и связывает ее с таблицей Salesman.
CREATE TABLE Customer ;
   (SalesID c(6), ;
   CustId i PRIMARY KEY, ;
   CustName c(20) UNIQUE,   ;
   SalesBranch c(3), ;
   FOREIGN KEY SalesId TAG SalesId REFERENCES Salesman)

* Создает таблицу Orders связанную с Customer по ее собственному первичному
* ключу и некоторые бизнес-правила, такие как defaults и checks.
CREATE TABLE Orders ;
   (OrderId i PRIMARY KEY, ;
      CustId i REFERENCES customer TAG CustId, ;
      OrderAmt y(4), ;
      OrderQty i ;
      DEFAULT 10 ;
      CHECK (OrderQty > 9) ;
      ERROR "Количество в Order Quantity должно быть по-крайнеме мере равно 10", ;
         DiscPercent n(6,2) NULL ;
      DEFAULT .NULL., ;
      CHECK (OrderAmt > 0) ERROR "Количество Order Amount должно быть > 0" )

* Отображает новую базу данных, таблицы и отношения.
MODIFY DATABASE

* Удаляет файлы примера.
SET SAFETY OFF && Подавляет сообщение подтверждения.
CLOSE DATABASES     && Закрывает базу данных перед удалением.
DELETE DATABASE mydata1 DELETETABLES

Пример 2

Приведенный ниже пример использует NOCPTRANS для предотращения трансляции в другую кодовую страницу. Пример создает таблицу с именем MyTable, которая содержит два символьных поля и два memo-поля. Второе символьное поле , "char2", и второе memo-поле, "memo2", включают опцию NOCPTRANS для предотращения трансляции.

CopyCode image Скопировать код
CREATE TABLE MyTable (char1 C(10), char2 C(10) NOCPTRANS,;
   memo1 M, memo2 M NOCPTRANS)

Пример 3

Приведенный ниже пример создает таблицу Customer с полем MyField, которое имеет тип Integer и использует автоувеличение значений поля:

CopyCode image Скопировать код
CREATE TABLE Customer (MyField i AUTOINC NEXTVALUE 1 STEP 1, name c(40) )

Expand image Смотрите также

Справочное руководство

Команда CREATE
Команда CREATE QUERY
Команда INSERT - SQL
Команда MODIFY QUERY
Команда MODIFY STRUCTURE
Команда OPEN DATABASE
Команда SELECT - SQL
Команда SET NOCPTRANS
SQL команды и функции

Концепции

Автоувеличение значений полей в таблицах

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


CREATE TRIGGER Command

Visual FoxPro 9.0 Language Reference
CREATE TRIGGER Command
See Also Example

Создает для таблицы триггер Delete (удаления), Insert (добавления) или Update (обновления).

CREATE TRIGGER ON TableName   FOR DELETE | INSERT |
UPDATE AS lExpression

Параметры

TableName

Задает таблицу в текущей базе данных, для которой создается триггер.
FOR DELETE | INSERT | UPDATE

Задает тип триггера, который создает Visual FoxPro. Если триггер указанного типа уже существует и команда SET SAFETY установила значение ON, Visual FoxPro спросит, следует ли вести запись поверх существующего триггера. Если команда SET SAFETY установила значение OFF, запись будет автоматически вестись поверх существующего триггера.
AS lExpression

Задает логическое выражение, вычисляемое при выполнении триггера. В качестве lExpression может фигурировать функция, определенная пользователем, или хранимая процедура, возвращающая логическое значение. Хранимые процедуры можно создать для таблицы с помощью команды MODIFY PROCEDURE. Пользовательская функция или хранимая процедура могут применять функцию AERROR( ), чтобы определить имя таблицы, для которой сработал триггер, и тип триггера. Если вычисление выражения lExpression дает значение "истина" (.T.), выполняется команда или событие, которые привели к срабатыванию триггера. Если значение выражения lExpression есть "ложь" (.F.), команда или событие, запустившие триггер, не выполняются. Если активна процедура ON ERROR, она будет выполнена вместо команды или события. Если процедура ON ERROR не является активной, команда или событие не выполняются, а Visual FoxPro выдает сообщение об ошибке.

Комментарии

Пользуйтесь командой CREATE TRIGGER для того, чтобы отлавливать события, вызывающие удаление, добавление или изменение записей в таблице. Триггеры удаления, добавления или обновления можно создать только для таблицы, включенной в базу данных. Для создания базы данных используйте команду CREATE DATABASE, а для добавления в нее таблицы ѕ команду ADD TABLE. Для команды CREATE TRIGGER необходимо монопольное использование базы данных. Чтобы открыть базу данных в монопольном режиме, включите предложение EXCLUSIVE в команду OPEN DATABASE.

В следующих списках перечисляются события, которые вызывают срабатывание триггеров Delete, Insert или Update.

Событие Результат

Триггер Delete
  • Выдана команда DELETE.

  • Запись помечается на удаление с помощью меню Table окна просмотра или окна редактирования.

  • Обратите внимание, что при использовании команды ZAP, не происходит срабатывание триггера удаления.

Триггер Insert
  • Выдана команда APPEND FROM.

  • Выдана команда APPEND FROM ARRAY.

  • Выдана команда APPEND BLANK.

  • Добавляется запись с помощью меню Table окна просмотра или окна редактирования.

  • Выдана команда IMPORT.

  • Выдана команда INSERT - SQL.

  • Выдана команда RECALL.

  • Повторно вызывается запись с помощью меню Table окна просмотра или окна редактирования.

Триггер Update
  • Выдана команда GATHER.

    В отношении триггеров, созданных с помощью команды CREATE TRIGGER, действуют следующие правила:

    • Команду INSERT нельзя выдавать для таблицы с триггером. Однако можно использовать команду INSERT - SQL.

    • Выдача команды PACK не приводит к срабатыванию триггеров.

    • Выдача команды ZAP не приводит к срабатыванию триггера Delete.

    • При обновлении записи, помеченной на удаление, никакие триггеры не срабатывают.

    • Режим буферизации может препятствовать немедленному срабатыванию триггера:

  • Выдана команда REPLACE.

  • Выдана команда REPLACE FROM ARRAY.

  • Выдана команда UPDATE - SQL.

  • Любое событие, вызывающее модификацию записи. Например, триггер Update срабатывает, когда какой-либо элемент управления в форме изменяет содержимое поля.

Если буферизация таблицы действует, триггер Update срабатывает после выдачи команды TABLEUPDATE( ) и обновлении каждой буферизованной записи в таблице.

Пример

В следующем примере создается триггер Update, который предотвращает ввод в поле maxordamt таблицы customer значений свыше 50. Когда выполняется первая команда REPLACE из-за того, что значение поля maxordamt превысило 50, генерируется сообщение об ошибке. Вторая команда REPLACE не генерирует ошибку, поскольку значение в поле maxordamt не превышает 50.
Copy Code
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Открытие таблицы customer

* Set trigger on maxordamt field to fail with values <= 50
CREATE TRIGGER ON customer FOR UPDATE AS maxordamt <= 50

ON ERROR  && Востанавливаем системный обработчик ошибок

WAIT WINDOW "Press a key to test trigger with value of 60"+CHR(13);
 +"When you get the error message, press Ignore."
REPLACE maxordamt WITH 60    && Displays an error message
? maxordamt

WAIT WINDOW "Press a key to test with value of 50."
REPLACE maxordamt WITH 50    && Value is accepted
? maxordamt
DELETE TRIGGER ON customer FOR UPDATE  && Remove the trigger

Смотреть также

Другие ресурсы

ADD TABLE Command
AERROR( ) Function
CREATE DATABASE Command
DELETE TRIGGER Command
DISPLAY DATABASE Command
LIST DATABASE Command
OPEN DATABASE Command
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


CREATE VIEW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда CREATE VIEW
Смотрите также
CollapseAll image

Создает файл среды Visual FoxPro.

CREATE VIEW FileName

Параметры

FileName

Задает имя создаваемого файла.

Expand image Замечание

Команда CREATE VIEW строит новый файл, содержащий информацию о среде Visual FoxPro. Команда SET VIEW восстанавливает среду, сохраненную в файле по команде CREATE VIEW. айлам, создаваемым с помощью CREATE VIEW, присваивается расширение имени .vue.

Далее приводится перечень информации, сохраняемой в файле среды:

  • Все файлы таблиц, индексов, альтернативные файлы и файлы формата, открытые на данный момент во всех рабочих областях

  • Все поля, включенные в список SET FIELDS

  • Все отношения, установленные между открытыми таблицами

  • Все фильтры, действующие для открытых таблиц

  • Установки DEFAULT и PATH

  • Установка файла процедуры

  • Текущий файл справки

  • Текущий файл ресурсов

  • Статус SET SKIP

  • Статус строки состояния (ON или OFF)

Файлы среды можно использовать как в программах, так и при отладке. Для восстановления всей среды достаточно выполнить лишь одну команду ѕ SET VIEW TO FileName. В процессе отладки можно сохранить установки среды в файле среды, провести тестирование, а затем восстановить исходную среду и продолжить в ней выполнение программы.

Expand image Смотрите также

Справочное руководство

Команда CREATE SQL VIEW
Команда SET VIEW
Команда SET SKIP
Команда SET FIELDS

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DEACTIVATE MENU Command

Visual FoxPro 9.0 Описание Языка
Команда DEACTIVATE MENU
См. также Пример

Деактивирует пользовательское меню и убирает его с экрана; но не удалает его определения из памяти.

DEACTIVATE MENU MenuName1 [, MenuName2 ...] | ALL

Параметры

MenuName1[, MenuName2...]

Определяет имена деактивируемых меню. В списке имена указываются через запятую.
ALL

Деактивирует все активные сеню.

Комментарии

Команда DEACTIVATE MENU удаляет с экрана пользовательские меню или разделы из главного меню системы, но не удаляет их определения из памяти. Данное меню может быть активировано командой ACTIVATE MENU.

Внимание:
Когда в список меню включается системное (_MSYSMENU), Вам не нужно использовать данную команду. Вместо этого используйте команду SET SYSMENU AUTOMATIC.

Для удаления указанного меню из памяти используйте команду RELEASE MENUS. Для стирания всех меню используйте команды CLEAR MENUS или CLEAR ALL.

После выполнения данной команды управление в программе возвращается на следующую строку если для активации данного меню не используются следующие команды DEFINE MENU BAR или ACTIVATE MENU NOWAIT .

Пример

В следующем примере используется команда DEACTIVATE MENU для деактивации меню и убирания его с экрана. Все пункты системного меню сохранены в памяти командой SET SYSMENU SAVE, а также очищены командой SET SYSMENU TO.

Создано два заголовка меню, командами DEFINE PAD и DEFINE POPUP. Команда DEFINE BAR определяет пункты каждого из меню. Управление в меню осуществляется соответственно командами ON PAD и ACTIVATE POPUP. Команда ACTIVATE MENU отображает и активирует соотвествующее меню.

Когда Вы выбираете пункт меню, то срабатывает процедура CHOICE, которая отображает выбранный Вами пункт меню. Выполнение программы продолжается со строки, следующей за командой ACTIVATE MENU.

Наконец, меню деактивируется, убирается с экрана, стирается из памяти при выполнении команды RELEASE MENUS EXTENDED.

Копировать код
*** Name this program DEACMENU.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
ON KEY LABEL ESC KEYBOARD CHR(13)
DEFINE MENU example BAR AT LINE 1
DEFINE PAD convpad OF example PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD cardpad OF example PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
ON PAD convpad OF example ACTIVATE POPUP conversion
ON PAD cardpad OF example ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' ;
   KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
   KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
   KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
   KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
   KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
   KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
   KEY CTRL+M, '^M'
ON SELECTION POPUP conversion DO choice IN deacmenu WITH PROMPT( ), POPUP( )
DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
   KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
   KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ;
   KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges '
ON SELECTION POPUP cardinfo;
   DO choice IN deacmenu WITH PROMPT( ), POPUP( )

ACTIVATE MENU example
DEACTIVATE MENU example
RELEASE MENU example EXTENDED
SET SYSMENU NOSAVE
SET SYSMENU TO DEFAULT
ON KEY LABEL ESC

PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ;
   ' from popup ' + mpopup NOWAIT

См. также

Другие ссылки

Команда ACTIVATE MENU
Команда CLEAR ALL
Команда CLEAR MENUS
Команда CREATE MENU
Команда DEFINE MENU
Команда HIDE MENU
Команда RELEASE
Команда SHOW MENU
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEACTIVATE POPUP Command

Visual FoxPro 9.0 Справочник Языка
DEACTIVATE POPUP Команда
См. Также

Деактивирует меню, созданное DEFINE POPUP.

DEACTIVATE POPUP MenuName1 [, MenuName2 ...] | ALL

Параметры

MenuName1 [, MenuName2 ...]

Определяет имена меню или нескольких меню для деактивирования. Вы можете деактивировать несколько меню включением списка имен меню, разделенных запятыми.
ALL

Деактивирует все активные меню.

Замечания

DEACTIVATE POPUP удаляет активные меню, одно или несколько, из главного окна Visual FoxPro или определяемого пользователем окна, не удаляя при этом определение меню из памяти. Меню может быть реактивировано использованием ACTIVATE POPUP и имени меню.

Используйте RELEASE POPUPS с именем меню, чтобы удалить указанные меню из памяти. Вы можете удалить все меню из памяти командами CLEAR POPUPS или CLEAR ALL.

Управление программой возвращается к строке, следующей немедленно после строки, которая активировала меню, если для активации меню не применяется ACTIVATE POPUP NOWAIT.

См. Также

Другие Ресурсы

ACTIVATE POPUP Команда
CLEAR ALL Команда
CLEAR POPUPS Команда
CREATE MENU Команда
DEFINE POPUP Команда
HIDE POPUP Команда
RELEASE POPUPS Команда
SHOW POPUP Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEACTIVATE WINDOW Command

Visual FoxPro 9.0 Описание Языка
Команда DEACTIVATE WINDOW
См. также Пример

Деактивирует пользовательское окно или системное окно, но не удаляет их описание из памяти.

DEACTIVATE WINDOW WindowName1 [, WindowName2 ...] | ALL

Параметры

WindowName1[, WindowName2...]

Определяет одно или несколько имен окон для деактивации. Вы можете указывать также системные окна, такие как: Command или Browse.
ALL

Деактивировать все активные окна. Для активации окон можно использовать раздел системного меню Window menu или с помощью команд ACTIVATE WINDOW SCREEN или SHOW WINDOW SCREEN активировать главное окно системы.

Комментарии

Несколько окон может быть активировано одноаременно в главном окне системы, но вывод информации направляется только в последнее окно. Если на экране имеется несколько окон, выполняется деактивация текущего окна, вывод информации перенаправляется в следующее активное пользовательское окно. Если нет больше актовных пользовательских окон, то вывод направляется в главное окно системы.

Используйте команды CLEAR WINDOWS или RELEASE WINDOWS для удаления окон с экрана и удаления их описания из памяти.

Для деактивации системных окон или ToolBar-ов заключите их имена в ковычки. Например, см. следующую команду:

Копировать код
DEACTIVATE WINDOW "Report Controls"

Исторически сложилось так, что системное окно Data Session отождествляется с окном View. Поэтому, в дополнение к сказанному, такие команды, как HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), также применимы для окна View. Система Visual FoxPro продолжает поддерживать команду DEACTIVATE WINDOW для системного окна View.

Пример

В следующем примере: определяется и активируется окно wOutput1 . После вывода информации о записях таблицы customer, программа ждет нажатия клавиши...окно деактивируется и стирается из памяти.

Копировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

CLEAR
DEFINE WINDOW wOutput1 FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW wOutput1

DISPLAY
WAIT WINDOW 'Press a key to deactivate the window'
DEACTIVATE WINDOW wOutput1
RELEASE WINDOW wOutput1

См. также

Другие ссылки

Команда ACTIVATE WINDOW
Команда CLEAR WINDOWS
Команда DEFINE WINDOW
Команда HIDE WINDOW
Команда RELEASE WINDOWS
Команда SHOW WINDOW
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEBUG Command

Visual FoxPro 9.0 Описание Языка
DEBUG , Команда
См. также
CollapseAll image

Открывает системное окно Visual FoxPro Debugger (Отладчик программных модулей).

DEBUG

Expand image Комментарии

Установка окружения системы Отладчика (FoxPro Frame или Debugger Frame) определяет, как размещается системное окно Отладчика относительно главного окна Visual FoxPro или в собственном независимом Окне. Переключатель данного режима находится в закладке Debugging диалогового бокса Options.

Если выполняется команда DEBUG при открытом (может быть свернутым) окне Отладчика, данное окно становится активным.

Expand image См. также

Описание

CLOSE, Команды
Закладка Debug, Диалоговый бокс Options
DEBUGOUT, Команда
SET DEBUG, Команда

Другие ссылки

Команды системы (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


DEBUGOUT Command

Visual FoxPro 9.0 Описание Языка
DEBUGOUT , команда
См. также Пример
CollapseAll image

Данная команда перенаправляет результаты одного или нескольких Выражений в системное окно Debug Output (Результаты Отладки).

DEBUGOUT eExpression1 [, eExpression2] ...

Параметры

eExpression1 [, eExpression2] ...

Определяет одно или несколько выражений, которые вычисляются и их результаты отображаются в системном окне Debug Output. Вы можете определять требуемые выражения различных Типов (C,N,D,L...).

Если определяемое в команде выражение является Объектом или ссылкой на объект, Visual FoxPro автоматически подставляет следующую символьную строку: "(Object)", тем самым обеспечивается Символьный эквивалент. В следующем далее примерен, системная переменная _VFP возвращает значение, = "(Object)", когда выполняется команда DEBUGOUT:

CopyCode image Копировать Код
DEBUGOUT 123, _VFP, "Hello"

Expand image Комментарии

Команда DEBUGOUT может идентифицировать выполнение конкретной Процедуры или Функции. Например, если вы разместите команду DEBUGOUT в самом начале некоторой Процедуры (.prg), то при начале выполнения данной процедуры в системном окне Debug Output отобразится соответствующее Сообщение (о начале выполнения указанной процедуры).

Note Обратите внимание

Вы можете сокращать аббревиатуру команды DEBUGOUT минимально до 6 (шести) символов (DEBUGO), что обеспечивает уникальную идентификацию, отличие от команды DEBUG (DEBU).

Когда вам необходимо определить несколько отладочных выражений, запятая (как разделитель) указывается вместе с пробелом. Символы перевода строки и возврата коретки (CRLF) добавляются в конце командной строки.

Команда DEBUGOUT игнорируется в компилированных Приложениях (которые вы распространяете для Пользователей).

Expand image Пример

В следующем Примере программного Кода показывается, как команда DEBUGOUT может контролировать несколько выражений:

CopyCode image Копировать Код
DEBUGOUT "test", 1, 2, 3, 4, DATE( ), _VFP

Expand image См. также

Описание

DEBUG, команда
Debug Output, системное окно
SET DEBUG, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


DECLARE - DLL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DECLARE - DLL
Смотри также Пример
CollapseAll image

Регистрирует функцию во внешней библиотеке совместного использования. Библиотеки представляют собой 32-битные файлы библиотек (.DLL).

DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName]
   [cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]

Параметры

cFunctionType

Указывает тип данных возвращемого из библитеки значения, если возможны варианты. Если функция не возвращает значение, опустите cFunctionType в предложении декларации.

cFunctionType может принимает перечисленные ниже значения:

cFunctionType Описание

SHORT

16-битное целое число

INTEGER

32-битнон целое число

SINGLE

32-битное число с плавающей запятой

DOUBLE

64-битное число с плавающей запятой

LONG

32-битное длинное целое число

STRING

Символьная строка

OBJECT

Объект типа IDispatch
FunctionName

Указывает имя функции библиотеки совместного использования, регистрируемой в Visual FoxPro. Имена функций, посылаемые в этот параметр являются регистро-чувствительными (case-sensitive).

Замечание Замечание

Имя функции DLL может отличаться от имени, указанного в руководстве по Win32 API. Например, функция MessageBox должна быть названа MessageBoxA (для однобайтных символов) или MessageBoxW ( для UNICODE). Если Visual FoxPro не может найти функцию DLL, указанную вами в FunctionName, то в конец имени функции добавляет буква A и Visual FoxPro производит повторный поиск функции с новым именем.

Если указанная вами функция библиотеки совместного использования имеет тоже имя, что и родная функция Visual FoxPro или имя функции не является действительным именем для Visual FoxPro, используйте опцию AS для присвоения функции псевдоимени когда вы ее регистрируете так, как указано ниже в этом описании.

Вы можете, кроме того, использовать OBJECT в качестве возвращаемого значения, например, "DECLARE OBJECT myfunc IN some DLL ..." хотя COM условно не имеет никаких APIs подобного типа. Например:

CopyCode image Скопировать код
DECLARE INTEGER AccessibleObjectFromWindow IN oleacc.dll ;
integer, integer, string , object @
IN LibraryName

указывает имя внешней библиотеки совместного использования, содержащей функцию, указанную в FunctionName.

Если вы указали WIN32API для LibraryName, Visual FoxPro ищет 32-битные Windows .dll функцию в Kernel32.dll, Gdi32.dll, User32.dll, Mpr.dll и Advapi32.dll.

AS AliasName

указывает псевдоимя для имени функции библиотеки совместного использования, в случае совпадения имени с именем родной функции Visual FoxPro или если имя функции не является действительным для Visual FoxPro. AliasName не должен быть зарезервированным словом Visual FoxPro или именем функции библиотеки совместного использования, уже зарегистрированной Visual FoxPro.

Если вы присваиваете псевдоимя функции, то и используйте его при вызове функции. AliasName не является регистро-чувствительным.

cParameterType1[@] ParamName1, cParameterType2[@] ParamName2, ...

Указывает тип параметра, посланного функции библиотеки совместного использования.

cParameterType требуется и определяет тип данных любого параметра, который функция библиотеки совместного использования предполагает получить. cParameterType может быть одним из приведенных ниже:

cParameterType Описание

INTEGER

32-битное целое число

SINGLE

32-битное число с плавающей запятой

DOUBLE

64-битное число с плавающей запятой

LONG

32-битное длинное целое число

STRING

Символьная строка

Visual FoxPro генерирует ошибку в случае, если тип параметр не соответствует ожидаемому функцией библиотеки совместного использования. Null-значения могут быть посланы как пустые символьные строки.

Для посылки параметра по ссылке при вызове функции, вы должны включить знак (@) после параметра cParameterType при использовании этой команды, то есть при регистрации функции, и перед соответствующей переменно в вызове функции. Если вы не включите @ в DECLARE, в вызове функции, или в обоих случаях, параметр посылается по значению. Для получения более подробной информации о функциях библиотек совместного использования, которые требуют @ для посылки параметра по ссылке, смотрите руководство программиста для вашей операционной системы или окружения (например, посмотрите Microsoft Win32 Programmer's Guide для поиска информации о посылке параметров в Windows DLLs).

Замечание Замечание

Имена параметров ParamName1, ParamName2, и т.д. не являются обязательными и не используются Visual FoxPro или функцией библиотеки совместного использования. Вы можете включить с целью напоминания имен и типов параметров, которые должна получать функция.

Expand image Примечания

Прежде чем вы вызовите функцию библотеки совместного использования из кода Visual FoxPro, вы должны выдать команду DECLARE с именем функции, именем библиотеки, содержащей функцию и типами параметров, которые функция ожидает получить.

Для обеспечения совместимости с более ранними версиями, Visual FoxPro позволяет вызывать внешние API библиотеки используя команду SET LIBRARY. (Использовав SET LIBRARY, вы можете обращаться к функциям в Foxtools.fll.) Однако, использование команды DECLARE является предпочитаемым методом регистрации функций библиотек совместного использования.

Хотя Visual FoxPro добавил в эту команду опцию OBJECT cFunctionType, в первую очередь для поддержки некоторых процедур ActiveX Accessibility API, вы можете использовать ее в общем виде и с другими процедурами Windows API.

Для получения более подробной информации о вызове функций библиотек совместного использования смотрите руководство программиста для вашей операционной системы или окружения (например, посмотрите Microsoft Win32 Programmer's Guide для поиска информации о вызове функций Windows DLLs).

Для отображения имен зарегистрированных функций используйте команды DISPLAY STATUS или LIST STATUS. Для удаления зарегистрированных функций из памяти используйте команды CLEAR ALL или CLEAR DLLS.

Примечание переводчика. Повторная регистрации функции с помощью разбираемой команды не оказывает влияние на работу приложения, например:

CopyCode image Скопировать код
CLEAR
DECLARE Integer InternetGetLastResponseInfo IN WinInet ;
   Integer @nError, String @lpcBuffer, Integer @nMax_Path
DECLARE Integer InternetGetLastResponseInfo IN WinInet ;
   Integer @nError, String @lpcBuffer, Integer @nMax_Path
DISPLY STATUS

Expand image Пример

Этот пример для OS Windows возвращает дескриптор окна для Visual FoxPro или нуль, если вы переключились в другое приложение Windows . Во время отображения окна WAIT, у вас есть 5 секунд, для того, чтобы нажав ALT+TAB переключиться в другое приложение Windows, или вы можете остаться в Visual FoxPro, как в активном приложении.
CopyCode image Скопировать код
CLEAR
DECLARE INTEGER GetActiveWindow IN win32api
WAIT WINDOW "You can switch to another application now" TIMEOUT 5
? GetActiveWindow( )

Expand image Смотри также

Справочное руководство

Команда CALL
Команды CLEAR
Команда DISPLAY DLLS
Команда DISPLAY STATUS
Команда LIST DLLS
Команда LOAD
Команда SET LIBRARY

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


DECLARE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DECLARE
Смотрите также
CollapseAll image

Создает одно или двух-мерный массив.

Note Note

DECLARE идентичен в операции и подобен в синтаксисе к команде DIMENSION. Для получения дополнительной информации смотрите Команда DIMENSION.

DECLARE ArrayName1 (nRows1 [, nColumns1])
   [, ArrayName2 (nRows2 [, nColumns2])] ...

Expand image Примечания

Вы можете использовать круглые или квадратные скобки для включения выражений в DECLARE. Например, следующие две команды создают идентичные массивы:

CopyCode image Copy Code
DIMENSION gaArrayOne(10), gaArrayTwo[2,4], gaArrayThree(3,3)
DIMENSION gaArrayOne[10], gaArrayTwo(2,4), gaArrayThree[3,3]

Когда размер массива увеличивается или уменьшается и команда SET COMPATIBLE установлена в ON или DB4, значение каждого элемента в масиве повторно инициализируется в .F.

Note Note

Масивы Visual FoxPro one-based (на основе еденицы) - первый элемент, строка, или столбец массива определены с номер 1. (Массивы в других языках программирования могут быть zero-based (на основе ноля); первый элемент, строка, или столбец массива определены с номером 0.)

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM ARRAY
Команда COPY TO ARRAY
Команда GATHER
Команда PRIVATE
Команда PUBLIC
Команда SCATTER
Команда SET COMPATIBLE
Команда STORE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DEFINE BAR Command

Visual FoxPro 9.0 Language Reference
Команда DEFINE BAR
Смотреть также Пример

Создает элемент в меню, определенном с помощью команды DEFINE POPUP.

DEFINE BAR nMenuItemNumber1 | SystemItemName OF MenuName
   PROMPT cMenuItemText [PICTURE cFileName] [PICTRES cMenubarName]
   [BEFORE nMenuItemNumber2 | AFTER nMenuItemNumber3]
   [FONT cFontName [, nFontSize [, nFontCharSet]]] [STYLE cFontStyle]
   [KEY KeyLabel [, cKeyText]] [MARK cMarkCharacter]
   [MESSAGE cMessageText] [SKIP [FOR lExpression]]
   [COLOR SCHEME nSchemeNumber | COLOR ColorPairList]
   [MRU] [INVERT]

Параметры

nMenuItemNumber1

Задает номер элемента меню. По этому номеру на данный элемент меню можно ссылаться в других командах и функциях.
SystemItemName

Задает номер элемента меню. По этому номеру на данный элемент меню можно ссылаться в других командах и функциях.Например, чтобы обеспечить доступ к пункту меню Print, выполните следующее:
Копировать код
DEFINE BAR _MFI_PRINT OF popMyPopup PROMPT "Print..."
Не все элементы системных меню Visual FoxPro являются доступными. Получить список имен доступных системных меню Visual FoxPro можно с помощью функции SYS(2013).
OF MenuName

Задает имя меню, в которое будут включены элементы меню..
PROMPT cMenuItemText

Задает текст названия элемента меню. Вы можете создать строку-разделитель, задав в качестве cMenuItemText обратную косую черту с дефисом (). Строка-разделитель применяется для отделения друг от друга различных групп элементов в меню. Например, если включить в определение меню приведенную ниже команду, то она создаст между третьим и пятым элементами меню строку-разделитель:
Копировать код
DEFINE BAR 4 OF popMyPopup PROMPT '\-'
Вы можете создать многоколоночные меню, определяя обратную косую и вертикальную черту (|) в начале cMenuItemText. Пункт меню начинает новый столбец, и последующие пункты меню будут помещены в тот же самый столбец, пока не встретится другой пункт меню начинающийся \ |. Например, включая следующую команду в определении меню создает новый столбец в меню:
Копировать код
DEFINE BAR 4 OF popMyPopup PROMPT '\|Start a new column'
Вы можете создать для элемента меню клавишу доступа, поставив перед нужным символом обратную косую черту со знаком "меньше" (<). Так, Например:
Копировать код
DEFINE POPUP popReceive
DEFINE BAR 1 OF popReceive PROMPT '\<Invoices'
DEFINE BAR 2 OF popReceive PROMPT 'In\<quiry'
ACTIVATE POPUP popReceive
Нажав клавишу I, пользователь сможет выбрать команду Invoices из меню Receive; нажав клавишу Q, он выберет команду Inquiry из того же меню.
PICTURE cPictureName

Дает Вам возможность использовать существующее изображение со строкой меню. Вы можете определить cPictureName как относительный путь.
PICTRES cMenubarName

Определяет имя пункта системного меню как ресурс для меню. Если cPictureName = " ", тогда содержание поля Resname .mnx структуры таблицы обработано, поскольку имя файла для использования в DEFINE BAR...PICTURE. Эти функциональные возможности были введены в Visual FoxPro 7.0.
Замечание:
Чтобы функционировало должным образом, Вы должны включить предложение MARGIN в соответствующую команду DEFINE POPUP для предложений PICTURE ИЛИ PICTRES.

BEFORE nMenuItemNumber2

Помещает данный элемент меню перед элементом с номером nMenuItemNumber2.
AFTER nMenuItemNumber3

Помещает данный элемент меню после элемента с номером nMenuItemNumber3.
Замечание :
Чтобы опции BEFORE и AFTER действовали, необходимо при создании меню с помощью команды DEFINE POPUP включить предложение RELATIVE.

В предложениях BEFORE и AFTER также можно задавать значения _MFIRST и _MLAST. Если в предложении BEFORE задано _MFIRST, данный элемент будет первым элементом в меню. Если _MFIRST задано в предложении AFTER, данный элемент будет вторым в меню. Если в предложении AFTER задано значение _MLAST, данный элемент будет последним элементом меню. Если _MLAST задано в предложении BEFORE, данный элемент будет предпоследним в меню. Меню, создаваемые по команде DEFINE POPUP RELATIVE, не резервируют место для неопределенных элементов меню. Например, если вы определили в меню элементы 1, 2, 4 и 5, место для элемента 3 не резервируется. Вы можете вставить элемент 3 позднее; меню соответствующим образом расширится. Следующая программа отображает различия порядке и местоположении элементов каждого из меню:
Копировать код
   * DEFINE POPUP... relative example
   DEFINE POPUP popRelatYes RELATIVE FROM 1,1
   DEFINE BAR 4  OF popRelatYes PROMPT '4444'
   DEFINE BAR 3  OF popRelatYes PROMPT '3333'
   DEFINE BAR 2  OF popRelatYes PROMPT '2222'
   DEFINE BAR 1  OF popRelatYes PROMPT '1111'
   DEFINE BAR 6  OF popRelatYes PROMPT '6666' BEFORE 4

   * DEFINE POPUP... non-relative example
   DEFINE POPUP popRelatNo FROM 1,10
   DEFINE BAR 4 OF popRelatNo PROMPT '4444'
   DEFINE BAR 3 OF popRelatNo PROMPT '3333'
   DEFINE BAR 2 OF popRelatNo PROMPT '2222'
   DEFINE BAR 1 OF popRelatNo PROMPT '1111'
   DEFINE BAR 6 OF popRelatNo PROMPT '6666'
   ACTIVATE POPUP popRelatYes NOWAIT
             && Display "relative" poup
   ACTIVATE POPUP popRelatNo
             && Display "non-relative" popup
FONT cFontName[, nFontSize [, nFontCharSet]]

Задает шрифт для элемента меню. cFontName задает имя шрифта, а nFontSize его размер в пунктах. Вы можете определить сценарий языка с nFontCharSet. Функцию GETFONT( ) для списка доступных значений сценария языка. Например, следующая команда создает элемент меню с помощью 12-пунктового шрифта Courier:
Копировать код
DEFINE BAR 1 OF popReceive PROMPT '\<Invoices' FONT 'Courier', 12
Если вы задали предложение FONT, не задав размер шрифта nFontSize, используется размер 10 пунктов. Если в Visual FoxPro заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.
STYLE cFontStyle

Задает стиль шрифта для элемента меню. Если предложение STYLE опущено, используется стиль Normal (нормальный). Если в Visual FoxPro заданный стиль шрифта отсутствует, его заменяет стиль Normal (нормальный). В качестве cFontStyle можно задавать следующие стили шрифтов:

Символ Стиль шрифта

B

Bold (Полужирный)

I

Italic (Курсив)

N

Normal (Нормальный)

Q

Opaque (Непрозрачный)

–

Strikeout (Перечеркнутый)

T

Transparent (Прозрачный)

U

Underline (Подчеркнутый)
Можно указать сразу несколько символов, задав комбинацию стилей. Например, следующая команда задает полужирный курсив (Bold Italic):
Копировать код
   DEFINE BAR 1 OF popReceive PROMPT '\<Invoices' STYLE 'BI'
KEY KeyLabel[, cKeyText]

Задает клавишу доступа или комбинацию клавиш для элемента меню. Чтобы выбрать такой элемент меню, необязательно активизировать само меню, в отличие от ситуации, когда вы назначаете клавишу доступа с помощью обратной косой черты и знака "меньше". Список доступных клавиш и комбинаций клавиш вместе с их названиями см. в теме ON KEY LABEL.
Замечание :
Если для заданного названия клавиши уже определена макрокоманда клавиатуры, она имеет приоритет и вы не сможете выбрать элемент меню с помощью указанной клавиши или комбинации клавиш.

Задав cKeyText, вы можете заменить название клавиши собственным текстом. Например, если задать KEY Ctrl+B, то в меню справа от имени данного элемента будет стоять текст Ctrl+B. Если задать KEY Ctrl+B, "^B", то в меню будет стоять ^B. Чтобы отменить отображение названия клавиши, задайте в качестве cKeyText пустую строку.
MARK cMarkCharacter

Задает символ маркировки, который ставится слева от элемента меню. Предложение MARK позволяет заменять принятый по умолчанию символ маркировки на символ, определенный аргументом cMarkCharacter. Если cMarkCharacter содержит более одного символа, в качестве символа маркировки используется только первый из них. В качестве символа маркировки в FoxPro для MS-DOS по умолчанию используется ромб, а в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh ѕ галочка. Когда в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh меню с данным элементом интегрируется в системное меню Visual FoxPro, предложение MARK игнорируется и используется символ маркировки, принимаемый по умолчанию. Кроме того, предложение MARK игнорируется, если шрифт главного окна Visual FoxPro или пользовательского окна, в котором размещается меню с данным элементом, отличен от FoxFont.
Замечание :
Задавая символ маркировки, вы не помечаете элемент меню. Используйте для этого команду SET MARK OF.

Символы маркировки, заданные в команде DEFINE BAR, имеют более высокий приоритет по сравнению с символами маркировки, заданными в предложении MARK команды DEFINE POPUP. Команда SET MARK OF используется как переключатель, отображающий или убирающий символы маркировки, и позволяет задать символ маркировки для отдельного элемента меню или для всех элементов меню.
MESSAGE cMessageText

Выдает сообщение при выборе элемента меню. Сообщение выводится в графической строке состояния. Если отображение строки состояния отключено по команде SET STATUS BAR OFF, сообщение располагается в центре последней строки главного окна Visual FoxPro.
SKIP [FOR lExpression]

Задает условие доступности элемента меню: если выражение lExpression имеет значение "истина" (.T.), элемент меню недоступен и пользователь не может выбирать его, а если выражение имеет значение "ложь" (.F.), элемент меню доступен. Недоступный элемент меню отображается определенными для данного состояния цветами. Вы также можете сделать элемент недоступным, поставив перед его названием обратную косую черту (). Например:
Копировать код
DEFINE BAR 1 OF popReceive PROMPT '\Invoices'
Пункт меню, заблокированный с помощью условия заданного в SKIP или \, не может быть выбран.
COLOR SCHEME nSchemeNumber

Задает цвета для отдельного элемента меню, отменяя цвета, принятые по умолчанию или заданные с помощью команды DEFINE POPUP.
COLOR ColorPairList

Задает цвета для отдельного элемента меню, отменяя цвета, принятые по умолчанию или заданные с помощью команды DEFINE POPUP. Вы можете задать цвета для всех элементов меню, символов маркировки и сообщений. По умолчанию цвета элементов меню определяются цветовой схемой 2 текущего цветового набора.
MRU

Определяет для изображения меню вертикальные двойные угловые скобки, указывающие Последний раз Используемое меню. Вы должны обеспечить сценарий, который динамически обрабатывает меню и добавляет любые новые строки меню. Для меню, вызванных с ключевым словом MRU, Visual FoxPro налагает 1-2 секунды задержки перед вызовом команды ON SELECTION BAR. Пользователь может нажать на строку меню, чтобы немедленно вызвать команду ON SELECTION BAR. Если Вы используете ключевое слово MRU, Visual FoxPro игнорирует PROMPT и другие ключевые слова, связанные с данный пунктом.
Копировать код
DEFINE BAR 4 OF popMyPopup MRU
INVERT

Определяет отображение меню с эффектом инверсии цветов.
Копировать код
DEFINE BAR 4 OF popMyPopup PROMPT '\|Start a new column' ;
   PICTRES _med_copy INVERT

Комментарии

Команда DEFINE BAR используется совместно с командой DEFINE POPUP для создания меню. Меню создается и получает имя с помощью команды DEFINE POPUP. Чтобы поместить элементы в меню, нужно выдать серию команд DEFINE BAR.

Если вы для создания меню используете конструктор меню, вы можете вообще обойтись без этих команд. Конструктор меню автоматически генерирует команды, описывающие меню. В конструкторе меню используется системное меню Visual FoxPro, которое вы можете модифицировать, добавляя свои элементы. Подробнее о создании меню см. тему Создание Меню и Панелей инструментов..

Вы также можете создать меню, содержащее записи или поля из таблицы или список имеющихся на диске файлов. Подробнее см. описание предложений PROMPT FIELD, PROMPT STRUCTURE и PROMPT FILES команды DEFINE POPUP..

Чтобы создать для некоторого элемента меню ниспадающее подменю, воспользуйтесь командой ON BAR.

Example

В следующем примере команда DEFINE BAR используется для создания элементов в меню. Сначала текущая системная строка меню сохраняется в памяти с помощью команды SET SYSMENU SAVE, а затем все заголовки системных меню удаляются по команде SET SYSMENU TO.

С помощью команды DEFINE PAD создаются два новых заголовка системных меню, а команда DEFINE POPUP создает раскрывающееся меню для каждого из этих заголовков. DEFINE BAR используется для создания элементов в каждом из меню. Когда выбирается заголовок меню, команда ON PAD с помощью ACTIVATE POPUP активизирует соответствующее меню.

Когда в меню выбирается элемент, команда ON SELECTION POPUP с помощью функций PROMPT( ) и POPUP( ) передает номер элемента и имя меню процедуре CHOICE. Она отображает текст для выбранного элемента и имя содержащего его меню. Если в меню Card Info выбран* элемент Exit, восстанавливается первоначальная система меню Visual FoxPro.

Копировать код
   *** Name this program DEFINBAR.PRG ***
   CLEAR
   SET SYSMENU SAVE
   SET SYSMENU TO
   DEFINE PAD convpad OF _MSYSMENU PROMPT '\<Conversions' COLOR SCHEME 3 ;
      KEY ALT+C, ''
   DEFINE PAD cardpad OF _MSYSMENU PROMPT 'Card \<Info' COLOR SCHEME 3 ;
      KEY ALT+I, ''
   ON PAD convpad OF _MSYSMENU ACTIVATE POPUP conversion
   ON PAD cardpad OF _MSYSMENU ACTIVATE POPUP cardinfo
   DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
   DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' KEY CTRL+E, '^E'
   DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
      KEY CTRL+L, '^L'
   DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
      KEY CTRL+S, '^S'
   DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
      KEY CTRL+D, '^D'
   DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
      KEY CTRL+T, '^T'
   DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
      KEY CTRL+I, '^I'
   DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
      KEY CTRL+M, '^M'
   ON SELECTION POPUP conversion;
      DO choice IN definbar WITH PROMPT( ), POPUP( )
   DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
   DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
      KEY ALT+V, ''
   DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
      KEY ALT+P, ''
   DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' KEY ALT+W, ''
   DEFINE BAR 4 OF cardinfo PROMPT '\-'
   DEFINE BAR 5 OF cardinfo PROMPT '\<Charges '
   DEFINE BAR 6 OF cardinfo PROMPT '\-'
   DEFINE BAR 7 OF cardinfo PROMPT 'E\<xit '
   ON SELECTION POPUP cardinfo;
      DO choice IN definbar WITH PROMPT( ), POPUP( )
   PROCEDURE choice
   PARAMETERS mprompt, mpopup
   WAIT WINDOW 'You chose ' + mprompt + ;
      ' from popup ' + mpopup NOWAIT
   IF mprompt = 'Exit'
      SET SYSMENU TO DEFAULT
   ENDIF

Смотреть также

Другие ресурсы

Команда ACTIVATE POPUP
Команда DEACTIVATE POPUP
Команда DEFINE POPUP
Команда HIDE POPUP
Команда RELEASE BAR
Команда SET MESSAGE
Команда SHOW POPUP
Команды
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


DEFINE CLASS Command

Visual FoxPro 9.0 Справочник Языка
DEFINE CLASS Команда
См. Также

Создает определяемый пользователем класс или подкласс и определяет свойства, события, и методы для класса или подкласса.

Предостережение:
Изменение свойств "только для чтения" базовых классов генерирует сообщение об ошибке.

Полный синтаксис для основного предложения DEFINE CLASS выглядит следующим образом:

DEFINE CLASS ClassName1 AS ParentClass [OF ClassLibrary] [OLEPUBLIC]
   [[PROTECTED | HIDDEN] PropertyName1, PropertyName2 ...]
   [[.]Object.]PropertyName = eExpression ...]
   [PEMName_COMATTRIB = nFlags | DIMENSION PEMName_COMATTRIB[numElements]
      [PEMName_COMATTRIB[1] = nFlags
              PEMName_COMATTRIB[2] = cHelpString
              PEMName_COMATTRIB[3] = cPropertyCapitalization
              PEMName_COMATTRIB[4] = cPropertyType
              PEMName_COMATTRIB[5] = nOptionalParams]]
   [ADD OBJECT [PROTECTED] ObjectName AS ClassName2 [NOINIT] [WITH cPropertylist]]
   [IMPLEMENTS cInterfaceName [EXCLUDE] IN TypeLib | TypeLibGUID | ProgID ]
   [[PROTECTED | HIDDEN] FUNCTION | PROCEDURE Name[_ACCESS |_ASSIGN]
      ([cParamName | cArrayName[] [AS Type][@]]) [AS Type]
      [HELPSTRING cHelpString] | THIS_ACCESS(cMemberName) [NODEFAULT]
            cStatements
   [ENDFUNC | ENDPROC]
ENDDEFINE

Замечания

Следующий код демонстрирует резюме основных предложений:

Скопировать код
DEFINE CLASS Clause
   [Property_Definition_Clause]
   [PEMName_COMATTRIB Clause]
   [ADD OBJECT Clause]
   [IMPLEMENTS Clause]
   [Function_Procedure_Definition_Clause]
ENDDEFINE

Следующие разделы описывают детальный синтаксис и параметры для каждого предложения DEFINE CLASS команда:

  • DEFINE CLASS Предложение

  • Предложение Определения Свойства

  • PEMName_COMATTRIB Предложение

  • ADD OBJECT Предложение

  • IMPLEMENTS Предложение

  • Предложение Определения Функции или Процедуры

Код для определяемых пользователем классов сохраняется в программном файле (.prg), подобным процедурному.

Обратите внимание:
Вы не можете располагать процедуры в файле .prg с обычно выполняемым программным кодом. Только определения класса, другие процедуры, и определяемые пользователем функции могут следовать за первой инструкцией DEFINE CLASS , PROCEDURE или FUNCTION в файле. Для подробной информации, см. Пользовательские Процедуры и Функции .

Вы не можете разместить определения класса, созданные командой DEFINE CLASS в пределах команд структурного программирования, например, IF ... ENDIF или DO CASE ... ENDCASE , или в циклах, типа DO WHILE ... ENDDO или FOR ... ENDFOR .

Для создания экземпляра класса, который Вы определили, используйте функцию CREATEOBJECT( ) . Вы можете обратиться к глобальным свойствам и вызвать метод или событийную функцию и процедуру вне определения класса как показано в следующем примере:

Скопировать код
myObject = CREATEOBJECT('MyClass')
myObject.myPropertyName =
myObject.myMethodName( argument1, argument2, ... )
myObject.myEventName

Защищенные или скрытые свойства, методы, и события ограничивают доступ как определено ключевыми словами PROTECTED и HIDDEN . Для подробной информации, см. DEFINE CLASS Команда - Предложение Определения Свойства и DEFINE CLASS Команда - Предложение Определения Функции или Процедуры .

Visual FoxPro конвертирует значение предложение AS Type автоматически, когда другие COM серверы используют их. Когда Вы задаете предложение AS в коде, IntelliSense Visual FoxPro выводит информацию о типе для COM серверов.

Следующая таблица показывает информации о типе данных, которая выводится.

VFP defined type | COM Typelib conversion | IntelliSense displays
Array | SAFEARRAY(type) | Array
BinaryMemo | VARIANT | -
Boolean | VARIANT_BOOL | Logical
Byte | unsigned char | Number
Character * | BSTR | String
Currency * | CURRENCY | Currency
Date | DATE | Date
DateTime | DATE | Date
Decimal * | wchar_t | Number
Double | double | Number
Float | VARIANT | -
Integer | long | Number
Logical | VARIANT_BOOL | Logical
Long | long | Number
Memo | VARIANT | -
Number | double | Number
Object | IDispatch* | Object
Short | long | Number
Single * | single | Number
String | BSTR | String
Variant | VARIANT | -
Void | void | VOID

Вы можете просмотреть код для методов Access и Assign в окне Trace окна Debugger. Однако, Вы не можете выполнить методы Access и Assign из окон Watch И Local окна Debugger. Для подробной информации, см. методы Access и Assign , Окно Trace , и Окно Debugger .

Безопасный массив - одно - или многомерный массив единственного типа данных, который может иметь тип VARIANT, разрешая Вам создать массивы смешанных типов. Безопасный массив хранит свое меньшее значение, которое не должно быть нулевым, и свой размер. Безопасные массивы разрешают блокирование и деблокирование, поэтому Вы можете быть уверены, что указатель, который Вы получаете к данным, является допустимым.

Примеры

Пример 1

Следующий пример создает класс по имени MyForm от базового класса Form и создает защищенное свойство по имени Version. Класс также содержит другое свойство по имени Caption, который не защищен. Определение класса инициализирует значения по умолчанию для Version и Caption строками "1.0 " и "My Form", соответственно.

Скопировать код
DEFINE CLASS MyForm AS Form
   PROTECTED Version
   Version = "1.0"
   Caption = "My Form"
ENDDEFINE

Пример 2

Следующий пример создает форму frmOLETest от базового класса Form и использует метод AddObject для добавления объекта по имени OCXTest основанный на классе BlueOLEControl, созданном командой DEFINE CLASS и описывающим OLE класс для элемента управления ActiveX Listview . Ключевое слово Object используется, чтобы определить значение для свойства BackColor элемента управления прежде, чем он будет создан.

Скопировать код
PUBLIC frmOLETest
frmOLETest = CREATEOBJECT('Form')
frmOLETest.Visible = .T.
frmOLETest.AddObject('OCXTest', 'BlueOLEControl', 'MSComctlLib.ListViewCtrl')
frmOLETest.OCXTest.View = 2
frmOLETest.OCXTest.ListItems.Add(1,'one','Item One')
frmOLETest.OCXTest.ListItems.Add(2,'two','Item Two')
DEFINE CLASS BlueOLEControl AS OLEControl
   * Set property for Outline ActiveX control.
   .Object.Backcolor = 16776960
   * Set properties for the OLE Container control.
   Visible = .T.
   Height = 100
   Width = 200
ENDDEFINE

Для подробной информации, см. AddObject Метод .

Пример 3

Следующий пример демонстрирует, как определить массив атрибутов библиотеки типов, используя DIMENSION PEMName _COMATTRIB предложение:

Скопировать код
#INCLUDE foxpro.h
DEFINE CLASS myOLEClass AS Custom OLEPUBLIC
   MyProperty = 5.2
   * Set COM attributes for MyProperty.
   DIMENSION MyProperty_COMATTRIB[4]
   myProperty_COMATTRIB[1] = COMATTRIB_READONLY
   myProperty_COMATTRIB[2] = "Help text displayed in object browser"
   myProperty_COMATTRIB[3] = "MyProperty"  && Proper capitalization.
   myProperty_COMATTRIB[4] = "Float"        && Data type
ENDDEFINE

Однако, если Вы хотите установить только элемент nFlags , Вы не должны создать массив:

Скопировать код
#INCLUDE foxpro.h
DEFINE CLASS myOLEClass AS Custom OLEPUBLIC
   MyProperty = "Test"
   * Set the only the nFlags attribute for MyProperty.
   myProperty_COMATTRIB = COMATTRIB_READONLY
ENDDEFINE

Пример 4

Следующий пример создает класс по имени MyForm от базового класса Form и добавляет кнопку от базового класса CommandButton и переключатель от базового класса CheckBox :

Скопировать код
DEFINE CLASS MyForm AS Form
   ADD OBJECT cmdButton1 AS CommandButton
   ADD OBJECT chkBox1 AS CheckBox
ENDDEFINE

Как другой пример, следующий код создает класс по имени MyForm, добавляет кнопку и переключатель к классу, и определяет значения для свойств Caption кнопки и переключателя.

Скопировать код
DEFINE CLASS MyForm AS Form
   ADD OBJECT cmdButton1 AS CommandButton WITH Caption = "Yes"
   ADD OBJECT chkBox1 AS CheckBox WITH Caption = "Click Me"
ENDDEFINE

Пример 5

Следующий пример создает класс по имени MyPublisherClass как настраиваемый класс Custom , использует ключевое слова OLEPUBLIC , чтобы определить, что клиенты Автоматизации могут обратиться к классу когда он включен в сервер Автоматизации, использует предложение IMPLEMENTS , чтобы наследовать определение класса из определения класса Publisher в библиотеке типов MyBookStore.dll, и включает метод ShowPrice интерфейса Publisher.

Скопировать код
DEFINE CLASS MyPublisherClass AS Custom OLEPUBLIC
   IMPLEMENTS Publisher IN "MyBookStore.dll"
   PROCEDURE Publisher_ShowPrice(cGetID AS Long) AS Short
   ENDPROC
ENDDEFINE

Пример 6

Следующий пример создает класс по имени MyForm от базового класса Form и содержит процедуру для определения события Click . Форма, созданная от класса содержит метод Click , который выводит диалоговое окно, когда Вы щелкаете на форме.

Скопировать код
DEFINE CLASS MyForm AS Form
   PROCEDURE Click
      = MESSAGEBOX('MyForm has been clicked!')
   ENDPROC
ENDDEFINE

Как другой пример, следующий код содержит процедуру для одного из объектов, помещенного в класс. Эта процедура обработки события отменяет заданное по умолчанию событие Click для кнопки:

Скопировать код
DEFINE CLASS MyForm AS Form
   ADD OBJECT MyButton AS CommandButton
   ADD OBJECT chkBox1 AS CheckBox
   PROCEDURE MyButton.Click
      = MESSAGEBOX('This is my click event procedure')
   ENDPROC
ENDDEFINE

Пример 7

Следующий пример показывает, как Вы можете задать использование строгой типизации, используя предожение PROCEDURE cArrayName [] [AS Type ][@][AS Type ] так, чтобы массивы могли быть правильно написаны как безопасные массивы для библиотеки типов:

Скопировать код
DEFINE CLASS mySession AS Session OLEPUBLIC
    PROCEDURE GetWidgets1(aWidgets[])
    ENDPROC
    PROCEDURE GetWidgets2(aWidgets[] AS Integer)
    ENDPROC
    PROCEDURE GetWidgets3(aWidgets[] AS Integer @)
    ENDPROC
    PROCEDURE GetRS(oRS[] AS ADODB.Recordset @)
    ENDPROC
ENDDEFINE

Как и другой пример, следующий код демонстрирует, как Вы можете задать строгое сложное типирование, определяя тип, основанный на COM классе:

Скопировать код
DEFINE CLASS mySession AS Session OLEPUBLIC
   PROCEDURE GetRS() AS ADODB.Recordset
      x=CREATEOBJECT("ADODB.Recordset")
      RETURN X
   ENDPROC
   PROCEDURE SetRS(oRS AS ADODB.Recordset @)
      oRS=CREATEOBJECT("ADODB.Recordset")
   ENDPROC
ENDDEFINE

См. Также

Другие Ресурсы

:: Scope Resolution Оператор
ADD CLASS Команда
CREATE CLASS Команда
CREATE CLASSLIB Команда
DODEFAULT( ) Функция
EVENTHANDLER( ) Функция
GETOBJECT( ) Функция
MODIFY CLASS Команда
RELEASE CLASSLIB Команда
Команды

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEFINE CLASS Command - DEFINE CLASS Clause

Visual FoxPro 9.0 Справочное руководство по языку
Команда DEFINE CLASS - опция DEFINE CLASS
Смотрите также Пример
CollapseAll image

Указывает имя создаваемого класса и родительского класса, используемого для создания нового класса. Кроме того, позволяет клиентам Automation обращаться к классу, когда он включен в сервер автоматизации.

DEFINE CLASS ClassName1 AS ParentClass [OF ClassLibrary] [OLEPUBLIC]
[Other DEFINE CLASS clauses]

Параметры

DEFINE CLASS ClassName1 AS ParentClass

Указывает имя создаваемого класса и родительского класса, используемого для создания класса. Родительский класс может быть базовым классом Visual FoxPro, таким как класс Form или иным, определенным пользователем классом или субклассом. Кроме того, вы можете создать субкласс из классов Exception и Session в дополнение к базовым классам Visual FoxPro.

Note Замечание

Если вы указываете класса Custom в качестве ParentClass, Visual FoxPro создает невизуальный, определенный пользователем класс. Если вы указываете Session в качестве ParentClass, Visual FoxPro создает невизуальный пользовательский класс, который обслуживает свою собственную сессию данных. Когда вы указываете Session в качестве ParentClass, то опция ADD OBJECT становится недоступной, так как объект Session не является контейнером. Для получения более подробной информации смотрите описание объекта Session.

Для получения более подробной информации о базовых классах Visual FoxPro смотрите описание Базовые классы в Visual FoxPro.

Кроме того, вы можете использовать опцию AS при применения строгой типизации. Функциональные возможности IntelliSense доступны для объектов и ссылочных переменных только в том случае, когда они строго типизированы. Для получения более подробной информации смотрите описание задачи Как: применить строгую типизацию для класса, объекта и переменной в коде.

[OF ClassLibrary]

Позволяет вам указать библиотеку класса для опции AS ParentClass, без необходимости явного указания пути к библиотеке класса, которая содержит упоминаемый класс, как это требуется, например, для использования команд SET CLASSLIB или SET PROCEDURE. ClassLibrary может быть файлов библиотеки класса (.vcx), программным файлов (.prg) илм скомпилированным программным файлов (.fxp).

Указанная ClassLibrary может содержать относительный путь поскольку Visual FoxPro может искать библиотеку по пути поиска своих библиотек классов. Если Visual FoxPro не сможет найти указанную ClassLibrary, когда вы пытаетесь создать экземпляр класса, то Visual FoxPro сгенерирует ошибку.

Visual FoxPro автоматически добавит ClassLibrary в проект во время процесса сборки, если программа, содержащая класс, включена в проект.

При использовании опции OF ClassLibrary, убедитесь, что текущая программа не имеет того же самого имени класса, что и указанная в опции OF ClassLibrary.

Note Замечание

Если ссылка OF <ProgramFile> используется в программа, которая заключена внутри исполняемого приложения, имя <ProgramFile> должно иметь расширение файла .fxp, а не .prg.

[OLEPUBLIC]

Определяет, что клиенты автоматизации могут обращаться к классу, когда он включен в сервер автоматизации.

Note Замечание

Если вы включили ключевое слово OLEPUBLIC в определени класса, чей базовый класс представляет собой класс Session, то библиотека типов, генерируемая для исполнимых файлов (.exe) или файлов dynamic-link library (.dll) содержит только ваши собственные свойства и методы. Все внутренние свойства, методы и события базового класса Session исключаются из библиотеки типов. ТАкое поведение поддерживается в Visual FoxPro 7.0 или более поздних выпусках.

Если вы добавляете в проект программу с определением класса, созданным как OLEPUBLIC, вы можете создать файл .exe или .dll, содержащий класс интерактивно с помощью Project Manager (Диспетчера проекта), команд BUILD EXE, BUILD DLL или BUILD MTDLL. Файлы .exe или .dll регистрируются операционной системой автоматически и становятся доступными любому клиенту автоматизации. Для получения более подробной информации смотрите описание задач Как: создавать сервера автоматизации, Как: собирать приложения, команд BUILD EXE, BUILD DLL или BUILD MTDLL.

ENDDEFINE

Указывает завершение определения класса.

Expand image Примечания

Приведенный ниже пример кода показывает сводку основных опций команды DEFINE CLASS:

CopyCode image Скопировать код
DEFINE CLASS Clause
   [Опция определения свойства]
   [Опция PEMName_COMATTRIB]
   [Опция ADD OBJECT]
   [Опция IMPLEMENTS]
   [Опция определения функции/процедуры]
ENDDEFINE

Для получения более подробной информации о полном синтаксисе команды смотрите ее описание DEFINE CLASS. Для получения более подробной информации о конкретных опциях команды DEFINE CLASS посмотрите перечисленные ниже описания:

  • Опция определения свойства

  • Опция PEMName_COMATTRIB

  • Опция ADD OBJECT

  • Опция IMPLEMENTS

  • Опция определения функции/процедуры

Expand image Пример

Приведенный ниже пример создает класс с именем MyForm из базового класса Form и создает защищенное свойство с именем Version. Кроме того, класс содержит другое свойство с именем Caption, которое не является защищенным. Определение класса инициализирует значения по умолчанию свойств Version и Caption соответственно в строки "1.0" и "My Form".
CopyCode image Скопировать код
DEFINE CLASS MyForm AS Form
   PROTECTED Version
   Version = "1.0"
   Caption = "My Form"
ENDDEFINE

Expand image Смотрите также

Справочное руководство

:: оператор области действия
Команда ADD CLASS
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция DODEFAULT()
Функция EVENTHANDLER()
Функция GETOBJECT()
Команда MODIFY CLASS
Команда RELEASE CLASSLIB

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


DEFINE CLASS Command - Property Definition Clause

Visual FoxPro 9.0 Справочное руководство по языку
Команда DEFINE CLASS - оператор определения свойства Property Definition Clause
Смотрите также Пример
CollapseAll image

Определяет свойства и их значения в определении класса.

[[PROTECTED | HIDDEN] PropertyName1, PropertyName2 ...]
[[.]Object.]PropertyName = eExpression ...]

Параметры

[PROTECTED | HIDDEN] PropertyName1, PropertyName2 ...]

Указывает одно или больше свойств класса при его создании. Свойства представляют собой именованные атрибуты класса, описывающие его характеристики и поведение. Используйте запятые для разделения свойств или описывайте каждое свойство на отдельной строке.

Note Замечание

Все свойства должны быть определены перед определением функций или процедур.

Ключевое слово PROTECTED позволяет запретить доступ и внесение изменений в указанные свойства извне определения класса. Методы и события внутри определения класса могут обращаться и к защищенным свойствам.

Ключевое слово HIDDEN позволяет запретить доступ и внесение изменений в указанные свойства извне определения класса. Только методы и события в определении класса, но не подкласса, могут обращаться к скрытым свойствам.

Note Совет

Вы можете создать подклассы с методами Access и Assign, если не включите ключевое слово HIDDEN.

[[.]Object.] PropertyName= eExpression ...]

Назначает значения по умолчанию свойствам класса. Включение слова .Object. означает, что Visual FoxPro назначит значение свойству элемента управления ActiveX при его создании. Для большей информации смотрите раздел Примеры.

Expand image Замечания

Следующий код показывает краткую сводку главных операторов команды DEFINE CLASS:

CopyCode image Скопировать код
DEFINE CLASS Clause
   [Property_Definition_Clause]
   [PEMName_COMATTRIB Clause]
   [ADD OBJECT Clause]
   [IMPLEMENTS Clause]
   [Function_Procedure_Definition_Clause]
ENDDEFINE

Для большей информации и полного описания синтаксиса смотрите команда DEFINE CLASS. Для большей информации об отдельных операторах команды DEFINE CLASS смотрите следующие темы:

  • оператор DEFINE CLASS

  • оператор PEMName_COMATTRIB

  • оператор ADD OBJECT

  • оператор IMPLEMENTS

  • оператор определения функции или процедуры Function or Procedure Definition Clause

Expand image Пример

Следующий пример создает форму frmOLETest на основе базового класса Form. Затем, при помощи метода AddObject добавляется объект с именем OCXTest на основе класса BlueOLEControl, созданного при помощи команды DEFINE CLASS, и указанного класса OLE для элемента управления ActiveX Listview. Ключевое слово .Object используется для указания значения свойству BackColor элемента управления ActiveX перед его созданием.
CopyCode image Скопировать код
PUBLIC frmOLETest
frmOLETest = CREATEOBJECT('Form')
frmOLETest.Visible = .T.

frmOLETest.AddObject('OCXTest', 'BlueOLEControl', 'MSComctlLib.ListViewCtrl')
frmOLETest.OCXTest.View = 2
frmOLETest.OCXTest.ListItems.Add(1,'one','Item One')
frmOLETest.OCXTest.ListItems.Add(2,'two','Item Two')

DEFINE CLASS BlueOLEControl AS OLEControl
   * Set property for Outline ActiveX control.
   .Object.Backcolor = 16776960

   * Set properties for the OLE Container control.
   Visible = .T.
   Height = 100
   Width = 200
ENDDEFINE

Для большей информации смотрите метод AddObject.

Expand image Смотрите также

Ссылки

Оператор разрешения области видимости ::
Команда ADD CLASS
Команда СREATE CLASS
Команда CREATE CLASSLIB
Функция DODEFAULT( )
Функция EVENTHANDLER( )
Функция GETOBJECT( )
Команда MODIFY CLASS
Команда RELEASE CLASSLIB

Другие ресурсы

Команды (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функционалах этого продукта, посетите страницу обратной связи.
© Microsoft Corporation. All rights reserved.

Перевод - Рябинин Олег aka OLEGarh


DEFINE CLASS Command - PEMName_COMATTRIB Clause

Visual FoxPro 9.0 Описание Языка
DEFINE CLASS, команда; PEMName_COMATTRIB, секция
См. также Пример
CollapseAll image

Определяет специфические характеристики и значения для Свойств и Методов типа PEMName_COMATTRIB. Описываемые в данном разделе Особенности и возможности относятся только к определениям классов типа OLEPUBLIC, которые содержат дополнительную информацию: описание, атрибуты "только-чтение" и другие характеристики Свойств и Методов, которые вы планируете использовать в соответствующих библиотеках типов COM, серверах Автоматизации.

Note Обратите Внимание

В отличие от методов типа Access и Assign, рассматриваемые характеристики PEMName_COMATTRIB свойств объекта автоматически устанавливают характеристику "hidden" создаваемым Свойствам и, тем самым, эти Свойства являются недоступными в программном коде Visual FoxPro. Данные характеристики предназначены строго для использования в Visual FoxPro в процессе проектирования и создания библиотек типа COM.

[PEMName_COMATTRIB = nFlags | DIMENSION PEMName_COMATTRIB[numElements]
 [PEMName_COMATTRIB[1] = nFlags
PEMName_COMATTRIB[2] = cHelpString
PEMName_COMATTRIB[3] = cPropertyCapitalization
PEMName_COMATTRIB[4] = cPropertyType
PEMName_COMATTRIB[5] = nOptionalParams]]

Параметры

[ PEMName_COMATTRIB = nFlags| DIMENSION PEMName_COMATTRIB[numElements]

Определяет значение параметра nFlags для Свойства или Метода типа PEMName, или использования команды DIMENSION для создания внутреннего Свойства в виде Массива типа PEMName в библиотеке типов. Когда создается Массив, numElements определяет номер соответствующего элемента, не более 5.

В следующей таблице описываются характеристики указанных элементов этого массива.

Элемент COMATTRIB Краткое Описание Тип

1

Флаги атрибутов.

Число

2

Строка Описания.

Строка

3

Применение Заглавных букв.

Строка

4

Тип Свойства.

Строка

5

Количество параметров.

Note Обратите внимание

Если вы указываете меньшее количество параметров, чем задано при определении Метода, то остальные параметры объявляются как опциональные (необязательные).

Число
Note Примечание

При задании неверного значения или типа элемента в массиве PEMName_COMATTRIB, система Visual FoxPro генерирует Ошибку. Пустое значение для конкретного элемента предполагает значение "по-умолчанию" данного элемента.
nFlags

Определяет флаги атрибутов для Свойства или Метода PEMName, которые описываются в Библиотеке Типов (Type Library). В следующей таблице описываются допустимые значения флагов и их описания.

Значение
nFlags 		#DEFINE Краткое описание

0x1 (1)

COMATTRIB_RESTRICTED

Свойство или Метод не должны быть доступны из Макро-языков (скриптов JS,VS). Данный флаг предназначен для функций системного уровня или других функций, которые не отображаются в системных Браузерах, осуществляющих навигацию в COM-классах.

Атрибут COMATTRIB_RESTRICTED означает, что на уровне Макро-программ рассматриваемые программные Элементы (Свойства и Методы) должны быть недоступны. Аналогичные Компоненты, созданные с атрибутом _HIDDEN являются доступными с помощью соответствующего Браузера Visual Basic. Основным различием является то, что указанные Элементы не могут быть связаны с внешними компонентами.

0x40 (64)

COMATTRIB_HIDDEN

Свойство или Метод не должны быть доступны пользователю, однако могут быть привязаны (могут обрабатываться) внешними компонентами.

Атрибут COMATTRIB_HIDDEN означает, что Свойство или Метод не отображаются в соответствующем Браузере. Данный атрибут обычно используется для исключения рассматриваемого Элемента из Объектной модели, но данный элемент может использоваться в Классе в соответствующих фрагментах программного Кода.

0x400 (1024)

COMATTRIB_NONBROWSABLE

Свойство или Метод является доступным в Браузере Объектов, но является недоступным в Браузере Свойств.

Атрибут COMATTRIB _NONBROWSABLE означает, что рассматриваемый Элемент не доступен в Браузере Свойств. Данный атрибут обычно используется в тех случаях, когда при возникновении ошибки необходимо видеть значение конкретного Свойства, которое отображается в Браузере Свойств. Процессы Раннего и Позднего Связывания налагают особые требования по доступу к программным Элементам. Клиент раннего связывания не в состоянии записать значение в Свойство типа "только-для-чтения", или прочитать значение из свойства типа "только-для-записи", поскольку данные свойства будут отсутствовать в соответствующей таблице VTable. Клиент позднего связывания может обратиться к соответствующим элементам PropertyGet или PropertyPut, объявленным как PEMName.

0x100000

COMATTRIB_READONLY

Свойство только "для чтения". Применяется только для Свойств. Эквивалентно PropertyGet.

Note Обратите Внимание

Указание атрибутов COMATTRIB_READONLY и COMATTRIB_WRITEONLY означает недоступность данного Свойства (не читать и не писать).

0x200000

COMATTRIB_WRITEONLY

Свойство только "для записи". Применяется только для Свойств. Эквивалентно PropertyLet.

Note Обратите Внимание

Указание атрибутов COMATTRIB_READONLY и COMATTRIB_WRITEONLY означает недоступность данного Свойства (не читать и не писать).
PEMName_COMATTRIB[2] = cHelpString

Определяет строку текста, которая характеризует в библиотеке типов создаваемое Свойство PEMName. Для Методов используется соответствующая секция-опция HELPSTRING cHelpString.

PEMName_COMATTRIB[3] = cPropertyCapitalization

Определяет, что имя создаваемого элемента должно быть представлено в библиотеке типов символами в верхнем регистре. Сохраняются все символы в верхнем регистре. Если данный параметр опущен, Visual FoxPro записывает имя свойства в верхнем регистре.

PEMName_COMATTRIB[4] = cPropertyType

Определяет название типа создаваемого Свойства (string, numeric...), для Методов используется секция-опция AS Type. Данный параметр применяется только для Свойств Класса COM.

PEMName_COMATTRIB[5] = nOptionalParms]]

Определяет количество опциональных (необязательных) параметров, передаваемых в Метод. Например, если данный элемент имеет значение = 2 для метода, у которого определено всего 5 параметров, то последние 3 параметра являются опциональными (необязательными). Применяется только для Методов.

Для Клиентов "позднего связывания", по-умолчанию, для необязательных параметров присваиваются значения, = False (.F.), а функция PCOUNT( ) возвращает фактическое количество переданных параметров в вызываемый Метод. Для Клиентов "раннего связывания", по-умолчанию, для опциональных параметров присваивается значение Empty -пустая строка (""), а функция PCOUNT( ) всегда возвращает общее количество описанных параметров в Методе (а не количество фактически переданных параметров).

Expand image Комментарии

В следующем далее фрагменте программного Кода представлена общая Структура команды DEFINE CLASS:

CopyCode image Копировать Код
DEFINE CLASS Clause
 [Property_Definition_Clause]
 [PEMName_COMATTRIB Clause]
 [ADD OBJECT Clause]
 [IMPLEMENTS Clause]
 [Function_Procedure_Definition_Clause]
ENDDEFINE

Дополнительную информацию о полном синтаксисе смотрите в разделе DEFINE CLASS, команда. Уточняющую информацию о деталях использования различных параметров команды DEFINE CLASS смотрите в следующих пунктах:

  • DEFINE CLASS, секция команды

  • Секция Определения Свойств

  • ADD OBJECT, секция

  • IMPLEMENTS, секция

  • Секция Определения Функций и Процедур

Expand image Пример

В представленном далее примере иллюстрируется определение массива в Библиотеке Типов с помощью рассматриваемой Секции DIMENSION PEMName_COMATTRIB:

CopyCode image Копировать Код
#INCLUDE foxpro.h
DEFINE CLASS myOLEClass AS Custom OLEPUBLIC
 MyProperty = 5.2
 * Set COM attributes for MyProperty.
 DIMENSION MyProperty_COMATTRIB[4]
 myProperty_COMATTRIB[1] = COMATTRIB_READONLY
 myProperty_COMATTRIB[2] = "Help text displayed in object browser"
 myProperty_COMATTRIB[3] = "MyProperty" && Proper capitalization.
 myProperty_COMATTRIB[4] = "Float" && Data type
ENDDEFINE

Однако, если Вы хотите установить только элемент nFlags, Вы не должны создавать массив:

CopyCode image Копировать Код
#INCLUDE foxpro.h
DEFINE CLASS myOLEClass AS Custom OLEPUBLIC
 MyProperty = "Test"
 * Set the only the nFlags attribute for MyProperty.
 myProperty_COMATTRIB = COMATTRIB_READONLY
ENDDEFINE

Expand image См. также

Описание

:: Оператор уточнения Диапазона
ADD CLASS , команда
CREATE CLASS , команда
CREATE CLASSLIB , команда
DODEFAULT( ) , функция
EVENTHANDLER( ) , функция
GETOBJECT( ) , функция
MODIFY CLASS , команда
RELEASE CLASSLIB , команда

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


DEFINE CLASS Command - ADD OBJECT Clause

Visual FoxPro 9.0 Описание Языка
DEFINE CLASS, команда - ADD OBJECT, секция
См. также Пример
CollapseAll image

Добавляет Объекты из других Классов во время описания текущего Класса.

[ADD OBJECT [PROTECTED] ObjectName AS ClassName2 [NOINIT] [WITH cPropertylist]]

Параметры

[ADD OBJECT [PROTECTED] ObjectName AS ClassName2

Определяет добавляемый Объект, порождаемый Базовым Классом Visual FoxPro, или пользовательским Классом, ПодКлассом, или доступным описанием внешнего Контрола ActiveX - в текущее описание Корневого Объекта (Класса). Опция PROTECTED предотвращает (защищает) доступ или изменение (с внешней стороны) Свойств создаваемого (добавляемого) Класса или Подкласса.

[NOINIT]

Определяет, что стандартный метод Init не будет выполнен при добавлении данного Класса в Корневой Объект.

[WITH cPropertyList]]

Определяет Список свойств, или параметров, которые передаются в создаваемый (добавляемый) объект (класс). Дополнительную информацию смотрите в Разделе Примеры.

Expand image Комментарии

Следующая далее Синтаксическая Конструкция описывает общее представление Команды описания Корневого Класса DEFINE CLASS, в который вставляется дополнительный Объект:

CopyCode image Копировать Код
DEFINE CLASS Clause
 [Property_Definition_Clause]
 [PEMName_COMATTRIB Clause]
 [ADD OBJECT Clause]
 [IMPLEMENTS Clause]
 [Function_Procedure_Definition_Clause]
ENDDEFINE

Дополнительную информацию о Полной конструкции указанной Команды смотрите в разделе: DEFINE CLASS, команда. Детальное описание составных секций указанной Команды DEFINE CLASS смотрите в следующих Разделах:

  • DEFINE CLASS, секция

  • Секция Описания Свойств Класса

  • PEMName_COMATTRIB, секция

  • IMPLEMENTS, секция

  • Секция описания Процедур и Функций Класса (Методов и Событий)

Expand image Пример

В следующем далее примере создается класс с именем: MyForm, который порождается базовым классом Form, в который добавляется Командная Кнопка, порождаемая базовым классом CommandButton, а также добавляется Контрол ChkBopx1, порождаемая классом CheckBox:

CopyCode image Копировать Код
DEFINE CLASS MyForm AS Form
 ADD OBJECT cmdButton1 AS CommandButton
 ADD OBJECT chkBox1 AS CheckBox
ENDDEFINE

А в другом Примере, который представлен далее, создается Класс с именем MyForm, в который добавляется также Командная Кнопка и Контрол -Переключатель, для которых определяются пользовательские Заголовки, через свойство Caption ("Yes" - Да, "Click Me" - Нажми Меня).

CopyCode image Копировать Код
DEFINE CLASS MyForm AS Form
 ADD OBJECT cmdButton1 AS CommandButton WITH Caption = "Yes"
 ADD OBJECT chkBox1 AS CheckBox WITH Caption = "Click Me"
ENDDEFINE

Expand image См. также

Описание

:: - оператор диапазона выполнения
ADD CLASS, команда
CREATE CLASS, команда
CREATE CLASSLIB, команда
DODEFAULT( ), функция
EVENTHANDLER( ), функция
GETOBJECT( ), функция
MODIFY CLASS, команда
RELEASE CLASSLIB, команда

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


DEFINE CLASS Command - IMPLEMENTS Clause

Visual FoxPro 9.0 Справочное руководство по языку
Команда DEFINE CLASS - опция IMPLEMENTS
Смотрите также Пример
CollapseAll image

Указывает на наследование интерфейса из другого COM компонента.

[IMPLEMENTS cInterfaceName [EXCLUDE] IN TypeLib | TypeLibGUID | ProgID ]

Параметры

[IMPLEMENTS cInterfaceName [EXCLUDE] IN TypeLib | TypeLibGUID | ProgID]

Определяет, что определение класса наследует интерфейс или определение класса другого COM компонен. Вы можете включить множество предложений IMPLEMENTS.

Замечание Замечание

Определенные технологии, такие как Microsoft COM+ события, require the COM component to implement the interface of the event class being bound to.

Ключевое слово EXCLUDE исключает реализацию интерфейса из библиотеки типа.

Опция IN определяет местонахождение интерфейса для COM компонента. Вы можете указать библиотеку типов COM объекта с помощью TypeLib, GUID библиотеки типов с помощью TypeLibGUID или ProgID программы, которая инициализирует COM объект. Когда вы используете TypeLibGUID, укажите обозначение версии major и minor, как это сделано в приведенном ниже примере:

CopyCode image Скопировать код
IMPLEMENTS IDict1 IN {04BCEF93-7A77-11D0-9AED-CE3E5F000000}#1.0
Замечание Совет

Параметр TypeLib представляет собой наименее рекомендуемый путь указания библиотеки типов, поскольку для этого требуется указать имя файла, чей путь может различаться на разных компьютерах. Если вы распространяете вашу .dll, подумайте об использовании TypeLibGUID или ProgID вместо TypeLib.

Замечание Замечание

Когда вы используете опцию IMPLEMENTS, вы должны включить все методы этого интерфейса в определение класса. Вы должны использовать имя интерфейса строго также, как он показано в библиотеке типов. Однако, для имен интерфейсов, начинаяющихся с символа подчеркивания (_), таких, как класс ADODB RecordSet, символ подчеркивания необязателен. Предваряйте имя метода именем интерфейса, например Publisher_ShowPrice. Это соглашение поможет избежать конфликта между двумя интерфейсами, содержащими методы с одинаковыми именами в случае, когда вы включаете в определение класса множество предложений IMPLEMENTS. Свойства, по существу, хранятся в виде двух методов внутри библиотеки типов, например, Put и Get, и определение класса должно включать в себя оба метода.

Замечание Совет

С целью экономии времени, вы можете использовать Visual FoxPro Object Browser и перетащить определения интерфейсов в ваш код. Вместе с предложением IMPLEMENTS для вам будут автоматически прописаны все инструментальные метожы с их параметрами. Для получения более подробной информации, смотрите Окно "Object Browser".

Expand image Примечания

В приведенном ниже процедурном коде показана сводка главных опций команды DEFINE CLASS:

CopyCode image Скопировать код
DEFINE CLASS Clause
   [Property_Definition_Clause]
   [PEMName_COMATTRIB Clause]
   [ADD OBJECT Clause]
   [IMPLEMENTS Clause]
   [Function_Procedure_Definition_Clause]
ENDDEFINE

Для получения более подробной информации о полном синтаксисе команды, смотрите описание DEFINE CLASS. Для получения более подробной информации о конкретных опциях команды DEFINE CLASS, смотрите приведенные ниже статьи справки:

  • Оператор DEFINE CLASS

  • Оператор определения свойства

  • Оператор PEMName_COMATTRIB

  • Оператор ADD OBJECT

  • Оператор определения функции и процедуры

Expand image Пример

В приведенном ниже примере создается класс с именем MyPublisherClass, на базе класса Custom, с использованием ключевого слова OLEPUBLIC с тем, чтобы клиенты автоматизации могли иметь доступ к классу, когда он будет включен в сервер автоматизации, с использованием оператора IMPLEMENTS для наследования определения класса, наследуемого, в свою очередь из определения класса Publisher в библиотеке типов MyBookStore.dll, и включением метода ShowPrice из интерфейса Publisher.
CopyCode image Скопировать код
DEFINE CLASS MyPublisherClass AS Custom OLEPUBLIC
   IMPLEMENTS Publisher IN "MyBookStore.dll"
   PROCEDURE Publisher_ShowPrice(cGetID AS Long) AS Short
   ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Оператор области "::"
Команда ADD CLASS
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция DODEFAULT( )
Функция EVENTHANDLER( )
Функция GETOBJECT( )
Команда MODIFY CLASS
Команда RELEASE CLASSLIB

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DEFINE CLASS Command - Function or Procedure Definition Clause

Visual FoxPro 9.0 Справочник Языка
DEFINE CLASS Команда - Функция или Предложение Определения Процедуры
См. Также

Определяет метод и функции событий и процедуры для определения класса.

[[PROTECTED | HIDDEN] FUNCTION | PROCEDURE Name[_ACCESS |_ASSIGN]
   ([cParamName | cArrayName[] [AS Type][@]]) [AS Type]
   [HELPSTRING cHelpString] | THIS_ACCESS(cMemberName) [NODEFAULT]
      cStatements
[ENDFUNC | ENDPROC]]

Параметры

[[PROTECTED | HIDDEN] FUNCTION | PROCEDURE Name [_ACCESS | _ASSIGN]

Определяет события и методы для создания в определения класса. События и методы создаются как функции или процедуры. Вы можете создать функцию события или процедуру, чтобы обработать событие. Для подробной информации, см. Пользовательские Процедуры и Функции , FUNCTION Команда , и PROCEDURE Команда .
Обратите внимание:
Вызов функций событий и процедур выполняет код, определенный для этих функций и процедур, но не вызывает срабатывания события непосредственно.

Для подробной информации о событиях в Visual FoxPro, см. Понимание Модели Событий . Вы можете создать функцию или процедуру метода, которая воздействует на объект, созданный в определении класса.
Обратите внимание:
Вы должны объявить каждый защищенный метод на отдельной строке.

Суффиксы _ACCESS или _ASSIGN определяют создание методов Access или Assign для свойства с тем же самым именем. По умолчанию, методы Access и Assign защищены, так что Вы не можете обратиться или измененить Access или Assign методы извне класса. Для подробной информации, см. Методы Access and Assign и Как: Создать Методы Access и Assign .
Обратите внимание:
Массивы передаются в метды Access и Assign тем же самым способом как в стандартные процедуры Visual FoxPro. Для подробной информации, см. Передача Данных в Параметры .

([ cParamName | cArrayName [] [AS Type ][@]]) [AS Type ]

Специфицирует один или более параметров для передачи аргументов в метод класса или события или определяет имя массива, используемого, чтобы создать библиотеку типов.
Обратите внимание:
При определении массива, Вы должны использовать скобки ([]). DEFINE CLASS не распознает круглые скобки (()).

Для параметров, первое AS Type предложение определяет тип данных параметра. Для массивов, первое AS Type предложение определяет тип, который должен быть допустимым COM типом данных. Для подробной информации, см. таблицу в разделе Замечаний. Типом может также быть ссылка на COM CoClass ProgID типа ADODB.RecordSet. Вы можете определить ProgIDs с или без кавычек (" "). Если Вы используете допустимое COM CoClass ProgID для AS Type предложение, Visual FoxPro включает его в библиотеку типов. Например, следующий метод:
Скопировать код
PROCEDURE Test(oRS AS ADODB.Recordset @) AS ADODB.Recordset
Создает вхождение в библиотеке типов:
Скопировать код
Recordset Test([in, out] Recordset** oRS);
Обратите внимание:
Для массивов, Вы не можете определить ссылку на ProgID, который сгенерирован из библиотеки типов. Например, Вы не можете ссылаться на класс, который содержится в том же самом COM сервере.

Если Вы определяете массив с типом для первого AS Type предложениф, Visual FoxPro создает SAFEARRAY с указанным типом. Если Вы определяете массив без типа для первого AS Type предложениф, Visual FoxPro создает SAFEARRAY с типом данных Variant . Если Вы определяете недопустимый тип, Visual FoxPro по умолчанию использует тип Variant . Для подробной информации о безопасных массивах, см. раздел Замечаний. Символ ( @ ) определяет, что параметры или массивы передаются в функцию или процедуру по ссылке.
Обратите внимание:
По умолчанию, данные передаются в параметры определяемых пользователем процедурах по ссылке, а в определяемых пользователем функциях - по значению. Чтобы передавать массив целиком, Вы должны передать его по ссылке. Для подробной информации, см. Передача Данных в Параметрах .

Обратите внимание:
Вы можете использовать первое AS предложение для строгого контроля типов, использования возможностей IntelliSense, и для сохранения информации определения класса в библиотеке типов (OLEPUBLIC). Однако, Visual FoxPro не осуществляет контроль соответствия типов при трансляции или выполнении кода, так что Вы должны удостовериться в том, что Вы используете допустимые типы данных. Для массивов, строгий контроль типов используется прежде всего для создания библиотеки типов и не осуществляется в run time. Используя предложение cArrayName [] [AS Type ] [] , Вы можете определить строгий контроль типов для массивов, так что они могут быть правильно написаны как безопасные массивы в библиотеке типов. Строгое типизация также рекомендуется для использованиясовместно с методами интерфейса, указанными предложением IMPLEMENTS . Для подробной информации, см. Как: Обеспечить Строгий контроль типов для кода Класса, Объекта, и Переменных .

Второе предложение AS Type указывает тип возвращаемого значения функции.
Обратите внимание:
Вы не можете определить массивы как типы для возвращения. Например, в то время как следующий код является допустимым, он возвращает библиотечный тип как VARIANT и не SAFEARRAY:

Скопировать код
PROCEDURE GetWidgets() AS aWidgets[]
ENDPROC
Совет:
Если метод не возвращает значение, используйте AS VOID как возвращаемое значение. Это требуется для некоторых технологий типа Microsoft COM+, Services Queued Components.

Если Вы хотите чтобы параметры и их типы появились в библиотеке типов, Вы должны использовать встроенный синтаксис задания параметра вместо команды LPARAMETERS , чтобы объявить параметры, например:
Скопировать код
FUNCTION myMeth(parm1 AS Integer @, parm2 AS String) AS Integer
ENDFUNC
[HELPSTRING cHelpString ]

Определяет строку, чтобы добавить её к библиотеке типов как описание функциональных возможности метода для отображения в объектном браузере или IntelliSense.
THIS_ACCESS( cMemberName )

Определяет, чтобы создать процедуру или функцию THIS_ACCESS , которая выполниться, когда запрашивается или изменяется значение члена объекта. Для подробной информации, см. Access and Assign Methods и How to: Создать Методы Access and Assign .
[NODEFAULT]

Препятствует Visual FoxPro выполнять заданное по умолчанию событие или код метода для событий Visual FoxPro и методов. Для подробной информации, см. NODEFAULT Команда .
cStatements

Определяет код для выполнения при вызове функции или процедуры для события или метода класса.
Совет:
Вы можете определить, что функции и процедуры событий и методов могут принимать значения включением инструкции PARAMETERS или LPARAMETERS в качестве первой выполнимой строк функции или процедуры. Для подробной информации, см. PARAMETERS Команда и LPARAMETERS Команда .

[ENDFUNC | ENDPROC]]

Указывает конец определения функции или процедуры. В отличие от большинства ключевых слов Visual FoxPro, Вы не можете сокращать ENDFUNC и ENDPROC потому что они может конфликтовать с ключевыми словами ENDFOR и ENDPRINTJOB .

Замечания

Следующий код показывает резюме основных предложений команды DEFINE CLASS :

Скопировать код
DEFINE CLASS Clause
   [Property_Definition_Clause]
   [PEMName_COMATTRIB Clause]
   [ADD OBJECT Clause]
   [IMPLEMENTS Clause]
   [Function_Procedure_Definition_Clause]
ENDDEFINE

Для подробной информации и полного синтаксиса, см. DEFINE CLASS Команда . Для подробной информации о специфическом предложении DEFINE CLASS команда, см. следующие темы:

  • DEFINE CLASS Предложение

  • Предложение Определения Свойства

  • PEMName_COMATTRIB Предложение

  • ADD OBJECT Предложение

  • IMPLEMENTS Предложение

Примеры

Пример 1

Следующий пример создает класс по имени MyForm от базового класса Form и содержит процедуру для события Click . Форма, созданная от класса содержит метод Click , который выводит диалоговое окно, когда Вы щелкаете на форме.

Скопировать код
DEFINE CLASS MyForm AS Form
   PROCEDURE Click
      = MESSAGEBOX('MyForm has been clicked!')
   ENDPROC
ENDDEFINE

Пример 2

Следующий пример показывает, как Вы можете задать строгий контроль типов используя PROCEDURE cArrayName [] [AS Type ][@][AS Type ] предложение так, чтобы массивы могли быть правильно описаны как безопасные массивы к библиотеке типов:

Скопировать код
DEFINE CLASS mySession AS Session OLEPUBLIC
    PROCEDURE GetWidgets1(aWidgets[])
    ENDPROC
    PROCEDURE GetWidgets2(aWidgets[] AS Integer)
    ENDPROC
    PROCEDURE GetWidgets3(aWidgets[] AS Integer @)
    ENDPROC
    PROCEDURE GetRS(oRS[] AS ADODB.Recordset @)
    ENDPROC
ENDDEFINE

Как в других примерах, следующий код демонстрирует, как Вы можете определить строгую типизацию сложных выражений, определяя тип, основанный на COM классе:

Скопировать код
DEFINE CLASS mySession AS Session OLEPUBLIC
   REFERENCE "ADODB.Recordset"
   PROCEDURE GetRS() AS ADODB.Recordset
      x=CREATEOBJECT("ADODB.Recordset")
      RETURN X
   ENDPROC
   PROCEDURE SetRS(oRS AS ADODB.Recordset @)
      oRS=CREATEOBJECT("ADODB.Recordset")
   ENDPROC
ENDDEFINE

См. Также

Другие Ресурсы

:: Scope Resolution Operator
ADD CLASS Команда
CREATE CLASS Команда
CREATE CLASSLIB Команда
DODEFAULT( ) Функция
EVENTHANDLER( ) Функция
GETOBJECT( ) Функция
MODIFY CLASS Команда
RELEASE CLASSLIB Команда
Команды

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEFINE MENU Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DEFINE MENU
Смотрите также Пример
CollapseAll image

Создает строку меню.

DEFINE MENU MenuBarName [BAR [AT LINE nRow]]
   [IN [WINDOW] WindowName | IN SCREEN]
      [FONT cFontName [, nFontSize [, nFontCharSet]]]
   [STYLE cFontStyle] [KEY KeyLabel] [MARK cMarkCharacter]
   [MESSAGE cMessageText] [NOMARGIN]
   [COLOR SCHEME nSchemeNumber | COLOR ColorPairList]

Параметры

MenuBarName

Задает имя создаваемой строки меню. По этому имени можно ссылаться на данную строку меню в других командах и функциях.

BAR [AT LINE nRow]

Создает строку меню, которая действует аналогично системной строке меню Visual FoxPro. Эта строка меню обладает следующими характеристиками:

  • Строка меню высотой в одну строку располагается по горизонтали вдоль основного окна Visual FoxPro или пользовательского окна, в котором она находится.

  • Размещение заголовков меню в строке меню контролируется автоматически.

  • Если общий размер заданных заголовков меню превышает размер экрана или окна, в котором расположена строка меню, строка меню отображается в режиме прокрутки.

Номер строки задается аргументом nRow.

IN [WINDOW] WindowName

Помещает строку меню в пользовательское окно. Задайте имя окна, в котором вы намерены разместить строку меню, в качестве WindowName. Если вы опуститепредложение IN WINDOW, строка меню по умолчанию размещается в основном окне Visual FoxPro, если нет активных пользовательских окон. Если активное пользовательское окно существует, строка меню размещается в этом окне. Этот пункт поддерживается только в формах верхнего, уровня которые могут быть установлены свойством ShowWindow=2 или Desktop=.T.

IN SCREEN

Принудительно помещает строку меню в основное окно Visual FoxPro.

FONT cFontName[, nFontSize [, nFontCharSet]]

Задает шрифт, используемый по умолчанию во всех заголовках меню, содержащихся в строке меню. Вы можете отменить принимаемый по умолчанию шрифт для отдельного заголовка меню, воспользовавшись командой DEFINE PAD с предложением FONT.

cFontName задает имя шрифта, а nFontSize - его размер в пунктах. Вы можете определить языковой скрипт с nFontCharSet. Смотрите Функция GETFONT( ) для получения списка доступных языковых значений скрипта.

Например, следующая команда создает строку меню с заголовками меню, изображенными 12-пунктовым шрифтом Courier:

CopyCode image Copy Code
DEFINE MENU mnuExample FONT 'Courier', 12

Если в Visual FoxPro заданный вами шрифт отсутствует, его заменяет шрифт с похожими характеристиками. Если вы задали предложение FONT, опустив размер шрифта nFontSize, используется размер 10 пунктов.

Предложение FONT игнорируется для заголовков меню, добавленных в системное меню Visual FoxPro _MSYSMENU. Заметьте, что это системное меню Visual FoxPro используется в конструкторе меню.

STYLE cFontStyle

Задает стиль шрифта, используемый по умолчанию для всех заголовков меню в строке меню. Вы можете отменить принимаемый по умолчанию стиль для отдельных заголовков меню, воспользовавшись командой DEFINE PAD с предложением STYLE.

Если предложение STYLE опущено, используется стиль Normal (нормальный). Если в Visual FoxPro заданный стиль шрифта отсутствует, его заменяет стиль с похожими характеристиками.

В качестве cFontStyle можно задавать следующие стили шрифтов:

Символ Стиль шрифта

B

Bold (Полужирный)

I

Italic (Курсив)

N

Normal (Нормальный)

Q

Opaque (Непрозрачный)

-

Strikeout (Перечеркнутый)

T

Transparent (Прозрачный)

U

Underline (Подчеркнутый)

Можно задать комбинацию стилей, указав сразу несколько символов. Например, следующая команда задает полужирный курсив (Bold Italic):

CopyCode image Copy Code
DEFINE MENU mnuExample STYLE 'BI'

Предложение STYLE игнорируется для заголовков меню, добавленных в системное меню Visual FoxPro _MSYSMENU. Заметьте, что это системное меню Visual FoxPro используется в конструкторе меню.

KEY KeyLabel

Задает клавишу доступа или комбинацию клавиш, используемую для активизации строки меню. Список доступных клавиш и комбинаций клавиш вместе с их названиями приведен в теме ON KEY LABEL Command.

Включение предложения KEY эквивалентно выдаче следующей команды:

CopyCode image Copy Code
ON KEY LABEL KeyLabel ACTIVATE MENU MenuName
Note Note

Если для заданного названия клавиши уже определена макрокоманда клавиатуры, она имеет приоритет и вы не сможете выбрать строку меню с помощью указанной клавиши или комбинации клавиш.

MARK cMarkCharacter

Задает символ маркировки, который ставится слева от заголовка меню в строке меню. Предложение MARK позволяет заменять принятый по умолчанию символ маркировки на символ, определенный аргументом cMarkCharacter. Если cMarkCharacter содержит более одного символа, в качестве символа маркировки используется только первый из них.

В качестве символа маркировки по умолчанию используется галочка. Когда в Visual FoxPro строка меню представляет собой системную строку меню редложение MARK игнорируется и используется символ маркировки, принимаемый по умолчанию. Кроме того, предложение MARK игнорируется, если шрифт основного окна Visual FoxPro или пользовательского окна, в котором размещается строка меню, отличен от FoxFont.

Note Note

Задавая символ маркировки, вы не помечаете имена меню в строке меню; используйте для этого команду SET MARK OF.

Символы маркировки, заданные в команде DEFINE PAD, имеют более высокий приоритет, чем символы маркировки, заданные в предложении MARK команды DEFINE MENU. Команда SET MARK OF используется как переключатель, отображающий или убирающий символы маркировки, и позволяет задать символ маркировки для отдельного элемента меню или для всех элементов меню.

MESSAGE cMessageText

Выдает сообщение при выделении заголовка меню. Сообщение выводится в графической строке состояния. Если отображение строки состояния отключено по команде SET STATUS BAR OFF, сообщение располагается в центре последней строки основного окна Visual FoxPro.

NOMARGIN

Удаляет пробелы, которые по умолчанию ставятся слева и справа от каждого имени меню.

COLOR SCHEME nSchemeNumber

Задает цвета для отдельной строки меню.

COLOR ColorPairList

Задает цвета для отдельной строки меню. По умолчанию цвета элементов меню определяются цветовой схемой 2 текущего цветового набора.

Expand image Замечания

Используйте команду DEFINE MENU для создания строки меню в системе меню приложения. Чтобы создать отдельные заголовки меню (элементы строки меню), пользуйтесь командой DEFINE PAD. Чтобы определить, какие меню следует отображать под каждым из заголовков, воспользуйтесь командой ON PAD ... ACTIVATE. Чтобы создать меню для каждого заголовка, пользуйтесь командой DEFINE POPUP. Чтобы активизировать всю систему меню, пользуйтесь командой ACTIVATE MENU.

Если вы для создания меню используете Дизайнер меню и Shortcut меню, вы можете вообще обойтись без этих команд. Конструктор меню автоматически генерирует команды, описывающие меню. В конструкторе меню используется системное меню Visual FoxPro, которое вы можете модифицировать, добавляя свои элементы.

Подробнее о создании меню смотрите Создание системы меню.

Expand image Пример

В следующем примере команда DEFINE MENU используется для создания пользовательской системы меню. Сначала текущая системная строка меню сохраняется в памяти с помощью команды SET SYSMENU SAVE, а затем заголовки системных меню удаляются командой SET SYSMENU TO.

DEFINE MENU создает строку меню, а команда DEFINE PAD создает два заголовка меню. Команда DEFINE POPUP создает меню для каждого из этих заголовков меню. DEFINE BAR создает элементы в каждом меню. Когда выбирается заголовок меню, команда ON PAD с помощью ACTIVATE POPUP активизирует соответствующее меню. ACTIVATE MENU отображает и активизирует строку меню.

Когда выбирается элемент в меню, выполняется процедура CHOICE. Она отображает имя выбранного элемента и имя содержащего его меню.
CopyCode image Copy Code
*** Name this program DEFIMENU.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
ON KEY LABEL ESC KEYBOARD CHR(13)
DEFINE MENU example BAR AT LINE 1
DEFINE PAD convpad OF example PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD cardpad OF example PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
ON PAD convpad OF example ACTIVATE POPUP conversion
ON PAD cardpad OF example ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' ;
   KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
   KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
   KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
   KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
   KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
   KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
   KEY CTRL+M, '^M'
ON SELECTION POPUP conversion DO choice IN defimenu WITH PROMPT( ), POPUP( )
DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
   KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
   KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ;
   KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges '
ON SELECTION POPUP cardinfo;
   DO choice IN defimenu WITH PROMPT( ), POPUP( )

ACTIVATE MENU example
DEACTIVATE MENU example
RELEASE MENU example EXTENDED
SET SYSMENU TO DEFAULT
ON KEY LABEL ESC
PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ;
    ' from popup ' + mpopup NOWAIT

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE MENU
Функция CNTPAD( )
Команда CREATE MENU
Команда DEACTIVATE MENU
Команда DEFINE PAD
Функция GETPAD( )
Команда HIDE MENU
Функция MRKPAD( )
Команда ON PAD
Команда ON SELECTION PAD
Функция PRMPAD( )
Команда RELEASE MENUS
Команда RELEASE PAD
Команда SET MARK OF
Команда SET SYSMENU
Команда SHOW MENU

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DEFINE PAD Command

Visual FoxPro 9.0 Language Reference
Команда DEFINE PAD
См.также Пример

Создает заголовок меню в пользовательской строке меню или в системной строке меню Visual FoxPro.

DEFINE PAD MenuTitle1 OF MenuBarName PROMPT cMenuTitleText
   [AT nRow, nColumn] [BEFORE MenuName2 | AFTER MenuName3]
   [NEGOTIATE cContainerPosition [, cObjectPosition]]
   [FONT cFontName [, nFontSize [, nFontCharSet]]] [STYLE cFontStyle]
   [KEY KeyLabel [, cKeyText]] [MARK cMarkCharacter]
   [SKIP [FOR lExpression]] [MESSAGE cMessageText]
   [COLOR SCHEME nSchemeNumber | COLOR ColorPairList]

Параметры

MenuTitle1

Задает создаваемый заголовок меню. По этому имени вы сможете ссылаться на данный заголовок меню в других командах и функциях.
OF MenuBarName

Задает имя строки меню, в которой размещается заголовок меню.
PROMPT cMenuTitleText

Задает текст заголовка меню. Вы можете создать для заголовка меню клавишу доступа, поставив перед нужным символом обратную косую черту со знаком "меньше" (\<). В следующем примере пользователь, нажав клавишу I, сможет выбрать команду Invoices из меню Receive, а нажатием клавиши Q он выберет команду Inquiry из того же меню:
Копировать код
DEFINE MENU mnuReceive
DEFINE PAD padInvoice OF mnureceive PROMPT "\<Invoices"
DEFINE PAD padInquire OF mnureceive PROMPT "In\<quiry"
ACTIVATE MENU mnuReceive
AT nRow, nColumn

Указывает, в каком месте строки меню должен стоять заголовок меню. nRow, nColumn представляют собой координаты левой стороны заголовка меню в основном окне Visual FoxPro или в пользовательском окне. Если опустить предложение AT, левая сторона первого заголовка меню будет находиться в строке 0 основного окна Visual FoxPro или пользовательского окна. Следующий заголовок меню будет вставлен справа от первого имени в строке 0 и т.д.
Замечание:
Предложение AT нельзя использовать для задания местоположения заголовков меню в строках меню, созданных с помощью предложения BAR по команде DEFINE MENU.

BEFORE MenuName2

Вставляет заголовок меню в строку меню слева от заголовка меню, заданного именем MenuName2. Порядок доступа к заголовкам меню с клавиатуры определяется их расположением в строке меню.
AFTER MenuName3

Вставляет заголовок меню в строку меню справа от заголовка меню, заданного именем MenuName3. Порядок доступа к заголовкам меню с клавиатуры определяется их расположением в строке меню. Предварительно нужно создать заголовок меню, указываемый в предложении BEFORE или AFTER. Если этого не сделать, местоположение данного заголовка меню в строке меню будет определяться временем его создания или позицией, заданной в предложении AT. Для строк меню, созданных без определения порядока следования BEFORE или AFTER к заголовкам меню обращаются с клавиатуры. Местоположение заголовка меню определено местоположением, указанным в предложением AT. Выполните два следующих примера программ и обратите внимание на различия в размещении заголовков меню и в порядке доступа к ним, в зависимости от использования предложения AT при определении этих заголовков меню:
Копировать код
*** Program Example 1 without ATs ***
DEFINE MENU mnuBefAft
DEFINE PAD padOne OF mnuBefAft PROMPT '1111'
DEFINE PAD padTwo OF mnuBefAft PROMPT '2222'
DEFINE PAD padThree OF mnuBefAft PROMPT '3333'
DEFINE PAD padFour  OF mnuBefAft PROMPT '4444' BEFORE padTwo
ACTIVATE MENU mnuBefAft

*** Program Example 2 with ATs ***
DEFINE MENU mnuBefAft
DEFINE PAD padOne OF mnuBefAft PROMPT '1111' AT 1,5
DEFINE PAD padTwo OF mnuBefAft PROMPT '2222' AT 1,15
DEFINE PAD padThree OF mnuBefAft PROMPT '3333' AT 1,25
DEFINE PAD padFour  OF mnuBefAft PROMPT '4444' BEFORE padTwo AT 1,35
WAIT WINDOW 'Press ESC to erase menu' NOWAIT
ACTIVATE MENU mnuBefAft
NEGOTIATE cContainerPosition[, cObjectPosition]

cContainerPosition Задает положение заголовка меню в строке меню Visual FoxPro, когда осуществляется визуальное редактирование OLE для элемента управления ActiveX, содержавшегося в форме Visual FoxPro. 'Параметры настройки для cContainerPosition are:

Параметр Описание

NONE

заголовок меню не отображать.

LEFT

заголовок меню поместить слева от Группы File.

MIDDLE

заголовок меню поместить слева от Контейнерной Группы, после меню Edit .

RIGHT

заголовок меню поместить слева от Группы Window.
Параметры настройки для cObjectPosition are:

Параметр Описание

NONE

заголовок меню не отображать.

LEFT

заголовок меню поместить слева от Группы File.

MIDDLE

заголовок меню поместить слева от Контейнерной Группы, после меню Edit .

RIGHT

заголовок меню поместить слева от Группы Window.
Если предложение NEGOTIATE опущено, заголовок меню во время визуального редактирования OLE убирается из строки меню. NONE значение по умолчанию для cContainerPosition and cObjectPosition.
FONT cFontName[, nFontSize [, nFontCharSet]]

Задает шрифт для заголовка меню. cFontName задает имя шрифта, а nFontSize его размер в пунктах. Вы можете определить сценарий языка для nFontCharSet. См. Функция GETFONT( ) для списка доступных значений сценария языка. Например, следующая команда создает заголовок меню с помощью 12-пунктового шрифта Courier:
Копировать код
DEFINE PAD padPageAccts OF mnuReceive FONT 'Courier', 12
Если в Visual FoxPro заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками. Если вы задали предложение FONT, опустив размер шрифта nFontSize, используется размер 10 пунктов. Предложение FONT игнорируется для заголовков меню, добавленных в системное меню Visual FoxPro _MSYSMENU. Обратите внимание, что это системное меню Visual FoxPro используется в конструкторе меню.
STYLE cFontStyle

Задает стиль шрифта для заголовка меню. Если предложение STYLE опущено или начертание шрифта, которое Вы определяете, не доступно, используется стиль Normal (нормальный). В качестве cFontStyle можно задавать следующие стили шрифтов:

Символ Стиль шрифта

B

Bold (Полужирный)

I

Italic (Курсив)

N

Normal (Нормальный)

Q

Opaque (Непрозрачный)

-

Strikeout (Перечеркнутый)

T

Transparent (Прозрачный)

U

Underline (Подчеркнутый)
Можно задать комбинацию стилей, указав сразу несколько символов. Например, следующая команда задает полужирный курсив (Bold Italic):
Копировать код
DEFINE PAD padPageAccts OF mnuReceive STYLE 'BI'
Предложение STYLE игнорируется для заголовков меню, добавленных в системное меню Visual FoxPro _MSYSMENU. Заметьте, что это системное меню Visual FoxPro используется в конструкторе меню.
KEY KeyLabel[, cKeyText]

Задает клавишу доступа или комбинацию клавиш для заголовка меню. Список доступных клавиш и комбинаций клавиш вместе с их названиями см. в теме ON KEY LABEL.
Замечание:
Если для заданного названия клавиши уже определена макрокоманда клавиатуры, она имеет приоритет и вы не сможете выбрать заголовок меню с помощью указанной клавиши или комбинации клавиш.

В строках меню, созданных без участия предложения BAR, название клавиши ставится правее заголовка меню. В строках меню, созданных с помощью предложения BAR, и в системной строке меню Visual FoxPro названия клавиш для заголовков меню не отображаются. Задав cKeyText, вы можете заменить название клавиши собственным текстом. Вы можете использовать любой символ в параметре cKeyText Например, если задать KEY ALT+B, то справа от заголовка меню будет стоять текст ALT+B. Если задать KEY ALT+B, "^B", то справа от заголовка меню будет стоять ^B. Чтобы отменить отображение названия клавиши, задайте в качестве cKeyText пустую строку.
MARK cMarkCharacter

Задает символ маркировки, который ставится левее заголовка меню. Предложение MARK позволяет заменять принятый по умолчанию символ маркировки на символ, определенный аргументом cMarkCharacter. Если cMarkCharacter содержит более одного символа, в качестве символа маркировки используется только первый из них. В качестве символа маркировки в FoxPro для MS-DOS по умолчанию используется ромб, а в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh галочка. Когда в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh строка меню, содержащая данный заголовок меню, представляет собой системную строку меню Visual FoxPro, предложение MARK игнорируется и используется символ маркировки, принимаемый по умолчанию. Кроме того, предложение MARK игнорируется, если шрифт основного окна Visual FoxPro или пользовательского окна, в котором размещается строка меню с данным заголовком меню, отличен от FoxFont. Символы маркировки, заданные в команде DEFINE PAD, имеют более высокий приоритет по сравнению с символами маркировки, заданными в предложении MARK команды DEFINE MENU. Команда SET MARK OF используется как переключатель, отображающий или убирающий символы маркировки, и позволяет задать символ маркировки для отдельного заголовка меню или для всех заголовков меню.
Замечание
Задавая символ маркировки, вы не помечаете заголовок меню; для этого следует пользоваться командой SET MARK OF.

SKIP [FOR lExpression]

Задает условие доступности заголовка меню: если выражение lExpression имеет значение "истина" (.T.), заголовок меню недоступен, и пользователь не может выбирать его, а если выражение имеет значение "ложь" (.F.), элемент меню доступен. Вы также можете сделать элемент меню недоступным, поставив перед текстом заголовка меню обратную косую черту (\). Например:
Копировать код
DEFINE PAD padPageAccts OF mnuReceive PROMPT '\Age Accounts'
Заголовок меню padPageAccts будет изображен в тусклых тонах, указывающих на то, что пользоватейь не может его выбрать. Недоступный заголовок меню можно отобразить, но нельзя выделить. Впрочем, соответствующее ему сообщение, определенное предложением MESSAGE, появится на экране.
MESSAGE cMessageText

Выдает сообщение при выделении заголовка меню. Сообщение выводится в графической строке состояния. Если отображение строки состояния отключено по команде SET STATUS BAR OFF, сообщение располагается в центре последней строки основного окна Visual FoxPro.
COLOR SCHEME nSchemeNumber

Задает цвета для отдельного заголовка меню, отменяя цвета, принятые по умолчанию или заданные командой DEFINE MENU.
COLOR ColorPairList

Задает цвета для отдельного заголовка меню, отменяя цвета, принятые по умолчанию или заданные с помощью команды DEFINE MENU. По умолчанию цвета заголовков меню в строках меню определяются цветовой схемой 2 текущего цветового набора.

Комментарии

Каждый заголовок меню, вставляемый в строку меню, должен быть создан с помощью отдельной команды DEFINE PAD. Строка меню должна быть определена с помощью команды DEFINE MENU до того, как вы начнете помещать в нее заголовки меню, и имя этой строки меню следует указать в команде DEFINE PAD.

Если вы для создания меню используете конструктор меню, вы можете вообще обойтись без этих команд. Конструктор меню автоматически генерирует команды, описывающие меню. В конструкторе меню используется системное меню Visual FoxPro, которое вы можете модифицировать, добавляя свои элементы. Подробнее о работе в конструкторе меню см. тему Создание системы меню и главу 12 "Конструирование меню" Руководства разработчика..

Пример

В следующем примере команда DEFINE PAD используется для размещения заголовков меню в системной строке меню Visual FoxPro. Сначала текущая системная строка меню сохраняется в памяти с помощью команды SET SYSMENU SAVE, а затем все системные заголовки меню удаляются командой SET SYSMENU TO.

С помощью команды DEFINE PAD создаются заголовки системных меню. Когда выбирается заголовок меню, выполняется процедура CHOICE. Она отображает имя выбранного заголовка меню и имя строки меню, а также устанавливает или сбрасывает символ маркировки для заголовков меню. Если выбрать заголовок меню Exit, восстанавливается первоначальная система меню Visual FoxPro.
Копировать код
*** Name this program DEFINPAD.PRG ***
CLEAR
SET TALK OFF
SET SYSMENU SAVE
SET SYSMENU TO
PUBLIC markpad
markpad = .T.
DEFINE PAD syspad  OF _MSYSMENU PROMPT '\<System'  COLOR SCHEME 3 ;
   KEY ALT+S, ''
DEFINE PAD editpad OF _MSYSMENU PROMPT '\<Edit'  COLOR SCHEME 3 ;
   KEY ALT+E, ''
DEFINE PAD recordpad OF _MSYSMENU PROMPT '\<Record'  COLOR SCHEME 3 KEY ALT+R, ''
DEFINE PAD windowpad OF _MSYSMENU PROMPT '\<Window'  COLOR SCHEME 3 ;
   KEY ALT+W, ''
DEFINE PAD reportpad OF _MSYSMENU PROMPT 'Re\<ports' COLOR SCHEME 3 ;
   KEY ALT+P, ''
DEFINE PAD exitpad OF _MSYSMENU PROMPT 'E\<xit'  COLOR SCHEME 3 ;
   KEY ALT+X, ''
ON SELECTION MENU _MSYSMENU ;
   DO choice IN definpad WITH PAD( ), MENU( )
PROCEDURE choice
PARAMETER mpad, mmenu
WAIT WINDOW 'You chose ' + mpad + ;
   ' from menu ' + mmenu NOWAIT
SET MARK OF PAD (mpad) OF _MSYSMENU TO ;
   ! MRKPAD('_MSYSMENU', mpad)
markpad = ! markpad
IF mpad = 'EXITPAD'
   SET SYSMENU TO DEFAULT
ENDIF

См.также

Другие ресурсы

Команда ACTIVATE MENU
Команда CREATE MENU
Команда DEACTIVATE MENU
Команда DEFINE MENU
Функция GETPAD( )
Команда HIDE MENU
Функция MRKPAD( )
Команда ON PAD
Команда ON SELECTION PAD
Функция PRMPAD( )
Команда RELEASE PAD
Команда SET MARK OF
Команда SET MESSAGE
Команда SET SYSMENU
Команда SHOW MENU
Команды
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


DEFINE POPUP Command

Visual FoxPro 9.0 Справочник Языка
DEFINE POPUP Команда
См. Также Пример

Создает меню.

DEFINE POPUP MenuName [FROM nRow1, nColumn1] [TO nRow2, nColumn2]
   [IN [WINDOW] WindowName | IN SCREEN]
      [FONT cFontName [, nFontSize] [, nFontCharSet]] [STYLE cFontStyle]
     [FOOTER cFooterText] [KEY KeyLabel] [MARGIN]
   [MARK cMarkCharacter] [MESSAGE cMessageText] [MOVER] [MULTISELECT]
   [PROMPT FIELD FieldName | PROMPT FILES [LIKE FileSkeleton]
      | PROMPT STRUCTURE] [RELATIVE] [SCROLL] [SHORTCUT]
   [TITLE cMenuTitleText] [RTLJUSTIFY]
   [COLOR SCHEME nSchemeNumber | COLOR ColorPairList]

Параметры

MenuName

Определяет имя меню для создания.
FROM nRow1 , nColumn1 TO nRow2 , nColumn2

Определяет местоположение меню. nRow1 , nColumn1 определяют координаты для левого верхнего угла меню. Если Вы опускаете предложение FROM, Visual FoxPro размещает левый верхний угол меню в первой строке и первом столбце главного окна Visual FoxPro или пользовательского окна. Чтобы создавать меню с определенным размером, Вы можете также включить TO nRow2 , nColumn2 для задания местоположения нижнего правого угла меню. Если Вы включаете FROM nRow1 , nColumn1 и опускаете TO nRow2 , nColumn2 , Visual FoxPro автоматически устанавливает размеры меню. Меню имеет ширину самого длинного его пункта (если пункты создаются командой DEFINE BAR) и длину, необходимую для отображения всех его пунктов. Длина меню ограничена размером главного окна Visual FoxPro или пользовательского окна, в котором помещено меню. Если меню не имеет достаточных размеров для размещения всех пунктов, то появляется полоса прокрутки так, чтобы Вы смогли просматривать пункты меню.
IN [WINDOW] WindowName

Размещает меню в определяемое пользователем окно, которое Вы задаете опцией WindowName . Если Вы опускаете это предложение, меню помещается в главное окно Visual FoxPro по умолчанию, если нет активного пользовательского окна. Если есть активное пользовательское окно, то меню помещается в активное окно.
IN SCREEN

Явно помещает меню в главное окно Visual FoxPro.
FONT cFontName [, nFontSize [, nFontCharSet ]]

Определяет заданный по умолчанию шрифт для меню. Вы можете отменить заданный по умолчанию шрифт для индивидуального пункта меню включением предложения FONT в команде DEFINE BAR. cFontName определяет имя шрифта, и nFontSize определяет размер шрифта. Вы можете определить начертание языка через nFontCharSet . См. GETFONT () Функциядля получения списка доступных значений начертания языка. Например, следующая команда создает меню со шрифтом Courier 12 пунктов:
Скопировать код
DEFINE POPUP popMyPopup FONT 'Courier', 12
Если шрифт, который Вы определяете, не доступен, то он заменяется шрифтом с подобными характеристиками. Если Вы включаете предложение FONT, но опускаете размер пункта nFontSize , то используется шрифт в 10 пунктов.
STYLE cFontStyle

Определяет заданный по умолчанию стиль шрифта для меню. Вы можете отменить заданный по умолчанию стиль для индивидуального пункта меню, включением предложения FONT в команде DEFINE BAR. Если Вы опускаете предложение STYLE, или если стиль шрифта, который Вы определяете недоступен, используется шрифт Normal. Стили шрифтов, которые Вы можете определить с помощью cFontStyle перечислены в следующей таблице:

Character Font style

B

Bold

I

Italic

N

Normal

Q

Opaque

-

Strikeout

T

Transparent

U

Underline

Вы можете включить более одного символа, чтобы определить комбинацию стилей шрифта. Например, следующая команда определяет Полужирный курсив:
Скопировать код
DEFINE MENU popMyPopup STYLE 'BI'
FOOTER cFooterText

Создает нижний колонтитул с текстом, указанным cFooterText , центрированным в нижнем бордюре меню.
KEY KeyLabel

Определяет клавишу доступа или комбинацию клавиш для меню. Для списка доступных клавиш и комбинаций и их наименований, см. ON KEY LABEL . Включение KEY эквивалентно применению следующей команды:
Скопировать код
ON KEY LABEL KeyLabel ACTIVATE POPUP MenuName
Обратите внимание:
Если тем же самым наименованием клавиш уже определен клавиатурный макрос, то клавиатурный макрос имеет приоритет, и меню не может быть активизировано указанной клавишей или комбинацией.

MARGIN

Вставляет дополнительный пробел слева и справа от каждого пункта меню. Символы метки отображаются слева от пункта, а стрелки, указывающие, что доступны дополнительные каскадные подменю, отображаются справа от пунктов меню. Если Вы опускаете MARGIN, символы метки вставляются вместо первого символа в имени пункта меню; стрелки иерархии вставляются вместо последнего символа пунктов меню.
Обратите внимание:
Вы должны включить это предложение, если Вы хотите использовать в DEFINE BAR ... предложения PICTURE ИЛИ PICTRES.

MARK cMarkCharacter

Определяет символ, который появляется слева от пункта меню. Заданный по умолчанию символ метки - галочка. Предложение MARK игнорируется, и заданный по умолчанию символ метки используется, если меню интегрировано в системное меню Visual FoxPro. Также, предложение MARK игнорируется, если FoxFont - не является шрифтом главного окна FoxPro или пользовательского окна, в котором находится меню. MARK может быть включено, чтобы изменить заданный по умолчанию символ метки на символ, указанный cMarkCharacter . Если cMarkCharacter включает более одного символа, то используется только первый символ как символ метки.
Обратите внимание:
Определение символа метки не отмечает пункт меню. Используйте SET MARK OF, чтобы отметить пункт меню.

Предложение MARK устанавливает символ метки для всех пунктов меню. Символы метки, указанные командой DEFINE BAR имеют приоритет над символам метки, указанными предложением MARK в команде DEFINE POPUP. SET MARK OF используется, чтобы переключать символы метки в положения включено-выключено и может также использоваться, чтобы определить символ метки для индивидуального пункта или для всех пунктов меню.
MESSAGE cMessageText

Выводит сообщение, когда Вы выбираете пункт меню. Сообщение помещается в графической статусной строке. Если включена символьная статустная строка с помощью SET STATUS ON, то сообщение центрируется в последней строке главного окна Visual FoxPro.
MOVER

Размещает двунаправленную стрелку
в блоке ползунка слева от выбранного пункта меню. Вы можете перетащить двунаправленную стрелку, чтобы переместить пункт в другую позицию в пределах меню. GETBAR( ) может использоваться, чтобы определить, в какой позиции установлен каждый пункт меню. Вы не можете перестроить пункты меню, созданным предложением PROMPT.
MULTISELECT

Позволяет пользователю выбирать несколько пунктов меню одновременно. Когда пользователь выбирает пункт меню, слева от пункта появляется символ метки. Вы не можете делать множественный выбор из меню, созданного предложением PROMPT. MRKBAR( ) может использоваться, чтобы определить, какие пункты меню выбраны. Если Вы включаете MULTISELECT в DEFINE POPUP, Вы можете включить MARGIN, чтобы резервировать пробел в каждом пункте для символа метки. В следующем примере создается меню popFruits . MULTISELECT включен, чтобы создать меню, которое разрешает множественным выбор пунктов. Каждый из этих четырех пунктов имеет разный символ метки. Когда пользователь выбирает пункты меню, пункты помечаются и процедура yourchoice отображает выбранные пункты.
Скопировать код
CLEAR
ACTIVATE SCREEN
DEFINE POPUP popFruits FROM 5,5 ;
   MULTISELECT MARGIN            && Create multi-choice menu
DEFINE BAR 1 OF popFruits ;
   PROMPT '\<Apples'  MARK CHR(3)    && First item
DEFINE BAR 2 OF popFruits ;
   PROMPT '\<Bananas' MARK CHR(4)    && Second item
DEFINE BAR 3 OF popFruits ;
   PROMPT '\<Grapes'  MARK CHR(5) && Third item
DEFINE BAR 4 OF popFruits ;
   PROMPT '\<Lemons'  MARK CHR(6)    && Fourth item
@ 12,5 SAY 'Your choices:'
ON SELECTION POPUP popFruits DO yourchoice    && Choice routine
ACTIVATE POPUP popFruits
PROCEDURE yourchoice            && Executed when choice is made
@ 13,5 CLEAR
FOR gnCount = 1 TO CNTBAR('popFruits')      && Loop for # of items
   IF MRKBAR('popFruits', gnCount) = .T.      && Option is marked,
      ? PRMBAR('popFruits', gnCount) AT 5      && display caption
   ENDIF
NEXT
PROMPT FIELD FieldName

Определяет имя поля открытой таблицы, записи которой становятся пунктами меню. Меню содержит пункт для каждой записи в таблице. Когда меню активизировано, то текущей, становится рабочая область этой таблицы.
Совет:
Вы можете использовать в своих интересах Оптимизацию Запросов Rushmore при установке фильтра по полю, указанному в PROMPT FIELD. Для подробной информации относительно Rushmore QueryOptimization, см. SET OPTIMIZE и Использование оптимизации Rushmore Query Optimization для ускорения доступа к данным в разделе Оптимизация Приложений .

FieldName может также содержать множественные имена полей и выражения, составленные операцией сложения (+). FieldName может также быть именем поля таблицы, открытой в другой рабочей области или пользовательской функцией. Ограничений количества записей, которые могут появиться в меню, созданном PROMPT FIELD, не существует.
PROMPT FILES [LIKE FileSkeleton ]

Создает меню, которое выводит имена файлов, доступных в текущем каталоге. LIKE FileSkeleton позволяет Вам определять файлы, которые отображены в меню, используя подстановочные знаки. Например, чтобы создать меню, которое выводит имена таблиц в заданном по умолчанию диске и каталоге, примените следующую команду:
Скопировать код
PROMPT FILES LIKE *.DBF
Вы можете создать меню, которое выводит имена файлов на других дисках и в других каталогах или папках, включением описаний диска или тома, каталога, или обоих сразу. Например, чтобы создать меню, которое отображает имена программных файлов в каталоге по имени PROGRAMS на диске C, включите следующую команду:
Скопировать код
PROMPT FILES LIKE C:\PROGRAMS\*.PRG
PROMPT STRUCTURE

Выводит имена полей текущей таблици в меню согласно структуре полей таблицы. Когда меню активизируется, рабочая область таблицы становится текущей.
RELATIVE

Определяет порядок, в котором размещаются пункты меню. Если Вы создаете меню без предложения RELATIVE, пункт меню установливается в порядке, заданным номером строки пункта. Пробел в меню резервируется за пунктом, который не был определен. Например, если первые и третьи пункты определены, и меню активируется, то в меню помещается пустая строка, зарезервированная за вторым пунктом. Если Вы создаете меню с применением RELATIVE, пункты меню появляются в порядке, в котором они были определены. Пробел в меню не резервируется за пунктами, которые не были определены. Определение меню с использвоанием RELATIVE также позволяет Вам использовать предложения BEFORE И AFTER в DEFINE BAR, чтобы позиционировать пункты меню относительно других пунктов. Если меню создано без RELATIVE, применение BEFORE или AFTER в DEFINE BAR генерирует ошибку. Выполните следующие два програмных примера и сравните размещение пунктов каждого меню.
Скопировать код
*** RELATIVE Example  ***
DEFINE POPUP popRelatYes RELATIVE FROM 1,1
DEFINE BAR 4  OF popRelatYes PROMPT '4444'
DEFINE BAR 3  OF popRelatYes PROMPT '3333'
DEFINE BAR 2  OF popRelatYes PROMPT '2222'
DEFINE BAR 1  OF popRelatYes PROMPT '1111'
DEFINE BAR 6  OF popRelatYes PROMPT '6666' BEFORE 4
ACTIVATE POPUP popRelatYes
*** NON-RELATIVE Example ***
DEFINE POPUP popRelatNo FROM 1,1
DEFINE BAR 4  OF popRelatNo PROMPT '4444'
DEFINE BAR 3  OF popRelatNo PROMPT '3333'
DEFINE BAR 2  OF popRelatNo PROMPT '2222'
DEFINE BAR 1  OF popRelatNo PROMPT '1111'
DEFINE BAR 6  OF popRelatNo PROMPT '6666'
ACTIVATE POPUP popRelatNo
SCROLL

Размещает полосу прокрутки справа от меню. Полоса прокрутки отображается в том случае, когда количество пунктов больше чем может уместиться в меню, или если меню слишком длинное, чтобы уместиться в главном окне Visual FoxPro или пользовательском окне, в котором оно размещается.
SHORTCUT

Создает подручное меню. Подручное меню обычно появляется, когда по строке выбора, инструментальной панели, или кнопке панели задач щелкают правой кнопкой мыши. Подручное меню выводит команды, которые имеют отношение к области экрана, в которой произошел щелчок правой кнопки мыши. Вы можете включить MROW( ) и MCOL( ) в предложении FROM, чтобы активизировать всплывающее меню в местоположении щелчка.
TITLE cMenuTitleText

Отображает заголовок в центре верхнего бордюра меню. cTitleText определяет заголовок меню.
RTLJUSTIFY

Определяет, что текст во всплывающем меню выровнен в направлении справа налево. Предложение RTLJUSTIFY предназначено для использования со шрифтами, которые поддерживают двунаправленное выравнивание. примените SET SYSMENU TO LTRJUSTIFY, чтобы возвратить систему меню к значению по умолчанию для выравнивания слева направо. Эта опция доступна только когда Windows конфигурирована для локализации Middle-Eastern.
COLOR SCHEME nSchemeNumber

Определяет цвета для всех элементов меню. По умолчанию, цвета меню, созданных DEFINE POPUP управляются цветовой схемой 2.
COLOR ColorPairList

Определяет цвета для всех элементов меню.

Замечания

Для размещения набора пунктов меню, которые Вы определяете, используйте последовательность команд DEFINE BAR. Для размещения записей, файлов, или полей в меню, используйте опции PROMPT FIELD, PROMPT FILES, или PROMPT STRUCTURE команды DEFINE POPUP.

Когда меню отображено и активизировано функцией ACTIVATE POPUP, Вы можете выбирать один из пунктов меню. В зависимости от выбранного пункта, может быть выполнена процедура, или может быть отображено и активировано другое меню. Меню, которое выводит другое меню при выборе пункта, называется каскадным подменю. Для подробной информации относительно создания подменю, см. ON BAR .

Если Вы используете Menu Designerчтобы создавать ваше меню, Вам, вероятно, не придется использовать эти команды вообще. Дизайнер Меню автоматически создает команды для вашего меню. Дизайнер Меню использует системное меню Visual FoxPro, которое Вы можете изменить, добавляя ваши собственные пункты меню.

Для подробной информации относительно создания меню, см. Создание Системы Меню .

Пример

Следующий пример использует DEFINE POPUP, чтобы создать меню, которые активируются при выборе заголовка меню в строке меню. Текущая полоса системного меню сначала сохраняется в памяти командой SET SYSMENU SAVE и затем все заголовки системного меню удаляются командой SET SYSMENU TO.

Создаются два новых заголовка системного меню командой DEFINE PAD, а DEFINE POPUP создает выпадающее меню для каждого заголовка меню. DEFINE BAR создает пункты каждого меню. Когда заголовок меню выбран, ON PAD использует команду ACTIVATE POPUP, чтобы активизировать соответствующее меню.

Когда пункт менюв выбран, ON SELECTION POPUP использует PROMPT( ) и POPUP( ), чтобы передать номер пункта и имя меню в процедуру CHOICE. CHOICE отображает текст выбранного пункта и имя меню, содержащее этот пункт. Если пункт Exit выбран из меню Card Info, то первоначальное системное меню Visual FoxPro восстановливается.

Скопировать код
*** Name this program DEFINPOP.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD convpad OF _MSYSMENU PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD cardpad OF _MSYSMENU PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
ON PAD convpad OF _MSYSMENU ACTIVATE POPUP conversion
ON PAD cardpad OF _MSYSMENU ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
   KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
   KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
   KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
   KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
   KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
   KEY CTRL+M, '^M'
ON SELECTION POPUP conversion;
   DO choice IN definpop WITH PROMPT( ), POPUP( )
DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
   KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
   KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ;
   KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges '
DEFINE BAR 6 OF cardinfo PROMPT '\-'
DEFINE BAR 7 OF cardinfo PROMPT 'E\<xit '
ON SELECTION POPUP cardinfo;
   DO choice IN definpop WITH PROMPT( ), POPUP( )
PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ;
   ' from popup ' + mpopup NOWAIT
IF mprompt = 'Exit'
   SET SYSMENU TO DEFAULT
ENDIF

См. Также

Другие Ресурсы

ACTIVATE POPUP Команда
CNTBAR( ) Функция
CREATE MENU Команда
DEFINE BAR Команда
GETBAR( ) Функция
HIDE POPUP Команда
MOVE POPUP Команда
MRKBAR( ) Функция
ON SELECTION BAR Команда
POPUP( ) Функция
PRMBAR( ) Функция
PROMPT( ) Функция
RELEASE POPUPS Команда
SET MARK OF Команда
SET MESSAGE Команда
SIZE POPUP Команда
SHOW POPUP Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEFINE WINDOW Command

Visual FoxPro 9.0 Справочник по языку
Команда DEFINE WINDOW
См. также Пример

Создает окно и определяет его атрибуты.

DEFINE WINDOW WindowName1 FROM nRow1, nColumn1 TO nRow2, nColumn2
 | AT nRow3, nColumn3 SIZE nRow4, nColumn4
 [IN [WINDOW] WindowName2 | IN SCREEN | IN DESKTOP [NAME ObjectName]
 [FONT cFontName [, nFontSize [, nFontCharSet]]] [STYLE cFontStyle]
 [FOOTER cFooterText] [TITLE cTitleText] [HALFHEIGHT]
 [DOUBLE | PANEL | NONE | SYSTEM | cBorderString]
 [CLOSE | NOCLOSE] [FLOAT | NOFLOAT] [GROW | NOGROW] [MDI | NOMDI]
 [MINIMIZE | NOMINIMIZE] [ZOOM | NOZOOM] [ICON FILE FileName1]
 [FILL cFillCharacter | FILL FILE FileName2]
 [COLOR SCHEME nSchemeNumber | COLOR ColorPairList]]

Параметры

WindowName1

Задает имя окна, которое предстоит создать. Имена окон могут содержать до 254 символов в Visual FoxPro. Они должны начинаться с буквы или символа подчеркивания, но не с цифры, и могут включать любую комбинацию букв, цифр и символов подчеркивания.
FROM nRow1, nColumn1TO nRow2, nColumn2

Задает позицию и размер пользовательского окна в основном окне Visual FoxPro. FROM nRow1, nColumn1 задает позицию левого верхнего угла пользовательского окна в основном окне Visual FoxPro. TO nRow2, nColumn2 задает позицию правого нижнего угла пользовательского окна в основном окне Visual FoxPro.
У окна можно определить координаты, лежащие вне границ основного окна Visual FoxPro; в этом случае пользовательское окно будет больше основного окна Visual FoxPro. Позиция окна и его размер определяется шрифтом родительского окна. Родительское окно может быть другим пользовательским окном или основным окном Visual FoxPro.
AT nRow3, nColumn3SIZE nRow4, nColumn4

Задает позицию и размер пользовательского окна. Предложение AT nRow3, nColumn3 задает позицию левого верхнего угла пользовательского окна в основном окне Visual FoxPro. Эта позиция определяется текущим шрифтом родительского окна. Поскольку предложение AT идентично предложению FROM во всех отношениях, они полностью взаимозаменяемы. Предложение SIZE nRow4, nColumn4 задает размер пользовательского окна в строках и столбцах и обеспечивает размещение в нем текста, отображаемого определенным шрифтом. Вы можете задать для создаваемого окна шрифт и стиль шрифта, пользуясь предложениями FONT и STYLE. Если вы задали шрифт для окна и включили предложение SIZE, размер окна будет определяться высотой и шириной данного шрифта. Если вы не задали шрифт для окна, то используется системный шрифт, принимаемый по умолчанию: 10-пунктовый шрифт FoxFont.
IN [WINDOW] WindowName2

Помещает пользовательское окно в родительское окно. Пользовательское окно становится дочерним и не может быть сдвинуто за пределы родительского окна. Когда родительское окно перемещается, дочернее окно перемещается вместе с ним. Когда дочернее окно помещается в родительское окно, координаты дочернего окна, заданные предложениями FROM и TO или предложениями AT и SIZE, указываются относительно родительского окна, а не основного окна Visual FoxPro. В следующем примере создается родительское окно wParent и в него помещается дочернее окно wChild.
Copy Code
CLEAR
DEFINE WINDOW wParent ;
 FROM 1, 1 TO 20, 30 ;
 TITLE "Parent" && Parent window.
ACTIVATE WINDOW wParent
DEFINE WINDOW wChild ;
 FROM 1, 1 TO 20, 20 ;
 TITLE "Child" ;
 IN WINDOW wParent && Child window.
ACTIVATE WINDOW wChild
ACTIVATE SCREEN
WAIT WINDOW 'Press a key to clear the windows'
RELEASE WINDOW wParent, wChild
CLEAR
IN SCREEN

Принудительно помещает пользовательское окно в основное окно Visual FoxPro. Если предложение IN SCREEN опущено, пользовательское окно по умолчанию помещается в основное окно Visual FoxPro.
Используя предложение IN WINDOW в команде ACTIVATE WINDOW, вы можете поместить данное окно в другое пользовательское окно и отменить его установку, сделанную в предложении IN SCREEN.
IN DESKTOP

Помещает пользовательское окно на рабочий стол Microsoft Windows, а не в основное окно Visual FoxPro. Позиция пользовательского окна указывается относительно рабочего стола Windows, и в нем используется текущий шрифт основного окна Visual FoxPro.
NAME ObjectName

Создает ссылку на окно как на объект, что позволяет манипулировать им, используя объектно-ориентированные свойства объекта Form. Подробнее об объектно-ориентированном программировании в Visual FoxPro см. главу Объектно-ориентированное программирование. Подробнее о свойствах объекта Form, которые можно задать для окна, созданного с помощью предложения NAME, см. тему Объект Form.
FONT cFontName[, nFontSize [, nFontCharSet]]

Задает шрифт для текста, размещаемого в окне. cFontName задает имя шрифта, а nFontSize его размер в пунктах. Если аргумент nFontSize опущен, используется размер 9 пунктов. nFontCharSet задает скрипт языка (кириллический, западный и др.). Список доступных скриптов языка можно получить с помощью функции GETFONT( ). Например, следующая команда создает окно, которое будет отображать направляемый в него вывод с помощью 16-пунктового шрифта Courier:
Копировать код
DEFINE WINDOW wDisplayFont FROM 2,2 TO 12,22 FONT 'Courier', 16
Если предложение FONT опущено, используется шрифт FoxFont размером в 10 пунктов. Если указанный шрифт недоступен, его заменяет шрифт с похожими характеристиками.
STYLE cFontStyle

Задает стиль шрифта для текста окна. cFontStyle обозначает стиль. Если предложение STYLE опущено или если стиль шрифта не доступен, используется стиль Normal (нормальный). В следующей таблице перечислены стили шрифта и соответствующие им символы.

Символ Стиль шрифта

B

Bold

I

Italic

N

Normal

Q

Opaque

-

Strikeout

T

Transparent

U

Underline
Можно задать комбинацию стилей, указав сразу несколько символов. В Visual FoxPro следующая команда задает полужирный курсив Bold Italic:
Copy Code
DEFINE WINDOW wDisplayStyle FROM 2, 2 TO 12, 22 STYLE 'BI'
FOOTER cFooterText

Включено для обратной совместимости. Игнорируется в версиях Visual FoxPro для Windows.
TITLE cTitleText

Назначает окну заголовок. cTitleText задает текст заголовка и располагается в центре верхней границы окна. Если заголовок оказывается шире окна, он укорачивается.
HALFHEIGHT

Создает окно со строкой заголовка, имеющей высоту вдвое меньше обычной. Это обеспечивает совместимость для окон, созданных в одной из предыдущих версий FoxPro и импортируемых в Visual FoxPro. Когда вы с помощью команды DEFINE WINDOW создаете окно, используется строка заголовка половинной высоты, если вы не задали ключевое слово SYSTEM или предложение FONT. Если же задано ключевое слово HALFHEIGHT, строка заголовка половинной высоты используется даже в том случае, когда указано ключевое слово SYSTEM или предложение FONT.
DOUBLE | PANEL | NONE | SYSTEM | cBorderString

Задает стиль обрамления для пользовательского окна. По умолчанию в качестве обрамления используется одиночная линия.

Аргумент Описание

DOUBLE

Задает вокруг окна обрамление в виде двойной линии.

PANEL

Задает широкую рамку вокруг окна.

NONE

Полностью отменяет обрамление.

SYSTEM

Придает пользовательскому окну вид системного окна. Когда вы включаете некоторые другие предложения (GROW, ZOOM и т.д.), соответствующие элементы управления окна размещаются на границе окна.

cBorderString

Задает обрамление специализированного вида. Подробнее об этом см. команду SET BORDER.
При использовании аргумента DOUBLE или пользовательской строки обрамления окно создается с обрамлением типа PANEL. Когда вы задаете предложения CLOSE, FLOAT, GROW, ZOOM или MINIMIZE, соответствующие элементы управления помещаются в окне даже в том случае, если предложение SYSTEM опущено.
CLOSE

Разрешает закрывать пользовательское окно с помощью клавиатуры или мыши. Когда окно закрывается, оно удаляется из основного окна Visual FoxPro или родительского пользовательского окна, а его определение удаляется из памяти. Если предложение CLOSE опущено, вы не сможете закрыть окно через интерфейс; в этом случае окно должно быть закрыто из программы или командного окна.
NOCLOSE

Запрещает закрытие окна иным способом, чем из программы или командного окна.
FLOAT

Разрешает перемещать окно с помощью клавиатуры или мыши. Если предложение FLOAT опущено, вы не сможете перемещать окно иначе, чем командой MOVE WINDOW из программы или командного окна.
NOFLOAT

Запрещает перемещение окна иным способом, чем командой MOVE WINDOW из программы или командного окна.
GROW

Разрешает вам изменять размеры пользовательского окна с помощью клавиатуры или мыши. Если предложение GROW опущено, вы не сможете изменить размеры окна иначе, чем командой SIZE WINDOW из программы или командного окна.
NOGROW

Запрещает изменять размеры окна иным способом, чем командой SIZE WINDOW из программы или командного окна.
MDI

Создает MDI-совместимое пользовательское окно. MDI (multiple document interface) - это спецификация, предусматривающая использование нескольких окон документов и определяющая их структуру и поведение. Если ключевое MDI опущено, созданное окно не будет MDI-совместимым. Когда MDI-совместимое окно развернуто:
  • Окно принимает размеры основного окна Visual FoxPro. Элементы управления окна исчезают, а кнопка его управляющего меню переходит в системную строку меню Visual FoxPro. Кнопка восстановления окна также помещается в системную строку меню Visual FoxPro.

  • Заголовок окна помещается в строку заголовка Visual FoxPro и отделяется от заголовка Visual FoxPro дефисом.

  • При активизации другого MDI-совместимого окна оно автоматически примет развернутый вид.

NOMDI

Создает окно, не являющееся MDI-совместимым.
MINIMIZE

Разрешает свертывать пользовательское окно с помощью клавиатуры или мыши.
NOMINIMIZE

Запрещает свертывание окна.
ZOOM

Разрешает развертывать пользовательское окно с помощью клавиатуры или мыши. Вы также можете восстановить первоначальные размеры окна.
NOZOOM

Запрещает развертывание окна.
ICON FILE FileName

Задает значок, отображаемый после свертывании окна. В команде DEFINE WINDOW необходимо указать ключевое слово MINIMIZE. Вы можете задать только файл значка (расширение .ico); растровый файл (расширение .bmp) задавать нельзя.
FILL FILE FileName2

Задает фоновый рисунок (типа обоев) для окна. Фон окна покрывается рисунком, определенным файлом FileName2. Можно задавать растровый файл с расширением .bmp.
COLOR SCHEME nSchemeNumber

Задает цвета для пользовательского окна. По умолчанию цвета окон, созданных с помощью команды DEFINE WINDOW, управляются цветовой схемой 1.
COLOR ColorPairList

Задает цвета для пользовательского окна.

Комментарии

После того, как пользовательские окна созданы с помощью команды DEFINE WINDOW, их можно отобразить в основном окне Visual FoxPro командой ACTIVATE WINDOW или SHOW WINDOW. Число окон, которые вы можете создать, ограничивается только объемом доступной памяти и системными ресурсами.

Активизированные окна остаются в основном окне Visual FoxPro до тех пор, пока не будет выдана команда DEACTIVATE WINDOW или HIDE WINDOW. Эти команды удаляют окна из основного окна Visual FoxPro, но оставляют определения окон в памяти. Окна можно восстановить в основном окне Visual FoxPro по команде ACTIVATE WINDOW или SHOW WINDOW.

Используйте команду CLEAR WINDOWS или RELEASE WINDOWS для удаления окон из основного окна Visual FoxPro и удаления определения окон из памяти. Чтобы вновь увидеть на экране окна, определения которых были удалены из памяти, их следует создать заново с помощью команды DEFINE WINDOW.

Пример

В следующем примере создается и активизируется окно output. Программа ждет нажатия клавиши, а затем скрывает окно. Затем программа ждет следующего нажатия клавиши и вновь отображает окно.

Копировать код
CLEAR
DEFINE WINDOW output FROM 2,1 TO 13,75 TITLE 'Output' ;
 CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW output
WAIT WINDOW 'press any key to hide window output'
HIDE WINDOW output
WAIT WINDOW 'press any key to show window output'
SHOW WINDOW output
WAIT WINDOW 'press any key to release window output'
RELEASE WINDOW output

См. также

Ссылки

Команда ACTIVATE WINDOW
Команда DEACTIVATE WINDOW
Обзор шрифтов
Объект Form
Команда HIDE WINDOW
Команда MODIFY WINDOW
Команда MOVE WINDOW
Команда RELEASE WINDOWS
Команда SET BORDER
Команда SHOW WINDOW
Команды
Справочник по языку

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DELETE - SQL Command

Visual FoxPro 9.0 Language Reference
DELETE - SQL Команда
See Also

Помечает запись на удаление.

Обратите внимание:
Записи, отмеченные для удаления физически не удаляются из таблицы до применения команды PACK . Вы можете отменить (снять выделение) удаление записей, используя команду RECALL . Для подробной информации, см. PACK Command и RECALL Command .

DELETE [Target] FROM [FORCE] Table_List [[, Table_List ...] | [JOIN [ Table_List]]]
   [WHERE FilterCondition1 [AND | OR FilterCondition2 ...]]

Параметры

DELETE [ Target ]

Определяет целевую таблицу, курсор, таблицу или псевдоним курсора, или файл для операции удаления. Если FROM определяет больше чем одну таблицу, Вы должны включить параметр Target . Target может иметь следующие синтаксисы:
  • [ DatabaseName !] TableName

    DatabaseName ! определяет имя базы данных, содержащей таблицу, если таблица находится в нетекущей базе данных. Если таблица находится в нетекущей базе данных, Вы должны включить имя базы данных. Используйте восклицательный знак (!) как разделитель сразу после имени базы данных и перед именем таблицы.

    TableName определяет имя таблицы для операции удаления.

  • Alias

    Alias определяет псевдоним, который соответствует таблице в предложении FROM или курсору в текущей сессии данных для операции удаления.

  • FileName

    FileName определяет имя файла для операции удаления.

FROM [FORCE] Table_List [[, Table_List ...] | [JOIN [ Table_List ]]]

Определяет одну или более таблиц, содержащих данные для операции удаления. Предложение FROM имеет тот же самый синтаксис как в команде SQL SELECT если бы не следующие ограничения:
  • Целевая таблица или курсор не могут быть включены в соединение OUTER как вторичная таблица или курсор.

  • Должна иметься возможность оценить все другие операции JOIN перед выполнением операции JOIN на целевой таблице.

  • Целевой курсор не может быть результатом подзапроса.

Для подробной информации, см. SELECT - SQL Command . FORCE определяет что таблицы в Table_List соединяются в порядке их перечисления в предложении FROM .
Обратите внимание:
Если FORCE опущен, Visual FoxPro пытается оптимизировать операцию удаления. Однако, операция удаления может быть выполнена быстрее применением ключевого слова FORCE для отключения оптимизации удаления Visual FoxPro.

Table_List может иметь следующие синтаксисы:
  • [ DatabaseName !] Table [[AS] Local_Alias ]

    DatabaseName ! определяет имя базы данных, содержащей таблицу, если таблица находится в нетекущей базе данных. Если таблица находится в нетекущей базе данных, Вы должны включить имя базы данных. Используйте восклицательный знак (!) как разделитель немедленно после имени базы данных и перед именем таблицы.

    Table определяет имя таблицы или курсора, из которых Вы хотите извлечь данные. Если нет открытых таблиц, Visual FoxPro отображает диалоговое окно Open, так что Вы можете определить местонахождение файла. После того, как таблица открывается, она остается открытой и после завершения запроса.

    Local_Alias определяет временное имя для таблицы, указанной в Table . Если Вы определяете локальный псевдоним, Вы должны использовать этот локальный псевдоним вместо имени таблицы в любом месте инструкции DELETE . Псевдоним может представлять таблицу или курсор.

    JOIN обеспечивает возможность определить одну или более вторичных таблиц. Нет никакого жестко заданного предела количества таблиц, псевдонимов, или предложений JOIN в инструкции DELETE .

  • ( Subquery ) AS Subquery_Alias

    Subquery определяет инструкцию SELECT в пределах другой инструкции SELECT . Для подробной информации о подзапросах в инструкции SELECT см. SELECT - SQL Command - FROM Clause .

WHERE FilterCondition1 [AND | OR FilterCondition2 ...]

Определяет одно или более условий фильтра для удаляемых записей. Нет никаких ограничений по количеству условий фильтра в предложении WHERE . Для обращения значение логического выражения, используйте оператор NOT . Чтобы проверять пустое поле, используйте функцию EMPTY( ) . Для подробной информации, см. EMPTY( ) Function .

Замечания

Если команда SET DELETED установлена в ON , записи, отмеченные для удаления игнорируются всеми командами, которые содержат scope. Для подробной информации, см. SET DELETED Command .

Чтобы определять количество модифицированных записей, используйте значение системной переменной _TALLY немедленно после выполнения команды SQL DELETE . Для подробной информации, см. _TALLY System Variable .

Совет:
При маркировке на удаление нескольких записей таблицы, открытой для разделяемого доступа, SQL DELETE использует блокировку записей, в отличие от команды DELETE . Это уменьшает конфликты записей в многопользовательских ситуациях, но может уменьшить скорость выполнения. Для максимальной скорости выполнения, откройте таблицу для монопольного использования или применяйте функцию FLOCK( ) для блокировки таблицы. Для подробной информации, см. DELETE Command и FLOCK( ) Function .

Пример 1

Описание

Следующий пример использует команду OPEN DATABASE , чтобы открыть тестовую базу данных Visual FoxPro TestData.dbc. Команда USE открывает таблицу "Клиенты" в TestData.dbc. Инструкция SQL DELETE помечает те записи на удаление, в которых поле Country содержит "USA". Команда CLEAR очищает главное окно Visual FoxPro. Команда LIST выводит все записи, отмеченные для удаления. После применения команды LIST , если будет вызвана команда PACK , отмеченные записи будут удалены.

Команда RECALL ALL снимает выделение всех записей, помеченных на удаление. Команда COUNT проверяет количество записей, помеченных на удаление, подсчитывая их. WAIT WINDOW выводит то количество записей, которые были помечены на удаление.

Код

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE HOME(2)+"Data\TestData"
USE Customer
DELETE FROM Customer WHERE country = "USA"
CLEAR
LIST FIELDS company, country FOR DELETED( )
WAIT WINDOW "Records currently marked for deletion"+CHR(13) + ;
   "Press any key to revert..."
RECALL ALL
CLEAR
COUNT FOR DELETED( )=.T. TO nDeleted
WAIT WINDOW ALLTRIM(STR(nDeleted)) + " records marked for deletion."

Комментарии

Для подробной информации, см. OPEN DATABASE Command , USE Command , LIST Commands , CLEAR Commands , COUNT Command , and WAIT Command .

Пример 2

Описание

Следующий код показывает коррелированное удаление, в котором записи курсора MyProducts помечаются на удаление в зависимости от значения поля Discontinued курсора MSRPList. Предложение WHERE определяет критерий соответствия записей и условие сравнения для того, чтобы пометить записи.

Код

Скопировать код
CLOSE DATABASES ALL
CREATE CURSOR MyProducts (ProdID I , OurPrice Y NULL)
INSERT INTO MyProducts VALUES (1,1.10) && соответствуют но не помечаются для удаления
INSERT INTO MyProducts VALUES (2,2.20) && соответствуют и помечаются
INSERT INTO MyProducts VALUES (3,3.30) && соответствуют и помечаются
CREATE CURSOR MSRPList (ProdID I , ProdCategory I Null, MSRP Y, Discontinued L)
INSERT INTO MSRPList VALUES (1, 9, 1.00, .f.)
INSERT INTO MSRPList VALUES (2, 8, 2.00, .t.)
INSERT INTO MSRPList VALUES (3, 7, 3.00, .t.)
DELETE  MyProducts FROM MSRPList ;   WHERE MSRPList.ProdID = MyProducts.ProdID;      AND MSRPList.discontinued = .t.
SELECT MyProducts
BROWSE

Комментарии

Для подробной информации и демонстрации другого примера, см. SQL Language Improvements .

See Also

Other Resources

INSERT - SQL Command
UPDATE - SQL Command
SQL Commands and Functions
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


DELETE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DELETE Command
Смотрите также Пример
CollapseAll image

Помечает записи для удаления.

DELETE [Scope] [FOR lExpression1] [WHILE lExpression2]
   [IN nWorkArea | cTableAlias] [NOOPTIMIZE]

Параметры

Scope

Задает диапазон записей, которые следует пометить на удаление. По умолчанию областью действия команды DELETE является одна текущая запись (NEXT 1). Возможны следующие предложения диапазона: ALL, NEXTnRecords, RECORD nRecordNumber, и REST.

Подробнее о предложениях диапазона смотрите Предложения диапазона.

FOR lExpression1

Задает условие, в соответствии с которым на удаление помечаются только записи, удовлетворяющие логическому условию lExpression1.

Технология Rushmore оптимизирует запрос, созданный командой DELETE ... FOR, если lExpression1 является оптимизируемым выражением и таблица индексирована по функции DELETED( ). В целях достижения наилучшей производительности используйте в предложении FOR оптимизируемое выражение.

Подробнее об оптимизируемых по технологии Rushmore выражениях смотрите Команда SET OPTIMIZE, и Использование оптимизации запросов Rushmore для ускорения доступа к данным in Оптимизация приложений.

WHILE lExpression2

Задает условие, в соответствии с которым записи помечаются на удаление, пока значением выражения lExpression2 остается "истина" (.T.).

IN nWorkArea

Задает рабочую область таблицы, в которой записи помечаются на удаление.

IN cTableAlias

Задает псевдоним таблицы, в которой записи помечаются на удаление.

Если опустить nWorkArea и cTableAlias, записи помечаются на удаление в таблице, принадлежащей выбранной в данный момент рабочей области.

NOOPTIMIZE

Отключает оптимизацию команды DELETE по технологии Rushmore.

Expand image Замечания

Записи, помеченные на удаление, не будут физически удалены из таблицы до тех пор, пока не будет выдана команда PACK. Восстановить записи, помеченные на удаление (снять маркировку) можно по команде RECALL.

Expand image Пример

В следующем примере открывается таблица customer в базе данных testdata. DELETE помечает на удаление все записи, в которых поле country содержит значение USA. Все записи, помеченные для удаления, выводятся на экран. Команда RECALL ALL используется для снятия маркировки со всех записей, помеченных на удаление.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

DELETE FOR country = 'USA'  && Mark for deletion
CLEAR
LIST FIELDS company, country FOR DELETED( ) && List marked records
RECALL ALL  && Unmark all records marked for deletion

Expand image Смотрите также

Справочное руководство

Команда DELETE - SQL
Функция DELETED( )
Команда PACK
Команда RECALL
Команда SET DELETED

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DELETE CONNECTION Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DELETE CONNECTION
Смотрите также Пример
CollapseAll image

Удаляет именованное соединение из текущей базы данных.

DELETE CONNECTION ConnectionName

Параметры

ConnectionName

Задает имя соединения, которое нужно удалить из текущей базы данных.

Expand image Замечания

При удалении определения именованного соединения никакие активные соединения не закрываются.

DELETE CONNECTION требует эксклюзивного доступа к базе данных. Чтобы открыть базу данных для эксклюзивного использования, вставьте EXCLUSIVE в OPEN DATABASE.

Expand image Пример

В следующем примере предполагается, что источник данных ODBC именем MyFoxSQLNT доступен. Открывается база данных testdata, и создается соединение Myconn. Команда DISPLAY CONNECTIONS используется для вывода на экран именованных соединений базы данных. После этого соединение удаляется из базы данных командой DELETE CONNECTION.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

CREATE CONNECTION Myconn DATASOURCE "MyFoxSQLNT" USERID "<userid>" PASSWORD "<password>"
DISPLAY CONNECTIONS    && Displays named connections in the database
DELETE CONNECTION Myconn  && Removes the connection just created

Expand image Смотрите также

Справочное руководство

Команда CREATE CONNECTION
Команда MODIFY CONNECTION
Команда RENAME CONNECTION

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DELETE DATABASE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DELETE DATABASE
Смотрите также Пример
CollapseAll image

Удаляет базу данных с диска.

DELETE DATABASE DatabaseName | ? [DELETETABLES] [RECYCLE]

Параметры

DatabaseName

Задает имя базы данных, которую нужно удалить с диска. Заданная база данных не может быть открытой. Имя DatabaseName может включать описание пути к базе данных.

?

Отображает диалоговое окно удаления, в котором можно задать имя базы данных, удаляемой с диска.

DELETETABLES

Удаляет с диска таблицы, содержащиеся в базе данных, наряду с самой этой базой данных.

RECYCLE

Определяет что база даных неудаляется немедленно с диска а помещяется в корзину Windows.

Expand image Замечания

Для удаления базы данных с диска пользуйтесь только командой DELETE DATABASE. В отличие от других утилит обработки файлов операционной системы, DELETE DATABASE удаляет все ссылки на базу данных из таблиц этой базы данных.

Если команда SET SAFETY установила значение ON, Visual FoxPro попросит подтвердить удаление указанной базы данных. Если команда SET SAFETY установила значение OFF, база данных автоматически удаляется с диска.

Expand image Пример

Этот пример создает базуданных people. Создается таблица friends , автоматически включаемая в эту базу данных. DISPLAY TABLES используется для вывода на экран таблиц, принадлежащих базе данных, а команда DISPLAY DATABASES для отображения информации о таблицах базы данных.

DELETE DATABASE используется с параметром DELETETABLES для удаления базы данных и таблицы friends с диска.
CopyCode image Copy Code
CLOSE ALL
CREATE DATABASE people
CREATE TABLE friends (FirstName C(20), LastName C(20))
CLEAR
DISPLAY TABLES  && Displays tables in the database
DISPLAY DATABASES  && Displays table information
CLOSE ALL
DELETE DATABASE people DELETETABLES

Expand image Смотрите также

Справочное руководство

Команда ADD TABLE
Команда CLOSE
Функция DBC( )
Функция DBGETPROP( )
Функция DBSETPROP( )
Команда DISPLAY TABLES
Команда OPEN DATABASE
Команда REMOVE TABLE

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DELETE FILE Command

Visual FoxPro 9.0 Справка по языку
Команда DELETE FILE
Смотрите также Пример

Удаляет файл с диска.

DELETE FILE [FileName | ?] [RECYCLE]

Параметры

FileName

Указывает имя файла для удаления.
Подсказка:
FileName может содержать символы подстановки (wildcard characters), такие как * и ?. Например, для удаления файлов backup с расширением .bak из текущей директории, укажите команду DELETE FILE *.BAK. Если FileName содержит пробелы, заключите полное имя файла в кавычки.

?

Отображает диалог удаления файла, в котором вы можете выбрать файл для удаления.
RECYCLE

Указывает, что файл не удаляется с диска безвозвратно, а помещается в корзину (Recycle Bin).
Предупреждение:
Файлы, удаленные при помощи этой команды, не могут быть восстановлены. Даже если задана установка SET SAFETY ON, предупреждение перед удалением файла не выдается.

Примечания

Файл, который вы хотите удалить, не может быть открыт во время выполнения команды DELETE FILE. Имя файла должно включать путь, если файл находится на другом диске или не в директории, заданной по умолчанию. Требуется также указывать расширение файла.

Если файл, который вы хотите удалить, является таблицей, включенной в базу данных, вы должны предварительно удалить эту таблицу из базы данных. Вы можете использовать команду REMOVE TABLE перед тем, как выполнить команду DELETE FILE. Если вы удалите таблицу, с которой ассоциирован файл .FPT, содержащий значения полей типа memo, не забудьте затем удалить и этот файл.

Эта команда не порождает ошибку в случае, если указанный файл не существует.

Команда DELETE FILE является полным аналогом команды ERASE.

Пример

В следующем примере структура таблицы Customer.dbf и все её записи, содержащие в поле country значение "USA", копируются в таблицу с именем backup. Данные из таблицы backup затем копируются в текстовый файл с именем temp, который открывается в текстовом редакторе для чтения и после просмотра удаляется.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table

COPY STRUCTURE TO backup
USE backup
APPEND FROM customer FOR country = 'USA'
COPY TO temp TYPE DELIMITED

WAIT WINDOW 'Press Esc to close and erase temp.txt' NOWAIT
MODIFY FILE temp.txt NOEDIT
DELETE FILE temp.txt
? IIF(FILE('temp.txt'),'File not deleted','File deleted')
USE
DELETE FILE backup.dbf

Смотрите также

Команда ERASE
Команда REMOVE TABLE
Команда SET SAFETY
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DELETE TAG Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DELETE TAG
Смотрите также
CollapseAll image

Удаляет тег или теги из файла составного индекса (.cdx). Вот две версии синтаксиса.

DELETE TAG TagName1 [OF CDXFileName1] [, TagName2 [OF CDXFileName2]]...
DELETE TAG ALL [OF CDXFileName]

Parameters

TagName1 [OF CDXFileName1] [, TagName2 [OF CDXFileName2]] ...

Задает тег, удаляемый из файла составного индекса. Одной командой DELETE TAG можно удалить сразу несколько тегов, указав список их имен через запятую. Если в открытых файлах индексов могут найтись несколько тегов с одинаковыми именами, вы можете задать удаление тега из конкретного файла индекса, включив предложение OF CDXFileName.

ALL [OF CDXFileName]

Удаляет все теги из файла составного индекса. Если у текущей таблицы есть файл структурного составного индекса, из него будут удалены все теги, сам файл удаляется с диска и удаляется флаг в заголовке таблицы, указывающий на наличие связанного с ней файла структурного составного индекса. Используйте опцию ALL вместе с предложением OF CDXFileName, когда требуется удалить все теги из открытого файла составного индекса, не являющегося файлом структурного составного индекса.

Expand image Замечания

В файлах составных индексов, создаваемых по команде INDEX, содержатся теги, соответствующие элементам индекса. DELETE TAG позволяет удалить один или несколько тегов из открытого файла составного индекса. Можно удалять теги только из файлов составных индексов, открытых в текущей рабочей области. Если вы удаляете все теги из файла составного индекса, этот файл сам удаляется с диска.

Visual FoxPro сначала ищет тег в файле структурного составного индекса (если такой файл существует и он открыт), а если его там нет - то в остальных открытых файлах составных индексов.

Visual FoxPro выдаст предупреждение при попытке удаления первичного или кандидатного индексного тега если SET SAFETY установлено в ON.

Expand image Смотрите также

Справочное руководство

Команда COPY INDEXES
Команда COPY TAG
Команда INDEX
Функция TAG( )

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DELETE TRIGGER Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DELETE TRIGGER
Смотрите также Пример
CollapseAll image

Удаляет из базы данных триггер Delete (удаления), Insert (добавления) или Update (обновления) для таблицы.

DELETE TRIGGER ON TableName FOR DELETE | INSERT | UPDATE

Параметры

TableName

Задает имя таблицы, триггер которой следует удалить.

FOR DELETE | INSERT | UPDATE

Задает удаляемый триггер. Для удаления триггера Delete задайте FOR DELETE, для удаления триггера Insert ѕ FOR INSERT, для удаления триггера Update ѕ FOR UPDATE.

Expand image Замечания

Чтобы создать триггер удаления, добавления или обновления для таблицы, пользуйтесь командой CREATE TRIGGER.

Expand image Пример

В следующем примере создается триггер Update, который предотвращает ввод в поле maxordamt таблицы customer значений, превышающих 50. Команда DISPLAY DATABASE используется для отображения триггера Update. Затем команда DELETE TRIGGER удаляет триггер Update, и вновь выдается DISPLAY DATABASE, чтобы убедиться, что триггер удален.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')  && Open testdata database
USE CUSTOMER  && Open customer table

CREATE TRIGGER ON customer FOR UPDATE AS maxordamt <= 50
CLEAR
DISPLAY DATABASE
DELETE TRIGGER ON customer FOR UPDATE
DISPLAY DATABASE

Expand image Смотрите также

Справочное руководство

Команда ADD TABLE
Функция AERROR( )
Команда CREATE DATABASE
Команда CREATE TRIGGER
Команда DISPLAY DATABASE
Команда LIST DATABASE
Команда OPEN DATABASE

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DELETE VIEW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DELETE VIEW
Смотрите также Пример
CollapseAll image

Удаляет представление SQL из текущей базы данных.

DELETE VIEW ViewName

Параметры

ViewName

Задает имя представления, удаляемого из текущей базы данных.

Expand image Замечания

Чтобы создать представление SQL и добавить его в текущую базу данных, пользуйтесь командой CREATE SQL VIEW. Если открыть представление SQL, а затем удалить его, курсоры, содержащие результаты представления SQL, не закроются.

Команда DELETE VIEW требует эксклюзивного использования базы данных. Чтобы открыть базу данных для эксклюзивного использования, вставьте EXCLUSIVE в OPEN DATABASE.

Expand image Пример

В следующем примере открывается база данных testdata. Команда CREATE SQL VIEW используется для создания локального представления SQL myview. Отображается конструктор представлений, где вы можете задать таблицы и условия для данного представления. После того как вы сохраните представление SQL, выдается команда DISPLAY DATABASE, отображающая информацию об этом представлении SQL. Затем вновь используется команда DELETE VIEW, чтобы удалить локальное представление myview.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

CREATE SQL VIEW myview
CLEAR
DISPLAY DATABASE
DELETE VIEW myview

Expand image Смотрите также

Справочное руководство

Команда CREATE SQL VIEW
Команда OPEN DATABASE

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DIMENSION Command

Visual FoxPro 9.0 Справка по языку
Команда DIMENSION
Смотрите также Пример

Создает одномерный или двумерный массив переменных.

Замечание:
DIMENSION идентична по действию и схожа по синтаксису с командой DECLARE. Для получения дальнейших сведений смотрите Команда DECLARE.

DIMENSION ArrayName1(nRows1 [, nColumns1]) [AS cType]
 [, ArrayName2(nRows2 [, nColumns2])] ...

Параметры

ArrayName1

Указывает имя массива.
Подсказка:
Вы можете создавать множество массивов посредством одной команды DIMENSION, указывая нужные имена массивов, например, ArrayName2, ArrayName3 и так далее.

nRows1 [, nColumns1]

Указывает размер создаваемого массива.
Подсказка:
Вы должны указывать размер каждого массива, который вы создаете командой DIMENSION. Размер массива может быть ограничен доступной памятью, что влияет на производительность, особенно для больших массивов. Будьте уверены, что ваш компьютер имеет достаточно памяти для размещения всего массива.

Для того, чтобы создать одномерный массив, задайте только nRows1. В этом случае команда DIMENSION использует nRows1 для создания соответствующего числа строк в одномерном массиве, т.е. в массиве, имеющем только одну колонку. Например, следующая команда создает одномерный массив с именем gaArrayOne, содержащий десять строк и одну колонку:
Скопировать код
DIMENSION gaArrayOne(10)
Для создания двумерного массива задайте nRows1 и nColumns1. В этом случае nRows1 указывает количество строк в массиве, а nColumns1 - количество колонок. В следующем примере создается двумерный массив с именем gaArrayTwo, содержащий две строки и четыре колонки:
Скопировать код
DIMENSION gaArrayTwo(2,4)
AS cType

Указывает тип данных в массиве. Используя опцию AS cType, вы можете определить и указать тип данных, отличающийся от принятого для массивов типа Variant. Опция AS cType не поддерживается IntelliSense в режиме разработки; она предназначена для использования во время исполнения кода. Рассмотрите Пример 4 в разделе Примеры. Опция AS cType используется лишь при передаче массива в COM-объект. В остальных случаях Visual FoxPro игнорирует опцию AS cType. Если вы определите тип данных, который не является допустимым для COM, Visual FoxPro автоматически использует тип VARIANT, принятый по умолчанию. Данные типа VARIANT можно передавать только по ссылке (by reference) и они не имеют строгой типизации. В нижеследующей таблице перечислены допустимые типы для COM.

типы данных VFP Типы в IntelliSense Дружественное имя COM COM Typelib Системный тип .NET Тип XSD (SOAP)

Boolean

Logical

Boolean

VARIANT_BOOL (VT_BOOL)

System.Boolean

boolean

Byte

Number

Byte

unsigned char (VT_UI1)

System.Byte

Character *

String

String

BSTR (VT_BSTR)

System.String

string

Currency *

Currency

Currency

CURRENCY (VT_CY)

Date

Date

Date

DATE (VT_DATE)

System.DateTime

dateTime

DateTime

Date

Date

DATE (VT_DATE)

System.DateTime

dateTime

Decimal *

Number

wchar_t (VT_DECIMAL)

System.UInt16

Double

Number

Double

double (VT_R8)

System.Double

double

Float

Variant

VARIANT (VT_VARIANT)

System.Object

anyType

Integer

Number

Long

long (VT_I4)

System.Int32

int

Logical

Logical

Boolean

VARIANT_BOOL (VT_BOOL)

System.Boolean

boolean

Long

Number

Long

long (VT_I4)

System.Int32

int

Memo

Variant

VARIANT (VT_VARIANT)

System.Object

anyType

Number

Number

Double

double (VT_R8)

System.Double

double

Object

Object

Object

IDispatch* (VT_DISPATCH)

System.Object

Short

Number

Long

long (VT_I4)

System.Int32

int

Single *

Number

Single

single (VT_R4)

System.Single

String

String

String

BSTR (VT_BSTR)

System.String

string

Variant

Variant

VARIANT (VT_VARIANT)

System.Object

anyType

Void

VOID

Void

void (VT_VOID)

System.IntPtr

Array

Array

SAFEARRAY(type)

Type[]

Base64Binary

Примечания

Вы можете заключать выражения в DIMENSION в круглые или в квадратные скобки. Например, следующие два строки кода описывают одни и те же массивы:

Скопировать код
DIMENSION gaArrayOne(10), gaArrayTwo[2,4], gaArrayThree(3,3)
DIMENSION gaArrayOne[10], gaArrayTwo(2,4), gaArrayThree[3,3]

Элементы массива Размер массива определяется количеством содержащихся в нем элементов. В каждый элемент массива можно поместить одну частицу информации. Для определения общего количества элементов в массиве умножьте количество строк (nRows1) в массиве на количество столбцов (nColumns1) в нем.

Элементы массива могут содержать данные любого типа и первоначально (при создании массива) они инициализируются значением Ложно (.F.). Вы можете инициализировать элементы массива одинаковым значением при помощи команды STORE, если действует установка SET FOXPLUS OFF (по умолчанию). В следующем примере строка "initial" инициализирует массив gaArray:

Скопировать код
DIMENSION gaArray(10,3)
STORE 'initial' TO gaArray

Для получения сведений об ограничениях на количество элементов в массиве смотрите Системные ограничения Visual FoxPro.

Замечание:
Нумерация элементов в массивах Visual FoxPro начинается с единицы - как для строк, так и для столбцов. (В других языках программирования нумерация элементов в массивах может начинаться с нуля).

Прим.переводчика. В ряде языков программирования нумерация элементов в массиве может начинаться с любого значения.

Индексы в массиве Вы можете получать доступ и оперировать нужными элементами в массиве указывая имя массива и номер элемента в нем (называемый также индексом). Индекс элемента в массиве - это уникальный номер, определяющий положение элемента в массиве. Индекс (оба индекса в случае двумерного массива) первого элемента в массиве равен 1.

Если массив одномерный, используется один индекс для указания номера строки, содержащей нужный элемент (значение индекса совпадает с номером строки - прим.переводчика). Например, индекс элемента, находящегося в третьей строке одномерного массива, равен 3.

Если массив двумерный, для указания элемента в нем используются два индекса. Первый индекс указывает номер строки, а второй - номер столбца. Например, индексы элемента, находящегося в третьей строке и четвертом столбце двумерного массива определяются как (3,4). Вы можете также ссылаться на элементы двумерного массива используя один индекс.

Чтобы получить один индекс вместо пары индексов, определяющих строку и столбец, используйте функцию AELEMENT( ). Чтобы преобразовать один индекс к паре индексов (строка,столбец), используйте функцию ASUBSCRIPT( ).

Прим.переводчика. Элементы массива в Visual FoxPro хранятся по строкам. Это означает, что сначала размещаются элементы первой строки, затем второй и так далее. Это позволяет однозначно определить порядковый номер элемента в двумерном массиве. Если массив содержит m строк и n столбцов, то номер элемента, находящегося в строке i и столбце j определяется как i x(n-1) + j. По этой формуле производит вычисление индекса и функция AELEMENT( ).

Для получения дальнейшей информации об индексах смотрите Функция ASUBSCRIPT( ).

Переопределение размеров массивов Вы можете изменить размер и размерность массива повторно используя DIMENSION. Размер массива можно увеличивать и уменьшать; одномерный массив можно преобразовать в двумерный и наоборот.

Замечание:
Если переопределить двумерный массив, уменьшив число строк и/или столбцов в нем, количество элементов в нем уменьшится в соответствии с порядковыми номерами элементов, а не их индексами. Например, если массив размером 10х10 переопределить как 10х7, будут утеряны элементы с порядковыми номерами от 71 и выше. За дальнейшими разъяснениями обратитесь к Функция AELEMENT( ).

Прим.переводчика. Как уже отмечалось выше, элементы массива хранятся по строкам. В приведенном примере уменьшается количество столбцов с 10 до 7, однако реально теряются не элементы не в столбцах, а в строках, поскольку общее количество элементов уменьшается путем их отбрасывания от конца массива. Это нужно иметь в виду, если планируется использовать значения, находившиеся в элементах массива до изменения его размеров. В случае, когда уменьшается количество строк, на самом деле теряются именно строки.

Для демонстрации этого эффекта попробуйте выполнить следующие строки кода:

DIMENSION a[10,10]
a[10,1]=1
DIMENSION a[10,7]
?a[10,1]    && отображается .F.

Если количество элементов в массиве увеличивается, содержимое всех элементов исходного массива копируется во вновь создаваемый массив с указанными размерами. Добавочные элементы инициализируются значением Ложно (.F.).

Прим.переводчика. И в этом случае вас может подстерегать "сюрприз". Если увеличить число столбцов в двумерном массиве, то необходимое количество элементов будет добавлено в конец массива. При этом не добавочные столбцы будут заполнены значениями .F., а добавленные элементы, что может сделать использование старых значений элементов бессмысленным.

Ниже приведен пример, когда массив размером 2х3 переопределяется в массив размером 2х4. Предполагается, что элементы массива были инициализированы символьными значениями, содержащими индекс строки и столбца, т.е. в элемент a[1,1] содержал значение "1,1", a[1,2] - значение "1,2" и так далее.

Исходный массив (2,3)

1,1 | 1,2 | 1,3
2,1 | 2,2 | 2,3

После переопределения массива (2,4)

1,1 | 1,2 | 1,3 | 2,1
2,2 | 2,3 | .F. | .F.

Если размер массива увеличивается или уменьшается при действующей установке SET COMPATIBLE ON или DB4, значение каждого элемента массива будет инициализировано логическим .F.

Типизированные массивы Вы можете передавать типизированные массивы по ссылке (by reference) или по значению (by value). Вам не следует объявлять объекты Visual FoxPro с типом, таким как CommandButton. Вместо этого используйте тип Object:

Скопировать код
DIMENSION aObjects[] AS CommandButton && Не поддерживается
DIMENSION aObjects[] AS Object && Рекомендуется
Замечание:
В COM-серверах, которые являются серверами Visual FoxPro server, вы можете указывать объекты с типами, допустимыми в Visual FoxPro. В тоже время другие сервера не распознают такие типы.

Вам следует использовать функцию COMARRAY( ) для управления установками, которые передаются COM-серверам, например, zero-based, byref и т.д.

Замечание:
Когда массивы передаются серверам, работающим в Microsoft .NET Framework, вы должны объявлять COMARRAY(<object>, 10) для передачи массива, индексы которого начинаются с 0 (zero-based array) по ссылке. Код, обеспечивающий работу .NET Framework, предполагает получение массива по ссылке, поэтому получив его по значению, он не будет корректно работать.

Типизированные массивы Single (scaler) не поддерживаются никакими другими COM-серверами, кроме COM-серверов Visual FoxPro. Вы не можете передавать тип Currency серверам, работающим в Microsoft .NET Framework.

Когда сервера работают в Microsoft .NET Framework, возвращаются типы System.Decimal и System.UInt16, которые преобразуются в wchart_t, принимаемым Visual FoxPro как тип Decimal.

Примеры

Пример 1

Следующий пример показывает результат увеличения размера одномерного массива.

Замечание:
Если вы введете эти команды в окне команд (Command window), массив будет объявлен как PUBLIC. В то же время, массив будет объявлен как PRIVATE, если вы скопируете код примера в программу и выполните её.

Если количество элементов в массиве уменьшается, элементы и данные, в них содержащиеся, удаляются. Когда одномерный массив преобразуется к двумерному, содержимое исходного массива копируется в результирующий построчно.

Скопировать код
DIMENSION marray(2)
STORE 'A' TO marray(1)
STORE 'B' TO marray(2)
CLEAR
DISPLAY MEMORY LIKE marray
DIMENSION marray(4)
DISPLAY MEMORY LIKE marray
WAIT WINDOW

Пример 2

В следующем примере одномерный массив преобразуется к двумерному. Содержимое элементов исходного массива копируется в результирующий сначала заполняя его первую строку, затем вторую и т.д. Дополнительные элементы (если они есть) инициализируются значением Ложно (.F.).

Когда двумерный массив преобразуется к одномерному, содержимое исходного массива построчно копируется в результирующий. Первый элемент в первой строке становится первым элементом одномерного массива, второй элемент в первой строке - вторым элементом одномерного массива и т.д.

Используйте функции ADEL( ) или AINS( ) для удаления или вставки элементов массива, строк и столбцов. Используйте команды APPEND FROM ARRAY, COPY TO ARRAY, SCATTER и GATHER для обмена данными между записями таблицы и массивами.

Скопировать код
DIMENSION marrayone(4)
STORE 'E' TO marrayone(1)
STORE 'F' TO marrayone(2)
STORE 'G' TO marrayone(3)
STORE 'H' TO marrayone(4)
CLEAR
DISPLAY MEMORY LIKE marrayone
DIMENSION marrayone(2,3)
DISPLAY MEMORY LIKE marrayone
WAIT WINDOW

Пример 3

В следующем примере двумерный массив создается и заполняется данными. Затем отображаются элементы массива и содержащиеся в них данные.

Скопировать код
DIMENSION sample(2,3)
STORE 'Goodbye' TO sample(1,2)
STORE 'Hello' TO sample(2,2)
STORE 99 TO sample(6)
STORE .T. TO sample(1)
CLEAR
DISPLAY MEMORY LIKE sample

Пример 4

В следующем примере массив создается в Visual FoxPro и передается COM-серверу Visual Basic, который ожидает получения строго типа Long. Вызов FillIntArray должен был завершиться неудачно, поскольку массив aMyArray имеет тип Variant. Тем не менее, после включения описания в классе Visual Basic массива с типом Variant, названного FillIntArray, все нормально работает:

Скопировать код
* Код Visual FoxPro
DIMENSION aMyArray [100] AS Long
lo.FillIntArray(@aMyArray, 100) && Передача Visual Basic COM-серверу

' Добавьте следующий код Visual Basic в файл .CLS и откомпилируйте его в COM-компоненту
Public Sub FillIntArray(ByRef aInts() As Long, iCount As Long)
 ReDim aInts(1 to 100)
 Dim ii As Interger
 For ii = 1 to 100
 AInts(ii) = ii
 Next
End Sub

Смотрите также

Функция ADEL( )
Функция AELEMENT( )
Функция AINS( )
Функция ALEN( )
Функция ASUBSCRIPT( )
Команда DECLARE
Команда EXTERNAL
Команда PRIVATE
Команда PUBLIC
Команда SET COMPATIBLE

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Команда DIR или DIRECTORY

Visual FoxPro 9.0 Справочное руководство по языку
Команда DIR или DIRECTORY
Смотрите также Пример
CollapseAll image

Отображает информацию о файлах в каталоге.

DIR | DIRECTORY [ON Drive] [[LIKE] [Path] [FileSkeleton]]
   [TO PRINTER [PROMPT] | TO FILE FileName]

Параметры

ON Drive
[[LIKE] [Path] [FileSkeleton]]

Задает путь к каталогу, содержащему нужные файлы. Путь может включать имя диска, если вы опустили предложение ON Drive.

Если вы хотите отобразить информацию не о таблицах, а о файлах других типов, задайте аргумент FileSkeleton. FileSkeleton представляет собой шаблон спецификации файлов, в котором можно использовать символы подстановки. Например, чтобы получить список всех файлов программ в текущем каталоге, выдайте следующую команду:

CopyCode image Copy Code
DIR *.PRG

В Visual FoxPro, для получения списка имен всех файлов, не имеющих расширений, достаточно выдать команду:

CopyCode image Copy Code
DIR *.
TO PRINTER [PROMPT]

Направляет вывод команды DIRECTORY на принтер.

В Microsoft Visual FoxPro, можно задать необязательное предложение PROMPT, по которому перед началом печати отображается диалоговое окно печати. В этом диалоговом окне можно изменить установки принтера, включая число копий и номера печатаемых страниц. Набор изменяемых параметров принтера, определяется установленным в данный момент драйвером принтера. Указывайте ключевое слово PROMPT сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды DIRECTORY в файл FileName. Если такой файл уже существует и установка SET SAFETY имеет значение ON, будет выдан запрос на подтверждение записи поверх файла.

Expand image Замечания

Используйте команду DIR для выдачи на дисплей информации о файлах.

Команда DIR, выданная без предложения LIKE или шаблона имен файлов, отображает следующие данные:

  • Имена всех таблиц данного каталога.

  • Число записей в каждой таблице.

  • Даты последнего обновления каждой таблицы.

  • Размер в байтах каждой таблицы (таблицы в оригинальном формате Microsoft FoxBASE отмечаются особо).

  • Принадлежность каждой таблицы базе данных.

  • Общий размер области, занимаемой таблицами на диске (не считая связанных с ними memo-файлов .fpt).

  • Количество отображенных таблиц.

  • Общее число оставшихся байтов на диске.

Если аргументы Drive или Path опущены, отображается информация о таблицах, находящихся на диске и в каталоге, используемых по умолчанию.

Expand image Пример

CopyCode image Copy Code
CLEAR
DIR  && Display tables in the current directory
DIR *.CDX && Display index files in the current directory
DIR A*.DBF  && Display tables that begin with A
DIR *.*  && Display all files, including those without extensions

Expand image Смотрите также

Reference

Команда DISPLAY FILES
Функция DIRECTORY( )

Прочие ресурсы

Команды (Visual FoxPro)
Описания языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DISPLAY Command

Visual FoxPro 9.0 Language Reference
DISPLAY Команда
См. Также Пример

Выводит содержания записи и результаты выражения для текущей таблицы в главном окне Visual FoxPro или в окне, определяемом пользователем.

DISPLAY [[FIELDS] FieldList] [Scope] [FOR lExpression1]
   [WHILE lExpression2] [OFF] [NOCONSOLE] [NOOPTIMIZE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]

Параметры

[[FIELDS] FieldList ]

Определяет поля, для отображения. Если Вы опускаете предложение FIELDS , все поля от таблицы отображается по умолчанию.
Обратите внимание:
Содержание мемо-поля не отображается, если его имя явно не включено в cписок полей. Отображаемая ширина мемо-полей определена командой SET MEMOWIDTH . Для подробной информации, см. SET MEMOWIDTH Команда .

[ Scope ]

Определяет диапазон строк для вывода. Отображаются только те строки, которые в попадают в диапазон. По умолчанию для DISPLAY определен объем, состоящий из текущей записи (NEXT 1). Для подробной информации , см. Предложение Scope .
Обратите внимание:
Команды, которые включают Scope работают только в активной рабочей области.

[FOR lExpression1 ]

Определяет, чтобы отобразить только те записи, которые удовлетворяют логическому условию lExpression1 . Выражения могут состоять из комбинаций литералов, переменных памяти, элементов массива, полей, и мемо полей. Если lExpression1 может быть оптимизировано , Rushmore оптимизирует запрос, созданный DISPLAY ... FOR . Для лучшей выполнения, используйте выражение, которое может быть оптимизировано в FOR предложение. Для подробной информации, см. SET OPTIMIZE и Использование Rushmore для ускорить доступ к данным .
[WHILE lExpression2 ]

Определяет условие вывода пока логическое выражение lExpression2 соответствует истине (.T)..
[OFF]

Подавляет вывод номеров записей. Если Вы опускаете OFF , номер записей отображаются в начале строки.
[NOCONSOLE]

Подавляет вывод в главное окно Visual FoxPro или в активное пользовательское окно.
[NOOPTIMIZE]

Отключает Rushmore оптимизацию для DISPLAY . Для подробной информации, см. SET OPTIMIZE и Использование Rushmore Оптимизации, чтобы Ускорить Доступ к данным .
[TO PRINTER [PROMPT]

Направляет вывод от DISPLAY на принтер. PROMPT ключевое слово определяет вызов диалогового окна Print перед началом печати. Параметры настройки принтера, которые Вы можете корректировать, зависят от текущего драйвера принтера.
TO FILE FileName [ADDITIVE]]

Направляет вывод от DISPLAY к файлу, указанному FileName . Если файл уже существует, и SET SAFETY ON , Visual FoxPro запрашивает разрешение на перезапись файла. ADDITIVE ключевое слово направляет вывод в конец указанного файла. Если Вы опускаете ADDITIVE , Visual FoxPro записывает значение выражения поверх файла.

Замечания

DISPLAY является подобным команде LIST за исключением того, что DISPLAY выводит один экран с установкой паузы между экранами. LIST отображает ту же самую информацию без приостановки. Чтобы отобразить следующий экран, нажмите любую клавишу или щелкните мышкой где-нибудь в окне Visual FoxPro. Для подробной информации, см. LIST Команды .

Совет:
Чтобы отображать имена полей и выражения, установите SET HEADINGS в ON . Для подробной информации, см. SET HEADINGS Команда .

DISPLAY отображает данные для полей Varbinary в шестнадцатеричном формате и ограничена 256 символами, который включает префикс 0h и 127 шестнадцатеричных байтов. Для подробной информации, см. Varbinary Тип данных .

Пример

Следующий пример открывает типовау базу данных Visual FoxPro TestData.dbc, используя OPEN DATABASE команду и таблицу "Клиенты", используя USE команду. Пример очищает главное окно Visual FoxPro, используя CLEAR команду и выводит содержимое первой записи, используя DISPLAY команду.

Код в буфер
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
CLEAR
DISPLAY FIELD cust_id, company, contact OFF NEXT 10

См. Также

Другие Ресурсы

DISPLAY CONNECTIONS Команда
DISPLAY DATABASE Команда
DISPLAY DLLS Команда
DISPLAY FILES Команда
DISPLAY MEMORY Команда
DISPLAY OBJECTS Команда
DISPLAY PROCEDURES Команда
DISPLAY STATUS Команда
DISPLAY STRUCTURE Команда
DISPLAY TABLES Команда
DISPLAY VIEWS Команда
Команды
Справочники Языка

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISPLAY CONNECTIONS Command

Visual FoxPro 9.0 Справочники Языка
DISPLAY CONNECTIONS Команда
См. Также Пример

Выводит информация о именованных подключениях в текущей базе данных.

DISPLAY CONNECTIONS [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет вывод от DISPLAY CONNECTIONS на принтер. В Visual FoxPro, Вы можете включить дополнительное предложение PROMPT, чтобы отобразить диалоговое окно Print перед началом печати. Впишите PROMPT немедленно после TO PRINTER.
TO FILE FileName

Направляет вывод от DISPLAY CONNECTIONS в файл, указанный как FileName . Если файл уже существует, и SET SAFETY - ON, Visual FoxPro отображает запрос на обновление.
ADDITIVE

Добавляет в конец названного файла. Если Вы опускаете ADDITIVE, то файл будет обновлен.
NOCONSOLE

Подавляет вывод в главное окно Visual FoxPro или в активноое пользовательское окно.

Замечания

DISPLAY CONNECTIONS отображает имена подключения, источник данных, и строку подключения текущей базы данных. Используйте DBGETPROP( ), чтобы возвратить дополнительную информацию о подключениях в текущей базе данных.

Пример

Следующий пример демонстрирует доступ к ODBC источнику данных по имени MyFoxSQLNT. testdata база данных открыта, и названное подключение Myconn создано. DISPLAY CONNECTIONS используется, чтобы отобразить подключения в базе данных.

Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')

CREATE CONNECTION Myconn DATASOURCE "MyFoxSQLNT" USERID "lt;useridgt;" PASSWORD "lt;passwordgt;"
CLEAR
DISPLAY CONNECTIONS     amp;amp; Displays named connections in the database

См. Также

Другие Ресурсы

DISPLAY Команда
CREATE CONNECTION Команда
DELETE CONNECTION Команда
DBGETPROP( ) Функция
LIST CONNECTIONS Команда
RENAME CONNECTION Команда
Команды
Справочники Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISPLAY DATABASE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DISPLAY DATABASE
Смотрите также Пример
CollapseAll image

Отображает информацию о текущей базе данных.

DISPLAY DATABASE [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

[TO PRINTER [PROMPT]

Направляет вывод информации о текущей базе данных на принтер.

Можно использовать необязательное предложение PROMPT для отображения диалогового окна Print.

TO FILE FileName [ADDITIVE]]

Направляет вывод в файл, заданный именем FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

Ключевое слово ADDITIVE направляет вывод в конец указаного файла. Если опустить ADDITIVE, Содержимое файла будет перезаписано.

[NOCONSOLE]

Подавляет вывод в основное окно Visual FoxPro или в активное окно, определенное пользователем.

Expand image Замечания

Для получения дополнительной информации о текущей базе данных пользуйтсь функцией DBGETPROP( ). Для получения более детальной информации смотрите Фенкция DBGETPROP( ).

Expand image Пример

В следующем примере создается база данных people. Создается таблица friends , автоматически включаемая в эту базу данных. Команда DISPLAY TABLES используется для отображения таблиц базы данных, а команда DISPLAY DATABASES - для отображения информации о таблицах базы данных.
CopyCode image Copy Code
CREATE DATABASE people
CREATE TABLE friends (FirstName C(20), LastName C(20))
CLEAR
DISPLAY TABLES  && Displays tables in the database
DISPLAY DATABASES  && Displays table information

Expand image Смотрите также

Справочное руководство

Команда DISPLAY
Команда LIST DATABASE
Команда DELETE DATABASE
Команда DISPLAY FILES

Прочие ресурсы

Команды (Visual FoxPro)
Опиание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DISPLAY DLLS Command

Visual FoxPro 9.0 Language Reference
DISPLAY DLLS Команда
See Also

Выводит информацию об общедоступных библиотечных функциях зарегистрированных в Visual FoxPro с помощью DECLARE - DLL.

DISPLAY DLLS [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет вывод DISPLAY DLLS на принтер. В Visual FoxPro, Вы можете включить дополнительное предложение PROMPT, чтобы отобразить диалоговое окно Print перед началом печати. Укажите PROMPT сразу после TO PRINTER.
TO FILE FileName

Направляет вывод DISPLAY DLLS в файл, указанный с помощью FileName . Если файл уже существует, и SET SAFETY - ON, Visual FoxPro выводит подсказку, спрашивающую, хотите ли Вы записать поверх файла.
ADDITIVE

Добавляет в конец названного файла. Если Вы опускаете ADDITIVE, то файл перезаписывается значением выражения.
NOCONSOLE

Подавляет вывод в главное окно Visual FoxPro или в активное пользовательское окно.

See Also

Other Resources

DISPLAY Command
DECLARE - DLL Command
LIST DLLS Command
DISPLAY FILES Command
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


DISPLAY FILES Command

Visual FoxPro 9.0 Справочник Языка
DISPLAY FILES Команда
См. Также Пример

Выводит Информацию о файлах.

DISPLAY FILES [ON Drive] [LIKE FileSkeleton]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]

Параметры

ON Диск

Определяет диск или том, на котором файлы постоянно находятся.
LIKE FileSkeleton

Определяет условие, посредством чего Visual FoxPro выводит информацию только о тех файлах, которые соответствуют образцу FileSkeleton . Образец может содержать подстановочные знаки типа ? и *.
TO PRINTER [PROMPT]

Направляет вывод DISPLAY FILES на принтер. В Visual FoxPro, Вы можете включить дополнительное предложение PROMPT, чтобы отобразить диалоговое окно перед началом печати. В этом диалоговом окне, Вы можете корректировать параметры настройки принтера, включая количество копий и номеров страниц для печати. Параметры настроек принтера, которые Вы можете корректировать, зависят от текущего драйвера. Используйте ключевое слово PROMPT немедленно после TO PRINTER.
TO FILE FileName

Направляет вывод DISPLAY FILES в файл, указанный как FileName . Если файл уже существует, и SET SAFETY - ON, Вас спрашивают, хотите ли Вы обновить файл.
ADDITIVE

Добавляет в конец указанного файла. Если Вы опускаете ADDITIVE, то файл обновляется значением выражения.

Замечания

Используйте DISPLAY FILES, чтобы вывести информацию о файлах, размещенных на диске. Вы можете отобразить информацию обо всех файлах на указанном диске, томе, каталоге, или папке, или только файлы, которые соответствуют образцу, содержащему подстановочные знаки типа ? и *.

Использование DISPLAY FILES без каких-либо параметров, выводит информацию о таблицах в текущем каталоге. Отображенная информация включает следующее:

  • Имя таблицы.

  • Количество записей в таблице.

  • Дата и время последней модификации таблицы.

  • Размер каждой таблицы в байтах.

  • Принадлежность таблицы к базе данных.

Пример

Следующий пример выводит имена баз данных в каталоге ...\Samples\Data.

Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

CLEAR
DISPLAY FILES LIKE *.DBC

См. Также

Другие Ресурсы

DISPLAY Команда
DIR или DIRECTORY Команда
LIST Команда
DISPLAY DATABASE Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISPLAY MEMORY Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DISPLAY MEMORY
Смотрите также Пример
CollapseAll image

Отображает текущее содержимое переменных памяти и массивов.

DISPLAY MEMORY [LIKE FileSkeleton]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

[LIKE FileSkeleton]

Информацию о переменных памяти и массивах можно отображать выборочно соответственно шаблону FileSkeleton. Если вы задали LIKE FileSkeleton, Microsoft Visual FoxPro отобразит содержимое только тех переменных памяти и массивов, которые соответствуют шаблону имен FileSkeleton. FileSkeleton поддерживает символы подстановки, такие как ? и *. Например, чтобы отобразить все переменные памяти, имена которых начинаются с буквы A, выдайте команду:

CopyCode image Copy Code
DISPLAY MEMORY LIKE A*
[TO PRINTER [PROMPT]

Направляет вывод команды DISPLAY MEMORY на принтер.

Вы можете задать необязательное предложение PROMPT, по которому перед началом печати отображается специальное диалоговое окно. В этом диалоговом окне можно изменить установки принтера, включая число копий и номера печатаемых страниц. Набор параметров принтера, допускающих регулирование, определяется установленным в данный момент драйвером принтера. Ключевое слово PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName[ADDITIVE]]

Направляет вывод команды DISPLAY MEMORY в файл FileName. Если такой файл уже существует и установка SET SAFETY имеет значение ON, будет выдан запрос на подтверждение записи поверх файла.

ADDITIVE определяет что вывод будет осуществляться в конец указаного файла. Если опустить ADDITIVE, файл будет перезаписан.

[NOCONSOLE]

Подавляет вывод в главное окно Visual FoxPro или в активное пользовательское окно.

Expand image Замечание

Команда DISPLAY MEMORY показывает информацию (имя, тип, содержимое и состояние) о всех переменных памяти и массивах переменных памяти, определенных на данный момент. Она также отображает количество определенных переменных памяти, число занимаемых ими байтов и число доступных переменных памяти. DISPLAY MEMORY также выводит сведения о системных переменных памяти, меню, строках меню, заголовках меню и окнах.

Note Замечание

Количество использованных байтов отражает объем памяти, занятой переменными символьного типа. Символьные переменные - это единственный тип переменных памяти, для которых требуется дополнительная память помимо той, что выделена счетчиком переменных памяти, заданным элементом конфигурации MVCOUNT.

Expand image Пример

В следующем примере создавется несколько переменных памяти и им присваиваются значения. Команда DISPLAY MEMORY сначала отображает все переменные памяти которые начинются с "sam", а затем отображает все переменные памяти имеющие пять букв и заканчивающиеся на "exit."
CopyCode image Copy Code
STORE 'Goodbye' TO sample1
STORE 'Hello' TO sample2
STORE .T. TO texit
STORE .F. TO mexit

CLEAR
DISPLAY MEMORY LIKE sam*
DISPLAY MEMORY LIKE ?exit

Expand image Смотрите также

Справочное руководство

Команда DISPLAY
Команда DECLARE
Команда DIMENSION
Команда LIST
Команда STORE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DISPLAY OBJECTS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DISPLAY OBJECTS
Смотрите также Пример
CollapseAll image

Отображает информацию об объекте или группе объектов.

DISPLAY OBJECTS [LIKE cObjectSkeleton]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

LIKE cObjectSkeleton

Отображает информацию о подмножестве объектов. cObjectSkeleton представляет собой шаблон спецификации объектов, поддерживающий символы подстановки (* и ?). Например, чтобы отобразить все объекты, начинающиеся на букву A, выдайте следующую команду:

CopyCode image Copy Code
DISPLAY OBJECTS LIKE A*
TO PRINTER [PROMPT]

Направляет вывод команды DISPLAY OBJECTS на принтер.

Можно использовать необязательное предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды DISPLAY OBJECTS в файл, заданный именем FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет в конец указанного файла. Если Вы опускаете ADDITIVE, то файл обновляется значением выражения.

NOCONSOLE

Подавляет вывод в главное окно Visual FoxPro или в активное пользовательское окно

Expand image Замечание

Команда DISPLAY OBJECTS отображает следующую информацию о всех существующих объектах:

  • Свойства и их значения.

  • Методы.

  • Объекты-члены и класс или подкласс, на котором они базируются.

  • Класс или подкласс, на котором базируются данные объекты.

  • Иерархия классов для объектов.

Команда DISPLAY OBJECTS заполняет информацией все главное окно Visual FoxPro или пользовательское окно, а затем делает паузу. Чтобы просмотреть следующую порцию информации, нажмите любую клавишу или щелкните мышью. Команда DISPLAY аналогична команде LIST, за исключением того, что LIST выдает ту же информацию непрерывным потоком, без пауз.

Expand image Пример

В следующем примере команда DEFINE CLASS и функция CREATEOBJECT( ) используются для создания двух пользовательских классов, FormChild и FormGrandChild, на основе базового класса Form системы Visual FoxPro. Команда DISPLAY OBJECTS отображает информацию об объектах и их свойствах.
CopyCode image Copy Code
CLEAR
frmMyForm = CREATEOBJECT("FormGrandChild")
DISPLAY OBJECTS LIKE frm*
RELEASE frmMyForm

DEFINE CLASS FormChild AS FORM
ENDDEFINE

DEFINE CLASS FormGrandChild AS FormChild
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда DISPLAY
Команда LIST OBJECTS
Image Control (Visual FoxPro)
OLE Bound Control
OLE Container Control
Команда DISPLAY MEMORY

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DISPLAY PROCEDURES Command

Visual FoxPro 9.0 Справка по языку
Команда DISPLAY PROCEDURES
Смотрите также Пример

Отображает имена процедур, помещенных в текущую базу данных.

DISPLAY PROCEDURES [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
 [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет информацию, возвращенную командой DISPLAY PROCEDURES, на принтер. Вы можете включить опцию PROMPT для отображения диалога выбора принтера перед началом печати. Поместите ключевое слово PROMPT непосредственно после параметра TO PRINTER.
TO FILE FileName

Направляет вывод, порожденный командой DISPLAY PROCEDURES в файл, указанный в FileName. Если файл уже существует и установка SET SAFETY задана в ON, Visual FoxPro отображает запрос, хотите ли вы перезаписать файл.
ADDITIVE

Используется, если требуется сделать добавление в конец указанного файла. Если вы опустите параметр ADDITIVE при выводе в существующий файл, то файл будет перезаписан.
NOCONSOLE

Подавляет вывод в главное окно Visual FoxPro или в активное окно, определенное пользователем.

Примечания

Хранимые процедуры создаются посредством команд APPEND PROCEDURES, COPY PROCEDURES и MODIFY PROCEDURE.

Пример

В следующем примере открывается база данных testdata и посредством DISPLAY PROCEDURES отображаются хранимые процедуры (если они имеются), находящиеся в этой базе данных. Если в базе данных не окажется хранимых процедур, вы можете запустить пример из темы APPEND PROCEDURES для добавления процедуры в базу данных.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

CLEAR
DISPLAY PROCEDURES && Displays stored procedures in the database

Смотрите также

Команда DISPLAY
Команда APPEND PROCEDURES
Команда COPY PROCEDURES
Команда CREATE DATABASE
Команда DISPLAY DATABASE
Команда LIST PROCEDURES
Команда MODIFY PROCEDURE
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISPLAY STATUS Command

Visual FoxPro 9.0 Описание Языка
Команда DISPLAY STATUS
См. также

Отображает параметры (Status) системного окружения.

DISPLAY STATUS [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Переопределяет вывод информации на принтер. Вы можете дополнительно указать опцию PROMPT для отображения диалогового бокса настройки параметров печати. В этом боксе определяются несколько параметров: количество копий, номера выводимых страниц и. т.д.; вид диалогового бокса настройки печати зависит от используемого драйвера печати. Опция PROMPT размещается сразу после опции TO PRINTER.
TO FILE FileName

Определяет вывод информации по команде DISPLAY STATUS в файл с именем FileName. Если файл существует и включена команда SET SAFETY ON, Вам будет занан вопрос о перезаписи существующего файла.
ADDITIVE

Указывает, что выводимая информация будет добавлена в конец файла. Если Вы опускаете опцию ADDITIVE, то существующий файл будет перезаписан.
NOCONSOLE

Подавляет вывод информации на экран системы Visual FoxPro или в активное пользовательское окно.

Комментарии

Отображает информацию о системных параметрах окружения Visual FoxPro. Далее представлены основные категории выводимой информации:

Информация об открытых таблицах и соответствующих индексах:

  • Открытые таблицы

  • Открытые файлы memo

  • Алиасы таблиц

  • Кодовые страницы таблиц

  • Установленные связи между таблицами

  • Активные индексы и тэги

  • Открытые Индексные файлы

  • внешние индексные файлы и соответствующие тэги

  • Открытые структурные индексные файлы

  • Открытые составные индексные файлы

  • Уровень доступа к каждой таблице (монопольный или многопользовательский)

  • Блокировка записей соответствующих таблиц

  • Установка EXCLUSIVE

  • Установка LOCK

  • Установка MULTILOCKS

  • Установка SET REFRESH

  • Установка SET REPROCESS

Информация об открытых файлах (на низком уровне)

  • Открытые на низком уровне файлы

  • Дескрипторы данных файлов

  • Размещение указателя позиции в данных файлах

  • Атрибут уровня открытия (Read/write) даннгого файла.

Дополнительно выводится следующая информация об системном окружении Visual FoxPro

  • Используемый (открытый) процедурный файл

  • Тип Процессора

  • Путь поиска файлов (установка SET PATH)

  • Текущий каталог Visual FoxPro (установка SET DEFAULT)

  • Назначенный принтер (по-умолчанию)

  • Левый край печати

  • Текущая рабочая область

  • Другие установки команды SET

  • Загруженные двоичные модули (API-библиотеки)

  • DDE - информация

  • Текущая кодовая страница

  • Текущая Collating Sequence (последовательность обработки индексных выражений)

  • Кодовая страница Компилятора

  • Текущий формат данных типа Data

  • Определенные клавиатурные макросы

  • Как передаются параметры в пользовательские функции

  • Опции Textmerge

  • Внешние ссылки на функции (DLLs)

См. также

Другме ссылки

Команда DISPLAY
Команда LIST
Команда DISPLAY STRUCTURE
Команда DISPLAY PROCEDURES
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISPLAY STRUCTURE Command

Visual FoxPro 9.0 Language Reference
DISPLAY STRUCTURE Command
See Also Example

Отображает на экране структуру таблицы. Отображаются имена полей, их тип и длина.

DISPLAY STRUCTURE [IN nWorkArea | cTableAlias]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

IN nWorkArea | cTableAlias

Отображается структура таблицы, открытой в текущей или указанной рабочей области. nWorkArea определяет номер рабочей области, cTableAlias определяет имя рабочей области (или алиаса таблицы).
TO PRINTER [PROMPT]

Перенаправляет вывод информации на принтер.Вы можете включить опцию PROMPT для отображения соответствующего диалогового бокса управления принтером перед началом печати. В этом диалоговом боксе Вы можете подмтроить вывод на принтер, например, указать количество копий, или подстроить страницу печати. Данный диалоговый бокс зависит от используемого в данный момент драйвера принтера. Опция PROMPT размещается сразу же после опции TO PRINTER.
TO FILE FileName

Перенаправляет вывод информации о структуре таблицы в файл, указанный в параметре FileName. Если указанный файл существует и включена команда SET SAFETY ON, то файл будет перезаписан.
ADDITIVE

Определяет, что выводимая информация будет добавлена в файл вывода. Если Вы опускаете опцию ADDITIVE, то данный файл будет перезаписан.
NOCONSOLE

Подавляет вывод информации на главное окно Visual FoxPro, или текущее активное окно пользователя.

Комментарии

DISPLAY STRUCTURE также выводит следующую информацию о таблице:

  • Общий размер всех полей таблицы.

  • Количество десятичных знаков в полях типа Numeric, Double, или Float.

  • Поддержку значения Null для каждого поля.

  • Если поле имеет тип autoincrementing, то два последних столбца имеют характеристики Next и Step.

  • Текущее количество записей в таблице, а также дату последней корректировки таблицы.

  • Размер блока memo, если в таблице есть соответствующие поля memo.

  • Кодовая страница таблицы.

  • Если таблица имеет соответствующий структурный индекс, и имена тэгов совпадают с именами соответствующих полей таблицы, то команда DISPLAY STRUCTURE отображает порядок сортировки в соответствующих тэгах (ascending или descending), а также показывает collation sequence (последовательность сопоставления) индексных выражений. См. дополнительно описание раздела Команда INDEX .

Если доступ к полю ограничен командой SET FIELDS , то соответствующее поле отмечено значком (>) .

Пример

В следующем примере: открывается таблица customer из базы данных testdata . Команда DISPLAY STRUCTURE используется для отображения структуры данной таблицы.

Копировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

CLEAR
DISPLAY STRUCTURE

См. также

Другие ссылки

Команда DISPLAY
Команда LIST
Команда DISPLAY TABLES
Команда DISPLAY STATUS
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISPLAY TABLES Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DISPLAY TABLES
Смотрите также Пример
CollapseAll image

Отображает все таблицы, содержащиеся в текущей базе данных, и информацию о них.

DISPLAY TABLES [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет информацию, возвращаемую командой DISPLAY TABLES на принтер.

Можно использовать предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. Ключевое слово PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды DISPLAY TABLES в файл FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет в конец указанного файла. Если Вы опускаете ADDITIVE, то файл обновляется значением выражения.

NOCONSOLE

Подавляет вывод в главное окно Visual FoxPro или в активное пользовательское окно.

Expand image Замечание

Возвращаемая информация образует подмножество информации, демонстрируемой по команде DISPLAY STATUS. Однако данные, выдаваемые командой DISPLAY TABLES, содержат информацию, относящуюся только к таблицам, причем независимо от того, являются ли эти таблицы открытыми.

Отображается следующая информация:

  • Имя таблицы

  • Путь к таблице

Expand image Пример

В следующем примере открывается таблица customer в базе данных testdata. DISPLAY TABLES используется для отображения информации о таблицах базы данных.
CopyCode image Copy Code
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data\')   && Sets path to database
OPEN DATABASE testdata  && Open testdata database

CLEAR
DISPLAY TABLES  && Displays information about tables in the database

Expand image Смотрите также

Справочное руководство

Команда DISPLAY
Команда ADD TABLE
Команда CLOSE
CREATE DATABASE Command
Команда LIST TABLES
Команда OPEN DATABASE
Команда REMOVE TABLE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DISPLAY VIEWS Command

Visual FoxPro 9.0 Описание Языка
Команда DISPLAY VIEWS
См. также Пример

Отображает информацию об SQL-представлениях текущей базы данных, которые основаны на локальных или удаленных таблицах.

DISPLAY VIEWS [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Переопределяет вывод информации на принтер. Вы можете дополнительно указать опцию PROMPT для отображения диалогового бокса настройки параметров печати. В этом боксе определяются несколько параметров: количество копий, номера выводимых страниц и. т.д.; вид диалогового бокса настройки печати зависит от используемого драйвера печати. Опция PROMPT размещается сразу после опции TO PRINTER.
TO FILE FileName

Определяет вывод информации по команде DISPLAY VIEWS в файл с именем FileName. Если файл существует и включена команда SET SAFETY ON, Вам будет занан вопрос о перезаписи существующего файла.
ADDITIVE

Указывает, что выводимая информация будет добавлена в конец файла. Если Вы опускаете опцию ADDITIVE, то существующий файл будет перезаписан.
NOCONSOLE

Подавляет вывод информации на экран системы Visual FoxPro или в активное пользовательское окно.

Комментарии

Используйте функцию DBGETPROP( ) для получения дополнительной информации об SQL-представлениях текущей базы данных.

SQL-представления создаются командой CREATE SQL VIEW.

Пример

В следующем примере открывается база данных testdata. Команда CREATE SQL VIEW создает представление с именем myview. Отображается Дизайнер Представлений, для того, чтобы задать параметры нового представления. После закрытия дизайнера отображается информация о созданном SQL-представлении.

Копировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
CREATE SQL VIEW myview

CLEAR
DISPLAY VIEWS

См. также

Другие ссылки

Команда DISPLAY
Команда CREATE DATABASE
Колманда CREATE SQL VIEW
Функция DBGETPROP( )
Команда DISPLAY DATABASE
Команда LIST VIEWS
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Команда DO CASE ... ENDCASE

Visual FoxPro 9.0 Справочное руководство по языку
Команда DO CASE ... ENDCASE
Смотрите также Пример
CollapseAll image

Выполняет первую группу команд, для которых заданное условное выражение имеет значение "истина" (.T.).

DO CASE
   CASE lExpression1
   [Commands]
   [CASE lExpression2
   [Commands]]
   ...
   [CASE lExpressionN
   [Commands]]
   [OTHERWISE
   [Commands]]
ENDCASE

Параметры

CASE lExpression1 Commands...

Когда обнаруживается первое выражение CASE, имеющее значение "истина" (.T.), выполняется группа следующих за ним команд. Выполнение продолжается до тех пор, пока не встретится следующее предложение CASE или ENDCASE. После этого управление передается первой команде, следующей за ENDCASE.

Если выражение CASE имеет значение "ложь" (.F.), то следующие за ним команды, вплоть до следующего предложения CASE, игнорируются.

Выполняется только одна группа команд. Это будет первая группа команд, для которых выражение CASE имеет значение "истина" (.T.). Все последующие выражения CASE игнорируются, даже если они истинны (.T.).

OTHERWISE Commands

Если все выражения CASE имеют значение "ложь" (.F.), то в зависимости от предложения OTHERWISE может выполняться альтернативный набор команд.

  • Если предложение OTHERWISE задано, выполняется группа следующих за ним команд, после чего управление передается первой команде, стоящей после ENDCASE.

  • Если предложение OTHERWISE опущено, выполнение продолжается с первой команды, следующей за предложением ENDCASE.

Expand image Замечания

DO CASE используется в тех случаях, когда требуется выполнить группу команд Visual FoxPro в зависимости от значения некоторого логического выражения. При выполнении DO CASE последовательно вычисляются логические выражения; их значения определяет, какой именно набор команд следует выполнить.

После команды DO CASE и предложения ENDCASE в одной строке с ними можно задавать комментарии. Эти комментарии игнорируются во время компиляции и выполнения программы.

Expand image Пример

В данном примере Visual FoxPro вычисляет каждое предложение CASE до тех пор, пока не найдет переменную MONTH в одном из списков. Соответствующая строка сохраняется в переменной rpt_title происходит выход из структуры DO CASE.
CopyCode image Copy Code
STORE CMONTH(DATE( )) TO month  && The month today

DO CASE  && Begins loop

   CASE INLIST(month,'January','February','March')
      STORE 'First Quarter Earnings' TO rpt_title

   CASE INLIST(month,'April','May','June')
      STORE 'Second Quarter Earnings' TO rpt_title

   CASE INLIST(month,'July','August','September')
      STORE 'Third Quarter Earnings' TO rpt_title

   OTHERWISE
      STORE 'Fourth Quarter Earnings' TO rpt_title
ENDCASE  && Ends loop
WAIT WINDOW rpt_title NOWAIT

Expand image Смотрите также

Reference

Команда DO WHILE ... ENDDO
Команда EXIT
Команда FOR EACH ... ENDFOR Command
Команда FOR ... ENDFOR
Команда IF ... ENDIF
Функция IIF( )
Команда SCAN ... ENDSCAN

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DO Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DO
Смотрите также
CollapseAll image

Выполняет программу или процедуру Visual FoxPro.

Note Обратите внимание

Команда DO выполняет программу Visual FoxPro, которая находится в файле программы. Для более детальной информации об уровнях вложения програмы смотрите Visual FoxPro System Capacities.

DO ProgramName1 | ProcedureName [IN ProgramName2] [WITH ParameterList]

Параметры

ProgramName1

Задает имя программы, которую нужно выполнить..

Если имя программы задано без расширения, Visual FoxPro ищет и пытается выполнить следующие версии программы (в указанном порядке):

  • Executable (.exe)

  • Application (.app)

  • Compiled (.fxp)

  • Program (.prg)

Если вы хотите с помощью команды DO выполнить конкретную программу меню, программу формы или запрос, нужно задать соответствующее расширение имени (.mpr, .spr, or .qpr).

ProcedureName

Задает имя процедуры, которую нужно выполнить. Visual FoxPro сначала ищет эту процедуру в составе выполняемой в данный момент программы. Если процедуры там нет, Visual FoxPro ищет ее в файлах процедуры, открытых по команде SETPROCEDURE.

Если задать предложение IN ProgramName2 то Visual FoxPro будет искать процедуру в указанном файле.

В одном исполняемом файле (.EXE) или в одном приложении (.APP) может оказаться несколько процедур с одним именем. Когда вы используете команду DO для запуска процедуры в исполняемой версии или в приложении, Visual FoxPro ищет процедуру только в главной программе исполняемого файла или приложения.

IN ProgramName2

EВыполняет процедуру из файла программы, носящего имя ProgramName2.

Найдя файл, Visual FoxPro выполняет процедуру. Если файл программы найти не удается, появляется сообщение "File does not exist" [Файл не существует]. Если файл программы найден, но в нем нет заданной процедуры, появляется сообщение "Procedure is not found" [Процедура не найдена].

WITH ParameterList

Задает параметры для передачи в программу или процедуру. Параметры списка ParameterList cмогут представлять собой выражения, переменные памяти, литералы, поля или пользовательские функции. По умолчанию параметры передаются в программы и процедуры по ссылке. Чтобы передать параметр по значению, поставьте его в скобки.

Смотрите Команда SET UDFPARMS как передавать параметры по ссылке и по значению.Максимальное число параметров, которые можно передать в программу или процедуру, равно 26. Подробнее о передаче параметров смотрите Команда LPARAMETERS and Команда PARAMETERS.

Expand image Замечание

Когда вы запускаете программу с помощью команды DO, начинают выполняться команды, содержащиеся в файле программы, и это происходит до тех пор, пока не возникнет одна из следующих ситуаций:

  • Встретилась команда RETURN.

  • Выполнена команда CANCEL.

  • Выдана другая команда DO.

  • Достигнут конец файла.

  • Выполнена команда QUIT.

Когда выполнение программы завершится, управление возвращается в соответствующую среду, одну из следующих:

  • В програму вызвавшую DO

  • В окно команд

  • В операционную систему

Если вы выбрали в меню Program команду Do и выполняете программу из каталога или диска, отличных от используемых по умолчанию, Visual FoxPro автоматически принимает каталог и диск с этой программой в качестве используемых по умолчанию.

Вы таккже може задать как приложению искать данные и ресурсы такие как фнкции, процедуры, выполняемые файлы, и прочие использую SYS(2450) - Application Search Path Order.

Expand image Смотрите также

Справочное руководство

Команда CLEAR
Команда LPARAMETERS
Команда PARAMETERS
Функция PARAMETERS( )
Команда PRIVATE
Команда PROCEDURE
Команда PUBLIC
Команда SET DEFAULT
Команда SET DEVELOPMENT
Команда SET PATH
Команда SET PROCEDURE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DO FORM Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DO FORM
Смотрите также Пример
CollapseAll image

Запускает скомпилированную форму или набор форм, созданных в дизайнере форм.

DO FORM FormName | ? [NAME VarName [LINKED]] [WITH cParameterList]
   [TO VarName] [NOREAD] [NOSHOW]

Параметры

FormName

Указывает имя формы или набор форм для запуска.

?

Отображает диалоговое окно Do, в котором вы моджете выбрать форму или набор форм для запуска.

NAME VarName [LINKED]

Определяет переменную или элемент массива, из которых вы можете обращаться к форме или набору форм. Если вы укажите переменную, которая еще не существует, то Microsoft Visual FoxPro автоматически создаст ее. Если вы укажите элемент массива, то в этом случае, массив должен существовать до выдачи команды DO FORM. Если переменная или массив, указанные вами, уже существуют, то их содержимое будет переписано новым.

Если вы опустите опцию NAME, Visual FoxPro создаст переменную объектного типа с тем же самым именем, которое имеет файл формы или набора форм.

Включите ключевое слово LINKED для установки ссылки формы на переменную, ассоциированную с ней, для того, чтобы форма высвобождалась, когда переменная уходила из области видимости. Если вы не включите LINKED, форма останется активной, несмотря на то, что не имеется объектной переменной, ассоциированной с формой.

WITH cParameterList

Определяет параметры, посылаемые форме или набору форм.

Если запущен набор форм, параметры передаются в метод Init набора форм, если свойство WindowType набора форм установлено в значение ModeLess (0) или Modal (1). В случае, если значение свойства WindowType набора форм установлено в Read (2) или ReadModal (3), то параметры посылаются в метод Load набора форм.

TO VarName

Указывает переменную для хранения значения, возвращаемого формой. Если переменная еще не существует, Visual FoxPro автоматически создаст ее. Используйте команду RETURN в процедуре события Unload формы для указания возвращаемого значения. Если вы не указали возвращаемое значение, то будет возвращено дефолтное true (.T.). Если вы используете TO, то свойство формы WindowType должно быть установлено в 1 (Modal). Если процедура события Init формы возвращает .F., экземпляр формы не будет создан,и процедура события Unload не вернет значения в VarName.

NOREAD

Определяет, что форма будет создана и отображена, хотя элементы управления будут заблокированы до выпуска команды READ. NOREAD игнорируется, если свойства объекта набора форм WindowType установлено в 2 (Read).

NOSHOW

Определяет, что метод формы Show не будет вызван при запуске формы. Когда вы включаете ключевое слово NOSHOW и запускаете форму, форма остается невидимой до тех пор, пока свойство формы Visible не будет установлено в true (.T.) или не будет вызвать метод формы Show.

Expand image Примечания

DO FORM исполняет метод Show для форм или набора форм.

Значения Read (2) или ReadModal (3) для свойства WindowType включены для совместимости назад и доступны только для форм, сконвертированныз из ранниз версий FoxPro.

Expand image Пример

Приведенный ниже пример запускает пример - Swatch.scx.
CopyCode image Скопировать код
DO FORM (HOME(2) + 'Solution\Controls\Timer\Swatch.scx')

Expand image Смотрите также

Справочное руководство

Команда COMPILE
Команда CREATE FORM
Команда MODIFY FORM

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DO WHILE ... ENDDO Command

Visual FoxPro 9.0 Справочное руководство по языку
DO WHILE ... ENDDO Command
Смотрите также Пример
CollapseAll image

Выполняет группу команд, входящих в условный цикл.

DO WHILE lExpression
      Commands
   [LOOP]
   [EXIT]
ENDDO

Параметры

lExpression

Задает логическое выражение, значение которого определяет, будут ли выполняться команды, размещенные между DO WHILE и ENDDO. Пока значение lExpression "истина" (.T.), команды этой группы будут выполняться.

Commands

Задает группу команд Visual FoxPro, которые следует выполнять, пока значением выражения lExpression остается "истина" (.T.).

LOOP

Возвращает управление непосредственно оператору DO WHILE. LOOP можно размещать в любом месте между DO WHILE и ENDDO.

EXIT

Передает управление из цикла DO WHILE первой команде, стоящей после ENDDO. EXIT можно размещать в любом месте между DO WHILE и ENDDO.

Expand image Замечание

Группа команд, расположенных между DO WHILE и ENDDO, выполняется, пока значением логического выражения lExpression остается "истина" (.T.). Каждый оператор DO WHILE должен иметь соответствующий ему оператор ENDDO.

После операторов DO WHILE и ENDDO в той же строке можно вставлять комментарии. Во время компиляции и выполнения программы комментарии игнорируются.

Expand image Пример

В следующем примере подсчитывается общий наличный запас продуктов, которые стоят больше 20$; при этом используется цикл DO WHILE, работающий до наступления конца файла (EOF). Затем происходит выход из цикла DO WHILE и итоговая сумма появляется на экране.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE products  && Opens Products table
SET TALK OFF
gnStockTot = 0

DO WHILE .T.  && Begins loop
   IF EOF( )
      EXIT
   ENDIF
   IF unit_price < 20
      SKIP
      LOOP
   ENDIF
   gnStockTot = gnStockTot + in_stock
   SKIP
ENDDO     && Ends loop

CLEAR
? 'Total items in stock valued over 20 dollars:'
?? gnStockTot

Expand image Смотрите также

Справочное руководство

Команда DO CASE ... ENDCASE
Команда FOR EACH ... ENDFOR
Команда FOR ... ENDFOR
Команда IF ... ENDIF
Функция IIF( )
Команда SCAN ... ENDSCAN

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DOCK Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DOCK
Смотрите также Пример
CollapseAll image

Пристыковывает окно инструмента Integrated Development Environment (IDE) или панель инструметов к окну рабочего стола Visual FoxPro или другому окну IDE. Имеется две версии синтаксиса.

Замечание Замечание

DOCK WINDOW не поддерживается в run time.

DOCK WINDOW WindowName1 | NAME ObjectName1 POSITION nPosition [ WINDOW WindowName2 | NAME ObjectName2 ]
DOCK WINDOW WindowName1 WINDOW WindowName2

Параметры

WindowName1

Определяет имя стыкуемого окна или панели инструментов. Для определенных пользователем понелей инструментов, вы можете в качестве имени использовать значение, хранящееся в свойстве Caption.

Если вы укажите в качестве стыкуемого окна нестыкуемое окно, оно становится стыкуемым внутренне. Например:

CopyCode image Скопировать код
WDOCKABLE("Command", .F.)
DOCK WINDOW Command
? WDOCKABLE("Command")  && Возвратит .T.

Если вы желаете пристыковать единичное окно, которое уже привязано внутри закладочного или линковочного контейнера к главному окну Visual FoxPro, то вы сначала должны расстыковать его из контейнера, например с помощью POSITION -1 или WDOCKABLE(, .F. ).

Закладочный или линковочный контейнер представляет собой набора окон, объединенных закладками или связкой.

NAME ObjectName1

Определяет объектную ссылку на действительную стыкуемую формы для стыовки. Если ObjectName1 уже состыкован, Visual FoxPro расстыковывает его и перестыковывает его так, как указано в команде.

Замечание Замечание

Если ObjectName1 неопределено или недействительно, Visual FoxPro сгенерирует ошибку .

POSITION nPosition

Определяет позицию стыковки окна или панели инструментов.

В приведенной ниже таблице перечислены возможные значения для nPosition.

nPosition Позиция стыковки

-3

Расстыковать внутренний контейнер.

-2

Расстыковать внешний контейнер.

-1

Расстыковать окно.

Замечание Замечание

Когда вы укажите значение -1 для POSITION, вы не можете включить в команду опцию WINDOW, так как при включении этой опции при указанном значении POSITION будет выведена ошибка синтаксиса..

0

Сверху

1

Слева

2

Справа

3

Снизу

Если nPosition установлено в значение между 0 и 3, окно стыкуется линковочной стыковной (link-docked), например, оно появится прикрепленным к какой-то из сторон другого окна.

4

Страничная или закладочная стыковка (Tabbed)

Если значение nPosition установлено в 4, то окно стыкуется страничной стыковкой, например, оно появится в виде окна, объединенного с другими в виде стэка окон, переключаться между которыми можно с помощью закладок.

Замечание Замечание

Если вы указали 4 в качестве значения для POSITION, то вы должны определить опцию WINDOW. В противном случае, если вы не сделаете этого, произойдет ошибка.
Замечание Замечание

Закладочная и линковочная стыковки не поддерживаются для окон отладчика внутри его собственного фрейма. Вы можете управлять установкой фрейма в диалоговом блоке Options. Панели инструментов не поддерживают страничной и линковочной стыковок.

Если страничный или линковочный контейнер пристыкован, вы можете расстыковать контейнер, если вы укажите для любого из составляющего его окон, значение минус 2 или минус 3, в соответствии с приведенными ниже подробностями:

  • Если вы пошлете значение -2, контейнер целиком отстыковывается от рабочего стола Visual FoxPro, если он был состыкован с ним.

  • Если вы пошлете значение -3, то будет расстыкован только внутренний контейнер, который является частью большего наружного контейнера. Это применимо к контейнерам со страничной стыковкой связанным внутри с линковочными контейнерами. Если указанное окно не является частью внутреннего контейнера со страничной стыковкой, Visual FoxPro рассматривает значение -3 как будто оно равно -2 и расстыковывает внешний контейнер целиком .

  • Если указанное окно не является частью контейнера, Visual FoxPro расстыковывает его, как будто бы вы послали значение -1.

Если окно или контейнер уже расстыкованы, Visual FoxPro ничего не делает.

Для получения более подробной информации о страничной и линковочной стыковках, смотрите Как: стыковать окна.

WINDOW WindowName2

Определяет имя целевого окна или панели инструментов, к которым производится стыковка. Если вы опустите параметр WindowName2, окно будет стыковать к окну рабочего стола Visual FoxPro.

Замечание Замечание

Visual FoxPro сбрасывает ключевое слово WINDOW для панелей инструментов. Вы можете стыковать панели инструментов только к рабочему столу. Никакое другое окно не может быть пристыковано к панели инструментов.

Вы можете использовать опцию WINDOW для линковочной или страничной стыковок. DOCK WINDOW использует позицию страничной стыковки, как значение по умолчанию, если вы используете команду DOCK WINDOW...WINDOW без включания в нее опции POSITION.

Для стыковки страничного или линковочного контейнера целиком к окну рабочего стола Visual FoxPro, вызовите DOCK WINDOW с любым окном, состыкованным в контейнере или опустите опцию WINDOW.

Если вы укажите нестыкуемое окно в качестве целевого объекта стыковки, Visual FoxPro сгенерирует "Function argument value, type, or count is invalid (Error 11)". Например:

CopyCode image Скопировать код
DOCK WINDOW Command WINDOW Standard   && Generates an error.
NAME ObjectName2

Определяет объектную ссылку на действительную стыкуемую форму, к которой предполагается стыковка. Если ObjectName2 уже состыкован, Visual FoxPro расстыковывает его и перестыковывает так, как определено в команде.

Замечание Замечание

Если ObjectName2 неопределено или недействительно, Visual FoxPro сгенерирует ошибку.

Expand image Примечания

Командой DOCK WINDOW поддерживаются перечисленные ниже IDE окна и панели инструментов:

  • Все системные панели инструменов

  • Call Stack

  • Command

  • Data Session (View)

  • Document View

  • Locals

  • Output

  • Properties

  • Trace

  • Watch

Как системные, так и определенные пользователем панели инструментов поддерживаются командой DOCK WINDOW.

Замечание Замечание

Указанное окно должно существовать на рабочем столе Visual FoxPro; в противном случае генерируется ошибка.

В предыдущих версиях Visual FoxPro, окно Data Session window всегда обозначалось как окно View. Кроме того, язык, используемый для управления этим окном, такой как HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), также ссылался на это окно, как на окно View. Visual FoxPro продолжаться ссылаться на окно, именно как на окно View при использовании в команде DOCK WINDOW.

DOCK WINDOW всегда принуждает окно, если оно существует, становиться стыкуемым и изменяет установку свойства окна Visible в True (.T.).

Вы можете стыковать множество окон, которые стыкуются как группа к другому окну с помощью указания одного из стыкуемых окон. Однако, если объект, к которому предполагается стыковка уже существует в том же самом контейнере, что и указанное окно, то только это окно и стыкуется. Это предотвращает циклические связи. Например, приведенные ниже код перестыковывает окно Command window к правой стороне окна Properties:

CopyCode image Скопировать код
DOCK WINDOW Command POSITION 4 WINDOW Properties
DOCK WINDOW Command POSITION 2 WINDOW Properties

Сравните этот пример с приведенным ниже кодом, который пристыковывает окна Command и View к окну Properties страничной стыковкой:

CopyCode image Скопировать код
DOCK WINDOW Command POSITION 4 WINDOW View
DOCK WINDOW Command POSITION 4 WINDOW Properties
Замечание Совет

Удаление или редактирование файла ресурса FoxUser.dbf, который содержит ваши пользовательские установки, восстанавливает ваши оконные установки в их состояние по умолчанию.

Expand image Пример

Приведенный пример использует команду DOCK WINDOW для стыковки окна Command к окну рабочего стола Visual FoxPro и использует функцию ADOCKSTATE( ) для получения информации о состояния стыковки окна Command.

Во-первых, убедитесь, что окно Command открыто. После стыковки окна Command, вы можете увидеть, что панель инструментов Standard и окно Command пристыкованы к окну рабочего стола Microsoft Visual FoxPro. Позиция панелей инструментов или окон, возвращаемая в массив функцией ADOCKSTATE( ) может варьироваться в зависимости от порядка, в котором стыковались панели инструментов или окна.

CopyCode image Скопировать код
CLEAR
DOCK WINDOW Command POSITION 0
dockNum = ADOCKSTATE(dockState)
? dockNum   && Returns 2 only if Command window and
            && Standard toolbar exist.
? dockState(1,1)  && Outputs "Standard".
? dockState(1,4)  && Outputs "Microsoft Visual FoxPro".
? dockState(2,1)  && Outputs "COMMAND".
? dockState(2,4)  && Outputs "Microsoft Visual FoxPro".

Expand image Смотрите также

Справочное руководство

Функция ADOCKSTATE()
Функция WDOCKABLE()
Метод Dock
Свойство DockPosition
Свойство Docked
Событие BeforeDock
Событие AfterDock
Событие UnDock

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DOEVENTS Command

Visual FoxPro 9.0 Описание Языка
DOEVENTS, команда
См. также
CollapseAll image

Выполняет все Незаконченные События системы Windows.

Note Примечание

Вы не можете выполнять команду DOEVENTS используя косвенный вызов, заключив ее в круглые скобки (()); например, "DOEVENTS( )".

Вы можете использовать команду DOEVENTS в достаточно простых случаях, например, для отмены длительного выполнения процесса поиска требуемого файла. Длительные процессы значительно загружают Процессор рабочей станции, для этого лучше использовать пользовательские Контролы, управляемые объектом Timer или с помощью передачи рассматриваемой задачи некоторому объекту COM (Server executable (.exe)). В этом случае, подобные задачи передаются за пределы вашего Приложения и выполняются по правилам операционной системы Windows, которая оптимизирует использование памяти и распределение процессорного времени между выполняемыми задачами.

Caution note Обратите Внимание

Всякий раз, при выполнении некоторой задачи в программном коде некоторого События, вам необходимо отслеживать, чтобы данное событие не запускалось из других фрагментов вашего Приложения до того момента, пока не завершился первый процесс. Такие ситуации обычно приводят к непредсказуемым результатам, вплоть до разрушения Приложения. Кроме того, не используете команду DOEVENTS, если другие Приложения могут обратиться к вашему Приложению в тот момент, когда вы запускаете некоторый процесс, связанный с рассматриваемым Событием.

DOEVENTS [FORCE]

Параметры

FORCE

Обеспечивает остановку выполнения программного кода Visual FoxPro пока выполняется системное событие Windows, например такое как перемещение указателя мышки.

Note Обратите Внимание

Использование ключевой опции FORCE усиливает выполнение рассматриваемого программного кода, уплотняет выполнение. Следовательно, вам нужно быть особенно внимательным при примерении команды DOEVENTS FORCE в критичных циклах, таких как DO WHILE.

Expand image Комментарии

Когда значение свойства AutoYield установлено в = False (.F.), программный код процедуры выполняется, все активные события текущего Окна или Формы выстраиваются в очередь на обработку. Команда DOEVENTS инициирует (запускает) процесс обслуживания указанной очереди Событий и других фрагментов программного кода, связанных с рассматриваемыми незаконченными событиями текущего Окна или Формы. Если в указанной очереди отсутствуют незаконченные События, система Visual FoxPro игнорирует текущую команду DOEVENTS и продолжает выполнение программного кода дальше.....

Expand image См. также

Описание

AutoYield, свойство

Другие ссылки

События (Visual FoxPro)
Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DROP TABLE Command

Visual FoxPro 9.0 Описание Языка
DROP TABLE, команда
См. также
CollapseAll image

Исключает указанную Таблицу из текущей Базы Данных или удаляет данную Таблицу с Диска.

DROP TABLE TableName | FileName | ? [RECYCLE]

Expand image Параметры

TableName

Определяет имя Таблицы, которая исключается из контейнера Базы Данных или удаляется с Диска.

FileName

Определяет имя файла Таблицы, который удаляется с Диска.

?

Отображает диалоговый бокс Remove, в котором вы можете выбрать исключаемую таблицу из контейнера Базы Данных или удаляется с диска.

RECYCLE

Определяет опциональный параметр, определяющий удаление указанных файлов с помощью механизма Microsoft Windows Recycle Bin (с использованием Корзины).

Expand image Комментарии

Когда выполняется команда DROP TABLE для указанной таблицы вместе с ней исключаются соответствующие: все первичные индексы, значения для полей по-умолчанию, заданные правила контроля вводимых данных. Команда DROP TABLE также действует на другие Таблицы рассматриваемой базы данных, которые связаны с данной Таблицей правилами контроля данных или Связями - Отношениями, которые также исключаются из базы данных. В силу отсутствия исключаемой Таблицы имеющиеся Правила или Отношения с другими таблицами уже становятся неактуальными.

Любая исключаемая Таблица не может быть восстановлена в описании контейнера Базы Данных. Если даже действует текущая установка команды SET SAFETY = ON, вы не получите предупреждающего сообщения об исключении таблицы из базы данных (или удаления ее с диска).

Expand image См. также

Описание

ADD TABLE, команда
CLOSE, команды
CREATE DATABASE, команда
FREE TABLE, команда
OPEN DATABASE, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DROP VIEW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда DROP VIEW
Смотрите также
CollapseAll image

Удаляет SQL представление из текущей базы данных.

DROP VIEW ViewName

Expand image Возвращаемое значение

ViewName

Указывает имя представления, удаляемого из текущей базы данных.

Expand image Примечания

DROP VIEW идентично DELETE VIEW; DROP VIEW представляет собой стандартный ANSI SQL синтаксис для удаления SQL представления.

Используйте команду CREATE SQL VIEW для создания SQL представления и его ввода в текущую базу данных. Если SQL представление открывается, а затем удаляется, то курсор содержащий данные SQL представления не закрывается.

Expand image Смотрите также

Справочное руководство

Команда CREATE SQL VIEW
Команда DELETE VIEW
Команда OPEN DATABASE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


EDIT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда EDIT
Смотрите также Пример
CollapseAll image

Отображает поля для редактирования.

EDIT [FIELDS FieldList] [Scope] [FOR lExpression1] [WHILE lExpression2]
   [FONT cFontName[, nFontSize [, nFontCharSet]]] [STYLE cFontStyle] [FREEZE FieldName]
   [KEY eExpression1[, eExpression2]] [LAST | NOINIT] [LPARTITION]
   [NAME ObjectName] [NOAPPEND] [NOCAPTION] [NODELETE] [NOEDIT | NOMODIFY]
   [NOLINK] [NOMENU] [NOOPTIMIZE] [NORMAL] [NOWAIT]
   [PARTITION nColumnNumber [LEDIT] [REDIT]]
   [PREFERENCE PreferenceName] [REST] [SAVE] [TIMEOUT nSeconds]
   [TITLE cTitleText] [VALID [:F] lExpression3 [ERROR cMessageText]]
   [WHEN lExpression4] [WIDTH nFieldWidth] [WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN [COLOR SCHEME nSchemeNumber]

Параметры

FIELDS FieldList

Задает поля, которые появляются в окне редактирования. Поля отображаются в порядке, определенном в списке FieldList. В этот список можно включать поля из других связанных таблиц. В таких случаях перед именем поля нужно ставить псевдоним соответствующей таблицы и точку.

Если предложение FIELDS опущено, отображаются все поля таблицы в том порядке, в каком они фигурируют в структуре таблицы.

Список полей также может содержать любую комбинацию полей или вычисляемых полей, в том числе полей из таблиц, открытых в других рабочих областях. Список полей имеет следующий синтаксис:

CopyCode image Copy Code
FieldName1
   [:R]
   [:nColumnWidth]
   [:V = lExpression1 [:F] [:E = cMessageText]]
   [:P = cFormatCodes]
   [:B = eLowerBound, eUpperBound [:F]]
   [:H = cHeadingText]
   [:W = lExpression2]
   [, FieldName2 [:R]...]

Expand image Вычисляемые поля

В списке полей можно задавать операторы для создания вычисляемых полей. Вычисляемое поле содержит данные, созданные с помощью выражения и доступные только для чтения. Это выражение может иметь любой вид, но оно должно быть допустимым выражением Visual FoxPro.

Оператор, используемый для создания вычисляемого поля, имеет следующий синтаксис:

CalculatedFieldName = eExpression

В следующем примере создается вычисляемое поле location:

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
EDIT FIELDS location = ALLTRIM(city) + ', ' + country

В состав списка полей предложения FIELDS может входить восемь опций, которые обеспечивают специальные виды обработки для полей, отображаемых в окне редактирования.

: nColumnWidth

Задает размер изображения для поля в столбцах. Значение :nColumnWidthне влияет на размер поля в таблице, а лишь изменяет способ изображения поля в окне редактирования.

:R

В следующем примере открывается окно редактирования с полями cust_id и companys. Поле cust_id доступно только для чтения и не может быть изменено.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
EDIT FIELDS cust_id:R, company
:V = lExpression1

Задает опцию проверки, в соответствии с которой в окне редактирования выполняется проверка достоверности данных на уровне поля. Если выражение lExpression1 имеет значение "истина" (.T.) в момент выведения курсора из данного поля, то данные, записанные в это поле, считаются правильными и курсор переходит в следующее поле.

Если выражение lExpression1 имеет значение "ложь" (.F.), введенные данные считаются некорректными, курсор остается в поле и выдается сообщение об ошибке. Если значение lExpression1 равно 0, введенные данные также считаются некорректными и курсор остается в поле, но сообщение об ошибке не выдается.

По умолчанию выражение lExpression1 вычисляется только при попытке модифицировать поле. Чтобы выполнять принудительную проверку, задайте опцию :F.

Опция :E позволяет вам выдавать собственное сообщение об ошибке.

Опция проверки не действует для memo-полей.

:F

Задает опцию форсированной проверки достоверности, которая определяет, когда должно вычисляться выражение опции проверки (lExpression1) при выведении курсора из поля или при активизации другого окна. Если опция :F не задана, lExpression1 будет вычисляться только при внесении изменений в поле. Если опция :F задана, lExpression1 вычисляется даже тогда, когда поле не изменяется.

:E = cMessageText

Отображает сообщение об ошибке cMessageText вместо системного сообщения, выдаваемого по умолчанию.

Если выражение проверки достоверности :V = lExpression1 имеет значение "истина" (.T.), курсор выходит из поля без проблем. Если это выражение имеет значение "ложь" (.F.), курсор остается в поле и выдается сообщение об ошибке.

Если значение выражения проверки достоверности :V = lExpression1 равно 0, сообщение не выдается и курсор остается в данном поле. Это дает вам возможность выдавать собственные сообщения об ошибках в программах проверки достоверности.

Сообщение об ошибке выдается только в том случае, если установка SET NOTIFY имеет значение ON. Если действует установка SET BELL ON, раздается звуковой сигнал.

В следующем примере открывается таблица products и отображаются поля product_id и prod_name. Чтобы выполнить проверку достоверности поля product_id , введите в него значение, превышающее 100.

Опция :V представляет критерий достоверности. Опция :F форсирует проверку достоверности, чтобы она производилась независимо от того, изменялись ли данные. Опция :E заменяет системное сообщение об ошибке Visual FoxPro пользовательским сообщением.

В Visual FoxProсообщение об ошибке выдается в строке состояния внизу основного окна Visual FoxPro.

Чтобы закрыть окно редактирования, нажмите клавишу Esc.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Open products table
IF _WINDOWS OR _MAC
   SET STATUS BAR ON
ENDIF
USE products
EDIT FIELDS in_stock :V = in_stock < 100 ;
   :F ;
   :E = 'The stock amount must be less than 100'
:P = cFormatCodes

Задает опцию шаблона, которая позволяет создать шаблон редактирования в виде кодов cFormatCodes управляющих отображением и вводом данных для каждого поля в окне редактирования.

Подробнее о применении шаблонов с кодами редактирования смотрите описание свойств Formaty и InputMask.

В следующем примере опция шаблона использована для того, чтобы разрешить ввод в поле unit_price только числовых данных определенного формата:

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Open products table
EDIT FIELDS unit_price :P = '99,999.99'
:B = eLowerBound, eUpperBound[:F]

Задает набор граничных значений для данных. Выражения границ eLowerBound и eUpperBound должны иметь тот же тип, что и поле; в качестве этих выражений нельзя задавать пользовательские функции. Если введенные данные не попадают в диапазон между eLowerBound и eUpperBound, выдается системное сообщение, содержащее диапазон, который следует соблюдать.

По умолчанию введенные данные проверяются на нарушение граничных значений только при внесении изменений в содержимое поля. Чтобы форсировать проверку соблюдения граничных значений, задайте опцию принудительной проверки достоверности (:F).

В следующем примере определяется допустимый диапазон значений в поле in_stock от 1 до 100. Чтобы закрыть окно редактирования, нажмите клавишу Esc.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Open products table
EDIT FIELDS in_stock :B = 1, 100 :F
:H = cHeadingText

Задает опцию заголовка (:H), которая позволяет вам заменять имена поля, используемые по умолчанию, собственными заголовками с текстом cHeadingText. По умолчанию имена полей в окне редактирования ставятся левее самих полей.

В следующем примере для отображаемых полей задаются заголовки, определяемые пользователем.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Open products table
EDIT FIELDS prod_name :H = 'Product Name:', ;
   unit_price :H = 'Price per Unit:'
:W = lExpression2

Задает опцию WHEN, с помощью которой можно запретить вводить курсор в поле, в зависимости от значения логического выражения lExpression. Опция (:W) вычисляет значение lExpression. Если lExpression2 имеет значение "ложь" (.F.), вы не сможете вводить курсор в поле. Если lExpression2 меет значение "истина" (.T.), курсор можно вводить в поле. Выражение lExpression2 поддерживает пользовательские функции.

Если текущее поле помечено как доступное только для чтения, запрещается вводить курсор в любое поле. Это имеет место только в том случае, когда каждое поле содержит предложение WHEN с выражением, имеющим значение "ложь".

Scope

Задает диапазон записей, отображаемых в окне редактирования. Диапазон определяется следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Команды, использующие предложение Scope , воздействуют только на таблицу в активной рабочей области. По умолчанию областью действия команды EDIT являются все записи (предложение ALL).

Подробнее о предложениях диапазона смотрите тему Выражение Scope.

FOR lExpression1

Задает отображение в окне редактирования только записей, удовлетворяющих логическому условию lExpression1 Это позволяет отфильтровывать ненужные записи.

Технология Rushmore оптимизирует запрос EDIT FOR, если lExpression1 является оптимизируемым выражением. В целях достижения наилучшей производительности используйте в предложении FOR оптимизируемое выражение.

Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

WHILE lExpression2

Задает условие, в соответствии с которым записи отображаются в окне редактирования, пока логическое выражение lExpression2 остается истинным (.T.).

FONT cFontName[, nFontSize [, nFontCharSet]]

Задает шрифт окна редактирования и размер шрифта. Символьное выражение cFontName содержит имя шрифта, а числовое выражение nFontSize задает размер шрифта. Вы можете определить языковой скрипт с nFontCharSet. Смотрите функцию GETFONT( ) для получения списка доступных языковых значений скрипта.

Например, следующее предложение задает 16-пунктовый шрифт Courier для полей, отображенных в окне редактирования:

CopyCode image Copy Code
FONT 'Courier',16

Если вы задали предложение FONT, опустив размер шрифта nFontSize, в окне редактирования используется размер 10 пунктов.

Если предложение FONT опущено, используется 8-пунктовый шрифт MS Sans Serif. Если заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.

STYLE cFontStyle

Задает стиль шрифта для окна редактирования в Visual FoxPro. Если предложение STYLE опущено, используется стиль Normal (нормальный).

Если заданный стиль шрифта отсутствует, его заменяет стиль с похожими характеристиками.

Символ Стиль шрифта

B

Bold (Полужирный)

I

Italic (Курсив)

N

Normal (Нормальный)

O

Outline (Контурный)

Q

Opaque (Непрозрачный)

S

Shadow (Затененный)

-

Strikeout (Перечеркнутый)

T

Transparent (Прозрачный)

U

Underline (Подчеркнутый)

Можно указать сразу несколько символов, задав комбинацию стилей. В следующем примере открывается окно редактирования, в котором используется шрифт с подчеркиванием:

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens customer table
IF _WINDOWS
   EDIT FIELDS contact FONT 'System', 15  STYLE 'NU'
ENDIF
IF _MAC
   EDIT FIELDS contact FONT 'Geneva', 14  STYLE 'NU'
ENDIF
FREEZE FieldName

Разрешает вносить изменения только в одно поле в окне редактирования ѕ в поле FieldName. Остальные поля только отображаются, их нельзя редактировать.

KEY eExpression1[, eExpression2]

Ограничивает диапазон записей, отображаемых в окне редактирования. В предложении KEY можно задать значение ключа индекса (eExpression1) или диапазон значений ключа (eExpression1 , eExpression2) для записей, отображаемых в окне редактирования. Таблица должна быть индексирована, и значение (или значения) ключа индекса, указанное в предложении KEY, должно быть того же типа, что и выражение индекса в главном файле индекса или в главном теге.

В следующем примере задано отображение в окне редактирования только тех записей, для которых почтовые коды попадают в диапазон от 10,000 до 30,000 :

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
SET ORDER TO postalcode
EDIT KEY '10000', '30000'
LAST | NOINIT

Сохраняет все изменения, внесенные в конфигурацию окна редактирования. юда относятся изменения в списке полей, в размерах каждого поля, в позиции и размерах окна редактирования; все эти изменения записываются в файл FoxUser.dbf. Подробнее об этом файле смотрите Команда SET RESOURCE.

Если команда EDIT выдана с предложением LAST, окно редактирования открывается в той конфигурации, которая была сохранена последней в файле FoxUser.dbf. Тем самым восстанавливается предыдущая конфигурация окна редактирования, созданная последней командой EDIT. Если последний раз вы выдавали команду EDIT из окна команд с длинным списком предложений, то, чтобы не набирать все это еще раз, выдайте EDIT LAST.

Если вы выходите из сеанса редактирования, нажав клавиши CTRL+Q, то все изменения, внесенные в конфигурацию окна редактирования в ходе текущего сеанса, будут потеряны.

LPARTITION

Помещает курсор в первое поле левого раздела окна редактирования. Окно редактирования можно с помощью предложения PARTITION разбить на два раздела ѕ левый и правый. По умолчанию курсор при открытии окна редактирования помещается в первое поле правого раздела.

Если указать опцию LPARTITION, не задав предложение PARTITION, курсор будет помещен в первое поле правого раздела окна редактирования.

NAME ObjectName

Создает ссылку на окно редактирования как на объект, что позволяет манипулировать этим окном, используя объектно-ориентированные свойства элемента управления Grid.

Подробнее об объектно-ориентированном программировании в Visual FoxPro смотрите Объектно-ориентированное программирование. Подробнее о свойствах элемента управления Grid, которые можно задать для окна редактирования, созданного с помощью предложения NAME, смотрите тему Элемент управления Grid.

NOAPPEND

Запрещает пользователю добавлять записи в таблицу, нажимая клавиши CTRL+Y или выбирая команды Append Mode из меню View.

Note Note

Предложение NOAPPEND не помешает добавлять запись из программы (созданной с помощью предложений VALID, WHEN или команды ON KEY LABEL), когда вы находитесь в окне редактирования.

NOCAPTION

Определяет, что всегда для заголовков столбца будут использовать имена полей таблицы или представления, даже когда база данных содержит дружественный заголовок для таблицы. Этот пункт применяется только к таблицам или представлениям в базе данных.

NODELETE

Не разрешает помечать записи на удаление в окне редактирования. По умолчанию запись можно пометить на удаление, нажав клавиши CTRL+T, выбрав в меню Table команду Toggle Deletion Mark или щелкнув самый левый столбец этой записи.

Note Note

Предложение NODELETE не помешает пометить запись на удаление в программе (созданной с помощью предложений VALID, WHEN или команды ON KEY LABEL), когда вы находитесь в окне редактирования.

NOEDIT | NOMODIFY

Не разрешает пользователю модифицировать таблицу. Предложения NOEDIT и NOMODIFY идентичны. Если вы задали какое-либо из них, вы можете просматривать таблицу и вести в ней поиск, но не редактировать. Впрочем, вы также можете добавлять и удалять записи.

NOLINK

Отсоединяет друг от друга разделы окна редактирования. По умолчанию левый и правый разделы окна редактирования связаны: когда вы прокручиваете один из них, другой раздел также прокручивается.

NOMENU

Удаляет заголовок меню Table в Visual FoxPro и заголовок меню Browse в предыдущих версиях FoxPro из системной строки меню, блокируя доступ к меню Edit.

NOOPTIMIZE

Блокирует оптимизацию команды EDIT по технологии Rushmore.

Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

NORMAL

Открывает окно редактирования с обычными установками, принимаемыми по умолчанию, такими как цвета, размеры, позиция, заголовок и управляющие опции (GROW, FLOAT, ZOOM и т.д.). Если предложение NORMAL опущено и текущим окном вывода оказывается пользовательское окно с собственными установками, в окне редактирования тоже принимаются эти пользовательские установки.

NOWAIT

Продолжает выполнение программы сразу после открытия окна редактирования. Программа не ждет закрытия окна редактирования, а продолжает выполняться со строки, непосредственно следующей за строкой с командой EDIT NOWAIT. Если предложение NOWAIT опущено, то когда команда EDIT выдается в программе, окно редактирования открывается и выполнение программы приостанавливается до тех пор, пока окно редактирования не закроется.

Опция NOWAIT доступна только в рамках программы. Если задать NOWAIT при выдаче команды EDIT из окна команд, это никак не повлияет на ход работы.

PARTITION nColumnNumber

Разбивает окно редактирования на левый и правый разделы; nColumnNumber sзадает номер столбца, по которому проходит линия разбиения. Например, если значение nColumnNumber равно 20, линия разбиения находится в столбце 20 окна редактирования.

LEDIT

Указывает, что левый раздел окна редактирования будет находиться в режиме Browse (режиме просмотра).

REDIT

Указывает, что правый раздел окна редактирования будет находиться в режиме Browse. В следующем примере открывается окно редактирования с линией разбиения в столбце 20, причем правый раздел открывается в режиме Browse.

Чтобы оба раздела были открыты в режиме Browse, задайте оба ключевых слова.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens customer table

EDIT PARTITION 30 REDIT
PREFERENCE PreferenceName

Сохраняет атрибуты и опции окна редактирования для использования в будущем. В отличие от предложения LAST, которое восстанавливает окно редактирования в том виде, в каком оно выглядело в предыдущем сеансе, предложение PREFERENCE сохраняет атрибуты окна редактирования в файле ресурсов FoxUser.dbf на неопределенный срок. Эти установки могут быть извлечены в любой момент. Подробнее о файле ресурсов FoxUser.dbf, смотрите Команда SET RESOURCE.

Если выдать команду EDIT, задав при этом имя набора установок PreferenceName , то в первый раз в файле FoxUser.dbf будет создан элемент, хранящий конфигурацию окна редактирования. Если впоследствии снова выдать EDIT с тем же именем набора установок, окно редактирования будет восстановлено в этом виде. При закрытии окна редактирования конфигурация установок обновляется.

Имя установки может состоять не более чем из 10 символов, должно начинаться с буквы или символа подчеркивания и может содержать любую комбинацию букв, цифр и символов подчеркивания.

Настроив вид окна наиболее подходящим для вас способом, вы можете предотвратить возможность изменения этих установок. Закройте окно редактирования, выдайте команду SET RESOURCE OFF, откройте файл FoxUser.dbf в виде таблицы и сделайте поле с установками доступным только для чтения, задав в логическом поле READONLY значение "истина" (.T.).

Подробнее о файле ресурсов FoxUser.dbf, смотрите Команда SET RESOURCE.

REST

Запрещает перемещать указатель записи из текущей позиции в начало таблицы. По умолчанию команда EDIT устанавливает указатель записи в начало таблицы.

SAVE

Сохраняет окно редактирования и все его области редактирования memo-полей активными и видимыми (открытыми). Пройдя в цикле по всем остальным открытым окнам с помощью клавиатуры или мыши, вы сможете вернуться в окно редактирования.

Опция SAVE доступна только в рамках программы. Если указать SAVE в команде EDIT, выданной в окне команд, это никак не повлияет на ход работы, поскольку установка EDIT SAVE всегда принимается по умолчанию в интерактивном режиме.

TIMEOUT nSeconds

Задает интервал времени, в течение которого окно редактирования может ждать ввода. Числовое выражение nSeconds определяет, сколько секунд может пройти, прежде чем окно редактирования автоматически закроется, не дождавшись введенных данных.

Опция TIMEOUT доступна только в рамках программы; если ее задать в окне команд, это никак не отразится на ходе работы. В следующем примере окно редактирования закрывается, если в течение 10 секунд в него не были введены данные.

CopyCode image Copy Code
DEFINE WINDOW wEdit FROM 1,1 TO 24,40 ;
   CLOSE ;
   GROW ;
   COLOR SCHEME 10
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
EDIT WINDOW wEdit ;
   FIELDS phone :H = 'Phone Number:' , ;
   company :H = 'Company:' ;
   TIMEOUT 10
RELEASE WINDOW wEdit
TITLE cTitleText

Заменяет имя или псевдоним таблицы, отображаемый по умолчанию в строке заголовка окна редактирования, на заголовок с текстом cTitleText. В противном случае в строке заголовка появится имя или псевдоним просматриваемой таблицы.

Если вы выдали команду EDIT WINDOW, чтобы поместить окно редактирования в пользовательское окно, заголовок пользовательского окна заменяется заголовком окна редактирования.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open customer table
EDIT;
   TITLE 'My Edit Window' ;
   FIELDS phone :H = 'Phone Number' , ;
   company :H = 'Company:'
VALID lExpression3

Выполняет в окне редактирования проверку достоверности на уровне записи. Предложение VALID выполняется только в том случае, если в запись вносится изменение и вы перемещаете курсор к другой записи. Предложение VALID не выполняется, если изменение вносится только в memo-поле.

Если VALID возвращает значение "истина" (.T.), вы можете перемещать курсор к другой записи. Если VALID возвращает "ложь" (.F.), курсор остается в текущем поле и Visual FoxPro выдает сообщение об ошибке. Используя предложение ERROR, вы можете выдавать собственное сообщение об ошибке в случае, когда VALID возвращает "ложь". Символьное выражение cMessageTextопределяет текст этого сообщения. Если VALID возвращает 0, курсор остается в текущем поле, но сообщение об ошибке не выдается.

Предложение VALID не следует смешивать с опцией проверки (:V), которая обеспечивает проверку достоверности на уровне поля.

:F

Форсирует выполнение предложения VALID перед тем, как пользователь переводит курсор к следующей записи. В этом случае VALID выполняется даже тогда, когда запись не изменилась.

ERROR cMessageText

Задает сообщение об ошибке с текстом cMessageText: оно заменяет системное сообщение, используемое по умолчанию. Visual FoxPro выдает это сообщение, когда VALID возвращает "ложь" (.F.).

WHEN lExpression4

Проверяет условие, когда пользователь переводит курсор к другой записи. Если lExpression4 имеет значение "истина" (.T.), пользователь может модифицировать запись, к которой он перешел. Если lExpression4 имеет значение "ложь" (.F.) или 0, запись, к которой перешел пользователь, становится доступной только для чтения и не может быть модифицирована.

Предложение WHEN не выполняется, когда активизируется другое окно.

WIDTH nFieldWidth

Ограничивает значением nFieldWidth количество символов, отображаемых для каждого поля тему окна редактирования. Задавая предложение WIDTH, вы не изменяете размер полей в таблице; изменяется лишь способ их отображения в окне редактирования. Если для какого-либо поля с помощью предложения FIELDS была задана своя ширина, она заменяет значение, заданное для этого поля предложением WIDTH.

WINDOW WindowName1

Задает пользовательское окно, характеристики которого перенимает окно редактирования. Например, если пользовательское окно создано с помощью предложения FLOAT, окно редактирования можно будет перемещать. Заданное окно не обязательно должно быть активным или видимым, но оно должно быть определено.

IN [WINDOW] WindowName2

Определяет родительское окно, в пределах которого открыто окно редактирования. Окно редактирования не принимает характеристики родительского окна. Окно редактирования, активизированное в родительском окне не может быть перемещено вне родительского окна. Если перемещяется родительское окно, окно редактироавния перемещяется с ним.

Чтобы обращаться к окну редактирования, родительское окно должно быть определено командой DEFINE WINDOW и должно быть активным и видимым.

IN SCREEN

Принудительно помещает окно редактирования в основное окно Visual FoxPro, когда активно пользовательское окно.

COLOR SCHEME nSchemeNumber

Задает номер цветовой схемы, используемой для определения цветов окна редактирования. В Visual FoxPro, окно редактирования принимает цветовую схему, установленную в диалоговом окне Color на Панели управления.

Expand image Замечания

Команда EDIT позволяет редактировать в окне выбранную таблицу. EDIT работает точно так же, как CHANGE.

Если вы для выхода из окна редактирования нажали клавишу Esc, то изменения, внесенные в последнее модифицированное поле, аннулируются. Однако если вы, модифицировав поля перешли в другую запись, изменения будут сохранены.

В программе с помощью команды DEACTIVATE WINDOW можно сохранить внесенные изменения и закрыть окно редактирования. При этом в команде DEACTIVATE WINDOW нужно задать имя окна редактирования. Подробнее об именах окон редактирования смотрите Функция WTITLE( ).

Expand image Поддержка команды SET SKIP

Команда SET SKIP позволяет устанавливать многозначное ("один-ко-многим") отношение между двумя таблицами (смотрите пример). Каждой записи родительской таблицы может соответствовать несколько связанных записей в дочерней таблице. Если вы создали многозначное отношение, вы можете с помощью команды EDIT просматривать записи как из родительской таблицы, так и из дочерней.

Родительская запись фигурирует только один раз, вместе с первой соответствующей ей записью из дочерней таблицы. Все остальные связанные записи отображаются в строках, следующих за родительской записью и первой дочерней записью. В FoxPro для MS-DOS во всех столбцах с информацией из родительской таблицы, идущих после первой дочерней записи, отображаются затененные блоки. В Visual FoxPro, символ заполнения, используемый для повторяющейся родительской информации, зависит от текущего шрифта окна просмотра.

Для получения дополнительной информации, смотрите Команда SET SKIP.

Expand image Поддержка функций COL( ) и ROW( )

Функции COL( ) и ROW( ) используются для получения текущей позиции курсора по строкам и столбцам в окне редактирования. Если окно редактирования открыто в основном окне Visual FoxPro, возвращаемая позиция курсора выражается относительно основного окна Visual FoxPro, а не самого окна редактирования. Если окно редактирования открыто в пользовательском окне, функции COL( ) и ROW( ) возвращают позицию курсора относительно пользовательского окна.

Expand image Пример

T В следующем примере с помощью команды SET SKIP строится отношение один-ко-многим между двумя таблицами. В родительской таблице (customer) ля каждой составленной накладной существует только одна запись. Дочерняя таблица (orders) содержит несколько записей для каждой записи из родительской таблицы.

После того, как отношение создано, открывается окно редактирования, в котором отображаются записи как из родительской, так и из дочерней таблицы.
CopyCode image Copy Code
CLEAR
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER cust_id IN 0   && Parent table
USE orders ORDER cust_id IN 0  && Child table
SELECT customer     && Back to parent work area
SET RELATION TO cust_id INTO orders     && Establish relationship
SET SKIP TO orders  && One-to-many relationship
WAIT WINDOW 'Scroll to see shipping dates for each customer' NOWAIT
EDIT FIELDS customer.cust_id :H='Customer Number', ;
   customer.city :H='Customer City', orders.shipped_on

Expand image Смотрите также

Справочное руководство

Команда BROWSE
Команда Grid
Команда SET SKIP
Функция WTITLE( )
Функция COL( )
Функция ROW( )

Прочие ресурсы

КомандЫ (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


EJECT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда EJECT
Смотрите также Пример
CollapseAll image

Посылает на принтер команду прогона листа

EJECT

Expand image Примечания

EJECT advances the printer to the top of the next page. EJECT sends a formfeed to the printer if the _PADVANCE system memory variable is set to FORMFEED. If _PADVANCE is set to LINEFEEDS, EJECT issues linefeeds to advance to the top of the next page.

EJECT resets PCOL( ) and PROW( ) values to the current column and row position of the printer's print head, but doesn't affect the value of the _PAGENO or _PLINENO system variables.

Expand image Пример

In the following example, the company and phone fields in the customer table are printed. (Make sure a printer is attached and turned on for this example.) When the number of rows printed is greater than 62, the page is ejected.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens customer table

SET DEVICE TO PRINTER
SET PRINT ON
DO WHILE NOT EOF( )
   @ PROW( )+1,10 SAY 'Company: ' + company
   @ PROW( )+1,10 SAY 'Phone: ' + phone
   @ PROW( )+1,1  SAY ''
   IF PROW( ) > 62
      EJECT
   ENDIF
   SKIP
ENDDO
SET PRINT OFF
SET DEVICE TO SCREEN

Expand image Смотрите также

Reference

EJECT PAGE Command
ON PAGE Command
SET DEVICE Command
SET PRINTER Command
PCOL( ) Function
PROW( ) Function
System Variables Overview

Other Resources

Commands (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функциях этого продукта, посетите страницу обратной связи
© Microsoft Corporation. All rights reserved.


Команда EJECT PAGE

Visual FoxPro 9.0 Справочное руководство по языку
Команда EJECT PAGE
Смотрите также
CollapseAll image

Передает на принтер код условного перевода страницы.

EJECT PAGE

Expand image Примечания

Используйте команду EJECT PAGE для продвижения поточного вывода. Перевод страницы зависит от значения переменной _PADVANCE и от того, действует ли ON PAGE.

Если значение _PADVANCE установлено равным FORMFEED и ON PAGE не действует, команда EJECT PAGE выполняет следующие действия:

  • Передает на принтер код перевода страницы, если принтер находится в неавтономном режиме.

  • Посылает на экран и/или в альтернативный файл коды перевода строки, согласно значениям системных переменных памяти _PLENGTH и _PLINENO.

  • Увеличивает _PAGENO на 1.

  • Устанавливает _PLINENO равной 0.

  • Если значение системной переменной памяти _PADVANCE равно LINEFEEDS, а ON PAGE действует и значение _PLINENO меньше заданного в этой подпрограмме номера строки, команда EJECT PAGE посылает на принтер, в основное окно Visual FoxPro и/или в альтернативный файл столько кодов перевода строки, сколько нужно для перехода к началу очередной страницы.

Если ON PAGE не действует или переменная _PADVANCE равна LINEFEEDS и значение _PLINENO больше номера строки, заданного в подпрограмме ON PAGE, команда EJECT PAGE делает следующее::

  • Посылает на принтер, в основное окно Visual FoxPro и/или в альтернативный файл коды перевода строки согласно значениям системных переменных памяти _PLENGTH и _PLINENO.

  • Увеличивает _PAGENO на 1.

  • Устанавливает _PLINENO равной 0.

Expand image Смотрите также

Reference

Команда EJECT
Команда ON PAGE
Команда SET ALTERNATE
Команда SET DEVICE
Команда SET PRINTER
Функция PCOL( )
Функция PROW( )
Описание системных переменных

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


END TRANSACTION Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда END TRANSACTION
See Also
CollapseAll image

Завершает текущую транзакцию и сохраняет любые сделанные изменения в таблицы, файлы мемо-полей таблиц или индексные файлы, включенные в транзакцию.

END TRANSACTION

Expand image Примечания

Любые обновления в базе данных, которые были сделаны в промежуток между выпуской парной команды BEGIN TRANSACTION и END TRANSACTION фиксируются. Если транзакция является первой и единственной транзакцией (то еть не имеет вложенных транзакций), изменения записываются на диск.

Если транзакция является вложенной, то команда END TRANSACTION служит причиной того, что все кэшированные обновления переносятся на следующий более высокий уровень транзакции. Вложение транзакций имеет потенциальную возможность переписи изменений сделанных на высшем уровне транзакции.

Если команда END TRANSACTION генерирует ошибку (например, не хватает месат на диске для записи изменений), изменения сделанные во время транзакции отменяются и транзакция завершается.

Expand image Смотрите также

Справочное руководство

Команда BEGIN TRANSACTION
Функция MAKETRANSACTABLE()
Функция ISTRANSACTABLE()
Команда ROLLBACK
Функция TXNLEVEL()

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ERASE Command

Visual FoxPro 9.0 Language Reference
Команда ERASE
Смотрите также Example
CollapseAll image

Удаляет файлы с диска.

Caution note Предупреждение

Выполняйте предупреждения при использовании ERASE.Любой файл, удаленный данной командой, нельзя восстановить. Вы не получите предупреждения перед удалением, даже если установлено SET SAFETY ON.

ERASE FileName | ? [RECYCLE]

Параметры

FileName

Определяет имя удаляемого файла. Включите путь с именем файла, если файл находится в другом устройстве или каталоге, отличном от текущего устройства или каталога.

FileName может содержать символы шаблона, например * и ?,например, чтобы удалить резервные файлы ERASE *.BAK. Если FileName содержит пробелы,укажите имя файла полностью.

?

Показывает окно диалогаDelete, из которого вы можете выбрать файл для удаления.

RECYCLE

Определяет, что файл не удален с диска, а размещен в Windows Recycle Bin.

Expand image Замечание

Эта команда не генерирует ошибку, если определенный файл не существует.

Команда DELETE FILE- это то же самое, что и команда ERASE.

Expand image Пример

В следующем примере структура файла CUSTOMER.DBF и все записи, которых страна - США, скопированы в таблицу с именем backup. Данные backup затем скопированы в текстовый файл temp, который открыт и удаляется при закрытии.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens customer table

COPY STRUCTURE TO backup
USE backup
APPEND FROM customer FOR country = 'USA'
COPY TO temp TYPE DELIMITED

WAIT WINDOW 'Press Esc to close and erase temp.txt' NOWAIT
MODIFY FILE temp.txt NOEDIT
ERASE temp.txt
? IIF(FILE('temp.txt'),'File not deleted','File deleted')
USE
ERASE backup.dbf

Expand image Смотрите также

Ссылка

DELETE FILE Command
SET SAFETY Command
APPEND FROM Command

Другие ресурсы

Commands (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ERROR Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ERROR
Смотрите также
CollapseAll image

Генерирует ошибку Visual FoxPro.

Команду ERROR можно использовать для тестирования программ обработки ошибок или для формирования собственных сообщений об ошибках.

ERROR nErrorNumber | nErrorNumber, cMessageText1 | [cMessageText2]

Параметры

nErrorNumber

Задает номер ошибки, которую предстоит сгенерировать. Когда задан номер ошибки, будет использовано стандартное сообщение об ошибке Visual FoxPro.

Список сообщений об ошибках Visual FoxPro с указанием их номеров приведен в теме Алфавитный перечень сообщений об ошибках.

cMessageText1

Задает текст сообщения об ошибке, дающий о ней дополнительную информацию. Например, если вы ссылаетесь на несуществующую переменную памяти, Visual FoxPro подставит в сообщение об ошибке имя этой переменной памяти.

cMessageText2
cMessageText2 вместо nErrorNumber, генерируется ошибка Visual FoxPro номер 1098 (ошибка, определенная пользователем). Чтобы перенести часть сообщения на следующую строку, пользуйтесь в тексте cMessageText2 возвратом каретки (CHR(13)).

Expand image Замечание

Если в момент выдачи команды ERROR действует программа обработки ошибок ON ERROR, Visual FoxPro выполнит эту программу ON ERROR. Если ошибка имеет место для объекта, выполняется событие Error этого объекта.

Если команда ERROR ыдана из окна команд и при этом программа ON ERROR не действует, Visual FoxPro отобразит сообщение об ошибке. Если ERROR выдана в программе и ON ERROR eне действует, Visual FoxPro отобразит сообщение об ошибке и даст возможность отменить программу, приостановить ее или проигнорировать ошибку.

Note Замечание

Событие Error непроисходит если ON ERROR routine is on the call stack.

Expand image Examples

В следующем примере генерируются три сообщения об ошибках. Первое из них представляет собой сообщение об ошибке "Variable not found" (Error 12):

CopyCode image Copy Code
ERROR 12

Второе сообщение об ошибке также соответствует ошибке 12 и содержит имя переменной Myvariable а также выводит сообщение "Variable 'MyVariable' not found":

CopyCode image Copy Code
ERROR 12, 'MyVariable'

Последнее сообщение об ошибке является пользовательским (номер ошибки 1089), с текстом "My error message."

CopyCode image Copy Code
ERROR 'My error message'

Expand image Смотрите также

Справочное руководство

Команда ON ERROR
Функция AERROR( )
Debugging and Error-Handling Language

Прочие ресурсы

Команды (Visual FoxPro)
Сообщения об ошибках

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


EXIT Command

Visual FoxPro 9.0 Language Reference
EXIT Command
See Also Example

Выход из DO WHILE, FOR, SCAN или TRY…CATCH…FINALLY структур.

EXIT

Замечания

Команда EXIT передает контроль из структуры команде, немедленно следующей за структурой.

Пример

В следующем примере количество продуктов по цене свыше 20 долларов представлено в цикле DO WHILE, пока не будет обнаружен конец файла (EOF). Выход из цикла DO WHILE показан.
Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE products  && Opens Products table
SET TALK OFF
gnStockTot = 0

DO WHILE .T.     && Beginning of loop
   IF EOF( )
      EXIT
   ENDIF
   IF unit_price < 20
      SKIP
      LOOP
   ENDIF
   gnStockTot = gnStockTot + in_stock
   SKIP
ENDDO  && End of loop

CLEAR
? 'Всего по цене свыше 20 долларов:'
?? gnStockTot

Смотрите также

Ссылки

TRY...CATCH...FINALLY Command

Другие ресурсы

DO WHILE ... ENDDO Command
FOR EACH ... ENDFOR Command
FOR ... ENDFOR Command
SCAN ... ENDSCAN Command
Commands
Language Reference

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


EXPORT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда EXPORT
Смотрите также
CollapseAll image

Копирует данные из таблицы Visual FoxPro в файл другого формата.

EXPORT TO FileName [TYPE]
   DIF | MOD | SYLK | WK1 | WKS | WR1 | WRK | XLS | XL5
   [FIELDS FieldList] [Scope] [FOR lExpression1] [WHILE lExpression2]
   [NOOPTIMIZE] [AS nCodePage]

Параметры

FileName

Задает имя файла, в который Visual FoxPro экспортирует данные. Если имя файла указано без расширения, ему назначается расширение, используемое по умолчанию для заданного типа файлов.

TYPE

Задает тип файла, который предстоит создать. Само ключевое слово TYPE необязательно, но тип файла указать необходимо.

Тип файла Описание

DIF

каждое поле из таблицы Visual FoxPro становится вектором (столбцом) файла формата DIF (Data Interchange Format), используемого в VisiCalc, а каждая запись таблицы становится кортежем (строкой) этого файла. Имя нового файла получает расширение .DIF, если в составе FileName e не задано иное расширение.

MOD

Используйте предложение MOD для экспортирования в файл формата MOD для Microsoft Multiplan версии 4.01. Имя нового файла получает расширение .MOD, если в составе FileName не задано иное расширение.

SYLK

Файл формата обмена SYLK (Symbolic Link) используется в Microsoft Multiplan; в этом файле каждое поле из таблицы Visual FoxPro становится столбцом электронной таблицы, а каждая запись становится строкой. По умолчанию имена файлов SYLK не имеют расширения.

WK1

Данная опция применяется для создания электронной таблицы Lotus 1-2-3 из таблицы Visual FoxPro. Имя файла электронной таблицы, используемого в Lotus 1-2-3 редакции 2.x, получает расширение .WK1. Каждое поле таблицы Visual FoxPro становится столбцом в новой электронной таблице, а каждая запись становится строкой.

WKS

С помощью этой опции из таблицы Visual FoxPro можно создать электронную таблицу Lotus 1-2-3. Имя файла электронной таблицы, используемого в Lotus 1-2-3 редакции 1-A, получает расширение .WKS. Каждое поле таблицы Visual FoxPro становится столбцом в новой электронной таблице, а каждая запись становится строкой.

WR1

Используйте эту опцию для создания электронной таблицы Lotus Symphony из таблицы Visual FoxPro. Имя электронной таблицы, используемой в Symphony версии 1.01, получает расширение .WR1. Каждое поле таблицы Visual FoxPro становится столбцом в новой электронной таблице, а каждая запись становится строкой.

WRK

С помощью этой опции из таблицы Visual FoxPro можно создать электронную таблицу Lotus Symphony. Имя электронной таблицы, используемой в Symphony версии 1.10, получает расширение .WRK. Каждое поле таблицы Visual FoxPro становится столбцом в новой электронной таблице, а каждая запись становится строкой.

XLS

Включите опцию XLS для создания электронной таблицы, которую можно использовать в Microsoft Excel. Каждое поле в выбранной таблице становится столбцом электронной таблицы, а каждая запись становится строкой. Вновь созданному файлу электронной таблицы назначается расширение имени .XLS, если вы не задали иное расширение. Вы можете экспортировать максимум 65,535 строк, включая одну строку, зарезервированную для заголовка полей.

XL5

Включите опцию XL5 для создания файла электронной таблицы Microsoft Excel 5.0. Каждое поле выбранной в данный момент таблицы становится столбцом электронной таблицы, а каждая запись становится строкой. Вновь созданной электронной таблице назначается расширение имени .XLS, если вы не задали иное расширение. Вы можете экспортировать максимум 65,535 строк, включая одну строку, зарезервированную для заголовка полей.
FIELDS FieldList

Задает поля, которые будут копироваться в новый файл. Если предложение FIELDS опущено, в новый файл копируются все поля. Memo-поля и поля типа General не копируются, даже если их имена включены в список полей.

Scope

Задает диапазон записей, которые следует скопировать в новый файл. опированию подлежат только записи, попадающие в указанный диапазон. Он задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST.

Подробнее о предложениях диапазона смотрите тему Выражение Scope. Команды, использующие предложение Scope, воздействуют только на таблицу в активной рабочей области.

По умолчанию областью действия команды EXPORT являются все записи.

FOR lExpression1

Задает копирование только записей, удовлетворяющих логическому условию lExpression1. Это позволяет отфильтровывать ненужные записи.

Технология Rushmore оптимизирует команду EXPORT ... FOR lExpression1 если lExpression1 вляется оптимизируемым выражением. Для достижения наилучшей производительности используйте в предложении FOR оптимизируемое выражение.

Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

WHILE lExpression2

Задает условие, в соответствии с которым записи копируются в новый файл до тех пор, пока логическое выражение lExpression2 остается истинным (.T.).

NOOPTIMIZE

Блокирует оптимизацию команды EXPORT по технологии Rushmore.

Для получения дополнительной информации, см. Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

AS nCodePage

Задает кодовую страницу для файла, создаваемого командой EXPORT. Visual FoxPro копирует содержимое выбранной в данный момент таблицы и в процессе копирования данных автоматически преобразует их в кодовую страницу, указанную для нового файла. Visual FoxPro помечает вновь созданный файл, если это возможно, заданной кодовой страницей.

Если заданная кодовая страница nCodePage не поддерживается, Visual FoxPro генерирует сообщение об ошибке. Выдав функцию GETCP( ) для кодовой страницы nCodePage , можно отобразить диалоговое окно Code Page и в нем задать кодовую страницу для создаваемого файла.

Если предложение AS nCodePage, опущено, преобразование кодовой страницы не производится. Visual FoxPro помечает вновь созданный файл кодовой страницей таблицы, из которой копируются данные, если это оказывается возможным.

Если значение nCodePage равно 0, преобразование кодовой страницы не производится и вновь созданный файл не помечается кодовой страницей.

Expand image Замечания

Используйте команду EXPORT для работы с данными Visual FoxPro в других программных продуктах.

Если таблица, из которой производится экспортирование, индексирована, то новый файл создается в порядке индексирования.

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM
Команда COPY TO
Функция GETCP( )
Команда IMPORT
Команда SET OPTIMIZE

Концепции

Использование оптимизации запросов Rushmore для ускорения доступа к данным

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


EXTERNAL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда EXTERNAL
Смотрите также
CollapseAll image

Предупреждает окно диспетчера проектов о неопределенной ссылке.

EXTERNAL FILE FileList | ARRAY ArrayList
   | CLASS | FORM | LABEL | LIBRARY | MENU
   | PROCEDURE | QUERY | REPORT | SCREEN | TABLE

Параметры

FILE FileList

Предупреждает диспетчер проектов о том, что файл, который вы включили в косвенную ссылку или макроподстановку, является независимым, таким как тектовый файл, растр .BMP и т.п. Аргумент FileList может содержать список имен файлов, разделенных запятыми.

ARRAY ArrayList

Если массив создан в какой-либо программе, а затем используется в программе более низкого уровня, выдайте в этой программе низкого уровня команду ARRAY с именем массива. ArrayList может содержать список имен массивов, разделенных запятыми.

В следующем примере первая программа создает массив gaInvoice. Этот массив инициализируется, после чего вызывается программа dispinvo более низкого уровня. Программа dispinvo отображает содержимое массива, созданное в программе более высокого уровня. оманда EXTERNAL ARRAY GAINVOICE включена для того, чтобы предупредить диспетчер проектов.

CopyCode image Copy Code
DIMENSION gaInvoice(4)
STORE 'Paid' TO gaInvoice
DO dispinvo
*** Program dispinvo ***
PROCEDURE dispinvo
EXTERNAL ARRAY gaInvoice
? gaInvoice(1)
? gaInvoice(2)
? gaInvoice(3)
? gaInvoice(4)
RETURN
*** End of dispinvo program ***

Когда массив передается в пользовательскую функцию или процедуру, соответствующий массив в пользовательской функции или процедуре должен быть идентифицирован для диспетчера проектов. Задайте опцию ARRAY с именем массива, указанным в операторе PARAMETER.

CopyCode image Copy Code
DIMENSION gaArrayOne(2)      && Create an array
EXTERNAL ARRAY gaArrayTwo   && Name of the array used in the UDF
SET TALK OFF
STORE 10 TO gaArrayOne(1)
STORE  2 TO gaArrayOne(2)
= ADDTWO(@gaArrayOne)      && Pass the array by reference to a UDF
FUNCTION ADDTWO
PARAMETER gaArrayTwo
CLEAR
gaArrayTwo(1) = gaArrayTwo(1) + 2
gaArrayTwo(2) = gaArrayTwo(2) + 2
? gaArrayTwo(1)
? gaArrayTwo(2)
CLASS

Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является библиотекой визуальных классов.

CopyCode image Copy Code
EXTERNAL CLASS myvclass  && CLASS myvclass must exist
STORE 'myvclass' TO gcClassFile
MODIFY CLASS (gcClassFile)
FORM

Если в косвенной ссылке на файл или в макроподстановке указан файл определения объекта Form, задайте предложение FORM с именем файла формы. Предложения FORM и SCREEN идентичны.

CopyCode image Copy Code
EXTERNAL FORM dataentr  && FORM dataentr must exist
STORE 'dataentr' TO gcFormFile
DO FORM (gcFormFile)
LABEL

Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является файлом определения этикетки.

CopyCode image Copy Code
EXTERNAL LABEL Maillabl     && LABEL FORM Maillabl must exist
STORE 'Maillabl' TO gcLabelFile
LABEL FORM (gcLabelFile) PREVIEW
LIBRARY

Задайте ключевое слово LIBRARY, если в команде SET LIBRARY косвенная ссылка на файл или макроподстановка указывает файл библиотеки.

CopyCode image Copy Code
EXTERNAL LIBRARY regress  && LIBRARY regress must exist
STORE 'regress' TO gcStatFunc
SET LIBRARY TO (gcStatFunc)
MENU

Если в косвенную ссылку на файл или в макроподстановку включен файл определения меню, задайте опцию MENU с именем файла меню.

CopyCode image Copy Code
EXTERNAL MENU pickfile  && MENU pickfile must exist
STORE 'pickfile' TO gcSysMenPad
MODIFY MENU (gcSysMenPad)
PROCEDURE

Идентифицирует внешнюю процедуру или пользовательскую функцию.

CopyCode image Copy Code
EXTERNAL PROCEDURE delblank     && PROCEDURE delblank must exist
STORE 'delblank' TO gcTrimBlanks
DO (gcTrimBlanks) WITH 'A B C D E'
QUERY

Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является файлом запроса.

CopyCode image Copy Code
EXTERNAL QUERY sales  && QUERY sales must exist
STORE 'sales.qpr' TO gcSalesFile
DO (gcSalesFile)
REPORT

Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является файлом определения отчета.

CopyCode image Copy Code
EXTERNAL REPORT overdue     && REPORT overdue must exist
STORE 'overdue' TO gcReportFile
REPORT FORM (gcReportFile) PREVIEW
SCREEN

Если в косвенной ссылке на файл или в макроподстановке указан файл определения формы, задайте предложение FORM с именем файла экрана. Предложения SCREEN и FORM идентичны.

CopyCode image Copy Code
EXTERNAL SCREEN dataentr  && SCREEN dataentr must exist
STORE 'dataentr' TO gcScreenFile
MODIFY SCREEN (gcScreenFile)
TABLE

Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является таблицей Visual FoxPro.

CopyCode image Copy Code
EXTERNAL TABLE customer && Table customer must exist
STORE 'customer' TO gcMyTable
USE (gcMyTable)

Expand image Замечания

Используйте команду EXTERNAL, чтобы включать необходимые файлы и разрешать неопределенные ссылки в проекте, созданном диспетчером проектов. Команда EXTERNAL используется только диспетчером проектов и игнорируется в процессе выполнения программы.

Подробнее о создании проектов с помощью диспетчера проектов смотрите Компиляция приложения.

Файлы, имена которых вы задаете в команде EXTERNAL, включаются в проект диспетчером проектов. Перед именем файла необходимо задать ключевое слово CLASS, FILE, FORM, LABEL, LIBRARY, MENU, PROCEDURE, QUERY, REPORT, SCREEN или TABLE, чтобы сообщить диспетчеру проектов тип файла, включаемого в проект.

Кроме того, диспетчер проектов следует предупреждать об именах файлов, содержащихся в выражении имени или в макроподстановке. Это гарантирует включение в строящийся проект всех необходимых файлов. Нужно также предупреждать о массивах, созданных в другой процедуре или в пользовательской функции.

Подробнее о выражениях имени и макроподстановках см. описание команды &. По мере возможности старайтесь всегда использовать вместо макроподстановки выражение имени: это повысит производительность.

Expand image Смотрите также

Справочное руководство

Команда BUILD APP
Команда BUILD PROJECT
Окно диспетчера проектов

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FLUSH Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда FLUSH
Смотрите также
CollapseAll image

Сохраняет изменения в таблицах и индексах на диск.

Вы можете использовать FLUSH чтобы явно сохранить на диск все изменения которые вы зделали во всех открытых таблицах и индексах. Вы можете также сохранять изменения в заданой таблице, задавая рабочюю область, псевдоним таблицы, или путь и имя файла открытого в даный момент.

FLUSH [[IN nWorkArea | cTableAlias] | [cFileSpec]] [FORCE]

Параметры

[IN nWorkArea | cTableAlias] | [cFileSpec]

Определяет номер рабочей области, псевдоним таблицы, или имя файла открытого в даный момент, например, индексный файл или файл открытый используя функцию FOPEN( ). При определении имени файла, включите путь, например, C:\MyApp\MyTable.dbf.

Note Note

Если вы используете cFileSpec, сохраняются изменения только в заданом файле. В случае использования cFileSpec для таблицы данных (.dbf), FLUSH таже влияет на memo файлы (.fpt) и все открытые индексы, даже если таблица открыта в другой сессии данных.

Если вы не определяете nWorkArea, cTableAlias, или cFileSpec, FLUSH применяется ко всем открытым таблицам и индексам в текущей сесии данных.

FORCE

Вызов функция Windows API FlushFileBuffers воздействует на все файлы кроме временных файлов и файлов открытых только для чтения. Подробнее смотрите MSDN online документацию.

Expand image Замечания

Visual FoxPro автоматически сохраняет изменения на диск при выполнении следующих операций:

  • Закрытие таблицы используя команды USE, CLOSE ALL, или CLOSE DATABASES. Сохраняется на диск информация только для записи или файла с которого вы снимаете блокировку.

  • Снятие блокировки с записи или файла. Сохраняется на диск информация только для файла или файлов которые.

Expand image Смотрите также

Справочное руководство

Функция FFLUSH( )
Команда SET AUTOSAVE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FOR EACH ... ENDFOR Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда FOR EACH ... ENDFOR
Смотрите также
CollapseAll image

Исполняет набор команд для каждого элемента в массиве или коллекции Visual FoxPro.

FOR EACH Var [AS Type [OF Class Library]] IN Group [FOXOBJECT]
Commands
[EXIT]
   [LOOP]
ENDFOR | NEXT [Var]

Параметры

Var

Переменная элемента массива, используемая для многократного прохода по элементам Group.

Type

Базовый класс, имя класса или библиотеки типов. (Только для Intellisense)

Class Library

Библиотека класса, содержащая базовый класс, имя класса или библиотеки типов, указанной в Type. (Только для Intellisense)

Group

Массив Visual FoxPro, массив OLE, коллекция Visual FoxPro или коллекция OLE.

FOXOBJECT

Указывает, что переменная или элемент массива Var будет содержать только родные объекты (не COM) Visual FoxPro.

Commands

Указывает команды Visual FoxPro, которые будут исполняться для каждого элемента в Group. Commands может включать в себя любое число команд.

EXIT

Передает управление из цикла FOR EACH ... ENDFOR команде, следующей непосредственно за оператором ENDFOR. Вы можете разместить EXIT в любом месте между операторами FOR EACH и ENDFOR.

LOOP

Возвращает управление назад к началу цикла FOR EACH без исполнения команд, заключенных между LOOP и ENDFOR. Вы можете разместить LOOP в любом месте между операторами FOR EACH и ENDFOR.

Expand image Примеры

Приведенные ниже примеры показывают, как FOR EACH используется для перебора элементов в массиве Visual FoxPro, в массиве OLE и набора командных командных кнопок, присвоенному объектным элементам массива.

В приведенном примере создается массив переменных Visual FoxPro, а FOR EACH используется для отображения каждого элемента в массиве.

CopyCode image Скопировать код
DIMENSION cMyArray(3)
cMyArray[1] = 'A'
cMyArray[2] = 'B'
cMyArray[3] = 'C'

FOR EACH cMyVar IN cMyArray
   ? cMyVar
ENDFOR

В приведенном ниже примере создается экземпляр Microsoft Excel, и добавляется новая рабочая книга. FOR EACH используется для отображения имени каждого рабочего листа рабочей книги. Для этого примера требуется, чтобы на компьютере был должным образом установлен Microsoft Excel.

CopyCode image Скопировать код
oExcel = CREATE("Excel.Application")
oExcel.Workbooks.ADD

FOR EACH oMyVar IN oExcel.sheets
   ? oMyVar.name
NEXT oMyVar

В приведенном ниже примере на форму помещается пять командных кнопок. FOR EACH используется для отображения кнопок на форме и указания их заголовков, стилей шрифта и позиции каждой командной кнопки.

CopyCode image Copy Code
PUBLIC oMyObject
oMyObject = CREATEOBJECT("frmTest")
oMyObject.SHOW

DEFINE CLASS frmTest AS FORM
Height = 200
DIMENSION MyArray[5]
   PROCEDURE Init

      FOR i = 1 to 5
         THIS.AddObject('THIS.MyArray[i]',;
            'COMMANDBUTTON')
      ENDFOR

      ****** FOR EACH - NEXT ******
      FOR EACH oButton IN THIS.MyArray
         oButton.Visible = .T.
      NEXT

      ****** FOR EACH - NEXT element  ******
      FOR EACH oButton IN THIS.MyArray
         oButton.FontBold = .T.
      NEXT obutton

      j = 1
      ****** FOR EACH - ENDFOR ******
      FOR EACH oButton IN THIS.MyArray
         oButton.top = j * 30
         j = j + 1
      ENDFOR

      ****** FOR EACH - ENDFOR element ******
      FOR EACH oButton IN THIS.MyArray
         oButton.FontItalic = .T.
      ENDFOR obutton

      j = 1
      ****** EXIT  ******
      FOR EACH oButton IN THIS.MyArray
         oButton.Caption = "test" + str(j)
         j = j+1
         IF j > 3
            EXIT
         ENDIF
      NEXT

      j = 1
      ****** LOOP  ******
      FOR EACH oButton IN THIS.MyArray
         IF j > 3
            LOOP
         ENDIF
         j = j + 1
         oButton.Left = 25
      NEXT
   ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда FOR ... ENDFOR
Команда DO CASE ... ENDCASE
Команда DO WHILE ... ENDDO
Команда IF ... ENDIF
Команда SCAN ... ENDSCAN
Команда EXIT
Команда LOOP

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FOR ... ENDFOR Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда FOR ... ENDFOR
Смотрите также Пример
CollapseAll image

Выполняет ряд команд указанное число раз.

FOR VarName = nInitialValue TO nFinalValue [STEP nIncrement]
      Commands
   [EXIT]
   [LOOP]
ENDFOR | NEXT

Параметры

VarName

Определяет название переменной которая будет выступать в качестве щетчика. Счетчик следит за числом раз, для которого выполняются команды Visual FoxPro в цикле FOR ... ENDFOR. Переменная не должна существовать перед выполнением FOR ... ENDFOR.

nInitialValueTO nFinalValue

Определяет начальные и конечные значения счетчика. И nInitialValue и nFinalValue могут быть элементами массива.

[STEP nIncrement]

Определяет шаг на который увеличивается или уменьшается значение счетчика. Если nIncrement отрицателен, значение счетчика уменьшается. Если опустить выражение STEP clause, VarName значение счетчика увеличивается на 1.

Commands

Определяет команды Visual FoxPro, на выполнение. Commands может включать любое число команд.

[EXIT]

Передает управление из цикла FOR ... ENDFOR команде стоящей сразу после ENDFOR. Вы можете поместить EXIT в любом месте между FOR и ENDFOR. Для получения дополнительной информации, смотрите Команда EXIT.

[LOOP]

Возвращает управление выражению FOR не выполняя ключевыми словами LOOP и ENDFOR. Значение счетчика увеличивается или уменьшается какбудто ENDFOR был достигнут. Для получения дополнительной информации, смотрите Команда LOOP.

ENDFOR

Определяет конец цикла FOR ... ENDFOR.

NEXT

Определяет местоположение, из которого продолжается выполнение программы после того, как значение счетчика превысит nFinalValue.

Expand image Замечания

Команды Visual FoxPro содержащиеся в цикле FOR выполняются пока не достигнут ENDFOR или NEXT. Значение в счетчике VarName увеличиваются или уменшаются на значение nIncrement. Значение счетчика сравнивается с nFinalValue. Если счетчик меньше или равен nFinalValue, то команды после выражения FOR выполняются снова. Если счетчик больше nFinalValue, происходит выход из цикла the FOR ... ENDFOR , и програма продолжает выполняться из первой команды после ENDFOR или NEXT.

Note Note

Значения nInitialValue, nFinalValue, и nIncrement первоначально доступны только для чтения. Однако, изменение значения счетчика VarName внутри цикла, затрагивает число раз выполнения цикла. Изменение значения nFinalValue в цикле FOR не имеет никакого эффекта.

Expand image Пример

Expand image Пример 1

В следующем примере, цикл FOR ... ENDFOR отображает числа от 1 до 10 используя команду ?:

CopyCode image Copy Code
FOR gnCount = 1 TO 10
   ? gnCount
ENDFOR

Для получения дополнительной информации, смотрите Команда ? | ?? .

Expand image Пример 2

Следующий пример открывает таблицу Customer в примере базе данных TestData Visual FoxPro, расположенной в каталоге ..\Samples\Data. Цикл FOR ... ENDFOR определяет начальное значение 1, значение приращения 2, и конечное значение 10. Команда GOTO перемещяет указатель записи на запись заданную переменной gnCount и команда DISPLAY отображает название компании из поля Company таблицы. Цикл FOR ... ENDFOR отображает все нечетные записи из первых 10 записей.

CopyCode image Copy Code
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
FOR gnCount = 1 TO 10 STEP 2
   GOTO gnCount
   DISPLAY Company
ENDFOR

Для получения дополнительной информации, смотрите Команда GO | GOTO и Команда DISPLAY.

Expand image Смотрите также

Справочное руководство

Команда DO CASE ... ENDCASE
Команда DO WHILE ... ENDDO
Команда FOR EACH ... ENDFOR
Команда SCAN ... ENDSCAN

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FREE TABLE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда FREE TABLE
Смотрите также
CollapseAll image

Удаляет из таблицы ссылку на базу данных.

FREE TABLE TableName

Параметры

TableName

Задает имя таблицы, из которой надо удалить ссылку на базу данных.

Expand image Замечание

Если вы случайно удалили базу данных с диска, ссылки на нее в таблицах, входивших в состав этой базы данных, сохранятся. FREE TABLE позволяет удалить ссылки на базу данных из таблицы, чтобы можно было открыть эту таблицу или включить ее в другую базу данных.

Caution note Внимание

Никогда не выдавайте команду FREE TABLE для того, чтобы удалить таблицу из базы данных, если эта база данных еще существует на диске. В подобном случае FREE TABLE может сделать базу данных непригодной к применению. Пользуйтесь в таких ситуациях командой REMOVE TABLE. Она, в отличие от FREE TABLE, удаляет из базы данных все ссылки на первичные индексы, на значения по умолчанию и на правила, связанные с таблицей.

Expand image Смотрите также

Справочное руководство

Команда ADD TABLE
Команда CREATE DATABASE
Команда OPEN DATABASE
Команда REMOVE TABLE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FUNCTION Command

Visual FoxPro 9.0 Справочник Языка
FUNCTION Команда
См. Также Пример

Создает определяемую пользователем функцию в программном файле. Есть две версии синтаксиса.

FUNCTION FunctionName
   [ LPARAMETERS parameter1 [ ,parameter2 ] , ... ]
      Commands
   [ RETURN [ eExpression ] ]
[ENDFUNC]

FUNCTION FunctionName( [ parameter1 [ AS para1type ][ ,parameter2 [ AS para2type ] ],...] ) [ AS returntype ]
      Commands
   [ RETURN [ eExpression ] ]
[ENDFUNC]

Параметры

FUNCTION FunctionName

Определяет начало определяемой пользователем функции и определяет имя функции. FunctionName может содержать до 254 символов.
[LPARAMETERS parameter1 [, parameter2 ]...]

Присваивает данные из вызывающей программы локальным переменным или массивам. Вы можете также использовать ключевое слово PARAMETERS вместо LPARAMETERS, чтобы принять Private параметры. Вы можете передать максимум 26 параметров для функции. Для подробной информации, см. LPARAMETERS Команда и PARAMETERS Команда .
([ parameter1 [AS para1type ] [, parameter2 [AS para2type ]]...])

Присваивает данные из вызывающей программы локальным переменным или массивам. Вы можете использовать предложение AS para1type , чтобы задать тип данных переменной.
Обратите внимание:
Включение параметров в круглых скобках (()) немедленно после имени функции указывает, что параметры имеют локальную видимость по отношению к функции.

[AS return type ]

Определяет тип данных возвращаемого значения. Вы можете использовать предложение AS, чтобы осуществить строгий контроль типов. Для подробной информации, см. Как: Осуществлять Строгий контроль типов для Класса, Объекта, и Переменной Кода .
Commands

Определяет команды Visual FoxPro для выполнения при выполнении функции.
[RETURN [ eExpression ]]

Возвращает управление к вызывающей программе или к другой программе. eExpression может определить возвращаемое значение.
Обратите внимание:
Вы можете включить команду RETURN в любом месте функции, чтобы возвратить управление к вызывающей программе или к другой программе и определить значение, возвращенное функцией. Если Вы не включаете команду RETURN, Visual FoxPro автоматически выполняет RETURN неявно, когда функция завершается. Если команда RETURN не включает возвращаемое значение или если выполняется неявный RETURN, Visual FoxPro присваивает Истину (.T). возвращаемому значению. Для подробной информации, см. RETURN Команда .

[ENDFUNC]

Указывает конец структуры FUNCTION.
Обратите внимание:
Ключевое слово ENDFUNC является дополнительным, потому что функция завершается, когда она достигает другой команды FUNCTION, команды PROCEDURE, или конца программного файла. Вы не можете включить нормальный выполняемый код программы после определяемых пользователем функций в программном файле. Только другие определяемые пользователем функции, процедуры, и определения класса могут следовать за первой командой FUNCTION ИЛИ PROCEDURE в файле.

Замечания

По умолчанию, параметры передаются в функции по значению. Для информации о передаче параметров в функцию по ссылке, см. SET UDFPARMS .

Когда Вы задаете команду DO с именем функции, Visual FoxPro ищет функции в следующем порядке:

  1. Файл, содержащий команду DO.

  2. Процедурные Файлы открытые с помощью SET PROCEDURE.

    Для подробной информации, см. SET PROCEDURE Команда .

  3. Программные файлы в цепочке выполнения.

    Visual FoxPro ищет программные файлы в порядке от последней выполненной программы до первой выполненной программы.

  4. Автономный программный файл.

Если соответствующий программный файл найден, Visual FoxPro выполняет программу. Иначе, Visual FoxPro генерирует сообщение об ошибке.

Для выполнения функцию в определенном файле, включите предложение IN в команду DO.

Для информации об использовании команды FUNCTION при создании классов, см. DEFINE CLASS .

Пример

Этот пример создает класс объекта custom Hello и добавляет метод SayHello . Метод SayHello возвращает символьную строку "Привет Мир", которая отображается функцией MESSAGEBOX. Обратите внимание: код определения класса помещен после кода программы, который создает экземпляр объекта.

Скопировать код
Local oHello
oHello=CREATEOBJECT("Hello")
=MESSAGEBOX(oHello.SayHello(),48)
RELEASE oHello
* Class definition code
DEFINE CLASS Hello AS CUSTOM
 FUNCTION SayHello
  RETURN "Hello World"
 ENDFUNC
ENDDEFINE

См. Также

Другие Ресурсы

PROCEDURE Команда
PARAMETERS( ) Функция
Команды

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GATHER Command

Visual FoxPro 9.0 Справка по языку
Команда GATHER
См.также Пример

Замещает данные в текущей записи текущей выбранной таблицы данными, взятыми из массива, набора переменных или объекта.

GATHER FROM ArrayName | MEMVAR | NAME ObjectName
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
 [MEMO]

Параметры

FROM ArrayName

Определяет массив, данные из которого замещают данные в текущей записи. Содержимое элементов массива, начиная с первого элемента, замещают содержимое соответствующих полей в записи таблицы. Содержимое первого элемента массива замещает первое поле в записи; содержимое второго элемента массива замещает второе поле в записи и т.д. Если массив имеет меньше элементов, чем полей в таблице, оставшиеся поля игнорируются. Если массив имеет больше элементов, чем полей в таблице, оставшиеся элементы массива игнорируются.
MEMVAR

Определяет переменные или массив, данные из которых копируются в текущую запись таблицы. Данные передаются таким образом, что значения переменных замещают значения в одноименных с переменными полях. Содержимое поля не замещается если переменная, имя которой совпадает с именем поля, отсутствует.
Подсказка:
Вы можете создавать переменные с именами полей таблицы включая опции MEMVAR или BLANK в команде SCATTER.

NAME ObjectName

Определяет объект, свойства которого имеют такие же имена, как поля в таблице. Содержимое каждого поля замещается значением свойства имя которого совпадает с именем этого поля. Содержимое поля не замещается, если свойство, имя которого совпадает с именем поля, отсутствует.
FIELDS FieldList

Определяет поля, содержимое которых замещается содержимым элементов массива или переменных. Содержимое поля будет замещено только в том случае, если оно присутствует в списке FieldList.
FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton

Вы можете выборочно замещать содержимое полей содержимым элементов массива или переменных включив фразу LIKE или EXCEPT или обе эти фразы. Если вы используете фразу LIKE Skeleton, Visual FoxPro заместит содержимое полей, названия которых будут соответствовать шаблону Skeleton. Если вы используете фразу EXCEPT Skeleton, Visual FoxPro заместит содержимое полей, названия которых не будут соответствовать шаблону Skeleton. Шаблон Skeleton поддерживает сокращения (* и ?). Например, для включения всех полей, названия которых начинаются на букву A и P, запишите:
Скопировать код
GATHER FROM gamyarray FIELDS LIKE A*,P*
MEMO

Определяет что содержимое полей типа memo или Blob также будет замещаться содержимым элементов массива или переменных. Если вы опустите ключевое слово MEMO, поля типа memo и Blob будут пропускаться при работе команды GATHER. Поля типа General и picture всегда игнорируются в команде GATHER, даже если вы включите ключевое слово MEMO.

Пример

В этом примере команда GATHER используется для копирования данных в новую запись таблицы. После создания таблицы Test используется команда SCATTER, создающая набор переменных, имена которых совпадают с именами полей таблицы. Затем каждое поле получает значение и в таблицу добавляется новая пустая запись.

Скопировать код
CREATE TABLE Test FREE ;
 (Object C(10), Color C(16), SqFt n(6,2))
SCATTER MEMVAR BLANK
m.Object="Box"
m.Color="Red"
m.SqFt=12.5
APPEND BLANK
GATHER MEMVAR
BROWSE

Следующий пример показывает применение команды GATHER с фразой NAME для копирования данных в новую запись таблицы. После создания таблицы Test используется команда SCATTER, создающая набор переменных, имена которых совпадают с именами полей таблицы. Затем свойства объекта присваиваются переменным и в таблицу добавляется новая пустая запись.

Скопировать код
CREATE TABLE Test FREE ;
 (Object C(10), Color C(16), SqFt n(6,2))

SCATTER NAME oTest BLANK
oTest.Object="Box"
oTest.Color="Red"
oTest.SqFt=12.5
APPEND BLANK
GATHER NAME oTest
RELEASE oTest
BROWSE

См.также

Другие ресурсы

Команда APPEND FROM ARRAY
Команда COPY TO ARRAY
Команда DIMENSION
Команда SCATTER
Команды
Справка по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GETEXPR Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда GETEXPR
Смотрите также Пример
CollapseAll image

Отображает диалоговое окно построителя выражений, в котором можно создать выражение и сохранить его в переменной памяти или в элементе массива.

GETEXPR [cCaptionText] TO MemVarName
   [TYPE cExpressionType [; cErrorMessageText]]
   [DEFAULT cDefaultExpression]

Параметры

cCaptionText

Задает надпись, которая появится в конструкторе выражений. Эта надпись должна напоминать пользователю о том, какого рода выражение следует построить.

TO MemVarName

Задает переменную памяти или элемент массива, в котором сохраняется данное выражение. Если такой переменной памяти еще не существует, Visual FoxPro создаст ее. Команда GETEXPR не может создать элемент массива.

Если выйти из конструктора выражений, нажав клавишу Esc или кнопку Cancel, в заданную переменную памяти или элемент массива будет записана пустая строка. Если выражение создается по умолчанию с помощью предложения DEFAULT, то при выходе из конструктора выражений нажатием клавиши Esc или кнопки Cancel в переменную памяти или элемент массива записывается выражение, созданное по умолчанию.

TYPE cExpressionType [; cErrorMessageText]

Задает тип выражения. В следующей таблице перечислены символы, которые можно задавать в качестве cExpressionType, и соответствующие им типы выражений:

cExpressionType Тип выражения

C

Character

D

Date

T

DateTime

N

Numeric

F

Float

I

Integer

B

Double

Y

Currency

L

Logical

Можно задать сообщение об ошибке cErrorMessageText, которое будет выдаваться, когда выражение окажется недопустимым. Если текст сообщения cErrorMessageText указывается вместе с типом выражения cExpressionType, эти два аргумента следует разделить точкой с запятой (;). Вся комбинация, состоящая из cExpressionType, точкой с запятой и cErrorMessageText, должна быть заключена в кавычки (одиночные или двойные).

DEFAULT cDefaultExpression

Позволяет отображать в конструкторе выражений первоначальный вариант выражения, предлагаемый про умолчанию. Вы можете принять существующее выражение, используемое по умолчанию, или заменить его собственным, задав его в качестве cDefaultExpression. Выражение cDefaultExpression сохраняется в переменной памяти или элементе массива, если вы выходите из конструктора выражений, нажимая клавишу Esc или кнопку Cancel.

Expand image Пример

В следующем примере команда GETEXPR используется для получения выражения надлежащего типа для команды LOCATE. Если команда LOCATE выполняется успешно, отображается название компании; в противном случае выдается соответствующее сообщение.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

GETEXPR 'Enter condition to locate ' TO gcTemp;
   TYPE 'L' DEFAULT 'COMPANY = ""'
LOCATE FOR &gcTemp
IF FOUND( )
   DISPLAY
ELSE
   ? 'Condition ' + gcTemp + ' was not found '
ENDIF

Expand image Смотрите также

Справочное руководство

Системная переменная _GETEXPR
Функция GETFILE( )
Функция GETPICT( )
Функция LOCFILE( )
Функция PUTFILE( )

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GO | GOTO Command

Visual FoxPro 9.0 Справка по языку
Команда GO | GOTO
Смотрите также Пример

Перемещает указатель записи к записи с указанным номером. Синтаксис команды имеет несколько вариантов.

GO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]

GO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]

GOTO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]

GOTO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]

Параметры

RECORD nRecordNumber

Указывает физический номер записи, к которой требуется переместить указатель записи. Вы можете полностью опустить GO или GOTO и указать только номер записи. Если вы указываете только номер записи, вы можете перемещать указатель только в текущей рабочей области.
Прим.переводчика. Если вы опускаете ключевое слово GO или GOTO, вы также должны опустить ключевое слово RECORD, указывая только номер записи, который в этом случае должен быть только числом или арифметическим выражением, содержащим числа и математические функции, аргументами которых выступают числа. Если результатом выражения окажется нецелое число, его дробная часть будет отброшена. Попытка указать переменную, выражение, содержащее переменные или использовать макроподстановку повлечет за собой ошибку с кодом 16 (Unrecognized command verb - команда не распознана).
IN nWorkArea

Указывает рабочую область с таблицей, в которой требуется переместить указатель записи.
IN cTableAlias

Указывает алиас таблицы, в которой требуется переместить указатель записи.
TOP

Устанавливает указатель записи на первую запись таблицы. Если в таблице активен индекс по возрастанию значения, первой записью будет запись, содержащая наименьшее значение индексного ключа. Если активен индекс по убыванию, первой записью в таблице будет запись, содержащая наибольшее значение индексного ключа.
BOTTOM

Устанавливает указатель запись на последнюю запись таблицы. Если в таблице активен индекс по возрастанию значения, первой записью будет запись, содержащая наибольшее значение индексного ключа. Если активен индекс по убыванию, первой записью в таблице будет запись, содержащая наименьшее значение индексного ключа.

Примечания

GO и GOTO могут быть использованы вперемешку. Эти команды оперируют таблицей, открытой в текущей рабочей области, если вы не укажете другую рабочую область в опции IN.

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products && Opens Products table
USE customer IN 0 && Opens Customer table
GO BOTTOM IN products
CLEAR
? RECNO('products')
GO TOP
? RECNO( ) && Displays 1
GO 5
? RECNO( ) && Displays 5

Смотрите также

Функция RECNO( )
Команда SELECT
Команда SKIP
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Команда HELP

Visual FoxPro 9.0 Справочное руководство по языку
Команда HELP
Смотрите также
CollapseAll image

Открывает окно справки.

HELP   [Topic | ID nContextID] [IN [WINDOW] WindowName | IN [WINDOW]
   SCREEN | IN [WINDOW] [NOWAIT]

Параметры

Topic

Задает тему справки, которую следует отобразить. Если заголовок темы указан не полностью, Visual FoxPro открывает окно справки и отображает тему с наиболее близким к заданному заголовком.

ID nContextID

Задает нужную тему справки по идентификатору ID контекста.

Если используется справка графического стиля, nContextID представляет собой номер контекста в разделе MAP файла проекта справки.

IN [WINDOW] WindowName

Открывает окно справки в родительском окне. Окно справки не перенимает характеристики родительского окна, в котором оно размещается. Если окно справки активизируется внутри родительского окна, его нельзя выдвинуть за пределы родительского окна. При перемещении родительского окна окно справки двигается вместе с ним. режде чем открывать окно справки из родительского окна, предварительно нужно определить это родительское окно с помощью команды DEFINE WINDOW.

IN [WINDOW] SCREEN

Принудительно помещает окно справки в основное окно Visual FoxPro.

NOWAIT

В графическом стиле справки, аргумент NOWAIT неимеет єфекта, и выполнение команд продолжается после выполнения команды HELP.

Expand image Замечания

Expand image Смотрите также

Reference

Команда SET HELP
Команда SET TOPIC

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


HIDE MENU Command

Visual FoxPro 9.0 Описание Языка
Команда HIDE MENU
См. также

Скрывает одно или несколько активных пользовательских меню.

HIDE MENU MenuBarName1 [, MenuBarName2 ...] | ALL [SAVE]

Параметры

MenuBarName1 [, MenuBarName2 ...]

Определяет имя меню, или список имен меню (разделенных запятыми), которые нужно скрыть.
ALL

Скрывает все определенные пользователем меню.
SAVE

Оставить изображение меню на экране или пользовательском окне. Размещение изображения меню на экране часто используется при отладке программного модуля и тестировании. Изображение меню можно стереть командой CLEAR.

Комментарии

Команда HIDE MENU убирает пользовательское меню или все определенные меню на главном окне системы или в пользовательском окне; при этом определения указанных меню не удаляются из памяти, поэтому могут использоваться в дальнейшем . Перед тем, как выполнить команду HIDE MENU данное меню должно быть создано командой DEFINEMENU. Скрытие меню аналогично деактивации данного меню. Когда меню скрыто, оно все еще остается в памяти, поэтому может быть активировано следующими командами ACTIVATE MENU или SHOW MENU.

См. также

Описание

Команда ACTIVATE MENU
Команда DEFINE MENU
Команда DEFINE PAD
Команда SHOW MENU

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


HIDE POPUP Command

Visual FoxPro 9.0 Описание Языка
Команда HIDE POPUP
См. также

Скрывает одно или несколько меню пользователя, созданных командой DEFINE POPUP.

HIDE POPUP MenuName1 [, MenuName2 ...] | ALL [SAVE]

Параметры

MenuName1 [, MenuName2 ...]

Определяет имя одного или нескольких меню (разделенных запятыми), которые нужно скрыть.
ALL

Скрывает все определенные меню.
SAVE

Размещает изображение указанного меню на главном экране системы или пользовательском окне. Данная опция часто используется при отладке программного модуля или тестировании. Данное изображение может быть стерто командой CLEAR.

Комментарии

Команда HIDE POPUP удаляет определенное меню или все активные меню с главного окна системы или из пользовательского окна, в котором меню определены; при этом из памяти данные меню не удаляются. Перед скрытием меню, оно должно быть определено командой DEFINE POPUP. Скрытие меню аналогично его деактивации. Скрытое меню может быть вновь активировано в главном окне системы или пользовательском окне командами ACTIVATE POPUP или SHOW POPUP.

См. также

Другие ссылки

Команда ACTIVATE POPUP
Команда DEFINE BAR
Команда DEFINE POPUP
Команда SHOW POPUP
Команда
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


HIDE WINDOW Command

Visual FoxPro 9.0 Справочник Языка
HIDE WINDOW Команда
См. Также Пример

Скрывает активное определяемое пользователем окно или системное окно Microsoft Visual FoxPro.

HIDE WINDOW WindowName1 [, WindowName2 ... ] | ALL | SCREEN
   [ IN [WINDOW] WindowNameN | IN [WINDOW] SCREEN | IN [WINDOW]
   [BOTTOM | TOP | SAME]

Параметры

WindowName1 [, WindowName2 ...]

Определяет для скрытия имя окна или списка окон (разделенных запятыми). Если Вы применяете HIDE WINDOW без каких-либо параметров, то скрывается активное окно. В Visual FoxPro, Вы можете определить для скрытия имя инструментальной панели. См. SHOW WINDOW для получения списка имен инструментальных панелей Visual FoxPro.
ALL

Скрывает все окна.
SCREEN

Скрывает главное окно Visual FoxPro. Чтобы снова отобразить главное окно Visual FoxPro, примените ACTIVATE WINDOW SCREEN или SHOW WINDOW SCREEN.
IN [WINDOW] WindowNameN

Скрывает окно в пределах родительского окна.
IN [WINDOW] SCREEN

Явно скрывает окно в главном окне Visual FoxPro.
BOTTOM | TOP | SAME

Определяет, как скрыты окна относительно других окон. BOTTOM размещает окно позади всех других окон. TOP (значение по умолчанию) размещает окно перед всеми другими окнами. SAME скрывает окно, не влияя на его передне-заднее размещение. Чтобы сохранять относительные позиции множества скрытых окон, когда они восстановливаются командой SHOW WINDOW ALL, включайте ключевое слово SAME, когда Вы скрываете окна.

Замечания

HIDE WINDOW удаляет окно или несколько окон из главного окна Visual FoxPro или из определяемого пользователем окна. Вы можете использовать HIDE WINDOW, чтобы скрыть системные окна, типа окна Command, окна Data Session, и так далее.

Скрытие окна - не то же самое что его закрытие. Когда окно скрыто, оно является резидентым в памяти и остается активным. Вывод можно направить в скрытое окно, но Вы не сможете это увидеть.

Освобождение окна удаляет его из памяти. Окна, удаленные из памяти должны быть определены заново, чтобы быть восстановленными. Окно может быть отображено командами ACTIVATE WINDOW или SHOW WINDOW.

Чтобы скрыть системное окно и/или инструментальную панель (в Visual FoxPro), включите полное имя системного окна или инструментальной панели в кавычках. Например, чтобы скрыть инструментальную панель Report Controls в Visual FoxPro, выполните следующую команду:

Скопировать код
HIDE WINDOW "Report Controls"

Исторически в предыдущих версиях Visual FoxPro, окно Data Session всегда упоминалось как окно View. Дополнительно, синтаксис, используемый для управления этим окном, типа HIDE WINDOW , ACTIVATE WINDOW , WONTOP( ) , также ссылается на это окно как на окно View. Visual FoxPro продолжает ссылаться к окну View командой HIDE WINDOW .

Пример

В следующем примере окно wOutput1 определено и активировано. Программа ждет от Вас нажатия клавиши и затем скрывает окно. Программа ждет от Вас повторного нажатия клавиши и затем выводит окно. Нажатие клавиши в третий раз удаляет окно из экрана и из памяти.

Скопировать код
DEFINE WINDOW wOutput1 FROM 6,1 TO 19,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW wOutput1
WAIT WINDOW 'Нажмите клавишу для скрытия этого окна'
HIDE WINDOW wOutput1
WAIT WINDOW 'Нажмите клавишу для появления этого окна'
SHOW WINDOW wOutput1
WAIT WINDOW 'Нажмите клавишу для удаления этого окна из памяти'
DEACTIVATE WINDOW wOutput1
RELEASE WINDOW wOutput1

См. Также

Другие Ресурсы

ACTIVATE WINDOW Команда
DEACTIVATE WINDOW Команда
DEFINE WINDOW Команда
RELEASE WINDOW Команда
SHOW WINDOW Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Команда IF ... ENDIF

Visual FoxPro 9.0 Справочное руководство по языку
Команда IF ... ENDIF
Смотрите также Пример
CollapseAll image

Осуществляет условное выполнение группы команд исходя из значения логического выражения.

IF lExpression [THEN]
      Commands
[ELSE
      Commands]
ENDIF

Параметры

lExpression

Задает вычисляемое логическое выражение. Если результат вычисления lExpression "истина" (.T.), будут выполнены все команды, расположенные между IF или THEN и оператором ELSE или ENDIF (тем из двух, который стоит раньше).

  • Если значение lExpression - "ложь" (.F.) и задан оператор ELSE, , выполняются все команды между ELSE и ENDIF.

  • Если значение lExpression - "ложь" (.F.) и оператор ELSE не задан, все команды между IF и ENDIF игнорируются. В этом случае выполнение программы продолжается с первой команды, следующей за оператором ENDIF.

Expand image Замечания

Блоки IF ... ENDIF можно вкладывать друг в друга.

Вы можете вкладывать блок IF ... ENDIF в другой блок IF ... ENDIF.

В строках с операторами IF, THEN, ELSE, и ENDIF можно задавать комментарии. Они будут игнорироваться во время компиляции и выполнения программы..

Expand image Пример

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table

GETEXPR 'Enter condition to locate ' TO gcTemp;
   TYPE 'L' DEFAULT 'COMPANY = ""'
LOCATE FOR &gcTemp  && Enter LOCATE expression
IF FOUND( )  && Was it found?
   DISPLAY  && If so, display the record
ELSE  && If not found
   ? 'Condition ' + gcTemp + ' was not found '   && Display a message
ENDIF
USE

Expand image Смотрите также

Reference

Команда DO CASE ... ENDCASE
Команда DO WHILE ... ENDDO
Команда FOR EACH ... ENDFOR
Команда FOR ... ENDFOR
Функция IIF( )
Команда SCAN ... ENDSCAN

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


INSERT - SQL Command

Visual FoxPro 9.0 Справочник Языка
INSERT - SQL Команда
См. Также

Добавляет в конец таблицы новую запись, которая содержит указанные значения полей. Команда INSERT SQL имеет три синтаксиса:

  • Используйте первый синтаксис, чтобы вставить указанные значения в указанные поля таблицы.

  • Используйте второй синтаксис, чтобы вставить содержание элементов массива, переменной памяти, или свойства объекта, которые соответствуют именам полей в таблице.

  • Используйте третий синтаксис, чтобы вставить строки из команды SQL SELECT в указанные поля таблицы.

INSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])]
   VALUES (eExpression1 [, eExpression2, ...])

INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR | FROM NAME ObjectName

INSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])]
   SELECT SELECTClauses [UNION UnionClause SELECT SELECTClauses ...]

Параметры

INSERT INTO dbf_Name

Определяет имя таблицы, чтобы добавить в её конец новую запись. dbf_Name может включать путь и может быть именным выражением.
[( FieldName1 [, FieldName2 [...]])]

Определяет имена полей новой записи, в которую вставляются значения.
VALUES ( eExpression1 [, eExpression2 [...]])

Определяет значения полей, которые будут вставлены в новую запись. Если Вы опускаете имена полей, Вы должны определить значения полей в порядке, определяемом структурой таблицы. Если eExpression является именем поля, оно должно включать псевдоним таблицы. Если SET NULL установлен в ON , INSERT пытается вставлять значения null в любые поля, не указанные в предложении VALUES .
FROM Source

Определяет вставку данных из массива, переменной памяти, или объекта Visual FoxPro. Следующий список указывет допустимые элементы для Source :
  • ARRAY

    ArrayName определяет массив, данные которого вставляются в новую запись.

    Начинаясь с первого элемента, содержание элементов массива вставляется в соответствующие поля записи. Содержание первого элемента массива вставляется в первое поле новой записи; содержание второго элемента массива вставляется во второе поле, и так далее.

    Когда Вы включаете предложение FROM ARRAY , Visual FoxPro игнорирует любые значения по умолчанию для полей.

  • MEMVAR

    MEMVAR определяет, что содержание переменных памяти вставляется в поля с теми же самыми именами как у переменных. Если переменной с таким же имененм как у поля не существует, поле остается пустым.

  • NAME

    ObjectName определяет допустимый объект Visual FoxPro, имена свойств которого соответствуют именам полей в таблице, в которую Вы хотите вставить новую запись, содержащую значения свойства объекта. Вы можете определить любой допустимый объект Visual FoxPro, который Вы обычно создаете использованием команды SCATTER...NAME . Для подробной информации, см. SCATTER Команда .

    Если таблица имеет поле, которое действительно соответствует свойству объекта, Visual FoxPro игнорирует поле и оставляет его пустым как при выполнении команды APPEND BLANK .

    Если тип свойства объекта не соответствует типу поля таблицы, Visual FoxPro генерирует сообщение о несоответствии типов данных.

    Обратите внимание:
    Проявите осмотрительность при определении объектов, полученных из классов Visual FoxPro, потому что многие штатные свойства имеют типы, которые могут отличаться от полей, с которыми Вы работаете и не могут быть изменены.

    Если в таблице существует автоинкрементное поле, Вы не сможете располагать свойством объекта, которое соответствует автоинкрементному полю, если Вы не установите команду SET AUTOINCERROR в значение OFF для сессии данных. Иначе, Visual FoxPro генерирует ошибку. Если Вы используете SCATTER...NAME для создания объекта в то время как SET AUTOINCERROR установлено в ON , Вы можете использовать функцию REMOVEPROPERTY () , чтобы удалить любые автоинкрементные свойства, чтобы избежать генерирования ошибки. Для подробной информации, см. SET AUTOINCERROR Команда и REMOVEPROPERTY( ) Функция .

Массив, переменная памяти, или объект не поддерживаются средством Visual FoxPro OLEDB.
SELECT SELECTClauses [UNION UnionClause SELECT SELECTClauses ...]

Извлекает данные из указанных полей таблицы или курсора, используя один или более инструкций SQL SELECT, чтобы вставить в другую таблицу или курсор. Однако, инструкция SELECT не может содержать никаких предложений non-SQL, типа следующих: предложений INTO , TO , и PREFERENCE ; опций NOFILTER , READWRITE , NOCONSOLE , PLAIN , и NOWAIT. Для объединения дополнительных инструкций SQL SELECT с первой инструкцией SQL SELECT, используйте предложение UNION . Для синтаксиса команды SQL SELECT, которая содержит предложение UNION , см. SELECT - SQL Команда .
Обратите внимание:
Когда Вы используете SQL INSERTвсместе с инструкцией SELECT, убедитесь, что данные, которые Вы вставляете, совместимы с типами данных в таблице, в которую Вы вставляете. Visual FoxPro пытается преобразовывать типы данных в курсоре, созданном SQL SELECT в типы данных соответствующей таблицы или столбце курсора, в который данные вставляются. Если вставляемые данные не совместимы, точность данных может быть потеряна, тип данных Date приводится к типу данных Character и так далее.

Замечания

Если таблица, которую Вы определяете, является открытой, SQL INSERT добавляет в конец таблицы новую запись. Если таблица является открытой в другой рабочей области, она не становится активной после того, как запись добавлена в конец; текущая рабочая область остается активной.

Если указанная Вами таблица не открыта, Visual FoxPro открывает её в новой рабочей области, и новая запись добавляется в конец таблицы. Новая рабочая область не становится активной; текущая рабочая область остается активной.

В то время как выполняется команда SQL INSERT, текущая рабочая область становится областью, в которую вставлена новая запись. Другими словами, когда выполняется команда SQL INSERT, она до своего запуска переходит в контекст таблицы, куда идет вставка, независимо от текущей рабочей области.

После выполнения команды INSERT, Visual FoxPro устанавливает указатель на новую запись.

Visual FoxPro обновляет системную переменную _TALLY количеством вставленных строк, если Вы включаете инструкцию SQL SELECT. Для подробной информации, см. _TALLY Системная Переменная .

Примеры

Пример 1

Следующий пример открывает таблицу Employee и добавляет одну запись.

Скопировать код
USE employee
INSERT INTO employee (emp_no, fname, lname, officeno) ;
   VALUES (3022, "John", "Smith", 2101)

Пример 2

Следующий пример использует команду USE , чтобы открыть таблицу "Клиенты" в базе данных TestData.dbc и команду SCATTER , чтобы скопировать содержание текущей записи в переменные. COPY STRUCTURE копирует структуру таблицы в новую таблицу Cust2.

INSERT вставляет новую запись в таблицу Cust2 из переменных памяти. SELECT извлекает данные из Cust2, и BROWSE отображает новую запись.

Для завершения используются команда USE без указания таблицы, которая закрывает таблицу в текущей рабочей области, и DELETE, которая удаляет Cust2.

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
SCATTER MEMVAR
COPY STRUCTURE TO Cust2
INSERT INTO Cust2 FROM MEMVAR
SELECT CUST2
BROWSE
USE
DELETE FILE cust2.dbf

Пример 3

Следующий пример вставляет данные из таблицы OrdersArchive инструкцией SELECT, выполненной над таблицей "Заказы".

Скопировать код
INSERT INTO OrdersArchive (order_id, order_date, ship_name) ;
   SELECT order_id, order_date, ship_name FROM Orders ;
      WHERE order_date >= (DATE()-30)

См. Также

Ссылки

MODIFY QUERY Команда
_TALLY Системная Переменная

Другие Ресурсы

Команды
CREATE QUERY Команда
CREATE TABLE - SQL Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


IMPORT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда IMPORT
Смотрите также
CollapseAll image

Импортирует данные из файла внешнего формата, создавая новую таблицу Visual FoxPro.

IMPORT FROM FileName   [DATABASE DatabaseName [NAME LongTableName]]
   [TYPE] FW2 | MOD | PDOX | RPD | WK1    | WK3 | WKS | WR1 | WRK | XLS
    | XL5 [SHEET cSheetName]   | XL8 [SHEET cSheetName]   [AS nCodePage]

Параметры

FileName

Задает имя файла, из которого нужно импортировать данные. Если имя файла указано без расширения, ему назначается расширение, используемое по умолчанию для заданного типа файлов.

DATABASE DatabaseName

Определяет базу данных, в которую добавляется новая таблица.

NAME LongTableName

Определяет длинное имя для новой таблицы. Длинные имена могут содержать до 128 символов и могут использоваться вместо коротких имен файлов в базе данных.

TYPE

ключевое слово TYPE необязательно, но вы должны включить один из следующих типов файла:

Тип файла Описание

FW2

Задайте FW2, чтобы импортировать файлы FW2, созданные в Framework II.

MOD

Задайте MOD, чтобы импортировать файлы MOD, созданные в Microsoft Multiplan версии 4.01.

PDOX

Задайте PDOX, чтобы импортировать файлы Paradox. Файлы баз данных, созданные в системе Paradox версий 3.5 и 4.0 фирмы Borland, можно импортировать, задав опцию PDOX.

RPD

Задайте RPD, чтобы импортировать файлы RPD, созданные в RapidFile.

WK1 | WK3 | WKS

Задайте WK1, чтобы импортировать данные из электронной таблицы Lotus 1-2-3. Столбцы электронной таблицы становятся полями таблицы Visual FoxPro, а строки электронной таблицы становятся записями. Электронным таблицам, созданным в Lotus 1-2-3 редакции 2.x, назначается расширение имени WK1; электронным таблицам Lotus 1-2-3 редакции 3.x назначается расширение имени WK3; электронным таблицам, созданным в Lotus 1-2-3 редакции 1-A, назначается расширение имени .WKS.

WR1 | WRK

Задайте WR1, чтобы импортировать данные из электронной таблицы Lotus Symphony. Столбцы электронной таблицы становятся полями таблицы Visual FoxPro, а строки электронной таблицы становятся записями. Электронным таблицам, созданным в Symphony версии 1.10, назначается расширение имени WR1, а электронным таблицам, созданным в Symphony версии 1.01, назначается расширение имени .WRK.

XLS

Задайте XLS, чтобы импортировать данные из электронных таблиц Microsoft Excel версий 2.0, 3.0 и 4.0. Столбцы электронной таблицы становятся полями таблицы Visual FoxPro, а строки электронной таблицы становятся записями. Файлы электронных таблиц, созданные в Microsoft Excel, имеют расширение имени .XLS.

XL5 [SHEET cSheetName]

Задайте XL5, чтобы импортировать данные из Microsoft Excel версии 5.0. Столбцы электронной таблицы становятся полями таблицы Visual FoxPro, а строки электронной таблицы становятся записями. Файлы электронных таблиц, созданные в Microsoft Excel, имеют расширение имени .XLS.

Если предложение SHEET опущено, импортируются данные из страницы Sheet1. Чтобы импортировать данные из другой страницы, укажите ключевое слово SHEET и задайте имя нужной страницы в качестве аргумента cSheetName.

XL8 [SHEET cSheetName]

Задайте XL8, чтобы импортировать данные из Microsoft Excel 97. Столбцы электронной таблицы становятся полями таблицы Visual FoxPro, а строки электронной таблицы становятся записями. Файлы электронных таблиц, созданные в Microsoft Excel, имеют расширение имени .XLS.

Если предложение SHEET опущено, импортируются данные из страницы Sheet1. Чтобы импортировать данные из другой страницы, укажите ключевое слово SHEET и задайте имя нужной страницы в качестве аргумента cSheetName.
AS nCodePage

Задает кодовую страницу импортируемого файла. Visual FoxPro копирует содержимое импортируемого файла и в процессе копирования данных автоматически преобразует их в текущую кодовую страницу Visual FoxPro.

Если заданная кодовая страница nCodePage не поддерживается, Visual FoxPro генерирует сообщение об ошибке. Выдав функцию GETCP( ) для кодовой страницы nCodePage, можно отобразить диалоговое окно Code Page и в нем задать кодовую страницу для импортируемого файла.

Если предложение AS nCodePage опущено и Visual FoxPro не может определить кодовую страницу импортируемого файла, Visual FoxPro копирует содержимое импортируемого файла и в процессе копирования данных автоматически преобразует их в текущую кодовую страницу Visual FoxPro. Если предложение AS nCodePage опущено и Visual FoxPro может определить кодовую страницу импортируемого файла, Visual FoxPro автоматически преобразует данные в импортируемом файле из их кодовой страницы в текущую кодовую страницу Visual FoxPro. Текущую кодовую страницу Visual FoxPro можно определить с помощью функции CPCURRENT( ).

Если nCodePage равно 0, предполагается, что кодовая страница импортируемого файла совпадает с текущей кодовой страницей Visual FoxPro, и преобразование кодовой страницы не производится.

Expand image Замечания

В большинстве программных продуктов данные хранятся в файлах таких форматов, которые нельзя открыть непосредственно в Visual FoxPro. Команда IMPORT создает новую таблицу Visual FoxPro из данных, хранящихся в файлах, которые Visual FoxPro не в состоянии сразу прочитать.

Новая таблица создается с тем же именем, что и у файла, из которого импортируются данные. Этой новой таблице присваивается расширение имени .DBF.

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM
Команда COPY TO
Команда EXPORT
Функция GETCP( )

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


KEYBOARD Command

Visual FoxPro 9.0 Справка по языку
Команда KEYBOARD
Смотрите также

Помещает указанное символьное выражение в буфер клавиатуры.

Символы остаются в буфере до тех пор, пока Visual FoxPro не начнет обрабатывать ввод с клавиатуры. С этого момента символы начинают извлекаться из буфера клавиатуры и считываться, как если бы они вводились прямо с клавиатуры. Вы можете использовать KEYBOARD для создания самостоятельно работающих демонстрационных систем с тем, чтобы показывать работу ваших приложений.

KEYBOARD cKeyboardValue [PLAIN] [CLEAR]

Параметры

cKeyboardValue

Указывает символьное выражение, значение которого помещается в буфер клавиатуры. Символьное выражение может быть строкой символов, кодом клавиши, набором кодов клавиш или пользовательской функцией, возвращающей символьное значение. Список кодов клавиш приведен в описании команды ON KEY LABEL.
Замечание:
Если параметр cKeyboardValue задает код клавиши, он должен быть заключен в фигурные скобки и одинарные или двойные кавычки, например:

Скопировать код
KEYBOARD "{CTRL+LEFTARROW}"
Для того, чтобы вставить в буфер клавиатуры паузу, вы можете также включить опцию PAUSE nSeconds в качестве части аргумента cKeyboardValue, где nSeconds задает продолжительность паузы в секундах. Например, в следующей строке кода задается пятисекундная пауза между выводом строк "Hello," и "World":
Скопировать код
KEYBOARD "Hello,{PAUSE 5} World"
PLAIN

Если у вас имеется клавиатурный макрос, определенный или активированный командой ON KEY LABEL, вы можете включить параметр PLAIN с тем, чтобы пропустить сделанные им назначения клавиш. PLAIN заполняет клавиатуру кодами клавиш, а не сделанными клавишам назначениями. Например, если клавише А была назначена команда при помощи ON KEY LABEL и код клавиши А указан в cKeyboardValue, используйте опцию PLAIN для того, чтобы поместить в буфер клавиатуры код клавиши А. При этом назначение, сделанное клавише А командой ON KEY LABEL, не будет обработано.
CLEAR

Опустошает буфер клавиатуры перед тем, как заполнить его кодами клавиш из cKeyboardValue.

Примечания

Вы можете поместить в буфер клавиатуры до 128 символов. После заполнения буфера лишние символы игнорируются.

Смотрите также

Функция CHRSAW( )
Команда ON KEY LABEL
Команда PLAY MACRO
Команда SET FUNCTION
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LABEL Command

Visual FoxPro 9.0 Описание Языка
Команда LABEL
См. также

Отправляет Этикетку из соответствующего файла (lbx) на устройство Вывода.

Команда LABEL интерпретируется системой Visual FoxPro как файл отчета (.frx формат), что справедливо также для файлов Этикеток (.lbx). Вы можете использовать данную команду LABEL также для получения отчетов из "символьно-ориентированных" Этикеток, построенных в системе FoxPro для MS-DOS.

LABEL [FORM FileName1 | FORM ?] [ENVIRONMENT] [Scope]
   [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
   [RANGE nStartPage [, nEndPage]]
   [NOCONSOLE | OFF ] [SAMPLE] [PDSETUP]
   [NAME ObjectName]
   [OBJECT oReportListener | TYPE iExpression]
   [TO PRINTER [PROMPT] | TO FILE FileName2]
   [PREVIEW [PreviewDestination] [NOWAIT] [WINDOW WindowName]]

Параметры

[FORM FileName1 | FORM ?]

Определяет имя файла этикетки, или отображает диалоговый бокс Открытия для выбора существующего файла. По-умолчанию, расширением файла этикетки является (.lbx).
Примечание:
Если файл этикетки находится не в текущем каталоге, Вы должны указать полное имя файла (чтобы система смогла найти указанный файл).

Выполнение команды LABEL без параметров отображает диалоговый бокс Открытия файла.
[ENVIRONMENT]

Включена для совместимости с младшими версиями, для файлов этикеток версии ( 2.x). См. дополнительно Управление данными в Отчетах
Замечание:
Вы можете задать окружение данных, используя следующее свойство AutoOpenTables = True (.T.). Для закрытия, после получения отчета по этикетке, соответствующих таблиц задайте следующее: AutoCloseTables = True (.T.). См. дополнительно: Свойство AutoOpenTables и Свойство AutoCloseTables.

[Scope]

Определяет интервал записей таблицы, для которых выполняется отчет по этикетке. Возможные значения операнда scope: ALL, NEXT <nRecords>, RECORD <nRecordNumber>, и REST. По-умолчанию, для команды LABEL считается значение ALL (все записи).
Примечание:
Если присутствует данный операнд Scope, то рассматривается диапазон записей таблицы, открытой в текущей рабочей области.

Для дополнитенльной информации см. раздел Scope операнд.
[FOR lExpression1]

Определяет условие, согласно которому в отчет включаются только те записи, которые ему удовлетворяют. Данное условие определяет некоторый фильтр для обрабатываемых записей. В данном случае условие фильтра lExpression1 может являться оптимизируемым по технологии Rushmore. Для лучшей производительности выполнения рассматриваемой команды используйте оптимизируемые выражения в операнде FOR. См. дополнительно: Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным
[WHILE lExpression2]

Определяет логическое условие при выполнении которого запись включается в отчет, т.е. пока lExpression2 = True (.T.).
[NOOPTIMIZE]

Отключает оптимизацию Rushmore выражения условия в команде LABEL. См. дополнительно: Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным
[RANGE nStartPage [, nEndPage]]

Определяет диапазон страниц, выводимых на печать или другой устройство вывода. Параметр nStartPage определяет первую страницу печати, а параметр nEndPage определяет последнюю страницу печати. Если nEndPage отсутствует, то последней является страница с номером = 32,767 (по умолчанию). Опция RANGE определяет диапазон выводимых страниц отчета, в отличие от опций scope, FOR, и WHILE, которые определяют диапазон обрабатываемых записей. Данный отбор страниц печати не работает в режиме предварительного просмотра "Print PreView"; однако при использовании "объектно-ориентированного" режима с использованием опции OBJECT или команды SET REPORTBEHAVIOR 90 можно и при просмотре отчета выбирать соответствующие страницы. Для управления выбором необходимых страниц отчета в этом случае используются элементы объекта ReportListener: PrintPageCurrent, PrintRangeFrom, и PrintRangeTo . См. раздел Метод OnPreviewClose .
[NOCONSOLE | OFF]

Подавляет отображение выводимой информации на главном окне системы или активном пользовательском окне. Если Вы используете объектно-ориентированный режим получения отчета по команде LABEL, то выводимая информация не отображается на экране VFP, соответственно опции NOCONSOLE и OFF не работают. Тем не менее, данные ключевые слова используются в объекте ReportListener.CommandClauses . Вам необходимо протестировать использование объета ReportListener, или соответствующего дочернего объекта на предмет отображения информации. См. дополнительно Свойство CommandClauses .
[SAMPLE]

Для "символьно-ориентированных" Этикеток, созданных в системе FoxPro для MS-DOS, опция SAMPLE может быть использована для тестирования размещения Этикетки. Указатель записи не перемещается при использовании данной опции, При использовании опции SAMPLE, после распечатки текущей записи задается вопрос: Do you want more samples? (Еще просмотреть отчет?). При выборе <Yes> выполнение продолжится. Опция SAMPLE игнорируется для графических Этикеток, созданных в системе Visual FoxPro.
[PDSETUP]

Загружает драйвер принтера. Опция PDSETUP используется для "символьно-ориентированных" Этикеток, созданных в системе FoxPro для MS-DOS. Опция PDSETUP игнорируется для графических Этикеток, созданных в системе Visual FoxPro.
[NAME ObjectName]

Определяет имя переменной объекта для среды данных отчета Этикетка. Данный объект может иметь различные свойства иметоды, например, AddObject, который может быть вызван при выполнении команды. Через данную переменную обеспечивается доступ к свойствам иметодам объекта Отчета. При отсутствии опции NAME, система Visual FoxPro использует (по-умолчнию) имя файла этикетки, которое может быть переопределено.
[OBJECT oReportListener | TYPE iExpression ]

Переключает систему Visual FoxPro в "объектно-ориентированный" режим обработки отчета Этикетка. В этом случае используется объект, построенный на базовом классе ReportListener ; Данная опция определяет также тип вывода информации. См. дополнительно: Объект ReportListener , Свойство ListenerType , и Свойство OutputType (Visual FoxPro). Опция OBJECT управляется для каждой команды LABEL в индивидуальном порядке, см. команду SET REPORTBEHAVIOR , от установки которой зависит выполнение команды LABEL.
[TO PRINTER [PROMPT] | TO [FILE] FileName2 [[ADDITIVE] ASCII]

Отправляет результаты отчета на принтер, или в файл, заданный параметром FileName2, со стандартным расширением ( .txt). Опция PROMPTотображает диалоговый бокс Печати, который запускается перед началом печати отчета. В объектро-ориентированнои режиме обработки отчетов данная опция включена в функциональность объекта ReportListener.CommandClauses.PrintPageCurrent . Если опция ASCII отсутствует, или применяется объектно-ориентированный режим, то вывод обеспечивается функциональностью соответствующего объекта. Для вывода в текстовый файл формата ASCII необходимо использовать команду SET REPORTBEHAVIOR 80 и включить данную опцию ASCII .
Примечание:
Опция ASCII может использоваться только на компьютере с установленным драйвером принтера. Без выполнения данного условия возникает ошибочная ситуация.

Файл формата ASCII содержит только текст. Другие элементы оформления отчета: шрифты, цветовое оформление, графические элементы (линии, прямоугольники) и прочее отсутствуют в текстовом файле ASCII. Опция ADDITIVE управляет ситуацией, когда необходимо добавить информацию в существующий файл или переписать его. Опции ADDITIVE и ASCII указываются именно в данном порядке в команде LABEL.
[PREVIEW [PreviewDestination] [NOWAIT] [WINDOW WindowName]]

Отображает этикетку в окне предварительного просмотра Отчета. По-умолчанию, окно предварительного просмотра является модальным, что обеспечивает подключение соответствующего ToolBar-a Print Preview . Опция NOWAIT обеспечивает продолжение выполнения программы при получении отчета.
Замечание:
"Символьно-ориентированные" отчеты, созданные в системе FoxPro MS-DOS имеют специальное окно просмотра. Данный механизм регулируется командой SET REPORTBEHAVIOR и не поддерживается в "объектно-ориентированных" отчетах, или режимах получения отчетов.

Если Вы включаете опцию WINDOW <WindowName>, тогда окно предварительного просмотра наследует характеристики указанного окна. Параметр WindowName должен указывать на значение свойства name некоторой формы, или определять переменную, использованную в команде DEFINE WINDOW. См. дополнительно: Колманда DEFINE WINDOW . В следующей таблице описаны возможные значения параметра PreviewDestination. Вы можете использовать опцию WINDOW отдельно или в комбинации с различными значениями параметра PreviewDestination.

PreviewDestination Описание

[IN WINDOW WindowName]

Определяет окно для размещения Предварительного просмотра Этикетки.

Если включена опция IN WINDOW <WindowName>, то этикетка просматривается в данном окне WindowName.

IN SCREEN

Определяет, что предварительный просмотр размещается в главном окне системы Visual FoxPro, и не может быть перемещен за его пределы.

Комментарии

Этикетки создаются и редактируются командами CREATE LABEL или MODIFY LABEL .

Когда используется "объектно-ориентированный" режим вывода отчета все соответственные опции команды LABEL FORM представляются как элементы объекта ReportListener, за исключением опций диапазона обрабатываемых записей: (scope, FOR, и WHILE). Вы можете использовать аттрибут CommandClauses.RecordTotal для определения количества обработанных Этикеток; или определить значения свойств объекта ReportListener перед выполнением печати отчета. Для дополнительной информации см. раздел: Свойство CommandClauses

См. также

Описание

Объект ReportListener
Команда SET REPORTBEHAVIOR
Команда REPORT FORM
Контейнер Preview API

Другие ссылки

Работа с Отчетами
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LIST Commands

Visual FoxPro 9.0 Language Reference
Команда LIST
See Also

Непрерывным потоком отображает информацию о таблице или окружении в главное окно Visual FoxPro или определенное пользователем окно. Имеет различные версии синтаксиса.

LIST [FIELDS FieldList] [Scope] [FOR lExpression1]
   [WHILE lExpression2] [OFF] [NOCONSOLE] [NOOPTIMIZE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
LIST FILES [ON Drive] [LIKE FileSkeleton]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
LIST MEMORY [LIKE FileSkeleton] [NOCONSOLE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
LIST STATUS [NOCONSOLE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
LIST STRUCTURE [IN nWorkArea | cTableAlias] [NOCONSOLE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]

Комментарии

Команда LIST идентична команде DISPLAY если бы не следующие различия:

  • LIST выводит информацию без остановки, тогда как DISPLAY показывает первый экран информации и делает паузу. За дополнительной информацией, см. DISPLAY Command.

  • ADDITIVE добавляет в конец названного файла. Если Вы опускаете ADDITIVE, файл будет перезаписан.

  • Возможность задать условие для LIST по умолчанию выдаются все записи ALL.

  • LIST не показывает записи с флагом помеченные удаления, если SET DELETED установлена в ON. Дополнительную информацию, см. SET DELETED Command.

Смотреть также

Other Resources

LIST CONNECTIONS Command
LIST DATABASE Command
LIST DLLS Command
LIST OBJECTS Command
LIST PROCEDURES Command
LIST TABLES Command
LIST VIEWS Command
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


LIST CONNECTIONS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST CONNECTIONS
Смотрите также Пример
CollapseAll image

Непрерывным потоком отображает информацию об именованных соединениях текущей базы данных.

LIST CONNECTIONS [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]   [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет вывод команды LIST CONNECTIONS на принтер.

В Visual FoxPro можно использовать необязательное предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды LIST CONNECTIONS в файл с именем FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет в конец названого файла.Если опустить ADDITIVE, то файл будет перезаписан.

NOCONSOLE

Подавляет вывод в основное окно Visual FoxPro или в активное пользовательское окно.

Expand image Замечания

Отображаемая информация включает имена соединений, источник данных и строки соединений текущей базы данных. Для получения дополнительной информации о соединениях текущей базы данных пользуйтесь функцией DBGETPROP( ).

Expand image Пример

В следующем примере предполагается, что источник данных ODBC с именем MyFoxSQLNT доступен. Открывается база данных testdata, и создается соединение Myconn. LIST CONNECTIONS использутся для выдачи списка именованных соединений базы данных.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')

CREATE CONNECTION Myconn DATASOURCE "MyFoxSQLNT" USERID "<userid>" PASSWORD "<password>"
CLEAR
LIST CONNECTIONS     && Lists named connections in the database

Expand image Смотрите также

Справочное руководство

Команда CREATE CONNECTION
Команда DELETE CONNECTION
Функция DBGETPROP( )
Команда DISPLAY CONNECTIONS
Команда RENAME CONNECTION

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LIST DATABASE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST DATABASE
Смотрите также Пример
CollapseAll image

Непрерывным потоком отображает информацию о текущей базе данных.

LIST DATABASE [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]   [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет вывод команды LIST DATABASE на принтер.

В Visual FoxPro можно использовать необязательное предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды LIST DATABASE в файл с именем FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет в конец названого файла.Если опустить ADDITIVE, то файл будет перезаписан.

NOCONSOLE

Подавляет вывод в основное окно Visual FoxPro или в активное пользовательское окно.

Expand image Замечания

Для получения дополнительной информации о текущей базе данных пользуйтесь функцией DBGETPROP( ).

Expand image Пример

В этом примере создается база данных people. Создается таблица friends, которая автоматически включается в эту базу данных. Команда DISPLAY TABLES выдает на экран список таблиц базы данных, а команда LIST DATABASES ѕ информацию об этих таблицах.
CopyCode image Copy Code
CREATE DATABASE people
CREATE TABLE friends (FirstName C(20), LastName C(20))
CLEAR
DISPLAY TABLES  && Displays tables in the database
LIST DATABASE  && Lists table information

Expand image Смотрите также

Справочное руководство

Команда DISPLAY DATABASE
Команда CREATE DATABASE
Функция DBGETPROP( )

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LIST DLLS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST DLLS
Смотрите также
CollapseAll image

Непрерывным потоком отображает информацию об библиотеках функций зарегистрированых в Visual FoxPro командой DECLARE - DLL.

LIST DLLS [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]   [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет вывод команды LIST DLLS на принтер.

В Visual FoxPro можно, включив необязательное предложение PROMPT, открыть перед началом печати диалоговое окно Print. Предложение PROMPT нужно ставить сразу после слов TO PRINTER.

TO FILE FileName

Направляет вывод команды LIST DLLS в файл с именем FileName. Если такой файл уже существует и установка SET SAFETY имеет значение ON, Visual FoxPro выдаст приглашение, предлагающее подтвердить запись поверх файла.

ADDITIVE

Добавляет в конец названого файла. Если опустить ADDITIVE, то файл будет перезаписан.

NOCONSOLE

Подавляет вывод в основное окно Visual FoxPro или в активное пользовательское окно.

Expand image Смотрите также

Справочное руководство

Команда DECLARE - DLL
Команда DISPLAY DLLS
Команда SET SAFETY

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LIST OBJECTS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST OBJECTS
Смотрите также Пример
CollapseAll image

Непрерывным потоком отображает информацию об объекте или группе объектов..

LIST OBJECTS   [LIKE cObjectSkeleton]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]   [NOCONSOLE]

Параметры

LIKE cObjectSkeleton

Отображает информацию о некотором подмножестве объектов. cObjectSkeleton представляет собой шаблон спецификации объектов, поддерживающий символы подстановки (* и ?). Например, чтобы вывести на дисплей непрерывным потоком все объекты, имена которых начинаются на A, выдайте следующую команду:

CopyCode image Copy Code
LIST OBJECTS LIKE A*
TO PRINTER [PROMPT]

Направляет вывод команды LIST OBJECTS на принтер.

Можно использовать необязательное предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. Ключевое слово PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды LIST OBJECTS в файл диска, заданный именем with FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет в конец названого файла.Если опустить ADDITIVE, то файл будет перезаписан.

NOCONSOLE

Подавляет вывод в основное окно Visual FoxPro или в активное пользовательское окно.

Expand image Замечания

По команде LIST OBJECTS отображается следующая информация о всех существующих объектах:

  • Свойства и их значения.

  • Методы.

  • Объекты-члены и класс или подкласс, на котором они базируются.

  • Класс или подкласс, на котором базируются данные объекты.

  • Иерархия классов для объектов.

Команда LIST OBJECTS заполняет информацией все основное окно Visual FoxPro, не делая пауз.

Expand image Пример

В следующем примере команда DEFINE CLASS и функция CREATEOBJECT( ) используются для создания двух пользовательских классов, FormChild и FormGrandChild, на основе базового класса Form системы Visual FoxPro. Команда LIST OBJECTS выдает информацию об этих объектах и их свойствах.
CopyCode image Copy Code
CLEAR
frmMyForm = CREATEOBJECT("FormGrandChild")
LIST OBJECTS LIKE frm*
RELEASE frmMyForm

DEFINE CLASS FormChild AS FORM
ENDDEFINE

DEFINE CLASS FormGrandChild AS FormChild
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда DISPLAY OBJECTS
Команда DEFINE CLASS
Функция CREATEOBJECT( )

Прочие ресурсы

Команда (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LIST PROCEDURES Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST PROCEDURES
Смотрите также Пример
CollapseAll image

Непрерывным потоком отображает имена хранимых процедур в текущей базе данных.

LIST PROCEDURES   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]   [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет информацию, возвращаемую командой LIST PROCEDURES, на принтер.

Можно использовать предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. Ключевое слово PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды LIST PROCEDURES в файл диска, заданный именем FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет возрващаемые данные в конец укащанного файла. Если вы опустите ADDITIVE, тогда файл будет переписан с новым содержанием.

NOCONSOLE

Подавляет вывод в основное окно Visual FoxPro или в активное пользовательское окно.

Expand image Примечания

Хранимые процедуры создаются с помощью команды MODIFY PROCEDURES.

Expand image Пример

В следующем примере открывается база данных testdata , и команда LIST PROCEDURES выдает список хранимых процедур, содержащихся в этой базе данных (если они имеются).
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')

CLEAR
LIST PROCEDURES  && Lists stored procedures in the database

Expand image Смотрите также

Справочное руководство

Команда APPEND PROCEDURES
Команда COPY PROCEDURES
Команда CREATE DATABASE
Команда DISPLAY DATABASE
Команда DISPLAY PROCEDURES
Команда MODIFY PROCEDURE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LIST TABLES Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST TABLES
Смотрите также Пример
CollapseAll image

Отображает без паузы все таблицы и информацию о таблицах, содержащихся в текущей базе данных.

LIST TABLES   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
   [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет информацию возвращаемую командой LIST TABLES на принтер.

Вы можете включить опцию PROMPT для отображнения диалогового блока Print перед началом печати. Поместите ключевое слово PROMPT немедленно после опции TO PRINTER.

TO FILE FileName

Направляет информацию возвращаемую командой LIST TABLES в дисковый файл, указанный в FileName. Если файл уже существует и SET SAFETY установлен в ON, Visual FoxPro отобразит запрос, спрашиваюший у вас - желаете ли вы переписать имеющийся файл новым содержанием .

ADDITIVE

Добавляет возрващаемые данные в конец укащанного файла. Если вы опустите ADDITIVE, тогда файл будет переписан с новым содержанием.

NOCONSOLE

Подавляет вывод в главное окно Visual FoxPro wили активное окно определенное пользователем.

Expand image Примечания

Возвращаемая информация включает в себя имена таблиц и пути и является поднабором информации, отображаемой командой LIST STATUS. Однако, информация отображаемая при использовании LIST TABLES содержит только информацию связанную с таблицами и отображает ее независимо от того, открыты таблицы или нет.

Expand image Пример

Приведенный ниже пример открывает таблицу customer в базе данных testdata. LIST TABLES используется для отображения информации о таблицах в базе данных..

CopyCode image Скопировать код
CLOSE DATABASES
SET PATH TO (HOME(2) + 'data\')   && устанавливает путь к базе данных
OPEN DATABASE testdata  && открывает базу данных testdata
CLEAR
LIST TABLES  && Перечисляет информацию о таблицах в базе даных

Expand image Смотрите также

Справочное руководство

Команда ADD TABLE
Команда CLOSE
Команда CREATE DATABASE
Команда DISPLAY TABLES
Команда OPEN DATABASE
Команда REMOVE TABLE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


LIST VIEWS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LIST VIEWS
Смотрите также Пример
CollapseAll image

Непрерывным потоком отображает информацию о представлениях SQL в текущей базе данных.

LIST VIEWS   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]   [NOCONSOLE]

Параметры

TO PRINTER [PROMPT]

Направляет информацию, возвращаемую командой LIST VIEWS, на принтер.

Можно использовать предложение PROMPT, чтобы перед началом печати отображать диалоговое окно Print. Ключевое слово PROMPT нужно указывать сразу после TO PRINTER.

TO FILE FileName

Направляет вывод команды LIST VIEWS в файл диска, заданный именем FileName. Если такой файл уже существует и команда SET SAFETY установила значение ON, Visual FoxPro выдаст приглашение с вопросом, следует ли вести запись поверх этого файла.

ADDITIVE

Добавляет в конец названого файла.Если опустить ADDITIVE, то файл будет перезаписан.

NOCONSOLE

Подавляет вывод в основное окно Visual FoxPro или в активное пользовательское окно.

Expand image Примечания

Команда LIST VIEWS отображает имена представлений SQL текущей базы данных, указывая, на каких таблицах базируются эти представления ѕ на локальных или удаленных. Для получения дополнительной информации о представлениях SQL текущей базы данных пользуйтесь функцией DBGETPROP( ).

Представления SQL создаются командой CREATE SQL VIEW.

Expand image Пример

В следующем примере открывается база данных testdata. Команда CREATE SQL VIEW используется для создания локального представления SQL с именем myview. Отображает конструктор представлений, давая возможность задать таблицы и условия для представления SQL. После того как вы сохраните созданное aпредставление SQL, на экран выводится информация о представлениях SQL базы данных.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
CREATE SQL VIEW myview

CLEAR
LIST VIEWS

Expand image Смотрите также

Справочное руководство

Команда CREATE DATABASE
Команда CREATE SQL VIEW
Функция DBGETPROP( )
Команда DISPLAY DATABASE
Команда DISPLAY VIEWS

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LOCAL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LOCAL
Смотрите также
CollapseAll image

Создает локальные переменные и масивы переменных. Есть две версии синтаксиса.

LOCAL Var1 [ AS type [ OF ClassLib ] ] | [ ArrayName1( nRows1 [, nColumns1 ] ) [ AS type [ OF ClassLib ] ] ]
    [, Var2 [ AS type [ OF ClassLib ] ] | [, ArrayName2( nRows2 [, nColumns2 ] ) [ AS type [ OF ClassLib ] ] ]
LOCAL [ ARRAY ] ArrayName1( nRows1 [, nColumns1 ] ) [ AS type [OF ClassLib ] ]
    [, ArrayName2( nRows2 [, nColumns2 ] ) [ AS type [ OF ClassLib ] ] ]

Параметры

LOCAL VarList

Определяет одну или более локальную переменную, для создания. Используйте запятые чтобы отделить многократные элементы в VarList.

Одиночные буквы от A до J и M зарезервированы и не могут использоваться как имена переменных.

[ ARRAY ] ArrayName1( nRows1[, nColumns1 ] ) [, ArrayName2( nRows2[, nColumns2 ] ) ] ...

Определяет один или более локальных массивов, для создания. Для получения дополнительной информации о массивах, смотрите Команда DIMENSION.

[ AS type[ OF ClassLib] ]

Определяет тип данных переменной или массива и библиотеки классов, содержащей описание типа type на котором базируются переменная или массив.

Когда вы определяете правильное имя класса, Visual FoxPro использует библиотеку типа, определенную Свойством ProgID, или обрабатывает объект для получения списка свойств, методов, и событий. Если указанное имя класса не найдено, Visual FoxPro отображает список доступных классов.

Вы можете использовать выражение AS чтобы осуществить строгую типизацию. Функциональные возможности IntelliSense доступны для объектов, и переменных только, когда они строго типизированы. Для получения дополнительной информации, смотрите Как: осуществить строгую типизацию для классов, объектов и переменных в программном коде.

Expand image Замечания

Вы можете использовать и изменять локальные переменные и масивы переменных только в пределах процедуры или функции, в которой они созданы и нельзя обратиться из програм верхнего или нижнего уровня. После окончания выполнения процедуры или функции, локальные переменные и массивы освобождаются.

Переменные и массивы, созданные командой LOCAL инициализированы в False (.F.).

Вы должны объявить любые переменные или массивы, которые вы хотите обявить локальными до присвоения значения им. Если вы назначаете значение переменной или массиву в программе и позже объявляете ее локальной с помощью команды LOCAL, Visual FoxPro генерирует синтаксическую ошибку.

Вы можете передать локальные переменные по ссылке.

Вы не можете сократить LOCAL потому что LOCAL и LOCATE имеют те же самые первые четыре символа.

Expand image Смотрите также

Справочное руководство

Команда PRIVATE
Команда PUBLIC

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LOCATE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда LOCATE
Смотрите также Пример
CollapseAll image

Последовательно просматривает таблицу в поисках первой записи, совпадающей с заданным логическим выражением.

LOCATE [FOR lExpression1]   [Scope]   [WHILE lExpression2]   [NOOPTIMIZE]

Параметры

FOR lExpression1

Последовательно просматривает текущую таблицу в поисках первой записи, соответствующей логическому выражению lExpression1.

Технология Rushmore оптимизирует запрос, формируемый командой LOCATE FOR, если lExpression1 является оптимизируемым выражением. Для повышения производительности используйте в предложении FOR оптимизируемое выражение.

Подробнее об этом смотрите Команда SET OPTIMIZE and Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Scope

Задает диапазон записей для поиска. Поиск будет вестись только среди записей, попадающих в данный диапазон. Он задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Команды, использующие параметр Scope воздействуют только на таблицу в активной рабочей области.

По умолчанию команда LOCATE использует диапазон ALL - все записи.

WHILE lExpression2

Задает условие, в соответствии с которым записи ищутся, пока логическое выражение lExpression2 остается истинным (.T.).

NOOPTIMIZE

Запрещает оптимизацию команды LOCATE по технологии Rushmore.

Подробнее об этом смотрите Команда SET OPTIMIZE and Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Expand image Замечание

Данная таблица не обязательно должна быть индексирована.

Если использовать команду LOCATE без параметра FOR, Visual FoxPro устанавливает указатель записи на первую логическую запись. Это быстрее использования команды GO TOP если используются фильтры или команда DELETED установлена в ON.

Если команда LOCATE находит запись, удовлетворяющую условиям поиска, с помощью функции RECNO( ) можно получить номер этой записи. Если нужная запись найдена, функция FOUND( ) возвращает значение "истина" (.T.), а EOF( ) ѕ "ложь" (.F.). Если действует установка SET TALK ON, на экране появляется номер найденной записи.

После того как LOCATE найдет подходящую запись, можно выдать команду CONTINUE, чтобы продолжить поиск в оставшейся части таблицы. По команде CONTINUE процесс поиска возобновляется с записи, непосредственно следующей за только что найденной. Команды CONTINUE можно выдавать повторно, пока не будет достигнута граница диапазона или конец таблицы.

Если записи, соответствующей требуемому условию, не найдено, RECNO( ) возвращает число записей в таблице, увеличенное на 1, FOUND( ) возвращает "ложь" (.F.), а EOF( ) ѕ "истину" (.T.).

Команды LOCATE и CONTINUE привязаны к текущей рабочей области. Если выбрать другую рабочую область, первоначальный процесс поиска можно будет продолжить после того, как исходная рабочая область будет выбрана вновь.

Expand image Пример

В следующем примере идет поиск всех записей, относящихся к клиентам из Германии. Затем на экране отображается общее количество.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Open Customer table
SET TALK OFF

STORE 0 TO gnCount
LOCATE FOR ALLTRIM(UPPER(customer.country)) = 'GERMANY'
DO WHILE FOUND( )
   gnCount = gnCount + 1
   ? company
   CONTINUE
ENDDO

? 'Total companies Germany: '+ LTRIM(STR(gnCount))

Expand image Смотрите также

Справочное руководство

Команда CONTINUE
Функция EOF( )
Команда FIND (Visual FoxPro)
Функция FOUND( )
Функция INDEXSEEK( )
Функция RECNO( )
Команда SEEK
Функция SEEK( )
Команда SET OPTIMIZE

Прочие ресурсы

Команда (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LOOP Command

Visual FoxPro 9.0 Справка по языку
Команда LOOP
Смотрите также

Возвращает управление непосредственно заголовку цикла.

LOOP

Примечания

Вы можете поместить команду LOOP в любом месте между DO WHILE и ENDDO, или между FOR и ENDFOR, или между FOR EACH и ENDFOR, или между SCAN и ENDSCAN.

Коменда LOOP возвращает управление непосредственно команде DO WHILE, FOR, или FOR EACH без выполнения каких-либо команд, следующих после LOOP до ENDDO или ENDFOR. Счетчик цикла наращивается или уменьшается как в случае, если бы достигались операторы END...

Прим.переводчика. В цикле SCAN ... ENDSCAN выполнение команды LOOP приводит к перемещению указателя записи на следующую запись, как в случае, если бы достигался оператор ENDSCAN.

Смотрите также

Команды
Команда DO WHILE ... ENDDO
Команда FOR ... ENDFOR
Команда FOR EACH ... ENDFOR
Команда SCAN ... ENDSCAN
Команда EXIT

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LPARAMETERS Command

Visual FoxPro 9.0 Описание Языка
LPARAMETERS, команда
См. также
CollapseAll image

Присваивает локальным переменным памяти или массивам переменных значения, переданные из вызывающей программы.

LPARAMETERS Parameter1 [AS type [OF ClassLib]]
 [, Parameter2 [AS type [OF ClassLib]]]

Параметры

LPARAMETERS ParameterList

Определяет список имен локальных переменных памяти или массивов, которым присваиваются данные. В списке ParameterList допустимо определять не более 26 переменных, разделяемых запятой.

Note Примечание

В команде LPARAMETERS может быть указано не менее переданного количества параметров из вызывающей процедуры или функции. Если в операторе LPARAMETERS задано большее количество переменных или массивов, чем задано в вызывающей процедуре, избыточным переменным присваивается значение = False (.F.).

[ AS type [OF ClassLib] ]

Определяет Тип Данных соответствующей переменной или элемента массива, или соответствующий класс из библиотеки классов, в котором данный класс определен.

Вы можете определять в опции AS только изначально заданные типы данных или классов. Подсистема IntelliSense обрабатывает только строго заданные типы данных и классов. Смотрите дополнительно раздел: Как: Определить Строгую типизацию классов , объектов и переменных в программном коде.

Expand image Комментарии

Когда используется команда приема параметров LPARAMETERS в некоторых программных модулях, процедурах или пользовательских функция, которые выполняются по команде DO, данный оператор должен быть первым исполняемым оператором в этой процедурк или функции.

По - умолчанию, в опции WITH, соответствующей команды DO все переменные и массивы передаются в вызаваемую процедуру по-ссылке. Также по-умолчанию, для Visual FoxPro, аргументы при вызове пользовательской функции, передаются по-значению.

Note Примечание

Для передачи в вызываемую функцию целого массива, вы должны передать его по-ссылке. Если не сделать этого, то будет передан только первый элемент массива. Смотрите дополнительно раздел: Как: Передавать Данные в виде параметров, По-ссылке.

Смотрите дополнительно разделы: Передача Данных, как параметров и Параметры в Процедурах и Функциях.

Expand image См. также

Описание

PARAMETERS, команда
FUNCTION, команда
PROCEDURE, команда
DO, команда
PARAMETERS( ), функция
PCOUNT( ), функция

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Команда MD | MKDIR

Visual FoxPro 9.0 Справочное руководство по языку
Команда MD | MKDIR
Смотрите также Пример
CollapseAll image

Создает новый каталог или подкаталог на диске.

MD cPath | MKDIR cPath

Параметры

cPath

Задает каталог или путь (включая имя диска и каталога).

Если cPath содержит имя каталога без имени диска, этот каталог создается в виде подкаталога текущего каталога Visual FoxPro, используемого по умолчанию.

Expand image Замечания

При попытке создать существующий каталог Visual FoxPro сгенерирует сообщение об ошибке.

Expand image Пример

В следующем примере команда MKDIR создает новый каталог mytstdir, а затем команда CHDIR используется для перехода в этот новый каталог. GETDIR( ) отображает структуру каталогов, после чего команда, RMDIR удаляет вновь созданный каталог. GETDIR( ) используется для того, чтобы опять отобразить структуру каталогов.
CopyCode image Copy Code
SET DEFAULT TO HOME( )  && Restore Visual FoxPro directory
MKDIR mytstdir  && Create a new directory
CHDIR mytstdir  && Change to the new directory
= GETDIR( )  && Display the Select Directory dialog box
SET DEFAULT TO HOME( )  && Restore Visual FoxPro directory
RMDIR mytstdir  && Remove the new directory
= GETDIR( )  && Display the Select Directory dialog box

Expand image Смотрите также

Reference

Команда CD | CHDIR
Команда DIR or DIRECTORY
Функция DIRECTORY( )
Функция GETDIR( )
Функция HOME( )
Команда RD | RMDIR
Команда SET DEFAULT
Команда SET PATH
SYS(5) - диск поумолчанию
SYS(2003) - Текущий диск
SYS(2004) - стартовый каталог Visual FoxPro

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MENU Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда MENU
Смотрите также
CollapseAll image

?

Включена для совместимости с ранними версиями. Вместо этой команды используйте Дизайнеры меню и контекстных меню.

Expand image See Also

Other Resources

Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MODIFY CLASS Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY CLASS
См. также

Открывает Дизайнер Классов, с помощю которого можно изменить существующие классы или создать новые.

MODIFY CLASS ClassName [OF ClassLibraryName1]
   [AS cBaseClassName [FROM ClassLibraryName2]]
   [NOWAIT] [METHOD MethodName] [SAVE]

Параметры

ClassName

Определяет имя класса, который нужно изменить , или создать.
OF ClassLibraryName1

Определяет имя библиотеки визуальных классов (.vcx). Если Вы определяете новый класс, а библиотека уже существует, то этот класс будет добавлен в библиотеку. Расширение (.vcx) является стандартным для библиотек визуальных классов. Не забывайте указывать расширение файла библиотеки, если оно отлично от стандартного (.vcx). Для файлов библиотек визуальных классов, имеющих стандартные расширения (.vcx), их можно не указывать в команде открываемых библиотек по команде SET CLASSLIB .
AS cBaseClassName

Определяет имя Базового класса. Вы можете указывать любой базовый класс, за исключением Column и Header. Вы можете указать в качестве базового класса пользовательский класс, при этом необходимо уточнить пользовательскую библиотеку классов при помощи дополнительной опции FROM ClassLibraryName2 (см. далее...). Если опция AS cBaseClassName отсутствует, то предполагается базовый класс Visual FoxPro FormSet.
FROM ClassLibraryName2

Определяет имя пользовательской библиотеки визуальных классов, содержащей описание родительского класса для вновь создаваемого класса, определенного параметром cBaseClassName.
METHOD MethodName

Определяет имя События или Метода, код которых будет открыт в окне Кода при старте Дизайнера Классов. Данная опция METHOD позволяет сразу начать редактирование программного кода указанного метода или события при старте Дизайнера. Параметр MethodName поддерживает синтакс указания владельца данного метода. Например, в представленном коде открывается событие Click соответственно текстового бокса с именем txtFirstName, содержащимся в классе с именем MyClass из библиотеки с именем MyClassLibrary:
Копировать код
MODIFY CLASS MyClass OF MyClassLibrary METHOD txtFirstName.Click
Если в опции METHOD указывается только имя события, без указания владельца, то открывается Окно Кода совсем для другого события Click, См. пример:
Копировать код
MODIFY CLASS MyClass OF MyClassLibrary METHOD Click
NOWAIT

Указывает, что выполнение программы продолжается после открытия Дизайнера. Программа не ждет закрытия окна дизайнера, а продолжает свое выполнение со строки, следующей за строкой MODIFY CLASS NOWAIT. Если опция NOWAIT отсутствует в команде MODIFY CLASS, то Дизайнер классов открывается, а выполнение программы приостанавливается до момента закрытия окна Дизайнера. Опция NOWAIT работает только в программных модулях. Нет смысла ее использовать при выполнении команды MODIFY CLASS из Командного окна. Если опция NOWAIT используется совместно с опцией METHOD, то рекомендуется разместить опцию NOWAIT перед опцией METHOD; иначе NOWAIT будет проигнорирована.
SAVE

Указывает, что изображение окна Дизайнера Классов сохраняется на экране после активации другого окна. Если опция SAVE отсутствует, то окно дизайнера закрывается при активации другого окна. Опция SAVE работает только в программных модулях.

Комментарии

Команда MODIFY CLASS используется для изменения определений существующих классов или создания новых, которые сохраняются в библиотеках визуальных классов. Вы можете открыть доступ к классам библиотеки используя команду SET CLASSLIB

См. также

Другие ссылки

Команды
Команда ADD CLASS
Команда CREATE CLASS
Команда CREATE CLASSLIB
Команда RELEASE CLASSLIB
Команда SET CLASSLIB

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY COMMAND Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY COMMAND
См. также

Открывает окно редактирования, в котором Вы можете изменить или создать программный файл.

MODIFY COMMAND [FileName | ?] [NOEDIT] [NOMENU] [NOWAIT]
   [RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN]] [AS nCodePage] [SAME]
   [SAVE]

Параметры

FileName

Определяет имя программного файла, который нужно открыть или создать. Если Вы не указываете расширение файла, то система автоматически добавляет расширение файла ( .prg). Команда MODIFY COMMAND поддерживает шаблонные символы в имени файла (*) или (?). В этом случае открывается несколько окон редактирования, для каждого программного файла, соответствующего указанной маске (с символами * и ?). Если параметр имени файла отсутствует, то предполагается следующее стандартное имя Prog1.prg. Перед закрытием окна редактирования Вы можете сохранить файл программы под нестандартным именем (как и расширением).
?

Открывает диалоговый бокс, в котором можно выбрать программный файл или создать новый, при задании соответствующего имени.
NOEDIT

Определяет, что программный файл не будет изменяться, однако его можно просмотреть и скопировать в буфер его содержание.
NOMENU

Указывает, что из главного меню системы удаляется меню Format, в котором содержится: изменения текущего шрифта, межстрочный интервал, отступы и прочее.
NOWAIT

Выполнение программы продолжается после открытия окна редактирования. Программа не ждет закрытия окна редактирования, а продолжает свое выполнения со строки, следующей за строкой MODIFY COMMAND NOWAIT. Если опция NOWAIT отсутствует в команде MODIFY COMMAND, открывается окно редактирования, выполнение программы приостанавливается до момента закрытия окна редактирования. Опция NOWAIT работает только в программных модулях, и игнорируется при выполнении команды MODIFY COMMAND из командного окна. Данная опция NOWAIT применяется при открытии нескольких окон редактирования, Например, как в следующем примере:
Копировать код
MODIFY COMMAND *.PRG NOWAIT.
RANGE nStartCharacter, nEndCharacter

Определяет диапазон символов, которые будут "выделены" в окне редактора. Позиции выделяемых символов определяются параметрами nStartCharacter и nEndCharacter. Если nStartCharacter = nEndCharacter, то нет выделенных символов, и курсор размещается в указанной nStartCharacter позиции.
WINDOW WindowName1

Определяет имя окна, характеристики которого будут использованы при создании окна Редактирования. Например, если окно создано с опцией FLOAT в команде DEFINE WINDOW, то окно редактора может перемещаться. Данное окно должно быть определено, но может быть неактивным и невидимым.
IN [WINDOW] WindowName2

Определяет родительское окно, в котором будет открыто окно редактирования. Окно редактора не наследует свойства родительского окна, однако не может быть перемещено за границы родительского окна. Если родительское окно перемещается, окно редактора перемещается вместе сним. Родительское окно должно быть заранее определено в команде DEFINE WINDOW, и должно быть видимым для размещения в нем окна редактирования.
IN SCREEN

Указывает, что окно редактирования размещается в главном окне системы (_SCREEN). Для размещения его в пользовательском, родительском окне необходимо использовать опцию IN WINDOW... .
AS nCodePage

Указывает, что содержание программного файла будет конвертировано в указанную кодовую страницу, с которой данный файл был создан в другой версии системы Visual FoxPro. Числовое выражение nCodePage определяет кодовую страницу текста, в которой создается программный файл. При использовании команды Save As из меню File Вы можете сохранить файл с другой кодовой страницей.
SAME

Определяет размещение окна редактирования в той же позиции, какая была в момент деактивации данного окна.
SAVE

Указывает, что изображение окна редактирования сохраняется на экране при активации другого окна. Если опция SAVE опущена, окно редактирования закрывается при активации другого окна. Опция работает только в программных модулях.

Комментарии

При редактировании программного модуля, изменения сохраняются в файлах, на диске. Система создает резервные копии, файлы с расширением (.bak). Данная возможность управляется соответствующим параметром Make Backup Copy диалогового бокса Edit Properties, который вызывается разделом меню Properties из общего меню Edit.

Встроенный редактор системы Visual FoxPro может быть заменен на другой Внешний редактор, для этого используется опция TEDIT в конфигурационном файле.

См. также

Другие ссылки

Команды
Команда *
Команда &&
Команда DO
Команда MODIFY FILE
Команда NOTE
Функция EDITSOURCE( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY CONNECTION Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY CONNECTION
См. также Пример

Запускает на выполнение дизайнер соединения (Connection Designer), где Вы можете интерактивно откорректировать указанное соединение, сохраненное в текущей базе данных.

MODIFY CONNECTION [ConnectionName | ?]

Параметры

ConnectionName

Определяет имя соединения, которое необходимо настроить.
?

Открывает диалоговый бокс для выбора из списка существующих соединений.

Комментарии

Если параметры опущены, то вызывается диалоговый бокс, в котором Вы можете выбрать необходимое соединение из списка. Дизайнер соединений откроет выбранное Вами соединение для редактирования.

Пример

В следующем примере подклюсается ODBC-источник данных с именем MyFoxSQLNT. Открывается база данных testdata, создается соединение с именем Myconn. Команда MODIFY CONNECTION используется для изменения параметров соединения в соответствующем дизайнере.

Копировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')

CREATE CONNECTION Myconn DATASOURCE "MyFoxSQLNT" USERID "<userid>" PASSWORD "<password>"
MODIFY CONNECTION Myconn && Displays named connections in the database

См. также

Другие ссылки

Команды
Команда CREATE CONNECTION
Команда DELETE CONNECTION
Команда OPEN DATABASE
Команда RENAME CONNECTION

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY DATABASE Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY DATABASE
См. также Пример

Открывает Дизайнер Баз Данных, в котором можно интерактивно изменять характеристики текущей Базы Данных.

MODIFY DATABASE [DatabaseName | ?] [NOWAIT] [NOEDIT]

Параметры

[DatabaseName | ?]

Определяет имя Базы Данных, или открывает диалоговый бокс Открытия для выбора базы данных для ее открытия.
[NOWAIT]

После открытия Дизайнера выполнение программы продолжается. Программа не ждет закрытия Дизайнера, а продолжает свое выполнение со строки, следующей за строкой, содержащей команду MODIFY DATABASE NOWAIT. Отсутствие опции NOWAIT останавливает выполнение программыдо момента закрытия Дизайнера Баз Данных.
Примечание:
Опция NOWAIT работает только в программном модуле. Она не имеет эффекта для команды MODIFY DATABASE, запущенной из Командного Окна.

[NOEDIT]

Определяет, что База Данных не будет изменяться.

Комментарии

Вызоа команды MODIFY DATABASE управляется событием dbc_Activate. См. дополнительно: Событие dbc_Activate.

Также См. дополнительно: Дизайнер Баз Данных и Как: Открыть Базу Данных.

Пример

В следующем примере: закрывается база данных; устанавливается путь поиска: ..\Samples\Northwind , и открывается база данных Northwind в Дизайнере Баз Данных

Копировать код
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Northwind\')
MODIFY DATABASE Northwind

См. также

Другие ссылки

Команды
Команда CLOSE DATABASES
Команда CREATE DATABASE
Команда DELETE DATABASE
Команда OPEN DATABASE

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY FILE Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY FILE
См. также

Открывает Окно Редактирования для работы с текстовым файлом.

MODIFY FILE [FileName | ?] [NOEDIT] [NOMENU] [NOWAIT]
   [RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN]] [AS nCodePage] [SAME] [SAVE]

Параметры

FileName

Определяет имя текстового файла, который нужно открыть или создать. Если Вы не указываете расширение файла, то система автоматически добавляет расширение файла ( .txt). Команда MODIFY FILE поддерживает шаблонные символы в имени файла (*) или (?). В этом случае открывается несколько окон редактирования, для каждого текстового файла, соответствующего указанной маске (с символами * и ?). Если параметр имени файла отсутствует, то предполагается следующее стандартное имя File1.txt. Перед закрытием окна редактирования Вы можете сохранить файл программы под нестандартным именем (как и c нестандартным расширением).
?

Открывает диалоговый бокс Открытия файла.
NOEDIT

Определяет, что текстовый файл не будет изменяться, однако его можно просмотреть и скопировать в буфер его содержание.
NOMENU

Указывает, что из главного меню системы удаляется меню Format, в котором содержится: изменения текущего шрифта, межстрочный интервал, отступы и прочее.
NOWAIT

Выполнение программы продолжается после открытия окна редактирования. Программа не ждет закрытия окна редактирования, а продолжает свое выполнения со строки, следующей за строкой MODIFY FILE NOWAIT. Если опция NOWAIT отсутствует в команде MODIFY FILE, открывается окно редактирования, выполнение программы приостанавливается до момента закрытия окна редактирования. Опция NOWAIT работает только в программных модулях, и игнорируется при выполнении команды MODIFY FILE из командного окна. Данная опция NOWAIT применяется при открытии нескольких окон редактирования, Например, как в следующем примере:
Копировать код
MODIFY FILE *.TXT NOWAIT
RANGE nStartCharacter, nEndCharacter

Определяет диапазон символов, которые будут "выделены" в окне редактора. Позиции выделяемых символов определяются параметрами nStartCharacter и nEndCharacter. Если nStartCharacter = nEndCharacter, то нет выделенных символов, и курсор размещается в указанной nStartCharacter позиции.
WINDOW WindowName1

Определяет имя окна, характеристики которого будут использованы при создании окна Редактирования. Например, если окно создано с опцией FLOAT в команде DEFINE WINDOW, то окно редактора может перемещаться. Данное окно должно быть определено, но может быть неактивным и невидимым.
IN [WINDOW] WindowName2

Определяет родительское окно, в котором будет открыто окно редактирования. Окно редактора не наследует свойства родительского окна, однако не может быть перемещено за границы родительского окна. Если родительское окно перемещается, окно редактора перемещается вместе с ним. Родительское окно должно быть заранее определено в команде DEFINE WINDOW, и должно быть видимым для размещения в нем окна редактирования.
IN SCREEN

Указывает, что окно редактирования размещается в главном окне системы (_SCREEN). Для размещения его в пользовательском, родительском окне необходимо использовать опцию IN WINDOW...
AS nCodePage

Указывает, что содержание текстового файла будет конвертировано в указанную кодовую страницу, с которой данный файл был создан в другой версии системы Visual FoxPro. Числовое выражение nCodePage определяет кодовую страницу текста, в которой создается данный файл файл. При использовании команды Save As из меню File Вы можете сохранить файл с другой кодовой страницей.
SAME

Оставляет изображение окна редактирования на экране, но не обеспечивает его активации.
SAVE

Сохраняет окно редактирования на экране при активации другого окна. При отсутствии данной опции окно редактирования закрывается в момент активации другого окна. Опция SAVE не работает при вызове окна редактирования из Командного окна.

Комментарии

Когда в выбранный текстовый файл внесены необходимые изменения, файл записывается на диск. В системе Visual FoxPro создается резервная копия редактируемого файла, имеющая расширение (.bak). Данная методика при установке флага Make Backup Copy в диалоговом боксе Edit Properties, который вызывается командой Properties из меню Edit.

В системе Visual FoxPro может быть применен внешний редактор (взамен встроенного); для этого его нужно указать в опции TEDIT Вашего Конфигурационного файла.

См. также

Другие ссылки

Команды
Команда *
Команда &&
Команда DO
Команда MODIFY COMMAND
Команда NOTE

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY FORM Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY FORM
См. также Пример

Открывает Дизайнер Форм, в котором Вы можете изменить или создать объект Форма.

MODIFY FORM [FormName | ?][NOWAIT][METHOD MethodName]
   [NOENVIRONMENT][SAVE]
   [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]

Параметры

FormName

Определяет имя файла формы. Если не указывается расширение файла, то предполагается стандартное расширение: (.scx).
?

Открывает диалоговый бокс Открытия уже существующей формы, или задания имени новой формы.
NOWAIT

Указывает, что выполнение программы продолжается после открытия Дизайнера. Программа не ждет закрытия окна дизайнера, а продолжает свое выполнение со строки, следующей за строкой MODIFY FORM NOWAIT. Если опция NOWAIT отсутствует в команде MODIFY FORM, то Дизайнер классов открывается, а выполнение программы приостанавливается до момента закрытия окна Дизайнера. Опция NOWAIT работает только в программных модулях. Нет смысла ее использовать при выполнении команды MODIFY FORM из Командного окна. Если опция NOWAIT используется совместно с опцией METHOD, то рекомендуется разместить опцию NOWAIT перед опцией METHOD; иначе NOWAIT будет проигнорирована.
METHOD MethodName

Определяет имя События или Метода, код которых будет открыт в окне Кода при старте Дизайнера Форм. Данная опция METHOD позволяет сразу начать редактирование программного кода указанного метода или события при старте Дизайнера. Параметр MethodName поддерживает синтакс указания владельца данного метода. Например, в представленном коде открывается событие Click соответственно текстового бокса с именем txtFirstName, содержащимся в классе с именем MyClass из библиотеки с именем MyClassLibrary:
Копировать код
MODIFY FORM frmAddress METHOD txtFirstName.Click
Если в опции METHOD указывается только имя события, без указания владельца, то открывается Окно Кода совсем для другого события Click, См. пример:
Копировать код
MODIFY FORM frmAddress METHOD Click
NOENVIRONMENT

Включена для совместимости с младшими версиями (2.x) экранных форм.
SAVE

Указывает, что изображение окна Дизайнера Форм сохраняется на экране после активации другого окна. Если опция SAVE отсутствует, то окно дизайнера закрывается при активации другого окна. Опция SAVE работает только в программных модулях.
WINDOW WindowName1

Определяет имя окна, характеристики которого будут использованы при создании окна Дизайнера Форм. Например, если окно создано с опцией FLOAT в команде DEFINE WINDOW, то дизайнер форм может перемещаться. Данное окно должно быть определено, но может быть неактивным и невидимым.
IN [WINDOW] WindowName2

Определяет родительское окно, в котором будет открыто окно дизайнера форм. Окно дизайнера не наследует свойства родительского окна, однако не может быть перемещено за границы родительского окна. Если родительское окно перемещается, окно дизайнера перемещается вместе сним. Родительское окно должно быть заранее определено в команде DEFINE WINDOW, и должно быть видимым для размещения в нем окна Дизайнера Форм.
IN SCREEN

Указывает, что окно дизайнера форм размещается в главном окне системы (_SCREEN). Для размещения его в пользовательском, родительском окне необходимо использовать опцию IN WINDOW... .

Комментарии

Выполнение команды MODIFY FORM без параметров открывает диалоговый бокс Открытия формы. Перед закрытием Дизайнера Форм Вы можете сохранить форму в файле с нестандартным именем (и расширением).

Пример

В следующем примере открывается форма (SWATCH.SCX) в Дизайнере Форм.

Копировать код
MODIFY FORM (HOME(2) + 'solution\controls\timer\swatch.scx')

См. также

Другие ссылки

Команды
Команда COMPILE
Команда CREATE FORM
Команда DO FORM

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY GENERAL Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY GENERAL
См. также

Открывает окно редактирования для поля типа General в текущей записи таблицы.

MODIFY GENERAL GeneralField1 [, GeneralField2 ...] [NOMODIFY]
   [NOWAIT] [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]

Параметры

GeneralField1 [, GeneralField2 ...]

Определяет имя открываемого поля типа general. Для открытия окна редактирования данного поля нет необходимости устанавливать рабочую область данной таблицы текущей, имя алиаса таблицы может быть указано вместе с именем поля типа General. Вы можете указать несколько полей для редактирования, перечислив их через запятую, списком.
NOMODIFY

Определяет, что объект OLE, содержащийся в данном поле не будет изменяться, его можно просмотреть и скопировать в буфер Clipboard.
NOWAIT

Указывает, что выполнение программы продолжается после открытия окна редактора. Программа не будет ждать, пока закроется окно редактирования, а выполнение продолжится со строки программы, следующей за строкой MODIFY GENERAL NOWAIT. Если Вы не указываете опцию NOWAIT, когда выполняете команду MODIFY GENERAL, окно редактирования открывается и выполнение программы останавливается до момента закрытия данного окна. Опция NOWAIT работает только в программном модуле. При выполнении данной команды из Командного окна эта опция игнорируется.
WINDOW WindowName1

Определяет Окно, характеристики которого используются в редакторе поля типа General. Например, если указанное окно имеет атрибут FLOAT в команде DEFINE WINDOW, то окно редактирования может быть перемещено. Данное окно должно быть определено, но необязательно должно быть видимым или активным.
IN [WINDOW] WindowName2

Определяет имя родительского окна, в котором будет открыто окно редактирования. Окно редактирования поля типа General может иметь другие, отличные характеристики от родительского окна, но не может быть перенесено за его границы. Если родительское окно переносится, то окно редактирования переносится вместе с ним. Перед использованием родительское окно должно быть определено в команде DEFINE WINDOW, и должно быть видимым для размещения в нем окна редактирования поля General.
IN SCREEN

Указывает, что окно редактирования открывается в главном окне системы (_SCREEN). Окно редактирования может быть открыто в пользовательском окне, для этого нужно указать опцию IN WINDOW... .

Комментарии

После открытия окна редактирования, Вы можете вставлять, изменять, удалять объекты OLE.

Для дополнительной информации см. раздел Как: Добавить объекты OLE в Приложение

См. также

Другие ссылки

Команды
@ ... SAY - Pictures & OLE Objects
Команда APPEND GENERAL

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY LABEL Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY LABEL
См. также

Открывает / Запускает Дизайнер Этикеток (Label Designer).

MODIFY LABEL [FileName | ?]
   [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]
   [NOENVIRONMENT] [NOWAIT] [PROTECTED] [SAVE]

Параметры

[FileName | ?]

Определяет имя файла Этикетки (Label) или открывает диалоговый бокс выбора существующего файла отчета, или задание имени нового файла отчета. По-умолчанию расширение файла устанавливается = .lbx
Примечание:
Если Вы задали имя несуществующего файла или он не найден, команда MODIFY LABEL создает новый файл отчета с указанным именем. Вызов команды MODIFY LABEL без указания данного параметра открывает диалоговый бокс Открытия файла отчета. При выборе кнопки New открывается Дизайнер Отчетов и создается новый файл с именем LabelNumber. Когда Вы закрываете дизайнер отчетов, система Visual FoxPro спрашивает Вас: под каким именем сохранить данный отчет.

[[WINDOW WindowName1]

Определяет окно, чьи характеристики наследуются Дизайнером отчетов. Например, если заданное окно определено с опцией FLOAT в команде DEFINE WINDOW, Вы можете перемещать дизайнер отчетов. Данное окно должно быть определено, но не должно быть активным или видимым.
Примечание:
Дизайнер этикеток имеет встроенные размеры, которые могут превосходить размеры заданного окна. В этом случае дизайнер наследует характеристики окна, за основу берется верхний левый угол, а размеры устанавливаются, по необходимости, за пределы размеров указанного окна.

[IN [WINDOW] WindowName2 | IN SCREEN]]

Определяет открытие дизайнера этикеток внутри указанного родительского окна или в главном окне Visual FoxPro. Дизайнер этикеток не наследует характеристики указанного окна, но не может быть перемещен за границы данного окна. Если родительское окно перемещается, дизайнер перемещается вместе с ним.
Примечание:
Сначала Вы должны определить окно командой DEFINE WINDOW и сделать его видимым для доступа к нему дизайнера этикеток.

[NOENVIRONMENT]

Данная опция блокирует загрузку параметров среды, сохраненных в файле этикетки и включена для совместимости с версиями этикеток 2.x . Для дополнительной информации см. Управление данными в Отчетах.
На конец:
Вы можете восстановить параметры среды, сохраненные в файле этикетки, для этого нужно установить свойство AutoOpenTables = True (.T.). Для закрытия таблиц после выполнения отчета необходимо установить свойство AutoCloseTables = True (.T.). Для дополнительной информации см. свойство AutoOpenTables и свойство AutoCloseTables .

[NOWAIT]

Продолжать выполнение программы после открытия дизайнера этикеток. Программа не ждет закрытия дизайнера, а продолжает выполнение со следующей строки. Если Вы опускаете опцию NOWAIT, дизайнер открывается и программа ждет его завершения. Когда команда MODIFY LABEL с опцией NOWAIT вызывается из командного окна, данная опция эффекта не имеет.
[PROTECTED]

Определяет открытие дизайнера этикеток в защищенном режиме, что отключает или блокирует некоторые возможности дизайнера. Это позволяет защитить отчеты от неаккуратного их использования или непреднамеренного редактирования.
[SAVE]

Данная опция позволяет оставаться открытым дизайнеру при активации другого окна. Если Вы опускаете опцию SAVE, дизайнер этикеток закрывается при активации другого окна. Когда команда MODIFY LABEL с опцией SAVE вызывается из командного окна , эта опция эффекта не имеет .

Комментарии

Вы можете редактировать этикетки, используя среду рахзработки Visual FoxPro. Для дополнительной информации см. How to: Редактирование Отчетов и Этикеток. Вы можете создавать этикетки при помощи Мастера. Для дополнительной информации см. How to: Создание Этикеток .

См. также

Другие Ссылки

Дизайнер Этикеток
Команда LABEL
Команда CREATE LABEL
Работа с Отчетами
Команды

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY MEMO Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY MEMO
См. также Пример

Открывает окно редактирования для поля типа Memo или поля типа Blob текущей записи таблицы.

Вы можете просмотреть или изменить содержание поля типа Memo; тем не менее, поле типа Blob открывается в окне редактирования в режиме "только-чтение".

MODIFY MEMO MemoField1 [, MemoField2 ...] [NOEDIT] [NOMENU]
   [NOWAIT] [RANGE nStartCharacter, nEndCharacter]
   [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]
   [SAME] [SAVE]

Параметры

MemoField1 [, MemoField2 ...]

Определяет имена одного или нескольких полей типа Memo
Замечание:
Для указания имени поля типа Memo, расположенного в таблице из другой рабочей области, имя поля нужно указывать вместе с алиасом таблицы.

NOEDIT

Определяет, что поле типа Memo открывается только для просмотра; однако можно скопировать его содержание в буфер памяти.
NOMENU

Указывает, что меню Format системного меню будет скрыто, нельзя будет изменить формат символов поля типа Memo.
NOWAIT

Выполнение программмы продолжается после открытия окна редактирования.
Примечание:
Опция NOWAIT применяется только в программных модулях Visual FoxPro (.prg). Она не работает при выполнении команды MODIFY MEMO из Командного Окна.

Программа не ждет закрытия окна редактирования, а продолжает свое выполнение со строки, следующей за MODIFY MEMO NOWAIT. Если опция NOWAIT отсутствует, окно редактирования открывается, программа приостанавливается до момента закрытия окна редактирования.
RANGE nStartCharacter, nEndCharacter

Определяет диапазон символов, которые будут "выделены" в окне редактора. Позиции выделяемых символов определяются параметрами nStartCharacter и nEndCharacter. Если nStartCharacter = nEndCharacter, то нет выделенных символов, и курсор размещается в указанной nStartCharacter позиции.
WINDOW WindowName1

Определяет имя окна, характеристики которого будут использованы при создании окна Редактирования. Например, если окно создано с опцией FLOAT в команде DEFINE WINDOW, то окно редактора может перемещаться. Данное окно должно быть определено, но может быть неактивным и невидимым.
IN [WINDOW] WindowName2

Определяет родительское окно для размещения окна редактирования.
Примечание:
Родительское окно должно быть определено в команде DEFINE WINDOW и должно быть видимым для размещения окна редактирования.

Окно редактирования не наследует свойства родительского окна, однако оно не может быть перемещено за пределы родительского окна. Если родительское окно перемещается, то окно редактирования перемещается вместе сним.
IN SCREEN

Указывает, что окно редактирования размещается в главном окне системы (_SCREEN). Для размещения его в пользовательском, родительском окне необходимо использовать опцию IN WINDOW... .
SAME

Определяет размещение окна редактирования в той же позиции, какая была в момент деактивации данного окна.
SAVE

Сохраняет открытым окно редактирования при активации другого окна. Если опция SAVE отсутствует, то окно редактирования закрывается при активации другого окна.
Примечание:
Опция SAVE не работает при выполнении MODIFY MEMO из Командного Окна. Игнорируется.

Комментарии

Если текущая таблица открыта в режиме "коллективного доступа" , в сети, то текущая запись таблицы автоматически блокируется при открытии окна редактирования поля типа Memo..

Замечание:
В режиме выполнения RunTime отключается возможность изменять цветовые характеристики окна редактирования. См. дополнительно раздел: Как: Отображение и Печать в Цвете исходного кода.

Пример

В следующем примере: открывается база данных TestData, открывается таблица employee, и выполняется команда MODIFY MEMO с опциями NOEDIT и RANGE; открывается окно редактирования поля Memo Notes из первой записи таблицы. Данное поле открыто с режимом "только-чтение", при этом первые десять символов будут выделены.

Копировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE employee  && Opens Employee table
MODIFY MEMO Notes NOEDIT RANGE 1,10

См. также

Другие ссылки

Команды
Команда CLOSE MEMO
Команда APPEND MEMO
Команда COPY MEMO

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY MENU Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY MENU
См. также

Открывает Дизайнер Меню, в котором Вы можете создать или изменить подсистему меню.

MODIFY MENU [FileName | ?] [[WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN]] [NOWAIT] [SAVE]

Параметры

FileName

Определяет имя файла для хранения структуры меню. Если Вы не указываете расширение файла, то система Visual FoxPro автоматически добавит следующее (.mnx).
?

Открывает диалоговый бокс Открытия файла структуры меню, или создания нового файла меню.
WINDOW WindowName1

Определяет имя окна, характеристики которого будет использовать Дизайнер меню. Например, если данное окно имеет атрибут FLOAT в команде определения DEFINE WINDOW, тогда Дизайнер меню может быть перемещен. Данное окно может быть неактивно и невидимо, но должно быть обязательно Определено указанной выше командой.
IN [WINDOW] WindowName2

Определяет родительское окно, в котором будет открыто окно Дизайнера меню. Окне дизайнера меню не наследует свойства родительского окна, но не может быть перенесено за границы родителя. Если родительское окно перемещается, то окно дизайнера меню перемещается вместе с ним. Данное родительское окно должно быть сначало определено, а за тем - должно быть видимо, для размещения в нем окна Дизайнера Меню.
IN SCREEN

Указывает, что дизайнер меню открывается внутри главного окна системы Visual FoxPro. Отметим, что для размещения окна дизайнера меню в родительскои окне используется опция IN WINDOW.
NOWAIT

Указывает, что выполнение программы продолжается после открытия Дизайнера меню. Программа не ждет закрытия дизайнера, а продолжает выполняться со строки, следующей за строкой MODIFY MENU NOWAIT. Если Вы опускаете опцию NOWAIT при выполнении команды MODIFY MENU, открывается Дизайнер меню, и выполнение программы приостанавливается до момента закрытия окна дизайнера. Опция NOWAIT работает только в программных модулях. Она не имеет эффекта при выполнении команды MODIFY MENU, выполненной из Командного окна. Если команда MODIFY MENU запускается из командного окна без указания имени файла меню и с использование опции NOWAIT, то диалоговый бокс Открытия не отображается, предлагается диалоговый бокс выбора типа меню: (Standard или Shortcut).
SAVE

Сохраняет изображение окна Дизайнера меню на экране VFP. Если опция SAVE отсутствует в команде, то дизайнер меню закрывается в момент активации других окон. Опция SAVE не работает в командном режиме работы

Комментарии

Для дополнительной информации см. Подсистема создания Меню .

См. также

Описание

Команда CREATE MENU Command
Системная переменная _MENUDESIGNER

Другие ссылки

Команды Commands
Команда DEFINE BAR
Команда DEFINE MENU
Команда DEFINE PAD
Команда DEFINE POPUP
Команда SET SYSMENU

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY PROCEDURE Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY PROCEDURE
См. также Пример

Открывает текстовый редактор Visual FoxPro, при помощи которого Вы можете создавать новые SP (stored procedure) - загружаемые процедуры для текущей базы данных, или изменять уже существующие SP.

MODIFY PROCEDURE [NOWAIT]

Параметры

NOWAIT

Продолжать выполнение программы после открытия текстового редактора. Текущий программный модуль не ждет, пока закроется текстовый редактор, а продолжает выполнение со строки программы, следующей за строкой MODIFY PROCEDURE NOWAIT. При отсутствии параметра NOWAIT, команда MODIFY PROCEDURE открывает редактор для изменения процедур (SP) и выполняется ожидание до момента закрытия редактора.

Комментарии

Соответствующая база данных должна быть открыта перед использованием данной команды для создания и модификации SP- загруженных прпоцедур. Данные процедуры обычно определяют Триггеры Delete, Insert, или Update, созданные в базе данных при помощи команды CREATE TRIGGER.

Загруженные процедуры в текущей базе данных могут быть выполнены подобно другим процедурам Visual FoxPro в открытом файле процедуры или программном модуле. См. дополнительно PROCEDURE для уточнения порядка поиска системой Visual FoxPro указанных процедур.

Пример

В следующем примере открывается база данных testdata и используется команда MODIFY PROCEDURE для открытия текстового редактора для изменения существующих загруженных процедур.

Копировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

MODIFY PROCEDURE  && Opens the Visual FoxPro text editor

См. также

Другие ссылки

Команды
Команда CREATE TRIGGER
Команда DISPLAY PROCEDURES
Команда OPEN DATABASE
Команда PROCEDURE

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY PROJECT Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY PROJECT
См. также

Открывает дизайнер (менеджер) Проектов, с помощью которого Вы можете модифицировать и создавать проекты.

MODIFY PROJECT [FileName | ?] [NOWAIT] [SAVE] [NOSHOW] [NOPROJECTHOOK]

Параметры

Без параметров

Открывает диалоговый бокс Открытия файла проекта.
[FileName | ?]

Задает имя файла проекта или открывает диалоговый бокс открытия существующего файла проекта (.pjx) или задания имени нового проекта. Если Вы не указываете расширение файла, то система Visual FoxPro автоматически добавляет .pjx к имени файла.
[NOWAIT]

Продолжение программы продолжается после открытия дизайнера проектов. Программа не ждет закрытия дизайнера проекта, а продолжает выполнение со строки, следующей за строкой программы, содержащей команду MODIFY PROJECT NOWAIT. Отсутствие опции NOWAIT в команде MODIFY PROJECT, находящейся в программном коде, открывает дизайнер проекта и прерывает свое выполнение до его закрытия. Опция NOWAIT имеет эффект только в программном модуле, при выполнении команды из командного окна данная опция эффекта не имеет.
[SAVE]

Оставляет открытым дизайнер проекта при активации другого окна. Если Вы опускаете опцию SAVE, дизайнер проекта закрывается при активации другого окна. Включение опции SAVE не имеет эффекта при выполнении из командного окна.
[NOSHOW]

Определяет состояние "скрытости" для окна дизайнера проекта, свойство Visible = False (.F.). Для отображения окна дизайнера проекта необходимо установить Visible =True (.T.). Опция NOSHOW позволяет выполнить некоторые дополнительные действия перед открытием дизайнера проекта.
Примечание:
Для однозначной идентификации рекомендуется использовать менее пяти символов, для опций NOSHADOW и NOSHOW .

[NOPROJECTHOOK]

Определяет запрет создания объекта ProjectHook при открытии Project Manager-а. Включение опции NOPROJECTHOOK используется для проектов, не использующих "технологию перехвата" .
Примечание:
Объект Проекта существует до тех пор , пока открыт дизайнер проекта

Комментарии

В проекте Вы определяете все исходные файлы, которые необходимы для конечного приложения. Система Visual FoxPro создает приложение используя самые последние файлы компонент.

Файл проекта является таблицей, в которой отслеживаются последние версии исходных файлов, таких как программные модули, формы, библиотеки, меню, отчеты, этикетки, таблицы, индексы и файлы форматов. Проект отслеживает ссылки, связи и зависимости между представленными файлами.

Примечание:
Общие библиотеки (.fll, .dll, и CFM файлы) не включаются в проект.

Файл проекта имеет расширение .pjx , дополнительный файл с полями MEMO имеет расширение .pjt.

Для дополнительной информации см. раздел Компиляция Приложений .

См. также

Другие ссылки

Команды
Команда BUILD APP
Команда BUILD EXE
Команда BUILD PROJECT
Команда COMPILE
Команда CREATE PROJECT

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY QUERY Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY QUERY
См. также

Открывает Дизайнер Запросов, средствами которого можно создавать или изменять SQL-запросы.

MODIFY QUERY [FileName | ?] [[WINDOW WindowName1] [IN SCREEN]
   [NOWAIT] [SAVE] [AS nCodePage]

Параметры

FileName

Определяет имя файла запроса. Если Вы не указываете расширение файла, система предполагает расширение = (.qpr).
?

Отображает диалоговый бокс Открытия файла запроса, или создания нового файла запроса.
WINDOW WindowName1

Определяет имя окна, характеристики которого будут использованы при создании окна Дизайнера Запросов. Например, если окно создано с опцией FLOAT в команде DEFINE WINDOW, то дизайнер запросов может перемещаться. Данное окно должно быть определено, но может быть неактивным и невидимым.
IN SCREEN

Указывает, что окно дизайнера запросов размещается в главном окне системы (_SCREEN). Для размещения его в пользовательском, родительском окне необходимо использовать опцию IN WINDOW... .
NOWAIT

Указывает, что выполнение программы продолжится после открытия окна Дизайнера Запросов. Программа не будет ждать закрытия окна дизайнера, а продолжит свое выполнение со строки кода, следующей за строкой MODIFY QUERY NOWAIT. Если Вы не указываете опцию NOWAIT в команде MODIFY QUERY данного програмного модуля, Дизайнер Запросов открывается и выполнение программы приостанавливается до момента закрытия окна дизайнера. Опция NOWAIT работает только в программных модулях; при выполнении рассматриваемой команды из Командного окна данная опция неэффективна.
SAVE

Указывает, что изображение окна дизайнера сохраняется на экране при активации другого окна. Если опция SAVE опущена, Дизайнер Запросов закрывается при активации другого окна. Опция работает только в программных модулях.
AS nCodePage

Указывает номер Кодовой страницы открываемого файла Запроса. Данная опция используется в случаях, когда рассматриваемый запрос создан в другой версии VFP (например FP-2.6), с другой кодовой страницей, отличной от текущей в VFP. При открытии файла Запроса дизайнер автоматически конвертирует данные файла в текущую кодовую страницу. Вы можете использовать функцию GETCP( ) для отображения диалогового бокса выбора кодовой страницы.После закрытия Дизайнера запросов текущий запрос будет сохранен с начальной кодовой страницей. Если данная опция опущена или nCodePage = 0, данные файла запроса не конвертируются в текущую кодовую страницу VFP. Если указана неподдерживаемая кодовая страница, система генерирует ошибку. В Visual FoxPro файлы запросов могут быть помещены в Проект, и Вы можете указать кодовую страницу контейнера Проекта. Данный проект сохраняет записи файла запроса со своей оригинальной кодовой страницей. Если Вы открываете файл Запроса вне данного Проекта, то необходимо указать опцию Кодовой страницы AS nCodePage .

Комментарии

Длядополнительной информации см. раздел Как: Создавать Запросы

Выполнение команды MODIFY QUERY без параметров открывает диалоговый бокс открытия файла запроса. При нажатии кнопки < New> данного диалогового бокса, будет создан файл запроса с именем QUERY1. Вы можете сохранить текущий запрос под другим именем, когда завершите работу с Дизайнером Запросов.

После создания запроса система создает программный файл запроса с расширением (.qpr), который может быть выполнен командой DO, как обычный программный файл (.prg).

См. также

Другие ссылки

Команды
Команда CREATE QUERY
Команда DO
Функция GETCP( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY REPORT Command

Visual FoxPro 9.0 Справочное руководство по языку
MODIFY REPORT Команда
Смотрите также

Открывает Дизайнер Отчетов (Конструктор Отчетов) для создания или модификации отчета.

MODIFY REPORT [FileName | ?]
   [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]
   [NOENVIRONMENT] [NOWAIT] [PROTECTED] [SAVE]

Параметры

[FileName | ?]

Определяет имя файла для отчета или выводит на экран диалоговое окно Open, в котором можно выбрать существующий файл отчета или ввести имя создаваемого отчета. По умолчанию имена файлов отчетов имеют расширение .frx.
Примечание:
Если отчет с заданным именем не существует или он не найден, команда MODIFY REPORT создаст новый файл отчета. Команда MODIFY REPORT, выданная без аргументов выводит на экран диалоговое окно Open. Нажатие кнопки New в этом окне открывает Дизайнер Отчетов и создает новый файл отчета с именем вида ReportVersionNumber. При выходе из Дизайнера Отчетов Вы получите приглашение сохранить определение отчета под другим именем.

[[WINDOW WindowName1]

Определяет окно, характеристики которого наследует Дизайнер Отчетов. Например, если окно создано по команде DEFINE WINDOW с опцией FLOAT, Дизайнер Отчетов можно перемещать. Данное окно не обязательно должно быть активным или видимым, но оно должно быть определено.
Примечание:
Размер Дизайнера Отчетов, принимаемый по умолчанию может оказаться больше размера окна, наследующего ему свои характеристики. В подобном случае Дизайнер Отчетов все равно принимает характеристики окна, в котором он размещается. Левый верхний угол конструктора отчетов совпадает с левым верхним углом окна, а справа и внизу конструктор отчетов выходит за пределы окна.

[IN [WINDOW] WindowName2 | IN SCREEN]]

Определяет, будет ли Дизайнер Отчетов открываться в родительском или в главном окне Visual FoxPro после открытия в родительском окне. Дизайнер Отчетов не принимает характеристики родительского окна и не может перемещаться вне его пределов. При перемещении родительского окна будет перемещаться и Дизайнер Отчетов.
Примечание:
Родительское окно должно быть заранее определено командой DEFINE WINDOW и должно быть видимым для доступа Дизайнера Отчетов.

[NOENVIRONMENT]

Предотвращает восстановление среды, сохраненной вместе с отчетом. Включено для совместимости с отчетами версий 2.x. Для более подробной информации смотрите Управление данными в отчетах.
Совет:
Среда данных, связанная с отчетом Visual FoxPro, восстанавливается, если значение свойства AutoOpenTables этой среды данных установлено равным "истине" (.T.). Чтобы гарантировать закрытие среды отчета по завершении печати отчета, установите для свойства AutoCloseTables среды данных значение "истина" (.T.). Для более подробной информации смотрите Свойство AutoOpenTables и Свойство AutoCloseTables.

[NOWAIT]

Продолжает выполнение программы после открытия Дизайнера Отчетов. Программа не будет ждать его закрытия, а продолжит выполнение со строки, непосредственно следующей за строкой с командой MODIFY REPORT NOWAIT. Если предложение NOWAIT опущено при выдаче MODIFY REPORT в программе, конструктор отчетов откроется и выполнение программы будет приостановлено до тех пор, пока конструктор отчетов не будет закрыт. Включение опции NOWAIT не оказывает никакого эффекта при выдаче команды MODIFY REPORT в командном окне.
[PROTECTED]

Определяет, что Дизайнер Отчетов должен открыться в "защищенном" режиме, который отключает или подавляет некоторые особенности Дизайнера Отчетов. Режим предназначен для предотвращения нежелательных действий конечного пользователя при редактировании формы отчета в приложениях.
[SAVE]

Оставляет конструктор отчетов открытым после активизации другого окна. Если опустить SAVE, конструктор отчетов закроется при активизации другого окна. Включение опции SAVE при выдаче команды MODIFY REPORT в командном окне не имеет эффекта.

Замечания

Редактировать отчеты Вы можете также с помощью пользовательского интерфейса Visual FoxPro. Для более подробной информации смотрите Как: Открытие Отчетов и Этикеток. Отчеты могут создаваться и с использованием мастера. Для более подробной информации смотрите Как: Создание отчетов.

Смотрите также

Прочие ресурсы

Дизайнер Отчетов
Команда CREATE REPORT
Команда REPORT FORM
Команды
Работа с отчетами

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


MODIFY STRUCTURE Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY STRUCTURE
См. также

Отображает Дизайнер таблиц, где Вы можете изменить структуру таблицы.

MODIFY STRUCTURE

Комментарии

В младших версиях VFP команда MODIFY STRUCTURE открывала диалоговый бокс Table Structure.

Если в текущей рабочей области нет открытой таблицы, то открывается диалоговый бокс Открытия таблицы, где Вы можете выбрать таблицу для изменения ее структуры.

Изменение структуры таблицы включает в себя: добавление или удаление полей таблицы; изменение имен, размеров и типов соответствующих полей; дополнение, удаление или модификация индексных тэгов; указание поддержки null-значений для полей.

Предупреждение:
Изменение типа поля может привести к неожиданным результатам: Например, если Вы изменяете тип данных Data на Number, то содержание поля не конвертируется, будет утерено.

Система Visual FoxPro автоматически создает копию изменяемой таблицы (.BAK-файл) . Когда модификация структуры таблицы завершена данные из резервной копии копируются (конвертируются) в таблицу, имеющую новую структуру. Если в таблице используются поля типа memo, то для них тоже создается резервная копия. Копия основной таблицы имеет расширение файла = .bak , а для memo-файла копия имеет расширение = .tbk .

Если Вас устраивает новая структура данных таблицы, но данные не нужны, то необходимо прервать процесс копирования данных из резервной копии.

Помните!, что перед модификацией структуры таблицы создаются резервные копии файлов ( .bak и .tbk). Если у Вас возникли проблемы с выполнением команды MODIFY STRUCTURE, Вы можете удалить новые файлы и переименовать имеющиеся резервные копии файлов, присвоив им соответствующие расширения: (.dbf и .fpt).

Если изменяется структура таблицы, имеющей поля типа memo, то размер блока данных в соответствующих полях устанавливается в соответствие с текущей установкой в системе. См. команду SET BLOCKSIZE.

См. также

Другие ссылки

Команда
Команда ALTER TABLE - SQL
Команда CREATE
Команда CREATE TABLE - SQL
Команда SET BLOCKSIZE
Как: Изменить структуру таблицы

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY VIEW Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY VIEW
См. также

Отображает Дизайнер Представлений (View Designer), где Вы можете изменять параметры SQL-представлений.

MODIFY VIEW ViewName [REMOTE][NOWAIT]

Параметры

ViewName

Определяет имя представления (view).
REMOTE

Определяет, что Представление основано на данных из удаленных таблиц. Если Вы опускаете опцию REMOTE, то редактируется представление, основанное на локальных таблицах.
NOWAIT

Определяет, что выполнение программы продолжается после открытия Дизайнера Представлений. Программа не ждет закрытия дизайнера, а продолжает свое выполнение со следующей строки после данной команды MODIFY VIEW ... NOWAIT. При отсутствии опции NOWAIT , команда MODIFY VIEW открывает дизайнер представлений и выполнение программы останавливается до момента закрытия Дизайнера Представлений.

Комментарии

SQL-Представления создаются командой CREATE SQL VIEW.

См. также

Другие ссылки

Команды
Команда CREATE SQL VIEW
Команда OPEN DATABASE

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MODIFY WINDOW Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY WINDOW
См. также Пример

Изменяет параметры пользовательского окна, или главного окна Visual FoxPro.

MODIFY WINDOW WindowName | SCREEN
[FROM nRow1, nColumn1 TO nRow2, nColumn2
   | AT nRow3, nColumn3 SIZE nRow4, nColumn4]
   [FONT cFontName [, nFontSize [, nFontCharSet]]] [STYLE cFontStyle]
   [TITLE cTitleText] [HALFHEIGHT] [DOUBLE | PANEL | NONE | SYSTEM]
   [CLOSE | NOCLOSE] [FLOAT | NOFLOAT] [GROW | NOGROW]
   [MINIMIZE | NOMINIMIZE] [ZOOM | NOZOOM] [ICON FILE FileName1]
   [FILL FILE FileName2]
   [COLOR SCHEME nSchemeNumber | COLOR ColorPairList]

Параметры

WindowName

Определяет имя пользовательского окна, созданного ранее командой DEFINE WINDOW.
SCREEN

Определяет имя главного окна Visual FoxPro. Необходимо указывать точно: SCREEN, или будет сгенерирована ошибка. Для изменения параметров / характеристик главного окна VFP используйте команду из следующего примера:
Копировать код
MODIFY WINDOW SCREEN
Последнее:
Используйте MODIFY WINDOW SCREEN NOCLOSE для предотвращения раннего завершения работы Visual FoxPro.

Для дополнительной информаци по использованию параметров команды MODIFY WINDOW см. раздел DEFINE WINDOW.

Комментарии

Команда MODIFY WINDOW изменяет параметры / характеристики пользовательского окна, созданного ранее командой DEFINE WINDOW, а также главного окна Visual FoxPro. Команда MODIFY WINDOW не может быть использована для изменения атрибутов системных окон Visual FoxPro (таких как: Командное окно или окно Browse).

Команда MODIFY WINDOW используется для изменения: размещения, текущего шрифта, типа границы, размеров, иконки и др. Вы можете использовать любой из перечисленных при описании команды параметров. (Для активации нового цвета экрана системы используйте команду CLEAR .)

Например, при изменении значений опций FROM и TO или AT и SIZE можно определить новое местоположение окна, а также его размеры. Чтобы окно было перемещаемым необходимо указывать опцию NOFLOAT .

Пример

В следующей команде изменяется заголовок главного окна VFP

Копировать код
MODIFY WINDOW SCREEN TITLE 'My Application'

См. также

Другие ссылки

Команды
Команда DEFINE WINDOW Command
Системная переменная _SCREEN

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MOUSE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда MOUSE
Смотрите также Пример
CollapseAll image

Имитирует щелканье мышью, включая двойное, и перемещение мыши в том числе перетаскивание.

MOUSE [CLICK | DBLCLICK] [AT nRow1, nColumn1]
| DRAG TO nRow2, nColumn2, nRow3, nColumn3 ...][PIXELS]
[WINDOW cWindowName][LEFT | MIDDLE | RIGHT][SHIFT] [CONTROL] [ALT]

Параметры

CLICK | DBLCLICK

Указывает, что выполняется щелчок или двойной щелчок. Если предложение AT опущено, щелчок или двойной щелчок производится в позиции, в которой в данный момент расположен указатель мыши.

AT nRow1, nColumn1

Задает позицию, в которой выполняется (двойной) щелчок или в которую перемещается указатель мыши. Если опустить CLICK или DBLCLICK, указатель мыши переместится в позицию с координатами nRow1, nColumn1.

Если не задано предложение WINDOW, координаты nRow1, nColumn1 указываются относительно основного окна Visual FoxPro и соответствующая позиция определяется шрифтом этого окна. Большинство шрифтов допускают отображение с разными размерами, а некоторые из них имеют пропорциональные промежутки. Позиция строки определяется высотой текущего шрифта, а позиция колонки - средней шириной буквы текущего шрифта.

Предложение AT нельзя использовать для выбора заголовка меню Visual FoxPro. Вместо єтого используйте команду SYS(1500) - Активация пункта системного меню чтобы выбрать заголовок меню.

DRAG TO nRow2, nColumn2, nRow3, nColumn3...]

Определяет, что указатель мыши перемещается (dragged) в другую позицию или последовательно в несколько позиций.

Подобное перемещение происходит при нажатой кнопке мыши; она отпускается, когда указатель достигает нужной позиции. Если предложения LEFT, MIDDLE, and RIGHT опущены, по умолчанию нажимается и удерживается левая (главная) кнопка мыши.

Предложение DRAG допускает задание нескольких наборов координат nRow, nColumn, давая возможность перемещать указатель мыши в несколько позиций.

Если задано ключевое слово CLICK или DBLCLICK, в текущей позиции мыши производится щелчок или двойной щелчок; после этого указатель мыши перемещается (dragged) в заданную позицию.

PIXELS

Указывает, что позиция, задаваемая предложениями AT и DRAG TO, определена в пикселях.

Если опустить опцию PIXELS, позиция будет определяться шрифтом основного окна Visual FoxPro или окна, заданного аргументом cWindowName. Большинство шрифтов допускают множество вариантов размеров, а некоторые из них имеют пропорциональные промежутки. Строка соответствует высоте текущего шрифта, а столбец - средней ширине буквы текущего шрифта.

WINDOW cWindowName

Задает окно, относительно которого выражаются координаты в предложениях AT и DRAG TO. Если вы не задали предложение WINDOW с именем активного окна, координаты в предложениях AT и DRAG TO берутся относительно основного окна Visual FoxPro.

Чтобы задать системное окно или панель инструментов, заключите все имя системного окна или панели инструментов в кавычки.

LEFT | MIDDLE | RIGHT

Указывает, какая кнопка нажимается при щелчке, двойном щелчке или перемещении мыши. Если предложения LEFT, MIDDLE, и RIGHT опущены, по умолчанию нажимается левая (главная) кнопка мыши.

[SHIFT] [CONTROL] [ALT]

Задает клавишу, которая нажимается, когда происходит щелчок, двойной щелчок или перемещение мыши. В Visual FoxPro для Windows, SHIFT задает клавишу SHIFT, CONTROL задает клавишу CTRL, и ALT задает клавишу ALT.

Вы можете указать любую комбинацию значений SHIFT, CTRL и ALT.

Expand image Замечания

Команда MOUSE обычно используется для автоматизации интерактивного тестирования приложений или создания демонстрационных программ.

Expand image Пример

В следующем примере, первая команда задает щелчок мыши в строке 3 и колонке 3 основного окна Visual FoxPro. Вторая команда щелкает мышью в строке 3 и колонке 3 того же окна, а затем перемещает указатель мыши (drags) в десятую строку и десятую колонку основного окна Visual FoxPro. Третья команда перемещает указатель мыши из его текущей позиции в точку на пересечении строки 20 и колонки 20. Четвертая команда дважды щелкает мышью в ее текущей позиции, а затем перемещает указатель мыши (drag) в строку 30 и колонку 30. Последняя команда перемещает указатель мыши (drags) из текущей позиции сначала в строку 10 и колонку 10, затем в строку 20 и колонку 20 и наконец в строку 30 и колонку 30.
CopyCode image Copy Code
MOUSE CLICK AT 3,3
MOUSE CLICK AT 3,3 DRAG TO 10,10
MOUSE DRAG TO 20,20
MOUSE DBLCLICK DRAG TO 30,30
MOUSE DRAG TO 10,10,20,20,30,30

Expand image Смотрите также

Справочное руководство

Функция MCOL( )
Функция MDOWN( )
Функция MROW( )
SYS(1500) - SYS(1500) - Активация пункта системного меню

Прочие ресурсы

КомандЫ (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MOVE POPUP Command

Visual FoxPro 9.0 Language Reference
Команда MOVE POPUP
Смотреть также Пример

Перемещает меню, определенное пользователем с помощью команды DEFINE POPUP, на новое место.

MOVE POPUP MenuName TO nRow1, nColumn1 | BY nRow2, nColumn2

Параметры

MenuName

Задает перемещаемое меню. В Visual FoxPro,нельзя перемещать системные меню.
TO nRow1, nColumn1

Перемещает меню на место, заданное координатами nRow1, nColumn1, в пользовательском окне или основном окне Visual FoxPro.
BY nRow2, nColumn2

Перемещает меню на место, указанное относительно его текущей позиции. nRow2 задает число строк, на которое нужно переместить меню (вниз, если значение nRow2 положительно, вверх, если оно отрицательно). Числовое выражение nColumn2 задает число столбцов, на которое перемещается меню (вправо, если значение nColumn2 положительно, влево, если оно отрицательно).

Замечание

Меню можно перемещать на конкретное место или относительно его текущей позиции. Если меню определено, его уже можно перемещать; оно не обязательно должно быть активным или видимым.

Пример

В следующем примере программа определяет и активизирует меню, а затем перемещает его и изменяет его размеры.
Копировать код
CLOSE DATABASE
CLEAR
DEFINE POPUP popMovIn FROM 2,2 TO 7, 14 PROMPT FILES LIKE *.PRG ;
   TITLE 'Programs'
ACTIVATE POPUP popMovIn NOWAIT
=CHRSAW(2)
MOVE POPUP popMovIn BY 5,5     && переместить меню вниз
=CHRSAW(2)
SIZE POPUP popMovIn BY 5,5     && увеличить меню
=CHRSAW(2)
SIZE POPUP popMovIn BY -5,-5     && уменьшаем меню
=CHRSAW(2)
MOVE POPUP popMovIn BY -5,-5     && меню вверх
=CHRSAW(2)
DEACTIVATE POPUP popMovIn
RELEASE POPUP popMovIn

Смотреть также

Другие ресурсы

Команды
Команда ACTIVATE POPUP
Команда DEFINE POPUP
Команда SIZE POPUP

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


MOVE WINDOW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда MOVE WINDOW
Смотрите также Пример
CollapseAll image

Перемещает на новое место окно, определенное пользователем командой DEFINE WINDOW, или системное окно Visual FoxPro (такое как окно команд или окно просмотра).

MOVE WINDOW WindowName TO nRow1, nColumn1   | BY nRow2, nColumn2 | CENTER

Параметры

WindowName

Задает имя перемещаемого окна.

TO nRow1, nColumn1

Перемещает окно на место, указанное координатами nRow1, nColumn1, в основном окне Visual FoxPro или в пользовательском окне.

BY nRow2, nColumn2

Перемещает окно на место, указанное относительно его текущей позиции. Числовое выражение nRow2 задает число строк, на которое нужно переместить окно (вниз, если значение nRow2 положительно, вверх, если оно отрицательно). Числовое выражение nColumn2 задает число столбцов, на которое перемещается окно (вправо, если значение nColumn2 положительно, влево, если оно отрицательно).

CENTER

Центрирует окно в основном окне Visual FoxPro или в его родительском окне.

Expand image Замечания

Окно можно перемещать на конкретное место или относительно его текущей позиции. Если окно определено, его уже можно перемещать; оно не обязательно должно быть активным или видимым.

Чтобы переместить системное окно или панель инструментов (в Visual FoxPro), поставьте все имя системного окна или панели инструментов в кавычки. Например, чтобы переместить панель инструментов Report Controls (когда она не запаркована) в Visual FoxPro, выдайте следующую команду:

CopyCode image Copy Code
MOVE WINDOW "Report Controls" BY 1,1

Исторически, в младших версиях Visual FoxPro, окно Data Session всегда отождествлялось с окном View. К тому же, соответствующие команды HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), также управляют данным окном. Система Visual FoxPro продолжает поддерживать управление окна View при помощи команды MOVE WINDOW.

Expand image Пример

В следующем примере программа определяет и активизирует окно wEnter, а затем перемещает его.
CopyCode image Copy Code
DEFINE WINDOW wEnter FROM 10,4 TO 15,54 SYSTEM ;
   TITLE "Nomadic Window"
ACTIVATE WINDOW wEnter
WAIT WINDOW 'Press any key to move the window'
MOVE WINDOW wEnter TO 20,15
WAIT WINDOW 'Press any key to center the window'
MOVE WINDOW wEnter CENTER
WAIT WINDOW 'Press any key to release the window'
RELEASE WINDOW wEnter

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE WINDOW
Команда WAIT
Команда DEFINE WINDOW
Команда DOCK
Функция WDOCKABLE( )

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


NODEFAULT Command

Visual FoxPro 9.0 Описание Языка
NODEFAULT, команда
См. также
CollapseAll image

Отменяет выполнение внутреннего программного кода Visual FoxPro для текущего События или Метода, выполняемых в текущий момент.

NODEFAULT

Expand image Комментарии

Данную команду NODEFAULT вы можете использовать влюбом месте рассматриваемого программного кода События или Метода. Вы можете также использовать команду NODEFAULT в программном коде События или Метода непосредственно в Дизайнере Форм. Например, включив данную команду NODEFAULT в программный код события KeyPress предотвращается или отменяется ввод каких либо символов в соответствующий буфер клавиатуры Visual FoxPro. Следовательно, тем самым, вы можете контролировать специально созданной процедурой для события KeyPress вводимые с клавиатуры символы и соответствующую обработку вводимых символов.

Expand image См. также

Описание

DEFINE CLASS, команда
Run, метод (Visual FoxPro)
BeforeRowColChange , Событие
Add Method (File Object)
OLEDragDrop , Событие
OLESetData , Событие
OLEGiveFeedback , Событие
OLECompleteDrag , Событие
QueryRunFile , Событие
BeforeBuild , Событие
QueryAddFile , Событие
QueryRemoveFile , Событие
QueryUnload , Событие
OLEStartDrag , Событие
QueryModifyFile , Событие

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


NOTE Command

Visual FoxPro 9.0 Справка по языку
Команда NOTE
См.также Пример

Указывает начало строки с неисполняемым кодом (комментарий).

NOTE [Comments]

Параметры

Comments

Задает комментарий.

Замечания

Поместите в конец строки точку с запятой (;) для того, чтобы продолжить комментарий на следующей строке.

Пример

Скопировать код
NOTE Инициализировать переменную с номером ;
 страницы.
STORE 1 to gnPageNum
* Начало цикла
DO WHILE gnPageNum <= 25 && цикл 25 раз
 gnPageNum = gnPageNum + 1
ENDDO && DO WHILE gnPageNum <= 25

См.также

Команды
Команда &&
Команда *
Команда MODIFY COMMAND
Команда MODIFY FILE

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ON BAR Command

Visual FoxPro 9.0 Language Reference
Команда ON BAR
См. также Пример

Задает меню или строку меню, которые активизируются при выборе определенного элемента из меню.

ON BAR nMenuItemNumber OF MenuName1   [ACTIVATE POPUP MenuName2
   | ACTIVATE MENU MenuBarName]

Parameters

nMenuItemNumber OF MenuName1

Задает номер элемента меню и само меню, которое содержит этот элемент, активизирующий другое меню или строку меню. Каждому элементу меню может быть сопоставлено другое меню или строка меню. Если элементу меню сопоставлено меню или строка меню, то справа от его названия ставится стрелка. Она показывает, что при выборе данного элемента меню активизируется другое меню или строка меню. Если вы определяете меню с помощью команды DEFINE POPUP ... MARGIN, справа от каждого элемента оставляется дополнительное место для стрелки, обозначающей ниспадающие подменю. Если вы создаете меню без предложения MARGIN, стрелка ниспадающих подменю может оказаться изображенной поверх последнего символа элемента меню.
ACTIVATE POPUP MenuName2

Задает имя меню, которое активизируется при выборе данного элемента меню. Используйте команду ON BAR без ACTIVATE POPUP для открепления меню от элемента меню.
ACTIVATE MENU MenuBarName

Задает имя строки меню, которая активизируется при выборе данного элемента меню. Используйте команду ON BAR без ACTIVATEMENU, чтобы открепить строку меню от элемента меню.

Комментарии

Меню, которое отображает и активизирует другое меню, называется ниспадающим подменю. Для выполнения команды при выборе элемента меню используйте команду ON SELECTION BAR или ON SELECTION POPUP.

Меню и строка меню могут быть определены пользователем (командами DEFINE POPUP и DEFINE MENU) или входить в состав системы меню Visual FoxPro.

Пример

Следующий пример демонстрирует систему ниспадающих подменю. Создается строка меню mnuDinner, в которую включаются два заголовка меню. Каждый заголовок использует команду ON PAD для активизации меню popMainCourse или popDessert. Каждое из этих двух меню имеет дополнительные меню popBurger, popPizza и popPie, которые закреплены за элементами этих меню с помощью трех команд ON BAR. Две команды ON BAR закрепляют дополнительные меню за элементами popOlives и popPie.

Когда вы выбираете элемент, команда ON SELECTION POPUP ALL выполняет процедуру yourchoice, которая активизирует окно и отображает ваш выбор. Выбор определяется функциями POPUP( ) и PROMPT( ), которые возвращают имя меню и содержимое (текст) элемента меню.
Копировать код
DEFINE WINDOW wOrder FROM 10,0 TO 13,39
DEFINE MENU mnuDinner
DEFINE PAD padOne OF mnuDinner PROMPT '\<Main Course' KEY ALT+M, ''
DEFINE PAD padTwo OF mnuDinner PROMPT '\<Dessert'   KEY ALT+D, ''
ON PAD padOne OF mnuDinner ACTIVATE POPUP popMainCourse
ON PAD padTwo OF mnuDinner ACTIVATE POPUP dessert
DEFINE POPUP popMainCourse MARGIN MESSAGE ;
   'We have burgers and pizza today'
DEFINE BAR 1 OF popMainCourse PROMPT '\<Hamburgers'
DEFINE BAR 2 OF popMainCourse PROMPT '\<Pizza'
ON BAR 1 OF popMainCourse ACTIVATE POPUP burger
ON BAR 2 OF popMainCourse ACTIVATE POPUP pizza
DEFINE POPUP burger MARGIN MESSAGE ;
   'What would you like on your burger?'
DEFINE BAR 1 OF burger PROMPT '\<Ketchup'
DEFINE BAR 2 OF burger PROMPT '\<Mustard'
DEFINE BAR 3 OF burger PROMPT '\<Onions'
DEFINE BAR 4 OF burger PROMPT '\<Pickles'
DEFINE POPUP pizza MARGIN MESSAGE ;
   'Here are the available toppings'
DEFINE BAR 1 OF pizza PROMPT '\<Anchovies'
DEFINE BAR 2 OF pizza PROMPT '\<Green Peppers'
DEFINE BAR 3 OF pizza PROMPT '\<Olives'
DEFINE BAR 4 OF pizza PROMPT '\<Pepperoni'
ON BAR 3 OF pizza ACTIVATE POPUP olives
DEFINE POPUP olives MARGIN
DEFINE BAR 1 OF olives PROMPT '\<Black' MESSAGE 'Black olives?'
DEFINE BAR 2 OF olives PROMPT '\<Green' MESSAGE 'Green olives?'
DEFINE POPUP dessert MARGIN MESSAGE 'Our dessert offerings'
DEFINE BAR 1 OF dessert PROMPT '\<Brownies'
DEFINE BAR 2 OF dessert PROMPT '\<Cookies'
DEFINE BAR 3 OF dessert PROMPT '\<Ice Cream'
DEFINE BAR 4 OF dessert PROMPT '\<Pie'
ON BAR 4 OF dessert ACTIVATE POPUP pie
DEFINE POPUP pie MARGIN MESSAGE 'What kind of pie?'
DEFINE BAR 1 OF pie PROMPT '\<Blueberry'
DEFINE BAR 2 OF pie PROMPT '\<Cherry'
DEFINE BAR 3 OF pie PROMPT '\<Peach'
DEFINE BAR 4 OF pie PROMPT '\<Rhubarb'
ON SELECTION POPUP ALL DO yourchoice
ACTIVATE MENU mnuDinner
PROCEDURE yourchoice
ACTIVATE WINDOW wOrder
CLEAR
DO CASE
   CASE POPUP( ) = 'BURGER'
      @ 0,0 SAY 'A ' + POPUP( ) + ' order:'
      @ 1,0 SAY 'You ordered a burger with ' + LOWER(PROMPT( ))
   CASE POPUP( ) = 'PIZZA'
      @ 0,0 SAY 'A ' + POPUP( ) + ' order:'
      @ 1,0 SAY 'You ordered a pizza with ' + LOWER(PROMPT( ))
   CASE POPUP( ) = 'OLIVES'
      @ 0,0 SAY 'A ' + POPUP( ) + ' order:'
      @ 1,0 SAY 'You ordered a pizza with ' ;
         + LOWER(PROMPT( )) + ' olives'
   CASE POPUP( ) = 'DESSERT'
      @ 0,0 SAY 'A ' + POPUP( ) + ' order:'
      @ 1,0 SAY 'You ordered ' + LOWER(PROMPT( )) + ' for dessert'
   CASE POPUP( ) = 'PIE'
      @ 0,0 SAY 'A ' + POPUP( ) + ' order:'
      @ 1,0 SAY 'You ordered ' + LOWER(PROMPT( )) + ' pie'
ENDCASE
WAIT WINDOW
DEACTIVATE WINDOW wOrder
RETURN

См. также

Другие ресурсы

Команды
Команда ACTIVATE MENU
Команда DEFINE BAR
Команда DEFINE MENU
Команда DEFINE POPUP
Команда ON SELECTION BAR
Команда ON SELECTION POPUP

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


ON ERROR Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ON ERROR
Смотрите также Example
CollapseAll image

Определяет допустимое выражение или команду Visual FoxPro, которые будут исполнены, когда в ходе исполнения в run time в коде возникнут ошибки.

ON ERROR [Command]

Параметры

[Command]

Определяет допустимую команду Visual FoxPro или выражение для исполнения. Обычно, ON ERROR использует команду DO для указания процедуры или программы обработки ошибок. Для получения более подробной информации смотрите описание команды DO.

Для восстановления системного обработчика ошибок Visual FoxPro используйте команду ON ERROR без параметров.

Expand image Примечания

Если процедура обработки ошибок включает в себя команду RETRY, программа исполняется со строки, вызвавшей ошибку вместо продолжения со следующей строки. Для получения более подробной информации смотрите описание команды RETRY.

Вы не можете вкладывать команды ON ERROR; вызов команды ON ERROR внутри процедуры, указанной в ON ERROR восстанавливает системный обработчик ошибок Visual FoxPro.

Note Совет

Если ON ERROR указывает процедуру, вы можете послать ей номер ошибки, сообщение об ошибки, номер строки программы и имя самой программы с помощью использования функций ERROR( ), MESSAGE( ), LINENO( ) и PROGRAM( ). Вы можете использовать эту информацию для определения и коррекции причины появления ошибки. Для получения более подробной информации смотрите описание функций ERROR(), LINENO(), MESSAGE() и PROGRAM().

Expand image Пример

Приведенный ниже пример использует команду ON ERROR с командой DO для указания процедуры обработки ошибок с именем errHandler. Команда DO, кроме того, использует функции ERROR( ), MESSAGE( ), PROGRAM( ) и LINENO( ) для посылки в процедуру errHandler дополнительной информации. Команда USE должна открыть таблицу, которая не существует и как следствие вызывает ошибку. Обработчик errHandler исполняется, когда происходит ошибка и отображает полученную информацию об ошибке. ON ERROR без параметров восстанавливает системный обработчик ошибок Visual FoxPro, используемый по умолчанию.

CopyCode image Скопировать код
ON ERROR DO errHandler WITH ;
   ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )
USE nodatabase
ON ERROR  && Восстанавливает системный обработчик ошибок.

PROCEDURE errHandler
   PARAMETER merror, mess, mess1, mprog, mlineno
   CLEAR
   ? 'Номер ошибки: ' + LTRIM(STR(merror))
   ? 'Сообщение об ошибке: ' + mess
   ? 'Строка кода с ошибкой: ' + mess1
   ? 'Номер строки с ошибкой: ' + LTRIM(STR(mlineno))
   ? 'Программа с ошибкой: ' + mprog
ENDPROC

Expand image Смотрите также

Справочное руководство

Отладка и язык обработки ошибок

Концепции

Приоритет обработчиков ошибок
Обработка ошибок Run-Time

Прочие ресурсы

Сообщения об ошибках
Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ON ESCAPE Command

Visual FoxPro 9.0 Language Reference
Команда ON ESCAPE
See Also Example
CollapseAll image

Определяет команду, которая выполняется, если вы нажали клавишу ESС во время выполнения программы или команды.

Команда ON ESCAPE   []

Параметры

Команда

Определяет команду Visual FoxPro для выполнения. После того, как команда выполнится, программа продолжает выполнение немедленно со строки, следующей за строкой программы, которая выполнялась, когда вы нажали ESC. Однако, если процедура, определенная в ON ESCAPE, включает RETRY, строка программы, которая выполнялась, когда вы нажали ESC, выполняется снова.

Expand image Замечания

Обычно ON ESCAPE использует DO для выполнения процедуры.

Если определены ON ESCAPE и ON KEY, и вы нажали ESC, Visual FoxPro выполняет команду, определенную в ON ESCAPE.

Используйте ON ESCAPE без команды,чтобы команда не выполнялась, если нажата ESC(по умолчанию).

Note Note

Visual FoxPro не выполняет подпрограммы ON ESCAPE,если SET ESCAPE отключена (OFF).

Expand image Пример

Следующий пример устанавливает бесконечный цикл, но определяет подпрограмму ON ESCAPE, чтобы выйти из него.
CopyCode image Copy Code
SET ESCAPE ON
ON ESCAPE DO stopit
WAIT WINDOW 'Press ESC to stop loop' NOWAIT
glMoreLoop = .T.

DO WHILE glMoreLoop
ENDDO
RETURN

PROCEDURE stopit
glMoreLoop = .F.
RETURN

Expand image Смотрите также

Ссылки

INKEY( ) Function
ON ESCAPE Command
DO Command

Другие ресурсы

Commands (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ON EXIT BAR Command

Visual FoxPro 9.0 Описание Языка
ON EXIT BAR, команда
См. также
CollapseAll image

Включена для совместимости с системой dBASE.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ON EXIT MENU Command

Visual FoxPro 9.0 Справочник Языка
ON EXIT MENU Команда
См. Также

Включено для совместимости с dBASE.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ON EXIT PAD Command

Visual FoxPro 9.0 Описание Языка
ON EXIT PAD, команда
См. также
CollapseAll image

Включена для совместимости с системой dBASE.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ON EXIT POPUP Command

Visual FoxPro 9.0 Описание Языка
ON EXIT POPUP, команда
См. также
CollapseAll image

Включена для совместимости с системой dBASE.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ON KEY LABEL Command

Visual FoxPro 9.0 Описание Языка
Команда ON KEY LABEL
См. также Пример

Определяет выполнение команды при нажатии определенной клавиши, или комбинации клавиш, или нажатии кнопки мыши.

ON KEY [LABEL KeyLabelName] [Command]

Параметры

LABEL KeyLabelName

Определяет имя соответствующей клавиши (или комбинации клавиш). Параметр KeyLabelName является символьным выражением или числом , или именем соответствующей клавиши. В следующей таблице представлен список имен некоторых специальных клавиш.
Visual FoxPro key label assignments (системные обозначения клавиш).

Для Клавиши Значение параметра KeyLabelName
ArrowLeft screenshot

LEFTARROW
ArrowRight screenshot

RIGHTARROW
ArrowUp screenshot

UPARROW
ArrowDown screenshot

DNARROW

HOME

HOME

END

END

PAGE UP

PGUP

PAGE DOWN

PGDN

DEL

DEL

BACKSPACE

BACKSPACE

SPACEBAR

SPACEBAR

INS

INS

TAB

TAB

SHIFT+TAB

BACKTAB

Left Brace

LBRACE

Right Brace

RBRACE

ENTER

ENTER

F1 to F12

F1, F2, F3 ...

CTRL+F1 to CTRL+F12

CTRL+F1, CTRL+F2 ...

SHIFT+F1 to SHIFT+F12

SHIFT+F1, SHIFT+F2 ...

ALT+F1 to ALT+F12

ALT+F1, ALT+F2, ALT+F3 ...

ALT+0 to ALT+9

ALT+0, ALT+1, ALT+2 ...

ALT+A to ALT+Z

ALT+A, ALT+B, ALT+C ...

CTRL+LEFT ARROW

CTRL+LEFTARROW

CTRL+RIGHT ARROW

CTRL+RIGHTARROW

CTRL+HOME

CTRL+HOME

CTRL+END

CTRL+END

CTRL+PAGE UP

CTRL+PGUP

CTRL+PAGE DOWN

CTRL+PGDN

CTRL+A TO CTRL+Z

CTRL+A, CTRL+B, CTRL+C ...

CTRL+0

CTRL+0

RIGHT MOUSE BUTTON

RIGHTMOUSE

LEFT MOUSE BUTTON

LEFTMOUSE

MOUSE BUTTON

MOUSE

ESC

ESC
Command

Определяет команду, которая должна быть выполонена при нажатии указанной в команде клавиши, или комбинации клавиш, или кнопки мыши. Данная команда может быть параметризована, т. е. может содержать параметры в качестве вычисляемых функций или переменных. Например:
Копировать код
ON KEY LABEL ALT+V WAIT WINDOW "Version: " + VERSION()
Вы можете использовать в команде переменные, которые должны быть типа Public. Например:
Копировать код
PUBLIC message
message = "Default drive: " + SYS(5)
ON KEY LABEL ALT+D WAIT WINDOW message

Комментарии

В команде ON KEY LABEL обычно указывается вызов по команде DO пользовательской процедуры.

Команда ON KEY LABEL немедленно запускает на выполнение соответствующую процедуру в период выполнения команд READ, BROWSE, EDIT, CHANGE, или пользовательских меню. Если в период выполнения программы Вы нажимаете соответствующую клавишу, или кнопку мыши, система Visual FoxPro выполняет текущую программную строку и переходит к выполнению процедуры, указанной в команде ON KEY LABEL. Несколько заданных в программном модуле команд ON KEY LABEL остаются Активными после завершения работы программы, в которой они определены. Данные определения можно задавать и в Командном окне.

Для восстановления стандартного поведения определенных клавиш выполните команду ON KEY LABEL KeyLabelName (без указания команды выполнения). Для восстановления всех клавиш используется команда ON KEY.

Замечание:
Для того, чтобы предотвратить рекурсивное выполнение процедур, определенных командами ON KEY LABEL, используйте команду PUSH KEY CLEAR для временного отключения активности соответствующих процедур ON KEY LABEL. Можно использовать команду POP KEY для восстановления активности клавишных комбинаций ON KEY LABEL.

Команды, определенные в ON KEY LABEL не работают в системном менюVisual FoxPro, диалоговых боксах, предупреждениях, и так далее (в системном сервисе). Однако, соответствующие пользовательские настройки могут использоываться в системных окнах, таких как: Текстовый редактор, Командное Окно, окно Трассировки, и так далее.

В отличие откоманды ON KEY, можно использовать несколько команд ON KEY LABEL. Например, определить действия для каждой клавиши со стрелками, или каждой кнопки мыши.

При выполнении команды ON KEY LABEL значение функции PARAMETERS( ) = 0. См. дополнительно PARAMETERS( ).

В системе Visual FoxPro не все события могут быть перехвачены, так как они управляются ОС Windows. В конкретных случаях использования команд ON KEY LABEL MOUSE, ON KEY LABEL LEFTMOUSE, или ON KEY LABEL RIGHTMOUSE соответствующие процедуры не будут выполнены, так как данные события зарезервированы системой Windows. Данное ограничение действует также на комбинацию клавиш CTRL+0, которая поддерживается в команде ON KEY LABEL, но вернет пустое значение.

Замечание: Команда ON KEY LABEL действует за пределами конкретной формы; в тоже время, событие KeyPress работает только в текущей активной форме для обработки нажатия клавиш.

Пример

В следующем примере отображается сообщение, когда нажимается одна из стрелок (клавиш со стрелками).

Копировать код
CLEAR
PUBLIC msg
msg = CHR(13) + CHR(13) + "Press F9 to " + ;
   "restore default key definition."
ON KEY LABEL RIGHTARROW Wait Window "Right Arrow " + msg NOWAIT
ON KEY LABEL LEFTARROW Wait Window "Left Arrow " + msg NOWAIT
ON KEY LABEL UPARROW Wait Window "Up Arrow " + msg NOWAIT
ON KEY LABEL DNARROW Wait Window "Down Arrow " + msg NOWAIT

* Press F9 to clear the ON KEY LABEL assignments
ON KEY LABEL F9 ON KEY

См. также

Другие ссылки

Команды
Функция INKEY( )
Событие KeyPress
Функция ON( )
Команда POP KEY
Команда PUSH KEY

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Команда ON PAD

Visual FoxPro 9.0 Справочное руководство по языку
Команда ON PAD
Смотрите также
CollapseAll image

Задает меню или строку меню, активизируемые при выборе данного заголовка меню.

ON PAD MenuTitleName OF MenuBarName1   [ACTIVATE POPUP MenuName
   | ACTIVATE MENU MenuBarName2

Параметры

MenuTitleName OF MenuBarName1

Задает заголовок меню, которому назначается меню или строка меню.

ACTIVATE POPUP MenuName

Задает меню, активизируемое при выборе заголовка меню. Відайте ON PAD MenuTitleName OF MenuBarName1 без комады ACTIVATE POPUP чтобы открепить меню от заголовка.

Если вы указываете в качестве MenuBarName1 системную строку меню _MSYSMENU, MenuName не может задавать меню, созданное с помощью предложения DEFINE POPUP PROMPT.

ACTIVATE MENU MenuBarName2

Задает имя строки меню, которая активизируется при выборе данного заголовка меню. Используйте команду ON PAD MenuTitleName OF MenuBarName1 без ACTIVATE MENU, чтобы открепить строку меню от имени меню.

Expand image Замечания

Чтобы выполнять команду при выборе заголовка меню, воспользуйтесь командой ON SELECTION PAD.

Expand image Смотрите также

Reference

Команда ACTIVATE MENU
Команда DEFINE MENU
Команда ON SELECTION MENU
Команда ON SELECTION PAD

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Команда ON PAGE

Visual FoxPro 9.0 Справочное руководство по языку
Команда ON PAGE
Смотрите также
CollapseAll image

Задает команду, которая выполнится, когда печать дойдет до строки отчета с заданным номером или когда будет выдана команда EJECT PAGE.

ON PAGE   [AT LINE nLineNumber [Command]]

Параметры

AT LINE nLineNumber [Command]

Задает команду, которую следует выполнить для строки с указанным номером. Эта команда выполнится, когда значение системной переменной _PLINENO, содержащей номер текущей строки отчета, превысит номер строки, заданной аргументом nLineNumber. Команда, заданная с помощью ON PAGE , выполнится и в том случае, если выдать команду EJECT PAGE. Подробнее об этом см. описание Команда EJECT PAGE .

Expand image Замечания

В команде ON PAGE обычно используется команда DO выполняющая процедуру обработки концов страниц и ее колонтитулов.

Если выдать ON PAGE без предложения AT LINE, это отменит действие команды ON PAGE.

Expand image Смотрите также

Reference

Команда EJECT PAGE
Команда DO
Системная переменная _PLINENO

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ON SELECTION BAR Command

Visual FoxPro 9.0 Описание Языка
Команда ON SELECTION BAR
См. также

Определяет Команду, которая будет выполнена при выборе соответствующего пункта меню.

ON SELECTION BAR Nномерпунктаменю OF ИмяМеню   [Команда]

Параметры

Nномерпунктаменю OF ИмяМеню   [Команда]

Эти параметры определяют номер пункта меню, имя меню и соответстующую команду, которая должна быть выполнена при выборе этого пункта меню .

Комментарии

Обычно, команда ON SELECTION BAR использует команду DO для выполнения программы или процедуры. Когда Вы создаете и активируете меню разместите команду ON SELECTION BAR между командами DEFINE POPUP и ACTIVATE POPUP.

Вы можете использовать команду ON SELECTION BAR с пунктом основного (главного) меню Visual FoxPro.

Команда ON SELECTION POPUP используется для выполнения команд при выборе соответствующего пункта меню. Команда ON BAR используется для активации меню следующего уровня при выборе текущего пункта меню.

Когда в команде ON SELECTION BAR nMenuItemNumber OF MenuName отсутствует командная строка - это означает отмену выполнения каких либо действий при выборе текущего пункта меню.

См. также

Другие Ссылки

Команды
Команда DEFINE BAR
Команда DEFINE POPUP
Команда ON BAR
Команда ON SELECTION POPUP

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ON SELECTION MENU Command

Visual FoxPro 9.0 Описание Языка
Команда ON SELECTION MENU
См. также Пример

Определяет команду, которая должна быть выполнена при выборе заголовка меню в меню типа Bar.

ON SELECTION MENU MenuBarName | ALL [Command]

Параметры

MenuBarName

Определяет имя меню типа bar, для которого задается команда, которая выполняется при выборе пункта данного меню. Вы можете указать имя пользовательского меню, созданного командой DEFINE MENU или системное меню Visual FoxPro, имя которого _MSYSMENU.
ALL

Указывает, что указанная команда выполняется при выборе любого пункта меню.
Command

Определяет команду, которая должна быть выполнена при выборе пункта менню. Используйте ON SELECTION MENU без указания параметра command для очистки закрепления к соответствующему меню.

Комментарии

Когда Вы создаете и активируете меню, разместите команду ON SELECTION MENU между командами DEFINE MENU и ACTIVATE MENU.

Для выполнения команды при выборе конкретного пункта меню используйте команду ON SELECTION PAD, которая имеет приоритет над рассматриваемой командой ON SELECTION MENU. Для активизации соответствующего заголовка меню используйте команду ON PAD .

Использование команды ON SELECTION MENU без параметра command очищает закрепление указанного меню к конкретной команде.

Пример

В рассматриваемом примере команда ON SELECTION MENU используется для выполнения пользовательской процедуры при выборе системного меню Visual FoxPro .

Текущее системное меню предварительно сохраняется в памяти следующей командой SET SYSMENU SAVE, все заголовки системного меню очищаются командой SET SYSMENU TO.

Команда DEFINE PAD создает несколько заголовков меню. Когда Вы выбираете один из заголовков меню, то выполняется пользовательская процедура, указанная в команде ON SELECTION MENU. Указанная процедура отображает выбранный Вами заголовок меню. Если Вы выбираете заголовок меню "Exit" , то восстанавливается сохраненное ранее системное меню Visual FoxPro.

Копировать код
*** Name this program ONMENU.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD padSys OF _MSYSMENU PROMPT '\<System' COLOR SCHEME 3 ;
   KEY ALT+S, ''
DEFINE PAD padEdit OF _MSYSMENU PROMPT '\<Edit' COLOR SCHEME 3 ;
   KEY ALT+E, ''
DEFINE PAD padRecord OF _MSYSMENU PROMPT '\<Record' COLOR SCHEME 3 ;
   KEY ALT+R, ''
DEFINE PAD padWindow OF _MSYSMENU PROMPT '\<Window' COLOR SCHEME 3 ;
   KEY ALT+W, ''
DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re\<ports' COLOR SCHEME 3 KEY ALT+P, ''
DEFINE PAD padExit OF _MSYSMENU PROMPT 'E\<xit' COLOR SCHEME 3 ;
   KEY ALT+X, ''
ON SELECTION MENU _MSYSMENU ;
   DO choice IN onmenu WITH PAD( ), MENU( )
PROCEDURE choice
PARAMETER gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
   ' from menu ' + gcMenu NOWAIT
IF gcPad = 'PADEXIT'
   SET SYSMENU TO DEFAULT
ENDIF

См. также

Другие ссылки

Команды
Команда ACTIVATE MENU
Команда DEFINE MENU
Команда ON PAD
Команда ON SELECTION PAD

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ON SELECTION PAD Command

Visual FoxPro 9.0 Описание Языка
Команда ON SELECTION PAD
См. также

Определяет команду, которая выполняется при выборе соответствующего раздела меню.

ON SELECTION PAD ИмяРазделаМеню OF ИмяМеню [Команда]

Параметры

ИмяРазделаМеню OF ИмяМеню

Определяет раздел меню
Команда

Определяет команду Visual FoxPro, которая будет выполнена при выборе указанного раздела меню.

Комментарии

Когда Вы выбираете указанный раздел меню система Visual FoxPro выполняет командную строку, заданную в команде ON SELECTION PAD. Обычно в команде ON SELECTION PAD используется команда DO для выполнения программы или процедуры при выборе указанного раздела меню. Когда Вы создаете и активируете Меню, разместите команду ON SELECTION PAD между командами DEFINE MENU и ACTIVATE MENU.

Используйте команду ON SELECTION MENU при выборе соответствующего раздела меню. Используйте команду ON PAD для активации меню слудующего уровня при выборе указанного раздела меню.

Для открепления команды от раздела меню используйте команду ON SELECTION PAD без указания команды выполнения.

См. также

Другие Ссылки

Команды
Команда ACTIVATE MENU
Команда DEFINE MENU
Команда DEFINE PAD
Команда ON PAD
Команда ON SELECTION MENU

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ON SELECTION POPUP Command

Visual FoxPro 9.0 Описание Языка
Команда ON SELECTION POPUP
См. также

Определяет команду, которая выполняется при выборе конкретного пункта меню или при выборе любого пункта меню (ALL).

ON SELECTION POPUP ИмяМеню | ALL [Команда]

Параметры

ИмяМеню

Определяет имя меню, с которым связывается соответствующая команда.
ALL

Если Вы включаете опцию ALL вместо имени меню система Visual FoxPro выполняет соответствующую команду при выборе любого пункта меню.
Команда

Определяет выполняемую командную строку.

Комментарии

Когда Вы выбираете пункт меню система Visual FoxPro выполняет команду, указанную в ON SELECTION POPUP. Когда Вы создаете и активируете меню разместите команду ON SELECTION POPUP между командами DEFINE POPUP и ACTIVATE POPUP.

Используйте ON SELECTION BAR для выполнения команды при выборе конкретного пункта меню. Команда ON SELECTION BAR имеет больший приоритет чем команда ON SELECTION POPUP. Используйте команду ON BAR для активации соответствующего меню при выборе соответствующего раздела меню.

Если в команде ON SELECTION POPUP не указана командная строка, это означает, что отменяется действие прикрепления к команде, выполненной предыдущей ON SELECTION POPUP для указанного имени меню.

См. также

Другие Ссылки

Команды
Команда ACTIVATE POPUP
Команда DEFINE BAR
Команда DEFINE POPUP
Команда ON BAR

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ON SHUTDOWN Command

Visual FoxPro 9.0 Описание Языка
ON SHUTDOWN , Команда
См. также
CollapseAll image

Определяет команду или программный модуль, который будет выполнен при попытке завершить работу системы Visual FoxPro, или ОС Microsoft Windows.

ON SHUTDOWN [Команда]

Параметры

Использование команды ON SHUTDOWN без параметра Команда очищает текущую установку команды ON SHUTDOWN.

Expand image Комментарии

Команда, которая задана в рассматриваемой ON SHUTDOWN выполняется при выполнении попытки выхода из системы Visual FoxPro. Если вы пытаетесь завершить работу ОС Microsoft Windows при активном приложении Visual FoxPro, от операционной системы управление передается в приложение Visual FoxPro, в команду, заданную при ON SHUTDOWN, она начинает выполняться.

Обычно, в качестве параметра в команде ON SHUTDOWN указывается команда DO для выполнения специального пользовательского программного модуля, который отображает Специальный Диалоговый бокс Exit. В рассматриваемом диалоговом боксе можно задать вопрос о продолжении выполнения пользовательского приложения в системе Visual FoxPro. Если приложение закрывается, то можно корректно закрыть файлы, сохранить параметры, выполнить корректную команду QUIT. Если приложение не закрывается, то можно вернуть управление обратно данному приложению.

Expand image См. также

Описание

QUIT, Команда
EXIT, Команда
ON EXIT MENU, Команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


OPEN DATABASE Command

Visual FoxPro 9.0 Справка по языку
Команда OPEN DATABASE
См.также Пример

Открывает базу данных.

OPEN DATABASE [FileName | ?] [EXCLUSIVE | SHARED] [NOUPDATE] [VALIDATE]

Параметры

FileName
Задает имя открываемой базы данных. Если вы не укажете расширение файла, Visual FoxPro автоматически выбирает расширение .dbc. Если вы опустите параметр FileName, отобразится диалог открытия файла (Open dialog box). Вы можете указывать путь как часть имени базы данных.
Замечание:
Visual FoxPro не сможет правильно распознать путь к базе данных, если имя диска или директории содержит восклицательный знак (!).
?

Отображает диалог открытия файла (Open dialog box) с помощью которого вы можете выбрать существующую базу данных или ввести имя для создания новой базы данных.
EXCLUSIVE

Открывает базу данных для монопольного использования. Если вы открываетет базу данных для монопольного использования, другие пользователи не смогут получить к ней доступ и попытка получить такой доступ будет завершаться ошибой. Если вы не укажете опцию EXCLUSIVE или SHARED, база данных будет открыта в соответствии с текущей установкой команды SET EXCLUSIVE.
SHARED

Открывает базу данных для совместного использования. Если вы открываетет базу данных для совместного использования, другие пользователи могут получить к ней доступ.
NOUPDATE

Указывает, что в базе данных не могут быть сделаны никакие изменения. Другими словами, база данных открывается с доступом только на чтение (read-only). Если вы опустите параметр NOUPDATE, база данных будет открыта с доступом на чтение-запись. Параметр NOUPDATE не оказывает влияния на режим работы с таблицами, включенными в базу данных. Для того, чтобы предотвратить изменение данных в таблицах, входящих в базу данных, включите параметр NOUPDATE в команду USE при открытии таких таблиц.
VALIDATE

Указывает, что Visual FoxPro необходимо проверить корректность ссылок в базе данных. Visual FoxPro проверяет, чтобы таблицы и индексные файлы, включенные в базу данных, были доступны на диске. Visual FoxPro также проверяет, чтобы в таблицах присутствовали поля, имена которых используются в индексных файлах и тегах.

Примечания

Когда база данных открывается, все таблицы, включенные в неё, становятся доступными. Однако при этом таблицы не открываются сами по себе. Вы должны открыть их, использую команду USE. (Таблицы могут быть открыты автоматически при использовании операторов SQL - прим. переводчика).

Когда выполняется команда USE, Visual FoxPro ищет таблицу в текущей базе данных. Если таблица не будет найдена, Visual FoxPro продолжит поиск в таблицах, не включенных в базу данных (free tables). Это означает, что если таблица в базе данных будет иметь имя, совпадающее с именем таблицы, не входящей в базу данных, таблица из состава базы данных будет найдена первой и открыта.

Вы не можете открыть базу данных, к которой другой пользователь получил монопольный доступ.

Если вы повторно откроете уже открытую базу данных (т.е. без её предварительного закрытия), для базы данных будут действовать установки, заданные командой OPEN DATABASE при первом открытии. Для изменения установок вы должны закрыть базу данных и вновь открыть её с нужным набором установок. Например, если вы открыли базу данных, указав опцию EXCLUSIVE, функция ISEXCLUSIVE() возвратит Истинно (.T.). Если вы для этой базы данных повторно выполните команду OPEN DATABASE и укажете в ней опцию SHARED, функция ISEXCLUSIVE() по-прежнему возвратит значение Истинно (.T.). Чтобы открыть базу данных для совместного использования, вы сначала должны закрыть её, а затем открыть с опцией SHARED.

Пример

В следующем примере команда OPEN DATABASE используется для открытия базы данных testdata. Команда DISPLAY DATABASE используется для отображения информации о таблицах, включенныхх в базу данных.

Скопировать код
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data\') && Устанавливаем путь к базе данных
OPEN DATABASE testdata && Открываем базу данных testdata
DISPLAY DATABASE && Отображаем информацию о таблицах

См.также

Команды
Команда ADD TABLE
Команда CLOSE DATABASES
Команда CREATE DATABASE
Функция DBUSED( )
Команда DISPLAY DATABASE
Команда FREE TABLE
Команда LIST DATABASE
Команда REMOVE TABLE

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


PACK Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда PACK
Смотрите также
CollapseAll image

Перманентно удаляет все записи помеченные на удаление в текущей таблице и уменшает размер таблицы и мемо файла (.fpt) связанного с таблицей.

Note Note

перед использованием команды PACK вы должны открыть таблицу эксклюзивно.

PACK [MEMO | DBF] [Tablename ] [IN nWorkarea | cTableAlias]

Параметры

MEMO

Удаляет неиспользованное пространство из мемо файла но не удаляет записи, отмеченные на удаления из таблицы. Информация в мемо полях сохраняется в связанной таблицы мемо файле (.fpt), с тем же именем что и таблица.

DBF

Удаляет записи, отмеченные на удаления из таблицы, но не затрагивает мемо файл.

Tablename

Определяет таблицу для выполнения команды PACK. Visual FoxPro открывает заданую таблицу, пакует, и закрывает ее.

IN nWorkArea | cTableAlias

Определяет рабочую область или псевдоним таблицы, над которым будет производить действие команда PACK. Используйте это выражение, чтобы определить рабочую область или таблицу вне текущей рабочей области.

Expand image Замечания

Когда вы используете команду PACK, Microsoft Visual FoxPro копирует все записи не помеченные на удаление во временную таблицу. После окончания выполнения команды PACK, Visual FoxPro удаляет оригинальную таблицу с диска и переименовывает временную таблицу с именем оригинальной. Если вы нажмете клавишу ESC для отмены команды PACK, временная таблица удаляется, а оригинальная остается без изменений. Оригинальная таблица также востанавливается если заканчивается дисковое пространство во время выполнения команды PACK.

Когда вы выдаете команду PACK без вЫражений MEMO и DBF, PACK затрагивает и таблицу и мемо файл.

PACK требует эксклюзивного доступа к таблице. Для получения дополнительной информации об открытии таблицы эксклюзивно в сети, смотрите Команда SET EXCLUSIVE.

Если текущая таблица имеет один или более открытых индексов, PACK перестраивает индексные файлы.

Caution note Внимание

Будте осторожны помечайте только те записи которые вам больше не нужны. после использывания команды PACK нету средств для востановления удаленных записей.

Если вы опуститк выражение IN, PACK работает в текущей рабочей области.

Когда вы используете PACK в таблицах содержащих автоувеличивающиеся поля, результирующая таблица не перстраивается, тоесть сохраняются существующие значения, и появляются промежутки после удаления записей. Для получения дополнительной информации, смотрите автоинкрементные поля значений в таблицах.

Если нету записей помеченных на удаление, PACK не изменяет таблицу или ее индекс.

Expand image Смотрите также

Справочное руководство

Команда DELETE - SQL
Команда DELETE
Функция DELETED( )
Команда RECALL
Команда SET EXCLUSIVE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PACK DATABASE Command

Visual FoxPro 9.0 Руководство по языку
Команда PACK DATABASE
См.также Пример

Удаляет в текущей базе данных записи, помеченные для удаления.

PACK DATABASE

Замечания

После удаления из базы данных таблицы или представления (view), а также в случае, когда структура базы данных или структура таблицы изменялась, база данных содержит записи, помеченные для удаления.

База данных должна быть открыта монопольно и в ней не должно быть открытых таблиц либо представлений.

Пример

В следующем примере команда PACK DATABASE используется для того, чтобы перестроить тестовую базу данных, удалив из неё записи, помеченные для удаления.

Скопировать код
CLOSE DATABASES
SET PATH TO (HOME(2) + 'data\') && Устанавливает путь к базе данных
OPEN DATABASE testdata && Открывает базу данных
PACK DATABASE && Пакует текущую базу данных

См.также

Команды
Команда CLOSE DATABASES
Команда DELETE DATABASE
Команда MODIFY DATABASE
Команда OPEN DATABASE
Команда SET DATABASE
Команда ALIDATE DATABASE

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


PARAMETERS Command

Visual FoxPro 9.0 Справка по языку
Команда PARAMETERS
См.также Пример

Присваивает значения данных из вызывающей программы частным (private) переменным или массивам

PARAMETERS Parameter1 [ AS type [ OF ClassLib ] ]
 [, Parameter2 [ AS type [ OF ClassLib ] ] ]

Параметры

PARAMETERS ParameterList

Определяет одну или более переменных или имена массивов для присваивания им данных. Используйте запятые для разделения параметров в списке ParameterList. Обычно вы можете передать максимум 26 параметров, однако в некоторых обстоятельствах вы можете передать 27 параметров.
Замечание:
Команда PARAMETERS должна описывать по крайней мере столько параметров, сколько использовалось при вызове программы, процедуры или функции, содержащей команду PARAMETERS. Если в списке команды PARAMETERS указано больше переменных и массивов, чем использовано при вызове, неиспользованные переменные и массивы будут инициализированы значением Ложно (.F.).

[ AS type [ OF ClassLib] ]

Определяет тип данных переменной или массива и библиотеку классов, содержащую описание типа type, на котором базируется переменная или массив. Вы можете использовать фразу AS для осуществления строгой типизации. Функциональность IntelliSense доступна для объектов и переменных только если они строго типизированы. Для дальнейшей информации обратитесь к Как сделать: Осуществление строгой типизации для классов, объектов и переменных программного кода.

Примечания

Когда команда PARAMETERS используется в программе, процедуре или пользовательской функции, вызываемой командой DO, она должна быть первой исполняемой командой в вызываемой программе, процедуре или пользовательской функции.

По умолчанию фраза WITH в команде DO обеспечивает передачу значений переменных и массивов в процедуры по ссылке (by reference). По умолчанию Visual FoxPro передает аргументы в пользоватеьские функции по значению (by value).

Замечание:
Для передачи в функции целого массива вы должны передать его по ссылке. Если вы не передадите массивы в пользовательскую функцию по ссылке, будет передан только первый элемент массива. Для дальнейшей информации обратитесь к Как сделать: Передача параметров по ссылке (by Reference).

Для получения дальнейшей информации обратитесь к Передача данных в параметры и Параметры в процедурах и функциях.

Пример

В следующем примере параметры передаются в программу обработки ошибок.

Скопировать код
ON ERROR DO errhand WITH ERROR( ), MESSAGE( ), ;
 MESSAGE(1),PROGRAM( ),LINENO( )
USE nodatabase
ON ERROR && восстановление системной программы обработки ошибок

PROCEDURE errhand
PARAMETERS gnError, gcMess, gnMess1, gcProg, gnLineNo
? 'Ошибка номер: ' + LTRIM(STR(gnError))
? 'Сообщение об ошибке: ' + gcMess
? 'Строка кода, содержащая ошибку: ' + gnMess1
? 'Номер строки кода, содержащей ошибку: '+ LTRIM(STR(gnLineNo))
? 'Имя программы, содержащей ошибку: ' + gcProg

См.также

Другие ресурсы

Команда LPARAMETERS
Команда FUNCTION
Команда PROCEDURE
Команда DO
Функция PCOUNT( )
Функция PARAMETERS( )
Команды

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


PLAY MACRO Command

Visual FoxPro 9.0 Справочное руководство по языку
PLAY MACRO Command
Смотрите также
CollapseAll image

Выполняет макрокоманду клавиатуры.

PLAY MACRO MacroName [TIME nDelay]

Параметры

MacroName

Задает имя макрокоманды клавиатуры, которую требуется выполнить.

TIME nDelay

Задает интервал времени между воспроизведением последовательных нажатий клавиш в составе макрокоманды клавиатуры. Этот интервал должен составлять от 0 до 10 секунд. Значением nDelay может быть число с дробной частью. Например, если задать значение nDelay равным 1,5 секунды, нажатия клавиш макрокоманды будут воспроизводиться с интервалом в полторы секунды..

Expand image Замечание

Вы можете сохранить последовательность нажатий клавиш в виде макрокоманды клавиатуры, выбрав Macros из меню Tools. Команда PLAY MACRO воспроизводит серию нажатий клавиш. Возможность воспроизведения макрокоманд клавиатуры в программах позволяет создавать автоматически выполняющиеся демонстрационные программы.

Если выдать команду PLAY MACRO в окне команд, она выполнится немедленно. Если команда PLAY MACRO выдана в программе, выполнение приостанавливается до тех пор, пока программа не выполнит команду, разрешающую ввод с клавиатуры. Примерами команд, ожидающих ввода, могут служить @ ... GET, BROWSE, CHANGE и EDIT.

Если несколько команд PLAY MACRO в программе ожидают выполнения, Visual FoxPro не будет выполнять их в порядке выдачи. Макрокоманды воспроизводятся в обратном порядке: первая команда PLAY MACRO выполнится последней, а последняя - первой.

Expand image Смотрите также

Справочное руководство

Команда CLEAR
Команда ON KEY LABEL
Команда RESTORE MACROS
Команда SAVE MACROS

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


POP KEY Command

Visual FoxPro 9.0 Описание Языка
POP KEY , Команда
См. также
CollapseAll image

Восстановливает установки (активность) "горячих" клавиш, созданных (определенных) с помощью команд ON KEY LABEL, которые ранее были сохранены в Стэке командой PUSH KEY.

POP KEY [ALL]

Параметры

ALL

Восстанавливает все текущие назначения клавиш, заданных с помощью команд ON KEY LABEL, и стирает данные назначения, выполненые командами ON KEY LABEL в Стэке памяти.

Expand image Комментарии

POP KEY, когда она используется в паре с соответствующей командой PUSH KEY, создает важный механизм управления "горячими" клавишами, или комбинациями клавиш, которые задаются командами ON KEY LABEL, в этом случае можно использовать несколько команд ON KEY LABEL, определяющих одну и туже клавишу, различные функциональные действия, которые регулируются парой команд PUSH KEY / POP KEY.

При корректном использовании комбинаций команд: POP KEY - восстановления клавиш и PUSH KEY - сохранения в Стэке памяти определений команд для клавиш не может значительно уменьшить память приложения.

См. дополнительно раздел ON KEY LABEL , а также следующий PUSH KEY , Команда.

Expand image См. также

Описание

ON KEY LABEL, Команда
ON( ), Функция

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


POP MENU Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда POP MENU
Смотрите также Пример
CollapseAll image

Восстанавливает заданное определение строки меню, которое было занесено в стек командой PUSH MENU.

POP MENU MenuBarName [TO MASTER]

Параметры

MenuBarName

Задает имя строки меню, определение которой извлекается из стека. Это может быть строка меню, определенная пользователем, или системная строка меню Visual FoxPro.

TO MASTER

Восстанавливает первое определение строки меню, помещенное в стек, а затем очищает стек.

Expand image Замечания

Команда POP MENU при использовании совместно с PUSH MENU дает возможность сохранить определение строки меню, внести изменения в определение строки меню, а затем восстановить определение строки меню в первоначальное состояние.

Строки меню заносятся в стек и извлекаются из него по схеме "последний вошел, первый вышел".

Определения меню используют память, потому чтобы удостовериться, что использование памяти вашего приложения не растет излишне, каждой команде POP MENU должна соответствовать команда PUSH MENU.

Expand image Пример

В следующем примере определение системной строки меню заносится в стек, а затем модифицируется. После этого восстанавливается первоначальное определение системных меню, извлеченное из стека.
CopyCode image Copy Code
PUSH MENU _MSYSMENU
SET SYSMENU TO _MFILE, _MEDIT
POP MENU _MSYSMENU

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE MENU
Команда DEFINE MENU
Команда POP POPUP
Команда PUSH MENU
Команда PUSH POPUP

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


POP POPUP Command

Visual FoxPro 9.0 Language Reference
Команда POP POPUP
See Also Example

Восстанавливает заданное определение меню, которое было занесено в стек командой PUSH POPUP.

POP POPUP MenuName

Параметры

MenuName

Задает имя меню, определение которого извлекается из стека. Это может быть пользовательское меню, созданное с помощью команды DEFINE MENU, или системное меню Visual FoxPro.

Примечание

Команда POP POPUP при мспользовании совместно с PUSH POPUP дает возможность сохранить определение меню, внести изменения в определение меню, а затем восстановить определение меню в первоначальное состояние.

Определения меню заносятся в стек и извлекаются из него по схеме "последний вошел, первый вышел".

Определения меню занимают память, так каждый POP POPUP должно иметь PUSH POPUP чтобы занимаемая приложением память использовалась оптимавльно.

Пример

В приведенном примере, создается меню с именем popExam. Меню помещается в стек и один пункт меню модифицируется. Затем оригинальное меню востанавливается из стека.
Copy Code
DEFINE POPUP popExam FROM 5,5
DEFINE BAR 1 OF popExam PROMPT 'One'
DEFINE BAR 2 OF popExam PROMPT 'Two'
DEFINE BAR 3 OF popExam PROMPT 'Three'
DEFINE BAR 4 OF popExam PROMPT 'Four'
ACTIVATE POPUP popExam NOWAIT

PUSH POPUP popExam
WAIT 'Popup pushed' WINDOW
RELEASE BAR 2 OF popExam
WAIT 'This is the modified popup' WINDOW

POP POPUP popExam
WAIT 'Popup popped, original popup restored' WINDOW
DEACTIVATE POPUP popExam
RELEASE POPUP popExam

Смотреть также

Другие ресурсы

Commands
ACTIVATE POPUP Command
DEFINE POPUP Command
POP MENU Command
PUSH MENU Command
PUSH POPUP Command

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


PRINTJOB ... ENDPRINTJOB Command

Visual FoxPro 9.0 Описание Языка
PRINTJOB ... ENDPRINTJOB, команда
См. также
CollapseAll image

Активирует параметры среды выполнения задания Печати.

PRINTJOB
 Commands
ENDPRINTJOB

Параметры

Commands

Определяются стандартные команды системы Visual FoxPro, которые выполняются в течении выполнения некоторого Задания Печати.

Expand image Комментарии

Группа команд PRINTJOB ... ENDPRINTJOB инициализирует системные переменные, значения которых влияют на выполнение распечатки некоторого документа. Данные системные переменные могут: отправлять на принтер некоторые управляющие коды, выполнять прогон листа перед или после распечатки очередного задания, определять "левый отступ" (левый край печати), задавать количество печатаемых копий текущего документа.

Часть команды: PRINTJOB выполняет следующее:

  • Направляет на печатающее устройство специальные управляющие коды, которые определены в системной переменной _PSCODE. Дополнительную информацию об управляющих кодах смотрите в разделе: Общее описание Системных Переменных или в технической документации по вашему Принтеру.

  • Выполняет прогон листа, если системная переменная _PEJECT имеет значение = BEFORE или BOTH.

  • Устанавливает значение системной переменной _PCOLNO = 0. Переменная _PCOLNO определяет левый отступ печати (начальная колонка печати) принтера.

Часть команды: ENDPRINTJOB выполняет следующее:

  • Направляет на печатающее устройство специальные управляющие коды, которые определены в системной переменной _PECODE. Вы можете восстановить параметры печатающего устройства, которые были актуальны до выполнения текущей команды PRINTJOB.

  • Выполняет прогон листа, если системная переменная _PEJECT имеет значение = AFTER или BOTH.

  • Повторяет Текущий цикл печати команды PRINTJOB указанное количество раз, которое определено в системной переменной _PCOPIES, которое, по-умолчанию, = 1. Значение системной переменной _PCOPIES определяет количество печатаемых Копий. Когда количество полученных копий документа достигает значения _PCOPIES, Visual FoxPro выходит из цикла печати. Текущий программный код продолжает выполняться с команды, следующей за командой ENDPRINTJOB.

Рассматриваемая Группа команд PRINTJOB ... ENDPRINTJOB может выполняться только в программном коде. Вы не можете использовать вложенные конструкции данных команд PRINTJOB ... ENDPRINTJOB.

Expand image См. также

Описание

ON PAGE, команда
Процессы Печати (Visual FoxPro)
PRINTSTATUS( ), функция

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PRIVATE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда PRIVATE
Смотрите также Пример
CollapseAll image

Скрывает определенные переменные или массивы, которые были определены в вызываемой программе из текущей программы. Есть две версии синтаксиса.

PRIVATE VarList
PRIVATE ALL[LIKE Skeleton | EXCEPT Skeleton]

Параметры

VarList

Определяет переменные или массивы для объявления приватными.

Одиночные буквы от A до J и M зарезервированы и не могут использоваться как имена переменных.

ALL LIKE Skeleton

PRIVATE скрывает все переменные и масивы названия которых соответствуют Skeleton, который может содержать подстановочные знаки - вопросительный знак (?) и звездочку (*).

ALL EXCEPT Skeleton

PRIVATE скрывает все переменные или массивы, если их названия не соответствуют Skeleton,который может содержать подстановочные знаки - вопросительный знак (?) и звездочку (*).

Expand image Замечания

Элементы в пределах VarList разделены запятыми. Сокрытие переменных созданных в программах верхнего уровня дает возможность переменным с тем же названием что и приватные переменные управляться в текущей программе, не затрагивая значения скрытых переменных. Как только программа, содержащая PRIVATE закончила выполнение, все переменные и массивы, которые были объявлены приватными, снова доступны.

PRIVATE не создает переменные; он просто скрывает переменные, объявленные в программах верхнего уровня от текущей програмы.

Expand image Пример

CopyCode image Copy Code
*** Program example demonstrating PRIVATE ***
SET TALK OFF
val1 = 10
val2 = 15

DO down
? val1, val2  && Displays 10, 100

PROCEDURE down
PRIVATE val1
val1 = 50
val2 = 100
? '   Val1   Val2'
? val1, val2  && Displays 50, 100
RETURN

Expand image Смотрите также

Справочное руководство

Команда DIMENSION
Команда FUNCTION
Команда LOCAL
Команда LPARAMETERS
Команда PARAMETERS
Функция PARAMETERS( )
Команда PROCEDURE
Команда PUBLIC

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PROCEDURE Command

Visual FoxPro 9.0 Language Reference
Команда PROCEDURE
Смотреть также Пример

Создает определяемую пользователем процедуру в программном файле. Есть две версии синтаксиса.

PROCEDURE ProcedureName
   [ LPARAMETERS parameter1 [ ,parameter2 ] ,... ]
      Commands
   [ RETURN [ eExpression ] ]
[ENDPROC]
PROCEDURE ProcedureName( [ parameter1 [ AS para1type ][ ,parameter2
[AS para2type ] ] ,...] ) [ AS returntype ]
      Commands
   [ RETURN [ eExpression ] ]
[ENDPROC]

Параметры

PROCEDURE ProcedureName

Определяет начало пользовательской процедуры и задает имя процедуры. ProcedureName должен начаться с буквенного символа или символа подчеркивания и может содержать до 254 символов с любой комбинацией символов, чисел, и символов подчеркивания.
[ LPARAMETERS parameter1 [ , parameter2] ,... ] ]

Создает локальные переменные памяти или массивы в вызываемой программе, процедуре или пользовательской функции. Вы можете также использовать ключевое слово PARAMETERS вместо LPARAMETERS, чтобы принять скрытые от программы параметры. Вы можете передать максимум 26 параметров для процедуры. Для подробной информации, см. Команда LPARAMETERS и Команда PARAMETER.
( [ parameter1[ AS para1type][ , parameter2[ AS para2type] ],...] )

Связывает данные вызувающей программы с локальными переменными или массивами. Вы можете использовать AS para1type предложение, чтобы определить тип данных переменной.
Обратите внимание:
Включение параметров в круглых скобках (()) непосредственно после имени процедуры указывает, что параметры имеют локальную область действия в процедуре.

[ AS returntype]

Определяет тип данных возвращаемого значения. Вы можете использовать предложение AS, чтобы осуществить строгий контроль типов. Для подробной информации, см. Как: Строгий контроль типов Орудия для Класcв, Объекта и перемменнй кода.
Commands

Определяет команды Visual FoxPro, образующих процедур
[ RETURN [ eExpression] ]

Возвращает управление к вызывающей программе или к другой программе. eExpression выражение, возвращаемое в вызывающую программу.
Комментарии:
Вы можете включить команду RETURN где-нибудь в процедуру, чтобы возвратить управление к вызывающей программе или к другой программе и определить возвращенное процедурой значение. Если Вы не включаете команду RETURN, Визуальный FoxPro выполняет неявный RETURN автоматически, при завершении процедуры. Если опустить команду RETURN или выполнен неявный RETURN, вызывающей программе будет автоматически возвращено значение "истина" (.T.). Для подробной информации, см. Команда RETURN.

[ ENDPROC ]

Указывает на окончание структуры PROCEDURE.
Note:
ENDPROC ключевое слово является дополнительным, потому что функция завершает выполнение, когда сталкивается с другой командой PROCEDURE, командой FUNCTION или концом программного файла. Вы не можете включить нормальный выполнимый код программы после определяемых пользовательских процедур в программном файле. Только другие определяемые пользователем процедуры, функции, и определения класса могут следовать за первой командой PROCEDURE ИЛИ FUNCTION в файле.

Комментарии

По умолчанию, параметры передаются в процедуру по значения. Для информации о передаче переменных в пользовательскую функцию по ссылке, см.Команду SET UDFPARMS .

Когда вы пытаетесь выполнить процедуру с помощью команды DO ProcedureName, Visual FoxPro ищет заданную процедуру по следующем порядке:

  1. В программе, содержащей команду DO.

  2. В текущей базе данных.

  3. В файлах процедур, открытых по команде SET PROCEDURE.

    Для подробной информации, см. Команда SET PROCEDURE.

  4. В программах, принадлежащих цепочке выполняемых файлов.

    Visual FoxPro просматривает программные файлы, начиная с последней выполнявшейся программы и кончая первой выполнявшейся программой.

  5. В файлах автономных программ.

Если программный файл найден, Visual FoxPro выполняет эту программу. Если файла программы с нужным именем найти не удается, Visual FoxPro возвращает сообщение об ошибке.

Чтобы выполнять процедуру в определенном файле, включите предложение IN в команду DO.

Для информации об использовании команды PROCEDURE при создании классов, см.Команда DEFINE CLASS.

Пример

Следующий пример иллюстрирует, как можно вызвать процедуру, чтобы выполнить дискретную задачу типа создания журнале при входе. Процедура открывает журнал (в данном примере подразумевается, что файл журнала существовует), создает вход, основанный в информации, прошел в параметрах, выписывает вход, и закрывает файл. Процедуру вызывают командой DO, подобно примеру описанному выше.

Копировать код
DO MakeLogEntry WITH "Logged in", "jsmith"

PROCEDURE MakeLogEntry
 PARAMETERS message, username
 pnHandle = FOPEN("LOG2.TXT",2)     && Файл должен существовать!!!
 pnSize = FSEEK(pnHandle,0,2)           && Перемещаем указатель в конец файла
 logEntry = dtoc(date())+","+time()+","+username+","+message
 =FPUTS(pnHandle, logEntry)
 =FCLOSE(pnHandle)  && Закрываем файл
ENDPROC

Следующий пример показывает, как можно вызвать процедуру, чтобы возвратить значение.

Копировать код
SET CENTURY ON
? longdate(({^1998-02-16}))  && Displays Monday, February 16, 1998

PROCEDURE longdate
 PARAMETER mdate
 RETURN CDOW(mdate) + ", " + MDY(mdate)
ENDPROC

Смотреть также

Ссылка

SYS(16) - имя выполняющегося файла программы

Другие ресурсы

Команда FUNCTION
Функция PARAMETERS( )
Commands

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


PUBLIC Command

Visual FoxPro 9.0 Описание Языка
PUBLIC, команда
См. также Пример
CollapseAll image

Определяет имена глобальных переменных или массивов. Существует две синтаксических конструкции данной команды.

PUBLIC MemVarList
PUBLIC [ ARRAY ] ArrayName1( nRows1 [ , nColumns1 ] ) [, ArrayName2( nRows2 [, nColumns2 ] ) ] ...
 [AS type [OF ClassLib]]

Параметры

PUBLIC MemVarList

Определяет одну или несколько (список) переменных памяти (имен переменных), которые требуется инициализировать как глобальные переменные. Имена Переменных в списке MemVarList перечисляются через запятую.

Одиночные символы, такие как "A" - "J", а также "M", являются зарезервированными, и не могут служить именами переменных.

PUBLIC [ ARRAY ] ArrayName1( nRows1 [, nColumns1 ] ) [, ArrayName2( nRows2 [, nColumns2] )] ...

Определяет один или несколько массивов глобальных переменных. Дополнительную информацию смотрите в разделе: DIMENSION, команда.

[ AS type [OF ClassLib] ]

Определяет тип создаваемой глобальной переменной памяти или массива, который описывается в соответствующей библиотеке классов, содержащей данный подкласс type.

В опции AS могут быть указаны только базовые типы. Инструмент подсистемы IntelliSense работает только для явно описанных ранее типов подклассов. Дополнительную информацию смотрите в разделе: Как: Закрепить частоиспользуемую типизацию Классов, Объектов и Переменных.

Expand image Комментарии

Область видимости Глобальных переменных - текущая сессия системы Visual FoxPro.

Глобальные переменные и массивы, созданные командой PUBLIC, имеют начальное значение =False (.F.), за исключением глобальных переменных с именами FOX, FOXPRO, которые имеют значения = True (.T.). В зависимости от используемой вами версии Visual FoxPro вы можете использовать указанные глобальные переменные FOX и FOXPRO для создания специальных конструкций выполнения некоторых фрагментов программного кода.

Note Примечание

Глобальные переменные FOX и FOXPRO использовались в младших версиях FoxBASE и FoxPro, соответственно.

Если вы используете глобальные переменные в программном коде, ранее вы должны определить их в данной команде PUBLIC. Если вы присвоите некоторой переменной определенное значение (неявно объявите ее глобальной), далее попытаетесь описать ее в команде PUBLIC, Visual FoxPro генерирует сообщение об ошибке.

Переменные и массивы переменных, создаваемые в Командном Окне, автоматически принимают статус Глобальных переменных.

Expand image Пример

CopyCode image Копировать Код
SET TALK OFF
PUBLIC val1,val2
val1 = 10
val2 = 15

DO down
? val1
? val2

RELEASE ALL && Releases private variables only
DISPLAY MEMORY LIKE val?
RELEASE val1,val2 && Public variables must be released explicitly
DISPLAY MEMORY LIKE val?

PROCEDURE down
PRIVATE val1
val1 = 50
val2 = 100
? val1
? val2
RETURN

Expand image См. также

Описание

LOCAL, команда
PRIVATE, команда

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


PUSH KEY Command

Visual FoxPro 9.0 Описание Языка
PUSH KEY, команда
См. также
CollapseAll image

Сохраняет все текущие установки Команд типа ON KEY LABEL в памяти Стэка.

PUSH KEY [CLEAR]

Параметры

CLEAR

При этом очищает все текущие установки подобных команд из Стэка Памяти.

Expand image Комментарии

PUSH KEY, при использовании совместно с командой POP KEY, позволяет вам создавать некоторый технологический механизм сохранять текущие назначения - установки команд типа ON KEY LABEL, переопределять их (клавиатурные комбинации - некоторые Макро), и восстанавливать прежние назначения используемых клавиш.

Например, вы можете определить новый набор МакроКоманд с помощью нескольких команд ON KEY LABEL, когда открываете для работы системное окно Browse. Перед открытием указанного окна Browse, используйте команду PUSH KEY - для сохранения в стэке памяти текущие назначения команд ON KEY LABEL. После этого, вы можете переопределить или назначить новые МакроКоманды с помощью команд ON KEY LABEL, которые будут использоваться при открытом окне Browse. После закрытия указанного окна Browse, вы можете восстановить из стэка памяти прежние установки команд ON KEY LABEL при помощи команды POP KEY.

Установки команд ON KEY LABEL размещаются в стеке памяти по принципу: Последний пришел - Первым обслужен (оружейный магазин).

С помощью системных команд DISPLAY STATUS и LIST STATUS вы можете просмотреть текущие назначения команд ON KEY LABEL. Назначенные МакроКоманды размещаются в стэке памяти в таком порядке, что каждой команде PUSH KEY должна соответствовать соответствующая команда POP KEY, это обеспечивает оптимальные условия использования оперативной памяти и правильность обслуживания стэка.

Expand image См. также

Описание

ON KEY LABEL, команда
ON( ), функция
POP KEY, команда

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PUSH MENU Command

Visual FoxPro 9.0 Language Reference
Команда PUSH MENU
Смотреть также Пример

Помещает определение строки меню в стек памяти, содержащий определения строк меню.

PUSH MENU MenuBarName

Parameters

MenuBarName

Задает имя строки меню, определение которой помещается в стек. Это может быть строка меню, определенная пользователем, или системная строка меню Visual FoxPro.

Комментарии

Команда PUSH MENU при совместном использовании с командой POP MENU дает возможность сохранить определение строки меню, внести изменения в определение строки меню, а затем восстановить определение строки меню в его первоначальное состояние.

Определения строк меню заносятся в стек и извлекаются из него по схеме "последний вошел, первый вышел".Определения меню занимает память, каждый PUSH MENU должен иметь соответствующий POP МЕНЮ, для оптимального использование памяти вашего приложения.

Пример

В следующем примере системная строка меню Visual FoxPro заносится в стек, а затем модифицируется. После этого исходная системная строка меню восстанавливается путем извлечения из стека.
Копировать код
WAIT WINDOW 'Press a key to push the system menu bar'
PUSH MENU _MSYSMENU
WAIT WINDOW 'Press a key to change the system menu bar'
SET SYSMENU TO _MFILE, _MEDIT
WAIT WINDOW 'Press a key to restore the system menu bar'
POP MENU _MSYSMENU

Смотреть также

Другие ресурсы

Команды
Команда ACTIVATE MENU
Команда DEFINE MENU
Команда SET SYSMENU

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


PUSH POPUP Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда PUSH POPUP
Смотрите также Пример
CollapseAll image

Помещает определение меню в стек памяти, в котором хранятся определения меню.

PUSH POPUP MenuName

Параметры

MenuName

Задает имя меню, определение которого помещается в стек. Это может быть и имя системного меню Visual FoxPro.

Expand image Замечания

Команда POP POPUP при совместном использовании с командой PUSH POPUP дает возможность сохранить определение меню, внести изменения в определение меню, а затем восстановить определение меню в его первоначальное состояние.

Определения меню заносятся в стек и извлекаются из него по схеме "последний вошел, первый вышел". Определения меню используют память, потому чтобы удостовериться, что использование памяти вашего приложения не растет излишне, каждой команде PUSH POPUP должна соответствовать команда POP POPUP.

Expand image Пример

В следующем примере создается меню popExam. Определение меню заносится в стек, а затем модифицируется. После этого извлечением из стека восстанавливается исходное меню.
CopyCode image Copy Code
DEFINE POPUP popExam FROM 5,5
DEFINE BAR 1 OF popExam PROMPT 'One'
DEFINE BAR 2 OF popExam PROMPT 'Two'
DEFINE BAR 3 OF popExam PROMPT 'Three'
DEFINE BAR 4 OF popExam PROMPT 'Four'
ACTIVATE POPUP popExam NOWAIT
PUSH POPUP popExam
WAIT 'Original Popup' WINDOW
RELEASE BAR 2 OF popExam
WAIT 'Modified Popup. Original Popup is pushed to a stack.' WINDOW
POP POPUP popExam
WAIT 'Original Popup restored' WINDOW
DEACTIVATE POPUP popExam
RELEASE POPUP popExam

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE POPUP
Команда DEFINE POPUP
Команда POP POPUP

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


QUIT Command

Visual FoxPro 9.0 Справочник Языка
QUIT Команда
См. Также

Завершает текущий сеанс Visual FoxPro и возвращает управление операционной системе.

QUIT

Замечания

Всегда используйте QUIT, чтобы завершить сеанс Visual FoxPro. Если Вы выключаете компьютер без применения QUIT, открытые файлы могут повредиться и данные утратиться, а временные рабочие файлы, которые должны обычно удаляться, могут остаться на диске.

См. Также

Другие Ресурсы

Команды
CANCEL Команда
RESUME Команда
RUN Команда
SUSPEND Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RD | RMDIR Command

Visual FoxPro 9.0 Справочник Языка
RD | RMDIR Команда
См. Также Пример

Удаляет каталог или папку с диска.

RD cPath | RMDIR cPath

Параметры

cPath

Определяет имя и местоположение каталога или папки для удаления с диска.

Замечания

Visual FoxPro генерирует сообщение об ошибке, если Вы пытаетесь удалить непустой каталог или папку.

Пример

Следующий пример использует MKDIR, чтобы создать новый каталог mytstdir . Затем используется CHDIR для перехода в новый каталог. Используется GETDIR( ), чтобы вывести структуру каталога, и затем используется RMDIR, чтобы удалить недавно созданный каталог. Затем используется GETDIR( ), чтобы вновь вывести структуру каталога.

Copy Code
SET DEFAULT TO HOME( )  && Restore Visual FoxPro directory
MKDIR mytstdir  && Create a new directory
CHDIR mytstdir  && Change to the new directory
= GETDIR( )  && Display the Select Directory dialog box
SET DEFAULT TO HOME( )  && Restore Visual FoxPro directory
RMDIR mytstdir  && Remove the new directory
= GETDIR( )  && Display the Select Directory dialog box

See Also

Other Resources

Commands
CD | CHDIR Command
GETDIR( ) Function
HOME( ) Function
MD | MKDIR Command
SET DEFAULT Command
SET PATH Command
SYS(5) - Default Drive
SYS(2003) - Current directory
SYS(2004) - Visual FoxPro Start Directory

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


READ Command

Visual FoxPro 9.0 Описание Языка
READ, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


READ EVENTS Command

Visual FoxPro 9.0 Описание Языка
READ EVENTS, Команда
См. также
CollapseAll image

Начинает обработку Событий.

READ EVENTS

Expand image Комментарии

После выполнения команды READ EVENTS, система Visual FoxPro начинает обработку Событий в выполняемом Приложении.

Выполнение команды CLEAR EVENTS останавливает обработку Событий. После выполнения команды CLEAR EVENTS, выполнение программы продолжается начиная со строки программного модуля, следующей за строкой READ EVENTS.

Примечание. В один момент выполнения программы может быть активна только одна команда READ EVENTS. Если активна команда READ EVENTS, то другие, аналогичные команды READ EVENTS не являются активными.

Expand image См. также

Описание

CLEAR, Команды
Дизайнер Форм
DOEVENTS, Команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RECALL Command

Visual FoxPro 9.0 Описание Языка
RECALL, команда
См. также Пример
CollapseAll image

Снимает Отметку "удаления" записи в выбранной таблице; (восстанавливает запись).

RECALL [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
   [IN nWorkArea | cTableAlias]

Параметры

Scope

Определяет диапазан записей для восстановления. По-умолчанию, восстанавливается текущая запись (NEXT 1).

В этом случае, только те записи, которые удовлетворяют указанному диапазону, - восстанавливаются. Допустимые значения для данной опции: ALL, NEXT nRecords, RECORD nRecordNumber, и REST.

См. дополнительно раздел Опция Scope (область действия, регион).

FOR lExpression1

Определяет, что только те записи восстанавливаются, для которых выражение lExpression1 = true (.T.). Данная опция позволит вам отсеить (отфильтровать) нежелательные записи.

Технология Rushmore Query Optimization применима для выполнения команды RECALL FOR lExpression1, если данное логическое выражение оптимизируемо. Для повышения производительности при выполнении данных команд, нужно использовать оптимизируемые условные выражения в конструкции FOR.

См. дополнительно разделы SET OPTIMIZE, команда и Использование технологии Rushmore Query Optimization для ускорения доступа к Данным.

WHILE lExpression2

Определяет логическое условие, определяющее, что записи восстанавливаются до тех пор, пока lExpression2 = true (.T.).

NOOPTIMIZE

Блокирует технологию оптимизации Rushmore при выполнении команды RECALL

См. дополнительно разделы SET OPTIMIZE, команда и Использование технологии Rushmore Query Optimization для ускорения доступа к Данным.

IN nWorkArea | cTableAlias

Определяет номер рабочей области или алиас таблицы, для которой выполняется текущая команда RECALL. Данная опция используется для таблиц, открытых в других рабочих областях, не в текущей.

Expand image Комментарии

Команда RECALL используется для Восстановления (снятия отметки "удаления") тех записей, которые еще не удалены "физически" с использованием команд PACK или ZAP.

Caution note Обратите Внимание

Как только файл таблицы упакован (pack), все записи, отмеченные на удаление, исчезают навсегда.

Для удаления записей (установки флага "удаления") можно использовать команды DELETE или DELETE – SQL, а также использовать опцию Delete Records из меню Table , когда таблица открыта в системном окне Browse или Edit . Восстановление записей (снятие отметки "удалена") осуществляется командой RECALL, или соответствующим пунктом Recall Records из меню Record, когда активны системные окна Browse или Edit.

Если отсутствует опция IN, команда RECALL работает с текущей рабочей областью.

Expand image Пример

В представленном примере: открывается таблица customer, находящаяся в базе данных testdata . С помощью команды DELETE – SQL - удаляются все записи, для которых значение поля country = "USA". Данные записи отображаются на экране; за тем - все записи восстанавливаются командой RECALL ALL.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens Customer table

DELETE FROM customer WHERE country = 'USA'  && Mark for deletion
CLEAR
LIST FIELDS company, country FOR DELETED( ) && List marked records
RECALL ALL  && Unmark all records marked for deletion

Expand image См. также

Описание

DELETE, команда
DELETE - SQL, команда
PACK, команда
SET DELETED, команда
ZAP, команда

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


REINDEX Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда REINDEX
Смотрите также Пример
CollapseAll image

Перестраивает открытые индексные файлы.

REINDEX обновляет все индексные файлы, открытые в выбранной рабочей области.

REINDEX [COMPACT]

Параметры

COMPACT

Преобразует нормальные единичные индексные (.idx) файлы в компактные .idx файлы.

Expand image Примечания

Индексные файлы становятся устаревшими в случае, если вы открываете таблицу и произвлдите изменения в полях, являющихся ключевыми полями, не открывая соответствующего индексного файла. Когда индексный файл становится устаревшим, вы можете обновить его с помощью переиндексирования.

Visual FoxPro распознает каждый тип индексного файла: составной индексный (.cdx) файл, структурный .cdx файл и одиночный индексный (.idx) файл), и ренидексирует их соответствующим образом. Он обновляет все тэги в .cdx файлах и обновляет структурный файл .cdx, который открываются одновременно с открытием таблицы.

Note Совет

Для снижения нагрузки на сеть во время операции REINDEX, вы моежте использовать SYS(3050) - Set Buffer Memory Size для устнановки размера буффера памяти, способного вместить полную таблицу. Во время первого прохода, страница буфферируется локально и последующие проходы не пытаются прочесть буфферированные данные с удаленного компьютера.

Любые индексные файлы, созданные с ключевым словом UNIQUE команды INDEX или с SET UNIQUE ON сохраняют их UNIQUE статус во время реиндексирования.

Для переиндексирования с помощью команды REINDEX устаревших индексных файлов используйте приведенные ниже команды:

CopyCode image Скопировать код
USE TableName INDEX OutdatedIndexNames
REINDEX

Expand image Пример

In the following example, ISEXCLUSIVE( ) verifies that the customer table was opened for exclusive use. The table is not reindexed since the one in the current work area was not opened for exclusive use.

 В приведенном ниже примере, проверяет, что таблица была открыта для эксклюзивного (монопольного) использования. Таблица не переиндексируется то тех пор, пока она не находится в выбранной рабочей области и не открыта для эксклюзивного (монопольного) использования.
CopyCode image Скопировать код
cExclusive = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SET PATH TO (HOME(2) + 'Data\')
OPEN DATA testdata  && открывает тестовую базу данных
USE Customer     && не открывается эксклюзивно (для монопольного использования)
USE Employee IN 0 EXCLUSIVE    && открывается  эксклюзивно (для монопольного использования)в другой рабочей области

IF ISEXCLUSIVE( )
 REINDEX  && может быть выполнено только при условии, что таблица открыта эксклюзивно (для монопольного использования)
ELSE
  WAIT WINDOW 'Таблица не открыта в монопольном режиме'
ENDIF

SET EXCLUSIVE &cExclusive

Expand image Смотрите также

Справочное руководство

Команда INDEX
Команда SET INDEX
Команда SET EXCLUSIVE
Команда SET UNIQUE
Обзор функций SYS()
Команда USE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


RELEASE BAR Command

Visual FoxPro 9.0 Описание Языка
RELEASE BAR , Команда
См. также
CollapseAll image

Исключает указанный пункт меню или все пункты меню для заданного Меню.

RELEASE BAR nMenuItemNumber OF MenuName | ALL OF MenuName

Параметры

nMenuItemNumber OF MenuName

Определяет номер пункта меню, который будет выгружен из памяти для заданного пользовательского меню. Для исключения пункта системного меню Microsoft Visual FoxPro, вместо номера пункта меню укажите соответствующее системное имя пункта меню Visual FoxPro nMenuItemNumber. См. дополнительно раздел Имена Системных меню и пунктов.

ALL OF MenuName

Данная форма этого параметра исключает все пункты заданного Пользовательского меню, выгружает их из памяти. Опция ALL не может использоваться для исключения пунктов Системного меню Visual FoxPro.

Expand image См. также

Описание

DEFINE BAR, Команда
RELEASE PAD, Команда
Имена Системных Меню и Пунктов

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RELEASE CLASSLIB Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RELEASE CLASSLIB
Смотрите также Пример
CollapseAll image

Закрывает библиотеку визуальных классов .vcx, содержащую определения классов.

RELEASE CLASSLIB ClassLibraryName1 | ALIAS AliasName1
   [, ClassLibraryName2 | ALIAS AliasName2 ...]
   [IN APPFileName | EXEFileName]

Параметры

ClassLibraryName1 | ALIAS AliasName1

Задает имя файла или псевдоним библиотеки визуальных классов, которую следует закрыть.

ClassLibraryName2 | ALIAS AliasName2 ...

Задает имя файла или псевдоним дополнительной библиотеки визуальных классов, которую следует закрыть.

IN APPFileName | EXEFileName

Задает файл приложения (.app) Visual FoxPro или выполняемый файл (.exe) содержащий библиотеку визуальных класов.

Expand image Справочное руководство

Библиотеки визуальных классов .VCX открываются с помощью команды SET CLASSLIB. После того как библиотека открыта, к содержащимся в ней определениям классов можно обращаться из программ и из окна команд.

Чтобы закрыть все открытые библиотеки визуальных классов, выдайте команду SET CLASSLIB TO без аргументов.

Expand image Пример

В следующем примере команда CREATE CLASSLIB создает библиотеку визуальных классов myclslib. Создается класс myform на основе базового класса Form системы Visual FoxPro, и этот класс заносится в библиотеку визуальных классов myclslib. Команда SET CLASSLIB открывает библиотеку визуальных классов myclslib, чтобы можно было пользоваться содержащимися в ней классами. Затем команда RELEASE CLASSLIB закрывает библиотеку визуальных классов myclslib.
CopyCode image Copy Code
CREATE CLASSLIB myclslib     && Creates a new .VCX visual class library
CREATE CLASS myform OF myclslib AS "Form"  && Creates new class
SET CLASSLIB TO myclslib ADDITIVE     && Opens MyClsLib.VCX
RELEASE CLASSLIB myclslib

Expand image Смотрите также

Справочное руководство

Команда ADD CLASS
Команда CREATE CLASS
Команда CREATE CLASSLIB
Команда MODIFY CLASS
Команда REMOVE CLASS
Команда RENAME CLASS
Команда SET CLASSLIB

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RELEASE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RELEASE
Смотрите также
CollapseAll image

Удаляет переменные памяти и массивы из памяти. Вот несколько версий синтаксиса.

RELEASE MemVarList

RELEASE ALL [EXTENDED]

RELEASE ALL [LIKE Skeleton | EXCEPT Skeleton]

Параметры

RELEASE MemVarList

Задает переменные памяти и массив, освобождаемые из памяти. Имена переменных памяти и массивов следует разделять запятыми.

RELEASE ALL

Освобождает из памяти все переменные памяти и массивы.

EXTENDED

Если данное предложение используется в программе, оно задает освобождение всех глобальных переменных.Команда RELEASE ALL, выданная в программе, не освобождают глобальные переменные.

LIKE Skeleton | EXCEPT Skeleton

Освобождает из памяти все переменные памяти и массивы, имена которых подходят к заданному шаблону, , или все переменные памяти и массивы, кроме тех, имена которых подходят к указанному шаблону. Skeleton может включать символы подстановки ? и *. Команды RELEASE ALL LIKE и RELEASE ALL EXCEPT выданные в программе, не освобождают глобальные переменные.

Expand image Смотрите также

Reference

Команда CLEAR
Команда DIMENSION
Команда PRIVATE
Команда PUBLIC
Команда STORE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RELEASE LIBRARY Command

Visual FoxPro 9.0 Справка по языку
Команда RELEASE LIBRARY
См.также

Удаляет из памяти одну внешнюю библиотеку API.

RELEASE LIBRARY LibraryName

Параметры

LibraryName

Указывает имя библиотеки API для удаления из памяти.

Примечания

Используйте команду SET LIBRARY TO для удаления из памяти всех API-библиотек. Внешняя библиотека программ API загружается в память посредством команды SET LIBRARY. Для получения дальнейших сведений о библиотеках программ API см. команду SET LIBRARY.

См.также

Команды
Команда SET LIBRARY
Библиотека программ API A-Z
Библиотека программ API по категориям

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RELEASE MENUS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RELEASE MENUS
Смотрите также
CollapseAll image

Удаляет из памяти строки меню, определенные пользователем.

RELEASE MENUS [MenuBarNameList [EXTENDED]]

Параметры

MenuBarNameList

Задает строки меню, освобождаемые из памяти. Имена строк меню необходимо разделять запятыми.

EXTENDED

Освобождает вместе со строкой меню все подчиненные меню, заголовки меню, элементы меню и все связанные с ней команды ON SELECTION BAR, ON SELECTION MENU, ON SELECTION PAD и ON SELECTION POPUP.

Expand image Замечания

Активная строка меню перед освобождением из памяти должна быть предварительно деактивизирована с помощью команды DEACTIVATE MENU.

Если выдать команду RELEASE MENUS без аргументов, из памяти будут удалены все пользовательские строки меню.

Expand image Смотрите также

Reference

Команда DEFINE MENU
Команда ON SELECTION BAR
Команда DEACTIVATE MENU
Команда ON SELECTION MENU
Команда ON SELECTION PAD
Команда ON SELECTION POPUP

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RELEASE PAD Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RELEASE PAD
Смотрите также Пример
CollapseAll image

Удаляет из памяти конкретный заголовок меню или все заголовки меню.

RELEASE PAD MenuTitleName OF MenuBarName | ALL OF MenuBarName

Параметры

MenuTitleName OF MenuBarName

Задает заголовок меню, удаляемый из памяти.

Вы можете удалить заголовок меню из системной строки меню Visual FoxPro, задав его имя в аргументе MenuTitleName. Например, команда RELEASE PAD _MEDIT OF _MSYSMENU удаляет заголовок меню Edit из системной строки меню Visual FoxPro.

ALL OF MenuBarName

Указывает, что из памяти удаляются все заголовки меню в пользовательской строке меню. Предложение ALL нельзя использовать для удаления заголовков меню из системной строки меню Visual FoxPro.

Expand image Пример

В следующем примере из системной строки меню удаляется заголовок меню Window.
CopyCode image Copy Code
PUSH MENU _MSYSMENU
RELEASE PAD _MSM_WINDO OF _MSYSMENU  && Removes Window menu title

WAIT WINDOW 'Press a key to restore the default menu'
POP MENU _MSYSMENU  && Restore default Visual FoxPro menu system

Expand image Смотрите также

Reference

Команда DEFINE PAD
Команда RELEASE BAR
System Menu Names

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RELEASE POPUPS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RELEASE POPUPS
Смотрите также
CollapseAll image

Удаляет из памяти конкретное меню или все меню.

RELEASE POPUPS [MenuNameList [EXTENDED]]

Параметры

MenuNameList

Задает меню, освобождаемые из памяти. Имена меню следует разделять запятыми.

Можно также освобождать системные меню Visual FoxPro, которые открываются из системной строки меню Visual FoxPro. Чтобы освободить системное меню Visual FoxPro, задайте внутреннее имя этого системного меню (_MFILE, _MEDIT, _MDATA и т.д.). Для восстановления стандартной системной строки меню и самих системных меню используйте команду SET SYSMENU TO DEFAULT.

EXTENDED

Освобождает меню, его элементы и все команды, закрепленные за ними с помощью ON SELECTION POPUP и ON SELECTION BAR.

Expand image Замечания

Прежде чем освобождать из памяти активное меню, его необходимо деактивизировать с помощью команды DEACTIVATE POPUP.

Если выдать команду RELEASE POPUPS без аргументов, из памяти будут удалены все меню, определенные пользователем.

Expand image Смотрите также

Reference

Команда DEFINE POPUP
System Menu Names
Команда SET SYSMENU

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RELEASE PROCEDURE Command

Visual FoxPro 9.0 Справка по языку
Команда RELEASE PROCEDURE
См.также

Закрывает процедурные файлы, открытые командой SET PROCEDURE.

RELEASE PROCEDURE FileName1 [, FileName2 ...]

Параметры

FileName1 [, FileName2 ...]

Указывают имя процедурного файла или набора процедурных файлов для закрытия.

Примечания

Процедурные файлы открываются посредством команды SET PROCEDURE. Когда процедурный файл открыт, процедуры, находящиеся в нем, доступны для программ и исполнения из окна команд (Command window) Visual FoxPro.

Для закрытия открытого процедурного файла используйте команду SET PROCEDURE TO без аргументов.

См.также

Команды
Команда SET PROCEDURE
Команда RELEASE BAR
Команда RELEASE

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RELEASE WINDOWS Command

Visual FoxPro 9.0 Справочник Языка
RELEASE WINDOWS Команда
См. Также

Удаляет определяемые пользователем окна или системные окна Visual FoxPro из памяти.

RELEASE WINDOWS [WindowNameList]

Параметры

WindowNameList

Определяет окна, удаляемые из памяти. WindowNameList может включать как определяемые пользователем окна, так и системные окна Visual FoxPro. Разделите имена окон запятыми. Если WindowNameList не включен, то удаляется активное пользовательское окно.

Замечания

RELEASE WINDOWS может использоваться для удаления системных окон Visual FoxPro из главного окна Visual FoxPro или из родительского пользовательского окна.

Следующий список включает системные окна, которые могут быть удалены из главного окна Visual FoxPro или из родительского окна.

  • Command

  • Data Session (используйте RELEASE WINDOW "View")

  • Debug

  • Debug Output

  • Document View

  • Locals

  • Trace

  • Watch

  • View

Чтобы удалить системное окно и/или инструментальную панель (в Visual FoxPro), заключите полное имя системного окна или инструментальной панели в кавычки. Например, чтобы удалить инструментальную панель Report Controls в Visual FoxPro, примените следующую команду:

Скопировать код
RELEASE WINDOW "Report Controls"

Исторически в предыдущих версиях Visual FoxPro, окно Data Session всегда упоминалось как окно View. Дополнительно, синтаксис для управления этим окном, типа HIDE WINDOW , ACTIVATE WINDOW , WONTOP( ) , также ссылается на это окно как на окно View. Visual FoxPro продолжает ссылаться на окно View в команде RELEASE WINDOWS .

Используйте ACTIVATE WINDOW, чтобы разместить системное окно в главном окне Visual FoxPro или в пользовательском окне.

См. Также

Другие Ресурсы

Команды
ACTIVATE WINDOW Команда
DEFINE WINDOW Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


REMOVE CLASS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда REMOVE CLASS
Смотрите также
CollapseAll image

Удаляет определение класса из библиотеки визуальных классов .VCX.

REMOVE CLASS ClassName OF ClassLibraryName

Параметры

ClassName

Задает имя определения класса, которое предстоит удалить из библиотеки визуальных классов.

OF ClassLibraryName

Задает имя библиотеки визуальных классов .VCX, которая содержит удаляемое определение класса. Если имя ClassLibraryName, задано без расширения, предполагается расширение .VCX.

Expand image Замечания

Соблюдайте осторожность при удалении определений классов: вы можете случайно удалить определение родительского класса, на котором базируются другие классы..

Expand image Смотрите также

Справочное руководство

ADD CLASS Command
CREATE CLASS Command
CREATE CLASSLIB Command
MODIFY CLASS Command
RELEASE CLASSLIB Command
RENAME CLASS Command
SET CLASSLIB Command

Прочие ресурсы

Commands (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


REMOVE TABLE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда REMOVE TABLE
Смотрите также Пример
CollapseAll image

Удаляет таблицу из текущей базы данных.

REMOVE TABLE TableName | ? [DELETE] [RECYCLE]

Параметры

TableName | ?

Задает таблицу, которую нужно удалить из текущей базы данных или отображает диалоговое окно Remove, в котором можно выбрать удаляемую таблицу в текущей базе данных.

[DELETE]

RУказывает, что таблица удаляется из базы данных и с диска.

Caution note Внимание

Таблицу, удаленную с диска с помощью предложения DELETE нельзя восстановить. Даже если командой SET SAFETY задана установка ON, таблица удаляется с диска без дополнительного предупреждения.

[RECYCLE]

Определяет что таблица неудаляется немедленно с диска а помещяется в корзину Windows.

Expand image Замечание

При выдаче команды REMOVE TABLE удаляются и все связанные с данной таблицей первичные индексы, принимаемые по умолчанию значения и правила проверки достоверности. Если командой SET SAFETY задана установка ON, Visual FoxPro выдаст приглашение подтвердить удаление таблицы из базы данных.

Когда таблица удаляется из базы данных, она становится свободной и может быть добавлена в другую базу данных.

Caution note Внимание

Команда REMOVE TABLE затронет и другие таблицы текущей базы данных, если для них определены правила или отношения, связанные с удаляемой таблицей. После удаления таблицы из базы данных такие правила и отношения становятся недействительными.

Expand image Пример

В следующем примере создаются базы данных mydbc1 и mydbc2, а также таблица table1. Как только эта таблица создается, она включается в базу данных mydbc1. Затем таблица закрывается и удаляется из mydbc1. После этого команда ADD TABLE включает ту же таблицу в базу данных mydbc2. Команда RENAME TABLE используется для замены имени таблицы с table1 на table2.
CopyCode image Copy Code
CREATE DATABASE mydbc1
CREATE DATABASE mydbc2
SET DATABASE TO mydbc1
CREATE TABLE table1 (cField1 C(10), n N(10))  && Adds table to mydbc1
CLOSE TABLES     && A table must be closed to remove it from a database
REMOVE TABLE table1
SET DATABASE TO mydbc2
ADD TABLE table1
RENAME TABLE table1 TO table2

Expand image Смотрите также

Задачи

Как: удалить таблицу из базы данных

Справочное руководство

Команда CLOSE
Команда DROP TABLE
Функция INDBC( )

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RENAME CLASS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RENAME CLASS
Смотрите также Пример
CollapseAll image

Переименовывает определение класса, содержащегося в библиотеке визуальных классов - .VCX.

RENAME CLASS ClassName1 OF ClassLibraryName TO ClassName2

Параметры

ClassName1

Определяет имя определения класса, который будет переименовываться.

OF ClassLibraryName

Определяет имя библиотеки визуальных классов - .VCX, содержащей определение класса, подлежащего переименованию. Если вы не укажите расширения файла библиотект в параметре ClassLibraryName, Visual FoxPro автоматически присвоит расширение ".vcx".

TO ClassName2

Определяет новое имя, в которое будет переименовано определение класса.

Expand image Примечания

Visual FoxPro не производит обновления других определений классов внутри библиотеки классов, которые могут ссылаться на переименовываемое определение класса — будьте внимательны при переименовании определения класса.

Expand image Пример

Приведенный ниже пример использует CREATE CLASSLIB для создании библиотеки визуальных классов с именем myclslib. Создается класс с именем myform, основанный на базовом классе Visual FoxPro Form с помощью команды CREATE CLASS и сохраняется в созданной библиотеке классов myclslib. RENAME CLASS используется для изменения имени класса из myform в yourform.
CopyCode image Скопировать код
    CREATE CLASSLIB myclslib     && Создает новую библиотеку визуальных классов .VCX
CREATE CLASS myform OF myclslib AS "Form"  && Создает новый класс
RENAME CLASS myform OF myclslib TO yourform  && Изменяет имя класса

Expand image Смотрите также

Справочное руководство

Команда ADD CLASS
Команда CREATE CLASS
Команда MODIFY CLASS
Команда RELEASE CLASSLIB
Команда REMOVE CLASS
Команда SET CLASSLIB

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RENAME Command

Visual FoxPro 9.0 Справочное руководство по языку
Команды RENAME
Смотрите также Пример
CollapseAll image

Изменяет имя файла на новое имя.

Note Note

Не используйте RENAME для изменения имени таблицы в базе данных; RENAME не изменяет имени таблицы в базе данных. Используйте RENAME TABLE для изменения имени таблицы в базе данных. Для получения дополнительной информации, смотрите Команда RENAME TABLE.

RENAME FileName1 TO FileName2

Параметры

FileName1 TO FileName2

Определяет имя файла для изменения и новое имя файла. Включите расширение файла для каждого файла.

Note Note

Если невключены расширения файлов, принимается расширение по умолчанию .dbf. Чтобы переименовывать файл, который не имеет расширения, включите период (.) после имени файла. Если вы переименовываете свободную таблицу, которая имеет связанный .fpt мемо файл, убедитесь, что переименовали и мемо файл.

Expand image Замечания

FileName1 и FileName2 могут содержать групповые символы такие как * и ?. Например, чтобы переименовать все файлы програм с расширением .prg в текущем каталоге или папке в файлы резервной копии с расширением .bak, выдайте команду RENAME *.prg TO *.bak.

Если файлы находятся не в папке значеной по умолчанию, включите путь к одному из двух или к каждому имени файла.

Если FileName1 и FileName2 находятся в различных каталогах или папках, FileName1 перемещается в каталог или папку FileName2.

Когда вы відаете RENAME, FileName2 не может уже существовать и FileName1 должен существовать и не должен быть открытым.

Expand image Пример

Следующий пример показывает, как переключить имена файла между двумя файлами. Visual FoxPro сгенерирует ошибку, если вы попытаетесь переименовать файл в имя, которое уже существует (это демонстрируется выражением Try…Catch). Пример использует многократный вызов RENAME с дополнительным временным файлом, для достижения переключения имен.
CopyCode image Copy Code
STRTOFILE("File 1", "tmpFile1.txt")
STRTOFILE("File 2", "tmpFile2.txt")
TRY
RENAME tmpFile1.txt TO tmpFile2.txt
CATCH TO oError
? oError.Message
ENDTRY
RENAME tmpFile2.txt TO tmpFile2.bkup
RENAME tmpFile1.txt TO tmpFile2.txt
RENAME tmpFile2.bkup TO tmpFile1.txt
MODIFY FILE tmpFile1.txt NOWAIT
MODIFY FILE tmpFile2.txt NOWAIT

Expand image Смотрите также

Справочное руководство

Команда COPY FILE
Команда COPY TO
Команда RENAME CLASS

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RENAME CONNECTION Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RENAME CONNECTION
Смотрите также Пример
CollapseAll image

Переименовывает именованное соединение текущей базы данных.

RENAME CONNECTION ConnectionName1 TO ConnectionName2

Параметры

ConnectionName1

Задает имя соединения, которое нужно переименовать.

ConnectionName2

Задает новое имя соединения.

Expand image Замечание

Чтобы соединение можно было переименовывать, содержащая его база данных должна быть открыта в монопольном режиме и должна быть текущей. Чтобы открыть базу данных для монопольного пользования, включите предложение EXCLUSIVE в команду OPEN DATABASE.

Expand image Пример

В следующем примере предполагается, что источник данных ODBC с именем MyFoxSQLNT доступен. Открывается база данных testdata, и создается соединение Myconn1. Команда DISPLAY CONNECTIONS используется для вывода на экран именованных соединений базы данных.

Затем команда RENAME CONNECTION изменяет имя вновь созданного соединения на Myconn2. После этого команда DISPLAY CONNECTIONS вновь отображает соединение, но уже с новым именем. Наконец, переименованное соединение удаляется из базы данных с помощью команды DELETE CONNECTION.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
CREATE CONNECTION Myconn1 DATASOURCE "MyFoxSQLNT" USERID "<userid>" PASSWORD "<password>"

CLEAR
DISPLAY CONNECTIONS  && Displays named connections in the database
RENAME CONNECTION Myconn1 TO Myconn2
DISPLAY CONNECTIONS  && Displays connection with new name

DELETE CONNECTION Myconn2  && Removes the connection just renamed

Expand image Смотрите также

Справочное руководство

Команда DELETE CONNECTION
Функция DBGETPROP( )
Команда DISPLAY CONNECTIONS
Команда LIST CONNECTIONS
Команда MODIFY CONNECTION
Команда OPEN DATABASE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RENAME TABLE Command

Visual FoxPro 9.0 Language Reference
RENAME TABLE Команда
See Also Example

Переименовывает таблицу в текущей базе данных.

RENAME TABLE TableName1 TO TableName2

Параметры

TableName1

Определяет имя таблицы, которая будет переименована.
TableName2

Определяет новое имя таблицы.

Замечания

Вы не можете использовать RENAME TABLE, чтобы изменить имя свободной таблицы; используйте RENAME вместо этого.

Пример

Следующий пример создает две базы данных mydbc1 и mydbc2 , и таблицу по имени table1. Таблица при создании добавляется к mydbc1 . Затем таблица закрывается и удаляется из mydbc1 . Затем использууется ADD TABLE, чтобы добавить эту таблицу к mydbc2 . Затем используется RENAME TABLE, чтобы изменить имя таблицы table1 на table2 .

Copy Code
CLOSE DATABASES
CREATE DATABASE mydbc1
CREATE DATABASE mydbc2
SET DATABASE TO mydbc1
CREATE TABLE table1 (cField1 C(10), n N(10))  && Adds table to mydbc1
CLOSE TABLES     && A table must be closed to remove it from a database
REMOVE TABLE table1
SET DATABASE TO mydbc2
ADD TABLE table1
RENAME TABLE table1 TO table2

See Also

Other Resources

Commands
ADD TABLE Command
CLOSE DATABASES Command
CREATE DATABASE Command
COPY FILE Command
COPY TO Command
OPEN DATABASE Command
RENAME Command

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


RENAME VIEW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RENAME VIEW
Смотрите также Пример
CollapseAll image

Переименовывает SQL представление текущей базы данных.

RENAME VIEW ViewName1 TO ViewName2

Параметры

ViewName1

Задает имя представления SQL, которое требуется переименовать.

ViewName2

Задает новое имя представления SQL.

Expand image Примечания

Чтобы представление SQL можно было переименовать, содержащая его база данных должна быть открыта в монопольном режиме и должна быть текущей. Чтобы открыть базу данных для монопольного пользования, включите предложение EXCLUSIVE в команду OPEN DATABASE.

Expand image Пример

В следующем примере открывается база данных testdata. CREATE SQL VIEW используется для создания локального представления SQL с именем myview, на базе конструкции SELECT - SQL, отбирающей все записи из таблицы customer. RENAME VIEW используется для изменения имени представления с myview на yourview.

Отображается конструктор представлений, предоставляя возможность модифицировать только что переименованное представление SQL. После закрытия конструктора представлений это представление SQL уничтожается.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

CREATE SQL VIEW myview AS SELECT * FROM customer  && Create the view
RENAME VIEW myview TO yourview  && Change the view name
MODIFY VIEW yourview  && Open the View designer
DELETE VIEW yourview  && Delete the view

Expand image Смотрите также

Справочное руководство

Команда CREATE SQL VIEW
Команда DELETE VIEW
Команда DISPLAY VIEWS
Команда LIST VIEWS
Команда MODIFY VIEW
Команда OPEN DATABASE
Команда RENAME VIEW
Команда SELECT - SQL
Команда USE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


REPLACE Command (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
REPLACE Команда (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Обновляет записи в таблице новыми значениями.

REPLACE FieldName1 WITH eExpression1 [ADDITIVE]
   [, FieldName2 WITH eExpression2 [ADDITIVE]] ... [Scope]
   [FOR lExpression1] [WHILE lExpression2] [IN nWorkArea | cTableAlias]
   [NOOPTIMIZE]

Параметры

FieldName1 WITH eExpression1[, FieldName2 WITH eExpression2... ]

Данные в поле FieldName1 будут заменены выражением eExpression1; Данные в поле FieldName2 будут заменены выражением eExpression2; и так далее.

Когда величина выражения больше, чем ширина числового поля REPLACE заполняет поле по следующим правилам:

  • Сначала, REPLACE исключает десятичные знаки и округляет остальную десятичную часть области.

  • Если величина все еще не умещается, REPLACE записывает выражение, используя научную нотацию.

  • Если величина все еще не умещается, REPLACE заменяет содержание поля звездочками.

ADDITIVE

Относится только к заменам в мемо полях. Если указанно ADDITIVE то происходит добавление в конец мемо поля. Если Вы опускаете ADDITIVE, мемо поле заменяется новым выражением.

Scope

Определяет диапазон записей, которые заменяются. По умолчанию REPLACE заменяет текущую запись.

Можно использовать следующие зарезервированные диапазоны:

ALL, NEXT nRecords, RECORD nRecordNumber, and REST. Более подробно про диапазоны записей, смотри Диапазоны Записей.

FOR lExpression1

Определяет, что определенные области заменяются только в тех записях, для которых lExpression1 оценивается в истину (.T.). Применение FOR дает возможность, заменять только те записи, которые соответствуют определенным условиям.

Оптимизация Запроса Rushmore оптимизирует REPLACE FOR если lExpression1 - оптимизируемое выражение. Для наилучшей работы, используйте оптимизируемое выражение в FOR условии.

Для дополнительной информации, смотрите SET OPTIMIZE Command и Оптимизация запроса с использованием Rushmore, для ускорения доступа к данным.

WHILE lExpression2

Определяет условие, при котором будет произведена замена пока логическое выражение lExpression2 оценивает в истину (.T).

IN nWorkArea

Определяет рабочую область в которой будут заменяться записи.

IN cTableAlias

Определяет псевдоним рабочей области в которой будут заменяться записи.

Если Вы опускаете nWorkArea и cTableAlias, записи будут записываться в той рабочей области которая выбранна к настоящему времени.

NOOPTIMIZE

Отключает использование оптимизации Rushmore.

Для дополнительной информации, смотрите SET OPTIMIZE Command и Оптимизация запроса с использованием Rushmore, для ускорения доступа к данным.

Expand image Замечание

REPLACE замещает данные в поле значением, приведенным в выражении. Записи из неактивной области должны быть указаны вместе с именем области.

Note Примечание

Если опция IN отсутсвует в команде, замена не произойдет, если указатель записи стоит на конце файла в текущей рабочей области, а вы указали поле в другой рабочей области.

Expand image Пример

Следующий пример создает таблицу с 10 записями. REPLACE использован, чтобы заполнить таблицу случайными числами. MIN( ) И MAX( ), используется для выбора максимального и минимального значения в таблице .
CopyCode image Копировать пример
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10  && Добавляем 10 записей,
   APPEND BLANK
   REPLACE cValue WITH 1 + 100 * RAND( )  && записываем случайное число
ENDFOR

CLEAR
LIST  && Выводим на дисплей
gnMaximum = 1  && Инициализируем минимальную величину
gnMinimum = 100  && Инициализируем максимальную величину
SCAN
   gnMinimum = MIN(gnMinimum, cValue)
   gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'Минимальное значение: ', gnMinimum  && Выводим на дисплей минимальное значение
? 'Максимальное значение: ', gnMaximum  && Выводим на дисплей максимальное значение

Expand image Смотрите также

Ссылки

GATHER Команда
INSERT - SQL Команда
SCATTER Команда

Прочие ресурсы

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


REPLACE FROM ARRAY Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда REPLACE FROM ARRAY
Смотрите также
CollapseAll image

Обновляет содержимое полей значениями из массива переменных памяти..

REPLACE FROM ARRAY ArrayName [FIELDS FieldList] [Scope]
   [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]

Пврвметры

ArrayName

Задает имя массива, значения из которого замещают содержимое полей.

FIELDS FieldList

Указывает, что данными из массива нужно заменять только поля, включенные в список FieldList. Если рабочая область не выбрана, то имена полей для такой таблицы должны предваряться псевдонимом таблицы.

Scope

Задает диапазон записей, замещаемых содержимым массива. Для команды REPLACE FROM ARRAY диапазоном по умолчанию является текущая запись (NEXT 1).

Замещаются только записи, попадающие в указанный диапазон. Замены производятся до тех пор, пока не будет достигнута граница диапазона или конец массива.

Диапазон задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона смотрите Выражения диапазонов.

FOR lExpression1

Указывает, что поля заменяются только в тех записях, для которых выражение lExpression1 имеет значение "истина" (.T.). Предложение FOR позволяет проводить условную замену записей, отфильтровывая ненужные записи. Замена производится в каждой записи, для которой lExpression1 имеет значение "истина" (.T.), или пока не кончится массив.

Технология Rushmore оптимизирует операцию REPLACE FROM ARRAY FOR, если lExpression1 является оптимизируемым выражением. В целях повышения производительности используйте в предложении FOR оптимизируемое выражение.

Подробнее смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

WHILE lExpression2

Задает условие, в соответствии с которым поля в записях замещаются содержимым массива, пока значением логического выражения lExpression2 остается "истина" (.T.).

NOOPTIMIZE

Запрещает оптимизацию по технологии Rushmore.

Подробнее смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Expand image Замечание

Команда REPLACE FROM ARRAY игнорирует memo-поля и поля типа General. Чтобы импортировать данные в эти поля, пользуйтесь командами GATHER и APPEND GENERAL.

Элементы массива, начиная с первого, замещают содержимое соответствующих полей записи. Первый элемент массива замещает первое поле записи, второй элемент массива замещает второе поле и т.д.

Если элементов в массиве меньше, чем полей в таблице, лишние поля игнорируются. Если в массиве больше элементов, чем полей в таблице, лишние элементы массива игнорируются.

Note Замечание

Если указатель записи установлен в конце файла в текущей рабочей области, а вы задаете поле в другой рабочей области, никакие замены не производятся.

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM ARRAY
Команда APPEND GENERAL
Команда COPY TO ARRAY
Команда GATHER
Команда REPLACE (Visual FoxPro)
Команда SCATTER
Команда SET OPTIMIZE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


REPORT FORM Command

Visual FoxPro 9.0 Справочник Языка
REPORT FORM Команда
См. Также

Выводит на экран или на печать отчет, указанный в файле определения отчета (.frx), например, созданный командами CREATE REPORT или MODIFY REPORT .

Команда REPORT FORM может интерпретировать файлы этикетки Visual FoxPro (lbx формат) так же как файлы отчета. Вы можете также использовать REPORT FORM для выполнения файлов текстовых отчетов, созданных в FoxPro для MS-DOS.

REPORT FORM FileName1 | ? [ENVIRONMENT] [Scope]
   [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
   [RANGE nStartPage [, nEndPage]]
   [HEADING cHeadingText] [SUMMARY] [NORESET] [PLAIN]
   [NOCONSOLE | OFF] [PDSETUP]
   [NAME ObjectName]
   [OBJECT oReportListener | TYPE iExpression]
   [TO OutputDestination [NODIALOG]]
   [PREVIEW [PreviewDestination] [NOWAIT] [WINDOW WindowName]]

Параметры

FileName1 |?

Определяют имя файла определения отчета (.frx) или отображает диалоговое окно Open, так чтобы Вы могли выбрать файл .frx. По умолчанию, отчет отображается в текущем окне вывода.
Обратите внимание:
Заданное по умолчанию расширение имени файла для файла определения отчета - .frx. Если файл .frx не находится в основном каталоге или папке, Вы должны включить путь вместе с именем файла. Начиная с Visual FoxPro 7.0, FileName1 включен в статусное сообщение, которое появляется, когда Вы включаете предложение TO . Для подавления вывода статусного сообщения, см. описание предложения TO .

[ENVIRONMENT]

Открывает и восстанавливает все таблицы и отношения в окружении данных, связанном с отчетом, даже когда AutoOpenTables установлено в Ложь (.F)..
Обратите внимание:
Ключевое слово ENVIRONMENT включено для обратной совместимости, например, для отчетов, конвертированных из более ранних версий FoxPro, типа отчетов 2. x .

Чтобы восстановить окружение данных, связанное с отчетом Visual FoxPro, установите свойство окружения данных AutoOpenTables в Истину (.T). (значение по умолчанию). Чтобы быть уверенным, что окружение данных отчета закроется после окончания печати, установите свойство окружения данных AutoCloseTables в Истину (.T). (значение по умолчанию). Для подробной информации, см. AutoOpenTables Свойство и AutoCloseTables Свойство .
[ Scope ]

Определяет диапазон записей для включения в отчет. Только записи, попадающие в границы диапазона включаются в отчет.
Обратите внимание:
Когда Вы включаете предложение Scope , scope работает только для таблицы в активной рабочей области.

Следующая таблица перечисляет возможные значения для Scope .

Scope Описание

ALL

Включает все записи. (Значение по умолчанию)

NEXT nRecords

Включает следующее количество записей nRecords , начинающихся с текущей записи.

RECORD nRecordNumber

Включает только указанную запись.

REST

Включает диапазон записей, начинающихся с текущей записи и заканчивающийся последней записью.

Для подробной информации относительно предложений scope, см. Scope Clauses .
[FOR lExpression1 ]

Печатает данные только тех записей, для которых логическое выражение, указанное lExpression1 равно истине (.T).. Включением предложения FOR , Вы можете исключить записи, которые Вы не хотите печатать.
Совет:
Если lExpression1 является оптимизируемым выражением, Rushmore оптимизирует REPORT FORM с помощью предложения FOR . Для более выстрого выполнения, используйте оптимизируемое выражение в предложении FOR . Для подробной информации, см. SET OPTIMIZE и Использование Rushmore Query Optimization для ускорения доступа к данным .

[WHILE lExpression2 ]

Выводит данные на печать только, если логическое выражение, указанное lExpression2 равно Истине (.T)..
[NOOPTIMIZE]

Предотвращает оптимизацию Rushmore для REPORT FORM . Для подробной информации, см. SET OPTIMIZE и Использование Rushmore Query Optimization для ускорения доступа к данным .
[RANGE nStartPage [, nEndPage ]]

Определяет диапазон страниц для вывода на печать или другого вывода. Параметр nStartPage определяет первую страницу для печати, в то время как параметр nEndPage определяет последнюю страницу для печати. Если nEndPage опущен, то последней страницей для печати является по умолчанию 32,767.
Обратите внимание:
RANGE отбирает страницы для вывода, в то время как предложения scope, предложения FOR , и WHILE отбирают записи. Эти критерии отбора не действуют, если Вы выбираете печать из окна предварительного просмотра, и если Вы не определили объектно-ассистированный режим используя предложение OBJECT или SET REPORTBEHAVIOR 90 . В объектно-ассистированном режиме, Вы можете печатать или в полном объеме RANGE , который Вы определили в первоначальной команде REPORT FORM или в объеме некоторого подмножества данного диапазона страниц, используя члены-объекты ReportListener.CommandClauses PrintPageCurrent, PrintRangeFrom и PrintRangeTo. Для подробной информации, см. OnPreviewClose Метод .

[HEADING cHeadingText ]

Определяет текст для размещения в качестве дополнительного заголовока на каждой странице отчета. Если Вы включаете предложение HEADING и ключевое слово PLAIN , то ключевое слово PLAIN имеет приоритет.
[SUMMARY]

Подавляет печать строк содержания так, чтобы печатались только общие и промежуточные суммы.
[NORESET]

Определяет что системные переменные _PAGENO и _PAGETOTAL не будут обнуляться. Номер страницы для текущего отчета начинается с текущих значений этих двух переменных. Для подробной информации, см. _PAGENO Системная Переменная и _PAGETOTAL Системная Переменная .
Обратите внимание:
Если Вы используете ключевые слова NORESET и RANGE вместе, Вы должны оценить заранее какие страницы печатать.

[PLAIN]

Подавляет заголовки страниц кроме того, который находится в начале отчета.
[NOCONSOLE | OFF]

Подавляет отображение отчета в главном окне Visual FoxPro или определяемом пользователем окне при печати отчета или выводе его в файл.
Обратите внимание:
Когда Вы используете объектно-ассистированный режим вывода Visual FoxPro 9.0, REPORT FORM не отображает содержание вашего отчета в окне текущего вывода, поэтому ключевые слова NOCONSOLE и OFF не оказывают вляния на штатное поведение. Однако, ключевые слова доступны в объекте ReportListener.CommandClauses. Вы можете вычислить их значение в ваших классах, производных от ReportListener, и принять решение подавить вывод содержания отчета или другой пользовательской обратной связи, основанное на их содержании. Для подробной информации, см. CommandClauses Свойство .

[PDSETUP]

Загружает установку драйвера принтера. Вы можете включить PDSETUP для использования установки драйвера принтера для печати текстовых отчетов, созданных в FoxPro для MS-DOS. PDSETUP игнорируется, когда Вы печатаете отчеты на основе графики, созданные в Visual FoxPro.
[NAME ObjectName ]

Определяет объектное имя переменной для окружения данных, связанных с отчетом.
Обратите внимание:
Окружение данных и объекты окружения данных имеют свойства и методы, типа метода AddObject , которые должны будут определяться или вызываться в run time. Объектная переменная обеспечивает доступ к этим свойствам и методам.

Если Вы опускаете предложение NAME , то по умолчанию, Visual FoxPro для ссылок в коде, связанном с событиями, будет использовать имя файла отчета.
[OBJECT oReportListener | TYPE iExpression ]

Вызывает объектно-ассистированный режим вывода Visual FoxPro. Используйте или объектную ссылку к объекту, производному базового класса ReportListener, или числовое значение, определяющее тип вывода. Предложение OBJECT в индивидуальной команде REPORT FORM имеет приоритет над текущей установкой SET REPORTBEHAVIOR . Для подробной информации, см. ReportListener Объект , ListenerType Свойство , и OutputType Свойство (Visual FoxPro) .
[TO OutputDestination [NODIALOG]]

Определяет адресат вывода для отчета. Чтобы подавлять статусные сообщения, которые появляются в run time, включите ключевое слово NODIALOG .
Обратите внимание:
В режиме вывода output-assisted, NODIALOG устанавливает свойство объекта ReportListener QuietMode в .T. для продолжения выполнения отчета. Для подробной информации, см. QuietMode Свойство .

Следующая таблица описывает возможные значения OutputDestination .

OutputDestination Описание

[PRINTER [PROMPT] [NOPAGEEJECT] [NOEJECT]]

Посылает отчет на принтер.

Чтобы вывести диалоговое окно Print перед началом печати, включите ключевое слово PROMPT . В режиме object-assisted, опции, разрешенные в диалоговом окне Print будут зависеть от значения члена ReportListener.CommandClauses.PrintPageCurrent.

Чтобы определить, что Visual FoxPro не будет осуществлять прогон листа в конце отчета, и оставит открытым задание на печать, включите ключевое слово NOPAGEEJECT . Следующий напечатанный отчет добавляется к уже открытому заданию по выводу на печать.

Вы должны быть уверены, что последний выполненный отчет не имеет предложения NOPAGEEJECT так, чтобы задание на печать могло бы быть закрыто.

NOPAGEEJECT является допустимым только во время выполнения программы. Оно игнорируется при выполнении из окна Command. Изменение ориентации страниц, например landscape на portrait, между отчетами не поддерживается.

Вы можете сцеплять несколько отчетов используя NOPAGEEJECT и имея сквозную нумерацию страниц, проходящую через все отчеты. Это полезный прием для задач типа отправления отчетов факсом.

Команда REPORT FORM также разрешает применять ключевое слово NOEJECT , которое Visual FoxPro больше не поддерживает, но которое использовалось в старших версиях FoxPro и FoxBASE+ для DOS. Это ключевое слово не выполняет никакой функции, но и не вызывает ошибки.

[FILE] FileName2 [[ADDITIVE] ASCII]

Определяет имя текстового файла, в который нужно послать отчет. Заданное по умолчанию расширение имени файла для созданного файла - .txt.

Когда Вы опускаете ключевое слово ASCII или используете режим вывода Visual FoxPro object-assisted, пишите коды PostScript или другие коды принтера в текстовый файл вместе с содержанием вашего отчета. Для создания текстового файла ASCII из файла определения отчета, установите SET REPORTBEHAVIOR 80 и включите ключевое слово ASCII .

Обратите внимание:
Когда Вы включаете ключевое слово ASCII , Вы можете обработать отчет на компьютере, в котором нет установленных принтерных драйверов. Без ключевого слова ASCII , команда REPORT FORM запущенная на компьютере, который не имеет установленного драйвера принтера, генерирует ошибку.

ASCII файл содержит только текст. Если текстовый отчет, создается в FoxPro для MS-DOS, то для изображения линий и фигур могут применяться черточки и знаки "плюс". Любые настройки шрифта или цвета, графика, линии, прямоугольники, или округленные прямоугольники в файле определения отчета не появляются в текстовом файле ASCII. Вы можете определить число символов, чтобы разместить в каждой строке, и количество строк, чтобы разместить в каждой странице, используя системные переменые _ASCIICOLS и _ASCIIROWS . Значения по умолчанию для этих системных переменных соответствуют стандартной странице portrait. Для подробной информации, см. _ASCIICOLS Системная Переменная и _ASCIIROWS Системная Переменная .

Для добавления в конец файла ASCII нового содержания вместо его перезаписывания, поместите перед ключевым словом ASCII ключевое слово ADDITIVE . Ключевые слова ADDITIVE и ASCII должны быть определены в указанном порядке.

[PREVIEW [ PreviewDestination ] [NOWAIT][WINDOW WindowName ]]

Отображает отчет в окне предварительного просмотра вместо того, чтобы его напечатать. По умолчанию, окно предварительного просмотра является модальным, но обеспечивает доступ к инструментальной панели Print Preview. Ключевое слово NOWAIT определяет, что Visual FoxPro в run time не ожидает закрытия окна предварительного просмотра перед продолжением выполнения программы.
Совет:
Текстовые отчеты и этикетки, созданные в FoxPro MS-DOS имеют специальное окно предварительного просмотра. На этот механизм не влияет SET REPORTBEHAVIOR и он не поддерживает предложение OBJECT или связанные с WINDOW предложения.

Если Вы включаете WINDOW < WindowName >, то окно предварительного просмотра перенимает характеристики окна, например заголовок, размер и так далее, которое Вы определяете с помощью WindowName . WindowName может быть свойством имени формы, или оно может быть переменной, ссылающейся на окно, созданное DEFINE WINDOW . Для подробной информации, см. DEFINE WINDOW Команда . Следующая таблица описывает возможные значения для PreviewDestination . Вы можете использовать предложение WINDOW изолированно, или же в комбинации с PreviewDestination .

PreviewDestination Описание

[IN WINDOW WindowName ]

Определяет окно для предварительного просмотра отчета.

Если Вы включаете IN WINDOW < WindowName >, отчет будет предварительно просмотрен в окне, которое Вы определяете WindowName .

IN SCREEN

Определяет, что предварительный просмотр осуществляется в главном окне Visual FoxPro и не может быть перемещен за его пределы.

Замечания

Когда Вы используете режим вывода Visual FoxPro object-assisted , все предложения команды REPORT FORM доступны вашему ReportListener в его члене-объекте CommandClauses, за исключением предложений отбора записей (scope, FOR , и WHILE ). Вы можете использовать атрибут CommandClauses.RecordTotal для информации о диапазоне выполнения отчета, или присваивать эти значения вашему объекту ReportListener перед выполнением вашего отчета. Тема Свойство CommandClauses Property даст Вам подробную информацию о том, как каждое предложение представлено в члене-объекте CommandClauses.

Примеры

Пример 1

Следующий пример показывает, как выполнить пакетное задание по выводу на печать отчетов, сотоящее из двух отчетов. Visual FoxPro выполняет двойной проход отчетов, чтобы получить полное число страниц, которое сохраняется в системной переменной _PAGETOTAL для того, чтобы позволить применить выражение "Page X of Y" в оформлении отчета.

Обратите внимание:
Вы можете гарантировать, что проход отчета выполняется дважды включением _PAGETOTAL в выражениях вашего отчета. Если Вы не нуждаетесь в _PAGETOTAL, но хотели бы, чтобы для других вычислений осуществлялось два прохода, можете использовать режим вывода object-assisted и устанавливать свойство ReportListener TwoPassProcess в .T. . Для подробной информации, см. TwoPassProcess Свойство .

NORESET определяет, что печать номеров страниц переносится на следующий отчет. NOPAGEEJECT определяет, что первая страница второго отчета продолжает печататься на обратной стороне последней страницы первого отчета.

Скопировать код
REPORT FORM myReport1.frx TO PRINTER NOPAGEEJECT
REPORT FORM myReport2.frx TO PRINTER NORESET
MESSAGEBOX("You printed " + ;
   TRANSFORM(_PAGETOTAL)+" pages.")

Example2

Следующий пример показывает, как Вы можете осуществить предварительный просмотр перед направлением отчета на принтер.

Скопировать код
REPORT FORM myReport1.frx TO PRINTER PROMPT NODIALOG PREVIEW

Чтобы сделать окно предварительного просмотра немодальным, следующий код включает ключевое слово NOWAIT :

Скопировать код
REPORT FORM myReport1.frx PREVIEW NOWAIT

Чтобы предварительно просматривать результаты в указанном окне, следующий код включает предложение WINDOW , чтобы задать окно по имени MyWindow, которое Вы предварительно создали командой DEFINE WINDOW :

Скопировать код
REPORT FORM myReport1.frx PREVIEW WINDOW MyWindow

Пример 3

Следующий пример показывает, как направить отчет в ASCII файл. Системные переменные _ASCIIROWS и _ASCIICOLS определяют количество строк и символов в строке на ASCII странице. Команда REPORT FORM печатает отчет MyReport.frx в файл ASCII MyFile.txt.

Скопировать код
SET REPORTBEHAVIOR 80
_ASCIIROWS = nLines
_ASCIICOLS = nChars
REPORT FORM MyReport.frx TO FILE MyFile.txt ASCII

См. Также

Ссылки

ReportListener Объект
SET REPORTBEHAVIOR Команда
LABEL Команда
Контейнер Предварительного просмотра API

Другие Ресурсы

Команды
CREATE REPORT Команда
MODIFY REPORT Команда
DataEnvironment Объект

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RESTORE FROM Command

Справочное руководство по языку
RESTORE FROM Команда
Смотрите также Пример

Извлекает переменные памяти и массивы переменных памяти, сохраненные в файле переменных памяти или в memo-поле, и помещает их в память.

RESTORE FROM FileName | MEMO MemoFieldName   [ADDITIVE]

Параметры

FileName

Определяет файл переменных, из которого восстанавливаются переменные памяти и массивы. Файлы переменных памяти имеют расширение имени .MEM.
MEMO MemoFieldName

Определяет memo-поле, из которого восстанавливаются переменные памяти и массивы.
ADDITIVE

Запрещает уничтожать любые переменные памяти или массивы, находящиеся в данный момент в памяти. Если переменные памяти или массивы, добавляемые с помощью предложения ADDITIVE, в сумме с уже существующими переменными памяти количественно превышают предельное число переменных памяти, Visual FoxPro переносит в память из файла переменных или из memo-поля столько переменных памяти и массивов, сколько возможно. Если Вы восстанавливаете переменную памяти или массив под именем, совпадающим с именем уже существующей переменной памяти или массива, значение существующей переменной памяти или массива затирается восстанавливаемым значением.

Замечания

Команда RESTORE FROM выданная из программы, восстановит все переменные памяти и массивы типа PUBLIC и PRIVATE с типом PRIVATE; все переменные памяти и массивы типа LOCAL - с типом LOCAL. Если команда RESTORE выдана из командного окна, переменные памяти и массивы типа PUBLIC и PRIVATE восстанавливаются с типом PUBLIC, а переменные памяти и массивы типа LOCAL восстанавливаются с типом LOCAL.

Команда RESTORE FROM очищает все переменные памяти и массивы, находящиеся в данный момент в памяти, если не указано ключевое слово ADDITIVE. Команда RESTORE FROM не затрагивает системные переменные памяти.

Обратите внимание, что переменные типа объект не могут быть восстановлены из файла переменных или memo-поля.

Пример

В следующем примере создаются две переменные памяти. Они сохраняются в файле переменных памяти, а затем восстанавливаются, не разрушая существующие переменные памяти.
Скопировать код
gnVal1 = 50
gcVal2 = 'Hello'
SAVE TO temp
CLEAR MEMORY

gdVal3 = DATE( )
RESTORE FROM temp ADDITIVE
CLEAR
DISPLAY MEMORY LIKE g*

Смотрите также

Прочие ресурсы

Команды
Команда DIMENSION
Команда PUBLIC
Команда PRIVATE
Команда RELEASE
Команда SAVE TO
Команда STORE

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен SAM-FoxPro


Команда RESTORE MACROS

Visual FoxPro 9.0 Справочное руководство по языку
Команда RESTORE MACROS
Смотрите также
CollapseAll image

Восстанавливает в памяти макрокоманды клавиатуры, сохраненные в файле макрокоманд клавиатуры или в memo-поле.

RESTORE MACROS   [FROM FileName | FROM MEMO MemoFieldName]

Параметры

FROM FileName

Задает файл макрокоманд, из которого предстоит восстановить макрокоманды. Файлы макрокоманд по умолчанию имеют расширение .fky. Если вы присвоили файлу другое расширение, его нужно указать в составе FileName.

FROM MEMO MemoFieldName

Задает memo-поле, из которого восстанавливаются макрокоманды.

Expand image Примечания

Используйте SAVE MACRO для сохранения клавиатурных макросов в файле макрокоманд или memo-поле.

По умолчанию восстановление макрокоманд из файла или memo-поля носит аддитивный характер ѕ восстанавливаемые макрокоманды присоединяются к набору макрокоманд, имеющемуся в памяти. Если имя какой-либо макрокоманды в файле или memo-поле совпадает с именем существующей макрокоманды, макрокоманда из файла или memo-поля заменяет существующую макрокоманду.

Если команда RESTORE MACROS выдана без имени файла или memo-поля, она удаляет все макрокоманды из памяти и восстанавливает макрокоманды, принимаемые по умолчанию, из файла макрокоманд клавиатуры DEFAULT.FKY. Если этот файл не найден, Visual FoxPro восстанавливает клавиши с F2 по F9 в соответствии со стандартными начальными установками Visual FoxPro.

Expand image Смотрите также

Reference

Комадда CLEAR
Команда PLAY MACRO
Команда SAVE MACROS

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RESTORE SCREEN Command

Visual FoxPro 9.0 Описание Языка
RESTORE SCREEN, Команда
См. также
CollapseAll image

Восстанавливает изображение главного кна системы Visual FoxPro или некоторого пользовательского окна, ранее сохраненного в буфере экрана (screen buffer), в переменной памяти,или в элементе массива.

RESTORE SCREEN   [FROM VarName]

Параметры

FROM VarName

Определяет имя переменной памяти, или элемента массива, в котором ранее было сохранено изображение экрана или окна.

Expand image Комментарии

Используйте команду SAVE SCREEN для сохранения текущего изображения главного окна системы Visual FoxPro или активного пользовательского окна в буфере экрана, или в переменной памяти, или в элементе массива.

При отображении переменных или элементов массивов, с помощью команд DISPLAY или LIST MEMORY, данные элементы отображаются с характеристикой "S" (см. функцию Type()). Изображения, сохраненные в переменных памяти или в элементах массивов могут управляться командами SAVE TO и RESTORE FROM, которые размещают и восстанавливают указанные переменные в файлах, на диске .

Если рассматриваемая команда используется без параметра FROM, RESTORE SCREEN восстанавливает изображение главного окна системы Visual FoxPro или пользовательского окна из буфера экрана (screen buffer).

Expand image См. также

Описание

RESTORE FROM, Команда
SAVE SCREEN, Команда
SAVE TO, Команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RESTORE WINDOW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RESTORE WINDOW
Смотрите также Пример
CollapseAll image

Восстанавливает в памяти описания окон и статусы окон, сохраненные в файле окон или в memo-поле..

RESTORE WINDOW WindowNameList | ALL FROM FileName
 | FROM MEMO MemoFieldName

Параметры

WindowNameList

Задает одно или несколько окон, подлежащих восстановлению. Имена окон разделяйте запятыми.

ALL

Восстанавливает все описания окон, имеющиеся в файле окон или memo-поле.

FROM FileName

Задает файл окон, из которого восстанавливаются окна. Этот файл имеет расширение имени .win. Если файлу при сохранении было дано иное расширение, нужно указать это расширение в составе имени FileName.

FROM MEMO MemoFieldName

Задает memo-поле, из которого восстанавливаются окна.

Expand image Примечания

Чтобы сохранить описания окон в файле окон или в memo-поле, используйте команду SAVE WINDOW.

Если окно в памяти имеет то же имя, что и восстанавливаемое окно, оно замещается окном из файла или memo-поля. Статус окна (скрытое, активное и т.д.), имевший место в момент сохранения, восстанавливается вместе с окном.

Expand image Пример

В следующем примере определяется окно wOutput1 и сохраняется в переменной памяти. Затем все окна удаляются, а окно wOutput1 восстанавливается и активизируется.
CopyCode image Copy Code
CLEAR
DEFINE WINDOW wOutput1 FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
SAVE WINDOW wOutput1 TO temp
CLEAR WINDOWS
RESTORE WINDOW wOutput1 FROM temp
ACTIVATE WINDOW wOutput1
WAIT "The window wOutput1 has been restored" WINDOW
RELEASE WINDOW wOutput1

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE WINDOW
Команда DEFINE WINDOW
Команда SAVE WINDOWS

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RESUME Command

Visual FoxPro 9.0 Описание Языка
RESUME, Команда
См. также
CollapseAll image

Продолжает выполнение приостановленной (командой SuspEnd) программы, программного модуля.

RESUME

Expand image Комментарии

Для приостановки выполнения программного модуля используется команда SUSPEND. Приостановленная программа продолжает выполняться со строки, следующей за командой Suspend.

Команды SUSPEND / RESUME являются наиболее важными при отладке инструментальных средств, различных программных модулей. Вы можете приостановить выполнение программного модуля в некоторой точке и проверить текущее состояние среды системы Visual FoxPro, значение переменных памяти, состояния окон, системы меню или элементов меню.

Caution note Предупреждение

Для предотвращения разрушения программной среды, значений переменных, которое требуется для дальнейшего выполнения приостановленного программного модуля не рекомендуется выполнять команду CLEAR для очистки главного окна Visual FoxPro или активного пользовательского окна.

Expand image См. также

Описание

CANCEL, Команда
CLEAR, Команды
RETURN, Команда
SUSPEND, Команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RETRY Command

Visual FoxPro 9.0 Описание Языка
RETRY, Команда
См. также
CollapseAll image

Выполняет последнюю Команду из стэка команд и возвращает управление в вызываемый программный модуль. RETRY аналогична команде RETURN, в отличии от данной команды, команда RETURN возвращает управление на следующую строку вызываемой программы.

RETRY

Expand image Комментарии

Команда RETRY используется при управляемой системе обработки ошибок. Обычно, данная команда используется при выполнении попыток блокировки текущей записи или файла. Можно использовать установки команды SET REPROCESS, для управления попытками блокировки записей или файлов. Команда SET REPROCESS является более предпочтительной для разрешения большинства "сетевых " ситуаций (по блокировке).

Expand image См. также

Описание

ON ERROR, Команда
RETURN, Команда
SET REPROCESS, Команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RETURN Command

Visual FoxPro 9.0 Описание Языка
RETURN, команда
См. также
CollapseAll image

Возвращает управление вызывающей программе.

RETURN [eExpression | oObjectName | TO MASTER | TO ProcedureName]

Параметры

eExpression

Определяет выражение, возвращаемое вызывающей программе Если данный аргумент отсутствует или данная команда RETURN отсутствует совсем в программном модуле, то автоматически возвращается значение = True (.T.).

oObjectName

Определяет имя объекта, который получает фокус ввода после завершения программы. Применяется только для программного кода События Valid.

TO MASTER

Определяет передачу управления вызывающей программе самого верхнего уровня.

TO ProcedureName

Определяет имя вызывающей программы, в которую передается управление.

Expand image Комментарии

Команда RETURN прерывает выполнение текущего программного модуля, процедуры или функции, передает управление соответствующей вызывающей программе, или указанной программе, или программному модулю самого верхнего уровня, или в Командное Окно VFP.

Система Visual FoxPro очишает все текущие переменные со статусом PRIVATE при выполнении команды RETURN (при явном или неявном (если команда отсутствует совсем)).

Команда RETURN обычно размещается в самом конце пользовательской программы, процедуры или функции, возвращает управление программе более высокого уровня. Однако, при отсутствии команды RETURN, она выполняется неявным образом (по-умолчанию), после завершения программного модуля.

Вы можете переопределить получение фокуса ввода для Объекта, который получает данный фокус, для этого используется аргумент oObjectName команды RETURN для программного кода События Valid. Указываемый объект должен быть определен системой Visual FoxPro и иметь актуальное состояние (должен быть доступен: Enabled=.t.). Если указаваемый объект отключен в настоящий момекнт: disabled или не может получить фокус ввода, то фокус передается следующему доступному объекту. Если указанный объект отсутствует или не может получить фокус ввода Visual FoxPro сохраняет фокус для текущего объекта. Вы можете передать фокус любому доступному объекту из другой формы, или на невидимой страницы Page или контрола Pageframe.

Expand image Пример 1

В следующем примере, пользовательская функция с именем longdate возвращает символьную строку как адаптированную Дату, например для печати.

CopyCode image Копировать Код
SET CENTURY ON
? longdate({^1998-02-16}) && Displays Monday, February 16, 1998

FUNCTION longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate)

Expand image Пример 2

Вы можете возвращать массивы, как элементы некоторого класса, при помощи специального оператора @. Возврат массивов из методов Класса позволяет использовать технологию компонент Visual FoxPro COM, когда используемые компоненты написаны на других языках программирования: Visual Basic / Visual C++. В этом случае используется ключевое слово IMPLEMENTS при описании класса COM.

Поскольку используется прямая адресация элементов массива, то локальные объявление этих массивов недействительны: LOCAL / PRIVATE. Вам необходимо глобальное объявление массивов PUBLIC. Данные конструкции не работают в команде STORE TO....

В следующем примере, из создаваемого класса с именем t1, с помощью метода GetMyArray возвращается массив заданных значений.

CopyCode image Копировать Код
DEFINE CLASS t1 AS custom OLEPUBLIC
 DIMENSION Arrayelement[3]
 FUNCTION GetMyArray() AS array
 this.Arrayelement[1] = 1
 this.Arrayelement[2] = 2
 this.Arrayelement[3] = 3
 RETURN @THIS.Arrayelement
 ENDFUNC
ENDDEFINE

Expand image См. также

Описание

DO , команда
FUNCTION , команда
LPARAMETERS , команда
PARAMETERS , команда
PARAMETERS( ) Function
PRIVATE , команда
PROCEDURE , команда
PUBLIC , команда

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ROLLBACK Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ROLLBACK
Смотрите также Пример
CollapseAll image

Отменяет все изменения, внесенные в ходе текущей транзакции.

ROLLBACK

Expand image Примечания

Команда ROLLBACK восстанавливает исходное состояние таблиц, табличных memo-файлов и файлов индексов, в котором они находились в момент начала транзакции.

Когда вы модифицируете записи в базе данных, являющейся частью транзакции, остальные пользователи сети лишаются доступа к этим записям (по чтению и по записи) до тех пор, пока вы не закончите транзакцию.

Если другие пользователи сети попытаются обратиться к записям, которые вы модифицируете, им придется подождать до завершения вашей транзакции. Тем временем они будут получать сообщение "Record not available ... please wait". Поэтому старайтесь, чтобы транзакция была минимальной длины или выполнялась в такое время, когда никто не собирается обращаться к записям.

Команда ROLLBACK аннулирует все изменения, внесенные в ходе текущей транзакции. Если транзакция является вложенной, отменяются только модификации, сделанные с момента выдачи предшествующей команды BEGIN TRANSACTION. Выполнение программы продолжается со следующего оператора.

Если была установлена блокировка каких-либо записей или файлов, она снимается.

Expand image Пример

В следующем примере открывается таблица customer в базе данных testdata. Устанавливается оптимистическая буферизация для таблицы customer. Содержимое полей cust_id и company выводится на екран, после чеко содержимое поля company заменяется данными из буфера.

Команда BEGIN TRANSACTION выдается для начала транзакции. Команда TABLEUPDATE для сохранения изменений в таблице. Новое содержимое выводится на экран, после чего команда ROLLBACK выводится для востановления начальное значение поля company. Поля cust_id и company выводятся вновь на экран но поле company содержит начальное значение.
CopyCode image Copy Code
CLOSE DATABASES
CLEAR

* Transactions are only supported within a DBC
OPEN DATABASE (HOME(2) + 'Data\testdata')

SET MULTILOCKS ON      && Required for buffering

USE customer
=CURSORSETPROP("Buffering",5)
? 'The original company field'
LIST FIELDS cust_id, company NEXT 5
REPLACE ALL company WITH "***" && Change field contents

BEGIN TRANSACTION
   =TABLEUPDATE(.T.)
   GO TOP
   ? 'The modified company field'
   LIST FIELDS cust_id, company NEXT 5
ROLLBACK           && Restore original field contents

=TABLEREVERT(.T.)
GO TOP
? 'The restored company field'
LIST FIELDS cust_id, company NEXT 5

Expand image Смотрите также

Справочное руководство

Команда BEGIN TRANSACTION
Команда END TRANSACTION
Функция MAKETRANSACTABLE( )
Функция ISTRANSACTABLE( )
Функция TXNLEVEL( )

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RUN | ! Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда RUN | !
Смотрите также
CollapseAll image

Исполняет внешние операционные команды или программы.

RUN [/N] WindowsCommand | ProgramName
! [/N] WindowsCommand | ProgramName

Параметры

WindowsCommand

Указывает исполнимую команду Windows, которая должна быть исполнена.

ProgramName

Указывает программу или приложение Windows для запуска.

/N

Указывает NOWAIT. Включите /N для исполнения других приложений Windows.

Expand image Примечания

Вы можете выдавать команду RUN как из командного окна, так и из программы.

Note Замечание

Для использования RUN, Command.com или Cmd.exe должны находиться там, где переменная среды COMSPEC сможет их найти.

Caution note Предупреждение

Не используйте команду RUN из Visual FoxPro для запуска программ реорганизации диска, таких как CHKDSK. Такие программы изменяют содержимое вашего диска, что может вызвать некорректную работу Visual FoxPro.

Expand image RUN и Visual FoxPro

Команда RUN (без параметра /N) использует приведенную ниже последовательность для определения - какая программа будет использоваться для исполнения указанной команды RUN:

  • Именованный файл PIF - если программа, которую вы указали в RUN не имеет расширения, то Visual FoxPro сначала будет искать Program Information File (PIF) с указанным вами именем. Если файл PIF найден, то программа указанная в PIF исполняется с его же - PIF - параметрами.

  • Файл FOXRUN.PIF - если файл именованного PIF не может быть найден, то команда RUN ищет файл Foxrun.pif, используемый по умолчанию. Если такой файл найден, программа, указанная в Foxrun.pif исполняется с параметрами PIF.

  • Переменная среды COMSPEC - если не найден PIF, который отвечает приведенным выше критериям, то команда RUN использует программу SHELL, указанную операционной средой Windows в переменной среды COMSPEC. Эта переменная обычно указывает на Cmd.exe, однако, в старых операционных системах, таких как Windows 98, она будет указывать на Command.com.

Note Замечание

Для версии Visual FoxPro 9, файл Foxrun.pif более не инсталлируется в корневой каталог Visual FoxPro, поэтому и не используется теперь по умолчанию. Поведение по умолчанию для Visual FoxPro 9 определяется тем, что команда RUN (без параметра /N) должна использовать программу SHELL, указанную в переменной среды COMSPEC. Foxrun.pif теперь инсталлируется в каталоге Visual FoxPro Tools, если он потребуется, то можете взять его там.

PIF позволяет вам запускать под Windows другие программы. Вы можете указать параметры для программы такие, как определяющие исполнение программы в оке или в полный экран, количество памяти, выделяемой для программы и тому подобное.

Если Foxrun.pif планируется использовать, то он должен быть помещен в том же самом каталоге, что и VFPVersionNumber.exe, где VersionNumber представляет собой номер версии этого релиза Visual FoxPro.

Если нет необходимости использовать PIF -файл, то старайтесь избегать его использования, поскольку команда RUN автоматически использует Command.com для вызова программ, указанных в PIF-файле. Например, если ваш PIF-файл указывает на Cmd.exe в качестве программы для запуска, то Visual FoxPro должен в реальности иметь Command.com для вызова Cmd.exe с целью исполнения указанной команды RUN, что может привести к непредсказуемому поведению. Предпочтительнее иметь команду RUN, напрямую использующую программу SHELL, на которую указывает переменная среды COMSPEC операционной системы.

Note Замечание

Если вы используете Windows XP, вы можете видеть и редактировать переменную среды COMSPEC с помощью вызова контекстного меню на иконке My Computer рабочего стола с последующим выбором диалогового окна Properties (Закладка Advanced).

Expand image /N

/N означает NOWAIT. Включение буквы N для исполнения других приложений на основе Windows позволит вам незамедлительно вернуть управление Visual FoxPro. Например, приведенной ниже предложение открывает приложение Windows Character Map:

CopyCode image Скопировать код
! /N CHARMAP.EXE

Следующий пример открывает диалоговое окно Windows Display Properties:

CopyCode image Скопировать код
! /N CONTROL COLOR

Приложения на основе Windows, исполненные с RUN /N или ! /N ведут себя точно также, как если бы вы открыли их с помощью Windows Explorer или выбором Run из меню Start. Вы можете переключаться между приложением и Visual FoxPro, используя стандартные операции Windows.

Вы можете включить сразу после /N число, указывающее, как будет открываться приложение на основе Windows. Не включаются никаких пробелов между /N и числом. В приведенной ниже таблице перечислены численные значения, которые вы можете включить и описываются состояние приложений на основе Windows, когда они открываются.

Значение | Атрибуты приложения
1 | Активное и нормального размера.
2 | Активное и минимизированное.
3 | Активное и распахнутое на весь экран.
4 | Неактивное нормального размера.
7 | Неактивное и минимизированное.

Expand image Запуск внешних программ в Visual FoxPro

По умолчанию Foxrun.pif запускает указанную внешнюю программу в окне. В Visual FoxPro командное окно закрывается после окончания исполнения внешней программы или команды.

Вы можете использовать редактор Windows PIF для настройки Foxrun.pif. Вы можете редактировать PIF, для указания, будет или неактивное командное окно FoxPro Run Command оставлено открытым или будет закрыто (по умолчанию в Visual FoxPro) с помощью установки метки в чек-боксе Close Window on Exit. Вы можете, кроме того, открыть внешнюю программу на весь экран, выбрав Full Screen; выделить память для программы и тому подобное.

Expand image Windows 2000 Logo Certification

Если вы планирует подписать ваше приложение для сертификации Windows Logo, вы не должны использовать команду RUN, так как она потенциально нарушает требования System Group Policy. Вместо этого вы должны использовать DECLARE DLL с ShellExecuteEx.API.

Expand image Смотрите также

Справочное руководство

Функция GETENV( )
Системная переменная _SHELL

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SAVE MACROS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SAVE MACROS
Смотрите также Пример
CollapseAll image

Сохраняет набор макрокоманд клавиатуры в файле макрокоманд клавиатуры или в memo-поле.

SAVE MACROS TO FileName | TO MEMO MemoFieldName

Параметры

TO FileName

Задает файл, в котором следует сохранить макрокоманды. Имена файлов макрокоманд клавиатуры могут содержать не более восьми символов и должны начинаться с буквы или символа подчеркивания, но не с цифры. Последующими символами могут быть буквы, цифры и символы подчеркивания в любой комбинации. Этому файлу присваивается расширение имени .FKY. Если вы задали другое расширение, его необходимо будет указать в команде RESTORE MACROS.

TO MEMO MemoFieldName

Задает memo-поле, в котором сохраняются макрокоманды. Таблица, содержащая это memo-поле, должна быть открыта; но она не обязательно должна находиться в выбранной рабочей области. Чтобы сохранить макрокоманды в таблице, принадлежащей другой рабочей области, нужно при задании memo-поля указать псевдоним таблицы.

Expand image Примечания

При выходе из Visual FoxPro созданные макрокоманды будут утеряны, если не сохранить их с помощью команды SAVE MACROS в файле макрокоманд клавиатуры или в memo-поле.

Expand image Пример

В следующем примере текущий набор макрокоманд сохраняется в файле Mymacros.fky.
CopyCode image Copy Code
SAVE MACROS TO mymacros

Expand image Смотрите также

Справочное руководство

Команда CLEAR
Команда PLAY MACRO
Команда RESTORE MACROS

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SAVE SCREEN Command

Visual FoxPro 9.0 Описание Языка
SAVE SCREEN, Команда
См. также
CollapseAll image

Сохраняет изображение главного окна системы Visual FoxPro или активного пользовательского окна в буфер экрана (screen buffer), в переменную памяти, или в элемент массива.

SAVE SCREEN [TO VarName]

Параметры

TO VarName

Определяет переменную памяти или элемент массива, в котором сохраняется изображение экрана или окна.

Expand image Комментарии

Используйте команду RESTORE SCREEN для отображения (восстановления) сохраненного ранее изображения в буфере экрана, или в переменной памяти, или в элементе массива.

Переменные памяти или элементы массива, содержащие изображения главного окна системы Visual FoxPro или некоторого пользовательского окна имеют атрибут "S" (см. функцию Type()), когда просматривается список переменных памяти, с помощью команд DISPLAY или LIST MEMORY.

Если данная команда используется без параметра TO VarName, SAVE SCREEN сохраняет изображение главного окна системы Visual FoxPro или пользовательского окна в буфере экрана (screen buffer).

Expand image См. также

Описание

RESTORE FROM, Команда
RESTORE SCREEN, Команда
SAVE TO, Команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


SAVE TO Command

Visual FoxPro 9.0 Справочное руководство по языку
SAVE TO Команда
Смотрите также Пример

Сохраняет текущие переменные памяти и массивы в файле переменных памяти или в memo-поле.

Примечание:
Переменные типа объект не могут быть сохранены в файле переменных памяти или в memo-поле. Команда SAVE TO не поддерживает сохранение массивов с количеством элементов, превышающим 65,000.

SAVE TO FileName | MEMO MemoFieldName
   [ALL LIKE Skeleton | ALL EXCEPT Skeleton]

Параметры

FileName

Определяет файл переменных памяти, в котором сохраняются переменные памяти и массивы. Имя такого файла по умолчанию имеет расширение .MEM.
MEMO MemoFieldName

Определяет memo-поле, в котором сохраняются переменные памяти и массивы.
ALL LIKE Skeleton

Определяет сохранение всех переменных памяти и массивов, имена которых соответствуют заданному шаблону Skeleton. Шаблон может включать символы подстановки - вопросительный знак (?) и звездочку (*).
ALL EXCEPT Skeleton

Определяет сохранение всех переменных памяти и массивов, исключая те, имена которых соответствуют заданному шаблону Skeleton. Шаблон может включать символы подстановки - вопросительный знак (?) и звездочку (*).

Замечания

Для восстановления значений переменных памяти и массивов в память из файла переменных памяти или memo-поля, используйте команду RESTORE FROM. Для более подробной информации смотрите Команда RESTORE FROM.

Файл переменных памяти или memo-поля помечаются текущей кодовой страницей.

Пример

В следующем примере создаются две переменные памяти. Они сохраняются в файле переменных памяти, а затем восстанавливаются без очистки существующих переменных памяти.
Скопировать код
gnVal1 = 50
gcVal2 = 'Hello'
SAVE TO temp
CLEAR MEMORY

gdVal3 = DATE( )
RESTORE FROM temp ADDITIVE
CLEAR
DISPLAY MEMORY LIKE g*

Смотрите также

Прочие ресурсы

Команды
Команды PRIVATE
Команда PUBLIC
Команда RELEASE

Шлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


SAVE WINDOWS Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SAVE WINDOWS
Смотрите также Пример
CollapseAll image

Сохраняет заданные описания окон или все описания в файле окон или в memo-поле.

SAVE WINDOWS WindowNameList | ALL TO FileName | TO MEMO MemoFieldName

Параметры

WindowNameList

Задает одно или несколько окон, которые требуется сохранить. Имена окон следует разделять запятыми.

ALL

Сохраняет все описания окон в файле окон или в memo-поле.

TO FileName

Задает файл окон, в котором сохраняются описания окон.

Если имя задано без расширения, по умолчанию предполагается расширение .win. Если при сохранении описаний окон в файле вы задаете иное расширение имени, его нужно будет указать и при восстановлении описаний окон из файла.

TO MEMO MemoFieldName

Задает memo-поле, в котором сохраняются описания окон. Таблица, содержащая это memo-поле, должна быть открыта; но она не обязательно должна находиться в выбранной в данный момент рабочей области. Чтобы сохранить описания окон в таблице, принадлежащей другой рабочей области, нужно при задании memo-поля указать псевдоним таблицы.

Expand image Примечания

Для восстановления описаний окон из файла окон или memo-поля пользуйтесь командой RESTORE WINDOW. Вместе с описанием сохраняется и статус окна. Например, если окно в момент сохранения в файл или memo-поле было скрыто, оно останется скрытым и после восстановления.

Expand image Пример

В следующем примере создается окно wOutput1, а затем его описание сохраняется в файле Temp.win. Все окна очищаются, после чего окно wOutput1 восстанавливается из файла и активизируется.
CopyCode image Copy Code
CLEAR
DEFINE WINDOW wOutput1 FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW wOutput1
@ 1,1 SAY 'This is the contents of the window'
SAVE WINDOWS wOutput1 TO temp
CLEAR WINDOWS
WAIT WINDOW 'The window has been saved - Press a key'

RESTORE WINDOW wOutput1 FROM temp
ACTIVATE WINDOW wOutput1
WAIT WINDOW 'The window has been restored - Press a key'

DEACTIVATE WINDOW wOutput1
RELEASE WINDOW wOutput1
DELETE FILE temp.win

Expand image Смотрите также

Справочное руководство

Команда DEFINE WINDOW
Команда RESTORE SCREEN
Команда RESTORE WINDOW
Команда SAVE SCREEN

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SCAN ... ENDSCAN Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SCAN ... ENDSCAN
Смотрите также Пример
CollapseAll image

Перемещает указатель записи по таблице, выбранной в данный момент, и для каждой записи, удовлетворяющей указанным условиям, выполняет определенный блок команд.

SCAN [NOOPTIMIZE] [Scope] [FOR lExpression1] [WHILE lExpression2]
   [Commands]
   [LOOP]
   [EXIT]
ENDSCAN

Параметры

NOOPTIMIZE

Запрещает оптимизацию выполнения команды SCAN по технологии Rushmore.

Подробнее об этом см. описание команды SET OPTIMIZE а также Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Scope

Задает просматриваемый диапазон записей. Будут анализироваться только записи, принадлежащие заданному диапазону. Диапазон определяется следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона см. Scope Clauses .

По умолчанию областью действия команды SCAN являются все записи (предложение ALL).

FOR lExpression1

Задает выполнение команд только для тех записей, для которых значением выражения lExpression1 является "истина" (.T.). Включите предложение FOR для тфильтрации записей, которые не нужно просматривать.

Технология Rushmore позволяет оптимизировать запрос, сформированный командой SCAN ... FOR, если lExpression1представляет собой оптимизируемое выражение. В целях повышения производительности используйте в предложении FOR оптимизируемое выражение.

Подробнее об этом см. описание команды SET OPTIMIZE а также Использование оптимизации запросов Rushmore для ускорения доступа к данным.

WHILE lExpression2

Задает условие, в соответствии с которым команды будут выполняться, пока значением выражения lExpression2 остается "истина" (.T.).

Commands

Задает команды Visual FoxPro, которые следует выполнять.

LOOP

Возвращает управление непосредственно оператору SCAN. Оператор LOOP можно ставить в любом месте между SCAN и ENDSCAN.

EXIT

Передает управление из цикла SCAN ... ENDSCAN первой команде, следующей за ENDSCAN. Оператор EXIT можно ставить в любом месте между SCAN и ENDSCAN.

ENDSCAN

Отмечает конец процедуры SCAN.

Expand image Замечания

SCAN автоматически продвигает указатель записи к следующей записи, удовлетворяющей заданным условиям, и выполняет блок команд.

После оператора ENDSCAN в той же строке можно писать комментарии. Они игнорируются в процессе компиляции и выполнения программы.

SCAN ... ENDSCAN ensures that, upon reaching ENDSCAN, Visual FoxPro reselects the table that was current when the SCAN ... ENDSCAN loop began.

Expand image Пример

В следующем примере используется цикл SCAN ... ENDSCAN, выдающий на экран все компании в Швеции.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
CLEAR

SCAN FOR UPPER(country) = 'SWEDEN'
   ? contact, company, city
ENDSCAN

Expand image Смотрите также

Справочное руководство

Команда DO CASE ... ENDCASE
Команда DO WHILE ... ENDDO
Команда FOR EACH ... ENDFOR
Команда FOR ... ENDFOR

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SCATTER Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SCATTER
Смотрите также
CollapseAll image

Копирует данные из текущей записи в набор переменных, в масив, или в объект.

SCATTER и COPY TO ARRAY ведут себя подобно. SCATTER копирует только одну текущюю запись в масив или набор переменных и автоматически создает массив или переменные, если они еще не существуют. COPY TO ARRAY копирует групу записей в масив. Для получения дополнительной информации, смотрите Команда COPY TO ARRAY.

Для копирования переменных или элементов массива в запись таблици, используйте команда GATHER.

SCATTER [FIELDS FieldNameList | FIELDS LIKE Skeleton
   | FIELDS EXCEPT Skeleton] [MEMO] [BLANK]
   TO ArrayName | TO ArrayName | MEMVAR
   | NAME ObjectName [ADDITIVE]

Параметры

FIELDS FieldNameList

Определяет поля значения которых будут копироваться в переменные или масив.

SCATTER игнорирует мемо поля по умолчанию; однако, Вы можете включить мемо поля в cписок полей следующим за cписком полей с ключевым словом MEMO. Однако, SCATTER игнорирует поля типа general даже если вы включаете ключевое слово MEMO.

Опускание FIELDS FieldNameList копирует значения со всех полей.

FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton

Копирует поля включяя или исключяя Skeleton в переменные или масив. Вы можете включить выражение LIKE или EXCEPT или оба.

Чтобы скопировать значения полей соответствующих Skeleton в переменные или масив, используйте выражение LIKE Skeleton. Чтобы скопировать значения всех полей кроме тех, которые соответствуют Skeleton в переменные или масив, используйте выражение EXCEPT Skeleton. Skeleton поддерживает групповые символы. Например, чтобы скопировать значения всех полей , которые начинаются с символов A и P в переменные или масив, используйте следующие строки программы:

CopyCode image Copy Code
SCATTER FIELDS LIKE A*,P* TO myArray

Выражение LIKE может быть объединено с выражением EXCEPT clause:

CopyCode image Copy Code
SCATTER FIELDS LIKE A*,P* EXCEPT PARTNO* TO myArray
MEMO

Определяет, что cписок полей включает одно или более мемо поле.

Note Note

Ваш компьютер должен иметь достаточно памяти для копирования больших мемо полей в переменные или масив. Visual FoxPro генерирует сообщение об ошибке, если ваш компьютер испытывает недостаток в памяти. SCATTER не копирует данные с мемо полей если они слишком большие для помещения в память также непроизводится копирование из любых дополнительных мемо полей в списке полей. Если SCATTER для мемо полей не выполняется, значениям переменных или масива присваивается значение False (.F.).

TO ArrayName

Определяет массив в который копируется содержимое записей. Начинаясь с первого поля, SCATTER копирует содержимое каждого поля в каждый элемент массива в последовательном порядке.

Если массив, заданный вами, содержит больше элементов чем число полей, лишние элементы массива остаются неизменными. SCATTER автоматически создает новый массив, если массив еще не существует, или если он содержит меньше элементов чем число полей. Элементы массива имеют тот же самый размер и типы данных что и скопированные поля.

TO ArrayName

Создает массив с пустыми элементами, которые имеют тот же размером и тип что и поля таблици.

MEMVAR

Копирует данные в набор переменных вместо масива. SCATTER создает одну переменную для каждого поля таблици и наполняет каждую переменную данными из связанного поля текущуй записи, задавая переменной тоже имя, размер и тип данных что и поле.

Если включен список полей, то SCATTER создает переменную для каждого поля из списке.

Для ссылки на переменную которая имеет тоже имя что и поле в текущей таблице, помещайте спецификатор m. перед именем переменной.

Caution note Caution

Невключайте ключевое слово TO c MEMVAR. Visual FoxPro создаст масив с именем MEMVAR если вы включите ключевое слово TO.

Включите ключевое слово BLANK для создания набора пустых переменных. Каждой переменной назначается тоже имя, тип данных и размер что и поля. Если включен список полей, переменные создаются для каждого поля в списке полей.

NAME ObjectName [ADDITIVE]

Создается объект чьи свойства имеют те же имена что и поля таблици.

Чтобы скопировать значение каждого поля таблици в каждое свойство объекта, невключайте ключевое слово BLANK. Чтобы оставлять свойства пустыми, включите ключевое свойство BLANK. Для описания того, что содержат пустые свойства, основанный на соответствующем типе поля, смотрите Функция EMPTY( ). Свойства не создаются для полей типа general существующих в таблице.

Для обновления значений свойств существующего и правильного обекта Visual FoxPro определенного ObjectName, но не COM объекта, значениями из текущей записи, включите ключевое слово ADDITIVE. Если объект несуществует, Visual FoxPro создаст его автоматически. Вы не можете использовать ключевое слово ADDITIVE без выражения NAME. Такое выражение генерирует ошибку.

Использование BLANK с ADDITIVE опускает значения для существующих свойств которые имеют соответствующие имена полей.

Expand image Примечания

Если свойства, соответствующие именам полей не существуют для объекта, SCATTER...NAME ADDITIVE автоматически создает их. Однако, SCATTER не может создавать все необходимые свойства, потому что некоторые могут бы быть помечены как Hidden или Protected. Если Visual FoxPro неможет создать или установить свойство, генерируется ошибка. Например, вы можете иметь имя поля, которое соответствует имени свойства объекта Visual FoxPro, имеет такую же длину и тип данных. Однако, Visual FoxPro генерирует ошибку если иммя поля соответствует методу, событию, или имени объекта.

Вы можете избежать проблем при использовании объекта, созданного SCATTER...NAME в отличии от других классов VFP. В отличие от того, когда SCATTER используется только с NAME, Visual FoxPro не перезаписывает существующий объект создавая новый объект.

SCATTER...NAME ADDITIVE не генерирует ошибку когда свойство доступное для чтения неможет быть установлено для поля в таблице. Однако, значение свойства остается неизменным.

Для ссылки на свойство в объекте, которое имеет то же имя что и открытая таблица, помещайте спецификатор m. перед именем свойства. Следующий пример отображает значение поля Company в таблице Customer далее значение свойства Company объекта Customer:

CopyCode image Copy Code
USE Customer
SCATTER NAME Customer
? Customer.Company  && Returns the table value
? m.Customer.Company  && Returns the object property value

Expand image Примеры

Пример 1

Этот пример использует SCATTER чтобы создать ряд переменных основанных на полях тестовой таблици. Каждому полю назначается значение и пустая запись добавляется в таблицу. Данные копируются в таблицу используя команду GATHER.

CopyCode image Copy Code
CREATE TABLE Test FREE ;
   (Object C(10), Color C(16), SqFt n(6,2))

SCATTER MEMVAR BLANK
m.Object="Box"
m.Color="Red"
m.SqFt=12.5
APPEND BLANK
GATHER MEMVAR
BROWSE

Пример 2

Этот пример использует SCATTER вместе с выражением NAME для создания объекта с свойствами основаными на полях таблици. Свойствам объекта присваиваются значения и новая пустая запись добавляется в таблицу. Данные копируются в новую запись используя команду GATHER с выражением NAME.

CopyCode image Copy Code
CREATE TABLE Test FREE ;
   (Object C(10), Color C(16), SqFt n(6,2))

SCATTER NAME oTest BLANK
oTest.Object="Box"
oTest.Color="Red"
oTest.SqFt=12.5
APPEND BLANK
GATHER NAME oTest
RELEASE oTest
BROWSE

Пример 3

Предположим, что вы имеете две или больше таблици или курсора и желаете создать объект, который комбинирует данные из этих курсоров. Следующий пример выбирает Таблицу Customer и использует SCATTER...NAME для создания объекта oCustomer и его свойства из полей таблици Customer. Потом SCATTER...NAME...ADDITIVE обновляет значения из полей ReportDate и Rating таблици CreditHistory и полей CookieText и SessionId таблици MySessionTable в объекте oCustomer или создает соответствующие свойства если они не существуют.

CopyCode image Copy Code
SELECT Customer
SCATTER NAME oCustomer
SELECT CreditHistory
SCATTER FIELDS ReportDate, Rating NAME oCustomer ADDITIVE
SELECT MySessionTable
SCATTER FIELDS CookieText, SessionId NAME oCustomer ADDITIVE

Expand image Смотрите также

Справочное руководство

Функция ALINES( )
Команда APPEND FROM ARRAY
Команда DECLARE
Команда DIMENSION
Команда GATHER

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SCROLL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SCROLL
Смотрите также Пример
CollapseAll image

Прокручивает содержимое области в основном окне Visual FoxPro или пользовательском окне вверх, вниз, влево или вправо.

SCROLL nRow1, nColumn1, nRow2, nColumn2, nRowsScrolled
    [, nColumnsScrolled]

Параметры

nRow1, nColumn1, nRow2, nColumn2

Задает прямоугольную область в основном окне Visual FoxPro или в активном пользовательском окне, в которой необходимо выполнять прокрутку. Аргументы nRow1, nColumn1 1 задают левый верхний угол этой области, а nRow2, nColumn2 - правый нижний угол.

nRowsScrolled

Задает количество строк, прокручиваемых вверх или вниз в прямоугольной области. Если числовое выражение nRowsScrolled положительно, Visual FoxPro прокручивает указанное количество строк вверх. Если nRowsScrolledотрицательно, Visual FoxPro прокручивает заданное число строк вниз. Если значение nRowsScrolled равно 0, а аргумент nColumnsScrolledопущен, Visual FoxPro очищает прямоугольную область.

nColumnsScrolled

Задает количество строк, прокручиваемых влево или вправо в прямоугольной области. Если числовое выражение expression nColumnsScrolled положительно, Visual FoxPro прокручивает указанное количество строк вправо. Если nColumnsScrolled отрицательно, Visual FoxPro прокручивает заданное число строк влево. Если одновременно задать и nRowsScrolled и nColumnsScrolled, Visual FoxPro прокручивает содержимое области по диагонали.

Expand image Пример

Следующие команды осуществляют прокрутку маленькой прямоугольной области:
CopyCode image Copy Code
CLEAR
@ 4, 1 FILL TO 10, 8 COLOR GR+/B
WAIT WINDOW 'Press key to scroll left top corner'
SCROLL 0, 0, 5, 5, -2, 1

Expand image Смотрите также

Справочное руководство

Команда MOVE WINDOW
Свойство ScrollBars
Команда @ ... SCROLL

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SEEK Command

Visual FoxPro 9.0 Справочник Языка
SEEK Команда
См. Также Пример

Ищет в таблице первое появление записи, индексный ключ которой соответствует общему выражению, затем перемещает указатель на соответствующую запись.

Обратите внимание:
Visual FoxPro не поддерживает операцию поиска для бинарных индексов.

SEEK eExpression   [ORDER nIndexNumber | IDXIndexFileName
    | [TAG] TagName [OF CDXFileName]    [ASCENDING | DESCENDING]]
   [IN nWorkArea | cTableAlias]

Параметры

eExpression

Определяет индексный ключ, поиск которого осуществляет SEEK. eExpression может иметь значение null.
ORDER nIndexNumber

Определяет номер индексного файла или тэга, который используется для поиска индексного ключа. nIndexNumber относится к индексным файлам в порядке их перечисления в командах USE или SET INDEX. Открытые .idx-файлы нумеруются в первую очередь, в порядке их появления в командах USE или SET INDEX. Тэги структурного .cdx-файла (если существует) нумеруются во вторую очередь и в порядке их создания. Наконец, тэги любых открытых независимых .cdx-файлов нумеруются в последнюю очередь в порядке их создания. См. Команду SET ORDER для подробной информации о нумерации индексов.
ORDER IDXIndexFileName

Определяет .idx-файл, который используется для поиска индексного ключа.
ORDER [TAG] TagName [OF CDXFileName ]

Определяет тэг .cdx-файла, который используется для поиска индексного ключа. Имя тэга может быть взято из структурного .cdx-файла или любого открытого независимого .cdx-файла. Если существуют идентичные имена тэгов в открытых независимых .cdx-файлах, используйте предложение OF CDXFileName для определения .cdx-файла, содержащего данный тэг.
Обратите внимание:
.idx-файл имеет приоритет при наличии дубликатов имен .idx-файла и тэга.

ASCENDING

Определяет, что таблица просматривается в возрастающем порядке.
DESCENDING

Определяет, что таблица просматривается в порядке убывания.
IN nWorkArea

Определяет номер рабочей области просматриваемой таблицы.
IN cTableAlias

Определяет псевдоним просматриваемой таблицы. Если Вы опускаете IN nWorkArea и IN cTableAlias , просматривается таблица в текущей рабочей области.

Замечания

Вы можете использовать SEEK только с индексированными таблицами, и Вы можете осуществлять поиск только по индексному ключу. Соответствие поиска должно быть точным, если SET EXACT не установлено в OFF.

Если SEEK находит вхождение индексного ключа в записи, RECNO( ) возвращает номер записи вхождения, FOUND( ) возвращает истину (.T)., и EOF( ) возвращает ложь (.F.).

Если вхождение ключа не найдено, RECNO( ) возвращает количество записей в таблице плюс 1, FOUND( ) возвращает ложь (.F)., и EOF( ) возвращает истину (.T.).

Если включено SET NEAR, указатель записи позиционируется немедленно после записи с самым близким индексным ключом. Если SET NEAR выключен, указатель позиционируется в конец файла. В любом случае, RECNO () возвращает номер самой близкой записи.

Пример

В следующем примере, таблица "Клиенты" открывается и индексируется по полю Company. Используется SEEK, чтобы найти индексное ключевое выражение, которое соответствует значению, содержащемуся в переменной gcSeekVal .

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER company  && Opens Customer table
SET EXACT OFF
STORE 'B' TO gcSeekVal
SEEK gcSeekVal
IF FOUND( )
   DISPLAY FIELDS company, contact
ENDIF

См. Также

Другие Ресурсы

Команды
EOF( ) Функция
FOUND( ) Функция
INDEX Команда
INDEXSEEK( ) Функция
LOCATECommand
RECNO( ) Функция
SEEK( ) Функция
SET EXACT Команда
SET NEAR Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SELECT - SQL Command

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, Команда
См. также
CollapseAll image

Выполняет выборку данных из одной или нескольких таблиц. Когда вы используете команду SQL SELECT для создания Запроса, система Visual FoxPro выполняет грамматический анализ Запроса и возвращает выбранные данные из таблиц. Создавать запросы SQL SELECT, и выполнять их можно из Командного Окна, в программных модулях Visual FoxPro program, или используя системное средство Дизайнер Запросов. Смотрите дополнительную информацию об использовании SQL в разделе Базовые соглашения по использованию операторов SQL SELECT .

Полная синтаксическая конструкция команды SQL SELECT выглядит следующим образом:

SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] Select_List_Item [, ...]
 FROM [FORCE] Table_List_Item [, ...]
 [[JoinType] JOIN DatabaseName!]Table [[AS] Local_Alias]
 [ON JoinCondition [AND | OR [JoinCondition | FilterCondition] ...]
 [WITH (BUFFERING = lExpr)]
 [WHERE JoinCondition | FilterCondition [AND | OR JoinCondition | FilterCondition] ...]
 [GROUP BY Column_List_Item [, ...]] [HAVING FilterCondition [AND | OR ...]]
 [UNION [ALL] SELECTCommand]
 [ORDER BY Order_Item [ASC | DESC] [, ...]]
 [INTO StorageDestination | TO DisplayDestination]
 [PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]

Expand image Комментарии

В следующем программном коде представлены Основные Опции рассматриваемой команды:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
 [WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [UNION Clause]
 [HAVING Conditions]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

В следующих разделах описывается детальный синтаксис и дополнительные соображения по ключевым Опциям команды SQL SELECT:

  • SELECT - SQL, команда - SELECT, Опция

  • SELECT - SQL, команда - FROM, Опция

  • SELECT - SQL, команда - WITH, Опция

  • SELECT - SQL, команда - WHERE, Опция

  • SELECT - SQL, команда - GROUP BY, Опция

  • SELECT - SQL, команда - HAVING, Опция

  • SELECT - SQL, команда - UNION, Опция

  • SELECT - SQL, команда - ORDER BY, Опция

  • SELECT - SQL, команда - INTO или TO, Опция

  • SELECT - SQL, команда - Прочие дополнительные Опции

Если перед выполнением команды SELECT SQL включены следующие режимы: SET TALK ON и SET NOTIFY ON, Visual FoxPro отображает на текущее устройство вывода (экран или активное окно) длительность выполнения Запроса и количество выбранных Записей данных. Системная переменная _TALLY содержит количество выбранных записей в итоговом результате Запроса. Смотрите дополнительную информацию в разделах: SET TALK, команда, SET NOTIFY, команда, и _TALLY, системная переменная.

Note Примечание

Длительность выполнения Запроса может не выводиться на экран, если запрос выполняется очень быстро.

Команды SELECT SQL не учитывают (игнорируют) текущие режимы фильтрования данных, установленные командами SET FILTER. Смотрите дополнительно раздел SET FILTER, команда.

Expand image Примеры

В следующих примерах программного кода представлено несколько вариантов выборки данных с помощью команды SQL SELECT; в качестве источника данных используется тестовая База Данных TestData.dbc, включенная в стандартную поставку системы Visual FoxPro.

Пример 1

В следующем примере отображается поле из таблицы с использованием ключевой опции FROM. Выполняется выборка наименований Компаний из таблицы Клиентов (Company-Customer):

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT customer.company ;
 FROM customer

Пример 2

В данном примере выполняется выборка всех записей с использованием опции AS Column_Name - задание нового имени выбираемого столбца. Выполняется выборка столбца City из таблицы Customer, преобразование в верхний регистр, с помощью функции UPPER( ), итоговому столбцу в выборке присваивается имя CityList.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT UPPER(city) AS CityList FROM customer

Пример 3

В следующем примере демонстрируется использование опции DISTINCT - для выборки уникальных значений; а также использование опции WHERE, определяющей условие связывания двух таблиц. В результирующий набор выбираются поля Company, Order_Date, и Shipped_On, имеющие уникальные значения (в совокупности) для исходных таблиц Customer и Orders. В операторе SELECT используются локальные алиасы указанных таблиц - для однозначной идентификации поля Cust_ID, которое присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT DISTINCT TAlias1.company, TAlias2.order_date, ;
 TAlias2.shipped_on ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id

Пример 4

В следующем примере выполняется выборка данных из двух таблиц, ключевая опция WHERE используется для указания условия связывния этих таблиц, и указания дополнительного условия фильтрации. В операторе SQL Select объединяются данные из таблиц Customer и Orders, которые связываются по полю Cust_ID; выбираются следующие поля Company, Order_Date, и Shipped_On; условие фильтра: только те записи, для которых order_date earlier < 02/16/1994. В данном операторе SELECT используются локальные алиасы исходных таблиц, так как ключевое поле связывания таблиц Cust_ID присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_date, TAlias2.shipped_on ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id ;
 AND TAlias2.order_date < {^1994-02-16}

Пример 5

В следующем примере демонстрируется использование опции ORDER BY Order_Item - для упорядочивания результирующих записей выполняемого Запроса. Здесь ваполняется выборка полей Country, PostalCode, и Company из исходной таблицы Customer; осуществляется сортировка результирующих записей по всем указанным полям, как они заданы в данной опции; сортировка выполняется в возрастающем порядке (по-умодчанию).

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT country, postalcode, company ;
 FROM customer ;
 ORDER BY country, postalcode, company

Пример 6

В следующем примере показано использование опции INTO TABLE TableName - задание результирующей таблицы. В примере выполняется выборка полей Company, Order_Date, и Shipped_On из таблиц Customer, Order, которые объединяются по ключевому полю Cust_ID, результат выполнения запроса помещается в указанную таблицу CustShip. Получаемая таблица отображается в системном окне Browse. В команде SELECT используются локальные алиасы для однозначного описания ключевого поля Связи, Cust_ID, которое присутствует в обоих исходных таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_date, TAlias2.shipped_on ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id ;
 INTO TABLE custship.dbf
BROWSE

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда
SET ENGINEBEHAVIOR, команда
SYS(3054) - Уровень оптимизации Запросов Rushmore
SYS(3099) - Режим совместимости при выборке данных SQL Data Engine
Условия Фильтрации для Запросов и Представлений
Базовые соглашения по использованию операторов SQL SELECT

Концепции

Условия Объединения Таблиц, Запросы и Представления

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Представлений и Запросов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Considerations for SQL SELECT Statements

Visual FoxPro 9.0
Общие Рекомендации по использованию операторов SQL SELECT
См. также
CollapseAll image

При создании и использовании Запросов и Представлений, основанных на стандартных операторах SQL SELECT, необходимо учитывать следующие Рекомендации, Соглашения и Ограничения.

  • Пользовательские функции в операторах SQL SELECT

  • Агрегатные функции

  • Правила именования результирующих столбцов

  • Операции Объединения (UNION)

Expand image Пользовательские функции в операторах SQL SELECT

В списке выражений выборки данных Select_Item стандартного оператора SQL SELECT вы можете использовать пользовательские функции. Тем не менее, необходимо учитывать следующие рекомендации и ограничения по использованию пользовательских функций в операторах SQL SELECT:

  • Вместо высокоуровневых пользовательских функций (VFP) рекомендуется использовать функции API или пользовательские функции, разработанные с помощью инструментария "C" или Ассемблера. Высокоуровневые пользовательские функции могут замедлять работу рассматриваемых операторов SQL SELECT.

  • При использовании пользовательских функций в операторах SQL SELECT ничего не известно об операциях ввода/вывода системы Visual FoxPro (I/O) или о текущей Среде Данных. В общих чертах, вы не знаете, какая рабочая область является в настоящий момент текущей, имя открытой Таблицы данных, имена требуемых Полей указанной таблицы. Значения конкретных переменных зависят от точного положения указателя Записи, что существенно влияет на выполнение вызываемых функций.

  • При выполнении пользовательских функций в операторах SQL SELECT не рекомендуется выполнять операции ввода/вывода Visual FoxPro (I/O) или изменять Среду Данных. В общих чертах, результаты могут быть непредсказуемыми.

  • Единственным надежным способом параметризации пользовательских функций, вызываемых в операторах SQL SELECT, является передача списка параметров.

  • Понимание термина "forbidden" - правильного разрешения ссылок, обеспечивает получение правильных результатов Запросов в одной версии Visual FoxPro, и совсем других результатов - в другой версии VFP.

Помимо перечисленных Замечаний по правильному использованию пользовательских функций в операторах SQL SELECT. Тем не менее, помните, что использование рассматриваемых функций, в общем случае, замедляет выполнение рассматриваемого оператора SQL SELECT.

Дополнительную информацию о построении пользовательских функций смотри в разделе: Пользовательские Процедуры и Функции.

Expand image Агрегатные Функции

Вы можете использовать Агрегатные функции: 1) в списке элементов Выборки Select_Item, как Поле или как Выражение, содержащее поле; 2) в составе условия Фильтрации ключевой секции HAVING. Тем не менее, вы не можете использовать вложенные агрегатные функции.

В следующей таблице приводится список агрегатных функций, которые можно использовать в операторах SQL SELECT.

Агрегатная Функция | Описание
AVG( ) | Вычисление Среднего значения указанного столбца числового типа.
COUNT( ) or CNT( ) | Вычисление количества выбранных элементов стобца. COUNT(*) вычисляет количество выбранных Записей Запроса.
MIN( ) | Определяет минимальное значение столбца из списка Select_Item.
MAX( ) | Определяет минимальное значение столбца из списка Select_Item.
SUM( ) | Вычисление общей суммы указанного столбца числового типа.

В следующем примере создается Запрос, в котором имена столбцов определяются соответствующими вычисляемыми функциями.:

CopyCode image Копировать Код
CLEAR ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT AVG(TAlias1.order_amt), MIN(TAlias1.order_amt) ;
 FROM Orders AS TAlias1

Дополнительная информация по использованию агрегатных функций в операторах SQL SELECT смотрите в разделах: MIN( ), функция , MAX( ), функция, а также: CALCULATE, команда, которые содержат также информацию о функциях: AVG( ), COUNT( ) , CNT( ), SUM( ).

Expand image Правила формирования Имен результирующих столбцов

Следующие правила относятся к случаям, когда Имя результирующего столбца Запроса указывается в опции AS:

  • Если элемент Select_Item указывается как имя Поля, данное имя должно быть уникальным в результирующем наборе Запроса.

  • Если несколько элементов Select_Item имеют одинаковое имя, то к имени добавляется символ подчеркивания (_) и некоторый символ (_a, _b,_c...).

    Например, если в операторе SQL SELECT выполняется выборка поля Cust_ID из двух таблиц Customer и Orders, то имена новых столбцов формируются по шаблону: FieldName_a и FieldName_b, или точнее, Cust_ID_a и Cust_Id_b. В следующем примере имена результирующих столбцов формируются по указанным правилам:

    CopyCode image Копировать Код
    CLEAR ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT TAlias1.cust_id, TAlias2.cust_id ;
       FROM Customer AS TAlias1, Orders AS TAlias2 ;
       WHERE TAlias1.cust_id = TAlias2.cust_id

    Для свободных таблиц, если в операторе SQL SELECTформируются несколько столбцов с одинаковыми именами, которые не могут иметь длину более 10 символов, сначала имя укорачивается, а за тем добавляется описанный номер повторения. Например, для дублируемого столбца с именем Department новые столбцы имеют имена Department и Departmen2.

  • Если элемент выбираемого списка Select_Item является некоторым Выражением, то в результирующем наборе Запроса появится имя столбца Exp_1. Прочие имена аналогично формируемых столбцов будут иметь вид Exp_2, Exp_3, и так далее. В следующем примере имена результирующих столбцов формируются описанным выше способом:

    CopyCode image Копировать Код
    CLEAR ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT TAlias1.postalcode+"-1234", TAlias2.postalcode+"-5678" ;
     FROM Customer AS TAlias1, Orders AS TAlias2 ;
     WHERE TAlias1.cust_id = TAlias2.cust_id

  • Если элементом выбираемого списка является агрегатная функция, например, COUNT( ), то новый столбец будет иметь имя Cnt_FieldName. Если несколько выбираемых элементов Select_Item представляют из себя агрегатные функции, имена новых столбцов формируются по шаблону AggregateFunction_FieldName, где присутствует аббревиатура соответствующей агрегатной функции. В следующем примере имена столбцов формируются указанным способом:

    CopyCode image Копировать Код
    CLEAR ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT COUNT(order_id), SUM(order_net)FROM Orders

    Дополнительная информация содержится в разделе: Агрегатные Функции.

Expand image Операции Объединения (UNION)

При использовании операций Объединения (UNION) между несколькими операторами SQL SELECT, нужно учитывать следующие предупреждения и ограничения:

  • Все списки выбираемых элементов в нескольких операторах выборки, объединенных ключевой секцией UNION должны содержать одинаковое количество выбираемых элементов (имен столбцов, некоторых выражений, агрегатных функций, и так далее...).

  • Соответствующие столбцы в результирующем наборе Запроса, полученного при объединении UNION, или столбцы из подзапроса в некотором из запросов, должны быть одного типа данных, или допускать преобразование одного типа данных в другой, или представлять из себя буквальное преобразование одного типа данных в требуемый тип. Например, если выполняется объединение (UNION) между столбцом типа DateTime и столбцом одного из бинарных типов (binary data type), то данное объединение неосуществимо, без явного преобразования одного из указанных типов в другой. Тем не менее, объединение UNION будет работать между столбцом с типом данных (money) и столбцом типа (integer), так как данные типы взаимно конвертируемы.

    Столбцы типа (xml) должны бать эквивалентными. Все столбцы должны соответствовать одной схеме XML, или быть нетипизированными. Если они типизированы, то должны соответствовать одним типам данных в заданной схеме XML.

  • Имена результирующих столбцов, полученных из нескольких Запросов, объединенных ключевой секцией UNION, определяются первым списком выборки, первым оператором SQL SELECT. Данные имена столбцов результирующего набора могут быть использованы в общих секциях Запроса (к примеру, в секции группировки ORDER BY), ссылка на имя столбца должна соотвентствовать первому оператору SELECT.

  • Соответствующие столбцы в каждом отдельном операторе Выборки, которые объединяются с помощью ключевой секции UNION, должны быть размещены в одинаковом порядке; секция UNION выполняет сравнения столбцов один-к-одному по порядку расположения столбцов в каждом операторе Выборки.

    Когда происходит объединение различных типов данных с помощью секции UNION, расположенных в соответствующих столбцах, преобразование выполняется по правилам Приоритета типов данных. В предыдущем примере выполнялось преобразование типа данных int - в тип данных float, в силу того, что тип float имеет больший приоритет, чем int.

Приоритеты преобразования типов данных в операциях объединения (UNION)

До версии Visual FoxPro 8.0, разработчик был вынужден выполнять явное преобразование несоответствующих типов данных для соответствующих столбцов, объединяемых в секции UNION оператора выборки SQL SELECT. Тем не менее, в настоящей версии Visual FoxPro, существует поддержка автоматической конвертации несоответствующих типов данных.

Явное преобразование типов данных требует использования соответствующих конверсионных функций системы Visual FoxPro, таких как CTOD( ), в тоже время, неявное преобразование типов данных не требует использования конверсионных функций.

Когда система Visual FoxPro выполняет объединение столбцов с различными типами данных в секции UNION, тип данных с меньшим приоритетом конвертируется в тип данных с большим приоритетом. Поля со свойством NULL имеют больший приоритет над полями со свойством NOT NULL.

В следующей таблице представлены все Явные и Неявные преобразования типов данных, выполняемые системой Visual FoxPro:

Тип Данных | Неявное Преобразование | Явное Преобразование
Character | Character (Binary) | CTOD( ), CTOT( ), VAL( ), CTOBIN( )
Character (Binary) |  |
Currency |  | MTON( )
Date | DateTime | DTOC( ), DTOS( ), DTOT( )
DateTime |  | TTOC( ), TTOD( )
Double |  | STR( ), VAL( )
Float | Numeric | NTOM( ), STR( ), INT( )
Integer | Numeric, Float, Double, Currency | BINTOC( )
Logical |  |
Numeric | Float | NTOM( ), STR( ), INT( )

В следующей таблице иллюстрируются результаты Неявного преобразования типов данных при операции объединения (UNION) .

Тип данных 1 | Тип данных 2 | Ожидаемый тип Данных
Character (N) | Character (X) | Character (MAX(N,X))
Character (N) | Character Binary (X) | Character Binary (MAX(N,X))
Character (N) | Memo | Memo
Character Binary (N) | Character Binary (X) | Character Binary (MAX(N,X))
Character Binary (N) | Memo | Memo
Currency | Currency | Currency
Date | Date | Date
Date | DateTime | DateTime
DateTime | DateTime | DateTime
Double (N) | Float (X,Y) | Float (MAX(MAX(8,Y),2))
Double (N) | Integer | Double (N)
Double (N) | Numeric (X,Y) | Double (MAX(MAX(8,Y),2))
Double (X) | Double (Y) | Double (MAX(X,Y))
Float (N,M) | Double (X) | Float (20, MAX(M,X))
Float (N,M) | Float (X,Y) | Float (MAX(N,M), MAX(X,Y))
Float (N,M) | Numeric (X,Y) | Float (MAX (N,X), MAX(M,Y))
Integer | Currency | Currency
Integer | Double (X) | Double (X)
Integer | Float (X,Y) | Float (MAX(11,X), Y)
Integer | Integer | Integer
Integer | Numeric (X,Y) | Numeric (MAX(11,X), Y)
Logical | Logical | Logical
Numeric (N,M) | Double (X) | Numeric (20, MAX(M,X))
Numeric (N,M) | Float (X,Y) | Float (MAX(N,X), MAX(M,Y))
Numeric (N,M) | Numeric (X,Y) | Numeric (MAX(N,X), MAX(M,Y))
Varchar (X) | Character (Y) | Varchar (MAX(X,Y))
Varchar Binary (X) | Character Binary (Y) | Varchar Binary (MAX(X,Y))

Дополнительную информацию о Типах данных и конверсионных функциях смотри в разделах: Типы Данных и Полей Таблиц и Функции преобразования Данных.

Expand image См. также

Описание

SELECT - SQL, команда

Другие ссылки

Общее Описание
Работа с Запросами
Работа с Представлениями (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Filter Conditions for Queries and Views

Visual FoxPro 9.0
Условие Фильтрации для Запросов и Представлений
См. также
CollapseAll image

При использовании операторов SQL SELECT, Условия Фильтрации (условия фильтра) определяют критерий отбора записей в результирующий набор Запроса или Представления, который создается указанным оператором SQL SELECT. Когда создается Запрос или Представление с помощью оператора SQL SELECT, возвращающего требуемые данные, вы можете задавать необходимые условия Фильтра в ключевых секциях ON и/или WHERE, которые определяют условия отбора только требуемых данных. Например, вы можете использовать условие фильтрации для выборки только тех записей, которые меньше чем заданное значение переменной или константы типа date.

Вы можете задавать условия фильтрации аналогичным образом, как и условия Сеединения таблиц, с помощью определения некоторых переменных или констант, определяющих конкретные значения условий фильтрации, выполняемые для конкретной таблицы. В отличие от условий фильтра, в условиях соединения таблиц участвуют значенния соответствующих ключевых (или неключевых) полей из двух таблиц. Условия фильтрации строятся как обычные условные выражения, которые могут соединяться логическими операндами OR / AND.

Общая синтаксическая конструкция Условий Фильтра для оператора SQL SELECT представлена в разделе SELECT - SQL, команда.

В данном разделе рассматриваются следующие параграфы по Условиям Фильтрации:

  • Основные элементы Условий фильтрации

  • Операнды сравнения в Фильтрах

  • Опции и Значения в Фильтрах

  • Шаблонные символы в условиях Фильтра

Expand image Основные элементы условий Фильтрации

В следующем списке представлены основные элементы, которые вы можете использовать для задания условия фильтрации:

  • Имена Полей Таблиц, для сравнения ;

  • Операнды сравнения, такие как > или #, != ;

  • Опции фильтра, такие как: ANY или LIKE; некоторые константы для сравнения, значения полей, выражения, списки значений, подзапросы;

Expand image Операнды сравнения в Фильтрах

В дополнение к операндам сравнения, используемым в Условиях Соединения таблиц, вы можете также использовать такие операнды сравнения, как =, <=, и >, которые выполняют условие фильтра для значения Поля из Таблицы и некоторой константы. Операторы сравнения условий фильтрации аналогичны операндам в Условиях Соединения.

В следующем списке представлены всевозможные варианты операндов сравнения, используемые в условиях фильтра:

Операнд | Описание
= | Равенство
== | Полное равенство
LIKE | Соответствие шаблону (SQL LIKE)
<>, !=, # | Не равно
> | Больше
>= | Больше или равно
< | Меньше
<= | Меньше или равно

В следующем примере иллюстрируется использование операнда (меньше) (<) - для построения условия фильтра, TAlias2.order_date < {^1994-02-16}, которое соответствует общей синтаксической конструкции: FieldName Comparison Expression; в результирующий набор Запроса отбираются записи из таблицы Клиенты и из таблицы Заказы, для которых значение поля с именем Order_Date меньше чем (<) 02/16/1994.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_date ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id ;
 AND TAlias2.order_date < {^1994-02-16}

Expand image Опции и Значения в Фильтрах

Вы можете использовать Опции Фильтра в дополнение к описанным выше операциям сравнения, с помощью опций фильтра вы можете задавать некоторые подмножества записей, относительно которых уточняются общие условия отбора необходимых данных. При использовании указанных опций фильтра можно одну из следующих синтаксических конструкций:

  • FieldName Comparison Expression | ALL (Subquery) | ANY (Subquery) | SOME (Subquery)

    -или-

  • FieldName [NOT] LIKE cExpression | IS [NOT] NULL | [NOT] BETWEEN Start_Range AND End_Range | [NOT] IN Value_Set | [NOT] IN (Subquery)

    -или-

  • [NOT] EXISTS (Subquery)

В следующей таблице описываются допустимые Опции, используемые в Условиях Фильтрации:

Опция Описание

ALL (Subquery)

Значение поля FieldName должно удовлетворять Всем выбираемым значениям заданного Подзапроса.

ANY (Subquery) | SOME (Subquery)

Значение поля FieldName должно удовлетворять хотя бы одному значению определяемого Подзапроса.

LIKE "cExpression"

Значение поля FieldName должно соответствовать заданному шаблонному символьному выражению cExpression, которое содержит допустимые символы шаблона (SQL wildcard characters), такие как: процент (%) и/или подчеркивание (_), что определяет критерий включения данных в результирующий набор Запроса.

Символ % означает любую последовательность символов в строке, Символ _ означает один любой символ в строке. Если вам требуется указать в шаблоне специальный символ - используйте секцию ESCAPE. Описание использования данной секции рассматривается ниже, в параграфе Шаблонные символы в условиях фильтрации.

Конструкция типа: LIKE "cExpression%" для условия Фильтра - полностью Оптимизируема.

IS NULL

Значение поля FieldName должно быть равно = NULL, тогда запись данных - в итоговом наборе Запроса.

BETWEEN Start_Range AND End_Range

Значение поля FieldName должно быть в указанном диапазоне, больше-либо-равно меньшей границе, и миньше-либо-равно большей границе.

IN (Value_Set)

Значение поля FieldName должно быть равно одному из заданных в списке Value_Set значений или вычислдяемых выражений. Список возможных значений или выражений указавается через запятую.

Note Примечание

Количество возможных значений или выражений, определяемых в списке Value_Set определяется системной функцией: SYS(3055) - FOR / WHERE, параметры секций.

Note Совет

Система Visual FoxPro останавливает вычисление выражений, заданных в списке Value_Set , когда найдено подходящее значение. Следовательно, если рассматриваемая секция IN - не оптимизируема по технологии Rushmore, вы можете значительно улучшить производительность Запроса, размещая в начале списка Value_Set наиболее вероятные значения из выбираемого множества данных.

IN (Subquery)

Значение поля FieldName должно содержаться в задаваемой выборке рассматриваемого Подзапроса Subquery.

EXISTS (Subquery)

Итоговый Запрос содержит результирующие записи только в том случае, когда хотя бы одна запись выбирается в указанном подзапросе. Секция EXISTS оценивается в значение = True (.T.) или = False (.F.).

Note Обратите внимание

Секция EXISTS (Subquery) вычисляется в значение = True (.T.) если в подзапросе выбирается хотя бы одна запись.

В следующих коротких примерах программного кода иллюстрируются возможные варианты построения условий фильтрации при помощи рассмотренных Опций фильтрации:

  • Рассмотрена синтаксическая конструкция: FieldName Comparison ALL (Subquery), которая определяет, что в итоговый набор запроса включаются все записи, для которых имя компании меньше всех выбранных в подзапросе компаний (для которых выполняется условие: Country="UK"). Короче: выбираются все компании, названия которых стоят раньше в списке компаний из Великобритании.

    CopyCode image Копировать Код
    company < ALL (SELECT company FROM customer WHERE country = "UK")

  • Рассмотрена синтаксическая конструкция типа FieldName LIKE cExpression, которая определяет шаблон отбора требуемых записей данных, по заданному выражению cExpression. Конкретно: выбираются компании для которых значение поля Country = "UK".

    CopyCode image Копировать Код
    customer.country LIKE "UK"

  • Рассмотрена синтаксическая конструкция FieldName BETWEEN Start_Range AND End_Range, которая определяет выборку данных в соответствие с заданным диапазоном значений. Конкретно: когда значение поля postalcode (почтовый индекс) размещен между значениями от "90000" - до "99999."

    CopyCode image Копировать Код
    customer.postalcode BETWEEN "90000" AND "99999"

  • Рассмотрена синтаксическая конструкция FieldName IN (Value_Set), определяющее вхождение значения указанного поля в список перечислений Value_Set. Конкретно: запись данных попадает в итоговый набор Запроса, когда почтовый индекс равен одному из значений: "98052", "98072", или "98034."

    CopyCode image Копировать Код
    customer.postalcode IN ("98052","98072","98034")

  • Рассмотрена синтаксическая конструкция FieldName IN (Subquery), определяет список возможных значений, который получается динамически, в соответствие с выполняемым Подзапросом. Конкретно: выбираются только те записи данных, для которых заказчик размещается в городе с названием = "Seattle".

    CopyCode image Копировать Код
    customer.cust_id IN ;
     (SELECT orders.cust_id FROM orders WHERE orders.city="Seattle")

  • Рассмотрена синтаксическая конструкция EXISTS (Subquery), которая определяет, что в результирующий набор записей Запроса включаются только те записи, для которых Почтовый код (индекс) Клиента совпадает с почтовым индексом Заказа.

    CopyCode image Копировать Код
    EXISTS (SELECT * FROM orders ;
     WHERE customer.postalcode = orders.postalcode)

В следующем далее примере используется конструкция Опции Условия Фильтра EXISTS (Subquery), определяющая существование необходимых записей данных при условии выполнения соответствующего Подзапроса (будут ли записи в подзапросе). В представленном Подзапросе определяются записи, для которых почтовый индекс в таблице Клиентов совпадает с почтовым индексом в таблице Заказов.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT company FROM customer TAlias1 ;
 WHERE EXISTS (SELECT * FROM orders TAlias2 ;
 WHERE TAlias1.postalcode = TAlias2.postalcode)

Expand image Шаблонные символы в Условиях Фильтрации

Вы можете выполнить требуемый поиск данных с помощью шаблонных символов, указываемых в условиях фильтрации ключевой секции WHERE общегоьоператора выборки SQL SELECT, к данным символам относятся: символ процента (%) и символ подчеркивания (_) characters. Шаблонный символ процента % означает любую последовательность неизвестных символов в символьной строке; шаблонный символ подчеркивания _ означает один неизвестный символ в символьной строке.

Тем не менее, если вам требуется выборка символьных данных с помощью построенных поисковых выражений, содержащих указанные выше шаблонные символы, а в исходных таблицах данные символы могут встречаться как обычные символьные данные (% и _), рекомендуется использовать секцию ESCAPE, которая определяет рассматриваемые символы шаблона как буквальные символы. В секции ESCAPE задаются специальные символы, которые определяют, что если они расположены прямо перед шаблонными символами, то последние воспринимаются как обычные символы (не шаблонные).

В следующих примерах иллюстрируются варианты использования шаблонных символов для определения поисковых выражений в условиях Фильтрации.

  • Рассмотрен пример использования конструкции LIKE cExpression для выборки всех записей, удовлетворяющих заданному поисковому выражению в секции WHERE FilterCondition - условия фильтра. Конкретно: в примере выполняется выборка всех компаний, название которых начинается с буквы С (си), для этого используется оптимизируемое поисковое выражение "C%".

    CopyCode image Копировать Код
    CLOSE ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT * FROM customer WHERE company LIKE "C%"

  • Аналогично, рассмотрен пример использования поисковой конструкции LIKE cExpression, для выборки всех записей, удовлетворяющих заданному поисковому выражению в секции WHERE FilterCondition. Конкретно: в примере выполняется выборка всех компаний, для которых код страны размещения компании начинается с большой буквы U, а второй символ может принимать любое значение, обозначен шаблонным символом подчеркивания (_).

    CopyCode image Копировать Код
    CLOSE ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT * FROM customer WHERE country LIKE "U_"

Далее рассматриваются примеры, в которых шаблонные символы присутствуют в символьных выражениях, как буквальные символы процента и подчеркивания (%) (_).

  • В следующем примере демонстрируется использование секции ESCAPE для определения специального символа (\) - обратная косая черта, которая определяет, что если в символьном выражении встречается комбинация символов"\%" то символ процентов воспринимается как обычный символ, (не шаблонный).

    Note Примечание

    В тестовых таблицах VFP отсутствуют примеры, содержащие указанные комбинации символов, поэтому рассмотренный пример вернет пустой набор данных.

    CopyCode image Копировать Код
    CLOSE ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT * FROM customer WHERE company LIKE "10\%" ESCAPE "\"

  • В следующем примере приводится демонстрация использования секции ESCAPE, которая определяет специальный символ черточка (-), как специальный символ. Тем не менее, в примере данный символ рассматривается как шаблонный символ. В выборку попадают имена компаний, начинающиеся с символа "черточка".

    Note Примечание

    В тестовых таблицах VFP отсутствуют примеры, содержащие указанные комбинации символов, поэтому рассмотренный пример вернет пустой набор данных.

    CopyCode image Копировать Код
    CLOSE ALL
    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    SELECT * FROM customer WHERE company LIKE "--" ESCAPE "-"

Expand image См. также

Задачи

Как: Оптимизировать Фильтры и Соединения

Описание

CREATE SQL VIEW, команда
SELECT - SQL, команда

Другие ссылки

Общее описание
Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Join Conditions for Tables, Queries, and Views

Visual FoxPro 9.0
Условия Соединения для Таблиц, Запросов и Представлений
См. Также

Система Visual FoxPro поддерживает SQL-Соединения (Join) стандарта "SQL-92", поэтому вы можете создавать Запросы, в которых соединяются записи из двух или даже нескольких Таблиц в соответствие со значениями ключевых Полей Связывания. Для выборки данных из нескольких Таблиц создаются Запроосы или Представления, в которых используется операция Соединения / Присоединения (Join), построенная на специальных Условиях Соединения (Join Condition), которые контролируют процесс сравнения связываемых Записей данных. Данные условия основываются на Первичных или других индексных Ключах (primary and foreign keys). Специальные соединения Таблиц могут быть основаны на других полях таблиц, отличных от индексных ключей (primary and foreign keys), однако большинство Запросов используют для соединения таблиц именно индексные поля.

Данный раздел содержит следующие параграфы:

  • Составные элементы операции Соединения (Join)

  • Типы Соединений

  • Последовательность Соединения

  • Условие Соединения

  • Общие рекомендации по Соединениям

Для создания Запросов или Представлений, содержащих операции Соединения таблиц данных, вы можете использовать соответствующие Дизайнеры Запросов или Представлений, а также языковые возможности системы Visual FoxPro. Смотрите, дополнительно, разделы: Закладка Join, Дизайнеры Запросов и Представлений и SELECT - SQL, команда.

Составные части операции Соединения (Join)

В следующем списке перечислены основные компоненты операции Соединения нескольких таблиц в создаваемых Запросах и Представлениях:

  • Поля Таблиц, как результирующие элементы Соединения.

  • Тип Соединения Таблиц или групп Полей таблиц в результирующем наборе Запроса или Представления.

  • Последовательность Соединения.

  • Условия Соединения, построенные на операциях сравнения, таких как: Диапазон (BetWeen), Равенство (=),Больше (>), Меньше (<).

Типы Соединений

В силу того, что технология SQL базируется на математических алгоритмах, каждая таблица данных может быть представлена в виде круга в диаграмме Венна (Venn diagram). Секция ON оператора SQL SELECT определяет Условие Соединения Таблиц данных, подмножество точек пересечения (перекрытия) рассматриваемых крогов, или соответствующих наборов Записей данных связываемых Таблиц. Например, Внутреннее соединение (Inner Join) представляет собой область пересечения двух кругов, общее подмножество точек. Внешнее Соединение (Outer Join) включает в себя не только общие наборы записей данных внутреннего соединения (общие данные), но и записи, размещенные слева или справа от области Пересечения (общих точек).

Вы можете расширить или уменьшить результирующий набор вашего Запроса выбирая требуемый вид Соединения Таблиц. Далее представлены возможные варианты типов Соединения

Тип Join | Описание
Inner | Внутреннее. В результирующий набор Запроса включаются Записи данных, соответствующие условию Соединения и имеющиеся в обоих связываемых таблицах. Внутреннее соединение (Inner join) является наиболее общим случаем Соединений.
Left (outer) | Левое. В результирующий набор Запроса включаются все записи из таблицы, ключевое поле которой размещено слева в условии Соединения, и только соответствующие записи из таблицы, ключевое поле которой размещено справа в условии Соединения.
Right (outer) | Правое. В результирующий набор Запроса включаются записи, удовлетворяющие условию соединения из Левой таблицы, и все записи из таблицы, ключевое поле которой размещено справа в условии Соединения.
Full | Полное. В результирующий набор Запроса включаются все записи из соединяемых Таблиц в соответствие с заданным условием Соединения.

Точное сопоставление записей в результирующем Наборе Запроса

Если вам требуется выбьрать только записи, имеющиеся в обоих таблицах данных, согласно условию соединения, то используйте внутреннее соединение (inner join).

Например, положим, вам требуется выбрать только те Компании, которые имеют Заказы, которые всегда имеют ссылку на соответствующую компанию, которая сделала заказ. В следуюшем примере программного кода выполняется выборка только тех компаний (из таблицы Customer - клиент), для которых имеются заказы, и только те Заказы (из таблицы Orders), для которых указана Компания-заказчик. В примере используется Внутреннее соединение, создающее результирующий набор записей из двух таблиц, в соответствие условию соединения, построенному на ключевом поле Cust_ID.

Note Обратите внимание

В операторе SELECT используются локальные (внутренние) алиасы для исходных таблиц для однозначного определения ключевого поля Cust_ID в условии соединения, имеющегося в обоих исходных таблицах, и соответствующей сортировки результатов, по секции ORDER BY , по имени Компании-заказчика, в возрастающем порядке.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_ID ;
 FROM customer AS TAlias1 ;
 INNER JOIN orders AS TAlias2 ;
 ON TAlias1.cust_id = TAlias2.cust_id ;
 ORDER BY TAlias1.company ASC

Множественные операции Соединений (Joins)

Вы можете определить несколько операций Соединения данных из нескольких исходных Таблиц.

Например, предположим, вам требуется создать Запрос для выборки Компаний, имеющих Заказы, но также требуется знать имя сотрудника компании, который выполнял конкретный Заказ. В представленном программном коде выполняется выборка Компаний, имеющих Заказы (таблица Customer), (таблица Orders), и имена сотрудников выполняющих выбранные Заказы. В примере используется два Внутренних Соединения по соответствующим ключевым полям: Cust_ID и Emp_ID.

Note Обратите внимание

В операторе SELECT используются внутренние алиасы таблиц для однозначного обозначения ключевых полей связывания и сортировки: Cust_ID и Emp_ID, которые имеются в нескольких таблицах

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_ID, ;
 TAlias3.first_name, TAlias3.last_name ;
 FROM customer AS TAlias1 ;
 INNER JOIN orders AS TAlias2 ;
 ON TAlias1.cust_id = TAlias2.cust_id ;
 INNER JOIN employee AS TAlias3 ;
 ON TAlias2.emp_id = TAlias3.emp_id ;
 ORDER BY TAlias1.company ASC

Несогласованные Записи в результирующих наборах Запроса

Если вам требуется включить в результирующих набор Запроса записи данных, не удовлетворяющие условию Соединения, вы можете использовать Левое-внешнее, Правое-внешнее или Полное соединение данных (left outer, right outer, or full join). Когда вы используете перечисленные виды соединений, то отсутствующие поля Записей принимают значения = NULL.

Например, предположим, требуется создать Запрос по выборке всек клиентов (Компаний), независимо от того имеют ли данные компании Заказы, и Заказы, номеры которых известны для компаний. В следующем примере используется Левое-внешнее соединение (left outer join) для выборки всех записей из одной таблицы и только, соответствующих условию соединения, записей из другой таблицы.

Note Обратите внимание

В программном коде примера используются ключевые слова LEFT JOIN, потому, что ключевое слово OUTER - не обязательное.

В данном примере выполняется выборка из тестовой базы данных Visual FoxPro: TestData.dbc, в результирующий набор Запроса включаются все записи из таблицы Customer и только соответствующие записи из таблицы Orders. Тем не менее, не все записи из таблицы Customer имеют соответствующие записи из таблицы Orders.

Note Обратите внимание

В операторе SELECT используются внутренние алиасы для исходных таблиц - для однозначного определения ключевого поля Cust_ID, которое присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\TestData')

SELECT TAlias1.company, TAlias2.order_id ;

   FROM customer TAlias1 ;

   LEFT JOIN orders TAlias2 ;

      ON TAlias1.cust_id = TAlias2.cust_id

В результирующем наборе Запроса присутствуют Имена всех имеющихся компаний, в поле Order_ID выгружаются номера соответствующих Заказов. Для клиента с именем "Wenna Wines" данное поле содержит значение = nul, значит Заказы - отсутситвуют.

Дополнительную информацию о вариантах построения условий Соединения исходных таблиц данных смотрите в разделе Join Condition, Диалоговый бокс.

Последовательность Соединений

Когда вы выполняете выборку данных из нескольких таблиц, результирующий набор Запроса зависит от типа выбранного Соединения и от последовательности Таблиц, которые участвуют в данном соединении. Порядок соединяемых таблиц указывается с помощью соответствующего инструментария в Дизайнерах Запросов или Представлений или с помощью соответствующей конструкции JOIN оператора выборки SQL SELECT.

Например, предположим, вам требуется выбрать все записи из одной таблицы и только соответствующие условию Соединения записи из другой таблицы. Вы можете использовать конструкцию LEFT JOIN, в которой Слева размещается первая таблица, а вторая таблица размещена Справа от ключевого слова JOIN. Тем не менее, если вы используете тип соединения RIGHT JOIN, вам необходимо поменять местами имена-алиасы исходных таблиц, чтобы получить аналогичные результаты в результирующем наборе Запроса.

В следующем примере программного кода демонстрируется три варианта выборки данных из двух Таблиц, выбираются все записи из первой таблицы и только соответствующие условию соединения записи из второй таблицы. Условие соединения таблиц задается в соответствующей секции ON.

Note Примечание

В операторах SELECT используются внутренние алиасы для исходных таблиц - для однозначного определения ключевого поля Cust_ID, которое присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\TestData')

Для начала, рассматривается оператор SQL SELECT, в котором выполняется выборка всех имен Компаний из соответствующей таблицы Клиенты и только соответствующие условию соединения записи из таблицы Заказы, соединение по полю идентификатора Клиента Cust_ID.

SELECT TAlias1.company, TAlias2.order_id ;

   FROM customer TAlias1 ;

   LEFT JOIN orders TAlias2 ;

      ON TAlias1.cust_id = TAlias2.cust_id

Далее, выполняется оператор SQL SELECT, в котором ключевая конструкция LEFT JOIN заменяется на следующую RIGHT JOIN, последовательность соединения таблиц не изменяется. Однако, получается совсем другой результирующий набор Запроса. Выполняется выборка всех записей из таблицы Заказов, но не для всех заказов имеются соответствующие компании. Только для тех компаний, для которых имеются заказы - выполняется соответствующая выборка (область пересечения).

SELECT TAlias1.company, TAlias2.order_id ;

   FROM customer TAlias1 ;

   RIGHT JOIN orders TAlias2 ;

      ON TAlias1.cust_id = TAlias2.cust_id

Третий вариант, выполняется оператор SQL SELECT, в котором остается конструкция RIGHT JOIN, а последовательность указания исходных таблиц - меняется: первая становится второй, вторая - первой. Результирующий набор Запроса соответствует перврму варианту оператора SQL SELECT.

SELECT TAlias1.company, TAlias2.order_id ;

   FROM orders TAlias2 ;

   RIGHT JOIN customer TAlias1 ;

      ON TAlias1.cust_id = TAlias2.cust_id

Смотрите дополнительные разделы: Закладка Join, Дизайнеры Запросов и Представлений и SELECT - SQL, команда.

Условия Соединения

Условие Соединения (Join conditions) определяет логическое условие, с помощью которого в операторе SQL SELECT выполняется операция соединения Таблиц данных. Например, вы можете использовать Условия Соединения для сравнения значений соответствующих полей из разных таблиц, что, в свою очередь, определяет условие выборки данных записей в результирующий набор Запроса.

Note Примечание

Если в вашем Запросе соединяются несколько таблиц, вы должны определить Условие Соединения для каждой присоединяемой таблицы, кроме первой.

Вы можете создавать различные Условия Соединения исходных таблиц при выполнении Запросов или Представлений, которые определяют результирующий набор запроса, как обычные выражения Фильтра (условные выражения). Однако, в Условиях Соединения сравниваются значения Полей из разных таблиц, а в выражениях Фильтра сравнивается значение поля из таблицы и некоторое выражение Фильтра. Смотрите дополнительную информацию в разделе: Условие Фильтра для Запросов и Представлений.

Например, вы можете использовать операнд равенства (=) для определения условия соединения двух таблиц по некоторому идентификатору, к примеру: Customer.cust_id = Orders.cust_id. В этом случае в результирующий набор запроса включаются соответствующие условию соединения записи из исходных таблиц и удовлетврояющие дополнительному условию Фильтра. Для другого примера, если вы используете для условия соединения поле типа date, вы можете использовать другой оператор сравнения, для вкдючения в результирующий набор записей с меньшей или большей датой (по выбранному полю связывания).

В следующей таблице представлены операнды сравнения, допустимые в Условиях Соединения:

Операнд | Описание
= | Equal (равенство)
== | Exactly equal (полное равенство)
LIKE | Операция "по-шаблону" SQL LIKE
<>, !=, # | Not equal (не равно)
> | Greater than (Больше, чем)
>= | Greater than or equal to (больше-или-равно)
< | Less than (Меньше чем)
<= | Less than or equal to (меньше-или-равно)

Условие Соединения таблиц вы можете определить с помощью конструкции ON или в секции WHERE оператора SQL SELECT, но не одновременно в обоих секциях.

Например, предположим, вам требуется выполнить выборку некоторых полей из одной таблицы и некоторые записи из другой таблицы, которые соответствуют условию Соединения и дополнительному условию Фильтра. В следующем программном коде демонстрируется использование в секции связывания ON условия соединения таблиц и дополнительного условия фильтра на некоторое поле второй таблицы, которое прикрепляется логическим операндом AND.

В рассматриваемом далее примере выполняется выборка всех имен компаний из таблицы Клиенты и только соответствующих условию соединения записей из таблицы Заказы. Однако, из второй таблицы выбираются только те записи , для которых выполняется условие Order_date < {^1994-02-16}. Если Компания не имеет заказов в указанный интервал времени, то соответствующие номера заказов будут иметь значения = NULL.

Note Примечание

В операторе SELECT используются внутренние алиасы исходных таблиц - для однозначного определения ключевого поля связывания Cust_ID, присутствующего в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_date, TAlias2.shipped_on ;
 FROM customer TAlias1 ;
 LEFT JOIN orders TAlias2 ;
 ON TAlias1.cust_id = TAlias2.cust_id ;
 AND TAlias2.order_date < {^1994-02-16}

Дополнительная информация об Условиях Соединения таблиц данных имеется в следующих разделах: SELECT - SQL, команда и Закладка Join, Дизайнеры Запросов и Представлений.

Условие Соединения в ключевой секции WHERE

При создании оператора SQL SELECT, вы модете определять условие соединения таблиц в секции WHERE, вместе с условиями Фильтра. При определении условия Фильтра для Запросов или Представлений в соответствующем Дизайнере данное условие определяется в секции WHERE основного оператора SQL SELECT рассматриваемого Запроса или Представления. Вы можете определить здесь и условие Соединения таблиц, прикрепляя соответствующее логическое выражение в закладке Filter, секция WHERE, или при просмотре полной синтаксической конструкции соответствующего оператора SQL SELECT. Для удаленных Представлений условие соединения всегда размещается в секции WHERE. Это объясняется вопросами совместимости различных вариантов языка SQL.

Например, предположим, требуется выборка Заказов Клиента, содержащая всю информацию о Клиенте и Служащем, который выполнял соответствующий Заказ. В следующем программном коде используется секция WHERE для определения Условия Соединения таблиц Customer и Orders, и , дополнительно, условие соединения с таблицей Employee, по ключевому полю Emp_ID, для таблиц Orders и Employee.

В следующем примере, выполняется выборка тех Клиентов, для которых имеются Заказы, которые обслуживалоись известными исполнителями.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT * FROM customer TAlias1, orders TAlias2, employee TAlias3 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id ;
 AND TAlias2.emp_id = TAlias3.emp_id

Дополнительную информацию об использовании секции WHERE смотрите в разделах: Закладка Filter, Дизайнеры Запросов и Представлений и SELECT - SQL, команда.

Общие рекомендации по использованию Соединений (Join)

При использовании операций Соединения таблиц данных необходимо учитывать следующие аспекты их использования:

  • Если вы выполняете выборку из двух таблиц, и не используете Условие Соединения (join condition), для каждой записи из первой таблицыe выполняется поиск соответствующей записи из второй таблицы также долго, как выполняется Условие фильтрации данных, оно может быть не оптимизируемо. Такие Запросы могут выполняться длительное время.

  • Осмотрительно используйте следующие функции: DELETED( ), EOF( ), FOUND( ), RECCOUNT( ), RECNO( ), которые поддерживают дополнительный параметр - алиас или номер рабочей области, в которой открыта таблица данных. Использование указанного параметра может привести к неожиданным результатам. Операторы SQL SELECT не используют имена пользовательских рабочих областей, в которых открываются таблицы; они используют конструкции, тип USE ... AGAIN. Запросы, выполняющие выборку из одной таблицы и использующие указанные функции, возвращают соответствующие результаты. Однако, Запросы, выполняющие выборку из нескольких таблиц, и использующие указанные функции, даже без указания рабочих областей, могут возвращать неожиданные результаты.

  • Осмотрительно используйте операции объединения, основанные на ключевых полях, имеющих пустые значения, так как система Visual FoxPro выполняет правильные сравнения с пустыми полями. Например, предположим, выполняется соединение таблиц по соответствующим полям Customer.zip и Invoice.zip, соответствующих таблиц Customer и Invoice, из тестовой базы данных TestData.dbc. Если таблица Customer содержит 100 пустых полей Zip, а таблица Invoice содержит 400 пустых полей Zip, то в результирующем наборе запроса будет 40,000 объединенных записей с соответствующими пустыми полями. Для исключения пустых значений из результирующего набора - используйте функцию EMPTY( ).

См. также

Задачи

Как: Оптимизировать Фильтры и Соединения

Описание

CREATE SQL VIEW, команда
SELECT - SQL, команда

Другие ссылки

Общее Описание
Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - SELECT Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - SELECT, секция
См. также
CollapseAll image

Секция SQL-оператора SELECT содержит список полей, констант, выражений, которые определяют столбцы в результирующем наборе Запроса.

Общая синтаксическая конструкция представлена в разделе описания команды SELECT - SQL .

Детальный синтаксис секции SELECT имеет следующий вид:

SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] Select_List_Item [AS Column_Name] [, ...]

Параметры

[ALL | DISTINCT]

Определяет выборку в результирующий набор Запроса Всех (ALL) записей (по-умолчанию); или исключая дублируюемые записи данных (DISTINCT). Опция DISTINCT может быть использована только с первой секцией SELECT.

Note Обратите внимание

Система Visual FoxPro не поддерживает использование опции DISTINCT в операторах выборки SQL SELECT, которые содержат поля данных типа: Memo, General, или Blob. Однако, для использования полей типа Memo в таких запросах, вы можете "укоротить" поля типа Memo с помощью функций PADR( ) или ALLTRIM( ). Смотрите дополнительные разделы PADL( ) | PADR( ) | PADC( ), функции и ALLTRIM( ), функция.

[TOP nExpr [PERCENT]]

Определяет, что в результитрующий набор Запроса будут выбраны первые nExpr записей или заданный процент от общего количества записей выборки. Диапазон допустимых значений для выражения nExpr : от 1 - до 32,767, или, если задана опция PERCENT, вы можете задать значения процентов: от 0.01 - до 99.99. Visual FoxPro сортирует результирующий набор Запроса, а за тем возвращает соответствующее количество записей, как указано в TOP nExpr [PERCENT].

Note Примечание

Для использования опции ограниченной выборки TOP, вы болжны обязательно определить секцию ORDER BY, для сортировки. В секции ORDER BY определяется имя / номер столбца, относительно которого выполняется выборка первых записей Запроса, количество которых задается в опции TOP.

Note Обратите Внимание

Установка системной команды SET ENGINEBEHAVIOR определяет механизм работы рассматриваемой Опции TOP, и влияет на результирующий набор Запроса. Смотрите дополнительно раздел: SET ENGINEBEHAVIOR, команда.

При указании опции PERCENT количество записей в результирующем наборе округляется до большего целого числа.

Note Примечание

Записи результирующего набора, имеющие одинаковые значения столбца/поля, который определяется в секции сортировки ORDER BY, включаются в результирующий набор. Следовательно, в результирующем наборе может быть больше записей, чем задается в выражении nExpr. Например, если задается nExpr = 10, результирующий набор может содержать более 10 записей; только 10 будут иметь уникальные значения столбца сортировки ORDER BY, дубликаты также включаются в результирующий набор.

Select_List_Item

Определяет один или несколько элементов, включаемых в результирующий набор Запроса. Каждый элемент из данного списка определяет соответствующий столбец результата Запроса. Select_List_Item может принимать следующие возможные варианты:

  • Это некоторая константа, включаемая в каждую запись результата Запроса.

  • Это некоторое вычисляемое выражение, содержащее пользовательскую функцию или Подзапрос.

  • [Alias.]Select_Item

    Alias определяет внутренний алиас исходной таблицы, если выполняется выборка нескольких полей, имеющих одинаковые имена, для однозначной идентификации их в списке Select_Item. Использование алиасов таблиц предохраняет от дублирования столбцов. Пробелы между конструкциями [Alias.] и Select_Item допустимы.

    Select_Item может быть также полем из таблицы, указанной в секции FROM.

  • (Subquery)

    Subquery определяет некоторый подзапрос SQL SELECT, который представляет собой другой оператор SQL SELECT, его нужно заключать в круглые скобки (()).

    Нет ограничений по количеству подзапросов, используемых в главном операторе SQL SELECT. Нет также ограничений по количеству вложенных подзапросов, используемых в операторе SQL SELECT.

    Вы можете использовать Коррелированные (зависимые) подзапросы относительно родительского Запроса. Коррелированные подзапросы могут использовать поля родительского запроса, в этом случае подзапрос выполняется для каждой записи-кандидата родительского запроса.

    Подзапросы могут содержать: опцию ограниченной выборки TOP nExpr, для некоррелированных запросов; множественные условия Соединения таблиц; а также секции группировки данных GROUP BY. Если подзапрос не выгружает записи в результирующий набор подзапроса, то возвращается значение = NULL.

    Note Обратите внимание

    Если вы используете опцию ограниченной выборки TOP nExpr в Подзапросе, вы должны также указать соответствующую секцию сортировки данного подзапроса ORDER BY.

В списке выбираемых полей Select_List_Item вы можете использовать агрегатные функции, содержащие некоторые поля или различные выражения. Если используется агрегатная функция, то элемент списка выбираемых полей может иметь следующую синтаксическую конструкцию для Select_Item:

CopyCode image Копировать Код
AggregateFunction([Alias.]Select_Item)

Дополнительная информация по использованию агрегатных, функций пользователя, общих правил формирования имен полей результата Запроса смотрите в разделе Общие рекомендации по использованию операторов SQL SELECT.

[AS Column_Name]

Определяет имя поля / столбца в наборе результата Запроса. Column_Name может быть некоторым вычисляемым выражением, но не может содержать недопустимые в данном случае символы; например, как пробел недопустим в именах полей таблиц.

Note Совет

Когда в рассматриваемом списке Select_List_Item используются выражения или различные функции, то для определения значения Column_Name рекомендуется использовать осмысленное наименование, соответствующее назначению данного столбца.

Expand image Комментарии

В следующем программном коде показаны ключевые секции команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [HAVING Conditions]
 [UNION Clause]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальная информация о каждой ключевой секции общей команды SQL SELECT представлена в следующих разделах:

  • FROM, секция

  • SELECT - SQL, команда - WITH, секция

  • SELECT - SQL, команда - WHERE, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • ORDER BY, секция

  • INTO / TO, секция

  • Дополнительные Опции отображения результатов Запроса

Expand image Примеры

Пример 1

В представленном примере выполняется выборка уникальных значений с использованием опции DISTINCT; соединяются две таблицы с помощью параметров секции WHERE. В запросе выбираются поля: Company, Order_Date, и Shipped_On, имеющие уникальные совокупные значения в таблицах-источниках: Customer и Orders. В операторе SELECT определены внутренние (локальные ) алиасы таблиц - для однозначного указания связующего поля Cust_ID, которое присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT DISTINCT TAlias1.company, TAlias2.order_date, ;
 TAlias2.shipped_on ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id

Пример 2

В следующем примере выполняется выборка всех записей из исходной таблицы; для определения нового имени выбираемого поля используется опция AS Column_Name. В результирующий набор выбирается поле City, из таблицы Customer, значение которого преобразуется в верхний регистр, с помощью функции UPPER( ); выбираемому столбцу присваивается имя: CityList.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT UPPER(city) AS CityList FROM customer

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - WITH Clause

SELECT - SQL, команда - WITH, секция
См. также
CollapseAll image

Секция WITH позволяет вам использовать существующую команду выборки SQL SELECT для обработки данных из буферизированных курсоров или из фактических хранилищ данных.

Общая синтаксическая конструкция команды представлена в разделе SELECT - SQL.

[WITH (BUFFERING = lExpr) ]

Параметры

lExpr

Логического типа. В следующей таблице описаны возможные значения параметра lExpr.

lExpr Установка, описание

True (.T.)

Данные в операторе SQL-SELECT выбираются из буферизированных таблиц, если такие буферы актуальны.

False (.F.)

(По-умолчанию) Данные в операторе SQL-SELECT выбираются из фактического хранилища, с диска.

Expand image Комментарии

В следующем программном коде представлены все ключевые секции общей команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [UNION Clause]
 [HAVING Conditions]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальная информация о каждой ключевой секции команды SQL SELECT представлена в следующих разделах:

  • SELECT, секция

  • FROM, секция

  • WHERE, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • ORDER BY, секция

  • INTO / TO, секция

  • Дополнительные Опции отображения Результатов Запроса

Если вы используете BUFFERING = True (.T.), данные для запроса выбираются из соответствующих буферизированных курсоров, которые могут содержать откорректированные данные, не сброшенные в хранилища Таблиц. В противном случае данные выбираются из хранилищ таблиц, т.е. из записей, сохранненных на диске.

Если для курсора используется буферизация уровня Записи, тогда сначала данные из измененной записи сохраняются в хранилище, за тем выполняется оператор Выборки.

Если для курсора используется буферизация уровня Таблицы, тогда изменения сохраняются в буфере таблицы.

Параметры секции WITH BUFFERING поддерживаются только для локальных данных Visual FoxPro и не поддерживаются для удаленных серверов типа Back-End-DataBases.

Если вы используете BUFFERING = False (.F.), тогда ваш оператор выборки SELECT "вытягивает" необходимые данные из хранилища на диске, которые могут отличаться от уже измененных данных (находящихся в буферах таблиц). Если вы не используете рассматриваемых параметр BUFFERING, тогда результаты Запроса основываются на правилах, изложенных в следующем разделе: SET SQLBUFFERING, команда. По-умолчаниюt, данные для результатов Запроса "вытягиваются" из хранилищ на диске. Использование в операторе SELECT секции буферизации WITH BUFFERING = True (.T.) перекрывает текущие установки команды SET SQLBUFFERING.

Использование параметров секции WITH BUFFERING имеет эффект в следующих случаях:

  • Отсутствует рабочая область и именем / алиасом, который имеет имя Результата Запроса.

  • Исходный Курсор не буферизирован.

  • Исходный Курсор используется для оперативного изменения данных, удаления или дробавления записей.

Expand image Пример 1

В следующем примере выполняется простейшая выборка данных из одной таблицы. Для эффективной работы параметров секции WITH (буфферизация данных) требуется, чтобы была уже открыта рабочая область с соответствующим именем "Customers".

CopyCode image Копировать Код
SELECT * FROM customers WITH (BUFFERING=.T.)

Expand image Пример 2

В следующем примере демонстрируется, что для каждой исходной таблицы данных, определяемых в секции FROM требуется использование соответствующей секции WITH BUFFERING.

CopyCode image Копировать Код
SET MULTILOCKS ON
CREATE TABLE Table1 (Field1 N(10), Field2 N(10))
CREATE TABLE Table2 (Field3 N(10), Field4 N(10))

CURSORSETPROP("Buffering", 5, "Table1")
CURSORSETPROP("Buffering", 5, "Table2")

INSERT INTO Table1 VALUES (1, 1)
INSERT INTO Table2 VALUES (0, 100)

SELECT Table1.*, Table2.* ;
   FROM FORCE Table1 ;
      JOIN Table2 ;
      ON Field1>=Field3 AND Field2>0 AND Field4<100

REPLACE Field4 WITH 99 IN Table2

SELECT Table1.*, Table2.* ;
   FROM FORCE Table1 ;
      JOIN Table2 ;
      ON Field1>=Field3 AND Field2>0 AND Field4<100

SELECT Table1.*, Table2.* ;
   FROM FORCE Table1 WITH (BUFFERING=.T.) ;
      JOIN Table2 WITH (BUFFERING=.T.) ;
      ON Field1>=Field3 AND Field2>0 AND Field4<100

Expand image См. также

Описание

CREATE QUERY, команда
MODIFY QUERY, команда

Концепции

Буфферизация Данных

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - FROM Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - FROM, секция
См. также Пример
CollapseAll image

Ключевая секция (опция) FROM определяет одну или несколько таблиц данных, из которых выполняется выборка запращиваемых данных.

Общая синтаксическая конструкция представлена в разделе SELECT - SQL, команда.

Детальный синтаксис рассматриваемой секции FROM имеет следующий вид:

FROM [FORCE] Table_List_Item [, ...]
 [[JoinType] JOIN DatabaseName!]Table [[AS] Local_Alias]
 [ON JoinCondition [AND | OR [JoinCondition | FilterCondition] ...]

Параметры

[FORCE]

Опция FORCE определяет, что объединение указанных таблиц осуществляется в том порядке, как они представлены в секции FROM.

Note Примечание

Если опция FORCE - отсутствует, Visual FoxPro пытается оптимизировать выполняемый Запрос по объединению таблиц. Однако, данный Запрос может быть выполнен гораздо быстрее при указании опции FORCE, что отключает оптимизацию запроса системой Visual FoxPro .
Table_List_Item [, ...]

Определяет одну или несколько (список) таблиц, из которых должна быть выполнена выборка требуемых данных.

Table_List_Item может иметь одну из следующих возможных конструкций:

  • [DatabaseName!]Table [[AS] Local_Alias]

    DatabaseName! определяет имя базы данных, за которой закреплена таблица, и не является текущей (открытой) базой данных. Если требуемая таблица не закреплена за текущей базой данных, вы должны указать имя родительской базы данных. В качестве разделителя между именем базы данных и именем таблица используется восклицательный знак (!), который ставится сразу после имени базы данных, перед именем таблицы.

    Tableопределяет имя таблицы, из которой выполняется выборка. Если указанная таблица не открыта, Visual FoxPro отображает диалоговый бокс Open, с помощью которого можно указать местоположение требуемой таблицы. После выполнения Запроса открываемые таким образом таблицы - остаются открытыми.

    Local_Alias определяет внутреннее имя (алиас) указанной таблицы Table. Если вы используете данный внутренний алиас, то вы можете его использовать в рамках рассматриваемой команды SELECT, для использования ссылки в других секциях.

    Отсутствуют ограничения не количество задаваемых имен таблиц и внутренних алиасов в одной команде SELECT. Для задания выборки данных из нескольких таблиц вы можете использовать также несколько ключевых слов JOIN.

  • (Subquery) AS Subquery_Alias

    Subquery определяет вложенный оператор SELECT, как некоторый подзапрос рассматриваемого запроса SELECT.

    Note Обратите внимание

    При использовании Подзапросов в секции FROM, каждый подзапрос должен иметь внутренний алиас.

    На Подзапросы в секции FROM не распространяются ограничения, которые есть для подзапросов, используемых при фильтрации; эти подзапросы могут иметь любые конструкции SQL SELECT, включая секции UNION. Все подзапросы в секции FROM выполняются до выполнения основного оператора выборки данных SELECT.

[[ JoinType] JOIN DatabaseName!] Table[[AS] Local_Alias]

Определяет дополнительную подсекцию JOIN - присоединения выборки данных более чем из одной таблицы; Visual FoxPro поддерживает следующие Присоединения (объединения).

Note Примечание

Количество используемых Присоединений в одном операторе SELECT - не ограничивается.
Note Примечание

В следующей таблице описываются возможные типы Присоединений, задаваемые в параметре JoinType.

JoinType | Описание типа
INNER | (внутреннее) Результирующий набор запроса содержит только те записи таблицы, которым соответствуют одна или несколько записей из другой таблицы. (По-умолчанию)
LEFT [OUTER] | (левое-внешнее) Результирующий набор запроса содержит записи из таблицы, имя которой указано Слева от ключевого слова JOIN и только соответствующие записи из таблицы, имя которой указано Справа от ключевого слова JOIN. Опция OUTER является необязательной, включается только для документирования специфики конкретного Соединения таблиц данных.
RIGHT [OUTER] | (правое-внешнее) Результирующий набор запроса содержит записи из таблицы, имя которой указано Справа от ключевого слова JOIN и только соответствующие записи из таблицы, имя которой указано Слева от ключевого слова JOIN. Опция OUTER является необязательной, включается только для однозначного документирования используемого типа Присоединения.
FULL [OUTER] | (полное-внешнее) Результирующий набор запроса содержит все соответствующие и несоответствующие записи из обоих присоединяемых таблиц. Опция OUTER является необязательной, включается только для однозначного документирования используемого типа Присоединения.

Описание конструкции [DatabaseName!]Table [[AS] Local_Alias] смотри при описании секции FROM. Дополнительная информация об операторах Присоединения таблиц данных смотри в разделе: Условия Соединения Таблиц, Запросов и Представлений.

[ON JoinCondition| FilterCondition[AND | OR [ JoinCondition| FilterCondition] ...]

Определяет логическое условие Соединения таблиц и фильтрации данных в операторе SQL SELECT. Условие Соединения таблиц может также включать условие фильтрации данных. Для указания нескольких условий соединения и/или фильтрации данных можно использовать стандартные логические операнды AND / OR, соединяющие логические выражения. В опции ON допустимы Подзапросы и вложенные Подзапросы.

Note Обратите Внимание

Если вы используете в запросе более одной исходной таблицы данных, то для каждой таблицы, начиная со второй, вы должны указать Условие Присоединения.

JoinCondition определяет одну из следующих логических конструкций:

  • Условие Сравнения Полей из разных таблиц, например:

    FieldName1 Comparison (сравнение) FieldName2

    FieldName1 - имя поля из одной таблицы, FieldName2 - имя поля из другой таблицы.

  • Условие Сравнения некоторых выражений, содержащих поля из различных Соединяемых таблиц, например:

    Table1.Field1 + Table2.Field1 Comparison (сравнение) Table3.Field1

  • Или некоторая Пользовательская Функция, например:

    MyUDF(Table1.Field1, Table2.Field1)

В следующей таблице представлены допустимые логические операнды конструкции Comparison.

Comparison Описание

=

Эквивалентность

Note Обратите внимание

При использовании операнда эквивалентности (=), при сравнении символьных строк, сравнение выполняется в разных вариантах, в зависимости от установки SET ANSI. Когда SET ANSI = OFF, Visual FoxPro сравнивает символьные строки до конца самой короткой строки ("ABCdef" = "ABC"). Когда SET ANSI = ON, Visual FoxPro выполняет стандарт ANSI при сравнении символьных строк. Смотри дополнительно разделы: SET ANSI и SET EXACT.

==

Полная эквивалентность

LIKE

Операция SQL LIKE, (соответствие шаблону)

<>, !=, #

Не равно

>

Больше

>=

Больше или равно

<

Меньше

<=

Меньше или равно

Дополнительная информация об Условиях Соединения имеется в разделе: Условия Соединения для Таблиц, Запросов и Представлений.

FilterConditionопределяет логическое условие фильтра включения выбираемых записей в результирующий набор Запроса. Вы можете выстраивать множественные условия фильтрации, объединяя их логическими операндами AND / OR. Для отрицания логического выражения используется операнд NOT. Для проверки пустого значения Поля используется стандартная функция EMPTY( ).

FilterCondition может строиться аналогично описанной выше конструкции JoinCondition , исключая указание Полей из той же Таблицы. Дополнительно, FilterCondition может иметь следующий синтаксис:

  • FieldName Comparison (операнд сравнения) Expression

    -ИЛИ-

  • FieldName [NOT] LIKE cExpression | IS [NOT] NULL | [NOT] BETWEEN Start_Range AND End_Range | [NOT] IN Value_Set

Описание Операндов сравнения приводится при описании Условия Сравнения JoinCondition.

В следующей таблице приводятся дополнительные допустимые опции при построении условия фильтрации FilterCondition.

Опция Описание

Expression

FieldName values (значение поля из таблицы), сравнение которого с некоторым выражением определяет условие включения в результирующий набор Запроса.

LIKE "cExpression"

FieldName - значение поля символьного типа, cExpression - маска отбора (SQL wildcard), содержащая специальные символы процента (%) и подчеркивания (_), определяющее шаблон включения в результат.

Символ % означает любую последовательность в символьном выражении. Символ _ означает один любой символ в строке. Вы можете использовать опцию ESCAPE для задания специальных символов при построении шаблонных выражений.

Условие Фильтрации LIKE "sometext%" является полностью оптимизируемым.

IS NULL

FieldName должно принимать значение = null, для включения записи в реезультат Запроса.

BETWEEN Start_Range AND End_Range

FieldName должно находиться в указанном диапазоне значений.

IN (Value_Set)

FieldName должно принимать одно из задаваемых значений из Списка Value_Set. Элементы списка перечисляются через запятую.

Note Обратите внимание

Количество значений или выражений, задаваемых в списке Value_Set, определяется функцией SYS(3055) – FOR / WHERE Clause Complexity.

Note Совет

Visual FoxPro прекращает вычисление выражений из заданного списка Value_Set при первом найденном удовлетворяющем значении. Следовательно, если опция IN не является оптимизируемой по-Rushmore, вы можете значительно улучшить выполнение запроса, размещая в начале списка Value_Set наиболее вероятные значения элементов.

Дополнительную информацию и примеры по созданию выражений фильтра см. в разделе: Условия Фильтра для Запросов и Представлений.

Expand image Комментарии

В следующем программном коде представлена общая конструкция основной команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [UNION Clause]
 [HAVING Conditions]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Более подробно о конкретных секциях команды SQL SELECT смотри в следующих разделах:

  • SELECT, секция

  • SELECT - SQL, команда - WITH, секция

  • SELECT - SQL, командпа - WHERE, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • ORDER BY, секция

  • INTO / TO, секция

  • Дополнительные Опции и Параметры

Expand image Пример

В представленном примере демонстрируется использоваие секции FROM. Выполняется выборка названий Компаний из указанной таблицы Клиентов:

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT customer.company ;
 FROM customer

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - WHERE Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - WHERE, секция
См. также Пример
CollapseAll image

Секция WHERE определяет условие соединения нескольких таблиц и/или условие фильтрации данных в результирующем наборе Запроса. SQL-операция соединения таблиц с помощью секции WHERE функционально аналогична операции присоединения таблиц с помощью подсекции JOIN в секции FROM.

Note Обратите внимание

При использовании системной функции EVALUATE( ) в условии фильтрации секции WHERE выполняемого запроса SQL может вернуть Некорректные результаты

Общий синтаксис оператора выборки представлен в разделе SELECT - SQL, команда.

Детальная синтаксическая конструкция секции WHERE имеет следующий вид:

[WHERE JoinCondition | FilterCondition [AND | OR JoinCondition | FilterCondition] ...]

Параметры

JoinCondition

Определяет логическое выражение соединения таблиц для которых выполняется рассматриваемый оператор SQL SELECT. Для выполнения нескольких соединений (нескольких таблиц) логические выражения сцепляются логическими операндами AND или OR. Дополнительная информация о конструкции JoinCondition представлена в подсекции ON из соответствующей FROM, секция.

FilterCondition

Определяет критерий отбора записей данных в результирующий набор Запроса. Дополнительная информация по созданию конструкции FilterCondition представлена в подсекции ON из соответствующей FROM, секция.

Expand image Комментарии

JoinCondition или FilterCondition могут иметь вид секции IN. Секция IN представляет собой конструкцию типа: IN (Value_Set), где Value_Set имеет вид списка выражений: Expr1[, Expr2[, ...[ ,ExprN]]]. В версии Visual FoxPro 9.0 указанная секция IN вычисляется по другому алгоритму, в отличие от младших версий; см. дополнительно раздел Изменения функциональности текущей версии VFP.

В следующем программном коде демонстрируется использование секции IN:

CopyCode image Копировать Код
CLOSE DATABASES ALL
CREATE CURSOR MyCursor(Field1 I, Field2 I)
INSERT INTO MyCursor values(1,6)
INSERT INTO MyCursor values(2,5)
INSERT INTO MyCursor values(3,4)

SELECT * FROM MyCursor WHERE MyCursor. Field1 ;
IN (1,2,3,4,5)

В представленной далее программной конструкции определены все ключевые секции основной команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [UNION Clause]
 [HAVING Conditions]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальное описание ключевых секций команды SQL SELECT представлено в следующих разделах:

  • SELECT, секция

  • FROM, секция

  • SELECT - SQL, команда - WITH, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • ORDER BY, секция

  • INTO / TO, секция

  • Дополнительные Опции и Параметры

Вы можете создать Условие фильтрации данных, содержащих символы шаблонов (SQL SELECT wildcard characters), к ним относятся символ процента (%) и символ подчеркивания (_), которые используются в подсекции ESCAPE секции WHERE. В секции ESCAPE вы можете определить дополнительный специальный символ, размещаемый перед символом шаблона указывающий, что перечисленные выше символы шаблона рассматриваются в конкретном контексте как просто символы, а не шаблон. Смотрите дополнительный раздел: Условия Фильтрации для Запросов и Представлений.

Expand image Пример

В следующем примере выполняется выборка трех полей из двух таблиц, соединение которых и фильтрация данных определяются сложным условием выборки в секции WHERE. В выборке соединяются две таблицы: Customer и Orders, полем соединения является Cust_ID; выбираются следующие поля Company, Order_Date, и Shipped_On; в выборку попадают данные, для которых выполняется условие order_date < 02/16/1994. В операторе SELECT используются внутренние алиасы исходных таблиц, для однозначного указания поля соединения Cust_ID, которое присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_date, TAlias2.shipped_on ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id ;
 AND TAlias2.order_date < {^1994-02-16}

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - GROUP BY Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - GROUP BY, опция
См. также
CollapseAll image

Ключевая опция GROUP BY определяет один или несколько столбцов, по которым осуществляется группировка результирующих записей рассматриваемого Запроса. Имена столбцов, указанные в рассматриваемой опции группировки GROUP BY, должны присутствовать в списке выбираемых полей основного оператора SELECT, за исключение используемых агрегатных функций. Вы не можете ваполнять группировку по полям следующих типов данных Memo, General, или Blob.

Общий синтаксис команды выборки представлен в разделе: SELECT - SQL, команда.

Детальный синтаксис рассматриваемой Опции GROUP BY имеет следующий вид:

[GROUP BY Column_List_Item [, ...] ]

Параметры

Column_List_Item

Определяет имя одного или нескольких столбцов, по которым выполняется Группировка результирующих строк Запроса.

Column_List_Item может быть одним из следующих возможных вариантов:

  • Поле из таблицы, указанной в ключевой опции FROM, или результата Подзапроса.

  • Алиас таблицы из списка выборки команды SQL SELECT.

  • Числовое выражение, определяющее порядок размещения столбца в результирующей Таблице. Крайний левый столбец имеет номер = 1.

Expand image Комментарии

В следующем программном коде представлена общая синтаксическая конструкция рассматриваемой команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [HAVING Conditions]
 [UNION Clause]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Дополнительная информация о других ключевых опциях команды SQL SELECT представлена в следующих разделах:

  • SELECT, опция

  • FROM, опция

  • SELECT - SQL, команда - WITH, опция

  • SELECT - SQL, команда - WHERE, опция

  • HAVING, опция

  • UNION, опция

  • ORDER BY, опция

  • INTO или TO, опция

  • Дополнительные Опции и Параметры

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работы с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - UNION Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - UNION, Опция
См. также
CollapseAll image

Ключевая опция UNION комбинирует результирующие записи двух или более операторов выборки данных SQL SELECT в один итоговый набор данных, содержащий данные из нескольких запросов, объединенных ключевой опцией UNION.

Note Примечание

Если один из выбираемых столбцов имеет следующий тип данных Memo, General, или Blob, соответствующие столбцы в других Выборках должны быть соответствующего типа; несовместимые типы данных недопустимы.

Общая синтаксическая конструкция представлена в разделе SELECT - SQL.

Детальный синтаксис рассматриваемой опции UNION имеет следующий вид:

[UNION [ALL] SELECTCommand]

Параметры

[UNION [ALL] SELECTCommand]

Определяет другой, следующий оператор SELECT. По-умолчанию, опция UNION исключает повторяющиеся столбцы из результирующего набора выборки.

Note Примечание

Ключевое слово ALL используется для указания дублирования столбцов в результирующем наборе выборки.

Expand image Комментарии

Далее представлена общая синтаксическая конструкция основного оператора SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [HAVING Conditions]
 [UNION Clause]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Дополнительная информация об остальныхз ключевых Опциях команды SQL SELECT представлена в следующих разделах:

  • SELECT, опция

  • FROM, опция

  • SELECT - SQL, команда - WITH, опция

  • SELECT - SQL, команда - WHERE, опция

  • GROUP BY, опция

  • HAVING, опция

  • ORDER BY, опция

  • INTO или TO, опция

  • Дополнительные Опции и Параметры

Вы можете использовать опцию UNION для "эмуляции" объединения таблиц типа outer join (внешнего объединения). Вы можете определять несколько опций UNION; общее количество задаваемых конструкций UNION в общем операторе SELECT - Не лимитировано.

Система Visual FoxPro поддерживает допустимые преобразования типов данных, которые могут быть выполнены. Общие замечания по использованию ключевой опции UNION см. в следующем разделе: Базовые соглашения по использованию операторов SQL SELECT.

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - HAVING Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - HAVING, секция
См. также
CollapseAll image

Секция HAVING определяет условие группировки данных, включаемых в результирующий набор Запроса. Если основная команда SQL SELECT не содержит в списке полей выборки агрегатных функций, то вы можете в этом операторе SQL SELECT использовать рассматриваемую секцию HAVING, без ключевой секции GROUP BY, используемую обычно для вычисления значений агрегатных функций.

Note Совет

Секция HAVING без указания секции GROUP BY работает также как секция WHERE. Если секция HAVING используется при отсутствии агрегатных функций, то рекомендуется заменить ее на секцию WHERE, что увеличит производительность выполнения Запроса.

Note Обратите внимание

Секция HAVING должна быть указана перед секцией INTO; иначе, возникает Синтаксическая ошибка.

Полная синтаксическая конструкция представлена в разделе SELECT - SQL, команда.

Детальный синтаксис для секции HAVING имеет следующий вид:

HAVING FilterCondition [AND | OR ...]

Параметры

FilterCondition

Определяет логическое условие критерия группировки данных в результирующем наборе Запроса. Секция HAVING может включать в себя несколько условий фильтрации, соединенных логическими операндами AND / OR. Для отрицания логического выражения используется соответствующий операнд NOT.

Note Примечание

Условие фильтрации в секции HAVING не может содержать Подзапросов. Вы можете использовать внутренние алиасы таблиц и допустимые агрегатные функции в рассматриваемой секции HAVING. Дополнительная информация об использовании ключевой секции HAVING имеется в разделе Общие соображения по использованию операторов SQL SELECT.

Note Примечание

Дополнительная информация по построению конструкции FilterCondition имеется в подразделе описания опции ON в разделе FROM, секция.

Expand image Комментарии

В следующем программном коде представлена общая синтаксическая конструкция команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [HAVING Conditions]
 [UNION Clause]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальное описание ключевых секций команды SQL SELECT представлено в следующих разделах:

  • SELECT, секция

  • FROM, секция

  • SELECT - SQL, команда - WITH, секция

  • SELECT - SQL, команда - WHERE, секция

  • GROUP BY, секция

  • UNION, секция

  • ORDER BY, секция

  • INTO / TO, секция

  • Дополнительные Опции и Параметры

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - ORDER BY Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - ORDER BY, секция
См. также Пример
CollapseAll image

Секция ORDER BY определяет один или несколько выбираемых элементов, относительно которых выполняется сортировка результирующего набора Запроса.

Note Примечание

Если вы не задаете в секции ORDER BY ни одного элемента, результат Запроса не сортируется.

Общая синтаксическая конструкция представлены в разделе SELECT - SQL, команда.

Детальный синтаксис рассматриваемой секции ORDER BY имеет следующий вид:

[ORDER BY Order_Item [ASC | DESC] [, ...]]

Параметры

[ORDER BY Order_Item

Определяет элемент выборки, по которому осуществляется сортировка результирующего набора.

  • Это поле из таблицы, указанной в секции FROM или поле из Подзапроса. Вы не можете определять для сортировки поля следующих типов данных Blob или General.

    Note Обратите внимание

    Если секция ORDER BY cиспользуется совместно с секцией UNION, поле сортировки должно быть указано в списке полей выборки Select_Item из последней секции SELECT, и не являться полем Подзапроса.

  • Это имя поля выборки из списка секции SELECT.

    Note Примечание

    Если секция ORDER BY используется совместно с секцией UNION, имя поля сортировки должно быть представлено в списке Select_Item последней секции SELECT.

  • Числовое выражение, определяющее порядок размещения столбцов в результирующем наборе Запроса. Крайний левый столбец имеет номер = 1.

[ASC]

Определяет сортировку по-возрастанию результирующего набора. ASC является опцией по-умолчанию для секции ORDER BY.

[DESC]

Определяет сортировку по-убыванию результирующего набора.

Expand image Комментарии

В следующем программном коде представлены все ключевые секции основной команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [HAVING Conditions]
 [UNION Clause]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальное описание основных секций команды SQL SELECT представлено в следующих разделах:

  • SELECT, секция

  • FROM, секция

  • SELECT - SQL, команда - WITH, секция

  • SELECT - SQL, команда - WHERE, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • INTO /r TO, секция

  • Дополнительные Опции и Параметры

Expand image Пример

В следующем примере демонстрируется использование рассматриваемой секции ORDER BY Order_Item. Выполняется выборка полей Country, PostalCode, и Company, результирующий набор Запроса сортируется в порядке указания данных полей, по-возрастанию (по-умолчанию).

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT country, postalcode, company ;
 FROM customer ;
 ORDER BY country, postalcode, company

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - INTO or TO Clause

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - INTO / TO, секция
См. также Пример
CollapseAll image

Секция INTO / TO определяет параметры "устройства вывода" результирующего набора Запроса, полученного оператором SQL SELECT.

Общая синтексическая конструкция представлена в разделе описания команды SELECT - SQL.

Детальный синтаксис секции INTO / TO имеет следующий вид:

[INTO StorageDestination | TO DisplayDestination ]

Параметры

[INTO StorageDestination]

Определяет вывод результатов запрооса в Массив, в Курсор, или в Таблицу.

Note Обратите внимание

Если вы не указываете секцию INTO, результаты Запроса отображаются в системном окне Browse (по-умолчанию). Для переадресации результатов Запроса на Принтер или в Файл используется ключевое слово TO .

В следующей таблице описываются возможные варианты результирующего набора Запроса, задаваемые в секции INTO.

StorageDestination Описание

ARRAY ArrayName

Размещение результатов Запроса в массив переменных памяти.

Note Примечание

Если результирующий набор не содержит записей, то массив не создается.

CURSOR CursorName [NOFILTER | READWRITE]

Размещение результатов Запроса во временном Курсоре.

Note Примечание

Если вы определяете имя уже открытой таблицы, Visual FoxPro генерирует сообщение об ошибке. После выполнения оператора SELECT, временный курсор открывается в свободной рабочей области, она становится активной (текущей), курсор имеет статус read-only, если не используется ключевое слово READWRITE. Когда вы закрываете данный Курсор, он удаляется; временые курсоры размещаются во временных файлах, местоположение которых определяется системной переменной SORTWORK.

Опция NOFILTER создает временный курсор, который может использоваться в последующих Запросах.

Note Примечание

При использовании опции NOFILTER повышается производительность выполнения запроса; временная таблица создается в этом случае на диске. Когда курсор закрывается - временная таблица удаляется с диска.

Опция READWRITE позволяет создавать модифицируемые курсоры. Если в исходных таблицах используются автоинкрементные поля, то при использовании опции READWRITE результирующий курсор не поддерживает поля указанного типа. Для модифицируемых курсоров можно создавать несколько структурных индексов, индексных Тэгов.

TABLE TableName [DATABASE DatabaseName [NAME LongTableName]]

Размещение результатов Запроса в Таблице.

Caution note Предупреждение

Если вы используете имя уже существующей Таблицы (возможно, даже открытой), и в текущий момент действует установка SET SAFETY = OFF, Visual FoxPro перезапишет данную таблицу, без предупреждения.

Если вы не задаете расширение для таблицы, Visual FoxPro автоматически добавляет (.dbf). Результирующая таблица остается открытой после выполнения соответствующего оператора SELECT.

Опция DATABASE DatabaseName определяет имя базы данных, к которой прикрепляется результирующая таблица.

Опция NAME LongTableName определяет полное имя (расширенное), которое отождествляется с данной таблицей. Полное имя может содержать не более 128 символов, может быть использовано вместо короткого идентификатора для таблицы из указанной базы данных.
[TO DisplayDestination]

Перенаправляет результаты запроса в Файл, на Принтер, как текст на главное окно Visual FoxPro, или в некоторое активное пользовательское окно.

Note Обратите внимание

Visual FoxPro игнорирует указанную секцию TO если вы также указали секцию INTO для рассматриваемого Запроса

В следующей таблице представлены возможные (поддерживаемые) параметры для секции TO - перенаправления результатов Запроса:

DisplayDestination Описание

FILE FileName [ADDITIVE]

Определяет имя текстового файла ASCII, в который будут выгружены результаты Запроса.

Опция ADDITIVE указывает, что результаты Запроса добавляются в существующий текстовый файл FileName.

PRINTER [PROMPT]

Перенаправляет результаты Запоса на Принтер.

Опция PROMPT отображает диалоговый бокс Выбора / Настройки принтера перед выводом результатов Запроса на печать. В указанном диалоговом боксе пользователь может настроить параметры печати, которые зависят от конкретного Драйвера Принтера.

SCREEN

Выводит результаты Запроса на главное окно Visual FoxPro или в активное пользовательское окно.

Expand image Комментарии

В следующем программном коде представлены все Ключевые секции команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [UNION Clause]
 [HAVING Conditions]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальная информация о конкретной ключевой секции команды SQL SELECT представлена в следующих разделах:

  • SELECT, секция

  • FROM, секция

  • SELECT - SQL, команда - WITH, секция

  • SELECT - SQL, команда - WHERE, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • ORDER BY, секция

  • Дополнительные Опции отображения результатов Запроса

Expand image Пример

В следующем примере демонстрируется размещение результатов Запроса в некоторой таблице, которая указывается в секции INTO TABLE TableName. В результирующий набор выбираются следующие поля: Company, Order_Date, и Shipped_On, из исходных таблиц Customer и Order, которые соединяются с помощью ключевого поля Cust_ID field; результирующая таблица имеет имя CustShip. После выполнения Запроса результаты отображаются в системном окне Browse. В операторе SELECT используются внутренние (локальные) алиасы исходных таблиц - для однозначной идентификации связующего поля Cust_ID, которое присутствует в обоих таблицах.

CopyCode image Копировать Код
CLOSE ALL
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT TAlias1.company, TAlias2.order_date, TAlias2.shipped_on ;
 FROM customer TAlias1, orders TAlias2 ;
 WHERE TAlias1.cust_id = TAlias2.cust_id ;
 INTO TABLE custship.dbf
BROWSE

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запрсами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT - SQL Command - Additional Display Options

Visual FoxPro 9.0 Описание Языка
SELECT - SQL, команда - дополнительныен опции вывода данных
См. также
CollapseAll image

При получении результирующего набора Запроса вы можете определить дополнительные опции для рассматриваемого оператора SQL SELECT .

Общая синтаксическая конструкция для команды представлена в разделе SELECT - SQL.

Детальный синтаксис рассматриваемой секции дополнительных опци имеет следующий вид:

[PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]

Параметры

[PREFERENCE PreferenceName]

Сохраняет атрибуты и заданные опции системного окна Browse для последующего использования, при направлении результирующих данных Запроса в системное окно Browse.

Note Примечание

Вы можете просмотреть сохраняемые параметры в любое время. Их характеристики размещаются в соответствующем файле ресурсов FoxUser.dbf

При первом выполнении Запроса с использование опции PREFERENCE в соответствующей команде SELECT выполняется создание соответствующей записи в файле Ресурсов. При последующем выполнении команды SELECT с рассматриваемой опцией восстанавлюваются все настроечные параметры системного окна Browse, в котором отображаются результаты Запроса. Когда данное окно закрывается, изменненные параметры настройки сохраняются. Если вы закрываете системное окно Browse с помощью клавиатурных комбинаций CTRL+Q / CTRL+W, то выполненные изменения параметров не сохраняются в Ресурсном файле.

[NOCONSOLE]

Блокирует отображение результатов выполнения Запроса на главном окне Visual FoxPro или текущем активном окне пользователя при выводе результатов на принтер или текстовый файл.

[PLAIN]

Блокирует вывод заголовков столбцов результирующего набора Запроса.

Note Примечание

Вы можете использовать опцию PLAIN вне зависимости от указания ключевой секции TO. Если используется секция INTO, Visual FoxPro игнорирует опцию PLAIN.

[NOWAIT]

Продолжает выполнение программного модуля после вывода результатов Запроса в системное окно Browse (при соответствующем указании типа результата Запроса). Программа не ожидает закрытия указанного системного окна Browse, выполнение продолжается со строки, следующей за командой SELECT.

Note Примечание

Если используется ключевая секция INTO, Visual FoxPro игнорирует заданную опцию NOWAIT.

Например, когда вы указываете опцию TO SCREEN, для отображения результатов Запроса на главное окно Visual FoxPro или в некоторое пользовательское окно, вывод результатов приостанавливается при заполнении указанного устройства вывода очередной порцией результатов Запроса. Для просмотра следующей порции результатов - нужно нажать клавишу. Однако, если в этом случае вы используете ключевое слово NOWAIT, результаты запроса непрерывно заполняют заданное устройство вывода, без соответствующей паузы.

Expand image Комментарии

В следующем программном коде представлены ключевые секции команды SELECT - SQL:

CopyCode image Копировать Код
SELECT Select_List
 FROM Table_List
...[WITH (BUFFERING = lExpr)]
 [WHERE Conditions]
 [GROUP BY Column_List]
 [HAVING Conditions]
 [UNION Clause]
 [ORDER BY Column_List]
 [INTO Clause | TO Clause ]
 [Additional_Display_Options]

Детальная информация о каждой ключевой секции команды SQL SELECT представлена в следующих разделах:

  • SELECT, секция

  • FROM, секция

  • SELECT - SQL, команда - WITH, секция

  • SELECT - SQL, команда - WHERE, секция

  • GROUP BY, секция

  • HAVING, секция

  • UNION, секция

  • ORDER BY, секция

  • INTO / TO, секция

  • Дополнительные Опции и Параметры

Expand image См. также

Описание

CREATE QUERY, команда
CREATE TABLE - SQL, команда
MODIFY QUERY, команда

Другие ссылки

Работа с Запросами
Работа с Представлениями (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SELECT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SELECT
Смотрите также Пример
CollapseAll image

Активизирует заданную рабочую область.

SELECT nWorkArea | cTableAlias

Параметры

nWorkArea

SЗадает рабочую область, которую нужно активизировать. Если значение nWorkArea равно 0, активизируется неиспользуемая рабочая область с наименьшим номером.

cTableAlias

Задает рабочую область, которая содержит открытую таблицу, подлежащую активизации. cTableAlias представляет собой псевдоним этой открытой таблицы. В качестве cTableAlias можно задать и букву из диапазона от A до J; в этом случае будет активизирована одна из первых десяти рабочих областей.

Expand image Примечания

По умолчанию при запуске Visual FoxPro активизируется рабочая область номер 1.

Note Замечание

В команды и функции Visual FoxPro можно включать поля из таблиц, открытых в любой рабочей области. Чтобы получить доступ к полям таблицы, которая открыта в рабочей области, отличной от текущей, используйте следующие форматы: alias.field или alias -> field.

Expand image Пример

Следующий пример демонстрирует способы выбора рабочих областей.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
SELECT 1     && Work area 1
USE customer  && Opens Customer table

SELECT 2     && Work area 2
USE orders  && Opens Orders table

SELECT customer     && Work area 1
BROWSE

SELECT B     && Work area 2
BROWSE

Expand image Смотрите также

Справочное руководство

Функция ALIAS( )
Функция SELECT( )
Команда USE

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SET Command Overview

Visual FoxPro 9.0 Описание Языка
Общее описание команды SET
См. также

Команда SET выполняет различные действия когда используется с различными ключевыми словами

SET [ [cSetCommand] [ON | OFF] | TO [eSetting] ]

Комментарии

Когда параметры отсутствуют, команда SET открывает окно Data Session. Системное окно Data Session обеспечивает простое управление по открытию таблиц, установке связей между таблицами, изменению различных текущих параметров, структуры, фильтров....Дополнительно см. Окно Data Session.

В следующей таблице представлено описание различных вариантов команды SET

Команда SET | Описание
SET ALTERNATE Command | Перенаправляет в текстовый файл результаты выполнения команд: ?, ??, DISPLAY, или LIST .
SET ANSI Command | Определяет правила сравнения символьных выражений, имеющих разную длину, которые используются в командах SQL Visual FoxPro.
SET ASSERTS Command | Определяет поведение команды ASSERT.
SET AUTOINCERROR Command | Определяет поведение системы при изменении автоинкрементного поля, выдать ошибку или игнорировать сообщение об ошибке.
SET AUTOSAVE Command | Определяет, как система выполняет запись данных на диск при завершении работы команды READ или возврате в Командное Окно.
SET BELL Command | Управляет звуковым сигналом компьютера, устанавливает характеристики звукового сигнала.
SET BLOCKSIZE Command | Определяет, как система использует дисковое пространство при сохранении полей типа MEMO.
SET BROWSEIME Command | Определяет поведение системы при открытом методе IME (Input Method Editor) для текущего окна Browse .
SET CARRY Command | Определяет, как система переносит данные в новые записи при выполнении команд INSERT, APPEND, BROWSE.
SET CENTURY Command | Определяет, в каком формате система работает с данными типа Дата, для года отводится 2 или 4 символа.
SET CLASSLIB Command | Открывает визуальную библиотеку классов (.vcx) для дальнейшего определения дочерних классов.
SET CLOCK Command | Определяет, где и как отображается системное время
SET COLLATE Command | Определяет режимы сортировки символьных полей в индексных выражениях.
SET COLOR OF SCHEME Command | Определяет цветовую пару, цветовую схему или копирует описание цвета из одной схемы в другую.
SET COLOR SET Command | Загружает ранее определеную цветовую схему
SET COMPATIBLE Command | Управляет совместимостью с версиями Microsoft FoxBASE+ и младшими версиями FoxPro.
SET CONFIRM Command | Определяет действие системы при завершении ввода данных в текстовое поле.
SET CONSOLE Command | Включает или Выключает вывод данных на главное окно системы или текущее активное окно пользователя.
SET COVERAGE Command | Включает или Выключает вывод в файл специальной информации отладчика coverage .
SET CPCOMPILE Command | Определяет кодовую страницу компиляции программных модулей
SET CPDIALOG Command | Определяет использование диалогового бокса Code Page при открытии таблиц с данными.
SET CURRENCY Command | Определяет специальный символ денежной единицы (валюты) для отображения его с числовыми выражениями.
SET CURSOR Command | Управляет видимостью курсора при вводе данных.
SET DATABASE Command | Задает текущую БазуДанных
SET DATASESSION Command | Активирует специальную форму Data Session.
SET DATE Command | Определяет формат вывода данных типа Date и DateTime .
SET DEBUG Command | Включена для совместимости, Открывает окна Debug и Trace для версий Visual FoxPro 5.0 и младше.
SET DEBUGOUT Command | Перенаправляет вывод отладочной информации в текстовый файл.
SET DECIMALS Command | Определяет количество значащих цифр после точки в числовых выражениях.
SET DEFAULT Command | Определяет текущий диск и каталог.
SET DELETED Command | Определяет, как система обрабатывает записи таблиц, которые помечены на удаление.
SET DEVELOPMENT Command | Определяет действие системы по сравнению времени модификации программных модулей и соответствующих объектных модулей. .
SET DEVICE Command | Переадресовывает вывод данных @ ... SAY на экран , на принтер, или в файл
SET Display Command | Включена для совместимости смладшими версиями.
SET DOHistory Command | Включена для совместимости смладшими версиями.
SET ECHO Command | Открывает окно Trace для отладки программы. Включена для совместимости смладшими версиями.
SET ENGINEBEHAVIOR Command | Определяет работу SQL-механизма для версий Visual FoxPro 7.0, 8.0, или 9.0.
SET ESCAPE Command | Определяет действие системы при нажатии клавиши ESC для прерывания выполняемой программы.
SET EVENTLIST Command | Определяет вывод сообщений обработки событий в окно Debug Output или в файл, заданный в команде SET EVENTTRACKING.
SET EVENTTRACKING Command | Включает или выключает вывод сообщений обработчика событий в файл.
SET EXACT Command | Определяет правила сравнения символьных строк, имеющих разную длину. .
SET EXCLUSIVE Command | Определяет режимы открытия таблиц при монопольной или многопользовательской работе в сети.
SET FDOW Command | Определяет первый день недели.
SET FIELDS Command | Определяет список доступных полей таблицы.
SET FILTER Command | Определяет условие фильтрации данных для текущей таблицы в заданной рабочей области.
SET FIXED Command | Определяет количество десятичных знаков для числовых выражений фиксированной длины.
SET FULLPATH Command | Определяет формат результирующих величин для функций CDX( ), DBF( ), MDX( ), и NDX( ).
SET FUNCTION Command | Определяет выполняемое действие для клавишной комбинации (keyboard macro) .
SET FWEEK Command | Определяет первую неделю года.
SET HEADINGS Command | Определяет заголовки столбцов при выполнении команды TYPE для просмотра содержания файла.
SET HELP Command | Включает или отключает подсистему помощи Microsoft Visual FoxPro, определяет главный файл помощи.
SET HOURS Command | Устанавливает формат системных часов: 12-ти или 24-х часовой формат.
SET INDEX Command | Открывает один или несколько индексных файлов для текущей таблицы. .
SET KEY Command | Определяет доступ к интервалу записей, определенных для указанного индексного выражения.
SET KEYCOMP Command | Управляет настройкой системных клавишных комбинаций. (MS-DOS или WINDOWS)
SET LIBRARY Command | Открывает доступ к средствам во внешней API -библиотеке
SET LOCK Command | Включает или отключает автоматическую блокировку записей или файлов в соответствующих командах обработки данных.
SET LOGERRORS Command | Определяет системные действия при сообщении об ошибках режима компиляции программных модулей.
SET MACKEY Command | Определяет ключ или комбинацию клавиш для открытия диалогового бокса Macro Key Definition .
SET MARGIN Command | Устанавливает левый край печати.
SET MARK OF Command | Определяет механизм отметки элементов или пунктов меню.
SET MARK TO Command | Определяет разделитель в данных типа Data.
SET MEMOWIDTH Command | Определяет ширину полей типа MEMO или символьных выражений.
SET MESSAGE Command | Определяет системные сообщения на главном экране Visual FoxPro или в графическом Status Bar-e, или определяет размещение системных сообщений.
SET MULTILOCKS Command | Определяет, как обрабатываются группы записей в функциях LOCK( ) или RLOCK( ).
SET NEAR Command | Определяет, как устанавливается указатель записи при выполнении команд FIND или SEEK .
SET NOCPTRANS Command | Управляет преобразованием символьных полей при обработке кодовых страниц.
SET NOTIFY Command | Включает или отключает вывод системных сообщений при выполнении критичных функций.
SET NULL Command | Определяет поддержку нулевых значений (null) для команд ALTER TABLE, CREATE TABLE и INSERT - SQL.
SET NULLDISPLAY Command | Определяет формат вывода текстовых полей, имеющих значение = null.
SET ODOMETER Command | Определяет величину интервала обрабатываемых записей, которая сообщается при обработке группы записей.
SET OLEOBJECT Command | Определяет, как система работает с OLE- разделом реестра WINDOWS, когда указанный объект не найден.
SET OPTIMIZE Command | Включает или выключает оптимизацию запросов Rushmore
SET ORDER Command | Управляет установкой текущих индексных файлов или тэгов.
SET PALETTE Command | Определяет, как система использует текущую цветовую схему.
SET PATH Command | Определяет список путей поиска файлов.
SET PDSETUP Command | Загружает режим установки драйвера принтера или очищает текущий драйвер принтера.
SET POINT Command | Определяет символ-разделитель, используемый при указании десятичной точки в числовых выражениях.
SET PRINTER Command | Включает или выключает вывод данных на принтер, управляет выводом на другие устройства.
SET PROCEDURE Command | Открывает прцедурный файл.
SET READBORDER Command | Определяет окаймляющий бордюр для текстовых полей в командах @ ... GET.
SET REFRESH Command | Определяет, как обновляются данные при работе с таблицами в сети.
SET RELATION Command | Устанавливает связь между таблицами.
SET RELATION OFF Command | Разрывает установленную связь между таблицами.
SET REPORTBEHAVIOR Command | Определяет поведение системы при обработке файлов Отчетов Visual FoxPro обычных команд REPORT FORM и LABEL .
SET REPROCESS Command | Определяет варианты повторных попыток блокировки записей или файлов при работе в сети.
SET RESOURCE Command | Управляет ресурсным файлом.
SET SAFETY Command | Определяет поведение системы Visual FoxPro в таких критичных операциях как: перезапись существующего файла, или правила для поля, или существующей таблицы, для дизайнера таблиц или выполнения команды ALTER TABLE.
SET SECONDS Command | Определяет формат вывода секунд в полях типа DateTime.
SET SEPARATOR Command | Определяет символ-разделитель групп цифр в числовых выраженияхслева от десятичной точки (разделитель тысяч, миллионов и т.д.) .
SET SKIP Command | Создает связь между таблицами "один-ко-многим"
SET SKIP OF Command | Управляет включением и выключением элементов меню, пунктов меню для системного меню Microsoft Visual FoxPro или определенного пользовательского меню.
SET SPACE Command | Определяет промежутки между выводимыми полями или выражениями по командам ? или ?? .
SET SQLBUFFERING Command | Определяет, как сохраняются результирующие данные при выполнении запросов по командам SQL SELECT
SET STATUS Command | Включает или отключает вывод системных сообщений в Status Bar.
SET STATUS BAR Command | Управляет графическим Status Bar-ом.
SET STEP Command | Открывает системное окно Trace для отладки программы.
SET STRICTDATE Command | Определяет обработку ошибок, связанных с данными типа Date и DateTime.
SET SYSFORMATS Command | Определяет поведение системы при изменении системных настроек Microsoft Windows .
SET SYSMENU Command | Включает или отключает системное меню Visual FoxPro при выполнении программы, а также позволяет настроить системное меню.
SET TABLEPROMPT Command | Включает или выключает режим активации диалогового бокса Открытия таблиц при выполнении таких команд, как Команда SELECT - SQL.
SET TABLEVALIDATE Command | Определяет уровень контроля целостности таблиц
SET TALK Command | Управляет выводом системных сообщений при выполнении команд.
SET TEXTMERGE Command | Включает или выключает режим вычисления значений полей, переменных, элементов массива, функций и выражений, включенных в специальный текстовый бокс, ограниченный разделителями.
SET TEXTMERGE DELIMITERS Command | Определяет символ-разделитель (ограничитель) для текстовых полей.
SET TOPIC Command | Определяет стартовый раздел помощи при активации подсистемы помощи.
SET TOPIC ID Command | Определяет схему увязки разделов подсистемы помощи с соответствующими номерами разделов помощи.
SET TRBETWEEN Command | Включает или отключает режим трассировки между точками прерывания.
SET TYPEAHEAD Command | Определяет максимальный размер буфера ввода данных.
SET UDFPARMS Command | Определяет способы передачи параметров в пользовательские функции (по-значению или по-ссылке).
SET UNIQUE Command | Определяет включение записей, имеющих одинаковое значение ключевого выражения в таблицы индексных файлов.
SET VARCHARMAPPING Command | Управляет обработкой символьных выражений в данных типа Varchar в результатах SQL -запросов и SQL-представлений.
SET VIEW Command | Открывает системное окно Data Session или восстанавливает окружение данных, сохраненное ранее в соответствующем файле view .
SET VOLUME Command | Строит схему соответствия MS-DOS назначений дисков (A:, B:, C:, и так далее) в соответствие с папками в FoxPro для Macintosh.
SET WINDOW of Memo Command | Включена для совместимости с младшими версиями.

См. также

Другие ссылки

Команды
Команды для управления Data Session

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET ALTERNATE Command

Visual FoxPro 9.0 Описание Языка
Команда SET ALTERNATE
См. также

Управляет выводом результатов на экран, принтер, или в текстовый файл таких команд, как ?, ??, DISPLAY, или LIST.

SET ALTERNATE ON | OFF
-или-
SET ALTERNATE TO [FileName [ADDITIVE]]

Параметры

ON

Включает вывод в текстовый файл.
OFF

(По-умолчанию) Отключает вывод информации в текстовый файл.
TO FileName

Создает текстовый файл (для вывода информации), которому назначается расширение .txt, если пользователь не указал другое расширение. Если Вы указываете команду SET ALTERNATE TO без задания имени файла, текстовый файл, указанный в предыдущей команде SET ALTERNATE TO - закрывается.
ADDITIVE

Указывает, что вывод информации будет дополняться в существующий текстовый файл. Если данная опция опущена, будет создан новый текстовый файл.

См. также

Описание

Команда ? | ??
Команда DISPLAY
Команда LIST

Другие ссылки

Команды
Команда SET PRINTER
Команда ACTIVATE SCREEN
Общее описание команды SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET ANSI Command

Visual FoxPro 9.0 Описание Языка
Команда SET ANSI
См. также Пример

Specifies whether to pad a shorter string with spaces when making a SQL string comparison or binary expression with zero (0) bytes when making a binary expression comparison in SQL commands using the equal sign operator (=).

Примечание:
В OLE DB провайдере Visual FoxPro, Вы не можете использовать в запросах величины в формате ANSI , однако команда SET ANSI поддерживается.

SET ANSI ON | OFF

Параметры

ON

Короткие символьные строки дополняются справа пробелами или нуль-символами (0) для уравнивания их с более длинными символьными строками или выражениями. Когда SET ANSI установлено в ON, обе сравниваемые символьные строки должны иметь одинаковую длину.
OFF

(По-умолчанию) Определяет, что короткие символьные строки не дополняются справа пробелами или нуль-символами (0) в целях уравнивания длин сравниваемых строк. Когда SET ANSI установлено в OFF, две символьные строки сравниваются символ за символом по достижению конца короткой строки.

Комментарии

Команда SET ANSI не эффективна при указании "двойного" сравнивания, оператор (= =). Когда Вы указываете данный оператор сравнения = = , короткая строка всегда дополняется справа пробелами или нуль-символом (до длины большей строки). Для дополнительной информации см. раздел Реляционные операторы.

Команда SET ANSI действует только в текущей рабочей сессии.

SET ANSI и Дизайнер Запросов Visual FoxPro выстраивают команды SELECT - SQL в Дизайнере Запросов . При использовании Вами конструкций Join и Filter, для операторов сравнения Equal или Exactly Like , используются соответствующие операторы = или = = в командах SELECT-SQL. Соответствующая установка Команды SET ANSI может повлиять на результат выполнения запроса.

Порядок строк. В командах SELECT-SQL порядок строк при сортировке не зависит от использования указанных операторов сравнения:
= или = = .

Пример

В следующем примере, когда SET ANSI установлено в ON, результатом будет False (.F.), потому , что при уравнивании строк до одинаковой длины их значения остаются различными:

Копировать Код
'Tommy' = 'Tom'

Опрератор = = (двойного сравнения) используется в SELECT-SQL командах.

В следующем примере, когда SET ANSI установлено в ON, результатом будет True (.T.), потому, что сравнение завершается на 'Tom':

Копировать Код
'Tommy' = 'Tom'

См. также

Другие Ссылки

Строки и сравнения их значений в Visual FoxPro
Команда SET EXACT
Общее описание команды SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET ASSERTS Command

Visual FoxPro 9.0 Описание Языка
SET ASSERTS, команда
См. также
CollapseAll image

Определяет, как обрабатывается команда ASSERT (подтверждение), выполняется или игнорируется.

SET ASSERTS ON | OFF

Параметры

ON

Определяет, что система Visual FoxPro выполняет команды ASSERT.

OFF

(По-умолчанию), Опредекляет, что Visual FoxPro игнорирует команды ASSERT.

Expand image Комментарии

Если Вы собираетесь игнорировать все кнопки в окне системных сообщений, то установите настройку SET ASSERTS OFF.

Expand image См. также

Описание

ASSERT, команда
Общее описание команд SET

Концепции

Перед тем, как выполнять отладку программного кода

Другие ссылки

Команды (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET AUTOINCERROR Command

Visual FoxPro 9.0 Справка по языку
Команда SET AUTOINCERROR
См.также

Описывает, возникнет ли реакция на ошибку при попытке обновить или вставить значения в поле с автоинкрементом (поле, значение в котором наращивается автоматически при добавлении записей - прим. переводчика).

Замечание:
Когда создаётся курсор, он использует текущую установку SET AUTOINCERROR. Изменение установки SET AUTOINCERROR во время сессии не оказывает влияния на ранее открытые курсоры. Для изменения установок таких курсоров используйте функцию CURSORSETPROP( ).

SET AUTOINCERROR ON | OFF

Параметры

ON

При попытке обновить или вставить значения в поле с автоинкрементом возникает ошибка. Эта установка является установкой по умолчанию для общей или частных сессий работы с данными.
OFF

При попытке обновить или вставить значения в поле с автоинкрементом ошибка не возникает. Значение, которое используется для обновления или вставки в поле игнорируется; таким образом значение в поле не изменяется.

Примечания

Установка OFF предоставляет большие удобства тех случаях, когда таблица содержит поля с автоинкрементом и требуется выполнить команду, такую как APPEND FROM или INSERT INTO со списком полей. В этом случае нет необходимости заботиться о том, чтобы поля с автоинкрементом не попали в список.

Команда SET AUTOINCERROR распространяется только на текущую сессиию.

См.также

Команды
Поля с автоинкрементом в таблицах

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET AUTOSAVE Command

Visual FoxPro 9.0 Описание Языка
Команда SET AUTOSAVE
См. также

Определяет, как система Visual FoxPro сбрасывает буферы данных на диск, когда пользователь выходить из цикла READ или возвращается в Командное окно.

SET AUTOSAVE ON | OFF

Параметры

ON

Определяет, что буферы сбрасываются на диск, когда завершается команда READ или осуществляется возврат в Командное Окно.
OFF

По-Умолчанию, Определяет, что что буферы сбрасываются на диск по истечении 5 (пяти) минут от последней записи на диск или когда завершается команда READ или осуществляется возврат в Командное Окно.

Комментарии

Сброс буферов на диск обеспечивает надежное сохранение данных для компьютеров с низкой мощностью.

Установка SET AUTOSAVE действует в течение текущей рабочей сессии.

См. также

Другие Ссылки

Команды
Вункция FFLUSH( )
Команда FLUSH
Команда SET DATASESSION
Общее описание команды SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET BELL Command

Visual FoxPro 9.0 Описание Языка
SET BELL, команда
См. также Пример
CollapseAll image

Включает или Отключает звуковой сигнал; определяет атрибуты сигнала.

SET BELL ON | OFF
-или-
SET BELL TO [cWAVFileName]

Параметры

ON

(По-умолчанию) Включает звуковой сигнал.

OFF

Выключает звуковой сигнал компьютера.

TO cWAVFileName

Определяет имя звукового файла, который будет проигрываться. Параметр cWAVFileName должен включать полный путь к данному файлу.

При выполнении команды SET BELL TO, без параметра cWAVFileName, восстанавливается начальная установка звука.

Expand image Комментарии

Обычно, команда SET BELL используется для подачи звукового сигнала при возникновении ошибочных ситуаций, при вводе неверных данных, при завершении ввода в поле редактирования; чтобы дополнительно обратить внимание пользователя данного приложения.

Expand image Пример

В следующем примере проигрывается звуковой файл: Ding.wav.

CopyCode image Копировать Код
SET BELL TO (ADDBS(GETENV('windir')))+"MEDIA\DING.WAV"
?? CHR(7)

Expand image См. также

Описание

Базовый класс Sound Player
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET BLOCKSIZE Command

Visual FoxPro 9.0 Описание Языка
SET BLOCKSIZE, команда
См. также
CollapseAll image

Определяет, как система Visual FoxPro использует дисковое пространство при сохранении полей типа MEMO.

SET BLOCKSIZE TO nBytes

Параметры

nBytes

Данный параметр определяет размер блока данных при сохранении полей типа MEMO на диске. Если nBytes = 0, дисковое пространство распределяется по одному байту на один блок данных. Если значение nBytes принимает значение в диапазоне: от 1 - до 32, дисковое пространство, распределяемое под блоки данных - кратно 512 байтам. Если параметр nBytes больше чем 32, то распределяемое дисковое пространство на каждый блок данных равно данному параметру nBytes.

При задании значения данного параметра, больше чем 32, надежно экономится дисковое пространство.

Expand image Комментарии

По-умолчанию: SET BLOCKSIZE = 64. Для изменения размера блока хранения данных в полях типа MEMO, после создания структуры таблицы нужно выполнить следующее: сначала установить новое значение размера блока данных, за тем скопировать данные в другую таблицу, командой COPY. В новой таблице данные будут храниться в формате нового размера блока.

Действие команды SET BLOCKSIZE распространяется на текущую сессию данных.

Expand image См. также

Описание

COPY FILE, команда
MODIFY STRUCTURE, команда
PACK, команда
SET DATASESSION, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET BROWSEIME Command

Visual FoxPro 9.0 Описание Языка
SET BROWSEIME, команда
См. также
CollapseAll image

Опредекляет, открывается ли специализированный редактор IME (Input Method Editor) при перемещении в текстовом боксе редактирования системного окна Browse.

SET BROWSEIME ON | OFF

Параметры

ON

(По-умолчанию, для ОS Traditional Chinese Windows) Открывается специальный редактор IME (Input Method Editor) при перемещении в текстовом боксе редактирования системного окна Browse.

OFF

(По-умолчанию, для OS Korean Windows) специальный редактор IME (Input Method Editor) - не открывается

Expand image - Комментарии

Действие команды SET BROWSEIME корреспондируется с настройкой Browse IME control, в Закладке General диалогового бокса Options.

Данная команда не имеет эффекта в операционной среде, где обрабатываются двубайтные символы (DBCS).

Expand image См. также

Описание

IMEMode, свойство
IMESTATUS( ), вункция
Общее описание команд SET

Концепции

Как: Вводить интернациональные Данные

Другие ссылки

Команды (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET CARRY Command

Visual FoxPro 9.0 Описание Языка
Команда SET CARRY
См. также

Определяет, будет ли система Visual FoxPro переносить данные из текущей записи в новую запись, созданную командами INSERT, APPEND, или BROWSE.

SET CARRY ON | OFF
-or-
SET CARRY TO [FieldList [ADDITIVE]]

Параметры

ON

Включает режим, когда данные из текущей записи переносятся в новую запись.
OFF

(По-умолчанию) Данные в новую запись не переносятся.
TO [ FieldList[ADDITIVE]]

FieldList определяет список полей, для которых данные переносятся. В данном списке имена полей перечисляются через запятую. Опция ADDITIVE указывает, что представленные поля дополняются к списку полей, по которым данные переносятся. Вариант команды SET CARRY TO предполагает активным режим SET CARRY ON. Используйте SET CARRY TO без параметра FieldList для восстановления начального значения списка полей (по всем полям предполагается перенос данных).

Комментарии

Используйте команду SET CARRY для включения режима переноса данных из текущей записи в новую запись. Команда позволяет выделить некоторые поля, которые являются неизменными для группы новых записей в одном сеансе работы. Например, поле, содержащее текущую календарную дату может быть "выделена" данной командой, и Вам не предется постоянно вводить текущую дату для каждой новой записи . Примечание: Данная команда не распространяется на поля типа Memo и General.

Модификация структуры таблицы при активной команде SET CARRY TO <fieldlist> неявно вызывает сброс списка полей: SET CARRY TO. При этом по всем полям таблицы происходит перенос данных. Если Вы выполняете модификацию структуры таблицы, то необходимо повторить выполнение команды SET CARRY TO <fieldlist> для установки прежнего списка полей.

Команда SET CARRY действует только на текущую рабочую область.

Действие Команды SET CARRY распространяется только на текущий сеанс работы системы VFP.

См. также

Другие Ссылки

Команды
Команда INSERT
Команда SET DATASESSION
Команда APPEND
Команда BROWSE
Общее описание команды SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET CENTURY Command

Visual FoxPro 9.0 Описание Языка
Команда SET CENTURY
См. также

Определяет, как Visual FoxPro отображает часть столетия выражения типа дата, и как Visual FoxPro интерпретирует даты, которые заданы только 2-мя цифрами года.

SET CENTURY ON | OFF | TO [nCentury [ROLLOVER nYear]]

Параметры

ON

Определяет, что год отображается четырьмя символам из 10-ти символов (включая разделители).
Примечание:
В соответствие с известными проблемами "2000 года" , рекомендуется всегда использовать данную установку. SET CENTURY ON.

OFF

(По-умолчанию). Определяет, что год указывается двумя символами (предполагается 20-е столетие), дата имеет 8-мь символов
TO nCentury

Указывается число в диапазоне 1 - 99, указывающее текущий век. Когда для года задается 2 знака, параметр nCentury определяет, в каком веке задается дата. Параметр ROLLOVER определяет текущее или следующее столетие.
ROLLOVER nYear

Это число в диапазоне 0 - 99, определяет, что год, больший либо равный заданному принадлежит к предыдущему столетию, а год меньший заданному к следующему столетию. По-умолчанию параметр nYear = 48. Рекомендуется использовать данный параметр только для выражений дат, введенных без указания столетия. Например, если текущий год есть 1998 и nYear =48, тогда вводимое двузначное число, большее 48 относится к 20-му веку, а число меньшее 48 - относится, соответственно, к 21-му веку.

Комментарии

Используйте команду SET CENTURY для отображения данных типа дата в соответствующих форматах.

Использование команды SET CENTURY TO без дополнительных параметров восстанавливает значения по-умолчанию (см. выше). В Visual FoxPro 5.0, использование команды SET CENTURY TO без параметров означает текущий век = 19 и ROLLOVER = 0.

Команда SET CENTURY действует только в текущей рабочей сессии. В новом сеансе работы все прежние установки игнорируются.

Команда SET CENTURY TO с опцией ROLLOVER работает в версиях от Visual FoxPro 5.0 и выше, и позволяет Вам управлять данными типа дата при выключенной команде SET CENTURY OFF. Что позволяет эффективно решать проблемы с датами в различных столетиях.

Примечание:
Команда SET CENTURY OFF всегда подразумевает 20-ый век. Тем не менее, команда SET CENTURY TO имеет приоритет над представленной командой, Начиная с версии Visual FoxPro 5.0 команды SET CENTURY ON/OFF управляют только отображением количества знаков для выражения дата.

Значение, установленное в команде SET CENTURY TO действует только в текущей рабочей сессии.

В версии Visual FoxPro 5.0, указание без параметров SET CENTURY TO устанавливает текущим век, вычисляемый как (текущий–1) и параметр rollover =0 для двусимвольного отображения даты.

См. также

Другие ссылки

Команды
Функция DATE( )
Команда SET DATASESSION
Команда SET STRICTDATE
Команда SET SYSFORMATS
Функция YEAR( )
Общее описание команды SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET CLASSLIB Command

Visual FoxPro 9.0 Описание Языка
Команда SET CLASSLIB
См. также Примеры

Определяет доступность к библиотеке классов (.vcx).

SET CLASSLIB TO ClassLibraryName [IN APPFileName | EXEFileName]
   [ADDITIVE] [ALIAS AliasName]

Параметры

TO ClassLibraryName

Определяет имя библиотеки, (файла) (.vcx), в которой описаны классы объектов. Если параметр ClassLibraryName не содержит имена каталогов, система Visual FoxPro выполняет поиск указанной библиотеки по текущей установке SET PATH или по текущей установке SET DEFAULT. При использовании команды SET CLASSLIB TO без параметра закрывается доступ ко всем открытым библиотекам классов. Для закрытия конкретной библиотеки используйте команду RELEASE CLASSLIB.
IN APPFileName| EXEFileName

Определяет файл приложения (.app) или выполнимый файл (.exe), который содержит описание класса.
ADDITIVE

Данный параметр указывает, что уже имеющийся список библиотек классов дополняется указанным в данной команде, ранее открытые библиотеки остаются открытыми. Если указанный класс отсутствует, то все библиотеки закрываются.
ALIAS AliasName

Определяет алиас для открываемой библиотеки классов. Каждая библиотека классов имеет свой алиас. Например, в следующем примере открывается библиотека с MyClass с алиасом MyCntrls, и создается объект с именем MyButton.
Копировать Код
SET CLASSLIB TO MyClass ALIAS MyCntrls
mMyButton = CREATEOBJ('MyCntrls.MyButton')

Комментарии

Когда выполняются следующие команды CREATEOBJECT( ), ADD OBJECT в DEFINE CLASS, или метод AddObject в соответстующем классе, система Visual FoxPro выполняет поиск определение класса в следующем порядке:

  1. - по Базовым классам Visual FoxPro.

  2. - по определениям классов в памяти, в порядке их загрузки.

  3. - по определениям в текущем программном модуле.

  4. - в библиотеках (.vcx), заданных в команде SET CLASSLIB.

  5. - в процедурных файлах, заданных в команде SET PROCEDURE.

  6. - в текущей, выполняемой программе (.ехе), (.app).

  7. - в реестре Windows, если установлено SET OLEOBJECT ON.

Если указанное определение не найдено, то система Visual FoxPro сообщает об ошибке.

Пример

В следующем примере используется команда CREATE CLASSLIB для создания библиотеки с именем myclslib. Создается пользовательский класс с именем myform, как дочерний от базового класса Visual FoxPro Form, и помещается в эту библиотеку. Команда SET CLASSLIB используется для открытия библиотеки myclslib, после которого имеем доступ к определению указанного ваше класса.

Копировать код
CREATE CLASSLIB myclslib     && Creates a new .VCX visual class library
CREATE CLASS myform OF myclslib AS "Form"  && Creates new class
SET CLASSLIB TO myclslib ADDITIVE     && Opens MyClsLib.VCX

См. также

Другие Ссылки

Команды
Команда ADD CLASS
Метод AddObject
Коанда CREATE CLASS
Команда CREATE CLASSLIB
Функция CREATEOBJECT( )
Команда MODIFY CLASS
Команда RELEASE CLASSLIB
Команда SET PROCEDURE
Команда SET OLEOBJECT
Общее описание команды SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET CLOCK Command

Visual FoxPro 9.0 Описание Языка
Команда SET CLOCK
См. также

Определяет, показываются ли системные часы в главном окне Visual FoxPro, а также определяет их местоположение.

SET CLOCK ON | OFF | STATUS
-или-
SET CLOCK TO [nRow, nColumn]

Параметры

ON

Показывает системное время в верхнем правом углу главного окна Visual FoxPro.
OFF

(По-умолчанию) Убирает системное время с главного окна Visual FoxPro.
STATUS

Отображает системные часы в системной линейке при условии, что включено SET STATUS BAR ON.
TO [ nRow, nColumn]

Указание местоположения системных часов в главном окне Visual FoxPro window. Используйте SET CLOCK TO без указания координат - для отображения системных часов в верхнем правом углу экрана. Если Вы определяете местоположение системных часов в системной линейку SET CLOCK STATUS, а также указываете координаты в опции TO nRow, nColumn, система Visual FoxPro располагает часы по месту указанных Вами координатам.

См. также

Другие Ссылки

Команды
Команда SET BRSTATUS
Команда SET HOURS
Команда SET STATUS
Команда SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET COLLATE Command

Visual FoxPro 9.0 Описание Языка
SET COLLATE, команда
См. также
CollapseAll image

Данная команда определяет Правило Сопоставления символьных выражений в различных операторах индексирования и сортировки данных.

SET COLLATE TO cSequenceName

Параметры

cSequenceName

Определяет правило сопоставления. В следующей таблице представлены допустимые значения данного параметра.

cSequenceName Национальный язык

ARABIC

Арабский

CZECH

Чешский

DUTCH

Датский

GENERAL

Английский, Французский, Немецкий, Испанский - современный, Португальский, и другие языки Западной Европы

GERMAN

Немецкий (DIN)

GREEK

Греческий

HEBREW

Еврейский

HUNGARY

Венгерский

ICELAND

Исландский

JAPANESE

Японский

KOREAN

Корейский

MACHINE

Машинный (принятый "по-умолчанию" для младших версий FoxPro)

NORDAN

Норвежский, Датский

PINYIN

Китайский, упрощенный

POLISH

Польский

RUSSIAN

Русский

SLOVAK

Словацкий

SPANISH

Испанский, традиционный

STROKE

Китайский, упрощенный и традиционный

SWEFIN

Шведский, Финский

THAI

Тайский

TURKISH

Турецкий

UNIQWT

"Уникально взвешенный"
Note Примечание

Когда Вы определяете опцию SPANISH, то: символы "ch" - являются единственными, размещаемыми между "c" и "d", а также "ll" - размещается между последовательностями "l" и "m". При определении правила сопоставления в данной команде не забывайте указывать параметр в кавычках, как показано в следующем примере:
CopyCode image Копировать Код
SET COLLATE TO "SWEFIN"

Правило сопоставления типа MACHINE является правилом "по-умолчанию", с которым пользователи FoxPro давно уже знакомы. В этом случае символьные последовательности сортируются в порядке их размещения в текущей Кодовой странице (code page). Правило MACHINE обеспечивает наилучшую производительность при работе с индексными файлами. Использование другого правила сопоставления, отличного от MACHINE, может значительно замедлить работу Приложения, активно работающего с индексными файлами, созданными с использованием установленного правила сопоставления.

Правило GENERAL является предпочтительным для пользователей U.S. и стран Западной Европы. Символьные последовательности сортируются в этом случае согласно размещению их в текущей Кодовой Странице. Для версий FoxPro, меньше чем2.5, при создании индексов нужно было использовать функции UPPER( ) или LOWER( ) для выравнивания символьных последовательностей. В версиях FoxPro, старших 2.5, Вы можете указать правило GENERAL, и не использовать преобразование функцией UPPER( ) для символьных полей.

При задании правила сопоставления, отличного от MACHINE, независимые индексные файлы (.idx), всегда создаются как компактные (compact) файлы .idx.

Функция SET("COLLATE") - возвращает текущее правило сопоставления символьных строк при сортировке.

Для задания необходимого правила сопоставления в конфигурационных файлах Visual FoxPro, разместите там следующую строку:

CopyCode image Копировать Код
COLLATE = cSequenceName

Что соответствует следующей команде:

CopyCode image Копировать Код
SET COLLATE TO cSequenceName

Expand image Комментарии

Команда SET COLLATE обеспечивает вас механизмом создания индексных файлов для сортировки таблиц, содержащих "акцентированные" национальные символы, участвующие в индексировании. Действие команды SET COLLATE не распространяется на индексные файлы, созданные ранее, без использования необходимой установки правила сопоставления (collating sequence). Visual FoxPro автоматически поддерживает использование нескольких индексных файлов, созданных для одной Таблицы данных, при чем - в разное время, при разных правилах сопоставления.

Например, если ранее, при создании индексного файла использовалась установка SET COLLATE TO GENERAL, а позднее была выполнена команда SET COLLATE to SPANISH, то зозданный индексный файл будет работать по правилу сопоставления GENERAL.

Действие команды SET COLLATE распространяется на ткущую сессию данных (current data session).

При использовании команды SET COLLATE TO, Вы можете получить следующее системное Сообщение: "Правило Сопоставления <sequencename> - не найдено." Это происходит в том случае, когда установленное правило сопоставления не поддерживается текущей кодовой страницей. Для предотвращения появления данной ошибки нужно указать необходимую кодовую страницу в конфигурационном файле Visual FoxPro. Например, будет выдано сообщение "Правило сопоставления 'CZECH' - не найдено", при попытке выполнить команду SET COLLATE TO 'CZECH'. Для использования установки указанного правила, как Czech, разместите в файле конфигурации config.fpw следующую строку, и перезапустите систему Visual FoxPro:

CopyCode image Копировать Код
CODEPAGE = 1250

Информацию о поддержке национальных кодовых страниц см. в разделах: Поддерживаемые Кодовые страницы в Visual FoxPro , и Разработка интернациональных Приложений.

Информацию о настройке системы Visual FoxPro см. дополнительно в разделах: Настройка среды системы Visual FoxPro , и Специальные параметры файлов конфигурации.

Expand image См. также

Описание

IDXCOLLATE( ), функция
SET DATASESSION, команда
Кодовые страницы, поддерживаемые в Visual FoxPro
Специальные параметры в файле конфигурации
SYS(2300) - добавить или исключить Кодовую страницу (Code Page)
CREATE TABLE - SQL, команда
ALTER TABLE - SQL, команда
INDEX, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET COLOR OF SCHEME Command

Visual FoxPro 9.0 Описание Языка
SET COLOR OF SCHEME, команда
См. также
CollapseAll image

Определяет настройки Цвета для некоторой цветовой схемы; или корирует одну цветовую схему в другую цветовую схему.

SET COLOR OF SCHEME nScheme1 TO   [SCHEME nScheme2 | ColorPairList]

Параметры

nScheme1

Определяет номер цветовой схемы, которую нужно изменить. Данный параметр может принимать значения в диапазоне 1 - 24..

Note Примечание

В системе Visual FoxPro, цветовые схемы 13, 14, 15 зарезервированы для внутреннего использования. Не используйте указанные цветовые схемы.
TO [SCHEME nScheme2]

Определяет номер цветовой схемы, которая заменяется схемой nScheme1.

TO [ ColorPairList]

Определяет 10 цветовых пар, которые вы хотите определить для указанной цветовой схемы. Можно частично изменять некоторые цветовые пары, для этого, для той цветовой пары, которую не нужно менять, в списке данного параметра, указывается только запятая. Например, для изменения третьей цветовой пары, в 1-ой цветовой схеме выполните следующую команду:

CopyCode image Копировать Код
SET COLOR OF SCHEME 1 TO , , W+/B*

Цветовые пары можно также указывать в нотации функции RGB (red-красный, green-зеленый, blue-голубой), имеющей 6 параметров, по три на каждый цвет. Для изменения третьей цветовой пары, в 1-ой цветовой схеме, нужно выполнить следующую команду:

CopyCode image Копировать Код
SET COLOR OF SCHEME 1 TO , , RGB(255,255,255,0,0,255)

Expand image Комментарии

Обратите внимание. Не все элементы интерфейса управляются изменением цветовых схем. Системные окна View и Command, Линейка системного меню, и другие, аналогичные - управляются из Control Panel (Панели Управления). Используйте команду SET COLOR OF SCHEME nScheme1 TO, без дополнительных параметров, для восстановления начальных параметров для рассматриваемой цветовой схемы.

Expand image См. также

Описание

CREATE COLOR SET, команда
SET COLOR SET, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET COLOR SET Command

Visual FoxPro 9.0 Справочник Языка
SET COLOR SET Команда
См. Также

Загружает предварительно определенный цветовой набор.

SET COLOR SET TO [ColorSetName]

Параметры

ColorSetName

Определяет цветовой набор для загрузки.

Замечания

Вы можете создать цветовые наборы с помощью SET COLOR OF SCHEME и сохранить их с помощью CREATE COLOR SET.

Если Вы выполняете SET COLOR SET без дополнительной опции, то остается загруженным текущий цветовой набор.

См. Также

Другие Ресурсы

Команды
CREATE COLOR SET Команда
SET COLOR OF SCHEME Команда
SET Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET COMPATIBLE Command

Visual FoxPro 9.0 Описание Языка
SET COMPATIBLE, команда
См. также
CollapseAll image

Управляет совместимостью языковых средств между системами Microsoft FoxBASE+ и другими версиями языка FoxPro.

SET COMPATIBLE FOXPLUS | OFF | DB4 | ON [PROMPT | NOPROMPT]

Параметры

FOXPLUS | OFF

(по-умолчанию) Эти два ключевых слова используются равнозначно. Каждый программный модуль, созданный в системе FoxBASE+, без каких-либо изменений, может быть выполнен под системой Microsoft Visual FoxPro.

DB4 | ON

Данные параметры - равнозначны. Использование данных параметров влияет на выполнение команд и функций, рассматриваемых далее.

PROMPT | NOPROMPT

Данные параметры определяют поведение системы Visual FoxPro, отображается ли соответствующий диалоговый бокс, при открытии таблицы типа dBASE, содержащей поля MEMO.

При указании параметра PROMPT - открывается диалоговый бокс Convert Memos. Если используется таблица данных типа dBASE IV , содержащая поля MEMO, система Visual FoxPro открывает диалоговый бокс Convert Memos, для определения действия по конвертации таких полей (MEMO) в формат Visual FoxPro. После конвертации этих полей, данные таблица могут использоваться без каких-либо проблем.

Если вы используете параметр NOPROMPT, то соответствующий диалоговый бокс не отображается, поля типа MEMO конвертируютсЯ в формат Visual FoxPro - автоматически.

Expand image Комментарии

Выполнение некоторых команд и функций зависит от текущей установки команды SET COMPATIBLE, к ним относятся: LIKE( ), PLAY MACRO, SELECT( ), и команда STORE (когда STORE применяется с массивами).

Команда SET COMPATIBLE не влияет на выполнение других команд или функций, которые отсутствуют или не поддерживаются Visual FoxPro. Например, вы не сможете открыть некоторый файл Отчета, созданный службой Report Designer в другой системе Разработки.

В следующей таблице перечислены команды и функции, выполнение которых зависит от установки команды SET COMPATIBLE.

Команды
@ ... GET с опцией RANGE | PLAY MACRO
@ ... SAY с CHR(7) | READ , если команда @ ... GET VALID
@ ... SAY Скролинг | Вложенные READs
@ ... SAY , если STATUS = ON | READ
ACTIVATE SCREEN | RUN | !
ACTIVATE WINDOW | SET COLOR TO
APPEND MEMO | SET BORDER
BROWSE | SET FIELDS
DECLARE | SET MESSAGE
DIMENSION | SET MEMOWIDTH
GO | GOTO , если SET TALK ON | SET PRINTER to <Файл>
FSIZE( ) | STORE
INKEY( ) | SUM
LASTKEY( ) | TRANSFORM( ) , если PICTURE - числовой параметр
LIKE( ) | SELECT( )
Команды Меню | SYS(2001, "COLOR")

Expand image См. также

Описание

SET KEYCOMP, команда
Общее описание команды SET

Другие ссылки

Совместимость элементов языка (FoxPro) с младшими версиями
Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET CONFIRM Command

Visual FoxPro 9.0 Описание Языка
Команда SET CONFIRM
См. также

Определяет, как осуществляется переход из одного текстового поля к другому, когда введен последний символ в текущем поле ввода.

SET CONFIRM ON | OFF

Параметры

ON

Определяет, что фокус ввода не покидает текстовое поле при вводе последнего символа. Для выхода из текущего текстового поля нужно нажать клавишу ENTER, TAB, или клавишу со стрелками для перемещения на другой элемент управления. Команда SET CONFIRM ON действует также на элементы пользовательского меню, созданные командами DEFINE BAR и DEFINE PAD. Если пользователь нажимает "горячую" клавишу соответствующего пункта меню, то соответствующий пункт выбирается но не выполняется. Для выполнения данного пункта нужно нажать ENTER или SPACEBAR.
OFF

(По-умолчанию). Определяет, что после ввода последнего символа в текстовом поле фокус ввода может перейти на следующий элемент управления. При переходе фокуса ввода на следующий элемент управления подается звуковой сигнал (если SET BELL ON). Действие команды SET CONFIRM OFF также распространяется на элементы пользовательского меню. Если SET CONFIRM установлена в OFF, пользователь может выбрать соответствующий пункт меню (например по "горячей" клавише), данный пункт меню будет немедленно выполнен. (Заметим, что при установке SET CONFIRM ON, элемент меню выбирается , но не выполняется.)

Комментарии

Команда SET CONFIRM не действует на пункты меню, за которыми закреплены специальные клавиши (опция KEY). Если пункты меню созданы с соответствующей клавишей управления (или комбинацией клавиш), то пункт меню выполняется только при нажатии соответствующих клавиш .

Поля для ввода данных создаются в Дизайнере Форм .

Команда SET CONFIRM действует только в текущем сеансе работы VFP..

См. также

Другие ссылки

Элемент TextBox
Команда SET DATASESSION
Общее описание команды SET
Дизайнер Форм
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET CONSOLE Command

Visual FoxPro 9.0 Справка по языку
Команда SET CONSOLE
См.также

Делает доступным или недоступным вывод из программы в главное окно Visual FoxPro или в активное окно, определенное пользователем.

SET CONSOLE ON | OFF

Параметры

ON

Направляет весь вывод в главное окно Visual FoxPro или в активное окно, определенное пользователем (по умолчанию).
OFF

Подавляет вывод в главное окно Visual FoxPro или в активное окно, определенное пользователем.

Примечания

Команда SET CONSOLE использует установку ON, когда вы находитесь в интерактивном режиме работы Visual FoxPro и вы не можете изменить эту установку на OFF из окна команд (Command window). Вы можете изменить установку на OFF только из прoграммы.

Установка, заданная командой SET CONSOLE, оказывает влияние на некоторые диалоговые блоки при интерактивной работе Visual FoxPro. Например, если в команде SET CONSOLE задать параметр OFF и ввести команду BROWSE, когда в текущей рабочей области нет открытой таблицы, Visual FoxPro выдаст сообщение об ошибке. Если командой SET CONSOLE задана установка ON, то в этой же ситуации Visual FoxPro отобразит диалог открытия файла (Open dialog box).

Команда SET CONSOLE не оказывает влияния на вывод, осуществляемый командой @ ... SAY; этот вывод управляется установками команды SET DEVICE.

Замечание:
При возникновении ошибки всегда выполняется установка SET CONSOLE ON.

См.также

Обзор команды SET
Команды

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET COVERAGE Command

Visual FoxPro 9.0 Описание Языка
SET COVERAGE, команда
См. также
CollapseAll image

Включает или Отключает режим протоколирования code coverage, или определяет имя текстового файла журнала code coverage.

SET COVERAGE TO [FileName [ADDITIVE]]

Параметры

TO FileName

Определяет имя текстового файла, в который будут направляться соответствующие сообщения code coverage. Выполнение команды SET COVERAGE TO без параметров - закрывает последний файл журнала.

Если указанный файл отсутствует, то система Visual FoxPro автоматически создаст его и откроет для дальнейшего использования.

ADDITIVE

Открыть указанный файл, для добавления в него соответствующих сообщений. Если опция ADDITIVE отсутствует, то файл протокола code coverage создается заново, старая информация будет потеряна.

Expand image Комментарии

Команда SET COVERAGE может быть использована как в режиме Разработки, так и в режиме Run-Time системы Visual FoxPro 9.0. Системное приложение Coverage.app включено в общий дистрибутив Visual FoxPro, но не может быть использовано при распространении ваших пользовательских приложений. См. дополнительно раздел Distributable and Restricted Visual FoxPro Features and Files

Об использовании технологии code coverage, см. дополнительно разделы Диалоговый бокс Coverage, а также Приложение Coverage Profiler .

Expand image См. также

Задачи

Как: Протоколировать Code Coverage

Описание

_COVERAGE, системная переменная
SET EVENTTRACKING, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET CPCOMPILE Command

Visual FoxPro 9.0 Описание Языка
SET CPCOMPILE, команда
См. также
CollapseAll image

Определяет Кодовую страницу для компилируемых программных модулей.

SET CPCOMPILE TO [nCodePage]

Параметры

nCodePage

Задает номер кодовой страницы компиляции nCodePage.

Для дополнительной информации об используемых и поддерживаемых кодовых страницах см. разделы Поддерживаемые кодовые страницы в системе Visual FoxPro и Разработка Интернациональных Приложений.

Если команда SET CPCOMPILE TO выполняется без параметра nCodePage, то происходит очистка (обнуление) кодовой страницы компиляции, и установка текущей кодовой страницы. Используйте функцию CPCURRENT( ) для определения текущей кодовой страницы.

Expand image Комментарии

Команда SET CPCOMPILE to используется при компиляции специальных программных модулей, учитывающих кодовые страницы. Действие данной команды распространяется одинаково на метод компиляции с помощью диалогового бокса Compile, при выполнении команды COMPILE, или при выполнении автоматической компиляции (при модификации программного модуля). Тем не менее, вы можете задать опцию AS в команде COMPILE для указания другой кодовой страницы, отличной от заданной в команде SET CPCOMPILE.

Expand image См. также

Описание

COMPILE, команда
CPCURRENT( ), функция
Общее описание команд SET
Поддерживаемые Кодовые страницы в системе Visual FoxPro

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET CPDIALOG Command

Visual FoxPro 9.0 Language Reference
SET CPDIALOG Команда
See Also

Определяет, отображается ли диалоговое окно Code Page при открытии таблицы.

SET CPDIALOG ON | OFF

Параметры

ON

(Значение по умолчанию) Отображает диалоговое окно Code Page, когда Вы открываете таблицу и следующие условия истинны:
  • Таблица открывается монопольно.

  • Таблица не помечена кодовой страницей.

OFF

Не выводит диалоговое окно Code Page при открытии таблицы.

Замечания

Диалоговое окно Code Page позволяет Вам определить кодовую страницу для таблиц, созданных в ранних версиях FoxPro и в других программах, которые создают таблицы Visual FoxPro. Таблица помечается кодовой страницей, которую Вы выберете.

При создании приложения, выставьте SET CPDIALOG ON, чтобы гарантировать, что таблицы, включенные в ваше приложение помечены надлежащей кодовой страницей. В вашем законченном приложении, убедитесь, что SET CPDIALOG - OFF.

Вы можете также в интерактивном режиме определить, отображать ли диалоговое окно Code Page с переключателем Code Page во вкладке Data диалогового окна Options. Диалоговое окно Options отображается выбором Options из меню Tools.

Обратите внимание:
Для дополнительной информации относительно кодовых страниц и многонациональной поддержки Visual FoxPro, см. Code Pages Supported by Visual FoxPro в Developing International Applications .

See Also

Other Resources

CPCURRENT( ) Function
CPCONVERT( ) Function
CPDBF( ) Function
GETCP( ) Function
USE Command
SET Command Overview
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SET CURRENCY Command

Visual FoxPro 9.0 Описание Языка
Команда SET CURRENCY
См. также Пример

Определяет символы национальной валюты или соответственно место их расположения относительно числовой величины, представленной в форматах: numeric, currency, float, или double.

SET CURRENCY TO [cCurrencySymbol]
-or-
SET CURRENCY LEFT | RIGHT

Параметры

cCurrencySymbol

Определяет символьное выражение, описывающее национальную валюту; может иметь не более 9-ти символов. Использование команды SET CURRENCY TO без параметра cCurrencySymbol устанавливает символ валюты по-умолчанию ($) - доллар. Вы можете также задать специальный символ валюты, используя комбинацию клавиш: Alt+nnn. Комбинация Alt+0128 определяет знак денгежной единицы Евро, но это зависит от поддержки соответствующего шрифта Windows. Данную настройку сожно осуществит также в Закладке Regional Диалогового бокса Options .
LEFT

(по-умолчанию) символ денежной единицы располагается слева от числового выражения.
RIGHT

Позиция денежной единицы определена справа от числового выражения.

Комментарии

Знак денежной единицы может быть задан также в опциях FUNCTION или PICTURE соответственно команд @ ... SAY и @ ... GET, для этого используется соответствующий формат $.

Установка команды SET CURRENCY действует только в текущей рабочей сессии.

Пример

Представленный пример демонстрирует использование символов DM, как обозначение соответствующей валюты. Если Вы используете опцию PICTURE для отображения соответствующей валюты, перед символом валюты ($) необходимо указать специальный символ форматирования @ (см. пример..@ 2,2...).

Копировать Код
STORE SET('CURRENCY') TO gcCurrPosit
STORE 1234.56 TO gnDollarAmnt
CLEAR
SET CURRENCY TO 'DM'
@ 2,2 SAY gnDollarAmnt PICTURE '@$99,999.99'
IF gcCurrPosit = 'LEFT'
   SET CURRENCY RIGHT
ELSE
   SET CURRENCY LEFT
ENDIF
@ 4,2 SAY gnDollarAmnt FUNCTION '$99,999.99'

См. также

Другие ссылки

Команда SET DATASESSION
Команда SET DECIMALS
Команда SET SEPARATOR
Команда SET SYSFORMATS
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET CURSOR Command

Visual FoxPro 9.0 Описание Языка
Команда SET CURSOR
См. также
CollapseAll image

Определяет режим отображения курсора в соответствующих командах ввода Visual FoxPro.

SET CURSOR ON | OFF

Параметры

ON

(по-умолчанию) отображает курсор текущего ввода в следующих командах @ ... GET, @ ... EDIT, WAIT, или INKEY( ).

OFF

Выключает режим отображения курсора в командах и функциях: @ ... GET, @ ... EDIT, WAIT, или INKEY( ).

Expand image Комментарии

Команда SET CURSOR аналогична функции SYS(2002), с помощью которой можно переключать режимы отображения курсора ввода (on или off).

Expand image См. также

Описание

Функция INKEY( )
Функция SET( )
SYS(2002) - Переключение режима курсора (On или Off)
Команда WAIT
Команда SET, общее описание

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DATABASE Command

Visual FoxPro 9.0 Описание Языка
SET DATABASE, команда
См. также Пример
CollapseAll image

Устанавливает как текущую, открытую Базу Данных, или отключает использование Баз Данных.

SET DATABASE TO [DatabaseName]

Параметры

[ DatabaseName]

Определяет имя открытой ранее базы данных, которая становится текущей базой данных. Отсутствие данного параметра DatabaseName или указание пустой строки в качестве данного параметра - отключает использование базы данных, как текущей.

Expand image Комментарии

SET DATABASE действует в рамках текущей сессии данных. Хотя вы можете открыть несколько баз данных, но в текущий момент вы можете использовать только "текущую" базу данных. Некоторые команды и функции работают только с текущей базой данных.

См. дополнительно разделы Как: Установить Текущую Базу Данных и Как: Открыть Базу Данных.

Expand image Пример

В следующем примере: создается две базы данных, с именами: mydbc1 и mydbc2, а также одна таблица с именем table1. SET DATABASE устанавливает "текущей" базу данных mydbc1, создается новая таблица table1, добавляется в эту базу данных mydbc1. За тем - данная таблица закрывается и исключается из этой базы данных mydbc1. SET DATABASE устанавливает другую базу данных mydbc2, как текущую, и добавляет рассматриваемую таблице во вторую базу данных, переименовываем эту таблицу, новое имя - table2.

CopyCode image Копировать Код
CREATE DATABASE mydbc1
CREATE DATABASE mydbc2
SET DATABASE TO mydbc1
CREATE TABLE table1 (cField1 C(10), n N(10))  && Adds table to mydbc1
CLOSE TABLES
REMOVE TABLE table1
SET DATABASE TO mydbc2
ADD TABLE table1
RENAME TABLE table1 TO table2

См. дополнительно разделы CREATE DATABASE, команда, CREATE TABLE - SQL, команда, CLOSE DATABASES, команда, REMOVE TABLE, команда , ADD TABLE, команда, и RENAME TABLE, команда.

Expand image См. также

Описание

DELETE DATABASE, команда
MODIFY DATABASE, команда
SET DATASESSION, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DATASESSION Command

Visual FoxPro 9.0 Описание Языка
SET DATASESSION, команда
См. также
CollapseAll image

Активирует указанную сессию данных для пользовательской формы.

SET DATASESSION TO [nDataSessionNumber]

Параметры

nDataSessionNumber

Определяет номер сессии данных, которая активируется для формы. Если параметр nDataSessionNumber - опускается, то устанавливается сессия данных номер = 1 (сессия данных Global).

Expand image Комментарии

По-умолчанию, сессия данных = 1, сессия Global, устанавливается при старте системы Visual FoxPro.

Значение свойства DataSession для текущей формы определяет уникальную сессию данных при выполнении формы. Если DataSession = 2, то данная форма имеет собственный сеанс данн; в другом случае (#2), для данной формы не создается собственный сеанс данных. Значение свойства DataSessionId имеет характеристику "только-чтение", значение данного свойства указывает используемую сессию данных.

При закрытии пользовательской формы, создающей некоторую сессию данных, закрывается соответствующая сессия данных

Команда SET DATASESSION обычно используется при Отладке пользовательских форм. Использование данной команды обеспечивает доступ к другим таблицам, которые недоступны в сессии данных, определяемой активной формой.

Следующие команды SET действуют в рамках текущей сессии данных (data session):

Команды SET
SET ANSI | SET AUTOSAVE
SET BLOCKSIZE | SET CARRY
SET CENTURY | SET COLLATE
SET CONFIRM | SET CURRENCY
SET DATABASE | SET DATE
SET DECIMALS | SET DELETED
SET DELIMITERS | SET EXACT
SET EXCLUSIVE | SET FIELDS
SET FIXED | SET HOURS
SET LOCK | SET MARK TO
SET MEMOWIDTH | SET MULTILOCKS
SET NEAR | SET NULL
SET POINT | SET REPROCESS
SET SAFETY | SET SECONDS
SET SEPARATOR | SET SYSFORMATS
SET TALK | SET UNIQUE

Expand image См. также

Описание

AUSED( ), функция
CREATE FORM, команда
DataSession, свойство
DataSessionID, свойство
Общее описание команд SET
Команды, работающие в рамках конкретной Data Session

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DATE Command

Visual FoxPro 9.0 Описание Языка
SET DATE, команда
См. также
CollapseAll image

Определяет формат отображения данных (полей, переменных) типа Date или DateTime.

SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN
 | JAPAN | TAIWAN | USA | MDY | DMY | YMD| SHORT | LONG

Expand image Комментарии

В таблице представлены возможные форматы отображения указанных данных:

Установка | Отображаемый формат
AMERICAN | mm/dd/yy
ANSI | yy.mm.dd
BRITISH/FRENCH | dd/mm/yy
GERMAN | dd.mm.yy
ITALIAN | dd-mm-yy
JAPAN | yy/mm/dd
TAIWAN | yy/mm/dd
USA | mm-dd-yy
MDY | mm/dd/yy
DMY | dd/mm/yy
YMD | yy/mm/dd
SHORT | Короткий формат даты, задаваемый в Windows Control Panel.
LONG | Длинный формат даты, задаваемый в Windows Control Panel.
Note Примечание

При использовании установок для команды SET DATE =SHORT или =LONG, вычисление константы {^1601-01-01} - генерирует ошибку.

Установка По-умолчанию = AMERICAN.

Команда SET DATE определяет формат отображения данных типа DateTime, в части отображения даты .

Если установлено SET DATE =SHORT или =LONG, тогда установки команд: SET CENTURY, SET MARK, SET HOURS, и SET SECONDS - игнорируются.

Действие команды SET DATE распространяется в рамках текущей сессии данных.

Expand image См. также

Описание

DATE( ), функция
DATETIME( ), функция
SET CENTURY, команда
SET DATASESSION, команда
SET MARK TO, команда
SET SYSFORMATS, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DEBUGOUT Command

Visual FoxPro 9.0 Описание Языка
Команда SET DEBUGOUT
См. также

Определяет вывод отладочной информации в файл.

SET DEBUGOUT TO [FileName [ADDITIVE]]

Параметры

FileName

Определяет имя файла вывода отладочной информации. Если указанный файл не существует, то он будет создан, если файл уже существует, то он будет создан как новый, если не указана опция ADDITIVE. Задание команды SET DEBUGOUT TO без параметра означает завершение вывода отладочной информации и закрытие соответствующего файла.
ADDITIVE

Определяет, что отладочная информация будет добавлена к содержанию уже существующего файла FileName.

Комментарии

Отладочная информация может быть создана командой ASSERT, командой DEBUGOUT, по команде SET EVENTLIST, или обработчиком событий в диалоговом боксе Evrnt Tracking . Дополнительно см. Диалоговый бокс Event Tracking .

См. также

Другие Ссылки

Команда ASSERT
Команда DEBUG
Команда DEBUGOUT
Команда SET EVENTLIST
Команда SET EVENTTRACKING
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET DECIMALS Command

Visual FoxPro 9.0 Описание Языка
SET DECIMALS, команда
См. также
CollapseAll image

Определяет количество десятичных знаков (справа от десятичной точки), отображаемых для числовых данных.

SET DECIMALS TO [nDecimalPlaces]

Параметры

nDecimalPlaces

Определяет минимальное количество отображаемых десятичных знаков. По-умолчанию отображается два знака. Максимальное значение = 18; минимальное = 0.

Expand image Комментарии

Команда SET DECIMALS определяет минимальное количество отображаемых десятичных знаков для результатов выполнения операций умножения, деления; вычислению тригонометрических и финансовых функций.

Действие команды SET DECIMALS распространяется в рамках текущей сесси данных (data session).

Expand image См. также

Описание

SET DATASESSION, команда
SET FIXED, команда
SET SYSFORMATS, команда
Общее описание команды SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DEFAULT Command

Visual FoxPro 9.0 Описание Языка
Команда SET DEFAULT
См. также

Определет текущее устройство и каталог

SET DEFAULT TO [cPath]

Параметры

cPath

Может задавать следующее:
  • имя диска (C:, D:, E:...)

  • имя диска и каталог

  • имя дочернего каталога

  • а также относительные ссылки по правилам Microsoft MS-DOS ( \ или ..)

Комментарии

Команда SET DEFAULT изменяет стартовый каталог по-умолчанию на заданный Вами.

Система Microsoft® Visual FoxPro® ищет файлы в каталоге Visual FoxPro. Данный каталог является стартовым для Visual FoxPro. Тем не менее, Вы можете указать другой каталог либо в конфигурационном файле , либо в стартовой программе. Если Visual FoxPro не может найти файл в указанном каталоге, то выполняется поиск по списку путей, указанных в команде SET PATH .

При сознании файла без указания его пути, он будет создан в каталоге DEFAULT.

Команда SET DEFAULT не поддерживается в COM-серверах (MTDLL / DLL). Данная команда изменяет "встроенный" текщий каталог системы, поэтому все дочерние процессы ссылаются на указанный каталог. Для COM- серверов используйте команду SET PATH , а также команды CD и CHDIR.

Примечание:
Функция SYS(5) возвращает текущий диск. Функция SYS(2003) возвращает текущий каталог, Комбинация SYS(5) + SYS(2003) возвращает полный текущий каталог (в нотации MS-DOS, - в коротких именах).

Вы можете изменить диск по-умолчанию:

Копировать код
SET DEFAULT TO A
SET DEFAULT TO A:

Вы можете изменить диск и каталог

Копировать код
SET DEFAULT TO A:\sales
SET DEFAULT TO C:\sales\data

Вы можете указать дочерний каталог. C:\Sales:

Копировать код
SET DEFAULT TO sales

Вы можете использовать короткие имена "относительных" каталогов:

Копировать код
SET DEFAULT TO \

Вы можете использовать такую команду:

Копировать код
SET DEFAULT TO ..

См. также

Другие ссылки

Команды CD | CHDIR
Команды MD | MKDIR
Команды RD | RMDIR
Команда SET PATH
Общее описание команды SET
Функция SYS(5) – Default Drive
Функция SYS(2003) – Current Directory
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET DELETED Command

Visual FoxPro 9.0 Описание Языка
SET DELETED, команда
См. также
CollapseAll image

Определяет, как система Visual FoxPro обрабатывает записи таблицы, помеченные на удаление; и как эти записи доступны в различных командах обработки.

SET DELETED ON | OFF

Параметры

ON

Определяет, что команды не обрабатывают записи, помеченные на удаление, включая записи в связанных (дочерних) таблицах; задаваемые диапазоны записей (Scope Records) также не включают эти записи в свои списки.

OFF

(По-умолчанию) Определяет, что записи, помеченные на удаление обрабатываются как обычные записи, включая записи в связанных (дочерних) таблицах; диапазоны записей также включают их в списки, как и обычные записи.

Note Примечание

При выполнении команды SQL SELECT, при установке SET DELETED OFF, в результат выполнения Запроса записи, помеченные для удаления в исходной таблице, включаются как обычные записи, однако они уже не имеют отметки "удаленные" в результирующей таблице Запроса.

Expand image Комментарии

Выполняемые Запросы, использующие для тестирования статуса "удаления" записей функцию DELETED( ), могут быть оптимизированы по технологии Rushmore Query Optimization , для этого должен быть в наличии активный индекс по функции DELETED( ) исходной таблицы.

Об Оптимизации выполнения Запросов см. раздел Использование технологии Rushmore для ускорения доступа к данным .

Для установки Флага удаления можно использовать команды DELETE – SQL или DELETE, или опцию Delete Records... из меню Table, когда таблица открыта в системных окнах Browse или Edit.

Для снятия Флага удаления можно использовать команду RECALL, или выбрать опцию Recall Records... из меню Table, когда таблица открыта в системных окнах Browse или Edit.

Note Примечание

Установка SET DELETED игнорируется для диапазона = текущая запись, или для диапазона = одна запись. Исключение составляет команда SEEK, в этом случае, установка команды SET DELETED - всегда учитывается. Команды INDEX и REINDEX - всегда игнорируют умтановку команды SET DELETED, и индексируют все записи данной таблицы.

SET DELETED действует в рамках текущей сессии данных.

Expand image См. также

Описание

DELETE, команда
DELETE - SQL, команда
DELETED( ), функция
PACK, команда
RECALL, команда
SET DATASESSION, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DEVELOPMENT Command

Visual FoxPro 9.0 Описание Языка
SET DEVELOPMENT, команда
См. также
CollapseAll image

Управляет механизмом проверки системой Visual FoxPro даты и времени программного модуля с соответствующими параметрами компилированного объектного кода, при запуске программы на выполнение.

SET DEVELOPMENT ON | OFF

Параметры

ON

(По-умолчанию) Определяет, что система Visual FoxPro, перед стартом программного модуля, выполняет перекомпиляцию данного модуля в случае, если исходный программный код имеет более позднюю версию, по отношению к объектному коду. Данная возможность обеспечивает выполнение самой последней модификации рассматримаемого программного модуля.

OFF

Определяет, что система Visual FoxPro не выполняет сравнение временных характеристик исходного и компилированного программного кода. Если SET DEVELOPMENT = OFF, вы не сможете выполнить самую последнюю версию программного модуля (за исключением случая прямой компиляции, после модификации программы).

Expand image Комментарии

Если вы используете Внешний редактор для корректировка своих программ, то нужно устанавлявать SET DEVELOPMENT ON. В этом случае перед новым запуском программного модуля требуется также выполнять команду (для принудительного обновления программного стэка). См. дополнительно раздел CLEAR PROGRAM. Для лучшей производительности вашего приложения- используйте SET DEVELOPMENT OFF.

Команда SET DEVELOPMENT также обеспечивает открытие системного окна отладки Trace, в случае возникновения ошибки при запущенной пользовательской Формы. Если SET DEVELOPMENT = ON, то в окне Trace открывается соответствующий программный модуль, на строке программы, где возникла ошибка выполнения. Если SET DEVELOPMENT = OFF, тогда окно Trace не открывается для запущенной формы, при возникновении ошибочной ситуации.

Expand image См. также

Описание

COMPILE, команда
MODIFY COMMAND, команда
MODIFY FILE, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET DEVICE Command

Visual FoxPro 9.0 Справочник Языка
SET DEVICE Команда
См. Также

Направляет вывод @ ... SAY на экран, принтер, или в файл.

SET DEVICE TO SCREEN | TO PRINTER [PROMPT] | TO FILE FileName

Параметры

TO SCREEN

Направляет вывод команды @ ... SAY в главное окно Visual FoxPro или в активное пользовательское окно.
TO PRINTER [PROMPT]

Направляет вывод команды @ ... SAY на принтер. Выполняется прогон страницы, если координаты в @ ... SAY определяют местоположение на странице выше чем местоположение, указанное координатами в предыдущей команде @ ... SAY. Вы можете включить дополнительное предложение PROMPT, чтобы вывести диалоговое окно перед запуском печати. В этом диалоговом окне, пользователь может корректировать параметры настройки принтера, включая количество копий для печати и номера страниц. Текущий драйвер принтера определяет, какие параметры настройки принтера пользователь может корректировать. Указывайте PROMPT немедленно после TO PRINTER.
TO FILE FileName

Определяет файл, в который @ ... SAY направляет вывод.

Замечания

Вывод команды @ ... SAY можно направить в главное окно Visual FoxPro, в активное пользовательское окно, на принтер, или в файл.

См. Также

Другие Ресурсы

SYS(101) - Device Setting
@ ... SAY Команда
PROMPT( ) Функция
SET Краткий обзор Команд
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET ECHO Command

Visual FoxPro 9.0 Описание Языка
Команда SET ECHO
См. также

Открывает окно Trace для Отладки программы. Включена для совместимости с младшими версиями VFP.

SET ECHO ON | OFF

Параметры

ON

Открывает окно Trace для выполняемой в текущий момент программы. Текущая строка программы подсвечивается.
OFF

(По-умолчанию) Закрывает окно Trace для версии FoxPro, меньше 2.0. при выполнении текущей программы. Данное действие может быть выполнено также следующей командой DEACTIVATE WINDOW TRACE.

Комментарии

Вы можете использовать окно Trace для установки точек прерывания программы.

Для дополнительной информации см. раздел Окно Trace .

См. также

Другие Ссылки

Команда RESUME
Команда SET STEP
Команда SUSPEND
Общее описание команды SET
Команды
How to: Использование Отладчика

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET ENGINEBEHAVIOR Command

Visual FoxPro 9.0 Описание Языка
Команда SET ENGINEBEHAVIOR
См. также

Включает режим совместимости SQL-заппросов для версий Visual FoxPro 7.0, 8.0, и 9.0.

SET ENGINEBEHAVIOR 70 | 80 | 90

Параметры

70

Включает режим совместимости команд SQL в системе Visual FoxPro как в версиях, ниже 8.0.
80

Определяет выполнение команд SQL для версии Visual FoxPro 8.0. в следующей таблице описаны особенности данного режима.

Опции SQL SELECT Поведение команды SELECT-SQL

DISTINCT

Вы не можете использовать опцию DISTINCT с полями типа Memo или General. Вместо этого используйте функции PADR( ) или ALLTRIM( ) для этих полей.

Дополнительно см. Функции PADL( ) | PADR( ) | PADC( ) и функция ALLTRIM( ).

UNION

Опция UNION не поддерживается для полей типа Memo без предиката ALL, включенного в команду SQL SELECT.

GROUP BY

В опции GROUP BY должно быть указано поле из списка полей оператора SELECT , для которого выполняется агрегатная функция, такая как COUNT( ). Кроме того, опция GROUP BY должна содержать поле группировки, содержащееся в опции HAVING, исключая поля из агрегатных функций.

Например, следующая команда генерирует ошибку в опции GROUP BY , потому, что поле company не указано в группировке.

Копировать код
SELECT company, country FROM Customer GROUP BY country

Вы можете включать агрегатные функции в список SELECT без указания их в опции GROUP BY.

Например, следующая команда использует COUNT( ) для поля company без указания его в опции GROUP BY .

SELECT COUNT(company), country FROM Customer GROUP BY country

HAVING

Оператор SQL SELECT может содержать опцию HAVING без ссылки на опцию GROUP BY , при этом в операторе SQL SELECT не должно быть агрегатных функций.

Например, следующая команда фильтрует запрос по заданной величине "Sweden".

Копировать код
SELECT customerid FROM customers HAVING country="Sweden"

LIKE

Оператор SQL SELECT автоматически не удаляет "хвостовые" пробелы для значений в конструкции LIKE. В предыдущей версии Visual FoxPro 7.0, в обеих переменных в конструкции LIKE, перед сравнением удалялись "хвостовые" пробелы .

Например, В следующей команде выбираются данные из таблицы, имеющей следующие значения в каждой из строк, соответственно: "1.", "12 ", и "123".

Копировать код
SELECT * FROM table1 WHERE column1 LIKE "1__"

В Visual FoxPro 7.0 и младших версиях в результате вернулась бы одна запись, со значением "123". В Visual FoxPro 8.0 в результат попадают три записи: , "1 ", "12 ", и "123".

Если начальные символы совпадают, а следующие за ним удовлетворяют "маске", и имеют фиксированную длину, то конструкция LIKE обеспечивает их включение в результат запроса, "Хвостовые" пробелы не отбрасываются
90

Определяет выполнение команд SQL в соответствие со стандартными требованиями версии Visual FoxPro 9.0 (По-умолчанию) . В следующей таблице описаны особенности применения оператора SQL SELECT.

Опции SQL SELECT Поведение команды SQL-SELECT

TOP nExpr

Когда используется данная опция: TOP nExpr[PERCENT] , команда SQL SELECT возвращает в результате не больше указанного количества записей: nExpr[PERCENT] . Дополнительно: SQL -средство в этом случае более эффективно использует доступную память и быстрее получает результат запроса, когда опция TOP указывается без ключевого слова PERCENT .

GROUP BY

Когда в запросе используется агрегатная функция, такая как MAX( ), и в команде SQL SELECT отсутствует конструкция GROUP BY , то записей в результате не будет, Visual FoxPro поместит в результат одну запись, системная переменная _TALLY будет = 1. В предыдущих версиях записей в результате не будет, _TALLY = 0.

ORDER BY

Команда SELECT … DISTINCT … ORDER BY генерирует ошибку если в опции ORDER BY указывается поле, которое отсутствует в списке полей команды SELECT .

Копировать код
CREATE CURSOR foo (f1 int, f2 int)
SELECT DISTINCT f1 FROM foo ORDER BY f2 INTO CURSOR res

HAVING

Команда SELECT … DISTINCT … HAVING генерирует ошибку если в опции HAVING указано поле, отсутствующее в списке команды SELECT.

Копировать код
CREATE CURSOR foo (f1 int, f2 int)
SELECT DISTINCT f1 from foo HAVING f2>1 INTO CURSOR res

Комментарии

Действие команды SET ENGINEBEHAVIOR является глобальным.

Использование установки SET ENGINEBEHAVIOR = 70 может привести к неожиданным результатам при выполнении команды SQL SELECT с опциями DISTINCT и UNION для молей типа MEMO, а также при использовании опций GROUP BY , HAVING без указания конструкции GROUP BY, а также когда используется оператор сравнения LIKE .

Когда используется установка SET ENGINEBEHAVIOR = 70 или = 80, относительно опции TOP в команде SQL SELECT в результат запроса может попасть более чем nExpr записей когда в команде также присутствует опция ORDER BY. Например, Вы задаете nExpr=10. Если в таблице имеется более чем 10 записей с одинаковым значением поля группировки, которое указано в опции ORDER BY , то в результате запроса будет больше чем 10 записей.

См. также

Другие ссылки

Общее описание команды SET
Команда SELECT - SQL
Функция SYS(3099) - SQL Data Engine Compatibility Mode

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET ESCAPE Command

Visual FoxPro 9.0 Описание Языка
SET ESCAPE, команда
См. также
CollapseAll image

Определяет активность механизма прерывания выполнения программы или команды при нажатии клавиши ESC.

SET ESCAPE ON | OFF

Параметры

ON

(По-умолчанию) Запускает команду или программный модуль, которые определеня как диспетчеры прерывания выполнения по нажатию клавиши ESC.

Если пользователь нажимает клавишу ESC, при выполнении программы или команды из Колмандного окна, то появляется следующее системное сообщение:

CopyCode image Копировать Код
*** INTERRUPTED (прервано) ***

При нажатии пользователем клавиши ESC, в процессе выполнения команды или программного модуля, текущее выполнение приостанавливается в текущей программной строке, выводится диалоговый бокс, в котором есть следующие варианты выбора дальнейших действий:

  • (по-умолчанию) Выбор Cancel (Отмена) - для немедленного прерывания выполнения команды, возврат в Командное окно.

  • Выбор Suspend (приостановить) - для остановки выполнения команды, возврат в Командное окно. Данный вариант используется обычно для дальнейшей Отладки модуля. Для продолжения выполнения модуля со строки останова - выберите опцию Resume из меню Program, или наберите соответствующую команду RESUME в Командном окне.

  • Выбор Ignore (игнорировать) - для продолжения выполнения программы (игнорировать ошибочное нажатие на клавишу ESC).

OFF

Защищает выполняемую в данный момент программу или команду от прерывания, нажатием клавиши ESC.

Expand image См. также

Описание

ON ESCAPE, команда
ON KEY LABEL, команда
RESUME, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET EVENTLIST Command

Visual FoxPro 9.0 Описание Языка
SET EVENTLIST, команда
См. также
CollapseAll image

Определяет имена Событий, которые отслеживаются в окне Отладчика Debug Output Window или протоколируются в файле, указанном в команде SET EVENTTRACKING.

SET EVENTLIST TO [EventName1 [, EventName2 ...] [ADDITIVE]]

Параметры

EventName1[, EventName2...]

Определяет список имен отслеживаемых Событий. Вы можете перечислить несколько имен Событий, разделяя их запятой.

ADDITIVE

Определяет, что указанные имена событий добавляются к существующему списку отслеживаемых Событий. Если параметр ADDITIVE - отсутствует, то имена EventName1, EventName2 определяют основной список Событий.

Expand image Комментарии

При выполнении команды SET EVENTLIST TO без параметров список отслеживаемых Событий очищается. Задать список Событий можно также при использовании Диалоговый бокс Event Tracking.

Expand image См. также

Описание

SET DEBUGOUT, команда
SET EVENTTRACKING, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET EVENTTRACKING Command

Visual FoxPro 9.0 Описание Языка
SET EVENTTRACKING, команда
См. также
CollapseAll image

Включает или отключает режим Event Tracking (отслеживания событий); определяет имя текстового файла - протокола выполнения отслеживания событий.

SET EVENTTRACKING ON | OFF | PROMPT | TO [FileName [ADDITIVE]]

Параметры

ON

Включает режим event tracking, сообщения направляются в текстовый файл, заданный ранее в параметре FileName.

OFF

Выключаеи режим отслеживания событий, останавливает вывод соответствующей информации в текстовый файл.

PROMPT

Отображает диалоговый бокс Event Tracking , для задания имен Солбытий, которые будут отслеживаться.

TO FileName

Определяет имя текстового файла, который назначается Протоколом отслеживания событий. Вывод соответствующей информации начинается по команде SET EVENTTRACKING ON. Для закрытия текущего файла-протокола выполните команду SET EVENTTRACKING TO, без параметров.

Если указанный файл отсутствует, система Microsoft Visual FoxPro автоматически создаст и откроет его.

ADDITIVE

Указывает, что системная информация будет добавляться в файл-протокол, который задан в параметре FileName. Если данная опция отсутствует ADDITIVE, то создается новый файл-протокол с указанным именем; старая информация теряется.

Expand image Комментарии

Для задания списка имен событий, которые будут отслеживаться используется команда SET EVENTLIST или Диалоговый бокс Event Tracking .

Начиная с версии Visual FoxPro 7, журнал-протокол event log имеет новы формат, отличный от младших версий. В новый формат файла-протокола добавлены такие хпрактеристики, как: timestamp - (контрольная точка), (для учета profiling), информация о событии размещается с новой строки журнала, и так далее...

Expand image См. также

Описание

SET COVERAGE, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET EXACT Command

Visual FoxPro 9.0 Описание Языка
Команда SET EXACT
См. также

Определяет, как в Visual FoxPro сравниваются символьные строки, имеющие разную длину.

Примечание:
В отличие от команды SET ANSI, команда SET EXACT не работает в операторах SQL системы Visual FoxPro SQL. Для дополнительной информации см. Команду SET ANSI .

SET EXACT ON | OFF

Параметры

ON

Определяет, что сравниваемые символьные строки должны одной длины, это справедливо также для двоичных данных.
Примечание:
Для сравнения строк с разной длиной меньшая строка дополняется пробелами или (0). Однако "хвостовые" пробелы или (0) не сравниваются.

OFF

(По-умолчанию) Определяет, что "хвостовые" пробелы или (0) не участвуют в сравнении символьных или бинарных строк.

Комментарии

Если обе строки имеют одну длину, команда SET EXACT не эффективна.

SET EXACT действует только в текущем сеансе работы VFPю

См. также

Другие Ссылки

Строки и их сравнение в Visual FoxPro
Команда SET ANSI
Общее описание команды SET
Команда "="
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET EXCLUSIVE Command

Visual FoxPro 9.0 Описание Языка
SET EXCLUSIVE, команда
См. также
CollapseAll image

Определяет, как система Visual FoxPro открывает файлы таблиц данных, эксклюзивно или для коллективного использования в локальной сети (exclusive or shared use).

SET EXCLUSIVE ON | OFF

Параметры

ON

(по-умолчанию, для глобальной сессии данных.) Данный параметр ограничивает полный доступ к данным, размещенным в открываемых таблицах. Эти таблицы становятся недоступными для других пользователей в сети. В отличие от функции FLOCK( ), команда SET EXCLUSIVE ON предоставляет доступ к данным таблицам другим пользователям в режиме "только-чтение". Аналогичный режим монопольного использования предоставляет опция EXCLUSIVE команды открытия таблиц USE. При этом нет необходимости выполнять блокировку записей или файла для сохранения данных в полях таблицы, это делается автоматически

В процессе открытия таьлицы, в монопольном режиме, проверяется открыта ли данная таблица другими пользователями. В системе VFP имеется несколько команд, требующих для своего выполнения монопольного открытия таблиц, это команды: INSERT, INSERT BLANK, MODIFY STRUCTURE, PACK, REINDEX, и ZAP.

OFF

(по умолчанию, для сессии данных private.) В данном режиме открываются все таблицы для коллективного использования , в локальной сети.

Дополнительная информация о работе с данными в режимах коллективного использования содержится в разделе Программирование коллективного доступа к данным.

Expand image Комментарии

Изменение режима доступа к данным, установленного командой SET EXCLUSIVE, не распространяется на таблицы, открытые ранее, до выполнения данной команды. Например, если таблица открыта в условиях действия команды SET EXCLUSIVE ON (т.е монопольно), то после выполнения команды SET EXCLUSIVE OFF, таблица по прежнему имеет исключительный статус использования; нужно открыть таблицу заново.

Действие команды SET EXCLUSIVE распространяется в рамках текущей сессии данных.

Expand image См. также

Описание

FLOCK( ), функция
RLOCK( ), функция
SET DATASESSION, команда
USE, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET FDOW Command

Visual FoxPro 9.0 Описание Языка
Команда SET FDOW
См. также Пример

Определяет первый день недели.

SET FDOW TO [nExpression]

Параметры

nExpression

Определяет первый день недели. Представленная таблица описывает возможные значения параметра: nExpression.

Nчисло День Недели

1

Воскресенье

2

Понедельник

3

Вторник

4

Среда

5

Четверг

6

Пятница

7

Суббота
Если Вы опускаете параметр nExpression, Первым днем считается Воскресенье (1).

Remarks

Первый день недели может быть также задан в Закладке Regional дилогового бокса Options .

Пример

Копировать Код
STORE SET('FDOW') TO gnFdow  && Save current value
SET FDOW TO 1  && Sets first day of the week to Sunday, the default
SET FDOW TO 7  && Sets first day of the week to Saturday
SET FDOW TO &gnFdow  && Restore original day

См. также

Другие ссылки

Функция CDOW( )
Функция DAY( )
Функция DOW( )
Команда SET FWEEK
Общее описание функции SYS( )
Функция WEEK( )
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET FIELDS Command

Visual FoxPro 9.0 Руководство по языку
Команда SET FIELDS
См.также

Описывает поля в таблице, к которым может быть получен доступ. Синтаксис имеет две версии.

SET FIELDS ON | OFF | LOCAL | GLOBAL

SET FIELDS TO [[FieldName1 [, FieldName2 ...]]
 | ALL [LIKE Skeleton | EXCEPT Skeleton]]

Параметры

ON

Указывает, что доступ может быть получен только к полям, перечисленным в списке полей.
OFF

(По умолчанию) Указывает, что доступ разрешен ко все полям таблицы, открытой в текущей рабочей области.
LOCAL

Указывает, что доступ разрешен только к полям в текущей рабочей области, перечисленным в списке полей.
GLOBAL

Указывает, что доступ разрешен ко всем полям, перечисленным в списке полей независимо от того, в какой рабочей области находится таблица. Команда SET FIELDS GLOBAL позволяет получить такой доступ без использования команды SET COMPATIBLE TO DB4.
TO [ FieldName1[, FieldName2...]]

Определяет список с именами полей в текущей таблице, доступ к которым может быть получен. В следующих случаях вы должны включить в имя поля алиас:
  • Когда поле принадлежит таблице, открытой в рабочей области, отличной от текущей.

  • Когда имена полей совпадают в двух или более таблицах.

Вы можете указывать в списке поля, принадлежащие таблице, открытой в области, отличной от текущей, если используетсе алиас, записывая его перед именем поля. Тем не менее доступ к таким полям не может быть получен, если вы используете команду SET FIELDS GLOBAL или SET COMPATIBLE DB4. Список полей может содержать инструкции для создания вычисляемых полей. Вычисляемые поля содержат данные, полученные путем вычисления выражения и доступны только для чтения. Такие выражения могут быть любыми допустимыми выражениями Visual FoxPro. Доступ к вычисляемым полям не может быть осуществен, если вы используете команду SET FIELDS GLOBAL или SET COMPATIBLE DB4. Формат инструкции для создания вычисляемого поля имеет вид:
Скопировать код
<имя вычисляемого поля> = <выражение>
Следующий пример создает вычисляемое поле с именем LOCATION:
Скопировать код
CLOSE DATABASES
USE customer
SET FIELDS TO LOCATION = ALLTRIM(city) + ', ' + state
Здесь CITY и STATE - имена полей в выбранной таблице.
ALL
Открывает доступ ко всем полям в таблице, открытой в текущей рабочей области.
ALL LIKE Skeleton| EXCEPT Skeleton

Вы можете осуществлять выборочный доступ к полям, включая опцию LIKE или EXCEPT или обе вместе. Если вы включаете LIKE Skeleton, вы можете получить доступ к полям, имена которых удовлетворяют шаблону Skeleton. Если вы If you включаете EXCEPT Skeleton, вы можете получить доступ ко всем полям кроме тех, имена которых удовлетворяют шаблону Skeleton. Шаблон Skeleton поддерживает конструкции * и ?. Например, для доступа к полям, имена которых начинаются на буквы A и P запишите следующее:
Скопировать код
SET FIELDS TO ALL LIKE A*,P*
Опция LIKE может объединятьсяс опцией EXCEPT:
Скопировать код
SET FIELDS TO ALL LIKE A*,P* EXCEPT PARTNO*

Замечания

Команда SET FIELDS TO имеет эффект суммирования - объявляемые в списке команды SET FIELDS TO поля при каждом её вызове добавляются к списку ранее объявленных полей.

Использование команды SET FIELDS TO неявно выполняет команду SET FIELDS ON. Используйте команду SET FIELDS TO без указания списка полей или с опцией ALL для удаления всех полей из списка для таблицы, открытой в текущей рабочей области (чтобы открыть доступ ко всем полям таблицы).

Действие команды SET FIELDS распространяется только на текущую сессию.

От переводчика: Будьте внимательны, используя команду SET FIELDS. Например, выборка данных из таблиц при помощи команды SELECT-SQL игнорирует любые установки, сделанные SET FIELDS для таблиц, участвующих в выборке.

См. также

Команда SET FILTER
Команда SET DATASESSION
Команда SET COMPATIBLE
Обзор команд SET
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET FILTER Command

Visual FoxPro 9.0 Описание Языка
SET FILTER, команда
См. также
CollapseAll image

Определяет логическое выражение (условие), которое отфильтровывает записи текущей таблицы.

SET FILTER TO [lExpression] [IN nWorkArea | cTableAlias]

Параметры

lExpression

Определяет Условие (логическое выражение) для тестирования записей таблицы.

Если данная таблица имеет индекс, содержащий поле или поля, участвующие в построении выражения lExpression, то может применяться технология Rushmore Query Optimization для оптимизации выполнения запросов по данным полям.

IN nWorkArea| cTableAlias

Определяет номер или имя рабочей области, для которой выполняется данный оператор / команда SET FILTER. Данная опция используется в тех случаях, когда текущая рабочая область не совпадает с требуемой рабочей областью, где открыта таблица.

Expand image Комментарии

Как только будет выполнена команда установки фильтра SET FILTER, только те записи таблицы, которые удовлетворяют установленному условию, будут доступны для обработки; все команды по обработке данных в таблицах учитывают установленный фильтр. Для каждой открытой таблицы может быть установлен свой отдельный фильтр.

Выражение фильтрации не вычисляется до тех пор, пока не будет перемещен указатель текущей записи.

Для отключения установленного фильтра нужно выполнить команду SET FILTER TO, без параметра lExpression.

Команды SELECT – SQL, выполняющие запросы к таблицам, не учитывают установленные фильтры

Note Примечание

При использовании фильтрации по команде SET FILTER to, для таблицы, размещенной в объекте grid, для большей производительности, используйте команду SET KEY.

Expand image См. также

Задачи

Как: Создавать и использовать Алиасы таблиц

Описание

FILTER( ), функция
SELECT - SQL, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET FIXED Command

Visual FoxPro 9.0 Описание Языка
SET FIXED, команда
См. также
CollapseAll image

Определяет, влияет ли источник числовых данных на отображение количества десятичных знаков.

SET FIXED ON | OFF

Параметры

ON

При данной установке, количество отображаемых десятичных знаков определяется в команде SET DECIMALS. По-умолчанию, количество отображаемых десятичных знаков = 2.

OFF

(По-умолчанию) Количество отображаемых десятичных знаков (справа от десятичной точки) определяется содержанием числовых данных, источником данных (полем таблицы), результатом арифметической (математической) операции; точнее, сколько знаков содержит результат - столько и отображается. Содержание отображаемых полей таблиц данных определено в структуре рассматримаемой таблицы.

Expand image Комментарии

Действие команды SET FIXED распространяется в рамках текущей Сессии Данных (data session).

Expand image См. также

Описание

SET DECIMALS, команда
SET DATASESSION, команда
Общее описание команд SET
Тп данных Numeric

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET FULLPATH Command

Visual FoxPro 9.0 Описание Языка
Команда SET FULLPATH
См. также

Определяет, возвращают ли указанные функции CDX( ), DBF( ), MDX( ), и NDX( ) полное имя файла (с указанием полного пути).

SET FULLPATH ON | OFF

Параметры

ON

(По-умолчанию) Определяет, что функции CDX( ), DBF( ), MDX( ), и NDX( ) возвращают полное имя файла (диск\каталоги\имя).
OFF

Определяет, что возвращается только имя диска и имя файла.

См. также

Другие Ссылки

Функция CDX( )
Функция DBF( )
Функция MDX( )
Функция NDX( )
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET FUNCTION Command

Visual FoxPro 9.0 Описание Языка
SET FUNCTION, команда
См. также
CollapseAll image

Назначает выполнение выражения (или клавиатурного Макро) при нажатии функциональной клавиши (или их комбинаций).

SET FUNCTION nFunctionKeyNumber | KeyLabelName TO [eExpression]

Параметры

nFunctionKeyNumber

Определяет номер функциональной клавиши. Например, используйте команду SET FUNCTION 2 - для определения действия клавиши F2 .

KeyLabelName

Определяет допустимую комбинацию нажатия функциональных клавиш; например, в комбинации с клавишами CTRL или SHIFT, что обеспечивает более широкое использование функциональных клавиш. См. дополнительно раздел ON KEY LABEL.

TO [ eExpression]

Определяет серию нажатий различных клавиш или их комбинаций, как клавиатурного Макро. Visual FoxPro интерпретирует "точку-с-запятой" (;) в данном выражении как перевод строки (carriage return).

Назначения Функциональных клавиш очищаются командой CLEAR MACROS.

Expand image См. также

Описание

CLEAR, команда
FKLABEL( ), функция
FKMAX( ), функция
ON KEY LABEL, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET FWEEK Command

Visual FoxPro 9.0 Описание Языка
SET FWEEK, команда
См. также Пример
CollapseAll image

Определяет требования по описанию, началу первой недели года.

SET FWEEK TO [nExpression]

Параметры

nExpression

Данный параметр задает номер варианта, как считать начало первой недели года. В следующей таблице представлены возможные значения этого параметра:

nExpression Начало первой недели года

1

(по-умолчанию) Первая неделя года начинается с 1-го января.

2

Первая неделя года начинается с 4-го января (длинные новогодние праздники).

3

Первая неделя начинается с 7-го дня.

Если данный параметр nExpression - отсутствует, то предполагается = 1 (первая неделя начинается с 1-го января).

Expand image Комментарии

Данный параметр может быть установлен в соответствующем разделе First Week of Year в Закладке Regional диалогового бокса Options.

Expand image Пример

CopyCode image Копировать Код
STORE SET('FWEEK') TO gnFweek  && сохранить текущую установку
SET FWEEK TO 1  && первая неделя года начинается с 1-го Января
SET FWEEK TO 3  && первая неделя года начинается с 7-го Января
SET FWEEK TO &gnFweek  && восстановление начального значения

Expand image См. также

Описание

CDOW( ), функция
DAY( ), функция
DOW( ), функция
SET FDOW, команда
Общее описание функций SYS( )
WEEK( ), функция
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET HEADINGS Command

Visual FoxPro 9.0 Описание Языка
SET HEADINGS, команда
См. также
CollapseAll image

Определяет, отображаются ли заголовки столбцов (полей) при выводе на экран содержания записей таблицы при помощи команды TYPE.

SET HEADINGS ON | OFF

Параметры

ON

(По-умолчаниюt) Определяет, что заголовки столбцов выводятся на экран.

При выполнении команды TYPE, для вывода данных, система Visual FoxPro вместе с заголовками столбцов данных выводит также полный путь доступа к текущей таблице и дату-время вывода информации.

OFF

Определяет, что имена полей таблицы данных не выводятся.

В этом случае, дополнительная информация (см. предыдущий пункт) - также не выводится.

Expand image Комментарии

Команда SET HEADINGS управляет также выводом указанной информации при выполнении следующих команд AVERAGE, CALCULATE, DISPLAY, LIST, и SUM.

Expand image См. также

Описание

AVERAGE, команда
CALCULATE, команда
DISPLAY, команда
LIST, команды
SUM, команда
TYPE, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET HELP Command

Visual FoxPro 9.0 Описание Языка
Команда SET HELP
См. также

Включает или отключает подсистему помощи (Help) Microsoft Visual FoxPro или назначает другой файл помощи. Команда имеет два варианта синтаксиса.

SET HELP ON | OFF

SET HELP [TO [FileName]] [COLLECTION [cCollectionURL]] [SYSTEM]

Параметры

ON

По-умолчанию. Запускается окно Помощи при нажатии клавиши F1 или при выполнении команды HELP в Командном окне.
OFF

Выключает доступ к подсистеме ПомощиVisual FoxPro.
TO [ FileName]

Определяет файл помощи, который будут отображаться при нажатии на клавишу F1 или выполнении команды HELP. Вы можете определять файл помощи в стиле .dbf, (.hlp) WinHelp файл, или HTML-help файл (.chm). Начиная с версии Visual FoxPro 7.0, если Вы выполняете команду SET HELP TO без указания имени файла, система Visual FoxPro включает файл помощи, установленный по-умолчанию.
COLLECTION [ cCollectionURL]

Определяет имя набора HTML-коллекции для использования в пользовательских программах.
SYSTEM

Определяет системную коллекцию как источник помощи по соответствующим разделам.

Комментарии

Вы можете использовать команду SET HELP для обеспечения помощью пользовательскую программу или для переключения между пользовательской помощью и стандартной системой помощи Visual FoxPro.

Подсистема помощи Visual FoxPro, файл dv_FoxHelp.chm, устанавливается вместе с самим продуктом Visual FoxPro. При установке комплекта библиотеки Microsoft Developer's Network (MSDN), Вам необходимо отметить установку файла помощи, тогда подсистема помощи будет установлена.

Следующая таблица описывает различные параметры, записанные в реестре Windows (относительно подсистемы помощи):

Установка | Ключ Реестра | Значение Ключа
SET HELP ON | OFF | HelpOn | 0 or 1
SET HELP TO cfilename | HelpTo | cFileName
SET HELP COLLECTION cCollectionURL | HelpCollection | cCollectionURL
SET HELP SYSTEM | HelpSystem | 0 or 1

Вы можете также использовать опцию Help File в закладке File Locations tab (Размещение

The Visual FoxPro Help file, dv_FoxHelp.chm, is installed by default with the Visual FoxPro product. If you perform a complete installation of the Microsoft Developer's Network (MSDN) library, or if you perform a custom installation of the MSDN library and you specify to install the Visual FoxPro documentation, the Visual FoxPro Help file is installed.

файлов) диалогового бокса Options для интерактивного указания необходимого файла помощи.

См. также

Другие Ссылки

Команды
Команда HELP
Команда SET TOPIC
Общее Описание команды SET
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET HOURS Command

Visual FoxPro 9.0 Описание Языка
Команда SET HOURS
См. также

Устанавливает формат отображения системных часов, 12-ти или 24-х часовой формат.

SET HOURS TO [12 | 24]

Параметьры

TO 12

(По-умолчанию) Определяет 12-ти часовой формат.
TO 24

Определяет 24-х часовой формат.

Комментарии

При использовании команды SET HOURS TO без параметров устанавливается 12-ти часовой формат..

Функция TIME( ) всегда возвращает время в 24-х часовом формате, вне зависимости оттекущей установки SET HOURS. Вид значения, возвращаемого функцией DATETIME( ) определяется текущей установкой команды SET HOURS.

Команда SET HOURS действует только в текущем сеансе работы..

См. также

Другие ссылки

Функция DATETIME( )
Функция SECONDS( )
Команда SET CLOCK
Команда SET SYSFORMATS
Функция TIME( )
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET INDEX Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SET INDEX
Смотрите также
CollapseAll image

Открывает один или более файлов для использования с текущей таблицей.

SET INDEX TO [IndexFileList | ? ] [ORDER nIndexNumber
 | IDXIndexFileName | [TAG] TagName [OF CDXFileName] [ASCENDING
 | DESCENDING]] [ADDITIVE]

Параметры

IndexFileList

Указывает один или более индексный файлов, которые нужно открыть. Используйте запятую для разделения имен индексных файлов в списке. Списко индексных файлов может содержать любую комлинацию имен .idx и .cdx файлов; вам нет необходимости указывать расширения для имен файлов, за исключанием случаев, когда существуют .idx или .cdx файлы с одинаковыми именами.

Первый индексный файл, указанный в списке файлов становится управляющим индексным файлом, который управляет доступом к записям и порядокм их отображения. Записи обрабатываются в физическом порядке их следования в таблице, если первый индексный файл представляет собой .cdx-файл, а команда SET ORDER TO TAG не была использована.

?

Отображает дилоговый блок Open, с помощью которого вы можете открыть единичный .idx-файл.

ORDER nIndexNumber

Указывает управляющий индексный файл или тэг. Численное выражение nIndexNumber указывает индексные файлы в том порядке, в котором они появились в списке индексных файлов.

.Idx-файлы нумеруются первыми в порядке, в каком они появились в списке индексных файлов. Тэги в структурном .cdx-файле file (если такой существует) нумеруются в порядке, в каком эти тэги были созданы. И, наконец, тэги в независимых .cdx-файлах (имеются в виду неструктурные индексные файлы -JS.) нумеруются в порядке, в котором они были созданы. Смотрите SET ORDER для продолжения обсуждения о нумерации индексных фалоы и тэгов.

Если nIndexNumber равен 0, записи в таблице отображаются и обрабатываются в физическом порядке их следования, но индексные файлы остаются открытыми. ORDER 0 позволяет обновить открытые индексные файлы, при доступе к записях в физическом порядке их следования. ORDER без дополнительных аргументов идентичен ORDER 0.

Visual FoxPro сгенерирует сообщение об ошибке, если nIndexNumber больше, чем число индексных файлов файлов, перечисленных в списке .idx-файлов или больше, чем число тэгов в .cdx-файле.

ORDER IDXIndexFileName

Указывает .idx-файл в качестве управляющего индексного файла.

ORDER [TAG] TagName[OF CDXFileName]

Указывает тэг (TagName) .cdx-файла в качестве управляющего тэга. Имя тэга может быть взято как из структурного .cdx-файла, так и из любого открытого независимого .cdx-файла.

Если тэги с одинаковыми именами существуют в открытых независимых .cdx-файлах, используйте опцию OF CDXFileName для указания .cdx-файла, содержащего требуемый тэг.

ASCENDING | DESCENDING

Определяет будут ли записи в таблице отображаться в возрастающем или убывающем порядке. Индексные файлы или тэги при этом не изменяются никоим образом; изменяется только порядок, в котором записи будут доступны или отображаться. Для этого включите опции ASCENDING или DESCENDING сразу после опции ORDER.

ADDITIVE

Указывает, что ранее открытый индексный файл, за исключением структурного составного индекса, останется открытым, когда вы выпустите команду SET INDEX для открытия дополнительного индексногоф файла или файлов для открытой таблицы. Без этой опции -ADDITIVE-, все ранее открытие файлы будут закрыты.

Expand image Замечания

Записи в таблице, которая имеет открытыми индексный файл или файлы могут обрабатываться и отображаться в порядке, определяемом одним из инедксных файлов. С помощью команды SET INDEX могут быть открыты оба - и единичный (.idx) и составной (.cdx) индексные файлы. Если таблица имеет структурный .cdx файл, то этот файл открывается автоматически, каждый раз, когда вы открываете таблицу.

Только один .idx-файл (управляющий индексный файл) или тэг из .cdx file (управляющий тэг) управляют порядком доступа или отображения записей в таблице. Определенные команды (например, SEEK) используют управляющий индексный файл или тэг для поиска записей.

Выдача команды SET INDEX TO без дополнительных аргументов закрывает все открытые индексные файлы (за исключением структурного .cdx-файла) в текущей рабочей области.

Expand image Смотрите также

Справочное руководство

Команды CLOSE
Команда INDEX
Команда SET ORDER
Команда USE
Обзор команд SET

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SET KEY Command

Visual FoxPro 9.0 Описание Языка
SET KEY, команда
См. также
CollapseAll image

Определяет доступ к диапазону записей таблицы, который устанавливается значениями индексных ключей.

SET KEY TO [eExpression1 | RANGE eExpression2 [, eExpression3]]
   [IN cTableAlias | nWorkArea]

Параметры

eExpression1

Определяет некоторое индексное выражение, в соответствие с которым становятся доступными соответствующие записи таблицы. Выражение eExpression1 - является значение некоторого значения ключа. Все записи, имеющие данное значение индексного ключа, являются доступными.

RANGE eExpression2[, eExpression3]

Если присутствует только первый параметр: eExpression2, то доступными являются записи с индексным ключем, равным или большим указанного выражения. Если указан только второй параметр eExpression3 (вместе с ведущей запятойp), то доступными являются записи, с индексным ключем, равным или меньшим указанного выражения. При наличии обоих параметров: eExpression2 и eExpression3 (перечисленных чере запятую) - доступными являются записи, значение индексного ключа которых равно или больше чем eExpression2, и равно или меньше чем eExpression3.

Например, Таблица CUSTOMER имеет символьное поле с почтовым кодом. Если данная таблица индексирована по данному полю, то можно использовать рассматриваемую команду для указания диапазона индексных значений SET KEY (почтовых индексов).

В следующем примере, в окне Browse, отображаются только записи, для которых почтовый код находится в следующем диапазоне: от "40000" до "43999":

CopyCode image Копировать Код
CLOSE DATABASES
USE customer
SET ORDER TO postalcode
SET KEY TO RANGE '40000', '43999'
BROWSE
IN cTableAlias| nWorkArea

Описывает номер рабочей области или алиас открытой таблицы, для которой определяется диапазон доступности индексного выражения. Параметр cTableAlias определяет алиас таблицы, nWorkArea - определяет номер рабочей области. Если эти параметры не указаны, а опция TO - присутствует, система Visual FoxPro генерирует ошибку, сообщение об ошибке. Если данная опци опускается целиком, команда SET KEY действует в текущей рабочей области, если там открыта таблица с индексом.

Expand image Комментарии

Команда SET KEY TO ограничивает доступность записей в зависимости от значений текущего индексного ключа (индекса). Рассматриваемая таблица должна быть индексирована, значения указываемых параметров должны соответствовать, по типу, значениям ключевого выражения (индексного выражения).

Использование команды SET KEY TO, без дополнительных параметров, восстанавливает доступ ко всем записям таблицы.

Expand image См. также

Описание

INDEX, команда
KEY( ), функция
SET FILTER, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET KEYCOMP Command

Visual FoxPro 9.0 Справочник Языка
SET KEYCOMP Команда
См. Также

Управляет клавишной навигацией Visual FoxPro.

SET KEYCOMP TO DOS | WINDOWS

Замечания

SET KEYCOMP определяет клавиши и комбинации клавиш, которыми Вы пользуетесь для передвижения по интерфейсу Visual FoxPro, перемещаясь к элементам управления типа кнопок, списков, меню, и так далее. Действие SET KEYCOMP зависит от элемента управления.

Используйте SET KEYCOMP, если Вы хотите использовать клавиши, которые являются для Вас привычными.

Для навигации в Microsoft Windows с использованием клавиш MS-DOS, выполните следующее:

Скопировать код
SET KEYCOMP TO DOS

Вы можете определить опции DOS или WINDOWS (задана по умолчанию).

Вы можете определить начальное значение установки SET KEYCOMP в вашем файле конфигурации Visual FoxPro Config.fpw. Например, следующая строка, помещенная в вашем файле конфигурации, имеет эффект SET KEYCOMP TO DOS:

Скопировать код
KEYCOMP = DOS

Этот раздел описывает, какое действие оказывают на Visual FoxPro варианты DOS и WINDOWS.

Default buttons (активные по умолчанию кнопки) |
DOS | Активная по умолчанию кнопка в диалоговом окне имеет фокус; её начертание не изменяется. Она срабатывает, когда Вы нажимаете CTRL+ENTER.
WINDOWS | Активная по умолчанию кнопка в диалоговом окне может изменять свое начертание, когда Вы передвигаетесь между элементами управления. Она может иметь тусклое начертание, или она получает начертание фокуса (окружена полужирной границей), чтобы указать, что она является текущей по умолчанию. Она срабатывает, когда Вы нажимаете ENTER. ENTER всегда приводит к выполнению действия кнопки, активной по умолчанию.

Для иллюстрации того, как измененяется вид активной кнопки в диалоговом окне, примените SET KEYCOMP TO WINDOWS, выберите Open из меню File, и затем нажмите TAB, для перемещения по диалоговому окну Open.

Access keys (клавиши быстрого доступа) |
DOS | Клавиша доступа для элемента управления - это отдельная клавиша. Если Вы не находитесь в элементе управления, который управляется клавиатурой (поле со списком или список), Вы можете нажать клавишу доступа, чтобы его активизировать.
WINDOWS | Клавиша доступа для элемента управления может быть отдельной клавишей или комбинацией клавиш. Если текущий элемент управления управляется клавиатурой (поле со списком или список), Вы можете нажать ALT плюс клавишу доступа для перехода к этому элементу управления. Чтобы перейти к другому контролу, Вы можете нажать клавишу доступа или ALT плюс клавишу доступа.

Combo boxes (поле со списком) |
DOS | Когда поле со списком имеет фокус Вы можете его открыть, нажимая ENTER или SPACEBAR. Клавиатурное управление в пределах поля со списком не доступно, пока поле со списком не является открытым.
WINDOWS | Когда поле со списком имеет фокус, Вы можете его открыть, нажимая SPACEBAR, ALT+UP ARROW, или ALT+DOWN ARROW. Клавиатурное управление в пределах поля со списком доступно, когда поле со списком имеет фокус, и когда оно является открытым. Например, активное поле со списком содержит список доступных дисков. Если диски A, B, и C доступны, а в настоящее время отображается диск B, то Вы можете выбрать диск C, не открывая поле со списком, нажимая C или клавишу DOWN ARROW. Таким образом диск C выбран, и Вы передвигаетесь к следующему элементу управления.

Option buttons (группа переключателей) |
DOS | Нажимайте клавишу TAB, когда группа переключателей является активной, чтобы перемещаться среди элементов группы переключателей.
WINDOWS | Нажимайте клавишу TAB, когда группа переключателей активна, чтобы перемещаться с группы переключателей на следующий элемент управления. Чтобы перемещаться среди элементов в группе переключателей, нажимайте клавиши UP ARROW и DOWN ARROW.

Browse window (окно обзора) |
DOS | Поле не является активным после входа в него.
WINDOWS | Поле автоматически становится активным после входа в него.

См. Также

Другие Ресурсы

SET COMPATIBLE Команда
SET Краткий обзор Команды
Автоматизация Заданий Клавишными Макроопределениями
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET LIBRARY Command

Visual FoxPro 9.0 Описание Языка
SET LIBRARY, команда
См. также
CollapseAll image

Открывает внешний библиотечный файл API (Application Programming Interface).

SET LIBRARY TO [FileName [ADDITIVE]]

Параметры

FileName

Определяет имя открываемого файла внешней библиотеки API или процедурного файла.

Система Visual FoxPro предполагает для данных библиотек расширение (.fll). Если рассматриваемая библиотека имеет данное расширение, .fll, то вы можете не указывать его с именем файла. Если файл библиотеки внешних функций имеет другое расширение, отличное от .fll, вы должны указать имя файла библиотеки вместе с расширением.

Caution note Обратите Внимание

При использовании команды SET LIBRARY, вы должны помнить о следующем:

  • Вы не можете использовать библиотеки API, созданные для разных платформ, операционных систем. Например, библиотеки, созданные для FoxPro / MS-DOS не могут быть использованы в Visual FoxPro; библиотеки, созданные для Visual FoxPro, не могут быть использованы в FoxPro / MS-DOS.

  • Вы не можете использовать библиотеки API, соданные для разных платформ FoxPro. Например, вы не можете использовать библиотеки, созданные для FoxPro- 2.6 в системе Visual FoxPro. Вам нужно перекомпилировать эти библиотеки.

Система Visual FoxPro подразумевает расширение (.prg) для процедурных файлов.

При выполнении программного модуля, при помощи команды DO ProcedureName, система Visual FoxPro выполняет поиск указанного модуля в следующем порядке:

  • поиск по имени файла ProcedureName.

  • поиск в процедурном файле, установленном командой SET PROCEDURE (если такая установлена).

  • поиск по всем выполняемым програмным модулям.

  • поиск в процедурном файле, указанном в команде SET LIBRARY (если такая установлена).

  • поиск в независимом программном файле .ехе; если указанный модуль не найден - то генерируется сообщение об ошибке.

ADDITIVE

Внешняя библиотека открывается в дополнение к уже открытым библиотекам API. Данная опция ADDITIVE указывается после имени открываемой библиотеки API в команде SET LIBRARY.

При открытии процедурного файла система Visual FoxPro игнорирует опцию ADDITIVE.

Expand image Комментарии

Команда SET LIBRARY используется для открытия внешних библиотек Application Program Interface (API) или процедурных файлов.

Функции библиотек API расширяют как возможности языка программирования Visual FoxPro, так и пользовательского интерфейса. Как только открывается внешняя библиотека API, то все ее функции становятся доступными, как внутренние функции Visual FoxPro. Для просмотра доступных API функций используйте команды DISPLAY STATUS или LIST STATUS .

Вы можете использовать уже существующие библиотеки API, а также создавать новые библиотеки API.

Для использования внешних функций в Visual FoxPro, имеется более предпочтительный метод: объявление и использование DLL-функций при помощи команды DECLARE - DLL.

Для освобождения всех библиотек API из памяти, выполните команду SET LIBRARY TO без параметров FileName или ADDITIVE. Для освобождения конкретной библиотеки, используйте команду RELEASE LIBRARY LibraryName.

Если вы открываете процедурный файл, то все его функции и процедуры становятся доступными как из программных модулей, так и из Колмандного окна.

Note Примечание

Функциональность Visual FoxPro: открывать процедурные файлы при помощи данной команды SET LIBRARY введена для совместимости с программными модулями dBASE IV. Если данная команда SET LIBRARY используется для открытия процедурного файла, то тогда закрываются все библиотеки API (см. ссылку выше, по-тексту), открытые ранее. Для предотвращения данной ситуации: используйте команду SET PROCEDURE для открытия процедурных файлов, в этом случае не закрываются открытые библиотеки API.

Дополнительную информацию об использовании процедурных файлов см. в разделах PROCEDURE и SET PROCEDURE.

Expand image См. также

Описание

CALL, команда
DISPLAY STATUS, команда
LIST, команды
LOAD, команда
RELEASE LIBRARY, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET LOCK Command

Visual FoxPro 9.0 Описание Языка
Команда SET LOCK
См. также

Включает или отключает автоматическое блокирование записей данных в соответствующих командах.

SET LOCK ON | OFF

Параметры

ON

Определяет, что соответствующие команды блокируют текущую таблицу на время своего выполнения. Это обеспечивает другим пользователям в сети доступ к текущей таблице в режиме только-для-чтения, а для Вас - самые свежие данные из таблицы.
OFF

(По-Умолчанию) Включает общий доступ к таблицам для соответствующих команд. Используйте команду SET LOCK OFF для обеспечения коллективного доступа к данным в таблице.

Комментарии

Система Visual FoxPro не выполняет блокирование таблиц при выполнении следующих команд::

Команды |
AVERAGE | JOIN (both files)
CALCULATE | LIST
COPY TO | LABEL
COPY TO ARRAY | REPORT
COUNT | SORT
DISPLAY (with a scope) | SUM
INDEX | TOTAL

Пока выполняются данные команды содержание таблиц не должно быть изменено другими пользователяими в сети. На пример, если Вы начинаете печатать отчет по данным из некоторой таблицы, а другие пользователи в это время вносят какие-либо изменения в данную таблицу, то в отчете вы получите устаревшую информацию.

Команда SET LOCK действует только в текущем сеансе работы.

См. также

Другие ссылки

Функция FLOCK( )
Функция LOCK( )
Функция RLOCK( )
Команда SET DATASESSION
Команда SET MULTILOCKS
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET LOGERRORS Command

Visual FoxPro 9.0 Справочник Языка
Команда SET LOGERRORS
См. Также

Определяет направлять ли сообщения об ошибках трансляции Visual FoxPro в текстовый файл.

Вы можете использовать SET LOGERRORS для сохранения сообщения об ошибках трансляции в текстовом файле при компилировании программ.

SET LOGERRORS ON | OFF

Параметры

ON

Определяет генерацию файла ошибок трансляции (.err), используя имя откомпилированной программы (Значение по умолчанию). Если .err-файл с тем же самым именем уже существует, он перезаписывается.
OFF

Определяет запрет на создание файла ошибок трансляции (.err) при компилировании программы.

Замечания

Обратите внимание:
Если программа компилируется без ошибки, а .err-файл с тем же самым именем как у откомпилированной программы существует, .err-файл удаляется.

См. Также

Другие Ресурсы

How to: View and Save Build Messages
COMPILE Command
SET Command Overview
SYS(2018) - Error Message Parameter
Commands
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SET MACKEY Command

Visual FoxPro 9.0 Описание Языка
Команда SET MACKEY
См. также

Открывает диалоговый бокс определения Макроса для Клавиши или Комбинации клавиш.

SET MACKEY TO [KeyLabelName]

Параметры

KeyLabelName (имя комбинации клавиш)

Определяет имя клавиши или комбинации клавиш для определения Макроса в соответствующем диалоговом окне. Комбинации клавиш описаны также в разделе ON KEY LABEL .

Комментарии

Используйте команду SET MACKEY для изменения (или переопределения) ранее установленной (по-умолчанию) функции или команды для указанной клавиши / комбинации клавиш. Определенные Макросы выбираются в соответствующем меню Tools.

См. также

Другие Ссылки

Команда CLEAR
Команда ON KEY LABEL
Команда PLAY MACRO
Команда RESTORE MACROS
Команда SAVE MACROS
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET MARGIN Command

Visual FoxPro 9.0 Описание Языка
Команда SET MARGIN
См. также

Команда устанавливает левый край области печати и действует на все дальнейшие задания на печать.

SET MARGIN TO Nколонка

Параметры

Nколонка

Определяет левый край вывода на печать. По-умолчанию = 0 ; максимальное значение = 256.

Комментарии

Если Вы используете команду SET MARGIN для установки левого края печати, то данное значение хранится в системной переменной _PLOFFSET. Вы также можете установить левый край непосредственно изменив значение переменной _PLOFFSET. Значение системной переменной _LMARGIN также задает левый край печати.

Примечание:
Установка левого края печати командой SET MARGIN не имеет эффекта для отчетов, созданных с помощью Дизайнера Отчетов (Report Designer or Label Designer) и полученных с использованием команд REPORT FORM or LABEL. Для данных отчетов левый край устанавливается в диалоговом боксе Report Page Setup. Для дополнительной информации обращайтесь в Report Page Setup Dialog Box и Page Layout Tab, Report Properties Dialog Box (Report Builder).

См. также

Другие Ссылки

Системная переменная _LMARGIN
Системная переменная _PLOFFSET
Системная переменная_RMARGIN
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET MARK OF Command

Visual FoxPro 9.0 Описание Языка
Команда SET MARK OF
См. также

Устанавливает или стирает отметку для заголовка или пункта меню. Эта команда имеет несколько вариантов синтаксиса.

SET MARK OF MENU MenuBarName TO lExpression1
SET MARK OF POPUP MenuName1 TO lExpression2
SET MARK OF BAR nMenuItemNumber OF MenuName2 TO lExpression3

Параметры

MENU MenuBarName TO lExpression1

Определяет имя пункта меню, для которого устанавливается или стирается специальная отметка. Логическое выражение lExpression1 определяет, что необходимо выполнить: отметить пункт меню или стереть отметку. Если выражение lExpression1 имеет значение = True (.T.), отметка для пункта меню устанавливается. Если выражение принимает значение lExpression1 = False (.F.), отметка для пункта меню стирается.
POPUP MenuName1TO lExpression2

Определяет имя меню, для которого устанавливается или стирается соответствующая отметка. Логическое выражение lExpression2 определяет отмечаются все пункты указанного меню или отметка сримается у всех пунктов этого меню. Если выражение lExpression2 равно True (.T.), отметка отображается. Если выражение lExpression2 = False (.F.), отметка снимается у всех пунктов меню.
BAR nMenuItemNumberOF MenuName2TO lExpression3

Определяет номер пункта меню, а также имя меню, для которого отображается иои стирается соответствующая отметка. Логическое выражение lExpression3 определяет порядок отметки или ее стирание соответствующего пункта меню. Если lExpression3 = True (.T.), отметка устанавливается. Если lExpression3 = False (.F.), отметка стирается.

Комментарии

Отметка всегда имеет определенный символ. Вы не можете изменить символ отметки.

Вы не можете использовать отметку пунктов меню, созданных опцией PROMPT , а также опциями FIELD, FILES, или STRUCTURE, которые применяются в команде DEFINE POPUP .

Для определения, отмечено ли соответствующее меню, рекомендуется использовать функцию MRKPAD( ). Для дополнительной информации см. разделы: Функция MRKBAR( ) . Для определения, отмечен ли соответствующий пункт меню, рекомендуется использовать функцию MRKBAR( ). См. Функция MRKPAD( ).

Пример использования команды SET MARK OF, см. Функция CNTBAR( ).

См. также

Другие ссылки

Функция CNTPAD( )
Команда DEFINE BAR
Команда DEFINE MENU
Команда DEFINE PAD
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET MARK TO Command

Visual FoxPro 9.0 Описание Языка
Команда SET MARK TO
См. также

Определяет разделитель для отображения выражения типа дата (date).

SET MARK TO [Cразделитель]

Параметры

Cразделитель

Определяет символ, который Вы хотите использовать как разделитель в выражении типа дата (день-месяц-год).

Комментарии

SET MARK TO Определяет символ - разделитель в выражении типа дата (день-месяц-год)

Используйте SET MARK TO без параметра для установки символа-разделителя по-умолчанию ( / ).

Команда SET MARK TO действует в текущем сеансе работы VFP.

См. также

Другие Ссылки

Команда SET DATASESSION
Команда SET DATE
Команда SET SYSFORMATS
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET MEMOWIDTH Command

Visual FoxPro 9.0 Описание Языка
SET MEMOWIDTH, команда
См. также
CollapseAll image

Определяет ширину отображаемого поля типа MEMO или символьного выражения.

SET MEMOWIDTH TO nColumns

Параметры

nColumns

Определяет значение ширины, в границах: от 8 - до 8192 символов. По-умолчанию, установлено значение данного параметра = 50 символам. Если вы используете установки команд SET COMPATIBLE ON или SET COMPATIBLE DB4, то стандартное значение = 80 символам. Если задается значение, большее чем 8192, то принимается = 8192.

Expand image Комментарии

Команда SET MEMOWIDTH определяет вывод информации из "больших" символьных полей (более 254 символов), при использовании главного окна системы Microsoft Visual FoxPro или некоторого пользовательского окна, вывод в которые выполняется командами ? | ??, DISPLAY, или LIST. Действие данной команды также распространяется на работу следующих функций: ATCLINE( ), ATLINE( ), MEMLINE( ), и MLINE( ).

Примечание: Команды ? и ?? не могут отобразить более 256 символов.

Если вывод информации направлен в главное окно Visual FoxPro, то общая ширина выводимых данных зависит от используемого шрифта Экрана. Если вывод направляется в пользовательское окно, то общая ширина выводимой информации зависит от шрифта, заданного для данного окна.

Действие данной команды, SET MEMOWIDTH, распространяется в рамках текущей сессии данных.

Expand image См. также

Описание

ATCLINE( ), функция
ATLINE( ), функция
MEMLINES( ), функция
MLINE( ), функция
SET DATASESSION, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET MESSAGE Command

Visual FoxPro 9.0 Описание Языка
Команда SET MESSAGE
См. также

Определяет вывод системного сообщения в главное окно Visual FoxPro или в графический Status Bar, или размещение сообщения в пользовательском окне для определяемых пунктов меню. Эта команда имеет несколько вариантов синтаксиса.

SET MESSAGE TO [cMessageText]
SET MESSAGE TO [nRow [LEFT | CENTER | RIGHT]]
SET MESSAGE WINDOW [WindowName]

Параметры

TO [ cMessageText]

Определяет текст сотображвемого сообщения..
TO [ nRow[LEFT | CENTER | RIGHT]]

Определяет размещение системного сообщения в главном окне Visual FoxPro. Параметр nRow определяет строку вывода сообщения. Если nRow = 0, сообщение не выводится. Параметры LEFT, CENTER, и RIGHT горизонтальное размещение сообщения. Система Visual FoxPro игнорирует координаты вывода сообщения, если вывод направлен в графический Status Bar.
WINDOW [ WindowName]

Определяет окно для вывода сообщений. Для возврата вывода сообщений на главное окно VFP укажите команде без параметров SET MESSAGE WINDOW, (без имени окна).

Комментарии

Команда SET MESSAGE создает сообщение для пользователя.Аналогичные сообщения могут создавать команды: DEFINE BAR, DEFINE MENU, DEFINE PAD, или DEFINE POPUP.

По-умолчанию, системные сообщения размещаются в последней строке главного окна Visual FoxPro - в графическом Status Bar-e, если , конечно, он не отключен.

Команда SET MESSAGE размещает сообщение в последней строке, если перед этим выполнена команда SET DISPLAY.

Выполнение SET MESSAGE TO без параметров переопределяет вывод сообщения в графический Status Bar.

См. также

Другие ссылки

Команда SET DISPLAY
Команда SET STATUS
Команда SET STATUS BAR
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET MULTILOCKS Command

Visual FoxPro 9.0 Описание Языка
SET MULTILOCKS, команда
См. также
CollapseAll image

Определяет, можете ли вы блокировать несколько записей таблицы при использовании команд LOCK( ) или RLOCK( ).

SET MULTILOCKS ON | OFF

Параметры

ON

Разрешает выполнять попытку блокировки нескольких Записей. Необходимое количество блокируемых записей включается , как параметр, при вызове функций LOCK( ) или RLOCK( ), которые выполняют попытки блокировки записей.

OFF

(по-умолчанию) Разрешает выполнять попытки блокировки только одной записи, при выполнении функций LOCK( ) или RLOCK( ).

Expand image Комментарии

Когда таблица с данными открывается в режиме коллективного использования (в локальной сети) - режим Share, вы можете выполнить попытки блокировки нескольких записей данной таблицы. Команда SET MULTILOCKS определяет - сколько записей можно блокировать в файле таблицы. Записи могут быть заблокированы при помощи функций LOCK( ) или RLOCK( ).

Note Примечание

Переключение SET MULTILOCKS ON ---> OFF, или OFF ---> ON неявно выполняет команду UNLOCK ALL — освобождение всех блокированных записей, во всех рабочих областях.

Действие команды SET MULTILOCKS распространяется на текущую сессию данных.

Для использования режимов буфферизации записей или таблиц, выполняемых с помощью функции CURSORSETPROP( ), необходимо предварительно выполнить SET MULTILOCKS ON, включение возможности множественной блокировки. См. дополнительно раздел CURSORSETPROP( ) .

Если вы установили флажек включения Enable Data Buffering, в диалоговом боксе Work Area Properties (который появляется при нажатии на кнопку Properties, в системном окне Data Session), то команда SET MULTILOCKS автоматически включается, ON - для текущей Сессии Данных. Однако, очистка указанного флажка (выключение) (Enable Data Buffering), - не порождает автоматического выполнения команды SET MULTILOCKS OFF, для текущей сессии данных.

Дополнительная информация о механизмах блокирования записей таблиц, открытых для коллективного использования, в локальной сети имеется в следующих разделах: функции LOCK( ) и RLOCK( ), а также Программирование Коллективного доступа к данным.

Expand image См. также

Описание

SET DATASESSION, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET NEAR Command

Visual FoxPro 9.0 Справочник Языка
SET NEAR Команда
См. Также

Определяет положение указателя записи, после недачной попытки выполнения поиска командами FIND или SEEK.

SET NEAR ON | OFF

Параметры

ON

Устанавливает указатель записи на запись самого близкого соответствия, если поиск записи с использванием FIND или SEEK неудачен. При такой установке, RECNO( ) возвращает номер записи самого близкого соответствия, FOUND( ) возвращает ложь (.F)., и EOF( ) возвращает ложь (.F.).
OFF

(Значение по умолчанию) Устанавливает указатель записи в конец таблицы, если поиск записи с использованием FIND или SEEK неудачен. При такой установке, RECNO( ) возвращает количество записей в таблицы плюс 1, FOUND( ) возвращает ложь (.F)., и EOF( ) возвращает истину (.T.).

Замечания

Поиск неудачен, когда никакая запись не удовлетворяет критериям поиска.

Применение RECNO( ) с параметром 0 возвращает номер записи самоого близкого соответствия, в случае, если поиск неудачен, независимо от установки SET NEAR.

SET NEAR работает в пределах видимости текущей сессии данных.

См. Также

Другие Ресурсы

EOF( ) Функция
FIND Команда
FOUND( ) Функция
RECNO( ) Функция
SEEK Команда
SET DATASESSION Команда
SET Краткий обзор Команды
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET NOCPTRANS Command

Visual FoxPro 9.0 Описание Языка
Команда SET NOCPTRANS
См. также

Предохраняет преобразование указанных полей открытой таблицы в другую кодировку.

SET NOCPTRANS TO [FieldName1 [, FieldName2 ...]]

Параметры

TO [ FieldName1[, FieldName2...]]

Определяет список полей таблицы, для которых запрещается выполнять преобразование в другую кодовую страницу. Использование без параметров SET NOCPTRANS TO разрешает преобразование всех полей таблицы в заданную кодовую страницу. (которая определяется параметром CODEPAGE ). Для определения текущей установки данной команды используйте функцию SET("NOCPTRANS"). Проверка перевода индивидуальных символов осуществляется функцией CHR( ). .

Комментарии

Поскольку система Visual FoxPro выполняет преобразование символьных полей, а также полей типа MEMO в текущую кодовую страницу, команда SET NOCPTRANS дает возможность для некоторых полей отменить данное преобразование, например для полей, содержащих специальные двоичные данные, документ Microsoft Woird. Когда Вы подсоединяете данный документ, он Вам нужен в оригинальном, нетранслированном виде. Используйте команду SET NOCPTRANS для указания мемо-полей, которые не нужно транслировать в текущую кодовую страницу.

Вам не нужно использовать команду SET NOCPTRANS для указания полей, которые не содержат данных специальной кодовой страницы. При отсутствии опции CODEPAGE в конфигурационном файле Вы можете проверить, как выполняется (или не выполняется) трансляция символов в кодовую страницу.

Для дополнительной информации о кодовых страницах см. раздел Поддерживаемые Code Pages в Visual FoxPro в Разработка интернациональных приложений .

См. также

Другие ссылки

Функция CPCONVERT( )
Функция CPCURRENT( )
Функция CPDBF( )
Команда MODIFY COMMAND
Команда MODIFY FILE
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET NOTIFY Command

Visual FoxPro 9.0 Описание Языка
SET NOTIFY, команда
См. также
CollapseAll image

Включает или Выключает режим отображения некоторых системных сообщений. Представлены примеры системных сообщений, на которые действует команда SET NOTIFY:

  • "Expression is valid" (Выражение верное) в диалоговом боксе Expression Builder (построителя выражений)

  • "Do Canceled," (выполнение прервано), происходит, когда отменено выполнение программы или команды

SET NOTIFY [CURSOR] ON | OFF

Параметры

CURSOR

Определяет вывод системных сообщений в нижнюю строку Статуса при обработке соответствующих наборов данных.

ON

Включает вывод некоторых системных сообщений. (По-умолчанию)

OFF

Выключает вывод системных сообщений.

Expand image Комментарии

Системные сообщения выводятся в строку Статуса, расположенную в нижрей части главного окна системы Visual FoxPro.

Когда установлено SET NOTIFY CURSOR OFF, Visual FoxPro подавляет вывод всех соответствующих системных сообщений по обработке данных в строку Статуса. Эти сообщения могут содержать: алиасы таблиц, источники данных, указатели записей (n/mmmm), режимы блокировки записей.

Установка SET NOTIFY CURSOR не изменяет статуса команды SET NOTIFY.

Для определения текущего статуса данной команды используется функция SET("NOTIFY",1)

Команда SET NOTIFY отключает вывод всех системных сообщений, даже при выключенном режиме работы SET TALK OFF.

Expand image См. также

Описание

SET MESSAGE, команда
SET TALK, команда
SET( ), функция
WAIT, команда
UIEnable, событие
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET NULL Command

Visual FoxPro 9.0 Справка по языку
Команда SET NULL
См.также Пример

Определяет, будут ли значения .NULL. поддерживаться в командах ALTER TABLE, CREATE TABLE и INSERT - SQL.

SET NULL ON | OFF

Параметры

ON

Указывает, что во всех колонках таблицы, созданной командами ALTER TABLE и CREATE TABLE допускаются значения .NULL.. Вы можете перекрыть этот режим обработки значений .NULL. включив опцию NOT NULL при определении свойств колонки. Также это значение параметра указывает, что команда INSERT - SQL будет пытаться вставить значения .NULL. во все колонки, имена которых не перечислены в её опции VALUE. Однако команда INSERT - SQL сможет успешно вставить значения .NULL. только в колонки, для которых такая возможность была задана при определении их свойств.
Замечание:
Если вы добавите поддержку значений .NULL. в одну или более колонок таблицы, максимально допустимое количество колонок в таблице уменьшится с 255 до 254.

OFF

(По умолчанию) Указывает, что во всех колонках таблицы, созданной командами ALTER TABLE и CREATE TABLE не допускаются значения .NULL.. Вы можете перекрыть этот режим обработки значений .NULL., включив опцию NULL при определении свойств колонки. Также это значение параметра указывает, что команда INSERT - SQL будет пытаться вставить пустые (blank) значения во все колонки, имена которых не перечислены в её опции VALUE.

Примечания

Установка SET NULL воздействует только на значения .NULL. в командах, ALTER TABLE, CREATE TABLE и INSERT - SQL. Прочие команды не учитывают эту установку. Действие команды SET NULL распространяется только на текущую сессию данных.

Пример

Следующий пример показывает, как установка SET NULL влияет на поддержку значений .NULL..Первая таблица с именем employee создана при установке SET NULL ON и её поля поддерживают значания .NULL.. Команда REPLACE помещает значение .NULL. в поле cLastName. Вторая таблица с именем staff создана при установке SET NULL OFF и её поля не поддерживают значение .NULL.. Команда REPLACE помещает в поле cLastName пробел.

Скопировать код
CLOSE DATABASES
SET NULL ON && Fields will support null values
CREATE TABLE employee (cLastName C(20), ySalary Y(12,2))
APPEND BLANK && Add a new blank record
REPLACE cLastName WITH .NULL. && cLastName supports null values

SET NULL OFF && Fields will not support null values
CREATE TABLE staff (cLastName C(20), ySalary Y(12,2))
APPEND BLANK && Add a new blank record
REPLACE cLastName WITH " " && Doesn't support null values

См.также

Команда ALTER TABLE
Команда CREATE TABLE
Команда INSERT - SQL
Функция ISNULL( )
Функция NVL( )
Команда SET DATASESSION
Обзор команд SET
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET NULLDISPLAY Command

Visual FoxPro 9.0 Описание Языка
SET NULLDISPLAY, команда
См. также
CollapseAll image

Определяет, как отображаются источники данных, содержащие значение = Null.

SET NULLDISPLAY TO [cNullText]

Параметры

cNullText

Определяет содержание отображаемых данных, значение которых = null. Если параметр cNullText - отсутствует, то выводится значение по-умолчанию = ".NULL.", что действительно для любых данных.

Expand image Комментарии

По-умолчанию, Visual FoxPro выводит текст .NULL. для данных содержащих значение = null, в объектах, окне Browse, командах DISPLAY, LIST, и так далее. Команда SET NULLDISPLAY изменяет содержание отображаемого текста на другое. Действие Команды SET NULLDISPLAY распространяется на все объекты, для которых значение свойства NullDisplay равно пустой строке.

Для изменения отображаемого текста конкретного объекта, содержащего значение NULL, используйте установку свойства NullDisplay .

Expand image См. также

Описание

CREATE TABLE - SQL, команда
NullDisplay, свойство
SET NULL, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET ODOMETER Command

Visual FoxPro 9.0 Описание Языка
Команда SET ODOMETER
См. также

Определяет количество обработанных записей, количество которых помещается в системное сообщение о ходе выполнения команды VFP.

SET ODOMETER TO [nRecords]

Параметры

TO [ nRecords]

Определяет количество записей. Значение nRecords может быть в интервале от 1 до 32,767 записей. По-умолчанию = 100.

Комментарии

Используйте команду SET ODOMETER для изменения сообщаемого интервала обработанных записей.

Например, команда COPY TO показывает количество копируемых записей в новую таблицу. Количество обработанных записей не высвечивается если выполнена команда SET TALK OFF.

См. также

Другие ссылки

Команда SET TALK
Системная переменная_TALLY
Команда COPY TO
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET OLEOBJECT Command

Visual FoxPro 9.0 Описание Языка
SET OLEOBJECT, команда
См. также
CollapseAll image

Определяет, выполняет ли система Visual FoxPro поиск описания Объекта в реестре Windows, если невозможно определить расположение данного объекта.

SET OLEOBJECT ON | OFF

Параметры

ON

(По-умолчанию) Определяет, что при невозможности определить описание Объекта, система Visual FoxPro выполняет поиск необходимого описания в Реестре Windows.

OFF

Определяет, что поиск в Реестре не выполняется Visual FoxPro.

Expand image Комментарии

При создании Объекта, с помощью функций CREATEOBJECT( ) или GETOBJECT( ), Visual FoxPro выполняет Поиск его описания в следующем порядке:

  1. по базовым классам Visual FoxPro.

  2. по объявленным Классам, в памяти; в порядке их загрузки.

  3. по объявленным классам в текущем программном модуле.

  4. по объявленным классам из библиотек классов (.vcx), открытым командой SET CLASSLIB.

  5. по объявленным классам из процедурных файлов, открытым командой SET PROCEDURE.

  6. по объявленным классам, в цепи выполняемых программ, запущенных командой (См. детально DO, команда).

  7. по Реестру Windows.

Когда Visual FoxPro находит описание необходимого объекта в Реестре, то выполняется немедленная загрузка в память поддержки соответствующего объекта COM, при этом память рабочей станции, требуемая для выполнения Поиска - не освобождается. Данное обстоятельство значительно ограничивает использование памяти другими активными приложениями.

Совет. Если ваши, разрабатываемые приложения не используют поддержки объектов COM, выполните команду SET OLEOBJECT OFF - для ограничения поиска в Реестре необходимой информации об объектах, что достаточно оптимизирует использование памяти рабочей станции.

SET OLEOBJECT не распространяет свое действие на объекты COM, размещенные в Формах или полях типа General. Система Visual FoxPro всегда создает необходимое описание объектов COM, размещая их на формах, это происходит в момент разработки рассматриваемых Форм или классов типа OLE; данное справедливо также для полей типа General, при первом их открытии.

Поскольку функция GETOBJECT( ) активирует объект COM, система Visual FoxPro генерирует сообщение об ошибке при выполнении функции GETOBJECT( ), когда текущий статус рассматриваемой команды SET OLEOBJECT = OFF.

Expand image См. также

Описание

CREATEOBJECT( ), функция
GETOBJECT( ), функция
DO, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET OPTIMIZE Command

Visual FoxPro 9.0 Описание Языка
SET OPTIMIZE, команда
См. также
CollapseAll image

Включает или Отключает механизм Rushmore Query Optimization.

SET OPTIMIZE ON | OFF

Параметры

ON

(По-умолчанию) Оптимизация Rushmore включена.

OFF

Отключение Оптимизации Rushmore.

Expand image Комментарии

Система Visual FoxPro использует технологию ускорения выборки данных, названную как Rushmore Query Optimization. Табличные команды, содержащие опцию FOR, используют автоматически технологию Rushmore для ускорения обработки данных (оптимизируют условие выборки данных). При выполнении указанных команд, система пытается определить, является ли условие выборки данных - оптимизируемым (логическое выражение, заданное в опции FOR). В большинстве случаев - это значительно ускоряет выполнение команд обработки данных с помощью технологии Rushmore.

В некоторых случаях, нужно отключить оптимизацию Rushmore. Если в табличных командах используется технология Rushmore, а эти команды активно изменяют индексные ключи, на которых построена вся Оптимизация, то некоторые записи таблицы могут быть необработаны (потеряны). Для надежного обновления данных в таблицах (особенно индексных ключей) нужно отключить оптимизацию Rushmore.

Для глобального изменения режима оптимизации используется команда SET OPTIMIZE OFF ; однако многие табличные команды имеют дополнительную опцию NOOPTIMIZE, которая отменяет оптимизацию Rushmore на время выполнения команды, в которой данная опция используется; при этом глобальная установка не изменяется.

См. дополнительно раздел Использование технологии Rushmore Query Optimization для ускорения доступа к данным.

Далее представлены табличные команды, выполнение которых оптимизируемо по технологии Rushmore:

Команды |
AVERAGE | INDEX
BLANK | LABEL
BROWSE | LIST
CALCULATE | LOCATE
CHANGE | RECALL
COPY TO | REPLACE
COPY TO ARRAY | REPLACE FROM ARRAY
COUNT | REPORT
DELETE | SCAN
DISPLAY | SORT
EDIT | SUM
EXPORT | TOTAL

Expand image См. также

Описание

INDEX, команда
SET ORDER, команда
Общее описание команд SET

Концепции

Использование технологии Rushmore Query Optimization для ускорения доступа к данным

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET ORDER Command

Visual FoxPro 9.0 Справочник Языка
SET ORDER Команда
См. Также

Определяет управляющий индексный файл или тэг для таблицы.

Обратите внимание:
Visual FoxPro не поддерживает SET ORDER для двоичных индексов.

SET ORDER TO [nIndexNumber | IDXIndexFileName | [TAG] TagName
   [OF CDXFileName] [IN nWorkArea | cTableAlias]
   [ASCENDING | DESCENDING]]

Параметры

nIndexNumber

Определяет номер управляющего индексного файла или тэга. nIndexNumber ссылается на индексные файлы, в порядке их перечисления в командах USE или SET INDEX. Открытые .idx-файлы нумеруются в первую очередь, в порядке их появления в командах USE или SET INDEX. Тэги структурного .cdx-файла (если существует) нумеруются во вторую очередь, в порядке их создания. Наконец, тэги любых открытых независимых .cdx-файлов нумеруются в порядке их создания в последнюю очередь. Следующий пример иллюстрирует, как нумеруются разные индексные файлы и тэги. (Имена файлов приведены только для иллюстрации и не обязательно существуют.) Открывается таблица video.dbf с тремя индексами ( title.idx , costs.cdx , и rating.idx ) в первой рабочей области, следующей командой:
Скопировать код
USE video INDEX title.idx, costs.cdx, rating.idx IN 1
Таблица video таблица имеет структурный составной индексный файл ( video.cdx ) с двумя тэгами, NUMBERSOLD и YEARSOLD . Структурный .cdx файл автоматически открывается при открытии video . Так как .idx-файлы нумеруются в первую очередь, применяйте SET ORDER TO 1, чтобы сделать title.idx управлющим индексом и SET ORDER TO 2, чтобы сделать управляющим rating.idx :
Скопировать код
SET ORDER TO 1
Controlling index: C:\FOX30\TITLE.IDX
SET ORDER TO 2
Controlling index: C:\FOX30\RATING.IDX
Затем нумеруются тэги video.cdx :
Скопировать код
SET ORDER TO 3
Controlling index: C:\FOX30\VIDEO.CDX  Tag: NUMBERSOLD
SET ORDER TO 4
Controlling index: C:\FOX30\VIDEO.CDX  Tag: YEARSOLD
Наконец, нумеруются тэги независимого файла costs.cdx :
Скопировать код
SET ORDER TO 5
Controlling index: C:\FOX30\COSTS.CDX  Tag: RENTALCOST
SET ORDER TO 6
Controlling index: C:\FOX30\COSTS.CDX  Tag: BUYCOST
nIndexNumber может также быть равен 0. Если Вы применяете SET ORDER TO 0, все индексные файлы остаются открытыми и модифицируются при добавлении, удалении или изменении записей. Однако, записи в таблице отображаются и адресуются в порядке своих номеров а не в порядке индексирования. Применение SET ORDER TO без дополнительных параметров равнозначно использованию SET ORDER TO 0. Если nIndexNumber больше чем количество .idx-файлов и тэгов .cdx-файла, Visual FoxPro генерирует сообщение об ошибке.
IDXIndexFileName

Определяет .idx файл как управляющий индексный файл.
[TAG] TagName [OF CDXFileName ]

Определяет тэг .cdx-файла как управляющий тэг. Имя тэга может быть взято из структурного .cdx-файла или из любого открытого независимого .cdx-файла. Если существуют одинаковые имена тэгов в открытых независимых .cdx-файлах, используйте OF CDXFileName для определения .cdx-файла, содержащего тэг.
Обратите внимание:
.idx-файл имеет приоритет, если существуют дубликаты имен .idx-файлов и тэгов.

IN nWorkArea | cTableAlias

Определяет управляющий индексный файл или тэг для таблицы, открытой в другой рабочей области, которая не активна. nWorkArea определяет номер рабочей области, а cTableAlias определяет псевдоним для таблицы.
ASCENDING | DESCENDING

Отображает записи и адресует доступ к записям таблицы в возрастающем или убывающем порядке. Включение ASCENDING или DESCENDING не изменяет индексный файл или тэг в любом случае.

Замечания

Таблица может иметь много индексных файлов, открытых одновременно. Однако, только .idx-файл из одного индекса (управляющий индексный файл) или тэг из файла составного индекса (.cdx) (управляющий тэг) определяет порядок, в котором отображаются или адресуются записи таблицы. SET ORDER позволяет Вам определить управляющий индексный файл или тэг. Некоторые команды (SEEK, например) используют управляющий индексный файл или тэг для поиска записей.

Вы можете открыть индексные файлы вместе с таблицей включением предложения INDEX в команде USE. Если таблица имеет ассоциированный структурный .cdx-файл, этот файл автоматически открывается вместе с таблицей. После того, как таблица открыта, Вы можете открывать и закрывать индексные файлы для таблицы используя SET INDEX.

По умолчанию, SET ORDER определяет управляющий индекс или управляющий тэг для таблицы, открытой в настоящее время в активной рабочей области.

См. Также

Другие Ресурсы

INDEX Команда
ORDER( ) Функция
DESCENDING( ) Функция
SET INDEX Команда
SET Краткий обзор Команды
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET PALETTE Command

Visual FoxPro 9.0 Описание Языка
SET PALETTE, команда
См. также
CollapseAll image

Определяет, как используется стандартная цветовая палитра системы Visual FoxPro.

SET PALETTE ON | OFF

Параметры

ON

(по-умолчанию) Восстанавливается стандартная цветовая палитра Visual FoxPro.

OFF

Стандартная цветовая палитра FoxPro заменяется палитрой из соответствующего файла .bmp или из объекта OLE.

Expand image Комментарии

Цветовая палитра объектов OLE и графики уровня .bmp может конфликтовать со стандартной палитрой системы VFP, графические объекты отображаются в этом случае в момент их определения. Текущая Цветовая палитра определяется первыми элементами, выводящимися на экран, они могут конфликтовать с уже имеющейся информацией; это может приводить к неожиданным результатам, искажению картинки.

По-умолчанию, система Visual FoxPro значительно улучшает цвнетовую палитру, (адаптирует) отображаемых внешних графических объектов или элементов OLE.

Expand image См. также

Описание

@ ... SAY, команда
MODIFY GENERAL, команда
SET COLOR TO, команда
Общее описание Команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET PATH Command

Visual FoxPro 9.0 Language Reference
Команда SET PATH
Смотреть также

Задает путь для поиска файлов.

SET PATH TO [Path] [ADDITIVE]

Parameters

TO [ Path]

Задает каталоги, которые Visual FoxPro будет просматривать при поиске. Отделяйте каталоги друг от друга запятыми и точками с запятой.
Комментарии:
Visual FoxPro не распознает должным образом имя пути, если имя диска или каталога будет содержать (!).

Для всех FoxPro платформ, функции зозвращающие информацию о пути, типа CURDIR( ), DBF( ), and SYS(2003), используют Microsoft MS-DOS соглашение об именах путей в возвращаемых значениях.
ADDITIVE

Добовляет путь в конец существующего пути поска.

Замечания

Выдача команды SET PATH TO без аргумента Path, востановит путь к каталогу по умолчанию. Используйте SET DEFAULT , чтобы задать каталог по умолчанию и CURDIR( ) для возврата имени текущего каталога, принятого по умолчанию.

SET PATH не применяйте в текущей датасессии; изменение пути по умолчанию используя команду SET PATH, даст эффект для всех датасессий.

SET PATH лимитирован длинной максимум 4095 символов.

При использовании параметра ADDITIVE, пути должны быть включены или как цитируемое строковое или правильное{допустимое} выражение. Если Вы используете макроподстановку, это должно должным образом цитироваться как в следующих примерах:

Copy Code
xx = ["Folder2"]
SET PATH TO &xx ADDITIVE
** or **
xx = "Folder2"
SET PATH TO '&xx' ADDITIVE

Смотреть также

Другие источники

CD | CHDIR Command
GETFILE( ) Function
LOCFILE( ) Function
MD | MKDIR Command
RD | RMDIR Command
SET DEFAULT Command
SET DATASESSION Command
SET Command Overview
Commands
Language Reference

Отослать комментарии по этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


SET PDSETUP Command

Visual FoxPro 9.0 Описание Языка
SET PDSETUP, команда
См. также
CollapseAll image

Загружает указанный драйвер принтера; или освобождает текущий драйвер принтера.

SET PDSETUP TO [[cPrinterDriverSetup [, Parameter1[, Parameter2 ...]]]
   [WITH Parameter3 [, Parameter4 ...]]]

Параметры

cPrinterDriverSetup

Определяет имя драйвера принтера для загрузки.

При загрузке указанного драйвера принтера, его имя помещается в системную переменную _PDSETUP, и создается специальный массив параметров, _PDPARMS. (_PDPARMS описывается в другом разделе данной справки.)

Если указываемый, загружаемый драйвер принтера cPrinterDriverSetup отсутствует в Ресурсном файле, то приложение печати использует текущий драйвер принтера; с помощью дополнительного приложения Genpd.app можно создать требуемый драйвер принтера, определив необходимые параметры печати в соответствующем диалоговом боксе Printer Setup Editing.

Если имя загружаемого драйвера принтера начинается с символа отрицания (-), то приложение настройки параметров печати _GENPD не загружается, но имя драйвера помещается в системную переменную _PDSETUP.

Если параметр в команде SET PDSETUP TO ( cPrinterDriverSetup) - отсутствует, то текущий драйвер принтера освобождается, в переменную _PDSETUP - помещается пустая строка, массив параметров _PDPARMS - стирается из памяти.

Parameter1[, Parameter2...]

Определяет несколько дополнительных параметров принтера. Данные параметры дополнительно уточняют настройку драйвера принтера, могут быть различного типа (символьные, числовые, логические и т.д.). Естественно, первой строкой вашего приложения по настройке параметров драйвера принтера должен быть оператор LPARAMETERS или PARAMETERS, для приема данных параметров, указанных в команде SET PDSETUP.

Если вы используете приложение Genpd.app, и не указываете дополнительные параметры, данное приложение Genpd.app не использует указанные в команде SET PDSETUP параметры, далее генерируется сообщение об ошибке.

WITH Parameter3[, Parameter4...]

Создает специальный массив, и именем _PDPARMS, в котором размещаются параметры настройки принтера. Каждый из указанных параметров размещается в соответствующем элементе массива _PDPARMS. Первый параметр (Parameter3) - в первый элемент массива _PDPARMS, и так далее. Каждый элемент массива может быть различного типа (символьный, числовой, логический, и так далее).

Если вы используете дополнительное приложение Genpd.app, то данные параметры заменяются соответствующими параметрами данного приложения.

Expand image Комментарии

В Visual FoxPro, драйверы принтера используются для символьных Отчетов, созданных в младших версиях FoxPro / MS-DOS.

Настройка драйвера печати заключается в комбинаци различных установок параметров, таких как: программа-драйвер, ориентация страницы печати, шрифт печати, размер шрифта, стиль шрифта, отступы на странице и так далее. Установки сохраняются в открытом файле ресурсов FoxPro / MS-DOS, FoxUser.dbf, которые могут быть отредактированы в Диалоговом боксе Printer Setup Editing.

Установка драйвера принтера может быть выполнена загрузкой соответствующего значения в переменную _PDSETUP.

При указании в команде SET PDSETUP нужного драйвера принтера, имя соответствующего приложения по настройке параметров печати помещается в системную переменную _GENPD. Приложение Genpd.app является текущим приложением для систем FoxPro / MS-DOS.

Expand image См. также

Описание

_GENPD, системная переменная
_PDRIVER, системная переменная
_PDSETUP, системная переменная
SET PRINTER, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET POINT Command

Visual FoxPro 9.0 Описание Языка
SET POINT, команда
См. также Пример
CollapseAll image

Определяет символ отображения десятичной точки для числовых и денежных типов данных, выражений.

SET POINT TO [cDecimalPointCharacter]

Параметры

cDecimalPointCharacter

Определяет символ для отображения десятичной точки

Expand image Комментарии

Команда SET POINT применяется для изменения стандартного отображения десятичной точки в числовых и денежных единицах, по-умолчанию - это символ "точка" (.) . Использование команды SET POINT TO, без параметра cDecimalPointCharacter, восстанавливает использование стандартного обозначения (как точка). Хотя вы можете менять символ отображения десятичного разделителя, однако, при определении числовых выражений, указании некоторых числовых констант, вы должны указывать десятичный разделитель - как точку (.) .

Действие команды SET POINT распространяется в рамках текущей сессии данных.

Expand image Пример

CopyCode image Копировать Код
gnX = 1.25
gcNewPoint = '_'
SET POINT TO gcNewPoint
? gnX
SET POINT TO      && Reset the decimal point to a period (.)
? gnX

Expand image См. также

Описание

SET DATASESSION, команда
SET DECIMALS, команда
SET FIXED, команда
SET SEPARATOR, команда
SET SYSFORMATS, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET PRINTER Command

Visual FoxPro 9.0 Описание Языка
Команда SET PRINTER
См. также

Включает или Выключает вывод данных на принтер, или управляет выводом данных в файл, или на сетевой принтер. Данная коменда имеет несколько вариантов синтаксиса.

Примечание:
Для перенаправления вывода данных в файл, на локальный или сетевой принтер используйте команду SET PRINTER TO (без аргументов). Для установки начальных значений вывода в MS-DOS PRN, также используйте команду SET PRINTER TO (без аргументов)

SET PRINTER ON [PROMPT] | OFF

SET PRINTER FONT cFontName [, nFontSize [, nFontCharSet]] [STYLE cFontStyle]

SET PRINTER TO [FileName [ADDITIVE] | PortName]

SET PRINTER TO [DEFAULT | NAME WindowsPrinterName]

SET PRINTER TO NAME \\ServerName\PrinterName

Параметры

ON [PROMPT]

Включает вывод на принтер. Опция PROMPT отображает перед стартом диалоговый бокс выбора принтера или настройки параметров печати.
Примечание:
Когда SET PRINTER ON, команда @ ... SAY не управляет форматированием данных на принтере. Для выполнения данной функции используйте команду SET DEVICE TO PRINTER. Дополнительную информацию см. Команда SET DEVICE.

OFF

(По-умолчанию) Выключает вывод на принтер
FONT cFontName[, cFontSize [, nFontCharSet]]

Определяет текущий шрифт печати на приниере. Параметр cFontName определяет имя шрифта , а также размер cFontSize . Вы можете также определить интернациональную настройку шрифта используя параметр nFontCharSet. См. описание функции GETFONT( ) для определения списка поддерживаемых языков (шрифтов). Например, следующая команда определяет шрифт Courier, размером 16, как текущий шрифт принтера:
Копировать код
SET PRINTER FONT 'Courier', 16
Если указанный Вами шрифт недоступен, он заменяется на шрифт с аналогичными характеристиками.
STYLE cFontStyle

Определяет текущий стиль печати на принтере. Если опция STYLE опущена, то используется нормальный шрифт. При отсутствии указанного стиля, он заменяется на аналогичный. В следующей таблице представлены возможные варианты настройки стилей шрифта (параметра cFontStyle).

cFontStyle
обозначение 		Стиль

B

Bold

I

Italic

N

Normal

O

Outline

Q

Opaque

S

Shadow

–

Strikeout

T

Transparent

U

Underline
Вы можете комбинировать совместимые стили шрифтов. Например, следующая команда устанавливает 16-point Courier Bold Italic:
Копировать код
SET PRINTER FONT 'Courier', 16 STYLE 'BI'
TO [ FileName[ADDITIVE] | PortName]

Определяет перенаправление печати в файл или порт. Параметр FileName определяет имя файла, куда будет перенаправлена печать. Опция ADDITIVE указывает, что выводимые данные дописываются в существующий файл. Отсутствие ADDITIVE означает, что файл создается заново. Параметр PortName определяет альтернативный порт принтера.
TO [DEFAULT | NAME WindowsPrinterName]

Посылает данные для печати напринтер по-умолчанию в системе Windows printer
Примечание:
Имя принтера Windows описано в файле Win.ini .

TO NAME \\ ServerName\ PrinterName

Определяет имя сетевого принтера
Примечание:
Данная опция поддерживается для операционных систем Windows 2000 и далее.

Параметр ServerName есть имя сервера печати в сети. Это имя определяется системным администратором сети и является уникальным для данного сегиента сети. Параметр PrinterName описывает имя принтера в сети.

Комментарии

Когда Вы выполняете печать на сетевом принтере, результаты печати могут быть получены через определенный промежуток времени. Дополнительная информация о печати на сетевом принтере содержится в документации по Вашей сети.

Примечание:
Данная команда не работает в режиме Unattended Server Mode.

Вы можете использовать функции GETPRINTER( ) или APRINTERS( ) для определения установленных (или присоединенных) принтерах к Вашей компьютерной системе. Например, Следующая команда направляет вывод на выбираемый принтер:

Копировать код
SET PRINTER TO NAME GETPRINTER( )

Дополнительно см. функцию APRINTERS( ) и функцию GETPRINTER( ).

См. также

Другие ссылки

Функция PRINTSTATUS( )
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET PROCEDURE Command

Visual FoxPro 9.0 Описание Языка
SET PROCEDURE, команда
См. также
CollapseAll image

Открывает процедурный файл.

SET PROCEDURE TO [FileName1 [, FileName2, ...]] [ADDITIVE]

Параметры

FileName1[, FileName2, ...]

Определяет последовательность имен процедурных файлов, в порядке следования которой они просматриваются. SET PROCEDURE обеспечивает вас возможностью открывать несколько процедурных файлов. В этом случае вы можете создавать специализированные библиотеки функций и процедур вашего приложения.

ADDITIVE

Открывает новый процендурный файл, без закрытия уже открытых ранее процедурных файлов

Expand image Комментарии

Использование команды SET PROCEDURE TO, без параметров, - закрывает все процедурные файлы, открытые ранее. Для закрытия конкретного процедурного файла используйте команду RELEASE PROCEDURE.

При выполнении программного модуля, выполняется поиск последнего во всех открытых процедурных файлах (если требуемый модуль еще не загружен в память).

См. дополнительно разделы PROCEDURE, команда и DO, команда.

Если объект COM, в динамической библиотеке (DLL) использует данную команду SET PROCEDURE TO более чем в одном экземпляре объекта, то метод Init, во втором экземпляре объекта может порождать следующие системные ошибки:

OLE error code 0x80004005: Unspecified error. (Неопределенная ошибка)

OLE error code 0x80020009: Exception occurred (Возникла исключительная ситуация).

Для использования опции OLEPUBLIC, при объявлении объекта COM, Visual FoxPro должен располагать всем необходимым исходным кодом процедур и функций. Внутренние вызовы команд SET PROCEDURE / SET CLASSLIB должны определять весь необходимый программный код; если код модулей меняется, то может возникнуть исключительная ситуация. Для предотвращения этого: всегда в команде SET PROCEDURE TO используйте ключевое слово (опцию) ADDITIVE.

Expand image См. также

Описание

PROCEDURE, команда
RELEASE PROCEDURE, команда
LIST PROCEDURES, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET READBORDER Command

Visual FoxPro 9.0 Описание Языка
SET READBORDER, команда
См. также Пример
CollapseAll image

Определяет, как создаются границы для текстовых боксов, созданных по командам @ ... GET.

SET READBORDER ON | OFF

Параметры

ON

Определяет, что все текстовые боксы, созданные командами типа @ ... GET - имеют ограничительные линии (бордюр). Если выполнена данная установка SET READBORDER ON, тогда все текстовые боксы, активные в текущем уровне команды READ - имеют одинаковые границы.

OFF

(по-умолчанию) Определяет, что текстовые боксы, созданные командой @ ... GET, не имеют графического обрамления. Если SET READBORDER OFF, тогда все текстовые боксы, созданные после этого, или активные в текущем уровне команды READ - не содержат графического обрамления.

Expand image Комментарии

Команда SET READBORDER определяет наличие вокруг текстовых боксов, созданных командами типа @ ... GET, обрамляющих границ.

Expand image Пример

В следующем примере, сначала создаются 3-и текстовых бокса, имеющих соответствующее обрамление, Третий текстовый бокс - также имеет обрамление, хотя выполнена команда SET READBORDER OFF, но действует один уровень READ. Четвертый текстовый бокс не имеет обрамления, так как действует командаSET READBORDER OFF, а новый уровень команды READ заново активирует имеющиеся текстовые боксы.

CopyCode image Копировать Код
SET READBORDER ON
@ 2,2 GET gnW DEFAULT 1   && 1st READ
@ 4,2 GET gnX DEFAULT 1   && 1st READ
SET READBORDER OFF
@ 6,2 GET gnY DEFAULT 1   && 1st READ
READ
@ 8,2 GET gnZ DEFAULT 2   && 2nd READ
READ

Expand image См. также

Описание

READ, команда
READ EVENTS, команда
@ ... GET - Text Boxes, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET REFRESH Command

Visual FoxPro 9.0 Справочник Языка
SET REFRESH Команда
См. Также

Определяет, выполнять ли, и как часто, обновление окна Browse или окна редактирования мемо, или обновление локального буфера памяти изменениями, сделанными другими сетевыми пользователями.

SET REFRESH TO nSeconds1 [, nSeconds2]

Параметры

nSeconds1

Определяет количество секунд между обновлением вывода для окна Browse или окна редактирования мемо. nSeconds1 может быть целочисленным значением от 0 (значение по умолчанию) до 3,600 секунд. Установка nSeconds1 в 0 не обновляет записи, которые Вы просматриваете.
Обратите внимание:
Дробные значения усекаются. Если Вы определяете для nSeconds1 значение отличное от 0 и опускаете параметр nSeconds2 , то nSeconds2 получает значение такое же как nSeconds1 . Однако, если Вы определяете 0 секунд для nSeconds1 и опускаете nSeconds2 , тогда nSeconds2 получает значение 5 секунд.

[, nSeconds2 ]

Определяет количество секунд между регенерацией локальных буферов памяти текущими сетевыми данными. Значение по умолчанию - 5 секунд. Установка nSeconds2 в 0 не обновляет буферы.
Совет:
Вы можете ускорить выполение, увеличивая значение nSeconds2 . Вы можете также установить эту опцию во вкладке Data диалогового окна Options.

Следующая таблица описывает значения для nSeconds2 .

nSeconds2 Описание

-1

Всегда считывает данные с диска.

0

Всегда использует данные из буфера памяти, но не обновляет буфер.

от .001 до 3,600

Обновляет локальный буфер памяти через заданое количество секунд. Дробные значения принимаются.

Обратите внимание:
Для целей вывода изображения, Visual FoxPro округляет значение nSeconds2 к самой близкой миллисекунде.

Замечания

Поскольку таблицы могут быть открыты для разделяемого сетевого использования, то возможно, что другие сетевые пользователи могут редактировать записи, которые Вы просматриваете в окне browse. Устанавливая SET REFRESH , Вы можете управлять интервалом времени между модификациями окна Browse. Когда Вы устанавливаете командой SET REFRESH значение отличное от нуля и другие пользователи изменяют записи, которые Вы просматриваете, то записи обновляются по истечении периода регенерации.

SET REFRESH влияет на записи, отображаемые в окне Browse, открытое командами BROWSE , CHANGE , или EDIT . Memo-поля открытые для редактирования в окне Browse, например, с использованием команды MODIFY MEMO , также регенерируются. Для подробной информации, см. BROWSE Команда , CHANGE Команда , EDIT Команда , и MODIFY MEMO Команда .

Visual FoxPro буферизует части таблиц в памяти на вашей рабочей станции. SET REFRESH может определить, как часто регенерируются данные, которые буферизованы локально на вашей рабочей станции.

См. Также

Другие Ресурсы

Программирование для Распределенного доступа
SET Краткий обзор Команды
Команды

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET RELATION Command

Visual FoxPro 9.0 Описание Языка
SET RELATION, команда
См. также
CollapseAll image

Устанавливает Отношение (реляцию) между открытыми таблицами, чтобы при перемещении указателя в родительской (главной) таблице - перемещался соответствующим образом указатель записи в дочерней (зависимой) таблице.

SET RELATION TO [eExpression1 INTO nWorkArea1 | cTableAlias1
   [, eExpression2 INTO nWorkArea2 | cTableAlias2 ...]
   [IN nWorkArea | cTableAlias] [ADDITIVE]]

Параметры

eExpression1

Определяет реляционное выражение, определяющее суть отношения между родителькой и дочерней таблицами. Обычно, реляционное выражение является индексным выражением в дочерней таблице.

Если параметр eExpression1 есть числовое выражение, то оно вычисляется при перемещении указателя в главной таблице. Указатель в дочерней таблице перемещается на запись с номером, = eExpression1.

При отсутствии параметров в команде SET RELATION - освобождаются все реляции, установленные для текущей рабочей области ранее. Можно отключить конкретную Реляцию, для этого используется команда SET RELATION OFF. См. дополнительно раздел SET RELATION OFF, команда.

INTO nWorkArea1| cTableAlias1

Определяет номер рабочей области или алиас дочерней таблицы.

eExpression2 INTO nWorkArea2| cTableAlias2...

Определяет выражение реляции, номер рабочей области или алиас другой дочерней таблицы. Тем самым, можно задавать несколько реляционных отношений; при этом группы параметров реляции указываются через запятую.

IN nWorkArea

Определяет номер или алиас Родительской таблицы (см. ниже...), если рассматривается не текущая рабочая область

IN cTableAlias

Определяет алиас родительской таблицы.

Опция IN используется без предварительного выбора рабочей области родительской таблицы. Если эти параметры отсутствуют ( nWorkArea и cTableAlias), то предполагается, что родительская таблица открыта в текущей рабочей области.

ADDITIVE

Предотвращает закрытие ранее установленных отношений для указанной рабочей области, добавляет указанное новое отношение. При отсутсвии опции ADDITIVE сначала закрываются все имеющиеся Реляции, а потом устанавливается новое указанное отношение.

Expand image Комментарии

Перед созданием нового отношения между таблицами, они сначала открываются в разных рабочих областях. Дочерняя таблица должна быть индексирована по общему (для связываемых таблиц) полю, в этом случае выражение связи не является числовым. Индекс для дочерней таблицы может быть либо простым индексом (.idx), или структурированным индексом (.cdx), или любым компактным индексом. Если нужный индекс является компактным, то необходимо его активировать при помощи команды SET ORDER.

Note Примечание

Если вы выполняете команду SET RELATION с нечисловым реляционным выражением, а дочерняя таблица - не имеет активного индекса, то система , Visual FoxPro генерирует сообщение об ошибке.

Обычно, для установки нескольких Реляций между одной родительской таблицей и несколькими дочерними таблицами, имеющими общие поля для связи, используется одна команда SET RELATION.

Note Примечание

Если в дочерней таблице отсутствует необходимая запись, то указатель в ней устанавливается на конец таблицы, файла, EOF()=.t.

Если дочерняя таблица имеет активный индекс, то его тип должен совпадать с типом реляционного отношения eExpression1. Если дочерняя таблица не имеет активного индекса, то реляционное выражение eExpression1 должно иметь числовой тип; Реляция устанавливается по номеру записи в дочерней таблице.

Expand image Примеры

Пример 1

В следующем примере создается Реляция между таблицей Клиентов (Customer) и таблицей Заказов (Orders); когда один клиент может иметь несколько заказов из таблицы Заказы. Для создания Реляции нужно иметь общие поля в обоих таблицах Cust_ID (идентификатор Клиента), в дочерней таблице (Orders) должен быть активный индекс по указанному полю. Данный индекс, в некотором смысле, группирует заказы относительно каждоко Клиента.

Сначала, открываем нужные таблицы в разных рабочих областях, при помощи команды USE, устанавливаем активный индекс для дочерней таблицы, при помощи команды SET ORDER to tag Cust_ID :

CopyCode image Копировать Код
USE Customer IN 1
USE Orders IN 2
SELECT Orders
SET ORDER TO TAG Cust_ID

Далее, делаем родительскую таблицу активной, перемещаемся в рабочую область данной таблицы, используем команду SELECT, наконец выполняем команду создания реляционного отношения между данными таблицами, используется команда SET RELATION :

CopyCode image Копировать Код
SELECT Customer
SET RELATION TO Cust_ID INTO Orders

Далее, открываем системные окна browse для для каждой из связанных таблиц:

CopyCode image Копировать Код
BROWSE NOWAIT
SELECT Orders
BROWSE NOWAIT

При перемещении указателя записи в родительской таблице Клиенты, синхронно перемещается указатель записей в дочерней таблице - Заказы. При открытии системного окна Data Session можно увидеть реляционное отношения между рассматриваемыми таблицами.

Пример 2

В данном примере создается реляционное отношение для одной таблицы, таблица реляционно связывается "сама-с-собой". Для открытия одной таблицы в разных рабочих областях используются различные алиасы, и опция AGAIN, для повторного открытия таблицы (в другой области).

CopyCode image Копировать Код
SELECT 0
USE Employees ALIAS Manager
SELECT 0
USE Employees AGAIN ALIAS Employee

Далее, главная (родительская) таблица имеет алиас Manager, дочерняя таблица имеет алиас Employee. Для последней, дочерней таблицы создается индексный тэг Mgr_ID, который будет использоваться для создания реляционного отношения, данный индексный тэг делается активным. См. команды INDEX и SET ORDER. Данный индекс сортирует (индексирует) записи по управляющему...

CopyCode image Копировать Код
INDEX ON Reports_To TAG Mgr_ID
SET ORDER TO Mgr_ID

Далее, переходим в рабочую область главной таблицы, устанавливаем Реляционное отношение, команды SELECT и SET RELATION

CopyCode image Копировать Код
SELECT Manager
SET RELATION TO Emp_ID INTO Employee

Далее, открываем системные окна просмотра данных таблиц и наблюдаем как премещаются указатели в связанных таблицах, хотя используется одна таблица: BROWSE nowait, SELECT Employee, BROWSE nowait

Когда в одном окне мы выбираем Управляющего, то во втором окне отображаются соответствующие записи, той же самой таблицы, но упорядоченные созданным реляционным отношением.

Expand image См. также

Задачи

Как: Установить временное Отношение (Связь) между таблицами

Описание

INDEX, команда
RELATION( ), функция
SET ORDER, команда
TARGET( ), функция
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET RELATION OFF Command

Visual FoxPro 9.0 Описание Языка
Команда SET RELATION OFF
См. также

Разрывает установленное отношение между "родительской" таблицей, открытой в текущей рабочей области, и связанной с ней "дочерней" таблицей.

SET RELATION OFF INTO nWorkArea | cTableAlias

Параметры

INTO nWorkArea| cTableAlias

Определяет номер рабочей области или алиас дочерней таблицы.

См. также

Другие Ссылки

Функция RELATION( )
Команда SELECT
Команда SET RELATION
Команда SET SKIP
Функция TARGET( )
Общее описание команды SET
Команда
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET REPORTBEHAVIOR Command

Visual FoxPro 9.0 Описание Языка
Команда SET REPORTBEHAVIOR
См. также

Определяет работу системы Visual FoxPro при выполнении команд REPORT FORM и LABEL FORM.

SET REPORTBEHAVIOR 80 | 90

Параметры

80

Определяет специфику поведения системы Visual FoxPro при выполнении команд (таких как REPORT FORM или LABEL FORM) для версии Visual FoxPro 9.0. (По-умолчанию)

90

Определяет новую технологию обработки команд получения Отчетов (VFP-9) при использовании дополнительного приложения, указанного в системной переменной _REPORTOUTPUT, которое использует новый базовый класс ReportListener.

Комментарии

Команда SET REPORTBEHAVIOR позволяет Вам получать существующие отчеты с использование новой технологии GDI+ .

Использование установки команды SET REPORTBEHAVIOR имеет эффект для команд REPORT FORM и LABEL FORM, которые содержат опцию OBJECT , указывающую на пользовательский /системный класс ReportListener.

Команда SET REPORTBEHAVIOR 90 определяет поведение системы при выборе опции Print Preview из меню Report при разработке отчетов в дизайнерах Report Designer и Label Designer, при соответствующем использовании класса ReportListener.

Действие установки команды SET REPORTBEHAVIOR является глобальнойl.

См. также

Описание

Команда REPORT FORM
Объект ReportListener
Системная переменная _REPORTOUTPUT

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET REPROCESS Command

Visual FoxPro 9.0 Описание Языка
Команда SET REPROCESS
См. также Пример

Определяет, как часто система Visual FoxPro выполняет попытки блокировки записи или файла для выполнения операций обновления данных, (при многопользовательском доступе к таблицам данных), при условии , что предыдущие попытки блокировки оказались неудачными.

SET REPROCESS TO nAttempts [SECONDS] [SYSTEM] | TO AUTOMATIC [SYSTEM]

Параметры

TO nAttempts [SECONDS]

Определяет количество попыток блокировки записи или файла после первой неудачной попытки. Значение по-умолчанию = 0, максимальное значение = 32,000. Опция SECONDS означает период времени, через который выполняются попытки блокировки. Это справедливо только когда параметр nAttempts < 0 . Например, если nAttempts = 30, Visual FoxPro выполняет попытки блокировки 30 раз. Если также включена опция SECONDS (SET REPROCESS TO 30 SECONDS), Visual FoxPro выполняет непрерывно попытки блокировки в течение 30 секунд. При включенной команде SET STATUS ON системное сообщение ("Waiting for lock ... ") указывает на период выполнения попыток блокировки. Если включена команда обработки ошибок ON ERROR, то она будет выполнена при истечении времени / попыток блокировки записи или файла. Тем не менее, если блокировка будет успешно выполнена, тригер ON ERROR не активируется. Если обработчик ON ERROR не включен, то по истечение времени / или попыток блокировки будет выведено системное сообщение (например, "Record is in use by another" Запись занята другим пользователем). Если параметр nAttempts = 0 (значение по-умолчанию) и выполняется команда блокировки, то системы Visual FoxPro пытается бесконечно выполнять данную функцию, при этом выводится системное сообщение: "Attempting to lock... Press Escape to Cancel," (Попытка блокировки..., нажмите Escape или Cancel) . При успешном завершении блокировки системное сообщение стирается, функция возвращает значение = .Т.. Если Вы нажмете ESC - то появится сообщение (например, "Record is in use by another"). Если системные сообщения выключенны, то функция блокировки вернет значение = .F. Если включена команда ON ERROR и выполняется попытка блокировки, то данная команда (ON ERROR) имеет приоритет над дополнительными попытками блокировки, отрабатывается код данного обработчика ошибок. Система Visual FoxPro не выполняет дополнительные попытки блокировки и не выводит системных сообщений. Если параметр nAttempts = –1, Visual FoxPro Выполняет попытки блокировки бесконечно долго. В этом случае Вы не можете прервать процесс, нажав клавишу ESC, обработчик ошибок ON ERROR не отрабатывает. Установка параметра nAttempts = -2 эквивалентно использованию опции TO AUTOMATIC (см. дальше). Visual FoxPro отображает сообщение "Waiting for lock ... " при включенной команде SET STATUS ON. Если запись уже блокирована другим пользователем, Вам остается только одно - ждать.
TO AUTOMATIC

Определяет, что система Visual FoxPro выполняет попытки блокировки записи или файла бесконечно долго (эквивалентно установке параметра nAttempts = –2). Данная опция аналогична установке параметра nAttempts = -1, за исключением возможности прервать процесс попыток блокировки (нажатием клавиши ESC) . Отображается системное сообщение "Attempting to lock ... Press Escape to Cancel" пока выполняются попытки блокировки. После выполнения блокировки данное сообщение стирается и функция блокировки возвращает значение = .T. Если включена команда ON ERROR и Вы нажимаете клавишу ESC, то появляется следующее сообщение (например, "Record is in use by another" (Запись занята другим пользователем)). Если блокировка не удачная и системные сообщения отключены, то функция блокировки возвращает значение = .F.. Если включена команда ON ERROR и нажата клавиша ESC, то выполняется обработчик ошибок ON ERROR. Если блокировка не выполнена, то обработчик не выполняется и функция возвращает значение = .F..
SYSTEM

Определяет для команды SET REPROCESS применение системной установки, которая распространяется на соответствующие разделы, базы данных, FoxUser, .scx файлы, и так далее. Для дополнительной информации см раздел Программирование многопользовательского доступа к данным .

Комментарии

Часто первая попытка блокировки записи или файла является неудачной, объект занят другим пользователем. Команда SET REPROCESS определяет функционирование системы Visual FoxPro в случае выполнения дополнительных попыток блокировки. Вы можете управлять процессом повторных попыток блокировки. Команда ON ERROR влияет на процесс обработки ситуаций с повторными попытками.

Команда SET REPROCESS действует в текущей рабочей сессии.

Примечание:
Изменение соответствующего параметра в закладке Data диалогового бокса Tools Options действует только в текущей рабочей сессии.

Пример

Копировать код
SET ("REPROCESS")      && Returns the current session setting
SET("REPROCESS",1)   && Returns the system session setting

* In the config.fpw file, the following code changes the default session.
REPROCESS = 100

См. также

Описание

Функция SYS(3051) - Set Lock Retry Interval
Функция SYS(3052) - Override SET REPROCESS Locking

Другие ссылки

Функция FLOCK( )
Команда SET DATASESSION
Общее описание команды SET
Программирование многопользовательского доступа
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET RESOURCE Command

Visual FoxPro 9.0 Справочник Языка
SET RESOURCE Команда
См. Также

Обновляет или определяют ресурсный файл. Ресурсный файл - это таблица Visual FoxPro, которая содержит информацию относительно системных и определяемых пользователем ресурсов типа клавиатурных макроопределений, предустановок, местоположений и размеров системных окон, записей дневника, и так далее. Есть две версии синтаксиса.

SET RESOURCE ON | OFF

SET RESOURCE TO [FileName]

Параметры

ON

Определяет, что изменения, сделанные а среде Visual FoxPro сохраняются в файле ресурса. (Значение по умолчанию)
OFF

Определяет, что изменения, сделанные в среде Visual FoxPro не сохраняются в файле ресурса.
TO [ FileName ]

Определяет, что изменения, сделанные в среде Visual FoxPro сохраняются в ресурсном файле( FileName), отличном от ресурсного файла FoxUser.dbf по умолчанию. Применяйте SET RESOURCE TO без указания имени файла ресурса, чтобы открыть ресурсный файл FoxUser.dbf по умолчанию. Применение SET RESOURCE TO приводит к выполнению SET RESOURCE ON неявно.

См. Также

Другие Ресурсы

SYS(2005) - Текущий Ресурсный Файл
Ресурсные Файлы в Приложениях
SET Краткий обзор Команд
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET SAFETY Command

Visual FoxPro 9.0 Описание Языка
SET SAFETY, команда
См. также
CollapseAll image

Определяет, выводит ли система Visual FoxPro диалоговый бокс, содержащий варианты подтверждения пользователем следующих действий: перезапись существующих файлов, или выполнения Правил (Rules) для таблиц или полей, значений по-умолчанию, или обработки сообщений об ошибках при изменении структуры таблиц с помощью Table Designer или при помощи команды ALTER TABLE.

SET SAFETY ON | OFF

Параметры

ON

(по-умолчанию) Определяет отображение системного диалогового бокса для подтвеждения (или отказа от..) проводимой далее перезаписи существующего файла. Диалоговый бокс имеет соответствующие вариантные кнопки.

Для службы Table Designer, определяет варианты при модификации следующих компонент: Правил для таблиц и полей, значений по-умолчанию, локалных сообщений об ошибках, при завершении процесса внесения изменений в структуры данных таблиц. Проверка соответствия Данных установленным требованиям и правилам происходит после сохранения внесенных изменений. Если Правило (validation rule) содержит UDF (пользовательскую функцию), то данная функция не вычисляется, и данное правило игнорируется.

Для команды ALTER TABLE, перечисленные компоненты структуры таблицы (table or field rules, default values, and error messages) выполняются после внесения командой ALTER TABLE изменений в структуру таблицы. Проверка данных происходит при дополнении новых или изменении существующих данных. Если Правило (validation rule) содержит UDF (пользовательскую функцию), то она (UDF) не выполняется и данное правило игнорируется.

OFF

Определяет, что диалоговый бокс Подтверждения не отображается. Заметим, что для данная установка (SET SAFETY OFF) является установкой "по-умолчанию" для In-process .dll Automation Servers .

Для службы Table Designer, определяет, что компоненты проверки данных не выполняются при внесения изменений в структуру таблицы. Однако, измененные компоненты вычисляются при добавлении новых данных или изменения существующих.

Для команды ALTER TABLE, компоненты проверки данных не вычисляются при внесении изменений в структуру таблицы. Проверка данных не выполняется при добавлении новых данных или изменении существующих.

Expand image Комментарии

Действие команды SET SAFETY распространяется на текущую сессию данных.

Expand image См. также

Описание

ALTER TABLE - SQL, команда
MODIFY STRUCTURE, команда
SET DATASESSION, команда
SET TALK, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET SECONDS Command

Visual FoxPro 9.0 Описание Языка
SET SECONDS, команда
См. также Пример
CollapseAll image

Определяет, отображаются ли Секунды в выражениях типа DateTime.

SET SECONDS ON | OFF

Параметры

ON

(По-умолчанию) Определяет, что секунды отображаются в выражениях типа DateTime.

OFF

Секунды в данных типа DateTime - не отображаются (только часы и минуты).

Expand image Комментарии

Команда SET SECONDS действует в рамках текущей сессии данных.

Expand image Пример

В следующем примере демонстрируется: что при выполнении команды SET SECONDS ON, функция DATETIME( ) выводит часы:минуты:секунды - текущего времени. Когда выполнено SET SECONDS OFF, то секунды уже не выводятся.

CopyCode image Копировать Код
SET SECONDS ON
CLEAR
? DATETIME( )  && Displays time value with the seconds portion

SET SECONDS OFF  && Displays time value without the seconds portion
? DATETIME( )

Expand image См. также

Описание

CTOT( ), функция
DATE( ), функция
DATETIME( ), функция
DTOT( ), функция
HOUR( ), функция
MINUTE( ), функция
SEC( ), функция
SECONDS( ), функция
SET SECONDS, команда
TIME( ), функция
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET SEPARATOR Command

Visual FoxPro 9.0 Описание Языка
Команда SET SEPARATOR
См. также Пример

Определяет символ, который разделяет группы чисел, обычно (3) для форматирования числовых выражений (слева от десятичной точки).

Синтаксис

Copy Code
SET SEPARATOR TO [expC]

Параметры

exprC

Определяет символ-разделитель групп цифр в числовом выражении.

Комментарии

Команда SET SEPARATOR используется для указания символа-разделителя групп цифр при форматировании числовых выражений. например можно использовать запятую (,) для отделения единиц от тысяч. Использование команды SET SEPARATOR без параметра восстанавливает значение по-умолчанию (без символа -разделителя).

Примечание:
Если Вы используете команду SET SYSFORMATS ON, то в качестве символа -разделителя используется символ, заданный в Windows Regional Options Control Panel. Использование данной команды переустанавливает установку SET SEPARATOR exprC .

Команда SET SEPARATOR действует только в текущей рабочей сессии.

Пример

Копировать код
SET SEPARATOR TO && reset to default
_Screen.AddObject("t","textbox")
_Screen.t.InputMask = "9,999.99"
_screen.t.Value = 1000
_Screen.t.Visible = .T.
WAIT WINDOW "Note the value in the textbox: looks like 1,000.00"

* now change the separator:
SET SEPARATOR TO "#"
WAIT WINDOW "Note the value in the textbox: looks like 1#000.00"

* now indicate that you want regional defaults:
SET SYSFORMATS ON
WAIT WINDOW ;
   "Note the value in the textbox: looks like 1,000.00 again" ;
    + CHR(13) + ;
   "because SET SYSFORMATS ON was issued."

? SET("SEPARATOR")
WAIT WINDOW ;
   "Note the value of SET('SEPARATOR') now also reflects the default."

SET SEPARATOR TO "#"
WAIT WINDOW ;
   "The textbox changes again." ;
    + CHR(13) + ;
   "Although SET SYSFORMATS is still ON, SET SEPARATOR is more recent."

См. также

Описание

Команда SET SYSFORMATS
Команда SET POINT
Команда SET DECIMALS
Свойство InputMask
Функция TRANSFORM( )

Концепция

Формат выражений для Field Controls

Другие ссылки

Команда SET DATASESSION
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET SKIP Command

Visual FoxPro 9.0 Описание Языка
SET SKIP, команда
См. также Пример
CollapseAll image

Создает Связь между Таблицами типа "один-ко-многим".

SET SKIP TO [TableAlias1 [, TableAlias2] ...]

Параметры

TO TableAlias1[, TableAlias2] ...

Определяет алиасы привязываемых, дочерних таблиц. Данные таблицы привязываются по типу "один-ко-многим " относительно родителькой таблицы. Для перечисления алиасов привязываемых таблиц используется запятая. В командах, для которых поддерживается диапазон выполнения (ALL, NEXT), (DISPLAY, LIST, и другие, аналогичные), записи из родительской таблицы повторяются для соответствующих записей из дочерних таблиц.

Используйте команду SET SKIP TO, без параметров, для обнуления множественной связи между таблицами, для таблицы, открытой в текущей рабочей области. Данная команда обнуляет только "множественную" связь; для разрыва связи типа "один-к-одному" - используется команда SET RELATION TO (без параметров), выполненная для родительской таблицы.

Expand image Комментарии

При помощи команды SET RELATION, можно установить связь между таблицами данных, открытыми в различных рабочих областях. При перемещении указателя записи в родительской таблице (главной в связи), перемещается указатель записи в дочерней таблице (зависимой в связи) на первую, соответствующую запись. Реляционное выражение, заданное в команде SET RELATION определяет синхронное перемещение указателей записей в связанных таблицах. Для типа связи "один-к-одному" для каждой записи родительской таблицы находится (устанавливается указатель на) запись из дочерней таблицы. Если соответствующая запись не найдена, то указатель устанавливается на конец файла, таблицы.

Часто возникают ситуации, когда несколько записей в дочерней таблице соответствуют одной записи родительской таблицы. Команда SET SKIP устанавливает множественное отношение между рассматриваемыми таблицами. Пока указатель записи в родительской таблице остается на месте, указатель записей в дочерней таблице перемещается только в соответствующем диапазоне, ограничен в перемещении.

Для создания отношения типа "один-ко-многим", сначала установите простое отношение между таблицами, командой SET RELATION. За тем, выполните команду SET SKIP - для преобразования обычного отношения в тип "один-ко-многим".

Expand image Пример

В представленном ниже примере: для каждой записи первой таблицы определяются все соответствующие записи в двух других таблицах. Сначала связываются две дочерние таблицы, в которых одна является дочерней, а другая родительской. При сканировании первой таблицы определяются соответствующие записи во второй таблице, а благодаря второй связи - определяется запись в третьей таблице. Команда SET SKIP работает для главной родительской таблицы. Установка команды SET SKIP для связи между дочерними таблицами - неэффективна. Благодаря указанному мехзанизму устанавливаются связи для всех соответствующих записей, содержащих необходимые данные.

CopyCode image Копировать Код
CLOSE DATABASES
* Creates parent table with values a and b in Name field
CREATE TABLE Parent FREE (Name C(1), Val C(10))
INSERT INTO Parent VALUES ('a', 'Parent.a1')
INSERT INTO Parent VALUES ('b', 'Parent.b1')

SELECT 0     && Child1 will have two a's and two b's
CREATE TABLE Child1 FREE (Name1 C(1), Val C(10))
INSERT INTO Child1 VALUES ('a', 'Child1.a1')
INSERT INTO Child1 VALUES ('b', 'Child1.b1')
INSERT INTO Child1 VALUES ('b', 'Child1.b2')
INSERT INTO Child1 VALUES ('a', 'Child1.a2')
INDEX ON Name1 TAG tagName   && The tag name is irrelevant

SELECT 0  && Child2 will have two a's and two b's
CREATE TABLE Child2 FREE (Name2 C(1), Val C(10))
INSERT INTO Child2 VALUES ('b', 'Child1.b1')
INSERT INTO Child2 VALUES ('b', 'Child1.b2')
INSERT INTO Child2 VALUES ('a', 'Child1.a1')
INSERT INTO Child2 VALUES ('a', 'Child1.a2')
INDEX ON Name2 TAG tagName     && The tag name is irrelevant

SELECT Child1
SET RELATION TO Name1 INTO Child2
SELECT Parent
SET RELATION TO Name INTO Child1
SET SKIP TO Child1, Child2 && Parent gets both skips.
           && Otherwise, only four record triplets
           && would be listed.
SCAN ALL  && There will be eight triplets: four a's and four b's
   ? Parent.Val, Child1.Val, Child2.Val
ENDSCAN

Expand image См. также

Описание

RELATION( ), функция
SET RELATION, команда
SKIP, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET SKIP OF Command

Visual FoxPro 9.0 Справочник Языка
SET SKIP OF Команда
См. Также

Задает доступность или недоступность меню, строки меню, заголовка меню, или пункта меню для пользовательских меню или системного меню Microsoft Visual FoxPro. Есть несколько версий синтаксиса.

SET SKIP OF MENU MenuBarName1 lExpression1

SET SKIP OF PAD MenuTitleName OF MenuBarName2 lExpression2

SET SKIP OF POPUP MenuName1 lExpression3

SET SKIP OF BAR nMenuItemNumber | SystemItemName OF MenuName2
      lExpression4

Параметры

MENU MenuBarName1lExpression1

Делает доступной или недоступной полосу системного меню Visual FoxPro или строку пользовательского меню, созданную DEFINE MENU. Например, полоса системного меню Visual FoxPro _MSYSMENU может быть заблокирована такой командой:
Скопировать код
SET SKIP OF MENU _MSYSMENU .T.
Она становится доступной с помощью такой команды:
Скопировать код
SET SKIP OF MENU _MSYSMENU .F.
PAD MenuTitleName OF MenuBarName2lExpression2

Делает доступным или недоступным заголовок системного меню Visual FoxPro или заголовок пользовательского меню, созданный DEFINE PAD. Например, заголовок меню Edit Visual FoxPro может быть заблокирован такой командой:
Скопировать код
SET SKIP OF PAD _MSM_EDIT OF _MSYSMENU .T.
Заголовок меню можно сделать доступным такой командой:
Скопировать код
SET SKIP OF PAD _MSM_EDIT OF _MSYSMENU .F.
POPUP MenuName1lExpression3

Делает доступным или недоступным системное меню Visual FoxPro или пользовательское меню, созданное DEFINE POPUP. Например, меню Edit Visual FoxPro может быть заблокировано такой командой:
Скопировать код
SET SKIP OF POPUP _MEDIT .T.
Меню можно сделать доступным такой командой:
Скопировать код
SET SKIP OF POPUP _MEDIT .F.
BAR nMenuItemNumber | SystemItemName OF MenuName2lExpression4

Делает доступным или недоступным пункт меню системного меню Visual FoxPro или пункта пользовательского меню, созданного DEFINE BAR. Например, команда New в меню File Visual FoxPro может быть заблокирована такой командой:
Скопировать код
SET SKIP OF BAR _MFI_NEW OF _MFILE .T.
где SystemItemName определяет команду меню _MFI_NEW , MenuName2 определяет меню _MFILE , и lExpression4 определяет логическое выражение .T. . Команду меню можно сделать доступной такой командой:
Скопировать код
SET SKIP OF BAR _MFI_NEW OF _MFILE .F.
Используйте nMenuItemNumber для задания пункта меню, созданного DEFINE BAR.

Замечания

Для полного листинга внутренних имен компонентов системного меню Visual FoxPro, см. Имена Системного меню . Вы также можете использовать SYS(2013), чтобы возвратить внутренние имена системного меню.

Если логическое выражение lExpression равно истине (.T)., меню, строка меню, имя меню, или пункт меню, включенные в SET SKIP OF становятся недоступными, приобретают тусклое начертание, и не могут быть выбраны. Если lExpression равно лжи (.F)., меню, строка меню, имя меню, или пункт меню становятся доступными и могут быть выбраны.

См. Также

Другие Ресурсы

CREATE MENU Команда
DEFINE BAR Команда
DEFINE MENU Команда
DEFINE PAD Команда
DEFINE POPUP Команда
SKPBAR( ) Функция
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET SPACE Command

Visual FoxPro 9.0 Справочник Языка
SET SPACE Команда
См. Также

Определяет, вывводится ли пробел между полями или выражениями, когда Вы используете команды ? или ??.

SET SPACE ON | OFF

Параметры

ON

(Значение по умолчанию) Вставляет пробел между полями и выражениями.
OFF

Удаляет все пробелы между полями или выражениями и располагает их слитно.

См. Также

Другие Ресурсы

? |?? Команда
SPACE( ) Функция
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET SQLBUFFERING Command

Visual FoxPro 9.0 Описание Языка
SET SQLBUFFERING, команда
См. также
CollapseAll image

Определяет, какие данные использует команда SQL - SELECT для выборки: из буфера данных (памяти), или записанные на диске, имеется в виду источник данных для выборки.

SET SQLBUFFERING ON | OFF

Параметры

ON

Определяет, что оператор SQL - SELECT, при выполнении запроса, использует локальный буфер данных, если таковой используется; если источник данных не использует буфферизацию, то данные выбираются с диска.

OFF

(по-умолчанию) Определяет, что оператор SQL - SELECT выбирает данные с диска, где расположен источник данных.

Expand image Комментарии

Данная команда действует в рамках текущей сессии данных. Если вы хотите "детально" управлять режимами выборки данных, взамен рассматриваемой команды, то используйте опцию WITH (BUFFERING = ON | OFF), которая имеется в описании команды SQL - SELECT. Данная опция перекрывает действие команды SET SQLBUFFERING, на период выполнения оператора SQL-Select.

Для определения текущей установки рассматриваемого параметра, используйте SET(“SQLBUFFERING”).

Expand image См. также

Описание

Общее описание команд SET
SELECT - SQL, команда
SELECT - SQL, команда, опция - WITH

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET STATUS BAR Command

Visual FoxPro 9.0 Описание Языка
SET STATUS BAR, команда
См. также
CollapseAll image

Отображает или удаляет с экрана графическую строку Статуса (Graphic Status Bar).

SET STATUS BAR ON | OFF

Параметры

ON

(по-умолчанию) Выполнение команды SET STATUS BAR ON - отображает графическую строку Статуса.

OFF

Выполнение команды SET STATUS BAR OFF - убирает графическую строку статуса с экрана.

Expand image См. также

Описание

SET STATUS, команда
StatusBarText, свойство
SET NOTIFY, команда
StatusBar, Свойство

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET STATUS Command

Visual FoxPro 9.0 Описание Языка
SET STATUS, команда
См. также
CollapseAll image

Отображает или Отключает символьно-ориентированную строку Статуса.

SET STATUS ON | OFF

Параметры

ON

Если SET STATUS ON, то в указанном символьно-ориентированной строке Статуса (character-based status bar) отображается следующая информация: имя выполняемого программного модуля (если такой имеется), алиас текущей , активной таблицы, номер текущей записи, общее количество записей в таблице; состояние функциональных клавиш Insert, NumLock и CapsLock. Отображается также статус коллективного или монопольного режима открытия таблицы. Информация в строке Статуса изменяется после выполнения любой команды VFP, затрагивающей перечисленные выше элементы.

OFF

(по-умолчанию) Выполнение команды SET STATUS OFF - отключает строку Статуса.

Expand image См. также

Описание

SET STATUS BAR, команда
StatusBarText, Свойство
NUMLOCK( ), функция
CAPSLOCK( ), функция

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET STEP Command

Visual FoxPro 9.0 Описание Языка
SET STEP, команда
См. также
CollapseAll image

Открывает системное окно Trace, и останавливает выполнение программного модуля, для проведения Отладки (Debugging).

SET STEP ON

Параметры

ON

Открывает системное окно Trace, и останавливает выполнение программы.

Expand image Комментарии

Команда SET STEP применяется для Отладки программных модулей. Вы можете вставить командную строку SET STEP ON в текст программы, в том месте, с которого планируете выполнять индивидуальные команды, в "по-шаговом" режиме.

См. дополнительно разделы Окно Trace, и Тестирование и Отладка Приложений .

Вы можете направить параметры в выполняемый модуль, и отслеживать ход выполнения программы, следуя данным этапам:

  1. Откройте системное окно Trace.

  2. При активном окне Trace, в меню Program, нажмите кнопку Open, и выберите программу для отладки.

  3. Установите точку прерывания (breakpoint), в тексте выполняемой программы.

  4. В Командном окне, выполните команду DO ... с указанием необходимых параметров, используя опцию WITH .

Expand image См. также

Описание

SET ECHO, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET STRICTDATE Command

Visual FoxPro 9.0 Описание Языка
Команда SET STRICTDATE
См. также

Определяет установку при неоднозначной интерпретации констант типа Date и DateTime.

SET STRICTDATE TO [0 | 1 | 2]

Параметры

0

Определяет, что строгая прверка константы типа Date Отключена. Данная установка обеспечивает совместимость с младшими версиями системы Visual FoxPro. = 0 - есть установка По-умолчанию для режима RunTime и драйвера ODBC. Когда установлен 0, неправильные значения констант типа Date и DateTime преобразуются в пустое значение даты.
1

Определяет, что все константы типа Date и DateTime должны иметь строгий формат даты. Каждая константа типа Date или DateTime, имеющая неправильный формат порождает ошибку в режимах компиляции программного модуля, в режиме выполнения RunTime, и в режиме интерактивной сессии Visual FoxPro. = 1 является установкой по-умолчанию для интерактивной сессии работы с системой Visual FoxPro.
2

Данная установка идентична предыдущей установке (= 1) , также генерирует ошибку при компиляции ( ошибка 2033 – функции CTOD и CTOT получают неверный результат ) в тех случаях, когда функции CTOD( ) и CTOT( ) используются в программном коде. Поэтому значения, возвращаемые функциями CTOD( ) и CTOT( ), зависят от текущих установок команд SET DATE и SET CENTURY , и могут быть неправильными, или не удовлетворять необходимым условиям "2000 года" . Используйте функции DATE( ) и DATETIME( ) с дополнительными числовыми параметрами для создания правильных констант и выражений типа Date и DateTime.Данная установка (= 2) является наиболее предпочтительной для соблюдении требований "2000 года", и недопустимости ошибок.

Комментарии

Рекомендуется устанавливать значение Свойства StrictDateEntry аналогично установке команды SET STRICTDATE.

См. также

Другие Ссылки

Команда COMPILE
Команда SET LOGERRORS
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET SYSFORMATS Command

Visual FoxPro 9.0 Описание Языка
SET SYSFORMATS, команда
См. также
CollapseAll image

Определяет, как используются системные установки OS Microsoft Windows для настройки системных параметров Visual FoxPro Windows.

SET SYSFORMATS ON | OFF

Параметры

ON

Определяет, что система Visual FoxPro использует системные настройки OS Windows, т.е. при изменении настроек Операционной системы - меняются настройки в VFP. SET SYSFORMAT ON соответствует отметке параметра Use System Settings , в закладке Regional / International, диалогового бокса Options. Обратите внимание, что при использовании SET SYSFORMAT ON, установка параметра SET DATE используется с опцией SHORT.

Данная установка действует в рамках текущей сессии данных; или для сессии данных, используемой "по-умолчанию".

OFF

(По-умолчанию) Определяет, что система Visual FoxPro не использует установки Операционной Системы.

Expand image Комментарии

Установка параметров для OS Windows осуществляется в разделе International, из Windows Control Panel (Панель Управления).

Когда выполняется SET SYSFORMATS ON, то следующие команды SET меняют установку своих параметров, соответственно "системным" параметрам. Тем не менее, изменение параметров OS Windows, при активности SET SYSFORMATS ON, влияет на следующие команды SET :

  • SET CENTURY

  • SET CURRENCY

  • SET DATE

  • SET DECIMALS

  • SET HOURS

  • SET MARK TO

  • SET POINT

  • SET SEPARATOR

При запуске системы Visual FoxPro, выполняются все необходимые настройки, команды SET. Для использовании системных насроек (настроек OS Windows) - включите в конфигурационный файл Visual FoxPro Config.fpw следующую строку:

CopyCode image Копировать Код
SYSFORMATS = ON

SET SYSFORMATS действует в рамках текущей сессии данных.

Expand image См. также

Описание

SET CENTURY, команда
SET CURRENCY, команда
SET DATASESSION, команда
SET DATE, команда
SET DECIMALS, команда
SET HOURS, команда
SET MARK TO, команда
SET POINT, команда
SET SEPARATOR, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET SYSMENU Command

Visual FoxPro 9.0 Описание Языка
SET SYSMENU, команда
См. также
CollapseAll image

Включает или Отключает системное меню Visual FoxPro на период выполнения программы; позволяет настраивать системное меню.

SET SYSMENU ON | OFF | AUTOMATIC | TO [MenuList] | TO [MenuTitleList]
   | TO [DEFAULT] | TO LTRJUSTIFY | TO RTLJUSTIFY | SAVE | NOSAVE

Параметры

ON

Включает системное меню Visual FoxPro; устанавливает период ожидания ввода с клавиатуры в таких командах как: BROWSE, READ, и MODIFY COMMAND.

OFF

Отключает системное меню Visual FoxPro при выполнении программного модуля. Данная опция, OFF, может использоваться только в программных модулях (.prg), только там будет работать.

Например, можно попробовать выполнить следующий программный код:

CopyCode image Копировать Код
SET SYSMENU OFF
WAIT
AUTOMATIC

Устанавливает "адаптивный" режим использования основного меню Visual FoxPro, при выполнении программного модуля. В этом случае системное меню пытается автоматически настраиваться под выполнение различных команд системы.

Данный параметр, AUTOMATIC, является параметром "по-умолчанию".

TO [MenuList] | TO [MenuTitleList]

Определяет список Подразделов главного меню Visual FoxPro, которые нужно использовать. Различные типы подразделов меню: menu bar, menu title указываются в списке в различных комбинациях, разделенных запятыми. Общий список подразделов меню приводится в Имена разделов системного меню.

Например, следующая команда удаляет все подразделы меню, за исключением File и Window:

CopyCode image Копировать Код
SET SYSMENU TO _MFILE, _MWINDOW

Для удаления конкретного пункта меню используется команда RELEASE BAR.

TO [DEFAULT]

Восстанавливает начальную конфигурацию системного меню. Если вы выполняли некоторые изменения и добавления системного меню, то данная команда SET SYSMENU TO DEFAULT - восстанавливает начальную конфигурацию. Обратите внимание, что заранее нужно выполнить команду SET SYSMENU SAVE.

TO LTRJUSTIFY | TO RTLJUSTIFY

Опция TO LTRJUSTIFY размещает команды меню в порядке "слева-на-право".

Опция TO RTLJUSTIFY размещает команды меню в порядке "справа-на-лево".

Данные опции доступны для версий ОС Windows Middle-Eastern.

Note Примечание

Вы можете использовать опцию RTLJUSTIFY в команде DEFINE POPUP , для создания пункта системного меню, размещенного в порядке "справа-на-лево".
SAVE

Указывает, что текущая конфигурация системного меню сохраняется со статусом "по-умолчанию". Если вы выполняли модификацию структуры системного меню после выполнения команды SET SYSMENU SAVE, то начальное состояние можно восстановить при помощи команды SET SYSMENU TO DEFAULT.

NOSAVE

Указывает, что системное меню не сохраняется. Однако, начальное состояние меню Visual FoxPro не будет отображено, пока не будет выполнена команда SET SYSMENU TO DEFAULT.

Expand image Комментарии

Команда SET SYSMENU управляет состоянием системного меню Visual FoxPro при выполнении программного модуля; активирует или удаляет отдельные разделы системного меню; восстанавливает начальную структуру системного меню.

Используйте команду SET SYSMENU TO, без параметров, для отключения системного меню Visual FoxPro.

Expand image См. также

Описание

POP MENU, команда
PUSH MENU, команда
RELEASE, команда
SYS(2013) - имена разделов Системного Меню

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET TABLEPROMPT Command

Visual FoxPro 9.0 Описание Языка
Команда SET TABLEPROMPT
См. также

Включает или отключает отображение специального Диалогового бокса открытия таблиц (Visual FoxPro) при выполнении пользователем команд выбора для открытия таблиц (или представлений), если они еще не откроыты.

SET TABLEPROMPT ON | OFF

Параметры

ON

(По-Умолчаниюt) Диалоговый бокс Открытия отображается при выполнении команд, осуществляющих открытие таблиц (или представлений) с данными (.dbf). SQL- команды (SELECT) системы Visual FoxPro просматривают все рабочие области в текущей рабочей сессии. Другие команды просматривают только текущую рабочую рбласть, или конкретно указанную область. В представленной таблице перечисляются команды, на которые распространяется действие команды SET TABLEPROMPT.

Команда SELECT - SQL

Команда DELETE - SQL

Команда INSERT - SQL

Команда UPDATE - SQL

Команда BROWSE

Команда GO | GOTO

Команда INDEX

Команда PACK

Команда REPLACE

Команда REPORT FORM

Команда SET FILTER

Команда SKIP

Команда ZAP

OFF

Диалоговый бокс Открытия таблиц (или представлений) подавляется при их открытии, и команды продолжают выполняться. При выполнении данных команд могут возникать ошибочные ситуации, например, типичными чвляются: File "name" does not exist (Error 1) (указанный файл отсутствует, или не найден), и No table is open in the current work area (Error 52) (в текущей рабочей области отсутствует открытая таблица) .

Комментарии

Для определения текущей установки Вы можете использовать функцию SET("TABLEPROMPT"). Вы можете также задать необходимую Вам установку (ON/OFF) для TABLEPROMPT в конфигурационном файле Config.fpw.

Данное средство поддерживается в COM -серверах (MTDLL и DLL), где пользователи не имеют соответствующего пользовательского интерфейса (диалогового бокса Открытия). Команда SET TABLEPROMPT обеспечивает соответствующую поддержку в Visual FoxPro. Вы можете использовать функцию SYS(2335) - независимый режим сервера для управления режимом модальности в COM -серверах.

См. также

Описание

Диалоговый бокс Открытия (Visual FoxPro)
Функция GETFILE( )
Специальные параметры в Файле Конфигурации

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET TABLEVALIDATE Command

Visual FoxPro 9.0 Описание Языка
SET TABLEVALIDATE, команда
См. также
CollapseAll image

Определяет уровень контроля целостности файла таблицы (.dbf). Используйте команду SET TABLEVALIDATE для тонкой настройки контроля целостности заголовка соответствующего файла, (в отличие от стандартной установки = +1+2).

SET TABLEVALIDATE TO [nLevel]

Параметры

nLevel

Определяет уровень контроля целостность таблицы, состоящий из нескольких подуровней.

Note Примечание

Значение по-умолчанию: nLevel = 3 (+1+2).

В следующей таблице приводится подробное описание структуры параметра nLevel.

Номер Бита Значение, (добавляемое) Описание

0

0

Контроль Таблицы не выполняется.

0

+1

Проверяется количество записей, при открытии таблицы.

Note Примечание

При проверке блокируется заголовок таблицы (.dbf). Данная операция может иметь отрицательный результат для таблиц, открытых в режиме коллективного использования, например, выполняется команда USE... с опцией SHARED, или выполняются команды SQL SELECT, UPDATE, INSERT, или DELETE, для еще неоткрытых таблиц, действует установка SET EXCLUSIVE = OFF.

1

+2

Проверка количества записей при добавлении и вставке; сохранении на диске, в файле.

2

+4

Подавляет ошибку "File is in use (Ошибка 3)", если заголовок не может быть блокирован, при открытии таблицы; требует дополнительную установку 1-го бита (+4+1) - для вычисления, проверки количесва записей.

Note Примечание

При открытии таблицы командой USE , выполняется попытка блокировки заголовка. Если заголовок блокируется, то Visual FoxPro строго проверяет целостность заголовка таблицы, аналогично SET TABLEVALIDATE = +1. В другом случае, Visual FoxPro подавляет сообщение "File is in use" и выполняет тестирование заголовка, как в младших версиях, менее чем Visual FoxPro 8.0.

3

+8

Сначала Проверка заголовка файла (.dbf), за тем - запись добавляемой информации на диск, а после - модификация заголовка.

Expand image Комментарии

SET TABLEVALIDATE не выполняет устранение ошибок; команда выполняет только проверку, в соответствии с заданным уровнем nLevel.

SET TABLEVALIDATE не действует для временных файлов и Курсоров.

Для задания параметра SET TABLEVALIDATE в файле конфигурации Config.fpw, разместите там следующую строку:

CopyCode image Копировать Код
TABLEVALIDATE = nLevel

Если таблицы открываются в режиме монопольного использования (exclusively), и установка SET TABLEVALIDATE >= 8, то данная установка игнорируется.

Expand image См. также

Описание

Общее описание команд SET
USE, команда
SELECT - SQL, команда
INSERT - SQL, команда
UPDATE - SQL, команда
DELETE - SQL, команда

Другие ссылки

Программирование коллективного доступа к данным
Команда (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET TALK Command

Visual FoxPro 9.0 Описание Языка
SET TALK, команда
См. также
CollapseAll image

Определяет, как система Visual FoxPro отображает результаты выполнения команд.

SET TALK ON | OFF | WINDOW [WindowName] | NOWINDOW

Параметры

ON

(по-умолчанию) Направляет сопровождающие сообщения (при выполнении команд) в главное окно Visual FoxPro, окно системных сообщений, в графическую строку Статуса, или пользовательское окно. Если ранее было выполнено SET TALK OFF, а теперь вы выполняете SET TALK ON, то вывод сопровождающих сообщений будет направлен по тем координатам (в то место), которое было определено ранее.

OFF

Блокирует вывод сопровождающих сообщений в главное окно Visual FoxPro, окно системных сообщений, графическую строку Статуса, или некоторое пользовательское окно. Обратите внимание, что данная установка (SET TALK OFF) - явлется установкой "по-умолчанию" для In-process .dll Automation Servers .

WINDOW [ WindowName]

Параметр WindowName определяет пользовательское окно, в котрое направляются сопровождающие сообщения. Вы должны заранее создать дополнительное окно, чтобы перенаправить в него вывод системной информации. Если указанное окно отсутствует, вывод направляется в главное окно Visual FoxPro.

NOWINDOW

Перенаправляет вывод в главное окно Visual FoxPro.

Expand image Комментарии

Следующие команды или процессы их выполнения генертруют Сопровождаемую информацию:

Команды
APPEND FROM | PACK
AVERAGE | REINDEX
CALCULATE | REPLACE
COPY TO | SELECT - SQL
COUNT | SORT
DELETE | SUM
INDEX | TOTAL

Рассматриваемая информация может быть выведена в главное окно Visual FoxPro, graphical status bar, пользовательское окно, или отключена вовсе.

Команда SET TALK "сообщает" системную информацию некоторыми порциями, объемы которых регулируются командой SET ODOMETER. Значение по-умолчанию SET ODOMETER = 100. Обратите внимание, что при установке SET TALK ON, система значительно замедляет выполнение команд, главное окно Visual FoxPro или пользовательское окно - должны быть быстро обновляемыми (активными, первого уровня). Если вам достаточно знать только итоговый результат выполнения одной из указанных команд, то отключите вывод системных сообщений SET TALK OFF, а за тем отобразите значение системной переменной _TALLY, после выполнения требуемой команды.

Команда SET TALK действует в рамках текущей сессии данных.

Expand image См. также

Описание

DEFINE WINDOW, команда
SET DATASESSION, команда
SET NOTIFY, команда
SET ODOMETER, команда
SYS(103) - установка Talk
_TALLY, системная переменная

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET TEXTMERGE Command

Visual FoxPro 9.0 Руководство по языку
Команда SET TEXTMERGE
См.также

Разрешает или запрещает вычисление значения полей, переменных, элементов массивов, функций и выражений, которые заключены в разделители, определяющие границы для слияния текста, а также определяет, куда направлять вывод результатов слияния текста.

SET TEXTMERGE [ON | OFF] [TO [FileName] MEMVAR VarName [ADDITIVE]]
 [WINDOW WindowName] [SHOW | NOSHOW]

Параметры

ON

Определяет, что поля, переменные, элементы массивов, функции и выражения, заключенные в разделители, задающие границы слияния текста вычисляются и выводятся, если они помещены в строках после символов \ или \\, либо в строках, находящихся между командами TEXT и ENDTEXT. Следующий короткий пример программы показывает, как содержимое переменной gcTodayDate и значения, возвращаемые функциями DATE( ) и TIME( ) вычисляются, когда командой SET TEXTMERGE задана установка ON. Переменная gcTodayDate, функции DATE( ) и TIME( ) вычисляются потому, что они заключены в разделители, задающие границы текстового слияния и команда SET TEXTMERGE задает установку ON.
Скопировать код
CLEAR
SET TALK OFF
STORE 'Сегодня: ' TO gcTodayDate
SET TEXTMERGE ON
\<<gcTodayDate>>
\\<<DATE( )>>
\Время:
\\ <<TIME( )>>
Здесь показан результат вывода при запуске программы 1 января 1998г:
Скопировать код
Сегодня: 01/01/98
Время: 10:55:19
OFF

(По умолчанию) Определяет, что поля, переменные, элементы массивов, функции и выражения выводятся так, как они записаны вместе с окружающими их разделителями, задающими границы слияния текста. Отметьте разницу в выводе результатов по сравнению с предыдущим примером когда командой SET TEXTMERGE задана установка OFF:
Скопировать код
CLEAR
SET TALK OFF
STORE 'Сегодня: ' TO gcTodayDate
SET TEXTMERGE OFF
\<<gcTodayDate>>
\\<<DATE( )>>
\Время:
\\ <<TIME( )>>
Здесь показан результат вывода этой программы:
Скопировать код
<<gcTodayDate>><<DATE( )>>
Время: <<TIME( )>>
TO [ FileName]

Определяет что вывод из строк, начинающихся символами \, \\ или находящихся между командами TEXT ... ENDTEXT направляется в текстовый файл. Помимо основного окна Visual FoxPro, куда текст по умолчанию направляется всегда, вы также можете направить вывод в текстовый файл, указав его имя в FileName. Если файл с указанным именем не существует, будет создан новый файл. Если файл с таким именем уже имеется и командой SET SAFETY задана установка ON, вы получите возможность перезаписать существующий файл. Текстовый файл открывается на низком уровне (low-level) и его дескриптор (handle) запоминается в системной переменной _TEXT. Вы можете закрыть файл, использовав команду SET TEXTMERGE TO без дополнительных аргументов. Если в системной переменной _TEXT ранее был запомнен дескриптор другого файла, этот файл будет закрыт.
MEMVAR VarName

Определяет имя переменной, в которую направляются результаты, получаемые при выводе посредством TEXTMERGE. Поскольку команда SET TEXTMERGE имеет глобальный диапазон действия и может распространяться на несколько процедур или методов, переменная, указанная в MEMVAR VarName может оказаться в некоторых из них недоступной. Но и в этом случае команда будет выполняться, ничего не направляя на вывод. Вы можете управлять видимостью MEMVAR VarName, объявляя переменную как PUBLIC или PRIVATE (а также LOCAL - прим. переводчика). Эта фраза может также приводить к рекурсии, которую вы можете предотвратить при помощи команды SET TEXTMERGE TO, как показано в в следующем примере:
Скопировать код
USE LABELS
STORE "" to myVar, myVar2

SET TEXTMERGE ON TO MEMVAR myVar && Выполнение TEXTMERGE начинается со следующей строки

\Hey Now
\<<date()>>

SCAN
 \ <<name>>
ENDSCAN

* Удалите комментарий со строки, содержащей SET TEXTMERGE TO предотвращая ошибку рекурсии
* с переменными myVar и myVar2.
* SET TEXTMERGE TO

TEXT TO myVar2
<b> Здесь кое-что на HTML. </b>
Это HTML
 <<date()>>
ENDTEXT

SET TEXTMERGE OFF
USE

CLEAR
? myVar && Результат TEXTMERGE помещен в переменные
? myVar2
ADDITIVE

Определяет что вывод из строк, начинающихся символами \, \\ или находящихся между командами TEXT ... ENDTEXT добавляется к содержимому существующего файла или переменной памяти. Для дальнейшей информации по направлению вывода при слиянии текста см. _TEXT System Variable.

WINDOW WindowName

Определяет что вывод из строк, начинающихся символами \, \\ или находящихся между командами TEXT ... ENDTEXT направляется в определенное пользователем окно, а не в главное окно Visual FoxPro, как это принято по умолчанию. WindowName определяет имя окна, в которое направляется вывод. Окно должно быть создано командой DEFINE WINDOW перед тем, как в него будет направлен вывод. Окно обязательно должно быть активным или видимым.
SHOW | NOSHOW

(По умолчанию) SHOW делает видимым вывод результатов текстового слияния. NOSHOW подавляет вывод результатов. По умолчанию вывод, формируемый командами \, \\ и TEXT ... ENDTEXT посылается в главное окно Visual FoxPro или активное окно, определенное пользователем.

Замечания

Команды \, \\ и TEXT ... ENDTEXT используются для слияния текста с содержимым таблиц, переменных, элементов массивов, значений, возвращаемых функциями и выражений. Если поле, переменная, элемент массива, функция или выражение заключено в ограничители, определяющие текстовое слияние (по умолчанию << и >>), оно может быть вычислено и слито с текстом. Эта возможность позволяет вам создавать письма, программы и шаблоны для создания программ.

Коменда SET TEXTMERGE определяет, как вычисляются поля, переменные, элементы массива, функции или выражения, заключенные в ограничители, определяющие текстовое слияние. Она также позволяет вам направлять вывод в главное окно Visual FoxPro, окно, определенное пользователем или в файл.

Поля типа memo также могут служить источником для текстового слияния. Если поле memo содержит имена полей, переменных, элементов массива, функций или выражений, заключенных в ограничители, определяющие текстовое слияние, их значения вычисляются и результат сливается с содержимым поля типа memo. Само поле типа memo также должно быть заключено в ограничители, определяющие текстовое слияние.

См.также

Команды \ | \\
Системная переменная _PRETEXT
Команда SET TEXTMERGE DELIMITERS
Функция TEXTMERGE( )
Команда TEXT ... ENDTEXT
Команды
Справка по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET TEXTMERGE DELIMITERS Command

Visual FoxPro 9.0 Описание Языка
SET TEXTMERGE DELIMITERS, команда
См. также
CollapseAll image

Определяет набор текстовых разделителей, которые используются взамен стандартных разделителей текста в специалных командах.

SET TEXTMERGE DELIMITERS [TO cLeftDelimiter [, cRightDelimiter]]

Параметры

[TO cLeftDelimiter[, cRightDelimiter]]

Определяет новые разделители, ограничители текста. Для каждого разделителя-ограничителя можно задавать не более чем двусимвольное выражение. По-умолчанию, символами ограничителями-разделителями являются "двойные уголки" (<< и >>), соответственно левый и правый.

Note Примечание

Если вы определяете в качестве разделителей только один параметр, для первого параметра cLeftDelimiter, то данный набор символов используется для обоих разделителей, как левого , так и правого. Если вы задаете оба параметра cLeftDelimiter и cRightDelimiter, то первый набор символов устанавливается для левого разделителя, а второй набор символов для правого параметра cRightDelimiter.
Note Совет

Для восстановления начальных, стандартных символов разделителей-ограничителей используйте команду SET TEXTMERGE DELIMITERS , без параметров.

Expand image Комментарии

Для определения текущего разделителя, используйте команду DISPLAY STATUS.

См. дополнительные разделы SET TEXTMERGE, команда.

Expand image См. также

Описание

\ | \\, команда
_PRETEXT, системная переменная
SET TEXTMERGE, команда
_TEXT, системная переменная

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET TOPIC Command

Visual FoxPro 9.0 Описание Языка
SET TOPIC, команда
См. также
CollapseAll image

Определяет раздел или разделы подсистемы Помощи, открываемые при вызове данной подсистемы Помощи (Visual FoxPro Help system).

SET TOPIC TO [cHelpTopicName | lExpression]

Параметры

cHelpTopicName

Определяет имя подраздела Помощи, который должен быть отображен.

lExpression

Есть логическое выражение, определяющее открытие некоторой темы подсистемы Помощи.

Expand image Комментарии

Expand image См. также

Описание

HELP, команда
SET HELP, команда
SET TOPIC ID, команда

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET TOPIC ID Command

Visual FoxPro 9.0 Описание Языка
Команда SET TOPIC ID
См. также

Определяет раздел подсистемы помощи Visual FoxPro, который будет отображен при ее вызове. Данный раздел описывается в опции ID.

SET TOPIC ID TO nHelpContextID

Параметры

nHelpContextID

Определяет раздел подсистемы помощи, обозначенный числовым выражением в опции ID. Параметр nHelpContextID определяет номер раздела в секции MAP в проекте подсистемы Help.

См. также

Другие ссылки

Команда SET HELP
Команда SET TOPIC
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET TRBETWEEN Command

Visual FoxPro 9.0 Описание Языка
SET TRBETWEEN, команда
См. также
CollapseAll image

Включает или Отключает режим Трассировки между точками прерывания (остановки) выполнения программного модуля (breakpoints), в системном Окне Trace.

SET TRBETWEEN ON | OFF

Параметры

ON

Определяет, что строки выполняемого программного модуля отображаются в системном окне Trace, а текущая строка - подсвечивается, выделяется. Выполнение команды, с данным параметром, SET TRBETWEEN ON - соответствует установке (включению) параметра Trace Between Breaks, в программном (коротком) меню, системного окна Trace.

OFF

(по-умолчанию) Определяет, что только текущая, выполняемая строка программы подсвечивается (выделяется) в системном окне Trace. Выполнение команды SET TRBETWEEN OFF - соответствует выключению опции Trace Between Breaks, (в соответствующем меню), см. выше.

Expand image Комментарии

Системное окно Trace отображает исходный текст выполняемой в данный момент программы; выполняемая строка программы - подсвечивается. При открытом окне Trace, вы можете установить контрольные точки останова выполнения программы, для проведения тестирования, проверки значений переменных.

Системное окно Trace может быть открыто программным способом, при помощи следующих команд: ACTIVATE WINDOW TRACE, SET ECHO ON, или SET STEP ON, или с помощью системного меню: Tools-Debug...

Expand image См. также

Описание

ACTIVATE WINDOW, команда
SET ECHO, команда
SET STEP, команда
Общее описание команд SET

Другие ссылки

Команда (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET TYPEAHEAD Command

Visual FoxPro 9.0 Описание Языка
SET TYPEAHEAD, команда
См. также
CollapseAll image

Определяет максимальный размер (количество символов), размещаемых в буфере Ввода данных (type-ahead buffer).

SET TYPEAHEAD TO nCharacters

Параметры

nCharacters

Определяет максимальное количество символов, помещаемых в буфер Ввода.

При выполнении команды SET TYPEAHEAD TO 0 - никакие символы невозможно ввести с клавиатуры. Данная команда деактивирует выполнение функции INKEY( ), и команды ON KEY.

Expand image Комментарии

Максимально допустимое значения буфера ввода = 32,000 символов, которые могут ожидать обработки их системой. По-умолчанию, SET TYPEAHEAD = 20.

Expand image См. также

Описание

INKEY( ), функция
ON KEY, команда
TYPE, команда
Общее описание команд SET

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET UDFPARMS Command

Visual FoxPro 9.0 Описание Языка
Команда SET UDFPARMS
См. также Пример

Определяет, как система Visual FoxPro передает параметры в пользовательские функции и прцедуры (UDFs): по-значению или по-ссылке.

SET UDFPARMS TO VALUE | REFERENCE

Параметры

TO VALUE

(По-умолчанию) В качестве параметров передаются значения переменных. В этом случае, в процедуре или в функции параметры могут быть изменены, однако оригинальные значения соответствующих переменных в вызывающей процедуре не будут изменены.
Примечание:
Использование команды SET UDFPARMS TO VALUE не влияет на опцию WITH в команде DO , где по-умолчанию параметры передаются по-ссылке.

TO REFERENCE

Параметры передаются по-ссылке. Когда параметры передаются по-ссылке, в вызываемой процедуре они могут быть изменены, тогда и вызавающие параметры, в вызываемой процедуре, соответственно изменяют свои значения.

Комментарии

Независимо от установки в этой команде SET UDFPARMS, Вы можете управлять вариантом передачи параметров. Для этого см. дополнительно How to: Передача параметров по-ссылке и How to: Передача параметров по-значению.

Пример

Представленный пример иллюстирирует отличие в передаче параметров по-ссылке или по-значению.

Копировать код
*** Pass variable by value. ***
CLEAR
SET TALK OFF
WAIT 'Press a key to pass by value' WINDOW
SET UDFPARMS TO VALUE
STORE 1 TO gnX

*** The value of gnX does not change. ***
@ 2,2 SAY 'UDF value: ' + STR(plusone(gnX))
@ 4,2 SAY 'Value of gnX: ' + STR(gnX)

*** Pass variable by reference ***
WAIT 'Press a key to pass by reference' WINDOW
CLEAR
SET UDFPARMS TO REFERENCE
STORE 1 TO gnX
*** The value of gnX changes. ***
@ 2,2 SAY 'UDF value: ' + STR(plusone(gnX))
@ 4,2 SAY 'Value of X: ' + STR(gnX)
SET UDFPARMS TO VALUE

*** This is a UDF that adds one to a number ***
FUNCTION plusone
PARAMETER gnZ
gnZ = gnZ + 1
RETURN gnZ
*** End of UDF ***

Следующий пример демонстрирует передачу параметров по-значению, с использованием круглых скобок, и использование специального символа @ для указания, что параметры передаются по-ссылке.

Копировать код
*** Pass variable by value ***
CLEAR
SET TALK OFF
WAIT 'Press a key to pass by value' WINDOW
STORE 1 TO gnX
@ 2,2 SAY 'UDF value: ' + STR(plusone((gnX)))
@ 4,2 SAY 'Value of gnX: ' + STR(gnX)

*** Pass variable by reference ***
WAIT 'Press a key to pass by reference' WINDOW
CLEAR
STORE 1 TO gnX
@ 2,2 SAY 'UDF value: ' + STR(plusone(@gnX))
@ 4,2 SAY 'Value of gnX: ' + STR(gnX)

*** This is a UDF that adds one to a number ***
FUNCTION plusone
PARAMETER gnZ
gnZ = gnZ + 1
RETURN gnZ
*** End of UDF ***

См. также

Другие ссылки

Передача данных как параметров
Параметры в процедурах и функциях
Общее описание команды SET
Команды

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET UNIQUE Command

Visual FoxPro 9.0 Описание Языка
Команда SET UNIQUE
См. также

Определяет возможность исключения из индексного файла повторяющихся значений индексного выражения.

SET UNIQUE ON | OFF

Параметры

ON

Определяет, что записи с одинаковыми значениями ключевого поля (или выражения) не включаются в таблицу индекса (тэг индексного файла). В индексный Тэг включается только первая запись с данным значением ключевого выражения.
OFF

(По-умолчанию) Определяет, что все записи с одинаковым значением индексного выражения включаются в Тэг индекса.

Комментарии

В индексном файле, при использовании команды REINDEX сохраняется текущая установка SET UNIQUE. Для дополнительной информации см. разделы INDEX и REINDEX.

Установка команды SET UNIQUE действует на текущий сеанс работы системы VFP.

См. также

Другие Ссылки

Функция UNIQUE( )
Функция ATAGINFO( )
Команда SET DATASESSION
Общее описание команды SET
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET VARCHARMAPPING Command

Visual FoxPro 9.0 Описание Языка
Команда SET VARCHARMAPPING
См. также

Определяет, как представляются данные типа VarChar в результатах выполнения SQL-запросов.

SET VARCHARMAPPING ON | OFF

Параметры

ON

Символьные данные представляются в соответствие со схемой Тип полей Varchar .
OFF

(По-умолчанию) Символьные данные преобразуются в результатах запросов в обычном виде.

Комментарии

Данная команда SET VARCHARMAPPING определяет, как представлены символьные данные в результатах SQL-запросов при использовании Команды SELECT - SQL и/или e Дизайнеров Query и View .

В тех случаях, когда Вам необходимо иметь результате символьные данные фиксированной длины, то устанавливайте SET VARCHARMAPPING в OFF, тогда данные символьного типа преобразуются в соответствующий фиксированный формат.

В представленных ниже примерах символьные выражения преобразуются соответствующим образом при использовании команды SET VARCHARMAPPING OFF. Заметим , что это обеспечивает "обратную" совместимость с версией Visual FoxPro 8.0, и другими младшими версиями.

Копировать Код
SELECT * FROM customers
***   -или-
SELECT companyname, contactname FROM customers

В следующем примере показано, что присутствие символьных выражений данных означает, что установка результата запроса будет содержать символьные данные переменной длины. Для это Вам необходимо использовать переменную типа Varchar. Значит нужно использовать команду SET VARCHARMAPPING ON.

Копировать Код
SELECT ALLTRIM(companyname), ALLTRIM(contactname) FROM customers

Команда SET VARCHARMAPPING устанавливает преобразование данных, используя соответствующие функции PADL( ) | PADR( ) | PADC( ) , в которых второй параметр не является константой..

Копировать Код
SELECT LEN(PADR(field1,field2)) FROM customers INTO CURSOR tmpcusts

Команда SET VARCHARMAPPING действуеь только в текущем сеансе работы VFP. Данная команда поддерживается и в интерактивном режиме и в режиме выполнения RunTime. Она может также содержаться в установочном файле Config.fpw. См. дополнительно Специальные установки в Конфигурационном файле .

Если Вы используете вычисляемые поля, которые могут быть указаны в команде SET FIELDS, настройка VARCHARMAPPING повлияет, как эти поля будут обрабатываться. Если вычисляемое символьное поле будет оцениваться как символьная строка переменной длины, это означает , что выполняется установка SET VARCHARMAPPING ON. Это может повлиять в дальнейшем на использование, например
команды COPY TO .

Копировать Код
SET VARCHARMAPPING ON
SET SAFETY OFF
CLOSE DATABASES ALL
USE HOME(2) + 'Northwind\Customers'
SET FIELDS GLOBAL
SET FIELDS TO cField = ALLTRIM(CompanyName)
COPY TO crsTemp
SET FIELDS LOCAL
SET FIELDS OFF
SET FIELDS TO
SELECT 0
USE crsTemp
LIST STRUCTURE

См. также

Описание

Данные и типы Полей в Visual FoxPro
Команда SELECT - SQL

Другие Ссылки

Дизайнеры Запросов и Представлений

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET VIEW Command

Visual FoxPro 9.0 Описание Языка
Команда SET VIEW
См. также

Открывает или Закрывает окно (Data Session), или восстанавливает параметры окружения Visual FoxPro из файла представления (View).

SET VIEW ON | OFF
-или-
SET VIEW TO FileName | ?

Параметры

ON

Открывает окно Data Session (Сессия данных).
OFF

(По-умолчанию) Закрывает окно Data Session (Сессия данных).
TO FileName

Восстанавливает среду окружения (данных) Visual FoxPro из указанного файла FileName. Данный файл был создан ранее командой CREATE VIEW.
?

Открывает диалоговый бокс открытия файла окружения.

Комментарии

Для дополнительной информации см. команду CREATE VIEW.

См. также

Другие Ссылки

Общее описание команды SET
Окно Data Session
Команды
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SHOW MENU Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SHOW MENU
Смотрите также Пример
CollapseAll image

Отображает одну или несколько определенных пользователем строк меню, не активизируя их.

SHOW MENU MenuBarName1 [, MenuBarName2 ...] | ALL   [PAD MenuTitleName]
   [SAVE]

Параметры

MenuBarName1 [, MenuBarName2 ...]

Задает имя или имена строк меню, которые требуется отобразить.

ALL

Отображает все определенные на данный момент строки меню.

PAD MenuTitleName

Задает заголовок меню, который нужно высветить в строке меню.

SAVE

Оставляет изображение заданных строк меню, не активизируя их. Вы можете удалить изображения строк меню с экрана командой CLEAR.

Expand image Примечания

Строки меню отображаются, но ими нельзя пользоваться. Прежде чем отображать строки меню, их нужно создать командой DEFINE MENU.

Expand image Пример

CopyCode image Copy Code
CLEAR
DEFINE MENU mnuExample BAR AT LINE 2
DEFINE PAD padConv OF mnuExample PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD padCard OF mnuExample PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
SHOW MENU mnuExample

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE MENU
Команда CREATE MENU
Команда DEFINE MENU

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SHOW POPUP Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SHOW POPUP
Смотрите также
CollapseAll image

Отображает одно или несколько меню, определенных с помощью команды DEFINE POPUP, не активизируя их.

SHOW POPUP MenuName1 [, MenuName2 ...] | ALL    [SAVE]

Параметры

MenuName1 [, MenuName2 ...]

Задает имя или имена меню, которые нужно отобразить.

ALL

Отображает все определенные на данный момент меню.

SAVE

Оставляет изображение заданных меню, не активизируя их. Изображения меню можно убрать с экрана командой CLEAR.

Expand image Примечания

Меню отображаются на экране, но ими нельзя пользоваться. Прежде чем показывать меню, их сначала нужно создать с помощью команды DEFINE POPUP.

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE POPUP
Команда DEFINE POPUP
Команда DEACTIVATE POPUP
Команда CLEAR

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SHOW WINDOW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SHOW WINDOW
Смотрите также Пример
CollapseAll image

Отображает одно или несколько пользовательских или системных окон Visual FoxPro, не активизируя их.

SHOW WINDOW WindowName1 [, WindowName2 ...] | ALL | SCREEN
   [IN [WINDOW] WindowName3   [REFRESH]   [TOP | BOTTOM | SAME]   [SAVE]

Параметры

WindowName1 [, WindowName2...]

Задает имя или имена окон, которые следует отобразить.

ALL

Отображает все пользовательские окна.

SCREEN

Отображает основное окно Visual FoxPro, когда оно скрыто. Вы также можете отобразить основное окно Visual FoxPro, выбрав Screen в меню Window. Вы можете скрыть основное окно Visual FoxPro, щелкнув его кнопку закрытия или выдав команду DEACTIVATE WINDOW SCREEN, HIDE WINDOW SCREEN, или RELEASE WINDOW SCREEN.

IN [WINDOW] WindowName3

Отображает окно внутри родительского окна, заданного именем WindowName3. Данное окно не перенимает характеристики родительского окна. Окно, отображенное внутри родительского окна, не может быть выдвинуто за пределы последнего. При перемещении родительского окна дочернее окно движется вместе с ним.

Родительское окно WindowName3 должно быть предварительно создано с помощью команды DEFINE WINDOW.

IN SCREEN

Явно отображает окно не в другом окне, а в основном окне Visual FoxPro. По умолчанию окна размещаются в основном окне Visual FoxPro.

REFRESH

Заново рисует окно просмотра. Этой опцией удобно пользоваться в сети, чтобы гарантировать просмотр самой свежей версии таблицы. При этом выбирается рабочая область с таблицей окна просмотра.

Окна редактирования memo-полей обновляются, отражая изменения, внесенные в memo-поле другими пользователями в сети. Команда SET REFRESH определяет интервал между обновлениями окна редактирования memo-поля. Подробнее о том, как обновляются данные в таблицах, открытых для коллективного пользования в сети, смотрите SET REFRESH.

TOP

Помещает заданное окно впереди всех остальных окон.

BOTTOM

Помещает заданное окно позади всех остальных окон.

SAME

Возвращает заданное окно в стек окон на то же место, которое оно занимало перед деактивизацией. Предложение SAME воздействует только на окна, которые были перед этим отображены или активизированы, а затем удалены из основного окна Visual FoxPro командой DEACTIVATE WINDOW.

SAVE

Сохраняет изображение окна в основном окне FoxPro или в другом окне после освобождения данного окна. Обычно освобождаемые окна удаляются из основного окна FoxPro. Убрать изображение окна из основного окна FoxPro или из другого окна можно с помощью команды CLEAR.

Expand image Замечания

Команда SHOW WINDOW управляет отображением окон и их размещением на экране по фронту. Если окно скрыто или не активизировалось, SHOW WINDOW отображает окно, не активизируя его. Если в данный момент уже отображаются одно или несколько окон, SHOW WINDOW позволяет изменить порядок их расположения друг за другом.

Вы также можете отображать системные окна, например окно команд.

В Visual FoxPro команду SHOW WINDOW можно использовать для отображения панелей инструментов. С помощью команды HIDE WINDOW панель инструментов можно удалить из окна FoxPro. Панель инструментов может отображаться только, если она активна. В следующей таблице перечислены панели инструментов Visual FoxPro и их имена, которыми следует пользоваться в командах SHOW WINDOW и HIDE WINDOW. Заключите имя панели инструментов в кавычки.

Имя панели инструментов |  |
Color Palette | Layout | Report Designer
Database Designer | Print Preview | Standard
Form Controls | Query Designer | View Designer
Form Designer | Report Controls |

Чтобы отобразить системное окно, введите полное имя этого окна, заключенное в кавычки.

Команда SHOW WINDOW не позволяет направить вывод в пользовательское окно. Чтобы направить вывод в пользовательское окно, созданное по команде DEFINE WINDOW, пользуйтесь командой ACTIVATE WINDOW.

Исторически, в младших версиях Visual FoxPro, окно Data Session всегда отождествлялось с окном View. К тому же, соответствующие команды HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), также управляют данным окном. Система Visual FoxPro продолжает поддерживать управление окна View при помощи команды SHOW WINDOW.

Expand image Пример

В следующем примере создается и отображается окно wOutput1. Поскольку для отображения окна используется команда SHOW WINDOW , в это окно нельзя направить вывод, пока оно не будет активизировано.
CopyCode image Copy Code
CLEAR
DEFINE WINDOW wOutput1 FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
SHOW WINDOW wOutput1

Expand image Смотрите также

Справочное руководство

Команнда ACTIVATE WINDOW
Команнда DEFINE WINDOW
Команнда CLEAR

Прочие ресурсы

Команнды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SIZE POPUP Command

Visual FoxPro 9.0 Справочник Языка
SIZE POPUP Команда
См. Также Пример

Изменяет размер меню, созданного DEFINE POPUP.

SIZE POPUP MenuName TO nRow1, nColumn1 | BY nRow2, nColumn2

Параметры

MenuName

Определяет имя меню, размер которого Вы хотите изменить.
TO nRow1 , nColumn1

Изменяет размер меню до определенного размера. nRow1 и nColumn1 определяют новую строку и координаты столбца соответственно, для нижнего правого угла меню.
BY nRow2 , nColumn2

Изменяет размер меню относительно его текущего размера. nRow2 и nColumn2 определяют изменение в размерах меню в строках и столбцах, относительно координат текущей строки и столбца нижнего правого угла меню.

Замечания

Если определяемое пользователем меню было создано, то его размер может быть изменен; оно не должно быть обязательно активным или видимым.

Пример

Этот пример создает меню, содержащее имена файлов с расширением .prg и передвигает, увеличивает и уменьшает меню перед его закрытием.

Скопировать код
CLEAR
DEFINE POPUP popMovIn FROM 2,2 TO 7, 14 PROMPT FILES LIKE *.PRG ;
   TITLE 'Programs'
ACTIVATE POPUP popMovIn NOWAIT
=CHRSAW(2)
MOVE POPUP popMovIn BY 5,5     && Move popup down
=CHRSAW(2)
SIZE POPUP popMovIn BY 5,5  && Enlarge the popup
=CHRSAW(2)
SIZE POPUP popMovIn BY -5,-5  && Shrink the popup
=CHRSAW(2)
MOVE POPUP popMovIn BY -5,-5  && Move popup up
=CHRSAW(2)
DEACTIVATE POPUP popMovIn
RELEASE POPUP popMovIn

См. Также

Другие Ресурсы

ACTIVATE POPUP Команда
CLEAR Команды
DEFINE POPUP Команда
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SIZE WINDOW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команды SIZE WINDOW
Смотрите также
CollapseAll image

Изменяет размер окна, созданного командой DEFINE WINDOW, или системного окна Visual FoxPro.

SIZE WINDOW WindowName TO nRow1, nColumn1 | BY nRow2, nColumn2

Параметры

WindowName

Задает имя окна, размер которого вы собираетесь изменить.

Чтобы изменить размер системного окна, задайте его полное имя в кавычках. Например, чтобы увеличить размер окна команд на 1 строку и 1 столбец, выдайте следующую команду:

CopyCode image Copy Code
SIZE WINDOW 'Command Window' BY 1,1

Заметьте, что можно изменить размер только окна команд, окна отладки и окна трассировки.

TO nRow1, nColumn1

Меняет размер окна на новое конкретное значение. Параметры nRow1 и nColumn1 задают новые координаты соответственно по строкам и по столбцам для правого нижнего угла окна относительно левого верхнего угла.

BY nRow2, nColumn2

Изменяет размер окна относительно его текущего значения. Параметры nRow2 и nColumn2 задают величину изменения в строках и столбцах, выраженную относительно текущих координат правого нижнего угла окна по строкам и столбцам.

Expand image Примечания

Если было создано пользовательское окно, его размер изменить нельзя; такое окно не обязательно должно быть активным или видимым.

Expand image Смотрите также

Справочное руководство

Команды ACTIVATE WINDOW
Команды DEFINE WINDOW
Команды ZOOM WINDOW

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SKIP Command

Visual FoxPro 9.0 Справка по языку
Команда SKIP
См.также Пример

Перемещает указатель записи в таблице вперед или назад.

SKIP [nRecords] [IN nWorkArea | cTableAlias]

Параметры

nRecords

Указывает количество записей, на которое перемещается указатель записи. Использование SKIP без указания nRecords продвигает указатель к следующей записи. Указатель записи смещается в направлении к концу таблицы, если параметр nRecords имеет положительное значение. Указатель записи смещается в направлении к началу таблицы, если параметр nRecords имеет отрицательное значение. Если указатель записи установлен на последнюю запись в таблице и используется команда SKIP без указания параметра nRecords, функция RECNO( ) вернет значение, на 1 превышающее количество записей в таблице, а функция EOF( ) вернет Истинно (.T.). Если указатель записи установлен на первую запись в таблице и используется команда SKIP -1, функция RECNO( ) вернет значение, 1, а функция BOF( ) вернет Истинно (.T.).
IN nWorkArea | cTableAlias

Перемещает указатель записи в таблице, открытой в указанной рабочей области. Параметр nWorkArea указывает номер рабочей области, а параметр cTableAlias указывает алиас таблицы, открытой в рабочей области.

Примечания

Если таблица имеет активный управляющий индексный тег или индексный файл, команда SKIP перемещает указатель по записям в порядке их следования, определенном индексным выражением.

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Открытие таблицы "Клиенты"
CLEAR

SKIP 4 IN 'customer'
? RECNO('customer') && Отображается 5
GO BOTTOM
SKIP -5
? RECNO( )

См.также

Команда GO | GOTO
Команда SET SKIP
Команды CLEAR
Команды
Справка по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SORT Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда SORT
Смотрите также
CollapseAll image

Сортирует записи в выбранной в данный момент таблице и выводит отсортированные записи в новую таблицу.

SORT TO TableName ON FieldName1 [/A | /D] [/C]
   [, FieldName2 [/A | /D] [/C] ...]   [ASCENDING | DESCENDING]
   [Scope] [FOR lExpression1] [WHILE lExpression2]
   [FIELDS FieldNameList   | FIELDS LIKE Skeleton
   | FIELDS EXCEPT Skeleton]   [NOOPTIMIZE]

Параметры

TableName

Задает имя новой таблицы, предназначенной для отсортированных записей. Visual FoxPro предполагает, что файлы таблиц имеют расширение имени .dbf. Расширение .dbf присваивается автоматически, если вы задали имя файла без расширения.

ON FieldName1

Задает поле в выбранной в данный момент таблице, на базе которого будет производиться сортировка. Содержимое и тип этого поля будут определять порядок записей в новой таблице. По умолчанию сортировка производится в возрастающем порядке. Нельзя проводить сортировку по полям типа Memo или General.

Следующий пример сортирует таблицу по полю cust_id. Таблица customer открывается, затем она сортируется, создавая новую таблицу temp. Записи в таблице temp упорядочены по полю cust_id.

CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens Customer table
CLEAR
LIST FIELDS company, cust_id NEXT 3
SORT TO temp ON cust_id
USE temp
LIST FIELDS company, cust_id NEXT 3
WAIT WINDOW 'Now sorted on CUST_ID' NOWAIT

Можно задать имена еще нескольких полей (FieldName2, FieldName3), чтобы дополнительно упорядочить новую таблицу. Первое поле FieldName1 является полем первичной сортировки, второе поле FieldName2 - полем вторичной сортировки и т.д.

[/A | /D] [/C]

Для каждого поля, участвующего в сортировке, можно указать возрастающий или убывающий порядок сортировки. /A задает возрастающий порядок для данного поля, /D ѕ убывающий порядок. Опцию /A или /D можно задать для поля любого типа.

По умолчанию порядок сортировки по символьному полю определяется с учетом регистра символов. Если после имени символьного поля задать опцию /C, регистр будет игнорироваться. Опцию /C можно указывать в сочетании с опцией /A или /D: например /AC или /DC.

В следующем примере создается новая таблица clients. Таблица orders сортируется по полю order_date в возрастающем порядке и по полю freight в убывающем порядке.

CopyCode image Copy Code
USE orders
SORT TO clients ON order_date/A,freight/D
ASCENDING

Задает возрастающий порядок для всех полей, для которых не указана опция /D.

DESCENDING

Задает убывающий порядок для всех полей, для которых не указана опция /A.

Если опустить ASCENDING и DESCENDING, порядок сортировки по умолчанию будет возрастающим.

Scope

Задает диапазон сортируемых записей. Диапазон задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST.

По умолчанию областью действия команды SORT являются все записи (предложение ALL).

FOR lExpression1

Задает сортировку только тех записей текущей таблицы, для которых логическое условие lExpression1 имеет значение "истина" (.T.). Предложение FOR позволяет выполнять условную сортировку, отсеивая ненужные записи.

Запрос, созданный командой SORT ... FOR, может быть оптимизирован по технологии Rushmore, если lExpression1 является оптимизируемым выражением. Для получения наивысшей производительности используйте в предложении FOR оптимизируемое выражение.

О выражениях, допускающих оптимизацию по технологии Rushmore, смотрите Оптимизация приложений.

WHILE lExpression2

Задает условие, в соответствии с которым записи из текущей таблицы включаются в процесс сортировки, пока логическое выражение lExpression2 остается истинным (.T.).

FIELDS FieldNameList

Задает поля исходной таблицы, которые следует включить в новую таблицу, создаваемую командой SORT. Если опустить предложение FIELDS, в новую таблицу включаются все поля исходной таблицы.

FIELDS LIKE Skeleton

Указывает, что в новую таблицу, создаваемую командой SORT, следует включить те поля исходной таблицы, которые соответствуют шаблону Skeleton.

FIELDS EXCEPT Skeleton

Указывает, что в новую таблицу, создаваемую командой SORT, следует включить все поля исходной таблицы, кроме тех, которые соответствуют шаблону Skeleton.

В шаблоне имен полей Skeleton можно использовать символы подстановки. Например, чтобы задать включение в новую таблицу всех полей, имена которых начинаются на буквы A и P, воспользуйтесь следующей командой:

CopyCode image Copy Code
SORT TO mytable ON myfield FIELDS LIKE A*,P*

Предложение LIKE может действовать в сочетании с предложением EXCEPT:

CopyCode image Copy Code
SORT TO mytable ON myfield FIELDS LIKE A*,P* EXCEPT PARTNO*
NOOPTIMIZE

Блокирует оптимизацию операции SORT по технологии Rushmore.

Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Expand image Замечания

Порядок записей, вставляемых в новую таблицу, определяется одним или несколькими заданными полями текущей таблицы.

Caution note Внимание

Убедитесь, что у вас достаточно места на диске, чтобы разместить новую таблицу и временные рабочие файлы, создаваемые в процессе сортировки. Для выполнения сортировки может потребоваться пространство на диске, втрое превышающее размер исходной таблицы. бъем свободного места на диске можно определить с помощью функций DISKSPACE( ) и SYS(2020). Если вам не хватило места на диске в процессе сортировки, Visual FoxPro отобразит предупреждение об ошибке и временные рабочие файлы будут удалены.

Поля символьного типа, содержащие цифры и пробелы, могут оказаться отсортированными не в том порядке, на какой вы рассчитываете. Числовые поля заполняются справа налево, и пустые позиции остаются слева. Символьные поля, напротив, заполняются слева направо, и пустые позиции остаются справа.

Например, если две записи в таблице включают символьное поле, которое в одной записи содержит число 1724, а в другой 18, и таблица сортируется по этому полю в возрастающем порядке, то запись с числом 1724 окажется перед записью с числом 18. Это объясняется тем, что Visual FoxPro считывает символы в поле символьного типа слева направо, и поскольку 17 (от числа 1724) меньше, чем 18, первым будет поставлено число 1724. Чтобы избежать подобных проблем, ставьте перед меньшими числами начальные нули (0018) или делайте такие поля числовыми.

Expand image Смотрите также

Справочное руководство

Команда COPY FILE
Функция DISKSPACE( )
Команда INDEX
SYS(2020) - Свободное место на текущем диске

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


STORE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда STORE
Смотрите также Пример
CollapseAll image

Сохраняет данные в переменной памяти, массиве или в элементе массива.

STORE eExpression TO VarNameList | ArrayNameList-or-
VarName | ArrayName = eExpression

Параметры

eExpression

Задает выражение, значение которого записывается в переменную памяти, массив или элемент массива. Если переменной памяти не существует, она создается и инициализируется значением eExpression. Массив необходимо предварительно определить с помощью команды DIMENSION. Содержимое существующей переменной памяти, массива или элемента массива команда STORE замещает новым значением.

VarNameList

Задает список переменных памяти или элементов массива, в которых сохраняется значение eExpression. Имена элементов массива следует разделять запятыми.

ArrayNameList

Задает список имен существующих массивов, в которых сохраняется значение eExpression. Разделяйте имена массивов запятыми.

Если установка SET COMPATIBLE имеет значение OFF, команда STORE инициализирует каждый элемент в этих массивах заданным значением. Если действует SET COMPATIBLE ON, команда STORE сохраняет заданное значение в переменных памяти, записывая его поверх содержимого существующих массивов с теми же именами.

Expand image Примечания

Альтернативным вариантом команды STORE является оператор присваивания в виде знака равенства (=). Переменная памяти, массив или элемент массива должны располагаться слева от знака равенства, а задаваемое значение ѕ справа.

Даты можно записывать в переменные памяти, массивы или элементы массива непосредственно, используя скобки:

CopyCode image Copy Code
STORE {^1998-12-25} TO gdXMas

Максимальное число переменных памяти или массивов, которые вы можете создать, приведено в Системные Возможности Visual FoxPro. Этот предел можно увеличить или уменьшить с помощью файла конфигурации Visual FoxPro. Подробнее о настройке конфигурации Visual FoxPro, смотрите Адаптация среды Visual FoxPro.

Expand image Пример

CopyCode image Copy Code
STORE DATE( ) TO gdDate
STORE 50 TO gnNumeric
STORE 'Hello' TO gcCharacter
STORE .T. TO glLogical
STORE $19.99 TO gyCurrency

DIMENSION gaMyArray(2,2)
SET COMPATIBLE OFF
STORE 2 TO gaMyArray

CLEAR
DISPLAY MEMORY LIKE g*

Expand image Смотрите также

Справочное руководство

Команда DIMENSION
Команда SET COMPATIBLE
Системные Возможности Visual FoxPro

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SUM Command

Visual FoxPro 9.0 Language Reference
Команда SUM
Также смотрите Пример
CollapseAll image

Суммирует все или определенные числовые поля в текущей выбранной таблице.

SUM [eExpressionList]   [Scope] [FOR lExpression1] [WHILE lExpression2]
   [TO MemVarNameList | TO ARRAY ArrayName]   [NOOPTIMIZE]

Параметры

eExpressionList

Определяет одно или несколько полей или выражение для поля для суммирования. Если вы опускаете выражение для списка полей, все числовые поля будут суммированы.

Score

Определяет диапазон записей, включаемых в сумму. Score может включать предложения: ALL, NEXT nRecords, RECORD nRecordNumber и REST. Более подробно о предложениях области видимости смотрите Scope Clauses.

По умолчанию используется предложение ALL, суммирующее все записи.

FOR lExpression1

Определяет, что только те записи, для которых логическое выражение lExpression1 оценивается в "истину" (.T.), включаются в сумму. Включение FOR делает возможным включать в суммирование записи, отфильтрованные от ненужных записей.

Rushmore-оптимизация оптимизирует команду SUM ... FOR, если lExpression1 является оптимизируемым выражением. Для получения наилучших результатов используйте оптимизируемое выражение в предложении FOR.

Более подробно о Rushmore-оптимизации смотрите SET OPTIMIZE Command and Using Rushmore Query Optimization to Speed Data Access.

WHILE lExpression2

Определяет условие, при котором записи текущей таблицы включаются в сумму до тех пор, пока логическое выражение lExpression2 оценивается в "истину" (.T.).

TO MemVarNameList

Сохраняет каждую сумму в переменную. Если вы определили переменную в MemVarNameList, которая не существует, Visual FoxPro автоматически создает ее. Разделяйте имена переменных в списке запятой.

TO ARRAY ArrayName

Сохраняет суммы в массиве переменных. Если массив, который определен в SUM, не существует, Visual FoxPro создает его автоматически. Если массив существует и слишком мал, чтобы содержать все суммы, размер массива увеличивается автоматически, чтобы разместить суммы.

NOOPTIMIZE

Запрещает Rushmore-оптимизацию в SUM.

Более подробно смотрите SET OPTIMIZE Command и Using Rushmore Query Optimization to Speed Data Access.

Expand image Пример

Следующий пример показывает суммирование в in_stock и on_order полей в таблице products вместе с суммированием двух итогов.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products  && Opens Products table

SUM in_stock, on_order, in_stock+on_order ;
   TO gnInStock, gnOnOrder, gnUnits

CLEAR
?
? 'Total in stock : ', gnInStock  && Displays 3119.00
? 'Total on order:  ', gnOnOrder  && Displays 780.00
? 'Total # units :  ', gnUnits  && Displays 3899.00

Expand image Смотрите также

Ссылки

AVERAGE Command
CALCULATE Command
COUNT Command
SET OPTIMIZE Command

Концепции (понятия)

Using Rushmore Query Optimization to Speed Data Access

Другие ресурсы

Commands (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнен Tata


SUSPEND Command

Visual FoxPro 9.0 Описание Языка
SUSPEND, Команда
См. также
CollapseAll image

Выполняет приостановку программного модуля, и возвращает управление в среду разработки Visual FoxPro.

SUSPEND

Expand image Комментарии

Когда выполнение программного модуля приостановлено, вы можете выполнить информационные или специальные команды; проверить значения переменных памяти, открыть системные окна Trace или Debug, и так далее, выполнять Отладку.

Все переменные, созданные при выполнении рассматриваемого модуля имеют статус PRIVATE.

Используйте команду RESUME - для продолжение выполнения приостановленного программного модуля. Выполнение программы начинается со строки модуля, следующей за заданной командой SUSPEND.

Expand image См. также

Описание

CANCEL, Команда
RESUME, Команда
PRIVATE, Команда

Другие ссылки

Команды системы (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


TOTAL Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда TOTAL
Смотрите также
CollapseAll image

Вычисляет итоговые суммы по числовым полям в текущей таблице.

TOTAL TO TableName ON FieldName   [FIELDS FieldNameList]   [Scope]
   [FOR lExpression1]   [WHILE lExpression2]   [NOOPTIMIZE]

Параметры

TableName

Задает имя таблицы, в которую будут записываться итоговые суммы. Если заданной таблицы не существует, Visual FoxPro создает ее. Если таблица существует и установка SET SAFETY имеет значение ON, Visual FoxPro спрашивает, собираетесь ли вы перезаписать существующую таблицу. Если действует SET SAFETY OFF, таких вопросов не поступает, а выходная таблица перезаписывается.

FieldName

Задает поле, по которому группируются итоговые суммы. Таблица должна быть отсортирована по этому полю, или оно должно служить выражением ключа для открытого индекса или тега индекса.

FIELDS FieldNameList

Задает поля, которые подлежат суммированию. Имена полей в списке следует разделять запятыми. Если опустить предложение FIELDS, по умолчанию суммируются все числовые поля.

Scope

Задает диапазон суммируемых записей. По умолчанию областью действия команды TOTAL являются все записи (предложение ALL). Диапазон задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST.

Подробнее о предложениях диапазона смотрите тему Выражение Scope.

FOR lExpression1

Задает критерий, в соответствии с которым в суммировании участвуют только записи, удовлетворяющие логическому условию lExpression1.

Запрос, созданный командой TOTAL ... FOR, может быть оптимизирован по технологии Rushmore, если lExpression1 является оптимизируемым выражением. Для получения наивысшей производительности используйте в предложении FOR оптимизируемое выражение.

Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

WHILE lExpression2

Задает условие, согласно которому записи текущей таблицы участвуют в суммировании до тех пор, пока логическое выражение lExpression2 остается истинным (.T.).

NOOPTIMIZE

Блокирует оптимизацию команды TOTAL по технологии Rushmore.

Для получения дополнительной информации, смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.

Expand image Замечания

Таблица в выбранной в данный момент рабочей области должна быть отсортирована или проиндексирована. Для каждой группы записей, имеющих общее значение поля или уникальное значение ключа индекса, вычисляется отдельная итоговая сумма. Результаты помещаются в записи второй таблицы. В этой таблице для каждого общего значения поля или уникального значения ключа индекса создается одна запись.

Если числовые поля второй таблицы не в состоянии вместить по ширине полученные суммы, может произойти числовое переполнение. В этом случае Visual FoxPro сохраняет наиболее старшие части итоговых сумм. Если поле слишком мало, чтобы хранить итоговую сумму, происходит следующее:

  • Десятичные знаки дробной части отбрасываются, а оставшаяся часть суммы округляется.

  • Если сумма по-прежнему не вмещается в поле, используется экспоненциальное представление, при условии, что поле итоговой суммы содержит не менее семи цифр.

  • В противном случае ѕ содержимое поля замещается звездочками.

Expand image Смотрите также

Справочное руководство

Команда AVERAGE
Команда CALCULATE
Команда INDEX
Команда SORT
Команда SUM

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


TRY...CATCH...FINALLY Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда TRY...CATCH...FINALLY
Смотрите также Пример
CollapseAll image

Предоставляет структуру для обработки ошибок и исключений, которые могут произойти во время исполнения блока кода.

Для получения более подробной информации о структурированной обработке ошибок с использованием команды TRY...CATCH...FINALLY смотрите Структурированная обработка ошибок.

TRY
     [ tryCommands ]
[ CATCH [ TO VarName ] [ WHEN lExpression ]
     [ catchCommands ] ]
[ THROW [ eUserExpression ] ]
[ EXIT ]
[ FINALLY
     [ finallyCommands ] ]
ENDTRY

Параметры

TRY

Указывает начало структуры TRY...CATCH...FINALLY structure.

[ tryCommands ]

Определяет предложения, команды и прочее, которые могут вызвать генерацию ошибки при исполнении.

[CATCH]

Указывает на начало блока CATCH, который будет обрабатывать подходящие ошибки. Вы можете указать оператор CATCH без аргументов, что будет оцениваться в CATCH WHEN .T. (True).

Note Tip

Если вы желаете иметь структуру TRY...CATCH...FINALLY, которая будет отлавливать все ошибки, то убедитесь в том, что ваш оператор CATCH будет всегда оцениваться в True (.T.).

Вы можете указать любое количество операторов CATCH; или вы вообще можете его не указывать.

[TO VarName]

Указывает переменную памяти, но не объектную ссылку, в которой будет сохраненан ссылка на создаваемый объект Exception. VarName может быть только простой переменной памяти, но не ссылкой на свойство объекта.

Вы можете явно установить VarName в любое значение в структуре TRY...CATCH...FINALLY. Значение не будет изменено до тех пор, пока не будет исполнен другой оператор CATCH, что приведет к сбросу значения VarName в NULL.

VarName может иметь области видимости "local", "public", или "private", что зависит от того, как переменная была задекларирована. Если VarName не была задекларирована ранее, то она будет иметь область видимости "private". Объект Exception создается с той же самой областью видимости, как и VarName. Когда VarName выходит за пределы области видимости, высвобождается или сбрасывается, то высвобождается и объект Exception.

Когда исполняется оператор CATCH TO VarName, Visual FoxPro всегда устанавливает переменную VarName в новый объект Exception, независимо от ее предыдущей установки, даже если она,VarName, остается в своей доступной области видимости . Поэтому содержание VarName всегда переписывается, независимо от того, на что она раньше ссылалась.

[WHEN lExpression]

Указывает необязательно логическое выражение для оценки, когда в программе встречается оператор CATCH. Выражение должно оцениваться в True (.T.) для запуска соответствующих catchCommands.

Аргумент для lExpression может содержать ссылку на VarName, по сути на объект Exception, так чтобы вы могли запросить выявившуюся ошибку и соответствующим образом ее обработать.

Если опция WHEN оценивается в False (.F.), Visual FoxPro высвобождает объект Exception и сбрасывает переменную VarName в NULL. Вы можете определить, была ли сброшена переменная VarName в NULL или установлена в объект, с помощью функции VARTYPE( ).

[ catchCommands ] ]

Определяет операторы, предложения и прочее, что будет исполнено при встрече в коде программы оператора CATCH.

[THROW [ eUserExpression ] ]

Создает новый объект Exception, отлавливаемый оператором CATCH. Вы можете вызывать THROW из любого блока кода в структуре TRY...CATCH...FINALLY. Однако, вы можете использовать THROW повсюду в коде, к котором существует обработчик ошибок, для захвата исключения. Вы не можете вызвать THROW из командного окна (Command window).

Caution note Предупреждение

Вызов команды THROW вне структуры TRY...CATCH...FINALLY и без подходящего обработчика ошибок приведет к выходу из программы.

Note Замечание

Приложения, исполняемые в Run-time должны заключать команду THROW во внешней структуре TRY...CATCH...FINALLY. Visual FoxPro игнорирует любые предложения THROW, появляющиеся в опции CATCH WHEN lExpression.

Параметр eUserExpression указывает выражение любого типа и устанавливает свойство UserValue исключения. Вы можете посылать ему объект любого типа, так как свойство UserValue исключения хранит только ссылку на объект.

Когда вы включаете eUserExpression в опцию THROW, Visual FoxPro устанавливает значение свойства ErrorNo исключения в 2071, что соответствует ошибке "User Thrown Error (Error 2071)".

Note Замечание

Вы должны послать значение параметру eUserExpression, в которое будет установлено свойство UserValue исключения для того, чтобы вы смогли выстроить в цепочку множество объектов Exception. Для получения более подробной информации о выстраивании последовательности объектов Exception смотрите раздел "Пример".

Если вы опустите eUserExpression, Visual FoxPro поднимет оригинальный объект Exception, если он существует. Если же объект Exception не существует, Visual FoxPro выстроит новый объект Exception с установленным значением свойства ErrorNo равным 2071. Если вы опустите eUserExpression, а опция THROW поднимет объект Exception до внешнего блока TRY...CATCH, то внешний блок TRY...CATCH захватит тот же самый объект Exception. Значения, возвращаемые функциями ERROR( ), MESSAGE( ) и AERROR( ) не могут считаться надежными при использовании их в структурированной обработке исключений, поэтому вы должны вместо них использовать объект Exception.

Если, в случае вызова THROW из блока CATCH или FINALLY, существует внешний блок TRY...CATCH, Visual FoxPro присвоит переменной VarName в опции CATCH TO объектную ссылку на объект Exception, сгенерированный перемещением исключения. Если не существует внешнего блока TRY...CATCH, Visual FoxPro поднимет исключение в событие ON ERROR или Error, если какое-то существует; в противном случае, Visual FoxPro вызовет свой обработчик системных ошибок.

Если вы желате перебросить оригинальное исключение, которое было захвачено с помощью опции CATCH TO VarName, вы можете для переброски исключения вызвать THROW VarName.

Note Замечание

Перенаправление оригинального исключения произведет другой, новый объект Exception, во внешнем операторе CATCH, у которого свойство UserValue будет содержать объектную ссылку на исходное исключение.

Если THROW встретит ошибку при оценке выражения, Visual FoxPro поднимает ее обычным способом.

[EXIT]

Включите это в блок TRY, CATCH или FINALLY для немедленной остановки обработкИ кода в программном блоке.

Если EXIT появится в блоке TRY или CATCH, исполнение программы продолжится в блоке, следующем за оператором FINALLY, если он существует. Если EXIT появится в блоке FINALLY или, если FINALLY не существует, исполнение программы будет продолжено со строки, следующей за оператором ENDTRY.

Для получения более подробной информации смотрите EXIT Command.

[ FINALLY

Указывает начало блока FINALLY, который вы можете использовать для очистки любых ресурсов, размещенных блоком TRY, так как этот блок всегда исполняется, за исключаением случаев, когда используются команды CANCEL и QUIT.

[ finallyCommands ]

Определяет предложения, которые будут исполняться в блоке FINALLY после того, как в блоке TRY не будут найдены ошибки или после исполнения предложений в блоке CATCH.

ENDTRY

Указывает конец структуры TRY...CATCH...FINALLY. Каждая структура TRY...CATCH...FINALLY должна завершаться ключевым словом ENDTRY. Как и в случае других управляющих предложений, вы можете добавить в этой же строке комментарий, предварив его двойным символом ampersand (&&) после ключевого слова ENDTRY.

Note Замечание

Если вы не включите ключевое слово ENDTRY в конец структуры TRY...CATCH...FINALLY, Visual FoxPro сгенерирует ошибку при компиляции кода. Хотя вы можете продолжить исполнение кода при наличии такой ошибки, вы не должны использовать такой сценарий, так как это может вызвать зависание Visual FoxPro.

Expand image Примечания

Вы не можете явно передать исполнение программы в блок CATCH или FINALLY.

Visual FoxPro определяет область видимости переменной на процедурном, а не на блочном уровне. То есть, переменные, определенные в блоке TRY видимы из блока FINALLY внутри одной и той же струутуры TRY...CATCH...FINALLY. Однако, во вложенной структуре, переменные, задекларированные в TRY, CATCH или FINALLY имеют локальную области видимости.

Вы не должны инициализировать переменные или устанавливать критический программный код внутри блока TRY, так как не гарантии, что код будет исполнен. Если ошибка произойдет на конкретной строке кода в блоке TRY, все следующие за ней строки кода в этом же блоке TRY не будут исполнены.

Любые ошибки, которые произойдут в событии объекта Error должны быть обработаны объектом и не подняты в процедуру ON ERROR или обработчик TRY...CATCH...FINALLY. Однако, вы можете использовать структуру TRY...CATCH...FINALLY в событии Error для захвата ошибок в событии Error. Для получения более подробной информации смотрите Событие Error (Visual FoxPro).

Использование функции COMRETURNERROR( ) в блоке CATCH прекратит всю последующую обработку и вернет управление программой непосредственно клиенту Component Object Model (COM). Поэтому, если у вас есть блок FINALLY, он не будет исполнен. Для получения более подробной информации смотрите Функция COMRETURNERROR( ).

Избегайте использования команды SET TEXTMERGE TO MEMVAR со структурой TRY...CATCH...FINALLY, поскольку переменная памяти будет потеряна, если в предложении встретится ошибка.

Для определения направления действия и существующего обработчика ошибок, используйте функцию SYS(2410) - Обработчик ошибок в вашем коде структуры TRY...CATCH...FINALLY, например, в структуре DO CASE в зависимости от типа обработчика, который обрабатывает исключение. Для получения более подробной информации смотрите описание функции SYS(2410) - Обработчик ошибок.

Вы можете использовать TRY...CATCH...FINALLY для обработки ошибок, которые происходят в меню и событиях таймера, а также с командами, подобными ON KEY LABEL, если ваша структура обернута должным образом. Приведенный ниже пример показывает, как команда READ EVENTS продолжает управлять программой внутри структуры TRY...CATCH...FINALLY, которая отлавливает события меню. Захват ошибки управляется позицией TRY...CATCH...FINALLY в стеке вызовов.

CopyCode image Скопировать код
TRY
   DO myMenu.mpr
   DO FORM myForm
   myForm.AddObject("tm1","mytimer")
   READ EVENTS
CATCH TO oException
   IF oException.ErrorNo = 1
      STRTOFILE("Error occurred at: " + TRANSFORM(DATETIME());
         + CHR(13),"C:\Errors.log",.T.)
   ENDIF
FINALLY
   CLEAR EVENTS
ENDTRY

Для получения более подробной информации смотрите описание команд READ EVENTS and ON KEY LABEL.

Visual FoxPro поддерживает функциональную возможность отладки - Set Next Statement только внутри единичного блока кода. Например, при исполнении кода в блоке TRY, вы можете использовать Set Next Statement только в какой-то другой строке внутри блока TRY. Вы не можете перепрыгнуть к строке кода в блоке CATCH или FINALLY. Для получения более подробной информации смотрите описание Отладчик клавишных горячих ключей и меню.

Visual FoxPro генерирует подходящие случае системные сообщения в следующих условиях:

  • Несоответствие или ошибка произошла в структуре TRY...CATCH...FINALLY .

  • Произошло необслуживаемое исключение.

  • В блоках TRY, CATCH или FINALLY включена недопустмая для этих блоков команда. Для получения более подробной информации смотрите описание Структурированная обработка ошибок.

  • Произошла ошибка, поднятая пользователем.

Аналогично прочим обработкам ошибок в Visual FoxPro, исключение, которое произошло в обработчиках исключений внутри TRY...CATCH...FINALLY устанавливает команду SET CONSOLE в ON. Для получения более подробной информации смотрите описание команды SET CONSOLE.

Expand image Пример

Приведенный ниже пример показывает, как вкладывать TRY...CATCH, использовать опцию THROW и обрабатывать объекты Exception .

CopyCode image Скопировать код
LOCAL x AS Integer, y AS Integer, result AS Integer
LOCAL oErr AS Exception, oErr1 AS Exception
TRY
   x = 1
   TRY
      USE nothing
      GO TOP
      y = nothing.col1
   CATCH TO oErr
      oErr.UserValue = "Nested CATCH message: Unable to handle"
      ?[: Nested Catch! (Unhandled: Throw oErr Object Up) ]
      ?[  Inner Exception Object: ]
      ?[  Error: ] + STR(oErr.ErrorNo)
      ?[  LineNo: ] + STR(oErr.LineNo)
      ?[  Message: ] + oErr.Message
      ?[  Procedure: ] + oErr.Procedure
      ?[  Details: ] + oErr.Details
      ?[  StackLevel: ] + STR(oErr.StackLevel)
      ?[  LineContents: ] + oErr.LineContents
      ?[  UserValue: ] + oErr.UserValue
      THROW oErr
   FINALLY
      ?[: Nested FINALLY executed ]
      IF USED("nothing")
         USE IN nothing
      ENDIF
   ENDTRY
   result = x-y
CATCH TO oErr1
   ?[: Outer CATCH! ]
      ?[  Outer Exception Object: ]
      ?[  Error: ] + STR(oErr1.ErrorNo)
      ?[  LineNo: ] + STR(oErr1.LineNo)
      ?[  Message: ] + oErr1.Message
      ?[  Procedure: ] + oErr1.Procedure
      ?[  Details: ] + oErr1.Details
      ?[  StackLevel: ] + STR(oErr1.StackLevel)
      ?[  LineContents: ] + oErr1.LineContents
      ?[  ->UserValue becomes inner exception THROWn from nested TRY/CATCH ]
      ?[     Error: ] + STR(oErr1.UserValue.ErrorNo)
      ?[     Message: ] + oErr1.UserValue.Message
      ?[     Procedure: ] + oErr1.UserValue.Procedure
      ?[     Details: ] + oErr1.UserValue.Details
      ?[     StackLevel: ] + STR(oErr1.UserValue.StackLevel)
      ?[     LineContents: ] + oErr1.UserValue.LineContents
      ?[     UserValue: ] + oErr1.UserValue.UserValue
   result = 0
FINALLY
   ?[: FINALLY statement executed ]
ENDTRY
RETURN result

Приведенный ниже пример показывает, как вы можете собрать последовательность объектов Exception:

CopyCode image Скопировать код
TRY
   TRY
      x=y      && Переменная y не существует и это вызывает ошибку.
   CATCH TO oException2
      THROW CREATEOBJECT("myException")
   ENDTRY
CATCH TO oException1
ENDTRY

? 2, oException2.ErrorNo, oException2.UserValue
? 1, oException1.ErrorNo, oException1.UserValue.UserValue

DEFINE CLASS myException AS Exception
UserValue = "My custom error handler"
PROCEDURE Init
   STRTOFILE("An error occurred at: " + TRANSFORM(DATETIME());
 + CHR(13),"c:\errs.log",.T.)
ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Класс Exception (Visual FoxPro)
Свойство UserValue
Функция VARTYPE()
Свойство ErrorNo
Функция ERROR( )
Функция MESSAGE( )
Функция AERROR( )
SYS(2018) - Параметр сообщения об ошибке

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TYPE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда TYPE
Смотрите также
CollapseAll image

Отображает содержимое файла.

TYPE FileName1   [AUTO]   [WRAP]
   [TO PRINTER [PROMPT] | TO FILE FileName2]   [NUMBER]

Параметры

FileName1

Задает имя файла, который требуется отобразить. Имя должно быть указано вместе с расширением.

AUTO

Включает автоматическую установку отступов. Если при этом еще задано и предложение WRAP, TYPE при переносе текста на новую строку внутри абзаца будет автоматически делать такой же отступ, какой был сделан для первой строки абзаца. Например:

  • Если абзац начинается с табулятора, строки переноса выравниваются по этому табулятору.

  • Если в начале абзаца стоит число (или другой текст), за которым следует табулятор и остальной текст, то строки переноса выравниваются по табулятору.

  • Если в первой строке абзаца сделан отступ из пробелов, строки переноса отступают на тот же интервал.

WRAP

Разрешает перенос слов: если слово слишком длинное и выходит за конец строки, оно автоматически переносится целиком на следующую строку.

TO PRINTER [PROMPT]

Направляет вывод на принтер.

Вы можете задать необязательное предложение PROMPT, по которому перед началом печати будет отображаться диалоговое окно печати. Ключевое слово PROMPT следует ставить сразу после TO PRINTER.

TO FILE FileName2

Направляет вывод в файл, заданный именем FileName2.

NUMBER

Ставит номер строки в начале каждой строки вывода.

Expand image Замечания

TYPE отображает содержимое файлов. Отображаемый текст может быть направлен в основное окно Visual FoxPro, в активное пользовательское окно, на принтер или в другой файл.

Когда установка SET HEADINGS имеет значение ON, Visual FoxPro в начале вывода команды TYPE вставляет символ перевода страницы, имя файла вместе с путем, а также дату. Если действует SET HEADINGS OFF, эта информация не указывается.

Expand image Смотрите также

Справочное руководство

Команда SET HEADINGS
Свойство WordWrap
PROMPT( ) Function
Свойство Type (Visual FoxPro)

Прочие ресурсы

Команды (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


UNLOCK Command

Visual FoxPro 9.0 Language Reference
Команда UNLOCK
See Also Example
CollapseAll image

Освобождает блокированную запись, множество блокированных записей или файл блокированной таблицы, или освобождает все записи, или файл, блокирующий все открытые таблицы.

UNLOCK    [RECORD nRecordNumber]   [IN nWorkArea | cTableAlias]   [ALL]

Параметры

RECORD nRecordNumber

Освобождает блокированную запись с номером записи nRecordNumber. Вы можете определить 0 для nRecordNumber, чтобы разблокировать заголовок таблицы, заблокированной ("0", <alias>) или RLOCK("0", <alias>).

Использование UNLOCK RECORD nRecordNumber для записи в таблице блокированного файла освобождает блокированный файл.

IN nWorkArea | cTableAlias

Освобождает блокированную запись (или locks) или блокированный файл таблицы в определенной рабочей области. nWorkArea определяет номер рабочей области и cTableAlias определяет псевдоним таблицы. Если вы не включаете nWorkArea или cTableAlias, UNLOCK освобождает блокированную запись (или locks) или блокированный файл в текущей выбранной рабочей области.

ALL

Освобождает все записи и блокированные файлы во всех рабочих областях.

Более подробно и блокировке записей и файлов и коллективном использовании таблиц в сети, смотрите Programming for Shared Access.

Expand image Замечания

Блокированные записи и файлы могут быть удалены из таблицы только пользователем, который установил блокировку. UNLOCK не может разблокировать таблицу, открытую эксклюзивно.

Блокированная запись (или locks) или блокированный файл освобождаются в таблице в текущей рабочей области, если вы используете UNLOCK без дополнительных аргументов.

Если отношения установлены между таблицами, освобождение блокированной записи (или locks) или блокированного файла одной из таблиц, не будут разблокированы связанные с ним записи или файлы. Вы должны явно освободить запись или блокированный файл в каждом из связанных файлов. Вы можете освободить все блокировки в любой связанной таблице, используя UNLOCK ALL (Это также освобождает записи в несвязанных файлах).

Expand image Пример

CopyCode image Copy Code
CLOSE DATABASES
SET REPROCESS TO 3 AUTOMATIC
STORE '1,2,3,4' TO gcRecList     && Lock records 1 through 4
gcOldExc = SET('EXCLUSIVE')     && Save the EXCLUSIVE setting
SET EXCLUSIVE OFF  && Allow sharing of tables

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
SELECT 0
USE employee  && Opens Employee table

? LOCK('1,2,3,4', 'customer')  && Lock the first 4 records in customer
? RLOCK(gcRecList, 'employee') && Lock the first 4 records in employee

UNLOCK IN customer
UNLOCK IN employee
SET EXCLUSIVE &gcOldExc  && Restore original EXCLUSIVE setting

Expand image Смотрите также

Ссылки

FLOCK( ) Function
LOCK( ) Function
RLOCK( ) Function

Другие ресурсы

Programming for Shared Access
Commands (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


UPDATE - SQL Command

Visual FoxPro 9.0 Описание Языка
UPDATE - SQL, Команда
См. также
CollapseAll image

Изменяет исходные записи Таблицы соответствущими откорректированными данными.

Note Примечание

Команда SQL UPDATE может изменить данные только в записях одной Таблицы.

UPDATE Target
SET Column_Name1 = eExpression1 [, Column_Name2 = eExpression2 ...]
 [FROM [FORCE] Table_List_Item [[, ...] | [JOIN [ Table_List_Item]]]
 WHERE FilterCondition1 [AND | OR FilterCondition2 ...]

Параметры

UPDATE Target

Определяет имя Базовой Таблицы, Курсора, алиаса Таблицы или Курсора, или имя файла, где выполняются требуемые изменения. Вы можете указать несколько источников данных для операции изменения в соответствующей секции FROM. Target может иметь один из следующих возможных вариантов синтаксиса:

  • [DatabaseName!]TableName

    DatabaseName! определяет имя базы данных, к которой прикреплена соответствующая таблица, если она (таблица) не закреплена за текущей базой данных. Если рассматриваемая таблица не относится к текущей базе данных, вы должны обязательно указать имя родительской базы данных. В качестве разделителя-соединителя между именем родительской базы данных и именем дочерней таблицы используется восклицательный знак (!).

    TableName определяет имя таблицы, в которой выполняются изменения.

  • Alias

    Alias определяет имя алиаса соответствующей таблицы, в которой выполняются изменения данных из источников, которые задаются в секции FROM.

  • FileName

    FileName определяет имя файла, в котором выполняются рассматриваемые изменения данных.

SET Column_Name1= eExpression1 [, Column_Name2 = eExpression2 ...]

Определяет имя столбца в изменяемой таблице, в который заносятся новые значения. Если вы не используете секцию WHERE, каждая запись таблицы назначения будет содержать новые значения указанных столбцов.

Если вы хотите использовать значения некоторых свойств объекта исходных данных в качестве expression, вы должны определить соответствующую переменную памяти для указанного объекта, а за тем ее использовать. Например, вы можете выполнить следующее x = oColField("iid").Value и, после этого, указавать конструкцию SET как set iid = x, в рассматриваемой команде UPDATE - SQL . Если вы используете следующую нотацию при обращении к свойствам объекта objectname.property, непосредственно в выражении expression, то в этом случае возникает Ошибочная ситуация; отсутствие указанного Алиаса objectname.

В качестве выражения в конструкции SETможно использовать некоторый Подзапрос, возвращающий требуемое выражение. Если выполняемый подзапрос не возвращает никакого результата, то предполагается значение = NULL. Общий синтаксис и дополнительная информация о Подзапросах представлена в следующем разделе SELECT - SQL, команда - FROM, секция.

Note Обратите внимание

Если вы используете Подзапрос в секции SET, тогда вы не можете использовать Подзапрос в секции WHERE. Подзапросы в секции SET должны удовлетворять тем же условиям, как и в конструкциях сравнения или соединения.

[FROM [FORCE] Table_List_Item[[, ...] | [JOIN [ Table_List_Item]]]

Определяет одну или несколько таблиц данных для выполнения операции Изменения данных.

Секция FROM имеет аналогичный синтаксис, как и в команде SQL SELECT, за исключением следующих ограничений:

  • Изменяемая Таблица или Курсор не может быть включена в качестве присоединяемой таблицы при соединении типа OUTER Join.

  • Данная операция изменения не должна "ломать" другие существующие Соединения JOIN, при выполнении операции Соединения JOIN для изменяемой таблицы.

  • Результирующий Курсор не должен быть результатом выполнения Подзапроса.

Дополнительная информацию имеется в следующем разделе SELECT - SQL, Команда.

FORCE - определяет, что указанные присоединяемые таблицы обрабатываются в том порядке, в котором они указаны в секции FROM.

Note Обратите Внимание

Если опция FORCE - отсутствует, Visual FoxPro пытается оптимизировать выполнение рассматриваемой операции Изменения. Однако, Операция Изменения данных может выполняться значительно быстрее при использовании ключевого слова FORCE, в этом слечае система Visual FoxPro отключает оптимизацию операции Изменения.

Table_List_Item может иметь следующий Синтаксис:

  • [DatabaseName!]Table [[AS] Local_Alias]

    DatabaseName! определяет имя базы данных, к которой прикреплена таблица исходных данных, и она (таблица) не закреплена к текущей (открытой) базе данных. Если таблица исходных данных не входит в текущую базу данных, вы должны указать имя родительской базы данных. В качестве разделителя между именами родительской базой данных и дочерней таблицей используется восклицательный знак (!).

    Tableопределяет имя таблицы исходных данных для проведения операции Изменения. Если указанная таблица не открыта, тогда система Visual FoxPro отображает системный дталоговый бокс Открытия требуемой таблицы, для выбора необходимого файла. После открытия указанной таблицы она остается открытой после выполнения рассматриваемой операции.

    Local_Alias определяет локальный (внутренний) алиас исходной таблицы Table. Если вы используете локальный алиас для конкретной таблицы, вы должны всюду, в рамках команды UPDATE, использовать данный алиас при ссылке на эту таблицу. Локальный алиас может использоваться как для таблиц, так и для Курсоров.

    Конструкция JOIN обеспечивает задание одной или нескольких присоединяемых исходных таблиц данных для операции Изменения. Нет существенных ограничений по лимитированию количества таблиц или курсоров присоединяемых секцией JOIN в одной команде UPDATE.

  • (Subquery) AS Subquery_Alias

    Определяет некоторый Подзапрос в виде стандартного оператора SELECT, который является другим оператором выборки SELECT. Дополнительная информацию по использованию Подзапросов в стандартных операторах SELECT представлена при описании секции FROM в разделе: SELECT - SQL, Команда.

WHERE FilterCondition1 [AND | OR FilterCondition2 ...]]

Определяет одно или несколько Условий Критерия Фильтра, который отбирает удовлетворяющие записи, в которые вносятся изменения, новые значения полей. В рассматриваемой команде не ограничивается количество логических выражений, указываемых в секции WHERE .

Для отрицания логического выражения применяется логический операнд NOT. Для проверки пустого значения некоторого поля используется функция EMPTY( ). Смотрите дополнительную информацию в разделе: EMPTY( ), функция.

Expand image Комментарии

После выполнения команды Изменения данных, количество изменненых записей помещается в системную переменную _TALLY . Смотрите дополнительно раздел: _TALLY, системная переменная.

Note Совет

Когда выполняется Изменение нескольких записей в Таблице, открытой для коллективного доступа к Данным (shared access), команда SQL UPDATE использует последовательно механизм блокировки изменяемых Записей, в отличие от работы команды REPLACE. Данный подход позволяет уменьшить конкуренцию в многопользовательской среде и повышает скорость обработки Запроса на Изменение. Для максимальной надежности откройте изменяемую таблицу в Монопольном (exclusive) режиме или используйте функцию блокирования файла таблицы: FLOCK( ). Смотри дополнительно раздел: FLOCK( ), функция.

В секции SET указанные операторы Изменения данных система Visual FoxPro выполняет в обычной последовательности. Например, если вы используете следующую команду: UPDATE table1 SET field1 = field2, field2=field1, значения указанных полей не изменяются, значения для обоих полей являются одинаковыми.

Expand image Наследуемые примеры Программного Кода

Пример 1

В следующем примере используется команда OPEN DATABASE - для открытия соответствующей тестовой базы данных Visual FoxPro; команда USE - для открытия таблицы Customer, из TestData.dbc. Команда SQL UPDATE изменяет все записи в указанной таблице; осуществляется Изменение поля MaxOrdAmt field = 25.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
UPDATE Customer SET MaxOrdAmt = 25
BROWSE FIELDS Company, MaxOrdAmt

Смотрите дополнительно разделы: USE, команда и BROWSE, команда.

Пример 2

В следующем примере: с помощью команды OPEN DATABASE открывается тестовая база данных Visual FoxPro; TestData.dbc. Команда SQL SELECT выполняет выборку требуемых данных из таблицы Products, из открытой базы данных TestData.dbc, результаты размещаются в новой таблице с именем MyProductsList, отображаются в системном окне Browse.

С помощью команды CREATE CURSOR - создается новый курсор MyUpdateTable, в который добавляется новая запись со значение поля Prod_Unit = 10; данные также отображаются в окне Browse.

В команде SQL UPDATE выполняется изменение поля In_Stock, из таблицы MyProductsList новым значением из созданного курсора MyUpdateTable, для тех записей, для которых выполняется условие product name = "Chai". Далее: выполняется выборка измененных записей и результаты отображаются в системном окне Browse, смотри последний оператор SQL SELECT .

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
SELECT in_stock, prod_name ;
 FROM Products ;
 INTO TABLE MyProductsList.dbf
BROWSE
CREATE CURSOR MyUpdateTable (prod_unit I(10))
INSERT INTO MyUpdateTable (prod_unit) VALUES (10)
BROWSE
UPDATE MyProductsList ;
 SET MyProductsList.in_stock = MyUpdateTable.prod_unit ;
 FROM MyUpdateTable ;
 WHERE MyProductsList.prod_name = "Chai"
SELECT * FROM MyProductsList

Смотри дополнительные разделы: OPEN DATABASE, команда, BROWSE, команда, CREATE CURSOR - SQL, команда, и INSERT - SQL, команда .

Expand image Примеры Программного Кода

Пример 3

В следующем примере демонстрируется использование Подзапроса, как вычисляемого выражения, которое заносится в соответствующее поле, секция SET. В рассматриваемом Запросе изменяются все записи в таблице Products. Вычисление требуемого значения осуществляется согласно следующему условию: связываются исходные таблицы, по указанному полю productID и для которых выполняется указанное условие.

CopyCode image Копировать Код
UPDATE products ;
 SET unitprice = ;
 (SELECT (msrp*.90) ;
 FROM mfg_msrp ;
 WHERE mfg_msrp.productID = products.productID ;
 AND mfg_msrp.discontinued = .f.)

Пример 4

В следующем далее примере демонстрируется использование Корреляционного (зависимого) Изменения для заданного сложного условия отбора записей, которое существенно отличается от условия из примера 3.

CopyCode image Копировать Код
UPDATE products ;
 SET unitprice = mfg_msrp.msrp*.90 ;
 FROM mfg_msrp ;
 WHERE mfg_msrp.productID = products.productID;
 AND mfg_msrp.discontinued = .f.

Пример 5

В представленном далее примере демонстрируется тот факт, что при корреляционном изменении используется только первая найденная запись источника данных для изменения, по указанному критерию отбора. Остальные записи игнорируются. В представленном примере создается два временных Курсора. Первый используется для проведения изменений. Второй курсор используется для хранения новых значений, которые будут вноситься в первый курсор. В этом курсоре хранятся данные, которые будут использоваться для изменения: две первых записи - удовлетворяют критерию отбора; третья запись - не соответствует; четвертая запись отбрасывается, так как совпадает по коду с первой записью ProdID =1? rjnjhfz e;t bcgjkmpetncz.

CopyCode image Копировать Код
CLOSE DATABASES ALL
CREATE CURSOR MyProducts (ProdID I , ProdCategory I NULL, MSRP Y NULL)
INSERT INTO MyProducts VALUES (1,9,1.00)
INSERT INTO MyProducts VALUES (2,8,2.00)
INSERT INTO MyProducts VALUES (3,7,3.00)

CREATE CURSOR MyUpdates (ProdID I , MSRP Y)
INSERT INTO MyUpdates VALUES (1,.50) && Matches and updates.
INSERT INTO MyUpdates VALUES (2,20.00) && Matches and updates.
INSERT INTO MyUpdates VALUES (4,40.00) && No match
INSERT INTO MyUpdates VALUES (1,10.00)&& 2nd match but no update.

UPDATE MyProducts SET MSRP=MyUpdates.MSRP FROM MyUpdates WHERE MyProducts.ProdID=MyUpdates.ProdID
SELECT MyProducts BROWSE

Expand image См. также

Описание

DELETE - SQL, Команда
SQL, Команды и Функции

Другие ссылки

Команды (Visual FoxPro)
Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


USE Command

Visual FoxPro 9.0 Справка по языку
Команда USE
См.также Пример

Открывает таблицу и связанные с ней индексные файлы или открывает представление SQL (SQL view).

USE [[DatabaseName!] TableName | SQLViewName | ?]
 [IN nWorkArea | cTableAlias] [ONLINE] [ADMIN] [AGAIN]
 [NOREQUERY [nDataSessionNumber]] [NODATA]
 [INDEX IndexFileList | ? [ORDER [nIndexNumber | IDXFileName
 | [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]]]]
 [ALIAS cTableAlias] [EXCLUSIVE] [SHARED] [NOUPDATE]
 [CONNSTRING cConnectionString | nStatementHandle ]

Параметры

[DatabaseName!]TableName

Указывает имя открываемой таблицы. Для того, чтобы открыть таблицу, не входящую в текущую базу данных, укажите перед именем таблицы имя базы данных с последующим разделителем в виде восклицательного знака (!).
Подсказка:
В Microsoft Windows 98 и более поздних операционных системах в именах файлов учитываются пробелы, поэтому избегайте использования лишних пробелов в значениях TableName и DatabaseName. Если имя таблицы или базы данных содержит пробелы, заключите его в кавычки или апострофы (" " или ' ').

Подсказка:
Для доступа к таблице, как включенной в базу данных, так и не включенной в неё, можно указывать полный путь. Однако вы можете несколько увеличить производительность, указывая только имя таблицы.

Замечание:
Если вы не указываете имя базы данных, Visual FoxPro сможет открыть таблицы, входящие только в текущую базу данных. Visual FoxPro не сможет корректно распознать путь к таблице, если имя диска или директории содержит восклицательный знак (!)

SQLViewName

Указывает имя представления SQL, открываемого в текущей базе данных. SQLViewName может быть также именем автономного представления (offline view), созданного посредством функции CREATEOFFLINE( ). Для получения дальнейших разъяснений см. Функция REATEOFFLINE( ). Вы можете создавать представления SQL посредством команды CREATE SQL VIEW.
?

Отображает диалог открытия таблицы (Use dialog box), который позволяет указать таблицу.
IN nWorkArea

Указывает рабочую область, в которой открывается таблица. Для того, чтобы закрыть таблицу, открытую в текущей рабочей области, примените команду USE без указания имени таблицы, но включите опцию IN clause и номер рабочей области. Опция IN поддерживает значение 0 в качестве номера рабочей области. Значение 0 указывает, что таблица будет открыта в свободной рабочей области с минимальным номером. Например, если таблицы открыты в рабочих областях с 1 по 10, следующая команда откроет таблицу customer в рабочей области с номером 11:
Скопировать код
USE customer IN 0
IN cTableAlias

Указывает алиас (дополнительное имя) таблицы, которая будет открыта в рабочей области или таблицы, которая была открыта ранее. Если вы опустите опции nWorkArea и cTableAlias, таблица бдет открыта в текущей рабочей области.
ONLINE

Открывает автономное представление, созданное функцией CREATEOFFLINE( ). Вы можете указать имя автономного представления в параметре SQLViewName. Вы можете использовать функцию TABLEUPDATE( ) для обновления данных на сервере. Автономное представление должно быть открыто для монопольного использования. При открытии такого представления посредством команды USE, укажите в ней опцию EXCLUSIVE или выполните команду SET EXCLUSIVE ON. Вы не можете открывать или закрывать автономные представления, находясь внутри транзакций.
ADMIN

Открывает автономное представление, созданное функцией CREATEOFFLINE( ), но не передает на сервер обновления, которые могут быть сделаны в этом представлении. Открытие автономного представления в режиме ADMIN позволяет вам делать любые изменения в представлении не беспокоясь, что они будут переданы на сервер. Вы не можете открывать или закрывать автономные представления в режиме ADMIN, находясь внутри транзакции.
AGAIN
Для открытия таблицы одновременно в нескольких рабочих областях вы можете выполнить следующее:
  • Выбрать другую рабочую область и применить команду USE с указанием имени таблицы и опцией AGAIN.

  • Применить команду USE с именем таблицы и опцией AGAIN, указав другую рабочую область в опции IN.

Когда вы повторно открываете таблицу в другой рабочей области, эта таблица принимает атрибуты из рабочей области, где она была открыта впервые (назовем её первичной). Например, если таблица была открыта в первичной области только на чтение (read-only) или для монопольного использования, то после повторного открытия этой таблицы в другой рабочей области, она также будет открыта только на чтение или монопольно. Индексные файлы, открытые с таблицей в первичной области будут доступны и в другой рабочей области, даже если вы не указали их при повторном открытии таблицы. В области, в которой таблица открыта повторно, будет установлен доступ к записям таблице в физическом порядке их следования (как при установке SET INDEX TO 0). Вы можете открыть в другой рабочей области индексные файлы, которые не были открыты в первичной области. Это будет иметь эффект выполнения команды SET INDEX TO 0 в первичной области. Таблица, открытая повторно, получает по умолчанию алиас своей новой рабочей области. Вы можете указывать алиас всякий раз, когда открываете таблицу в нескольких областях, обеспечивая уникальность алиасов.
NOREQUERY [nDataSessionNumber]

Указывает, что данные из удаленного представления (remote SQL view) повторно не загружаются. Опция NOREQUERY допустима только для представлений SQL и обычно используется когда вы повторно открываете представление с опцией AGAIN. Использование опции NOREQUERY увеличивает производительность при большом объеме данных из-за отсутствия необходимости их повторной загрузки с сервера. Параметр nDataSessionNumber может быть использован для указания того, что повторная загрузка данных не производится для конкретной сессии. По умолчанию, если параметр nDataSessionNumber опущен, опция NOREQUERY распространяется на текущую сессию.
NODATA

Загружает структуру представления SQL, не заполняя её данными. Опция NODATA обеспечивает наиболее быстрый способ получения структуры представлений.
Замечание:
Открытие представлений с опцией NODATA всегда приводит к созданию для них новых курсоров. Когда вы используете опцию NODATA, Visual FoxPro создает конструкцию WHERE для представления с тем, чтобы она всегда возвращала значение "Ложно" (.F.). Поскольку этому условию не может удовлетворить ни одна запись в источнике данных, курсор удаленного представления не будет содержать ни одной строки. В связи с этим Visual FoxPro вернет структуру представления быстрее, поскольку не требуется времени для создания курсора с данными, имеющего больший размер.

Подсказка:
Использование опции NODATA будет более эффективным для представления или курсора, чем установка свойства MaxRecords в значение 0 с помощью функций DBSETPROP( ) или CURSORSETPROP( ). Когда вы используете свойство MaxRecords, вы должны ждать пока удаленное представление будет построено и наполнено данными согласно условию, заданному конструкцией WHERE и только потом строки этого представления будут передаваться в количестве, ограниченном значением свойства MaxRecords. Для дальнейших разъяснений см. Функция DBSETPROP( ) и Функция CURSORSETPROP( ).
INDEX IndexFileList

Определяет набор индексов, которые открываются вместе с таблицей. Если с таблицей связан индексный файл, содержащий структурный составной индекс, то такой файл будет автоматически открыт вместе с таблицей. Параметр IndexFileList может содержать любые комбинации имен файлов, содержащих как единственные индексы (по типу файлов .idx), так и составные, в том числе структурные индексы (по типу файлов .cdx). Вам нет надобности указывать расширения имен файлов .idx и .cdx за исключением того случая, когда их имена совпадают (или расширение имени файла отличается от .idx и .cdx - прим. переводчика). Первый индексный файл из списка IndexFileList является главным индексным файлом (master controlling index file), который определяет порядок доступа к записям в таблице и порядок их отображения. Однако, если первым в списке будет указан составной индексный файл, записи в таблице будут отображаться и обрабатываться в физическом порядке их следования. (Используйте для указания нужного порядка опцию ORDER - прим. переводчика).
INDEX ?

Отображает диалог открытия файлов со списком доступных для выбора индексных файлов.
ORDER [nIndexNumber]

Указывает главный индексный файл с единственным индексом (по типу .idx) или тег в составном индексном файле (по типу .cdx), который может отличаться от первого в списке IndexFileList. Файлы по типу .idx нумеруются в порядке, соответствующем их следованию в списке. Теги, если они есть, нумеруются в пределах составного индексного файла в том порядке, в котором они создавались. Вы также можете использовать команду SET ORDER для указания управляющего индексного файла или тега. См. команду SET ORDER для дальнейших объяснений. Если значение nIndexNumber равно 0, записи в таблице отображаются и обрабатываются в физическом порядке их следования, хотя индексные файлы остаются открытыми. Это позволяет индексам обновляться при обновлении таблицы. При опускании параметра в опции ORDER подразумевается, что значение параметра равно 0.
ORDER [IDXFileName]

Указывает, что файл типа .idx будет использован в качестве главного индексного файла.
ORDER [TAG TagName] [OF CDXFileName]

Указывает главный индексный тег в составном индексном файле типа cdx. Можно указать имя тега из структурного составного индексного файла или иного составного индексного файла. Если тег с таким именем есть в активном индекском файле, используйте опцию OF CDXFileName для указания имени нужного составного индексного файла.
ASCENDING

Указывает, что записи в таблице отображаются и обрабатываются в порядке возрастания индекса.
DESCENDING

Указывает, что записи в таблице отображаются и обрабатываются в порядке убывания индекса. Использование опции ASCENDING или DESCENDING не изменяет индексный файл или тег, а лишь определяет порядок, в котором будет осуществляться отображение и доступ к записям таблицы.
ALIAS cTableAlias

Создает алиас для таблицы, который может быть использован вместо имени таблицы в командах и функциях. Алиас должен начинаться с буквы или симпола подчеркивания и может содержать до 254 букв, цифр и знаков подчеркивания.
Замечание:
Visual FoxPro автоматически создает алиас, если алиас, указанный вами, содержит недопустимые символы.
Когда таблица открывается и опция ALIAS опущена, таблице автоматически присваивается алиас, который совпадает с её именем. Вы можете создать алиас, который отличается от принимаемого по умолчанию, используя опцию ALIAS. В ранних версиях FoxPro алиас должен был начинаться с буквы или символа подчеркивания и содержать до 10 букв, цифр и символов подчеркивания. Visual FoxPro присваивает алиас по умолчанию, если происходит конфликт между алиасами или если вы используете ключевое слово AGAIN при открытии таблицы в нескольких рабочих областях без указания алиаса в каждой рабочей области.
EXCLUSIVE

Открывает таблицу для монопольного (exclusive) использования в сети. Для получения дальнейших разъснений по монопольному использованию таблиц см. команду SET EXCLUSIVE .
SHARED

Открывает таблицу для совместного использования в сети. Опция SHARED позволяет вам открыть таблицу для совместного использования даже если действует установка SET EXCLUSIVE ON.
NOUPDATE

Предотвращает внесение изменений в таблицу и в её структуру.
CONNSTRING cConnectionString | nStatementHandle

Указывает строку для соединения посредством источника данных ODBC. cConnectionString может содержать строку параметров, обычно передаваемых функцией SQLCONNECT( ) или SQLSTRINGCONNECT( ). Если соединение уже установлено, то сослаться на него можно посредством переменной-указателя (handle), задавая её имя в nStatementHandle. Когда вы используете cConnectionString, Visual FoxPro передает строку соединения в удаленное представление, имя которого вы указали в SQLViewName, а затем использует эту строку для получения данных из указанного источника. Передача пустой строки ("") вызовет отображение диалога источника данных ODBC и обеспечит пользователю возможность выбрать источник данных.
Замечание:
Если вы укажете некорректные данные в строке соединения, источник данных отобразит диалог ввода начальных параметров (login и пр.) Если вы опустите опцию CONNSTRING cConnectionString, удаленное представление будет использовать определение текущего соединения. Для получения дальнейших разъяснений по использованию строки соединения с источником данных см. документацию по драйверу ODBC.
Visual FoxPro поддерживает перекрытие строки соединения по умолчанию для удаленных представлений и требует задавать параметр nStatementHandle для поддержки совместно используемых соединений.

Примечания

Если вы используете команду USE без указания имени таблицы и в текущей рабочей области имеется открытая таблица, Visual FoxPro закроет эту таблицу. Visual FoxPro также закроет таблицу в рабочей области, если в этой рабочей области открыть другую таблицу. Вы не можете одновременно открыть несколько таблиц в одной и той же рабочей области.

Если используется база данных, которая не является текущей, команда USE открывает базу данных автоматически, но при этом не делает её текущей базой данных. Когда закрывается таблица, база данных остается открытой.

Пример

В следующем примере открываются три таблицы в трех разных рабочих областях. Окно сессии данных (Data Session) открывается, чтобы показать, где открыты таблицы и отобразить алиас каждой из них.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
ACTIVATE WINDOW View
USE customer IN 0 && Opens Customer table
USE employee IN 0 && Opens Employee table
USE products IN 0 && Opens Products table

См.также

Как открыть таблицы в базе данных
Управление представлениями
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


VALIDATE DATABASE Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда VALIDATE DATABASE
Смотрите также Пример
CollapseAll image

Обеспечивает гарантию, что расположение таблиц и индексов в текущей базе данных является корректным..

VALIDATE DATABASE [RECOVER] [NOCONSOLE]
   [TO PRINTER [PROMPT] | TO FILE FileName]

Параметры

RECOVER

Отображает диалоги, которые предоставляют вам возможность указать местонахождение таблиц и индексов которые не соответствуют размещению, содержащемуся в базе данных. Начиная с Visual FoxPro 7, опция RECOVER поддерживается в программном коде.

NOCONSOLE

Подавляет вывод сообщения об ошибке на главное окно Visual FoxPro или в активное окно, определенное пользователем.

TO PRINTER [PROMPT]

Направляет вывод сообщения об ошибке из команды VALIDATE DATABASE на принтер.

PROMPT отображает диалоговое окно Print до начала печати. Поместите ключевое слово PROMPT сразу за опцией TO PRINTER.

TO FILE FileName

Направляет вывод сообщения об ошибке в файл, указанный в FileName. Если такой файл уже имеется и SET SAFETY установлен в ON, вы будете запрошены о выборе - нужно ли переписывать уже имеющийся файл.

Expand image Примечания

VALIDATE DATABASE ensures that the database contains the proper locations of tables and indexes, that tables in the database contain the proper fields, and that index tags in the database exist.

VALIDATE DATABASE operates on the current database. The database must be opened for exclusive use by including the EXCLUSIVE keyword when you issue OPEN DATABASE.

Expand image Пример

Приведенный ниже пример opens the testdata database and uses VALIDATE DATABASE to ensure that the locations of tables and indexes in the database are correct.
CopyCode image Скопировать код
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data\') && Устанавливает путь к базе данных
OPEN DATABASE testdata EXCLUSIVE && Открывает базу данных testdata

VALIDATE DATABASE

Expand image Смотрите также

Справочное руководство

Команда CREATE DATABASE
Команда MODIFY DATABASE
Команда OPEN DATABASE
Команда USE

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WAIT Command

Visual FoxPro 9.0 Описание Языка
WAIT, команда
См. также
CollapseAll image

Отображает Сообщение и приостанавливает работу системы Visual FoxPro до тех пор, пока не нажата клавиша или кнопка мышки.

WAIT [cMessageText] [TO VarName] [WINDOW [AT nRow, nColumn]] [NOWAIT]
 [CLEAR | NOCLEAR] [TIMEOUT nSeconds]

Параметры

cMessageText

Определяет текст отображаемого Сообщения. Вы можете использовать допустимую функцию Visual FoxPro, объект или другой параметр в качестве данного аргумента cMessageText. Если вы не определяете, опускаете cMessageText, система Visual FoxPro отображает системное сообщение. Если данный аргусент cMessageText есть пустая строка (""), Visual FoxPro не отображает соответствующее Сообщение, и выполняется ожидание нажатия клавиши или кнопки мышки для продолжения выполнения текущего программного модуля.

Длина текстового аргумента cMessageText не должна превышать 255 символов.

Note Примечание

Visual FoxPro конвертирует объектную ссылку в соответствующую символьную строку: "(Object)". Если используемая вами функция возвращает несимвольное значение, Visual FoxPro автоматически применяет преобразование данного значение с помощью функции TRANSFORM( ) . В представленном далее примере текущая дата преобразуется в символьное выражение, которое используется далее в команде: WAIT WINDOW:

CopyCode image Копировать Код
WAIT DATE() WINDOW AT 20,20 TIMEOUT 10
TO VarName

Определяет некоторую переменную памяти или элемент массива, в котором сохраняется код нажимаемой клавиши.

Если указываемая переменная или элемент массива отсутствуют до данного момента, они будут созданы автоматически. Если нажимается клавиша ENTER, или другая системная клавиша или комбинация клавиш, или кнопка мышки, то в переменную VarName заносится пустая строка ("").

WINDOW

Определяет отображение соответствующего Сообщения в системном окне, расположенном в правом верхнем углу системного Экрана (_SCREEN). Данное системное окно может быть временно скрыто при нажатии клавиш CTRL или SHIFT.

Начиная с версии Visual FoxPro 7, атрибуты шрифта, размера и стиля отображаемого сообщения могут быть переопределены в соответствующей Закладке Appearance Windows Display Control Panel.

AT nRow, nColumn

Определяет местоположение системного окна Сообщения Visual FoxPro.

NOWAIT

Определяет, что выполнение программного модуля продолжается после отображения указанного Сообщения.

В этом случае не выполняется процесс ожидания нажатия клавиши для удаления рассматриваемого сообщения, программы продолжает выполнение со строки, следующей за командой WAIT NOWAIT.

Если вы не указываете данную секцию NOWAIT, выполнение программы приостанавливается до момента нажатия клавиши (кнопки мышки, или перемещения указателя мышки).

CLEAR

Удаляет окно системного Сообщения с экрана Visual FoxPro или обычного сообщения, отображаемого на системном экране Visual FoxPro, или в активном в настоящий момент пользовательском окне.

Например, для комментирования процессов Индексирования, Сортировки или другого процесса обработки данных может быть использована команда Visual FoxPro SET TALK WINDOW. Для удаления описанных сообщений с системного экрана после завершения процессов обработки данных можно программно использовать команду WAIT CLEAR.

NOCLEAR

Определяет, что заданное системное сообщение WAIT может быть удалено с экрана только при помощи команды WAIT CLEAR или выполнением другой команды WAIT WINDOW, которая создает новое системное сообщение Visual FoxPro.

TIMEOUT nSeconds

Определяет временной интервал ожидания нажатия клавиши (в секундах). nSeconds определяет целые или дробные значения интервала ожидания. Если используемая секция TIMEOUT не является последней в рассматриваемой команде WAIT, Visual FoxPro генерирует сообщение об Ошибке.

Expand image Комментарии

Если системное Сообщение WAIT отображается на главном экране Visual FoxPro, то при нажатии на клавиши SHIFT или CTRL все соответствующие сообщения скрываются.

Expand image См. также

Описание

TRANSFORM( ), функция
ACCEPT, команда
CLEAR, группа команд
ReadTimeout, свойство

Другие ссылки

Команды (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


WITH ... ENDWITH Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда WITH ... ENDWITH
Смотрите также Пример
CollapseAll image

Задает несколько свойств для объекта.

WITH ObjectName [AS <Type> [OF <Class Library>]]
   [.cStatements]
ENDWITH

Параметры

ObjectName

Задает имя объекта. В качестве ObjectName можно использовать как имя объекта, так и ссылку на объект.

Type

Базавый клас, имя класа, или тип библиотеки. (Только для Intellisense)

Class Library

Библиотека класов содержащая базовый клас, имя класа, или тип библиотеки заданый параметром Type. (Только для Intellisense.)

.cStatements

cStatements может состоять из любого числа команд Visual FoxPro, использующихся для задания свойств объекта ObjectName. Чтобы обозначить аргумент cStatement как свойство объекта ObjectName, поставьте перед ним точку.

Expand image Примечания

WITH ... ENDWITH представляет собой удобный способ задания нескольких свойств для одного объекта. Следует отметить, что можно выполнять методы изнутри структуры WITH ... ENDWITH.

Expand image Пример

Следующий пример создает пользовательское имя класса Employee. После того как класс Employee был создан с помощью CREATEOBJECT( ), структура WITH ... ENDWITH используется для установки нескольких свойств для класса. Затем отображаются значения свойств.
CopyCode image Copy Code
moemployee = CREATEOBJECT('employee')

WITH moemployee
   .First_Name = 'John'
   .Last_Name = 'Smith'
   .Address = '16 Maple Lane'
   .HireDate = {^1998-02-16}
ENDWITH

CLEAR
? moemployee.First_Name + ' '
?? moemployee.Last_Name
? moemployee.Address
? moemployee.HireDate

DEFINE CLASS employee AS CUSTOM
      First_Name = SPACE(20)
      Last_Name = SPACE(20)
      Address = SPACE(30)
      HireDate = {  -  -  }
ENDDEFINE

Expand image Смотрите также

Справочное руководство

:: Оператор Области Действия
Команда ADD CLASS
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция CREATEOBJECT( )
Функция GETOBJECT( )
Команда MODIFY CLASS
Команда RELEASE CLASSLIB
Команда SET CLASSLIB

Прочие ресурсы

Команды (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ZAP Command

Visual FoxPro 9.0 Справка по языку
Команда ZAP
Смотрите также

Удаляет все записи из таблицы, сохраняя её структуру.

ZAP [IN nWorkArea | cTableAlias]

Параметры

IN nWorkArea

Указывает рабочую область с таблицей, записи в которой удаляются.
IN cTableAlias

Указывает алиас таблицы, записи в которой удаляются. Если вы опустите nWorkArea и cTableAlias, все записи будут удалены из таблицы, открытой в текущей рабочей области.

Примечания

Указание команды ZAP эквивалентно указанию последовательности команд DELETE ALL и PACK, но команда ZAP выполняется значительно быстрее.

Если установка SET SAFETY находится в ON, Microsoft Visual FoxPro запрашивает подтверждение на удаление записей из таблицы.

Указание команды ZAP не вызывает срабатывания триггера Delete. За дальнейшей информацией по созданию триггеров в таблице обратитесь к теме Команда CREATE TRIGGER.

Предупреждение:
После выполнения команды ZAP удаленные из таблицы записи не могут быть восстановлены.

Смотрите также

Команда DELETE
Команда PACK
Команды
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ZOOM WINDOW Command

Visual FoxPro 9.0 Справочное руководство по языку
Команда ZOOM WINDOW
Смотрите также Пример
CollapseAll image

Изменяет размеры и расположение пользовательского окна или системного окна Visual FoxPro.

ZOOM WINDOW WindowName MIN | MAX | NORM
   [AT nRow1, nColumn1 | FROM AT nRow1, nColumn1
   [SIZE AT nRow2, nColumn2 | TO nRow2, nColumn2]]

Параметры

WindowName

Задает имя окна, размер которого вы собираетесь изменить.

MIN

Сворачивает окно до минимальных размеров.

В Visual FoxPro для Windows окно превращается в значок.

Любое системное окно можно уменьшить до минимальных размеров. Чтобы это было возможно, системное окно Visual FoxPro должно быть открыто в основном окне Visual FoxPro или в пользовательском окне.

Пользовательское окно можно свернуть после того, как оно будет определено. Его не нужно активизировать, чтобы изменить его размеры.

MAX

Разворачивает окно, полностью заполняя им основное окно Visual FoxPro, основное окно Windows, или пользовательское окно. Если развертывается дочернее окно, помещенное в родительское окно, оно заполняет родительское окно. Если в команде ZOOM WINDOW наряду с MAX задано еще какое-нибудь предложение (AT, SIZE, TO или FROM), предложение MAX игнорируется.

С помощью команды ZOOM можно разворачивать до максимальных размеров только пользовательские окна.

NORM

Восстанавливает первоначальные размеры окна после того, как оно было свернуто или развернуто. С помощью предложения NORM можно также перемещать окно, не меняя его размер. Если в команде ZOOM WINDOW NORM других предложений нет, она позволяет восстановить первоначальные размеры и местоположение свернутого или развернутого окна.

AT nRow1, nColumn1 | FROM nRow2, nColumn2

С помощью предложений AT и FROM можно задать положение окна.

Команда ZOOM WINDOW WindowName NORM AT AT nRow1, nColumn1 восстанавливает первоначальные размеры свернутого или развернутого окна и помещает его в заданное место. Координаты AT nRow1, nColumn1 задают позицию левого верхнего угла окна. Положение окна можно изменить и командой MOVE WINDOW.

В Visual FoxPro для Windows, если задано предложение NORM, левый верхний угол окна располагается в основном окне Visual FoxPro в точке, заданной предложением AT nRow1, nColumn1. Если задано предложение MIN, предложения AT и FROM игнорируются и окно отображается в виде значка в нижней части основного окна Visual FoxPro. Если задано предложение MAX, предложения AT и FROM игнорируются и окно развертывается до размеров основного окна Visual FoxPro.

В Visual FoxPro для Windows, если окно создано с помощью предложения IN DESKTOP, его левый верхний угол располагается в основном окне Windows в точке, заданной предложением AT nRow1, nColumn1. Если задано предложение MIN, предложения AT и FROM игнорируются и окно отображается в виде значка в нижней части основного окна Windows. Если задано предложение MAX, предложения AT и FROM игнорируются и окно развертывается до размеров основного окна Windows.

SIZE AT nRow2, nColumn2 | TO nRow2, nColumn2

Вы также можете задать размер окна, включив предложение SIZE или TO. Если задано предложение SIZE, размер окна составляет nRow2 строк в высоту и nColumn2 столбцов в ширину. Если задано предложение TO, левый верхний угол окна остается в своей текущей позиции, а правый нижний угол располагается в точке с координатами nRow2, nColumn2.

Expand image Замечания

В Visual FoxPro для Windows, Окна можно сворачивать до минимальных размеров, разворачивать до размеров основного окна Visual FoxPro или же можно устанавливать какие-то промежуточные размеры.

Если вы создали пользовательское окно в Visual FoxPro с помощью команды DEFINE WINDOW с предложением IN DESKTOP, это окно можно будет развертывать до размеров основного окна Windows.

Окна можно увеличивать непосредственно от минимальных размеров до максимальных и наоборот.

Можно также указать, в каком месте основного окна Visual FoxPro или пользовательского окна следует разместить окно с новым размером.

Для изменения размера системного окна имя его нужно заключить в кавычки. Например, чтобы свернуть окно Command, выполните следующую команду:

CopyCode image Copy Code
ZOOM WINDOW 'Command Window' MAX

Вы можете использовать команду ZOOM WINDOW для изменения размеров любого системного окна.

Expand image Пример

В следующем примере открывается окно просмотра для таблицы customer. Окно Browse сворачивается. Затем восстанавливается его размер, принимаемый по умолчанию. Потом сворачивается и размещается в конкретной позиции. Затем оно увеличивается до определенных размеров, после чего развертывается.
CopyCode image Copy Code
CLEAR ALL
CLEAR
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\Testdata')
USE customer  && Opens Customer table
BROWSE NORMAL NOWAIT

IF _DOS OR _WINDOWS
   ZOOM WINDOW customer MIN
   WAIT WINDOW TIMEOUT 3 ;
      'MIN clause - This window will timeout. Please wait.'
ENDIF

ZOOM WINDOW customer NORM
WAIT WINDOW TIMEOUT 3 ;
   'NORM clause - This window will timeout. Please wait.'

IF _DOS OR _WINDOWS
   ZOOM WINDOW customer MIN AT 10,10
   WAIT WINDOW TIMEOUT 3 ;
      'MIN AT 10,10 clause - This window will timeout. Please wait.'
ENDIF

ZOOM WINDOW customer NORM AT 1,1 SIZE 22,25
WAIT WINDOW TIMEOUT 3 ;
   'NORM & SIZE clauses - This window will timeout. Please wait.'
ZOOM WINDOW customer NORM FROM 10,10 TO 22,70
WAIT WINDOW TIMEOUT 3 ;
   'NORM & TO clauses - This window will timeout. Please wait.'
ZOOM WINDOW customer MAX
WAIT WINDOW TIMEOUT 3 'MAX clause - This window will timeout. Please wait.'
CLEAR ALL

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE WINDOW
Команда DEFINE WINDOW
Команда SIZE WINDOW

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Objects, Collections, and Classes

Visual FoxPro 9.0 Справочное руководство по языку
Объекты, коллекции и классы
Смотрите также

Для получения об элементах, включенных только для совместимости с прежними версиями смотрите описание Элементы языка включенные для совместимости с прежними версиями.

Application Object

CheckBox Control

Collection Class

Column Object

ComboBox Control

CommandButton Control

CommandGroup Control

Container Object

Control Object (Visual FoxPro)

Cursor Object

CursorAdapter Class

Custom Object

DataEnvironment Object

DataObject Object

EditBox Control

Empty Class

Exception Class (Visual FoxPro)

Fields Collection (XMLTable)

File Object (Visual FoxPro)

Files Collection (Visual FoxPro)

Form Object

FormSet Object

FoxCode Object Reference

Grid Control

Header Object

Hyperlink Object

Image Control (Visual FoxPro)

Label Control (Visual FoxPro)

Line Control

ListBox Control

Member Classes (Visual FoxPro)

Objects Collection

OLE Bound Control

OLE Container Control

OptionButton Control

OptionGroup Control

Page Object

PageFrame Control

Project Object (Visual FoxPro)

ProjectHook Object

Projects Collection (Visual FoxPro)

Relation Object

ReportListener Object

Separator Object

Server Object

Servers Collection

Session Object

Shape Control

Spinner Control

Tables Collection (XMLAdapter)

TextBox Control (Visual FoxPro)

THIS Object Reference

THISFORM Object Reference

THISFORMSET Object Reference

Timer Control

ToolBar Object

Visual FoxPro Foundation Classes A-Z

XMLAdapter Class

XMLField Class

XMLTable Class

Смотрите также

Прочие ресурсы

Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Application Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект Application
Смотрите также Пример
CollapseAll image

Объект, создаваемый для каждой инстанции Visual FoxPro, который раскрывает набор свойств и методов Visual FoxPro.

Application.PropertyName[ = eValue]
-or-
Application.Method

Параметры

PropertyName

Указывает свойство объекта приложения.

eValue

Указывает значение для свойства.

Method

Указывает исполняемый метод для объекта приложения.

Expand image Примечания

Применяется к: коллекции проектов (Visual FoxPro)

Visual FoxPro является сервером автоматизации, позволяющий другим приложениям, таким, как Microsoft Excel или Visual Basic удаленно запускать и управлять Visual FoxPro посредством свойств и методов. Объект Application, кроме того, доступен и из инстанции Visual FoxPro.

Синтаксис, используемый приложением, для создания инстанции сервера автоматизации, такого как Visual FoxPro, обычно уникален для приложения. Посмотрите в документации приложения для точного синтаксиса создания инстанции сервера автоматизации и затем управляйте инстанцией через ее свойства и методы.

Objects Collection может быть доступна через объект Application.

Expand image Пример

Вы можете запустить другую инстанцию Visual FoxPro из Visual FoxPro с помощью приведенной ниже команды:

CopyCode image Скопировать код
oNewInstance = CREATEOBJECT('VisualFoxPro.Application')

Новая инстанция Visual FoxPro не видима, когда она создана, что соответствует дефолтному поведению; приведенная ниже команда делает инстанцию видимой:

CopyCode image Скопировать код
oNewInstance.Visible = .T.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Application
Функция CREATEOBJECT()
_VFP системная переменная
Коллекция Objects

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Application Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Application . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

ActiveForm | ActiveProject | Application
AutoYield | Caption | DefaultFilePath
EditorOptions | FullName | Height
HWND | LanguageOptions | Left
Name | Objects Collection | OLERequestPendingTimeout
OLEServerBusyRaiseError | OLEServerBusyTimeout | Parent
ProcessID | Projects Collection | ServerName
StartMode | StatusBar | ThreadID
Top | Version | VFPXMLProgID
Visible | Width |

Методы

DataToClip | DoCmd | Eval
Help | Quit | RequestData
SETVAR |  |

См. также

Другие ссылки

Объект Application
Объект Visual FoxPro Framework Application
Коллекция Projects

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CheckBox Control

Visual FoxPro 9.0 Language Reference
Элемент управления CheckBox
Смотреть также

Создает переключатель.

CheckBox

Замечания

Флажок используется для перехода между тремя состояниями, такими как "истина" (.T.), "ложь" (.F.) и Null (.NULL.). Свойство Value элемента управления CheckBox определяет текущее состояние переключателя.

Следующая таблица иллюстрирует три возможных состояния, которые может иметь переключатель.

Display Свойство Value Описание

FoxCheckBox 1 button

0 or .F. (Default)

Неотмечен.

FoxCheckbox 2 button

1 or .T.

Отмечен.

FoxCheckBox 3 button

2 or .NULL.

Отмечен, но потускнел. .

Это состояние позволяет прикладному пользователю отказаться от выбора переключателя. Однако, прикладной пользователь может очистить и затем выбрать переключатель.

Совет:
После взаимодействия с переключателем, пользователь может возвратить переключатель к оригинальному пустому состоянию, нажимая клавиши CTRL+0.

Свойство Value элемента управления CheckBox принимает тип данных последнего присваивания. Например, если Вы устанавливаете свойство на Истину (.T). или Ложь (.F)., тип свойства будет Logical, , пока вы не присвоите ему числовое значение.

Если Вы устанавливаете свойство ControlSource элемента управления CheckBox к логическому полю в таблице, элемента управления CheckBox отображается следующим образом:

  • Как отмеченное, когда значение в текущей записи Истинно (.T.).

  • Как не отмеченное, когда значение в текущей записи Ложным (.F.).

  • Как отмеченное но недоступное, если значение в текущей записи является пустым (.NULL.).

    Note:
    Если свойство ControlSource - поле в таблице, которая не принимает нулевое значение, нажатие CTRL+0 сгенерирует ошибку.

С помощью свойства Caption можно задать текст, который появится возле флажка. Используя свойство Picture, можно задать рисунок флажка.

Для дополнительной информации о элементе управления CheckBox, смотреть How to: Использование элемента управления Check Boxes.

Смотреть также

Другие ресурсы

Свайства, методы и события элемента управления CheckBox
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объекты, Коллекции и Классы
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


CheckBox Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол CheckBox . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alignment | Anchor Property | Application
AutoSize | BackColor | BackStyle
BaseClass | Caption | Centered
Class | ClassLibrary | ColorScheme
ColorSource | Comment | ControlSource
DisabledBackColor | DisabledForeColor | DisabledPicture
DownPicture | DragIcon | DragMode
Enabled | FontBold | FontCharSet
FontCondense | FontExtend | FontItalic
FontName | FontOutline | FontShadow
FontStrikethru | FontUnderline | ForeColor
Height | HelpContextID | Left
MouseIcon | MousePointer | Name
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData | Parent | ParentClass
Picture | PictureMargin | PicturePosition
PictureSpacing | ReadOnly | RightToLeft
SpecialEffect | StatusBarText | Style
TabIndex | TabStop | Tag
TerminateRead | Themes | ToolTipText
Top | Value | Visible
WhatsThisHelpID | Width | WordWrap

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
ErrorMessage | GotFocus | Init
InteractiveChange | KeyPress | LostFocus
Message | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | ProgrammaticChange
RightClick | UIEnable | Valid
When |  |

См. также

Другие ссылки

Контрол CheckBox
Использование Контролов
Свойство Caption
Объекты, Коллекции, Классы

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class Browser Object Members

Visual FoxPro 9.0 Справочное руководство по языку
Объекты-члены Class Browser
Смотрите также
CollapseAll image

Вы можете обращаться к объектам-членам Class Browser. Ссылка на само окно Class Browser представлена как _oBrowser. Для получения более подробной информации смотрите Как: Настроить Class Browser и Окно Class Browser.

В приведенной ниже таблице перечислены имена объектов-членов и отражен порядок, в котором объекты-члены появляются в Class Browser.

Объект Class Browser | Имя объекта
Элемент управления "edit box" описания класса | edtClassDesc
Элемент управления "edit box" члена класса | edtMemberDesc
Командная кнопка "Open" | cmdOpen
Командная кнопка "Add Additional File" | cmdAdd
Командная кнопка "View Class Code" | cmdExport
Командная кнопка "Find" | cmdFind
Командная кнопка "New Class" | cmdSubclass
Командная кнопка "Rename" | cmdRename
Командная кнопка "Redefine" | cmdRedefine
Командная кнопка "Remove" | cmdRemove
Командная кнопка "Clean Up Library" | cmdCleanup
Картинка "Class Icon" | imgClassIcon
Командная кнопка "Class Icon" | cmdClassIcon
Метка "Type" для комбобокса "Type" | lblClassType
Комбобокс "Type" | cboClassType
Элемент управления эффектом 3D для списка классов | txtClassList3D
Контейнер OLE списка классов | oleClassList
Контейнер OLE списка членов | oleMembers
Элемент управления эффектом 3D для списка членов | txtMembers3D
Элемент управления "list box" членов объекта | lstMembers*
Элемент управления "list box" методов | lstClassList*
Элемент управления "edit box" определения класса | edtClassDesc
Элемент управления "edit box" определения члена | edtMemberDesc

* Эти объекты существуют только тогда, когда lOutlineOCX представляет собой False (.F.).

Expand image Смотрите также

Справочное руководство

Командные кнопки Class Browser
Методы Class Browser
Свойства Class Browser

Прочие ресурсы

Объекты, Коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Collection Class

Visual FoxPro 9.0 Language Reference
Класс Collection
Смотрите также Пример

Вы можете использовать коллекции с тем, чтобы группировать наборы связанных элементов, обычно - объектов, которые могут быть любого типа. Коллекции предоставляют механизм для работы с хранящимися в контейнерах объектами и включают в себя стандартные способы доступа и перебора объектов коллекции. Класс Collection функционирует как истинный контейнерный класс, хотя он и не включает себя метода AddObject, что используется в контейнерных классах типа Form и PageFrame.

Класс Collection представляет собой базовый класс, так что вы можете субклассировать его в программах (.prg) или файлах библиотек визуальных классов (.vcx).

Collection

Примечания

При изменениях, происходящих в коллекции, позиция конкретного элемента может также изменяться.

Коллекции поддерживают перебор элементов, производимый с помощью команды FOREACH, основанный на позиции элемента в коллекции. Вы можете управлять позицией этих элементов, используя должным образом параметры eBeforeItem и eAfterItem, связанные с методом Add для объектов коллекции. Вы можете использовать индексное значение 1, или перечисление, основанное на индексе, начинающимся с 1, для ссылки на первый объект в коллекции, или вы можете использовать значение ключа, путем соответствующей установки значения свойства KeySort. Индексы коллекций основаны на начальном значении равным 1, в отличие от 0-based, принятых во многих других языках, для согласованности и совместимости с другими внутренними коллекциями Visual FoxPro.

Убедитесь в том, что либо все элементы в коллекции имеют ключи или ни один из них не имеет ключей (выделено переводчиком). Решение дилеммы - либо все элементы коллекции будут иметь ключи, либо ни один не будет иметь их, приведет к повышению эффективности поиска элементов, при использовании метода Item в отношении элементов коллекции и использования команды FOR EACH.

Вы можете использовать коллекцию в серверах Visual FoxPro Component Object Model (COM), для того, чтобы прочие COM серверы могли иметь к ним доступ.

Вы можете спрятать методы Add и Remove, применямые в отношении элементов объектов коллекций, от глобального использования, путем субклассирования объектов коллекций и маркировки субклассированных членов, как Hidden или Protected. Если вы выполните эту рекомендацию, то вы сможете добавлять членов коллекции в методе, ассоциированном с событием Init или через какие-то другие методы.

Элементы, введенные в коллекцию имеют ту же самую область видимости, как и прочие переменные памяти.

Поскольку объекты Collection поддерживают методы, определенные по умолчанию, например, Item (Collection Class), вам необходимо быть осведомленным о порядке поиска для этих методов. Метод объекта Collection имеет преимущество перед стандартными вызовами функций, определенных пользователем (UDF). Ниже приведено перечисление, показывающее порядок, в котором Visual FoxPro производит поиск для имени функции:

  • Visual FoxPro native функции

  • Метод объекта Collection, используемый по умолчанию

  • UDF, определенная в файле локальной программы (.prg)

  • UDF, определенная в файле вызывающей программы (.prg)

  • Именованная программа в файле приложения (.app или .exe)

  • Именованная программа, располагающая в списке поиска, определенном SET PATH

Когда Visual FoxPro избавляется от коллекции, содержащей объектные ссылки, он, кроме того, избавляется от любых объектов, имеющихся в коллекции, если они не имеют ссылок где-нибудь еще. Убедитесь, что удалили объекты и любые ссылки на эти объекты из коллекции, до того, как полностью удалить коллекции из памяти.

Visual FoxPro не поддерживает истинный тип безопасности. Поэтому для обеспечения безопасности при работе с коллекциями, вы должны обеспечить ее для класса.

Родные коллекции Visual FoxPro разработаны таким образом, чтобы метод Item сделал их доступным для размещения и исполнения пользовательского кода. Visual FoxPro Debugger не поддерживает оценки (вычисления) для членов объекта, которые внедрены, как вызовы методов. Поэтому, вы не сможете вычислять какие-либо значения для элементов коллекции.

Замечание:
Для помощи в отладке коллекций, вы можете написать код, подобный коду в приведенных ниже примерах, который добавляет в качестве члена коллекции массив, названный "Items", для ссылки на каждый элемент коллекции:

Скопировать код
LOCAL oCol AS Collection

oCol=CREATEOBJECT("collection")
oCol.Add(123)
oCol.Add("AAA")
oCol.Add(CREATEOBJECT("custom"))
oCol.Add(CREATEOBJECT("session"))
oCol.Add(CREATEOBJECT("collection"))
oCol.Item(5).Add(456)
oCol.Item(5).Add("BBB")
oCol.Item(5).Add(CREATEOBJECT("session"))
oCol.Item(5).Add(CREATEOBJECT("collection"))
oCol.Item(5).Item(4).Add(789)
oCol.Item(5).Item(4).Add("CCC")
oCol.Item(5).Item(4).Add(CREATEOBJECT("session"))
oCol.Item(5).Item(4).Add(CREATEOBJECT("Collection"))

DebugCollection(oCol)

DEBUG
SUSPEND

PROCEDURE DebugCollection(oCollection)
 IF oCollection.Count=0
 RETURN
 ENDIF
 oCollection.AddProperty("Items[1]")
 DIMENSION oCollection.Items[oCollection.Count]
 FOR i = 1 TO oCollection.Count
 oCollection.Items[m.i]=oCollection.Item[m.i]
 IF VARTYPE(oCollection.Item[m.i])="O" AND ;
 oCollection.Item[m.i].BaseClass="Collection"
 IF oCollection=oCollection.Item[m.i]
 LOOP
 ENDIF
 DebugCollection(oCollection.Item[m.i])
 ENDIF
 ENDFOR
ENDPROC

Пример

В run time, приведенный ниже пример создает формы и коллекцию, добавляет формы в коллекцию, используя метод Add объекта класса Collection, отображает имя каждой формы в коллекции, и отображает число форм в коллекции:

Скопировать код
loForm1 = CREATEOBJECT("Form")
loForm2 = CREATEOBJECT("Form")
loCol = CREATEOBJECT("Collection")
loCol.Add(loForm1)
loCol.Add(loForm2)
FOR EACH loObj IN loCol
 ? loObj.Name
ENDFOR
? loCol.Count

Следующий пример определяет класс Form, который добавляет в форму текст-боксы, объекты командных кнопок и коллекцию. Класс коллекции, будучи добавленный в форму в run time, добавляет в себя все объекты, имеющиеся на форме. Пример затем проходит по коллекции, устанавливая позиции элементов формы и печатает их имена на экране.

Скопировать код
LOCAL loForm, loItem, lnTop
loForm = CREATEOBJECT("myForm")
lnTop=0
FOR EACH loItem IN loForm.myCollection
 TRY
 loItem.Top = lnTop
 lnTop=lnTop+20
 ? loItem.Name
 CATCH
 ENDTRY
ENDFOR
loForm.Show(1)

DEFINE CLASS myForm AS Form
 AllowOutput=.F.
 AutoCenter=.T.
 ADD OBJECT myTextBox1 AS TextBox
 ADD OBJECT myTextBox2 AS TextBox
 ADD OBJECT myButton1 AS CommandButton
 ADD OBJECT myButton2 AS CommandButton
 ADD OBJECT myCollection AS col1
ENDDEFINE

DEFINE CLASS col1 AS Collection
 PROCEDURE Init
 FOR i = 1 TO THISFORM.Objects.Count
 THIS.Add(THISFORM.Objects(m.i))
 ENDFOR
 ENDPROC
ENDDEFINE

Для просмотра других примеров, использующих методы Add, Remove и Item класса Collection, смотри статьи Add Method (Collection Class), Remove Method (Collection Class), и Item Method (Collection Class).

Смотрите также

Прочие ресурсы

Объекты, коллекции и классы
Свойства, методы и события объекта Collection
Команда FOR EACH ... ENDFOR
Автоматизация и COM сервера

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Collection Object Properties, Methods, and Events

Visual FoxPro 9.0 Справочное руководство по языку
Свойства, методы и события обекъта Collection
Смотрите также

Приведенные ниже таблицы перечисляют статьи справочного руководства по языку, где описаны свойства, методы и события этого объекта.

Свойства

BaseClass | Class | ClassLibrary
Count | Comment | KeySort
Name | Parent | ParentClass
Tag |  |

Методы

Add (Collection Class) | AddProperty | GetKey
Item (Collection Class) | ReadExpression | ReadMethod
Remove (Collection Class) | ResetToDefault | SaveAsClass
WriteExpression | WriteMethod |

События

Destroy

Error

Init

Смотрите также

Прочие ресурсы

Класс Collection

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


Column Object

Visual FoxPro 9.0 Описание Языка
Column, объект
См. также
CollapseAll image

Создается объект Column, как компонент КонтролаGrid. Столбец из Grid может содержать Данные из Полей Таблицы или значение некоторого Выражения. Солбец может содержать также некоторый Контрол.

Grid.Column

Expand image Комментарии

Для привязки рассматриваемого столбца к объекту Данных, рекомендуется использовать свойство DataSource (ControlSource) .

Вы можете определить количество Столбцов в контроле Grid, с помощью его свойства ColumnCount.

Вы можете добавить в Столбец требуемый Контрол (элемент управления), для этого используется метод AddObject, который рекомендуется вызывать в событии Init, где уточняются свойства Контрола Grid. Для установки активного Контрола Столбца сетки (Grid) рекомендуется использовать свойство CurrentControl. Привязка к конкретным полям Таблиц выполняется при помощи указания значения свойству ControlSource.

Note Обратите внимание

Вы не можете получить доступ к компонентам Столбца: заголовкам или управляющему контролу до тех пор, пока не выполнено событие Init основного Контейнера Grid.

Дополнительную информацию о создании Столбцов в Контроле Grid смотрите в разделах: Grid, контролl и Использование Контролов.

Скрывание Столбцов. Для исключения Столбца из списка активных столбцов Сетки (скрывания), установите значение его свойства Visible = False (.F.). Для вычисления текущего значения скрытого столбца рекомендуется использовать значение свойства Value активного в текущий момент Контрола столбца. Например, вы можете изменить значение следующего выражения Column.Text1.Value, хотя рассматриваемый столбец может быть скрыт.

Visual FoxPro обрабатывает несохраненные изменения для скрытых столбцов как обычно, в соответствие с режимом BufferModeдля рассматриваемой Формы, на которой размещается контрол Grid. Например, данные в скрытых столбцах являются недоступными, поэтому отсутствует необходимость автоматического обновления этих данных в Источнике.

В том случае, когда вы скрываете некоторый столбец, который имел Фокус Активности, последний не передается предыдущему или последующему столбцу. В действительности, никакой столбец не получает Фокус ввода. Если вам необходимо при этом переместить Фокус в другую Ячейку, Столбец или Строку, вы должны самостоятельно выполнить требуемые действия по переносу Фокуса, например, при использовании клавиши TAB или используя Мышку.

Когда вы скрываете все имеющиеся столбцы рассматриваемой Сетки (Grid), остается видимым только указатель текущей Записи Таблицы.

Установка значения свойству AllowAutoColumnFit или использование метода AutoFit для скрытых Столбцов не имеет никакого эффекта. Дополнительную информацию смотрите в разделах: AllowAutoColumnFit, свойство и AutoFit, метод.

Expand image См. также

Описание

Column, объект; Свойства, Методы, События
CREATE CLASS, команда
CREATE FORM, команда
DEFINE CLASS, команда
Header, объект

Другие ссылки

Объекты, Коллекции, Классы
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Column Object Properties, Methods, and Events

Visual FoxPro 9.0 Language Reference
Column объект, свойства, методы, и события
См. также

В следующих таблицах перечислены ссылки на темы, описывающие свойства, методы и события для этого объекта.

Свойства

Alignment | Application | BackColor
BaseClass | Bound | Class
ClassLibrary | ColumnOrder | Comment
ControlCount | Controls | ControlSource
CurrentControl | DynamicAlignment | DynamicBackColor
DynamicCurrentControl | DynamicFontBold | DynamicFontItalic
DynamicFontName | DynamicFontOutline | DynamicFontShadow
DynamicFontSize | DynamicFontStrikeThru | DynamicFontUnderline
DynamicForeColor | DynamicInputMask | Enabled
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderline | ForeColor
Format | HeaderClass | HeaderClassLibrary
InputMask | MouseIcon | MousePointer
Movable | Name | Objects
Parent | ParentClass | ReadOnly
Resizable | SelectOnEntry | Sparse
StatusBarText | Tag | ToolTipText
Visible | Width |

Методы

AddObject | AddProperty | AutoFit
Move | ReadExpression | ReadMethod
Refresh | RemoveObject | ResetToDefault
SaveAsClass | SetAll | SetFocus
WriteExpression | WriteMethod | ZOrder

События

Destroy | Error | Init
MouseEnter | MouseLeave | MouseMove
MouseWheel | Moved | Resize

См. также

Другие ресурсы

Column объект
ColumnCount свойство
Grid элемент управления
Использование элементов управления
Объекты, семейства, и классы
Справочник по языку

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo.


ComboBox Control

Visual FoxPro 9.0 Language Reference
Элемент управления ComboBox
See Also

Создает поле со списком, которое первоначально отображает единственный элемент. Если выбрать поле ввода с раскрывающимся списком, оно открывается и показывает список элементов, из которых можно выбрать нужный. Элемент управления ComboBox сочетает в себе свойства элементов управления TextBox (текстовое поле) и ListBox (список). Вы можете либо вводить информацию в текстовом поле, либо выбирать элементы из списка.

Совет:
Тип поля ввода со списком определяется свойством Style. Если значение свойства Style установлено равным 0, создается поле ввода с раскрывающимся списком. Если значение свойства Style равно 2, создается список.

Чтобы показывать или скрыть список элемента управления ComboBox, установите фокус на элементе управления и нажмите ALT+СТРЕЛКУ вниз.

Подробнее о создании полей ввода с раскрывающимся списком см. Конструктор форм и Использование элементов управления.

ComboBox

Замечания

Следующая таблица перечисляет свойства, обычно устанавливаемые на этапе разработки.

Свойство | Описание
ColumnCount | Определяет количество столбцов в списке.
ControlSource | Задает источник данных, к которому привязывается объект.
MoverBars | Определяет, отображаются ли в элементе управления в списке выбора, cлева от элементов, линейки для ползовательского изменения порядка следования элементов.
Multiselect | Определяет, может ли пользователь выделять несколько элементов списка.
RowSource | Задает источник значений для элемента управления.
RowSourceType | определяет тип источника значений, отображенных в списке.

Следующая таблица перечисляет обычно используемые методы.

Метод | Описание
AddItem | Добавляет новый элемент списка в элемент управления поле ввода с раскрывающимся списком, когда RowSourceType установлено в 0.
RemoveItem | Удаляет элемент из списка элемента управления, когда RowSourceType установлено в 0.
Requery | Обновляет список, если значения в источнике, указанном в RowSource изменились.

Backslash ("\") обрабатывается как специальный символ, когда используется в выражении элемент. Следующие правила применяются для этого символа

  • Вы можете отключить пункт в элементах управления ListBox или ComboBox, добавляя единственную backslash свлева к выражения.

  • Любое повторение двух наклонных черт влево, используемых в выражении будет отображено как единственная наклонная черта влево. Например, одна или две наклонных черты влево, используемые вместе отображаются как один, три или четыре наклонных черты влево вместе будут отображены как две. Следующий код примера содержит элемент управления списк, содержащий Универсальное соглашение об именах (UNC) путь. Код отображает в списке как \\MyServer\MyMachine\MyFolder.

    Копировать код
    MyForm.List1.AddItem("\\\\MyServer\\MyMachine\\MyFolder")
  • Если выражение начинается с повторяющихся наклонных черт влево, элемент не заблокирован. Если Вы хотите отключить элемент, который начинается с повторяющихся наклонных черт влево, добавте наклонную черту влево и закрывающюю скобку (]) в началу элемента. Следующий пример, блокирует выбор элемента содержащего UNC путь в списке.

    Копировать код
    MyForm.List1.AddItem("\]\\\MyServer\\MyMachine\\MyFolder")
  • Для включения строки разделителя используют наклонную черту влево, сопровождаемую дефисом для элемента в списоке выбора. Например, следующий код добавляет строку разделителя к списку.

    Копировать код
    MyForm.List1.AddItem("\-")

Вы можете также использовать элемент управления ActiveX, который добавляет дополнительные характеристики, типа элемента управления Checkbox, в элементах управления ListView или TreeView.

См. Также

Другие Ресурсы

Свойства элемента управления ComboBox, Методы и События
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объекты, Коллекции и Классы
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


ComboBox Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол ComboBox . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alignment | Anchor | Application
BackColor | BaseClass | BorderColor
BorderStyle | BoundColumn | BoundTo
Class | ClassLibrary | ColorScheme
ColorSource | ColumnCount | ColumnLines
ColumnWidths | Comment | ControlSource
DisabledBackColor | DisabledForeColor | DisabledItemBackColor
DisabledItemForeColor | DisplayCount Property | DisplayValue
DragIcon | DragMode | Enabled
FirstElement | FontBold | FontCharSet
FontCondense | FontExtend | FontItalic
FontName | FontOutline | FontShadow
FontSize | FontStrikeThru | FontUnderline
ForeColor | Format | Height
HelpContextID | HideSelection | IMEMode
IncrementalSearch | InputMask | ItemBackColor
ItemData | ItemForeColor | ItemIDData
ItemTips | Left | List
ListCount | ListIndex | ListItem
ListItemID | Margin | MaxLength
MouseIcon | MousePointer | Name
NewIndex | NewItemID | NullDisplay
NumberOfElements | OLEDragMode | OLEDragPicture
OLEDropEffects | OLEDropHasData Property | OLEDropMode
OLEDropTextInsertion | Parent | ParentClass
Picture | PictureSelectionDisplay | ReadOnly
RightToLeft | RowSource | RowSourceType
Selected | SelectedBackColor | SelectedForeColor
SelectedID | SelectedItemBackColor | SelectedItemForeColor
SelectOnEntry | SelLength | SelStart
SelText | Sorted | SpecialEffect
StatusBarText | Style | TabIndex
TabStop | Tag | Text Property
TerminateRead | Themes | ToolTipText
Top | TopIndex | TopItemID
Value | Visible | WhatsThisHelpID
Width |  |

Методы

AddItem | AddListItem | AddProperty
Clear | CloneObject | Drag
IndexToItemID | ItemIDToIndex | Move
OLEDrag | ReadExpression | ReadMethod
Refresh | RemoveItem | RemoveListItem
Requery | ResetToDefault | SaveAsClass
SetFocus | SetViewPort | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

События

Click | DblClick | Destroy
DownClick | DragDrop | DragOver
DropDown | Error | ErrorMessage
GotFocus | Init | InteractiveChange
KeyPress | LostFocus | Message
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | OLECompleteDrag | OLEDragDrop
OLEDragOver | OLEGiveFeedBack | OLESetData
OLEStartDrag | ProgrammaticChange | RangeHigh
RangeLow | RightClick | UIEnable
UpClick | Valid | When

См. также

Другие ссылки

Контрол ComboBox
Дизайнер Форм
Использование Контролов
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CommandButton Control

Visual FoxPro 9.0 Справочное руководство по языку
Элемент управления CommandButton
Смотрите также Пример
CollapseAll image

Создает единственную командную кнопку.

CommandButton

Expand image Замечания

Командная кнопка типично используется, чтобы запустить событие, которое выполняет действие, такое как закрытия формы, перемещение на другую запись,печать отчета, и т. д. Используйте элемент управления CommandGroup для создания набора командных кнопок, которыми вы можете манипулировать индивидуально или групой.

Используйте свойство Caption, чтобы определить текст, который появляется на командной кнопке. Используйте свойство Picture , чтобы определить картинку для командной кнопки.

Вы можете выбрать командную кнопку кликая по ней, и если свойство Default установлено в "истина" (.T.), нажимая клавишу ENTER когда командная кнопка выбрана. Если свойство Cancel командной кнопки установлено в "Истина" (.T.), вы можете выбрать командную кнопку нажимая клавишу ESC.

Для получения дополнительной информации о командных кнопках, смотрите Дизайнер форм and Использование элементов управления.

Expand image Пример

Следующий пример демонстрирует, как командные кнопки могут быть добавлены в форму. Свойство Caption используется, чтобы определить текст на командных кнопках и текст указывающий клавишу быстрого доступа каждой кнопки. Свойство Cancel используется, чтобы определить кнопку которая будет выбрана когда вы нажмете ESC.

Метод AddObject используется, чтобы добавить три командные кнопки на форму, позволяя вам изменять направление, в котором элемент управления Line наклоняется или закрывать форму.
CopyCode image Copy Code
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('shpLine','Line')  && Add a Line control to the form
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')  && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')  && Quit Cmnd button

frmMyForm.shpLine.Visible = .T.  && Make Line control visible
frmMyForm.shpLine.Top = 20  && Specify Line control row
frmMyForm.shpLine.Left = 125  && Specify Line control column

frmMyForm.cmdCmndBtn1.Visible =.T.  && Up Command button visible
frmMyForm.cmdCmndBtn2.Visible =.T.  && Down" Command button visible
frmMyForm.cmdCmndBtn3.Visible =.T.  && Quit Command button visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmndBtn1 AS CommandButton  && Create Command button
   Caption = 'Slant \<Up'  && Caption on the Command button
   Left = 50  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='/'  && Slant up
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton  && Create Command button
   Caption = 'Slant \<Down'  && Caption on the Command button
   Left = 200  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='\'  && Slant down
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 150  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойства, методы и события элемента управления CommandButton
Элемент управления CommandGroup
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CommandButton Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол CommandButton. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Alignment | Anchor | Application
AutoSize | BackColor | BaseClass
Cancel | Caption | ClassLibrary
Class | ColorScheme | ColorSource
Comment | Default | DisabledBackColor
DisabledForeColor | DisabledPicture | DownPicture
DragIcon | DragMode | Enabled
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderline | ForeColor
Height | HelpContextID | Left
MouseIcon | MousePointer | Name
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData Property | OLEDropMode | ParentClass
Parent | Picture | PictureMargin
PicturePosition | PictureSpacing | RightToLeft
SpecialEffect | StatusBarText | Style
TabIndex | TabStop | Tag
TerminateRead | Themes | ToolTipText
Top | Visible | VisualEffect
WhatsThisHelpID | Width | WordWrap

Expand image Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

Expand image События

Click | Destroy | DragDrop
DragOver | Error | ErrorMessage
GotFocus | Init | KeyPress
LostFocus | Message | MiddleClick
MouseDown | MouseEnter | MouseLeave
MouseMove | MouseUp | MouseWheel
OLECompleteDrag | OLEDragDrop | OLEDragOver
OLEGiveFeedBack | OLESetData | OLEStartDrag
RightClick | UIEnable | Valid
When |  |

Expand image См. также

Описание

Контрол CommandButton
Контрол CommandGroup
Дизайнер Form

Другие ссылки

Использование контролов
Объекты, коллекции и классы
Описание Языка

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


CommandGroup Control

Visual FoxPro 9.0 Описание Языка
Контрол CommandGroup
См. также
CollapseAll image

Общие замечания по созданию группы командных кнопок, контрола CommandGroup.

CommandGroup

Expand image Комментарии

Контрол CommandGroup использутется как контейнер нескольких командных кнопок, объединенных в одну группу; вы можете манипулировать всей группой как одним элементов управления; данный контрол состоит из отдельных кнопок, класса CommandButton, который обладает всеми необходимыми свойствами и методами командной кнопки.

Для задания количества командных кнопок в рассматриваемом контейнере, используется свойство ButtonCount; можно также определить заголовок группы командных кнопок, для этого используется свойство Caption.

Дополнительная информация по созданию и использованию групп командных кнопок содержится в разделах: Дизайнер Форм и Использование Контролов.

Expand image См. также

Описание

Контрол CommandGroup, Свойства , Методы, События
Контрол CommandButton
CREATE CLASS, Команда
CREATE FORM, Команда
DEFINE CLASS, Команда

Другие ссылки

Объекты, Коллекции, Классы
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


CommandGroup Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол CommandGroup . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | Application | AutoSize
BackColor | BackStyle | BaseClass
BorderColor | BorderStyle | ButtonCount
Buttons | Class | ClassLibrary
ColorSource | Comment | ControlSource
DragIcon | DragMode | Enabled
Height | HelpContextID | Left
MemberClass | MemberClassLibrary | MouseIcon
MousePointer | Name | Objects
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData Property | OLEDropMode | Parent
ParentClass | SpecialEffect | StatusBarText
TabIndex | Tag | TerminateRead
Themes | ToolTipText | Top
Value | Visible | WhatsThisHelpID
Width |  |

Методы

AddObject | AddProperty | CloneObject
Drag | Move | NewObject
OLEDrag | ReadExpression | ReadMethod
Refresh | RemoveObject | ResetToDefault
SaveAsClass | SetAll | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

События

Click | DblClick | DragDrop
DragOver | Error | ErrorMessage
Init | InteractiveChange | Message
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | OLECompleteDrag | OLEDragDrop
OLEDragOver | OLEGiveFeedBack | OLESetData
OLEStartDrag | ProgrammaticChange | RightClick
UIEnable | Valid | When

См. также

Другие ссылки

Контрол CommandGroup
Контрол CommandButton
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Container Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект Container
Смотрите также
CollapseAll image

Создает объект, которые может содержать другие объеты.

Container

Expand image Примечания

Объекты класса контейнера - "Container" могут содержать другие объекты и позволяют иметь доступ к объектам, содержащимся в них. Например, если вы создаете объект контейнера, который содержит два управляющих элемента класса listbox и две командные кнопки, а затем добавляете его - объект контейнера в форму, и listbox'ы, и командные кнопки могут управояться, как в design, так и в run time.

Для получения более подробной информации об объектах-контейнерах и о том, чем они отличаются от прочих объектов и управляющих элементов смотрите Объектно-ориентированное программирование.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Container
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Container Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Container, свойства, методы, события
См. твкже

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | ActiveControl | Application
BackColor | BackStyle | BaseClass
BorderColor | BorderWidth | Class
ClassLibrary | ColorSource | Comment
ControlCount | Controls | DragIcon
DragMode | Enabled | ForeColor
Height | HelpContextID | Left
MouseIcon | MousePointer | Name
Objects Collection | OLEDragMode | OLEDragPicture
OLEDropEffects | OLEDropHasData | OLEDropMode
Parent | ParentClass | Picture
SpecialEffect | StatusBarText | TabIndex
TabStop | Tag | ToolTipText
Top | Visible | WhatsThisHelpID
Width |  |

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
GotFocus | Init | LostFocus
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | Moved | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | Resize
RightClick | UIEnable |

Методы

AddObject | AddProperty | Drag
Draw | Move | NewObject
OLEDrag | ReadExpression | ReadMethod
Refresh | RemoveObject | ResetToDefault
SaveAsClass | SetAll | SetFocus
ShowWhatsThis | WriteExpression | Zorder

См. также

Другие ссылки

Объект Container
Объекты, Коллекции и Классы
Описаниие Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Control Object (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Control, объект (Visual FoxPro)
См. также
CollapseAll image

Создается объект типа Control (Контрол- Элемент управления), который может содержать другие, Защищенные Объекты.

Control

Expand image Комментарии

Объекты типа Control могут содержать другие объекты, но, в отличие от Контейнерных объектов, не предоставляют доступа к содержащимся в них вложенным объектам. Например, если вы создали некоторый Контрол (Control), содержащий два списка типа ListBoxes и две кнопки типа CommandButtons, то после добавления этого Контрола на пользовательскую Форму, указанные объекты типа ListBoxes или CommandButtons не будут для вас доступными в индивидуальном порядке, как для режима Разработки, так и при выполнении Формы (режим Run-Time).

Дополнительную информацию об объектах типа Control, о характерных отличиях этих объектов от других Объектов или Элементов управления смотрите в разделе: Объектно-Ориентированное Программирование.

Expand image См. также

Описание

Control, объект; Свойства, Методы, События
CREATE CLASS, команда
CREATE FORM, команда
DEFINE CLASS, команда
ListBox, контрол (элемент управления)
CommandButton, контрол (элемент управления)

Другие ссылки

Объекты, Коллекции, Классы
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Control Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Control . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

ActiveControl | Anchor | Application
BackColor | BackStyle | BaseClass
BorderColor | BorderWidth | Class
ClassLibrary | ColorSource | Comment
ControlCount | Controls | DragIcon
DragMode | Enabled | ForeColor
Height | HelpContextID | Left
MouseIcon | MousePointer | Name
Objects | OLEDragMode | OLEDragPicture
OLEDropEffects | OLEDropHasData | OLEDropMode
Parent | ParentClass | Picture
SpecialEffect | StatusBarText | TabIndex
TabStop | Tag | ToolTipText
Top | Visible | WhatsThisHelpID
Width |  |

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
GotFocus | Init | LostFocus
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | Moved | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | Resize
RightClick | UIEnable |

Методы

AddProperty | Drag | Draw
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | ShowWhatsThis
WriteExpression | ZOrder |

См. также

Другие ссылки

Объект Control
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cursor Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект Cursor
Смотрите также
CollapseAll image

Создается, когда таблица или представление вводится в Data environment формы, набора форм или отчета.

Cursor

Expand image Примечания

Объект Cursor представляет вам возможность указать или определить свойства для таблицы или представления, когда запущены форма, набор форм или отчет.

Отметим, что установка свойств объекта cursor в run time сгенерирует ошибку (за исключением свойств Filter и Order, которые могут быть установлены в run time). Для того чтобы новые значения свойств вступили в силу, вы должны последовательно вызвать методы CloseTables и OpenTables объекта Data environment. Кроме того, если вы в run time изменяете значение свойства Order курсора, вовлеченного в отношения один-ко-многим, то установленное отношение разрушается.

Expand image Смотрите также

Задачи

Как: установить Data Environment

Справочное руководство

Свойства, методы и события объекта Cursor
Объект DataEnvironment
Объект Relation

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cursor Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Cursor . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alias | Application | BufferModeOverride
CursorSource | Comment | Database
Exclusive | Filter | Name
NoDataOnLoad | Order | OrderDirection
ReadOnly | Tag |

События

Destroy

Error

Init

Методы

AddProperty | ReadExpression | ReadMethod
ResetToDefault | WriteExpression |

См. также

Другие ссылки

Объект Cursor
Функция CURSORGETPROP( )
Объект DataEnvironment
Объект Relation
Объекты, Коллекции, и Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorAdapter Class

Visual FoxPro 9.0 Справочное руководство по языку
Класс CursorAdapter
Смотри также

Поддерживает обработку широкого ряда источников данных, как если бы они были родными курсорами Visual FoxPro. Типы этих источников данных перечислены ниже:

  • Родные VFP

  • Open Database Connectivity (ODBC)

  • ActiveX Data Object (ADO)

  • Extensible Markup Language (XML)

CursorAdapter

Замечания

Курсор, открываемый объектом CursorAdapter, всегда является буфферированным курсором и по умолчанию режим буфферирования установлен в оптимистическое буфферирование строк (Optimistic Row Buffering).

Для получения подробной информации о классе CursorAdapter смотри статью Управление доступом к данным с помошью CursorAdapter'ов.

Смотри также

Справочное руководство

GETCURSORADAPTER( ) функция

Прочие ресурсы

Объекты, коллекции и классы
Свойства, методы и события объекта CursorAdapter
Объект Cursor
Объект Relation
TABLEUPDATE( ) функция

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


CursorAdapter Object Properties, Methods, and Events

Visual FoxPro 9.0 Справочное руководство по языку
CursorAdapter - свойства, методы и события объекта
Смотри также

Приведенные ниже свойства, методы и события обеспечивают поддержку расширенной функциональности курсора и использования источников данных на уровнях окружения данных CursorAdapter'а.

Properties

ADOCodePage (кодовая страница ADO) | Alias (псевдоимя) | AllowDelete (разрешить удаление)
AllowInsert (разрешить вставку) | AllowSimultaneousFetch (разрешить одновременную выборку) | AllowUpdate (разрешить обновление)
BaseClass (базовый класс) | BatchUpdateCount (число предложений обновлений, посылаемых источнику данных) | BreakOnError (разрешить прерывание программы по ошибке)
BufferModeOverride (замещение режима буфферизации) | Class (класс) | ClassLibrary (библотека класса)
Comment (комментарий) | CompareMemo (сравнивать мемо-поля) | ConflictCheckCmd (команда проверки конфликта)
ConflictCheckType (тип проверки конфликта) | ConversionFunc (функция преобразования) | CursorSchema (схема курсора)
CursorStatus (статус курсора) | DataSource (источник данных) | DataSourceType (тип источника данных)
DeleteCmd (команда удаления) | DeleteCmdDataSource (источник данных для команды удаления) | DeleteCmdDataSourceType (тип источника данных для команды удаления)
FetchAsNeeded (выборка по необходимости) | FetchMemo (выборка мемо-полей) | FetchMemoCmdList (список команд для выборки мемо-полей)
FetchMemoDataSource (источник данных для выборки мемо-полей) | FetchMemoDataSourceType (тип источника данных для выборки мемо-полей) | FetchSize (размер выборки)
Flags (флажки) | InsertCmd (команда вставки) | InsertCmdDataSource (источник данных для команды вставки)
InsertCmdDataSourceType (тип источника данных для команды вставки) | InsertCmdRefreshCmd (команда автоматического обновления (refresh) записи после операции вставки) | InsertCmdRefreshFieldList (список полей, которые должны быть обновлены (refresh) после исполнения команды вставки)
InsertCmdRefreshKeyFieldList (список ключевых полей, на основе которых возвращается запись после исполнения команды вставки) | KeyFieldList (список ключевых полей) | MapBinary (разметка бинарных полей)
MapVarchar (разметка символьных полей с переменной длиной) | MaxRecords (максимальное число записей) | Name (имя)
NoData (без данных) | Parent (родитель) | ParentClass (родительский класс)
Prepared (подготовленный) | RefreshAlias (освежить псевдоимя) | RefreshCmd (команда для обновления (refresh))
RefreshCmdDataSource (источник данных для команды обновления (refresh)) | RefreshCmdDataSourceType (тип источника данных для команды обновления (refresh)) | RefreshIgnoreFieldList (список полей, игнорируемых при обновлении (refresh))
RefreshTimeStamp (временной штамп для обновления (refresh) | SelectCmd (команда выборки) | SendUpdates (послать обновления)
Tables (таблицы) | Tag (тэг) | TimestampFieldList (список полей временного штампа)
UpdatableFieldList (список обновляемых полей) | UpdateCmdDataSource (источник данных для команды обновления) | UpdateCmdDataSourceType (тип источника данных для команды обновления)
UpdateCmd (команда обновления) | UpdateCmdRefreshCmd (команда для автоматического обновления (refresh) записи после исполнения команды обновления) | UpdateCmdRefreshFieldList (список полей, которые будут обновляться (refresh) после исполнения команды обновления)
UpdateCmdRefreshKeyFieldList (список ключевых полей в курсоре, который будет использоваться для извлечения записи после исполнения команды обновления) | UpdateGram (XML -документ, используемый для операций вставки, обновления и удаления на источнике данных типа XML) | UpdateGramSchemaLocation (имя и местонахождение схемы для UpdateGram)
UpdateNameList (список обновляемых имен) | UpdateType (тип обновления) | UseCursorSchema (использовать схему курсора)
UseDeDataSource (использовать источник данных из DE) | UseMemoSize (использовать размер мемо-полей) | UseTransactions (использовать транзакции)
WhereType (тип "where") |  |

Методы

AddProperty (добавить свойство) | AutoOpen (открывать автоматически) | CursorAttach (прикрепить курсор)
CursorDetach (открепить курсор) | CursorFill (заполнить курсор данными) | CursorRefresh (обновить (refresh) курсор)
ReadExpression (выражение для метода чтения) | ReadMethod (метод чтения) | RecordRefresh (обновить (refresh) запись)
ResetToDefault (сбросить в значение по умолчанию) | SaveAsClass Method (сохранить как класс) | WriteExpression (выражение для метода записи)
WriteMethod Method (метод записи) |  |

События

AfterCursorAttach (событие после прикрепления курсора) | AfterCursorClose (событие после закрытия курсора) | AfterCursorDetach (событие после открепления курсора)
AfterCursorFill (событие после заполнения курсора) | AfterCursorRefresh (событие после освежения курсора) | AfterCursorUpdate (событие после обновления курсора)
AfterDelete (событие после исполнения команды удаления) | AfterInsert (событие после исполнения команды вставки)/a> | AfterRecordRefresh (событие после исполнения команды обновления (refresh) записи)
AfterUpdate (событие после исполнения команды обновления) | BeforeCursorAttach (событие перед прикреплением курсора) | BeforeCursorClose (событие перед закрытием курсора)
BeforeCursorDetach (событие перед откреплением курсора) | BeforeCursorFill (событие перед заполнением курсора данными) | BeforeCursorRefresh (событие перед обновлением (refresh) курсора)
BeforeCursorUpdate (событие перед обновлением курсора) | BeforeDelete (событие перед исполнением команды удаления) | BeforeInsert (событие перед исполнением команды вставки)
BeforeRecordRefresh (событие перед исполнением команды обновлением (refresh) записи) | BeforeUpdate (событие перед исполнением команды обновления) | Destroy (разрушить объект)
Error (ошибка) | Init (инициализация) |

Смотри также

Справочное руководство

GETCURSORADAPTER( ) функция

Прочие ресурсы

Класс CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Custom Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект Custom
Смотрите также
CollapseAll image

Создает настраиваемый, определенный пользователь объект.

Custom

Expand image Примечания

Класс custom, определяемый пользователем класс создается с помощью команды DEFINE CLASS или с помощью дизайнера классов. Выдача команды CREATE CLASS отображает дизайнер классов.

Классы Custom, определяемые пользователем имеют свойства, события и методы, но не имеет визуального представления. К определению классов custom применимы все приемы, которые применяются при создании прочих классов.

Смотрите тему Объектно-ориентированное программирование для получения более подробной информации о создании настраиваемых "custom" объектов как невизуальных классов.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Custom
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Custom Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Custom, свойства, методы и события
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Application | BaseClass | Class
ClassLibrary | Comment | ControlCount
Controls | Height | HelpContextID
Left | Name | Objects
Parent | ParentClass | Picture
Tag | Top | WhatsThisHelpID
Width |  |

События

Destroy

Error

Init

Методы

AddObject | AddProperty | NewObject
ReadExpression | ReadMethod | RemoveObject
ResetToDefault | SaveAsClass | ShowWhatsThis
WriteExpression | WriteMethod |

См. также

Другие ссылки

Объект Custom
Объектно-Ориентированное Программирование
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Функция CursorToXML( )
Объекты, Коллекции и Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DataEnvironment Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект DataEnvironment
Смотрите также
CollapseAll image

Объект создается тогда, когда создается форма, набор форм или отчет. Объект DataEnvironment функционирует, как контейнер для объектов Cursor, CursorAdapter и Relation, ассоциированных с формой, набором форм или отчетом.

Note Замечание

В run time вы можете установить ограниченное число свойств объекта DataEnvironment, а именно: DataSource, DataSourceType, InitialSelectedAlias, Name, OpenViews и Tag. Для того, чтобы новое значение свойства имело эффект вы должны последовательно вызвать методы CloseTables и OpenTables для объекта DataEnvironment. Установка любого другого из возможных свойств DataEnvironment в run time неизбежно вызовет генерацию ошибки.

DataEnvironment

Expand image Примечания

вы можете определить и субклассировать класс DataEnvironment. Вы можете сохранить из формы существующий Dataenvironment, как файл библиотеки визуальных классов (.vcx) путем выбора формы, затем выбора Save As Class из меню File с последующей выборкой DataEnvironment, как целевого объекта. Все свойства, методы и события DataEnvironment становятся доступными в окне Properties, после того, как вы откроете дизайнер классов Class Designer. Однако, доступ к дизайнеру DataEnvironment вы сможете получить только тогда, когда форма открыта в дизайнере форм, но не из дизайнера классов.

В design time вы можете добавить в форму созданный класс DataEnvironment из панели инструментов библиотек классов, или используя программный код, с помощью метода AddObject. Однако, Visual FoxPro рассматривает введеный таким образом объект инстанции класса DataEnvironment в несколько иной манере, нежели автоматически создающийся в форме родной DataEenvironment.

Вы можете использовать свойства Form DEClass и DEClassLibrary для указания и загрузки внешнего класса DataEnvironment в design или run time. Visual FoxPro поддерживает свойства DEClass и DEClassLibrary только для форм (.scx), библиотек визуальных классов (.vcx) и программных файлов, но не для наборов форм, а также не поддерживает в дизайнере отчетов.

Для получения более подробной информации смотрите описания свойств DEClass и DEClassLibrary. Для получения более подробной информации об окружении данных для форм и наборов форм смотрите описание Creating Forms.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта DataEnvironment
Объекь Form
Метод AddObject
Объект Cursor
Класс CursorAdapter

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataEnvironment Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект DataEnvironment. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Application | AutoCloseTables | AutoOpenTables
Comment | DataSource | DataSourceType
InitialSelectedAlias | Name | Objects
OpenViews | Tag |

Expand image События

AfterCloseTables | BeforeOpenTables | Destroy
Error | Init |

Expand image Методы

AddObject | AddProperty | CloseTables
OpenTables | ReadExpression | ReadMethod
RemoveObject | ResetToDefault | SaveAsClass
WriteExpression |  |

Expand image См. также

Описание

Объект DataEnvironment

Другие ссылки

Создание Форм
Объекты, коллекции и классы
Описание Языка

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


DataObject Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект DataObject
Смотрите также
CollapseAll image

Контейнер для данных, перетаскиваемых из OLE-источника в OLE-приемник. Доступен только в run time.

oDataObject

Expand image Примечания

Объект DataObject представляет собой контейнер для данных, перетаскиваемых из OLE-источника в OLE-приемник данных; контейнер существует только во время события OLE drag-and-drop. Объект DataObject не может быть создан программным путем и ссылка на него становится недействительной сразу после завершения операции OLE drag-and-drop. Объект DataObject посылается как параметр oDataObject в события OLEDragDrop, OLEDragOver, OLESetData и OLEStartDrag.

Объект DataObject может хранить в себе наборы данных, причем каждый из них может быть разного формата. Используйте методы GetFormat и GetData для определения форматов данных и данных в DataObject. Используйте методы SetFormat, SetData или ClearData для добавления форматов данных и для добавления данных в DataObject, или для очистки этих сущностей в DataObject.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта DataObject
OLE Drag-and-Drop
Событие OLEDragDrop
Событие OLEDragOver
Событие OLESetData
Событие OLEStartDrag

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataObject Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект DataObject. Свойства, методы и события
См. также
CollapseAll image

В следующей таблице представлен список ссылок на описания методов данного объекта.

Expand image Методы

ClearData | SetData
GetData | SetFormat
GetFormat |

Expand image См. также

Описание

Объект DataObject

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


EditBox Control

Visual FoxPro 9.0 Описание Языка
Контрол EditBox
См. также
CollapseAll image

Общие сведения о создании Контрола EditBox.

EditBox

Expand image Комментарии

Вы можете использовать рассматриваемый контрол (элемент управления) для редактирования значений полей из таблиц, типа Memo, обычных переменных памя, элементов массивов, а также обычных полей из таблиц, типа Character. Вы можете использовать контрол EditBox для просмотра содержания полей типа Blob type; однако содержание этих полей доступно только для чтения. В этом случае, двоичные данные рассматриваемых полей представляются в шестнадцатеричном представлении, без префикса 0h. См. дополнительно раздел Типы Данных и Полей в системе Visual FoxPro.

Все стандартные операции редактирования текста доступны в рассматриваемом контроле: удаление, копирование, вставка и т.д. Текст в данном контроле скролируется вертикально, также выполняются автоматические переносы на следующую строку.

Дополнительную информацию по созданию и использованию различных контролов см. в разделе Использование Контролов.

Expand image См. также

Описание

Контрол EditBox Свойства, Методы, События
CREATE CLASS, команда
CREATE FORM, команда
DEFINE CLASS, команда

Другие ссылки

Объекты, Коллекции, и Классы

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


EditBox Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол EditBox . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

AddLineFeeds | Alignment | AllowTabs
Anchor | Application | BackColor
BackStyle | BaseClass | BorderColor
BorderStyle | ClassLibrary | Class
ColorScheme | ColorSource | Comment
ControlSource | DisabledBackColor | DisabledForeColor
DragIcon | DragMode | EnableHyperlinks
Enabled | FontBold | FontCharSet
FontCondense | FontExtend | FontItalic
FontName | FontOutline | FontShadow
FontSize | FontStrikeThru | FontUnderline
ForeColor | Format | Height
HelpContextID | HideSelection | IMEMode
IntegralHeight | Left | Margin
MaxLength | MouseIcon | MousePointer
Name | NullDisplay | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | OLEDropTextInsertion | ParentClass
Parent | PasswordChar | ReadOnly
RightToLeft | ScrollBars | SelectedBackColor
SelectedForeColor | SelectOnEntry | SelLength
SelStart | SelText | SpecialEffect
StatusBarText | TabIndex | TabStop
Tag | TerminateRead | Text
ToolTipText | Top | Value
Visible | WhatsThisHelpID | Width

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
ErrorMessage | GotFocus | Init
InteractiveChange | KeyPress | LostFocus
Message | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | ProgrammaticChange
RightClick | UIEnable | Valid
When |  |

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

См. также

Другие ссылки

Контрол EditBox

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Empty Class

Visual FoxPro 9.0 Справочное руководство по языку
Класс Empty
Смотри также

Создает пустой класс для использования с прочими связанными объектами. Особенность класса заключается как в его быстрой инициализации, так и в его быстром удалении, что связано с его структурой.

Empty

Примечание

Базовый класс Empty не содержит внутренних свойств, методов или событий, за счет чего и достигается его быстрая инициализация. Еще одна его особенность заключается в том, что вы не можете создать субклассы его основе, а также добавлять свои методы и события. Однако, в run time, вы можете добавить пользовательские свойства, используя функцию ADDPROPERTY( ) или команду SCATTER NAME...ADDITIVE.

Класс Empty обычно используется в приведенных ниже сценариях:

  • При добавлении или удалении свойств из запущенной инстанции класса с помощью функций ADDPROPERTY( ) и REMOVEPROPERTY( ).

  • При использовании команды SCATTER...NAME с ключевым словом ADDITIVE для заполнения данными из текущей записи.

Смотри также

Прочие ресурсы

Объекты, коллекции и классы
Функция ADDPROPERTY( )
Функци REMOVEPROPERTY( )
Команда SCATTER

FoxClub Solutions

Использование класса Empty
Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Exception Class (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Класс Exception (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Когда ошибка происходит в блоке TRY внутри структуры обработки ошибок TRY...CATCH...FINALLY, Visual FoxPro автоматически создает объект Exception и использует переменную памяти VarName, указанную в операторе CATCH TO для хранение ссылки на исключение. Команда THROW также генерирует объект Exception. Однако, структура TRY...CATCH...FINALLY не отловит исключение, Visual FoxPro поднимает исключение следующему по уровню обработчику ошибок или глобальному обработчику ошибок Visual FoxPro.

Вы можете определить и субклассировать класс Exception.

Exception

Expand image Замечания

Visual FoxPro поддерживает класс Exception только в файлах программ (.prg).

Объекты Exception поддерживают не весь спектр информации об ошибках; так, например, не поддерживаются ошибки Component Object Model (COM), Open Database Connectivity (ODBC) и триггеров базы данных, информацию о которых вы можете получить из функции AERROR(). Однако, вы можете обращаться к информации, поставляемой AERROR() внутри блока TRY...CATCH .

Expand image Пример

CopyCode image Скопировать код
oError = CREATEOBJECT("exception")

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Exception
Команда TRY...CATCH...FINALLY

Концепции

Структурированная обработка ошибок

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Exception Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Exception. Свойства, методы и события
См. также
CollapseAll image

Все свойства, методы и события объекта Exception доступны для изменения при выполнении программы.

Expand image Свойства

BaseClass | Class | ClassLibrary
Comment | Details | ErrorNo
LineContents | LineNo | Message
Name | Parent | ParentClass
Procedure | StackLevel | Tag
UserValue |  |

Expand image Методы

AddProperty | ReadExpression | ReadMethod
ResetToDefault | SaveAsClass | WriteExpression
WriteMethod |  |

Expand image События

Destroy

Error

Init

Expand image См. также

Описание

Класс Exception
Команда TRY...CATCH...FINALLY

Концепции

Структурное управление Ошибками

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Fields Collection (XMLTable)

Visual FoxPro 9.0 Справочное руководство по языку
Коллекция Fields (объекта XMLTable)
Смотрите также
CollapseAll image

Каждый объект XMLTable содержит, по крайне мере, единичную коллекцию Fields, содержащую объекты XMLField. Каждый объект XMLField представляет структуру поля, что является значимым для Visual FoxPro.

Когда объект XMLAdapter анализирует XML, путем исполнения своих методов LoadXML или Attach, он разлагает на составные части содержащуюся в нем XML-схему на один или более объектов XMLTable и соответствующие объекты XMLField. Visual FoxPro транслирует XML схему для каждого поля, создает соответствующие объекты XMLField и вводит их в коллекцию Fields объекта XMLTable.

XMLTable.Fields

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLTable
Класс XMLAdapter
Метод LoadXML
Метод Attach (Visual FoxPro)
Класс XMLTable
Класс XMLField

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


File Object (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Объект File (Visual FoxPro)
Смотрите также
CollapseAll image

Создается при вводе файла в проект.

File

Expand image Замечания

Объект файл создается и инициируется для каждого вводимого в проект файла. Объект файла предоставляет объектную ссылку на файл в проекте и позволяет вам определить информацию, связанную с этим файлом и управлять им через свойства метода созданного объекта File.

Коллекция файлов проекта состоит из объектов всех файлов, помещенных в проект.

Отметьте, что объект файла представляет собой COM объект, поэтому присвоение объектной ссылки на файл переменной памяти создает переменную памяти класса "Unknown Type."

Expand image Смотрите также

Задачи

Как: добавить в проект файлы

Справочное руководство

Свойста, методы и события объекта File
Коллекция Files (Visual FoxPro)

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


File Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект File . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств и методов данного объекта.

Свойства

CodePage | Description | Exclude
FileClass | FileClassLibrary | LastModified
Name | ReadOnly | SCCStatus
Type |  |

Методы

AddToSCC | CheckIn | CheckOut
GetLatestVersion | Modify | Remove
RemoveFromSCC | Run | UndoCheckOut

См. также

Другие ссылки

Объект File
Коллекция Files
Как: Добавить файл в Проект
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Files Collection (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Коллекция Files (Visual FoxPro)
Смотрите также
CollapseAll image

Коллекция файлов в проекте.

Files

Expand image Примечания

Коллекция файлов включает в себя все файлы в проекте. Каждый файл представляет собой объект, которым можно управлять через его свойства и методы.

На файлы в коллекции файлов можно ссылаться по их индексным номерам или по их именам. Например, приведенный ниже пример открывает файл, который был введен в проект первым:

CopyCode image Скопировать код
_VFP.ActiveProject.Files(1).Modify( )

Следующий пример открывает окно редактирования для работы с файлом Main.prg:

CopyCode image Скопировать код
_VFP.ActiveProject.Files('Main.prg').Modify( )

Отметьте, что при ссылке по имени нет необходимости дополнять имя файла путем к нему.

Для получения более подробной информации о коллекции файлов и проектах смотрите Project Manager Hooks в разделе Development Productivity Tools.

Expand image Смотрите также

Справочное руководство

Свойства и методы коллекции Files
Объект File (Visual FoxPro)

Концепции

Project Manager Hooks

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Files Collection Properties and Methods

Visual FoxPro 9.0 Справочное руководство по языку
Свойства и методы коллекции Files
Смотрите также
CollapseAll image

?

Expand image Свойства

Count

Expand image Методы

Add

Item

Expand image Смотрите также

Справочное руководство

Коллекция Files (Visual FoxPro)
Объект File (Visual FoxPro)

Концепции

Блоки Project Manager

Прочие ресурсы

Инструменты продуктивности разработки
Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Form Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект Form
Смотрите также
CollapseAll image

Создает форму, в которую вы можете добавлять элементы управления.

Form

Expand image Примечания

Формы имеют свойства, которые определяют их внешний вид, в том числе позицию, размер и цвет, и их поведение, например, могут ли они быть изменяемы в размерах. Вы можете, кроме того, использовать Дизайнер форм для разработки форм.

Формы могут отвечать на события, инициированные пользователем или системой. Например, вы может написать код в процедуре события формы Click, который изменяет цвет формы, когда вы щелкаете по ней. Вы можете использовать методы для управления формами. Например, вы можете использовать метод Move для изменения позиции формы на экране и ее размера. Из программ вы можете вызывать методы Hide и Show, делая формы прозрачными или видимыми в run time.

Для получения дополнительной информации о создании форм, смотрите Создание форм.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Form
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объект FormSet
Объект DataEnvironment

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Form Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Form. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

ActiveControl | ActiveForm | AllowOutput
AlwaysOnBottom | AlwaysOnTop | Application
AutoCenter | BackColor | BaseClass
BindControls | BorderStyle | BufferMode
Caption | Class | ClassLibrary
ClipControls | Closable | ColorSource
Comment | ContinuousScroll | ControlBox
ControlCount | Controls | CurrentX
CurrentY | DataEnvironment | DataSession
DataSessionID | DefOLELCID | DEClass
DEClassLibrary | Desktop | Dockable
Docked | DockPosition | DrawMode
DrawStyle | DrawWidth | Enabled
FillColor | FillStyle | FontBold
FontCharSet | FontCondense | FontExtend
FontItalic | FontName | FontOutline
FontShadow | FontSize | FontStrikeThru
FontUnderline | ForeColor | HalfHeightCaption
Height | HelpContextID | HScrollSmallChange
hWnd | Icon | KeyPreview
Left | LockScreen | MacDesktop
MaxButton | MaxHeight | MaxLeft
MaxTop | MaxWidth | MDIForm
MinButton | MinHeight | MinWidth
MouseIcon | MousePointer | Movable
Name | Objects | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | Parent | ParentClass
Picture | ReleaseType | RightToLeft
ScaleMode | ScrollBars | ShowInTaskbar
ShowTips | ShowWindow | SizeBox
TabIndex | TabStop | Tag
Themes | TitleBar Property | Top
ViewPortHeight | ViewPortLeft | ViewPortTop
ViewPortWidth | Visible | VScrollSmallChange
WhatsThisButton | WhatsThisHelpID | Width
WindowType | WindowState | ZoomBox

Expand image Методы

AddObject | AddProperty | Box
Circle | Cls | Dock
Draw | GetDockState | Hide
Line | Move | NewObject
OLEDrag | Point | Print
PSet | ReadExpression | ReadMethod
Refresh | Release | RemoveObject
ResetToDefault | SaveAs | SaveAsClass
SetAll | SetViewPort | Show
ShowWhatsThis | TextHeight | TextWidth
WhatsThisMode | WriteExpression | WriteMethod
ZOrder |  |

Expand image События

Activate | AfterDock | BeforeDock
Click | DblClick | Deactivate
Destroy | DragDrop | DragOver
Error | GotFocus | Init
KeyPress | Load | LostFocus
MiddleClick | MouseDown | MouseMove
MouseUp | MouseWheel | Moved
OLECompleteDrag | OLEDragDrop | OLEDragOver
OLEGiveFeedBack | OLESetData | OLEStartDrag
Paint | QueryUnload | Resize
RightClick | Scrolled | Undock
Unload |  |

Expand image См. также

Описание

Объект Form

Другие ссылки

Объекты, коллекции и классы
Описание Языка

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


FormSet Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект FormSet
Смотрите также
CollapseAll image

Создает набор форм.

FormSet

Expand image Примечания

FormSet представляет собой объект, который содержит набор форм. Наборы форм схожи с наборами экранов, использовавшихся в предыдущих версиях FoxPro.

Для получения дополнительной информации о создании наборов форм, смотрите Как: разавернуть формы в цепочку с помощью наборов форм - Form Sets.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта FormSet
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объект Form

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FormSet Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект FormSet . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

ActiveForm | Application | AutoRelease
BaseClass | Buffermode | Class
ClassLibrary | Comment | DataEnvironment
DataSession | DataSessionID | FormCount
Forms | Name | Objects
Parent | ParentClass | ReadBackColor
ReadCycle | ReadForeColor | ReadLock
ReadMouse | ReadSave | ReadTimeOut
Tag | Visible | WindowList
WindowType |  |

События

Activate | Deactivate | Destroy
Error | Init | Load
ReadActivate | ReadDeactivate | ReadShow
ReadValid | ReadWhen | Unload

Методы

AddObject | AddProperty | Hide
NewObject | ReadExpression | ReadMethod
Refresh | Release | RemoveObject
ResetToDefault | SaveAs | SaveAsClass
SetAll | Show | WriteExpression
WriteMethod |  |

См. также

Другие ссылки

Объект FormSet
Как: Расширение форм с помощью объекта FormSet
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FoxCode Object Reference

Visual FoxPro 9.0 Справочное руководство по языку
Объектная ссылка FoxCode
Смотри также

Предоставляет метаданные для использования скриптами, размещаемыми в поле Data таблицы IntelliSense для элеменов, которые в ней определены.

FoxCode.PropertyName [= eValue]

Параметры

PropertyName

Указывает свойство объекта FoxCode.
eValue

Указывает значение для свойства. Приведенная ниже таблица описывает возможные пары свойство-значение.

PropertyName eValue

Abbrev

Определяет содержание поля Abbrev.

Case

Определяет содержание поля Case.

Cmd

Определяет содержание поля Cmd.

CursorLocChar

Определяет специальный символ обзначающий место размещения курсора, после завершения работы скрипта. (Символ используемый по умолчанию - (~) - тильда.)

Data

Определяет содержание поля Data.

DefaultCase

Указывает используемую по умолчанию букву, выбирающую установку регистра в таблице IntelliSense, извлекаемую из записи Version, чье значение Type установлено в "V". (Проще говоря - верхний или нижний регистр клавиатуры - U/L )

Expanded

Определяет содержание поля Expanded.

Filename

Указывает имя редактируемого файла.

FullLine

Приводит полный текст из текущей печатаемой строки.

Icon

Specifies the icon to use with Items array.

Items

Указывает массив, используемый для заполнения списка (list box), который отображает следующий исполняемый скрипт. Требует, чтобы ValueType было установлено в "L".

Items[1,1] – Текст для отображения в списке
Items[1,2] – Текст подсказки для элемента

Для каждой строки в массиве Items единственным обязательным элементом является первый элемент. По умолчанию массив сортируется в возрастающем порядке для обеспечения выполнения операции посимвольного поиска. Пользователи могут использовать свойство ItemSort для отключения этой функциональности и использовать обычную сортировку (natural sort order).

ItemScript

Указывает скрипт, используемый с меню Items.

ItemSort

Определяет, будет-ли сортироваться массив Items array (По умолчанию установлено в .T.)

Location

Определяет тип редактора, используемого для редактирования:

0 – Командное окно (Command Window)

1 – Окно редактирования программ (Program)

8 – Редактор меню (Menu Editor)

10 – Редактор кодов визуальных объектов (Code Editor)

12 – Редактор хранимых процедур (Stored Procedure)

Menuitem

Указывает выбранный пункт меню, если пользователь запускает скрипт со свойством ValueType установленным в "L". Может быть использовано в последовательно вызываемых скриптах.

ParamNum

Specifies parameter number of the function for script call made within a function.

Save

Определяет содержимое поля Save.

Source

Определяет содержимое поля Source.

Timestamp

Определяет содержимое поля Timestamp.

Tip

Определяет содержимое поля Tip.

Type

Определяет содержимое поля Type.

UniqueId

Определяет содержимое поля UniqueId.

User

Определяет содержимое поля User.

UserTyped

Определяет печатаемый пользователем текст. Не включает в себя любые ключи активации или любые ведущие пробелы или символы табуляции. Для включения в текст ключей активации, ведущих пробелов или сиволов табуляции вместо этого свойства используйте свойство FullLine.

ValueTip

Определяет отображаемого текста подсказки "Quick Info", для случая, если ValueType установлено в "T".

ValueType

Определяет дескриптор для исполнения следующего скрипта:

L – Отображает выпадающий список, заполненный из массива Items.

V – Отображает список значений.

T – Отображает окно Quick Info Tip с текстом, содержащимся в ValueTip.

Примечания

Поле "Data" записи в таблице IntelliSense, определяемой системной переменной _FOXCODE, обычно содержит код скрипта. Для получения подробной информации смотри статью Структура таблицы IntelliSense.

Объектная ссылка FoxCode обычно хранится в переменной, называемой oFoxcode в скриптах IntelliSense. Для получения подробной информации смотри статью Как: создать скрипты IntelliSense.

Смотри также

Прочие ресурсы

Системная переменная _FOXCODE
Объекты, коллекции и классы

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Grid Control

Visual FoxPro 9.0 Language Reference
Grid Control (элемент управления сетка)
См. также Пример

Создает сетку.

Grid

Remarks

Grid - контейнерный объект, который отображает данные в строках и столбцах, и подобен по окну Browse. Grid - также контейнерный объект, который содержит объекты-столбцы. Столбец может содержать объект Header и элементы управления . Поскольку Grid и ее столбцы, заголовки, и элементы управления имеют собственный набор свойств, Вы имеете полный доступ к каждому элементу сетки. Вы можете создать grid, в интерактивном режиме используя Grid Builder.

Для дополнительной информации о создании grid, см. Using Controls.

Example

Следующий пример размещает элемент управление Grid в форму. Таблица "customer" открывается, и ее содержание отображается в grid. Свойство Caption используется для задания отличного от имени поля CUST_ID заголовка столбца - Customer ID. Кнопка помещенная в форму, закрывает её.

Метод SetAll используется со свойством DynamicBackColor, чтобы определить цвета фона для записей. Если номер записи нечетный, фон зелёный, иначе белый.

Copy Code
CLOSE ALL  && Закрывает таблицы и базы данных
OPEN DATABASE (HOME(2) + 'data\testdata')

USE customer  IN 0  && Открывает Таблицу "Клиенты"

frmMyForm = CREATEOBJECT('Form')  && Создаёт Форму
frmMyForm.Closable = .F.  && Отключает закрытие формы крестиком

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Добавляет кнопку
frmMyForm.AddObject('grdGrid1','Grid')  && Добавляет в форму Grid

frmMyForm.grdGrid1.Left = 25  && Определяет позицию Grid

frmMyForm.grdGrid1.SetAll("DynamicBackColor", ;
   "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) ;
   , RGB(0,255,0))", "Column")  && Чередует белые и зеленые записи

frmMyForm.grdGrid1.Visible = .T.  && Делает Grid видимым
frmMyForm.cmdCommand1.Visible =.T.  && Кнопка "Выход" видима
frmMyForm.grdGrid1.Column1.Header1.Caption = 'ID клиента'

frmMyForm.SHOW  && Показывает форму
READ EVENTS  && Начинает обработку событий

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Создание кнопки
   Caption = '\<Выход'  && Заголовок кнопки
   Cancel = .T.  && Нажатие клавиши Esc приводит к нажатию кнопки
   Left = 125  && Горизонтальная позиция кнопки
   Top = 210  && Вертикальная позиция кнопки
   Height = 25  && Высота кнопки

   PROCEDURE Click
      CLEAR EVENTS  && Прекращается обработка событий, Закрывается форма
      CLOSE ALL  && Закрывается таблица и база
ENDDEFINE

See Also

Other Resources

Grid Control, Свойства, события, методы
Column объект
CREATE CLASS команда
CREATE FORM Команда
DEFINE CLASS Команда
Header бъект
Объекты , семейства и классы
Справка по языку

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Grid Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Grid . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

ActiveColumn | ActiveRow | AllowAddNew
AllowAutoColumnFit | AllowCellSelection | AllowHeaderSizing
AllowRowSizing | Anchor | Application
BackColor | BaseClass | ChildOrder
ClassLibrary | Class | ColumnCount
Columns | Comment | DeleteMark
DragIcon | DragMode | Enabled
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderline | ForeColor
GridLineColor | GridLines | GridLineWidth
HeaderHeight | Height | HelpContextID
HighLight | HighlightBackColor | HighlightForeColor
HighlightStyle | HighLightRow | HighlightRowLineWidth
LeftColumn | Left | LinkMaster
LockColumns | LockColumnsLeft | MemberClass
MemberClassLibrary | MouseIcon | MousePointer
Name | Objects | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | Optimize | PanelLink
Panel | ParentClass | Parent
Partition | ReadOnly | RecordMark
RecordSource | RecordSourceType | RelationalExpr
RelativeColumn | RelativeRow | RightToLeft
RowColChange | RowHeight | ScrollBars
SelectedItemBackColor | SelectedItemForeColor | SplitBar
StatusBarText | TabIndex | TabStop
Tag | Themes | ToolTipText
Top | Value | View
Visible | WhatsThisHelpID | Width

Методы

ActivateCell | AddColumn | AddObject
AddProperty | AutoFit | CloneObject
DeleteColumn | DoScroll | Drag
GridHitTest | Move | OLEDrag
ReadExpression | ReadMethod | Refresh
RemoveObject | ResetToDefault | SaveAsClass
SetAll | SetFocus | WriteExpression
WriteMethod | Zorder |

События

AfterRowColChange | BeforeRowColChange | Click
DblClick | Deleted | Destroy
DragDrop | DragOver | Error
Init | KeyPress | MiddleClick
MouseDown | MouseEnter | MouseLeave
MouseMove | MouseUp | MouseWheel
OLECompleteDrag | OLEDragDrop | OLEDragOver
OLEGiveFeedBack | OLESetData | OLEStartDrag
Resize | RightClick | Moved
Scrolled | UIEnable | Valid
When |  |

См. также

Другие ссылки

Контрол Grid
Объекты, Коллекции, и Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Header Object

Visual FoxPro 9.0 Справочное руководство по языку
Header (Заголовок), объект
Смотрите также Пример
CollapseAll image

Создает заголовок для столбца элемента управления Grid. Столбцы, образующие сетку, имеют заголовки. Объект-заголовок отображает название вверху столбца и может реагировать на события. Для дополнительной информации о создании заголовков в элементе управления Grid смотрите Применение элементов управления.

Header

Expand image Замечания

Изменение размеров заголовков столбца в элементе управления Grid не порождает событие Click для него. Это касается разделителей столбцов.

Expand image Пример

В следующем примере объект Header со свойством Caption используется для изменения названия первого заголовка в элементе управления Grid.

Элемент управленяи Grid помещается на форму, открывается таблица customer и ее содержимое отображается в сетке. Объект Header и свойство Caption используются для определения другого названия (Customer ID) для первого заголовка в сетке.

Для задания цветов фона записей используется метод SetAll со свойством DynamicBackColor. Если номер отображенной в сетке записи четный, то в качестве значения свойства DynamicBackColor устанавливается белый цвет, в противном случае зеленый. На форму помещается командная кнопка, закрывающая ее.
CopyCode image Скопировать код
CLOSE ALL  && Закрываются таблицы и базы данных
OPEN DATABASE (HOME(2) + 'data\testdata')

USE customer  IN 0  && Открывается таблица Customer

frmMyForm = CREATEOBJECT('form')  && Создается форма
frmMyForm.Closable = .f.  && нельзя закрыть объект Form, дважды щелкнув кнопку управляющего меню или выбрав в этом меню команду Close

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Помещаем на форму командную кнопку
frmMyForm.AddObject('grdGrid1','Grid')  && Помещаем на форму элемент управления Grid

frmMyForm.grdGrid1.Left = 25  && Определяем положение Grid

frmMyForm.grdGrid1.SetAll("DynamicBackColor", ;
   "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) ;
   , RGB(0,255,0))", "Column")  && Определяем цвета фона записей в зависимости от четности их номеров - белый и зеленый

frmMyForm.grdGrid1.Visible = .T.  && Делаем видимым элемент управления Grid
frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Делаем видимой командную кнопку
frmMyForm.grdGrid1.Column1.Header1.Caption = 'Customer ID'

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Создание командной кнопки
   Caption = '\<Quit'  && Надпись на кнопке
   Cancel = .T.  && Если пользователь нажмет клавишу ESC, произойдет событие Click для кнопки Cancel.
   Left = 125  && Определяем местоположение
   Top = 210  && кнопки на форме
   Height = 25  && Задаем высоту кнопки

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем обработку событий, закрываем форму
      CLOSE ALL  && Закрываются таблицы и базы данных
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда CREATE FORM
Команда CREATE CLASS
Команда DEFINE CLASS
Объект Column
Свойства, Методы и События объекта Header
Элемент управления Grid

Прочие ресурсы

Объекты, Коллекции и Классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Header Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Header, свойства, методы и события
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alignment | Anchor | Application
BackColor | BaseClass | Caption
Class | ClassLibrary | Comment
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderline | ForeColor
MouseIcon | MousePointer | Name
Parent | ParentClass | Picture
StatusBarText | Tag | ToolTipText
WordWrap |  |

События

Click | DblClick | Destroy
Error | Init | MiddleClick
MouseDown | MouseEnter | MouseLeave
MouseMove | MouseUp | MouseWheel
RightClick |  |

Методы

AddProperty | ReadExpression | ReadMethod
Refresh | ResetToDefault | SaveAsClass
WriteExpression | WriteMethod |

См. также

Другие ссылки

Объект Header
Функция HEADER( )
Свойство HeaderHeight
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Hyperlink Object

Visual FoxPro 9.0 Описание Языка
Hyperlink, объект
См. также
CollapseAll image

Создает объект Hyperlink (гипер-ссылка).

Hyperlink

Expand image Комментарии

Объект Hyperlink обеспечивает инструмент навигации из Приложений Visual FoxPro в стандартных внешних Контейнерах, таких как Microsoft Internet Explorer (стандартный проводник InterNet).

Рассматриваемый объект Hyperlink поддерживается только стандартном проводнике Microsoft Internet Explorer. Для использования Проводников других Производителей в приложениях Visual FoxPro рекомендуется изучить разделы: Hyperlink Button, фундаментальный класс Hyperlink Image, фундаментальный класс, Hyperlink Label, фундаментальный класс , Использование Галлерея Компонентов .

Expand image См. также

Описание

Hyperlink, объект; Свойства, Методы, События
Hyperlink Button, фундаментальный класс
Hyperlink Image, фундаментальный класс
Hyperlink Label, фундаментальный класс

Другие ссылки

Использование Галлереи Компонентов (Component Gallery)
Объекты, Коллекции, Классы
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Hyperlink Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Hyperlink. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Application | BaseClass | Class
ClassLibrary | Comment | Name
Parent | ParentClass | Tag

Expand image События

Destroy

Error

Init

Expand image Методы

AddProperty | SaveAsClass
ResetToDefault | ReadMethod
ReadExpression | WriteExpression

Expand image См. также

Описание

Объект Hyperlink
Базовый класс Hyperlink Button
Базовый класс Hyperlink Image
Базовый класс Hyperlink Label

Другие ссылки

Использование Component Gallery
Объекты, коллекции и классы
Описание Языка

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Control Image(Visual FoxPro)

Visual FoxPro 9.0 Language Reference
Элемент управления Image (Visual FoxPro)
Смотреть также

Элемент управления Image отображающий GDI+ совместимое изображение.

Image

Комментарии

Изображение это графический элемент управления, отображающий рисунок, который нельзя изменить непосредственно. Однако поскольку это изображение обладает полным комплектом свойств, событий и методов, как и прочие элементы управления, оно может реагировать на события и может быть изменено динамически на этапе выполнения.

Подробнее о создании изображений, см. Использование элементов управления..

Смотреть также

Другие ресурсы

Свойства, методы и события элемента управления Image
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объекты, коллекции и классы
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Image Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Image, Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | Application | BackStyle
BaseClass | BorderColor | BorderStyle
Class | ClassLibrary | ColorSource
Comment | DragIcon | DragMode
Enabled | Height | HelpContextID
Left | MousePointer | Name
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData Property | OLEDropMode | Parent
ParentClass | Picture | PictureVal
RotateFlip | StatusBarText | Stretch
Tag | Themes | ToolTipText
Top | Visible | WhatsThisHelpID
Width |  |

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | ResetToDefault | SaveAsClass
WriteExpression | WriteMethod | Zorder

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
Init | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | RightClick
UIEnable |  |

См. также

Другие ссылки

Контрол Image
Объекты, Коллекции и Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Label Control (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Контрол Label (Visual FoxPro)
См. также

Создает объект для отображения текста (комментариев, заголовков...)

Label

Комментарии

Контрол Label является графическим элементом, отображающим обычный текст, который нельзя непосредственно изменить. Тем не менее, контрол Label обладает всеми необходимыми свойствами, методами и событиями, как и другие элементы управления, поэтому он может динамически изменяться в процессе выполнения программы.

Для быстрого доступа к данному элементу управления можно указать "горячую" клавишу, поместив специальные символы перед необходимой буквой в тексте этого элемента ("\<") (данная буква будет "горячей" клавишей). При отображении контрола Label соответствующая буква будет подчеркнута. При нажатии на указанную клавишу будет активирован следующий элемент управления (в порядке установленной очередности). Для включения контрола Label в данную очередность используется свойствоTabIndex .

Содержание свойства Captions (текст) отображаются в различных вариантах, в зависимости от конкретного объекта.

Для контрола Label определена максимальная длина текста в свойстве Caption, = 256 символов.

Для дополнительной информации по созданию и использованию данного объекта, см. раздел: Использование Контролов

См. также

Другие ссылки

Контрол Label , Свойства, Методы, События
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Label Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Label . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alignment | Anchor | Application
AutoSize | BackColor | BackStyle
BaseClass | BorderStyle | Caption
Class | ClassLibrary | ColorScheme
ColorSource | Comment | DisabledBackColor
DisabledForeColor | DragIcon | DragMode
Enabled | FontBold | FontCharSet
FontCondense | FontExtend | FontItalic
FontName | FontOutline | FontShadow
FontSize | FontStrikeThru | FontUnderline
ForeColor | Height | HelpContextID
Left | MouseIcon | MousePointer
Name | OLEDragMode | OLEDragPicture
OLEDropEffects | OLEDropHasData | OLEDropMode
Parent | ParentClass | RightToLeft
Rotation | StatusBarText | Style
TabIndex | Tag | ToolTipText
Top | Visible | WhatsThisHelpID
Width | WordWrap |

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
Init | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | RightClick
UIEnable |  |

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | UIEnable | WriteExpression
WriteMethod | ZOrder |

См. также

Другие ссылки

Контрол Label
Использование контролов
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Control Line

Visual FoxPro 9.0 Language Reference
Элемент управления Line
Смотреть также Пример

Создает элемент управления, отображающий горизонтальную, вертикальную или диагональную линию.

Line

Комментарии

Линия ѕ это графический элемент управления, отображающий горизонтальную, вертикальную или диагональную линию, которую нельзя изменить непосредственно. Однако, поскольку линия обладает полным комплектом свойств, событий и методов, как и прочие элементы управления, она может реагировать на события и может быть изменена динамически на этапе выполнения.

Подробнее о создании линий см. тему Конструктор форм и Применение элементов управления.

Пример

Следующий пример демонстрирует, как можно добавить элемент управления Line в форму и как с помощью свойства LineSlant задать направление наклона линии.

Метод AddObject используется для добавления в форму элемента управления Line. В форму включаются три командные кнопки, позволяющие изменять направление наклона линии и закрывать форму.

Copy Code
frmMyForm = CREATEOBJECT('Form') && Create a Form
frmMyForm.Closable = .F. && Disable the Control menu box

frmMyForm.AddObject('shpLine','Line') && Добавляем элемент управления Line на форму
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1') && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2') && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3') && Quit Cmnd button

frmMyForm.shpLine.Visible = .T. && Устанавливаем свойство Visible элемента управления Line
frmMyForm.shpLine.Top = 20 && Specify Line control row
frmMyForm.shpLine.Left = 125 && Specify Line control column

frmMyForm.cmdCmndBtn1.Visible =.T. && Up Command button visible
frmMyForm.cmdCmndBtn2.Visible =.T. && Down" Command button visible
frmMyForm.cmdCmndBtn3.Visible =.T. && Quit Command button visible

frmMyForm.SHOW && Показываем форму
READ EVENTS && Запускаем обработчик событий

DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON && Create Command button
 Caption = 'Slant \<Up' && Caption on the Command button
 Left = 50 && Command button column
 Top = 100 && Command button row
 Height = 25 && Command button height

 PROCEDURE Click
 ThisForm.shpLine.Visible = .F. && Hide the Line control
 ThisForm.shpLine.LineSlant ='/' && Slant up
 ThisForm.shpLine.Visible = .T. && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton && Create Command button
 Caption = 'Slant \<Down' && Caption on the Command button
 Left = 200 && Command button column
 Top = 100 && Command button row
 Height = 25 && Command button height

 PROCEDURE Click
 ThisForm.shpLine.Visible = .F. && Hide the Line control
 ThisForm.shpLine.LineSlant ='\' && Slant down
 ThisForm.shpLine.Visible = .T. && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton && Create Command button
 Caption = '\<Quit' && Caption on the Command button
 Cancel = .T. && Default Cancel Command button (Esc)
 Left = 125 && Command button column
 Top = 150 && Command button row
 Height = 25 && Command button height

 PROCEDURE Click
 CLEAR EVENTS && Stop event processing, close Form
ENDDEFINE

Смотреть также

Другие источники

Свойства, методы и события элемента управления Line
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объекты, коллекции и классы
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Line Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Line . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | Application | BaseClass
BorderColor | BorderStyle | BorderWidth
Class | ClassLibrary | ColorSource
Comment | DragIcon | DragMode
DrawMode | Enabled | Height
HelpContextID | Left | LineSlant
MousePointer | Name | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | Parent | ParentClass
PolyPoints | Rotation | StatusBarText
Tag | ToolTipText | Top
Visible | WhatsThisHelpID | Width

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
Init | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | RightClick
UIEnable |  |

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | ResetToDefault | SaveAsClass
WriteExpression | WriteMethod | ZOrder

См. также

Другие ссылки

Контрол Line
Метод Line
Свойство LineSlant
Объекты, Коллекции, Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ListBox Control

Visual FoxPro 9.0 Language Reference
Элемент управления ListBox
Смотреть также Example

Создает список, который отображает список элементов, из которых Вы можете выбрать один или более элементов. Список подобен полю ввода со списком, однако, поле со списком первоначально отображает единственный элемент. Для подробной информации о полях со списком, см. Элемент управления ComboBox.

Для подробной информации о создании ListBox, см. Дизайнер форм и Использование элементов управления.

ListBox

Замечания

Следующая таблица перечисляет свойства, обычно устанавливаемые во времени разработки.

Свойство | Описание
ColumnCount | определяет количество столбцов в списке.
ControlSource | определяет, где хранить значение, которое пользователь выбирает из списка.
MoverBars | Определяет, отображаются ли в элементе управления ListBox линейки прокрутки так, чтобы пользователь мог перестроить порядок элементов.
Multiselect | определяет, может ли пользователь выбрать больше чем один элемент в списке.
RowSource | определяет источник значений, отображенных в списке.
RowSourceType | определяет тип источника значений, отображенных в списке.

Следующая таблица перечисляет обычно используемые методы.

Метод | Описание
AddItem | добавляет пункт в список, когда RowSourceType установлен на 0.
RemoveItem | удаляет элемент из списка, когда RowSourceType установлен на 0.
Requery | обновляет список, если значения в источнике, указанном RowSource изменились.

Наклонная черта влево ("\") обрабатывается как специальный символ, когда используется в выражении для элемент. Следующие правила применяется для этого символа:

  • Вы можете отключить выбор элемента в списке или поле со списком, добавляя единственную наклонную черту свлева в начале выражения.

  • Любое множество двух наклонных черт влево, используемых в выражении будет отображен как единственная наклонная черта влево. Например, одна или две наклонных черты влево, используемые вместе отобразятся как один, а три или четыре наклонных черты влево вместе отобразятся как два. Следующий код примера содержит элемент списка, содержит путь в Универсальном соглашение об именах (UNC). Код отобразился бы в списке как \\MyServer\MyMachine\MyFolder.

    Копировать код
    MyForm.List1.AddItem("\\\\MyServer\\MyMachine\\MyFolder")
  • Если выражение начинается с множественных наклонных черт влево, элемент не заблокируется. Если Вы хотите отключить элемент, который начинается с множественных наклонных черт влево, следует добавлять наклонную черту влево и близкую скобку (]) к началу элемента. Например, следующее отключило бы UNC путь в элементе в списка:

    Копировать код
    MyForm.List1.AddItem("\]\\\MyServer\\MyMachine\\MyFolder")
  • Чтобы включать строку разделителя, используйте наклонную черту влево, сопровождаемую дефисом, чтобы добавить элемент в список. Например, следующий код добавляет строку разделителя к списку:

    Копировать код
    MyForm.List1.AddItem("\-")

Вы можете также использовать элемент управления ActiveX, который добавляет дополнительные характеристики, типа CheckBox, элементы управления TreeView или ListView.

Пример

Следующий пример создает элемент управления ListBox. Источник элементов, которые появляются в списке - массив, заданный свойствами RowSourceType и RowSource .

Свойство MultiSelect для списка установлено на истину (.T)., разрешая Вам делать множественные выбор из списка. Элемент или элементы, которые Вы выбираете, отображены, используя свойства ListCount, Selected, и List (которые определяют номер элементов в списке и элементах, которые Вы выбрали).
Копировать код
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Fill the array with letters
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT

frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .f.  && Disable the Control menu box

frmMyForm.Move(150,10)  && Move the form

frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')  && Add "Quit" Command button
frmMyForm.AddObject('lstListBox1','lstMyListBox')  && Add ListBox control

frmMyForm.lstListBox1.RowSourceType = 5  && Specifies an array
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && Array containing listbox items

frmMyForm.cmbCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.lstListBox1.Visible =.T.  && "List Box visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
      CLEAR  && Clear main Visual FoxPro window
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox  && Create ListBox control
   Left = 10  && List Box column
   Top = 10  && List Box row
   MultiSelect = .T.  && Allow selecting more than 1 item

PROCEDURE Click
   ACTIVATE SCREEN
   CLEAR
   ? "Selected items:"
   ? "---------------"
   FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
      IF ThisForm.lstListBox1.Selected(nCnt)  && Is item selected?
         ? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item
      ENDIF
   ENDFOR

ENDDEFINE

Смотреть также

Другие ресурсы

Объекты, Коллекции и Классы
Свойства, методы и события элемента управления ListBox
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


ListBox Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол ListBox . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | Application | AutoHideScrollBar
BaseClass | BorderColor | BoundColumn
BoundTo | Class | ClassLibrary
ColorScheme | ColorSource | ColumnCount
ColumnLines | ColumnWidths | Comment
ControlSource | DisabledBackColor | DisabledForeColor
DisabledItemBackColor | DisabledItemForeColor | DisplayValue
DragIcon | DragMode | Enabled
FirstElement | FontBold | FontCharSet
FontCondense | FontExtend | FontItalic
FontName | FontOutline | FontShadow
FontSize | FontStrikeThru | FontUnderLine
Height | HelpContextID | IncrementalSearch
IntegralHeight | ItemBackColor | ItemData
ItemForeColor | ItemIDData | ItemTips
Left | List | ListCount
ListIndex | ListItem | ListItemID
MouseIcon | MousePointer | MoverBars
MultiSelect | Name | NewIndex
NewItemID | NullDisplay | NumberOfElements
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData | OLEDropMode | Parent
ParentClass | Picture | RightToLeft
RowSource | RowSourceType | Selected
SelectedID | SelectedItemBackColor | SelectedItemForeColor
Sorted | SpecialEffect | StatusBarText
TabIndex | TabStop | Tag
TerminateRead | Themes | ToolTipText
Top | TopIndex | TopItemID
Value | Visible | WhatsThisHelpID
Width |  |

Методы

AddItem | AddListItem | AddProperty
Clear | CloneObject | Drag
IndexToItemID | ItemIDToIndex | Move
MoveItem | OLEDrag | ReadExpression
ReadMethod | Refresh | RemoveItem
RemoveListItem | Requery | ResetToDefault
SaveAsClass | SetFocus | WriteExpression
WriteMethod | ZOrder |

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
ErrorMessage | GotFocus | Init
InteractiveChange | KeyPress | LostFocus
Message | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | OnMoveItem
ProgrammaticChange | RangeHigh | RangeLow
RightClick | UIEnable | Valid
When |  |

См. также

Другие ссылки

Контрол ListBox
Свойство ListCount
Дизайнер Форм
Использование Контролов

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Member Classes (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Классы членов (Visual FoxPro)
Смотрите также
CollapseAll image

Вы можете определить и создать субклассы объектов-членов некоторых контейнерных объектов. В приведенной ниже таблице перечислены членв и их родительские контейнеры:

Член | Контейнер
Page | PageFrame
CommandButton | CommandGroup
OptionButton | OptionGroup
Column | Grid
Header | Column

Используя классы членов, вы можете определить закрепленное поведение ддя всех членов конкретного класса. Например, вы можете определить особое поведение в событии Activate класса Page, который будет использован в конкретном классе PageFrame или объекте на его основе. Все страницы-члены для этого страничного фрейма будут наследовать один и тот же код или поведение.

Для установки пользовательского класса, который будет использоваться по умолчанию для объектов-членов, установите свойства MemberClassLibrary и MemberClass для классов контейнерного типа: PageFrame, CommandGroup, OptionGroup и Grid. Эти свойства определяют класс члена и библиотеку класса, которые вы желаете использовать при разработке вашего приложения. Когда эти свойства установлены, новые объекты-члены будут наследовать из указанного класса члена. Для объектов Column используйте свойства HeaderClassLibrary и HeaderClass для указания вашего собственного, пользовательского класса Header class.

Caution note Предупреждение

Не изменяйте во время разработки свойство Name класса члена, основанного на определении, указанном в программном файле (.prg). Если вы сделаете это, то будет сгенерирована ошибка - "Class definition name is not found." (Определение класса name не найдено)

Expand image Замечания

Обычно, объекты-члены для визуального использования должны находиться внутри своих родительских объектов. Родительские контейнеры могут содержать только объекты-члены. Например, объект Page должен находиться в объекте PageFrame для отображения в объекте Form, а объект PageFrame должен содержать по крайней мере один объект Page, чтобы быть видимым в объекте Form. Но здесь имеется два исключения:

  • Вы можете использовать командные кнопки внутри других контейнеров, без обязательного присутствия контейнера CommandGroup.

  • Объекты Column могут содержать и другие элементы управления, а не только один объект Header.

Объекты-члены существуют как дочерние элементы родительского контейнера, который содержит только члены, принадлежащие конкретному базовому классу. Например, присутствие объекта Page требует наличия уже существующего родительского контейнерного объекта PageFrame. Объект PageFrame может содержать только страницы и не может включать в себю командные кнопки.

Вы можете связать событие ввода нового объекта, используя метод _ASSIGN для свойства счетчика объектов родительского контейнера. Событие Init объекта члена происходит при добавлении объекта. Однако, в этом случае вы не можете передать параметры в событие Init вновь создаваемого объекта-члена потому, что члены создаются динамически при изменении значения счетного свойства родительского контейнера. Если вам необходимо передать параметры, вы должны использовать метод контейнера AddObject.

Необходимое пояснение переводчика.
Вы действительно можете добавлять объекты-члены в их родительский контейнер, используя так называемые счетные свойства последнего. Для контейнера PageFrame таким свойством является PageCount и вы можете изменить его в run-time с помощью приведенной ниже строки кода:

This|thisform.pageframe1.PageCount=5

В этом случае у вас действительно отсутствует возможность передачи параметров в событие Init вновь добавляемых страниц. В этой ситуации вам нужно заранее определить для страничного фрейма пользовательский метод PageCount_Assign и в нем вызов соответствующих ваших собственных, пользовательских процедур и функций для добавления во вновь введенные страницы желаемых элементов управления и обеспечения их функциональности.

Note Замечание

На формах, определенных в .scx файлах, если вы добавляете код создания экземпляра в событие Init класса-члена, Visual FoxPro сбросит этот код и запустит код, который определен для Init в определении класса-члена. Однако, при использовании форм, определенных в файлах библиотек визуальных класса (.vcx), Visual FoxPro создает инстинный субкласс. Вы можете безопасно добавлять код создания экземпляра и для других событий, например, для Click.

Любые значения свойства, к которым обращаются из события Init класса члена принадлежат этому оригинальному классу члена. Любые значения, которые могут быть переписаны в субклассе применяются после создания экземлпяра класса члена.

Такие поведения применяются только в формах, определенным в файлах .scx. После наступления события Init, класс члена обрабатывается одинаковым образом, как в формах, определенных в файлах форм (.scx), так и в формах, определенных в файлах классов (.vcx).

Expand image Смотрите также

Справочное руководство

Объект Page
Элемент управления PageFrame
Элемент управления CommandButton
Элемент управления CommandGroup
Элемент управления OptionButton
Элемент управления OptionGroup
Элемент управления Grid
Объект Column
Объект Header
Свойство MemberClass
Свойство MemberClassLibrary
Свойство HeaderClass
Свойство HeaderClassLibrary
Событие Init Event
Метод AddObject Method

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Objects Collection

Visual FoxPro 9.0 Language Reference
Коллекция Objects
Смотрите также

Представляет собой массив, обеспечивающий доступ к объектам, содержащимся в объекте Application

ApplicationObject.Objects(nIndex)

Возвращаемое значение

Параметры
nIndex

Уникально идентифицирует объект в объекте Application. Отметьте, что nIndex может не соответствовать порядку, в котором объекты были созданы.

Примечания

Применяется к: Объект Application | _VFP системная переменная | _SCREEN системная переменная | Объект Column | Элемент CommandGroup | Объект Container | Объект Control | Объект Custom | Объект DataEnvironment | Объект Form | Объект FormSet | Элемент Grid | Элемент OptionGroup | Объект Page | Элемент PageFrame | Объект ToolBar

Коллекция Objects может быть использована для определения текущих объектов для объекта Application. Объекта Column, CommandGroup, Container, Control, Custom, DataEnvironment, Form, FormSet, Grid, Page, PageFrame, OptionGroup и Toolbar также имеют коллекции и эти коллекции могут появляться в окне Debug.

Смотрите также

Прочие ресурсы

Объекты, коллекции и классы
Свойство Forms

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


OLE Bound Control

Visual FoxPro 9.0 Описание Языка
Контрол OLE Bound
См. также
CollapseAll image

Приводится общее описание Контрола OLE bound.

OLEBoundControl

Expand image Комментарии

Данный контрол применяется обычно для отображения внешних OLE-объектов на формах и в Отчетах (таких как, например, Microsoft Word или Microsoft Excel), или размещенных в соответствующих полях таблиц, типа General.

В отличие от рассматриваемого контрола, контрол OLE-контейнер имеет только ссылку на внешний объект, которая позволяет динамически подгружать соответствующие графические данные. Контрол OLE bound, в отличие от OLE-контейнера всегда размещается в соответствующем поле типа General из некоторой таблицы Visual FoxPro.

Дополнительную информацию по использованию OLE-объектов см. в разделе Общий доступ к информации и обработка OLE-объектов.

Expand image См. также

Описание

Контрол OLE Bound, Свойства, Методы, События
APPEND GENERAL, Команда
CREATE FORM, Команда
CREATE CLASS, Команда
CREATEBINARY( ), Функция
DEFINE CLASS, Команда
MODIFY GENERAL, Команда
Контрол OLE-контейнер

Другие ссылки

Объекты, Коллекции, и Классы

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


OLE Bound Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол OLE Bound. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Anchor | Application | AutoActivate
AutoSize | AutoVerbMenu | BaseClass
ClassLibrary | Class | Comment
ControlSource | DocumentFile | DragIcon
DragMode | Enabled | Height
HelpContextId | HostName | Left
MousePointer | Name | Object
OLEClass | OLELCID | OLETypeAllowed
ParentClass | Sizable | StatusBarText
Stretch | TabIndex | TabStop
Tag | ToolTipText | Top
Visible | WhatsThisHelpID | Width

Expand image События

Destroy | DragDrop | DragOver
Error | GotFocus | Init
LostFocus | Moved | Resize
UIEnable |  |

Expand image Методы

AddProperty | CloneObject | DoVerb
Drag | Move | Refresh
ResetToDefault | SaveAsClass | SetFocus
ZOrder |  |

Expand image См. также

Описание

Контрол OLE Bound
Контрол OLE Container

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


OLE Container Control

Visual FoxPro 9.0 Описание Языка
OLE Container, Контрол (элемент управления)
См. также Пример
CollapseAll image

Создает копию Контрола OLE container.

OLEControl

Expand image Комментарии

Рассматриваемый контрол (элемент управления) OLE container позволяет вам размещать и использовать в ваших Приложениях объекты OLE. Данные OLE-объекты могут быть: контролами ActiveX (файлы .ocx) или другие внедряемыми OLE-объектами, созданными во внешних Приложениях, таких как: Microsoft Word или Microsoft Excel. В отличие от контролов ActiveX (файлы .ocx ), внедряемые OLE-объекты не содержат собственных, обрабатываемых Событий. Рассматриваемые контролы OLE container, в отличие от аналогичных контролов OLE Bound, не привязаны (не связаны) с конкретными полями типа General в таблицах Visual FoxPro.

Обратите Внимание, что внешние Контролы типа ActiveX, которые погружены в данный контейнер OLE container наследуют все необходимые Разработчику Свойства, События и Методы порождающего Контрола ActiveX.

Дополнительную информацию об использовании внешних Объектов типа OLE в приложениях Visual FoxPro смотрите в разделе: Доступ к Информационным Объектам и использование механизма OLE.

Expand image Пример

В представленном далее примере Программного Кода используется рассматриваемый Контрол OLE Container, который добавляется в Форму, при этом используются Свойства: OleClass и DocumentFile, которые описывают требуемый Сервер Автоматизации (Automation Server) Microsoft Excel и соответствующую Рабочую Книгу (Microsoft Excel worksheet), которую планируется Редактировать.

Свойство DocumentFile содержит имя файла "Book1.xls", размещенного в каталоге EXCEL, на диске C:\. Данный пример программного кода не будет работать Должным образом, если заданы несуществующие (или ошибочные) параметры требуемых файлов; Внесите требуемые изменения для корректной работы программного кода.

* Метод DoVerb используется для активации Рабочей таблицы (WorkSheet) в условиях Режима Редактирования.

CopyCode image Копировать Код
frmMyForm = CREATEOBJECT('Form') && Create a Form
frmMyForm.Closable = .F. && Disable the window pop-up menu

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn') && Add Command button
frmMyForm.AddObject("oleObject","oleExcelObject") && Add OLE object

frmMyForm.cmdCommand1.Visible=.T. && Display the "Quit" Command button

frmMyForm.oleObject.Visible=.T. && Display the OLE control
frmMyForm.oleObject.Height = 50 && OLE control height

frmMyForm.Show && Display the Form

frmMyForm.oleObject.DoVerb(-1) && -1 for Edit

READ EVENTS && Start event processing

DEFINE CLASS oleExcelObject as OLEControl
 OleClass ="Excel.Sheet" && Server name
 DocumentFile = "C:\EXCEL\BOOK1.XLS" && This file must exist
ENDDEFINE

DEFINE CLASS cmdMyCmdBtn AS CommandButton && Create Command button
 Caption = '\<Quit' && Caption on the Command button
 Cancel = .T. && Default Cancel Command button (Esc)
 Left = 125 && Command button column
 Top = 210 && Command button row
 Height = 25 && Command button height

 PROCEDURE Click
 CLEAR EVENTS && Stop event processing, close form
ENDDEFINE

Expand image См. также

Описание

OLE Container Контрол: Свойства, Методы, События
ActiveX Контролы, общее описание
APPEND GENERAL, команда
CREATE FORM, команда
CREATE CLASS, команда
CREATEBINARY( ), функция
DEFINE CLASS, команда
MODIFY GENERAL, команда
OLE Bound, контрол

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


OLE Container Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол OLE Container . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Align | Anchor | Application
AutoActivate | AutoSize | AutoVerbMenu
BaseClass | Cancel | Class
ClassLibrary | Comment | ControlSource
Default | DocumentFile | DragIcon
DragMode | Enabled | Height
HelpContextID | HostName | Left
MouseIcon | MousePointer | Name
Object | OLEClass | OLELCID
OLETypeAllowed | Parent | ParentClass
Sizable | Stretch | TabIndex
TabStop | Tag | Top
Visible | WhatsThisHelpID | Width

События

Destroy | DragDrop | DragOver
Error | GotFocus | Init
LostFocus | Moved | Resize
UIEnable |  |

Методы

AddProperty | CloneObject | DoVerb
Drag | Move | Refresh
ResetToDefault | SaveAsClass | SetFocus
ShowWhatsThis | Zorder |

См. также

Другие ссылки

Контрол OLE Container
Общая информация и добавление объектов OLE

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OptionButton Control

Visual FoxPro 9.0 Language Reference
Элемент управления OptionButton
Смотреть также

Создает одиночный переключатель.

Вы можете использовать группу группы переключателей, чтобы обеспечить выбор из предопределенных значений. Для получения дополнительной информации о создании группы группы переключателей, см. элемент управления OptionGroup и использование элементов управления..

OptionButton

Комментарии

Вы можете добавить переключатель к любому контейнеру, когда добавлено к OptionGroup контейнеру, кнопка синхронизирована с другой группой переключателей в этом OptionGroup так, чтобы только одна кнопка могла быть выбрана одновременн

Когда Вы устанавливаете свойство Style для элемента управления OptionButton в Graphical, элемент управление Graphical принимает вид подобный элементу управленитю CommandButton, и может содержать и графику и текст. Для получения дополнительной информации, см. Style Property.

Смотреть также

Другие ресурсы

Свойста элемента управления OptionButton, Методы и События
Объекты, Коллекции и Классы
Команда CREATE FORM
Команда CREATE CLASS
Команда DEFINE CLASS

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


OptionButton Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол OptionButton . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alignment | Anchor | Application
AutoSize | BackColor | BackStyle
BaseClass | Caption | Class
ClassLibrary | ColorScheme | ColorSource
Comment | ControlSource | DisabledBackColor
DisabledForeColor | DisabledPicture | DownPicture
DragIcon | DragMode | Enabled
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderLine | ForeColor
Height | HelpContextID | Left
MousePointer | Name | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | Parent | ParentClass
Picture | PictureMargin | PicturePosition
PictureSpacing | RightToLeft | SpecialEffect
StatusBarText | Style | TabIndex
TabStop | Tag | TerminateRead
Themes | ToolTipText | Top
Value | Visible | WhatsThisHelpID
Width | WordWrap |

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
ErrorMessage | GotFocus | Init
KeyPress | LostFocus | Message
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | OLECompleteDrag | OLEDragDrop
OLEDragOver | OLEGiveFeedBack | OLESetData
OLEStartDrag | RightClick | Valid
When |  |

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | WriteExpression
WriteMethod | ZOrder |

См. также

Другие ссылки

Контрол OptionButton
Как: Установить значение свойств Option Button

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OptionGroup Control

Visual FoxPro 9.0 Language Reference
Элемент управления OptionGroup
Смотреть также Example

Создает группу переключателей.

OptionGroup

Комментарии

Группы переключателей представляют собой контейнеры, содержащие переключатели. Группа переключателей предоставляет возможность выбора одного из них. Если установить какой-либо переключатель, он становится текущим и при этом сбрасывается ранее установленный переключатель. Установленный в данный момент переключатель помечается символом бюллетеня. Например, с помощью переключателей можно направить вывод в файл, на принтер или в окно.

Подробнее о создании групп переключателей см. "Применение элементов управления" Руководства разработчика..

Пример

В следующем примере создается элемент управления OptionGroup, который помещается в форму. Этот элемент управления содержит три переключателя, и в зависимости от установленного переключателя изображается окружность, эллипс или квадрат. Свойства Buttons и Caption используются для задания текста, отображаемого рядом с каждым из переключателей.

Элемент управления Shape используется для создания окружности, квадрата и эллипса. Событие Click элемента управления OptionGroup использует структуру DO CASE ... ENDCASE и свойство Value для отображения соответствующей фигуры при установке того или иного переключателя.
Копировать код
frmMyForm = CREATEOBJECT('Form')  && Создаем форму
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && добавить командную кнопку
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && добавить группу переключателей
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && добавить Shape окружность
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && добавить Shape эллипс
frmMyForm.AddObject('shpSquare','shpMySquare')  && добавить прямоугольный Shape

frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Установить видимость командной кнопке

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Set Option group width
frmMyForm.opgOptionGroup1.Visible = .T.  && Установить видимость группе переключателей
frmMyForm.opgOptionGroup1.Click  && Показать окружность

frmMyForm.SHOW  && Отобразить форму
READ EVENTS  && Запустить обработку событий

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Создать группу переключателей
   ButtonCount = 3  && с 3-мя переключателями
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Скрыть окружность
      ThisForm.shpEllipse1.Visible = .F.  &&Скрыть эллипс
      ThisForm.shpSquare.Visible = .F.  && Скрыть прямоугольник

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Показать окружность
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Показать эллипс
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Показать прямоугольник

      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Создать командную кнопку
   Caption = '\<Quit'  && Текст командной кнопки
   Cancel = .T.  && Установить реакцию по умолчанию на нажатие Esc
   Left = 125  && вертикальное положение кнопки относительно формы
   Top = 210  && горизонтальное положение кнопки относительно формы
   Height = 25  && Высота командной кнопки

   PROCEDURE Click
      CLEAR EVENTS  && остановить обработчик событий и закрыть форму
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Создать окружность
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Красный
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Создать эллипс
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Зеленый
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Создать прямоугольник
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && Голубой
ENDDEFINE

Смотреть также

Другие ресурсы

Объекты, Коллекции и классы
Свойства элемента управления OptionGroup, Методы и События
Команда CREATE FORM
Команда CREATE CLASS
Команда DEFINE CLASS
Элемент управления OptionButton

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


OptionGroup Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол OptionGroup. Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | Application | AutoSize
BackColor | BackStyle | BaseClass
BorderColor | BorderStyle | ButtonCount
Buttons | Class | ClassLibrary
Comment | ColorSource Property | ControlSource
DragIcon | DragMode | Enabled
Height | HelpContextID | Left
MemberClass | MemberClassLibrary | MouseIcon
MousePointer | Name | Objects
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData | OLEDropMode | Parent
ParentClass | SpecialEffect | StatusBarText
TabIndex | Tag | TerminateRead
Themes | ToolTipText | Top
Value | Visible | WhatsThisHelpID
Width |  |

Методы

AddObject | AddProperty | CloneObject
Drag | Move | OLEDrag
ReadExpression | ReadMethod | Refresh
RemoveObject | ResetToDefault | SaveAsClass
SetAll | WriteExpression | WriteMethod
ZOrder |  |

События

Click | DblClick | DragDrop
DragOver | Error | ErrorMessage
Init | InteractiveChange | Message
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | OLECompleteDrag | OLEDragDrop
OLEDragOver | OLEGiveFeedBack | OLESetData
OLEStartDrag | ProgrammaticChange | RightClick
UIEnable | Valid | When

См. также

Другие ссылки

Контрол OptionGroup

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Page Object

Visual FoxPro 9.0 Описание Языка
Page, объект
См. также
CollapseAll image

Создает экземпляр объекта Page в соответствующем контроле PageFrame.

Рекомендуется использовать рассматриваемый объект для создания нескольких наложенных страниц (областей) для Формы или Диалогового бокса. Обычно контрол Page Frame содержит целый набор Страниц (Pages). Дополнительную информацию по созданию и использованию Страниц в контролах Page Frames, смотрите параграф "Добавление контрола Page Frame в Форму" в разделе: Контролы для расширения Форм.

Page

Expand image Комментарии

В качестве ссылки на конкретный объект Page в контроле PageFrame можно использовать его Имя, как показано в примере:

CopyCode image Копировать Код
myFrame.MyPage1

Вы можете также использовать в качестве ссылки номер конкретной Страницы, для этого используется стандартное свойство (коллекция) контрола PageFrame Pages. Указанная конструкция (использование коллекций) применяется и для других контейнерных классов Visual FoxPro.

CopyCode image Копировать Код
myFrame.Pages(2).Enabled = .T.

Рассмотренный индекс, как номер конкретной страницы, может не соответствовать значению свойства PageOrder. Возможет вариант, когда значения указанного свойства для объектов соответственно равны PageOrders = 2, =3, =5. А к конкретному объекту можно обратиться по индексу:

CopyCode image Копировать Код
myFrame.Pages(1)
myFrame.Pages(2)
myFrame.Pages(3)

При выполнении метода олбновления Формы: Form Refresh обновляется содержание и Контролы только Активной Страницы.

Expand image См. также

Описание

Page, объект; Свойства, Методы, События
CREATE FORM , Команда
CREATE CLASS , Команда
DEFINE CLASS , Команда
PageFrame, контрол

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Page Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Page. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

ActiveControl | Application | BackColor
BackStyle | BaseClass | Caption
Class | ClassLibrary | ColorSource
Comment | ControlCount | Controls
DragIcon | DragMode | Enabled
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderline | ForeColor
HelpContextID | MouseIcon | MousePointer
Name | Objects | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | PageOrder | Parent
ParentClass | Picture | Tag
ToolTipText | WhatsThisHelpID |

Expand image События

Activate | Click | DblClick
Deactivate | Destroy | DragDrop
DragOver | Error | Init
MiddleClick | MouseDown | MouseEnter
MouseLeave | MouseMove | MouseUp
MouseWheel | OLECompleteDrag | OLEDragDrop
OLEDragOver | OLEGiveFeedBack | OLESetData
OLEStartDrag | RightClick |

Expand image Методы

AddObject | AddProperty | CloneObject
Drag | OLEDrag | ReadExpression
ReadMethod | Refresh | RemoveObject
ResetToDefault | SaveAsClass | SetAll
SetFocus | WriteExpression | WriteMethod
ZOrder |  |

Expand image См. также

Описание

Объект Page
Контролы для расширения Форм

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


PageFrame Control

Visual FoxPro 9.0 Описание Языка
Контрол PageFrame
См. также
CollapseAll image

Описываются общие сведения о контейнере PageFrame, который состоит из нескольких Page (Страниц-закладок).

Данный контрол является контейнером обычных страниц, которые содержат элементы управления данными.

Note Примечание

Чтобы добавить рассматриваемый контрол в пользовательскую форму, он должен быть видимым.

PageFrame

Expand image Комментарии

Данный контрол определяет глобальные характеристики для всех своих страниц: размер, размещение, тип границы, начальная страница при первом обращении и так далее. Контрол PageFrame однозначно определяет порядок следования своих страниц, активная страница имеет выделенный ярлычек (Tab), данные ярлычки могут располагаться сверху (по-умолчанию), снизу, слева и справа. Если весь контрол перемещается, то перемещаются все его мтраницы, вместе с содержащимися в них элементами управления.

По-умолчанию, каждая страница данного контрола имеет собственное унмкальное имя, например Page1, Page2, Page3....

Note Примечание

При выполнении метода формы Form Refresh, обновляется только активная страница рассматриваемого контейнера.

Свойство контейнера PageFrame Themes обеспечивает "градиентный" эффект для каждого объекта из рассматриваемой страницы Page, для таких объектов как label, option button, и других объектов, для которых корректно поддерживается свойство BackStyle, которое устанавливается в значение = Opaque (непрозрачное). В некоторых ситуациях вы можете изменить данное свойство, как= Transparent (прозрачное).

Дополнительная информация по использованию контрола PagrFrame см. в подразделе "Добавление контролов PageFrame в пользовательские формы" в разделе Контролы для расширения возможностей Форм.

Expand image См. также

Описание

Контрол PageFrame, Свойства, Методы, События
CREATE FORM, Команда
CREATE CLASS, Команда
DEFINE CLASS, Команда
Объект Page

Другие ссылки

Объекты, Коллекции, и Классы

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


PageFrame Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол PageFrame. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

ActivePage | Anchor | Application
BaseClass | BorderColor | BorderWidth
Class | ClassLibrary | ColorSource
Comment | DragIcon | DragMode
Enabled | HelpContextID | Height
Left | MemberClass | MemberClassLibrary
MouseIcon | MousePointer | Name
Objects | OLEDragMode | OLEDragPicture
OLEDropEffects | OLEDropHasData | OLEDropMode
PageCount | PageHeight | Pages
PageWidth | Parent | ParentClass
RightToLeft | SpecialEffect | StatusBarText
TabIndex | TabOrientation | Tabs
TabStop | TabStyle | Tag
Themes | ToolTipText | Top
Visible | WhatsThisHelpID | Width

Expand image Методы

AddObject | AddProperty | CloneObject
Drag | Move | OLEDrag
ReadExpression | ReadMethod | Refresh
RemoveObject | ResetToDefault | SaveAsClass
SetAll | WriteExpression | WriteMethod
Zorder |  |

Expand image События

Click | DblClick | Destroy
DragDrop | DragOver | Error
Init | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | Moved
OLECompleteDrag | OLEDragDrop | OLEDragOver
OLEGiveFeedBack | OLESetData | OLEStartDrag
Resize | RightClick | UIEnable

Expand image См. также

Описание

Контрол PageFrame
Контролы для расширения Форм

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Parent Object Reference

Visual FoxPro 9.0 Справочное руководство по языку
Ссылка на родитеский объект (Parent Object Reference)
Смотрите также
CollapseAll image

Ссылается на объект контейнера, в котором помещен элемент управления. Не доступно в design time; только для чтения в run time.

Control.Parent

Expand image Примечание

Применяется к: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | CursorAdapter Class | Custom Object | EditBox Control | Exception Class (Visual FoxPro) | Form Object | Grid Control | Header Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Project Object (Visual FoxPro) | ProjectHook Object | Separator Object | Session Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Используйте ключевое слово Parent для обращения к свойствам, методам или элементам управления объекта контейнера, в котором помещен элемент управления. Вы можете, кроме того, использовать ссылку на родительский объект для доступа к объекту контейнера страницы или формы.

Ключевое слово Parent полезно в приложениях, в которых вы посылаете элементы управления в качестве параметров в какие-то методы или функции. Например, вы можете послать переменную элемента управления в общую процедуру и использовать ссылку на родительский объект для обращения к его контейнеру.

Вы можете, кроме того, использовать Parent для объектов в классу элемента управления, который будет помещен на неизвестную пока форму.

Expand image Смотрите также

Справочное руководство

Свойство BaseClass

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Project Object (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Объект Project (Visual FoxPro)
Смотрите также
CollapseAll image

Создается при создании или открытии проекта, обеспечивая программный доступ к свойствам и методам проекта.

Project

Expand image Замечания

Объект проекта создается, когда вы выдаете команды CREATE PROJECT, MODIFY PROJECT, BUILD APP, BUILD DLL, BUILD EXE, BUILD MTDLL или BUILD PROJECT.

Отметьте, что объект проекта и его свойства недоступны в событии Init объекта ProjectHook. Значения свойств, которые вы установили, или методы, которые вы вызываете в событии Init объекта ProjectHook - игнорируются.

Отметьте, что объект проекта представляет собой COM объекта, поэтому присвоение объектной ссылки на объект проекта переменной памяти создает переменную памяти класса "Unknown Type."

Для получения более подробной информации о проектах смотрите описание Project Manager Hooks.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Project (Visual FoxPro)
Свойство ActiveProject
Объект File (Visual FoxPro)
Коллекция Files (Visual FoxPro)
Коллекция Projects (Visual FoxPro)
Объект ProjectHook
Объект Server
Коллекция Servers

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Project Object Properties, Methods, and Events (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Объект Project. Свойства, Методы и События (Visual FoxPro)
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Application | AutoIncrement | BaseClass
BuildDateTime | Debug | Encrypted
Files Collection | HomeDir | Icon
MainFile | Name | Parent
ProjectHook | ProjectHookClass | ProjectHookLibrary
SCCProvider | ServerHelpFile | ServerProject
TypeLibCLSID | TypeLibDesc | TypeLibName
VersionComments | VersionCompany | VersionCopyright
VersionDescription | VersionLanguage | VersionNumber
VersionProduct | VersionTrademarks | Visible

Expand image Методы

Build | CleanUp | Close
Refresh | SetMain |

Expand image См. также

Описание

Объект Project
Объект ProjectHook. Свойства, методы и события
Объект ProjectHook

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


ProjectHook Object

Visual FoxPro 9.0 Описание Языка
ProjectHook, Объект
См. также
CollapseAll image

Обеспечивает создание экземпляра требуемого Объекта в момент открытия текущего Проекта; позволяет программным способом получить доступ к Событиям Проекта.

ProjectHook

Expand image Комментарии

Объект типа ProjectHook является базовым классом Visual FoxPro, который позволяет определить Значения Свойств Проекта всякий раз, когда данный Проект Открывается. (Вы можете использовать опциональный параметр NOPROJECTHOOK для команды CREATE PROJECT или команды MODIFY PROJECT, которая обеспечивает блокировку создания и подсоединения описываемого Объекта ProjectHook.)

Рассматриваемый объект ProjectHook обеспечивает программный доступ к Событиям, пороисходящим в рассматриваемом Проекте. Например, вы можете контролировать (или выполнять некоторый программный код) в том случае, когда в Проект добавляется новый Программный файл. Обратите внимание, что вы можете определить некоторый класс типа ProjectHook для каждого нового, создаваемого Проекта, для этого рекомендуется использовать Закладка Projects, которая находится в диалоговом боксе Options, или можно определить рассматриваемый Класс для конкретного, нового Проекта, для этого рекомендуется использовать Диалоговый Бокс Project Information. При выполнении программного Модуля, вы можете определить требуемый объект класса ProjectHook как показано в следующем Фрагменте Программного Кода:

CopyCode image Копировать Код
MODIFY PROJECT MyProject
_VFP.Projects('MyProject.pjx').ProjectHook = ;
 NewObject('MyProjectHook', 'MyClass.vcx')

Требуемый Объект, порождаемый базовым классом типа ProjectHook, может быть создан обычными стандартными командами и функциями: CREATE CLASS, CREATEOBJECT( ), или NEWOBJECT( ).

Дополнительную информацию о Проектах Приложения смотрите в разделе: Перехватчики (Hooks) для Диспетчера Проектов.

Expand image См. также

Описание

Объект ProjectHook; Свойства, Методы, События
CREATE CLASS, Команда
CREATEOBJECT( ), функция
File, объект (Visual FoxPro)
Files, коллекция (Visual FoxPro)
NEWOBJECT( ), функция
ProjectHook, Свойство
Projects, коллекция (Visual FoxPro)
Project, Объект (Visual FoxPro)
Server, Объект
Servers, коллекция

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ProjectHook Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект ProjectHook. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Application | BaseClass | Class
ClassLibrary | Comment | Name
OLEDropEffects | OLEDropHasData | OLEDropMode
Parent | ParentClass | Tag

Expand image События

Activate | AfterBuild | BeforeBuild
Deactivate | Destroy | Error
Init | OLEDragDrop | OLEDragOver
OLEGiveFeedBack | QueryAddFile | QueryModifyFile
QueryNewFile | QueryRemoveFile | QueryRunFile
SCCDestroy | SCCInit |

Expand image Методы

AddProperty | ReadExpression | ReadMethod
ResetToDefault | SaveAsClass | WriteExpression

Expand image См. также

Описание

Объект ProjectHook

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Projects Collection (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Коллекция Projects (Visual FoxPro)
Смотрите также
CollapseAll image

Коллекция проектов, как объектов.

Projects

Expand image Примечания

Применяется к: системной переменной _VFP | объекту Application

Коллекция проектов предоставляет доступ с объектам проектов, обеспечивая вам возможность управлять проектами, файлами и серверами внутри проекта.

Обращение к предметам в коллекции проектов может быть осуществлено либо через индексы, либо через имена. Например, приведенный ниже код перестраивает проект, открытый последним:

CopyCode image Скопировать код
_VFP.Projects(1).Build( )

В приведенном ниже процедурном коде перестраивается проект с именемnamed MyProject:

CopyCode image Скопировать код
_VFP.Projects('MyProject.pjx').Build( )

Для получения более подробной информации о коллекции проектов смотрите Блоки Project Manager.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события коллекции проектов (Visual FoxPro)
Объект File (Visual FoxPro)
Коллекция Files (Visual FoxPro)
Объект Project (Visual FoxPro)
Объект ProjectHook
Объект Server
Коллекция Servers

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Projects Collection Properties, Methods, and Events (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Коллекция Projects. Свойства, методы и события (Visual FoxPro)
См. также
CollapseAll image

В следующей таблице представлены ссылки на описания свойств и методов данной коллекции.

Expand image Свойства

Count

Expand image Методы

Item

Expand image См. также

Описание

Коллекция Projects (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Relation Object

Visual FoxPro 9.0 Описание Языка
Relation, объект
См. также
CollapseAll image

Данный объект создается в том случае, когда вы определяете Связь (соединение) таблиц в соответствующем Дизайнере Среды Данных для объектов Form, FormSet, Report.

Relation

Expand image Комментарии

Объект Relation предоставляет вам возможность создать Связь (соединения) таблиц данных, обусловленную решаемыми задачами.

Определение свойств объекта Relation во время выполнения программы вызывает исключительную ситуацию (Ошибку). Для активации новых значений измененных Свойств вам необходимо выполнить последовательно методы CloseTables и OpenTables, обновляющие текущее состояние Среды данных для Формы или Отчета.

Дополнительную информацию о настройке Среды Данных (Data Environment) для объектов Form / FormSet смотрите в разделе: Как: Определить Среду Данных.

Expand image См. также

Описание

Relation, объект: Свойства, Методы и События
Cursor, объект
DataEnvironment, объект

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Relation Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Relation. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Application | ChildAlias | ChildOrder
Comment | Name | OneToMany
ParentAlias | RelationalExpr | Tag

Expand image События

Destroy

Error

Init

Expand image Методы

AddProperty | ReadExpression | ReadMethod
ResetToDefault | WriteExpression |

Expand image См. также

Описание

Объект Relation
Функция RELATION( )
Объект Cursor
Объект DataEnvironment

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


ReportListener Object

Объект ReportListener
Смотрите также
CollapseAll image

Предоставляет объектое содействие (ассистирование) командам REPORT FORM и LABEL FORM.

ReportListener

Expand image Примечания

Когда Report Engine обрабатывает ваши раскладки и данные отчета или этикетки, он посылает информацию объекту ReportListener прежде, чем послать ее непосредственно на вывод на принтер. ReportListener "слушает" эти инструкции и отрабатывает ответственность по оценке и рендерингу содержания соответственно вашему устройству вывода.

Класс ReportListener специально разработан для двухстронней связи с Report Engine на всем протяжении процесса генерации отчета. С помощью ReportListener вы можете:

  • Написать код для каждого процесса отображения элемента и событий полосок/областей как процесс генерации отчета - проходя вперед по области записи отчета.

  • Менять позицию элементов расколадки, которые изображаются или их содержание.

  • Предоставлять обратную связь пользователю о ходе исполнения отчета.

  • Делать запросы report engine для картинок страниц для их отображения на экране или сохранения на диск.

  • Обслуживать частные сессии данных (private data session), хранить информацию из таблиц определения отчета или этикетки (.frx или .lbx) для исследрвания аттрибутов объектов отчета и полосок/областей (bands).

  • Непосредственно контактировать с устройством, на которое Report System отображает вывод.

  • Исследовать все опции команды REPORT FORM и менять некоторые из этих опций динамически.

Visual FoxPro дает вам несколько разных путей для подключения объекта ReportListener к командам REPORT FORM или LABEL FORM:

  • Использовать в команде опцию OBJECT. Для получения более подробной информации смотрите REPORT FORM Command.

  • Использовать опцию OBJECT TYPE <N>, указывая номер ListenerType для типа вывода, который вы желаете создать. Report Engine запрашивает ReportListener об подходящием ListenerType из приложения Report Output Application. Для получения более подробной информации смотрите Свойство ListenerType и Report Output Application.

  • Использовать SET REPORTBEHAVIOR 90 для активизации объектного ассистирования всем командам REPORT FORM и LABEL FORM в приложении. Для получения более подробной информации смотрите Команда SET REPORTBEHAVIOR.

Используя ReportListeners, вы можете направить вывод на множественные устройства вывода за время исполнения отчета и вы можете добавить типы вывода, такие как HTML, которые отчеты Visual FoxPro не поддерживают по своей природе. Для получения более подробной информации смотрите Фундаментальные классы ReportListener and Расширения отчетов в Run Time.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта ReportListener

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ReportListener Object Properties, Methods, and Events

Visual FoxPro 9.0
ReportListener Объект, свойства, методы, и события
Смотрите также

В следующий таблице перечислены свойства, события, методы, и ссылки на темы для этого объекта.

Свойства

AllowModalMessages | BaseClass | Class
ClassLibrary | CommandClauses | Comment
CurrentDataSession | CurrentPass | DynamicLineHeight
FRXDataSession | GDIPlusGraphics | ListenerType
Name | OutputPageCount | OutputType
PageNo | PageTotal | ParentClass
PreviewContainer | PrintJobName | QuietMode
SendGDIPlusImage | Tag | TwoPassProcess

События

AdjustObjectSize | AfterBand | AfterReport
BeforeBand | BeforeReport | Destroy
Error | EvaluateContents | Init
LoadReport | UnloadReport |

Методы

AddProperty | CancelReport | ClearStatus
DoMessage | DoStatus | GetPageHeight
GetPageWidth | IncludePageInOutput | OnPreviewClose
OutputPage | ReadExpression | ReadMethod
Render | ResetToDefault | SaveAsClass
SupportsListenerType | UpdateStatus | WriteExpression
WriteMethod |  |

Смотрите также

Ссылки

ReportListener Object

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


Separator Object

Visual FoxPro 9.0 Описание Языка
Separator, объект
См. также
CollapseAll image

Создает объект Separator (Разделитель), который отделяет одну группу Контролов от другой в Контейнере типа ToolBar.

Separator

Expand image Комментарии

Элементы управления в инструментальных линейках типа ToolBar автоматически размещаются плотно друг-к-другу, один-за-другим при условии, что разработчик не использует специальный Объект Separator, который отделяет Контролы. Объект Separator является специальным графическим Объектом, который может логически разделять инструментальные линейки на некоторые Группы Контролов.

Дополнительную информацию по созданию инструментальных групп ToolBars, и использованию объектов Separator смотрите в разделе Разработка пользовательских Меню и Инструментариев Toolbars.

Expand image См. также

Описание

Объект Separator, Свойства, Методы, События
CREATE CLASS, команда
CREATE FORM, команда
DEFINE CLASS, команда
ToolBar, объект

Другие ссылки

Objects, Collections, and Classes

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Separator Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Separator, Свойства, Методы и События
See Also

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Application | BaseClass | Class
ClassLibrary | Comment | Enabled
Name | Parent | ParentClass
Style | Tag | Visible

События

Destroy

Error

Init

Методы

AddProperty | ReadExpression | ReadMethod
ResetToDefault | SaveAsClass | WriteExpression
ZOrder |  |

См. также

Другие ссылки

Объект Separator

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Server Object

Visual FoxPro 9.0 Описание Языка
Server, объект
См. также
CollapseAll image

Является ссылкой на объект server в текущем Проекте Приложения.

Server

Expand image Комментарии

Объект Server создается и отождествляется (instantiated) для каждого Сервера Проекта созданного Приложения, исполняемого файла программы (.exe) или некоторой динамической библиотеки (.dll). Рассматриваемый объект Server обеспечивает работу общей технологии получения Объектных ссылок на компоненты Приложения, обеспечивает механизм доступа к значениям Свойств данного объекта Приложения.

Коллекция всех Серверов Проекта (Servers Collection) содержит все объектные ссылки на соответствующие Серверы Проекта.

Обратите внимание, что рассматриваемая ссылка на Объект Server является сылкой на объект COM, поэтому, при присваивании ссылки данного Объекта некоторой переменной памяти создается переменная класса "Unknown Type."

Expand image См. также

Описание

Server, объект; Свойства, Методы, События
File, объект (Visual FoxPro)
Files, коллекция объектов (Visual FoxPro)
Project, объект (Visual FoxPro)
Projects, коллекция объектов (Visual FoxPro)
ProjectHook, объект
Servers, коллекция объектов

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Server Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Server. Свойства, методы и события
См. также
CollapseAll image

В следующей таблице представлены ссылки на описания свойств данного объекта.

Expand image Свойства

CLSID | Description | HelpContextID
Instancing | ProgID | ServerClass
ServerClassLibrary |  |

Expand image См. также

Описание

Объект Server

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Servers Collection

Visual FoxPro 9.0 Описание Языка
Servers, коллекция
См. также
CollapseAll image

Является Коллекцией объектов Server.

Servers

Expand image Комментарии

Коллекция Servers обеспечивает доступ к отдельным объектам Server, управление которыми осуществляется в Диспетчерах Проетов.

Дополнительная информация о серверных коллекциях и о Проектах размещена в: Project Manager Hooks.

Дополнительная информация по созданию Серверов Автоматизации (Automation servers) размещена в: Как: Создать Сервер Автоматизации.

Expand image См. также

Описание

Servers, коллекция. Свойства, События, Методы
File, объект (Visual FoxPro)
Files, коллекция (Visual FoxPro)
Project, объект (Visual FoxPro)
Projects, коллекция (Visual FoxPro)
ProjectHook, объект
Server, объект

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Servers Collection Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Коллекция Servers, свойства, методы и события
См. также

В следующих таблицах представлены ссылки на описания свойств и методов данного объекта.

Свойства

Count

Методы

Item

См. также

Другие ссылки

Коллекция Servers

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Session Object

Visual FoxPro 9.0 Справочное руководство по языку
Объект Session
Смотрите также
CollapseAll image

Создает настраиваемый, определенный пользователем объект, который управляет свой собственной сессией данных.

DEFINE CLASS ClassName1 AS Session

Expand image Примечания

Вы можете создать этот настраиваемый, определенный вами же класс только с помощью команды DEFINE CLASS. Однако, вы можете программно добавить объект, созданный на базе этого класса в форму или иной контейнер.

Настраиваемые, определенные пользователем классы подобного типа являются классами имеющими свойства, события и методы, но не имеющими визуального представления. Теже общие правила, которые применяются к определению других типов классов, применяются к определению настраиваемых (custom) классов. Используйте объект Session для эффективного управления памятью и для гарантии безопасного поведения множества инстанций объектов в много-слойных приложениях.

Смотрите описание Объектно-ориентированное программирование для получения дополнительной информации о создании настраиваемых объектов как невизуальных классов.

Начиная с Visual FoxPro 7.0, значениями по умолчанию для сессий данных Visual FoxPro являются приведенные ниже:

Установка | Значение
EXCLUSIVE | ON
SAFETY | OFF
TALK | OFF

Ниже приведены значения по умолчанию для форм с частной сессией данных:

Установка | Значение
EXCLUSIVE | OFF
SAFETY | ON
TALK | ON

Форма, которая использует сессию данных, установленную по умолчанию, кроме того, использует установки, которые уже существовали для этой сессии, поскольку сессия была создана до создания формы.

Когда объект сессии представляет собой COM Server, все внутренние свойства рассматриваются как частные.

Expand image Смотрите также

Задачи

Как: добавить в форму определенные пользователем объекты

Справочное руководство

Свойства, методы и события объекта Session
Команда DEFINE CLASS
Команды, область действия которых принадлежит сессии данных

Прочие ресурсы

Объекты, коллекции и классы
Объектно-ориентированное программирование

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Session Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект Session. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Application | BaseClass | Class
ClassLibrary | Comment | DataSession
DataSessionID | Name | Parent
ParentClass | Tag |

Expand image Методы

AddProperty | ReadExpression | ReadMethod
ResetToDefault | WriteExpression |

Expand image События

Destroy

Error

Init

Expand image См. также

Задачи

Как: Добавить объекты пользователя в Форму

Описание

Объект Session
DEFINE CLASS Команда
Команды области действия Data Session

Другие ссылки

Объектно-ориентированное Программирование

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Shape Control

Visual FoxPro 9.0 Справочное руководство по языку
Shape элемент управления
Смотрите также Пример

Создает фигуру - элемент управления, отображающий прямоугольник, круг или эллипс.

ShapeButton screenshot foxpro
Shape

Замечания

Shape - это графический элемент управления, отображающий прямоугольник, круг или эллипс, которые нельзя изменить непосредственно. Однако поскольку фигура обладает полным комплектом свойств, событий и методов, как и прочие элементы управления, она может реагировать на события и может быть изменена динамически на этапе выполнения.

Свойство Curvature определяет, какая именно фигура отображается, и может изменяться в диапазоне от 0 до 99. Значение 0 задает нулевую кривизну и строит прямые углы; 99 задает максимальную кривизну и строит окружности и эллипсы

Подробнее о создании фигур см. тему Form Designer и Using Controls.

Пример

Следующий пример демонстрирует, как с помощью элемента управления Shape можно отображать в форме окружность, эллипс или квадрат.

Создается форма, и в нее помещается несколько переключателей и одна командная кнопка. При установке одного из переключателей в форме отображается соответствующая фигура. Для свойства Visible устанавливается значение "истина" (.T.), позволяющее отобразить фигуру; установка "ложь" (.F.) скрывает фигуру перед тем, как отобразить другую. Свойства Height, Width и Curvature каждой из фигур определяют тип создаваемой фигуры (окружность, эллипс или квадрат).

Копировать код
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Add Command button
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Add Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Add Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Add Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')  && Add Box Shape

frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Command button visible

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Set Option group width
frmMyForm.opgOptionGroup1.Visible = .T.  && Option Group visible
frmMyForm.opgOptionGroup1.Click  && Show the circle

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Create an Option Group
   ButtonCount = 3  && Three Option buttons
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Hide the circle
      ThisForm.shpEllipse1.Visible = .F.  && Hide the ellipse
      ThisForm.shpSquare.Visible = .F.  && Hide the square

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Show the circle
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Show the ellipse
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Show the square
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

DEFINE CLASS shpMyCircle AS Shape  && Create a circle
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Red
ENDDEFINE

DEFINE CLASS shpMyEllipse AS Shape  && Create an ellipse
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Green
ENDDEFINE

DEFINE CLASS shpMySquare AS Shape  && Create a square
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && Blue
ENDDEFINE

Смотрите также

Прочие ресурсы

Shape Control Properties, Methods and Events
CREATE CLASS Command
CREATE FORM Command
DEFINE CLASS Command
Objects, Collections, and Classes
Language Reference

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


Shape Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Shape . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Anchor | Application | BackColor
BackStyle | BaseClass | BorderColor
BorderStyle | BorderWidth | Class
ClassLibrary | ColorScheme | ColorSource
Comment | Curvature | DragIcon
DragMode | DrawMode | Enabled
FillColor | FillStyle | Height
HelpContextID | Left | MouseIcon
MousePointer | Name | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | Parent | ParentClass
PolyPoints | Rotation | SpecialEffect
Tag | ToolTipText | Top
Visible | WhatsThisHelpID | Width

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
Init | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | RightClick
UIEnable |  |

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | ShowWhatsThis | WriteExpression
WriteMethod | ZOrder |

См. также

Другие ссылки

Контрол Shape

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Spinner Control

Visual FoxPro 9.0 Описание Языка
Контрол Spinner
См. также
CollapseAll image

Creates a spinner.

Spinner

Expand image Комментарии

Контрол Spinner позволяет выбирать необходимые данные из заданного диапазона возможных значений, для этого используюся соответствующие стрелки, расположенные справа от информационного блока данного контрола, стрелка вверх - увеличить значение, стрелка вниз - уменьшить значение; пользователь также может ввести допустимое значение, с помощью клавиатуры в информационный блок.

Свойства KeyBoardHighValue и SpinnerHighValue определяют Максимальное допустимое числовое значение, которое может быть выбрано или введено пользователем с помощью клавиатуры.

Свойства KeyBoardLowValue и SpinnerLowValue определяют Минимальное допустимое числовое значение, которое может быть выбрано или введено пользователем с помощью клавиатуры.

Дополнительная информация по использованию Контрола Spinner приводится в разделах: Дизайнер Форм и Использование Контролов.

Expand image См. также

Описание

Контрол Spinner, Свойства, Методы, События
CREATE CLASS, Команда
CREATE FORM, Команда
DEFINE CLASS, Команда

Другие ссылки

Объекты, Коллекции, Классы
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Spinner Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Spinner. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Alignment | Anchor | Application
BackColor | BaseClass | BorderColor
BorderStyle | Class | ClassLibrary
ColorScheme | ColorSource | Comment
ControlSource | DisabledBackColor | DisabledForeColor
DragIcon | DragMode | Enabled
FontBold | FontCharSet | FontCondense
FontExtend | FontItalic | FontName
FontOutline | FontShadow | FontSize
FontStrikeThru | FontUnderline | ForeColor
Format | Height | HelpContextID
HideSelection | Increment | InputMask
KeyboardHighValue | KeyboardLowValue | Left
Margin | MouseIcon | MousePointer
Name | NullDisplay | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | OLEDropTextInsertion | Parent
ParentClass | ReadOnly | RightToLeft
SelectedBackColor | SelectedForeColor | SelectOnEntry
SelLength | SelStart | SelText
SpecialEffect | SpinnerHighValue | SpinnerLowValue
StatusBarText | TabIndex | TabStop
Tag | TerminateRead | Text
Themes | ToolTipText | Top
Value | Visible | WhatsThisHelpID
Width |  |

Expand image События

Click | DblClick | Destroy
DownClick | DragDrop | DragOver
Error | ErrorMessage | GotFocus
Init | InteractiveChange | KeyPress
LostFocus | Message | MiddleClick
MouseDown | MouseEnter | MouseLeave
MouseMove | MouseUp | MouseWheel
OLECompleteDrag | OLEDragDrop | OLEDragOver
OLEGiveFeedBack | OLESetData | OLEStartDrag
ProgrammaticChange | RangeHigh | RangeLow
RightClick | UIEnable | UpClick
Valid | When |

Expand image Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

Expand image См. также

Описание

Контрол Spinner

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Tables Collection (XMLAdapter)

Visual FoxPro 9.0 Справочное руководство по языку
Коллекция Tables (XMLAdapter)
Смотри также

Коллекция Tables в объекте XMLAdapter содержит один или несколько объектов XMLTable и описывает XML, как курсоры Visual FoxPro вместе с прочей свзяанной информацией. Для создания нового объекта XMLTable и ввода его в коллекцию Tables или для заполнения коллекции Tables одной или несколькими таблицами, используйте методы LoadXML, AddTableSchema илиr Attach объекта XMLAdapter.

XMLAdapter.Tables

Примечания

Применяется к: классу XMLAdapter

Смотри также

Прочие ресурсы

Объекты, коллекции и классы
Свойства, методы и события объекта XMLAdapter
Класс XMLTable
Метод AddTableSchema

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


TextBox Control (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Элемент управления TextBox (Visual FoxPro)
Смотрите также
CollapseAll image

Создает текстовый прямоугольник, для ввода или отображения данных. (В дальнейшем по тексту будем просто именовать его, как текстбокс)

TextBox

Expand image Примечания

Вы можете использовать текстбокс для редактирования содержимого переменной памяти, элемента массива или поля. Вы можете видеть содержание поля типа Blob при использовании текстбокса в элементе управления Grid; однако данные поля Blob в таком случае помечены признаком "только для чтения". В элементах управления grid, поля типа Blob отображают строку "blob", если они не содержат данных. Вы можете выполнить двойной щелчок по полю Blob в grid, и в таком случае данные будут отображены в окне редактирования, но помечены, как "только для чтения".

За исключением случая, когда текстбокс используется для просмотра даных полей типа Blob, для текстбоксов доступны все стандартные возможности редактирования, предоставляемые Visual FoxPro.

Замечание Совет

Если вы используете textbox для редактирования значений типа Date или DateTime, и вы в текстбоксе сделали выборку полного значение, вы можете увеличивать или уменьшать значение номер дня с помощью клавиш (+) или (-).

Для указания, как значения будут вводиться и отображаться в textbox, используйте свойства InputMask и Format. Чтобы узнать, как разрешить автозавершения ввода смотрите описание свойство AutoComplete.

В приведенной ниже таблице перечислены свойства textbox, которые обычно устанавливаются во время разработки, то есть в design time.

Свойство | Описание
Alignment | Определяет прижим содержимого textbox.
ControlSource | Определяет поле таблицы или переменную, чье значение будет отображаться в textbox.
InputMask | Определяет правило ввода данных, которому должен следовать каждый вводимый символ.
SelectOnEntry | Определяет - будет ли содержимое textbox автоматически выбрано при получении textbox фокуса.
TabStop | Определяет - сможет ли пользователь переместиться в элемент управления с помощью клавиши Tab. Если свойство TabStop установлено в значение False (.F.), у пользователя сохраняется возможность выбора textbox с помощью щелчка мыши на нем.

Для получения дополнительной информации о создании текстбоксов, смотрите описание Дизайнер форм - Form Designer и статью справки Использование элементов управления.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события элемента управления TextBox
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Дизайнер форм - Form Designer

Прочие ресурсы

Использование элементов управления
Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TextBox Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол TextBox . Свойства, Методы и События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Alignment | Anchor | Application
AutoComplete | AutoCompTable | AutoCompSource
BackColor | BackStyle | BaseClass
BorderColor | BorderStyle | Century
Class | ClassLibrary | ColorScheme
ColorSource | Comment | ControlSource
DateFormat | DateMark | DisabledBackColor
DisabledForeColor | DragIcon | DragMode
Enabled | EnableHyperlinks | FontBold
FontCharSet | FontCondense | FontExtend
FontItalic | FontName | FontOutline
FontShadow | FontSize | FontStrikeThru
FontUnderline | ForeColor | Format
Height | HelpContextID | HideSelection
Hours | IMEMode | InputMask
IntegralHeight | Left | Margin
MaxLength | MemoWindow | MouseIcon
MousePointer | Name | NullDisplay
OLEDragMode | OLEDragPicture | OLEDropEffects
OLEDropHasData | OLEDropMode | OLEDropTextInsertion
OpenWindow | Parent | ParentClass
PasswordChar | ReadOnly | RightToLeft
Seconds | SelectedBackColor | SelectedForeColor
SelectOnEntry | SelLength | SelStart
SelText | SpecialEffect | StatusBarText
StrictDateEntry | Style | TabIndex
TabStop | Tag | TerminateRead
Text | Themes | ToolTipText
Top | Value | Visible
WhatsThisHelpID | Width |

События

Click | DblClick | Destroy
DragDrop | DragOver | Error
ErrorMessage | GotFocus | Init
InteractiveChange | KeyPress | LostFocus
Message | MiddleClick | MouseDown
MouseEnter | MouseLeave | MouseMove
MouseUp | MouseWheel | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | ProgrammaticChange
RangeHigh | RangeLow | RightClick
UIEnable | Valid | When

Методы

AddProperty | CloneObject | Drag
Move | OLEDrag | ReadExpression
ReadMethod | Refresh | ResetToDefault
SaveAsClass | SetFocus | ShowWhatsThis
WriteExpression | WriteMethod | ZOrder

См. также

Другие Сссылки

Контрол TextBox

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


THIS Object Reference

Visual FoxPro 9.0 Справочное руководство по языку
Объектная ссылка THIS
Смотрите также Пример
CollapseAll image

Поставляет ссылку на текущий объект в коде события или в определении класса.

THIS.PropertyName | ObjectName

Параметры

PropertyName

Определяет свойство, значение которого устанавливается или извлекается для данного объекта.

ObjectName

Определяет объект в классе.

Expand image Примечания

THIS поставляет удобный путь длс обращения к текущему объекту при написании кода обработки событий в форме. Например, приведенная ниже строка кода события Click для командной кнопки, устанавливает ее заголовок в значение текущего времени:

CopyCode image Скопировать код
this.caption = time()

Использование THIS вместо явной ссылки на текущий объекта по его имени (например, вместо thisform.command1.caption) делает программный код легко переносимым между объектами, поскольку он избегает использования имени объекта, и автоматически инкапсюлирует родительский класс объекта.

THIS, кроме того, позволяет вас обращаться к свойству или объекту в определении класса. Методы в блоке определения класса могут использовать THIS для указания свойства или объекта, который будет существовать при создании класса.

Поскольку множество инстанций объектов совместно используют один и тот же код метода, THIS всегда ссылается на инстанцию, в которой исполняется код. Если имеется множество инстанций объекта, и вызывается один из методов объекта, то THIS всегда обращается к корректному объекту.

Expand image Пример

Приведенный ниже пример создает субкласс с именем MyForm, основанный на класса Form. Создается метод с именем ChangeBackColor. ChangeBackColor использует THIS для ссылки на MyForm.
CopyCode image Скопировать код
DEFINE CLASS MyForm AS FORM
 CAPTION = "This Form"
 HEIGHT = 15
 WIDTH = 20

 PROCEDURE ChangeBackColor
 PARAMETER NewColor
  THIS.BACKCOLOR = NewColor
 ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Объектная ссылка THISFORM
Объектная ссылка THISFORMSET
Свойства BackColor и ForeColor
Команда DEFINE CLASS

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


THISFORM Object Reference

Visual FoxPro 9.0 Справочное руководство по языку
Объектная ссылка THISFORM
Смотрите также
CollapseAll image

Поставляет ссылку на текущую форму в коде события формы или в определении класса.

THISFORM.PropertyName | ObjectName

Параметры

PropertyName

Указывает на свойство формы.

ObjectName

Указывает на объект в форме.

Expand image Примечания

THISFORM поставляет удобный путь для обращения к текущей формы при написании программы обработки событий в форме. Например, программный код для события Click командной кнопки устанавливает ее заголовок в значение текущего времени:

CopyCode image Скопировать код
thisform.command1.caption = time()

Использование THISFORM вместо явной ссылки на текущую формы по ее имени(например, вместо form1.command1.caption) делает программу легко переносимой между формами.

При создании определения класса, THISFORM, кроме того, предоставляет средство для обращения к текущей форме внутри метода. THISFORM позволяет вам обращаться к объекту на форме или свойству без использования последовательности свойств Parent.

Expand image Смотрите также

Справочное руководство

Объектная ссылка THIS
Объектная ссылка THISFORMSET
Событие Click

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


THISFORMSET Object Reference

Visual FoxPro 9.0 Справочное руководство по языку
Объектная ссылка THISFORMSET
Смотрите также
CollapseAll image

Поставляет ссылку на текущий набор форм в коде события или в определении класса.

THISFORMSET.PropertyName | ObjectName

Параметры

PropertyName

Указывает свойство для набора форм.

ObjectName

Указывает на объект в наборе форм.

Expand image Примечания

THISFORMSET поставляет удобный путь для ссылки на текущий набор форм при написании программ с обработкой событий в форме. Используйте ссылку THISFORMSET вместо явной ссылки на текущую форму в наборе форм по имени (например, вместо globalForms.form1.command1.caption), что сделает программный код легко переносимым между формами.

При создании определений классов, THISFORMSET, кроме этого, предоставляет средство для ссылки на текущий набор форм внутри методов. THISFORMSET позволяет вам обращаться к объекту на форме или свойству, используя только одно слово, вместо использования последовательсности свойств Parent.

Expand image Смотрите также

Справочное руководство

Объектная ссылка THIS
Объектная ссылка THISFORM

Концепции

Создание объектной ссылки

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Timer Control

Visual FoxPro 9.0 Описание Языка
Контрол Timer
См. также
CollapseAll image

Описываются общие сведения о создании контрола Timer, который обеспечивает выполнение программного кода через определенные интервалы времени.

Timer

Expand image Комментарии

Контрол Timer, который является невидимым пользователю, полезен в случаях необходимости обработки временных интервалов, периодического выполнения некоторых действий. Типичным использованием данного контрола может являться отслеживание системного времени и запуск в назначенное время некоторых программ или приложений.

Если для контрола Timer значение свойства Enabled устанавливается как = True (.T.), то сразу выполняется обратное переопределение = False (.F.), после одноразового выполнения соответствующего метода данного контрола. Данный метод штатно выполняется по истечении временного интервала, установленного в свойстве Interval. Для предотвращения несвоевременных срабатываний рассматриваемого таймера необходимо увеличить или уменьшить заданный интервал времени, который отслеживается рассматриваемым Контролом.

Дополнительная информация по использованию контрола Timer содержится в разделе Использование Контролов.

Expand image См. также

Описание

Контрол Timer, Свойства, Методы и События
CREATE CLASS, Команда
CREATE FORM, Команда
DEFINE CLASS, Команда
Дизайнер Форм

Другие ссылки

Объекты, Коллекции, Классы
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Timer Control Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Контрол Timer . Свойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

Application | BaseClass | Class
ClassLibrary | Comment | Enabled
Height | Interval | Left
Name | Parent | ParentClass
Tag | Top | Width

События

Destroy | Error | Init
Timer |  |

Методы

AddProperty | CloneObject | ReadExpression
ReadMethod | Reset | ResetToDefault
SaveAsClass | WriteExpression | WriteMethod

См. также

Другие ссылки

Контрол Timer
Дизайнер Форм
Объекты, Коллекции, и Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ToolBar Object

Visual FoxPro 9.0 Описание Языка
ToolBar, объект
См. также Пример
CollapseAll image

Создает пользовательских Инструментальный объект ToolBar.

ToolBar

Expand image Комментарии

Рекомендуется использовать рассматриваемый объект ToolBar для создания классических Инструментальных Линеек (панелей) в вашем Приложении.

В следующем списке описываются основополагающие Свойства и Характеристики пользовательских ToolBar-ов:

  • Toolbars всегда размещаются на переднем плане.

  • Toolbars всегда автоматически прикрепляются к верхней части главного Окна системы Visual FoxPro, при перемещении их ближе к верхнему краю.

  • Если ToolBar не закреплен, то он имеет половинную высоту Заголовка.

  • Если динамически изменяются размеры контейнера ToolBar, дочерние объекты перестраиваются автоматически.

  • Вы можете свободно перетаскивать рассматриваемый Контейнер Инструментов, если "зацепите" его за свободное место, не занятое Управляющим Элементом.

  • Многие Контролы, размещенные в данном Контейнере, не получают Фокус при его Активации, необходимое действие выполняется, а фокус - возвращается вызывающему элементу.

  • Горячие клавиши, определенные для дочерних Контролов Контейнера - отключаются (Disabled).

Несмотря на то, что почти любой Контрол может быть размещен в ToolBar-e, его поведение может быть некорректно, например список типа ListBox может иметь несоответствующий размер, при прикреплении ToolBar к верхнему краю Окна, или Формы. В этом случае рекомендуется программно заменять Список на его меньшую версию (ComboBox), или другими подходящими Контролами.

Дополнительную информацию о деталях создания инструментальных панелей ToolBars смотрите в разделе: Разработка Меню и Toolbars.

Expand image Пример

В представленном далее примере, демонстрируется создание пользовательского Инструментария toolbar, основанного на классе Toolbar. Visual FoxPro перестраивает автоматически командные кнопки, когда ToolBar изменяет свои размеры. Когда создается объект ToolBar, Visual FoxPro автоматически размещает дочерние объекты рассматриваемого Контейнера, слева-на право, в порядке их создания в этом контейнере, при этом значения свойст Top / Left дочерних объектов игнорируются.

CopyCode image Копировать Код
PUBLIC tbrDesktop
tbrDesktop = CREATEOBJ('myToolBar')
tbrDesktop.Show

DEFINE CLASS myToolBar AS Toolbar
 ADD OBJECT btnBold AS CommandButton
 ADD OBJECT sep1 AS Separator
 ADD OBJECT btnItalics AS CommandButton

 btnBold.Height = 20
 btnBold.Width = 50You need to ensure that the images used are sized correctly to
fit within the space of a single list box item, which differs with the
FontSize of the list.
 btnBold.Caption = "Bold"
 btnItalics.Height = 20
 btnItalics.Width = 50
 btnItalics.Caption = "Italic"
 btnItalics.FontBold = .F.

 Left = 1
 Top = 1
 Width = 25

 Caption = "Desktop Attributes"

 PROCEDURE Activate
 this.btnBold.FontBold = _SCREEN.FontBoldYou need to ensure that the images used are sized correctly to
fit within the space of a single list box item, which differs with the
FontSize of the list.
 this.btnItalics.FontItalic = _SCREEN.FontItalic
 ENDPROC

 PROCEDURE btnBold.Click
 _SCREEN.FontBold = !_SCREEN.FontBold
 This.FontBold =_SCREEN.FontBold
 ENDPROC

 PROCEDURE btnItalics.CLICK
 _SCREEN.FontItalic = !_SCREEN.FontItalic
 This.FontItalic = _SCREEN.FontItalic
 ENDPROC
ENDDEFINE

Expand image См. также

Описание

ToolBar, объект; Свойства, Методы, События
CREATE CLASS, команда
CREATE FORM, команда
DEFINE CLASS, команда
Separator, объект

Другие ссылки

Объекты, Коллекции, Классы

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


ToolBar Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект ToolBar . Сойства, Методы, События
См. также

В следующих таблицах представлены ссылки на описания свойств, методов и событий данного объекта.

Свойства

ActiveControl | Application | BackColor
BaseClass | Caption | Class
ClassLibrary | Comment | ColorSource
ControlBox | ControlCount | Controls
DataSession | DataSessionID | Docked
DockPosition | Enabled | ForeColor
Height | HelpContextID | HWnd
KeyPreview | Left | LockScreen
MouseIcon | MousePointer | Movable
Name | Objects | OLEDragMode
OLEDragPicture | OLEDropEffects | OLEDropHasData
OLEDropMode | Parent | ParentClass
ScaleMode | ShowTips | ShowWindow
Sizable | Tag | Themes
Top | Visible | WhatsThisHelpID
Width |  |

События

Activate | AfterDock | BeforeDock
Click | DblClick | Deactivate
Destroy | DragDrop | DragOver
Error | Init | MiddleClick
MouseDown | MouseMove | MouseUp
MouseWheel | Moved | OLECompleteDrag
OLEDragDrop | OLEDragOver | OLEGiveFeedBack
OLESetData | OLEStartDrag | Paint
Resize | RightClick | UnDock

Методы

AddObject | AddProperty | CloneObject
Dock | Hide | Move
NewObject | OLEDrag | ReadExpression
ReadMethod | Refresh | Release
RemoveObject | ResetToDefault | SaveAsClass
SetAll | Show | ShowWhatsThis
WriteExpression | ZOrder |

См. также

Другие ссылки

Объект ToolBar
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS
Объект Separator
Коллекция Объектов
Объекты, Коллекции , и Классы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XMLAdapter Class

Visual FoxPro 9.0 Справочное руководство по языку
Класс XMLAdapter
Смотри также
CollapseAll image

XMLAdapter представляет собой класс с "двухсторонним движением". Вы можете импортировать XML и содержащуюся в нем схему или вы можете создать и сгенерировать XML из таблиц.

Объект XMLAdapter хранит объектную ссылку на схему XML (XML Schema) и узлы объектной модели документа (DOM). То есть он не хранит информацию о реальной схеме или содержании. Объект XMLAdapter содержит коллекцию Tables, которая, в свою очередь, содержит один или более объектов XMLTable и описывает XML, как курсор Visual FoxPro вместе с любой связанной информацией. Каждый объект XMLTable может также содержать дочерний XMLTable, и, самое большее, коллекцию Fields с одним или более объектами XMLField.

Note Замечание

Класс XMLAdapter требует, чтобы в системе был установлен Microsoft XML Core Services (MSXML) 4.0 Service Pack 1 (SP1) или более поздний.

С использованием класса XMLAdapter, вы можете выполнять следующие задачи:

  • Интерпретировать указанные ниже форматы схем, при использовании методов LoadXML и Attach объекта XMLAdapter :

    • W3C XML Schemas (XS), W3C XML Schemas (XS) используемые с .NET DataSets и SQL-XML

    • Microsoft XML Data Reduced Schema (XDR) посредством SQL-XML

    • Схемы ADO Recordset

      Note Замечание

      Метод XMLAdapter LoadXML может некорректно интерпретировать прочие форматы схем XML, которые созданы посредством других программных продуктов.

  • Получать XML и связанную с ним схему из XML источника. XMLAdapter преобразовывает содержащуюся схему в объект XMLTable и соответствующие ему объекты XMLField, используя методы LoadXML и Attach объекта XMLAdapter.

  • Создавать курсор на основе схему и заполнять его данными представленными объектом XMLTable, с помощью метода ToCursor объектаXMLTable.

  • Представлять изменения из .NET DiffGram в локальные или удаленные таблицы с помощью метода ApplyDiffgram объекта XMLTable.

  • Добавлять один или более объектов XMLTable в коллекцию Tables объекта XMLAdapter или указывать, что методы LoadXML, Attach или AddTableSchema объекта XMLAdapter должны сделать это для вас.

  • Использовать метод ToXML объекта XMLAdapter для генерации XML-документа в формате схемы W3C XML из одного или более курсоров или таблиц, на которые ссылается объект XMLAdapter.

XMLAdapter

Expand image Примечания

Если вы используете объект XMLAdapter для конвертирования схемы XDR в схему XSD, вы должны изменить значение свойства XMLNamespace объекта XMLAdapter; в противном случае, XML-парсер не сможет перезагрузить XML. Приведенный ниже пример иллюстрирует такой сценарий:

CopyCode image Скопировать код
TEXT TO cXML NOSHOW
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='xmlfield' rs:number='1' rs:writeunknown='true' rs:nullable='true'>
<s:datatype dt:type='number' rs:dbtype='currency' dt:maxLength='8'
rs:scale='4' rs:precision='6' />
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row xmlfield='12.12'/>
</rs:data>
</xml>
ENDTEXT
CLOSE DATABASES ALL
CLEAR
LOCAL oXMLAdapter as XMLAdapter
oXMLAdapter = NEWOBJECT('XMLAdapter') oXMLadapter.LoadXML(cXML) IF oXMLAdapter.Tables.Item(1).Fields.Item(1).DataType <> "Y" THEN
? 'Failed'
ELSE
oXMLAdapter.Tables.Item(1).ToCursor()
oXMLAdapter.XMLNamespace=""
oXMLAdapter.ReleaseXML(.F.) oXMLAdapter.XMLSchemaLocation='c:\myxmlfile.xsd'
oXMLAdapter.ToXML('c:\myxmlfile.xml',,.T.) oXMLadapter2 = NEWOBJECT('xmladapter') oXMLAdapter2.XMLSchemaLocation='c:\myxmlfile.xsd'
oXMLAdapter2.LoadXML('c:\myxmlfile.xml',.T.,.T.) ENDIF

В случае, когда схема отсутствует или недоступна, вы можете указать какую-то схема, которую Visual FoxPro может использовать при конверсии, путем установки свойства XMLSchemaLocation объекта XMLAdapter. Вы должны определить значение этого свойства до вызова метода LoadXML. Когда Visual FoxPro исполняет метод LoadXML, то он ищет схему в следующем порядке:

  • Внутренняя схема

  • Внешняя схема, как указано в XML-документе

  • Схема, указанная в качестве значения свойства XMLSchemaLocation

Приведенный ниже пример создает объекта класса XMLAdapter с коллекцией таблиц Tables, которая остается пустой до тех пор, пока вы не загрузите действительный XML в объект класса XMLAdapter:

CopyCode image Скопировать код
oMyAdapter=CREATEOBJECT("xmladapter")

XML и данные XML-схемы, которые вы запрашиваете путем вызова метода LoadXML объекта класса XMLAdapter отсаются в памяти, до тех пор, пока они не будут замещены последующим вызовом метода LoadXML или до момента, когда они будут специально удалены, посредством вызова метода ReleaseXML объекта XMLAdapter.

Nested Tables (вложенные таблицы) В приведенной ниже таблице описывается, как XMLAdapter обрабатывает вложенные таблицы, будь то индивидуальные таблицы или таблицы, полностью зависящие от источника данных XML.

Источник данных XML Описание

ADO.NET DataSet

XMLAdapter рассматривает каждую вложенную таблицу, как отдельную таблицу, которая может быть сконвертирована в курсор Visual FoxPro. При анализе XML-схемы, методы LoadXML и Attach объекта XMLAdapter создают индивидуальные объекты XMLTable для каждой вложенной таблицы и добавляют их в коллекцию таблиц Tables. Вы можете использовать методы ToCursor, ChangesToCursor и ApplyDiffgram объекта XMLTable для получения данных для каждой таблицы.

SQL XML

XMLAdapter рассматривает каждую вложенную таблицу, как неотделимую от родительской таблицы. Когда запрашиваются данные, окончательный результат операции объединения (join) между этими таблицами представляет собой единичный результат. Если имеется множественный уровнь вложенности, такой как в случае, если дочерняя таблица содержит свою дочернюю таблицу и так далее, этот единичный результат содержит данные из операции объединения всех таблиц в иерархии.

Методы LoadXML и Attach объекта XMLAdapter создают объекта XMLTable для всех таблиц. Однако, в коллекцию Tables вводится только объект XMLTable для родильской таблицы верхнего уровня. Этот объект XMLTable обозначает родительскую таблицу и обеспечивает доступ к единичному и окончательному результату операции объекдинения посредством использования метода ToCursor объекта XMLTable. Объекты XMLTable для дочерних таблиц связываются с родительской таблицей через свойства ChildTable и ParentTable. Однако, не существует пути, для получения данных из индивидуальных таблиц в цепочке иерархии.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события класса XMLAdapter
Коллекция таблиц - Tables Collection (XMLAdapter)
Класс XMLTable
Коллекция полей - Fields Collection (XMLTable)
Класс XMLField
Метод LoadXML
Метод Attach (Visual FoxPro)
Метод ToCursor
Метод ReleaseXML
Метод ApplyDiffgram
Свойство XMLSchemaLocation

Прочие ресурсы

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


XMLAdapter Object Properties, Methods, and Events

Visual FoxPro 9.0 Справочное руководство по языку
Свойства, методы и события объекта XMLAdapter
Смотри также

В приведенных ниже таблицах перечислены ссылки на темы, посвященные свойствам, методам и событиям этого объекта.

Объекты и коллекции

Коллекция Tables (XMLAdapter)

Свойства

CodePage | DeclareXMLPrefix | DisableEncode
ForceCloseTag | FormattedOutput | IsDiffGram
IsLoaded | IXMLDomElement | MapBinary
MapN19_4ToCurrency | MapVarchar | NoCpTrans
PreserveWhiteSpace | RespectCursorCP | RespectNesting
SelectionNamespaces | SOM | Unicode
UseCodePage | UTF8Encoded | WrapCharInCDATA
WrapMemoInCDATA | XMLConstraints | XMLName
XMLNameIsXPath | XMLNamespace | XMLPrefix
XMLSchemaLocation |  |

Методы

AddTableSchema | Attach | LoadXML
ReleaseXML | ToXML |

Смотри также

Прочие ресурсы

Класс XMLAdapter

Перешлите комментарии об этой теме в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLField Class

Visual FoxPro 9.0 Справочное руководство по языку
Класс XMLField
Смотри также

Коллекция Fields объекта XMLTable содержит объекты XMLField. Каждый объект XMLField представляет структуру, значимую для Visual FoxPro.

Информация, содержащаяся в каждом объекте XMLField предоставляет необхомые подробности, такие как корректный тип данных, размер и прочую информацию, для создания соответствующего поля в курсоре. Когда Visual FoxPro генерирует XML из курсора, объекты XMLField предоставляют необходимую информацию для создания документа XML и схемы

XMLField

Смотри также

Прочие ресурсы

Объекты, коллекции и классы
Свойства, методы и события объекта XMLField
Класс XMLTable
Коллекция Fields (XMLTable)

Перешлите комментарии об этой теме в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLField Object Properties, Methods, and Events

Visual FoxPro 9.0 Описание Языка
Объект XMLField. Свойства, методы и события
См. также
CollapseAll image

В следующих таблицах представлены списки ссылок на описания Свойств, Методов и Событий данного Объекта.

Expand image Свойства

Alias | CodePage Property | DataType
DisableEncode | FractionDigits | IsAttribute
IsBase64 | IsBinary | IsNull
Keyfield | MaxLength | NoCpTrans
Unicode | WrapInCDATA | XMLName
XMLNameIsXPath | XMLTable | XMLType
XSDfractionDigits | XSDmaxLength | XSDtotalDigits
XSDtype |  |

Expand image См. также

Описание

Класс XMLField

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XMLTable Class

Visual FoxPro 9.0 Справочное руководство по языку
Класс XMLTable
Смотри также

Коллекция Tables в объекте XMLAdapter содержит объекты XMLTable и описывает XML как курсор Visual FoxPro вместе с любой связанной информацией. Каждый объект XMLTable может, кроме того, содержать дочерний объект XMLTable и, самое большее, коллекцию Fields, содержащую объекты XMLField.

XMLTable

Примечания

Для извлечения XML и содержащейся, как составной части, XML Schema в XMLTable и его соответствующие объекты XMLField, используйте методы LoadXML или Attach объекта XMLAdapter. Впоследствии вы можете заполнить курсор данными, представленными объектом XMLTable, используя метод ToCursor объекта XMLTable. Вы можете вручную добавить объект XMLTable в коллекцию Tables объекта XMLAdapter, или вы можете использовать метод AddTableSchema объекта XMLAdapter для выполнения этой же задачи.

Смотри также

Other Resources

Объекты, коллекции и классы
Свойства, методы и события объекта XMLTable
Класс XMLAdapter
Коллекция Fields (объект XMLTable)
Класс XMLField
Метод LoadXML
Метод Attach
Метод ToCursor
Коллекция Tables (объект XMLAdapter)
Метод AddTableSchema

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XMLTable Object Properties, Methods, and Events

Visual FoxPro 9.0 Справочное руководство по языку
Свойства, методы и события объекта XMLTable
Смотри также

В приведенной ниже таблице перечислены ссылки на статьи о свойствах, методах и коллекциях этого объекта.

Объекты и коллекции

Fields Collection

Свойства

Alias | ChildTable | DeclareXMLPrefix
FirstNestedTable | NestedInto | NextSiblingTable
ParentTable | XMLAdapter | XMLConstraints
XMLName | XMLNameIsXPath | XMLNamespace
XMLPrefix |  |

Методы

ApplyDiffgram | ChangesToCursor | Nest
ToCursor | Unnest Method |

Смотри также

Прочие ресурсы

Класс XMLTable

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Visual FoxPro Foundation Classes A-Z

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальные классы Visual FoxPro от A до Z
CollapseAll image

Expand image В этом разделе

Фундаментальный класс диалогового окна About

Фундаментальный класс ActiveX Calendar

Фундаментальный класс Application Registry

Фундаментальный класс Array Handler

Фундаментальный класс Cancel Button

Фундаментальный класс Clock

Фундаментальный класс диалогового окна Common

Фундаментальный класс Common System Folders

Фундаментальный класс Conflict Catcher

Фундаментальный класс Cookies

Фундаментальный класс Cross Tab

Фундаментальный класс Crypto API

Фундаментальный класс Data Edit Buttons

Фундаментальный класс Data Navigation Buttons

Фундаментальный класс Data Navigation Object

Фундаментальный класс Data Session Manager

Фундаментальный класс Data Validation

Фундаментальный класс DBF to HTML

Фундаментальный класс Distinct Values Combo

Фундаментальный класс Error Object

Фундаментальный класс Field Mover

Фундаментальный класс File Version

Фундаментальный класс Filter Dialog Box Button

Фундаментальный класс диалогового окна Filter

Фундаментальный класс диалогового окна Filter Expression

Фундаментальный класс Find (Findnext) Buttons

Фундаментальный класс Find Button

Фундаментальный класс диалогового окна Find

Фундаментальный класс Find Files/Text

Фундаментальный класс Find Object

Фундаментальный класс Font Combobox

Фундаментальный класс Fontsize Combobox

Фундаментальный класс Format Toolbar

Фундаментальный класс FRX to HTML

Фундаментальный класс FRX Cursor

Фундаментальный класс FRX Device Helper

Фундаментальные классы GDI Plus API Wrapper

Фундаментальный класс Get File and Directory

Фундаментальный класс GoTo Dialog Box Button

Фундаментальный класс диалогового окна GoTo

Фундаментальный класс Graph By Record

Фундаментальный класс Graph Object

Фундаментальный класс Help Button

Фундаментальный класс Hyperlink Button

Фундаментальный класс Hyperlink Image

Фундаментальный класс Hyperlink Label

Фундаментальный класс INI Access

Фундаментальный класс Item Locator

Фундаментальный класс диалогового окна Keywords

Фундаментальный класс Launch Button

Фундаментальный класс Locate Button

Фундаментальный класс Lookup Combobox

Фундаментальный класс Mail Merge Object

Фундаментальный класс Messagebox Handler

Фундаментальный класс Microsoft Agent Utility

Фундаментальный класс MouseOver Effects

Фундаментальный класс Mover

Фундаментальный класс Navigation Shortcut Menu

Фундаментальный класс Navigation Toolbar

Фундаментальный класс Object State

Фундаментальный класс ODBC Registry

Фундаментальный класс Offline Switch

Фундаментальный класс OK Button

Фундаментальный класс Output Control

Фундаментальный класс диалогового окна Output

Фундаментальный класс Output Object

Фундаментальный класс диалогового окна Password

Фундаментальный класс Pivot Table

Фундаментальный класс Pool Manager

Фундаментальный класс Preview Report

Фундаментальный класс QBF

Фундаментальный класс Registry Access

Фундаментальный класс Regular Expressions

Фундаментальные классы ReportListener

Фундаментальный класс Resize Object

Фундаментальный класс RTF Controls

Фундаментальный класс Run Form Button

Фундаментальный класс SCX to HTML

Фундаментальный класс SendMail Buttons

Фундаментальный класс SetAllX Extension

Фундаментальный класс Shell Execute

Фундаментальный класс Shortcut Menu Class

Фундаментальный класс Simple Edit Buttons

Фундаментальный класс Simple Navigation Buttons

Фундаментальный класс Simple Picture Navigation Buttons

Фундаментальный класс Sort Dialog Box Button

Фундаментальный класс диалогового окна Sort

Фундаментальный класс Sort Mover

Фундаментальный класс Sort Object

Фундаментальный класс Sort Selector

Фундаментальный класс Sound Player

Фундаментальный класс Splash Screen

Фундаментальный класс SQL Pass Through

Фундаментальный класс Stop Watch

Фундаментальный класс String Library

Фундаментальный класс Super Mover

Фундаментальный класс System Metrics

Фундаментальный класс System Toolbar

Фундаментальный класс Table Mover

Фундаментальный класс Text Preview

Фундаментальный класс Thermometer

Фундаментальный класс Trace Aware Timer

Фундаментальный класс Type Library

Фундаментальный класс URL Combo

Фундаментальный класс диалогового окна URL Open

Фундаментальный класс User Privileges

Фундаментальный класс VCR Buttons

Фундаментальный класс VCR Picture Navigation Buttons

Фундаментальный класс Video Player

Фундаментальный класс Web Browser Control

Фундаментальный класс Window Handler

Фундаментальные классы XML Web Services

Expand image Связанные разделы

Руководство по использованию фундаментальных классов Visual FoxPro

Образцы фундаментальных классов

Объекты, коллекции и классы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


About Dialog Box Foundation Class

Visual FoxPro 9.0 Описание Языка
About Dialog Box (Диалоговый Бокс: О Программе...), фундаментальный класс
См. также
CollapseAll image

Представленный класс иллюстрирует простейший Диалоговый бокс "О программе...", который может быть использован как Шаблон для использования в Пользовательском Приложении. Указанный Диалоговый бокс содержит командную кнопку доступа к Системной Информации, которая обеспечивается с помощью соответствующего класса Registry.

Категория | Используется в Форме:
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _aboutbox
Базовый Класс | Form
Библиотека классов | _dialogs.vcx
Порождающий класс | _form
Пример Формы | ...\Samples\Solution\Ffc\dialogs.scx

Expand image Комментарии

Для использования рассматриваемого класса, "перетащите" (drag-and-drop) иконку этого класса в ваш Проект Приложения, или, в контекстном меню системной Компоненты Component Gallery Item, выберите подпункт Add to Project (добавить в Проект). В этом случае вы можете либо добавить рассматриваемый Класс в Проект, либо создать порождаемый Подкласс, либо создать пользовательскую Форму. Если вы выбрали вариант: Create a new form (создать новую форму), Visual FoxPro активирует диалоговый бокс Open (Открыть), где вам предлагается определить имя создаваемой Формы, которая открывается далее (для редактирования) в соответствующем Form Designer (Дизайнере Форм). Вам остается определить значения основных Объектов, сохранить Форму, и использовать ее в вашем Приложении.

Свойства, События, Методы | Краткое Описание
cMSINFODir, свойство | Определяет путь доступа к Приложению: Msinfo.exe. По-умолчанию: "" (пустая строка)
GetRegisteredCompany, метод | Модуль, возвращающий зарегистрированное имя Компании - Производителя Приложения. Для использования, определите значение свойства lblUserCorp.Caption.
GetRegisteredOwner, метод | Модуль, возвращающий Имя Владельца данной копии. Для использования, определите значение свойства lblUserName.Caption.

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры фундаментальных классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


ActiveX Calendar Foundation Class

Visual FoxPro 9.0 Описание Языка
ActiveX -Календарь, фундаментальный класс
См. также
CollapseAll image

Рассматриваемый Класс использует внешний Контрол ActiveX (Календарь), который вы можете связать с полем Таблицы в Форме или в другом Контейнере.

Категория | Date/Time
Каталог размещения | Visual FoxPro Catalog\Foundation Classes\Data/Time
Класс | _olecalendar
Базовый Класс | OLEcontrol
Библиотека Классов | _datetime.vcx
Порождающий Класс | _olecontrol
Форма Примера | ...\Samples\Solution\Ffc\datacal.scx

Expand image Комментарии

Для использования рассматриваемого Контрола, "перетащите" данный класс в ваш Проектили Форму, или: из системной компоненты Component Gallery Item (при активации контекстного Меню), выберите подпункт Add to Form (добавить в Форму). Когда вы добавляете данный Класс в вашу Форму, Visual FoxPro открывает соответствующий Построитель, в котором вы можете определить значение Свойства: Date_column. В том случае, когда вы добавляете данный класс в ваш Проект, вы можете выбрать из двух вариантов: или добавить данный Класс, или создать Подкласс (Копию) рассматриваемого Объекта.

Свойства, Методы, События | Краткое Описание
Date_column, свойство | Определяет имя Поля из Таблицы (или переменную) типа Дата, привязываемого к Контролу. По-умолчаниюt: =""
RefreshDisplay, метод | Обновляет изображение рассматриваемого (внешнего) Календаря при изменении Источника, заданного в поле Date_column (смотрите выше). Синтаксис: RefreshDisplay( ) Возвращаемое Значение: Нет Параметры (аргументы): Нет

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Application Registry Foundation Class

Visual FoxPro 9.0 Описание Языка
Application Registry (Регистрация Приложения), фундаментальный класс
См. также
CollapseAll image

Рассматриваемый класс обеспечивает выполнение регистрационных функций Приложения, возвращающих специфическую информацию: текущую версию или местоположение Приложения.

Категория | Системные утилиты
Каталог размещения | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _filereg
Базовый класс | Custom
Библиотека классов | _registry.vcx
Порождающий класс | registry
Форма Примера | ...\Samples\Solution\WinAPI\regfile.scx

Expand image Комментарии

Для использования данного класса, выполните "перетаскивание" (Drag-End-Drop) иконки рассматриваемого класса в свой Проект или в Форму, или, из системной компоненты Component Gallery Item (Контекстного Меню), выберите подпункт Add to Project (добавить в Проект) или Add to Form (добавить в Форму). В том случае, когда вы добавляете данный Класс в Форму, Visual FoxPro размещает иконку этого класса на Форме. Вы можете уточнить значения соответствующих Свойств, которые обеспечивают корректную обработку Входных и Выходных параметров используемых Функций. В том случае, когда вы размещаете данный класс в Проекте, вы можете либо использовать сам Класс, либо создать ПодКласс рассматриваемого Класса.

Дополнительную информацию смотрите в разделе: Общие рекомендации по использованию Фундаментальных Классов Visual FoxPro

Свойства, События, Методы | Краткое Описание
GetAppPath, метод | Проверяет и возвращает полный путь Приложения относительно заданного Расширения (типа файла). Синтаксис: GetAppPath(cExtension, cExtnKey, cAppKey, lServer) Возвращаемое Значение: GetApplication(cExtnKey, @cAppKey, lServer) Параметры: cExtension определяет тип, расширение приложения. cExtnKey определяет Регистрационный Ключ Приложения. cAppKey определяет полный путь размещения приложения. lServer определяет, что данное приложение являетсяСерверным Приложением.
GetLatestVersion, метод | Возвращает последнюю версию заданного Приложения. Синтаксис: Getlatestversion(cClass, cExtnKey, cAppKey, lServer) Возвращаемое Значение: (cExtnKey, @cAppKey, lServer) Параметры: cClass определяет Регистрационное Имя Класса, описанного в Приложении. cExtension определяет расширение приложения (тип). cExtnKey определяет регистрационный Ключ Приложения. cAppKey определяет полный Путь к Приложению. lServer определяет, что данное приложение является серверным приложением.
GetApplication, метод | Возвращает главный Ключ Приложения. Синтаксис: Getapplication(cExtnKey, cAppKey, lServer) Возвращаемое значение: @cAppKey Параметры: cExtension определяет расширение (тип) Приложения. cExtnKey определяет регистрационный ключ Приложения. cAppKey определяет полный Путь размещения приложения. lServer определяет, является ли рассматриваемое Приложение полным приложением (или Сервером).

Expand image См. также

Описание

Фундаментальные классы Visual FoxPro, по-алфавиту: A-Z

Концепции

Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Array Handler Foundation Class

Visual FoxPro 9.0 Описание Языка
Array Handler (Обработчик массивов), фундаментальный класс
См. также
CollapseAll image

Данный фундаментальный класс обеспечивает Разработчика дополнительными Методами для выполнения Операций над Массивами, которые не поддерживаются стандартными функциями обработки массивов Visual FoxPro, включая Вставку и Удаление отдельных Элементов массива, или Сканирование (поиск) требуемого Элемента по-столбцу.

Категория | Соответствующий Компонент
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _arraylib
Базовый Класс | Custom
Библиотека Классов | _utility.vcx
Порождающий класс | _custom
Форма Примера | ...\Samples\Solution\Ffc\arrays.scx

Expand image Комментарии

Для использования данного Класса, "перетащите" ярлык класса в ваш Проект или в вашу Форму, или, из системной компоненты Component Gallery Item (контекстного меню), выберите подпункты: Add to Project (добавить в проект) или Add to Form (добавить в Форму). Если вы выбираете добавление класса в форму, Visual FoxPro размещает данный класс на форме. Вы можете определить требуемые Значения для специфических Свойств, что обеспечит корректную (необходимую) функциональность данного Объекта. В том случае, когда вы размещаете Класс в Проекте, вам предоставляется два Варианта: добавит непосредственно Класс или создать ПодКласс (копию).

Дополнительную информацию смотрите в разделе: Общие Рекомендации по использованию фундаментальных классов Visual FoxPro.

Свойства, Методы, События | Краткое Описание
AColScan, метод | Сканирование столбца с номером nColumn, для поиска в массиве aSearch требуемого выражения sExpr. Синтаксис: AcolScan(@aSearch, sExpr, nColumn, lRetRow) Возврат: =Нет Параметры (аргументы): aSearch - ссылка на массив, который сканируется, sExpr - поисковое выражение, nColumn - номер столбца, в котором проводится Поиск выражения sExpr, lRetRow - специальный Флаг, характеризующий, возвращает ли данный метод номер найденной строки, где расположено выражение sExpr.
DelAitem, метод | Удаление Элемента из Массива. Синтаксис: DelAitem(@aArray, wziRow) Возврат: =Нет Параметры (аргументы): aArray - ссылка на массив, в котором требуется удалить Строку с номером wziRow.
InsAitem, метод | Вставка Элемента в Массив. Синтаксис: InsAitem(@aArray, sContents, iRow) Возврат: =Нет Параметры (аргументы): aArray - ссылка на массив, в который выполняется Вставка, sContents - определяет строку Значений, которые добавляются в массив aArray,. iRow - определяет номер строки, в которую вставляются представленные Элементы sContents.

Expand image См. также

Описание

Фундаментальные классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов VFP

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Cancel Button Foundation Class

Visual FoxPro 9.0 Описание Языка
Cancel Button (Кнопка Завершения), фундаментальный класс
См. также
CollapseAll image

Данный класс закрывает Форму и отменяет все буферизованные Данные.

Категория | Значение
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _cmdCancel
Базовый Класс | CommandButton
Библиотека Классов | _miscbtns.vcx
Порождающий Класс | _cmdOK
Пример (Образец) | ...\Samples\Solution\Ffc\buttons.scx

Expand image Комментарии

Для использования данного Класса, перетащите его в требуемое Место (в ваш Проект или в вашу Форму), из соответствующего контексного меню Component Gallery Item, выберите подпункт Add to Project (добавить в Проект) или Add to Form (добавить на Форму). Когда данный класс добавляется на Форму, Visual FoxPro размещает данную Кнопку на вашей Форме. Когда вы перетаскиваете данный Объект в ваш Проектt,вы можете выбрать из двух Вариантов: создать указанный Класс, или создать ПодКласс (SubClass).

Expand image См. также

Описание

Фундаментальные классы Visual FoxPro, по списку: A-Z

Концепции

Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


Clock Foundation Class

Visual FoxPro 9.0 Описание Языка
Clock (Часы), фундаментальный класс
См. также
CollapseAll image

Данный Класс является Примером для использования Часов в Форме или Контейнере.

Категория | Date/Time
Папка Размещения | Visual FoxPro Catalog\Foundation Classes\Date/Time
Класс | _clock
Базовый Класс | Container
Библиотека Классов | _datetime.vcx
Порождающий Класс | _container
Форма Примера | ...\Samples\Solution\Controls\Timer\clock.scx

Expand image Комментарии

Для использования данного Класса, "перетащите" ярлык данного Класса в ваш Проект или в вашу Форму, илиr, из системной Компоненты Component Gallery Item, (контекстного Меню), выбеоите подпункт: Add to Project (добавить в Проект) или Add to Form (добавить в Форму). Когда вы добавляете Класс в Форму, Visual FoxPro размещает его в форме, где вы можете определить значение параметра: nTimeFormat. При добавлении данного Класса в ваш Проект, вам предоставляется два варианта: добавить Класс в Проект или создать Подкласс в данном проекте.

Свойства, События, Методы | Краткое Описание
nTimeFormat, свойство | Переключатель между Коротким (=0) или длинным (#0) форматами Даты/Времени, заданными в Панели Управления (Control Panel) OS Windows. По-умолчанию: =0

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Common Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Common Dialog Box
Смотрите также
CollapseAll image

Вы можете использовать системные диалоговые окна Open (Открыть) и Save (Сохранить) для операций с файлами, которые имитируют аналогичные диалоги Windows в ваших приложениях. Например, вы можете полосу Places (Расположения) с левой стороны диалогового окна.

Категория | Системные диалоговые окна
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _comdlg
Базовый класс | Custom
Библиотека класса | _system.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\Getfilex.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда добавляете класс в форму, Visual FoxPro помещает на ней иконку класса. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

See Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Массив aFileNames | Массив имен файлов, возвращаемых из диалогового окна. По умолчанию: .F.
Массив aFileList | Массив фильтров расширений имен файлов, передаваемый диалоговому окну. По умолчанию: .F.
Свойство cCustomFilter | Фильтр пользователя, созданный во время использования диалогового окна. По умолчанию: нет
Свойство cDefaultExtension | Расширение файла, используемое по умолчанию для отображения. По умолчанию: нет
Свойство cFileName | Имя выбранного файла или изначально установленное для использования по умолчанию. По умолчанию: нет
cFilePath | Путь, по которому будут выбираться файлы. По умолчанию: нет
Свойство cFileTitle | Свойство title выбранного файла(файлов). По умолчанию: нет
cInitialDirectory | Начальный каталог, из которого будут выбираться файлы. По умолчанию: нет
cTitleBar | Заголовок для окна диалога. По умолчанию: нет
Свойство lAllowMultiSelect | Определеят - будет ли позволена выбора множества файлов. По умолчанию: .F.
lFileMustExist | Определеяет - будет ли позволено вводить только существующие файлы. По умолчанию: .F.
Свойство lHideReadOnly | Определяет - будут ли скрыты в списке файлы с признаком "только для чтения". По умолчанию: .T.
Свойство lNewExplorer | Определяет - будут ли использоваться интерфейс пользователя нового обозревателя и его функциональные возможности, такие, например, как отображение полосы Places. По умолчанию: .T.
Свойство lNoChangeDir | Определяет - будет ли запрещено изменение отображаемого каталога. По умолчанию: .F.
Свойство lNoNetworkButton | Определяет - будет ли запрещено включение кнопки "Network (Сеть)" в диалоговое окно. По умолчанию: .F.
Свойство lNoPlacesBar | Определяет - будет ли запрещено включение Places в диалоговое окно. По умолчанию: .F.
Свойство lNoValidate | Определяет - будет ли производиться проверка файлов в диалоговом окне. По умолчанию: .F.
Свойство lSaveDialog box | Определяет - будет ли использовать диалог Save (Сохранить) вместо Open (Открыть). По умолчанию: .F.
Свойство nFileCount | Указывает число файлов, выбранных в диалоговом окне. По умолчанию: 0
Свойство nFilterIndex | Определяет - какие фильтры были выбраны в диалоговом окне. По умолчанию: 0
Метод AddFilter | Определяет фильтры расширений имен файлов для использования пока отображается диалог. Синтаксис: AddFilter(cОписание, cSkeleton) Возврат: нет Аргументы: cОписание предоставляет описание фильтра. cSkeleton указывает расширение файла в структуре фильтра.
Метод ClearFilters | Очищает все фильтры расширений имен файлов. Синтаксис: ClearFilters( ) Возврат: нет Аргументы: cUser указывает имя пользователя для проверки
Метод ShowDialog box | Отображает диалоговое окно с различными параметрами, такими, как например фильтры. Синтаксис: ShowDialog box( ) Возврат: нет Аргументы: нет
Метод TestDialog box | Тестирует скрипт для отображения диалогового окна. Синтаксис: TestDialog box( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Common System Folders Foundation Class

Visual FoxPro 9.0 Справочник Языка
Фундаментальный класс Общих Системных Папок
См. Также

Этот класс дает Вам местоположение общих системных папок типа папки Мои Документы и папки Данные Прикладных Программ. Они обычно необходимы в приложениях, которые поддерживают соглашение Windows 2000 Logo. См. SHGetFolderPath в MSDN для подробностей.

Категория | Системные Утилиты
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Utilities
Class | _commonfolder
Base Class | Custom
Class Library | _system.vcx
Parent Class | _custom
Sample | ...\Samples\Solution\Ffc\Logo.scx

Замечания

Для применения, разместите класс в проекте или на форме или, из меню } Галереи Компонентов, выбираютAdd to Project or Add to Form. Когда Вы добавляете класс к форме, Visual FoxPro размещает значок класса на форме. Вы можете определить соответствующие значения свойств и обеспечить любые необходимые объекты ввода и вывода. Когда Вы добавляете класс в проекте, Вы можете выбрать между добавлением класса или созданием подкласса.

Свойства, События, Методы | Описание
GetFolder метод | Возвращает путь к указанной системной папке. Синтаксис: GetFolder(nFolderID, lCreateNew) Возвращает: имя папки Параметры: nFolderID ID ссылка к папке. Ссылается на метод класса для общих IDs как определено для SHGetFolderPath в MSDN. lCreateNew определяет, создать ли папку, когда она не существует

См. Также

Другие Ресурсы

Рекомендации Использования Фундаментальные классы Visual FoxPro
Фундаментальные классы Visual FoxProа A-Z
Примеры Фундаментального класса

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Conflict Catcher Foundation Class

Visual FoxPro 9.0 Описание Языка
Conflict Catcher (Перехватчик Конфликтов), фундаментальный класс
См. также
CollapseAll image

Представленный Класс обеспечивает активацию Диалогового бокса, в котором отображаются текущие Записи Таблицы, их значения, вызвавшие ситуацию Конфликта сеанса Редактирования данных в условиях режима Оптимистичной Буферизации. Для разрешения Конфликта выводятся Значения: исходные, текущие , и вновь введенные. Вы можете использовать данный класс при обработке Данных в условиях режима работы: как Буферизации Записи, так и Буферизации Таблицы.

Категория | Данные Запроса
Каталог размещения класса | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _conflicts
Базовый Класс | Form
Библиотека Классов | _dataquery.vcx
Порождающий класс | _form
Пример Формы | ...\Samples\Solution\Ffc\Conflicts.scx

Expand image Комментарии

Для использования данного Класса, выполните "перетаскивание" Иконки Класса в ваш Проект, или, из системной Компоненты Component Gallery Item, (контекстного Меню), выберите подпункт: Add to Project (добавить в Проект). При добавлении рассматриваемого Класса в разрабатываемый Проект, вы можете выбрать один из вариантов: создать Класс (в проекте), создать порождаемый ПодКласс, или Создать Форму. Если вы выбираете вариант Create a new form from the selected class (создание новой Формы из выбранного класса), Visual FoxPro активирует диалоговый бокс Open (Открыть), в котором вам необходимо определить имя создаваемой Новой Формы; после создания указанной новой Формы, она открывается ву соответствующем Дизайнере Форм (Form Designer). Вым необходимо определить системную команду SET MULTILOCKS ON, тем самым включить режим Буферизации обрабатываемых Данных.

Свойства, События, Методы | Краткое Описание
CursorAlias, свойство | Содержит имя Алиаса Курсора, для которого обрабатываются Конфликты. По-умолчанию: =""
lAutoCheck, свойство | Определяет состояние Готовности отслеживания Конфликтов. По-умолчанию: =.T.
StartCheck, метод | Выполняет Отслеживание Конфликтов буферизованных Данных для заданного Алиаса. Синтаксис: StartCheck( ) Возвращаемое Значение: Нет Параметры: Нет
ConflictAlias, свойство | Внутреннее, используется в классе.
lRowConflict, свойство | Внутреннее, используется в классе.
aConflicts[1,0], свойство | Внутреннее, используется в классе.
NextConflict, метод | Внутренний, используется в классе.
CheckSource, метод | Внутренний, используется в классе.
Alert, метод | Внутренний, используется в классе.

Expand image См. также

Описание

Фундаментальные классы Visual FoxPro, по-алфавиту: A-Z

Концепции

Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Cookies Foundation Class

Visual FoxPro 9.0 Описание Языка
Cookies, фундаментальный класс
См. также
CollapseAll image

Рассматриваемый пример представляет собой простейший класс Web для обработки объектов "Cookies", используемых в нескольких страницах Web. Данный класс в первую очередь может быть использован совместно с Microsoft Internet Information Servers, к примеру: FoxISAPI.

Кактегория | Компоненты Интернет
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes \Internet
Класс | _cookie
Базовый Класс | Custom
Библиотека классов | _internet.vcx
Поролждающий Класс | _custom

Expand image Комментарии

Для использования рассматриваемого класса, выполните "перетаскивание" (Drag-And-Drop) иконки класса в ваш Проект или в вашу Форму, или, в системной компоненте Component Gallery Item (контекстное меню), выберите подпункты Add to Project (добавить в Проект) или Add to Form (добавить в Форму). В том случае, когда вы добавляете рассматриваемый класс в Форму, Visual FoxPro размещает иконку класса на форме, где вы можете уточнить требуемые значения свойств и Параметров, обеспечить корректную функциональность по обработке Данных. В том случае, когда вы размещаете класс в Проекте, вы можете либо непосредственно использовать Класс, либо создать порождаемый Подкласс.

Свойства, События, Методы | Краткое Описание
cCookie, свойство | Имя текущего Объекта "Сookie". По-умолчанию: ""
CookieTable, свойство | Имя Таблицы Объектов типа "Cookies". По-умолчанию: Cookies.dbf
DBFAlias, свойство | Алиас Таблицы объектов "Сookies". По-умолчанию: ""
MakeCookie, метод | Создание уникального идентификатора для объекта типа "Сookie", на основе штампа системного времени. Синтаксис: MakeCookie( ) Возвращаемое значение: Нет Параметры: Нет
GetCookie, метод | Получить Сookie из Сервера HTML. Синтаксис: GetCookie(cStr) Возвращаемое значение: Нет Параметры: cStr определяет Имя соответствующего объекта Сookie, которое требуется получить.
WriteCookieInfo, метод | Записывает информацию об объектах типа "Сookie's" в соответствующую Таблицу. Синтаксис: WriteCookieInfo( ) Возвравщаемое Значение: Нет Параметры: Нет
FixURL, метод | Читает соответствующие URL и вычисляет %-маркеры для соответствующих объектов типа "Сookie". Синтаксис: FixURL(m.cStr) Возвращаемое Значение: Нет Параметры: m.cStr определяет Имя соответствующего объекта cookie, который должен быть обработан.
GetVal, метод | Возвращает требуемое Значение из исходной строки cStr. Синтаксис: GetVal(cStr, cVal) Возвращаемое Значение: cVal Параметры: cStr определяет исходную символьную строку, в которой выполняется Поисктребуемого Значения cVal. cVal определяет значение, которое должно быть найдено в исходной Строке, cStr.

Expand image См. также

Описание

Фундаментальные классы Visual FoxPro, по-алфавите: A-Z

Концепции

Общие Рекомендации по использованию фундаментальных классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Cross Tab Foundation Class

Visual FoxPro 9.0 Описание Языка
Cross Tab (Перекрестная Таблица), фундаментальный класс
См. также
CollapseAll image

Рассматриваемый класс использует механизм соответствующего Мастера (Cross-Tab Wizard) для создания Перекрестной Таблицы (Шахматки) для Построения соответствующего Отчета.

Кактегория | Automation
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes\Automation
Класс | _xtab
Базовый Класс | Custom
Библиотека Классов | _utility.vcx
Порождающий класс | _custom
Пример Формы | ...\Samples\Solution\Ffc\Automate.scx

Expand image Комментарии

Для использования данного класса, выполните "перетаскивание" (Drag-and-Drop) иконки Класса в свой Проект Приложения или в Форму, или, в системной компоненте Component Gallery Item (контекстное Меню), выберите подпункт Add to Project (добавить в Проект) или Add to Form (добавить в Форму). После добавления данного Класса в Форму открывается соответствующий Дизайнер Форм, его составляющая Среда Данных (Data Environment), где вам необходимо уточнить значение Свойств lDisplayNulls, lTotalRows, nTotalOption, lBrowseAfter. При добавлении данного Класса в ваш Проект Приложения вы имеете возможность либо использовать непосредственно данный Класс, либо создать порождаемый Подкласс.

Дополнительную информацию по использованию Фундаментальных Классов смотрите в разделе Рекомендации по использованию Фундаментальных классов Visual FoxPro

Свойства, События, Методы | Краткое Описание
cOutfile, свойство | Имя Результирующего Файла (файла Вывода). Значение по-умолчанию: xtabquery
lCursorOnly, свойство | Определяет, является ли Источником данных обычный Курсор (Таблица). Значение по-умолчанию: .T.
lCloseTable, свойство | Определяет, выполнять ли закрытие Источников данных после генерации Результата. Значение по-умолчанию: .T.
lShowThem, свойство | Определяет, отображать ли Индикатор Процесса ("термометр") при построении Результата. Значение по-умолчанию: .T.
nRowField, свойство | Определяет номер позиции Поля результирующей Строки Итоговой Таблицы. Значение по-умолчанию: 1
nColField, свойство | Определяет номер позиции Поля результирующего Столбца в Итоговой Таблице. Значение по-умолчанию: 2
nDataField, свойство | Определяет номер позиции Поля Данных в Итоговой Таблице. Значение по-умолчанию: 3
lTotalRows, свойство | Определяет, создается ли Итоговая строка в Результирующей Таблице (Строка Результатов). Значение по-умолчанию: .F.
nTotalOption, свойство | Определяет Тип вычисляемых Результатов Итоговой (результирующей Строки): 0 = Сумма, 1 = Количество, 2 = % от Итогов. Значение по-умолчанию: 0
lDisplayNulls, свойство | Определяет, отображаются ли значания типа .NULL. в Результирующей Таблице. Значение по-умолчанию: .F.
lBrowseAfter, свойство | Определяет, выводится ли Итоговая Таблица в системное Окно Browse. Значение по-умолчанию: .T.
RunXtab, метод | Непосредственный Метод построения Перекрестной Таблицы (Cross-Tab). Синтаксис: RunXtab( ) Возвращаемое Значение: Нет Параметры: Нет

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту: A-Z

Концепции

Общие Рекомендации по использованию Фундаментальных классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Crypto API Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Crypto API
Смотрите также
CollapseAll image

Этот дополненный класс обеспечивает вам выделенный доступ к процедурам Windows Crypto API. Вы можете использовать его для шифрования информации в ваших приложениях, включая шифрование текста, файлов и данных в полях. Существуют процедуры для поточного шифрования, блочного, симметриченого, шифрования частных и открытых ключей, а также подписи файлов.

Категория | Системные диалоговые окна
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _cryptapi
Базовый класс | Custom
Библиотека класса | _crypt.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\Crypto.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro помещает на нее иконку класса. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода.. При добавлении класса в проект у вас есть возможность выбора - добавить класс в проект или создать субкласс на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Для получения информации о свойствах, события и методах - обратитесь к самому классу и образцу его использования.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Edit Buttons Foundation Class

Visual FoxPro 9.0 Описание Языка
Data Edit Buttons (Кнопки Редактирования Данных), фундаментальный класс
См. также
CollapseAll image

Рассматриваемый Класс представляет собой полный набор Кнопок Редактирования Top, Previous, Next, Bottom, Find, Print, Add Delete, Edit, Save (Первая, Предыдущая, Следующая, Последняя, Найти, Печатать, Добавить, Удалить, Изменить, Сохранить). Стандартный Дизайнер Форм ( Form Wizard) использует данный Класс при Генерации простейшей Пользовательской Формы.

Категория | Компонента представленного Класса
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | picbtns
Базовый Класс | CommandGroup
Библиотека Классов | wizbtns.vcx
Порождающий Класс | txtbtns
Форма Примера | ...\Samples\Solution\Ffc\dataedit.scx

Expand image Комментарии

Рассматриваемый класс вы можете использовать для создания Простейших Форм, где отображаются Данные из одной Таблицы (.dbf), или при обработке Схемы из двух Таблиц, связанных Отношением "Один-ко-Многим", где Родительские и Дочерние Записи Таблиц размещаются в соответствующих Контролах Grid.

Для использования рассматриваемого Класса, "перетащите" (drag-and-drop) иконку этого Класса в ваш Проект или в вашу Форму, или, с помощью Контекстного Меню из системной Компоненты Component Gallery Item, выберите подпункт Add to Form (добавить в Форму). После этого система Visual FoxPro размещает соответственную (-ые) Кнопки на Форме. Вы можете определить Источники Данных для требуемых Объектов, которые обеспечивают Ввод и Вывод необходимой Информации. При размещении данного Класса в ваш Проект вы можете выбрать из двух вариантов: или использовать данный класс, или создать порождаемый ПодКласс. Указанный порождающий класс Кнопок txtbtns содержит Свойство, которое вы можете изменить:

Свойства, События, Методы | Краткое Описание
WizBMPpath, свойство | Данное Свойство является Внутренним для данного Класса.

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту: A-Z

Концепции

Общие Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Использования Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Data Navigation Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс кнопок навигации
Смотрите также
CollapseAll image

Этот класс представляет собой набор кнопок навигации, который включается в себя командные кнопки Top, Next, Prev и Bottom. Кроме того, он содержит класс DataChecker для проверки конфликтов во время перемещения по записям.

Категория | Навигация по данным
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _datanavbtns
Базовый класс | Container
Библиотека класса | _datanav.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Forms\single.scx

Expand image Примечания

Для использования класса перетащите его в проект или в форму или выберите из контекстного меню Component Gallery Item (Элемент галереи компонентов) пукнт Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в форму, вы должны предоставить также объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между добавлением класса в преокт или созданием субкласса, на его основе.

Смотрите Руководства по использованию фундаментальных классов Visual FoxPro для получения более подрбной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cSkipTable | Таблица, внутри которой перемещается указатель записи. По умолчанию: ""
Свойство lEnableDisableOnInit | Определяет - будут ли доступны кнопки навигации сразу после загрузки формы. По умолчанию: .T.
Метод RecordPointerMoved | Вызывется каждый раз при перемещении указателя записи, предоставляя новое событие для класса. Синтаксис: RecordPointerMoved( ) Возврат: нет параметры: нет
Метод EnableDisableButtons | Запрещает или разрешает работу кнопок на основе размещения указателя записи в таблице. Синтаксис: EnableDisableButtons( ) Возврат: нет параметры: нет
Метод BeforeRecordPointerMoved | Вызывает перед перемещением указателя записи для определения - содержит ли таблица записи. Синтаксис: BeforeRecordPointerMoved( ) Возврат: нет параметры: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Navigation Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Data Navigation Object
Смотрите также
CollapseAll image

Этот невизуальный объект навигации может быть использован другими элементами управления для навигации по записям в источнике данных, таком как таблица или представление.

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _tablenav
Базовый класс | Custom
Библиотека класса | _table.vcx
Родительский класс | _table
Образец использования | ...\Samples\Solution\Ffc\datanav.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе. При добавлении класса в форму, Visual FoxPro отображает на ней иконку класса, после чего вы можете добавить объект навигации по данным и ссылаться на подходящий метод класса в форме при ее разработке в Form Designer (Конструкторе форм).

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство lCycle | Управляет перемещением, когда указатель записи достигает конца или начала файла. По умолчанию: .F.
Метод GoBottom | Перемещает указатель записи к последней записи. Синтаксис: GoBottom( ) Возврат: Нет Аргументы: Нет
Метод GoRecord | Перемещает указатель записи к указанному номеру записи. Синтаксис: GoRecord( ) Возврат: Нет Аргументы: tiRecord
Метод GoNext | Перемещает указать записи к следующей записи, используя команду SKIP 1. Если это перемещение достигло позиции при EOF( ), дальнейшее поведение определяется свойством lCycle. Синтаксис: GoNext( ) Возврат: Нет Аргументы: Нет
Метод GoPrevious | Перемещает указатель записи к предыдущей записи, используя команду SKIP –1, если указатель записи еще не достиг BOF(). Если же это произошло, то есть указатель переместился в позицию BOF(), то дальнейшее поведение определяется свойством lCycle. Синтаксис: GoNext( ) Возврат: Нет Аргументы: Нет
Метод GoTop | Перемещает указатель записи к первой записи. Синтаксис: GoTop( ) Возврат: Нет Аргументы: Нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Session Manager Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Data Session Manager
Смотрите также
CollapseAll image

Этот класс используется для управления сессиями данных и обслуживания обновления данных во всех формах или наборах форм в текущей сессии данных. Он позволяет объекту Application легко перемещаться между сессиями для обеспечения поведения закрытия Windows во время событий Exit или Shutdown. Кроме того, он предоставляет групповое поведение QueryUnload для форм и наборов форм, и групповой код для сессионных Update и Revert code. Вы можете использовать его для оценки - были ли во время сессии изменены данные до того, как вы будете использовать свою собственную процедуру обслуживания конфликтов.

Категория | Приложение
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Application
Класс | _datassession
Базовый класс | Custom
Библиотека класса | _app.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\environ.scx

Expand image Примечания

Этот класс работает как со свободными таблицами, так и с таблицами баз данных. Соблюдается ограничение транзакций (5).

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении в форму Visual FoxPro размещает на ней добавляемый класс. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекты ввода/вывода. При добавлении класса в проект у вас есть возможность выбора - добавить класс в проект или создать субкласс на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов..

Свойства, события, методы Описание

Свойство iDataChangedMode

Определяет тип осуществленного изменения данных.

0 - Все изменено. 1 - Игнорированы поля представления не представленные в списке Updatefields. 2- Игнорированы представления, не установленные для посылки обновлений источнику данных.

По умолчанию: 0

Свойство iSavedSessionID

Указывает целочисленное значение, представляющее собой ID сохраненной сессии.

По умолчанию: 1

Свойство lSuccess

Определяет - была ли успешной операция над данными (update).

По умолчанию: .T.

Свойство lUseTransactions

Определяет - будет ли процедура обновления оформлена в виде транзакции.

Note Замечание

В транзакциях могут участвовать только таблицы базы данных (.dbc).

По умолчанию: .T.

Метод DataChanged

Проверяет - изменялись ли данные.

Синтаксис: DataChanged( )

Возврат: нет

Аргументы: нет

Метод DataFlush

Гарантирует, что активный элемент управления будет имет свое текущее содержание "recognized" ("распознаваемым") даже в случае выбора обновления посредством командной кнопка полоски инструментов, пока фокус находится на элементе управления grid.

Синтаксис: DataFlush( )

Возврат: нет

Аргументы: нет

Метод GetActiveControlRef

Возвращает истинно активный элемент управления, loRealActiveControl, в случае, когда текущий активный элемент управления располагается в элементе управления Grid.

Синтаксис: GetActiveControlRef(toActiveControl)

Возврат: loRealActiveControl

Аргументы: toActiveControl определяет текущий элемент управления.

Метод GetMessageBoxTitle

Возвращает порцию текста титульного заголовка, указавающего имя сообщения.

Синтаксис: GetMessageBoxTitle( )

Возврат: cTitlebarText

Аргументы: нет

Метод QueryUnload

Предоставляет диалоговые окна для управления решениями при изменениях в данных.

Синтаксис: QueryUnload(tlDataChangeAlreadyConfirmed, toForm, tlNoShow)

Возврат: liResult

Аргументы: tlDataChangeAlreadyConfirmed определяет - были ли изменены данные. toForm указывает форму. tlNoShow определяет - будет ли отображаться форма. liResult указывает MESSAGEBOX или значение.

Метод RestoreSessionID

Восстанавливает сессию данных.

Синтаксис: RestoreSessionID

Возврат: нет

Аргументы: нет

Метод Revert

Восстанавливает (Reverts) сессию в оригинальные данные.

Синтаксис: Revert(tlUserChoiceAlreadyConfirmed, tlDataChangeAlreadyConfirmed, toForm, tlNoShow)

Возврат: нет

Аргументы: tlUserChoiceAlreadyConfirmed определяет - будет ли отображаться диалоговое окно подтверждения. tlDataChangeAlreadyConfirmed определяет- будет ли отображаться диалоговое окно подтверждения. toForm указывает форму. tlNoShow определяет - будет ли отображаться форма.

Метод SetSessionID

Устанавливает сессию данных.

Синтаксис: SetSessionID( )

Возврат: нет

Аргументы: нет

Метод Update

Обновляет данные.

Синтаксис: Update(tlUserChoiceAlreadyConfirmed, tlDataChangeAlreadyConfirmed, toForm, tlNoShow)

Возврат: нет

Аргументы: tlUserChoiceAlreadyConfirmed определяет - будет ли отображаться диалоговое окно подтверждения. tlDataChangeAlreadyConfirmed будет ли отображаться диалоговое окно подтверждения. toForm указывает на форму. tlNoShow определяет - будет ли отображаться форма.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Validation Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Data Validation
Смотрите также
CollapseAll image

Этот класс перехватывает конфликты данных на буферированных источниках.

Категория | Редактирование данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _datachecker
Базовый класс | Custom
Библиотека класса | _datanav.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\conflicts.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, вам необходимо указать значения соответствующих свойств. При добавлении класса в проект у вас есть возможность выбора - добавить класс в проект или создать субкласс на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов..

Свойства, события, методы | Описание
Метод HandleRecord | Сравнивает текущее значение, старое значение и оригинальное значение на диске для каждого поля, отображая окно сообщений, если обнаружено изменение или имеется конфликт. Синтаксис: HandleRecord(lnScope) Возврат: nReturn Аргументы: lnScope - указывает уровень проверки: 0 = проверка на конфликты 1 = проверка на конфликты и изменения. nReturn - указывает произведенное действие: 0 = Неизменено 1 = Изменено успешно 2 = Невозможно сделать изменения
Метод String | Вызывается методом HandleRecord, возвращает символьный эквивалент посылаемого значения. Возвращает для мемо полей только извещение. Синтаксис: String(luValue) Возврат: нет Аргументы: luValue - указывает проверяемое значение.
Метод VerifyChanges | Запрашивает пользователя о сохранении всех изменений, произведенных в записи или таблице. Синтаксис: VerifyChanges( ) Возврат: нет Аргументы: нет
Метод VerifyEachChange | Запрашивает пользователя о подтверждении каждого произведенного изменения. Синтаксис: VerifyEachChange( ) Возврат: нет Аргументы: нет
Метод CheckcConflicts | Извещает пользователя, когда данные изменяются после начала редактирования записи. Синтаксис: CheckcConflicts( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DBF to HTML Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс DBF в HTML
Смотрите также
CollapseAll image

Этот класс преобразует данные из Visual FoxPro курсора (.DBF) в HTML. Подключает управление областью, визуальной раскладкой и генерацию HTML generation. Для получения более подробной информации о создании Web страниц из таблиц Visual FoxPro, смотрите Genhtml.prg.

Категория | Internet
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Internet
Class | _dbf2html
Base Class | Custom
Class Library | _internet.vcx
Parent Class | _custom
Sample | ...\Samples\Solution\Ffc\dohtml.scx

Expand image Примечания

Для использования, перетащите класс в проект или в форму, или из контекстного меню Component Gallery Item выберите пункт Add to Project или Add to Form. Когда вы добавляете класс в форму, Visual FoxPro открывает построитель, где вы можете акцептировать текущие значения или указать соотвевтствующие значения для cSource, cOutFile и nGenOutput. Когда вы перетаскиваете класс в проект, то вы можете выбрать между вводом класса и созданием субкласса..

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации.

Свойства, события, методы | Описание
Свойство cSource | Определяет источник, из которого будет генерироваться HTML. По умолчанию: ""
Свойство nGenOutput | _GENHTML выходные опции. 0 = генерировать выходной файлe. 1 = генерировать и отобразить выходной файл в редакторе Visual FoxPro. 2 = генерировать и отобразить выходной файл в Internet Explorer. 3 = генерировать и отобразить выходной файл после отображения диалогового блока Save As . 4 = создать объект PUBLIC _oHTML и сгенерировать файл. 5 = создать объект PUBLIC _oHTML без генерации файла. По умолчанию: 2
Свойство cOutFile | Указывает имя HTML файла для вывода. По умолчанию: ""
Свойство lAutoNameOutput | Определяет - должен ли _GENHTML автоматически именовать файл вывода на основе имени источника. По умолчанию: .T.
Свойство lUseCurrentAlias | Определяет - будет ли использовано в качестве источника текущее псевдоимя. По умолчанию: .T.
Свойство cScope | Определяет область данных (например, NEXT или ALL), используемых для вывода. По умолчанию: ""
Свойство cStyle | Указывает визуальный стиль в том виде, как перечислено в поле ID таблицы Genhtml.dbf. По умолчанию: ""
Метод GenHTML | Генерирует HTML вызовом программы Genhtml.prg с использованием свойств, указанных в cSource, cOutput и nGenOutput. Синтаксис: GenHTML( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Distinct Values Combo Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Distinct Values Combo
Смотрите также
CollapseAll image

Этот класс производит поиск уникальных значений в поле, определенном в ControlSource для заполнения элемента управления combobox.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _cbodistinctvalues
Базовый класс | ComboBox
Библиотека класса | _dataquery.vcx
Родительский класс | _combobox
Образец использования | ...\Samples\Solution\Ffc\datalook2.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item выберите Add to Form (Добавить в форму). Когда вы перетаскиваете класс на форму, Visual FoxPro помещает на не элемент управления combobox. Вам необходимо указать подходящее случаю значение для свойства ControlSource. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Error Object Foundation Class

Visual FoxPro 9.0 Справочник Языка
Фундаментальный класс Объекта Error
См. Также

Этот класс является универсальным обработчиком ошибок, который работает как для объектного, так и для процедурного кода. Этот класс используется каркасом приложения, сгенерированным Application Wizard.

Категория | Приложение
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Application
Class | _error
Base Class | Custom
Class Library | _app.vcx
Parent Class | _custom
Sample | ...\Samples\Solution\Ffc\error.scx

Замечания

Для использования, поместите класс в проект или на форму или, из пункта подручного меню Component Gallery выберите Add to Project или Add to Form. Когда Вы добавляете класс к форме, Visual FoxPro размещает значок класса на форме. Затем Вы можете определить соответствующие значения свойств и обращаться к его функциональным возможностям для целей ввода и вывода. Когда Вы помещаете класс в проект, Вы можете выбрать между добавлением класса или созданием подкласса.

См. Guidelines for Using Visual FoxPro Foundation Classes для подробной информации относительно использования фундаментальных классов.

Свойства, События, Методы | Описание
GetMessageBoxTitle метод | Возвращает действительно активный элемент управления, loRealActiveControl , в случаях, где текущим активным элементом управления является Grid . Синтаксис: GetActiveControlRef(toActiveControl) Возвращает: ERROR_MESSAGEBOX_TITLE_LOC Параметры: нет
cCurrentMessage свойство. | Определяет сообщение об ошибке. Значение по умолчанию: " "
cCurrentMethod свойство | Указывает метод, в котором произошла ошибка. Значение по умолчанию: " "
iCurrentError свойство | Определяет номер ошибки. Значение по умолчанию: 0
iCurrentLine свойство | Определяет строку, в которой произошла ошибка. Значение по умолчанию: 0
cCurrentClass property | Определяет классификацию ошибки, которую объект Error указывает для этого специфического номера ошибки. Значение по умолчанию: " "
lServer свойство | Проверяет _VFP.StartMode, чтобы определить, нужно ли избегать разного сорта модальных диалогов обратной связи в зависимости от способа запуска Visual FoxPro. Значение по умолчанию: (BETWEEN(_VFP.StartMode,1,3)))
cLogAlias свойство | Определяет имя псевдонима регистрации. Значение по умолчанию: " "
cLogDBF свойство | Определяет имя файла журнала (DBF), который сформирован объектом _error. Значение по умолчанию: " "
lUserCancelled свойство | Позволяет внешней программе исполнять любые необходимые завершающие операции перед уничтожением. Значение по умолчанию: .F.
HandleMain метод | Процедура, которая обрабатывает ошибку. Синтаксис: HandleMain(tiError, tcMethod, tiLine) Возвращает: нет Параметры: tiError определяет номер ошибки. tcMethod определяет имя текущего метода. tiLine определяет номер текущей строки.
OKToReport метод | Абстрактный класс для принятия решения, сообщать ли об ошибке. Синтаксис: OKToReport( ) Возвращает: нет Параметры: нет
isTrivial метод | Определяет, является ли ошибка тривиальной ошибкой. Синтаксис: IsTrivial(tlWantDialog блок) Возвращает: нет Параметры: tlWantDialog box определяет вывод опционального диалогового окна.
isFatal метод | Определяет, является ли ошибка критической. Синтаксис: isFatal () Возвращает: нет Параметры: tlWantDialog box определяет отображение дополнительного диалогового окна.
GetMessageBoxTitle метод | Предназначен для вашего подкласса или экземпляра для заполнения специфической для приложения информацией. Синтаксис: GetMessageBoxTitle( ) Возвращает: нет Параметры: нет
DisplayErrorLog метод | Отображает файл регистрации ошибок. Синтаксис: DisplayErrorLog( ) Возвращает: нет Параметры: нет
OKToContinue метод | Оценивает ошибку для принятия решения о продолжении выполнения программы. Синтаксис: OKToContinue( ) Возвращает: нет Параметры: нет
SetLog method | Определяет имя или создает таблицу регистрации ошибок и псевдоним. Синтаксис: SetLog( ) Возвращает: cLogAlias. Таблица регистрации ошибок имеет следующий формат:CREATE TABLE (THIS.cLogDBF); (errstamp t; listing m,; usernotes m) Параметры: нет
cCurrentErrorParam свойство | Внутреннее для класса.
aErrorClass[1,3] свойство | Внутреннее для класса.
aErrors[1,6] свойство | Внутреннее для класса.
*FillArrays . | Внутреннее для класса.
LogErrorReport метод | Внутреннее для класса.
GetErrorAttribute метод | Внутреннее для класса
isGoodErrorLog метод | Внутреннее для класса.
UserHandlesError метод | Внутреннее для класса.
UserCancelled метод | Внутреннее для класса.
FillLogRecord метод | Внутреннее для класса.
DoErrorLogUI метод | Внутреннее для класса.

See Also

Other Resources

Guidelines for Using Visual FoxPro Foundation Classes
Visual FoxPro Foundation Classes A-Z
Foundation Class Samples

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Field Mover Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Field Mover
Смотрите также
CollapseAll image

Представляет собой элемент управления типа listbox с функциональностью "super mover", который автоматически загружает поля из текущего источника данных, когда вы перетаскиваете его на форму.

Категория | Элементы управления перемещениями
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _fieldmover
Базовый класс | Container
Библиотека класса | _mover.vcx
Родительский класс | _supermover
Образец использования | ...\Samples\Solution\Ffc\movers.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro открывает компоновщик, с помощью которого вы можете либо принять действующие значения или указать свои соответствующие значения для SkipGeneral, SkipMemo и AllowReadOnly. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство AllowReadOnly | Разрешен для источников данных с признаком "только для чтения". По умолчанию: .F.
Свойство AutoInit | Автоматически запускается пи загрузке. По умолчанию: .T.
Свойство CurrentAlias | Текущее псевдоимя таблицы, определеямое с помощью ALIAS(). По умолчанию: ""
Свойство CurrentDBC | Файл текущей базы данных. По умолчанию: ""
Свойство CursorType | Определяет тип курсора. 1 = локальное представление, 2 = удаленное представление, 3 = таблица По умолчанию: 3
Свойство DBCTable | Имя таблицы в базе данных. По умолчанию: ""
Свойство MultiTable | Определяет - будет ли подерживаться множество таблиц. По умолчанию: .F.
Свойство SkipGeneral | Определяет - будут ли включены в список поля типа General. По умолчанию: .F.
Свойство SkipMemo | Определяет - будут ли включены в список поля типа Memo. По умолчанию: .F.
Свойство TableType | Возвращает тип таблицы - SYS(2029). По умолчанию: 0
Метод AcolScan | Сканирование конкретной колонки в массиве. Синтаксис: AcolScan(@wztarr, wztexpr, wztcol) Возврат: Нет Аргументы: wztarr определяет сканируемый массив. wztexpr определяет текущее выражение, которое ищется в массиве. wztcol определяет колонку, которая будет сканироваться.
Метод AddToArray | Добавляет sContents в массив, aAddToArray, в строку iRow. Синтаксис: AddToArray(@aAddToArray, sContents, iRow) Возврат: Нет Аргументы: aAddToArray определяет массив, в который будет добавлен элемент. sContents определяет содержание элемента, вводимое в массив. iRow определяет - в какую строку массива будет вставлено sContents.
Метод Alert | Отображает сообщение (messagebox). Синтаксис: Alert(pMessage) Возврат: Нет Аргументы: pMessage определяет сообщение, которое будет отображено в MESSAGEBOX().
Метод FieldChange | Срабатывает, когда выбранное поле изменяется. Синтаксис: FieldChange(nButton) Возврат: Нет Аргументы: nButton определяет нажатую командную кнопку.
Метод GetTableData | Извлекает поля из таблицы. aWizFlist содержит список полей, aCalcFields содержит список вычисляемых полей, aPickFields содержит список выбранных полей. Синтаксис: GetTableData( ) Возврат: aWizFList, aCalcFields, aPickFields Аргументы: Нет
Метод InitData | Инициализирует данные. Синтаксис: InitData( ) Возврат: Нет Аргументы: Нет
Метод InitVars | Инициализирует переменные, используемые схемой перемещения. Синтаксис: InitVars( ) Возврат: Нет Аргументы: Нет
Метод JustStem | Извлекает основу имени файла. Синтаксис: JustStem(m.filename) Возврат: m.filename Аргументы: m.filename определяет имя файла, из которого извлекается основа.
Метод SetDataProps | Устанавливает свойства данных источника данных. Синтаксис: SetDataProps( ) Возврат: Нет Аргументы: Нет
Метод UpdateStatusbar | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальный класс Super Mover

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


File Version Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс File Version
Смотрите также
CollapseAll image

Извлекает информацию из ресурса версии файла и сохраняет ее в массив.

Категория | Утилиты связанные с файлами
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _fileversion
Базовый класс | Custom
Библиотека класса | _utility.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\WinAPI\getver.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro размещает на ней иконку класса. Вы можете, затем, указать соответствующие значения свойств и предоставить необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Свойства, события, методы | Описание
Свойство cFileName | Имя исследуемого файла. По умолчанию: ""
Свойство aVersion[12,0] | Массив, в котором будет сохранена информация о версии файла. По умолчанию: .F.
Метод GetVersion | Извлекает информации о версии для файла, указанного в cFileName. Синтаксис: GetVersion( ) Возврат: Нет Аргументы: Нет
Метод DisplayVersion | Отображает информацию о версии для файла, указанного в cFileName. Синтаксис: DisplayVersion( ) Возврат: Нет Аргументы: Нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Filter Dialog Box Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Filter Dialog Box Button
Смотрите также
CollapseAll image

Этот класс представляет собой командную кнопку, при щелчке по которой отображается диалоговое окно, которое позволяет вам отфильтровать данные в конкретном поле.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _filterbutton
Базовый класс | CommandButton
Библиотека класса | _table2.vcx
Родительский класс | _dialog boxbutton
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму Visual FoxPro размещает на ней командную кнопку. Когда же вы перетаскиваете класс в проект, то у вас есть возможность выбора: добавить класс в проект или создать субкласс на его основе.

Свойства, события, методы | Описание
Свойство lExprDialogbox | Внутреннее класса.
Свойство cExprClass | Внутреннее класса.
Свойство cFilterClass | Внутреннее класса.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Filter Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Filter Dialog Box
Смотрите также
CollapseAll image

Этот класс представляет собой диалоговое окно, которое использует существующий объект фильтра, позволяющй вам фильтровать данные в конкретном поле.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _filterdialog
Базовый класс | Form
Библиотека класса | _table.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект, созданием субкласса на основе выбранного класса или созданием формы.

Когда вы перетаскиваете класс в проект или выбираете Create a new form from selected class (Создать новую форму из выбранного класса) либо в контекстном меню галереи компонентов, либо в диалоговом окне, рисунок которого приведен выше, Visual FoxPro отображает диалоговое окно Open (Открыть), в котором вы вы можете указать имя файла формы. Затем Visual FoxPro создает форму и открывает ее в Form Designer (Конструкторе форм).

_FilterDialog позволяет вам использовать выражения Visual FoxPro для сборки сложных фильтров использя логические выражения, вложенные условия и тому подобное, ограничивая их только количеством полей, доступных в текущих, открытых таблицах. Он автоматически предоставляет разделители для полей различных типов. Вы можете установить - какие выражения могут быть оптимизируемыми выбрав доступные тэги текущей таблицы. В списке полей имя поля, которое имеет пригодный индексный тэг, предваряется символом "*" .

Подобно _FilterExpr, _FilterDialog требует наличия хотя бы одной открытой таблицы, в которой вы можете установить фильтр. В отличте от _FilterExpr, _FilterDialog не является модальным изначально, однако он становится модальным, когда его вызывает _FilterExpr. FilterDialog определяет текущую таблицу в событии Init. FilterDialog никогда не изменяет сессии данных.

При вызове из _FilterExpr, _FilterDialog определяет - какой фильтр пользователь уже указал в боксе редактирования _FilterExpr и отображает это выражение как свой начальный набор условий. Когда _FilterDialog вызывается непосредственно, он проверяет текущее псевдоимя на наличие фильтра, используя команду SET("FILTER"), и показывает любые текущие фильтры, как свой начальный набор условий.

Метод SetUpFilter() объекта _FilterDialog использует условия, перечисленные в диалоговом окне с создает выражения фильтра, затем применяет к выражением функцию NORMALIZE(). Результат сохраняется в свойстве cFilter. Когда вы щелкаете по OK, исполняется SetupFilter(). _FilterDialog вызывает метод _FilterExpr.SetFilter, если он сам вызван экземпляром объекта _FilterExpr; в противном случае, он использует _table для определения - позволена ли навигация, непосредственно устанавливает фильтр и обновляет отображение в случае, если фильтр установлен.

_FilterDialog представляет собой самостоятельный объект и не требует наличия _FilterExpr для сборки фильтра. Однако, при вызове его объектом _FilterExpr, для создания фильтра работают два диалоговых окна, одно для указания выражения в _FilterExpr и второе - для выборов выражений в _FilterDialog. Для получения более подробной информации о классе Filter Expression смотрите его описание в Фундаментальный класс Filter Expression Dialog Box.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы Описание

Свойство cFilter

Содержит выражение фильтра, обрабатываемое методом SetupFilter.

По умолчанию: ""

Метод SetupFilter

Этот метод берет условия, перечисленные в диалоговом окне и превращает из в выражение фильтра, затем применяет к выражению функцию NORMALIZE().

Синтаксис: SetupFilter(tcValue)

Возврат: cFilter

Аргументы: tcValue указывает выражение, используемое в качестве фильтра. cFilter представляет собой значение, хранящееся в свойстве cFilter.

Свойство cOldexact

Для внутреннего использования классом.

Свойство iBact

Для внутреннего использования классом.

Свойство iQptr

Для внутреннего использования классом.

Свойство iQuerymax

Для внутреннего использования классом.

Свойство iSelect

Для внутреннего использования классом.

Свойство oCaller

Для внутреннего использования классом.

Свойство aDBFs[1,0]

Для внутреннего использования классом.

Свойство aTags[1,0]

Для внутреннего использования классом.

Свойство aQuery[1,0]

Для внутреннего использования классом.

Свойство aFLDs[1,0]

Для внутреннего использования классом.

Метод SetAction

Для внутреннего использования классом.

Метод QReset

Для внутреннего использования классом.

Метод QSet

Для внутреннего использования классом.

Метод FSet

Для внутреннего использования классом.

Метод NoBrack

Для внутреннего использования классом.

Метод Brackets

Для внутреннего использования классом.

Метод SetTags

Для внутреннего использования классом.

Метод OnTag

Для внутреннего использования классом.

Метод NoTag

Для внутреннего использования классом.

Метод EditQuery

Для внутреннего использования классом.

Метод SetRowsources

Для внутреннего использования классом.

Метод SetInitialQueryParts

Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальный класс Filter Expression Dialog Box

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Filter Expression Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Filter Expression Dialog Box
Смотрите также
CollapseAll image

Этот класс создает диалоговое окно для создания выражения фильтра.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _filterexpr
Базовый класс | Form
Библиотека класса | _table.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект, созданием субкласса на основе выбранного класса или созданием формы.

Когда вы перетаскиваете класс в проект или выбираете Create a new form from selected class (Создать новую форму из выбранного класса) либо в контекстном меню галереи компонентов, либо в диалоговом окне, рисунок которого приведен выше, Visual FoxPro отображает диалоговое окно Open (Открыть), в котором вы вы можете указать имя файла формы. Затем Visual FoxPro создает форму и открывает ее в Form Designer (Конструкторе форм).

_FilterExpr представляет собой модальное диалоговое окно, которое позволяет вам указать выражение фильтра или сконструировать выражение фильтра с помощью одного или двух вспомогательных диалоговых окон.

Свойство lAdvanced переключает _FilterExpr между двумя режимами, стандартным и расширенным. В стандартном режиме кнопка "Build expression" использует экземпляр класса _FilterDialog для компоновки простого выражения. В расширенном режиме, кнопка использует значение, хранящееся в системной переменной _GETEXPR.

Свойство cFilter содержит текущее содержание выражения фильтра, которое уже построил пользователь. Бокс редактирования связан со свойством cFilter и может содержать до 254 символов.

Если _FilterExpr не может найти таблицу, на которой ему предстоит работать, он возвращает false (.F.) до выхода из события Init; в противнос случае он восстанавливает эти установки в методе Unload. Когда экземпляр _FilterExpr создан, но ALIAS() остается незаполненным, он ищет открытую таблицу в текущей сессии данных текущей выбранной формы или набора форм.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов..

Свойства, события, методы Описаниеbox b

Свойство cFilter

Содержит выражение фильтра, обрабатываемое в методе SetupFilter .

По умолчанию: (SPACE(254))

Свойство lAdvanced

Это свойство используется для переключения _FilterExpr между двумя режимами, _FilterDialog - false (.F) и GETEXPR - true (.T.).

По умолчанию: .F.

Свойство iOldSession

Ранее используемая сессия данных.

По умолчанию: 0

Свойство iOldSelect

Ранее используемая рабочая область.

По умолчанию: 0

Метод SetFilter

Устанавливает значение cFilter. Это метод полезен прежде всего в том случае, когда _FilterDialog вызываетс в модальном режиме для дальнейшей работы с выстроенным выражением.

Синтаксис: SetFilter(tcValue)

Возврат: cFilter

Аргументы: tcValue указывает выражение, используемое в качестве фильтра. cFilter представляет собой выражение фильтра.

Метод SetFilterOnTable

Если в текущей таблице разрешена навигация, этот метод применяет текущий фильтр к текущему псевдоимени, выдавая команду LOCATE, а затем вызывая метод RefreshLastWindowAfterChange() для получения фильтра для следующего доступного окна в вашем приложении.

Синтаксис: SetFilterOnTable( )

Возврат: нет

Аргументы: нет

Метод cFilter_Access

Внутренний для класса. Удаляет символы переводов каретки, возврата строки и табуляии из выражения фильтра и замещает их пробелами.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальный класс Filter Dialog Box

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Find (Findnext) Buttons Foundation Class

Visual FoxPro 9.0 Language Reference
Фундаментальный Класс Кнопок Поиска Find (Findnext)
Смотрите Также

Данный класс предоставляет настраиваемый набор кнопок поиска find/findnext.

Категория | Значение
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _findnextbuttons
Базовый Класс | Container
Библиотека Классов | _table.vcx
Родительский Класс | _findbutton
Пример | ...\Samples\Solution\Ffc\dataqry.scx

Примечания

Для использования, поместите данный класс в проект или на форму, или в контекстном меню Элемента Галереи Компонентов (Component Gallery Item), выбрать Add to Project (Добавить в проект) или Add to Form (Добавить на форму). Когда вы добавляете класс на форму, Visual FoxPro запускает построитель, таким образом, вы можете задать надлежащие значения. Когда вы добавляете класс в проект, вы можете на выбор добавить класс или создать подкласс.

Когда размещен на форме или в каком-либо другом контейнере, данный класс определяет запись удовлетворяющую заданному критерию поиска, используя объект Find. Для подробностей смотрите конопку Find или _findbutton в библиотеке классов _table.vcx в Class Browser.

Смотрите Также

Другие Ресурсы

Руководство по Применению Фундаментальных Классов Visual FoxPro
Visual FoxPro Фундаментальные Классы A-Z
Visual FoxPro Примеры Фундаментальных Классов
Фундаментальный Класс Кнопки Find

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Find Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Find Button
Смотрите также
CollapseAll image

Этот класс предоставляет командную кновку общего назначения Find (Поиск), использует объект Find и ищет запись на основе указанного критерия поиска.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _findbutton
Базовый класс | Container
Библиотека класса | _table.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\dataqry.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro открывает компоновщик, в котором вы можете указать соответствующие значения cFindString, lMatchCase, lSkipMemo и lWraparound. При добавлении класса в проект у вас есть возможность выбора - добавить класс в проект или создать субкласс на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов..

Свойства, события, методы | Описание
Свойство cAlias | Указывает источник данных, в котором будет производиться поиск. По умолчанию: ""
Свойство cFindString | Указывает строку, которая будет искаться. По умолчанию: ""
Свойство LFindAgain | Определяет - будет ли осуществляться поиск строки в уже пройденных файлах, в случае если она уже была однажды найдена cFindString. По умолчанию: .F.
Свойство lMatchCase | Определяет - будет ли при поиске учитываться регистр. По умолчанию: .F.
Свойство lSkipMemos | Определяет - будут ли при поиске игнорироваться мемо-поля. По умолчанию: .F.
Свойство lWrapAround | Определяет - будет ли осуществляться поиск с начала файла, если при поиске достигнут его конец (EOF). По умолчанию: .F.
Метод DoFind | Осуществляет поиск. Синтаксис: DoFind( ) Возврат: нет Аргументы: нет
Метод SkipField | Удаляет поля tcSkipField, из списка полей, используемых для поиска. Синтаксис: SkipField( ) Возврат: нет Аргументы: tcSkipField определяет поле, которое должно игнорироваться при поиске.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Find Dialog Box Foundation Class

Visual FoxPro 9.0 Language Reference
Фундаментальный Класс Диалогового Окна Find
Смотрите Также

Данный класс предоставляет настраиваемое диалоговое окно поиска Find с простыми опцияма, как например, выбор полей. Данный класс использует объект Find.

Категория | Значение
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _finddialog
Базовый класс | Form
Библиотека классов | _table.vcx
Родительский класс | _form
Пример | ...\Samples\Solution\Ffc\dataqry.scx

Примечания

Для использования, поместите данный класс в проект, или в контекстном меню Элемента Галереи Компонентов (Component Gallery Item), выбрать Add to Project (Добавить в проект). Когда вы добавляете класс в проект, вы можете на выбор добавить класс или создать подкласс или создать форму. Когда вы помещаете класс в проект или создаете новую форму на базе выбранного класса в контекстном меню, Visual FoxPro покажет диалоговое окно Open, таким образом, вы сможете указать имя формы, которая создастся и откроется в дизайнере форм.

Смотрите Руководство по Применению Фундаментальных Классов Visual FoxPro для дальнейшей информации.

Свойства, События, Методы | Описание
cAlias свойство | Определяет источник данных, где производить поиск. По умолчанию: ""
cFindString свойство | Определяет строку, которую искать. По умолчанию: ""
lAdvanced свойство | Определяет, показывать ли дополнительные опции в окне диалога. По умолчанию: .F.
lFindAgain свойство | Определяет, искать ли следующее вложение искомой строки cFindString. По умолчанию: .F.
lMatchCase свойство | Определяет поиск с учетом регистра. По умолчанию: .F.
lSkipMemos свойство | Определяет, игнорировать ли мемо-поля при поиске. По умолчанию: .F.
lWrapAround свойство | Определяет, начинать ли поиск с начала файла по достижению его конца. По умолчанию: .F.
DOFind метод | Осуществить поиск. Синтаксис: DoFind( ) Возвращает: ничего Параметры: нет
SkipField метод | Исключает поле tcSkipField из поиска. Синтаксис: SkipField( ) Возвращает: ничего Параметры: SkipField задает поле, которое игнорируется во время поиска.

Смотрите Также

Другие Ресурсы

Руководство по Применению Фундаментальных Классов Visual FoxPro
Visual FoxPro Фундаментальные Классы A-Z
Visual FoxPro Примеры Фундаментальных Классов

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Find Files/Text Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Find Files/Text
Смотрите также
CollapseAll image

Этот класс-обертка использует COM объект FILER.DLL для поиска файлов. Это просто упрощенная версия формы.

Категория | Утилиты связанные с файлами
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _filer
Базовый класс | Custom
Библиотека класса | _utility.vcx
Родительский класс | _custom

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro открывает компоновщик, в котором вы можете указать имя объекта в форме, а также соответствующие значения для свойств cFileExpression, cSearchPath, cSearchText, lIgnoreCase, lSubFolder и lWholeWords.

Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cFileExpression | Указывает шаблон имени файла для поиска. Это выражение может включать в себя символы ? и *. По умолчанию: ""
Свойство cSearchPath | Указывает каталог, в котором начнется поиск файла. По умолчанию: ""
Свойство cSearchText | Указывает текстовую строку для поиска внутри файлов. По умолчанию: ""
Свойство lIgnoreCase | Определяет - будет ли игнорироваться регистр символов при поиске. По умолчанию: .T.
Свойство lPromptDir | Определяет - будет ли пользователь запрашиваться о пути поиска, если он не был введен. По умолчанию: .T.
Свойство lSubFolder | Определяет - будет ли производится поиск файлов в субкаталогах. По умолчанию: .T.
Свойство lWholeWords | Определяет - будет ли производится поиск на соответствие целому слову. По умолчанию: .F.
Свойство oFiles | Указывает объект коллекции, в которую будут возвращаться файлы, найденные при вызове метода Find. По умолчанию: .F.
Метод Find | Производит поиск файлов, которые отвечают критериям, определенным в свойствах. Синтаксис: Find( ) Возврат: Нет Аргументы: Нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Find Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Find Object
Смотрите также
CollapseAll image

Этот класс создает объект общего назначения, который ищет запись на основе указанного критерия. The class also provides an optional Find Next method.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _tablefind
Базовый класс | Custom
Библиотека класса | _table.vcx
Родительский класс | _table
Образец использования | ...\Samples\Solution\Ffc\dataqry.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro открывает компоновщик, в котором вы можете указать имя объекта в форме, а также соответствующие значения для свойств cFindString, lMatchCase, lSkipMemo, lWrapAround.

Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Свойства, события, методы | Описание
Свойство cFields | Указывает список полей, в которых будет производитсья поиск. По умолчанию: ""
Свойство cFindString | Указывает строку, которую нужно найти. По умолчанию: ""
Свойство lFindAgain | Определяет - будет ли файл повторно пройден для поиска cFindString. По умолчанию: .F.
Свойство lMatchCase | Определяет - будет ли при поиске учитыватсья регистр. По умолчанию: .F.
Свойство lSkipMemos | Определяет - будут ли при поиске игнорироваться мемо-поля. По умолчанию: .F.
Свойство lWrapAround | Определяет - будет ли продолжен поиск с начала файла, если при поиске будет достигнут маркер конца файла (EOF). По умолчанию: .F.
Метод SkipField | Удаляет из списка полей для поиска поле tcSkipField. Синтаксис: SkipField() Возврат: Нет Аргументы: tcSkipField - указывает поле, которое должно игнорироваться во время поиска.
Свойство aMemos [1] | Для внутреннего использования классом
Свойство iMemos | Для внутреннего использования классом
Свойство cControlCharacter | Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Font Combobox Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Font Combobox
Смотрите также
CollapseAll image

Этот класс представляет собой элемент управления "combobox", который будучи помещенным на форму перечисляет все доступные шрифты. Он, также, используется классами tbrEditing и rtfControls в полоске инструментов _format.scx.

Категория | Форматирование текста
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Text Formatting
Класс | _cbofontname
Базовый класс | ComboBox
Библиотека класса | _format.vcx
Родительский класс | _combobox
Образец использования | ...\Samples\Solution\Toolbars\format.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro размещает его на форме после чего вы можете указать соответствующие значения шрифтов для объектов в активной форме. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Fontsize Combobox Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Fontsize Combobox
Смотрите также
CollapseAll image

Этот класс представляет собой элемент управления combobox, элементы которого перечисляют возможные размеры шрифта. Он, кроме того , используется классами tbrEditing и RTFControls библиотеки _format.scx.

Категория | Text Formatting
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Text Formatting
Класс | _cbofontsize
Базовый класс | ComboBox
Библиотека класса | _format.vcx
Родительский класс | _combobox
Образец использования | ...\Samples\Solution\Toolbars\format.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на нее элемент управления combobox, с помощью которого вы можете указать подходящие размеры шрифта для объектов в активной форме. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Свойства, события, методы | Описание
Свойство nSmallestFont | Для масштабируемых шрифтов, определяет минимально допустимый размер шрифта. По умолчанию: 8
Свойство nLargestFont | Для масштабируемых шрифтов, определяет максимально допустимый размер шрифта. По умолчанию: 48

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Format Toolbar Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Format Toolbar
Смотрите также
CollapseAll image

Этот класс, будучи помещенным на форму, предоставляет полоску инструментов, применяемую для форматирования текста в активном элементе управления.

Категория | Text Format
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Text Formatting
Класс | _tbrediting
Базовый класс | Toolbar
Библиотека класса | _format.vcx
Родительский класс | _toolbars
Образец использования | ...\Samples\Solution\Toolbars\format.scx

Expand image Примечания

Для использования этого класса перетащите его в проект или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект). При добавлении в проект у вас будет возможность выбора: добавить класс в проект или создать на его основе субкласс.

Свойства, события, методы | Описание
Свойство nAppliesTo | Определяет область форматирования. 1 = применить к выбранному элементу управления, 3 = применить ко всем элементам управления. По умолчанию: 1

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FRX to HTML Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс конверсии FRX в HTML
Смотрите также
CollapseAll image

Этот класс преобразует отчет Visual FoxPro (.FRX) в HTML.

Категория | Internet
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Internet
Class | _frx2html
Base Class | Custom
Class Library | _internet.vcx
Parent Class | _custom
Sample | ...\Samples\Solution\Ffc\dohtml.scx

Expand image Примечание

Класс включает свойства для управления области действия и генерации HTML. Для получения более подробной информации смотрите описание программы Genhtml.prg.

Note Замечание

В Visual FoxPro 9, Genhtml.prg при обработке FRX использует класс ReportListener, который вы зарегистрировали с текущим приложением Report Output, производязим вывод в HTML. Для получения более подробной информации почитайте описания классов ReportListener Foundation Classes.

Для использования этого класса, перетащите класс в проект или на форму. Когда вы добавляете класс в форму, Visual FoxPro открывает построитель, с помощью которого вы можете указать значения свойств cSource, cOutFile, nGenOutput и lAutonameOutput. Когда вы перетаскиваете класс в проект, вы можете выбирать между добавлением класса и созданием субкласса.

Свойства, события и методы | Описание
Свойство cOutFile | Указывает имя создаваемого HTML-файла. По умолчанию: ""
Свойство cSource | Указывает файл источника, из которого будет сгенерирован HTML. По умолчанию: ""
Свойство nGenOutput | Опции вывода _GENHTML: 1 = Сгенерировать и отобразать файл в редакторе Visual FoxPro. По умолчанию: 20 = Генерировать файл вывода.
Свойство lAutoNameOutput | Указывает, должен ли _GENHTML автоматически именовать выводной файл именем файла источника. По умолчанию: .T.
Свойство cScope | Определяет область действия (например, NEXT или ALL) для вывода в HTML формат . По умолчанию: ""
Метод GenHTML | Генерирует HTML код вызовом программы Genhtml.prg, используя свойства, указанные в cSource, cOutput и nGenOutFile. Синтаксис: GenHTML( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Genhtml.prg

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Примеры использования фундаментальных классов
Приложение Report Output

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FRX Cursor Foundation Class

Visual FoxPro 9.0
Фундаментальный класс курсора FRX (FRX Cursor)
Смотри также Пример

Данный класс предоставляет методы для трансляции и обработки различных величин в файлах этикеток (lbx) и отчетов (frx).

Категория | Описание
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Output\Output Helper Classes
Class | frxCursor
Base Class | Custom
Class Library | _FrxCursor.vcx
Parent Class | Custom

Замечания

Этот класс раскрывает алгоритмы, используемые ReportOutput.APP, ReportBuilder.APP, и ReportPreview.APP для интерпретации различных значений печати и значений в таблицах Report (frx) и Label (lbx).

Главным образом он полезен разработчикам, расширяющим функциональность Visual FoxPro при работе с отчетами. Для получения более подробной информации обратитесь к статье Расширение функциональности отчета в Visual FoxPro.

FrxCursor поможет вам обрабатывать многие детали файлов формата Report и Labe, которые в чем-то неясны и, во многих случаях, очень сложны. В статье Понимание и расширение структуры отчетов описываются важные подробности о формате этого файла.

Важное замечание
Многие методы этого класса используют единицу измерения известную как FRU. FRU представляет собой единицу измерения, используемую FoxPro в отчетах и определенную в 1/10000 дюйма. Эта единица измерения является внутренней единицей, используемой дизайнером отчета Visual FoxPro для хранения позиций и мерных величин в раскладках. Методы класса FrxCursor помогут вам конвертировать FRU в единицы измерения, которые вам легче использовать в других средах.

Соглашение по наименованиям - замечание переводчика

В отчетах, создаваемых в VFP, используется несколько видов областей, ограниченных в Дизайнере отчетов разделительными элементами, выполненными в виде смещаемых по вертикали планок. Каждая планка располагается внизу своей области данных и носит название соответствующее этой области. Как видно из приведенного слева рисунка, это области:

"Title" - титульный заголовок,
"Page Header" - заголовок страницы,
"Group Header" - заголовок группы,
"Detail" - область выводимых данных,
"Group Footer" - подножие группы,
"Page Footer" - подножие страницы и
"Summary" - область вывода сводных, итоговых данных.

Далее по тексту, там, где в описании методов будет фигурировать "область" (band), это следует понимать именно как область размещения информации, будь-то какие-либо ярлыки/метки ("labels"), собственно выводимые в отчет данные или вычисляемые величины.

Свойства, события, методы Описание

binStringToInt метод

Возвращает численный эквивалент бинарных данных, зашифрованных как строка байтов.

Синтаксис: binStringToInt(cBytes)

Возвращает: целочисленное (integer)

Аргументы:

cBytes представляет строку байтов, для которой метод вернет численный эквивалент. Например:

? oFrxCursor.BinStringToInt("ABC")

* displays 4407873

Пример того, как вызывается этот метод может быть найдет в статье Флажки защиты отчета (Report Protection Flags).

binToInt метод

Конвертирует строку, состоящую из единиц и нулей в целочисленное (integer) значение.

Синтаксис: binToInt(cString)

Возвращает: целочисленное (integer)

Аргументы:

cString представляет строку, состоящую из 1 и 0, для которой метод вернет целочисленный эквивалент. Например:

Скопировать код
? oFrxCursor.BinToInt(;
   "00000000000000000000000001111011")
* отобразит 123

charsetToLocale метод

Конвертирует данное значение символьного набора шрифта (fontcharset) в candidate locale Id для использования в функции STRCONV(). Параметры: nCharSet

Синтаксис: charsetToLocale(nCharSet)

Возвращает: целочисленное (integer)

Аргументы:

nCharSet представляет значение символьного набора шрифта (fontcharset), которое должно быть конвертировано.

createBandCursor метод

Создает курсор с псевдоименем (алиасом) из курсора FRX, содержащий полезную информацию об областях (bands) в раскладке отчета.

Синтаксис: createBandCursor([cFrxAlias]

Возвращает: логическую величину

Аргументы:

cFrxalias содержит псевдоимя (алиас) открытой таблицы отчета (frx), из которой будут выданы данные для курсора "bands". Если аргумент опущен, метод подразумевает в качестве псевдоимени (алиаса) значение "FRX".

createCalcResetOnCursor метод

Создает курсор (псевдоимя (алиас) "reset_on"), содержащий записи информации для каждой опции в комбобоксе "Сброс расчета" Дизайнера отчета (Report Designer's Calculation Reset). Посмотрите статью Calculate Tab, Report Control Properties Dialog Box (Report Builder) для подробной информации о возможных значениях.

Синтаксис: createCalcResetOnCursor( )

Возвращает: logical

Аргументы: none.

createDefaultPrintEnvCursor метод

Создает курсор с единственной записью, точно такой же структуры, как и FRX, с данными о принтерном окружении, загруженными в поля EXPR, TAG, и TAG2.

Синтаксис: createDefaultPrintEnvCursor( [cFrxAlias

[, cDestAlias ]])

Возвращает: логическую величину

Аргументы:

cFrxAlias содержит псевдоимя (алиас) открытой таблицы раскладки отчета (frx), из которой будет извлечена структура.

cDestAlias содержит псевдоимя (алиас) для курсора с единственной записью, который будет создан как результат вызова этого метода.

Псевдоименами (алиасами), используемыми по умолчанию, являются "FRX" и "defPrnEnv."

Замечание:
Структура источника курсора FRX может иметь поля custom, наряду со стандартной структурой таблицы отчета; эти поля будут продублированы в целевой структуре (defPrnEnv). Посмотрите статью Understanding and Extending Report Structure для получения подробной информации.

createGroupCursor метод

Создает курсор с псевдоименем (алиасом) "groups" на базе курсора FRX, содержащий полезную информацию о группировке данных в отчете.

Синтаксис: createGroupCursor( [cFrxAlias])

Возвращает:логическую величину

Аргументы:

cFrxAlias содержит псевдоимя (алиас) открытой таблицы отчета (frx), из которой поставляется структура.

createObjectCursor метод

Создает курсор с псевдоименем (алиасом) "objects" на базе курсора FRX, содержащий полезную информацию о раскладке объектов в отчете. Вызывает, при необходимости, метод createBandCursor.

Синтаксис: createObjectCursor( [cFrxAlias[,cDestAlias [,iOption[,lRuntime]]]])

Возвращает:логическую величину

Аргументы:

cFrxAlias содержит псевдоимя (алиас) открытой таблицы отчета (frx), из которой поставляется структура. По умолчанию используется "frx".

cDestAlias определяет псевдоимя (алиас) курсора, который будет создан. По-умолчанию - "objects".

iOption может иметь следующие возможные значения:

iOption = 0 Значение по-умолчанию, если аргумент не задан. Метод включает все объекты в frx, игнорируя сгруппированные.

iOption = 1 Включает в курсор только выбранные /CURPOS=.T. записи.

iOption = 2 Включает все объекты, показывая сгруппированые, как одиночную запись группы.

iOption = 3 Содержит разбивку сгруппированных записей. Отметьте, что некоторые записи, включенные в группу, могут быть маркированы как удаленные - deleted(). Вы можете использовать команду SET DELETED ON для пропуска этих записей.

lRuntime определяет, что курсор объекта должен использовать run-time значения отчета для каждой начальной и конечной областей, в которых он размещается. Значение, по-умолчанию равно .F., которое определяет, which specifies that the band location values are correct as determined by the Report Designer layout engine. "Run-time"-ский движок отчета использует различные алгоритмы для определения состояния - в какой области элемент раскладки начинается и заканчивается.

createVariableCursor метод

Создает курсор с псевдоименем (алиасом) "vars" из курсора FRX, содержащий полезную информацию о переменных, определенных в отчете.

Синтаксис: createVariableCursor( [cFrxAlias])

Возвращает: логическую величину

Аргументы: cFrxAlias содержит псевдоимя (алиас) открытой таблицы отчета (frx), из которой поставляется структура.

fruToPixels метод

Возвращает размер в пикселях для данного числа FRU.

Синтаксис: fruToPixels(iValue)

Возвращает: число (число пикселей)

Аргументы:

iValue представляет число единиц FRU, которое должно быть конвертировано в пиксели.

getBandFor метод

Возвращает объект, представляющий начало и конец области отчета (band) для данного объекта в записи. Так как объект может объединять несколько областей раскладки отчета, этот метод предоставляет, как начало, так и конец области (bands), в которой закреплен объект. Он использует позицию вертикального смещения объекта раскладки, для определения корректной области отчета (bands).

Синтаксис: getBandFor(cUniqueID [,lStart])

Возвращает: объект области (bands) (объект представляет данные в относящейся к ним области FRX)

Аргументы:

cUniqueID представляет собой значение UniqueID для объекта в FRX, для которого мы желаем получить информацию об относящейся к нему области отчета lStart определяет - что из двух мы желаем получить - начало или конец области (band).

getFruTextHeight метод

Возвращает высоту текстовой строки, измеренную в FRU, отображаемую с использованием указанных аттрибутов шрифта.

Синтаксис: getFruTextHeight(cText,cTypeFace,iSize[, cStyle])

Возвращает: целочисленное (integer) значение, выраженное в единицах FRU.

Аргументы:

cText представляет собой строку, которую мы желаем измерить.

cTypeFace - имя шрифта.

iSize размер шрифта в точках (point).

cStyle представляет собой стили, которые мы желаем применить к данной строке, используя те же самые значения, которые мы могли бы послать функции GETFONT( ). Для получения подробной информации смотри статью справки AFONT( ) Функция.

getFruTextWidth метод

Возвращает ширину текстовой строки, измеренную в FRU, отображаемую с использованием указанных аттрибутов шрифта.

Синтаксис: getFruTextWidth(cText,cTypeFace,iSize[, cStyle])

Возвращает: целочисленное (integer) значение в единицах FRU.

Аргументы:

cText представляет собой строку, которую мы желаем измерить.

cTypeFace имя шрифта.

iSize размер шрифта в точках (point).

cStyleпредставляет собой стили, которые мы желаем применить к данной строке, используя те же самые значения, которые мы могли бы послать функции GETFONT( ). Для получения подробной информации смотри статью справки AFONT( ) Функция

getFrxTimeStamp метод

Возвращает временной шамп для данных даты/времени, сформированный в соответствии со стандартами, используемыми в системных таблицах Visual FoxPro (frx и lbx файлы, для отчетов и меток).

Синтаксис: getFrxTimeStamp([vDateTime]) Возвращает: целочисленное (integer) значение.

Аргументы:

vDateTime представляет собой необязательный аргумента либо типа Date, либо типа DateTime. Если вы опустите этот аргумент, метод будет использовать текущее значение, определяемое значением, возвращаемым функциейDATETIME( ).

getMetadataDomDoc метод

Возвращает объекта документа MSXml.DomDocument, содержащий XML report memberdata для текущей записи в FRX. Если поле STYLE для текущей записи ничего не содержит, то этот метод возвратит пустой шаблон документа соответствующей схемы XML.

Синтаксис: getMetadataDomDoc( [cFrxAlias])

Возвращает: объект MSXml.DomDocument, или NULL, если псевдоимя (алиас) не подтверждено функцией USED().

Аргументы:

cFrxAlias содержит псевдоимя (алиас) открытой таблицы раскладки отчета (frx), из которой поставляется структура.

getObjectsInBand метод

Возвращает коллекцию значений UNIQUEID для каждого объекта, находящегося внутри указанной области (band).

Синтаксис: getObjectsInBand( cBandID [,lRecno])

Возвращает: Объект типа Collection, хранящий либо набор значений UNIQUEID для выбранных объектов раскладки, либо набор значений, поставляемый функцией RECNO() для них же.

Аргументы:

cFrxAlias содержит псевдоимя (алиас) открытой таблицы раскладки отчета (frx), из которой поставляется структура.

lRecno указывает, какой тип значений вы желаете иметь в объекте класса Collection. Если вы посылаете в качестве второго параметра значение .T., то в коллекции будут содержаться номера записей FRX, а не значения полей UNIQUEID.

getReportAttribute метод

Возвращает затребованный аттрибут заголовка отчета.

Синтаксис: getReportAttribute( cAttributeType, [,lAlternate])

Возвращает: a Аттрибут отчета, основанный на аргументе, указанном в вызове метода.

Аргументы:

cAttributeType указывает тип значения аттрибута отчета, который вы желаете получить.

Поддерживаются следующие значения cAttributeType (регистро-нечувствительные - "case-insensitive"):

"UNITS" Возвращает целочисленное (integer) значение, показывающее единицы так, как они хранятся в поле Frx.RULER.

Замечание:
Это значение аргумента может также вернуть ассоциированную строку, представляющую единицы, если вы включите в вызов аргумент lAlternate со значением, равным .T.. Например, приведенный ниже вызов метода, вернет в результате значение "Inches" - (дюймы): oFrxCursor.getReportAttribute("UNITS",1)

"MULTICOLUMN" Возвращает логическую величину.

"COLUMNCOUNT" Возвращает целочисленное (integer) значение.

"PROTECTION" Возвращает бинарную символьную строку, которая может быть разобрана, для оценки различных типов защита отчета, ассоциированной с отчетом на глобальном уровне. Для получения подробной информации смотри Установка защиты для отчетов

getSelectedObjectCount метод

Возвращает число текущих выбранных объектов (объекты, для которых значение поля CURPOS установлено в .T.) в курсоре FRX.

Синтаксис: getSelectedObjectCount( )

Возвращает: целочисленное (integer).

Аргументы: none.

getTargetTypeText метод

Возвращает описание типа объекта FRX, данный тип и значение кода, хранящихся в полях OBJTYPE и OBJCODE курсора FRX.

Синтаксис: getTargetTypeText(iType[,iCode])

Возвращает: String.

Аргументы:

iType содержит значение OBJTYPE объекта. Если вы опустите этот аргумент, или укажите значение, которое не значится среди принятых величин для OBJTYPE, то метод вернет строку Unknown Target type.

iCode содержит вспомогательное значение OBJCODE, используемое для записей FRX с более чем одним типом записей использующих тот же самый OBJTYPE (записи первичной раскладки областей).

getTimeStampString метод

Конвертирует временной штамп Visual FoxPro в читаемую строку.

Синтаксис: getTimeStampString(iDateTimeStamp)

Возвращает: строковое выражение.

Аргументы: iDateTimeStamp представляет собой целочисленное (integer) значение в формате, используемом Visual FoxPro для хранения временных штампов в системных файлах (frx и lbx файлах, для отчетов и меток). Например:

Скопировать код
? oFrxCursor.GetTimeStampString(819103384)
* displays: 06/18/04 04:52:48 PM

Совет Вы можете использовать этот метод для контроля значение штампов даты/времени в библиотеках классов Visual FoxPro (vcx файлах).

getUnitValueFromFru метод

Возвращает значение данной единицы для данного значения, измеряемого в FRU, в зависимости от самой единицы.

Синтаксис: getUnitValueFromFru(nFruValue, iUnits)

Возвращает: число.

Аргументы:

nFruValue представляет собой число единиц FRU, которое может иметь десятичные части.

iUnits представляет собой целочисленное (integer) значение, указывающее тип единицы, для которой вы желаете получить конвертированное значение. Это значение определяется целочисленным значением, используемым в таблицах отчетов и этикеток - (frx) или (lbx) - для указания единиц измерительных полосок дизайнера. Смотри статью Понимание и расширение структуры отчета для получения подробной информации.

hasBand метод

Возвращает .T., если отчет содержит область (band) указанного вами типа.

Синтаксис: hasBand(iObjCode)

Возвращает: логическую величину.

Аргументы:

iObjCode представляет собой целочисленное (integer) значение, определяющее тип вспомогательной области (band), чье наличие в раскладке вы желаете проверить.

Совет Используйте этот метод для проверки наличия областей (bands), которые вовсе не обязательно могут присутствовать в каждом из отчетов. Например, с помощью этого метода вы можете проверить присутствие области (band) "Group band" или области (band) "Summary band".

hasDetailHeader метод

Возвращает .T., если запись указанной области (band) детализации (Detail band) имеет ассоциированную запись области (band) заголовка.

Синтаксис: hasDetailHeader(cDetailBandID)

Возвращает: логическую величину.

Аргументы:

cDetailBandID представляет собой строку, соответствующую значению поля Frx.UNIQUEID для исследуемой вами области (band) детализации (Detail band).

Совет Обе области (bands): и Detail Header и Detail Footer являются необязательными. Но если в результате вызова метода вы получили .T. для области (band) детализации (Detail band), вы можете быть уверены, что как Detail Header, так и Detail Footer имеются в наличии, поскольку эти две области (bands) всегда парные.

hasProtectionFlag метод

Возвращает .T. если указанная бинарная величина имеет установленным соответствующий флажок.

Синтаксис: hasProtectionFlag(cBytes,iFlag)

Возвращает: логическую величину.

Аргументы:

cBytes представляет собой строку, оцениваемую этим методом, как серию байт.

iFlag представляет собой значение бита, представляющего тип защиты отчета, для которого вы проверяете отчет или объект раскладки.

insertBand метод

Вставляет область (band) указанного типа в текущую выбранную рабочую область. Этот метод подразумевает, что действительный курсор FRX уже выбран и что его указатель записи установлен в корректное, для операции вставки, место.

Синтаксис: insertBand(iObjCode)

Возвращает: логическую величину.

Аргументы:

iObjCode определяет тип области (band), которую вы желаете вставить в таблицу FRX.

insertDataEnvRecord метод

Вставляет запись для объекта data environment в курсор FRX. Этот метод подразумевает, что указатель записи установлен в соответствующую позицию.

Синтаксис: insertDataEnvRecord(cID,cName,cExpr,cCode)

Возвращает: логическую величину.

Аргументы:

cID представляет собой уникальное значение ID для колонки UniqueID новой записи.

cName - значение для колонки Name новой записи.

cExpr - список пар - "имя-значение", которые будут включены в колонку Expr новой записи.

cCode - текст программного кода метода, который будет включен в колонку Tag новой записи.

insertDetailBand метод

Вставляет Detail band в текущей выбранной рабочей области. Этот метод подразумевает, что действительный курсор FRX уже выбран и указатель записи установлен на соответствующую для вставки Detail band запись.

Синтаксис: insertDetailBand()

Возвращает: логическую величину.

Аргументы: не имеет.

insertDetailHeaderFooter метод

Вставляет области (bands) Detail Header и Detail Footer в курсор FRX в текущей выбранной рабочей области. Этот метод подразумевает, что действительный курсор FRX уже выбран и указатель записи установлен на запись Detail band, которая к этому моменту еще не имеет областей Detail Header и Detail Footer.

Синтаксис: insertDetailHeaderFooterBand()

Возвращает: логическую величину.

Аргументы: не имеет.

insertSummaryBand метод

Вставляет область Summary band в курсор FRX в текущей выбранной рабочей области. Этот метод подразумевает, что действительный курсор FRX уже выбран и что курсор FRX еще не имеет записи для Summary band.

Синтаксис: insertSummaryBand(lNewPage, lPageHeader, lPageFooter)

Возвращает: логическую величину.

Аргументы:

lNewPage определяет, должен ли Summary band начинать новую страницу.

Если Summary band начинает новую страницу, lPageHeader определяет должна ли страница Summary page иметь Page Header band, а lPageFooter определяет должна ли страница Summary page иметь Page Footer band.

insertTitleBand метод

Вставляет область Title band в курсор FRX в текущей выбранной рабочей области. Этот метод подразумевает, что действительный курсор FRX уже выбран и что FRX еще не имеет записи для Title band.

Синтаксис: insertTitleBand(lNewPage)

Возвращает: логическую величину.

Аргументы:

lNewPage определяет должна ли страница Summary начинать новую страницу.

intToBin метод

Конвертирует целочисленное (integer) выражение в бинарную строку, содержащую нули и единицы.

Синтаксис: intToBin(iInteger)

Возвращает: строковое выражение.

Аргументы:

iInteger (integer) содержит целочисленное (integer) выражение, для которого метод вернет строку, состояющую из 1 и 0. Например:

Скопировать код
? oFrxCursor.IntToBin(123)
* displays
* 00000000000000000000000001111011

intToBinString метод

Возвращает бинарную величину, зашифрованную как строку байт для указанного вами целочисленного значения.

Синтаксис: intToBinString(iInteger)

Возвращает: строку (cBytes).

Аргументы:

iInteger (integer) содержит целочисленное (integer) выражение, для которого метод вернет строку из 1 и 0. Например:

Скопировать код
? oFrxCursor.IntToBinString(4407873)
* displays ABC

Пример вызова этого метода может быть найден в статьеФлажки защиты отчета (Report Protection Flags).

pixelsToFru метод

Возвращает значение в единицах FRU для данного числа пикселей.

Синтаксис: pixelsToFru(iValue)

Возвращает: число (число единиц FRU)

Аргументы:

iValue представляет собой целочисленное (integer) значение, обозначающее число пикселей, которое будет конвертировано в число единиц FRU.

popPrintEnv метод

Восстанавливает принтерное окружение (настройки) из ранее сохраненного курсора. Этот метод предполагает, что ранее сохраненный курсор выбран в текущей рабочей области.

Синтаксис: popPrintEnv()

Возвращает: логическую величину.

Аргументы: не имеет.

pushPrintEnvToCursor метод

Сохраняет текущее принтерное окружение (настройки) в курсор, который создается этим методом.

Синтаксис: pushPrintEnvToCursor(cSavedInAlias)

Возвращает: логическую величину.

Аргументы: cSavedInAlias содержит псевдоимя (алиас) курсора, который вы желаете создать и в котором вы желаете сохранить принтерное окружение (настройки).

screenDPI свойство

DPI для Дизайнера отчета. В VFP9 это значение жестко прописано равным 96, независимо от DPI реального монитора.

По-умолчанию: 96

setColumnCount метод

Добавляет или удаляет колонки (и записи заголовков/подножий колонок) в курсоре FRX. Это метод предполагает, что курсор FRX выбран в текущей рабочей области.

Синтаксис: setColumnCount(iColumns)

Возвращает: logical.

Аргументы: iColumns устанавливает количество колонок в раскладке отчета.

stripQuotes метод

Возвращает строку с удаленными разделителями.

Синтаксис: stripQuotes(cString)

Возвращает: строку.

Аргументы: cString представляет собой выражение, из которого вы желаете удалить разделители.

Note:
Этот метод удаляет используемые в качестве разделителей двойные (") и одиночные кавычки ('),но не удаляет квадратные скобки ([ и ]). Это было разработано для удаления разделителей, которые могут быть помещены в значения полей FRX родным Дизайнером отчетов. Если в значении поля имеются квадратные скобки, то это означает, что они добавлены не Дизайнером отчетов.

synchObjectPositions метод

Сбрасывает неудаленные объекты в FRX относительно начала области, где они располагались, после того, как области (bands) были изменены в размерах или перемещены в раскладке. Этот метод предполагает,что области (bands) и объекты курсора были уже созданы, что текущая выбранная таблица представляет собой курсор структуры FRX и что метод не требует восстановления указателя записи в прежней позиции после обработки записей в курсоре.

Синтаксис: synchObjectPositions()

Возвращает: логическую величину.

Аргументы: не имеет.

Пример

Этот пример изменяет ширину поля в записи таблицы отчета, для размещения другого выражения в этом поле.

Он использует метод FrxCursor.getFruTextWidth() для определения корректной ширины для нового содержания поля. После этого он использует метод FrxCursor.getFrxTimeStamp() для перезаписи временного штампа для этой записи.
Скопировать код
#DEFINE OBJTYPE_FIELD           8
LOCAL iWidth, oFrxCursor
oFrxCursor = NEWOBJECT("FrxCursor", "_FrxCursor")
USE My.FRX
LOCATE FOR objtype = OBJTYPE_FIELD AND ;
           UPPER(ALLTRIM(Expr)) == "DATE()"
IF FOUND()
   iWidth = FrxCursor.getFruTextWidth(TRANSFORM(DATETIME()), ;
                                       fontface,fontsize)
   REPLACE Expr WITH "DATETIME()", ;
           Width WITH iWidth, ;
           Timestamp WITH FrxCursor.getFrxTimeStamp()
ENDIF

Смотри также

Прочие ресурсы

Руководства по использованию фундаментальных классов Visual FoxPro
Фундаментальные классы Visual FoxPro A-Z
Расширения отчетов в среде разработки

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


FRX Device Helper Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс FRX Device Helper
Смотрите также Пример
CollapseAll image

Этот класс предоставляет методы для чтения и записи информации о принтере в среде Visual FoxPro.

Category | Системные утилиты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\Output Helper Classes
Класс | frxDeviceHelper
Базовый класс | Custom
Библиотека класса | _frxcursor.vcx
Родительский класс | Custom

Expand image Примечания

Этот класс выказывает алгоритмы, используемые приложениями ReportOutput.APP, ReportBuilder.APP, and ReportPreview.APP для интерпретации различных значений печати и значений таблиц отчета (frx)и этикетки (lbx).

Он преимущественно полезен для разработчиков, расширяющих функциональные возможности подготовки отчетов Visual FoxPro. Для получения более подробной информации смотрите Расширение функциональных возможностей отчетов в Visual FoxPro.

Свойства, события, методы Описание

Свойство ActualX

Физическая щирина страницы в единицах измерения устройства.

По умолчанию: 0

Свойство ActualY

Физическая длина страницы в единицах измерения устройства.

По умолчанию: 0

Свойство DpiX

Логические пиксели на дюйм в измерении X.

По умолчанию: 0

Свойство DpiY

Логические пиксели на дюйм в измерении Y.

По умолчанию: 0

Метод LoadDeviceInfo

Разбирает параметры устройста печати в свойства.

Синтаксис: LoadDeviceInfo([cDriver, cDevice, cDEVMODE])

Возврат: логические значение, представляющее результат операции

Аргументы:

cDriver указывает драйвер принтера, так как он сохранен в таблице отчета (frx) в поле EXPR.

cDevice указывает имя принтера, так как оно сохранен в таблице отчета (frx) в поле EXPR.

cDEVMODE представляет собой строчное представление структуры, которая хранит дополнительную информацию о принтере, так как оно сохранен в таблице отчета (frx) в поле TAG2.

Примечания: Если вы опустите необязательные параметры, этот метод загрузит информацию о текущем принтереЮ используемом VFP по умолчанию.

Метод LoadFromFrx

Загружает параметры устройства печати из заголовочной записи курсора FRX. Позднее восстановливает текущий номер записи и выбранную рабочую область.

Синтаксис: LoadDeviceInfo([cFrxAlias])

Возврат: логическое значение, представляющее результат операции

Аргументы:

cFRXAlias хранит псевдоимя таблицы отчета (frx) которая используется в среде в качестве текущей. Это метод подразумевает в качестве псевдоимени "FRX", если вы опустите необязательный аргумент cFRXAlias.

Свойство mmX

Горизонтальный размер страницы в милиметрах.

По умолчанию: 0

Свойство mmY

Вертикальный размер страницы в милиметрах.

По умолчанию: 0

Свойство OffsetX

Физический отступ слева на печатаемой странице.

По умолчанию: 0

Свойство OffsetY

Физический отступ сверху на печатаемой странице.

По умолчанию: 0

Свойство Orientation

Ориентация страницы (0=Portrait, 1=Landscape).

По умолчанию: 0

Свойство PrintableX

Горизонтальная ширина страницы в пикселях.

По умолчанию: 0

Свойство PrintableY

Вертикальная длина страницы в пикселях.

По умолчанию: 0

Свойство ErrorMessage

Содержит текст ошибки, если метод LoadDeviceInfo() вернул false.

По умолчанию: ""

Expand image Пример

В этом примере, экземпляр класса frxDeviceHelper отображает информацию о разрешении в точках (пикселях) на дюйм для текущего принтера, используемого VFP по умолчанию.

CopyCode image Copy Code
oDeviceHelper = NEWOBJECT( "frxDeviceHelper" )
IF oDeviceHelper.LoadDeviceInfo()
    ? oDeviceHelper.DpiX
    ? oDeviceHelper.DpiY
ELSE
    ? oDeviceHelper.ErrorMessage
ENDIF

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus API Wrapper Foundation Classes

GDI Plus API Оболочка Фундаментальных Классов
Смотрите Также
CollapseAll image

Библиотека Фундаментальных классов GDI Plus API оболочки, _GDIPLUS.vcx, содержит коллекцию классов, которые обеспечивают GDI+ линейные API функциональности для использования в Visual FoxPro. Вы можете использовать данные классы, чтобы добавить GDI+ возможности в формах и отчетах.

Expand image Библиотека классов _GDIPLUS.vcx

Класс | Описание
GDI Plus Base Фундаментальный Класс | Абстрактный базовый класс для всех других _GDIPLUS классов. Обеспечивает некоторые базовые служебные методы.
GDI Plus Bitmap Фундаментальный Класс | Содержит GDI+ bitmap (битовый образ), который состоит из набора пикселов для данного графического изображения и их атрибутов. Bitmap объект - это объект, который предназначен для работы с изображениями, заданными пиксел-данными.
GDI Plus Brush Фундаментальный Класс | Абстрактный базовый класс для всех Brush (кисть) классов (например, для классов gpSolidBrush и gpHatchBrush).
GDI Plus Color Фундаментальный Класс | Содержит GDI+ цвет, состоящий из 4 положительных целых чисел (0..255) для красной, зеленой, синей и альфа состовляюших.
GDI Plus Font Фундаментальный Класс | Определяет определенный формат текста, ключая шрифт, его размер и стиль.
GDI Plus FontFamily Фундаментальный Класс | Указывает общие атрибуты для группы родственных шрифтов.
GDI Plus Graphics Фундаментальный Класс | Определяет GDI+ поверхность рисования. Предоставляет методы для рисования в окне или на других объектах.
GDI Plus HatchBrush Фундаментальный Класс | Объект кисти для зафриховывания выбранной текстурой.
GDI Plus Image Фундаментальный Класс | Содержит GDI+ изображение, и служит базовым классом для определенных типов изображений (например, gpBitmap класс).
GDI Plus Object Фундаментальный Класс | Абстрактный базовый класс для всех GDI+ объектов. Предоставляет управление GDI+ дескрипторами и результатом GDI+ операций.
GDI Plus Pen Фундаментальный Класс | Объект pen (ручка), которая используется для рисования линий и дуг.
GDI Plus Point Фундаментальный Класс | Содержит упорядоченные пары x- и y-координат, которые определяют точку на двухмерной плоскости.
GDI Plus Rectangle Фундаментальный Класс | Содержит набор из четырех чисел, представляющих положение и размер прямоугольника.
GDI Plus Size Фундаментальный Класс | Хранит упорядоченные пары чисел, обычно это ширина и высота прямоугольника.
GDI Plus SolidBrush Фундаментальный Класс | Объект brush (кисть) для заполнения чистым/однотонным цветом.
GDI Plus StringFormat Фундаментальный Класс | Объект, содержащий информацию о форматировании текста (такую, как выравнивание и интервалы) и манипулирование отображением (как например, вставка троеточия и подстановка национальных символов).

Expand image Примечания

Microsoft Windows GDI+ демострирует линейный программый интерфейс приложений (API - Application Programming Interface), состоящий из порядка 600 функций, которые реализованы в Gdiplus.dll и декларированы в Gdiplusflat.h. Эти функции описаны в MSDN Library GDI+ Flat API reference topic.

Классы в данной Visual FoxPro Библиотеке имеют имена, приблизительно соответствующие классам оболочки, которые выполняют те же функции в .NET Framework, таким образом, вы можете найти дополнительную информацию и примеры в материалах, описывающих .NET эквиваленты классов. Например, вы можете узнать о gpHatchBrush, прочитав про .NET HatchBrush класс.

Когда вы применяете GDI+ функции, обычно, результат отображается на целевой поверхности рисования, чаще упоминающейся, как устройство (device) или канва (canvas). Вы задаете целевую поверхность рисования, когда определяете GpGraphics объект с дескриптором, ранее присвоенный этой поверхности, либо каким-то путем получить такой дескриптор. Когда вы манипулируете отображениями на экране, вы можете создать такой дескриптор из дескриптора окна (window handle), таким же образом, как и Функции Манипулирования Окнами. Когда вы создаете отчет, вы можете использовать Свойство GDIPlusGraphics у объекта ReportListener.

Expand image Смотрите Также

Референс

Visual FoxPro Фундаментальные Классы A-Z
Объект ReportListener

Концепции

Руководство по Применению Фундаментальных Классов Visual FoxPro
Применение GDI+ в Отчетах

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GDI Plus Base Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Base
Смотрите также
CollapseAll image

Класс gpBase представляет собой абстрактный базовый класс для всех других классов _GDIPLUS и предоставляет некоторые основные методы утилит.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpBase
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | Custom (Custom Object)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы добавленные этим классом в его родительский класс, Custom.

Свойства и методы Описание

Свойство AllowModalMessages

Определяет - будет ли классу позволено отображать модальные диалоговые окна для обеспечения обратной связи с пользователем.

По умолчанию INLIST(_VFP.StartMode,0,4)

Примечания: Оказывает влияние на интерфейс пользователя, который предоставляется обработчиком ошибок, когда свойство QuietOnError установлено в false. Если AllowModalMessages=.T., то тогда отображаются модальные окна сообщений и обработка останавливается. Если AllowModalMessages=.F., то тогда используется команда WAIT WINDOW ... NOWAIT, а обработка продолжается.

Свойство AppName

Имя приложения, используемое в обратной связи с пользователем.

По умолчанию "GDI+ FFC Library"

Метод ClearErrors

Сбрасывает статус ошибки объекта.

Синтаксис: THIS.ClearErrors()

Возвращаемые значения: нет

Параметры: Нет.

Метод Clone

Создает новый объект в виде точной копии существующего объекта.

Синтаксис: THIS.Clone()

Возвращаемые значения: нет

Параметры: toClone, требуемый, объект, который делает этот объект клоном.

Примечания: This function has no meaning in the GpBase class. Она внедрена в большинство субклассов. Для объектов, который являются обертками объекта-основы GDI+, клонируется также и объект-основа.

Метод GetErrorStatus

Указывает - была ли сгенерирована ошибка.

Синтаксис: lError = THIS.GetErrorStatus()

Возвращаемые значения: Logical.

Параметры: Нет.

Примечания: Возвращает True (.T.), если после последнего вызова ClearError() была сгенерирована новая ошибка.

Метод GetLastErrorMessage

Предоставляет информацию о последней произошедшей ошибке.

Синтаксис: cErrorMessage = THIS.getLastErrorMessage()

Возвращаемые значения: String. cErrorMessage представляет собой текст последней произошедщей ошибки.

Параметры: Нет.

Примечания: Значение cErrorMessage действительно только в том случае, когда GetErrorStatus() возвратил True (.T.).

Метод GUIDToString

Преобразует GUID или CLSID из бинарной формы в понятное человеку представление в виде строки текста.

Синтаксис: cGUIDString = THIS.GUIDToString(tqGUID)

Возвращаемые значения: Строка, в стандартном {abcdefab-cdef–abcd-efab-cdefabcdefab} формате. Возвращает null (.NULL.), если была сгенерирована ошибка.

Параметры:

tqQUID представляет собой GUID или CLSID, которые нужно преобразовать.

Свойство IgnoreErrors

Указывает - должны ли ошибки вызывать прекращение обработки.

По умолчанию .F.

Метод MakeGdipArrayF

Преобразует численные значения в массиве Visual FoxPro в бинарную строку, представляющую собой одно- или двумерный массив плавающих (обычной точности) значений, пригодных для прямой посылке родным функциям GDI или GDI+.

Синтаксис: cArrayString = THIS.MakeGdipArrayF(taArray[, tnCols[, tnFirstCol]])

Возвращаемые значения: Массив, представленный строкой. Каждое значение занимает четыре байта. Общая длина строки равна выражению (ALEN(taArray,1) * tnCols*4). В случае ошибки возвращается null (.NULL.).

Параметры:

taArray, обязательный, представляет собой массив численных значений. Должен иметь по крайне мере tnCols.

tnCols, необязательный, представляет собой число колонок для преобразования. По умолчанию устанавливается в число значений в массиве.

tnFirstCol, необязательный, представляет собой номер первой колонки, с которой начинается преобразование. По умолчанию устанавливается в 1.

Метод MakeGdipArrayFFromCursor

Преобразует численные значения в курсоре Visual FoxPro в бинарную строку, представляющую одно- или двумерных массив плавающих значений (обычной точности), пригодную для прямой посылке в родные функции GDI или GDI+.

Синтаксис: cArrayString = THIS.MakeGdipArrayFFromCursor(tcAlias, tnCols, tcExpr1[, tcExpr2[, tcExpr3[, tcExpr4[, tcExpr5[, tcExpr6[, tcExpr7[, tcExpr8]]]]]]])

Возвращаемые значения: Массив представленный строкой. Каждое значение занимает четыре байта. Общая длина строки равна выражению (RECCOUNT(tcAlias) * tnCols*4). В случае ошибки возвращает null (.NULL.).

Параметры:

tcAlias, обязательный, представляет собой псевдоимя курсора. Должна иметься по крайней мере поля tnCols.

tnCols, обязательный, представляет собой число колонок, которые должен иметь массив. В перечисленных ниже параметрах должны быть указаны по крайней мере выражения tnCols.

tcExpr1, обязательный, если для первой колонки представлено выражение (обычно имя поля).

tcExpr2, требуется, если tnCols >=2, и представляет собой выражение для второй колонки (обычно имя поля).

tcExpr3, требуется, если tnCols >=3, и представляет собой выражение для третьей колонки (обычно имя поля).

tcExpr4, требуется, если tnCols >=4, и представляет собой выражение для четвертой колонки (обычно имя поля).

tcExpr5, требуется, если tnCols >=5 и представляет собой выражение для пятой колонки (обычно имя поля).

tcExpr6, требуется, если tnCols >=6 и представляет собой выражение для шестой колонки (обычно имя поля).

tcExpr7, требуется, если tnCols >=7 и представляет собой выражение для седьмой колонки (обычно имя поля).

tcExpr8, требуется, если tnCols >= 8 и представляет собой выражение восьмой колонки (обычно имя поля).

Метод MakeGdipPointF

Создает структуру GDI+ PointF в виде строки из отдельных параметров x,y.

Синтаксис: cString = MakeGdipPointF(tX, tY)

Возвращаемые значения: 8-байтное строчное представление двух плавающих значений. В случае ошибки возвращает null (.NULL.).

Параметры:

tX, обязательный, численный, координата X точки.

tY, обязательный, численный, координата Y точки.

Метод MakeGdipRectF

Создает структуру GDI+ RectF PointF в виде строки из отдельных параметров x,y,w,h.

Синтаксис: cString = MakeGdipRectF(tX, tY, tW, tH)

Возвращаемые значения: 16-байтное строчное представление четырех плавающих значений. В случае ошибки возвращает null (.NULL.).

Параметры:

tX, обязательный, численный, координата X точки.

tY, обязательный, численный, координата Y точки.

tW, обязательный, численный, значение Width (горизонталньый размер).

tH, обязательный, численный, значение Height (вертикальный размер).

Метод MakeGdipSizeF

Создает структуру GDI+ SizeF в виде строки из отдельных параметров x и y.

Синтаксис: cString = MakeGdipSizeF(tW, tH)

Возвращаемые значения: 8-байтное строчное представление двух плавающих значений. В случае ошибки возвращает null (.NULL.).

Параметры:

tW, обязательный, численный, значение Width (горизонталньый размер)..

tH, обязательный, численный, значение Height (вертикальный размер).

Метод ObjFactory

Внутренняя функция для создания объектов _GDIPLUS. используется, главным образом, методами объектов, производных от _GDIPLUS, которая возвращает объекты.

Синтаксис: oObject = ;

THIS.ObjFactory( tcContext, tcClassname [, p1,p2,p3...p10 ] )

Возвращаемые значения: Создаваемый объект. В случае ошибки возвращает null (.NULL.).

Параметры:

tcContext, строчный, содержание созданного объекта, обычно в форме "class.methodname".

tcClassName, строчный, имя класса для создания экземпляра. Всегда представляет собой один из базовых классов _GDIPLUS (такой, как "gprect").

Примечания: Эта функция вместе с ObjFactoryHook() может быть использована для изменения классов, используемых фундаментальными классами GDI+. Посмотрите константы GDIPLUS_CLASS_*, определенные в GDIPLUS.H для определенных по умолчанию значений.

Метод ObjFactoryHook

Позволяет модификации в классе, который будет созданн с помощьюObjFactory().

Синтаксис: THIS.ObjFactoryHook( tcContext, @rcClassName, @rcClassLibrary, @rcModule )

Возвращаемые значения: Нет.

Параметры:

tcContext, строчный, значение контекста, посылаемое в ObjFactory().

rcClassName, строчный, класс, который будет создан. Присвойте значение этому параметру для изменения класса, экземпляр которого будет создаваться.

rcClassLibrary, строчный, по умолчанию представляет библиотеку классов, в которой должен быть найден создаваемый класс.

rcModule, строчный, модуль (.app, .dll или .exe файлы). по умолчанию будет установлен в пустую строку ("").

Свойство QuietOnError

Если установлено в True (.T.), то это вызовет подавление сообщений.

По умолчанию NOT INLIST(_VFP.StartMode,0,4)

Метод StringToGUID

Превращает читабельное строковое представление GUID или CLSID в бинарную форму.

Синтаксис: qGUID = THIS.StringToGUID(tcString)

Возвращаемые значения: qQUID представляет собой GUID или CLSID в виде 16-байтного значения типа varbinary. В случае ошибки возвращает null (.NULL.).

Параметры: tcString представляет собой читабельные GUID или CLSID в стандартном формате {abcdefab-cdef–abcd-efab-cdefabcdefab} format.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Bitmap Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Bitmap
Смотрите также
CollapseAll image

Класс gpBitmap инкапсулирует GDI+ растр, который состоит из пиксельных данных для графической картинки и ее аттрибутов. Объект Bitmap представляет собой объект, используемый для работы с картинками, определенными пиксельными данными.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpBitmap
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpImage (GDI Plus Image Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены открытые свойства и методы, добавленные этим классом в его родительский класс, gpImage.

Свойства и методы Описание

Метод Create

Создает объект растра - bitmap.

Синтаксис: ? THIS.Create(tnWidth, tnHeight[, tnPixelFormat])

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tnWidth, требуемый, ширина нового растра в пикселях.

tnHeight, требуемый, высота нового растра в пикселях.

tnPixelFormat, необязательный, одна из констант GDIPLUS_PIXELFORMAT_*, По умолчанию устанавливается в GDIPLUS_PIXELFORMAT_32bppARGB.

Примечания: Этот метод эквивалентен конструктору .NET Bitmap(int, int, PixelFormat).

Метод CreateFromFile

Создает объект растра - bitmap загрузкой из файла.

Синтаксис: ? THIS.CreateFromFile(tcFileName[, tlUseEmbeddedColorMgmt])

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tcFileName, требуемый, имя файла, на основе данных которого будет создаваться объект.

tlUseEmbeddedColorMgmt, необязательный, указывающий - что будет включено в файл - информация об управлении цветом или определение по умолчанию, что в конечном счете будет использоваться для конечного объекта растра.

Примечания: Этот метод эквивалентен конструктору .NET Bitmap(string,bool). Этот метод всегда создает растеризованный bitmap, даже если исходный файл представляет собой векторный формат. Для сохранения векторного формата в памяти используйте фундаментальный класс GDI Plus Image (gpImage).

Метод CreateFromGraphics

Создает объект bitmap из графического объекта, определяющие свойства bitmap'а.

Синтаксис: ? THIS.CreateFromGraphics(toGraphics, tnWidth, tnHeight)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

toGraphics, требуемый, экземпляр gpGraphics или дескриптор GDI+ Graphics, из которых создаетсяbitmap.

tnWidth, требуемый, ширина нового bitmap в пикселях.

tnHeight, требуемый, высота нового bitmap в пикселях.

Примечания: Этот метод эквивалентен конструктору .NET Bitmap(int, int, Graphics).

Пиксельный формат объекта bitmap не может быть установлен; он по умолчанию устанавливается в GDIPLUS_PIXELFORMAT_32bppARGB.

Метод GetPixel

Получает значение цвета индивидуального пикселя.

Синтаксис: nValue = THIS.GetPixel(tX, tY)

Возвращаемые значения: целое число, значение цвета ARGB пикселя. Возращает null (.NULL.) в случае возникновения ошибки.

Параметры:

tX, требуемый, целочисленная координата X пикселя, цвет которого нужно получить.

tY, требуемый, целочисленная координата Y пикселя, цвет которого нужно получить.

Примечания: Этот метод эквивалентен конструктору .NET Bitmap.GetPixel(int, int).

Метод SetPixel

Устанавливает значение цвета индивидуального пикселя.

Синтаксис: THIS.SetPixel( tX, tY, tvColor )

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tX, требуемый, целочисленная координата X пикселя, цвет которого нужно установить.

tY, требуемый, целочисленная координата Y пикселя, цвет которого нужно установить.

tvColor, требуемый, объект фундаментального класса GDI Plus Color (gpColor) или целое число, значение цвета ARGB пикселя.

Примечания: Этот метод эквивалентен конструктору .NET Bitmap.SetPixel(int, int,Color).

Метод SetResolution

Устанавливает разрешение Bitmap в точках на дюйм (dots per inch - DPI).

Синтаксис: THIS.SetResolution( tnDPIx, tnDPIy)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tnDPIx, горизонтальное horizontal разрешение растра в точках на дюйм .

tnDPIy, вертикальное разрешение растра в точках на дюйм .

Примечания: Этот метод эквивалентен конструктору .NET Bitmap.SetResolution(float,float).

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы оберток API для GDI Plus

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Brush Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Brush
Смотрите также
CollapseAll image

Класс gpBrush представляет собой абстрактный базовый класс для всех классов кистей (например, классы gpSolidBrush и gpHatchBrush).

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpBrush
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpObject (GDI Plus Object Foundation Class)

Expand image Примечания

Этот класс не добавляет новых свойств или методов в набор, выказываемый его родительским классов, gpObject. Он реализует метод Clone.

Свойства и методы | Описание
Метод Clone | Клонирует объект кисти. Новый объект кисти GDI+ создается того же самого типа и с теми же самыми значениями свойств, что и исходный объект. Синтаксис: ? THIS.Clone(toBrush) Возвращаемые значения: Логическое значение, представляющее результат выполнения. Параметры: toBrush, обязательный, клонируемый объект кисти.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Color Foundation Class

Visual FoxPro 9.0
Фундаметальный класс GDI Plus Color
Смотрите также
CollapseAll image

Класс gpColor инкапсулирует GDI+ color, состоящий из 4 положительный целых чисел (лежащих в диапазоне от 0 до 255) для компонентов цвета красный, зеленый, синий и альфа.

Категория | Отчеты
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpColor
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBase (Фундаментальный класс GDI Plus Base)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы, добавленные этим классом в его родительский класс gpBase. Кроме того, он включает в себя методы Clone и Init.

Значение, перечисленные в таблице, как тип ARGB представляют собой композитные цвета, представленные в родном формате GDI+. Биты 24-31 этих значений хранят Alpha-компоненту цветов, биты 16-23 хранят красную компоненту, биты 8-15 - зеленую, а биты 0-7 синюю.

Свойства и методы Описание

Свойство Alpha

Alpha (прозрачность) компонент цвета, с допустимым значением в диапазоне от 0 до 255.

По умолчанию: 0

Примечания: Значение 0 представляет полную прозрачность, а 255 - полную непрозачность.

Свойство ARGB

Цвет в родном формате GDI+ (alpha,red,green,blue). Лежащий в основе представления GDI+ представляет собой 32-битное целое число со знаком, поэтому допустимые значения лежат в диапазоне от -2^31 до (2^31-1).

По умолчанию: 0

Свойство Blue

Blue компонент цвета, допустимые значения которого лежат в диапазоне от 0 до 255.

По умолчанию: 0

Метод Clone Method

Клонирует объект цвета.

Синтаксис: ? THIS.Clone(toColor)

Возвращаемые значения: логический, представляющий результат операции -была она успешной или нет.

Параметры:

toColor, требуемый, gpColor клонируемый объект.

Свойство FoxRGB

Цвет в формате Visual FoxPro RGB, непрозрачный, биты 0-7 которого представляют red, биты 8-15 - green, а биты 16-23 blue компоненты цвета.

По умолчанию 0

Свойство Green

Green компонент цвета, допустимые значения которого лежат в диапазоне от 0 до 255.

По умолчанию 0

Метод Init

Создает значение цвета во время инициализации, если были получены соответствующие параметры.

Синтаксис: CREATEOBJECT("gpColor"[, tnRedOrARGB[, tnGreen[, tnBlue[, tnAlpha]]]])

Возвращаемые значения:

представляющий результат операции -была она успешной или нет. Если метод не сработал, экзеспляр объекта не создается.

Параметры:

tnRedOrARGB, требуемый, если затребовано немедленное создание значение цвета. Представляет собой целое число, представляющее либо red компоненту значения цвета или полное композитное значение ARGB-type цвета.

tnGreen, необязательный, представляет собой целое число, представляющее green компоненту значения цвета.

tnBlue, необязательный, представляет собой целое число, представляющее blue компоненту значения цвета.

tnAlpha, необязательный, представляет собой целое число, представляющее alpha компоненту значения цвета. По умолчанию равно 255, что соответствует полной непрозрачности.

Свойство Red

Red компонент цвета, допустимые значения которого лежат в диапазоне от 0 до 255.

По умолчанию 0

Метод Set

Устанавливает значение цвета, используя раздельные компоненты Red,Green,Blue и Alpha.

Синтаксис: THIS.Set(tnRed, tnGreen, tnBlue[, tnAlpha])

Возвращаемые значения: Нет.

Параметры:

tnRed, требуемый, представляет собой целое число, представляющее red компоненту значения цвета.

tnGreen, требуемый, представляет собой целое число, представляющее green компоненту значения цвета.

tnBlue, требуемый, представляет собой целое число, представляющее blue компоненту значения цвета.

tnAlpha, необязательный, представляет собой целое число, представляющее alpha компоненту значения цвета. По умолчанию равно 255, что соответствует полной непрозрачности.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Font Foundation Class

Visual FoxPro 9.0
GDI Plus Font фундаментальный класс
См. также

gpFont класс определяет формат для текста, включая вид шрифта, размер, и атрибуты стиля.

Категория | Значение
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpFont
Базовый класс | Custom
Библиотека классов | _GDIPLUS.vcx
Родительский класс | gpObject ( Фундаментальный класс GDI Plus объкт)

Замечания

Следующая таблица перечисляет публичные свойства и методы, добавленные этим классом к его родительскому классу gpObject. Она также включает Clone и Init методы.

Значения, передставленные как height (высота) в таблице включают высоту пространства над и под сторокой. Значения, передставленные как line spacing (межстрочный интервал) равны суммарной высоте пространства над и под сторокой

Свойства и методы Описание

Clone метод

Клонирует объект font.

Синтаксис: ? THIS.Clone(toFont)

Возвращаемое значение: логическое, определяет успех или неудачу.

Параметры:

toFont, обязательный, клонируемый gpFont объект.

Create метод

Создаёт объект font с определёнными атрибутами.

Синтаксис ? THIS.Create(tvFontNameOrFamily, [tnSize [, tnStyle[, tnUnits]]])

Возвращаемое значение: логическое, определяет успех или неудачу.

Параметры:

tvFontNameOrFamily, обязательный, объект gpFontFamily или строка определяющая имя шрифта.

tnSize, необязательный, размер в указанных еденицах.

tnStyle, необязательный, атрибут стиль шрифта определённый константой GDIPLUS_FontStyle_* . Значение по умолчанию GDIPLUS_FontStyle_Regular.

tnUnits, необязательный, еденица размера шрифта определённая константой GDIPLUS_Unit_*. Значение по умолчанию GDIPLUS_Unit_Point.

FontName свойство

Имя шрифта, например "Arial".

По умолчанию: пустое.

GetHeight метод

Устанавливает межстрочный интервал для шрифта для данного графического объекта, используя еденицы этого графического объекта.

Синтаксис: nHeight = THIS.GetHeight(tvGraphics)

Возвращаемое значение: Числовое, line-height, или .NULL. в случае ошибки.

Параметры:

tvGraphics, обязательный, объект gpGraphics или GDI+ графический дескриптор.

GetHeightGivenDPI метод

Устанавливает межстрочный интервал для шрифта в точках на дюйм (DPI).

Syntax: nHeight = THIS.GetHeightGivenDPI(tnDPI)

Возвращаемое значение: Числовое, line-height или .NULL. в случае ошибки.

Параметры:

tnDPI, обязательный, количество точек на дюйм.

Init метод

Создает объект font во время инициализации если переданны соответствующие параметры.

Синтаксис: CREATEOBJECT("gpFont", tvFontNameOrFamily, [tnSize [, tnStyle[, tnUnits]]])

Возвращаемое значение: логическое, определяет успех или неудачу. Если при выполнении метода происходит сбой, объект не иницилизируется.

Параметры:

tvFontNameOrFamily, обязательный если необходимо немедленное создание объекта. gpFontFamily объект или строка, представляющая имя шрифта.

tnSize, необязательный, размер в указанных еденицах.

tnStyle, необязательный, атрибут стиль шрифта определённый константой GDIPLUS_FontStyle_* . Значение по умолчанию GDIPLUS_FontStyle_Regular.

tnUnits, необязательный, еденица размера шрифта определённая константой GDIPLUS_Unit_*. Значение по умолчанию GDIPLUS_Unit_Point.

Size свойство

em size шрифта в еденицах для этого объекта font.

По умолчанию: пустое.

Style свойство

Информация о стиле для этого объекта font, определённая константой GDIPLUS_FontStyle_*.

По умолчанию: пустое.

Unit свойство

Единица измерения, используемая этим шрифтом, определяется константой GDIPLUS_Unit_*.

По умолчанию: пустое.

См. также

Ссылки

GDI Plus API обертки фундаментальных классов

Другие источники

Рекомендации по использованию фундаментальных классов Visual FoxPro
Фундаментальные классы Visual FoxPro A-Z

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


GDI Plus FontFamily Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus FontFamily
Смотрите также
CollapseAll image

Класс gpFontFamily указывает атрибуты, используемые совместно группой связанных шрифтов.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpFontFamily
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpObject (GDI Plus Object Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены свойства и методы добавленные этим классом в его родительский класс, gpObject. От также исполняет методы Clone и Init.

Значения перечисленные в таблице как em height эквиваленты cell ascent (высота шрифта выше линии) + cell descent (высота шрифта ниже линии) - internal leading of the font (внутренний интервал шрифта). Значение, указанные как line spacing эквиваленты cell ascent + cell descent + external leading (внешний интервал шрифта).

Свойства и методы Описание

Метод Clone

Клонирует объект фамилии шрифта.

Синтаксис: ? THIS.Clone(toFontFamily)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

toFontFamily, требуемый, клонируемый объект gpFontFamily.

Метод Create

Создает объект фамилии шрифта из указанного имени.

Синтаксис: ? THIS.Create(tcName)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tcName, требуемый, имя фамилии шрифтов.

Свойство FontName

Имя фамилии шрифта, такое как "Arial."

По умолчанию: пустое.

Свойство gdipFontCollectionHandle

Дескриптор объекта GDI+ FontCollection.

По умолчанию: 0.

Примечания: Этот класс вовсе не управляет этим дескриптором, он просто использует его.

Метод GetCellAscent

Предоставляет cell ascent в конструкционных единицах изменерения фамилии шрифта указанного стиля.

Синтаксис: nAscent =THIS.GetCellAscent([tnStyle])

Возвращаемые значения: Число. Возвращает null (.NULL.) при ошибке.

Параметры:

tnStyle, необязательный, стиль шрифта, определяемый константами GDIPLUS_FontStyle_*. По умолчанию значение устанавливается в GDIPLUS_FontStyle_Regular.

Метод GetCellDescent

Предоставляет cell descent в конструкционных единицах изменерения фамилии шрифта указанного стиля.

Синтаксис: nDescent =THIS.GetCellDescent([tnStyle])

Возвращаемые значения: Число. Возвращает null (.NULL.) при ошибке.

Параметры:

tnStyle, необязательный, стиль шрифта, определяемый константами GDIPLUS_FontStyle_* . По умолчанию значение устанавливается в GDIPLUS_FontStyle_Regular.

Метод GetEmHeight

Предоставляет em height в конструкционных единицах изменерения фамилии шрифта указанного стиля..

Синтаксис: nHeight =THIS.GetEmHeight([tnStyle])

Возвращаемые значения: Число. Возвращает null (.NULL.) при ошибке.

Параметры:

tnStyle, необязательный, стиль шрифта, определяемый константами GDIPLUS_FontStyle_* . По умолчанию значение устанавливается в GDIPLUS_FontStyle_Regular.

Метод GetGenericMonospace

Предоставляет объект общей моноширинной фамилии шрифта.

Синтаксис: THIS.GetGenericMonospace()

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры: Нет.

Примечания: При успешном возврате из этого метода, объект представляет системную стандартную фамилию шрифта и все его свойства приобретают признак "только для чтения".

Метод GetGenericSansSerif

Предоставляет объект общей фамилии шрифта sans serif.

Синтаксис: THIS.GetGenericSansSerif()

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры: Нет.

Примечания: При успешном возврате из этого метода, объект представляет системную стандартную фамилию шрифта и все его свойства приобретают признак "только для чтения".

Метод GetGenericSerif

Предоставляет объект общей фамилии шрифта serif.

Синтаксис: THIS.GetGenericSerif()

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры: Нет.

Примечания: При успешном возврате из этого метода, объект представляет системную стандартную фамилию шрифта и все его свойства приобретают признак "только для чтения".

Метод GetLineSpacing

Предоставляет пространство между строками в в конструкционных единицах изменерения этой фамилии шрифта указанного стиля.

Синтаксис: nHeight =THIS.GetEmHeight([tnStyle])

Возвращаемые значения: Число. Возвращает null (.NULL.) при ошибке.

Параметры:

tnStyle, необязательный, стиль шрифта, определяемый константами GDIPLUS_FontStyle_* . По умолчанию значение устанавливается в GDIPLUS_FontStyle_Regular.

Метод GetName

Представляет имя этой фамилии шрифта в указанном языке.

Синтаксис: cName =THIS.GetName([tnLanguageID])

Возвращаемые значения: Строка. Возвращает null (.NULL.) при ошибке.

Параметры:

tnLanguage, необязательный, идентификатор языка. По умолчанию значение равно 0.

Метод Init

Конструирует объект фамилии шрифта во время инициализаци, если методу были посланы соответствующие параметры.

Синтаксис: CREATEOBJECT("gpFontFamily", tcFontFamilyName)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет. Если исполнение метода не было успешным, то объект не создается.

Параметры:

tcFontFamilyName, требуемый, если было запрлшено немедленное создание объекта. Строка представляющая наименование фамилии шрифта.

Метод IsStyleAvailable

Тестирует - может ли запрашиваемый стиль предоставлен природой шрифта в этой фамилии шрифта.

Синтаксис: ? THIS.IsStyleAvailable(tnStyle)

Возвращаемые значения: Логическое значение.

Параметры:

tnStyle, требуемый, стиль шрифта, определяемый константами GDIPLUS_FontStyle_* . По умолчанию значение устанавливается в GDIPLUS_FontStyle_Regular.

Примечания: Хотя это и корректно с техничесой точки зрения , False (.F.) возвращенный этой функцией может ввести в заблуждение. Windows, обычно, может синтезировать стили шрифта, когда конкретный стиль шрифта недоступен.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Graphics Foundation Class

Фундаментальный класс GDI Plus Graphics
Смотрите Также
CollapseAll image

Класс gpGraphics включает в себя GDI+ графические возможности. Он предоставляет методы для формирования изображений в окне или на других объектах.

Категория | Значение
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpGraphics
Базовый класс | Custom
Библиотека классов | _GDIPLUS.vcx
Родительский класс | gpObject (Фундаментальный класс объекта GDI Plus)

Expand image Замечания

В следующей таблице перечислены общедоступные свойства и методы, добавленные данным классом в родительский класс, gpObject.

Свойства и методы Описание

Clear Метод

Очищает всю поверхность рисования и заполняет ее заданным фоновым цветом.

синтаксис: THIS.Clear(tvColor)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tvColor, обязательный, Фундаментальный Класс GDI Plus Color или ARGB цветовая величина.

ClipBounds Свойство

Вырезанная область, представленная как Фундаментальный Класс GDI Plus Прямоугольник. Read-only.

по умолчанию: пустое.

замечания: Если вырезанная область - безконечная, то данной свойство возвращает очень большой прямоугольник. Смотрите свойство VisibleClipBounds.

CompositingMode Свойство

Определяет, как составные изображения представлены на данном графическом объекте с возможными значениями определенными через GDIPLUS_CompositingMode_* константы. Изменяемое.

по умолчанию: пустое.

CompositingQuality Свойство

Определяет качество составных изображений на данном графическом объекте с возможными значениями определенными через GDIPLUS_CompositingQuality_* константы.

по умолчанию: пустое.

CreateFromHDC Метод

Создает графический объект для заданного контекстного устройства (HDC).

синтаксис: THIS.CreateFromHDC(hDC)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

hDC, обязательный, числовое, Windows Device Context дескриптор.

CreateFromHWND Метод

Создает графический объект для заданного окна (HWND).

синтаксис: THIS.CreateFromHWND(hWND[, tlICM])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

hWND, обязательный, числовое, представляет дескриптор окна.

tlICM, необязательный, показывает используется ли управление цветом изображения.

CreateFromImage Метод

Создает графический объект из указанного gpImage объекта, таким образом вы можете чертить на поверхности этого изображения.

синтаксис: THIS.CreateFromImage(toImage)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toImage, обязательный, gpImage объект.

DpiX Свойство

Указывает горизонтальное разрешение чертежной поверхности в точках/дюйм (dpi). Read-only.

по умолчанию: пустое.

DpiY Свойство

Указывает вертикальное разрешение чертежной поверхности в точках/дюйм (dpi). Read-only.

по умолчанию: пустое.

DrawArc Метод

Чертит дугу, представляющую часть эллипса, задавая ограничивающий эллипс прямоугольник, угол начала и угол зарворота.

синтаксис: THIS.DrawArc(toPen,tX,tY,tnW, tnH, tnStart, tnSweep)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen .

tnX, числовое, X-координата верхнего-левого угла ограничивающего прямоугольника.

tnY, числовое, Y-координата верхнего-левого угла ограничивающего прямоугольника.

tnW, числовое, ширина ограничивающего прямоугольника.

tnH, числовое, высота ограничивающего прямоугольника.

tnStart, числовое, стартовый угол в градусах.

tnSweep, числовое, угол разворота в градусах.

DrawBezier Метод

Чертит кривую Безье по четырем контрольным точкам.

синтаксис: THIS.DrawBezier(toPen,tX1,tY1, tX2,tY2, tX3,tY3, tX4,tY4)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tx1, числовое, X-координата 1ой контрольной точки.

ty1, числовое, Y-координата 1ой контрольной точки.

tx2, числовое, X-координата 2ой контрольной точки.

ty2, числовое, Y-координата 2ой контрольной точки.

tx3, числовое, X-координата 3ей контрольной точки.

ty3, числовое, Y-координата 3ей контрольной точки.

tx4, числовое, X-координата 4ой контрольной точки.

ty4, числовое, Y-координата 4ой контрольной точки.

DrawBeziers Метод

Чертит серию кривых Безье по заданному Visual FoxPro массиву точек.

синтаксис: THIS.DrawBeziers(toPen, taPoints[, tnFirstCol])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

taPoints, обязательный, массив координат конечных точек. Одна строка массива описывает одну точку, и этот массив должен иметь как минимум два столбца, где taArray[i, tnFirstCol] содержит X-координату и taArray[i,tnFirstCol+1] содеожит Y-координату.

tnFirstCol, необязательный, целое число - индекс столбца с X-координатой. По умолчанию 1.

DrawBeziersFromCursor Метод

Чертит серию кривых Безье по набору точек, заданных в Visual FoxPro курсоре.

синтаксис: ? THIS.DrawBeziersFromCursor(toPen, tcAlias, tcExprX, tcExprY)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждой точки.

tcExprX, обязательный, строка, выражение для вычисления X-координата (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координата (результат вычисления должен быть числовым).

DrawClosedCurve Метод

Чертит замкнутую кривую по набору точек, заданных в Visual FoxPro массиве.

синтаксис: THIS.DrawClosedCurve(toPen, taPoints[, tnFirstCol])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

taPoints, обязательный, массив с координатами точек. Массив имеет один ряд для каждой точки, и должен иметь минимум два столбца, где taArray[i, tnFirstCol] содеожит X-координату и taArray[i,tnFirstCol+1] содержит Y-координату.

tnFirstCol, необязательный, целое число - индекс столбца с X-координатой. По умолчанию 1.

DrawClosedCurveFromCursor Метод

Чертит замкнутую кривую по набору точек, заданных в Visual FoxPro курсоре.

синтаксис: THIS.DrawClosedCurveFromCursor(toPen, tcAlias, tcExprX, tcExprY)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждой точки.

tcExprX, обязательный, строка, выражение для вычисления X-координаты (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координаты (результат вычисления должен быть числовым).

DrawCurve Метод

Чертит замкнутую кривую по набору точек, заданных в Visual FoxPro массиве.

синтаксис: THIS.DrawCurve(toPen, taPoints[, tnFirstCol])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

taPoints, обязательный, Массив с координатами точек. Массив имеет один ряд для каждой точки, и должен иметь минимум два столбца, где taArray[i, tnFirstCol] содеожит X-координату и taArray[i,tnFirstCol+1] содержит Y-координату.

tnFirstCol, необязательный, целое число - индекс столбца с X-координатой. По умолчанию 1.

DrawCurveFromCursor Метод

Чертит замкнутую кривую по набору точек, заданных в Visual FoxPro курсоре.

синтаксис: THIS.DrawCurveFromCursor(toPen, tcAlias, tcExprX, tcExprY)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждой точки.

tcExprX, обязательный, строка, выражение для вычисления X-координата (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координата (результат вычисления должен быть числовым).

DrawEllipse Метод

Чертит контур эллипса, заданного ограничивающим прямоугольником.

синтаксис: THIS.DrawEllipse(toPen, tXOrRectangle[,tnY,tnW,tnH])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tXOrRectangle, ссылка на gpRectangle объект описывающий ограничивающий прямоугольник или числовое значение X-координаты его верхнего левого угла.

tnY, числовое, Y-координата верхнего-левого угла прямоугольника. Обязательный если tXorRectangle - числовое.

tnW, числовое, ширина прямоугольника. Обязательный если tXorRectangle - числовое.

tnH, числовое, высота прямоугольника. Обязательный если tXorRectangle - числовое.

DrawImageAt Метод

Чертит изображение в указанном месте, используя его физический размер.

синтаксис: THIS.DrawImageAt(toImage, destPointOrX[,destY])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toImage, обязательный, ссылка на gpImage объект (или на экземпляр его подкласса).

destPointOrX, либо gpPoint объект indicating the точки at which to draw изображение, or числовое значение, the X-координата of location to draw изображение.

destY, числовое, Y-координата of location to draw изображение. Обязательный если tPointOrX - числовое.

DrawImagePortionAt Метод

Чертит фрагмент изображения в заданном месте, используя его собственный размер.

синтаксис: THIS.DrawImagePortionAt(toImage, destPoint,srcRectangle[, srcUnit])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toImage, обязательный, ссылка на gpImage объект (или на экземпляр его подкласса).

destPoint, обязательный, gpPoint объект, задающий новое место раположения.

srcRectangle, обязательный, gpRectangle объект, задающий фрагмент изображения, которы надо чертить.

srcUnit, необязательный, еденица измерения исходного изображение, как определено в GDIPLUS_Unit_* константах.

DrawImagePortionScaled Метод

Чертит фрагмент изображения в заданном месте и заданного размера.

синтаксис: THIS.DrawImagePortionScaled(toImage, destRectangle,srcRectangle[, srcUnit[, imageAttribs]])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toImage, обязательный, ссылка на gpImage объект.

destRectangle, обязательный, gpRectangle объект, задающий новое местоположения.

srcRectangle, обязательный, gpRectangle объект, задающий фрагмент изображения.

srcUnit, необязательный, единица измерения для исходного изображения, как определено в GDIPLUS_Unit_* константах.

imageAttribs, необязательный, целое, GDI+ дескриптор для GDI+ ImageAttributes объекта, или экземпляр gpObject, предоставляющий оболочку для GDI+ ImageAttributes объекта.

DrawImageScaled Метод

Чертит изображение в заданном месте и заданного размера.

синтаксис: THIS.DrawImageScaled(toImage, destRectangleOrX, destY,destW,destH)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toImage, обязательный, gpImage объект (или экземпляр его подкласса).

destRectangleOrX, обязательный, gpRectangle объект, задающий место расположения, или числовое значение, X-координата местоположения.

destY, числовое, Y-координата местоположения. Обязательный если destRectangleOrX - числовое.

destW, числовое, желаемая ширина изображение. Обязательный если destRectangleOrX - числовое.

destH, числовое, желаемая высота изображение. Обязательный если destRectangleOrX - числовое.

DrawLine Метод

чертит прямую линию между двумя точками, заданным пером.

синтаксис: THIS.DrawLine(toPen, x1,y1,x2,y2)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

x1, обязательный, числовое, X-координата начальной точки.

y1, обязательный, числовое, Y-координата начальной точки.

x2, обязательный, числовое, X-координата конечной точки.

y2, обязательный, числовое, Y-координата конечной точки.

DrawLines Метод

Чертит последовательно соединенных линий по конечным точкам, заданным в Visual FoxPro массиве.

синтаксис: THIS.DrawLines( toPen, taPoints [, tnFirstCol ] )

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

taPoints, обязательный, массив координат конечных точек. Массив имеет один ряд для каждой точки, и должен иметь минимум два столбца, где taArray[i, tnFirstCol] содержит X-координату и taArray[i,tnFirstCol+1] - Y-координату.

tnFirstCol, необязательный, целое, индекс столбца с X-координатой. По умолчанию 1.

DrawLinesFromCursor Метод

Чертит последовательно соединенных линий по конечным точкам, заданным в Visual FoxPro курсоре.

синтаксис: THIS.DrawLinesFromCursor(toPen, tcAlias, tcExprX, tcExprY)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tcAlias, обязательный, псевдоним курсора с координатами конечных точек, одна запись для каждой точки.

tcExprX, обязательный, строка, выражение для вычисления X-координаты (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координаты (результат вычисления должен быть числовым).

DrawPie Метод

Чертит контур сектора круга.

синтаксис: THIS.DrawPie(toPen, tXOrRectangle,tnYOrStart,tnWOrSweep,tnH[, tnStart, tnSweep])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

toXOrRectangle, gpRectangle объект, определяющий ограничиваюший прямоугольникили числовое значение X-координаты вехнего-левого угла прямоугольника.

tnYOrStart, числовое значение, Y-координата верхнего левого угла прямоугольника, если toXOrRectangle - числовое или начальный угол в градусах, если toXOrRectangle - gpRectangle объект.

tnWOrSweep, числовое значение, ширина прямоугольника, если toXOrRectangle - числовое, или угол поворота в градусах, если toXOrRectangle - gpRectangle объект.

tnH, числовое, высота прямоугольника, когда toXOrRectangle - числовое.

tnStart, числовое, начальный угол в градусах, когда toXOrRectangle - числовое.

tnSweep, числовое, угол поворота в градусах, когда toXOrRectangle - числовое.

DrawPolygon Метод

Чертит многоугольник, заданный как набор точек, описанных в массиве.

синтаксис: THIS.DrawPolygon(toPen, taPoints[, tnFirstCol])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

taPoints, обязательный, массив координат точек. Массив имеет один ряд для каждой точки, и должен иметь минимум два столбца, где taArray[i, tnFirstCol] - X-координата и taArray[i,tnFirstCol+1] - Y-координата.

tnFirstCol, необязательный, целое, индекс столбца с X-координатами. По умолчанию 1.

DrawPolygonFromCursor Метод

Чертит многоугольник, заданный как набор точек, описанных в курсоре.

синтаксис: THIS.DrawPolygonFromCursor(toPen, tcAlias, tcExprX, tcExprY

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждой точки.

tcExprX, обязательный, строка, выражение для вычисления X-координат (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координат (результат вычисления должен быть числовым).

DrawRectangle Метод

Чертит контур прямоугольника, заданного либо gpRectangle объектом, либо отдельными координатами и размерами.

синтаксис: THIS.DrawRectangle(toPen, tXOrRectangle[,tnY,tnW,tnH])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tXOrRectangle, gpRectangle объект, задающий прямоугольник или числовое значение X-координаты верхнего левого угла прямоугольника.

tnY, числовое, Y-координата верхнего левого угла прямоугольник. Обязательный если tXorRectangle - числовое.

tnW, числовое, ширина прямоугольника. Обязательный если tXorRectangle - числовое.

tnH, числовое, высота прямоугольника. Обязательный если tXorRectangle - числовое.

замечания: Все координаты указаны в текущих единицах измерения gpGraphics объекта; смотрите PageUnit свойство.

DrawRectangles Метод

Чертит ряд прямоугольников, координаты которых в Visual FoxPro массиве.

синтаксис: THIS.DrawRectangles(toPen, taRects[, tnFirstCol])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

taRects, обязательный, массив с координатами точек определяших прямоугольники. Массив имеет один ряд для каждого прямоугольника, и должен иметь минимум четыре столбца, где taArray[i, tnFirstCol] - X-координата, taArray[i,tnFirstCol+1] - Y-координата, aArray[i, tnFirstCol+2] - ширина, and taArray[i,tnFirstCol+3] - высота.

tnFirstCol, необязательный, целое, индекс столбца с X-координатами. По умолчанию 1.

DrawRectanglesFromCursor Метод

Чертит несколько прямоугольников, координаты которых в Visual FoxPro курсоре.

синтаксис: THIS.DrawRectanglesFromCursor(toPen, tcAlias, tcExprX, tcExprY, tcExprW, tcExprH)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toPen, обязательный, ссылка на объект используемого пера gpPen.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждого прямоугольника.

tcExprX, обязательный, строка, выражение для вычисления X-координаты (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координаты (результат вычисления должен быть числовым).

tcExprW, обязательный, строка, выражение для вычисления ширины (результат вычисления должен быть числовым).

tcExprH, обязательный, строка, выражение для вычисления высоты (результат вычисления должен быть числовым).

DrawStringA Метод

Печатает строку в заданном фонте и позиции (ANSI версия).

синтаксис: THIS.DrawStringA( tcAnsiString, [toFont],tvRectPoint,[toStringFormat],[toBrush])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tcAnsiString, обязательный, ANSI строка.

toFont, необязательный, gpFont объект, задающий фонт.

tvRectPoint, обязательный, gpRect объект, задающий прямоугольник, или gpPoint объект, определяющий верхний левый угол.

toStringFormat, необязательный, gpStringFormat объект формата.

toBrush, необязательный, gpBrush объект, определяющий кисть.

DrawStringW Метод

Печатает строку в заданном фонте и позиции (Unicode версия)

синтаксис: THIS.DrawStringW( tcUnicodeString,[toFont],tvRectPoint,[toStringFormat],[toBrush])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tcUnicodeString, обязательный, Unicode строка.

toFont, необязательный, gpFont объект, определяющий фонт.

tvRectPoint, обязательный, gpRect объект, определяющий прямоугольник, или gpPoint объект, определяющий верхний левый угол.

toStringFormat, необязательный, gpStringFormat объект формата.

toBrush, необязательный, gpBrush объект для кисти.

FillClosedCurve Метод

Заполняет замкнутую кривую, заданную в Visual FoxPro массиве.

синтаксис: ? THIS.FillClosedCurve(toBrush, taPoints[, tnFirstCol[, tnFillMode]])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush объект кисти.

taPoints, обязательный, массив координат конечных точек. Массив имеет один ряд для каждого точки, и должен името минимум два столбца, где taArray[i, tnFirstCol] - X-координата и taArray[i,tnFirstCol+1] - Y-координата.

tnFirstCol, необязательный, целое, индекс столбца с X-координатами. По умолчанию 1.

tnFillMode, необязательный, режим заполнения, определен GDIPLUS_FillMode_* константами. По умолчанию - GDIPLUS_FillMode_Alternate.

FillClosedCurveFromCursor Метод

Заполняет замкнутую кривую, заданную в Visual FoxPro курсоре.

синтаксис: THIS.FillClosedCurveFromCursor(toBrush, tcAlias, tcExprX, tcExprY[, tnFillMode])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush объект кисти.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждого точки.

tcExprX, обязательный, строка, выражение для вычисления X-координаты (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координаты (результат вычисления должен быть числовым).

tnFillMode, необязательный, режим заполнения, определен GDIPLUS_FillMode_* константами. По умолчанию - GDIPLUS_FillMode_Alternate.

FillEllipse Метод

Чертит заполненый эллипс, заданный прямоугольником.

синтаксис: ? THIS.FillEllipse(toBrush, tXOrRectangle[,tnY,tnW,tnH])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush объект кисти.

tXOrRectangle, либо gpRectangle объект прямоугольника либо числовое значение X-координаты верхнего левого угла прямоугольника

tnY, числовое, Y-координата верхнего левого угла прямоугольника. Обязательный если tXorRectangle - числовое.

tnW, числовое, ширина прямоугольника. Обязательный если tXorRectangle - числовое.

tnH, числовое, высота прямоугольника. Обязательный если tXorRectangle - числовое.

FillPie Метод

Чертит заполненый сектор.

синтаксис: ? THIS.FillPie(toBrush, tXOrRect,tnYOrStart,tnWOrSweep,tnH[, tnStart, tnSweep])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush объект кисти.

toXOrRectangle, gpRectangle объект прямоугольника или числовое значение X-координаты верхнего левого угла прямоугольника.

tnYOrStart, числовое значение, Y-координата верхнего левого угла прямоугольника, если toXOrRectangle - числовое, или начальный угол в градусах, если toXOrRectangle - gpRectangle объект.

tnWOrSweep, числовое значение, ширина прямоугольника, если toXOrRectangle - числовое, или угол поворота в градусах, если toXOrRectangle - gpRectangle объект.

tnH, числовое, высота прямоугольника, когда toXOrRectangle - числовое.

tnStart, числовое, начальный угол в градусах, когда toXOrRectangle - числовое.

tnSweep, числовое, угол поворота в градусах, когда toXOrRectangle - числовое.

FillPolygon Метод

Заполненый многоугольник, заданный набором точек в Visual FoxPro массиве.

синтаксис: THIS.FillPolygon(toBrush, taPoints[, tnFirstCol[, tnFillMode]])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush объект кисти.

taPoints, обязательный, массив координат точек. Массив имеет один ряд для каждого точки, и должен иметь минимум два столбца, где taArray[i, tnFirstCol] - X-координата и taArray[i,tnFirstCol+1] - Y-координата.

tnFirstCol, необязательный, целое, индекс столбца с X-координатами. По умолчанию 1.

tnFillMode, необязательный, режим заполнения, задается GDIPLUS_FillMode_* константами. По умолчанию значение - GDIPLUS_FillMode_Alternate.

FillPolygonFromCursor Метод

Заполняет многоугольник, заданный набором точек в курсоре.

синтаксис: THIS.FillPolygonFromCursor(toBrush, tcAlias, tcExprX, tcExprY[, tnFillMode])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush объект кисти.

tcAlias, обязательный, псевдоним курсора с координатами точек, одна запись для каждого точки.

tcExprX, обязательный, строка, выражение для вычисления X-координаты (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координаты (результат вычисления должен быть числовым).

tnFillMode, необязательный, режим заполнения, задается GDIPLUS_FillMode_* константами. По умолчанию значение - GDIPLUS_FillMode_Alternate.

FillRectangle Метод

Заполняет прямоугольник, заданный либо gpRectangle объектом, либо отдельными координатами и размерами.

синтаксис: THIS.FillRectangle(toBrush, tXOrRect[,tnY,tnW,tnH])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

toBrush, обязательный, gpBrush объект кисти.

tXOrRectangle, либо gpRectangle объект прямоугольника либо числовое значение X-координаты верхнего левого угла прямоугольника

tnY, числовое, Y-координата верхнего левого угла прямоугольник. Обязательный если tXorRectangle - числовое.

tnW, числовое, ширина прямоугольника. Обязательный если tXorRectangle - числовое.

tnH, числовое, высота прямоугольника. Обязательный если tXorRectangle - числовое.

FillRectangles Метод

Заполняет несколько прямоугольников, заданных массивом.

синтаксис: THIS.FillRectangles(toBrush, taRects[, tnFirstCol])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush для кисти.

taRects, обязательный, массив координат точек, определяющих прямоугольники. Массив имеет один ряд для каждого прямоугольника, и должен иметь минимум четыре столбца, где taArray[i, tnFirstCol] - X-координата, taArray[i,tnFirstCol+1] - Y-координата, aArray[i, tnFirstCol+2] - ширина и taArray[i,tnFirstCol+3] - высота.

tnFirstCol, необязательный, целое, индекс столбца с X-координатами. По умолчанию 1.

FillRectanglesFromCursor Метод

Заполняет несколько прямоугольников, заданных курсором.

синтаксис: THIS.FillRectanglesFromCursor(toBrush, tcAlias, tcExprX, tcExprY, tcExprW, tcExprH)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

toBrush, обязательный, gpBrush для кисти.

tcAlias, обязательный, псевдоним курсора с координаттами точек, одна запись для каждого прямоугольник.

tcExprX, обязательный, строка, выражение для вычисления X-координаты (результат вычисления должен быть числовым).

tcExprY, обязательный, строка, выражение для вычисления Y-координаты (результат вычисления должен быть числовым).

tcExprW, обязательный, строка, выражение для вычисления ширины (результат вычисления должен быть числовым).

tcExprH, обязательный, строка, выражение для вычисления высоты (результат вычисления должен быть числовым).

Flush Метод

Принудительное немедленное выполнение всех ожидающих графических операций.

синтаксис: THIS.Flush(tnFlushIntention)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tnFlushIntention, обязательный, числовое значение, определенное GDIPLUS_FlushIntention_* константами.

GetHdc Метод

Получить дескриптор Windows контекстного устройства, для возможности чертить на gpGraphics поверхности при помощи Windows GDI функций.

синтаксис: hDC = THIS.GetHdc()

возвращаемое значение: целое, дескриптор контекстного GDI устройства, или .NULL. при ошибке.

параметры: нет.

замечания: Данный метод - эквивалент .NET Graphics.GetHdc. Дескриптор должен быть освобожден с помощью метода ReleaseHdc() после использования.

InterpolationMode Свойство

Указывает режим интерполяции, соответствующий данному графическому объекту.

по умолчанию: пустое.

MeasureStringA Метод

Размеры ANSI строки, напечатанной с заданием фонта и форматированием.

синтаксис: THIS.MeasureStringA(tcAnsiString,[toFont,[tvLayoutArea, [toStringFormat,[@rnCharsFitted[,@rnLinesFilled]]]])

возвращаемое значение: gpSize объект, показывающий ограничивающий прямоугольник строки. Возвращает .NULL. при ошибке.

параметры:

tcAnsiString, обязательный, ANSI строка, которую надо замерить.

toFont, необязательный, gpFont объект, определяющий фонт, в котром замерять.

tvLayoutArea, необязательный, gpRectangle или gpSize объект, в котором текст расположен.

toStringFormat, необязательный, gpStringFormat объект формата.

rnCharsFitted, необязательный, по возвращению - равен количеству символов, умещающихся в прямоугольник.

rnLinesFilled, необязательный, по возвращению - равен количеству строк, умещающихся в прямоугольник.

замечания: заметьте, что область, которую придоставляет gpSize объект, как возвращаемое значение, может быль больше, чем прямоугольник предоставил этому методу в качестве параметра tvLayoutArea.

MeasureStringW Метод

Размеры Unicode строки, напечатанной с заданием фонта и форматированием.

синтаксис: THIS.MeasureStringW(tcUnicodeString,[toFont,[tvLayoutArea, [toStringFormat,[@rnCharsFitted[,@rnLinesFilled]]]])

возвращаемое значение: gpSize объект, показывающий ограничивающий прямоугольник строки. Возвращает .NULL. при ошибке.

параметры:

tcUnicodeString, обязательный, Unicode строка, котрую надо замерить.

toFont, необязательный, gpFont объект, определяющий фонт, в котром замерять.

tvLayoutArea, необязательный, gpRectangle или gpSize объект, в котором текст расположен.

toStringFormat, необязательный, gpStringFormat объект формата.

rnCharsFitted, необязательный, по возвращению - равен количеству символов, умещающихся в прямоугольник.

rnLinesFilled, необязательный, по возвращению - равен количеству строк, умещающихся в прямоугольник.

замечания: заметьте, что область, которую придоставляет gpSize объект, как возвращаемое значение, может быль больше, чем прямоугольник предоставил этому методу в качестве параметра tvLayoutArea.

PageScale Свойство

Указывает соотношение между единицами измерения слова и страницы.

по умолчанию: пустое.

PageUnit Свойство

Указывает единицу измерения координат страницы, как определено GDIPLUS_Unit_* константами. Изменяемое.

по умолчанию: пустое.

PixelOffsetMode Свойство

Указывает смещение пискселов во время формирования изображения, используя значения GDIPLUS_PixelOffsetMode_* констант.

по умолчанию: 0.

ReleaseHdc Метод

Освобождает дескриптор контекстного устройства, ранее полученный GetHDC() методом.

синтаксис: THIS.ReleaseHDC(tnHDC)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tnHDC, обязательный, целое, дескриптор контекстного устройства.

замечания: Данный метод - эквивалент .NET Graphics.ReleaseHdc.

RenderingOrigin Свойство

Начальные координаты для сглаживание цветовых переходов и для кистей штриховки, представлено, как gpPoint объект. Изменяемое.

по умолчанию: пустое.

ResetTransform Метод

Сбрасывает преобразование в мировую систему координат (не преобразовывать).

синтаксис: THIS.ResetTransform()

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры: none.

Restore Метод

Восстанавливает ранее сохраненное состояние графики.

синтаксис:? THIS.Restore(tnGraphicsState)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tnGraphicsState, обязательный, целое, дескриптор состояния графики, полученный Save() методом.

RotateTransform Метод

Добавляет поворот на заданный угол матрицы преобразования данного объекта.

синтаксис: THIS.RotateTransform(tnAngle[, tnMatrixOrder])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tnAngle, обязательный, угол поворота в градусах.

tnMatrixOrder, необязательный, очередность введения в матрицу преобразования, как определено GDIPLUS_MatrixOrder_* константами.

Save Метод

Запоминает текущее состояние графики а возвращает признак (для последующего восстановления).

синтаксис: THIS.Save(@rnGraphicsState)

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

rnGraphicsState, обязательный, по возвращению - присваивается дескриптор состяния графики, который может передаваться Restore() методу.

ScaleTransform Метод

Применяет масштабирование к матрице преобразования для данного графического объекта.

синтаксис: THIS.ScaleTransform(tnScaleX, tnScaleY[, tnMatrixOrder])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tnScaleX, обязательный, горизонтальный масштабный коэффициент.

tnScaleY, обязательный, веритикальный масштабный коэффициент.

tnMatrixOrder, необязательный, очередность введения в матрицу преобразования, как определено GDIPLUS_MatrixOrder_* константами.

SmoothingMode Свойство

Указывает качество изображения, возможные значения определены GDIPLUS_SmoothingMode_* константами.

по умолчанию: пустое.

TextContrast Свойство

Указывает значение гамма-коррекции для изображаемого текста.

по умолчанию: пустое.

TextRenderingHint Свойство

Указывает режим формирования изображения для текста, относящегося к данному графическому объекту.

по умолчанию: пустое.

TranslateTransform Метод

Добавляет трансляцию по (x,y) матрицы преобразования данного графического объекта.

синтаксис: THIS.TranslateTransform(tnOffsetX, tnOffsetY[, tnMatrixOrder])

возвращаемое значение: логическое, означает успешное или аварийное завершение.

параметры:

tnOffsetX, обязательный, значение горизонтального смещения.

tnOffsetY, обязательный, значение вертикального смещения.

tnMatrixOrder, необязательный, очередность введения в матрицу преобразования, как определено GDIPLUS_MatrixOrder_* константами.

VisibleClipBounds Свойство

Видимая вырезанная область, представленная как gpRectangle объект. Read-only.

по умолчанию: пустое.

Expand image Смотрите Также

Ссылки

Фундаментальные Классы Visual FoxPro A-Z
API Оболочка Фундаментальных Классов GDI Plus

Концепции

Руководство по Применению Фундаментальных Классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of данный product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GDI Plus HatchBrush Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus HatchBrush
Смотрите также
CollapseAll image

Класс gpHatchBrush предоставляет объект кисти, которая заливает объекты шриховкой.

Category | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpHatchBrush
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBrush (GDI Plus Brush Foundation Class)

Expand image Примечания

В приведенной ниже таблице приведены открытые свойства и методы, добавленные этим классов в его родительский класс, gpBrush. Этот класс кроме того, опеспечивает исполнение метода Init.

Свойства и методы Описание

Свойство BackgroundColor

Определяет цвет пространства между линиями шриховки, определенный как целочисленное значение ARGB.

По умолчанию: пустое.

Метод Create

Создает объект шриховочной кисти.

Синтаксис: ? THIS.Create(tnStyle[, tvForeColor[, tvBackColor]])

Возвращаемые значения: логическое, представляющее результат испонения метода - успешный или нет.

Параметры:

tnStyle, требуемый, используемый шаблон шриховки или стиля. Используйте константу, указанную в наборе констант GDIPLUS_HatchStyle_* .

tvForeColor, необязательный, целое число или объект gpColor, представляющие значение цвета для для цвета forecolor кисти (цвет линий шриховки).

tvBackColor, необязательный, целое число или объект gpColor, представляющие значение цвета для для цвета backcolor (пространство между линиями шриховки).

Свойство ForegroundColor

Указывает цвет линий шриховки, как целое число определяющее значение ARGB.

По умолчанию: пустое.

Свойство HatchStyle

Указывает стиль шриховки или шабон. Используйте константу из наборв GDIPLUS_HatchStyle_*.

По умолчанию: 0 (GDIPLUS_HatchStyle_Horizontal).

Метод Init

Создает объект щриховочной кисти во время инициализации, если методу были посланы подходящие параметры.

Синтаксис: CREATEOBJECT("gpHatchBrush"[,tnStyle[, tvForeColor[, tvBackColor]]])

Возвращаемые значения: логическое, представляющее результат испонения метода - успешный или нет. Если исполнение метода не состоялось, объект не инициализируется.

Параметры:

tnStyle, требуемый, если запрошено немедленное создание объекта, представляющий шаблон шриховки или стиль, которые будут использоваться. Используйте константу из набора GDIPLUS_HatchStyle_*.

tvForeColor, необязательный, целое число или объект gpColor, представляющее значение цвета кисти для forecolor (линии шриховки).

tvBackColor, необязательный, целое число или объект gpColor, представляющее значение цвета кисти для backcolor (пространство между линиями шриховки).

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы оберток API для GDI Plus

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Image Foundation Class

Visual FoxPro 9.0
Фундаментальный класс GDI Plus Image
Смотрите также
CollapseAll image

Класс gpImage инкапуслирует GDI+ image, и подается как базовый класс для конкретных типов картинок (например, класс gpBitmap).

Категория | Отчеты
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpImage
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpObject (GDI Plus Object Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы, добавленные эти классов в его родительский класс gpObject. Этот класс включает в себя, кроме того, методы Init и Clone.

Свойства и методы Описание

Метод Clone

Клонирует объект картинки.

Синтаксис: THIS.Clone(toGpImage)

Возвращаемые значения: логический, представляющий результат операции -была она успешной или нет.

Параметры:

toGpImage, требуемый, клонируемый объект на основе gpImage.

Метод CreateFromFile

Создает объект картинки из файла.

Синтаксис: THIS.CreateFromFile(tcFileName [, tlUseEmbeddedColorMgmt])

Возвращаемые значения: логический, представляющий результат операции -была она успешной или нет.

Параметры:

tcFileName, требуемый, файл картинки, из которого будет создан объект image.

tlUseEmbeddedColorMgmt, необязательный, будет ли использовано вложенная обработка цвета.

Свойство Flags

Указывает флаги атрибутов для этой картинки, как целое число, вычисляемое как комбинация значений битов, с помощью опеделенных констант GDIPLUS_ImageFlags_*.

По умолчанию: пустое.

Метод GetBounds

Получает окамляющий прямоугольник в указанных единицах.

Синтаксис: THIS.GetBounds(tnUnits)

Возвращаемые значения: объект типа gpRectangle, или .NULL. в случае ошибки.

Параметры:

tnUnits, требуемый, определяется в соответствии с набором констант GDIPLUS_Unit_*.

Метод GetDecoderCLSID

Получает CLSID для Decoder для указанного формата картинки(например, "image/jpeg").

Синтаксис: qCLSID = THIS.GetDecoderCSLID(tvSearchValue)

Возвращаемые значения: Varbinary, CLSID Decoder'а. В случае ошибки возвращает .NULL. .

Параметры:

tvSearchValue, требуемый. Строка, содержащая MIME тип картинки (например "image/jpeg"), или varbinary GUID формата картинки, как определено константами GDIPLUS_IMAGEFORMAT_*.

Примечания: если для уканного типа картинки не найден decoder, или если предоставленный в параметре tvSearchValue формат картинки MIME типа или GUID не являются допустимыми, тогда эта функция возвращает .NULL., а метод GetStatus() вернет 0 ("нет ошибок").

Метод GetEncoderCLSID

Получает CLSID для encoder для указанного формата картинки (например, "image/jpeg").

Синтаксис: qCLSID = THIS.GetEncoderCSLID(tvSearchValue)

Возвращаемые значения: Varbinary, CLSID encoder'а пригодный для посылки методу SaveToFile(). В случае ошибки возвращает .NULL. .

Параметры:

tvSearchValue, требуемый. Строка, содержащая MIME тип картинки (например "image/jpeg"), или varbinary GUID формата картинки, как определено константами GDIPLUS_IMAGEFORMAT_*.

Примечания: если для уканного типа картинки не найден encoder, или если предоставленный в параметре tvSearchValue формат картинки MIME типа или GUID не являются допустимыми, тогда эта функция возвращает .NULL., а метод GetStatus() вернет 0 ("нет ошибок").

Метод GetPropertyCount

Получает число свойств, хранимых в метаданных этого объекта Image.

Синтаксис: nCount = THIS.GetPropertyCount()

Возвращаемые значения: целочисленный, число свойств мета-данных (который может быть и нулем). В случае ошибки возвращает .NULL. .

Параметры: нет.

Метод GetPropertyIdList

Получает список свойств, хранимых в метаданных этого объекта Image, в виде массива Visual FoxPro.

Синтаксис: nCount = THIS.GetPropertyIdList(@raPropIDList)

Возвращаемые значения: целочисленный, число свойств мета-данных (который может быть и нулем). В случае ошибки возвращает .NULL. . Значения ID свойства возвращается в массиве параметров raPropIDList.

Параметры:

raPropIDList, требуемый, массив посылаемый по ссылке. При возврате этот массив оразмеривается в одномерный массив, а каждый элемент массива содержит целочисленное значение ID свойства .

Метод GetPropertyItem

Возвращает указанное своймства из мета-данных картинки.

Синтаксис: vPropertyValue = THIS.GetPropertyItem(tnPropID)

Returns: Значение свойства или null (.NULL.), если свойство не было найдено или в случае, если произошла ошибка. Тип данных зависит от типа тэга свойства, как показано ниже:

Типы свойства: | Возвращается в Visual FoxPro в виде:
byte, short, long, signed long | Numeric
String | строка ANSI
rational, signed rational | Строка содержащая два числа, разделенных слэшем. Например, одна треть может быть "1/3".

Типы свойства, не показанные выше не поддерживаются.

Параметры:

tnPropID, требуемый, целочисленный, элемент ID свойства, возвращаемый в GetPropertyIDList.

Примечания: Если запрашиваемое свойство не определено, этот метод вернет null (.NULL.), а метод GetStatus() возвратит 19 (GDIPLUS_STATUS_PropertyNotFound).

Метод GetThumbnailImage

Получает миниатюру картинки из объекта Image, возвращемую как новый gpObject Image.

Синтаксис: oImage= THIS.GetThumbnailImage(tnWidth, tnHeight)

Возвращаемые значения: gpObject Image, содержащий миниатюру. В случае ошибки возвращает .NULL. .

Параметры:

tnWidth, целочисленный, требуемый, желаемая ширина миниатюры картинки в пикселях.

tnHeight, целочисленный, требуемый, желаемая высота миниатюры картинки в пикселях.

Примечания: Некоторые файлы картинок имеют вложенные в них миниатюры. А таких случаях, этот метод извлекает вложенную картинку миниатюры, а значения параметров tnWidth и tnHeight игнорирурются. Если не имеется вложенной миниатюры, это метод создает ее путем масштабирования основной картинки в размеры, определенные параметрами tnWidth и tnHeight. Если оба параметра установлены в 0, то будут применены размеры, определяемые системой.

Свойство HorizontalResolution

Численное, горизонтальное разрешение в пикселях-на-дюйм. Только для чтения.

По умолчанию: нет.

Свойство ImageHeight

Высота этого объекта Image. Только для чтения.

По умолчанию: нет.

Свойство ImageWidth

Ширина этого объекта Image.. Только для чтения.

По умолчанию: нет.

Метод Init

Создает объект Image во время инициализации, если были получены соответствующие параметры.

Синтаксис: CREATEOBJECT("gpImage" [,tnHandle|tcFileName[, tlParam]])

Возвращаемые значения: логический, представляющий результат операции -была она успешной или нет. Если метод не сработал, объект не создается.

Параметры:

tnHandle | tcFilename, требуемый, если было затребовано немедленное создание объекта, графический дескритор или имя файла, из которого будет создана картинка.

tlParam, необязательный, определяет - будет ли класс обладать своим собственным графическим дескритором (если первый параметр представляет собой tnHandle) или должно ли использoваться управление цветом (если первый параметр представляет собой tcFileName).

Свойство PhysicalDimension

Поставляет ширину и высоту этого объекта Image, представленные как объект типа gpSize. Только для чтения.

По умолчанию: нет.

Примечания: Если картинка представляет собой bitmap, ширина и высота возвращются в пикселях. Если картинка представляет собой метафайл (metafile), ширина и высота возвращются в единицах 0.01 millimeter.

Свойство PixelFormat

Пиксельный формат, в соответствии со значениями, определенные в константах GP_PIXELFORMAT_*. Только для чтения.

По умолчанию: нет.

Примечания: может не применяться к некоторым объектам Image, таким как картинки векторного формата.

Свойство RawFormat

Получает формат этой картинки, как GUID типа varbinary. Только для чтения.

По умолчанию: нет.

Метод RotateFlip

Вращает и/или переворачивает (зеркально) объект Image..

Синтаксис: THIS.RotateFlip(tnRotateFlipType)

Возвращаемые значения: логический, представляющий результат операции -была она успешной или нет.

Параметры:

tnRotateFlipType, требуемый, целочисленный. Указывает угол вращения и/или типа переворота, в соотстветствии со значениями констант GDIPLUS_ROTATEFLIPTYPE_*.

Метод SaveToFile

Сохраняет объект Image в дисковый файл, используется указанный encoder или формат картинки и необязательные параметры.

Синтаксис: THIS.SaveToFile(tcFilename, tvCLSIDEncoder[, rvEncoderParams])

Возвращаемые значения: логический, представляющий результат операции -была она успешной или нет.

Параметры:

tcFilename, требуемый, строчный, имя файла, в который будет сохранена картинка.

tvCLSIDEncoder, требуемый, string или varbinary. CLSID используемого encoder'а или MIME тип (например "image/jpeg"). Если MIME тип не указан, тогда метод динамически ищет CLSID соответствующий для Encoder.

rvEncoderParams, необязательный, параметры для encoder. Либо разделенная запятыми строка в форме "param1=value1,param2=value2", либо двумерный мвссив (посылаемый по ссылке) парметров и значений для encoder.

Примечания: Параметры encoder определяюься внутренне для глобального унифицированного ID (GUIDS). Эта функция понимает ограниченный набор параметров по имени:

Тип Image | Доступные параметры
JPEG | quality, transformation
TIFF | compression, colordepth, saveflag

Для посылки других параметров, используйте массив в форме rvEncoderParams с GUID параметров в первой колонке.

Приведенный ниже пример сохраняет картинку в файл JPEG, используя уровень качества в 80%.

CopyCode image Скопировать код
lSuccess = oImage.SaveToFile( "example.jpg", ;
           "image/jpeg", "quality=80" )

Свойство VerticalResolution

Численное, вертикальное разрешение в пикселях-на-дюйм. Только для чтения.

По умолчанию: нет.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Object
Смотрите также
CollapseAll image

Класс gpObject представляет собой абстрактный базовый класс для всех объектов GDI+. Он предоставляет управление дескрипторами GDI+ и результатами операций GDI+.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpObject
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBase (GDI Plus Base Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы добавленные этим классом в его родительский класс, gpBase.

Свойства и методы Описание

Метод GetHandle Method

Возвращаемый базовый дескриптор GDI+ для этого объекта.

Синтаксис: ? THIS.GetHandle()

Возвращаемые значения: Численное значение представляет дескриптор. Возвращает null (.NULL.), если произошла ошибка.

Параметры: нет.

Метод GetStatus

Возвращает код состояния последней из вызванных на этом объекте функции GDI+. Смотрите константы GP_STATUS_* .

Синтаксис: ? THIS.GetStatus()

Возвращаемые значения: Численное значение представляет код состояния.

Параметры: Нет.

Метод SetHandle

Устанавливает родной дескриптор GDI+, если он был получен из внешнего источника.

Синтаксис: ? THIS.SetHandle(tvNewHandle,tlOwnsHandle)

Возвращаемые значения: : Логическое значение, представляющее собой успешное выполнение или неудачу при вызове метода.

Параметры:

tvHandle, обязательный, присваиваемый дескриптор.

tlOwnsHandle, необязательный, по умолчанию устанавливается в false (.F.). Указывает, будет ли этот объект становиться собственников дескриптора и может ли он быть удален, когда этот объект производит другие очистки.

Свойство Win32LastError

Вовзращает код последней случившейся ошибки Windows, если GetStatus возвратит GP_STATUS_Win32Error.

По умолчанию: 0.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Pen Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Pen
Смотрите также
CollapseAll image

Класс gpPen предоставляет объект pen (перо), который используется для рисования линий и кривых.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpPen
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpObject (GDI Plus Object Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены свойства и методы добавленные этим классом в его родительский класс, gpObject. Этот класс, кроме того, выполняет методы Clone и Init.

Свойства и методы Описание

Свойство Alignment

Прижимает линии, нарисованные этим пером на замкнутых кривых и полигонах в соответствии с набором констант GP_PENALIGNMENT_*.

Метод Clone

Создает копию объекта пера.

Синтаксис: ? THIS.Clone(toGpPen)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

toGpPen, требуемый, копируемый объект на основе gpPen.

Метод Create

Конструирует объект пера указанного цвета.

Синтаксис: THIS.Create(tvColor[, tnWidth[, tnUnit]])

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tvColor, требуемый, объект gpColor или численное значение, представляющее композитное значение цвета.

tnWidth, необязательный, ширина пера, По умолчанию устанавливается в 1.0.

tnUnit, необязательный, единица измерения для значения tnWidth, по умолчанию устанавливается в GDIPLUS_Unit_World.

Метод CreateFromBrush

Создает перо из существующего объекта кисти (brush).

Синтаксис: THIS.CreateFromBrush(toBrush[, tnWidth[, tnUnit]])

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

toBrush, требуемый, объект, производный от gpBrush.

tnWidth, необязательный, ширина пера, по умолчанию устанавливается в 1.0.

tnUnit, необязательный, единица измерения для значения tnWidth, по умолчанию устанавливается в GDIPLUS_Unit_World.

Свойство DashCap

Устанавливает стиль перекрытия на конце пунктира, для пунктирных линий, так как указанно определенной константой GDIPLUS_DashCap_*.

По умолчанию: GDIPLUS_DashCap_Flat.

Свойство DashOffset

Устанавливает расстояние от начала линии до начала пунктирного изображения.

По умолчанию: 0

Свойство DashStyle

Устанавливает стиль для пунктирных линий, как указано определенными константами GDIPLUS_DashStyle_*.

По умолчанию: GDIPLUS_DashStyle_Solid.

Свойство EndCap

Устанавливает стиль перекрытия на конце линий, нарисованных этим объектом пера, так как указано определенными константами GDIPLUS_LineCap_*.

По умолчанию: GDIPLUS_LineCap_Flat.

Метод Init

Конструирует объект пера во время инициализации, если были посланы соответствующие параметры.

Синтаксис: CREATEOBJECT("gpPen" [,tvColor[, tnWidth[, tnUnit]]])

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет. Если вызов метода был неудачным, то объект не создается.

Параметры:

tvColor, требуемый, если запрошено немедленное создание объекта, объект gpColor или численное значение, представляющее композитное значение цвета.

tnWidth, необязательный, ширина пера, по умолчанию устанавливается в 1.0.

tnUnit, необязательный, единица измерения для значения tnWidth, по умолчанию устанавливается в GDIPLUS_Unit_World.

Свойство LineJoin

Устанавливает стиль соединения для концов двух следующих друг за дугом линий, нарисованных этим пером, определяемый константами GDIPLUS_LineJoin_*.

По умолчанию: GDIPLUS_LineJoin_Miter.

Свойство MiterLimit

Предел толщины соединения фацетного угла (максимально разрешенное отношение длины фацета к ширине черты).

По умолчанию: 10.0.

Свойство PenColor

Указывает цвет для этого объекта пера, используя целое число для указания значения ARGB.

По умолчанию: 0 (непрозрачный черный).

Свойство PenType

Устанавливает тип линий, нарисованных этим объектом пера, определенный константами GDIPLUS_PenType_*. Только для чтения.

Примечания: Это свойство применяется только к производным gpPen, тем, которые были созданы из кистей. Только сплошные (solid) перья (GDIPLUS_PenType_SolidColor) могут быть созданы с помощью фундаментального класса gpPen.

Свойство PenUnit

Указывает единицу измерения для ширины и прочих значений, определяемую константами GDIPLUS_UNIT_*.

По умолчанию: GDIPLUS_Unit_World.

Свойство PenWidth

Устанавливает ширину объекта пера.

По умолчанию: 1.0.

Свойство StartCap

Устанавливает стиль перекрытия в начале линии, нарисованной этим объектом пера, определяемый константами GDIPLUS_LineCap_*.

По умолчанию: GDIPLUS_LineCap_Flat.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы оберток API для GDI Plus

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Point Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Point
Смотрите также
CollapseAll image

Класс gpPoint инкапсулирует упорядоченную пару x- и y-координат, которые определяет точку на двумерной плоскости.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpPoint
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBase (GDI Plus Base Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы добавленные этим классом в его родительский класс, gpBase. Этот класс, кроме того, внедряет методы Clone и Init.

Свойства и методы | Описание
Метод Clone | Создает клон объекта точки. Синтаксис: ? THIS.Clone(toGpPoint) Возвращаемые значения: Логическое значение, представляющее результат выполнения. Параметры: toGpPoint, обязательный, клонируемый объект на основе gpPoint.
Метод Create | Создает объект точки в указанных координатах. Синтаксис: THIS.Create(tX,tY) Возвращаемые значения: Логическое значение, представляющее результат выполнения. Параметры: tX, обязательный, координата X создаваемой точки. tY, обязательный, координата Y создаваемой точки.
Свойство GdipPoint | Строковое представление структуры GDI+ Point (составленное их двух 32-битных целых чисел). По умолчанию: Empty.
Свойство GdipPointF | Строковое представление структуры GDI+ Point (составленное их двух 32-битных простой точности чисел с плавающей запятой). По умолчанию: Empty.
Метод Init | Конструирует объект Point во время инициализации, если ему посланы соответствующие параметры. Синтаксис: CREATEOBJECT("gpPoint" [,tX,tY]) Возвращаемые значения: Логическое значение, представляющее результат выполнения. Если вызов метода будет неудачным, экземпляр объекта не создается. Параметры: tX, требуется, если запрошено немедленное создание объекта, представляет координату X для точки. tY, требуется, если запрошено немедленное создание объекта, представляет координату Y для точки.
Метод Set | Устанавливает объект точки в указанных координатах. Синтаксис: THIS.Set(tX,tY) Возвращаемые значения: Логическое значение, представляющее результат выполнения. Параметры: tX, обязательный, координата X для устанавливаемой точки. tY, обязательный, координата Y для устанавливаемой точки..
Свойство X | X-координата точки. По умолчанию: 0.
Свойство Y | Y-координата точки. По умолчанию: 0.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Rectangle Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Rectangle
Смотрите также
CollapseAll image

Класс gpRectangle инкапсулирует набор из четырех чисел, которые представляют размещение и размер прямоугольника.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpRectangle
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBase (GDI Plus Base Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены свойства и методы добавленные этим классом в его родительский класс, gpBase. Этот класс, кроме того, выполняет методы Clone и Init.

Свойства и методы Описание

Метод Clone

Клонирует объект прямоуголника.

Синтаксис: ? THIS.Clone(toGpRectangle)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

toGpRectangle, требуемый, клонируемый объект на базе gpRectangle.

Метод Create

Создает объект прямоугольника из указанных координат.

Синтаксис: THIS.Create(tX,tY, tW, tH)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tX, требуемый, X координата для создаваемого прямоугольника.

tY, требуемый, Y координата для создаваемого прямоугольника.

tW, требуемый, width для создаваемого прямоугольника.

tH, требуемый, height для создаваемого прямоугольника.

Метод CreateFromPointSize

Создает прямоугольник из объектов gpPoint и gpSize.

Синтаксис: THIS.CreateFromPointSize(toPoint,toSize)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

toPoint, требуемый, объект точки, представляющий начальную точку создаваемого прямоугольника.

toSize, требуемый, объект размера, представляющий ширину и высотусоздаваемого прямоугольника.

Свойство GdipPoint

Строка, представляющая структуру GDI+ Point (составленную из двух 32-битных целых чисел), предоставляющая начальную точку прямоугольника.

По умолчанию: пустое.

Свойство GdipPointF

Строка, представляющая структуру GDI+ PointF (составленную из двух 32-битных одинарной точности значений с плавающей запятой), предоставляющая начальную точку прямоугольника.

По умолчанию: пустое.

Свойство GdipRect

Строка, представляющая структуру GDI+ Rect structure (составленную из четырех 32-битных целых чисел), предоставляющая начальную точку прямоугольника.

По умолчанию: пустое.

Свойство GdipRectF

Строка, представляющая структуру GDI+ RectF (составленную из четырех 32-битных одинарной точности значений с плавающей запятой), предоставляющая начальную точку прямоугольника.

По умолчанию: пустое.

Свойство gdiRect

Строка, представляющая Win32 "RECT" (в виде значений X, Y, X2, Y2).

Примечания: Это свойство полезно в случае, когда работаете с функциями Windows GDI, которые ожидают прямоугольника, определенного в виде координат двух диагонально-противоположных углов, а не значений начальной точки сверху, слева, а также ширины и высоты.

По умолчанию: пустое.

Свойство gpPoint

Начальная или оригинальная точка прямоугольника, представленная в виде объекта gpPoint.

По умолчанию: пустое.

Свойство gpSize

Ширина и высота прямоугольника, в виде объекта gpSize.

По умолчанию: пустое.

Свойство H

Высота прямоугольника.

По умолчанию: 0.

Метод Init

Создает объект прямоугольника во время инициализации, если были получены соответствующие параметры.

Синтаксис: CREATEOBJECT("gpRectangle" [,tX_Rect_Point,tY_Size, tW, tH])

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет. Если метод не может быть исполнен, объект не инициализируется.

Параметры:

tX_Rect_Point, требуемый, если запрошено немедленное создание объекта, представляет собой X координату для начальной точки прямоугольника, существующего клонгируемого объекта на базе gpRectangle или верхнюю левую точку для прямоугольника.

tY_Size, требуемый, если запрошено немедленное создание объекта, а tX_Rect_Point не является объектом типа gpRectangle, представляет Y координату для начальной точки прямоугольника, если tX_Rect_Point был точкой координы X или объект типа gpSize, елси tX_Rec_Point был объектом типа gpPoint.

tW, требуемый, если первые два параметра были координатами, представляющими ширину создаваемого прямоугольника.

tH, требуемый, если первые два параметра были координатами, представляющими высоту создаваемого прямоугольника.

Метод Set

Устанавливает координаты прямоугольника из индивидуальных компонентов.

Синтаксис: THIS.Set(tX, tY, tW, tH)

Возвращаемые значения: логическое, представляющее результат исполнения метода - успешный или нет.

Параметры:

tX, требуемый, устанавливаемая X координата начальной точки прямоугольника.

tY, требуемый, устанавливаемая Y координата начальной точки прямоугольника.

tW, требуемый, устанавливаемая ширина прямоугольника.

tH, требуемый, устанавливаемая высота прямоугольника.

Свойство W

Ширина прямоугольника.

По умолчанию: 0.

Свойство X

X координата начальной точки (слева-сверху) прямоугольника.

По умолчанию: 0.

Свойство X2

X координата конечной точки (снизу-справа) прямоугольника.

По умолчанию: 0.

Свойство Y

Y координата начальной точки (слева-сверху) прямоугольника.

По умолчанию: 0.

Свойство Y2

Y координата конечной точки (снизу-справа) прямоугольникаe.

По умолчанию: 0.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы оберток API для GDI Plus

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus Size Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus Size
Смотрите также
CollapseAll image

Класс gpSize хранит упорядоченную пару чисел, обучно ширину и высоту прямоугольника.

Category | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpSize
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBase (GDI Plus Base Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены открытые свойства и методы, добавленные этим классов в его родительский класс, gpBase. Этот класс, кроме того, обеспечивает выполнение методов Clone и Init.

Свойства и методы Описание

Метод Clone

Создает абсолютную копию объекта Size.

Синтаксис: ? THIS.Clone(toGpSize)

Возвращаемые значения: логический, представляющий результат выполнения методы - успешный или нет.

Параметры:

toGpSize, требуемый, объект на основе gpSize, копия которого будет создаваться.

Метод Create

Создает объект Size из указанных координат.

Синтаксис: THIS.Create(tW, tH)

Возвращаемые значения: логический, представляющий результат выполнения методы - успешный или нет.

Параметры:

tW, требуемый, щирина, для создания прямоугольника.

tH, требуемый, высота, для создания прямоугольника.

Свойство GdipSize

Строка представления структуры GDI+ Size (составленная из двух 32-битных целых чисел).

По умолчанию: пустое.

Свойство GdipSizeF

Строка представления структуры GDI+ Size (составленная из двух 32-битных чисел с плавающей запятой обычной точности).

По умолчанию: пустое.

Свойство H

Значение высоты для объекта Size.

По умолчанию: 0.

Метод Init

Создает объект Size во время инициализации, если методу были посланы подходящие параметры.

Синтаксис: CREATEOBJECT("gpSize" [,tW_Size, tH])

Возвращаемые значения: логический, представляющий результат выполнения методы - успешный или нет. Если исполнение метода не состоялось, то объект не инициализируется.

Параметры:

tW_Size, требуемый, если запрошено немедленное создание объекта, представляющий высоту объекта Size, или другой объект Size , копия которого будет создаваться.

tH, требуемый, если в качестве первого параметра не был указан объект Size , копия которого будет создаваться.

Метод Set

Устанавливает координаты объекта Size из индивидуальных компонентов.

Синтаксис: THIS.Set(tW, tH)

Возвращаемые значения: логический, представляющий результат выполнения методы - успешный или нет.

Параметры:

tW, требуемый, ширина объекта Size.

tH, требуемый, высота объекта Size.

Свойство W

Значение ширины для объекта Width.

По умолчанию: 0.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы оберток API для GDI Plus

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus SolidBrush Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus SolidBrush
Смотрите также
CollapseAll image

Класс gpSolidBrush предоставляет объект кисти, который заполнен чистым цветом.

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpSolidBrush
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpBrush (GDI Plus Brush Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы добавленные этим классом в его родительский класс, gpBrush. Этот класс, кроме того, реализует метод Init.

Свойства и методы Описание

Свойство BrushColor

Указывает цвет объекта SolidBrush в виде целочисленного представления значения ARGB value.

По умолчанию: нет.

Метод Create

Создает объект SolidBrush в указанном цвете.

Синтаксис: THIS.Create(tvColor)

Возвращаемые значения: Логическое значение, представляющее результат выполнения.

Параметры:

tvColor, обязательный, объект на основе gpColor или число, представляющее составное значение цвета.

Метод Init

Конструирует объект SolidBrush во время инициализации, если методы были посланы соответствующие параметры.

Синтаксис: CREATEOBJECT("gpSolidBrush" [, tvColor])

Возвращаемые значения: Логическое значение, представляющее результат выполнения. Если вызов метода будет неудачным, объект создан не будет.

Параметры:

tvColor, требуется, если запрощено немедленное создание объекта, объект на основе gpColor или число, представляющее составное значение цвета.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GDI Plus StringFormat Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GDI Plus StringFormat
Смотрите также
CollapseAll image

Класс gpStringFormat предоставляет объект инкапсуляции информации о раскладке текста (такой, как выравнивание и пространство между строками) и отображения обработок (таких, как вставка троеточия и подмена национальных цифр).

Категория | Отчеты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\GDIplus
Класс | gpStringFormat
Базовый класс | Custom
Библиотека класса | _GDIPLUS.vcx
Родительский класс | gpObject (GDI Plus Object Foundation Class)

Expand image Примечания

В приведенной ниже таблице перечислены глобальные свойства и методы добавленные этим классом в его родительский класс, gpObject. Этот класс, кроме того, исполняет методы Clone и Init.

Свойства и методы Описание

Свойство Alignment

Горизонтальное выравнивание текста, определяемое с помощью значений, определенный константами GDIPLUS_STRINGALIGNMENT_*.

По умолчанию: GDIPLUS_STRINGALIGNMENT_Near.

Примечания: В среде чтения "слева-направо", GDIPLUS_STRINGALIGNMENT_Near эквивалентно "left alignment", а GDIPLUS_STRINGALIGNMENT_Far эквивалентно "right alignment."

Метод Clone

Клонирует объекь StringFormat.

Синтаксис: ? THIS.Clone(toGpStringFormat)

Возвращаемые значения: Логическое значение, представляющее результат выполнения.

Параметры:

toGpStringFormat, обязательный, клонируемый объект на основе gpStringFormat.

Метод Create

Создает объект StringFormat с необязательными флагами и информацией об языке.

Синтаксис: THIS.Create([tnFlags[, tnLangID]])

Возвращаемые значения: Логическое значение, представляющее результат выполнения.

Параметры:

tnFlags, необязательный, начальное значение свойства FormatFlags.

tnLangID, необязательный, численный идентификатор языка.

Свойство FormatFlags

Флаги форматирования строки, использующие комбинации битовых значений с помощью констант GDIPLUS_STRINGFORMATFLAGS_*.

По умолчанию: пустое.

Метод GetGenericПо умолчанию

Конструирует объект StringFormat эквивалентный .NET's System.Drawing.StringFormat.GenericDefault.

Синтаксис: THIS.GetGenericПо умолчанию(tlMakeClone)

Возвращаемые значения: Логическое значение, представляющее результат выполнения.

Примечания: При успешном возврате из этого метода, объект представляет системный стандартный формат строки и все его свойства приобретают признак "только для чтения".

Метод GetGenericTypographic

Конструирует объект StringFormat с набором свойств Generic Typographic, такими, какими они должны быть при .NET's System.Drawing.StringFormat. GenericTypographic.

Синтаксис: THIS.GetGenericTypographic(tlMakeClone)

Возвращаемые значения: Логическое значение, представляющее результат выполнения.

Примечания: При успешном возврате из этого метода, объект представляет системный стандартный формат строки и все его свойства приобретают признак "только для чтения".

Свойство HotkeyPrefix

Установка HotkeyPrefix со значениями, определяемыми константами GDIPLUS_HOTKEYPREFIX_*.

Метод Init

Конструирует объект StringFormat во время инициализации, если методу были посланы соответствующие параметры.

Синтаксис: CREATEOBJECT("gpStringFormat" [, tnFlags[, tnLangID]])

Возвращаемые значения: Логическое значение, представляющее результат выполнения. Если исполнение метода не произошло, объект не создается.

Параметры:

tnFlags, необязательный, начальное значение для свойства FormatFlags.

tnLangID, необязательный, численный идентификатор языка.

Свойство LineAlignment

Вертикальное выравнивание строки текста, с использованием значений, указанных константами GDIPLUS_STRINGALIGNMENT_*.

По умолчанию: GDIPLUS_STRINGALIGNMENT_Near.

Примечания: В среде чтения "сверху-вниз" GDIPLUS_STRINGALIGNMENT_Near эквивалентно "top alignment," а GDIPLUS_STRINGALIGNMENT_Far эквивалентно "bottom alignment."

Свойство Trimming

Флаги, которые указывают - как производится обрезка текста, когда он не вмещается с прямоугольник раскладка, использующие значения, определенные набором констант GDIPLUS_STRINGTRIMMING_*.

По умолчанию: GDIPLUS_STRINGTRIMMING_NO.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальные классы GDI Plus API Wrapper

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Get File and Directory Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Get File and Directory
Смотрите также
CollapseAll image

Это диалоговое окно возвращает как имя файла, так и имя папки. Он используется для создания новых проектов в каталогах с тем же самым именем.

Категория | User Interface
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _folder
Базовый класс | Container
Библиотека класса | _controls.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\getproject.scx

Expand image Примечания

Для использования перетащите класс в проект или на форму. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс в проект или создать субкласс на его основе. Когда вы перетаскиваете класс на форму, Visual FoxPro помещает на нее элементы управления класса, включая командную кнопку Browse.

Свойства, события, методы | Описание
Свойство cLastProjectFile | Для внутреннего использования классом.
Свойство cExt | Для внутреннего использования классом.
Свойство TrimFile | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GoTo Dialog Box Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GoTo Dialog Box Button
Смотрите также
CollapseAll image

Этот класс создает командную кнопку, по щелчку на которой отображается диалоговое окно GoTo, с помощью которого вы сможете перейти на конкретную запись.

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _gotobutton
Базовый класс | CommandButton
Библиотека класса | _table2.vcx
Родительский класс | _dialogbutton
Образец использования | ...\Samples\Solution\Ffc\Buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в форму, Visual FoxPro размещает на ней командную кнопку. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GoTo Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс GoTo Dialog Box
Смотрите также
CollapseAll image

Этот класс создает диалоговое окно GoTo Record.

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigatio n
Класс | _gotodialog
Библиотека класса | _table.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\datanav.scx

Expand image Примечания

Для использования класса перетащите его в проект или, из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Create Form (Создать форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект, созданием субкласса на его основе или созданием формы.

Когда вы перетаскиваете класс в проект или выбираете из меню Create a new form from the selected class, Visual FoxPro открывает диалоговое окно Open, в котором вы можете указать имя файла формы, затем создает ее и открывает ее в Form Designer (Констукторе форм).

_GoToDialog представляет собой модальное диалоговое окно с членом _TableNav и счетчиков, позволяюшим пользователю указать номер записи. Когда вы щелкаете по OK, метод GoToRecord перемещает указатель записи к выбранной записи, затем вызывает метод RefreshLastWindowAfterChange для обновления отображения. Заметьте, что GoToRecord() обновляет отображение даже в том случае, когда таблица не допускает навигации по записям, в случае если вы таким образом отменяете изменения.

_GoToDialog использует _TableNav для определения текущего псевдоимени при инициализации. Затем он устанавливает счетчик SpinnerLowValue и KeyboardLowValue в 1, а SpinnerHighValue и KeyboardHighValue в RECCOUNT( ). Кроме того, он соответствующим образом устанавливает значение свойства счетчика Value.

Свойства, события, методы | Описание
RefreshUIAfterChange method | Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Graph By Record Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Graph By Record
Смотрите также
CollapseAll image

Этот контейнерный класс создает графики на уровке записи, в отличие от класса AutoGraph, который создает графики из целого курсора Visual FoxPro. Класс, кроме того, включает в себя набор командных кнопок для навигации между записями и динамически обновляет график при навигации.

Категория | Автоматизация
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Automation
Класс | _graphbyrec
Базовый класс | Container
Библиотека класса | _utility.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\automate.scx

Expand image Примечания

Для использования класса перетащите его в проект или в форму, или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавит в проект) или Add to Form (Добавит в форму). Когда вы добавляете класс в форму в среде разработки, Visual FoxPro открывает компоновщик, в котором вы можете указать значения свойств nChartType и cLblField для точек данных графика и метки для координатных стрелок. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Свойства, события, методы | Описание
Свойство cLblField | Указывает заголовок для метки записи. По умолчанию: ""
Свойство nChartType | Указывает тип графика. Допустимыми значениями являются: 1 = Area2 = Area 3D3 = Bar4 = Bar 3D5 = Column6 = Column 3D7 = Pie8 = Pie 3D9 = Line10 = Line 3D По умолчанию: 4
Свойство lSeriesByRow | Определяет - будет ли график рисоваться серией строк. По умолчанию: .T.
Свойство aDataFields[1] | Указывает массив полей данных для графика. По умолчанию: .F.
Метод SetupGraph | Инициализирует элементы управления графиком. Синтаксис: SetupGraph( ) Возврат: нет Аргументы: нет
Метод RefreshGraph | Обновляет график при перемещении указателя записи. Синтаксис: RefreshGraph( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Graph Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Graph Object
Смотрите также
CollapseAll image
Категория | Автоматизация
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Automation
Класс | autograph
Базовый класс | Custom
Библиотека класса | autograph.vcx
Родительский класс | automation
Образец использования | ...\Samples\Solution\Ffc\Automate.scx

Expand image Примечания

Этот настраиваемый класс генерирует график с помощью автоматизации MS Graph, используя ядро движка Graph Wizard.

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro открывает компоновщик для того, чтобы вы могли указать значения для cOutputfile, nChartType, lAddLegend и lSeriesByRow. Вы можете, кроме того, использовать класс autograph и предоставить значения для полей, типа графика, формы предпросмотра и, по умолчанию, имя в программном коде. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство aDataFields[1,1] | Указывает имя численного поля в целевой таблице (значения по оси "Y"). По умолчанию: .F.
Свойство cCategoryField | Указывает поле в целевой таблице (значения по оси "X"). По умолчанию: .F.
Свойство cOutFile | Имя выходного файла, если это требуется. По умолчанию: ""
Свойство cTitle | Титульный заголовок графика. По умолчанию: ""
Свойство lCurrRec | Определяет - Specifies будет ли сохраняться номер текущей записи, если на график выводится одна запись. По умолчанию:.F.
Свойство lAddedData | Помечает, если уже введены данные для производительност. По умолчанию: .F.
Свойство lAddLegend | Добавляет в график легенду. По умолчанию: .T.
Свойство lAddTitle | Добавляет в график титул. По умолчанию:.T.
Свойство lGraphRecord | Определяет - будет ли выводиться на график текущая запись. По умолчанию на график выводится курсор целиком. По умолчанию: .F.
Свойство lKeepForm | Определяет - будет ли использоваться подготовленная пользователем форма и элемент управления OLE. По умолчанию: .F
Свойство lSeriesByRow | Рисует серию по строкам или колонкам. По умолчанию: .T.
Свойство lShowNulls | Отображает в графике null-значения. По умолчанию: .T.
Свойство lShowWhenDone | Определяет - будет ли отображаться предпросмотр формы. По умолчанию: .T.
Свойство lUse8Type | Определяет - будет ли использоваться свойство nChartType. По умолчанию: .F.
Свойство lUseAutoformat | Использовать галерею автоматических графиков MS Graph. По умолчанию:.F.
Свойство nAction | Определяет тип действия по выводу: 0 = предпросмотр - preview 1 = сохранить в форме 2 = сохранить в таблице 3 = сохранить в запросе По умолчанию: 1
Свойство nChartAutoformat | Формат графика для автоматического форматирования. По умолчанию: 2
Свойство nChartAutoGallery | Галерея формата графика для автоматического форматирования. По умолчанию: 1
Свойство nChartSubType | Подтип графика. По умолчанию: 1
Свойство nChartType | Определяет тип графика. Допустимыми значениями являются: 1 = Area 2 = Bar 3 = Column 4 = Line 5 = Pie 6 = Doughnut 7 = Radar 8 = Scatter 9 = Area 3D 10 = Bar 3D 11 = Column 3D 12 = Line 3D 13 = Pie 3D -4102 = Pie 3D По умолчанию: 1
Свойство nGraphVersion | Используемая версия Graph. По умолчанию: 5
Свойство cDefNewField | Для внутреннего использования классом
Свойство cGraphDBF | Для внутреннего использования классом
Свойство cGraphField | Для внутреннего использования классом
Свойство cGraphFldCol | Для внутреннего использования классом
Свойство cGraphFldRow | Для внутреннего использования классом
Свойство cGraphPrevClass | Для внутреннего использования классом
Свойство cLastDataCol | Для внутреннего использования классом
Свойство cLastDataRow | Для внутреннего использования классом
Свойство cOLEServer | Для внутреннего использования классом
Свойство cOpenAlias | Для внутреннего использования классом
cOutGenField | Для внутреннего использования классом
Свойство GraphPreview | Для внутреннего использования классом
Свойство lAutograph | Для внутреннего использования классом
Свойство lDontStripLegend | Для внутреннего использования классом
Свойство lHadPreview | Для внутреннего использования классом
Свойство lReplaceDBF | Для внутреннего использования классом
Свойство lStripExcessLegend | Для внутреннего использования классом
Свойство nDataCount | Для внутреннего использования классом
Свойство nDataSeries | Для внутреннего использования классом
Свойство nLastAction | Для внутреннего использования классом
Свойство nTotalDataFlds | Для внутреннего использования классом
Свойство oGraphRef | Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Help Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Help Button
Смотрите также
CollapseAll image

Этот класс предоставляет командную кнопки, при щшелчке по которой, отображается статья справки через ее поиск с помощью HelpContextID, указанный в элементе управления.

Категория | Различные командные кнопки
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _cmdHelp
Базовый класс | CommandButton
Библиотека класса | _miscbtns.vcx
Родительский класс | _commandbutton
Образец использования | ...\Samples\Solution\Ffc\buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item выберите Add to Form (Добавить в форму). Когда вы добавляете этот класс на форму, Visual FoxPro помещает на нее командную кнопку. Вам потребуется предоставить подходящее значение для замещения значения по умолчанию для HelpContextID. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Hyperlink Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Hyperlink Button
Смотрите также
CollapseAll image

Этот класс предоставляет функциональные возможности объекта Hyperlink и запускает обозреватель Web, когда вы щелкаете по нему.

Категория | Internet
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Class | _hyperlinkcommandbutton
Базовый класс | CommandButton
Библиотека класса | _hyperlink.vcx
Родительский класс | _commandbutton
Образец использования | ...\Samples\Solution\Ffc\buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму Visual FoxPro открывает компоновщик, в котором вы можете указать имя кнопки и ввести URL, который будет использоваться при щелчке по ней. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cTarget | Указывает URL, который будет использоваться классов. По умолчанию: ""
Метод GoBack | Исполняется переход назад внутри списка посещений сайтов или ссылок. Синтаксис: GoBack( ) Возврат: нет Аргументы: нет
Метод GoForward | Исполняется переход вперед внутри списка посещений сайтов или ссылок. Синтаксис: GoForward( ) Возврат: нет Аргументы: нет
Свойство cFrame | Для внутреннего использования классом.
Свойство cHyperlinkclass | Для внутреннего использования классом.
Свойство cHyperlinkClassLibrary | Для внутреннего использования классом.
Свойство cLocation | Для внутреннего использования классом.
Свойство lFormSynch | Для внутреннего использования классом.
Свойство lHyperlinkCreated | Для внутреннего использования классом.
Свойство lNewWindow | Для внутреннего использования классом.
Свойство lVisited | Для внутреннего использования классом.
Свойство nVisitedForecolor | Для внутреннего использования классом.
Свойство oHyperlink | Для внутреннего использования классом.
Метод cTarget_assign | Для внутреннего использования классом.
Метод Follow | Для внутреннего использования классом.
Метод lVisited_assign( ) | Для внутреннего использования классом.
Метод nVisitedForecolor_assign( ) | Для внутреннего использования классом.
Метод oHyperlink_access( ) | Для внутреннего использования классом.
Метод ShowVisitedForecolor( ) | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Hyperlink Image Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Hyperlink Image
Смотрите также
CollapseAll image

Это класс предоставляет функциональность объекта Hyperlink и запускает Web обозреватель, когда вы щелкаете по картинке.

Категория | Интернет
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Class | _hyperlinkimage
Базовый класс | Image
Библиотека класса | _hyperlink.vcx
Родительский класс | _image
Образец использования | ...\Samples\Solution\Ffc\hyperlnk.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro открывает компоновщик в котором вы можете указать имя объекта картинки, адрес ресурса в виде URL, который будет использовать, имя фрейма, если ресурс представляет собой набор фреймов, а также указать, что Web обозреватель должен запускать в новом окне.

Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cTarget | Указыавает адрес ресурса - URL, который будет использоваться. По умолчанию: ""
Метод GoBack | Исполняет переход назад по списку посещений ресурсов. Синтаксис: GoBack( ) Возврат: Нет Аргументы: Нет
Метод GoForward | Исполняет переход вперед по списку посещений ресурсов.. Синтаксис: GoForward( ) Возврат: Нет Аргументы: Нет
Свойство cFrame | Для внутреннего использования классом.
Свойство cHyperlinkClass | Для внутреннего использования классом.
Свойство cHyperlinkClassLibrary | Для внутреннего использования классом.
Свойство cLocation | Для внутреннего использования классом.
Метод cTarget_assign | Для внутреннего использования классом.
Метод Follow | Для внутреннего использования классом.
Свойство lFormsSynch | Для внутреннего использования классом.
Свойство lHyperlinkcreated | Для внутреннего использования классом.
Свойство lNewWindow | Для внутреннего использования классом.
Свойство lVisited | Для внутреннего использования классом.
Свойство oHyperlink | Для внутреннего использования классом.
Метод oHyperlink_access | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Hyperlink Label Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Hyperlink Label
Смотрите также
CollapseAll image

Этот класс предоставляет функциональные возможности объекта Hyperlink и запускает Web обозреватель, когда вы выполняете щелок по метке.

Категория | Интернет
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Класс | _hyperlinklabel
Базовый класс | Label
Библиотека класса | _hyperlink.vcx
Родительский класс | _label
Образец использования | ...\Samples\Solution\Ffc\hyperlnk.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Если вы добавляете класс в форму, Visual FoxPro открывает компоновщик, в котором вы можете указать имя объекта метки, ее заголовок - caption, адрес ресурса в виде URL (в cTarget), который будет использоваться, имя фрейма, если ресурс представляет собой набор фреймов, а также указать - должен ли ресурс открываться в новом окне.

Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса на основе выбранного класса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cTarget | Указывает URL для использования. По умолчанию: ""
Метод GoBack | Исполняет переход назад внутри списка истории посещений WEB ресурсов. Синтаксис: GoBack( ) Возврат: нет Аргументы: нет
Метод GoForward | Исполняет переход вперед внутри списка истории посещений WEB ресурсов. Синтаксис: GoForward( ) Возврат: нет Аргументы: нет
Свойство cFrame | Для внутреннего использования классом.
Свойство cHyperlinkClass | Для внутреннего использования классом.
Свойство cHyperlinkClassLibrary | Для внутреннего использования классом.
Свойство cLocation | Для внутреннего использования классом.
Метод cTarget_assign | Для внутреннего использования классом.
Метод Follow | Для внутреннего использования классом.
Свойство lFormsSynch | Для внутреннего использования классом.
Свойство lHyperlinkcreated | Для внутреннего использования классом.
Свойство lNewWindow | Для внутреннего использования классом.
Свойство lVisited | Для внутреннего использования классом.
Свойство oHyperlink | Для внутреннего использования классом.
Метод oHyperlink_access | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


INI Access Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс INI Access
Смотрите также
CollapseAll image

Этот класс предоставляет набор функций реестра, которые обращаются к установкам INI-файлов старого стиля.

Категория | Системные утилиты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | oldinireg
Базовый класс | Custom
Библиотека класса | Registry.vcx
Родительский класс | registry

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на нее иконку класса. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Свойства, события, методы | Описание
Метод GetINIEntry | Извлекает информацию из входа в INI файле. Синтаксис: GetINIEntry(cValue, cSection, cEntry, cINIFile) Аргументы: cValue specifies the value to be applied to cEntry. cSection - указывает имя секции внутри .ini файла, в которой размещен cEntry. cEntry - указывает элемент присвоенный cValue. cINIFile - указывает имя .ini файла.
Метод GetINISection | Извлекает информацию из секции INI-файла. Синтаксис: GetINISection(@aSections, cSection, cINIFile) Аргументы: aSections - указывает массив cSections секции, включенной в .ini файл. cSection - указывает имя секции cINIfile , которая будет извлекаться. cINIFile - указывает имя .ini файла.
Метод LoadINIFuncs | Загружает функции Windows API, необходимые для чтения .ini файлов. Синтаксис: LoadINIFuncs( ) Возврат: Нет (Примечание переводчика. Метод, в действительности, возвращает значение константы ERROR_SUCCESS). Аргументы: Нет
Метод WriteINIEntry | Записывает в INI-файл конкретный вход. Синтаксис: WriteINIEntry(cValue, cSection, cEntry, cINIFile) Аргументы: cValue specifies the new value. cSection - указывает секцию файла cINIfile. cINIFile - указывает имя .ini файла.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Item Locator Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Item Locator
Смотрите также
CollapseAll image

Этот класс предоставляет диалоговое окно поиска файла - File Locator. Он разработан для поиска файла, который нужен вашему приложению, но оно не может его найти.

Категория | Разные формы
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _locateitem
Базовый класс | Form
Библиотека класса | _dialogs.vcx
Родительский класс | _dialog
Образец использования | ...\Samples\Solution\Ffc\dialogs.scx

Expand image Примечания

Для использования этого класса перетащите его в проект или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) или Create Form (Создать форму). Когда вы перетаскиваете файл в проект, вы можете выбрать: добавить класс, создать субкласс на основе выбранного класса или создать форму. Когда вы размещаете класс на форме, то при запуске формы Visual FoxPro отобразить диалоговое окно Open, в котором вы можете указать имя формы, затем создает ее и открывает в Form Designer (Конструкторе форм).

В свойстве cDefaultFileName укажите файл, который вы желаете заполучить. Если файл не обнаружен, объект oLocateItem открывает диалоговое окно GetFile, с помощью которого вы можете найти нужный файл.

Свойства, события, методы | Описание
Свойство cDefaultFileName | Имя искомого файла. По умолчанию: .NULL.
Свойство cFilename | Имя файла, получаемого с помощью кнопки Locate. Если файл не найден, появится диалоговое окно GetFile. По умолчанию: .NULL.
Объект oLocateItem | Объектная ссылка, содержащая возвращаемое значение для установки свойства cFileName. По умолчанию: .F.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Keywords Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Keywords Dialog Box
Смотрите также
CollapseAll image

Этот класс создает диалоговое окно, которое отображает указанный список ключевых слов, наподобие диалогового окна Component Gallery keywords (Ключевые слова галереи компоненто).

Категория | Разные формы
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _keywords
Базовый класс | Form
Библиотека класса | dialogs.vcx
Родительский класс | _dialog
Образец использования | ...\Samples\Solution\Ffc\dialogs.scx

Expand image Примечания

Для использования класса перетащите его в проект или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Create Form (Создать форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса, созданием субкласса на его основе или создания формы. Когда вы перетаскиваете класс в проект или выбираете в контекстном меню Create a new form from the selected class (Создать новую форму из выбранного класса), Visual FoxPro открывает компоновщик, с помощью которого вы можете указать имя формы, затем создает форму и открывает ее в Form Designer (Конструкторе форм).

По умолчанию, диалоговое окно использует файл таблицы галереи компонентов Keywords.dbf. Вы можете указать файл своей собственной таблицы ключевых слов в свойстве cTablename. Кроме того, вы можете предоставить набор ключевых слов в виде разделенного запятыми списка в свойстве cKeywords.

Свойства, события, методы | Описание
Свойство cKeywords | Определяет группу ключевых слов, разделенных пробелами, для поиска в таблице, указанной в свойстве cTablename. По умолчанию: ""
Свойство cTablename | Указывает имя таблицы, которая содержит ключевые слова. По умолчанию: (IIF(VERSION(2)=0,"",HOME( )+"gallery\")+"keywords.dbf"))
Объект oKeywords | Объект, которые извлекает список набора ключевых слов в свойство cKeywords. По умолчанию: .F.
Метод Apply | Оборажает ключевые слова, указанные в свойстве cKeywords, полученные из таблицы, указанной в свойстве cTablename. Синтаксис: Apply( ) Возврат: нет Аргументы: нет
Свойство lAddMode | Для внутреннего использования классом.
Свойство lUpdated | Для внутреннего использования классом.
Свойство cLastValue | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Launch Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Launch Button
Смотрите также
CollapseAll image

Эта командная кнопка запускает приложение с помощью команды RUN.

Категория | Разные командные кнопки
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _cmdLaunch
Базовый класс | CommandButton
Библиотека класса | _miscbtns.vcx
Родительский класс | _commandbutton
Образец использования | ...\Samples\Solution\Ffc\buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro открывает компоновщик, в котором вы сможете указать подходящее значение для cFileName. Когда вы перетаскиваете класс в проект, вы можете выбрать между введением в проекта класса или созданием субкласса.

Свойства, события, методы | Описание
Свойство cFileName | Определяет имя файла, который нужно запустить. По умолчанию: ""

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Locate Button Foundation Class

Visual FoxPro 9.0 Описание Языка
Кнопки Перемещения, фундаментальный класс
См. также
CollapseAll image

Представленные Командные Кнопки используются в Диалоговом боксе перемещения на требуемую Запись из Таблицы.

Категория | Запрос Данных
Каталог Размещения | <Visual_FoxPro_Catalog>\<Foundation_Classes>\Data_Query
Класс | _locatebutton
Базовый Каталог | CommandButton
Библиотека Классов | _table2.vcx
Порождающий Класс | _dialogbutton
Пример Использования | ...\Samples\Solution\Ffc\dataqry.scx

Expand image Комментарии

Для использования представленного Класса "перетащите" иконку данного класса в свой Проект или на Форму, или, используя подсистему Галерею Компонентов (Component Gallery Item), конкретно: Элемент из Контекстного Меню, выбрав подпункт Add to Form (Добавить в Форму). При размещении рассматриваемого Класса на Форме, система Visual FoxPro размещает Кнопки Класса на форме, для активации Диалогового бокса Locate (Перемещение). При размещении Класса в вашем Проекте, вы можете выбрать из двух вариантов: или добавить создаваемый Класс, или создать порождаемый ПодКласс.

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по Использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Lookup Combobox Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Lookup Combobox
Смотрите также
CollapseAll image

Этот класс производит поиск значения в поле для заполнения элемента управления combobox.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _cbolookup
Базовый класс | ComboBox
Библиотека класса | _dataquery.vcx
Родительский класс | _combobox
Образец использования | ...\Samples\Solution\Ffc\datalook2.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item, выберите Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro открывает компоновщик, так что вы можете указать подходящие значения для Lookup_table, Order_column, Display_column и Return_column. Когда вы перетаскиваете класс в проект у вас есть возможность выбора между введением класса в проект или созданием субкласса.

Свойства, события, методы | Описание
Свойство Display_column | Указывает значение колонки из Lookup_table для отображения выпадающего списка. По умолчанию: ""
Свойство Lookup_table | Указывает таблицу, в которой ищется колонка, содержащая значения для отображения в выпадающем списке. По умолчанию: ""
Свойство Return_column | Указывает значение колонки (0, 1 или 2) для возврата в свойстве Value элемента управления combo box. По умолчанию: ""
Свойство Order_column | Указывает колонку для упорядочивания записей, отображаемых в выпадающем списке (необязательно к заполнению). По умолчанию: ""

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Mail Merge Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Mail Merge Object
Смотрите также
CollapseAll image

Этот настраиваемый класс использует движок мастера Mail Merge для генерации документа Microsoft Word Mail Merge.

Категория | Автоматизация
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Automation
Класс | mailmerge
Базовый класс | Custom
Библиотека класса | mailmrge.vcx
Родительский класс | automation
Образец использования | ...\Samples\Solution\Ffc\Automate.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, укажите FROM table (cDataPath), размещение и версию Word (cExe and cWordVersion), а также прочие соответствующие значения свойств. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса на его основе.

Свойства, события, методы | Описание
Свойство aWPMrg[2,0] | Массив процедур, для обработки различных стилей объединения. По умолчанию: .F.
Свойство cDataFile | A FoxPro 2.6 copy of a Visual FoxPro 3.0 or later table. По умолчанию: ""
Свойство cDataPath | Указывает путь к таблице, указываемой в опции FROM. По умолчанию: ""
Свойство cDataSrc | Указывает источник данных для соединения ODBC. По умолчанию: ""
Свойство cDocName | Указывает имя существующего файла .doc. По умолчанию: ""
Свойство cExe | Указывает полный путь к приложению Microsoft Word. По умолчанию: ""
Свойство cODBCSource | Указывает строку соединения ODBC. По умолчанию: ""
Свойство cSaveFile | Указывает файл, для хранения объединенных данных. По умолчанию: ""
Свойство CSQLstmt | Предложение SQL для извлечения данных. По умолчанию: ""
Свойство CSQLstmt2 | Указывает дополнительное предложение SQL, елси cSQLStmt превышает по длине 255 символов (для Microsoft Word). По умолчанию: ""
Свойство cWordVersion | Указывает инсталлированную версию Microsoft Word (например, '8'). По умолчанию: ""
Свойство lAlerted | Определяет, будут ли выводится предупреждения о сбоях. По умолчанию: .F.
Свойство lEnglish | Определяет - будет ли Microsoft Word распознавать команды English Word Basic. По умолчанию: .F.
Свойство lHasVerWord | Проверяет наличие Microsoft Word. По умолчанию: .F.
Свойство nNewDoc | Указывает, будет ли использоваться новый документ (смотрите заголовочный файл Mailmrge.h). По умолчанию: 1
Свойство nTemplate | Указывает тип основного документа. Применяется только к Microfot Word. (смотрите заголовочный файл Mailmrge.h). По умолчанию: 1
Свойство nWordProc | Указывает выбранный word processor (смотрите заголовочный файл Mailmrge.h). По умолчанию: 1
Свойство SysCh | Указывает канал DDE. По умолчанию: -1
Метод CheckVer | Проверяет - используется ли версия Microsoft Word. Для внутреннего использования классом. Синтаксис: CheckVer( ) Возврат: нет Аргументы: нет
Метод GetMSW | Извлекает из реестра строку команды Microsoft Word. Синтаксис: GetMSW(m.cversion) Возврат: полный путь к Microsoft Word Аргументы: m.cversion определяет - какая версия Microsoft Word будет использоваться.
Метод MrgCommaDel | Генерирует из данных разделенный запятыми текстовый файл. Синтаксис: MrgCommaDel( ) Возврат: файл с данными, разделенными запятыми Аргументы: нет
Метод MrgWord | Определяет версию Microsoft Word, которая будет использоваться для объединения. Синтаксис: MrgWord( ) Возврат: нет Аргументы: нет
Метод MSWerr | Обработчик ошибок для использования во время работы AppleScript. Синтаксис: MSWerr( ) Возврат: нет Аргументы: нет
Метод GetSQLst | Получает предложение SQL для извлечения данных. Для внутреннего использования классом. Синтаксис: GetSQLst( ) Возврат: нет Аргументы: нет
Метод PrepData | Определяет вид источника данных, который будет использоваться для mail merge и нормализует данные для обработки. Для внутреннего использования классом. Синтаксис: PrepData( ) Возврат: нет Аргументы: нет
Метод SaveSQL | Генерирует таблицу результатов SQL. Для внутреннего использования классом. Синтаксис: SaveSQL( ) Возврат: нет Аргументы: нет
Метод WzMMData | Копирует данные в текстовый файл. Для внутреннего использования классом. Синтаксис: WzMMData( ) Возврат: нет Аргументы: нет
MakeFieldList | Для внутреннего использования классом.
MailMergeWord8 | Для внутреннего использования классом.
MailMergeWord6 | Для внутреннего использования классом.
MSWmldlg | Для внутреннего использования классом.
Startword | Для внутреннего использования классом.
MailMergeMacWord6 | Для внутреннего использования классом.
MMCleanup method | Закрывает файлы. Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Messagebox Handler Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Messagebox Handler
Смотрите также
CollapseAll image

Этот класс представляет собой простую обертку для функции MessageBox, с помощью которой вы можете легко отобразить окно вывода сообщения (message box) указанного типа с альтернативным содержанием.

Категория | Разные формы
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _msgbox
Базовый класс | Custom
Библиотека класса | _dialogs.vcx
Родительский класс | _custom

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, укажите подходящие значения для текста сообщения (cMessage), тип окна сообщения (nType), а такде прочие подходящие свойства. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cMessage | Определяет текст сообщения. По умолчанию: ""
Свойство nType | Определяет тип окна сообщения. Параметры можно посмотреть в описании функции MessageBox( ). По умолчанию: 48
Свойство cTitle | Указывает заголовок окна сообщения По умолчанию: _screen.caption
Свойство lBeep | Определяет - будет ли выдаваться звуковой сигнал при активизации окна сообщения. По умолчанию: .F.
Метод Show | Отображает окно сообщения и возвращает результат выбора пользователя. Синтаксис: Show(tcMessage, tnType, tcTitle, tlBeep) Возврат: this.Display( ) Аргументы: tcMessage определяет текст, который покажется в диалоговом окне сообщения. tnType определяет параметры кнопок и иконок, кнопку выбора по умолчанию, а также поведение окна. tcTitle определяет текст, который покажется в заголовке окна сообщения. tlBeep определяет, будет ли выводится звуковой сигнал предупреждения при отображении окна сообщения.
Метод Set | Устанавливает свойства для окна сообщения - сообщение, тип окна, заголовок и вывод звукового сигнала. Для внутреннего использования классом Синтаксис: Set(tcMessage, tnType, tcTitle, tlBeep, tnParameters) Возврат: Нет Аргументы: tcMessage определяет текст, который покажется в диалоговом окне сообщения. tnType определяет параметры кнопок и иконок, кнопку выбора по умолчанию, а также поведение окна. tcTitle определяет текст, который покажется в заголовке окна сообщения. tlBeep определяет, будет ли выводится звуковой сигнал предупреждения при отображении окна сообщения.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Microsoft Agent Utility Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс утилит Microsoft Agent
Смотрите также
CollapseAll image

Данный класс дает вам возможность доступа к процедура Microsoft Agent API, так чтобы вы смогли встроить агентов (аналогично, как это сделано в Office Assistants), такого как, например, длиннохвостого попугая Peedy в ваши приложения .

Категория | Системные утилиты
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Utilities
Class | _agent
Base Class | Custom
Class Library | _agent.vcx
Parent Class | _custom
Sample | ...\Samples\Solution\Ffc\Agent.scx

Expand image Примечания

Для использования, перетащите класс в преокт или в форму, используя Component Gallery Item, для чего выберите пункт контекстного меню Add to Project или Add to Form. Когда вы добавляете класс в форму Visual FoxPro в ней поместит иконку класса. Вы можете указать подходящие свойства и предоставить необходимые объекты ввода/вывода. Когда вы перетащите класс в проект, вы сможете выбрать межде добавлением класса или созданием субкласса на его основе.

Смотрите Указания по использованию фундаментальных классов Visual FoxPro для получения более подробной информации о фундаментальных классах, входящих в поставку Visual FoxPro.

Свойства, События, Методы | Описание
Свойство ActiveAgent | Предоставляет указатель на активный объект Agent character. Default: .F.
Свойство AgentControl | Предоставляет указатель на объект agent. Default: .F.
Свойство ErrorOccurred | Устанавливается в True (.T.) когда при загрузке агента происходит ошибка. Default: .F.
Свойство ErrorState | Всегда установлен в LOAD.
Метод GestureAt | Вызывает жест активного агента в указанной точке. Syntax: GestureAt(tnX, tnY, tnCoords, toObj) Return: .F. если нет активного агента. Arguments:tnX определяет координату x.tnY указывает координату y. tnCoords определяет, являются ли координаты локальными или world.toObj определяет ссылку на объект для преобразования LocalToWorld.
Метод Hide | Прячет активного агента. Syntax: Hide( ) Return: .F. если нет активного агента. Arguments: none
Метод Interrupt | Прерывает анимацию. Syntax: Interrupt(toRequest) Return: .F. если нет активного агента. Arguments: toRequest указывает объект воздействия метода.
Метод Load | Загружает агента из указанного местоположения (это может быть файл или URL). Syntax: Load(tcAgentName, tcAgentLocation) Return: .F. если произошла ошибка. Arguments: tcAgentName указывает имя агента.tcAgentLocation указывает файл агента.
Метод LocalToWorld | Преобразует локальные координаты в мировые координаты. Syntax: LocalToWorld(tnAxis, tnPos, toObj) Return: преобразует значение tnPos. Arguments: tnAxis указывает ось.tnPos указывает координаты оси.toObj определяет объект, относительно которого производится преобразование.
Метод MoveBy | Перемещает активного агента по направлению к указанным координатам x или y. Syntax: MoveBy(tnX, tnY, tnCoords, toObj) Return: .F. если нет активного агента. Arguments: tnX указывает координату x. tnY указывает координату y. tnCoords определяет, являются ли координаты локальными или world.toObj определяет ссылку на объект для преобразования LocalToWorld.
Метод MoveTo | Перемещает агента по умолчани, или указанного агента в определенном направлении. Syntax: MoveTo(tnX, tnY, tnCoords, toObj) Return: .F. если нет активного агента. Arguments: tnX указывает координату x. tnY указывает координату y. tnCoords определяет, являются ли координаты локальными или world.toObj определяет ссылку на объект для преобразования LocalToWorld.
Метод Play | Вызывает пригрывание анимации агента. Syntax: Play(tcAnimation) Return: .F. iесли нет активного агента или ссыли на требуемый объект. Arguments: tcAnimation определяет анимацию, которую нужно проиграть.
Метод SetActiveAgent | Устанавливает активного агента по переданному имени. Syntax: SetActiveAgent(tcAgentName) Return: .T. Если установлен ActiveAgent. Arguments: tcAgentName указывает имя агента.
Метод Show | Отображает активного агента. Syntax: Show(tnX, tnY, tnCoords, toObj) Return: .F. если нет активного агента. Arguments: tnX указывает координату x. tnY указывает координату y. tnCoords определяет, являются ли координаты локальными или world.toObj определяет ссылку на объект для преобразования LocalToWorld.
Метод Speak | Вызывает произношение агентом переданной фразы. Syntax: Speak(tcText) Return: .F. если нет активного агента или ссылки на требуемый объект. Arguments: tcText указывает текст для речи.
Метод Stop | Прекаращает циклическую анимацию. Syntax: Stop( ) Return: .F. если нет активного агента. Arguments: none
Метод Wait | Ожидает завершения запроса. Syntax: Wait(toRequest) Return: .F. если нет активного агента. Arguments: toRequest указывает запрашиваемый объект.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Указания по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Примеры использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MouseOver Effects Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс MouseOver Effects
Смотрите также
CollapseAll image

Этот класс выделяет элемент управления, когда над ним перетаскивается указатель мыши.

Категория | User Interface
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _mouseoverfx
Базовый класс | Custom
Библиотека класса | _ui.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\mousefx.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, укажите подходящие значения для выделения (iHighlightColor и nHighlightWidth), а также другие подходящие свойства, затем поместите ссылку на метод HighlightMe в событии MouseMove элемента управления, для которого вы желаете получить эффект выделения. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы Описание

Свойство nMargin

Определяет бордюр между элементом управления и рамкой выделения.

По умолчанию: 2

Свойство iShadowColor

Определяет код цвета для тени.

По умолчанию: 0

Свойство lMouseoverHost

Определяет - находится ли мышь над mousefx host.

По умолчанию: .T.

Свойство nHighlightWidth

Определяет ширину выделения.

По умолчанию: 2

Свойство iHighlightColor

Определяет код цвета для выделения.

По умолчанию: 0

Метод CancelHighlight

Использует значение lMouseoverHost для определения - имеется ли выделенный объект, требующий изменения. Устанавливает oCurrentCoolControl в .NULL. и возвращает true (.T.), когда lMouseOver указывает, что текущий элемент управления только что изменен. Ваш субкласс может проверит это возвращаемое значение или состояние lMouseOve rHost and oCurrentCoolControl для "вычитания" их собственных специальных эффектов из эффектных элементов управления в подходящие для этого моменты времени.

Синтаксис: CancelHighlight (toObject)

Возврат: lChange

Аргументы: toObject указывает объект, для которого сработало событие MouseOver. lChange определяет - был ли уже изменен текущий элемент управления.

Метод HighlightMe

Устанавливает .oCurrentCoolControl, текущий элемент управления, в объект, на каторый указывает ссылка, определенная в toObject. Возвращает true (.T.), когда он может работать, так как текущий объект только что сменился. Возвращает .F. если нет необходимости его работы, поскольку текущий объект не менялся. Ваши субклассы могут использовать свойство oCurrentCoolControl и возвращаемое значение этого метода для решения - когда они могут отработать, предоставляя другие специальные эффекты, возможно специфичные для некоторый специальных классов "текущий элементов управления".

Синтаксис: HighlightMe(toObject)

Возврат: lChange

Аргументы: toObject определяет объект, для которого наступило событие MouseOver.

lChange указывает - был ли изменен текущий элемент управления.

Свойство oCurrentCoolControl

Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Mover Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Mover
Смотрите также
CollapseAll image

Будучи помещенным в проект или в форму, этот класс предоставляет просто класс listbox перемещения с командными кнопками Move и Remove.

Категория | Movers
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _mover
Базовый класс | Container
Библиотека класса | _mover.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\movers.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на нее элементы управления класса. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство aChoices[1,0] | Массив возможных элементов выбора в левом элементе управления listbox. По умолчанию: .F.
Свойство aSelections[1,0] | Массив выбранных элементов в правом элементе управления list box. По умолчанию: .F.
Свойство UseArrays | Определяет - будут ли использоваться массивы для элементов управления listbox. По умолчанию: .T.
Метод InitChoices | Инициализирует массив элементов, которые можно будет выбирать. Синтаксис: InitChoices(@aChoices) Возврат: Нет Аргументы: aChoices определяет массив элементов, которые можно будет выбирать.
Метод InitSelections | Инициализирует массив элементов, которые будут выбраны. Синтаксис: InitSelections(@aSelections) Возврат: Нет Аргументы: aSelections определяет массив элементов, которые можно будет выбирать.
Метод GetSelections | Извлекает выбранные элементы. Синтаксис: GetSelections(@aSelections) Возврат: Нет Аргументы: aSelections определяет имя массива, содержащих выбранные элементы.
Метод PopList | Процедура для заполнения элементов управления listbox класса. Синтаксис: PopList(@aListArray, oLstRef) Возврат: Нет Аргументы: aListArray определяет элементы, которыми будет заполнен список .oLstRef представляет собой ссылку на объект элемента управления.
Свойство OldlSelectedItem | Для внутреннего использования классом
Свойство OldrSelectedItem | Для внутреннего использования классом
Свойство SortLeft | Для внутреннего использования классом
Свойство Updated | Для внутреннего использования классом
Метод SizeToContainer | Для внутреннего использования классом
Метод ValidItem | Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Navigation Shortcut Menu Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Navigation Shortcut Menu
Смотрите также
CollapseAll image

Этот класс представляет собой меню быстрого вызова, который может быть брошен на форму с элементами для общих опций навигации, сортировки и фильтрации. Вы можете вызвать этот класс из события формы RightClick.

Категория | Меню
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _navmenu
Базовый класс | Container
Библиотека класса | _table2.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro запрашивает вас о добавлении необходимого кода для внедрения меню быстрого вызова. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cClass | Указывать класс диалогового окна, содержащий меню быстрого вызова. По умолчанию: ""
Свойство cClasslib | Указывает библиотеку класса, в которой определен класс диалогового окна, содержащий меню быстрого вызова. По умолчанию: ""
Метод DoMenu | Запускает процедуру меню. Синтаксис: Domenu( ) Возврат: нет Аргументы: нет
Метод RefreshForm | Обновляет активную форму при обновлении данных. Синтаксис: RefreshForm( ) Возврат: нет Аргументы: нет
Метод DeleteRecord | Удаляет текущую запись. Синтаксис: DeleteRecord( ) Возврат: нет Аргументы: нет
Метод AddRecord | Добавляет новую запись. Синтаксис: AddRecord( ) Возврат: нет Аргументы: нет
Метод DoFilter | Отображает диалоговое окно для установка фильтра. Синтаксис: DoFilter( ) Возврат: нет Аргументы: нет
Метод DoGoto | Отображает диалоговое окно GoTo. Синтаксис: DoGoto( ) Возврат: нет Аргументы: нет
Метод DoSort | Отображает диалоговое окно Sort. Синтаксис: DoSort( ) Возврат: нет Аргументы: нет
Метод DoDialog | Отображает диалоговое окно. Синтаксис: DoDialog( ) Возврат: нет Аргументы: нет
Метод SetMenu | Указывает содержание меню с помощью кода, содержащего выражения AddMenuBar( ). Синтаксис: SetMenu( ) Возврат: нет Аргументы: нет
Метод DoFilter2 | Отображает диалоговое окно Advanced Filter. Синтаксис: DoFilter2( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Navigation Toolbar Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Navigation Toolbar
Смотрите также
CollapseAll image

Этот класс предоставляет набор навигационных кнопок и прочих элементов управления в полоске инструментов.

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _navtoolbarclass
Базовый класс | Container
Библиотека класса | _table2.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса перетащите его в проект или на форму, или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project или Add to Form. Когда вы добавляете класс в форму, Visual FoxPro автоматически создает соединения. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс или создать субкласс на его основе.

Этот класс отличается от класса навигационных кнопок тем, что предоставляет наравне с кнопками навигации предоставляет окно вывода.

Свойства, события, методы | Описание
oToolbar property | Для внутреннего использования классом.
cClassLib property | Для внутреннего использования классом.
cClass property | Для внутреннего использования классом.
nLastTop property | Для внутреннего использования классом.
nLastLeft property | Для внутреннего использования классом.
lDocked property | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Object State Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Object State
Смотрите также
CollapseAll image

Этот класс определяет состояние объекта. Он сохраняет и/или восстанавливает установки свойств объекта либо автоматически, либо при явном их задании.

Категория | Приложение
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Application
Класс | _objectstate
Базовый класс | Custom
Библиотека класса | _app.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\environ.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, предоставьте пользователю любые необходимые объекта ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс или создать субкласс на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы Описание

Свойство aProperties[1,3]

Массив в котором сохраняются или из которого восстанавливаются свойства объекта, ссылка на которых указанна в oObject.

По умолчанию: .F.

Свойство lAutomatic

Определяет - будут ли свойства объекта oObject сохраняться и восстанавливаться. Если это свойство установлено в true (.T.), объект _ObjectState будет восстанавливать все свойства, которые вы сохранили для целевого объекта, когда он был разрушен по окончании использования.

По умолчанию: .F.

oObject

Ссылка на целевой объект, чье состояние будет сохранено.

По умолчанию: .NULL.

Метод Restore

Восстанавливает значение свойства для oObject, елси изначальное значение было изменено. Если методу не послан параметр tcWhichProperty, то будут восстанавливаться все сохраненные свойства oObject. Это метод вызывается без параметров в событии _ObjectState.Destroy() когда _ObjectState.lAutomatic установлен в true (.T.).

Синтаксис: Restore(tcWhichProperty)

Возврат: tcSave

Аргументы: tcWhichProperty - указывает свойство, значение которого нужно восстановить.
tcSave - указывает значение, которое восстанавливается.

Метод Save

Сохраняет текущее значение свойства для oObject. Вы можете использовать его вместо параметра tlSave метода Set.

Синтаксис: Save(tcProperty, tcTypeValue)

Возврат: нет

Аргументы: tcProperty - указывает, какое свойство будет задейстовано.
tcTypeValue указывает значение, которое будет сохранено для свойства tcProperty.

Метод Set

Устанавливает свойство для oObject в новое значение .

Синтаксис: Set(tcProperty, tvValue, tlSave)

Возврат: нет

Аргументы: tcProperty - указывает устанавливаемое свойство.
tvValue - указывает значение для tcProperty, которое будет установлено.
tlSave - определяет - будет ли текущее значение сохранено для восстановления в дальнейшем.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ODBC Registry Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс ODBC Registry
Смотрите также
CollapseAll image

Этот класс предоставляет набор функций для работы с регистром, которые возвращают ODBC-специфичную информацию, такую как драйверы и источники данных.

Категория | Системные утилиты
Default Catalog | Visual FoxPro Catalog\Foundation Classes\Utilities
Class | _odbcreg
Base Class | Custom
Class Library | registry.vcx
Parent Class | registry
Sample | ...\Samples\Solution\WinAPI\regodbc.scx

Expand image Примечания

Для использования, перетащите класс в проект или в форму, или из контекстного меню Component Gallery Item выберите пункт Add to Project или Add to Form. Когда вы добавляете класс в форму, Visual FoxPro помещает класс на форму. Вы, затем, можете указать значения соответствующих свойств предоставить необходимые входные и выходные объекты. Когда вы перетаскиваете класс в проект, то вы можете выбрать между вводом класса и созданием субкласса.

Смотрите описание Руководства по использование фундаментальных классов Visual FoxPro для получения более детальной информации.

Свойства, события, методы | Описание
Метод LoadODBCFuncs | Загружает функции для операции с регистром ODBC . Syntax: LoadODBCFuncs( ) Return: нет Arguments: нет
Метод GetODBCDrvrs | Извлекает драйверы ODBC . Syntax: GetODBCDrvrs(@aDrvrs, lDataSources) Return: nRetVal Arguments: aDrvrs массив, определяющий по своему содержанию необходимые для извлечения драйверы. lDataSources определяет, будет ли доступ к источникам данных.
Метод EnumODBCDrvrs | Enumerates through ODBC drivers. Syntax: EnumODBCDrvrs(@aDrvrOpts, cODBCDriver) Return: aDrvrOpts, m.cSourceKey, HKEY_LOCAL_MACHINE, .F. Arguments: aDrvrOpts указывает возможные опции драйвера. cODBCDriver указывает имя драйвера.
Метод EnumODBCData | Перечисляет проходом через источники данных ODBC . Syntax: EnumODBCData(@aDrvrOpts, cDataSource) Return: aDrvrOpts, m.cSourceKey, HKEY_CURRENT_USER, .F. Arguments: aDrvrOpts указывает возможные опции драйвера. cDataSource указывает имя источника данных.

Expand image Смотрите также

Справочное руководство

Фундаменатльные классы Visual FoxPro Foundation от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Offline Switch Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Offline Switch
Смотрите также
CollapseAll image

Класс Offline switch работает в базе данных, содержащей удаленные представления. Этот класс предоставляет набор командных кнопок, которые позволяют переключаться между подключенными (online) и отключенными (offline) данными .

Категория | Редактирование данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _offline
Базовый класс | Container
Библиотека класса | _dataquery.vcx
Родительский класс | container

Expand image Примечания

Для использования класса перетащите его в проект или в форму в среде разработки,или, из контекстного меню Item (Элемент) Component Gallery (Галереи компоненов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на ней командные кнопки и открывает компоновщик, с помощью которого вы можете указать значения для свойств lUseCurrentDBC, lAllViews, lUpdateViews и lRevertOnFail. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxProдля получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cDatabase | Указывает имя базы данных, содержащей удаленные представления, которые будут переводиться в отключенное (offline) состояние. По умолчанию: .F.
Свойство cViews[1,0] | Указывает массив представлений для обработк. По умолчанию: .F.
Свойство lAllViews | Определяет - будут ли использоваться все представления, содержащиеся в базе данных. По умолчанию: .F.
Свойство lRevertOnFail | Определяет - будет ли производится откат для всех представлений в случае, когда одно из них не может быть переведено в отключенное состояние (offline). По умолчанию: .T.
Свойство lUpdateViews | Определяет - будут ли обновляться все представления при переводе их в подключенное состояние (online). По умолчанию: .T.
Свойство lUseCurrentDBC | Определяет - будет ли использоваться текущая открытая база данных. По умолчанию: .T.
Метод GoOffLine | Переводит представления, занесенные в массив c Views в отключенное состояние (offline). Синтаксис: GoOffline( ) Возврат: Нет Аргументы: Нет
Метод GoOnLine | Переводит представления, занесенные в массив c Views в подключенное состояние (online). Синтаксис: GoOnline( ) Возврат: Нет Аргументы: Нет
Метод CheckOffLine | Проверяет состояние всех представлений. Синтаксис: CheckOffline( ) Возврат: Нет Аргументы: Нет
Метод Alert | Отображает окно сообщений, содержащее текст, указанный в cMessage. Синтаксис: Alert(cMessage) Возврат: m.cMessage Аргументы: cMessage - указывает текст предупреждения, который будет выведен пользователю.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OK Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс OK Button
Смотрите также
CollapseAll image

Этот класс высвобождает форму и обновляет любые ожидающие обновления буферированные данные.

Категория | Разилчные командные кнопки
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _cmdOK
Базовый класс | CommandButton
Библиотека класса | _miscbtns.vcx
Родительский класс | _commanbutton
Образец использования | ...\Samples\Solution\Ffc\buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item выберите Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro помещает на нее командную кнопку. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Output Control Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Output Control
Смотрите также
CollapseAll image

Этот класс предоставляет элементы управления, которые запрашивают у вас параметры вывода отчетов. Используя объект Report, он, кроме того, позволяет вам выбрать - какой отчет вывести на печать.

Категория | Reporting
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output
Класс | _outputchoices
Базовый класс | Container
Библиотека класса | _reports.vcx
Родительский класс | _output
Образец использования | ...\Samples\Solution\Ffc\output.scx

Expand image Примечания

Для использования, перетащите класс в проект или на форму в среде данных или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) or Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro размещает его на ней. Вы можете предоставить пользователю любые необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс в проект или создать субкласс на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Output Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Output Dialog Box
Смотрите также
CollapseAll image

Этот класс использует объект Report для отображения диалогового окна, которое запрашивает пользователя о параметра вывода отчета.

Категория | Работа с отчетами
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output
Класс | _outputdialog
Базовый класс | Form
Библиотека класса | _reports.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\output.scx

Expand image Примечания

Для использования класса перетащите его в проект или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Create Form (Создать форму). Когда вы перетаскиваете класс в проект, вы можете выбрать между вводом класса, созданием субкласса на его основе или создания формы. Если вы выберите Create a new form (Создать новую форму), Visual FoxPro откроет конструктор, в котором вы сможете указать имя формы, затем создает и открывает форму в Form Designer (Конструкторе форм).

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации.

Свойства, события, методы | Описание
Свойство cAlias | Определяет имя источника данных для вывода. По умолчанию: ""
Свойство cDestination | Определяет список возможных направлений вывода, который изменяется динамически в зависимости от того, содержит ли значение одно из свойств cReport, cAlias или оба. По умолчанию: ""
Свойство cDisplayFontName | Определяет имя экрана отображения вывода; например, когда вы выдаете BROWSE или когда создается экземпляр класса _Showtext для отображения текста. По умолчанию: .F.
Свойство cFieldList | Указывает разделенный запятыми список полей или выражений. Это оказывает влияние только непосредственно на источники данных (BROWSEs и LISTs). По умолчанию: ""
Свойство cHTMLClass | Определяет необязательный класс HTML и библиотеку класса, посылаемые в _GENHTML. По умолчанию: ""
Свойство cHTMLStyleID | Определяет необязательный стиль HTML посылаемый в _GENHTML. По умолчанию: .F.
Свойство cReport | Определяет имя выводимого отчета или этикетки. По умолчанию: ""
Свойство cScope | Определяет допустимую для вывода область действия выражения. По умолчанию: .F.
Свойство lAddSourceNameToDropdown | Определяет - будут ли некоторые направления вывода отображаться в массиве aDestinations. По умолчанию: .F.
Свойство lPreventScopeChanges | Определяет - сможете ли вы изменить область действия вывода. По умолчанию: .F.
Свойство lPreventSourceChanges | Определяет - будут ли запрещены изменения источника для cAlias или cReport. По умолчанию: .F.
Метод cAlias_access | Для внутреннего использования классом.
Метод cAlias_assign method | Для внутреннего использования классом.
Метод cDestination_access | Для внутреннего использования классом.
Метод cDestination_assign | Для внутреннего использования классом.
Метод cDisplayFontName_access | Для внутреннего использования классом.
Метод cDisplayFontName_assign | Для внутреннего использования классом.
Метод cFieldList_access | Для внутреннего использования классом.
Метод cFieldList_assign | Для внутреннего использования классом.
Метод CheckOKButton | Для внутреннего использования классом.
Метод cHTMLClass_access | Для внутреннего использования классом.
Метод cHTMLClass_assign | Для внутреннего использования классом.
Метод cHTMLStyleID_access | Для внутреннего использования классом.
Метод cHTMLStyleID_assign | Для внутреннего использования классом.
Метод cReport_access | Для внутреннего использования классом.
Метод cReport_assign | Для внутреннего использования классом.
Метод cScope_access | Для внутреннего использования классом.
Метод cScope_assign | Для внутреннего использования классом.
Метод lAddSourceNameToDropdown_access | Для внутреннего использования классом.
Метод lAddSourceNameToDropdown_assign | Для внутреннего использования классом.
Метод lPreventScopeChanges_assign | Для внутреннего использования классом.
Метод lPreventSourceChanges_access | Для внутреннего использования классом.
Метод lPreventSourceChanges_assign | Для внутреннего использования классом.
Метод RespondToPermissionForScopeChanges | Для внутреннего использования классом.
Метод RespondToPermissionForSourceChanges | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Output Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Output Object
Смотрите также
CollapseAll image

Представляет собой объект вывода отчетов общего назначения, который предоставляет ряд опций источника и направления вывода отчетов из отчетов и этикетое или непосредственно из источника данных.

Категория | Reporting
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output
Класс | _output
Базовый класс | Container
Библиотека класса | _reports.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Ffc\output.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или , из контекстного меню Component Gallery Item (Элемента галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавит в форму). Когда вы вводите класс в форму, то Visual FoxPro размещает на ней класс. Вы затем можете указать подходящие значения свойств и предоставить любые необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных класов.

Свойства, события, методы | Описание
Свойство aDestinations[1,2] | Массив направления вывода. По умолчанию: .F.
Свойство aOptions[1,2] | Массив опций направления вывода. По умолчанию: .F.
Свойство cAlias | Указывает источник даннных, который используется для форматов вывода, которые не являются отчетами/этикетками. Это свойство устанавливается по умолчанию в текущее псевдоимя, если оно имеется. По умолчанию: ""
Свойство cDestination | Указывает список доступных направлений выводов, который изменяется динамически в зависимости от наличия значений в свойствах cReport, cAlias, то есть изменяется в случае, если одно из них или оба содержат значения. Список доступных направлений вывода хранится в массиве aDestinations. По умолчанию: "PRINTREPORT"
Свойство cDisplayFontName | Указывает экранный шрифт для вывода; например, когда вы выдаете команду BROWSE или когда создается экземпляр класса _Showtext для отображения текста. По умолчанию: Courier New
Свойство cFieldList | Указывает разделенный запятыми список полей или выражений. Воздействует непосредственно на прямые источники данных (при выдаче команд BROWSE и LIST). По умолчанию: ""
Свойство cHtmlClass | Указывает необязательный класс HTML и его библиотеку, посланную в _GENHTML. По умолчанию: ""
Свойство cHtmlstyleid | Указывает необязательный класс HTML style, посланный в _GENHTML. По умолчанию: ""
Свойство cOption | Указывает список доступных парааметров, которые динамически изменяются для согласования с текущим значением cDestination. По умолчанию: WINDEFAULT
Свойство cReport | Указывает форму отчета или этикетки, подходящую для Visual FoxPro-форматированного вывода . По умолчанию: ""
Свойство cScope | Указыавет макро-расширяемую строку, которая добавляется к команде, исполняющей реальный вывод. Она должна представлять собой допустимую область действия, такую как "FOR lExpression". По умолчанию: ""
Свойство cTextfile | Указывает имя файла для всех направлений вывода, которые выводятся на диск, что включает в себя текстовые файлы, файлы принтерных образов и экспортируемые форматы. По умолчанию: ""
Свойство cVFPPrinterName | Указывает имя текущего принтера, используемого Visual FoxPro по умолчанию, в отличие от принтера, используемого по умолчанию операционной системой Windows. По умолчанию: ""
Свойство lAddSourceNameToDropdown property | Определяет - будут ли какие-то направления вывода отображаться в массиве aDestinations. По умолчанию: .T.
Свойство lPreventSourceChanges | Предотвращает изменение источника для cAlias или cReport. По умолчанию: .F.
Метод CopyTable | Экспортирует таблицу. Синтаксис: CopyTable( ) Возврат: нет Аргументы: нет
Метод GenHTML | Генерирует HTML код вызовом программы Genhtml.prg. Синтаксис: GenHTML( ) Возврат: нет Аргументы: нет
Метод Output | Указывает основной метод, который вызывает для генерации вывода, основанного на установках. Синтаксис: Output(liSelect) Возврат: нет Аргументы: liSelect указывает направление вывода.
Метод OutputToScreen | Вывод на экран. Синтаксис: OutputToScreen( ) Возврат: нет Аргументы: нет
Метод SetDestinations | Оценивает текущую среду для заполнения массива направлений вывода. Синтаксис: SetDestinations( ) Возврат: lSuccess Аргументы: нет
Метод SetOptions | Оценивает текущую среду для заполнения массива опций для направлений вывода. Синтаксис: SetOptions( ) Возврат: lSuccess Аргументы: нет
Метод cAlias_assign | Для внутреннего использования классом.
Метод cDestination_assign | Для внутреннего использования классом.
Метод cDisplayFontName_assign | Для внутреннего использования классом.
Метод cOption_assign | Для внутреннего использования классом.
Метод cReport_assign | Для внутреннего использования классом.
Метод cScope_assign | Для внутреннего использования классом.
Метод cVFPPrinterName_access | Для внутреннего использования классом.
Метод lPreventSourceChanges_assign | Для внутреннего использования классом.
Метод PrintList | Для внутреннего использования классом.
Метод PrintReport | Для внутреннего использования классом.
Метод SetOutputPrinter | Для внутреннего использования классом.
Метод SetVFPPrinter | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Password Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Password Dialog Box
Смотрите также
CollapseAll image

Этот класс представляет собой диалоговое окно регистрации с паролем для ваших приложений.

Категория | Разные формы
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _login
Базовый класс | Form
Библиотека класса | _dialogs.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\dialogs.scx

Expand image Примечания

Для использования класса перетащите его в проект или , или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Create Form (Создать форму) или Add to Project (Добавить в проект). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс, создать субкласс на его основе или создать форму. Если вы выбираете Create a new form from the selected class (Создать новую форму на основе выбранного класса), Visual FoxPro открывает компоновщик с тем, чтобы вы смогли указать имя формы регистрации входа, затем создает и открывает форму в Form Designer (Конструкторе форм).

Свойства, события, методы | Описание
Свойство cAlias | Определяет псевдоимя таблицы паролей. По умолчанию: ""
Свойство cFieldName | Определяет имя поля, содержащего имя пользователя. По умолчанию: ""
Свойство cPassword | Определяет имя поля, содержащего пароль пользователя. По умолчанию: ""
Свойство cTable | Определяет имя таблицы, содержащей информацию об имени и пароле пользователя. По умолчанию: ""

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Pool Manager Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Pool Manager
Смотрите также
CollapseAll image

Фундаментальный класс Pool Manager управляет пулом, или коллекцией, объектов из одного класса. Когда вам требуется многократно и краткосрочно использовать объект, используйте класс Pool Manager.

Категория | Информация класса
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Application
Класс | _poolmanager
Базовый класс | Custom
Библиотека класса | _poolmanager.vcx
Родительский класс | Custom
Образец использования | ...\Samples\Solution\Ffc\_PoolManager.scx

Expand image Примечания

С этим классом лучше работать тогда, когда создание экземпляра объекта требует большего времени, чем получение уже существующего экзепляра. В общем случае это справедливо по отношению к перечисленным ниже типам классов:

  • "Тяжелые" классы наподобие класса Visual FoxPro - Form.

  • Классы, которые содержат в событии Init код, интенсивно использующий ресурсы системы.

  • Классы, которые используют внешние ресурсы, такие как соединения с базами данных, сервера автоматизации или XML Web сервисы.

Вы можете добавить класс Pool Manager в дизайнерах форм или классов из Toolbox или ввести его в проект. Когда вы добавляете класс проект, то у вас есть возможность выбора между добавлением его в проект или созданием на его сонове субкласса.

Для хранения объектных ссылок класс Pool Manager использует базовый класс Visual FoxPro Collection. Для получения более подробной информации смотрите описание Класс Collection.

Для получения более подробной информации об использовании фундаментальных классов смотрите Руководство по использованию фундаментальных классов Visual FoxPro.

Свойства, события, методы Описание

Свойство cClass

Имя класса, используемого пулом. Вы, кроме того, можете установить это свойство посылкой его в качестве первого параметра при создании объекта класса pool manager.

По умолчанию: Нет

Свойство cClassLibrary

Библиотека, которая содержит класс, используемый в пуле. Свойство cClassLibrary может указывать на библиотеку визуальных классов или программный файл.

Вы можете изменить это свойство послав значение в качестве второго параметра при создании объекта класса pool manager.

По умолчанию: Нет

Свойство lRaiseEvent

Если установлено в True (.T.), то вызывает срабатывание событий ObjectRequested и ObjectReturned. Если вам для увеличения производительности не требуются эти методы, установите его в False (.F.).

По умолчанию: .T.

Свойство nObjectsCreated

Увеличивается каждый раз при создании объекта.

По умолчанию: 0

Метод Get

Возвращает объектую ссылку на объект, размещенный в пуле. Все параметры посылаются событию Init вновь создавамого объекта и событию ObjectRequested.

Syntax: Get( Param1, Param2, ...)

Return: Объект

Arguments: параметры должны посылать по значению; массивы не могут быть посланы объекту в пуле.

Метод Free

Возвращает объект в пул, делая возможным следующий вызов метода Get.

Синтаксис: Free(@oObject)

Возврат: Нет

Аргументы: oObject представляет собой объектную ссылку на объект, ранее полученный из метода Get. Объект может быть передан по ссылке.

Событие ObjectRequested

Срабатывает, когда запрашивается объект.

Вы можете использовать это событие для инициализации объекта, на основе текущих параметров. Когда объект в пуле связан с этим событием, то событие срабатывает для каждого объекта, не только для самого объекта.

Синтаксис: ObjectRequested( oObject, Param1, Param2, ...)

Возврат: Нет

Аргументы: oObject представляет собой ссылку на объект в пуле, который возвращается вызывающему. Все параметры из метода Get посылаются этому событию в виде дополнительных параметров.

Событие ObjectReturned

Срабатывает, когда объект возвращается в пул, вызовом метода Free. Когда объект в пуле связан с этим событием, то событие срабатывает для каждого объекта.

Синтаксис: ObjectReturned(oObject)

Возврат: Нет

Аргументы: oObject представляет собой ссылку на объект в пуле.

Expand image Смотрите также

Задачи

Образец использования класса Pool Manager

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Pivot Table Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Pivot Table
Смотрите также
CollapseAll image

Этот класс, на базе класса Custom, использует движок мастера PivotTable для генерации сводной таблицы типа "Excel pivot table" из данных FoxPro.

Категория | Автоматизация
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Automation
Класс | pivottable
Базовый класс | Custom
Библиотека класса | pivtable.vcx
Родительский класс | automation
Образец использования | ...\Samples\Solution\Ffc\Automate.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму в среду данных, Visual FoxPro открывает компоновщик, с помощью которого вы можете указать значения свойств cPivFldCol, cP ivFldRow, cPivFldPage, cPivFldData, lHasColumnTotals и lHasRowTotals. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс или создать субкласс на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство CheckState | Определяет - будет проверяться состояние Microsoft Excel через процедуру обработки ошибок. По умолчанию: .F.
Свойство cOutfile | Определяет имя файла вывода результата. По умолчанию: ""
Свойство cPivFldCol | Определяет имя поля, которое определяет каждую колонку сводной таблицы. По умолчанию: ""
Свойство cPivFldData | Определяет имя поля, определяемого как поле данных сводной таблицы. По умолчанию: ""
Свойство cPivFldPage | Определяет имя поля, определяющего страницы сводной таблицы. По умолчанию: ""
Свойство cPivFldRow | Определяет имя поля, чьи значения идентифицируют каждую строку сводной таблицы. По умолчанию: ""
Свойство lHasColumnTotals | Определяет - будут ли выводится колонки подсчета итогов - "total". По умолчанию: .F.
Свойство lHasRowTotals | Определяет - будут ли выводится строки подсчета итогов. По умолчанию: .F.
Свойство nAction | Определяет совершаемое действие по выводу. Действие по выводу: 1 = Microsoft Excel worksheet По умолчанию: 1
Метод GetXLPath | Запрашивает реестр операционной системы на определение наличия Microsoft Excel. Синтаксис: GetXLPath( ) Возврат: нет Аргументы: нет
Метод MSQueryCheck | Запрашивает реестр операционной системы на определение наличия MS Query. Синтаксис: MSQueryCheck( ) Возврат: нет Аргументы: нет
Метод PivotOutput | Создает вывод "Microsoft Excel pivot table". Синтаксис: PivotOutput( ) Возврат: нет Аргументы: нет
Свойство aFldList[1,1] | Для внутреннего использования классом.
Свойство cFormName | Для внутреннего использования классом.
Свойство cFormSCX | Для внутреннего использования классом.
Метод CheckFldLen | Для внутреннего использования классом.
Метод GetDOSName | Для внутреннего использования классом.
Свойство lHasMSQry32 | Для внутреннего использования классом.
Свойство lHasNoTask | Для внутреннего использования классом.
Свойство lIsNumeric | Для внутреннего использования классом.
Свойство SkipError | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Preview Report Foundation Class

Visual FoxPro 9.0 Описание Языка Программирования
Фундаментальный Класс Предварительного Просмотра Отчета
Смотри также

Данный класс предоставляет кнопку, запускающую отчет с помощью класса Output dialog box (Диалог Ввода/Вывода).

Класс | Misc Buttons (Прочие кнопки)
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _cmdRunReport
Базовый класс | CommandButton
Библиотека классов | _miscbtns.vcx
Родительский класс | _commandbutton
Пример | ...\Samples\Solution\Ffc\buttons.scx

Замечания

Чтобы использовать, перетяните мышкой указанный класс в проект или на форму, или в контекстном меню (по щелчку правой кнопки мышки) Галереи Компонентов (Component Gallery) выберите Add to Form. После чего, Visual FoxPro запустит Построитель (builder) и, таким образом, вы сможете определить свойства кнопки cFileName и lSetCaption. Если вы перетянули класс в проект, то появится диалоговое окно, где вы можете выбрать либо добавить класс либо создать подкласс.

Для дальнейшей информации, как пользоваться фундаментальными классами, смотри Руководство по Использованию Фундаментальных Классов Visual FoxPro.

Свойства, События, Методы | Описание
cDialogClass свойство | Определяет класс диалога ввода/вывода. По умолчанию: _OutputDialog
cDialogClasslib свойство | Определяет библиотеку класса диалога ввода/вывода. По умолчанию: (IIF(VERSION(2)=0,"",HOME( )+"FFC\")+"_REPORTS.VCX"))
cFilename свойство | Определяет имя запускаемого файла отчета. По умолчанию: ""
cOutputDialogAlias свойство | Определяет псевдоимя (алиас) диалогового окна ввода/вывода. По умолчанию: ""
lOutputDialogPreventScope свойство | Определяет запрет на изменение области действия отчета в диалоговом окне. По умолчанию: .F.
lOutputDialogPreventSource свойство | Определяет запрет на замену отчета в диалоговом окне. По умолчанию: .F.
lPromptForReport свойство | Определяет, запрашивать ли имя файла отчета. По умолчанию: .T.
lSetCaption свойство | Определяет, заменять ли автоматически текст на кнопке значением свойства cFilename - именем файла репорта. По умолчанию: .T.
lUseOutputDialog свойство | Определяет, показывать ли диалоговое окно ввода/вывода. По умолчанию:.T.
ShowOutputDialog метод | Запускает диалог ввода/вывода. Синтаксис: ShowOutputDialog( ) Возвращает результат: нет Параметры: нет

Смотри также

Другие источники

Руководство по использованию Фундаментальных Классов Visual FoxPro
Фундаментальные Классы Visual FoxPro A-Я
Примеры Фундаментальных Классов Visual FoxPro
Диалоговое окно Ввода/Вывода

Отправить комментарии по данной статье в Microsoft. © Microsoft Corporation. Все права защищены.


QBF Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс QBF
Смотрите также
CollapseAll image

Этот класс предоставляет набор командных кнопок для осуществления запросов Query-By-Form.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _qbf
Базовый класс | Container
Библиотека класса | _dataquery.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Forms\qbf.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на ней командные кнопки QBF. Вы можете указать подходяющие случаю значения свойств и ввести необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, вы можете выбрать между введением в проекта класса или созданием субкласса.

Свойства, события, методы | Описание
QBF_Table property | Указывает таблицу, на которой исполняется запрос. По умолчанию: ""
ParseCondition( )method | Определяет фильтр на основе запроса. Синтаксис: ParseCondition(cCondition, cControlSource) Возврат: lcRetCondition Аргументы: cControlSource определяет привязку данных к элементу управления.cCondition определяет выражение запроса.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Registry Access Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Registry Access
Смотрите также
CollapseAll image

Этот класс предоставляет доступ к информации в регистре Windows.

Категория | Системные утилиты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | registry
Базовый класс | Custom
Библиотека класса | registry.vcx
Родительский класс | registry
Образец использования | ...\Samples\Solution\WinAPI\regfox.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму Visual FoxPro помещает на нее экземпляр класса. Вы можете затем указать подходящие случае значения свойств и ввести необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Метод CloseKey | Закрывает ключ регистра. Синтаксис: CloseKey( ) Возврат: нет Аргументы: нет
Метод DeleteKey | Удаляет ключ регистра. Синтаксис: DeleteKey(nUserKey, cKeyPath) Возврат: нет Аргументы: nUserKey указывает ключ Registry User. cKeyPath указывает путь к ключу регистра.
Метод DeleteKeyValue | Удаляет значение из ключа регистра. Синтаксис: DeleteKeyValue(cOptName, cKeyPath, nUserKey) Возврат: нет Аргументы: cOptName указывает имя параметра ключа регистра. cKeyPath указывает путь к ключу регистра.nUserKey указывает ключ User.
Метод EnumKeys | Проход через ключ регистра. Синтаксис: EnumKeys(@aKeyNames) Возврат: нет Аргументы: aKeyNames указывает ключ регистра для прохода.
Метод EnumKeyValues | Проход через значения ключа регистра. Синтаксис: EnumKeyValues(@aKeyValues) Возврат: нет Аргументы: aKeyValues указывает значения ключа User регистра для прохода.
Метод EnumOptions | Проход через все входы ключа и заполняет значениями массив. Синтаксис: EnumOptions(@aRegOpts, cOptPath, nUserKey, lEnumKeys) Возврат: нет Аргументы: aRegOpts указывает параметр ключа регистра. cOptPath указывает путь к параметру ключа регистра. nUserKey указывает ID ключа User. lEnumKeys определяет - будет ли осуществлен проход через параметры, если они существуют.
Метод GetKeyValue | Возвращает значение ключа. Синтаксис: GetKeyValue(cValueName, cKeyValue) Возврат: нет Аргументы: cValueName указывает имя значения для извлечения. cKeyValue указывает значение cValueName.
Метод GetRegKey | Возвращает установку ключ . Синтаксис: GetRegKey(cOptName, cOptVal, cKeyPath, nUserKey) Возврат: нет Аргументы: cOptName указывает имя параметра ключа регистра. cOptVal указывает значение, которое будет применено к параметру.cKeyPath указывает путь к ключу регистра. nUserKey указывает ключ User.
Метод IsKey | Возвращает значение, определяющее - существует ли ключ?. Синтаксис: IsKey(cKeyName, nRegKey) Возврат: нет Аргументы: cKeyName указывает имя проверяемого ключа, в существовании которого нужно убедиться. nRegKey указывает идентификатор ID ключа регистра
Метод OpenKey | Открывает ключ регистра. Синтаксис: Open(cLookUpKey, nRegKey, lCreateKey) Возврат: нет Аргументы: cLookUpKey указывает имя ключа пользователя для поиска. nRegKey указывает идентификатор ID ключа регистра.lCreateKey определяет - будет ли создаваться новый ключ регистра, если указанный в методе не существует.
Метод SetKeyValue | Устанавливает значение ключа регистра. Синтаксис: SetKeyValue(cValueName, cValue) Возврат: нет Аргументы: cValueName указывает имя устанавливаемого значения. cValue указывает значение, которое будет применено к cValueName.
Метод SetRegKey | Устанавливает установки ключа регистра. Синтаксис: SetRegKey(cOptName, cOptVal, cKeyPath, nUserKey) Возврат: нет Аргументы: cOptName указывает имя параметра ключа регистра. cOptVal указывает значение, которое будет применено к параметру. cKeyPath указывает путь к ключу регистра. nUserKey указывает идентификатор ID ключа User регистра.
Свойство cAppPathKey | Для внутреннего использования классом.
Свойство cIniDllFile | Для внутреннего использования классом.
Свойство cODBCDllFile | Для внутреннего использования классом.
Свойство cRegDllFile | Для внутреннего использования классом.
Свойство cVfpOptPath | Для внутреннего использования классом.
Свойство lCreateKey | Для внутреннего использования классом.
Свойство lHadError | Для внутреннего использования классом.
Свойство lLoaddedDlls | Для внутреннего использования классом.
Свойство lLoadedInis | Для внутреннего использования классом.
Свойство lLoadedOdbcs | Для внутреннего использования классом.
Свойство nCurrentKey | Для внутреннего использования классом.
Свойство nCurrentOS | Для внутреннего использования классом.
Свойство nUserKey | Для внутреннего использования классом.
Метод LoadRegFuncs | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Regular Expressions Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Regular Expressions
Смотрите также
CollapseAll image

Regular expressions - регулярные выражения представляют собой краткую и гибкую запись для поиска и замещения шаблонов текста. Класс Regular Expressions предоставляет вам доступ к процедурам для использования регулярных выражений в ваших приложениях.

Категория | Системные утилиты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _regexp
Базовый класс | Custom
Библиотека класса | _regexp.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\Regexp.scx

Expand image Примечания

В поставку включен образец Search Text Using Regular Expressions, с помощью которого вы сможете ознакомиться с работой класа. Или обратитесь к материалам на сайте MSDN для получения более подробной информации о регулярных выражениях.

Для использования класса Regular Expressions перетащите его в проект или в форму, или, из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает его иконку на форме. Поскольку класс не является визуальным вам не нужно беспокоиться о его точном размещении. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Свойства, события, методы | Описание
Массив Matches | Указывает на массив, содержащий результат теста применения к строке. По умолчанию: .F.
Свойство Pattern | Создает шаблон (регулярное выражение). По умолчанию: *
Метод Clear | Очищает все значения. Синтаксис: Clear( ) Возврат: Нет Аргументы:
Метод Execute | Тестирует шаблон на строке. Синтаксис: Execute(tcStr, tlCaseMatters) Возврат: number of matches Аргументы: tcStr - указывает строку, к которой будет применяться шаблон. tlCaseMatters - определяет - нужно ли игнорировать регистр символов.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ReportListener Foundation Classes

Фундаментальный класс ReportListener
Смотрите также

Visual FoxPro 9 Report System включает в себя ряд новых возможностей, разработанных для расширения системы, включая новый базовый класс ReportListener. Когда вы используете классы на основе ReportListener, Visual FoxPro Report Engine исполняет ваши команды REPORT FORM или LABEL FORM в новом, объектно-ассистированном режиме.

Классы в библиотеке фундаментальных классов _REPORTLISTENER.vcx являются витриной этих новых возможностей и обеспечивают легкий доступ к классам, производным от классов ReportListener, поставляемых с приложение Report Output Application.

Классы, основанные на ReportListener в этой библиотеке классов идентичны классам, встроенным в приложение Report Output Application. Однако, они не связаны с REPORTOUTPUT.APP. Когда вы желаете усилить эти классы в приложениях, вы моежте включить библиотеку классов _REPORTLISTENER.vcx из папки Foundation Class (FFC) в ваш проект и вы будете гарантированы, что вы имеете все необходимые файлы.

Note Совет

Некоторые из классов в этой библиотеке используют вспомогательные классы, которые вы найдете в сопровождающей библиотеке _FRXCURSOR.vcx, также размещенной в папке фундаментальных классов. Когда вы встраиваете библиотеку _REPORTLISTENER.vcx в ваше приложение, Project Manager примет во внимание сслыку на библиотеку классов _FRXCURSOR и автоматически включит в проект требуемые файлы.

В этом разделе

Класс | Описание
Базовый фундаментальный класс ReportListener | Этот класс, _ReportListener, подается как суперкласс для прочих классов в _REPORTLISTENER.vcx, и обеспечивает центральные сервисы, схожие с суперклассами для других базовых классов Visual FoxPro, доступных в _BASE.vcx.
Фундаментальный класс ReportListener Utility и File-handling | Класс UtilityReportListener обеспечивает опции run-time конфигурации и обработки файлов.
Фундаментальный класс ReportListener User Feedback | Класс UpdateListener class обеспечивает обратную связь с пользователем во время исполнения отчета. Приложение Report Output Application использует UpdateListener как свой назначенный по умолчанию класс ReportListener для вывода на печать и для вывода на предпросмотр (ListenerType значения 0 и 1).
Фундаментальный класс ReportListener XML | Класс XmlListener обеспечивает вывод XML из запущенного отчета. Приложение Report Output Application использует XmlListener как свой назначенный по умолчанию класс ReportListener для вывода отчета в формате XML (ListenerType значение 4).
Фундаментальный класс ReportListener XML Display-Style | XmlDisplayListener настраивает XML установки XmlListener'а в соответствии с нуждами вывода представления и добавляет вфнкциональность image-file-publishing.
Фундаментальный класс ReportListener HTML | HtmlListener HtmlListener применяет пользовательские спецификации для производства HTML к выводу XML oбъектом XmlDisplayListener. Приложение Report Output Application использует HtmlListener как свой назначенный по умолчанию класс ReportListener для вывода отчета в HTML формате (ListenerType value 5).
Фундаментальный класс ReportListener Debug | Класс DebugListener обеспечивает отладочный вывод для оказания помощи разработчику в понимании что происходит во время запуска объектно-ассистированного отчета.

Связанные разделы

Расширение функциональности системы производства отчетов в Visual FoxPro

Понимание приложения Report Output Application

Использование VFP Report Output XML

Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Genhtml.prg
Фундаментальный класс FRX Cursor
Фундаментальный класс FRX Device Helper

Концепции

Руководства по применению фундаментальных классов Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ReportListener Base Foundation Class

Visual FoxPro 9.0
Базовый фундаментальный класс ReportListener
Смотрите Также Пример

Класс _ReportListener служит в клачестве родительского класса для других классов из библиотеки _REPORTLISTENER.VCX, аналогично родительским классам для других Visual FoxPro базовых классов доступных в _BASE.VCX.

Категория | Описание
Папка по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\Report Listeners
Класс | _ReportListener
Базовый Класс | ReportListener
Библиотека Классов | _REPORTLISTENER.vcx
Родительский Класс | ReportListener (см. Объект ReportListener)

Примечание

_ReportListener добавляет обработку ошибок аналогично классам _BASE и включает в себя другие программные функциональности, соответствующие назначению ReportListener, такие как как содействие механизму отчетов во время выполнения команд REPORT FORM или LABEL FORM.

Данные функциональности включают в себя:

  • Управление сессией данных (DataSession). Составление отчетов под управлением объекта требует возможного манипулирования несколькими различными дата сессиями.

  • Определение состояния отчета. _ReportListener дает возможность подчиненному классу определить, надежно ли выполнение определенных действий в данный момент. Например, во печати отчета, небезопасно переключаться на другой принтер.

  • Последовательность обязательств. _ReportListener обеспечивает выполнение принципа Последовательности Обязательств, известный как правопреемничество, что допускает множественные форматы вывода во время работы отчета.

  • Управление отчетами со сложной структурой. Вы можете истпользовать _ReportListener как объектно-ориентированную оболочку для последовательности команд REPORT FORM идущих одна за другой.

В следующей таблице перечислены общедоступные свойства и методы, добавленные данным классом к его родительскому классу - ReportListener.

Свойства и Методы Описание

addReport Метод

Добавляет имя файла отчета в последовательность выполняемых отчетов, по желанию можете задать операторы команды REPORT FORM и приемник ReportListener для определенного отчета.

Синтаксис: addReport(cFRXName [, cClauses[, toListener]])

Возвращаемое значетое: Нет

Параметры:

cFRXName - имя обрабатымаемого отчета или этикетки.

cClauses - необязательные операторы для запуска отчета, включая scope, range и инструкции управления окном.

oListener - необязательная ссылка, добавляется приемником отчета _ReportListener, когда выполняется данный отчет.

appName Свойство

Хранит название приложения для обратной связи с пользователем.

По умолчанию "VFP Report Listener"

Примачание: Смотри REPORTLISTENERS_LOCS.H, который предоставляет настраиваемые значения присваиваемые данному свойству в методе класса Init. Подчиненные классы из библиотеки _REPORTLISTENERS.vcx подменяют эти настройки дополнительными #DEFINED значениями из REPORTLISTENERS_LOCS.H.

clearErrors Метод

Сбрасывает состяние ошибки класса.

Синтаксис: clearErrors()

Возвращаемое значение: Нет

Параметры: Нет

Примечание: Некоторые подклассы могут не работать нормально, после того как запуск отчета аварийно завершился. Данный метод полезен для восстановления состояния _ReportListener перед последующим запуском отчета.

getLastErrorMessage Метод

Предоставляет информацию о последней ошибке.

Синтаксис: getLastErrorMessage()

Возвращаемое значение: символьное сообшение об ошибке.

Параметры: Нет.

isSuccessor Свойство

Показывает, является ли данный приемник отчета (ReportListener) связанным с другими приемниками, чтобы обеспечить вывод во время запуска отчета. Если - .T., то в операторе OBJECT команды REPORT FORM не было ссылки на данный ReportListener.

По умолчанию .F.

lIgnoreErrors Свойство

Флаг, определяющий как данный класс будет реагировать на последующие ошибки.

По умолчанию .F.

Примечание: Данное свойство гарантирует, чтобы _ReportListener и его подклассы следовали _BASE модели обработки ошибок.

prepareErrorMessage Метод

Формирует сообщение об ошибке (nError, cMethod, nLine, cName, cMessage, cCodeLine) в одну строку для передачи пользователю.

Систаксис: prepareErrorMessage(nError, cMethod, nLine, cName, cMessage, cCodeLine)

Возвращаемое значение: символьное сообшение об ошибке.

Параметры:

Вы можете извлечь все параметры для этого метода, кроме cName, с помощью стандартных функций Visual FoxPro обработки ошибок или равнозначных свойств объекта Класс Exception (Visual FoxPro). Параметр cName представляет имя, которое вы хотели бы разместить в сообщении об ошибке как идентификатор вашего приложения.

Например:

Скопировать Код
LOCAL oListener, oError
oListener = ;
NEWOBJECT("_ReportListener", ;
   "_REPORTLISTENER")
TRY
 * … здесь выполнение некоторых камманд
CATCH TO oError
   IF NOT (ISNULL(oError))
      oListener.DoMessage(;
        oListener.PrepareErrorMessage(;
            oListener.ErrorNo, ;
            oListener.Procedure, ;
            oListener.LineNo, ;
            "My application", ;
            oError.Message, ;
            oError.LineContents))
   ENDIF
FINALLY
   * ... продолжение программы
ENDTRY

removeReports Метод

Удалить из последовательности имя файла отчета, а также соответствующие операторы и ссылку на приемник отчетов (ReportListener).

Синтаксис: removeReports()

Возвращаемое значение: Нет

Параметры: Нет.

reportUsesPrivateDataSession Свойство

Флаг, показывающий использует ли отчет ту же дата сессию, из которой был вызван, или устанавливает частную дата сессию (private data session).

По умолчанию .F.

runReports Метод

Выполняет последовательность команд REPORT FORM в соответствии с указанными именами файлов отчетов, их операторами и их приемниками из внутренней последовательности отчетов. По выбору, очищает последовательности после выполнения и/или выполняет команду REPORT FORM без ссылки OBJECT.

Синтаксис:.runReports([lRemoveReportsAfterRun[, lOmitListenerReferences]])

Возвращаемое значение: Нет

Параметры:

lRemoveReportsAfterRun определяет, очищать ли очередь отчетов после того, как метод runReports отработал последовательность команд REPORT FORM.

lOmitReferences определяет, использовать ли данному методу ссылку OBJECT при выполнении каждой команды REPORT FORM.

Примечение: Если вы задали второй параметр равным .T., то ссылки на приемник отчетов (ReportListener) в каждой команде REPORT FORM будут игнорироваться. Однако, это не означает, что ваши отчеты будут запускаться без содействия приемника отчетов. Если вы задали команду SET REPORTBEHAVIOR 90 до использования метода, то механизм отчетов все-таки получит ссылку на ReportListener соответствующей формы вывода отчета и добавит ее в вашу команду REPORT FORM. Вы можете указать OBJECT оператор для одной или более команд REPORT FORM, когда вы добавляете эти команды в последовательность отчетов приемника.

Если вы определили tlOmitReferences как .F., то _ReportListener проверяет каждую REPORT FORM команду перед тем как выполнить ее, чтобы узнать, включили ли вы оператор OBJECT в команду. Если да, то ваш оператор OBJECT вступает в силу; ReportListener определенный вами будет используемой объектной ссылкой для данной команды.

Если вы не включили оператор OBJECT, то _ReportListener добавит данную ссылку к вашей REPORT FORM команде, если это необходимо.

Если вы не определили ReportListener, когда добавляли отчет, и задали параметр lOmitReferences ранным .F., то _ReportListener добавит ссылку на себя самого в операторе OBJECT <ссылка> команды REPORT FORM.

setSuccessorDynamicProperties Метод

Предоставляет код, устанавливающий некоторые свойства, которые совместно используются последовательностью отчетов. Тем самым обеспечивается приемственность измененных свойств для передачи от предшествующего отчета в последующий.

Синтаксис: setSuccessorDynamicProperties()

Возвращаемое значение: Нет

Параметры: Нет.

Примечания: Этот метод не является частью базового класса ReportListener.

sharedGdiplusGraphics Свойство

Изменяемое свойство, где хранится копия дескриптора графического объекта GDIPlusGraphics, которое приемник отчетов может совместно использовать с последовательностью отчетов.

По умолчанию 0

sharedOutputPageCount Свойство

Изменяемое свойство, где хранится копия свойства OutputPageCount - количество страниц вывода, которое приемник отчетов может совместно использовать с последовательностью отчетов.

По умолчанию 0

sharedPageHeight Свойство

Информация для совместного пользования последовательностью приемников отчетов, полученная методом GetPageHeight.

По умолчанию 0

sharedPageNo Свойство

Изменяемое свойство, где храниться копия свойства PageNo - номер страницы, которое приемник отчетов может совместно использовать с последовательностью отчетов.

По умолчанию 0

sharedPageTotal Свойство

Изменяемое свойство, где хранится копия свойства PageTotal - количество страниц, которое приемник отчетов может совместно использовать с последовательностью отчетов.

По умолчанию 0

sharedPageWidth Свойство

Информация для совместного пользования последовательностью приемников отчетов, полученная методом GetPageWidth

По умолчанию 0

successor Свойство

Хранит объектную ссылку на следующий приемник отчетов (ReportListener) в последовательности.

По умолчанию .NULL.

Примечание: Смотрите статью о классе UpdateListener (Фундаментальный класс ReportListener User Feedback) для примера использования приемника отчета в последовательности.

Пример

Ниже приведенный код демонстрирует, как вы можете использовать класс _ReportListener для управления набором команд REPORT FORM. Класс XmlListener является подклассом _ReportListener, т.е. он тоже может использовать все его возможности. В данном примере вы объединяете два отчета вместе и генерируете один XML документ.
Скопировать Код
LOCAL ox
ox = NEWOBJECT("XmlListener","_ReportListener")
ox.AddReport(GETFILE("frx"),"NOPAGEEJECT")
ox.AddReport(GETFILE("frx")
ox.RunReports(.T.)

Смотрите Также

Ссылки

Объект ReportListener

Прочие ресурсы

Руководство по использованию фундаментальных классов Visual FoxPro
Фундаментальные Классы от А до Я

Послать Ваши комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


ReportListener HTML Foundation Class

Visual FoxPro 9.0
Фундаментальный Класс ReportListener HTML
Смотрите Также Пример

HtmlListener реализует в приложениях вывода отчетов значение по умолчанию для ListenerType - 5 (HTML вывод) и для программы Genhml.prg - формат HTML, как формат по умолчанию, для файлов отчета и этикеток (таблицы с расширением frx и lbx).

Категория | Описание
Категория по умолчанию | Visual FoxPro Catalog\Foundation Classes\Output\Report Listeners
Класс | HtmlListener
Базовый класс | ReportListener
Библиотека классов | _REPORTLISTENER.vcx
Родительский класс | XmlDisplayListener (см. Фундаментальный Класс ReportListener XML Display-Style)

Замечание

HtmlListener усиливает возможности XmlListener, применяя XSLT трансформацию документа к базовому VFP XML формату автоматически по окончанию обработки отчета. Для дальнейшей информации по возможностям обработки XSLT в XmlListener, смотрите Фундаментальный класс ReportListener XML.

HtmlListener пополняет свойства и методы своего родительского класса - XmlDisplayListener. Он устанавливает расширение файла "HTM" и его свойство ApplyUserTransform равным .T. и дополняет к методам XmlListener метод getDefaultUserXslt, для обеспечения должной XSLT транформации документа для создания HTML.

Пользовательский XSLT документ указанный в HtmlListener содержит в себе все детали VFP-RDL вашего исходного отчета или раскладки, и воспроизводит такую же раскладку в HTML. Принтер пользователя может иметь отличные уставки размера бумаги, чем ваш принтер, для которого изображение отчета изначально было сформировано, и браузер пользователя может также добавить верний и нижний колотитулы и оставить край в раскладке страницы. В результате этого, вам не следует полагаться на этот формат, чтобы распечатать отчет с переводом страницы в нужном месте из браузера; это разработано в основном для отображения страницы на экране.

Подсказка:
Вы можете использовать RANGE оператор в команде REPORT FORM, для того чтобы предоставить HTML данные постранично, таким образом, отчет будет печататься из браузера корректно. Обратите внимание, что в HtmlListener, XSLT документ по умолчанию поддерживает оператор RANGE только для одиночных отчетов, а не для множественных отчетов, используя возможности NOPAGEEJECT. Без оператора RANGE, XSLT в HtmlListener по умолчанию поддерживает множественные отчеты, лишь помещенные в один HTML документ.

Если хотите, чтобы распечатывалась точная копия, то вы можете использовать метод OutputPage класса ReportListener для создания отдельных файлов для каждой страницы. Смотрите Объект Приемник Отчетов ReportListener для дальнейшей информации.

Однако, вы не ограничены в получении точной копии изначального дизайна отчета. Вы можете заменить штатную XSLT трансформацию какой-либо другой, которая вам подходит, разработать отдельный отчет для разных пользователей и печати на разных устройствах. Достаточно поместить ссылку на другой XSLT трансформацию документа в свойство XsltProcessorUser. Пример кода в Фундаментальный Класс ReportListener XML демонстрирует, как изменить содержание документа.

Пример

Данный пример устанавливает файл вывода для HtmlListener и точность числовых координат, а также, задает, чтобы все графические файлы, используемые в данном отчете, сохранялись в поддиректории той папки, в которой поместили файл сформированного отчета. Это - один из правильных подходов, если отчет будет в дальнейшем помещен на web server.

Примечание:
Данный пример разработан для использования в тиражируемых приложениях, поэтому он не содержит путь к FFC библиотеке классов. Если вы желаете запустить его как программу из командного окна, то раскомментируйте оператор SET PATH.

После отработки отчета, данный пример открывает формированный HTML файл в окне редактирования Visual FoxPro для проверки и затем показывает текушее содержание документа XsltProcessorUser в виде текстовых сообщений на экране Visual FoxPro для справки.

Подсказка:
При детальном рассмотрении содержимого XSLT документа, вы увидите, что свойство Stylesheet.xml все еще показывает докомпиляционное значение по умолчанию numberPrecision, 5, и значения по умолчанию всех других параметров в этом XSLT документе. Например, externalFileLocation - это парамерт в XSLT документе, и его значение вы определяете в примере, ".\images", не показан в содержимом Stylesheet.xml. Метод applyXSLT в классе XMLListener применяет runtime значение параметров к откопилированному Stylesheet экзимпляру, непосредственно перед тем как он применяет откомпилированный и трансформированный документ в вашему исходному XML.
Cкопировать Код
LOCAL oHtml
* SET PATH TO (HOME() + "FFC") ADDITIVE
oHtml = NEWOBJECT("HtmlListener","_reportlistener.vcx")
oHtml.targetFileName = "c:\temp\myOutput.htm"
* Следующие строки кода устанавливают точность координат
* наиболее характерных елементов раскладки в виде количества знаков после запятой
* (координаты XSLT указаны в дюймах).
* Количество знаков после запятой установлено в XSLT равным 5,
* но здесь мы назначаем равным 6:
oHtml.xsltParameters = CREATEOBJECT("Collection")
oHtml.xsltParameters.Add(6,"numberPrecision")
* Нижеуказанная папка должно существовать до того, как
* вы определите следующее свойство:
IF NOT DIRECTORY("c:\temp\images")
   MD c:\temp\images
ENDIF
* Определение папки с графическими файлами в виде
* относительной ссылки обеспечивает должные
* src атрибуты в данном HTML документе:
oHtml.externalFileLocation = ".\images"
oHtml.copyImageFilesToExternalFileLocation = .T.
REPORT FORM ? OBJECT oHtml
MODIFY FILE (oHtml.targetFileName)
ACTI SCREEN
? oHtml.XsltProcessorUser.Stylesheet.Xml

Смотрите Также

Ссылки

Genhtml.prg
Фундаментальный класс ReportListener XML Display-Style

Прочие Ресурсы

Руководство по Использованию Фундаментальных Классов Visual FoxPro
Visual FoxPro Фундаментальнеы классы A-Z
Приложение Вывода Отчетов

Послать комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


Resize Object Foundation Class

Visual FoxPro 9.0 Описание Языка
Перестройка Объекта, фундаментальный Класс
См. также
CollapseAll image

Данный класс используется в Пользовательских Формах при изменении Размеров и Координат Контролов; применяется в программном коде События Resize рассматриваемой формы.

Категория | Пользовательский Интерфейс
Подкаталог Размещения | <Visual_FoxPro_Catalog>\<Foundation_Classes>\<User_Controls>
Класс | _resizable
Базовый Класс | Custom
В Библиотеке Классов | _controls.vcx
Порождающий Класс | _custom
Пример Использования | ...\Samples\Solution\Forms\cresize.scx

Expand image Комментарии

Для Использования рассматриваемого класса: "перетащите" иконку класса в вашу Форму или Проект или: в контекстном меню подсистемы Component Gallery Item (Элементы Галереи Компонентов), выберите подпункт: Аdd to Project или Add to Form. Если вы добавляете данный Класс на Форму, то вам требуется дополнить вызов Метода: AdjustControls в программном коде События Resize рассматриваемой Формы (чтобы выполнялось переопределение характеристик Контролов Формы). Если вы добавляете данный класс в Проект, то вы можете выбрать из двух вариантов: или добавить данный Класс, или создать новый ПодКласс.

Свойства, События, Методы | Краткое Описание
InitialResize, Свойство | Определяет предварительную обработку Контролов Формы. По-Умолчанию: .T.
AdjustControls, Метод | Выполняет изменение Размеров и Размещение Контролов (объектов) после выполнения События Resize. Синтаксис: AdjustControls() Возвращаемое Значение: Нет Параметры: Нет
Reset, Свойство | Устанавливает начальное Значение внутреннего Таймера, = 0. Синтаксис: Reset() Возвращаемое Значение: Нет Параметры: Нет
InitialFormHeight, Свойство | Внутренний Элемент Класса.
InitialFormWidth, Свойство | Внутренний Элемент Класса.
aControlStats[1,5], Свойство | Внутренний Элемент Класса.
AddToArray, Свойство | Внутренний Элемент Класса.
SetSize, Свойство | Внутренний Элемент Класса.
LoopThroughControls, Метод | Внутренний Элемент Класса.

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по Использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры Использования Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
Microsoft Corporation. Все права защищены. Перевод: ShmSoft


RTF Controls Foundation Class

Visual FoxPro 9.0 Описание Языка
Контролы RTF, фундаментальный Класс
См. также
CollapseAll image

Представленный фундаментальный Класс, при размещении его на пользовательской Форме, обеспечивает широкий спектр возможностей форматирования Текстовых элементов.

Категория | Составляющий Элемент
Каталог Размещения | Visual FoxPro Catalog\Foundation Classes\Text Formatting
Имя Класса | _rtfcontrols
Базовый Класс | Container
Библиотека | _format.vcx
Родительский Класс | _container
Пример | ...\Samples\Solution\Toolbars\format.scx

Expand image Комментарии

Для использования данного Класса, переместите его в ваш пользовательский Проект Или, из соотетствующего элемента Component Gallery Item, контекстного Меню, выберите подпункт Add to Project или Add to Form. При добавлении указанного Класса в Проек, вы можете выбрать из двух вариантов: добавить класс напрямую или создать Подкласс. При добавлении Класса на пользовательскую форму, Visual FoxPro размещает соответствующие Контролы ComboBox и CommandButton в активном окне Дизайнера Форм (Form Designer).

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту: A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Фундаментальные Классы, примеры

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Run Form Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Run Form Button
Смотрите также
CollapseAll image

Этот класс предоставляет командную кнопку общего назначения для запуска формы.

Категория | Различные командные кнопки
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _cmdRunForm
Базовый класс | CommandButton
Библиотека класса | _miscbtns.vcx
Родительский класс | _commandbutton
Образец использования | ...\Samples\Solution\Ffc\buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item выберите Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro открывает компоновщик, с помощью которого вы можете указать cFileName - имя формы, которую вы желаете запустить. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Свойства, события, методы | Описание
Свойство cFilename | Указывает name имя формы, которую нужно запустить. По умолчанию: ""
Свойство lSetCaption | Определяет, будет ли заголовок формы автоматически установлен на основе значения cFilename. По умолчанию: .T.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SCX to HTML Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс SCX to HTML
Смотрите также
CollapseAll image

Этот класс преобразует форму Visual FoxPro (.scx) в HTML. Этот класс предоставляет свойства для управления областью, визуальной раскладкой и генерацией HTML. Для получения более подробной информации смотрите код программы Genhtml.prg.

Категория | Internet
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Класс | _scx2html
Базовый класс | Custom
Библиотека класса | _internet.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\dohtml.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro открывает компоновщик, в котором вы можете акцептировать текущие значения или указать подходящие случаю значения для cSource, cOutFile и nGenOutput. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подрбной информации об использовании фундаментальных класов.

Свойства, события, методы | Описание
Свойство cOutfile | Указывает имя файла вывода формы в HTML. По умолчанию: ""
Свойство cScope | Указывает область (например, NEXT или ALL для вывода). По умолчанию: ""
Свойство cSource | Указывает исходный файл .scx, из которого будет генерироваться HTML файл. По умолчанию: ""
Свойство cStyle | Указывает визуальный стиль, в том виде, как он перечислен в поле ID таблицы Genhtml.dbf. По умолчанию: ""
Свойство lAutonameoutput | Определяет - будет-ли _GENHTML автоматически именовать файл вывода именем исходного файла. По умолчанию: .T.
Свойство nGenOutput | Указывает параметры вывода _GENHTML: 0 = генерировать файл вывода. 1 = Генерировать и отобразить файл вывода в редакторе Visual FoxPro. 2 = Генерировать и отобразить файл вывода в Internet Explorer. 3 = Генерировать и отобразить файл вывода после отображения диалогового окна SaveAs. 4 = Создать глобальный объект _oHTML и сгенерировать файл. 5 = Создать глобальный объект _oHTML без генерации файла. По умолчанию: 2
Метод GenHTML | Генерирует код HTML вызовом движка _GENHTML с использованием свойств, указанных в cSource, cOutFile и nGenOutput. Синтаксис: GenHTML( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SendMail Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс SendMail Buttons
Смотрите также
CollapseAll image

Этот класс, который использует элемент MAPI ActiveX, обслуживает посылку сообщения электронной почты из формы. Когда он перетащен на форму, он может быть использован для посылки текущей записи непосредственно в приложение вашего почтового агента.

Категория | Разные кнопки
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _mailbtn
Базовый класс | Container
Библиотека класса | _miscbtns.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\OLE\sendmail.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс на форму, Visual FoxPro помещает на нее командную кнопку, в которой будет обеспечено обращение к текущей записи активной формы. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс в проект или создать субкласс на его основе.

Свойства, события, методы | Описание
Свойство logSession | Определяет, была ли успешной регистрация в учетную запись почтового агента. По умолчанию: .F.
Метод SignOn | Пытается произвести регистрацию в учетную запись почтового агента. Синтаксис: SignOn( ) Возврат: нет Аругменты: нет
Метод AddTabs | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SetAllX Extension Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс SetAllX Extension
Смотрите также
CollapseAll image

Класс SetAllX представляет собой расширение метода Visual FoxPro SetAll( ) доступного во многих классах Visual FoxPro. В отличие от метода Visual FoxPro SetAll( ) вы можете указать базовый класс объектов, к которым будет применяться установка.

Категория | Расширение функциональности объектов
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _setallx
Базовый класс | Custom
Библиотека класса | _setallx.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\Setallx.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на ней его иконку. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода.. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Метод Setallx | Расширенная версия метода SetAll(). Синтаксис: SetAllX(toParent, tcProperty, tcExpr, tcBaseClassList, tlNoContainerMode, tlErrorWait) Возврат: logical Аргументы: toParent - предоставляет ссылку на родительский объект. tcProperty - указывает имя устанавливаемого свойства. tcExpr - указывает значение, которое должно быть установлено для свойства. tcBaseClassList - указывает базовый класс, к которому применяются изменения. tlNoContainerMode - предотвращает проход по контейнеру. tlErrorWait - определяет - будет ли задержка для ошибок.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Shell Execute Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Shell Execute
Смотрите также
CollapseAll image

Этот класс позволяет вам запускать приложения или документы с ассоциированными с ними приложениями из вашего текущего приложения.

Категория | Системные утилиты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _shellexecute
Библиотека класса | _environ.vcx
Родительский класс | _custom
Образце | ...\Samples\Solution\Ffc\Buttons.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму Visual FoxPro размещает на ней экземпляр класса. Вы моежте затем установить подходящие случаю значения свойств и предоставить необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

Свойства, события, методы Описание

ShellExecute method

Попытается запустить файл tcFileName из каталога tcWorkDir.

Синтаксис: ShellExecute(tcFileName, tcWorkDir, tcOperation)

Возврат: nSuccess

Аргументы: tcFileName указывает файл для запуска.tcWorkDir указывает путь к запускаемому файлу.tcOperation указывает производимую операцию.nSuccess определяет успешной или неуспешной была попытка запуска, используя одно из приведеннных значений:

2 = Плохая ассоциация (например, недопустимый URL)
29 = Ошибка при загрузке приложения
30 = Приложение занято
31 = Не имеется ассоциированного приложения

Значения более32 представляют признак успешного выполнения и возвращают дескриптор для запущенного приложения.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Shortcut Menu Class Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Shortcut Menu
Смотрите также
CollapseAll image

Будучи помещенным в проект или на форму, этот класс динамически создает всплывающие меню (или меню быстрого вызова).

Категория | Меню
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Menus
Класс | _shortcutmenu
Базовый класс | Custom
Библиотека класса | _menu.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\newmenu.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении в форму Visual FoxPro размещает на ней добавляемый класс.. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы Описание

Свойство cOnSelection

Указывает процедуры обработки выбора из меню.

По умолчанию: ""

Свойство cMenu

Указывает имя создаваемого меню.

По умолчанию: ""

Метод DeactivateMenu

Деактивирует существующее всплывающее меню быстрого вызова.

Синтаксис: DeactivateMenu( )

Возврат: нет

Аргументы: нет

Метод ActivateMenu

Активизирует меню быстрого вызова.

Синтаксис: ActivateMenu(tcParentMenu)

Возврат: нет

Аргументы: tcParentMenu указывает имя родительского меню, из которого активизировано всплывающее меню быстрого вызова.

Метод ClearMenu

Высвобождает существующее меню быстрого вызова.

Синтаксис: ClearMenu( )

Возврат: нет

Аргументы: нет

Метод NewMenu

Создает новое всплывающее меню для меню быстрого вызова.

Синтаксис: NewMenu( )

Возврат: нет

Аргументы: нет

Метод AddMenubar

Добавляет новую полоску меню в меню быстрого вызова.

Синтаксис: AddMember(tcPrompt, tcOnSelection, tcClauses, tnElementNumber, tlMark, tlDisabled, tlBold)

Возврат: нет

Аргументы: tcPrompt указывает заголовок элемента.
tcOnSelection указывает действие, осуществляемое при выборе элемента.
tcClauses указывает любую опцию команды для элемента.
tnElementNumber указывает положение элемента в массиве.
tlMark указывает - будет ли применяться используемый по умолчанию символ метки для меню.
tlDisabled указывает - будет ли меню доступно.
tlBold указывает - будет ли элемент меню отображаться жирным шрифтом.

Метод AddMenuSeparator

Добавляет разделитель в меню быстрого вызова.

Синтаксис: AddMenuSeparator(tnElementNumber)

Возврат: нет

Аргументы: tnElementNumber указывает позицию разделителя, размещенного в меню.

Метод ShowMenu

Отображает существующее меню быстрого вызова.

Синтаксис: ShowMenu( )

Возврат: нет

Аргументы: нет

Метод SetMenu

Высвобождает текущее меню быстрого вызова для того, чтобы создать новое.

Синтаксис: SetMenu(toObject)

Возврат: нет

Аргументы: toObject указывает имя нового меню быстрого вызова.

Свойство aMenu[1,0]

Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Simple Edit Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Simple Edit Buttons
Смотрите также
CollapseAll image

Будучи помещенным на форму, этот класс предоставляет простые кнопки с рисунками Add, Edit, Delete, Duplicate, Save и Cancel (как используемые мастером форм (Form Wizard)).

Категория | Редактирование данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | picformbtns
Базовый класс | Container
Библиотека класса | wizbtns
Родительский класс | gridbtns
Образец использования | ...\Samples\Solution\Ffc\dataedit2.scx

Expand image Примечания

Используйте для простых форм, основанных на одной таблице или представлении. Для получения более подробной информации, посмотрите класс gridbtns в библиотеке классов Wizbtns.vcx в Class Browser (Обозревателе классов).

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс на форму, Visual FoxPro помещает на ней указанные командные кнопки. Затем вы можете добавить любые необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Simple Navigation Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Simple Navigation Buttons
Смотрите также
CollapseAll image

Будучи помещенным в проект или на форму, этот класс предоставляет простую пару командных кнопок навигации: Next и Previous.

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _nav2Buttons
Базовый класс | Container
Библиотека класса | _table.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Forms\single.scx

Expand image Примечания

Для использования класса перетащите его в проект или на форму in a data environment or, from the Component Gallery Item shortcut menu, select Add to Project or Add to Form. При добавлении класса в форму, Visual FoxPro помещает на нее командные кнопки. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс или создать субкласс на его основе.

Свойства, события, методы | Описание
Свойство lCycle | Определяет - будет ли продолжено перемещение указателя записи при достижении начала или конца файла. По умолчанию: .F.
Метод TableNav | Обслуживает навигацию по записям. Синтаксис: TableNav(tcAction) Возврат: нет Аргументы: tcAction - указывает направление перемещения по записям таблицы, такое как Next или Previous.
Метод lCycle_access | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Simple Picture Navigation Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Simple Picture Navigation Buttons
Смотрите также
CollapseAll image

Будучи помещенным на форму, этот класс предоставляет пару простых командных кнопок по навигации среди картинок: Next и Previous. Для получение более подробной информации откройте _nav2buttons из библиотеки классов _table.vcx в Class Browser (Обозревателе классов).

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _nav2picbuttons
Базовый класс | Container
Библиотека класса | _table2.vcx
Родительский класс | _nav2buttons
Образец использования | ...\Samples\Solution\Ffc\datanav.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro помещает на нее командные кнопки. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, вы можете выбрать между введением в проекта класса или созданием субкласса.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sort Dialog Box Button Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Sort Dialog Box Button
Смотрите также
CollapseAll image

Будучи помещенным на форму, этот класс предоставляет командную кнопку, щелчок по которой вызывает отображение диалога, в котором вы можете установить сортировку данных в возврастающем или убывающем порядку для конкретного поля. Для получения более подробной информации откройте в обозревателе классов класс _dialogbutton из библиотеки _table2.vcx.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Buttons
Класс | _sortbutton
Базовый класс | CommandButton
Библиотека класса | _table2.vcx
Родительский класс | _dialogbutton
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса перетащите его в проект или в форму в среде разработки,или, из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на ней командую кнопку. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sort Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Sort Dialog Box
Смотрите также
CollapseAll image

Это диалоговое окно позволяет вам производить сортировку данных конкретного поля по возрастани или убыванию.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro\Foundation Classes\ Data Query
Класс | _sortdialog
Базовый класс | Form
Библиотека класса | _table2.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса перетащите его в проект или в форму в среде разработки,или, из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект, созданием субкласса на его основе или созданием формы. Если вы выберите Create a new form (Создать новую форму) из выбранного класса, Visual FoxPro откроет диалоговое окно Open, в котором вы сможете задать имя файла формы, затем создаст ее и откроет на редактирование в Form Designer (Конструкторе форм). Для использования этого класса вам необходимо предоставить индексированную таблицу.

Свойства, события, методы | Описание
Метод DoSort method | Предоставляет вам возможность сортировать текущее поле или указать поле сортировки для упорядочивания таблицы. Синтаксис: DoSort( ) Возврат: Нет Аргументы/Параметры: Нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sort Mover Foundation Class

Visual FoxPro 9.0 Language Reference
Фундаментальный класс Sort Mover
Смотрите Также
CollapseAll image

Данный подкласс класса mover list box, когда помещен на форму, автоматически управляет сортировкой данных.

Категория | Movers
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _sortmover
Базовый класс | Container
Библиотека классов | _mover.vcx
Родительский класс | _mover
Пример | ...\Samples\Solution\Ffc\movers.scx

Expand image Примечание

Свойства, События, Методы | Описание
CurrentAlias свойство | Текущий псевдоним для выбора полей. По умолчанию: ""
CurrentDBC свойство | Текущая база данных для выбора полей. По умолчанию: ""
MaxFields свойство | Махсимально разрешенное число полей. По умолчанию: 3
ShowTags свойство | Определяет, показывать ли существующие индексы в дополнение к полям. По умолчанию: .F.
aTags[1,1] свойство | Для внутреннего использования классом.
TagName свойство | Для внутреннего использования классом.
UpdateMover | Для внутреннего использования классом.

Expand image Смотрите Также

Ссылки

Visual FoxPro Фундаментальные Классы A-Z
Фундаментальный класс Mover

Концепции

Рукрводство по использованию Фундаментальных классов Visual FoxPro

Другие Ресурсы

Примеры Фундаментальных Классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Sort Object Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Sort Object
Смотрите также
CollapseAll image

Этот класс, будучи помещенным на форму, позволяет вам сортировать источник данных.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _tablesort
Базовый класс | Custom
Библиотека класса | _table.vcx
Родительский класс | _table
Образец использования | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на нее иконку класса. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxProдля получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы Описание

Свойство lDescending

Определяет вид сортировки - по возрастанию или убыванию.

По умолчанию: .F.

Метод DoSort

Позволяет вам сортировать текущее поле или указать поле, по которому будет производиться сортировка таблицы или того, что скрывается под псевдоименем.

Синтаксис: DoSort([tcField] [,tcAlias] [,tcTag] [,tlDescending])

Возврат: Нет

Аргументы: tcField указывает сортируемое поле. tcAlias указывает псевдоимя сортируемой таблицы. tcTag указывает индексный тэг поля, tcField. tlDescending определяет - будет ли сортировка производится по убыванию.

Метод GetSortTag

Ищет соответствующее имя тэга через поиск выражения ключа в таблице, соответствующее имени поля.

Синтаксис: Getsorttag(tcField, tcAlias)

Возврат: lcTag

Аргументы: tcField указывает сортируемое поле. tcAlias указывает псевдоимя сортируемой таблицы.

Метод RemoveSort

Удаляет текущий индексный тэг.

Синтаксис: RemoveSort(tcAlias)

Возврат: Нет

Аргументы: tcAlias указывает имя таблицы, из которой удаляется тэг.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sort Selector Foundation Class

Visual FoxPro 9.0 Language Reference
Фундаментальный Класс Sort Selector
Смотрите Также
CollapseAll image

Данный набор кнопок, когда помещен на форму, осуществляет сортировку по убыванию или по возрастанию, в зависимости от текущего объекта управления.

Категория | Запрос Данных (Data Query)
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _sortselect
Базовый класс | Container
Библиотека классов | _table2.vcx
Родительский класс | _container
Пример | ...\Samples\Solution\Ffc\datasort.scx

Expand image Примечания

Для использования, поместите класс в проект или на форму или, из контекстного меню Component Gallery Item, выберите Add to Project или Add to Form. Когда вы добавляете класс на форму, Visual FoxPro помещает кнопки на нее. После чего вы можете задать соответствующие значения свойств и обеспечить какие-либо необходимые объекты ввыда и вывода. Когда вы помещаете класс в проект, вы можете на выбор либо добавить класс либо создать подкласс.

Свойства, Методы, События | Описание
DoSort метод | Предоставляет вам возможность сортировать по текущему полю или задать поле, по которому упорядочивать таблицу. Синтаксис: DoSort([tcField] [,tcAlias] [,tcTag] [,tlDescending]) Возвращает: none Параметры: tcField определяет поле для сортировки. tcAlias определяет псевдоним сортируемой таблицы, tcTag определяет индекс, tcField.tlDescending определяет сортировать ли в убывающем порядке.

Expand image Смотрите Также

Ссылки

Visual FoxPro Фундаментальные Классы A-Z

Концепции

Руководство по Использованию Фундаментальных Классов Visual FoxPro

Другие Ресурсы

Примеры Фундаментальных Классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Sound Player Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Sound Player
Смотрите также
CollapseAll image

Этот класс загружает и проигрывает звуковые файлы, а также предоставляет доступ к Media Control Interface (MCI).

Категория | Multimedia
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Multimedia
Класс | _soundplayer
Базовый класс | Container
Библиотека класса | _multimedia.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Forms\mci_play.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе. При перетаскивании класса на форму, Visual FoxPro открывает компоновщик, в котором вы можете указать имя объекта в форме, выбрать из звуковой файл для проигрывания с помощью диалогового окна Open, имя которого будет сохранено в свойстве cFileName, а также установить опции lAutoOpen - (Automatically open multimedia file), lAutoPlay - (Automatically play multimedia file), lAutoRepeat - - (Automatically repeat playing multimedia file), а также связать объект с источником данных - cControlSource.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cControlSource | Указывает источник данных, к которому привязывается объект. По умолчанию: ""
Свойство cFileName | Указывает имя звукового файла для проигрывания. По умолчанию: ""
Свойство cMCIAlias | Указывает псевдоимя файла при вызове команд MCI. Если значение свойства оставить пустым, то в качестве псевдоимени будет использоваться имя файла. По умолчанию: ""
Свойство cMCIErrorString | Хранит строку ошибки последней команды MCI. По умолчанию: ""
Свойство lAutoOpen | Определяет - будет ли файл автоматически открываться при при создании класса. По умолчанию: .T.
Свойство lAutoPlay | Определяет - будет ли файл автоматически проигрываться после открытия. По умолчанию: .T.
Свойство lAutoRepeat | Определяет - будет ли проигрывание непрерывным. По умолчанию: .T.
Свойство nMCIError | Хранит результат последней исполненной команды MCI. По умолчанию: 0
Метод CloseSound | Закрывает загруженный файл и освобождает его ресурсы. Синтаксис: CloseSound( ) Возврат: Нет Аргументы: Нет
Метод OpenSound | Открывает звуковой файл. Синтаксис: OpenSound( ) Возврат: Нет Аргументы: Нет
Метод PauseSound | Приостанавливает текущий проигрываемый звуковой файл. Синтаксис: PauseSound( ) Возврат: Нет Аргументы: Нет
Метод PlaySound | Проигрывает загруженный звуковой файл. Синтаксис: PlaySound( ) Возврат: Нет Аргументы: Нет
Метод SetPosition | Позволяет пользователю установить позицию внутри мультимедийного файла. Синтаксис: SetPosition (cPosition) Возврат: Нет Аргументы: cPosition определяет Start, End или число, определяющее количество миллимекунд от начала файла.
Метод DoMCI | Для внутреннего использования классом
Метод GetMCIError | Для внутреннего использования классом
Метод ShowMCIError | Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Splash Screen Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Splash Screen
Смотрите также
CollapseAll image

Этот класс, будучи помещенный в проект, предоставляет простейший экран-заставку (Splash Screen) для ваших приложений.

Категория | Разные формы
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _splash
Базовый класс | Form
Библиотека класса | _dialogs.vcx
Родительский класс | _form
Образец использования | ...\Samples\Solution\Ffc\dialogs.scx

Expand image Примечания

Для использования класса перетащите его в проект или , или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Create Form (Создать форму) или Add to Project (Добавить в проект). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс, создать субкласс на его основе или создать форму. Когда вы выбираете Create a new form from the selected class (Создать новую форму из выбранного класса), Visual FoxPro отображает диалоговое окно Open, в котором вы можете указать имя файла формы, затем создает и открывает форму в Form Designer (Конструкторе форм).

Свойства, события, методы | Описание
Свойство nDuration | Определяет продолжительность (в секундах) отображения экрана-заставки. Default: 3

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SQL Pass Through Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс SQL Pass Through
Смотрите также
CollapseAll image

Этот класс используется для SQL Pass Through м позволяет вам исполнять хранимые процедуры на главной базе данных, такой как Microsoft SQL Server.

Категория | Запрос данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Query
Класс | _execsp
Базовый класс | Custom
Библиотека класса | _dataquery.vcx
Родительский класс | _custom

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс на форму, Visual FoxPro помещает на ней его иконку. Вы можете указать подходящие случаю значения свойств и необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, вы можете выбрать между введением в проекта класса или созданием субкласса.

Вам необходимо добавить код, который установит конкретные параметры и инфорамцию о соединении с тем, чтобы класс мог вернуть в курсор набор результатов.

Свойства, события, методы | Описание
LUseSQLSyntax | Определяет - будет ли использовать синтаксис Server Exec. По умолчанию: .F.
DoSQL method | Запускает предложение SQL Pass Through. Синтаксис: DoSQL( ) Возврат: none Аргументы: none
GetSQL method | Забирает результаты из предложения SQL Pass Through. Синтаксис: GetSQL( ) Возврат: none Аргументы: none
aParams[1,0] property | Для внутреннего использования классом.
cCursorName property | Для внутреннего использования классом.
cSpname property | Для внутреннего использования классом.
cSQL property | Для внутреннего использования классом.
hConnectHandle property | Для внутреннего использования классом.
ProcessError method | Для внутреннего использования классом.
SetParams method | Для внутреннего использования классом.
SetSQL method | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Stop Watch Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Stop Watch
Смотрите также
CollapseAll image

Этот класс, будучи помещенным на форму, предоставляет вам элемент управления "секундомер" (stopwatch).

Работа класса секундомера в активной форме:

Категория | Дата/Время
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Date/Time
Класс | _stopwatch
Базовый класс | Container
Библиотека класса | _datetime.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Controls\Timer\swatch.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы добавляете класс в форму, Visual FoxPro размещает его на ней произвольным образом, поэтому вам необходимо будет уточник ее расположение, чтобы она должным образом отображалась на активной форме. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса.

Свойства, события, методы | Описание
Метод Increment | Увеличивает отсчета секундомера. Синтаксис: Increment( ) Возврат: нет Аргументы: нет
Метод Reset | Сбрасывает секундомер. Синтаксис: Reset( ) Возврат: нет Аргументы: нет
Метод Start | Запускает секундомер. Синтаксис: Start( ) Возврат: нет Аргументы: нет
Метод Stop | Останавливает секундомер. Синтаксис: Stop( ) Возврат: нет Аргументы: нет
UpdateDisplay | Обновляет отображение. Синтаксис: UpdateDisplay( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


String Library Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс String Library
Смотрите также
CollapseAll image

Этот класс удаляет из символьных строк символы возврата каретки и перевода строки.

Категория | Утилиты обработки данных
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _stringlib
Базовый класс | Custom
Библиотека класса | _utility.vcx
Родительский класс | _custom

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на ней иконку класса. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Expand image Примечания

Свойства, события, методы | Описание
Метод TrimCRLF | Удаляет из символьных строк символы возврата каретки и перевода строки. Синтаксис: TrimCRLF (tcString, tlTrimLeft, tlTrimRight) Возврат: нет Аргументы/Параметры: tcString указывает на строку для обработки. tlTrimLeft - определяет будет ли строка обрезаться с левой стороны. tlTrimRight - определяет будет ли строка обрезаться с правой стороны.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Super Mover Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Super Mover
Смотрите также
CollapseAll image

Этот класс, будучи помещенным на форму, предоставляет элемент схемы перемещения, основанный на элементах listbox с комндными кнопками Move, Remove, MoveAll и RemoveAll.

Категория | Схемы перемещения
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _supermover
Базовый класс | Container
Библиотека класса | _mover.vcx
Родительский класс | supermover
Образец использования | ...\Samples\Solution\Ffc\movers.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между введением класса или созданием субкласса. При вводе класса в форму, Visual FoxPro добавляет в нее экземпляры класса listbox и командных кнопок в Form Designer (Конструкторе форм), где вы можете указать подходящие случаю значения свойств.

Свойства, события, методы | Описание
Свойство MaxItems | Указывает максимальное число элементов, которые могут быть выбраны. По умолчанию: 0
Свойство MaxMessage | Указывает сообщение, отображаемое в случае, когда достигнуто максимальное число выбранных элементов. По умолчанию: ""

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаметальный класс Mover

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


System Metrics Foundation Class

Visual FoxPro 9.0 Справочник Языка
Фундаментальный класс Системных Метрик
См. Также

Обеспечивает доступ к системной метрической информации, которая могла бы быть полезна в ваших приложениях так же как она необходима для соглашения Windows 2000 . Системная метрика типа наличия колеса у мыши, количества кнопок мыши, и количество мониторов обеспечивается специальным классом. Однако может быть запрошен любой допустимый системный показатель.

Категория | Системные Утилиты
Заданный по умолчанию Каталог | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _sysmetrics
Базовый класс | Клиентский
Библиотека классов | _system.vcx
Родительский Класс | _custom
Пример | ...\Samples\Solution\Ffc\Logo.scx

Замечания

Для применения, поместите класс в проект или на форму, или из меню Галереи Компонентов, выберите Add to Project ИЛИ Add to Form. Когда Вы добавляете класс к форме, Visual FoxPro размещает значок класса на форме. Вы можете определить соответствующие значения свойства и обеспечить любые необходимые объекты ввода и вывода. Когда Вы помещаете класс в проект, Вы можете выбрать между добавлением класса или созданием подкласса.

См. Рекомендации по использованию Фундаментальных классов Visual FoxPro для подробной информации относительно использования фундаментальных классов.

Свойства, События, Методы | Описание
lMouseWheelPresent свойство | Возвращения .T., если MouseWheel присутствует на мыши.
nMonitors свойство | Возвращает количество мониторов в системе.
nMouseButtons свойство | Возвращает количество кнопок мыши.

См. Также

Другие Ресурсы

Рекомендации по использованию Фундаментальных классов Visual FoxPro
Visual FoxPro Фундаментальные классы A-Z
Примеры использования Фундаментального класса

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


System Toolbar Foundation Class

Visual FoxPro 9.0 Справочник Языка
Системный Фундаментальный класс Инструментальной панели
См. Также

Этот класс - класс-менеджер, который управляет и отслеживает Системные Инструментальные панели, так что Вы можете автоматически удалить системные инструментальные панели Visual FoxPro в вашей прикладной программе и позже восстановить их. Этот класс используется со структурой, сгенерированной Прикладным Мастером.

Категория | Приложение
Заданный по умолчанию Каталог | Visual FoxPro Catalog\Foundation Classes\Application
Class | _systoolbars
Base Class | Custom
Class Library | _app.vcx
Parent Class | _custom
Sample | ...\Samples\Solution\Ffc\environ.scx

Замечания

Для применения, поместите класс в проект или на форму или, из меню быстрого выбора Галереи Компонентов, выберите Add to Project или Add to Form. Когда Вы добавляете класс к проекту, Вы можете выбрать между добавлением класса или созданием подкласса. Когда Вы добавляете класс к форме, Visual FoxPro помещает значок на форму. Вы можете тогда определить соответствующие значения свойства и обеспечить любые необходимые объекты.

Если значение lAutomatic является истинным (.T)., как в приложении READEVENTS-type, класс автоматически скрывает все существующие системные инструментальные панели, при создании экземпляра. Затем класс автоматически восстанавливает инструментальные панели, которые были скрыты при отключении контекста обработки.

Вы можете также вызвать вручную методы HideSystemToolbars( ) и ShowSystemToolbars( ).

Свойства, События, Методы | Описание
lAutomatic property | Автоматически скрывает и восстанавливает системные инструментальные панели для приложения. Значение по умолчанию: .F.
aSystemToolbars[1,0] property | Массив системных инструментальных панелей. Значение по умолчанию: .F.
Hidesystemtoolbars method | Вручную скрывает системные инструментальные панели для приложения. Синтаксис: Hidesystemtoolbars( ) Возвращение: none Параметры: none
Showsystemtoolbars method | Вручную делает видимыми инструментальные панели системы для приложения. Синтаксис: Showsystemtoolbars( ) Возвращение: none Параметры: none
Initializetoolbararray method | Внутренний к классу.

См. Также

Другие Ресурсы

Рекомендации Использования Фундаментальных классов Visual FoxPro
Фундаментальные классы Visual FoxPro A-Z
Примеры Фундаментальных классов Visual FoxPro

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table Mover Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Table Mover
Смотрите также
CollapseAll image

Этот субкласс на базе элементов управления типа listbox для перемещения полей автоматически загружает таблицы и поля из текущего источника данных.

Категория | Перемещения
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\User Controls
Класс | _tablemover
Базовый класс | Container
Библиотека класса | _mover.vcx
Родительский класс | _fieldmover
Образец использования | ...\Samples\Solution\Ffc\movers.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса. Когда вы добавляете класс в форму, Visual FoxPro открывает компоновщик, с помощью которого вы можете указать подходящие значения для свойств cDBCTable, cDBCName, SkipGeneral, SkipMemo AllowReadOnly, and AllowQuery на форме, открытой в Form Designer (Конструкторе форм).

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство AllowQuery | Определяет - будут ли допустимы запросы. По умолчанию: .F.
Свойство AllowViews | Определяет - будут ли допустимы представления. По умолчанию: .T.
Свойство ExclDBF | Указывает имя таблицы, исключаемой из списка. По умолчанию: ""
Свойство ViewNoData property | Определяет - будет ли показана информация о представлении без извлечения данных. По умолчанию: .T.
Метод GetDBCAlias | Извлекает псевдоимя файла базы данных (.dbc). Синтаксис: GetDBCAlias(cDBC) Возврат: нет Аргументы: cDBC указывает псевдоимя базы данных.
Метод GetDBCData | Извлекает поля таблицы базы данных. Синтаксис: GetDBCData(cDBCName) Возврат: поля данных Аргументы: cDBCName указывает имя базы данных.
Метод GetDBCName | Извлекает имя базы данных. Синтаксис: GetDBCName( ) Возврат: нет Аргументы: нет
Метод GetDBCTable | Извлекает таблицу базы данных. Синтаксис: GetDBCTable(cDBCTable) Возврат: нет Аргументы: cDBCTable указывает короткое имя таблицы.
Метод GetFreeData | Извлекает поля свободных таблиц. Синтаксис: GetFreeData( ) Возврат: нет Аргументы: нет
Метод MoverRefresh | Обновлеяет схему перемещения. Синтаксис: MoverRefresh(lRefresh, lQuickPass, cSaveLstValue) Возврат: нет Аргументы: lRefresh определяет - будут ли перезаполняться listbox'ы и меню (popups). lQuickPass определяет - потребуется ли восстановление, если среда не изменялась. cSaveLstValue указывает значение для восстановления среды.
Метод OpenTable | Открывает источник данных. Синтаксис: OpenTable( ) Возврат: нет Аргументы: нет
Метод UseTable | Обрабатывает ситуацию, когда таблица открыта с помощью команды USE или открытие таблицы в монопольном режиме. Синтаксис: UseTable(cGetDBF, lUseExcl) Возврат: нет Аргументы: cGetDBF указывает таблицу для использования. lUseExcl определяет - должна ли таблица открываться в монопольном режиме.
Метод ExclusiveSet | Для внутреннего использования классом.
Метод RefreshCurrent | Для внутреннего использования классом.
Метод TableChange | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z
Фундаментальный класс Field Mover

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Text Preview Foundation Class

Visual FoxPro 9.0 Описание Языка
Предварительный просмотр Текстового Файла, фундаментальный Класс
См. также
CollapseAll image

При использовании представленного Класса в вашей Форме или в Проекте, вы получаете простейший механизм Редактирования Текстового Файла, который имеет самые необходимые функциональные возможности по Форматированию и сохранению Текста.

Категория | Получение Отчета
Каталог Размещения | <Visual_FoxPro_Catalog\Foundation_Classes>\Output
Класс | _showtext
Базовый Класс | Form
Библиотека Классов | _reports.vcx
Порождающий Класс | _form
Пример Использования | ...\Samples\Solution\Ffc\output.scx

Expand image Комментарии

Главное предназначение Рассматриваемого Класса - обеспечение совместимого режима просмотра Текстового Файла в режиме Предварительного Просмотра, который обеспечивается библиотекой Классов: _reports.vcx. Поэтому представленный Диалоговый Бокс не содержит командной кнопки "Открыть" новый файл, (однако вы можете добавить указанную кнопку в представленный Класс), который обеспечивает Активацию Окна Редактирования в режиме Read-Only.

Для использования данного Класса выполните операцию "перетаскивания" иконки данного Класса в вашу Форму или Проект, или, с помощью подсистемы Component Gallery Item (Элементы Галереи Компонентов), из контекстного Меню выберите подпункт: Add to Project (Добавить в Проект). Если данный Класс добавляется в Проект, вы можете выбрать из трех вариантов: или добавить Класс, или создать ПодКласс, или создать новую Форму. Если вы выбираете подпункт Меню: Create a new form (Создание Новой Формы), система Visual FoxPro Активирует Построитель, где вам требуется определить Имя создаваемой Формы, далее... открывается стандартный Дизайнер Форм (Form Designer).

Дополнительную информацию смотрите в разделе: Рекомендации по использованию Фундаментальных Классов Visual FoxPro.

Свойства, События, Методы | Краткое Описание
cFixedFontName, Свойство | Имя Шрифта компонент Окна Редактирования. По-Умолчанию: Courier New
nFixedFontSze, Свойство | Размер Шрифта компонент Окна редактирования. По-Умолчанию: 9
cSourceFile, Свойство | Имя Файла, который Редактируется или Просматривается. По-Умолчанию: ""
cTargetFile, Свойство | Имя Файла, в который сохраняются Данные. По-Умолчанию: ""
lFixedFontBold, Свойство | Определяет характеристику Шрифта Bold (жирность). По-Умолчанию: .F.
lFixedFontiItalic, Свойство | Определяет характеристику Шрифта Italic (курсив). По-Умолчанию: .F.
lSuppressCaptionChange, Свойство | Определяет Блокировку Активации Запроса об изменениях в Исходном Файле. Данный Флаг рекомендуется использовать при работе в временными файлами. По-Умолчанию: .F.
SetFonts, Метод | Используется для выбора требуемого Шрифта при изменении характеристик Фрагмента Текста в Окне Редактирования. Синтаксис: SetFonts() Возвращаемое Значение: Нет Параметры: Нет
GetFixedFont, Метод | Используется для Активации общего Диалогового бокса выбора Шрифта. Ограничивает использование допустимых Шрифтов. Синтаксис: GetFixedFont() Возвращаемое Значение: Нет Параметры: Нет
cTargetfile_access, Метод | Внутренний подкласс.
cSourcefile_assign, Метод | Внутренний подкласс.

Expand image См. также

Описание

Фундаментальные Классы Visual FoxPro, по-алфавиту, A-Z

Концепции

Рекомендации по использованию Фундаментальных Классов Visual FoxPro

Другие ссылки

Примеры использования Фундаментальных Классов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Thermometer Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Thermometer
Смотрите также
CollapseAll image

Этот класс, будучи помещенным на форму, предоставляет стандартный прогресс-бар или термометр.

Категория | Интерфейс пользователя (Каталог "диалоги" в галерее компонентов)
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Dialogs
Класс | _thermometer
Базовый класс | Form
Библиотека класса | _therm.vcx
Родительский класс | _thermometer
Образец использования | ...\Samples\Solution\Ffc\therm.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса, созданием субкласса из выбранного класса или созданием формы.

Если вы выбираете Create a new form from selected class (Создать новую форму из выбранного класса), Visual FoxPro отображает диалоговое окно Open в котором вы можете указать имя файла формы, затем создает ее и открывает на редактирование в Form Designer (Конструкторе форм). Вам необходимо указать соответствующие значения свойства в методе Update.

Свойства, события, методы | Описание
Свойство cCurrentTask | Указывает текущую задачу. По умолчанию: ""
Свойство iBasis | Указывает базис для расчета процента. По умолчанию: 0
Свойство iPercentage | Определяет процент завершения, при достижении которого обновляется отображение термометра. По умолчанию: 0
Свойство iProgress | Определяет завершенное количество задачи (iPercentage). По умолчанию: 0
Метод Complete | Отображает термомент, заполненный на 100%. Синтаксис: Complete(m.cTask) Возврат: нет Аргументы: m.cTask определяет, что должно отображаться после завершения процесса.
Метод Update | Обновляет термометр. Синтаксис: Update(iProgress, cTask) Возврат: нет Аргументы: iProgress определяет процент увеличения.cTask указывает отображаемое сообщение.
Свойство cThermRef | Для внутреннего использования классом.
Свойство ShpThermBarMaxWidth | Для внутреннего использования классов.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Trace Aware Timer Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Trace Aware Timer
Смотрите также
CollapseAll image

Этот класс представляет собой приложение-утилиту, которая определяет - было ли открыто окно трассировки и обслуживает соответствующим образом настройки выдержки таймера.

Категория | Приложение
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Application
Класс | _traceawaretimer
Базовый класс | Timer
Библиотека класса | _app.vcx
Родительский класс | _timer
Образец использования | ...\Samples\Solution\Ffc\environ.scx

Expand image Примечания

Хотя Visual FoxPro предоставляет вам возможность пропускать полностью пропускать события таймера при отладке, но это не всегда является лучшим решением, так как иногда код в событиях таймера непсредственно относится к тому, что вы пытаетесь отладить. Вместо этого, этот таймер определяет будет ли любое из окон отладчика видимым или если это так, устанавливает специальную замедленную выдержку временных интервалов.

Для использования класса в своем приложении перетащите его в проект или на форму; или , from the Component Gallery Item shortcut menu, select Add to Form. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе. Когда вы добавляете класс в форму, Visual FoxPro помещает на нее иконку класса. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекты ввода/вывода. Когда вы перетаскиваете класс в проект, вы можете выбрать между введением в проекта класса или созданием субкласса.

Свойства, события, методы | Описание
Свойство iRegularInterval | Определяет стандартный период интервалов. Сохраняется во время события Init и восстанавливается во время событий Timer, если вы изменяете Interval. По умолчанию: 0
Свойство iTraceInterval | Определяет медленный период интервалов для использования во время отладки. По умолчанию: 10000

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Type Library Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Type Library
Смотрите также
CollapseAll image

Этот класс использует COM компонент TlbInf32 для чтения информации из библиотек типов. Главная процедура ExportTypeLib создает текстовый файл с выводом библиотеки типов.

Категория | Утилиты связанные с файлами
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _typelib
Базовый класс | Container
Библиотека класса | _utility.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Winapi\typelib.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса или созданием субкласса. Когда вы добавляете класс в форму, Visual FoxPro помещает на нее иконку класса. Затем вы можете указать соответствующие значения свойств в форме, открытой в Form Designer (Конструкторе форм).

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Properties, Events, Methods | Описание
Свойство aTypeAttr[1,0] | Указывает массив для структуры TypeAttr. По умолчанию: .F.
Свойство aTypeFuncDesc[1,0] | Указывает массив для структуры FuncDesc. По умолчанию: .F.
Свойство aTypeFuncDocs[3,0] | Указывает массив для документации функции. По умолчанию: .F.
Свойство aTypeFuncNames[1,0] | Указывает массив для имен функций. По умолчанию: .F.
Свойство aTypeFuncParms[1,0] | Указывает массив для параметров функций. По умолчанию: .F.
Свойство aTypeInfoDocs[3,0] | Указывает массив для документации TypeInfo. По умолчанию: .F.
Свойство aTypeLibDocs[3,0] | Указывает массив для документации TypeLib. По умолчанию: .F.
Свойство FuncNamesCount | Указывает число имен для функций TypeInfo. Это эквивалентно общему числу параметров +1. По умолчанию: .F.
Свойство TypeInfoCount | Указывает числов TypeInfos в TypeLib. По умолчанию: .F.
Свойство TypeInfoIndex | Индексная ссылка на TypeInfo. По умолчанию: .F.
Свойство TypeLibHandle | Дескриптор для TypeLib. По умолчанию: .F.
Свойство TypeLibName | Указывает имя библиотеки типов. По умолчанию: .F.
Метод ExportTypeLib | Экпортирует содержание TypeLib в текстовый файл. Синтаксис: ExportTypeLib(cExportFile, lViewFile) Возврат: m.exportfile Аргументы: cExportFile указывает файл для экспорта.lViewFile определяет - будет ли файл открыт на просмотр после экспорта библиотеки.
Метод GetDataType | Возвращает тип данных функции. Синтаксис: GetDataType(m.nvt) Возврат: имя типа данных Аргументы: m.nvt указывает ссылку на элемент данных.
Метод GetFuncDesc | Получает информацию функции TypeInfo и заполняет массивы. Синтаксис: GetFuncDesc(nFuncIndex) Возврат: TypeInfo массивы - aTypeFuncParms, aTypeFuncNames, aTypeFuncDocs Аргументы: nFuncIndex указывает индекс функции.
Метод GetTypeInfo | Получает информацию TypeInfo и заполняет массивы TypeInfo. Синтаксис: GetTypeInfo(nTypeInfoNum) Возврат: нет Аргументы: nTypeInfoNum указывает ссылку на ключ Typeinfo.
Метод GetTypeLib | Получает информацию TypeLib и заполняет массивы. Синтаксис: GetTypeLib( ) Возврат: нет Аргументы: нет

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


URL Combo Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс URL Combo
Смотрите также
CollapseAll image

Этот класс, будучи помещенным на форму, создает элемент управления "combobox" для ввода адресов Web ресурсов. При выборе адреса он запускает Internet Explorer и переходит на выбранный сайт.

Категория | Интернет
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Класс | _urlcombobox
Базовый класс | Combobox
Библиотека класса | _internet.vcx
Родительский класс | _combobox
Образец использования | ...\Samples\Solution\Ffc\hyperlnk.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс или создать субкласс на его основе. Когда вы перетаскиваете класс на форму, Visual FoxPro открывает компоновщик, в котором вы можете указать имя объекта в форме, а также значения для свойств cURL, cURLHistoryTable и iURLHistory.

Вы можете использовать таблицу истории посещений для указания одного или более начальных адресов для навигации по Web .

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Свойство cURL | Текуший адрес ресурса - URL. По умолчанию: ""
Свойство cURLHistoryTable | Указывает имя таблицы для хранения истории посещенй, которая будет содержать и ранее посещавщиеся адреса. По умолчанию: (IIF(VERSION(2)=0,"",HOME( ))+"URLHst ry.dbf"))
Свойство lInitialized | Флаг контроля инициализации. По умолчанию: .F.
Свойство lURLHistory | Сохраняет историю посещений URL. По умолчанию: .T.
Метод Navigate | Запрашивает документ на основе его URL адреса. Синтаксис: Navigate( ) Возврат: нет Аргументы: нет
Свойство cHyperlinkClass | Для внутреннего использования классом.
Свойство cHyperlinkclasslibrary | Для внутреннего использования классом.
Свойство cTempFilePrefix | Для внутреннего использования классом.
Свойство lDropDown | Для внутреннего использования классом.
Свойство lFormNavigate | Для внутреннего использования классом.
Свойство lGotFocus | Для внутреннего использования классом.
Свойство lMoveFocus | Для внутреннего использования классом.
Свойство lRequestOnEnter | Для внутреннего использования классом.
Свойство oHyperlink | Для внутреннего использования классом.
Метод Initialize | Для внутреннего использования классом.
Метод oHyperlink_access | Для внутреннего использования классом.
Метод OpenURLHistory | Для внутреннего использования классом.
Метод ValidURL | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


URL Open Dialog Box Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс URL Open Dialog Box
Смотрите также
CollapseAll image

Этот диалоговый блок, будучи помещенным на форму предоставляет выпадающий список, в котором хранятся ссылки в списке посещений (history) URL .

Категория | Internet
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Класс | _openaddressdialog
Basse Class | Form
Библиотека класса | _internet.vcx
Родительский класс | _dialog
Образец использования | ...\Samples\Solution\Ffc\hyperlnk.scx

Expand image Примечания

Для использования класса перетащите его в проект или выберите из контекстного меню Component Gallery Item пукнт Add to Project или Create Form. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса, созданием субкласса или созданием формы. Если вы выбрали создание формы, Visual FoxPro отобразит диалоговое окно Open (Открыть), в котором вы можете указать имя формы, затем создает форму и открывает ее в Form Designer (Конструкторе форм), где вы можете указать подходящие случаю значения для Target и lShellExecute.

Свойства, события, методы | Описание
Свойство lShellExecute | Запускать выбранный URL. По умолчанию: .T.
Свойство Target | Указывает имя выбранного URL. По умолчанию: ""
Свойство cFileExt | Для внутреннего использования классом.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


User Privileges Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс User Privileges
Смотрите также
CollapseAll image

Этот класс возвращает User Access Rights (Права доступа пользователя) текущего зарегистрированного пользователя. На платформе Windows 2000, это может быть Guest, Power User или Administrator. Эта информация, в общем случае, необходима в приложениях, которые предоставляют соглашение Windows 2000 Logo.

Категория | Системные утилиты
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Utilities
Класс | _userpriv
Базовый класс | Custom
Библиотека класса | _system.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\Logo.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или , из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). При добавлении класса в форму, Visual FoxPro помещает на нее иконку класса. Затем вы можете указать соответствующие значения свойств и предоставить любые необходимые объекта ввода/вывода.. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы | Описание
Метод GetUserPriv | Возвращает путь к указанной системной папке. Синтаксис: GetUserPriv(cUser) Возврат: права доступа пользователя Аргументы: cUser указывает имя пользователя для проверки.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VCR Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс VCR Buttons
Смотрите также
CollapseAll image

Этот набор командных кнопок навигации по записям представляет собой субкласс класса _nav2buttons, который включает в себя кнопки навигации Top, Next, Prev и Bottom.

Категория | Навигация по данным
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _nav4buttons
Базовый класс | Container
Библиотека класса | _table.vcx
Родительский класс | _nav2buttons
Образец использования | ...\Samples\Solution\Ffc\datanav.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Элемент галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавит в форму). Когда вы добавляете класс в форму, вам необходимо предоставить соответствующие объекты ввода/выывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VCR Picture Navigation Buttons Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс кнопок навигации - VCR Picture Navigation Buttons
Смотрите также
CollapseAll image

Этот класс представляет собой набор кнопок навигации, которые отображат картинки подобные картинкам на кнопках видеомагнитофона - Top, Next, Previousи Bottom.

Категория | Навигация по данным
Каталог по умолчанию | Visual FoxPro Catalog\Foundation Classes\Data Navigation
Класс | _nav4picbuttons
Базовый класс | Container
Библиотека класса | _table2.vcx
Родительский класс | _nav4buttons
Образец использования | ...\Samples\Solution\Ffc\datanav.scx

Expand image Примечания

Для использования класса перетащите его в проект или в форму или выберите из контекстного меню Component Gallery Item (Элемент галереи компонентов) пукнт Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в форму, вы должны предоставить также объекты ввода/вывода. Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между добавлением класса в преокт или созданием субкласса, на его основе.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководства по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Video Player Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Video Player
Смотрите также
CollapseAll image

Этот класс загружает и проигрывает видеофайл и обеспечивает доступ к Media Control Interface (MCI).

Категория | Мультимедиа
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Multimedia
Класс | _videoplayer
Базовый класс | Container
Библиотека класса | multimedia.vcx
Родительский класс | _container
Образец использования | ...\Samples\Solution\Forms\mci_play.scx

Expand image Примечания

Для использования класса перетащите его в проект или на форму, или из контекстного меню Component Gallery Item (Элемент галереи компонентов), выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора: добавить класс или создать субкласс на его основе. Когда вы выбираете опцию из контекстного меню или перетаскиваете класс на форму, Visual FoxPro открывает конструктор, который позволяет вам указать подходящие значения для cFileName, lAutoOpen, lAutoPlay, lAutoRepeat и cControlSource.

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации.

Свойства, события, методы | Описание
Свойство AutoOpen | Определяет, нужно ли автоматически открыть указанный видеофайл при создании класса. По умолчанию: .T.
Свойство AutoPlay | Определяет, нужно ли автоматически начать прогрывание указанного видеофайла после его открытия. По умолчанию: .T.
Свойство AutoRepeat | Если установлен в true (.T.), то указанный видеофайл будет проигрываться бесконечно. По умолчанию: .T.
Свойство cFileName | Определяет видеофайл, связанный с Video Frame. По умолчанию: ""
Свойство Controlsource | Определяет источник данных, с которым связывается объект. По умолчанию: ""
Свойство MCIAlias | Определяет псевдоимя видеофайла для вызова команд MCI. Если свойство содержит пустое значение, то в качестве псевдоимени будет использоваться имя файла. По умолчанию: ""
Свойство MCIError | Определяет результат исполнения последней команды MCI. По умолчанию: 0
Свойство MCIErrorString | Содержит строку описания ошибки из последней исполненной команды MCI. По умолчанию: ""
Метод CloseVideo | Закрывает видеофайл и освобождает все ресурсы. Синтаксис: CloseVideo( ) Возврат: нет Аргументы: нет
Метод DoMCI method | Исполняет команду MCI. Синтаксис: DoMCI(cMCIcmd) Возврат: cRetString Аргументы: cMCIcmd указывает команду для исполнения.
Метод PauseVideo | Приостанавливает проигрывание видеофайла. Синтаксис: PauseVideo( ) Возврат: нет Аргументы: нет
Метод PlayVideo | Проигрывает текущий загруженный видеофайл. Синтаксис: PlayVideo( ) Возврат: нет Аргументы: нет
Метод SetPosition | Позволяет пользователю установить позицию в медиа-файле. Синтаксис: SetPosition(cPosition) Возврат: нет Аргументы: cPosition указывает Start, End или число, представляющее собой миллисекунды во временной линейке медиа-файла.
Метод GetMCIError | Для внутреннего использования классом.
Метод OpenVideo | Для внутреннего использования классом.
Метод ShowMCIError | Для внутреннего использования классом.

Expand image Смотрите также

Задачи

Образец: Проигрывание мультимедийных файлов с помощью команд MCI

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Web Browser Control Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Web Browser Control
Смотри также

Этот субкласс Microsoft Internet Explorer browser предоставляет обработчик событий для кода Visual FoxPro и может быть добавлен в формы Visual FoxPro.

Категория | Internet
Каталог, используемый по умолчанию | Visual FoxPro Catalog\Foundation Classes\Internet
Класс | _Webbrowser4
Библиотека класса | _webview.vcx
Родительский класс | olecontrol
Пример | ...\Samples\Solution\Ffc\Webvwr.scx

Примечания

Для использования класса: бросьте класс на проект или на форму или выберите из контекстного меню галереи компонентов (Component Gallery) пункт Add to Project или Add to Form. Когда вы добавляете класс в форму, Visual FoxPro помещает на нее логотип приложения Internet Explorer.В методе Navigate вам необходимо указать соответствующий унифицированный локатор ресурса (URL). Когда вы бросаете класс на проект, вы можете выбрать между двумя возможностями - добавление класса или создание субкласса.

Смотри Указатель по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов в ваших приложениях.

Свойства, события, методы | Описание
Свойство aHistory[1,2] | Массив истории адресов URL. По умолчанию: .F.
aParam[1,0] свойство | Массив параметров URL. По умолчанию: .F.
aScripts[1,0] свойство | Массив скриптов Visual FoxPro. По умолчанию: .F.
cAlias свойство | Возвращает псевдоимя текущей выбранной таблицы. Устанавливается автоматически при использовании метода OpenTable. По умолчанию: ""
cBeforeURL свойство | Указывает текущий URL до полного извлечения документа. По умолчанию: ""
cBlankHTMLFile свойство | Определяет пустой .htm файл. По умолчанию: Blank.htm
cDBF свойство | Возвращает имя файла текущей выбранной таблицы. Устанавливается автоматически при использовании метода OpenTable. По умолчанию: ""
cDBFPath свойство | Возвращает путь к текущей выбранной таблице. Устанавливается автоматически при использовании метода OpenTable. По умолчанию: ""
cFilename свойство | Возвращает имя файла текущего документа. По умолчанию: ""
cFilepath свойство | Возвращает путь к текущему документу. По умолчанию: ""
cLasturl свойство | Указывает на URL, использованным последним. По умолчанию: ""
cNewURL свойство | Указывает URL до полного извлечения документа. По умолчанию: ""
cParam свойство | Определяет строку параметров URL. По умолчанию: ""
cParamdelimiter свойство | Определяет символ разделителя строки параметров URL . По умолчанию: &
cParseFileExt свойство | Список расширений файлов для разбора в режиме предобработки. По умолчанию: htm;html;asp
cProgramPath свойство | Определяет путь к классу Web browser control. По умолчанию: ""
cSourceFile свойство | Определяет имя файла текущего документа. По умолчанию: ""
cSourceFilename свойство | Определяет имя файла источника текущего документа. По умолчанию: ""
cSourceFilepath свойство | Определяет путь к текущему источнику документа. По умолчанию: ""
cSourceHTML свойство | Определяет текст HTML текущего источника документа. По умолчанию: ""
cSourceURL свойство | Определяет URL текущего источника документа. По умолчанию: ""
cTempFilename свойство | Определяет имя файла для временного файла документа. По умолчанию: ""
cTempFilePrefix свойство | Префикс, используемый для имени файла временного файла документа. По умолчанию: _temp
cURL свойство | Текущей URL. По умолчанию: ""
cUserID свойство | Идентификатор пользователя (User ID), определяемый пользователем и не используемый для внутренних целей. По умолчанию: ""
cUserName свойство | Имя пользователя (User name), определяемое пользователем и не используемое для внутренних целей. По умолчанию: ""
cVersion свойство | Определяет версию субкласса Web browser control. По умолчанию: "Web Browser 04.01.0006"
cVFPScript свойство | Определяет программное имя скрипта Visual FoxPro. По умолчанию: ""
cVFPScriptTable свойство | Определяет имя файла таблицы скрипта Visual FoxPro. По умолчанию: ""
cVFPSprotocol свойство | Определяет используемую по умолчанию строку протокола скрипта Visual FoxPro. По умолчанию: vps:
lBlankHTMLStartup свойство | Определяет будет ли браузер стартовать с пустой начальной Web страницей. По умолчаниюt: .F.
lBusy свойство | Определяет режим "занят" Web браузера. По умолчанию: .F.
lDebug свойство | Определяет, будет ли Web браузер запущен в отладочном режиме. По умолчанию: .F.
lDesign свойство | Определяет, будет ли Web браузер запущен в режима разработки. По умолчанию: .F.
lDHTML свойство | Определяет, будет ли Web браузер поддерживать динамический HTML. По умолчанию: .T.
lHistoryEnabled свойство | Определяет, будет ли разрешена запись истории URL посещений. По умолчанию: .F.
lParseSource свойство | Определяет - будет ли разрешен режим разборки источника документа. По умолчанию: .F.
lRefresh свойство | Определяет - будет ли элемент обновляться при вызове метода Refresh. По умолчанию: .F.
lRefreshDeactivate свойство | Определяет - будет ли разрешено автовыполнение метода RefreshDeactivate для события LostFocus event. По умолчанию: .F.
lRefreshMode свойство | Определяет - разрешен или нет режим обновления документа . По умолчанию: .F.
lRelease свойство | Определяет - будет ли исполнен выполнен метод Release объекта и будет ли объект помещен в процесс удаления из памяти. По умолчанию: .F.
lRunCodeMode свойство | Определяет - будет ли разрешен режим Run code. По умолчанию: .F.
lVFPsScript свойство | Определяет - будет ли разрешен режим скриптов Visual FoxPro. По умолчанию: .F.
lViewSourceMode свойство | Определяет - будет ли разрешен режим просмотра исходника документа (View source mode). По умолчанию: .F.
nDataSessionID свойство | Определяет номер сессии данных псевдоимени таблицы текущей выбранной таблицы, который устанавливается автоматически при использовании метода OpenTable. По умолчанию: 0
nHistoryCount свойство | Определяет длину массива истории посещений (URL history). По умолчанию: 0
nParamCount свойство | Определяет длину массива параметров URL. По умолчанию: .F.
nRecno свойство | Определяет текущий номер записи текущей выбранной таблицы, которая установливается автоматически при использовании метода OpenTable. По умолчанию: 0
nScriptCount свойство | Определяет длину массива скриптов Visual FoxPro. По умолчанию: 0
nUserLevel свойство | Определяет уровень пользователя, устанавливаемый пользователем и неиспользуемый для внутренних целей. По умолчанию: 0
oAction свойство | Определяет объект действий пользователя, устанавливаемый пользователем и неиспользуемый для внутренних целей. По умолчанию: .NULL.
oHost свойство | Определяет host форму – эквивалентно THISFORM. По умолчанию: .NULL.
oSource свойство | Определяет объект источника, устанавливаемый пользователем и неиспользуемый для внутренних целей.. По умолчанию: .NULL.
oUser свойство | Определяет объект пользователя, устанавливаемый пользователем и неиспользуемый для внутренних целей.. По умолчанию: .NULL.
uResult свойство | Определяет вариантное значение результата. По умолчанию: .T.
uReturn свойство | Определяет вариантное возвращаемое значение. По умолчанию: .T.
uValue свойство | Определяет вариантное значение, устанавливаемое пользователем и неиспользуемое для внутренних целей... По умолчанию: .T.
AddProp метод | Доабвляет новое свойство. Синтаксис: AddProp(tcName, tcProperty, tuValue) Аргументы: tcName определяет имя свойства tcProperty.tuValue определяет значение, присваемое свойству.
BeforeNavigate метод | Предоставляет событие BeforeNavigate. Синтаксис: BeforeNavigate(URL, flags, targetframename, postdata, headers, cancel) Аргументы: URL определяет Web страницу, которая будет использована.flags определяет -будет ли ресурс добавлен в список истории посещений,читать или записывать в кэш и из кэша, отображать ресурс в новом окне или комбинацию перечисленного. targetframename определяет имя целевого фрейма. postdata определяет данные посылаемые транзакции HTTP Post. headers определяет заголовки HTTP для отправки серверу. cancel определяет - будет ли прекращена навигация.
BeforeRetrieval метод | Identifies the event to run before retrieval. Синтаксис: BeforeRetrieval(URL, flags, targetframename, postdata, headers, cancel) Аргументы: URL определяет Web страницу, которая будет использована.flags определяет -будет ли ресурс добавлен в список истории посещений,читать или записывать в кэш и из кэша, отображать ресурс в новом окне или комбинацию перечисленного. targetframename определяет имя целевого фрейма. postdata определяет данные посылаемые транзакции HTTP Post. headers определяет заголовки HTTP для отправки серверу. cancel определяет - будет ли прекращена навигация.
BrowseTable метод | Просмотр текущей выбранной таблицы на основе псевдоимени cAlias. Синтаксис: BrowseTable(tcAlias, tcClauses)
CloseTable метод | Закрывает текущую выбранную таблицу на основе псевдоимени cAlias. Синтаксис: CloseTable(tcAlias)
EditScript метод | Метод для редактирования определенного скрипта Visual FoxPro. Синтаксис: EditScript(tcScriptName) Аргументы: tcScriptName определяет имя скрипта Visual FoxPro.
EditString метод | Открывает строку для редактирования в окне редактирования. Синтаксис: EditString(tcString, tcTitle, tlNoEdit) Аргументы: tcString определяет строку для редактирования. tcTitle определяет имя окна редактирования. tlNoEdit определяет - будет ли строка редактируемой.
EraseTempFile метод | Определяет будет ли стираться текущий временный файл. Синтаксис: EraseTempFile( ) Return: нет Аргументы: нет
FileToString метод | Возвращает строку, содержащую содержимое файла. Синтаксис: FileString(tcFileName) Аргументы: tcFileName определяет имя файла, содержимое которого извлекается в строку.
FrameBeforeNavigate метод | Предоставляет метод события FrameBeforeNavigate. Синтаксис: FrameBeforeNavigate(URL, flags, targetframename, postdata, headers, cancel) Аргументы: URL определяет Web страницу, которая будет использована.flags определяет -будет ли ресурс добавлен в список истории посещений,читать или записывать в кэш и из кэша, отображать ресурс в новом окне или комбинацию перечисленного. targetframename определяет имя целевого фрейма. postdata определяет данные посылаемые транзакции HTTP Post. headers определяет заголовки HTTP для отправки серверу. cancel определяет - будет ли прекращена навигация.
GetHTML метод | Возвращает HTML разметку текущего документа. Синтаксис: GetHTML(tcName, tcAlias) Аргументы: tcName определяет имя возвращаемого документа. tcAlias определяет псевдоимя cVFPScriptTable.
GetSourceFile метод | Возвращает имя файла текущего исходника документа. Синтаксис: GetSourceFile( ) Аргументы: нет
GetSourceHTML метод | Возвращает HTML разметку текущего исходника документа. Синтаксис: GetSourceHTML( ) Аргументы: нет
GoBack метод | Выполняет переход назад по гиперссылке в списке истории посещений. Синтаксис: GoBack( ) Return: нет Аргументы: нет
GoForward метод | Выполняет переход вперед по гиперссылке в списке истории посещений. Синтаксис: GoForward( ) Return: нет Аргументы: нет
Msgbox метод | Метод обработчика Message box. Синтаксис: Msgbox(tcMessage, tnType,tcTitle) Аргументы: tcMessage определяет сообщение для отображнения. tnType определяет тип messagebox. tcTitle определяет титул окна messagebox.
NavigateComplete метод | Предоставляет метод события NavigateComplete. Синтаксис: NavigateComplete(URL) Аргументы: URL определяет Web страницу для навигации.
NewWindow метод | Предоставляет метод события NewWindow. Синтаксис: NewWindow(URL, flags, targetframename, postdata, headers, processed) Аргументы: URL определяет Web страницу, которая будет использована.flags определяет -будет ли ресурс добавлен в список истории посещений,читать или записывать в кэш и из кэша, отображать ресурс в новом окне или комбинацию перечисленного. targetframename определяет имя целевого фрейма. postdata определяет данные посылаемые транзакции HTTP Post. headers определяет заголовки HTTP для отправки серверу. cancel определяет - будет ли прекращена навигация.
OpenTable метод | Открывает указанную таблицу и активирует ее как текущую таблицу путем установки свойства cAlias. Синтаксис: OpenTable(tcFileName, tcAlias,tlExclusive, tcFilter) Аргументы: tcFileName определяет имя открываемой таблицы. tcAlias определяет псевдоимя таблицы. tlExclusive определяет - будет ли таблица открыта в режиме EXCLUSIVE. tcFilter определяет выражение для использования в качестве фильтра.
OpenVFPScript метод | Открывает таблицу скриптов Visual FoxPro. Синтаксис: OpenVFPScript( )
ParseSource метод | Разбирает код исходника документа HTML. Синтаксис: ParseSource(URL, flags, targetframename, postdata, headers, cancel) Аргументы: URL определяет Web страницу, которая будет использована.flags определяет -будет ли ресурс добавлен в список истории посещений,читать или записывать в кэш и из кэша, отображать ресурс в новом окне или комбинацию перечисленного. targetframename определяет имя целевого фрейма. postdata определяет данные посылаемые транзакции HTTP Post. headers определяет заголовки HTTP для отправки серверу. cancel определяет - будет ли прекращена навигация.
RefreshDeactivate метод | Используется при потере фокуса компонентом Web browser control. Синтаксис: RefreshDeactivate( ) Аргументы: нет
RefreshMode метод | Устанавливает режим обновления. Синтаксис: Refresh( ) Аргументы: нет
RefreshSource метод | Обновляет источник. Синтаксис: RefreshSource( ) Return: нет Аргументы: нет
ReleaseHost метод | Уничтожает host форму. Синтаксис: ReleaseHost( ) Аргументы: нет
RunAction метод | Исполняет действие, которое является переданным методом объекта, ссылка на который определяется свойством oAction. Синтаксис: RunAction(tcMethod) Аргументы: tcMethod определяет метод, который будет исполнен.
RunCode метод | Исполняет указанный блок кода Visual FoxPro без выполнения компиляции. Синтаксис: RunCode(tcCode) Аргументы: tcCode определяет блок кода Visual FoxPro для исполнения.
RunScript метод | Исполняет указанный скрипт Visual FoxPro. Синтаксис: RunScript(tcScript, tcAlias) Аргументы: tcScript определяет скрипт для исполнения. tcAlias указывает псевдоимя файла, содержащего tcScript.
SetBusyState метод | Устанавливает метод состояния "занято". Синтаксис: SetBusyState(tlBusy) Аргументы: tlBusy определяет идет ли процесс загрузки.
SetParam метод | Определяет метод установки параметров URL. Синтаксис: SetParam(tcParam) Аргументы: tcParam
SkipRecord метод | Skip record of currently selected table, based on cAlias. Синтаксис: SkipRecord(tnRecords) Аргументы: tnRecords specifies the number of records to skip.
StringToFile метод | Сохраняет строку содержания в файл. Синтаксис: StringToFile(tcText, tcFileName) Аргументы: tcText определяет текст для сохранения. tcFileName определяет имя целевого файла, в котором будет сохранен текст строки.
TrimExt метод | Возвращает имя файла без расширения. Синтаксис: TrimExt(tcFileName, tlPlatformType) Return: cFilename Аргументы: tcFileName определяет имя файла для обработки. tlPlatformType определяет - из какой платформы - DOS или Unix - получен файл.
TrimFile метод | Возвращает путь указанного имени файла. Синтаксис: TrimFile(tcFileName, lPlatType) Аргументы: tcFileName определяет имя целевого файла.lPlatType определяет платформу файла - DOS или Unix.
TrimPath метод | Возвращает имя файла без указания пути. Синтаксис: TrimPath(tcFileName, tlTrimExt, tlPlatformType) Аргументы: tcFileName определяет имя файла. tlTrimExt определяет - нужно ли отсечь расширение от имени файла.tlPlatformType определяет платформу файла - DOS или Unix.
ValidateURL метод | Проверяет the URL. Синтаксис: ValidateURL(tcURL) Аргументы: tcUrl указывает Web страницу для проверки.
ValidURL метод | Возвращает проверенный URL. Синтаксис: ValidURL(tcURL) Аргументы: tcUrl определяет возвращаемую Web страницу.
VFPS метод | Исполняет скрипт Visual FoxPro, основанный на указанном URL. Синтаксис: VFPS(tcCommand) Аргументы: tcCommand определяет выражение Visual FoxPro для исполнения.
VFPScript метод | Исполняет указанный скрипт Visual FoxPro. Синтаксис: VFPScript(tcName, tcAlias, tnCode) Аргументы: tcName specifies the name of the file cVFPScript.tcAlias specifies the alias of cVFPScriptTable.tnCode specifies the Visual FoxPro code to run.
ViewSource метод | View the source of the current document. Синтаксис: ViewSource(tlNoWait, tlNoEdit) Аргументы: tlNoWait определяет, будет ли программа приостановлена при отображении окна. tlNoEdit определяет будет ли просматриваемый исходник редактируемым.
WaitWindow метод | Метод-обертка для Wait window. Синтаксис: WaitWindow(tcText, tlWait) Аргументы: tcText определяет текст, который будет отображаться в Wait Window .tlWait определяет, будет ли программа приостановлена при отображении окна.
WildcardMatch метод | Возвращает .T. если строка с заменителями (wild card) соответствует указанной строке. Синтаксис: WildcardMatch(tcMatchExpList, tcExpressionSearched, tlMatchAsIs) Return: lMatch Аргументы: tcMatchExpList определяет выражение для поиска.tcExpressionSearched определяет выражение, в котором производится поиск. tlMatchAsIs specifies определяет требуется ли точное соответствие строк.

Смотри также

Прочие ресурсы

Руководство по использованию фундаментальных классов Visual FoxPro
Visual FoxPro - фундаментальные классы от A до Z
Примеры использования фундаментальных классов Visual FoxPro

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Window Handler Foundation Class

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальный класс Window Handler
Смотрите также
CollapseAll image

Этот класс общего назначения - Window Handler - производит несколько операций общего плана над окнами, например, каскадирование окон.

Категория | Приложение
Каталог размещения по умолчанию | Visual FoxPro Catalog\Foundation Classes\Application
Класс | _windowhandler
Базовый класс | Custom
Библиотека класса | _ui.vcx
Родительский класс | _custom
Образец использования | ...\Samples\Solution\Ffc\whandler.scx

Expand image Примечания

Для использования класса в своем приложении перетащите его в проект или на форму; или из контекстного меню Component Gallery Item (Галереи компонентов) выберите Add to Project (Добавить в проект) или Add to Form (Добавить в форму). Когда вы перетаскиваете класс в проект, у вас есть возможность выбора между вводом класса в проект или созданием субкласса на его основе. При добавлении класса в форму, Visual FoxPro на ней иконку класса, после чего вы можете указать значения нужных свойств доступных методов в Form Designer (Конструкторе форм).

Смотрите Руководство по использованию фундаментальных классов Visual FoxPro для получения более подробной информации об использовании фундаментальных классов.

Свойства, события, методы Описание

Свойство IMDIWorkspaceColor

Содержит цвета Windows для фрейма окна top-level.

По умолчанию: 0

Метод CascadeFormInstances

Каскадирует формы.

Синтаксис: CascadeFormInstances(tcFormName, tlOmitAutoCenteredForms, tnStartTop, tnStartLeft, tnStartColumn)

Возврат: Нет

Аргументы: tcFormName определяет форму или _screen в которых будут каскадироваться формы.

tlOmitAutoCenteredForms определяет будут ли при каскадировании пропущены формы, для которых определена автоцентровка.

tnStartTop указывает начальную координату верха каскада.

tnStartLeft указывает начальную координату левого края каскада.

Метод GetCurrentTopFormRef

Возвращает текущий фрейм окна. Используется главным образом для top-level форм приложений.

Синтаксис: GetCurrentTopFormReference( )

Возврат: loTopForm

Аргументы: Нет

Метод IMDIWorkspaceColor_access( )

Синтаксис: IMDIWorkspaceColor_access( )

Возврат: GetSysColor(12)

Аргументы: Нет

Метод InvokeMenuItemInFrame

Используется для вызова элементов меню в top-level форме приложений для доступа к определенным системным диалоговым окнам, таким как Find. Кроме того, используется для встраивания меню в диалоговые окна, которые не имею собственных меню.

Синтаксис: InvokeMenuItemInFrame(tcAction)

Возврат: Нет

Аргументы: tcAction определяет операции навигации, такие как NEXT или PREVIOUS. Вы можете, кроме того, использовать следующие операции: UNDO, REDO, CUT, COPY, PASTE, CLEAR, SELECTALL, FIND, FINDAGAIN, REPLACE.

Метод ShowCurrentTopForm

Для внутреннего использования классом

Метод ShowWindowInFrame

Для внутреннего использования классом

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XML Web Services Foundation Classes

Visual FoxPro 9.0 Справочное руководство по языку
Фундаментальные классы XML Web Services
Смотрите также
CollapseAll image

Библиотеки фундаментальных классов XML Web Service , _WS3Utils.vcx и _WS3Client.vcx, содержат коллекцию классов, которые могут быть поданы как расширения Visual FoxPro XML Web service для Microsoft SOAP Toolkit version 3.0. Используйте эти классы для регистрации XML Web сервисов в соответствии с поддержкой Toolkit. Вы можете, кроме того, с помощью этих расширений публиковать Visual FoxPro COM серверы (.dll файлы) как XML Web сервисы.

Библиотека классов _WS3Utils.vcx
Класс | Описание
Olecontrols | Управляющий элемент Tree view, используемый построителем "XML Web Service Builder".
Wsbasebuilder | Базовый класс формы, используемый построителем "XML Web Service Builder".
Wsbuilder | Начальное диалоговое окно построителя "XML Web Service Builder".
Wsbuilder1 | XML Web Service – диалоговое окно "Operation Detail".
Wsbuilder2 | XML Web Service – диалоговое окно "Client Detail".
Wsbuilder3 | XML Web Service – диалоговое окно "Complex Types".
Wsbuilder4 | XML Web Service – диалоговое окно "Parameter Values".
Wsconfig | Диалоговое окно, используемое "Web Services Publisher" для указания URL для WSDL файлов.
Wsfoxcode | Класс, используемый для обслуживания IntelliSense для XML Web сервиса, когда к нему обеспечивается доступ в окне редактирования программ.
Wsmanager | Класс, вызываемый панелью XML Web Services в Task Pane Manager для управления XML Web сервисами.
Wsphook | Класс каркаса проекта, используемый XML Web Services Publisher для регенрации WSDL файлов при перестройке проекта.
Wspicker | Диалоговое окно для выбора класса XML Web service, для встави замещающего кода. Это диалоговое окно открывается, когда вы напечаете пару символов, ws, в окне редактирования программ.
Wsproxy | Класс, используемый для генерации замещающего кода, когда класс XML Web service перетаскивается из Toolbox в окно редактирования программ или вызывается при печати пару символов, ws, в окне редактирования программ.
Wspub | Диалоговое окно "Visual FoxPro XML Web Services Publisher".
Wsreg | Диалоговое окно "Visual FoxPro XML Web Services Registration".
Wstest | Диалоговое окно, вызываемое из панели XML Web Services pane в Task Pane Manager для тестирования XML Web сервиса.
Wstool | Диалоговое окно "Advanced" публикатора "Visual FoxPro XML Web Services Publisher".
Wsuddi | Устарело - сервис отключен
_webservices | Класс ядра движка для публикации и регистрации XML Web сервисов.
Библиотека классов _WS3Client.vcx
Класс | Описание
Wshandler | Класс ядра клиента, используемый для коммуникаций с XML Web сервисом. Этот класс используется в замещающем коде, генерируемом в окне редактирования программ и при визуальном связывании управляющих элементов с XML Web сервисами на форме.
Colbase | Класс, из которого происходят классы коллекции XML Web сервиса.
Colclient | Класс, добавляемый в коллекцию клиентов ColClients.
Colclients | Класс коллекции клиентов операции.
Coloperation | Класс, добавляемый в коллекцию операций Coloperations.
Coloperations | Класс коллекции операций.
Colparm | Класс, добавляемый в коллекцию параметров Colparms.
Colparms | Класс коллекции параметров операции
Wsparms | Диалоговый блок, который запрашивает пользователя ввести параметры для вызова операции XML Web сервиса.
Wsparmzoom | Диалоговый блок "Zoom", используемый диалоговым блоков ввода параметров.

Expand image Примечания

В библиотеке классов _WS3Utils.vcx, класс ядра движка, _WebServices, общается с Toolkit напрямую. Класс _WebServices содержит методы для публикации XML Web сервисов, включая также те методы, которые читают информацию из библиотеки типов из вашего сервера, а также те методы, которые генерируют необходимые файлы поддержки XML Web сервисов, например, ASP listener и файлы описания сервиса WSDL. Вы можете, кроме того, зарегистрировать внешний XML Web сервис, используя предоставленные классами методы.

Библиотека классов _WS3Utils.vcx содержит прочие файлы поддержки для работы с XML Web сервисами. Эти классы являются, по существу, классами формы, которые помогают пользователю собирать информацию для регистрации и публикации XML Web сервисов. Они работают совместно с классом _WebServices.

В билиотеке классов _WS3Client.vcx, основным классом для использования с XML Web сервисами является WSHandler. Этот класс обрабатывает все вызовы к классу SOAP клиента SOAP Toolkit 3.0, который соединяется с XML Web сервисом и вызывает операции.

Для получения более подробной информации об использовании фундаментальных классов, смотрите Руководство по использованию фундаментальных классов Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Фундаментальные классы Visual FoxPro от A до Z

Концепции

Руководство по использованию фундаментальных классов Visual FoxPro

Прочие ресурсы

Образцы использования фундаментальных классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Properties (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Свойства Объектов (Visual FoxPro)
См. Также

О совместимости с младшими версиями VFP смотрите раздел: Совместимость элементов языка с младшими версиями Visual FoxPro.

ActiveColumn, Свойство

ActiveControl, Свойство

ActiveForm, Свойство

ActivePage, Свойство

ActiveProject, Свойство

ActiveRow, Свойство

AddLineFeeds, Свойство

ADOCodePage, Свойство

Alias, Свойство

Align, Свойство

Alignment, Свойство

AllowAddNew, Свойство

AllowAutoColumnFit, Свойство

AllowCellSelection, Свойство

AllowDelete, Свойство

AllowHeaderSizing, Свойство

AllowInsert, Свойство

AllowModalMessages, Свойство

AllowOutput, Свойство

AllowRowSizing, Свойство

AllowSimultaneousFetch, Свойство

AllowTabs, Свойство

AllowUpdate, Свойство

AlwaysOnBottom, Свойство

AlwaysOnTop, Свойство

Anchor, Свойство

Application, Свойство

AutoActivate, Свойство

AutoCenter, Свойство

AutoCloseTables, Свойство

AutoComplete, Свойство

AutoCompSource, Свойство

AutoCompTable, Свойство

AutoHideScrollBar, Свойство

AutoIncrement, Свойство (Visual FoxPro)

AutoOpenTables, Свойство

AutoRelease, Свойство

AutoSize, Свойство

AutoVerbMenu, Свойство

AutoYield, Свойство

BackColor, ForeColor, Свойства

BackStyle, Свойство

BaseClass, Свойство

BatchUpdateCount, Свойство

BindControls, Свойство

BorderColor, Свойство

BorderStyle, Свойство

BorderWidth, Свойство

Bound, Свойство

BoundColumn, Свойство

BoundTo, Свойство

BreakOnError, Свойство

BufferMode, Свойство

BufferModeOverride, Свойство

BuildDateTime, Свойство

ButtonCount, Свойство

Buttons, Свойство

Cancel, Свойство

Caption, Свойство (Visual FoxPro)

Centered, Свойство

Century, Свойство

ChildAlias, Свойство

ChildOrder, Свойство

ChildTable, Свойство

Class, Свойство (Visual FoxPro)

ClassLibrary, Свойство

ClipControls, Свойство

Closable, Свойство

CLSID, Свойство

CodePage, Свойство

ColorScheme, Свойство

ColorSource, Свойство

ColumnCount, Свойство (Visual FoxPro)

ColumnLines, Свойство

ColumnOrder, Свойство

Columns, Свойство

ColumnWidths, Свойство

CommandClauses, Свойство

Comment, Свойство

CompareMemo, Свойство

ConflictCheckCmd, Свойство

ConflictCheckType, Свойство

ContinuousScroll, Свойство

ControlBox, Свойство

ControlCount, Свойство

Controls, Свойство (Visual FoxPro)

ControlSource, Свойство

ConversionFunc, Свойство

Count, Свойство (Visual FoxPro)

CurrentControl, Свойство

CurrentDataSession, Свойство

CurrentPass, Свойство

CurrentX, CurrentY, Свойства

CursorSchema, Свойство

CursorSource, Свойство

CursorStatus, Свойство

Curvature, Свойство

Database, Свойство

DataSession, Свойство

DataSessionID, Свойство

DataSource, Свойство (Visual FoxPro)

DataSourceType, Свойство

DataType, Свойство

DateFormat, Свойство

DateMark, Свойство

Debug, Свойство (Visual FoxPro)

DeclareXMLPrefix, Свойство

DEClass, Свойство

DEClassLibrary, Свойство

Default, Свойство

DefaultFilePath, Свойство

DefOLELCID, Свойство

DeleteCmd, Свойство

DeleteCmdDataSource, Свойство

DeleteCmdDataSourceType, Свойство

DeleteMark, Свойство

Description, Свойство (Visual FoxPro)

Desktop, Свойство

Details, Свойство

DisabledBackColor, DisabledForeColor, Свойства

DisabledItemBackColor, DisabledItemForeColor, Свойства

DisabledPicture, Свойство

DisableEncode, Свойство

DisplayCount, Свойство

DisplayValue, Свойство

Dockable, Свойство

Docked, Свойство

DockPosition, Свойство

DocumentFile, Свойство

DownPicture, Свойство

DragIcon, Свойство

DragMode, Свойство

DrawMode, Свойство

DrawStyle, Свойство

DrawWidth, Свойство

DynamicAlignment, Свойство

DynamicBackColor, DynamicForeColor, Свойства

DynamicCurrentControl, Свойство

DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline, Свойства

DynamicFontName, Свойство

DynamicFontOutline, Свойство

DynamicFontShadow, Свойство

DynamicFontSize, Свойство

DynamicInputMask, Свойство

DynamicLineHeight, Свойство

EditorOptions, Свойство

Enabled, Свойство (Visual FoxPro)

EnableHyperlinks, Свойство

Encrypted, Свойство

ErrorNo, Свойство

Exclude, Свойство (Visual FoxPro)

Exclusive, Свойство

FetchAsNeeded, Свойство

FetchMemo, Свойство

FetchMemoCmdList, Свойство

FetchMemoDataSource, Свойство

FetchMemoDataSourceType, Свойство

FetchSize, Свойство

FileClass, Свойство

FileClassLibrary, Свойство

FillColor, Свойство (Visual FoxPro)

FillStyle, Свойство

Filter, Свойство

FirstElement, Свойство

FirstNestedTable, Свойство

Flags, Свойство (Visual FoxPro)

FontBold, FontItalic, FontStrikethru, FontUnderline, Свойства

FontCharSet, Свойство

FontCondense, FontExtend, Свойства

FontName, Свойство

FontOutline, Свойство

FontShadow, Свойство

FontSize, Свойство

ForceCloseTag, Свойство

Format, Свойство

FormCount, Свойство

FormattedOutput, Свойство

Forms, Свойство

FractionDigits, Свойство

FRXDataSession, Свойство

FullName, Свойство

GDIPlusGraphics, Свойство

GridLineColor, Свойство

GridLines, Свойство

GridLineWidth, Свойство

HalfHeightCaption, Свойство

HeaderClass, Свойство

HeaderClassLibrary, Свойство

HeaderHeight, Свойство

Height, Свойство

HelpContextID, Свойство (Visual FoxPro)

HideSelection, Свойство

Highlight, Свойство

HighlightBackColor, Свойство

HighlightForeColor, Свойство

HighlightStyle, Свойство

HighlightRow, Свойство

HighlightRowLineWidth, Свойство

HomeDir, Свойство

Hours, Свойство

HostName, Свойство (Visual FoxPro)

HScrollSmallChange, Свойство

hWnd, Свойство (Visual FoxPro)

Icon, Свойство (Visual FoxPro)

Increment, Свойство

IncrementalSearch, Свойство

InitialSelectedAlias, Свойство

InputMask, Свойство

InsertCmd, Свойство

InsertCmdDataSource, Свойство

InsertCmdDataSourceType, Свойство

InsertCmdRefreshCmd, Свойство

InsertCmdRefreshFieldList, Свойство

InsertCmdRefreshKeyFieldList, Свойство

Instancing, Свойство

IntegralHeight, Свойство

Interval, Свойство

IMEMode, Свойство

IsAttribute, Свойство

IsBase64, Свойство

IsBinary, Свойство

IsNull, Свойство

IsDiffGram, Свойство

IsLoaded, Свойство

ItemBackColor, ItemForeColor, Свойства

ItemData, Свойство

ItemIDData, Свойство

ItemTips, Свойство

IXMLDOMElement, Свойство

KeyboardHighValue, KeyboardLowValue, Свойства

Keyfield, Свойство

KeyFieldList, Свойство

KeyPreview, Свойство

KeySort, Свойство

LanguageOptions, Свойство

Left, Свойство (Visual FoxPro)

LeftColumn, Свойство

LineContents, Свойство

LineNo, Свойство

LineSlant, Свойство

LinkMaster, Свойство

List, Свойство

ListCount, Свойство

ListenerType, Свойство

ListIndex, Свойство (Visual FoxPro)

ListItem, Свойство

ListItemID, Свойство

LockColumns, Свойство

LockColumnsLeft, Свойство

LockScreen, Свойство

MacDesktop, Свойство

MainFile, Свойство

MapN19_4ToCurrency, Свойство

MapBinary, Свойство

MapVarchar, Свойство

Margin, Свойство

MaxButton, Свойство

MaxHeight, Свойство

MaxLeft, Свойство

MaxLength, Свойство

MaxRecords, Свойство

MaxTop, Свойство

MaxWidth, Свойство

MDIForm, Свойство

MemberClass, Свойство

MemberClassLibrary, Свойство

MemoWindow, Свойство

Message, Свойство

MinButton, Свойство

MinHeight, Свойство

MinWidth, Свойство

MouseIcon, Свойство

MousePointer, Свойство

Movable, Свойство

MoverBars, Свойство

MultiSelect, Свойство (Visual FoxPro)

Name, Свойство (Visual FoxPro)

NestedInto, Свойство

NewIndex, Свойство

NewItemID, Свойство

NextSiblingTable, Свойство

NoCpTrans, Свойство

NoData, Свойство

NoDataOnLoad, Свойство

NullDisplay, Свойство

NumberOfElements, Свойство

Object, Свойство (Visual FoxPro)

OLEClass, Свойство

OLEDragMode, Свойство

OLEDragPicture, Свойство

OLEDropEffects, Свойство

OLEDropHasData, Свойство

OLEDropMode, Свойство

OLEDropTextInsertion, Свойство

OLELCID, Свойство

OLERequestPendingTimeout, Свойство

OLEServerBusyRaiseError, Свойство

OLEServerBusyTimeout, Свойство

OLETypeAllowed, Свойство

OneToMany, Свойство

OpenViews, Свойство

OpenWindow, Свойство

Optimize, Свойство

Order, Свойство (Visual FoxPro)

OrderDirection, Свойство

OutputPageCount, Свойство

OutputType, Свойство (Visual FoxPro)

PageCount, Свойство

PageHeight, Свойство

PageNo, Свойство The following table lists commands and functions that make it possible to manipulate databases.

PageOrder, Свойство

Pages, Свойство

PageTotal, Свойство

PageWidth, Свойство

Panel, Свойство

PanelLink, Свойство

Parent Object Reference

ParentAlias, Свойство

ParentClass, Свойство

ParentTable, Свойство

Partition, Свойство

PasswordChar, Свойство

Picture, Свойство (Visual FoxPro)

PictureMargin, Свойство

PicturePosition, Свойство

PictureSpacing, Свойство

PictureSelectionDisplay, Свойство

PictureVal, Свойство

Prepared, Свойство

PolyPoints, Свойство

PreserveWhiteSpace, Свойство

PreviewContainer, Свойство

PrintJobName, Свойство

Procedure, Свойство

PROCESSID, Свойство

ProgID, Свойство (Visual FoxPro)

ProjectHook, Свойство

ProjectHookClass, Свойство

ProjectHookLibrary, Свойство

QuietMode, Свойство

ReadCycle, Свойство

ReadLock, Свойство

ReadMouse, Свойство

ReadObject, Свойство

ReadOnly, Свойство

ReadSave, Свойство

ReadTimeout, Свойство

RecordMark, Свойство

RecordSource, Свойство

RecordSourceType, Свойство

RefreshAlias, Свойство

RefreshCmd, Свойство

RefreshCmdDataSource, Свойство

RefreshCmdDataSourceType, Свойство

RefreshIgnoreFieldList, Свойство

RefreshTimeStamp, Свойство

RelationalExpr, Свойство

RelativeColumn, Свойство

RelativeRow, Свойство

ReleaseType, Свойство

Resizable, Свойство

RespectCursorCP, Свойство

RespectNesting, Свойство

RightToLeft, Свойство

RotateFlip, Свойство

Rotation, Свойство (Visual FoxPro)

RowColChange, Свойство

RowHeight, Свойство

RowSource, Свойство

RowSourceType, Свойство

ScaleMode, Свойство

SCCProvider, Свойство

SCCStatus, Свойство

ScrollBars, Свойство

Seconds, Свойство

SelectCmd, Свойство

Selected, Свойство

SelectedID, Свойство

SelectedItemBackColor, Свойство

SelectedItemForeColor, Свойство

SelectionNamespaces, Свойство

SelectOnEntry, Свойство

SelLength, Свойство

SelStart, Свойство

SelText, Свойство

SendGDIPlusImage, Свойство

SendUpdates, Свойство

ServerClass, Свойство

ServerClassLibrary, Свойство

ServerHelpFile, Свойство

ServerName, Свойство

ServerProject, Свойство

ShowTips, Свойство

ShowInTaskbar, Свойство

ShowWindow, Свойство

Sizable, Свойство

SizeBox, Свойство

SOM, Свойство

Sorted, Свойство

Sparse, Свойство

SpecialEffect, Свойство

SpinnerHighValue, SpinnerLowValue, Свойства

SplitBar, Свойство

StackLevel, Свойство

StartMode, Свойство

StatusBar, Свойство

StatusBarText, Свойство

Stretch, Свойство

StrictDateEntry, Свойство

Style, Свойство

TabIndex, Свойство

Tables, Свойство

TabOrientation, Свойство

Tabs, Свойство

TabStop, Свойство

TabStretch, Свойство

TabStyle, Свойство

Tag, Свойство (Visual FoxPro)

TerminateRead, Свойство

Text, Свойство (Visual FoxPro)

Themes, Свойство

ThreadID, Свойство

TimestampFieldList, Свойство

TitleBar, Свойство

ToolTipText, Свойство

Top, Свойство (Visual FoxPro)

TopIndex, Свойство

TopItemID, Свойство

TwoPassProcess, Свойство

Type, Свойство (Visual FoxPro)

TypeLibCLSID, Свойство

TypeLibDesc, Свойство

TypeLibName, Свойство

Unicode, Свойство

UpdatableFieldList, Свойство

UpdateCmd, Свойство

UpdateCmdDataSource, Свойство

UpdateCmdDataSourceType, Свойство

UpdateCmdRefreshCmd, Свойство

UpdateCmdRefreshFieldList, Свойство

UpdateCmdRefreshKeyFieldList, Свойство

UpdateGram, Свойство

UpdateGramSchemaLocation, Свойство

UpdateNameList, Свойство

UpdateType, Свойство

UseCodePage, Свойство

UseCursorSchema, Свойство

UseDeDataSource, Свойство

UseMemoSize, Свойство

UserValue, Свойство

UseTransactions, Свойство

UTF8Encoded, Свойство

Value, Свойство

Version, Свойство

VersionComments, Свойство

VersionCompany, Свойство

VersionCopyright, Свойство

VersionDescription, Свойство

VersionNumber, Свойство

VersionProduct, Свойство

VersionTrademarks, Свойство

VFPXMLProgID, Свойство

ViewPortHeight, Свойство

ViewPortLeft, Свойство

ViewPortTop, Свойство

ViewPortWidth, Свойство

VScrollSmallChange, Свойство

View, Свойство

Visible, Свойство (Visual FoxPro)

VisualEffect, Свойство

WhatsThisButton, Свойство

WhatsThisHelp, Свойство

WhatsThisHelpID, Свойство

WhereType, Свойство

Width, Свойство

WindowList, Свойство

WindowState, Свойство (Visual FoxPro)

WindowType, Свойство

WordWrap, Свойство

WrapCharInCDATA, Свойство

WrapInCDATA, Свойство

WrapMemoInCDATA, Свойство

XMLAdapter, Свойство

XMLConstraints, Свойство

XMLName, Свойство

XMLNameIsXPath, Свойство

XMLNamespace, Свойство

XMLPrefix, Свойство

XMLSchemaLocation, Свойство

XMLTable, Свойство

XMLType, Свойство

XSDfractionDigits, Свойство

XSDmaxLength, Свойство

XSDtotalDigits, Свойство

XSDtype, Свойство

ZoomBox, Свойство

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


ActiveColumn Property

Visual FoxPro 9.0 Справочник Языка
ActiveColumn Свойство
См. Текже Пример

Возвращает столбец, содержащий активную ячейку элемента управления сетка. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Grid.ActiveColumn

Комментарии

Применимо для: Grid Control

ActiveColumn возвращает ноль, если сетка не имеет фокуса.

Пример

В следующем примере демонстрируется использование свойства ActiveColumn элесента управления Grid.
Copy Code
m.cTalk=SET("TALK")
SET TALK OFF

PUBLIC oTlb
oTlb = NEWOBJECT("tlbDemo")
oTlb.SHOW

PUBLIC oFrmDemo
oFrmDemo=NEWOBJECT("frmDemo")
oFrmDemo.SHOW

READ EVENTS

RELEASE oTlb
RELEASE oFrmDemo
SET TALK &cTalk

RETURN

DEFINE CLASS tlbDemo AS TOOLBAR

    HEIGHT = 31
    LEFT = 30
    TOP = 30
    WIDTH = 149
    NAME = "tlbDemo"
    CAPTION = "Example"
    CONTROLBOX = .F.

    ADD OBJECT cmdShowColumn AS COMMANDBUTTON WITH ;
        TOP = 5, ;
        LEFT = 5, ;
        HEIGHT = 22, ;
        WIDTH = 100, ;
        CAPTION = "ActiveColumn?", ;
        NAME = "cmdShowColumn"

    ADD OBJECT sepSeparator1 AS SEPARATOR WITH ;
        TOP = 5, ;
        LEFT = 80, ;
        HEIGHT = 0, ;
        WIDTH = 0, ;
        NAME = "sepSeparator1"

    ADD OBJECT cmdExit AS COMMANDBUTTON WITH ;
        TOP = 5, ;
        LEFT = 80, ;
        HEIGHT = 22, ;
        WIDTH = 34, ;
        CAPTION = "Exit", ;
        NAME = "cmdExit"

    PROCEDURE cmdShowColumn.CLICK
        DO ShowColumn
    ENDPROC

    PROCEDURE cmdExit.CLICK
        CLEAR EVENTS
    ENDPROC

ENDDEFINE

DEFINE CLASS frmDemo AS FORM

    CLOSABLE = .F.
    CAPTION = "ActiveColumn Example"
    NAME = "frmDemo"
    LEFT = 60
    TOP = 100

    ADD OBJECT grdNames AS GRID WITH ;
        COLUMNCOUNT = 3, ;
        DELETEMARK = .F., ;
        HEIGHT = 128, ;
        LEFT = 12, ;
        PANEL = 1, ;
        RECORDSOURCE = "names", ;
        SPLITBAR = .F., ;
        TABINDEX = 3, ;
        TOP = 48, ;
        WIDTH = 340, ;
        NAME = "grdNames", ;
        Column1.CONTROLSOURCE = "names.cname", ;
        Column1.WIDTH = 122, ;
        Column1.NAME = "Column1", ;
        Column2.CONTROLSOURCE = "names.nvalue", ;
        Column2.WIDTH = 100, ;
        Column2.NAME = "Column2", ;
        Column3.CONTROLSOURCE = "names.dbirth", ;
        Column3.WIDTH = 122, ;
        Column3.NAME = "Column3"

    PROCEDURE LOAD
        CREATE CURSOR names (cname C(40), nvalue N(19,2), dbirth D)
        INSERT INTO names VALUES('Thomas',12.5,{^1990-5-11})
        INSERT INTO names VALUES('Jerry',18.2,{^1993-1-28})
        INSERT INTO names VALUES('Andrew',9.2,{^1986-1-23})
        GO TOP
    ENDPROC

    PROCEDURE INIT
        THIS.grdNames.Column1.Header1.CAPTION = "Name"

        WITH THIS.grdNames.Column1.Text1
            .BORDERSTYLE = 0
            .MARGIN = 0
        ENDWITH

        THIS.grdNames.Column2.Header1.CAPTION = "Value"

        WITH THIS.grdNames.Column2.Text1
            .BORDERSTYLE = 0
            .MARGIN = 0
        ENDWITH

        THIS.grdNames.Column3.Header1.CAPTION = "Birthdate"

        WITH THIS.grdNames.Column3.Text1
            .BORDERSTYLE = 0
            .MARGIN = 0
        ENDWITH

    ENDPROC

ENDDEFINE

PROCEDURE ShowColumn
    WAIT WINDOW AT 4,30 "_SCREEN.ActiveForm.ActiveControl.ActiveColumn = "+TRANSFORM(_SCREEN.ActiveForm.ActiveControl.ActiveColumn) NOWAIT
ENDPROC

См. Также

Прочие Ресурсы

ActivateCell Метод
ActiveRow Свойства
GridHitTest Метод
Свойства
Описание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF


ActiveControl Property

Visual FoxPro 9.0 Справочник Языка
ActiveControl Свойство
См. Также Пример

Указывает активный элемент управления данного объекта. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Object.ActiveControl.Property[ = Value]

Возврашаемое Значение

Property

Свойство, значение которого следует возвратить или установить.
Value

Текущее или новое значение свойства.

Комментарии

Применимо для: Container Object | Form Object | Page Object | _SCREEN | ToolBar Object

Данное свойство недоступно, если все элементы управления указанного объекта невидимы или недоступны.

Если объект активен, свойство ActiveControl указывает элемент управления, который в данный момент находится в фокусе. Если объект не активен, возникает ошибка.

Пример

В следующем примере демонстрируется использование свойство ActiveControl, чтобы показать, на каком элементе Формы находиться фокус. Однако, так как элемент управления Grid является контейнером, требуется дополнительный код, чтобы определить текущий активный элемент управления в сетке.
Копировать Код
m.cTalk=SET("TALK")
SET TALK OFF

PUBLIC oTlb
oTlb = NEWOBJECT("tlbDemo")
oTlb.SHOW

PUBLIC oFrmDemo
oFrmDemo=NEWOBJECT("frmDemo")
oFrmDemo.SHOW

READ EVENTS

RELEASE oTlb
RELEASE oFrmDemo
SET TALK &cTalk

RETURN

DEFINE CLASS tlbDemo AS TOOLBAR

    HEIGHT = 31
    LEFT = 30
    TOP = 30
    WIDTH = 149
    NAME = "tlbDemo"
    CONTROLBOX = .F.

    ADD OBJECT cmdShowControl AS COMMANDBUTTON WITH ;
        TOP = 5, ;
        LEFT = 5, ;
        HEIGHT = 22, ;
        WIDTH = 100, ;
        CAPTION = "ActiveControl?", ;
        NAME = "cmdShowControl"

    ADD OBJECT sepSeparator1 AS SEPARATOR WITH ;
        TOP = 5, ;
        LEFT = 80, ;
        HEIGHT = 0, ;
        WIDTH = 0, ;
        NAME = "sepSeparator1"

    ADD OBJECT cmdExit AS COMMANDBUTTON WITH ;
        TOP = 5, ;
        LEFT = 80, ;
        HEIGHT = 22, ;
        WIDTH = 34, ;
        CAPTION = "Exit", ;
        NAME = "cmdExit"

    PROCEDURE cmdShowControl.CLICK
        DO ShowControl
    ENDPROC

    PROCEDURE cmdExit.CLICK
        CLEAR EVENTS
    ENDPROC

ENDDEFINE

DEFINE CLASS frmDemo AS FORM

    DOCREATE = .T.
    CAPTION = "Demo Form"
    NAME = "frmDemo"
    LEFT = 60
    TOP = 100

    ADD OBJECT cmdClose AS COMMANDBUTTON WITH ;
        TOP = 200, ;
        LEFT = 264, ;
        HEIGHT = 27, ;
        WIDTH = 84, ;
        CANCEL = .T., ;
        CAPTION = "Close", ;
        DEFAULT = .T., ;
        TABINDEX = 4, ;
        NAME = "cmdClose"

    ADD OBJECT grdNames AS GRID WITH ;
        COLUMNCOUNT = 2, ;
        DELETEMARK = .F., ;
        HEIGHT = 128, ;
        LEFT = 12, ;
        PANEL = 1, ;
        RECORDSOURCE = "names", ;
        SPLITBAR = .F., ;
        TABINDEX = 3, ;
        TOP = 48, ;
        WIDTH = 344, ;
        NAME = "grdNames", ;
        Column1.CONTROLSOURCE = "names.cname", ;
        Column1.WIDTH = 222, ;
        Column1.NAME = "Column1", ;
        Column2.CONTROLSOURCE = "names.nvalue", ;
        Column2.NAME = "Column2"

    ADD OBJECT txtName AS TEXTBOX WITH ;
        CONTROLSOURCE = "names.cname", ;
        HEIGHT = 24, ;
        LEFT = 56, ;
        TABINDEX = 2, ;
        TOP = 12, ;
        WIDTH = 125, ;
        NAME = "txtName"

    ADD OBJECT lblNameLabel AS LABEL WITH ;
        CAPTION = "Name:", ;
        HEIGHT = 17, ;
        LEFT = 16, ;
        TOP = 16, ;
        WIDTH = 40, ;
        TABINDEX = 1, ;
        NAME = "lblNameLabel"

    PROCEDURE LOAD
        CREATE CURSOR names (cname C(40), nvalue N(19,2))
        INSERT INTO names VALUES('Thomas',12.5)
        INSERT INTO names VALUES('Jerry',18.2)
        INSERT INTO names VALUES('Andrew',9.2)
        GO TOP
    ENDPROC

    PROCEDURE INIT
        THIS.grdNames.Column1.Header1.CAPTION = "Name"

        WITH THIS.grdNames.Column1.Text1
            .BORDERSTYLE = 0
            .MARGIN = 0
        ENDWITH

        THIS.grdNames.Column2.Header1.CAPTION = "Value"
        WITH THIS.grdNames.Column2.Text1
            .BORDERSTYLE = 0
            .MARGIN = 0
        ENDWITH

    ENDPROC

    PROCEDURE cmdClose.CLICK
        THISFORM.RELEASE
    ENDPROC

    PROCEDURE grdNames.AFTERROWCOLCHANGE
        LPARAMETERS nColIndex
        THISFORM.REFRESH
    ENDPROC

    PROCEDURE txtName.VALID
        THISFORM.grdnames.REFRESH
    ENDPROC

ENDDEFINE

PROCEDURE ShowControl
IF TYPE("_Screen.ActiveForm.ActiveControl")=="O"
    LOCAL loActiveControl
    m.loActiveControl = _SCREEN.ACTIVEFORM.ACTIVECONTROL
    IF m.loActiveControl.BASECLASS = "Grid"
        m.loActiveControl = ;
            EVALUATE("m.loActiveControl.Columns(m.loActiveControl.ActiveColumn)." + ;
            m.loActiveControl.COLUMNS(m.loActiveControl.ACTIVECOLUMN).CURRENTCONTROL)
    ENDIF
    m.cObjHierarchy=UPPER(SYS(1272,m.loActiveControl))
    WAIT WINDOW AT 4,30 "_SCREEN.ActiveForm.ActiveControl = "+m.cObjHierarchy NOWAIT
ELSE
    WAIT WINDOW AT 4,30 "There is no ActiveControl; there is no ActiveForm" NOWAIT
ENDIF
ENDPROC

См. Также

Прочие Ресурсы

ActiveForm Свойство
Свойства
Онисание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF


ActiveForm Property

Visual FoxPro 9.0 Справочник Языка
ActiveForm Свойтсво
См. Также Пример

Указывает активный объект Form в объекте FormSet или _SCREEN. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Object.ActiveForm.Property [ = Setting]
-или-
Object.ActiveForm.Method

Возврашаемое Значение

Property

Задает свойство активного объекта Form, содержащегося в объекте FormSet, например свойство Caption.
Setting

Существующая или новая установка свойства Property.
Method

Задает метод активного объекта Form, содержащегося в объекте FormSet, например метод Move.

Комментарии

Применимо для: Form Object | FormSet Object | _SCREEN

Если объект FormSet активен, ActiveForm указывает содержащийся в нем объект Form, который находится в фокусе. Если объект-контейнер FormSet не активен, возникает ошибка.

Используйте свойство ActiveForm для доступа к свойствам и методам активного объекта Form.

Пример

В этом примете показывается, как при помощи свойства ActiveForm можно делать доступным пункт меню и закрывать активную форму. При запуске этого примера пункт меню Close в меню Window не доступен, и становиться доступным только после открытия форы. Это обеспечивается выражением SKIP FOR в 1 пункте выпадающего меню Wwindow, в котором проверяется, символьного ли типа свойства Name активной формы. Свойство Name - символьного типа, если есть активная форма, в противном случае свойство имеет неопределенный тип.
Копировать Код
SET SYSMENU TO
SET SYSMENU AUTOMATIC

DEFINE PAD _0k50sa3dr OF _MSYSMENU PROMPT "\<Window" COLOR SCHEME 3 ;
    KEY ALT+W, ""
DEFINE PAD _0k50sa3ds OF _MSYSMENU PROMPT "E\<xit" COLOR SCHEME 3 ;
    KEY ALT+X, ""
ON PAD _0k50sa3dr OF _MSYSMENU ACTIVATE POPUP Wwindow
ON SELECTION PAD _0k50sa3ds OF _MSYSMENU DO CloseDemo

DEFINE POPUP Wwindow MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF Wwindow PROMPT "\<Close" ;
    SKIP FOR TYPE("_Screen.ActiveForm.Name")<>"C"
DEFINE BAR 2 OF Wwindow PROMPT "\<Open"
ON SELECTION BAR 1 OF Wwindow =_SCREEN.ACTIVEFORM.RELEASE()
ON SELECTION BAR 2 OF Wwindow DO OpenForm

PUBLIC ARRAY aoForms(1)
aoForms[1] = NEWOBJECT("frmdemo")
aoForms[1].SHOW

READ EVENTS

SET SYSMENU TO DEFAULT
CLEAR ALL

    PROCEDURE OpenForm
    DIMENSION aoForms(ALEN(aoForms)+1)
    aoForms[ALEN(aoForms)] = NEWOBJECT("frmdemo")
    aoForms[ALEN(aoForms)].SHOW
    RETURN

    PROCEDURE CloseDemo
    CLEAR EVENTS
    RETURN

DEFINE CLASS frmdemo AS FORM
    CAPTION = "Demo Form"
    NAME = "frmDemo"

    ADD OBJECT cmdClose AS COMMANDBUTTON WITH ;
        TOP = 200, ;
        LEFT = 264, ;
        HEIGHT = 27, ;
        WIDTH = 84, ;
        CANCEL = .T., ;
        CAPTION = "Close", ;
        DEFAULT = .T., ;
        NAME = "cmdClose"

    PROCEDURE cmdClose.CLICK
    m.nOKButton=0
    m.nInfo=64
    =MESSAGEBOX("After this Form closes, select Exit from the menu to return to the Command Window",m.nInfo+m.nOKButton)
    THISFORM.RELEASE
ENDPROC

    PROCEDURE RELEASE
    LOCAL m.nIndex
    FOR m.nIndex = 1 TO ALEN(aoForms)
        IF VARTYPE(aoForms[m.nIndex])=="O"
            IF aoForms[m.nIndex]=THIS
                aoForms[m.nIndex] = ""
                EXIT
            ENDIF
        ENDIF
    ENDFOR
ENDPROC
ENDDEFINE

См. Также

Прочие Ресурсы

Activate Событие
Deactivate Событие
Свойства
Описание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF


ActivePage Property

Visual FoxPro 9.0 Справочник Языка
ActivePage Свойство
См. Также Пример

Возвращает номер активного объекта Page в составе объекта PageFrame. Доступно на этапе разработки, доступно для чтения-записи на этапе выполнения..

PageFrame.ActivePage

Комментарии

Применимо для: PageFrame Control

Пример

В следующем примере создается пользовательский класс, вызывающий WizardExample. Использование этого класса демонстрирует манипулирование закладками страничного блока при помощи свойства ActivePage , также как делается в мастере Visual FoxPro.
Копировать Код
local loform
loform = createobject('WizardExample')
loform.Show(1)
return

DEFINE CLASS WizardExample AS form
 Caption = "Wizard Example"
 Name = "Form1"

 ADD OBJECT pageframe1 AS pageframe WITH ;
  PageCount = 3, ;
  BorderWidth = 0, ;
  Top = 12, ;
  Left = 12, ;
  Width = 336, ;
  Height = 169, ;
  Tabs = .F., ;
  Name = "Pageframe1", ;
  Page1.Caption = "Page1", ;
  Page1.Name = "Page1", ;
  Page2.Caption = "Page2", ;
  Page2.Name = "Page2", ;
  Page3.Caption = "Page3", ;
  Page3.Name = "Page3"

 ADD OBJECT CmdPrev AS commandbutton WITH ;
  Top = 216, ;
  Left = 60, ;
  Height = 27, ;
  Width = 84, ;
  Caption = "Previous", ;
  Name = "CmdPrev"

 ADD OBJECT CmdNext AS commandbutton WITH ;
  Top = 216, ;
  Left = 204, ;
  Height = 27, ;
  Width = 84, ;
  Caption = "Next", ;
  Name = "CmdNext"

 PROCEDURE CmdPrev.Click
  With THISFORM.Pageframe1
   if .ActivePage > 1 then
    .ActivePage = .ActivePage - 1
   endif
  Endwith
 ENDPROC

 PROCEDURE CmdNext.Click
  With THISFORM.Pageframe1
   if .ActivePage < .PageCount then
    .ActivePage = .ActivePage + 1
   endif
  Endwith
 endproc

 PROCEDURE Init
  With THISFORM.pageframe1
   .Page1.AddObject('Label1','label')
   With .Page1.Label1
    .Caption = "Wizard Page 1"
    .Height = 17
    .Left = 11
    .Top = 20
    .Width = 97
    .Visible = .T.
   Endwith

   .Page2.AddObject('Label1','label')
   With .Page2.Label1
    .Caption = "Wizard Page 2"
    .Height = 17
    .Left = 11
    .Top = 20
    .Width = 97
    .Visible = .T.
   Endwith

   .Page3.AddObject('Label1','label')
   With .Page3.Label1
    .Caption = "Wizard Page 3"
    .Height = 17
    .Left = 11
    .Top = 20
    .Width = 97
    .Visible = .T.
   Endwith
  Endwith
 ENDPROC
ENDDEFINE

См. Также

Прочие Ресурсы

Activate Событие
GotFocus Событие
Свойства
Описание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF


ActiveProject Property

Visual FoxPro 9.0 Справочник Языка
ActiveProject Свойство
См. Также Пример

Содержит объектную ссылку на объект Project для активного в настоящее время окна менеджера проекта. Доступно только для чтения на этапе разработки и на этапе выполнения.

Object.ActiveProject

Комментарии

Применимо для: Application Object | _VFP System Variable

Свойство ActiveProject содержит объектную ссылку на объект Project для активного окна менеджера проекта, если более одного окна менеджера проекта открыто. Если Вы пытаетесь обращаться к свойству ActiveProject когда окно менеджера проекта не открыто, генерируется ошибка.

Для дополнительной информации о проектах, смотри Project Manager Hooks и Development Productivity Tools.

Пример

В следующем примере используется свойство ActiveProject для расчета количества Отчетов и Этикеток в активном проекте. Если проект MyApp не существует, он должен быть создан командой MODIFY PROJECT, после чего можно выполнять пример.
Копировать Код
MODIFY PROJECT myApp NOSHOW NOWAIT
nRptsLbls=0
FOR EACH oFile IN _VFP.ACTIVEPROJECT.FILES
   IF INLIST(oFile.Type, "R", "B")  && Report and Label
      nRptsLbls=nRptsLbls+1
   ENDIF
ENDFOR

См. Также

Прочие Ресурсы

File Объект
Files Коллекция
Project Объект
ProjectHook Объект
Projects Коллекция
Server Объект
Servers Коллекция
Свойства
Описание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF.


ActiveRow Property

Visual FoxPro 9.0 Справочник Языка
ActiveRow Свойство
См. Также Пример

Задает строку, содержащую активную ячейку элемента управления сетка. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Grid.ActiveRow

Комментарии

Применимо для: Grid Control

Свойство ActiveRow и функция RECNO( ) возвращают разные значения в индексированной таблице. ActiveRow возвращает ноль, если сетка не имеет фокус, или когда Вы обращаетесь к строке вне изображения сетки.

Пример

В следующем примере создается таблица и форма с сеткой. Свойство ActiveRow сетки используется для отображения номера строки в сетке.
Копировать Код
CREATE TABLE ardemo (fruit C(15))
INSERT INTO ardemo (fruit) VALUES ("Apples")
INSERT INTO ardemo (fruit) VALUES ("Oranges")
INSERT INTO ardemo (fruit) VALUES ("Grapes")
INSERT INTO ardemo (fruit) VALUES ("Bananas")
INSERT INTO ardemo (fruit) VALUES ("Pears")
INSERT INTO ardemo (fruit) VALUES ("Cherries")
LOCATE  && Moves to top of table, synonymous with GO TOP

oForm1=NEWOBJECT("form1")
oForm1.Show
READ EVENTS
RETURN

DEFINE CLASS form1 AS Form
    Caption = "Form1"
    Name = "Form1"
    ADD OBJECT Grid1 AS Grid WITH ;
        ColumnCount = 2, ;
        Height = 200, ;
        Left = 24, ;
        RecordSource = "ardemo", ;
        Top = 24, ;
        Width = 320, ;
        Name = "Grid1", ;
        Column1.ControlSource = "ardemo.fruit", ;
        Column1.Width = 75, ;
        Column1.Name = "Column1", ;
        Column2.Bound = .F., ;
        Column2.ControlSource = "This.ActiveRow", ;
        Column2.Name = "Column2"

    PROCEDURE Init
    THIS.Grid1.Column2.Header1.Caption = 'ActiveRow'
ENDPROC
    PROCEDURE Unload
    CLEAR EVENTS
ENDPROC

ENDDEFINE

См. Также

Прочие Ресурсы

ActivateCell Метод
ActiveColumn Свойство
GridHitTest Метод
RECNO( ) Функция
Своцства
Описание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF.


AddLineFeeds Property

Visual FoxPro 9.0 Справочник Языка
AddLineFeeds Свойство
See Also

Определяет, как EditBox должен вставить символы перевода строки (CHR (10)) после символов возврата каретки (CHR (13)) в пределах текста EditBox всякий раз, когда читается свойство Value, или всякий раз, когда значение сохраняется в ControlSource. Доступно на этапе разработки и на этапе выполнения.

Object.AddLineFeeds[ = lExpr]

Параметры

lExpr

Истина (.T.) (По умолчанию) Символы перевода строки вставляются в текст EditBox после символов возврата каретки, когда читается свойство Value, или когда значение сохраняется в ControlSourcerue.
Ложь (.F.) Текст EditBox не изменяется, когда свойство Value читается или сохраняется в ControlSourcealse.

Комментарии

Применимо для: EditBox Control

EditBox, по умолчанию, гарантирует, что окончания строки имеют и перевод каретки и символы перевода строки, вставляя символы перевода строки, если их нет, когда читается свойство Value. Кроме того, это может также происходить всякий раз, когда программный код читает свойство Value, когда EditBox теряет фокус, так как Visual FoxPro автоматически читает содержание Value и сохраняет в ControlSource в это время.

Вставка символов перевода строки изменяет текст, но значение SelStart не изменяется; поэтому, свойство SelStart может указывать на неправильное местоположение в текстовом буфере. Установка свойства AddLineFeeds в Ложь (.F). гарантирует, что никакие символы не добавляются в текстовый буфер. Свойство AddLineFeeds устанавливается в Истину (.T.), если элемент управления Editbox связан с источником данных.

Чтение свойства Text не вставляет символы перевода строки, независимо от установки AddLineFeedsthe.

См. Также

Прочие Ресурсы

ControlSource Свойство
SelStart Свойство
Text Свойство
Value Свойство
Свойства
Описани Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF.


ADOCodePage Property

Visual FoxPro 9.0
Свойство ADOCodePage
Смотри также

Указывает кодовою страницу (code page) для объекта CursorAdapter для использования во время трансляции символьных данных при работе с данными ADO. Редактируемое (Read/write) в design и run time.

CursorAdapter.AllowInsert [ = nCodePage ]

Возвращаемое значение

nCodePage

Кодовая страница (integer) используемая для трансляции символьных данных при использовании с источниками данных типа ADO. В случае, если вы попытаетесь установить некорректную кодовую страницу, будет сгенерирована ошибка. Значение по умолчанию равно 0.

Примечания

Применяется к: классу CursorAdapter

Кодовая страница, определенная в свойстве ADOCodePage используется для трансляции пpи испольнении следующих команд:

  • Select

  • Insert

  • Update

  • Delete

  • ConflictCheck

  • InsertRefresh

  • UpdateRefresh

  • Refresh

  • FetchMemo

Она, кроме того, используется со всеми символьными параметрами посылаемыми источнику данных типа ADO и получаемых от него.

После вызова метода CursorFill или CursorRefresh, открытый курсор становится привязанным к кодовой странице определяемой свойством ADOCodePage во время заполнения или обновления. Это означает, что независимо от текущей установки свойства ADOCodePage, все символьные данные, выбираемыми из источника данных, транслируются с использованием связанной с курсором кодовой страницы. Это справедливо по отношению к процессам нормальной выборки, выборки во время автоматического обновления, выборки по требованию и задержанной выборки мемо-полей.

Вы можете привязать кодовую страницу (указанную в свойстве ADOCodePage) только к ADO-based курсорам. Однако, ADOCodePage тем не менее может быть использована с non ADO-based курсорами. Когда non ADO-based курсор прикреплен к объекту CursorAdapter, установка ADOCodePage используется для трансляции символьных данных, извлекаемых во время автообновления, обновления по требованию и задержанной выдержки мемо-полей.

Курсор может быть перепривязан к другой кодовой странице путем изменения значения свойства ADOCodePage и исполнения метода CursorRefresh.

Вы можете получить информацию о кодовой странице, ассоциированной с ADO-based курсором путем посылки "ADOCodePage" в качестве параметра функции CURSORGETPROP( ).

При использовании значения свойства кодовой не равного нулю 0 для трансляции параметра и если параметр создан объектом CursorAdapter (то есть метод Parameters.Refresh не смог создать параметра), параметр создается как adVarWChar/adLongVarWChar, а не adVarChar/adLongVarChar.

Смотри также

Справочное руководство

SYS(3101) - COM Code Page Translation
Функция CURSORGETPROP( )

Прочие ресурсы

Свойства
Кодовые страницы в Visual FoxPro
Свойства, методы и события объекта

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Alias Property

Visual FoxPro 9.0 Справочое руководство по языку
Свойство Alias
Смотрите также
CollapseAll image

Указывает псевдоимя для соответствующего объекта. Редактируемое, как в design time, так и в run time.

Свойство Alias отражает поведение опции ALIAS в команде USE. Имеется несколько версий синтаксиса.

DataEnvironment.Cursor.Alias [= cText]
CursorAdapter.Alias [= cText]
XMLTable.Alias [= cText]
XMLTable.XMLField.Alias [= cText]

Expand image Возвращаемое значение

cText

Символьный тип данных. В приведенной ниже таблице описываются значения для cText, в зависимости от объекта.

Объект cText

Cursor

Псевдоимя для каждой таблицы или представления, ассоциированного с курсором.

CursorAdapter

Псевдоимя для курсора, генерируемого свойством SelectCmd.

XMLTable

Псевдоимя для курсора Visual FoxPro.

Если cText содержит пустую строку (""), метод ToXML объекта XMLAdapter добавляет схему таблицы, но не добавляет никаких данных.

XMLField

Псевдоимя для имени поля в курсоре Visual FoxPro.

Если cText содержит пустую строку (""), то методы ToCursor и ApplyDiffGram объекта XMLTable сбрасывают поле.

Expand image Примечания

Применяется к: Cursor Object | CursorAdapter Class | XMLTable Class | XMLField Class

Для объектов Cursor, при загрузке Visual FoxPro окружения данных, последнему, по умолчанию, присваивается псевдоимя, которое представляет тоже самое имя, что и имя таблицы или представления, для каждой таблицы или представления, ассоциированных с курсорами. Вы можете изменить свойство Alias для переприсвоения псевдоимени взамен присвоенного по умолчанию.

Для объектов CursorAdapter Visual FoxPro использует свойство Alias для обеспечения корректного псевдоимени для таблиц и полей, которые вы перетаскиваете на форму из DataEnvironment в design time. Если вы не укажите значения для Alias, Visual FoxPro сгенерирует ошибку и, в run time, будет использовать для таблиц и полей значения псевоимен по умолчанию.

Для объектов XMLTable и XMLField Visual FoxPro загрузит по умолчанию значение свойства XMLName в соответствующее свойство Alias этих объектов. Если свойство Alias объекта XMLField представляет собой пустую строку, метод ToCursor объекта XMLTable сбрасывает объекты XMLField и создает курсор, который не включает никаких полей, указанных этими объектами XMLField.

Если вы изменяете свойство Alias, Visual FoxPro, кроме того, переименовывает курсор, созданный методом ToCursor и свойства Alias для объектов XMLTable и XMLField.

При исполнении метода ToXML Visual FoxPro вместо свойства Alias использует свойство XMLName.

Expand image Смотрите также

Справочное руководство

Команда USE
Функция ALIAS()
Свойство InitialSelectedAlias
Свойство ParentAlias

Прочие ресуры

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Align Property

Visual FoxPro 9.0 Справочник Языка
Align Свойство
См. Также

Задает вид выравнивания элемента управления ActiveX™ (.ocx) в объекте Form. Доступно на этапе разработки и на этапе выполнения.

OLEContainerControl.Align[ = nAlign]

Возврашаемое Значение

nAlign

Для свойства Align предусмотрены следующие установки:

Установка Описание

0

Стандартное выравнивание. Элемент управления OLE помещается в ту же позицию в форме, что и элемент управления OLE Container.

1

Вверх. Элемент управления OLE помещается вверху объекта Form.

2

Вниз. Элемент управления OLE помещается внизу объекта Form.

3

Влево. Элемент управления OLE помещается у левого края объекта Form.

4

Вправо. Элемент управления OLE помещается у правого края объекта Form.

Комментарии

Применимо для: OLE Container Control

Элемент управления ActiveX (.ocx файл) помещается в элемент управления OLE Container.

Свойство Align допустимо только для тех элементов управления ActiveX, которые поддерживают изменение вида их выравнивания. Вставляемые объекты OLE, такие как электронные таблицы Microsoft Excel, не поддерживают свойство Align.

Свойство Align допустимо только для элементов управления ActiveX, размещенных в объекте Form.

Если два или более элементов управления OLE имеют одинаковые установки свойства Align, эти элементы размещаются поверх друг друга.

См. Также

Прочие Ресурсы

Элемент Управления OLE Container
ActiveX Controls Overview
Alignment Свойство
Как: Добавить OLE Объект в Приложение
Свойства
Описание Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен VF


Alignment Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Alignment
Смотрите также
CollapseAll image

Определяет прижим текста в элементах управления. Доступно как в design, так и в run time.

Control.Alignment[ = nAlign]

Expand image Возвращаемое значение

Expand image Элементы управления CheckBox, OptionButton и CommandButton

nAlign

Указывает численное значение, представляющее прижим текста в элементе управления.

nAlign Описание

0

Прижим к левому краю, отцентрированный вертикально. (Является значением по умолчанию для checkbox и optionbutton). Прижимает текст смещение влево и центрует по вертикали.

1

Прижим к правому краю, отцентрированный по вертикали. (Является значение по умолчанию для ближневосточных версией Windows). Прижимает текст смещением вправо и центрует по вертикали.

2

Центровка. (Является значением по умолчанию для командных кнопок - commandbutton). Центрирует текст как по вертикали, так и по горизонтали.

Note Замечание

Для командных кнопок, картинка и текст появляются в центре командной кнопки. Однако, когда в свойстве Picture определена картинка, то такая установка отображает описанное поведение по умочланию только в том случае, когда свойства PictureMargin и PictureSpacing установлены равным 0.

Note Замечание

Для элементов управления checkbox и optionbutton, такая установка применяется только в том случае, когда свойство Style элемента управления установлено равным 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание свойства Style.

4

Сверху и к левому краю. Прижимает текст к верхнему левому углу элемента управления.

Note Замечание

Для элементов управления checkbox и optionbutton, такая установка применяется только в том случае, когда свойство Style элемента управления установлено равным 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание Style Property.

5

Сверху и к правому краю. Прижимает текст к верхнему правому углу элемента управления.

Note Замечание

Для элементов управления checkbox и optionbutton, такая установка применяет только в том случае, когда свойство Style элемента управления установлено равным 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание свойства Style.

6

Сверху и по центру. Прижимает текст к верхнему краю элемента управления и центрирует по горизонтали.

Note Замечание

Такая установка применяется только в том случае, когда свойство Style элемента управления установлено равным 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание свойства Style.

7

Снизу и к левому краю. Прижимет текст к нижнему левому углу элемента управления.

Note Замечание

Для элементов управления checkbox и optionbutton такая установка применяется только в том случае, когда свойство Style установлено равным 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание свойства Style.

8

Снизу и к правому краю. Прижимает текст к правому нижнему углу элемента управления.

Note Замечание

Для элементов управления checkbox и optionbutton такая установка применяется только в том случае, когда свойство Style элемента управления установлено равным 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание свойства Style.

9

Снизу и к центру. Прижимает текст к нижнему краю элемента и центрирует по вертикали.

Note Замечание

Для элементов управления checkbox и optionbutton, эта установка применяется только тогда, когда свойство элемента Style установлено в 1. Установка свойства Style оказывает влияние на внешний вид элемента управления. Для получения более подробной информации смотрите описание свойства Style.
Note Замечание

Для элементов управления CommandButton вы можете установить свойство Alignment без указания картинки в свойстве Picture. Однако, определенные усатновки Alignment видимы только тогда, когда вы определите для свойства Picture какую-нибудь картинку и установите свойство PicturePosition в значение, отличающееся от значения по умолчанию. В дополнение к этому, некоторые установки Alignment не видимы, если свойство WordWrap установлено в True (.T.) и текст Caption отображается в несколько строк. Когда вы не указываете картинку для свойства Picture, установка PicturePosition не оказывает влияния на свойство Alignment.

Note Замечание

Для элементов управления CheckBox и OptionButton, когда свойство Style установлено в 0, свойство PicturePosition оказывает вляние на позицию чек-боксов или радио-кнопок в элементе управления. Когда вы указывается картинку для свойства Picture, свойство PicturePosition может оказывать влияние на свойство Alignment. Например, установка значения по умолчанию для PicturePosition епривет к центрированному прижиму, независимо от установки Alignment. Для получения более подробной информации смотрите описание свойств Picture (Visual FoxPro) и PicturePosition /a> .

Expand image Элементы управления ComboBox, EditBox, Label и Spinner

nAlign

Указыает численное значение, определяющее прижим текста в элементе управления.

nAlign Описание

0

Слева. Прижимает текст к левому краю элемента управления. (По умолчанию для combobox, editboxe и label)

1

Справа. Прижимает текст к правому краю элемента управления. (По умолчанию для spinner и ближневосточных версий Windows)

2

По центру. Центрирует текст вертикально и горизонтально в элементе управления.

3

Автоматически. Прижимает текст на основе типа данных источника данных.

Note Замечание

Установка Automatic не применяется к элементам управления EditBox, Header или Label.
Note Замечание

Для элементов управления ComboBox, свойство Alignment применяется только в том случае, когда свойство Style установлено в 0.

Expand image Объекты Header и Column

nAlign

Указывает численное значение, представляющее прижим текста в элементе управления.

nAlign Описание

0

Вертикально отцентрированный слева. Прижимает текст к левому краю элемента управления и центрирует его в колонке по вертикали.

1

Вертикально отцентрированный справа. Прижимает текст к правому краю элемента управления и центрирует его в колонке по вертикали.

2

По центру. Прижимает к центру, как по вертикали, так и по горизонтали.

3

Автоматически. Прижимает текст в колонке на основе типа данных источника данных. (По умолчанию)

Note Замечание

Установка Automatic прижимает текст на основе типа данных источника, определенного для элемента управления в свойстве ControlSource. Для источников данных с численными типами, такими как Numeric, Double, Float, Currency и Integer, текст прижимается к правому краю. Для источников данных с другими типами данных, текст прижимается слева. Для получения более подробной информации смотрите описание свойства ControlSource.

4

Сверху слева. Прижимает текст слева к верхнему краю колонки.

5

Сверху справа. Прижимает текст справа к верхнему краю колонки.

6

Сверху по центру. Прижимает текст к к верхнему краю клонки и центрирует его в колонке по горизонтали.

7

Снизу слева. Прижимает текст слева к нижнему краю колонки.

8

Снизу справа. Прижимает текст справа к нижнему краю колонки.

9

Снизу по цетру. Прижимает текст нижнему краю колонки, центрируя его по горизонтали..

Для объекта Header, если свойство WordWrap установлено в False (.F.), доступны значения 0-2, 4-9. Если свойство WordWrap установлено в True (.T.), то эффективными являются значения 0-2.

Expand image Элемент управления TextBox

nAlign

Указывает численное значение, представляющее прижим текста в элементе управления.

nAlign Описание

0

Слева. Прижимает текст к левому краю элемента управления.

1

Справа. Прижимает текст к правому краю элемента управления

2

По центру. Выравнивает текст относительно вертикального и горизонтального центра элемента управления.

3

Автоматически. (По умолчанию)

Note Замечание

Для элемента управления TextBox, когда он не находится в колонке grid, установка Automatic прижимает текст на основе типа данных источника, определенного для элемента управления в свойстве ControlSource. Для источников данных с численными типами, такими как Numeric, Double, Float, Currency и Integer, текст прижимается к правому краю. Для источников данных с другими типами данных, текст прижимается слева. Для получения более подробной информации смотрите описание свойства ControlSource.

Note Замечание

Когда элемент управления TextBox находится в колонке grid, прижим текста определяет установка свойства Alignment кологки.

Expand image Примечания

Применяется к: CommandButton Control | CheckBox Control | Column Object | ComboBox Control | EditBox Control | Header Object | Label Control (Visual FoxPro) | OptionButton Control | Spinner Control | TextBox Control (Visual FoxPro)

Expand image Смотрите также

Справочное руководство

Свойство AutoSize
Свойство Caption(Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AllowAddNew Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowAddNew
Смотрите также
CollapseAll image

Определяет, могут ли новые записи добавляться в таблицу из єлемента управления grid. Доступно на этапе проектирования и выполнения.

Grid.AllowAddNew[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из следующих:

Установка Описание

True (.T.)

Новые записи могут добавляться в таблицу из элемента управления grid.

False (.F.)

(По умолчанию) Новые записи немогут добавляться в таблицу из элемента управления grid.

Expand image Примечание

Применимо к: Элемент управления Grid

Если свойство AllowAddNew установлено в True (.T.), вы можете добавлять новые записи в таблицу из элемента управления grid нажимая клавишу со стрелкой вниз когда курсор находится на последней записи в grid, пока grid доступен на чтение/запись. Новые записи немогут добавляться из grid если он доступен только для чтения (Если значением свойства RecordSourceType является query, таблица доступна только для чтения, и так далие).

Expand image Смотрите также

Задачи

Как: Добавлять записи в таблици

Справочное руководство

Команда APPEND
Свойство RecordSourceType

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AllowAutoColumnFit Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowAutoColumnFit
Смотрите также
CollapseAll image

Указывает, как столбцы изменяют свои размеры автоматически в зависимости от ширины данных внутри сетки или окна просмотра BROWSE. Вы можете использовать AllowAutoColumnFit, когда создаете объектную ссылку на окно просмотра при помощи оператора NAME в команде BROWSE. Чтение/запись во время разработки и время выполнения программы.

Grid.AllowAutoColumnFit [ = nValue ]

Expand image Возвращаемое значение

nValue
Числовой тип данных.

Следующая таблица показывает значения для nValue.

nValue Описание установок Setting description

0

Разрешает всем или отдельным столбцам уместить данные автоматически. (По умолчанию)

1

Разрешает только отдельным столбцам уместить все данные автоматически. "Все данные" подразумевают только все видимые строки в сетке или окне просмотра, но не все записи в таблице.

2

Запрещает столбцам уместить данные автоматически.

Expand image Примечания

Применимо к: Элемент управления Grid | Команда BROWSE

Установки этого свойства позволяют столбцам автоматически подгонять свои размеры под ширину данных в столбцах, когда вы производите двойной щелчок на области между заголовками столбцов или на квадрате, расположенном непосредственно перед заголовком первого столба в верхнем левом углу сетки. AllowAutoColumnFit действует только интерактивно, через пользовательский интерфейс.

Автоматическая подгонка столбцов под данные происходит в левой и правой частях сетки или панелях окна просмотра, но только если они видимы.

Вы можете подавить действие свойства AllowAutoColumnFit при помощи метода AutoFit, который изменяет размеры всех или отдельных столбцов программно.

Когда столбец изменяет свои размеры, происходит событие Resize для этого столбца.

Вы можете запретить автоматическое изменение размера отдельного столбца, установив для этого столбца свойство Resizable в False (.F.).

События Click заголовка не происходит, так как вы щелкаете между заголовками столбцов.

Скрытые столбцы сетки, у которых свойство Visible установлено в False (.F.) и у которых свойство Width равно 0, не изменяют размеры.

Expand image Смотрите также

Ссылки

Метод AutoFit
Свойство Resizable

Другие ресурсы

Свойства (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функционалах этого продукта, посетите страницу обратно связи.
© Microsoft Corporation. All rights reserved.

Перевод - Рябинин Олег aka OLEGarh


AllowCellSelection Property

Visual FoxPro 9.0 Описание Языка
AllowCellSelection, свойство
См. также
CollapseAll image

Определяет, может ли выделяться отдельная Клетка (ячейка) в Контроле Grid, например, вы можете использовать рассматриваемое свойство AllowCellSelection для реализации отображения Данных в Контроле Grid, как в Контроле ListBox. Доступно для чтения и изменения в режимах Design-Time / Run-Time.

Grid.AllowCellSelection [= lExpr]

Expand image Возвращаемое значение

lExpr

Параметр определяет способ выделения элемента данных: или текущую Клетку Grid, или всю текущую строку данного Контрола Grid.

Далее приводится описание возможных значений данного параметра lExpr.

lExpr Краткое Описание

True (.T.)

Определяет, что в текущий момент выделяется Клетка Grid-а (Поле Таблицы). (По-умолчанию)

False (.F.)

Определяет, что выделяется вся текущая строка Таблицы (как в контроле ListBox).

Expand image Комментарии

Применяется В: Grid, контрол

Выделение индивидуальной Клетки или всей текущей строки Таблицы не изменяет Цвет выделения строки или Клетки.

В том случае, когда выполнена установка AllowCellSelection = False (.F.) (Вся Строка), существуют следующие Особенности:

  • Контрол Grid игнорирует значения свойств SelectedItemForeColor, SelectedItemBackColor. Текущая строка подсвечивается с помощью Цветовых схем из свойств HighlightBackColor, HighlightForeColor и может определяться другими характеристиками и свойствами объектов уровня Column (Столбец).

    Note Обратите Внимание

    Если вы не используете специфических значений Свойств выделения (подсветки), то вокруг текущей строки появляется специальная Рамка Выделения.

  • Если для свойства HighlightStyle установлено значение > 0, то, по-умолчанию, для свойства HighlightBackColorустанавливается значение = 50 процентов светлее базового цвета выделения (в полтора раза светлее, умноженное на коэффитциент = 1.5).

  • Контрол всегда отображает указатель мышки, заданный в свойстве MousePointer, и не выполняет переход в режим редактирования текущей Клетки. При выполнении Клика в требуемой клетке - выделяется вся текущая Строка Таблицы (вместо установки Фокуса в отдельную Клетку).

  • Табуляция (перемещение по Столбцам) в этом случае не работает, Контрол Grid ведет себя так, как будто имеет один Моно-столбец (точнее - типа ListBox).

  • Вы сможете также удалить текущую Строку (пометить на удаление), данный механизм также Отключен в рассматриваемом Режиме.

  • Скрытые Стобцы Игнорируются. Для скролинга Столбцов слева или справа рекомендуется использовать клавиши-стрелки LEFT ARROW / RIGHT ARROW или горизонтальную линейку Скролинга контрола Grid.

  • Значение свойства ctiveColumn вычисляется как = 0; рекомендуется использовать значение свойства RelativeColumn - для определения значения Столбца в Grid-е.

  • Метод ActivateCell просто выделяет текущую Строку Таблицы.

  • Все соответствующие события конкретных Контролов переопределяются на события самого Контрола Grid. Например, опрация "double-clicking" для Клетки переадртсуется в событие Grid.DblClick. Тем не менееr, события Заголовков Header и другие Атрибуты поддерживаются. Например, вы можете выполнять Клик для Заголовка Столбца, чтобы переопределить текущий режим Сортировки (если такой функционал вами поддерживается).

  • Поддержка режима поиска Find - отключается, это объясняется тем, что при использовании рассматриваемого значения свойства AllowCellSelection Контрол Grid переходит в специфический режим "Только-Чтение". Однако, данное свойство AllowCellSelection не влияет на работу Столбца пометки Записей Таблицы "на Удаление", (он по-прежнему отображается).

  • События AfterRowColChange и BeforeRowColChange работают только при изменении позиции Строк Таблицы. Значение свойства RowColChange всегда = 1 (Изменяется Строка).

Свойство AllowCellSelection поддерживает Все стандартные Контролы Visual FoxPro, которые помещены в Столбец-контейнер; однако, внедренные в Столбец внешние Контролы типа ActiveX не поддерживаются (имеется ввиду: запрет выделения Клетки, примечание переводчика).

Если значение свойства AllowCellSelection = True (.T.), Visual FoxPro игнорирует срабатывание события Grid.KeyPress и использует программный Код для соответствующего события конкретной Клетки (Ячейки), в которой сработало это Событие .

Expand image См. также

Описание

ActiveColumn, свойство
AfterRowColChange, событие
BeforeRowColChange, событие
HighlightBackColor, свойство
HighlightStyle, свойство
RelativeColumn, свойство
SelectedItemForeColor, свойство
KeyPress, событие

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


AllowDelete Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowDelete
Смотрите также
CollapseAll image

Определяет - будет ли разрешена операция удаления на источнике данных. Редактируемое (Read/write) как в design, так и в run time.

Note Замечание

AllowDelete не воздействует на способность удалять строки в курсоре, как таковом.

CursorAdapter.AllowDelete [ = lValue ]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

True (.T.)

Разрешает операции удаления. (Используется по умолчанию)

Когда свойство DeleteCmd объекта CursorAdapter оставлено незаполненным (""), Visual FoxPro автоматически генерирует SQL команду DELETE. Для получения более подробной информации смотрите описание Управление доступом к данным с помощью CursorAdapters.

False (.F.)

Не разрешает операции удаления.

Expand image Примечания

Применяется к классу: CursorAdapter Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AllowHeaderSizing Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowHeaderSizing
Смотрите также
CollapseAll image

Определяет, может ли высота заголовка grid's быть изменена во время выполнения. Доступный на этапе проектирования и выполнения.

Grid.AllowHeaderSizing[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из следующих:

Установка Описание

True (.T.)

(По умолчанию) Высота заголовка grid может быть изменена при перетаскивании заголовка на этапе выполнения.

False (.F.)

Высота заголовка grid не может быть изменена при перетаскивании заголовка на этапе выполнения.

Expand image Примечание

Применимо к: Элемент управления Grid

Expand image Смотрите также

Справочное руководство

Свойство AllowRowSizing
Функция HEADER( )
Свойство HeaderHeight

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AllowInsert Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowInsert
Смотри также

Указывает - будет ли разрешена операция вставки на источнике данных. Редактируемое (Read/write)в design и run time.

CursorAdapter.AllowInsert [ = lValue ]

Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены установки для lValue.

lValue Описание

True (.T.)

Разрешает операции вставки. (Используется по умолчанию)

Когда свойство InsertCmd объекта CursorAdapter не установлено - (""), Visual FoxPro генерирует команду SQL INSERT автоматически. Для получения подробной информации смотрите сттью Управление доступом к данным с использованием CursorAdapter'ов.

False (.F.)

Операции вставки запрещены.

Примечания

Применяется к: классу CursorAdapter

AllowInsert не воздействует на саму возможность вставки строки в курсор.

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


AllowModalMessages Property

AllowModalMessages, свойство
См. также
CollapseAll image

Определяет возможность текущего Объекта ReportListener обеспечивать Модальные Сообщения, как часть общего интерфейса с Пользователем.

ReportListener.AllowModalMessages [= lExpr]

Expand image Возвращаемое значение

Логического типа (Logical).

= True

Модальные Сообщения Разрешены.

= False

(По-умолчанию) Модальные Сообщения Не Разрешены.

Expand image Комментарии

Применяется в: ReportListener, объект.

Стандартный класс типа ReportListener имеет Два различных метода для реализации взаимодействия с конечным Пользователем: DoMessage и DoStatus. В этих случаях возможно построение Модального диалога с Пользователем (например, с помощью Функции MESSAGEBOX) или немодального (асинхронного) Информационного Сообщения для пользователя (например, с помощью стандартной команды WAIT ... NOWAIT, которая информирует о выполняемых действиях при получении текущего Отчета).

При создании программного Кода, обеспечивающего Модальное взаимодействие с Пользователем в пользовательском Классе Отчета, производном от стандартного класса ReportListener, рекомендуется использовать установку AllowModalMessages = .T. , которая допускает использование Модальных Сообщений в рассматриваемой Среде Отчета. Если выполнена установка AllowModalMessages = .F., то ваш пользовательский программный Код в методе DoMessage может переопределить поведение метода DoStatus, в котором заменяются информативные сообщения. Взамен стандартного Диалога, с помощью метода DoMessage, вы можете подавить стандартные Сообщения при выполнении текущего Отчета.

Значение свойства QuietMode имеет приоритет над свойством AllowModalMessages. Если выполняется QuietMode = .T., то все модальные и немодальные сообщения для Пользователя Подавляются. Данное обстоятельство необходимо учитывать при разработке соответствующего программного Кода рассматриваемых Методов.

Expand image См. также

Описание

DoMessage, метод
DoStatus, метод
QuietMode, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


AllowOutput Property

Visual FoxPro 9.0 Описание Языка
AllowOutput, свойство
См. также
CollapseAll image

Определяет, разрешен ли вывод информации в данную Форму. Чтение / Запись для режимов Design-time и Run-time.

Form.AllowOutput = lExpr

Параметры

lExpr

Логического типа, Logical. В следующей таблице описаны возможные значения рассматриваемого выражения lExpr.

lExpr Краткое Описание

True (.T.)

(По-умолчанию) Вывод данных пользователя направляется в Форму, если она активна.

False (.F.)

Переопределяет вывод данных в Главное Окно, если текущая форма активна.

Expand image Комментарии

Применяется В: Form, объект

Если рассматриваемое свойство AllowOutput программным способом изменяется из = True (.T.) - в значение = False (.F.), система Visual FoxPro автоматически переопределяет вывод информации в Главное Окно.

Note Обратите Внимание

Использование свойства AllowOutput может повлиять на программный Код, определяющий текущее положение и размеры рассматриваемого Окна. Это касается также использования стандартной функции WOUTPUT( ) или других команд, таких как DEFINE POPUP...FROM, где предполагаются соответствующие координаты Окна Вывода информации.

При установке значения свойства AllowOutput = False (.F.) для текущей формы, изменяется механизм поведения системы Visual FoxPro.

  • Вывод информации переопределяется в следующее активное Окно или Главный экран. Данное выполняется для стандартных команд: ?, ??, DIR, LIST, DISPLAY, CLEAR, и других команд и функций, которые выводят данные на Форму.

  • Функция WOUTPUT( ) не возвращает имя активной Формы. Возвращается имя Окна, в которое перенаправлен вывод информации, или имя Главного Окна.

  • Стандартная команда BROWSE не наследует свойства Окна (размеры и характеристики), вывод информации из которого перенаправлен в другое Окно.

  • При использовании функций MCOL( ) / MROW( ), в которых не указаны дополнительные параметры, не возвращают корректные требуемые значения.

В том случае, когда для значения свойства AllowOutputустанавливается = False (.F.), система Visual FoxPro переопределяет вывод информации пользователя в следующее активное Окно или в Главный Экран системы.

Expand image См. также

Описание

? | ?? , команда
BROWSE , команда
CLEAR , команды
DEFINE POPUP , команда
DIR or DIRECTORY , команда
DISPLAY , команда
LIST , команды
WOUTPUT( ), функция

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


AllowRowSizing Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowRowSizing
Смотрите также
CollapseAll image

Определяет, может ли изменяться высота записей в элементе управления grid на этапе выполнения. Доступно на этапе проектирования и выполнения.

Grid.AllowRowSizing[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из следующих:

Установка Описание

True (.T.)

(По умолчанию) Высота записей в grid может быть изменена при перетаскивании на этапе выполнения.

False (.F.)

Высота записей в grid не может быть изменена при перетаскивании на этапе выполнения.

Expand image Примечание

Применимо к: Элемент управления Grid

Expand image Смотрите также

Справочное руководство

Свойство AllowHeaderSizing
Свойство RowHeight
Функция ROW( )

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AllowSimultaneousFetch Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowSimultaneousFetch
Смотрите также
CollapseAll image

Определяет - будет ли разрешена одновременная выборка для курсоров Open Database Connectivity (ODBC) при использовании соединения в разделенном доступе (shared connection). Read/write в design и run time.

Замечание Замечание

AllowSimultaneousFetch променяется только тогда, когда свойство DataSourceType объекта CursorAdapter установлено в "ODBC". Если ассоциированное соединение не является соединением разделенного доступа, значение установки AllowSimultaneousFetch не оказывает никакого влияния.

CursorAdapter.AllowSimultaneousFetch [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице указаны значения для lValue.

lValue Описание

False (.F.)

При использовании соединения разделенного доступа (shared connection), единообразно сконфигурированные курсоры, совместно использующие соединения запрещены для одновременной выборки строк. (По умолчанию)

True (.T.)

При использовании соединения разделенного доступа (shared connection), единообразно сконфигурованные курорсы, которые используют это соединения позволены для одновременной выборки строк.

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Свойство DataSourceType

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AllowTabs Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowTabs
Смотрите также
CollapseAll image

Определяет, разрешены ли табуляторы в элементе управления EditBox.

EditBox.AllowTabs[ = lExpr]

Expand image Возвращаемое значение

lExpr

Определяет логическое значение, указывающее разрешены ли табуляторы в элементе управления EditBox. Для свойства lExpr предусмотрены следующие установки:

lExpr Описание

True (.T.)

Табуляторы разрешены.

Для выхода из элемента управления нужно нажать клавиши CTRL+TAB.

False (.F.)

Табуляторы в поле редактирования запрещены (По умолчанию).

Для выхода и перемещения фокуса на следующий элемент управления, в порядке, установленном табуляцией, нужно нажать клавишу TAB.

Expand image Замечания

Применяется к: EditBox Control

Expand image Смотрите также

Справочное руководство

TabIndex, свойство
TabStop, свойство
TabStyle, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


AllowUpdate Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AllowUpdate
Смотрите также
CollapseAll image

Определяет - будет ли разрешена операция обновления на источнике данных. Read/write в design time и run time.

Замечание Замечание

AllowUpdate само по себе не влияет на возможность обновления строки в курсоре.

CursorAdapter.AllowUpdate [ = lValue ]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены возможные значения для lValue.

lValue Описание

True (.T.)

Разрешает операции обновления. (По умолчанию)

Когда свойство UpdateCmd property объекта CursorAdapter представляет собой пустую строку (""), Visual FoxPro автоматически генерирует команду UPDATE - SQL. Для получения более подробной информации смотрите описание Управление доступом к данным с помощью CursorAdapter'ов.

False (.F.)

Запрещает операции обновления.

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AlwaysOnBottom Property

Visual FoxPro 9.0 Описание Языка
AlwaysOnBottom, свойство
См. также
CollapseAll image

Предохраняет перекрытие данного Окна Формы другим Окном или Формой. Доступно в режиме Design-time; Чтение/Запись в режиме Run-Time.

Object.AlwaysOnBottom[ = lExpr]

Expand image Возвращаемое значение

lExpr

Значения данного параметра описываются в следующей Таблице:

Значение Краткое Описание

True (.T.)

Данная форма размещается на заднем Плане (только другое окно, с установкой свойства AlwaysOnBottom= .T. может размещаться за данным окном).

False (.F.)

(По-умолчанию) Данная Форма (Окно) может перекрывать другое Окно.

Expand image Комментарии

Применяется В: Form, объект | _SCREEN, системная переменная

Значение свойства AlwaysOnBottom - игнорируется, если выполнено хотя бы одно из следующих условий:

  • AlwaysOnTop = .T.

  • Desktop = .T.

  • ShowWindow = 2

Установка любого значения для свойства AlwaysOnBottom для системной переменной _SCREEN, - Игнорируется.

Expand image См. также

Описание

AlwaysOnTop, свойство
Desktop, свойство
ShowWindow, свойство
ZOrder, метод

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Свойство AlwaysOnTop

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AlwaysOnTop
Смотрите также
CollapseAll image

Запрещает другим окнам заслонять окно объекта Form. Доступно на этапе проектирования; чтение/запись на этапе выполнения.

Object.AlwaysOnTop[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства AlwaysOnTop предусмотрены следующие установки:

Установки Описание

True (.T.)

Форма всегда находится на переднем плане (ее может перекрыть только другое окно, в котором свойство AlwaysOnTop имеет значение "истина" (.T.)).

False (.F.)

(По умолчанию) Форму может заслонить другое окно.

Expand image Примечания

Применимо к: Объект Form | Системная переменная _SCREEN

Expand image Смотрите также

Reference

Свойство AlwaysOnBottom
Свойство ShowWindow
Метод ZOrder

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Anchor Property

Visual FoxPro 9.0 Описание Языка
Anchor, свойство
См. также
CollapseAll image

Определяет изменение Местоположения (координат) и/или Размеров данного Объекта при изменении Размеров Родительского Контейнера, который содержит рассматриваемый Объект. Чтение / Запись для режимов Разработки (Design-Time) и Выполнения (Run-Time).

Control.Anchor [= nValue]

Expand image Возвращаемое значение

nValue

Определяет составное (по-битовое) Значение, характеризующее различные варианты изменения Местоположения и Размеров данного Контрола.

В следующей Таблице приводится Описание возможных значений для составных частей параметра nValue.

Позиция Значение
Бита (части) 		Номер
Бита
(части) 		Противоречит
Значениям 		Краткое Описание

Top Left

0

Местоположение и Размеры контрола не изменяются относительно Левой и Верхней границ родительского Контейнера (По-умолчанию). (Верхний-Левый Якорь)

Top Absolute

+1

0

16, 512

Местоположение Контрола не изменяется относительно Верхней границы Родительского Контейнера. (Верхний Якорь)

Left Absolute

+2

1

32, 256

Местоположение Контрола не изменяется относительно Левой границы Родительского Контейнера. (Левый Якорь)

Bottom Absolute

+4

2

64, 512

Местоположение Контрола не изменяется относительно Нижней границы Родительского Контейнера. (Нижний Якорь)

Right Absolute

+8

3

128, 256

Местоположение Контрола не изменяется относительно Правой границы Родительского Контейнера. (Правый Якорь)

Top Relative

+16

4

1, 512

Местоположение контрола изменяется Пропорционально относительно Верхней Границы родительского Контейнера.

Left Relative

+32

5

2, 256

Местоположение контрола изменяется Пропорционально относительно Левой Границы родительского Контейнера.

Bottom Relative

+64

6

4, 512

Местоположение контрола изменяется Пропорционально относительно Нижней Границы родительского Контейнера.

Right Relative

+128

7

8, 256

Местоположение контрола изменяется Пропорционально относительно Правой Границы родительского Контейнера.

Horizontal Fixed Size

+256

8

2, 8, 32, 128

Горизонтальное Центрирование Контрола, Размеры Контрола не изменяются.

Vertical Fixed Size

+512

9

1, 4, 16, 64

Вертикальное Центрирование Контрола, Размеры Контрола не изменяются.

Далее приводятся Примеры, описывающие общие случаи использования значений рассматриваемого Свойства Anchor.

Тип Контрола Значение
nValue 		Краткое Описание

TextBox / EditBox

10

Горизонтальное растяжение (сжатие) Объекта при изменении размеров Родительского Контейнера.

CommandButton

12

Для размещения двух Контролов типа <OK> и <Отмена>, в Нижнем-Правом углу Контейнера.

CommandButton

128 и 32

Центрирование двух Кнопок, Левой и Правой.

CommandButton

260

Центрирование Контрола, размещенного в нижней части Формы.

Expand image Комментарии

Применяется В: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | PageFrame Control | Shape Control | Spinner Control | TextBox Control (Visual FoxPro)

Привязка (Anchoring) основывается на исходных Координатах рассматриваемого Контрола в тот момент, когда определяется требуемое значение для свойства Anchor; обычно это происходит при создании экземпляра данного Контрола, его инициализации. Привязка не учитывает текущую позицию Контрола (его текущее местоположение). Следовательно, даже после того как вы переместите рассматриваемый Контрол, механизм Привязки использует начальные Координаты Контрола. Данные размышления объясняют отличие между схожими значениями для свойства Anchor: = 0 или = 3 (+1+2).

Например, предположим, что на Форме расположена Кнопка типа CommandButton, для нее установлено значение свойства Anchor = 3. При размещении в программном Коде события Click следующего фрагмента: (Попытка Программного перемещения Кнопки в правую сторону)

CopyCode image Копировать Код
This.Left = This.Left + 10

Однако, когда вы изменяете размеры Формы, рассматриваемый Контрол (Кнопка) возвращается в свою начальную позицию.

Note Совет

Если вам требуется выполнять Привязку Контрола на основе текущих Координат (после перемещения его, как указано в примере), рекомендуется сначала выполнить Anchor = 0, а после этого выполнить Anchor = 3. Если использовать предположения рассматриваемого Примера, то в программный Код события Click можно поместить следующий Фрагмент:
CopyCode image Копировать Код
Local Tmp1
Tmp1 = This.Anchor
This.Left = This.Left + 10
This.Anchor = 0
This.Anchor = Tmp1

Значения свойства Anchor рассматриваемых Контролов подчиняется Родительским Контейнерам:

  • CommandGroup, контрол

  • Container, объект

  • Control, объект (Visual FoxPro)

  • Form, объект

  • OptionGroup, контрол

  • Page, объект

Значения свойства Anchor игнорируется для Контролов, помещенных в Контейнеры типа ToolBar или Column.

Вы можете изменять Размеры Элементов Управления (Контролов), в этом случае должны быть установлены соответствующие значения для противоположных границ Контрола; например, Значения для Левого и Правого края, или для Верхнего и Нижнего края. Если определить только значение для одного края, то данный контрол можно только Переместить, а размеры Контрола не изменяются

Если вы не устанавливаете Биты одной из Координатных Осей (вертикальной или Горизонтальной), то при изменении размеров родительского Контейнера координаты соответствующей Оси Контрола - Не изменяются. Например, значения для Свойства Anchor = 1, 3, 5, 7, или 10 влияют только на верхний и нижний края Контрола, а по горизонтали изменений не происходит.

Примечание Переводчика: При разработке пользовательской Формы, для установки значения свойства Anchor можно использовать соответствующий Редактор: Anchor Editor, смотрите далее

Форма Редактора Привязки (Anchor Editor)

Вы не можете устанавливать значения Битов, которые противоречат друг - другу. Это относится к следующим Примерам:

  • Недопустима Абсолютная и Относительная Привязка к одной и той же границе, nValue = 17 (+1+16).

  • Недопустима комбинация Фиксированного размера Контрола по одной из координатных Осей и привязка к краю по той же Оси nValue = 258 (+2+256), или 513 (+1+512)., противоречие - очевидно, смотрите Таблицу выше.

Expand image См. также

Описание

Контролы для расширения Функционала Форм

Концепции

Добавление Объектов в Формы

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Application Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Application
Смотрите также
CollapseAll image

Предоставляет ссылку на объект Application, содержащий объект. Недоступно в design time; "только для чтения" в run time.

Object.Application.Property [ = Setting]
-or-
Object.Application.Method

Expand image Возвращаемое значение

Property

Определяет любое свойство объекта Application или системной переменной _VFP; например, свойство Caption.

Setting

Существующее или новое значение для Property.

Method

Определяет любой метод объекта Application или системной переменной _VFP; например, метод DoCmd.

Expand image Примечания

Применяется к: CheckBox Control | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | Cursor Object | CursorAdapter Class | Custom Object | DataEnvironment Object | EditBox Control | Form Object | FormSet Object | Grid Control | Header Object | Hyperlink Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | Relation Object | _SCREEN System Variable | Separator Object | Session Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Используйте свойство Application для доступа к свойствам и методам объекта Application из объектов, содержащихся в приложении. Свойство Application может быть, также, использовано с системной переменной _VFP для получения доступа к свойствам и методам текущего экземпляра Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Функция CREATEOBJECT()

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoActivate Property

Visual FoxPro 9.0 Описание Языка
Свойство AutoActivate
См. также

Определяет, как активируется OLE - Container. Доступно в режимах разработки и выполнения RunTime.

Control.AutoActivate[ = nValue]

Возвращаемое значение

nValue

Возможные значения свойства AutoActivate представлены в таблице:

Значение Описание

0

Управляемое (Manual). Элемент управления активизируется при создании. Вы можете также его активировать методом DoVerb.

1

GotFocus. Контрол, содержащийся в объекте активируется, когда он получает фокус.

2

(по-умолчанию) DoubleClick. Контрол, содержащийся в объекте активируется, когда пользователь активирует его манипулятором мышь (double-clicks) или нажимает ENTER, когда контрол имеет фокус.

3

Автоматически. Контрол активируется, когда получает фокус или пользователь выполняет "double-clicks" или нажимает ENTER.

Комментарии

Применяется в: Контрол OLE Bound | Контрол OLE Container

Если внедряемый объект поддерживает режим "активация-по-месту", Вы можете установить AutoActivate = 1 (GotFocus) для активации объекта, когда он получит фокус.

Примечание:
Когда значение свойства AutoActivate = 2 (Double-Click), событие DblClick не происходит.

См. также

Другие ссылки

Меод DoVerb
Событие DblClick
Свойства
Описанме Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


AutoCenter Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoCenter
Смотрите также
CollapseAll image

Определяет, следует ли автоматически центрировать объект Form в основном окне Visual FoxPro или на рабочем стьоле, когда он впервые появляется на экране. Доступно на этапе проектирования и выполнения.

Object.AutoCenter [ = lExpr]

Expand image Возвращаемое значение

lExpr

Определяет, центрируется ли объект Form или же размещается в соответствии с установками свойств Top и Left. Для свойства AutoCenter предусмотрены следующие установки:

Установки Описание

True (.T.)

Объект Form центрируется, а значения свойств Top и Left устанавливаются согласно новой позиции.

False (.F.)

(По умолчанию) Объект Form не центрируется, а размещается по координатам, заданным свойствами Top и Left.

Expand image Примечания

Применимо к: Объект Form | Системная переменная _SCREEN

Вормы выведеные в основном окне с установкой AutoCenter равной "Истина" (.T.) объект Form центрируется внутри основного окна.

Note Замечание

Если в качестве значения свойства AutoCenter сначала установлена "истина" (.T.), а затем "ложь" (.F.), то в итоге в Form не восстановится исходная позиция Top/Left.

Expand image Смотрите также

Справочное руководство

Свойство Desktop
Свойство Left (Visual FoxPro)
Свойство Top (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AutoCloseTables Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoCloseTables
Смотрите также
CollapseAll image

Определяет, должны ли таблицы или представления, задаваемые средой данных, закрываться при освобождении формы, набора форм или отчета. Доступно на этапе проектирования; Только чтение на этапе выполнения.

DataEnvironment.AutoCloseTables[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства AutoCloseTables предусмотрены следующие установки:

Значение Описание

True (.T.)

(по-умолчанию) Закрывает таблицы и представления при освобождении формы, набора форм или отчета.

False (.F.)

Таблицы и представления остаются открытыми после освобождения формы, набора форм или отчета..

Expand image Примечания

Применимо к: Объект DataEnvironment

Если свойство AutoCloseTables имеет значение "ложь" (.F.) и при этом выполнение формы, набора форм или отчета происходит не в приватной сесиии, то таблицы и представления связаные с объектами курсор в среде данных остается открытым после освобождения формы, набора форм или отчета. Во всех остальных случаях, таблицы и представления связанные с объектом курсор в среде данных - зарываются.

Expand image Смотрите также

Справочное руководство

Свойство AutoOpenTables
Свойство DataSession
Свойство DataSessionID

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AutoComplete Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoComplete
Смотрите также
CollapseAll image

Определяет, что textbox отслеживает ранее введенные значения и делает их доступными в динамически изменяющемся списке предлагаемых для автозавершения ввода значений. Доступно, как в design, так в runtime.

Textbox.AutoComplete [ = nValue]

Expand image Возвращаемое значение

nValue

Целочисленный тип данных. В приведенной ниже таблице перечислены значения дляnValue.

nValue Установка

0

Не отображается список доступных значений.

1

Alphabetical Входы сортируются по алфавиту и не являются регистро-чувствительными.

2

Most Frequently Used (MFU) Входы сортируются на основе счетчика наиболее частого использования.

3

Most Recently Used Входы сортируются на основе данных самого последнего обновления, то есть на основе значения поля Updated в таблице источника входов.

4

Custom Используется поле Weight, заполненное вашим собственным алгоритмом, для указания способа сортировки. Результаты сортируются по убыванию (от высших к низшим значениям). Если имеются равные значения счетчика, то тогда используются значения поля Updated (первые в списке появятся значения, которые были обновлены позже).

Expand image Примечания

Применяется к: TextBox Control (Visual FoxPro)

Установите свойство AutoComplete для обеспечения функциональности элемента управления textbox, которая автоматически сохраняет введенные значения и предлагает их при вводе текста в элементе управления. Когда в текстовом боксе печатаются символы, то отображается динамически изменяющицся список ранее введенных значений, отвечающих шаблону введенных символов. Когда пользователь выбирает значение из списка, то значение textbox становится равным этому значеню и переписывает информацию об использовании этого входа в таблице Autocomp.dbf или иной, указанной вами таблице.

Для получения более подробной информации о том, как сохраняются введенные данные, смотрите описание Свойство AutoCompTable.

Если вы используете свой собственный порядок сортировки (4), вам необходимо определить весовой порядок обновлением поля Weight в таблице AutoComplete, которое резервировано для использования вами. Например, вы можете указать код в событии Valid для элемента управления textbox, который обновит значение поля Weight, основанное на частоте использования и в котором самые поздние введенные входы получают высшее значение веса.

Если вы желаете управлять числом предметов, появляющихся в динамическом списке, вы можете установить опцию List Display Count в диалоговом блоке Options. Вы можете, кроме того, установить это значение с помощью функции SYS(2910) - List Display Count.

Expand image Смотрите также

Справочное руководство

Элемент управления TextBox (Visual FoxPro)
Свойство AutoCompTable
Свойство AutoCompSource

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoCompSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoCompSource
Смотрите также Пример
CollapseAll image

Определяет поле Source в таблице, которая отслеживает текст для обеспечения функциональности автозавершения в элементе управления Textbox. Доступно, как в design, так и в run time.

cTextbox.AutoCompSource [= cValue]

Expand image Возвращаемое значение

cValue

Имя поля в таблице, используемой для автозавершения ввода, ассоциированного с textbox.

Expand image Примечания

Применяется к: TextBox Control (Visual FoxPro)

Определяет имя Source, используемого для поиска данных в таблице AutoComp. Имя поля является регистро-нечувстительным и хранится в верхнем регистре в таблице AutoComp.

Когда вход записывается или считывается из таблицы AutoComp, то используется ключ, который представляет собой поле Source. По умолчанию, если это свойство не определено, тогда имя элемента управления textbox становится ключевым значением в этом поле таблицы AutoComp.

Вы можете написать приложение, которое будет использовать одиночную таблицу AutoComp, которая будет поставлять значения нескольким элементам управления textbox, внутри одного приложения.

Поле Source в таблице AutoComp ограничено 20-ю символами. Вы должны убедиться, что ваше значение свойства AutoCompSource отвечает этому ограничению. В случае, если вы не указали значения для свойства AutoCompSource, то будет использовано значение свойства Name элемента управления, для которых вы пожелали установить автозавершение ввода. Если используемый источник имеет имя длиной более 20 символов, то оно обрезается до первых 20 символов .

Expand image Пример

Например, вы можете иметь несколько форм, которые имеют поле Address. С помощью установки свойства AutoCompSource в значение “myAddress” для каждого текстового бокса, который отображает поле адреса, то вы можете многократно использовать входы в таблице AutoComp по всему вашему приложение.
CopyCode image Скопировать код
AddressForm.AddressText1.AutoCompSource = 'myAddress'

Expand image Смотрите также

Справочное руководство

Элемент управления TextBox (Visual FoxPro)
Свойство AutoCompTable
Свойство AutoComplete

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoCompTable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoCompTable
Смотрите также
CollapseAll image

Указывает имя и местонахождение таблицы, которая хранит данные, используемые в элементе управления Textbox, которые предлагаются в качестве значений, основанный на ранее введенных значений.

Textbox.AutoCompTable [ = cValue]

Expand image Возвращаемое значение

cValue

Указывает имя и путь к таблице, которая поддерживает отображение в списке ранее введенных в текстбокс значений.

Expand image Примечания

Применяется к: TextBox Control (Visual FoxPro)

Значением по умолчанию для имени и пути этого свойства являются HOME(7) + “Autocomp.DBF”. Если вы введете имя таблицы, которая еще не существует, то она будет создана для вас.

В приведенной ниже таблице описывается структура таблицы авто завершения ввода.

Имя поля | Тип (размер) | Описание
Source | C (20) | Имя источника - то есть элемента Textbox.
Data | C (254) | Предмет данных для отображения в списке.
Count | I | Число, указывающее - сколько раз был выбран предмент данных.
Weight | I | Указывает значение для использования при установке AutoComplete в значение 4 (Custom).
Created | T | Временной штамп, указывающий на время, когда был впервые создан предмет данных.
Updated | T | Временной штамп, указывающий на время, когда предмет данных был обновлен в последний раз.
User | M | Указывает информацию пользователя.

Expand image Смотрите также

Справочное руководство

Элемент управления TextBox (Visual FoxPro)
Свойство AutoCompTable
Свойство AutoCompSource
Свойство AutoComplete

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoHideScrollBar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoHideScrollBar
Смотрите также Пример
CollapseAll image

Показывает или прячет полосу прокрутки в элементе управления ListBox. Read/write как в design time, так и в run time.

Note Замечание

Если listbox пустой или, если все элементы списка видимы, полоса прокрутки не отображаются.

ListBox.AutoHideScrollBar [= nValue]

Expand image Возвращаемое значение

nValue

Указывает значение, которые определяет - будет ли полоса прокрутки отображаться в listbox.

В приведенной ниже таблице перечислены значения для nValue.

nValue Description

0

Всегда показывать полосу прокрутки. (По умолчанию)

1

Показывать полосу прокрутки только в том случае, если не все предметы в списке элемента listbox видимы.

Expand image Примечания

Применяется к: ListBox Control

При рисовании полос прокрутки , Visual FoxPro учитывает установку свойства IntegralHeight.

Expand image Пример

Примеденный ниже пример создает listbox на форме и указаывает в качестве источника данных для предметов списка массив. В пользовательском классе элемента управления listbox, lstMyListbox, свойство AutoHideScrollBar устанавливается в 1 для того, чтобы полоса прокрутки появилась только в случае, если не все элементы списка видимы. Изменение размера формы устанавливает новый размер для listbox.

Шаги, производимые в этом примере приведены ниже:

  • Очищаем главное окно Visual FoxPro с помощью команды CLEAR.

  • Создаем массив с именем gaMyListArray, используя команду DIMENSION.

  • Заполняем массив буквами, используя команды FOR...ENDFOR и STORE.

  • Создаем форму, используя функцию CREATEOBJECT().

  • Вызовом метода AddObject вводим элемент управления CommandButton, основанный на пользовательском классе cmdMyCmdButton.

  • Вызовом метода AddObject вводим элемент управления ListBox, основанный на пользовательском классе lstMyListBox.

  • Указываем массив в качестве типа источника строки с помощью установки свойства RowSourceType в значение 5 (Array).

  • Указываем массив gaMyListArray в качества источника строки с помощью установки свойства RowSource.

  • Показываем командную кнопку установкой свойства Visible.

  • Показываем listboxустановкой свойства Visible.

  • Отображаем форму вызовом метода формы Show.

  • Начинаем обработку событий с помощью команды READ EVENTS.

  • Определяем пользовательский класс cmdMyCmdButton, основанный на элементе управления CommandButton, используя команду DEFINE CLASS. Код в команде DEFINE CLASS устанавливает свойства класса и определяет процедуры.

  • Определяем пользовательский класс lstMyListBox, основанный на элементе управления ListBox, используя команду DEFINE CLASS. используя команду DEFINE CLASS. Код в команде DEFINE CLASS устанавливает свойства класса и определяет процедуры.

CopyCode image Скопировать код
CLEAR
DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT

frmMyForm = CREATEOBJECT('Form')
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')
frmMyForm.AddObject('lstListBox1','lstMyListBox')
frmMyForm.lstListBox1.RowSourceType = 5
frmMyForm.lstListBox1.RowSource = 'gaMyListArray'
frmMyForm.cmbCommand1.Visible =.T.
frmMyForm.lstListBox1.Visible =.T.
frmMyForm.Show
READ EVENTS

DEFINE CLASS cmdMyCmdBtn AS CommandButton
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 210
   Height = 25
   PROCEDURE Click
      CLEAR EVENTS
      CLEAR
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox
   Left = 10
   Top = 30
   Anchor = 5
   AutoHideScrollBar = 1
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство RowSource
Свойство RowSourceType

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoIncrement Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoIncrement (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет - будет ли номер версии проекта автоматически увеличиваться при каждой компиляции проекта в распространяемый .exe или in-process .dll.

Object.AutoIncrement[ = lExpression]

Expand image Возвращаемое значение

lExpression

Возможные установки свойства AutoIncrement приведены в таблице:

Установка Описание

True (.T.)

Номер версии проекта будет автоматически увеличиваться при каждой его компиляции в .exe или в dll.

False (.F.)

(По-умолчанию) Номер версии проекта остается неизменным.

Expand image Примечания

ПРименяется к: объекту Project (Visual FoxPro)

Номер версии не изменяется при установке значения свойства в false (.F.) или в случае, когда проект просто перестраивается и компилируется приложение .app.

Значение свойства AutoIncrement соответствует установке, которую определяет чек-бокс Auto Increment в диалоговом блоке Диалоговый блок EXE Version. Номер версии может быть определен или установлен с помощью свойства VersionNumber.

Expand image Смотрите также

Справочное руководство

Команда BUILD APP
Команда BUILD DLL
Команда BUILD EXE
Команды BUILD PROJECT
Диалоговый блок EXE Version
Свойство VersionNumber

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoOpenTables Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoOpenTables
Смотрите также
CollapseAll image

Определяет - будут ли автоматически загружены таблицы или представления, ассоциированные с DataEnvironment набора форм, формы или отчета. Редактируемое в design time; только для чтения в run time.

DataEnvironment.AutoOpenTables [= lExpr]

Параметры

lExpr

Логический тип данных. В приведенной ниже таблице перечислены возможные значения, которые может принимать lExpr.

lExpr Описание

True (.T.)

Таблицы или представления набора форм, формы или отчета открываются автоматически. (По умолчанию)

False (.F.)

Таблицы и представления автоматически не открываются.

Expand image Примечания

Применяется к: объекту DataEnvironment

Когда свойство AutoOpenTables установлено в True (.T.), DataEnvironment автоматически вызывает метод AutoOpen любого объекта CursorAdapter содержащегося в нем. DataEnvironment открывает любые курсоры или курсоры-адаптеры в том порядке, в котором они были введены в окружение данных.

Когда свойство AutoOpenTables установлено в False (.F.), вы можете вызвать метод OpenTables объекта DataEnvironment для программной загрузки данных в DataEnvironment.

Expand image Смотрите также

Справочное руководство

Событие BeforeOpenTables
Метод OpenTables
Свойство OpenViews
Метод AutoOpen
Класс CursorAdapter

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoRelease Property

Visual FoxPro 9.0 Описание Языка
Свойство AutoRelease
См. также

Определяет освобождение объекта Form Set когда стирается последняя форма данного объекта. Доступно для изменения в режиме разработки формы, а также в режиме выполнения (RunTime).

FormSet.AutoRelease[ = lвыражение]

Возвращаемое значение

lвыражение

Имеются следующие установки для свойства AutoRelease:

Установка Описание

Да (.T.)

По-умолчанию в дизайнере форм. Объект Form Set очищается когда стирается последняя его форма.

Нет (.F.)

По-умолчанию в режиме Run-Time. Объект Form Set Не очищается когда стирается последняя его форма..

Комментарии

Применяется: Объект FormSet

См. также

Другие Ссылки

Метод Release
Свойство ReleaseType
Дизайнер Форм
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


AutoSize Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoSize
Смотрите также
CollapseAll image

Определяет - будет ли управляющий элемент автоматически изменен в размерах, чтобы вместить содержимое. Дотсупно, как в design, так и в run time.

Control.AutoSize[ = lExpr]

Expand image Возвращаемое значение

lExpr

Определяет - будет ли управляющий элемент автоматически изменен в размерах, чтобы вместить содержимое. Ниже приведены возможные значения для свойства AutoSize:

Значение Описание

True (.T.)

Управляющий элемент автоматически изменяется в размерах для того, чтобы вместить его содержимое.

False (.F.)

(По умолчанию) Содержание обрезается, когда оно превышает пространство управляющего элемента.

Expand image Примечания

Применяется к: CheckBox Control | CommandButton Control | CommandGroup Control | Label Control (Visual FoxPro) | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control

Для управляющих элементов OLE Container, Autosize применяется только к тем OLE-объектам, которые поддерживают редактирование на месте (in-place editing). Свойство Sizable должно быть установлено true (.T.) для изменения размера OLE-объекта во время редактирования на месте.

Expand image Смотрите также

Справочное руководство

Свойство Alignment
Свойство Height
Свойство Width

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoVerbMenu Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство AutoVerbMenu
Смотрите также
CollapseAll image

Определяет - будут ли в контекстном меню, вызываемом щелчком по правой клавише мыши на OLE-объекте , отображаться команды, присущие этому OLE-объекту. Доступно только в run time.

Control.AutoVerbMenu[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из приведенного ниже:

Установка Описание

True (.T.)

(По умолчанию) В контекстном меню, вызываемом щелчком по правой клавише мыши на OLE-объекте, будут отображаться команды, присущие этому OLE-объекту

False (.F.)

В контекстном меню, вызываемом щелчком по правой клавише мыши на OLE-объекте, не будут отображаться команды, присущие этому OLE-объекту

Expand image Примечания

Применяется к: Enabled Property (Visual FoxPro) | OLE Bound Control | OLE Container Control

В run time, если свойства AutoVerbMenu и Enabled установлены в true (.T.), щелчок по правой клавише мыши на OLE-объекте отобразит контекстное меню, в котором будут отображены команды, поддерживаемые этим OLE-объектом. Если свойства AutoVerbMenu и Enabled установлены в false (.F.) или в случае, когда OLE-объект не поддерживает команд, контекстное меню не отображается, когда вы производите щелчок по правой клавише мыши на OLE-объекте.

Expand image Смотрите также

Задачи

Как: добавить OLE объекты в приложения

Справочное руководство

Метод DoVerb

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoYield Property

Visual FoxPro 9.0 Описание Языка
AutoYield, свойство
См. также
CollapseAll image

Определяет, как система Visual FoxPro обеспечивает Обработку Очереди ожидаемых Событий Windows при обработке каждой Строки Программного Кода.

ApplicationObject.AutoYield[ = lExpr]

Expand image Возвращаемое значение

lExpr

Данный параметр характеризует, как обрабатывается Очередь ожидаемых Событий Активных Объектов системой Visual FoxPro Windows при выполнении каждой строки Программного Кода (.prg). lExpr может принимать одно из следующих Значений:

lExpr Краткое Опичание

True (.T.)

(По-Умолчанию) Текущий активный экземпляр Visual FoxPro обрабатыет События Windows в помежутке между выполнением текущих Строк Программного Кода (пользовательской Программы).

Если lExpr = true (.T.), активный компонент Visual FoxPro обрабатывает Очередь Событий Windows аналогичным образом, как и в Младших версиях Visual FoxPro.

False (.F.)

Активный компонент Visual FoxPro не обрабатывает очередь Событий ОС Windows между выполнением каждой строки Программного Кода (.prg).

Все необработанные События Windows помещаются в Очередь диспетчера Событий, которая будет обработана после выполнения системной команды DOEVENTS или при переходе Приложения в Состояние Ожидания (READ EVENTS). Указанное Состояние в системе Visual FoxPro происходит в момент ожидания от Пользователя определенных действий. Команда WAIT не создает Состояния Ожидания.

Expand image Комментарии

Применяется В: Application, объект | _VFP, системная переменная

Рассматриваемое свойство AutoYield должно быть установлено в значение = False (.F.), когда в текущей Форме содержится внешний Контрол ActiveX. Данная установка, AutoYield = false (.F.) предотвращает незамедлительную Обработку Событий контрола ActiveX в промежутках между выполнением каждой строки программного Кода. Например, если установлено: AutoYield = True (.T.), выполните Клик на текущем контроле ActiveX при выполнении некоторого Фрагмента программного Кода, что заставит обрабатывать данное событие системой VFP и влиять на текущее выполнение программы, что может привести к непредсказуемым последствиям и побочным Эффектам (не всегда Положительным).

При переключении данного Свойства в нестандартное значение, AutoYield = False (.F.), Происходит Следующее:

  • Контролы ActiveX не в состоянии обработать возникаемые собственные События, пока не наступает Состояние Ожидания, так, к примеру, Клик не указанном Элементе ActiveX не имеет никакого эффекта в момент выполнения некоторого Фрагмента программного Кода. Аналогичное поведение наблюдается для системного Контрола GRID Visual FoxPro.

  • Текущие, активные команды ON KEY LABEL, и соответствующие им События (процедуры) игнорируются при выполнении фрагмента программного кода. Данные команды ON KEY LABEL, а также возникаемые События от Мышки помещаются в Очередь на обработку Событий (для Диспетчера Событий), до очередного Состояния Ожидания, где они будут последовательно Обработаны.

  • Нажатие на клавишу Esc не выполняет приостановку выполнения Программы. Данный случай идентичен установке команды: SET ESCAPE = OFF. В этом случае вы не сможете завершить бесконечные Циклы (зацикливание), без аварийного завершения текущего сеанса работы системы Visual FoxPro.

  • Выполнение Запросов SQL не прероывается (даже если есть ошибка).

  • Внешнее переключение между Приложениями Поддерживается, но вы не сможете переключиться обратно в активное Окно Visual FoxPro, пока последний не выполнит Фрагмент программного Кода и не перейдет в режим Состояние Ожидания.

Expand image См. также

Описание

DOEVENTS, команда
WAIT, команда
ON KEY LABEL, команда

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


BackColor, ForeColor Properties

Справочник по языку Visual FoxPro 9.0
Свойства BackColor, ForeColor
Смотри Также Пример

Задают цвет фона и основной цвет символов, используемые при отображении текста и графики в объекте.Доступны на этапе разработки и на этапе выполнения

Object.BackColor[ = nColor]
Object.ForeColor[ = nColor]

Возвращаемое значение

nColor

Задает значение конкретного цвета. Если nColor имеет отрицательное значение, Visual FoxPro будет использовать целое число. Например, -1 будет приравнено к 0xFFFFFFFF. В следующей таблице перечисленв основные значения цветов.

Цвет Значения RGB Значение nColor

Белый

255, 255, 255

16777215

Черный

0, 0, 0

0

Серый

192, 192, 192

12632256

Темно-серый

128, 128, 128

8421504

Красный

255, 0, 0

255

Темно-красный

128, 0, 0

128

Желтый

255, 255, 0

65535

Темно-желтый

128, 128, 0

32896

Зеленый

0, 255, 0

65280

Темно-зеленый

0, 128, 0

32768

Голубой

0, 255, 255

16776960

Темно-голубой

0, 128, 128

8421376

Синий

0, 0, 255

16711680

Темно-синий

0, 0, 128

8388608

Фиолетовый

255, 0 ,255

16711935

Темно-фиолетовый

128, 0, 128

8388736

Примечание

Применяется к: CheckBox Control | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object | EditBox Control | Form Object | Grid Control | Header Object | Label Control | OptionButton Control | OptionGroup Control | Page Object | _SCREEN | Shape Control | Spinner Control | TextBox Control | ToolBar Object

В Visual FoxPro используется цветовая схема "красный-зеленый-синий" (RGB). Красный, зеленый и синий компоненты представлены числовыми значениями из диапазона от 0 до 255. С помощью функции RGB( ) можно преобразовать эти три цветовые компонента в один комплексный индикатор nColor.

Примечание:
Свойство ForeColor не применяется к элементам управления CommandGroup, OptionGroup и Shape.

Установки цвета, или Темы, операционной системы задают параметры настройки цвета по умолчанию для BackColor и ForeColor.

Если значение свойства Themes установлено в True (.T.), установка значения свойства BackColor приведет к
появлению 35% прозрачности верхнего слоя на командной кнопки, цвет и форма которой управляются
темами операционной системы. Это произведет эффект подкрашивания.

Свойство Page BackColor игнорируется если Page Themes установлено в True (.T.).

Пример

Следующий пример показывает как с помощью элемента управления Shape можно создать круг, элипс или квадрат на форме и как с помощью свойства BackColor сделать заливку фона для созданных объектов .

В примере на форму помещаются Кнопка и группа Переключателей, с помощью которых выбирается один из созданных объектов Shape. .
Copy Code
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Add Command button
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Add Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Add Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Add Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')  && Add Box Shape

frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Command button visible

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Set Option group width
frmMyForm.opgOptionGroup1.Visible = .T.  && Option Group visible
frmMyForm.opgOptionGroup1.Click  && Show the circle

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Create an Option Group
   ButtonCount = 3  && Three Option buttons
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Hide the circle
      ThisForm.shpEllipse1.Visible = .F.  && Hide the ellipse
      ThisForm.shpSquare.Visible = .F.  && Hide the square

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Show the circle
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Show the ellipse
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Show the square
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Create a circle
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Red
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Create an ellipse
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Green
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Create a square
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && Blue
ENDDEFINE

Смотри Также

Прочие ресурсы

Свойство BackStyle
Свойство ColorScheme
Свойства DisabledBackColor, DisabledForeColor
Свойство FillColor
Свойство FillStyle
Функция GETCOLOR( )
Функция RGB( )
Свойства
Справочное руководство

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. Все права защищены


Свойство BackStyle

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BackStyle
Смотрите также
CollapseAll image

Задает фон объекта - прозрачный или непрозрачный. Доступно на этапе проектирования и выполнения.

Object.BackStyle[ = nStyle]

Expand image Возвращаемое значение

nStyle

Для свойства BackStyle допускаются следующие установки:

Установки Описание

0

Transparent (прозрачный). Можно видеть все, что находится за объектом.

1

(Default) Opaque (непрозрачный). Элемент управления окрашен в цвет BackColor данного объекта и заслоняет находящиеся позади него цвета или графику.

Expand image Примечания

Применимо к: CheckBox Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | OptionButton Control | OptionGroup Control | Page Object | Shape Control | TextBox Control (Visual FoxPro)

С помощью свойства BackStyle можно создавать прозрачные элементы управления, когда вы используете цвет фона в объекте Form или собираетесь поместить элемент управления поверх графики. Используйте непрозрачный элемент управления, если хотите, чтобы он выделялся на насыщенном фоне.

Свойство BackColor игнорируется, если свойство BackStyle имеет значение 0 (прозрачный).

Для объекта Page свойство BackStyle имеет статус только для чтения, когда свойство Tabs равно истина (.T.) для PageFrame, содержащей Page.

Свойство BackStyle игнорируется для объектов у которых свойство Theme установлено в True (.T.).

Expand image Смотрите также

Reference

Свойства BackColor, ForeColor
Свойства DisabledBackColor, DisabledForeColor

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BaseClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BaseClass
Смотрите также
CollapseAll image

Содержит имя базового класса Visual FoxPro, но котором основан ссылаемый объект. Только для чтения, как в design, так и в run time.

Object.BaseClass

Expand image Возвращемое значение

cBaseClass

Содержит имя базового класса Visual FoxPro, на котором основан объект.

Для получения более подробной информации о базовых классах Visual FoxPro смотрите их описания в Базовые классы в Visual FoxPro.

Expand image Примечания

Применяется: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | CursorAdapter Class | Custom Object | EditBox Control | Exception Class (Visual FoxPro) | Form Object | FormSet Object | Grid Control | Header Object | Hyperlink Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | ReportListener Object | _SCREEN System Variable | Session Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Expand image Смотрите также

Справочное руководство

Свойство Class (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


BatchUpdateCount Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BatchUpdateCount
Смотрите также
CollapseAll image

Определяет число предложений обновления, посылаемых удаленному источнику данных для буфферированных таблицы. Для работы с этим свойством для обычных курсоров, используйте функции CURSORSETPROP() и CURSORGETPROP(). Редактируемое.

Настройка BatchUpdateCount может драматически увеличить производительность обновления.

Замечание Замечание

Установка BatchUpdateCount для объектов CursorAdapter переписывает установку свойства курсора, присоединенного к объекту CursorAdapter. То есть, изменение установки курсора с помощью CURSORSETPROP() не возымеет воздействия.

CursorAdapter.BatchUpdateCount [ = nValue]

Expand image Возвращаемое значение

nValue

Численный тип данных. Значение по умолчанию для параметра nValue установлено равным единице 1.

Замечание Замечание

При обновлении данных с помощью Table Buffering, и обновлении таблицы или таблиц в источниках данных от множества клиентов, избегайте установки свойства BatchUpdateCount в значение большее, чем 1. В таких сценариях TABLEUPDATE( ) всегда вернет True (.T.). Вы можете безопасно установить BatchUpdateCount в значение большее, чем 1 для операция INSERT, UPDATE и DELETE когда lForce в TABLEUPDATE( ) установлен в True (.T.).

Expand image Примечания

Применяется к классу : CursorAdapter

BatchUpdateCount применяется к объектам CursorAdapter только в случае, когда источником данных для команд SQL INSERT, UPDATE и DELETE выступает один из нижеперечисленных:

  • "ODBC"

    В дополнение, один и тот же дескриптор соединения должен быть использован, как источник данных для команж SQL INSERT, UPDATE и DELETE.

    Замечание Замечание

    Источник данных и его тип должны могут быть наследованы из свойств DataSource и DataSourceType или объекта CursorAdapter или объекта DataEnvironment.

  • "ADO"

    В качестве источника данных для команд SQL INSERT, UPDATE и DELETE должен быть использован один и тот же ADODB Command object. Рекомендуется, чтобы вы явно установли свойства InsertCmdDataSource, InsertCmdDataSourceType, UpdateCmdDataSource, UpdateCmdDataSourceType, DeleteCmdDataSource и DeleteCmdDataSourceType, так как в этом сценарии наследование не работает.

  • "XML"

    Так же, как и в случае с ADO рекомендуется явная установка свойств InsertCmdDataSource, InsertCmdDataSourceType, UpdateCmdDataSource, UpdateCmdDataSourceType, DeleteCmdDataSource и DeleteCmdDataSourceType так как в и этом сценарии наследование не работает.

Если значение свойства BatchUpdateCount больше, чем 1, Visual FoxPro обновляет пакет исполнением команды, содержащейся в UpdateCmd один раз на пакет.

Замечание Замечание

Если используется пакетное обновление, события BeforeInsert, AfterInsert, BeforeUpdate, AfterUpdate, BeforeDelete и AfterDelete не срабатывают. Если обновление не осуществилось для пакета, Visual FoxPro попытается послать отдельные обновления для каждой строки в пакете; однако, события все равно не сработают.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP( )
Функция CURSORSETPROP( )
Команда INSERT - SQL
Команда UPDATE - SQL
Команда DELETE - SQL
Свойство DataSource (Visual FoxPro)
Свойство DataSourceType
Свойство InsertCmdDataSource
Свойство InsertCmdDataSourceType
Свойство UpdateCmdDataSource
Свойство UpdateCmdDataSourceType
Свойство DeleteCmdDataSource
Свойство DeleteCmdDataSourceType
Свойство UpdateCmd
Событие BeforeInsert
Событие AfterInsert
Событие BeforeUpdate
Событие AfterUpdate
Событие BeforeDelete
Событие AfterDelete

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BindControls Property

Visual FoxPro 9.0 Описание Языка
BindControls, свойство
См. также Пример
CollapseAll image

Определяет, как выполняется привязка к Контролам и Контейнерам Формы данных из соответствующих Источников.

Обычно система Visual FoxPro выполняет связывание Контролов и Источников Данных во время Загрузки Формы. Однако, вы можете использовать рассматриваемое свойство BindControls для определения текущего режима связывания Данных, что зависит от самых разнообразных Причин: для улучшения производительности Приложения, или для выполнения искуственной Задержки связывания с Данными, например в зависимости от некоторых Условий или Действий Пользователя, или до того момента, пока Источники Данных недоступны или не требуются.

Note Обратите Внимание

BindControls используется только для первоначальной Загрузки рассматриваемой Формы и последующей привязки Контролов к Данным. Для разнообразных случаев вы можете задавать: BindControls = False (.F.) или наоборот, = True (.T.), BindControls не может быть использована для разъединения Контролов и Данных, или переопределения привязок к другим данным.

Form.BindControls [= lValue]

Expand image Возвращаемое значение

Логического типа (Logical). Далее описываются возможные значения параметра lValue.

lValue Краткое Описание

True (.T.)

Заданные свойства Контролов или Контейнеров типа Control.ControlSource или Grid.RecordSource связываются с указанными Источниками Данных при Загрузке Формы. (По-умолчанию)

Если выполняется Form.BindControls = .T. и Control.ControlSource или Grid.RecordSource изменяются, то для данного Контрола Привязка Повторяется. Если выполняется изменение значения свойства Form.BindControls из .T. - в .F., текущие Связки не изменяются и не Обновляются.

False (.F.)

Заданные свойства Control.ControlSource или Grid.RecordSource не связываются с конкретными Источниками Данных при Загрузке Формы.

Если Form.BindControls = .F., а Control.ControlSource или Grid.RecordSource изменяют свои Значения, Контрол не загружается Данными, но его свойства ControlSource или Recordsource изменяют свои значения. Если Form.BindControls изменяется из значения .F. - в .T., то все Контролы в данной Форме заполняются Данными из источников, которые определены в свойствах: Control.ControlSource или Grid.RecordSource.

Expand image Комментарии

Применяется В: Form, объект

Expand image Пример

Предположим следующее, у нас есть Форма с несколькими Таблицами, или с несколькими объектами типа Grid, или с несколькими Контролами, которые связаны с данными из Курсора, получаемого в результате выполнения некоторого оператора SQL, который может выполняться некоторый период времени (например для удаленного Представления). Когда пользователь запускает указанную Форму, то она не отображается до тех пор пока не загружены данные Курсора.

При установке значения свойства BindControls = False (.F.), указанная форма отображается немедленно. Вы можете изменить значение данного свойства BindControls = True (.T.) в тот момент, когда Форма Активируется, например в Коде События Form.Activate,при этом можно отобразить системное сообщение (Wait Window Nowait) "Ждите, загрузка Данных...". Пользователь сразу видит загруженную Форму вместе с указанным сообщением о подгрузке Данных, вместо того, чтобы ожидать появление самой Формы (что может ввести в заблуждение, как подвисание Системы).

Expand image См. также

Описание

Form, объект; Свойства, Методы, События

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


BorderColor Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BorderColor
Смотрите также
CollapseAll image

Определяет цвет бордюра объекта. Доступно как в design, так и в run time.

Object.BorderColor[ = nColor]

Expand image Возвращаемое значение

nColor

Определяет значение цвета бордюра.

В приведенной ниже таблице перечислены типичные значения цветов:

Цвет Значения RGB Значения nColor

Белый

255, 255, 255

16777215

Черный

0, 0, 0

0

Серый

192, 192, 192

12632256

Темно-серый

128, 128, 128

8421504

Красный

255, 0, 0

255

Темно-красный

128, 0, 0

128

Желтый

255, 255, 0

65535

Темно-желтый

128, 128, 0

32896

Зеленый

0, 255, 0

65280

Темно-зеленый

0, 128, 0

32768

Голубой

0, 255, 255

16776960

Темно-голубой

0, 128, 128

8421376

Синий

0, 0, 255

16711680
Темно-синий

0, 0, 128

8388608

Пурпурный

255, 0 ,255

16711935
Темно-пурпурный

128, 0, 128

8388736

Expand image Примечания

Применяется к: ComboBox Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Image Control (Visual FoxPro) | Line Control | ListBox Control | OptionGroup Control | PageFrame Control | Shape Control | TextBox Control (Visual FoxPro)

Свойство BorderColor применяется к элементам управления textbox или editbox только в том случае, когда их свойство SpecialEffect установлено в значение 1 - Plain.

Используйте функцию RGB( ) для преобразования трехкомпонентного цвета в один композитный nColor.

Expand image Смотрите также

Справочное руководство

Свойства BackColor, ForeColor
Функция GETCOLOR()
Функция RGB()
Свойство SpecialEffect

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BorderStyle Property

Visual FoxPro 9.0 Описание Языка
Свойство BorderStyle
См. также

Определяет стиль границы для объекта. Доступно при разработке и в режиме выполнения RunTime.

Объект.BorderStyle[ = Nстиль]

Возвращаемое значение

Nстиль

Для CommandGroup, EditBox, Image, Label, OptionGroup, TextBox , установки свойства BorderStyle представлены в таблице:
Установка Описание

0

Нет. По-умолчанию для элементов Image и Label.

1

Fixed Single. По-умолчанию для CommandGroup, EditBox, OptionGroup, TextBox.
Для элементов Line или Shape, установки свойства BorderStyle представлены в таблице:
Установка Описание

0

Transparent (прозрачный)

1

(по-умолчанию) Solid (сплошной).Для Shape внешний край является границей.

2

Dash

3

Dot

4

Dash-Dot

5

Dash-Dot-Dot

6

Inside Solid
Для Формы устанавливаются следующие значения:
Установка Описание

0

Нет границы

1

Fixed Single

2

Fixed Dialog

3

(по-умолчанию) Изменяемые размеры

Комментарии

Применяется в: ComboBox | CommandGroup | EditBox | Form | Image | Label | Line | OptionGroup | _SCREEN | Shape | TextBox | Spinner

Если свойство BorderWidth имеет значение, большее чем 1, независимо от установки свойства BorderStyle , граница рисуется как Solid (сплошной линией). Если свойство BorderWidth = 1, свойство BorderStyle характеризуется значениями в представленных таблицах.

См. также

Другие ссылки

Свойство BorderColor
Свойство BorderWidth
Свойство DrawStyle
Свойство DrawWidth
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BorderWidth Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BorderWidth
Смотрите также
CollapseAll image

Задает ширину обрамления элемента управления. Доступно на этапе разработки и выполнения.

Control.BorderWidth[ = nWidth]

Expand image Возвращаемое значение

nWidth

Задает ширину в диапазоне от 0 до 8192.

Note Note

Если установка свойства BorderWidth больше 1, то установки для свойства BorderStyle игнорируются.

Expand image Примечания

Применимо к: Container Object | Control Object (Visual FoxPro) | Line Control | PageFrame Control | Shape Control

Если BorderWidth установлено = 0, то елемент управления неимет обрамления. Для елемента управления PageFrame установки для свойства BorderWidth игнорируются, если свойство Tabs установлено в .T. (Истина).

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Bound Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Bound
Смотрите также
CollapseAll image

Определяет, привязывается ли элемент управления в объекте Column к источнику объекта. Доступно на этапе проектирования и выполнения.

Column.Bound[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства Bound предусмотрены следующие установки:

Установки Описание

True (.T.)

(По умолчанию) Элемент управления привязывается к источнику объекта Column.

False (.F.)

Элемент управления не привязывается к источнику объекта Column.

Expand image Примечания

Применимо к: Column Object

Если свойство Bound объекта Column имеет значение "истина" (.T.), установка ControlSource данного объекта будет применена к столбцу и ко всем содержащимся в нем элементам управления. Если вы попытаетесь установить свойство ControlSource для какого-либо элемента управления, содержащегося в столбце, произойдет ошибка. Если свойство Bound объекта Column имеет значение "ложь" (.F.), вы можете установить свойство ControlSource для элемента управления, содержащегося в столбце, непосредственно. Если после этого вы установите значение свойства ControlSourceдля Column, оно отменит действие установки ControlSource для данного элемента управления.

В следующей таблице показано, к каким типам данных обычно привязываются те или иные элементы управления.:

Базовый класс элемента управления объекта Column | Распространенные типы данных
CheckBox | Logical, Numeric
ComboBox | Character, Numeric
CommandButton | Character, Numeric
EditBox | Character
ListBox | Character, Numeric
OptionButton | Character, Numeric
Spinner | Currency, Numeric
TextBox | Любой тип данных, кроме General и Memo
Note Note

Нельзя привязать элемент управления к объекту Column, тип данных которого General или Memo.

Expand image Смотрите также

Справочное руководство

Метод AddObject
Свойство ControlSource
Свойство CurrentControl
Свойство Sparse

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BoundColumn Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BoundColumn
Смотрите также
CollapseAll image

Определяет, какая колонка многоколончатого элемента listbox или combobox привязана к свойству Value управляющего элемента. Доступно, как в design, так и в run time.

Control.BoundColumn[ = nCol]

Expand image Возвращаемое значение

nCol

Указывает номер колонки привязанной к свойству Value. По умолчанию nCol равна 1.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Используйте BoundColumn тогда, когда управляющие элементы классов listbox или combobox имеют несколько колонок, а значение, которое должно выводиться в свойство Value должно быть привязано к колонке, которая либо не отображается в элементе, либо не является определяющей по смыслу или активной.

Expand image Смотрите также

Справочное руководство

Свойство Value
Свойство ActiveColumn
Свойство Columns

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BoundTo Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BoundTo
Смотрите также
CollapseAll image

Определяет, будет ли значение свойства Value элементов управления combobox или listbox определяться свойствами List или ListIndex. Доступно как в design time, так и в run time.

[Form.]Control.BoundTo[ = lExpression]

Expand image Возвращаемое значение

lExpression

Установками для свойства BoundTo являются:

Установка Описание

.T.

Значение свойства Value определяется свойстом List.

.F.

(По умолчанию) Значение свойства Value определяется типом данных переменной или поля, указанным в свойстве ControlSource.

Если поле или переменная, указанные в установке свойства ControlSource представляют собой символьный тип данных, значение свойства Value определяется свойством List.

Если поле или переменная, указанные в установке свойства ControlSource представляют собой численный тип данных, значение свойства <Value использует индексный номер из свойства ListIndex.

Эта установка предоставленя для совместимости с версиями Microsoft Visual FoxPro 3.0 и 2.x FoxPro.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

В Visual FoxPro 3.0, если свойство ControlSource для элементов управления combobox или listbox представляет собой численное значение, то свойство ListIndex выбранного предмета списка хранится в переменной или поле, с которыми связан элемент управления. Установите свойство BoundTo в True (.T.) для хранения значения свойства List в переменной или в поле, с которыми связан управляющий элемент.

Expand image Смотрите также

Справочное руководство

Свойство ControlSource
Свойство ListIndex (Visual FoxPro)
Свойство Value

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BreakOnError Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BreakOnError
Смотри также

Определяет - будет ли Visual FoxPro разрешать ошибкам прерывать исполнение программы в месте, где они произошли или посылать их курсору-адаптеру. Редактируемое (Read/write) как в design time, так и в run time.

BreakOnError применяется только в случае если курсор-адаптер исполняет программный код метода, ассоциированного с событием или одну из SQL INSERT, UPDATE или DELETE команд.

CursorAdapter.BreakOnError [= lValue]

Возвращаемое значение

lValue

Логический тип данных. Приведенная ниже таблица перечисляет значения для lValue.

lValue Описание

False (.F.)

Visual FoxPro не отображает сообщение об ошибке и посылает ошибку курсору-адаптеру. (Используется по умолчанию)

Это поведение точно такое же, как если бы Visual FoxPro передавал ошибку по цепочке вверх и в конце этой цепочки пользователь прервал исполнение. Процедура обработки ошибок делает доступной последнюю необработанную ошибку вызывающей процедуре.

True (.T.)

Visual FoxPro разрешает прерывание исполнения программного кода, ассоциированного с событием или метода в месте возникновения ошибки и отображает соответствующее сообщение.

Замечания

Применяется к: классу CursorAdapter

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события CursorAdapter'a

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


BufferMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BufferMode
Смотрите также
CollapseAll image

Определяет, как обновляются записи - жестко или мягко. Доступно на этапе разработки и выполнения.

Object.BufferMode[ = nValue]

Expand image Возвращаемое значение

nValue

Для свойства BufferMode предусмотрены следующие установки:

Установка Описание

0

(По умолчанию) None (без буферизации). Записи блокируются при начале редактирования, а поля записываются при перемещении указателя записи. Аналогичным образом работает FoxPro 2.x.

1

Pessimistic (жесткая буферизация). Записи блокируются при начале редактирования, а поля записываются при перемещении указателя записи. Используя функцию TABLEREVERT( ), можно аннулировать изменения, внесенные в текущую запись.

2

Optimistic (мягкая буферизация). Записи не блокируются при редактировании; Visual FoxPro пытается блокировать записи, когда они записываются на диск с помощью функции TABLEUPDATE( ).

Expand image Примечания

Применимо к: Form Object | FormSet Object | _SCREEN System Variable

Если свойство BufferMode имеет значение 1 или 2, в любом курсоре, используемом элементом управления Grid , разрешена буферизация таблицы. Во всех прочих элементах управления, привязанных к данным, используется буферизация строк.

Установки свойства BufferMode анулирует любые установки буферизации для курсоров и источников данных формы даже используемых до выполнения метода Init в том числе сделанные в методе Load формы.

Expand image Смотрите также

Справочное руководство

Свойство BufferModeOverride
Функция TABLEREVERT( )
Функция TABLEUPDATE( )

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BufferModeOverride Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BufferModeOverride
Смотрите также
CollapseAll image

Определяет, нужно ли отменить свойство BufferMode, установленное на уровне объекта Form или FormSet. Доступно на этапе разработки и выполнения.

DataEnvironment.Cursor.BufferModeOverride[ = nValue]

Expand image Возвращаемое значение

nValue

Установки свойства BufferModeOverride перечислены в следующей таблице:

Установка Описание

3

Мягкая буферизация строк. Разрешается редактирование только одной записи, которая блокируется при сохранении на диск. Используя функцию TABLEREVERT( ), можно отменить сделанные изменения.

5

Мягкая буферизация таблицы. Разрешается редактирование всех записей, и они не блокируются до тех пор, пока не сохранятся на диске с помощью функции TABLEUPDATE ( ). Используя функцию TABLEREVERT( ), можно отменить сделанные изменения.

Применимо к: Cursor Object | CursorAdapter Class

Expand image Смотрите также

Справочное руководство

Свойство BufferMode
Функция TABLEREVERT( )
Функция TABLEUPDATE( )

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BuildDateTime Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство BuildDateTime
Смотрите также
CollapseAll image

Содержит дату и время последней сборки для проекта. "Только для чтения".

Object.BuildDateTime

Expand image Примечания

Применяется к: Project Object (Visual FoxPro)

Если проект еще не разу не собирался, то свойство BuildDateTime содержит пустое значение типа DateTime.

Expand image Смотрите также

Справочное руководство

Диалоговое окно Build Options
Команнда BUILD PROJECT
Функция DATETIME( )

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ButtonCount Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ButtonCount
Смотрите также Пример
CollapseAll image

Задает количество кнопок в элементе управления CommandGroup или OptionGroup. Доступно на этапе разработки и на этапе выполнения.

Control.ButtonCount[ = nNumber]

Expand image Возвращаемое значение

nNumber

Задает количество кнопок для элемента управления.

Expand image Примечания

Применимо к: CommandGroup ControlOptionGroup Control

Используйте свойство ButtonCount для динамической установки количества кнопок, содержащихся в элементе управления CommandGroup или OptionGroup.

Если изменить число кнопок на этапе выполнения, новым кнопкам автоматически присваиваются имена. Кнопка элемента управления CommandGroup получает имя CommandN, а кнопка группы OptionGroup - имя OptionN , где N - номер добавляемой кнопки. Например, если в элементе управления CommandGroup четыре кнопки и установка свойства Buttons изменяется на 5, новая кнопка получает имя Command5.

Expand image Пример

В следующем примере создается элемент управления и помещается в форму. Этот элемент управления имеет три кнопки; в зависимости от того, какую кнопку вы нажмете, появится окружность, эллипс или квадрат. Свойство ButtonCount используется для задания числа кнопок в элементе управления OptionGroup. Свойства Buttons и Caption используются для задания текста, который появляется рядом с каждой кнопкой.

Элемент управления Shape используется для создания окружности, эллипса и квадрата. Событие Click элемента управления OptionGroup использует структуру DO CASE ... ENDCASE и свойство Value, чтобы показать соответствующую фигуру, когда вы нажмете кнопку.
CopyCode image Copy Code
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Add Command button
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Add Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Add Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Add Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')  && Add Box Shape

frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Command button visible

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Set Option group width
frmMyForm.opgOptionGroup1.Visible = .T.  && Option Group visible
frmMyForm.opgOptionGroup1.Click  && Show the circle

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Create an Option Group
   ButtonCount = 3  && Three Option buttons
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Hide the circle
      ThisForm.shpEllipse1.Visible = .F.  && Hide the ellipse
      ThisForm.shpSquare.Visible = .F.  && Hide the square

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Show the circle
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Show the ellipse
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Show the square
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Create a circle
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Red
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Create an ellipse
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Green
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Create a square
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && Blue
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство Buttons
Команда DO CASE ... ENDCASE
Элемент управления CommandButton

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Buttons Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Buttons
Смотрите также Example
CollapseAll image

Массив, используемый для обращения к каждой кнопке в группе. Недоступен в design time.

Control.Buttons(nIndex).Property = Value
-Or-
Control.Buttons(nIndex).Method

Expand image Возвращемое значение

nIndex

Целое число в диапазоне от 1 до число кнопок, определяемого свойством ButtonCount элемента управления (Control).

Property

Свойство элемента управления CommandButton или OptionButton.

Value

Значение свойства.

Method

Метод элемента управления CommandButton или OptionButton.

Expand image Примечания

Применяется к: CommandGroup Control | OptionGroup Control

Вы можете использовать свойство Buttons для установки свойств и вызова методов для всех кнопок в группе. Свойство Buttons представляет собой массив, который создается одновременно с созданием группы кнопок.

Expand image Пример

Приведенный ниже пример создает элемента управления OptionGroup и помещает его на форму. Элемент управления OptionGroup имеет три кнопки, по щелчкам на которых на рисуются круг, эллипс или квадрат. Свойство ButtonCount определяет конкретное число кнопок в OptionGroup. Свойства Buttons и Caption определяют текст, отображаемый на каждой кнопке группы.

Элемент управлен Shape используется для создания круга, эллипса или квадрата. Событие Click элемента управления OptionGroupиспользует структуру DO CASE ... ENDCASE и свойство Value для отображания соответствующей фигуры, когда вы щелкаете по кнопке.
CopyCode image Copy Code
frmMyForm = CREATEOBJECT('Form')  && Создается формы
frmMyForm.Closable = .F.  && Блокируется блок Control menu

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Добавляется командная кнопка
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Добавляется радиокнопка
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Добавляется фигура круга
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Добавляется фигура эллипса
frmMyForm.AddObject('shpSquare','shpMySquare')  && Добавляется фигура квадрата

frmMyForm.cmdCommand1.Visible =.T.  && Делаем командную кнопку "Quit" видимой

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Установливаем ширину Option group
frmMyForm.opgOptionGroup1.Visible = .T.  && Делаем их видимыми
frmMyForm.opgOptionGroup1.Click  && Показываем круг

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Создание Option Group
   ButtonCount = 3  && Три кнопки опций
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Прячем круг
      ThisForm.shpEllipse1.Visible = .F.  && Прячем эллипс
      ThisForm.shpSquare.Visible = .F.  && Прячем квадрат

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Показываем круг
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Показываем эллипс
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Показываем квадрат
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 210
   Height = 25

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем орбаботку событий, закрываем форму
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Создаем класс круга
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Красный
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Создаем класс эллипса
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Зеленый
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Создаем класс квадрата
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && синий
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство ButtonCount
Метод SetAll
Элемент управления CommandButton

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Cancel Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Cancel
Смотрите также Пример
CollapseAll image

Определяет, является ли элемент управления CommandButton или OLE Container кнопкой Cancel;это означает, что если пользователь нажмет клавишу ESC, произойдет событие Click для кнопки Cancel. Доступно на этапе разработки и выполнения.

Object.Cancel[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства Cancel предусмотрены следующие установки:

Усиановка Описание

True (.T.)

CommandButton или OLE Container является кнопкой Cancel.

False (.F.)

(По умолчанию) CommandButton или OLE Container не является кнопкой Cancel.

Expand image Примечания

Применимо к: CommandButton Control | OLE Container Control

Свойство Cancel применимо к OLE Container только если он содержит елемент управления ActiveX (.ocx) "Acts like a Button".

Expand image Пример

В следующем примере создается командная кнопка и элемент управления OptionGroup, которые помещаются в форму. С помощью свойства Cancel командная кнопка определяется как кнопка Cancel. Если нажать клавишу ESC, произойдет событие Click командной кнопки и процедура события Click выполнит команду CLEAR EVENTS, которая закроет форму и прекратит обработку событий.

Элемент управления OptionGroup содержит три переключателя, и в зависимости от установленного переключателя на экране отображается окружность, эллипс или квадрат. Для создания окружности, эллипса или квадрата используется элемент управления Shape. Событие Click элемента управления OptionGroup, используя структуру DO CASE ... ENDCASE и свойство Value, отображает соответствующую фигуру в результате установки того или иного переключателя.
CopyCode image Copy Code
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Add Command button
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Add Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Add Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Add Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')  && Add Box Shape

frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Command button visible

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Set Option group width
frmMyForm.opgOptionGroup1.Visible = .T.  && Option Group visible
frmMyForm.opgOptionGroup1.Click  && Show the circle

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Create an Option Group
   ButtonCount = 3  && Three Option buttons
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Hide the circle
      ThisForm.shpEllipse1.Visible = .F.  && Hide the ellipse
      ThisForm.shpSquare.Visible = .F.  && Hide the square

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Show the circle
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Show the ellipse
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Show the square
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Create a circle
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Red
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Create an ellipse
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Green
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Create a square
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && Blue
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Событие Click
Свойство Default
Команда CANCEL
Фундаментальный клас Cancel Button

Прочие ресурсы

Команды (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Caption Property (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Свойство Caption (Visual FoxPro)
См. также Пример

Определяет текст заголовка объекта. Доступно для изменения при разработке и выполнении Run-Time.

Объект.Caption[ = Стекст]

Возвращаемое значение

Стекст

Определяет текст заголовка объекта. Максимальное количество символов для свойства Caption = 255. Следующая таблица описывает свойство Caption для различных объектов

Объект Caption display

Форма

Заголовок размещается в титуле формы. Когда форма минимизируется заголовок размещается справа от иконки формы.

Страничный
фрейм
(PageFrame)

Заголовок размещается в закладке каждой страницы объекта PageFrame.

Контролы

Заголовок размещается на элементе управления. Если элемент имеет иконку, то размещение заголовка определяется относительно иконки, местоположение которой определяется свойством PicturePosition.

Комментарии

Применяется в: CheckBox Control | CommandButton Control | Form Object | Header Object | Label Control | OptionButton Control | Page Object | _SCREEN | ToolBar Object

Когда Вы создаете форму или контрол, то , по-умолчанию, значение свойства Caption устанавливается из значения свойства Name. Это начальное значение образуется как имя родительского класса и целого числа, например как: Command1, Combo1, или Form1.

Вы должны использовать в программном коде свойство Name для ссылки на конкретный объект. Свойство Caption используется только для визуальной идентификации объекта. Эти два свойства инициализируются с одного значения, но изменяются и используются независимо друг от друга.

Если Вы не изменяете значение свойства Width для контрола, он автоматически меняет размер в зависимости от размера заголовка.

Для автоматического изменения размера элемента Label при изменении его заголовка установите значение свойства AutoSize в True (.T.).

Для включения "горячей клавиши" элемента управления дополните в заголовке специальные управляющие символы (\<) перед требуемым символом управления. Пользователь может нажать комбинацию клавиш ALT+<отмеченный символ> для перемещения управляющего фокуса в данный элемент управления. Если элементом управления является CommandButton, CheckBox, или OptionButton, нажатие комбинации ALT+<отмеченный символ> эквивалентно выполнению события Click указанных элементов управления.

Для подчеркивания символов в заголовке столбца объекта Grid разместите перед необходимым символом в заголовке столбца управляющий символ (&) - амперсенд. Если данный символ используется в заголовке как штатный, то его необходимо указать дважды, как "&&". Замечание: данная опция не выделяет указанный Вами символ как упрвляющий, а выполняет только подчеркивание символов в заголовке столбца.

Пример

Данный пример демонстрирует использование свойства Caption при изменении заголовка главного окна Visual FoxPro (указанием версии продукта Microsoft Visual FoxPro) .

Копировать Код
_SCREEN.Caption=VERSION()

См. также

Другие ссылки

Свойство AutoSize
Свойство BorderStyle
Свойство Name
Свойство Style
Свойство Width

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Centered Property

Visual FoxPro 9.0 Описание Языка
Centered, Свойство
См. также Пример
CollapseAll image

Определяет, как контрол CheckBox (его блок переключения) размещается в пределах своих границ, или в контейнере, содержащем данный Контрол.

CheckBox.Centered [= lExpr]

Expand image Возвращаемое значение

lExpr

Логического типа (Logical). Далее приводятся возможные значения параметра lExpr.

lExpr Краткое Описание

False (.F.)

Контрол CheckBox не центрируется относительно содержащего его Контейнера (Column). (По-умолчанию)

True (.T.)

Контрол CheckBox центрируется относительно границ содержащего его Контейнера.

Expand image Комментарии

Применяется В: CheckBox, Контрол

Если контрол CheckBox не помещен в Контейнер типа Grid, он выравнивается (центрируется) относительно своих собственных границ.

Свойство Centered работает согласованно с другим свойством Контрола - Alignment. Если вы используете Заголовок контрола (свойство Caption), тогда значения Left и Right для свойства Alignment определяют, где размещается указанный Заголовок контрола (слева или справа) относительно Переключателя. Если установлено Centered = True (.T.), тогда и Переключатель и Заголовок контрола центрируются вертикально или горизонтально относительно границ (ширины) Столбца объекта Grid.

Если установлено Sparse = True (.T.) (по-умолчанию), тогда свойство Alignment определяет размещение Текстовых элементов во всех Клетках (ячейках) Столбца. Однако, когда конкретная Клетка получает Фокус Ввода, то появляется рассматриваемый Контрол (CheckBox), Visual FoxPro использует значение свойства Alignment для выравнивания Контрола в Столбце. Если для Столбца действует установка Sparse = False (.F.), Visual FoxPro использует значение свойства Alignment Контрола и игнорирует значение свойства Alignment Столбца.

Когда свойство столбца Alignment определяется в режиме Разработки (Design-Time), то Дизайнер пытается установить данное значение свойства Alignment для всех объектов, погруженных в этот Столбец. Когда одним из этих объектов является контрол CheckBox, тогда установка значения свойства столбца Alignment (если оно определено как "центрировать") - автоматически определяет значение свойства данного Контрола Centered = True (.T.).

Если установлено Centered = True (.T.), переключатель контрола CheckBox остается центрированным, как горизонтально, так и вертикально в Клетке Столбца, даже при изменении размеров (ширины) Столбца или высоты Строки объекта Grid.

Expand image Пример

В представленном примере демонстрируется, как вы можете определить значение свойства Centered для центрирования контрола CheckBox, а размещение соответствующего Заголовка поместить с правой стороны от блока Переключения:

CopyCode image Копировать Код
Checkbox1.Centered = .T.
Checkbox1.Alignment = 1

Expand image Example 2

В представленном примере демонстрируется, как вы можете использовать свойство Centered - для центрирования CheckBox, который помещен в столбец контрола Grid. Установка свойства Sparse = False (.F.), для столбца, определяет, что свойство Alignment имеет приоритет над свойством Alignment рассматриваемого Контейнера Column:

CopyCode image Копировать Код
Column1.Sparse = .F.
Column1.Checkbox1.Centered = .T.
Column1.Checkbox1.Caption = ""

Expand image См. также

Описание

Sparse, Свойство
Alignment, Свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Century Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Century
Смотрите также
CollapseAll image

Определяет, будет ли отображаться часть данных даты, указывающая столетие в элементе управления TextBox. Доступно на этапе разработки и во время выполнения.

Object.Century[ = nValue]

Expand image Возвращаемое значение

nValue

Предусмотрены следующие установки:

Установка Описание

0

Отключено. Часть данных даты, указывающая столетие не отображается.

1

(По умолчанию) Включено. Часть данных даты, указывающая столетие отображается.

2

Отображение части данных даты, указывающей столетие зависит от установки SET CENTURY. Если SET CENTURY установлено в ON, столетие отображается, если в OFF - не отображается.

Expand image Замечания

Применяется к: TextBox Control (Visual FoxPro)

Установка свойства Century не принимается во внимание если свойство DateFormat установлено в Short или Long.

Обратите внимание, что в более ранних версиях Visual FoxPro значение по умолчанию для свойства Century = 2.

Expand image Смотрите также

Справочное руководство по языку

Команда SET CENTURY
Свойство DateFormat
Свойство DateMark
Свойство Hours
Свойство Seconds
Свойство StrictDateEntry

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ChildAlias Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ChildAlias
Смотрите также
CollapseAll image

Задает псевдоним дочерней таблицы. Доступно только для чтения на этапе разработки и выполнения.

DataEnvironment.Relation.ChildAlias[ = cText]

Expand image Возвращаемое значение

cText

Задает псевдоним дочерней таблицы для данного отношения.

Expand image Примечания

Применимо к: Relation Object

Установка свойства ChildAlias должна определять то же имя, что и установка свойства Alias для объекта Cursor, представляющего дочернюю таблицу.

Expand image Смотрите также

Справочное руководство

Свойство Alias
Свойство ParentAlias
Объект Cursor
Свойства, методы и события объекта Cursor

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ChildOrder Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ChildOrder
Смотрите также
CollapseAll image

Задает тег индекса для источника записи элемента управления Grid или объекта Relation. Доступно на этапе проектирования и только чтение на этапе выполнения.

Object.ChildOrder[ = cTagName]

Expand image Возвращаемое значение

cTagName

Задает имя существующего тега индекса.

Expand image Примечания

Применимо к: Grid Control | Relation Object

Если свойство ChildOrder установлено, то свойство Order объекта Cursor дочерней таблицы игнорируется..

Используйте это свойство для связывания двух таблиц, между которыми установлено отношение один-ко-многим. Например, Пусть таблица клиентов, содержащая одну запись для каждого клиента, связывается с таблицей заказов, содержащей по нескольку заказов для каждого клиента. Для такого отношения один-ко-многим установите значение свойства ChildOrder равным содержимому поля тега индекса идентификатора клиента.

Свойство ChildOrder играет ту же роль, что и установка SET ORDER.

Expand image Смотрите также

Справочное руководство

Свойство ControlSource
Свойство LinkMaster
Команда SET ORDER

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ChildTable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ChildTable
Смотрите также Пример
CollapseAll image

Содержит объектную ссылку на дочерний объект XMLTable . Read/write.

XMLTable.ChildTable

Expand image Возвращаемое значение

Объектная ссылка. ChildTable содержит объектную ссылку на дочерний объект XMLTable или null (.NULL.), когда не заполнен.

Expand image Примечания

Применяется к классу: XMLTable

Для вложенных таблиц в SQL XML, Visual FoxPro заполняет свойство ChildTable информацией о вложенных таблицах, вовлеченных в операцию объединения. Однако, XMLAdapter не присваивает значения свойству ChildTable при работе с ADO.NET DataSets. Для получения более подробной информации о том, как XMLAdapter интерпретирует вложенные таблицы для источников данных ADO.NET DataSet и SQL XML смотрите описание класса XMLAdapter.

Expand image Пример

Приведенный ниже пример иллюстрирует, как объект XMLAdapter обращается с таблицей Orders в качестве дочерней таблицы для таблицы Customers и с таблицей Order_details как дочерней таблицей для таблицы Orders.
CopyCode image Скопировать код
<?xml version="1.0" encoding="utf-8"?>
<SqlXmlAdoData>
   <Schema name="Schema1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
      <ElementType name="Customers" content="eltOnly" model="closed" order="many">
         <element type="Orders" maxOccurs="*"/>
         <element type="CustomerID"/>
         <element type="CompanyName"/>
      </ElementType>
      <ElementType name="CustomerID" content="textOnly" model="closed" dt:type="string"/>
      <ElementType name="CompanyName" content="textOnly" model="closed" dt:type="string"/>
      <ElementType name="Orders" content="eltOnly" model="closed" order="many">
         <element type="Order_details" maxOccurs="*"/>
         <element type="OrderID"/>
         <element type="OrderDate"/>
         <element type="ShipName"/>
      </ElementType>
      <ElementType name="OrderID" content="textOnly" model="closed" dt:type="i4"/>
      <ElementType name="OrderDate" content="textOnly" model="closed" dt:type="dateTime"/>
      <ElementType name="ShipName" content="textOnly" model="closed" dt:type="string"/>
      <ElementType name="Order_details" content="eltOnly" model="closed" order="many">
         <element type="ProductID"/>
         <element type="UnitPrice"/>
         <element type="Quantity"/>
      </ElementType>
      <ElementType name="ProductID" content="textOnly" model="closed" dt:type="i4"/>
      <ElementType name="UnitPrice" content="textOnly" model="closed" dt:type="fixed.14.4"/>
      <ElementType name="Quantity" content="textOnly" model="closed" dt:type="i2"/>
   </Schema>
   <Customers xmlns="x-schema:#Schema1">
      <CustomerID>CACTU</CustomerID>
      <CompanyName>Cactus Comidas para llevar</CompanyName>
      <Orders>
         <OrderID>10521</OrderID>
         <OrderDate>1997-04-29T00:00:00</OrderDate>
         <ShipName>Cactus Comidas para llevar</ShipName>
         <Order_details>
            <ProductID>35</ProductID>
            <UnitPrice>18</UnitPrice>
            <Quantity>3</Quantity>
         </Order_details>
         <Order_details>
            <ProductID>41</ProductID>
            <UnitPrice>9.65</UnitPrice>
            <Quantity>10</Quantity>
         </Order_details>
         <Order_details>
            <ProductID>68</ProductID>
            <UnitPrice>12.5</UnitPrice>
            <Quantity>6</Quantity>
         </Order_details>
      </Orders>
   </Customers>
</SqlXmlAdoData>

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLTable

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Class Browser Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства Class Browser
Смотрите также
CollapseAll image

C Class Browser связаны рассмотреные ниже свойства. Для получения более подробной информации смотрите Как: настроить Class Browser и Окно Class Browser.

Note Замечание

Свойства, отмеченные как "Только для справки" или "Только для внутреннего использования" используются и обслуживаются внутренне самим Class Browser. Избегайте изменения таких свойств; это может привести к ошибкам в Class Browser.

lActive

Только для справки. Возвращает активный статус Class Browser. Если Class Browser имеет фокус, то значение внутренне устанавливается в True (.T.).

cAlias

Возвращает псевдоимя рабочей области внутри сессии данных Class Browser, связанной с выбранным в списке классов классом. По умолчанию, частная сессия данных Class Browser открывает, по крайней мере две таблицы с псевдоименами: BROWSER и METADATA. Псевдоимя BROWSER предназначено для таблицы Browser.dbf и используется совместно во всех экземплярах. Псевдоимя METADATA предназначено для файла библиотеки класса (.vcx) или формы (.scx), открытой в Class Browser. Если открыто более чем один файл, псевдоимя METADATA получает значение автоувеличения для каждого открытого файла.

cAddInMethod

Только для справки. Возвращает имя метода, который вызван внешним дополнением исполняемым (add-in) и очищается после заверешения исполнения дополнения. При исполнении дополнения это свойство содержит имя метода, который был вызван дополнением.

lAddInMode

Возвращает статус дополнения в Class Browser. Если равен True (.T.), то вызывается дополнение; если False (.F.), то исполнение дополнения завершено.

lAddInTrace

Возвращает статус отображения режима трассировки, который контролирует события дополнения. Если установлено в True (.T.), то сообщения, описывающие события дополнения посылаются на главное окно Visual FoxPro.

nAtPos

Только для внутреннего использования. Значением по умолчанию является 0.

lAutoExpand

Определяет будет ли автоматически сворачиваться или разворачиваться список классов при его обновлении. Если свойство установлено в True (.T.), список классов автоматически разворачивается или сворачивается. В противном случае - если свойство установлено в False (.F), отображение списка класса не изменяется. Значением по умолчанию является True (.T.).

cBaseClass

Только для справки. Возвращает имя базового класса выбранного в списке классов класса.

cBrowserTable

Только для справки. Возвращает полный путь к регистрационной таблице Browser.dbf.

lBusyState

Только для справки. Возвращает статус операции обновления для Class Browser. Если возвращает True (.T.), то операция обновления еще не завершена.

cClass

Только для справки. Возвращает имя выбранного в списке классов класса.

nClassCount

Только для справки. Возвращает общее число элементов в списке классов. Значением по умолчанию является 0.

cClassLibrary

Только для справки. Возвращает имя библиотеки классов для выбранного в списке классов класса.

aClassList

Только для справки. Двухмерный массив значений, связанный с файлом библиотеки классов (.vcx) или формы (.scx) в текущем списке классов. Каждый файл в списке имеет свое собственное псевдоимя. Например, если список классов отображает два файла, то псевдоименами являются METADATA1 и METADATA2.

Массив содержит приведенную ниже информацию.

Позиция в массива aClassList Установка

[nIndex,1]

Имя класса

[nIndex,2]

Номер записи связанных метаданных

[nIndex,3]

Уровень отступа в списке

[nIndex,4]

Имя файла, содержащего родительский класс

[nIndex,5]

Имя родительского класса

[nIndex,6]

Имя файла, содержащего класс

[nIndex,7]

Имя файла иконки класса

[nIndex,8]

Базовый класс класса

[nIndex,9]

Указывает был ли класс определен, как OLE public
nClassListIndex

Только для справки. Возвращает позицию выбранного класса в списке классов. Значением для первого эелемента списка является 0. Значением по умолчанию является – 1.

nClassTimeStamp

Значение TimeStamp (из поля TimeStamp файлов.vcx/.scx) для выбранного класса.

cClassType

Только для справки. Возвращает текущий фильтр для списка класса, так как он указан в комбобоке ClassType.

tcClassType

Начальный фильтр для списка классов.

tcDefaultClass

Только для справки. Возвращает значение ссылки на второй параметр, посланный приложению BROWSER.APP. Например, если вы открыли Class Browser печатанием приведенного ниже кода, то это свойство возвратит "baseform."

CopyCode image Скопировать код
DO (_BROWSER) WITH "wizstyle.vcx","baseform"
lDescriptions

Если установлено в True (.T.), то отображается описание для классов и членов.

lDisplayHierarchyError

Определяет - будут ли отображаться сообщения об ошибке, если в Class Browser загружены классы без действительного ParentClasses. Значением по умолчанию является True (.T.).

nDisplayMode

Только для справки. Возвращает режим отображения, указанный радиокнопками режима отображения: 1 – иерархический или 2 – алфавитный. Значением по умолчанию является 1.

lDragDrop

Только для внутреннего использования. Является ли незавершенной операция перетаскивания (drag operation).

cDragIcon

Возвращает текущий файл курсора указателя мыши, используемый во время операций перетаскивания (drag operation).

lEmptyFilter

Если True (.T.), то в списке членов будут отображаться и пустые методы. Значением по умолчанию является False (.F.).

lError

Возвращает статус проверки ошибки. Если установлено в (.T.), то происходит ошибка и отображается диалоговое окно описания ошибки для Class Browser. Конда открывается Class, это свойство устанавливается в False (.F.). Если вы желаете проверять ошибки, убедитесь, что это свойство установлено в False.

lExpanded

Только для внутреннего использования.

nFileCount

Только для справки. Возвращает число текущий открытых в Class Browser файлов библиотек классов (.vcx) или форм (.scx). Значением по умолчанию является 0.

lFileMode

Только для справки. Возвращает тип выбранного элемента в списке классов. Если установлено в (.T.), то выбран файл; если в False (.F.), то выбран класс.

cFileName

Только для справки. Возвращает полный путь к файлу, связанный с выбранным классом в списке классов.

tcFileName

Только для справки. Возвращает значение ссылка на второй параметр, посылаемый приложению BROWSER.APP. Например, если вы открыли Class Browser печатанием приведенного ниже кода, то это свойство вернет "Wizstyle.vcx."

CopyCode image Скопировать код
DO (_BROWSER) WITH "wizstyle.vcx","baseform"
aFiles

Только для справки. Массив текущих открытых в Class Browser файлов библиотек классов (.vcx), форм (.scx), приложений (.exe), объектных библиотек (.olb), и библиотек типов (.tlb).

cFilter

Только для справки. Возвращает текущую установку команды SET FILTER из открытой таблицы метаданных для выбранного класса в списке классов.

lFormAddObject

Только для внутреннего использования.

cGetFileExt

Определяет расширения метода Class Browser's GETFILE( ). Значением по умолчанию является "VCX;SCX;PJX;EXE;OLB;TLB."

lHiddenFilter

Если True (.T.), то в списке членов отображаются скрытые члены. Значением по умолчанию является False (.F.).

lIgnoreErrors

Только для внутреннего использования.

lInitialized

Только для справки. Возвращает статус инициализации Class Browser. Если установлено в (.T.), то это означает, что Class Browser инициализирован; если False (.F.), Class Browser не инициализирован.

aInstances

Только для справки. Массив экземпляров, связанных с выбранным в списке классов класса. Functionality is identical to AINSTANCE( ) Function.

nInstances

Только для справки. Возвращает общее число экземпляров, связанных с выбранным в списке классов классом, с помощью функции AINSTANCE( ). Значением по умолчанию является 0.

cLastFindText

Только для внутреннего использования.

nLastHeight

Начальная высота формы до наступления события Resize event occurs. Значением по умолчанию является (THIS.Height).

nLastRecNo

Только для внутреннего использования. Начальным значением является 1.

cLastSetComp

Значение установки команды SET COMPATIBLE при который был загружен Class Browser.

cLastSetESC

Значение установки команды SET ESCAPE при который был загружен Class Browser.

cLastSetUDFParms

Значение установки команды SET UDFPARMS при который был загружен Class Browser.

cLastValue

Только для внутреннего использования.

nLastWidth

Возвращает начальную ширину формы до наступления события Resize. Значением по умолчанию является(THIS.Width).

tlListBox

Если установлено в True (.T.) значение посылается в Class Browser в этом аргументе, классы и члены отображатся в списках, а не в элементах управления tree view.

lModalDialog

Определяет обновлялся ли список классов после того, как Class Browser получил назад фокус после модального диалогового окна. Если установлено в(.T.), список не обновлялся; если False (.F.), то список обновлялся. Значением по умолчанию является True (.T.).

nMouseButton

Только для внутреннего использования. Возвращает клавишу мыши, которая была нажата.

lNoDefault

Возвращает статус, указывающий как обслуживается поведение по умолчанию при возврате из дополнения (add-in). Если установлено в (.T.), то поведение по умолчанию игнорируется.

lOutlineOCX

Только для справки. Если установлено в (.T.), классы и члены отображаются в элементах управления tree view . Вы может потребоваться эта информация для программ дополнения (add-in).

cParentClass

Только для справки. Возвращает имя родительского класса выбранного в списке классов класса.

lParentClassBrowser

Если установлкно в True (.T.), то отображается панель инструментов Edit ParentClass Method. Значением по умолчанию является True. Вы можете щелкнуть по этой кнопке для немедленного просмотра или редактирования метода родительского класса в редакторе

cParentClassBrowserCaption

Заголовок панели инструментов ParentClass Browser. Значением по умолчанию является SPACE(10) + "ParentClass Browser"

cParentClassSymbol

Определяет символ, отображаемый сбоку класса для указания, что класс представляет собой субкласс класса, который не отображен в списке классов.

nPixelOffset

Только для внутреннего использования. Определяет число пикселей для каскадирования множества экземпляров Class Browser. Значением по умолчанию является 22.

cPlatform

Только для справки. Возвращает имя текущей платформы.

cProgramName

Только для справки. Возвращает полный путь к исполняемому файлу приложения BROWSER.APP.

lProtectedFilter

Если True (.T.), защищенные члены отображаются в списке членов. Значением по умолчанию является False (.F.).

lReadOnly

Только для справки. Возвращает статус "только для чтения" файла, связанного с выбранным в списке классов класса.

nRecCount

Только для справки. Возвращает общее число записей в открытых файлах библиотек классов (.vcx) и форм (.scx). Значением по умолчанию является 0.

lRefreshMode

Только для внутреннего использования.

lRelease

Только для внутреннего использования. Указывает, что Class Browser выгружается автоматически.

lResizeMode

Только для внутреннего использования. Возвращает статус метода изменения размеров для Class Browser.

lSCXMode

Только для справки. Возвращает статус типа файла выбранного класса в списке классов. Если установлено в (.T.), файл представляет собой файл формы (.scx); елси - False (.F.), файл представляет собой файл библиотеки классов (.vcx).

nShift

Только для внутреннего использования. Состояние клавиши SHIFT при котором была нажата клавиша мыши.

oSource

Только для справки. Возвращает ссылку на объект, перетащенный из формы в Class Browser. После завершении метода DragDrop, oSource устанавливается в null (.NULL.).

cStartName

Только для справки. Возвращает имя свойства Class Browser из места, в котором был загружен Class Browser, но до увеличения номера имени. Например, значением по умолчанию является ClassBrowser а для каждой открываемой инстанции это имя увеличивается по номеру: ClassBrowser1, ClassBrowser2.

nStrLen

Только для внутреннего использования. Значением по умолчанию является 0.

cTimeStamp

Только для справки. Возвращает значение поля timestamp выбранного в списке классов класса.

lVCXSCXMode

Если установлено в True (.T.), выбранный класс или файл представляет собой .vcx или .scx, в противном случае - где он находится - .vcx или.scx.

tnWindowState

Только для внутреннего использования. Состояние окна Class Browser - минимизировано (1), распахнуто на весь экран (2) или нормальное (0).

Expand image Начальные значения свойст Class Browser

При открытии экземпляра Class Browser, его свойства устанавливаются в значения по умолчанию, которые показаны в приведенной ниже таблице.

Свойство Class Browser | Начальная установка
cAddIn | ""
cAddInMethod | ""
cAlias | ""
Caption | "Class Browser"
cBaseClass | ""
cBrowserTable | ""
cClass | ""
cClassLibrary | ""
cClassTimeStamp | ""
cClasstype | ""
cDragIcon | ""
cFileName | ""
cFilter | ""
cGetFileExt | vcx;scx;pjx;exe;olb;tlb
cLastGetFileExt | ""
cLastSetComp | ""
cLastSetEsc | ""
cLastSetudfParms | ""
cLastValue | ""
cParentClass | ""
cParentClassSymbol | (IIF(VERSION(3)=="00",CHR(171),"<"))
cPlatform | ""
cProgramName | ""
cStartName | ""
DataSession | 2
FontBold | .F.
FontName | "MS Sans Serif"
FontSize | 8
Height | 360
HelpContextID | 95825501
Icon | Browser.ico
lAutoExpand | .T.
lDescriptions | .T.
lDisplayHierarchyError | .T.
Left | 0
lParentClassBrowser | .T.
MinHeight | (175)
MinWidth | (250)
Name | "classbrowser"
nAtPos | 0
nClassCount | 0
nClassListIndex | -1
nDisplayMode | 1
nFileCount | 0
nInstances | 0
nLastHeight | (this.Height)
nLastRecNo | 1
nLastWidth | (this.Width)
nMouseButton | 0
nPixelOffset | 22
nRecCount | 0
nShift | 0
nStrLen | 0
nTimeStamp | 0
oParentClassBrowser | .NULL.
oSource | .NULL.
ShowTips | .T.
Top | -1
Width | 462

Expand image Смотрите также

Reference

Методы Class Browser
Объекты-члены Class Browser

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Class Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Class (Visual FoxPro)
Смотрите также
CollapseAll image

Возвращает имя класса, на базе которого создан объект. Доступно только для чтения на этапе проектированипя и выполнения.

Object.Class

Expand image Примечания

Применимо к: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | CursorAdapter Class | Custom Object | EditBox Control | Exception Class (Visual FoxPro) | Form Object | FormSet Object | Grid Control | Header Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | ReportListener Object | Session Object | Shape Control | _SCREEN System Variable | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

В конструкторе классов свойство Class возвращает действительное имя класса.

Expand image Смотрите также

Справочное руководство

Метод AddObject
Свойство BaseClass Property

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ClassLibrary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ClassLibrary
Смотрите также
CollapseAll image

Задает имя файла библиотеки пользовательских классов, которая содержит класс данного объекта. Доступно только для чтения на этапе разработки и выполнения.

Object.ClassLibrary

Expand image Примечания

Применимо к: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | Custom Object | CursorAdapter Class | EditBox Control | Exception Class (Visual FoxPro) | Form Object | FormSet Object | Grid Control | Header Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | ReportListener Object | _SCREEN System Variable | Session Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Объекты базовых классов Visual FoxPro встраиваются в продукт; свойство ClassLibrary для них не устанавливается.

Expand image Смотрите также

Справочное руководство

Свойство BaseClass
Свойство Class (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ClipControls Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ClipControls
Смотрите также
CollapseAll image

Определяет, должны ли методы графики, используемые для событий Paint, перерисовывать весь объект целиком или только вновь открывшиеся части. Также определяет, создает ли операционная среда Windows зону отсечения, которая отрезает в данном объекте элементы управления, не принадлежащие графическому типу.

Object.ClipControls[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства ClipControls предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Графические методы событий Paint перерисовывают весь объект. Перед событием Paint в объекте Form вокруг неграфических элементов управления создается зона отсечения.

False (.F.)

Графические методы событий Paint перерисовывают только вновь открывшиеся области. Зона отсечения не создается вокруг неграфических элементов управления.

Expand image Примечания

Применимо к: Form Object | _SCREEN System Variable

Expand image Смотрите также

Справочное руководство

Событие Paint
Метод DataToClip
Системная переменная _CLIPTEXT

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Closable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Closable
Смотрите также Пример
CollapseAll image

Определяет, может ли форма быть закрыта с помощью пункта меню Close, блока управления формы, размещающегося под иконкой, или с помощью кнопки Close в заголовке формы. Доступно как в design, так и в run time.

Object.Closable[ = lExpr]

Expand image Возвращемое значение

lExpr

Установками для свойства Closable являются:

Установка Описание

True (.T.)

(По умолчанию) Пукнт "Close" добавляет во всплывающее меню окна.

False (.F.)

Форма не может быть закрыта с помощью пункта Close, блока управления формы, и пукнт Close удаляется из всплывающего меню окна.

Expand image Пример

Применяется к: Form Object | _SCREEN System Variable

В приведенном ниже примере показывается, как свойство Closable устанавливается в False (.F.) для предотвращения закрытия формы либо через блок управления, либо с помощью кнопки Close. Если свойство формы Closable установлено в True (.T.) и форма закрывается с помощью пункта Close, всплывающего меню окна, то для остановки обработки событий и выхода из программы должна быть выпущена команда CLEAR EVENTS.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the window pop-up menu
                          && and Close button

frmMyForm.AddObject('shpLine','Line')  && Add a Line control to the form
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')  && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')  && Quit Cmnd button

frmMyForm.shpLine.Visible = .T.  && Make Line control visible
frmMyForm.shpLine.Top = 20  && Specify Line control row
frmMyForm.shpLine.Left = 125  && Specify Line control column

frmMyForm.cmdCmndBtn1.Visible =.T.  && Up Command button visible
frmMyForm.cmdCmndBtn2.Visible =.T.  && Down" Command button visible
frmMyForm.cmdCmndBtn3.Visible =.T.  && Quit Command button visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON  && Create Command button
   Caption = 'Slant \<Up'  && Caption on the Command button
   Left = 50  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='/'  && Slant up
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton  && Create Command button
   Caption = 'Slant \<Down'  && Caption on the Command button
   Left = 200  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='\'  && Slant down
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 150  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство ControlBox
Свойство TitleBar
Команда DEFINE CLASS
Событие QueryUnload
Событие Unload
Метод Release
Событие Destroy

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


CLSID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство CLSID
Смотрите также Пример
CollapseAll image

Содержит регистрированный CLSID (Идентификатор Класса) для сервера в проекте. Доступен только для чтения на этапе проектирования и выполнени.

Object.CLSID

Expand image Примечание

Применимо к: Объект Server

CLSID создается в реестре Windows для сервера, при построении исполняемого файла (.exe) или динамически подключаемой библиотеки (.dll) из проекта.

Expand image Пример

Следующий пример демонстрирует использование свойства CLSID после создания COM сервера (.dll).

CopyCode image Copy Code
* In a program("Testclass.prg"), create a class
DEFINE CLASS myclass AS SESSION OLEPUBLIC
ENDDEFINE
...

В проекте, включите .prg файл в построение .dll иди MTDLL. Свойства объекта сервера будут доступны из кода. Например, в окне Command, напечатайте следующее:

CopyCode image Copy Code
MyServer = _VFP.ActiveProject.Servers("myclass")
? "Class ID is ", MyServer.CLSID      && Class ID is {620E56FE-F7F8-4E99-B767-CB08009261F0}
                                    && a GUID
? "Description is ", MyServer.Description    && testclass.myclass

Expand image Смотрите также

Справочное руководство

Функция CREATEOBJECTEX( )
Свойство ProgID (Visual FoxPro)
Свойство TypeLibCLSID
Свойство TypeLibDesc
Свойство TypeLibName

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CodePage Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство CodePage
Смотрите также Пример
CollapseAll image

Определяет набор символов, используемых для кодирования/декодирования объекта. Для объекта File, свойство установлено в "только для чтения". Для объектов XML, свойство является редактируемым как design, так и run time.

oXMLAdapter.CodePage = nValue
oXMLTable.CodePage = nValue
oXMLField.CodePage = nNvalue
oFileObject.CodePage

Expand image Возвращаемое значение

oXMLAdapter, oXMLTable, oXMLField

XML объекты, которые поддерживают кодовые страницы.

oFileObject

Объект, представляющий файл в проекте Visual FoxPro.

nValue

Челочисленное значение, ассоциирование с кодовой страницей. Для XML объектов, значение по умолчанию- ноль (0).

Expand image Замечания

Применяется: Класс XMLAdapter, Класс XMLTable, Класс XMLField, Объект File (Visual FoxPro)

Численное значение указывает символьный набор, используемый для объекта. Кодовые страницы обычно соответствуют различным платформам и языкам и используются в международных приложениях.

Когда вы используете методы LoadXML или Attach для загрузки XML документа, объект XMLAdapter обрабатывает XML для определения свойства CodePage. Если объект XMLAdapter неспособен определить кодовую страницу или если кодовая страница не присутствует в списке поддерживаемых, то свойство CodePage устанавливается в ноль (0).

Для получения более подробной информации о кодовых страницах и международной поддержке в Visual FoxPro смотрите Кодовые страницы, поддерживаемые в Visual FoxPro and Разработка международных приложений.

Expand image Пример

Этот пример подсчитывает - сколько файлов проекта используют кодовую страницу 1252 (ANSI Windows).

CopyCode image Скопировать кодe
nCode1252=0
MODIFY PROJECT myproject NOWAIT
FOR i = 1 TO _VFP.ActiveProject.Files.Count
IF _VFP.ActiveProject.Files(i).CodePage = 1252
nCode1252=nCode1252+1
ENDIF
ENDFOR
?nCode1252 && Показывает результат подсчета в окне Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Функция CPCONVERT()
Функция CPCURRENT()
Функция CPDBF()
Класс XMLAdapter
Класс XMLTable
Класс XMLField
Метод LoadXML

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ColorSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ColorSource
Смотрите также
CollapseAll image

Определяет - как устанавливаются цвета элемента управления. Доступно как в design, так и в run time.

Object.ColorSource[ = nSource]

Expand image Возвращемое значение

nSource

Установками для nSource являются:

Setting Описание

0

Свойства цвета объекта. Элемент управления использует свои установки свойств(ForeColor, BackColor, and so on). Эта установка доступна для перечисленных ниже элементов управления и объектов:

CheckBox, ComboBox, CommandButton, CommandGroup, Container, Control, EditBox, Form, Image, Label, Line, ListBox, OptionButton, OptionGroup, Page, PageFrame, Shape, Spinner, TextBox, and Toolbar.

1

Схема цветов формы. Элемент управления использует цветовую схему формы, на которой размещен. Эта установка доступна для перечисленных ниже элементов управления и объектов:

CheckBox, ComboBox, CommandButton, EditBox, Label, ListBox, OptionButton, Shape, Spinner, and TextBox.

2

Схема свойства ColorScheme. Элемент управления использует цветовую схему, указанную в его свойстве ColorScheme. Эта установка доступна для перечисленных ниже элементов управления и объектов:

CheckBox, ComboBox, CommandButton, EditBox, Label, ListBox, OptionButton, Shape, Spinner, and TextBox.

3

Default Scheme. Элементы управления использую их дефолтные цветовые схемы. Для большинства элементов управления дефолтная схема цветов точно такая же, как цветовая схема формы Для EditBoxes и ListBoxes, дефолтной цветовой схемой является Scheme 2, User Menus. Эта установка доступна для перечисленных ниже элементов управления и объектов:

CheckBox, ComboBox, CommandButton, EditBox, Label, ListBox, OptionButton, Shape, Spinner, and TextBox.

4

Windows Control Panel (3D Colors) (По умолчанию). Элемент управления использует установки 3D color, указанные в контрольной панели (Windows Control Panel). Эта установка доступна для перечисленных ниже элементов управления и объектов:

CheckBox, ComboBox, CommandButton, CommandGroup, Container, Control, EditBox, Form, Image, Label, Line, ListBox, OptionButton, OptionGroup, Page, PageFrame, Shape, Spinner, TextBox, and Toolbar.

5

Windows Control Panel (Windows Colors). Элемент использует установки цвета, указанные в Windows Control Panel. Эта установка доступна только для объектов Form.

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Form Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | ToolBar Object

Установка для объетов свойств отдельных цветов (ForeColor, BackColor, SelectedForeColor и так далее) переписывает значение свойства ColorSource. Если для объекта свойство цвета не установлено, цвета объекта определяются значением свойства ColorSource.

Expand image Смотрите также

Справочное руководство

Свойство ColorScheme

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


ColumnCount Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ColumnCount (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет число объектов Column в элементах управления Grid, ComboBox или ListBox. Для grid, доступно в design time и редактируемое в run time. Для combobox или listbox, доступно как в design time, так и в run time.

Object.ColumnCount[ = nCol]

Expand image Возвращаемое значение

nCol

Для элемента управления Grid, указывает число отображаемых колонок. По умолчанию равно минус единице (–1), что означает, что элемент управления Grid должен содержать достаточное количество колонок для размещения все полей в источнике записи. Максимально число колонок ограничено значением 255. Если вы указываете конкретное количество колонок с помощью установки свойства nCol в положительное число, то вы должны указать данные для отображения в конкретной колонке с помощью установки свойства колонки ControlSource. (Если для колонки свойство ControlSource не было определено, Grid отобразит следующее доступное, но не отображенное в колонках поле из источника данных.)

Для элементов управления ComboBox или ListBox, nCol определяет число колонок, которое содержится в элементе управления. Если вы установите свойство ColumnCount в 0, первая отображаемая колонка будет основана на свойстве RowSource или на элементах, введенныз с помощью метода AddItem.

Expand image Примечания

Применяется к: ComboBox Control | Grid Control | ListBox Control

Для элемента управления grid, для увеличения числа колонок используйте метод AddColumn.

Expand image Смотрите также

Справочное руководство

Метод AddColumn Method
Свойство ColumnOrder
Свойство Order (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ColumnLines Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ColumnLines
Смотрите также
CollapseAll image

Показывает или скрывает линии между столбцами. Доступно на этапе проектирования и на этапе выполнения.

Control.ColumnLines[ = lExpr]

Expand image Возвращаемое значение

lExpr

Определяет, отображаются ли линии, разделяющие столбцы. Для свойства ColumnLines предусмотрены следующие установки:

Установка Описание

"Истина" (.T.)

(По умолчанию) Линии между столбцами являются видимыми.

"Ложь" (.F.)

Линии между столбцами скрыты..

Expand image Примечания

Применимо к: ComboBox Control | ListBox Control

Expand image Смотрите также

Справочное руководство

Свойство ColumnWidths
Свойство ColumnOrder
Свойство Columns

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ColumnOrder Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ColumnOrder
Смотрите также
CollapseAll image

Задает относительный порядок объектов Column в элементе управления Grid. Доступно на этапе пректирования и выполнения..

Column.ColumnOrder[ = nExpr]

Expand image Возвращаемое значение

nExpr

Задает порядковый номер объекта Column относительно других объектов Columns в элементе управления Grid.

Expand image Примечания

Применимо к: Column Object

Если элемент управления Grid содержит пять объектов Columns и вы хотите, чтобы последним отображался третий объект Column, установите для его свойства ColumnOrder значение 5. Установка ColumnOrder для четвертого объекта Column станет равной 3, для пятого объекта Column ѕ 4 и т.д.

Note Note

Установки ColumnOrder не должны быть обязательно последовательными.

Expand image Смотрите также

Справочное руководство

Событие Activate (Visual FoxPro)
Событие Deactivate
Метод ZOrder
Свойство ColumnCount (Visual FoxPro)
Свойство ColumnLines
Свойство ColumnWidths

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Columns Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Columns
Смотрите также
CollapseAll image

Массив для доступа к отдельным объектам Column в элементе управления Grid по номерам объектов Column. Доступно на этапе разработки и доступно только для чтения на этапе выполнения.

Grid.Columns(nCol).Property [ = Setting]

Expand image Возвращаемое значение

nCol

Задает в элементе управления Grid объект Column, свойство которого указывается. Самый левый объект Column имеет номер 1.

Property

Задает свойство объекта Column, к которому происходит обращение.

Setting

Задает новую установку свойства для всех ячеек, заданных номером nCol.

Expand image Примечания

Применимо к: єлемент управления Grid

Используйте свойство Columnsдля доступа к свойствам конкретного объекта Column в элементе управления Grid. Например, если задать SpecialGrid.Column(1).BackColor = RGB(255,0,0), то установка свойства BackColor для всех ячеек столбца 1 изменится на ярко-красный цвет.

Expand image Смотрите также

Справочное руководство

Объект Column
Свойство ColumnCount (Visual FoxPro)
Метод SetAll

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Свойство ColumnWidths

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ColumnWidths
Смотрите также
CollapseAll image

Задает ширину столбцов для элемента управления ComboBox или ListBox. Доступно на этапе разработки и выполнения.

Control.ColumnWidths[ = "cCol1Width, cCol2Width, ... cColnWidth"]

Expand image Возвращаемое значение

" cCol1Width, cCol2Width, ...cColnWidth"

Задает ширину столбца или нескольких подряд идущих столбцов в элементе управления ComboBox или ListBox. Например, cColumnWidths = "5, 7, 9" определяет ширину первого столбца в 5 едениц, второго столбца в 7 едениц, и третьего столбца 9 едениц, единица измерения определена свойством ScaleMode объекта form. Значения ширины отделяйте друг от друга запятыми. Количество столбцов можно задать с помощью свойства ColumnCount.

Expand image Примечания

Применимо к: ComboBox Control | ListBox Control

Expand image Смотрите также

Reference

Свойство ColumnCount (Visual FoxPro)
Свойство ScaleMode
Свойство Width
Свойство ColumnLines

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CommandClauses Property

Visual FoxPro 9.0
CommandClauses свойство
Смотрите также Пример

Обеспечивает получение списка опций команд REPORT FORM или LABEL.

ReportListener.CommandClauses

Возвращаемое значение

Объект или пустой класс, в течение или после выполнения команды REPORT FORM или LABEL.

Значением по умолчанию, когда Вы создаете первый экземпляр объекта ReportListener, является .NULL.

Замечания

Применяется к: ReportListener Object.

Движок отчета представляет объект CommandClauses в течение выполнения отчета, и ReportListener может использовать опции команд. Этот объект подобен объекту CommandClauses, который конструктор отчета представляет построителю отчета в сеансе разработки. Для получения дополнительной информации См. Understanding Report Builder Events.

Не каждый элемент объекта CommandClauses для ReportListeners точно соответствует ключевому слову команды REPORT FORM, и не все элеметы доступны в любое время. Например, элемент RecordTotal доступен, когда движок оценивает диапазон REPORT FORM. Эта оценка происходит между событиями LoadReport и BeforeReport, так что Вы не можете использовать RecordTotal в течение LoadReport.

Совет:
Вы можете использовать ReportListener Debug Foundation Class для сравнения элементов CommandClauses в течение событий LoadReport и BeforeReport.

Следующая таблица перечисляет элементы CommandClauses и поясняет их содержание и доступность. Если иначе не определено, элемент и его значение доступны между LoadReport и UnloadReport. Также, если иначе не определено, ни движок отчета, ни базовый класс ReportListener не используют эти значения; они предназначены для использования в коде классов, полученных на основе ReportListener.

Примечание:
Все упоминания о команде REPORT FORM относятся и к LABEL, если явно не определено другое.

Элемент CommandClauses Замечания

.ASCII

Логическое значение, указывает, есть ли ключевое слово ASCII в команде REPORT FORM.

ASCII игнорируется базовым классом ReportListener. Однако, Ваш дочерний класс может его использовать.

.DE_NAME

Символьное значение, представляет опцию NAME команды REPORT FORM. Хотя значение .DE_NAME определяется начиная с LoadReport, ссылка на DataEnvironment не доступна до BeforeReport.

Это значение указывает имя ссылки на объект DataEnvironment отчета, вне зависимости от того, определи ли Вы NAME в команде. Если Вы не определяете NAME, Visual FoxPro создает публичную переменную с тем же самым именем, как у файла отчета или этикетки.

.ENVIRONMENT

Логическое значение, указывает, есть ли ключевое слово ENVIRONMENT в команде REPORT FORM.

Это ключевое используется для обратной совместимости. Вместо него Вы можете использовать ссылку, указанную в .DE_NAME для проверки свойства AutoOpenTables в DataEnvironment.

.FILE

Символьное значение, представляет полное имя файла отчета или этикетки (frx or lbx).

.HEADING

Символьное значение, представляет содержание текста HEADING, если Вы используете опцию HEADING<cText> в команде REPORT FORM.

.INSCREEN

Логическое значение, указывает, включена ли в команду REPORT FORM опция IN SCREEN.

.INWINDOW

Символьное значение, представляет имя окна, если Вы использовали IN WINDOW в команде REPORT FORM. Это значение - пустая строка, если Вы не используете опцию IN WINDOW.

.ISDESIGNERLOADED

Логическое значение, указывает, была ли команда REPORT FORM вызвана из конструктора отчета или этикетки.

.ISDESIGNERPROTECTED

Логический тип данных, указывает, была ли команда REPORT FORM вызвана с ключевым словом PROTECTED из конструктора отчета или этикетки.

.ISREPORT

Логическое значение, указывает какая была команда: REPORT FORM(.T). или LABEL (.F).

.NOCONSOLE

Логическое значение, указывает, использовалось ли ключевое слово NOCONSOLE в команде REPORT FORM.

NOCONSOLE непосредственно не поддерживается базовым классом ReportListener, потому что объектно-ассистированный вывод не отражается в текущем окне вывода Visual FoxPro. Однако, Ваш дочерний класс может использовать это ключевом слове. Например, Вы можете отражать вывод в окно вывода, или палучить текстовую версию содержания отчета в течение выполнения отчета, но опускать это действие, когда команда включала NOCONSOLE.

.NODIALOG

Логическое значение, указывает, использовалось ли ключевое слово NODIALOG в команде REPORT FORM.

Базовый класс ReportListener поддерживает NODIALOG, временно корректируя значение свойства QuietMode при выполненении отчета. См. QuietMode Property для получения дополнительной информации.

.NOEJECT

Логическое значение, указывает, использовалось ли ключевое слово NOEJECT в команде REPORT FORM.

.NOPAGEEJECT

Логическое значение, указывает, использовалось ли ключевое слово NOPAGEEJECT в команде REPORT FORM.

Базовый класс ReportListener обеспечивает больше функциональных возможностей чем не объектно-ассистированные отчёты при использовании NOPAGEEJECT. Это свойство обеспечивает возможность выполнения сцепленных отчетов, когда Вы устанавливаете свойство ReportListener.ListenerType в 1 (предварительный просмотр). Вы можете использовать это для получения сцепленных отчетов и других эффектов в Ваших отчетах. В разделе ReportListener Base Foundation Class приведён пример объединения двух отчетов в одном XML документе при использовании использовании ключевого слова NOPAGEEJECT.

.NORESET

Логическое значение, указывает, использовалось ли ключевое слово NORESET в команде REPORT FORM.

.NOWAIT

Логическое значение, указывает, использовалось ли ключевое слово NOWAIT в команде REPORT FORM.

Базовый класс ReportListener использует это значение, чтобы оценить, как вызвать метод Show Контейнера Preview. См. The Preview Container API для получения дополнительной информации.

.OFF

Логическое значение, указывает, использовалось ли ключевое слово OFF в команде REPORT FORM.

Это ключевое слово не было предварительно зарегистрировано для команды REPORT FORM. Оно обрабатывается так же, как и NOCONSOLE в базовом классе ReportListener. Ваши дочерние классы могут обработать OFF, как NOCONSOLE, или по-другому.

.OUTPUTTO

Целочисленное значение, представляет различные варианты опции TO: TO PRINT или TO [FILE]<Filename>. Если OUTPUTTO = 1, вывод идет на принтер. Если OUTPUTTO = 2, вывод в файл. В последнем случае CommandClauses.TOFILE элемент указывает имя файла.

Если не было TO опции в команде REPORT FORM, этот элемент имеет значение 0.

Вы можете корректировать OUTPUTTO и значение TOFILE динамически в событии LoadReport или когда выполняется печатать из предварительного просмотра, как ниже описано для элемента PROMPT. Ваши изменения этих значениям учтуться, когда ReportListener начнет печать.

.PDSETUP

Логическое значение, указывает, использовалось ли ключевое слово PDSETUP в команде REPORT FORM. Как с любой опцией команды REPORT FORM, включенной для обратной совместимости, Вы можете использовать её в Ваших классах по своему усмотрению.

.PLAIN

Логическое значение, указывает, использовалось ли ключевое слово PLAIN в команде REPORT FORM.

.PREVIEW

Логическое значение, указывает, использовалось ли ключевое слово PREVIEW в команде REPORT FORM.

.PRINTPAGECURRENT

Целочисленное значение, по умолчанию 0. Обеспечивает возможность для PreviewContainer передать в ReportListener информацию о том, какая страница была отображена, когда PreviewContainer вызвал метод ReportListener.OnPreviewClose.

Когда PreviewContainer использует значение аргумента OnPreviewClose=.T., чтобы вызвать печать после предварительного просмотра, и если .PRINTPAGECURRENT - не 0, ReportListener разрешает указать текущую Страницу ("Current Page") в любом диалоге перед печатью, типа встроенного диалога PROMPT.

См. OnPreviewClose Method для получения дополнительной информации.

.PRINTRANGEFROM, .PRINTRANGETO

Целочисленные значения, применяются совместно для указания подмножества страниц вывода после предварительного просмотра. Значения по умолчанию .PRINTRANGEFROM = 1, .PRINTRANGETO = 1. Максимальный диапазон печати - 1 для ReportListener.OutputPageCount. См. OutputPageCount Property для получения дополнительной информации.

.PROMPT

Логическое значение, указывает, использовалось ли ключевое слово PROMPT в команде REPORT FORM. ReportDesigner добавляет опцию PROMPT , если Вы хотите предварительно просматривать отчёт в процессе разработки.

Примечание:
Вы можете корректировать .PROMPT динамически при предварительном просмотре, например в событии OnPreviewClose(.T.). Аргумент .T. указывает OnPreviewClose, что Вы желаете напечатать после предварительного просмотра. Вы можете также изменить это значение в событии LoadReport. Ваши изменения учтуться, когда ReportListener начинает печать.

Вы можете сцеплять множество отчетов вместе, используя NOPAGEEJECT, и различные отчеты, могут иметь различные значения CommandClauses.PROMPT. В этом сценарии, существенно значение PROMPT последнего отчете в цепочке (отчет без NOPAGEEJECT).

.RANGEFROM

Целочисленное значение, указывает первый аргумент для опции RANGE, если Вы используете эту опцию в команде REPORT FORM. Если Вы не используете RANGE, этот элемент имеет значение 1. Значение может измениться между событиями LoadReport и BeforeReport, в диалоге PROMPT.

RANGEFROM и RANGETO вычисляются базовым классом ReportListener, когда Вы вызываете IncludePageInOutput Method.

.RANGETO

Целочисленное значение, указывает второй (необязательный) аргумент для опции RANGE, когда Вы используете эту опцию в команде REPORT FORM. Если Вы не используете RANGE, этот элемент имеет значение -1. Значение может измениться между событиями LoadReport и BeforeReport, в диалоге PROMPT.

RANGEFROM и RANGETO вычисляются базовым классом ReportListener, когда Вы вызываете IncludePageInOutput Method.

.RECORDTOTAL

Целочисленное значение, указывает полный диапазон записей для выбранного псевдонима (рабочей области), который будет обработан. Диапазон задаётся опциями команды REPORT FORM и любыми другими ограничениями, которые Вы, возможно, установили (типа команды SET FILTER ).

Это значение - 0 в LoadReport и содержит правильное значение, начиная с BeforeReport. Сбрасывается в 0 после UnloadReport.

.SAMPLE

Логическое значение, указывает, использовалось ли ключевое слово SAMPLE в команде LABEL.

Это ключевого слово нет в команде REPORT FORM. Поэтому, его значение - всегда .F., если Вы не используете команду LABEL.

.STARTDATASESSION

Числовое значение, указывает сессию данных, в которой Вы выполнили команду REPORT FORM или LABEL. Для получения дополнительной информации, см. Understanding Visual FoxPro Object-Assisted Reporting.

.SUMMARY

Логическое значение, указывает, использовалось ли ключевое слово SUMMARY в команде REPORT FORM. Это значение - всегда .F. для команды LABEL; оно применимо только для команды REPORT FORM.

.TOFILE

Символьное значение, указывает целевое имя файла вывода, когда Вы используете опцию TO [FILE]<Filename> в команде REPORT FORM. Вы можете корректировать этот элемент динамически, как рассказано выше про OUTPUTTO.

.TOFILEADDITIVE

Логическое значение, указывает, использовалось ли ключевое слово ADDITIVE Совместно с TO [FILE] <Filename> ASCII в команде REPORT FORM.

Это ключевое слово применяется только к ASCII и игнорируется базовым классом ReportListener.

.WINDOW

Символьное значение, указывает имя окна, когда Вы используете опцию WINDOW <cText> в команде REPORT FORM. Пустая строка, если Вы не используете опцию WINDOW.

Пример

Следующий пример взят из фундаментального класса ReportListener User Feedback Foundation Class. Класс UpdateListener использует его CommandClauses.FILE, чтобы определить заголовок для его окна обратной связи, в случае, если пользователь не определил значение для свойства PrintJobName.

Копировать код
IF EMPTY(THIS.PrintJobName)
   cName = PROPER(JUSTFNAME(THIS.CommandClauses.FILE))
ELSE
   cName = THIS.PrintJobName
ENDIF
THIS.ThermForm.Caption = ;
   cName + ": " + OUTPUTCLASS_CANCEL_INSTRUCTIONS_LOC

Смотрите также

Ссылки

ReportListener Object Properties, Methods, and Events
REPORT FORM Command
Empty Class

Прочие ресурсы

Properties (Visual FoxPro)
Language Reference (Visual FoxPro)
Extending Report Output Functionality

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


Comment Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Comment
Смотрите также
CollapseAll image

Хранит информацию об объекте. Доступно, как в design, так и в run time.

Object.Comment[ = cTextString]

Expand image Возвращаемое значение

cTextString

Указывает строку текста.

Expand image Примечания

Применяется к: CheckBox Control | Collection Class | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | CursorAdapter Class | Custom Object | EditBox Control | Exception Class (Visual FoxPro) | Form Object | FormSet Object | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | ReportListener Object | _SCREEN System Variable | Session Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

В отличие от других свойств, значение свойства Comment не используется Visual FoxPro; поэтому вы можете использовать это свойство для идентификации или описания объекта.

Вы можете использовать это свойство для присвоения идентификационной строки объекту, без воздействия на какие-либо другие установки его свойств. Свойство является полезным для проверки идентичности элемента управления или формы, когда оно направляется как переменная в процедуру.

По умолчанию, свойство Comment установлено в строку текста нулевой длины ("").

Замечание Совет

Когда вы создаете новый экземпляр формы, присвойте уникальное значение его свойству Comment.

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство Name (Visual FoxPro)

Прочие ресурсы

Свойство (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CompareMemo Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство CompareMemo
Смотрите также
CollapseAll image

Определяет - будут ли мемо-поля типов Memo, General или Picture включены в опцию WHERE при использовании автоматического обновления. Для работы сэтим свойством с обычными курсорами используйте функции CURSORSETPROP() и CURSORGETPROP(). Редактируемое.

Замечание Замечание

Установка свойства CompareMemo для объектов CursorAdapter переписывает установку свойства курсора, подключенного к объекту CursorAdapter. То есть, изменение свойства курсора с помощью CURSORSETPROP() не даст эффекта.

CursorAdapter.CompareMemo [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены возможные значения для lValue.

lValue Описание

True (.T.)

Включает мемо поля в опцию WHERE.

True (.F.)

Не включает мемо-поля в опцию WHERE.

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP( )
Функция CURSORSETPROP( )

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ConflictCheckCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ConflictCheckCmd
Смотри также

Указывает составленную пользователем команду для использования с целью проверки конфликтов обновления или удаления для случая, если значение свойства ConflictCheckType объекта CursorAdapter установлено 4. Редактируемое (Read/write)в design и run time.

Вы можете использовать команду, установленную в свойстве ConflictCheckCmd с "родными", Open Database Connectivity (ODBC), или ActiveX Object (ADO) типами источников данных. При использовании ADO, объект CursorAdapter должен использовать объект ADO Command для SQL операций UPDATE или DELETE. В противном случае, Visual FoxPro сбрасывает значение свойства ConflictCheckCmd.

CursorAdapter.ConflictCheckCmd [= cValue]

Параметры

cValue

Указывает на составленную пользователем командную строку, для дополнения команд (подчеркнуто мной - переводчик) определенных в свойствах UpdateCmd и DeleteCmd для проверки конфликтов обновления или удаления. По умолчанию значение cValue содержит пустую строку.
Замечание переводчика:

Приведенное ниже поясняет использование этого свойства для проверки конфликтов.

Когда вы пытаетесь произвести операцию обновления на источнике данных (например, back-end, такой как SQL Server) функция TableUpdate возвращает результат для обновления курсора, связанного с объектов CursorAdapter. Если произошел конфликт, то данные на сервере могут остаться неизменными, но функция TableUpdate вернет True (.T.) поскольку данные в курсоре, связанном с объектом CursorAdapter обновлены.
Рассмотри ситуацию:

  1. Пользователь 1 открыл курсор на таблице Customer.
  2. Пользователь 2 обновляет запись с номером 1 и совершает транзакцию.
  3. Пользователь 1 обновляет запись с номером 1 с помощью функции TableUpdate

В этой точке мы имеем конфликт обновления: запись на сервере, которую Пользователь1 пытается обновить изменена после того, как она загружена в курсор объекта CursorAdapter.

Приведенный ниже пример программного кода использует проверяющую конфликт команду "CRLF+[EXECSCRIPT("IF _tally=0" + CHR(10) + "ERROR('Update conflict')" + CHR(10) + "ENDIF")]" в дополнение к команде обновления. В этом случае, функция TableUpdate() вернет False (.F.), что позволит вам обслужить конфликт. Сама команда проверки конфликта использована в методе, ассоциированном с событием BeforeUpdate объекта CursorAdapter
Скопировать код тестового примера
#DEFINE CRLF CHR(13)+CHR(10)
Local loCursor,ovfp
CLEAR

ON ERROR

Set Exclusive Off
Close Databases All
Set Multilocks On
loCursor = Createobject('CA')
* Загружаем курсор данными, определенными командой, хранящейся в SelectCmd
* и отображаем сообщение об ошибке, если таковая имеет место быть.
loCursor.CursorFill()
GO top
* Покажем значение поля companyname перед операцией обновления.
? "Before:",companyname
?
ovfp=Createobject("visualfoxpro.application.8")
ovfp.DoCmd("set exclusive off")
ovfp.DoCmd("update (_samples+'\northwind\customers') set companyname='Alfreds Futterkisted' where customerid='ALFKI'")
GO top
* Обновим данные в курсоре.
replace companyname WITH 'Alfreds Futterkiste'
* Обновим данные на сервере.
retval=TABLEUPDATE(0,.F.,locursor.alias)
Messagebox("Tableupdate="+Transform(retval))

* Если имеет место конфликт, отобразим ошибку.
if(retval=.F.)
 LOCAL ARRAY errors(1)
 AERROR(errors)
* Выводим сообщение об ошибке.

 IF "Update conflict"$errors[2]
  MESSAGEBOX("Update Conflict-reverting changes")
  =TABLEREVERT(.T.,locursor.alias)
 ENDIF
endif
 * Обновляем данные (refresh) в курсоре .
loCursor.CursorRefresh()  && Забираем данные назад чтобы убедиться в правильности
GO top
* Отображаем содержание поля companyname после обновление.
?
? "After:",companyname

Define Class CA As CursorAdapter
 Alias = 'test1'
 DataSourceType = 'NATIVE'
 SelectCmd = 'select * from (_samples+"\northwind\customers")'
 Tables = 'Customers'
 KeyFieldList = "customerid"
 UpdatableFieldList = "companyname"
 UpdateNameList = "customerid customers.customerid,companyname customers.companyname"
 WhereType= 3

* Составляем команду проверки конфликта, чтобы обслужить конфликт.
* Сама по себе она ничего не делает
* Далее она просто добавляется к автоматически сгенерированной команде UpdateInsertCmd
* для проверки - было ли что-либо действительно обновлено.
 ConflictCheckCmd =CRLF+[EXECSCRIPT("IF _tally=0" + CHR(10) + "ERROR('Update conflict')" + CHR(10) + "ENDIF")]

 Procedure AfterUpdate
  Lparameters cFldState, lForce, nUpdateType, UpdateInsertCmd, DeleteCmd, lResult
  * Взглянем на посланную команду UpdateInsertCmd
  ? "Update Command sent="+UpdateInsertCmd
  * Поменяем местами реальные значения в команде, чтобы видеть, что происходит.
  UpdateInsertCmd=Strtran(UpdateInsertCmd,[OLDVAL('customerid','test1')],Oldval('customerid','test1'))
  UpdateInsertCmd=Strtran(UpdateInsertCmd,[OLDVAL('companyname','test1')],Oldval('companyname','test1'))
  UpdateInsertCmd=Strtran(UpdateInsertCmd,[test1.companyname],test1.companyname)
  ? "With the OLDVAL() and test1.companyname evaluated the update statement is :"+UpdateInsertCmd
  * Проверим возврат.
  ? "Tally="+Transform(_Tally)

 Procedure BeforeUpdate
  Lparameters cFldState, lForce, nUpdateType, cUpdateInsertCmd, cDeleteCmd
  cUpdateInsertCmd=cUpdateInsertCmd+this.ConflictCheckCmd
ENDDEFINE

Примечания

Применяется к: классу CursorAdapter

Смотри также

Прочие ресурсы

Свойства
Свойство ConflictCheckType
Свойства, методы и события объекта CursorAdapter
Команда UPDATE - SQL
Команда DELETE - SQL

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


ConflictCheckType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ConflictCheckType Property
Смотри также

Указыает, как обслуживать проверку конфликта во время операций обнолвения или удаления, используся команды, определенные в свойствах UpdateCmd и DeleteCmd объекта CursorAdapter. Редактируемое (Read/write)в design и run time.

Вы можете использовать свойство ConflictCheckType с "родными" VFP, Open Database Connectivity (ODBC) и ActiveX Object (ADO) источниками данных. При использовании ADO, объект CursorAdapter должен использовать объект ADO Command для выполнения операций SQL UPDATE или DELETE. В противном случае Visual FoxPro сбрасываем значение ConflictCheckType.

CursorAdapter.ConflictCheckType [= nValue]

Возвращаемое значение

nValue

Содержит целое число, определяющее - как будет проводится проверка конфликта. В приведенной ниже таблице перечислены значения для nValue.

nValue Описание

0

Не производить проверки. (Значение по умолчанию)

1

В режиме обновления единичной строки, проверять конфликт обновления во время операций SQL UPDATE или DELETE. Если конфликт произошел, а именно, ни одна запись не подверглась воздейстию исполнения любой из команд, определенных в свойствах UpdateCmd или DeleteCmd, возвратит сообщение "Update conflict (Error 1585)". - Конфликт обновления (Ошибка 1585)

2

В режиме обновления единичной строки, проверять уникальность ключей во время операций SQL UPDATE или DELETE. Если в результате исполнения любой из команд, определенных в свойствах UpdateCmd или DeleteCmd изменения произведены более чем в одной записи выводит сообщение "Warning: The key defined by the KeyField property for table "alias" is not unique. (Error 1495)" - Предупреждение. Ключ, определенный свойством KeyField для таблицы "alias" не уникален. (Ошибка 1495)"

3

Производит проверку, так как определено значениями 1 и 2.

4

Добавляет, составленную пользователем команду, указанную в свойстве ConflictCheckCmd в конец команд, определенных в свойствах UpdateCmd и DeleteCmd.
Замечание:
Вследствие ограничений ODBC и ADO, установки значения в величины 1, 2 и 3 могут работать некорректно, если свойства UpdateCmd и DeleteCmd содержат более чем одну команду. Возможно также, что число подвергшихся воздействию исполнения команд не будет возврашено для каждой команды в пакете. Поэтому, рекомендуется, чтобы вы устанавливали значение свойстваConflictCheckType равное 4 и указывали свою собственную команду в свойстве ConflictCheckCmd или убедитесь, что будет исполнена только одна команда SQL UPDATE или DELETE. Кроме того, Visual FoxPro сбрасывает установки значений 1, 2 и 3 когда производится пакетная операция TABLEUPDATE( ).

Примечания

Применяется к: классу CursorAdapter

Смотри также

Прочие ресурсы

Свойства
Свойство ConflictCheckCmd
Свойство UpdateCmd
Свойство DeleteCmd
Свойства, методы и события объекта CursorAdapter
Команда UPDATE - SQL
Команда DELETE - SQL
Функция TABLEUPDATE( )

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


ContinuousScroll Property

Visual FoxPro 9.0 Описание Языка
ContinuousScroll, свойство
См. также
CollapseAll image

Определяет, как выполняется перемещение рабочей области Формы (Скролинг), непрерывно, автоматически, или только в том случае, когда отображается управляющий элемент формы Scroll Box. Является доступным для режимов Design-Time и Run-Time.

Object.ContinuousScroll[ = lExpression]

Expand image Возвращаемое значение

lExpression

В таблице описаны допустимые значения для указанного параметра lExpression :

Значение Краткое Описание

True (.T.)

(По-умолчанию) Скролинг для формы выполняется непрерывно. При перемещении управляющего элемента Scroll Box выполняется соответствующее перемещение в указанной Форме. Событие Scrolled происходит непрерывно при перемещении информации на Форме (Form is Scrolled).

False (.F.)

Скролинг данных на Форме выполняется только при очистке управляющего элемента Scroll Box. Форма остается неподвижной до момента перемещения Бегунка, и только после этого выполняется перерисовка Формы в новой позиции. Событие Scrolled происходит только после перерисовки (обновления) содержания Формы.

Expand image Комментарии

Применяется В: Form, объект

Родственное свойство Scrollbars определяет, содержит ли рассматриваемая Форма управляющий элемент Scroll Bars.

Expand image См. также

Описание

ScrollBars, свойство
Scrolled, событие
HScrollSmallChange, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ControlBox Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ControlBox
Смотрите также
CollapseAll image

Определяет - появятся ли иконка программы в вехнем левом углу и кнопки Minimize, Maximize, Restore и Close в правом верхнем углу формы. Для панели инструментов свойство ControlBox управляет поведением только кнопки Close. Доступно как в design time, так и в run time.

Object.ControlBox[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства ControlBox являются:

Setting Description

True (.T.)

(По умолчанию) Отображает иконку программы и кнопки Minimize, Maximize, Restore и Close.

False (.F.)

Не отображает иконку программы .

Expand image Примечания

Применяется к: Form Object | _SCREEN System Variable | ToolBar Object

Как модальные, так и немодальные формы, а также панели инструментов, могут включать в себя иконку программы. Меню команд, доступное в run зависит от установок связанных свойств. Например, установка свойств MaxButton и MinButton в False (.F.) блокирует команды меню Maximize и Minimize в контрольном блоке, распологающемся под иконкой программы, но команды меню Move и Close остаются доступными.

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Свойство Closable
Свойство MaxButton
Свойство MinButton

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ControlCount Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ControlCount
Смотрите также
CollapseAll image

Задает количество элементов управления в объекте-контейнере. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Object.ControlCount

Expand image Примечания

Применимо к: Column Object | Container Object | Control Object (Visual FoxPro) | Form Object | Page Object | _SCREEN System Variable | ToolBar Object

С помощью данного свойства можно пройти в цикле по всем элементам управления контейнера и выполнить какое-либо действие.

Expand image Смотрите также

Справочное руководство

Свойство Controls (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Controls Property (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Свойство Controls (Visual FoxPro)
См. также

Является массивом ссылок на элементы, содержащиеся в объекте-Контейнере. Доступно в режиме RunTime.

ОбъектКонтейнер.Controls(индекс).свойство[ = Eвыражение]

Возвращаемое значение

Eвыражение

Задает значение указанного свойства Элемента, содержащегося в объекте ContainerObject.

Комментарии

Применяется в: Объект Column | Объект Container | Объект Control | Объект Form | Объект Page | _SCREEN | Объект ToolBar

Используется для доступа к свойствам элементов, содержащихся в объекте.

См. также

Другие Ссылки

Свойство ControlCount
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ControlSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ControlSource
Смотрите также
CollapseAll image

Определяет источник данных, с которым связан объект. Доступен как в design, так и в run time.

Object.ControlSource[ = cName]

Expand image Возвращемое значение

cName

Для элементов управления, в качестве cName используется переменная или поле таблицы.

Expand image Примечания

Применяется к: CheckBox Control | Column Object | ComboBox Control | CommandGroup Control | EditBox Control | ListBox Control | OLE Bound Control | OptionButton Control | OptionGroup Control | Spinner Control | TextBox Control (Visual FoxPro)

Если свойство ControlSource установлено в имя поля таблицы или переменную, свойсто Value всегда будет имть тоже самое значение данных и тот же самый тип данных, что и переменная или поле, в которые установлено свойство ControlSource.

Для элементов управления TextBox cName обычно представляет поле таблицы.

В элементе управления Grid, если вы не указажите установку ControlSource для колонки, то в колонке будет отображаться следующее по порядку дотсупное неотображаемое поле источника записи решетки.

Если свойство колонки Bound (Grid) установлено в True (.T.), то установка свойства колонки ControlSource применяется к колонке и любым элдементам управления, содержащимся в ней. Если вы попытаетесь установить отдельно значение свойства ControlSource для содержащегося в колонке элемента управления, то будет сгенерирована ошибка. Однако, если свойство колонки Bound (Grid) установлено в False (.F.), вы можете прямо установить значение свойства ControlSource объекта, находящегося в колонке. Если вы сначала установили значение ControlSource для объектов, а после устанавливаете значение ControlSource для объекта Column, то установка свойства ControlSource объекта Column перепишет одноименное свойство находящихся в колонке элементов управления.

Expand image Смотрите также

Справочное руководство

Свойство Bound
Свойство Order (Visual FoxPro)
Свойство RecordSourceType
Свойство Value

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


ConversionFunc Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ConversionFunc
Смотрите также
CollapseAll image

Указывает разделенный запятыми список пар поле - имя функции, при этом внутри пары имена отделены друг от друга пробелом. Read/write как в design, так и в run time.

Note Замечание

ConversionFunc применяется только при автоматическом обновлении. ConversionFunc не оценивается в design time.

Используйте функцию ConversionFunc для указания родных функций Visual FoxPro или пользовательских функций конверсии, которые могут быть применены к одному или нескольким полям курсора, перед посылкой данных, содержащихся в них, источнику данных посредством операций обновления, вставки или удаления. Реальные величины, посылаемые источнику данных представляют собой значения, возвращенные функциями преобразования, ассоциированными с каждым конкретным полем.

CursorAdapter.ConversionFunc [ = 'cFieldName1 cFuncName1 [, cFieldName2 cFuncName2 ]...' ]

Expand image Возвращаемое значение

cFieldName

Указывает имя поля.

cFuncName

Указывает имя функции, которая принимает значение, хранящееся в поле, в качестве первого параметра. Указанная функция или метод должны акцептировать ассоциированное имя поля в качестве единственного параметра.

Note Замечание

Не включайте круглые скобки в конце имени функции или метода.

Expand image Примечания

Применяется к классу: CursorAdapter

Если локальный курсор содержит символьные поля, которые используются как часть опции WHERE для автоматической генерации команды обновления, источник данных может потребовать, чтобы из содержимого были удалены хвостовые пробелы для обеспечения точно соответствия с источником данных. В приведенном ниже примере показано, как удалить такие пробелы:

CopyCode image Скопировать код
CursorAdapter.ConversionFunc = "companyname TRIM, contactname TRIM"

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Count Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Count (Visual FoxPro)
Смотрите также
CollapseAll image

Содержит число предметов в коллекции, например, проект, файл, или серверные объекты в коллекциях проектов, файлов или серверов. Read-only как в design, так и в run time.

Object.Count

Expand image Возвращаемое значение

Целочисленная величина

Expand image Примечания

Применяется к: коллекция Files (Visual FoxPro) | коллекция Projects (Visual FoxPro) | коллекция Servers | класс Collection

Для коллекции проектов свойство Count будет иметь значение, равное нулю, если не существует ни одной инстанции Project Manager'а. Для коллекций файлов или серверов свойство Count также будет содержать значение равное нулю, если ни файлов, ни серверов не существует в коллекциях файлов или серверов.

Вы можете использовать свойство Count для получения числа предметов в коллекции. Однако, вы не можете вручную изменить значения свойства Count, кроме как с помощью использования методов коллекции Add и Remove. Объекты коллекции имеют свои собственные методы Add и Remove, которые мы можете использовать для управления предметами коллекции.

Вы должны использовать значение свойства Count для определения числа предметов в коллекции, когда перебираете предметы коллекции с помощью FOR...ENDFOR или при ссылке на индивидуальные предметы с помощью метода Item.

Count поддерживают метод Access, но поскольку свойство Count является свойством "только для чтения", свойство не может поддерживать метод Assign.

Expand image Смотрите также

Справочное руководство

Метод Item (объект File)
Метод Add (объект File)
Метод Remove (объект File)
Метод Item (класс Collection)
Метод Add (класс Collection)
Метод Remove (класс Collection)
Команда FOR ... ENDFOR

Концепции

Методы Access и Assign

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CurrentControl Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство CurrentControl
Смотрите также
CollapseAll image

Указывает элемент управления в объекте Column , который используется для отображения значений активной ячейки. Доступно на этапе разработки,чтения/записи на этапе выполнения. .

Column.CurrentControl[ = cName]

Expand image Возвращаемое значение

cName

Задает имя элемента управления, который отображает и принимает данные, предназначенные для активной ячейки в объекте Column.

Expand image Примечания

Применимо к: Column Object

По умолчанию используется элемент управления TextBox, у которого свойство Name имеет значение Text1. Для добавления других элементов управления используйте метод AddObject.

Если свойство Sparse объекта Column имеет значение "истина" (.T.), то объект, указанный свойством CurrentControl будет использоваться только активной ячейкой объекта Column; остальные ячейки отображают данные, используя элемент управления TextBox. Если свойство Sparse имеет значение "ложь" (.F.), все ячейки объекта Column используют для отображения данных свойства CurrentControl.

Note Note

Вы можете с помощью метода AddObject включить в объект Column неограниченное число элементов управления. Однако свойство CurrentControl можно установить только для одного элемента управления в каждый момент времени.

Expand image Смотрите также

Справочное руководство

Метод AddObject
Свойство Bound
Метод RemoveObject
Свойство Sparse

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CurrentDataSession Property

Свойство CurrentDataSession
Смотрите также
CollapseAll image

Предоставляем ReportListener'у идентификатор сессии данных (datasession ID) отчета data во время исполнения команд LABEL или REPORT FORM. Эта сессия данных может быть частной сессией данных, открытой Report Engine для исполнения отчета, или сессией данных, используемой совместно с формой или приложением, которое выпустило эти команды.

ReportListener.CurrentDataSession

Expand image Возвращаемое значение

Целочисленный тип данных.

Значением по умолчанию является единица 1 (ID сессии данных по умолчанию).

Expand image Примечания

Применяется к объекту: ReportListener.

Если отчет открывает свои данные в частной сесси данных, Report Engine создает эту сессию после события LoadReport и до события BeforeReport. Частная сессия данных закрывается до события UnloadReport.

Для получения более подробной информации о том, когда родные компоненты Report System присваивают этого значения и прочих аттрибутах отчетной системы в начале и конце исполнения отчета, смотрите Понимание Visual FoxPro объектно-ассистированной системы отчетов.

Expand image Смотрите также

Задачи

Как: указать сессию данных отчета

Справочное руководство

Свойства, методы и события объекта ReportListener
Командна SET DATASESSION

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CurrentPass Property

CurrentPass, свойство
См. также
CollapseAll image

Данное свойство определяет текущий номер выполняемого запроса по обработке данных для рассматриваемого объекта Отчета в целях получения (вычисления) требуемых результирующих значений, например, общего количества Листов Отчета: _PAGETOTAL.

ReportListener.CurrentPass

Expand image Значение Свойства / Возвращаемое значение

Целого типа, Integer.

Expand image Комментарии

Применяется В: ReportListener, объект.

Объект типа ReportListener определяет значение другого свойства TwoPassProcess после выполнения События BeforeReport. В зависимости от этого устанавливается значение рассматриваемого свойства CurrentPass (или =0, или =1), смотрите ниже. В зависимости от значений указанных свойств Объекта Отчета выполняются соответствующие операции в следующем событии: BeforeBand.

Значение свойства CurrentPass также используется при выполнении стандартных команд Отчетов: LABEL / REPORT FORM. Значение рассматриваемого свойства не очищается во время выполнения текущего Отчета, поэтому вы можете определить, как выполнялся данный Отчет, за Один или Два прохода обработки Данных. В отличие от вышесказанного, значение свойства переопределяется: TwoPassProcess = .F., после завершения выполнения Отчета, выполняемый объект ReportListener по-прежнему предполагает значение = .T., поэтому вам требуется выполнять прямые команды восстановления начальных значений при повторном выполнении Отчета.

Дополнительную Информацию об использовании рассмотренных Свойств внутренними механизмами Подсистемы Отчетов (Report System) смотрите в следующем разделе: Основные понятия Объектно-Ассистированных Отчетов в Visual FoxPro.

В таблице приводятся допустимые значения для рассматриваемого свойства CurrentPass.

Значения | Краткое Описание
0 | Значение "по-умолчанию" при создании нового экземпляра Объекта ReportListener. Значение свойства вычисляется во время выполнения Объектом Отчета каждого Прохода обработки данных, количество которых определяется другим свойством объекта ReportListener (TwoPassProcess = .T.). Данное значение не изменяется в период от начала выполнения Отчета - до полного его Завершения в том случае, когда TwoPassProcess = .F..
1 | Данное значение указывает, что выполняется Второй, завершающий Проход обработки Данных Отчета, при этом предполагается, что: TwoPassProcess = .T..

Expand image См. также

Описание

TwoPassProcess, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


CurrentX, CurrentY Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства CurrentX, CurrentY
Смотрите также
CollapseAll image

Указывает горизонтальную (X) и вертикальную (Y) координаты для последующего метода рисования. Не доступно в design time; редактируемое в run time.

Object.CurrentX[ = nXCoord]
Object.CurrentY[ = nYCoord]

Expand image Возвращаемое значение

nXCoord

Указывает горизонтальную координату формы, в единицах измерения, определенных в свойстве ScaleMode формы.

nYCoord

Указывает вертикальную координату формы, в единицах измерения, определенных в свойстве ScaleMode формы.

Координаты измеряются с верхнего левого угла объекта. CurrentX равна 0 в верхнем углу объекта, а CurrentY равна 0 в его верхней точке. Координаты выражаются в foxels или в текущей единице измерения, определенной в свойстве ScaleMode.

При использовании перечисленных ниже графических методов, установки CurrentX и CurrentY изменяются так, как это показано ниже.

Метод | CurrentX, CurrentY установлен в
Box | Конечная точка бокса, как указано в двух последних аргументах.
Circle | Центр объета.
Cls | 0, 0.
Line | Конечная точка линии.
Print | Следующая позиция печати.
Pset | Нарисованная точка.

Expand image Примечания

Применяется к: Form | _SCREEN

Expand image Смотрите также

Справочное руководство

Метод Box
Метод Circle
Метод Cls
Свойство DrawMode
Свойство DrawStyle
Свойство Left (Visual FoxPro)
Метод Line Method
Метод PSet Method
Свойство ScaleMode
SYS(1270) - Object Location
Свойство Top (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CursorSchema Property

Visual FoxPro 9.0 Описание Языка
Свойство CursorSchema
См. также
CollapseAll image

Определяет структуру курсора, связанного с объектом CursorAdapter. Чтение/запись в режимах Design и RunTime.

Значение свойства CursorSchema - это, по существу, содержание, заключенное в круглых скобках в командах SQL CREATE TABLE и CREATE CURSOR. В версии Visual FoxPro 8.0, Вы можете определять CursorSchema для источника данных XML. В Версии Visual FoxPro 9.0, Вы можете определять данное свойство CursorSchema для источников данных типа XML, Native, ADO и ODBC.

Note Примечание

В версии Visual FoxPro 9.0, значение DEFAULT для таблиц и полей поддерживаются на уровне CHECK для источников данных XML, Native, ADO и ODBC. В версии Visual FoxPro 8.0, значение DEFAULT для таблиц и полей поддерживаются на уровне CHECK только для источника данных XML. Значения DEFAULT по ограничениям CHECK могут применяться при загрузке курсора посредством метода CursorFill, где задается параметр lUseSchema = True (.T.).

Visual FoxPro использует свойство CursorSchema в режиме Design для определения структуры курсора данных, размещаемого при помощи Дизайнера Data Environment . Visual FoxPro, в режиме RunTime, использует CursorSchema при выполнении метода CursorFill.

Note Примечание

Вы должны проверить соответствие значения свойства CursorSchema с картой данных (структурой курсора) в соответствующем режиме работы (Design / RunTime).

CursorAdapter.CursorSchema [ = cList ]

Expand image Возвращаемое значение

cList

Символьного типа.и Параметр cList определяет текстовую строку или символьное выражение, представляющее собой перечисление (через запятую) групп: имя_поля тип_поля (размер).

Например:

CopyCode image Копировать Код
CursorAdapter.CursorSchema = ;
"col1 I, col2 Character(25), col3 M, col4 Currency, col5 n(12,3)"

Дополнительно см. раздел: Команда CREATE CURSOR - SQL .

Если CursorSchema - пустая строка, или = (.NULL.), Visual FoxPro использует источник данных в объекте CursorAdapter для определения структуры курсора.

Expand image Комментарии

Применяется в: Класс CursorAdapter

Если значение параметра lUseCursorSchema в методе CursorFill = True (.T.), или Вы добавляете курсор, основанный на объекте CursorAdapter, в Дизайнере Data Environment, то объект CursorAdapter использует значение данного свойства CursorSchema как шаблон построения и загрузки курсора в методе CursorFill.

Для источников данных типа ADO, свойство CursorSchema поддерживается соответствующим механизмом ADO. См. дополнительно раздел Data Type Conversion Control.

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы и События
Метод CursorFill

Другие ссылки

Свойства (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


CursorSource Property

Visual FoxPro 9.0 Описание Языка
Свойство CursorSource
См. также
CollapseAll image

Определяет имя таблицы или представления (view), для которого создан объект Cursor. "Только-чтение" - в режиме Design; изменяемое - в режиме RunTime.

DataEnvironment.Cursor.CursorSource[ = cText]

Expand image Возвращаемое значение

cText

Для представления (view) - определяет имя представления в базе данных. Для таблицы из базы данных - определяет полное (длинное) имя таблицы; для "свободных" таблиц - определяет полный путь к файлу таблицы (полное имя файла).

Expand image Комментарии

Применяется в: Объект Cursor

Expand image См. также

Описание

Свойство Database
Функция CURSORGETPROP( )
Функция CURSORSETPROP( )

Другие ссылки

Свойства (Visual FoxPro)
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


CursorStatus Property

Visual FoxPro 9.0 Описание Языка
Свойство CursorStatus
См. также
CollapseAll image

Определяет состояние связи объекта CursorAdapter относительно источника, указанного в свойстве Alias, как соединен, и как подсоединен. Система Visual FoxPro запрашивает свойство CursorStatus для определения текущего состояния объекта CursorAdapter относительно соответствующего источника данных. Только-для- Чтения.

CursorAdapter.CursorStatus [ = nValue ]

Expand image Возвращаемое значение

nValue

Числового типа. В следующей таблице представлены возможные значения nValue.

nValue Описание

0

CursorAdapter <Alias> неподсоединен. (по-умолчанию)

1

CursorAdapter <Alias> подсоединен через выполнение метода CursorFill.

2

CursorAdapter <Alias> подсоединен через метод CursorAttach.

Expand image Комментарии

Применяется в: Класс CursorAdapter

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы и События
Свойство Alias
Метод CursorFill
Метод CursorAttach

Другие ссылки

Свойства (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Curvature Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Curvature
Смотрите также Пример
CollapseAll image

Определяет скругление углов элемента управления Shape. Доступно как в design, так и в run time.

Shape.Curvature[ = nCurve]

Expand image Возвращаемое значение

nCurve

Установками для свойства Curvature являются:

Установка Описание

0

Скругления не производится, создаются квадратные углы.

1 through 98

Определяет прогрессивно скругленные углы. Большее число увеличивает скругление.

99

Определяет максимальное скругление и создает круг или эллипс.

Expand image Примечания

Применяется к: Shape Control

Expand image Пример

Приведенный ниже пример показывает, как свойство Curvature может быть использовано для создание на форме кругов, эллипсов или квадратов.

Создается форма и на нее помещаются радио-кнопки и командная кнопка. Когда вы щелкаете по одной и радио-кнопок, тогда на форме отображается соответствующая фигура. Свойства Height, Width и Curvature определяют тип каждой создаваемой фигуры (круг, эллипс или квадрат). Свойство Curvature устанавливается в 99 для создания круга и эллипса.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')  && Создается форма
frmMyForm.Closable = .F.  && Блокируется меню контрольного блока формы

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Добавляется командная кнопка
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Добавляется Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Добавляется Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Добавляется Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')  && Добавляется Box Shape

frmMyForm.cmdCommand1.Visible =.T.  && Показывает кнопку "Quit"

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Устанавливается ширина Option group
frmMyForm.opgOptionGroup1.Visible = .T.  && Показывает Option Group
frmMyForm.opgOptionGroup1.Click  && Показывает круг

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Создаем Option Group
   ButtonCount = 3  && в группе три кнопки
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && Прячем круг
      ThisForm.shpEllipse1.Visible = .F.  && Прячем эллипс
      ThisForm.shpSquare.Visible = .F.  && Прячем квадрат

      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Показываем круг
         CASE ThisForm.opgOptionGroup1.Value = 2
            ThisForm.shpEllipse1.Visible = .T.  && Показываем эллипс
         CASE ThisForm.opgOptionGroup1.Value = 3
            ThisForm.shpSquare.Visible = .T.  && Показываем квадрат
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit'  && Устанавливает ее заголовок
   Cancel = .T.  && Делаем ее кнопкой выхода по (Esc)
   Left = 125
   Top = 210
   Height = 25

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем обработку событий, закрываем форму
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Создаем круг
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Создаем эллипс
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Создаем квадрат
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда DEFINE CLASS
Команда DO CASE ... ENDCASE
Свойства, методы и события элемента управления Shape

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Database Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Database
Смотрите также
CollapseAll image

Задает путь к базе данных, которая содержит таблицу или представление, связанное с объектом Cursor или CursorAdapter. Доступно только для чтения на этапе разработки и для чтения-записи на этапе выполнения.

Note Note

When you access a regular cursor using the CURSORSETPROP() function, the Database property is read-only at run time.

DataEnvironment.Cursor.Database [ = cPath ]

Expand image Возвращаемое значение

cPath

Задает полный путь к файлу базы данных (.dbc).

Expand image Примечания

Применимо к: Cursor Object

Если объект Cursor базируется на свободной таблице, свойство Database возвращает пустую строку ("").

Expand image Смотрите также

Справочное руководство

Свойство CursorSource
Функция CURSORSETPROP( )
Язык Манипулирования Базой Данных

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DataEnvironment Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DataEnvironment
Смотрите также
CollapseAll image

Предоставляет ссылку на окружение данных объекта. Только для чтения как в design, так и в run time.

Object.DataEnvironment

Expand image Примечания

Применяется к: Form Object | FormSet Object

Expand image Смотрите также

Справочное руководство

Объект DataEnvironment
Свойства, методы и события объекта DataEnvironment

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataSession Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DataSession
Смотрите также
CollapseAll image

Определяет, может ли объект выполняться в собственном сеансе и иметь уникальную среду данных. Доступно на этапе проектирования; чтение-запись на этапе выполнения.

Object.DataSession[ = nSession]

Expand image Возвращаемое значение

nSession

Задает числовое значение для свойства DataSession. В следующей таблице представлены возможные значения nSession.

Установка Описание

1

Сеанс, действующий по умолчанию. (По умолчанию, исключение для объекта Session)

2

Приватная сесия данных. Для каждого создаваемого экземпляра создается новый сеанс данных. (Поумолчанию для объекта Session.)

Expand image Примечания

Применимо к: Form Object | FormSet Object | _SCREEN System Variable | Session Object | ToolBar Object

Expand image Смотрите также

Справочное руководство

Свойство DataSessionID
Команда SET DATASESSION

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DataSessionID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DataSessionID
Смотрите также
CollapseAll image

Возвращает идентификатор сессии данных ID, который идентифицирует частную сессию данных для объекта. Только для чтения в design time; read/write в run time.

Если свойство DataSession объекта установлено в значение 1 (Default Data Session), возвращается идентификатор сессии данных, используемой по умолчанию.

Object.DataSessionID

Expand image Примечания

Применяется к: Form Object | FormSet Object | _SCREEN System Variable | Session Object | ToolBar Object

Доступно только в том случае, когда свойство DataSession объекта установлено в значение 2 (Private data session).

Вы можете использовать SET DATASESSION со свойством DataSessionID для изменения сессий данных.

Когда вы установите значение DataSessionID, то установка имеет влияние на рабочую сессию данных объекта. Свойство DataSessionID не оказывает влияния на объекты, которые вы создали с помощью CREATEOBJECT( ).

Изменение свойства DataSessionID увеличивает или уменьшает счетчик ссылок на сессии данных. Однако, если вы создаете сессию данных с помощью установки свойства DataSession в значение равное 2 (Private data session), то такое изменение свойства DataSessionID не высвобождает начальную сессию данных. В таком случае, объект должен быть удален из памяти, для высвобождения начальной сессии данных.

Для получения более подробной информации о множественных сессиях данных смотрите описание Программирование для совместного доступа.

Caution note Предупреждение

Изменение свойства DataSessionID объекта, который содержит элементы управления, привязанные к данных, приведет к потере оригинальных источников данных у таких элементов. В общем случае, используйте DataSessionID на объектах, которые не содержат элементов управления привязанных к данным. (Примечание переводчика. Последнее утверждение некорректно. Смотрите форум русского FoxClub'а где вы найдете немало вариантов работы с разными сессиями данных).

Expand image Смотрите также

Справочное руководство

Функция CREATEOBJECT()
Свойство DataSession
Команда SET DATASESSION

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataSource Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DataSource (Visual FoxPro)
Смотрите также
CollapseAll image

Указывает источник данных для использования объектами DataEnvironment и CursorAdapter. Свойство DataSourceType объекта DataEnvironment или CursorAdapter определяет значение соответствующего свойства DataSource. "Только для чтения" как в design, так и в run time. Имеется две версии синтаксиса.

DataEnvironment.DataSource [= DataSource]
CursorAdapter.DataSource [= DataSource]

Expand image Возвращаемое значение

DataSource

Указывает ссылку на существующий источник данных разрешенных типов источника данных. DataSource действует только как указательна реальный источник данных, который должен существовать в run time.

В приведенной ниже таблице перечислены значения для DataSource, которые зависят от значения свойства DataSourceType.

DataSource DataSourceType

Ссылка на действительный объект ActiveX Data Object (ADO) RecordSet

"ADO"

Положительное целое число, которое представляет действительный дескриптор соединения Open Database Connectivity (ODBC) или переменная памяти, которая содержит этот дескриптор

"ODBC"

Сбрасывается.

"Native", "XML", null (.NULL.) или пустая строка ("")

Expand image Примечания

Применяется к: классу CursorAdapter | объекту DataEnvironment

Когда для CursorAdapter свойство DataSourceType представляет собой "Native", указание для объекта CursorAdapter свойства DataSource не требуется, так как курсор, возвращаемый свойством SelectCmd объекта CursorAdapter представляет собой источник данных, используемого по умолчанию типа. Имя возвращаемого курсора определяется свойством Alias объекта CursorAdapter, которое устанавливается методом CursorFill.

Если у объекта CursorAdapter свойства InsertCmdDataSourceType, UpdateCmdDataSourceType и DeleteCmdDataSourceType не заполненны, то свойство DataSource объекта CursorAdapter перерисывает значения свойств InsertCmdDataSource, UpdateCmdDataSource и DeleteCmdDataSource.

Если свойство UseDeDataSource объекта CursorAdapter установлено в True (.T.), то свойства DataSource и DataSourceType объекта DataEnvironment переписывают одноименные свойства объекта CursorAdapter.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта DataEnvironment
Свойства, методы и события объекта CursorAdapter
Свойство DEClass
Свойство DataSourceType

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DataSourceType
Смотрите также
CollapseAll image

Указывает тип источника данных в свойстве DataSource объекта DataEnvironment или CursorAdapter. Свойство DataSourceType объекта DataEnvironment или CursorAdapter DataSourceType определяет значение соответствующего свойства DataSource. Read-only в design time и read/write в run time. Имеется две версии синтаксиса.

DataEnvironment.DataSourceType [= cDataSourceType]
CursorAdapter.DataSourceType [= cDataSourceType]

Expand image Возвращаемое значение

cDataSourceType

Символьный тип данных. Параметр cDataSourceType указывает символьную строку, описывающую тип источника данных, источника данных используемого Dataenvironment или курсором-адаптером.

В приведенной ниже таблице перечислены значения для cDataSourceType.

DataSourceType DataSource

"ADO"

Ссылка на действительный объект ActiveX Data Object (ADO) RecordSet или объект Command.

"ODBC"

Действительный дескриптор соединения Open Database Connectivity (ODBC)

"Native", "XML", null (.NULL.), or empty string ("")

Сбрасывается

Expand image Примечания

Применяется к: CursorAdapter Class | DataEnvironment Object

Вы не можете использовать локальные или удаленные представлетя в качестве источника типа "Native" для объектов CursorAdapter, но вы можете прикрепить их с пмощью метода CursorAttach.

DataSourceType объекта DataEnvironment не указывается в design time, когда окружение данных не определяет источник данных.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта DataEnvironment
Свойства, методы и события объекта CursorAdapter
Свойство DEClass
Свойство DataSource (Visual FoxPro)
Метод CursorAttach

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DataType
Смотрите также
CollapseAll image

Указывает тип данных Visual FoxPro для поля в XML документе.

XMLField.DataType

Expand image Возвращаемое значение

Символьный тип данных (C(1)). Свойство DataType содержит имя типа данных Visual FoxPro для объекта XMLField.

Expand image Примечания

Применяется к классу: XMLField

Когда свойство DataType установлено в тип Blob или Varbinary, свойства объекта XMLField IsBinary и NoCpTrans автоматически устанавливаются в True (.T.), а свойство объекта XMLField DisableEncode устанавливается в False (.F.). Изменение этих свойств не может быть выполнено в случае, когда свойство объекта XMLField DataType установлено в Blob или Varbinary.

Для получения более подробной информации о разметке типов данных между Visual FoxPro и XML смотрите описание Разметка типов данных между Visual FoxPro м XML Schema.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DateFormat Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DateFormat
Смотрите также
CollapseAll image

Определяет формат для значений типа Date и DateTime, отображенных в элементе управления TextBox. Доступно на этапе разработки и во время выполнения.

Object.DateFormat[ = nValue]

Expand image Возвращаемое значение

nValue

Предусмотрены следующие установки:

Установка Описание Формат

0

(По умолчанию) Формат отображаемой даты определяется установкой SET DATE.

определяется установкой SET DATE

1

American

mm/dd/yy

2

ANSI

yy.mm.dd

3

British

dd/mm/yy

4

Italian

dd-mm-yy

5

French

dd/mm/yy

6

German

dd.mm.yy

7

Japan

yy/mm/dd

8

Taiwan

yy/mm/dd

9

USA

mm-dd-yy

10

MDY

mm/dd/yy

11

DMY

dd/mm/yy

12

YMD

yy/mm/dd

13

Short

Определяется настройкой Краткого формата даты панели управления Windows

14

Long

Определяется настройкой Полного формата даты панели управления Windows

Expand image Замечания

Применяется к: TextBox Control (Visual FoxPro)

Данные типа Date или DateTime, выводимые в элементе управления TextBox могут быть отображены в различных форматах. Некоторые региональные установки Краткого и Полного формата даты, определенные в панели управления Windows могут не соответствовать допустимым форматам Visual FoxPro и не отображаться в заданном по умолчанию формате.

Установки YS, YL, E, или D свойства Format отменяют установку свойства DateFormat.

Expand image Смотрите также

Справочное руководство

Century, свойство
DateMark, свойство
Hours, свойство
Seconds, свойство
SET DATE, команда
StrictDateEntry, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


DateMark Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DateMark
Смотрите также
CollapseAll image

Определяет разделитель для значений Date и DateTime, отображаемых в текстовом поле. Доступный на этапе проектирования и выполнения.

Object.DateMark[ = cDateMarkCharacter]

Expand image Возвращаемое значение

cDateMarkCharacter

Определяет разделитель значения Date и DateTime. Если cDateMarkCharacter пустая строка, разделитель определен установкой SET MARK. Если cDateMarkCharacter пробел, разделитель для текущей установки текстового поля используються свойство DateFormat.

В окне Properties, используйте команду = для определения пустой строки (= "") или пробел (= " ") для свойства DateMark.

Expand image Примечание

Применимо к: Элемент управления TextBox (Visual FoxPro)

Установка свойства DateMark игнорируется если свойство DateFormat установлено Short или Long.

Expand image Смотрите также

Справочное руководство

Свойство Century
Свойство DateFormat
Свойство Hours
Свойство Seconds
Команда SET MARK TO
Свойство StrictDateEntry

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Debug Property (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Debug Свойство (Visual FoxPro)
См. также

Определяет, включается ли отладочная информация в компилированный код проекта.

Объект.Debug[ = l-выражение]

Возвращаемое значение

l-выражение

Устанавливает следующие значения свойства Debug:

Значение Описание

Да
(.T.)

(по-умолчанию) Отладочная информация включается в компилированный код.

Нет
(.F.)

Отладочная информация не включается в компилированный код, что не позволяет
использовать окно Trace или использовать функцию MESSAGE(1) для определения номера строки в исходном коде программы, где произошла ошибка. Данная установка аналогична включению опции NODEBUG команды COMPILE.

Комментарии

Применяется: Объект Project

Исходный код проекта программы (.prg) и форматные файлы, исходный код форм, меток, отчетов, а также библиотек визуальных классов и внутренних процедур в Базах Данных (SP). Свойство Debug устанавливается соответствующим блоком переключения (Debuginfo check box) в закладке Project диалогового бокса Project Information

См. также

Другие ссылки

COMPILE команда
Project Information Dialog Box
Свойства
Описание Языка

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DeclareXMLPrefix Property

Visual FoxPro 9.0
Свойство DeclareXMLPrefix
Смотрите также

Определяет, будет ли объект XMLAdapter декларировать свойство XMLPrefix для объекта вовлеченного в разбор. Редактируемое в design и run time.

XMLAdapter.DeclareXMLPrefix = lValue

Возвращаемое значение

lValue

Логический тип данных. Приведенная ниже таблица перечисляет значения для lValue.

lValue Описание

False (.F.)

(По умолчанию) СвойствоXML namespace prefix не декларируется.

True (.T.)

Свойство XMLPrefix декларировано для объекта.

Примечания

Применяется к: классу XMLTable | классу XMLTable

Если вы желаете, чтобы объект XMLAdapter декларировал префиксы для объектов, вовлеченных в разбор, установите свойство DeclareXMLPrefix в дополнение к установке свойств XMLNamespace и XMLPrefix. Если свойство RespectNesting установлено в .T., то в разбор XML будут вовлечены объекты: XMLAdapter, целевой объект XMLTable и его предки.

Если оба свойства - либо XMLNamespace, либо XMLPrefix пусты, свойство DeclareXMLPrefix игнорируется.

Если вы желаете декларировать пространство имен для операций разбора, укажите XMLNamespace с помощью свойства XMLPrefix свойстве SelectionNamespaces.

Смотрите также

Справочное руководство

Свойство XMLNamespace
Свойство XMLPrefix
Свойство SelectionNamespaces

Прочие ресурсы

Свойства

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


DEClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DEClass
Смотри также Пример

Указывает имя класса DataEnvironment, используемого при вводе объекта DataEnvironment в форму. Редактируемое (Read/write)в design-time и "только для чтения" в run-time.

В design time, DEClass позволяет вам указать класс DataEnvironment из библиотеки классов, определенной в свойстве DEClassLibrary.

Form.DEClass [= cClassName]

Возвращаемое значение

cClassName

Символьный тип данных. Параметр cClassName указывает одно из перечисленного ниже:

  • Имя класа в программном файле (.prg)
  • Имя невизуального класса в файле библиотеки классов (.vcx)

Примечания

Применяется к объекту Form

Visual FoxPro поддерживает DEClass и DEClassLibrary для форм (.scx), библиотек визуальных классов (.vcx), и программных файлов (.prg), но не для объектов FormSet, а также не поддерживается в дизайнере отчетов.

Visual FoxPro создает инстанцию объекта DataEnvironment из класса, определенного в свойстве DEClass и связанной с ним и определенной в свойстве DEClassLibrary библиотеки классов при перечисленных ниже условиях:

  • DEClass определяет класс DataEnvironment в design-time в окне "Properties" для формы.

  • DEClass определяет класс DataEnvironment, при программном создании формы.

Когда форма создана, Visual FoxPro использует указанный класс DataEnvironment для создания объекта DataEnvironment. Если вы установили значение для свойства DEClassLibrary, но не установили для DEClass, или, если класс DataEnvironment представляет собой неверный тип или не существует в указанной библиотеке классов, Visual FoxPro генерирует соответствующее сообщение.

Вы можете установить значения свойств DEClass и DEClassLibrary с помощью окна "Properties" в дизайнере форм, в классе формы, или в определения класса в программном файле (.prg). Visual FoxPro отображает свойства DEClass и DEClassLibrary в окне "Properties" как "только для чтения". Однако, щелчок на кнопке выбора (...) в окне "Properties" отобразит диалоговый блок "Open", так что вы сможете выбрать желаемый программный файл (.prg) или, если класс имеется в библиотеке - файл библиотеки классов (.vcx).

Вы можете также использовать функцию ASELOBJ( ) для сохранения объектной ссылки в массиве, для индивидуальной установки свойств объекта. Однако, если вы установите только одно из свойств - DEClass или DEClassLibrary, Visual FoxPro сбросит установки для этих свойств и будет использовать класс DataEnvironment, определенный для использования по умолчанию. Вы должны определить значения для обоих свойств.

Замечание:
Когда установки свойств DEClass и DEClassLibrary используются в коде или в функции ASELOBJ( ), вы должны установить значение для свойства DEClassLibrary до установки значения для свойства DEClass.

Когда вы открываете дизайнер Data Environment вызовом из контекстного меню формы происходит следующее:

  • Класс DataEnvironment, содержащий объекты Cursor

    Если вложенные в контейнер курсор или курсоры ссылаются на несуществующую таблицу или удаленное представление, таблицы и представления, помещенные на поверхность дизайнера Data Environment получают признак "только для чтения". Вы можете перетащить и бросить поля или таблицы на поверхность формы в дизайнере форм, если перечисленные ниже свойства отвечают определенным требованиям:

    • CursorSource (Требуемое) Имя таблицы и путь, если таблица является свободной; только имя таблицы, если таблица содержится в контейнере базы данных (DBC).

    • Database (Необязательное) Имя и путь для контейнера DBC заполняется автоматически, если мы имеем дело с таблицей или представлением, являющимися членами базы данных.

    • Alias (Необязательное) Псевдоимя, присвоенное таблице, если имя должно отличаться от имени таблицы. В противном случае, по умолчанию, псевдоимя совпадает с именем, указанном в свойстве CursorSource.

    Если класс DataEnvironment содержит объект Cursor, но курсор не содержит действительной ссылки на таблицу или представление, дизайнер Data Environment просто не открывается. Visual FoxPro загружает data environment после генерации соответствующего сообщения.

    Если класс DataEnvironment содержит множество объектов Cursor, то на повержность дизайнера Data Environment будут помещены только те из них, которые имеют ссылки на действительные таблицы или представления. Курсоры, которые не содержат действительных ссылок на таблицы и представления сбрасываются.

    Если курсор ссылается на базу данных DBC, но курсор не имеет ссылки на действительную таблицу или представление в этой базе данных, Visual FoxPro загружает data environment после генерации соответствующего сообщения.

    Если класс DataEnvironment не содержит объекта Cursor, дизайнер Data Environment не открывается и Visual FoxPro генерирует соответствующее сообщение.

    Когда вы перетаскиваете файл таблицы (.dbf) из папки на форму, в момент, когда открыт data environment, не созданный из класса DataEnvironment, Visual FoxPro автоматически добавляет таблицу в data environment. Однако, если отрытый data environment основывается на классе DataEnvironment, data environment получает признак - "только для чтения" и добавления таблицы в data environment не происходит.

  • Класс DataEnvironment содержащий объекты CursorAdapter

    Если класс DataEnvironment содержит объект CursorAdapter, то этот объект должен отвечать перечисленным ниже требованиям, чтобы появиться на поверхности дизайнера Data Environment:

    • Свойство CursorSchema объекта CursorAdapter определено и установлено в корректное значение.

    • Свойство Alias объекта CursorAdapter определено.

    Замечание:
    Если указанные условия соблюдены, курсор-адаптер покажется на поверхности дизайнера Data Environment с установленным признаком "только для чтения". Вы можете перетаскивать и бросать на форму таблицы и поля. Свойства, методы и события data environment и любых, содержащихся в нем объектов CursorAdapter имеют установленным признак - "только для чтения".

    Дизайнер Data Environment Designer не открывается в случае выполнения любого из перечисленных ниже условий:

    • Класс DataEnvironment содержит объект CursorAdapter, но курсор-адаптер не содержит действительных данных в свойстве CursorSchema.

    • Инстанция объекта CursorAdapter не создается по какой-то причине.

Для редактирования класса DataEnvironment вы можете закрыть дизайнер формы, высвободить любые классы, находящиеся в использовании, отредактировать и перекомпилировать класс DataEnvironment в файле, определенном в свойстве DEClassLibrary и вернуться в дизайнер форм.

Когда свойства DEClass и DEClassLibrary установлены, запуск формы создает и загружает data environment из указанного класса DataEnvironment. Для установки свойств DEClass и DEClassLibrary в run time, вы должны использовать программный код.

Если вы пытаетесь конвертировать форму в набор форм в design time, когда открыт дизайнер форм, и свойства DEClass и DEClassLibrary определены для формы, Visual FoxPro генерирует соответствующее сообщение. Если в дизайнере форм открыт набор форм, и вы пытаетесь ввести в набор форму, для которой в design-time установлены свойства DEClass и DEClassLibrary, Visual FoxPro генерирует соответствующее сообщение и делает свойства DEClass и DEClassLibrary недоступными. Если вы пытаетесь добавить форму, свойства DEClass и DEClassLibrary которой установлены в run time, Visual FoxPro сбрасывает DEClass и DEClassLibrary и не загружает data environment указанного класса.

DEClass и DEClassLibrary поддерживают области видимости Public, Hidden и Protected.

DEClass и DEClassLibrary не поддерживают методы Access и Assign.

В субклассированной форме, DEClass и DEClassLibrary наследуют как в нормальной форме.

Пример

Приведенный ниже пример создает класс Form и, затем, устанавливает свойства DEClassLibrary и DEClass на внешний класс DataEnvironment и содержащую его библиотеку.
Скопировать код
DEFINE CLASS form1 as Form
   DEClassLibrary="MyProgram.prg"
   DEClass="MyDE"
ENDDEFINE

Смотри также

Прочие ресурсы

Свойства, методы и события объекта Form
Свойство DEClassLibrary
Методы Access и Assign
Команда PUBLIC
Защита и скрытие членов класса
Объект DataEnvironment
Свойства
Справочное руководство

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


DEClassLibrary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DEClassLibrary
Смотрите также Пример
CollapseAll image

Указывает имя программного файла (.prg) или файла библиотеки визуальных классов(.vcx), который содержит класс DataEnvironment, указанный в свойстве DEClass. Read/write в design time и read-only в run time.

Form.DEClassLibrary [= cClassLibraryName]

Expand image Возвращаемое значение

cClassLibraryName

Символьный тип данных. Параметр cClassLibraryName определяет одно из приведенного ниже:

  • Имя файла программы (.prg)

  • Имя файла библиотеки визуальных классов (.vcx)

Expand image Примечания

Применяется к: Form Object

Для получения более подробной информации смотрите описание свойства DEClass.

Expand image Пример

Приведенный ниже пример создает класс формы (Form) и устанавливает свойства DEClassLibrary и DEClass для указания внешнего класса DataEnvironment и содержащей его библиотеки классов.
CopyCode image Скопировать код
DEFINE CLASS form1 as Form
   DEClassLibrary="MyProgram.prg"
   DEClass="MyDE"
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Form
Команда PUBLIC
Объект DataEnvironment

Концепции

Методы Access и Assign
Защита и сокрытие членов класса

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Default Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Default
Смотрите также
CollapseAll image

Определяет - какая командная кнопка или элемент управления OLE Container будет отвечать на нажатие клавиши ENTER в случае, когда на активной форме расположены две или более командных кнопок. Доступно как в design time, так и в run time.

Object.Default[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства Default являются:

Установка Описание

True (.T.)

Когда свойство Default командной кнопки установлено в True (.T.) и ее родительская форма является активной, пользователь может исполнить команду кнопки нажатием клавиши ENTER. (Если фокус находится в элементе управления editbox, пользователь может нажать CTRL+ENTER.) Если KEYCOMP установлено в WINDOWS, команда кнопки по умолчанию не исполняется, если фокус перемещен на другую командную кнопку. В этом случае, нажатие ENTER воздействует на кнопку, имеющую фокус вместо кнопки, для которой это свойство установлено True (.T.).

False (.F.)

(По умолчанию) Кнопка не является кнопкой по умолчанию.

Expand image Примечания

Применяется к: CommandButton Control | OLE Container Control

Свойство Default применяется только к тем элементам управления OLE Container, которые содержать элемент управления ActiveX (.ocx) действующий как "Acts like a Button" .

Только одна командная кнопка или элемент управления OLE Container формы могут быть установлено в качестве кнопок по умолчанию. Когда свойство Default установлено в true (.T.) для одной командной кнопки или для элемента управления OLE Container, то одноименное свойство всех прочих командных кнопок или элементов управления OLE Container автоматически устанавливается в false (.F.). Вы не можете создать кнопку по умолчанию или аналогичный элемент управления OLE Container в панели инструментов.

Expand image Смотрите также

Справочное руководство

Свойство Enabled (Visual FoxPro)
Событие KeyPress

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DefaultFilePath Property

Visual FoxPro 9.0 Справочное руководство по языку
DefaultFilePath свойство
Смотрите также

Определяет заданный по умолчанию диск и каталог, используемый объектом Application. Доступно во время выполнения.

ApplicationObject.DefaultFilePath[ = cPath]

Возвращаемое значение

cPath

Определяет одно из следующих:
  • Идентификатор дисковода.

  • Идентификатор дисковода с именем каталога.

  • Имя подкаталога.

  • Any of the above using MS-DOS® shorthand notation ( \ or ..).

Замечания

Применяется к: Application Object | _VFP System Variable

Свойство DefaultFilePath подобно SET DEFAULT.

Visual FoxPro ищет файл в заданном по умолчанию каталоге Visual FoxPro. Каталог по умолчанию - тот, с которого Вы запускаете Visual FoxPro. Однако, Вы можете использовать DefaultFilePath свойство, чтобы определить другой каталог по умолчанию. Если Visual FoxPro не может найти файл в каталоге по умолчанию, тогда Visual FoxPro, использует путь, определеный в SET PATH.

Смотрите также

Прочие ресурсы

SET DEFAULT команда
SET PATH команда
Свойства
Справочное руководство по языку
Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


DefOLELCID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DefOLELCID
Смотрите также
CollapseAll image

Определеяет используемое по умолчаниб значение OLE Locale ID для форм или главного окна Visual FoxPro. Доступно как в design time, так и в run time.

Form.DefOLELCID[ = nValue]

Expand image Возвращаемое значение

nValue

Определеяет используемое по умолчаниб значение OLE Locale ID для форм или главного окна Visual FoxPro. Это значение по умолчанию определеят значения Locale ID для элементов управления OLE Bound и OLE Container при их размещении на форме или в главном окне Visual FoxPro.

Expand image Примечания

Применяется к: Form Object | _SCREEN System Variable

Если значение по умолчанию OLE Locale ID для форм или главного окна Visual FoxPro изменено в новое значение, элементы управления OLE Bound и OLE Container помещенные на форму или в главном окне Visual FoxPro после присвоения нового значения по умолчанию Locale ID будут использовать это новое значение.

Если DefOLELCID установлено в ноль для формы или для главного окна Visual FoxPro, то значение по умолчанию Locale ID для элементов управленияOLE Bound и OLE Container, помещенных на форму или в в главном окне Visual FoxPro определяет установка SYS(3004) .

Смотрите описание SYS(3005) - Set Locale ID с целью изучения списка Locale IDs.

Замечание Замечание

Свойство DefOLELCID воздействует только на язык интерфейса пользователя, в котором отображаются элементы управления OLE, но не на язык команд автоматизации. На язык команд автоматизации влияет только Global LocaleID, устанавливаемый функией SYS(3005).

Expand image Смотрите также

Справочное руководство

Свойство OLELCID
SYS(3005) - Set Locale ID

Прочие ресурсы

Events (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DeleteCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DeleteCmd
Смотри также

Указывает команду, используемую для удаления строк. Редактируемое (Read/write)в design и run time.

CursorAdapter.DeleteCmd [ = cCommand ]

Возвращаемое значение

cCommand

Символьный тип данных. В приведенной ниже таблице перечислены возможные значения для DeleteCmd.

cCommand Описание

Символьная строка или выражение

Указывает действительную, корректную (valid) командную строеку для источника данных, определяемых свойством DeleteCmdDataSource.

Пустая строка ("")

Если свойство AllowDelete установлено в True (.T.), объект CursorAdapter автоматически сгенерирует команду SQL DELETE

Для получения подробной информации об автоматической генерации SQL команд, смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Примечания

Применяется к: классу CursorAdapter

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


DeleteCmdDataSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DeleteCmdDataSource
Смотри также

Указывает источник данных, используемый свойством DeleteCmd. Редактируемое (Read/write) в design и run time.

Замечание:
Свойство DeleteCmdDataSourceType объекта CursorAdapter определяет - как будет использовано свойство DeleteCmdDataSource.

CursorAdapter.DeleteCmdDataSource [ = cDataSource]

Возвращаемое значение

cDataSource

Символьный тип данных. Параметр cDataSource определяет источник данных, используемый свойством DeleteCmd.

Замечания

Применяется к: классу CursorAdapter

Приведенная ниже таблица описывает поведения, которые применяются к DeleteCmdDataSource в зависимости от значения свойства DeleteCmdDataSourceType.

DeleteCmdDataSourceType поведение DeleteCmdDataSource

Пустая строка ("")

Значение свойства DeleteCmdDataSource сбрасывается. Visual FoxPro, в этом случае, использует источник данных, указанный в свойстве DataSource объекта CursorAdapter.

Если курсор, связанный с объектом CursorAdapter основывается на ActiveX Data Object (ADO) RecordSet, Visual FoxPro использует функциональность ADO RecordSet для удаления записи. Для использования этой функциональности, убедитесь, что свойство DataSourceType объекта CursorAdapter установлено в значение "ADO".

"ADO"

Значение свойства DeleteCmdDataSource должно указывать на действительный объект ADO Command. В этом случае свойство ActiveConnection объекта ADO Command должно указывать на действительный и открытый объект ADO Connection.

Visual FoxPro устанавливает значение свойства CommandText объекта ADO Command равным значению, хранящемся в свойстве DeleteCmd объекта CursorAdapter. Visual FoxPro исследует команду на наличие параметров, создает значения параметров, если они были найдены и устнавливает их в объекте ADO Command.

Операция удаления производится с помощью вызова метода Execute:

Скопировать код
CursorAdapter.DeleteCmdDataSource.Execute()

Для получения подробной информации об использовании ADO RecordSet, автоматического обновления и автоматической генерации SQL команд смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


DeleteCmdDataSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DeleteCmdDataSourceType
Смотри также

Указывает тип источника данных для источника данных используемого свойством DeleteCmdDataSource. Редактируемое (Read/write) в design и run time.

CursorAdapter.DeleteCmdDataSourceType [= cDataSourceType]

Возвращаемое значение

cDataSourceType

Символьный тип данных. Параметр cDataSourceType определяет тип источника данных в свойстве DeleteCmdDataSource.

Замечания

Применяется к: классу CursorAdapter Class

Если значение свойства DeleteCmdDataSourceType установлено в пустую строку ("") или в null (.NULL.), Visual FoxPro сбрасывает свойство DeleteCmdDataSource объекта CursorAdapter и использует его свойства DataSource и DataSourceType.

Для генерации XML UpdateGram, вы должны установить значение свойства DeleteCmdDataSourceType в "XML".

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter
UpdateGram Property

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Свойство DeleteMark

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DeleteMark
Смотрите также
CollapseAll image

Определяет, будет ли в элементе управления Grid отображаться столбец маркеров удаления. Доступно на этапе разработки и выполнения.

Grid.DeleteMark[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства DeleteMark предусмотрены следующие установки:

Установки Описание

True (.T.)

(По умолчанию) Столбец маркеров удаления отображается в качестве самого левого столбца элемента управления Grid.

False (.F.)

Столбец маркеров удаления не отображается.

Expand image Примечания

Применимо к: єлемент управления Grid

С помощью столбца маркеров удаления пользователь может помечать записи на удаление. Для этого ему достаточно щелкнуть в столбце напротив удаляемой записи.

Expand image Смотрите также

Reference

Команда DELETE
Событие Deleted

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Description Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Description (Visual FoxPro)
Смотрите также
CollapseAll image

Для объекта File представляет собой описание файла. Для объекта Server представляет собой описание класса сервера. Доступно как в design time, так и в run time.

Object.Description[ = cExpression]

Expand image Возвращаемое значение

cExpression

Указывает описание для объекта File или Server .

Для объекта File, значение по умолчанию представляет собой пустую строку. Вы можете, кроме того, указать описание для файла в проекте выбором пункта Edit Description в меню Project.

Для объекта Server,значение по умолчанию представляет собой имя класса сервера. Вы можете, кроме того, указать описание для сервера на закладке Servers диалогового окна Project Information. Описание объекта Server, кроме того, появится для данного сервера в регистре.

Expand image Примечания

Применяется к: File Object (Visual FoxPro) | Server Object

Expand image Смотрите также

Справочное руководство

Свойство Name (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Desktop Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Desktop
Смотрите также
CollapseAll image

Определяет может ли форма появиться в любом месте рабочего стола Windows или она будет находиться в границах главного окна Visual FoxPro. Доступно в design time; "только для чтения" в run time.

Object.Desktop[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства Desktop являются:

Установка Описание

True (.T.)

Форма может располагаться в любом месте рабочего стола Windows.

False (.F.)

(По умолчанию) Форма находиться в границах главного окна Visual FoxPro.

Expand image Примечания

Применяется к: Form Object | _SCREEN System Variable

Свойство Desktop игнорируется, если свойство ShowWindow установлено в значение 2 – As Top-Level form.

Вы не должны использовать свойство Desktop при создании однодокументных Single Document Interface (SDI) в которых вы можете пожелать спрятать окно рабочего стола Visual FoxPro (_SCREEN). Вместо этого, установите значение свойства ShowWindow в 2 для создания формы верхнего уровня (top-level form).

Expand image Смотрите также

Справочное руководство

Свойство AlwaysOnBottom
Свойство AlwaysOnTop
Свойство AutoCenter
Свойство MaxHeight
Свойство MaxLeft
Свойство MaxTop
Свойство MaxWidth
Свойство MinHeight
Свойство MinWidth
Свойство ShowWindow

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Details Property

Visual FoxPro 9.0 Описание Языка
Details, свойство
См. также
CollapseAll image

Определяет дополнительный информационный Элемент, включаемый в текст Сообщения об Ошибке, который характеризует текущий Объект Исключения (Exception), содержащий скомпанованное сообщение Message. Чтение / Запись в режиме Run-Time.

Exception.Details

Expand image Возвращаемое значение

Символьного типа (Character). Details может быть = NULL, если дополнительный параметр Сообщения Отсутствует. В противном случае, данное свойство содержит реальное значение параметризованного Сообщения об Ошибке.

Expand image Комментарии

Применяется в: Класс Exception (Visual FoxPro)

Идентичнно Значению, возвращаемому системной функцией SYS(2018); и соответствует третьему (3-му) Элементу массива, создаваемому функцией AERROR().

Expand image См. также

Описание

Exception, объект; Свойства, Методы, События
Message, свойство
AERROR( ), функция
SYS(2018) - Реальный Параметр Сообщения об Ошибке
TRY...CATCH...FINALLY, команда

Концепции

Структурная Обработка Ошибок

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


DisabledBackColor, DisabledForeColor Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства DisabledBackColor, DisabledForeColor
Смотрите также
CollapseAll image

Задают цвет фона и основной цвет символов для недоступного элемента управления. Доступно для чтения и записи на этапе разработки и во время выполнения выполнения. Существует два варианта синтаксиса для установки каждого из свойств.

Control.DisabledBackColor[ = nColor]
Control.DisabledBackColor = RGB(nRedValue, nGreenValue, nBlueValue)
Control.DisabledForeColor[ = nColor]
Control.DisabledForeColor = RGB(nRedValue, nGreenValue, nBlueValue)

Expand image Возвращаемое значение

nColor

Задает число, определяющее цвет.

nRedValue, nGreenValue, nBlueValue

Задает три значения интенсивности для трех компонентов, составляющих цвет фона или основной цвет символов данного элемента управления; эти значения следует объединить с помощью функции RGB( ) в одно число.

Expand image Замечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | EditBox Control | Label Control (Visual FoxPro) | ListBox Control | OptionButton Control | Spinner Control | TextBox Control (Visual FoxPro)

Заданный вами цвет изображается с затенением серыми точками.

Note Примечание

В окне свойств вы можете, дважды щелкнув какое-либо цветовое свойство, отобразить диалоговое окно Color. В этом диалоговом окне можно выбирать и определять цвета. Значения интенсивности красного, зеленого и синего тонов, соответствующие выбранному цвету, принимаются в качестве установок этих свойств после закрытия диалогового окна Color.

По умолчанию свойства DisabledBackColor and DisabledForeColor принимают значения системных установок цвета или темы.

Если свойство Themes установлено в "Истину" (.T.), то установка значения свойства DisabledBackColor создает слой 35% прозрачности сверху кнопки с темой. Это создает окрашивающий эффект.

Expand image Смотрите также

Справочное руководство по языку

Свойства BackColor, ForeColor

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


DisabledItemBackColor, DisabledItemForeColor Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства DisabledItemBackColor, DisabledItemForeColor
Смотрите также
CollapseAll image

Задают цвет фона и основной цвет символов для недоступных элементов списка в элементе управления ComboBox или ListBox. Доступны на этапе разработки и во время выполнения. Существует два варианта синтаксиса для установки каждого из свойств.

Control.DisabledItemBackColor[ = nColor]
Control.DisabledItemBackColor RGB(nRedValue, nGreenValue,  nBlueValue)
Control.DisabledItemForeColor[ = nColor]
Control.DisabledItemForeColor RGB(nRedValue, nGreenValue, nBlueValue)

Expand image Возвращаемое значение

nColor

Задает число, определяющее цвет.

nRedValue, nGreenValue, nBlueValue

Задают три значения интенсивности для трех компонентов, составляющих цвет фона или основной цвет символов; эти значения следует объединить с помощью функции RGB( ) в одно число.

Note Примечание

В окне свойств Вы можете, дважды щелкнув какое-либо цветовое свойство, отобразить диалоговое окно Color. В этом диалоговом окне можно выбирать и определять цвета. Значения интенсивности красного, зеленого и синего тонов, соответствующие выбранному цвету, принимаются в качестве установок этих свойств после закрытия диалогового окна Color.

Для дополнительной информации смотрите таблицу цветов в топике Свойства BackColor, ForeColor.

Expand image Замечания

Применяется к: Элемент управления ComboBox | Элемент управления ListBox

Expand image Смотрите также

Справочное руководство

Свойства BackColor, ForeColor
Свойства DisabledBackColor, DisabledForeColor
Свойства SelectedBackColor, SelectedForeColor
Функция RGB( )

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


DisabledPicture Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DisabledPicture
Смотрите также
CollapseAll image

Задает рисунок, который нужно отобразить для недоступного элемента управления. Доступно на этапе разработки и выполнения.

Control.DisabledPicture[ = cPicture]

Expand image Возвращаемое значение

cPicture

Задает полный путь и имя файла растрового изображения или имя поля типа General в таблице базы данных.

Expand image Примечания

Применимо к: CheckBox Control | CommandButton Control | OptionButton Control

Если вы устанавливаете свойство DisabledPicture на этапе разработки, а заданный вами файл не существует, Visual FoxPro выдает сообщение об ошибке, но в качестве установки файла сохраняется заданный файл. На этапе выполнения Visual FoxPro игнорирует свойство DisabledPicture, если для него установлен несуществующий файл.

Если свойство DisabledPicture не установлено, Visual FoxPro определяет, какой рисунок следует отобразить для недоступного элемента управления с помощью свойства Picture.

Изображение появится на экране только в том случае если для элемента управления CommandButton, свойство Style будет установлено = 0 (Standard);Для элементов управления CheckBox и OptionButton, свойство Style должно быть установленым = 1 (Graphical).

Expand image Смотрите также

Справочное руководство

Свойство DownPicture
Свойство Enabled (Visual FoxPro)
Свойство Picture (Visual FoxPro)
Свойство Style

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DisableEncode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DisableEncode
Смотрите также
CollapseAll image

Разрешеает или запрещает base64 или hexBinary кодирование для полей типа Memo или Character.

Установка свойства DisableEncode на уровне XMLAdapter установливает значения по умолчанию свойств DisableEncode объектов XMLField когда они создаются и вводятся в коллецию Fields приведенными ниже методами XMLAdapter:

  • LoadXML

  • Attach (Visual FoxPro)

  • AddTableSchema

В дополнение к сказанному выше, изменение DisableEncode на уровне XMLAdapter l воздействует только на следующий набор созданных объектов XMLField, но не на уже существующие объекты XMLField в коллекции Fields. ПОэтому, для изменения установок свойства DisableEncode для ухе существующих объектов XMLField, измените значение этого свойства на уровне XMLField.

Note Замечание

DisableEncode применяется к объектам XMLField только в том случае, когда IsBinary установлено в True (.T.). Для получения более подробной информации смотри описание свойства IsBinary.

Object.DisableEncode [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Запрещает base64 или hexBinary кодирование полей типа Memo или Character. (По умолчанию)

True (.T.)

Разрешает base64 или hexBinary кодирование полей типа Memo или Character.

Expand image Примечания

Применяется к классам: XMLAdapter | XMLField

Visual FoxPro сбрасывает недействительные символы или кодированные в base64 и hexBinary строки некорректной длины.

Если свойство DisableEncode объекта XMLAdapter установлено в True (.T.) при исполнении метода LoadXML, свойство MaxLength объекта XMLField устанавливается в значение максимальной длины кодированных данных. В противно случае, Visual FoxPro использует оригинальное значение MaxLength.

Если свойство DisableEncode объекта XMLAdapter установлено в True (.T.) при исполнении метода ToXML, значение xsd:maxLength в схеме XML Schema Definition (XSD) s устанавливается в максимальную длину для кодированных данных. В противном случае, Visual FoxPro использует значение свойства MaxLength объекта XMLField.

Expand image Смотрите также

Справочное руководство

XMLAdapter Object Properties, Methods, and Events
Свойства, методы и события объекта XMLField
Коллекция Fields (XMLTable)
Свойство MaxLength
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DisplayCount Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DisplayCount
Смотрите также
CollapseAll image

Определяет максимальное число предметов, которые будут отражены в списочной части элемента управления ComboBox.

Object.DisplayCount[ = nExpression]

Expand image Возвращаемое значение

nExpression

Указывает максимальное число предметов, которые будут отражены в списочной части элемента управления ComboBox. Значением по умолчанию является ноль; Если значение nExpression равно нулю, то в списке изначально отображаются максимум 7 предметов.

Стрелки прокрутки не отображаются в списочной части элемента управления ComboBox, если значение nExpression равно единице.

Expand image Примечания

Применяется к: ComboBox Control

Expand image Смотрите также

Справочное руководство

Свойство ColumnCount (Visual FoxPro)
Свойство DisplayValue

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DisplayOrientation Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DisplayOrientation
Смотрите также
CollapseAll image

Определяет ориентацию отображения для приложения, запущенного на Tablet PC.

_SCREEN.DisplayOrientation [= nValue]

Expand image Возвращаемое значение

nValue

Установками для свойства DisplayOrientation являются:

Установка Описание

0

Отображение в режиме Upright Landscape.

1

Отображение в режиме Upright Portrait.

2

Отображение в режиме Inverted Landscape.

3

Отображение в режиме Inverted Portrait.

Если вы опустите параметр nValue, DisplayOrientation возращает значение, указывающее текущую ориентацию отображения.

Expand image Примечания

Свойство DisplayOrientation является редактируемым. Если вы измените значение свойства DisplayOrientation, ориентация отображения на Tablet PC's вращается так, как это установлено в панели управления Tablet PC.

Вы можете уловить событие вращения экрана Tablet PC с помощью функции BINDEVENT( ) Function используемой со свойством DisplayOrientation.

Expand image Смотрите также

Справочное руководство

Функция BINDEVENT( )
Свойства, методы и события системной переменной _SCREEN

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DisplayValue Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DisplayValue
Смотрите также
CollapseAll image

Указывает содержимое выбранного предмета первой колонки в элементах управления ListBox или ComboBox. Доступно как в design, так и в run time.

Используйте свойство DisplayValue, когда combobox или list box имеют более, чем одну колонку а свойство BoundColumn элементов управления установлено в значение, большее, чем 1.

 [Form.]Control.DisplayValue[ = Expr]

Expand image Возвращаемое значение

Expr

Указывает символьную строку или численное значение. В приведенной ниже таблице описываются значения Expr.

Expr Описание

Символьная строка

Указывает значение выбранного предмета первой колонки.

Для комбокосов DisplayValue определяет текст, отображаемый в текстовой части combobox'а, когда DisplayValue представляет собой символьную строку. Однако свойства InputMask и MaxLength ComboBox могут воздействовать на ее отображение.

Численное значение

Указвыает индекс выбранного предмета списка.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Когда combobox или listbox имеют только одну колонку, значения свойств DisplayValue и Value элемента управления имеют обычно одно и тоже значение, если оба содержать символьные строки. Существует исключение из этого правила, которое выражается в том, что когда оба свойства содержать символьные строки и в combobox впечатывается значение, но его еще не существует в списке. В этом случае Value будет содержать пустую строку(""), а DisplayValue будет содержать впечатанное значение.

Expand image Смотрите также

Справочное руководство

Свойство BoundColumn
Свойство Value

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Dockable Property

Visual FoxPro 9.0 Справочное руководство по языку
Dockable Property
Смотрите также Пример
CollapseAll image

Определяет - может ли форма быть состыкована. Доступно, как в design, так и в run time.

Form.Dockable [= nValue]

Expand image Возвращаемое значение

nValue

Определяет значение, которое определяет - может ли форма быть состыкована.

В приведенной ниже таблице перечислены значения для nValue.

nValue Описание

0

Форма не поддерживает стыковки. (По умолчанию)

1

Форма поддерживает стыковку и является стыкуемой. Свойство HalfHeightCaption устанавливается в True (.T).

2

Форма поддерживает стыковку, но не является стыкуемой. Свойство HalfHeightCaption устанавливается в True (.T).
Замечание Замечание

Перед установкой свойства Dockable в 1 или 2, свойство ScrollBars должен быть равен 0 (Нет), свойство ShowWindow должно быть равно 0 (в экране), and Desktop должен бвть равен False (.F.). Свойства ScrollBars, ShowWindow и Desktop являются read-only во время исполнения приложения. Для получения более подробной информации, смотрите Свойство ScrollBars и Свойство ShowWindow.

Expand image Примечания

Применяется к: Form Object

Формы, которые являются частью нобора форм - formset'ов - не поддерживают стыковки.

Если свойство Dockable изменяется, когда форма пристыкована, то форма расстыковывается автоматически.

Когда форма поддерживает стыковки, то есть , Dockable устанавливается в 1 или 2, вы можете интерактивно придать форме возможность стыковки, используя один из двух приведенных ниже методов:

  • В меню Window щелкните на Dockable.

    - или -

  • Щелчок по правой клавише мыши на заголовке формы с последующим выбором Dockable из контекстного меню.

Исполнение любого из этих действий переключает установку Dockable между 1 и 2.

Когда Dockable устанавливается в значение, более чем 0, Visual FoxPro устанавливает свойства, перечисленные ниже в таблице, и сбрасывает значения, установленные для этих свойств. Установка Dockable в 0 не возвращает эти свойства в их предыдущие значения.

Свойство | Установка | Замечания
Свойство AlwaysOnBottom | .F. |
Свойство AlwaysOnTop | .F. |
Свойство BorderStyle | 3 |
Свойство Closable | .T. |
Свойство Desktop | .F. | Только для чтения в run time.
Свойство Enabled (Visual FoxPro) | .T. |
Свойство HalfHeightCaption | .T. |
Свойство MaxButton | .F. | Используется только тогда, когда Dockable установлено в 2.
Свойство MDIForm | .F. |
Свойство MinButton | .F. | Используется только тогда, когда Dockable установлено в 2.
Свойство Movable | .T. |
Свойство ScrollBars | 0. | Только для чтения в run time.
Свойство ShowWindow | 0. | Только для чтения в run time.
Свойство TitleBar | 1 |
Свойство Visible (Visual FoxPro) | .T. |
Свойство WindowState (Visual FoxPro) | 0 |
Свойство WindowType | 0 |

Когда свойство Dockable установлено в значение большее, чем 0, Visual FoxPro полностью сбрасывает перечисленные ниже свойства:

  • Свойство MaxLeft

  • Свойство MaxTop

  • Свойство MaxWidth

  • Свойство MinHeight

  • Свойство MinWidth

Когда форма состыкована, то перечисленные ниже свойства приобретают признак "только для чтения":

  • Свойство Left

  • Свойство Top

  • Свойство Width

  • Свойство Height

Expand image Пример

Приведенный ниже пример использует функцию CREATEOBJECT( ) для создания формы, устанавливает свойства Dockable и Visible таким образом, что форма становится стыкуемой и видимой, и использует метод Dock для стыковки формы к левой стороне главного окна Visual FoxPro.
CopyCode image Скопировать код
omyForm = CREATEOBJECT("Form")
omyForm.Dockable = 1
omyForm.Visible = .T.
omyForm.Dock(1)

Expand image Смотрите также

Задачи

Как: стыковать формы

Справочное руководство

Свойство Docked
Свойство DockPosition
Событие AfterDock
Событие BeforeDock
Событие UnDock
Метод Dock
Метод GetDockState
Функция ADOCKSTATE()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Docked Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Docked
Смотрите также
CollapseAll image

Указывает - является ли определенная пользователь панель инструментов или форма состыкованной с другим объектом или нет. "Только для чтания" как в design, так и в run time.

Object.Docked [= lValue]

Expand image Возвращаемое значение

lValue

Определяет Logical значение, которое определяет - является ли панель инструментов или форма состыкованной с другим объектом или нет.

В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Панель или форма не состыкованы ни с каким другим объектом. (По умолчанию)

True (.T.)

Панель или форма состыкованы с каким-то другим объектом.

Expand image Примечания

Применяется к: Form Object | ToolBar Object

Для стыковки формы или панели инструментов используйте метод Dock. Для получения более подробной информации, смотрите Метод Dock.

Expand image Смотрите также

Задачи

Как: координировать панели инструментов и формы, используя программный код

Справочное руководство

Свойство DockPosition
Метод GetDockState
Событие BeforeDock
Событие AfterDock
Событие UnDock
Функция ADOCKSTATE()
Команда DOCK

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DockPosition Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DockPosition
Смотрите также
CollapseAll image

Указывает позицию стыковки для определенного пользователем объекта ToolBar или объекта Form. Read-only, как в design, так и в run time.

Object.DockPosition [= nPosition]

Expand image Возвращаемое значение

nPosition

Указывает позицию стыковки для панели инструментов или формы.

В приведенной ниже таблице перечислены значения для nPosition.

nPosition Описание

–1

Не состыковано

0

Сверху

1

Слева

2

Справа

3

Снизу

4

Закладочная стыковка (в виде закладок) (только для форм)

5

Ссылочная стыковка - link-docked (только для форм)

Замечание Замечание

Значение 5 указывает, что форма является частью контейнера со ссылочной стыковкой. Вы можете состыковать окна с закладочной стыковкой с контейнером со ссылочной стыковкой; поэтому, рекомендуется, чтобы вы получили дополнительную информацию о стыковке с помощью функции ADOCKSTATE() и метода GetDockState.

Expand image Примечания

Применяется к: Form Object | ToolBar Object

Для получения подробной информации о стыковке, смотрите Функция ADOCKSTATE() и Метод GetDockState.

Expand image Смотрите также

Задачи

Как: стыковать окна
Как: стыковать формы

Справочное руководство

Свойство Docked

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DocumentFile Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DocumentFile
Смотрите также Пример
CollapseAll image

Возвращает имя файла, из которого был создан "linked" OLE объект. В design time, указывает имя связанного файла. Только для чтения как в design, так и в run time для существующего объекта, но может быть установлен для объекта при его создании.

Object.DocumentFile[ = cFileName]

Expand image Возвращаемое значение

cFileName

Имя файла, с которым связан объект. Имя включает полный путь к файлу.

Expand image Примечания

Применяется к: OLE Bound Control | OLE Container Control

DocumentFile содержит пустую строку для внедренных "embedded" (not linked) объектов.

Вы устанавливаете свойство DocumentFile связанного (linked) OLE объекта, используя диалоговый блок Insert Object, когда вы изначально добавляете OLE контейнер в форму. Вы, кроме того, можете установить это свойство, когда создаете OLE объект, используя команду APPEND GENERAL или когда определяете объект в коде, как часть описания класса.

Перед определением содержимого OLE объекта с помощью свойства DocumentFile, укажите Automation server приложения путем установки свойства объекта OLEClass.

Expand image Пример

Приведенный ниже пример добавляет в форму управляющий элемент OLE Container и использует свойства DocumentFile и OleClass для указания таблицы Microsoft Excel в качестве файла редактирования и Microsoft Excel в качестве Automation server.

Свойство DocumentFile указывает рабочий лист с именем Book1.xls в каталоге EXCEL на диске C. Этот пример не будет работать должным образом, если файл и каталог, указанные в свойстве DocumentFile не существуют; поэтому необходимо подредактировать свойство DocumentFile для указания существующих каталога и файла.

Для активизации редактирования рабочего листа используется метод DoVerb.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('form')  && Создается форма
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Добавляется командная кнопка
frmMyForm.AddObject("oleObject","oleExcelObject")  && Добавляется OLE object

frmMyForm.cmdCommand1.Visible=.T.  && отображается командная кнопка "Quit"

frmMyForm.oleObject.Visible=.T.  && Отображается OLE control
frmMyForm.oleObject.Height = 50  && задается высота OLE control

frmMyForm.Show  && отображается форма

frmMyForm.oleObject.DoVerb(-1)  && -1 для редактирования

READ EVENTS  && Начинается обработка событий

DEFINE CLASS oleExcelObject as OLEControl
   OleClass ="Excel.Sheet"  && Имя сервера
   DocumentFile = "C:\EXCEL\BOOK1.XLS"  && Этот файл должен существовать
ENDDEFINE

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Создается командная кнопкв
   Caption = '\<Quit'  && Определяется заголовок командной кнопки
   Cancel = .T.  && Командная кнопка устанавливется,
                 && кнопка прерывания по умолчанию (Default Cancel) (Esc)
   Left = 125  && Определяется колонка размещения командной кнопки
   Top = 210  && Определяется строка размещения командной кнопки
   Height = 25  && Определяется высота командной кнопки

   PROCEDURE Click
      CLEAR EVENTS  && Прекращение обработки событий, закрытие формы
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда APPEND GENERAL
Функция CREATEOBJECT()
Свойство OLEClass

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DownPicture Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DownPicture
Смотрите также
CollapseAll image

Задает рисунок, отображаемый при выборе элемента управления. Доступно на этапе разработки и выполнения.

Control.DownPicture[ = cPicture]

Expand image Возвращаемое значение

cPicture

Задает полный путь и имя файла растрового изображения.

Expand image Примечания

Применимо к: CheckBox Control | CommandButton Control | OptionButton Control

Если вы устанавливаете свойство DownPicture на этапе разработки и заданного файла не существует, Visual FoxPro выдает сообщение об ошибке, но заданный файл сохраняется в качестве установки свойства. На этапе выполнения Visual FoxPro игнорирует свойство DownPicture, если для него установлен несуществующий файл.

Если вы не задали установку для свойства DownPicture, Visual FoxPro использует рисунок, задаваемый свойством Picture при выборе элемента управления.

Изображение появится на экране только в том случае если для элемента управления CommandButton, свойство Style будет установлено = 0 (Standard);Для элементов управления CheckBox и OptionButton, свойство Style должно быть установленым = 1 (Graphical).

Expand image Смотрите также

Справочное руководство

Свойство DisabledPicture
Свойство Enabled (Visual FoxPro)
Свойство Picture (Visual FoxPro)
Свойство Style

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DragIcon Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DragIcon
Смотрите также
CollapseAll image

Указывает иконку, которая отображается как указатель мыши во время операции drag-and-drop. Доступно как в design, так и в run time.

Control.DragIcon[ = cIcon]

Expand image Возвращаемое значение

cIcon

Указывает файл, который содержит иконку, используемую как указатель мыши. Обычно, вы указываете файл иконуи с помощью окна свойств в design time. Файл, которые вы желаете использовать, должен иметь расширение ".cur", а иконка должна быть сохранена в формате VGA-Mono 2-Color 32 x 32 Если вы попытаетесь использовать цветной .cur файл, будет сгенерировано сообщение об ошибке. (Не совсем точно! Это было справедливо в более ранних версиях! - примечание переводчика.) Вы можете использовать ImageEdit для создания двухцветного файла .cur. Если вы опустите cIcon, в качестве указателя мыши будет использован прямоугольный контур.

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro)

DragIcon полезна для предоставления визуальной обратной связи с пользователем во время операции перетаскивания — например, для индикации, что перетаскиваемый объект находится над соответствующей целью. DragIcon появляется, когда пользователь инициирует перетаскивание. Обычно вы устанавливаете свойство во время событий MouseDown или DragOver.

Если вы установили свойство в design time, а файл, который вы указали не существует, Visual FoxPro отобразит сообщение об ошибке, но свойство останется установленным в значение, которое вы указали. Visual FoxPro игнорирует свойство DragIcon в run time, если оно указывает на несуществующий файл.

Expand image Смотрите также

Справочное руководство

Метод Drag
Событие DragDrop
Свойство DragMode
Событие MouseDown
Событие MouseMove
Свойство MousePointer
Событие MouseUp

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DragMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DragMode
Смотрите также
CollapseAll image

Задает режим для операции перетаскивания с помощью мыши - явный или автоматический. Доступно на этапе разработки и на этапе выполнения.

Control.DragMode[ = nMode]

Expand image Возвращаемое значение

nMode

Для свойства DragMode предусмотрены следующие установки:

Установка Описание

0

(По умолчанию) Manual (явный). Чтобы инициировать перемещение элемента управления с помощью мыши, требуется применить метод Drag.

1

Automatic (автоматический). Перемещение инициируется щелчком в исходном элементе управления.

Expand image Замечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Shape Control | Spinner Control | TextBox Control (Visual FoxPro)

Если значение DragMode установлено равным 0 (Manual), элемент управления реагирует на события, связанные с мышью, и для начала операции перетаскивания необходимо использовать метод Drag.

Когда значение DragMode установлено равным 1 (Automatic), элемент управления не реагирует на события, связанные с мышью, и операции перетаскивания запускаются автоматически, когда пользователь нажимает и удерживает главную (левую) кнопку мыши, указывая курсором на элемент управления.

Если отпустить кнопку мыши, когда указатель мыши в ходе операции перемещения дойдет до объекта назначения, генерируется событие DragDrop для объекта назначения и операция перетаскивания завершается. Перетаскивание с помощью мыши также инициирует событие DragOver.

Note Примечание

Пока элемент управления перетаскивается, он не воспринимает никакие другие события, инициируемые пользователем и связанные с мышью или клавиатурой (KeyPress, MouseDown, MouseMove или MouseUp).

Expand image Смотрите также

Справочное руководство

DragDrop, событие
DragIcon, свойство
DragOver, событие
KeyPress, событие
MouseDown, событие
MouseMove, событие
MouseUp, событие
OLEDragMode, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


DrawMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DrawMode
Смотрите также
CollapseAll image

В сочетании со свойствами, определяющими цвета, определяет вид, с которым на экране будут отображаться линии и контуры. Доступно как в design, так и в run time.

Object.DrawMode[ = nMode]

Expand image Возвращаемое значение

nMode

Ниже перечислены значения установок для свойства DrawMode и их описания:

Установка Описание

1

Blackness Pen. Черное перо. Контур рисуется черным.

2

NotMerge Pen. Несливаемое перо. Инверсия установки 15.

3

Mask Not Pen. Комбинация цветов общих для BackColor и инверсии ForeColor.

4

Not Copy Pen. Инверсия установки 13.

5

Mask Pen Not. Комбинация цветов, общих для ForeColor и инверсии BackColor.

6

Invert. Инверсия BackColor.

7

XOR Pen. Комбинация цветов в ForeColor и BackColor, но не обоих.

8

Not Mask Pen. Инверсия установки 9.

9

Mask Pen. Комбинация цветов, общих как для ForeColor, так и BackColor.

10

Not XOR Pen. Инверсия установки 7.

11

NOP. No operation. Вывод остается неизмененным. По своему действию, эта установка прекращает рисование.

12

Merge Not Pen. Комбинация BackColor и инверсии ForeColor.

13

(Default). Copy Pen. Цвет, определяемый свойством ForeColor property.

14

Merge Pen Not. Комбинация ForeColor и инверсии BackColor.

15

Merge Pen. Комбинация ForeColor и BackColor.

16

Whiteness Pen. Белое перо. Контур рисуется белым.

Expand image Примечания

Применяется к: объекту Form | Line | системной переменной _SCREEN | Shape

Используйте свойство DrawMode для производства визуальных эффектов с управляющим элементами Shape или Line controls, или при рисовании графическими методами. Когда рисуется новый контур, Visual FoxPro сравнивает каждый пиксель в рисунке с соответствующим пикселем задника и затем применяет поразрядные операции. Например, установка 7 использует оператор исключающего ИЛИ (XOR) для объединения пикселя рисуемого рисунка с пикселем задника.

Точный эффект применения свойства DrawMode зависит от того, как цвет линии, рисуемой в run time соединяется с цветами, уже существующими на экране. Устанвки 1, 6, 7, 11, 13 и 16 выдают наиболее предсказуемые результаты.

Expand image Смотрите также

Справочное руководство

Метод Box
Метод Circle
Свойство DrawWidth
Свойство DrawStyle
Свойство FillColor (Visual FoxPro)
Свойство FillStyle
Метод Line
Метод PSet

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DrawStyle Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DrawStyle
Смотрите также
CollapseAll image

Определяет стиль линии, используемый при рисовании с помощью графических методов. Доступно как в design, так и в run time.

Object.DrawStyle[ = nStyle]

Expand image Возвращаемое значение

nStyle

Ниже перечислены установки для свойства DrawStyle и их описания:

Установка Описание

0

(По умолчанию)Solid - Сплошной

1

Dash - тире

2

Dot - точки

3

Dash-Dot - чередующиеся точки-тире

4

Dash-Dot-Dot

5

Transparent - прозрачный

6

Inside Solid - сплошной изнутри
Замечание Замечание

Если значение свойства DrawWidth установлено в 1, то установка значений для DrawStyle ведет себя по описаниям в таблице, в строгом соответствии для каждой установки. Но если свойство установить в значение, большее, чем 1, то значения с 1 по 4 будут производит сплошную линию.

Expand image Примечания

Применяется к: объекту Form | системной переменной _SCREEN

Expand image Смотрите также

Справочное руководство

Метод Circle
Свойство DrawMode
Свойство DrawWidth
Свойство FillColor (Visual FoxPro)
Свойство FillStyle
Свойства BackColor, ForeColor
Метод Line
Метод PSet

Прочие ресурсы

Свойство (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Свойство DrawWidth

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DrawWidth
Смотрите также
CollapseAll image

Задает ширину линии в выводе методов графики. Доступно на этапе проектирования и выполнения.

Object.DrawWidth[ = nSize]

Expand image Возвращаемое значение

nSize

Задает ширину линии в пикселах. Для свойства DrawWidth можно установить значение в диапазоне от 1 до 32,767. По умолчанию используется ширина в 1 пиксел.

Увеличьте значение этого свойства, если вы хотите увеличить ширину линии.

Expand image Примечания

Применимо к: Обьект Form | Системная переменная _SCREEN

Expand image Смотрите также

Reference

Метод Circle
Свойство DrawMode
Свойство DrawStyle
Свойство FillColor (Visual FoxPro)
Свойство FillStyle
Свойства BackColor, ForeColor

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DynamicAlignment Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DynamicAlignment
Смотрите также
CollapseAll image

Определяет выравнивание текста и элементов управления в объекте Column. Доступно на этапе проектирования; чтение/запись на этапе выполнения.

Column.DynamicAlignment [= "cAlign"]

Expand image Возвращаемое значение

cAlign

Определяет символьное выражение, которое вычисляются в значение как описано в следующей таблице. Значение выравнивания перевычисляется во время выполнения каждый раз, когда элемент управления Grid обновляется.

cAlign Вычисляется в Описание

0

Middle Left.

Выравнивает текст по левому краю и центрирует вертикально.

1

Middle Right.

Выравнивает текст по правому краю и центрирует вертикально.

2

Middle Center.

Выравнивает текст по середине с одинаковыми отступами с права и лева и центрирует вертикально.

3

Automatic. (По умолчанию)

Выравнивает текст, основанный на типе данных источника управления. Числовые типы, такие как Numeric, Double, Float, Currency, and Integer, выравниваются по правому краю; элементы управления с другими типами данных выравниваются по левому краю.

4

Top Left.

Выравнивает текст по левому краю и по верхнему краю колонки.

5

Top Right.

Выравнивает текст по правому краю и по верхнему краю колонки.

6

Top Center.

Выравнивает текст по середине с одинаковыми отступами с права и лева, и по верхнему краю колонки.

7

Bottom Left.

Выравнивает текст по левому краю и по нижнему краю колонки.

8

Bottom Right.

Выравнивает текст по правому краю и по нижнему краю колонки.

9

Bottom Center.

Выравнивает текст по середине с одинаковыми отступами с права и лева, и по нижнему краю колонки.

Expand image Примечание

Применимо к: Объект Column

Note Note

Если вы используете это свойство, метод AutoFit элемента управления Grid не сможет изменить размеры соответственно чтобы отобразить все содержание столбца.

Expand image Смотрите также

Справочное руководство

Свойство Alignment

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DynamicBackColor, DynamicForeColor Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства DynamicBackColor, DynamicForeColor
Смотрите также Пример
CollapseAll image

Определяют соответственно цвет фона и цвет символов объекта Column. Доступны на этапе разработки и для чтения-записи во время выполнения.

Column.DynamicBackColor [= "cExpression"]
Column.DynamicForeColor [= "cExpression"]

Expand image Возвращаемое значение

cExpression

Задает выражение, заключаемое в кавычки, которое на этапе выполнения заново вычисляется при каждом обновлении элемента управления Grid. Результатом такого вычисления должно быть одиночное значение цвета.

Expand image Замечания

Применяется к: Объект Column

Note Примечание

Если Вы используете эти свойства, метод AutoFit элемента управления Grid не сможет изменить размеры столбца для полного отображения его содержимого.

С помощью свойств DynamicBackColor и DynamicForeColor можно создавать специальные эффекты, например отображать нечетные строки зеленым цветом, а четные - серым.

Expand image Пример

В следующем примере использовано свойство DynamicBackColor и метод SetAll, с помощью которых задаются цвета фона для записей в элементе управления Grid. Если запись, отображенная в сетке, имеет четный номер, значением ее свойства DynamicBackColor является белый цвет, в противном случае - зеленый.

Элемент управления Grid помещается на форму, затем открывается таблица customer, содержимое которой отображается в сетке. Свойство Caption используется для задания другого названия заголовка (Customer ID) для поля CUST_ID. На форму помещается командная кнопка, закрывающая ее.
CopyCode image Скопировать код
CLOSE ALL  && Close tables and databases
OPEN DATABASE (HOME(2) + 'Data\testdata')

USE customer  IN 0  && Opens Customer table

frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .f.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Add Command button
frmMyForm.AddObject('grdGrid1','Grid')  && Add Grid control

frmMyForm.grdGrid1.Left = 25  && Adjust Grid position

frmMyForm.grdGrid1.SetAll("DynamicBackColor", ;
   "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) ;
   , RGB(0,255,0))", "Column")  && Alternate white and green records

frmMyForm.grdGrid1.Visible = .T.  && Grid control visible
frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.grdGrid1.Column1.Header1.Caption = 'Customer ID'

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
      CLOSE ALL  && Close table and database
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойства BackColor, ForeColor

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


DynamicCurrentControl Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DynamicCurrentControl
Смотрите также
CollapseAll image

Определяет, какой управляющий элемент в объекте Column используется для отображания значения активной ячейки. Доступно в design time; read/write в run time.

Column.DynamicCurrentControl [= cExpression]

Expand image Возвращаемое значение

cExpression

Указывает исмвольное выражение, которое оценивается в имя управляющего элемента, который отображает и принимает данные активной ячейки в указанной колонке в run time. Имя управляющего элемента повторно оценивается каждый раз при обновлении решетки( Grid ).

Note Замечание

Управляющим элементом, используемом по умолчанию является TextBox с именем Text1, указанным, как значение свойства Name. Для добавления другого управляющего элемента, используйте метод AddObject.

Expand image Примечания

Применяется к: Column Object

Note Note

Метод Grid.AutoFit может не адекватно изменяться в размерах для отображения полного содержания колонки, если вы используете это свойство.

Если свойство колонки Sparse установлено в True (.T.), то только активная ячейка в колонке будет использовать объект, указанный в свойстве DynamicCurrentControl для отображения данных; прочие ячейки колонки будут отображать данные, используя TextBox. Если же свойство Sparse установлено в значение False (.F.), то все ячейки в колонке будут использовать для отображнения данных объект, указанный в свойстве DynamicCurrentControl.

Expand image Смотрите также

Справочное руководство

Метод AddObject
Свойство CurrentControl

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline Properties

Visual FoxPro 9.0 Описание Языка
DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline , свойства
См. также
CollapseAll image

Определяют соответствующие характеристики отображения текстовых элементов в объекте Column, такие как: Bold, Italic, Strikethru, Underline. Контролирующее логическое выражение вычисляется каждый раз при обновлении Контрола Grid, к котору относятся рассматриваемые Столбцы. Доступны при разработке Объектов; Чтение/Запись в режиме RunTime.

Column.DynamicFontBold [= "lExpr"]
Column.DynamicFontItalic [= "lExpr"]
Column.DynamicFontStrikeThru [= "lExpr"]
Column.DynamicFontUnderline [= "lExpr"]

Expand image Возвращаемое значение

"lExpr"

Определяет логическое выражение, вычисляемое как True (.T.) или False (.F.).

В следующем списке описываются возможные варианты значений рассматриваемых Свойств.

Значение lExpr Краткое Описание

True (.T.)

Стиль Шрифта устанавливается соответственно: Bold, Italic, Strikethru, или Underline.

False (.F.)

Стиль шрифта выключается: Not bold, italic, strikethru, или underline. (По-умолчанию, за исключением DynamicFontBold)

Expand image Комментарии

Применяется в: Column, объект

Вы можете использовать изменение описанных Свойств для выделения текстовых элементов при выполнении программы. Например, вы можете установить свойство шрифта: DynamicFontUnderline - для новых членов своей организации, недавно введенных в Таблицу.

Note Обратите Внимание

Метод контрола Grid AutoFit не может изменить автоматически размеры Столбца при изменении описанных выше характеристик текстовых элементов.

Expand image См. также

Описание

DynamicFontSize, свойство
DynamicFontName, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


DynamicFontName Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DynamicFontName
Смотрите также
CollapseAll image

Указывает имя шрифта, используемого для отображения текста в объекте Column. Доступен в design time; только для чтения в run time.

Column.DynamicFontName [= cName]

Expand image Возвращемое значение

cName

Указывает символьное выражение, которое оценивается в имя шрифта. В run time выражение переоценивается каждый раз при обновлении Grid.

Замечание Замечание

В design time, вы можете увидеть список доступных шрифтов с помощью выборки свойства FontName в окне Properties, и щелчка по стрелке справа от бокса установки значения свйоства.

Expand image Примечания

Применяется: Column Object

Замечание Замечание

Метод AutoFit объекта Grid при использовании этого свойства может неадекватно устанавливать размеры колонки для отображения полного ее содержания.

Expand image Смотрите также

Справочное руководство

Свойство FontName
Свойство DynamicFontOutline
Свойства DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


DynamicFontOutline Property

Visual FoxPro 9.0 Описание Языка
DynamicFontOutline, свойство
См. также
CollapseAll image

Определяет, что текст, размещаемый в контейнере, объекте Column, отображается с окаймлением (outlined). Доступно при разработке и в режиме RunTime.

Column.DynamicFontOutline[ = "lExpr"]

Expand image Возвращаемое значение

"lExpr"

Определяет логическое выражение: True (.T.) или False (.F.). Данное выражение вычисляется каждый раз, при обновлении объекта Grid .

В следующей таблице описаны варианты принимаемых значений данного выражения.

Устанавливается lExpr Описание

True (.T.)

Текст отображается с окаймлением.

False (.F.)

Текст отображается без окаймления. (По-умолчанию)

Expand image Комментарии

Применяется в: Объект Column

Note Обратите Внимание

При использовании рассматриваемого свойства метод объекта Grid AutoFit не может гарантированно правильно отображать информацию текущего столбца.

Expand image См. также

Описание

FontOutline, свойство
DynamicFontShadow, свойство
DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline - свойства

Другие ссылки

Свойства объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DynamicFontShadow Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство DynamicFontShadow
Смотрите также
CollapseAll image

Определяет - будет ли текст, ассоциированный с объектом Column появляться затенненным. Доступно как в design, так и в run time.

Column.DynamicFontShadow [= "lExpr"]

Expand image Возвращаемое значение

"lExpr"

Определяет логические выражение, которое оценивается в True (.T.) или False (.F.). Выражение вычисляется каждый раз, когда производится обновление элемента управления Grid.

В приведенной ниже таблице описываются установки для для этих значений.

lExpr оценивается в: Описание

True (.T.)

Текст отображается затененным.

False (.F.)

Текст отображается нормально. (По умолчанию)

Expand image Примечания

Применяется к: Column Object

Замечание Замечание

Метод AutoFit объекта Grid может некорректно изменять размер для отображения полного содержания колонки в случае использования описанного свойства.

Expand image Смотрите также

Справочное руководство

Свойство FontShadow
Свойство DynamicFontOutline
Свойства DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DynamicFontSize Property

Visual FoxPro 9.0 Описание Языка
DynamicFontSize, свойство
См. также
CollapseAll image

Определяет динамическое изменение Размера Шрифта отображения информации в объекте Column. Доступно для изменения как в режимах Design-time и Run-time.

Column.FontSize [= "nSize"]

Expand image Возвращаемое значение

"nSize"

Определяет числовое выражение для размера Шрифта (Font Size). По-умолчанию, устанавливается = 9. Максимальное значение nSize = 2,048. Размеры шрифта вычисляются каждый раз при обновлении Контрола Grid.

Замечание Переводчика:

Предполагаю ошибку Разработчиков, в настоящем разделе должен рассматриваться материал о некотором Логическом выражении, которое определяет размер Шрифта для отображения текстовых элементов в зависимости от значения указанного логического выражение. Для примеров смотрите свойства: DynamicForeColor / DynamicBackColor

Note Примечание

72 точки размера Шрифта соответствуют 1-му Дюйму.

Expand image Комментарии

Применяется в: Column, объект

Рекомендуется использовать данное Свойство для изменения Размера Шрифта в элементах строки Данных.

Note Обратите Внимание

При использовании рассматриваемого Свойства метод объекта Grid AutoFit не сможет корректно изменить размеры отображаемых столбцов текущего объекта Grid.

Expand image См. также

Описание

DynamicAlignment, свойство
DynamicFontName, свойство
DynamicFontBold, DynamicFontItalic, DynamicFontStrikethru, DynamicFontUnderline, свойства

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


DynamicInputMask Property

Visual FoxPro 9.0 Описание Языка
DynamicInputMask, свойство
См. также Пример
CollapseAll image

Определяет динамический формат для отображения и ввода текстовой информации для контролов, размещенных в объекте Column. Доступно для режима Design-Time; чтение/запись для режима Run-Time.

Column.DynamicInputMask[ = cInputMask]

Expand image Возвращаемое значение

cInputMask

Определяет символьное выражение, которое вычисляется в момент отображения указанного Контрола, представляет собой символьную строку следующего системного Формата:

CopyCode image Копировать Код
[@cFunction] [cMask]

Указанное значение рассматриваемого Свойства вычисляется каждый раз при обновлении Контейнера Grid. Дополнительную информацию о параметрах указанного процесса Форматирования для cFunction и cMask, смотрите в разделах: Format и InputMask .

Expand image Комментарии

Применяется В: Column, объект

Рассматриваемое свойство DynamicInputMask имеет Приоритет над свойствами Format и InputMask.

Если текущим Контролом для Столбца (указанным в свойстве CurrentControl) является стандартный Контрол типа TextBox, Spinner, ComboBox, то составляющие элементы общей схемы Форматирования cFunction и cMask, указанные в свойстве DynamicInputMask соответствуют аналогичным параметрам для стандартных свойств Format и InputMask уже указанных Контролов (text box, spinner, or combo box).

Note Обратите Внимание

Стандартный метод Grid AutoFit не может корректно устанавливать ширину некоторых Столбцов, для которых установлено значение рассматриваемого Свойства.

Expand image Пример

В следующем далее примере демонстрируется типичное использование задание Формата для cInputMask:

CopyCode image Копировать Код
Column1.DynamicInputMask = "@R$ ###,###,###.##"

Expand image См. также

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


DynamicLineHeight Property

Свойство DynamicLineHeight
Смотрите также
CollapseAll image

Указывает должен ли ReportListener использовать стандартное пространство между строками GDI+ или фиксированное простанство между строками, оставленное для совместимости назад.

ReportListener.DynamicLineHeight [= lExpr]

Expand image Возвращаемое значение

Логический тип данных.

True

(По умолчанию) Объекты с множеством строк визуализируется, используя поведение по умолчанию GDI+. Простанство между строками определяется динамически в соответствии с используемым шрифтом. Если объект имеет непрозрачное заполнение или цвет фона, то этот цвет показывается для всего блока.

False

Режим совместимости назад. Многострочные объекта визуализируются индивидуально, с использованием фиксированного пространства между строками. Если объект имеет непрозрачное заполнение или цвет фона, то этот цвет показывается только за визуализированным текстом.

Expand image Примечания

Применяется к: ReportListener Object.

Двидок отчетов, применявшийся до Visual FoxPro 9, использовал фиксированное высоту строк для визуализации многострочных текстовых объектов. Класс Visual FoxPro ReportListener имеет возможность визуализации многострочных объектов, используя дефолтное межстрочное пространство GDI+, которое динамически устанавливается по характеристикам шрифта.

Вы можете установить значение этого свойства в .F., если вы желаете, чтобы Report Engine визуализировал многострочные объекты строку за строкой, используя тоже самое межстрочное пространство, что в предыдущих версиях. Это межстрочное пространство расчитывается так, как это описано ниже:

Engine берет высоту объекта из FRX (в FRUs, 10000 долях дюйма) и делит на число строк в текущем содержании объекта раскладки, в соответствии с характеристиками шрифта. Далее результат преобразуется в 960dpi для получения высоты единичной строки.

Отметьте, что имеется снижение производительности при установке свойства DynamicLineHeight в значение .F., поскольку Report Engine должен подсчитать слова, которые помещаются на каждой строке многострочного объекта до ввода фиксированного вертикального пространства и только после этого визуализировать следующую строку.

Два метода обработки многострочных объектов различаются, кроме того, по тому, как они показывают непрозрачную заливку или цвет фона. Когда значение свойства DynamicLineHeight равно .T., полный многострочный блок обрабатывается GDI+ как единичный объект. Когда значение свойства DynamicLineHeight равно .F., каждая отдельно визуализируемая строка имеет свой собственный фон, а каждая строка может иметь разную длину.

Expand image Смотрите также

Задачи

Как: изменить прозрачность для элементов отчета

Концепции

Использование GDI+ в отчетах

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


EditorOptions Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство EditorOptions
Смотрите также Пример
CollapseAll image

Определяет установки опций редактора Visual FoxPro. Имеется две версии синтаксиса.

ApplicationObject.EditorOptions [= cOptionString]
_VFP.EditorOptions [= cOptionString]

Expand image Возвращаемое значение

cOptionString

Указывает символьную строку, содержащую один или более символов, представляющие опции, которые могут быть заблокированы или, наоборот, разрешены к использованию.

В приведенной ниже таблице описываются действительные значения для cOptionString.

Опция редактора cOptionString Значение по умолчанию Значение в run time

List Members (Manual)

l

Off

Yes1

Quick Info (Manual)

q

Off

Yes1

List Members (Automatic)

L

On

Yes1

Quick Info (Automatic)

Q

On

Yes1

Enable Hyperlinks (CTRL + Click to follow the link)

K

On

Yes

Enable Hyperlinks (Click to follow the link)

k

Off

Yes

DragDrop Between Words

W

Off

No

Designer Value Tips

T

On

No

Suppress RTF Clipboard Format

X

Off

Yes

1Доступны в run time только через объект oFoxCode в скрипте FoxCode.

Note Замечание

Вы не можете одновременно использовать один и тот же символ в разных регистрах (заглавном и прописном), то есть присутствие "kK" в строке параметров cOptionString недопустимо. cOptionString.

Note Совет

Вы можете полностью запретить функциональность IntelliSense установкой свойства EditorOptions в пустую строку(""). Значением по умолчанию является строка "LQKT".

Expand image Примечания

Применяется к: Application Object | _VFP System Variable

Designer Value Tips ("T") представляет собой информационную подсказку, ассоциированную с элементами в списках и элементов управления типа drop-down. Это включает в себя следующее:

  • Поля в списках источников данных (таблицы и представления) в дизайнерах баз данныхЮ представлений и форм (Data Environment).

  • Методы и события в дизайнерах форм и классов, представленные в комбобоксах редактора кода методов и событий.

В Visual FoxPro 9.0, _VFP указанные вами с помощью свойства EditorOptions опции редактора будут закреплены и действительны между сессиями Visual FoxPro.

Опция Suppress RTF Clipboard option ("X") подавляет копирование расчвеченного синтаксиса кода в формате RTF при копировании из редактора Visual FoxPro в другой редактор текста, например в Microsoft Word. При установки этой опции текст копируется в буффер как обычный текст без какого-либо форматирования.

Expand image Пример

По умолчанию, IntelliSense в Visual FoxPro установлено в Automatic. Для установки IntelliSense в ручной режим - Manual, делая его доступным через клавишные сцепления или меню, используйте соответствующий символ в нижнем регистре. Например:
CopyCode image Скопировать код
_VFP.EditorOptions = "lq"    && Sets IntelliSense to Manual.
_VFP.EditorOptions = "LQ"    && Sets IntelliSense to Automatic.

Для получения более подробной информации смотрите Как: Установить опции IntelliSense и Окно Visual FoxPro IntelliSense Manager.

Expand image Смотрите также

Задачи

Как: установить опции редактора

Справочное руководство

Функция EDITSOURCE()

Прочие ресурсы

Свойства (Visual FoxPro)
Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Enabled Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Enabled (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет, может ли объект реагировать на события, генерируемые пользователем. Доступно на этапе разработки и выполнения.

Object.Enabled[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства Enabled предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Объект реагирует на события.

False (.F.)

Объект не реагирует на события.

Expand image Remarks

Применимо к: CheckBox Control | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Form Object | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | _SCREEN System Variable | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Свойство Enabled позволяет делать объекты доступными или недоступными на этапе выполнения. Например, можно сделать недоступными объекты, которые не влияют на текущее состояние приложения. Можно сделать недоступным элемент управления в целях ограничения диапазона его применения - например, сделать недоступным элемент управления EditBox, чтобы он отображал информацию только для чтения. Если элемент управления недоступен, он не может быть выбран.

Если свойство Enabled объекта-контейнера имеет значение "ложь" (.F.), то все содержащиеся в нем элементы управления будут также недоступны. Например, если пользователь щелкнет какой-либо элемент управления в недоступном объекте Form, никакие события не произойдут.

Если сделать недоступным объект Timer, установив для свойства Enabled значение "ложь" (.F.), то будет прекращен отсчет времени, заданный свойством Interval элемента управления Timer.

Expand image Смотрите также

Справочное руководство

Событие Click
Событие DblClick
Событие DragDrop
Событие DragOver
Событие DropDown
Событие KeyPress
Событие MouseDown
Событие MouseMove
Событие MouseUp
Событие RightClick
Событие Scrolled Event
Событие UnDock

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


EnableHyperlinks Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство EnableHyperlinks
Смотрите также
CollapseAll image

Определяет будут ли разрешены и отображены гиперссылки (hyperlinks) в элементах управления EditBox или TextBox. Редактируемое как в design, так и в run time.

Object.EnableHyperlinks [ = lExpr ]

Параметры

lExpr

Логический тип данных. В приведенной ниже таблице перечислены значения для lExpr.

lExpr Установка

True (.T.)

Разрешает отображение и активацию гиперссылок URL внутри элемента управления.

False (.F.)

Отображает поддержку гиперссылок внутри элемента управления. (По умолчанию)

Expand image Примечания

Применяется к: EditBox Control | TextBox Control (Visual FoxPro)

Установка глобальной опции Enable Hyperlinks в диалоговом окне Options воздействует на EnableHyperlinks, которое вы можете установить в run time, используя _VFP.EditorOptions. Если вы глобально отключаете гиперссылка, Visual FoxPro сбрасывает EnableHyperlinks и не активизирует гиперссылки.

Как и внутри редактора, активация гиперссылки зависит от установки _VFP.EditorOptions (что будет вызывать переход по ссылке: Click или CTRL+Click).

Если свойство формы ShowTips установлено в True (.T.), Visual FoxPro отобразит значение подсказки, такое как "CTRL+Click to follow link" когда вы поместите указатель мыши над гиперссылкой. Если для свойства ToolTipText указано значение, Visual FoxPro отобразит текст ToolTip, когда вы поместите указатель мыши над любой, не содержащей гиперссылок, частью текста в элементе управления.

Expand image Смотрите также

Справочное руководство

Закладка Editor диалогового кона Options
Системная переменная _VFP
Свойство EditorOptions
Свойство ShowTips
Свойство ToolTipText

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Encrypted Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Encrypted
Смотрите также
CollapseAll image

Определяет, будет ли зашифрован компилированый исходный текст в проекте.

Object.Encrypted[ = lExpression]

Expand image Возвращаемое значение

lExpression

Установки для свойства Encrypted:

Установка Описание

True (.T.)

Компилированый исходный текст будет зашифрованным. Установка lExpression равным (.T.) обеспечивает дополнительную защиту для вашего исходного кода, и идентичен включению параметра ENCRYPT в команде COMPILE.

False (.F.)

(По умолчанию) Компилированый исходный текст не будет зашифрованным.

Expand image Примечание

Применимо к: Объект Project (Visual FoxPro)

Исходный код в проекте включает програмы и файлы формата, исходный код в формах, этикетках, отчетах, библиотеках визуальных класов, и хранимых процедурах в базе данных. Свойство Encrypted соответствует флажку Encrypted на вкладке Project диалогового окна Project Information.

Expand image Смотрите также

Справочное руководство

Команда COMPILE
Диалоговое окно Project Information

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ErrorNo Property

Visual FoxPro 9.0 Справочник Языка
Свойство ErrorNo
См. Также

Определяет номер ошибки для объекта Exception. Чтение/запись в run time.

Exception.ErrorNo

Возвращаемое значение

Числовой тип данных

Замечания

Применяется к: Exception Class

Если исключение следует из команды THROW, которая определяет значение для парметра eUserExpression, значение ErrorNo равняется 2071.

Идентично значению, возвращаемому функцией ERROR( ) и первым элементом массива, образованного функцией AERROR( ).

См. Также

Другие Ресурсы

Properties
Exception Object Properties, Methods, and Events
ERROR( ) Function
AERROR( ) Function
SYS(2018) - Error Message Parameter
TRY...CATCH...FINALLY Command
Structured Error Handling

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Exclude Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Exclude (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет, будет ли исключен файл из приложения (.app), динамически загружаемой библиотекм (.dll), или исполняемого файла (.exe), при построении проекта. Доступный на этапе проектирования и выполнения.

Object.Exclude[ = lExpression]

Expand image Возвращаемое значение

lExpression

Определяет, исключен ли файл из .app, .dll, или .exe при построении. Если lExpression истина (.T.), файл исключен; иначе файл включен.

Тип файла определяет значение по умолчанию для lExpression. Например, таблицы автоматически исключаются при добавлении в проект.

Expand image Примечание

Применимо к: Объект File (Visual FoxPro)

Исключенные файлы появляются с перечеркнутым кругом перед их именем в менеджере проектов. Исключенные файлы перечислены в окне Project Manager для информации, но Вы должны вручную распределить их, если приложение нуждается в них. Вы можете также исключить файл, выбирая Exclude в меню Project.

Expand image Смотрите также

Справочное руководство

Метод Build

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Exclusive Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Exclusive
Смотрите также
CollapseAll image

Определяет - будет ли таблица, ассоциированная с объектом Cursor открыта в монопольном режиме (exclusively). Доступно как в design time, так и в run time.

DataEnvironment.Cursor.Exclusive[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства Exclusive являются:

Установка Описание

True (.T.)

(По умолчанию) Таблица, ассоциированная с объектом Cursor, открывается в монопольном режиме, при загрузке окружения данных.

False (.F.)

Таблица, ассоциированная с объектом Cursor, открывается в режиме разделенного доступа, при загрузке окружения данных..

Expand image Примечания

Применяется к: Объекту Cursor

Замечание Замечание

Когда к объекту Cursor обращаются с помощью CURSORSETPROP(), свойство Exclusive в run time получает признак "только для чтения".

Когда окружение данных загружено, каждая таблица, ассоциированная с объектом Cursor может быть открыта в монопольном режиме (ни один другой пользователь в многопользовательском окружении не может к ней обратиться) или в режиме разделенного доступа. Используйте свойство Exclusive для указания способа открытия таблицы.

Замечание Замечание

Если вы установили для свойства DataSession значение равное 2 (Private Data Session), установка по умолчанию для свойства Exclusive для всех объектов Cursor в окружении данных изменяется на false (.F.).

Что касается представлений, то объекты View сами по себе всегда открываются в режиме разделенного доступа. Однако, таблицы, которые определяют представление оказываются под воздействием свойства Exclusive. Для локальных представлений таблицы Visual FoxPro, которые определяют представления открываются либо в монопольном режиме, либо в режиме разделенного доступа, в зависимости от установки свойства Exclusive. Свойство Exclusive не оказывает влияния на удаленные представления.

Свойство Exclusive повторяет поведение команд USE с опциями EXCLUSIVE и SHARE.

Expand image Смотрите также

Справочное руководство

Свойство DataSession
Команда SET EXCLUSIVE
Команда USE

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FetchAsNeeded Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FetchAsNeeded
Смотрите также
CollapseAll image

Определяют способ извлечения записей. При работе с этим свойство на обычных курсорах используйте функции CURSORSETPROP() и CURSORGETPROP( ). Read/write.

Note Замечание

Установка свойства FetchAsNeeded применяется только к тем объектам CursorAdapter, у которых в качестве источника данных определены ODBC или ADO, воздействует только на следующий открываемый курсор и переписывает одноименное свойство курсора, прикрепленного к объекту CursorAdapter. То есть, изменение этой установки у такого курсора с помощью функции CURSORSETPROP() не будет иметь воздействия.

CursorAdapter.FetchAsNeeded [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

True (.T.)

Извлекает записи по необходимости.

False (.F.)

Для объектов CursorAdapter, имеющих в качестве источника данных ODBC и ADO, число извлекаемых записей определяется свойством MaxRecords. Для источников данных типа "native" и "XML" извлекаются все записи.

Expand image Примечания

Применяется к: CursorAdapter Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()
Свойство MaxRecords

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FetchMemo Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FetchMemo
Смотрите также
CollapseAll image

Определяет - будут ли извлекаться мемо-поля с результатами представления. Для обработки этого свойства с обычными курсорами, используйте функции CURSORSETPROP() и CURSORGETPROP(и). Read/write.

Note Замечание

Установка свойства FetchMemo применяется только к объектам CursorAdapter, использующим в качестве источников данных ODBC или ADO и переписывает установку свойства курсора, прикрепленного к объекту CursorAdapter. То есть, изменение установки этого свойства курсора с помощью функции CURSORSETPROP() не окажет никакого воздействия.

CursorAdapter.FetchMemo [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

True (.T.)

Мемо-поля извлекаются выбираются в результаты представления.

False (.F.)

Мемо-поля не извлекаются.

Expand image Примечания

Применяется к: CursorAdapter Class

FetchMemo применяется главным образом к удаленным представлениям и установка не имеет воздействия на локальные представления. Однако, вы можете предустановить это свойство для локальных представлений, которые могут в будущем повышены до удаленных.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FetchMemoCmdList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FetchMemoCmdList
Смотри также

Указывает команды, используемые для выборки мемо-полей, производимой методом DelayedMemoFetch. Редактируемое (Read/write)в design и run time.

CursorAdapter.FetchMemoCmdList[ = cCommands]

Параметры

cCommands

Символьный тип данных. cCommands представляет собой разделенный запятыми список пар имен мемо-полей и соответствующих команд, для их выборки. Команда выборки должна быть заключена в угловые скобки (< >). Убедитесь, что между правой скобкой (>) и запятой нет пробела, если в списке имеется несколько пар - "имя поля - соответствующая команда выборки". Приведенный ниже пример демонстрирует правильный формат для двух пар "имя поля - соответствующая команда выборки":
Скопировать код
oCA.FetchMemoCmdList=;
"memofield1 <SELECT memofield1 FROM MyCAMemoFetch WHERE field3=?EVALUATE(this.RefreshAlias +'.field3')>, ;
Memofield2 <SELECT memofield2 FROM MyCAMemoFetch WHERE field3=?EVALUATE(this.RefreshAlias +'.field3')>"
Вы можете указать любые команды, которые поддерживаются источником данных и возвращают именно одну запись. Если целевое мемо-поле не указано в свойстве FetchMemoCmdList, объект CursorAdapter попытается сгенерировать команду. Генерируемая команда основывается на источнике данных и на значениях свойств Tables, KeyFieldList и UpdateNameList объекта CursorAdapter. В случае, если Visual FoxPro не может сгенерировать подходящую команду - им генерируется ошибка.

Замечания

Применяется к: классу CursorAdapter

Методом DelayedMemoFetch используется только первый результирующий набор (result-set).

В случае, если конверсия данных из поля источника в целевое поле не поддерживается, будет сгенерирована ошибка. Правила проверки (Validation rules) для целевого поля не исполняются. Если целевая запись не может быть найдена, то Visual FoxPro использует встроенный "родной" метод DelayedMemoFetch для маркировки целевой записи, как удаленной - DELETED и генерирует ошибку.

Для ADODB Recordsets свойство FetchMemoCmdList игнорируется. Кроме того, свойства Tables, KeyFieldList и UpdateNameList объекта CursorAdapter также игнорируются, если не указаны ключевые поля, но ошибка при этом не генерируется. Поля обновляются (refresh) с использованием значений текущих полей в Recordset.

Если тип блокироваки для ADODB Recordset не эквивалентен adLockBatchOptimistic или adLockUnspecified, объект CursorAdapter вызывает метод Resync с параметром ResyncValues устанановленным в adResyncAllValues, для обновления (refresh) записи перед извлечением значения поля.

Смотри также

Справочное руководство

Свойство KeyFieldList Property
Свойство Tables
Свойство UpdateNameList

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


FetchMemoDataSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FetchMemoDataSource
Смотрите также
CollapseAll image

Определяет источник данных, используемый для метода DelayedMemoFetch. Read/write в design time и в run time.

CursorAdapter.FetchMemoDataSource[ = DataSource]

Параметры

DataSource

Указывает ссылку на существующий источник данных разрешенного типа. DataSource действует только, как указатель к реальному источнику данных, который должен существовать в run time.

В приведенной ниже таблице перечислены значения для DataSource, которые зависят от значения свойства FetchMemoDataSourceType.

DataSource DataSource Type

"ADO"

Ссылка на действительный объект ActiveX Data Object (ADO) Command.

"ODBC"

Положительное целое число, которое предствавляет действительный дескриптор соединения Open Database Connectivity (ODBC) или переменную, его содержащую.

"Native", null (.NULL.) или пустая строка ("")

Сбрасывается.

Значение по умолчанию представляет собой null-значение (.NULL.).

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Метод DelayedMemoFetch
Свойство FetchMemoCmdList
Свойство FetchMemoDataSourceType

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FetchMemoDataSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FetchMemoDataSourceType
Смотрите также
CollapseAll image

Определяет тип источника данных, используемый для метода DelayedMemoFetch. Доступно как в design time, так и в run time.

CursorAdapter.FetchMemoDataSourceType[ = cExpression]

Expand image Возвращаемое значение

cExpression

Указывает тип источника данных, используемый для метода DelayedMemoFetch.

cExpression представляет собой символьное выражение, которое оценивается в одно из приведенного ниже:

cExpression Описание

Пустая строка ""

Visual FoxPro сбрасывает свойство FetchMemoDataSource объекта CursorAdapter и использует его свойства DataSource и DataSourceType.

ODBC

Источником данных является ODBC (Open Database Connectivity).

ADO

Источником данных является ADO (ActiveX Data Objects).

Expand image Примечания

Применяется к: CursorAdapter Class

Expand image Смотрите также

Справочное руководство

Свойство DataSource
Свойство DataSourceType
Метод DelayedMemoFetch
Свойство FetchMemoCmdList
Свойство FetchMemoDataSource

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FetchSize Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FetchSize
Смотрите также
CollapseAll image

Определяет число строк, постепенно извлекаемых из набора данных удаленной таблицы. Для обработки этого свойства у обычных курсоров, используйте функции CURSORSETPROP( ) и CURSORGETPROP( ). Редактируемое.

Note Замечание

Установка FetchSize применяняется только к тем объектам CursorAdapter, у которых в качестве источника данных определены ODBC или ADO и при присоединении к объекту CursorAdapter обычного курсора, переписывает значение его одноименного свойства. То есть в таком случае, использование CURSORSETPROP() для присоединенного курсора не будет иметь никакого воздействия.

CursorAdapter.FetchSize [= nValue]

Параметры

nValue

Численный тип данных. Параметр nValue имеет значение по умолчанию равное 100 строкам. Если значение параметра nValue установлено в минус единицу (-1), Visual FoxPro извлекает полный набор данных, которых ограничивается значением свойства MaxRecords.

Expand image Примечания

Применяется к классу: CursorAdapter

FetchSize применяется главным образом для удаленных представлений и не влияет на локальные представления. Однако, вы можете предустановить это свойство для локальных представлений, если планируете повышать их до удаленных.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP( )
Функция CURSORSETPROP( )

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FileClass Property

Visual FoxPro 9.0 Справочное руководство по языку
FileClass Property
Смотрите также
CollapseAll image

Содержит название класса формы, на котором базируется форма в проекте. Доступен только для чтения на этапе проектирования и выполнения.

Object.FileClass

Expand image Примечание

Применимо к: Объект File (Visual FoxPro)

Свойство FileClass применяется только к формам в проекте, и содержит пустую строку для других типов файла.

Expand image Смотрите также

Справочное руководство

Свойство FileClassLibrary
Свойство Type (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FileClassLibrary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FileClassLibrary
Смотрите также
CollapseAll image

Содержит название библиотеки классов, содержащей класс, на котором базируется форма в проекте. Доступен только для чтения на этапе проектирования и выполнения.

Object.FileClassLibrary

Expand image Примечание

Применимо к: Объект File (Visual FoxPro)

Свойство FileClassLibrary применяется только к формам в проекте, и содержит пустую строку для других типов файла.

Expand image Смотрите также

Справочное руководство

Свойство FileClass
Свойство Type (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FillColor Property (Visual FoxPro)

Visual FoxPro 9.0 Language Reference
FillColor свойство (Visual FoxPro)
См. также

Задает цвет, который используется для окраски фигур, нарисованных в объекте с помощью программ графики. Доступно во время разработки и во время выполненияформы.

Object.FillColor[ = nColor ]
Object.FillColor[ = RGB(nRedValue, nGreenValue, nBlueValue) ]

Установки

nColor

Число, определяющее цвет. По умолчанию для FillColor принимается 0 (черный). Дополнительную информацию относительно установок цвета см. в разделе BackColor_ForeColor свойства.
nRedValue, nGreenValue, nBlueValue

Определяет интенсивност трёх основных цветов, которые определяют цвет заливки. Эти значения следует объединить с помощью функции RGB( ) в одно число, которое идентифицирует цвет FillColor.
Примечание:
В окне Properties вы можете, дважды щелкнув какое-либо цветовое свойство, отобразить диалоговое окно Color. В этом диалоговом окне можно выбирать и определять цвета. Значения интенсивности красного, зеленого и синего тонов, соответствующие выбранному цвету, принимаются в качестве установок этих свойств после закрытия диалогового окна Color..

Замечания

Применимо к: Form | _SCREEN | Shape

Если свойство FillStyle имеет значение 1 (прозрачный), используемое по умолчанию, установка FillColor игнорируется.
.
Окрашивать можно только замкнутые фигуры - круг, прямоугольник, эллипс.

Объекты Shape используют для задания цвета окраски свойство BackColor.

See Also

Другие источники

BackColor_ForeColor свойства
BorderColor свойство
Box метод
Circle метод
FillStyle свойство
ForeColor свойство
GETCOLOR( ) функция
RGB( ) функция
Свойства
Справка по языку

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


FillStyle Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FillStyle
Смотрите также
CollapseAll image

Задает узор, используемый для окраски объектов Shape и фигур, созданных с помощью методов графики Circle и Box. Доступно на этапе разработки и выполнения.

Object.FillStyle[ = nStyle]

Expand image Возвращаемое значение

nStyle

Задает узор для окраски фигуры. Для свойства FillStyle предусмотрены следующие установки:

Установка Описание

0

Solid (сплошной).

1

(По умолчанию) Transparent (прозрачный). Свойство FillColor игнорируется.

2

Horizontal Line (горизонтальная линия).

3

Vertical Line (вертикальная линия).

4

Upward Diagonal (восходящая диагональ). Восходящие диагонали идут из левого верхнего угла в правый нижний.

5

Downward Diagonal (нисходящая диагональ). Нисходящие диагонали идут из левого нижнего угла в правый верхний.

6

Cross (пересекающиеся линии). Пересекающиеся вертикальные и горизонтальные линии образуют решетку из квадратов.

7

Diagonal Cross (диагональное пересечение).

Expand image Примечания

Применимо к: Form Object | _SCREEN System Variable | Shape Control

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Метод Box
Метод Circle
Свойство DrawMode
Свойство DrawStyle
Свойство DrawWidth
Свойство FillColor (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Filter Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Filter
Смотрите также
CollapseAll image

Исключает из рассмотрения записи, которые не удовлетворяют критерию, определенному данным выражением. Доступно на этапе разработки; чтение/запись на этапе выполнения.

DataEnvironment.Cursor.Filter[ = cExpr]

Expand image Возвращаемое значение

cExpr

Любое выражение Visual FoxPro как правило, выражение, оперирующее с группой записей.

Expand image Примечания

Применимо к: Cursor Object | CURSORSETPROP( ) Function

Играет ту же роль, что и установка SET FILTER.

Note Note

Когда доступ к объекту Cursor осуществляется с помощью функции CURSORSETPROP( ), свойство Filter доступно на этапе выполнения только для чтения.

Expand image Смотрите также

Справочное руководство

Команда SET FILTER

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FirstElement Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FirstElement
See Also
CollapseAll image

Определяет первый элемент массива для отображения в управляющих элементах ComboBox или ListBox. Доступен как в design, так в и run time.

Control.FirstElement[ = nElement]

Expand image Возвращаемое значение

nElement

Указывает, какой элементмассива отображается первым в списке.

Expand image Замечания

Применяется к управляющим элементам: ComboBox | ListBox

Это свойство доступно только в случае, если RowSource представлен массивом (RowSourceType = 5). Заметьте, что свойство FirstElement применяется ук указанным управляющим элементам только в случае, если они содержат одну колонку.

Expand image Смотрите также

Справочное руководство

Свойство NumberOfElements
Свойство RowSource

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


FirstNestedTable Property

Свойство FirstNestedTable
Смотрите также
CollapseAll image

Показывает первый вложенный объект XMLTable в иерархии XML документа. Read-only как в design time, так и в run time.

XMLTable.FirstNestedTable = oXMLTable

Expand image Возвращаемое значение

oXMLTable

Объектная ссылка на первй объект XMLTable.

null (.NULL.)

свойство не заполнено. Указаывает, что в документе не содержится вложенных XMLTables.

Expand image Примечания

Применяется к: Класс XMLTable

Expand image Смотрите также

Справочное руководство

Метод LoadXML
Метод Nest
Класс XMLTable

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Flags Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Flags (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет установки флагов для CursorAdapter, как это описано для параметра nFlags в описании функции XMLUPDATEGRAM(). Доступно как design, так и в run time.

Note Замечание

Flags применяются к объекту CursorAdapter только в случае, если свойство его источника данных DataSourceType установлено в "XML". Объект CursorAdapter использует флаги, указанные в свойстве Flags, когда конструирует XML UpdateGram. Объект CursorAdapter оценивает значение установки Flags только один раз на операцию обновления.

CursorAdapter.Flags [= nFlags]

Expand image Возвращаемое значение

nFlags

Целочисленный тип данных. Параметр nFlags определяет установку nFlag из функции XMLUPDATEGRAM( ) и, по умолчанию, имеет значение равное нулю (0).

Expand image Примечания

Применяется к: классу CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Свойство UpdateGram

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FontBold, FontItalic, FontStrikethru, FontUnderline Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства FontBold, FontItalic, FontStrikethru, FontUnderline
Смотрите также
CollapseAll image

Задают для текста один или несколько стилей из числа следующих: Bold (полужирный), Italic (курсив), Strikethru (перечеркнутый), или Underline (подчеркнутый). Доступно на этапе разработки, и выполнения.

Object.FontBold[ = lExpr]Object.FontItalic
[ = lExpr]Object.FontStrikeThru[ = lExpr]Object.FontUnderline[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для данных свойств предусмотрены следующие установки:

Установка Описание

True (.T.)

Стиль шрифта - полужирный, курсив, перечеркнутый или подчеркнутый.

False (.F.)

(По умолчанию, за исключением FontBold) Стиль шрифта - не полужирный, не курсив, не перечеркнутый и не подчеркнутый.

Expand image Примечания

Применимо к: CheckBox Control | Column Object | ComboBox Control | CommandButton Control | EditBox Control | Form Object | Grid Control | Header Object | Label Control (Visual FoxPro) | ListBox Control | OptionButton Control | Page Object | _SCREEN System Variable | Spinner Control | TextBox Control (Visual FoxPro)

Как правило, перед установкой атрибутов размера и стиля с помощью свойств FontSize, FontBold, FontItalic, FontStrikethru и FontUnderline следует изменить свойство FontName. Однако если вы устанавливаете для шрифтов TrueType размер менее 8 пунктов, вам следует задать размер шрифта с помощью свойства FontSize, затем установить свойство FontName, а после этого вновь установить размер с помощью свойства FontSize. В среде Windows для шрифтов TrueType, размер которых меньше 8 пунктов, используется другой шрифт.

Note Note

Доступность или недоступность тех или иных шрифтов зависит от используемой конфигурации системы, имеющихся дисплеев и принтеров. Для свойств, связанных с шрифтами, можно устанавливать только те значения, для которых шрифты существуют в действительности.

Note Note

Свойство FontBold нельзя применить к объекту Page.

Expand image Смотрите также

Справочное руководство

Свойство FontName
Свойство FontSize
Метод SetAll

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FontCharSet Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FontCharSet
Смотрите также
CollapseAll image

Определяет набор символов, или, иными словами, скрипт языка, шрифта, используемого для отображения текста для каждого объекта, который поддерживает шрифты.Доступно как в design, так в run time.

Object.FontCharSet [ = nFontCharSet ]

Параметры

Термин | Определение
nFontCharSet | Указывает номер желаемого скрипта языка.

В приведенной ниже таблице перечислены некоторые значения для FontCharSet.
(Добавлено переводчиком, так как в файле справки эта таблицы отсуствует при наличии ссылки на нее
Указанные значения были получены при перечисленных далее параметрах: шрифт Arial, операционная система MS Windows XP Professional, локализация - Estonia).

Номер скрипта | Язык
0 | Western
177 | Hebrew
178 | Arabic
161 | Greek
162 | Turkish
186 | Baltic
238 | Central European
204 | Cyrillic
163 | Vietnamese

Expand image Примечания

Применяется к: CheckBox Control | Column Object | ComboBox Control | CommandButton Control | EditBox Control | Form Object | Grid Control | Header Object | Label Control | ListBox Control | OptionButton Control | Page Object | _SCREEN System Variable | Spinner Control | TextBox Control (Visual FoxPro)

Значение по умолчанию для свойства FontCharSet определяют операционная система и шрифт. Установка FontCharSet в 1 означает, что Visual FoxPro будет использовать знаение по умолчанию. Если вы в окне Properties явно установите значение FontCharSet выбором скрипта языка из диалогового окна Font, то окно Properties отобразит выбранный шрифт. Например, предположим, что вы установили свойство FontCharSet в 1 (Western) в окне Properties. Если вы откроете диалоговое окно Font Picker и выберите 0 (Western), то в окне Properties отобразится 0 (Western), так как эта установка явно задана.

Замечание Совет

Для сброса свойства в его значение по умолчанию, выполните правый щелчок на свойстве в окне Properties и щелкните в контекстном меню на пункте Reset to Default.

Visual FoxPro попытается отыскать указанный вами идентификатор набора символоы. Если Visual FoxPro не сможет найти требуемый идентификатор или, в случае, если вы указали недействительное значение для свойства FontCharSet в конкретном наборе шрифта, Windows font manager сделает подходящее замещение, используя набор символов, используемый по умолчанию; обычно это ANSI или Symbol.

Шрифты поддерживают только определенные скрипты языка. Для выбора скрипта языка, который поддерживается шрифтом, выберите в окне Properties свойство FontCharSet и затем щелкните по кнопке с троеточием - ellipsis (...), для открытия диалогового окна Font.

Click on ellipsis to open Font Picker Dialog Box

Вы можете выбрать скрипт языка из выпадающего списка Script. В этом диалоговом окне вы можете, кроме того, изменить имя шрифта, размер и стиль. Visual FoxPro обновит соответствующие свойства, связанные со шрифтами, выбранными вами значениями.

Select appropriate language script for desired font

Если вы измените шрифт в такой, для которого не поддерживается текущее значение FontCharSet, Visual FoxPro сбросит свойство FontCharSet в значение по умолчанию.

Если свойство Style для элемента управления Label установлено в значение, равное 3 (Themed), то свойство FontCharSet игнорируется. Если для элемента управления Grid свойство Themes установлено в True (.T.), то свойство FontCharSet для Header решетки, также будет игнорировано. Для отображения текста в Header, с использованием свойства FontCharSet, установите свойство Themes элемента управления grid в False (.F.).

Функция GETFONT() поддерживает как получение параметров шрифта в качестве начальных параметров, так и возврат скрипта шрифта.

Expand image Смотрите также

Справочное руководство

Функция GETFONT()
Свойство Style
Функция AFONT()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FontCondense, FontExtend Properties

Visual FoxPro 9.0 Описание Языка
FontCondense, FontExtend, свойства
См. также
CollapseAll image

Применяется только в системах Visual FoxPro Macintosh.

Expand image См. также

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


FontName Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FontName
Смотрите также
CollapseAll image

Задает имя шрифта, используемого для отображения текста. Доступно на этапе разработки и на этапе выполнения.

Object.FontName[ = cName]

Expand image Возвращаемое значение

cName

Задает имя шрифта. По умолчанию используется шрифт Arial.

Expand image Замечания

Применяется к: CheckBox Control | Column Object | ComboBox Control | CommandButton Control | EditBox Control | Form Object | Grid Control | Header Object | Label Control (Visual FoxPro) | ListBox Control | OptionButton Control | Page Object | _SCREEN System Variable | Spinner Control | TextBox Control (Visual FoxPro)

По умолчанию свойство FontSize имеет значение 9 пунктов. Доступность тех или иных шрифтов зависит от конфигурации системы. Для свойств, связанных со шрифтами, можно устанавливать только те значения, для которых шрифты существуют в действительности. На этапе разработки можно получить список доступных шрифтов, если выбрать свойство FontName в окне Properties и нажать кнопку со стрелкой вниз, расположенную правее поля Property Settings.

Как правило, свойство FontName следует изменять перед установкой атрибутов размера и стиля с помощью свойств FontSize, FontBold, FontItalic, FontStrikethru и FontUnderline.

Expand image Смотрите также

Справочное руководство

Свойства FontBold, FontItalic, FontStrikethru, FontUnderline
Свойство FontSize

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


FontOutline Property

Visual FoxPro 9.0 Описание Языка
FontOutline, свойство
См. также
CollapseAll image

Включено для совместимости с рабочими станциями Macintosh.

Expand image См. также

Другие ссылки

Properties (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


FontShadow Property

Visual FoxPro 9.0 Описание Языка
FontShadow, Свойство
См. также
CollapseAll image

Включена для совместимости с системами Macintosh.

Expand image См. также

Другие ссылки

Свойства объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


FontSize Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FontSize
Смотрите также
CollapseAll image

Указывает размер шрифта, используемого для отображения текста на объекте. Доступно, как в design, так и в run time.

Object.FontSize[ = nSize]

Expand image Возвращаемое значение

nSize

Указыает размер шрифта в точках. Размер по умолчанию установлен равным 9 точкам.

Expand image Примечания

Применяется к : CheckBox Control | Column Object | ComboBox Control | CommandButton Control | EditBox Control | Form Object | Grid Control | Header Object | Label Control (Visual FoxPro) | ListBox Control | OptionButton Control | Page Object | _SCREEN System Variable | Spinner Control | TextBox Control (Visual FoxPro)

Максимальное значение для nSize равно 127 точкам. Один дюйм содержит 72 точки.

По общим правилам, вы должны изменить свойство FontName до того, как вы установите размеры и аттрибуты шрифта с помощью свойствFontSize, FontBold, FontItalic, FontStrikethru и FontUnderline. Однако, когда вы устанавливаете размер шрифтов типа TrueType менее 8 точек, вы должны сначала установить размер шрифта с помощью свойства FontSize, далее установить значение свойства FontName, и затем снова установить размер шрифта с помощью FontSize . Среда Windows использует отличающиеся шрифты для шрифтов TrueType, которые меньше 8 точек.

Note Замечание

Доступные шрифты могут варьироваться в зависимости от конфигурации вашей системы и печатных устройств. Связанные со шрифтами свойства могут быть установлены только в те значения, которые существуют для конкретных шрифтов.

Expand image Смотрите также

Справочное руководство

Свойства FontBold, FontItalic, FontStrikethru, FontUnderline

Прочие ресурсы

Свойства (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ForceCloseTag Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ForceCloseTag
Смотрите также Пример
CollapseAll image

Определяет - будут ли замещаться тэги одиночных пустых элементов набором открывающих и закрывающих тэгов. Вы можете использовать свойство ForceCloseTag в случае, если вы ищете открывающий и закрывающий тэги при разборе XML или в в случае, если вы желаете улучшить читабельность документа.

ForceCloseTag применяется при исполнении метода ToXML объекта XMLAdapter, который создает XML согласующийся с его установками.

XMLAdapter.ForceCloseTag [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены возможные значения для lValue.

lValue Описание

False (.F.)

Не будет производится замена тэгов одиночных пустых элементов набором открывающих и закрывающих тэгов. (По умолчанию)

True (.T.)

Тэги одиночных пустых элементов замещаются набором открывающих и закрывающих тэгов. .

Expand image Примечания

Применяется к классу: XMLAdapter

Expand image Пример

В приведенном ниже примере XML документ содержит тэг пустого элемента - <col1/>:

CopyCode image Скопировать код
<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<VFPData>
   <etest>
      <col1>One</col1>
   </etest>
   <etest>
      <col1/>
   </etest>
</VFPData>

Установка значения свойства ForceCloseTag в True (.T.) замещает тэг одиночного элемента набором открывающего и закрывающего тэгов - <col1></col1>.

CopyCode image Copy Code
<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<VFPData>
   <etest>
      <col1>One</col1>
   </etest>
   <etest>
      <col1></col1>
   </etest>
</VFPData>

Expand image Смотри также

Справочное руководство

Свойства, методы и события объекта XMLAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполне JS.


Format Property

Visual FoxPro 9.0 Language Reference
Свойство Format
Смотреть также

Задает входное и выходное форматирование свойства Value элемента управления. Достурно на этапе разработки и на этапе выполнения.

Control.Format[ = cFunction]

Return Value

cFunction

Задает ограничения на символы, допустимые для ввода данных, и форматирование отображаемых данных. В качестве cFunction допустимы следующие установки для используемых элементов управления:

cFunction Описание

EditBox control

K

Выделить весь текст, когда элемент управления получает фокус.

Spinner control

$

Отобразить символ денежной знака.

^

Выводит числовые данные, используя научный формат нотации.

K

Выделить весь текст, когда элемент управления получает фокус.

L

Отобразить ведущие нули вместо пробелов.

R

Отображает маску формата для элемента управления TextBox, заданную свойством InputMask.

Символы маски не сохраняются в источнике управления (для примера, если маска заданна 99-999, то число 12345 отобразится как 12-345). Данная установка используется только для символьных и числовых данных.

Элемент управления TextBox и объект Column

!

Конвертирует буквы в верхний регистр. Использует только символьный тип данных.

$

Отобразить символ денежной знака. Свойство ControlSource должно быть заданно из числовое источника для элемента управления TextBox.

^

Выводит числовые данные, используя научный формат нотации. Свойство ControlSource должно быть заданно из числовое источника для элемента управления TextBox.

A

Разрешает использовать только буквенные символы без пробелов и знаков препинания.

D

Использует текущий формат SET DATE.

E

Редактирует даты в формате BRITISH.

F

Prevents Varchar values from being padded with trailing spaces in text boxes or Varbinary values from being padded with trailing zeroes (0s).

Комментарии:
Для текстовых полей, связанных к данным с типом Varchar, свойство MaxLength должно быть установлено на значение отличное от нуля, чтобы разрешить ввод для желаемого количества символов.

Комментарии:
Когда Вы перетаскиваете поле с типом Varchar к форме, свойство созданного текстового поля Format установлено в "F", и свойство MaxLength установлено на максимальную длину для поля Varchar. Когда Вы перетаскиваете элемент управления Grid по форме и создаете элемент управления TextBox для столбцов с типом Varchar, свойство Format установлено в "F", и свойство MaxLength установлено на максимальную длину для поля Varchar.

Комментарии:
Когда Вы перетаскиваете поле с типом Varbinary по форме или когда Вы перетаскиваете элемент управления Grid по форме и создаете элемент управления TextBox для столбцов с типом Varbinary, происходит следующее :

  • Свойство Format устанавливается в "F".

  • свойство MaxLength установлен на максимальную длину, умноженную на 2 для поля Varchar.

  • свойство InputMask заполнен "H" до значения свойства MaxLength.

K

Выделить весь текст, когда элемент управления получает фокус.

L

Отобразить ведущие нули вместо пробелов в элементе управления TextBox. Свойство ControlSource должно быть заданно из числового источника для элемента управления TextBox.

M

Included for backward compatibility.

R

Отображает маску формата для элемента управления TextBox, заданную свойством InputMask.

Символы маски не сохраняются в источнике управления (для примера, если маска заданна 99-999, то число 12345 отобразится как 12-345). Данная установка используется только для символьных и числовых данных.

T

Отрезает начальные и конечные пробелы у поля.

YS

Отображает дату в коротком формате даты заданном в установками Контрольной панели Windows.

YL

Отображает дату в длинном формате даты заданном в установками Контрольной панели Windows.

Элемент управления EditBox, элемент управления TextBox, объект Column и элемент управления Spinner

Z

Отображает пустое значение, если оно равно 0, пока элемент управления находится в фокусе.

Даты также поддерживаются в этом контроле. / / разделители даты не отображены, если управление не имеет фокус.

Замечания

Обратитесь: Column | ComboBox | EditBox | Spinner | TextBox

Свойство Format определяет поведение всего поля ввода целиком. Вы можете комбинировать вместе несколько кодов Format, но они всегда будут воздействовать на все содержимое поля. Этим данное свойство отличается от свойства InputMask, в котором каждый элемент маски ввода отвечает за некоторый элемент поля ввода.

Свойтво Format играет ту же роль, что и предложение FUNCTION в командах @ ... GET и @ ... EDIT.

Смотреть также

Reference

Свойство Value

Другие источник

Свойство DynamicInputMask
Свойство InputMask
Свойства
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


FormattedOutput Property

Visual FoxPro 9.0 Описание Языка
FormattedOutput, свойство
См. также
CollapseAll image

Определяет генерацию XML в виде форматированного вывода информации или в виде неразрывной символьной строки.

Данное свойство FormattedOutput применяется при выполнении соответствующего метода XMLAdapter ToXML, который создает XML в соответствии с текущими параметрами форматирования.

XMLAdapter.FormattedOutput [= lValue]

Expand image Возвращаемое значение

lValue

Логического типа (Logical). В таблице описаны возможные значения для параметра lValue.

lValue Краткое Описание

True (.T.)

XML отображается в виде отформатированного текста. (По-умолчанию)

False (.F.)

XML отображается в виде непрерывной символьной строки (без форматирования в стиле XML).

Expand image Комментарии

Применяется в: XMLAdapter, класс

Expand image См. также

Описание

XMLAdapter, объект; Свойства, Методы, События
ToXML, метод

Другие ссылки

Свойства Объекта (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


FormCount Property

Visual FoxPro 9.0 Справочное руководство по языку
FormCount Свойство
Смотрите также

Содержит количество объектов Form входящих в FormSet. Недоступно на этапе разработки, доступно "только для чтения" на этапе выполнения.

Object.FormCount

Замечания

Применение: FormSet | _SCREEN

Используя это свойство, вы можете пройти в цикле по всем объектам Form, содержащимся в объекте FormSet, и выполнить некоторое действие.

Смотрите также

Прочие ресурсы

Свойство Forms
Свойства
Справочник языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


Forms Property

Visual FoxPro 9.0 Описание Языка
Свойство Forms
См. также

Является массивом доступа к индивидуальной форме в объекте Form Set. Не доступно в режиме разработки (Дизайнере); только чтение в режиме RunTime.

Объект.Forms(Nиндекс)

Возвращаемое значение

Nиндекс

Уникальный идентификатор формы в объекте Form Set.

Комментарии

Применяется: FormSet | _SCREEN

Используйте свойство Forms для изменения установленных свойств форм в объекте Form Set без использования свойства Name каждой формы. Вы можете использовать свойство Forms вместе со свойством FormCount для по-шагового перебора всех форм в объекте Form Set. Например, представленный текст программы изменяет заголовки всех форм из коллекции Form Set:

Копировать Код
FOR x = 1 TO THISFORMSET.FormCount
   THISFORMSET.Forms(x).Caption = THISFORMSET.Forms(x).Caption;
      + "[Read Only]"
ENDFOR

См. также

Другие Ссылки

Свойство FormCount
Объект Collection
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FractionDigits Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство FractionDigits
Смотрите также
CollapseAll image

Для данных типа Numeric FractionDigits определяет число цифр, справа от десятичного точки.

XMLField.FractionDigits

Expand image Возвращаемое значение

Численный тип данных. FractionDigits определяет число цифр, справа от десятичного точки. Если не существуют, или если FractionDigits неприменимо, значение FractionDigits равно -1.

Expand image Примечания

Применяется к: XMLField Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField
Разметка типов данных между Visual FoxPro и XML Schema

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


FRXDataSession Property

FRXDataSession, свойство
См. также
CollapseAll image

Обеспечивает идентификатор ID Сессии Данных для механизма Report Engine, который создает копию носителя Отчета или Этикетки (файлы .frx / .lbx), при создании основного объекта ReportListener.

ReportListener.FRXDataSession

Expand image Возвращаемое значение

Целого типа данных (Integer).

По-умолчанию, имеет значение = -1, в момент создания основного объекта ReportListener, означает, что в данный момент специальная Сессия Данных не создается.

Expand image Комментарии

Применяется в: ReportListener, объект.

Данное свойство содержит допустимое значение (как идентификатор Сессии Данных) начиная с момента активации события LoadReport, и до момента активации события UnloadReport. Те не менее, механизм Report Engine не открывает копию рассматриваемого Отчета или Этикетки до того момента, пока не отработает событие LoadReport или соответствующее событие BeforeReport. Данная возможность позволяет вам обрабатывать файлы Отчета до того момента, когда эти файлы открываются и выполняются. Дополнительную информацию о последовательности обработки Событий при выполнении Отчетов смотрите в разделе: Основные понятия Объектно-Ассистированного Отчета в Visual FoxPro.

Note Обратите Внимание

Создание Копий исходных файлов Отчета или Этикетки обеспечивает поддержку различных Сессий данных для механизма Report Engine. ReportEngine и внутренний объект ReportListener не имеют прямой ссылки на исходные файлы Отчета в процессе выполнения последнего. Если работающий Отчет выполняет операции Чтения/Записи данных из Курсора (копии), это никак не отражается на исходных файлах Отчета. Указанный Курсор копии исходных файлов Отчета или Этикетки актуален только на период выполнения Отчета. Вы можете изменить стандартную процедуру обработки Курсора Отчета, для этого используется богатый набор Событий базового объекта ReportListener. Дополнительную информацию смотрите в разделах: AdjustObjectSize, событие и EvaluateContents, событие.

Expand image См. также

Задачи

Как: Использовать Сессию Данных (Data Sessions)

Описание

ReportListener, объект; Свойства, Методы, События
SET DATASESSION, команда

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)
Расширения Отчетов в режиме Run-Time

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


FullName Property

Visual FoxPro 9.0 Описание Языка
Свойство FullName
См. также

Содержит имя файла и имя каталога запуска системы Visual FoxPro. Только чтение в режиме RunTime.

ОбъектApplication.FullName

Комментарии

Применяется: Объект Application | Системная переменная_VFP

Используется для определения каталога запуска (размещения) системы Visual FoxPro.

См. также

Другие Ссылки

Функция HOME( )
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GDIPlusGraphics Property

Свойство GDIPlusGraphics
Смотрите Также Пример
CollapseAll image

Предоставляет доступ приемника отчетов (ReportListener ) к объекту GDIPlus Graphics для оперирования выводом.

ReportListener.GDIPlusGraphics

Expand image Возвращаемое значение

Тип данных - целое.

По умолчанию - 0. Данное свойство только для чтения (readonly).

Expand image Замечания

Употребляется в: Объект ReportListener.

Данное свойство дает возможность подклассам ReportListener добавлять свой собственный вывод в выходной поток, посредством доспупа к дескриптору потока базавого класса ReportListener.

Note Важно

Когда код, написанный на Visual FoxPro, обращается к этому дескриптору, вы должно объявить (DECLARE) и вызывать функции из одного и того же файла GDIPLUS.DLL, который используется собственным кодом Visual FoxPro. Чтобы это обеспечить, пользуйтесь синтаксисом IN GDIPLUS.DLL без явного указания пути в команде DECLARE DLL.

Visual FoxPro поставляется с Фундаментальными Классами (Foundation Classes), облегчающими работу с GDI+ API. Для дальнейшей информации, читайте Фундаментальные Классы GDI Plus API Окружения.

Expand image Пример

Данный пример разворачивает все тексты в верхнем колотитуле страницы на заданный угол, аналогично установке угла поворота текста в Exsel spreadsheet. Такой подход удобен, когда в вашем отчете заголовки колонок занимают больше места, чем сама информация в этих колонках.
CopyCode image Скопировать Код
LOCAL oListener
oListener = CREATEOBJECT("rotateText")
oListener.ListenerType = 1
REPORT FORM ? OBJECT oListener

#define FRX_OBJCOD_PAGEHEADER 1

DEFINE CLASS rotateText AS ReportListener

   IsInPageHeader = .F.

   PROCEDURE Init()
      DECLARE integer GdipRotateWorldTransform In GDIPlus.Dll ;
            integer graphics,single angle,integer enumMatrixOrder_order
      DECLARE integer GdipTranslateWorldTransform In GDIPlus.Dll ;
            integer graphics,single dx,single dy,;
            integer enumMatrixOrder_order
      DECLARE integer GdipSaveGraphics IN GDIPlus.DLL ;
          integer graphics, integer @xx
      DECLARE integer GdipRestoreGraphics IN GDIPlus.DLL ;
          integer graphics, integer xx
   ENDPROC

   PROCEDURE BeforeBand(nBandObjCode, nFRXRecNo)
      DODEFAULT(nBandObjCode, nFRXRecNo)
      IF (nBandObjCode = FRX_OBJCOD_PAGEHEADER)
         THIS.IsInPageHeader = .T.
      ENDIF
   ENDPROC

   PROCEDURE AfterBand(nBandObjCode, nFRXRecNo)
      IF (nBandObjCode = FRX_OBJCOD_PAGEHEADER)
         THIS.IsInPageHeader = .F.
      ENDIF
      DODEFAULT(nBandObjCode, nFRXRecNo)
   ENDPROC

   PROCEDURE Render(nFRXRecNo, nLeft, nTop, nWidth, nHeight,;
       nObjectContinuationType, cContentsToBeRendered, GDIPlusImage)
      LOCAL xx,x,y, z
      xx = 0
      IF THIS.IsInPageHeader
         * Взять нужные координаты
         x = nLeft
         y = nTop

         * сохранить текущее состояние дескриптора графики
         z = GdipSaveGraphics(this.GDIPlusGraphics, @xx)

         * теперь поместим точку отсчета 0,0 в заданное место,
         * чтобы, когда мы вращали текст, то это бы происходило вокруг
         * заданной точки
         z = GdipTranslateWorldTransform(this.GDIPlusGraphics,x,y,0)
         * здесь следует проверить  z -- должно быть 0, если не произошли ошибки

         * теперь изменим угол поворота текста
         z = GdipRotateWorldTransform ( this.GDIPlusGraphics,-20,0)
         * следует проверить z опять также

         * восстановить точку отчета 0,0
         z = GdipTranslateWorldTransform(this.GDIPlusGraphics,-x,-y, 0)
         * следует проверить z опять также

      ENDIF

      * явный вызов родительского кода,
      * когда мы для него готовы
      DODEFAULT(nFRXRecNo, nLeft, nTop, nWidth, nHeight, ;
               nObjectContinuationType, cContentsToBeRendered, ;
               GDIPlusImage)

      * восстановить состаяние дескриптора графики
      IF THIS.IsInPageHeader
         GdipRestoreGraphics(this.GDIPlusGraphics, xx)
      ENDIF

      * здесь подавить выполнение родительского кода
      NODEFAULT

   ENDPROC

ENDDEFINE

Expand image Смотрите Также

Ссылка

Команда DECLARE - DLL

Другие Ресурсы

Свойства (Visual FoxPro)
Описание Языка (Visual FoxPro)
Расширение Функциональных Возможностей Вывода Отчетов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GridLineColor Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство GridLineColor
Смотрите также
CollapseAll image

Задает цвет линий, разделяющих ячейки в элементе управления Grid. Доступно на этапе разработки; во время выполнения доступно для записи и чтения. Существует два синтаксических варианта.

Grid.GridLineColor[ = nColor]
Grid.GridLineColor = RGB(nRedValue, nGreenValue, nBlueValue)

Expand image Возвращаемое значение

nColor

Задает одно число, представляющее цвет. По умолчанию GridLineColor имеет значение 0 (черный цвет).

nRedValue, nGreenValue, nBlueValue

Задает три отдельных значения интенсивности трех цветовых тонов, составляющих цвет линий элемента управления Grid; эти значения следует объединить с помощью функции RGB( ) в одно число, идентифицирующее цвет свойства GridLineColor.

Note Примечание

В окне Properties вы можете, дважды щелкнув какое-либо цветовое свойство, отобразить диалоговое окно Color. В этом диалоговом окне можно выбирать и определять цвета. Значения интенсивности красного, зеленого и синего тонов, соответствующие выбранному цвету, принимаются в качестве установок этих свойств после закрытия диалогового окна Color.

Expand image Замечания

Применяется к: Grid Control

Expand image Смотрите также

Справочное руководство

GridLines, свойство
GridLineWidth, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Property GridLines

Visual FoxPro 9.0 Language Reference
Свойство GridLines
Смотреть также

Определяет, отображаются ли в элементе управления Grid горизонтальные и вертикальные линии. Доступно на этапе разработки и для чтения-записи на этапе выполнения.

Grid.GridLines[ = nSetting]

Возвращаемое значение

nSetting

Для свойства GridLines предусмотрены следующие установки:

Установка Описание

0

None. Линии сетки не изображаются.

1

Horizontal. Отображаются только горизонтальные линии сетки.

2

Vertical. тображаются только вертикальные линии сетки.

3

(Default) Both. Отображаются и горизонтальные, и вертикальные линии сетки.

Комментарии

Обратитесь также: Grid

Смотреть также

Другие ресурсы

Свойство GridLineColor
Свойство GridLineWidth
Свойства
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


GridLineWidth Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство GridLineWidth
Смотрите также
CollapseAll image

Задает в пикселях толщину линий, разделяющих ячейки в элементе управления Grid. Доступно на этапе разработки; во время выполнения доступно для записи и чтения.

Grid.GridLineWidth[ = nWidth]

Expand image Возвращаемое значение

nWidth

Задает толщину линии, разделяющей ячейки в элементе управления Grid. По умолчанию nWidth = 1 (минимальное значение). Максимальное значение nWidth = 40.

Expand image Замечания

Применяется к: Grid Control

Expand image Смотрите также

Справочное руководство

GridLineColor, свойство
GridLines, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


HalfHeightCaption Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HalfHeightCaption
Смотрите также
CollapseAll image

Определяет - будет ли заголовок формы иметь половинный размер от нормальной высоты. Доступно и в design и в run time.

Object.HalfHeightCaption[ = lExpr]

Expand image Возвращаемое значений

lExpr

Свойсто HalfHeightCaption может иметь значения установки приведенные ниже:

Установка Описание

True (.T.)

Высота заголовка формы равна половине высоты нормального заголовка.

False (.F.)

(По умолчанию) Заголовок формы имеет нормальную высоту.

Expand image Примечания

Применяется к: Form Object | _SCREEN System Variable | Height Property

Меню на формах SDI (ShowWindow = 2) не поддерживаются, если значение свойства HalfHeightCaption формы установлено в (.T.).

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство ShowWindow

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


HeaderClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HeaderClass
Смотрите также
CollapseAll image

Определяет имя экземпляра класса, когда добавляется новый экземпляр объекта "заголовок" в контейнер столбца. Чтение/запись в режимах времени разработки и времени исполнения.

Свойство HeaderClass используется вместо MemberClass для родительского контейнера столбца. Для большей информации о свойстве MemberClass,смотрите свойство MemberClass.

Note Замечание

Если экземпляр класса базируется на классе, хранимом в программном (.prg) файле, убедитесь, что скомпилированный программный (.fxp) файл синхронизирован с .prg файлом.

Column.HeaderClass [ = cClassName ]

Expand image Возвращаемое значение

cClassName

Определяет имя экземпляра класса в программном (.prg) файле.

Expand image Примечания

Используется в: объект Column

Вы не можете редактировать или создавать подкласс класса заголовка визуально, используя конструктор классов. Вам необходимо использовать программный (.prg) файл для определения класса заголовка.

Класс Column может содержать только один заголовок; следовательно, у колонок нет свойства header count.

Изменение свойств HeaderClassLibrary и HeaderClass для заголовка в режиме времени исполнения (run-time) не эффективно. Вы можете сменить заголовок только при помощи метода AddObject или методов, которые заменяют текущий заголовок новым заголовком.

Expand image Смотрите также

Ссылки

Member Classes (Visual FoxPro)
Свойство MemberClass
Свойство HeaderClassLibrary
Метод AddObject
Метол NewObject

Другие средства

Свойства (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функционалах этого продукта, посетите страницу обратной связи.
© Microsoft Corporation. All rights reserved.

Перевод - Рябинин Олег aka OLEGarh


HeaderClassLibrary Property

Visual FoxPro 9.0 Описание Языка
HeaderClassLibrary, свойство
См. также
CollapseAll image

Определяет полное имя Библиотеки Классов, которая содержит соответствующий Класс Членов, заданный для свойства HeaderClass. Чтение/Запись для режимов Разработки и Run-Time.

Рассматриваемое свойство HeaderClassLibrary может быть использовано вместо аналогичного свойства MemberClassLibrary, которое применяется для родительского класса контейнера Column. Дополнительную информацию смотрите в разделе: MemberClassLibrary, свойство.

Column.HeaderClassLibrary [= cClassFile]

Expand image Возвращаемое значение

Символьная строка. Параметр cClassFile определяет созданный ранее процедурный файл (.prg), содержащий описание Класса Header, имя которого содержится в свойстве HeaderClass.

Expand image Комментарии

Применяется в: Column, объект

Система Visual FoxPro подсоединяет программный модуль, указанный как значение свойства HeaderClassLibrary (.prg) в тот момент , когда выполняется компановка текущего Проекта.

Если определять значение свойства HeaderClassLibrary в режиме Run-Time (в процессе выполнения), рекомендуется указывать полное имя файла - библиотеки, включая полный Путь и расширение процедурного файла.

Expand image См. также

Описание

Члены Классов (Member) (Visual FoxPro)
HeaderClass, свойство
MemberClassLibrary, свойство
MemberClassLibrary, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Свойство HeaderHeight

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HeaderHeight
Смотрите также
CollapseAll image

Задает высоту заголовков столбцов в элементе управления Grid. Доступно на этапе проектирования; чтение/запись на этапе выполнения.

Header.HeaderHeight[ = nHeight]

Expand image Возвращаемое значение

nHeight

Высота заголовка, выраженная в пикселах.

Expand image Примечания

Применимо к: элемент управления Grid

Expand image Смотрите также

Reference

Свойство ScaleMode
Свойство Height
Функция HEADER( )

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Height Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Height
Смотрите также Пример
CollapseAll image

Задает высоту объекта на экране. Доступно на этапе разработки и на этапе выполнения.

Object.Height[ = nHeight]

Expand image Возвращаемое значение

nHeight

Задает высоту объекта в единицах измерения, задаваемых свойством ScaleMode объекта Form.

Expand image Замечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | Custom Object | EditBox Control | Form Object | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | PageFrame Control | _SCREEN System Variable | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

В случае форм размер Height не учитывает обрамление и строку заголовка. Не учитывается также и высота полосы прокрутки в том случае, когда она разрешена установкой свойства ScrollBars. В Visual FoxPro максимальная высота формы была увеличена до 32 000 пикселей.

В случае элементов управления высота измеряется от внешнего контура обрамления.

Значение данного свойства изменяется, когда пользователь модифицирует размеры объекта сам или посредством кода.

Используйте свойства Height и Width в вычислениях, основанных на величине общей области объекта..

Note Примечание

Свойство Height доступно только для чтения, когда оно применяется в отношении элемента управления, содержащегося в объекте Column.

Expand image Пример

Следующий пример демонстрирует, как с помощью свойства Height задать высоту трех командных кнопок в форме.

Метод AddObject используется для добавления в форму элемента управления Line и трех командных кнопок. Свойство Height задает высоту каждой командной кнопки.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('form')  && Create a form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('shpLine','Line')  && Add a Line control to the form
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')  && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')  && Quit Cmnd button

frmMyForm.shpLine.Visible = .T.  && Make Line control visible
frmMyForm.shpLine.Top = 20  && Specify Line control row
frmMyForm.shpLine.Left = 125  && Specify Line control column

frmMyForm.cmdCmndBtn1.Visible =.T.  && Up Command button visible
frmMyForm.cmdCmndBtn2.Visible =.T.  && Down" Command button visible
frmMyForm.cmdCmndBtn3.Visible =.T.  && Quit Command button visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON  && Create Command button
   Caption = 'Slant \<Up'  && Caption on the Command button
   Left = 50  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='/'  && Slant up
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton  && Create Command button
   Caption = 'Slant \<Down'  && Caption on the Command button
   Left = 200  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='\'  && Slant down
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 150  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close form
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Left, свойство (Visual FoxPro)
Move, метод (Visual FoxPro)
ScaleMode, свойство
Top, свойство (Visual FoxPro)
Width, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


HelpContextID Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HelpContextID (Visual FoxPro)
Смотрите также
CollapseAll image

Задает идентификатор контекста для темы в файле справки, который требуется для обеспечения контекстно-зависимой справки по данному объекту. Доступно на этапе разработки и выполнения.

Object.HelpContextID[ = nContextID]

Expand image Возвращаемое значение

nContextID

Задает идентификатор контекста для темы в файле справки. Для идентификатор контекста допустимы значения из интервала от 0 до 268,435,455.

Expand image Примечания

Применимо к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | EditBox Control | Form Object | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | _SCREEN System Variable | Server Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | ToolBar Object

Чтобы сформировать контекстно-зависимую справку для объекта в приложении, нужно в процессе создания файла справки назначить один и тот же номер контекста объекту и соответствующей теме справки.

Если вы создали в приложении справку, Visual FoxPro вызывает файл справки и запрашивает тему, определяемую текущим идентификатором контекста. Файл справки можно задать с помощью команды SET HELP TO, а команда ON KEY LABEL позволяет задать клавишу, активизирующую этот файл справки. Компилятор справки, необходимый для создания графической справки, включен в комплект Visual FoxPro.

Текущий идентификатор контекста - это установка свойства HelpContextID для объекта, получившего фокус. Если не будет обнаружено ни одного ненулевого текущего номера контекста, отображается основной экран с содержанием файла справки.

Для объекта server, Свойство HelpContextID specifies the context ID for the type library created for the server. Свойство ServerHelpFile задает файл справки содержащий тему связаную с идентификатором контекста.

Expand image Смотрите также

Справочное руководство

Свойство ServerHelpFile
Команда SET HELP
Команда SET TOPIC

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


HideSelection Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HideSelection
Смотрите также
CollapseAll image

Определяет, остается ли текст выделенным, когда элемент управления теряет фокус. Доступно на этапе разработки ивыполнения.

Control.HideSelection[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства HideSelection предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Выделенный текст перестает быть выделенным, когда элемент управления теряет фокус.

False (.F.)

Выделенный текст остается выделенным, когда элемент управления теряет фокус.

Expand image Примечания

Применимо к: ComboBox Control | EditBox Control | Spinner Control | TextBox Control (Visual FoxPro)

С помощью этого свойства можно отмечать текст, который будет выделен, даже когда фокус получит другой объект Form или диалоговое окно, например в программе проверки орфографии.

Expand image Смотрите также

Справочное руководство

Свойства DisabledBackColor, DisabledForeColor
Событие GotFocus
Событие LostFocus

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Highlight Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Highlight
Смотрите также
CollapseAll image

Определяет, выделяется ли ячейка элемента управления Grid, получившая фокус. Доступно на этапе разработки и для чтения/записи на этапе выполнения.

Grid.Highlight [= lExpr ]

Expand image Возвращаемое значение

lExpr

Для свойства Highlight предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Ячейка, получившая фокус, выделяется.

False (.F.)

Ячейка, не выделяется.

Expand image Примечания

Применимо к: Grid Control

Если свойство HighLight имеет значение "истина" (.T.), его можно использовать вместе со свойством SelectOnEntry объекта Column, чтобы определять, должна ли ячейка быть выделена целиком. Если свойство HighLight имеет значение "ложь" (.F.), свойство SelectOnEntry игнорируется.

Expand image Смотрите также

Справочное руководство

Свойство HighlightRow
Свойство SelectOnEntry
Свойство HighlightForeColor
Свойство HighlightBackColor
Свойство HighlightStyle

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


HighlightBackColor Property

Visual FoxPro 9.0 Описание Языка
HighlightBackColor, свойство
См. также
CollapseAll image

Определяет цвет фона для подсвечиваемой строки контрола Grid. Рассматриваемое свойство HighlightBackColor начинает работать только в тот момент, когда определяющее свойство Подсветки активной строки HighlightStyle устанавливается в значение, большее 0. Чтение/Запись в режимах разработки и RunTime.

Grid.HighlightBackColor [= nColor ]

Параметры

nColor

Числового типа (Numeric). HighlightBackColorопределяет комбинированное значение Цветовой гаммы. Visual FoxPro использует стандартное значение выделенного Элемента, которое определено в Операционной системе Windows. Дополнительную информацию по использованию Цветовых схем смотрите в разделе: BackColor, ForeColor, свойства.

Expand image Комментарии

Применяется в: Grid, контрол | BROWSE, команда

Если свойство HighlightStyle содержит значение большее нуля (>0), Visual FoxPro, по-умолчанию, устанавливает значение для свойства HighlightBackColor как 50% от исходного значения подсветки. Если вы переопределяете значение указанного свойства HighlightBackColor, Visual FoxPro не выполняет уменьшение интенсивности подсветки текущей строки Контрола Grid.

Дополнительную информацию смотрите в разделе: HighlightForeColor, свойство.

Expand image См. также

Описание

HighlightStyle , Свойство
AllowCellSelection , Свойство
HighlightBackColor , Свойство
ResetToDefault, Метод
DynamicBackColor, DynamicForeColor, Свойства
Highlight , Свойство
HighlightRow , Свойство
HighlightStyle , Свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


HighlightForeColor Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HighlightForeColor
Смотрите также
CollapseAll image

Определяет цвет переднего плана или подсветки текста в выбранной строке элемента Grid. Свойство HighlightForeColor применяется только в том случае, когда свойство HighlightStyle установлено в значение большее, чем 0. Доступно как design, так и в run time.

Grid.HighlightForeColor [= nColor ]

Параметры

nColor

Численный тип данных. HighlightForeColor указывает целое число в единичном представлении значения цвета. Visual FoxPro извлекает установки цвета, используемые по умолчанию из установок цвета для Selected Items операционной системы Windows. Для получения более подробной информации о значениях цвета смотрите описание свойств BackColor, ForeColor.

Expand image Примечания

Применяется к: Grid Control | BROWSE Command

В Windows XP, вы можете найти установки цвета для Selected Items в блоке Advanced диалогового окна Appearance. Для открытия блока выполните щелчок на рабочем столе Windows, затем щелкните на Properties. В диалоговом окне Display Properties щелкните на закладке Appearance, затем на Advanced и выберите Selected Items из списка Item. Цвет шрифта указан в боксе Color справа от бокса Font.

В Windows 2000, вы можете установить цвет для Selected Items на закладке Appearance.

Замечание Замечание

Изменение цвета шрифта для Selected Items изменит установку для всех приложений, установленных в системе.

Вы можете выбрать цвет, напечатав значение для RGB в окне Properties или отобразить с целью выбора диалоговое окно Color двойным щелчком на свойству в списке свойств окна Properties. Значение RGB для цвета, которые вы выберите в диалоговом окне Color станет текущей установкой после закрытия диалогового окна Color.

После установки HighlightStyle в значение, большее, чем 0, подсветка останется действующей до тех пор, пока вы не установите свойство HighlightStyle в 0. Если HighlightStyle установлено в значение равное 2, постоянный останутся только цвета подсветки. Выбранный предмет будет отображаться в них только при наличии фокуса у элемента управления grid.

Подсвечение оказывает влияние на все ячейки в строке, за исключение выбранной, пока свойство AllowCellSelection установлено в False (.F.), и переписывает установки свойств, связанных с цветом, такие, как BackColor и DynamicBackColor для любых колонок в grid.

Приведенный ниже пример показывает, как вы можете осуществить взаимодействие между Windows Selected Items и цветами шрифта Selected Items для свойств HighlightForeColor и HighlightBackColor:

CopyCode image Скопировать код
tmpColor1 = THIS.GrdCustomer.HighlightBackColor
tmpColor2 = THIS.GrdCustomer.HighlightForeColor
THIS.GrdCustomer.HighlightBackColor = tmpColor2
THIS.GrdCustomer.HighlightForeColor = tmpColor1

Expand image Смотрите также

Справочное руководство

Свойство HighlightStyle
Свойство AllowCellSelection
Свойство HighlightBackColor
Метод ResetToDefault
Свойства DynamicBackColor, DynamicForeColor
Свойство Highlight
Свойство HighlightRow

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


HighlightRow Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HighlightRow
Смотрите также
CollapseAll image

Определяет, подсвечены ли текущая строка и ячейка в элементе управления Grid. Доступно на этапе проектирования и чтение/запись на этапе выполнения.

Grid.HighlightRow [= lExpr]

Expand image Возвращаемое значение

lExpr

Установки для свойства HighlightRow:

Установка Описание

True (.T.)

текущая строка и ячейка подсвечены. (По умолчанию)

False (.F.)

текущая строка и ячейка не подсвечены.

Expand image Примечание

Применимо к: Єлемент управления Grid

Expand image Смотрите также

Справочное руководство

Свойство Highlight
Свойство HighlightForeColor
Свойство HighlightBackColor
Свойство HighlightStyle

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


HighlightRowLineWidth Property

Visual FoxPro 9.0 Описание Языка
Свойство HighlightRowLineWidth
См. также

Определяет толщину линии, ограничивающей выбранную строку в объекте Grid .

Grid.HighlightRowLineWidth [= Nзначение]

Параметры

Nзначение

Задает толщину горизонтальной линии границы в пикселах. Минимальное значение = 0, максимальное = 7, по-умолчанию устанавливается = 1. Толщина вертикальной линии границы не имеет визуального эффекта как в режиме разработки так и в режиме RunTime.

Комментарии

Применяется : Grid

Данное свойство работает при условии, когда другое свойство HighlightRow = True (.T.).

См. также

Другие Сссылки

Свойство HighlightRow
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


HighlightStyle Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HighlightStyle
Смотрите также
CollapseAll image

Определяет - останется ли выбранная строка в Grid подсвеченной, когда фокус будет перемещен на другой объект формы. Read/write как в design, так и в run time.

HighlightStyle работает со свойствами HighlightForeColor и HighlightBackColor в определении - будет ли выбранная строка подсвечена, и останется ли она подсвеченной, когда вы нажмете клавишу TAB для выхода из grid, или когда вы щелкните вне элемента управления, для перемещения фокуса на другой элемент управления.

Grid.HighlightStyle [ = nValue ]

Параметры

nValue

Численный тип данных. В приведенной ниже таблицы описаны значения для nValue.

nValue Описание

0

Цветовая подсветка для строк решетки (grid) не применяется. (По умолчанию)

1

Разрешена подсветка текущей строки.

2

Разрешена подсветка текущей строки и она сохраняется, когда grid перестает быть текущим активным элементом управления (то есть потеряет фокус).

Expand image Примечания

Применяется к: Grid Control

Если HighlightStyle содержит значение большее чем 0, появляется, определенный по умолчанию для HighlightBackColor, цвет на 50% светлее градиентной заливки.

Если HighlightStyle установлено в значение 2, остаются постоянными только цвета подсветки. Выбранная строка подсвечивается только тогда, когда grid имеет фокус.

Когда свойство AllowCellSelection установлено в False (.F.), текущая строка всегда подсвечивается, когда HighlightStyle установлено в значение 0.

Если свойство колонки Sparse установлено в False (.F.), колонка не будет подсвечиваться, когда свойство grid'а HighlightStyle установлено в значение 1 или 2.

Expand image Смотрите также

Справочное руководство

Свойство HighlightForeColor
Свойство Highlight
Свойство HighlightBackColor
Свойство HighlightRow
Свойство AllowCellSelection

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


HomeDir Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HomeDir
Смотрите также
CollapseAll image

Определяет домашний каталог проекта.

Object.HomeDir[ = cDirectory]

Expand image Возвращаемое значение

cDirectory

Определяет домашний каталог проекта. Значение по умолчанию является каталог, в котором размещен файл проекта (.pjx).

Expand image Примечания

Применяется к: Project Object (Visual FoxPro)

Домашний каталог для проекта представляет собой относительный путь для всех файлов проекта. Свойство HomeDir согласовано с каталогом в текстовом боксе Home на закладке Project диалогового окна Project Information.

Expand image Смотрите также

Справочное руководство

Функция CURDIR()
Диалоговое окно Project Information

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


HostName Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HostName (Visual FoxPro)
Смотрите также
CollapseAll image

Возвращает или устанавливает хост-имя приложения Visual FoxPro, демонстрируемое пользователю. Доступно на этапе разработки, доступно для чтения/записи на этапе выполнения.

Control.HostName [ = cName]

Expand image Возвращаемое значение

cName

Возвращает или устанавливает строковое выражение, задающее хост-имя.

Expand image Примечания

Применимо к: OLE Bound Control | OLE Container Control

В процессе редактирования объекта установка свойства HostName может отображаться в заголовке окна объекта. Однако некоторые приложения, работающие с объектами, не отображают имя HostName.

Expand image Смотрите также

Справочное руководство

Свойство DocumentFile

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Hours Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Hours
Смотрите также
CollapseAll image

Определяет отображение части данных типа DateTime, указывающей часы, в 12- или 24-часовом формате времени. Доступно на этапе разработки и во время выполнения.

Object.Hours[ = nValue]

Expand image Возвращаемое значение

nValue

Предусмотрены следующие установки:

Установка Описание

0

(По умолчанию) Установка SET HOURS определяет, будет ли часть данных типа DateTime, указывающая часы, отображаться в 12- или 24-часовом формате. Если SET HOURS установлена в 12, часы будут отображаться в 12-часовом формате времени. Если SET HOURS установлена в 24 - в 24-часовом формате времени.

12

Часть данных типа DateTime, указывающая часы, будет отображаться в 12-часовом формате времени.

24

Часть данных типа DateTime, указывающая часы, будет отображаться в 24-часовом формате времени.

Expand image Remarks

Применяется к: TextBox Control (Visual FoxPro)

Установка свойства Hours игнорируется, если свойство DateFormat установлено в Short или Long.

Expand image Смотрите также

Справочное руководство

Century, свойство
DateFormat, свойство
DateMark, свойство
Seconds, свойство
SET HOURS, свойство
StrictDateEntry, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


HScrollSmallChange Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство HScrollSmallChange
Смотрите также
CollapseAll image

Определяет увеличение прокрутки формы в горизонтальном направлении, когда вы щелкате по стрелкам полосы горизонтальной прокрутки. Доступно как в design time, так и в run time.

Object.HScrollSmallChange[ = nExpression]

Expand image Возвращаемое значение

nExpression

Определяет увеличение горизонтальной прокрутки. Единица измерения определяется значением свойства Scalemode. По умолчанию увеличение прокрутки составляет 10 пикселей, когда свойство Scalemode установлено в значение 3 - Pixels.

Expand image Примечания

Применяется к: Form Object

Expand image Смотрите также

Справочное руководство

Свойство ScaleMode
Свойство ScrollBars
Свойство VScrollSmallChange

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


hWnd Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство hWnd (Visual FoxPro)
Смотрите также
CollapseAll image

Возвращает дескриптор формы и определенных пользователем объектов Toolbar.

Object.hWnd

Expand image Примечание

Окружедение операционной системы Microsoft Windows идентифицирует каждую форму в приложении с помощью присвоения ей дескриптора (handle) или hWnd. Свойство hWnd используется с вызовами Windows API. Многие функции окружения операционной системы Windows требуют в качестве параметра hWnd активного окна.

Дескриптор, возвращаемый свойством hWnd присваивается форме в run time. Поэтому, дескриптор может принимать разные значения каждый раз, когда форма запускается на исполнение, но его значение остается постоянным на протяжении жизни формы, то есть до момента ее высвобождения из памяти. Если одна и та же форма запускается многократно в одной сессии, то каждый экземпляр формы может иметь различное значение hWnd.

hWnd доступно в определенных пользователем формах и объектах панелей инструментов и имеет признак "только для чтения" как в run-time, так и в design-time.

Expand image Смотрите также

Справочное руководство

Объект Form
Объект ToolBar
_WhToHwnd( ) API Library Routine

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Icon Property (Visual FoxPro)

Visual FoxPro 9.0 Language Reference
Свойство Icon (Visual FoxPro)
Смотрите также
CollapseAll image

Для формы, задает значок, который отображается на этапе выполнения для объекта Form при его свертывании. Доступно на этапе разработки и выполнения.

Для объекта project, задает значок который отображается в .exe приложении.

Object.Icon[ = cFileName]

Expand image Возвращаемое значение

cFileName

Для объекта form, задает путь и имя файла к значку который отображается свернутый объект Form. Для .exe приложения, задает путь и имя файла значка который отображается в приложении.

Expand image Примечания

Применимо к: Form | Объект Project | _SCREEN

Для форм, используйте свойство Icon для задания собственного значка для любого объекта Form, который пользователь может минимизировать на этапе выполнения. Например, можно назначить объекту Form уникальынй значок, характеризующий выполняемые им функции. На этапе разработки необходимо ввести имя файла значка в окне Properties. Это имя должно иметь расширение имени .ICO и формат значка. Если вы не зададите свой значок, используется значок, принимаемый в Visual FoxPro по умолчанию для объектов Form.

В качестве источника значков можно использовать библиотеку значков Visual FoxPro в подкаталоге HOME( )+"graphics\icons".

Note Note

Если вы устанавливаете свойство Icon на этапе разработки и задаете несуществующий файл, Visual FoxPro выдаст сообщение об ошибке, но заданный файл останется значением свойства. На этапе выполнения Visual FoxPro игнорирует свойство Icon , если для него установлен несуществующий файл.

Для объекта project, используйте свойство Icon для задания значка который отображается в приложении. Вы неможете задать значок для приложения .app Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство Picture (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


IMEMode Property

Visual FoxPro 9.0 Описание Языка
IMEMode, свойство
См. также
CollapseAll image

Определяет, как выполняется форматирование ввода данных подсистемой Input Method Editor (IME) для конкретного Контрола. Доступно для режимов Design-Time и Run-Time.

Object.IMEMode[ = nExpression]

Expand image Возвращаемое значение

nExpression

Принимает одно из следующих значений:

nExpression Действия окна редактирования IME

0

(По-умолчанию) Контроль Не Выполняется. Операционная Система определяет, создает необходимое Окно типа IME в том случае, когда Контрол получает фокус Ввода. Если указанное окно IME закрывается при получении фокуса ввода рассматриваемым Контролом, оно может быть Активировано специальной комбинацией клавиш, предусмотренной для данного случая.

1

Открыть окно IME. Окно типа IME открывается при получении фокуса ввода рассматриваемым Контролом.

2

Закрыть окно IME. Окно типа IME закрывается при получении фокуса ввода рассматриваемым Контролом. Указанное окно типа IME может быть Активитровано специальной комбинацией клавиш, предусмотренной для данного случая.

Expand image Комментарии

Применяется В: ComboBox | EditBox | TextBox

Рассмотренное Свойство игнорируется если вы Не используете специализированную версию Операционной системы Microsoft Windows для Восточной Азии (East Asia version).

Expand image См. также

Описание

IMESTATUS( ), функция
SET BROWSEIME, команда

Концепции

Как: Вводить Национальные (локализованные) Данные

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Increment Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Increment
Смотрите также
CollapseAll image

SЗадает, на сколько увеличивается или уменьшается значение в элементе управления Spinner при нажатии кнопки вверх или вниз. Доступно на этапе разработки и на этапе выполнения.

Spinner.Increment[ = nIncrement]

Expand image Возвращаемое значение

nIncrement

Задает число, которое прибавляется к содержимому элемента управления Spinner при нажатии кнопки со стрелкой вверх и которое вычитается из этого содержимого при нажатии кнопки со стрелкой вниз. По умолчанию используется число 1,00.

Note Note

Если значение свойства Increment вводить в окне Properties, значение ограничено до двух десятичных знаков.

Expand image Примечания

Применимо к: Spinner Control

Expand image Смотрите также

Справочное руководство

Событие RangeLow
Свойство IncrementalSearch

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


IncrementalSearch Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IncrementalSearch
Смотрите также
CollapseAll image

Определяет - будет ли элемент управления поддерживать нарастающий поиск (incremental search) под управлением клавиатуры. Доступно как в design time, так и в run time.

Control.IncrementalSearch[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства IncrementalSearch является:

Setting Description

True (.T.)

(По умолчанию) поддерживает нарастающий поиск.

False (.F.)

Не поддерживает нарастающий поиск.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Примером нарастающего поиска (incremental search) является ситуация, что когда вам нужно найти слово "ELASTIC," вы можете печатать побуквенно E-L-A, и так далее. По мере того, как вы печатаете Visual FoxPro производит поиск по нарастающей комбинации печатаемых вами букв соответствующего им слова, которое вы желаете найти. В противно случае, он найдет первое слово, которое начинатеся с E, затем первое слово, которое начинается с L, и так далее.

Отметьте, что установка системной переменной _INCSEEK определяет промежуток времени между печатаемыми вами буквами. Вам может потребоваться установить такое значение _INCSEEK, которое обеспечить правильную работу нарастающего поиска.

Элемент управления combobox со свойством Style установленным в 0 (Dropdown Combo) покажет нарастающей поиск только в текстовом боксе, если виден выпадающей список. Со своством Style установленным в 2 (Dropdown List), нарастающий поиск будет показан в текстовом боксе, независимо от того, виден выпадающий список или нет.

Expand image Смотрите также

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


InitialSelectedAlias Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство InitialSelectedAlias
Смотрите также
CollapseAll image

Задает псевдоним, связанный с объектом Cursor , в качестве текущего при загрузке среды данных. Доступно на этапе разработки; только для чтения на этапе выполнения.

DataEnvironment.InitialSelectedAlias[ = cText]

Expand image Возвращаемое значение

cText

Задает псевдоним, соответствующий объекту Cursor.

Expand image Примечания

Применимо к: DataEnvironment Object

Играет ту же роль, что и команда SELECT.

Expand image Смотрите также

Справочное руководство

Свойство Alias
Команда SELECT

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Свойство InputMask

Visual FoxPro 9.0 Справочное руководство по языку
Свойство InputMask
See Also
CollapseAll image

Определяет как пользователю вводить данные и как отображать данные в элементе управления. Доступно на этапе проектирования и выполнения.

Control.InputMask[ = cMask]

Expand image Возвращаемое значение

cMask

Задает установки определяющие как вводить и отображать данные. В следующей таблице приведены возможные значения для cMask.

cMask Описание

!

Преобразует прописные символы в заглавные.

#

Разрешает вводить цыфры, пробел, и знаки такие как знак минус ( – ).

$

Показывает текущий символ валют, определенный командойSET CURRENCY, в фиксированом месте.

$$

Показывает плавающий символ валюты который всегда присоединяется к цыфрам в spinner или text box.

,

Показывает символ разделитель цифровых груп, установленый в "Язык и стандарты" панели инструментов Windows.

.

Показывает текущий разделитель целой и дробной части определенный командой SET POINT. (По умолчанию точка (.))

9

Разрешает вводить цифры и знаки.

A

Разрешает только алфаыитные символы.

H

Prevents entry of non-hexadecimal symbols in the specified position.

L

Разрешает только логический тип данных .

N

Разрешает только буквы и цыфры.

U

Разрешает только алфавитные символы и конвертирует их в заглавные (А - Я).

W

Разрешает только алфавитные символы и конвертирует их в прописные (а - я).

X

Разрешает любые символы.

Y

Разрешает буквы Y,y N,n для логических значений True (.T.) и False (.F.) соответственно.

Expand image Примечания

Используется в: Column Object | ComboBox Control | Spinner Control | TextBox Control (Visual FoxPro)

InputMask Противоположно свойству Format в котором задается поведение всего поля ввода целиком. Вы можете скомбинировать несколько кодов Format, но все равно они будут воздействовать на все содержимое поля ввода.

Expand image Смотрите также

Справочное руководство

Команда SET POINT
Команда SET CURRENCY
Свойство DynamicInputMask
Свойство Format

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


InsertCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство InsertCmd
Смотри также

Указывает команду, используемую для вставки новых строк. Редактируемое (Read/write) в design и run time.

CursorAdapter.InsertCmd [ = cCommand ]

Возвращаемое значение

cCommand

Сивольный тип данных. В приведенной ниже таблице перечислены возможные значения для cCommand.

cCommand Описание

Символьная строка или выражение

Указывает действительную (valid) командную строку для источника данных, определенного в свойстве InsertCmdDataSource.

Пустая строка ("")

Если значение свойства AllowInsert установлено в True (.T.), то объект CursorAdapter сгенерирует команду SQL INSERT автоматически.

Для получения подробной информации об автоматической генерации команд SQL, смотрите статью Управление доступом к данным, с использованием CursorAdapter'ов.

Примечания

в Применяется к: классу CursorAdapter

Смотри также

Прочие ресурсы

Properties
Свойства, методы и события объекта CursorAdapter

Перешлите комментации об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


InsertCmdDataSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство InsertCmdDataSourceType
Смотри также

Указывает тип источника данных для источника данных, определяемого значением свойства InsertCmdDataSource. Редактируемое (Read/write)в design и run time.

CursorAdapter.InsertCmdDataSourceType [= cDataSourceType]

Возвращаемое значение

cDataSourceType

Символьный тип данных. Параметр cDataSourceType определяет тип источника данных для источника данных, определяемого значением свойства InsertCmdDataSource

Замечания

Применяется к: классу CursorAdapter

Если свойство InsertCmdDataSourceType содержит пустую строку ("") или "пусто" (.NULL.), Visual FoxPro сбрасывает свойство InsertCmdDataSource объекта CursorAdapter и использует его свойства DataSource и DataSourceType.

Для генерации XML UpdateGram, вы должны установить значение свойства InsertCmdDataSourceType в "XML".

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter
UpdateGram Property

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


InsertCmdRefreshCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство InsertCmdRefreshCmd
Смотри также

Определяет команду автоматического обновления (Refresh) записи после того, как будет исполнена команда вставки. Свойство редактируемое (Read/write) как в design time так и в run time.

CursorAdapter.InsertCmdRefreshCmd[ = cCommand]

Возвращаемое значение

Термин Определение

cCommand

Символьный тип данных. Ниже приведена таблица с возможными значениями для свойства, устанавливаемыми через cCommand.

Значение cCommand | Описание
Символьная строка или выражение | Определяет действительную, корректную (valid) команду обновления (refresh) для источника данных.
Пустая строка ("") | Объект CursorAdapter генерирует команду обновления(refresh) автоматически.

Замечания

Применимо к: классу CursorAdapter

Смотри также

Справочное руководство

InsertCmdRefreshCmd свойство
InsertCmdRefreshFieldList свойство
InsertCmdRefreshKeyFieldList свойство
UpdateCmdRefreshCmd свойство
UpdateCmdRefreshFieldList свойство
UpdateCmdRefreshKeyFieldList свойство

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


InsertCmdRefreshFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство InsertCmdRefreshFieldList
Смотри также

Указывает какие поля в курсоре должны быть освежены после исполнения команды вставки. Редактируемое (Read/write) как в design time, так и в run time.

CursorAdapter.InsertCmdRefreshFieldList[ = cExpr]

Возвращаемое значение

Термин | Описание
cExpr | Символьное выражение cExpr представляет собой разделенный запятыми список (comma delimited list) полей курсора, которые будут освежены.

Замечания

Применяется к : классу CursorAdapter

Свойство InsertCmdRefreshFieldList определяет, какие поля в курсоре будут автоматически освежены после выпуска команды вставки.

Замечание:
Свойство AllowInsert (разрешить вставку) должно быть установлено в True (.T.) для разрешения исполнения операции вставки на источнике данных.

Для получения подробной информации о том, как Visual FoxPro обновляет удаленные данные с использованием CursorAdapter, смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Смотри также

Справочное руководство

InsertCmdRefreshCmd свойство
InsertCmdRefreshKeyFieldList свойство
UpdateCmdRefreshCmd свойство
UpdateCmdRefreshFieldList свойство
UpdateCmdRefreshKeyFieldList свойство

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


InsertCmdRefreshKeyFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку.
InsertCmdRefreshKeyFieldList Property
Смотри также

Указывает на ключевые поля в курсоре, используемые для возврата записи после исполнения команды вставки Insert. Редактируемое (Read/write) как в design time, так и в run time.

CursorAdapter.InsertCmdRefreshKeyFieldList[ = cExpr]

Возвращаемое значение

Термин | Определение
cExpr | Символьное выражение cExpr, представляющее собой разделенный запятыми список ключевых полей в курсоре, которые используются для получения записи из источника данных, сразу после исполнения команды.

Замечания

Применяется к : классу CursorAdapter

Для получения подробной информации о том, как Visual FoxPro обновляет CursorAdapter'ы, смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Смотри также

Справочное руководство

InsertCmdRefreshCmd свойство
InsertCmdRefreshFieldList свойство
UpdateCmdRefreshCmd свойство
UpdateCmdRefreshFieldList свойство
UpdateCmdRefreshKeyFieldList свойство

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Instancing Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Instancing
Смотрите также
CollapseAll image

Определяет - как может быть получен экземпляр сервера в проекте. Доступно как в design time, так и в run time.

Object.Instancing[ = nExpression]

Expand image Возвращаемое значение

nExpression

Определяет как может быть получен экземпляр сервера. В приведенной ниже таблице приведены значения для nExpression с описанием каждого из них.

Установки Константа FoxPro.h Описание

0

SERVERINSTANCE_NOTCREATABLE

Предоставляет вам возможность создать экземпляр класса только внутри Visual FoxPro.

1

SERVERINSTANCE_SINGLEUSE

(По умолчанию) Предоставляет вам возможность создать экземпляр класса как внутри Visual FoxPro, так и вне Visual FoxPro с помощью Automation.

Каждый запрос к экземпляру класса клиентом автоматизации вне проекта вызывает запуск отдельной копии сервера автоматизации.

2

SERVERINSTANCE_MULTIUSE

Предоставляет вам возможность создать экземпляр класса как внутри Visual FoxPro, так и вне Visual FoxPro с помощью Automation.

Каждый запрос к экземпляру класса клиентом автоматизации вне проекта вызывает предоставление уже запущенной копии сервера автоматизации в качестве источника для нового экземпляра.

Expand image Примечания

Применяется к: Server Object

Expand image Смотрите также

Справочное руководство

Функция GETOBJECT( )
Свойство ServerClass
Свойство ServerClassLibrary

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IntegralHeight Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IntegralHeight
Смотрите также
CollapseAll image

Определяет, что высота элементов управления EditBox или ListBox автоматически устанавливается для того, что последний предмет в элементе управления был корректно отображен. Определяет, что высота элемента управления TextBox устанавливается для того, чтобы вместить одну строку текста. Доступно в design time; "только для чтения" в run time.

Object.IntegralHeight[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из приведенного ниже:

lExpr Описание

True (.T.)

Высота элементов управления EditBox или ListBox устанавливается при необходимости такой, что был корректно отображен последний предмет. Высоат TextBox устанавливается для размещения одной строки текста.

False (.F.)

(По умолчанию) Высота элементов управления EditBox или ListBox не устанавливается, что может привести к некорректному отображению предмета в элементе управления. Также не устанавливается и высотам TextBox.

Expand image Примечания

Применяется к: EditBox Control | ListBox Control | TextBox Control (Visual FoxPro)

Последняя строка текста в EditBox или последний предмет списка в ListBox могут отображаться лишь частично, если элемент управления не имеет должной высоты. Например, высота элемента управления может быть такой, что только верхняя половина последнего предмета отобразиться в элементе управления. Установите IntergralHeight в (.T.) для автоматической установки высоты элемента управления для того, чтобы последний элемент отобразился корректно.

Для элемента управления TextBox, установите IntergralHeight в (.T.) для гаранти, что элемент управления автоматически подгонит свою высоту при изменения значения свойства FontSize.

Когда свойство IntegralHeight установлено в true (.T.), значение свойства Height может не соответствовать реальной высоте элемента управления.

Expand image Смотрите также

Справочное руководство

Свойство Height
Свойство FontSize

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Interval Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Interval
Смотрите также
CollapseAll image

Задает интервал времени в миллисекундах между вызовами события Timer элемента управления Timer.

Timer.Interval[ = nTime]

Expand image Возвращаемое значение

nTime

Задает интервал в миллисекундах между событиями Timer. По умолчанию принимается значение 0, которое блокирует запуск события Timer.

Expand image Примечания

Применимо к: Timer Control

Подробнее о свойстве Interval смотрите "Инициализация элемента управления таймер" Performing Specific Actions at Given Intervals.

Expand image Смотрите также

Справочное руководство

Метод Reset
Событие Timer

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


IsAttribute Property

Visual FoxPro 9.0 Описание Языка
IsAttribute, свойство
См. также
CollapseAll image

Данное свойство характеризует, представлено ли рассматриваемое Поле (типа XMLField) в форме Атрибута (Attribute) соответствующего документа XML.

XMLField.IsAttribute [= lValue]

Expand image Возвращаемое значение

lValue

Логического типа (Logical). В следующей таблице описаны возможные значения для параметра lValue.

lValue Краткое Описание

False (.F.)

Поле представлено как Элемент (Element), а не как Атрибут, в соответствующем документе XML. (По-умолчанию)

True (.T.)

Поле представлено как Атрибут (Attribute) в соответствующем документе XML.

Expand image Комментарии

Применяется в: XMLField, класс

Expand image См. также

Описание

XMLField, объект; Свойства, Методы, События

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


IsBase64 Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IsBase64
Смотрите также
CollapseAll image

Определяет будет ли поле в документе XML кодироваться как base64 или hexBinary.

XMLField.IsBase64 [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

(По умолчанию) Поле кодируется как hexBinary.

True (.T.)

Поле кодируется как base64.

Expand image Примечания

Применяется к классу: Класс XMLField

IsBase64 применяется только тогда, когда свойство IsBinary установлено в True (.T.).

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField
Свойство IsBinary

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IsBinary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IsBinary
Смотрите также
CollapseAll image

Specifies whether the field is Binary in the XML Schema.

XMLField.IsBinary [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

(По умолчанию) В XML схеме поле является строкой, а не бинарным значением.

True (.T.)

В XML схеме поле определяется как бинарное.

Expand image Примечания

Приеняется к классу: XMLField

Для применения свойства IsBase64, IsBinary должно быть установлено в True (.T.).

Expand image Смотрите также

Справочное руководство

Свойство IsBase64
Свойства, методы и события объекта XMLField

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IsDiffGram Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IsDiffGram
Смотрите также
CollapseAll image

Указывает - будет ли объект XMLAdapter ассоциирован с .NET DiffGram. Read/write.

Замечание Замечание

Установка свойства IsDiffGram в действительности не изменяет ассоциированный XML документ.

XMLAdapter.IsDiffGram [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Объект XMLAdapter не ассоциирован с .NET DiffGram. (По умолчанию)

True (.T.)

Объект XMLAdapter ассоциирован с .NET DiffGram.

Expand image Примечания

Применяется к классу: XMLAdapter

XMLAdapter проверяет - являеися ли DiffGram импортируемый XML и устанавливает свойство IsDiffGram. ПРи создании и генерации XML из таблиц и исполнении метода ToXML объекта XMLAdapter, Visual FoxPro проверяет установку IsDiffGram и создает XML отвечающий его установкам.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Метод ToCursor
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IsLoaded Property

Visual FoxPro 9.0 Описание Языка
IsLoaded, свойство
См. также
CollapseAll image

Данное свойство характеризует, связан ли рассматриваемый объект типа XMLAdapter с документом XML. Только-Чтение.

XMLAdapter.IsLoaded [= lValue]

Expand image Возвращаемое значение

lValue

Логического типа (Logical). В таблице описываются возможные значения параметра lValue.

lValue Краткое Описание

False (.F.)

XMLAdapter не связан с документом XML. (По-умолчанию)

True (.T.)

XMLAdapter связан, соответствует документу XML.

Expand image Комментарии

Применяется в: XMLAdapter, класс

Expand image См. также

Описание

XMLAdapter, объект; Свойства, Методы, События

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


IsNull Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IsNull
Смотрите также
CollapseAll image

Указывает, будет ли поле в XML документе поддерживать null-значения.

XMLField.IsNull [= lValue]

Expand image Возвращаемое значение

IValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Поле не поддерживает null-значения. (По умолчанию)

True (.T.)

Поле поддерживает null-значения.

Expand image Примечания

Применяется к классу: XMLField

Expand image Смотрите также

Руководство

Свойства, методы и события объекта XMLField

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ItemBackColor, ItemForeColor Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства ItemBackColor, ItemForeColor
Смотрите также
CollapseAll image

Определяет цвета фона и текста, используемые для отображения текста предметов в списках элементов управления ComboBox или ListBox. Доступно как в design, так и в run time.

Control.ItemBackColor [= nColor ]
-or-
Control.ItemBackColor = RGB( nRedValue, nGreenValue, nBlueValue )
Control.ItemForeColor [ = nColor ]
-or-
Control.ItemForColor = RGB( nRedValue, nGreenValue, nBlueValue )

Expand image Возвращаемое значение

nColor

Указывает целое число, которое представляет цвет для текста. Для получения более подробной информации смотрите таблицу цветов в описании Свойства BackColor, ForeColor.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Для того чтобы выбрать или определить цвета, выполните двойной щелчок на любом из свойств, связанных с цветом в окне Properties для отображения диалогового окна Color. Значения красного, зеленого и синего цветов, соответствующие выбранному вами цвету, становятся установками для этих свойств, после того, как вы закроете диалоговое окно Color.

Expand image Смотрите также

Справочное руководство

Свойства BackColor, ForeColor

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ItemData Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ItemData
Смотрите также
CollapseAll image

Использует индекс для ссылки на одномерный массив, который содержит то же количество предметов, что и свойство List элементов управления ComboBox или ListBox. Не доступно в design time; "только для чтения" в run time.

Control.ItemData(nIndex)[ = nData]

Expand image Возвращаемое значение

nIndex

Указывает индекс предмета для хранения или извлечения. nIndex соответствует порядку отображения предметов в списке.

nData

Число, для хранения или извлечения из списка ItemData.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Используйте свойство ItemData для связи конкретного числа с каждым предметом в Combobox или Listbox. Вы можете затем использовать эти числа в коде для идентификации предметов списка. Например, вы можете использовать идектификационный номер для идентификации имени каждого работника в Listbox. Когда вы заполеяете listbox, то кроме этого, номерами работников заполняются соответствующие элементы в массиве ItemData.

Замечание Замечание

Когда вы вставляете предмет в список с помощью метода AddItem, предмет в это же время, размещается в массиве ItemData. Однако, значение не инициализируется; оно содержит значение, которое было в этой позиции до ввода предмета в список. Когда вы используете свойство ItemData, убедитесь, что вы установили каждое значение, когда вводили новый предмет в список.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод ItemIDToIndex
Свойство List
Свойство ListItemID
Свойство NewItemID
Метод RemoveItem
Свойство Selected
Свойство TopItemID

Прочие ресурсы

Свойство (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Свойство ItemIDData

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ItemIDData
Смотрите также
CollapseAll image

Создает ссылку по уникальному идентификатору на одномерный массив, длина которого совпадает с установкой свойства List элемента управления ComboBox или ListBox. Недоступно на этапе проектирования; чтения/запись на этапе выполнения.

Control.ItemIDData(nItemID)[ = nData]

Expand image Возвращаемое значение

nItemID

Задает уникальный идентификатор элемента.

nData

Число, которое следует записать или извлечь из списка ItemIDData.

Expand image Примечания

Применимо к: ComboBox Control | ListBox Control

С помощью свойства ItemIDData можно каждому элементу списка ComboBox или ListBox сопоставить номер. Затем эти номера можно использовать в коде для идентифицирования элементов списка. Например, можно использовать идентификационные номера для обозначения имен сотрудников в элементе управления ListBox. Заполняя список ListBox, формируйте параллельно и соответствующие элементы в массиве ItemIDData с помощью идентификаторов сотрудников.

Note Замечание

Когда вы вставляете элемент в список с помощью метода AddItem, , одновременно автоматически выделяется элемент и в массиве ItemIDData. Однако его значение не инициализируется; он сохраняет значение, которое находилось в этой позиции до включения элемента в список. Когда вы пользуетесь свойством ItemIDData, не забывайте устанавливать значения новых элементов, добавляемых в список. Это тот же самый массив, который используется свойством ItemData .

Expand image Смотрите также

Reference

Метод IndexToItemID
Свойство List
Свойство ListItemID
Свойство NewItemID
Метод RemoveItem
Свойство Selected
Свойство TopItemID

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ItemTips Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ItemTips
Смотрите также
CollapseAll image

Определяет - будут ли подсказки для элементов списков отображаться в управляющих элементах Combobox или Listbox. Доступно как в design time, так и в run time.

Control.ItemTips[= lExpression]

Expand image Возвращаемое значение

lExpression

становками для ItemTip являются:

Установка Описание

True (.T.)

Подсказки для элементов списков будут отображаться в управляющих элементах Combobox или Listbox.

False (.F.)

(По умолчанию) Подсказки для элементов списков отображаться не будут.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

ПОдсказка для элемента представляет собой маленькое окно, которое отображает весь элемент, находящийся в списочной части элементов управления Combobox или Listbox, в момент, когда указатель мыши позиционируется над элементов списка. Установите это свойство в True (.T.) когда элементы списков в ComboBox или ListBox больше по длине, чем ширина элемента управления.

Expand image Смотрите также

Справочное руководство

Свойство ItemData

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IXMLDOMElement Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство IXMLDOMElement
Смотрите также
CollapseAll image

Содержит объектную ссылку на объект IXMLDOMElement после успешного исполнения методов LoadXML или Attach объекта XMLAdapter. Методы XMLAdapter работают внутри области действия полученного объекта IXMLDOMElement.

Для получения более подробной информации об объектах IXMLDOMElement смотрите Microsoft XML Core Services (MSXML) 4.0 SDK в библиотеке MSDN на сайте http://msdn.microsoft.com/library/.

XMLAdapter.IXMLDOMElement

Expand image Возвращаемое значение

Объектная ссылка. IXMLDOMElement содержит объектную ссылку на объект IXMLDOMElement. Если объект не заполнен, то IXMLDOMElement содержит "пусто" (.NULL.).

Expand image Примечания

Применяется к: Класс XMLAdapter

Метод LoadXML объекта XMLAdapter LoadXML устанавливает IXMLDOMElement на корневой элемент документа.

Если вы передадите объект XMLDOMElement, как первый параметр метода Attach объекта XMLAdapter, то метод присваивает переданный элемент свойству IXMLDOMElement.

Если вы передадите объект IXMLDOMElement, как первый параметр метода Attach объекта XMLAdapter, то метод присваивает корневой элемент документа свойству IXMLDOMElement.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Метод LoadXML
Метод Attach (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


KeyboardHighValue, KeyboardLowValue Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства KeyboardHighValue, KeyboardLowValue
Смотрите также
CollapseAll image

Определяет наибольшее и наименьшее значения, которые могут быть введены в элемент управления Spinner с помощью клавиатуры. Доступно как в design, так и в run time.

Spinner.KeyboardHighValue[ = nHigh]Spinner.KeyboardLowValue[ = nLow]

Expand image Возвращаемое значение

nHigh

Определяет наибольшее значение, которое может быть введено. По умолчанию значением для nHigh является 2,147,483,647.

nLow

Определяет наименьшее значение, которое может быть введено. По умолчанию значением для nLow является – 2,147,483,647.

Expand image Примечания

Применяется к: Spinner Control

Expand image Смотрите также

Справочное руководство

Свойства SpinnerHighValue, SpinnerLowValue
Команда KEYBOARD

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Keyfield Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Keyfield
Смотрите также
CollapseAll image

Определяет - будет ли поле представлять собой ключевое поле.

Keyfield применяется только при исполнении метода ApplyDiffgram объекта XMLTable. Вы можете установить это свойство когда пожелаете; Visual FoxPro не устанавливает это свойство сам.

XMLField.Keyfield [= lValue]

Expand image Возвращаемое значение

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue | Описание
False (.F.) | Поле не является ключевым полем. (По умолчанию)
True (.T.) | Поле представляет собой ключевое поле.

Expand image Примечания

Применяется к: XMLField Class

Expand image Смотрите также

Справочное руководство

Метод ApplyDiffgram
Свойство, методы и события объекта XMLField
Метод ApplyDiffgram

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


KeyFieldList Property

Visual FoxPro 9.0 Справочное руководство
Свойство KeyFieldList
Смотрите также
CollapseAll image

Указывает разделенный запятыми список первичных полей для курсора или объекта CursorAdapter. При работе с этим свойством в отношении обычных курсоров используйте функции CURSORSETPROP() и CURSORGETPROP(). Свойство редактируемое - Read/write.

Note Замечание

Установки свойства KeyFieldList для объектов CursorAdapter подменяют соответствующую установку курсора, подсоединенного к объекту CursorAdapter. Поэтому, изменение установки курсора с помощью CURSORSETPROP() в указанном случае не будет иметь воздействия.

CursorAdapter.KeyFieldList [= cList]

Expand image Возвращаемое значение

cList

Символьный тип данных. Параметр cList указывает разделенный запятыми список первичных полей для курсора или объекта CursorAdapter и не имеет значения по умолчанию.

Note Замечание

Вы должны включить список имен полей в случае, когда используете автоматическое обновление для того, чтобы обновление работало соответствующим образом.

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


KeyPreview Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство KeyPreview
Смотрите также
CollapseAll image

Определяет, перехватываются ли события KeyPress элементов упрвления событием KeyPress содержащего их объекта. Доступно на этапе разработки и выполнения.

Object.KeyPreview[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства KeyPreview предусмотрены следующие установки:

Установка Описание

True (.T.)

Объект Form получает события KeyPress первым, а после него события KeyPress получает активный элемент управления.

False (.F.)

(По умолчанию) События Keypress events; Form их не получает.

Expand image Примечания

Применимо к: Form Object | Page Object | _SCREEN System Variable | ToolBar Object

Свойство KeyPreview спользуется для того, чтобы разрешить объекту Form обрабатывать события KeyPress раньше, чем это сделает активный элемент управления.

С помощью данного свойства можно создать процедуру обработки ввода с клавиатуры для объекта Form. Например, когда приложение использует функциональные клавиши, можно обрабатывать нажатия клавиш на уровне Form, а не писать код для каждого элемента управления, который способен принимать события нажатия клавиш.

Если в объекте Form нет видимых и доступных элементов управления, он автоматически будет принимать все события, связанные с клавиатурой.

Expand image Смотрите также

Справочное руководство

Свойство Enabled (Visual FoxPro)
Событие KeyPress
Свойство Visible (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


KeySort Property

Visual FoxPro 9.0 Справочное руководство по языку
KeySort свойство
Смотрите также Пример

Определяет, в каком порядке Visual FoxPro перечисляет элементы в семействе, когда Вы используете команду FOR EACH . Доступно во время разработки и во время исполнения..

Collection.KeySort [ = nValue ]

Возвращаемое значение

nValue

Следующая таблица содержит список возможных знаачений для nValue.

nValue Description

0

По возрастанию индекса (значение по умолчанию)

1

По убыванию индекса

2

По возрастанию ключа

3

По убыванию ключа

Замечания

Применяется к: классу Collection

KeySort свойство применяется только для команды FOR EACH.

KeySort свойство не определяет, как метод add добавляет элементы к семейству. Add всегда добавляет элементы в конец, если Вы не определяете eBeforeItem или eAfterItem параметр.

Вы можете использовать семейство, в котором ни один из элементов не имеет ключа. В этом случае, последние два значения для nValue: 2 и 3 - не используются. Если Вы определяете значение 3, Visual FoxPro использует значение 1.

Изменение свойств KeySort внутри цикл FOR EACH не изменяет последовательность элементов в этом цикле. Однако изменяя KeySort, Вы можете изменить последовательность элементов для вложенного цикла. В следующем примере, внешний цикла сортирован со значением KeySort 1, а внутренний цикл сортирован, используя KeySort со значением 2:

Копировать код
oCollection.KeySort = 1
FOR EACH oItem IN oCollection
     oCollection.KeySort = 2
     FOR EACH oItem2 IN oCollection
     ENDFOR
ENDFOR

Пример

Вы можете установить значение для KeySort как показано в следующем примере:

Копировать код
* Sorts a collection in ascending index order
oCollection.KeySort = 0

Смотрите также

Прочие ресурсы

Properties
Collection объект, свойства, методы, и события
Add метод (класс Collection)
FOR EACH ... ENDFOR команда

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


LanguageOptions Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство LanguageOptions
Смотрите также Пример
CollapseAll image

Это свойство объекта приложения предоставляет возможность управлять общими установками языка Visual FoxPro. Оно включает возможность проверять неверно объявленные переменные памяти.

_VFP.LanguageOptions [= eValue]

Expand image Возвращаемое значение

eValue
Значение бита Описание

1

Для переменных памяти требуется строгое объявление типа.

Expand image Примечания

Применяется к: объекту Application | системной переменной _VFP

Когда LanguageOptions установлено в 1, вы должны объявлять переменные памяти и массивы, как LOCAL или PUBLIC до их использования в коде приложения. Попытка использовать необъявленные переменные или массивы будет генерировать вывод в окне DEBUG OUTPUT. При этом не генерируется ошибка. Вы должны записывать этот вывод в файл так, как показано в приведенной ниже строке кода:

CopyCode image Скопировать код
   SET DEBUGOUT TO MyErrorFile

Вывод из необъявленных переменных в LanguageOptions представляет собой разделенный запятыми список в формате:

LangOptionsErr, DateTime, cLineNo, cProcedure|cMethod, cFileName, cVarName

Элемент | Описание
LangOptionsErr | Определяет имя вывода типа для поисков и фильтров
DateTime | Определяет штамп времени, когда запущен (= DATETIME( ))
cLineNo | Определяет номер строки, где произошла ошибка (=LINENO( ))
cProcedure|cMethod | Определяет имя процедура или метода, в котором произошла ошибка ( = PROGRAM( ))
cFileName | Определяет имя файла, в котором произошла ошибка. (=SYS(16( ))
cVarName | Определяет имя необъявленной переменной

Объявление переменных PRIVATE не создает переменных (в отличие от объявления их посредством PUBLIC или LOCAL), поэтому приведенный ниже код сгенерирвует запись лога:

CopyCode image Скопировать код
   PRIVATE myvar
   myvar = 1

Команды, которые создают переменные на лету, такие как SCATTER ... NAME, REPORT ... NAME и прочие, будут генерировать записи логов, поскольку эти переменные создаются как PRIVATE.

Expand image Пример

Приведенный ниже код показывает вывод отладчика, являющийся следствием ввода необъявленной переменной myvar.
CopyCode image Скопировать код
_VFP.LanguageOptions=1
myvar=4

Строгая типизация в Visual FoxPro обеспечивается принудительно только в run time, поэтому вы должны запустить код для обнаружения ошибок. Строгая типизация применима в обоих версиях Visual FoxPro (разработчика и run time).

Замечание Замечание

Использование частных (private) переменных, наподобие тех, которые объявляются командой PRIVATE или тех, которые создаются при использовании ключевого слова NAME определенных команд, будет генерировать ошибки. Если вы распространяете свое приложение, на которое может потенциально воздействовать установка этого свойства в 1 другим разработчиком, вы должны предохранить свой код путем установки этого свойства в 0, когда это необходимо.

Expand image Смотрите также

Задачи

Как: установить свойства в Run Time

Справочное руководство

Команда PUBLIC
Команда PRIVATE
Команда LOCAL
Объявление переменных (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


LastModified Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство LastModified
Смотрите также
CollapseAll image

Содержит дату и время последней модификации файла в проекте. "Только для чтения" в design time и run time.

Object.LastModified

Expand image Примечания

Применяется к: File Object (Visual FoxPro)

Свойство LastModified содержит значение DateTime, указывающее на дату и время последнего изменения файла.

Expand image Смотрите также

Справочное руководство

Функция FDATE( )
Функция FTIME( )

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Left Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Left (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Определяет дистанцию между левым краем элемента управления или формы и содержащим его контейнерным объектом. Доступно как в design time, так и в run time.

Object.Left[ = nDist]

Expand image Возвращаемое значение

nDist

Указывает дистанцию между левым краем элемента управления или формы и содержащим его контейнерным объектом.

Контейнером для форм является, по умолчанию, главное окно Visual FoxPro.

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | Custom Object | EditBox Control | Form Object | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | PageFrame Control | _SCREEN System Variable | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Свойство Left указывает, как далеко от нулевой позиции объект размещен. Например, если форма содержится в главном окне Visual FoxPro, нулевой позицией является правый край левого бордюра главного окна. Если к левому краю главного окна пристыкована панель инструментов, то нулевой позицией является правый край панели.

Используйте свойства Left, Top, Height и Width для операций, основанных на внешних размерах объекта, таких как перемещение или изменение в размерах. Используйте свойство ScaleMode для изменения единицы измерения.

Замечание Замечание

Если объект содержится в объекте Column, то его свойство Left получает признак "только для чтения".

Expand image Пример

Приведенный ниже пример показывает, как используется свойство Left для размещения элементов управления на форме. Метод AddObject, используется для ввода в форму элемента управления Line и трех командных кнопок, а свойство Left вводимых элементов управления указывает их горизонтальное размещение на форме.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')  && Create a form
frmMyForm.Closable = .F.  && Disable the window pop-up menu

frmMyForm.AddObject('shpLine','Line')  && Add a Line control to the form
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')  && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')  && Quit Cmnd button

frmMyForm.shpLine.Visible = .T.  && Make Line control visible
frmMyForm.shpLine.Top = 20  && Specify Line control row
frmMyForm.shpLine.Left = 125  && Specify Line control column

frmMyForm.cmdCmndBtn1.Visible =.T.  && Up Command button visible
frmMyForm.cmdCmndBtn2.Visible =.T.  && Down" Command button visible
frmMyForm.cmdCmndBtn3.Visible =.T.  && Quit Command button visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON  && Create Command button
   Caption = 'Slant \<Up'  && Caption on the Command button
   Left = 50  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='/'  && Slant up
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton  && Create Command button
   Caption = 'Slant \<Down'  && Caption on the Command button
   Left = 200  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='\'  && Slant down
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 150  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close form
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство Height
Метод Move (Visual FoxPro)
Свойство ScaleMode
Свойство Top (Visual FoxPro)
Свойство Width

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


LeftColumn Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство LeftColumn
Смотрите также
CollapseAll image

Содержит номер самого левого столбца, отображаемого в элементе управления Grid. Доступен только для чтение на этапе проектирования и выполнения.

Grid.LeftColumn

Expand image Примечания

Применимо к: Элемент управления Grid

С помощью свойства LeftColumn можно определить, какие столбцы останутся невидимыми для пользователя. Например, если LeftColumn = 3, столбцы 1 и 2 будут невидимы.

Expand image Смотрите также

Справочное руководство

Свойство ActiveColumn
Свойство ActiveRow
Свойство ColumnOrder
Свойство RelativeColumn
Свойство RelativeRow

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LineContents Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство LineContents
Смотрите также
CollapseAll image

Определяет содержание строки кода, которое произвело объект исключения (exception object). Редактируемое в run time.

Exception.LineContents

Expand image Возвращаемое значение

Символьный тип данных

Expand image Примечания

Применяется к: Exception Class (Visual FoxPro)

Идентично значению возвращаемому предложением:

CopyCode image Скопировать код
MESSAGE(1)

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Exception
Функция MESSAGE( )
Команда TRY...CATCH...FINALLY

Концепции

Структурированная обработка ошибок

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


LineNo Property

Visual FoxPro 9.0 Описание Языка
LineNo, свойство
См. также
CollapseAll image

Определяет номер строки Программного Кода, в которой произошла Исключительная ситуация (Exception Object). Чтение/Запись в режиме Run-Time.

Exception.LineNoProperty

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Применяется в: Класс Exception (Visual FoxPro)

Значение данного Свойства совпадает со значением, возвращаемым функцией LINENO( ).

Expand image См. также

Описание

Объект Exception; Свойства, Методы, События
LINENO( ), функция
TRY...CATCH...FINALLY, команда

Концепции

Структурная Обработка Ошибок

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


LineSlant Property

Visual FoxPro 9.0 Справочное руководство по языку
LineSlant Property
Смотрите также
CollapseAll image

Определяет направление наклона управляющего элемента Line или сглаженных углов (кривые Безье) для полигональной линии, нарисованной с помощью Line. Редактируемое, как design, так и в run time.

Line.LineSlant [= cSlant]

Expand image Возвращаемое значение

cSlant

Определяет направление наклона управляющего элемента Line или сглаженные углы для полигональных линий, нарисованных с помощью Line.

В приведенной ниже таблице перечислены значения для cSlant.

cSlant Описание

\

Наклон линии идет в направлении от левого верхнего угла в правому нижнему. (По умолчанию)

/

Наклон линии идет в направлении от левого нижнего угла в правому верхнему.

S или s

Линия прорисовывается как кривая Безье (Bezier curve), когда для свойства PolyPoints указан действительный массив координат. Для удаления этого значения присвойте свойству LineSlant значение "\" или "/".

Замечание Замечание

Массив свойство PolyPoints должен определять суммарно (3n + 1) координат, где n представляет номер кривых, которые вы желаете отобразить, как кривые Безье. Если PolyPoints не содержит координат, которые образуют действительный полигон, а для свойства LineSlant указана установка "S" или "s", то линии не будут прорисованы.

Для получения более подробной информации, смотрите Свойство PolyPoints.

Expand image Примечания

Применяется к управляющему элементу: Line

Expand image Пример

Приведенный ниже пример создает форму с управляющим элементом Line и тремя командными кнопками, которые демонстрируют три значения для свойства LineSlant.

CopyCode image Скопировать код
Public oForm
oForm = Createobject('Form')
With oForm
   .AddObject('linSample','Line')
   .AddObject('cmdSlantUp','cmdSlantUp')
   .AddObject('cmdSlantDown','cmdSlantDown')
   .AddObject('cmdBezier','cmdBezier')

   .linSample.Top = 10
   .linSample.Left = 25
   .linSample.Width = 300
   .linSample.Height = 200

   .SetAll('Visible', .T.)

* Создается массив точек, который определяет кривую.
   Dimension aBezierPoints[4,2]
      aBezierPoints[1,1]= 0
      aBezierPoints[1,2]= 0
      aBezierPoints[2,1]= 100
      aBezierPoints[2,2]= 25
      aBezierPoints[3,1]= 0
      aBezierPoints[3,2]= 75
      aBezierPoints[4,1]= 100
      aBezierPoints[4,2]= 100
Endwith

oForm.Show(1)

* Определяется командная кнопка, которая изменит направление наклона линии.
Define Class cmdSlantUp As CommandButton
   Caption = 'Slant \<Up (/)'
   Left = 25
   Top = 220
   Height = 25

   Procedure Click
      Thisform.linSample.Polypoints = ""
      Thisform.linSample.LineSlant = '/'  && Slant up
   Endproc
Enddefine

*  Определяется командная кнопка, которая изменит направление наклона линии.
Define Class cmdSlantDown As CommandButton
   Caption = 'Slant \<Down (\)'
   Left = 125
   Top = 220
   Height = 25

   Procedure Click
      Thisform.linSample.Polypoints = ""
      Thisform.linSample.LineSlant = '\'  && Slant down
   Endproc
Enddefine

*  Определяется командная кнопка, которая превратит линию в кривую Безье.
Define Class cmdBezier As CommandButton
   Caption = 'Be\<zier Curve (S) '
   Left = 225
   Top = 220
   Height = 25

   Procedure Click
      Thisform.linSample.Polypoints = "aBezierPoints" && Определяет точки кривой.
      Thisform.linSample.LineSlant = 'S' && Определяет, что линия будет отображена как кривая.
      Thisform.linSample.Visible = .T.
      Thisform.Visible = .T.
   Endproc
Enddefine

Expand image Смотрите также

Справочное руководство

Свойство DrawMode
Свойство DrawStyle

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


LinkMaster Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство LinkMaster
Смотрите также
CollapseAll image

Задает родительскую таблицу, которая связана с дочерней таблицей, отображенной в элементе управления Grid. Доступно на этапе разработки; чтение/запись на этапе выполнения.

Grid.LinkMaster[ = cName]

Expand image Возвращаемое значение

cName

Задает псевдоним родительской таблицы, которая инициирует отображение дочерней таблицы в элементе управления Grid.

Expand image Примечания

Применимо к: Элемент управления Grid

Используйте свойство LinkMaster для установления отношения один-ко-многим между родительской, или первичной, таблицей объекта Form, и таблицей, указываемой свойством RecordSource элемента управления Grid.

Expand image Смотрите также

Справочное руководство

Свойство ChildOrder
Свойство RelationalExpr
Команда SET RELATION

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ListenerType Property

Visual FoxPro 9.0
Свойство ListenerType
Смотри также Пример Термины и толкование

Указывает тип вывода отчета, производимого ReportListener.

ReportListener.ListenerType [= iExpr]

Возвращаемое значение

Целочисленное (Integer).

В приведенной ниже таблице перечислены значения распознаваемые Visual FoxPro.

Стандартные значения ListenerType | Итоговый вывод
-1 | (Используется по умолчанию) Представляет собой базовое состояние абстрактного класса ReportListener. Он не осуществляет вывода.
0 | ReportListener просчитывает (render - смотри секцию "термины и толкование" данной статьи) вывод - страницу за страницей, посылая события рендеринга драйверу принтера.
1 | ReportListener просчитывает все страницы отчета и, затем, делает итоговые страницы доступными новому Xbase компоненту, ссылка на который хранится в системной переменной _REPORTPREVIEW. Для этого значения ListenerType не производится никаких действий, в случае если нет доступного объекта, определяемого переменной _REPORTPREVIEW.
2 | ReportListener просчитывает вывод страницу за страницей, но не посылает их на принтер. Вы можете использовать вывод, с помощью кода, размещаемого в метода OutputPage, который вызывается по готовности каждой страницы в процессе рендеринга.
3 | ReportListener просчитывает все страницы сразу, но не вызывает явно приложение, определяемое системной переменной _REPORTPREVIEW. Вы можете использовать вывод, с помощью кода, размещаемого в метода OutputPage, после завершения рендеринга, вызывая метод OutputPage для передачи инструкций ReportListener'у о посылке страницы на выбранное вами устройство вывода.

Приложение Report Output добавляет некоторые, определенные пользователем результаты рендеринга в исходный набор вывода. Однако, использование этих значений не препятствуют получению, одновременно с вашими, и стандартного для Visual FoxPro итогового вывода из одного и того же объекта ReportListener, в соответствии с "родными" значениями для ListenerType перечисленными выше. Для получения более подробной информации смотри статью Свойство OutputType (Visual FoxPro).

Вызов приложения Report Output Application с дополнительными параметры | Итоговый вывод
4 | ReportListener предоставляет в качестве вывода XML файл. По умолчанию, значение его свойства ListenerType установлено в -1 (не производить вывода). Вы можете, кроме того, установить значение его свойства ListenerType в одно из стандартно поддерживаемых значения, для производства двух типов вывода одновременно.
5 | ReportListener предоставляет в качестве вывода HTML файл, и необязательный вспомогательный файл картинки. По умолчанию, его свойство ListenerType установлено в -1 (не выдавать стандартный вывод). Вы можете, кроме того, установить значение его свойства ListenerType в одно из значений, поддерживаемых по определению разработчиков (natively), для одновременного производства двух типов вывода.

Примечания

Применяется к : объекту ReportListener.

Report Engine поставляет значение свойства ListenerType приложению Report Output Application, когда вы используете опцию OBJECT TYPE <N> в команде REPORT FORM , или когда вы устанавливаете SET REPORTBEHAVIOR 90, показывая, что вы желаете использовать объектно-ассистированное исполнение отчета для всех последующих команд REPORT FORM. Приложение Report Output Application сохраняет регистрационную запись для классов ReportListener, используемых по умолчанию, чтобы обслуживать присущие (native) ListenerType значения, и кроме того два дополнительных значения OutputType, добавляемых его собственной Visual Foxpro библиотекой классов или любые другие, предложенные вами. Для получения более подробной информации смотри статью Приложение Report Output.

Ваши, производные от ReportListener, классы могут обслуживать множество типов итогового вывода, с помощью поддержки множества значений свойстваListenerType. Вы можете использовать метод SupportsListenerType для оценки свойства ListenerType property во время исполнения отчета, и определять, должен ли производный класс производить какие-либо действия.

Вы можете зарегистрировать единственный класс, как обработчик, который должен использоваться по умолчанию, для множества типов вывода с помощью приложения Report Output. Приложение Report Output Application присваивает значение, получаемое им от движка отчетов VFP парному свойству OutputType вашего, производного от ReportListener, объекта. Ваш класс может динамически определять для использования корректное значение ListenerTyp, основанное на получаемом им значении свойства OutputType и на его собственной способности обслуживать различные итоговые выводы.

Например, приложение Report Output Application предоставляет UpdateListener, фундаментального класса ReportListener User Feedback, в качестве обработчика, который может быть использован по умолчанию для обработки множества стандартных значений свойства ListenerType. При инициализации, UpdateListener имеет свойство ListenerType установленным в значение "минус единицы" -1 (не производить вывода). Он проверяет значение свойства OutputType для определения - какой ListenerType он должен иметь для каждой исполняемой вами команды REPORT FORM.

Пример

Следующий код заимствован из метода OutputType_assign базового фундаментального класса ReportListener Base Foundation Class, класса, из которого происходит UpdateListener. Код проверяет, находится ли величина, полученная как OutputType среди поддерживаемых классом значение ListenerType, и присваивает значение свойству ListenerType если это так.

Скопировать код

IF THIS.SupportsListenerType(THIS.OutputType)
   THIS.ListenerType = THIS.OutputType
ENDIF

Смотри также

Справочное руководство

Свойства, методы и события объекта ReportListener
Команда REPORT FORM

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)
Фундаментальные классы ReportListener

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.
Термины и толкование:

rendering - применительно к отчетам Visual FoxPro, представляет собой процесс внутреннего просчета отчета на основе данных заданной вами раскладки элементов отчета и привязки к элементам отчета полей таблиц или вычисляемых выражений, в результате которого мы получаем сформированный вывод, размещаемой в буфере. В процессе просчета происходят события, которые могут быть посланы драйверу принтера. При этом вовсе не обязательно наличие графического вывода конечного результата процесса на экран монитора, как это происходит, например, в графических программах. Итоговый сформированный вывод может сразу отправлен на принтер, или использован вспомогательными приложениями обработки вывода отчетов.


List Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство List
Смотрите также Пример
CollapseAll image

Массив символьных строк, используемый для доступа к элементам списка ComboBox или ListBox. Недоступно на этапе разработки; чтение/запись на этапе выполнения.

Control.List(nRow [, nCol]])[ = cChar]

Expand image Возвращаемое значение

nRow

Задает строку элемента, который следует получить используется порядок, действующий на экране. Например, значение nRow = 3 задает третью строку, показанную в списке.

nCol

Задает столбец элемента, который следует получить используется порядок, действующий на экране. Например, значени nCol = 2 задает второй столбец, показанный в списке. Если значение nCol не задано, свойство List по умолчанию извлекает первый столбец. Аргумент nCol следует задавать только для элементов управления ComboBox и ListBox содержащих более одного столбца.

cChar

Задает значение добавляемое в элементов управления ComboBox или ListBox.

Expand image Примечания

Свойство List действует совместно со свойством ListCount; задавая в качестве номеров числа от 1 до ListCount можно получить все элементы списка.

В свойстве List нельзя использовать функции обработки массивов. Впрочем, если вы установили для свойства RowSourceType значение 5 (массив) и задали в свойстве RowSource массив элементов, предназначенных для помещения в список, вы можете применять функции обработки массива к массиву, заданному в свойстве RowSource.

Note Note

Когда значение свойства RowSourceType равно 0 или 1, для добавления элементов в список ComboBox или ListBox можно использовать метод AddItem. Чтобы удалять элементы, используйте мето RemoveItem. Чтобы организовать элементы в алфавитном порядке, нужно, прежде чем добавлять в список новые элементы, установить свойство Sorted данного элемента управления равным значению "истина" (.T.).

Expand image Пример

Применимо к: ComboBox Control | ListBox Control

В следующем примере свойство, ListCount используется для организации цикла по всем элементам, заданным свойством List элемента управления ComboBox или ListBox.

В этом примере создается элемент управления ListBox. Источником элементов, фигурирующих в качестве элементов списка ListBox, служит массив; он задается с помощью свойств RowSourceType и RowSource.

Свойство MultiSelect элемента управления ListBox устанавливается равным "истине" (.T.), что позволяет выбирать элементы в этом списке группами. Внутри цикла FOR ... ENDFOR используется свойство ListCount для отображения элемента (элементов), выбранного в ListBox. Свойство Selected используется для определения выбранных элементов, а свойство List - для возвращения этих элементов.
CopyCode image Copy Code
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Fill the array with letters
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR

frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.Move(150,10)  && Move the form

* Add "Quit" command button and list box control
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')
frmMyForm.AddObject('lstListBox1','lstMyListBox')

* && Specifies an array containing listbox items
frmMyForm.lstListBox1.RowSourceType = 5
frmMyForm.lstListBox1.RowSource = 'gaMyListArray'

frmMyForm.cmbCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.lstListBox1.Visible =.T.  && "List Box visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
      CLEAR  && Clear main Visual FoxPro window
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox  && Create ListBox control
   Left = 10  && List Box column
   Top = 10  && List Box row
   MultiSelect = .T.  && Allow selecting more than 1 item

PROCEDURE Click
   ACTIVATE SCREEN
   CLEAR
   ? "Selected items:"
   ? "---------------"
   FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
      IF ThisForm.lstListBox1.Selected(nCnt)  && Is item selected?
         ? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item
      ENDIF
   ENDFOR

ENDDEFINE

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод IndexToItemID
Метод ItemIDToIndex
Свойство ListCount
Свойство ListItem
Свойство ListItemID
Свойство RowSource
Свойство RowSourceType
Свойство Sorted

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ListCount Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ListCount
Смотрите также Пример
CollapseAll image

Содержит число предметов в списочной части ComboBox или ListBox. Не доступно в design time; "только для чтения" в run time.

Control.ListCount

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Expand image Пример

Приведенный ниже пример создает listbox. Источником предметов, которые появляются в списке, является массив, который указан в свойствах RowSourceType и RowSource.

ListCount используется для цикла прохода черех все предметы, определяемые свойством List элементов управления ComboBox или ListBox.

Свойство MultiSelect для listbox установлено в true (.T.), что позволяет вам сделать выборку множества предметов из списка. Свойство ListCount используется внутри цикла FOR ... ENDFOR для отображения предметов, выбранныхвами из списка в элементе управления listbox. Свойства Selected и List используются для определения выбранных вами предметов.
CopyCode image Скопировать код
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Заполняем массив буквами
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR

frmMyForm = CREATEOBJECT('Form')  && Создаем форму
frmMyForm.Closable = .f.  && Зарпещаем меню контрольного блока формы

frmMyForm.Move(150,10)  && Перемещаем форму

frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')  && Добавляем командную кнопку "Quit"
frmMyForm.AddObject('lstListBox1','lstMyListBox')  && Добавляем listbox

frmMyForm.lstListBox1.RowSourceType = 5  && Указываем массив
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && Array containing listbox items

frmMyForm.cmbCommand1.Visible =.T.  && Делаем "Quit" видимым
frmMyForm.lstListBox1.Visible =.T.  && "List Box visible

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit'  && Устанавливаем ее заголовок
   Cancel = .T.  && Определяем ее как дефолтную для Cancel (Esc)
   Left = 125
   Top = 210
   Height = 25

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем обработку событий, закрываем форму
      CLEAR  && Очищаем главное окно Visual FoxPro
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox  && Создаем ListBox
   Left = 10
   Top = 10
   MultiSelect = .T.  && Позволяем выборку более одного предмета

PROCEDURE Click
   ACTIVATE SCREEN
   CLEAR
   ? "Selected items:"
   ? "---------------"
   FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
      IF ThisForm.lstListBox1.Selected(nCnt)  && Предмет выбран?
         ? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Показываем предмет
      ENDIF
   ENDFOR

ENDDEFINE

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Свойство List
Свойство ListItemID
Метод RemoveItem

Прочие ресурсы

Свойство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Свойство ListIndex (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ListIndex (Visual FoxPro)
Смотрите также
CollapseAll image

Задает номер индекса выбранного элемента списка ComboBox или ListBox. Недоступно на этапе проектирования; чтение/запись на этапе выполнения.

Control.ListIndex[ = nIndex]

Expand image Возвращаемое значение

nIndex

Для свойства ListIndex предусмотрены следующие установки:

Установки Описание

0

(По умолчанию) Означает, что ни один элемент не выбран. В случае ComboBox это означает, что пользователь ввел величину, которой нет в списке.

1 ... ListCount

Индекс выбранного элемента.

Expand image Примечания

Применимо к: ComboBox Control | ListBox Control

Следующее выражение возвращает символьную строку с выбранным элементом списка.

CopyCode image Copy Code
? List(MyList.ListIndex)

То же значение можно получить с помощью свойства Value данного элемента управления.

Установка свойства MultiSelect элемента управления ListBox в .T. позволяет выделять более одного элемента. В таком случае ListIndex содержит индекс елемента выделеного каймой в настоящее время.

Expand image Смотрите также

Reference

Метод AddItem (Visual FoxPro)
Метод AddListItem
Метод IndexToItemID
Метод ItemIDToIndex
Свойство List
Свойство ListCount
Свойство ListItem
Метод RemoveItem
Свойство Value

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ListItem Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ListItem
Смотрите также
CollapseAll image

Массив символьных строк, используемый для обращения к предметам в ComboBox или ListBox по идентификатору ID предмета. Не доступно в design time; "только для чтения" в run time.

Control.ListItem(nRow [, nCol])[ = cChar]

Expand image Возвращаемое значение

nRow

Указывает строку массива, из которой извлекается предмет. Вы моежте использовать свойство Control.listitemID.

nCol

Определяет, необязательно, колонку, из которой извлекается значение. Если вы указали только listitemID, то в таком случае, значение поставляет первая колонка массива .

nChar

Представляет значение, необязательно, которое присвоено указанному Control.listitem.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Используйте свойство List для извлечения предметов в том порядке, в каком они отображаются; используйте свойство ListItem для извлечения предметов в соответствии с их ID.

Замечание Замечание

Для ввода предмета в Combobox или Listbox, используйте методы AddItem или AddListItem. Для удаления предметов, используйте методы RemovetItem или RemoveListItem. Для поддержания сортировки списка предметов в алфавитном порядке, установите свойство Sorted элемента управления в True (.T.), до ввода предмета в список.

Свойство ListItem, кроме того, устанавливается и в случае, когда устанавливается свойство Selected элемента управления Listbox.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод AddListItem
Метод IndexToItemID
Метод ItemIDToIndex
Свойство ListCount
Свойство List
Свойство ListItemID
Свойство Selected

Прочие ресурсы

Свойство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ListItemID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ListItemID
Смотрите также
CollapseAll image

Определяет уникальный номер идентификатора ID выбранного предмета в элементах управления ComboBox или ListBox. Не доступно в design time; только для чтения в run time.

Control.ListItemID[ = nItemID]

Expand image Возвращаемое значение

nItemID

Установками для ListItemID являются:

nItemID Описание

0

Указывает, что нет выбранных предметов.

Замечание Замечание

Для элементов управления ComboBox значение 0 означает, что пользователь ввел значение, которого нет в списке.

1 или любое другoе число большее 1

Идентификатор ID выбранного предмета.

Свойство ListItemID также устанавливается и в случае, когда установлено свойство SelectedID элемента управления ListBox.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Если для удаления предмета из списка используется метод RemoveListItem, все отсавшиеся предметы сохраняют свои уникальные идентификационные номера. Когда для ввода предмета в список используется метод AddItem, а свойство Sorted установлено в False (.F.), значению nItemID присваивается самый меньших из доступных номер. Когда для ввода предмета в список используется методAddListItem, а свойство Sorted установлено в False (.F.), вы можете присвоить nItemID любое число.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод AddListItem
Метод IndexToItemID
Метод ItemIDToIndex
Свойство ListCount
Свойство List
Свойство ListItem
Метод RemoveItem
Метод RemoveListItem
Свойство SelectedID

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


LockColumns Property

Visual FoxPro 9.0 Справочное руководство по языку
LockColumns свойство
Смотрите также Пример

Определяет количество блокированыых столбцов в правой панели элементе управления Grid, отсчитывая от левого края. Чтение - запись во время разработки и выполнения.

После установки LockColumns, блокированные столбцы остаются неподвижными в окне Grid или Browse при прокрутке вправо.

Grid.LockColumns [ = nValue ]

Параметры

nValue

Числовой тип данных. Определяет количество блокированных столбцов в Grid. Значение по умолчанию - 0. Если nValue больше 0, установка nValue 0 отменяет блокировку столбцов.

Замечания

Применяется к: Grid Control | BROWSE Command

Grid всегда содержит две панели; однако, только правая панель видима заданном по умолчанию режиме. Вы можете активизировать левую панель, установив свойство SplitBar=.T. и перемещая линию разбивки в окне Grid выдвинуть левую панель, или установить значение свойства Partition.

Линия отделения непрокручиваемых столбцов на 1 пиксел шире чем линиии, разделяющие другие столбцы.

LockColumns применима только к правой панели Grid, которая отображена по умолчанию. Сделать непрокручиваемыми столбцы в левой панели Grid, когда уставлены свойства Partition или SplitBar , можно используя свойство LockColumnsLeft.

Метод SetFocus для Column не работает, если столбец блокирован и невидим в окне Grid, например, прокручен за левую сторону.

Когда любой из блокированных столбцов прокручивается за пределы окна Grid влево, они не становятся видимыми снова, пока блокировка не снята. Например, предположите, что Grid содержит пять столбцов, а источник данных имеет десять столбцов. Когда Вы прокручиваете два столбца враво, первый и второй столбец уходят за левый край окна.

Предположим, что теперь Вы устанавливаете LockColumns следующим кодом:

Копировать код
Grid.LockColumns = 3

Первый, второй, и третий столбец теперь блокированы. Третий столбец является первым видимым столбцом в блокированном Grid. И хотя первый и второй столбцы все еще существуют, Вы не можете увидеть их прокрутив окно влево. Эта возможность полезна, если Вы хотите блокировать столбцы в середине Grid и не хотите отображать предыдущие или последующие столбцы.

Пример

Следующий пример демонстрирует, как использовать LockColumns c BROWSE ... NAME:

Копировать код
CLOSE DATABASES
OPEN DATABASE testdata && Открывается база данных testdata в каталге \Samples\Data.
USE Customer
BROWSE NAME Customer NOWAIT	&& NOWAIT добавлено переводчиком
Customer.LockColumns = 2 && Блокировка первых двух колонок в правой панели.

Смотрите также

Tasks

How to: Configure Browse Windows or Grids

Прочие ресурсы

Properties
SplitBar Property
Partition Property
LockColumnsLeft Property
SetFocus Method

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


LockColumnsLeft Property

Visual FoxPro 9.0 Описание Языка
LockColumnsLeft, свойство
См. также Пример
CollapseAll image

Определяет количество столбцов Таблицы, закрепленных в левой Пакнели Контрола Grid. Чтение/Запись в режимах Разработки и Выполнения (RunTime).

Данное свойство позволяет включать внутренний механизм фиксации Левых Столбцов контрола Grid или системного окна Browse, при перемещении активного столбцы в правую часть Окна. LockColumnsLeft применяется только для Левой Панели Окна Контрола Grid, которая не отображается по-умолчанию. После активации свойства LockColumns, возможность перемещать столбцы Отключается.

Grid.LockColumnsLeft [ = nValue ]

Expand image Возвращаемое значение

nValue

Числового типа (Numeric). Определяет количество столбцов, зафиксированных в Левой Панели Контрола Grid. Значение по-умолчанию = 0. Если nValue > 0, установка nValue = 0 отключает замораживание указанного количества столбцов.

Expand image Комментарии

Применяется в: Grid, контрол | BROWSE, команда

Разделительная линия правого из замороженных Столбцов на 1 больше чем обычная разделительная линия между столбцами; это позволяет визуально различать, где заканчиваются замороженные Столбцы и начинаются перемещаемые Столбцы.

Для замораживания Столбцов в Правой Панели Контрола Grid, используйте свойство LockColumns.

Expand image Пример

В приведенном далее Фрагменте программного Кода показано, как использовать свойство LockColumnsLeft в команде типа BROWSE ... NAME:

CopyCode image Копировать Код
CLOSE DATABASES
&& Open testdata database in \Samples\Data.
OPEN DATABASE testdata
USE Customer
BROWSE NAME Customer
&& Locks first two columns in left pane.
Customer.LockColumnsLeft = 2

Expand image См. также

Задачи

Как: Настроить изображение системного окна Browse или Контрола Grid

Описание

LockColumns, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


LockScreen Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство LockScreen
Смотрите также
CollapseAll image

Определяет, как изменяются установки свойств объекта Form и содержащихся в нем объектов ѕ в пакетном режиме или индивидуально. Доступно на этапе разработки и выполнения.

Object.LockScreen[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства LockScreen предусмотрены следующие установки:

Установка Описание

True (.T.)

Объект Form и содержащиеся в нем объекты отражают изменения, вносимые в установки свойств только когда после внесений изменений для свойства LockScreen восстанавливается значение false (.F.) .

False (.F.)

(По умолчанию) Объект Form и содержащиеся в нем объекты отражают изменения, вносимые в установки свойств, непосредственно в момент изменения.

Expand image Примечания

Применимо к: Form Object | _SCREEN System Variable | ToolBar Object

Установив для свойства LockScreen значение "истина" (.T.), вы избежите утомительных процедур регенерации экрана, когда будете на этапе выполнения изменять такие презентационные свойства, как BackColor, FontName, и т. д. вносимых на этапе выполнения.

Свойство LockScreen не предотвращает внесений изменений в объект а только откладывает их немедленное отображение. Например даже если свойство LockScreen установлено в true, объект form перемещается если вы вызываете метод Move.

Note Note

Если вы устанавливаете свойство LockScreen равным False (.F.), форма и все его элементы управления будут все время перерисовываться.

Expand image Смотрите также

Справочное руководство

Событие Paint

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MacDesktop Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MacDesktop
Смотрите также
CollapseAll image

Определяет - будет ли форма помещена в главном окне Visual FoxPro. Включена для совместимости назад.

CopyCode image Скопировать код
Object.MacDesktop[ = nValue]

Expand image Значения свойства

nValue

Свойство MacDesktop может принимать приведенные в таблице значения:

Установка Описание

0

(По умолчанию) Автоматически. Форма содержится в главном окне Visual FoxPro в соответствии с установками, определенными командой SET MACDESKTOP. Если SET MACDESKTOP установлено в ON, форма существует как уровень рабочего стола Macintosh; в противном случае, форма содержится внутри главного окна Visual FoxPro.

1

Macintosh Desktop. Форма существует, как уровень рабочего стола Macintosh, и может быть смещена и изменена в размерах независимо от главного окна Visual FoxPro.

2

Visual FoxPro Desktop. Форма содержится внутри главного окна Visual FoxPro и не может быть вынесена из него наружу, на рабочий стол.

Expand image Примечания

Применяется к: Form

Установка свойства MacDesktop позволяет вам переписать для индивидуальных форм установки, созданные командой SET MACDESKTOP. SET MACDESKTOP воздействует на определенные пользователем окна (формы) и системные окна, такие как Browse, View и Form Designer. По умолчанию, пользовательские окна ведут себя в соответствии с установкой, определенной командой SET MACDESKTOP.

Свойство MacDesktop позволяет вам управлять тем, как будет выглядеть ваше приложение - как приложение Macintosh или как приложение Windows.

Expand image Смотрите также

Справочное руководство

Команда SET KEYCOMP

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MainFile Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MainFile
Смотрите также
CollapseAll image

Содерджит имя и путь к файлу, который в проекте установлен в качестве главной программы. Только для чтения.

Object.MainFile

Expand image Примечания

Применяется к объекту: Project

MainFile будет содержать пустую строку, если в проекте не установлена главная программа. В проекте в качестве главной программы может быть установлен программный файл или форма, для чего на требуемом предмете щелкните по правой клавише мыши и выберите из контекстного меню пункт Set Main. Вы можете, кроме того, использовать метод SetMain для программного указания главной программы для проекта.

Expand image Смотрите также

Справочное руководство

Метод SetMain

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MapBinary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MapBinary
See Also
CollapseAll image

Свойство MapBinary объекта CursorAdapter разрешает дефолтную разметку типов данных из типов данных ODBC и ADO в типы данных Visual FoxPro Varbinary Blob.

Свойство MapBinary объекта XMLAdapter разрешает дефолтную разметку типов данных из типов данных XML в типы данных Visual FoxPro Varbinary Blob.

Редактируемое (Read/write) как в design, так и в run time.

Object.MapBinary [= lValue]

Expand image Return Value

lValue

Разрешает или запрещает дефолтную разметку типов данных их источников данных ODBC, ADO и XML.

В приведенной ниже таблице описываются возможные значения lValue и обусловленные им поведения.

lValue Описание

True (.T.)

Для объектов CursorAdapter по умолчанию происходит приведенная ниже разметка данных:

  • ODBC SQL_LONGVARBINARY тип размечается в тип Blob.

  • ODBC SQL_BINARY и SQL_VARBINARY ODBC типы размечаются в тип Varbinary, когда точность соответствующей колонки в источнике данных равна или менее чем 254 байта. В противном случае, если точность установлена большей, чем 254 байта, эти типы данных размечаются в тип Blob.

  • Для типов ADO, adVarBinary и adBinary размечаются в тип Varbinary, когда точность соответствующей колонки в источнике данных равна или менее чем 254 байта. В противном случае, если точность установлена большей, чем 254 байта, эти типы данных размечаются в тип Blob

Для объектов XMLAdapter метод LoadXML размечает все бинарные типы в тип Varbinary, если их размер менее чем или равен 254 байтам. В противном случае, если размер больше 254 байт, бинарные типы размечаются в тип Blob. Когда свойство DataType объекта XMLField установлено в Varbinary или Blob, то автоматически свойство IsBinary того же объекта установливается в в True (.T.), а свойство DisableEncode устанавливается в False (.F.)

Note Замечание

Вы не можете изменить значений свойств IsBinary и DisableEncode до тех пор, пока свойство DataType объекта XMLField установлено в Varbinary.

False (.F.) (По умолчанию)

Для объектов CursorAdapter предотвращает дефолтную разметку из "удаленных" типов в типы Visual FoxPro "Varbinary" и "Blob". Для получения более подробной информации смотрите Управление конверсией типов данных.

Для объектов XMLAdapter предотвращает дефолтную разметку из XML типов данных в типы данных Visual FoxPro "Varbinary" и "Blob". Для получения более подробной информации смотрите Разметка типа данных Visual FoxPro и XML схемы.

Expand image Примечания

Применяется к классам : CursorAdapter | XMLAdapter

Expand image Смотрите также

Справочное руководство

Типы данных и полей Visual FoxPro
Метод AddTableSchema
Метод LoadXML
Свойство IsBinary
Свойство DisableEncode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MapN19_4ToCurrency Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MapN19_4ToCurrency
Смотри также Пример
CollapseAll image

Определяет - будет ли размечаться XML тип данных xsd:decimal в тип данных Visual FoxPro Currency, в случае когда фацеты XML totalDigits и fractionDigits равно соответственно 19 и 4. Вы можете установить свойство MapN19_4ToCurrency для обеспечения сохранности точности. Изменяемое.

MapN_4ToCurrency применяется только при исполнении методов LoadXML и Attach, которые извлекают непротиворечащий своим установкам XML.

XMLAdapter.MapN19_4ToCurrency [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Не размечает xsd:decimal в Currency. (По умолчанию)

True (.T.)

Размечает ap xsd:decimal to Currency. Фацеты XML totalDigits и fractionDigits должны быть равны соответственно 19 и 4.

Expand image Примечания

Применяется к классу: XMLAdapter

По умолчанию, Visual FoxPro размечает xsd:decimal в Numeric. Однако, вы можете сохранить точность типа данных "currency" разметкой xsd:decimal в Currency вместо разметки в Numeric. Например, поля валюты SQL Server представлены в XML как десятичные числа 19,4 общим числом в 19 цифр, и четырьмя числами после запятой.

Для получения более подробной информации о разметке типов данных Visual FoxPro и в XSD типы данных смотрите Разметка типов данных между Visual FoxPro и XML схемой.

Expand image Пример

Приведенный ниже пример показывает, как тип данных simpleType XML, по определению, размечается в Currency в Visual FoxPro:
CopyCode image Скопировать код
<xsd:simpleType>
   <xsd:restriction base="xsd:decimal">
   <xsd:totalDigits value="19"/>
   <xsd:fractionDigits value="4"/>
   </xsd:restriction>
   </xsd:simpleType>

Expand image Смотри также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Тип данных Currency
Тип данных Numeric
Метод LoadXML
Метод Attach (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MapVarchar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MapVarchar
Смотрите также
CollapseAll image

Свойство MapVarchar объекта CursorAdapter разрешает используемую по умолчанию разметку типов данных из типов данных ODBC и ADO в Visual FoxPro Varchar тип данных.

Свойство MapVarchar для объекта XMLAdapter eразрешает используемую по умолчанию разметку типов данных из типов данных XML в Visual FoxPro Varchar тип данных.

Read/write как в design, так и в run time.

Object.MapVarchar [= lValue]

Expand image Возвращаемое значение

lValue

Разрешает используемую по умолчанию разметку типов данных из типов данных ODBC, ADO и XML в тип данных Visual FoxPro Varchar

В приведенной ниже таблицы описываются значения для lValue.

lValue Описание

True (.T.)

Для объектов CursorAdapter , происходит используемая по умолчанию разметка типоа данных:

  • Типы данных SQL_WVARCHAR и SQL_VARCHAR ODBC размечаются в Varchar, когда точность соответствующей колонки в источнике данных равна или менее 254 байт. В противно случае, если точность более 254 байт, эти типы размечаются в тип Memo.

  • Типы данных adVarChar и adVarWChar ADO размечаются в Varchar когда это представляется возможным.

Для объектов XMLAdapter, Visual FoxPro размечает данные, которые ранее были размечены в Character, в тип Varchar.

False (.F.) (По умолчанию)

Для объектов CursorAdapter предотращает разметку "удаленных" типов данных в тип данных Varchar Visual FoxPro. Для получения более подробной информации, смотрите описание Управление преобразованием типов данных.

Аналогично и для объектов XMLAdapter - предотвращается используемая по умолчанию разметка типоа данных. Для получения более подробной информации, смотрите описание Visual FoxPro и разметка типов данных XML Schema.

Expand image Примечания

Применяется к: CursorAdapter | XMLAdapter

Expand image Смотрите также

Справочное руководство

Типы данных и полей Visual FoxPro

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Margin Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Margin
Смотрите также
CollapseAll image

Указывает отступы ширины, создаваемые в текстовой части управляющего элемента. Доступно в design и run time.

Control.Margin[ = nValue]

Expand image Возвращаемое значение

nValue

Определяет отступы, создаваемые в текстовой части управляющего элемента.

Expand image Примечания

Применяется к: ComboBox | EditBox | Spinner | TextBox

Используйте свойство Margin для указании позиции текста в управляющем элементе. СвойствоMargin создает отступ во внутренней части управляющего элемента; оно не воздествует на размер элемента.

Expand image Смотрите также

Справочное руководство

Свойство Alignment

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MaxButton Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MaxButton
Смотрите также
CollapseAll image

Указывает будет ли форма иметь в заголовке кнопку Maximize. Доступно, как в design, так и в run time.

Object.MaxButton[ = lExpr]

Expand image Возвращемое значение

lExpr

Для свойства MaxButton применимы следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Форма имеет кнопку Maximize.

False (.F.)

У формы нет кнопки Maximize.

Expand image Примечания

Применяется к: Form | _SCREEN

Кнопка Maximize позволяет пользователю распахнуть форму на всеь экран.

Когда окно будет распахнуто на весь экран, кнопка Maximize автоматически превратится в кнопку Restore. При восстановлении исходного размера, окно автоматически меняет кнопку Restore обратно в кнопку Maximize.

Установки, которые вы указали для свойств MaxButton, MinButton, BorderStyle и ControlBox не отражаются во внешнем виде формы до тех пор, пока она не будет запущена в run time.

Примечание переводчика. Скорее всего предыдущий параграф переписан из справки для более ранних версий Visual FoxPro. Если вы в процессе разработки формы в дизайнере форм установили для свойства ControlBox значение равное False (.F.), то все кнопки - исчезнут из заголовка формы. Если вы установили для свойства ControlBox значение равное True (.T.), то внешний вид кнопок MaxButton и MinButton в дизайнере форм изменяется следующим образом. Положим, что вы установили для свойства значение MaxButton равное False (.F.), а для свойства MinButton - значение True (.T.). Кнопка Maximize примет вид заблокированной кнопки. Если же теперь установить свойство MinButton в значение False (.F.), то обе кнопки - и Maximize, и Minimize - исчезнут из заголовка формы, редактируемой в дизайнере форм не дожидаясь "запуска в run time". Это поведение реверсивное для обоих свойств.

Гораздо большие неприятности поджидают вас с кнопкой Minimize во время редактирования формы в дизайнере форм при условии, что вы не устанавливали в диалоговом блоке Options на закладке Forms размер для параметра Maximum Design Area, то есть оставили установленное по умолчанию значение (None). Если вы случайно нажали на кнопку Minimize, то форма исчезнет. Скроллирование окна дизайнера форм не принесет никакого результата. Вернуть форму можно только с помощью установки свойства Top в окне Properties. При этом форма в дизайнере появится в минимизированной форме и воспользовавшись кнопкой Restore вы сможете обрести ее в нормальном виде. Чтобы избежать этого шаманства, не щелкаете по ней без надобности во время редактирования формы в дизайнере.

Увеличение размера формы до максимального в run time вызывает срабатывание события Resize.

Замечание Замечание

Свойство WindowState отражает текущее состояние окна. Если вы установили значения свойства WindowState равное 2 (Maximized), форма будет распахнута на весь экран независимо от каких либо действующих установок для свойств MaxButton и BorderStyle.

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Свойство ControlBox
Свойство MinButton
Событие Resize
Свойство TitleBar
Свойство WindowState (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


MaxHeight Property

Visual FoxPro 9.0 Описание языка
MaxHeight свойство
См. также

Определяет максимальную высоту формы, которая может быть установлена. Доступно в режиме разработки и в режиме выполнения.

Объект.MaxHeight[ = nHeight]

Возвращаемое значение

nHeight

Максимальная высота, в единицах измерения, заданных свойством ScaleMode формы.

Комментарии

Применяется: Форма | _SCREEN

Когда пользователь изменяет размеры формы командой Size из меню Управления или с помощью границ формы, форма не превышает высоту определенную в установке свойства MaxHeight.

По-умолчанию для свойства MaxHeight задано значение – 1; никакая максимальная высота не определена.

См. также

Другие ссылки

Свойства
ScaleMode свойство

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Свойство MaxLeft

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MaxLeft
Смотрите также
CollapseAll image

Задает максимально допустимое расстояние от развернутого объекта Form до левого края основного окна FoxPro. Доступно на этапе проектирования и выполнения.

Object.MaxLeft[ = nMaxLeft]

Expand image Возвращаемое значение

nMaxLeft

Задает расстояние от левого края основного окна Visual FoxPro до левого края развернутого объекта Form в единицах измерения, определенных свойством ScaleMode объекта Form.

Expand image Примечания

Применимо к: Объект Form | Системная переменная _SCREEN

Используйте свойство MaxLeft, если вы не хотите, чтобы развернутый объект Form на этапе выполнения находился слишком далеко от левого края.

Expand image Смотрите также

Reference

Свойство MaxTop
Свойство MaxWidth
Свойство MinHeight
Свойство ScaleMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MaxLength Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MaxLength
Смотрите также
CollapseAll image

Указывает измеренную в числе символов максимальную длину текста, который может быть введен в управляющие элементы EditBox, TextBox или ComboBox. Для объектов XMLField, MaxLength указывает суммарную длину поля Character или Numeric в курсоре при использовании метода XMLTable.ToCursor или в схеме XML при использовании метода XMLAdapter.ToXML. Доступно как в design, так и в run time. Имеется два варианта синтаксиса.

Control.MaxLength [= nMaxLength]
XMLField.MaxLength [= nMaxLength]

Expand image Возвращаемое значение

nMaxLength

Определяет максимальное число символов, которое может быть введено в управляющие элементы edit box, text box или combo box.

Когда nMaxLength установливается в 0, то в этом случае, на число вводимых в edit box символов, не накладывается ограничение. Для text и combo, размер элемента и его тип данных определяют число символов, которое может быть введено в их текстовые части.

Для объектов XMLField, MaxLength для полей Memo составляет 2147483647. Для полей Numeric, Float и Double, MaxLength такое же, как и XML фасет totalDigits+1.

Expand image Примечания

Применяется к: ComboBox | EditBox | TextBox | XMLField Class

Для text или combo, MaxLength применяется только тогда, когда его значение установлено в величину, больше нуля, и элемент не использует свойство InputMask. Для combo, MaxLength является существенным только тогда, когда его свойство Style установлено в 0 и применяется только к текстовой части комбобокса. Свойство Value text box должно быть символьного - Character типа; однако, значение свойства Value комбобокса может быть другого типа, например Numeric.

Если свойство ControlSource элемента управления связано с полем, Visual FoxPro образеает все символы, введенные после достижения значенияЮ большего, чем длина поля.

Expand image Смотрите также

Справочное руководство

Метод ToCursor
Метод ToXML
Свойство InputMask
Свойство Value
Свойство Style
Свойство ControlSource
Свойство SelLength

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MaxRecords Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MaxRecords
Смотри также

Указывает максимальное количество строк для выборки, когда после команды возвращается набор данных. При работе с этим свойством для обычных курсоров используйте функцииCURSORSETPROP( ) и CURSORGETPROP( ). Редактируемое (Read/write).

Замечание:
Установка MaxRecords применима только к объектам CursorAdapter с источниками данных типа ODBC или ADO и замещает установку свойства курсора, если он прикреплен к объекту CursorAdapter. Таким образом, изменение установки на курсоре с помощью функции CURSORSETPROP() не будет имет эффекта.

CursorAdapter.MaxRecords [= nValue]

Возвращаемое значение

nValue

Численный тип данных. Параметр nValue имеет значение по умолчанию равное минус единице (-1), которое означает, что в результирующем наборе должны быть возвращены все строки. Установка параметра nValue в 0 указывает, что представление будет исполнено, но данные не будут выбраны в набор.

Замечания

Применяется к: классу CursorAdapter

MaxRecords применяется в первую очередь для удаленных представлений (remote views) и его установка не влияет на местные (локальные) представления. Однако, вы можете предустановить это свойство для местных (локальных) представлений, на случай если они будут повышены до уровня удаленных при переносе приложений на клиент-сервер.

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter
CURSORGETPROP( ) функция
CURSORSETPROP( ) функция

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


MaxTop Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MaxTop
Смотрите также
CollapseAll image

Задает максимально допустимое расстояние от развернутого объекта Form до верхнего края основного окна Visual FoxPro. Доступно на этапе проектирования и выполнения.

Object.MaxTop[ = nMaxTop]

Expand image Возвращаемое значение

nMaxTop

Задает расстояние от верхнего края основного окна Visual FoxPro до верхнего края развернутого объекта Form в единицах измерения, определенных свойством ScaleMode объекта Form.

Expand image Примечания

Применимо к: Form | _SCREEN

это свойство недоступно в Visual FoxPro для Macintosh.

Используйте свойство MaxTop, если вы не хотите, чтобы развернутый объект Form на этапе выполнения находился слишком далеко от верхнего края основного окна Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Свойство MaxLeft
Свойство MaxWidth
Свойство MinHeight
Свойство MinWidth
Свойство ScaleMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MaxWidth Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MaxWidth
Смотрите также
CollapseAll image

Определяет максимальное значение, до которой может быть увеличена ширина формы. Доступно как в design, так и в run time.

Object.MaxWidth[ = nMaxWidth]

Expand image Возвращаемое значение

nMaxWidth

Определяет максимальное значение, до которой может быть увеличена ширина формы, в единицах измерения, указанных в свойстве ScaleMode формы.

Expand image Примечания

Применяется к: Form | _SCREEN

Когда пользователь изменяет размеры формы либо путем выбора команды Size из меню Control формы или либо путем перетаскивания бордюра формы для ее растяжки, горизонтальный размер формы не может превысить значение, определенное установкой свойства MaxWidth.

Значение по умолчанию для свойства MaxWidth устанавливается равным минус единице (–1); максимальное значение не определено.

Expand image Смотрите также

Справочное руководство

Свойство MaxHeight
Свойство MinHeight
Свойство MinWidth
Свойство ScaleMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MDIForm Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MDIForm
Смотрите также
CollapseAll image

Указывает, совместим ли объект Form со стандартом MDI (Multiple Document Interface).

Expand image Синтаксис

CopyCode image Copy Code
Object.MDIForm [= lValue]

Expand image Property Value

IExpr

Для свойства MDIForm предусмотрены следующие установки:

Установка Описание

True (.T)

При максимизации форма комбинирует с родительской формой.

False (.F)

(По умолчанию) Объект Form всегда в отдельном окне.

Expand image Примечания

Установите свойство формы MDIForm равным True (.T.) если хотите чтобы дочерняя форма комбинировала с родительской при максимизации, or to False (.F.) if the child window should be retained as a separate window when maximized.

Expand image Смотрите также

Прочие ресурсы

Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MemberClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MemberClass
Смотрите также Пример
CollapseAll image

Определяет имя класса члена, используемое при вводе новых членов в контейнер. Редактируемое как в design time, так и в run time.

Для родительского контейнера Column и его членов - заголовков используйте вместо свойства MemberClass свойство HeaderClass .

Замечание Замечание

Если класс члена основан на классе, чье определение хранится в программном файле (.prg), убедитесь, что скомпилированный программный файл (.fxp) синхронизирован с программным файлом .prg, то есть, скомпилированный файл содержит самые последние изменения, сделанные в программном файле.

Object.MemberClass [ = cClassName ]

Expand image Возвращаемое значение

cClassName

Определяет имя класса члена в программном файле (.prg) или в файле библиотеки визуальных классов (.vcx).

Expand image Примечания

Применяется к элементам управления: PageFrame | CommandGroup | OptionGroup | Grid

Visual FoxPro создает члена, используя значение, содержащееся в свойстве MemberClass при следующих условиях:

  • MemberClass указан для класса контейнера во время разработки, то есть в design time. Когда Visual FoxPro создает контейнер, он создает экземпляры членов, используя свойство MemberClass.

  • Счетные свойства объекта члена Count, такие как PageCount, ButtonCount или ColumnCount могут быть увеличены при исполнении приложения, то есть в run time. Если счетное свойство объекта Count увеличено либо программно, либо интерактивно, Visual FoxPro добавляет новые экземпляры, используя значение, занесенное в свойство MemberClass.

    Замечание Замечание

    Свойство ColumnCount в этом смысле уникальное, то есть вы можете указать в качестве его значения либо минус единицу (-1), либо ноль (0). Все прочие счетные свойства Count должны быть больше или равны нулю.

Оба свойства, и MemberClass и MemberClassLibrary поддерживают методы Access и Assign и также все возможные области видимости - Public, Hidden и Protected.

Контейнер может хранить объекты различных классов члена, имеющего один и тот же базовый класс. Например, предположим, что у вас имется объект PageFrame и два класса членов, myPage1 и myPage2, определенных на основе класса Page. Вы можете указать класс myPage1 для свойства MemberClass объекта PageFrame во время разработки, а затем, во время исполнения приложения, то есть в run time, изменить значение свойства MemberClass, указав для него класс myPage2, с одновременным увеличением свойства PageCount объекта PageFrame.

Свойства MemberClass и MemberClassLibrary имеют приведенные ниже дополнительные поведения в design time и run time:

  • Поведение в design time

    При установке свойств MemberClass и MemberClassLibrary в design time, вы будете запрошены об уничтожении существующих классов членов, включания установки свойств; нового, введенного или модифицированного кода метод; и введенных объектов.

    При создании субкласса из контейнера, для которого установлено свойство MemberClass, субкласс должным образом наследует свойства MemberClass и MemberClassLibrary, которые вы можете изменить.

    Visual FoxPro отображает свойства MemberClass и MemberClassLibrary в окне Properties как свойства с признаком "только для чтения". Однако вы можете установаить эти свойства в окне Properties щелчком по кнопке выбора (...) для отображения диалогового окна Open для просмотра и выбора требуемого вам класса члена и его библиотеки.

    Замечание Замечание

    Если вы желаете указать класс члена для контейнера, вы должны установить оба свойства MemberClass и MemberClassLibrary, а не только имя его класса.

    Если вы устанавливаете счетное свойство объекта члена Count в программном файле (.prg) во время разработки, в design time, вы должны установить это свойство после установки свойств MemberClass и MemberClassLibrary, вследствие присутсвия определенных зависимостей. Например:

    CopyCode image Скопировать код
    DEFINE CLASS myPageFrame AS PageFrame
   MemberClassLibrary = 'MyPages.prg'
   MemberClass = 'myPage'
   PageCount = 3
ENDDEFINE

    При использовании функции ASELOBJ() для индивидуальной установки свойств MemberClass и MemberClassLibrary, проявляется приведенное ниже поведение:

    • Если вы с помощью функции ASELOBJ() указали только одно из свойств - MemberClass или MemberClassLibrary, Visual FoxPro не будет генерировать ошибку, но сбросить установку свойств и будет использовать базовый класс при вводе нового объекта члена.

    • Если счетное свойство объекта члена Count установлено в 0 (или -1 для объектов контейнера Grid), Visual FoxPro не производит ошибки при установки свойств MemberClass и MemberClassLibrary, которые в этом случае вы можете установить в любом порядке.

    • Если счетное свойство объекта члена Count установлено в значение, большее чем 0, Visual FoxPro производит проверку на ошибки при установке свойства MemberClass. Поэтому, в такой ситуации вам необходимо установить значение для свойства MemberClassLibrary прежде, чем вы установите значение для свойства MemberClass.

      Замечание Замечание

      Если оба свойства содержат недействительные значения, Visual FoxPro сгенерирует подходящие для такого случая сообщения и установит счетное свойство объекта члена Count обратно в 0.

      Если оба свойства, и MemberClass, и MemberClassLibrary, содержат действительные значения, Visual FoxPro пересоздаст все существующие классы членов на основе нового класса члена и все данные предыдущих объектов членов будут потеряны.

      Caution note Предупреждение

      Visual FoxPro не предупредит вас об уничтожении существующих классов членов, включая установки их свойств; новых, введенных или измененных кодов метода; введенных объектов, при изменении свойств MemberClass и MemberClassLibrary в коде программы.

      Также, как и при установке счетного свойства объекта члена Count в програмнном файле (.prg) в design time, вы должны установить его значение только после установки свойств MemberClass и MemberClassLibrary.

      Вы можете установить для свойства MemberClassLibrary другую библиотеку классов, которая имеет такой же класс, что и указанный в свойстве MemberClass. Если после этого вы увеличите значение счетного свойства Count объекта члена, Visual FoxPro введет новый класс члена используя значение, установленное в свойстве MemberClassLibrary. Хотя дизайнер отображает классы члена из разных библиотек классов, но при сохранении класса в качестве значения свойства MemberClassLibrary останется только самая последняя выбранная библиотека. Поэтому, когда вы создаете экземпляр класса или открываете заново класс для редактирования, все объекты члены создаются на основе класса библиотеки, указанной в свойстве MemberClassLibrary.

  • Поведние в run time

    Изменение свойств MemberClass и MemberClassLibrary воздействует только на вновь создаваемые объекты членов, но не на уже существующие в контейнеры объекты. Вы, кроме того, можете использовать методы AddObject и NewObject, которые, как обычно, могут определять различные классы.

    Замечание Замечание

    Во время исполнения приложения вы должны указать оба свойства - MemberClass и MemberClassLibrary. Если вы в run time установите только одно из них - MemberClass или MemberClassLibrary, Visual FoxPro не будет генерировать ошибку; однако он будет будет использовать в такой ситуации базовый класс и сбросит установленное вами значение свойства.

    Для достоверного определения класса члена, используемого для создания экземпляра конкретного объета члена, используйте свойства Class и ClassLibrary объекта члена вместо свойств MemberClass и MemberClassLibrary так как последние свойства могут быть изменены в run time.

    Замечание Замечание

    Контейнер может иметь объекты членов, производных из различных классов членов.

    Visual FoxPro не поддерживает возможности указания класса в библиотеке класса за пределами скомпилированного приложения Visual FoxPro (.app).

Expand image Пример

Приведенный ниже пример создает форму, добавляет в нее контейнер PageFrame, определяет его, как "myPageFrame", установливает свойства MemberClassLibrary и MemberClass для "myPageFrame", определяет объект члена Page, как "myPage", вводит код для командной кнопки и событий.
CopyCode image Скопировать код
PUBLIC x
x = CREATEOBJECT("form")
x.ADDOBJECT("pf1","myPageFrame")
x.pf1.Visible = .T.
x.Show()

DEFINE CLASS myPageFrame AS PageFrame
   MemberClassLibrary = 'myPages.PRG'
   MemberClass = 'myPage'
   PageCount = 2
   TabOrientation = 1
ENDDEFINE

DEFINE CLASS myPage AS Page
   ADD OBJECT cmd1 AS commandbutton WITH ;
      Caption = "Hello", FontBold = .T.
   PROCEDURE Init
      THIS.Caption = "Funpage"+TRANSFORM(THIS.Parent.PageCount)
   ENDPROC
   PROCEDURE cmd1.Click
      MESSAGEBOX(this.Caption)
      THIS.Parent.Parent.PageCount = THIS.Parent.Parent.PageCount+1
   ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Классы члена (Visual FoxPro)
Свойство MemberClassLibrary
Свойство HeaderClass
Свойство HeaderClassLibrary
Функция ASELOBJ( )

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MemberClassLibrary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MemberClassLibrary
Смотрите также
CollapseAll image

Определяет имя библиотеки классов, содержащий класс члена, в свойстве b>MemberClass. Редактируемое как в design time, так и в run time.

Для родительского контейнера Column и его членов - заголовков используйте свойство HeaderClassLibrary вместо свойства MemberClassLibrary.

Object.MemberClassLibrary [ = cClassFile ]

Expand image Возвращаемое значение

cClassFile

Определяет имя файла, содержащий класс члена в MemberClass.

Expand image Примечания

Применяется к: PageFrame Control | CommandGroup Control | OptionGroup Control | Grid Control

Visual FoxPro включает библиотеку визуальных классов MemberClassLibrary (.vcx) или программу (.prg) в проект во времея сборки проекта.

Если вы установите MemberClassLibrary в run time, вы должны использовать полное имя файла, включая расширение.

Если указали MemberClassLibrary без указания MemberClass, Visual FoxPro не генерирует ошибки; однако он будет использовать базовый класс, когда вы будете добавлять нового члена и сбрасывать указанные свойства.

Для получения дополнительной информации о свойствах MemberClassLibary и MemberClass смотрите описание свойства MemberClass.

Expand image Смотрите также

Справочное руководство

Классы члена (Visual FoxPro)
Свойства MemberClass
Свойства HeaderClassLibrary

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Message Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Message
Смотрите также
CollapseAll image

Определяет фактическое сообщение об ошибке для объекта exception. Доступен в run time.

Exception.MessageProperty

Expand image Возвращаемое значение

Символьный тип данных.

Expand image Примечания

Применяется к: Exception Class

Идентично значению, возвращаемому функцией MESSAGE() и второму элементу массива, создаваемого функцией AERROR().

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Exception
Функция MESSAGE()
Функция AERROR()
Команда TRY...CATCH...FINALLY

Концепции

Структурированная обработка ошибок

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MinButton Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MinButton
Смотрите также
CollapseAll image

Определяет - будет ли форма иметь кнопку "Minimize". Доступно, как в design, так и в run time.

Object.MinButton[ = lExpr]

Expand image Возвращемое значение

lExpr

Установками для свойства MinButton являются:

Установка Описание

True (.T.)

(По умолчанию.) Форма будет иметь кнопку Minimize.

False (.F.)

У формы нет кнопки Minimize.

Expand image Примечания

Применяется к: Form | _SCREEN

Кнопка Minimize позволяет пользователю уменьшить форму до размера иконки.

Действие установок, которые вы указали для свойств MaxButton, MinButton, BorderStyle и ControlBox проявятся только в run time.

В Microsoft Windows версии 3.0 или более поздней, MDI дочерняя форма отображается с кнопкой Minimize независимо от установки MinButton. Однако, если MinButton установлено в (.F.), то кнопка блокируется, и соответсвуюшая команда Minimize не появляется в меню контрольного блока, размещающегося под иконкой формы.

Минимизация формы в иконку в run time генерирует событие Resize. Свйоство WindowState отражает текущее состояние окна. Если вы установите свойство WindowState в значание 1 (Minimized), то форма минимизируется независимо от каких-либо эффективных установок для свойств MinButton и BorderStyle.

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Свойство ControlBox
Свойство MaxButton
Свойство TitleBar
Свойство WindowState (Visual FoxPro)

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


MinHeight Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MinHeight
Смотрите также
CollapseAll image

Задает минимальную высоту, которую можно установить для объекта Form. Доступно на этапе проектирования и выполнения.

Object.MinHeight[ = nHeight]

Expand image Возвращаемое значение

nHeight

Минимальная высота, которую можно установить для формы, в единицах измерения, определяемых свойством ScaleMode объекта Form.

Expand image Примечания

Применимо к: Form | _SCREEN

Когда пользователь изменяет размер объекта Form, выбирая меню Control команду Size или перемещая мышью границы объекта form, новый размер не может стать меньше высоты, заданной установкой свойства MinHeight.

По умолчанию установка свойства MinHeight равна -1, то есть минимальная высота не определена.

Expand image Смотрите также

Справочное руководство

Свойство MaxHeight
Свойство MaxWidth
Свойство MinWidth
Свойство ScaleMode

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MinWidth Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MinWidth
Смотрите также
CollapseAll image

Задает минимальную ширину, которую можно установить для объекта Form. Доступно на этапе разработки и выполнения.

Object.MinWidth[ = nWidth]

Expand image Возвращаемое значение

nWidth

Минимальная ширина, которую можно установить для объекта Form, в единицах измерения, определяемых свойством ScaleMode объекта Form.

Expand image Примечания

Применимо к: Form | _SCREEN

Когда пользователь изменяет размер объекта Form, выбирая в меню Control команду Size или перемещая мышью границы объекта Form, новый размер не может быть сделан меньше ширины, определяемой установкой свойства MinWidth.

По умолчанию установка свойства MinWidth равна -1, то есть минимальная ширина не задана.

Expand image Смотрите также

Справочное руководство

Свойство MaxHeight
Свойство MaxWidth
Свойство MinHeight
Свойство ScaleMode

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Свойство MouseIcon

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MouseIcon
Смотрите также
CollapseAll image

Задает файл значка мыши, которую он принимает, когда мышь находится над объектом. Доступно на этапе проектирования и выполнения.

Object.MouseIcon[ = cFileName]

Expand image Возвращаемое значение

cFileName

Задает файл отображаемый, когда указатель мыши находится над объектом. Вы можете задать иконку мыши файл (.ico), курсор мыши файл (.cur), или анимированый курсор файл (.ani) .

Expand image Примечания

Применимо к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | _SCREEN | Shape | Spinner | TextBox | ToolBar

Для отображения иконки мыши, установите свойство MousePointer равным 99 (Custom).

Expand image Смотрите также

Reference

Свойство MousePointer

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MousePointer Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MousePointer
Смотрите также
CollapseAll image

Определяет вид указателя мыши, когда вы перемещаете мышь над конкретной частью объекта run time. Доступно, как design, так и в run time.

Вы можете использовать свойство MousePointer для визуальной индикации изменений в функциональности, когда указатель мыши проходит над элементами управления на форме или в диалоговом окне.

Object.MousePointer [= nType]

Expand image Возвращемое значение

nType

Определяет значение, представляющее вид указателя мыши.

Замечание Замечание

Когда вы устанавливаете свойство MousePointer, используя окно Properties, в выпадающем списке отображаются имена установок, используемые в Visual FoxPro для Windows.

В приведенной ниже таблице перечислены значения для nType.

nType Описание

0

Вид определяет объектом. (По умолчанию)

1

Arrow - Стрелка.

2

Cross - Перекрестие (указатель в виде тонкого визира).

3

I-beam. Курсор вставки текста

4

Icon - Иконка (маленькая белая рамка внутри черного квадрата).

5

Size - размер (четырехнаправленная стрелка, указывающая вверх, вниз, влево и вправо).

6

Size NE SW - размер "северо-восток/юго-запад" (двунаправленная стрелка, указывающая по диагонали с нижнего левого угла в верхний правый).

7

Size NS - размер "север-юг" (двунаправленная стрелка, указывающая вверх и вниз).

8

Size NW SE - размер "северо-запад/юго-восток" (двунаправленная стрелка, указывающая по диагонали с верхнего левого угла в нижний правый).

9

Size WE размер "запад-восток" (двунаправленная стрелка указывающая влево и вправо).

10

Стрелка, указывающая вверх.

11

Песочные или наручные часы.

Замечание Совет

Для указания пользователю, что он должен ожидать окончания процесса, установите MousePointer в значение, равное 11.

12

No drop. Не бросать (Для операций drag-and-drop)

13

Прячет указатель мыши.

14

Стрелка.

Замечание Замечание

Это свойство недопустимо для использования с решетками (grids). Если вы установите это свойство для элемента управления, то будет сгенерирована ошибка "Expression evaluated to an illegal value."

15

Рука с вытянутым указательным пальцем.

Замечание Замечание

Когда приложение Visual FoxPro исполняется на операционной системе Windows 2000 вместо руки появляется стрелка. (Примечание переводчика. Возможно это устаревшая информация, поскольку на машинах с такой операционной системой и установленными сервис-паками, как для Windows, так и для Visual FoxPro, подобного эффекта подмены указателя мыши не наблюдается)

16

Стрелка вниз.

Замечание Совет

Это установка частично полезна в случае, если родительская колонка заголовка, переписывает установку, используемую по умолчанию для свойства заголовка MousePointer.

99

Пользовательская. Используется указатель, определенный в свойстве MouseIcon объекта.

Expand image Примечания

Применяется к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | _SCREEN | Shape | Spinner | TextBox | ToolBar

Expand image Смотрите также

Справочное руководство

Событие MouseMove
Свойство MouseIcon

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Movable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Movable
Смотрите также
CollapseAll image

Определяет, может ли пользователь перемещать данный объект на этапе выполнения. Доступно на этапе разработки; только для чтения на этапе выполнения.

Object.Movable[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства Movable предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Объект можно перемещать. В случае объекта Form в управляющее меню добавляется команда Move.

False (.F.)

Объект нельзя перемещать. Столбцы элемента управления Grid вы не сможете перемещать путем непосредственной манипуляции. Столбец можно будет перемещать, если изменить свойство ColumnOrder этого столбца или переместить на него другой столбец.

Expand image Примечания

Применимо к: Column | Form | _SCREEN | ToolBar

Expand image Смотрите также

Справочное руководство

Свойство Sizable

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MoverBars Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MoverBars
Смотрите также
CollapseAll image

Определяет будет ли отображаться полосы c с кнопками, позволяющими перемещать предметы списка в элементе управления ListBox.

Доступно как в design time, так и в run time.

ListBox.MoverBars[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установки, которое может принимать свойство MoverBars приведены в таблице:

Установка Описание

True (.T.)

Отображает полосу кнопок для перемещения предметов в списке.

Пользователи могут в интерактивном режиме реорганизовывать содержание списка элемента управления.

False (.F.)

Полоса кнопок для перемещения предметов в списке не отображатеся. (По умолчанию)

Expand image Примечания

Применяется к: ListBox

Вы можете выбрать и переместить предмет списка нажатием CTRL+UP ARROW, CTRL+DOWN ARROW, используя мышь или программным способом, используя метод MoveItem. Когда предмет перемещается вверх или вниз по списку срабатывает событие OnMoveItem.

Свойство MoverBars доступно только в том случае, когда свойство RowSourceType установлено в 0 (None) или в 1 (Value).

Expand image Смотрите также

Справочное руководство

Свойство RowSourceType
Свойство ScrollBars
Событие OnMoveItem
Метод MoveItem

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MultiSelect Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство MultiSelect (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Определяет - сможет ли пользователь сделать множественный выбор в элементе управления ListBox и то, как эта выборка может быть сделана. Доступно как в design time, так и в run time.

ListBox.MultiSelect[ = nChoice]

Expand image Возвращаемое значение

nChoice

Установками для свойства MultiSelect являются:

Установка Описание

0

(По умолчанию) Множественный выбор не разрешен.

1

Множественный выбор разрешен. Для выбора множества предметов в списке элемента управления ListBox, нажмите и удерживайте клавишу CTRL, пока щелкаете по предметам списка, выбирая их.

Expand image Примечания

Применяется к: ListBox

Set MultiSelect to true (.T.) to enable a user to select multiple items in a list. Вы можете use the Selected property to determine which items are selected.

Expand image Пример

В приведенной ниже примере создается ListBox. Его свойство MultiSelect устанавливается в true (.T.), позволяя вам сделать множественный выбор из списка предметов. Источником для предметов, которые появляются в списке является массив; массив определен свойствами RowSourceType и RowSource.

Свойство ListCount используется в цикле FOR ... ENDFOR для отображения предметов, выбранных вами из списка. Свойство Selected используется для определения выбранных вами предметов, а свойство List используется для их получения.
CopyCode image Скопировать код
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Fill the array with letters
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR

frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .f.  && Disable the Control menu box

frmMyForm.Move(150,10)  && Move the form

frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')  && Add "Quit" Command button
frmMyForm.AddObject('lstListBox1','lstMyListBox')  && Add ListBox control

frmMyForm.lstListBox1.RowSourceType = 5  && Specifies an array
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && Array containing listbox items

frmMyForm.cmbCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.lstListBox1.Visible =.T.  && "List Box visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
      CLEAR  && Clear main Visual FoxPro window
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox  && Create ListBox control
   Left = 10  && List Box column
   Top = 10  && List Box row
   MultiSelect = .T.  && Allow selecting more than 1 item

PROCEDURE Click
   ACTIVATE SCREEN
   CLEAR
   ? "Selected items:"
   ? "---------------"
   FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
      IF ThisForm.lstListBox1.Selected(nCnt)  && Is item selected?
         ? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item
      ENDIF
   ENDFOR

ENDDEFINE

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод Clear
Свойство List
Свойство ListCount
Свойство NewItemID
Метод RemoveItem
Свойство Selected
Свойство TopItemID

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Name Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Name (Visual FoxPro)
Смотрите также
CollapseAll image

Указывает имя, используемое для обращения к объекту в коде. Доступно в design time; только для чтения в run time.

Object.Name[ = cName]

Expand image Возвращаемое значение

cName

Указывает имя, используемое для ссылки на объект в коде.

Expand image Примечания

Применяется к: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | Cursor Object | CursorAdapter Class | Custom Object | DataEnvironment Object | EditBox Control | Exception Class (Visual FoxPro) | File Object (Visual FoxPro) | Form Object | FormSet Object | Grid Control | Header Object | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Project Object (Visual FoxPro) | ProjectHook Object | Relation Object | ReportListener Object | _SCREEN System Variable | Session Object | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Именем по умолчанию для новых объектов является наименование типа объекта с добавлением уникального целочисленного номера. Например, первый новый объект будет иметь имя Form1, а третий Textbox, которые вы создадите на форме будет иметь имя Text3.

Замечание Замечание

Если объект является первым объектом в иерархии объектов ( то есть самым внешним контнейрным объектом), используйте объектную ссылку для обращения к объекту вместо его имени.

Для объекта Project, свойство Name содержит имя и путь к проекту и имеет аттрибут "только для чтения", как в design, так и в run time.

Для объекта File, свойство Name содержит имя и путь к файлу и имеет аттрибут "только для чтения", как в design, так и в run time.

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство NewIndex
Свойство NewItemID
Свойство ServerName
Свойство TypeLibName

Прочие ресурсы

Свойство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NestedInto Property

Visual FoxPro 9.0
Свойство NestedInto
Смотрите также
CollapseAll image

Определяет родительский объект XMLTable для XMLTable внутри иерархии. Только для чтения, как в design, так и в run time.

XMLTable.NestedInto = oXMLTable

Expand image Возвращаемое значение

oXMLTable

Объектная ссылка на родительский объект XMLTable.

null (.NULL.)

Свойство не заполнено. Указывает, что не имеется родительского объекта XMLTable.

Expand image Примечания

Применяется к: классу XMLTable

Expand image Смотрите также

Справочное руководство

Метод Nest

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NewIndex Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство NewIndex Property
Смотрите также
CollapseAll image

Задает индекс последнего элемента, добавленного в элемент управления ComboBox или ListBox. Недоступно на этапе разработки; доступно только для чтения на этапе выполнения.

Control.NewIndex

Expand image Примечания

Применимо к: ComboBox | ListBox

Свойство NewIndex особенно полезно, когда нужно добавить элементы в отсортированный список.

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство NewItemID
Свойство Name (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


NewItemID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство NewItemID
Смотрите также
CollapseAll image

Определяет идентификатор ID предмета, добавляемого самым последним в элементы управления ComboBox или ListBox. Not available at design time; read-only at run time.

 [Form.]Control.NewItemID

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Для получения более подробной информации о различии между использованием ID предмета и индексом, смотрите Метод AddItem (Visual FoxPro) или Метод AddListItem.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод AddListItem
Метод Clear
Свойство ItemData
Свойство List
Свойство ListCount
Свойство MultiSelect (Visual FoxPro)
Свойство NewIndex
Метод RemoveItem
Свойство Selected
Свойство TopItemID

Прочие ресурсы

Свойство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NextSiblingTable Property

Visual FoxPro 9.0 Справочное руководство по языку
NextSiblingTable Property
Смотрите также
CollapseAll image

Определяет следующий родственный объект XMLTable одного уровня иерархиии (брат/сестра) для объекта XMLTable вложенного в иерархию. "Только для чтения" в design time и в run time.

XMLTable.NextSiblingTable = oXMLTable

Expand image Возвращаемое значение

oXMLTable

Объектная ссылка на родственный объект XMLTable одного уровня иерархии.

null (.NULL.)

Свойство не заполнено. Указывает, что не имеется родственного объекта XMLTable этого же уровня иерархии.

Expand image Примечания

Применяется к классу: XMLTable

Expand image Смотрите также

Справочное руководство

Метод LoadXML
Метод Nest

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NoCpTrans Property

Visual FoxPro 9.0 Спроавочное руководство по языку
Свойство NoCpTrans
Смотрите также
CollapseAll image

Определяет - будут ли поля символьного и мемо типов создаваться как поля типов Character (Binary) или Memo (Binary). Read/write. Имеется два варианта синтаксиса.

XMLAdapter.NoCpTrans [= lValue]
XMLField.NoCpTrans [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения lValue.

lValue Описание

False (.F.)

Поле создается, как обычное поле типа Character или Memo. (По умолчанию)

True (.T.)

Поле создается, ка поле типа Character (NoCpTrans) или Memo (NoCpTrans).

Expand image Примечания

Применяется к: классу XMLAdapter | классу XMLField

Для получения более подробной информации о Visual FoxPro и разметке данных XSD, смотрите описание Visual FoxPro и размпетка типов данных сзхемы XML.

Установка свойства NoCpTrans на уровне объекта XMLAdapter устанавливает значения по умолчанию свойств NoCpTrans создаваемых им объектов XMLField и добавляет их в коллекцию Fields с помощью методов объектов XMLAdapter:

  • LoadXML

  • Attach

  • AddTableSchema

В дополнение к этому, изменение свойства NoCpTrans на уровне XMLAdapter воздействует только на следующий набор создаваемых объектов XMLField, но не на уже существующиеnot объекты XMLField коллекции Fields. Поэтому, для изменения установок NoCpTrans для существующих объектов XMLField, измените их значения на уровне XMLField.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Свойства, методы и события объекта XMLField
Типы данных и полей Visual FoxPro
Класс XMLAdapter
Коллекция Fields (XMLTable)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NoData Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство NoData
Смотрите также
CollapseAll image

Указывает значение по умолчанию для параметра lNoData метода CursorFill. Read/write как в design time, так и в run time.

CursorAdapter.NoData [ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства NoData являются:

Установка Описание

True (.T.)

Устанавливает значение по умолчанию для параметра lNoData метода CursorFill в логическое True (.T.).

Если метод CursorFill вызывается без параметра lNoData, курсор создается, но не заполняется данными.

False (.F.)

(По умолчанию) Устанавливает значение по умолчанию для параметра lNoData метода CursorFill в логическое False (.F.).

Если метод CursorFill вызывается без параметра lNoData, курсор создается и заполняется данными.

Expand image Примечания

Применяется к классу: CursorAdapter.

Значение, указанное этим свойством используется методом CursorFill, когда параметр lNoData опущен в вызове метода. Это свойство игнорируется, если параметр lNoData включен в вызов метода CursorFill.

Expand image Смотрите также

Справочное руководство

Метод CursorFill
Свойство UseCursorSchema

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NoDataOnLoad Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство NoDataOnLoad
Смотрите также
CollapseAll image

Установка этого свойства вызывает активизацию представления, ассоциированного с курсором без загрузки данных. Доступно в design time; read/write в run time.

DataEnvironment.Cursor.NoDataOnLoad[ = lExpr]

Expand image Возвращаемое значение

lExpr

В приведенной ниже таблицы описаны значения для свойства NoDataOnLoad и вызываемое этими установками поведение:

Установка Описание

True (.T.)

Представление, ассоциирование с курсором открывается без загрузки данных.

False (.F.)

(По умолчанию) Представление, ассоциированное с курсором, открывается с данными.

Expand image Примечания

Применяется к: Cursor

Note Замечание

Когда к объекту Cursor обращаются с использование функции CURSORSETPROP(), свойство NoDataOnLoad является защищенным - только для чтения - в run time.

Используйте свойство NoDataOnLoad для гарантии, что набор форм или форма, связанная с представлением будет быстро загружаться, так как загрузка данных в представление, особенно в случае загрузки с удаленного сервера) может потребовать значительного времени. Вы можете использовать REQUERY( ) в сочетании с NoDataOnLoad для загрузки данных в активное представление сразу после того, как загрузится форма.

Свойство NoDataOnLoad повторяет поведение опции NODATA команды USE.

Expand image Смотрите также

Справочное руководство

Функция REQUERY( )
Команда USE

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NullDisplay Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство NullDisplay
Смотрите также
CollapseAll image

Определяет текст, используемый для индикации null-значений. Доступно как в design time, так и в run time.

Object.NullDisplay[ = cNullText]

Expand image Возвращаемое значение

cNullText

Указывает текст, который будет использоваться для отображения null-значений. .NULL. является значением по умолчанию.

Expand image Примечания

Применяется к: ComboBox | EditBox | ListBox | Spinner | TextBox

Это свойство изменяет отображение null-значений только для индивидуальных объектов. Для глобального изменения текста, используемого для отображения null-значений во всех объектах, используйте команду SET NULLDISPLAY.

Expand image Смотрите также

Справочное руководство

Команда CREATE TABLE - SQL
Команда SET NULLDISPLAY

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


NumberOfElements Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство NumberOfElements
Смотрите также
CollapseAll image

Определяет количество элементов массива, используемых для заполнения списочной части элементов управления ComboBox или ListBox. Доступно как в design, так и в run time.

 [Form.]Control.NumberOfElements[ = nTotal]

Expand image Возвращаемое значение

nTotal

Указывает число предметов, которое может содержать список.

Expand image Примечания

Применяется к: ComboBox | ListBox

Доступно только в том случае, когда свойство ListSourceType установлено в значение 5 (Array) и свойство ColumnCount установлент взначение равное 1.

NumberOfElements полезно для ограничения числа элементов массива, которые могут быть отображены в списке. Число предметов, используемых для списка начинается элемент, соответствующего установке свойства FirstElement и включает число элементов, определенное установкой свойства NumberOfElements.

Expand image Смотрите также

Справочное руководство

Свойство DisplayCount
Свойство FirstElement

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Object Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Object (Visual FoxPro)
Смотрите также
CollapseAll image

Предоставляет доступ к свойствам и методам сервера автоматизации через OLE объект. Не доступен в design time. В зависимости от сервера автоматизации, свойства OLE объекта могут быть "read-only" или "read/write" в run time.

OLEObject.Object[.Property] [= eValue]
-or-
OLEObject.Object[.Method]

Expand image Возвращаемое значение

Property

Определяет свойство сервера автоматизации, поддерживаемое для OLE объекта.

eValue

Определяет значение свойства сервера автоматизации, поддерживаемого для OLE объекта.

Method

Определяет метод сервера автоматизации, поддерживаемый для OLE объекта.

Expand image Примечания

Применяется к: OLE Bound Control | OLE Container Control

Для получения подробной информации о свойствах и методах, поддерживаемых сервером автоматизации, смотрите документацию для OLE–доступных приложениях, которые создают такой объект. Например, Если OLE объект представляет собой таблицу Microsoft Excel, смотрите документацию по Excel для ознакомления со свойствами и методами, поддерживаемыми Excel (OLE–доступное приложение).

Expand image Смотрите также

Справочное руководство

Функция CREATEOBJECT()
Функция GETOBJECT()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OLEClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEClass
Смотрите также Пример
CollapseAll image

Возвращает именованный идентификатор класса ID объекта OLE. Только для чтения в design time и run time для сущетсвующих объектов, но может быть установлен для объекта при его создании.

Control.OLEClass[ = cName]

Expand image Возвращаемое значение

cName

Именованный идентификатор класса ID объекта. Это представляет собой зарегистрированное имя приложения, которое использовалось для создания объекта или будет вызвано при активизации объекта.

Expand image Примечания

Применяется к элементам управления: OLE Bound | OLE Container

Вы устанавливаете свойство OLEClass объекта контейнера OLE в помощью диалогового окна Insert Object, когда вы изначально вводите OLE контейнер в форму, или в коде, когда описываете объект OLE, как часть описания класса. Это свойство, кроме того, устанавливается, когда вы создаете объекты OLE с помощью команды APPEND GENERAL.

Свойство объекта OLEClass определяет приложение, которое использовалось для создания или редактирования объекта OLE. Для указания конкретного содержания объекта, установите его свойство DocumentFile.

Expand image Пример

Приведенный ниже пример вводит в форму элемент управлени OLE Container и использует свойства OLEClass и DocumentFile для указания Microsoft Excel в качестве сервера автоматизации и листа Excel, в качестве редактируемого файла.
CopyCode image Скопировать код
Define class myForm as form
 add object oleXLSheet1 as oleXLSheet
EndDefine

Define class oleXLSheet as OLECONTROL
oleclass = "Excel.Sheet"
 documentfile="C:\msoffice\Excel\mysheet.xls"
 oletypeallowed = 1  && Embedded
EndDefine

Expand image Смотрите также

Справочное руководство

Команда APPEND GENERAL
Функция CREATEOBJECT( )
Свойство DocumentFile

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OLEDragMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEDragMode
Смотрите также
CollapseAll image

Определяет - как инициируется операция перетаскивания. Доступно, как в design, так и в run time.

Object.OLEDragMode[= nValue]

Expand image Возвращаемое значение

nValue

Определяет - как элемент управления или объект обрабатывает OLE drag операции. В приведенной ниже таблице перечислены установки для nValue.

Установка Описание

0

Manual (По умолчанию).

Visual FoxPro не инициирует OLE drag операцию, когда вы пытаетесь перетащить данные. Вы должны вызвать метод OLEDrag для начала операции перетаскивания.

Установка OLEDragMode в 0 предоставлена для совместимости назад (OLE drag не поддерживается) с существующими приложениями, если вы не включили в приложение дополнительного кода для операции перетаскивания.

1

Automatic

Visual FoxPro позвовляет автоматически инициировать операцию перетаскивания, когда вы пытаетесь перетащить данные.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

OLEDragMode представляет собой свойство источника перетаскивания. Если свойство DragMode для элемента управления или объекта установлено в 1 – Automatic, объект или элеменет управления не могут действовать, как источники для OLE drag операции. Это предоставляет совместимость назад для предыдущей поддержки drag-and-drop в ранних версиях Visual FoxPro.

Отметьте, что свойство OLEDragMode для элемента управления Grid имеет аттрибут "только для чтения".

Expand image Смотрите также

Справочное руководство

Свойство DragMode
OLE Drag-and-Drop
Метод OLEDrag
Событие OLEStartDrag

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDragPicture Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEDragPicture
Смотрите также
CollapseAll image

Определяет картинку, отображаемую под указателем мыши во время операции OLE drag-and-drop. Доступно, как в design, так и в run time.

Object.OLEDragPicture[= cFileName]

Параметры

cFileName

Указывает имя файла и путь к графике, отображаемой во время операции OLE drag-and-drop. Указанный графический файл может быть в формате .bmp, .dib, .jpg, .gif, .ani, .cur, or .ico.

Графический файл обычно является полупрозрачным или контурным представлением перетаскиваемого объекта. Для создания полупрозрачного представления объекта, используйте черно-белый файл маски (.msk).

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

OLEDragPicture свойством источника операции drag. Картинка отображается когда указатель мыши находится над формом, содержащий источник операции drag.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


OLEDropEffects Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEDropEffects
Смотрите также
CollapseAll image

Определяет тип операции drop поддерживаемой целевым объектом операции OLE drop. Доступно, как в design, так и в run time.

Object.OLEDropEffects[= nDropEffect]

Expand image Возвращаемое значение

nDropEffect

Определяет тип операции drop поддерживаемой целевым объектом операции OLE drop. В приведенной ниже таблице перечислены значения для nDropEffect с описанием каждого из них .

nDropEffect константа Foxpro.h Описание

0

DROPEFFECT_NONE

Целевой объект операции Drop не принимает данные в качестве целевого объекта.

1

DROPEFFECT_COPY

Данные могут быть скопированы в целевой объект операции drop.

2

DROPEFFECT_MOVE

Данные могут быть перемещены в целевой объект операции drop.

4

DROPEFFECT_LINK

Данные могут быть связаны с целевым объектом.

Операция drop может поддерживать несколько операций одновременно, путем сложения нескольких значений для nDropEffect. Например, если nDropEffect равен 3, целевой объект операции drop поддерживает как копирование, так и перемещение данных (3 = 1 (копирование) + 2 (перемещение)).

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar

OLEDropEffects является свойством целевого объекта операции drop и должно быть установлено в событии OLEDragOver.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Событие OLEDragOver
Свойство OLEDropHasData

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDropHasData Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEDropHasData
Смотрите также
CollapseAll image

Определяет, как обслуживается операция завершения перетаскивания - drop. Доступно в run time и "только для чтения" в design time.

Object.OLEDropHasData[= nDropEffect]

Expand image Возвращаемое значение

nDropEffect

Определяет, как обслуживается операция завершения перетаскивания - drop. В приведенной ниже таблице перечислены значения для nDropEffect с описанием каждого.

nDropEffect константа Foxpro.h Описание

–1

DROPHASDATA_VFPDETERMINE

ПО умолчанию. Visual FoxPro автоматически определяет - содержит ли DataObject данные в формате, которые могут быть "брошены" на целевом объекте.

Если DataObject содержит данные для целевого объекта в подходящем формате, то данные перетаскиваются в целевой объект. Visual FoxPro обслуживает курсор указателя мыши и извещения на источнике операции drag.

Если же формат данных не соответствуют формату, акцептируемому целевым объектом Visual FoxPro отображает указатель мыши в виде курсора No Drop, операция перетаскивания прекращается и источник операции drag извещается, что операция drop была прекращена.

0

DROPHASDATA_NOTUSEFUL

DataObject не содержит данных в формате, которые могут быть брошены на целевой объект, и в таком случае указатель мыши отображается в виде курсора No Drop.

1

DROPHASDATA_USEFUL

DataObject содержит данные в формате, которые может принять целевой объект.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar

OLEDropHasData является свойством целевого объекта операции drop и должно быть установлено в событии OLEDragOver. Используйте GetFormat в событии OLEDragOver для определения, содержит ли DataObject данные в требуемом для целевого объекта операции формате. Если формат соответствует установите OLEDropHasData в 1.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Событие OLEDragOver
Свойство OLEDropEffects

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDropMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEDropMode
Смотрите также
CollapseAll image

Указывает, как целевой объект, куда перетаскиваются данные обслуживает операции OLE drop. Доступно, как в design, так и в run time.

Object.OLEDropMode[= nValue]

Expand image Возвращаемое значение

nValue

Определяет - как элемент управления или объект обрабатывает операции OLE drop. В приведенной ниже таблице перечислены установки для nValue.

nValue константа Foxpro.h Описание

0

DROP_DISABLED

Блокировано (По умолчанию).

Данные не могут быть брошены на элемент управления или объект и не происходит событий по высвобождению данных на целевом объекте. Когда указатель мыши позиционируется над элементом управления или объектом, то указатель мыши отображает курсор "No Drop".

Установка OLEDropMode в 0 предоставляет совместимость назад (OLE drop не поддерживается) в существующих приложениях.

1

DROP_ENABLED

Разрешено.

Visual FoxPro позволяет "бросить" данные на элемент управления или объект и происходят события высвобождения данных на целевом объекте.

2

DROP_PASSTOCONTAINER

Пересылка в контейнер.

Элемент управления или объект ведут себя так, как если бы они были блокированы для операций OLE drop, и данные "бросаются" на контейнер, в котором содержится целевой элемент управления или объект.

Свойство контейнера OLEDropMode должно быть установлено в 1 или 2 для приема данных. Когда указатель мыши позиционируется над контнейнером с установленным в 0 свойством OLEDropMode, то указатель мыши отображает курсор "No Drop".

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar

OLEDropMode является свойством целевого объекта, на который переносятся данные. Если свойство DropMode для элемента управления или объекта установлено в 0 – Disabled, то они не могут действовать как источники OLE drop. Это сделано для совместимости назаз для предыдущей поддержки drag-and-drop в ранних версиях Visual FoxPro.

Если свойство Enabled элемента управления или объекта установлено в false (.F.), вы не можете бросить на него данные. Для операций "бросания" в этом случае, указатель мыши будет отображать курсор No Drop.

Expand image Смотрите также

Справочное руководство

Свойство Enabled (Visual FoxPro)
OLE Drag-and-Drop

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDropTextInsertion Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEDropTextInsertion
Смотрите также
CollapseAll image

Определяет - можете ли вы "бросить" (drop) перетаскиваемый текст в середину слова в части элемента управления, предназначенного для ввода текста.

Object.OLEDropTextInsertion[= lExpression]

Параметры

lExpression

Установки свойсва OLEDropTextInsertion перечислены в таблице:

Установка Описание

0

(По умолчанию) Текст может быть "брошен" (вставлен) в середину слова.

1

Текст может быть "брошен" либо перед, либо позади слова.

Expand image Примечания

Применяется к: ComboBox | EditBox | Spinner | TextBox

Свойство OLEDropMode элемента управления должно быть установлено в 1 – Enabled для того, чтобы вы могли бросить перетаскиваемый текст в текстовой части элемента управления.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Свойство OLEDropMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLELCID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLELCID
Смотрите также
CollapseAll image

Содержит численное значение, уазывающее Locale ID для элементов управления OLE Bound control или OLE Container. "Только для чтения" как в design, так и в run time.

Control.OLELCID

Expand image Примечания

Применяется к: OLE Bound Control | OLE Container Control

Значение Locale ID определяется значением свойства DefOLELCID формы или главного окна Visual FoxPro, когда на них помещены элементы управления OLE Bound или OLE.

Если свойство DefOLELCID формы или главного окна Visual FoxProDefOLELCID устнавновлено в ноль, а на форму или главное окно Visual FoxPro помещены элементы управления OLE Bound или OLE Container, то элементы управления будут использовать текущее значение Locale ID (LCID) Visual FoxPro Locale ID (LCID). Используйте функцию SYS(3004) для определения текущего Visual FoxPro Locale ID. Используйте свойство DefOLELCID для указания Locale ID для формы form.

Обратитесь к описанию SYS(3005) для получения списка Locale IDs.

Замечание Замечание

Свойство OLELCID воздействует только на язык пользовательского интерфейса, который отображает элементы управления OLE, но не на язык команд автоматизации. На язык команд автоматизации воздействует только глобальный Global LocaleID, устанавливаемый с помощью SYS(3005).

Expand image Смотрите также

Справочное руководство

Свойство DefOLELCID
SYS(3005) - Set Locale ID

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OLERequestPendingTimeout Property

Visual FoxPro 9.0 Описание Языка
OLERequestPendingTimeout, свойство
См. также
CollapseAll image

Определяет интервал времени, после выполнения Запроса к серверу Автоматизации (Automation), по истечении которого отображается Информационное Сообщение о занятости Сервера COM (обработчика запроса). Чтение/Запись для режима Run-Time.

ApplicationObject.OLERequestPendingTimeout[ = nMilliseconds]

Expand image Возвращаемое значение

nMilliseconds (в милисекундах)

Определяет интервал времени ожидания информационного сообщения о занятости Сервера-Обработчика Запроса. Данное сообщение немедленно появляется при нажатии на клавишу или кнопку мыши (Mouse or Keyboard event occurs). По-умолчанию, значение для nMilliseconds = 5,000 (пять секунд).

Если устанавливается значение nMilliseconds = 0, это означает бесконечное ожидание обработки Запроса Automation, или пока не нажата Клавиша или кнопка мышки (точнее: отображение информационного сообщения).

Expand image Комментарии

Применяется в: Application, объект | _VFP, системная переменная

Expand image См. также

Описание

OLEServerBusyRaiseError, свойство
OLEServerBusyTimeout, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


OLEServerBusyRaiseError Property

Visual FoxPro 9.0 Описание Языка
OLEServerBusyRaiseError, свойство
См. также
CollapseAll image

Определяет, как обрабатывается возвращаемое Сообщение о невозможности выполнить Запрос Сервером Автоматизации (Automation Server). Чтение / Запись в режиме выполнения (Run-Time).

ApplicationObject.OLEServerBusyRaiseError[ = lExpression]

Expand image Возвращаемое значение

lExpression

Параметр принимает одно из следующих значений:

Значение Краткое Описание

.T. (True)

Ошибки не происходит и соответствующее Сообщение не отображается по истечении интервала времени, заданного как значение свойства OLEServerBusyTimeout, (в милисекундах).

.F. (False)

(По-умолчанию) Возникает Ошибочная ситуация и отображается соответствующее Сообщение по истечению интервала времени, (в милисекундах), заданного как значение свойства OLEServerBusyTimeout.

Expand image Комментарии

Применяется В: Application, объект | _VFP, системная переменная

Expand image См. также

Описание

OLERequestPendingTimeout, свойство
OLEServerBusyTimeout, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


OLEServerBusyTimeout Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OLEServerBusyTimeout
Смотрите также
CollapseAll image

Определяет как долго будет повторно выдаваться запрос автоматизации, пока сервер автоматизации занят. Редактируемое.

ApplicationObject.OLEServerBusyTimeout[ = nMilliseconds]

Expand image Возвращаемое значение

nMilliseconds

Определяет число миллисекунд периода, в котором будет осуществляться попытка запроса автоматизации занятного сервера до выдачи сообщения о том, что сервер автоматизации занят.

Expand image Примечания

Применяется к: Application Object | _VFP System Variable

Expand image Смотрите также

Справочное руководство

Свойство OLERequestPendingTimeout
Свойство OLEServerBusyRaiseError

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OLETypeAllowed Property

Visual FoxPro 9.0 Описание Языка
OLETypeAllowed, свойство
См. также
CollapseAll image

Возвращается Тип объекта OLE (внедренного или подсоединенного) к данному Контролу. Только-Чтение для режимов разработки (Design-Time) и Выполнения (Run-Time).

Control.OLETypeAllowed[ = nValue]

Expand image Возвращаемое значение

nValue

Возвращается целочисленное значение, характеризующее тип объекта OLE (внедренного или подсоединенного) к данному Контролу. Возможны следующие величины:

= 0 (подсоединен - Linked),

= 1 (внедрен - Embedded),

= –1 (для данного Контрола OLE Bound отсутствует объект OLE),

= –2 (Контрол типа ActiveX (.ocx)).

Expand image Комментарии

Применяется В: OLE Bound, контрол | OLE Container, контрол

Свойство OLETypeAllowed эффективно только в том случае, когда вы устанавливаете значение свойства DocumentFile.

Note Обратите Внимание

Вы можете устанавливать значение свойства OLETypeAllowed в программном Коде, когда создаете подсоединяемый внешний OLE-объект, с помощью стандартной команды DEFINE CLASS.

Expand image См. также

Описание

DEFINE CLASS, Команда
DocumentFile, Свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


OneToMany Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OneToMany
Смотрите также
CollapseAll image

При прохождении по записям родительской таблицы задает, должен ли указатель записи оставаться на одной и той же родительской записи, пока указатель записи в дочерней таблице не пройдет по всем связанным записям. Доступно на этапе разработки; только для чтения на этапе выполнения.

Object.DataEnvironment.Relation.OneToMany[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства OneToMany определены следующие установки:

Установка Описание

True (.T.)

Указатель записи остается на той же родительской записи, пока указатель записи в дочерней таблице не пройдет по всем связанным записям.

False (.F.)

(По умолчанию) Указатель записи в родительской таблице перемещается к заданной записи, а указатель записи в дочерней таблице - к первой связанной записи.

Expand image Примечания

Применимо к: Relation

С помощью свойства OneToMany можно задать правила перемещения указателя записи в простом отношении между таблицами типа "родитель-потомок". Чтобы задать перемещение указателя записи в более сложном отношении (например типа "предок-родитель-потомок"), используйте команду SET SKIP в методе Init для формы или отчета.

Когда свойство OneToMany имеет значение true (.T.), оно имитирует поведение командыSET SKIP.

Expand image Смотрите также

Справочное руководство

Команда SET SKIP

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


OpenViews Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OpenViews
Смотрите также
CollapseAll image

Определяет тип представлений, связанных с набором форм, формой или окружением данных отчета, которые открываются автоматически. Доступно в design time; "только для чтения" в run time.

DataEnvironment.OpenViews[ = nExpression]

Expand image Возвращаемое значение

nExpression

Установками для свойства OpenViews являются:

Установка Описание

0

(По умолчанию) Локальные и удаленные. Как локальные, так и удаленные представления окружения данных набора форм, формы или отчета открываются автоматически.

1

Только локальные. Только локальные представления окружения данных набора форм, формы или отчета открываются автоматически.

2

Только удаленные. Только удаленные представления окружения данных набора форм, формы или отчета открываются автоматически.

3

Нет. Представления автоматически не открываются.

Expand image Примечания

Применяется к: DataEnvironment

Свойство OpenViews применяется, когда свойство AutoOpenTables установлено в true (.T.) или исполняется метод OpenTables.

Expand image Смотрите также

Справочное руководство

Свойство AutoOpenTables
Метод OpenTables

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Optimize Property (Visual FoxPro)

Optimize, свойство (Visual FoxPro)
См. также
CollapseAll image

Определяет, используется ли Оптимизация RushMore при обработке Данных в Контроле Grid. Чтение/Запись в режимах Design-time и Run- time.

Grid.Optimize [ = lExpr]

Expand image Возвращаемое значение

lExpr

Логическое выражение, определяющее уровень Оптимизации в контроле Grid.

Значение Краткое Описание

True (.T.)

В Контроле Grid используется Оптимизация обработки данных типа RushMore.

False (.F.)

(По-умолчанию) В Контроле Grid технология оптимизации RushMore Не Используется.

Expand image Комментарии

Применяется В: Grid, контрол

В том случае, когда рассматриваемая Оптимизация Rushmore активирована с помощью определения значения свойства Optimize = True (.T.), загрузка и обновление Записей текущего Курсора допускается в следующих случаях:

  • При первоначальном заполнении контрола Grid данными из Курсора;

  • При активации контрола Grid (получении фокуса);

  • При непосредственном выполнении Метода Refresh данного Контрола Grid.

Note Обратите Внимание

Как и для любой команды обработки данных вам необходимо учитывать влияние включенной технологии типа Rushmore, вам нужно точно знать, что обновление данных контрола Grid может отличаться от случая, когда Optimize property = False (.F.). Например, активированная технология Rushmore может неявным образом вызывать функцию обновления данных TABLEUPDATE для текущей Записи
буферизированного Курсора. В этом случае может возникнуть или нет Ошибка обновления данных для пустой Записи Курсора, особенно это справедливо для случая, когда рассматриваемый курсор является набором данных Представления.

Expand image См. также

Описание

SYS(3054) - Уровень Оптимизации Запросов Rushmore
SET OPTIMIZE, команда

Концепции

Использование технологии оптимизации Запросов Rushmore для Ускорения доступа к Данным

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Order Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Order (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет управляющий индексный тэг для объекта Cursor. Доступно как в design time, так и в run time.

DataEnvironment.Cursor.Order[ = cTagName]

Expand image Возвращаемое значение

cTagName

Указывает существующий индексный тэг для таблицы.

Expand image Примечания

Применяется к: Cursor

Если установлено свойство ChildOrder объекта "relation", то свойство Order игнорируется.

Используйте свойство Order для указания упорядочивания для отображания записей или обращения к ним. Установка свойства Order изменяет индексное упорядочивание и смещает указатель записи на первую запись в курсоре.

Expand image Смотрите также

Справочное руководство

Свойство ChildOrder
Команда INDEX
Команда SET ORDER

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OrderDirection Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство OrderDirection
Смотрите также
CollapseAll image

Определяет вид упорядочивания - по возрастанию или убыванию для управляющего индексного тэга, указанного в свойстве Order объекта Cursor. Редактируемое как в design time, так и в run time.

Замечание Замечание

OrderDirection сбрасывается, если свойство Order курсора не заполнено.

Cursor.OrderDirection  [= nValue]

Expand image Возвращаемое значение

nValue

Определяет значение, которое определяет упорядочивание для индекса курсора. В приведенной ниже таблице перечислены значения для nValue.

nValue Описание

0

Упорядочивание по определенному базовому индексу или тэгу, например, полученным с использованием команды INDEX. (По умолчанию)

1

Устанавливает индексное упорядочивание по возрастанию.

2

Устанавливает индексное упорядочивание по убыванию.

Expand image Примечания

Применяется к: Cursor

Установка OrderDirection в упорядочивание по возрастанию или убыванию эквивалентно вызову команды SET ORDER с ключевыми словами ASCENDING или DESCENDING. Однако, вы можете изменить управляющий индекс и его вид упорядочивания для курсора без изменения свойств OrderDirection и Order. Изменения в свойстве OrderDirection не воздействуют на индексное упорядочивание до тех пор, пока свойство Order также не будет изменено.

Expand image Смотрите также

Справочное руководство

Команда INDEX
Команда SET ORDER
SYS(22) - управляющий тэг или имя индекса
Функция TAG( )
Функция DESCENDING( )

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OutputPageCount Property

Visual FoxPro 9.0
OutputPageCount Свойство
См. также

Число страниц, которое было обработано и к которым можно обратиться, используя OutputPage метод.

ReportListener.OutputPageCount

Возвращаемое значение

Целочисленный тип данных.

Значение по умолчанию - 0. Это свойство только для чтения.

Замечания

Применимо к: ReportListener Object.

OutputPageCount - число страниц, которое были обработаны при выполнении отчета. Если Вы используете опцию RANGE в командах LABEL или REPORT FORM , это число может быть меньше чем полное число страниц в области отчета.

Только страницы в пределах OutputPageCount Вы можете запросить у ReportListener используя метод OutputPage.

Примечание:
Как или когда Вы можете запросить эти страницы, используя OutputPage зависят, находится ли движок отчета в постраничном режиме (ориентированном на печать, ListenerType = 0 или 2), или режим " все страницы сразу" (ориентированном на предварительный просмотр, ListenerType = 1 или 3). Для получения дополнительной информации, см. OutputPage Method.

OutputPageCount не сбрасывается между отчетами, так что Вы можете проверить его значение между запусками отчетов. Когда Вы запускаете отчет, OutputPageCount установливается в 0 перед LoadReport, если предыдущий отчет использовал ключевое слово NOPAGEEJECT. OutputPageCount остается постоянным, или нулем, или сохраненном значением последнего отчета, если используется NOPAGEEJECT, в течении всех проходов, если отчет выполняется за несколько проходов.

OutputPageCount не изменяется в течение LoadReport или BeforeReport. Оно увеличивается в конце вывода каждой страницы. Перед событием AfterReport OutputPageCount поэтому содержит все страницы текущего отчета плюс страницы предыдущих отчетов с использованием NOPAGEEJECT.

Примечание:
Базовый класс ReportListener определяет, включена ли страница в вывод, вызывая IncludePageInOutput Method. В многопроходном отчете, ReportListener делает это только во втором проходе.

Для получения дополнительной информации о том, как встроенные компоненты системы отчетов назначают значение OutputPageCount и другие значения в начале и конец выполнения отчета, см. Understanding Visual FoxPro Object-Assisted Reporting.

Смотри также

Ссылки

ReportListener Object Properties, Methods, and Events
REPORT FORM Command
TwoPassProcess Property

Другие ресурсы

Properties (Visual FoxPro)
Language Reference (Visual FoxPro)

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


OutputType Property (Visual FoxPro)

Visual FoxPro 9.0
Свойство OutputType (Visual FoxPro)
Смотри также

Предоставляет значение для Report Engine, посылаемое приложению по обслуживанию вывода отчета, ссылка на которое указана в системной переменной _REPORTOUTPUT для представления опции OBJECT TYPE команд LABEL или REPORT FORM.

ReportListener.OutputType [= iExpr]

Возвращаемое значение

Целочисленное (Integer).

Значение по умолчанию: -1.

Примечания

Применяется к: объекту ReportListener.

Это свойство является парным для свойства ListenerType. Оно не используется базовым классом ReportListener.

The values of the two properties do not necessarily match, although they are related. If they match, the ReportListener provides a single form of output, specified by ListenerType; the object may either replace or augment the native behavior for this ListenerType. If they do not match, the object may use OutputType to provide a second output result, while leveraging inherited behavior for the output result specified by ListenerType.

Для получения подробной информации и просмотра примера по использованию, смотрите Свойство ListenerType.

Совет:
Поскольку Visual FoxPro не использует OutputType для внутренних целей и, вследствие чего ему нет необходимости оценивать его значение, то в он не имеет парного метода для SupportsListenerType. Однако, если вы желаете оценить и реагировать только на определенные значения OutputType, вы можете написать соответсвующий (matching SupportsOutputType) метод в вашем производном классе. Для получения подробной информации смотрите статью Метод SupportsListenerType.

Смотри также

Справочное руководство

Свойства, методы и события объекта ReportListener
Системная переменная _REPORTOUTPUT

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)
Приложение Report Output

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


PageCount Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PageCount
Смотрите также
CollapseAll image

Задает количество страниц, содержащихся в объекте PageFrame. Доступно на этапе разработки и на этапе выполнения.

PageFrame.PageCount[ = nPages]

Expand image Возвращаемое значение

nPages

Задает количество страниц, содержащихся в объекте PageFrame.

Expand image Замечания

Применяется к: PageFrame Control

Минимальное значение установки свойства PageCount равно 0, максимальное - 99.

Caution note Внимание

Если уменьшить установку свойства PageCount (например, если изменить ее с 3 на 2), все страницы, которые оказываются лишними при новой установке, и содержащиеся в них объекты будут потеряны.

Expand image Смотрите также

Справочное руководство

ButtonCount, свойство
ControlCount, свойство
FormCount, свойство
Page, объект

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


PageHeight Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PageHeight
Смотрите также
CollapseAll image

Задает высоту страницы. Доступно только для чтения на этапе разработки и выполнения.

PageFrame.PageHeight[ = nHeight]

ПараметрЫ

nHeight

Задает высоту страницы в единицах, определяемых свойством ScaleMode данной формы.

Expand image Примечания

Применимо к: PageFrame

Expand image Смотрите также

Справочное руководство

Свойство PageWidth
Обїект Page
Свойство ScaleMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PageNo Property

Visual FoxPro 9.0
PageNo Свойство
Смотрите также

Представляет текущий номер страницы для вывода в отчете.

ReportListener.PageNo

Возвращаемое значение

Целочисленный тип данных.

Значение по умолчанию - 0. Это свойство только для чтения.

Замечания

Применяется к: ReportListener Object.

Класс ReportListener имеет два свойства, PageTotal и PageNo, плюс третье свойство OutputPageCount. Эти элементы отличны от стандартных глобальных переменных отчета (_PAGENO и _PAGETOTAL), которым может быть назначено значение в любое время, и которые не указывают надежно на действительно созданные страницы.

Примечание:
Показателем ненадежности _PAGENO и _PAGETOTAL является использование опций NORESET, NOPAGEEJECT, и RANGE команд REPORT FORM и LABEL наряду с возможным перопределением пользователем их значений.

ReportListener.PageNo и ReportListener.PageTotal, подобно _PAGENO и _PAGETOTAL, не чувствительны к опции RANGE команд REPORT FORM или LABEL. They can be used for pagination expressions within report output.
(Они могут использоваться для пагинация выражений в пределах вывода отчета.)

Совет:
Чтобы использовать эти свойства в выражениях отчёта, Вы должны назначить Вашему ReportListener переменную видимую при исполнении команд REPORT FORM или LABEL. Если Вы используете приложение Report Output, для определения переменной ReportListener Вы можете использовать глобальную переменную _oReportOutput приложения для ссылки на ваш ReportListener. Для получения дополнительной информации, см. Report Output Application.

ReportListener.PageNo указывает реальное значение для данного выполняемого отчета, поскольку движок отчёта понимает, что отчет запущен. В действительности, движок принимает NORESET для ReportListener.PageNo and ReportListener.PageTotal, если NOPAGEEJECT использовался в предыдущей команде.

Смотрите также

Ссылки

ReportListener Object Properties, Methods, and Events
REPORT FORM Command
LABEL Command
_PAGENO System Variable
_PAGETOTAL System Variable
OutputPageCount Property
PageTotal Property

Прочие ресурсы

Properties (Visual FoxPro)
Language Reference (Visual FoxPro)

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


PageOrder Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PageOrder
Смотрите также
CollapseAll image

Задает относительный порядок страниц в объекте PageFrame. Доступно на этапе разработки и выполнения.

Page.PageOrder[ = nOrder]

Параметры

nOrder

Задает относительный порядок объектов Page в объекте PageFrame.

Expand image Примечания

Применимо к: Page

Если PageFrame содержит пять страниц и вы хотите, чтобы последней отображалась третья страница, установите значение свойства PageOrder третьего объекта Page равным 5. Установка PageOrder для четвертой страницы станет равна 3, для пятой страницы - 4 и т.д.

Note Note

Установки PageOrder не обязательно должны быть последовательными. Также, PageOrder должен быть меньшим или равен количеству страниц в элементе управления page frame.

Expand image Смотрите также

Справочное руководство

Событие Activate (Visual FoxPro)
Событие Deactivate
Элемент управления PageFrame
Метод ZOrder

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Pages Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Pages
Смотрите также
CollapseAll image

Массив, используемый для доступа к страницам в объекте pageframe. Доступно только на этапе выполнения.

PageFrame.Pages(Index).Property[ = Expr]

Параметры

Index

Представляет индекс страницы, к которой необходим доступ.

Expr

Задает значение свойства для страницы, содержащейся в объекте pageframe.

Expand image Примечания

Применимо к: PageFrame

Expand image Смотрите также

Справочное руководство

Свойство Buttons
Объект Page
Свойство PageCount

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PageTotal Property

Свойство PageTotal
Смотрите также
CollapseAll image

Обеспечивает PageTotal для вывода в отчет.

ReportListener.PageTotal

Expand image Return Value

Тип данных Integer.

Значение по умолчанию: 0. Свойство доступно только для чтения.

Expand image Примечания

Применимо к: Объект ReportListener.

ReportListener.PageTotal не доступен до окончания предпрохода в каждой многопроходной LABEL или REPORT FORM команде, иначе он будет работать как ReportListener.PageNo. Смотрите Свойство PageNo и Свойство CurrentPass для получения подробной иноформации.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта ReportListener
Команда REPORT FORM
Системная переменная _PAGENO
Системная переменная _PAGETOTAL

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PageWidth Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PageWidth
Смотрите также
CollapseAll image

Задает ширину страницы. Доступно на этапе разработки; только чтение на этапе выполнения.

PageFrame.PageWidth[ = nWidth]

Expand image Возвращаемое значение

nWidth

Задает ширину страницы в единицах, определяемых свойством ScaleMode данной формы.

Expand image Примечания

Применимо к: PageFrame

Установка свойства PageWidth совпадает с установкой свойства Width , за исключением случая, когда объект PageFrame содержит более одной страницы и эти страницы образуют стопку.

Expand image Смотрите также

Справочное руководство

Свойство PageHeight
Объект Page
Свойство ScaleMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Panel Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Panel
Смотрите также
CollapseAll image

Задает активную панель в элементе управления Grid. Доступно на этапе разработки; для чтения-записи на этапе выполнения. Доступно только если значение свойства Partition установлено больше 0.

Grid.Panel[ = nSide]

Expand image Возвращаемое значение

nSide

Для свойства Panel определены следующие установки:

Установка Описание

0

Активной является левая панель.

1

(По умолчанию) Активной является правая панель.

Expand image Примечания

Применимо к: Grid

Expand image Смотрите также

Справочное руководство

Свойство PanelLink
Свойство Partition

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PanelLink Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PanelLink
See Also
CollapseAll image

Определяет, будут ли связаны левая и правая панели элемента управления Grid после его разбиения. Доступно на этапе разработки; для чтения-записи на этапе выполнения. Доступно только если значение свойства Partition установлено больше 0.

Grid.PanelLink[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства PanelLink определены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) При разбиении элемента управления Grid его левая и правая панели будут связаны.

False (.F.)

При разбиении элемента управления Grid его левая и правая панели не будут связаны.

Если значение PanelLink установлена в true (.T.), обе панели Grid вместе подвергаются воздействию при установке следующих свойств: HeaderHeight, DeleteMark, GridLineColor, GridLines, GridLineWidth, Highlight, RecordMark, RowHeight, и ScrollBars.

Если значение PanelLink установлена в false (.F.), то установка свойства Panel определяет, для какой именно панели устанавливаются следующие свойства: HeaderHeight, DeleteMark, GridLineColor, GridLines, GridLineWidth, HighLight, RecordMark, RowHeight, и ScrollBars.

Expand image Примечания

Применимо к: Grid

Expand image Смотрите также

Справочное руководство

Свойство DeleteMark
Свойство GridLineColor
Свойство GridLines
Свойство GridLineWidth
Свойство HeaderHeight
Свойство Highlight
Свойство Panel
Свойство Partition
Свойство RecordMark Property
Свойство RowHeight
Свойство ScrollBars

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ParentAlias Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ParentAlias
Смотрите также
CollapseAll image

Указыает псевдоимя родительской таблицы. Только для чтения, как в design, так и в run time.

DataEnvironment.Relation.ParentAlias[ = cAliasName]

Expand image Return Value

cAliasName

Определяет псевдоимя родительской таблицы в отношении.

Expand image Примечания

Применятеся к: Отношение (Relation)

Значение свойства ParentAlias должно быть тем же самым именем, которое указано в значении свойстваAlias для объекта Cursor, который представляет родительскую таблицу.

Expand image Смотрите также

Справочное руководство

Свойство Alias
Свойство ChildAlias

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ParentClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ParentClass
Смотрите также
CollapseAll image

Возвращает имя класса, на котором основан объект. "Только для чтения" как в design, так и в run time.

Object.ParentClass

Expand image Примечания

Применяется к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | CursorAdapter Class | Custom | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | ReportListener Object | _SCREEN | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

В дизайнере классов свойство ParentClass содержит имя класса, на котором основывается субкласс.

Expand image Смотрите также

Справочное руководство

Объектная ссылка Parent

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ParentTable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ParentTable
Смотрите также
CollapseAll image

Содержит объектную ссылку на существующий объект XMLTable oи содержит объект XMLTable. Только для чтения.

XMLTable.ParentTable

Expand image Возвращаемое значение

Объектная ссылка. ParentTable содержит одно из приведенных ниже:

  • Объектную ссылку на родительский объект XMLTable, когда содержит объект XMLTable

  • Пусто (.NULL.) при следующих условиях:

    • Вы создали объект XMLTable сам по себе, ни как объект, содержащийся в XMLAdapter, ни как дочерний объект другого объекта XMLTable.

    • Когда объект XMLTable содержится в объекте XMLAdapter. Свойство XMLAdapter содержит объектную ссылку на объект XMLAdapter, содержащий объект XMLTable.

Expand image Примечания

Применяется к классу: XMLTable

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLTable
Класс XMLAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Partition Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Partition
Смотрите также
CollapseAll image

Определяет, разбивается ли элемент управления Grid на две панели и задает линию разбиения относительно левого края. Доступно на этапе разработки; для чтения-записи на этапе выполнения.

Grid.Partition[ = nSplit]

Expand image Возвращаемое значение

nSplit

Задает позицию, в которой элемент управления Grid разбивается на две панели. Если значение nSplit равно 0, разбиение не производится.

Expand image Примечания

Применимо к: Grid

Note that the SplitBar property takes precedence over the Partition property.

Expand image Смотрите также

Справочное руководство

Свойство Panel
Свойство PanelLink
Свойство SplitBar

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


PasswordChar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PasswordChar
Смотрите также
CollapseAll image

Определяет что будет отображаться в области ввода текста управляющего элемента TextBox - символы введенные пользователем или их заменители ; определяет символ, который будет использоваться в качестве заменителя. Доступно, как в design, так и в run time.

TextBox.PasswordChar[ = cCharString]

Expand image Возвращаемое значение

cCharString

Указывает символы, которые будут отображаться в текстовом блоке.

Expand image Примечания

Применяется к: EditBox, TextBox

Используйте это свойство для создания поля пароля в диалоговых окнах. Хотя вы можете использовать любые символы, но более подходящим для этой цели является символ звездочки-asterisk (*), ANSI символ 42.

Это свойство не воздействует на значение свойства Value. Свойство Value содержит строго то, что ввел пользователь или то, что было присвоено в коде. Установка свойства PasswordChar в пустую строку ("") приведет к отображению реально вводимого текста. Значением по умолчанию является пустая строка.

Вы можете присвоить любую строку этому свойству, но только первый символ этоу строки является значимым и именно он будет использовать в качестве замещающего символа; все прочие символы такой стркои игнорируются.

Expand image Смотрите также

Справочное руководство

Свойство Format
Свойство InputMask
Свойство Value

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Picture Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Picture (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет картинку, отображаемую на элементе управления или объекте. Доступно как в design, так и в run time.

Замечание Замечание

В design time, если вы установите свойство Picture в несуществующий файл, Visual FoxPro отобразит соответствующее сообщение, но свойство по-прежнему будет указывать на определенный вами файл. В run time, если свойство Picture установлено в несуществующий файл, Visual FoxPro сбросит свойство Picture в его значение по умолчанию.

Control.Picture [ = cFileName ]
или
Control.Picture(nIndex) [ = cFileName ]

Параметры

cFileName

Указывает имя графическогоф файла.

Замечание Замечание

Visual FoxPro поддерживает все форматы графических файлов, обрабатываеме Graphics Device Interface+ (GDI+). Visual FoxPro поддерживает анимированные файлы .gif для свойства Picture только для элемента управления Image. Для получения более подробной информации о действительных форматах графических файлов смотрите описание Поддержка графики в Visual FoxPro.

nIndex

Указывает целое число, соответствующее порядку, в котором предметы отображаются на элементе управления. Для первого предмета в элементе управления nIndex = 1.

Expand image Примечания

Применяется к: CheckBox Control | CommandButton Control | ComboBox Control | Container Object | Control Object | Custom Object | Form Object | Header Object | Image Control | ListBox Control | OptionButton Control | Page Object | _SCREEN System Variable |

На элементах управления картинки появляются выравненными относительно центра элемента управления. На формах, картинка отображается в виде фона формы. Если свойство RowSourceType установлено в 7 (Files), то картинки не поддерживаются.

Для элементов управления CommandButton и OptionButton указанная картинка используется когда командная кнопка доступна, выбрана или заблокирована. Вы можете указать разные картинки для каждого состояния командной кнопки установкой свойств DownPicture и DisabledPicture.

Для элементов управления CommandButton, CheckBox и OptionButton вы должны установить значение свойства Style для соответствующего элемента управления. В приведенной ниже таблице перечислены значения, которые вы должны установить для свойства Style.

Элемент управления | Свойство Style
CommandButton | 0 (Standard)
CheckBox, OptionButton | 1 (Graphical)

Для объектов Header, если заголовок Header не содержит текстового заголовка, то картинка появляется в центре объекта. Если же объект содержит текстовый заголовок, то выравнивание картинки относительно текста определяется свойством Alignment. Если свойство Alignment объекта Header установлено в "left" или "center", картинка появляется справа от текста. Если же Alignment установлено в "right", картинка появляется слева от текста.

Для объектов ToolBar рекомедуемыми размерами картинки являются 16 x 15 pixels (ширина x высота).

Для элементов управления ComboBox и ListBox вы можете использовать свойство Picture в качестве свойства, либо допускающего единичное значение, либо допускающего в качестве значения массив. Если вы используете свойство Picture как свойство с единичным значением, все предметы в элементе управления показывают одну и ту же картинку. Если вы используете в качестве значения свойства Picture массив, хранящий картинку для каждого предмета в списке, то каждый предмет будет иметь свою собственную картинку. Например:

CopyCode image Скопировать код
oCombobox.AddItem("Home")
oCombobox.AddItem("Community")
oCombobox.AddItem("Web Services")
oCombobox.Picture[1] = 'home.bmp'
oCombobox.Picture[2] = 'community.bmp'
oCombobox.Picture[3] = 'websvc.bmp'

Для элементов управления Image, CheckBox и CommandButton свойство Picture принимает во внимание прозрачность (transparency) картинки .

Замечание Замечание

Для картинок высокого разрешения Transparent GIF, аспект прозрачности поддерживается только элементов управления Image. Так как Visual FoxPro хранит в качестве ресурса для внутреннего использования только один экземпляр картинки, то это позволяет использовать эту картинку в другом элементе управления, таком как CommandButton и в таком случае картинка созхраняет аспект прозрачности. Для того, чтобы добиться этого, вам для начала нужно загрузить картинку в элемент управления Image и поддерживаеть этот элемент управления действительным (он может быть скрытым). После того, как картинка закгружена, как ресурс для для элемента управления Image, то она может быть затес использована элементом управления CommandButton.

Expand image Смотрите также

Задачи

Как: добавить картинку к предметам в списке

Справочное руководство

Свойство DisabledPicture
Свойство DownPicture
Свойство PictureVal
Свойство Style

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


PictureMargin Property

Visual FoxPro 9.0 Описание Языка
PictureMargin, свойство
См. также
CollapseAll image

Определяет отступ в пикселах (pixel) между Графическим Элементом (картинкой), заданной как значение свойства Picture рассматриваемого Контрола (элемента управления) и соответствующим краем Контрола, определенным в свойстве PicturePosition (относительно: верхнего, нижнего, правого или левого, и т.д... края Контрола). Чтение/Запись для режимов Design-time и Run-time.

Control.PictureMargin [= nValue]

Expand image Возвращаемое значение

nValue

Определяет количество пикселов отступа от края Контрола до Картинки. Вы можете определять значения от = 0 (по-умолчанию), - до значения = 65,535, для данного параметра nValue.

В том случае, когда PictureMargin = 0, размещение Картинки определяется значениями свойств PicturePosition и Alignment данного Контрола.

В том случае, когда PictureMargin > 0, значение параметра nValue определяет отступ (в пикселах) размещения Картинки от соответствующего края Контрола, и только данное свойство PicturePosition определяет позицию Картинки в рассматриваемом Контроле. Дополнительно смотрите разделы: PicturePosition, свойство и Alignment, свойство.

Expand image Комментарии

Применяется в: CheckBox | CommandButton | OptionButton

Рассматриваемое свойство PictureMargin применяется и актуально для контролов CheckBox и OptionButton только в том случае, когда для этих контролов свойство Style = 1 (Graphical - графический стиль). Смотрите дополнительно раздел: Style, свойство.

PictureMargin - игнорируется, если для свойства PicturePosition установлено значение, большее чем (>) 11.

Expand image См. также

Описание

PictureSpacing, свойство
Контролы для отображения информации из наборов Данных

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


PicturePosition Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PicturePosition
Смотрите также
CollapseAll image

Определяет положение рисунка относительно надписи. Чтение/запись в run-time версии.

Рисунок и надпись, as a unit, appear centered on the control. Если нет надписи, рисунок размещается относительно центра элемента управления. Свойство PicturePosition влияет на свойства Picture, DownPicture, и DisabledPicture. Для большей информации смотрите свойство Picture, свойство DownPicture и свойство DisabledPicture.

Note Примечание

Для использования свойства PicturePosition вы должны указать изображение для свойства Picture. Размер изображения не изменяется. Если вы хотите масштабировать, изменить размеры или обрезать изображение, нужно использовать элемент управления Image. Анимированные .gif файлы не поддерживаются. Для большей информации смотрите элемент управления Image.

Object.PicturePosition [ = nValue ]

Параметры

nValue

Определяет выравнивание (положение) рисунка. В нижеследующей таблице приведены значения nValue.

nValue Установка

0

Рисунок показывается слева от надписи и выровнен по верхней границе надписи.

1

Рисунок показывается слева от надписи и отцентрирован относительно надписи

2

Рисунок показывается слева от надписи и выровнен по нижней границе надписи.

3

Рисунок показывается справа от надписи и выровнен по верхней границе надписи.

4

Рисунок показывается справа от надписи и центрирован относительно надписи

5

Рисунок показывается справа от надписи и выровнен по нижней границе надписи.

6

Рисунок показывается выше надписи и выровнен по левой границе надписи.

7

Рисунок показывается выше надписи и отцентрирован относительно надписи.

8

Рисунок показывается выше надписи и выровнен по правой границе надписи.

9

Рисунок показывается ниже надписи и выровнен по левой границе надписи.

10

Рисунок показывается ниже надписи и отцентрирован относительно надписи.

11

Рисунок показывается ниже надписи и выровнен по правой границе надписи.

12

Рисунок показывается в центре элемента управления. Надпись отцентрирована по горизонтали и вертикали над рисунком.

13

(По умолчанию) Рисунок показывается в центре элемента управления. Надпись отцентрирована ниже рисунка, но привязана к нижней границе кнопки.

14

Без текста. Рисунок показывается в центре и скрывает текст, указанный в свойстве Caption. Для большей информации смотрите свойство Caption.

Note Совет

При использовании этой установки свойство Style элемента управления должно быть установлено в 1 (Graphical). Используйте эту установку, когда хотите обеспечить реакцию на нажатие определенной клавиши (так называемая "горячая" клавиша), не показывая текст на элементе управленияl. Для большей информации смотрите свойство Style

Expand image Примечания

Используется в: элемент управления CommandButton | элемент управления O ptionButton | элемент управления CheckBox.

Для элементов управления CommandButton Visual FoxPro игнорирует PicturePosition, если свойство Style установлено в 1 (невидимо).

Свойства WordWrap и AutoSize поддерживаются с PicturePosition. Для большей информации смотрите свойство WordWrap и свойство AutoSize.

Свойства SpecialEffect и VisualEffect влияют на внешнюю границу элемента управления, но не действуют на PicturePosition. Для большей информации смотрите свойство SpecialEffect Property and VisualEffect Property.

Версии младше, чем Visual FoxPro 8.0, используют алгоритм позиционирования, слегка отличающийся от стандартных установок 0 – 12, Изображение всегда остается отцентрированным; текст привязан к нижней границе изображения. Поэтому, когда размер кнопки уменьшается, то текст обрезается, вместо того чтобы смещаться к верхней границе кнопки. Установка PicturePosition в значение 13 соответствует поведению в версиях до Visual FoxPro 8.0.

Expand image Смотрите также

Ссылки

Свойтсво PictureSpacing
Свойтсво PictureMargin

Другие средства

Свойтсва (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функциях этого продукта, посетите страницу обратной связи
© Microsoft Corporation. All rights reserved.


PictureSelectionDisplay Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PictureSelectionDisplay
Смотрите также
CollapseAll image

Определяет в каком виде появится картинка в текстовой части элемента управления ComboBox.

Note Замечание

Вы можете указать картинку установив значение свойства Picture в имя файла картинки.

Combobox.PictureSelectionDisplay = nExpr

Параметры

nExpr

Численный тип данных. В приведенной ниже таблице указаны возможные значения для параметра nExpr.

nExpr Описание

0 (None)

Картинка на отображается. (По умолчанию)

1 (Clip)

Картинка принимает высоту равную высоте текстовой части элемента управления combobox. Ширина картинки остается неизмененной.

2 (Isometric)

Картинка изменяется в размерах для того, чтобы она могла вместиться в текстовую часть элемента управления combobox и сохранить свои оригинальные пропорции.

3 (Stretch)

Картинка изменяется в размерах для того, чтобы она могла вместиться в текстовую часть элемента управления combobox, но при этом ее оригинальные пропорции не сохраняются. Ширина картинки остается неизмененной.

Expand image Примечание

Применяется к элементу управления: ComboBox

If the combo box Style property is set to 0 (Drop-down ComboBox), images display in the text box of the combo box with the following behavior:

  • Когда списочная часть элемента управления combobox невидима, и вы печаете текст непосредственно в элемент управления combobox, картинка, определенная по умолчанию, если она определена, показывается до тех пор, пока текст соответствует элементу, содержащемуся в списке. Если такое соответствие не существует, картинка, определенная как картинка по умолчанию, будет показана в элементе управления combobox даже тогда, когда он потеряет фокус.

  • Свойство Margin элемента управления combobox определяет отступ для текста плюс дополнения к левой и верхней границам текстовой части. Когда в текстовой части показывается картинка, то свойство Margin определяет растояние между границами картинки и левой и верхней границей текстовой части. Горизонтальное пространство между правой границей картинки и текстом всегда равно четырем пикселям, независимо от установки свойства Margin элемента управления combobox. Курсор ввода текста показывает на расстоянии двух пикселей от правой границы картинки. Вы можете вставить дополнительное пространство между картинкой и текстом, предусмотрев в картинке соответствующее пустое пространство.

    Note Замечание

    Даже если Margin установлено в 0, пространство в три пикселя, отсчитываемое от левой и верхней границы, все равно будет существовать для того, чтобы вместить курсор ввода текста. Указание значения для Margin просто дополняет указанное количество пикселей к этому пространству. Однако, если показывается картинка, Margin воздействует только на верхнюю границу текстовой части и текста. Левая граница текста всегда отстоит от картинки на четыре пикселя, для обеспечения прижима элементов внутри списка.

Если свойство Style элемента управления combobox установлено в 2 (Drop-down List), картинки отображаются в текстовой части с двузпиксельным горизонтальным пробелом между правой границей картинки и текстом.

Expand image Смотрите также

Справочное руководство

Свойство Margin
Свойство Picture (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


PictureSpacing Property

Visual FoxPro 9.0 Описание Языка
PictureSpacing, свойство
См. также
CollapseAll image

Определяет Отступ (в пикселах - Pixel) между графическим Элементом (картинкой), которая задана как значение свойства Picture и Текстовым Элементом, который определен как значение свойства Caption. Чтение/Запись в режимах Design-time / Run-time.

Control.PictureSpacing [= nValue]

Expand image Возвращаемое значение

nValue

Определяет количество пикселов, как растояние между картинкой и текстовым элементом в Контроле. Вы можете определять значения: от = 0 (по-умолчанию), до = 65,535, для параметра: nValue.

Если выполняется PictureSpacing = 0, в этом случае свойства PicturePosition и Alignment определяют размещение Картинки и Текста данного Контрола. В том случае, когда PictureSpacing > 0, значение параметра nValue определяет размещение Картинки , а значения свойств PicturePosition и Alignment определяют местоположение и формат Текстового элемента рассматриваемого Контрола.

Значение свойства PictureSpacing - игнорируется, если для другого свойства: PicturePosition устанавливается значение, большее чем (>) 11. Дополнительную информацию смотрите в разделах: PicturePosition, свойство или Alignment, свойство.

Expand image Комментарии

Применяется в: CheckBox | CommandButton | OptionButton

PictureMargin применяется и является актуальным для контролов CheckBox и OptionButton только в том случае, когда значение свойства этих контролов Style = 1 (Graphical - графический стиль). Смотрите дополнительно раздел: Style, свойство.

Expand image См. также

Описание

PictureMargin, свойство
Контролы для отображения Информации из наборов Данных

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


PictureVal Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PictureVal
Смотри также

Указывает символьное строчное выражение или объект, который представляет рисунок для элемента раскладки Image.

PROCEDURE Image.PictureVal [= eExpression]

Возвращаемое значение

eExpression

Указывает символьное строчное выражение или объект, который представляет рисунок. Если eExpression представляет собой символьное выражение, то это должно быть корректным выражением, которое может быть использование подсистемой GDI+ для рендеринга рисунка. Например, это может быть выражение, получаемое из кода, как это показано в приведенном ниже примере.
Скопировать код
cPict = FILETOSTR('myimage.bmp')
oForm.Img1.PictureVal = cPict
eExpression также может представлять собой строчное выражение, которые является представлением поля таблицы типов "memo" или "blob", содержащих строго бинарные данные. Например, вы можете использовать команду APPEND MEMO для импорта рисунка в мемо-поле. Вы не можете использовать поля типа "general" для eExpression, так как поля типа "general" содержать дополнительные данные, неродственные бинарным. Если eExpression представляет собой объект, то последний должен быть в формате интерфейса IPicture Формат интерфейса IPicture представляет собой тот же самый формат, что и формат, возвращаемый функцией LOADPICTURE( ).
Скопировать код
oPict = LOADPICTURE(“myimage.bmp”)
oForm.img1.PictureVal = oPict

Примечания

Применяется к : Image Control (Visual FoxPro)

Свойство PictureVal имеет более высокий приоритет, чем свойство Picture (Visual FoxPro) и соответственно именно оно будет использоавться, если вы указали значения для обоих свойств.

Отметьтк, что Visual FoxPro использует только такое количество памяти, которое необходимоне для рендеринга рисунка, если последний хранится в полях типа "memo" или "blob". Поэтому это весьма эффективный путь испольщоавния памяти при отображении рисунков в Visual FoxPro. Однако, использование ссылки на файл и свойстве PictureVal требует от Visual FoxPro использования памяти в двойном объеме от размера используемого файла. Например, если вы ссылаетесь на файл рисунка размером в 5 MB, Visual FoxPro требуется до 10MB памяти для отображения содержания файла.

Вы не можете использовать файл маски (MSK) со свойством PictureVal. Если вы используете рисунок формата BMP и желаете использовать маску, то вместо свойства PictureVal вы должны использовать свойство Picture. Вы можете использовать, кроме этого, различные форматы файлов, такие как GIF, которые имеют прозрачность установленную для рисунка.

Смотри также

Руководство

Функция LOADPICTURE( )
Поддержка графики в Visual FoxPro

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


PolyPoints Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PolyPoints
Смотрите также Пример
CollapseAll image

Определяет массив координат для создания многоугольных (полигонов) контуров (shapes) с помощью управляющего элемента Shape и линий многоугольника с помощью управляющего элемента Line. Редактируемое как в design, так и в run time.

Для управляющих элементов Shape свойство PolyPoints описывает многоугольный контур. Для управляющих элементов Line свойство PolyPoints создает линии многоугольника или контур.

Control.
PolyPoints [= cArrayName]

Expand image Возвращаемое значение

cArrayName

Указывает имя массива, содержащего пары координат, для рисования многоугольного контура или линии. Координаты используют формат (X, Y). Массив должен быть в области видимости для того, чтобы объект отобразил многоугольник или искривленную линию должным образом.

Замечание Совет

Массив может иметь любой размер; однако, если он будет содержать две колонки, это упростит вашу задачу программирования многоугольного контура или линии. Храните точку X-координаты в первой колонке и Y-координату во второй. Массив должен быть заполнен полностью численными значениями; в противном случае, хвостовые элементы будут заполнены False (.F.), что приведет к тому, что контур или линия не будут прорисованы.

Замечание Замечание

Свойство PolyPoints требует по меньшей мере две пары координат для рисования линии, три пары координат для рисования многоугольной линии, три пары координат для рисования многоугольного контура для управляющего элемента Shape, и четыре пары кординат для линий, создающих контур.

Для создания многоугольного контура с помощью управлющего элемента Line, пятая пара координат массива должны иметь теже самые координаты, что и первая пара для прорисовки последнего сегмента линии и завершения, таким образом контура многоугольника.

При установке значения свойства LineSlant для рисования кривых Безье, вы должны указать в сумме (3n + 1) координат, где n представляет число кривых, которые вы желаете нарисовать. Для получения более подробной информации, смотрите Свойство LineSlant.

Expand image Примечания

Применяется к: Line | Shape

Visual FoxPro рисует полигоны в порядке, в котором координаты появились в массиве, что воздействует на закраску областей, ассоциированных с полигонами. Вы можете рисовать контуры с полигонами, без касания границ полигона с помощью указания точек внутри границ. Для получения более подробной информации о закраске областей и стилях, смотрите Свойство FillStyle и Свойство FillColor.

Координаты, указанные в массиве являются are relative percentages to the dimensions of the Shape (or Line) control so that the polygon will resize as the shape is resized.

Обновление массива автоматически обновит управляющие элементы Shape или Line, когда они будут прорисовываться повторно.

Если массив содержит нечетное число элементов, последний элемент сбрасывается.

Если свойство PolyPoints установлено, Visual FoxPro сбрасывает значение свойства Style, когда оно установлено в 3 (Themed), свойства Curvature и трех-мерную установку свойства SpecialEffect.

Visual FoxPro автоматически перерисовывает контур, когда изменяется свойство Rotation, когда вращает контур. Для получения более подробной информации, смотрите Свойство Rotation.

Массив должен быть в области видимости, чтобы объект смог отобразить полигон или многоугольную линию. Если вы желаете отобразать полигон в design-time, тогда свойство PolyPoints должно указывать на массив в области видимости public. Для получения более подробной информации об областях видимости, смотрите Доступ к переменным.

Expand image Пример

Приведенный ниже пример отображает форму с полигональной линией, нарисованной с помощью управляющих элементов Line, на основе массива координат, указанного в свойстве PolyPoints.

CopyCode image Скопировать код
DIMENSION poly[5,2]
poly[1,1]= 0
poly[1,2]= 50
poly[2,1]= 50
poly[2,2]= 100
poly[3,1]= 100
poly[3,2]= 50
poly[4,1]= 50
poly[4,2]= 0
poly[5,1]=0
poly[5,2]=50
frmMyForm = CREATEOBJECT('Form')
frmMyForm.AddObject('shpLine','Line')
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')
frmMyForm.shpLine.Top = 20
frmMyForm.shpLine.Left = 125
frmMyForm.shpLine.PolyPoints = "poly"
frmMyForm.shpLine.Visible = .T.
frmMyForm.cmdCmndBtn1.Visible =.T.
frmMyForm.Show
READ EVENTS
DEFINE CLASS cmdMyCmndBtn1 AS CommandButton
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 150
   Height = 25
   PROCEDURE Click
      CLEAR EVENTS
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство LineSlant

Прочие ресурсы

Подгонка форм
Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Prepared Property

Visual FoxPro 9.0 Справочное руководство по языку
Prepared свойство
Смотрите также

Определяет, готовы ли инструкции SQL к повторному вызову функции REQUERY( ). Вы можете использовать REQUERY( ) чтобы обновить данные для представления SQL. При обработке этого свойства для регулярных курсоров, используйте функции CURSORSETPROP( ) и CURSORGETPROP( ). Доступно для чтения - записи.

Примечание:
Установка Prepared для объекта CursorAdapter отменяет установку свойства курсора когда он присоединен к объекту CursorAdapter. То есть изменения настроек курсора, сделанныые с использованием CURSORSETPROP( ) не имеют эффекта.

Для дополнительной информации, см. REQUERY( ) Функция and SQLPREPARE( ) Функция.

CursorAdapter.Prepared [= lValue]

Возвращаемое значение

lValue

Логический тип данных. Следующая таблица перечисляет значения для lValue.

lValue Description

True (.T.)

Инструкции SQL готовы к последующему вызову REQUERY( ) . (Значение по умолчанию)

False (.F.)

Инструкции SQL не готовы к последующему вызову REQUERY( ).

Замечания

Применяется к: Классу CursorAdapter

Смотрите также

Прочие ресурсы

Properties
CursorAdapter Объект, свойства, методы, события
CURSORGETPROP( ) Функция
CURSORSETPROP( ) Функция

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


PreserveWhiteSpace Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство PreserveWhiteSpace
Смотрите также
CollapseAll image

Сохраняет или удаляет пустые простанства из вывода XML. Read/write.

PreserveWhiteSpace применяется только при исполнении методов LoadXML и ToXML объектов XMLAdapter, которые соответственно извлекают содержимое XML или создают его с учетом этой установки. PreserveWhiteSpace не применимо к данным в секции CDATA.

XMLAdapter.PreserveWhiteSpace [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Удаляет пустые пространства. (По умолчанию)

True (.T.)

Сохраняет пустые пространства.

Expand image Примечания

Применяется к: XMLAdapter Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события обекъта XMLAdapter
Метод LoadXML
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


PreviewContainer Property

PreviewContainer, свойство
См. также
CollapseAll image

Обеспечивает объектную ссылку на Контейнер, отображающий текущий Отчет в режиме предварительного просмотра, который создается объектом ReportListener, установленым в режим Preview.

ReportListener.PreviewContainer [=oReference]

Expand image Возвращаемое значение

Является ссылкой на объект, выполняющий вызываемый модуль PreviewContainer API.

По-умолчанию, при начальном создании экземпляра объекта ReportListener, значение данного свойства = Null (.NULL.).

Expand image Комментарии

Применяется в: ReportListener, объект.

Объект типа ReportListener содержит ссылку на запрашиваемый Контейнер Просмотра получаемого Отчета (Preview Container) в том случае, когда указанный Отчет получается в режиме Предварительного просмотра (PreView Mode) (ReportListener.ListenerType = 1). Вы можете явно указать ссылку на запрашиваемый Объект, или просто использовать стандартное поведение базового Объекта ReportListener, который обеспечивает стандартную ссылку на контейнер PreviewContainer при запросе Приложения на активацию режима Report Preview (предварительного просмотра отчета). Дополнительную информацию смотрите в разделе: _REPORTPREVIEW, системная переменная.

Expand image См. также

Описание

ReportListener, объект; Свойства, Методы, События
Preview, контейнер, модуль API

Другие ссылки

Свойства (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


PrintJobName Property

Visual FoxPro 9.0
PrintJobName свойство
Смотрите также Пример

Заданное пользователем имя документа, в настоящее время находящегося в очереди печати Windows.

Примечание:
Очередь Печати Windows - не диалоговое окно, которое появляется в Visual FoxPro. Это окно, которое показывает документы, ожидающие печати и состояние каждого документа, для определенного принтера. Вы вызываете это окно, дважды щелкнув принтер, для которого Вы хотите посмотреть состояние документа, в Принтерах и Факсах.

ReportListener.PrintJobName [= cText]

Возвращаемое значение

Символьный тип данных, ограниченный 255 символами.

Значение по умолчанию - пустая строка.

Замечания

Применяется к: ReportListener Object.

Вы можете использовать это свойство для организации дополнительных возможностей пользователям в дочерних классах ReportListener. Например, класс ReportListener User Feedback (Пользовательский Фундаментальный класс Обратной связи) использует PrintJobName в заголовке его окна прогресса; ReportListener HTML фундаментальный класс использует PrintJobName в заголовке документа HTML. Если Вы не назначаете значение свойству PrintJobName, оба перечисленных класса в качестве значения по умолчанию используют имя файла отчета или этикетки. Подобное значению по умолчанию Visual FoxPro назначает в очереди печати Windows. Для получения дополнительной информации, см. ReportListener Foundation Classes.

Примечание:
Когда используется ключевое слово NOPAGEEJECT в одном отчете для определения нескольких последующих отчетов, размер печатаемой страницы, и другие характеристики печати определены в соответствии с первым отчетом, потому что в этот момент открывается буффер печати (print spool). Свойство PrintJobName также определяется в это время, так что только первое значение при последовательном выполнении отчетов имеет значение для ReportListener, если ListenerType=1 (режим печати)
.

Пример

Следующий пример иллюстрирует применение свойства PrintJobName при печати нескольких отчетов с использованием ключевого слова NOPAGEEJECT. Если Вы устанавливаете в дочернем классе свойство ListenerType=1 в этом примере, имя печатаемого в настоящее время документа в очереди печати Windows - My First Report до окончания печати. Однако, если в дочернем классе ReportListener используются другие значения ListenerType, Вы можете назначать значение PrintJobName при каждом запуске отчета.

Копировать код
LOCAL loListener
loListener = CREATEOBJECT("PJN")
loListener.PrintJobName = "My First Report"
REPORT FORM ? NOPAGEEJECT OBJECT loListener
loListener.PrintJobName = "My Second Report"
REPORT FORM ? OBJECT loListener

DEFINE CLASS PJN AS ReportListener

   PROCEDURE BeforeReport()
     MESSAGEBOX(THIS.PrintJobName + ;
       " (runs " + THIS.CommandClauses.File) + ")"
   ENDPROC

ENDDEFINE

Смотрите также

Прочие ресурсы

Properties (Visual FoxPro)
Language Reference (Visual FoxPro)

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.


Procedure Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Procedure
Смотрите также
CollapseAll image

Определяет имя процедуры или метода, в которых произощло исключение. Редактируемое в run time.

Exception.Procedure

Expand image Возвращаемое значение

Символьный тип данных.

Expand image Примечания

Применяется к: Exception Class

Идентично значению, возвращаемому функцией PROGRAM( ).

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта исключения (Exception)
Функция PROGRAM( )
Команда TRY...CATCH...FINALLY

Концепции

Структурированная обработка ошибок

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


PROCESSID Property

Visual FoxPro 9.0 Описание Языка
PROCESSID, свойство
См. также
CollapseAll image

Возвращает Уникальный Идентификатор (UID) текущего Процесса.

_VFP.ProcessID

Expand image Комментарии

Применяется для: Объект Application | _VFP, системная переменная

Данное Свойство используется при оценке Ресурсов во время Отладки Приложения.

Expand image См. также

Описание

Объект Application

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ProgID Property (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Свойство ProgID (Visual FoxPro)
См.также

Содержит зарегистрированный PROGID (Программный Идентификатор) главного модуля проекта (сервера). Только чтение в режимах разработки и выполнения RunTime.

Объект.ProgID

Комментарии

Применяется: Объект Server

PROGID создается в Реестре Windows при создании сервера, как исполнимого файла (.exe) или динамической библиотеки (.dll).

См. также

Другие Ссылки

Свойства
Свойство CLSID
Функция CREATEOBJECTEX( )
Свойство TypeLibCLSID
Свойство TypeLibDesc
Свойство TypeLibName

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ProjectHook Property

Visual FoxPro 9.0 Описание Языка
ProjectHook, свойство
См. также
CollapseAll image

Содержит объектную ссылку на экземпляр "объекта-перехватчика" ProjectHook для текущего объекта Project.

Object.ProjectHook[ = oProjectHookClass]

Expand image Возвращаемое значение

oProjectHookClass

Определяет имя базового, порождающего класса Visual FoxPro типа ProjectHook. По-умолчанию, рассматриваемая объектная ссылка является ссылкой на объект ProjectHook, которая определена в подразделе общих параметров, Закладка Project, которая размещается в Диалоговом боксе Project Information.

Expand image Комментарии

Применяется в: Project, объект

Рассматриваемое свойство ProjectHook содержит значение = Null, если задаваемое значение не базируется на соответствующем классе ProjectHook или если для рассматриываемого Проекта по-умолчанию не определен базовый класс ProjectHook (указанное определение задается в закладке Project Диалогового бокса Project Information (смотрите ссылку выше)). Если выполнить присваивание данному свойству ProjectHook = Null, то это означает, что очищается текущая установка базового, порождающего класса ProjectHook для текущего Проекта, и системная установка "по-умолчанию" ProjectHook отключается для текущего сеанса работы с указанным Проектом.

Дополнительную информацию о работе с проектами смотрите в разделе: Project Manager Hooks.

Expand image См. также

Описание

ProjectHook, объект
ProjectHookClass, свойство
ProjectHookLibrary, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ProjectHookClass Property

Visual FoxPro 9.0 Описание Языка
ProjectHookClass, свойство
См. также
CollapseAll image

Определяет значение по-умолчанию для базового, порождающего класса ProjectHook во вновь создаваемом Проекте Приложения.

Object.ProjectHookClass[ = cClassName]

Expand image Возвращаемое значение

cClassName

Определяет значение по-умолчанию для базового, порождающего класса ProjectHook для создаваемого Проекта. Для определения значения рассматриваемого свойства, определяющего характеристики объекта ProjectHookтекущего рабочего Проекта, сначала задайте полное имя файла библиотеки классов (.vcx) которая содержит описание требуемого базового класса ProjectHook, для это используется значение свойства ProjectHookLibrary.

Для удаления значения по-умолчанию для описания базового класса объекта ProjectHook выполните присваивание: ProjectHookClass или ProjectHookLibrary = "" (пустая строка).

Expand image Комментарии

Применяется в: Project, объект

Значение по-умолчанию для рассматриваемого свойства, порождающего класса ProjectHook, для создаваемых Проектов вы можете определить в Закладке: Project соответствующего Диалогового бокса: Project Information.

Изменение значения свойства ProjectHookClass не актуально для вновь создаваемых объектов типа ProjectHook. Указанное изменение вступает в силу при следующем открытии рабочего Проекта. Для немедленного изменения текущего объекта типа ProjectHook рекомендуется использовать значение свойства ProjectHook.

Дополнительную информацию о Проектах смотрите в разделе: Project Manager Hooks.

Expand image См. также

Описание

ProjectHook, объект
ProjectHook, свойство
ProjectHookLibrary, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ProjectHookLibrary Property

Visual FoxPro 9.0 Описание Языка
ProjectHookLibrary, свойство
См. также
CollapseAll image

Определяет имя файла библиотеки классов (.vcx), которая, в свою очередь, содержит класс "по-умолчанию" ProjectHook для текущего рабочего Проекта.

Object.ProjectHookLibrary[ = cLibraryName]

Expand image Возвращаемое значение

cLibraryName

Представляет собой полное имя файла библиотеки классов (.vcx), в котором размещается базовый, порождающий класс "по-умолчанию" ProjectHook. После того, как вы задаете в данном свойстве рассматриваемый файл библиотеки классов (.vcx), вы можете указать имя требуемого класса в соответствующем свойстве ProjectHookClass, которое определяет класс "по-умолчанию" для создаваемых Проектов.

Для очистки значения по-умолчанию класса ProjectHook для создаваемых Проектов, установите значение для свойств ProjectHookLibrary или ProjectHookClass = "" (как пустая строка).

Expand image Комментарии

Применяется в: Project, объект

Другим вариантом определения класса по-умолчанию для порождающего объекта ProjectHook является задание указанных выше свойств в Закладке: Project соответствующего Диалогового бокса: Project Information.

Изменение значения свойства ProjectHookLibrary не актуально для вновь создаваемого объекта ProjectHook. Указанные изменения вступают в силу только при следующем открытии рассматриваемого Проекта. Для текущего изменения активного объекта ProjectHook, рекомендуется использовать (изменять) свойство ProjectHook активного, открытого Проекта.

Дополнительную информацию о Проектах смотрите в разделе: Project Manager Hooks.

Expand image См. также

Описание

ProjectHook, объект
ProjectHook, свойство
ProjectHookClass, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


QuietMode Property

Свойство QuietMode
Смотрите также
CollapseAll image

Определяет - сможет ли ReportListener предоставлять любую обратную связь пользователю или интерфейсу.

ReportListener.QuietMode [= lExpr]

Expand image Возвращаемое значение

Логический тип данных.

Значение по умолчанию для свойства QuietMode изменяется в зависимости от того, как была запущена сессия Visual FoxPro, что определяется значением свойства _VFP.StartMode. Смотрите Свойство StartMode для получения более подробной информации.

True

Обратная связь с пользователем разрешена. Это значение по умолчанию для объекта ReportListener, созданного внутри интерактивной сессии Visual FoxPro или в распространяемом приложении (.app или .exe файл).

False

Обратная связь с пользователем запрещена. Это применяется в случае, если объект ReportListener создан в сервере автоматизации.

Expand image Примечания

Применяется к объекту: ReportListener .

Если вы в командах LABEL или REPORT FORM используете опцию NODIALOG и значение QuietMode равно .F., то ключевое слово NODIALOG имеет преимущество при исполнении отчета. ReportListener временно устанавливает QuietMode в .T., на время исполнения отчета.

Для получения информации, когда родные компоненты Report System присваивают это значение в соответствии с дригуми событиями отчетной системы в начале или в конце исполнения отчета, смотрите Понимание Visual FoxPro объектно-ассистированной системы отчетов.

QuietMode имеет преимущество над установкой AllowModalMessages, и определяет поведение обоих методов - DoStatus и DoMessage. Для получения более подробной информации о механизме обратной связи ReportListener'а, смотрите Свойство AllowModalMessages.

Expand image Смотрите также

Справочное руководство

Метод DoMessage
Метод DoStatus

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ReadOnly Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ReadOnly
Смотрите также
CollapseAll image

Определяет - может ли пользователь редактировать элемент управления, а также определяет будут ли разрешены обновления таблицы или представления, ассоциированных с объектом Cursor, или содержит значение, которое указывает, может ли файл проекта редактироваться.

[Form.]Control.ReadOnly[ = lExpr]
DataEnvironment.Cursor.ReadOnly[ = lExpr]
Project.Files.Item(nItem).ReadOnly

Expand image Возвращаемое значение

lExpr

Установками для свойства ReadOnly являются:

Установка Описание

True (.T.)

Пользователь не может редактировать элемент управления. Таблица или представление, ассоциированные с объектом Cursor не могут быть модифицированы.

False (.F.)

(По умолчанию) Пользователь может редактировать элемент управления. Таблица или представление, ассоциированные с объектом Cursor могут быть модифицированы.

Expand image Примечания

Применяется к: CheckBox | Column | ComboBox | Cursor | EditBox | File Object | Grid | Spinner | TextBox

Замечание Замечание

Когда вы в run time обращаетесь к объекту Cursor, используя CURSORSETPROP(), свойство ReadOnly получает признак "только для чтения".

Свойство ReadOnly отличается от свойства Enabled, так как когда ReadOnly установлено в True (.T.), у пользователя остается возможность перемещать элемент управления.

Для объектов Cursor, ReadOnly отвечает по поведению опции NOUPDATE команды USE.

Для элементов управления Combobox свойство ReadOnly не может быть установлено в True (.T.), когда свойство Style установлено в значение 2 – Drop-down List.

Для файла проекта свойство ReadOnly содержит логическое значение, определяющее возможность его редактирования. Если свойство ReadOnly содержит true (.T.), файл можно редактировать, в противном случае - нет.

Expand image Смотрите также

Справочное руководство

Свойство Enabled (Visual FoxPro)
Команда USE

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RecordMark Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RecordMark
Смотрите также
CollapseAll image

Определяет, отображается ли в элементе управления Grid столбец отметки записей. Доступно на этапе разработки; для чтения-записи на этапе выполнения.

Grid.RecordMark[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства RecordMark предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Столбец выбора записей отображается в элементе управления Grid.

False (.F.)

Столбец выбора записей не отображается в элементе управления Grid.

Expand image Примечания

Применимо к: Grid

Expand image Смотрите также

Задачи

How to: Control Record Selection with Joins

Справочное руководство

Свойство ScrollBars

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RecordSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RecordSource
Смотрите также
CollapseAll image

Указывает источник данных, с которым связан элемент управления "решетка" (Grid). Доступно в design time; редактируемое в run time.

Grid.RecordSource[ = cName]

Expand image Возвращаемое значение

cName

cName обычно представляет собой псевдоимя курсора или имя таблицы. Свойство RecordSource определяет общий курсор, с которым связан элемент управления Grid.

Expand image Примечания

Применяется к: Grid

Если вы указали источник записи для решетки, то вы можете указать, с чем будет связана и что будет содержать индивидуальная колонка в решетке с помощью установки значения для свойства ControlSource. Если вы не указали явно значения для свойства ControlSource колонки решетки, то колонка будет отображать содержание следующего доступного (то есть еще не привязанного к другим колонкам) поля, которое еще до этого нигде в решетке не отображалось. Для получения более подробной информации смотрите Свойство ControlSource.

При работе с решетками, вам может иногда понадобиться изменить значение свойства RecordSource или выполнить многократно новую выборку в связанный с решеткой курсор. Так как новый источник данных может иметь совершенно иную структуру, по сравнению с предыдущим, Visual FoxPro сбрасывает установки колонок, такие как ширина и шрифт в их используемые по умолчанию значения. Когда вы желаете сохранить эти установки для отображения содержания следующего источника данных, например, в сценариях, когда новый источник записи имеет туже самую структуру, что и предыдущий, вы можете использовать функцию SPACE() для временной установки значения свойства RecordSource в SPACE(0).

Замечание Замечание

Использование SPACE(0) может не сохранить все желаемые вами установки свойств решетки. Вам может потребоваться сброс некоторых установок в коде, после установки свойства RecordSource.

Приведенный ниже пример использует таблицу Customers из образцовой базы данных Northwind, размещенной в каталоге Visual FoxPro directory ..\Samples\Northwind\ и показывает, как сохранить предыдущие установки:

CopyCode image Скопировать код
PUBLIC oForm
oForm=NEWOBJECT("MyForm")
oForm.Show()

DEFINE CLASS MyForm AS Form
    ADD OBJECT oGrid1 AS Grid WITH RecordSource="MyCust",ColumnCount=3
    ADD OBJECT oButton1 AS CommandButton WITH TOP = 200

    PROCEDURE Load
      SELECT * FROM HOME()+"Samples\Northwind\Customers" ;
        WHERE Country="France" INTO CURSOR MyCust

    PROCEDURE Init
        THISFORM.oGrid1.Column1.Width = 50
        THISFORM.oGrid1.Column1.FontSize=14
        THISFORM.oGrid1.Column2.Width = 50
        THISFORM.oGrid1.Column3.Width = 50

    PROCEDURE oButton1.Click
        THISFORM.oGrid1.RecordSource = SPACE(0)
        SELECT * FROM HOME()+"Samples\Northwind\Customers" ;
           WHERE Country="France" INTO CURSOR MyCust
           THISFORM.oGrid1.RecordSource = "MyCust"

ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство ControlSource
Свойство Order (Visual FoxPro)
Свойство RecordMark
Свойство RecordSourceType

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RecordSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RecordSourceType
Смори также

Определяет как открывается источник данных, используемый для заполнения элемента Grid. Доступно в design time и редактируемое (read/write) в run time.

Grid.RecordSourceType[ = nType]

Возвращаемое значение

nType

Установками для свойства RecordSourceType являются:

Установка Описание

0

Table. Автоматически открывает таблицу, указанную в установке свойства RecordSource.

1

Alias (используется по умолчанию). Рассматривает источник записи так, как указано.

2

Prompt. В run time пользователь будет запрашиваться об источнике данных. Если база данных открыта, пользователь может выбрать одну из содержащихся в ней таблиц в качестве источника записи.

3

Query (.qpr). Установку свойства RecordSource определяет файл запроса - .qpr.

4

SQL выражение. Само SQL выражение указывается в свойстве RecordSource.

Примечания

Применяется к: Grid

Смотри также

Прочие ресурсы

Свойство RecordSource
Свойства
Как: установить окружение данных - Data Environment

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


RefreshAlias Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RefreshAlias
Смотрите также
CollapseAll image

Содержит псевдоимя курсора с аттрибутом "только для чтения", используемого, в качестве целевого объекта обновления записи для методов RecordRefresh и DelayedMemoFetch. Недоступен ни в design, ни в run time.

CursorAdapter.RefreshAlias

Expand image Примечани

Применяется к: классу CursorAdapter

При исполнении методов RecordRefresh или DelayedMemoFetch, свойство RefreshAlias будет содержать псевдоимя курсора с установленным аттрибутом "только для чтения", который открывают указанные методы.

Expand image Смотрите также

Справочное руководство

Метод DelayedMemoFetch
Метод RecordRefresh

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RefreshCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RefreshCmd
Смотри также

Указывает команду, используемую для обновления (Refresh) записи производимого методом RecordRefresh. Редактируемое (Read/write) в design и run time.

CursorAdapter.RefreshCmd[ = cCommand]

Параметры

cCommand

Символьный тип данныъ. В приведенной ниже таблицы перечислены возможные значения для cCommand.

cCommand Описание

Символьная строка или выражение

Указывает действительную команду для источника данных определенного свойствами RefreshCmdDataSourceType и RefreshCmdDataSource.

Для источников данных типа ADO и ODBC, вы можете указать любую команду, поддерживаемую источником данных и возвращающую только одну запись.

Для "родных" Visual FoxPro источников данных - Native, команда должна быть командой SQL SELECT, которая возвращает только одну запись. Поля Fields are matched by their position in the cursor за исключением полей, перечисленных в значении свойства RefreshIgnoreFieldList.

Пустая строка ("")

В этом случае объект CursorAdapter автоматически генерирует команду обновления (Refresh).

Генерируемая команда основывается на источнике данных и значениях свойств Tables, KeyFieldList, UpdateNameList и RefreshIgnoreFieldList объекта CursorAdapter. Если вы сами составите команду, то значения свойств Tables, KeyFieldList и UpdateNameList properties игнорируются.

Замечание:
Команда, которая генерируется автоматически объектом CursorAdapter, не включает в себя полей AUTOINC или ключевых полей, даже если они не включены в список, внесенный в свойство RefreshIgnoreFieldList.

Примечания

Применяется к : классу CursorAdapter

Команда, которую вы укажете в значении этого свойства, исполняется для каждой целевой записи. Проверочные правила (Validation rules) для целевых полей в этом случае не исполняются!.

В случае, если в процессе (refresh) обновления произошла ошибка, обновления полей не происходит. Ошибка генерируется и в случае, если не поддерживается трансляция данных из поля источника в целевое поле. Попытка обновить поле AUTOINC также вызовет генерацию ошибки. Операция обновления прекращается и в случае, если не удалось обновить индексы, вследствие неуникальность ключа или по какой-либо иной причине.

Для ADODB Recordset'ов, свойства RefreshCmd, Tables, KeyFieldList и UpdateNameList объекта CursorAdapter игнорируются и не генерируется ошибка, если не указаны ключевые поля.

Если тип блокировки для ADODB Recordset не соответствует adLockBatchOptimistic или adLockUnspecified, CursorAdapter вызывает метод Resync Method с параметром ResyncValues установленным в adResyncAllValues для обновления (refresh) записи в Recordset до обновления (refresh) записи в курсоре.

Вы может установить значение этого свойства в методе, ассоциированном с событием BeforeRecordRefresh.

Смотри также

Справочное руководство

Событие BeforeRecordRefresh
Свойство KeyFieldList
Свойство RefreshIgnoreFieldList
Свойство RefreshCmdDataSource
Метод RecordRefresh
Свойство Tables
Свойство UpdateNameList

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation.

Перевод выполнен JS.All rights reserved.


RefreshCmdDataSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RefreshCmdDataSource
Смотри также

Указывает источник данных, используемый методом RecordRefresh. Редактируемое (Read/write) в design и run time.

CursorAdapter.RefreshCmdDataSource[ = DataSource]

Параметры

DataSource

Указывает ссылку на существующий источник данных, относящийся к разрешенным типам источников данных. DataSource действует только как указатель на реальный источник данных, который должен существовать в run time. Приведенная ниже таблица перечисляет возможные значения для DataSource, которые зависят от значения свойства RefreshCmdDataSourceType.

DataSource DataSource Type

"ADO"

Ссылка на действительный объект ActiveX Data Object (ADO) Command

"ODBC"

Положительное целое число, которое представляет переменную памяти, хранящую хэндл (handle) действительного соединения Open Database Connectivity (ODBC)

"Native", пусто (.NULL.), или пустая строка ("")

Сброшено.

Значение по умолчанию - "пусто" (.NULL.).

Замечания

Применяется к : классу CursorAdapter

Вы можете установить значение этого свойства в методе, ассоциированном с событием BeforeRecordRefresh.

Смотри также

Справочное руководство

Событие BeforeRecordRefresh
Метод RecordRefresh
Свойство RefreshCmdDataSourceType

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


RefreshCmdDataSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RefreshCmdDataSourceType
Смотри также

Указывает тип источника данных, используемый в методе RecordRefresh. Редактируемое (Read/write) в design и run time.

CursorAdapter.RefreshCmdDataSourceType[ = cExpression]

Возвращаемое значение

cExpression

Specifies the data source type used for the RecordRefresh method. Сивольный тип данных. cExpression представляет собой символьное выражение, которое может быть одним оценено в одно из приведенных в таблице значений:

cExpression Описание

Пустая строка ""

Visual FoxPro сбрасывает свойство RefreshCmdDataSource объекта CursorAdapter и использует значения его свойств DataSource и DataSourceType.

ODBC

Источник данных представляет собой ODBC (Open Database Connectivity).

ADO

Источник данных представляет собой ADO (ActiveX Data Objects).

Native

Источник данных представляет собой "родные" таблицы и курсоры Visual FoxPro.

Примечания

Применяется к: классу CursorAdapter

Вы можете установить значение этого свойства в методе, ассоциированном с событием BeforeRecordRefresh.

Смотри также

Справочное руководство

Событие BeforeRecordRefresh
Свойство DataSource
Свойство DataSourceType
Метод RecordRefresh
Свойство RefreshCmdDataSource

Перешлите комментации об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


RefreshIgnoreFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RefreshIgnoreFieldList
Смотрите также
CollapseAll image

Определяет список полей, которые игни=орируются процессом обновления при исполнении метода RecordRefresh. Read/write как в design time, так и в run time.

CursorAdapter.RefreshIgnoreFieldList [ = cExpr]

Параметры

Термин | Определение
cExpr | Символьное выражение cExpr представляет собой разделенный запятыми список полей в курсоре, которые будут игнорированы процессом обновления.

Expand image Примечания

Применяется к классу: CursorAdapter

Вы можете установить это свойство в событии BeforeRecordRefresh.

Expand image Смотрите также

Справочное руководство

Событие BeforeRecordRefresh
Метод RecordRefresh

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RefreshTimeStamp Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RefreshTimeStamp
Смотрите также
CollapseAll image

Определяет будут ли при исполнении команд Insert или Update автоматически обновляться поля, включенные в список полей, занесенный в свойство TimestampFieldList. Редактируемое как в design, так и в run time.

CursorAdapter.RefreshTimestamp[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из приведенных ниже значений:

Установка Описание

True (.T.)

Разрешает автоматическое обновление (refresh) полей, включенных в свойство TimestampFieldList.

False (.F.)

(По умолчанию) Запрещает автоматическое обновление (refresh) полей, включенных в свойство TimestampFieldList.

Expand image Примечания

Применяется к классу: CursorAdapter

Установка значения свойства RefreshTimestamp в True (.T.) равнозначна включению полей timestamp в конец свойств InsertCmdRefreshFieldList Property и UpdateCmdRefreshFieldList.

Expand image Смотрите также

Справочное руководство

Свойство TimestampFieldList

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RelationalExpr Property

Visual FoxPro 9.0 Language Reference
RelationalExpr свойство
См. также

Задает выражение на основе полей родительской таблицы, связанное с индексом в дочерней таблице и объединяющее эти две таблицы.

Object.RelationalExpr[ = cExpr]

Возвращаемое значение

cExpr

Задает любое выражение Visual FoxPro; обычно берется выражение, соответствующее текущему индексу дочерней таблицы, который определяется свойством ChildOrder.

Замечания

Применимо к: Grid | Relation

См. также

Другие ресурсы

ChildOrder свойство
LinkMaster Свойство
Свойства
SET RELATION Коианда

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


RelativeColumn Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RelativeColumn
Смотрите также
CollapseAll image

адает активный столбец в видимой части элемента управления Grid. Не доступно на этапе разработки и доступно только для чтения на этапе выполнения.

Grid.RelativeColumn[ = nColumn]

Expand image Возвращаемое значение

nColumn

Задает активный столбец в элементе управления Grid.

Expand image Примечания

Применимо к: Grid

Используйте свойство RelativeColumn для определения относительной позиции активного столбца в элементе управления Grid. Например, если прокрутить элемент управления Grid так, что первый столбец перестанет быть виден, но активным столбцом будет первый видимый столбец в Grid, значение RelativeColumn устанавливается равным 1. Чтобы определить абсолютную позицию активного столбца в элементе управления Grid, воспользуйтесь свойством ActiveColumn.

Expand image Смотрите также

Справочное руководство

Свойство ActiveColumn
Свойство ActiveRow
Свойство RelativeRow

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RelativeRow Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RelativeRow
Смотрите также
CollapseAll image

Задает активную строку в видимой части элемента управления Grid. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Grid.RelativeRow

Expand image Возвращаемое значение

nRow

Числовой тип данных. RelativeRow содержит номер активной строки в элементе управления Grid.

Expand image Примечания

Применимо к: Grid

Используйте свойство RelativeRow для определения относительной позиции активной строки в элементе управления Grid. Например, если прокрутить элемент управления Grid так, что первая строка перестанет быть видна, но активной строкой будет первая видимая строка в Grid, значение свойства RelativeRow устанавливается равным 1.

Чтобы определить абсолютную позицию активной строки в элементе управления Grid, воспользуйтесь свойством ActiveRow.

Expand image Смотрите также

Справочное руководство

Свойство ActiveColumn
Свойство ActiveRow
Свойство RelativeColumn

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ReleaseType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ReleaseType
Смотрите также
CollapseAll image

Возвращает целое число, которое определяет, как освобождается объект Form. Не доступно на этапе разработки и доступно только для чтения на этапе выполнения.

Object.ReleaseType

Expand image Возвращаемое значение

Для свойства ReleaseType предусмотрены следующие установки:

Устаноіка | Описание
0 | Освобождается переменная.
1 | Close menu command or close box.
2 | Выход из Visual FoxPro.

Expand image Примечания

Применимо к: Form Object | _SCREEN System Variable

Свойство ReleaseType устанавливается до вызова события QueryUnload.

Expand image Смотрите также

Справочное руководство

Событие QueryUnload
Событие Unload

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Resizable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Resizable
Смотрите также
CollapseAll image

Определяет, может ли пользователь на этапе выполнения изменять размеры объекта Column. Доступно на этапе разработки; чтение-запись на этапе выполнения.

Column.Resizable[ = lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства Resizable предусмотрены следующие установки:

Установка Описание

True (.T.)

Размеры объекта Column можно менять.

False (.F.)

(По умолчанию) Пользователь не может менять размеры объекта Column.

Expand image Примечания

Применимо к: Column

Expand image Смотрите также

Справочное руководство

Свойство Width
Фундаментальный клас Resize Object
Событие Resize

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RespectCursorCP Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RespectCursorCP
Смотрите также
CollapseAll image

Определяет - будет ли принята во внимание кодовая страница курсора.

Note Замечание

Свойство UTF8Encoded работает совместно с установкой RespectCursorCP в случае, когда UTF8Encoded установено в True (.T.).

RespectCursorCP применяется только в случае, когда исполняется метод ToXML объекта XMLAdapter, который создает XML совместимый с его установками.

Для получения более подробной информации о том, как кодовая страница размечается в XML декодирующие аттрибуты, смотрите описание функции CURSORTOXML().

XMLAdapter.RespectCursorCP [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены возможные значения для lValue.

lValue Описание

False (.F.)

Создает XML с кодировкой по умолчанию Windows-1252

True (.T.)

Устанавливает кодировку по кодовой странице курсора.

Expand image Замечания

Применяется к: классу XMLAdapter

Например, в приведенной ниже таблице описывается взаимодействие RespectCursorCP и UTF8Encoded.

RespectCursorCP | UTF8Encoded | Производимое преобразование
False | False | Windows-1252 (По умолчанию)
False | True | Устанавливается аттрибут кодировки вывода в UTF-8. Не происходит трансляции символов.
True | False | Устанавливается аттрибут кодировки вывода в кодовую страницу курсора.
True | True | Устанавливается аттрибут кодировки вывода в UTF-8. Транслирует символьные данные в UTF-8.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Свойство UTF8Encoded
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RespectNesting Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RespectNesting
Смотрите также
CollapseAll image

Определяет - должен ли метод ToXML использовать вложение таблиц на основе значения свойства NestedInto Property, и должно ли вложение учитыватсья в течение разбора XML документа.

XMLAdapter.RespectNesting = [lValue]

Expand image Возвращаемое значение

lValue

Логичесий тип данных. В приведенной ниже таблице перечислены возможные значения для lValue.

lValue Описаник

False (.F.)

Указывает, что метод ToXML должен игнорировать установку свойства NestedInto.

True (.T.)

Указывает, что метод ToXML должен обеспечить вложение таблиц на основе информации в свойстве NestedInto.

Expand image Примечания

Применяется к классу: XMLAdapter

Когда это свойство установлено в False (.F.), поведение XMLAdapter точно такое же, как и в Visual FoxPro 8.0. Однако, когда RespectNesting установлено в (.T.), поведение Visual FoxPro 9.0 заключено в следующем (в отличие от поведения в VFP 8.0):

  • При загрузке схемы .NET Dataset, метод LoadXML устанавливает свойства NestedInto, NextSiblingTable и FirstNestedTable для всех объектов XMLTables, на основе информации о вложениях, полученной из схемы.

  • Методы ToCursor и ChangesToCursor (только в случае, когда загружаются неизмененные записи) используют приведенную ниже логику разбора:

    • Если таблица является вложенной, ее узлы должны быть дочерними к узлу внешней таблицы.

    • Если таблица не явялется вложенной, ее узлы должны быть дочерними к узлу XMLAdapter'а.

  • Если схема сгенерирована, метод ToXML принимает во внимание информацию о вложениях и генерирует схему с соответствующими вложениями.

  • Если XML сгенерерирован в режиме "diffgram + только изменения", будет сгенерирована ошибка, поскольку формат с вложениями не поддерживается в этом режиме.

  • Метод ToXML method соответстсвенно обеспечивает вложение данных. Вложение выполняется на информации о вложении и наборе отношений из внешнего курсора к внутреннему. Отметим, что требуются прямые отношения.

Expand image Смотрите также

Справочное руководство

Клас XMLAdapter
Клас XMLTable
Метод ToXML
Метод ToCursor
Метод ChangesToCursor
Свойство NestedInto
Свойство FirstNestedTable
Свойство NextSiblingTable

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RightToLeft Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RightToLeft
Смотрите также
CollapseAll image

Определяет направление чтения текста в элементах управления и отображение вывода в формах. RightToLeft сбрасывается если не используется Middle Eastern версия Microsoft Windows. Доступно в design time; редактируемое в run time.

Object.RightToLeft[ = lExpression]

Expand image Возвращаемое значение

lExpression

Установками для свойства RightToLeft являются:

Установка Описание

True (.T.)

(По умолчанию) Текст вводится и отображается в элементах управления в направлении чтения справа-налево. Вывод текста (например с помощью ? или ??) отображается в форме в порядке справа-налево.

False (.F.)

Текст вводится и отображается в элементах управления в направлении чтения слева-направо. Вывод в формах отображается в направлении чтения слева-направо.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | EditBox | Form | Grid | Label | ListBox | OptionButton | PageFrame | _SCREEN | Spinner | TextBox

Используйте свойство Alignment для указания ориентации текста в элементах управлени checkbox и option button.

Expand image Смотрите также

Справочное руководство

Свойство Alignment

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RotateFlip Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RotateFlip
Смотрите также
CollapseAll image

Определяет поворот или переворот (flip) для картинок. Доступно как в design, так в run time.

Image.RotateFlip [ = nValue ]

Параметры

nValue

Численный тип данных. В приведенной ниже таблице перечислены значения для nValue.

nValue Установка Описание

0

RotateNoneFlipNone

Указывает, что не производится ни поворачивание картинки, ни ее переворот.

1

Rotate90FlipNone

Определяет поворот на 90-градусов без переворота.

2

Rotate180FlipNone

Определяет поворот на 180-градусов без переворота.

3

Rotate270FlipNone

Определяет поворот на 270-градусов без переворота.

4

RotateNoneFlipX

Определяет, что поворот картинки не производится, но производится горизонтальный переворот.

5

Rotate90FlipX

Определяет поворот на 90-градусов с горизонтальным переворотом.

6

Rotate180FlipX

Определяет поворот на 180-градусов с горизонтальным переворотом.

7

Rotate270FlipX

Определяет поворот на 270-градусов с горизонтальным переворотом.

Expand image Примечания

Применяется к: Image Control

Анимированные картинки формата .gif не поддерживаются.

Поскольку картинка может иметь файл маски .msk, то этот файл должен быть соответственно отформатирован.

Замечание Замечание

Visual FoxPro внутренне хранит в памяти единичную картинку. Если вы используете эту картинку множество раз, Visual FoxPro обрабатывает ее показ одним и тем же способом, независимо от установки RotateFlip. Если вы желаете использовать одну и ту же картинку множество раз, развернутую по разному, переименуйте каждую копию используемой картинки. Если вы выпустите команду CLEAR...RESOURCES, то Visual FoxPro перезагрузит картинку в память с потерей любых предыдущих установок GDI+.

Expand image Смотрите также

Справочное руководство

Поддержка графики в Visual FoxPro
Команды CLEAR
Свойство PicturePosition
Свойство Picture(Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Rotation Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Rotation Property (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Определяет число градусов для поворота элемента управления в направлении по часовой стрелке. Read/write как в design time, так и в run time.

Control.Rotation [= nValue]

Expand image Возвращаемое значение

nValue

Определяет вращение элемента управления в диапазоне от 0 до 360 градусов. Значением по умолчанию является 0.

Expand image Примечания

Применяется к: Label Control (Visual FoxPro) | Line Control | Shape Control

Четкость изборажения текста может варьироваться в зависимости от используемого шрифта и его размера. Например, маленькие размеры шрифтов смотрятся наилучшим образом при угла поворода в 0-, 90-, или 180-градусов.

Для элементов управления Label, применимы следующие функциональные возможности при установке свойства Rotation:

  • Rotation работает только со шрифтами типа TrueType. Определенные установки шрифта, такие как FontStrikethru могут не отображаться под определенными углами.

  • Rotation не поддерживается, когда свойство Style установлено в 3 (Themed) так как текст метки рисуется темой. Для получения более подробной информации смотрите описание свойства Style.

  • При выравнивании текста в метке, свойство Alignment учитывается только когда свойство Rotation установлено в 0. В противном случае метка центруется при вращении. Для получения более подробной информации смотрите описание свойства Alignment.

  • Свойство WordWrap поддерживается также только в случае установки свойства Rotation в 0. Другими словами, если Rotation установлено взначение отличное от 0, не происходит переноса слов, даже если WordWrap установлено в True (.T.). Для получения более подробной информации смотрите описание свойства WordWrap.

  • Свойство AutoSize не изменяет размеры элемента управления, основанные на установке Rotation. Текст всегда центруется в метке. Поэтому, рекомендуется проверить, достаточно ли велика метка, для размещения в любой позиции вращения. Для получения более подробной информации смотрите описание свойства AutoSize.

  • "Горячие" ключи (\<), указанные в свойстве Caption не отображаются, хотя сохраняют свою функциональность при вращении метки. Для получения более подробной информации смотрите описание свойства Caption (Visual FoxPro).

Для элементов управления Shape и Line применимы следующие функциональные возможности при использовании установок свойства Rotation:

  • Rotation применяется когжа полигонные контуры и линии создаются свойством PolyPoints. Для получения более подробной информации смотрите описание свойства PolyPoints.

  • Элемент управления вращается вокруг своей координаты центра.

Expand image Пример

Приведенный ниже пример создает форму и вводит метку и две командных кнопки, основанные на пользовательском классе. Свойство Rotation устанавливается каждый раз, когда вы щелкаете по кнопке "Rotate", в результате чего производится врщение метки.

Приведенные ниже строки кода используют функцию CREATEOBJECT() для создания формы и метод AddObject для ввода в форму элемента управления Label и двух пользовательских командных кнопок. Затем свойство Visible устанавливается в True (.T.) для метки и кнопок с целью их отображения в форме. Для отображения формы используется метод Show, а команда READ EVENTS начинает обработку событий. Команда DEFINE CLASS определяет пользовательские класс Label и класс CommandButton и содержиать установки для соответствующих свойств.

CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')
frmMyForm.AddObject('lblLabel1','lblMyLabel')
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')
frmMyForm.lblLabel1.Visible = .T.
frmMyForm.cmdCmndBtn1.Visible =.T.
frmMyForm.cmdCmndBtn2.Visible =.T.
frmMyForm.Show
READ EVENTS
DEFINE CLASS lblMyLabel AS Label
   Caption = "MyLabel"
   Left = 150
   Top = 50
   Height = 50
   Width = 50
ENDDEFINE

Приведенное ниже определение класса для командной кнопкит увеличивает значение свойства Rotation в событии Click каждый раз, когда по кнопке производится щелчок мышью. Когда значение свойства Rotation увеличивается, метка поворачивается на указанное число градусов. Когда суммарное число градусов достигнет 360, свойство Rotation сбрасывается в 0, так что метка появляется в ее ориганальной начальной позиции.

CopyCode image Скопировать код
DEFINE CLASS cmdMyCmndBtn1 AS CommandButton
   Caption = '\<Rotate'
   Left = 125
   Top = 150
   Height = 25
   PROCEDURE Click
      ThisForm.lblLabel1.Visible = .F.
      ThisForm.lblLabel1.Rotation = ThisForm.lblLabel1.Rotation + 45
      IF ThisForm.lblLabel1.Rotation = 360
         ThisForm.lblLabel1.Rotation = 0
      ENDIF
      ThisForm.lblLabel1.Visible = .T.
ENDDEFINE

Приведенное ниже определение класса для командной кнопки включает в себя команду CLEAR EVENTS в событии Click для остановки обработки событий и закрытия формы.

CopyCode image Скопировать код
DEFINE CLASS cmdMyCmndBtn2 AS CommandButton
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 200
   Height = 25
   PROCEDURE Click
      CLEAR EVENTS
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство RotateFlip

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RowColChange Property

Visual FoxPro 9.0 Описание Языка
RowColChange, свойство
См. также
CollapseAll image

Содержит значение типа перемещения Активного указателя (активной Клетки-Ячейки) при работе с Контролом Grid (при перемещении по Сетке). Только-чтение для режимов Разработки и Run-Time.

Grid.RowColChange

Expand image Комментарии

Применяется в: Grid

Значение свойства RowColChange = 0 при открытии или после обновления (Refresh) контрола Grid. Вы можете использовать значение рассматриваемого свойства в программном Коде событий AfterRowColChange, BeforeRowColChange для определения того, как изменилось положение текущей, активной Клетки (Ячейки), при работе с текущей Таблицой Данных.

Значение | Краткое описание
0 (по-умолчанию) | Не изменяется.
1 | Изменилась строка (Row)
2 | Изменился столбец (Column)
3 | Изменилась Строка и Столбец

Expand image См. также

Описание

Grid, контролl
AfterRowColChange, событие
BeforeRowColChange, событие

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


RowHeight Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RowHeight
Смотрите также
CollapseAll image

Задает высоту строк в элементе управления Grid. Доступно на этапе разработки; для чтения-записи на этапе выполнения.

Grid.RowHeight[ = nHeight]

Expand image Возвращаемое значение

nHeight

Задает высоту всех строк в элементе управления Grid.

Expand image Примечания

Применимо к: Grid

Если значение свойства RowHeight установлено равным -1 (Auto), размеры строк регулируются автоматически, чтобы соответствовать текущей установке свойства FontSize.

Expand image Смотрите также

Справочное руководство

Свойство FontSize
Свойство RowColChange
Свойство RowSource

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RowSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RowSource
Смотрите также Пример
CollapseAll image

Указывает источник значений для элементов управления ComboBox и ListBox.

Замечание Замечание

Свойство RowSourceType определяет источник, который вы можете устнановить для свойства RowSource. Рекомендуется установить свойство RowSourceType до установки свойства RowSource. Для получения более подробной информации смотрите описание свойства RowSourceType.

Control.RowSource [= cValue]

Expand image Возвращаемое значение

cValue

Определяет источник для значений, отображаемых в элементе управления.

Замечание Замечание

Когда вы устанавливаете значение для свойства RowSource програмнным способом, вы должны взять это значение в кавычки ("").

В приведенной ниже таблице перечислены возможные значения для cValue.

cValue Описание

Nothing

Элемент управления заполняется в run time с помощью методов AddItem или AddListItem или с помощью свойств List или ListItem. (По умолчанию)

Для получения более подробной информации смотрите описания Метод AddItem, Метод AddListItem Method, Свойство List и Свойство ListItem.

Val1,Val2,Val3,...

A comma-delimited list of values.

Элемент управления заполняется значениями из разделенного запятыми списка значений.

TableAlias

Псевдоимя открытой таблицы.

Элемент управления заполняется значениями из полей таблицы.

SQLSELECTStatement

Предложение SQL SELECT, которое создает курсор или таблицу, например, "SELECT * FROM Table".

Элемент управления заполняется значениями из колонок курсора или таблицы, созданной предложнием SQL.

Замечание Замечание

При исполнении предложения SQL SELECT появляется окно просмотра (browse).

MyQueryFile.qpr

Имя файла запроса (.qpr).

Замечание Замечание

Убедитесь, что вы указали расширение имени файла .qpr. При исполнении запроса появляется окно просмотра (browse).

Элемент управления заполняется значениями из колонок результата запроса.

myArray

Имя массива.

Элемент управления заполняется значениями из массива.

TableAlias.Field1, Field2, Field3, ...

Разделенный запятыми список полкй из одной открытой таблицы, который может быть предварен псевдоименем таблицы и разделяющей его и список точой.

Элемент управления заполняется значениями из полей. Свойство ColumnCount должно соответствовать числе указанных полей.

*.fileExt

Шаблон файла (например, "*.dbf" or "*.txt") или маска.

Элемент управления заполняется именами файлов из текущего каталога наряду с опциями, позволяющими выбрать другой диск или каталог, содержащий файлы.

TableName or TableAlias

Имя или псевдоимя таблицы.

Элемент управления заполняется именами полей из таблицы.

Замечание Замечание

Когда свойство RowSourceType установлено в значение, равное8, а его свойство RowSource не заполнено, то элемент управления заполняется именами полей из текущей открытой таблицы. В противном случае, если свойство RowSource указывает имя таблицы, псевдоимя таблицы или имя базы данных, элемент управления заполняется именами полей из указанного источника.

MenuName

Имя меню. Вклчюено для совместимости назад.

CollectionName [, CollectionMemberProp [, CollectionMemberProp2 [, ...]]]

CollectionName указывает строку, содержащую выражение, которое оценивается в объект коллекции Visual FoxPro или коллекцию COM объекта.

Вы можете, кроме того, указать свойства объектов в коллекции. Элемент управления заполняется значениями свойства, указанными наряду с другими членами коллекции, которые не являются объектами.

Замечание Замечание

Когда вы указываете коллекцию и свойства объектов в коллекции в качестве значения свойства RowSource, значения каждого свойства отображаются в отдельной колонке. Члены коллекции, которые не являются объектами, отображаются в первой колонке.

Замечание Замечание

Если вы не указали никаких свойств для RowSource, то элемент управления отображает других членов коллекции, которые не являются объектами и строку "(Object)" для каждого объекта коллекции в одной колонке. Строка "(Object)" возвращается для свойства Value. Для получения более подробной информации смотрите описание свойства Value.

Expand image Примечания

Применяется к: ComboBox | ListBox

Вы можете отображать в элементе управления множество колонок соответствующей установкой свойства ColumnCount. Значения, которые вы укажете для RowSource заполнят элемент управления по строкам и колонкам в соответствии со значением свойства ColumnCount. Например, вы можете отобразить значения во множестве колонок путем установки свойства RowSourceType в 1 (Value) и указать значения, разделенные запятыми, для каждой колонки и строки для свойства RowSource так, как это показано в приведенной ниже примере:

CopyCode image Скопировать код
myListBox.ColumnCount = 2
myListBox.RowSource = "Col1Row1,Col2Row1,Col1Row2,Col2Row2,Col2Row3"

В этом примере, не указано значение между значением 2 строки 2-й колонки и значением для третьей строки второй колонки, поэтому не отображается значение в первой колонке третьей строки.

Примечание переводчика. Это не соответствует действительности. При проверке указанного примера вы получите результат, показанный на картике внизу:

Result of the example

Объяснение этому очень простое. Если мы указывает тип источника данных = Value, а в качестве источника данных для строки укажем разделенный запятыми список значений, то значения будут заполнять списочную часть элемента управления в следующем порядке: колонки первой строки, колонки второй строки и так далее.

Для указания псевдоимени таблицы, содержащей колонки, используйте приведенный ниже синтаксис:

CopyCode image Скопировать код
myListBox.RowSource = Alias.Col1Row1,Col2Row1,Col1Row2,Col2Row2,Col2Row3

Примечание переводчика. Данный синтаксис абсурден, если рассматриривать его формально. Мы не можем указать конкретных значений для конкретных строк и колонок. Это вожможно только для колонок! Если же пример приводился в качестве примера использования псевдоимени для значения свойства RowSourceType=1 (Value) то в первой колонке первой строки будет указано значение Alias.Col1Row1. Такой синтаксис применим к значению свойства RowSourceType=2 (Alias) и должен выглядет так:

CopyCode image Скопировать код
myListBox.RowSource = Alias.Field_name_for_Col1,Field_name_for_Col2   && для использования со значением ColumnCount=2
Замечание Замечание

Когда свойство ColumnCount установлено в значение 0 или 1, элемент управления отображает первый предмет или значегние только в единственной колонке. В противном случае, элемент управления отображает каждый предмет или значение поколоночно в соответствии с числом колонок, указанном в свойстве ColumnCount. Вам может быть придется правильно установить свойство ColumnWidths для установки ширины колонок с тем, чтобы значения отображались корректно.

Для получения более подробной информации смотрите описание свойства ColumnCount, задачи Как: создать многоколоночные ListBox'ы и образец Отображение множества колонок в List Box.

Поскольку значением по умолчанию свойства Value является число, вам придется установить значение свойства Value в пустую строку, для отражения символьной строки текста выбранного предмета в listbox или combobox. Для ввода пустой строки в окне Properties, нажмите последовательно клавиши SPACEBAR и BACKSPACE. Для получения более подробной информации смотрите описания свойства Value и окна Properties.

Expand image Пример

Expand image Пример 1

Приведенный ниже пример creates a list box on a form and specifies an array as the source of the items in the list box. The RowSourceType property is set to 5 (Array) to specify that an array is the source for the items in the list box, and the name of the array is specified by the RowSource property. The MultiSelect property for the list box is set to True (.T.) so that you can make multiple selections from the list box.

ШагиЮ производимые в этом примере:

  • Очищается главное окно Visual FoxPro с помощью команды CLEAR.

  • Создается массив с именем gaMyListArray с помощью команды DIMENSION.

  • Массив заполняется буквами с помощью команд FOR...ENDFOR и STORE.

  • Создается форма с помощью функции CREATEOBJECT( ).

  • Блокируется кнопка Close на зеголовке формы с помощью установки свойства Closable.

  • Форма перемещается с помощью метода Move.

  • С помощью вызова метода AddObject добавляется элемент управления CommandButton, основанный на пользовательском классе cmdMyCmdButton

  • С помощью вызова метода AddObject добавляется элемент управления ListBox, основанный на пользовательском классе lstMyListBox.

  • В качестве типа источника данных для элемента управления listbox определяется массив, через установку свойства RowSourceType.

  • В качестве источника данных для строки задается массив с именем gaMyListArray через установку свойства RowSource.

  • Команда кнопка делается видимой с помощью установки свойства Visible.

  • Listbox делается видимым с помощью установки свойства Visible.

  • Форма отображается на экране с помощью ее метода Show.

  • Начинается обработка события вызовом команды READ EVENTS.

  • С помощью команды DEFINE CLASS определяется пользовательский класс cmdMyCmdButton, основанный на элементе управления CommandButton. Код в команде DEFINE CLASS установливает свойства пользовательского класса и определяет процедуры.

  • С помощью команды DEFINE CLASS определяется пользовательский класс lstMyListBox, основанный на элементе управления ListBox. Код в команде DEFINE CLASS установливает свойства пользовательского класса и определяет процедуры.

CopyCode image Скопировать код
CLEAR
DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT

frmMyForm = CREATEOBJECT('Form')
frmMyForm.Closable = .F.
frmMyForm.Move(150,10)
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')
frmMyForm.AddObject('lstListBox1','lstMyListBox')
frmMyForm.lstListBox1.RowSourceType = 5
frmMyForm.lstListBox1.RowSource = 'gaMyListArray'
frmMyForm.cmbCommand1.Visible =.T.
frmMyForm.lstListBox1.Visible =.T.
frmMyForm.Show
READ EVENTS

DEFINE CLASS cmdMyCmdBtn AS CommandButton
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 210
   Height = 25
   PROCEDURE Click
      CLEAR EVENTS
      CLEAR
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox
   Left = 10
   Top = 10
   MultiSelect = .T.
   PROCEDURE Click
      ACTIVATE SCREEN
      CLEAR
      ? "Selected items:"
      ? "---------------"
      FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
         IF ThisForm.lstListBox1.Selected(nCnt)
            ? SPACE(5) + ThisForm.lstListBox1.List(nCnt)
         ENDIF
      ENDFOR
ENDDEFINE

Expand image Пример 2

Приведенный ниже пример объясняет, как в качестве источника данных использовать коллекции, через соответствующую установку свойства RowSource для элемента управления listbox. Предположим, что вы создали коллекцию, на которую указывает объектная ссылка в виде переменной памяти CustomerCol, с помощью приведенных ниже шагов:

  • Вызывается команда SCAN...ENDSCAN на таблице Customers базы даннных Northwind, расположенной в каталоге ...\Samples\Northwind directory.

  • Для каждой записи вызывается SCATTER...NAME.

  • Объект, создаванный командой SCATTER добавляется в коллекцию.

Вы можете указать коллекцию посредством переменной памяти oCustomerCol и поля записи для свойства RowSource так, как показано ниже:

CopyCode image Скопировать код
lstmyListBox.RowSource = "colCustomerCol, CustID, Company, LastName"

Для изучения других примеров смотрите описание задачи Как: выбрать тип данных для элементов управления ListBox или ComboBox.

Expand image Смотрите также

Задачи

Как: позволить пользователям добавлять предметы в ListBox
Как: отображать дочерние записи в списке
Как: заполнять результатами запросов элементы управления формы
Как: обновить One-to-Many отображения, основанные на значеняих в Value ListBox'а

Справочное руководство

Свойство RecordSourceProperty

Концепции

Элементы управления для отображения списков

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


RowSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство RowSourceType
Смотрите также
CollapseAll image

Задает тип источника значений для свойства RowSource. Чтение/запись на этапе разработки и выполнения.

Подробние об использовании свойства RowSourceType, смотрите Как: Выбрать тип данных для элементв управления List или ComboBox.

Control.RowSourceType [= nValue]

Expand image Возвращаемое значение

nValue

Задает значение указывающее тип источника значений для элемента управления.

В следующей таблице представлены значения nValue.

nValue Описание

0

None (тип не определен). (По умолчанию)

1

Value (значение).

2

Table alias (псевдоним таблицы).

3

SQL statement (SQL выражение).

4

Query (запрос) (.qpr) файл .

5

Array (массив).

6

Fields (поля).

7

Files (файлы).

8

Field structure of a table (Структура полей из таблицы).

9

Pop-up (меню). Включено для совместимости с предыдущими версиями.

10

Collection объект.

Expand image Примечания

Применимо к: ComboBox | ListBox

Expand image Смотрите Также

Задачи

Как: Обеспечить добавление новых элементов в список контрола List Box
Как: Отобразить "дочерние" записи в списке
Как: Заполнить элементы Контролов в Форме результатами Запроса
Как: Обновлять содержание Списков, построенных из нескольких таблиц, при связях "один-ко-многим".

Справочное руководство

Свойство RowSource
Свойство RecordSourceType

Концепции

Контролы для отображения Списков

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ScaleMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ScaleMode
Смотрите также
CollapseAll image

Задает единицу измерения в системе координат объекта при использовании методов графики или при позиционировании элементов управления. Доступно на этапе разработки и выполнения.

Object.ScaleMode = nMode

Expand image Возвращаемое значение

nMode

Для свойства ScaleMode предусмотрены следующие установки:

Установка Описание

0

Foxels (Специальный термин Visual FoxPro. Эквивалентен максимальной высоте и средней ширине символа текущего шрифта.)

3

Pixels (По умолчанию; наименьшая единица измерения разрешающей способности монитора или принтера)

Expand image Примечания

Применимо к: Form | _SCREEN | ToolBar

Expand image Смотрите также

Справочное руководство

Свойство DrawMode
Свойство DrawStyle

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SCCProvider Property

Visual FoxPro 9.0 Описание Языка
SCCProvider, свойство
См. также
CollapseAll image

Содержит имя подсистемы, провайдера Source Code Control (SCC) - для Проекта Приложения. Только-чтение.

Object.SCCProvider

Expand image Комментарии

Применяется в: Project, объект

Для определения подсистемы Source Code Control для новых, разрабатываемых Проектов Приложений используйте настройки в соответствующем диалоговом боксе Options, закладка Projects. Свойство SCCProvider содержит пустую строку, если проекты не контролируются подсистемой Source Control.

Expand image См. также

Описание

SCCStatus, свойство
Закладка Projects, Диалоговый бокс Options

Концепции

Использование подсистемы Контроля (Source Control) в Visual FoxPro

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SCCStatus Property

Visual FoxPro 9.0 Описание Языка
SCCStatus, свойство
См. также
CollapseAll image

Содержит числовое выражение, описывающее статус рассматриваемого программного файла Пректа, который контролируется подсистемой Source Control. Только-Чтение для режимов Design-Time и Run-Time.

Object.SCCStatus

Expand image Комментарии

Применяется В: File, объект

Далее приводятся возможные значения для свойства SCCStatus :

Значение | Имя Константы из FoxPro.h | Краткое Описание
0 | SCCFILE_NOTCONTROLLED | Файл не контролируется подсистемой SC.
1 | SCCFILE_NOTCHECKEDOUT | Файл контролируется SC, но не подтвержден (not checked out).
2 | SCCFILE_CHECKEDOUTCU | Файл подтвержден (разрешен) для данного Пользователя (checked out to the current user).
3 | SCCFILE_CHECKEDOUTOU | Файл разрешен для любого Пользователя, кроме текущего.
4 | SCCFILE_MERGECONFLICT | Файл находится в Конфликте Соответствия (Merge Conflict).
5 | SCCFILE_MERGE | Файл проверен на соответствие , без Конфликтов (Merged WithOut Conflict).
6 | SCCFILE_CHECKEDOUTMU | Файл разрешен (подтвержден) для всех Пользователей.

Expand image См. также

Задачи

Как: Подсоединить Проект к подсистеме управления Source Control

Описание

SCCProvider, свойство

Концепции

Программы типа Source Control для системы Visual FoxPro

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Свойство ScrollBars

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ScrollBars
Смотрите также
CollapseAll image

Задает тип полос прокрутки у элемента управления EditBox, объекта Form, или элемента управления Grid. Чтение/запись на этапе проектирования; только чтение на этапе выполнения.

[Form.]Control.ScrollBars[= nType]

Expand image Возвращаемое значение

nType

Задает тип полос прокрутки в элементе управления или объекте.

Для элемента управления EditBox, возможные установки nType приведены в следующей таблице:

nType Описание

0

Нет полос

2

Вертикальная (По умолчанию)

Для объекта Form, возможные установки nType приведены в следующей таблице:

nType Описание

0

Нет полос (По умолчанию)

1

Горизонтальная

2

Вертикальная

3

Вертикальная и горизонтальная

Для элемента управления Grid, возможные установки nType приведены в следующей таблице:

nType Описание

0

Нет полос

1

Горизонтальная

2

Вертикальная

3

Вертикальная и горизонтальная (По умолчанию)

Expand mage Примечания

Применимо к: EditBox | Form | Grid

ScrollBars игнорируется для системной переменной _SCREEN. Для большей информации, смотритеСистемная переменная _SCREEN.

Если полосы прокрутки поддерживаются, они отображаются автоматически, когда содержимое элемента управления Grid, EditBox или формы перестает помещаться в области, отведенной для его отображения. Установка свойства Scrollbars для формы происходит во время инициализации формы.

Note Tip

Если вы хотите контролировать размер полосы прокрутки на этапе выполнения, установите nType не равным 0.

Note Note

Значение nType больше 0 требует больше памяти для обеспечения возможного использования метода SaveAs. Для большей информации, смотрите Метод SaveAs . Для сохранения памяти, установите nType = 0.

Expand image Смотрите также

Reference

Свойство ContinuousScroll
Метод DoScroll
Событие Scrolled

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Seconds Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Seconds
Смотрите также
CollapseAll image

Определяет - будет ли часть "секунды" значения DateTime отображаться в текстбоксе. Доступно, как в design, так и в run time.

Object.Seconds[ = nValue]

Expand image Возвращаемое значение

nValue

Принимает одно из приведенный ниже значений:

Установка Описание

0

Off. Часть выражения DateTime "секунды" не отображается.

1

On. Часть выражения DateTime "секунды" отображается.

2

(По умолчанию) Будут или нет отображатся секунды в значении DateTime определяет команда SET SECONDS. Если SET SECONDS установлена в ON, секунды отображаются, в противном случае (OFF) - нет.

Expand image Примечания

Применяется к: TextBox

Свойство Seconds игнорируется, если формат свойства DateFormat установлен в Short или Long.

Expand image Смотрите также

Справочное руководство

Свойство Century
Свойство DateFormat
Свойство DateMark
Свойство Hours
Команда SET SECONDS
Свойство StrictDateEntry

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SelectCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelectCmd
Смотри также

Определяет команду для извлечения данных из источника данных, определенного в свойстве DataSourceType объекта CursorAdapter . Редактируемое (Read/write) в design и run time.

CursorAdapter.SelectCmd [ = cCommand ]

Возвращаемое значение

cCommand

Содержит символьную строку или выражение, которое может быть оценено, как корректная командная строка. Для источников данных типа XML , cCommand должна содержать одно из нижеприведенных значений:
  • Выражение, которое оценивается в корректный XML источник для функции XMLTOCURSOR( ). XMLTOCURSOR( ) извлекает данные из источника данных.

  • Выражение, которое оценивается как объект XMLTable. Для извлечения данных в этом случае вызывается метод ToCursor объекта XMLTable.

Замечания

Применяется к: классу CursorAdapter

Если свойство UseDeDataSource объекта CursorAdapter установлено в True (.T.), и курсор-адаптер является членом DataEnvironment, то свойства DataEnvironment - DataSource и DataSourceType замещают соответствующие свойства DataSource и DataSourceType объекта CursorAdapter.

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter
Функция XMLTOCURSOR( )
Класс XMLTable
Метод ToCursor

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


Selected Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Selected
Смотрите также Пример
CollapseAll image

Определяет, выбран ли элемент списка в элементе управления ComboBox или ListBox. Недоступно на этапе разработки, доступно для чтения-записи на этапе выполнения.

[Form.]Control.Selected(nIndex) [= lExpr ]

Expand image Возвращаемое значение

nIndex

Числовой тип данных. Selected задает индекс элемента списка ComboBox или ListBox.

lExpr

Логический тип данных. Для свойства Selected предусмотрены следующие установки:

Установка Описание

True (.T.)

Элемент выбран.

False (.F.)

Элемент не выбран. (По умолчанию)

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Установка свойства Selected в элементе управления ListBox также устанавливает свойство ListItem и вызывает событие ProgrammaticChange.

Свойство Selected особенно полезно, когда разрешен выбор нескольких элементов списка. Вы можете быстро проверить, какие элементы списка выбраны. Данное свойство также позволяет выделять элементы в списке или отменять выделение с помощью кода. Чтобы проверить, выбран ли третий элемент списка ListBox, задайте:

CopyCode image Скопировать код
IF MyList.Selected(3)
  WAIT WINDOW "It's selected!"
ELSE
  WAIT WINDOW "It's not!"
ENDIF

Expand image Пример

В следующем примере создается элемент управления ListBox. Источником элементов для списка ListBox служит массив, имя которого задается свойством RowSource. Значение свойства RowSourceType устанавливается равным 5 (Array), что указывает на то, что источником элементов для списка ListBox является массив.

Значение свойства MultiSelect для ListBox устанавливается равным "истине" (.T.), что дает возможность выбирать в списке ListBox сразу несколько элементов. Выбранный элемент (или элементы) в списке ListBox отображается на экране с помощью свойств ListCount, Selected, и List которые позволяют определить число элементов в списке ListBox и посмотреть, какие элементы выбраны.
CopyCode image Скопировать код
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Fill the array with letters
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT

frmMyForm = CREATEOBJECT('Form')  && Create a form.
frmMyForm.Closable = .f.  && Disable window context menu.

frmMyForm.Move(150,10)  && Move the form.

frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')  && Add "Quit" command button.
frmMyForm.AddObject('lstListBox1','lstMyListBox')  && Add ListBox control.

frmMyForm.lstListBox1.RowSourceType = 5  && Specifies an array.
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && Specifies array source containing list box items.

frmMyForm.cmbCommand1.Visible =.T.  && "Quit" command button visible.
frmMyForm.lstListBox1.Visible =.T.  && List box visible.

frmMyForm.SHOW  && Display form.
READ EVENTS  && Start event processing.

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create command button.
   Caption = '\<Quit'  && Assign caption on the command button.
   Cancel = .T.  && Assign default Cancel command button (Esc).
   Left = 125  && Command button column.
   Top = 210  && Command button row.
   Height = 25  && Command button height.

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing and close form.
      CLEAR  && Clear main Visual FoxPro window.
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox  && Create ListBox control.
   Left = 10  && List Box column
   Top = 10  && List Box row
   MultiSelect = .T.  && Allow selecting more than 1 item.

PROCEDURE Click
   ACTIVATE SCREEN
   CLEAR
   ? "Selected items:"
   ? "---------------"
   FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
      IF ThisForm.lstListBox1.Selected(nCnt)  && Is item selected?
         ? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item.
      ENDIF
   ENDFOR

ENDDEFINE

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод Clear
Свойства ItemBackColor, ItemForeColor
Свойство List
Свойство ListCount
Свойство ListItemID
Свойство MultiSelect (Visual FoxPro)
Свойство NewItemID
Метод RemoveItem
Метод RemoveListItem
Свойство SelectedID
Свойство SelectedItemBackColor
Свойство SelectedItemForeColor
Свойство TopItemID

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SelectedBackColor, SelectedForeColor Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства SelectedBackColor, SelectedForeColor
Смотрите также
CollapseAll image

Задают цвет фона и основной цвет символов для выделенного текста. Доступно на этапе разработки и выполнения. Существует две версии синтаксиса для каждого из свойств.

Control.SelectedBackColor[ = nColor]
Control.SelectedBackColor = RGB(nRedValue, nGreenValue, nBlueValue)
Control.SelectedForeColor[ = nColor]
Control.SelectedForeColor = RGB(nRedValue, nGreenValue, nBlueValue)

Expand image Возвращаемое значение

nColor

Задает одно число, представляющее цвет.

Note Note

В окне Properties вы можете, дважды щелкнув какое-либо цветовое свойство, отобразить диалоговое окно Color. В этом диалоговом окне можно выбирать и определять цвета. Значения интенсивности красного, зеленого и синего тонов, соответствующие выбранному цвету, принимаются в качестве установок этих свойств после закрытия диалогового окна Color.

Expand image Примечания

Применимо к: ComboBox Control | EditBox Control | Spinner Control | TextBox Control

Expand image Смотрите также

Справочное руководство

Свойства BackColor, ForeColor
Функция RGB( )
Свойство SelectedItemBackColor
Свойство SelectedItemForeColor

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SelectedID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelectedID
Смотрите также
CollapseAll image

Определяет - был ли выбран предмет в элементах упраления combobox или list box. Не доступно в design time; "только для чтения" в run time.

Control.SelectedID(nItemID)[= lExpr]

Expand image Возвращаемое значение

nItemID

Указывает ID предмета в Combobox или ListBox.

lExpr

Установами для свойства SelectedID являются:

Установка Описание

True (.T.)

Предмет выбран.

False (.F.)

(По умолчанию) Предмет не выбран.

Expand image Примечания

Применяется к: ComboBox | ListBox

Установка свойства SelectedID для элемента управления Listbox кроме того устанавливает свойство ListItemID и вызывает срабатывание события ProgrammaticChange.

Свойство SelectedID частично полезно для случаев, когда пользователь производит множественную выборку. Вы можете быстро проверить, какие предметы в списке выбраны. Кроме того, вы можете использовать это свойство для выборки или отмены выборки предметов в списке с помощью программного кода. Например, для проверки: выбран ли третий элемент списка в ListBox выдайте следующую команду:

CopyCode image Скопировать код
IF MyList.SelectedID(3)
    WAIT WINDOW "It's selected!"
ELSE
    WAIT WINDOW "It's not!"
ENDIF

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод Clear
Свойство List
Свойство ListCount
Свойство ListItemID
Свойство MultiSelect (Visual FoxPro)
Свойство NewItemID
Метод RemoveItem
Метод RemoveListItem
Свойство Selected
Свойство TopItemID

Прочие ресурсы

Свойство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SelectedItemBackColor Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelectedItemBackColor
Смотрите также
CollapseAll image

Указывает цвет фона для выбранного предмета в элементах управления ComboBox и ListBox или ячейки (только для TextBox) в элементе управления Grid. SelectedItemBackColor связан со свойствами HighlightForeColor и HighlightBackColor с помощью которых вы можете управлять раскракой ячейки в строке Grid. Read/write как в design, так и в run time. Имеется две версии синтаксиса.

Control.SelectedItemBackColor [= nColor ]
Control.SelectedItemBackColor = RGB( nRedValue, nGreenValue, nBlueValue )

Параметры

nColor

Численный тип данных. SelectedItemBackColor указывает целое число, представляющее единичное значение цвета. Visual FoxPro извлекает установки цвета из установок цвета операционной системы Windows, определенные для Selected Items в свойства экрана. Для получения подробной информации о действенных цветовых значениях смотрите описание свойств BackColor, ForeColor.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control | Grid Control

Вы можете найти установки цвета для Selected Items в диалоговом окне Advanced Appearance, которое вы можете открыть, используя контрольную панель операционной системы, в которой вы можете выбрать Display, щедкнуть по закладке Appearance, затем по закладке Advanced и выбрать Selected Items из выпадающего списка Item.

Вы можете, кроме того, определить цвета с помощью ввода значений RGB для свойства в окне Properties или выбрать цвета двойным щелчком по имени свойства в окне Properties, в результате чего откроется даилогвое окно Color. Значения красного, зеленого и синего цветов соответствующие выбранному цвету, станут установкой цвета для свойства, после того, как вы закроете окно Color.

На уровне элемента управления Grid, SelectedItemBackColor и SelectedItemForeColor применяются только к элементам управления TextBox. Хотя колонка Grid может содержать множество различных типов объектов, для разбираемого свойства поддерживается только TextBox, используемый по умолчанию. Вы должны установить свойства SelectedItemBackColor и SelectedItemForeColor индивидуально на уровне элемента управления для прочих элементов управления. Приоритет установок свойств SelectedItemBack и SelectedItemForeColor в Grid над поведением конкретного элемента управления TextBox в колонке определяется следующим:

  • Когда свойство HighlightStyle элемента управлени Grid установлено в 0, свойства SelectedItemBackColor и SelectedItemForeColor сбрасываются, а свойства элемента управления textbox имеюит преимущество. Если свойство HighlightStyle элемента управления Grid установлено в значение 2, то постоянными являются только цвета подсветки, а выбранные элементы отображаются в этих цветах только тогда, когда решетка (grid) имеет фокус.

  • Когда свойство HighlightStyle элемента управлени Gridв значение большее, чем 0, применяется приведенное ниже поведение:

    • Свойства элемента управления TextBox управляют реальными цветами выбранного textbox'а.

    • Когда свойства SelectedItemBackColor и SelectedItemForeColor элемента управления Grid установлены явно, то устанавливаются соответствующие свойства для всех элементов управления TextBox в решетке. Это происходит как в design time, так и в run time.

    • Свойства элемента grid имеют преимущества над конфликтующими установками свойств textbox'ов. Если вы желаете, чтобы свойства SelectedItemBackColor and SelectedItemForeColor элемента управления TextBox переписали соответствующие свойства решетки, установите индивидуальные свойства для textbox'ов после установки свойств элемента управления grid.

      Замечание Совет

      Вы можете создать процедуру, которая производит этот процесс, что предоставить необходимую гибкость требуемую для изменения свойств элемента управления grid в run time.

    • Когда вы устанавливаете свойства BackColor и ForeColor элемента управления TextBox для управления отображением, когда вы щелкаете по нему с целью редактирования, свойства SelectedItemBackColor и SelectedItemForeColor элемента управления Grid ведут себя так, как будто бы была выбрана ячейка целиком.

Вы можете сбросить цвета grid и его textbox'ов в установках по умолчанию, используемых в классах вызвав метод ResetToDefault для свойств SelectedItemForeColor and SelectedItemBackColor элементов управления Grid и содержащихся в нем элементов управления TextBox.

Замечание Замечание

Это отличается от того, как Visual FoxPro обслуживает другие цветовые установки для grid. Например, когда вы вызовите ResetToDefault для свойства grid'а BackColor, лежащие в основке колонки и textbox'ы устанавливаются в значение по умолчанию свойства grid'а BackColor, а не в значения по умолчанию свойств BackColor колонок и textbox'ов.

Expand image Смотрите также

Справочное руководство

Свойство HighlightStyle
Свойство SelectedItemForeColor
Элемент уравления TextBox (Visual FoxPro)
Метод ResetToDefault
Свойство Selected
Свойства ItemBackColor, ItemForeColor
Функция RGB()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SelectedItemForeColor Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelectedItemForeColor
Смотрите также
CollapseAll image

Задает цвет символов текста выбранного пункта в элементах управления ComboBox, ListBox или в ячейке (только для TextBox) в элементе управления Grid. Свойство SelectedItemForeColor связано со свойствами HighlightForeColor и HighlightBackColor, которые необходимы для управления цветом выбранной строки Grid. Доступно для чтения и записи на этапе разработки и во время выполнения. Существует два варианта синтаксиса.

Control.SelectedItemForeColor [= nColor ]
Control.SelectedItemForeColor = RGB( nRedValue, nGreenValue, nBlueValue )

Параметры

nColor

Числовой тип данных. Свойство SelectedItemForeColor задает целое число, представляющее цвет. По умолчанию Visual FoxPro принимает цвет шрифта, установленный операционной системой Windows для шрифта выбранного элемента. Для информации о допустимых значениях, задающих цвет смотрите Свойства BackColor, ForeColor.

Expand image Замечания

Применяется к: ComboBox Control | ListBox Control | Grid Control

Для более подробной информации о свойствах Grid SelectedItemForeColor и GridSelectedItemBackColor смотрите Свойство SelectedItemBackColor.

Expand image Смотрите также

Справочное руководство по языку

Метод ResetToDefault
Свойства ItemBackColor, ItemForeColor
Свойство HighlightStyle
Свойство Selected
Функция RGB( )
Элемент управления TextBox (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


SelectOnEntry Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelectOnEntry
Смотрите также
CollapseAll image

Определяет - будет ли выбран весь текс в ячейке колонки, editbox'е, или textbox'е, когда пользователь переходит в них. Доступно, как в design, так и в run time.

Object.SelectOnEntry[ = lExpr]

Expand image Возвращемое значение

Установками для свойства SelectOnEntry являются:

Установка | Описание
True (.T.) | (По умолчанию для объектов column) Текст выбирается.
False (.F.) | (По умолчанию для объектов editbox и textbox) Текст не выбирается.

Expand image Примечания

Применяется к: Column Object | EditBox Control | TextBox Control

Если свойство Highlight установлено в true (.T.), вы можете использовать его в сочетании со свойством SelectOnEntry для определения, весь ли текст появился выбранным. Если вы установите свойство Highlight в false (.F.), то свойство SelectOnEntry игнорируется.

Expand image Смотрите также

Справочное руководство

Свойство Highlight
Свойство HighlightRow

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


SelectionNamespaces Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelectionNamespaces
Смотрите также
CollapseAll image

Указывает настраиваемую деколарацию XMLNamespace для выражений XPath. Редактируемое как в design time, так и в run time.

XMLAdapter.SelectionNamespaces = sValue

Expand image Возвращаемое значение

sValue

Строка в Unicode, которая указывает настраиваемую декларацию пространства имен XML. Значением по умолчанию является пустая строка ("").

Expand image Примечания

Применяется к классу: XMLAdapter

Для получения более подробной информации смотрите описание свойства SelectionNamespaces в Microsoft Core XML Services (MSXML) 4.0 SDK.

Префиксы пространства имен в приведенном ниже списке резервированы для класса XMLAdapter и не должны использоваться в качестве значений для этого свойства:

  • "dataset"

  • все префиксы, начинающиеся с "rowdata"

  • "diffgr"

Expand image Смотрите также

Справочное руководство

Класс XMLAdapter
Свойство DeclareXMLPrefix
Свойство XMLNameIsXPath

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SelLength Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelLength
Смотрите также
CollapseAll image

Возвращает число символов выбранных пользователем в области ввода текста управляющего элемента или указывает число символов, которое будет выбрано. Недоступно в design time; read/write в run time.

 [Form.]Control.SelLength[= nLength]

Expand image Возвращаемое значение

nLength

Указывает число выбранных символов. Выбранный текст подсвечивается. Действительным диапазоном выборки являются значения от 0 до общего числа символов в области ввода текста управляющего элемента. Установка свойства в отрицательное значение вызовет генерацию ошибки в run-time.

Expand image Примечания

Применяется к: ComboBox | EditBox | Spinner | TextBox

Используйте это свойство совместно со свойствами SelStart и SelText для выполнения приведенных ниже задач:

  • Установка точки вставки внутри строки символов.

  • Определения диипазаона вставки, которое ограничивает позицию, в которую точка вставки может пойти.

  • Выбора конкретной группы символов (подстрок) в управляющем элементе.

  • Для удаления текста из области ввода.

При работе с этими свойствами имейте ввиду перечисленные ниже поведения:

  • Установка SelLength в отрицательное значение вызовет генерацию ошибки в run-time.

  • Установка SelStart в значение большее, чем длина текста, установит значение свойства в существующую длину текста. Изменение SelStart изменить выбор точки вставки и установить SelLength в 0.

  • Установка SelText в новое значение установит значение свойства SelLength в 0 и заменит выбранный текст новой строкой.

Expand image Смотрите также

Справочное руководство

Свойство SelStart
Свойство SelText

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SelStart Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelStart
Смотрите также
CollapseAll image

Возвращает начальную точку выбора текста, произведенного пользователем в области ввода текста управляющего элемента или указывает позицию точки вставки такста если текст не выбран. Кроме того, определяет начальную точку выборки текста в области ввода текста управляющего элемента. Не доступно в design time; редактируемое в run time.

 [Form.]Control.SelStart[= nStart]

Expand image Возвращаемое значение

nStart

Возвращает начальную точку выбора текста, произведенного пользователем в области ввода текста управляющего элемента или указывает позицию точки вставки такста если текст не выбран. Выбранный текст появляется подсвеченным. Диапазон действительных значений лежит в значениях от 0 до полного числа символов в редактируемой текстовой области управляющего элемента.

Expand image Примечания

Применяется к: ComboBox | EditBox | Spinner | TextBox

Используйте это свойство совместно со свойствами SelLength и SelText для таких задач, как:

  • Установки точки ввода внутри строки символов.

  • Установки диапазона вставки, который ограничивает позицию, до которой точка вставки может быть произведена.

  • Выборки конкретной группы символов (подстроки) в управляющем элементе.

  • Очистки текста.

При работе с этими свойствами имейте в виду следующие поведения:

  • Установка SelLength в значение, меньшее чем 0 вызовет ошибку в run-time.

  • Установка SelStart в значение, большее, чем длина существующего текста, сбросит это значение в значение длины существующего текста. Изменение SelStart изменяет выбор до значения точки вставки и устанавливает SelLength в 0.

  • Установка SelText в новое значение устанавливает SelLength в 0 и замещает выбранный текст новой строкой.

Expand image Смотрите также

Справочное руководство

Свойство SelLength
Свойство SelText

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SelText Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SelText
Смотрите также
CollapseAll image

Возвращает текст, выделенный пользователем в области ввода текста управляющего элемента или пустую строку (""), если текст пользователем ек выделен. Указывает строку, содержащую выделенный текст. Не доступен в design time; доступен для чтения/записи в run time.

 [Form.]Control.SelText[= cString]

Expand image Возвращаемое значение

cString

Указывает строку, содержащую выделенный текст или пустую строку, если ни один символ в области ввода текста не выбран. Выделенный текст появляется оттененным.

Expand image Примечания

Применяется к: ComboBox | EditBox | Spinner | TextBox

Используйте это свойство совместно со свойствами SelLength и SelStart для выполнения задач таких, как:

  • Установки точки вставки внутри символьной строки.

  • Установки диапазона вставки, которое ограничивает позицию вставки.

  • Выделения конкретной группы символов (подстроки) в управляющем элементе.

  • Очистки текста.

При работе с этими свойствами примите во внимание следующие поведения:

  • Установка SelLength в значение меньшее, чем 0 вызовет ошибку run-time.

  • Установка SelStart в значение большее, чем длина текста сбросит установку свойства в значение, равное длине текста. Изменение значения SelStart измененяет выделение к точке вставки и устанавливает SelLength в 0.

  • Установка SelText в новое значение устанавливает SelLength в 0 и замещает выделенный текст новой строкой.

Expand image Смотрите также

Справочное руководство

Свойство SelLength
Свойство SelStart

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SendGDIPlusImage Property

Visual FoxPro 9.0
Свойство SendGDIPlusImage
Смотрите также Пример
CollapseAll image

Определяет, будет ли объекту ReportListener посылаться дескриптор источника картинки, когда картинка загружается по объектной ссылке или из поля типа General. Не применимо к картинкам, загружаемым по имени файла.

ReportListener.SendGDIPlusImage Property [= iExpr]

Expand image Возвращаемое значение

Целочисленный тип данных.

Отметьте себе, что свойство устанавливается в целочисленный тип данных, не логический, для обеспечения возможности того, что наследуемый класс может использовать другие целые числа для представления доставки картинок другими способами, исключая дескрипторы графики. Например, наследуемый класс может распознать значение 2 для указания "lзагрузить все картинки на основе файлов из их оригинальных файлов и скопировать их другое место или в другой формат."

Перечисленный ниже список значений для iExpr распознается базовым классом ReportListener.

0 или любое отрицательное целое число

(0 используется по умолчанию) Базовый класс ReportListener не предоставляет дескриптор для картинок GDI+ наследуемым классам в методе Render.

1 и большие целочисленные значения

Базовый класс ReportListener предоставляет дескриптор для картинок GDI+ наследуемым классам в методе Render.

Expand image Замечания

Применяется к: Объект ReportListener.

Значение этого свойства не имеет смыслового значения для объектов базового класса ReportListener; оно не оказывает влиятия на обычную печать или возможности предпросмотра визуализации. Однако, ReportListeners при предоставлении других типов вывода может установить это свойство в 1 и получить дескриптор графического объекта, представляющего собой визуализированную картинку, которая доставляется из поля General или из свойства PictureVal элемента управления Image, а не из источников на основе файлов.

По умолчанию, по соображениям производительности, эта информация не предоставляется наследуемым классам.

Note Совет

Когда у вас имеется ссылка на дескриптор GDI+ графики, вы используете GDI+ API для управления им. Visual FoxPro поставляется с рядом фундаментальных классов, разработанных для облегчения использования GDI+ API. Для получения более подробной информации смотрите их описания в Фундаментальные классы GDI Plus API Wrapper.

Значение этого свойства не оказывает влияния на обработку объектом ReportListener картинок, на основе файлов. Наследуемые классы получают соответветствующее имя файла в качестве параметра метода Render, поэтому и не требуется других дескрипторов.

Expand image Пример

Приведенный ниже фрагмент кода, показывающий три метода ReportListener, схож со внутренними методами наследуемого класса XMLDisplayListener. Смотрите описание Фундаментальный класс ReportListener XML Display-Style для получения более подробной информации об этом классе и обработки им картинок.

В событии BeforeReport, код этого примера сохраняет текущее значение SendGDIPlusImage. Затем он проверяет, содержит ли отчет какие-либо поля General. Если он находит любые ссылки на картинки в информации раскладки отчета, он устанавливает SendGDIPlusImage в 1 для использования на протяжении исполнения отчета.
CopyCode image Скопировать код
#DEFINE LISTENER_SEND_GDI_IMAGE_HANDLE 1
PROCEDURE BeforeReport()
   THIS.oldSendGDIPlusImage = THIS.SendGDIPlusImage
   IF (THIS.SendGDIPlusImage < LISTENER_SEND_GDI_IMAGE_HANDLE) ;
        AND THIS.checkReportForGeneralFields()
     THIS.SendGDIPlusImage =   LISTENER_SEND_GDI_IMAGE_HANDLE
   ENDIF
   DODEFAULT()
ENDPROC

PROCEDURE checkReportForGeneralFields()
   LOCAL liGeneralFields, llOpened
   THIS.SetFRXDataSession()
   IF USED("FRX")
      * проверка,так как метод может быть вызван в LoadReport() наравне  с BeforeReport()
      SELECT FRX
   ELSE
      USE (THIS.CommandClauses.File) SHARED NOUPDATE ALIAS FRX IN 0
      SELECT FRX
      llOpened = .T.
   ENDIF
   COUNT FOR ObjType = FRX_OBJTYP_PICTURE  AND  ;
            Offset =  FRX_PICTURE_SOURCE_GENERAL TO ;
            liGeneralFields
   IF llOpened
      USE IN FRX
   ENDIF
   THIS.SetCurrentDataSession()
   RETURN ( liGeneralFields > 0 )
ENDPROC

PROCEDURE AfterReport()
   DODEFAULT()
   THIS.SendGDIPlusImage = THIS.oldSendGDIPlusImage
ENDPROC

Expand image Смотрите также

Задачи

Как: добавить в отчет картинки

Справочное руководство

Метод Render
Свойство GDIPlusGraphics
Свойство PictureVal

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SendUpdates Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SendUpdates
Смотрите также
CollapseAll image

Определяет - будет ли посылаться запрос SQL обновления для обновления таблиц. При работе с этим свойством на обычных курсорах используйте функции CURSORSETPROP() и CURSORGETPROP(). Read/write.

Note Замечание

Установка свойства SendUpdates применяется только к тем объектам CursorAdapter, которые имеют в качестве источников данных ODBC или ADO и переписывает значение одноименного свойства курсора, прикрепленного к объекту CursorAdapter. То есть, изменение установки свойства курсора с помощью CURSORSETPROP() не окажет никакого влияния.

CursorAdapter.SendUpdates [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

True (.T.)

Посылает запрос SQL обновления для обновления таблиц, когда для производства обновления используется представление. (По умолчанию)

False (.F.)

Запрос SQL обновления не посылается.

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ServerClass Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ServerClass
Смотрите также
CollapseAll image

Содержит имя класса сервера в проекте. "Только для чтения" в design и run time.

Object.ServerClass

Expand image Примечание

Применяется к объекту: Server

Имена классов серверов в проекте отображаются, кроме того, на закладке Servers диалогового окна Project Information.

Серверы автоматизации создаются в Visual FoxPro с помощью классов, определенных в проекте, как OLEPUBLIC, и затем собираются из проекта в исполнимый файл (.exe) или библиотеку (.dll). Вы можете иметь в проекте столько классов OLEPUBLIC, сколько пожелаете и они могут быть определены как в программных файлах (.prg), так и в библиотеках классов (.vcx).

Для получения дополнительной информации о создании пользовательских серверов автоматизации смотрите описание Как: создавать серверы автоматизации (Automation Servers).

Expand image Смотрите также

Справочное руководство

Команда CREATE CLASS
Команда DEFINE CLASS
Свойство ServerClassLibrary

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


ServerClassLibrary Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ServerClassLibrary
Смотрите также
CollapseAll image

Содержит имя библиотеки класса или программы, содержащей класс сервера. "Только для чтения" как в design time, так и в run time.

Object.ServerClassLibrary

Expand image Примечания

Применяется к: Server Object

Имя библиотеки класса или программы, содержащей класс сервера отображается также на закладке Servers диалогового окна Project Information.

Серверы автоматизации, создаются в Visual FoxPro посредством введения классов, определенных в проекте как OLEPUBLIC, и затем из проекта собираются в исполнимый файл (.exe) или библиотеку (.dll). Вы можете иметь в проекте столько классов OLEPUBLIC, сколько пожелаете и они могут быть определены в программных файлах (.prg) или библиотеках классов (.vcx).

Для получения более подробной информации о создании настраиваемых серверов автоматизации смотрите описание Как: создать серверы автоматизации.

Expand image Смотрите также

Справочное руководство

Команда CREATE CLASS
Команда DEFINE CLASS
Свойство ServerClass

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ServerHelpFile Property

Visual FoxPro 9.0 Описание Языка
ServerHelpFile, свойство
См. также
CollapseAll image

Определяет имя файла Помощи для библиотеки Типов в процессе построения серверного Класса для текущего Проекта.

Вы можете использовать рассматриваемое свойство ServerHelpFile для задания конкретного файла Помощи, описывающего Библиотеку Типов, которая создается при компановке сервера .dll или .exe. Определение указанного описательного файла обеспечивает корректное использование Свойств и Методов, определенных в рассматриваемом Серверном Классе. Например, система Visual FoxPro обладает системным средством Object Browser, который отображает информацию о Библиотеках Типов.

Object.ServerHelpFile [= cHelpFileName]

Expand image Возвращаемое значение

cHelpFileName

Определяет полное имя файла помощи для текущей Библиотеки Типов. По-Умолчанию, cHelpFileName содержит пустую Строку ("").

Expand image Комментарии

Применяется в: Project, объект

Expand image См. также

Описание

HelpContextID, свойство (Visual FoxPro)
Server, объект
Servers, коллекция
ServerProject, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ServerName Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ServerName
Смотрите также
CollapseAll image

Содержит имя файла с добавлением полного пути для сервера автоматизации. Только для чтения в run time.

ApplicationObject.ServerName

Expand image Примечания

Применяется к: Application Object | _VFP System Variable

Свойство ServerName предоставляет вам возможность определить каталог, из которого был запущен сервер автоматизации in-process .dll или out-of-process .exe, с целью помощи в доступе к прочим файлам в распространяемых приложениях. Вы, кроме того, можете использовать свойство ServerName для определения каталога, из которого был запущено приложение Visual FoxPro в виде .EXE файла.

Свойство ServerName для версии разработчиков Visual FoxPro, запущенной в интерактивной сессии содержит то же самое значение, которое установлено для свойства FullName.

Expand image Смотрите также

Справочное руководство

Свойство FullName
Свойство StartMode

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ServerProject Property

Visual FoxPro 9.0 Описание Языка
ServerProject, свойство
См. также
CollapseAll image

Содержит Имя Проекта, содержащего классы сервера.

Object.ServerProject[ = cName]

Expand image Возвращаемое значение

cName

Определяет Имя проекта, содержащего классы сервера. По-умолчанию, содержит наименование Проекта, который содержит классы Сервера, или, что соответственно, содержит значение свойства Name рассматриваемого Проекта.

Expand image Комментарии

Применяется в: Project, объект

В рассматриваемом свойстве ServerProject определяется Имя, которое далее указывается в первой секции ProgID (Programmatic Identifier - Программный Идентификатор) как уникальный идентификатор создаваемого Сервера. Например, если вы выполните назначение ServerProject = "MyApplication", и при этом данный сервер будет характеризован как класс OLEPublic, с именем класса = "Server1," то в результате получаем общесистемную ссылку на рассматриваемый сервер: "MyApplication.Server1."

Данное свойство соответствует элементу имени Проекта, который определяется при настройке параметров в Закладке: Servers соответствующего Диалогового бокса: Project Information .

Expand image См. также

Описание

Name, свойство (Visual FoxPro)
Server, объект
Servers, коллекция
ServerHelpFile, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ShowInTaskbar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ShowInTaskbar
Смотрите также
CollapseAll image

Определяет - будет ли объект формы верхнего уровня (top-level form) появляться в runtime в полоске задач Windows. В runtime эта установка имет признак "только для чтения".

Form.ShowInTaskbar = lExpr

Parameters

lExpr

Установка в значение по умолчанию равное (.T.), приведет в появлению формы в полоске задач. В противном случае, при установке значения в (.F.), форма в полоске задач отображения не будет enabled. False (.F.) disables this property

Expand image Примечания

Установка свойства свойства ShowInTaskbar игнорируется, если значение свойства ShowWindow Property не равно 2

Expand image Смотрите также

Справочное руководство

Свойство ShowWindow
Объект Form

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


ShowTips Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ShowTips
Смотрите также
CollapseAll image

Определяет, будут ли показаны ToolTips для элементов управления на указанном объекте формы или на объекте панели инструментов. Доступно как design, так и в run time.

Object.ShowTips = lExpr

Expand image Возвращемое значение

lExpr

Определяет будут ли ToolTips показаны для указанного элемента управления. Установками для ShowTips являются:

Установки Описание

True (.T.)

(По умолчанию для объектов панелей инструментов) ToolTips отображаются, когда пользователь позиционируеть указатель мыши над элементом управления.

False (.F.)

(По умолчанию для объектов на форме) ToolTips не отображаются при позиционировании указателя мыши над объектом.

Expand image Примечания

Применяется к: Form | _SCREEN | ToolBar

С помощью свойства ToolTipText Вы можете указать текст, который появляется в каждом ToolTip .

Свойство ShowTips объекта _SCREEN должно быть установлено в True (.T.) для разрешения Memo Tips в окнах Browse и в элементах управления Grid.

Expand image Смотрите также

Справочное руководство

Свойство ToolTipText

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


ShowWindow Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ShowWindow
Смотрите также
CollapseAll image

Определяет - является ли форма или панель инструментов формой верхнего уровная (top-level) или дочерней формой. Доступно в design time; "только для чтения" в run time.

Form.ShowWindow[ = nExpr]

Expand image Возвращаемое значение

nExpr

Установками для ShowWindow являются:

Установка Описание

0

In Screen (По умолчанию). Форма является дочерней формой, помещенной в главное окно Visual FoxPro.

1

In Top-Level Form. Форма является дочерней формой активно формы верхнего уровня, в качестве которой может выступать главное окно Visual FoxPro или другая форма верхнего уровня. Используйте эту установку, если вы желаете поместить форму внутрь формы верхнего уровня.

Если nExpr установлена в 1, когда в качестве формы верхнего уровня выступает главное окно Visual FoxPro, Visual FoxPro автоматически сбрасывает значение nExpr в 0.

2

As Top-Level Form. Форма представляет собой форму верхнего уровня, в которую может быть помещена дочерняя форма. Отметьте, что форма верхнего уровня всегда немодальная, независимо от установки свойства WindowType.

Expand image Примечания

Применяется к: Form | ToolBar

Дочерняя форма представляет собой форму, содержащуюся внутри другой формы. Дочерние формы не могут быть перемещены наружу за границы их родительской формы; при их минимазации, они появляются внизу их родительской формы. Если родительская форма минимизмруется, то и дочерние формы также минимизируются.

Форма верхнего уровня (top-level form) представляет собой независимую, немодальную форму, не имеющую родительской формы и она используется для создания однодокументного - SDI (single document interface) приложения, или подается, как родительская, для обслуживания других дочерних форм. Формы вернхнего уровня работают на том же самом уровне, что и прочие приложения Windows, и могут появляться как перед ними, так и позади их. Формы верхнего уровня появляются в панели задач Windows.

Свойство Desktop определяет поведение дочерней формы. Если свойство Desktop установлено в True (.T.) дочерняя форма не скована бордюром ее родительской формы и может быть перемещена куда-либо на рабочем столе Windows. Дочерняя форма не появляется в панели задач Windows.

Expand image Смотрите также

Справочное руководство

Командна ACTIVATE WINDOW
Свойство AlwaysOnBottom
Свойство AlwaysOnTop
Свойство Desktop

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sizable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Sizable
Смотрите также
CollapseAll image

Определяет - можно ли изменять размеры объекта. Доступно как в design, так в run time.

Object.Sizable = lExpr

Expand image Возвращемое значение

lExpr

Для свойства Sizable применимы приведенные ниже установки:

Установка Описание

True (.T.)

(По умолчанию) Вы можете изменять размеры объекта.

False (.F.)

Вы не можете изменять размеры объекта.

Expand image Примечания

Применяется к: OLE Bound Control | OLE Container Control | ToolBar

Для связанных и несвязанных OLE элементов, значение свойства Sizable воздействует на OLE объект, который содержит элемент управления. Если значение свойства Sizable установлено в True (.T.) и вы активируете OLE объект, то вы можете сделать его размер большим или меньшим, чем размеры содержащего его OLE элемента управления. Если значение свойства AutoSize установлено в true (.T.), OLE элемент управления автоматически изменит размер, чтобы подогнать его под новый размер OLE объекта, когда вы его деактивируете.

Замечание Замечание

Для того, чтобы можно было изменять размеры формы, установите ее свойство BorderStyle в значение, равное 3.

Expand image Смотрите также

Справочное руководство

Свойство AutoSize
Свойство BorderStyle

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


SizeBox Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SizeBox
Смотрите также
CollapseAll image

Включен для обратной совместимости с Macintosh. Определяет - будет ли форма иметь бокс изменения размера. Доступно в design time; редактируемое в run time.

CopyCode image Скопировать код
Object.SizeBox = lExpr

Expand image Property Values

lExpr

Установками для свойства SizeBox являются:

Установка Описание

True (.T.)

Бокс изменения размера появляется в правом нижнем углу формы, если свойство формы BorderStyle установлено в 3 (по умолчанию).

False (.F.)

(По умолчанию) Бокс изменения размера не появляется на форме.

Expand image Примечания

Применяется к: Form

SizeBox предоставляет пользователю возможность изменять размер формы с помощью мыши. Бокс может появиться только в том случае, когда свойство формы BorderStyle установлено в значение 3 (Sizable Border), которое является значением по умолчанию для новых форм.

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Свойство ZoomBox

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SOM Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SOM
Смотрите также
CollapseAll image

Содержит объектную ссылку на документ XML Schema Object Model (SOM) (ISchema) после успешного исполнения методов LoadXML или Attach объекта XMLAdapter.

XMLAdapter.SOM

Expand image Возвращаемое значение

Объектная ссылка. SOM содержит либо объектную ссылку на документ SOM или значение пусто (.NULL.), в случае, если свойство не заполнено.

Expand image Примечания

Применяется к: XMLAdapter Class

SOM предоставляет управляемый набор классов, которые напрямую отражают спецификацию языка W3C XML Schema Definition (XSD). Эти классы предоставляют вам возможность проходить по элементам документа схемы XML Schema и получать информацию о свойствах и декларациях, а также отношениях между ними.

Для получения более подробной информации о XML SOM ISchema, смотрите описание SOM в руководстве Microsoft XML Core Services 4.0 на сайте MSDN Library по адресу http://msdn.microsoft.com/library/.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Метод LoadXML
Метод Attach (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Sorted Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Sorted
Смотрите также
CollapseAll image

Определяет, должны ли элементы списка элементов управления ComboBox или ListBox автоматически сортироваться в алфавитном порядке. Доступно на этапе разработки и во время выполнения.

 [Form.]Control.Sorted[= lExpr]

Expand image Возвращаемое значение

lExpr

Для свойства Sorted предусмотрены следующие установки:

Установка Описание

"Истина" (.T.)

Элементы списка сортируются в алфавитном порядке (с учетом регистра символов). Visual FoxPro выполняет практически всю необходимую обработку строк для поддержания алфавитного порядка, включая надлежащее изменение номеров индексов элементов при добавлении элементов в список или при их удалении из списка.

"Ложь" (.F.)

(По умолчанию) Элементы списка не сортируются в алфавитном порядке.

Expand image Remarks

Применяется к: ComboBox | ListBox

Свойство Sorted доступно, если значение свойства RowSourceType установлено равным 0 (None) или 1 (Value)..

Обратите внимание, что, после того, как элементы отсортированы в алфавитном порядке, установка свойства Sorted в "Ложь" (.F.) не восстановит исходный порядок элементов. Для его восстановления переустановите свойство RowSource само на себя, как показано в следующем примере:

CopyCode image Скопировать код
MyForm.MyCombo1.Rowsource = MyForm.MyCombo1.Rowsource

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод RemoveItem
Свойство List
Свойство ListCount
Свойство ListItemID
Свойство RowSource
Свойство RowSourceType

Прочие ресурсы

Properties (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Sparse Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Sparse
Смотрите также
CollapseAll image

Определяет - будет ли свойство CurrentControl применяться ко всем ячейкам или только к активной ячейке в объекте Column. Доступно в design time; read/write в run time.

Column.Sparse [= lExpr]

Expand image Возвращаемое значение

lExpr

В приведенной ниже таблице перечислены значения для параметра lExpr свойства Sparse:

Установка Описание

True (.T.)

(По умолчанию) Только активная ячейка объекта Column будет использоваться для отображения и редактирования данных. Все прочие используют установленный по умолчанию TextBox, если ячейка не содержит контейнерый объект или командную кнопку. В последнем случае, все прочие ячейки остаются пустыми до получения фокуса.

False (.F.)

Все ячейки используют, указанный в свойстве CurrentControl объекта Column, управлющий элемент; активная ячейка акцептирует данные.

Expand image Примечания

Применяется к: Column

Expand image Смотрите также

Справочное руководство

Свойство Bound
Свойство CurrentControl
Свойство DynamicCurrentControl

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


SpecialEffect Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SpecialEffect
Смотрите также
CollapseAll image

Задает специфические опции формата для элемента управления. Доступно на этапе разработки и во время выполнения.

 [Form.]Control.SpecialEffect = nExpr

Expand image Возвращаемое значение

nExpr

Для элемента управления PageFrame, объектов Container и Control свойство SpecialEffect может принимать следующие значения:

Установка Описание

0

Выпуклый. Элемент управления выступает над поверхностью формы.

1

Утопленный. Элемент управления утоплен в поверхность формы.

2

Плоский.
Note Примечание

Свойство SpecialEffect элемента управления PageFrame доступно только в случае установки свойства Tabs в "Ложь" (.F.). Кроме того, свойство BorderColor применимо к элементу управления PageFrame, только если значение nExpr= 2 (плоский).

Для всех остальных элементов управления предусмотрены следующие установки SpecialEffect:

Установка Описание

0

(По умолчанию для всех элементов управления и объектов, кроме объекта Container.) 3D-трехмерный. Задает подсветку и затенение соответствующих границ элемента управления с целью придания ему объемного вида.

1

Плоский. У элемента управления отсутствует трехмерная граница.

2

Hot tracking. Обеспечивает эффект Mouseover для элемента управления. (Элемент управления меняет вид отображения, согласно таблице ниже, при наведении на него указателя мыши)
Note Примечание

Если значение свойства Height слишком мало, установка 3D не действует. Hot tracking поддерживается для следующих элементов управления: ListBox, ComboBox, Spinner, TextBox, EditBox, CommandButton, CheckBox, OptionButton. Hot tracking для элементов управления CheckBox и OptionButton поддерживается, только если свойство Style = 2 (графический). Hot tracking для CommandButtons поддерживается, только если свойство Style <> 1 (невидимый). В следующей таблице описана поддержка Hot tracking.

Элемент управления По умолчанию Эффект Mouseover

Listbox

Плоский

3D (Трехмерный)

ComboBox

Плоский

3D (Трехмерный)

Spinner

Плоский

3D (Трехмерный)

TextBox

Плоский

3D (Трехмерный)

EditBox

Плоский

3D (Трехмерный)

CommandButton

Плоский в нормальной позиции

3D (Трехмерный)

CheckBox

Плоский

Отсутствует

OptionButton

Плоский в нормальной позиции

3D (Трехмерный)

Expand image Замечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | ListBox | OptionButton | OptionGroup | PageFrame | Shape | Spinner | TextBox

Expand image Смотрите также

Справочное руководство по языку

Свойства BackColor, ForeColor
Свойства SelectedBackColor, SelectedForeColor

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


SpinnerHighValue, SpinnerLowValue Properties

Visual FoxPro 9.0 Справочное руководство по языку
Свойства SpinnerHighValue, SpinnerLowValue
Смотрите также
CollapseAll image

Задают максимальное и минимальное значения, которое можно ввести в элементе управления Spinner, нажимая кнопки со стрелками. Доступно на этапе разработки и выполнения.

Spinner.SpinnerHighValue[ = nHigh]
Spinner.SpinnerLowValue[ = nLow]

Expand image Возвращаемое значение

nHigh

Задает максимальное значение, которое можно ввести в элементе управления Spinner, нажав кнопку со стрелкой вверх.

nLow

Задает минимальное значение, которое можно ввести в элементе управления Spinner, нажав кнопку со стрелкой вниз.

Expand image Примечания

Применимо к: Spinner

Expand image Смотрите также

Справочное руководство

Свойства KeyboardHighValue, KeyboardLowValue

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SplitBar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство SplitBar
Смотрите также
CollapseAll image

Определяет, будет ли отображаться разделитель в элементе управления Grid. Доступно на этапе разработки. Во время выполнения доступно только для чтения.

Grid.SplitBar[ = lExpr]

Expand image Возвращаемое значение

lExpr

Может принимать одно из следующих значений:

lExpr Описание

Истина (.T.)

(По умолчанию) Разделитель отображается в элементе управления Grid, позволяя Вам разбить его на две отдельных области. Чтобы синхронизировать обе области Grid добавьте "This.Refresh" в код обработки события AfterRowColChange элемента управления Grid.

Ложь (.F.)

Разделитель не отображается в элементе управления Grid, препятствуя Вам разбить его на две отдельных области.

Expand image Замечания

Применяется к: Элемент управления Grid

Обратите внимание, что свойство SplitBar имеет приоритет над свойством Partition.

Expand image Смотрите также

Справочное руководство

Свойство GridLines
Свойство Partition

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


StackLevel Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство StackLevel
Смотрите также
CollapseAll image

Определяет уровень стэка для программы, в которой случилось исключение (событие, возникшее в процессе выполнения программы вследствие неудачи (failure) в выполнении какой-либо операции, и сделавшее невозможным дальнейшее выполнение программы). Редактируемое в run time.

Exception.StackLevel

Expand image Возвращаемое значение

Численный тип данных

Expand image Примечания

Применяется к: Exception Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Exception
Команда TRY...CATCH...FINALLY

Концепции

Структурирвоанная обработка ошибок

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


StartMode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство StartMode
Смотрите также
CollapseAll image

Содержит численное значение, указывающее в каком режиме был запущен экзепляр Visual FoxPro. "Только для чтения" в run time.

ApplicationObject.StartMode

Expand image Примечания

Применяется к: Объект Application | Системная переменная _VFP

В приведенной ниже таблице перечислены численные значения, которые может содержать свойство и какому режиму запуска Visual FoxPro оно соответствует.

Значение Описание

0

Visual FoxPro был звпущен в интерактивной сессии версии разработчика.

1

Visual FoxPro был запущен, как объект приложения. Например, приведенная ниже команда создает экземпляр Visual FoxPro в виде объекта приложения:

CopyCode image Скопировать код
oMyObject = CREATEOBJECT('VisualFoxPro.Application')

2

Visual FoxPro был запушен, как сервер автоматизации в виде исполнимого файла out-of-process .exe.

3

Visual FoxPro был запушен, как сервер автоматизации в виде динамической библиотеки in-process .dll.

4

Visual FoxPro был запущен в виде распространяемого файла приложения .app или .exe.

5

Visual FoxPro был запущен как in-process .dll сервер автоматизации для многопоточного использрования.

Для получения дополнительной информации об использовании Visual FoxPro для создания настраиваемых серверов автоматизации, смотрите описание Совместное использование информации и введение OLE.

Expand image Смотрите также

Справочное руководство

Функция CREATEOBJECT()
Свойство ServerName
SYS(2335) - Unattended Server Mode

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


StatusBar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство StatusBar
Смотрите также
CollapseAll image

Определяет текст, отображаемый в статусной полоске экземпляра Visual FoxPro. Редактируемое.

ApplicationObject.StatusBar[ = cMessageText]

Expand image Возвращаемое значение

cMessageText

Определяет текст, отображаемый в статусной полоске.

Expand image Примечания

Применяется к: Application Object | _VFP System Variable

Expand image Смотрите также

Справочное руководство

Команда SET MESSAGE

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


StatusBarText Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство StatusBarText
See Also
CollapseAll image

Задает текст, который отображается в строке состояния, когда элемент управления получает фокус или когда указатель мыши находится над объектом управления. Доступно для чтения и записи на этапе разработки и на этапе выполнения.

 [Form.]Control.StatusBarText [= cExpr]

Expand image Возвращаемое значение

cExpr

Character. Свойство StatusBarText Задает текст, который описывает элемент управления.

Expand image Замечания

Применяется к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container | Control | EditBox | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OptionButton | OptionGroup | PageFrame | Shape | Spinner | TextBox

Текст появляется в строке состояния только, когда либо графическая строка состояния, либо строка состояния символьного режима являются видимыми.

Для элементов управления, получающих фокус, текст появляется в строке состояния всякий раз и только тогда, когда такой элемент управления получает фокус, вне зависимости от установки свойства ShowTips формы. Для элементов управления, которые не могут получать фокус, текст появляется в строке состояния только когда указатель мыши находится над таким элементом управления и свойство ShowTips формы установлено в Истину (.T.). Следующие элементы управления никогда не получают фокус:

  • CommandGroup

  • OptionGroup

  • Container

  • Line

  • Label

  • Image

  • Shape

Если графическая строка состояния невидима из-за SET STATUS BAR установленного в OFF, а строка состояния символьного режима видима вследствие установки SET STATUS в ON, текст отображается в центре строки состояния символьного режима внизу экрана.

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Stretch Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Stretch
Смотрите также Пример
CollapseAll image

Определяет как изменяются размеры картинки с тем, чтобы поместиться внутри элемента управления. Доступно как в design time, так и в run time.

Note Замечание

Вы должны установить свойство объекта Picture до установки свойства Stretch; в противном случае установка Stretch сбрасывается. Для получения более подробной информации смотрите описание свойства Picture.

[Form.]Control.Stretch[= nType]

Expand image Возвращаемое значение

nType

Указывает целое число, определяющее как изменяются размеры картинки с тем, чтобы поместиться внутри элемента управления.

В приведенной ниже таблице перечислены значения для nType.

nType Description

0

Clip. Картинка обрезается для размещения в элементе управления. (По умолчанию)

1

Isometric. Картинка изменяется в размерах, чтобы вместиться в элемент управления с поддержкой ее оригинальных пропорций.

2

Stretch. Картинка изменяется в размерах, чтобы вместиться в элемент управления, но ее оригинальные пропорции не соблюдаются.

Expand image Примечания

Применяется к: Image | OLE Bound Control | OLE Container Control

Expand image Пример

CopyCode image Скопировать код
CREATE FORM myForm NOWAIT
oform=_vfp.ActiveForm
oform.ADDOBJECT("image1","image")
this1=oform.image1
this1.picture= HOME()+"\graphics\bitmaps\assorted\beanie.bmp"
this1.stretch=0
this1.height = 50
this1.width = 50

Expand image Смотрите также

Справочное руководство

Свойство AutoSize
Свойство Sizable

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


StrictDateEntry Property

Visual FoxPro 9.0 Описание Языка
StrictDateEntry, Свойство
См. также
CollapseAll image

Определяет, как может вводиться значение типа Date или DateTime, в свободном виде, или в строгом Формате для Контрола TextBox. Является доступным для изменения в режимах Design-Time и Run-Time.

Object.StrictDateEntry[ = nValue]

Expand image Возвращаемое значение

nValue

Может принимать одно из следующих Значений:

Значение Краткое Описание

0

Свободный Формат. Данные для значений типа Date или DateTime могут вводиться в свободном формате, без особых ограничений. Порядок следования составляющих Шаблона (дней, месяцев, лет) определяется значением свойства DateFormat или установкой команды SET DATE.

Пробел, обратная косая черта, точки, дефисы, или текущий разделитель позиций в Дате (который определяется значением свойства DateMark или командой SET MARK ) могут быть использованы в качестве разделителей позиции в Дате. Если для Даты не вводится Год, то предполагается текущий Год.

Символ (^) может использоваться как первый символ при вводе даты, он определяет последовательность ввода данных: год-месяц-день-час-минута-секунда, что Переопределяет текущую установку в свойстве DateFormat или в Команде SET DATE.

Запятая или Пробел могут быть использованы как разделители в части указания Времени (часы-минуты-секунды). Если вводится только Час для значения Времени в поле типа DateTime, тогда двоеточие, как разделитель, может быть опущено (не указываться); Если Год включается при вводе данных, то Запятая может использоваться как разднелитель между Датой и Временем.

Если вводится Неверная Дата-Время, то Сообщение об Ошибке не генерируется, а в контроле TextBox определяется Пустое значение типа Date / DateTime. Для проверки допустимого значения рекомендуется использовать соответствующее Событие Valid.

1

(По-умолчанию) Строгий формат. Обеспечивает совместимость с младшими версиями системы Visual FoxPro.

Данные для значений типа Date и DateTime должны вводиться в строгом формате 99/99/99, когда установлена опция SET CENTURY = OFF, или в строгом формате 99/99/9999, когда установлено SET CENTURY = ON. Шаблон 99 применяется для дней, месяцев и лет, а формат 9999 применяется для Лет с указанием Века. Порядок следования составляющих Шаблона (дней, месяцев, лет) определяется значением свойства DateFormat или установкой команды SET DATE.

Expand image Комментарии

Применяется В: TextBox

В следующей Таблице приводятся примеры правильные значения типа Date или DateTime, которые вы можете вводить в Контрол TextBox при учтановке значения свойства StrictDateEntry = 0 (свободный формат).

Значение Date или DateTime | Краткое Описание
12 31 | 31-ое Декабря текщего года.
12 31 98 14 | 31-ое Декабря 1998 года, 2-а часа после полудня (pm)
12 31, 14 | 31-ое Декабря текщего года, 2-а часа после полудня (pm)
12 - 31 - 98, 2p | 31-ое Декабря 1998 года, 2-а часа после полудня (pm). Используйте дополнительный пробел с разделителем.
^98-12-31, 2p | 31-ое Декабря 1998 года, 14 часов. Символ (^) определяет формат "год-месяц-день", который переопределяет текущий Формат Даты, заданный в свойстве DateFormat или в команде SET DATE.
^/12/31 | 31-ое Декабря текщего года. Символ (^) определяет формат "год-месяц-день", который переопределяет текущий Формат Даты, заданный в свойстве DateFormat или в команде SET DATE.

Expand image См. также

Описание

Century, Свойство
DateFormat, Свойство
DateMark, Свойство
Hours, Свойство
Seconds, Свойство
SET CENTURY, Команда
SET DATE, Команда
SET MARK TO, Команда
SET STRICTDATE, Команда

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Style Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Style
Смотрите также
CollapseAll image

Определяет стиль для управляющего элемента. Доступен, как в design, так и в run time.

[Form.]Control.Style [= nType]

Expand image Возвращаемое значение

nType

Указывает численное значение, которое определяет стиль управляющего элемента.

В приведенной ниже таблице перечислены возможные значения nType для управляющих элементов CheckBox и OptionButton.

nType Описание

0

Стандартный (По умолчанию)

1

Графический.

Кнопка выглядит как командная кнопкаa и можеи содержать, как графику, так и текст. Когда кнопка содержит оба, и еткст и графику, позиции текста и графики определяются свойством PicturePosition. Для получения более подробной информации смотрите описание свойства PicturePosition.

В приведенной ниже таблице перечислены возможные значения nType для управляющего элемента ComboBox.

nType Описание

0

Drop-down combo box, который включает в себя list box и edit box. (По умолчанию)

Пользователь может выбрать значение из list box или впечатать символы в edit box.

2

Drop-down list box.

Пользователь может выбрать элементы из списка в list box.

Для определения, какой стиль выбракть для combo box'ов, придерживайтесь приведенных ниже указаний:

  • Для предоставления списка для выбора и предоставления пользователю впечатать выбор в edit box, установите Style в 0 (drop-down combo box). Это установка сохраняет место на форме, так как list box закрывается, когда пользователь сделает выбор.

  • Для отображения фиксированного списка элементов, из которого пользователь может выбрать требуемый, установите Style в 2 (drop-down list box). List box закроется, когда пользователь сделает выбор.

Примечание переводчика. Если сравнить оба указания, то вы увидите явную неточность. "Это установка сохраняет место на форме, так как list box закрывается". Часть combobox'а, являющаяся по сути listbox'ом закроется в любом случае, если пользователь сделал выбор! Суть выбора между стилями заключается в другом. В случае, если значение свойства Style установлено в 0, пользователь имеет возможность впечатать значение в edit-box, но для осуществления частичного поиска нужно предпринять некоторые усилия и обеспечить такую функциональность в коде В случае же использования значения свойства Style, равного 2, у пользователя нет возможности что-либо вводить в управляющий елемент, зато частичный поиск работает автоматически.

В приведенной ниже таблице перечислены возможные значения nType для управляющего элемента CommandButton.

nType Описание

0

Стандартный (По умолчанию)

1

Невидимый

В приведенной ниже таблице перечислены возможные значения nType для управляющего элемента TextBox.

nType Описание

0

Нормальный (По умолчанию)

1

Включен для совместимости с командами ранних версий FoxPro version 2.x @ ... SAY. Ttextbox в этом случае получает статус "только для чтения" и не может получать фокус.

В приведенной ниже таблице перечислены возможные значения nType для управляющего элемента Separator.

nType Описание

0

Нормальный (По умолчанию).

В панелях инструментов в качестве разделителей не появляются вертикальные или горизонтальные линии.

1

Определяет, что либо вертикальная или горизонтальная линия появятся в объекте separator в панелях инструментов и будут видимыми только в run time.

Когда панель инструментов отобраджается горизонтально, появляется вертикальная линия, а когда панель инструментов отображается вертикально, то, соответственно, появляется горизонтальная линия.
Note Замечание

В версиях до Visual FoxPro 9.0, расстыкованные вертикальные системы и пользовательские панели инструментов не отображали горизонтальных разделителей. Однако с выходом этой версии горизонтальные разделители теперь отображаются с для вертикальных расстыкованных панелей инструментов.

В приведенной ниже таблице перечислены возможные значения nType для управляющих элементов Label и Shape, а также для объектов Container и Control.

nType Описание

0

Нормальный (По умолчанию)

3

Тематический - Themed

Для Label, Style управляет цветом текста. Вы можете использовать эту установку для заголовков сгруппрованных блоков, которые окружают другие управляющие элементы. Если label с этой установка стиля размещается в Container, вам может, кроме того, установить значение свойства стиля контейнера, равное 3. Если Themes разрешены для label, Visual FoxPro сбрасывает свойства Enabled и FontCharSet. Для получения более подробной информации смотрите описания свойств Enabled и FontCharSet.

Для Shape, Container или Control, Style управляет цветом и стилем бордюра. Вы можете использовать эту установку для бордюров сгруппированных элементов, которые окружают прочие управляющие элементы. Если Themes разрешена для Shape, Visual FoxPro сбрасывает свойство Curvature. For more information, see Curvature Property.

If an operating system does not support Windows XP Themes, or if Themes is turned off, Visual FoxPro uses the settings for other properties such as SpecialEffect. Для получения более подробной информации смотрите описания свойства SpecialEffect.

4

Themed background only

Для Label, Style управляет цветом задника (фона). Цвет фона будет тем же самым, что и цвет родительского контейнера. Вы можете использовать эту установку главным образом для label на страницах с включенным свойстовм Themed.

Это значение не поддерживается для Shape, Container и Control.

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | OptionButton Control | Separator Object | TextBox Control | Label Control | Shape Control | Container Object | Control Object

Expand image Смотрите также

Справочное руководство

Свойство Themes
SYS(2700) - Разрешение тем Windows XP

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TabIndex Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TabIndex
Смотрите также
CollapseAll image

Задает порядок табуляции для элементов управления объекта Page и для объектов Form внутри FormSet. Доступно на этапе разработки и выполнения.

 [Object.]Control.TabIndex[ = nOrder]

Expand image Возвращаемое значение

nOrder

Задает порядок табуляции для данного элемента управления.

Expand image Примечания

Применимо к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Label | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | PageFrame | _SCREEN | Spinner | TextBox

В случае элементов управления объекта Form порядок табуляции определяется порядком добавления элементов управления в форму. Каждый новый элемент управления становится последним в последовательности табуляции.

В случае объектов Form в составе FormSet порядок табуляции определяется порядком добавления объектов Form. Объект Form, для которого значения nOrder равно 1, - это первый объект Form, являющийся активным в объекте FormSet. Когда пользователь с помощью табуляции выходит из последнего элемента управления объекта Form, фокус получает первый элемент управления следующего (по порядку табуляции) объекта Form. Если объект Form не включен в FormSet, свойство TabIndex игнорируется.

Изменения можно вносить на этапе разработки с помощью окна Properties или на этапе выполнения с помощью кода. Однако если вы изменили установку TabIndex у одного элемента управления или объекта Form, не забудьте изменить установку TabIndex для всех элементов управления в составе Page или всех объектов Form в составе FormSet. Если вы установите порядок табуляции не для всех элементов управления или объектов Form, Visual FoxPro назначит порядок табуляции остальным элементам управления и объектам Form в соответствии с порядком их добавления и изменения на этапе выполнения, что может привести к непредусмотренным результатам.

Чтобы игнорировать порядок табуляции какого-либо элемента управления или объекта Form, установите для свойства TabStop значение "ложь" (.F.).

Expand image Смотрите также

Справочное руководство

Свойство TabStop

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Tables Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Tables
Смотрите также
CollapseAll image

Определяет разделенный запятыми список имен таблиц, который должен иметь имена таблиц в точном порядке, в каком они появятся в командах SQL UPDATE, INSERT и DELETE. При работе с этим свойством на обычных курсорах используйте функции CURSORSETPROP() и CURSORGETPROP(). Read/write.

Note Замечание

Вы должны включить этот список имен таблиц при использовании автоматического обновления, чтобы оно могло работать.

Note Замечание

Установка Tables для объектов CursorAdapter переписывает одноименное свойство курсора, прикрепленного к объекту CursorAdapter. То есть, изменение этого свойства у курсора с помощью функции CURSORSETPROP() не окажет влияния.

CursorAdapter.Tables [= cList]

Expand image Возвращаемое значение

cList

Символьный тип данных. Параметр cList parameter определяет разделенный запятыми список имен таблиц, который должен иметь имена таблиц в точном порядке, в каком они появятся в командах SQL UPDATE, INSERT и DELETE. Не существует установок по умолчанию.

Expand image Примечания

Применяется к: CursorAdapter Class

Tables не должны ссылаться на курсор, который прикреплен к объекту CursorAdapter с помощью метода CursorAttach.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TabOrientation Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TabOrientation
Смотрите также
CollapseAll image

Определяет место, где будут отображены закладки элемента управления PageFrame control. Доступно как в design, так и в run time.

PageFrame.TabOrientation [ = nValue ]

Параметры

nValue

Численный тип данных. В приведенной ниже таблице перечислены возможные значения для nValue.

nValue Установка

0

Сверху (по умолчанию)

1

Снизу

2

Слева

3

Справа

Expand image Примечания

Применяется к: PageFrame Control

Вы можете, как обычно, указать "горячую" клавишу в заголовке страницы - Page включив в текст заголовка символы "\<". Хотя функциональные возможности Visual FoxPro поддерживают "горячие" клавиши, но когда с помощью свойства TabOrientation закладки устанавливаются с левой или с правой стороны, то определенные для страниц "горячие" клавиши визуально не отображаются.

Для объектов Page установка свойства не оказывает влияния до тех пор, пока шрифт для заголовка страницы представляет собой шрифт типа TrueType или OpenType. Для получения более подробной информации смотрите описание свойств Caption и FontName.

Expand image Смотрите также

Справочное руководство

Свойство Themes

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Tabs Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Tabs
Смотрите также
CollapseAll image

Определяет - будет ли страничный фрейм (page frame) имет закладки (tabs). Доступно как в design time, так и в run time.

PageFrame.Tabs[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для свойства Tabs являются:

Установка Описание

True (.T.)

(По умолчанию) Страничный фрейм имеет закладки.

False (.F.)

У страничного фрейма нет закладок.

Expand image Примечания

Применяется к: PageFrame

Укажите текст закладок, используя свойство Caption страницы. Ширина закладки увеличивается, если ширина Caption больше, чем значение ширины закладки, определенной по умолчанию. Более короткие тексты заголовков страниц в этом случае не имеют влияния на ширину.

Expand image Смотрите также

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство AllowTabs
Свойство TabStop

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TabStop Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TabStop
Смотрите также
CollapseAll image

Определяет, можно ли с помощью клавиши TAB перемещать фокус в объект. Доступно на этапе разработки и на этапе выполнения.

 [Object.]Control.TabStop[ = lExpr]

Expand image Возвращаемое значение

lExpr

Определяет, включен ли объект в последовательность табуляции. Для свойства TabStop предусмотрены следующие установки:

Установка Описание

True (.T.)

(По умолчанию) Элемент управления или объект Form включен в последовательность табуляции в соответствии со свойством TabIndex.

False (.F.)

Объект игнорируется при табуляции. В случае элемента управления, свойство TabStop которого имеет значение "ложь" (.F.), при нажатии клавиши TAB фокус минует этот элемент управления. В случае объекта Form, если пользователь нажимает клавишу TAB, выходя из последнего элемента управления объекта Form, а у следующего (по порядку табуляции) объекта Form свойство TabStop имеет значение "ложь" (.F.), фокус получает первый элемент управления той же формы. Фокус не переходит в следующую по порядку табуляции форму.

Expand image Замечания

Применяется к: CheckBox | ComboBox | CommandButton | Container Object | Control Object | EditBox | Form | Grid | ListBox | OLE Bound Control | OLE Container Control | OptionButton | Page | PageFrame | _SCREEN | Spinner | TextBox

Если свойство TabStop имеет значение "ложь" (.F.) для элемента управления или объекта Form, то он будет пропускаться при нажатии клавиши TAB, но он, тем не менее, может получить фокус с помощью мыши.

Note Примечание

Если Вы хотите исключить из последовательности табуляции объект управления, содержащийся в объекте управления Column установите свойство Enabled объекта управления Column в "ложь" (.F.).

Expand image Смотрите также

Справочное руководство

Свойство TabIndex

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Свойство TabStretch

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TabStretch
Смотрите также
CollapseAll image

Определяет поведение в том случае, когда вкладки (Page) не умещаются в элементе управления. Доступно на этапе разработки и выполнения. TabStretch доступен только если свойство Tabs установлено в true (.T.).

PageFrame.TabStretch[ = nSetting]

Expand image Возвращаемое значение

nSetting

Для свойства TabStretch предусмотрены следующие установки

Установки Описание

0

Stack (друг на друга). Создается второй ряд вкладок.

1

(Default) Clip (обрезать). Вкладки обрезаются по мере необходимости.

Expand image Примечания

Применимо к: PageFrame

Expand image Смотрите также

Reference

Свойство Tabs
Свойство TabStyle

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


TabStyle Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TabStyle
Смотрите также
CollapseAll image

Определяет - будут ли выровнены закладки объектов Page в страничном фрейме (page frame) или нет. Доступно как в design time, так и в run time.

PageFrame.TabStyle[ = nStyle]

Expand image Возвращаемое значение

nStyle

nStyle может принимать одно из приведенных ниже значений:

nStyle Описание

0

(По умолчанию) Выровнены. Ширина каждой закладки страницы устанавливается такой, чтобы вместить ее заголовок. При необходимости, ширина каждой закладки страницы увеличивается с тем, что ширина всех закладок в сумме равнялась ширине страничного фрейма.

Эта установка игнорируется, если свойство TabStretch установлено в 1, Single Row. (закладки выводятся в одну строку)

1

Невыровнены. Ширина каждой закладки страницы не устанавливается такой, чтобы вместить ее заголовок. Ширина каждой закладки страницы не увеличивается с тем, что ширина всех закладок в сумме равнялась ширине страничного фрейма.

Эта установка игнорируется, если свойство TabStretch установлено в 1, Single Row. (закладки выводятся в одну строку)

Expand image Примечания

Применяется к: PageFrame

Expand image Смотрите также

Справочное руководство

Свойство TabStretch
Свойство AllowTabs

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Tag Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
войство Tag (Visual FoxPro)
Смотрите также
CollapseAll image

Хранит всю вспомогательную информацию, необходимую для программы. Доступно на этапе разработки и выполнения.

Object.Tag[ = Expr]

Expand image Возвращаемое значение

Expr

Задает любую строку.

Expand image Примечания

Применимо к: CheckBox | Collection Class | ComboBox | CommandButton | CommandGroup | CursorAdapter Class | EditBox | Exception Class | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | ProjectHook Object | ReportListener Object | _SCREEN | Session Object | Shape | Spinner | TextBox | Timer

По умолчанию значением свойства Tag является пустая строка (""). С помощью данного свойства можно назначить объекту любую символьную строку, никак не влияя на его функционирование. В отличие от других свойств, Visual FoxPro не использует значение свойства Tag.

Expand image Смотрите также

Справочное руководство

Свойство Comment

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Text Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Text (Visual FoxPro)
Смотрите также
CollapseAll image

Содержит неформатированный текст, введенный в области ввода текста элемента управления. Не доступно в design time; "только для чтения" в run time.

Object.Text

Expand image Замечания

Применяется к: ComboBox | EditBox | Spinner | TextBox

В отличие от свойства Value, значение, содержащееся в свойстве Text неформатировано и идентично тексту, введенному пользователем в элементе управления.

Неформатированный текст, соедержащийся в свойстве Text элемента управления может отличаться от значения, содержащегося в свойстве Value этого же элемента управления вследствие перечисленных ниже причин:

  • Свойство Value может иметь тип, отличающийся от типа данных Character; оно может содержать значение типа Date или Numeric.

  • Для элемента управления класса "editbox" в свойство Value могут быть добавлены символы перевода строки, которые вводятся в текст, введенный в этом элементе управления для обеспечения совместимости с ранними версиями. По этой причине, использование свойства Text является предпочтительным в методе при выделении текста с помощью свойств SelStart и SelLength.

  • Если свойство Format элемента управления использует установку R, то символы маски удаляются из значения свойства Value.

Если свойство Style элемента управления класса "combobox" установлено в 2 (Drop-down List - выпадающий список), то свойство Text будет содержать пустую строку, поскольку ComboBox в этом случае не имеет возможности ввода текста.

Expand image Смотрите также

Справочное руководство

Свойство Format
Свойство SelStart
Свойство SelLength
Свойство Style
Свойство Value

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Themes Property

Visual FoxPro 9.0 Описание Языка
Themes, Свойство
См. также
CollapseAll image

Определяет, поддерживаются ли Темы Windows XP для данного Контрола (элемента управления). Для Контейнеров Form и Toolbar, у которых дочерние Контролы поддерживают Темы, свойство Themes включается. Чтение / Запись для режимов Disign-Time и Run-Time.

Note Обратите Внимание

Свойство Themes для визуальных Классов позволяет адаптировать уже разработанные ранее Объекты при использовании ОС Microsoft Windows XP. Вы можете выключить поддержку Тем установив соответствующее значение свойства Themes для конкретных Контролов, Форм, контейнеров, или системной переменной _SCREEN.

Object.Themes [ = lExpr ]

Параметры

lExpr

Логического типа (Logical). Далее описываются возможные значения параметра lExpr.

lExpr Краткое Оптсание

True (.T.)

Включен (По-умолчанию)

False (.F.)

Выключен

Expand image Комментарии

Применяется В: _SCREEN System Variable | CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Form Object | Grid Control | Image Control | ListBox Control | OptionButton Control | OptionGroup Control | PageFrame Control | Spinner Control | TextBox Control | ToolBar Object

Контролы, которые созданы с помощью команд @...GET или @...SAY, или другими, аналогичными командами @..., не совместимы с Темами Windows XP. Следовательно, когда ваполняются программные модули младшей версии (FoxPro 2.x) в условиях ОС Windows XP, или более поздней, вам требуется отключить поддержку Тем: на уровне Экрана _SCREEN.Themes = False (.F.); в противном случае, рассматриваемые Контролы будут исключены из Формы. В следующем далее примере иллюстрируется способ предотвращения исчезновения "старых" Контролов из Интерфейса Пользователя (обратите внимание, что поддержка Тем для _Screen - Не Отключается):

CopyCode image Копировать Код
_SCREEN.Themes = .T.

DEFINE WINDOW ThemesDemo AT 0.000, 0.000;
 SIZE 29.000,121.200;
 TITLE "ThemesDemo";
 FONT "MS Sans Serif", 8;
 float;
 CLOSE;
 NOMINIMIZE;
 SYSTEM;
 COLOR RGB(,,,192,192,192)

ACTIVATE WINDOW ThemesDemo

@ 2.500,55.833 GET DemoDB;
 PICTURE "@*C Demo CheckBox";
 SIZE 1.308,21.400;
 DEFAULT 0;
 FONT "Microsoft Sans Serif", 8;
 STYLE "T"
 _SCREEN.activeform.lockscreen = .T.
 _SCREEN.activeform.lockscreen = .F.
READ CYCLE

Однако, вы можете выполнить установку _SCREEN.Themes = False (.F.), в этом случае поддержка Тем Отключается для Visual FoxPro.

Note Примечание

При использовании значения свойства _SCREEN.Themes, вы не Включаете/Выключаете поддержку Тем для Операционной системы. Для определения текущего состояния Поддержки Тем уровня ОС смотрите функцию SYS(2700) - Поддержка Тем Windows XP.

Когда свойство Themes - Вклчено, Visual FoxPro сбрасывает установку свойства SpecialEffect и использует Текущую Тему для данного Контрола за исключением случая, когда SpecialEffect = 2 (Hot Tracking). В этих условиях, Visual FoxPro сохраняет поддержку Hot-Tracking для отображения специальных эффектов при перемещении указателя мышки над такими Контролами, как CommandButton, графический OptionButton и графический CheckBox.

Для контролов CheckBox, свойство Themes поддерживает Три (3) состояния Графического Элемента.

Для контейнеров Form и ToolBar, свойство Themes контролирует Темы текущей Формы. Для использования Тем у требуемого Контрола, вам требуется Включить Themes = True (.T.) для Формы (контейнера) и содержащегося в нем Контрола. Для других Объектов типа Контейнер, таких как PageFrame, свойство Themes не влияет на дочерние Контролы PageFrame; свойство управляет отображением только Границ и Закладок.

Note Обратите Внимание

Когда Темы поддерживаются, Themes = True (.T.), вам рекомендуется избегать выполнять команду CLEAR для данной Формы, это может исказить цветовую Схему при перерисовке дочерних Контролов, к ним относятся: CommandButton, для которых предусмотрен Эффект "Mouse Hovering" (перемещение мышки над Контролом).

Для контролов OptionGroup, CommandGroup, Image, свойство Themes влияет на отображение Границ данных контролов.

В таких контролах, как PageFrame и Grid,Закладки и Заголовки динамически поддерживаются самой ОС, когда указатель мышки перемещается на указанными Объектами. Следовательно, не рекомендуется размещать дополнительные объекты в указанных Компонентах этих Контролов (например, картинки - в Заголовках Grid).

Для контрола Grid, свойство Themes влияет на виуальное отображение Заголовков Столбцов (Header). Если поддержка Тем включена для Grid, то значения свойств BackColor и ForeColor объектов Header - игнорируются, наследуются значения текущей Темы ОС. Тем не менее, значения свойств BackColor и ForeColor самого контейнера Column не зависят от текущей поддержки свойства Themes рассматриваемого Контрола Grid.

Для контейнера PageFrame, свойство Themes определяет поддержку Тем для Закладок. Вероятно, вам потребуется незначительная доработка Формы, которая содержит PageFrame. Свойство Themes обеспечивает Градиентный Эффект для дочерних объектов - контейнеров Page, тогда контрол Label, OptionButton, или аналогичный, содержащий текстовое название отображается некорректно, если для них установлено BackStyle = "Opaque" (непрозрачный). Для коррекции данной ситуации вам достаточно изменить BackStyle = Transparent (прозрачный).

Если Операционная Система не поддерживает Темы Windows XP, или Темы не поддерживаются, Themes = False (.F.), Visual FoxPro использует настройку Контролов с помощью значений свойства SpecialEffect, а также других соответствующих Свойств.

Дополнительную Информацию о специальных особенностях использования Тем Windows XP, смотрите следующие Ресурсы:

  • "Использование Визуальных Стилей Windows XP" - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/xptheming.asp.

  • "Визуальные Стили" - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/CommCtls/Userex/themes.asp.

  • "Microsoft Windows XP: Что нового для Разработчиков ?" - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/winxpintro.asp.

Expand image См. также

Описание

SpecialEffect, Свойство
Style, Свойство
SYS(2700) - Включение поддержки Тем Windows XP

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


ThreadID Property

Visual FoxPro 9.0 Описание Языка
ThreadID, свойство
См. также
CollapseAll image

Возвращает уникальный идентификатор (UID) - Win32 ID Thread для текущего активного Приложения.

_VFP.ThreadID

Expand image Комментарии

Применяется для: Application, объект | _VFP, системная переменная

Данное свойство, как системную характеристику, вы можете эффективно использовать при отладке данного Приложения. К примеру, вы можете сравнить получаемые значения данных уникальных идентификаторов threadID Вызывающего и Вызаваемого Приложений.

Expand image См. также

Описание

Application, объект

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


TimestampFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TimestampFieldList
Смотрите также
CollapseAll image

Указывает поля штампа времени в курсоре. Доступно как в design time, так и в run time.

CursorAdapter.TimestampFieldList [= cExpr]

Expand image Возвращаемое значение

Термин | Определение
cExpr | Символьное выражение cExpr представляет собой разделенный запятыми список полей штампа времени в курсоре.

Expand image Примечания

Применяется к: CursorAdapter Class

Используйте это свойство для указание полей штампа времени в курсоре объекта CursorAdapter. Если вы укажите такие поля в этом свойстве, а свойство WhereType объекта CursorAdapter установлено в значение, равное 4, Visual FoxPro включит поля штампа времени в условие "where" команд UPDATE/DELETE для Native, ODBC и основанных на ADODB.Command обновлений. Для обновлений на основе XML, поля штампа времени включаются в секцию <before> UpdateGram.

Expand image Смотрите также

Справочное руководство

Функция CURSORGETPROP()
Функция CURSORSETPROP()

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TitleBar Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TitleBar
Смотрите также
CollapseAll image

Определяет, отображается ли полоса заголовка сверху формы.

Object.TitleBar[ = nExpression]

Expand image Возвращаемое значение

nExpression

Для свойства TitleBar предусмотрены следующие установки:

Установка Описание

0

Полоса заголовка не отображается.

1

(По умолчанию) Полоса заголовка отображается.

Expand image Замечания

Применяется к: Form

Если свойство TitleBar установлено в 0, полоса заголовка не отображается, окно всплывающего меню, а также кнопки Minimize (Свертывания), Maximize (Распахивания), и Close (Закрытия) недоступны.

Expand image Смотрите также

Справочное руководство

Свойство Closable
Свойство MaxButton
Свойство MinButton
Свойство WhatsThisButton

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ToolTipText Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ToolTipText
Смотрите также
CollapseAll image

Определяет текст подсказки, появляющийся в виде микроокошка ToolTip для элемента управления. Вы можете установить свойство ToolTipText для элемента управления только в том случае, когда свойство ShowTips формы или панели инструментов, которые содержат этот элемент управления, установлено в True (.T.). Доступно как в design time, так и в run time.
Последнее утверждение, приведенное в оригинале, неверно. Правильнее было бы указать следующее: "Вы увидите появляющуюся подсказку в виде микроокошка ToolTip только в том случае, если свойство ShowTips формы или панели инструментов, которые содержат этот элемент управления, установлено в True (.T.)". Ничто не мешает вам заранее установить значения этого свойства для элементов управления, которые обладают этим свойством, независимо от установки свойства ShowTips формы или панели инструментов. Более того, для удобства пользователя вы можете создать в меню, например, в "Инструментах" пункт - "Показывать подсказки для элементов управления" и изменять глобальную переменную, которая будет считываться формой или панелью инструментов в момент инициализации и присваивать это значение свойству ShowTips формы или панели инструментов. (Примечание переводчика).

Control.ToolTipText [= cExpr]

Expand image Возвращаемое значение

cExpr

Указывает текст, который будет использоваться для ToolTip. Максимальное число символов, которое вы можете указать для cExpr равно 4,095.

Expand image Примечания

Применяется к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container | Control | EditBox | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OptionButton | OptionGroup | PageFrame | Shape | Spinner | TextBox

Visual FoxPro поддерживает перенос слов для ToolTips.

Когда вы определяете значение свойства ToolTipText для размещаемых в контейнерах элементах управления, таких какColumn, Header или OptionButton то при перемещении курсора мыши над обоими объектами, и контейнером, и содержащемся в нем элементом управления, преимущество будет иметь свойство ToolTipText самого глубокого в иерархии объекта, в случае если для обоих установлено значение для ToolTipText.

Для элементов управления, содержащихся в контейнерах, за исключением Grid , в случае, если вложенный в контейнер объект не содержит значения в свойстве ToolTipText, но сам контейнер содержит какое-то значение в разбираемом свойстве, Visual FoxPro не будет отображать ToolTip при перемещении мыши над вложенным в контейнер объектом - элементом управления.

Если для объектов, содержащихся в элементе управления Grid не установлено значение свойства ToolTipText, но оно установлено для контенера, Visual FoxPro отобразит ToolTip определенное для контейнера. Например, если указатель мыши перемещается над объектом Header, а для него не определено значение свойтсва ToolTipText, Visual FoxPro отобразит ToolTip колонки, если, конечно же, оно установлено.

Visual FoxPro отобразит подсказку для элемента управления, содержащегося в колонке, например, для TextBox, у которого установлено значение свойства ToolTipText только в том случае, когда элемент управления получит фокус. Если же для этого элемента управления свойство ToolTipText не было установлено, то при получении фокуса будет отображет ToolTip колонки.

Expand image Примеры

Пример 1

Приведенный ниже код примера иллюстрирует использование ToolTips для элементов управления, содержащехся в контейнере, причем этот контейнер не является элементом управления grid. Приведенный пример показывает, как отображаются ToolTips для элементов управления CommandButton и CommandGroup когда каждый элемент имеет фокус, например, когда вы перемещаете указатель мыши поверх командной кнопки или группы командных кнопок.

CopyCode image Скопировать код
CommandGroup1.ToolTipText = "Hi, I'm a CommandGroup."
CommandGroup1.Command1.ToolTipText = "Hi, I'm Command 1."
CommandGroup1.Command2.ToolTipText = "Hi, I'm Command 2."

В следующей секии кода ToolTip для Command2 не отображется при получении им фокуса, поскольку для него не определено текст для ToolTip.

CopyCode image Скопировать код
CommandGroup1.ToolTipText = "Hi, I'm a CommandGroup."
CommandGroup1.Command1.ToolTipText = "Hi, I'm Command 1."

Пример 2

Приведенный ниже код примера иллюстрирует как отображаются ToolTips для элементов управления, содержащихся в grid. Приведенный пример показывает, как отображается ToolTip для элемента управленияTextBox при получении им фокуса.

CopyCode image Скопировать код
Grid1.ToolTipText = "Hi, I'm a Grid."
Grid1.Column1.ToolTipText = "Hi, I'm a Column."
Grid1.Column1.Header1.ToolTipText = "Hi, I'm a Header."
Grid1.Column1.Text1.ToolTipText = "Hi! I'm the Textbox!"

В приведенной ниже секции кода ToolTip для TextBox не отображается при получении им фокуса, поскольку у этого элемента управления не определен текст для ToolTip.

CopyCode image Скопировать код
Grid1.ToolTipText = "Hi, I'm a Grid."
Grid1.Column1.ToolTipText = "Hi, I'm a Column."
Grid1.Column1.Header1.ToolTipText = "Hi, I'm a Header."

В приведенной ниже секции кода ToolTip для column появляется, когда элемент управления Header получает фокус, поскольку для заголока header не определен текст для ToolTip.

CopyCode image Скопировать код
Grid1.ToolTipText = "Hi, I'm a Grid."
Grid1.Column1.ToolTipText = "Hi, I'm a Column."

В приведенной ниже секции кода ToolTip для grid появляется при получении объектами Column или Header фокуса, поскольку для этих элементов управления не определен текст для ToolTip.

CopyCode image Скопировать код
Grid1.ToolTipText = "Hi, I'm a Grid."

Expand image Смотрите также

Справочное руководство

Свойство ShowTips
Системная переменная _TOOLTIPTIMEOUT

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Top Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Top (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Определяет дистанцию между верхним краем элемента управления или формы и содержащего их контейнерного объекта. Доступно как в design time, так и в run time.

Object.Top[ = nValue]

Expand image Возвращаемое значение

nValue

Указывает дистанцию между верхним краем элемента управления или формы и содержащего их контейнерного объекта.

Для формы, контейнером, используемым по умолчанию, является главное окно Visual FoxPro.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | Custom | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | PageFrame | _SCREEN | Shape | Spinner | TextBox | Timer | ToolBar

Свойство Top указывает, как далеко от нулевой позиции размещен объект. Например, если форма содержится в главном окне Visual FoxPro, нулевой позицией является нижний край системного меню, а в случае если к верхнему краю главного окна пристыкована панель инструментов, нулевой позицией является нижний край панели.

Используйте свойства Left, Top, Height и Width для операций, основанных на внешних размерах объектов, таких, как операции перемещения или изменения в размерах.

Замечание Замечание

В случае, если элемент управления содержится в объекте Column, то его свойство Top получает признак "только для чтения.

Единица измерения, используемая в свойстве Top, определяется значением свойства ScaleMode элемента управления.

Expand image Пример

В приведенном ниже примере показано, как свойство Top используется для позиционирования элементов управления на форме. Метод AddObject используется для ввода в форму элемента управления Line и трех командных кнопок. Свойство Top определяет вертикальное размещение на форме каждого элемента управления.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the window pop-up menu

frmMyForm.AddObject('shpLine','Line')  && Add a Line control to the form
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')  && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')  && Quit Cmnd button

frmMyForm.shpLine.Visible = .T.  && Make Line control visible
frmMyForm.shpLine.Top = 20  && Specify Line control row
frmMyForm.shpLine.Left = 125  && Specify Line control column

frmMyForm.cmdCmndBtn1.Visible =.T.  && Up Command button visible
frmMyForm.cmdCmndBtn2.Visible =.T.  && Down Command button visible
frmMyForm.cmdCmndBtn3.Visible =.T.  && Quit Command button visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON  && Create Command button
   Caption = 'Slant \<Up'  && Caption on the Command button
   Left = 50  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='/'  && Slant up
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton  && Create Command button
   Caption = 'Slant \<Down'  && Caption on the Command button
   Left = 200  && Command button column
   Top = 100  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Hide the Line control
      ThisForm.shpLine.LineSlant ='\'  && Slant down
      ThisForm.shpLine.Visible = .T.  && Show the Line control
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 150  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство Left (Visual FoxPro)
Свойство Height
Метод Move (Visual FoxPro)
Свойство ScaleMode
Свойство Width

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Свойство TopIndex

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TopIndex
Смотрите также
CollapseAll image

Задает элемент, который должен стоять вверху списка.

Control.TopIndex[ = nIndex]

Expand image Возвращаемое значение

nIndex

Задает индекс элемента, который стоит в самом начале списка.

Expand image Замечания

Применимо к: ComboBox | ListBox

Индекс элемента отражает его позицию в списке, то есть определяется относительно других элементов списка и потому может изменяться.

Для Combo box доступен только для чтения, для list box чтение на этапе проектирования и чтение/запись на этапе выполнения.

Expand image Смотрите также

Reference

Метод AddItem (Visual FoxPro)
Метод Clear
Свойство List
Свойство ListCount
Свойство MultiSelect (Visual FoxPro)
Свойство NewItemID
Метод RemoveItem
Свойство Selected
Свойство TopItemID

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Свойство TopItemID

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TopItemID
Смотрите также
CollapseAll image

Задает идентификатор элемента, стоящего вверху списка.

Control.TopIItemID[ = nItemID]

Expand image Возвращаемое значение

nItemID

Задает идентификатор элемента, стоящего в самом начале списка.

Expand image Примечания

Применимо к: ComboBox | ListBox

По умолчанию установка свойства TopItemID равна 1, то есть вверху стоит первый элемент списка.

Для элемента управления Combo box доступно только на чтение, дл list box чтение на этапе проектирования и чтение/запись на этапе выполнения.

Expand image Смотрите также

Reference

Метод AddItem (Visual FoxPro)
Метод Clear
Свойство List
Свойство ListCount
Свойство MultiSelect (Visual FoxPro)
Свойство NewItemID
Метод RemoveItem
Свойство Selected
Свойство TopIndex

Прочие ресурсы

Свойства (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


TwoPassProcess Property

Visual FoxPro 9.0
TwoPassProcess Свойство
См. также

Определяет, требует ли отчет нескольких проходов через область данных.

ReportListener.TwoPassProcess

Возвращаемое значение

Логический тип данных. Значение по умолчанию - .F..

Замечания

Применимо к: ReportListener Object.

Когда свойство TwoPassProcess .T., отчет выполняется в два прохода. Дополнительный предпроход обеспечивает средства для движка и ReportListener, чтобы определить значение _PAGETOTAL (общее количество страниц в отчете) для отображения в отчёте в течение последующего прохода нумерации страниц вида "Страница 5 из 10".

Компоненты система отчетов Visual FoxPro исполняют отчет за два прохода, когда они находят выражение, использующее системную переменную _PAGETOTAL в отчете, или когда Вы явно устанавливаете значение этого свойства в .T.. Если TwoPassProcess - .F., но движок отчёта находит _PAGETOTAL отчете, значение свойства устанавливается в .T..

Совет:
Установив TwoPassProcess в .T. прежде, чем отчет запускается, Вы можете заставить отчет исполняться за два прохода, даже если Вы не использовали _PAGETOTAL в отчете. Вы не должны добавлять скрытое выражение, содержащее _PAGETOTAL в вашем отчете, как это делалось в предыдущих Visual FoxPro.

TwoPassProcess работает вместе со свойством CurrentPass, чтобы дать Вам информацию о состоянии отчета, когда он выполняется. Значение CurrentPass изменяется в зависимости от значения TwoPassProcess. См. CurrentPass Property . Для дополнительной информации о том, как встроенные компоненты системы отчетов обрабатывают, эти и другие варианты сообщения вначале и конеце выполнения отчета, см. Understanding Visual FoxPro Object-Assisted Reporting.

См. также

Ссылки

CurrentPass Property
_PAGETOTAL System Variable

Другие источники

Properties (Visual FoxPro)
Language Reference (Visual FoxPro)

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


Type Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Type (Visual FoxPro)
Смотрите также
CollapseAll image

Содержит символ указывающий тип файла в проэкте. Доступно на этапе разработки и выполнения.

Object.Type

Expand image Примечания

Применимо к: File Object

В следующей таблице перечислены значеня которые может содержать свойство Type и связаный типфайла.

Значение | Константа FoxPro.H | Тип файла и расширение
d | FILETYPE_DATABASE | База данных, .dbc
D | FILETYPE_FREETABLE | Своьодная таблица, .dbf
Q | FILETYPE_QUERY | Запрос, .qpr
K | FILETYPE_FORM | Форма, .scx
R | FILETYPE_REPORT | Отчет, .frx
B | FILETYPE_LABEL | Этикетка, .lbx
V | FILETYPE_CLASSLIB | Библиотека визуальных класов, .vcx
P | FILETYPE_PROGRAM | Програма, .prg
L | FILETYPE_APILIB | Visual FoxPro dynamic link library, .fll
Z | FILETYPE_APPLICATION | Приложение, .app
M | FILETYPE_MENU | Меню, .mnx
T | FILETYPE_TEXT | Текстовый файл, изменяется
x | FILETYPE_OTHER | Прочие, изменяется

Это значение хранится в поле Type файла проекта .pjx.

Expand image Смотрите также

Справочное руководство

Свойство FileClass
Свойство FileClassLibrary

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


TypeLibCLSID Property

Visual FoxPro 9.0 Описание Языка
TypeLibCLSID, свойство
См. также
CollapseAll image

Содержит значение CLSID из Реестра Windows (Уникальный идентификатор Класса) для соответствующей Библиотеки Типов (type library), созданной для классов сервера в текущем Проекте. Только Чтение.

Object.TypeLibCLSID

Expand image Комментарии

Применяется в: Project, объект

Библиотека типов создается и регистрируется в том случае, когда вы компонуете (компилируете) соответствующий Сервер Классов в виде .dll или .exe для текущего Проекта. Создаваемый файл Библиотеки Типов имеет стандартное расширение .tlb, и размещается в том же каталоге, где создается программный файл .dll или .exe.

Expand image См. также

Описание

CLSID, свойство
ProgID, свойство (Visual FoxPro)
TypeLibDesc, свойство
TypeLibName, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


TypeLibDesc Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TypeLibDesc
Смотрите также
CollapseAll image

Описание библиотеки типов, созданной для классов серверов в проекте.

Object.TypeLibDesc[ = cTypeLibraryDescription]

Expand image Возвращаемое значение

cTypeLibraryDescription

Определяет описание для библиотеки типов, созданной для классов серверов в проекте. По умолчанию, содержит имя проекта, содержащего классы серверов, дополненное выражением "Type Library."

Expand image Примечания

Применяется к: Project Object

Библиотека типов создается и регистрируется, когда вы собираете .dll или .exe из проекта, содержащего классы серверов. Библиотека типов имеет расширение .tlb extension, и размещается в том же каталоге, в котором собраны .dll или .exe файлы.

Это свойство согласовано с элементом описания Typelib на закладке Servers диалогового окна Project Information.

Expand image Смотрите также

Справочное руководство

Свойство CLSID
Свойство ProgID (Visual FoxPro)
Свойство TypeLibCLSID
Свойство TypeLibName

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TypeLibName Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство TypeLibName
Смотрите также
CollapseAll image

Имя библиотеки типов, созданной для классов серверов в проекте. Только для чтения.

Object.TypeLibName

Expand image Примечания

Применяется к: Project Object

Библиотека типов создается и регистрируется, когда вы собираете .dll или .exe из проекта, который содержит классы серверов. Библиотека типов имеет расширение .tlb и размещается в том же каталоге, в котором собраны .dll или .exe файлы.

Expand image Смотрите также

Справочное руководство

Свойство CLSID
Свойство Name (Visual FoxPro)
Свойство ProgID (Visual FoxPro)
Свойство TypeLibCLSID
Свойство TypeLibDesc

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Unicode Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Unicode
Смотрите также
CollapseAll image

Определяет - как методы LoadXML, Attach, AddTableSchema и ToXML объекта XMLAdapter и методы ToCursor, ChangesToCursor и ApplyDiffGram объекта XMLTable обрабатывают символьные строки.

Свойство Unicode объекта XMLField определяет будет ли помещена строка Unicode string в поле.

Note Замечание

Если свойство IsBinary объекта XMLField установлено в .T. и свойство Unicode объектаXMLField Unicode установлено в .T., Visual FoxPro сгенерирует соответствующее сообщение.

Доступно как в design, так и в run time.

Object.Unicode [= lValue]

Параметры

lValue

Указывает логическое значение, которое определяет, как будут обрабатываться строки в зависимости от исполняемого метода или как они будут храниться.

В приведенной ниже таблице описываются значения и поведения Unicode в зависимости от вызванного метода или объекта.

Метод или объект lValue

Методы LoadXML и Attach объекта XMLAdapter

True (.T.): Удваивает данную строку и присваивает вычисленное значение свойству MaxLength объекта XMLField.

p>False (.F.): Присваивает значение длины строки свойству MaxLength объекта XMLField.

Когда вызываются LoadXML и Attach, свойство Unicode объекта XMLField устанавливается в значение свойства Unicode объекта XMLAdapter для полй типа Character и Memo.

Метод AddTableSchema объекта XMLAdapter

True (.T.): Присваивает значение свойства Unicode (.T.) объекта XMLAdapter одноименному свойству Unicode объекта XMLField .

False (.F.): Присваивает значение свойства Unicode (.F.) объекта XMLAdapter одноименному свойству Unicode объекта XMLField Unicode.

Метод ToXML объекта XMLAdapter

True (.T.): Делит длину данного символьного поля на 2 и присваивает полученный результат параметру схемы xsd:maxLength.

False (.F.): Присваивает значение длины данного символьного поля параметру схемы xsd:maxLength.

При использовании метода ToXML объекта XMLAdapter, содержимое поля конвертируется из Unicode в кодовую страницу XML, а внеденный символ null symbol (CHR(0)+CHR(0)) рассаматривается в качестве терминатора строки. Для строк Unicode, хранимых в символьных полях типа Character, в случае, если длина строки короче, чем размер поля, то нуль-терминатор необходим. Для обрыва строки используйте CHR(0)+CHR(0).

Методы ToCursor, ChangesToCursor и ApplyDiffgram объекта XMLTable.

True (.T.): Создает поле с флагом NOCPTRANS, независимо от установки свойства NoCpTrans объекта XMLField NoCpTrans и хранит в поле строку Unicode. Для получения более подробной информации смотрите описание команды SET NOCPTRANS.

Note Замечани

Если значение свойства MaxLength объекта XMLField представляет собой нечетное число, Visual FoxPro генерирует соответствующее сообщение.

False (.F.): Создает поле как обычное поле типа Character или Memo.

Объект XMLField

True (.T.): Хранит в поле строку Unicode.

False (.F.): Хранит в поле не-Unicode строку.

Expand image Примечания

Применяется к: классу XMLAdapter | классу XMLField

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Свойства, методы и события объекта XMLField
Метод LoadXML
Метод Attach (Visual FoxPro)
Метод ToCursor
Метод ChangesToCursor
Метод ApplyDiffgram
Метод AddTableSchema

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UpdatableFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdatableFieldList
Смотрите также
CollapseAll image

Определяет разделенный запятыми список полей в представлении и включает в себя поля из курсора. При работе с этим свойством на обычных курсорах используйте функции CURSORSETPROP() и CURSORGETPROP( ). Read/write.

Note Замечание

Вы должны включить список имен полей для обновлений при работе с использованием автоматического обновления.

Note Замечание

Установка свойства UpdatableFieldList для объектов CursorAdapter переписывает установку свойства курсора, прикрепленного к объекту CursorAdapter. То есть, изменение установки этого свойства с помощью функции CURSORSETPROP() не окажет никакого влияния.

CursorAdapter.UpdatableFieldList [= cList]

Expand image Возвращаемое значение

cList

Символьный тип данных. Параметр cList определяет разделенный запятыми список полей в представлении и включает в себя поля из курсора.

Expand image Примечания

Применяется к: CursorAdapter Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UpdateCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateCmd
Смотри также

Указывает команду, которая будет использована при обновлении таблиц. Редактируемое (Read/write) в design и run time.

CursorAdapter.UpdateCmd [ = cCommand ]

Возвращаемое значение

cCommand

Символьный тип данных. Приведенная нижt таблица перечисляет возможные значения для cCommand.

cCommand Описание

Символьная строка или выражение

Указывает корректную, действительную командую строку для обновления источника данных, указанном в свойстве UpdateCmdDataSource.

Пустая строка ("")

Объект CursorAdapter будет автоматически генерировать SQL команду UPDATE, если свойство AllowUpdate CursorAdapter'а установлено в True (.T.).

Замечания

Применяется к : классу CursorAdapter

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


UpdateCmdDataSource Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateCmdDataSource
Смотри также

Указывает источник данных, используемый свойством UpdateCmd. Редактируемое (Read/write) в design и run time.

CursorAdapter.UpdateCmdDataSource [= cDataSource]

Возвращаемое значение

cDataSource

Символьный тип данных. Параметр cDataSource определяет источник данных, используемый свойством UpdateCmd.

Remarks

Применяется к: классу CursorAdapter

Приведенная ниже таблица описывает поведения, которые применяются к UpdateCmdDataSource, в зависимости от значения свойства UpdateCmdDataSourceType.

UpdateCmdDataSourceType Поведение UpdateCmdDataSourcer

Пустое значение ("")

UpdateCmdDataSource сбрасывается. Visual FoxPro использует источник данных, указанный в свойстве DataSource объекта CursorAdapter.

Однако, если курсор, связанный с объектом CursorAdapter основывается на ActiveX Data Object (ADO) RecordSet, Visual FoxPro использует функциональность ADO RecordSet для обновления записи. Для использования этой функциональности, убедитесь, что свойство DataSourceType объекта CursorAdapter установлено в "ADO".

"ADO"

UpdateCmdDataSource должен быть установлен в действительный объект ADO Command. Свойство ActiveConnection объекта ADO Command должно быть установлено на действительный и открытый объект ADO Connection.

Visual FoxPro устанавливает свойство CommandText объекта ADO Command в значение, указанное в свойстве UpdateCmd объекта CursorAdapter. Visual FoxPro разбирает команду на наличие параметров, создает значения параметров если таковые найдены и устанавливает их в объекте ADO Command.

Операция обновления производится следующим образом:

Скопировать код
CursorAdapter.UpdateCmdDataSource.Execute()

Для получения подробной информации об использовании ADO RecordSet, автоматического обновления и автоматической генерации SQL команд, смотри статью Управление доступом к данных с использованием CursorAdapter'ов.

Смотри также

Прочие ресурсы

Свойства
Свойства методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


UpdateCmdDataSourceType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateCmdDataSourceType
Смотри также

Определяет тип источника данных для источника данных, используемого свойством UpdateCmdDataSource. Редактируемое (Read/write) в design и run time.

CursorAdapter.UpdateCmdDataSourceType [= cDataSourceType]

Возвращаемое значение

cDataSourceType

Символьный тип данных. Параметр cDataSourceType определяет тип источника данных в свойстве UpdateCmdDataSource.

Замечания

Применяется к: классу CursorAdapter

Если свойство UpdateCmdDataSourceType ничего не содержит ("") или установлено в null (.NULL.), Visual FoxPro использует источник данных, установленный в свойстве DataSource CursorAdapter'a.

Для генерации XML UpdateGram, вы должны явно установить значение свойства UpdateCmdDataSourceType в "XML".

Смотри также

Other Resources

Свойства
Свойства, методы и события объекта CursorAdapter
Свойство UpdateGram

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


UpdateCmdRefreshCmd Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateCmdRefreshCmd
Смотри также

Определяет команду автоматического обновления (refresh) записи после исполнения команды Update. Редактируемое (Read/write) в design time и run time.

CursorAdapter.UpdateCmdRefreshCmd[ = cCommand]

Возвращаемое значение

Термин Определение

cCommand

Символьный тип данных. Приведенная ниже таблица перечисляет возможные значения для cCommand.

cCommand | Описание
Символьная строка или выражение | Определяет корректую команду refresh для источника данных.
Пустая строка ("") | Объект CursorAdapter в таком случае генерирует команду refresh автоматически.

Замечания

Применяется к: классу CursorAdapter

Замечание:
Свойство AllowUpdate должно быть установлено в True (.T.) для разрешения операции обновления на источнике данных.

Для получения подробной информации о том, как Visual FoxPro обновляет CursorAdapter'ы, смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Смотри также

Справочное руководство

Свойство InsertCmdRefreshCmd
Свойство InsertCmdRefreshFieldList
Свойство InsertCmdRefreshKeyFieldList
Свойство UpdateCmdRefreshFieldList
Свойство UpdateCmdRefreshKeyFieldList

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


UpdateCmdRefreshFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateCmdRefreshFieldList
Смотри также

Указывает список полей в курсоре, которые будут обновлены (refresh) после исполнения команды Update на источнике данных. Редактируемое (Read/write) в design и run time.

CursorAdapter.UpdateCmdRefreshFieldList[ = cExpr]

Возвращаемое значение

Термин | Опреление
cExpr | Символьное выражение, представляющее собой разделенный запятыми список полей в источнике данных, которые будут обновлены (refreshed).

Замечания

Применяется к : классу CursorAdapter

Свойство UpdateCmdRefreshFieldList определяет какие поля в курсоре будут автоматически обновлены после того, как на источнике данных будет исполнена команда Update.

Замечание:
Свойство AllowUpdate должно быть установлено в True (.T.) для разрешения операций обновления (update) на источнике данных.

Для получения подробной информации о том, как Visual FoxPro обновляет (update) CursorAdapter'ы смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Смотри также

Справочное руководство

Свойство InsertCmdRefreshCmd
Свойство InsertCmdRefreshFieldList
Свойство InsertCmdRefreshKeyFieldList
Свойство UpdateCmdRefreshCmd
Свойство UpdateCmdRefreshKeyFieldList

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


UpdateCmdRefreshKeyFieldList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateCmdRefreshKeyFieldList
Смотри также

Указывает ключевые поля в курсоре, используемые для выборки записи после исполнения команды Update. Редактируемое (Read/write)в design и run time.

CursorAdapter.UpdateCmdRefreshKeyFieldList[ = cExpr]

Возвращаемое значение

Термин | Определение
cExpr | Символьное выражение cExpr представляет собой разделенный запятыми список ключевых полей в курсоре, используемые для выборки записи.

Замечания

Применяется к: классу CursorAdapter

Замечание:
Для разрешения операции вставки на источнике данных, свойство AllowUpdate должно быть установлено в True (.T.).

Для получения подробной информации about how Visual FoxPro updates CursorAdapters, смотри статью Управление доступом к данным с использованием CursorAdapter'ов.

Смотри также

Справочное руководство

Свойство InsertCmdRefreshCmd
Свойство InsertCmdRefreshKeyFieldList
Свойство InsertCmdRefreshFieldList
Свойство UpdateCmdRefreshCmd
Свойство UpdateCmdRefreshFieldList

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


UpdateGram Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateGram
Смотрите также
CollapseAll image

Содержит XML UpdateGram сгенерированный только при выполнении приведенных ниже условий:

  • Visual FoxPro исполняет команды вставки, обновления или удаления.

  • Свойства UpdateCmdDataSourceType, InsertCmdDataSourceType и DeleteCmdDataSourceType установлены в "XML".

"Только для чтения" как в design time, так и в run time.

CursorAdapter.UpdateGram

Expand image Возвращаемое значение

Символьный тип данных. UpdateGram содержит XML UpdateGram.

Expand image Примечания

Применяется к классу: CursorAdapter

Даже в случае, когда объект CursorAdapter может генерировать XML UpdateGram, вы должны выполнять реальные операции обновления, используя подходящие протоколы, такие, как SQL XML through HTTP, SQL XML OLEDB или XML Web service to .NET.

Для получения более подробной информации об автоматическом обновлении и XML смотрите описание Управление доступом к данным с помощью объектов CursorAdapter.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UpdateGramSchemaLocation Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateGramSchemaLocation
Смотрите также
CollapseAll image

Указывает имя схемы разметки и ее местонахождение, посылаемые функции XMLUPDATEGRAM( ). Редактируемое (Read/write) как в design, так и в run time.

Note Замечание

UpdateGramSchemaLocation применяется только в случае, если тип источника данных, определенный в свойстве DataSourceType объекта CursorAdapter установлен в "XML". Когда свойство установлено, то UpdateGramSchemaLocation посылвается параметру SchemaLocation в функции XMLUPDATEGRAM( ). Visual FoxPro не поддерживает создания схемы разметки ; поэтому вы должны ее предоставить сами.

CursorAdapter.UpdateGramSchemaLocation [= cName]

Expand image Возвращаемое значение

cName

Символьный тип данных. Параметр cName указывает имя схемы разметки и ее местонахождение, и по умолчанию значение равно пустой строке ("").

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UpdateNameList Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateNameList
Смотрите также
CollapseAll image

Указывает разделенный запятыми список, содержащий пары локальных имен и полных имен полей удаленного источника. Каждая пара имен состоит из имени локального поля и следующего за ним полного имени поля удаленного источника данных. Полное имя поля удаленного источника появляется в виде <имя таблицы удаленного источника>. <имя поля таблицы удаленного источника> где <имя таблицы удаленного источника> соответствует имени из свойства Tables. Read/write.

Замечание Замечание

Установка свойств UpdateNameList для объектов CursorAdapter переписывает значения свойства курсора, когда он прикреплен к объекту CursorAdapter. То есть, изменение установки свойства курсора с помощью CURSORSETPROP() не оказывает влияния.

Замечание Замечание

Вы должны установить UpdateNameList, который вы можете, кроме того, использовать для указания действительных имен Visual FoxPro для полей в курсоре, который имеет недействительные для Visual FoxPro имена полей.

При работе с этим свойством на обычных курсорах, используйте функции CURSORSETPROP( ) и CURSORGETPROP( ).

CursorAdapter.UpdateNameList [= cList]

Expand image Возвращаемое значение

cList

Символьный тип данных. Параметр cList указывает разделенный запятыми список, содержащий пары локальных имен и полных имен полей удаленного источника.

Expand image Примечания

Применяется к классу: CursorAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()
Свойство Tables

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UpdateType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UpdateType
Смотрите также
CollapseAll image

Определяет - что делать со старыми данными при производстве обновления. При работе с этим свойством на обычных курсорах используйте функции CURSORSETPROP() и CURSORGETPROP(). Read/write.

Note Замечание

Установка UpdateType для объектов CursorAdapter переписывает одноименное свойство курсора, прикрепленного к объекту CursorAdapter. То есть, изменение этого свойства у курсора с помощью функции CURSORSETPROP() не окажет влияния.

CursorAdapter.UpdateType [= nValue]

Expand image Возвращаемое значение

nValue

Численный тип данных. В приведенной ниже таблице перечислены значения для nValue.

nValue Description

1

Обновить старые данные новыми. (По умолчанию)

2

Удалить старые данные и вставить новые.

Expand image Примечания

Применяется к: CursorAdapter Class

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UseCodePage Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UseCodePage
Смотри также

Определяет - должен ли объекта XMLAdapter использовать специальную логику для опрделения - какая кодовая страница должна быть использована кодирования или декодирования данных. Редактируемое (Read/write) в design и run time.

XMLAdapter.UseCodePage = lValue

Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

(Используется по умолчанию). В таблице, приведенной далее в тексте описаны последствия установки свойства UseCodePage в значение False (.F.).

True (.T.)

В таблице, приведенной далее в тексте описаны последствия установки свойства UseCodePage в значение True (.T.).

Примечания

Применяется к: классу XMLAdapter

При установке свойства UseCodePage объекта XMLAdapter в True (.T.), поведение методов ToCursor, ChangesToCursor и ApplyDiffgram изменяется следующим образом:

  • В случае, если методу не посылается параметр nCodePage, то для нового курсора в качестве кодовой страницы будет использована кодовая страница, определенная в свойстве CodePage объекта XMLTable (или кодоовая страница XMLAdapter если кодовая таблица для XMLTable установлена в нуль.

  • Когда заполняется поле, то для декодирования данных из Unicode использутся кодовая страница, определяемая значением свойства CodePage объкута XMLField (елси оно равно нулю, то используется кодовая страница курсора).

В приведенной ниже таблице показано - как влияют установки свойств UseCodePage, RespectCursorCP и UTF8Encoded на поведение метода ToXML.

RespectCursorCP | UTF8Encoded | UseCodePage=.F. | UseCodePage=.T.
False (.F.) | False (.F.) | В качестве аттрибута трансляции XML документа используется кодовая страница Windows 1252. Символьные данные транслируются в текущую кодовую страницу, используемую по умолчанию, за исключением полей, маркированных, как NOCPTRANS. Данные в Unicode транслируются с использованием кодовой страницы Windows 1252. | Идентично для UseCodePage = .F.
True (.T.) | False (.F.) | В качестве аттрибута трансляции XML документа используется кодовая страница курсора. Символьные данные не транслируются и используются необработанные данные из таблицы. Данные в Unicode транслируются с использованием кодовой страницы курсора. | Идентично для UseCodePage = .F. Однако, если значение XMLField CodePage больше нуля, но не совпадает с кодовой страницей курсора, то будет сгенерарована ошибка.
False (.F.) | True (.T.) | Как аттрибут декодирования XML документа используется кодовая страница UTF-8. Символьные данные транслируется в кодовую страницу по умолчанию, за исключением полей, маркированных как NOCPTRANS и не производится дополнительной трансляции символов в кодовую страницу UTF-8. Данные в Unicode кодировке транслируются с использованием кодовой страницы UTF-8. | Идентично для UseCodePage = .F.
True (.T.) | True (.T.) | Как аттрибут декодирования XML документа используется кодовая страница UTF-8. Символьные данные транслируется в кодовую страницу по умолчанию, за исключением полей, маркированных как NOCPTRANS. Эти поля транслируется в UTF-8 с использованием кодовой страницы, определяемой с помощью SYS(3005) - Set Locale ID. Данные в Unicode кодировке транслируются с использованием кодовой страницы UTF-8. | При трансляции аттрибутов XML документа используется кодовая страница UTF-8. Необработанные символьные данные из таблицы транслируются в кодовую страницу UTF-8, используя либо кодовую страницу курсора, либо кодовую страницу XMLField если она определена, то есть ее значение больше, чем нуль. Данные в Unicode кодировке транслируются с использованием кодовой страницы UTF-8.

Смотри также

Справочное руководство

Класс XMLAdapter
Свойство CodePage
Свойство RespectCursorCP
Свойство UTF8Encoded

Прочие ресурсы

Свойства (Visual FoxPro)

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


UseCursorSchema Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UseCursorSchema
Смотрите также
CollapseAll image

Указывает установку по умочанию для использовании с параметром lUseCursorSchema в методе CursorFill. Доступно как в design, так и в run time.

CursorAdapter.UseCursorSchema [ = lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В привденной ниже таблице перечислены возможные значения для lValue.

lValue Описание

False (.F.)

(По умолчанию) Логическое значение (.F.) используется по умолчанию в качестве параметра lUseCursorschema в методе CursorFill.

CursorFill создает курсор, используя типы данных, как нормально определенные Visual FoxPro в соответствии со свойством DataSourceType объекта CursorAdapter .

True (.T.)

Логическое значение (.T.) используется по умолчанию для параметра lUseCursorschema в методе CursorFill.

Expand image Примечания

Применяется к: классу CursorAdapter.

Значение, определяемое этим свойством используется в методе CursorFill, когда опущен параметр lUseCursorSchema. Значение этого свойства игнорируетс, если параметр lUseCursorSchema включен в метод CursorFil.

Expand image Смотрите также

Справочное руководство

Метод CursorFill
Свойство NoData

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UseMemoSize Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UseMemoSize
Смотрите также
CollapseAll image

Указывает минимальный размер в байтах, который определяет то, как будут сохранены возвращаемые данные - в полях типа Character или в мемо-полях. Например, если длина возвращенного результата превысит значение установленное для свойства UseMemoSize, то возвращаемый результат будет сохранен в мемо-поле. Редактируемое и в desing и в run time.

Note Замечание

Установки свойства UseMemoSize применяются только к объектам CursorAdapter, использующим источники данных типа ODBC или ADO и установки свойств курсора не принимаются во внимание, если курсор присоединен к объекту CursorAdapter. То есть, изменение установок курсора с помощью функции CURSORSETPROP() будет отвергнуто.

При работе с этим свойством в случае использования обычных курсоров, используйте функции CURSORSETPROP() и CURSORGETPROP().

CursorAdapter.UseMemoSize [= nValue]

Expand image Возвращаемое значение

nValue

Целочисленное значение. Параметр nValue parameter по умолчанию имеет значение в 255 байт и может варьироваться от 1 байта до 255-ти.

Expand image Примечания

Применяется к: классу CursorAdapter

Это свойство применяется, преимущественно, к удаленным представлениям и его установка игнорируется для локальных представлений. Однако, вы можете предустановить это свойство для локальных представлений имея в виду перевод их в удаленные в будущем.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция CURSORGETPROP()
Функция CURSORSETPROP()

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UseTransactions Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UseTransactions
Смотрите также
CollapseAll image

Определяет - будет ли объектом CursorAdapter использоваться транзакции при посылке команд Insert, Update или Delete через ADO или ODBC. Доступно как в design, так и в run time.

CursorAdapter.UseTransactions[ = lExpr]

Expand image Возвращаемое значение

lExpr

Установками для параметра UseTransactions являются:

Установка Описание

True (.T.)

(По умолчанию) CursorAdapter использует транзакции при посылке команд Insert, Update или Delete через ADO или ODBC.

False (.F.)

CursorAdapter не использует транзакции при посылке команд Insert, Update или Delete через ADO или ODBC.

Expand image Примечания

Применяется к классу: CursorAdapter.

При управлении транзакциями объект CursorAdapter зависит от API ADO и ODBC. Если вы проигнорируете рекомендации API и пошлете конкретные команды транзакции непосредственно на ADO или ODBC backend, то мы можете можете установить значение свойства UseTransactions в False (.F.) чтобы избежать нежелательный взаимодействий транзакции.

Expand image Смотрите также

Справочное руководство

Команда BEGIN TRANSACTION
Команда END TRANSACTION
Команда ROLLBACK

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UserValue Property

Visual FoxPro 9.0 Описание Языка
UserValue, свойство
См. также
CollapseAll image

Определяет значение, передаваемое оператору THROWпри возникновении исключительной ситуации (Ошибке). Данное значение может рассматриваться как объектная ссылка. Чтение/Запись в режиме RunTime.

Exception.UserValue

Expand image Возвращаемое значение

Тип данных Variant

Expand image Комментарии

Прнименяется в: Exception, класс

Expand image См. также

Описание

Exception, объект: свойства, методы, события
TRY...CATCH...FINALLY, команда

Концепции

Структурная обработка Ошибок

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


UTF8Encoded Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство UTF8Encoded
Смотрите также
CollapseAll image

Определяет будет ли кодировка установка в Unicode Transformation Format-8 (UTF-8). UTF8Encoded работает совместно со свойством RespectCursorCP.

UTF8Encoded применяется только при исполнении метода ToXML объекта XMLAdapter, который создает XML, согласующийся с его установками.

XMLAdapter.UTF8Encoded [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Не устанавливает кодировку в UTF-8. (По умолчанию)

True (.T.)

Устанавливает кодировку в UTF-8.

Expand image Примечания

ПРименяется к классу: XMLAdapter

Кодировкой по умолчанию для XML является UTF-8, а Visual FoxPro использует по умолчанию кодировку Windows-1252. Когда вы желаете вывести данные в XML, вы можете обеспечить кодировку UTF-8 путем ее установки и выдачи инструкции Visual FoxPro о трансляции двухбайтных символов в надлежащую последовательность кодировки UTF-8.

Если у вас имеется группа символов, представляющих корейский или китайский текст, вы можете преобразовать эти сиимволы в двух-байтный набор символов (DBCS), с тем чтобы видеть их в Visual FoxPro. Вы можете затем переконвертировать их в UTF-8, когда передаете их через WEB в виде XML, с тем, чтобы прочие системы могли корректно отобразить данные.

Например, в приведенной ниже таблице описывается как два свойства объекта XMLAdapter - RespectCursorCP и UTF8Encoded взаимодействуют друг с другом.

RespectCursorCP | UTF8Encoded | Производимое преобразование
False | False | Windows-1252 (По умолчанию)
True | False | Устанавливает кодировочный аттрибут вывода в кодовую страницу курсора.
False | True | Устанавливает кодировочный аттрибут вывода UTF-8. Символьной трансляции не производится.
True | True | Устанавливает кодировочный аттрибут вывода UTF-8. Производится трансляция символов в UTF-8.
True | False | Устанавливает кодировочный аттрибут вывода в кодовую страницу курсора.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Свойство RespectCursorCP
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Value Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Value
Смотрите также
CollapseAll image

Определяет текущее состояние элемента управления. Доступно как в design, так и в run time.

[Form.]Control.Value [= nSetting]

Expand image Возвращаемое значение

nSetting

Определяет установки, которая показывает текущее состояние элемента управления.

Для элементов управления CommandGroup, ComboBox, EditBox, ListBox, OptionGroup и Spinner свойство Value содержит символьную строку или число, которое в настоящий момент выбрано в элементе управления.

Для элемента управления TextBox свойство Value содержит символьную строку, число, дату, или комбинацию дата-время, или логическое значение, которое является текущим в элементе управления. По умолчанию значение устанавливаетс в символьную строку.

Для элемента управления CheckBox в приведенной ниже таблице перечислены установки, которые может принимать nSetting:

nSetting Описание

0

Очищен. (По умолчанию)

1

Выбран.

2

Смешанное значение. Эта установка доступна только в коде.

Для элемента управления OptionButton в приведенной ниже таблице перечислены установки, которые может принимать nSetting::

nSetting Описание

0

Не выбран. (По умолчанию)

1

Выбран.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandGroup | EditBox | Grid | ListBox | OptionButton | OptionGroup | Spinner | TextBox

Для элемента управления Grid свойство Value доступно только в случае, когда Grid имеет фокус.

Value не поддерживается методом Assign.

Вы можете использовать свойство Value элементов управления CommandGroup или OptionGroup для определения, какая кнопка в элементе управления вызвала срабатывание события. Свойство Value установливается в целое число, которое показывает, какая кнопка в группе вызвала событие.

Свойство Value изменяет поведение, когда для элемента управления указан источник ControlSource. Когда источник для элемента управления установлен, свойство Value элемента управления представляет собой тип данных переменной или поля, указанного в свойстве ControlSource. Если тип данных не является действительным для данного элемента управления, то Visual FoxPro сгенерирует ошибку.

В приведенной ниже таблице перечислены действительные типы данных.

Элемент управления | Разрешенные типы данных
CheckBox | Целое число, Логическое значение, Число
ComboBox | Символьная строка или символ, Целое число, Число
CommandGroup | Символьная строка или символ, Целое число, Число
EditBox | Символьная строка или символ, Значение, содержащееся в мемо-поле
Grid | Символьная строка или символ, Число
ListBox | Символьная строка или символ, Целое число, Число
OptionButton | Целое число, Логическое значение, Число
OptionGroup | Символьная строка или символ, Целое число, Число
Spinner | Currency, Целое число, Число
TextBox | Any data type

Expand image Смотрите также

Справочное руководство

Свойство Bound
Свойство ListIndex(Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Version Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Version
Смотрите также
CollapseAll image

Возвращает номер версии єкземпляра Visual FoxPro в виде символьной строки. Только для чтения на этапе выполнения.

ApplicationObject.Version

Expand image Примечания

Применимо к: Application Object | _VFP System Variable

Expand image Смотрите также

Справочное руководство

Функция VERSION( )

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


VersionComments Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionComments
Смотрите также
CollapseAll image

Комментарий для проекта.

Object.VersionComments[ = cComments]

Expand image Возвращаемое значение

cComments

Определяет комментарий для проекта. Значением по умолчанию явлется пустая строка.

Expand image Примечание

Применяется к: Project Object

Свойство VersionComments согласовано со значением элемента Comments в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION( )
Свойство VersionCompany
Свойство VersionCopyright
Свойство VersionDescription
Свойство VersionLanguage
Свойство VersionNumber
Свойство VersionProduct
Свойство VersionTrademarks

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


VersionCompany Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionCompany
Смотрите также
CollapseAll image

Информация об имени компании для проекта.

Object.VersionCompany[ = cCompanyName]

Expand image Возвращаемое значение

cCompanyName

Определяет информацию об имени компании для проекта. Значением по умолчанию является пустая строка.

Expand image Примечания

Применяется к: Project Object

Свойство VersionCompany согласовано со значением элемента Company Name в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION()
Свойство VersionComments
Свойство VersionCopyright
Свойство VersionDescription
Свойство VersionLanguage
Свойство VersionNumber
Свойство VersionProduct
Свойство VersionTrademarks

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VersionCopyright Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionCopyright
Смотрите также
CollapseAll image

Информация об авторском праве для проекта.

Object.VersionCopyright[ = cCopyRight]

Expand image Возвращаемое значение

cCopyRight

Определяет информацию об авторском праве для проекта. Значением по умолчанию является пустая строка.

Expand image Примечания

Применяется к: Project Object

Свойство VersionCopyRight согласовано со значение элемента Legal Copyright в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION( )
Свойство VersionComments
Свойство VersionCompany
Свойство VersionDescription
Свойство VersionLanguage
Свойство VersionNumber
Свойство VersionProduct
Свойство VersionTrademarks

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VersionDescription Property

Visual FoxPro 9.0 Описание Языка
Свойство VersionDescription
См. также

Информация о Проекте.

Объект.VersionDescription[ = cОписание]

Возвращаемое значение

cОписание

Возвращает информацию о Проекте. По-умолчанию - это пустая строка.

Комментарии

Применяется: Объект Project

Свойство VersionDescription связано по значению с пунктом File Description в диалоговом боксе EXE Version.

См. также

Другие Ссылки

Функция AGETFILEVERSION( )
Свойство VersionComments
Свойство VersionCompany
Свойство VersionCopyright
Свойство VersionLanguage
Свойство VersionNumber
Свойство VersionProduct
Свойство VersionTrademarks
Свойства
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


VersionLanguage Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionLanguage
Смотрите также
CollapseAll image

Информация о языке для проекта.

Object.VersionLanguage[ = nLanguage]

Expand image Возвращаемое значение

nLanguage

Определяет идентификатор языка - ID - для проекта. FOXPRO.H содержит список значений идентификаторов для первичного и субязыка, которые могут быть объединены для создания действительного идентификатора языка ID. Например, приведенная ниже строка кода устанавливает свойство VersionLanguage в United States English (0x09 указывает на English, 0x0400 указывает на United States English) для текущего проекта:

CopyCode image Скопировать код
Application.ActiveProject.VersionLanguage = 0x09 + 0x0400

Expand image Примечания

Применяется к: Project Object

Свойство VersionLanguage согласовано со значением элемента Language ID в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION( )
Свойство VersionComments
Свойство VersionCompany
Свойство VersionCopyright
Свойство VersionDescription
Свойство VersionNumber
Свойство VersionProduct
Свойство VersionTrademarks

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VersionNumber Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionNumber
Смотрите также
CollapseAll image

Номер сборки проекта.

Object.VersionNumber[ = cBuildNumber]

Expand image Возвращаемое значение

cBuildNumber

Определяет номер сборки проекта. Стандартным форматом для номера сборки проекта является "MMMM.mmmm.bbbb" где MMMM представляет мажорный номер сборки, mmmm - минорный номер сборки, а bbbb представляет текущий номер сборки. Разделяйте каждый компонент номера сборки проекта точкой (.). Каждый номер сборки может быть от нуля до четырех цифр (чисел). Не используйте буквы в номер сборки. Вы можете указать ".." для cBuildNumber для сброса как минорного номера сборки, так и номера сборки в ноль.

Если свойство AutoIncrement установлено в true (.T.) и вы собираете из проекта исполнимый файл (.exe) или библиотеку динамических сввязей (.dll), номер сборки будет иметь ведущие нули, удаляемые из последней порции (".bbbb") номера сборки.

Значением по умолчанию явлется пустая строка.

Expand image Примечание

Применяется к: Project Object

Свойство VersionNumber согласовано со значением элемента Version Number в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION( )
Свойство VersionComments
Свойство VersionCompany
Свойство VersionCopyright
Свойство VersionDescription
Свойство VersionLanguage
Свойство VersionProduct
Свойство VersionTrademarks

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


VersionProduct Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionProduct
Смотрите также
CollapseAll image

Информация об имени продукта для проекта.

Object.VersionProduct[ = cProductName]

Expand image Возвращаемое значение

cProductName

Определяет информацию об имени продукта для проекта. Значением по умолчанию явлется пустая строка.

Expand image Примечание

Применяется к: Project Object

Свойство VersionProduct согласовано со значением элемента Product Name в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION( )
Свойство VersionComments
Свойство VersionCompany
Свойство VersionCopyright
Свойство VersionDescription
Свойство VersionLanguage
Свойство VersionNumber
Свойство VersionTrademarks

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


VersionTrademarks Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VersionTrademarks
Смотрите также
CollapseAll image

Информация о торговой марке для проекта.

Object.VersionTrademarks[ = cTradeMarks]

Expand image Возвращаемое значение

cTradeMarks

Определяет информацию о торговой марке для проекта. Значением по умолчанию является пустая строка.

Expand image Примечания

Применяется к: Project Object

Свойство VersionTrademarks согласовано со значением элемента Legal Trademarks в диалоговом окне EXE Version.

Expand image Смотрите также

Справочное руководство

Функция AGETFILEVERSION( )
Свойство VersionComments
Свойство VersionCompany
Свойство VersionCopyright
Свойство VersionDescription
Свойство VersionLanguage
Свойство VersionNumber
Свойство VersionProduct

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VFPXMLProgID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VFPXMLProgID
Смотрите также Пример
CollapseAll image

Ссылается на COM-компонент, который вы используете для переписи внутренней функциональности функций CURSORTOXML( ), XMLTOCURSOR( ) и XMLUPDATEGRAM( ).

Вы можете создать COM-компонент в Visual FoxPro, Visual C/C++, Visual Basic или любом другом инструменте, позволяющем создать COM-компоненты с возможностью реализации интерфейсов.

_VFP.VFPXMLProgID [=cValue]

Expand image Возвращаемое значение

cValue

Указывает ProgID класса COM-компонента, чьи функции переписывают функциональность перечисленных XML функций Visual FoxPro. Установка cValue в его дефолтное значение - пустая строка (""), возвращает систему к использованию внутренних реализаций этих функций.

Expand image Примечания

Класс должен использовать реализацию IVFPXML интерфейса из библиотеки типов Visual FoxPro. Для получения методов для переписи, откройте Object Browser из меню Tools. Из Microsoft Visual FoxPro Type Library, перетащите интерфейс IVFPXML в программный (.prg) файл.

Expand image Пример

Приведенынй ниже пример создает классы, которые замещают функции CURSORTOXML( ), XMLTOCURSOR( ) и XMLUPDATEGRAM( ). Создайте проект для этих классов и введите код дескриптора пользовательских XML функций в эти три метода. VesrNum представляет номер версии Visual FoxPro.

CopyCode image Скопировать код
DEFINE CLASS MyXMLClass AS session OLEPUBLIC
   IMPLEMENTS IVFPXMLVerNum IN "VisualFoxPro.Application.VerNum"

   * замещает CURSORTOXML( ).
   PROCEDURE IVFPXMLVerNum_CursorToXML(bstrAlias AS STRING, ;
      nOutputFormat AS Number, nFlags AS Number, ;
      nRecords AS Number, bstrOutputFile AS STRING, ;
      bstrSchema AS STRING, bstrSchemaLocation AS STRING, ;
      bstrNameSpace AS STRING, pVFP AS VARIANT) AS VARIANT ;
      HELPSTRING "Converts from a Cursor to XML"
      * введите здесь ваш код.
   ENDPROC

   * замещает XMLTOCURSOR( ).
   PROCEDURE IVFPXMLVerNum_XMLToCursor(pvarXMLSource AS VARIANT, ;
      bstrCursorName AS STRING, nFlags AS Number, pVFP AS VARIANT) ;
      AS Number HELPSTRING "Converts from XML to a Cursor"
      * введите здесь ваш код.
   ENDPROC

   * замещает XMLUPDATEGRAM( ).
   PROCEDURE IVFPXMLVerNum_XMLUpdateGramVerNum( nFlags AS Number, ;
      bstrCursorList AS STRING, pVFP AS VARIANT , ;
      bstrSchemaLocation AS STRING ) AS VARIANT;
      HELPSTRING "Generates an XML UpdateGram"
      * введите здесь ваш код.
   ENDPROC

   * Включено для совместимости назад с предыдущими версиями этого интерфейса.
   PROCEDURE IVFPXMLVerNum_XMLUpdateGram(nFlags AS Number, ;
      bstrCursorList AS STRING, pVFP AS VARIANT) AS VARIANT;
      HELPSTRING "Generates an XML UpdateGram"
      * введите здесь ваш код.
   ENDPROC

ENDDEFINE

Когда вы закончите, постройте из вашего проекта dynamic-link library (.dll) или исполнимый (.exe) файл. Установите свойство VFPXMLProgID в корректное значение ProgID для вашего класса. Например, если имя вашего проекта - MyXMLProj, вы должны установить VFPXMLProgID используя приведенную ниже строку кода:

CopyCode image Скопировать код
_VFP.VFPXMLProgID = "MyXMLProj.MyXMLClass"

С _VFP VFPXMLProgID, установленным в конкретный ProgID, вызовы CURSORTOXML( ), XMLTOCURSOR( ) или XMLUPDATEGRAM( ) будут перенаправлены к соответствующему методу класса, указанного этим ProgID. Кроме того, методу направляется ссылка на _VFP, обеспечивая путь для доступа и управления данными в курсорах и переменных памяти. Для получения более подробной информации, смотрите Свойства, методы и события системной переменной _VFP.

До версии Visual FoxPro 8.0, XMLUPDATEGRAM( ) не имело параметра cSchemaLocation; поэтому и интерфейс различается. Visual Foxpro поддерживает оба интерфейса и сначала ищет текущий. Если это не удалось, то Visual FoxPro ищет более ранний интерфейс.

Приведенное ниже представляет собой образец определения класса для более раннего интерфейса, без параметра cSchemaLocation:

CopyCode image Скопировать код
DEFINE CLASS MyXMLClass AS session OLEPUBLIC
   IMPLEMENTS IVFPXML IN "VisualFoxPro.Application.8"

   * замещает CURSORTOXML( ).
   PROCEDURE IVFPXML_CursorToXML(bstrAlias AS STRING, ;
      nOutputFormat AS Number, nFlags AS Number, ;
      nRecords AS Number, bstrOutputFile AS STRING, ;
      bstrSchema AS STRING, bstrSchemaLocation AS STRING, ;
      bstrNameSpace AS STRING, pVFP AS VARIANT) AS VARIANT ;
      HELPSTRING "Converts from a Cursor to XML"
      * Введите здась свой код.
   ENDPROC

   * замещает XMLTOCURSOR( ).
   PROCEDURE IVFPXML_XMLToCursor(pvarXMLSource AS VARIANT, ;
      bstrCursorName AS STRING, nFlags AS Number, pVFP AS VARIANT) ;
      AS Number HELPSTRING "Converts from XML to a Cursor"
      * Введите здась свой код.
   ENDPROC

   * замещает XMLUPDATEGRAM( ).
   PROCEDURE IVFPXML_XMLUpdateGram(nFlags AS Number, ;
      bstrCursorList AS STRING, pVFP AS VARIANT) AS VARIANT;
      HELPSTRING "Generates an XML UpdateGram"
      * Введите здась свой код.
   ENDPROC

ENDDEFINE

Expand image Смотрите также

Задачи

Как: увидеть информацию библиотеки типов

Справочное руководство

Системная переменная _VFP
Функции XML
Функция CURSORTOXML( )
Функция XMLTOCURSOR( )
Функция XMLUPDATEGRAM( )

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


View Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство View
Смотрите также
CollapseAll image

Определяет тип отображения для элемента управления Grid. Доступно как в design time, так и в run time.

Grid.View[ = nType]

Expand image Возвращаемое значение

nType

Если панели не разделены (свойство Partition установлено в 0), то установками для свойства View служат:

Установка Описание

0

Browse

1

Change

Если панели разделены, то для свойства View можно использовать установки перечисленные ниже в таблице:

Установка Описание

0

Browse (левая панель), Browse (правая панель)

1

Browse (левая панель), Change (правая панель)

2

Change (левая панель), Browse (правая панель)

3

Change (левая панель), Change (правая панель)

Expand image Примечания

Применяется к: Grid

Expand image Смотрите также

Справочное руководство

Свойство Panel
Свойство PanelLink
Свойство Partition

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ViewPortHeight Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ViewPortHeight
Смотрите также
CollapseAll image

Содержит высоту viewport'а для формы. "Только для чтения" в design и run time.

Object.ViewPortHeight

Expand image Примечание

Применяется к объекту: Form

Viewport представляет собой прямоугольную область формы, отображаемую в ее контейнере. Контейнер формы управляет размером viewport'а. Если изменить размеры контейнера формы, viewport также изменится в размерах.

Единица измерения высоты viewport'а определяется установкой свойства формы ScaleMode – pixels (по умолчанию) или foxels.

Expand image Смотрите также

Справочное руководство

Свойство ScaleMode
Метод SetViewPort
Свойство ViewPortLeft
Свойство ViewPortTop
Свойство ViewPortWidth

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


ViewPortLeft Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ViewPortLeft
Смотрите также
CollapseAll image

Определяет координату левого края формы, которая видима в порте просмотра. Только для чтения в design time и run time.

Object.ViewPortLeft

Expand image Примечания

Применяется к: Form Object

Порт просмотра (viewport) представляет собой квадратную площадь формы отображаемую в контнейнере формы. Контейнер формы управляет размером порта просмотра. Если вы измените размер контейнера формы, порт просмотра также изменит размер.

Единицей измерения для координаты левого края формы в порту просмотра служит значение, определяемое свойством формы ScaleMode – пиксели (по умолчанию) или фоксели.

Expand image Смотрите также

Справочное руководство

Свойство ScaleMode
Метод SetViewPort
Свойство ViewPortHeight
Свойство ViewPortTop
Свойство ViewPortWidth

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ViewPortTop Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ViewPortTop
Смотрите также
CollapseAll image

Содержит координату верха формы, которая видима в порте просмотра. Только для чтения в design time и run time.

Object.ViewPortTop

Expand image Примечания

Применяется к: Form Object

Порт просмотра (viewport) представляет собой квадратную площадь формы отображаемую в контнейнере формы. Контейнер формы управляет размером порта просмотра. Если вы измените размер контейнера формы, порт просмотра также изменит размер.

Единицей измерения для координаты верха порта просмотра служит значение, определяемое свойством формы ScaleMode – пиксели (по умолчанию) или фоксели.

Expand image Смотрите также

Справочное руководство

Свойство ScaleMode
Метод SetViewPort
Свойство ViewPortHeight
Свойство ViewPortLeft
Свойство ViewPortWidth

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ViewPortWidth Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ViewPortWidth
Смотрите также
CollapseAll image

Содержит ширину порта просмотра для формы. Только для чтения в design time и run time.

Object.ViewPortWidth

Expand image Примечания

Применяется к: Form Object

Порт просмотра (viewport) представляет собой квадратную площадь формы отображаемую в контнейнере формы. Контейнер формы управляет размером порта просмотра. Если вы измените размер контейнера формы, порт просмотра также изменит размер.

Единицей измерения размеров для порта просмотра, в данном случае - ширины, служит значение, определяемое свойством формы ScaleMode – пиксели (по умолчанию) или фоксели.

Expand image Смотрите также

Справочное руководство

Свойство ScaleMode
Метод SetViewPort
Свойство ViewPortHeight
Свойство ViewPortLeft
Свойство ViewPortTop

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visible Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Visible (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Определяет - будет ли объект видимым или скрытым. Доступно, как в design, так и в run time.

Object.Visible [= lExpr]

Expand image Возвращаемое значение

lExpr

Указывает значение, которое определяет будет ли объект видимым или скрытым.

В приведенной ниже таблице приведены возможные значения и их описание для lExpr.

lExpr Описание

True (.T.)

Объект является видимым. (По умолчанию в дизайнере форм)

False (.F.)

Объект скрыт. (По умолчанию в программнои коде)

Note Замечание

Даже если объект скрыт, тем не менее у вас есть доступ к нему в прораммном коде.

Note Совет

Для скрытия объекта при запуске, установите его свойство Visible в False (.F.) во время разработки. Если вы устанавливаете значение свойства Visible в программном коде, вы можете спрятать объект и отобразить его в run time в ответ на конкретное событие.

Expand image Примечания

Применеятся к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | FormSet | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | PageFrame | Project Object | _SCREEN | Separator | Shape | Spinner | TextBox | ToolBar

Для объектов Form, когда свойство Visible устанавливается в False (.F.), форма скрыта и бывшие последними из активных наборов форм, формы или прочие объекты становятся активными. Когда Visible устанавливается в True (.T.), форма становится видимой; однако, форма не становится активной. Чтобы сделать форму и видимой и активной в одном шаге, используйте метод Show. Для получения более подробной информации смотрите описание метода Show.

Note Замечание

Форма в объекте FormSet не отображается, когда его свойство Visible установлено в значение False (.F.), несмотря на то, что значение свойства Visible формы установлено в True (.T.). Однако, все формы в наборе форм скрыты, если значение свойства Visible набора форм установлено в False (.F.).

Установка свойства Visible формы в True (.T.) не действует на установку свойства Order формы.

Для объектов Separator, значение свойства Visible определяет - появится ли пробел в качестве разделителя, когда его свойство Style установлено в значение 0 (Normal - не отображать линию). Например, когда свойство разделителя Visible установлено в True (.T.), а его свойство Style установлено в значение 0, вместо разделителя появится пробел. Когда свойство Visible разделителя установлено в False (.F.), пробелы не появляются, независимо от установки свойства Style.

В версяих Visual FoxPro до 5.0, установка свойства Visible для системной переменной _SCREEN не имела никакого эффекта.

Expand image Пример

Приведенный ниже пример отображает форму с управляющим элементом line и тремя командными кнопками, основанными на трех раздельных пльзовательских классах CommandButton. Нажатие на кнопки "Slope Up" или "Slope Down" изменяет наклон линиии нажатие на на кнопку Quit завершает программу. Свойство Visible используется для отображения управляющих элементов в подходящее для этого время.

Приведенные ниже строки кода создают форму и запрещают кнопку Close, так что для выхода из программы должна быть использована кнопка Quit.

CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')
frmMyForm.Closable = .F.

Приведенные ниже строки кода используют метод AddObject для введения управляющего элемента Line и трех командных кнопок в форму.

CopyCode image Скопировать код
frmMyForm.AddObject('shpLine','Line')
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')

Свойство Visible устанавливается в значение True (.T.) для управляющих элементов line и командных кнопок для их отображения на форме. Свойства Top и Left определяют расстояние между управляющим элементом line и верхним левым углом формы.

CopyCode image Скопировать код
frmMyForm.shpLine.Visible = .T.
frmMyForm.cmdCmndBtn1.Visible =.T.
frmMyForm.cmdCmndBtn2.Visible =.T.
frmMyForm.cmdCmndBtn3.Visible =.T.
frmMyForm.shpLine.Top = 20
frmMyForm.shpLine.Left = 125

Метод Show отображает формы и начинает обработку событий с помощью команды READ EVENTS.

CopyCode image Скопировать код
frmMyForm.SHOW
READ EVENTS

Команда DEFINE CLASS определяет три пользовательских класса CommandButton и содержит установки для соответствующих свойств. В событии Click, свойство Visible прячет управляющий элемент line, для того, чтобы можно было изменить направление наклона и отображает его после произведенных изменений. Команда CLEAR EVENTS в событии Click треьуей кнопки останавливает обработку событий и закрывает форму.

CopyCode image Скопировать код
DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON
   Caption = 'Slope \<Up'
   Left = 50
   Top = 100
   Height = 25
   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.
      ThisForm.shpLine.LineSlant ='/'
      ThisForm.shpLine.Visible = .T.
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton
   Caption = 'Slope \<Down'
   Left = 200
   Top = 100
   Height = 25
   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.
      ThisForm.shpLine.LineSlant ='\'
      ThisForm.shpLine.Visible = .T.
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 150
   Height = 25
   PROCEDURE Click
      CLEAR EVENTS
ENDDEFINE

Expand image Смотрите также

Reference

Метод AddObject
Событие Click

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VisualEffect Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VisualEffect
Смотрите также
CollapseAll image

Предоставляет вам возможность применить поведения SpecialEffect программным способом для командных кнопок Visual FoxPro. Доступно только в run time.

CommandButton.VisualEffect[ = nValue]

Expand image Возвращаемое значение

nValue

Определяет формат установки управляющего элемента в соответствии с приведенной ниже таблицей:

Установка Описание

0

Нет. Существующий визуальный эффект не изменен.

1

Выпуклый. Дает визуальный эффект рельефа, похожий на эффект, получаемый при установке курсора мыши над объектом с установкой SpecialEffect=2 (Hot Tracking).

2

Утоплен. Дает визуальный эффект похожий на эффект когда машкой нажимается и удерживается командная кнопка.

Expand image Примечания

Применяется к: CommandButton

Поскольку установка Raised, соответствующая VisualEffect (1) конфликтует с установкой 3D SpecialEffect, значение VisualEffect равное 1 игнорируется если SpecialEffect = 0.

Expand image Смотрите также

Задачи

Образец созданиния панели инструментов управления эффектами

Справочное руководство

Свойство SpecialEffect
Свойство OLEDropEffects

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


VScrollSmallChange Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство VScrollSmallChange
Смотрите также
CollapseAll image

Определяет увеличение вертикальной прокрутки формы, когда вы щелкаете по стрелкам полосы вертикальной прокрутки. Доступно как в design time, так и в run time.

Object.VScrollSmallChange[ = nExpression]

Expand image Возвращаемое значение

nExpression

Определяет увеличение вертикальной прокрутки. Единица измерения определяется установкой свойства Scalemode. Значение по умолчанию является 10 пикселей, когда свойство Scalemode установлено в значение 3 - Pixels.

Expand image Примечания

Применяется к: Form

Expand image Смотрите также

Справочное руководство

Свойство HScrollSmallChange
Свойство ScaleMode
Свойство ScrollBars

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WhatsThisButton Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WhatsThisButton
Смотрите также
CollapseAll image

Определяет - покажется ли кнопка What's This в полоске заголовка формы. "Только для чтения" в run time.

Form.WhatsThisButton[ = lExpr]

Expand image Возвращаемое значение

lExpr

Одно из приведенного ниже:

Установка Описание

True (.T.)

Включает отображение кнопки What's This.

False (.F.)

(По умолчанию) Выключает отображение кнопки What's This.

Expand image Примечание

Применяется к: Form

Кнопка What's This не отображается в полоске заголовка формы, если свойство WhatsThisButton установлено в true (.T.), но при этом справедливо любое из приведенного ниже:

  • Свойство формы WhatsThisHelp установлено в false (.F).

  • Свойство формы BorderStyle установлено в значение 0 (None).

  • Свойство формы MinButton установлено в true (.T.).

  • Свойство формы MaxButton установлено в true (.T.).

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Свойство MaxButton
Свойство MinButton
Метод ShowWhatsThis
Свойство TitleBar
Метод WhatsThisMode
Свойство WhatsThisHelp
Свойство WhatsThisHelpID

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


WhatsThisHelp Property

Visual FoxPro 9.0 Описание Языка
WhatsThisHelp, свойство
См. также
CollapseAll image

Определяет, как используется Контекстно-Зависимая подсистема Помощи "What's This help", или стандартный файл Помощи, заданный в команде SET HELP.

Form.WhatsThisHelp[ = lExpr]

Expand image Возвращаемое значение

lExpr

Принимает одно из следующих допустимых Значений:

Значение Краткое Описание

True (.T.)

В Форме используется один из трех вариантов быстрой Помощи пользователю, типа What's This Help, открытие стандартного файла подсистемы помощи Windows, которая определена в команде SET HELP, открытие Раздела помощи, идентификатор которого указывается как значение свойства WhatsThisHelpID.

False (.F.)

(По-умолчанию) В форме используется "горячая" клавиша F1 для открытия файла Подсистемы Помощи, заданного в команде SET HELP. Идентификатор требуемого Раздела файла Помощи указывается как значения свойства HelpContextID.

Expand image Комментарии

Применяется В: Form, объект

Варианты подсистемы Помощи типа "What's This Help" представляют из себя следующее:

  1. Кнопка типа "What's This" (знак вопроса) отображается в полоске Заголовка рассматриваемой Формы. Когда указанная кнопка нажимается, изменяется Указатель мышки (стрелка со знаком вопроса). Требуемый раздел Помощи Отображается при нажатии на выбранный Контрол рассматриваемой Формы, при этом используется значение свойства WhatsThisHelpID указанного Контрола.

  2. Непосредственно (в программном коде) выполняется метод WhatsThisMode, изменяется указатель мышки (как описано выше), активируется Раздел Помощи, идентификатор которого определен как значение свойства WhatsThisHelpID интересующего Контрола.

  3. Непосредственно выполняется метод ShowWhatsThis для некоторого Контрола Формыl. Отображается требуемый Раздел файла Помощи, идентификатор которого указан как значение свойства WhatsThisHelpID.

Если указанный выше Файл Помощи представляет собой файл типа .HTML, например, в следующей форме: HelpFileName.chm, требуемый Раздел файла Помощи отображается с использованием подсистемы HTML Help Viewer. Если подсистема Помощи основана на старой технологии: в виде файла типа: HelpFileName.hlp, требуемый раздел помощи отображается как системное окно малого размера (типа PoPup Window).

Expand image См. также

Описание

HelpContextID, свойство (Visual FoxPro)
SET HELP, команда
ShowWhatsThis, метод
WhatsThisButton, свойство
WhatsThisMode, метод
WhatsThisHelpID, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


WhatsThisHelpID Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WhatsThisHelpID
Смотрите также
CollapseAll image

Указывает идентификатор ID содержанеия, соответствующего статье What's This Help или статье HTML Help объекта. Доступно как в design time, так и в run time.

Object.WhatsThisHelpID[ = nContextID]

Expand image Возвращаемое значение

nContextID

Указывает номер ID содержания соответствующей статьи в файле справки.

В приведенной ниже таблице перечислены значения для nContextID, а также действия, выполняемые когда производится щелчок по кнопке "What's This Help" в полоске заголовка.

nContextID Описание

Negative

Отображает всплывающее окно What's This Help с текстом"No Help topic is associated with this item (Для этого элемента не связанной с ним статьи спарвки)" или главную страницу справки файла HTML Help, если она доступна. (По умолчанию устанавливается в минус единицу, –1)

Zero

Производится поиск в иерархии объекта вплоть до первого объекта, у которого свойство WhatsThisHelpID содержит положительное значение. Если такой объект найден, Visual FoxPro отображает соответствующую статью справки What's This Help, если она доступна.

Если такой объект не найден, Visual FoxPro ничего не отображает.

Positive

Отображает статью справки What's This Help или статью HTML Help, отвечаюшей указанному nContextID.

Если для указанного nContextID не найдено соответствующей статьи, то Visual FoxPro отображает всплывающее окно What's This Help с текстом"No Help topic is associated with this item (Для этого элемента не связанной с ним статьи спарвки)" или главную страницу справки файла HTML Help, если она доступна..

Expand image Примечания

Применяется к : CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Shape | Spinner | TextBox | Timer | ToolBar

Expand image Смотрите также

Справочное руководство

Свойство HelpContextID (Visual FoxPro)
Команда SET HELP
Метод ShowWhatsThis
Свойство WhatsThisButton
Свойство WhatsThisHelp
Метод WhatsThisMode

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WhereType Property

Visual FoxPro 9.0 Описание Языка
WhereType, свойство
См. также
CollapseAll image

Определяет, как используется секция параметров WHERE в условиях выполнения операций обновления Данных (SQL). При работе с обычными курсорами Данных, рекомендуется использовать возможности функций: CURSORSETPROP( ) / CURSORGETPROP( ). Чтение/Запись для обычных режимов работы.

Note Обратите Внимание

Значение для свойства WhereType объекта типа CursorAdapter переопределяется при подсоединении рассматриваемого Курсора Данных к данному объекту CursorAdapter. Это означает, что изменение значения данного Свойства при помощи функции CURSORSETPROP() не имеет никакого значения (неэффективно).

CursorAdapter.WhereType [= nValue]

Expand image Возвращаемое значение

nValue

Числового типа (Numeric). В следующей таблице описываются допустимые значения для параметра nValue.

nValue Краткое Описание

1 или DB_KEY (из файла FOXPRO.H)

Включаются только Первичные Ключи, заданные в свойстве KeyFieldList.

2 или DB_KEYANDUPDATABLE (из файла FOXPRO.H)

Включаются Первичные Ключи, заданные в свойстве KeyFieldList, а также некоторые обновляемые Поля Курсора.

3 или DB_KEYANDMODIFIED (из файла FOXPRO.H)

Включаются Первичные Ключи, заданные в свойстве KeyFieldList, а также другие измененные Поля Курсора.

4 или DB_KEYANDTIMESTAMP (из файла FOXPRO.H)

Включаются Первичные Ключи, заданные в свойстве KeyFieldList, а также Поля, которые обновлены относительно штампа времени (time-stamp).

Expand image Комментарии

Применяется В: CursorAdapter, класс

При необходимости выполнения Операций удаления и обновления данных, CursorAdapter использует значение = 1 для рассматриваемого свойства CursorAdapter WhereType, при чем, независимо от текущей установки значения данного свойства. Тем не менее, CursorAdapter учитывает установку пользователя для данного свойства WhereType.

Expand image См. также

Описание

CursorAdapter, объект; Свойства, Методы, События
CURSORGETPROP( ), функция
CURSORSETPROP( ), функция
KeyFieldList, свойство

Другие ссылки

Свойства Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Width Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство Width
Смотрите также
CollapseAll image

Определяет ширину объекта. Доступно как в design time, так и в run time.

[Object.]Width[ = nWidth]

Expand image Возвращаемое значение

nWidth

Определяет ширину объекта.

Expand image Примечания

Применяется к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | Custom | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | PageFrame | _SCREEN | Shape | Spinner | TextBox | Timer | ToolBar

Используйте свойства Height, Width, Left и Top для операций или вычислений, основанных на общей площади объекта, таких операций, как изменение размеров объекта или его перемещение.

Для форм и элементов управления, значение этого свойства изменяется, если размеры объекта изменялись в процедурном коде пользователя. Максимальное значение этого свойства для всех объектов является системно-независимым.

Для форм, свойство Width определяет внешнюю ширину формы, включая ее бордюры. Если свойство ScrollBars установлено в значение, позволяющее использовать полосы прокрутки (scroll bars), Width не включает в себя пространство, занимаемое полосами прокрутки, когда они появляются в форме. В Visual FoxPro, максимальная ширина формы может быть увеличена приблизительно до 32,000 пикселей.

Для элементов управления, свойство Width измеряется от центра бордюра, поэтому такие элементы управления с разными бордюрами корректно выравниваются по ширине.

Note Замечание

Свойство Width получает признак "только для чтения", когда оно применяется к элементу управления, помещенному в объект Column.

Свойство Width определяется в единицах измерения, указанном в установке свойства ScaleMode.

Expand image Смотрите также

Справочное руководство

Свойство Height
Свойство Left(Visual FoxPro)
Метод Move (Visual FoxPro)
Свойство ScaleMode
Свойство Top (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WindowState Property (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WindowState (Visual FoxPro)
Смотрите также
CollapseAll image

Определяет вид отображения окна формы в run time - покажется ли она распахнутой на весь экран, минимизированной до размера иконки или в нормальном виде. Доступно как в design, так и в run time.

 [Object.]WindowState[ = nState]

Expand image Возвращемое значение

nState

Установами для свойства WindowState являются:

Установка Описание

0

Normal - нормальное окно

1

Minimized (minimized to an icon) - Минимизированное окно (минимизировано до размера иконки). Если главное окно Visual FoxPro было минимизировано, когда вы выходили из Visual FoxPro, то оно не будет отображено до выхода. Если ваше приложение отображает какой-либо диалог перед выходом, убедитесь, что установили свойство _SCREEN.WindowState в 0 до отображения диалога.

2

Maximized (enlarged to fill the screen) - Распахнуто на весь экран

Expand image Примечания

Применяется к: Form | _SCREEN

Expand image Смотрите также

Справочное руководство

Свойство Height
Свойство Left (Visual FoxPro)
Свойство Top (Visual FoxPro)
Свойство Width

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


WindowType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WindowType
Смотрите также
CollapseAll image

Определяет, как объект FormSet или Form ведет себя, когда он показывается или выполняется по команде DO FORM. Доступно на этапе разработки и во время выполнения.

Object.WindowType[ = nType]

Expand image Возвращаемое значение

nType

В случае объекта FormSet для свойства WindowType предусмотрены следующие установки:

Установка Описание

0

Немодальный.

1

Mодальный. Никакой другой объект Form не может стать активным, меню неактивно. Все объекты Form в составе FormSet активны.

2

Режим Read. Объект FormSet ведет себя так, словно он активизирован по команде READ. Выполнение прекращается на методе Show или на команде DO FORM. Когда объект Form деактивизируется, выполнение возобновляется. (Включена для совместимости с предыдущими версиями и доступна только для объектов Form, конвертированных из предыдущих версий FoxPro.)

3

Модальный режим Read. Объект FormSet ведет себя так, словно он активизирован по команде READ с предложением MODAL. Выполнение программы прекращается на методе Show или на команде DO FORM. Все объекты Form, заданные свойством WindowList, доступны, но остальные объекты Form, а также меню недоступны. (Включена для совместимости с предыдущими версиями и доступна только для объектов Form, конвертированных из предыдущих версий FoxPro.)

В случае объекта Form для свойства WindowType предусмотрены следующие установки:

Setting Description

0

Немодальный.

1

Модальный. Никакой другой объект Form не может стать активным, меню неактивно. Все объекты Form в составе FormSet активны.

Expand image Замечания

Применяется к: Form | FormSet | _SCREEN

Вы не сможете изменить установку WindowType, пока окно отображается.

Метод Show принимает параметр, который может отменить установку WindowType.

Note Примечание

Установка WindowType объекта FormSet отменяет действие установок WindowType входящих в его состав объектов Form. Например, если значение свойства WindowType объекта FormSet установлено равным 0, все содержащиеся в нем объекты Form будут немодальными, каковы бы ни были их индивидуальные установки свойства WindowType.

Expand image Смотрите также

Справочное руководство

DO FORM, команда
READ, команда
READ EVENTS, команда
Show, метод (Visual FoxPro)
WindowList, свойство

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


WordWrap Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WordWrap
Смотрите также
CollapseAll image

Определяет - как на управляющих элементах или объектах будет отображаться текст - в виде одной строки или в виде нескольких строк. Доступно как в design, так и в run time. Имеется две версии синтаксиса.

[Form.]Control.WordWrap [= lExpr]

Grid.Column.Header.WordWrap [= lExpr]

Expand image Возвращаемое значение

lExpr

Указывает логическое значение, которое показывает - будет-ли тексе отображаться на нескольких строках в управляющем элементе / объекте или нет

В приведенной ниже таблице перечислены возможные значения установки lExpr для управляющих элементов CheckBox, CommandButton, Label и OptionButton.

lExpr Описание

False (.F.)

Текст отображается на одной строке и появляется обрезанным, если не вмещается в управляющий элемент (используется по умолчанию).

True (.T.)

Текст отображается на нескольких строка, для того, чтобы разместиться в управляющем элементе.

Note Замечание

Когда свойство WordWrap установлено в True (.T.) для чек-боксов и радиокнопок, положение картинки на этих элементах определяется свойством PicturePosition. Для получение более подробной информации смотрите описание свойства PicturePosition.

В приведенной ниже таблице перечислены значения lExpr для объектов Header в колонках решетки.

lExpr Описание

False (.F.)

Текст отображается на одной строке и появляется обрезанным, если не вмещается в заголовок (используется по умолчанию)

True (.T.)

Текст размещается на нескольких строках и переносится для того, чтобы вместиться в границы колонки. Однако, текст появится обрезанным, если вы не установите высоту заголовка в значение, которое позволит вместиться тексту.

Note Совет

Для того, чтобы изменить высоту колонки, измените свойство HeaderHeight объекта Grid. Для получения более подробной информации смотрите описание свойства HeaderHeight.

Expand image Примечания

Применяется к: CheckBox | CommandButton | Header | Label | OptionButton

Для управляющих элементов CheckBox, CommandButton, Label и OptionButton, WordWrap определяет будет-ли текст, указанный в свойстве элементов Caption отображаться на одной или нескольких строках, для того, чтобы вместить весь текст. Для чек-боксов, командных кнопок и радиокнопок, текст всегла появляется отцентрованным по вертикали управляющегр элемента. Для меток, текст появляется сверху.

Note Совет

Свойство AutoSize управляюшего элемента определяет - будет ли элемент автоматически изменять свой размер, для того, чтобы вместить текст, указанный в свойстве Caption. Для автоматического изменения размера элемента, установите значение свойства AutoSize в True (.T.). В противном случае, вам необходимо вручную установить высоту управляющего элемента, для размещения в нем текста, размещенного в нескольких строках.

Для чек-боксов, радиокнопок и заголовков прижим текста определяется свойством Alignment. Для получения более подробной информации смотрите описание свойства Alignment.

Для объектов Header колонок решетки, свойство WordWrap определяет - будет ли текст, указанный в свойстве Caption переноситься, для того чтобы вместиться в границы колонки.

Note Замечание

Свойство WordWrap учитывает только символы CHR(10) (возврат каретки) и CHR(13)+CHR(10) (перевод строки и возврат каретки) для ручного переноса текста.

Expand image Смотрите также

Задачи

Как: выбрать, перенести и изменить размеры элементов на форме

Справочное руководство

Свойство Caption (Visual FoxPro)

Прочие ресурсы

Свойства (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WrapCharInCDATA Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WrapCharInCDATA
Смотрите также
CollapseAll image

Определяет - будут ли символьные поля обернуты секцией CDATA.

WrapCharInCDATA применяется только при исполнении приведенных ниже методов:

  • LoadXML

  • Attach

  • AddTableSchema

XMLAdapter.WrapCharInCDATA [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Description

False (.F.)

Не обертывает символьные поля секциями CDATA. (По умолчанию)

Ниже приведен фрагмент файла, в котором поле description не обернуто секцией CDATA.

WrapCharInCDATA set in False

True (.T.)

Обертывает символьные поля в секции CDATA.

Ниже приведен фрагмент файла, в котором поле description обернуто секцией CDATA.

WrapCharInCDATA set in False

Expand image Примечания

Применяется к: XMLAdapter Class

Методы LoadXML, Attach и AddTableSchema объекта XMLAdapter используют WrapCharInCDATA для установки свойства WrapInCDATA объекта XMLField для полей типа Character.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Класс XMLField
Свойство WrapCharInCDATA
Свойство WrapInCDATA

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WrapInCDATA Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WrapInCDATA
Смотрите также
CollapseAll image

Определяет - будет или нет поле заключаться в оболочку секций CDATA.

WrapInCDATA применяется только к Character, Character (Binary), Memo или Memo (Binary) полям при исполнение метода ToXML объекта XMLAdapter, который создает XML, согласующийся с его установками.

XMLField.WrapInCDATA [= lValue]

Expand image Возвращаемое значение

Логический тип данных. Значение WrapInCDATA устанавливается по умолчанию в значение, которое имеет свойства WrapMemoInCDATA или WrapCharInCDATA объекта XMLAdapter, которые применяются соответственно. В приведенной ниже таблице перечислены значения lValue.

lValue | Описание
True (.T.) | Поле заключается в оболочку секций CDATA.
False (.F.) | Соответственно - не заключается в секциях CDATA.

Expand image Примечания

Применяется к: классу XMLField

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField
Типы данных и полей Visual FoxPro
Метод ToXML
Свойство WrapMemoInCDATA
Свойство WrapCharInCDATA

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WrapMemoInCDATA Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство WrapMemoInCDATA
Смотрите также
CollapseAll image

Определяет - будут ли поля типа Memo обернуты в секции CDATA.

WrapMemoInCDATA применяется только при исполнении приведенных ниже методов объекта XMLAdapter:

  • LoadXML

  • Attach

  • AddTableSchema

XMLAdapter.WrapMemoInCDATA [= lValue]

Expand image Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены значения для lValue.

lValue Описание

False (.F.)

Не обертывает поля Memo секциями CDATA. (По умолчанию)

Ниже приведен фрагмент файла, в котором поле description не обернуто секцией CDATA.

WrapCharInCDATA set in False

True (.T.)

Обертывает поля Memo в секции CDATA.

Ниже приведен фрагмент файла, в котором поле description обернуто секцией CDATA.

WrapCharInCDATA set in False

Expand image Примечания

Применяется к: XMLAdapter Class

Методы LoadXML, Attach и AddTableSchema объекта XMLAdapter используют WrapCharInCDATA для установки свойства WrapInCDATA объекта XMLField для полей типа Memo.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Класс XMLField
Свойство WrapMemoInCDATA
WrapInCDATA

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XMLAdapter Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLAdapter
Смотри также

Содержит объектную ссылку на объект XMLAdapter в случае, если только коллекция Tables объекта XMLAdapter содержит объект XMLTable.

XMLTable.XMLAdapter

Возвращаемое значение/span>

Ссылка на объект. XMLAdapter содержит одно из приведенных значений:

  • Ссылка на объект XMLAdapter, чья коллекция Tables содержит объект XMLTable object

  • Пусто (.NULL.) - при следующих условиях:

    • Объект XMLTable создан сам по себе и не содержится ни в объекте XMLAdapter или не является дочерним объектом другого объекта XMLTable.

    • Когда объект XMLTable содержится в другом объекте XMLTable. Свойство ParentTable содержит объектную ссылку на родительский объект XMLTable.

Примечания

Применяется к: классу XMLTable

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта XMLTable
Класс XMLAdapter
Коллекция Tables (XMLAdapter)
Свойство ParentTable

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLConstraints Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLConstraints
Смотри также

Содержит объектную ссылку на объект ISchemaItemCollection после успешного завершения исполнения либо метода LoadXML, либо метода Attach объекта XMLAdapter.

Если методы LoadXML и Attach анализируют схему XML, то они устанавливают свойство XMLConstraints в соответствующее значение, хотя Visual FoxPro сам по себе не анализирует и не принуждает исполнять любые ограничения, декларируемые к коллекции XMLConstraints.

Object.XMLConstraints

Возвращамое значение

Ссылку на объект. XMLConstraints содержит объектную ссылку на объект ISchemaItemCollection или величину .NULL., в случае если значение не присвоено.

Примечания

Применяется к: классу XMLAdapter | классу XMLTable

Схема XML может содержать ограничения, которые связаны с ней. XMLConstraints предоставляет вам доступ к ограничениям, определенным внутри элемента DataSet.

Visual FoxPro не включает никакой функциональности в объект XMLAdapter , который использует эти ограничения, а вместо это предоставляет вам доступ, так чтобы вы могли получить информацию об ограничениях и, при необходимости, использовать их в вашем приложении.

В приведенном ниже образце XML отметьте для себя местонахождение ограничения по первичному ключу (Primary Key constraint):

Copy Code
<?xml version="1.0" encoding="Windows-1252"?>
<DataSet xmlns="http://tempuri.org/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true">
 <xs:complexType>
 <xs:choice maxOccurs="unbounded">
 <xs:element name="Tbl2">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="source"/>
 <xs:element name="num" type="xs:int"/>
 <xs:element name="xdtime" type="xs:dateTime"/>
 <xs:element name="xlog" type="xs:boolean"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:choice>
 </xs:complexType>
 <xs:unique name="Constraint1" msdata:PrimaryKey="true">
 <xs:selector xpath=".//Tbl2"/>
 <xs:field xpath="source"/>
 </xs:unique>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
 <Tbl2 diffgr:id="Tbl21" msdata:rowOrder="0">
 <source>Buckner </source>
 <num>9</num>
 <xdtime>2002-04-03T00:00:00.0000000-08:00</xdtime>
 <xlog>true</xlog>
 </Tbl2>
</NewDataSet>
 </diffgr:diffgram>
</DataSet>

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта XMLAdapter
Свойства , методы и события обхъекта XMLTable
Метод LoadXML
Метод Attach
Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLName Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLName
Смотрите также

Содержит следующие значения для указанных объектов:

XMLAdapter: XMLName содержит имя элемента, который определяет где искать элементы таблицы. Редактируемое.

Для получения подробной информации о том, как методы LoadXML и Attach объекта XMLAdapter смотри раздел Примечания.

XMLTable: XMLName содержит имя элемента для такой таблицы в XML документе. "Только для чтения", когда связано с объектом XMLAdapter.

XMLField: XMLName содержит элемент или аттрибут имени для такого поля в XML документе. "Только для чтения", когда прикреплено к объекту XMLTable.

Object.XMLName

Возвращаемое значение

Символьный тип данных. XMLName содержит символьную строку в Unicode или пустую строку (""), если не заполнено.

Замечание:
Перед присвоением значения свойству XMLName, вы должны преобразовать его в Unicode. Для обеспечения этого требования вы можете использовать функцию STRCONV( ).

Примечания

Применяется к: классу XMLAdapter | классу XMLTable | классу XMLField

Методы LoadXML и Attach объекта XMLAdapter устанавливают свойство XMLName следующим образом:

  • ADO.NET DataSet имя элемента для ADO.NET DataSet

  • "data" для ADO Recordset XML

  • Пустая строка ("") для Microsoft XML Data Reduced Schema (XDR) как используется by Microsoft SQL-XML

Если свойство XMLAdapter XMLName ничего не содержит, XMLTable ToCursor производит поиск для элементов таблица внутри элементных ссылок, определяемых свойством XMLAdapter IXMLDOMElement.

Метод XMLAdapter ToXML использует XMLAdapter XMLName как имя элемента DataSet. Если XMLName ничего не содержит, ToXML использует строку "VFPDataSet".

Методы XMLTable ChangesToCursor и ApplyDiffgram требуют, чтобы свойство XMLAdapter XMLName было установлено в непустое значение и чтобы XML документ был в формате DiffGram.

Смотрите также

Прочие ресурсы

Свойство
Свойства, методы и события объекта XMLAdapter
Свойства, методы и события объекта XMLTable
Свойства, методы и события объекта XMLField
Метод LoadXML
Метод Attach
Функция STRCONV( )
Метод ToCursor
Свойство IXMLDOMElement
Метод ToXML
Метод ChangesToCursor
Метод ApplyDiffgram

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


XMLNameIsXPath Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLNameIsXPath
Смотрите также
CollapseAll image

Определяет, будет ли свойство XMLName содержать выражение XPath. Read/write как в design time, так и в run time.

XMLTable.XMLNameIsXPath = [lValue]

Expand image Значение свойства/Возвращаемое значение

lValue

Логический тип данных. В приведенной ниже таблице перечислены возможные значения для lValue и их описание.

lValue Описание

False (.F.)

(по умолчанию) Свойство XMLName не содержит выражений XPath.

True (.T.)

Свойство XMLName содержит выражение XPath.

Expand image Примечания

Применяется к: XMLAdapter Class | XMLTable Class | Класс XMLField

Если вы измените значение этого свойства с True (.T.) на False (.F.), вы можете получить ошибке, если значение свойства XMLName содержит символы пробелов.

Для получения более подробной информации о выражениях XPath, смотрите справочное руководство по XPath в Microsoft Core XML Services 4.0 (MSXML4) SDK в библиотеке MSDN на сайте http://msdn.microsoft.com/library.

Expand image Смотрите также

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


XMLNamespace Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLNamespace
Смотри также

Содержит перечисленное ниже для указанных объектоа:

XMLAdapter: XMLNamespace содержит XML Namespace, к которому принадлежит XMLAdapter XMLName, если любое. Редактируемое (Read/write).

XMLTable: XMLNamespace содержит XML Namespace, к которому принадлежит XMLTable XMLName. Если свойство пустое, то вместо него используется значение из свойства XMLAdapter Namespace. Редактируемое (Read/write).

Замечание:
Свойство XMLTable XMLNameSpace используют только перечисленные методы: XMLTable ToCursor, ChangesToCursor и ApplyDiffgram. Свойство XMLField XMLName должно принадлежать тому же пространству имен, к которому принадлежит XMLTable XMLName.

Object.XMLNamespace

Возвращаемое значение

Символьный тип данных. XMLNamespace содержит символьную строку в кодировке Unicode или ничего не содержит, когда не заполнен.

Замечание:
Перед присвоением символьной величины свойству XMLNamespace, вы должны преобразовать значение в Unicode. Вы можете использовать функцию STRCONV( ) для обеспечения этого требования.

Примечания

Применяется к : классу XMLAdapter | классу XMLTable

Замечание:
Visual FoxPro не принимает во внимание значение свойства XMLTable XMLNamespace при вызове метода XMLAdapter ToXML. Вместо этого, он вставляет XMLTable XMLName и XMLField XMLName в XMLAdapter XMLNamespace.

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта XMLAdapter
Свойства, методы и события объекта XMLTable
Свойство XMLName
Метод ToXML
Метод ToCursor
Метод ChangesToCursor
Метод ApplyDiffgram
Функция STRCONV( )

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLPrefix Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLPrefix
Смотрите также

Содержит префикс, используемый для ссылки на свойство XMLNamespace соответствующего объекта.

Visual FoxPro игнорирует XMLPrefix до тех пор, пока свойство XMLNamespace для соответствующего объекта установлено в непустое значение. Метод ToXML объекта XMLAdapter сбрасывает свойство XMLPrefix объекта XMLTable.

Object.Prefix

Возвращаемое значение

Символьный тип данных. XMLPrefix содержит строку символов Unicode character string или пустую строку (""), когда не заполнено.

Замечание:
Перед присвоением строчного значения свойству XMLPrefix, вы должны преобразовать его в Unicode. Для осуществления этого требования вы можете использовать функцию STRCONV( ).

Примечания

Применяется к: класу XMLAdapter | классу XMLTable

Смотрите также

Прочие ресурсы

Свойство
Свойства, методы и события объекта XMLAdapter
Свойства, методы и события объекта XMLTable
Свойство XMLNamespace
Метод ToXML
Функция STRCONV( )

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLSchemaLocation Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLSchemaLocation
Смотрите также
CollapseAll image

Указывает информацию о схеме.

XMLSchemaLocation применяется только при исполнении перечисленных ниже методов объекта XMLAdapter:

  • LoadXML

  • Attach

  • ToXML

XMLAdapter.XMLSchemaLocation [= cValue]

Expand image Возвращаемое значение

Символьный тип данных. В приведенной ниже таблице перечислены возможные значения для cValue.

cValue Описание

"1"

LoadXML обрабатывает внутреннюю или внешнюю схему, если на нее имеется ссылка в XML документе. ToXML генерирует внутреннюю схему. (по умолчанию)

"schema location"

LoadXML обрабатывает внутреннюю или внешнюю схему, если на нее имеется ссылка в XML документе т если она доступна в нем. В противном случае, Visual FoxPro пытается загрузить схему из указанного места. ToXML генерирует внешнюю схему в указанном месте.

"" (Empty)

LoadXML не выполняет:

  • Обработку любых схем по время загрузки.

  • Изменение коллекции Tables.

  • установку свойство IsDiffGram.

ToXML не генерирует никаких схем.

Expand image Примечания

Применяется к: Класс XMLAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Коллекция Tables (XMLAdapter)
Свойство IsDiffGram

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


XMLTable Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLTable
Смотри также

Содержит объектную ссылку на связанный объект XMLTable.

XMLField.XMLTable

Возвращаемое значение

Объектная ссылка. XMLTable содержит объектную ссылку на связанный объект XMLTable.

Примечания

Применяется к: классу XMLField

Смотри также

Прочие ресурсы

Свойства
Сойства, методы и события объекта XMLField
Класс XMLTable

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XMLType Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XMLType
Смотри также

Содержит объектную ссылку на объект lSchemaType Microsoft XML Core Services (MSXML) 4.0, который содержит ограничения, шаблоны и прочее для поля.

Для получения подробной информации об объектах lSchemaType смотрите MSXML 4.0 SDK на сайте MSDN Library Web, находящемуся по адресу http://msdn.microsoft.com/library/.

XMLField.XMLType

Возвращаемое значение

Ссылка на объект. XMLType содержит объектную ссылку на объект MSXML 4.0 lSchemaType.

Примечания

Применяется к: классу XMLField

Смотри также

Прочие ресурсы

Свойства
Свойства, методы и события объекта XMLField

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XSDfractionDigits Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XSDfractionDigits
Смотрите также
CollapseAll image

Содержит значение fractionDigits определения XML Schema Definition (XSD), которое показывается справа от десятичной точки.

Note Замечание

XSDfractionDigits сбрасывается, пока свойство XSDtype объекта XMLField не будет иметь непустого значения.

Приведенные ниже методы XMLAdapter заполняют свойство XSDfractionDigits подобающим образом:

  • LoadXML

  • Attach

  • AddTableSchema

XMLField.XSDfractionDigits

Expand image Возвращаемое значение

Символьный тип данных. XSDfractionDigits определяет XSD десятичные числа.

Expand image Примечания

Применяется к: классу XMLField

При генерации XML с помощью метода ToXML объекта XMLAdapter вы можете установить это свойство, для указания ограничения fractionDigits в XSD схеме. Вам может потребоваться такое поведение, когда значение fractionDigits требуемое для схемы отличается от значения, которое Visual FoxPro мог бы в противном случае подсчитать. Visual FoxPro в этом случае не производит проверку правильности, поэтому вы должны убедиться, что данные отвечают ограничениям, выставляемым fractionDigits.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField
Свойство XSDtype
Класс XMLAdapter
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XSDmaxLength Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XSDmaxLength
Смотрите также
CollapseAll image

Содержит значение XML Schema Definition (XSD) maxLength.

Note Замечание

XSDmaxLength сбрасывается пока свойство XSDtype объекта XMLField содержит непустое значение.

Приведенные ниже методы объекта XMLAdapter заполняют свойство XSDmaxLength подобающим им образом:

  • LoadXML

  • Attach

  • AddTableSchema

XMLField.XSDmaxLength

Expand image Возвращаемое значение

Символьный тип данных. XSDmaxLength указывает XSD максимальное число единиц длины.

Expand image Примечания

Применяется к: классу XMLField

При генерации XML с помощью метода ToXML объекта XMLAdapter, вы можете установить это свойство для указания ограничения maxLength в схеме XSD. Вам может потребоваться такое поведение, когда значение maxLength, требуемое для схемы отличается от числа, которое Visual FoxPro мог бы в противном случае подсчитать. Visual FoxPro не производит проверку истинности в этой ситуации; поэтому вам необходимо убедиться в том, что данные отвечают ограничениям, выставляемым значением maxLength.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField
Свойство XSDtype
Класс XMLAdapter
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XSDtotalDigits Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XSDtotalDigits
Смотри также
CollapseAll image

Содержит значение totalDigits XML Schema Definition (XSD), которое определяет точность чисел.

Замечание Замечание

XSDtotalDigits не учитвается, пока свойства XMLField.XSDtype содержит непустое значение.

Свойство XSDtotalDigits заполняется должным образом приведенными ниже методами объектов XMLAdapter:

  • LoadXML

  • Attach

  • AddTableSchema

XMLField.XSDtotalDigits

Expand image Возвращаемое значение

Символьный тип данных. XSDtotalDigits определяет общее число цифр определения схемы XSD.

Expand image Примечания

Применяется к классу: XMLField

При генерации XML с помощью метода ToXML объектов XMLAdapter, вы можете установить значение для этого свойства с целью указания ограничений totalDigits в XSD схеме. Вам может потребоваться такое поведение в случае, когда значение totalDigits требуемое для схемы отличается от того, что мог бы в таком случае рассчитать Visual FoxPro. В такой ситуации Visual FoxPro не производит проверку действительности значений; поэтому вам необходимо убедиться, что данные отвечают ограничениям, налагаемым totalDigits.

Expand image Смотри также

Справочное руководство

Свойство, методы и события объекта XMLField
Свойство XSDtype
Класс XMLAdapter
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XSDtype Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство XSDtype
Смотрите также
CollapseAll image

Содержит тип данных аттрибута XML Schema Definition (XSD) или базис ограничения.

Перечисленные методы объекта XMLAdapter заполняют свойство XSDtype соответствующими значениями:

  • LoadXML

  • Attach

  • AddTableSchema

Например, xsd:int или xs:int типы данных XSD схемы из схемы XML хранятся как "int", без их префиксов в XSDtype.

XMLField.XSDtype

Expand image Возвращаемое значение

Символьный тип данных. XSDtype указывает XSD тип данных аттрибута или основу ограничения. Если значение XSDtype является пустым, то сбрасываются перечисленные ниже свойства XMLField:

  • XSDmaxLength

  • XSDfractionDigits

  • XSDtotalDigits

Expand image Примечания

Применяется к: классу XMLField

При генерации XML с помощью метода ToXML объекта XMLAdapter, вы можете установить это свойство, указав XSD тип данных в схеме XSD. Вам может потребоваться такое поведение в случаях, когда Visual FoxPro не поддерживает значения типа данных, требуемые для схемы. В этой ситуации Visual FoxPro не проверяет данные на действительность; поэтому вам необходимо убедиться, что данные отвечают ограничениям навязанные конкретным XSD типам данных.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLField
Класс XMLAdapter
Метод ToXML

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполне JS.


ZoomBox Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ZoomBox
Смотрите также
CollapseAll image

Включено для обратной совместимости с Macintosh. Определяет, имеет ли форма элемент увеличения. Доступно на этапе проектирования; чтение/запись на этапе выполнения.

CopyCode image Copy Code
Object.ZoomBox = lExpr

Expand image Property Values

lExpr

Установки для свойства ZoomBox следующие:

Установка Описание

True (.T.)

Элемент увеличения появляется в правом верхнем углу формы.

False (.F.)

(По умолчанию) Элемент увеличения не появляется в форме.

Expand image Примечание

Применимо к: Form

Expand image Смотрите также

Справочное руководство

Свойство BorderStyle
Свойство SizeBox

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_MemberData Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство _MemberData
Смотрите также
CollapseAll image

Указывает XML строку, которая содержит расширенные установки для Visual FoxPro на уровне класса. Например, вы можете указать редактор настраиваемых свойств, отобразить свойство на закладке Favorites или изменить капитализацию букв в названии свойства или метода. Редактируемое только в design time.

Class._MemberData = [cXMLstring]

Expand image Возвращаемое значение

cXMLString

Символьная строка XML, представляющая настройки.

Expand image Примечания

Вы можете комментировать подробности настроек MemberData XML. Добавляемые в _MemberData настройки является настройками как на уровне класса, так и на глобальном уровне. Уровень класса всегда переписывает глобальный уровень. На уровне класса поддержка обеспечивается свойством _MemberData . Свойство содержит XML строку, с реальными метаданными члена класса. Будучи свойством, оно наследуется и переписывается в субклассах.

Expand image Смотрите также

Справочное руководство

Структура таблицы IntelliSense

Концепции

Расширяемость MemberData

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Methods (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Методы (Visual FoxPro)
См. Также

Дополнительную Информацию о совместимости с младшими версиями VFP смотрите раздел: Обратная совместимость Элементов Языка (Visual FoxPro).

ActivateCell , метод

Add , метод (Collection Class)

Add , метод (File Object)

AddColumn , метод

AddItem , метод (Visual FoxPro)

AddListItem , метод

AddObject , метод

AddProperty , метод

AddTableSchema , метод

AddToSCC , метод

ApplyDiffgram , метод

Attach , метод (Visual FoxPro)

AutoFit , метод

AutoOpen , метод

Box , метод

Build , метод

CancelReport , метод

ChangesToCursor , метод

CheckIn , метод

CheckOut , метод

Circle , метод

CleanUp , метод

Clear , метод

ClearData , метод

ClearStatus , метод

CloneObject , метод

Close , метод (Visual FoxPro)

CloseTables , метод

Cls , метод

CursorAttach , метод

CursorDetach , метод

CursorFill , метод

CursorRefresh , метод

DataToClip , метод

DelayedMemoFetch , метод

DeleteColumn , метод

Dock , метод

DoMessage , метод

DoScroll , метод

DoStatus , метод

DoVerb , метод

Drag , метод

Draw , метод

Eval , метод

GetData , метод

GetDockState , метод

GetFormat , метод

GetKey , метод

GetLatestVersion , метод

GetPageHeight , метод

GetPageWidth , метод

Help , метод

Hide , метод

IncludePageInOutput , метод

IndexToItemID , метод

Item , метод (File Object)

ItemIDToIndex , метод

LoadXML , метод

Line , метод

Modify , метод

Move , метод (Visual FoxPro)

MoveItem , метод

Nest , метод

OLEDrag , метод

OnPreviewClose , метод

OutputPage , метод

Point , метод

Print , метод

PSet , метод

Quit , метод

ReadExpression , метод

Read, метод , метод

RecordRefresh , метод

Refresh , метод (Visual FoxPro)

Release , метод

ReleaseXML , метод

Remove , метод (File Object)

RemoveFromSCC , метод

RemoveItem , метод

RemoveListItem , метод

RemoveObject , метод

Render , метод

Requery , метод

RequestData , метод

Reset , метод

ResetToDefault , метод

Run , метод (Visual FoxPro)

SaveAs , метод (Visual FoxPro)

SaveAsClass , метод

SetAll , метод

SetData , метод

SetFocus , метод

SetFormat , метод

SetMain , метод

SetVar , метод

SetViewPort , метод

Show , метод (Visual FoxPro)

ShowWhatsThis , метод

SupportsListenerType , метод

TextHeight , метод

TextWidth , метод

ToCursor , метод

ToXML , метод

UndoCheckOut , метод

Unnest , метод

UpdateStatus , метод

WhatsThisMode , метод

WriteExpression , метод

WriteMethod, метод

ZOrder, метод

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


ActivateCell Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ActivateCell
Смотрите также
CollapseAll image

Активизирует ячейку в элементе управления сетка.

Grid.ActivateCell(nRow, nCol)

Parameters

nRow, nCol

Задает строку и столбец, содержащие активную ячейку.

Expand image Примечания

Применимо к: Элемент управления Grid

Expand image Смотрите также

Справочное руководство

Свойство ActiveColumn
Свойство ActiveRow
Метод GridHitTest

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Add Method (Collection Class)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Add ( Класс Collection)
Смотрите также Пример

Используется для добавления члена в коллекцию.

Объект члена коллекции может иметь любой действительный тип, который мог бы быть присвоен переменной памяти. Это включает простые типы данных, такие, как строки, числа, даты, логические или более сложные типа, такие, как объекты Visual FoxPro и объекты Component Object Model (COM).

Collection.Add( eItem [, cKey [, [eBefore |, eAfter ]]] )

Параметры

eItem

Определяет выражение любого типа, которое представляет члена, добавляемого в коллекцию. Обычно, это объект, хотя это может быть числом, строкой или членом, имеющим действительный тип.
cKey

Определяет необязательный, уникальный, алфавитно-цифровое (символьного типа) выражение, которое представляет собой ключевую строку, используемую вместо позиционного индекса и которая может быть использована для доступа к члену коллекции. Для коллекций, использующих ключи, cKey представляет собой регистро-чувствительный параметр, который не может быть пустым или представлять собой null значение (.NULL.). По соображениям эффективности либо все добавляемые в коллекцию члены должны иметь установленным параметр cKey, либо ни один из них. Первый элемент, добавляемый в коллекцию определяет поведение всей коллекции. Вы можете протестировать присутствие ключей в коллекции с помощью простейшего кода: GetKey(1). Если ключ для члена уже существует в коллекции - произойдет ошибка. Однако, так как cKey является регистро-чувствительным, если в коллекцию будут добавлены элементы с одним и тем же ключом, но с разными регистрами символов. Ключ включает в себя также все хвостовые пробелы, присутствующие в параметре cKey.
[, [ eBefore|, eAfter]]

Определяет необязательное выражение, которое представляет собой позицию, куда будет вставлен новый член - до или после существующего элемента коллекции. Вы можете указать либо eBefore, либо eAfter выражения, но не их обоих одновременно, что приведет к генерации соответствующего сообщения. Это выражение может быть одного из двух возможных типов:
  • Численное. Выражения eBefore и eAfter должны иметь значение в диапазоне от 1 до значения свойства Count коллекции.

  • Строковое. Выражения eBefore и eAfter должны соответсвовать cKey, который был указан для ссылаемого элемента, когда тот добавлялся в коллекцию.

Вставка нового элемента в коллекцию до или после уже существующего, требует, чтобы коллекция уже была коллекцией с ключами. Когда вы указываете значение cKey с параметром eBefore или eAfter, новый элемент добавляется до или после индексного значения указанного ключа. В этом случае, значение свойства KeySort объекта Collection не имеет воздействия на порядок ввода элементов. Например, предположим, что cKey для нового элемента имеет значение "ZZZ", а у существующего в коллекции элемента cKey был определен при вводе, как "YYY" и его индексное значение равно 15. Новый элемент должен получить индексное значение 15, а уже существующий получит новое значение индекса, равное 16. Для вставки нового элемента перед существующим элементом коллекции, включите ключ элемента коллекции, в качестве которого вы желаете вставить новый элемент перед уже существующим до ключа существующего элемента, как это показано в приведенном ниже примере:
Скопировать код
loItems.Add("Roses", "flower1", "flower2")
Для того, чтобы вставить новый элемент после существующего в коллекции элемента, включите клю элемента, который вы желаете вставить в коллекцию после ключа уже существующего элемента коллекции. Дополнительно, вы должны направить методу пустой третий параметр, для eBefore, как это показано в приведенном ниже примере:
Скопировать код
loItems.Add("Orchids", "flower3",, "flower2")
Если eBefore и eAfter не ссылаются на существующего члена коллекции, произойдет ошибка. Visual FoxPro добавляет элемент в конец коллекции, если ни eBefore, ни eAfter не указаны.

Примечания

При добавлении объектов в коллекции, Visual FoxPro увеличивает счетчик ссылок для этого объекта. В соответствии с обычным поведением объектов вVisual FoxPro, вы может освободить объект, только в случае, когда его счетчик ссылок равен нулю. Поэтому, вы должны убедиться, что ссылка на объект в коррекции освобождена, когда вы освобождаете объект; в противном случае, Visual FoxPro не удаляет объект полностью из памяти.

Вы не ограничены в числе элементов, которые вы можете добавить в коллекцию. Однако, размер коллекции может подействовать на эффективность операци, таких как доступ, поиск и прохождение по элементам в коллекции. Например, создание большой коллекции, основанной на записях из очень большой таблицы (.dbf) не рекомендуется, так как вы не сможете использовать оптимизацию запроса и прочиек возможности, связанные с родным движком обработки данных Visual FoxPro.

Вы можете иметь коллекцию коллекций, так как сама коллекция представляет собой объект. Избегайте, однако, создания циркулярных ссылок, таких как попытка добавить внешнюю коллекцию, во внутреннюю.

Ввод массивов, как элементов в коллекцию, унаследованную из базового класса имеет ограниченное использование, так как нет простого пути для ссылки на все элементы массива. Примем во внимание приведенный ниже пример:

Скопировать код
DIMENSION x[3]
x[1] = 1
x[2] = 22
x[3] = 333
y = CREATEOBJECT("collection")
y.Add(@x)
z = y.item(1) && Возвращает именно первый элемент
? z[2] && Ошибка

Поэтому, вы должны создать субкласс со специальной обработкой такого сценария.

Вы можете послать значение NULL как тип элемента и использовать фукнции TYPE( ) и VARTYPE( ) для запроса типа элемента коллекции.

Вы можете добавлять элементы смешанных типов. Однако, Visual FoxPro не обеспечивает соблюдения безопасности типа, так что должны предоставить это в классе, если это требуется. Если в качестве определенного параметра посылается некорректный тип, происходит ошибка.

Включите команду NODEFAULT в метод Add для объектов коллекции, для предотвращения ввода конкретного элемента в коллекцию.

Пример

Приведенный ниже пример иллюстрирует следующие задачи:

  • Добавляет четыре элемента в коллекцию, используя параметр cKey.

  • Добавляет второй элемент с ключом, который предшествует первому элементы, путем использования параметра eBefore.

  • Добавляет четвертый элемент с ключом, который следует за первым введенным элементов, путем использования параметра eAfter.

  • Проходит через все элементы коллекции, отображая их на экране.

Скопировать код
CLEAR
LOCAL loItems, lcFlower
loItems = NEWOBJECT("Collection")
loItems.Add("Daffodils", "flower2")
* Добавляет "Roses" с ключом "flower1" перед "flower2".
loItems.Add("Roses", "flower1", "flower2")
loItems.Add("Daisies", "flower4")
* Добавляет "Orchids" с ключом "flower4" после "flower2".
loItems.Add("Orchids","flower3",,"flower2")
FOR EACH lcFlower IN loItems
? lcFlower
ENDFOR

Следующий пример генерирует ошибку, так как вы не можете одновременно указать оба - .eBefore и eAfter параметра.

Скопировать код
* Генерирует ошиюка, так как указаны оба параметра eBefore и eAfter.
loItems.Add("Violets","flower5","flower2","flower1")

Смотрите также

Прочие ресурсы

Свойства, методы и события объекта Collection
Класс Collection
Свойство KeySort
Методы
TYPE( ) функция
VARTYPE( ) функция
NODEFAULT команда

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Add Method (File Object)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Add (File Object)
Смотрите также Пример
CollapseAll image

Добавляет файл в проект.

Object.Add(cFileName)

Параметры

cFileName

Определяет имя файла, для добавления в проект. Если файл, который вы определяете, не существует генерируется сообщение об ошибке. Если открыто окно Project Manager, то оно обновляется после добавления файла.

Expand image Возвращаемое значение

Объект

Expand image Примечание

Применимо к: Files Collection

Метод Add - метод для коллекции файлов. Когда файл добавлен к проекту методом Add, для файла создается объект File, и объект File добавляется в колекцию Files.

Ссылка на объект для добавляемого файла возвращается если файл успешно добавлен в проект. Значение null возвращается, если файл не может быть добавлен в проект.

Событие QueryAddFile происходит непосредственно перед тем, как файл добавлен в проект. Если задан NODEFAULT в событии QueryAddFile, файл не добавляется в проект.

Включите NODEFAULT в событие QueryAddFile для предотваращения добавления файла в проект.

Expand image Пример

Следующий пример программно создает проект и затем строит выполнимое (EXE) из проекта. Используется метод Add для добавления програмного кода в проект.
CopyCode image Copy Code
SET SAFETY OFF
LOCAL lcCode
TEXT TO lcCode NOSHOW
CLEAR
PUBLIC loForm

SET TALK OFF
SET DELETED ON
SET EXCLUSIVE OFF
SET CENTURY ON

ON SHUTDOWN clear events
loForm = CREATEOBJECT('Test1')
loForm.Show(0)
READ EVENTS
ON SHUTDOWN
RETURN

DEFINE CLASS Test1 as Form
 Top = 0
 Left = 0
 Width = 240
 Height = 150
 Caption = 'Add Method sample'
 ShowWindow = 2

 ADD OBJECT cmdClose as CommandButton WITH ;
  Caption = '\<Close', ;
  Top = 80, ;
  Left = 80, ;
  Height = 24, ;
  Width = 80

 ADD OBJECT lblTitle as Label WITH ;
  Top = 30, ;
  Left = 40, ;
  Height = 34, ;
  Width = 160, ;
  Caption = 'This sample was made programmatically.';
  WordWrap = .t.

 PROCEDURE Init
  SET TALK off
  ThisForm.AutoCenter = .t.
 ENDPROC
 PROCEDURE Unload
  CLEAR EVENTS
 ENDPROC
 PROCEDURE cmdClose.Click
  ThisForm.Release()
 ENDPROC
ENDDEFINE
ENDTEXT

STRTOFILE(lcCode, 'addsample.prg')
CREATE PROJECT 'AddSample' NOSHOW NOWAIT SAVE
LOCAL loPJX
loPJX = _VFP.ActiveProject
WITH loPJX
 .Files.Add('addsample.prg')
 .SetMain('addsample.prg')
 .Build('addsample.exe',3,.t.,.t.,.f.)
 .Close()
ENDWITH
RUN /n addsample.exe

Expand image Смотрите также

Справочное руководство

Объект File (Visual FoxPro)
Событие QueryAddFile
Команда NODEFAULT

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AddColumn Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод AddColumn
Смотрите также
CollapseAll image

Добавляет объект Column в элемент управления Grid.

Grid.AddColumn(nIndex)

Параметры

nIndex

Задает число, представляющее в элементе управления Grid позицию, в которую добавляется новый объект Column..

Expand image Замечания

Применяется к: Grid Control

При каждом вызове метода AddColumn( ) существующие объекты Column смещаются вправо, и их свойство ColumnOrder увеличиваются на 1. Свойство ColumnCount элемента управления Grid также увеличивается на 1.

Массив свойств элемента управления Grid увеличивается на один элемент и в него помещается ссылка на новый столбец. По умолчанию новый столбец получает уникальное имя вида "ColumnN", где N - первый свободный номер столбца вида "ColumnN". Уникальное имя может назначаться программно.

Например, для того чтобы добавить новый столбец и присвоить ему новое имя можно выполнить следующий код:

CopyCode image Скопировать код
THISFORM.Grid1.AddColumn(1)   && Insert column at left.
THISFORM.Grid1.Columns(THISFORM.Grid1.ColumnCount).Name = "NewColumn"
THISFORM.Grid1.NewColumn.ControlSource = "Customer.CustID"

Expand image Смотрите также

Справочное руководство по языку

Метод AddObject
Метод DeleteColumn
Свойство ColumnCount (Visual FoxPro)

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


AddItem Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
AddItem Method (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Вводит новый предмет в списки элементов управления ComboBox или ListBox, дополнительно позволяя вам указать его индекс.

Control.AddItem(cItem [, nIndex] [, nColumn])

Параметры

cItem

Определяет строковое выражение для ввода в элемент управления.

nIndex

Определяет позицию в списке предметов элемента управления, в которую будет помещен новый элемент. Если вы предоставили действительное значение для необязательного параметра nIndex, cItem помещается в указанную позицию в списке элемента управления. Если вы указали nIndex, который уже существует, предмет вставляет в эту позицию, а все предметы под этим предметов смещаются на одну позицию вниз в списочной части ComboBox или ListBox.

Если вы опустите nIndex, а свойство Sorted установлено в значение True (.T.), то cItem добавляется с учетом алфавитного порядка сортировки. Если вы опустите nIndex, а свойство Sorted установлено в значение False (.F.), то cItem добавляется в конец списочной части ComboBox или ListBox.

nColumn

Указывает колонку элемента управления, в которую добавляется новый предмет. По умолчанию подразумевается первая колонка.

Expand image Примечания

Когда свойство RowSourceType установлено в 0 (None), то для добавления нового предмета используйте метод AddItem или AddListItem.

Каждый предмет, добавленный в ComboBox или ListBox имеет два присвоенных ему идентификационных номера:

  • nItemID, целое число, соответствующее уникальному ID предмета в элементе управления: первому предмету соответствует nItemID = 1 до тех пор, пока для него не указан другой nItemID.

  • nIndex, целое число, соответствующее порядку, в котором предмет отображается элементов управления: первому предмету в элементе управления соответствует nIndex = 1.

Метод AddItem всегда вставляет новую строку в многоколоночный ComboBox или ListBox. После того, как строка вставлена, колонки в этой строке должны быть заполнены с помощью синтаксиса .List(.NewIndex, nColumn).

Обратный слэж ("\") трактуется как специальный характер в случае, когда он используется в выражении для предмета. Для этого символа применяются приведенные ниже правила:

  • Вы можете заблокировать предмет в listbox или combobox с помощью одиночного обратного слэжа, если он находится в начале выражения. Когда вы таким способом блокируете предмет, он блокируется только для доступа к нему в помощью мыши, однако, пользователь продолжает иметь к нему доступ с помощью клавиатуры. Для полного блокирования предмета от доступа либо с помощью мыши, либо с помощью клавиатеры, добавьте к обратному слэжу закрывающую квадратную скобку ("\]").

  • Любое множество парных обратных слэжей, используемых в выражении отображается в виде одного. Например, один или два используемых вместе обратных слэжа, будут отображать один. Если в выражении присутствует три или четыре, то будут отображаться два и так далее. В приведенном ниже коде примера, используется предмет элемента управления listbox, содержащий путь в виде Universal Naming Convention (UNC). Код отобразит его в списке как \\MyServer\MyMachine\MyFolder.

    CopyCode image Скопировать код
    MyForm.List1.AddItem("\\\\MyServer\\MyMachine\\MyFolder")

  • Если выражение начинается с множества обратных слэжей, предмет не отображается. Если вы желаете заблокировать предмет, который начинается с множества обратных слэжей, добавьте в начало выражения обратный слэж в сочетании с закрывающей квадратной скобкой (]). Например, примеденный ниже пример блокирует предмет, выражающий путь в виде UNC в списке элемента управления listbox.

    CopyCode image Скопировать код
    MyForm.List1.AddItem("\]\\\MyServer\\MyMachine\\MyFolder")

  • Для того, чтобы включить линию разделителя, используйте обратный слэж в сочетании со значком переноса в качестве предмета, добавляемого в listbox. Например, приведенный ниже код добавляет линию разделителя в элемент управления listbox.

    CopyCode image Скопировать код
    MyForm.List1.AddItem("\-")

Expand image Пример

Этот пример демонстрирует использование методов AddItem и AddListItem для ввода значений в массив ListItem. Для понимания показаны правильный и неправильный пути добавления предмета в массив.
CopyCode image Скопировать код
PUBLIC ofrmListExamples
ofrmListExamples=NEWOBJECT("frmListExamples")
ofrmListExamples.Show
RETURN

DEFINE CLASS frmListExamples AS form

 DataSession = 2
 Top = 0
 Left = 0
 Height = 262
 Width = 325
 Caption = "List and ListItem Array Пример"
 Name = "frmListExamples"

 ADD OBJECT shape1 AS shape WITH ;
  Top = 43, ;
  Left = 32, ;
  Height = 76, ;
  Width = 261, ;
  SpecialEffect = 0, ;
  Name = "Shape1"

 ADD OBJECT cbolistbad AS combobox WITH ;
  ColumnCount = 3, ;
  ColumnWidths = "100,100,50", ;
  Height = 22, ;
  Left = 111, ;
  Sorted = .T., ;
  Style = 2, ;
  TabIndex = 1, ;
  Top = 53, ;
  Width = 147, ;
  Name = "cboListBad"

 ADD OBJECT cbolistitem AS combobox WITH ;
  ColumnCount = 3, ;
  ColumnWidths = "100,100,50", ;
  Left = 34, ;
  Sorted = .T., ;
  Style = 2, ;
  TabIndex = 3, ;
  Top = 154, ;
  Name = "cboListItem"

 ADD OBJECT label1 AS label WITH ;
  FontBold = .T., ;
  Caption = "Using the List Array:", ;
  Height = 17, ;
  Left = 34, ;
  Top = 24, ;
  Width = 176, ;
  TabIndex = 7, ;
  Name = "Label1"

 ADD OBJECT label2 AS label WITH ;
  FontBold = .T., ;
  Caption = "Using the ListItem Array:", ;
  Height = 17, ;
  Left = 34, ;
  Top = 135, ;
  Width = 173, ;
  TabIndex = 8, ;
  Name = "Label2"

 ADD OBJECT cbolistgood AS combobox WITH ;
  ColumnCount = 3, ;
  ColumnWidths = "100,100,50", ;
  Height = 22, ;
  Left = 111, ;
  Sorted = .T., ;
  style = 2, ;
  TabIndex = 2, ;
  Top = 86, ;
  Width = 147, ;
  Name = "cboListGood"

 ADD OBJECT label3 AS label WITH ;
  Alignment = 1, ;
  Caption = "Wrong!", ;
  Height = 17, ;
  Left = 51, ;
  Top = 56, ;
  Width = 47, ;
  TabIndex = 9, ;
  Name = "Label3"

 ADD OBJECT label4 AS label WITH ;
  Alignment = 1, ;
  Caption = "Right!", ;
  Height = 17, ;
  Left = 58, ;
  Top = 89, ;
  Width = 40, ;
  TabIndex = 10, ;
  Name = "Label4"

 PROCEDURE cbolistbad.Init
  WITH This
   .AddItem( 'Cleveland' )
   .AddItem( 'Ohio', .NewIndex, 2 )
   .AddItem( '44122', .NewIndex, 3 )
   .AddItem( 'Caversham' )
   .AddItem( 'England', .NewIndex, 2 )
   .AddItem( 'RG4 8BX', .NewIndex, 3 )
   .AddItem( 'Buffalo' )
   .AddItem( 'New York', .NewIndex, 2 )
   .AddItem( '14228', .NewIndex, 3 )
   .AddItem( 'Milwaukee' )
   .AddItem( 'Wisconsin', .NewIndex, 2 )
   .AddItem( '43225', .NewIndex, 3 )
   .AddItem( 'International Falls')
   .AddItem( 'Minnesota', .NewIndex, 2 )
   .AddItem( '42666', .NewIndex, 3 )
  ENDWITH
 ENDPROC

PROCEDURE cbolistgood.Init
  WITH This
   .AddItem( 'Cleveland' )
   .List[.NewIndex, 2] = 'Ohio'
   .List[.NewIndex, 3] = '44122'
   .AddItem( 'Caversham' )
   .List[.NewIndex, 2] = 'England'
   .List[.NewIndex, 3] = 'RG4 8BX'
   .AddItem( 'Buffalo' )
   .List[.NewIndex, 2] = 'New York'
   .List[.NewIndex, 3] = '14228'
   .AddItem( 'Milwaukee' )
   .List[.NewIndex, 2] = 'Wisconsin'
   .List[.NewIndex, 3] = '43225'
   .AddItem( 'International Falls' )
   .List[.NewIndex, 2] = 'Minnesota'
   .List[.NewIndex, 3] = '42666'
  ENDWITH
 ENDPROC

 PROCEDURE cbolistitem.Init
  WITH This
   .AddListitem( 'Cleveland' )
   .AddListItem( 'Ohio', .NewItemID, 2 )
   .AddListItem( '44122', .NewItemID, 3 )
   .AddListItem( 'Caversham' )
   .AddListItem( 'England', .NewItemID, 2 )
   .AddListItem( 'RG4 8BX', .NewItemID, 3 )
   .AddListItem( 'Buffalo' )
   .AddListItem( 'New York', .NewItemID, 2 )
   .AddListItem( '14228', .NewItemID, 3 )
   .AddListItem( 'Milwaukee' )
   .AddListItem( 'Wisconsin', .NewItemID, 2 )
   .AddListItem( '43225', .NewItemID, 3 )
   .AddListItem( 'International Falls')
   .AddListItem( 'Minnesota', .NewItemID, 2 )
   .AddListItem( '42666', .NewItemID, 3 )
  ENDWITH
 ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Метод AddListItem
Метод Clear
Свойство List
Свойство ListIndex (Visual FoxPro)
Свойство ListItemID
Свойство RowSourceType
Метод RemoveItem
Свойство Sorted

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AddListItem Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод AddListItem
Смотрите также Пример
CollapseAll image

Добавляет новый предмет в элемент управления ComboBox или ListBox, дополнительно предоставляя вам возможность указать идентификатор предмета ID.

Control.AddListItem(cItem [, nItemID] [, nColumn])

Параметры

cItem

Определяет предмет для ввода в элемент управления.

nItemID

Указывает целое число, представляющее уникальный ID предмета в элементе управления. Максимальное значение, которое вы можете указать для nItemID равно 32,767.

Если вы опустили nItemID а свойство Sorted установлено в True (.T.), cItem автоматически добавляется следуя алфавитному порядку сортировки. Если вы опустили nItemID, а свойство Sorted установлено в False (.F.), cItem добавляется в конец списка элементов управления ComboBox или ListBox.

nColumn

Определяет колонку элемента управления, в которую добавляется новый предмет. По умолчанию это значение равно 1.

Expand image Примечания

Применяется к: ComboBox Control | ListBox Control

Используйте методы AddItem или AddListItem, когда свойство RowSourceType установлено в 0 (None).

Каждый предмет, добавляемый в ComboBox или ListBox имеет два присвоенных ему идентифкационных номера :

  • nItemID, целое число, соответствующее уникальному ID предмета в элементе управления: первый предмет соответствует nItemID = 1 до тех пор, пока не будет указан другой nItemID.

  • nIndex, целое число, соответствующее порядку, в котором предметы отображаются в элементе управления: первый предмет соответствует nIndex = 1.

Обратный слэж ("\") трактуется, как специальный символ при использовании в предмете выражения. К этому символу применяются следующие правила:

  • Вы можете заблокировать (disable) предмет в Listbox или Combobox вводом единичного обратно слэжа в выражение.

  • Любые множества двойных обратных слэжей используемых в выражении отображаюст в виде одного. Например, один или два обратных слэжей, используемых вместе будут отображаться как один, три или четрые - как два. Приведенный ниже код примера содержит предмет Listbox содержащий путь выраженный в Universal Naming Convention (UNC). Код отображается в списке, как \\MyServer\MyMachine\MyFolder.

    CopyCode image Скопировать код
    MyForm.List1.AddItem("\\\\MyServer\\MyMachine\\MyFolder")

  • Если выражения начинается с нескольких обратных слэжей, предмет не блокируется. Если вы желаете заблокировать предмет, который начинается с нескольких обратных слэжей, введите в начале выражения обратный слэж, к которому добавльте закрывающую квадратную скобку (]). Например, приведенное ниже заблокирует предмет с UNC путем в списке элемента управления Listbox:

    CopyCode image Скопировать код
    MyForm.List1.AddItem("\]\\\MyServer\\MyMachine\\MyFolder")

  • Для того, чтобы включить в список линию разделителя, используйте в качестве добавляемого в список предмета сочетание из обратного слэжа и знака переноса. Например, приведенный ниже код добавляет линию разделитель в Listbox.

    CopyCode image Скопировать код
    MyForm.List1.AddItem("\-")

Expand image Пример

Этот пример демонстрирует использование методов AddItem и< b>AddListItem для ввода значений в массив ListItem. Оба, и правильный и неправильный пути заполнения элемента управления Combobox, показаны для ясности.
CopyCode image Скопировать код
PUBLIC ofrmListExamples
ofrmListExamples=NEWOBJECT("frmListExamples")
ofrmListExamples.Show
RETURN

DEFINE CLASS frmListExamples AS form

 DataSession = 2
 Top = 0
 Left = 0
 Height = 262
 Width = 325
 Caption = "List and ListItem Array Пример"
 Name = "frmListExamples"

 ADD OBJECT shape1 AS shape WITH ;
  Top = 43, ;
  Left = 32, ;
  Height = 76, ;
  Width = 261, ;
  SpecialEffect = 0, ;
  Name = "Shape1"

 ADD OBJECT cbolistbad AS combobox WITH ;
  ColumnCount = 3, ;
  ColumnWidths = "100,100,50", ;
  Height = 22, ;
  Left = 111, ;
  Sorted = .T., ;
  Style = 2, ;
  TabIndex = 1, ;
  Top = 53, ;
  Width = 147, ;
  Name = "cboListBad"

 ADD OBJECT cbolistitem AS combobox WITH ;
  ColumnCount = 3, ;
  ColumnWidths = "100,100,50", ;
  Left = 34, ;
  Sorted = .T., ;
  Style = 2, ;
  TabIndex = 3, ;
  Top = 154, ;
  Name = "cboListItem"

 ADD OBJECT label1 AS label WITH ;
  FontBold = .T., ;
  Caption = "Using the List Array:", ;
  Height = 17, ;
  Left = 34, ;
  Top = 24, ;
  Width = 176, ;
  TabIndex = 7, ;
  Name = "Label1"

 ADD OBJECT label2 AS label WITH ;
  FontBold = .T., ;
  Caption = "Using the ListItem Array:", ;
  Height = 17, ;
  Left = 34, ;
  Top = 135, ;
  Width = 173, ;
  TabIndex = 8, ;
  Name = "Label2"

 ADD OBJECT cbolistgood AS combobox WITH ;
  ColumnCount = 3, ;
  ColumnWidths = "100,100,50", ;
  Height = 22, ;
  Left = 111, ;
  Sorted = .T., ;
  style = 2, ;
  TabIndex = 2, ;
  Top = 86, ;
  Width = 147, ;
  Name = "cboListGood"

 ADD OBJECT label3 AS label WITH ;
  Alignment = 1, ;
  Caption = "Wrong!", ;
  Height = 17, ;
  Left = 51, ;
  Top = 56, ;
  Width = 47, ;
  TabIndex = 9, ;
  Name = "Label3"

 ADD OBJECT label4 AS label WITH ;
  Alignment = 1, ;
  Caption = "Right!", ;
  Height = 17, ;
  Left = 58, ;
  Top = 89, ;
  Width = 40, ;
  TabIndex = 10, ;
  Name = "Label4"

 PROCEDURE cbolistbad.Init
  WITH This
   .AddItem( 'Cleveland' )
   .AddItem( 'Ohio', .NewIndex, 2 )
   .AddItem( '44122', .NewIndex, 3 )
   .AddItem( 'Caversham' )
   .AddItem( 'England', .NewIndex, 2 )
   .AddItem( 'RG4 8BX', .NewIndex, 3 )
   .AddItem( 'Buffalo' )
   .AddItem( 'New York', .NewIndex, 2 )
   .AddItem( '14228', .NewIndex, 3 )
   .AddItem( 'Milwaukee' )
   .AddItem( 'Wisconsin', .NewIndex, 2 )
   .AddItem( '43225', .NewIndex, 3 )
   .AddItem( 'International Falls')
   .AddItem( 'Minnesota', .NewIndex, 2 )
   .AddItem( '42666', .NewIndex, 3 )
  ENDWITH
 ENDPROC

 PROCEDURE cbolistitem.Init
  WITH This
   .AddListitem( 'Cleveland' )
   .AddListItem( 'Ohio', .NewItemID, 2 )
   .AddListItem( '44122', .NewItemID, 3 )
   .AddListItem( 'Caversham' )
   .AddListItem( 'England', .NewItemID, 2 )
   .AddListItem( 'RG4 8BX', .NewItemID, 3 )
   .AddListItem( 'Buffalo' )
   .AddListItem( 'New York', .NewItemID, 2 )
   .AddListItem( '14228', .NewItemID, 3 )
   .AddListItem( 'Milwaukee' )
   .AddListItem( 'Wisconsin', .NewItemID, 2 )
   .AddListItem( '43225', .NewItemID, 3 )
   .AddListItem( 'International Falls')
   .AddListItem( 'Minnesota', .NewItemID, 2 )
   .AddListItem( '42666', .NewItemID, 3 )
  ENDWITH
 ENDPROC

 PROCEDURE cbolistgood.Init
  WITH This
   .AddItem( 'Cleveland' )
   .List[.NewIndex, 2] = 'Ohio'
   .List[.NewIndex, 3] = '44122'
   .AddItem( 'Caversham' )
   .List[.NewIndex, 2] = 'England'
   .List[.NewIndex, 3] = 'RG4 8BX'
   .AddItem( 'Buffalo' )
   .List[.NewIndex, 2] = 'New York'
   .List[.NewIndex, 3] = '14228'
   .AddItem( 'Milwaukee' )
   .List[.NewIndex, 2] = 'Wisconsin'
   .List[.NewIndex, 3] = '43225'
   .AddItem( 'International Falls' )
   .List[.NewIndex, 2] = 'Minnesota'
   .List[.NewIndex, 3] = '42666'
  ENDWITH
 ENDPROC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод Clear
Свойство ListIndex (Visual FoxPro)
Свойство ListItemID
Свойство RowSourceType
Метод RemoveItem
Свойство Sorted

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AddObject Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод AddObject
Смотрите также Пример
CollapseAll image

Добавляет объект в объект контейнерного типа в run time.

Object.AddObject(cName, cClass [, cOLEClass] [, aInit1, aInit2 ...])

Параметры

cName

Указывает имя для ссылки на новый объект.

cClass

Указывает класс добавляемого объекта.

cOLEClass

Указывает OLE класс добавляемого объекта.

Note Замечание

Если вы планируете распространять приложение (run-time) с введенными компонентами ActiveX Controls, требующими информацию о лицензионных ключах (например, Microsoft Treeview и Listview), вы не должны использовать метод AddObject(.....cOLEClass). Вместо этого создайте и сохраните субкласс ваших ActiveX элементов в файле библиотеки классов VCX. Тогда, в run time, вы можете использовать методы AddObject или NewObject для добавления этих OleControl классов, содержащих ваши элементы.

aInit1, aInit2

Указывают параметры, посылаемые событию Init вновь вводимого объекта.

Expand image Примечания

Применяется к: Column Object | CommandGroup Control | Container Object | Custom Object | DataEnvironment Object | Form Object | FormSet Object | Grid Control | OptionGroup Control | Page Object | PageFrame Control | _SCREEN | ToolBar Object

Вызов метода AddObject вызывает срабатывание события Init вводимого объекта. При добавлении формы в набор форм, событие Load наступает до события Init.

Note Замечание

Когда вы используете AddObject для добавления объекта в контейнер, свойство Visible добавляемого объекта устанавливается в False (.F.), так что вы можете установить желаемые свойства объекта, без неприятных визуальных эффектов во время производства изменения значений установок свойств.

Если вы используете метод AddObject() для динамического добавления в форму компонентов ActiveX, ваше распространяемое приложение может сгенерировать ошибку, если требуемый элемент требует определенных лицензионных регистровых ключей, которые могут отсутствовать на машине вашего клиента. Многие поставщики компонентов ActiveX требуют наличия таких ключей для управления этими компонентами в design time, например с методом AddObject(). Избегайте этих лицензионных требования первоначально с помошью создания субклассов этих компонентов в файлах библиотек классов (.vcx) и затем уже использования метода AddObject() для ввода субкласса динамически в run time. Вы должны всегда проверять эти требования для любых компонентов ActiveX , когда вы планируете рапространять ваши приложения, так как могут потребоваться дополнительные связанные файлы, которые вам необходимо включить в дистрибутив.

Expand image Пример

The following example demonstrates how the AddObject method can be used to add objects or controls to a form. AddObject is used to add a Line control and three command buttons to the form.

The Visible property is set to True (.T.) for the Line control and the command buttons. By default, objects and controls are not visible when they are added to a form.

 В приведенном ниже примере демонстрируется как может быть использован метод AddObject для добавления управляющих элементов или объектов в форму. AddObject используется для добавления управляющего элемента Line control и трех командных кнопок в форму.

Свойство Visible установливается в для Line и командных кнопок. По умолчанию, вводимые объекты скрыты, когда она добавлены в форму с помощью описываемого метода.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')  && Создается форма
frmMyForm.Closable = .F.  && Запрещается блок меню Control формы

frmMyForm.AddObject('shpLine','Line')  && В форму добавляется: Line
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  && Up Cmnd button
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')  && Down Cmnd button
frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3')  && Quit Cmnd button

frmMyForm.shpLine.Visible = .T.  && Делаем Line видимым
frmMyForm.shpLine.Top = 20  && Указываем строку для Line
frmMyForm.shpLine.Left = 125  && Указывает колонку для Line

frmMyForm.cmdCmndBtn1.Visible =.T.  && делаем кнопку Up  видимой
frmMyForm.cmdCmndBtn2.Visible =.T.  && делаем кнопку Down"  видимой
frmMyForm.cmdCmndBtn3.Visible =.T.  && делаем кнопку Quit видимой

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработке событий

DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON  && Создается командная кнопка
   Caption = 'Slant \<Up'  && Устанавливается заголовок
   Left = 50
   Top = 100
   Height = 25

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.  && Скрываем Line
      ThisForm.shpLine.LineSlant ='/'  && Меняем направление наклона
      ThisForm.shpLine.Visible = .T.  && Показываем Line
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn2 AS CommandButton
   Caption = 'Slant \<Down'
   Left = 200
   Top = 100
   Height = 25

   PROCEDURE Click
      ThisForm.shpLine.Visible = .F.
      ThisForm.shpLine.LineSlant ='\'
      ThisForm.shpLine.Visible = .T.
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn3 AS CommandButton  && Create Command button
   Caption = '\<Quit'
   Cancel = .T.  && Делает кнопку дефолтной для Cancel (Esc)
   Left = 125
   Top = 150
   Height = 25

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем обработку событий, закрываем форму
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Событие Init
Событие Load
Метод NewObject
Метод RemoveObject
Свойство Visible (Visual FoxPro)

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AddProperty Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод AddProperty
Смотрите также
CollapseAll image

Добавляет объекту новое свойство.

Object.AddProperty(cPropertyName [, eNewValue [, nVisibility [, cDescription]]])

Параметры

cPropertyName

Указывает имя нового свойства, добавляемого объекту.

eNewValue

Указывает значение, в которое будет установлено новое свойство. Если eNewValue опущено, значение свойства остается неизменным, если одноименное свойство уже существует о объекта, или устанавливается в False (.F.) для случая, если новое свойство успешно добавлено в объект.

nVisibility

Указывает область видимости нового свойство. Доступно для использования в design-time, однко, значение 1 может быть указано в runtime.

nVisibility Область видимости

1

Public

2

Protected

3

Hidden

cDescription

Указывает описание нового свойства. Доступно только в design-time.

Описание свойства ограничено 255 символами.

Expand image Возвращаемое значение

Логический тип данных

Expand image Примечания

Применяется к: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object | Cursor Object | CursorAdapter Class | Custom | DataEnvironment Object | EditBox Control | Exception Class | Form Object | FormSet Object | Grid Control | Header Object | Image Control | Label Control | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | Relation Object | ReportListener Object | _SCREEN | Separator Object | Session Object | Shape Control | Spinner Control | TextBox Control | Timer Control | ToolBar Object

Метод AddProperty( ) позволяет вас вводить в объект новые свойства в run time. Новое свойство в этом случае добавляется с областью видимости PUBLIC.

Вы можете, кроме того, создать для объекта свойство-массив. Каждый элемент в свойстве-массиве инициализируется в значение, указанное в eNewValue если оно включено; в противном случае, каждый элемент массива будет содержать False (.F.). Приведенный ниже пример демонстрирует способ создания для объекта свойства-массива:

CopyCode image Скопировать код
oMyForm = CREATEOBJECT('Form')
oMyForm.AddProperty('MyArray(2)', 1)  && Добавляет массив как свойство
oMyForm.MyArray(2) = 'Two'
CLEAR
? oMyForm.MyArray(1)  && Отображает 1
? oMyForm.MyArray(2)  && Отображает Two

Если свойство с указанным вами именем еще не существует, то оно будет создано и метод вернет True (.T.).

Если свойство с одноименным именем уже существует, тогда метод AddProperty( ) возвратит приведенное ниже:

  • True (.T.) если новое свойство является свойством-массивом и уже существующее свойство тоже является массивом. Размер массива изменяется в указанный при вызове метода. Если вы для eNewValue указали какое-то значение, то все элементы массива будут установлены в это значение. Если же вы опустили в вызове eNewValue, то все элементы массива будут установлены в False (.F.).

  • True (.T.) если вновь вводимое свойство не является массивом а уже существующее представляет собой массив. В этом случае, свойство останется массивом Если вы для eNewValue указали какое-то значение, то все элементы массива будут установлены в это значение. Если же вы опустили в вызове eNewValue, то все элементы массива останутся неизмененными.

  • True (.T.) если оба, и вновь вводимое свойство, и существующее не являются массивами или не являются родными свойствами Visual FoxPro маркированными "только для чтения". Если вы для eNewValue указали какое-то значение, то существующее свойство устанавливается в это значение. Если вы опустили eNewValue, то существующее свойство остается неизменным.

  • False (.F.) если новое свойство является свойством-массивом, а существующее таковым не является. Существующее свойство останется неизмененным.

  • Если существующее свойство маркировано как "только для чтения" и является родным свойством Visual FoxPro, таким как BaseClass, то будет сгенерирована ошибка "Property <PropertyName> is read-only".

  • При использовании недействительного имени (имя свойства содержит пробелы или недопустимые символы) будет генерироваться ошибка "Incorrect property name".

Метод AddProperty( ) работает только с некоторыми родными объектами Visual FoxPro. Вы можете использовать функцию ADDPROPERTY( ) для добавления свойств любым объектам, с которыми работает Visual FoxPro, таким как COM объекты или объекты созданные командой SCATTER...NAME. Для получения более подробной информации смотрите описание функции ADDPROPERTY().

Expand image Смотрите также

Справочное руководство

Команда DEFINE CLASS
Метод NewObject
Метод SaveAs (Visual FoxPro)
Метод SaveAsClass

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AddToSCC Method

Visual FoxPro 9.0 Описание Языка
AddToSCC, метод
См. также
CollapseAll image

Добавляет программный файл в Проект, контролируемый подсистемой Source Code Control (SCC).

Object.AddToSCC( )

Expand image Комментарии

Применяется в : File, объект (Visual FoxPro)

Возвращает значение = True (.T.), если рассматриваемый файл добавлен в подсистему Source Code Control (SCC). Возвращает значение = False (.F.), если файл не может быть добавлен в подсистему SCC, или рассматриваемый Проект Приложения не контролируется системой SCC.

Expand image См. также

Описание

CheckIn, метод
CheckOut, метод
GetLatestVersion, метод
RemoveFromSCC, метод
UndoCheckOut, метод

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ApplyDiffgram Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ApplyDiffgram
Смотрите также
CollapseAll image

Применяет DiffGram к локальным таблицам Visual FoxPro.

XMLTable.ApplyDiffgram( [ cAlias [, oCursorAdapter [, lPreserveChanges [, nCodePage ]]]] )

Параметры

cAlias

Указывает псевдоимя (alias) целевого курсора. The value of cAlias defaults to the XMLTableAlias property, including when cAlias is an empty string ("").

oCursorAdapter

Указывает на уже существуюзщий объект CursorAdapter.

Метод ApplyDiffgram прикрепляет временный таблично-буферированный курсор к указанному объекту CursorAdapter. Кроме того, ApplyDiffgram применяет любые одновления, такие, как измененные, вставленные или удаленные записи, в базовый набор таблиц для объекта CursorAdapter или к курсору, соответствующему свойству Alias объекта XMLTable.

Если вы не предоставите значения для oCursorAdapter, ApplyDiffgram автоматически обработает обновления в базовой таблице.

Замечание Замечание

Вы можете обновить удаленный источник данных с помощью метода ApplyDiffgram при условии, что CursorAdapter сконфигурирован для такой цели.

lPreserveChanges

Определяет - будет ли поддерживаться изменения, содержащиеся в курсоре, прикрепленном к объекту CursorAdapter, а такде свойства объекта CursorAdapter неизменненными, когда вы представляете настроенный объект CursorAdapter, а метод ApplyDiffgram сработал с ошибкой.

В приведенной ниже таблице описаны значения для lPreserveChanges.

lPreserveChanges Описание

True (.T.)

(По умолчанию). Поддерживаеть изменения, содержащиеся в курсоре, прикрепленном к объекту CursorAdapter, а такде свойства объекта CursorAdapter неизменненными.

False (.F.)

Открепляет курсор, содержащий изменения, и возвращает к прежнему состоянию любые измененные свойства объекта CursorAdapter.
nCodePage

Указывает кодовую страницу. Значением по умолчанию является ноль (0).

Expand image Примечания

Применяется к классу: XMLTable

ApplyDiffgram поддерживается только для объектов XMLTable в коллекции Tables объекта XMLAdapter. ApplyDiffgram сбрасывает объекты XMLField, когда свойство Alias объекьа XMLField пустое.

Visual FoxPro при исполнении метода ApplyDiffgram проверяет свойство Keyfield объекта XMLField.

Замечание Tip

Когда вы используете автоматическое обновление, вы должны установить соответствующие свойства Keyfield объектов XMLField в коллекции Fields в True (.T.) для повышения производительности обновления.

Visual FoxPro изменяет свойства настроенного объекта CursorAdapter так, как описано ниже:

  • Если свойство Tables пустое, Visual FoxPro устанавливает его в таблицу, указанную в параметре cAlias.

  • Visual FoxPro устанавливает свойство sets the SendUpdates в значение True (.T.).

  • Если свойство DataSource пустое, Visual FoxPro устанавливает его в значение "Native".

  • Если свойство KeyFieldList пустое, Visual FoxPro добавляет ключевые поля только в том случае, если они указаны. В противном случае, Visual FoxPro добавляет все поля.

  • Если свойство KeyFieldList изменено, Visual FoxPro устанавливает свойство WhereType в Key Fields (DB_KEY или 1).

  • Если свойство UpdatableFieldList пустое, Visual FoxPro добавляет все поля.

  • Если свойство UpdateNameList пустое, Visual FoxPro добавляет все поля и использует таблицу, указанную в параметре cAlias, как базовую таблицу.

После применения DiffGram, Visual FoxPro восстанавливает все перечисленные свойства в их предшествующие состояния.

Указанная в параметре nCodePage кодовая страница должна существовать в списке поддерживаемых кодовых страниц. Если свойство nCodePage равно нулю (0), а свойство UseCodePage установлено в значение False (.F.), то используется текущая кодовая страница. Для получения более подробной информации смотрите описания Кодовые страницы, поддерживаемые Visual FoxPro и Свойство UseCodePage.

Метод ApplyDiffgram н сработает, если используются выражения XPath для объктов XMLAdapter или XMLTable.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLTable
Коллекция Tables (XMLAdapter)
Класс XMLField
Свойство Alias
Класс CursorAdapter
Коллекция Fields (XMLTable)
Свойства, методы и события объекта CursorAdapter

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Attach Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Attach Method (Visual FoxPro)
Смотрите также
CollapseAll image

Прикрепляет существующий документ XML Document Object Model (DOM) или DOM элемент, и необязательно, XML схему к объекту XMLAdapter.

Attach, кроме того устанавливает свойство IXMLDOMElement объекта XMLAdapter. В дополнение, если анализируется XML схема, Visual FoxPro перезаполняет коллекцию Tables новым набором объектов XMLTable и устанавливает приведенные ниже свойства объекта XMLAdapter в соответствующие значения:

  • XMLName

  • XMLNamespace

  • XMLPrefix

  • IsDiffgram

  • SOM

XMLAdapter.Attach( oDOM [, oSchema ] )

Параметры

oDOM

Указывает существующий объект документа стандарта Microsoft XML Core Services (MSXML) 4.0 DOM или объект IXMLDOMElement.

oSchema

Указывает существующий объект документа MSXML 4.0 Schema Object Model (SOM), объект DOM документа со схемой, как корневой узел или объект IXMLDOMElement, который представляет схему.

Если вы укажите значение для oSchema, Visual FoxPro сбросит значение свойства XMLSchemaLocation объекта XMLAdapter и будет анализировать схему. В противном случае, XMLSchemaLocation определяет - будет ли анализирована XML схема.

Expand image Примечания

Применяется к классу: XMLAdapter

Метод Attach способствует загрузке возвращаемых из Web-сервисов результатов, где набор данных обычно возвращается, как два IXMLDOMNodes с Item(0) в качестве схемы (oSche ma) и Item(1) в качестве данных (oDom). Вы можете прикрепить два этих узла вместо вызова LoadXML для строки.

На то, как исполняется метод Attach оказывают влияние приведенные ниже свойства:

  • DisableEncode

  • MapN19_4ToCurrency

  • NoCpTrans

  • WrapCharInCDATA

  • WrapMemoInCDATA

  • XMLSchemaLocation

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Свойство IXMLDOMElement
Коллекция Tables (XMLAdapter)
Класс XMLField
Метод LoadXML

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AutoFit Method

Visual FoxPro 9.0 Описание Языка
AutoFit, метод
См. также
CollapseAll image

Управляет автоматическим масштабированием размеров Столбцов Контрола Grid. AutoFit масштабирует все видимые в настоящий момент столбцы контрола Grid или системного окна Browse, или масштабирует индивидуальный Столбец (в зависимости от уровня данного метода: уровень контрола Grid, или уровень объекта Column).

Object.AutoFit( )

Expand image Возвращаемое значение

Логического типа. AutoFit = True (.T.), если столбцы масштабированы, = False (.F.), если операция не выполнена (по каким либо причинам).

Expand image Комментарии

Применяется в: Grid, контрол | BROWSE, команда | Column, объект

Вы можете использовать установки для свойства AllowAutoColumnFit, если вами создана объектная ссылка на системное окно Browse, для этого используется секция NAME, в команде BROWSE.

Установленное значение свойства AllowAutoColumnFit никаким образом не влияет на условия выполнения рассматриваемого метода AutoFit на разных уровнях, как в контроле Grid, так ив объекте Column. Вы можете подавлять установки свойства AllowAutoColumnFit при выполнении метода AutoFit.

Для объекта Column, метод AutoFit работает только с базовыми полями типа TextBox. При изменении размеров столбцы (масштабировании), активируется событие Resize соответствующего столбца.

Вы можете блокировать автоматическое масштабирование столбца, для этого используется установка свойства Resizable = False (.F.).

Для скрытых столбцов Grid, для которых установлено Visible = False (.F.), или Width = 0, масштабирование данным методом не выполняется.

Expand image См. также

Описание

AllowAutoColumnFit, свойство
Resizable, свойство

Другие ссылки

Методы Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


AutoOpen Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод AutoOpen
Смотрите также
CollapseAll image

Исполняет метод CursorFill по умолчанию без параметров. Когда объект CursorAdapter находится в окружении данных, последнее вызывает AutoOpen автоматически из метода DataEnvironment.OpenTables.

CursorAdapter.AutoOpen()

Expand image Возвращаемое значение

Логический тип данных. AutoOpen возвращает True (.T.), если операция завершена успешно. В противном случае AutoOpen возвращает False (.F.).

Note Замечание

Если AutoOpen завершился с ошибкой, метод DataEnvironment.OpenTables не передает сообщение об ошибке. Для получения информации об ошибке для случая, когда метод AutoOpen возвратит False (.F.), вы должны вызвать функцию AERROR(), поскольку обработчики ошибок Visual Foxpro, такие, как команда ON ERROR, событие Error и команда TRY...CATCH...FINALLY не отлавливают такую информацию об ошибке.

Expand image Примечания

Применяется к: классу CursorAdapter

Вы можете переписать поведение AutoOpen с помощью команды NODEFAULT и явно вызвать команду CursorFill.

Expand image Смотрите также

Справочное

Свойства, методы и события объекта CursorAdapter
Метод CursorFill
Свойство AutoOpenTables
Команда NODEFAULT

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Box Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Box
Смотрите также
CollapseAll image

Рисует прямоугольник в объекте Form. Вот две версии синтаксиса.

Object.Box(nXCoord1, nYCoord1, nXCoord2, nYCoord2)
Object.Box(nXCoord2, nYCoord2)

Параметры

nXCoord1, nYCoord1

Задает координаты начальной точки прямоугольника. При этом используется единица измерения, определяемая методом ScaleMode данного объекта Form. Если эти аргументы опущены, используются значения свойств CurrentX и CurrentY.

nXCoord2, nYCoord2

Задает конечную точку прямоугольника.

Expand image Примечания

Применимо к: Объект Form | Системная переменная _SCREEN

Ширина рисуемых линий зависит от установки свойства DrawWidth. Вид прямоугольника относительно фона зависит от установок свойств DrawMode и DrawStyle. Когда вызывается метод Box, в качестве значений свойств CurrentX и CurrentY устанавливаются координаты конечной точки, задаваемые двумя последними аргументами.

Expand image Смотрите также

Справочное руководство

Свойства CurrentX, CurrentY
Свойство DrawMode
Свойство DrawStyle
Свойство DrawWidth
Свойство ScaleMode

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Build Method

Visual FoxPro 9.0 Language Reference
Метод Build
Смотреть также

Перезборка проекта или создание файла приложения(.app), исполняемого файла(.exe) или динамически подключаемой библиотеки ссылка (.dll) в Visual FoxPro проекте.

Object.Build([cOutputName] [, nBuildAction] [, lRebuildAll]
[, lShowErrors] [, lBuildNewGUIDs])

Параметры

cOutputName

Задает имя создаваемого .app, .exe, или .dll файла. Если cOutputName включает расширение файла и nBuildAction опущено, тип файла для создания определяет расширение в cOutputName. Например, если расширение в cOutputName содержит ".exe", будет создан исполняемый файл.
nBuildAction

Указывает, что выполнить перезборку проекта или создания .app, .exe или .dll файла. Если nBuildAction, задан и cOutPutName не содержит расширения, соответствующее расширение будет добавлено.. Следущая таблица отображает значения для nBuildAction.

nBuildAction FoxPro.h constant Описание

1

BUILDACTION_REBUILD

Пересобрать проект. (поумолчанию)

2

BUILDACTION_BUILDAPP

Создать .app файл.

3

BUILDACTION_BUILDEXE

Создать .exe файл.

4

BUILDACTION_BUILDDLL

Создать .dll файл.

5

BUILDACTION_BUILDMTDLL

Создать multithreaded .dll файл.
lRebuildAll

Указывает перекомпилировать файлы входящие в проект до создания .app, .exe, or .dll файла. Если lRebuildAll истинно(.T.), все следущие файлы будут перекомпилированны:
  • програмные файлы.

  • форматные файлы.

  • Исходный код в формах, этикетках, отчетах и библиотеках визуальных классов.

  • Хранимые процедуры базы данных.

Если lRebuildAll ложно (.F.) или опущено, файлы входящие в проект не будут перекомпелированны перед созданием .app, .exe, or .dll файла.
lShowErrors

Определяет, следует ли отображать ошибки компиляции в окне редактирования после завершения. Следующая таблица описывает значение для lShowErrors.

lShowErrors Описание

True (.T.)

Отображать ошибки в окне редактирования для файла ошибок (.err).

False (.F.)или опущен

Не показывать ошибки.
lBuildNewGUIDs

Определяет выполнить ли генерацию нового регистрационного глобального уникального идентификатора(GUIDs) при создании .exe or .dll файла.
Примечание:
Если nBuildAction менее 3, Visual FoxPro игнорирует lBuildNewGUIDs.lBuildNewGUIDs.

Следующая таблица описывает значение для lBuildNewGUIDs.

lShowErrors Описание

True (.T.)

Генерировать новый GUIDs.

False (.F.)или опущен

Не выполнять генерацию нового GUIDs.

Возвращаемое значение

Логическое. Build вернет истину (.T.), если при перезборка проекта или создание .app, .exe, .dll файла выполнено без ошибок, в противном случае метод вернет ложь(.F.).

Комментарии

Применяется: объект Project

Смотреть также

Другие ресурсы

Как : Построение приложения
Команда BUILD APP
Команда BUILD DLL
Команда BUILD EXE
Команда BUILD PROJECT
Команда CREATE PROJECT
Команда MODIFY PROJECT
Метод Refresh
Методы
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


CancelReport Method

CancelReport, метод
См. также
CollapseAll image

Обеспечивает возможностью Пользователя или программе для аварийного завершения Отчета, при его ненормальном выполнении, аналогично нажатию клавиши Esc.

oReportListener.CancelReport()

Параметры

Отсутствуют.

Expand image Возвращаемое значение

Отсутствует (???) (.T.).

Expand image Комментарии

Применяется в: ReportListener, объект.

Используя метод CancelReport, вы можете преждевременно завершить выполнение Отчета. Когда вы вызываете данный метод, базовый класс данного объекта ReportListener обеспечивает выполнения кода очистки и восстановления (Cleanup Code), например: закрытие Очереди Печати происходит после проверки наличия печатаемых страниц, только после этого выполняется программный код очистки данных Отчета.

Note Рекомендации

Если вы осуществляете Отладку разработанных Отчетов, или контролируете возможные Ошибки неправильного выполнения Отчета, вы должны обеспечить выполнение данного, рассматриваемого метода, перед тем как будут выполнены системные команды CANCEL или QUIT. Вы также должны проверить наличие активных, незавершенных Отчетов в соответствующей процедуре обработчика ON SHUTDOWN. Для этих целей рекомендуется использовать системную функцию SYS(2040), проверяющую наличие активных Отчетов. Дополнительно смотрите раздел: SYS(2040) - Определение Статуса Отчета .

В данный метод вы можете добавить дополнительный программный код очистки и восстановления Visual FoxPro. Однако, в этом случае вы должны обеспечить корректное завершение активных Отчетов и других программных модулей, внешних ресурсов, обработчиков ошибок, которые тесно взаимосвязаны с внутренним механизмом Отчета; обеспечить базовые функции данного метода, как механизма объекта ReportListener, его стандартного поведения в ошибочных ситуациях.

Для Примера: Если вы в теле программного кода данного метода устанавливаете некоторую глобальную переменную, значение свойства, сигнализирующие об аварийном завершении Отчета, сначала требуется убедиться в том, что данный отчет действительно Активен и выполняется, а после этого устанавливать значение глобального свойства.

Когда вы выполняете метод CancelReport, активный в текущий момент Отчет продолжает выполняться до завершения печати текущей Страницы. После этого выполняется код восстановления (cleanup code), отрабатываются события AfterReport и UnloadReport. Дополнительную информацию о последовательности выполнения (поднятия) всех существующих событий данного базового объекта в условиях завершения Отчета, смотрите в разделе: Понимание Объектно-сопровождаемых Отчетов в Visual FoxPro (Object-Assisted Reporting).

Вы можете проверить, вызывался ли рассматриваемый метод CancelReport, при аварийном завершении выполнения Отчетов; для этого рекомендуется использовать системную функцию SYS(2024) - Определение статуса завершения Отчетов.

Note Совет

Вы можете спроектировать отображения в данном методе дополнительного Сообщения для пользователя, завершить или продолжать выполнение данного Отчета. При использовании команды NODEFAULT в программном коде данного метода CancelReport можно обеспечит продолженние выполнения Отчета. Данный способ используется в соответствующем ReportListener -User -Feedback -Foundation -Class. смотрите дополнительно раздел: DoMessage, метод. И еще информация есть в ReportListener User Feedback Foundation Class.

Expand image См. также

Описание

ReportListener, объект

Концепции

Управление Ошибками при неправильном выполнении Отчетов

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ChangesToCursor Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ChangesToCursor
Смотрите также
CollapseAll image

Саздает курсор, на основе буфферированной таблицы и заполняет его изменениями, которые получает из ассоциированного DiffGram.

Note Замечание

ChangesToCursor поддерживается только для объектов XMLTable коллекции Tables объекта XMLAdapter. ChangesToCursor сбрасывает объекты XMLField, когда свойство Alias объектов XMLField Alias не заполнено - пустое.

XMLTable.ChangesToCursor( [ cAlias [, lIncludeUnchangedData [, nCodePage ]]] )

Параметры

cAlias

Указывает псевдоимя для создаваемого курсора. Значение cAlias устанавливает свойсто XMLTable.Alias, включая случай, когжа cAlias представляет из себя пустую строку ("").

lIncludeUnchangedData

Указывает - включает или нет неизмененные данные в курсор. В приведенной ниже таблицк перечисленены возможные значения для lIncludeUnchangedData.

lIncludeUnchangedData Описание

False (.F.)

(ПО умолчанию) Не включать неизмененные данные в создаваемый курсор.

True (.T.)

Включать неизмененные данные в создаваемый курсор.
nCodePage

Если целочисленное и больше нуля, (0), то указывает кодовую страницы. По умолчанию равно нулю (0).

Expand image Примечания

Применяется к: классу XMLTable

При разметке бинарный полей в типы данных Character, Visual FoxPro после декодирования заполняет любое оставшееся свободным пространство символами 0x00 (CHR(0) или нуляит).

Значение параметра nCodePage должно существовать в списке поддерживаемых кодовых страниц. Если значение параметра равно нулю (0) и значение свойства UseCodePage установлено в False (.F.), то используется текущая кодовая страница, используемая по умолчанию. Для получения более подробной информации смотрите Кодовые страницы, поддерживаемые Visual FoxPro и Свойство UseCodePage.

Если свойство RespectNesting объекта XMLAdapter установлено в True (.T.), узел для неизмененной записи должен быть ближайшим дочерним узлом для узла внешней таблицы. Если вложение таблиц не присутствует, узел должен быть ближайшим дочерним узлов для узла XMLAdapter.

Метод ChangesToCursor будет выполнен с ошибкой, если свойство XMLNameIsXPath установлено в True (.T.), так как метод не поддерживает выражений XPath.

Expand image Смотрите также

Справочное руковоство

Свойства, методы и события объекта XMLTable
Коллекция Tables (объект XMLAdapter)
Класс XMLAdapter
Свойство XMLNameIsXPath
Свойство RespectNesting
Свойство Alias

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CheckIn Method

Visual FoxPro 9.0 Описание Языка
CheckIn, метод
См. также
CollapseAll image

Контролирует (Checks In) выполняемые изменения в программном файле Проекта Приложения, управляемого подсистемой Source Code Control (SCC).

Object.CheckIn( )

Expand image Комментарии

Применяеттся в : File, объект (Visual FoxPro)

Возвращает значение = True (.T.), если данный файл действительно находится под контролем соответствующей подсистемой, или возвращает значение = False (.F.), если файл не может быть проконтролирован, или данный проект не управляется подсистемой Source Code Control.

Expand image См. также

Описание

AddToSCC , метод
CheckOut , метод
GetLatestVersion , метод
RemoveFromSCC , метод
UndoCheckOut , метод

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


CheckOut Method

Visual FoxPro 9.0 Описание Языка
CheckOut, метод
См. также
CollapseAll image

Снимает Контроль с файла (Checks out) в Проекте Приложения, который управляется подсистеммой Source Code Control (SCC), после этого вы можете вносить необходимые изменения в данный программный файл.

Object.CheckOut( )

Expand image Комментарии

Применяется В File, объект (Visual FoxPro)

Возвращает значение = True (.T.), если данный файл успешно исключен из под контроля SCC. Возвращается значение = False (.F.), если Файл не может быть выведен из под контроля, или данный Проект не контролируется подсистемой SCC.

Expand image См. также

Описание

AddToSCC, метод
CheckIn, метод
GetLatestVersion, метод
RemoveFromSCC, метод
UndoCheckOut, метод

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Circle Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Circle
Смотрите также
CollapseAll image

Рисует окружность или эллипс в объекте Form.

Object.Circle (nRadius [, nXCoord, nYCoord [, nAspect]])

Параметры

nRadius

Задает радиус круга или эллипса. Используемая единица измерения определяется свойством ScaleMode объекта Form.

nXCoord, nYCoord

Задает координаты центра круга или эллипса. Используемая единица измерения определяется свойством ScaleMode объекта Form.

nAspect

Задает отношение длин полуосей для эллипса. По умолчанию оно равно 1,0, что соответствует окружности. Значения, превышающие 1,0, задают эллипс, вытянутый по вертикали; значения, меньшие 1,0, задают эллипс, вытянутый по горизонтали.

Expand image Примечания

Применимо к: Объект Form | _SCREEN

Чтобы контролировать ширину линии окружности или эллипса, используйте свойство DrawWidth.

Свойства DrawMode и DrawStyle определяют, как выглядит окружность на экране.

Чтобы закрасить круг, установите свойства FillColor и FillStyle объекта Form.

При вызове метода Circle свойства, CurrentX и CurrentY установлены в центральную точку с координатами nXCoord, nYCoord.

Expand image Смотрите также

Справочное руководство

Свойства BackColor, ForeColor
Свойства CurrentX, CurrentY
Свойство DrawMode
Свойство DrawStyle
Свойство DrawWidth
Свойство FillColor (Visual FoxPro)
Свойство FillStyle
Свойства BackColor, ForeColor
Свойство ScaleMode

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Class Browser Methods

Visual FoxPro 9.0 Справочное руководство по языку
Методы Class Browser
Смотрите также
CollapseAll image

С Class Browser связаны приведенные ниже методы. Для получения более подробной информации смотрите Как: настроить Class Browser и Окно Class Browser.

AddClass( )

Копирует класс из файла одной библиотеки классов (.vcx) в другой. ИСпользуется после операции drag-and-drop между экземплярами Class Browser и зависит от свойства oSource. Если указанный класс не существует, то он создается.

AddFile([ cFileName][, lIgnoreRefresh] )

Добавляет файл библиотеки классов (.vcx) или формы (.scx) в список классов Class Browser. Если методу не передавались параметры, то появляется диалоговое окно AddFile, при этом используется метод GetFile( ) Class Browser. Если lIgnoreRefresh равен True (.T.), то список классов Class Browser не обновляется. Если вы добавляете множество файлов, вы можете подождать пока все классы будут добавлены перед обновлением списка.

AddIn(cName[, cProgram] [, cMethod] [, cFileFilter] [, cPlatform] [, cComment] )

Инсталлирует или удаляет указанные добавления (add-in) в регистрационную таблицу Browser.dbf.

В приведенном ниже списке описываются параметры, доступные для этого метода:

  • cName Указывает имя add-in. Регистро-нечувстительный; однако, при отображании в меню значение отображается так, как оно введено.

  • cProgram Указывает имя файла программы (.PRG), формы (.scx), приложения (.APP), исполнимого файла (.EXE) или компилированной программы (.FXP), которые будут запущены. Если не предоставлено расширение, то подразумевается, что это файл программы .PRG.

    Note Замечание

    Если в качестве этого аргумента передан .NULL., add-in маркируется для удаления в регистрационной таблице Browser.dbf и запрещается в контекстном меню дополнений.

  • cMethod Указывает имя метода, для использования в качестве хука события. Если передана пустая строка, add-in появляется в меню.

  • cFileFilter Указывает списко библиотек классов и форм, которые допускаютъ дополнения (add-in). Если передана пустая строка, add-in доступен для всех библиотек классов (.vcx) и форм (.scx).

  • cPlatform Указывает, на какой платформе доступен add-in. Если передана пустая строка, add-in достпуен на всех платформах, поддерживаемых Visual FoxPro.

  • cComment Указывает текст, который будет храниться в мемо-поле таблицы Browser.dbf.

AddInMenu( )

Распахивает меню, которое отображает зарегистрированные дополнения (add-ins).

AddInMethod(cObjMethod)

Исполняет любое зарегистрированное дополнение для указанного метода объекта.

Пример: для изменения поведения по умолчанию командной кнопки Help в Class Browser, используйте приведенный ниже код:

CopyCode image Скопировать код
_OBROWSER.AddInMethod("cmdHelp.click")
AutoRefresh( )

Determines whether to refresh the display by checking for updated class library (.vcx) information in the selected class in the class list, and by checking the total number of records in the файл библиотеки классов (.vcx)being edited. Этот метод исполняется когда активируется форма Class Browser.

BinToInt([ cBinaryValue] )

Возвращает целочисленный эквивалент строки, представлющей бинарное значение. Например, посылка параметру cBinaryValue этого метода значения "11001" должно вернуть 25.

CleanUpFile( )

Удаляет записи из файла библиотеки классов (.vcx), связанного с выбранным классом в списке классов.

ClearBrowser( )

Только для внутреннего использования.

ClearClass([ lClearAll] )

Очищает кэш класса в памяти командой CLEAR CLASS для конкретного класса или всех отображаемых классов, если lClearAll установлено в True (.T.).

NewClass( )

Создает субкласс выбранного в списке класса.

DeactivateMenu( )

Деактивирует всплывающее меню дополнений (add-in).

DisplayMenu(tnMenuMode)

Отображает контекстное меню в текущей позиции указателя мыши. Если tnMenuMode равно 0, отображается контекстное меню формы Class Browser; если равно 1, то отображается контекстное меню списка классов; если равно 2, то отображается контекстное меню членов.

DoAddIn([ cAddInName] )

Исполняет указанное дополнение (add-in) текущей или указанной записи таблицы, имеющей псевдоимя BROWSER.

FileMatch(cFileName, cFileList)

Сравнивает указанный файл со указанным списком файлов для определения - связан ли файл с дополнением (add-in).

ExportClass([ lShow] [, tcExportToFileName] )

Генерирует и отображает исходный код определения выбранного класса или выбранного файла в списке классов.

В приведенном ниже списке описываются параметры, доступные для этого метода:

  • lShow Указывает - будет-ли отображаться код. Если параметр lShow равен True (.T.), окно Class Browser отображает код.

  • tcExportToFileName Указывает имя файла, в котором будет сохранен код.

FindClass([ cFind] )

Ищет текст класса внутри класса.

FormAddObject(oObject[, nXCoord] [, nYCoord] [, lActivateForm] [, lDesignMode][, lNoShow] [, lNoErrors] [, lBuilder] [, oForm] )

Добавляет экземпляр выбранного в списке класса во внешнюю форму.

В приведенном ниже перечне описываются параметры, доступные для этого метода:

  • oObject Указывает ссылку на контейнер назначения. Значением может быть либо "command" для окна Command, либо "screen" для рабочего стола Visual FoxPro, либо "new". Вы можете вложить эти опции в приведенные ниже команды:

    CopyCode image Скопировать код
    _oBrowser.FormAddObject("command")
_oBrowser.FormAddObject("-screen")
_oBrowser.FormAddObject("new")

  • nXCoord Указывает горизонтальную позицию объекта внутри контейнера. Если не было получено значения, тогда используется текущая позиция мыши.

  • nYCoord Указывает вертикальную позицию объекта внутри контейнера. Если не было получено значения, тогда используется текущая позиция мыши.

  • lActivateForm If передано True (.T.), то активируется форма назначения при добавлении в нее объекта; если False (.F.), то остается активным Class Browser.

  • lDesignMode Если передано True (.T.), то объектная ссылка представляет собой объект, который является текущим в конструкторе форм или классов.

  • lNoShow Если передано True (.T.),то объектная ссылка представляет собой объект, который является текущим в конструкторе форм или классов. (но не показывается)

  • lNoErrors Указывает будут ли игнорироваться ошибки при инициализации. Если передано False (.F.), ошибки отображаются в Class Browser.

  • lBuilder Указывает будет ли запущен пользовательский построитель после добавления объекта в контейнер.

  • oForm Указывает контейнер, в который добавляется объект. oForm, представляет собой необязательный параметр, который используется в основном для поддержания объекта-хоста в режиме разработки.

FormatMethods(cMethods)

Форматирует тект генерируемых методов в отображаемом коде определения класса.

FormatProperties(cProperties[, lAddObjectMode] )

Форматирует тект генерируемых свойство в отображаемом коде определения класса..

GetFile([ cFileExt] )

Открывает диалоговое окно GetFile( ) для Class Browser. Метод GetFile( ) используется внутренне командными кнопками Open или Add в окне Class Browser. Всякий раз, когда Class Browser запрашивает файл библиотеки класса (.vcx) или формы (.scx), то внутренне вызывается метод GetFile( ).

GetTimeStamp([ ntimestamp] )

Возвращает символы, эквивалентные значению штампа времени. Если параметр не передан, возвращает строку штампа времени текущего выбранного файла.

IndentText(cCode)

Сдвигает блок текста на один шаг табулятора.

IntToBin([ nInteger] )

Возвращает строку, представляющую бинарное значение, которое эквиваленто целочисленному значению. Например, посылка этому методу n Integer числа 25 должно вернуть "11001".

ModifyClass( )

Открывает выбранный класс в конструкторе классов (Class Designer).

MsgBox(cMessage[, nType] [, cTitle] )

Отображает окно сообщений Class Browser. Аналогично функции Visual FoxPro MESSAGEBOX( ).

NewFile([ cFileName] [, lOpenFile] )

Создает новый файл библиотеки классов (.vcx). Если не переданы параметры, то открывается диалоговое окно Open. Если же параметры переданы, то создается новый класс библиотеки и вводится в список классов в Class Browser.

OpenFile([ cFileName] )

Открывает существующий файл библиотеки классов (.vcx) или формы (.scx). Если не предоставлено имя файла, то будет открыто диалоговое окно Open.

ProperBaseClass(cBaseClass)

Возвращает имя базового класса в регистре "proper" (то есть смешанные заглавные и прописные буквы). Например, для "combobox" будет возвращено "ComboBox".

RedefineClass([ cAsClass] [, cClassLoc] )

Изменяняет родительский класс выбранного в списке класса.

RefreshButtons( )

Обновляет командные кнопки Class Browser на основе типа файла.

RefreshClassIcon( )

Перезагружает иконку класса из файла иконки.

RefreshClassList([ cDefaultClass] [, lIgnoreTable] )

Обновляет список классов.

RefreshClassListSubclass( )

Только для внутреннего использования.

RefreshFileAttrib( )

Обновляет аттрибут статуса имени файла, связанного с выбранным в списке классов классом.

RefreshCaption( )

Обновляет заголовок формы Class Browser.

RefreshDescriptions( )

Только для внутреннего использования. Обновляет описание классов и членов.

RefreshMembers([ tcDefaultMember] )

Обновляет закладку Member для отображания информации, связанной с выбранным в списке классов классом и, если предоставлено, указанным членом.

RefreshParentClassBrowser( )

Обновляет состояние панели инструментов обозревателя ParentClass.

RefreshPrefRecNo( )

Обновляет ссылку указателя записи в таблице Browser.dbf для редактируемого файла библиотеки классов (.vcx) или формы (.scx).

RefreshRecNo( )

Обновляет текущий указатель записи в файле библиотеки классов (.vcx) или формы (.scx) для выбранного класса.

RemoveClass([ lConfirm] )

Удаляет выбранный в списке классов класс из его связанного файла библиотеки классов (.vcx).

RenameClass([ cToClass] )

Изменяет имя выбранного в списке классов класса.

ResetDefaults( )

Восстанавливает оригинальные настройки отображения. Этот метод вызывается при выборе пункта Restore Defaults из контекстного меню.

SavePreferences( )

Сохраняет текущие привилегированные установки в регистрационной таблице Browser.dbf.

ScaleResize( )

Масштаюирует элементы упроавления в Class Browser для того, чтобы они смогли разместиться после изменения размеров формы с помощью события Resize( ).

SeekClass([ cClass][, cClassLibrary] )

Перемещает указатель списка классов к указанному классу или индексу в списке классов. Можно использовать численное значение видимой позиции в списке классов.

SeekMember(tcMember)

Перемещает указатель списка членов к указанному члену.

SeekParentClass( )

Отображает родительский класс выбранного в списке классов класса.

SetBusyState(lBusyState)

Устанавливает свойства lBusyStatus в значение True (.T.) или False (.F.) на основе полученного параметра; кроме того, установливать вид указателя мыши в "стрелку" или "песочные часики".

SetFont([ cFontName][, nFontSize][, lFontBold][, lFontItalic] )

Устанавливает шрифт и его размер, используемый Class Browser для его форм, элементов управления и диалоговых окон. Если вы не указали имя шрифта и его размер, то SetFont( ) открывает диалоговое окно Get Font.

ShowMenu(aMenu[, cOnS election] )

Отображает меню на основе массива. Если меню представляет собой одномерный массив, то этот метод отображает список всех элементов в вашем меню. Если массив двухмерный, в котором содержатся как пункты, так и действия, то метод отображает пункты меню и при их выборе исполняет связанный с пукнтом метод.

TrimExt(cFileName[, lPlatformType] )

Обрезает расшиерение имени файла.

TrimFile(cFileName[, lPlatformType] )

Обрезает имя файла и возвращает только имя файла и путь.

TrimPath(cFileName[, lTrimExt] [, lPlatformType] )

Обрезает путь из имени файла.

UpdateReferences(tcOldClassLoc, tcOldClass, tcNewClassLoc, tcNewClass [, tlAllInstances] )

Используется для обновления ссылок классов (субклассов и объектов-членов) при переименовании класса и при перемещении класса из одного обозревателя классов в другой.

В приведенном ниже списке описываются парааметры, дотсупные для этого метода:

  • tcOldClassLoc Указывает оригинальное содержание поля ClassLoc в файле .vcx или .scx.

  • tcOldClass Указывает оригинальное содержание поля Class в файле .vcx или .scx file.

  • tcNewClassLoc Указывает новое одержание поля ClassLoc в файле .vcx или .scx.

  • tcNewClass Указывает новое содержание поля Class в файле .vcx или .scx file.

  • tlAllInstances Если передано True (.T.) то в окне Class Browser обновляются все файлы. Если передано False (.F.) то обновляются только файлы текущего окна Class Browser.

VersionCheck([ lShowErrorMsg] )

Проверяет файл открытой библиотеки классов library (.vcx) или формы (.scx).

ViewProperty(cProperty)

Отображает the value of a specific property of the selected class.

WildcardMatch(cMatchExpList, cExpressionSearched)

Сравнивает строки с символов сравнения "звездочка" с фильтрами, указанными в комбобоксе Type.

Expand image Смотрите также

Справочное руководство

Объекты-члены Class Browser
Свойства Class Browser

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CleanUp Method

Visual FoxPro 9.0 Описание Языка
CleanUp, метод
См. также
CollapseAll image

Обеспечивает целостность Таблицы Проекта, удаляет записи, помеченные к удалению, упаковывает неиспользуемые блоки полей типа Memo.

Object.CleanUp(lRemoveObjectCode)

Параметры

lRemoveObjectCode

Определяет, как обрабатывать поле с именем OBJECT, в котором хранится программный объектный код соответствующих Методов. Если значение lRemoveObjectCode = True (.T.), объектный код исключается из Таблицы Проекта. Если значение lRemoveObjectCode = False (.F.) (по- умолчанию), или данный параметр отсутствует, объектный код соответствующих модулей не исключается из Таблицы Проекта.

Поле таблицы Проекта OBJECT содержит объектный программный код соответствующих программных файлов: (.prg), файцлов Меню (.mnx), Запросов (.qpr) и других программных файлов, содержащихся в данном Проекте. Если содержание объектного кода, размещаемого в указанных полях OBJECT будет исключено из Таблицы Проекта, то при следующей Сборке данного Проекта рассматриваемое Поле OBJECT будет создано вновь, при условии, что будут доступны все соответствующие программные файлы.

Expand image Комментарии

Применяется в: Project, объект (Visual FoxPro)

Каждый разрабатываемый Проект размещается в соответствующей Таблице (.dbf-.fpt), содержащей все необходимые Компоненты. Рассматриваемый метод CleanUp рекомендуется использовать для удаления неиспользуемых (удаленных) записей в этой Таблице, упаковки неиспользуемых блоков полей типа Memo, тестирования целостности Таблицы Проекта. Данный Метод обеспечивает уменьшение объема информации, размещаемой в компонентах Проекта, увеличивает скорость создания Приложения (.app), динамической библиотеки (.dll), исполнимого файла (.exe).

Expand image См. также

Описание

BUILD APP, Команда
BUILD DLL, Команда
BUILD EXE, Команда
Build, метод
BUILD PROJECT, Команда
CREATE PROJECT, Команда
MODIFY PROJECT, Команда

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Clear Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Clear
Смотрите также
CollapseAll image

Очищает содержимое элемента управления ComboBox или ListBox.

Object.Clear

Expand image Примечания

Применимо к: Элемент управления ComboBox | Элемент управления ListBox

Метод Clear очищает все елементы из елементов управления ComboBox или ListBox только в том случае если свойство RowSourceType установлено равным 0 (None). Кроме того свойство ListCount становится равным 0.

Expand image Смотрите также

Смотрите также

Метод AddItem (Visual FoxPro)
Метод RemoveItem Method
Свойство RowSourceType

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ClearData Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ClearData
Смотрите также
CollapseAll image

Очищает все данные и форматы данных из объекта OLE drag-and-drop DataObject. Доступен только в run time.

oDataObject.ClearData

Expand image Примечание

Применяется к: DataObject Object

Метод ClearData может быть исполнен только в событии OLEStartDrag; вызов метода ClearData из событий OLEDragDrop или OLE DragOver сгенерирует ошибку.

Expand image Смотрите также

Справочное руководство

Метод GetData
Метод GetFormat
OLE Drag-and-Drop
Метод SetData
Метод SetFormat

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


ClearStatus Method

ClearStatus, метод
См. также Пример
CollapseAll image

Исключает все Элементы Интерфейса, которые были созданы при выполнении ранее Метода DoStatus.

oReportListener.ClearStatus()

Параметры

Нет.

Expand image Возвращаемое значение

Нет.

Expand image Комментарии

Применяется В: ReportListener, объект.

Метод DoStatus обеспечивает независимое соединение с объектом ReportListener. Ваш программный модуль продолжает выполняться после активации в программном модуле указанного метода DoStatus, который активирует установленный в данный момент пользовательский интерфейс выполняемого Отчета. Если вы нуждаетесь в блокировании или удалении с экрана управляющих Контролов выполняемого в данный момент Отчета, Метод ClearStatus - выполняет необходимые Операции очистки пользовательского Интерфейса.

Размещение необходимого вам программного Кода, который обеспечит управление элементами Отчета должен выполнить ваш программный Код в Методе DoStatus. Например, в базовом классе ReportListener стандартная команда типа WAIT NOWAIT используется для выполнения стандартных интерфейсных функций при выполнении Рассматриваемого Отчета. В указанной интерпретации: данный метод ClearStatus эквивалентен выполнению стандартной команды: WAIT CLEAR. Представленный в стандартной поставке VFP Фундаментальный Класс обеспечивает необходимый пользовательский интерфейс, однако: рассматриваемый в данном разделе Метод позволяет вам построить собственные механизмы управления выполнением Отчетов с использованием класса ReportListener.

Note Обратите внимание

Ваш программный код должен обеспечивать анализ значения свойства: QuietMode, которое определяет выполнение стандартных методов базового класса ReportListener. Дополнительную информацию смотрите в разделе: DoStatus, метод.

Expand image Пример

Вы можете вызывать указанные Методы: DoStatus и ClearStatus в любое время, даже если указанный Отчет не активен и не выполняется. В представленном далее фрагменте программного Кода базовый объект ReportListener дополняется расширенным функционалом, обеспечивающим выполнение метода DoStatus в промежутках между выполнением рассматриваемого Отчета. Если Отчет уже выполняется, то выполняется очистка ранее созданных Элементов Управления, отображаемых на Экране, которые были созданы в предыдущем Сеансе Отчета.

CopyCode image Копировать Код
LOCAL oListener
oListener = CREATEOBJECT("messagingReportListener")
oListener.DoStatus()
REPORT FORM ? OBJECT oListener
oListener.DoStatus()
REPORT FORM ? OBJECT oListener
oListener.DoStatus()

DEFINE CLASS messagingReportListener AS ReportListener
 iReportRuns = 0
 ListenerType = 1
 PROCEDURE BeforeReport()
 THIS.iReportRuns = This.iReportRuns + 1
 THIS.ClearStatus()
 DODEFAULT()
 ENDPROC
 PROCEDURE DoStatus(cMessage)
 IF EMPTY(cMessage)
 NODEFAULT
 DODEFAULT("You have run " + ;
 TRANSFORM(THIS.iReportRuns) + " report(s) so far!")
 ENDIF
 ENDPROC
ENDDEFINE

Expand image См. также

Описание

ReportListener, объект
DoStatus, метод
Обеспечение интерфейса с объектом ReportListener, фундаментальный Класс

Другие ссылки

Методы (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


CloneObject Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод CloneObject
Смотрите также
CollapseAll image

Создает копию объекта, включая все его свойства, события и методы. Доступен только в design time.

Object.CloneObject(NewName)

Параметры

NewName

Определяет имя копии объекта.

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Custom Object | EditBox Control | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Shape Control | Spinner Control | TextBox Control (Visual FoxPro) | Timer Control | ToolBar Object

Expand image Смотрите также

Справочное руководство

Метод SaveAs (Visual FoxPro)
Метод SaveAsClass

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Close Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Close (Visual FoxPro)
Смотрите также
CollapseAll image

Закрыавет проект и высвобождает объекты проекта ProjectHook и Project.

Object.Close( )

Expand image Примечание

Применяется к: Project Object (Visual FoxPro)

Исполнение метода Close вызывает событие ProjectHook.Destroy. После наступления события ProjectHook.Destroy, объект ProjectHook высвобождается и после него высвобождается объект Project.

Expand image Смотрите также

Справочное руководство

Команды CLOSE
Событие Destroy
Объект ProjectHook

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


CloseTables Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод CloseTables
Смотрите также
CollapseAll image

Вызывает закрытие таблиц и представлений, ассоциированных с окружением данных.

DataEnvironment.CloseTables

Expand image Примечания

Применяется к: DataEnvironment

Закрывает таблицы и представления ассоциированные с объектами Cursor в окружении данных. Вы можете открыть таблицы и представления заново, вызвав метод OpenTables.

Expand image Смотрите также

Справочное руководство

Событие AfterCloseTables
Свойство AutoCloseTables
Событие BeforeOpenTables
Метод OpenTables

Other Resources

Методы (Visual FoxPro)
Справочное руководство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cls Method

Visual FoxPro 9.0 Справочник языка
Cls Метод
Смотрите также

Удаляет графику и текст из объекта Form.

Object.Cls

Замечания

Применение: Form Object | _SCREEN

Метод Cls удаляет текст и графику, сгенерированные на этапе выполнения операторами графики и печати. Метод Cls не затрагивает фоновые растровые изображения, созданные с помощью свойства Picture и элементы управления, помещенные на форму на этапе разработки.

Метод Cls сбрасывает текущие установки свойств CurrentX и CurrentY в 0.

Смотри также

Другие ресурсы

Метод Circle
Метод Line
Методы
Свойства CurrentX, CurrentY
Свойство Picture

Справочник языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


CursorAttach Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод CursorAttach
Смотрите также
CollapseAll image

Присоединяет существующий курсор к текущей инстанции объекта CursorAdapter.

CursorAdapter.CursorAttach( [ cAlias [, lInheritCursorProperties ] ] )

Параметры

cAlias

Указывает псевдоимя присоединяемого курсора или таблицы.

Когда указан cAlias, CursorAttach заполняет свойство Alias объекта CursorAdapter псевдоименем присоединяемого курсора или таблицы. Когда cAlias не указан, объект CursorAttach пытается присоединить курсор или таблицу, которые должны существовать, основываясь на текущем значеним свойства Alias .

lInheritCursorProperties

Указывает, желаете ли вы сохранить или сбросить свойства присоедняемых курсора или таблицы. В приведенной ниже таблицы перечислены возможные значения для lInheritCursorProperties с описанием поведения.

lInheritCursorProperties Описание

True (.T.)

Существующий набор свойств курсора или таблицы наследуется соответствующими свойствами объекта CursorAdapter.

False (.F.) or empty

Существующий набор свойств курсора или таблицы не копируется в соответствующие свойства объекта CursorAdapter.

Эта опция добавляет определенную гибкость, когда вы присоединяете SQL Pass-Through, удаленное представление или прочий курсор.

Expand image Возвращаемое значение

Логический тип данных. CursorAttach возвращает True (.T.), если операция присоединения курсора завершилась успешно, в противном случае False (.F.).

Note Замечание

Для получения информации об ошибке, если операция присоединения не завершилась успехом, вы должны вызвать функцию AERROR( ), так как обработчики ошибок Visual Foxpro, такие, как команда ON ERROR, событие Error и команда TRY...CATCH...FINALLY не ловят эту ошибку.

Expand image Примечания

Применяется к : классу CursorAdapter

Курсор или таблица могут иметь только одну инстанцию объекта CursorAdapter, к которому они подсоединены в любой момент времени.

Когда Visual FoxPro присоединит курсор к объекту курсор-адаптера, вы не можете изменять свойства курсора или таблицы с помошью команд MODIFY STRUCTURE или SQL ALTER TABLE.

Вызов метода CursorAttach закрывает текущий присоединенный курсор. Для сохранения текущего присоединенного курсора открытым, перед вызовом метода CursorAttach вызовите метод CursorDetach.

Вызов метода CursorAttach заполняет свойство Alias инстанции CursorAdapter псевдоименем присоединяемого курсора или таблицы.

Вызов метода CursorAttach включает режим BufferModeOverride(3) или BufferModeOverride(5) в зависимости от значения свойства BufferModeOverride объекта CursorAdapter, если он еще не установлен. Если режим буфферирования уже включен, но он меньше, по значению, чем Optimistic Row Buffering, Visual FoxPro повышает буфферирование до Optimistic Row Buffering.

Visual FoxPro генерирует сообщение об ошибке в следующих случаях:

  • cAlias не найден.

  • Если CursorAttach пытается присоединить курсор, который уже присоединен к другой инстанции CursorAdapter.

Свойство Tables не должно ссылаться на курсор уже присоединенный к объекту CursorAdapter с помощью метода CursorAttach.

Expand image Смотрите также

Справочное руководство

Своства, методы и события объекта CursorAdapter
Свойство Alias
Команда ALTER TABLE - SQL
Событие BeforeCursorAttach
Событие AfterCursorAttach
Команда MODIFY STRUCTURE
Метод CursorDetach
Свойство BufferModeOverride
Функция GETCURSORADAPTER()

Концепции

Обновление отдаленных данных с SQL Pass-Through

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CursorDetach Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод CursorDetach
Смотрите также
CollapseAll image

Отсоединяет текущий присоединенный курсор от текущей инстанции CursorAdapter.

CursorAdapter.CursorDetach()

Expand image Возвращаемое значение

Логический тип данных. CursorDetach возвращает True (.T.) если удалось отсоединеть курсор и в противном случае False (.F.).

Note Замечание

Для получения информации об ошибке, в случае возвратом методом CursorDetach значения False (.F.), вы должны вызвать функцию AERROR( ) так как обработчики ошибок Visual Foxpro ошибок, такие как, установленные командой ON ERROR, событием Error и командами TRY...CATCH...FINALLY не ловят такую информацию об ошибке.

Expand image Примечания

Применяется к: классу CursorAdapter

Visual FoxPro сохраняет все установки, такие как буфферирование и ему подобные, доступные доля нормальных курсоров, и для отсоединяемого кусрора.

Visual FoxPro сохраняет все несохраненные изменения. Например, у вас нет необходимости вызывать функцию TABLEUPDATE( ) перед отсоединением курсора.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция TABLEUPDATE()
Событие BeforeCursorDetach
Событие AfterCursorDetach
Метод CursorAttach

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CursorFill Method

Visual FoxPro 9.0 Описание Языка
Метод CursorFill
См. также
CollapseAll image

Выполняет команду, заданную в свойстве SelectCmd для загрузки данных из источника, определенного в свойстве CursorAdapter DataSource, создает курсор, загружает непосредственно данные, и выполняет необходимые преобразования данных согласно значениям свойств объекта CursorAdapter DataSourceType и CursorSchema .

CursorAdapter.CursorFill( [ lUseCursorSchema [, lNoData [, nOptions [, Source ] ] ] ] )

Параметры

lUseCursorSchema

В таблице приводится список возможных значений для lUseCursorSchema.

lUseCursorSchema Описание

True (.T.)

Используется схема данных, заданная в свойстве CursorSchema для создания курсора.

Note Примечание

Visual FoxPro генерирует ошибку для неверного или пустого значения свойства CursorSchema.

False (.F.) или
пустое

Схема данных из свойства CursorSchema не используется при создании курсора.

Вместо этого, метод CursorFill создает курсор в соответствии с обычными правилами по согласованию типов данных для источника, заданного в свойстве CursorAdapter DataSourceType.
lNoData

Возможные значения параметра lNoData.

lNoData Описание

True (.T.)

Создание курсора, но данные не загружаются.

Если значение свойства CursorAdapter DataSourceType = "ADO", и свойство SelectCmd имеет непустое значение, метод CursorFill пытается вычислить значения заданных параметров из свойства SelectCmd. Если метод CursorFill не может определить данные параметры, то используются значения = (.NULL.) для этих параметров .

Если значение свойства CursorAdapter DataSourceType = "XML", метод CursorFill создает курсор используя схему, заданную в свойстве CursorSchema, независимо от значения параметра lUseCursorSchema. Если CursorSchema - пустая или неверная, то Visual FoxPro генерирует сообщение об ошибке.

False (.F.) или
пустое

Создание курсора и загрузка в него данных.

Если Вы задаете данный параметр lNoData для метода CursorFill, и свойство SelectCmd содержит команду выборки в соответствие с SELECT - SQL, которая является параметризованной, то система Visual FoxPro уточняет значения данных параметров в соответствие с общими правилами. Данное действие эквивалентно следующей команде:

CopyCode image Копировать Код
SELECT * FROM "customers in specific country" WHERE 1=0
nOptions

Определяет числовое данное как флаг создания курсора. Это значение nOptions используется также в методе CursorRefresh.

В таблице представлены возможные значения параметра nOptions для различных источников данных CursorAdapter DataSourceType.

DataSourceType nOptions

"ADO"

целое число, определяющее тип команд Command или Execution Enum, определенных для объекта ActiveX Data Object (ADO) RecordSet в методе Open. Значение по-умолчанию = -1.

"XML"

Числовая комбинация, описанная в функции XMLTOCURSOR( ) , исключая значение = 8192, устанавливается автоматически при задании параметра lUseCursorSchema = True (.T.).
Source

Определяет ссылку на объект ADO Command или на открытый объект RecordSet.

Объект ADO Command должен иметь заданное свойство ActiveConnection, которое описывает открытие соответствующего объекта ADO Connection. Когда объект ADO Command загружается в данный параметр Source, Visual FoxPro устанавливает значение свойства ADO Command CommandText из ранее описанного CursorAdapter SelectCmd. Visual FoxPro заранее уточняет все необходимые параметры в свойстве SelectCmd, и передает данные команды объекту ADO Command. Метод CursorFill выполняется по следующей схеме:

CopyCode image Копировать Код
CursorAdapter.DataSource.Open( Source,,,,Options )

В данном контексте DataSource - есть объект ADO RecordSet, заданный в свойстве CursorAdapter DataSource, а Source - есть соответствующий объект ADO Command, передаваемый как параметр.

Объект ADO RecordSet должен быть открыт до его использования в методе Source -> CursorFill, который загружает данные в соответствие с правилами ADO RecordSet. В этом случае, значение свойства CursorAdapter DataSourceType должно быть установлено как = "ADO". Свойства CursorAdapter SelectCmd и DataSource - не используются.

Если Вы не задаете данный параметр Source, метод CursorFill выполняется по следующей схеме:

CopyCode image Копировать Код
CursorAdapter.DataSource.Open( CursorAdapter.SelectCmd,,,,Options )

В данном случае: DataSource - есть объект ADO RecordSet, описанный в свойстве CursorAdapter DataSource. Тем не менее, объект ADO RecordSet выполняет команду выборки, заданную в свойстве CursorAdapter SelectCmd вместо использования непосредственно объекта ADO Command. Объект ADO RecordSet должен содержать актуальное свойство ActiveConnection, которое описывает соответствующий объект ADO Connection.

Expand image Возвращаемое значение

Логического типа. Метод CursorFill возвращает = True (.T.), если курсор с данными успешно создан; = False (.F.), если курсор не создан.

Note Примечание

Если метод CursorFill возвращает = False (.F.), то курсор не создается. В этом случае событие BeforeCursorClose и событие AfterCursorClose не выполняются. Для получения подробной информации о выполнении метода CursorFill Вы можете использовать функцию AERROR( ) Другие варианты обработки ошибочных ситуаций: команда ON ERROR, событие Error, и команда TRY...CATCH...FINALLY - не обеспечивают механизм получения дополнительной информации об аварийном завершении выполнения метода, = False.

Expand image Комментарии

Применяется в: Класс CursorAdapter

Следующая таблица описывает различные варианты поведения данного метода CursorFill при свойстве CursorAdapter DataSourceType .

DataSourceType SelectCmd property behavior

"Native"

CursorFill выполняет SelectCmd, которая содержит выполнимую команду Visual FoxPro SQL SELECT.

"ADO"

CursorFill выполняет SelectCmd как команду открытия курсора ADO RecordSet Open. Вам предварительно нужно определить значение свойства CursorAdapter DataSource как правильный объект ADO RecordSet. Если SelectCmd содержит параметры, Вы должны указать правильный объект ADO Command в параметре метода Source .

Созданные курсоры закрываются вместе с соответствующим объектом ADO RecordSet. Тем не менее,это не касается тех курсоров, которые создаются при использовании метода CursorAttach .

CursorFill не устанавливает значение свойства ADO RecordSet MaxRecords как свойство MaxRecords .

"ODBC"

CursorFill выполняет SelectCmd используя хэндл соединения (connection handle), заданный в свойстве DataSource объекта CursorAdapter. Visual FoxPro возвращает курсор по аналогии с выполнением соответствующих функций SQL Pass-Through. Имя курсора определяется соответствующим свойством This.Alias.

Note Примечание

Если несколько объектов типа CursorAdapter используют один хэндл ODBC-соединения, CursorFill может завершиться аварийно по причине занятости используемого соединения (например другим аналогичным объектом). В этом случае задайте значение свойства FetchSize = 1 для всех объектов CursorAdapter , использующих одно соединение , или для каждого объекта создавайте свое соединение.

"XML"

Возможны следующие варианты:

  • SelectCmd является вычисляемым выражением в объекте XMLTable. CursorFill вызывает соответствующий метод XMLTable ToCursor, и подсоединяет результирующий курсор.

  • SelectCmd является командой или функцией, возвращаемой из XML. CursorFill использует функцию XMLTOCURSOR( ) для преобразования XML в курсор. См. дополнительно соответствующие разделы.

Дополнение, Если DataSourceType = "XML", и SelectCmd - является командой или функцией, возвращаемой парсером XML:

  • Параметры XML являются такими же как и для функции XMLTOCURSOR( ). Вы можете определить соответствующие параметры для функции XMLTOCURSOR( ) nFlags как значения параметра CursorFill nOptions. Вы можете также указать дополнительные параметры в функции XMLTOCURSOR( ), или их комбинации для функции XMLTOCURSOR( ).

  • CursorFill варьирует межу выбором eExpression и cXMLFile для функции XMLTOCURSOR( ) для определения параметра nOptions:

    • если nOptions = 0, CursorFill вычисляет XMLSource как eExpression и ожидает переменную памяти как допустимую строку XML или выражение, результатов вычисления которого является допустимая строка XML.

    • если nOptions = 512, CursorFill вычисляет XMLSource как cXMLFile и ожидает символьную строку, дополнительно заключенную в кавычки ("") или переменную памяти, содержащую допустимое имя файла.

  • Параметр cCursorName в функции XMLTOCURSOR( ) - всегда есть значение свойства Alias для объекта CursorAdapter.

  • Если lUseCursorSchema = True (.T.), CursorFill автоматически добавляет влаг = 8192, для существующего курсора XML.

Когда система Visual FoxPro выполняет метод CursorFill, то уже существующий курсор закрывается, рабочая область с создаваемым курсором становится текущей рабочей областью.

Note Примечание

Если Вы хотите сохранить уже существующий курсор, то выполните метод CursorDetach перед запуском метода CursorFill.

Когда система Visual FoxPro подсоединяет курсор (attaches a cursor), Вы не можете изменить структуру командой MODIFY STRUCTURE или командой ALTER TABLE - SQL .

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы и События
Свойство NoData
Свойство UseCursorSchema
Функция GETCURSORADAPTER( )

Другие ссылки

Методы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


CursorRefresh Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод CursorRefresh
Смотрите также Пример
CollapseAll image

Обновляет курсор текущими данными из источника данных. CursorRefresh повторно исполняет значение параметра SelectCmd в событии BeforeCursorRefresh относительно DataSourceType объекта CursorAdapter .

Note Замечание

Если SelectCmd в событии BeforeCursorRefresh содержит параметры, вы можете изменять область данных, которые возвращаются из оригинального запроса с помощью изменения параметров.

CursorAdapter.CursorRefresh()

Expand image Возвращаемое значение

Логический тип данных. CursorRefresh возвращает True (.T.) если курсор успешно перезаполнен данными, или, в противном случае, False (.F.).

Note Замечание

Для получения информации об ошибке, в случае если метод CursorRefresh вернул False (.F.), вы должны вызвать функцию AERROR( ), так как обработчики ошибок, такие как команда ON ERROR, событие Error и команда TRY...CATCH...FINALLY не ловят эту информацию.

Expand image Примечания

Применятеся к: Классу CursorAdapter

CursorRefresh обновляет перечисленные ниже свойства курсоров, основанных на ADO или ODBC из свойств объекта CursorAdapter:

  • AllowSimultaneousFetch

  • CompareMemo

  • FetchAsNeeded

  • FetchMemo

  • FetchSize

  • MaxRecords

  • Prepared

  • UseMemoSize

Visual FoxPro сгенерирует ошибку, когда курсор содержит несохраненные изменения.

Если значение свойства DataSourceType объекта CursorAdapter установлено в "ADO", то при исполнении метода CursorFill объекта CursorAdapter, CursorRefresh ведет себя следующим образом:

  • Объект CursorAdapter имеет подсоединенный курсор, полученный в результате исполнения SelectCmd с помощью CursorFill:

    • Устанавливет свойство CommandText для ADO Command объекта ActiveCommand в значение SelectCmd, используемого для открытия ADO RecordSet если только CommandText уже не слдержит это значение.

    • Обновляет коллекцию параметров объекта Command и пере-оценивает значения параметров.

    • Вызывает метод Requery объекта ADO RecordSet и посылает теже самые значения в параметр nOptions, используемый методом CursorFill для открытия ADO RecordSet.

  • Объект CursorAdapter имеет присоединенный курсор, полученный в результате отправки уже открытым ADO RecordSet значений в параметр Source метода CursorFill.

    • Вызывает метод Requery ADO RecordSet и посылает то же самое значение параметру nOptions, используему методом CursorFill.

Note Замечание

Метод CursorRefresh игнорирует свойства MapBinary и MapVarchar для размечаемых типов данных.

Expand image Пример

Example 1

Примеведенный ниже пример показывает получение результата с использование ADO с параметром и использование CursorRefresh для обновления данных. Установки строки соединения для SQL Server (localhost) и Visual FoxPro OLE DB Provider являются следующими:

CopyCode image Скопировать код
* .ConnectionString = 'provider=SQLOLEDB.1;data source=localhost;'+
* 'initial catalog=Northwind;trusted_connection=yes'
CLEAR
LOCAL loConn AS ADODB.CONNECTION, ;
   loCommand AS ADODB.COMMAND, ;
   loException AS EXCEPTION, ;
   loCursor AS CURSORADAPTER, ;
   country, ;
   laErrors[1]ADO RecordSet
loConn = CREATEOBJECT('ADODB.Connection')
  WITH loConn
   .ConnectionString = 'provider=vfpoledb;data source=' + ;
   HOME(2)+'northwind\Northwind.dbc'
TRY
  .OPEN()
CATCH TO loException
   MESSAGEBOX(loException.MESSAGE)
   CANCEL
ENDTRY
ENDWITH
loCommand = CREATEOBJECT('ADODB.Command')
loCommand.ActiveConnection = loConn
loCursor = CREATEOBJECT('CursorAdapter')
WITH loCursor
 .ALIAS= 'Customers'
 .DATASOURCETYPE = 'ADO'
 .SELECTCMD= ;
 'select * from customers where country=?lcCountry'
 lcCountry = 'Brazil'
 .DATASOURCE = CREATEOBJECT('ADODB.Recordset')
 .DATASOURCE.ActiveConnection = loConn
 llReturn = .CURSORFILL(.F., .F., 0, loCommand)
 IF llReturn
BROWSE
lcCountry = 'Canada'
llReturn= .CURSORREFRESH()
IF llReturn
 BROWSE
ENDIF llReturn
 ELSE
AERROR(laErrors)
MESSAGEBOX(laErrors[2])
 ENDIF llReturn
ENDWITH

Следующий пример показывает использование CursorRefresh с уже открытым ADO Recordset. Установки строки соединения для SQL Server (localhost) и Visual FoxPro OLE DB Provider являются следующими::

CopyCode image Copy Code
* .ConnectionString = 'provider=SQLOLEDB.1;data source=localhost;' + ;
* 'initial catalog=Northwind;trusted_connection=yes'
CLEAR
LOCAL loConn AS ADODB.CONNECTION, ;
 loCommand AS ADODB.COMMAND, ;
 loParam AS ADODB.PARAMETER, ;
 loRs AS ADODB.Recordset,;
 loException AS EXCEPTION, ;
 loCursor AS CURSORADAPTER, ;
 lcCountry, ;
 laErrors[1]
loConn = CREATEOBJECT('ADODB.Connection')
WITH loConn
 .ConnectionString = 'provider=vfpoledb;data source=' + ;
HOME(2)+'northwind\Northwind.dbc'
 TRY
.OPEN()
 CATCH TO loException
MESSAGEBOX(loException.MESSAGE)
CANCEL
 ENDTRY
ENDWITH
loCommand = CREATEOBJECT('ADODB.Command')
loCommand.CommandText = ;
 "SELECT * FROM customers WHERE Country = ?"
loParam = loCommand.CreateParameter("Country", 129, 1, 15, "")
loCommand.PARAMETERS.APPEND(loParam)
loCommand.PARAMETERS("Country") = "Brazil"
loCommand.ActiveConnection = loConn
loRs = loCommand.Execute()
loCursor = CREATEOBJECT('CursorAdapter')
WITH loCursor
 .ALIAS= 'Customers'
 .DATASOURCETYPE = 'ADO'
 llReturn = .CURSORFILL(.F., .F., 0, loRs)
 IF llReturn
BROWSE
loRs.ActiveCommand.PARAMETERS("Country") = "Canada"
llReturn= .CURSORREFRESH()
IF llReturn
 BROWSE
ENDIF llReturn
 ELSE
AERROR(laErrors)
MESSAGEBOX(laErrors[2])
 ENDIF llReturn
ENDWITH

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие BeforeCursorRefresh

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataToClip Method

Visual FoxPro 9.0 Описание Языка
DataToClip, метод
См. также
CollapseAll image

Копирует несколько Записей таблицы (как текст) в системный ClipBoard.

ApplicationObject.DataToClip([nWorkArea | cTableAlias]
 [, nRecords] [, nClipFormat])

Expand image Возвращаемое значение

nWorkArea

Определяет номер рабочей области, в которой открыта таблица, записи из которой копируются в Clipboard (рабочий буфер). Если вы не указываете параметры рабочей области cTableAlias / nWorkArea, то предполагается таблица, открытая в текущей Рабочей области.

cTableAlias

Определяет имя Алиаса Таблицы, записи которой требуется скопировать в Clipboard.

nRecords

Определяет количество копируемых записей таблицы. Если значение данного параметра nRecords больше чем общего количества записей в таблице, то копируются все записи. Если параметры nRecords или nClipFormat не указаны, то копируются все записи начиная с текущей.

nClipFormat

Определяет Вариант разделителя между полями копируемых записей. Допустимы следующие значения данного параметра nClipFormat:

nClipFormat Краткое описание

1

(По-умолчанию) Значения полей разделяются пробелом (в рабочем буфере)

3

Значения полей разделяются символом Табуляции (Tab)

Если параметр nClipFormat не указывается, значения полей в ClipBoard разделяются пробелом (Space).

Expand image Комментарии

Применяется в: Application, объект | _VFP, системная переменная

Первой строкой в системном Clipboard размещается строка имен копируемых Полей Записи, далее следуют значения полей копируемых Записей, каждая запись с новой строки.

Expand image См. также

Описание

Eva, метод
SetVar, метод
_CLIPTEXT, системная переменная

Другие ссылки

Методы объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


DelayedMemoFetch Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод DelayedMemoFetch
Смотрите также
CollapseAll image

Производит задержанную выборку полей Memo для целевой записи в курсоре в объекте CursorAdapter.

CursorAdapter.DelayedMemoFetch(cMemoName)

Параметры

cMemoName

Указывает имя мемо-поля выбираемого в текущую запись курсора, ассоциированного с объектом CursorAdapter.

Expand image Примечания

Применяется к классу: CursorAdapter

Когда свойство FetchMemo установлено в False (.F.), то разрешена возможность производить задержанную выборку мемо-поля. Задержанная выборка мемо-поля предотвращает перепись его содержимого во время вызово методов CursorFill и CursorRefresh. Попытка извлечь содержимео мемо-поля выполняется тогда, когда приложение пытается получить доступ к значению полей. Приведенные ниже четыре члена CursorAdapter позволяют вам использовать задержанное извлечение сордержимого мемо-полей.

  • Метод DelayedMemoFetch

  • Свойство FetchMemoDataSourceType

  • Свойство FetchMemoDataSource

  • Свойство FetchMemoCmdList

Метож DelayedMemoFetch производит задержанное извлечение для Memo-поля cMemoName в текущей записи. Этот метод возвращает содержимое мемо-поля. В случае, если информация не может быть извлечена, генерируется ошибка.

Замечание Замечание

Для того, что задержанное извлечение мето-поля работало с CursorAdapter, ассоциированный с ним курсор должен быть открыт в монопольном (exclusive) режиме.

Замечание Замечание

Метод DelayedMemoFetch не должен вызываться для иных целей, кроме как выполения задержанного извлечения Memo. Ни при каких условиях, методне должен изменять текущую запись.

Для получения доступа к данным в целевой записи, Visual FoxPro открывает курсор "только для чтения" с целевой запись в качестве текущей. Этот курсор открывается в монопольном (exclusively) режиме, а его псевдоимя содержится в свойстве RefreshAlias. Если свойство RefreshAlias ничего не содержит, тогда метод DelayedMemoFetch не вызывается движком данных Visual FoxPro.

Используя этот метод вы можете возвратить содержимое поля типа General. Для этого, вам необходимо конвертировать содержимое этого поля в тип Blob с помощью функции CAST( ).

В приведенном ниже примере показано использование DelayedMemoFetch для извлечения данных полей Memo и General из таблицы Northwind Categories через Visual FoxPro OLE DB Provider.

CopyCode image Скопировать код
CLOSE DATABASES all
CLEAR

LOCAL oCA as CursorAdapter
LOCAL oConn AS ADODB.Connection
LOCAL oRS AS ADODB.Recordset
LOCAL cConnStr,lcNorthwindFile

lcNorthwindFile = HOME()+"Samples\Northwind\northwind.dbc"
cConnStr = [Provider=VFPOLEDB.1;Data Source=&lcNorthwindFile.;Password="";Collating Sequence=MACHINE]

oConn  = createobject('ADODB.Connection')
oConn.Open(cConnStr)
oRS = CREATEOBJECT("ADODB.Recordset")
oRS.ActiveConnection = oConn
oRS.CursorLocation = 3  && adUseClient
oRS.CursorType = 3&& adOpenStatic
oRS.LockType = 3&& adLockOptimistic

oCA=CREATEOBJECT("CADelayedFetch")
oCA.DataSource=oRS

IF !oCA.CursorFill()
AERROR(aerrs)
DISPLAY MEMORY LIKE aerrs
RETURN
ENDIF

GO TOP
BROWSE

DEFINE CLASS CADelayedFetch AS CursorAdapter
FetchMemo=.F.
DataSourceType="ADO"
SelectCmd="SELECT * from categories"
CursorSchema="categoryid i, categoryname c(15), description m, picture g"
UseCursorSchema=.T.

FUNCTION DelayedMemoFetch(cFieldName)
NODEFAULT
IF UPPER(cFieldName)==UPPER("picture")
RETURN CAST(DODEFAULT(cFieldName) as W)
ENDIF
RETURN [Modified value:] + DODEFAULT(cFieldName)
ENDFUNC
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство RefreshAlias
Свойство FetchMemo
Свойство FetchMemoDataSource
Свойство FetchMemoDataSourceType
Свойство FetchMemoCmdList

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DeleteColumn Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод DeleteColumn
Смотрите также
CollapseAll image

Удаляет объект Column из элемента управления Grid.

Grid.DeleteColumn[(nIndex)]

Параметры

nIndex

Задает порядковый номер объекта Column в элементе управления Grid. Если аргумент nIndex не задан, удаляется активный объект Column элемента управления Grid.

Expand image Примечания

Применимо к: Элемент управления Grid

Expand image Смотрите также

Справочное руководство

Метод AddColumn
Метод AddObject
Метод RemoveObject

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Dock Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Dock
Смотрите также Пример
CollapseAll image

Помещает объект ToolBar или объект Form вдоль бордюра главного окна Visual FoxPro или помещает объект Form внутри окон Visual FoxPro IDE или рядом с другими формами. Для использование метода Dock для форм, свойство формы Dockable должно быть установлено в 1. Имеется две версии синтаксиса.

Toolbar.Dock(nLocation [, X, Y])
Form.Dock(nLocation, [, oForm])

Параметры

nLocation

Определяет место стыковки панели инструментов или формы.

В приведенной ниже таблице перечислены значения для nLocation.

nLocation Описание константа FoxPro.h

–1

Расстыковывает панель инструментов или форму.

TOOL_NOTDOCKED

0

Помещает панель инструментов или форму вверху главного окна Visual FoxPro.

TOOL_TOP

1

Помещает панель инструментов или форму с левой стороны главного окна Visual FoxPro.

TOOL_LEFT

2

Помещает панель инструментов или форму с правой стороны главного окна Visual FoxPro.

TOOL_RIGHT

3

Помещает панель инструментов или форму внизу главного окна Visual FoxPro.

TOOL_BOTTOM

4

Стыкует форму с другим окном так что они перекрывают друг друга и переключатсья между ними можно с помощью закладок. (только для форм)

TOOL_TAB
X, Y

Определяет горизонтальную и вертикальные координаты соответственно стыковочной позиции панели инструметов.

oForm

Определяет объектную ссылку на другую форму для закладочной или линковочной стыковок.

Expand image Возвращаемое значение

Логический тип данных. Dock возвращает True (.T.) если предмет удалось состыковать. В противном случае, Dock возвращает False (.F.).

Expand image Примечания

Применяется к: Form Object | ToolBar Object

Visual FoxPro не поддерживает стыковку для форм top-level. Поэтому, Visual FoxPro сбрасывает свойство ShowWindow состыкованной формы, которое определяет - будет ли форма top-level формой и всегда по умолчанию устанавливает значение свойства в 0.

При вызове метода Dock происходят события Activate и Resize.

Вы не можете рекурсивно стыковать предметы. Например, вы не можете стыковать одну форму, пока стыкуется другая.

Для получения более подробной информации о стыковке панелей инструментов и форм, смотрите Как: стыковать панели инструментов и Как: стыковать формы.

Expand image Пример

Приведенный ниже пример использует функцию CREATEOBJECT( ) для создания формы, устанавливает свойства Dockable и Visible для чтобы форма была видимой и стыкуемой и использует метод Dock для стыковки формы к левой стороне главного окна Visual FoxPro.
CopyCode image Скопировать код
omyForm = CREATEOBJECT("Form")
omyForm.Dockable = 1
omyForm.Visible = .T.
omyForm.Dock(1)

Expand image Смотрите также

Справочное руководство

Свойство Dockable
Метод GetDockState
Событие AfterDock
Событие BeforeDock
Свойство Docked
Событие UnDock
Функция ADOCKSTATE()

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DoCmd Method

Visual FoxPro 9.0 Описание Языка
DoCmd, метод
См. также
CollapseAll image

Выполняет указанную команду или программный модуль Visual FoxPro в текущем экземпляре Visual FoxPro Application Automation Server.

ApplicationObject.DoCmd(cCommand)

Параметры

bstrCmd

Определяет команду или программный модуль Visual FoxPro, который должен быть выполнен.

Expand image Комментарии

Применяется в: Application, объект | _VFP, системная переменная

Параметр cCommand должен быть правильной, существующей командой данной версии Visual FoxPro.

Expand image См. также

Описание

DO, команда
Eval, метод
SetVar, метод

Другие ссылки

Методы объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


DoMessage Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод DoMessage
Смотрите также Пример
CollapseAll image

Предоставляет модальный дилоговый блок, когда AllowModalMessages установлен в True (.T.), в противном случае вызывает DoStatus.

oReportListener.DoMessage(cMessage[,nParams[,cTitle])

Параметры

cMessage

Указывает сообщение, отображаемое объектом ReportListener для обеспечения работы механизма обратной связи с пользователем.

nParams

Численное значение, определяющее аттрибуты диалогового блока, идентичные значениям аттрибутов, используемых в функции MESSAGEBOX().

cTitle

Определяет заголовок окна диалогового блока. Подобдно аналогичному параметру в функции MESSAGEBOX(), значением по умочанию является выражение "Microsoft Visual FoxPro", если вы не укажете текст заголовка.

Expand image Возвращаемое значение

Нет.

Expand image Примечания

Применяется к объекту: ReportListener.

Базовый класс объекта ReportListener использует диалоговый блок MESSAGEBOX для предоставления модальной обратной связи. Его второй и третий параметр идентичны параметрам, используемым в функции MESSAGEBOX(). Для получения более подробной информации смотрите описание функции MESSAGEBOX().

Если вы перепишите этот метод или что-то добавите в него, вы должны соблюдать те же самые соглашения по параметрам, точно так же, как и дополнительные требования интерфейса устанавливаемые базовым классов: примите во внимание значения свойствя AllowModalMessages и QuietMode при оценке - какой тип обратной связи должен отобразить этот метод. Для более подробной информации смотрите описания функции MESSAGEBOX() и свойства QuietMode.

В отличие от функции MESSAGEBOX(), базовый класс ReportListener не имеет четвертого аргумента, указывающего численное значение для Timeout, и не имеет механизма, отвечающего за возвращаемое значение. В классе, производном от ReportListener, однако, вы можете кооптировать включение этой функционильности и вы можете выбрать, как вы желаете обработать ответ пользователя.

Например, фундаментальный класс ReportListener User Feedback использует измененную версию этого метода, позволяющего пользователю прекратить испольнение отчета на полпути.

Expand image Пример

The following code shows the way ReportListener User Feedback Class invokes DoMessage to allow users to cancel a report. This class leverages the version of DoMessage implemented by ReportListener Base Foundation Class, its parent. The enhanced method provides a suitable return value, so the User Feedback Class can respond to the user's choice. ReportListener Base Foundation Class's implementation of the DoMessage method is also shown below.

Note Tip

Notice that ReportListener Base Foundation Class provides a consistent numeric value for the second parameter when it invokes MESSAGEBOX. If you use the baseclass ReportListener's DoMessage method, and if you do not need to specify dialog box attributes but wish to provide a custom dialog box caption, you should provide a value of 0 for the second parameter, similar to what you see in this example. If you specify a non-numeric value for this parameter (such as .F.), an error occurs.

Приведенный ниже пример показывает путь, с помощью которого класс ReportListener User Feedback Classвызывает метод DoMessage, позволяя пользователю прекратить выполнение отчета. Этот класс усиливает версию DoMessage, предоставляемую базовым фундаментальным классом ReportListener, его прародителем. Расишренный метод предоставляет подходящее возвращаемое значение так, что класс User Feedback может ответить на выбор пользователя..Совет Отметьте, что фундаментальный базовый класс ReportListener предоставляет согласующееся численное значение для второго параметра, когда он вызывает Если вы используете метод DoMessage базового класса ReportListener и если вам не требуется указывать аттрибуты диалогового блока, но вы желаете предоставить свой заголовок блока, то второму параметру метода вы должны послать значение , аналогично тому, как это показано в примере. Если вы укажете для этого параметра нечисленное значение, будет сгенерирована ошибка.
CopyCode image Скопировать код
* UpdateListener class
* (ReportListener User Feedback Foundation Class)
PROCEDURE CancelReport
   IF THIS.IsRunning AND ;
      (THIS.QuietMode OR ;
       (NOT THIS.AllowModalMessages) OR ;
        THIS.DoMessage(;
             OUTPUTCLASS_REPORT_CANCELQUERY_LOC, ;
             MB_ICONQUESTION+MB_YESNO) =  IDYES )
      DODEFAULT()
      IF SYS(2024) = "Y"
         THIS.ThermForm = NULL
         THIS.DoMessage(OUTPUTCLASS_REPORT_INCOMPLETE_LOC, ;
                        MB_ICONEXCLAMATION)
      ENDIF
   ELSE
      NODEFAULT
   ENDIF
ENDPROC

* _ReportListener class
* (ReportListener Base Foundation Class)
PROCEDURE DoMessage(cMessage,iParams,cTitle)
   NODEFAULT
   IF THIS.QuietMode OR ;
   (THIS.IsRunning AND THIS.CommandClauses.NoDialog)
   * для подражания поведению базового класса, сделайте обе проверки,
   * в случае если вызов метода DoMessage() случился до того,
   * как базовый класс установил QuietMode .T. в ответ на
   * установку NoDialog в начале испольнения отчета,
   * или после того, как базовый класс переустановил QuietMode в .F.
   * в конце исполнения отчета.
      RETURN 0
   ELSE
      IF THIS.AllowModalMessages
         IF VARTYPE(cTitle) = "C"
            RETURN ;
            MESSAGEBOX(TRANS(cMessage), ;
                       VAL(TRANS(iParams)),cTitle)
         ELSE
            RETURN  ;
            MESSAGEBOX(TRANS(cMessage), ;
                       VAL(TRANS(iParams)),THIS.AppName)
         ENDIF
      ELSE
         THIS.DoStatus(cMessage)
         RETURN 0
      ENDIF
   ENDIF
ENDPROC

Expand image Смотрите также

Справочное руководство

Объект ReportListener
Метод DoStatus
Фундаментальный класс ReportListener User Feedback
Базовый фундаментальный класс ReportListener

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Метод DoScroll

Visual FoxPro 9.0 Справочное руководство по языку
Метод DoScroll
Смотрите также
CollapseAll image

Прокручивает элемент управления Grid, эмулируя работу пользователя с полосами прокрутки.

Grid.DoScroll(nDirection)

Parameters

nDirection

В качестве nDirection допускаются следующие установки:

Команда прокрутки Действие прокрутки

0

Вверх

1

Вниз

2

Вверх на страницу

3

Вниз на страницу

4

Влево

5

Вправо

6

Влево на страницу

7

Вправо на страницу

Expand image Примечания

Применимо к: Grid Control

После метода DoScroll инициируется событие Scrolled.

Expand image Смотрите также

Reference

Событие Scrolled

Прочие ресурсы

Методы (Visual FoxPro)
Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DoStatus Method

DoStatus, метод
См. также
CollapseAll image

Данный метод обеспечивает независимую Обратную Связь при выполнении Отчета, например, такую как, передача Сообщения Пользователю.

oReportListener.DoStatus(cMessage)

Параметры

cMessage

Определяет текст Сообщения, которое будет отображено механизмом обратной Связи работающего объекта ReportListener.

Expand image Возвращаемое значение

Значение не определено (.T.).

Expand image Комментарии

Применяется в: ReportListener, объект.

Подобно аналогичному методу Модальной Обратной Связи DoMessage соответствующего объекта ReportListener, метод DoStatus подчиняется правилам установки значений свойства QuietMode, когда обрабатываются соответствующие события текущей среды данных. Дополнительную информацию смотрите в разделе: QuietMode, свойство.

Родительский класс ReportListener использует стандартный механизм команды WAIT NOWAIT для обработки сообщений рассматриваемого метода DoStatus, однако вы можете подавить отображение стандартных Сообщений, как это показывается в соответствующем примере: ReportListener User Feedback, фундаментальный класс. Для каждого момента использования метода DoStatus, осуществляющего независимую обратную связь с пользователем, необходимо определять соответствующий метод ClearStatus, который снимает соответствующее Сообщение с экрана (например, после завершения выполнения Отчета). Дополнительную информацию смотрите в разделе: ClearStatus, метод.

Expand image См. также

Описание

DoMessage, метод
ReportListener, объект

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


? DoVerb Method
Visual FoxPro 9.0 Справочное руководство по языку
Метод DoVerb
Смотри также Пример

Осуществляет действие над заданным объектом.

Object.DoVerb[(Verb)]

Параметры

Verb

Действие выполняется над объектом внутри OLE контейнера. Если это действие не определено, то выполняется действие заданое по умолчанию. Значением этого аргумента может быть одно из стандартных действий, поддерживаемых всеми объектами или индекс массива свойств ObjectVerbs. аждый объект может обладать своим собстаенным набором свойств. Следующие значения показывают стандартные действия поддерживаемые каждым объектом:

Значение Действие

0

Действие по умолчанию для заданного объекта

–1

Активация объекта для редактирования. Если приложение создаёт объект, поддерживающий активацию на месте, то объект активируется внутри OLE контейнера.

–2

Открывает объект в отдельном от приложения окне. Если приложение создаёт объект, поддерживающий активацию на месте, объект активируется в своём собственном окне.

–3

Для вложенных объектов, скрывает приложение, создавшее объект.

–4

Если объект поддерживает активацию на месте, то происходит его активация и появляется какой-либо пользовательский интерфейс. Если объект не поддерживает активацию на месте, то активации не происходит и возникает ошибка.

–5

Если пользователь перемещает фокус на OLE контейнер, создаётся окно для объекта и объект становится готов к редактированию. Ошибка возникает если объект не поддерживает активацию одинарным кликом мыши.

–6

Используется когда объект активирован для редактирования, удаляет все записи об изменениях, которые может откатить приложение.

Примечания

Применительно к: OLE Bound Control | OLE Container Control

Если вы устанавливаете свойство AutoActivate равным 2 (Двойной щелчок), OLE контейнер автоматически активирует текущий объект, когда пользователь совершет двойной щелчок мышью по нему.

Совет:
Даже если вы можете использоваеть слова обозначающие действия (edit, open, play и тп) задавайте действия, используя DoVerb, это гораздо быстрее, чем использовать индекс (0,1,2 и тд).

Пример

Следующий пример добавляет OLE контейнер на форму, и, использет свойства OleClass и DocumentFile для определения Microsoft Excel в качества сервера автоматизации и страницы Microsoft Excel как файла для редактирования.

Свойство DocumentFile определяет название страницы Book1.xls в директории EXCEL на диске C. Этот пример не будет нормально работать если файл и директория определённые в свойстве DocumentFile не созданы; возможно понадобится модифицировать свойство DocumentFile для переопределения на существую директорию и файл страницы Excel.

* Метод DoVerb используется для активации страницы на редактирование.
Скопировать код
*frmMyForm = CREATEOBJECT('form')  && Создаёт форму
*frmMyForm.Closable = .F.  && !!! Вот тут непонятно, вроде написано одно, а прокомментировано другое
&&По идее должно быть - Отключение возможности закрытия окна крестиком, а прокомментировано
&&Отключение кнопок управления окном Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Добавляем кнопку
frmMyForm.AddObject("oleObject","oleExcelObject")  && Добавляем OLE объект

frmMyForm.cmdCommand1.Visible=.T.  && Отображаем кнопку "Quit"(выход)

frmMyForm.oleObject.Visible=.T.  && Отображаем OLE объект
frmMyForm.oleObject.Height = 50  && Задаём высоту OLE объекта

frmMyForm.Show  && Отображаем форму

frmMyForm.oleObject.DoVerb(-1)  && -1 for Edit

READ EVENTS  && Начинаем считывать события

DEFINE CLASS oleExcelObject as OLEControl
   OleClass ="Excel.Sheet"  && Имя сервера
   DocumentFile = "C:\EXCEL\BOOK1.XLS"  && Файл должен существовать
ENDDEFINE

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Создаём кнопку
   Caption = '\<Quit'  && Присваиваем ей называние
   Cancel = .T.  && Кнопка будет срабатывать так же по нажатию на (Esc)
   Left = 125  && !!! Тут тоже непонятно - вроде бы речь идёт о координатах, а в комментариях о колонке Command button column
   Top = 210  && !!! Аналогичное предыдущему замечание Command button row
   Height = 25  && Высота кнопки

   PROCEDURE Click
      CLEAR EVENTS  && Останавливаем чтение событий и закрываем форму
ENDDEFINE

См. Также

Другие Ресурсы

OLE Bound Control
OLE Container Control
Methods
Language Reference

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Drag Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Drag
Смотрите также
CollapseAll image

Начинает, завершает или отменяет операцию перетаскивания (drag operation).

Control.Drag [(nAction)]

Параметры

nAction

Указывает на производимое действие. Если вы опустит nAction, то nAction устанавливается в 1.

В таблице перечислены возможные установки для метода Drag:

Установка Описание

0

Отменяет операцию перетаскивания; восстанавливает оригинальную позицию элемента.

1

(По умолчанию) Начинает операцию перетаскивания элемента.

2

Завершает перетаскивание — то есть, бросает элемент.

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object (Visual FoxPro) | EditBox Control | Grid Control | Image Control (Visual FoxPro) | Label Control (Visual FoxPro) | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Shape Control | Spinner Control | TextBox Control (Visual FoxPro)

Обычно процедура в событии MouseDown вызывает метод Drag для начала операции перетаскивания.

Метод Drag необходимо использовать для управления перетаскиванием только в том случае, если значение свойства DragMode элемента установлено в 0 (Manual). Вы можете использовать метод Drag на элементе, чье свойство DragMode установлено в 1 (Automatic), но события MouseDown и MouseUp не вызывают инициализации перетаскивания.

Если вы желаете, что указатель мыши изменился, пока вы перетаскиваете элемент, используйте либо свойство DragIcon, либо свойство MousePointer для определения вида указателя мыши. Установка свойства MousePointer принимается во внимание только в том случае, если не установлено значение свойства DragIcon.

Expand image Смотрите также

Справочное руководство

Событие DragDrop
Свойство DragIcon
Свойство DragMode
Свойство MousePointer
Метод Move (Visual FoxPro)

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Draw Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Draw
Смотрите также
CollapseAll image

Перерисовывает объект Form.

Object.Draw

Expand image Примечания

Применяется к: объекту Form | системной переменной _SCREEN

Expand image Смотрите также

Справочное руководство

Событие Paint

Прочие ресурсы

Методы(Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

Статьи и решения русского FoxClub'а

Cоздание графических объектов в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Eval Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Eval
Смотрите также
CollapseAll image

Оценивает выражение и возвращает результат для экземпляра приложения сервера автоматизации Visual FoxPro.

ApplicationObject.Eval(cExpression)

Expand image Возвращаемое значение

Character, Numeric, Currency, Date или Logical

Expand image Возвращаемое значение

cExpression

Определяет выражение для оценки. cExpression может литеральной символьной строкой или действительным выражением Visual FoxPro, переменной, элементом массива или поля любого типа, заключенное в кавычки.

Expand image Примечание

Применяется к: Application Object | _VFP System Variable

cExpression должно быть must допустимым символьным выражением Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Метод DoCmd
Метод SetVar

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


GetData Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод GetData
Смотрите также
CollapseAll image

Извлекает данные из объекта OLE drag-and-drop DataObject. Доступно только в run time.

oDataObject.GetData(nFormat | cFormat [, @ArrayName])

Параметры

nFormat| cFormat

Указывает формат извлекаемых данных. В приведенной ниже таблице перечислены значения для каждого формата данных и описание каждого формата. DataObject автоматически поддерживает нижеприведенные форматы. automatically supports the following formats (доступно большее количество форматов, но для их использования может потребоваться дополнительное программирование). Для получения подробной информации о доступных форматах данных смотрите документацию по Visual C++® на Microsoft Developer Network.

Data формат* nFormat| cFormat Описание

CF_TEXT

1

Текстовый формат.

CF_OEMTEXT

7

Текстовый формат, содержащий символы в наборе OEM.

CF_UNICODETEXT

13

Текстовый формат в Unicode

Note Note

Доступен только для версий Visual FoxPro запущенный на NT 4.0 или позднее.

CF_FILES or CF_HDROP

15

Дескриптор, который идентифицирует список файлов такой, как набор файлов, перетащенных из Windows Explorer.

CF_LOCALE

16

Десриптор идентификатора локали, ассоциированной с текстом в clipboard.

CFSTR_OLEVARIANTARRAY

"OLE Variant Array"

Массив Visual FoxPro. Множество величин могут перенесены в простой операции перетаскивания (drag and drop) при использования этого формата.

Например, этот формат может быть использован для перетаскивания набора элементов из одного элемента управления listbox в другой элемент управления listbox.

CFSTR_OLEVARIANT

"OLE Variant"

Visual FoxPro variant. Все типы данных в Visual FoxPro представлены как variants. Этот формат может быть использован для перетаскивания данных Visual FoxPro без потери типа данных.

CFSTR_VFPSOURCEOBJECT

"VFP Source Object"

Ссылка на объект Visual FoxPro.

* Определено в FOXPRO.H.

@ArrayName

Указывает имя массива, в котором будут храниться данные, когда перетаскиваемые данные могут содержать множество значений. Единственными форматами данных, в которых данные могут содержать множество значений являются CF_FILES, CF_HDROP и CFSTR_OLEVARIANTARRAY. Например, вы можете перетащить набор файлов из Windows Explorer в элемент управления listbox Visual FoxPro. Используйте метод GetData в событии OLEDragDrop элемента управления listbox для размещения имет файлов в массив, затем используйте метод AddItem в цикле FOR ... ENDFOR для ввода содержимого массива в listbox.

Массив должен существовать до того, как вы укажете его имя в методе GetData. Если массив существует, но недостаточно велик, чтобы принять данные, Visual FoxPro автоматически увеличит его размер. Если размер массива больше, чем требуется для размещения данных, Visual FoxPro уберет лишние элементы массива.

Expand image Примечания

Применяется к объекту : DataObject

Значение, возвращаемое методом GetData определяется форматом данных, определенного в nFormat или cFormat. Если DataObject не содержит данных в указанном вами в nFormat или cFormat формате, то будет возвращшено False (.F.). Когда данные представляют собой формат множественного значения такой, как CF_FILES, CF_HDROP или CFSTR_OLEVARIANTARRAY то будет возвращено True (.T.). Когда данные представляют собой формат единичного значения, такой, как CF_TEXT, CFSTR_OLEVARIANT или CFSTR_VFPSOURCEOBJECT то на объекте DataObject возвращаются данные.

Событие OLESetData для источника операции drag срабатывает, если существуют данные в формате, указанном вами в nFormat or cFormat, но в объекте DataObject не существует данных в этом формате. (Метод SetFormat может быть использован для указания формата данных до того, как соответствующие данные будут помезены в DataObject методом SetData.)

Expand image Смотрите также

Справочное руководство

Метод ClearData
Метод GetFormat
OLE Drag-and-Drop
Событие OLESetData
Метод SetData
Метод SetFormat

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GetDockState Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод GetDockState
Смотрите также
CollapseAll image

Заполняет массив информацией о состоянии стыковки формы.

Замечание Замечание

Для использования метода GetDockState, свойство формы Dockable должно быть установлено в 1.

Form.GetDockState(ArrayName)

Параметры

ArrayName

Возвращает однострочный, шестиколоночный массив, содержащий информацию о состоянии стыковки формы.

Замечание Замечание

Вам необходимо создать массив до передачи его имени в метод.

В приведенной ниже таблице описывается массив, возвращаемый методом GetDockState.

Колонка Описание

1

Имя формы, информация о состоянии стыковки которой возвращено.

2

Состояние стыковки:

1 - Состыкована

2 - Не состыкована

3

Позиция стыковки.

Для получения информации о значениях, возвращаемых в этой колонке, смотрите описание свойства DockPosition.

4

Целевая форма, или заголовок формы, к которой пристыкована исследуемая форма.

5

Объектная ссылка на состыкованную форму.

6

Объектная ссылка на целевое окно или форму.

Expand image Возвращаемое значение

Применяется к: Form Object

Логический тип данных. GetDockState возвращает True (.T.), если массив успешно заполнен информацией о состоянии стыковки. В противном случае, GetDockState возвращает False. (.F.).

Expand image Примечания

Если форма пристыкована к окну IDE, значением шестой колонки массива будет пустая строка. Если форма пристыкована к рабочему столу Visual FoxPro, тогда шестая колонка будет содержать объектную ссылку на _SCREEN.

GetDockState представляет собой сокращенный вариант функции ADOCKSTATE( ), в которой его детальная информация ограничена до уровня текущей формы. Поскольку GetDockState представляет собой ограниченный поднабор функции ADOCKSTATE( ), он не может предоставить всю необходимую информацию о текущем состоянии стыковки формы. Для получения полной картины состояния вам может потребовать вызов функции ADOCKSTATE(). Для получения более подробной информации, смотрите ее описание в теме Функция ADOCKSTATE().

Expand image Смотрите также

Задачи

Как: стыковать формы

Справочное руководство

Метод Dock
Метод GetDockState
Свойство Dockable
Свойство Docked
Свойство DockPosition
Событие AfterDock
Событие BeforeDock
Событие UnDock

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GetFormat Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод GetFormat
Смотрите также
CollapseAll image

Определяет доступны ли данные в указанном формате на объекте OLE drag-and-drop DataObject. Доступен только в run time.

oDataObject.GetFormat(nFormat | cFormat)

Параметры

nFormat| cFormat

Определяет формат извлекаемых данных. В приведенной ниже таблице перечислены некоторые форматы с описанием каждого из них. Для получения более подробной информации о доступных форматах данных, смотрите документацию по Visual C++ на сайте MSDN. Вы можете, кроме того, создать свой собственный формаи, указав уникальную символьную строку для cFormat.

Формат данных * nFormat| cFormat Описание

CF_TEXT

1

Текстовый формат.

CF_OEMTEXT

7

Текстовый формат, содержащий символы из OEM набора символов.

CF_UNICODETEXT

13

Текст в формате Unicode.

Note Замечание

Доступен только для версий Visual FoxPro, запущенных на Windows NT 4.0 или более поздней.

CF_FILES or CF_HDROP

15

Дескриптор, который идентифицрует список файлов, такой как набор файлов, перетаскиваемых из Windows Explorer.

CFSTR_OLEVARIANTARRAY

"OLE Variant Array"

Массив. С этим форматов в одной операции drag-and-drop может быть перенесено множество значений.

Например, этот формат может быть использован для перетаскивания набора предметов из этого элемента listbox в другой listbox.

CFSTR_OLEVARIANT

"OLE Variant"

Вариант. Универсальный тип данных.

Все типы данных в Visual FoxPro представляются как варианты. Этот формат может быть использован для операции drag-and-drop данных Visual FoxPro без потери типов данных.

CFSTR_VFPSOURCEOBJECT

"VFP Source Object"

Ссылка на Visual FoxPro объект источника операции drag.

* Определены в FOXPRO.H.

Expand image Примечания

Применяется к: DataObject Object

Метод GetFormat возвратит true (.T.) если объект DataObject содержит данные в формате, который вы указали в nFormat or cFormat; в противном случае возвращается false (.F.).

Expand image Смотрите также

Справочное руководство

Метод ClearData
Метод GetData
OLE Drag-and-Drop
Метод SetData
Метод SetFormat

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GetKey Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод GetKey
Смотрите также Пример
CollapseAll image

Возвращает ключ или индекс предмета коллекции в зависимости от переданного зачения параметра.

Collection.GetKey(eIndex)

Параметры

eIndex

Указывает требуемое выражение, которое представляет позицию предмета в коллекции. Это выражение может быть одним из двух типов:

  • Численное. Выражение eIndex должно иметь значение начиная с 1 и до значения свойства Count коллекции.

  • Строковое. Выражение eIndex должно соответствовать cKey, которое было указано при добавлении предмиета в коллекцию.

Expand image Возвращаемое значение

В приведенной ниже таблице перечислены значения, которые может принимать GetKey.

Возвращаемое значение | Условие
Строка (ключ) | Когда в качестве параметра посылается индекс или челочисленное значение
Челочисленное (инедкс) | Когда в качестве параметра посылается ключ или строка
Пустая строка("") | Когда в качестве параметра посылается индекс, который не существует или в случае, когда предметы добавлялись в коллекцию без использования ключей
0 | Когда в качестве параметра посылается несуществующий ключ

Expand image Примечания

  • Поскольку метод GetKey возвращает значение, вам необходимо добавить оператор RETURN в конец GetKey в коде исходника для любых модифицируемых вами субклассов. Например:

    CopyCode image Скопировать код
    RETURN DODEFAULT( eIndex )

    Если вы не желаете возвращать значение, используйте команду RETURN без объединения с функцией DODEFAULT().

  • Для определения - использовались ли ключи при добавлении предметов в коллекцию, вы можете использовать предложение GetKey(1) и фукнцию EMPTY() для проверки возврата пустого значения, как это показано ниже:

    CopyCode image Скопировать код
    ? !EMPTY(Collection.GetKey(1))

  • Для извлечения индекса или ключа предмета коллекции внутри цикла FOR EACH, используйте обычный цикл FOR вместо цикла FOR EACH.

  • Visual FoxPro сгенерирует ошибку, если в качестве параметра был послан неверный тип или параметр вообще не был передан методу GetKey.

Expand image Пример

В приведенном ниже примере показываются задачи, выполняемые после создания коллекции и добавления в нее предметов:

  • Проверка наличия ключей у предметов.

  • Извлечение и отображение ключа для второго предмета коллекции.
CopyCode image Скопировать код
CLEAR
LOCAL oItems AS Collection

oItems = NEWOBJECT("Collection")
oItems.Add("Daffodils", "flower2")
oItems.Add("Roses", "flower1", "flower2")
oItems.Add("Daisies", "flower3")
? !EMPTY(oItems.GetKey(1))
? oItems.GetKey(2)

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта Collection
Класс Collection
Свойство Count (Visual FoxPro)
Команда RETURN
Функция DODEFAULT( )
Команда FOR EACH ... ENDFOR
Цикл FOR (Visual FoxPro)

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GetLatestVersion Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод GetLatestVersion
Смотрите также
CollapseAll image

Берет последнюю версию файла в проекте, находящегося под контролем исходного кода и копирует версию с признаком "только для чтения" на ваш локальный диск.

Object.GetLatestVersion( )

Expand image Примечание

Применяется к объекту: File

Метод GetLatestVersion не производит разрегистрации файла.

True (.T.) возвращается в случае, если файл успешно взят под контроль исходного кода. В противном случае возвращается False (.F.); False (.F.) возвращается также и в том случае, когда проект не находится под контролем исходного кода.

Expand image Смотрите также

Справочное руководство

Метод AddToSCC
Метод CheckIn
Метод CheckOut
Метод RemoveFromSCC
Метод UndoCheckOut

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


GetPageHeight Method

GetPageHeight, метод
См. также Пример
CollapseAll image

Возвращает высоту Листа выполняемого Отчета, в единицах: 960 точек на дюйм (Dots Per Inch - dpi).

iPageHeight = oReportListener.GetPageHeight()

Параметры

Отсутствуют.

Expand image Возвращаемое значение

Тип данных Integer, величина высоты Листа (страницы), в единицах измерения 1/960ths of an inch. Между выполняемыми Отчетами данный метод возвращает значените = 0.

Expand image Комментарии

Применяется в: ReportListener, объект.

Данный метод, как и метод GetPageWidth используется Объектом Предварительного просмотра (Preview Object) или другим "участником" процесса вывода результатов Отчета для запроса активного объекта ReportListener величин размерности текущей страницы вывода, каковы текущие установки Принтера (печатающего устройства) относительно размеров Листа при выполнении активного Отчета. Активный контейнерPreviewContainer работающего объекта ReportListener использует данные Методы при вызове объектом ReportListener метода отображения результатов отчета Show, где выполняются необходимые вычисления для правильного отображения результатов Отчета.

Рассматриваемые Методы обеспечивают возврат актуальных значений размеров Страниц для вывода всех графических точек выполняемого Отчета в том случае, если пользователь не использует в кодах Событий BeforeReport и UnloadReport опции NOPAGEEJECT при выполнении команды REPORT FORM. Если вы все таки используете опцию NOPAGEJECT, данные методы продолжают возвращать актуальные размеры Страницы, пока не будет выполнена команда REPORT FORM без опции NOPAGEEJECT в программном коде соответствующего События UnloadReport. В других случаях, данные методы возвращают значения = 0.

Note Примечание

Рассматриваемые Методы GetPageHeight и GetPageWidth обеспечивают возврат актуальных значений всякий раз, когда объект ReportListener определяет необходимые размеры Страницы при выполнении текущего задания Печати. Объект ReportListener не вычисляет новые значения размеров Страницы Печати при выполнении пользователем соответствующих команд REPORT FORM с использованием опции NOPAGEJECT, которые являются частью одной очереди заданий на Печать (в смысле очереди печати ОС Windows). Однако, вы можете создать пользовательский объект, как производный от класса ReportListener, который сможет управлять несколькими вариантами размеров Страниц Печати при выполнении планируемого задания на Печать.

Дополнительную информацию о возможностях управления Событиями выполняемых Отчетов смотрите в разделе: Основные понятия Объектного Сопровождения Отчетов в системе Visual FoxPro (Object-Assisted Reporting).

Expand image Пример

Вы можете переопределить стандартные Коды Методов, обеспечивающих пользовательскую настройку размеров Страниц Печати.

Note Рекомендации

Требуется обеспечить работающие объекты ReportListener актуальной информацией о действительных размерах Страниц Печати, которые внутренний механизм этих объектов направляет на печатающее устройство. Если принтер получает информацию о размерах Страниц для каждой активной страницы печати, и если получаемые размеры не соответствуют установленному формату, принтер может произвольно интерпретировать получаемые результаты (что может не соответствовать действительности, или искажать результаты Печати). Например, может быть урезан выходной поток Печати, или дынные выводятся без разбиения на Страницы (сплошным потоком). Однако, данная возможность переопределения указанных Методов позволяет значительно усилить функционал рассматриваемого объекта ReportListener, что широко можно использовать при построении многофункциональных Страниц Отчетов, например, в формате HTML.

В представленном далее Примере, объект, производный от класса ReportListener, переопределяет код Метода GetPageHeight, который задает (возвращает) пользовательское значение Высоты Страницы. Данный пример отображает Предварительный просмотр двух Отчетов, с различными размерами Высоты Страницы, при этом используются также Метод объекта ReportListener DoMessage и свойство OutputPageCount, которые своей функциональностью обеспечивают получение двух Отчетов, имеющих различные размеры Страниц.

CopyCode image Копировать Код
LOCAL loReportListener, lcFRX

lcFRX = GETFILE("frx")
IF EMPTY(lcFRX)
 RETURN
ENDIF

loReportListener = CREATEOBJECT("halfSizePage")

REPORT FORM (lcFRX) OBJECT loReportListener
loReportListener.DoMessage("This report run was: " + ;
 TRANSF(loReportListener.OutputPageCount) + " pages long.")

loReportListener.wantHalfSizePage = .T.

REPORT FORM (lcFRX) OBJECT loReportListener
loReportListener.DoMessage("This report run was: " + ;
 TRANSF(loReportListener.OutputPageCount) + " pages long.")

DEFINE CLASS halfSizePage As ReportListener
 ListenerType = 1
 AllowModalMessages = .T.
 wantHalfSizePage = .F.

 PROCEDURE GetPageHeight()
 LOCAL liSize
 liSize = DODEFAULT()
 RETURN IIF(THIS.wantHalfSizePage, liSize/2, liSize)
ENDDEFINE

Expand image См. также

Описание

ReportListener, объект
GetPageWidth, метод
PreviewContainer, свойство
Контейнер Preview API

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


GetPageWidth Method

Visual FoxPro 9.0
Метод GetPageWidth
См. также

Возвращает ширину страницы отчета в единицах (dpi-dots per inch ), кратных величине 960.

iPageWidth = oReportListener.GetPageWidth()

Параметры

Нет.

Возвращаемое значение

Данное целого типа, хпрактеризующее ширину страницы отчета в единицах dpi (Dots Per Inch). В промежутке между процессами выполнения отчетов метод возвращает значение = 0.

Комментарии Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Применяется в: Объект ReportListener .

Данный метод, вместе с методом GetPageHeight доступны в режиме предварительного просмотра совместно с другими "участниками" процесса получения отчета и применяются для определения размеров страницы вывода отчета, а также для определения текущих установок принтера, эти методы оправляются и используются объектом ReportListener. Данный объект используется контейнером PreviewContainer при вызове метода Show для определения параметров текущего содержания отчетов.

Данные методы определяют значения размеров страницы вывода, которые получаются после события BeforeReport и перед событием UnloadReport, если Вы не используете опцию NOPAGEEJECT в Вашей команде REPORT FORM. Если Вы используете опцию NOPAGEJECT, эти методы продолжают возвращать значения размеров страницы также, как и в случае команды REPORT FORM без опции NOPAGEEJECT до наступления события UnloadReport.Вдругих случаях методы возвращают значение, = 0.

Примечание:
Период времени, в течение которого представленные методы GetPageHeight и GetPageWidth определяют требуемые значения, задается объектом ReportListener, который выполняет вывод отчета на печать. ReportListener не выполняет пересчет размеров страницы вывода между несколькими командами REPORT FORM при использовании опции NOPAGEJECT, все задания на печать выполняются в едином потоке. Тем не менее, Вы можете создать классы, производные от ReportListener, которые смогут вычислять размеры страниц вывода для каждого отдельного отчета в одном потоке заданий на печать.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Для дополнительной информации о начале и завершении выполнения отчетов см. раздел Понимание построения объектно-ориентированных отчетов в Visual FoxPro .

Для иллюстрации и комментариев по данной теме см. раздел Метод GetPageHeight .

См. также

Описание

Объект ReportListener
Свойство PreviewContainer
Контейнер Preview Container API

Другие ссылки

Методы (Visual FoxPro)
Описание Языка (Visual FoxPro)

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GridHitTest Method

Visual FoxPro 9.0 Language Reference
Метод GridHitTest
Смотрите также
CollapseAll image

Возвращает через выходные параметры определенные горизонтальные (X) и вертикальные (Y) координаты компонентов элемента управления Grid.

Grid.GridHitTest(nXCoord_In, nYCoord_In
   [, nWhere_Out [, nRelRow_Out [, nRelCol_Out [, nView_Out]]]])

Параметры

nXCoord_In

Определяет горизонтальное (X) положение в пикселях в пределах формы, содержащей Grid.

nYCoord_In

Определяет вертикальное (Y) положение в пикселях в пределах формы, содержащей Grid.

nWhere_Out

Выходной параметр, который содержит значение, соответствующее компоненту объекта Grid, находящегося в положении, определяемом при помощи параметров nXCoord_In и nYCoord_In. Следующая таблица содержит список значений для выходного параметра @nWhere_Out и соответствующий компонент элемента Grid.

@nWhere_Out Компонент Grid

0

Компонент элемента Grid не может быть определен.

1

Заголовок столбца.

2

Вертикальная линия между заголовками столбцов.

3

Ячейка

4

Зарезервировано

5

SplitBar. Разделитель объекта Grid на две части.

6

Указатель, содержащий признак удаленной записи (deletion marker).

7

Зарезервировано

8

Зарезервировано

9

Зарезервировано

10

Зарезервировано

11

Прямоугольник в левом верхнем углу элемента Grid.

12

Указатель текущей записи (Record marker).

13

Область изменения высоты заголовка столбца.

14

Область изменения высоты строки.

15

Зарезервировано

16

Горизонтальная полоса прокрутки

17

Вертикальная полоса прокрутки
nRelRow_Out

Выходной параметр, содержащий относительный номер строки элемента Grid (относительно верхнего края) в указанной позиции.

nRelCol_Out

Выходной параметр, содержащий относительный номер столбца элемента Grid (относительно левого края) в указанной позиции.

nView_Out

Выходной параметр, содержащий значение, которое определяет, какая панель элемента Grid находится по указанным координатам. Если элемент Grid разделен на две панели, то этот параметр содержит значение 0, если по указанным координатам находится левая панель и значение 1, если правая. Если элемент Grid не разделен на две панели, то этот параметр содержит 1.

Expand image Замечание

Применяется: Grid Control

Метод GridHitTest( ) возвращает истину (.T.) если указанная точка находится внутри объекта Grid; в противном случае, возвращает ложь (.F.).

Метод GridHitTest( ) может быть использован внутри событий связанных с мышью или в события "OLE drop" объекат цели для того, чтобы определить где находится указатель мыши внутри элемента Grid. Параметры nRelRow_Out и nRelCol_Out можно передать в метод ActivateCell( ) для того, чтобы активизировать соответствующую ячейку Grid.

Пример

CopyCode image Копировать код
* Тестовая таблица для отображения в Grid
CREATE Cursor test (testId I AUTOINC, NickName V(50))
insert into test (NickName) values ("Первая строка")
insert into test (NickName) values ("Вторая строка")
Go Top

* Запуск формы
* Нажатие клавиши мыши в разных местах формы и объекта Grid
* Вызовет диалоговое окно со значениями параметров метода GridHitTest
* Обратите внимание на возвращаемые значения в заполненных и пустых строках
PUBLIC goForm
goForm = CreateObject('formTest')
goForm.show()

**************************************************
DEFINE CLASS formTest AS form

    Top = 0
    Left = 0
    Height = 250
    Width = 488
    DoCreate = .T.
    AutoCenter = .T.
    Caption = "Form1"
    Name = "Form1"

    ADD OBJECT grid1 AS grid WITH ;
        ColumnCount = 2, ;
        Height = 200, ;
        Left = 12, ;
        Panel = 1, ;
        RecordSource = "test", ;
        Top = 24, ;
        Width = 456, ;
        Partition = 220, ;
        Name = "Grid1", ;
        Column1.ControlSource = "test.testId", ;
        Column1.Name = "Column1", ;
        Column2.ControlSource = "test.NickName", ;
        Column2.Width = 102, ;
        Column2.Name = "Column2"

    PROCEDURE testHitTest
        * Метод-делегат должен иметь те же параметры, что и связанный с ним метод
        LPARAMETERS nButton, nShift, nXCoord, nYCoord

        LOCAL nXCoord_In, nYCoord_In, nWhere_Out, nRelRow_Out, nRelCol_Out, nView_Out

        * В качестве координат мыши можно использовать
        * как полученные параметры nXCoord, nYCoord, так и
        * вычисленные координаты относительно текущей формы в пикселях
        nXCoord_In = MCol(ThisForm.Name,3)
        nYCoord_In = MRow(ThisForm.Name,3)

        * Использование символа @ говорит о передаче параметра по ссылке
        * Это значит, что изменения значения параметра внутри метода
        * будут "видны" и вне метода
        ThisForm.Grid1.GridHitTest(nXCoord_In, nYCoord_In, ;
                    @nWhere_Out, @nRelRow_Out, @nRelCol_Out, @nView_Out)

        * Отображение значений входных и выходных параметров
        MessageBox("nXCoord_In="+transform(nXCoord_In)+chr(13)+;
            "nYCoord_In="+transform(nYCoord_In)+chr(13)+;
            "nWhere_Out="+transform(nWhere_Out)+chr(13)+;
            "nRelRow_Out="+transform(nRelRow_Out)+chr(13)+;
            "nRelCol_Out="+transform(nRelCol_Out)+chr(13)+;
            "nView_Out="+transform(nView_Out)+chr(13)+;
            "")
    ENDPROC

    PROCEDURE Init
        * Связывание событий MouseUp различных объектов Grid с методом testHitTest
        BindEvent(ThisForm,"MouseUp",ThisForm,"testHitTest")
        BindEvent(ThisForm.grid1,"MouseUp",ThisForm,"testHitTest")
        BindEvent(ThisForm.grid1.Column1.Header1,"MouseUp",ThisForm,"testHitTest")
        BindEvent(ThisForm.grid1.Column1.Text1,"MouseUp",ThisForm,"testHitTest")
        BindEvent(ThisForm.grid1.Column2.Header1,"MouseUp",ThisForm,"testHitTest")
        BindEvent(ThisForm.grid1.Column2.Text1,"MouseUp",ThisForm,"testHitTest")
    ENDPROC
ENDDEFINE

**************************************************

Expand image Смотрите также

Ссылки

Метод ActivateCell
Свойство ActiveColumn
Свойство ActiveRow
Функция MCOL( )
Функция MROW( )

Другие ресурсы

Методы (Visual FoxPro)
Справочник по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Help Method

Visual FoxPro 9.0 Описание Языка
Help, метод
См. также
CollapseAll image

Открывает системное окно подсистемы Помощи (Help).

ApplicationObject.Help([cFileName] [, nContextID] [, cHelpTopic])

Параметры

cFileName

Определяет имя открываемого файла подсистемы Помощи (Help). Рекомендуется указывать полное имя требуемого файла, если он расположен не в текущем каталоге старта системы.

nContextID

Определяет числовой идентификатор требуемого раздела подсистемы, который должен быть открыт (ID). Параметр nContextID есть уникальный идентификатор требуемого раздела (параграфа) из секции MAP соответствующего проекта Help.

cHelpTopic

Определяет название (заголовок) требуемого раздела подсистемы Помощи. Если вы указываете только часть требуемого заголовка раздела, Visual FoxPro открывает окно подсистемы Help, в котором размещается раздел, близкий по названию к указанному разделу.

Expand image Комментарии

Применяется в: Application, объект | _VFP, системная переменная

Если не указаны опциональные аргументы (параметры), то отображается главная страница подсистемы Help.

Expand image См. также

Описание

HELP, команда
SET HELP, команда

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Hide Method

Visual FoxPro 9.0 Описание Языка
Метод Hide
См. также

Скрывает объекты типа: form, form set, или toolbar установкой значения свойству Visible = False (.F.).

Object.Hide

Комментарии

Применяется в: Form | FormSet | _SCREEN | ToolBar

Элементы управления в скрытой форме не доступны пользователю, но все еще доступны и могут быть изменены программным путем. Хотя эти элементы не видимые, они сохраняют прежнее значение свойства Visible .

Когда значение свойства формы Visible = False, пользователь не видит содержания данной формы. Формы, как элементы скрытого объекта FormSet не доступны пользователю, однако их можно изменять программным способом. метод Hide для объекта FormSet не устанавливает для своих дочерних форм свойство Visible =.F., поэтому, для активации конкретной формы из контейнера FormSet Вы должны проверить значение данного свойства Visible для этой формы перед ее активацией.

После скрытия объекта FormSet, система Visual FoxPro активирует последний активный объект. Если таких объектов нет, активируется главное окно системы.

Выполнение метода Hide для главного окна системы: _SCREEN - эффекта не имеет.

См. также

Другие ссылки

Событие Activate
Событие Deactivate
Свойство Enabled
Событие GotFocus
Метод Show
СвойствоVisible
Методы
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


IncludePageInOutput Method

Visual FoxPro 9.0
IncludePageInOutput метод
Смотрите также Пример

Позволяет ReportListener определять диапазон страниц вывода.

? oReportListener.IncludePageInOutput(iPage)

Параметры

iPage

Номер страницы, для которой определяется, находится ли она среди обработанных страниц.

Возвращаемое значение

Логический тип данных.

Возвращает .T. если параметр, который Вы передаете, идентифицирует страницу в текущем наборе страниц, которые будут обработаны.

Замечания

Применяется к: ReportListener Object.

Класс ReportListener использует два RANGE аргумента команды REPORT FORM, чтобы определить возврашаемые значение для этого метода. Эти два аргумента представлены членами объекта CommandClauses: CommandClauses. RangeFrom и CommandClauses. RangeTo.

Однако исходные классы могут поддерживть более тонко определенные диапазоны типа 1-10,16,20 и возвращать различные значения из IncludePageInOutput.

Важно
Исходный ReportListener использует этот метод для определения страниц, отобраных для вывода результатов, но не фактически обрабатываемых записей или страниц . В течение выполненения отчета обрабатываются все записи и страницы, соответствующие заданному диапазону, даже если не все страницы включены в вывод. Это гарантирует, что, даже если Вы определяете ограниченный диапазон страниц для вывода, вычисляемые выражения, типа номеров страниц и итоговых сумм, будут правильными.

Поскольку должен быть обработан полный диапазон, чтобы обеспечить правильные результаты, ReportListener не вызывает этот метод при предварительном проходе при выполнении многопроходного отчета. Однако определённый Вами класс может вызвать этот метод в течение предварительного прохода. Для получения дополнительной информации, см. TwoPassProcess Property.

Если пользователь вызывает печать из предварительного просмотра отчета, страницы, отобранные для печати не обязательно соответствуют результатам IncludePageInOutput. Печатаемые страницы могут быть, заданы пользователем в диалоговом окне PROMPT команды REPORT FORM, или могут быть динамически изменены члены CommandClauses, предназначенные для этой цели: PrintPageCurrent, PrintRangeFrom, и PrintRangeTo. Напечатанные страницы могут быть любым подмножеством полного диапазона страницы вывода. Для получения дополнительной информации, см. CommandClauses Property.

Пример

Следующий пример показывает как объект на основе ReportListener определяет, включена ли страница в вывод.

Копировать код
PROC IncludePageInOutput(nPageNo)
   LOCAL lInclude
      FOR EACH oRangeObject in THIS.MyRangeCollection
            IF oRangeObject.Includes(nPageNo)
                lInclude = .T.
                EXIT
           ENDIF
      END FOR
   RETURN lInclude
ENDPROC

Смотрите также

Ссылки

ReportListener Object
OutputPageCount Property
OnPreviewClose Method

Прочие ресурсы

Methods (Visual FoxPro)
Language Reference (Visual FoxPro)

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


IndexToItemID Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод IndexToItemID
Смотрите также
CollapseAll image

Возвращает индекс элемента с указанным идентификатором.

Control.IndexToItemID(nIndex)

Параметры

nIndex

Задает число, которое обозначает позицию элемента в отображаемом списке.

Expand image Возвращаемое значение

В следующей таблице приведен список возвращаемых значений для Метода IndexToItemID.

Возвращаемое значение | Условие
nItemID | Возвращает ItemID для заданого индекса.

Expand image Примечания

Применимо к: ComboBox | ListBox

Каждому элементу, добавляемому в список ComboBox или ListBox, назначаются два идентифицирующих номера:

  • nItemID - уникальный идентификатор.

  • nIndex - целое число, отражающее порядок, в котором элементы отображаются в списке: первому элементу списка соответствует nIndex = 1.

Сначала, когда элемент только что включен в список, эти два номера совпадают. Но после сортировки, удаления и добавления элементов в списке эти номера становятся разными..

С помощью метода IndexToItemID можно получить номер nItemID конкретного элемента списка, если вы знаете его номер nIndex.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод AddListItem
Метод ItemIDToIndex

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Item Method (Collection Class)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Item (класс Collection)
Смотрите также Пример

Возвращает определенный объект - член в коллекции, по его численной позиции или по строке ключа.

Объект-член коллекции может иметь любой действительный тип, который может быть присвоен переменной памяти. Это включает в себя простые типы данных, такие, как строки, числа, даты, логические и более сложные типы, такие, как объекты Visual FoxPro и Component Object Model (COM). Метод Item для объектов коллекции обычно используется с перечислениями FOR EACH...ENDFOR для ссылки на членов коллекции.

Collection.Item( eIndex )

Параметры

eIndex

Определяет требуемое выражение, которое представляет позиицию члена в коллекции. Это выражение может быть одним из двух типов:
  • Челочисленное. Выражение eIndex должно иметь значение в диапазоне от 1 до значения свойства коллекции Count.

  • Строковое. Выражение eIndex должно соответствовать ключу cKey, который был указан при добавлении члена в коллекцию.

Если eIndex не соответствует существующему члену коллекции, то генерируется ошибка.

Возвращаемое значение

Возвращает определенный элемент.

Примечания

Если в качестве параметра передан некорректный тип, то происходит ошибка.

Метод Item для коллекции объектов возвращает значение, которое представляет собой сам элемент коллекции. Поэтому вам необходимо добавить команду RETURN в конце исходного кода метода Item для любого субкласса, который вы модифицируете:

Скопировать код
RETURN DODEFAULT(eIndex)

Если же вы не желаете возвращать объект, используйте команду RETURN без дополнения функцией DODEFAULT().

Метод Item для коллекции объектов является методом по умолчанию для коллекции. Например, предположим, что у вас есть код приведенный ниже:

Скопировать код
Public MyCollection AS Collection
MyCollection = CREATEOBJECT("Collection")
MyCollection.Add(CREATEOBJECT("Form"),"myKey")

Приведенные ниже строки кода эквиваленты друг другу:

Скопировать код
? MyCollection(1)
? MyCollection.Item(1)
? MyCollection("myKey")

Пример

Приведенный ниже пример иллюстрирует эти задачи в run time:

  • Создает формы и коллекцию.

  • Добавляет формы в коллекцию.

  • Отображает имя каждой формы в коллекции.

  • Отображает число форм в коллекции.

  • Отображает имя первого члена в коллекции.

  • Отображает имя первого члена в коллекции, получаемого с помощью метода Item коллекции.

Скопировать код
loForm1 = CREATEOBJECT("myForm1")
loForm2 = CREATEOBJECT("myForm2")
loCol = CREATEOBJECT("myCollection")
loCol.Add(loForm1)
loCol.Add(loForm2)
? loCol(1).Name
? loCol.Item(1).Name

Смотри также

Прочие ресурсы

Свойства, методы и события объекта Collection
Методы
Класс Collection
Команда FOR EACH ... ENDFOR
Команда RETURN
Функция DODEFAULT( )

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Item Method (File Object)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Item (File Object)
Смотрите также
CollapseAll image

Возвращает объектную ссылку на указанный файл, проект или сервер в коллекциях файлов, проектов или серверов.

Object.Item(nIndex)

Expand image Примечания

nIndex

Число, определяющее позицию файла, проекта или сервера в соответствующих коллекциях. Если в качестве значения передано число, превыщающее число предметов в соответсвующих коллекциях, то будет сгенерирована ошибка "Invalid subscript reference".

Expand image Примечания

Применяется к: Files Collection (Visual FoxPro) | Projects Collection (Visual FoxPro) | Servers Collection

Используйте свойство Name с дефолтным методом Item, для определения имени файла, преокта или сервера и каталога, в котором они располагаются.

Expand image Смотрите также

Справочное руководство

Свойство Name (Visual FoxPro)

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


ItemIDToIndex Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ItemIDToIndex
Смотрите также
CollapseAll image

Возвращает значение nIndex - позицию предмета в списке элемента управления.

 [nIndex =]Control.ItemIDToIndex(nItemID)

Параметры

nItemID

Уникальный номер идентификатора, ассоциированный с предметом.

Expand image Примечания

Применяется к: ComboBox | ListBox

Каждый предмет, добавляемый в Combobox или Listbox имеет два присвоенных ему номера:

  • Уникальный идентификационный номер nItemID.

  • Целочисленный nIndex, соответствующий порядку, в котором предметы отображаются в списочной части элемента управления. Первому предмету в списке соответствует nIndex = 1.

Изначально, когда предметы добавляются в элемент управления, эти два номера идентичны. Но при сортировке и при добавлении или удалении других предметов идентичность номеров теряется.

Используйте метод ItemIDToIndex для извлечения номера nIndex для конкретного предмета в списке элемента управления, когда вы знаете его номер nItemID.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод AddListItem
Метод IndexToItemID
Свойство ListItemID
Свойство List
Свойство ListCount

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Line Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Line
Смотрите также
CollapseAll image

Рисует линию на объекте Form. Имеется две версии синтаксиса.

Object.Line(nXCoord2, nYCoord2)
Object.Line(nXCoord1, nYCoord1, nXCoord2, nYCoord2)

Parameters

nXCoord1, nYCoord1

Указывает координаты начальной точки линии. Единица измерения определяется значением свойства формы ScaleMode.

nXCoord2, nYCoord2

Указывает координаты конечной точки линии.

Expand image Примечания

Применяется к: Form | _SCREEN

Ширина рисуемой линии зависит от установки свойства DrawWidth. Способ, которым линия рисуется на фоне зависит от установок свойство DrawMode и DrawStyle. После завершения исполнения этого метода, свойства CurrentX и CurrentY устанавливаются в значения nXCoord2, nYCoord2.

Expand image Смотрите также

Справочное руководство

Свойсва CurrentX, CurrentY
Свойсво DrawMode
Свойсво DrawStyle
Свойсво DrawWidth
Свойсво ScaleMode

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


LoadXML Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод LoadXML
Смотрите также
CollapseAll image

Загружает XML из файла или строки в документ Document Object Model (DOM) и присоединяет его к объекту XMLAdapter.

XMLAdapter.LoadXML( cXMLDocument [, lFile [, lValidateOnParse ]] )

Параметры

cXMLDocument

Указывает имя XML файла, строку, содержащую XML или выражение, которое может быть оценено как действительное имя XML файла или строки.

lFile

Определяет, является ли cXMLDocument именем файла или нет. По умолчанию, значение lFile устанавливается в False (.F.).

lValidateOnParse

Определеяет, должен ли XML проверен на действительность во время разбора-парсинга. По умолчанию значение lValidateOnParse устанавливается в True (.T.).

Для получения подробной информации о том, как DOM производит проверку действительности XML, обратитесь к Microsoft XML Core Services (MSXML) 4.0 SDK в библиотеке MSDN на сайте http://msdn.microsoft.com/library/.

Expand image Примечания

Применяется к: Класс XMLAdapter

LoadXML устанавливает значение свойства IXMLDOMElement объекта XMLAdapter . Дополнительно, если при разборе анализируется схема, Visual FoxPro заполняет коллекцию Tables новым набором объектов XMLTable и устанавливает свойства XMLName, XMLNamespace, XMLPrefix, IsDiffgram и SOM объекта XMLAdapter в соответствующие значения.

Если свойство RespectNesting объекта XMLAdapter установлено в True (.T.), метод LoadXML сохраняет иерархию XML внутри документа. Однако, метод игнорирует декларацию элемента верхнего уровня, если на этот элемент ссылаются в некоротом сложном элементе. В этом случае, метод вкладывает объект XMLTable для ссылаемого объекта в объект XMLTable элемента, который имеет на него ссылку .

Если XML документ не форматирован, как Visual Studio dataset, тогда объект XMLAdapter оставляет свойства XMLName и XMLPrefix пыстыми. Свойство XMLNamspace устанавливается в значение аттрибута targetNamespace для узла xsd:schema. Каждый XML элемент декларируется как xsd:complexType размеченный к объекту XMLTable, а свойство XMLNamespace устанавливается в namespaceURI элемента. Свойства IsDiffgram и SOM устанавливаются в соответствующие значения.

На исполнение метода LoadXML оказывают воздействия значения свойств:

  • DisableEncode Property

  • MapN19_4ToCurrency Property

  • NoCpTrans Property

  • PreserveWhiteSpace Property

  • WrapCharInCDATA Property

  • WrapMemoInCDATA Property

  • XMLSchemaLocation Property

  • RespectNesting Property

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLAdapter
Свойство IXMLDOMElement
Коллекция Tables (XMLAdapter)
Свойство XMLName
Свойство XMLNamespace
Свойство XMLPrefix
Свойство IsDiffGram
Свойство SOM
Свойство RespectNesting

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Modify Method

Visual FoxPro 9.0 Описание Языка
Метод Modify
См. также

Открывает файл из проекта для модификации / корректировки в соответствующем Дизайнере или Редакторе.

Object.Modify([cClassName])

Параметры

cClassName

Определяет имя визуального класса, который открывается для модификации указанным объектом Object из соответствующей библиотеки классов.

Комментарии

Применяется в: Объект File

Метод Modify возвращает = True (.T.) если файл успешно открыт для модификации, в противном случае возвращается = False (.F.).

Событие QueryModifyFile происходит перед открытием указанного файла. Если событие QueryModifyFile возвращает = false (.F.), то файл не может быть открыт для изменения, и метод Modify возвращает = false (.F.). Если событие QueryModifyFile возврвщает = true (.T.), то файл открывается для изменения, и метод Modify возвращает значение = True (.T.).

См. также

Другие ссылки

Методы
Метод Add
Метод Remove (объект File )
Событие QueryModifyFile

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Move Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Move (Visual FoxPro)
Смотрите также
CollapseAll image

Перемещает объект.

Object.Move (nLeft [, nTop [, nWidth [, nHeight]]])

Параметры

nLeft

Указывает горизонтальную координату левого края объекта.nLeft представляет собой целое число.

nTop

Указывает вертикальную координату верхнего края объекта. nTop представляет собой целое число.

nWidth

Указывает новое значение ширины объекта. nWidth представляет собой целое число.

nHeight

Указывает новое значение высоты объекта.nHeight представляет собой целое число.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | PageFrame | _SCREEN | Shape | Spinner | TextBox | ToolBar

Минимально необходим только один параметр - nLeft. Однако, при включении любого другого параметра, вы должны указать в синтаксисе все параметры метода, которые предшествуют этому параметру. Например, вы не можете указать параметр nWidth без указания параметров nLeft и nTop. Любые параметры, после указанного, остаются неизмененными. Например, при указании параметров nLeft и nTop значения ширины и высоты объекта не изменяются после завершения исполнения метода.

Перемещение формы по экрану или перемещение элемента управления в форме всегда относительны к оригинальным координатам (0,0), которые обозначают левый верхний угол. При перемещении элементов управления внутри контейнера используется его координатная система.

Expand image Смотрите также

Справочное руководство

Свойство Top (Visual FoxPro)
Свойство Width

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MoveItem Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод MoveItem
Смотрите также
CollapseAll image

Перемещает элемент в новую позицию списка в элементе управления listbox.

ListBox.MoveItem(nItemIndex, nMoveBy)

Параметры

nItemIndex

Определяет текущей индекс элемента, который вы желаете переместить.

nMoveBy

Указывает, насколько позиций должен быть перемещен элемент. Полодительное число указывает перемещение вниз по списку, а отрицательное - вверх по списку.

Expand image Примечание

Применяется к: ListBox Control

Вызов метода MoveItem вызывает срабатывание события OnMoveItem.

Событие OnMoveItem всегда срабатывает только один раз, когда вызывается метод MoveItem, однако, перемещение элемента в listbox происходит только в том случае, когда свойства элемента управления listbox RowSourceType установлено в 0 (None) или 1 (Value).

Expand image Смотрите также

Справочное руководство

Событие OnMoveItem
Свойство RowSourceType
Свойство MoverBars

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Nest Method

Visual FoxPro 9.0 Справочное руководство по языку
Nest Method
Смотрите также
CollapseAll image

Вкладывает объект XMLTable в указанный объект XMLTable.

XMLTable.Nest(oXMLTable [, oAfterXMLTable | nAfterIndex])

Параметры

oXMLTable

Объектная ссылка на объект XMLTable , в который будет вкладываться другой объект.

oAfterXMLTable

Объектная ссылка на объект XMLTable, вставляемый после объектаoXMLTable .

nAfterIndex

Целое число, указывающее - какой существующий объект XMLTable вставить после объектаoXMLTable after.

nAfterIndex Установка

Число, которое меньше или равно числу вложенных объектов XLMTables.

oXMLTable вставляется после объектаXLMTable, с указанным индексом.

Число, которое больше, чем число существующих таблиц.

oXMLTable вставляется как последняя вложенная таблица.

-1

oXMLTable вставляется как последняя вложенная таблица.

0

oXMLTable втсавляется как первая вложенная таблица.

не указано

oXMLTable вставляется как последняя вложенная таблица.

Expand image Примечания

Применяется к: XMLTable Class

Параметры oXMLTable и oAfterXMLTable должны ссылаться на объекты XMLTable , которые являются членами одной и той же коллекции Tables объекта XMLAdapter.

Параметр nAfterTable должен быть больше или равен -1.

Есил вы удаляете вложенный объект XMLTable из коллекции XMLAdapter Tables, то свойства NestedInto, NextSiblingTable и FirstNestedTable объекта XMLTable автоматически устанавливаются в (.NULL.). Все дочерние XMLTable объекты отсоединяются от него и их свойства NestedInto и NextSiblingTable также устанавливаются в null (.NULL.). Дочерние объекты остаются в коллекции, но более не являются вложенными.

Если объект XMLTable является вложенный во время вызова метода Nest, он временно отсоединяется до момента, когда будет просчитана его новая позиция.

Для получения более подробной информации о том, как разбирается XML и как на генерацию воздействует вложение таблицы XLMTable смотрите описание свойства RespectNesting and XMLAdapter Class.

Expand image Смотрите также

Справочное руководство

Свойство RespectNesting
Свойство NestedInto
Свойство NextSiblingTable
Свойство FirstNestedTable
Класс XMLTable

Прочие ресурсы

Методы(Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


NewObject Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод NewObject
Смотрите также
CollapseAll image

Добавляет новый класс или объект в объект непосредственно из библиотеки визуальных классов или программы.

Object.NEWOBJECT(cObjectName, cClassName [, cModule [, cInApplication
[, eParameter1, eParameter2, ...]]])

Expand image Примечание

cObjectName

Определяет имя, которое будет использовано для ссылки на вновь добавляемый класс или объект.

cClassName

Определяет имя класса или объекта, из которого будет добавлено новый класс или объект.

cModule

Определяет библиотеку визуальных классов (.vcx) или программу Visual FoxPro (.prg, .mpr, .app, .exe, и так далее), содержащую класс или объект, указанный в параметре cClassName. По умолчанию это визуальная библиотека классов; вы должны указать расширение файла, если в качестве источника описания используется программа.

Note Замечание

Библиотека класса может иметь псевдоимя (alias). Для указания класса или объекта из библиотеки классов, имеющей псевдоимя, укажите ее псевдоимя, затем точку, затем имя объекта, например: mysuperlibrary.mysuperclass.

Если cModule опущен, или представляет собой пустую строку или null, Visual FoxPro ищет класс или объект в приведенном ниже порядке:

  • Базовые классы Visual FoxPro.

  • Созданные пользователем определения класса в памяти, в порядке, в котором они были загружены.

  • Классы в текущей программе.

  • Библиотеки классов, открытых с помощью команды SET CLASSLIB.

  • Классы в процедурных файлах, открытых с помощью команды SET PROCEDURE.

  • Классы в цепочке исполнения программ Visual FoxPro.

  • Регистры OLE, если SET OLEOBJECT установлен в ON.

cInApplication

Определяет приложение Visual FoxPro (.exe или .app) содержащее библиотеку визуальных классов (.vcx), указанную вами в cClassLibName. В случае использования приложения, вы должны указать расширение. CInApplication игнорируется, если опущен cModule или, если cInApplication представляет собой пустую строку или null-значение.

eParameter1, eParameter2, ...

Определяет необязательные параметры, которые посылаются в процедуру события Init вновь добавляемого класса или объекта.

Expand image Примечание

Применяется к: Column | CommandGroup | Container Object | Custom | DataEnvironment | Form | FormSet | Grid | OptionGroup | Page | PageFrame | _SCREEN | ToolBar | Session Object

Метод NEWOBJECT предоставляет вам возможность добавлять новый класс или объект в объект, без открытия библиотеки визуальных классов .vcx или процедурного файла.

Expand image Смотрите также

Справочное руководство

Метод AddObject
Метод AddProperty
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция CREATEOBJECT( )
Команда DEFINE CLASS
Функция NEWOBJECT( )

Концепции

Дизайнер классов

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDrag Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод OLEDrag
Смотрите также
CollapseAll image

Запускает операцию OLE drag-and-drop.

PROCEDURE Object.OLEDrag(lDetectDrag)

Параметры

lDetectDrag

Определяет - когда будет исполнено событие OLEStartDrag. Если lDetectDrag установлено в false (.F.), событие OLEStartDrag исполняется немедленно. Если lDetectDrag установлено в true (.T.), событие OLEStartDrag исполняется после того, как пользователь будет держать нажатой клавишу мыши достаточный период времени, чтобы показать, что имеет место операция перетаскивания, или мышь смещается на достаточное расстояние при нажатой клавише мыши, что также указывает, что имеет место операция перетаскивания.

Если вы укажите значения для lDetectDrag, то автоматически возвращается .T. .

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

OLEDrag представляет собой метод источника.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Свойство OLEDragMode
Событие OLEStartDrag

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OnPreviewClose Method

OnPreviewClose, Метод-Событие
См. также Пример
CollapseAll image

Рассматриваемое Событие происходит в тот момент, когда Пользователь закрывает Окно Предварительного Просмотра (PreView) или начинает Печатать Отчет из указанного Окна Просмотра Отчета.

oReportListener.OnPreviewClose([lPrint])

Параметры

lPrint

Определяет логическое значение, характеризующее, будут ли Печататься просматриваемые Страницы Отчета после закрытия Окна Предварительного Просмотра.

Expand image Возвращаемое значение

Нет (Отсутствует).

Expand image Комментарии

Применяется В: ReportListener, объект.

API-интерфейс компоненты PreviewContainer определяет, что если Пользователь закрывает Форму Предварительного просмотра Отчета, то указанная компонента PreviewContainer должна вызвать соответствующий метод OnPreviewClose управляющего объекта ReportListener. Если Пользователь начинает Процесс Печати текущего отчета при закрытии указанной Формы, то метод OnPreviewClose вызывается с параметром, = True (.T.).

Note Обратите Внимание

Объект ReportListener вызывает специальный метод SetReport контейнера PreviewContainer в программном коде метода OnPreviewClose с параметром = NULL (.NULL.). В этот момент, объект ReportListener может установить указатель на используемый объект PreviewContainer в значение, = NULL (.NULL.), или сохранить ссылку на указанный объект. Однако, в соответствие с принятым API-интерфейсом используемого контейнера PreviewContainer, ответственность за удаление ссылки на управляющий Объект ReportListener лежит на данном объекте-контейнере. Дополнительную информацию смотрите в разделах: API-интерфейс для контейнера Preview , или PreviewContainer, свойство.

Если Пользователь принял решение Печатать Отчет из окна Предварительного Просмотра, то сам процесс печати начинается после завершения выполнения рассматриваемого Метода. Задание Печати использует Кэшированные Страницы Отчета, которые были подготовлены ранее для Просмотра, поэтому печатные копии в точности совпадают с графическим изображением этих страниц Отчета. Аналогичные выводы можно сделать относительно других характеристик Отчета, включая опции RANGE или другие опции Фильтра страниц, указанные в стартовой команде REPORT FORM, которая инициировала режим Просмотра.

Если свойство компоненты Объекта ReportListener CommandClauses.Prompt = True (.T.) в рассматриваемой точке выполнения Отчета, то активируется Диалоговый бокс определения свойств Принтера перед тем, как выполняется Задание Печати Отчета. В этот момент Пользователь может изменить требуемые Характеристики и продолжить выполнение Задания Печати. Указанное свойство может иметь значение, = True в результате выполнения следующих Условий (причин):

  • Вы используете секцию PROMPT в стартовой команде REPORT FORM.

  • Используемый контейнер PreviewContainer или управляющий объект ReportListener динамически изменяют (устанавливают) требуемое значение указанного свойства: CommandClauses.Prompt = .T. .

Реальное количество печатаемых страниц не всегда совпадает с общим количеством Страниц Отчета; это может быть некоторое Подмножество страниц Отчета. Указанное явление, меньшее количество напечатанных страниц может зависеть от следующих Причин:

  • Пользователь изменяет диапазон выводимых Страниц в Диалоговом боксе, порожденном секцией PROMPT.

  • Рассматриваемые выше объекты PreviewContainer / ReportListener динамически изменяют свойства компоненты объекта ReportListener CommandClauses, которые определяют список или диапазон печатаемых Страниц Отчета, которые уточняются в рассматриваемом методе: OnPreviewClose. К указанным характеристикам относятся: PrintPageCurrent, PrintRangeFrom, PrintRangeTo. Дополнительную информацию смотрите в разделе: CommandClauses, свойство.

Если вы используете стандартную секцию NOPAGEEJECT для компановки нескольких Отчетов в один Комплексный Отчет, то текущая установка значения рассматриваемого свойства: CommandClauses.Prompt действует только в течение текущего Задания на Печать, для текущей копии объекта: PreviewContainer. Если вы динамически Не изменяете значение свойства CommandClauses.Prompt, то для данного комплексного Отчета действует установленная в стартовой команде REPORT FORM установка секции PROMPT.

Note Важное Замечание.

Поскольку Диалоговый Бокс определения характеристик Принтера активируется в результате установки соответствующего значения свойства CommandClauses.Prompt, и в силу того, что рассматриваемый Отчет был создан до рассматриваемого Момента (до текущего уточнения свойств Принтера), то существует потенциальная возможность Несоответствия предварительно созданных Страниц Отчета и напечатанных Копий этих страниц (Страницы создавались без учета устанавливаемых позднее свойств Принтера). Например, в процессе Диалога был выбран Принтер, который имеет несовместимый Формат (или размер) печатаемой Страницы, которая была сформатирована для другого Принтера. Описанный сценарий печати страниц Отчета возникает в результате попытки Драйвера нового принтера обработать Форматы Страниц Отчета, подготовленные для другого Принтера.

Expand image Пример

Вы можете изменить стандартное поведение различных компонент общего процесса Печати Отчета, для этого можно эффективно использовать рассматриваемый метод OnPreviewClose, к примеру: определить сложные Диапазоны печатаемых Страниц. В представленном фрагменте программного Кода управляющий Объект ReportListener обеспечивает активацию Пользовательского Диалога для уточнения требуемых диапазонов Печатаемых Страниц Отчета. Далее выполняются стандартные процедуры Отчета, которые выводят на печать указанные страницы Отчета (которые определил Пользователь).

CopyCode image Копировать Код
PROCEDURE OnPreviewClose(lPrint)
 LOCAL liRange
 IF lPrint
 NODEFAULT
 IF NOT EMPTY(THIS.CommandClauses.PrintPageCurrent
 *user chose "print current page" option from PreviewContainer.
 *Print only that page:
 THIS.CommandClauses.PrintRangeFrom = ;
 THIS.CommandClauses.PrintPageCurrent
 THIS.CommandClauses.PrintRangeTo = ;
 THIS.CommandClauses.PrintPageCurrent
 DODEFAULT(.T.)
 ELSE
 THIS.ShowCustomPageSetupDialog()
 THIS.CommandClauses.Prompt = .F.
 IF EMPTY(THIS.PageRangeArray[1])
 * no printing is requested
 DODEFAULT(.F.)
 ELSE
 * user chose at least one range;
 * go through the array set up by
 * the dialog and print the range(s)
 FOR liRange = 1 TO (ALEN(THIS.PageRangeArray,1))
 THIS.CommandClauses.PrintRangeFrom = ;
 THIS.PageRangeArray[liRange,1]
 THIS.CommandClauses.PrintRangeTo = ;
 THIS.PageRangeArray[liRange,2]
 DODEFAULT(.T.)
 ENDFOR
 ENDIF
 ENDIF
 ENDIF
ENDPROC

Expand image См. также

Описание

ReportListener, объект
OutputPageCount, свойство
IncludePageInOutput, метод

Другие ссылки

Методы (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
Microsoft Corporation. Все права защищены. Перевод: ShmSoft


OpenTables Method

Visual FoxPro 9.0 Описание Языка
OpenTables, Метод
См. также
CollapseAll image

Программно Открывает Таблицы и Представления, связанные с объектом DataEnvironment.

DataEnvironment.OpenTables

Параметры

DataEnvironment

Определяет соответствующий объект DataEnvironment, который ассоциирован с объектами Form, FormSet, или Report.

Expand image Комментарии

Применяется в : DataEnvironment

Данный метод OpenTables загружает (открывает) соответствующие Таблицы, если свойство родительского объекта DataEnvironment AutoOpenTables = False (.F.), или когда для данного объекта dataenvironment уже выполнялся метод CloseTables (таблицы были уже закрыты). Метод OpenTables действует аналогичным образом, как соответствующее Событие, если свойство AutoOpenTables установлено в значение = True (.T.).

Если выполнения метода AutoOpen, для объекта КурсорАдаптер, завершается аварийно, то рассматриваемый метод OpenTables не сообщает о данной ошибочной ситуации.

Expand image См. также

Описание

AfterCloseTables, Событие
AutoOpenTables, Свойство
BeforeOpenTables, Событие
CloseTables, Метод

Другие ссылки

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


OutputPage Method

Visual FoxPro 9.0
OutputPage метод
См. также

Обеспечивает доступ к текущей странице или полному диапазону страниц для выполнения отчета, в зависимости от значения свойства ListenerType.

oReportListener.OutputPage(;
                  nPageNo, ;
                  eDevice, ;
                  nDeviceType ;
                 [,nleft, nTop, nWidth, nHeight ;
                 [,nClipLeft,nClipTop, nClipWidth, nClipHeight]])

Параметры

nPageNo

В постраничном режиме (свойство ListenerType установлено в 0 или 2), ReportListener использует этот параметр, чтобы послать Вам номер очередной страницы, подготавливаемой для вывода. Вы можете направить вывод очередной страницы на другое устройство. В режиме "все страницы сразу" (свойство ListenerType установлено в 1 или 3), Вы используете этот параметр, чтобы послать ReportListener число страницы, которое Вы желаете обработать (rendered). Подробнее о значениях свойства ListenerType, см. ListenerType Свойство.
eDevice

Указывает дескриптор, ссылку, или имя файла , куда вы хотите направить вывод. Когда значение свойства ListenerType - 0, ReportListener использует этот параметр, чтобы послать GDI+ графический дескриптор на текущий принтер. Когда свойство ListenerType - 2, вывод фактически не идет в принтер, так что ReportListener посылает Вам значение 0. В режиме "все страницы сразу" (ListenerType 1 или 3), Вы используете этот параметр, чтобы указать ReportListener один из вариантов:
  • Дескриптор GDI на принтер.

  • GDI+ Графический дескриптор на другое устройство вывода.

  • Ссылка на объект, произошедшая из элемента управления Shape или из Контейнера baseclass.

  • Имя файла.

Вы сообщаете ReportListener, какое значение eDevice Вы посылаете в этом параметре, посылая соответствующее значение в nDeviceType.
nDeviceType

Представляет тип устройства, для которого будет обработан (rendered) вывод.

Значение Тип устройства

-1

Нет устройства.

ReportListener посылает это значение, когда он инициирует OutputPage при ListenerType=2.

0

hDC (GDI дескриптор).

Вы можете послать дескриптор GDI в ReportListener для вывода на другой принтер.

1

hGraphics (GDI+ графический дескриптор).

ReportListener посылает это значение, когда он инициирует OutputPage при ListenerType = 0. Вы можете послать его в ReportListener, чтобы направить вывод на другой GDI+ контекст, например, окно.

2

oFoxControl.

Используйте это значение, чтобы ReportListener отобразил предварительный просмотр, используя элемент управления Shape или элемент управления контейнер.

100

Это значение определяет имя EMF-файла для сохранения образа.

101

Это значение определяет имя TIFF-файла для сохранения образа.

102

Это значение определяет имя JPEG-файла для сохранения образа.

103

Это значение определяет имя GIF-файла для сохранения образа.

104

Это значение определяет имя PNG-файла для сохранения образа.

105

Это значение определяет имя BMP-файла для сохранения образа.

201

Это значение добавляет страницу в предварительно-созданный TIFF, создавая многостраничный файл TIFF.

Совет:
ReportListener способен выполнить некоторую дополнительную оптимизацию этого формата файла, когда Вы используете это значение прежде, чем отчет закончен. Для ReportListener с ListenerType 0 или 2, OutputPage событие случается в это время. Это проиллюстрировано в примере, приведенном ниже. Для ReportListener с ListenerType 1 или 3, Вы можете вызвать OutputPage при обработке события AfterReport чтобы использовать оптимизацию.

[nleft, nTop, nWidth, nHeight,[nClipLeft,nClipTop, nClipWidth, nClipHeight]]

Эти дополнительные параметры не применимы, когда nDeviceType - 2 (a Visual FoxPro control surface). Первый набор четырех координат (nleft, nTop, nWidth, nHeight) определяет координаты в еденицах 1/960 дюйма (960 точек на дюйм), прямоугольника на текущем устройстве, в котором будет размещён выводимый элемент. Второй набор четырех координат (nClipLeft, nClipTop, nClipWidth, nClipHeight) позволяет при выводе на предварительный просмотр указать, что только часть страницы должна быть обновлена.

Возвращаемое значение

Нет.

Замечания

Применимо к: ReportListener Object.

OutputPage метод необычен тем что, в зависимости от значения ListenerType , ReportListener или вызывает этот метод, чтобы сообщить Вам, что страница готова или ожидает, что Вы сами его вызовите, запросив страницы, которые Вы хотите.

Понимание двух режимов обработки OutputPage

В первом режиме обработки, ReportListener действует в стиле, применимом для принтеров и других устройства вывода, которые обрабатывают одну страницу одновременно. В случае необходимости, эти устройства размещают страницы в спулер или очередь, пока они не готовы. Этот тип обработки страницы только вперед; Вы не можете запросить страницу, после того, как ReportListener начал обрабатывать следующие после неё страницы.

Во втором режиме, ReportListener готовит все страницы сразу, фактически создавая очередь всех страниц, пока устройство не готово принять их. Вы не можете запрашивать отдельные страниц, пока все страницы не подготовлены. Однако, этот тип обработки размещает страницы в кэш, допускающий прокрутку, что необходимо при предварительном просмотре; как только страницы готовы, Вы можете запросить их в любом порядке, и можете использовать их длительное время.

Обработка ошибок параметров OutputPage

У OutputPage много параметров, и некоторые параметры имеют неоднозначное толкование. По этой причине интерпретация ошибок может быть затруднена, если Вы задаёте параметры неправильно.

Далее перечислены сообщения об ошибках, которые генерирует ReportListener при передаче некорректных параметров в OutputPage.

Сообщение об ошибке и номер | Условия, вызывающие эту ошибку
Must specify additional parameters (Error 94). Должены быть определены дополнительные параметры | Возникает, если Вы не включаете все три обязательных параметра (nPageNo, eDevice, nDeviceType).
Function argument value, type, or count is invalid (Error 11). Некорректное значение или тип аргумента. | Возникает, если не распознано значение nDeviceType.
DataType property for field 'eDevice' is invalid (Error 1544). Некорректное свойство DataType для поля 'eDevice'. | Возникает, если тип данных аргумента eDevice не соответствует требованиям, определяемым nDeviceType Например, это может случится если nDeviceType - 0 или 1, а eDevice - недопустимый дескриптор, или если nDeviceType - один из типов имени файла, но eDevice - не строка, представляющая имя файла.
Error writing to file 'filename' (Error 1105) Ошибка, записи в файл. | Возникает, если nDeviceType - один из типов имени файла и eDevice корректен, но файл не может быть создан. Например, пользователь не имеет разрешения создавать файл в указанном каталоге.
Output page 'pageno' is not available (Error 2194). Страница вывода не доступна. | Возникает, если nPageNo не соответствует текущей обрабатываемой странице, или если значение ListenerType не установлено в одно из значений (0, 1, 2, или 3), когда ReportListener обрабатывает страницы.

Для получения дополнительной информации об ошибках Visual FoxPro см. Сообщения об ошибках по номерам. Для получения дополнительной информации об ошибки выполнения отчета см. Ошибки при выполнении отчета.

Предостережение:
В дополнение к вышеперечисленным сообщениям об ошибках, возникающих при вызове OutputPage с неправильными параметрами, надо знать что, OutputPage нуждается в ресурсах, доступных отчёту, даже когда Вы вызываете его после того, как выполненное отчёта заканчивается. Например, если графический файл, используемый в отчёте, встроен в ваше приложение, вызов OutputPage из PreviewContainer нуждается в доступе к этому графическому файлу. Хотя сообщение об ошибкае не возникает, ваш отчёт не будет завершен, если Вы разгружаете приложение, из которого вызвана REPORT FORM или LABEL.

Примеры

Пример 1: OutputPage в постраничном режиме, вывод в графичекий файл

Этот код создает многостраничный-TIFF файл при выполнении отчета. Сначала OutputPage вызывается с параметром nDeviceType=101 и создаётся TIFF-файл. При последующих вызовах nDeviceType=102, и создаваемые страницы добавляются к многостраничному TIFF-документу.ReportListener создаётся на основе класса, в котором ListenerType=2, и код, определенный в классе вызывает OutputPage для подготовки каждой страницы.

Совет:
Встроенная способность класса ReportListener выводить изображения страниц в виде различных типов файлов ограничена некоторыми настройками по умолчанию для каждого типа файла. В случае TIFF, ReportListener формирует сжатые TIFF. Однако, Вы не ограничены встроенными настройками. Вы можете передать в ReportListener GDI+ графический дескриптор и, в OutputPage методе обработать страницу для этого устройства. Вы можете тогда сохранить результат в виде графического файла с другими настройками. Visual FoxPro снабжен библиотекой классов, помогающей Вам выполнять GDI+ ориентированные задачи. Для получения дополнительной информации, см. фундаментальные классы GDI Plus API адаптер.

Код

Копировать код
#define OutputNothing -1
#define OutputTIFF 101
#define OutputTIFFAdditive (OutputTIFF+100)

LOCAL oReportListener
oReportListener = NEWOBJECT("MPTiffListener")
oReportListener.Filename = "Multi"

WAIT WINDOW "Processing report to TIFF file...." NOWAIT
REPORT FORM ? OBJECT oReportListener
WAIT CLEAR

DEFINE CLASS MPTiffListener AS ReportListener

   PROCEDURE Init
      this.AddProperty("Filename", "temp")
      this.ListenerType = 2
   ENDPROC

   PROCEDURE BeforeReport
      ERASE this.Filename
   ENDPROC

   PROCEDURE OutputPage(nPageNo, eDevice, nDeviceType)
      IF (nDeviceType == OutputNothing)
         IF (nPageNo == 1)
             nDeviceType = OutputTIFF
         ELSE
            nDeviceType = OutputTIFFAdditive
         ENDIF
         THIS.OutputPage(nPageNo, this.Filename, nDeviceType)
         NODEFAULT
     ENDIF
   ENDPROC

ENDDEFINE

Пример 2: испоьзование OutputPage для постраничного отображения на экран

Этот пример демонстрирует отображение вывода на дисплей для обратной совместимости, когда ключевое слово NOCONSOLE не используется в команде REPORT FORM. Используется способность OutputPage метода записывать в GDI+ графический дескриптор. Если в REPORT FORM определена NOCONSOLE, объект ReportListener не отображает вывод на дисплей.

По умолчанию ReportListener использует значение ListenerType 2, поэтому OutputPage готовит каждую страницу вывода, но не имеет собственного вывода результата. Проверяется есть ли ключево слово NOCONSOLE анализируя свойство CommandClauses, и определяется куда будет направлен вывод. Если пользователь направляет вывод на принтер, в файл, или предварительный просмотр, этот класс корректирует его поведение в соответствовии с предыдущим версиям Visual FoxPro.

Код

Копировать код
#DEFINE OUTPUTDEVICETYPE_GDIPLUS 1
#DEFINE OUTPUTTO_PRINT           1
#DEFINE OUTPUTTO_FILE            2
#DEFINE LISTENER_TYPE_PRN        0
#DEFINE LISTENER_TYPE_PRV        1
#DEFINE LISTENER_TYPE_PAGED      2
LOCAL loRL, loForm
loRL = CREATEOBJECT("EchoListener")
REPORT FORM ? OBJECT loRL && Вывод на консоль
REPORT FORM ? OBJECT loRL NEXT 1 TO PRINT && вывод, на консоль и печатать
_SCREEN.Cls && Очистка экрана
REPORT FORM ? OBJECT loRL PREVIEW && предварительный просмотр, нет вывода на консоль
loForm = CREATEOBJECT("form")
loForm.Caption = "My Output Window"
loForm.Show()
REPORT FORM ? OBJECT loRL TO FILE c:\temp\x.txt && в файл и окно
REPORT FORM ? OBJECT loRL TO FILE c:\temp\x.txt NOCONSOLE && долько в файл

DEFINE CLASS EchoListener as ReportListener
  ListenerType = LISTENER_TYPE_PAGED

  GP = 0
  RHeight = 0
  RWidth = 0

  PROCEDURE LoadReport()
    IF THIS.CommandClauses.Preview
       THIS.ListenerType = LISTENER_TYPE_PRV
    ELSE
       IF INLIST(THIS.CommandClauses.OutputTo,OUTPUTTO_PRINT,OUTPUTTO_FILE)
          THIS.ListenerType = LISTENER_TYPE_PRN
       ENDIF
    ENDIF
  ENDPROC

  PROCEDURE BeforeReport()
     IF NOT (THIS.CommandClauses.NoConsole OR THIS.CommandClauses.Preview)
        DECLARE integer GdipCreateFromHWND IN GDIPLUS.DLL ;
          integer hwnd, integer @ nGraphics
        LOCAL lH, nG
        nG = 0
        IF TYPE("_SCREEN.ActiveForm") = "O"
           m.lH = _SCREEN.ActiveForm.HWnd
        ELSE
           m.lH = _SCREEN.HWnd
        ENDIF
       IF GdipCreateFromHWND( m.lH, @nG ) = 0
          THIS.GP = m.nG
          THIS.RHeight = THIS.GetPageHeight()/10 && преобразование 960 точек на дюйм в 96 точек на дюйм
          THIS.RWidth = THIS.GetPageWidth()/10
       ENDIF
    ENDIF
  ENDPROC

  PROCEDURE OutputPage(nPageNo, ;
                  eDevice, ;
                  nDeviceType, ;
                  nleft, nTop, nWidth, nHeight, ;
                  nClipLeft,nClipTop, nClipWidth, nClipHeight)
      IF THIS.GP # 0
         DODEFAULT(nPageNo, THIS.GP,OUTPUTDEVICETYPE_GDIPLUS , ;
                   0,0,THIS.RWidth, THIS.RHeight, ;
                   0,0,THIS.RWidth, THIS.RHeight)
      ENDIF

  ENDPROC

  PROCEDURE UnloadReport()
     * reset:
     IF NOT THIS.GP = 0
        DECLARE integer GdipDeleteGraphics IN GDIPLUS.DLL integer
        GdipDeleteGraphics( THIS.GP )
        THIS.GP = 0
     ENDIF
     THIS.ListenerType = LISTENER_TYPE_PAGED
  ENDPROC

ENDDEFINE

Example 3: OutputPage in all-pages-at-once mode

Этот пример использует значение ListenerType 3, так что собственно ReportListene класс не вызывает OutputPage для подготовки страниц. Вместо этого этот класс вызывает OutputPage после того, как выполнение отчета заканчивается, и отображает вывод в объекте preview, включённому в форму. Как видно из примера, изменяя измерения объекта preview, Вы можете изменить масштаб изображения, используя любой алгоритм или ограничения, которые Вы предпочитаете. Передавая ссылку на этот объект в метод OutputPage , Вы сообщаете внутреннему коду метода, какой размер Вы хотите установить для предварительного просмотра страницы. Собственно OutputPage обеспечивает масштабирование вывода на предварительный просмотр.

Совет:
Обратите внимание, что внутренний код DoOutputPage этого класса для метода OutputPage выясняет, что передан номер существующей страницы перед вызовом внутреннего кода OutputPage, во избежании ошибок.

Код

Копировать код
#DEFINE BASEPAGEHEIGHT  550
#DEFINE BASEPAGEWIDTH 425

CLEAR ALL
oListener = NEWOBJECT("zoomListener")
oForm = CREATEOBJECT("form")

WITH oForm
   .ScaleMode = 3
   .allowOutput = .F.
   .top = 0
   .left = 0
   .height = BASEPAGEHEIGHT
   .width = BASEPAGEWIDTH
   .backcolor = RGB(255,255,255)
   .Show()
ENDWITH

oListener.PreviewContainer = oForm
REPORT FORM ? OBJECT oListener
oListener.DoOutputPage(1,1)
WAIT window  ;
   "Масштаб 100%... " + ;
   "Нажмите клавишу для изменения масштаба"
oListener.DoOutputPage(2, .21123 )
WAIT window ;
   "Масштаб 21.123%... " + ;
   "Нажмите клавишу для изменения масштаба"
oListener.DoOutputPage(3,2.367)
WAIT window ;
   "Масштаб at 236.7%... "

DEFINE CLASS zoomListener AS ReportListener
   ListenerType = 3

   PROCEDURE DoOutputPage(tPage, tMultiplier)
      LOCAL liPage
      IF VARTYPE(tPage) = "N" AND ;
         BETWEEN(tPage,;
                 THIS.CommandClauses.RangeFrom, ;
                 IIF(THIS.CommandClauses.RangeTo=-1, ;
                     THIS.PageTotal, ;
                     THIS.CommandClauses.RangeTo))
         liPage = INT(tPage)
      ELSE
         liPage = THIS.CommandClauses.RangeFrom
      ENDIF
      THIS.SetPreview(tMultiplier)
      THIS.OutputPage(liPage,ThIS.PreviewContainer.MyPreview,2)
   ENDPROC

   PROCEDURE SetPreview(tMultiplier)
      LOCAL liHeight, liWidth
      IF TYPE("THIS.PreviewContainer.MyPreview") # "O"
         THIS.PreviewContainer.AddObject("MyPreview","shape")
      ENDIF
      IF VARTYPE(tMultiplier) = "N" AND ;
         BETWEEN(tMultiplier,.01, 10)
         liHeight = BASEPAGEHEIGHT * tMultiplier
         liWidth  = BASEPAGEWIDTH * tMultiplier
         WAIT WINDOW ;
            "H:" + TRANSFORM(liHeight)+ ;
          ", W:" + TRANSFORM(liWidth) TIMEOUT 1
         * note that VFP will round the pixels
         WITH THIS.PreviewContainer
            .LockScreen = .T.
            .MyPreview.Height = liHeight
            .MyPreview.Width = liWidth
            .Height = liHeight
            .Width = liWidth
            .LockScreen = .F.
            .Cls()
         ENDWITH
      ENDIF
   ENDPROC

   PROCEDURE Destroy
      THIS.PreviewContainer = NULL
   ENDPROC

ENDDEFINE

См. также

Ссылки

ReportListener объект
CommandClauses свойство
ListenerType свойство
LoadReport событие
OutputPageCount свойство
PageNo свойство
Shape элемент управления
Container объект
API Контейнер Предварительного Просмотра Отчетов

Понятия

Использование GDI+ в отчётах

Другие источники

Методы (Visual FoxPro)
Справочник по языку (Visual FoxPro)

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


Point Method

Visual FoxPro 9.0 Language Reference
Метод Point
Смотреть также

Возвращает цвет в модели RGB (красный-зеленый-синий) для заданной точки формы.

Object.Point ([nXCoord, nYCoord])

Параметры

nXCoord

Задает горизонтальную координату точки в единицах, определяемых установкой свойства ScaleMode данной формы.
nYCoord

Задает горизонтальную координату точки в единицах, определяемых установкой свойства ScaleMode данной формы.

Комментарии

Обращайтесь: Объект форм | Системная переменная _SCREEN

Если координаты nXCoord или nYCoord определяют точку вне формы, метод Point возвращает - 1.

Смотреть также

Другие источники

Команды
Метод Circle
Метод Line
Метод Print
Метод PSet

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Method Print

Visual FoxPro 9.0 Language Reference
Метод Print
Смотреть также

Выдает символьную строку в объекте Form.

 [FormSet.] Object.Print [(cText)]

Параметры

cText

Задает символьную строку, которую нужно напечатать. Если аргумент cText опущен, печатается пустая строка. Текст cText печатается в форме, начиная с позиции, заданной свойствами CurrentX и CurrentY. Если в текст входит символ возврата каретки, значение CurrentX увеличивается на ширину текста cText (она равняется величине, возвращаемой методом TextWidth), а значение CurrentY остается неизменным. По завершении метода Print для свойств CurrentX и CurrentY устанавливаются значения координат точки, непосредственно следующей за последним напечатанным символом.
Комментарии:
Этот метод не поддерживается, если BITMAP=OFF.

Замечание

Обращайтесь: Form | _SCREEN

Смотреть также

Другие ресурсы

Методы
CurrentX, CurrentY Своства
Метод TextHeight
Метод TextWidth

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


PSet Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод PSet
Смотрите также
CollapseAll image

Устанавливает точку на форме или в гланом окне Visual FoxPro в цвет переднего плана.

 [FormSet.]Object.PSet([nXCoord, nYCoord])

Параметры

nXCoord

Определяет горизонтальную координату устанавливаемой точки, в единицах измерения, определяемых значением свойства ScaleMode формы.

nYCoord

Определяет вертикальную координату устанавливаемой точки, в единицах измерения, определяемых значением свойства ScaleMode формы.

Expand image Примечания

Применяется к: Form | _SCREEN

Размер точки зависимт от значения свойства DrawWidth. Когда DrawWidth установлено в 1, метод PSet устанавливает единичный символ в определенный цвет. Когда DrawWidth установлено в значение большее, чем 1, точка центруется в указанных координатах. Способ, которым рисуется точка, зависит от установок свойств DrawMode и DrawStyle.

Когда вызывается метод PSet свойства CurrentX и CurrentY устанавливаются в координату точки, определенную его аргументами.

Expand image Смотрите также

Справочное руководство

Свойства CurrentX, CurrentY
Свойство DrawMode
Свойство DrawStyle
Свойство DrawWidth
Свойства BackColor, ForeColor

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Quit Method

Visual FoxPro 9.0 Описание Языка
Quit, метод
См. также
CollapseAll image

Завершает работу данного экземпляра системы Visual FoxPro.

ApplicationObject.Quit( )

Expand image Комментарии

Применяется в: Application, объект | _VFP, системная переменная

Выполнение метода Quit( ) возвращает управление в Приложение (программу, модуль), которые создали данный экземпляр системы Visual FoxPro.

Expand image См. также

Описание

QUIT, команда

Другие ссылки

Методы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ReadExpression Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ReadExpression
Смотрите также
CollapseAll image

Возвращает выражение, введенное в качестве значения свойства в окне свойств. Available at design time and run time.

Object.ReadExpression(cPropertyName)

Параметры

cPropertyName

Задает имя свойства, из которого необходимо возвратить выражение.

Expand image Примечания

Применимо к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

Expand image Смотрите также

Справочное руководство

Метод WriteExpression

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ReadMethod Method

Visual FoxPro 9.0 Справочное руководство по языку
ReadMethod Method
Смотрите также
CollapseAll image

Возвращает текст указанного метода. Доступен в design time.

Control.ReadMethod(cMethod)

Параметры

cMethod

Указывает имя метода.

Expand image Примечания

Применяется к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

Expand image Смотрите также

Справочное руководство

Метод ReadExpression
Метод WriteExpression
Метод WriteMethod

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Refresh Method (Visual FoxPro)

Visual FoxPro 9.0 Language Reference
Refresh Метод (Visual FoxPro)
См. также

Перерисовывает форму или элемент управления и обновляет значения, или обновляет отображаемый проект. Есть две версии синтаксиса.

[Form.]Object.Refresh

Project.Refresh([lUpdateSCCStatus])

Параметры

lUpdateSCCStatus
Логический тип данных. lUpdateSCCStatus параметр определяется для проекта, если состояние исходного элемента управления для любого файла в исходном элементе управления изменено. Visual FoxPro игнорирует lUpdateSCCStatus, если никакие файлы в проекте не находятся в исходном элементе управления. Следующая таблица перечисляет значения для
lUpdateSCCStatus.

lUpdateSCCStatus Description

True (.T.)

Изменяет состояние исходного элемента управления для каждого файла проекта в исходном элементе управления.

False (.F.) or none

Не изменяет состояние исходного элемента управления.

Замечания

Применимо для: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | FormSet | Grid | Header | Label | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | Project Object | _SCREEN | Shape | Spinner | TextBox | ToolBar

Вообще, Visual FoxPro автоматически перерисовывает формы или элементы управления когда не происходят никакие события . Вы можете использовать метод Refresh, когда Вы хотите обновить форму или элемент управления немедленно, вызвать полное перерисовывание формы или элемента управления, или изменить состояние элемента управления.

Вы можете также использовать метод Refresh, когда Вы хотите отобразить форму пока другая форма загружается, или когда Вы хотите обновить содержание элемента управления. Чтобы обновить содержание поля со списком или списка, используйте метод Requery.

Примечание:
Когда форма обновляется, все элементы управления на форме также обновляются. Когда обновляется набор закладок (page frame), обновляется только активная закладка.

Когда Вы вызываете метод Refresh для элемента управления Label , Visual FoxPro изменяет свойство Caption property и перерисовывает label ( надпись).

Когда Вы вызываете метод Refresh для элемента управления Shape, Visual FoxPro перерисовывает shape (рамку).

Когда Вы вызываете метод Refresh для проекта, Visual FoxPro отображает все изменения проекта. Например, после программного добавления файлов к проекту с помощью метода Add, Вы можете вызвав метод Refresh отобразить недавно добавленные файлы в проекте.

Метод Grid Refresh отображает обновления записей в grid даже если grid не находится в фокусе.

См. также

Другие источники

Methods (методы)
Paint событие
Requery метод

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Release Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Release
Смотрите также
CollapseAll image

Высвобождает форму, набор форм или панель инструментов из памяти.

Метод Release частично полезен, когда объект Form или FormSet созданы командой DO FORM и не существует переменных, ссылающихся на форму или набор форм. Для получения более подробной информации смотрите описание команды DO FORM.

Object.Release

Expand image Примечание

Применяется к: Form | FormSet | _SCREEN | ToolBar

Вы можете использовать коллекцию форм объекта _SCREEN для поиска формы и вызова ее метода Release.

При добавлении объектов в коллекции, Visual FoxPro увеличивает счетчик ссылок для этого объекта. В соответствии с обычным поведением объекта Visual FoxPro, вы можете высвободить объект только тогда, когда его счетчик ссылок равен нулю. Поэтому вы должны убедиться, что не существует ссылки на объект в коллекции при его высвобождении; в противном случае Visual FoxPro не удалит объект из памяти полностью.

Note Замечание

Когда вы имеете объектную ссылку на форму в коллекции и вы можете вызвать метод формы Release, объект удаляется из коллекции без необходимости первоначального удаления формы из коллекции .

Expand image Смотрите также

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


ReleaseXML Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ReleaseXML
Смотрите также
CollapseAll image

Освобождает присоединенный объект IXMLDOMElement.

XMLAdapter.ReleaseXML( [lDisposeSchema] )

Параметры

lDisposeSchema

Определеяет - будет ли информация схемы очищена исполнением метода ReleaseXML. В приведенной ниже таблице приведены возможные значения для lDisposeSchema их описание.

lDisposeSchema Описание

True (.T.)

Очищает коллекцию Tables и устанавливает перечисленные ниже свойства XMLAdapter:

  • XMLName, XMLNamespace и XMLPrefix в пустую строку ("")

  • IsDiffGram в False (.F.)

  • SOM в null (.NULL.)

  • XMLConstraints в null (.NULL.)

(Используется по умолчанию)

False (.F.)

Информация схемы остается в памяти и значения свойств XMLAdapter XMLName, XMLNamespace, XMLPrefix, IsDiffGram, XMLConstraints и SOM остаются неизменными.

Expand image Примечания

Применяется к: Класс XMLAdapter

Expand image Смотрите также

Справочное руководство

Свойства, методы и события класса XMLAdapter
Коллекция таблиц - Tables Collection (XMLAdapter)
Свойство XMLName
Свойство XMLNamespace
Свойство XMLPrefix
Свойство IsDiffGram
Свойство SOM
Свойство XMLConstraints

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Remove Method (Collection Class)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Remove (Класс Collection)
Смотри также ПРимер
CollapseAll image

Используется для удаления объекта-члена из коллекции.

Объект-член может быть любого дейтствительного типа, который может присвоен переменой памяти. Это включает в себя простые типы данных, такие как строки, чила, даты, логические величины, а также более сложные типы, такие как объекты Visual FoxPro и Component Object Model (COM).

Collection.Remove( eIndex )

Параметры

eIndex

Указывает выражение, которое представляет позицию элемента в коллекции. Это выражение может быть одним из двух типов:

  • Целочисленное. Выражение eIndex должно имет значение в диапазоне от 1 до значения свойства коллекции Count. Если вы в качестве значения укажете -1, Visual FoxPro удалит все элементы коллекции.

  • Символьное. Выражение eIndex должно соответствовать ключу cKey, которое вы указали при добавлении элемента в коллекцию.

Если eIndex не соответствует существующему члены коллекции, будет сгенерирована ошибка.

Expand image Примечания

  • В случае, если в качестве параметра используется некорректный тип выражения, то будет сгенерирована ошибка.

  • Если вы в коде метода Remove включите команду NODEFAULT, то это предохранит объект-член от удаления его из коллекции.

Expand image Пример

Приведенные ниже пример иллюстрирует эти задачи в run time:

  • Создает формы и коллекцию.

  • Добавляет формы в коллекцию.

  • Отображает число форм в коллекции.

  • Удаляет первую форму из коллекции.

  • Отображает текущее число форм в коллекции.

CopyCode image Скопировать код
loForm1 = CREATEOBJECT("myForm1")
loForm2 = CREATEOBJECT("myForm2")
loCol = CREATEOBJECT("myCollection")
loCol.Add(loForm1)
loCol.Add(loForm2)
? loCol.Count
loCol.Remove(1)
? loCol.Count

Expand image Смотри также

Справочное руководство

Свойства, методы и события объекта Collection
Класс Collection
Команда NODEFAULT

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Remove Method (File Object)

Visual FoxPro 9.0 Описание Языка
Remove, метод (Объект File)
См. также
CollapseAll image

Исключает данный файл из коллекции файлов Проекта, из самого Проекта.

Object.Remove( )

Expand image Комментарии

Применяется в: File, объект

Метод Remove возвращает значение = true (.T.), если файл успешно исключен из Проекта Приложения; в противном случае возвращается значение = false (.F.). Обратите внимание: предупреждающее сообщение не отображается при прямом использовании данного метода Removeпри исключении файла из проекта; это справедливо также для Проектов, котролируемых подсистемой Source Code Control (SCC).

Перед тем, как файл будет исключен из Проекта Приложения, возникает (поднимается ) событие QueryRemoveFile. Если программный код данного события возвращает значение QueryRemoveFile = false (.F.), то данный файл не исключается из коллекции файлов Проекта, а метод Remove возвращает значение = false (.F.). Если событие QueryRemoveFile возвращает значение = true (.T.), указанный файл исключается из проекта, а метод Remove возвращает значение = true (.T.).

Expand image См. также

Описание

Add, метод (Объект File)
Modify, метод
QueryRemoveFile, событие

Другие ссылки

Методы Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


RemoveFromSCC Method

Visual FoxPro 9.0 Описание Языка
RemoveFromSCC, метод
См. также
CollapseAll image

Исключает программный файл из Проекта, который контролируется подсистемой Source Code Control (SCC) - Контроль Исходного Кода.

Object.RemoveFromSCC( )

Expand image Комментарии

Применяется в: File, объект

Рассматриваемый метод RemoveFromSCC возвращает значение = true (.T.), если данный программный файл исключен из под контроля подсистемой SCC (source code control); в противном случае возвращается значение = False (.F.).

Expand image См. также

Описание

AddToSCC, метод
CheckIn, метод
CheckOut, метод
GetLatestVersion, метод
UndoCheckOut, метод

Другие ссылки

Методы Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


RemoveItem Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод RemoveItem
Смотрите также
CollapseAll image

Удаляет предмет списка из объектов combobox или list box.

Control.RemoveItem(nIndex)

Parameters

nIndex

Указывает целое число, соответствующее порядку, в котором предметы отображаются в списке в элементе управления. Для первого предмета в listbox или combobox, nIndex = 1.

Expand image Примечания

Применяется: ComboBox Control | ListBox Control

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод Clear
Метод RemoveListItem

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


RemoveListItem Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод RemoveListItem
Смотрите также
CollapseAll image

Удаляет элемент из списка элемента управления ComboBox или ListBox.

Control.RemoveListItem(nItemId)

Параметры

nItemId

Задает целое число, представляющее собой уникальный идентификатор данного элемента в списке.

Expand image Примечания

Применимо к: ComboBox Control | ListBox Control

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Метод Clear

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RemoveObject Method

Visual FoxPro 9.0 Справочник языка
RemoveObject Метод
Смотри также

Удаляет заданный объект из объекта-контейнера на этапе выполнения.

Object.RemoveObject(cObjectName)

Параметры

cObjectName

Задает имя удаляемого объекта. Если такого объекта не существует, возникает ошибка.

Замечания

Применение: Column Object | CommandGroup Control | Container Object | Custom Object | DataEnvironment Object | Form Object | FormSet Object | Grid Control | OptionGroup Control | Page Object | PageFrame Control | _SCREEN System Variable | ToolBar Object

Когда объект удален, он исчезает с экрана, и к нему больше нельзя обращаться.

Смотри также

Другие ресурсы

Methods
AddObject Method
RemoveItem Method
RemoveListItem Method

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


Render Method

Visual FoxPro 9.0
Метод Render (Визуализация)
Смотрите также Пример
CollapseAll image

Происходит (так указано в оригинале, хотя было бы вернее указать "вызывается" - примечание переводчика), когда ReportListener готов предоставить вывод элемента раскладки в отчете или этикетке.

oReportListener.Render(nFRXRecNo,;
                       nLeft,nTop,nWidth,nHeight,;
                       nObjectContinuationType, ;
                       cContentsToBeRendered, GDIPlusImage)

Параметры

nFRXRecno

Указывает номер записи в файле определения отчета или этикетки (frx или lbx), описывающей элемент раскладки, который будет визуализирован (rendered).

nLeft

Указывает координаты колонки, в единицах 1/960 дюйма (960 dpi), прямоугольника на текущей странице, в котором вхождение этого элемента раскладки будет визуализировано (rendered).

nTop

Указывает координату строки, в единицах 1/960 дюйма (960 dpi), прямоугольника на текущей странице, в котором вхождение этого элемента раскладки будет визуализировано (rendered)

nWidth

Указывает ширину , в единицах 1/960 дюйма (960 dpi), прямоугольника на текущей странице, в котором вхождение этого элемента раскладки будет визуализировано (rendered)

nHeight

Указывает высоту , в единицах 1/960 дюйма (960 dpi), прямоугольника на текущей странице в которой вхождение этого элемента раскладки будет визуализировано (rendered)

nObjectContinuationType

Указывает current continuation state (текущее состояние продолжения - перенос элемента раскладки на последующие страницы) визуализируемого объекта. Когда элементы раскладки объединяют страницы, они визуализируются во множестве секций (однократно для каждой страницы).

Note Замечание

Продолжение может произойти для элементов раскладки типа Expression (Field), Shape или Line. Хотя элементы раскладки типа Label и Picture могут захватывать полосы в отчете, они не могут захватывать страницы и ReportListener визуализирует их только один раз. Не все типы полос поддерживают захват страниц. Обратитесь к описании Полосы (Bands) отчета для получения более подробной информации.

Приведенная ниже таблица перечисляет возможные значения для параметра nObjectContinuationType.

Значение Тип продолжения

0

Завершено (нет продолжения на последующих страницах).

1

Имеется начало элемента раскладки, незавершенного на текущей странице.

2

Середина элемента, не начатого и незавершенного на текущей странице.

3

Конец элемента, завершенного на текущей странице.
cContentsToBeRendered

Указывает текст для визуализации элементов раскладки Expression (Field) и Label. Для элементов раскладки Picture, собранных из файла, cContentsToBeRendered содержит имя файла.

При указании имени файла картинки, ReportListener предоставляет cContentsToBeRendered в виде DBCS строки, что является стандартным форматом для строки в Visual FoxPro. Однако, при указании текста для визуализации, ReportListener предоставляет cContentsToBeRendered в виде Unicode строки, соответствующим образом транслированную в корректную локаль с помощью любой информации регионального скрипта, связанную с этим элементом раскладки в записи файла определения отчета (frx).

Если предоставляемый вами класс посылает текстовое значение через некоторую дополнительную обработку, такую как сохранение в таблице, вы можете использовать функцию STRCONV() и его необязательный параметр регионального скрипта, для первичного преобразования в DBCS строку. Для получения более подробной информации смотрите описание функции STRCONV( ).

Note Замечание

Вы можете установить для отчета региональный скрипт в качестве скрипта по умолчанию, воспользовавшись диалоговым окном Report Properties (Свойства отчета). Для получения более подробной информации смотрите описание Закладка Page Layout диалогового окна Report Properties (Свойства отчета) (Report Builder - Компоновщика отчета). Кроме того, вы можете указать установку регионального скрипта для индивидуальных элементов раскладки, при выборе прочих атрибутов шрифта. Для получения более подробной информации смотрите описание задачи Как: изменить установки шрифта для элементов управления отчетa .

GDIPlusImage

Предоставляет дескриптор GDI+ графики, когда элемент раскладки Picture собирается из картинки, получаемой не на основе файла, а на основе содержимого поля General или элемента управления Image.

Когда ReportListener визуализирует различные типы элементов раскладки, или когда вы не установили значение его свойства SendGDIPlusImage в 1 или большее значение, то тогда этот параметр имеет значение 0. Для получения более подробной информации смотрите описание свойства.

Expand image Возвращаемое значение

Нет.

Expand image Примечания

Применяется к объекту: ReportListener.

ReportListener вызывает однократно метод Render для каждого вхождения каждого элемента раскладки, который должен быть визуализирован или, возможно, множество раз для одного и того же типа элемента раскладки, захватившего несколько страниц.

Note Замечание

Во время обработки отчета, в случае если вы используете выражение Print When на элементе раскладки, Report System оценивает это выражение с целью принятия решения - должно ли появляться каждое вхождение элемента раскладки. Если Print When оценивается в False (.F.) для конкретного вхождения объекта раскладки, то элемент не появляется и ReportListener не вызывает метод Render.

Note Замечание

Если Print When оценивается в True (.T.), вы можете изменить визуализированное содержание некоторых элементов раскладки с использованием AdjustObjectSize и EvaluateContents (например, изменить текст Expression элемента управления в раскладке в строку нулевой длины, или сделать ее прозрачной). В результате такого действия, вы можете не видеть никакого результата визуализации в выводе отчета. Однако, ReportListener продолжит в этой ситуации вызывать метод Render.

Expand image Специальные возможности визуализации Visual FoxPro GDI+

Объекты ReportListener используют Microsoft Windows GDI+ для визуализации устройств вывода. GDI+ позволяет осуществлять вывод аппаратно-независимым (device-independent), что означает, что используется один и тот же механизм визуализации как при просмотре содержимого отчета, его печати или его сохранении в файл картинки.

ReportListener exposes some special features of GDI+, которые дают вам возможность настроить визуализацию текста. Например, свойство DynamicLineHeight объекта ReportListener позволяет вам использовать GDI+ динамическое изменение расстояния между строками (dynamic line-spacing) для визуализации текста. ReportListener, кроме того позволяет использовать опции GDI+ StringTrimming, которые позволяют вам определить - как визуализируется текст, когда он не вмещается в пространство, отведенное вами для элемента expression в раскладке отчета. Для получения более подробной информации смотрите DynamicLineHeight Property и Using GDI+ in Reports.

Expand image Пример

Некоторые параметры могут применяться лишь к некоторым типам элементов раскладки. Вы можете использовать первый параметр, nFRXRecno, для проверки файла определения отчета (frx) и определить тип элемента раскладки. Затем вы можете соответствующим образом дополнить процесс метода Render для текущего типа элемента.

Приведенный ниже пример аналогичен коду, используемому фундаментальным классом ReportListener XML Display-Style для копирования картинок, хранящихся в файлах на диск, когда ReportListener визуализирует их. Он использует параметр nFRXRecNo для выяснения типа элемента раскладки. Если тип элемент представляет собой Picture, то он проверяет параметр cContentsToBeRendered с целью выяснить - доступен ли файл для копирования. Затем он откладывает выполнение кода родного класса для продолжения визуализации картинки в стандартном устройстве вывода.

CopyCode image Скопировать код
PROCEDURE Render(nFRXRecNo,;
                 nLeft,nTop,nWidth,nHeight,;
                 nObjectContinuationType, ;
                 cContentsToBeRendered, GDIPlusImage)

   LOCAL llCopyImage, lcFile

   IF THIS.CopyImageFilesToExternalFileLocation
      THIS.SetFRXDataSession()
      GO nFRXRecNo IN FRX
      IF FRX.ObjType = FRX_OBJTYP_PICTURE AND ;
         FRX.Offset # FRX_PICTURE_SOURCE_GENERAL AND ;
         FILE(cContentsToBeRendered)
         llCopyImage = .T.
      ENDIF
      THIS.SetCurrentDataSession()
   ENDIF

   IF llCopyImage
      lcFile = FORCEPATH(cContentsToBeRendered, ;
          FULLPATH(THIS.ExternalFileLocation, ;
          ADDBS(JUSTPATH(THIS.TargetFileName))))
      IF NOT FILE(lcFile)
         COPY FILE (cContentsToBeRendered) TO (lcFile)
      ENDIF
   ENDIF

   DODEFAULT(nFRXRecNo,;
             nLeft,nTop,nWidth,nHeight,;
             nObjectContinuationType, ;
             cContentsToBeRendered, GDIPlusImage)
ENDPROC

Expand image Смотрите также

Справочное руководство

Объект ReportListener
Событие EvaluateContents
Событие AdjustObjectSize
Закладка Print When диалогового окна Report Control Properties (Report Builder)

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Requery Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Requery
Смотрите также
CollapseAll image

Повторно опрашивает источник строк, к которому привязан элемент управления ListBox или ComboBox.

Control.Requery

Expand image Примечания

Применимо к: ComboBox | ListBox

Используйте метод Requery, если хотите, чтобы элемент управления содержал самые актуальные данные. Метод Requery повторно проверяет свойство RowSource и обновляет список новыми значениями.

Expand image Смотрите также

Справочное руководство

Свойство RowSource

Прочие ресурсы

МетодЫ (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RequestData Method

Visual FoxPro 9.0 Справочное руководство по языку
RequestData Method
Смотрите также Пример
CollapseAll image

Создает массив, содержащий данные из таблицы, открытой в экземпляре Visual FoxPro.

ApplicationObject.RequestData([nWorkArea | cTableAlias] [, nRecords])

Expand image Возвращаемое значение

Массив

Expand image Возвращаемое значение

nWorkArea

Определяет номер рабочей области таблицы, данные из которой сохраняются в массив. Если вы опустите cTableAlias и nWorkArea, в массив будут сохранены данные из таблицы, открытой в текущей рабочей области.

cTableAlias

Определяет псевдоимя таблицы, данные из которой сохраняются в массив.

nRecords

Определяет число записей, сохраняемых в массив, начиная с текущей записи. Если nRecords опущено и доступно достаточное количество памяти, то в массив будут сохранены все записи, начиная с текущей.

Expand image Примечание

Применяется к: Application Object | _VFP System Variable

Используйте метод RequestData для извлечечния данных из экземпляра Visual FoxPro.

Expand image Пример

Приведенный ниже пример, запускается из Visual FoxPro, создает второй экземпляр Visual FoxPro. Таблица Customer открывается во втором экземпляре Visual FoxPro.

Массив, содержащий данные из таблицы Customer создается в первом экземпляре Visual FoxPro, и его содержание отображается на экране. Массив содержит данные из пяти первых записей таблицы Customer. Затем второй экземпляр Visual FoxPro закрывается.
CopyCode image Скопировать код
oNewInstance = CREATEOBJECT('VisualFoxPro.Application')
oNewInstance.DoCmd "USE (HOME(2) + 'Data\Customer')"
aCustomerArray = oNewInstance.RequestData('Customer',5)
DISPLAY MEMORY LIKE aCustomerArray
oNewInstance.DoCmd('QUIT')

Expand image Смотрите также

Справочное руководство

Метод DataToClip

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Reset Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод Reset
Смотрите также
CollapseAll image

Сбрасывает элемент управления Timer, чтобы он начал отсчет с нуля.

Timer.Reset

Expand image Примечания

Применимо к: Timer

Expand image Смотрите также

Справочное руководство

Свойство Interval
Событие Timer

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ResetToDefault Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ResetToDefault
Смотрите также
CollapseAll image

Востанавливает значение Visual FoxPro по умолчанию свойство событие или метод. Доступно на этапе выполнения и проектирования.

 [Form.]Object.ResetToDefault(cPropertyName | cEventName | cMethodName)

Expand image Возвращаемое значение

cPropertyName

Определяет имя свойства которое будет сброшено в значение Visual FoxPro по умолчанию.

cEventName

Определяет имя события для сброса. Весь код определенный пользователем в событии будет удален.

cMethodName

Определяет имя метода для сброса. Весь код определенный пользователем в методе будет удален.

Expand image Замечания

Применимо к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | _SCREEN | Shape | Session Object | Spinner | TextBox | Timer | ToolBar

ResetToDefault возвращает свойство в установки которое оно имело при создании. Например, если вы изменяли шрифт кнопки, вызов этого метода для caption сбрасывает шрифт к его значению по умолчанию (Arial).

ResetToDefault удаляет весь определяемый пользователем код из события или метод на этапе проектирования.

ResetToDefault неимеет эфекта на члены масива, вследствии нету значения по умолчанию в класе.

ResetToDefault не применяется для Access\Assing методов, потому что их взаимодействие со свойствами реализовано иначе чем обычные методы.

Expand image Смотрите также

Справочное руководство

Функция GETPEM( )

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Run Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Run (Visual FoxPro)
Смотрите также
CollapseAll image

Запускает файл из проекта или выводит его предпросмотр.

Object.Run( )

Expand image Замечания

Применяется к: объекту File

Метод Run возвращает true (.T.), если файл удалось запустить или вывести на предпросмотр; в противном случае возвращается false (.F.). С помощью метода Run можно вывести на предпросмотр файлы этикеток и отчетов.

До запуска файла или вывода его на предпросмотр происходит событие QueryRunFile. Если в событии QueryRunFile указано NODEFAULT, файл не запускается и не выводится на предпросмотр и метод Run вернет false (.F.). В противном случае, при отсутствии в событии QueryRunFile команды NODEFAULT файл запускается и метод Run возвращает true (.T.).

Включите в событие QueryRunFile команду NODEFAULT для предотвращения запуска файла или вывода его на предпросмотр.

Expand image Смотрите также

Справочное руководство

Событие QueryAddFile
Событие QueryModifyFile
Событие QueryRunFile
Событие QueryRemoveFile
Команда NODEFAULT

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SaveAs Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Метод SaveAs (Visual FoxPro)
Смотрите также
CollapseAll image

Сохраняет объект в виде файла .scx.

Object.SaveAs(cFileName [, oDataEnvironment])

Параметры

cFileName

Указывает файл .scx, в котором вы желаете сохранить объект.

oDataEnvironment

Указывает ссылку на объект DataEnvironment.

Объект DataEnvironment должен иметь значение своего свойства Name, установленное в "DataEnvironment".

Expand image Замечания

Применяется к: DEFINE CLASS | Form | FormSet | _SCREEN

Используйте метод SaveAs для создания форм или наборов форм и сохранения их в файле .scx. Метод SaveAs доступен только во время интерактивной сессии Visual FoxPro.

Когда вы используете метод SaveAs, то наравне с объектом сохраняются и все связанные с ним свойства, события и методы. Отметьте, что могут быть сохранены только те объекты, которые созданы из базовых классов Visual FoxPro. Классы, определенные пользователем не могут быть сохранены. Для просмотра полного списка базовых классов Visual FoxPro обратитесь к статье Базовые классы в Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Свойство Name
Метод SaveAsClass
Команда SET CLASSLIB

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SaveAsClass Method

Visual FoxPro 9.0 Language Reference
Метод SaveAsClass
Смотреть также

Сохраняет экземпляр объекта в качестве определения класса в библиотеке классов.

Object.SaveAsClass(ClassLibName, ClassName [, Description])

Параметры

ClassLibName

Задает имя файла .VCX, в котором следует сохранить определение класса.
ClassName

Задает имя, назначенное классу.
Description

Задает описание класса - необязательный параметр.

Комментарии

Обратитесь : CheckBox | Collection Class | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | Custom | EditBox | Exception Class | Form | FormSet | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | PageFrame | ProjectHook Object | ReportListener Object | _SCREEN | Shape | Spinner | TextBox | Timer | ToolBar

При использовании метода SaveAsClass все свойства, события и методы, связанные с данным объектом, сохраняются в составе определения класса.

Смотреть также

Другие ресурсы

Методы
Метод SaveAs
Команда SET CLASSLIB

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SetAll Method

Visual FoxPro 9.0 Language Reference
Метод SetAll
Смотреть также Пример

Присваивает установку некоторого свойства всем элементам управления данного объекта Container или определенному классу таких элементов управления.

Container.SetAll(cProperty, Value [, cClass])

Параметры

cProperty

Задает свойство, которое предстоит установить.
Value

Задает новую установку для свойства. Тип данных Value зависит от устанавливаемого свойства.
cClass

Задает имя класса ( класса, на котором базируется объект, а не базового класса Visual FoxPro для этого объекта).

Замечания

Обращаться : Column | CommandGroup | Container Object | Form | FormSet | Grid | OptionGroup | Page | PageFrame | _SCREEN | ToolBar

Метод SetAll позволяет установить некоторое свойство для всех элементов управления объекта Container или для элементов управления определенного класса. Например, чтобы для всех объектов Column в элементе управления Grid установить в качестве значения свойства BackColor красный цвет, задайте следующее:

Копировать код
Form1.Grid1.SetAll("BackColor", RGB(255, 0, 0), "Column")

Вы также можете устанавливать свойства для объектов, содержащихся в других объектах контейнера. Чтобы установить зеленый цвет в свойстве ForeColor для объектов Header, содержащихся в каждом из объектов Column элемента управления Grid, выдайте следующую команду:

Копировать код
Form1.Grid1.SetAll("ForeColor", RGB(0, 255, 0), "Header")

Пример

В следующем примере метод SetAll используется для свойства DynamicBackColor, чтобы задать цвета фона в записях элемента управления Grid. Если запись, отображенная в сетке, имеет четный номер, для ее свойства DynamicBackColor устанавливается белый цвет, в противном случае ѕ зеленый.

Элемент управления Grid помещается в форму, открывается таблица customer и ее содержимое отображается в сетке. Свойство Caption используется для того, чтобы задать другое название заголовка (Customer ID) для поля CUST_ID. В форму включается командная кнопка, закрывающая ее.
Копировать код
CLOSE ALL  && Close tables and databases
OPEN DATABASE (HOME(2) + 'Data\testdata')

USE customer  IN 0  && Открываем таблицу Customer

frmMyForm = CREATEOBJECT('Form')  && Создаем форму
frmMyForm.Closable = .f.  && Disable the window pop-up menu

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Add Command button
frmMyForm.AddObject('grdGrid1','Grid')  && Add Grid control

frmMyForm.grdGrid1.Left = 25  && Adjust Grid position

frmMyForm.grdGrid1.SetAll("DynamicBackColor", "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255), RGB(0,255,0))", "Column")  && Alternate white and green records

frmMyForm.grdGrid1.Visible = .T.  && Grid control visible
frmMyForm.cmdCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.grdGrid1.Column1.Header1.Caption = 'Customer ID'

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close form
      CLOSE ALL  && Close table and database
ENDDEFINE

Смотреть таже

Другие ресурсы

Метод SaveAs
Метод SaveAsClass
Методы
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SetData Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод SetData
Смотрите также
CollapseAll image

Помещает данные в объект OLE drag-and-drop DataObject. Доступно только в run time.

oDataObject.SetData(eData [, nFormat | cFormat])

Параметры

eData

Указывает данные, помещенные в DataObject. Если вы опустите необязательные аргументы nFormat и cFormat, Visual FoxPro поместит данные в DataObject в форматах CF_TEXT и CFSTR_OLEVARIANT. Если eData представляет собой массив, добавьте спереди к eData значок амперсанда (@). Массив размещается в DataObject в формате CFSTR_OLEVARIANTARRAY. Если eDataпредставляет собой объектную ссылку или поле типа general или если массив содержит объектную ссылку, то будет сгенерирована ошибка.

nFormat| cFormat

Указывает формат помещаемых в DataObject данных. В приведенной ниже таблице перечислены значения для каждого формата данных и описание каждого формата. DataObject автоматически поддерживает нижеприведенные форматы. (доступно большее количество форматов, но для их использования может потребоваться дополнительное программирование). Для получения подробной информации о доступных форматах данных смотрите документацию по Visual C++® на Microsoft Developer Network. Вы можете определить свои собственные форматы для cFormat. В этом случае, eData должна быть символьного или бинарного типа, созданного с помощью CREATEBINARY( ).

Data формат* nFormat| cFormat Описание

CF_TEXT

1

Текстовый формат.

CF_OEMTEXT

7

Текстовый формат, содержащий символы в наборе OEM.

CF_UNICODETEXT

13

Текстовый формат в Unicode

Note Note

Доступен только для версий Visual FoxPro запущенный на NT 4.0 или позднее.

CF_FILES or CF_HDROP

15

Дескриптор, который идентифицирует список файлов такой, как набор файлов, перетащенных из Windows Explorer.

CF_LOCALE

16

Десриптор идентификатора локали, ассоциированной с текстом в clipboard.

CFSTR_OLEVARIANTARRAY

"OLE Variant Array"

Массив Visual FoxPro. Множество величин могут перенесены в простой операции перетаскивания (drag and drop) при использования этого формата.

Например, этот формат может быть использован для перетаскивания набора элементов из одного элемента управления listbox в другой элемент управления listbox.

CFSTR_OLEVARIANT

"OLE Variant"

Visual FoxPro variant. Все типы данных в Visual FoxPro представлены как variants. Этот формат может быть использован для перетаскивания данных Visual FoxPro без потери типа данных.

CFSTR_VFPSOURCEOBJECT

"VFP Source Object"

Ссылка на объект Visual FoxPro.

* Определено в FOXPRO.H.

Expand image Примечания

Применяется к: DataObject Object

Метод SetData может быть исполнен только в событиях OLEStartDrag и OLESetData.

Expand image Смотрите также

Справочное руководство

Метод ClearData
Функция CREATEBINARY( )
Метод GetData
Метод GetFormat
OLE Drag-and-Drop
Событие OLEStartDrag
Метод SetFormat

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SetFocus Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод SetFocus
Смотрите также
CollapseAll image

Устанавливает фокус в элементе управления.

Control.SetFocus

Expand image Замечания

Применяется к: CheckBox | Column | ComboBox | CommandButton | Container Object | Control Object | EditBox | Grid | ListBox | OLE Bound Control | OLE Container Control | OptionButton | Page Object | Spinner | TextBox

Элементу управления нельзя назначить фокус, если свойство Enabled или Visible этого элемента управления имеет значение "ложь" (.F.)., или событие When элемента управления возвращает "ложь" (.F.). Если свойство Enabled или Visible имеет значение "ложь" (.F.), нужно сначала установить для него значение "истина" (.T.), чтобы данный элемент управления мог получить фокус с помощью метода SetFocus.

Как только элемент управления получает фокус, весь пользовательский ввод направляется в этот элемент управления.

В Visual FoxPro 9.0, метод SetFocus не поддерживается в событиях When Event, Valid Event, RangeHigh Event и RangeLow Event. Однако, вы можете включить команду RETURN Command с именем объекта (RETURN <ObjectName>) в эти события, чтобы установить фокус в другой элемент управления. Если команда RETURN с именем объекта включена в код обработки этих событий, фокус получит указанный объект с именем <ObjectName>.

Объект, указанный в команде RETURN должен быть допустимым объектом Visual FoxPro, способным получить фокус. Если указанный объект заблокирован или не может получить фокус, его получит следующий в порядке табуляции объект. Фокус остается в текущем объекте, если определен недопустимый объект.

RETURN <ObjectName> позволяет Вам устанавливать фокус в объекте на другой видимой форме. Вы можете также установить фокус в объекте на невидимой странице элемента управления PageFrame, однако, эта страница должна быть активизирована (например, так: PageFrame1.ActivePage = 2).

Expand image Смотрите также

Справочное руководство по языку

Свойство Enabled (Visual FoxPro)
Свойство Visible (Visual FoxPro)
Событие GotFocus
Событие LostFocus

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


SetFormat Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод SetFormat
Смотрите также
CollapseAll image

Помещает формат данные в объект OLE DataObject. Доступен только в run time.

Вы можете вызвать метод SetFormat в событиях OLEStartDrag и OLESetData.

oDataObject.SetFormat(nFormat | cFormat)

Параметры

nFormat| cFormat

Определяет формат даных, помощенных в объект DataObject. Кроме того, вы можете создать свой собственный формат указанием уникальной символьной строки для параметра cFormat.

В приведенной ниже таблице перечислены значения для некоторых общих форматов данных с описанием каждого формата.

Формат данных * nFormat| cFormat Описание

CF_TEXT

1

Текстовый формат.

CF_OEMTEXT

7

Текстовый формат, содержащий символы из OEM набора символов.

CF_UNICODETEXT

13

Текст в формате Unicode.

Note Замечание

Доступен только для версий Visual FoxPro, запущенных на Windows NT 4.0 или более поздней.

CF_FILES or CF_HDROP

15

Дескриптор, который идентифицрует список файлов, такой как набор файлов, перетаскиваемых из Windows Explorer.

CFSTR_OLEVARIANTARRAY

"OLE Variant Array"

Массив. С этим форматов в одной операции drag-and-drop может быть перенесено множество значений.

Например, этот формат может быть использован для перетаскивания набора предметов из этого элемента listbox в другой listbox.

CFSTR_OLEVARIANT

"OLE Variant"

Вариант. Универсальный тип данных.

Все типы данных в Visual FoxPro представляются как варианты. Этот формат может быть использован для операции drag-and-drop данных Visual FoxPro без потери типов данных.

CFSTR_VFPSOURCEOBJECT

"VFP Source Object"

Ссылка на Visual FoxPro объект источника операции drag.

* Определены в FOXPRO.H.

Expand image Примечания

Применяется к: DataObject Object

Вы можете поместить формат данных в объект DataObject до размещения в нем соотвествующих данных. Если вы поместите формат данных в объект DataObject без размещения соответствующих данных и вызовите метод GetData в событии OLEDragDrop, то событие OLESetData исполняется для источника операции drag. Источник операции drag помещается после этого в DataObject вызовом метода SetData в событии OLESetData.

Note Совет

При использовании форматов данных, которые не поддерживаются собственными форматами Visual FoxPro или при использовании большого числа форматов, вы можете повысить производитель OLE drag-and-drop размещением в обекъте DataObject только форматов данных, когда требуется поместить в этот объект большой объем данных.

Expand image Смотрите также

Справочное руководство

Метод ClearData
Метод GetData
Метод GetFormat
OLE Drag-and-Drop
Событие OLEDragDrop
Событие OLESetData
Событие OLEStartDrag
Метод SetData

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SetMain Method

Visual FoxPro 9.0 Описание Языка
SetMain, метод
См. также
CollapseAll image

Определяет Главный (стартовый) программный файл Проекта.

Object.SetMain([cFileName])

Параметры

cFileName

Определяет имя файла Проекта, который становится Главным (стартовым) файлом Проекта. Данный файл может быть или программным файлом, процедурой (.prg), или файлом Формы (.scx). Имя файла должно быть указано с его расширением (типом: .prg, .scx). Если параметр cFileName не указан (отсутствует) или есть пустая строка, то для данного Проекта не определен Главный (стартовый) программный файл.

Expand image Комментарии

Применяется в: Project, объект

Данный метод SetMain возвращает значение = true (.T.), если заданный вами программный файл определен как Главный файл Проекта. Значение = False (.F.) возвращается в том случае, когда указанный файл не может быть задан как Главный файл Проекта, или задан файл недопустимого типа (не программа, или не форма).

Главный файл Проекта: программный файл (.prg) или пользовательская форма (.scx) является начальной точкой входа в рассматриваемое Приложение, из которого вызываются другие компоненты данного Приложения. Обычно, данный главный файл Приложения определяет требуемую среду данных, выполняет необходимые настройки глобальных параметров, определяет подсистему Меню и инструментарий ToolBars, запускает главный цикл обработки текущих событий Приложения, команда READ EVENTS. Вы должны определить Главный файл Проекта до того момента, когда будете выполнять итоговую Сборку (Компиляцию) Приложения (.app) или (.exe) с помощью подсистемы Project Manager.

Note Примечание

Определить Главный файл Проекта можно также с помощью задания значения соответствующего Свойства MainFile.

Expand image См. также

Описание

MainFile, свойство

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SetVar Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод SetVar
Смотрите также
CollapseAll image

Создает переменную и сохраняет в ней значение для экземпляря приложения, используемого как Visual FoxPro Automation Server.

ApplicationObject.SetVar(cVariableName, eValue)

Expand image Возвращаемое значение

cVariableName

Определяет имя создаваемой переменной.

eValue

Определяет значение, которое будет хранить переменная. Если переменная с именем, указанным в cVariableName уже существует, то в переменную будет сохранено указанное новое значение.

Expand image Примечание

Применяется к: Объект Application | Системная переменная _VFP

While the DoCmd method can be used to set a variable to a character value, the SetVar method should be used to set a variable to other data types.

Expand image Смотрите также

Справочное руководство

Метод DoCmd
Метод Eval
Команда STORE

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


SetViewPort Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод SetViewPort
Смотрите также
CollapseAll image

Устанавливает значения свойств формы ViewPortLeft и ViewPortTop.

Object.SetViewPort(nLeft, nTop)

Параметры

nLeft

Определяет значение свойства формы ViewPortLeft.

nTop

Определяет значение свойства формы ViewPortTop.

Expand image Примечания

Применяется к: Form

Метод SetViewPort возвращает true (.T.), если удалось успешно установаить значения свойств ViewPortLeft и ViewPortTop; в противном случае - возвращает false (.F.). Метод SetViewPort игнорируется в формах, которые не содержат полос прокрутки.

Единица измерения свойств ViewPortLeft и ViewPortTop определяется значением свойства формы ScaleMode – пиксели (по умолчанию) или фоксели.

Expand image Смотрите также

Справочное руководство

Свойство ScaleMode
Свойство ScrollBars
Свойство ViewPortLeft
Свойство ViewPortHeight
Свойство ViewPortTop
Свойство ViewPortWidth

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Show Method (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Метод Show (Visual FoxPro)
Смотрите также
CollapseAll image

Отображает форму и определяет - будет она модальной или нет.

[FormSet.]Object.Show([nStyle])

Параметры

nStyle

Определяет, как будет показана форма. Ниже перечислены допустимые значения:

Значение Описание

1

Модальная. До высвобождения или скрытия этой формы не может быть осуществлен ввод пользователя (ни с помощью клавиатуры, ни с помощью мыши) в любую другую форму или осуществлен доступ к меню. Программа должна либо скрыть, либо высвободить модальную форму (обычно в ответ на какое-то действие пользователя) до того, как пользователь сможет что-либо ввести в другие формы. Хотя другие формы, при активной модальной, запрещены, другие приложения разрешены.

2

(По умолчанию) Немодальная. Код, который исполняется после метода Show исполняется так, как он был задуман.

Если вы в вызовите метода опустите параметр nStyle, форма будет показана так, как указано в свойстве WindowType.

Expand image Замечания

Применяется к: Form | FormSet | _SCREEN | ToolBar

Метож Show устанавливает свойство Visible формы или набора форм в значение true (.T.) и делает форму активным объектом. Если свойство Visible формы уже установлено в true (.T.), то метод Show делает ее активным объектом.

Если активирован набор форм, то становится активной последняя форма в наборе. Если нет активной формы, то становится активной форма, которая была введена первой в опредение класса FormSet.

Формы, содержащиеся внутри набора форм сохраняют свои установки свойства Visible. Если свойство Visible формы было установлено в false (.F.), то метод Show вызванный для набора форм не показывает эту форму.

Expand image Смотрите также

Справочное руководство

Событие Activate (Visual FoxPro)
Метод Hide
Свойство Visible(Visual FoxPro)
Свойство WindowType

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ShowWhatsThis Method

Visual FoxPro 9.0 Language Reference
ShowWhatsThis Метод
См. также

Отображает раздел помощи "Что это такое" определенный для объекта свойством WhatsThisHelpID.

Object.ShowWhatsThis

Возвращаемое значение

Object

Объект, для которого отображается раздел помощи "Что это такое".

Замечания

Применимо к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Shape | Spinner | TextBox | Timer | ToolBar

ShowWhatsThis метод автоматически вызывается клавишей F1. Если WhatsThisHelp свойство установлено в .T., показывается раздел помощи "Что это такое" для объекта, указанного свойством WhatsThisHelpID. Если WhatsThisHelp свойство установлено в .F., отображается раздел помощи для объекта, указанного свойством HelpContextID.

См. также

Другие источники

WhatsThisButton свойство
WhatsThisMode Метод
WhatsThisHelp Свойство
WhatsThisHelpID Свойство
Методы
Справочник по языку

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SupportsListenerType Method

SupportsListenerType, метод
См. также Пример
CollapseAll image

Определяет независимость поддержки объектом ReportListener получения различных типов Отчетов.

? oReportListener.SupportsListenerType(iListenerType)

Параметры

iListenerType

Определяет Тип внутреннего Механизма получения Отчета с использованием объекта ReportListener.

Expand image Возвращаемое значение

Логического типа.

Возвращается значение = True (.T.), если передаваемый параметр определяет поддерживаемый Тип получения (конвертации) Отчета.

Expand image Комментарии

Применяется в: ReportListener, объект.

Объект типа ReportListener не порождает Исключительную ситуацию (ошибку), если пользователь указывает тип ListenerType, который не поддерживается системой; просто в данном случае пользователь не получает никаких результатов. Вам рекомендуется поддерживаться описанной Стратегии при проектировании пользовательских объектов, производных от данного Класса. Переопределение программного кода Метода SupportsListenerType должно обеспечивать соответствующее поведения данного объекта, без генерации Сообщения об Ошибке.

Производные объекты от класса ReportListener могут использовать только допустимые внутренние типы получаемых Отчетов (только поддерживаемые форматы). Например, вы можете получить сначала Изображение всех страниц Отчета, в режиме Предварительного просмотра, а только после этого выполнять реальную печать на Принтере. Работу данного сценария обеспечивают только типы ListenerType = 1 или 3, только два этих значения Типов обеспечивают сначала получение Изображения, а потом печать с помощью OutputPage. Данный класс возвращает значение = False (.F.), для типов Отчетов ListenerType = -1, 0 или 2. Данные значения типов ListenerType не поддерживают кеширование изображений Страниц Отчета, и не могут быть использованы при получении многофункциональных Отчетов.

Note Примечание

Сморите раздел: ListenerType, свойствоy о возможных, поддерживаемых значениях типа Отчетов ListenerType. В указанном разделе имеется также пример использования Метода SupportsListenerType.

Методы Объектов, производных от класса ReportListener не обязательно возвращают значения = True (.T.) для других значений Типов Отчетов, которые могут быть определены в Приложениях получения Отчетов (Report Output Application). Данный класс "опционально" поддерживает перечисленные значения внутренних типов ListenerType (от 0 - до 3), для использования представленного функционала Отчетов рекомендуется использовать другие значения для Типов ОтчетовOutputType, которые будут обрабатываться соответствующим приложением Report Output Application, данные значения могут определять альтернативные варианты получения Отчетов.

Например, фундаментальный класс ReportListener HTML Foundation Class поддерживает все внутренние типы ListenerType, и не добавляет новых значений типов. Данный класс обеспечивает альтарнативный вариант получения Отчетов, и не переопределяет существующие типы Отчетов ListenerType и не использует метод SupportsListenerType. Поэтому, вы можете без помех использовать данный класс HtmlListener для просмотра результатов своих Отчетов (в соответствующем формате HTML), использую перечисленные выше значения типов ListenerType. Дополнительную информацию смотрите в разделе: OutputType, свойство (Visual FoxPro).

Expand image Пример

В представленном далее Примере, рассматриваемый метод направляет нестандартное значение = 99, которое обрабатывается объектом типа ReportListener. На данное значение вы получаете результат = False (.F.), потому, что объект ReportListener не поддерживает указанный тип Отчета. Далее, передается значение типа = 2, возвращается результат = True (.T.), данный тип Отчета Listenertype - поддерживается.

CopyCode image Копировать Код
LOCAL loReportListener
loReportListener = CREATEOBJECT("ReportListener")
? loReportListener.SupportsListenerType(99)
* displays: .F.
? loReportListener.SupportsListenerType(2)
* displays: .T.

Expand image См. также

Описание

ReportListener, объект

Другие ссылки

Методы Объектов (Visual FoxPro)
Описание Языка (Visual FoxPro)
Приложения для получения Отчетов
ReportListener, фундаметальные классы

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


TextHeight Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод TextHeight
Смотрите также
CollapseAll image

Возвращает высоту строки текста, как она отображалась бы в текущем шрифте.

 [nHeight =] [Form.]TextHeight(cText)

Параметры

nHeight

Возвращает значение в пикселя, указывающее высоту строки текста.

cText

Указывает строку текста, для которой определяется значение высоты.

Expand image Примечания

Применяется к: Form | _SCREEN

Метод TextHeight определяет количество вертикального пространства, требуемого для отображения cText. Возвращаямая высота включает пространство вывода выше и ниже символьной строки, так что вы можете использовать возвращаемую высоту для расчета и позиционирования множества строк текста внутри формы. Если cText содержит вложенные символы перевода каретки, метод TextHeight вернет общую высоту линий, учитывая пространство вывода выше и ниже каждой строки.

Expand image Смотрите также

Справочное руководство

Свойство FontSize
Свойство ScaleMode
Метод TextWidth

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


TextWidth Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод TextWidth
Смотрите также
CollapseAll image

Возвращает длину текстовой строки, как если бы она отображались в текущем выбранном шрифте.

[nWidth =] [Form.]TextWidth(cText)

Параметры

nWidth

Возвращает значение в пикселях, указывающее длину текстовой строки.

cText

Определяет текстовую строку, для которой определяется ее длина.

Expand image Примечание

Применяется к: объекту Form | системной переменной _SCREEN

Метод TextWidth определяет количество горизонтального пространства, необходимого для отображения cText.

Если вы желаете получить длину символьного выражения с учетом средней ширины символа для конкретного шрифта, используйте функцию TXTWIDTH().

Expand image Смотрите также

Справочное руководство

Свойство FontSize
Свойство ScaleMode
Метод TextHeight

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


ToCursor Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ToCursor
Смотрите также
CollapseAll image

Создает курсор, определяемый XMLTable с полями, описанными в коллекции XMLTable Fields и загружает его данными из XML документа, на который имеется ссылка в объекте XMLAdapter.

ToCursor поддерживается только для объектов XMLTable, существующих в коллекции Tables объекта XMLAdapter.

XMLTable.ToCursor( [ lAppend [, cAlias [, nCodePage ]]] )

Параметры

lAppend

Определяет - будут ли добавляться данные или записи в существующий курсор, указанный в параметре cAlias. В приведенно ниже таблице перечисленны возможные значения для lAppend и описываются действия, связанные с этим значениями .

lAppend Описание

False (.F.)

(По умолчанию) Не добавляет поля в существующий курсор.

True. (.T.)

Добавляет поля в существующий курсор.
cAlias

Указывает псевдоимя (alias) целевого курсора. В случае, когда псевдоимя не задано, то есть cAlias является пустой строкой (""), значение cAlias определяется по умолчанию значением свойства XMLTableAlias.

nCodePage

Указывает кодовую страницу. По умолчанию значение устанавливается равным нулю (0).

Expand image Примечания

Применяется к: классу XMLTable

Если свойство XMLField Alias не заполнено, метод ToCursor объекта XMLTable сбрасывает объекты XMLField и создает курсор, который не включает в себя никаких полей, указанных этими объектами XMLField.

Значение параметрв nCodePage должно присутствовать в списке поддерживаемых кодовых страниц. Если параметру nCodePage был передан нуль (0) и свойство UseCodePage установлено в False (.F), то используется текущая кодовая страница. Для получения более подробной информации смотрите Кодовые страницы поддерживаемые Visual FoxPro и Свойство UseCodePage.

Когда вы используете метод ToCursor для добавления данных, Visual FoxPro добавляет пустую строку, если имя объекта XMLField не сопоставимо с какой-либо колонкой курсора.

При разметке бинарных полей в символные Character типы данных, Visual FoxPro заполняет все остающееся пустое пространство символами 0x00 (CHR(0) или нулями) после перкодировки.

Если свойство RespectNesting объекта XMLAdapter установлено в True (.T.), узед должен следовать в качестве дочернего узла сразу после узла внешней таблицы. Если таблицы не вложены, узел должен следовать в качестве дочернего узла сразу после узла XMLAdapter'а.

Метод ToCursor не будет выполнен успешно в случае, если свойство XMLAdapter.XMLNameIsXPath установлено в True (.T.) одновременно с установленным в True (.T.) свойством XMLAdapter.IsDiffgram.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта XMLTable
Коллекция Fields (объекта XMLTable)
Свойство XMLName
Свойство RespectNesting
Свойство Alias
Свойство XMLNameIsXPath
Свойство IsDiffGram
Метод ToCursor
Класс XMLField

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ToXML Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ToXML
Смотри также

Генерирует XML в файл или переменную памяти.

XMLAdapter.ToXML( cXMLDocument [, cSchemaLocation [, lFile [, lIncludeBefore [, lChangesOnly ]]]] )

Параметры

cXMLDocument

Указывает имя файла или переменной памяти для XML документа.
cSchemaLocation

Указывает местоположение ссылки на внешнюю схему. По умолчанию значение cSchemaLocation представляет собой пустую строку (""). Если cSchemaLocation ничего не содержит и генерируется внешняя схема, то в качестве ссылки на внешнюю схему используется значение свойства XMLAdapterXMLSchemaLocation.
lFile

Указывает, будет ли cXMLDocument представлять собой файл. Значением по умолчанию для lFile является False (.F.).
lIncludeBefore

Указывает - будет ли включена секция diffgr:before section в состав DiffGram. Секция diffgr:before содержит оригинальную версию строки. Значением по умолчанию для lIncludeBefore является False (.F.). Если для lIncludeBefore передано True (.T.), Visual FoxPro фильтрует удаленные записи, не берет во внимание текущую установку фильтра, такую как SET FILTER TO NOT DELETED( ) и SET DELETED ON или OFF. Все удаленные записи в табличном буфере вставляются в секцию diffgr:before, но не имеют строк соответствия в блоке DataInstance DiffGram. Хотя вы можете пожелать спрятать удаленные строки, путем использования фильтра, DiffGram покажет, какие строки были удалены, так что источник данных будет корректно обнолвен. Visual FoxPro не учитывает lIncludeBefore если свойство XMLAdapter IsDiffGram установлено в False (.F.).
lChangesOnly

Указывает, должен ли XML содержать только изменения. Visual FoxPro не учитывает lChangesOnly если свойство XMLAdapter IsDiffGram установлено в False (.F.) или параметр lIncludeBefore равен False (.F.).

Примечания

Применяется к: классу XMLAdapter

Если свойство XMLTable Alias пусто, то для такого объекта XMLTable не генерируются XML элементы, однако, таблица включается в схему, если схема генерируется.

Для символьных полей, Visual FoxPro заполняет любое оставшееся пространство пробелами (0x20). Когда ToXML размечает символьные поля к бинарным полям и производит кодировку, ToXML перекодирует хвостовые пробелы, независимо от значения свойства XMLAdapter PreserveWhiteSpace.

На исполнение метода ToXML оказывают влияние перечисленные ниже свойства объекта XMLAdapter:

  • ForceCloseTag

  • FormattedOutput

  • PreserveWhiteSpace

  • RespectCursorCP

  • RespectNesting Property

  • UseCodePage Property

  • UTF8Encoded

  • XMLNameIsXPath Property

  • XMLSchemaLocation

Nested XML Когда свойство XMLAdapter RespectNesting установлено в True (.T.) и указаны связи между таблицами, то метод ToXML генерирует вложенный XML. Вложенность не поддерживается, если параметр IChangesOnly установлен в True (.T.).

XML Encoding Когда свойство XMLAdapter RespectCursorCP установлено в True (.T.), свойтво XMLAdapter UTF8Encoded установлено в False (.F.) и два или более псевдоимен таблиц имеют ссылки в коллекции Tables, то эти таблицы должны использовать одну и ту же кодовую страницу. Если вы кроме всего установили значение для свойства UseCodePage, результаты, генерируемые методом ToXML различаются между собой. Смотри описание свойства UseCodePage для таблиц, которые будут представлены в результате исполнения метода.

Numeric Overflow Conditions Объект XMLAdapter не загружает XML содержащий условия переполнения численных типов Visual FoxPro, например, *****.**, вместо значений Numeric или Integer. Разборщик Microsoft XML Core Services (MSXML) вызовет ошибке похожую на приведенную ниже:

Copy Code
Error 2110 (XML Error): XML Error: XML Parse error: The value of '***' is invalid according to its data type.
The element: 'myfield' has an invalid value according to its data type.
Line 7, Position 17.
 <myfield>***</myfield>

Если для объектов XMLAdapter или XMLTable свойство XMLNameIsXpath установлено в True (.T.), а свойство XMLName не является пустым, метод ToXML обречен на провал. ToXML игноирует объекты XMLField, которые используют выражения XPath.

Смотри также

Прочие ресурсы

Метода
Свойства, методы и события объекта XMLAdapter
Свойство IsDiffGram
Свойство Alias
Класс XMLTable
Коллекция Tables (XMLAdapter)

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


UndoCheckOut Method

Visual FoxPro 9.0 Справочное руководство по языку
UndoCheckOut Method
Смотрите также
CollapseAll image

Сбрасывает любые изменения, сделанные в файле и помечает файл для возврата под контроль исходного кода.

Object.UndoCheckOut( )

Expand image Примечания

Применяется к объекту: File

Если изменения в файле успешно отменены и файл помечен для возврата под контроль исходного кода, то возвращается True (.T.), в противном случае возвращается False (.F.).

Expand image Смотрите также

Справочное руководство

AddToSCC Method
Метод CheckIn
Метод CheckOut
Метод GetLatestVersion
Метод RemoveFromSCC

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Unnest Method

Unnest, метод
См. также
CollapseAll image

Удаляет иерархическую Связь вложенного объекта XMLTable, который определен в соответствующей коллекции XMLTables.

XMLTable.Unnest( )

Expand image Комментарии

Применяется для: XMLTable, класс

Если некоторый объект XMLtable является Вложенным при помощи соответствующего Nest, метод, то в этом случае рассматриваемый метод Unnest удаляет (исключает) иерархическую Связь данного объекта XMLtable. Если рассматриваемый объект XMLTable не является в настоящий момент вложенным,то данный метод Unnest не выполняется (игнорируется).

Expand image См. также

Описание

Nest, метод

Другие ссылки

Методы Объектов (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


UpdateStatus Method

Visual FoxPro 9.0
Метод UpdateStatus
Смотрите также
CollapseAll image

Запускает изменение информации в элементах пользовательского интерфейса, поставляемое методом DoStatus.

oReportListener.UpdateStatus()

Параметры

Нет.

Expand image Return Value

None.

Expand image Примечания

Применяется к объекту: ReportListener.

Этот метод предоставляет объекту ReportListener возможность оценить - не изменялись ли условия в отчете каким-либо образом, что подтверждается вызовом метода DoStatus для отображения пользователю новой информации.

Частота, с которой вы будете вызывать этот метод и в какой точке запущенного отчета вы вызовите его зависит от типа обратной связи, предоставляемой вашим ReportListener.

Note Совет

Вы выбираете частоту или расписание, по которому вам будет показываться обратная связь во время исполнения отчета, равно как и сообщение обратной связи, с помощью переписи процедурного кода этого метода. Вы определяете путь которым вы отобразите сообщение обратной связи путем переписи метода DoStatus.

Поставляемый ReportListener показывает прогресс исполенения отчета путем вызова UpdateStatus каждый раз, когда формируется отображение новой страницы. Класс ReportListener User Feedback, однако, оценивает текущую запись таблицы, управляющей отчетом и обновляет прогресс-бар каждый раз при изменении записи.

Expand image Смотрите также

Справочное руководство

Объект ReportListener
Фундаментальный класс ReportListener User Feedback
Метод DoStatus

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WhatsThisMode Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод WhatsThisMode
Смотрите также
CollapseAll image

Этображает указатель мыши в виде знака вопроса What's This Help и разрешает режим What's This Help.

[Form.]Object.WhatsThisMode

Expand image Примечания

Применяется к: Form

Вызов метода WhatsThisMode изменяет указатель мыши на стрелку с вопросительным знаком и разрешает режим What's This Help. Щелчок на объекте в этом режиме отображает статью, определяемую свойством объекта WhatsThisHelpID. Нажатие на ESC блокирует режим What's This Help и возвращает указатель мыши в его ориганальное состояние.

Expand image Смотрите также

Справочное руководство

Свойство HelpContextID (Visual FoxPro)
Команда SET HELP
Метод ShowWhatsThis
Свойство WhatsThisButton
Свойство WhatsThisHelp
Свойство WhatsThisHelpID

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


WriteExpression Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод WriteExpression
Смотрите также
CollapseAll image

Записывает выражение в свойство. Доступно как в design time, так и в run time.

Object.WriteExpression[cPropertyName, cExpression]

Параметры

cPropertyName

Определяет имя свойства, в которое будет записано выражение.

cExpression

Определяет символьную строку, которая будет записано в лист свойств в качестве выражения.

Expand image Примечание

Применяется к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

Expand image Смотрите также

Справочное руководство

Метод ReadExpression

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


WriteMethod Method

Visual FoxPro 9.0 Справочное руководство по языку
WriteMethod Method
Смотрите также
CollapseAll image

Записывает указанный текст в указанный метод. Доступен только в design time.

Control.WriteMethod(cMethodName, cMethodText [,lCreateMethod [, nVisibility [, cDescription]]])

Параметры

cMethodName

Указывает имя метода, в который должен быть записан указанный текст.

cMethodText

Указывает текст, который должен быть записан в указанный метод.

lCreateMethod

Определяет, будет ли создан метод, если его еще не существует. Так как такой способ полезен только в design time, вы должны сохранить форму или класс, чтобы внесенные изменения стали действительными.

nVisibility

Определяет область видимости нового метода.

nVisibility Область видимости

1

Public - глобальный

2

Protected - защищенный

3

Hidden - скрытый

cDescription

Определяет описание для нового метода.

Описание метода ограничено по длине 255-ю символами.

Expand image Примечания

Применяется к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Custom | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ReportListener Object | Shape | Spinner | TextBox | Timer | ToolBar

Expand image Смотрите также

Справочное руководство

Метод ReadExpression
Метод ReadMethod
Метод WriteExpression

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ZOrder Method

Visual FoxPro 9.0 Справочное руководство по языку
Метод ZOrder
Смотрите также
CollapseAll image

Помещает указанную форму или элемент управления на передний или задний планы z-order внутри графических слоев. Помещает элемент управления, содержащийся в объекте ToolBar на передний или задний план массива элементo управления, который определяет порядок, в котором элементы управления появляются в панели инструментов.

[Object.]ZOrder([nOrder])

Expand image Возвращаемое значение

nOrder

Указывает целое число, определяющее позицию объекта относительно других объектов. Если вы опустите nOrder, то будет устанавливаться значение 0.

Установка Описание

0

(По умолчанию) Объект располагаются на переднем плане z-order.

1

Объект размещается на заднем плане z-order.

Expand image Примечание

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | _SCREEN | Shape | Spinner | TextBox | ToolBar

Имеется два графических слоя, ассоциированных с объектами. Задний слой представляет собой пространство прорисовки, в котором появляются результаты графических методов, а передний слов представляет собой слой объектов. Содержание одного слоя перекрывает содержание слоя, расположенного под ним. Метод ZOrder управляет расположением объектов только внутри слоя, в котором появляются объекты .

Note Замечание

Для объекта Page, метод ZOrder не воздействует на установку свойства PageOrder. ZOrder только определяет Page, которая наверху и активна.

Для получения более подробной информации об использовании элементов управления смотрите соответствующее описание Использование элементов управления (Controls).

Expand image Смотрите также

Справочное руководство

Свойство AlwaysOnBottom
Свойство AlwaysOnTop
Свойство PageOrder

Прочие ресурсы

Методы (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


Events (Visual FoxPro)

Visual FoxPro 9.0 Language Reference
События (Visual FoxPro)
Смотрите Также

Для справочника языка обратной совместимости смотрите Языковые Элементы Обратной Совместимости.

Activate Событие (Visual FoxPro)

AdjustObjectSize Событие

AfterBand Событие

AfterBuild Событие

AfterCloseTables Событие

AfterCursorAttach Событие

AfterCursorClose Событие

AfterCursorDetach Событие

AfterCursorFill Событие

AfterCursorRefresh Событие

AfterCursorUpdate Событие

AfterDelete Событие

AfterInsert Событие

AfterRecordRefresh Событие

AfterUpdate Событие

AfterDock Событие

AfterReport Событие

AfterRowColChange Событие

BeforeBand Событие

BeforeCursorAttach Событие

BeforeCursorClose Событие

BeforeCursorDetach Событие

BeforeCursorFill Событие

BeforeCursorRefresh Событие

BeforeCursorUpdate Событие

BeforeDelete Событие

BeforeInsert Событие

BeforeDock Событие

BeforeOpenTables Событие

BeforeRecordRefresh Событие

BeforeReport Событие

BeforeRowColChange Событие

BeforeUpdate Событие

Click Событие

dbc_Activate Событие

dbc_AfterAddTable Событие

dbc_AfterAppendProc Событие

dbc_AfterCloseTable Событие

dbc_AfterCopyProc Событие

dbc_AfterCreateConnection Событие

dbc_AfterCreateOffline Событие

dbc_AfterCreateTable Событие

dbc_AfterCreateView Событие

dbc_AfterDBGetProp Событие

dbc_AfterDBSetProp Событие

dbc_AfterDeleteConnection Событие

dbc_AfterDropOffline Событие

dbc_AfterDropTable Событие

dbc_AfterModifyConnection Событие

dbc_AfterModifyProc Событие

dbc_AfterModifyTable Событие

dbc_AfterModifyView Событие

dbc_AfterOpenTable Событие

dbc_AfterRemoveTable Событие

dbc_AfterRenameConnection Событие

dbc_AfterRenameTable Событие

dbc_AfterRenameView Событие

dbc_AfterValidateData Событие

dbc_BeforeAddTable Событие

dbc_BeforeAppendProc Событие

dbc_BeforeCloseTable Событие

dbc_BeforeCopyProc Событие

dbc_BeforeCreateConnection Событие

dbc_BeforeCreateOffline Событие

dbc_BeforeCreateTable Событие

dbc_BeforeCreateView Событие

dbc_BeforeDBGetProp Событие

dbc_BeforeDBSetProp Событие

dbc_BeforeDeleteConnection Событие

dbc_BeforeDropOffline Событие

dbc_BeforeDropTable Событие

dbc_BeforeModifyConnection Событие

dbc_BeforeModifyProc Событие

dbc_BeforeModifyTable Событие

dbc_BeforeModifyView Событие

dbc_BeforeOpenTable Событие

dbc_BeforeRemoveTable Событие

dbc_BeforeRenameConnection Событие

dbc_BeforeRenameTable Событие

dbc_BeforeRenameView Событие

dbc_BeforeValidateData Событие

dbc_CloseData Событие

dbc_Deactivate Событие

dbc_ModifyData Событие

dbc_OpenData Событие

dbc_PackData Событие

DblClick Событие

Deactivate Событие

Deleted Событие

Destroy Событие

DoCmd Method

DownClick Событие

DragDrop Событие

DragOver Событие

DropDown Событие

Error Событие (Visual FoxPro)

ErrorMessage Событие

EvaluateContents Событие

GotFocus Событие

Init Событие

InteractiveChange Событие

KeyPress Событие

Load Событие

LoadReport Событие

LostFocus Событие

Message Событие

MiddleClick Событие

MouseDown Событие

MouseEnter Событие

MouseLeave Событие

MouseMove Событие

MouseUp Событие

MouseWheel Событие

Moved Событие

OLECompleteDrag Событие

OLEDragOver Событие

OLEGiveFeedback Событие

OLESetData Событие

OLEStartDrag Событие

OnMoveItem Событие

Paint Событие

ProgrammaticChange Событие

QueryAddFile Событие

QueryModifyFile Событие

QueryNewFile Событие

QueryRemoveFile Событие

QueryRunFile Событие

QueryUnload Событие

RangeHigh Событие

RangeLow Событие

ReadActivate Событие

ReadDeactivate Событие

ReadShow Событие

ReadValid Событие

ReadWhen Событие

Resize Событие

RightClick Событие

SCCInit Событие

SCCDestroy Событие

Scrolled Событие

Timer Событие

UIEnable Событие

UnDock Событие

Unload Событие

UnloadReport Событие

UpClick Событие

Valid Событие

When Событие

Смотрите Также

Другие Ресурсы

Справочник Языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Activate Event (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Событие Activate (Visual FoxPro)
См. также

Происходит, когда объекты Form, FormSet, Project, или Page активируются, или когда появляется объект Toolbar.

PROCEDURE Object.Activate

Комментарии

Применяется в: Системная переменная_SCREEN | Объект Form | Объект FormSet | Объект ProjectHook | Объект Page | Объект ToolBar

Поведение данного события зависит от конкретного объекта:

  • Для объекта Form : когда пользователь активирует окно, или когда активирует элемент окна, или когда выполняет метод Show для Form.

  • Для объекта FormSet : когда активируется одна из форма объекта или когда вызывается метод Show для этого объекта.

  • Для объекта ProjectHook : когда пользователь активирует окно Project, или выполняется команда ACTIVATE WINDOW project.

  • Для объекта Page : когда пользователь нажимает соответствующую закладку, или активирует элемент управления, расположенный на данной странице, или изменяет программным путем значение свойства ActivePage.

  • Для объекта ToolBar : выполняется метод Show для данного объекта ToolBar.

Если выполняется метод Show для объекта FormSet, то все формы активируются, свойство Visible устанавлиывается = True (.T.). Событие Activate срабатывает сначала для объекта FormSet, за тем для объекта Form, а за тем для объекта Page.

См. также

Другие ссылки

Свойство ActivePage
Событие Deactivate
Событие GotFocus
Событие LostFocus
Метод SetFocus
Метод Show
Свойство Visible
События
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


AdjustObjectSize Event

AdjustObjectSize, событие
См. также Пример
CollapseAll image

Происходит перед тем, когда объект ReportListener начинает обрабатывать Объекты Отчета, такие как Shape или Picture.

PROCEDURE Object.AdjustObjectSize
LPARAMETERS nFRXRecno, oObjProperties

Параметры

Система Visual FoxPro направляет в программный код события AdjustObjectSize параметры, в следующем порядке:

nFRXRecno

Целое, тип объекта; определяет номер записи в файле Отчета или Этикетки (frx / lbx), который нужно обрабатывать в текущий момент.

oObjProperties

Ссылка на объект типа Empty class, члены которого описывают различные характеристики рассматриваемого Shape или Picture:

Член Объекта
oObjProperties 		Тип Данных Использование

reload

Логический, def = .F.

Определяет, может ли объект ReportListener вносить изменения.

Задание значения = True (.T.) определяет, что ReportListener может менять height / width.

height

Целый, в диапазоне

0 - 64000

Высота элемента, в единицах 960 / дюйм.

Если изменить это значение и reload = .T., то ReportListener обрабатывает эти значения.

width

Целый, в диапазоне

0 - 64000

Ширина элемента, в единицах 960 / дюйм.

Если изменить это значение и reload = .T., то ReportListener обрабатывает эти значения.

top,left

Целый,

только_чтение

Координаты верхнего-левого угла объекта Shape / Picture. Обеспечивает информацией для проведения дальнейших вычислений размеров объекта.

reattempt

Логический,

только_чтение

Определяет, может ли объект размещаться на следующей странице, когда он не входит на текущую страницу.

maxheightavailable

Целый,

только_чтение

Содержит информацию о доступном пространстве, с учентом дальнейшего вывода всех последующих элементов, на данной странице.
Note Обратите Внимание

Компания Microsoft оставляет за собой право добавлять необходимые члены в указанный объект oObjProperties, который передается в программный код события AdjustObjectSize, при обработке других Элементов Отчета. Первый параметр nFRXRecno может использоваться для тестирования передаваемых элементов, членов, например в методе Render .

Expand image Комментарии

Применяется в: ReportListener, объект.

VisualFoxPro не вызывает событие AdjustObjectSize для каждого соответствующего объекта типа Shape / Picture, если отсутствует соответствующий программный код события при работе объекта ReportListener. Данное событие AdjustObjectSize также не выполняется в случае, когда отсутствует необходимость Растяжения графического объекта (полоса отчета фиксирована, по-высоте). Дополнительно См. раздел Диалоговый бокс Report Band Properties.

Note Обратите Внимание

В целях повышения производительности, система Visual FoxPro не вызывает события AdjustObjectSize / EvaluateContents , если объект ReportListener не находит программного кода в этих событиях. Если вы используете стандартное размещение графических объектов, или программный код отсутствует в обоих событиях, или противоречит друг другу. Выполняется только программный код события объекта, находящегося на самом "функциональном" уровне. Производительность выполнения события AdjustObjectSize складывается из производительности данного события для каждого графического элемента Shape / Picture в Отчете; производительность выполнения события EvaluateContents может варьироваться. Дополнительно См. раздел EvaluateContents, Событие.

Объект ReportListeners оценивает возможность размещения объекта Shapes, при дальнейшем размещении пользовательского графического объекта, который может быть в дальнейшем заменить заготовку Shapes.

Событие AdjustObjectSize не поддерживается для объектов Shapes / Pictures, которые располагаются между полосой Заголовка отчета, или между последней нижней полосой и поддоном Отчета; и для объектов с изменяемой криввизной.

Хотя объект oObjProperties имеет несколько характеристик, только одно используется активно объектом ReportListener, это - oObjProperties.height. Изменение свойства oObjProperties.heightпроисходит только в том случае, когда требуется большая высота, чем есть фактически. Изменение высоты конкретного объекта может привести к изменению высотных характеристик других, соседних объектов, или высоты конкретной Полосы Отчета

Поскольку объекты Shapes / Pictures не поддерживаются для вращаемых Полос, поэтому вы не можете изменить высоту Элементов, которые размещаются на нескольких страницах отчета. Если Картинка не помещается на текущей странице Отчета, объект ReportListener пытается изменить высоту так, чтобы разместить его на следующей странице. В некоторых случаях, когда не все полосы Отчета вмещаются на текущей странице, часть их может быть перемещена на следующую страницу Отчета. См. дополнительно раздел Полосы Отчета .

Член объекта oObjProperties.maxheightavailable определяет максимально возможную высоту размещения Объекта на текущей странице Отчета, и может быть использован для тестирования возможности размещения объекта..

Когда вы задаете значение Высоты, большее чем oObjProperties.maxheightavailable, и при этом oObjProperties.reload = True (.T.), то объект ReportListener не вызывает на выполнение событие Render для данного элемента Отчета в текущей Странице. Взамен этого, событие AdjustObjectPage вызывается для данного объекта на следующей страницы.

На следующей странице Отчета свойство oObjProperties.height устанавливается в прежнее значение, oObjProperties.reattempt устанавливается как = True (.T.), а свойство oObjProperties.maxheightavailable принимает новое значение, зависящее от наступивших обстоятельств и значения свойства oObjProperties.top следующей страницы. С этого момента, вы можете пересчитывать высоту графического элемента отчета для вывода на данной странице.

Caution note Обратите Внимание

Если устанавливается большая высота объекта для некоторой страницы отчета, то данный графический объект не выводится. Никакой ошибки не происходит, вывод отчета продолжается, с учетом попыток вывода данного объекта на последующих страницах. Нужно использовать значение члена oObjProperties.reattempt для контроля переполнения текущей страницы отчета и перегрузки следующей страницы.

Изменение значения члена oObjProperties.widthне приводят ни к каким реакциям управляющего объекта ReportListener, однако данные значенияч будут переданы в ваш производный класс, для обработки в коде события Render, если oObjProperties.reload = True (.T.).

Оба значения членов (oObjProperties.height / oObjProperties.width) могут изменяться в диапазонах 0 - 64000. Если вычисляемое значение выходит за рамки диапазона 0 - 64000 - ошибки не происходит.

Значения членов (oObjProperties.top / oObjProperties.left) - не изменяются (Read_Only). Однако, Эти значения передаются во все производные классы, и в каком-то случае могут быть использованы, при обработке графических объектов управляющим механизмом ReportListener.

Expand image Пример

В рассматриваемом примере, регулируется высота Контрола Отчета (например, картинки), высота которой может меняться для каждой записи управляющей Таблицы отчета. В одном столбце таблицы хранится имя соответствующего файла картинки, в другом столбце - высота картинки, в дюймах. В различных записях таблицы могут храниться картинки с различными высотами, или картинок может не быть совсем. В данном отчете для картинки отводится всего несколько пикселей, в высоту. Элементы отчета, расположенные ниже данного объекта, имеют отметку FLOAT, относительно данной области Отчета.

В программном коде события BeforeReport, объект ReportListener определяет для каждой записи файла FRX - размер выводимой Картинки, который будет использоваться в дальнейшем. Когда происходит событие AdjustObjectSize, объект ReportListener проверяет соответствие высоты представленного места с высотой картинки для текущей записи nFRXRecno, в случае необходимости происходит корректировка данного значения высоты.

Note Совет

Обратите вномание, что в программном коде события AdjustObjectSize определяется высота таблицы, как 960. Размер Таблицы измеряется в дюймах, и объект ReportListener переопределяет размеры объекта в Отчете, как 960 точек/дюйм (DPI).

CopyCode image Копировать Код
DEFINE CLASS rl AS ReportListener
   FrxPic = 0

  PROCEDURE BeforeReport()
     SET DATASESSION TO (THIS.FRXDataSession)
     SELECT FRX
     LOCATE FOR ObjType = 17 && Картинка
     IF EOF()
        THIS.FrxPic = 0
     ELSE
        THIS.FrxPic = RECNO()
     ENDIF
   ENDPROC

   PROCEDURE AdjustObjectSize(nFrxRecno,oProps)
       IF nFrxRecno = THIS.FrxPic
          SET DATASESSION TO (THIS.CurrentDataSession)
          IF (NOT EMPTY(MyTable.picFile))
             * преобразование в единицы DPI:
             oProps.Height = MyTable.picInches * 960
             oProps.Reload = .T.
          ENDIF
       ENDIF
   ENDPROC

ENDDEFINE

Expand image См. также

Задачи

Как: Добавить объекты Shapes в Отчет
Как: Добавить Картинки в Отчет
Как: Задать Разтяжение Контролов в Отчете

Описание

ReportListener, объект
Диалоговый бокс Round Rectangle
Диалоговый бокс Rectangle/Line

Другие ссылки

События (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


AfterBand Event

AfterBand, событие
См. также
CollapseAll image

Происходит непосредственно после завершения построения Полосы Отчета внутренним механизмом Report System.

PROCEDURE Object.AfterBand
LPARAMETERS nBandObjCode, nFRXRecNo

Параметры

Visual FoxPro (внутренний механизм создания Отчета) передает в событие AfterBand список параметров в следующем порядке:

nBandObjCode

Целое число, которое характеризует тип Полосы Отчета, хранящееся в поле с именем ObjCode из соответствующего файла Отчета или Этикетки (.frx или .lbx).

Данный параметр nBandObjCode может принимать следующие Значения, которые описываются в файле: 60FRX.DBF, расположенном в подкаталоге FILESPEC:

0

Title (Заголовок Отчета, полоса общего Заголовка Отчета)

1

Page Header (Верхний колонтитул Листа Отчета)

2

Column Header (Верхний колонтитул Столбца)

3

Group Header (Верхний колонтитул Группы Данных)

4

Detail (Детальная Полоса Отчета)

5

Group Footer (Нижний колонтитул Группы)

6

Column Footer (Нижний колонтитул Столбца)

7

Page Footer (Нижний колонтитул Листа Отчета)

8

Summary (Нижний колонтитул Итогов, полоса Итогов)

9

Detail Header (Детальная полоса Заголовка)

10

Detail Footer (Детальная полоса нижнего колонтитула)

Дополнительную информацию об указанной документации 60FRX, смотрите в разделе: Таблица Структуры для Табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

nFRXRecno

Целое число, определяющее номер записи в соответствующем табличном файле Отчета или Этикетки (.frx или .lbx), в которой размещается описание текущего Элемента Отчета.

Expand image Комментарии

Применяется В: ReportListener, объект.

Для каждой Полосы Отчета, управляющий Объект ReportListener вызывает событие BeforeBand перед тем как внутренний механизм Отчета (Report Engine) выполняет программный Код в OnEntry. Аналогично вызывается событие AfterBand после выполнения программного Кода в OnExit.

Note Обратите Внимание

До выполнения программного Кода в OnExit и вызова события AfterBand для Элементов Отчета (полос) Detail или Detail Footer, внутренний механизм Отчета (Report Engine) перемещает указатель Записи Вперед (в интервале записей Таблицы Отчета). Дополнительную информацию о порядке вызова и обработки Событий при создании Отчета смотрите в разделе: Основные понятия Объектно - Ассистированных Отчетов Visual FoxPro.

Expand image См. также

Задачи

Как: Определить Выражение для вычисления при Создании Полосы Отчета

Описание

ReportListener, объект
BeforeBand, событие

Другие ссылки

События (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


AfterBuild Event

Visual FoxPro 9.0 Описание Языка
Событие AfterBuild
См.также

Происходит когда в проекте завершается процесс создания или файла приложения (.app), или динамической библиотеки (.dll), или выполнимого файла (.exe).

PROCEDURE Object.AfterBuild
LPARAMETERS nError

Параметры

NОшибка

Система Visual FoxPro возвращает номер ошибки после создания в проекте файла .app, .dll, или .exe. Если nОшибка = 0, это указывает на отсутствие ошибок при создании приложения .app, .dll, или .exe.

Комментарии

Применяется: Объект ProjectHook

См. также

Другие Ссылки

Событие BeforeBuild
Метод Build
Команда BUILD PROJECT
События
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


AfterCloseTables Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterCloseTables
Смотрите также
CollapseAll image

Происходит после того, как таблицы или представления, указанные в окружении данных формы, набора форм или отчета высвобождатся.

PROCEDURE DataEnvironment.AfterCloseTables

Expand image Примечания

Применяется к: объекту DataEnvironment

Для формы или набора форм событие AfterCloseTables происходит после наступления события Unload и после того, как закрываюся любые таблицы или представления, которые были открыты ранее в окружении данных.

Для отчета событие AfterCloseTables происходит после того, как закрываюся любые таблицы или представления, которые были открыты ранее в окружении данных.

Событие AfterCloseTables происходит каждый раз, когда вызывается метод CloseTables. Событие Destroy окружения данных и связанных с ним обюъектов наступает после события AfterCloseTables.

Expand image Смотрите также

Справочное руководство

Метод CloseTables
Событие Destroy
Событие Unload

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AfterCursorAttach Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterCursorAttach
Смотрите также
CollapseAll image

Наступает незамедлительно после попыток объекта CursorAdapter присоединить курсор. Вы сожете использовать это событие для выполнения задач, таких как настройка курсоров и курсор-адаптеров для соответствия каким-то требованиям и исполнения проверок.

PROCEDURE Object.AfterCursorAttach
LPARAMETERS cAlias, lResult

Параметры

cAlias

Указывает присоединенного курсора или таблицы.

lResult

Возвращает True (.T.), если курсор или таблица успешно приоединены, в противном случае (.F.).

Expand image Примечания

Применяется к: классу CursorAdapter

В Visual FoxPro 9.0, целевая запись поддерживается текущей в ADODB.Recordset в течение события AfterCursorAttach.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие BeforeCursorAttach
Метод CursorAttach

Прочие ресурсы

Методы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AfterCursorClose Event

Visual FoxPro 9.0 Описание Языка
Событие AfterCursorClose
См. также
CollapseAll image

Происходит сразу после закрытия курсора. Вы можете использовать данное события для восстановления начального значения свойства CursorAdapter, и так далее.

PROCEDURE Object.AfterCursorClose
LPARAMETERS cAlias, lResult

Параметры

cAlias

Определяет (содержит) алиас закрываемого курсора или таблицы.

lResult

Определяет (содержит) значение = True (.T.), если курсор или таблица успешно закрыты, в противном случае, = False (.F.), если курсор не закрывается, например, он содержит несохраненные изменения (для удаленного представления).

Expand image Комментарии

Применяется в: Класс CursorAdapter

Вы должны очистить или восстановить значение свойства Alias, если нужно использовать начальное значение. Когда закрывается Расширенный курсор система Visual FoxPro отсоединяет соответствующий объект CursorAdapter от данного курсора (или таблицы), но не очищает значение соответствующего свойства Alias.

Expand image См. также

Описание

Объект CursorAdapter, свойства, методы, события
Свойство Alias

Другие ссылки

Методы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


AfterCursorDetach Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterCursorDetach
Смотрите также
CollapseAll image

Происходит сразу после того, как объект CursorAdapter отсоединит курсор. Вы можете использовать событие AfterCursorDetach для выполнения задач, таких как сброс свойств курсора-адаптера и выполнения операций на освобожденной таблице.

PROCEDURE Object.AfterCursorAttach
LPARAMETERS cAlias, lResult

Параметры

cAlias

Указывает псевдоимя отсоединяемого курсора или таблицы.

lResult

Устанавливается в True (.T.) если метод CursorAdapter.CursorDetach успешно отсоединил курсор или таблицу и False (.F.), если отсоединение не состоялось.

Expand image Примечания

Применяется к: классу CursorAdapter

В Visual FoxPro 9.0, целевая запись отстается текущей в ADODB.Recordset в течение события AfterCursorDetach.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие BeforeCursorDetach
Метод CursorDetach

Other Resources

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AfterCursorFill Event

Visual FoxPro 9.0 Описание Языка
Событие AfterCursorFill
См. также Пример
CollapseAll image

Происходит непосредственно после создания объекта CursorAdapter для нового курсора.

PROCEDURE Object.AfterCursorFill
LPARAMETERS lUseCursorSchema, lnoDataOnLoad, cSelectCmd, lResult

Параметры

lUseCursorSchema

Содержит значение параметра lUseCursorSchema, определяемого в методе CursorFill.

lnoDataOnLoad

Содержит значение параметра lNoData из CursorFill.

cSelectCmd

Содержит значение параметра SelectCmd, используемого в событии BeforeCursorFill.

lResult

Содержит значение = True (.T.) или False (.F.) , возвращаемое методом CursorFill.

Expand image Комментарии

Применяется в: Класс CursorAdapter

Если любой из первых трех параметров были изменены в событиях BeforeCursorFill, AfterCursorFill, то в дальнейшем используются измененные значения; хотя базовые значения данных параметров не изменяются.

В версии Visual FoxPro 9.0, базовая запись сохраняется в объекте ADODB.Recordset в течение выполнения события AfterCursorFill.

Expand image Пример

Следующий пример иллюстрирует использование события AfterCursorFill для установки порядка индексирования из соответствующего свойства:

CopyCode image Копировать Код
PROCEDURE AfterCursorFill
LPARAMETERS lUseCursorSchema, noDataOnLoad, cSelectCmd, lResult
SELECT (this.Alias)
SET ORDER TO (this.Order)
ENDPROC

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы, События
Метод CursorFill
Свойство SelectCmd
Событие AfterCursorFill
Событие BeforeCursorFill

Другие ссылки

События (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


AfterCursorRefresh Event

Visual FoxPro 9.0 Описание Языка
Событие AfterCursorRefresh
См. также
CollapseAll image

Происходит сразу после обновления данных в объекте CursorAdapter (refresh).

PROCEDURE Object.AfterCursorRefresh
LPARAMETERS cSelectCmd, lResult

Параметры

cSelectCmd

Определяет (содержит) текущее значение свойства SelectCmd, которое было установлено в событии BeforeCursorFill. Например, если параметр cSelectCmd изменен в событии BeforeCursorFill, то используется измененное значение SelectCmd. Тем не менее, значение свойства SelectCmd не изменяется.

lResult

Определяет (содержит) значение = True (.T.) или False (.F.), которое возвращает метод CursorRefresh.

Expand image Комментарии

Применяется в: CursorAdapter Class

В версии Visual FoxPro 9.0, запись источника данных содержится в объекте ADODB.Recordset пока выполняется событие AfterCursorRefresh.

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы и События
Свойство SelectCmd
Событие BeforeCursorFill
Событие BeforeCursorRefresh
Метод CursorRefresh

Другие ссылки

События (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


AfterCursorUpdate Event

Visual FoxPro 9.0 Описание Языка
Событие AfterCursorUpdate
См. также
CollapseAll image

Происходит сразу после всех специфичных событий: AfterUpdate, AfterDelete, или AfterInsert, и непосредственно перед возвратом результирующего значения из функции TABLEUPDATE( ).

PROCEDURE Object.AfterCursorUpdate
LPARAMETERS nRows, lTableUpdateResult, cErrorArray

Параметры

nRows

Содержит значение или установку параметра nRows, заданного в функции TABLEUPDATE( ).

lTableUpdateResult

Содержит возвращаемое значение функцией TABLEUPDATE( ).

cErrorArray

Содержит значения элементов массива cErrorArray, используемого в функции TABLEUPDATE( ). Visual FoxPro заполняет указанный массив информацией, которая описывает процесс выполнения функции TABLEUPDATE( ); элементы массива заполняются только в определенных условиях; подробно см. описание функции TABLEUPDATE( ).

Expand image Комментарии

Применяется в: Класс CursorAdapter

AfterCursorUpdate происходит сразу после завершения процесса изменения данных. Если изменяются несколько записей, то для каждой из них происходят соответствующие события в зависимости от специфики операции изменения: AfterUpdate, AfterInsert, и AfterDelete .

Вы можете использовать функцию AERROR( ) для уточнения сообщений об ошибках для различных типов источников данных (ODBC, ADO, XML).

В Visual FoxPro 9.0, результирующая запись содержится в объекте ADODB.Recordset во время выполнения события AfterCursorUpdate.

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы и События
Событие BeforeCursorUpdate
Событие AfterDelete
Событие AfterInsert
Функция TABLEUPDATE( )
Функция AERROR( )

Другие ссылки

События (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


AfterDelete Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterDelete
Смотрите также
CollapseAll image

Происходит незамедлительно после выполнения операции удаления для записи.

Замечание Замечание

Если используется пакетное обновление, то есть значение свойства BatchUpdateCount объекта CursorAdapter больше, чем 1, событие AfterDelete не происходит.

PROCEDURE Object.AfterDelete
LPARAMETERS cFldState, lForce, cDeleteCmd, lResult

Параметры

cFldState

Указывает состояние поля обрабатываемой строки. Это то же самое значение, которое можно получить вызовом приведенной ниже функции:

CopyCode image Скопировать код
GETFLDSTATE(-1)

Например, это значение может быть символьной строкой, состоящей из значений статусов удаления и редактирования, для всех полей в таблице или курсоре.

Если в таблице имеется пять полей, а редактировалось только первое поле, функция GETFLDSTATE( ) возратит значение 121111. Число 1 в первой позиции указзывает, что статус удаления не изменялся.

lForce

Указывает значение параметра lForce из функции TABLEUPDATE().

cDeleteCmd

Указывает значение параметра cDeleteCmd из события BeforeDelete.

lResult

Указывает значение, возвращаемое для этой записи функцией TABLEUPDATE(). Если lResult равен True (.T.), поле статусов очищается для этой записи. Если lResult равеен False (.F.), статусы поля для этой записи не очищаются. Вы можете изменить значение lResult для переписи результата при возврате.

Expand image Примечания

Применяется к классу: CursorAdapter

Вы можете вызвать функцию AERROR( ) для извелечения ошибок из возвращаемого потока данных источника данных.

В Visual FoxPro 9.0, в течение события AfterDelete в ADODB.Recordset целевая запись поддерживается текущей.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция GETFLDSTATE()
Функция TABLEUPDATE()
Событие BeforeDelete
Функция AERROR()

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


AfterDock Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterDock
Смотрите также
CollapseAll image

Происходит после стыковки объекта ToolBar или объекта Form, например, после перетаскивания панели инструментов или формы в область стыковки или вызова метода Dock.

PROCEDURE Object.AfterDock

Expand image Примечания

Применяется к: Form Object | ToolBar Object

Expand image Смотрите также

Задачи

Как: стыковать формы
Как: стыковать панели инструментов

Справочное руководство

Функция ADOCKSTATE( )
Событие BeforeDock
Метод Dock
Свойство Dockable
Свойство Docked
Свойство DockPosition
Метод GetDockState
Событие UnDock

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AfterInsert Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterInsert
Смотрите также
CollapseAll image

Происходит незамедлительно после операции вставки для записи.

Замечание Замечание

Если используется пакетное обновление, то есть свойство BatchUpdateCount объекта CursorAdapter установлено в значение большее, чем 1, то событие AfterInsert не происходит.

PROCEDURE Object.AfterInsert
LPARAMETERS cFldState, lForce, cInsertCmd, lResult

Параметры

cFldState

Определяет состояние поля обрабатываемой строки. Это то же самое значение, которое можно получить с помощью вызова приведенной ниже функции:

CopyCode image Скопировать код
GETFLDSTATE(-1)

Например, это значение может быть символьной строкой, состоящей из значений статусов удаления или редактирования для всех полей в таблице или курсора. Если в таблице имеется пять полей и только первое из них редактировалось, то GETFLDSTATE() вернет значение 121111. Число 1 в первой позиции указывает, что статус удаления не изменялся.

lForce

Указывает значение параметра lForce из функции TABLEUPDATE().

cInsertCmd

Указывает значение параметра cInsertCmd из события BeforeInsert.

lResult

Указывает значение, возвращаемое вызвыанной для этой записи функцией TABLEUPDATE(). Если lResult установлено в True (.T.), статусы полей для этой записи очищаются. Если же lResult установлено в False (.F.), то для этой записи сохраняются статусы полей. Вы можете изменить значение lResult для переписи возвращаемого результата.

Expand image Примечания

Применяется к: CursorAdapter Class

Вы можете вызвать фукнцию AERROR( ) для извлечения ошибок из возвращаемого потока данных источника данных.

В Visual FoxPro 9.0, в течение события AfterInsert целевая запись в ADODB.Recordset поддерживается текущей.

Expand image Смотрите также

Справочное руководство

CursorAdapter Object Properties, Methods, and Events
Функция GETFLDSTATE( )
Функция TABLEUPDATE( )
Событие BeforeInsert
Функция AERROR( )

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AfterRecordRefresh Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие AfterRecordRefresh
Смотрите также
CollapseAll image

Происходит незамедлительно после иполнения метода RecordRefresh.

PROCEDURE Object.AfterRecordRefresh
LPARAMETERS nRecords, nRecordOffset, nRefreshed

Параметры

nRecords

Число записей, подлежащих обновлению, посылаемое методу RecordRefresh.

nRecordOffset

Сдвиг записи, посылаемое методу RecordRefresh.

nRefreshed

Возвращаемое методом RecordRefresh значение.

Expand image Примечание

Применяется к классу : CursorAdapter

Смотрите описание метода RecordRefresh для получения дополнительной информации о параметрах nRecords и nRecordOffset и возвращаемом методом RecordRefresh значении, направляемое параметру nRefreshed.

Note Замечание

Это событие происходит только после завершения метода RecordRefresh, но не каждый раз, когда происходит попытка обновления записи.

Вы можете включить в процедурный код этого события функцию AERROR(), для определения причины ошибки (если такое случится), сгенерированной методом RecordRefresh.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие BeforeRecordRefresh

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AfterReport Event

Visual FoxPro 9.0
AfterReport событие
Смотрите также

Происходит непосредственно после того, как движок отчета заканчивает обрабатывать отчет.

PROCEDURE Object.AfterReport

Параметры

None.

Замечания

Применяется к: ReportListener Object.

При завершении отчета, после заключительного события AfterBand, движок отчета запускает событие AfterReport. В это время собственый сеанс данных (datasession), указанный свойством FRXDataSession все еще содержит копию только для чтения файла определения отчета (frx). Задание по выводу на печать (если отчет печатается), является все еще открытым.

Когда завершается AfterReport, вывод заканчивается (например, закрывается задание по выводу на печать), если не было ключевого слова NOPAGEEJECT в команде REPORT FORM.

Примечание:
Для получения дополнительной информации порядке возникновения событий в отчете см. Understanding Visual FoxPro Object-Assisted Reporting.

Смотрите также

Ссылки

ReportListener Object
BeforeReport Event
REPORT FORM Command
LABEL Command

Прочие ресурсы

Events (Visual FoxPro)
Language Reference (Visual FoxPro)

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


AfterRowColChange Event

Visual FoxPro 9.0 Справочное руководство по языку
Cобытие AfterRowColChange
Смотрите также
CollapseAll image

PROCEDURE Grid.AfterRowColChange
LPARAMETERS nColIndex

Параметры

nColIndex

Возвращает индекс только что выбранной строки или столбца.

Expand image Примечания

Применимо к: Grid Control

Событие AfterRowColChange инициируется интерактивным способом с помощью мыши или клавиатуры или программным способом, например при вызове метода ActivateCell.

Если свойство SplitBar имеет значение .T., используете событие AfterRowColChange для синхронизации двух частей элемента управления grid, добавляя This.Refresh.

You can query the RowColChange property in this event to determine the type of change that triggered the event.

Expand image Смотрите Также

Справочное руководство

Метод ActivateCell
Событие BeforeRowColChange
Свойство RowColChange
Событие When
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AfterUpdate Event

Visual FoxPro 9.0 Описание Языка
AfterUpdate, событие
См. также
CollapseAll image

Происходит непосредственно после выполнения Операции Обновления Данных для текущей Записи Таблицы.

Note Обратите Внимание

Если используется Пакетное Обновление данных, то есть, установлено значение свойства CursorAdapter.BatchUpdateCount > 1, то рассматриваемое собые AfterUpdate - Не происходит.

PROCEDURE Object.AfterUpdate
LPARAMETERS cFldState, lForce, nUpdateType, UpdateInsertCmd, DeleteCmd, lResult

Параметры

cFldState

Передает в Код События строку Флагов Состояний Полей Текущей Записи Данных. Данная Строка Флагов является тем же самым, что возвращается функцией:

CopyCode image Копировать Код
GETFLDSTATE(-1)

Например, рассматриваемая строка флагов состоит из символа удаления Записи + характеристики Изменения Полей указанной Записи Таблицы или некоторого Курсора. Если Таблица имеет 6 (шесть) полей, и только значение первого поля было изменено, функция GETFLDSTATE( ) возвращает значение = "121111". Значение =1 в первой позиции данной строки показывает, что Флаг Удаления Записи - не изменился.

lForce

Определяет значение соответствующего параметра lForce, передаваемого в функцию TABLEUPDATE( ) (смотрите соответствующее Описание).

nUpdateType

Определяет значение соответствующего параметра nUpdateType для события: BeforeUpdate.

UpdateInsertCmd

Определяет значение соответствующего параметра UpdateInsertCmd для События: BeforeUpdate.

DeleteCmd

Определяет значение соответствующего параметра DeleteCmd для события: BeforeUpdate.

lResult

Определяет значение, возвращаемое при выполнении функции TABLEUPDATE( ) для данной Записи Таблицы.

Возможные Значения данного параметра lResult - представлены ниже.

lResult Краткое Описание

True (.T.)

Очищает Флаги состояния Полей текущей Записи.

False (.F.)

Очистка Флагов Состояния Полей текущей записи - Не выполняется.

Вы можете изменить значение параметра lResult - чтобы отменить возвращаемый Результат (сохранения Данных).

Expand image Комментарии

Применяется В: CursorAdapter, класс

Вы можете вызвать системную функцию: AERROR( )после выполнения операций Чтения / Записи данных с использованием рассматриваемого Класса, что позволяет получить расширенную информацию об возникающих Ошибках.

В версии Visual FoxPro 9.0, Запись Источника Данных для ADODB.Recordset остается текущей в период обработки данного События AfterUpdate.

Expand image См. также

Описание

CursorAdapter, объект: Свойства, Методы, События
GETFLDSTATE( ), функция
TABLEUPDATE( ), функция
BeforeUpdate, событие
AERROR( ), функция

Другие ссылки

События Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


BeforeBand Event

Событие BeforeBand
Смотрите Также
CollapseAll image

Происходит непосредственно перед тем, как Ситема Отчетов начинает обрабатывать область отчета.

PROCEDURE Object.BeforeBand
LPARAMETERS nBandObjCode, nFRXRecNo

Параметры

Visual FoxPro передает событию BeforeBand параметры в следующем порядке:

nBandObjCode

Целое число, определяющее тип области, как это записано в поле ObjCode файла описания отчета или этикетки (frx или lbx).

Распозноваемые числовые значения для nBandObjCode задокументированы в таблице 60FRX.DBF, находящейся в папке FILESPEC, как преведено ниже:

0

Title

1

Page Header

2

Column Header

3

Group Header

4

Detail

5

Group Footer

6

Column Footer

7

Page Footer

8

Summary

9

Detail Header

10

Detail Footer

Для дальнейшей информации о 60FRX, смотрите Структура Файлов Таблиц (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

nFRXRecno

Целое число, определяющее номер записи в файле описания отчета или этикетки (frx или lbx), которая описывает элемент раскладки, формируемый в текущий момент.

Expand image Примечания

Применяется к: Объекту ReportListener.

Для каждой области в отчете, ReportListener инициирует событие BeforeBand до того, как механизм отчетов запустит какой-либо код в выражении OnEntry. Приемник отчетов инициирует событие AfterBand после выполнения OnExit кода.

Note Замечание

Для дальнейшей информации о порядке следования событий в выполнении отчета, смотрите Понимание Visual FoxPro Объектно-Управляемый Механизм Отчетов.

Expand image Смотрите Также

Задачи

Как: Задать Выражение для Оценки Условия Обработки Областей

Ссылки

Объект ReportListener
Событие AfterBand

Другие Ресурсы

События (Visual FoxPro)
Справочник Языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BeforeBuild Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeBuild
Смотрите также
CollapseAll image

Происходит перед пересборкой проекта или файла приложения (.app), или dynamic link library (.dll), или исполняемого файла (.exe), создаваемыхis из проекта.

PROCEDURE Object.BeforeBuild
LPARAMETERS cOutputName, nBuildAction, lRebuildAll, lShowErrors, lBuildNewGuids

Параметры

cOutputName

Указывает имя создаваемого приложения, dynamic link library или исполнимого файла.

Если cOutputName включает в себя расширение файла, а nBuildAction опущено, то расширение имени файла определяет тип файла сборки. Например, Если расширение в cOutputName представляет собой ".exe", то будет созан исполнимый файл.

nBuildAction

Определяет, что будет производится - перестроки проекта или генерация приложения, dynamic link library или исполнимого файла.

В приведенной ниже таблице перечислены значения для nBuildAction с описанием каждого из них.

nBuildAction Константа FoxPro.h Описание

1

BUILDACTION_REBUILD

Перестраивается проект

2

BUILDACTION_BUILDAPP

Создается файл приложения .app

3

BUILDACTION_BUILDEXE

Создается исполнимый файл.exe

4

BUILDACTION_BUILDDLL

Создается .dll

5

BUILDACTION_BUILDMTDLL

Создается multi-threaded .dll

nBuildAction имеет преимущество над расширением файла, указанным в cOutPutName. Например, будет создаваться исполнимый файл, если nBuildAction равна 3, а в cOutputName не указано расширение ".exe".

lRebuildAll

Определяет - будут ли все файлы перекомпилироваться перед созданием .app, .dll или .exe. Если значение lRebuildAll установлено в True (.T.), то будут перекомпилированные перечисленные ниже элементы проекта:

  • Программные файлы

  • Файлы форматов

  • Исходный код в формах, этикетках, отчетах и в библиотеках визуальных классов

  • Хранимые процедуры в базах данных

Если значение lRebuildAll установлено в False (.F.) или просто опущено, то перед созданием .app, .dll или .exe файлы проекта не перекомпилируются.

lShowErrors

Определяет - будут ли отображаться в окне редактирования ошибки после завершения процесса сборки, которые могли случиться во время процесса сборки. Если lShowErrors установлено в True (.T.), то ошибки будут отображаться. В противном случае ошибки отображаться не будут.

lBuildNewGUIDs

Определяет - будут ли генерироваться новые глобальные уникальные идентификаторы GUIDs для реестра при создании исполнимых файлов или dynamic link library. Если lBuildNewGUIDs равно True (.T.), то новые GUID будут сгенерированы. Если lBuildNewGUIDs равно False (.F.) или опущено, но новые GUID генерироваться не будут. lBuildNewGUIDs игнорирутеся, если значение nBuildAction меньше 3.

Expand image Примечания

Применяется к объекту: ProjectHook Object

Параметры, перечисленные выше посылаются событию the BeforeBuild, когда вы исполняете метод Build, если вы выдали команды BUILD APP, BUILD DLL, BUILD EXE или BUILD PROJECT или когда вы щелкнули по OK в диалоговом окне Build Options (Параметры сборки). Параметры посылаются по ссылке, за исключением параметра nBuildAction, который посылается по значению. Вы можете изменить значения этих параметров внутри события BeforeBuild для изменения поведения при перестройек проекта и создания .app, .dll или .exe, создаваемых из проекта.

Включение NODEFAULT в событие BeforeBuild предотвращает перестройку проекта или создание из проекта файлов приложения (.app), dynamic link library (.dll) или исполнямых (.exe).

Expand image Смотрите также

Справочное руководство

Событие AfterBuild
Метод Build
Команда BUILD PROJECT
Команда NODEFAULT Command

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeCursorAttach Event

Visual FoxPro 9.0 Справочное руководство
BeforeCursorAttach событие
Смотри также Пример

Наступает сразу перед тем, как объект CursorAdapter пытается прикрепить курсор. Вы можете использовать это событие для прозводства любых необходимых операций перед прикреплением курсора или таблицы, определить псевдоимя (alias) прикрепления и тому подобное.

PROCEDURE Object.BeforeCursorAttach
LPARAMETERS cAlias

Параметры

cAlias

Определяет псевдоимя (alias) прикрепляемого курсора или таблицы.

Примечания

Примеряется к : классу CursorAdapter

Если программый код в методе, ассоциированном с событием BeforeCursorAttach возвращает значение False (.F.), прикрепления курсора не происходит.

Замечание:
Объект CursorAdapter принимает во внимание любые изменения, которые могут быть применены к параметру cAlias во время исполенния программного кода в методе, ассоциированном с событием BeforeCursorAttach.

Пример

Приведенный ниже пример показывает как открыть местное (локальное) представление (local view) в BeforeCursorAttach, так чтобы вы могли прикрепить представление к объекту CursorAdapter:

Скопировать код
PROCEDURE BeforeCursorAttach
OPEN DATABASE HOME(2)+"tastrade\data\tastrade.dbc"
USE 'product listing'
ENDPROC

После этого произведите следующий вызов для прикрепления представления:

Скопировать код
CursorAttach('product listing', .T.)

Смотри также

Прочие ресурсы

События
Свойства, методы и события объекта CursorAdapter
Событие AfterCursorAttach
Метод CursorAttach

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


BeforeCursorClose Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeCursorClose
Смотрите также
CollapseAll image

Наступает непосредственно перед закрытием курсора. Вы можете использовать это событие для производства любых операци, необходимых перед закрытием курсора, таблицы и тому подобного.

PROCEDURE Object.BeforeCursorClose
LPARAMETERS cAlias

Параметры

cAlias

Указывает имя закрывамого курсора или таблицы.

Expand image Примечания

Применяется к: классу CursorAdapter

Если код в BeforeCursorClose вернет False (.F.), курсор не будет закрыт и Visual FoxPro сгенерирует сообщение об ошибке.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие AfterCursorClose

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeCursorDetach Event

Visual FoxPro 9.0 Справочное руководство по языку
Событик BeforeCursorDetach
Смотрите также
CollapseAll image

Наступает непосредственно перед тем, ка объект CursorAdapter отсоединяет курсор. Вы можете использовать это соытие для исполнения любых необходимых перед отсоединением курсора или таблицы операци .

PROCEDURE Object.BeforeCursorAttach
LPARAMETERS cAlias

Параметры

cAlias

Указывает псевдоимя отсоединяемого курсора или таблицы.

Expand image Примечания

Применяется к: классу CursorAdapter

Если код в BeforeCursorDetach вернет значение False (.F.), курсор не отсоединяется и любые возвращаемые значения игнорируются.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие AfterCursorDetach
Метод CursorDetach

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeCursorFill Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeCursorFill
Смотрите также
CollapseAll image

Происходит непосредственно перед попыткой объекта CursorAdapter подключить новый курсор.

PROCEDURE Object.BeforeCursorFill
LPARAMETERS lUseCursorSchema, lNoDataOnLoad, cSelectCmd

Параметры

lUseCursorSchema

Указывает значение параметра lUseCursorSchema из метода CursorFill.

lNoDataOnLoad

Указывает значение свойства lNoData в методе CursorFill.

cSelectCmd

Указывает текущее значение свойства SelectCmd. Вы можете в этом событии изменить значение параметра cSelectCmd. Однако, значение в свойстве SelectCmd останется неизменным. Если вы изменяете значение параметра cSelectCmd parameter в этом событии, Visual FoxPro использует изменненное значение cSelectCmd.

Expand image Примечание

Применяется к: Классу CursorAdapter

Visual FoxPro сохраняет измененное значения, которое используется в методе CursorFill. Метод CursorRefresh использует значение параметра SelectCmd, а не значение, определенное в свойстве SelectCmd. Это облегчает конструирование пользовательских запросов "на лету". Например, вы можете хранить базовую команду SELECT – SQL в свойстве SelectCmd и добавлять опцию WHERE к параметру SelectCmd в этом событии, без именения нижележащего значения свойства. Значение параметра SelectCmd посылвается затем событию AfterCursorFill.

Если код, введенный в BeforeCursorFill вернет значение False (.F.), то метод CursorFill не исполняется, в текущий присоединенный курсор остается незакрытым. Однако, в противном случае, если код BeforeCursorFill не вернет false, то текущий присоединенный курсор закрывается и исполняется метод CursorFill.

Изменения, сделанные в этих параметрах имеют преимущество над оригинальными значениями, которые хранятся в соответствующих свойствах или теми, которые посылаются методу CursorFill.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Метод CursorFill
Свойство SelectCmd
Метод CursorRefresh
Свойство SelectCmd
Команда SELECT - SQL
Событие AfterCursorFill

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeCursorRefresh Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeCursorRefresh
Смотрите также
CollapseAll image

Наступает непосредственно перед попыткой освежения (refresh) объекта CursorAdapter.

PROCEDURE Object.BeforeCursorRefresh
LPARAMETERS cSelectCmd

Параметры

cSelectCmd

Указывает текущее значение свойства SelectCmd как оно установлено в событии BeforeCursorFill. Напримре, если параметр cSelectCmd изменен в BeforeCursorFill, тогда используется измененное значение SelectCmd. Однако, значение свойства SelectCmd при этом не изменяется.

Expand image Примечания

Применяется к: классу CursorAdapter

Если код в BeforeCursorRefresh возвращает False (.F.), объект CursorAdapter не обновляется.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Свойство SelectCmd
Событие BeforeCursorFill
Событие AfterCursorRefresh

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeCursorUpdate Event

Visual FoxPro 9.0 Описание Языка
Событие BeforeCursorUpdate
См. также
CollapseAll image

Происходит непосредственно перед выполнением функции TABLEUPDATE( ).

PROCEDURE Object.BeforeCursorUpdate
LPARAMETERS nRows, lForce

Параметры

nRows

Определяет (содержит) значение установленного параметра nRows, заданного в функции TABLEUPDATE( ).

lForce

Определяет (содержит) значение параметра lForce в той же функции TABLEUPDATE( ).

Expand image Комментарии

Применяется в: CursorAdapter Class

BeforeCursorUpdate происходит непосредственно перед началом процесса обновления данных. Если изменяются несколько записей, то происходят соответствующие события для каждой изменяемой записи: BeforeUpdate, BeforeInsert, и BeforeDelete.

Если данное событие BeforeCursorUpdate возвращает значение = False (.F.), то указанные выше события не происходят: (update, insert, или delete).

Expand image См. также

Описание

Объект CursorAdapter, Свойства, Методы и События
Функция TABLEUPDATE( )
Событие BeforeUpdate
Событие BeforeInsert
Событие BeforeDelete
Событие AfterCursorUpdate

Другие ссылки

События (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


BeforeDelete Event

Visual FoxPro 9.0 Описание Языка
BeforeDelete, Событие
См. также
CollapseAll image

Происходит непосредственно перед выполнением операции Удаления (пометки на удаление) текущей Записи Таблицы Данных.

Note Обратите Внимание

Если используется Режим Пакетных Обновлений Данных, то есть, для свойства объекта CursorAdapter.BatchUpdateCount установлено значение > 1, указанное Событие BeforeDelete - не происходит.

PROCEDURE Object.BeforeDelete
LPARAMETERS cFldState, lForce, cDeleteCmd

Параметры

cFldState

Определяет специальную символьную Строку, которая характеризует текущее состояние Полей обрабатываемой Строки Таблицы Данных. Указаную символьную строку вы можете получить при помощи следующего Фрагмента программного Кода:

CopyCode image Копировать Код
GETFLDSTATE(-1)

Например, возвращаемая символьная строка содержит указатели, признаки статуса Удаления Записи, и/или Статуса Изменения конкретных Полей Таблицы (или Курсора). Если Таблица имеет 5 полей и только первое поле - отредактировано, функция GETFLDSTATE( ) возвращает символьную строку = "121111". На первом месте стоит признак = 1, что означает: Статус удаления текущей строки Таблицы - не изменился.

lForce

Определяет специальный параметр lForce, который получен из соответствующей функции TABLEUPDATE( ) (которая непосредственно выполняет обновление измененных данных).

cDeleteCmd

Определяет Значение, содержащееся в свойстве DeleteCmd. Visual FoxPro использует указанное значение параметра cDeleteCmdкак реальную Команду SQL для удаления Записи, которую вы можете переопределить в программном Коде рассматриваемого События. Тем не менее, если вы измените требуемым образом значение рассматриваемого параметра cDeleteCmd, значение указанного выше Свойства DeleteCmd - не изменится.

Expand image Комментарии

Применяется В: CursorAdapter, класс

Если из программного Кода события BeforeDelete возвращается значение = False (.F.), то в этом случае операция Удаления не выполняется.

Expand image См. также

Описание

Объект CursorAdapter; Свойства, Методы, События
GETFLDSTATE( ), функция
TABLEUPDATE( ), функция
DeleteCmd, команда
AfterDelete, Событие

Другие ссылки

События (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


BeforeDock Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeDock
Смотрите также
CollapseAll image

Происходит перед стыковкой объекта ToolBar или объекта Form, например, когда панель инструментов или форма перетаскивается в зону стыковки или вызывается метод Dock.

PROCEDURE Object.BeforeDock
LPARAMETERS nLocation

Параметры

nLocation

Возвращает позицию стыковки для панели инструментов или формы.

В приведенной ниже таблице перечислены значения для nLocation.

nLocation Описание константа FoxPro.h

-1

Форма или панель инструментов будут расстыкованы.

TOOL_NOTDOCKED

0

Форма или панель инструментов будут пристыкованы вверху главного окна Visual FoxPro.

TOOL_TOP

1

Форма или панель инструментов будут пристыкованы к левому краю главного окна Visual FoxPro.

TOOL_LEFT

2

Форма или панель инструментов будут пристыкованы к правому краю главного окна Visual FoxPro.

TOOL_RIGHT

3

Форма или панель инструментов будут пристыкованы снизу главного окна Visual FoxPro..

TOOL_BOTTOM

4

Форма будет состыкована с другой формой закладочной стыковкой.

TOOL_TAB

5

Форма будет состыкована с другой формой линковочной стыковкой.

Замечание Замечание

Для определения дополнительной информармации о объекте, к которому будет стыковаться форма или панель инструментов, а также позиции стыковки, вам необходимо вызвать метод GetDockState после завершения операции стыковки. Для получения более подробной информации, смотрите описание метода GetDockState.

TOOL_LINK

Expand image Примечания

Применяется к: Form Object | ToolBar Object

BeforeDock происходит до момента перерисовки Visual FoxPro формы или панели инструментов, так что вы можете изменить внешний облик формы или панели инструментов. Например, предположим, что вы пожелаете заменить элемент управления ComboBox на форме элементом командной кнопки - CommandButton, которые имеют разные пропорции в размерах. Вы можете вставить код в событие BeforeDock который заменит элемент управления до стыковки формы.

Возврат .F. (False) из кода события или введение в код события команды NODEFAULT не предотвратит стыковку. Для получения более подробной информации, смотрите Команда NODEFAULT.

Expand image Смотрите также

Задачи

Как: стыковать формы
Как: стыковать панели инструментов

Справочное руководство

Функция ADOCKSTATE()
Событие AfterDock
Метод Dock
Свойство Dockable
Свойство Docked
Свойство DockPosition
Метод GetDockState
Событие UnDock

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeInsert Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeInsert
Смотрите также
CollapseAll image

Происходит непосредственно перед исполнением команды вставки записи.

Note Замечание

Если используется пакетное обновление, то есть , свойство BatchUpdateCount объекта CursorAdapter установлено в значение большее единицы (1), то событие BeforeInsert не происходит.

PROCEDURE Object.BeforeInsert
LPARAMETERS cFldState, lForce, cInsertCmd

Параметры

cFldState

Указывает состояние поля обрабатываемой строки. Представляет собой тоже самое значение, что и получаемое вызовом функции:

CopyCode image Скопировать код
GETFLDSTATE(-1)

Например, это значение может быть символьной строкой, состоящей из значений статусов удаления или редактирования для всех полей в таблице или курсоре. Если в таблице имеется пять полей и только первое поле было изменено, то GETFLDSTATE( ) возвратит значение 121111. Число 1 в первой позиции указывает, что статус удаления не был изменен.

lForce

Указывает значение параметра lForce из функции TABLEUPDATE().

cInsertCmd

Указывает значение свойства InsertCmd. Visual FoxPro использует значение свойства cInsertCmd в качестве команды вставки, которую вы можете изменить в этом событии. Однако, если вы изменили значение параметра cInsertCmd, то оригинальное значение свойства InsertCmd не изменяется.

Expand image Примечания

Применяется к классу: CursorAdapter

Если код в событии BeforeInsert возвращает False (.F.), то это означает что операция не произошла.

Expand image Смотрите также

Справочное руководство

Свойства, события и методы объекта CursorAdapter
Функция GETFLDSTATE()
Функция TABLEUPDATE()
Свойство InsertCmd
Событие AfterInsert

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BeforeOpenTables Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeOpenTables
Смотрите также
CollapseAll image

Происходит перед открытием таблиц или представлений связанных со средой данных для набора форм, формы, или отчета.

PROCEDURE DataEnvironment.BeforeOpenTables

Expand image Замечания

Применимо к: DataEnvironment Object

Событие BeforeOpenTables происходит перед событием Load для набора формы или формы.

Expand image Смотрите также

Справочное руководство

Событие AfterCloseTables
Метод CloseTables
Событие Load
Метод OpenTables
Событие Unload

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BeforeRecordRefresh Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeRecordRefresh
Смотрите также
CollapseAll image

Происходит непосредственно перед исполнением метода RecordRefresh.

PROCEDURE Object.BeforeRecordRefresh
LPARAMETERS nRecords, nRecordOffset

Параметры

nRecords

Указывает число следующих друг за другом записей (в физическом порядке) подлежащих обновлению.

Этот параметр посылается методу RecordRefresh.

nRecordOffset

Определяет число записей перед текущей записью, откуда начнется обновление.

Этот параметр посылается методу RecordRefresh.

Expand image Примечание

Применяется к классу: CursorAdapter

Параметры nRecords и nRecordOffset посылаются методу RecordRefresh. Смотрите его описание RecordRefresh для получения дополнительной информации о параметрах nRecords и nRecordOffset.

Если событие BeforeRecordRefresh не выполнится или не вернет логического значения true (.T.), метод RecordRefresh не будет исполнен и событие AfterRecordRefresh не произойдет.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Событие AfterRecordRefresh

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполне JS.


BeforeReport Event

Visual FoxPro 9.0
BeforeReport событие
Смотрите также

Происходит непосредственно перед тем, как движок отчета начинает обрабатывать форму отчета.

PROCEDURE Object.BeforeReport

Параметры

None.

Замечания

Применяется к: ReportListener Object.

Когда Visual FoxPro вызывает событие BeforeReport для выполняемого отчета, он сделал всю необходимую подготовку для выполнения отчета. Он прочитал содержание файла определения отчета (frx) и открыл копию только для чтения этого файла в собственном сеансе (data session) для использования вашим классом. Для получения дополнительной информации, см. FRXDataSession Property.

Перед вызовом события BeforeReport, движок отчета также создает собственный сеанс для данных отчета, если отчет определяется впервые. При этом открываются таблицы и выполняются другие задачи инициализации как определено средой данных (DataEnvironment) отчета. Для получения дополнительной информации, см. CurrentDataSession Property. Вы можете выяснить формат и данные отчета переключаясь между этими двумя сеансами данных.

В это время движок также проверил диапазон отчета, отобрав записи, которые будут обработаны при выполненнии отчета. Информация о числе записей доступна вашему коду в CommandClauses.RecordTotal. При обработке BeforeReport доступны и другие элементы CommandClauses. Для получения дополнительной информации, см. CommandClauses Property.

После окончания обработки события BeforeReport(), движок отчета готов к выполненению отчета. Сначаля оцениваются выражения в отчете, чтобы определить, требует ли этот отчет предварительного прохода. В это время присваиваются значения дополнительным свойствам ReportListener , указывающим результат этой оценки. Для получения дополнительной информации, см. TwoPassProcess Property и CurrentPass Property. Следом вызывается событие BeforeBand отчета.

Примечание:
Для получения дополнительной информации о порядке событий в отчете см. Understanding Visual FoxPro Object-Assisted Reporting.

Смотрите также

Ссылки

ReportListener Object
AfterReport Event
BeforeBand Event
REPORT FORM Command
LABEL Command
DataEnvironment Object
SET DATASESSION Command

Прочие ресурсы

Events (Visual FoxPro)
Language Reference (Visual FoxPro)

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo.


BeforeRowColChange Event

Visual FoxPro 9.0 Описание Языка
Событие BeforeRowColChange
См.также

Событие происходит перед тем как новая клетка получает фокус при изменении пользователем строки или столбца. Это также происходит перед событием Valid текущего объекта в столбце сетки и любых правил в базе данных. Используйте опцию NODEFAULT для предотвращения изменения текущего столбца.

PROCEDURE Grid.BeforeRowColChange
LPARAMETERS nColIndex

Параметры

nColIndex

Содержит номер столбца, активного перед сменой строки или столбца.

Комментарии

Применяется: Grid Control

Событие BeforeRowColChange возникает при использовании манипулятора mouse или клавиатуры, а также может быть инициировано программным путем, например используя метод ActivateCell.

Вы можете использовать свойство RowColChange в коде этого события для определения действия, вызвавшего данное событие.

См. также

Другие ссылки

Метод ActivateCell
Событие AfterRowColChange
DEFINE CLASS [NODEFAULT]
Свойство RowColChange
Событие Valid
Команда NODEFAULT
События
Описание Языка

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BeforeUpdate Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие BeforeUpdate
Смотрите также
CollapseAll image

Происходит немедленно после исполнения команды обновления для записи.

Замечание Замечание

Если используется пакетное обновление, то есть значение свойства BatchUpdateCount объекта CursorAdapter установлено большим чем единица (1), событие BeforeUpdate не происходит.

PROCEDURE Object.BeforeUpdate
LPARAMETERS cFldState, lForce, nUpdateType, cUpdateInsertCmd, cDeleteCmd

Параметры

cFldState

Определяет состояние поля обрабатываемой строки. Это то же самое значение, которое мы получаем вызвав функцию:

CopyCode image Скопировать код
GETFLDSTATE(-1)

Например, это значение может быть символьной строкой, состоящей и значений статуса удаления и редактирования для всех полей в таблице или в курсоре. Если в таблице имеется пять полей и только первое поле было отредактировано, то GETFLDSTATE( ) возвратит значение 121111. Число 1 в первой позиции указывает, что статус удаления не был изменен.

lForce

Указывает значение параметра lForce из функции TABLEUPDATE().

nUpdateType

Определяет численное значение в свойстве UpdateType сгенерированного объекта CursorAdapter. В приведенной ниже таблице перечислены возможные значения для nUpdateType.

nUpdateType Описание

1

Переписать старые данные новыми. (По умолчанию)

2

Переписать данные путем удаления старых, с последующей вставкой новых.

Изменение этого значения изменяет поведение для текущей записи, но не изменяет значение свойства. Это значение потребуется вам только в случае, если вы используете автоматическое обновление.

cUpdateInsertCmd

Указывает значения свойства UpdateCmd или InsertCmd, которое подходит для конкретного случая. Visual FoxPro использует значение этого параметра, как команду обновления или вставки, которые вы можете изменить в этом событии. Однако, если вы измените параметр cUpdateInsertCmd свойства UpdateCmd и InsertCmd изменены не будут.

cDeleteCmd

Определяет, что свойство cDeleteCmd является пустым, если параметр nUpdateType установлен в 1. В противном случае, свойство cDeleteCmd устанавливается в значение свойства DeleteCmd. Visual FoxPro использует значение cDeleteCmd, как команду удаления, которую вы можете изменить в этом событии. Однако, если вы измените параметр cDeleteCmd, значение свойства DeleteCmd изменено не будет.

Expand image Примечания

Применяется к классу: CursorAdapter

Если процедурный код события BeforeUpdate возвратит False (.F.), операция обновления производится не будет.

Expand image Смотрите также

Справочное руководство

Свойства, методы и события объекта CursorAdapter
Функция GETFLDSTATE()
Функция TABLEUPDATE( )
Свойство UpdateType
Свойство UpdateCmd
Свойство InsertCmd
Свойство DeleteCmd
Событие AfterUpdate

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Click Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие Click
Смотрите также Пример
CollapseAll image

Происходит в случаях, когда вы включаете в программу код, которые вызывает событие, когда пользователь щелкает по клавише мыши на элементе управления, изменяет значение определенных элементов управления или щелкает по клавише мыши в чистой области формы..

PROCEDURE Object.Click

Expand image Примечания

Применяется к: CheckBox Control | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object | EditBox Control | Form Object | Grid Control | Header Object | Image Control | Label Control | Line Control | ListBox Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | Shape Control | Spinner Control | TextBox Control | ToolBar Object

Событие Click происходит, когда пользователь:

  • Щелкает по левой клавише мыши на элементах управления check box, command button, combo box, list box или option button.

  • Нажимает на клавишу пробела (SPACEBAR) на клавиатуре, когда фокус установлен на элементах управления command button, option button или check box.

  • Нажимает на клавишу ENTER, когда на форме имеется командная кнопка, у которой свойство Default установлено в True (.T.).

  • Нажимает ключ быстрого доступа для элемента управления. Например, если заголовок командной кнопки указан, как "\<Go", то нажатие ALT+G вызовет срабатывание события Click.

  • Щелкает по клавише мыши в чистой области формы. Событие Click не происходит, когда указатель мыши находится поверх полоски закоголовка формы, иконки меню окна или на бордюре окна.

  • Щелкает по клавише мыши в области ввода текста элемента управления spinner.

  • Щелкает на заблокированном (disabled) элементе управления. В таком случае, событие Click происходит для контейнера, в котором размещен заблокированный элемент управления.

Событие Click может сработать и в результате исполнения кода, в который включена команда MOUSE.

Note Замечание

Изменение размеров колонки решетки (grid) не вызывает срабатывания события Click для заголовка колонки. Это воздействует на разделители колонок.

Expand image Пример

В приведенном ниже примере создается элемент управления OptionGroup и помещается на форму. Элемент управления OptionGroup имеет три кнопки и в зависимости на какой из них произведен щелчок по клавише мыши, на форме появляются круг, эллипс или квадрат. Событие Click элемента OptionGroup использует структуру DO CASE ... ENDCASE и свойство Value для отображенгия соответствующего контура, когда вы щелкаете по радиокнопке.
CopyCode image Скопировать код
frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Блокировние всплывающего меню окна

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Ввод командной кнопки в форму
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Ввод группы радиокнопок в форму
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Ввод контура "круг"
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Ввод контура "эллипс"
frmMyForm.AddObject('shpSquare','shpMySquare')  && Ввод контура "квадрат"

frmMyForm.cmdCommand1.Visible =.T.  && установка командной кнопки "Quit" видимой

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Установка ширины группы радиокнопок
frmMyForm.opgOptionGroup1.Visible = .T.  && делаем их видимымии
frmMyForm.opgOptionGroup1.Click  && Показываем круг

frmMyForm.SHOW  && отображаем форму на экране
READ EVENTS  && начинаем обработке событий

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Создаем группу радиокнопок
   ButtonCount = 3  && Определяем число радиокнопок - три кнопки в группе
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click
      ThisForm.shpCircle1.Visible = .F.  && прячем круг
      ThisForm.shpEllipse1.Visible = .F.  && прячем эллипс
      ThisForm.shpSquare.Visible = .F.  && прячем квадрат

      DO CASE
         CASE ThisForm.opgOptionGroup1.Значение = 1
            ThisForm.shpCircle1.Visible = .T. && показываем круг
         CASE ThisForm.opgOptionGroup1.Значение = 2
            ThisForm.shpEllipse1.Visible = .T.  && показываем эллипс
         CASE ThisForm.opgOptionGroup1.Значение = 3
            ThisForm.shpSquare.Visible = .T.  && показываем квадрат
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit'  && Заголовок командной кнопки
   Cancel = .T.  && устанавливаем кнопку как дефолтную для Cancel (Esc)
   Left = 125
   Top = 210
   Height = 25

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем обработки событий, закрываем форму
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Создаем круг
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Red
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Создаем эллипс
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Создаем квадрат
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Событие DblClick
Событие MiddleClick
Команда MOUSE
Событие MouseDown
Событие MouseUp
Событие MouseWheel
Свойство Value

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_Activate Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_Activate
Смотрите также Пример
CollapseAll image

Происходит в момент, когда база данных становится активной. Имеется две версии синтаксиса.

PROCEDURE dbc_Activate(cDatabaseName)
PROCEDURE dbc_Activate
LPARAMETERS cDatabaseName

Параметры

cDatabaseName

Указывает имя активируемой базы данных.

Expand image Примечания

Вы можете иметь несколько открытых в одно и тоже время баз данных, но только одна из них может быть активной в конкретный момент времени. База данных становится активной под влиянием нескольких обстоятельств. Явное активирование базы данных производится с помощью команды SET DATABASE TO. Если открыто несколько баз данных (с разрешенными событиями контейнеров DBC ) метод dbc_Activate испольняется только в активной базе данных.

Если вы поместите код событий контенейров базы данных - DBC - в программный файл, то код будет применяться к любой базе данных, которую укажет программа, как файл процедурных кодов событий. В таком случае, процедурный код методов, ассоциированных с событиями DBC может одновременно воздействовать на несколько баз данных в одно и тоже время. Когда вы используете события DBC указанным методом, используйте параметр cDatabaseName в коде события, указывающий - какую базу данных следует активировать. Таким образом вы можете использовать один блок кода для определения активируемой базы данных и затем соответствующих образом применить его к этой базе данных.

Возврат False (.F.) из процедурного кода события предотвратит активирование базы данных.

Visual FoxPro будет игнорировать возврат False (.F.) из этого события в design time.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_Activate ;
         (cDatabaseName)
? '     cDatabaseName  = ' + TRANSFORM(cDatabaseName) + ' - ' ;
                       + TYPE('cDatabaseName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Справочное руковдство

Событие dbc_Deactivate
Команда SET DATABASE
Событие dbc_CloseData
Событие dbc_ModifyData
Событие dbc_OpenData

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterAddRelation Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterAddRelation
Смотрите также
CollapseAll image

Происходит после того, как в базе данныз успешно создано отношение. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterAddRelation(cRelationID, cTableName, cRelatedChild, cRelatedTable, cRelatedTag)
PROCEDURE dbc_AfterAddRelation
LPARAMETERS cRelationID, cTableName, cRelatedChild, cRelatedTable, cRelatedTag

Параметры

cRelationID

Определяет номер Relation ID, сохраняемый в базе данных.

cTableName

Определяет имя родительской таблицы.

cRelatedChild

Определяет имя связанной колонки в дочерней таблице.

cRelatedTable

Определяет таблицу,содержащую связанную колонку.

cRelatedTag

Определяет индексный тэг родительской таблицы.

Expand image Примечания

Вы можете использовать событие dbc_AfterAddRelation для проверки соответствующих значений для cRelationID и прочих параметров в процедуре, которая отслеживает или управляет доступом к базе данных, после того, как в базу данных было добавлено отношение.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeAddRelation

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterAddTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterAddTable
Смотрите также Пример
CollapseAll image

Происходит после добавления таблицы в активную базу данных. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterAddTable(cTableName, cLongTableName)
PROCEDURE dbc_AfterAddTable
LPARAMETERS cTableName, cLongTableName

Параметры

cTableName

Указывает имя добавляемой таблицы.

cLongTableName

Указывает длинное имя добавляемой таблицы.

Expand image Примечания

Вы можете ввести процедурный код в метод события dbc_AfterAddTable чтобы исполнять функции подобно обновлению вашего слоаваря данных или посылки email администратору базы данных.

Это событие не происходит, когда вы создаете таблицу в базе данных.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_AfterAddTable ;
         (cTableName, ;
          cLongTableName)
? '     cTableName     = ' + TRANSFORM(cTableName)     + ' - ' ;
                       + TYPE('cTableName ')
? '     cLongTableName = ' + TRANSFORM(cLongTableName) + ' - ' ;
                       + TYPE('cLongTableName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeCreateTable
Событие dbc_BeforeAddTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterAppendProc Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterAppendProc
Смотрите также Пример
CollapseAll image

Происходит после завершения команды APPEND PROCEDURE. Имеется два варианта синтаксиса.

PROCEDURE dbc_AfterAppendProc(cFileName, nCodePage, lOverwrite)
PROCEDURE dbc_AfterAppendProc
LPARAMETERS cFileName, nCodePage, lOverwrite

Параметры

cFileName

Указывает имя текстового файла, из которого добавляет код в хранимые процедуры.

nCodePage,

Указывает кодовую страницу текстового файла, из которого дополняются хранимые процедуры. Visual FoxPro копирует содержание текстового файла, и если это произошло, автоматически конвертирует содержимое в указанную вами кодовую страницу.

lOverWrite

Определяет - будет ли текущая хранимая процедура базы данных переписана содержимым текстовогот файла. Если ключевое слово OVERWRITE было опущено в команде APPEND PROCEDURE, текущая хранимая процедура в базе данных добавляется к любой существующей процедуре в текстовом файле.

Expand image Примечания

Вы можете использовать событие dbc_AfterAppendProc для отслеживания доступа к базе данных, после того, как будет добавлена хранимая процедура.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и переданные параметры.
PROCEDURE dbc_AfterAppendProc ;
         (cFileName,;
          nCodePage,;
          lOverwrite)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:      ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cFileName       = ' + TRANSFORM(cFileName)  + ' - ' ;
                         + TYPE('cFileName')
 ? '     nCodePage       = ' + TRANSFORM(nCodePage)  + ' - ' ;
                         + TYPE('nCodePage')
 ? '     lOverwrite      = ' + TRANSFORM(lOverwrite) + ' - ' ;
                         + TYPE('lOverwrite')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeAppendProc

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterCloseTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterCloseTable
Смотрите также Пример
CollapseAll image

Происходи после того, как таблица илм представление будут закрыты. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterCloseTable(cTableName)
PROCEDURE dbc_AfterCloseTable
LPARAMETERS cTableName

Параметры

cTableName

Указывает имя таблица или представления, которые закрываются.

Expand image Примечания

Вы можете использовать событие dbc_AfterCloseTable для отслеживания доступа к базе данных после того, как таблица будет закрыта в текущей базе данных.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_AfterCloseTable ;
         (cTableName)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeCloseTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterCopyProc Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterCopyProc
Смотрите также Пример
CollapseAll image

Происходит после завершения команды COPY PROCEDURE. Имеется два варианта синтаксиса.

PROCEDURE dbc_AfterCopyProc(cFileName, nCodePage, lAdditive)
PROCEDURE dbc_AfterCopyProc
LPARAMETERS cFileName, nCodePage, lAdditive

Параметры

cFileName

Указывает имя текстового файла, куда были скопированы хранимые процедуры.

nCodePage,

Указывает кодовую страницу программного файла, куда были скопированы хранимые процедуры. Visual FoxPro копирует содержимое хранимых процедур в базу данных, и, если это произошло, автоматически конвертирует их содержание в указанную вами кодовую страницу.

lAdditive

Определяет - было ли включено в команду COPY PROCEDURE, которая инициировала это событие, ключевое слово ADDITIVE. Если ADDITIVE было опущено, хранимые процедуры замещают содержание программного файла.

Expand image Примечания

Вы можете использовать событие dbc_AfterCopyProc для отслеживания доступа к базе данных, после того, как завершилось копирование хранимых процедур.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно вызвано и ;
* переданные параметры.
PROCEDURE dbc_AfterCopyProc ;
         (cFileName,;
          nCodePage,;
          lAdditive)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:      ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cFileName       = ' + TRANSFORM(cFileName)  + ' - ' ;
                         + TYPE('cFileName')
 ? '     nCodePage       = ' + TRANSFORM(nCodePage)  + ' - ' ;
                         + TYPE('nCodePage')
 ? '     lAdditive      = ' + TRANSFORM(lAdditive) + ' - ' ;
                         + TYPE('lAdditive')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeCopyProc

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterCreateConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterCreateConnection
Смотрите также Пример
CollapseAll image

Происходит после создания соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterCreateConnection
(cConnectionName, cDataSourceName, cUserID, cPassWord, cConnectionString)
PROCEDURE dbc_AfterCreateConnection
LPARAMETERS cConnectionName, cDataSourceName, cUserID, cPassWord,
 cConnectionString

Параметры

cConnectionName

Указывает имя созданного соединения.

cDataSourceName

Указывает имя источника данных ODBC.

cUserID

Указывает ващу пользовательскую идентификацию для источника данных ODBC.

cPassWord

Указывает ваш пароль для источника данных ODBC.

cConnectionString

Указывает строку соединения для источника данных ODBC. Вы можете использовать строку соединения вместо явного включения ODBC-источника данных, имя пользователя и пароль.

Expand image Примечания

Вы можете использовать событие dbc_AfterCreateConnection для отслеживания доступа к базе данных после создания соединения.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно вызвано и;
* переданные параметры.
PROCEDURE dbc_AfterCreateConnection ;
         (cConnectionName, ;
          cDataSourceName, ;
          cUserID, ;
          cPassword, ;
          cConnectionString)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cConnectionName    = ' + TRANSFORM(cConnectionName)   + ' - ' ;
                           + TYPE('cConnectionName ')
? '     cDataSourceName    = ' + TRANSFORM(cDataSourceName)   + ' - ' ;
                           + TYPE('cDataSourceName ')
? '     cUserID            = ' + TRANSFORM(cUserID)           + ' - ' ;
                           + TYPE('cUserID ')
? '     cPassword          = ' + TRANSFORM(cPassword)         + ' - ' ;
                           + TYPE('cPassword ')
? '     cConnectionString  = ' + TRANSFORM(cConnectionString) + ' - ' ;
                           + TYPE('cConnectionString ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeCreateConnection

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнил JS.


dbc_AfterCreateOffline Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterCreateOffline
Смотрите также Пример
CollapseAll image

Происходит после заверешения вызова CREATEOFFLINE(). Имеется две версии синтаксиса.

PROCEDURE dbc_AfterCreateOffline(cViewName, cPath)
PROCEDURE dbc_AfterCreateOffline
LPARAMETERS cViewName, cPath

Параметры

cViewName

Указывает имя существующего представления, после перевода его в автономный режим.

cPath

Указывает каталог, в который помещено автономное представление.

Expand image Примечания

Вы можете использовать событие dbc_AfterCreateOffline для отслеживания доступа к базе данных после переключения режима представления.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_AfterCreateOffline ;
         (cViewName,;
          cPath)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cViewName =  ' + TRANSFORM(cViewName) + ' - ' ;
                  + TYPE('cViewName')
? '     cPath     =  ' + TRANSFORM(cPath)     + ' - ' ;
                  + TYPE('cPath') + ' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeCreateOffline

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterCreateTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterCreateTable
Смотрите также Пример
CollapseAll image

Происходит после создания таблицы в активной базе данных. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterCreateTable(cTableName, cLongTableName)
PROCEDURE dbc_AfterCreateTable
LPARAMETERS cTableName, cLongTableName

Параметры

cTableName

Указывает имя создаваемой таблицы.

cLongTableName

Указывает длинное имя создаваемой таблицы.

Expand image Примечания

Это событие не происходит, когда вы создаете свободную таблицу.

Вы можете использовать событие dbc_AfterCreateTable для проверки соответствующих значений для cTableName или cLongTableName, использовать эти параметры в процедурном коде для отслеживания или управления доступом к базе данных после создания в ней таблицы.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_AfterCreateTable ;
         (cTableName, ;
          cLongTableName)
? '     cTableName      = ' + TRANSFORM(cTableName)     + ' - ' ;
                        + TYPE('cTableName ')
? '     cLongTableName  = ' + TRANSFORM(cLongTableName) + ' - ' ;
                        + TYPE('cLongTableName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeCreateTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterCreateView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterCreateView
Смотрите также Пример
CollapseAll image

Происходит после создания SQL представления. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterCreateView(cViewName, lRemote)
PROCEDURE dbc_AfterCreateView
LPARAMETERS cViewName, lRemote

Параметры

cViewName

Указывает имя создаваемого представления.

lRemote

Указывает будет-ли представление удаленным.

Expand image Примечания

Вы можете использовать событие dbc_AfterCreateView для отслеживания доступа к базе данных после создания представления.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и ;
* переданные параметры.
PROCEDURE dbc_AfterCreateView ;
         (cViewName, ;
          lRemote)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     cViewName  = ' + TRANSFORM(cViewName) + ' - ' ;
                    + TYPE('cViewName ')
 ? '     lRemote    = ' + TRANSFORM(lRemote)   + ' - ' ;
                    + TYPE('lRemote')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeCreateView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterDBGetProp Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDBGetProp
Смотрите также Пример
CollapseAll image

Происходит после завершения вызова функции DBGetProp(). Имеется два варианта синтаксиса.

PROCEDURE dbc_AfterDBGetProp(cName, cType, cProperty)
PROCEDURE dbc_AfterDBGetProp
LPARAMETERS cName, cType, cProperty

Параметры

cName

Указывает значение первого параметра в функции DBGetProp() - имя базы данных, поля, именованного соединения, таблица или представления, для которых функция DBGETPROP() возвращает информацию.

cType

Указывает значение второго параметра в в функции DBGetProp() - тип объекта или предмета, указанного в cName.

cProperty

Указывает значение третьего параметра в функции DBGetProp() - свойство, для которого функция DBGETPROP() возвращает информацию..

Для получения подробной информации о действительных значениях cType и cProperty смотри описание в справке Help.

Expand image Примечания

Вы можете использовать событие dbc_AfterDBGetProp для отслеживания доступа к базе данных, после того, как завершится вызов DBGetProp.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно вызвано и ;
* переданные параметры.
PROCEDURE dbc_AfterDBGetProp ;
         (cName,;
          cType,;
          cProperty)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC: ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cName     =  ' + TRANSFORM(cName)     + ' - ' + TYPE('cName')
 ? '     cType     =  ' + TRANSFORM(cType)     + ' - ' + TYPE('cType')
 ? '     cProperty =  ' + TRANSFORM(cProperty) + ' - ' + TYPE('cProperty')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeDBGetProp
Функция DBGETPROP()

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterDBSetProp Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDBSetProp
Смотрите также Пример
CollapseAll image

Происходит после завершения исполнения функции DBSetProp( ). Имеется две версии синтаксиса.

PROCEDURE dbc_AfterDBSetProp(cName, cType, cProperty, ePropertyValue)
PROCEDURE dbc_AfterDBSetProp
LPARAMETERS cName, cType, cProperty, ePropertyValue

Параметры

cName

Указывает значение первого параметра в функции DBSetProp( ) - имя базы данных, поля, именованного соединения, таблицы или представления для которого DBSETPROP( ) изменит значения.

cType

Указывает значение второго параметра в функции DBSetProp( ) - тип объекта предмета, указанного в cName.

cProperty

) function, the property for which DBSETPROP( Указывает значение третьего параметра в функции DBSetProp( ) - свойство, для которого DBSETPROP( ) изменит значение.

ePropertyValue

Указывает значение четвертого параметра в функции DBSetProp( ) - значение, которое будет присвоено свойству, указанному в cProperty.

Для получения подробной информации о значениях cType и cProperty смотрите DBSETPROP( ) и DBGETPROP( ) в справке.

Expand image Примечания

Вы можете использовать событие dbc_AfterDBCSetProp для отслеживания доступа к базе данных после запуска DBGETPROP( ).

Некоторые значения свойств могуть быть изменены с помощью DBSetProp( ) или с помощью дизайнера. Например, вы можете изменить свойство Comment таблицы, используя функцию DBSetProp() или в табличном дизайнере. Поскольку DBSetProp( ) сама производит изменени непосредственно в базе данных dbc_BeforeModifyTable или dbc_AfterModifyTable не отловят изменений, произведенных DBSETPROP( ). Для перехвата этих изменений, которые могут быть сделаны любым из указанных путей, могли бы использовать dbc_BeforeDBSetProp, dbc_AfterDBSetProp, dbc_BeforeModifyTable и dbc_AfterModifyTable для контроля соответствующих изменений.

Expand image Пример

CopyCode image скопировать код
* Отображает на экране имя события, программу, из которой оно вызвано и ;
* переданные параметры.
PROCEDURE dbc_AfterDBSetProp ;
         (cName,;
          cType,;
          cProperty,;
          ePropertyValue)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:     ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cName          = ' + TRANSFORM(cName)          + ' - ' + TYPE('cName')
 ? '     cType          = ' + TRANSFORM(cType)          + ' - ' + TYPE('cType')
 ? '     cProperty      = ' + TRANSFORM(cProperty)      + ' - ' + TYPE('cProperty')
 ? '     ePropertyValue = ' + TRANSFORM(ePropertyValue) + ' - ' + TYPE('ePropertyValue')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeDBSetProp

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterDeleteConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDeleteConnection
Смотрите также Пример
CollapseAll image

Происходит после удаления соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterDeleteConnection(cConnectionName)
PROCEDURE dbc_AfterConnection
LPARAMETERS cConnectionName

Параметры

cConnectionName

Указывает имя соединения, которое удалено из базы данных.

Expand image Примечания

Вы можете использовать событие dbc_AfterDeleteConnection для отслеживания доступа к базе данных после удаления из нее соединения.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_AfterDeleteConnection ;
          cItemName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     cConnectionName    = ' + TRANSFORM(cConnectionName)        + ' - ' ;
                      + TYPE('cConnectionName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeDeleteConnection

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterDropOffline Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDropOffline
Смотрите также Пример
CollapseAll image

Происходит после завершения вызова функции DROPOFFLINE(). Имеется две версии синтаксиса.

PROCEDURE dbc_AfterDropOffline(cViewName, cPath)
PROCEDURE dbc_AfterDropOffline
LPARAMETERS cViewName, cPath

Параметры

cViewName

Указывает имя автономного (offline) представления, которое будет переведено в подключенный режим (online).

cPath

Указывает каталог, в котором расположено автономное представление.

Expand image Примечания

Вы можете использовать событие dbc_AfterDropOffline для отслеживания доступа к базе данных после того, как автономное (offline) представление будет переведено в подключенный режим (online).

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_AfterDropOffline ;
         (cViewName,;
          cPath)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cViewName = ' + TRANSFORM(cViewName) + ' - ' ;
                  + TYPE('cViewName')
? '     cPath     = ' + TRANSFORM(cPath)     + ' - ' ;
                  + TYPE('cPath')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeDropOffline

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterDropRelation Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDropRelation Event
Смотрите также
CollapseAll image

Происходит после того, как отношение было успешно удалено из базы данных. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterDropRelation(cRelationID, cTableName, cRelatedChild, cRelatedTable, cRelatedTag)
PROCEDURE dbc_AfterDropRelation
LPARAMETERS cRelationID, cTableName, cRelatedChild, cRelatedTable, cRelatedTag

Параметры

cRelationID

Указывает идентификатор отношения (Relation ID) хранящицся в контейнере базы данных.

cTableName

Указывает имя родительской таблицы.

cRelatedChild

Указывает имя сввязанной колонки в дочерней таблице.

cRelatedTable

Указывает таблицу, имеющую связанную колонку.

cRelatedTag

Указывает индексный тэг родительской таблицы.

Expand image Примечания

Вы можете использовать событие dbc_AfterDropRelation для проверки соответствующего значения cRelationID и прочих параметров в процедуре которая отслеживает или управляет доступом к базе данных, после того, как отношение было удалено из таблицы.

Возврат .F. из этого события предотвратит удаление отношения.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeDropRelation

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterDropTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDropTable
Смотрите также Пример
CollapseAll image

Происходит после того, как таблица удалена из базы данных и с диска с помощью команды DROP TABLE. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterDropTable(cTableName, lRecycle)
PROCEDURE dbc_AfterDropTable
LPARAMETERS cTableName, lRecycle

Параметры

cTableName

Указывает таблицу, которая удаляется из базы данных и с диска.

lRecycle

Определяет - будет ли удаляемая база данных помещена в Windows Recycle Bin или немедленно удалена с диска.

Expand image Примечания

Вы можете использовать событие dbc_AfterDropTable для проверки соответствующего значения cTableName, использовать эти параметры в процедуре для отслеживания или управления доступом к базе данных после того, как таблица удаляется из базы данных и с диска..

Если вы удаляете таблицу с помощью команды DELETE FILE или с помощью операциoнной системы, то это событие не происходит.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно вызвано и
* переданные параметры

PROCEDURE dbc_AfterDropTable ;
         (cTableName, ;
          lRecycle)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName ')
? '     lRecycle   = ' + TRANSFORM(lRecycle)   + ' - ' ;
                   + TYPE('lRecycle')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeDropTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterDropView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterDropView
Смотрите также Пример
CollapseAll image

Происходит после удаления определения SQL представления из текущей базы данных. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterDropView(cViewName)
PROCEDURE dbc_AfterDropView
LPARAMETERS cViewName

Параметры

cViewName

Указывает имя представления, которое удаляется из текущей базы данных.

Expand image Примечания

DROP VIEW почти идентично DELETE VIEW; DROP VIEW представляет собой синтаксис стандарта ANSI SQL для удаления SQL представления. Обе команды удаляют определение представления из активной базы данных, но их синтаксис слегка различается.

Вы можете использовать событие dbc_AfterDropView для отслеживания доступа к базе данных после того, как определение представления удалено из базы данных.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_AfterDropView ;
         (cViewName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     cViewName  = ' + TRANSFORM(cViewName) + ' - ' ;
                    + TYPE('cViewName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeDropView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterModifyConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterModifyConnection
Смотрите также
CollapseAll image

Происходит после модификации соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterModifyConnection(cConnectionName, lChanged)
PROCEDURE dbc_AfterModifyConnection
LPARAMETERS cConnectionName, lChanged

Параметры

cConnectionName

Указывает имя соединения, прдлежащего модификации.

lChanged

Указывает будут ли сохранены изменения в дизайнере соединений.

Expand image Примечания

Вы можете использовать событие dbc_AfterModifyView для отслеживания или управления доступом к базе данных после модификации соединения.

Expand image Смотрите также

Задачт

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeModifyConnection

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterModifyProc Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterModifyProc
Смотрите также Пример
CollapseAll image

Происходит после того, как сделаны модификации в процедурах и закрытия редактора хранимых процедур.

PROCEDURE dbc_AfterModifyProc( )

Expand image Примечания

Вы можете использовать событие dbc_AfterModifyProc для отслеживания доступа к базе данных после того, как отредактированы хранимые процедуры.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события и откуда оно было вызвано.
PROCEDURE dbc_AfterModifyProc
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:    ' + SUBSTR(DBC(),RAT('\',DBC())+1)+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeModifyProc

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterModifyTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterModifyTable
Смотрите также
CollapseAll image

Происходит после модификации таблицы. Имеется две версии синтаксиса.

PROCEDURE dbc_AftermodifyTable(cTableName, lChanged)
PROCEDURE dbc_AfterModifyTable
LPARAMETERS cTableName, lChanged

Параметры

cTableName

Указывает имя модифицируемой таблицы.

lChanged

Определяет - будет ли сохранена модификация в Table Designer.

Expand image Примечания

Вы можете использовать событие dbc_AfterModifyTable для отслеживания доступа к базе данных после модификации таблиц.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeModifyTable

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterModifyView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterModifyView
Смотрите также
CollapseAll image

Происходит после модификации представления. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterModifyView(cViewName, lChanged)
PROCEDURE dbc_AfterModifyView
LPARAMETERS cViewName, lChanged

Параметры

cViewName

Указывает имя изменяемого представления.

lChanged

Определяет - будут ли изменения сохранены в дизайнере представлений.

Expand image Примечания

вы можете использовать событие dbc_AfterModifyView для отслеживания изменений в базе данных после модификации представления.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeModifyView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterOpenTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterOpenTable
Смотрите также Пример
CollapseAll image

Происходи после открытия таблицы или представления. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterOpenTable(cTableName)
PROCEDURE dbc_AfterOpenTable
LPARAMETERS cTableName

Параметры

cTableName

Указывает имя открываемых таблицы или представления.

Expand image Примечания

Вы можете использовать событие dbc_AfterOpenTable для отслеживания доступа к базе данных после того, как в базе данных будет открыта таблица или представление.

Если лежащие в основе представления таблицы не открыты, то это событие произойдет как для таблиц, так и для представлений.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_AfterOpenTable ;
         (cTableName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' + TYPE('cTableName')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeOpenTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterRemoveTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterRemoveTable
Смотрите также Пример
CollapseAll image

Происходит после того, как завершено удаление таблицы. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterRemoveTable(cTableName, lDelete, lRecycle)
PROCEDURE dbc_AfterRemoveTable
LPARAMETERS cTableName, lDelete, lRecycle

Параметры

cTableName

Определяет имя таблицы, которая была удалена из базы данных.

lDelete

Определяет - была ли таблица удалена или сконвертирована в свободную таблицу.

lRecycle

Определяет была ли таблица помещена в мусорную корзину Windows Recycle Bin или полностью удалена с диска. Некоторые данные, такие как свойства таблицы, присущие только таблицам, ассоциированным с контейнером базы данных теряются, даже если таблица помещена в мусорную корзину.

Expand image Примечания

Вы можете использовать событие dbc_AfterRemoveTable для отслеживания доступа к базе данных после того, как таблица удалена из базы данных и с диска.

Expand image Пример

CopyCode image Скопировать код
* Reports to the screen Event name, where it is called from and ;
* the parameters passed.
PROCEDURE dbc_AfterRemoveTable ;
         (cTableName, ;
          lDelete, ;
          lRecycle)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName ')
? '     lDelete    = ' + TRANSFORM(lDelete)    + ' - ' ;
                   + TYPE('lDelete')
? '     lRecycle   = ' + TRANSFORM(lRecycle)   + ' - ' ;
                   + TYPE('lRecycle')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeRemoveTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterRenameConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterRenameConnection
Смотрите также
CollapseAll image

Происходит до переименования соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterRenameConnection(cConnectionName, cNewName)
PROCEDURE dbc_AfterRenameConnection
LPARAMETERS cPreviousName, cNewName

Параметры

cPreviousName

Указывает текущее имя соединения.

cNewName

Указывает новое имя соединения.

Expand image Примечания

Вы можете использовать событие dbc_AfterRenameConnection для отслеживания изменений в базе данных, после того, как соединение переименовано.

Возврат .F. из процедурного кода события предотвратит переименование соединения.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_BeforeRenameConnection

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterRenameTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterRenameTable
Смотрите также Пример
CollapseAll image

Происходит перед переименованием таблицы. Имеется два варианта синтаксиса.

PROCEDURE dbc_AfterRenameTable(cPreviousName, cNewName)
PROCEDURE dbc_AfterRenameTable
LPARAMETERS cPreviouName, cNewName

Параметры

cPreviousName

Указывает текущее имя таблицы.

cNewName

Указывает новое имя таблицы.

Expand image Примечания

Вы можете использовать событие dbc_AfterRenameTable для отслеживания изменений в базе данных после переименования таблиц.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_AfterRenameTable;
   (cPreviousName, ;
    cNewName)
 ? '>>   ' + PROGRAM()
 ?? 'in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1
 ? '     Current DBC:    ' + SUBSTR(DBC(),RAT('\',DBC())+1
 ? '     cPreviousName = ' + TRANSFORM(cPreviousName)    + ' – ' + TYPE('cPreviousName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeRenameTable

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_AfterRenameView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterRenameView
Смотрите также
CollapseAll image

Происходит до переименования представления. Имеется две версии синтаксиса.

PROCEDURE dbc_AfterRenameView(cPreviousName, cNewName)
PROCEDURE dbc_AfterRenameView
LPARAMETERS cPreviousName, cNewName

Параметры

cPreviousName

Указывает текущее имя представления.

cNewName

Указывает новое имя представления.

Expand image Примечания

Вы можете использовать событие dbc_AfterRenameView для отслеживания изменений в базе данных после переименования представления.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeRenameView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_AfterValidateData Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_AfterValidateData
Смотрите также Пример
CollapseAll image

Происходит после завершения VALIDATE DATABASE. Имеется два варианта синтаксиса.

PROCEDURE dbc_AfterValidateData
(lRecover, lNoConsole, lPrint, lFile [, cFilename])
PROCEDURE dbc_AfterValidateData
LPARAMETERS lRecover, lNoConsole, lPrint, lFile [, cFilename]

Параметры

lRecover

Определяет было ли включено в команду VALIDATE DATABASE, которая запускает это событие, ключевое слово RECOVER.

lNoConsole

SОпределяет было ли включено в команду VALIDATE DATABASE, которая запускает это событие, ключевое слово NOCONSOLE.

lPrint

Определяет было ли включено в команду VALIDATE DATABASE, которая запускает это событие, ключевое слово PRINT.

lFile

Определяет была ли включена в команду VALIDATE DATABASE, которая запускает это событие, опция TO FILE.

cFilename

Указывает имя файла вывода, указанного в опции TO FILE команды VALIDATE DATABASE. cFilename является необязательным, но если вы опустите его и будете использовать опцию TO FILE в команде VALIDATE DATABASE, вы получите сообщение об ошибке "Must specify additional parameters." Если вы не используете опцию TO FILE и включите параметр cFilename, то будет послано значение .F.

Expand image Примечания

Вы можете использовать событие dbc_AfterValidateData для отслеживания доступа к базе данных, после проведения проверки на ее достоверность.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно вызвано и ;
* the parameters passed.
PROCEDURE dbc_AfterValidateData ;
         (lRecover, ;
          lNoConsole, ;
          lPrint, ;
          lFile, ;
          cFileName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     lRecover   = ' + TRANSFORM(lRecover)   + ' - ' ;
                    + TYPE('lRecover')
 ? '     lNoConsole = ' + TRANSFORM(lNoConsole) + ' - ' ;
                    + TYPE('lNoConsole')
 ? '     lPrint     = ' + TRANSFORM(lPrint)     + ' - ' ;
                    + TYPE('lPrint')
 ? '     lFile      = ' + TRANSFORM(lFile)      + ' - ' ;
                    + TYPE('lFile')
 ? '     cFileName  = ' + TRANSFORM(cFileName)  + ' - ' ;
                    + TYPE('cFileName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeValidateData

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeAddRelation Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeAddRelation
Смотрите также
CollapseAll image

Происходит перед добавлением отношения в базу данных. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeAddRelation(cRelationID, cTableName, cRelatedChild,
   cRelatedTable, cRelatedTag)
PROCEDURE dbc_BeforeAddRelation
LPARAMETERS cRelationID, cTableName, cRelatedChild, cRelatedTable,
   cRelatedTag

Параметры

cRelationID

Указывает номер идентификатор отношения (Relation ID), для хранения в базе данных.

cTableName

Указывает имя родительской таблицы.

cRelatedChild

Указывает имя связанной колонки.

cRelatedTable

Указывает имя таблицы, содержащую связанную колонку.

cRelatedTag

Определяет индексный тэг родительской таблицы.

Expand image Примечания

Вы можете использовать событие dbc_BeforeAddRelation для проверки соответствующих значений параметров в процедуре, которая отслеживает или управляет доступом к базе данных до момента ввода отношения в базу данных.

Возврат .F. из этого события предотвратит предотвратит ввод отношения.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterAddRelation

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeAddTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeAddTable
Смотрите также Пример
CollapseAll image

Происходит до того момента, когда существующая свободная таблица будет добавления в активную базу данных.

Вы можете использовать событие dbc_BeforeAddTable для исполнения кода до того момента, когда таблица будет введена в базу данных. Это полезно для программных целей, таких как управление тем, что будет ли и при каких условиях таблица добавляется в базу данных или для записи в журнал дополнений в базе данных о вводе таблицы. Имеется две версии синтаксиса.

Замечание Замечание

Это событие не происходит, когда вы создаете таблицу в базе данных.

PROCEDURE dbc_BeforeAddTable(cTableName, cLongTableName)
PROCEDURE dbc_BeforeAddTable
LPARAMETERS [cTableName, cLongTableName]

Параметры

cTabl eName,

Указывает имя вводимой таблицы.

cLongTableName

Указывает длинное имя для вводимой таблицы.

Expand image Примечания

Для преотвращения добавления таблицы в базу данных, верните из процедурного кода события значение False (.F.).

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_BeforeAddTable ;
         (cTableName, ;
          cLongTableName)
? '     cTableName     = ' + TRANSFORM(cTableName)     + ' - ' ;
                       + TYPE('cTableName ')
? '     cLongTableName = ' + TRANSFORM(cLongTableName) + ' - ' ;
                       + TYPE('cLongTableName ')
userID      = SUBSTR(SYS(0),AT('#',SYS(0))+2)
IF UPPER(userID) = 'MYALIAS'   && only one user can add tables.
   RETURN .T.
ENDIF
   RETURN .F.
ENDIF
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterAddTable
Событие dbc_BeforeRemoveTable
Событие dbc_AfterRemoveTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeAppendProc Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeAppendProc
Смотрите также Пример
CollapseAll image

Происходит до завершения команды APPEND PROCEDURES. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeAppendProc(cFileName, nCodePage, lOverwrite)
PROCEDURE dbc_BeforeAppendProc
LPARAMETERS cFileName, nCodePage, lOverwrite

Параметры

cFileName

Указывает имя текстового файла, из которого добавлялись хранимые процедуры.

nCodePage,

Указывает кодовую страницу текстового файла, из которого добавлялись хранимые процедуры. Visual FoxPro копирует содержимое текстового файла и, если это произошло, автоматически конвертирует его содержание в указанную вами кодовую страницу.

lOverwrite

Указывает - было ли включено ключевок слово OVERWRITE в команду APPEND PROCEDURE. Если OVERWRITE было опущено, текущие хранимые процедуры добавляются к дополняемым, в противном случае происходит перепись существующих хранимых процедур.

Expand image Примечания

Вы можете использовать событие dbc_BeforeAppendProc для отслеживания доступа к базе данных до дополнения хранимых процедур.

Возврат .F. из процедурного кода события предотвратит добавление содержания текстового файла в хранимые процедуры базы данных.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и ;
* переданные параметры.
PROCEDURE dbc_BeforeAppendProc ;
         (cFileName,;
          nCodePage,;
          lOverwrite)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:      ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cFileName       = ' + TRANSFORM(cFileName)  + ' - ' ;
                         + TYPE('cFileName')
 ? '     nCodePage       = ' + TRANSFORM(nCodePage)  + ' - ' ;
                         + TYPE('nCodePage')
 ? '     lOverwrite      = ' + TRANSFORM(lOverwrite) + ' - ' ;
                         + TYPE('lOverwrite')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterAppendProc

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeCloseTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeCloseTable
Смотрите также Пример
CollapseAll image

Происходит до закрытия таблицы или представления. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeCloseTable(cTableName)
PROCEDURE dbc_BeforeCloseTable
LPARAMETERS cTableName

Параметры

cTableName

Указывает имя закрываемых таблицы или представления.

Expand image Примечания

Вы можете использовать событие dbc_BeforeCloseTable для отслеживания доступа к базе данных до закрытия таблицы в текущей базе данных.

Возврат .F. из процедурного кода события предотвратит закрытие таблицы или представления.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_BeforeCloseTable ;
         (cTableName)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterCloseTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeCopyProc Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeCopyProc
Смотрите также Пример
CollapseAll image

Происходит до начала исполнения команды COPY PROCEDURE. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeCopyProc(cFileName, nCodePage, lAdditive)
PROCEDURE dbc_BeforeCopyProc
LPARAMETERS cFileName, nCodePage, lAdditive

Параметры

cFileName

Указывает имя текстового файла, в который копируются хранимые процедуры.

nCodePage,

Указывает кодовую страницу текстового файла, в который копируются хранимые процедуры. Visual FoxPro копирует содержимое и, если это произошло, автоматически конвертирует содержимое текстового файла, в который копируются хранимые процедуры, в указанную вами кодовую страницу.

lAdditive

Указывает было ли включено ключевое слово ADDITIVE в команду COPY PROCEDURE, которая инициировала это событие.

Expand image Примечания

Вы можете использовать событие dbc_BeforeCopyProc event для отслеживания доступа к базе данных до копирования хранимых процедур.

Возврат .F. из процедурного кода события предотвратит копирование хранимых процедур.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и ;
* переданные параметры.
PROCEDURE dbc_BeforeCopyProc ;
         (cFileName,;
          nCodePage,;
          lAdditive)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:      ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cFileName       = ' + TRANSFORM(cFileName)  + ' - ' + TYPE('cFileName')
 ? '     nCodePage       = ' + TRANSFORM(nCodePage)  + ' - ' + TYPE('nCodePage')
 ? '     lAdditive = ' + TRANSFORM(lAdditive) + ' - ' + TYPE('lAdditive')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterCopyProc

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeCreateConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeCreateConnection
Смотрите также Пример
CollapseAll image

Происходит до создания нового соединения.

PROCEDURE dbc_BeforeCreateConnection( )

Expand image Примечания

Вы можете добавить процедурный код в событие dbc_BeforeCreateConnection для отслеживания попыток доступа к базе данных до создания соединения или для предотвращения создания соединения.

Возврат .F. из этого события предотвратит создание соединения.

Expand image Пример

CopyCode image Скропировать код
* Отображает на экране имя события, а также программу, из которой оно было вызвано.
PROCEDURE dbc_BeforeCreateConnection
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
RETURN .F.    && запрещает пользователю создавать соединение.
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterCreateConnection

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeCreateOffline Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeCreateOffline
Смотрите также Пример
CollapseAll image

Происходит до перевода представления в автономный (offline) режим. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeCreateOffline(cViewName, cPath)
PROCEDURE dbc_BeforeCreateOffline
LPARAMETERS cViewName, cPath

Параметры

cViewName

Указывает имя представления, которое будет переведено в автономный режим.

cPath

Указывает каталог, в который будет помещено автономное представление и имя автономного представления.

Expand image Примечания

Вы можете использовать событие dbc_BeforeCreateOffline event to verify appropriate values for cViewName and cPath or use those parameters in a procedure для отслеживания доступа before an offline view is created.

Возврат .F. из процедурного кода события предотвратит переключение режимов представления.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_BeforeCreateOffline ;
         (cViewName,;
          cPath)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cViewName =  ' + TRANSFORM(cViewName) + ' - ' ;
                  + TYPE('cViewName')
? '     cPath     =  ' + TRANSFORM(cPath)     + ' - ' ;
                  + TYPE('cPath')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterCreateOffline

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeCreateTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeCreateTable
Смотрите также Пример
CollapseAll image

Происходит до того, как таблица создается в активной базе данных. Имеется два варианта синтаксиса.

PROCEDURE dbc_BeforeCreateTable(cTableName, cLongTableNameT)
PROCEDURE dbc_BeforeCreateTable
LPARAMETERS cTableName, cLongTableName

Параметры

cTableName

Указывает имя создаваемой таблицы.

cLongTableName

Указывает длинное имя, которое будет дано создаваемой таблице.

Expand image Примечания

Это событие не происходит, когда вы создаете свободную таблицу.

Вы можете использовать событие dbc_BeforeCreateTable для проверки соответствующих значений параметров cTableName or cLongTableName. Используйте эти параметры в процедурном коде для отслеживания или управления доступом, до того, как таблица будет создана в базе данных..

Возврат значения .F. из этой процедуры воспрепятствует созданию таблицы.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_BeforeCreateTable ;
         (cTableName, ;
          cLongTableName)
? '     cTableName     = ' + TRANSFORM(cTableName)     + ' - ' ;
                       + TYPE('cTableName ')
? '     cLongTableName = ' + TRANSFORM(cLongTableName) + ' - ' ;
                       + TYPE('cLongTableName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterCreateTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeCreateView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeCreateView
Смотрите также Пример
CollapseAll image

Происходит до создания SQL представления (обновляемого курсора). Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeCreateView(cViewName)
PROCEDURE dbc_BeforeCreateView
LPARAMETERS cViewName)

Параметры

cViewName

Указывает имя создаваемого представления.

Expand image Примечания

Вы можете использовать событие dbc_BeforeCreateView event для отслеживания доступа к базе данных до создания представления.

Возврат .F. из процедурного кода события предотвратит создание представления.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и ;
* the parameters passed.
PROCEDURE dbc_BeforeCreateView ;
         (cViewName, ;
          lRemote)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     cViewName =  ' + TRANSFORM(cViewName) + ' - ' ;
                   + TYPE('cViewName ')+' /end/ '
*RETURN .f.
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterCreateView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeDBGetProp Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDBGetProp
Смотрите также Пример
CollapseAll image

Происходит до исполнения функции DBGetProp(). Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeDBGetProp(cName, cType, cProperty)
PROCEDURE dbc_BeforeDBGetProp
LPARAMETERS cName, cType, cProperty

Параметры

cName

Указывает имя первого параметра в функции DBGetProp() - имя базы данных, поле, именованное соединение, таблица или представление, для которых функция DBGETPROP( ) возвращает информацию.

cType

Указывает значение второго параметра в функции DBGetProp() - тип объекта, указанного в cName.

cProperty

Указывает значение третьего параметра в функции DBGetProp() - свойство, для которого функция DBGETPROP() возвратит информацию.

Expand image Примечания

Вы можете использовать событие dbc_BeforeDBGetProp для отслеживания попыток доступа к базе данных до исполнения функции DBGetProp().

Возврат .F. из этой процедуры предотвратит возврат значения свойства из DBGetProp(). Это вызовет возврат функцией DBGetProp() значения NULL.

Expand image Пример

CopyCode image Скопировать код
* Показывает имя события экрана, откуда оно было вызвано и;
* переданные параметры.
PROCEDURE dbc_BeforeDBGetProp ;
         (cName,;
          cType,;
          cProperty)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC: ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cName     =  ' + TRANSFORM(cName)     + ' - ' + TYPE('cName')
 ? '     cType     =  ' + TRANSFORM(cType)     + ' - ' + TYPE('cType')
 ? '     cProperty =  ' + TRANSFORM(cProperty) + ' - ' + TYPE('cProperty')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: Разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterDBGetProp
Функция DBGETPROP( )

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeDBSetProp Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDBSetProp
Смотрите также Пример
CollapseAll image

Происходит перед выполнением DBSetProp(). Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeDBSetProp(cName, cType, cProperty, ePropertyValue)
PROCEDURE dbc_BeforeDBSetProp
LPARAMETERS cName, cType, cProperty, ePropertyValue

Параметры

cName

Определяет имя первого параметра в функции DBGetProp( ), а именно - имя базы данных, поле, именованное соединение, таблица или представление, для которых фукнция DBSETPROP() произведет изменение значения.

cType

Указывает значение второго параметра в функции DBSetProp( ), а именно - тип объекта элемента, переданного в cName.

cProperty

Указывает значение третьего параметра в функции DBSetProp(), а именно - свойства, значение которого изменит DBSETPROP().

ePropertyValue

Указывает значение четвертого параметра в функции DBSetProp(), а именно - значение, которое будет присвоено свойству, указанному в cProperty.

Для получения подробной информации о действительных значениях cType и cProperty смотрите описания DBSETPROP() и DBGETPROP( ) в данной справке.

Expand image Примечания

Вы можете использовать событие dbc_BeforeDBSetProp для отслеживания доступа к базе данных до исполнения DBSETPROP().

Возврат .F. из этой процедуры предотвратит изменения значения свойства. В свою очередь это вызовет возврат функцией DBSetProp() значения .F..

Некоторые значения свойств могут быть изменены с помощью DBSetProp() или в дизайнере. Например, вы можете изменить свойство Comment для таблицы используя как DBSetProp(), так и табличный дизайнер. Поскольку DBSetProp() сама производит изменения непосредственно в базе данных dbc_BeforeModifyTable или dbc_AfterModifyTable не смогут отловить изменения, сделанные DBSETPROP(). Для перехвата изменений, которые могут быть сделаны иным путем, используйте dbc_BeforeDBSetProp, dbc_AfterDBSetProp, dbc_BeforeModifyTable и dbc_AfterModifyTable для проверки соответствующих изменений.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и переданные параметры.
PROCEDURE dbc_BeforeDBSetProp ;
         (cName,;
          cType,;
          cProperty,;
          ePropertyValue)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:     ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cName          = ' + TRANSFORM(cName)          + ' - ' + TYPE('cName')
 ? '     cType          = ' + TRANSFORM(cType)          + ' - ' + TYPE('cType')
 ? '     cProperty      = ' + TRANSFORM(cProperty)      + ' - ' + TYPE('cProperty')
 ? '     ePropertyValue = ' + TRANSFORM(ePropertyValue) + ' - ' + TYPE('ePropertyValue')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterDBSetProp

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeDeleteConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDeleteConnection
Смотрите также
CollapseAll image

Происходит до удаления соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeDeleteConnection(cConnectionName)
PROCEDURE dbc_BeforeDeleteConnection
LPARAMETERS cConnectionName

Параметры

cConnectionName

Указывает имя соединения.

Expand image Примечания

Вы можете использовать событие dbc_BeforeDeleteConnection event для отслеживания доступа к базе данных до удаления соединения.

Возврат .F. из процедурного кода события предотвратит удаление соединения.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterDeleteConnection

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeDropOffline Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDropOffline
Смотрите также Пример
CollapseAll image

Происходит непосредственно перед исполнением функции DROPOFFLINE(), которая возвращает представление из автономного режима (offline) в подключенный (online). Имеется два варианта синтаксиса.

PROCEDURE dbc_BeforeDropOffline(cViewName, cPath)
PROCEDURE dbc_BeforeDropOffline
LPARAMETERS cViewName, cPath

Параметры

cViewName

Определяет имя представления, находящегося в автономном режиме (offline), которое будет переводиться в подключенный режим.

cPath

Указывает каталог, в котором расположено автономное представление.

Возврат .F. из этой процедуры переводу представления из автономного в подключенный режим.

Expand image Примечания

Вы можете использовать событие dbc_BeforeDropOffline для отслеживания пробного доступа к базе данных до того момента, как представление будет переведено в подключенный режим.

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно вызвано и ;
* переданные параметры.
PROCEDURE dbc_BeforeDropOffline ;
         (cViewName,;
          cPath)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cViewName =  ' + TRANSFORM(cViewName) + ' - ' ;
                  + TYPE('cViewName')
? '     cPath     =  ' + TRANSFORM(cPath)     + ' - ' ;
                  + TYPE('cPath')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterDropOffline

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


dbc_BeforeDropRelation Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDropRelation
Смотрите также
CollapseAll image

Происходит до удаления отношения из базы данных. Имеются две версии синтаксиса.

PROCEDURE dbc_BeforeDropRelation(cRelationID, cTableName, cRelatedChild,
   cRelatedTable, cRelatedTag)
PROCEDURE dbc_BeforeDropRelation
LPARAMETERS [cRelationID, cTableName, cRelationChild, cRelatedTable,
   cRelatedTag]

Параметры

cRelationID

Указывает идентификатор отношения (Relation ID) хранящийся в базе данных.

cTableName

Указывает имя родительской таблицы.

cRelatedChild

Указывает имя связанной колонки в дочерней таблице.

cRelatedTable

Указывает дочернюю таблицу, содержащую связанную колонку.

cRelatedTag

Указывает индексный тэг родительской таблицы.

Expand image Примечания

Вы можете использовать событие dbc_BeforeDropRelation для проверки соответствующего значения для cRelationID и прочих параметров в процедуре, которая отслеживает или управляет доступом к базе данных до удаления отношения из базы данных.

Возврат .F. из этой процедуры предотвратит удаление отношения.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterDropRelation

Other Resources

Events (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeDropTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDropTable
Смотрите также Пример
CollapseAll image

Происходит до удаления указанной таблицы из базы данных и с диска с помощью команды DROP TABLE. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeDropTable(cTableName, lRecycle)
PROCEDURE dbc_BeforeDropTable
LPARAMETERS cTableName, lRecycle

Параметры

cTableName

Указывает имя таблицы, которая будет удалена из текущей базы данных и удалена с диска.

lRecycle

Определяет - будет ли таблица помещена в Microsoft Windows Recycle Bin или немедленно удалена с диска. Некоторые данные, такие как свойства таблицыЮ доступные только для таблиц, содержащихся в контейнере базы данных, будут потеряны, даже если таблица будет перемещена в мусорную корзину.

Expand image Примечания

Вы можете использовать событие the dbc_BeforeDropTable для проверки соответствующих значений для имени таблицы, переданного в cTableName, и использовать эти параметры в процедуре для отслеживания или управления доступом к базе данных до того, как таблица будет удалена из нее и с диска.

Если вы удаляете таблицу с помощью команды DELETE FILE или операционной системвы, то это событие не произойдет.

Возврат .F. из этой процедуры предотвратит удаление таблицы.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и какие
* значения параметров были переданы.
PROCEDURE dbc_BeforeDropTable ;
         (cTableName, ;
          lRecycle)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName ')
? '     lRecycle   = ' + TRANSFORM(lRecycle)   + ' - ' ;
                   + TYPE('lRecycle')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterDropTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS
Перевод выполнен JS


dbc_BeforeDropView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeDropView
Смотрите также Пример
CollapseAll image

Происходит перед удалением представления из текущей базы данных. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeDropView(cViewName)
PROCEDURE dbc_BeforeDropView
LPARAMETERS cViewName

Параметры

cViewName

Указывает имя представления, которое будет удалено из текущей базы данных.

Expand image Примечания

DROP VIEW почти идентично DELETE VIEW; DROP VIEW представляет собой синтаксис стандарта ANSI SQL для удаления SQL представления. Обе команды удаляют определение представления из активной базы данных, но их синтаксис слегка различается.

Вы можете использовать событие dbc_BeforeDropView event для отслеживания доступа до удаения представления из базы данных.

Возврат .F. из процедурного кода события предотвратит удаление представления.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_BeforeDropView ;
         (cViewName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     cViewName =  ' + TRANSFORM(cViewName) + ' - ' ;
                   + TYPE('cViewName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterDropView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeModifyConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeModifyConnection
Смотрите такжеo
CollapseAll image

Происходит перед модификацией соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeModifyConnection(cConnectionName)
PROCEDURE dbc_BeforeModifyConnection
LPARAMETERS cConnectionName

Параметры

cViewName

Определяет имя соединения, которое предполагается модифицировать.

Expand image Примечания

Вы можете использовать событие dbc_BeforeModifyView для отслеживания пробного доступа к базе данных до модификации соединения.

Возврат .F. из этого события предотвратит соединение от изменения.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterModifyConnection

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeModifyProc Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeModifyProc
Смотрите также Пример
CollapseAll image

Происходит до начала редактирования хранимых процедур в открытой базе данных.

PROCEDURE dbc_BeforeModifyProc( )

Expand image Примечания

Вы можете использовать событие dbc_BeforeModiProc event для отслеживания доступа до начала редактирования хранимых процедур.

Возврат .F. из процедурного кода события предотвратит редактирование хранимых процедур.

Expand image Пример

CopyCode image Скопировать код
* Отобразит на экране имя события и откуда оно было вызвано.
PROCEDURE dbc_BeforeModifyProc
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? DBC()
RETURN .F. && предотвращает редактирование хранимых процедур.
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterModifyProc

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeModifyTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeModifyTable
Смотрите также
CollapseAll image

Происходит перед изменением таблицы. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeModifyTable(cTableName)
PROCEDURE dbc_BeforeModifyTable
LPARAMETERS cTableName

Параметры

cTableName

Указывает имя таблицы, которую нужно модифицировать.

Expand image Примечания

Вы можете использовать событие dbc_BeforeModifyTable для отслеживания пробного доступа к базе данных до момента модификации таблицы.

Возврат .F. из этого события предотвратит модификацию таблицы.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterModifyTable

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeModifyView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeModifyView
Смотрите также
CollapseAll image

Происходит до модификации представления. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeModifyView(cViewName)
PROCEDURE dbc_BeforeModifyView
LPARAMETERS cViewName

Параметры

cViewName

Указывает имя представления, которое будет модифицироваться.

Expand image Примечания

Вы можете использовать событие dbc_BeforeModifyView event для отслеживания доступа до модификации представления.

Возврат .F. из процедурного кода события предотвратит модификацию представления.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterModifyView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeOpenTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeOpenTable
Смотрите также Пример
CollapseAll image

Происходит до открытия таблицы или представления, содержащихся в базе данных. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeOpenTable(cTableName)
PROCEDURE dbc_BeforeOpenTable
LPARAMETERS cTableName

Параметры

cTableName

Указывает имя открываемых таблицы или представления.

Expand image Примечания

Вы можете использовать процедурный код метода, ассоциированного с событием dbc_BeforeOpenTable для отслеживания доступа к базе данных до открытия таблицы или представления. Это событие происходит всякий раз, когда таблица или представление открываются явно путем использования команды USE или явным открытием с помощью иной команды, например такой, как SELECT.

Если лежащие в основе представления таблицы еще не открыты при открытии представления, это событие произойдет как для представления, так и для его таблиц. Событие dbc_BeforeOpenTable получает в качестве параметра имя таблицы , а не имя курсора!.

Возврат .F. из процедурного кода события предотвратит открытие таблицы или представления.

Expand image Пример

CopyCode image Скопировать код
* Reports the method name, where it is called from and the
* value of the paramater cTableName.
PROCEDURE dbc_BeforeOpenTable ;
         (cTableName)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                    + TYPE('cTableName')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

События dbc_AfterOpenTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeRemoveTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeRemoveTable
Смотрите также Пример
CollapseAll image

Происзодит до момента удаления таблицы из базы данных. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeRemoveTable(cTableName, lDelete, lRecycle)

PROCEDURE dbc_BeforeRemoveTable
LPARAMETERS cTableName, lDelete, lRecycle

Параметры

cTableName

Указывает имя таблицы, которая будет удалена из базы данных.

lDelete

Определяет - будет ли таблица удалена или сконвертирована в свободную таблицу.

lRecycle

Определяет - будет ли таблица помещена в мусорную корзину Windows Recycle Bin или просто удалена с диска. Некоторые данные таблицы, такие как свойства, присущие только таблицам, связанным с базой данной будут потеряны, даже если таблица помещена в мусорную корзину, а также в случае, если таблица будет сконвертирована в свободную таблицу.

Expand image Примечания

Вы можете использовать событие dbc_BeforeRemoveTable event для отследивания или управления доступом к базе данных до того, как таблица будет удалена из нее или удалена с диска.

Возврат этой процедуров значения .F. предотвратит удаление таблицы из базы данных.

Expand image Пример

CopyCode image Скопировать код
* Reports to the screen Event name, where it is called from and ;
* пересылка параметров.
PROCEDURE dbc_BeforeRemoveTable ;
         (cTableName, ;
          lDelete, ;
          lRecycle)
? '>>   ' + PROGRAM()
?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName ')
? '     lDelete    = ' + TRANSFORM(lDelete)    + ' - ' ;
                   + TYPE('lDelete')
? '     lRecycle   = ' + TRANSFORM(lRecycle)   + ' - ' ;
                   + TYPE('lRecycle')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Сбытие dbc_AfterRemoveTable

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeRenameConnection Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeRenameConnection
Смотрите также Пример
CollapseAll image

Происходит до переименования соединения. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeRenameConnection(cPreviousName,cNewName)
PROCEDURE dbc_BeforeRenameConnection
LPARAMETERS cPreviousName, cNewName

Параметры

cPreviousName

Указывает текущее имя соединения.

cNewName

Указывает новое имя соеденения.

Expand image Примечания

Вы можете использовать событие dbc_BeforeRenameConnection для отслеживания доступа к базе данных до переименования соединения.

Возврат .F. из процедурного кода события предотвратить переименование соединения.

Expand image Пример

CopyCode image Скопировать код
* Отображает имя события, откуда оно вызвано и  ;
* переданные параметры.
PROCEDURE dbc_BeforeRenameConnection ;
         (cPreviousName, cNewName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     cPreviousName = ' + TRANSFORM(cPreviousName)    + ' - ' ;
                       + TYPE('cPreviousName ')
 ? '     cNewName      = ' + TRANSFORM(cNewName)         + ' - ' ;
                       + TYPE('cNewName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руковдство

Событие dbc_AfterRenameConnection

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_BeforeRenameTable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeRenameTable
Смотрите также Пример
CollapseAll image

Происходит перед переименованием таблицы. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeRenameTable(cPreviousName, cNewName)
PROCEDURE dbc_BeforeRenameTable
LPARAMETERS cPreviousName, cNewName

Параметры

cPreviousName

Указывает текущее имя таблицы.

cNewName

Указывает новое имя таблицы.

Expand image Примечания

Вы можете использовать событие dbc_BeforeRenameTable для отслеживания попыток доступа к базе данных до соединения с таблицей, переименования или предотвращения переименования таблицы.

Возврат .F. из этого события предотвратит переименование таблицы.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_BeforeRenameTable;
   (cPreviousName, ;
    cNewName)
 ? '>>   ' + PROGRAM()
 ?? 'in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1
 ? '     Current DBC:    ' + SUBSTR(DBC(),RAT('\',DBC())+1
 ? '     cPreviousName = ' + TRANSFORM(cPreviousName)     + ' – ' +
TYPE('cPreviosName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterRenameTable

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_BeforeRenameView Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeRenameView
Смотрите также
CollapseAll image

Происходит перед перенаименованием представления. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeRenameView(cPreviousName, cNewName)
PROCEDURE dbc_BeforeRenameView
LPARAMETERS cPreviousName, cNewName

Параметры

cPreviousName

Указывает текущее имя представления.

cNewName

Указывает новое имя представления.

Expand image Примечания

Вы можете использовать событие dbc_BeforeRenameView для отслеживания пробного доступа к базе данных до того, как переименование представления будет выполнено.

Возврат .F. из этого события предотвратит представление от переименования.

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterRenameView

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.Бbr />Перевод выполнен JS.
Перевод выполнен JS.


dbc_BeforeValidateData Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_BeforeValidateData
Смотрите также Пример
CollapseAll image

Происходит непосредственно перед выполнением команды VALIDATE DATABASE. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeValidateData
(lRecover, lNoConsole, lPrint, lFile [, cFilename])
PROCEDURE dbc_BeforeValidateData
LPARAMETERS lRecover, lNoConsole, lPrint, lFile [, cFilename]

Параметры

lRecover

Определяет было или нет включено в команду VALIDATE DATABASE ключевое слово RECOVER, которая вызвала срабатывание этого события.

lNoConsole

Определяет было или нет включено в команду VALIDATE DATABASE ключевое слово NOCONSOLE, которая вызвала срабатывание этого события.

lPrint

Определяет было или нет включено в команду VALIDATE DATABASE ключевое слово PRINT, которая вызвала срабатывание этого события.

lFile

Определяет было или нет включено в команду VALIDATE DATABASE ключевое слово FILE , которая вызвала срабатывание этого события.

cFilename

Определяет имя файла вывода, именованного в опции TO FILE команды VALIDATE DATABASE. cFilename представляет собой необязательный параметр, но если вы опустите его и при этом будете использовать опцию TO FILE в команде VALIDATE DATABASE, вы получите сообщение об ошибке "Must specify additional parameters." Если вы не используете опцию TO FILE , но включите в команду параметр cFilename, то он будет преобразован в значение .F..

Expand image Примечания

Вы можете использовать событие dbc_BeforeVal idateData для отслеживания попыток доступа к базе данных до ее проверки.

Возврат .F. из этого события предотвратит проверку базы данных.

Expand image Пример

CopyCode image Скопировать код
* отображает на экране имя события и программы из которой оно было вызвано, а также ;
* переданные параметры.
PROCEDURE dbc_BeforeValidateData;
         (lRecover, ;
          lNoConsole, ;
          lPrint, ;
          lFile, ;
          cFileName)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     lRecover   = ' + TRANSFORM(lRecover)   + ' - ' ;
                    + TYPE('lRecover')
 ? '     lNoConsole = ' + TRANSFORM(lNoConsole) + ' - ' ;
                    + TYPE('lNoConsole')
 ? '     lPrint     = ' + TRANSFORM(lPrint)     + ' - ' ;
                    + TYPE('lPrint')
 ? '     lFile      = ' + TRANSFORM(lFile)      + ' - ' ;
                    + TYPE('lFile')
 ? '     cFileName  = ' + TRANSFORM(cFileName)  + ' - ' ;
                    + TYPE('cFileName ')+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_AfterValidateData

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_CloseData Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_CloseData
Смотрите также Пример
CollapseAll image

Происходит при закрытии базы данных. Имеется две версии синтаксиса.

PROCEDURE dbc_CloseData(cDatabaseName, lAll)
PROCEDURE dbc_CloseData
LPARAMETERS cDatabaseName, lAll

Параметры

cDatabaseName

Указывает имя базы данных, которая закрывается.

lAll

Определяет - было ли включено в команду CLOSE DATABASES ключевое слово ALL. Если события контейнера базы данных разрешены, эо событие присходит каждый раз, когда база данных закрывается, независимо от того, была ли она закрыта именно командой CLOSE DATABASES.

Expand image Примечания

Вы можете использовать событие dbc_CloseData для проверки соответствующих значений cDatabaseName и lAll или использовать эти параметры в процедуре отслеживающей доступ к базе данных, когда база данных должна быть закрыта

Когда одновременно закрывается несколько баз данных, событие dbc_CloseData срабатывает для каждой базы данных. Поэтому, когда вы выдаете команду CLOSE DATABASES ALL, наступает несколько различных событие CloseData и будет исполнено несколько различных методов dbc_CloseData.

Возврат .F. из этого события предотвратит закрытие базы данных.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_CloseData ;
         (cDatabaseName,;
          lAll)
? '     cDatabaseName = ' + TRANSFORM(cDatabaseName) + ' - ' ;
                      + TYPE('cDatabaseName')
? '     lAll          = ' + TRANSFORM(lAll)          + ' - ' ;
                      + TYPE('lAll')+' /end/ '
RETURN .F.     && это предотвратит закрытие базы данных.
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Событие dbc_BeforeAddTable
Событие dbc_Activate

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_Deactivate Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_Deactivate
Смотрите также Пример
CollapseAll image

Происходит, когда база данных становится не активной. Имеется две версии синтаксиса.

PROCEDURE dbc_Deactivate(cDatabaseName)
PROCEDURE dbc_Deactivate
LPARAMETERS cDatabaseName

Параметры

cDatabaseName

Указывает имя деактивируемой базы данных.

Expand image Примечания

Вы можете иметь несколько открытых одновременно баз данных, но только одна из них может быть активной в конкретный момент времени. Деактивацию базы данных может вызывать несколько обстоятельств. Для явного деактивирования базы данных, без активирования какой-либо другой, используйте команду SET DATABASE TO без аргументов.

Если несколько баз данных открыто (с разрешенными событиями контейнера базы данных DBC), при ее деактивации процедурный код метода, ассоциированного с событием dbc_Deactivate исполняется в указанной базе данных.

Возврат .F. из процедурного кода события предотвратит деактивирование базы данных. Поскольку явное закрытие базы данных вызывает и ее деактивирование, то возврат этого значение предотвратит ее закрытие.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_Deactivate ;
         (cDatabaseName)
? '     cDatabaseName = ' + TRANSFORM(cDatabaseName) + ' - ' ;
                      + TYPE('cDatabaseName')+' /end/ '
ENDPROC

Expand image Смотрите также

Справочное руководство

Событие dbc_Activate
Команда SET DATABASE
Событие dbc_CloseData
Событие dbc_ModifyData
Событие dbc_OpenData

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


dbc_ModifyData Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_ModifyData
Смотрите также Пример
CollapseAll image

Наступает незамедлительно после выдачи команды MODIFY DATABASE. Используется для препятствования открытию окна дизайнера баз данных. Имеется две версии синтаксиса.

PROCEDURE dbc_ModifyData(cDatabaseName, lNoWait, lNoEdit )
PROCEDURE dbc_ModifyData
LPARAMETERS [cDatabaseName, lNoWait, lNoEdit ]

Параметры

CDatabaseName

Указывает имя базы данных, которую нужно модифицировать.

lNoWait

Указывает, было ли включено в команду MODIFY DATABASE ключевое слово NOWAIT, следствием чего будет продолжение исполнения программы после того, как откроется Database Designer.

lNoEdit

Указывает было ли включено в команду MODIFY DATABASE ключевое слово NOEDIT, которое предотвратит редактирование базы данных.

Expand image Примечания

Вы можете использовать событие dbc_ModifyData для отслеживания доступа к базе данных, когда она модифицируется. Возвращение .F. из этой процедуры предохранит базу данных от редактирования.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_ModifyData ;
         (CDatabaseName, ;
            lNoWait, ;
            lNoEdit)
? '     cDatabaseName = ' + cDatabaseName + ' - ' ;
                      + TYPE('cDatabaseName ')
 ? '     lNoWait       = ' + TRANSFORM(lNoWait) + ' - ' ;
                       + TYPE('lNoWait')
 ? '     lNoEdit       = ' + TRANSFORM(lNoEdit) + ' - ' ;
                       + TYPE('lNoEdit')+' /end/ '
* Остановить пользователя и не дать ему редактировать базу данных в Дизайнере.
IF lNoEdit
   RETURN .T.
ELSE
   RETURN .F.
ENDIF
ENDPROC

Expand image Смотрите также

Задача

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Команда MODIFY DATABASE

Концепции

Дизайнер баз данных -Database Designer (Visual FoxPro)

Прочие ресурсы

События (Visual FoxPro)
Language Reference (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_OpenData Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_OpenData
Смотрите также Пример
CollapseAll image

Происходит, когда база данных открывается командой OPEN DATABASE или другой командой, такой как MODIFY DATABASE или командой USE <Table>, открывающей таблицу, содержащуюся в закрытой базе данных. Имеется два варианта синтаксиса.

PROCEDURE dbc_OpenData (cDatabaseName, lExclusive, lNoUpdate, lValidate )
PROCEDURE dbc_OpenData
LPARAMETERS [cDatabaseName, lExclusive, lNoUpdate, lValidate ]

Параметры

cDatabaseName

Указывает имя открываемой базы данных.

lExclusive

Определяет, будет ли база данных открыта в монопольном режиме (exclusive).

lNoUpdate

Определяет было ли включено в команду OPEN DATABASE ключевое слово NOUPDATE, которое означает, что база данных открывается в режиме "только для чтения".

lValidate

Определяет было ли включено в команду OPEN DATABASE ключевое слово, которое вызывает подтверждение достоверности базы данных при ее открытии.

Expand image Примечания

Вы можете использовать событие dbc_OpenData для отслеживания доступа к базе данных тогда, когда она открывается.

При возврате false, этот метод предотвращает открытие базы данных.

Expand image Пример

CopyCode image Скопировать код
PROCEDURE dbc_OpenData ;
         (cDatabaseName, ;
          lExclusive, ;
          lNoUpdate, ;
          lValidate)
 ? '     cDatabaseName = ' + TRANSFORM(cDatabaseName) + ' - ' ;
                       + TYPE('cDatabaseName')
 ? '     lExclusive    = ' + TRANSFORM(lExclusive) + ' - ' ;
                       + TYPE('lExclusive')
 ? '     lNoUpdate     = ' + TRANSFORM(lNoUpdate)  + ' - ' ;
                       + TYPE('lNoUpdate')
 ? '     lValidate     = ' + TRANSFORM(lValidate)  + ' - ' ;
                       + TYPE('lValidate'
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Команда OPEN DATABASE
Команда MODIFY DATABASE

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


dbc_PackData Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие dbc_PackData
Смотрите также Пример
CollapseAll image

Происходит до запуска команды PACK DATABASE.

PROCEDURE dbc_PackData( )

Expand image Примечания

Вы можете использовать событие dbc_PackData для отслеживания доступа к базе данных до запуска команды PACK DATABASE.

Возврат .F. из процедурного кода события предотвратит упаковку базы данных. Вы получите сообщение "File access denied" когда попытаетесь упаковать базу данных при возврате этим событием значения .F..

Expand image Пример

CopyCode image Скопировать код
* Отображает на экране имя события, откуда оно было вызвано и ;
* переданные параметры.
PROCEDURE dbc_PackData
 ? '  -  ' + PROGRAM()
 ??' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC: ' + SUBSTR(DBC(),RAT('\',DBC())+1)+' /end/ '
ENDPROC

Expand image Смотрите также

Задачи

Как: разрешить или запретить события контейнера базы данных

Справочное руководство

Команда PACK DATABASE

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


DblClick Event

Visual FoxPro 9.0 Описание Языка
Событие DblClick
См. также

Событие происходит когда пользователь дважды быстро нажал на клавишу мыши.

PROCEDURE Объект.DblClick

Комментарии

Применяется в: CheckBox | ComboBox | CommandGroup | Объект Container | Объект Control | EditBox | Form | Grid | Объект Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Объект Page | PageFrame | Shape | Spinner | TextBox | Объект ToolBar

Событие DblClick происходит когда Вы выбираете пункт в элементах управления ListBox или ComboBox и нажимаете клавишу ENTER.

Если событие DblClick не происходит за отведенный для распознания интервал времени, то оно интерпретируется другим событием Click для текущего элемента управления. Следовательно, если Вы определяете программный код для указанных событий, то Вам необходимо следить за непротиворечием выполняемых операций в соответствующих процедурах. Если для элемента управления не задан код события DblClick , то двойное нажатие на кнопку мыши может быть интерпретировано как два нажатия (т.е два раза работает Click)

Примечание:
Если манипулятор "мышь" имеет более одной кнопки то различать нажатие левой , провой или средней кнопки можно с использованием событий MouseDown и/или MouseUp.

См. также

Другие Ссылки

Событие Click
Событие MouseDown
Событие MouseUp
События
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Deactivate Event

Visual FoxPro 9.0 Описание Языка
Событие Deactivate
См. также

Происходит, когда объект-контейнер, такой как форма, не содержит активного элемента, имеющего фокус.

PROCEDURE Object.Deactivate

Комментарии

Применяется в: Form | FormSet | Page | Объект ProjectHook | ToolBar

События Activate и Deactivate происходят только тогда, когда Вы перемещаете активный фокусмежду эдементами управления, содержащимися в разных формах. Перенесения активного фокуса от одного приложения к другому не переключает фокус между контейнерами одного приложения. Событие Deactivate не происходит, когда форма выгружается (unloading).

Когда программно или интерактивно создается новый объект, происходит событие Deactivate для объекта, который был активен до этого момента, и за тем происходит событие Activate для нового объекта.

Для объекта Form , при активации главного окна Visual FoxPro вызывается событие Deactivate и форма деактивируется. Это улучшение обеспечивает большую интегрированность с функцией BINDEVENT( ) для активации и деактивации форм.

Для объекта ToolBar, событие Deactivate происходит тогда, когда выполняется метод Hide .

Для объекта ProjectHook , событие Deactivate происходит тогда, когда выполняется выбор вне окна Project или когда выполняется команда ACTIVATE WINDOW для другого окна.

См. также

Другие ссылки

Событие Activate
Метод Hide
Событие LostFocus
Метод Show
Свойство Visible
Функция BINDEVENT( )
События
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Deleted Event

Visual FoxPro 9.0 Справочное руководство по языку
Cобытие Deleted
Смотрите также
CollapseAll image

Происходит когда пользователь помечает записи на удаление или снимает пометки с записей помеченых на удаление.

PROCEDURE Grid.Deleted
LPARAMETERS nRecNo

Параметры

nRecNo

Возвращает номер удаляемой записи.

Expand image Примечания

Применимо к: Grid

Expand image Смотрите Также

Справочное руководство

Команда DELETE
Свойство DeleteMark

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Destroy Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие Destroy
Смотрите также
CollapseAll image

Происходит, когда освобождается объект.

PROCEDURE Object.Destroy

Expand image Примечания

Применимо к: CheckBox | Collection Class | Column | ComboBox | CommandButton | Container Object | Control Object | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

Событие Destroy объекта-контейнера инициируется до события Destroy любого из содержащихся в нем объектов; событие Destroy контейнера может указывать содержащиеся в нем объекты до того, как они будут освобождены.

Expand image Смотрите также

Справочное руководство

Метод AddObject
Функция CREATEOBJECT( )
Событие Init
Команда RELEASE
Событие QueryUnload
Событие Unload
Метод Release

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DownClick Event

Visual FoxPro 9.0 Справочное руководство по языку
DownClick Event
Смотрите также
CollapseAll image

Происходит, когда пользователь щелкает по кнопке со стрелкой, указывающей вниз, элемента управления Spinner или по кнопке со стрелкой, указывающей вниз, выпадающего списка элемента управления ComboBox.

PROCEDURE Control.DownClick

Expand image Примечания

Применяется к: ComboBox | Spinner

Используйте событие DropDown для исполнения кода, когда на кнопке со стрелкой, указывающей вниз элемента ComboBox произведен щелчок.

Expand image Смотрите также

Справочное руководство

Событие UpClick

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DragDrop Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие DragDrop
Смотрите также
CollapseAll image

Происходит, когда завершается операция drag-and-drop.

PROCEDURE Object.DragDrop
LPARAMETERS oSource, nXCoord, nYCoord

Параметры

Вы должны включить оператор LPARAMETERS или PARAMETERS в процедурный код события и указать имя для каждого параметра. Visual FoxPro посывает параметры коду события DragDrop в приведенном ниже порядке:

oSource

Ссылка на перетаскиваемый объект. Вы можете обращаться к свойствам и методом объекта с помощью этого параметра.

nXCoord, nYCoord

Содержать значения горизонтальной (nXCoord) и вертикальной (nYCoord) позиции указателя мыши внутри формы, когда дата бросается на целевой объект. Эти координаты выражаются в терминах координатной системы формы в единицах измерения, определяемых значением свойства ScaleMode формы.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Операция drag-and-drop завевршается, когда управляющий элемент перетаскивается поверх другого элемента или формы и отпускается клавиша мыши, или когда для перетаскиваемого элемента вызывается метод Drag с аргументм nAction установленным в 2 (Drop).

Используйте событие DragDrop для управления тем, что должно произойти после того, как завершится операция перетаскивания. Например, вы можете переместить перетаскиваемый элемент управления в новую позицию или скопировать файл из одного места в другое.

Note Замечание

В событие DragDrop вовлечены два объекта, перетаскиваемый элемент управления и целевой объект. Событие DragDrop срабатывает для целевого объекта, а не для перетаскиваемого. Используйте свойство DragMode и метод Drag для указания способа, которым инициализируется операция перетаскивания (ручный запуск операции или автоматический). После того, как операция инициализирована, вы можете обрабатывать события, которые предшествуют событию DragDrop с помощью кода в событии DragOver.

Expand image Смотрите также

Справочное руководство

Метод Drag
Свойство DragIcon
Свойство DragMode
Событие DragOver
Событие MouseDown
Событие MouseUp
Событие MouseMove

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DragOver Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие DragOver
Смотрите также
CollapseAll image

Происходит тогда, когда элемент управления перетаскивается над целевым объектом.

PROCEDURE Object.DragOver
LPARAMETERS oSource, nXCoord, nYCoord, nState

Параметры

Вы должны включить в процедуру события команду LPARAMETERS или PARAMETERS и указать имя для каждого параметра; в противном случае будет сгенерирована ошибка. Visual FoxPro посылает параметры событию DragOver в приведенном ниже порядке:

oSource

Содержит ссылку на перетаскиваемый объект. С помощью этого параметра вы можете обращаться к свойствам и методам этого элемента управления.

nXCoord, nYCoord

Содержат горизонтальную (nXCoord) и вертикальную (nYCoord) координаты указателя мыши внутри форма, когда данные перетаскиваются над целевым объектом. Эти координаты в выражаются в терминах координатной системы формы, в единицах измерения, указанных в свойстве формы ScaleMode.

nState

Содержит число, которое представляет состояние перемещения перетаскиваемого элемента управления по отношению к целевому объекту:

Установка Описание

0

Enter. Элемент управления перетаскивается внутри области цели.

1

Leave. Элемент управления вытащен за пределы области цели.

2

Over. Элемент управления перемещается из одной позиции в целевом объекте в другую.
Используйте nState для определения действия в ключевых точках перемещения. Например, вы можете подсветить возможную цель операции при nState= 0 (Enter) и восстановить внешний вид объекта при nState= 1 (Leave).

Когда объект получает событие DragOver с nState = 0 (Enter):

  • Срабатывает событие DragDrop, если перетаскиваемый элемент управления бросается на объекте цели.

  • Срабатывает другое событие DragOver при nState = 1 (Leave), если перетаскиваемый элемент управления бросается на действительном целевом объекте.

Expand image Примечание

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Объект под иконкой перетаскиваемого объекта представляет собой целевой объект, отвечающий на событие DragOver. Вы можете использовать это событие для отслеживания перемещений указателя мыши, когда он входит в область целевого объекта, выходит из нее или находится непосредственно над целевым объектом.

Используйте событие DragOver для определения, что может случиться после инициализации операции перетаскивания и до того, как перетаскиваемый объект будет брошен на целевой объект. Например, вы можете проверить действенность области целевого объекта, подсветив его с помощью установки свойств BackColor или ForeColor и с помощью отображения индивидуального указателя мыши.

Expand image Смотрите также

Справочное руководство

Метод Drag
Событие DragDrop
Свойство DragIcon
Свойство DragMode
Событие MouseDown
Событие MouseUp
Событие MouseMove

Прочие ресурсы

Events (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


DropDown Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие DropDown
Смотрите также
CollapseAll image

Происходит, когда списочная часть элемента управления ComboBox раскрывается вниз после нажатия на кнопку раскрытия списка в этом элементе управлнеия.

PROCEDURE ComboBox.DropDown

Expand image Примечания

Применяется к: ComboBox

Используйте процедуру события DropDown для выполнения последнего обновления списочной части элемента управления ComboBox до того, как пользователь сделает свой выбор. Это позволяет вам добавлять или удалять предметы списка, используя методы AddItem или RemoveItem. Эта гибкость полезная в случае, когда вы желаете иметь интерактивное взаимодействие между элементами управления в run time. Например, то, что вы желаете видеть появившемся в списочной части элемента управления ComboBox может быть определено выбором пользователем каких-то радио-кнопок, размещенных на форме.

В Visual FoxPro 9.0 вы можете включить команду NODEFAULT внутри процедуры события DropDown, которая предотвратит раскрытие списочной части элемента управления ComboBox. Включение команды NODEFAULT не позволит пользователю обращаться к списочной части ни с помощью мыши, ни с помощью клавиатуры.

Expand image Смотрите также

Справочное руководство

Метод AddItem (Visual FoxPro)
Событие DownClick
Метод RemoveItem

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Error Event (Visual FoxPro)

Visual FoxPro 9.0 Справочник Языка
Событие Error (Visual FoxPro)
См. Также

Происходит, когда появлятся ошибка метода в run time. Вы можете добавить код для обработки события Error так, чтобы объект мог обрабатывать ошибки.

Обратите внимание:
Событие Error происходит только, когда ошибка происходит в коде. Если обработчик события Error не содержит кода, обработки события Error не происходит. Если процедура ON ERROR уже находится в стеке вызовов, то события Error не происходит.

Совет:
Убедитесь, что Вы включаете код, который обработает непредвиденную ошибку. В противном случае, при выполнении кода события Error , он не сможет обработать непредвиденную ошибку, и заданное по умолчанию сообщение об ошибке Visual FoxPro не будет отображаться.

PROCEDURE Object.Error
LPARAMETERS nError, cMethod, nLine

Параметры

nError

Содержит номер ошибки Visual FoxPro.
cMethod

Содержит имя метода, который вызвал ошибку. Однако, если метод вызывает определяемую пользователем функцию, и ошибка происходит в пределах этой функции, cMethod содержит имя определяемой пользователем функции, а не имя метода, который вызвал функцию.
nLine

Содержит номер строки в пределах метода или определяемой пользователем функции, которая вызвала ошибку.

Замечания

Относится к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

Обработка события Error отменяет процедуру ON ERROR и позволяет каждому объекту обнаруживать и обрабатывать ошибки внутри.

Если какие-нибудь ошибки для обработчика события Error происходят в коде, объект должен обработать эти ошибки, и не может передать их в процедуру ON ERROR или в структуру TRY...CATCH...FINALLY .

См. Также

Другие Ресурсы

ON ERROR Команда
TRY...CATCH...FINALLY Команда
События
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


EvaluateContents Event

Visual FoxPro 9.0
Событие EvaluateContents
Смотрите также Пример
CollapseAll image

Происходит непосредственно перед тем, как ReportListener визуализацию полос данных, каждого элемента раскладки типа Expression type, предоставляя тем самым возможность изменить их атрибуты.

PROCEDURE Object.EvaluateContents
LPARAMETERS nFRXRecno, oObjProperties

Параметры

Visual FoxPro посылает событию EvaluateContents параметры в порядке, описанном ниже:

nFRXRecno

Целочисленный тип данных (Integer), указывающий номер записи в файле определения отчета или метки (frx or lbx), в которой описан элемент раскладки, подлежащий визуализации.

oObjProperties

Объекта класса "Empty", члены которого предоставляют значения, существенные для установки атрибутов элемента раскладки типа Expression.

Член oObjProperties Тип Использование

reload

Logical, по умолчанию установливается в .F.

Флажок предупреждения для ReportListener, что вами были сделаны изменения.

Установите этот параметр в True (.T.), чтобы сообщить ReportListener об изменении любого из редактируемых членов oObjProperties.

text

Character, по умолчанию устанавливается в оцениваемое содержание элемента раскладки типа Expression.

Вы можете изменить это значение для изменения визуализируемого содержания Expression в run time.

value

Variant, только для чтения

Это значение предоставляет вычисленный результат выажений отчета, включая вычисляемые поля перечисленных ниже типов данных:

Double (B)

Date (D)

Float (F)

Integer (I)

Logical (L)

Numeric (N)

DateTime (T)

Currency (Y)

Null (X)

Для других типов данных его содержание представляет нулевую строку ("").

Выражения, соединенные специальными операторами ";" и "," могут иметь элементы смешанного типа данных и в этом контексте считаются символьной строкой (тип "C"). Для получения более подробной информации смотрите Укорачивание и соединение выражений.

fontname

Character, устанавливается по умолчанию в шрифт, хранимый в файле таблицы определения отчета или этикетки для этого элемента раскладки.

Вы можете изменить это значение для замены шрифта, используемого для элемента раскладки Expression в run time.

fontstyle, fontsize

Integer, устанавливается по умолчанию в численные значения стиля и размера шрифта, хранимого в файле таблицы определения отчета или этикетки для этого элемента раскладки.

Вы можете изменить эти значения для замены стиля и размера шрифта этого 0элемента раскладки Expression в run time.

Распознает численные значения для oObjProperties.fontstyle, которые документированы в таблице 60FRX.DBF, размещенной в каталоге FILESPEC.

Для получения более подробной инфорамции о 60FRX, смотрите описание Таблица структу для табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

fillred, fillblue, fillgreen, penred, penblue, pengreen

Integer, допустимые значения лежат в диапазоне от 0 до 255, по умолчанию равны 255, и устанавливаются по умолчанию в значения, хранимые в файле таблицы определения отчета или этикетки, до тех пор, пока значение в таблице было равно минус единице (-1), что определяет to indicate "использовать значения по умолчанию". Если значение в таблице было равно-1, ReportListener замещает реальные значения, предназначенные для использования.

Вы можете изменить эти значения для установки компонентов Red, Blue и Green components цветов заливки и пера для элемента раскладки типа Expression.

Для получения более подробной информации смотрите описание задачи Как: изменить цвета в элементах управления отчета.

Если для любого свойства цвета были посланы недопустимые или нечисленные значения, они сбрасываются в значения по умолчанию, хранящиеся в таблице определения отчета или этикетки. Ошибки при этом не происходит.

fillalpha

Integer, допустимые значения лежат в диапазоне от 0 до 255, по умолчанию устанавливаются в 0, когда стиль фона является прозрачным и в 255, когда стиль фона непрозрачный.

Смотрите приведенные ниже примечания для получения информации об использовании alpha-значений элементов раскладки отчета. Если для этого параметра были посланы недопустимые или нечисленные значения, они сбрасываются в значения по умолчанию, как показано на в этом графике.

Для получения информации об установки стиля фона отчета (прозрачный и непрозрачный), смотрите описание задачи Как: изменить прозрачность элементов управления отчета.

penalpha

Integer, допустимые значения лежат в диапазоне от 0 до 255 (непрозрачный).

Смотрите приведенные ниже примечания для получения информации об использовании alpha-значений элементов раскладки отчета.

Если для этого параметра были посланы недопустимые или нечисленные значения, они сбрасываются в значения по умолчанию, как показано на в этом графике.
Note Замечание

Microsoft оставляет за собой право, при необходимости, вызывать EvaluateContents для дополнительных элементов раскладки отчета и этикетки и добавлять членов в oObjProperties соответственно для этих дополнительных типов элементов раскладки. Вы можете использовать nFRXRecno для тестирования типа элемента раскладки так, как это показано в коде примера в описании метода Render.

Expand image Примечания

Применяется к объекту: ReportListener.

Visual FoxPro вызывает EvaluateContents в начале обработки полос данных, один раз для каждого элемента типа Expression. Это не гарантируется, что вызов будет единственным; он может быть вызван множество раз для оценки выражений, которые охватывают полосы данных или страницы, если система производства отчетов полагает эти вызовы необходимыми (например, в случае, если выражение включает в себя _PAGENO).

Note Замечание

Если вы пишите код, стараясь спрогнозировать случай, когда EvaluateContents может быть вызван многократно, имейте в виду, что не все полосы данных поддерживают охват страниц. Посмотрите описание Полосы отчета (Report Bands) для получения более подробной информации.

Note Совет

Для повышения производительности, Visual FoxPro не вызывает ни AdjustObjectSize, ни EvaluateContents, если он определил, что в ReportListener для этого события не имеется кода. Если вы обычно включаете место для кода или код общего плана в каждое событие, имейте в виду, что для двух этих событий лучше не помещать в них никакого кода, особенно в случае, если уровень класса является абстрактным (то есть никогда не служит для прямого создания образца). Включите код в класс этого уровня только в том случае, когда вы действительно собираетесь использовать эту функциональную возможность. Потеря в производительности для каждого EvaluateContents увеличивает количество текста, который родной ReportListener предоставляет в свойстве члена oObjProperties.text, поэтому это количество текста может варьироваться для каждого вызова.

Вы можете использовать такой метод для изменения разных характеристик элементов раскладки типа. Однако, вы не можете изменить ширину элемента раскладки, поэтому вы должны установливать характеристики шрифта и содержания элемента раскладки Expression держа в уме это ограничение. Если элемент раскладки помечен, как stretch (растягиваемый), то он следует тем же правилам, который следуют элементы и Shape, и Picture, в которых вы делаете установку высоты в событии AdjustObjectSize. Для получения более подробной информации смотрите описание события AdjustObjectSize.

EvaluateContents дает вам средство для изменения значения Alpha (прозрачность) обоих значений - и Pen, и Fill для элемента Expression. Файлы определения отчета и этикетки хранят только RGB (Red, Green, Blue) компонентов значений цвета с единственной установкой для "opaque" или "transparent." Используя EvaluateContents, вы можете предоставить большее количество цветовых эффектов прямым управлением значения Alpha.

Note Совет

Возможность использования при визуализации значений цвета Alpha представляет собой функциональную возможность, обеспечиваемую Microsoft Windows GDI+. Для получения более подробной информации смотрите Использование GDI+ в отчетах.

Expand image Пример

The following example cycles through different color combinations based for the odd and even instances of any report's Detail band Expressions, providing a "greenbar" output effect. It also applies some style attributes to elements not in Detail bands. Notice that these effects are applied only to Expressions (for example, labels in a Page Header band are not affected).
CopyCode image Скопировать код
oReportListener = CREATEOBJECT("greenBar")
oReportListener.ListenerType = 1
REPORT FORM (GETFILE("frx")) PREVIEW OBJECT oReportListener

#DEFINE DETAIL_BAND 4
#DEFINE BOLD_UNDERLINE_ITALIC 1+4+2
DEFINE CLASS greenBar AS ReportListener
   detailInstance = 0
   isDetail = .F.

   PROC BeforeBand(nBandObjCode, nFRXRecno)
     IF nBandObjCode = DETAIL_BAND
        THIS.detailInstance = THIS.detailInstance + 1
        THIS.isDetail = .T.
     ELSE
        THIS.isDetail = .F.
     ENDIF
   ENDPROC

   PROC EvaluateContents(nFRXRecno, oProps)
       oProps.Reload = .T.
       * в этом примере перезагружается каждый раз,
       * так как мы хотим изменить каждый элемент Expression
       IF THIS.isDetail
          IF THIS.detailInstance % 2 = 0
             oProps.penRed = 0
             oProps.penBlue = 125
             oProps.penGreen = 0
          ELSE
             oProps.penRed = 0
             oProps.penBlue = 0
             oProps.penGreen = 0
             oProps.fillRed = 0
             oProps.FillBlue = 0
             oProps.FillGreen = 255
             oProps.FillAlpha = 125
              *half-transparent background color
          ENDIF
       ELSE
          oProps.FontStyle = BOLD_UNDERLINE_ITALIC
       ENDIF
   ENDPROC
ENDDEFINE

Expand image Смотрите также

Задачи

Как: добавить в отчеты элементы управления для полей

Справочное руководство

Объект ReportListener

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GotFocus Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие GotFocus
Смотрите также
CollapseAll image

Происходито, когда объект получает фокус - в результате действий со стороны пользователя или в результате выполнения кода.

PROCEDURE Object.GotFocus

Expand image Примечания

Применимо к: CheckBox | ComboBox | CommandButton | Container Object | Control Object | EditBox | Form | ListBox | OLE Bound Control | OLE Container Control | OptionButton | Spinner | TextBox

С помощью события GotFocus можно определять действия, которые должны предприниматься, когда объект получает фокус. Например, назначив каждому элементу управления в объекте Form событие GotFocus, вы может выдавать пользователю краткие инструкции или выводить сообщения в строке состояния. Можно также организовать визуальный "ключ" - делать доступными, недоступными или просто видимыми другие элементы управления, которые зависят от элемента управления, получившего фокус..

Элемент управления получает фокус в результате действий со стороны пользователя, например, когда в коде вызывается метод SetFocus или после щелчка мышью.

Note Note

Объект может получить фокус только тогда, когда его свойства Enabled и Visible имеют значение "истина" (.T.). Чтобы настроить интерфейс клавиатуры на перемещение фокуса, установите порядок табуляции или задайте клавиши доступа для элементов управления формы. Событие GotFocus происходит после события Activate в объекте-контейнере данного элемента управления.

Expand image Смотрите Также

Справочное руководство

Событие Activate (Visual FoxPro)
Свойство ActiveControl
Событие Click
Событие Deactivate
Свойство Enabled (Visual FoxPro)
Событие LostFocus
Метод SetFocus
Свойство TabIndex
Свойство TabStop
Свойство Visible (Visual FoxPro)

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Init Event

Visual FoxPro 9.0 Справочное руководство по языку
Cобытие Init
Смотрите также
CollapseAll image

Имеет место при создании объекта.

PROCEDURE Object.Init
[LPARAMETERS Param1, Param2,...]

Параметры

Param1, Param2...

Эти параметры необязательны, но если они передаются, необходимо включить оператор LPARAMETERS или PARAMETERS, где они все перечислены. В противном случае Visual FoxPro сгенерирует ошибку.

Expand image Примечания

Применимо к: CheckBox | Collection Class | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | Cursor | CursorAdapter Class | Custom | DataEnvironment | EditBox | Exception Class | Form | FormSet | Grid | Header | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Relation | ReportListener Object | Session Object | Shape | Spinner | TextBox | Timer | ToolBar

В случае объектов FormSet и других объектов-контейнеров, события Init для всех содержащихся в них объектов инициируются до события Init контейнера, так что вы можете обращаться к этим объектам в рамках события Init контейнера. События Init для содержащихся в контейнере объектов происходят в том порядке, в каком эти объекты включались в контейнер.

Чтобы предотвратить создание элемента управления, возвратите false (.F.) из события Init. Событие Destroy не будет инициировано. Например, следующий код возвращает значение false (.F.), если таблица Invoice недоступна:

CopyCode image Copy Code
PROCEDURE INIT
  IF NOT FILE("INVOICE.DBF")
  ERROR 'Initialization Failed: File not found'
  RETURN .F.
  ELSE
  USE INVOICE IN 0 AGAIN
  THIS.WorkArea = SELECT()
  ENDIF
ENDPROC

Expand image Смотрите Также

Справочное руководство

Метод AddObject
Функция CREATEOBJECT( )
Событие Load

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


InteractiveChange Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие InteractiveChange
Смотрите также
CollapseAll image

Происходит, когда пользователь изменяет значение элемента управления, используя клавиатуру или мышь.

PROCEDURE Control.InteractiveChange

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandGroup | EditBox | ListBox | OptionGroup | Spinner | TextBox

Событие происходит каждый раз, когда значение объекта изменяется в интерактивном режиме. Например, когда пользователь печатает текст в текстовом боксе, событие InteractiveChange срабатывает после каждого введенного символа.

Expand image Смотрите также

Справочное руководство

Событие Click

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнен JS.


KeyPress Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие KeyPress
Смотрите также
CollapseAll image

Происходит, когда пользоавтель нажимает и отпускает клавишу на клавиатуре. Вы можете использовать свойство KeyPress для перехвата нажатий клавишн в элементе управления. Вы можете, кроме того, незамедлительно проверить соответствие или формат символов непосредственно во время их печати. Используйте свойство KeyPreview для создания глобальных процедур обработки ввода с клавиатуры.

PROCEDURE Object.KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl

Параметры

nKeyCode

Содержит число, которое идентифицирует нажатую клавишу. Со списком кодов для специальных клавиш и клавишных комбинаций можно ознакомиться в описании функции INKEY().

nShiftAltCtrl

Устанавливает конкретный бит, если во время нажатия на клавишу, определенную в nKeyCode удерживалась нажатой одна из клавиш-модификаторов. Клавишами-модификаторами, действительными в Visual FoxPro являются клавиши SHIFT, CTRL и ALT.

В приведенной ниже таблице перечислены значения клавиш-модификаторов для nShiftAltCtrl.

nShiftAltCtrl Клавиша-модификатор

1

SHIFT

2

CTRL

4

ALT

Этот параметр представляет собой сумму бит, где менее значимые биты соответствуют клавише SHIFT (бит 0), клавише CTRL (бит 1) и клавише ALT (бит 2). Эти биты соответствуют значениям 1, 2 и 4, соответственно. Этот параметр показывает состояние этих клавиш. Биты могут быть установлены так: все - все клавиши-модификаторы нажаты; часть - часть клавиш-модификаторы нажата; ни один - ни одна клавиша-модификатор не нажата. Например, если обе клавиши - и CTRL, и ALT - были нажаты, значение параметра nShiftAltCtrl автоматически устанавливается равным 6.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | EditBox | Form | Grid | ListBox | OptionButton | Spinner | TextBox

Событие KeyPress не происходит для любой комбинации клавиш с удерживаемой нажатой клавишей ALT.

Событие KeyPress получает объект, на который установлен фокус.

Форма может получить событие KeyPress в трех специальных случаях:

  • Форма не содержит элементов управления, или ни один из элементов не является видимым или незаблокированным.

  • Значение свойства формы KeyPreview установлено равным True (.T.). В этом случае событие KeyPress первой получает форма, а затем элемент управления, имеющий фокус.

  • Элемент управления на форме не может обрабатывать клавишные нажатия, например, при нажатии на TAB происходит перенос фокуса на следующий элемент управления, расположенный на форме.

Если свойство решетки (grid) AllowCellSelection установлено в значение True (.T.), Visual FoxPro сбрасывает событие KeyPress элемента управления Grid и использует событие на уровне индивидуальной ячейки.

Expand image Смотрите также

Справочное руководство

Функция INKEY()
Свойство KeyPreview

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Load Event

Visual FoxPro 9.0 Справочное руководство по языку
Cобытие Load
Смотрите также
CollapseAll image

Имеет место непосредственно перед созданием объекта.

PROCEDURE Object.Load

Expand image Примечания

Применимо к: Form | FormSet

Событие Load происходит сначала для объекта FormSet, а затем для содержащихся в нем объектов Form. Событие Load происходит перед событиями Activate и GotFocus.

Чтобы предотвратить создание объекта form, возвратите false (.F.) из события Load; событие Destroy не будет инициировано.

Expand image Смотрите Также

Справочное руководство

Событие Activate (Visual FoxPro)
Событие GotFocus
Событие Unload

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LoadReport Event

Visual FoxPro 9.0
LoadReport событие
См. также Пример

Происходит до выполненного отчета, перед событием BeforeReport. Обеспечивает доступ к опциям команды отчёта.

PROCEDURE Object.LoadReport

Параметры

Нет.

Замечания

Применимо к: ReportListener объект.

LoadReport и UnloadReport - два фреймовых(framing) события отчета или этикетки; с точки зрения системы отчётов, выполненение отчета еще не началось, когда вызывается LoadReport, и уже закончилось, когда вызывается UnloadReport.

Следовательно, эти события позволяют Вам выполнить установку и сброс. Например, в LoadReport, Вы можете изменить содержание таблицы отчета или этикетки (frx или lbx), потому что движок отчета и ReportListener не читали ещё содержание таблицы. Вывод на печать еще не начался, если команда REPORT FORM не продолжает задание по выводу на печать, начатое выданной рынее командой REPORT FORM, которая использовала ключевое слово NOPAGEEJECT, так что Вы можете изменить текущую установку принтера.

Примечание:
Для информации о порядке событий при выполненении отчета, см. Понимание объектно-ассистированого выполнения отчета в Visual FoxPro.

Если Вы пишете код для события LoadReport, который возвращает значение .F., отчет не будет выполнен. Спулер печати не будет открыт, предварительный просмотр не будет выполнен, дальнейшие события в Listener не будут вызываться, и так далее. Это подобно событию Load для формы и набора форм; если Load возвращает .F., форма не инициализируется.

Опции, с которыми Вы вызвали REPORT FORM или LABEL FORM, доступны вам для использования в LoadReport; однако, некоторые значения еще не рассчитаны в это время. Для получения дополнительной информации, см. CommandClauses свойство.

Пример

В следующем примере определён класс, файл отчета (frx) указанный в команде REPORT FORM подменяется временным файлом при обработке события LoadReport. При обработке события UnloadReport происходит обратная замена.

Копировать код
DEFINE CLASS rlswap AS ReportListener

   ListenerType = 1  && для вывода результата используется предварительный просмотр
   realFRX = ""
   useFRX = ""
   tempFRX = FORCEPATH(SYS(2015),SYS(2023))

   PROCEDURE LoadReport
      THIS.realFRX = THIS.CommandClauses.FILE
      THIS.useFRX = GETFILE("frx")
      IF EMPTY(THIS.useFRX)
         RETURN .F.
      ENDIF
      SET DATASESSION TO THIS.FRXDataSession
      SET SAFETY OFF  && it's scoped to session anyway
      THIS.ClearFRX(THIS.tempFRX)
      RENAME  (FORCEEXT(THIS.realFRX,"frx")) TO ;
               FORCEEXT(THIS.tempFRX,"frx")
      RENAME  (FORCEEXT(THIS.realFRX,"frt")) TO ;
               FORCEEXT(THIS.tempFRX,"frt")
      COPY FILE  (FORCEEXT(THIS.useFRX,"frx")) TO ;
               FORCEEXT(THIS.realFRX,"frx")
      COPY FILE  (FORCEEXT(THIS.useFRX,"frt")) TO ;
               FORCEEXT(THIS.realFRX,"frt")
   ENDPROC

   PROTECTED PROCEDURE clearFRX(tFRX)
      IF FILE(FORCEEXT(tFRX,"frx"))
         ERASE FORCEEXT(tFRX,"frx")) NORECYCLE
      ENDIF
      IF FILE(FORCEEXT(tFRX,"frt"))
         ERASE FORCEEXT(tFRX,"frt")) NORECYCLE
      ENDIF
   ENDPROC

   PROCEDURE UnloadReport
      SET DATASESSION TO THIS.FRXDataSession
      USE IN FRX
      THIS.clearFRX(THIS.realFRX)
      RENAME  (FORCEEXT(THIS.tempFRX,"frx")) TO ;
               FORCEEXT(THIS.realFRX,"frx")
      RENAME  (FORCEEXT(THIS.tempFRX,"frt")) TO ;
               FORCEEXT(THIS.realFRX,"frt")
   ENDPROC

ENDDEFINE

См. также

Ссылки

ReportListener объект
UnloadReport событие
REPORT FORM команда
LABEL команда

Другие источники

События (Visual FoxPro)
Справочник по языку (Visual FoxPro)

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


LostFocus Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие LostFocus
Смотрите также
CollapseAll image

Происходит, когда объект теряет фокус.

PROCEDURE Object.LostFocus

Expand image Замечания

Применимо к: CheckBox | ComboBox | CommandButton | Container Object | Control Object | EditBox | Form | ListBox | OLE Bound Control | OLE Container Control | OptionButton | Spinner | TextBox

Время возникеовения данного события зависит от типа объекта:

  • Элемент управления теряет фокус при действиях пользователя, таких как табулирование или щелчка по другому элементу управления, или при изменении фокуса в коде используя метод SetFocus. Grid теряет фокус когда пользователь нажимает CTRL+TAB в Microsoft Windows или CONTROL+TAB в Macintosh для выхода из Grid.

  • Форма теряет фокус, когда форма не имеет элементов управления, все ее элементы управления имеют свойство Enabled и Visible установленными в "ложь" (.F.), или другая форма получает фокус.

Для форм, событие LostFocus происходит перед событием Deactivate.

Expand image Смотрите также

Справочное руководство

Событие Deactivate
Свойство Enabled (Visual FoxPro)
Событие GotFocus
Свойство Visible (Visual FoxPro)

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


MiddleClick Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MiddleClick
Смотрите также
CollapseAll image

Происходит, когда пользователь щелкает по средней клавише мыши на трехклавишной мыши, в момент когда она находится над элементов управления.

PROCEDURE Control.MiddleClick

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container | Control | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Expand image Смотрите также

Справочное руководство

Событие Click
Событие DblClick
Событие DragDrop
Событие DragOver
Событие DropDown
Свойство Enabled (Visual FoxPro)
Событие KeyPress
Событие MouseDown
Событие MouseMove
Событие MouseUp
Событие Scrolled
Событие UnDock

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MouseDown Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MouseDown
Смотрите также
CollapseAll image

Происходит, когда пользователь нажимает клавишу мыши.

PROCEDURE Object.MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord

Параметры

Вы должны включить оператор LPARAMETERS или PARAMETERS в процедурный код события и указать имя для каждого параметра. Visual FoxPro посылает событию MouseDown параметры в приведенном ниже порядке:

nButton

Содержит число, которое указывает, какая кнопка мыши была нажата при срабатывании события: 1(левая), 2(правая) или 4(средняя).

nShift

Содержит число, которое указывает состояние ключей модификации в момент когда была нажата кнопка мыши. Действительными ключами модификации являются ключи SHIFT, CTRL и ALT.

Значения, возвращаемые в nShift для индивидуальных ключей модификации, перечислены в приведенной ниже таблице.

Значения ключей модификации для nShift

клавиша Windows Значение

SHIFT

1

CTRL

2

ALT

4

Если были нажаты более чем один ключ модификации, во время, когда была нажата клавиша мыши, то аргумент nShift содержит сумму значений для ключей модификации. Например, если пользователь нажал и удерживал CTRL, во время нажатия клавиши мыши, то аргумент nShift содержит 2. Но если пользователь нажал CTRL+ALT, во время нажатия клавиши мыши, то аругмент nShift содержит 6.

nXCoord, nYCoord

Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) позицию указателя мыши внутри формы. Эти координаты всегда выражаются в терминах координатной системы формы и в единицах измерения, определяемых значение свойства ScaleMode формы.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Используйте процедурный код события MouseDown для указания действией происходящих при нажатии клавиши мыши. В отличие от событий Click и DblClick вы можете использовать событие MouseDown для распознавания конкретной клавиши мыши - левой, правой или средней. Кроме того, вы можете написать код для клавишный сцеплений - клавиатура+мышь, который будет использовать ключи модификации.

Note Совет

Вы можете использовать событие MouseMove для ответа на события, вызванные перемещением мыши. Параметр nButton для событий MouseDown и MouseUp отличается от параметра nButton, используемого для MouseMove. Для событий MouseDown или MouseUp, параметр nButton указывает только одну клавишу на событие; тогда как MouseMove,указывает текущее состояние всех клавиш мыши.

Expand image Смотрите также

Справочное руководство

Событие Click
Событие DblClick
Событие MiddleClick
Событие MouseMove
Свойство MousePointer
Событие MouseUp
Событие MouseWheel

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MouseEnter Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MouseEnter
Смотрите также
CollapseAll image

Происходит, когда курсор мыши входит в область пространства на форме или панели инструментов, занимаемую элементом управления

PROCEDURE Object.MouseEnter
LPARAMETERS nButton, nShift, nXCoord, nYCoord

Параметры

nButton

Содержит число, которое указывает, какая кнопка мыши была нажата при срабатывании события: 1(левая), 2(правая) или 4(средняя).

nShift

Содержит число, которое указывает состояние ключей модификации в момент, когда была нажата клавиша мыши. Действительными ключами модификации являются ключи SHIFT, CTRL и ALT.

Значения, возвращаемые в nShift для индивидуальных ключей модификации, перечислены в приведенной ниже таблице.

клавиша Windows Значение

SHIFT

1

CTRL

2

ALT

4

Если были нажаты более чем один ключ модификации, во время, когда была нажата клавиша мыши, то аргумент nShift содержит сумму значений для ключей модификации. Например, если пользователь нажал и удерживал CTRL, когда была нажата клавиша мыши, то аргумент nShift содержит 2. Но если пользователь нажал CTRL+ALT, когда была нажата клавиша мыши, то аругмент nShift содержит 6.

nXCoord, nYCoord

Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) позицию указателя мыши внутри формы. Эти координаты всегда выражаются в терминах координатной системы формы и в единицах измерения, определяемых значение свойства ScaleMode формы.

Expand image Примечания

Применяется к: CheckBox | OptionButton | OptionGroup | CommandButton | CommandGroup | ComboBox | ListBox | Grid | Header | Spinner | TextBox | EditBox | Label | Line | Container Object | Shape | Image | Page | PageFrame Control

Вы можете использовать это событие и событие MouseLeave для создания эффекта перекрытия и поведения мыши аналогично поведению в DHTML.

Элемент управления получает событие MouseEnter, когда пользователь перемещает курсор мыши в область пространства, занимаемого элементом управления на форме или в панели инструментов из позиции мыши, которая до этого размещалась вне области размещения элемента. В случае перекрытия или пересечения элементов управления, событие получает самый веврхний элемент управленив в z-порядке, если рассматривать размещение элементах, как в слоях.

Событие MouseEnter посылается объектам на форме или панелях инструментов. Формы и панели инструментов сами по себе не получают этого события.

Expand image Смотрите также

Справочное руководство

Событие MouseLeave
Событие Click
Событие DblClick
Событие MiddleClick
Событие MouseMove
Свойство MousePointer
Событие MouseUp
Событие MouseWheel

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MouseLeave Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MouseLeave
Смотрите также
CollapseAll image

Происходит, когда курсор мыши выходит за пределы пространства на форме или панели инструментов, занимаемой элементом управления

PROCEDURE Object.MouseLeave
LPARAMETERS nButton, nShift, nXCoord, nYCoord

Параметры

nButton

Содержит число, которое указывает, какая кнопка мыши была нажата при срабатывании события: 1(левая), 2(правая) или 4(средняя).

nShift

Содержит число, которое указывает состояние ключей модификации в момент, когда была нажата клавиша мыши. Действительными ключами модификации являются ключи SHIFT, CTRL и ALT.

Значения, возвращаемые в nShift для индивидуальных ключей модификации, перечислены в приведенной ниже таблице.

клавиша Windows Значение

SHIFT

1

CTRL

2

ALT

4

Если были нажаты более чем один ключ модификации, во время, когда была нажата клавиша мыши, то аргумент nShift содержит сумму значений для ключей модификации. Например, если пользователь нажал и удерживал CTRL, когда была нажата клавиша мыши, то аргумент nShift содержит 2. Но если пользователь нажал CTRL+ALT во время, когда была нажата клавиша мыши, то аругмент nShift содержит 6.

nXCoord, nYCoord

Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) позицию указателя мыши внутри формы. Эти координаты всегда выражаются в терминах координатной системы формы и в единицах измерения, определяемых значение свойства ScaleMode формы.

Expand image Примечания

Применяется к: CheckBox | OptionButton | OptionGroup | CommandButton | CommandGroup | ComboBox | ListBox | Grid | Header | Spinner | TextBox | EditBox | Label | Line | Container Object | Shape | Image | Page | PageFrame Control

Вы можете использовать это событие и событие MouseEnter для создания эффекта перекрытия и обеспечения поведения мыши аналогично поведению в DHTML.

Элемент управления получает событие MouseLeave, когда пользователь выводит указатель мыши за пределы элемента управления из позиции, которая ранее находилась внутри области элемента управления. В случае перекрытия или пересечения элементов управления, то событие получает самый верхний в z-порядке элемент управления (если рассматривать расположение элементов, в виде слоев).

Событие MouseLeave посылается объектам на форме или на панелях инструментов. Формы и панели инструментов сами по себе не получают этого события.

Expand image Смотрите также

Справочное руководство

Событие MouseEnter
Событие Click
Событие DblClick
Событие MiddleClick
Событие MouseMove
Свойство MousePointer
Событие MouseUp
Событие MouseWheel

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MouseMove Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MouseMove
Смотрите также
CollapseAll image

ПроисходитЮ когда пользователь перемещает указатель мыши над объектом.

PROCEDURE Object.MouseMove
LPARAMETERS nButton, nShift, nXCoord, nYCoord

Параметры

Вы должны включить команду LPARAMETERS или PARAMETERS в процедуру события и указать имя для каждого параметра. Visual FoxPro посылают параметры событию MouseMove в приведенном ниже порядке:

nButton

Содержит число, определяющее какая кнопка мыши удерживалась нажатой при перемещении указателя мыши. Числа и их описания приведены ниже в таблице:

Значения для клавиш мыши для параметра nButton

Windows nButton значение

Левая клавиша мыши

1

Правая клавиша мыши

2

Средняя клавиша мыши

4

Если во время перемещения мыши были нажати две и более клавиш, то nButton содержит сумму значений для отдельных клавиш. Например, если обе, и левая, и правая клавиши мыши были удержаны нажатыми во время перемещения мыши, то nButton содержит значение 3.

nShift

Определяет число, указывающее состояние клавиш модификаторов, которые были удержаны нажатыми при перемещении. В Visual FoxPro для Windows, действительными клавишами модификаторами являются клавиши SHIFT, CTRL и ALT.

Значение, возвращаемое в nShift для конкретных клавиш-модификаторов приведены ниже в таблице.

Значения клавиш-модификаторов для параметра nShift

Windows клавиша Значение

SHIFT

1

CTRL

2

ALT

4

Если более чем одна клавиша-модификатор удерживалась нажатой в то время, когда была нажата клавиша мыши, то параметр nShift будет содержать сумму значений для клавиш-модификаторов, точно также, как и в случае удержания двух клавиш мыши.

nXCoord, nYCoord

Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) позиции указателя мыши внутри формы. Эти координаты всегда выражаются в терминах координатной системы формы, в единицах измерения, установленных в свойстве ScaleMode.

Событие MouseMove срабатывает постоянно, пока указатель мыши перемещается над объектами.

Note Замечание

Вы можете использовать события MouseDown и MouseUp для ответа на события, вызываемые нажатием и отпусканием клавиш мыши. Параметр nButton для MouseMove отличается от параметра nButton для MouseDown и MouseUp. Для MouseMove, параметр nButton указывает текущее состояние всех клавиш; одиночное событие MouseMove может указать, что некоторые или все клавиши были нажаты, или наоборот - ни одна из них не была нажата. Для событий MouseDown или MouseUp, параметр nButton однозначно указывает значение только одной клавиши на событие. Избегайте перемещения окна внутри процедуры события MouseMove; это может вызвать каскад событий и сгенерировать run-time ошибки, такие как, как переполнение стэка. События MouseMove срабатывают, когда окно перемещается под указателем мыши. Событие MouseMove может сработать, в этом случае, даже если мышь неподвижна.

Expand image Примечание

Применяется к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Expand image Смотрите также

Справочное руководство

Событие Click
Событие DblClick
Событие MiddleClick
Свойство MousePointer
Событие MouseDown
Событие MouseUp
Событие MouseWheel

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


MouseUp Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MouseUp
Смотрите также
CollapseAll image

Происходит, когда пользователь отпускает клавишу мыши.

PROCEDURE Object.MouseUp
LPARAMETERS nButton, nShift, nXCoord, nYCoord

Параметры

Вы должны включить оператор LPARAMETERS или PARAMETERS в процедурный код события и указать имя для каждого параметра. Visual FoxPro посылает событию MouseUp параметры, в приведенном ниже порядке.

nButton

В Visual FoxPro для Windows, содержит число, которое указывает, какая клавиша мыши была отпущена для срабатывания события: 1 (левая), 2 (правая), или 4 (средняя).

nShift

Содержит число, указывающее состояние ключей модификации в момент, когда была отпущена клавиша мыши. В Visual FoxPro для Windows, действительными ключами модификации являются ключи SHIFT, CTRL и ALT.

Значения, возвращаемые в nShift для индивидуальных ключей модификации, перечислены в приведенной ниже таблице.

клавиша Windows Значение

SHIFT

1

CTRL

2

ALT

4

Если были нажаты более чем один ключ модификации, во время, когда была отпущена клавиша мыши, то аргумент nShift содержит сумму значений для ключей модификации. Например, если пользователь нажал и удерживал CTRL, во время отпускания клавиши мыши, то аргумент nShift содержит 2. Но если пользователь нажал CTRL+ALT, во время нажатия клавиши мыши, то аругмент nShift содержит 6.

nXCoord, nYCoord

Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) позицию указателя мыши внутри формы. Эти координаты всегда выражаются в терминах координатной системы формы и в единицах измерения, определяемых значение свойства ScaleMode формы.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Используйте процедуру для указания действий наступивших в момент отпускания клавиши мыши. В отличие от событий Click и DblClick, событие MouseUp предоставляет возможность различать клавиши мыши - левую, правую и среднюю. Кроме того, вы можете написать код для комбинаций клавиш - клавиатура+мышь, в котором можете использовать значение ключей модификации.

Вы можете использовать процедуру MouseMove для ответа на событие, вызванное перемещением мыши.

Note Замечание

Параметр nButton для событий MouseDown и MouseUp отличается от параметра nButton используемого для MouseMove. Для MouseDown или MouseUp параметр nButton определяет только одну клавишу мыши на событие, тогда как MouseMove, он определяет состояние всех клавиш мыши.

Expand image Смотрите также

Справочное руководство

Событие Click
Событие DblClick
Событие MiddleClick
Событие MouseDown
Событие MouseMove
Свойство MousePointer
Событие MouseWheel
Свойство ScaleMode

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MouseWheel Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие MouseWheel
Смотрите также
CollapseAll image

Происходит, когда пользователь вращает колесико мыши, если она оборудована им.

PROCEDURE Object.MouseWheel
LPARAMETERS nDirection, nShift, nXCoord, nYCoord

Параметры

Вы должны включить оператор LPARAMETERS или PARAMETERS в процедурный код события и указать имя для каждого параметра. Visual FoxPro посылает параметры событию MouseWheel в приведенном ниже порядке.

nDirection

Содержит зависящееся от устройства мыши число, которое указывает направление, в котором вращали колесико мыши. Отрицательные значения указывают, что колесико вращали назад; положительные числа указывают, что колесико мыши вращали вперед.

nShift

Содержит число, указывающее состояние ключей модификации, в момент, когда вращали колесико мыши. Действительными ключами модификации являются ключи SHIFT, CTRL и ALT.

Значения, возвращаемые в nShift для индивидуальных ключей модификации, перечислены в приведенной ниже таблице.

Значение Key

1

SHIFT

2

CTRL

4

ALT

Если были нажаты более чем один ключ модификации, во время, когда вращалось колесико мыши, то аргумент nShift содержит сумму значений для ключей модификации. Например, если пользователь нажал и удерживал CTRL, во время вращения колесика мыши, то аргумент nShift содержит 2. Но если пользователь нажал CTRL+ALT, во время вращения колесика мыши, то аругмент nShift содержит 6.

nXCoord, nYCoord

Содержит текущие горизонтальную (nXCoord) и вертикальную (nYCoord) позицию указателя мыши внутри формы. Эти координаты всегда выражаются в терминах координатной системы формы и в единицах измерения, определяемых значение свойства ScaleMode формы.

Expand image Примечания

Применяется к: CheckBox | Column | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

Expand image Смотрите также

Справочное руководство

Событие Click
Событие MiddleClick
Свойство MousePointer
Событие MouseDown
Событие MouseUp

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Moved Event

Visual FoxPro 9.0 Справочное руководство по языку
Cобытие Moved
Смотрите также
CollapseAll image

Имеет место, когда объект перемещается на новую позицию или когда установки свойства Top или Left объекта-контейнера изменяются программным способом.

PROCEDURE Object.Moved

Expand image Примечания

Применимо к: Column | Container Object | Control Object | Form | Grid | OLE Bound Control | OLE Container Control | PageFrame | ToolBar

Имеет место, когда объект перемещается на новую позицию или когда установки свойства Top или Left изменяются программным способом.

Expand image Смотрите Также

Справочное руководство

Свойство ColumnOrder
Свойство Left (Visual FoxPro)
Свойство Top (Visual FoxPro)

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


OLECompleteDrag Event

Visual FoxPro 9.0 Справочное руководство по языку
OLECompleteDrag Event
Смотрите также
CollapseAll image

Происходит, когда данные "бросаются" на целевой объект операции drop или когда операция OLE drag-and-drop прерывается.

PROCEDURE Object.OLECompleteDrag
LPARAMETERS nEffect

Expand image Возвращаемое значение

nEffect

Значение, посылаемое событию OLEDragDrop, соответствующее действию, производимому, когда данные "бросаются" на целевой объект операции drop. В приведенной ниже таблице перечислены значения для nEffect с объяснением каждого действия.

nEffect константа Foxpro.h Описание

0

DROPEFFECT_NONE

Целевой объект операции Drop не принимает данные или операция drop прервана.

1

DROPEFFECT_COPY

Данные копируются из источника данных в целевой объект операции drop.

2

DROPEFFECT_MOVE

Данные перемещаются из источника данных в целевой объект операции drop.

4

DROPEFFECT_LINK

DДанные не копируются и не перемещаются из источника данных в целевой объект, а вместо этого связываются с целевым объектом операции drop.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

OLECompleteDrag представляет собой событие источника операции drag, и является последним событием, происходящим в операции OLE drag-and-drop. Включение команды NODEFAULT предотвращает перемещаемый текст от удаления текста.

Это событие позволяет источнику операции drag определить действие, производимое с данными на целевом объекте операции drop. Целевой объект операции drop может установить nEffect в его событие OLEDragDrop и источник операции drag, может произвести подходящие для этого действия, на основе значения nEffect. Например, если данные перемещаются в целевой объект операции drop, то источник данных должен удалить их у себя.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Событие OLEDragDrop
Свойство OLEDropMode
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDragDrop Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие OLEDragDrop
Смотрите также
CollapseAll image

Происходит, когда data перетаскивается на целевой объект операции drop и свойство этого объекта OLEDropMode установлено в 1 – Enabled.

PROCEDURE Object.OLEDragDrop
LPARAMETERS oDataObject, nEffect, nButton,
  nShift,   nXCoord, nYCoord

Expand image Возвращаемое значение

oDataObject

Объектная ссылка на OLE drag-and-drop DataObject, используемый методами GetData и GetFormat для возврата данных и их формата в DataObject.

nEffect

Значение, посылаемое событию OLECompleteDrag, указывающее действие, производимое, когда данные будут брошены на целевой объект операции drop. nEffect является начальным значение, указывающим, что операции OLE drag-and-drop поддерживаются источником данных, то есть объектом операции drag. Внутри события OLEDragDrop вы можете изменить значение nEffect , которые посылается событию OLECompleteDrag. Если вы изменили значение nEffect, убедитесь, что включили в процедурный код события команду NODEFAULT, для предотвращения поведения по умолчанию. В приведенной ниже таблице перечислены значения для nEffect, которые вы можете послать событию OLECompleteDrag, с описанием каждого действия.

nEffect константа Foxpro.h Описание

0

DROPEFFECT_NONE

Целевой объект операции Drop не принимает данных и операция прекращается.

1

DROPEFFECT_COPY

Данные копируются из источника в целевой объект.

2

DROPEFFECT_MOVE

Данные перемещаются из источника в целевой объект.

4

DROPEFFECT_LINK

Данные не копируются и не перемщаются, а лишь связываются ссылкой с целевым объектом.
nButton

Содержит число, которое указавыет - какая клавиша мыши была отпущена, когда данные были брошены на целевой объект: 1 (левая), 2 (правая) или 4 (средняя).

nShift

Содержит число, определяющее состояние ключей-модификаторов, которое было в момент, когда была отпущена клавиша мыши для "бросания" данных на целевой объект. Действительными ключами-модификаторами являются SHIFT, CTRL и ALT. Значение, возвращаемое в nShift для индивидуальных ключей-модификаторов перечислены в приведенной ниже таблице.

nShift Ключ модификатора

1

SHIFT

2

CTRL

4

ALT

Если более чем один ключ-модификатор удерживался пользователем, когда была нажата клавиша мыши, то аргумент nShift будет содержать сумму значений для ключей модификаторов. Например, если пользователь удерживал нажатой клавишу CTRL, когда отпускал клавишу мыши, то аргумент nShift будет содержать 2. Но если пользователь удерживал нажатыми одновременно CTRL+ALT пока отпускал клавишу мыши, то аргумент nShift будет содержать 6.

nXCoord, nYCoord

Содержит горизонтальную (nXCoord) и вертикальную (nYCoord) позиции указателя мыши внутри формы, в момент, когда была отпущена ее клавиша для "бросания" данных на целевой объект операции drop. Эти координаты выражаются в терминах координатной системы формы и в единицахз измерения, определяемых значением свойства формы ScaleMode.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar

OLEDragDrop представляет собой событие операции drop целевого объекта, которое происходит только в случае, если свойство OLEDropMode для элемента управления или объекта, являющихся целевыми объектами операции, установлено в 1 – Enabled. Это событие не происходит, если свойство OLEDropMode установлено в 0 – Disabled или 2 – Pass to Container.

Если вы производите свою собственную обработку операции drop в событии OleDragDrop, включите команду NODEFAULT для предотвращения дефолтной обработки операции drop. В этом случае, вы должны установить результирующее значение для аргумента nEffect.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Событие OLECompleteDrag
Свойство OLEDropMode
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEDragOver Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие OLEDragOver
Смотрите также
CollapseAll image

Происходит, когда данные перетаскиваются над целевым объектом, в который перетаскиваются данные, а свойство OLEDropMode этого целевого объекта установлено в 1 – Enabled.

PROCEDURE Object.OLEDragOver
LPARAMETERS oDataObject, nEffect, nButton,
  nShift,   nXCoord, nYCoord, nState

Expand image Возвращаемое значение

oDataObject

Объектная ссылка на OLE drag-and-drop DataObject, используемый методами GetData и GetFormat

для возврата данных и формата данных в DataObject.

nEffect

Значение, посылаемое событию OLEGiveFeedback, указывающее на производимое действие, если данные перетащены на целевой объект. nEffect является начальным значением, которое показывает, что операции OLE drag-and-drop поддерживаются источником данных для перетаскивания. В приведенной ниже таблице перечислены значения для nEffect с описанием каждого действия.

nEffect константа Foxpro.h Описание

0

DROPEFFECT_NONE

Объект, на который перетаскиваются данные не принимает данные или операция "бросания" прекращена.

1

DROPEFFECT_COPY

Данные копируются из источника в целевой объект.

2

DROPEFFECT_MOVE

Данные перемещаются из источника в целевой объекта.

4

DROPEFFECT_LINK

Данные источника связываются с целевым обеъктов (не копируются и не перемещаются, а только связываются).
nButton

Содержит число, которое указывает - какая клавиша мыши была нажата, когда данные перетаскивались над целевым объектом операции: 1 (левая), 2 (правая) или 4 (средняя).

nShift

Содержит число, указывающее состояние клюей модификаторов, когда данные перетаскивались над целевым объектом операции. Действительными ключами-модификаторами являются SHIFT, CTRL и ALT. Значение, возвращаемое в параметре nShift для индивидуальных ключей-модификаторов перечислены в приведенной ниже таблице.

nShift Ключ модификатора

1

SHIFT

2

CTRL

4

ALT

Если более чем одна клавиша ключа-модификатора удерживалась нажатой, то аргумент nShift содержит сумму значений ключей-модификаторов. Например, если пользователь удерживал клавишу CTRL в момент, когда отпускалась клавиша мыши, то аргумент nShift содержит 2. Но, если пользователь удерживал нажатыми CTRL+ALT в момент, когда отпускалась клавиша мыши, аргумент nShift будет содержать 6.

nXCoord, nYCoord

Содержит горизонтальную (nXCoord) и вертикальную (nYCoord) позиции указателя мыши внутри формы, когда данные перетаскивались над целевым объектом операции drop. Эти координаты выражаются в терминах координатной системы формы и в единицах, определяемых значением свойства формы ScaleMode.

nState

Содержит число, определяющее направление, в котором перетаскивались данные - в элемент управления или объект, внутрь объекта или элемента управления или наружу из элемента управления или объекта. Значения для nState перечислены в приведенной ниже таблице.

nState Описание

0

Данные перетаскиваются в элемент управления или объект. Свойства OLEDropEffects и OLEDropHasData должны быть установлены, когда nState равен нулю.

1

Данные перетаскиваются из элемента управления или объекта.

2

Данные перетаскиваются внутри элемента управления или объекта.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar

OLEDragOver is a drop target event that only occurs when the OLEDropMode property for the control or object is set to 1 – Enabled. Это событие не происходит, если свойство OLEDropMode установлено в 0 – Disabled или в 2 – Pass to Container.

Отметьте, что вы должны избегать состояния ожидания в событии OLEDragOver, которое могут вызвать такие команды, как WAIT WINDOW и MESSAGEBOX().

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Событие OLEGiveFeedback
Свойство OLEDropEffects
Свойство OLEDropHasData
Свойство OLEDropMode

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OLEGiveFeedback Event

Visual FoxPro 9.0 Справочное руководство по языку
OLEGiveFeedback Event
Смотрите также
CollapseAll image

Происходит после каждого события OLEDragOver. Позволяет источнику операции drag указать тип операции OLE drag-and-drop и предоставить визуальную обратную связь пользователю.

PROCEDURE Object.OLEGiveFeedback
LPARAMETERS nEffect, eMouseCursor

Expand image Возвращаемое значение

nEffect

Действие, производимое, когда данные бросаются на целевой объект операции drop. Значение для nEffect устанавливается целевым объектом операции drop в его событии OLEDragOver. В приведенной ниже таблице перечислены значения для nEffect с описанием каждого действия.

nEffect константа Foxpro.h Описание

0

DROPEFFECT_NONE

Целевой объект операции Drop не может акцептировать данные.

1

DROPEFFECT_COPY

Результаты операции Drop копируются.

2

DROPEFFECT_MOVE

Результаты операции Drop перемещаются.

4

DROPEFFECT_LINK

Результаты операции Drop образуют ссылку.
eMouseCursor

Определяет курсор мыши, отображаемый в течение операции OLE drag-and-drop. eMouseCursor может принимать численные или символьные значения. eMouseCursor является выходным параметров и устанавливается в нуль при входе в событие.

Если eMouseCursor является символьным значение, то подразумевается, что символьное значение представляет собой имя графического файла с расширением .ani, .cur или .ico. Если eMouseCursor является численным значением, то оно указаывет на отображаемый указатель мыши. В приведенной ниже таблице перечислены численные значения для eMouseCursor с описание каждого указателя мыши.

eMouseCursor константа Foxpro.h Описание

0

MOUSE_DEFAULT

Очертание, определяемое объектом. (По умолчанию)

1

MOUSE_ARROW

Стрелка.

2

MOUSE_CROSSHAIR

Перекрестие.

3

MOUSE_IBEAM

Курсор вставки - I-Beam.

4

MOUSE_ICON_POINTER

Иконка. Маленькая белая рамка в черном квадрате.

5

MOUSE_SIZE_POINTER

Размер. Указатель их четырех стрелок, ориентированных по частям света.

6

MOUSE_SIZE_NE_SW

Указатель размера "северо-восток/юго-запад". Укзатель в виде стрелки с двумя направлениями.

7

MOUSE_SIZE_N_S

Указатель размера "север/юг". Укзатель в виде стрелки с двумя направлениями.

8

MOUSE_SIZE_NW_SE

Указатель размера "северо-запад/юго-восток". Укзатель в виде стрелки с двумя направлениями.

9

MOUSE_W_E

Указатель размера "восток/запад". Укзатель в виде стрелки с двумя направлениями.

10

MOUSE_UP_ARROW

Стрелка вверх.

11

MOUSE_HOURGLASS

Песочные часы.

12

MOUSE_NO_DROP

No Drop. Кружок с косой чертой

13

MOUSE_HIDE_POINTER

Курсор скрыт.

14

MOUSE_ARROW2

Стрелка.

15

MOUSE_ARROW_HOURGLASS

Стрелка с песочными часиками.

16

MOUSE_ARROW_QUESTION

Стрека с вопросительным знаком.

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | ProjectHook Object | Shape | Spinner | TextBox | ToolBar

OLEGiveFeedback представляет собой событие источника операции drag, которое позволяет вам предоставить визуальную обратную связь пользователю. Вы можете изменить курсор указателя мыши, указывающий но то, что происходит операция, когда указатель мыши позиционируется над источником операции drag или над целевым объектом операции drop. Включение NODEFAULT не имеет воздействия на поведение этого метода.

Отметьте, что вы должны избегать создания состояния ожидания в событии OLEGiveFeedback, вызываемого командами и функциями такими, как WAIT WINDOW и MESSAGEBOX( ).

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Событие OLEDragOver
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


OLESetData Event

Visual FoxPro 9.0 Описание Языка
OLESetData, Событие
См. также
CollapseAll image

Происходит для Источника операции OLE-Drag-And-Drop в тот момент, когда в точке назначения вызывается соответствующий Метод GetData.

PROCEDURE Object.OLESetData
LPARAMETERS oDataObject, eFormat

Expand image Возвращаемое значение

oDataObject

Определяет Объектную Ссылку на Элемент, для которого выполняется операция "перетаскивания" (OLE drag-and-drop) DataObject, которая используется при вызове Метода SetData для размещения требуемых данных в объекте DataObject.

eFormat

Определяет Числовой или Символьный Формат, используемый при передаче данных в соответствующий Метод GetData. Источник применения описываемой операции OLE использует данный Формат для загрузки соответствующих данных в Объект DataObject. Смотрите дополнительно раздел: GetData, метод, где приведена Таблица допустимых числовых и сисмвольных Значений, применяемых в различных Ситуациях.

Expand image Комментарии

Применяется В: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

OLESetData is a drag source event. Including NODEFAULT has no effect on the behavior of this method.

Рассматриваемое Событие OLESetData происходит при выполнении соответствующего метода GetData. При возникновении данного события OLESetData, вы можете разместить (загрузить) требуемые данные в соответствующий DataObject, в соответствующем Формате, с помощью Метода SetData. Обычно, описываемая Технология называется "delay rendering" (обеспечение Задержки), она позволяет выполнять Загрузку необходимых данных в объект DataObject только в том случае, когда это Требуется.

Expand image См. также

Описание

GetData, метод
Операции "OLE Drag-and-Drop"
OLESetData, событие
SetData, метод
NODEFAULT, команда

Другие ссылки

События (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


OLEStartDrag Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие OLEStartDrag
Смотрите также
CollapseAll image

Происходит, когда вызывается метод OLEDrag.

PROCEDURE Object.OLEStartDrag
LPARAMETERS oDataObject, nEffect

Expand image Возвращаемое значение

oDataObject

Объектная ссылка на OLE drag-and-drop DataObject. Вы можете вызвать любой метод DataObject из события OLEStartDrag.

nEffect

Операции OLE drag поддерживаются источником, из которого перетаскиваются данные. В приведенной ниже таблице перечислены значения для аргумента nEffect с описанием каждого действия. nEffect является выходным параметром и устанавливается в 3 при входе в событие, поэтому вы должны предоставить значение для nEffect в этом событии. Например, для того, чтобы позволить только операции копирования данных, установите nEffect в 1 (DROPEFFECT_COPY).

nEffect константа Foxpro.h constant Описание

0

DROPEFFECT_NONE

Источник операции drag не поддерживает никаких операций перетаскивания данных.

1

DROPEFFECT_COPY

Источник операции drag поддерживает только операции копирования.

2

DROPEFFECT_MOVE

Источник операции drag поддерживает операции перемещения данных (по умолчанию).

4

DROPEFFECT_LINK

Источник операции drag поддерживает операции связи с данными.

Источник операции drag может поддерживать множество операций drag, что обеспечивается объединением нескольких значений аргумента nEffect. Например, если nEffect равен 3, источник операции поддерживает как копирование, так и перемещение данных операции (3 = 1 (копирование) + 2 (перемещение)).

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Form | Grid | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

OLEStartDrag представляет событие источника операции drag. Включение опции NODEFAULT не имеет воздействие на поведение этого метода.

Expand image Смотрите также

Справочное руководство

OLE Drag-and-Drop
Метод OLEDrag
Свойство OLEDragMode
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


OnMoveItem Event

Visual FoxPro 9.0 Описание Языка
OnMoveItem, событие
См. также
CollapseAll image

Данное Событие происходит в тот момент, когда вы выбираете и перемещаете выделенный Элемент Списка либо вверх, либо вниз с помощью Мышки, или комбинации клавиш, или программно (с помощью соответствующего Метода MoveItem).

PROCEDURE OnMoveItem
LPARAMETERS nSource, nShift, nCurrentIndex, nMoveBy

Параметры

nSource

Содержит дескриптор, описывающий способ Перемещения выделенного Элемента Списка.

nSource Краткое Описание

0

С помощью Комбинации Клавиш (Keyboard)

1

Левой Кнопкой Мышки

2

Правой Кнопкой Мышки

4

Средней Кнопкой Мышки

8

Программно, с помощью метода MoveItem
nShift

Содержит дескриптор, хпрактеризующий Модификатор нажатых Клавиш, SHIFT, CTRL, ALT, которые нажимаются при использовании манипулятора Мышь (нажата кнопка мышки). Ниже представлены возможные значения данного параметра nShift (для соответствующих Модификаторов).

nShift Описание

1

SHIFT

2

CTRL

4

ALT

Если совместно с нажатием Кнопки Мышки, нажимается несколько Модификаторов Клавиш, рассматриваемый параметр nShift содержит суммарное Значение указанных в Таблице соответствующих значений клавиш-модификаторов. Например, если вместе с кнопкой мышки нажата клавиша-модификатор CTRL, то nShift = 2. Однако, если нажата комбинация клавиш CTRL+ALT совместно с кнопкой мышки, то nShift имеет значение 6 (2+4) - смотрите Таблицу.

nCurrentIndex

Содержит индекс перемещаемого Элемента Списка.

nMoveBy

Характеризует, в каком направлении перемещается выделенный Элемент Списка. Положительное (+) значение указывает на перемещение вниз по-списку. Отрицательное (-) значение характеризует перемещение выделенного Элемента вверх.

Параметр nMoveByвсегда принимает значение = 1 , если перемещение Элемента выполняется с помощью Клавиатуры. Данный параметр имеет значение = -1, если перемещение выполняется с помощью мышки. Однако, nMoveBy может показывать позицию Элемента к которому перемещается выделенный Элемент, в том случае, когда указанный Элемент перемещается за Границы родительского Списка.

Expand image Комментарии

Применяется В: ListBox, контрол

OnMoveItem происходит непосредственно после выбора и перемещения Элемента Списка с помощью комбинаций клавиш: CTRL+UP ARROW, CTRL+DOWN ARROW или с помощью Мышки, а также после выполнения специального Метода MoveItem, выполняемого в некотором фрагменте программного Кода. OnMoveItem происходит после каждого отдельного Перемещения выделенного Элемента, но до того момента, перемещенный Элемент отображается на новом месте в Списке. Однако, OnMoveItem происходит только однажды при выполнении указанного метода MoveItem во фрагменте программного Кода.

Note Обратите Внимание

Вы можете переносить Элементы контрола ListBox только в том случае, когда установлено свойство RecordSourceType = 0 (None) или 1 (Value).

Для отмены перемещения выбранного Элемента, достаточно выполнить Return False (.F.) при завершении обработки рассматриваемого события OnMoveItem.

Expand image См. также

Описание

MoveItem, метод
RecordSourceType, свойство
MoverBars, свойство

Другие ссылки

События Объектов (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


Paint Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие Paint
Смотрите также
CollapseAll image

Происходит, когда перерисовываются форма или панель инструментов.

PROCEDURE Object.Paint

Expand image Примечания

Применяеся к: Form | ToolBar

Форма или панель инструментов перерисовываются, когда часть или свя форма (или панель инструментов) выставляются напоказ после перемещения или изменения в размерах, или после того, как смещено окно, закрывающее форму или панель инструментов.

Использование метода Refresh в событии Resize принуждает перерисовывать объект целиком, каждый раз, когда пользователь изменяет размеры формы или панели инструментов.

Событие Paint вызывается часто, поэтому избегайте производить операции с данными или вызовы команд или функций, когда устанавливается модальное состояние.

Использование события для определенных задач вызывает каскадирование события. В общем случае, избегайте использования события Paint, для перечисленного ниже:

  • Перемещения или изменения размеров формы или элемента управления.

  • Изменения любых переменных, что может воздействовать на размеры или внешний вид, например, изменение цвета в свойстве BackColor.

  • Вызова метода Refresh.

    Замечание Замечание

    Для некоторых из перечисленных выше задач более подходящим событием является событие Resize.

Expand image Смотрите также

Справочное руководство

Метод Circle
Свойство ClipControls
Метод Line
Метод Print
Метод PSet
Метод Refresh (Visual FoxPro)
Событие Resize

Прочие ресурсы

Свойства (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ProgrammaticChange Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие ProgrammaticChange
Смотрите также
CollapseAll image

Происходит, когда значение элемента управления изменяется программным способом в процедурном коде.

PROCEDURE Control.ProgrammaticChange

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandGroup | EditBox | ListBox | OptionGroup | Spinner | TextBox

Установка свойств Selected или SelectedID элемента управления Listbox вызывает срабатывание события Programmatic Change после установки свойств ListItem или ListItemID.

Expand image Смотрите также

Справочное руководство

Событие InteractiveChange
Свойство Value

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнен JS.


QueryAddFile Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие QueryAddFile
Смотрите также
CollapseAll image

Происходит непосредственно перед вводом файла в проект.

PROCEDURE Object.QueryAddFile
LPARAMETERS cFileName

Parameters

cFileName

Содержит имя файла, вводимого в проект. cFileName направляется в событие QueryAddFile после исполнения метода Add, когда вы выбираете Add в Project Manager или когда вы выбираете Add File из меню Project.

Expand image Примечания

Применяется к объекту: ProjectHook

Включите команду NODEFAULT в процедурный код события QueryAddFile для предотвращения ввода файла в проект.

Expand image Смотрите также

Справочное руководство

Метод Add (File Object)
Событие QueryModifyFile
Событие QueryRemoveFile
Событие QueryRunFile
Событие QueryNewFile
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


QueryModifyFile Event

Visual FoxPro 9.0 Справочник языка
Событие QueryModifyFile
См. также

Происходит перед тем, как файл будет модифицирован в проекте.

PROCEDURE Object.QueryModifyFile
LPARAMETERS oFile, cClassName

Параметры

oFile

Содержит объектную ссылку на модифицирумый файл. oFile будет передан событию QueryModifyFile после того, как будет выполнен метод Modify, т.е. после нажатия кнопки Modify в Менеджере Проектов(Project Manager) или после выбора пункта Modify File в меню Project.
cClassName

Содержит имя модифицируемого класса, если файл является визуальной библиотекой классов с расширением .vcx.

Замечания

Относится к: ProjectHook Object

Включите команду NODEFAULT в событие QueryModifyFile, чтобы файл в проекте не изменился.

См. также

Ссылки

События
Метод Modify
Событие QueryAddFile
Событие QueryRemoveFile
Событие QueryRunFile
Событие QueryNewFile
Команда NODEFAULT

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


QueryNewFile Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие QueryNewFile
Смотрите также Пример
CollapseAll image

Происходит при щелчке на кнопке New в Project Manager, непосредствнно перед вводом файла в проект.

PROCEDURE Object.QueryNewFile
LPARAMETERS cFileType

Параметры

cFileType

Определяет тип файла, выбранного в Project Manager при щелчке на кнопке New. Эти значения теже самые, что и определяемые для свойства Type объекта File.

Событие QueryNewFile, кроме того, поддерживается на предметах контейнера базы данных, специальном случае, для приведенных значений cFileType .

Значение Константа FoxPro.H Тип файла Расширение

d

FILETYPE_DATABASE

Database

.dbc

D

FILETYPE_FREETABLE

Free table

.dbf

Q

FILETYPE_QUERY

Query

.qpr

K

FILETYPE_FORM

Form

.scx

R

FILETYPE_REPORT

Report

.frx

B

FILETYPE_LABEL

Label

.lbx

V

FILETYPE_CLASSLIB

Visual class Library

.vcx

P

FILETYPE_PROGRAM

Program

.prg

M

FILETYPE_MENU

Menu

.mnx

T

FILETYPE_TEXT

Text file

varies

В приведенной ниже таблице описываются значения для cFileType характерные для контейнера DBC. Исключение составляет таблица DBC, которая вводит таблицу в проект; эти элементы воздействуют только на DBC.

Значение Тип в DBC Расширение

p

Stored Procedure

t

DBC table

.dbf

c

Connection

r

Remote View

l

Local View

Expand image Примечания

Введение библиотек Visual FoxPro (файлы .FLL) и файлов приложений (файлы .APP ) не вызывают события QueryNewFile.

Так как это событие не вводит файлы в проект непосредственно, если вы желаете ввести другие файлы, когда вызвано QueryNewFile, вы должны сделать это явно в вашем собственном коде, используя Project Objects File Collection Add. Например, вы должны сделать это, если вы желаете вызвать событие QueryNewFile мастером, который вы создалис, при вводе нового файла конкретного типа.

Expand image Пример

CopyCode image Скопировать код
     _VFP.ActiveProject.Files.Add(mynewfile)

Expand image Смотрите также

Справочное руководство

Объект File (Visual FoxPro)
Свойство Type (Visual FoxPro)
Объект Project (Visual FoxPro)
Событие QueryAddFile
Событие QueryModifyFile
Событие QueryRemoveFile
Событие QueryRunFile

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


QueryRemoveFile Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие QueryRemoveFile
Смотрите также
CollapseAll image

Происходит непосредственно перед тем, как файл удаляется из проекта.

PROCEDURE Object.QueryRemoveFile
LPARAMETERS oFile, cClassName, lDeleteFile

Параметры

oFile

Содержит объектную ссылку на файл, для удаления из проекта. oFile передается в событие QueryRemoveFile после выполнени метода Remove, вы можете выбрать Remove в менеджере проектов, или Remove File из меню Project.

cClassName

Содержит название класса, для удаления, если файл - .vcx визуальная библиотека классов.

lDeleteFile

Содержит логическое значение, которое указывает должен ли файл быть удален из диска так же как и с проекта. lDeleteFile содержит ложь (.F.) если выбран Remove (удалить из проекта) в диалоге который отображается, когда вы пытаетесь удалить файл из проекта. lDeleteFile содержит истину (.T.) если выбран Delete (удалить из проекта, и удалить из диска) в диалоге.

Expand image Замечания

Применимо к: Обект ProjectHook

Включите NODEFAULT в событие QueryRemoveFile для предотвращения удаления файла из проекта.

Expand image Смотрите также

Справочное руководство

Событие QueryAddFile
Событие QueryModifyFile
Событие QueryRunFile
Событие QueryNewFile
Метод Remove (Обект File)
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


QueryRunFile Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие QueryRunFile
Смотрите также
CollapseAll image

Происходит непосредственно перед тем, как файл выполняется или отчет или этикетка выводится на предворительный просмотр в проекте.

PROCEDURE Object.QueryRunFile
LPARAMETERS oFile

Параметры

oFile

Содержит объектную ссылку на файл который выполняется или выводится на предворительный просмотр. oFile передается в событие QueryRunFile после выполнения метода Run, вы можете выбрать Run или Preview в менеджере проектов, или же выбрать Run File или Preview File из меню Project.

Expand image Замечания

Применимо к: Объект ProjectHook

Включите NODEFAULT в событие QueryRunFile для предотвращения выполнения файла или вывода на предворительный просмотр.

Expand image Смотрите также

Справочное руководство

Событие QueryAddFile
Событие QueryModifyFile
Событие QueryRemoveFile
Событие QueryNewFile
Метод Run (Visual FoxPro)
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


QueryUnload Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие QueryUnload
Смотрите также
CollapseAll image

Имет место перед выгрузкой объекта Form.

PROCEDURE Form.QueryUnload

Expand image Примечания

Применимо к: Form

Событие QueryUnload происходит перед событием Destroy. Свойство ReleaseType устанавливается до вызова события QueryUnload.

Событие QueryUnload происходит, когда в коде выполняется команда CLEAR WINDOWS, RELEASE WINDOWS или QUIT, когда пользователь дважды щелкает кнопку управляющего меню или когда он выбирает в управляющем меню формы команду Close.

Note Note

Событие QueryUnload не будет иметь места, если выдать в коде команду RELEASE для объекта Form или активизировать метод Release объекта Form.

Выдав команду NODEFAULT в процедуре события QueryUnload, можно запретить выгрузку объекта Form.

Expand image Смотрите Также

Справочное руководство

Команда CLEAR
Свойство ControlBox
Команда DEFINE CLASS
Событие Destroy
Команда QUIT
Команда RELEASE
Метод Release
Команда RELEASE WINDOWS
Свойство ReleaseType
Событие Unload
Событие Closable
Команда NODEFAULT

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


RangeHigh Event

Visual FoxPro 9.0 Справочное руководство по языку
RangeHigh Event
Смотрите также
CollapseAll image

Для элементов управления spinner или text box, происходит при потере фокуса. Для элементов управления combo box или list box происходит при получении фокуса.

PROCEDURE Object.RangeHigh

Expand image Примечания

Применяется к: ComboBox | ListBox | Spinner | TextBox

Событие RangeHigh может вернуть численное значение Visual FoxPro с помощью оператора RETURN. Для элементов управления spinner или text box, оперирующих с численными значениями, в случае, если значение, возвращаемое в Visual FoxPro меньше, чем значение введенное в текстовой части элемента управления, фокус останется на элементе управления. Для элементов управления combo box или list box, значение возвращаемое в Visual FoxPro определяет, какой предмет в элементе изначально выбран, например, если в Visual FoxPro возвращено значение 2, то в элементе управления изначально выбран второй предмет списка.

Expand image Смотрите также

Справочное руководство

Свойства KeyboardHighValue, KeyboardLowValue
События RangeLow
Команда RETURN
Свойства SpinnerHighValue, SpinnerLowValue

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнен JS.


RangeLow Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие RangeLow
Смотрите также
CollapseAll image

Для элементов управления spinner или text box происходит при потере фокуса. Для элементов управления combo box или list box происходит при получении фокуса.

PROCEDURE Object.RangeLow

Expand image Примечания

Применяется к: ComboBox | ListBox | Spinner | TextBox

Событие RangeLow может вернуть численное значение в Visual FoxPro с помощью оператора RETURN. Для элементов управления spinner или text box, оперирующих с численными значениями, в случае, если значение, возвращаемое в Visual FoxPro, больше, чем значение, введенное в текстовой части элемента управления, фокус остается на элемента управления. Для элементов управления combo box или list box, значение, возвращаемое в Visual FoxPro, определяет, какой предмет был изначально выбран, например, если в Visual FoxPro возвращено значение 2, то в элементе управления изначально выбран 2 предмет списка.

Expand image Смотрите также

Справочное руководство

Свойства KeyboardHighValue, KeyboardLowValue
Событие RangeHigh
Команда RETURN
Свойства SpinnerHighValue, SpinnerLowValue

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Перевод выполнен JS.


Resize Event

Visual FoxPro 9.0 Language Reference
Событие Resize
Смотреть также

Имеет место при изменении размеров объекта.

PROCEDURE Object.Resize

Комментарии

Применение: _SCREEN System Variable | Column | Container Object | Control Object | Form | Grid | OLE Bound Control | OLE Container Control | PageFrame | ToolBar

Событие Resize может быть инициировано интерактивным способом. Событие Resize можно инициировать в коде, установив свойства Height и Width.

В случае объекта Column, событие Resize можно инициировать в коде, установив свойство Width объекта Column.

Вы можете использовать событие Resize, применяя связывание. Для информации, смотреть Event Binding for Visual FoxPro Objects и BINDEVENT( ) Function.

Смотреть также

Другие источники

Events
Height Property
Paint Event
Width Property
BINDEVENT( ) Function

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


RightClick Event

Visual FoxPro 9.0 Описание Языка
Событие RightClick
См. также

Данное событие происходит когда пользователь нажимает правую (вторую) кнопку мыши на элементе управления в системах Microsoft Windows.

PROCEDURE Control.RightClick

Комментарии

Применяется в: CheckBox | ComboBox | CommandButton | CommandGroup | Container | Control | EditBox | Form | Grid | Header | Image | Label | Line | ListBox | OptionButton | OptionGroup | Page | PageFrame | Shape | Spinner | TextBox | ToolBar

См. также

Другие Ссылки

События
Событие Click
Событие DblClick
Событие DragDrop
Событие DragOver
Событие DropDown
Свойство Enabled
Событие KeyPress
Событие MouseDown
Событие MouseMove
Событие MouseUp
Событие Scrolled
Событие Undock

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SCCDestroy Event

Visual FoxPro 9.0 Описание Языка
SCCDestroy, событие
См. также
CollapseAll image

Возникает (происходит) непосредственно перед Событием Destroy в объекте ProjectHook.

PROCEDURE ProjectHook.SCCDestroy

Expand image Комментарии

Применяется в: ProjectHook, объект

Событие SCCDestroy происходит непосредственно перед Событием Destroy объекта ProjectHook, позволяет вам выполнить требуемые действия в подсистеме Source Code Control (SCC) (например, выполнить проверку программного файла), перед тем как текуший рассматриваемый Проект будет закрыт.

Expand image См. также

Описание

Destroy, событие
SCCInit, событие
SCCProvider, свойство
SCCStatus, свойство

Другие ссылки

События (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SCCInit Event

Visual FoxPro 9.0 Описание Языка
SCCInit, событие
См. также
CollapseAll image

Происходит (возникает) непосредственно после соответствующего события Init объекта ProjectHook.

PROCEDURE ProjectHook.SCCInit

Expand image Комментарии

Применяется в: ProjectHook, объект

Рассматриваемое событие SCCInit происходит непосредственно после соответствующего события Init объекта ProjectHook, позволяет вам выполнить требуемые операции или действия с помощью инструментов подсистемы Source Code Control (например, отключить контроль исходного кода программных файлов, или другие действия), после этого проект Открывается.

Expand image См. также

Описание

Init, событие
SCCDestroy, событие
SCCProvider, свойство
SCCStatus, свойство

Другие ссылки

События (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Scrolled Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие Scrolled
Смотрите также
CollapseAll image

Имеет место в элементе управления Grid или объекте Form при перемещении горизонтальной или вертикальной полосы прокрутки или при перемещении бегунка. Событие Scrolled также происходит если вы вызываете метод DoScroll из програмы. Событие Scrolled непроисходит при нажатии кнопок с изображением стрелок.

PROCEDURE Object.Scrolled
LPARAMETERS nDirection

Параметры

nDirection

Определяет, как пользователь прокручивает содержимое элемента управления Grid или объекта form. В следующей таблице перечислены возможные значения nDirection.

Значение Описание

0

Стрелка вверх на вертикальной полосе прокрутки.

1

Стрелка вниз на вертикальной полосе прокрутки.

2

Щелкает вертикальную полосу прокрутки над бегунком.

3

Щелкает вертикальную полосу прокрутки под бегунком

4

Стрелка влево на горизонтальной полосе прокрутки.

5

Стрелка вправо на горизонтальной полосе прокрутки.

6

Щелкает горизонтальную полосу прокрутки левее бегунка.

7

Щелкает горизонтальную полосу прокрутки правее бегунка.

Expand image Примечания

Применимо к: Form | Grid

Свойство Scrollbars определяет имеет ли форма полосы прокрутки.

Прорисовка экрана может иметь проблемы при прокрутке элемента управления grid оли объекта form. Поэтому, избегайте создаия wait выражений, например, использование команды WAIT WINDOW совмесно с событием Scrolled.

Expand image Смотрите Также

Справочное руководство

Свойство ActiveColumn
Свойство ActiveRow
Метод DoScroll
Свойство RelativeColumn
Свойство RelativeRow
Свойство ScrollBars

Прочие ресурсы

События (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Timer Event

Visual FoxPro 9.0 Language Reference
Timer Event
Смотри также

Происходит, когда количество миллисекунд, определенных в свойстве Интервал(Interval), прошло.

PROCEDURE Timer.Timer

Замечание

Дополнительно: Timer

See Also

Другие ресурсы

Interval Property
Reset Method
Events
Language Reference

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


UIEnable Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие UIEnable
Смотрите также
CollapseAll image

Происходит для всех объектов, содержащихся на странице каждый раз, когда страница активируется или деактивируется.

PROCEDURE Object.UIEnable
LPARAMETERS lEnable

Параметры

lEnable

Содержит логическое значение, которое определяет - будет ли страница, на которой располагается объект, активироваться или деактивироваться. Если lEnable равно true (.T.), страница, на которой располагается объект будет активизирована (станет активной страницей). Если же lEnable равно false (.F.), страница деактивируется (становится неактивной).

Expand image Примечания

Применяется к: CheckBox | ComboBox | CommandButton | CommandGroup | Container Object | Control Object | EditBox | Grid | Image | Label | Line | ListBox | OLE Bound Control | OLE Container Control | OptionGroup | PageFrame | Shape | Spinner | TextBox

Используйте событие UIEnable для указания, какое действие вы желаете произвести для объекта или управляющего элемента, когда страница, содержащая их активизируется или деактивизируется.

Событие UIEnable не происходит для страниц, когда форма изначально активизирована. Событие UIEnable происходит только тогда, когда страница либо программно, либо интерактивно активизируется или деактивизируется.

Expand image Смотрите также

Справочное руководство

Событие Activate (Visual FoxPro)
Событие Deactivate

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


UnDock Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие UnDock
Смотрите также
CollapseAll image

Происходит, когда объект ToolBar или объект Form вытаскиваются из их места стыковки, то есть расстыковываются.

PROCEDURE Object.Undock

Expand image Примечания

Применяется к: Form Object | ToolBar Object

Expand image Смотрите также

Справочное руководство

Событие AfterDock
Событие BeforeDock
Метод Dock

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Unload Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие Unload
Смотрите также
CollapseAll image

Имеет место при освобождении объекта.

Событие Unload это последнее событие перед освобождением объекта FormSet или Form.

PROCEDURE Object.Unload

Expand image Примечания

Применимо к: Form | FormSet

Unloadнаступает после события Destroy и после освобождения всех объектов, содержащихся внутри данного. Кроме того, Unload Наступление этого события зависит от типа объекта:

  • Объекты Form освобождаются в коде, когда освобождается переменная объекта, указывающая на Form, или когда освобождается соответствующий объект FormSet.

  • Объекты FormSet освобождаются в коде, когда освобождается переменная объекта, указывающая на FormSet.

Если в объекте-контейнере, таком как FormSet, содержатся другие объекты, событие Unload для объекта-контейнера наступит после событий Unload для содержащихся в нем объектов. Например, объект FormSet, содержащий один объект Form с одним элементом управления (CommandButton) , освобождается в следующем порядке:

  1. Событие Destroy объекта FormSet

  2. Событие Destroy объекта Form

  3. Событие Destroy элемента управления CommandButton

  4. Событие Unload объекта Form

  5. Событие Unload объект FormSet

Для возвращения значения в выражение TO VarName команды DO FORM, используйте команду RETURN в событии Unload. Подробнее смотрите Команда DO FORM.

Expand image Смотрите также

Справочное руководство

Событие Destroy Event
Событие QueryUnload
Событие Destroy
Команда DO FORM
Команда RETURN

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


UnloadReport Event

Событие UnloadReport
Смотрите Также
CollapseAll image

Происходит по завершению формирования отчета, после того, как закончен вывод отчета в событии AfterReport.

PROCEDURE Object.UnloadReport

Параметры

Отсутствуют.

Expand image Примечания

Применяется к : Объекту ReportListener.

LoadReport и UnloadReport - это два граничных события формирования отчета или этикетки; с точки зрения Системы Отчетов, формирование отчета еще не началось, когда запускается LoadReport, и отчет уже завершился, когда запускается UnloadReport. Для дальнейшей информации и примера использования смотрите Событие LoadReport.

Expand image Смотрите Также

Ссылки

Объект ReportListener
Команда REPORT FORM
Команда LABEL

Другие Ресурсы

События (Visual FoxPro)
Описание Языка Программирования (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


UpClick Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие UpClick
Смотрите также
CollapseAll image

Происходит, когда пользователь щелкает по кнопке со стрелкой, указывающей вверх элемента управления Spinner или по кнопке со стрелкой, указывающей вверх выпадающего списка элемента управления ComboBox.

PROCEDURE Control.UpClick

Expand image Примечания

Применяется к: ComboBox | Spinner

Expand image Смотрите также

Справочное руководство

Событие DownClick

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Valid Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие Valid
Смотрите также
CollapseAll image

Происходит прежде, чем элемент управления теряет фокус.

PROCEDURE Control.Valid

Expand image Замечания

Применимо к: CheckBox | ComboBox | CommandButton | CommandGroup | EditBox | Grid | ListBox | OptionButton | OptionGroup | Spinner | TextBox

Если событие Valid возвращает "истину" (.T.), элемент управления может терять фокус - Фокус не мог бы пройти к другому элементу управления. Если событие Valid возвращает "ложь" (.F.), элемент управления не теряет фокус.

Событие Valid может также возвратить числовое значение. Возвращение числового значения имеет один из трех эффектов:

  • Если возвращается 0, элемент управления не теряет фокус.

  • Если возвращается положительное значение, значение определяет число элементов управления на которое перемещается фокус.

  • Если возвращается отрицательное значение,значение определяет число элементов управления на которое перемещается фокус назад. Например, если событие Valid возвращает –1, предыдущий элемент управления получает фокус.

Вы можете также использовать дополнительный параметр ObjectName в команде RETURN в событии Valid для направления where focus is assigned. Указанный объект должен быть действительным объектом Visual FoxPro. Если указанный объект - блокированный (disabled) или не может получить фокус, фокус переходит к следующему объекту в порядок перехода. Если указан недействительный объект, Visual FoxPro сохраняет фокус на текущем объекте.

Вы можете установить фокус на объект в следующих сценариях:

  • Установить фокус на объект на другой видимой форме.

  • Установить фокус на объект на невидимом элементе управления Page или Pageframe.

За дополнительной информацией, смотрите Команда RETURN.

Expand image Смотрите также

Справочное руководство

Событие LostFocus
Событие When

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


When Event

Visual FoxPro 9.0 Справочное руководство по языку
Событие When
Смотрите также
CollapseAll image

Происходит перед тем, как элемент управления получает фокус.

PROCEDURE Control.When

Expand image Примечания

Применимо к: CheckBox | ComboBox | CommandButton | CommandGroup | EditBox | Grid | ListBox | OptionButton | OptionGroup | Spinner | TextBox

Если событие When возвращает значение "истина" (.T.), фокус получает элемент управления, принимаемый по умолчанию. Если событие When возвращает "ложь" (.F.), данный элемент управления не получает фокус. Порядок наступления событий при получении фокуса элементом управления будет следующим:

  1. Событие When

  2. Событие GotFocus

В случае элементов управления ListBox событие When наступает всякий раз, когда пользователь перемещает фокус от одного элемента списка к другому, щелкая их мышью или используя клавиши со стрелками.

Note Note

Элемент управления Grid неимеет события GotFocus, потому выполлняется только событие When.

Для всех остальных элементов управления событие When наступает при попытке переместить фокус в элемент управления.

Expand image Смотрите Также

Справочное руководство

Событие GotFocus
Событие Valid

Прочие ресурсы

События (Visual FoxPro)
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Functions

Visual FoxPro 9.0 Описание Языка
Функции (Visual FoxPro)
См. Также

Система Visual FoxPro содержит множество функций, разбитых на следующие категории, а также несколько дополнительных функций.

Символьные Функции

Список функций для операций с символьными данными.

Функции Конвертации Данных

Список функций для конвертации данных из одного типа в другой.

Функции для работы с Датами и Временем

Список функций создания и манипуляции данными типа Date / Time.

Функции COM

Список команд и функций, обеспечивающих доступ ваших приложений к объектам COM и серверам Automation.

Числовые функции

Список функций для операций с числовыми данными.

Функции XML

Описываются функции, обеспечивающие обработку и передечу данных между системой Visual FoxPro и Extensible Markup Language (XML).

Поддерживаемые Команды и Функции Viisual FoxPro в Провайдере OLE DB

Список команд и функций, которые можно использовать при работе Провайдера OLE DB.

НаПоддерживаемые Команды и Функции Visual FoxPro в Провайдере OLE DB

Список команд и функций, которые не поддерживаются в Провайдере OLE DB.

Дополнительную информацию о поддержке элементов Языка младших версий VFP см. в разделе Обратная совместимость Элементов Языка.

ABS( ), Функция

ACLASS( ), Функция

ACOPY( ), Функция

ACOS( ), Функция

ADATABASES( ), Функция

ADBOBJECTS( ), Функция

ADDBS( ), Функция

ADDPROPERTY( ), Функция

ADEL( ), Функция

ADIR( ), Функция

ADLLS( ), Функция

ADOCKSTATE( ), Функция

AELEMENT( ), Функция

AERROR( ), Функция

AEVENTS( ), Функция

AFIELDS( ), Функция

AFONT( ), Функция

AGETCLASS( ), Функция

AGETFILEVERSION( ), Функция

AINS( ), Функция

AINSTANCE( ), Функция

ALANGUAGE( ), Функция

ALEN( ), Функция

ALIAS( ), Функция

ALINES( ), Функция

ALLTRIM( ), Функция

AMEMBERS( ), Функция

AMOUSEOBJ( ), Функция

ANETRESOURCES( ), Функция

APRINTERS( ), Функция

APROCINFO( ), Функция

ASC( ), Функция

ASCAN( ), Функция

ASELOBJ( ), Функция

ASESSIONS( ), Функция

ASIN( ), Функция

ASORT( ), Функция

ASQLHANDLES( ), Функция

ASTACKINFO( ), Функция

ASUBSCRIPT( ), Функция

AT( ), Функция

AT_C( ), Функция

ATAGINFO( ), Функция

ATAN( ), Функция

ATC( ), Функция

ATCC( ), Функция

ATCLINE( ), Функция

ATLINE( ), Функция

ATN2( ), Функция

AUSED( ), Функция

AVCXCLASSES( ), Функция

BAR( ), Функция

BARCOUNT( ), Функция

BARPROMPT( ), Функция

BETWEEN( ), Функция

BINDEVENT( ), Функция

BINTOC( ), Функция

BITAND( ), Функция

BITCLEAR( ), Функция

BITLSHIFT( ), Функция

BITNOT( ), Функция

BITOR( ), Функция

BITRSHIFT( ), Функция

BITSET( ), Функция

BITTEST( ), Функция

BITXOR( ), Функция

BOF( ), Функция

CANDIDATE( ), Функция

CAPSLOCK( ), Функция

CAST( ), Функция

CDOW( ), Функция

CDX( ), Функция

CEILING( ), Функция

CHR( ), Функция

CHRSAW( ), Функция

CHRTRAN( ), Функция

CHRTRANC( ), Функция

CLEARRESULTSET( ), Функция

CMONTH( ), Функция

CNTBAR( ), Функция

CNTPAD( ), Функция

COL( ), Функция

COM Functions

COMARRAY( ), Функция

COMCLASSINFO( ), Функция

COMPOBJ( ), Функция

COMPROP( ), Функция

COMRETURNERROR( ), Функция

COS( ), Функция

CPCONVERT( ), Функция

CPCURRENT( ), Функция

CPDBF( ), Функция

CREATEBINARY( ), Функция

CREATEOBJECT( ), Функция

CREATEOBJECTEX( ), Функция

CREATEOFFLINE( ), Функция

CTOBIN( ), Функция

CTOD( ), Функция

CTOT( ), Функция

CURDIR( ), Функция

CURSORGETPROP( ), Функция

CURSORSETPROP( ), Функция

CURSORTOXML( ), Функция

CURVAL( ), Функция

DATE( ), Функция

DATETIME( ), Функция

DAY( ), Функция

DBC( ), Функция

DBF( ), Функция

DBGETPROP( ), Функция

DBSETPROP( ), Функция

DBUSED( ), Функция

DDE Functions

DDEAbortTrans( ), Функция

DDEAdvise( ), Функция

DDEEnabled( ), Функция

DDEExecute( ), Функция

DDEInitiate( ), Функция

DDELastError( ), Функция

DDEPoke( ), Функция

DDERequest( ), Функция

DDESetOption( ), Функция

DDESetService( ), Функция

DDESetTopic( ), Функция

DDETerminate( ), Функция

DEFAULTEXT( ), Функция

DELETED( ), Функция

DESCENDING( ), Функция

DIFFERENCE( ), Функция

DIRECTORY( ), Функция

DISKSPACE( ), Функция

DisplayPath( ), Функция

DMY( ), Функция

DODEFAULT( ), Функция

DOW( ), Функция

DRIVETYPE( ), Функция

DROPOFFLINE( ), Функция

DTOC( ), Функция

DTOR( ), Функция

DTOS( ), Функция

DTOT( ), Функция

EDITSOURCE( ), Функция

EMPTY( ), Функция

EOF( ), Функция

ERROR( ), Функция

EVALUATE( ), Функция

EVENTHANDLER( ), Функция

EVL( ), Функция

EXECSCRIPT( ), Функция

EXP( ), Функция

FCHSIZE( ), Функция

FCLOSE( ), Функция

FCOUNT( ), Функция

FCREATE( ), Функция

FDATE( ), Функция

FEOF( ), Функция

FERROR( ), Функция

FFLUSH( ), Функция

FGETS( ), Функция

FIELD( ), Функция

FILE( ), Функция

FILETOSTR( ), Функция

FILTER( ), Функция

FKLABEL( ), Функция

FKMAX( ), Функция

FLDLIST( ), Функция

FLOCK( ), Функция

FLOOR( ), Функция

FONTMETRIC( ), Функция

FOPEN( ), Функция

FOR( ), Функция

FORCEEXT( ), Функция

FORCEPATH( ), Функция

FOUND( ), Функция

FPUTS( ), Функция

FREAD( ), Функция

FSEEK( ), Функция

FSIZE( ), Функция

FTIME( ), Функция

FULLPATH( ), Функция

FUNCTION , Команда

FV( ), Функция

FWRITE( ), Функция

GETAUTOINCVALUE( ), Функция

GETBAR( ), Функция

GETCOLOR( ), Функция

GETCP( ), Функция

GETDIR( ), Функция

GETENV( ), Функция

GETFILE( ), Функция

GETFLDSTATE( ), Функция

GETFONT( ), Функция

GETINTERFACE( ), Функция

GETNEXTMODIFIED( ), Функция

GETOBJECT( ), Функция

GETPAD( ), Функция

GETPEM( ), Функция

GETPICT( ), Функция

GETPRINTER( ), Функция

GETRESULTSET( ), Функция

GETWORDCOUNT( ), Функция

GETWORDNUM( ), Функция

GETCURSORADAPTER( ), Функция

GOMONTH( ), Функция

HEADER( ), Функция

HOME( ), Функция

HOUR( ), Функция

ICASE( ), Функция

IDXCOLLATE( ), Функция

IIF( ), Функция

IMESTATUS( ), Функция

INDBC( ), Функция

INDEXSEEK( ), Функция

INKEY( ), Функция

INLIST( ), Функция

INPUTBOX( ), Функция

INSMODE( ), Функция

INT( ), Функция

ISALPHA( ), Функция

ISBLANK( ), Функция

ISCOLOR( ), Функция

ISDIGIT( ), Функция

ISEXCLUSIVE( ), Функция

ISFLOCKED( ), Функция

ISLEADBYTE( ), Функция

ISLOWER( ), Функция

ISMEMOFETCHED( ), Функция

ISMOUSE( ), Функция

ISNULL( ), Функция

ISPEN( ), Функция

ISREADONLY( ), Функция

ISRLOCKED( ), Функция

ISTRANSACTABLE( ), Функция

ISUPPER( ), Функция

JUSTDRIVE( ), Функция

JUSTEXT( ), Функция

JUSTFNAME( ), Функция

JUSTPATH( ), Функция

JUSTSTEM( ), Функция

KEY( ), Функция

KEYMATCH( ), Функция

LASTKEY( ), Функция

LEFT( ), Функция

LEFTC( ), Функция

LEN( ), Функция

LENC( ), Функция

LIKE( ), Функция

LIKEC( ), Функция

LINENO( ), Функция

LOADPICTURE( ), Функция

LOCFILE( ), Функция

LOCK( ), Функция

LOG( ), Функция

LOG10( ), Функция

LOOKUP( ), Функция

LOWER( ), Функция

LTRIM( ), Функция

LUPDATE( ), Функция

MAKETRANSACTABLE( ), Функция

MAX( ), Функция

MCOL( ), Функция

MDOWN( ), Функция

MDX( ), Функция

MDY( ), Функция

MEMLINES( ), Функция

MEMORY( ), Функция

MENU( ), Функция

MESSAGE( ), Функция

MESSAGEBOX( ), Функция

MIN( ), Функция

MINUTE( ), Функция

MLINE( ), Функция

MOD( ), Функция

MONTH( ), Функция

MRKBAR( ), Функция

MRKPAD( ), Функция

MROW( ), Функция

MTON( ), Функция

MWINDOW( ), Функция

NDX( ), Функция

NEWOBJECT( ), Функция

NORMALIZE( ), Функция

NTOM( ), Функция

NUMLOCK( ), Функция

NVL( ), Функция

OBJNUM( ), Функция

OBJTOCLIENT( ), Функция

OBJVAR( ), Функция

OCCURS( ), Функция

OEMTOANSI( ), Функция

OLDVAL( ), Функция

ON( ), Функция

ORDER( ), Функция

OS( ), Функция

PAD( ), Функция

PADL( ) | PADR( ) | PADC( ), Функцияs

PARAMETERS( ), Функция

PAYMENT( ), Функция

PCOL( ), Функция

PCOUNT( ), Функция

PEMSTATUS( ), Функция

PI( ), Функция

POPUP( ), Функция

PRIMARY( ), Функция

PRINTSTATUS( ), Функция

PRMBAR( ), Функция

PRMPAD( ), Функция

PROGRAM( ), Функция

PROMPT( ), Функция

PROPER( ), Функция

PROW( ), Функция

PRTINFO( ), Функция

PUTFILE( ), Функция

PV( ), Функция

QUARTER( ), Функция

RAISEEVENT( ), Функция

RAND( ), Функция

RAT( ), Функция

RATC( ), Функция

RATLINE( ), Функция

RDLEVEL( ), Функция

READKEY( ), Функция

RECCOUNT( ), Функция

RECNO( ), Функция

RECSIZE( ), Функция

REFRESH( ), Функция

RELATION( ), Функция

REPLICATE( ), Функция

REQUERY( ), Функция

RGB( ), Функция

RGBSCHEME( ), Функция

RIGHT( ), Функция

RIGHTC( ), Функция

RLOCK( ), Функция

ROUND( ), Функция

ROW( ), Функция

RTOD( ), Функция

RTRIM( ), Функция

SAVEPICTURE( ), Функция

SCHEME( ), Функция

SCOLS( ), Функция

SEC( ), Функция

SECONDS( ), Функция

SEEK( ), Функция

SELECT( ), Функция

SET( ), Функция

SETFLDSTATE( ), Функция

SETRESULTSET( ), Функция

SIGN( ), Функция

SIN( ), Функция

SKPBAR( ), Функция

SKPPAD( ), Функция

SOUNDEX( ), Функция

SPACE( ), Функция

SQLCANCEL( ), Функция

SQLCOLUMNS( ), Функция

SQLCOMMIT( ), Функция

SQLCONNECT( ), Функция

SQLDISCONNECT( ), Функция

SQLEXEC( ), Функция

SQLGETPROP( ), Функция

SQLIDLEDISCONNECT( ), Функция

SQLMORERESULTS( ), Функция

SQLPREPARE( ), Функция

SQLROLLBACK( ), Функция

SQLSETPROP( ), Функция

SQLSTRINGCONNECT( ), Функция

SQLTABLES( ), Функция

SQRT( ), Функция

SROWS( ), Функция

STR( ), Функция

STRCONV( ), Функция

STREXTRACT( ), Функция

STRTOFILE( ), Функция

STRTRAN( ), Функция

STUFF( ), Функция

STUFFC( ), Функция

SUBSTR( ), Функция

SUBSTRC( ), Функция

SYS( ), Функцияs Overview

SYSMETRIC( ), Функция

TABLEREVERT( ), Функция

TABLEUPDATE( ), Функция

TAG( ), Функция

TAGCOUNT( ), Функция

TAGNO( ), Функция

TAN( ), Функция

TARGET( ), Функция

TEXTMERGE( ), Функция

TIME( ), Функция

TRANSFORM( ), Функция

TRIM( ), Функция

TTOC( ), Функция

TTOD( ), Функция

TXNLEVEL( ), Функция

TXTWIDTH( ), Функция

TYPE( ), Функция

UNBINDEVENTS( ), Функция

UNIQUE( ), Функция

UPDATED( ), Функция

UPPER( ), Функция

USED( ), Функция

VAL( ), Функция

VARREAD( ), Функция

VARTYPE( ), Функция

VERSION( ), Функция

WBORDER( ), Функция

WCHILD( ), Функция

WCOLS( ), Функция

WDOCKABLE( ), Функция

WEEK( ), Функция

WEXIST( ), Функция

WFONT( ), Функция

WLAST( ), Функция

WLCOL( ), Функция

WLROW( ), Функция

WMAXIMUM( ), Функция

WMINIMUM( ), Функция

WONTOP( ), Функция

WOUTPUT( ), Функция

WPARENT( ), Функция

WREAD( ), Функция

WROWS( ), Функция

WTITLE( ), Функция

WVISIBLE( ), Функция

XMLTOCURSOR( ), Функция

XMLUPDATEGRAM( ), Функция

YEAR( ), Функция

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Character Functions

Visual FoxPro 9.0 Описание Языка
Символьные Функции
См. также
CollapseAll image

Представленные функции обрабатывают данные Символьного Типа.

Функции

$, Оператор

ALLTRIM( ), Функция

ASC( ), Функция

AT( ), Функция

AT_C( ), Функция

ATC( ), Функция

ATCC( ), Функция

ATCLINE( ), Функция

ATLINE( ), Функция

BETWEEN( ), Функция

CHR( ), Функция

CHRTRAN( ), Функция

CHRTRANC( ), Функция

CPCONVERT( ), Функция

CTOD( ), Функция

DIFFERENCE( ), Функция

DTOC( ), Функция

EMPTY( ), Функция

EVALUATE( ), Функция

GETWORDCOUNT( ), Функция

GETWORDNUM( ), Функция

INLIST( ), Функция

ISALPHA( ), Функция

ISDIGIT( ), Функция

ISLEADBYTE( ), Функция

ISLOWER( ), Функция

ISUPPER( ), Функция

LEFT( ), Функция

LEFTC( ), Функция

LEN( ), Функция

LENC( ), Функция

LIKE( ), Функция

LIKEC( ), Функция

LOWER( ), Функция

LTRIM( ), Функция

MAX( ), Функция

MIN( ), Функция

NORMALIZE( ), Функция

OCCURS( ), Функция

PADL( ) | PADR( ) | PADC( ), Функции

PROPER( ), Функция

RAT( ), Функция

RATC( ), Функция

RATLINE( ), Функция

REPLICATE( ), Функция

RIGHT( ), Функция

RIGHTC( ), Функция

RTRIM( ), Функция

SOUNDEX( ), Функция

SPACE( ), Функция

STR( ), Функция

STRCONV( ), Функция

STRTOFILE( ), Функция

STRTRAN( ), Функция

STUFF( ), Функция

STUFFC( ), Функция

SUBSTR( ), Функция

SUBSTRC( ), Функция

SYS(10) - Строка из номера дня типа Julian

SYS(15) - Трансляция символов

SYS(2007) - Значение Контрольной Суммы

TEXTMERGE( ), Функция

TRANSFORM( ), Функция

TRIM( ), Функция

TXTWIDTH( ), Функция

TYPE( ), Функция

UPPER( ), Функция

VARTYPE( ), Функция

Expand image См. также

Другие ссылки

Функции
Описание Языка (Visual FoxPro)
Категории Языка (Visual FoxPro)

Footer image
Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Data Conversion Functions

Visual FoxPro 9.0 Language Reference
Функции Преобразования Данных
Смотрите Также
CollapseAll image

Данные функции преобразуют данные из одного типа в другой.

Функции

CAST( ) Функция

CHR( ) Функция

CTOD( ) Функция

CURVAL( ) Функция

CURSORTOXML( ) Функция

DTOC( ) Функция

MTON( ) Функция

NTOM( ) Функция

NVL( ) Функция

STR( ) Функция

SYS(10) - Получение символьной даты из юлианкого номера дня

SYS(15) - Преобразование символов

TEXTMERGE( ) Функция

TRANSFORM( ) Функция

TTOC( ) Функция

TTOD( ) Функция

VAL( ) Функция

VARTYPE( ) Функция

Expand image Смотрите Также

Другие Ресурсы

Функции
Описание Языка (Visual FoxPro)
Категории Языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Date and Time Functions

Visual FoxPro 9.0 Справочник Языка
Функции даты и времени
См. Также

Эти функции генерируют и управляют данными даты и времени.

Функции

BETWEEN( ) Функция

CDOW( ) Функция

CMONTH( ) Функция

CTOD( ) Функция

CTOT( ) Функция

DATE( ) Функция

DATETIME( ) Функция

DAY( ) Функция

DMY( ) Функция

DOW( ) Функция

DTOC( ) Функция

DTOS( ) Функция

DTOT( ) Функция

EMPTY( ) Функция

FDATE( ) Функция

FTIME( ) Функция

GOMONTH( ) Функция

HOUR( ) Функция

INLIST( ) Функция

MAX( ) Функция

MDY( ) Функция

MIN( ) Функция

MINUTE( ) Функция

MONTH( ) Функция

QUARTER( ) Функция

SEC( ) Функция

SECONDS( ) Функция

SET HOURS Команда

SET MARK TO Команда

SET SECONDS Команда

SYS(1) - Юлианская Системная Дата

SYS(2) - Секунды Начиная с Полуночи

SYS(10) - Строка от Юлианского Числа

SYS(11) - Юлианское Число

TIME( ) Функция

TTOC( ) Функция

TTOD( ) Функция

WEEK( ) Функция

YEAR( ) Функция

См. Также

Другие Ресурсы

Функции
Справочник Языка
Категории Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COM Functions

Visual FoxPro 9.0 Справочник Языка
COM Функции
См. Также

Эти функции позволяют Вам обратиться к COM объектам и серверам.

Функции

COMCLASSINFO( ) Функция

COMARRAY( ) Функция

COMRETURNERROR( ) Функция

COMPROP( ) Функция

CREATEOBJECT( ) Функция

CREATEOBJECTEX( ) Функция

GETOBJECT( ) Функция

DEFINE CLASS Команда

GETINTERFACE( ) Функция

EVENTHANDLER( ) Функция

См. Также

Другие Ресурсы

Функции
Справочник Языка
Категории Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Numeric Functions

Visual FoxPro 9.0 Описание Языка
Числовые Функции
См. также
CollapseAll image

Представленные функции обрабатывают и/или возвращают данные Числового Типа.

Functions

%, оператор (Visual FoxPro)

ABS( ), Функция

ACOS( ), Функция

ASIN( ), Функция

ATAN( ), Функция

ATN2( ), Функция

BETWEEN( ), Функция

BITAND( ), Функция

BITCLEAR( ), Функция

BITLSHIFT( ), Функция

BITNOT( ), Функция

BITOR( ), Функция

BITRSHIFT( ), Функция

BITSET( ), Функция

BITTEST( ), Функция

BITXOR( ), Функция

CALCULATE , Команда

CEILING( ), Функция

COS( ), Функция

DTOR( ), Функция

EMPTY( ), Функция

EXP( ), Функция

FLOOR( ), Функция

FV( ), Функция

INLIST( ), Функция

INT( ), Функция

LOG( ), Функция

LOG10( ), Функция

MAX( ), Функция

MIN( ), Функция

MOD( ), Функция

PAYMENT( ), Функция

PI( ), Функция

PV( ), Функция

RAND( ), Функция

ROUND( ), Функция

RTOD( ), Функция

SET DECIMALS , Команда

SIGN( ), Функция

ASIN( ), Функция

SQRT( ), Функция

TAN( ), Функция

VAL( ), Функция

Expand image См. также

Другие ссылки

Функции
Описание Языка (Visual FoxPro)
Категории Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


XML Functions

Visual FoxPro 9.0 Справочное руководство по языку
Функции XML
Смотрите также
CollapseAll image

Перечисленные ниже функции обеспечивают обмен данными с помощью XML форматирования.

Функции

Функция XMLUPDATEGRAM( )

Функция CURSORTOXML( )

Функция XMLTOCURSOR( )

Expand image Смотрите также

Концепции

Преобразования между XML и данными Visual FoxPro

Прочие ресурсы

Функции
Справочное руководство (Visual FoxPro)
Категории языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


$ Operator

Visual FoxPro 9.0 Справочное руководство по языку
Оператор $
Смотрите также Пример
CollapseAll image

Возвращает значение "истина" (.T.), если данное символьное выражение содержится в другом символьном выражении, в противном случае возвращает "ложь" (.F.).

cSearchFor $ cSearchIn

Параметры

cSearchFor

Задает выражение, поиск которого будут вестись в выражении cSearchIn.

cSearchIn

Задает выражение, которое просматривается в поиске cSearchFor.

Если выражение cSearchFor найдено в cSearchIn, функция $ возвращает значение "истина" (.T.); в противном случае возвращается "ложь" (.F.). В качестве cSearchFor и cSearchIn можно использовать символьные переменные памяти или элементы массива, поля символьного типа, символьные строковые литералы или memo-поля любой длины.

Memo-полями можно манипулировать точно так же, как полями таблицы, переменными памяти или элементами массива. Например, если MEMO_FLD определяет memo-поле, то допустимым будет следующее выражение:

CopyCode image Copy Code
LIST FOR 'FOX' $ UPPER(memo_fld)

Expand image Возвращаемое значение

Logical

Expand image Замечания

Если искомое символьное выражение не найдено, возвращается значение "ложь" (.F.). Оператор $ ведет поиск с учетом регистра и не допускает оптимизацию по технологии Rushmore.

Expand image Пример

В следующем примере создается таблица с именем memotest содержащая одно memo-поле. К таблице присоединяются три записи после чего открывается окно просмотра, в котором показаны эти записи. Знак доллара ($) используется для получения списка записей, содержащих символьную строку "FOX". Файлы, созданные в процессе работы данной программы, после ее завершения удаляются.
CopyCode image Copy Code
CLOSE DATABASES
CLEAR
CREATE TABLE memotest (Text C(3), Memo M)
INSERT INTO  memotest (Text, Memo) VALUES ('Fox', 'Fox')
INSERT INTO  memotest (Text, Memo) VALUES ('Cat', 'Cat')
INSERT INTO  memotest (Text, Memo) VALUES ('FOX', 'FOX')
LIST FIELDS  Memo, Text FOR 'FOX' $ UPPER(Memo)
USE
DELETE FILE memotest.dbf
DELETE FILE memotest.fpt

Expand image Смотрите также

Справочное руководство

Оператор % (Visual FoxPro)
Команда DELETE FILE
Команда CREATE TABLE - SQL
Функцыя AT( )
Функция ATLINE( )
Функция RAT( )
Функция RATLINE( )
Функция OCCURS( )
Функция INLIST( )
Операторы (Visual FoxPro)

Concepts

Использование оптимизации запросов Rushmore для ускорения доступа к данным

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


% Operator (Visual FoxPro)

Visual FoxPro 9.0 Справочное руководство по языку
Оператор % (Visual FoxPro)
Смотрите также Пример
CollapseAll image

Возвращает остаток от деления одного числового выражения на другое.

nDividend % nDivisor

Параметры

nDividend

Задает числовое выражение, выступающее в роли делимого. Количество десятичных знаков аргумента nDividend определяет количество десятичных знаков в результате.

nDivisor

Задает делитель (числовое выражение, на которое делится nDividend). Если значение nDivisor положительно, возвращается положительное число, если nDivisor отрицательно, возвращается отрицательное число. Значение nDivisor не может равняться нулю.

Expand image Замечания

Оператор деления по модулю (%) и функция MOD( ) возвращают идентичные результаты.

Оператор деления по модулю (%) ѕ арифметический оператор. Другими арифметическими операторами являются: + (сложение), - (вычитание), * (умножение), / (деление) и ^ (возведение в степень). Если несколько таких операторов участвуют в числовом выражении, % имеет тот же приоритет, что и * и /.

одробнее об операторах и их приоритетах смотрите тему Оператры (Visual FoxPro) .

Expand image Пример

CopyCode image Copy Code
? 36 % 10         && Displays 6
? (4*9) % (90/9)      && Displays 6
? 25.250 % 5.0      && Displays 0.250
? IIF(YEAR(DATE( )) % 4 = 0, 'Summer Olympics this year';
   , 'No Summer Olympics this year')

Expand image Смотрите также

Справочное руководство

Функция MOD( )
Оператор $
Операторы для числовых данных
Операторы (Visual FoxPro)

Concepts

Создание числовых выражений

Прочие ресурсы

Описание языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


:: Scope Resolution Operator

Visual FoxPro 9.0 Описание Языка
:: Оператор Области Действия (::)
См. также Пример

Выполняет родительский метод класса из метода подкласса.

CИмяКласса::CМетод

Комментарии

Оператор :: используется для выполнения метода родительского класса из метода подкласса. Когда Вы создаете подкласс, методы подкласса автоматически унаследованы из родительского класса .. Оператор :: дает возможность выполнять методы родительского класса непосредственно в методе подкласса. Определение подкласса в примере демонстрирует как используется оператор :: для выполнения родительского метода в пределах метода подкласса.

Для дополнительной информации см. также Объектно-ориентированное программирование.

Пример

Представленный пример создает форму и добавляет две командные кнопки. По нажатию на первую кнопку Вы можете выйти из формы, при нажатии на вторую кнопку, cmdAnotherButton, вызывается событие Click родительской кнопки cmdQuit. Это возможно благодаря Субклассированию. Оператор Области действия :: вызывает код родительского класса из кода субклассированного объекта.

Копировать Код
frmMyForm = CREATEOBJECT("Form")
frmMyForm.Width  = 450
frmMyForm.Height   = 100
frmMyForm.Caption  = "Scope Resolution Example"
frmMyForm.AutoCenter =.T.
frmMyForm.AddObject("cmdQuit","cmdQuitButton")
frmMyForm.AddObject("cmdAnother","cmdAnotherButton")
frmMyForm.SHOW       && Display the form
READ EVENTS        && Start event processing

Представленный пример определяет две командные кнопки. Первая кнопка используется для субклассирования второй командной кнопки. Субклассирование позволяет наследовать , например, свойства FontBold и ForeColor, определенные для cmdQuit, которые явно не указываются для кнопки cmdAnotherButton. Мы определяем кнопку cmdAnotherButton как подкласс от родителя cmdQuitButton. В результате, эта кнопка приобретет все атрибуты определенные выше для cmdQuitButton

Копировать Код
DEFINE CLASS cmdQuitButton AS CommandButton
  Caption  = "\<Quit"   && надпись командной кнопки
  Left   = 175    && левая сторона кнопки
  Top    = 60     && верхняя сторона кнопки
  Height   = 25     && высота кнопки
  Visible  = .T.    && активация кнопки на форме
  FontItalic = .T.    && включить опцию текста Italic
  ForeColor  = RGB(0,0,255) && изменить цвет символов

  PROCEDURE Click
  WAIT WINDOW "Executing the CLICK procedure for cmdQuit." TIMEOUT 1
  CLEAR EVENTS     && остановить контроль событий
ENDDEFINE
DEFINE CLASS cmdAnotherButton AS cmdQuitButton

  Caption = "Click to quit"
  Left  = 175
  Top   = 30
  Height  = 25

  PROCEDURE Click
  WAIT WINDOW "Click event for button: cmdAnotherButton" TIMEOUT 1
  cmdQuitButton::Click
ENDDEFINE

См. также

Другие Ссылки

Команда ADD CLASS
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция CREATEOBJECT( )
Команда DEFINE CLASS
Функция DODEFAULT( )
Функция GETOBJECT( )
Команда MODIFY CLASS
Команда RELEASE CLASSLIB
КомандаSET CLASSLIB
Команда WITH ... ENDWITH
Операторы
Описание Языка

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ABS( ) Function

Visual FoxPro 9.0 справочник по языку
Функция ABS( )
Смотрите также Пример

Возвращает абсолютное значение заданного числового выражения..

ABS(nExpression)

Параметры

nExpression

Задает числовое выражение, абсолютное значение которого должна возвратить функция ABS( ).

Возвращаемое значение

Число

Пример

Copy Code
? ABS(-45)       && Displays 45
? ABS(10-30)     && Displays 20
? ABS(30-10)     && Displays 20
STORE 40 TO gnNumber1
STORE 2 TO gnNumber2
? ABS(gnNumber2-gnNumber1)     && Displays 38

Смотрите также

Другие ресурсы

Функция INT( )
Функция ROUND( )
Функция SIGN( )
Функции
Справочник по языку

Перешлите коментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


ACLASS( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ACLASS( )
Смотрите также Пример
CollapseAll image

Помещает в массив переменных памяти имя класса объекта, а также имена его родительских классов.

ACLASS(ArrayName, oExpression)

Параметры

ArrayName

Задает имя массива, в который помещаются имена классов. Если задано имя несуществующего массива, Visual FoxPro автоматически создает такой массив. Если задано имя существующего массива, который не в состоянии вместить все имена родительских классов, Visual FoxPro автоматически увеличивает размер массива. Если в массиве больше элементов, чем необходимо, он укорачивается. Если задано имя существующего двумерного массива, он преобразуется в одномерный.

oExpression

Задает объект, имя класса и имена родительских классов которого следует поместить в массив. oExpression может быть любым выражением объекта, например ссылкой на объект, переменной памяти объекта или элементом массива объекта.

Expand image Возвращаемое значение

Числовое

Expand image Примечания

Функция ACLASS( ) создает одномерный массив, содержащий имя класса и имена родительских классов заданного объекта. Первый элемент массива содержит имя класса данного объекта, второй элемент ѕ имя класса-родителя этого объекта, третий ѕ имя класса-родителя родителя этого объекта и т.д.

Функция ACLASS( ) возвращает число имен классов в массиве. Если массив создать нельзя, ACLASS( ) возвращает 0.

Expand image Пример

В следующем примере из базового класса Form создаются два класса пользователя: FormChild и FormGrandChild. Функция ACLASS( ) используется для создания массива с именем gaNewarray содержащего имена класса, которые затем отображаются.
CopyCode image Copy Code
CLEAR
frmMyForm = CREATEOBJECT("FormGrandChild")
FOR nCount = 1 TO ACLASS(gaNewarray, frmMyForm)    && Creates an array
   ? gaNewarray(nCount)  && Displays the names of the classes
ENDFOR
RELEASE frmMyForm

DEFINE CLASS FormChild AS FORM
ENDDEFINE

DEFINE CLASS FormGrandChild AS FormChild
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Команда ADD CLASS
Функция AMEMBERS( )
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция CREATEOBJECT( )
Команда DEFINE CLASS

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ACOPY( ) Function

Visual FoxPro 9.0 Справка по языку
Функция ACOPY( )
См.также Пример

Копирует элементы из одного массива в другой.

ACOPY(SourceArrayName, DestinationArrayName
[, nFirstSourceElement [, nNumberElements [, nFirstDestElement ]]])

Параметры

SourceArrayName, DestinationArrayName

Указывают исходный массив SourceArrayName, элементы которого один за другим копируются в результирующий массив DestinationArrayName. Элементы из исходного массива замещают элементы в результирующем массиве. Массивы могут быть одномерными или двумерными. Если результирующий массив не существует, Visual FoxPro автоматически его создает. В этом случае размер результирующего массива совпадает с размером исходного массива.
Замечание:
Вы можете ссылаться на элемент двумерного массива двумя способами. Первый - указать оба индекса, задающих номера строки и колонки, которые определяют местоположение элемента в массиве. Второй - использовать порядковый номер элемента в массиве. Эта функция, как и другие, работающие с двумерными массивами, требует указать порядковые номера элементов, с которых начинается обработка (в данном случае nFirstSourceElement и nFirstDestElement). Используйте функцию AELEMENT( ), возвращающую порядковый номер элемента в двумерном массиве по номерам строки и колонки.

nFirstSourceElement

Указывает номер первого элемента в массиве, начиная с которого будет выполняться копирование (этот элемент также участвует в копировании). Если nFirstSourceElement не указан, копирование начнется с первого элемента в исходном массиве.
nNumberElements

Указывает количество элементов, копируемых из исходного массива. Если nNumberElements равно -1, копируются элементы, начиная от nFirstSourceElement и заканчивая последним элементом в исходном массиве.
nFirstDestElement

Указывает номер первого элемента в результирующем массиве, который будет замещен первым элементом исходного массива.

Возвращаемое значение

Числовое. ACOPY( ) возвращает количество элементов, скопированных в результирующий массив.

Примечания

Копирование с помощью функции ACOPY( ) элемента массива в существующий массив в случае, когда в результирующем массиве нет элемента с порядковым номером или индексами, как у исходного элемента, может вызвать ошибку "Subscript is outside defined range." ("Индекс выходит за границы отведенного диапазона"). Вы можете избежать этой ошибки, если измените размер результирующего массива до единицы перед вызовом функции ACOPY( ). Дальнейшую информацию об этом смотрите в Команда DIMENSION.

Пример

В следующем примере создается массив путем отбора записей из таблицы customer. Последующий вызов функции ACOPY( ) используется для создания копии полученного массива.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table

SELECT DISTINCT company ;
 FROM customer ;
 ORDER BY company ;
 WHERE country = 'Germany';
 INTO ARRAY gaCompanies
= ACOPY(gaCompanies, gaCompaniesTemp) && Make a copy of the array
CLEAR
DISPLAY MEMORY LIKE gaCompaniesTemp

См.также

Функция ADEL( )
Функция AELEMENT( )
Функция AINS( )
Функция ASCAN( )
Функция ASORT( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ACOS( ) Function

Visual FoxPro 9.0 Описание Языка
ACOS( ), функция
См. также Пример
CollapseAll image

Возвращает Арккосинус (ArcCos) для заданного числового выражения.

ACOS(nExpression)

Параметры

nExpression

Определяет числовое выражение, для которого вычисляется ACOS( ). Значение параметра nExpression должно находиться в диапазоне от –1 до +1. Результирующее значение находится в диапазоне от 0 - до числа Pi (3.141592). Количество десятичных знаков в результате отпределяется текущей установкой команды SET DECIMALS.

Use RTOD( ) to convert radians to degrees.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Результат возвращается в Радианах.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? RTOD(ACOS(0))  && Отображается 90.00
STORE -1 to gnArcAngle
? RTOD(ACOS(gnArcAngle))  && Отображается 180.00
? RTOD(ACOS(SQRT(2)/2))  && Отображается 45.00

Expand image См. также

Описание

ASIN( ), функция
ATAN( ), функция
ATN2( ), функция
ACOS( ), функция
DTOR( ), функция
RTOD( ), функция
SET DECIMALS, команда
SIN( ), функция
TAN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


ADATABASES( ) Function

Visual FoxPro 9.0 Справочник Языка
ADATABASES () Функция
См. Также Пример

Размещает имена всех открытых баз данных и их путей в массиве переменных.

ADATABASES(ArrayName)

Параметры

ArrayName

Определяет имя массива. Если массива, который Вы определяете, не существует, Visual FoxPro автоматически его создает. Если массив существует, но не является достаточным, чтобы вместить всю информацию о базе данных, Visual FoxPro автоматически увеличивает размер массива для размещения этой информации. Если массив является превосходит необходимые размеры, Visual FoxPro усекает массив. Если массив существует и ADATABASES( ) возвращает 0, в случае, если никаких баз данных не открыто, то существующий массив остается неизменным. Если массива не существует и ADATABASES( ) возвращает 0, массива не создается.

Возвращаемое значение

Числовое

Замечания

Имена всех открытых баз данных помещаются в массив переменных.

ADATABASES( ) создает двумерный массив. Первый столбец массива содержит имена открытых баз данных, а второй столбец содержит пути к базам данных.

ADATABASES( ) возвращает количество имен (строк) баз данных в массиве. Если нет открытых баз данных, ADATABASES( ) возвращает 0 и массив не создается.

Пример

Следующий пример открывает базу данных testdata , и затем использует ADATABASES( ), чтобы создать массив gaDatabase, содержащий имен всех открытых баз данных.

Скопировать код
SET PATH TO (HOME(2) + 'data\')     && Sets path to database
OPEN DATABASE testdata && Opens the database
CLEAR
? ADATABASES(gaDatabase)     && Creates an array of open databases
DISPLAY MEMORY LIKE gadatabase  && Displays the contents of the array
CLOSE DATABASES

См. Также

Другие Ресурсы

CREATE DATABASE Команда
DISPLAY DATABASE Команда
LIST DATABASE Команда
MODIFY DATABASE Команда
OPEN DATABASE Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ADBOBJECTS( ) Function

Visual FoxPro 9.0 Справочник Языка
ADBOBJECTS () Функция
См. Также Пример

Размещает имена именованных подключений, отношений, таблиц, или SQL представлений текущей базы данных в массив переменных.

ADBOBJECTS(ArrayName, cSetting)

Параметры

ArrayName

Определяет имя массива, в который помещаются имена. Если массива, который Вы определяете, не существует, Visual FoxPro автоматически создает массив. Если массив существует и не является достаточно большим, чтобы вместить все имена, Visual FoxPro автоматически увеличивает размер массива, чтобы разместить имена. Если массив является большим чем необходимый, Visual FoxPro усекает массив. Если массив существует и ADBOBJECTS( ) возвращения 0, потому что никаких имен не найдено, массив остается неизменным. Если массива не существует, и ADBOBJECTS( ), возвращения 0, массив не создается. Создается одномерный массив, когда Вы определяете CONNECTION, TABLE, или VIEW для cSetting . Каждая строка в одномерном массиве содержит имя подключения, таблицы, или представления базы данных. Двумерный массив создается, когда Вы определяете RELATION для cSetting . Каждая строка в двумерном массиве соответствует отношению в базе данных. Первый столбец в строке массива содержит имя дочерней таблицы, а второй столбец в строке массива содержит имя родительской таблицы. Третий столбец содержит имя индексного тэга для дочерней таблицы, и четвертый столбец содержит имя индексного тэга для родительской таблицы. Пятый столбец в строке массива содержит информацию ссылочной целостности. Этот столбец пуст, если отношение не имеет никаких правил ссылочной целостности. Если отношения действительно имеют правила ссылочной целостности, столбец содержит символы, соответствующие типу правил ссылочной целостности для модификаций, удалений, и вставок. Первый символ указывает тип правила модификации, второй символ указывает тип правила удаления, и третий символ указывает тип правила вставки. Возможные значения для модификаций и удалений - "C" для каскада, "R" для ограничения, и "I" для игнорирования. Возможные значения для вставок - "R" для ограничения, и "I" для игнорирования. Например, если отношение имеет каскадную модификацию, ограничение удаления, и игнорирование вставки в соответствии с правилами ссылочной целостности, то столбец содержат "CRI".
cSetting

Определяет имена для размещения в массив переменных. Следующая таблица перечисляет значения для cSetting и соответствующие имена, помещенные в массив:

cSetting Имена

CONNECTION

Имена подключений

RELATION

Отношения таблицы

TABLE

Имена таблиц

VIEW

Имена представлений

Параметры настройки CONNECTION, RELATION, TABLE, и VIEW не могут применяться в сокращенном синтаксисе.

Возвращаемое значение

Числовое

Замечания

База данных должна быть открытой и текущей, когда запускается ADBOBJECTS( ); иначе Visual FoxPro генерирует сообщение об ошибке.

Пример

Следующий пример открывается базу данных testdata и использует ADBOBJECTS( ), чтобы создать массив по имени gaTables содержащий имена таблиц в базе данных. Имена таблиц после этого отображаются.

Скопировать код
* Close any open databases
CLOSE DATABASES
* Clear desktop to prepare for displaying the array
CLEAR
* Open sample testdata database
OPEN DATABASE (HOME(2) + 'Data\testdata')
* Function call with cSetting for table names
=ADBOBJECTS(gaTables, "TABLE")
* Displays array gaTables created by ADBOBJECTS( ) function
DISPLAY MEMORY LIKE gaTables

См. Также

Другие Ресурсы

ADATABASES( ) Функция
CREATE Команда
CREATE CONNECTION Команда
CREATE DATABASE Команда
CREATE SQL VIEW Команда
CREATE TABLE - SQL Команда
DISPLAY DATABASE Команда
INDBC( ) Функция
LIST DATABASE Команда
MODIFY DATABASE Команда
SET DATABASE Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ADDBS( ) Function

Visual FoxPro 9.0 Справочник Языка
ADDBS () Функция
См. Также Пример

Добавляет наклонную черту backslash (если необходимо) к выражению пути.

ADDBS(cPath)

Параметры

cPath

Определяет имя пути, чтобы добавить наклонную черту.

Возвращаемое значение

Символьное

Пример

Следующий код выводит путь каталога и демонстрирует что функция ADDBS( ) добавляет левую наклонную черту, если его не существует, но не дублирует её, если он существует.

Скопировать код
*-- Both print C:\Windows\
? ADDBS( "C:\Windows" )
? ADDBS( "C:\Windows\" )

См. Также

Другие Ресурсы

DEFAULTEXT( ) Функция
FILE( ) Функция
FORCEEXT( ) Функция
FORCEPATH( ) Функция
JUSTDRIVE( ) Функция
JUSTEXT( ) Функция
JUSTFNAME( ) Функция
JUSTPATH( ) Функция
JUSTSTEM( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ADDPROPERTY( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ADDPROPERTY()
Смотрите также
CollapseAll image

Добавляет в run time новое свойство в объект.

Вы можете использовать ADDPROPERTY( ) для добавления новых свойств и их значений в действительные объекты Visual FoxPro, включая те, которые созданы из классов Visual FoxPro, классов COM и с помощью команды SCATTER...NAME.

ADDPROPERTY(oObjectName, cPropertyName, [, eNewValue ])

Параметры

oObjectName

Указывает имя объекта, которому добавляется новое свойство.

Если oObjectName не является действительным объектом, Visual FoxPro генерирует соответствующее сообщение.

cPropertyName

Указывает имя нового свойства, добавляемого объекту.

Если свойство с указанным вам именем еще не существует, то свойство создается и добавляется.

eNewValue

Указывает значение, которое присваивается новому свойству при его создании.

Если вы опустите eNewValue, а свойство уже существует, Visual FoxPro оставляет значение свойства неизмененным. Если вы опустите eNewValue, а свойство является новым, Visual FoxPro устанавливает значение нового свойства в False (.F.).

Expand image Возвращаемое значение

Логический тип данных. В приведенной ниже таблице описываются возвращаемые значения для ADDPROPERTY( ) и поведения для случая, когда вы пытаетесь добавить свойство, когда оно уже существует у объекта.

Возвращаемое значение Описание

True (.T.)

Когда ADDPROPERTY() успешно добавила свойство.

Когда новое свойство представляет собой массив, а массив уже существует, ADDPROPERTY() изменяет размер массива в соответствии с размером, указанным в cPropertyName. Если указали значение в eNewValue, то это значение будет присвоено всем элементы массива. Если вы опустили eNewValue, то всем элементам массива присваивается значение False (.F.).

Если новое свойство не является массивом, но уже существующее свойство является массивом, тогда свойство остается массивом и массив сохраняет свои размеры. Если вы указали значение для eNewValue, то всем элемента такого массива будет присвоено указанное значение. Если же вы опустили eNewValue, то всем элементам массива присваивается значение False (.F.).

Если новое свойство не является массивом, и уже существующее свойство не является массивом или является родным свойством Visual FoxPro, но буз признака "только для чтения", то если вы указали значение в eNewValue, то это существующее свойство устанавливается в это значение. Если же вы опустили eNewValue, то существующее свойство остается неизменным.

Если существующее свойство уже является членом объекта, но маркировано как Hidden или Protected, то Visual FoxPro сгенерирует ошибку, "Property name is not found (Error 1734)", и свойству не будет присвоено значение, посланное функцией ADDPROPERTY().

False (.F.)

Когда ADDPROPERTY( ) не смогла добавить свойство.

Если свойство представляет собой массив, а существующее свойство массивом не является, то существующее свойство остается неизменным.

Expand image Примечания

Вы можете свойство в виде массива используя для объекта функцию ADDPROPERTY(). Когда вы делаете это, каждый элемент в массиве инициализиуется значением, предоставленным параметром eNewValue, разумеется в случае, если оно было предоставлено. В противном случае, значение каждого элемента в массиве устанавливается в False (.F.). Для получения более подробной информации о создании в объекте свойства-массива, смотрите раздел Примеры.

Visual FoxPro добавляет новое свойство как свойство Public. Вы н можете указать свойство в виде Protected или Hidden.

Если существующее свойство маркировано как "только для чтения" и является родным свойством Visual FoxPro, например, таким как свойство BaseClass, Visual FoxPro сгенерирует ошибку "Property name is read-only (Error 1743)".

Если имя свойства является недействительным, например, в имени свойства имеются недопустимые символы, то Visual FoxPro сгенерирует ошибку "Incorrect property name (Error 1470)".

Для экземпляров объекта, образованного из классов Visual FoxPro, ADDPROPERTY( ) учитывает установку области видимости, установленную внутренним методом AddProperty. Если метод AddProperty маркировал свойства, как Hidden или Protected, ADDPROPERTY( ) не создает нового свойства и возвращает False (.F.). Если метод AddProperty маркировал свойство как Public (по умолчанию), то ADDPROPERTY( ) создает свойство и возвращает True (.T.). Это защищает оригнальный дизайн класса.

Замечание Замечание

Это не применимо к COM-объектам, созданным из классов Visual FoxPro OLEPUBLIC.

ADDPROPERTY() не работает, если используется команда FOR EACH с объектной ссылкой. Однако вы, вместо этой функции можете использовать одноименный метод AddProperty.

Expand image Примеры

Пример 1

Приведенный ниже пример добавляет новое свойство в объект, созданный командой SCATTER.

CopyCode image Скопировать код
USE customers
SCATTER NAME oCust
ADDPROPERTY(oCust,"MyProperty")

Пример 2

Приведенный ниже пример создает для объекта oMyForm свойство-массив и отображает его содержание: 1 и "Two".

CopyCode image Скопировать код
oMyForm = CREATEOBJECT('Form')
ADDPROPERTY(oMyForm, 'MyArray(2)', 1)
oMyForm.MyArray(2) = "Two"
CLEAR
? oMyForm.MyArray(1)
? oMyForm.MyArray(2)

Expand image Смотрите также

Справочное руководство

Метод AddProperty
Команда SCATTER
Функция REMOVEPROPERTY( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ADEL( ) Function

Visual FoxPro 9.0 Описание Языка
ADEL( ), Функция
См. также Пример
CollapseAll image

Удаляет элемент из Одномерного массива, или строку / столбец из Двумерного массива.

ADEL(ArrayName, nElementNumber [, 2])

Параметры

ArrayName

Определяет массив, из которого удаляется Элемент, Строка или Столбец.

nElementNumber

Определяет номер элемента, строки или столбца, который удаляется из массива. Если массив является многомерным, nElementNumber определяет номер удаляемой строки. Вы можете указать опциональный параметр 2, который показывает, что удаляется столбец из массива.

Note Совет

Дополнительная информация об определении размерностей массивов находится в разделе DIMENSION, Команда.
2

Указывает, что из массива удаляется Столбец.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Удаление элемента или строки из массива не изменяет общую размерность рассматриваемого массива; при этом конечные элементы массива, строки или столбцы перемещаются к началу массива, заменяя "места" удаленных элементов, Конечные элементы в массиве принимают значения = False (.F.). При уделении Стобца, соответствующие элементы в удаляемом столбце принимают значения = False (.F.), а конечные элементы не перемещаются к началу массива.

Если элемент, строка или столбец успешно удалены из массива, то функция возвращает значение = 1.

Expand image Пример

В следующем Примере, создается и заполняется Массив, в котором выполняется поиск конкретного имени компании, если такой элемент найден, то он удаляется из массива.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer     && открываем таблицу customer
SELECT company FROM customer ;
   WHERE country = 'UK' ;
   INTO ARRAY gaCompanies
gnCount = _TALLY
gcName = 'Seven Seas Imports'
CLEAR
DISPLAY MEMORY LIKE gaCompanies
gnPos = ASCAN(gaCompanies, gcName)   && выполняем поиск в массиве
IF gnPos != 0
   * Заданная Компания найдена, удаляем данный элемент массива
   = ADEL(gaCompanies, gnPos)
   gnCount = gnCount - 1
ENDIF
DISPLAY MEMORY LIKE gaCompanies

Expand image См. также

Описание

ACOPY( ), Функция
ADIR( ), Функция
AELEMENT( ), Функция
AFIELDS( ), Функция
AINS( ), Функция
ALEN( ), Функция
ASCAN( ), Функция
ASORT( ), Функция
ASUBSCRIPT( ), Функция
DIMENSION, Команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the страницу обратной связи.
© Microsoft Corporation. All rights reserved.


ADIR( ) Function

Visual FoxPro 9.0 Описание Языка
ADIR( ), функция
См. также Пример
CollapseAll image

Размещает информацию о файлах в массиве памяти, возвращает количество обработанных файлов.

ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])

Параметры

ArrayName

Определяет имя массива. Если указанный массив отсутствует, то система Visual FoxPro автоматически создает указанный массив. Если указанный массив существует, а его размер недостаточен для размещения всей информации, то система Visual FoxPro автоматически увеличивает размерность данного массива, для размещения всей информации о файлах. Если массив имеет больший размер, чем необходимо, то система Visual FoxPro укорачивает размер массива до необходимых размеров. Если массив существует, а функция ADIR( ) возвращает значение = 0, т.е. файлов нет, массив остается неизменным. Если массив отсутствовал, а функция ADIR( ) возвращает значение = 0, то массив не создается.

В следующей таблице представлена информация о структуре массива данных о файлах:

Столбец Содержит Тип данных

1

FИмя Файла

Символьный

2

Размер файла

Числовой

3

Дата последней модификации

Типа Date

4

Время последней модификации

Символьный

5

Атрибуты файла

Символьный

Последний столбец массива содержит информацию о файловых атрибутах. Каждый атрибут представляется в виде соответствующего символа. В таблице представлено описание файловых атрибутов:

Символ Файловый атрибут

A

Архивный – Read/Write

H

Скрытый (Hidden)

R

Только чтение (Read-only)

S

Системный (System)

D

Каталог (Directory)
cFileSkeleton

Определяет шаблон (критерий отбора / маска файлов) для поиска обрабатываемых файлов. Например, данный шаблон может указывать на все таблицы, или все текстовые файлы, или все файлы, имена которых начинаются с буквы "A", и так далее. Такие шаблоны, для отбора файлов строятся с помощью "шаблонных" символов: * (звездочка) и ? (вопрос) в параметре cFileSkeleton. Знак вопроса - означает один любой допустимый символ; звездочка - означает любое количесво символов. Вы можете использовать данные шаблонные символы в любом месте общего файлового шаблона (маски) отбора файлов.

Вы можете указывать в шаблоне имя диска и имена каталогов, где производится поиск необходимых файлов. Если эти реквизиты (диск и каталог) не указаны, то система Visual FoxPro просматривает текущий каталог, который является в настоящий момент текущим.

cAttribute

Определяет дополнительные характеристики отбираемых файлов: подкаталоги, скрытые и системные файлы.

Параметр cAttribute может содержать дополнительные спецификации: D, H, или S. Включение D - означает дополнительную обработку подкаталогов заданного каталога, которые удовлетворяют указанному шаблону отбора файлов (параметр cFileSkeleton). Включение символа H - означает обработку файлов, имеющих соответствующий атрибут (скрытые файлы). Включение символа S - означает дополнительную обработку системных файлов, которые удовлетворяют шаблону cFileSkeleton.

Если параметр cFileSkeleton - есть пустая строка, то в обработку включаются только подкаталоги, скрытые и системные файлы.

Вы можете указать символ "V" в параметре cAttribute - для определения имени текущего диска. Ключ V может быть включен в данный параметр вместе с другими ключами (D, H, или S). Имя текущего диска помещается в первый элемент массива, остальные элементы массива исключаются.

nFlag

Определяет формат представления имен файлов в массиве (DOS-формат, или оригинальные имена).

nFlag Описание значений Параметра

0

(по-умолчанию) имена файлов размещаются в массиве в верхнем регистре

1

Имена файлов представляются в оригинальном виде

2

Имена файлов представляются в нотации DOS 8+3 (как короткие имена)

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Для каждого файла, функция ADIR( ) размещает в элементах массива соответственно: имя файла, размер, дату модификации файла, время модификации, файловые атрибуты.

Expand image Пример

В представленном примере функция ADIR( ) используется для размещения в массиве информации о базах данных; имена баз данных выводятся на экран системы.

CopyCode image Копировать Код
CLOSE DATABASES
SET DEFAULT TO (HOME(2) + 'Data')

gnDbcnumber = ADIR(gaDatabase, '*.DBC')  && создать массив

CLEAR
FOR nCount = 1 TO gnDbcnumber  && цикл по количеству баз данных
   ? gaDatabase(nCount,1)  && отображается имя базы данных
ENDFOR
SET PATH TO HOME( )  && Установить "домашний" каталог системы Visual FoxPro

Expand image См. также

Описание

ADEL( ), функция
AELEMENT( ), функция
AFIELDS( ), функция
AINS( ), функция
ALEN( ), функция
ANETRESOURCES( ), функция
ASCAN( ), функция
ASORT( ), функция
ASUBSCRIPT( ), функция
DIMENSION, команда
DIR или DIRECTORY, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ADLLS( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ADLLS()
Смотрите также
CollapseAll image

Возвращает массив, содержащий имена функций, загруженных с помощью команды DECLARE DLLs.

ADLLS(ArrayName)

Параметры

Arrayname

Указывает имя массива. Если указанный массив еще не существует, то Visual FoxPro создаст его автоматически. Если же массив уже существует, но недостаточно велик, чтобы вместить всю информацию, то Visual FoxPro автоматически увеличит его размер для того чтобы вся информация поместитлась в нем. Если же размер массив больше необходимого, то Visual FoxPro обрежет его до необходимого размера. Если фнукции DLL не были задекларированы в приложении, то массив либо не создается, либо, если он уже существует, остается неизменным.

Expand image Возвращаемое значение

Численное значение

Expand image Примечания

Численное значение, возвращаемое функцией ADLLS указывает число загруженных функций DLL. Если при декларации функций не задавалось ее псевдоимя, то второй элемент массива будет иметь тоже значение, что и первый (имя функции).

Массив, создаваемый функцией ADLLS имеет приведенный ниже формат:

Колонка | Информация | Тип данных
1 | Имя функции | Символьный
2 | Псевдоимя функции (Alias) | Символьный
3 | Имя библиотеки | Символьный

Для получения более подробной информации о декларировании функций смотрите описание команды DECLARE - DLL.

Expand image Смотрите также

Справочное руководство

Массивы
Команды CLEAR
Команда DISPLAY DLLS
Команда LIST DLLS
Команда DISPLAY STATUS

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ADOCKSTATE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ADOCKSTATE()
Смотрите также Пример
CollapseAll image

Извлекает информацию о состоянии стыковки любой стыкуемой формы, окна Интегрированной среды разработки (IDE), или панели инструментов. В случае, если вас интересует состояние стыковки только для форм, вы можете использовать метод GetDockState. ADOCKSTATE( ) доступна в run time.

ADOCKSTATE( ArrayName [, nType | nExtended])

Параметры

ArrayName

Определяет массив с одной или более строками, содержащий информацию о состоянии стыковки стыкуемых предметов.

Замечание Замечание

В массиве могут появиться как системные, так и определенные пользователем панели инструментов. Форма появляется в массиве только в том случае, если ее свойство Dockable установлено в значение, большее чем 0.

Приведенная ниже таблица иллюстрирует информацию, которую содержит массив.

Элемент Описание

1

Имя формы, окна IDE или панели инструментов.

Для определенной пользователем панели инструментов, первый элемент содержит значение свойства Caption для этой панели.

2

Состояние стыковки:

1 - Состыковано

0 - Не состыковано

3

Позиция стыковки.

Значения для формы и панели инструментов, смотрите описание свойства DockPosition. Для окон, смотрите описание команды DOCK.

4

Целевой объект, который определяет объект к которому осуществлена стыковка.

Этот элемент не применим к панелям инструментов, если они не пристыкованы к главному окну Visual FoxPro. Для панелей инструментов или окон, пристыкованных к главному окну Visual FoxPro, четвертый элемент содержит имя главного окна Visual FoxPro, которое вы можете получить, используя свойство Caption _VFP. Если окно или панель инструментов не пристыкованы, четвертый элемент содержит пустую строку.

Замечание Замечание

Если панель инструментов появилась между рабочим столом Visual FoxPro и окном, пристыкованным к рабочему столу Visual FoxPro, то четвертый элемент содержит имя панели инструментов.

5

Объектная ссылка на пристыкованную форму или панель инструментов.

Применяется только в том случае, когда пристыкованы определенные пользователем формы или панели инструментов; в противном случае, этот элемент содержит пустую строку (окно IDE).

6

Объектная ссылка на целевой объект, если он представляет собой определенную пользователем форму. Если целевым объектом является главное окно Visual FoxPro, то этот элемент содержит объектную ссылка на системную переменную _SCREEN. В противном случае, этот элемент содержит пустую строку (окно IDE).

nType

Определяет один или более предметов, для которых вы желаете получить информацию о состоянии стыковки с помощью фукнции ADOCKSTATE().

В приведенной ниже таблице перечислены значения для nType.

nType Описание

0

Возвращает все или ни одного окна. (По умолчанию)

1

Возвращает только окна IDE.

2

Возвращает только панели инструментов.

3

Возвращает только определенные пользователем формы.
nExtended

Определяет число элементов для возврата в массив.

В приведенной ниже таблице перечислены значения для nExtended.

nExtended Описание

0

Возвращает четырех-элементный массив для окон и панелей инструментов.

1

Возвращает шести-элементный массив для форм.

Expand image Возвращаемое значение

Численный тип данных. ADOCKSTATE( ) возвращает число заполненных строк или 0, если не найдено состыкованных предметов .

Expand image Примечания

Для окон со страничной стыковкой, самое левое окно является якорным окном и содержит подробную информацию о том, как состыкован контейнер в целом. Visual FoxPro прослеживает окна слева-направо. Для окон с линковочной стыковкой, верхнее левое окно в контейнере с линковочной стыковкой содержит подробную информацию о том, как состыкован контейнер в целом.

Приведенные ниже правила определяют порядок стыковки:

  • Visual FoxPro прослеживает контейнер с линковочной стыковкой, начиная с самого крайнего верхнего левого окна.

  • Visual FoxPro прослеживает окна сверху-вниз и слева-направо. Контейнер с линковочной стыковкой может состоять из множества внутренних контейнеров. Таким образом, упорядочивание окно в массиве, заполняемом ADOCKSTATE( ) может появляться по разному.

  • Позиция, содержащаяся в третьем элементе массива определяется относительно окна, на которое ссылается первый элемент массива.

  • Visual FoxPro прослеживает все окна с линковочной стыковкой первыми и затем окна со страничной стыковкой. По существу, Visual FoxPro делает два прохода через связанный контейнер. Visual FoxPro включает только крайне левые окна со страничной стыковкой в первый проход по окнам с линковочной стыковкой.

  • Visual FoxPro прослеживает контейнер со страничной стыковкой слева-направо.

Если третий элемент массива установлен в -1 (не состыковано), контейнер не состыкован. Если контейнер пристыкован к рабочему столу, то третий элемент в массиве содержит позицию, в которой контейнер пристыкован к рабочему столу Visual FoxPro, на которую ссылается четвертый элемент массива.

Например, примеденный ниже пример создает массив, открывает и стыкует несколько окон и создает массив:

CopyCode image Скопировать код
CLEAR ALL
PUBLIC aa
DIMENSION aa[1]
ACTIVATE WINDOW Command
ACTIVATE WINDOW Trace
ACTIVATE WINDOW Document
ACTIVATE WINDOW Properties
ACTIVATE WINDOW Watch
ACTIVATE WINDOW Locals
SET
DOCK WINDOW View POSITION -1
DOCK WINDOW Command POSITION -1
DOCK WINDOW Trace POSITION -1
DOCK WINDOW Document POSITION -1
DOCK WINDOW Properties POSITION -1
DOCK WINDOW Watch POSITION -1
DOCK WINDOW Command POSITION 1 WINDOW View
DOCK WINDOW Trace POSITION 1 WINDOW Command
DOCK WINDOW Document POSITION 3 WINDOW View
DOCK WINDOW Properties POSITION 3 WINDOW Trace
DOCK WINDOW Watch POSITION 4 WINDOW Command
DOCK WINDOW Locals POSITION 3 WINDOW Command
ADOCKSTATE(aa,1)

В результате появится массив следующего вида:

Строка | Первый элемент | Второй элемент | Третий элемент | Четвертый элемент
1 | Trace | 1 | -1 |
2 | Properties | 1 | 3 | Trace
3 | Watch | 1 | 2 | Trace
4 | Locals | 1 | 3 | Watch
5 | View | 1 | 2 | Watch
6 | Document View | 1 | 3 | View
7 | Command | 1 | 4 | Watch

Visual FoxPro отображает информацию о стыковке для окон отладчиков. Если окно пристыковано, Visual FoxPro показывает имя, состояние стыковки (0) и позицию (-1). Если окно пристыковано, Visual FoxPro показывает только имя, состояник стыковки (1), позицию и окно ("Visual FoxPro Debugger").

Исторически, в предыдущих версиях Visual FoxPro, на окно "Data Session" всегда ссылались как на окно View. В дополнение к этому, язык используемый для управления этим окном, а именно HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), по прежнему ссылается на это окно, как на окно View. Visual FoxPro продолжает ссылаться на окно View и в фукнции ADOCKSTATE().

Expand image Пример

Приведенный ниже пример показывает возвращаемые функцией ADOCKSTATE() результаты, когда ни окна, ни панели инструментов не были предварительно состыкованы, например, например, после удаления файла ресурса FoxUser или когда Visual FoxPro только что проинсталлирован. Убедитесь, что окно Command открыто.

CopyCode image Скопировать код
CLEAR
dockNum = ADOCKSTATE(dockState)
? dockNum   && Возвращает 2 так как существует и панель инструментов Standard.
? dockState(1,1)  && Выводит "COMMAND".
? dockState(1,4)  && Выводит пустую строк, так как окно Command
                && не пристыковано.
? dockState(2,1)  && Выводит "Standard".
? dockState(2,4)  && Выводит "Microsoft Visual FoxPro" because the
                && панель инструментов Standard  пристыкована к рабочему столу
                && Microsoft Visual FoxPro.

Следующий пример показывает, как использовать команду DOCK для стыковки окна Command к окну рабочего стола Visual FoxPro и использует функцию ADOCKSTATE( ) для получения состояния стыковки окна Command. Прежде всего, уведитесь, что окно Command открыто. После стыковки окна Command вы можете увидеть что панель инструментов "Standard" и окно Command пристыкованы к окну рабочего стола Microsoft Visual FoxPro. Позиция панелей инструментов или окон в массиве, возвращаемом функцией ADOCKSTATE( ) может варьироваться в зависимости от порядка, в котором стыковались панели инструментов или окна.

CopyCode image Скопировать код
CLEAR
DOCK WINDOW Command POSITION 0
dockNum = ADOCKSTATE(dockState)
? dockNum   && возвращает 2 так как существует и  панель инструментов Standard.
? dockState(1,1)  && Выводит "Standard".
? dockState(1,4)  && Выводит "Microsoft Visual FoxPro".
? dockState(2,1)  && Выводит "COMMAND".
? dockState(2,4)  && Выводит "Microsoft Visual FoxPro".

Expand image Смотрите также

Задачи

Как: стыковать формы
Как: стыковать панели инструментов
Как: стыковать окна

Справочное руководство

Свойство Caption (Visual FoxPro)
Свойство DockPosition
Команда DOCK
Свойство Docked

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AELEMENT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция AELEMENT( )
Смотрите также
CollapseAll image

Вычисляет номер элемента массива исходя из индексов этого элемента.

AELEMENT(ArrayName, nRowSubscript [, nColumnSubscript])

Параметры

ArrayName

Задает имя массива, номер элемента которого нужно возвратить.

nRowSubscript

Задает строчный индекс. Если массив одномерный, функция AELEMENT( ) просто возвращает nRowSubscript.

Если задан индекс nRowSubscript t, который превышает число строк в массиве, Visual FoxPro выдаст сообщение об ошибке.

nColumnSubscript

Задает столбцевой индекс. Если массив двумерный, нужно задать и nRowSubscript и nColumnSubscript.

Expand image Возвращаемое значение

Числовое

Expand image Примечания

Элемент двумерного массива можно указывать двумя способами: либо с помощью двух индексов, задающих позиции элемента в массиве по строкам и по столбцам, либо с помощью одиночного номера. Функция AELEMENT( ) возвращает номер элемента исходя из его строчного и столбцевого индексов.

Такие функции Visual FoxPro, как ADEL( ), ADIR( ), AFIELDS( ), AINS( ), ALEN( ), ASCAN( ), ASORT( ) и ASUBSCRIPT( ), могут манипулировать двумерными массивами; элементы для них необходимо указывать по номерам. Функция AELEMENT( ) выполняет преобразование значений индексов в номер элемента, который могут использовать указанные функции. Для получения строчного и столбцевого индексов по номеру элемента следует воспользоваться функцией ASUBSCRIPT( ).

Следующий пример иллюстрирует, как создать массив из двух строк и трех столбцов. Команда DISPLAY MEMORY показывает содержимое элементов массива в порядке их номеров.

CopyCode image Copy Code
DIMENSION gaMyArray(2,3)
DISPLAY MEMORY LIKE gaMyArray
gaMyArray   Pub  A
  ( 1, 1)   L  .F. (element number 1)
  ( 1, 2)   L  .F. (element number 2)
  ( 1, 3)   L  .F. (element number 3)
  ( 2, 1)   L  .F. (element number 4)
  ( 2, 2)   L  .F. (element number 5)
  ( 2, 3)   L  .F. (element number 6)

Элемент можно указать с помощью его индексов или номера. Команды STORE 'INVOICE' TO gaMyArray(2, 1) и STORE 'INVOICE' TO gaMyArray(4) сохраняют символьную строку INVOICE в одном и том же элементе массива.

В одномерных массивах номер элемента идентичен строчному индексу. Для таких массивов использовать функцию AELEMENT( ) нет необходимости.

Expand image Смотрите также

Справочное руководство

Функция ADEL( )
Функция ADIR( )
Функция AFIELDS( )
Функция AINS( )
Функция ALEN( )
Функция ASCAN( )
Функция ASORT( )
Функция ASUBSCRIPT( )
Команда DIMENSION
Команда DISPLAY MEMORY

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AERROR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция AERROR( )
Смотрите также Пример
CollapseAll image

Создает масив переменных содержащий информацию об последней ошике Visual FoxPro, OLE, или ODBC.

Создает массив переменных памяти, содержащий информацию о самой последней ошибке, связанной с Visual FoxPro, OLE или ODBC.
AERROR(ArrayName)

Параметры

ArrayName

Задает имя для массива, создаваемого функцией AERROR( ).

Expand image Возвращаемое значение

Числовое. AERROR( ) возвращается количествострок в масиве.

Expand image Примечания

Функция AERROR( ) создает массив из семи столбцов и некоторого числа строк. Тип ошибки определяет количество строк в массиве.

Note Примечание

AERROR( ) несоздает масив если невозникало ошибок.

В случае ошибки Visual FoxPro массив состоит из одной строки. В приведенной ниже таблице описывается содержимое каждого элемента.

Номер элемента | Описание
1 | Числовой. Номер ошибки. Идентичен значению, возвращаемому функцией ERROR( ).
2 | Символьный. Текст сообщения об ошибке. Идентичен значению, возвращаемому функцией MESSAGE( ).
3 | Значение NULL. Однако если у ошибки есть дополнительный параметр, данный элемент содержит текст этого параметра ошибки. Идентичен значению, возвращаемому функцией SYS(2018), разница между возвращаемым значением по AERROR( ) и SYS(2018) заключается в том, что SYS(2018) возвращает значение в верхнем регистре.
4 | Значение NULL. Однако в соответствующих случаях содержит номер рабочей области, в которой произошла ошибка.
5 | Значение NULL. Однако при ошибке триггера (ошибка 1539) содержит одно из следующих числовых значений: 1 - Ошибка триггера добавления. 2 - Ошибка триггера обновления. 3 - Ошибка триггера удаления.
6 | Значение NULL.
7 | Значение NULL.

В случае возникновения ошибки OLE с номером 1427 или 1429 массив состоит из одной строки. В приведенной ниже таблице описывается содержимое каждого элемента.

Номер элемента | Описание
1 | Числовой. Содержит 1427 или 1429.
2 | Символьный. Текст сообщения об ошибке Visual FoxPro.
3 | Символьный. Текст сообщения об ошибке OLE.
4 | Символьный. Имя приложения (например Microsoft Excel).
5 | Значение NULL либо Символьный. Содержит имя того файла справки, в котором можно найти подробную информацию об ошибке, если приложение может его предоставить; в противном случае содержит значение NULL.
6 | Значение NULL либо Символьный. Содержит ID контекста справки для соответствующей темы, если приложение может предоставить информацию; в противном случае содержит значение NULL.
7 | Числовой. Ошибка OLE 2.0.

В случае возникновения ошибки ODBC номер 1526, массив состоит из одной или более строки, по одной строке на каждую ошибку ODBC. В приведенной ниже таблице описывается содержимое каждого элемента.

Номер элемента | Описание
1 | Числовой. Содержит 1526.
2 | Символьный. Текст сообщения об ошибке.
3 | Символьный. Текст сообщения об ошибке ODBC.
4 | Символьный. Текущее состояние ODBC SQL.
5 | Числовой. Номер ошибки от источника данных ODBC.
6 | Числовой. Дескриптор связи ODBC
7 | Значение NULL.

Expand image Пример

В следующем примере команда ON ERROR используется для задания программы обработки ошибок errhand. Ошибка генерируется выдачей неправильно набранной команды (BRWS). Программа errhand с помощью функции AERROR( ) создает массив, содержащий информацию об ошибке, а затем эта информация выводится на экран.
CopyCode image Copy Code
ON ERROR DO errhand     && errhand is the error handler procedure

BRWS  && Causes a syntax error
ON ERROR  && Restore system error handler

PROCEDURE errhand
   = AERROR(aErrorArray)  && Data from most recent error
   CLEAR
   ? 'The error provided the following information'  && Display message
   FOR n = 1 TO 7  && Display all elements of the array
      ? aErrorArray(n)
   ENDFOR

Expand image Смотрите также

Справочное руководство

Функция COMRETURNERROR( )
Команда CREATE TRIGGER
Команда ERROR
Функция ERROR( )
Функция MESSAGE( )
Команда ON ERROR
SYS(2018) - Параметр сообщения об ошибке
Алфавитный перечень сообщений об ошибках
Сообщения об ошибках по номерам

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AEVENTS( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция AEVENTS()
Смотрите также Пример
CollapseAll image

Вы можете использовать функцию AEVENTS( ) для получения числа существующих привязок событий.

AEVENTS( ArrayName [, 0 | 1 | oEventObject ] )

Параметры

ArrayName

Указывает имя массива, который содержит результаты вызова функции AEVENTS( ).

0

Указывает, что AEVENTS( ) возвращает трехэлементный массив, содержащий объектную ссылке на текущий источник события, наименование сработавшего события и как было инициировано событие.

Колонка Описание Тип

1

Источник события

Объектная ссылка

2

Событие

Строка

3

Тип события или как было инициировано событие.

0 - системное

1 - в результате вызова RAISEEVENT()

2 - в результате вызова метода

Третий элемент массива указывает, как было инициировано событие. Если событие является свойством, то это значение может быть равно 1 или 2. Зачение равно 2 если свойству устанавливалось или присваивалось значение.

1

Указывает, что AEVENTS( ) возвращает четырехколоночный массив, содержащий информацию о событиях Windows Message (Win Msg).

Массив содержит одну строку на каждую привязку. Привязки создаются с помощью функции BINDEVENT().

В приведенной ниже таблице описывается содержание каждой колонки в массиве.

Колонка Описание Тип

1

hWnd

Целочисленное

2

Window Message

Целочисленное

3

Ссылка обработчика

Объектная ссылка

4

Делегат обработчика

Строка

oEventObject

Указывает на объектную ссылку. Ели вы указали объектную ссылку, то AEVENTS() возвращает пятиколоночный массив, который содержит срабатовшие события и методы-делегаты для oEventObject. Каждая строка в ArrayName представляет привязку. В приведенной ниже таблице описывается информация, содержащаяся в каждой из пяти колонок.

Колонка Описание Тип

1

.T. если второй элемент является источником события

.F. если второй элемент является обработчиком события

Логическое

2

Источник события, если вы посылаете обработчик события в oEventObject; в противном случае, обработчик события, если вы посылаете источник события в oEventObject.

Объектная ссылка

3

Событие

Строка

4

Метод-делегат

Строка

5

флаги BINDEVENT()

Целочисленное

Когда вы посылаете oEventObject, число привязок, возвращаемое AEVENTS( ) должно быть равно число несвязанных событий, возвращаемый функцией UNBINDEVENTS( ), когда посылаем только параметр oEventObject.

Expand image Возвращаемое значение

Численный тип. AEVENTS( ) возвращает число строк в указанном массиве. Обычно, число представляет собой число привязок событий. Однако, если вы пошлете нуль (0), тогда AEVENTS( ) возвратит 3.

Expand image Примечания

Если AEVENTS() возвращает 0 и массив не существует, то Visual FoxPro не создает массив. Visual FoxPro изменяет или переписывает существующий массив только в том случае, если возвращается действительный результат. Массив остается неизменным при следующих условиях:

  • Не существует событий.

  • Вы указали значение 0 в качестве второго параметра, и AEVENTS( ) не появляется с событием или oEventObject не имеет привязок.

Expand image Пример

Приведенный ниже пример показывает, как использовать AEVENTS( ) для получения числа существующих привязок события. BINDEVENTS( ) удерживает Class Browser помещенный с правой стороны рабочего стола Visual FoxPro, независимо от того, как меняются размеры рабочего стола. Для получения более подробной информации, смотрите описание функции BINDEVENT().

UNBINDEVENTS( ) отсоединяет событие Resize систмной переменной _SCREEN от объекта oHandler. AEVENTS( ) возвращает число привязок событий до BINDEVENT( ) и после UNBINDEVENTS( ) в массиве с именем myArray:
CopyCode image Скопировать код
PUBLIC oHandler
oHandler=NEWOBJECT("myhandler")
DO (_browser)

BINDEVENT(_SCREEN,"Resize",oHandler,"myresize")
AEVENTS(myArray,oHandler)
numRows=ALEN(myArray,1)
numCols=ALEN(myArray,2)
WAIT "Rows in array after binding: " + TRANSFORM(numRows) WINDOW AT 20,20
WAIT "Cols in array after binding: " + TRANSFORM(numCols) WINDOW AT 20,20
FOR count1 = 1 TO numRows
   FOR count2 = 1 TO numCols
      WAIT myArray[count1,count2] WINDOW AT 20,20
   ENDFOR
ENDFOR

* Закомментируйте следующую строку кода для того, чтобы увидеть сохраняемые привязки события.
UNBINDEVENTS(_SCREEN,"Resize",oHandler,"myresize")
AEVENTS(myArray,oHandler)

* Проверька создания и заполнения нового массива функцией AEVENTS().
IF VARTYPE(myArray) <> U
   * Приведенный ниже код не исполняется если событие не привязано, так как
   * AEVENT( ) не создает нового массива если возвращен 0.
   * Для исполнения приведенногон ниже кода смотрите содержание нового массива,
   * раскомментируйте предложение UNBINDEVENTS().
   numRows=ALEN(myArray,1)
   numCols=ALEN(myArray,2)
   WAIT "Rows in array after unbinding: " + TRANSFORM(numRows) ;
      WINDOW AT 20,20
   WAIT "Cols in array after unbinding: " + TRANSFORM(numCols) ;
      WINDOW AT 20,20
   FOR count1 = 1 TO numRows
      FOR count2 = 1 TO numCols
         WAIT myArray[count1,count2] WINDOW AT 20,20
      ENDFOR
   ENDFOR
ENDIF

DEFINE CLASS myhandler AS Session
   PROCEDURE myresize
   _obrowser.left = _SCREEN.Width - _obrowser.width
   RETURN
ENDDEFINE

Expand image Смотрите также

Задачи

Образец примера привязки, инициирования, развяки и извлечения событий

Справочное руководство

Функция BINDEVENT( )
Функция UNBINDEVENTS( )
Функция RAISEEVENT( )
SYS(2325) - WCLIENTWINDOW из Visual FoxPro WHANDLE
SYS(2326) - WHANDLE из hWnd окна
SYS(2327) - hWnd окна из Visual FoxPro WHANDLE

Концепции

Привязка событий к объектам Visual FoxPro

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AFIELDS( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
AFIELDS( ) Function
Смотрите также Пример
CollapseAll image

Извлекает информацию о структуре таблицы в указанной рабочей области, или указанной по псевдоимени, или открытой в текущей рабочей области, сохраняет ее в массиве и возвращает число полей в таблице.

AFIELDS( ArrayName [, nWorkArea | cTableAlias ] )

Параметры

ArrayName

Определяет имя массива для хранения информации о структуре таблицы.

Если указанный вами массив еще не существует, то Visual FoxPro создаст его автоматически. Если же массив существует, но не достаточно велик, чтобы вместить в себя информацию, возвращаемую AFIELDS( ), то его размер будет автоматически увеличен с тем, чтобы вместить всю требуемую информацию.

nWorkArea

Указывает рабочую область, в которой открыта таблица.

cTableAlias

Указывает псевдоимя таблицы.

Если вы опустите nWorkArea и cTableAlias, AFIELDS( ) вернет информацию о таблице, открытой в текущей рабочей области.

Expand image Возвращаемое значение

Численный тип данных. AFIELDS( ) возвращает число полей в таблице. Массив содержит 18 колонок и количество строк, равное числу полей в таблице.

В приведенной ниже таблице описывается содержание каждой колонки в первой строке массива и тип данных информации, хранимой в каждой колонке. Значения для свойств, относящихся к таблице появляеться только в первой строке массива и размещаются в колонках с 10-й по 16-ю. One row is created for each field in the table.

Номер колонки | Информация о поле | Тип данных
1 | имя поля | Character
2 | тип поля: C = Character Y = Currency D = Date T = DateTime B = Double F = Float G = General I = Integer L = Logical M = Memo N = Numeric Q = Varbinary V = Varchar and Varchar (Binary) W = Blob | Character
3 | ширина поля (Field width) | Numeric
4 | Число десятичный мест, после запятой (Decimal places) | Numeric
5 | допускаются Null значения | Logical
6 | Не разрешена трансляция кодовых страниц | Logical
7 | Выражение проверки поля (Field validation expression) | Character
8 | Текст выражение проверки поля (Field validation text) | Character
9 | Значение поля по умолчанию (Field default value) | Character
10 | Выражение проверки таблицы (Table validation expression) | Character
11 | Текст выражение проверки таблицы (Table validation text) | Character
12 | Длинное имя таблицы | Character
13 | Выражение триггера вставки (Insert trigger expression) | Character
14 | Выражение триггера обновления (Update trigger expression) | Character
15 | Выражение триггера удаления (Delete trigger expression) | Character
16 | Комментарий к таблице (Table comment) | Character
17 | NextValue для автоувеличения | Numeric
18 | Шаг автоувеличения (Step) | Numeric

Expand image Примечания

Если поля в таблице используют автоувеличение значений, то это можно определить по значению Step, которое в таком случае больше, чем 0.

Вы можете использовать COPY STRUCTURE EXTENDED для размещения подобной инфомации в таблицу вместо массива, используемого в данной функции.

Expand image Пример

Приведенный ниже пример создает массив с именем gaMyArray, который содержит информацию о полях таблицы Customer. Отображаются имена полей.
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && открывается таблица Customer.

gnFieldcount = AFIELDS(gaMyArray)  && создается массив.
CLEAR
FOR nCount = 1 TO gnFieldcount
   ? gaMyArray(nCount,1)  && отображаются имена полей.
ENDFOR

Expand image Смотрите также

Справочное руководство

Функция ADEL( )
Функция ADIR( )
Функция AELEMENT( )
Функция AINS( )
Функция ALEN( )
Команда ALTER TABLE - SQL
Функция ASCAN( )
Функция ASORT( )
Функция ASUBSCRIPT( )
Команда COPY STRUCTURE EXTENDED
Команда CREATE
Команда CREATE TABLE - SQL
Команда DIMENSION
Типы данных и полей Visual FoxPro

Концепции

Автоувеличение значений поля в таблицах

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


AFONT( ) Function

Visual FoxPro 9.0 Language Reference
Функция AFONT( )
Смотреть также Пример

Заносит в массив информацию о доступных шрифтах.

Tip:
Вы можете также использовать AFONT( ), чтобы определить доступные размеры шрифта или является ли шрифт масштабируемым. Пользуйтесь функцией GETFONT( ), когда нужно отобразить на экране диалоговое окно, содержащее перечень имеющихся шрифтов, их размеров и стилей.. Для получения дополнительной информации, см. Функция GETFONT ().

AFONT(ArrayName [, cFontName [, nFontSize | nFontCharSet [, nFlags]]])

Параметры

ArrayName

Задает массив переменных памяти, в который будут занесены имена доступных шрифтов. Если массив недостаточно велик, чтобы вместить все шрифты, Visual FoxPro автоматически увеличит его размер. Если задан существующий двумерный массив, Visual FoxPro преобразует его в одномерный.
cFontName

Задает шрифт, информация о котором заносится в массив. Если заданный шрифт допускает несколько вариантов размеров (8 пунктов, 10 пунктов и т.д.), то в массив заносятся эти размеры и функция AFONT( ) возвращает значение "истина" (.T.). Если заданный шрифт, определенный параметром cFontName является масштабируемым (допускает дробные значения размера), то массив будет состоять из одного элемента, содержащего -1, а AFONT( ) возвращает также значение "истина" (.T.). Если заданный шрифт отсутствует, массив не создается и AFONT( ) возвращает "ложь" (.F.).
nFontSize

Задает размер шрифта, заданного аргументом cFontName. Если размер nFontSize является допустимым для шрифта cFontName,, массив будет состоять из одного элемента, содержащего значение "истина" (.T.), и функция AFONT( ) также возвращает значение "истина" (.T.). Если указанный размер не является допустимым для заданного шрифта, массив не создается и AFONT( ) возвращает "ложь" (.F.).
nFontCharSet

Определяет набор символов для шрифта, заданного в in cFontName. Если набор символов шрифта указанный доступен для шрифта, заданного в in cFontName, массив имеет единственный элемент, содержащий значение "истина" (.T)., и функция AFONT( ) и функция AFONT( ) также возвращает значение "истина" (.T.). Если набор символов шрифта не доступен для указанного шрифта, массив не создается и AFONT( ) возвращает "ложь" (.F.).
nFlags

Контролирует, прошел ли третий параметр, обработаный как размер шрифта или набор символов шрифта. Следующая таблица описывает поведение для различных заданных значений nFlags.

nFlags Описание

Опущен или 0 для первого бита

Третий параметр обработан как значение размера шрифта.

Если третий параметр - 1, массив модифицирован со всеми доступными размерами шрифта для шрифта, указанного в cFontName для непропорциональных шрифтов, типа MS Sans Serif, и функция AFONT( ) возвращает значение "истина" (.T.). Это поведение в Visual FoxPro 8.0 и старше эквивалентно заданию только первых двух параметров.

Комментарии:
В версиях Visual FoxPro до 8.0, если Вы определили любой отрицательный или положительный размер шрифта для непропорционального шрифта, функция AFONT( )возвращает значение "ложь" (.F.).

Если третий параметр прошел - 0, для непропорциональных шрифтов, функция AFONT( )возвращает значение "ложь" (.F.) для Visual FoxPro 8.0 и старше. Однако, поведение для пропорциональных шрифтов типа TrueType или OpenType (Arial) не изменилось.

1

Третий параметр обработан как набор символов шрифта. Массив заполняется с наборами символов, доступными для указанного шрифта.

Если третий параметр прошел -1, массив модифицирован со всеми доступными наборами символов шрифта для шрифта, указанного в cFontName.

Результат

Логический. Функция AFONT( ) возвращает значение "истина"(.T.).), если массив успешно создан. Иначе, функция AFONT( ) возвращает значение "ложь" (.F.).

Замечания

Если только ArrayName передавался в версиях Visual FoxPro ранее 8.0, массив, заполняемый в AFONT( ) включенные дополнительные шрифты, которые были действительно частью единственного семейства шрифта. Например, массив мог содержать следующие Arial шрифты для Visual FoxPro 7.0:

  • Arial

  • Arial Baltic

  • Arial Black

  • Arial CE

  • Arial CYR

  • Arial Greek

  • Arial Narrow

  • Arial Tur

Многие из этих шрифтов не включены в стандартное диалоговое окно Font Picker функции GETFONT( ). В этой версии Visual FoxPro, массив в AFONT( ) исключает эти дополнительные шрифты. Например, массив только включает следующие шрифты:

  • Arial

  • Arial Baltic

  • Arial Black

Пример

В следующем примере функция AFONT( ) создает массив, содержащий имена всех имеющихся шрифтов. Имя каждого шрифта выводится на экран вместе с образцом этого шрифта. Если в системе установлено более десяти шрифтов, на экране отображаются только первые десять.
Copy Code
CLEAR
=AFONT(gaFontArray)  && Array containS font names.
gnNumFonts = ALEN(gaFontArray)  && Number of fonts
IF gnNumFonts > 10
   gnNumFonts = 10  && Display first 10 fonts.
ENDIF

FOR nCount = 1 TO gnNumFonts
   ? ALLTRIM(gaFontArray(nCount))  && Display font name.
   ?? '  This is an example of ' ;
      + ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8
ENDFOR

Смотреть также

Другие ресурсы

Функция FONTMETRIC( )
Функция SYSMETRIC( )
Функция WFONT( )
Функция TXTWIDTH( )
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


AGETCLASS( ) Function

Visual FoxPro 9.0 Описание Языка
AGETCLASS( ), функция
См. также Пример
CollapseAll image

Обеспечивает активацию диалогового бокса Open (Открыть) для выбора требуемого класса из библиотеки классов, создает массив, содержащий наименование выбранной библиотеки классов и соответствующего Класса.

AGETCLASS(ArrayName [, cLibraryName [, cClassName [, cTitleText
[, cFileNameCaption [, cButtonCaption]]]]])

Параметры

ArrayName

Определяет имя массива, в который размещаются имена классов и имена файлов соответствующих библиотек классов. В следующей далее таблице описываются соответствующие столбцы рассматриваемого Массива.

Элемент массива Содержание

1

Имя файла выбранной Библиотеки Классов.

2

Имя выбранного Класса из соответствующей библиотеки.
cLibraryName

Определяет имя библиотеки классов, с которой начинается выбор требуемого класса, при открытии описанного выше диалогового бокса OPEN . cLibraryName должен быть либо соответствующим файлом библиотеки классов (.vcx) или процедурным классом (.prg), содержащим требуемые описания классов.

Имя указанной библиотеки классов (имя файла) отображается в соответствующем текстовом поле File name. Может возникнуть ошибочная ситуация, когда указана в данном параметре библиотека классов отсутствует или не найдена, или задана пустая строка, или значение =Null.

cClassName

Определяет имя Класса, с которого начинается выбор при открытии указанного диалогового бокса выбора требуемого Класса. Если указанный вами класс не найден, то выделяется первый класс в выбраннойц библиотеке Классов. Ошибочная ситуация может возникнуть в случае, когда рассматриваемые параметры cLibraryName / cClassName отсутствуют или имеют значение = Null.

cTitleText

Определяет текст заголовка рассматриваемого диалогового бокса Open. По-умолчанию: "Open" (Открыть).

cFileNameCaption

Определяет текстовую строку, размещаемую рядом с текстовым полем "File name". По-умолчанию: "File name:" (Имя Файла).

cButtonCaption

Определяет замещаемый текст командной кнопки <OK>.

Expand image Возвращаемое значение

Логического типа. Функция AGETCLASS( ) возвращает значение = True (.T.), если трубуемый класс выбран (с помощью рассматриваемой функции), и создан одномерный массив, с соответствующими элементами (двумя элементами). Первый элемент массива - имя файла выбранной библиотеки классов; второй элемент массива - имя выбранного класса из данной библиотеки. Функция AGETCLASS возвращает значение = False (.F.), если пользователь отказался отвыбора библиотеки классов или Класса, нажал клавишу ESC, командную кнопку <Cancel>, или закрыл диалоговый бокс кнопкой окна Close (Х).

Expand image Комментарии

Если указанный массив отсутствует, Visual FoxPro автоматически создаст данный массив.

Если указанный массив существует, но имеет недостаточный размер элементов, система Visual FoxPro автоматически увеличит его размерность для размещения имени библиотеки и имени класса.

Если существующий массив имеет избыточный размер, Visual FoxPro автоматически уменьшит его размер до требуемой величины. Если массив существует, а функция AGETCLASS( ) = False (.F.), потому что при выборе в диалоговом боксе Class Library пользователь нажал клавишу ESC, или кнопку Cancel, или закрыл окно диалогового бокса кнопкой Close (Х), указанный массив не изменяется.

Если массив не существует, а функция AGETCLASS( ) = false (.F.), то указанный массив не создается.

Система версии Visual FoxPro 8.0 не поддерживает рассматриваемую функцию AGETCLASS( ) в режиме работы программного модуля Run-Time. AGETCLASS( ) поддерживается системой Visual FoxPro 9.0 в библиотеках COM (Dll) Run-Time. Однако библиотеки классов, размещенные в процедурных файлах Program (*.prg) недоступны в соответствующих списках Files of type рассматриваемого выше Диплогового бокса.

Expand image Пример

В следующем далее примере создается массив с именем aClassLib. Сначала устанавливается требуемый Каталог, в данном случае \Samples, в котором выбираются библиотеки классов. Функция AGETCLASS( ) используется для сканирования библиотек классов с именами: "Buttons" и "VCR". Если вы нажимаете кнопку "Modify", имя выбранного Класса и имя соответствующей библиотеки помещается в массив. Данный класс открывается для Изменения в соответствующем дизайнере Классов (Class designer).

CopyCode image Копировать Код
LOCAL aClassLib(2) && Create an array, initialized to .F.
cCurrentDir = CURDIR( ) && Save the current directory.
CD HOME(2) + 'CLASSES' && Switch directories.

AGETCLASS(aClassLib, 'BUTTONS.VCX', 'VCR', 'Modify Class', ;
 'Class File:', 'Modify') && Display the dialog.
CD (cCurrentDir) && Switch to the previous directory.

IF TYPE('aClassLib(2)') = 'C' && Class chosen?
 MODIFY CLASS (aClassLib(2)) OF (aClassLib(1)) && Open to modify.
ENDIF

Expand image См. также

Описание

ACLASS( ) , функция
AMEMBERS( ) , функция
AVCXCLASSES( ) , функция
CREATE CLASS, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


AGETFILEVERSION( ) Function

Visual FoxPro 9.0 Справочник Языка
AGETFILEVERSION () Функция
См. Также

Создает массив, содержащий информацию о файлах с версиями ресурса Windows типа .exe, .dll, и .fll файлов, или серверов автоматизации, созданных в Visual FoxPro.

Обратите внимание:
Для сервера автоматизации Visual FoxPro, чтобы задать версию ресурса Windows, Вы должны определить значение не менее чем одного пункта в диалоговом окне EXE Version. Для подробной информации, см. Диалоговое окно EXE Версии .

AGETFILEVERSION(ArrayName, cFileName)

Параметры

ArrayName

Определяет имя массива, в который помещается информация файла. Если массива, который Вы определяете, не существует, Visual FoxPro автоматически создает массив. Если массив существует и не является достаточно большим, чтобы поместить информацию файла, Visual FoxPro автоматически увеличивает размер массива. Если массив является большим чем необходима, Visual FoxPro усекает массив. Следующая таблица перечисляет содержание каждого элемента массива.

Элемент Содержание

1

Комментарии

2

Название компании

3

Описание Файла

4

Версия Файла

5

Внутреннее Имя

6

Юридическое Авторское право

7

Юридические Торговые марки

8

Первоначальное Имя файла

9

Частная Компоновка

10

Имя Программы

11

Версия Программы

Формат этого значения зависит от версии Visual FoxPro. Для подробностей, см. VERSION( ) Функция .

12

Специальная Компоновка

13

OLE Саморегистрация (содержит "OLESelfRegister", если файл поддерживает саморегистрацию; иначе содержит пустую строку)

14

Язык (полученный из Кода Трансляции)

15

Код Трансляции

Например, Вы можете использовать следующий код, чтобы определить ID Региона для выполняемой программы Visual FoxPro:

Скопировать код
DIMENSION aFiles[1]
AGETFILEVERSION(aFiles,"VFP9.EXE")
? EVAL("0x"+LEFT(aFiles[15],4))
** Returns 1033 for US version
cFileName

Определяет имя, и опционально, путь заданного файла.

Возвращаемое значение

Числовое. AGETFILEVERSION () возвращает количество элементов в массиве. Если файла, который Вы определяете, не существует или он не содержит версию ресурса Windows, AGETFILEVERSION () возвращает нуль, и массив, если он уже создан, остается неизменными.

Замечания

AGETFILEVERSION( ) может быть сокращен в написании к минимальному количеству символов 5.

См. Также

Другие Ресурсы

ADIR( ) Функция
DIR или DIRECTORY Команда
GETFILE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


AINS( ) Function

Visual FoxPro 9.0 Описание Языка
AINS( ) Функция
См. также Пример
CollapseAll image

Вставляет элемент в одномерный массив, или строку или столбец элементов в двумерный массив.

AINS(ArrayName, nElementNumber [, 2])

Параметры

ArrayName

Определяет имя массива, в который вставляется новый элемент.

nElementNumber

Определяет, в каком месте вставляется новый элемент, строка или столбец элементов в массиве.

Для вставки элемента в одномерный массив ArrayName указывается номер позиции nElementNumber , где происходит вставка. Новый элемент вставляется перед указанным в nElementNumber элементом массива. Для вставки строки элементов в двумерный массив ArrayName указывается номер строки nElementNumber, перед которой происходит вставка. Новая строка располагается перед указанной строкой nElementNumber.

Для дополнительной информации см. описание Команды DIMENSION.

2

Определяет, что вставляется столбец элементов в двумерный массив. Новый столбец вставляется перед столбцом, заданным номером nElementNumber.

Expand image Возвращаемое Значение

Тип Numeric

Expand image Комментарии

Вставка элемента, строки или столбца элементов не изменяет размерность массива. Следующие элементы, строки или столбцы массива смещаются к концу массива, конечные элементы удаляются из массива. Значения новых элементов устанавливаются в значение = false (.F.).

Функция AINS( ) возвращает 1, если элемент, строка или столбец успешно вставлены в массив.

Expand image Пример

В следующем примере создается массив наименований компаний, массив сканируется для поиска указанной компании. Если данной компании нет, то выполняется увеличение размерности массива и вставка наименования заданной компании.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer     && Open customer table
SELECT company FROM customer ;
   WHERE country = 'Germany' ;
   INTO ARRAY gaCompanies

gnCount = _TALLY
gcName = 'Seven Seas Imports'
CLEAR
DISPLAY MEMORY LIKE gaCompanies

IF ASCAN(gaCompanies, gcName) = 0  && Search for company
*** Company not found-add it ***
   DIMENSION gaCompanies[gnCount+1,1]
   = AINS(gaCompanies, gnCount-1)
   gaCompanies[gnCount-1] = gcName
ENDIF
DISPLAY MEMORY LIKE gaCompanies

Expand image См. также

Описание

ACOPY( ) Функция
ADEL( ) Функция
ADIR( ) Функция
AELEMENT( ) Функция
AFIELDS( ) Функция
ALEN( ) Функция
ASCAN( ) Функция
ASORT( ) Функция
ASUBSCRIPT( ) Функция
DIMENSION Команда

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


AINSTANCE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция AINSTANCE( )
Смотрите также Пример
CollapseAll image

Помещает экземпляры класса в массив переменных памяти и возвращает число занесенных в массив экземпляров.

AINSTANCE(ArrayName, cClassName)

Параметры

ArrayName

Задает имя массива, в который помещаются экземпляры класса. Если задано имя несуществующего массива, Visual FoxPro автоматически создает такой массив. Если задано имя существующего массива, который не в состоянии вместить все экземпляры, Visual FoxPro автоматически увеличивает размер массива надлежащим образом. Если в массиве больше элементов, чем необходимо, Visual FoxPro укорачивает его. Если массив уже существует и функция AINSTANCE( ) возвращает 0, не найдя ни одного экземпляра, то массив не изменяется. Если массив не существует и функция AINSTANCE( ) возвращает 0, то массив не создается.

В массив заносятся только экземпляры класса, назначенные переменным памяти и элементам массива с помощью функции CREATEOBJECT( ) или NEWOBJECT( ).

cClassName

Задает имя базового класса Visual FoxPro или класса, определенного пользователем. Полный список базовых класов Visual FoxPro смотрите Базовые класы в Visual FoxPro.

Expand image Возвращаемое значение

Числовое

Expand image Пример

В следующем примере функция CREATEOBJECT( ) используется для создания двух экземпляров базового класса Form системы Visual FoxPro. Функция AINSTANCE( ) создает массив gaMyArray, который содержит ссылки в виде переменных памяти (goINSTANCE1 и goINSTANCE2) для каждого экземпляра формы. Затем содержимое массива выводится на экран.
CopyCode image Copy Code
CLEAR ALL
goINSTANCE1 = CREATEOBJECT('Form')
goINSTANCE2 = CREATEOBJECT('Form')

CLEAR
? AINSTANCE(gaMyArray, 'Form')  && Returns 2, two form instances
DISPLAY MEMORY LIKE gaMyArray  && Displays the references

Expand image Смотрите также

Справочное руководство

Команда ADD CLASS
Функция AMEMBERS( )
Команда CREATE CLASS
Команда CREATE CLASSLIB
Функция CREATEOBJECT( )
Команда DEFINE CLASS

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ALANGUAGE( ) Function

Visual FoxPro 9.0 Справка по языку
Функция ALANGUAGE( )
См.также

Возвращает массив, содержащий имена всех допустимых в Visual FoxPro команд, функций и базовых классов.

ALANGUAGE(ArrayName, nType)

Параметры

ArrayName

Указывает имя массива, содержащего допустимые в Visual FoxPro имена команд, функций и базовых классов. Если массив не существует, Visual FoxPro автоматически создает его. Если массив существует и его размеры недостаточны для размещения всех данных, Visual FoxPro автоматически увеличивает размеры и размерность массива в соответствии с размещаемой информацией. Если массив оказывается большего размера, чем необходимо, Visual FoxPro усекает его.
nType

Указывает возвращаемую разновидность имен языка в соответствии со следующим списком:

Значение Описание Тип массива

1

Команды

Одномерный: Имя команды

2

Функции
Двумерный:

Имя функции [M] nParamR [- nParamT] Символ "М" (matchFlag) указывает, что вы должны использовать полное имя функции в коде программы. nParamR указывает количество необходимых параметров, а nParamT - общее допустимое количество параметров.

3

Базовые классы
Одномерный
Имя базового класса

4

События DBC
Одномерный:

Имена событий DBC (При отображении имени опускается префикс "DBC_")

Примечания

Функция ALANGUAGE( ) возвращает массив имен всех допустимых в Visual FoxPro команд и функций. Для получения информации об объектах используйте функцию AMEMBERS( ).

Примеры

Используйте функцию ALANGUAGE( ) для отображения информации о функциях Visual FoxPro в следующем виде:

Скопировать код
 ALANGUAGE(FuncArr,2)

Полученный массив FuncArr будет содержать, в частности, следующие значения:

Скопировать код
 JUSTSTEM, M1

Имя функции JUSTSTEM( ) нельзя сокращать и она требует указывать один параметр.

Скопировать код
 KEYMATCH, 1-4

Имя функции KEYMATCH( ) можно сокращать до четырех символов; она требует обязательно указывать один параметр и может иметь еще три необязательных параметра (а всего у неё четыре параметра).

Скопировать код
 LASTKEY, 0

Имя функции LASTKEY( ) можно сокращать и у неё нет параметров.

См.также

Использование команд и функций
Функция LASTKEY( )
Функция KEYMATCH( )
Функция JUSTSTEM( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ALEN( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ALEN( )
Смотрите также Пример
CollapseAll image

Возвращает число элементов, строк или столбцов в массиве.

ALEN(ArrayName [, nArrayAttribute])

Параметры

ArrayName

Задает имя массива. Если задано только имя масива, функция ALEN( ) возвращает число элементов массива.

nArrayAttribute

Указывает, должна ли функция ALEN( ) возвращать число элементов, число строк массива или число столбцов. nArrayAttribute может принимать следующие значения:

0

Возвращение числа элементов в массиве. Если nArrayAttribute опущен, это эквивалентно заданию значения 0.

1

Задает возвращение числа строк в массиве.

2

Определяет возвращение числа столбцов в массиве. Если массив одномерный, ALEN( ) возвращает 0 (столбцов нет).

Expand image Возвращаемое значение

Числовое

Expand image Пример

В следующем примере используется функция AFONT( ), которая создает массив, содержащий имена всех имеющихся шрифтов. Затем с помощью функции ALEN( ) определяется число строк в этом массиве. На экран выводится имя каждого шрифта в сопровождении образца этого шрифта. Если установлено более 10 шрифтов, отображаются только первые десять.
CopyCode image Copy Code
CLEAR
=AFONT(gaFontArray)  && Array containing font names
gnNumFonts= ALEN(gaFontArray)  && Number of fonts
IF gnNumFonts > 10
   gnNumFonts = 10  && Display first 10 fonts
ENDIF

FOR nCount = 1 TO gnNumFonts
   ? ALLTRIM(gaFontArray(nCount))  && Display font name
   ?? '  This is an example of ' ;
      + ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8
ENDFOR

Expand image Смотрите также

Справочное руководство

Функция ADEL( )
Функция ADIR( )
Функция AELEMENT( )
Функция AFIELDS( )
Функция AINS( )
Функция ASCAN( )
Функция ASORT( )
Функция ASUBSCRIPT( )
Команда DIMENSION
Команда STORE
Функция AFONT( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ALIAS( ) Function

Visual FoxPro 9.0 Описание Языка
ALIAS( ), функция
См. также Пример
CollapseAll image

Возвращает алиас Таблицы, открытой в текущей или заданной Рабочей Области.

ALIAS([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет номер Рабочей Области, для которой функция ALIAS( ) возвращает алиас открытой там Таблицы.

cTableAlias

Определяет имя рабочей области, для которой функция ALIAS( ) возвращает алиас открытой там Таблицы.

Если указанные параметры, nWorkArea или cTableAlias - отсутствуют, то функция ALIAS( ) возвращает алиас таблицы, открытой в текущей рабочей области. Возвращается пустая строка в том случае, если в указанной или текущей рабочей области не открыта Таблица.

Expand image Возвращаемое значение

Символьного типа

Expand image Пример

В следующем примере, открывается таблица customer, и отображается ее алиас. Таблица customer может быть открыта повторно в другой рабочей области, с произвольным алиасом MyCustomer, который, в последствии, выводится на экран.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer     && Открывает Таблицу customer
CLEAR
? ALIAS( )  && отображается алиас
SELECT 0
USE customer AGAIN ALIAS MyCustomer  && задание пользовательского алиаса
? ALIAS( )  && отображается алиас таблицы

Expand image См. также

Задачи

Как: Создавать и Использовать алиасы для таблиц данных

Описание

DBF( ), функция
SELECT( ), функция
Alias, Свойство

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


ALINES( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
ALINES( ) Функция
Смотрите также Пример
CollapseAll image

Выполняет копирование каждой строки символьного выражения или memo-поля в соответствующий элемент массива

ALINES(ArrayName, cExpression [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

Параметры

ArrayName

Определяет имя массива, в который будут копироваться строки символьного выражения или memo-поля.

Note Примечание

Если массива не существует, Visual FoxPro автоматически его создаст. Если массив уже существует, но его размерность недостаточна, чтобы принять все строки источника, Visual FoxPro автоматически увеличит размер массива. Если массив больше, чем нужно, он будет усечен.

Note Примечание

В случае использования данных с типом Varbinary и Blob, функция ALINES( ) создаст массив, элементы которого будут иметь тип Varbinary.

cExpression

Определяет символьное выражение или memo-поле, которые содержат строки для копирования в массив. Регистр символов имеет значение.

Note Примечание

Если cExpression -пустая строка или содержит значение .NULL., будет создан массив с единственным элементом, содержащим пустое значение.

[, nFlags]
Note Примечание

Значение nFlags равное 1 эквивалентно опции lTrim в предыдущих версиях Visual FoxPro. Visual FoxPro 9.0 поддерживает выполнение кода предыдущих версий.

Следующая таблица описывает значения, которые может принимать параметр nFlags.

Бит Значение (дополняющее) Описание

0

1

Удаляются ведущие и завершающие пробелы из символьной строки или ведущие и завершающие нулевые байты для данных типа Varbinary и Blob.

1

2

В массив добавляется последний "пустой" элемент.

2

4

В массив не включаются пустые элементы.

3

8

Определяет синтаксический анализ без учета регистра.

4

16

В элемент массива строка будет помещаться вместе с символами синтаксического анализа.
[, cParseChar[, c ParseChar2[, ...]]]

Задает одну или более символьных строк, которые будут определять конец строки в cExpression (символы синтаксического анализа). Когда cParseChar определен, функция будет искать его вхождение в символьной строке cExpression и, если это вхождение будет найдено, оно и будет являться концом строки, которая копируется в первый элемент массива. Следующая строка продолжится с символа, стоящего после cParseChar.

Note Примечание

Максимально допустимая длина cParseChar- 23 символа.

Для обозначения конца строки используются символы перевода строки (CHR(10)) или возврата каретки (CHR(13)) или любая их комбинация, например, (CHR(10) + CHR(13) или CHR(13) + CHR(10)). Поведение функции ALINES( ) по умолчанию таково, что, если определены один или несколько параметров cParseChar, то символы CHR(13) и CHR(10) игнорируются в качестве окончания строк, если только они сами не заданы как параметры cParseChar.

Note Примечание

Если функция ALINES( ) работает с данными типа Varbinary or Blob и параметр cParseChar опущен, то как окончание строки обрабатывается шестнадцатеричное значение 0hA (10). Будьте внимательны при таком использовании функции, т.к. само значение 0hA, не сохраняется в элементе массива, что может привести к искажению двоичных данных. Например, при обработке 0hFE0AF2, функция ALINES( ) создаст массив с двумя элементами: 0hFE и 0hF2.

Expand image Возвращаемое значение

Numeric. Функция ALINES( ) возвращает количество элементов в созданном массиве (количество строк в символьном выражении или memo-поле).

Expand image Замечания

Функция ALINES( ) предоставляет простой способ анализа строк в символьном выражении или memo-поле. По сравнению с функцией MLINE( ), ALINES( ) позволяет анализировать данные быстрее и с меньшими затратами на программирование. Кроме того, ALINES( ) нечувствительна к значению, заданному командой SET MEMOWIDTH.

Первая строка символьного выражения или memo-поля копируется в первый элемент массива, вторая - во второй и т.д.

Для обработки больших символьных выражений и memo-полей, компьютер должен обладать достаточным объемом памяти. В случае ее нехватки Visual FoxPro сгенерирует сообщение об ошибке.

Следующие примеры иллюстрируют использование синтаксического анализа без учета регистра:

CopyCode image Скопировать код
? ALINES(aMyArray, UPPER(employee.notes), "R.")

- или -

CopyCode image Скопировать код
? ALINES(aMyArray, employee.notes, "R.", "r.")

Expand image Пример

В следующем примере используется база данных из примеров, поставляемых с Visual VoxPro. Открывается таблица Employee базы данных Testdata.dbc. ALINES( ) копирует строки из memo-поля Notes в массив aMyArray и на экран выводится возвращаемое функцией значение. Каждый раз при использовании ALINES( ) определяются различные символы синтаксического анализа.

CopyCode image Скопировать код
CLOSE DATABASES
CLEAR
SET TALK OFF
OPEN DATABASE (HOME(2) + "data\testdata")
USE employee  && Open Employee table

? ALINES(aMyArray, employee.notes)            && Displays 1
? ALINES(aMyArray, employee.notes, CHR(13))   && Displays 1

? ALINES(aMyArray, employee.notes, " ")       && Displays 75
? ALINES(aMyArray, employee.notes, ".")       && Displays 7
? ALINES(aMyArray, employee.notes, ",")       && Displays 4
? ALINES(aMyArray, employee.notes, ".", ",")  && Displays 10

? ALINES(aMyArray, employee.notes, 8, "m")    && Displays 14
? ALINES(aMyArray, employee.notes, "m")       && Displays 11
? ALINES(aMyArray, employee.notes, "M")       && Displays 4

Expand image Смотрите также

Справочное руководство

MEMLINES( ), функция
_MLINE, системная переменная
SCATTER, команда
MLINE( ), функция
SET MEMOWIDTH, команда
ATCLINE( ), функция
ATLINE( ), функция
COPY MEMO, команда
MODIFY MEMO, команда

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ALLTRIM( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ALLTRIM( )
Смотрите также Пример
CollapseAll image

Удаляет все ведущие и концевые пробелы или символы синтаксического анализа из указанного символьного выражения, или все ведущие и концевые нулевые байты из указанного двоичного выражения.

ALLTRIM(Expression [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

Параметры

Expression

Определяет выражение типа Character или Varbinary, из которого будут удалены ведущие и концевые пробелы или нулевые байты соответственно.

nFlags

Определяет, будет ли приниматься во внимание регистр символов при их удалении, если используются один или более символов синтаксического анализа cParseChar, cParseChar2, … . Регистр имеет значение, если nFlags равен нулю или опущен. Функция нечувствительна к регистру при nFlags=1.

cParseChar [, cParseChar2 [, ...]]

Определяет одну или более символьных строк, которые будут удаляться из выражения cExpression с левого и правого краев. Если выражение cParseChar опущено, то из выражения Expression будут удаляться ведущие и концевые пробелы или ведущие и концевые нулевые байты.

Примечание Максимальная длина строки cParseChar - 23 символа.

Expand image Возвращаемое значение

Character или Varbinary. Функция ALLTRIM( ) возвращает указанное выражение без ведущих и концевых пробелов, символов синтаксического анализа или нулевых байтов.

Expand image Замечания

Функцию ALLTRIM( ) можно использовать для удаления ведущих и концевых пробелов или нулевых байтов из данных, введенных пользователем.

Expand image Пример

В следующем примере функция AFONT( ) создает массив, содержащий имена всех имеющихся шрифтов. Функция ALLTRIM( ) используется для удаления ведущих и концевых пробелов из имен шрифтов. На экран выводится усеченное имя каждого шрифта в сопровождении образца этого шрифта. Если в системе установлено более 10 шрифтов, на экране отображаются только первые десять.
CopyCode image Скопировать код
CLEAR
=AFONT(gaFontArray)  && Array containing font names
gnNumFonts= ALEN(gaFontArray)  && Number of fonts
IF gnNumFonts > 10
   gnNumFonts = 10  && Display first 10 fonts
ENDIF

FOR nCount = 1 TO gnNumFonts
   ? ALLTRIM(gaFontArray(nCount))  && Display font name
   ?? '  This is an example of ' ;
      + ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8
ENDFOR

Expand image Смотрите также

Справочное руководство

LTRIM( ), функция
RTRIM( ), функция
TRIM( ), функция
AFONT( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


AMEMBERS( ) Function

Visual FoxPro 9.0 Описание Языка
AMEMBERS( ), функция
См. также Пример
CollapseAll image

Размещает имена Свойств, Процедур (Методов и Событий), а также членов объекта (других вложенных объектов) для указанного Объекта в массив переменных памяти.

AMEMBERS(ArrayName, oObjectName | cClassName [, nArrayContentsID] [, cFlags])

Параметры

ArrayName

Определяет имя массива переменных памяти, в который будут размещены имена Свойств и Процедур заданного объекта oObjectName. Если вы указываете имя несуществующего массива, этот массив будет автоматически создан. Если указанный массив существует, но имеет недостаточный размер для размещения имен Свойств объекта, система Visual FoxPro автоматически увеличит его разиерность до необходимых размеров.

oObjectName

Определяет объектную ссылку, для объекта которой имена Свойств и Процедур размещаются в заданном массиве ArrayName. oObjectName может быть реально вычисляемой объектной ссылкой: или непосредственно существующий объект, или объектная переменная, или элемент массива, содержащий объектную ссылку.

cClassName

Определяет наименование базового Класса Visual FoxPro, имена членов которого, имена Свойств и Процедур размещаются в указанный массив ArrayName.

nArrayContentsID
Краткое описание Опционального Параметра

0

(По-умолчанию) Определяет, что создается одномерный массив Имен Свойств Объекта. Отсутствие этого параметра nArrayContentsID приравнивается к 0.

1

Определяет, что массив содержит имена свойств объекта или класса, а также имена Процедур и членов объекта. Результирующий массив являет Двумерным, во втором столбце размещается характеристика Типа компоненты массива, размещенного в первом столбце. Возможные значения для второго столбца: Property, Event, Method, Object.

2

Определяет, что массив содержит имена членов объекта, как базовых классов (native) системы Visual FoxPro, которые входят в указанный объект oObjectName. Результирующий массив является Одномерным.

Данный параметр обычно используется для получения результирующего массива дочерних объектов начального объекта - контейнера, например Form / Grid

3

Определяет, что в результирующий массив размещается информация об одном или нескольких объектах (иерархическая структура).В качестве объектной ссылки в этом случае можно указать как объект Visual FoxPro, так и объект COM.

Note Примечание

Данный параметр (= 3) не поддерживается для режима RunTime, для готовых приложений VFP: .app / .exe.

Результирующий массив может содержать несколько столбцов, которые содержат следующую информацию:

Столбец Краткое Описание

1

Имя Свойства, События, Метода, или члена Объета

2

Тип Свойства (компоненты) (например, PROPERTYPUT, PROPERTYGET, PROPERTYPUTREF, METHOD)

3

Функциональная Сигнатура (количество и типы передаваемых параметров, а также тип возвращаемого значения). Данная информация аналогична краткому описанию методов в объектах COM, которая используется обычно в подсистеме IntelliSense .

4

Краткое описание назначения компоненты (Help)

Если вы не указываете параметр nArrayContentsID, AMEMBERS( ) возвращает одномерный массив имен Свойств Объекта.

cFlags

Определяет, как может фильтроваться получаемая информация, размещаемая в результирующий имассив. Данный параметр cFlags не может использоваться для объектов COM (nArrayContentsID = 3). Некоторые значения данного параметра cFlag являются взаимоисключающими, поэтому рекомендуется их использовать по следующим правилам Групптровки:

[P | H | G], [N | U], [C], [I | B] [R]

В следующей таблице описано назначение перечисленных значений данного параметра cFlags.

Значение Фильтр

P

Свойства, методы, события с характеристикой "Protected"

H

аналогично: Hidden

G

аналогично: Public

N

Внутренние, базовые Свойства, методы, события объекта

U

Пользовательские Свойства, методы, события

C

Измененные значения Свойств

I

Унаследованные Свойства, методы, события от родительского класса

B

Базисные Свойства (созданные с использование метода AddProperty)

R

Свойства с характеристикой "Read-Only"

По-умолчанию, указываемые значения данного параметра соединяются по правилу "логического Или". Вы можете изменить данное правило обработки указанных флагов, для этого используется обычная операция "+" cFlags.

Значение | Специальный Флаг
# | Добавить новый столбец в результирующий массив, с соответствующим значение указанного флага cFlags.
+ | Использовать в качестве соединения заданных параметров правило "логического И" (logical AND between filter flags).

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Функция AMEMBERS( ) возвращает количество объектов, свойств, и процедур, содержащихся в данном объекте, имена которых размещаются в указанном массиве, или значение = 0, если массив не может быть создан. Если вы не указываете опциональные параметры: 1, 2, или 3, то создается одномерный массив, содержащий имена Свойств указанного объекта oObjectName.

Вы можете вторым параметром указать ссылку на внешний объект COM для данной функции AMEMBERS( ), в этом случае требуется третьим параметром указать значение = 3, как показано в следующем примере программного кода.

CopyCode image Копировать Код
oExcel = CREATEOBJECT("excel.application")
= AMEMBERS(gaPropArray, oExcel, 3)

Expand image Пример

В следующем примере, с помощью функции CREATEOBJECT( ) создается объект Формы с именем goForm1. Функция AMEMBERS( ) используется для создания массива gaPropArray, содержащего имеющиеся Свойства данной формы; данные Свойства отображаются на экране.

CopyCode image Копировать Код
CLEAR
goForm1 = CREATEOBJECT("Form") && Creates a Form
= AMEMBERS(gaPropArray, goForm1, 1) && Array containing Form properties
DISPLAY MEMORY LIKE gaPropArray && Display the Form properties

Expand image См. также

Описание

ADD CLASS, команда
AINSTANCE( ), функция
CREATE CLASS, команда
CREATE CLASSLIB, команда
CREATEOBJECT( ), функция
DEFINE CLASS, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


AMOUSEOBJ() Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция AMOUSEOBJ()
Смотрите также
CollapseAll image

Создает массив, содержащий информацию о позиции указателя мыши и объекте, над которым указатель мыши расположен.

AMOUSEOBJ(ArrayName [, 1])

Параметры

ArrayName

Указывает имя массива, содержащего информацию об указателе мыши. Если указанный вами массив не существует, Visual FoxPro автоматически создаст его. Если же массив существует, а его размер недостаточен для того, чтобы вместить информацию, Visual FoxPro автоматически увеличит размер массива. Если массив по размеру больше, чем требуется, Visual FoxPro укоротит его.

Создаваемый массив содержит четыре строки. В приведенной ниже таблице описывается каждая строка массива:

Строка массива Описание

1

Содержит объектную ссылку на объект, над которым располагался указатель мыши во время исполнения функции AMOUSEOBJ( ).

2

Содержит объектную ссылку на контейнер объекта, над которым располагался указатель мыши во время исполнения функции AMOUSEOBJ( ).

3

Содержит горизонтальную координату (X) указателя мыши, выраженную в пикселях, относительно контейнера объекта, над которым располагался указатель мыши во время исполнения функции AMOUSEOBJ( ).

4

Содержит вертикальную координату (Y) указателя мыши, выраженную в пикселях, относительно контейнера объекта, над которым располагался указатель мыши во время исполнения функции AMOUSEOBJ( ).

Отметьте, что первая и вторая строка будут содержать одно и тоже значение, если указатель мыши располагается над контейнером общего вида, такого на страничный фрейм (pageframe).

[, 1]

Этот необзятальный параметр указывает, что информация о позиции указателя мыши, содержащаяся в массива исчисляется относительно текущей формы (THISFORM). Если эта опция включена в функцию, то вторая строка массива всегда содержит объектную ссылку на текущую форму, а треться и четвертая строки массива содержат координаты указателя мыши относительно текущей формы.

Expand image Возвращаемое значение

Численное

Expand image Примечания

AMOUSEOBJ( ) может быть, кроме того, использован для определения, где располагается указатель мыши в design time. В приведенной ниже таблице перечислены элементы design time и значения, содержащиеся в каждой строке массива:

Элемент Design-time | Содержание массива
Конструкторы форм и классов | Строка 1 – Объектная ссылка на элемент управления. Строка 2 – Объектная ссылка на форму. Строка 3 – Горизонтальная координата указателя мыши (X) относительно формы. Строка 4 – Вертикальная координата указателя мыши (Y) относительно формы.
Project Manager | Строка 1 – Объектная ссылка на проект. Строка 2 – Объектная ссылка на проект. Строка 3 – 0. Строка 4 – 0.
Рабочий стол Visual FoxPro | Строка 1 – Объектная ссылка на рабочий стол. Строка 2 – Объектная ссылка на рабочий стол. Строка 3 – Горизонтальная координата указателя мыши (X) относительно рабочего стола. Строка 4 – Вертикальная координата указателя мыши (Y) относительно рабочего стола

AMOUSEOBJ() возвращает 4 (число строк в массиве), если указатель мыши размещается поверх перечисленных ваше областей. Если указатель мыши размещается над областью, отсутствующей в списке, AMOUSEOBJ( ) возвращает 0 и, если указанный вами массив уже сущетствует, то он остается неизмененным. Если же массив не существует, то он не создается.

Expand image Смотрите также

Справочное руководство

Функция MCOL( )
Функция MROW( )
SYS(1270)- Размещение объекта
Функция ASELOBJ( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ANETRESOURCES( ) Function

Visual FoxPro 9.0 Описание Языка
ANETRESOURCES( ), функция
См. также
CollapseAll image

Определяет имена доступных в настоящий момент Сетевых Ресурсов или Сетевых Принтеров; помещает их в массив переменных памяти; возвращает количество доступных сетевых ресурсов (для указанного сетевого контекста).

ANETRESOURCES(ArrayName, cNetworkName, nResourceType)

Параметры

ArrayName

Определяет имя массива переменных памяти, в который размещаются доступные Сетевые ресурсы (устройства или принтеры) указанного сетевого контекста. Если данный массив отсутствует, Visual FoxPro автоматически создает данный массив. Если массив существует, но имеет недостаточный размер для размещения всей сетевой информации, Visual FoxPro автоматически увеличит размерность данного массива. Если массив слишком велик для размещения всей сетевой информации, Visual FoxPro "укоротит" данный массив до требуемых размеров.

Если массив уже существует, а функция ANETRESOURCES( ) возвращает значение = 0 (нет доступных сетевых ресурсов для заданного контекста), размерность массива не изменяется. Если указанный массив отсутствует, а функция ANETRESOURCES( ) возвращает значение = 0, то данный массив не создается.

cNetworkName

Определяет имя Сетевого Контекста (имя компьютера в сети), для которого требуется определить доступные (от него) сетевые устройства (ресурсы или принтеры). Данный Сетевой контекст должен иметь следующий формат: "\\NetworkName". Вы не должны в обязательном порядке быть подключены к указываемому сетевому имени. Если вы указываете имя сетевого Домена, функция ANETRESOURCES( ) возвращает все имена членов данного Домена (имена зарегистрированных членов Домена).

nResourceType

Определяет тип возвращаемых сетевых ресурсов. Для определения списка имен "сетевых дисков" nResourceType = 1. Для Сетевых принтеров: nResourceType = 2. При задании значения = 0 возвращаются имена всех доступных сетевых устройств (дисков и принтеров).

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

ANETRESOURCES( ) возвращает количество доступных сетевых ресурсов или сетевых принтеров, открытых для заданного сетевого контекста, что определяет количество строк заполняемого массива. ANETRESOURCES( ) возвращает нечение = 0, если для заданного сетевого контеста не определено ни одного сетевого устройства (устройства коллективного доступа).

Note Примечание

До Операционной Системы Windows 2000, имена сетевых устройств были ограничены длиной в 12 символов. Если используете рассматриваемую функцию ANETRESOURCES() на рабочей станции с младшей ОС, чем Windows 2000, ANETRESOURCES() не может обработать сетевые имена для рабочих станций, которые работают под ОС равно или старше чем Windows 2000, для которых сетевые имена могут иметь более длинные имена сетевых ресурсов (больше чем 12 символов).

Для реализации данной функции используются функции Win32 API: WNetOpenEnum / WNetEnumResource; дополнительную информацию об особенностях использования смотрите при описании этих функций в специальной документации поWin32 API.

Expand image См. также

Описание

ADIR( ), функция
APRINTERS( ), функция
GETPRINTER( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


APRINTERS( ) Function

Visual FoxPro 9.0 Описание Языка
APRINTERS( ), Функция
См. также Пример
CollapseAll image

Размещает информацию о доступных в настоящий момент принтерах в массив переменных памяти.

Note Примечание

Поведение данной функции значительно зависит от текущей ОС (операционной системы). Visual FoxPro может определить или только получить описательную информацию о всех доступных принтерах, подсоединенных в настоящий момент к вашей рабочей станции, стационарных или доступных через локальную вычислительную сеть, относительно текущего сетевого окружения.

APRINTERS(ArrayName [, nValue])

Параметры

ArrayName

Определяет имя массива, в который будет размещена информация о доступных в настоящий момент принтерах.

Note Примечание

Если указанный массив не существует, система Visual FoxPro автоматически создаст массив с указанным именем. Если указанный массив существует, но имеет недостаточный размер для размещения всей необходимой информации, Visual FoxPro увеличит размерность массива до необхлдимых размеров. Если массив имеет больший размер, чем необходимо, Visual FoxPro уменьшит его размеры до необходимой величины. Если массив существует, а доступных принтеров нет, то массив не изменяется, функция APRINTERS( ) вернет значение = 0. Если массив отсутствует, то в этом случае он не будет создан, функция APRINTERS( ) вернет значение = 0.

[, nValue]

Определяет, какой массив будет создан: с (2) двумя столбцами или с (5) пятью столбцами, для размещения информации о принтерах. Каждая строка массива описывает характеристики одного принтера.

The following table describes the possible values of nValue.

nValue Описание

0 или отсутствует

Создается массив с (2) двумя столбцами для размещения информации о доступных принтерах:

  • Имя принтера.

  • Имя порта, к которому подсоединен данный принтер.

1

Создается массив с (5) пятью столбцами для размещения информации о доступных принтерах:

  • Имя принтера.

  • Имя порта, к которому подсоединен данный принтер.

  • Имя Драйвера принтера.

  • Комментарий к описанию принтера.

  • Размещение принтера (местоположение).

Expand image Возвращаемое значение

Числового типа. APRINTERS( ) возвращает количество строк в заданном массиве с информацией, или значение = 0, если принтеры отсутствуют.

Expand image Пример

В следующем примере создается информационный массив с именем gaPrinters, если имеются подсоединенные принтеры (описанные в ОС). В противном случае, выводится сообщение об отсутствии подсоединенных (описанных в ОС) принтерах.

CopyCode image Копировать Код
IF APRINTERS(gaPrinters) > 0
   CLEAR  && clear the current output window
   DISPLAY MEMORY LIKE gaPrinters && show the contents of the array
ELSE
   WAIT WINDOW 'No printers found.'
ENDIF

Expand image См. также

Описание

GETPRINTER( ), Функция
PRINTSTATUS( ), Функция
PRTINFO( ), Функция
SET PRINTER, Команда

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


APROCINFO( ) Function

Visual FoxPro 9.0 Описание Языка
APROCINFO( ), Функция
См. также
CollapseAll image

Создается информационный массив, содержащий языковые элементы (Visual FoxPro), содержащиеся в заданном программном файле.

APROCINFO(ArrayName, cFileName [, nType])

Параметры

ArrayName

Определяет имя информационного массива.

cFileName

Определяет имя программного файла, который исследуется данной функцией.

nType

Определяет тип размещаемой информации об элементах Языка в заданном информационном массиве cArrayName. В следующей таблице описаны возможные варианты структур возвращаемой информации.

nType Описание Столбцы массива

0 (по-умол

чанию)

Массив заполняется информацией о всех элементах данного программного документа.

Столбец1 – Содержание

Столбец2 – номер строки

Столбец3 – тип

Столбец4 – отступ

Отступ используется для специфических директив препроцессора (например уровня #IF).

1

Массив заполняется информацией об определениях классов в программном файле.

Столбец1 – имя класса

Столбец2 – номер строки

Столбец3 – порождающий класс

Столбец4 - если класс типа OLEpublic

2

Массив заполняется только информацией о прооцедурах (методах/событиях) в описаниях классов (определения классов исключаются

Столбец1 – Содержание

Столбец2 – номер строки

3

Массив заполняется информацией о директивах препроцессора, находящихся в указанном программном файле (#define и другие).

Столбец1 – Содержание

Столбец2 – номер строки

Столбец3 – тип

В следующей таблице описывается столбец "тип", который размещается в элементе Столбец3, для nType возможны значения от 0 до 3.

nType Описание

Define

#DEFINE, директива препроцессора

Directive

Другая директива, например #IF

Class

Строка определения Класса

Procedure

Процедура, Метод или Событие

Expand image Возвращаемое значение

Числового типа. APROCINFO( ) возвращает количество строк, размещенных в массиве.

Expand image Комментарии

Visual FoxPro автоматически создает указанный массив, если он не существует. Visual FoxPro автоматически увеличивает или уменьшает размер существующего массива до необходимых размеров, для размещения всей необходимой информации. Данная функция работает только с программными файлами (.PRG).

Expand image См. также

Описание

Массивы
Манипуляции с Массивами
EDITSOURCE( ), Функция
#DEFINE ... #UNDEF, директива Препроцессора
#IF ... #ENDIF, директива Препроцессора
Системное окно Document View

Другие ссылки

Преобразование данных и Массивы
Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


ASC( ) Function

Visual FoxPro 9.0 Справочник Языка
ASC () Функция
См. Также Пример

Возвращает значение ANSI для крайнего левого символа в символьном выражении.

ASC(cExpression)

Параметры

cExpression

Определяет символьное выражение, содержащее символ, значение ANSI которого, функция ASC( ) возвращает. Любые символы после первого символа в cExpression игнорируются функцией ASC( ).

Возвращаемое значение

Числовое

Замечания

ASC( ) возвращает позицию символа в символьной таблице текущей кодовой страницы. Каждый символ имеет уникальное значение ANSI в диапазоне от 0 до 255.

Пример

Следующий пример выводит символы от A до J и использует ASC( ), чтобы отобразить их соответствующие значения ANSI.

Скопировать код
STORE 'ABCDEFGHIJ' TO gcANSI  && 10 characters
CLEAR
FOR nCOUNT = 1 TO 10
   ? SUBSTR(gcANSI, nCount,1)  && Display a character
   ?? ASC(SUBSTR(gcANSI, nCount)) && Display ANSI value
ENDFOR

См. Также

Другие Ресурсы

CHR( ) Функция
SET ANSI Команда
ANSITOOEM( ) Функция
OEMTOANSI( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ASCAN( ) Function

Visual FoxPro 9.0 Справочник Языка
ASCAN () Функция
См. Также Пример

Ищет элемент массива, содержащий те же самые данные и тип как в выражении.

ASCAN(ArrayName, eExpression [, nStartElement [, nElementsSearched [, nSearchColumn [, nFlags ]]]])

Параметры

ArrayName

Определяет имя массива для поиска.
eExpression

Определяет общее выражение для его поиска.
nStartElement

Определяет номер элемента, с которого начинается поиск. Номер элемента, которое Вы определяете, включен в поиск. Если Вы опускаете nStartElement , массив обрабатывается по умолчанию целиком.
nElementsSearched

Определяет количество элементов для поиска. Если Вы опускаете nStartElement и nElementsSearched , поиск начинается с первого элемента массива и продолжается до последнего элемента массива, если Вы не определяете nSearchColumn .
Обратите внимание:
Вы можете обратиться к элементу в двумерном массиве переменных одним из двух способов. Первый метод использует два описания, чтобы определить позицию строки и столбца элемента в массиве; другой метод использует номер элемента. Эта функция и другие, которые управляют двумерными массивами, требуют номеров элементов ( nStartElement и nElementsSearched ). Используйте AELEMENT( ), чтобы возвратить номер элемента из описания строки и столбца в двумерном массиве.

nSearchColumn

Определяет столбец массива для поиска. Это часто полезно в тех массивах, которые созданы функциями типа AFIELDS( ). Вы можете использовать 0 или отрицательное количество для nSearchColumn для применения поиска во всем массиве. Если Вы используете значение больше чем 0 для nSearchColumn , ASCAN( ) обрабатывает указанный столбец как одномерный массив, используя каждую строку данных при поиске как отдельный элемент. Например, следующий пример ищет только третьи и четвертые элементы столбца 2 вместо всего массива.
Скопировать код
? ASCAN(abc,"M",3,2,2)
Visual FoxPro генерирует ошибку если nSearchColumn является большим числом чем количество доступных столбцов.
nFlags

Определяет дополнительные критерии поиска, чтобы применить к функции просмотра. Заданные по умолчанию просмотры чувствительны к регистру. Число которое Вы задаете в директиве nFlags обеспечивает битовое значение, которое определяет чувствительность к регистру или установку точности просмотра согласно следующей таблице:

NFlag Бит Описание

0

0000

Поведение, существующее в Visual FoxPro 6 или ранее

1

0001

Нечувствительность к Регистру

2

0010

Текущее поведение, существующее в предыдущей версии Visual FoxPro

3

0011

Нечувствительность к Регистру

4

0100

Exact OFF

5

0101

Нечувствительность к регистру; Exact OFF

6

0110

Exact ON

7

0111

Нечувствительность к регистру; Exact ON

8

1000

Возвращение номера строки

9

1001

Нечувствительность к регистру; возвращение номера строки

10

1010

Возвращение номера строки

11

1011

Нечувствительный к регистру; возвращение номера строки

12

1100

Возвращает номер строки; Exact OFF

13

1101

Нечувствительност к регистру, возвращает номер строки; Exact OFF

14

1110

Возвращает номер строки; Exact ON

15

1111

Нечувствительность к регистру; возвращает номер строки; Exact ON

Битовые значения следующие:

Бит | Описание
0 | Бит Нечувствительности к регистру
1 | Бит Exactness ON (Действует только, если установлен бит 2)
2 | Отменяет бит системный установки Exact
3 | Возвращает номер строки, в случае 2D массива

nFlags применяется только к функции ASCAN( ) и не затрагивает параметры настройки для SET EXACT.

Возвращаемое значение

Числовое

Замечания

Если соответствие найдено, ASCAN( ) возвращает номер элемента, содержащего выражение. Если соответствие не может быть найдено, ASCAN( ) возвращает 0.

Критерии для успешного соответствия символьных данных определены системной установкой SET EXACT, если не установлен nFlag с битом 2. Если SET EXACT - ON, элемент должен соответствовать символьному выражению поиска для символа и иметь ту же самую длину. Если SET EXACT - OFF, и элемент соответствует выражения поиска до достижения конца выражения, то соответствие считается установленным. Для подробной информации относительно критериев соответствия для символьных строк, см. таблицу сравнения строки в теме SET EXACT .

В Visual FoxPro 6.0, параметры nStartElement и nElementsSearched являются дополнительными. nStartElement должен быть > 0, в то время как nElementsSearched может принимать любое значение. Чтобы установить параметр nSearchColumn , Вы будете должны пропустить эти параметры, передавая значение -1.

Параметры nStartElement и nElementsSearched приобретают особое значение если величина nSearchColumn больше чем 0. В Visual FoxPro 6.0, она всегда используются для ссылки к полному массиву. Начинание с Visual FoxPro 7.0, если передается положительное значение nSearchColumn , значения nStartElement и nElementsSearched ссылаются к отдельному одномерному массиву, представленному nSearchColumn . Например, следующий код будет искать третий и четвертый элементы столбца 2, но не полного массива:

Скопировать код
? ASCAN(abc,"M",3,2,2)

Пример

Следующий пример создает и заполняет массив названиями компаний, и затем использует ASCAN( ), чтобы искать специфическое название компании. Если название компании найдено, оно удаляется из массива.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer     && Open customer table
SELECT company FROM customer ;
   WHERE country = 'UK' ;
   INTO ARRAY gaCompanies
gnCount = _TALLY
gcName = 'Seven Seas Imports'
CLEAR
DISPLAY MEMORY LIKE gaCompanies*
gnPos = ASCAN(gaCompanies, gcName) && Search for company
IF gnPos != 0
   *** Company found, remove it from the array ***
   = ADEL(gaCompanies, gnPos)
   gnCount = gnCount - 1
ENDIF
DISPLAY MEMORY LIKE gaCompanies

См. Также

Другие Ресурсы

ACOPY( ) Функция
ADEL( ) Функция
ADIR( ) Функция
AELEMENT( ) Функция
AFIELDS( ) Функция
AINS( ) Функция
ASORT( ) Функция
ASUBSCRIPT( ) Функция
DIMENSION Команда
SET EXACT Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ASELOBJ( ) Function

Visual FoxPro 9.0 Описание Языка
ASELOBJ( ), функция
См. также Пример
CollapseAll image

Размещает объектные ссылки текущих выделенных Контролов, или объектов, достуаных в настоящий момент в Дизайнере Форм или Дизайнере Классов или в системном окне Редактирования; данные объектные ссылки размещаются в указанном массиве переменных памяти. Когда рассматриваемая функция ASELOBJ( ) вызывается при открытом окне Редактирования в указанном массиве также указываются имена соответствующих программных файлов: форм (.scx), библиотек визуальных классов (.vcx), и заголовочных файлов, с командами #INCLUDE. Рассматриваемая функция ASELOBJ( ) рекомендуется для использования при создании Построителей Контролов (Control Builders).

ASELOBJ( ArrayName, [ 1 | 2 | 3 ] )

Параметры

ArrayName

Определяет имя массива, который используется для размещения требуемой информации.

1

Создается Одномерный массив для расмещения объектных ссылок активных выделенных Контролов.

Например, если активным выделенным контролом является объект Spinner, размещенный на форме form, то результирующий массив содержит значение "FORM." При выполнении функции ASELOBJ( ) в системном Командном окне, включите данный аргумент.

Note Примечание

Когда выделенным является объект page frame, ASELOBJ() возвращает имя текущей активной страницы (Page) указанного Контейнера.

2

Создается Двумерный массив, содержащий объектные ссылки для контейнера класса DataEnvironment текущей Формы. Объект- контейнер класса DataEnvironment может быть использован вами для определения различных свойств Среды Данных рассматриваемой Формы.

3

Создается Трехмерный массив, который содержит информацию об объектах, содержащихся в настоящий момент в системном окне Редактирования: объектные ссылки для контейнерных объектов (объектов-контейнеров), полные пути и имена для файлов форм и библиотек Классов (.scx / .vcx), а также пути к файлом заголовков, содержащих команды ПредПроцессора #INCLUDE, если таковые используются.

В следующей Таблице представлена Структура размещения требуемой информации в создаваемых Массивах:

Элемент Массива Краткое Описание

1

Объектная ссылка на объект - Контейнер

2

Полный путь и имя соответствующего файла формы или библиотеки классов (.scx / .vcx)

3

Полный путь и имя файла заголовка, содержащего команды #INCLUDE, если он используется

Note Примечание

Если заголовочный файл не используется - то данный элемент = пустой строке.

Expand image Возвращаемое значение

Числового типа (Numeric). Функция ASELOBJ( ) возвращает количество выделенных объектов. Результирующий массив содержит три столбца в каждой строке для каждого выделенного объекта.

Expand image Комментарии

Если Контрол выделен, а аргумент - параметр 1, отсутствует, ASELOBJ( ) возвращает значение = 0 и информационный массив не создается. Если в рассматриваемой форме отсутствуют выделенные элементы, функция ASELOBJ( ) не считает форму как объект, как выделенный Контрол. Если требуемый Контрол выделен, а параметр 1 указан в функции, ASELOBJ( ) возвращает значение = 1.

Если указанный массив не существует, система Visual FoxPro автоматически создает указанный Массив.

Если уже существующий массив имеет недостаточную размерность, для размещения запрашиваемой информации, система Visual FoxPro автоматически увеличит размерность результирующего массива для размещения всей требуемой информации. Если размерность массива достаточно велика - массив будет укорочен до требуемых размеров.

Если массив уже существует, а функция ASELOBJ( )возвращает значение = 0, так как отсутствуют выделенные Контролы, то указанный массив не изменяется: ни его содержание, ни его размерность. Если указанного массива не существует, а функция возвращает значение = 0, то указанный массив не создается.

Expand image Пример

Перед тестированием (выполнение) представленного ниже примера: откройте новую форму в соответствующем Дизайнере Форм, создайте на форме один или несколько Контролов, имеющих свойство Caption, такими контролами могут быть Label или CommandButton. Выделите несколько созданных Контролов (операция MultySelect), выполните программный код примера. Функция ASELOBJ( ) отображает имена выбранных, отмеченных Контролов, а также значения соответствующих свойств Caption.

CopyCode image Копировать Код
gnobjects = ASELOBJ(gaSelected) && Create array of control names
IF gnobjects > 0 && 0 indicates no controls selected
 CLEAR
 DISPLAY MEMORY LIKE gaSelected && Displays selected controls
 FOR nCnt = 1 TO gnobjects
 ? gaSelected(nCnt).Caption + ' => New Caption ' ;
 + LTRIM(STR(nCnt)) && Display old and new caption
 gaSelected(nCnt).Caption = 'New Caption ' ;
 + ALLTRIM(STR(nCnt)) && Assign new caption
 NEXT
ENDIF

Expand image См. также

Описание

CREATE FORM, команда
DataEnvironment, объект
Дизайнер Форм
_ObjectReference( ), модуль API
AMOUSEOBJ( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ASESSIONS( ) Function

Visual FoxPro 9.0 Справочник Языка
ASESSIONS () Функция
См. Также

Создает массив IDs существующей сессии данных.

ASESSIONS(ArrayName)

Параметры

ArrayName

Определяет массив, который содержит IDs сессии данных.

Возвращаемое значение

Числовое. Возвращает количество сессий данных.

Замечания

Если массив не существует, Visual FoxPro автоматически создает и заполняет его. Visual FoxPro автоматически изменяет размеры массива, чтобы вместить количество текущих сессий данных.

См. Также

Другие Ресурсы

Манипуляция с Массивом
Команды, работающие в пределах Сесии Данных
Как: Использвать сессии данных
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ASIN( ) Function

Visual FoxPro 9.0 Справочник Языка
ASIN () Функция
См. Также Пример

Возвращает в радианах арксинус числового выражения.

ASIN(nExpression)

Параметры

nExpression

Определяет числовое выражение, арксинус которого возвращает ASIN( ). Значение nExpression может принимать величины от +1 до -1, и значения, которые возвращает ASIN( ), могут принимать величины от -pi/2 до +pi/2 (-1.57079 к 1.57079). Количество десятичных знаков в выводимых результатов может быть определено через SET DECIMALS.

Возвращаемое значение

Числовое

Замечания

Используйте RTOD( ), чтобы конвертировать радианы в градусы.

Пример

Скопировать код
CLEAR
? RTOD(ASIN(0))  && Returns 0.00
STORE 1 to gnArcAngle
? RTOD(ASIN(gnArcAngle))  && Returns 90.00
? RTOD(ASIN(SQRT(2)/2))  && Returns 45.00

См. Также

Другие Ресурсы

RTOD( ) Функция
SET DECIMALS Команда
SIN( ) Функция
Создание Числовых Выражений
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ASORT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ASORT( )
Смотрите также Пример
CollapseAll image

Сортирует элементы массива в возрастающем или убывающем порядке.

ASORT(ArrayName [, nStartElement [, nNumberSorted [, nSortOrder [, nFlags]]])

Параметры

ArrayName

Задает имя массива, элементы которого должны быть отсортированы.

nStartElement

Задает элемент, с которого начинается сортировка. Если аргумент nStartElement опущен, массив по умолчанию сортируется, начиная с самого первого элемента. Если массив одномерный, сортировка включает сам элемент nStartElement. Если массив двумерный, начальный элемент nStartElement определяет и строку, с которой начинается сортировка, и столбец, определяющий порядок сортировки строк.

Note Примечание

В общем случае к элементу двухмерного массива можно обратиться одним из двух способов. В первом способе используются два индекса, определяющие позицию элемента в массиве по номеру строки и столбца, во втором - номер элемента в массиве. Данная функция, как и ряд других функций, манипулирующих двухмерными массивами, требуют задания номера элемента (в функции ASORT() - числовые выражения nStartElement и nNumberSorted). Для получения номера элемента исходя из его индексов, определяющих строку и столбец, используйте функцию AELEMENT( ).

В следующем примере начальный элемент nStartElement определяет, как сортируются строки в двухмерном массиве. Создается небольшой массив gaArray, который сортируется дважды. Первая сортировка начинается с первого элемента массива gaArray, при этом строки сортируются по значениям, содержащимся в первом столбце массива. Вторая сортировка начинается с четвертого элемента массива gaArray, и при этом строки сортируются по значениям, содержащимся во втором столбце.

Первая сортировка начинается с первой строки. Вторая сортировка начинается со второй строки. С помощью команды DISPLAY MEMORY можно отобразить содержимое массива; в данных примерах последующие три таблицы используются для графического изображения результатов сортировки.

Следующие команды создают массив с именем gaArray и присваивают значения его элементам:

CopyCode image Скопировать код
DIMENSION gaArray(3,2)
gaArray(1) = 'G'
gaArray(2) = 'A'
gaArray(3) = 'C'
gaArray(4) = 'Z'
gaArray(5) = 'B'
gaArray(6) = 'N'

Массив gaArray выглядит следующим образом:

Кололнка 1 Кололнка 2

Строка 1

G

A

Строка 2

C

Z

Строка 3

B

N

Затем массив сортируется функцией ASORT( ), начиная с первого элемента (1,1). Элементы первого столбца располагаются в возрастающем порядке переупорядочением строк массива.

CopyCode image Скопировать код
=ASORT(gaArray,1)

Новый порядок строк будет следующим:

Кололнка 1 Кололнка 2

Строка 1

B

N

Строка 2

C

Z

Строка 3

G

A

Затем массив сортируется, начиная с четвертого элемента (2,2). Элементы второго столбца располагаются по порядку перестановкой строк массива.

CopyCode image Скопировать код
=ASORT(gaArray,4)

Обратите внимание на разницу в порядке строк:

Кололнка 1 Кололнка 2

Строка 1

B

N

Строка 2

G

A

Строка 3

C

Z
nNumberSorted

Задает число элементов, сортируемых в одномерном массиве, или число строк, сортируемых в двухмерном массиве. Например, если массив одномерный и значение nStartElement равно 2 (то есть сортировка начинается со второго элемента массива), а значение nNumberSorted равно 3 (то есть в сортировке должны участвовать три элемента), то будут отсортированы второй, третий и четвертый элементы массива. Если значение nNumberSorted равно -1 или не задано вообще, сортируются все элементы массива, начиная с элемента nStartElement и заканчивая последним элементом массива.

Если массив двухмерный, nNumberSorted обозначает число строк, которые будут отсортированы, начиная со строки, содержащей элемент nStartElement. Например, если значение nStartElement равно 2, а значение nNumberSorted равно 3, в сортировке участвуют строка, содержащая второй элемент массива, и две следующие за ней строки. Если значение nNumberSorted равно -1 или вообще не задано, будут отсортированы все строки, начиная со строки, содержащей элемент nStartElement, и заканчивая последней строкой массива.

nSort Order

Задает вид сортировки элементов массива (в возрастающем или в убывающем порядке). По умолчанию элементы массива сортируются в возрастающем порядке. Если значение nSortOrder равно 0 или опущено, элементы массива сортируются в возрастающем порядке. Если значение nSortOrder - любое положительное число, элементы массива сортируются в убывающем порядке.

nFlags

Определяет чувствительность сортировки к регистру символов. Допустимые значения: 0 (по умолчанию) и 1. Для определения порядка сортировки функция ASORT( ) использует текущее правило сопоставления (смотрите Команда SET COLLATE). Некоторые правила сопоставления (например, "GENERAL") не чувствительны к регистру и установка nFlags = 0 в этих случаях не оказывает никакого воздействия на определение порядка сортировки.

Использование параметра nFlags имеет смысл только в случаях, когда текущее правило сопоставления чувствительно к регистру (например, "MACHINE"), а Вам необходимо, чтобы при сортировке регистр не принимался во внимание.

Число, которое задается в качестве значения параметра nFlags, определяет значение бита, ответственного за чувствительность к регистру:

nFlag Бит Описание

0

000

Сортировка с учетом регистра

1

001

Сортировка без учета регистра
Note Примечание

Если Вы задаете только nFlags, Вы можете опустить другие параметры, передавая их как -1.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Все элементы, участвующие в сортировке, должны принадлежать одному типу данных. Одномерные массивы сортируются по элементам; двумерные массивы сортируются по строкам. Когда сортируется двумерный массив, порядок строк в массиве изменяется таким образом, что элементы в столбце массива располагаются в возрастающем или в убывающем порядке.

Если сортировка завершается успешно, возвращается значение 1; в противном случае возвращается -1.

Expand image Пример

В следующем примере поле contact копируется из таблицы customer в массив gaContact. На экран выводятся первые 20 элементов массива. Затем массив сортируется, и на экране отображается результат сортировки.
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer  && Open customer table

COUNT TO gnCount  && Number of contacts
DIMENSION gaContact(gnCount,1)  && Create a contact array
COPY TO ARRAY gaContact FIELD contact     && Fill the array

CLEAR
? 'Contact names:'
?
FOR nCount = 1 TO 20
   ? gaContact(nCount)  && Display first 20 contacts
ENDFOR
= ASORT(gaContact)     && Sort the array

?
? 'Sorted Contact names:'
?
FOR nCount = 1 TO 20
   ? gaContact(nCount)  && Display first 20 contacts, sorted
ENDFOR

Expand image Смотрите также

Справочное руководство

Функция ACOPY( )
Функция ADEL( )
Функция ADIR( )
Функция AELEMENT( )
Функция AFIELDS( )
Функция AINS( )
Функция ALEN( )
Функция ASCAN( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ASQLHANDLES( ) Function

Visual FoxPro 9.0 Описание Языка
ASQLHANDLES( ), функция
См. также
CollapseAll image

Помещает числовые ссылки, как дескрипторы всех активных Соединений SQL в массив.

ASQLHANDLES(ArrayName [, nStatementHandle])

Параметры

ArrayName

Определяет имя массива, в который будет помещена информация о дескрипторах Соединений SQL.

Если указанный массив не существует, то система Visual FoxPro автоматически создаст этот массив. Если массив существует, но имеет недостаточный размер (для загрузки всей необходимой информацмм о дескрипторах), система автоматически увеличит размер массива. Если массив имеет большой размер (много лишних элементов), то Visual FoxPro "укоротит" его до нужных размеров.

nStatementHandle

Указывает, что в массив загружаются только дескрипторы соединений, которые используют многопользовательский режим доступа через заданное соединение: nStatementHandle.

Expand image Возвращаемое значение

Числового типа. ASQLHANDLES( ) возвращает количество используемых дескрипторов соединений. Если активные соединения SQL отсутствуют, то результат функции ASQLHANDLES( ) = 0, и указанный массив не изменяется (или не создается).

Expand image Комментарии

Полученные ссылки на дескрипторы соединений могут быть использованы в других SQL-функциях, таких как SQLEXEC() и SQLDISCONNECT(). Дополнительно См. разделы SQLEXEC( ), функция и SQLDISCONNECT( ), функция.

Вы можете создать новый дескриптор соединения SQL с помощью функций SQLCONNECT( ) и SQLSTRINGCONNECT( ). Дополнительно См. разделы SQLCONNECT( ), функция и SQLSTRINGCONNECT( ), функция.

Expand image См. также

Описание

SQLGETPROP( ), функция
SQLSETPROP( ), функция
SQL, Команды и Функции

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ASTACKINFO( ) Function

Visual FoxPro 9.0 Справочник Языка
ASTACKINFO () Функция
См. Также Пример

Создает массив и заполняет его информацией о текущем состоянии стека вызовов.

ASTACKINFO(ArrayName)

Параметры

ArrayName

Определяет имя массива, чтобы сохранить информацию о стеке вызовов. Следующая таблица описывает информацию, возвращаемую функцией ASTACKINFO( ):

Элемент Массива Описание

1

Уровень Стека вызовов

2

Текущее имя файла программы

3

Модуль или имя Объекта

4

Модуль или имя файла-ресурса объекта

5

Номер строки в файле-ресурсе объекта

6

Содержание ресурсной строки

Возвращаемое значение

Числовое

Замечания

ASTACKINFO( ) заполняет массив информацией о всем стеке вызовов. Она объединяет функциональные возможности функций SYS(16) и PROGRAM( ), добавляя новую возможность возвращать номера строки для каждого уровня стека вызовов. Возвращаемое значение - количество уровней вложения программ или строк возвращенного массива.

ASTACKINFO( ) заполняет 6-ой элемент массива только, если содержание ресурсной строки доступно, иначе он будет оставлен пустым.

ASTACKINFO( ) обеспечивает, во 2-ом и 4-ом элементах соответственно, имя текущего файла и, если файл связан с APP или другим отдельным файлом, полное имя пути к связанной программе.

4-ый элемент содержит первоначальную информацию ресурсного файла. Для объектов, это - та же самая информация, возвращаемая SYS(16), даже когда связь образована в пределах приложения.

Обратите внимание:
ASTACKINFO () может не найти информацию о программных (.prg) файлах. В этом случае, Visual FoxPro отображает 2-ой элемент, подобно функции SYS(16). Для подробной информации, см. SYS(16) - Имя Исполняемого Программного файла .

Пример

Немодальная форма, связывается в APP файле (myAppl.app) с кнопкой buttons.vcx класса (также в APP). Разработчик выполняет myAppl.app в Visual FoxPro, чтобы отобразить форму (форма остается открытой, потому что это - не Visual FoxPro run time). Когда пользователь щелкает на кнопке, чтобы выполнить отчет, отчет (который существует вне myAppl.app), вызывает форму запроса в своем событии BeforeOpenTables.

Эта форма запроса (getcusts.scx), которая постоянно находится в myAppl.app, вызвает ASTACKINFO( ) [затем отображается массив результатов как в следующем примере] .

Скопировать код
ASTACKINFO(myarray)
DISPLAY MEMO LIKE myarray
myArray
(1,1)   1                                    && Stack level = 1
(1,2)   c:\vfp\myAppl.app                        && Current program
(1,3) frmRerport.PrintReport.Click         && Object
(1,4) c:\vfp\myclasses\buttons.vct         && Object source file name
(1,5) 42                              && Line number in the source
(1,6) THISFORM.DoReport()                  && in the source
(2,1)   2                                    && Stack level = 2
(2,2) c:\vfp\myAppl.app
(2,3) frmRerport.DoReport
(2,4) c:\vfp\forms\frmRerport.sct         && Module source file name
(2,5) 31
(2,6) DO RunListReport                     && in the source
(3,1)   3                                    && Stack level = 3
(3,2) c:\vfp\myAppl.app
(3,3)
(3,4) c:\vfp\programs\runlisterport.prg   && Module source file name
(3,5) 12
(3,6) REPORT FORM myreport1.frx            && in the source
(4,1)   4                                    && Stack level = 4
(4,2) c:\vfp\reports\myreport1.frt
(4,3) myreport1.DataEnvironment.BeforeOpenTables
(4,4) c:\vfp\reports\myreport1.frt          && Module source file name
(4,5) 31
(4,6) DO FORM getcusts                     && in the source
(5,1)   5                                    && Stack level = 5
(5,2) c:\vfp\myAppl.app
(5,3) getcusts.init
(5,4) c:\vfp\forms\getcusts.sct            && Module source file name
(5,5) 2
(5,6) ASTACKINFO(myarray)                  && in the source

См. Также

Другие Ресурсы

Массивы
Объекты
Окно Стека вызовов
LINENO( ) Функция
PROGRAM( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ASUBSCRIPT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ASUBSCRIPT( )
Смотрите также
CollapseAll image

Возвращает строчный или столбцевой индекс элемента массива исходя из его номера.

ASUBSCRIPT(ArrayName, nElementNumber, nSubscript)

Параметры

ArrayName

Задает имя массива..

nElementNumber

Задает номер элемента.

nSubscript

Указывает, какой индекс следует возвратить - строчный или столбцевой.

Если массив одномерный, укажите его номер nElementNumber и значение 1 в качестве nSubscript. Функция ASUBSCRIPT( ) просто возвратит nElementNumber.

Если массив двумерный, нужно задать и номер элемента nElementNumber и значение 1 или 2 в качестве nSubscript. Значение 1 в nSubscript определяет возвращение строчного индекса элемента, а значение 2 - возвращение столбцевого индекса.

For more information on how to reference elements in an array, see DIMENSION.

Expand image Возвращаемое значение

Числовое

Expand image Примечания

Элемент двумерного массива переменных памяти можно указывать двумя способами: либо с помощью двух индексов, задающих позиции элемента в массиве по строкам и по столбцам, либо с помощью одиночного номера. Используйте функцию ASUBSCRIPT( ) для получения строчного или столбцевого индекса элемента по его номеру.

В следующем примере создается массив из двух строк и трех столбцов. Команда DISPLAY MEMORY показывает содержимое элементов массива в порядке их номеров.

CopyCode image Copy Code
DIMENSION gaMyArray(2,3)
DISPLAY MEMORY LIKE gaMyArray
GAMYARRAY  Pub  A
  ( 1, 1)   L  .F. (element number 1)
  ( 1, 2)   L  .F. (element number 2)
  ( 1, 3)   L  .F. (element number 3)
  ( 2, 1)   L  .F. (element number 4)
  ( 2, 2)   L  .F. (element number 5)
  ( 2, 3)   L  .F. (element number 6)

Следующие две команды сохраняют символьную строку INVOICE в одном и том же элементе массива:

CopyCode image Copy Code
STORE 'INVOICE' TO gaMyArray(2, 1)
STORE 'INVOICE' TO gaMyArray(4)

В одномерных массивах номер элемента идентичен его строчному индексу. В этих случаях нет необходимости в применении функции ASUBSCRIPT( ).

Expand image Смотрите также

Справочное руководство

Функция ADEL( )
Функция ADIR( )
Функция AELEMENT( )
Функция AFIELDS( )
Функция AINS( )
Функция ALEN( )
Функция ASCAN( )
Функция ASORT( )
Команда DIMENSION
Команда DISPLAY MEMORY

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AT( ) Function

Visual FoxPro 9.0 Справочник Языка
AT () Функция
См. Также Пример

Ищет в символьном выражении вхождение другого символьного выражения.

Обратите внимание:
Поиск, выполненный AT( ) является чувствительным к регистру. Для выполнения поиска, который не чувствителен к регистру, используйте ATC( ) . Для подробной информации, см. ATC( ) Функция .

AT(cSearchExpression, cExpressionSearched [, nOccurrence])

Параметры

cSearchExpression

Определяет символьное выражение, которое надо искать в cExpressionSearched .
cExpressionSearched

Определяет символьное выражение в котором надо искать cSearchExpression . Оба cSearchExpression и cExpressionSearched могут быть memo-полями любого размера.
nOccurrence

Определяет которое по счету вхождение, первое, второе, третье, и так далее, cSearchExpression, требуется найти в cExpressionSearched . По умолчанию, AT( ) ищет первое вхождение cSearchExpression ( nOccurrence = 1).

Возвращаемое значение

Числовое. AT( ) возвращает целое число, указывающее позицию первого символа для символьного выражения или memo-поля в пределах другого символьного выражения или memo-поля, начинающегося с крайнего левого символа. Если выражение или поле не найдены, или если nOccurrence больше чем количество раз cSearchExpression обнаруживается в cExpressionSearched , AT( ) возвращает 0.

Пример

Скопировать код
STORE 'Now is the time for all good men' TO gcString
STORE 'is the' TO gcFindString
CLEAR
? AT(gcFindString,gcString)  && Displays 5
STORE 'IS' TO gcFindString
? AT(gcFindString,gcString)  && Displays 0, case-sensitive

См. Также

Другие Ресурсы

AT_C( ) Функция
ATCLINE( ) Функция
ATLINE( ) Функция
LEFT( ) Функция
RAT( ) Функция
RATLINE( ) Функция
RIGHT( ) Функция
SUBSTR( ) Функция
ATCC( ) Функция
LEFTC( ) Функция
RIGHTC( ) Функция
SUBSTRC( ) Функция
STREXTRACT( ) Функция
$ Оператор
OCCURS( ) Функция
INLIST( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


AT_C( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
AT_C( ) Функция
Смотрите также
CollapseAll image

Возвращает номер начальной позиции первого вхождения символьного выражения или memo-поля в другое символьное выражение или memo-поле, считая от крайнего левого символа.

AT_C(cSearchExpression, cExpressionSearched [, nOccurrence])

Parameters

cSearchExpression

Определяет символьное выражение, которое функция AT_C( ) ищет в выражении cExpressionSearched.

cExpressionSearched

Определяет символьное выражение, просматриваемое в поисках выражения cSearchExpression.

В качестве cSearchExpression и cExpressionSearched могут фигурировать memo-поля любого размера.

nOccurrence

Указывает, какое вхождение выражения cSearchExpression (первое, второе, третье и т.д.) необходимо найти в выражении cExpressionSearched. По умолчанию функция AT_C( ) ищет первое вхождение cSearchExpression (nOccurrence = 1). Задавая nOccurrence, Вы можете инициировать поиск различных вхождений cSearchExpression в выражение cExpressionSearched. AT_C( ) возвратит 0 если nOccurrence больше, чем количество вхождений cSearchExpression в cExpressionSearched.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Функция AT_C( ) просматривает второе символьное выражение в поисках первого символьного выражения. Функция AT_C( ) возвращает целое число, соответствующее номеру, в которой встретился первый символ выражения. Если символьное выражение не найдено, AT_C( ) возвращает 0.

AT_C( ) предназначена для обработки символьных выражений в двухбайтовой кодировке. Если выражение содержит только однобайтовые символы, функция AT_C( ) эквивалентна функции AT( ).

Поиск, осуществляемый функцией AT_C( ), ведется с учетом регистра. Чтобы выполнить поиск без учета регистра, воспользуйтесь функцией ATCC( ).

Эта функция полезна для работы с двухбайтовыми наборами символов, например, с японскими "алфавитами" харигана и катакана.

Expand image Смотрите также

Справочное руководство

ATCC( ), функция
AT( ), функция
ATC( ), функция
ATCLINE( ), функция
ATLINE( ), функция
LEFT( ), функция
RAT( ), функция
RATLINE( ), функция
RIGHT( ), функция
SUBSTR( ), функция
ATCC( ), функция
LEFTC( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция
$, оператор
OCCURS( ), функция
INLIST( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ATAGINFO( ) Function

Visual FoxPro 9.0 Описание Языка
ATAGINFO( ), функция
См. также
CollapseAll image

Создает массив, содержащий информацию об индексных файлах и их Тэгах для заданной открытой таблицы.

ATAGINFO(ArrayName [,cCDXName [, nWorkArea | cTableAlias]])

Параметры

ArrayName

Определяет имя создаваемого массива. Visual FoxPro создает указанный массив , если он отсутствует в рассматриваемой области видимости переменных.

cCDXName

Определяет имя составного индексного файла (.cdx), для которого требуется определить соответствующую информацию.

Note Примечание

При указании для данного параметра пустой строки ("") возвращается общее количество Тэгов во всех открытых составных индексных файлах (.cdx), а также простых открытых индексах (.idx) для выбранной таблицы.

nWorkArea

Определяет номер рабочей области, в которой открыта Таблица, информацию об индексах которой требуется определить.

cTableAlias

Определяет алиас открытой таблицы, информацию об индексах которой требуется определить.

Note Примечание

При отсутствии параметров cTableAlias и nWorkArea предполагается текущая рабочая область.

Expand image Возвращаемое значение

Числового типа (Numeric). ATAGINFO( ) возвращает количество Тэгов открытых составных индексных файлов (.cdx), и открытых простых индексов (.idx) для указанной открытой Таблицы.

Expand image Комментарии

В следующей таблице представлена структуры информации, размещаемой в заданном массиве для функции ATAGINFO( ).

Столбец | Описание | Тип Данных
1 | Имя Тэга в индексном файле (.cdx) или имя индексного файла (.idx) | Символы
2 | Тип индексного Тэга | Символы
3 | Ключевое выражение индексного Тэга | Символы
4 | Выражение индексного Фильтра | Символы
5 | Первичный порядок индексного Тэга (Ascending / Descending) | Символы
6 | Последовательность символов (Collate sequence) - Machine, Russion... | Символы

Expand image См. также

Описание

TAG( ) функция
TAGCOUNT( ) функция
TAGNO( ) функция
Tag, свойство (Visual FoxPro)

Другие ссылки

Работа с Таблицами и Индексами
Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


ATAN( ) Function

Visual FoxPro 9.0 Справка по языку
Функция ATAN( )
См.также Пример

Возвращает значение в радианах арктангенса числового выражения.

ATAN(nExpression)

Параметры

nExpression

Указывает числовое выражение, арктангенс которого возвращает функция ATAN( ). nExpression может иметь любое значение. Значение, возвращаемое функцией ATAN( ), может быть в интервале от pi/2 до +pi/2 (от -1.57079 до 1.57079). Число десятичных знаков в значении, возвращаемом функцией ATAN( ), определяется установкой SET DECIMALS.

Возвращаемое значение

Числовое

Примечание

Используйте функцию RTOD( ) для преобразования радиан в градусы.

Пример

Скопировать код
CLEAR
? ATAN(0) && Отображает 0.00
STORE PI( )/2 to gnAngle
? ATAN(gnAngle) && Отображает 1.00
? ATAN(PI( )/2) && Отображает 1.00
? ATAN(DTOR(90)) && Отображает 1.00

См.также

Функция ATN2( )
Функция RTOD( )
Команда SET DECIMALS
Функция TAN( )
Создание числовых выражений
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ATC( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
ATC( ) Функция
Смотрите также Пример
CollapseAll image

Возвращает начальную позицию первого вхождения символьного выражения или memo-поля в другое символьное выражение или memo-поле, независимо от регистра этих двух выражений.

ATC(cSearchExpression, cExpressionSearched [, nOccurrence])

Параметры

cSearchExpression

Определяет символьное выражение, которое функция ATC( ) ищет в выражении cExpressionSearched.

cExpressionSearched

Определяет символьное выражение, просматриваемое в поисках выражения cSearchExpression.

В качестве cSearchExpression и cExpressionSearched могут фигурировать memo-поля любого размера.

nOccurrence

Указывает, какое вхождение выражения cSearchExpression (первое, второе, третье и т.д.) необходимо найти в выражении cExpressionSearched. По умолчанию функция ATC( ) ищет первое вхождение cSearchExpression (nOccurrence = 1). Задавая nOccurrence, Вы можете инициировать поиск различных вхождений cSearchExpression в выражение cExpressionSearched.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Функция ATC( ) просматривает второе символьное выражение в поисках первого символьного выражения, не учитывая регистр символов в этих выражениях (то есть строчные символы или прописные). Для поиска с учетом регистра пользуйтесь функцией AT( ).

Функция ATC( ) возвращает номер позиции, в которой встретился первый символ выражения. Если символьное выражение не найдено, ATC( ) возвращает 0.

Expand image Пример

CopyCode image Copy Code
STORE 'Now is the time for all good men ... ' TO gcString
STORE 'IS THE' TO gcFindString
CLEAR
? ATC(gcFindString, gcString)  && Displays 5
STORE 'is' TO gcFindString
? ATC(gcFindString, gcString)  && Displays 5
? ATC('now',gcString)  && Displays 1

Expand image Смотрите также

Справочное руководство

AT( ), функция
AT_C( ), функция
ATCC( ), функция
ATCLINE( ), функция
ATLINE( ), функция
LEFT( ), функция
RAT( ), функция
RATLINE( ), функция
RIGHT( ), функция
SUBSTR( ), функция
LEFTC( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ATCC( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
ATCC( ) Функция
Смотрите также
CollapseAll image

Возвращает номер начальной позиции первого вхождения символьного выражения или memo-поля в другое символьное выражение или memo-поле, не учитывая регистр этих двух выражений.

ATCC(cSearchExpression, cExpressionSearched [, nOccurrence])

Параметры

cSearchExpression

Определяет символьное выражение, которое функция ATCC( ) ищет в выражении cExpressionSearched.

cExpressionSearched

Определяет символьное выражение, просматриваемое в поисках выражения cSearchExpression.

В качестве cSearchExpression и cExpressionSearched могут фигурировать memo-поля любого размера.

nOccurrence

Указывает, какое вхождение выражения cSearchExpression (первое, второе, третье и т.д.) необходимо найти в выражении cExpressionSearched. По умолчанию функция ATCC( ) ищет первое вхождение cSearchExpression (nOccurrence = 1). Задавая nOccurrence, Вы можете инициировать поиск различных вхождений cSearchExpression в выражение cExpressionSearched.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

ATCC( ) предназначена для обработки символьных выражений в двухбайтовой кодировке. Если выражение содержит только однобайтовые символы, функция ATCC( ) эквивалентна функции ATC( ).

Функция ATCC( ) просматривает второе символьное выражение в поисках первого символьного выражения, не принимая во внимание регистр символов (строчные или прописные)в обоих выражениях. Для поиска с учетом регистра испо ьзуйте функцию AT_C().

Функция ATCC( ) возвращает целое число, соответствующее номеру позиции, в которой встретился первый символ выражения. Если символьное выражение не найдено, ATCC( ) возвращает 0.

Эта функция полезна для работы с двухбайтовыми наборами символов, например, с японскими "алфавитами" харигана и катакана.

Expand image Смотрите также

Справочное руководство

AT( ), функция
AT_C( ), функция
ATC( ), функция
ATCLINE( ), функция
ATLINE( ), функция
LEFT( ), функция
RAT( ), функция
RATLINE( ), функция
RIGHT( ), функция
SUBSTR( ), функция
LEFTC( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ATCLINE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ATCLINE( )
Смотрите также Пример
CollapseAll image

Возвращает номер строки с первым вхождением символьного выражения или memo-поля, независимо от регистра символов в обоих выражениях (то есть прописные или строчные).

ATCLINE(cSearchExpression, cExpressionSearched)

Параметры

cSearchExpression

Задает символьное выражение, которое функция ATCLINE( ) ищет в выражении cExpressionSearched.

cExpressionSearched

Задает символьное выражение, просматриваемое в поисках выражения cSearchExpression.

В качестве cSearchExpression и cExpressionSearched могут фигурировать memo-поля любого размера. Для получения строки, содержащей найденное символьное выражение, пользуйтесь функцией MLINE( ).

Note Tip

Функция ATCLINE( ) предлагает удобный способ просмотра memo-полей.

Expand image Возвращаемое значение

Числовое

Expand image Примечания

Если поиск завершается успешно, функция ATCLINE( ) возвращает номер строки, содержащей первое символьное выражение. Если поиск не приводит к успеху, ATCLINE( ) возвращает 0.

Номер строки, возвращаемый функцией ATCLINE( ), определяется установкой SET MEMOWIDTH, даже если cExpressionSearched не является memo-полем. Подробнее об этом смотрите SET MEMOWIDTH.

Use ATLINE( ) to perform a case-sensitive search.

Expand image Пример

В Примере 1 ищется первое вхождение символьной строки в memo-поле, а затем на экран выводятся имя и фамилия служащего и строка с memo-полем для этой записи.

В Примере 2 демонстрируется, как ширина memo-поля влияет на ATCLINE().
CopyCode image Copy Code
* Example 1
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee  && Open employee table

CLEAR
STORE 'JAPANESE' TO gcFindString  && Case insensitive
LOCATE FOR ATCLINE(gcFindString, notes) != 0
? First_Name
?? Last_Name
? MLINE(notes, ATCLINE(gcFindString, notes))

* Example 2
STORE '1234567890ABCDEFGHIJ' TO gcString
SET MEMOWIDTH TO 20
? ATCLINE('AB', gcString)  && Displays 1
SET MEMOWIDTH TO 10
? ATCLINE('AB', gcString)  && Displays 2

Expand image Смотрите также

Справочное руководство

Функция AT( )
Функция AT_C( )
Функция ATC( )
Функция ATCC( )
Функция ATLINE( )
Функция LEFT( )
Функция RAT( )
Функция RATLINE( )
Функция RIGHT( )
Функция SUBSTR( )
Функция LEFTC( )
Функция RIGHTC( )
Функция SUBSTRC( )
Функция MLINE( )
Команда SET MEMOWIDTH

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ATLINE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
ATLINE( ), функция
Смотрите также Пример
CollapseAll image

Возвращает номер строки с первым вхождением символьного выражения или memo-поля в другое символьное выражение или memo-поле, считая от первой строки.

ATLINE(cSearchExpression, cExpressionSearched)

Параметры

cSearchExpression

Задает символьное выражение, которое Visual FoxPro ищет в выражении cExpressionSearched.

cExpressionSearched

Задает символьное выражение, просматриваемое в поисках cSearchExpression.

В качестве cSearchExpression и cExpressionSearched могут фигурировать memo-поля любых размеров.

Чтобы получить всю символьную строку, содержащую найденное символьное выражение, используйте функцию MLINE( ).

Note Совет

Функция ATLINE( ) предлагает удобный способ просмотра memo-полей.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Функция ATLINE( ) просматривает второе символьное выражение в поисках первого символьного выражения. При этом принимается во внимание регистр символов этих выражений. Для поиска без учета регистра используйте функцию ATCLINE( ).

Если поиск завершается успешно, функция ATLINE( ) возвращает номер строки, в которой найдено выражение. Если поиск не приводит к успеху, ATLINE( ) возвращает 0.

Номер строки, возвращаемый функцией ATLINE( ), определяется установкой SET MEMOWIDTH, даже если cExpressionSearched не является memo-полем. Для более подробной информации смотрите Команда SET MEMOWIDTH.

Expand image Пример

Пример 1 ищет первое вхождение символьной строки в memo-поле, а затем выводит на экран имя и фамилию служащего и строку memo-поля, содержащую искомую строку.

Пример 2 показывает, как ширина memo-поля влияет на ATLINE( ).
CopyCode image Скопировать код
* Пример 1
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee  && Open employee table

CLEAR
STORE 'Japanese' TO gcFindString  && Case sensitive
LOCATE FOR ATLINE(gcFindString, notes) != 0
? First_Name
?? Last_Name
? MLINE(notes, ATLINE(gcFindString, notes))

* Пример 2
STORE '1234567890ABCDEFGHIJ' TO gcString
SET MEMOWIDTH TO 20
? ATLINE('AB', gcString)  && Displays 1
SET MEMOWIDTH TO 10
? ATLINE('AB', gcString)  && Displays 2

Expand image Смотрите также

Справочное руководство

AT( ), функция
AT_C( ), функция
ATC( ), функция
ATCC( ), функция
ATCLINE( ), функция
LEFT( ), функция
RAT( ), функция
RATLINE( ), функция
RIGHT( ), функция
SUBSTR( ), функция
LEFTC( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция
MLINE( ), функция
SET MEMOWIDTH, команда
$, оператор
OCCURS( ), функция
INLIST( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ATN2( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция ATN2( )
Смотрите также Пример
CollapseAll image

Возвращает арктангенс заданного значения в любом из четырех квадрантов.

ATN2(nYCoordinate, nXCoordinate)

Параметры

nYCoordinate

Задает координату y.

nXCoordinate

Задает координату x.

Expand image Возвращаемое значение

Числовой

Expand image Примечания

Функция ATN2( ) возвращает величину угла (в радианах) между прямой y = 0 и прямой, соединяющей заданную точку с началом координат (0, 0).

Значение, возвращаемое функцией ATN2( ), лежит в диапазоне от -pi/2 до +pi/2.

Значение, возвращаемое функцией ATN2( ), можно перевести в градусы с помощью функции RTOD( ). Число десятичных знаков, приводимых в результате, можно задать установкой SET DECIMALS.

Expand image Пример

CopyCode image Copy Code
CLEAR
? PI( )  && Displays 3.14
? ATN2(0,-1)  && Displays 3.14
STORE COS(PI( )) TO gnXCoord
STORE SIN(PI( )) TO gnYCoord
? ATN2(gnYCoord,gnXCoord)  && Displays 3.14
? ATN2(gnYCoord,gnXCoord)/PI( )  && Displays 1.00

Expand image Смотрите также

Справочное руководство

Функция ATAN( )
Функция DTOR( )
Функция RTOD( )
Команда SET DECIMALS
Функция TAN( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


AUSED( ) Function

Visual FoxPro 9.0 Описание Языка
AUSED( ), Функция
См. также Пример
CollapseAll image

Помещает информацию об алиасах открытых таблиц и рабочих областей текущей сессии данных в указанный массив переменных памяти.

AUSED(ArrayName [, nDataSessionNumber [, cTableName]])

Параметры

ArrayName

Определяет имя массива, в который размещается затребованная информация. Если указанный массив не существует, система Visual FoxPro автоматически создает указанный массив. Если массив уже существует, но имеет недостаточный размер для размещения всей необходимой информации, Visual FoxPro автоматически увеличит размерность массива до необходимых размеров. Если массив имеет избыточный размер, Visual FoxPro уменьшит размерность массива. Если массив существует, а функция AUSED( ) возвращает значение = 0, т.е. нет открытых таблиц данных, тогда массив не изменяется. Если указанный массив отсутствует, а функция AUSED( ) возвращает значение = 0, тогда массив не создается.

nDataSessionNumber

Определяет номер сессии данных, для которой рассматриваемая функция AUSED( ) возвращает массив Алиасов и рабочих областей открытых таблиц. Если данный параметр, nDataSessionNumber, отсутствует то функция AUSED( ) возвращает информацию об используемых алиасах для текущей сессии данных. Для задания текущей сессии данных используется команда SET DATASESSION.

cTableName

В массив помещаются только алиасы открытых таблиц, определяемых данным параметром cTableName.

Текущая сессия данных используется в том случае, если параметр nDataSessionNumber установлен в значение = null (.NULL.).

Параметр cTableName может иметь следующий формат: список алиасов, в порядке которого выполняется поиск открытых таблиц или следующие допустимые форматы:

DatabaseName!TableName или DatabaseName!ViewName.

Path\DatabaseName!TableName или Path\DatabaseName!ViewName.

Контейнер Базы Данных (DBC) однозначно определяет имя соответствующей таблицы для текущей сессии данных,

Простые или полные имена Таблиц.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

AUSED( ) возвращает количество строк информационного массива, каждая из которых однозначно описывает алиас открытой таблицы данных текущей сессии данных.

AUSED( ) создает двумерный массив; в первом столбце размещаются имена алиасов открытых таблиц. Во втором столбце создаваемого массива размещаются номера рабочих областей, в которых открыты соответствующие таблицы данных.

Имена алиасов открытых таблиц размещаются в результирующем информационном массиве в реверсивном порядке: Например, в первом элементе элементе размещается алиас таблицы, которая была открыта в последнюю очередь при создании среды окружения; в последнем элементе массива содержится имя алиаса первой открытой таблицы. Данный порядок размещения алиасов открытых таблиц используется в процессе обновления данных с помощью функции TABLEUPDATE( ). См. пример:

CopyCode image Копировать Код
FOR x = 1 TO AUSED(aTableAliases,1)
   IF CURSORGETPROP( "Buffering", aTableAliases(x) ) > 1 && Buffered
      ? TABLEUPDATE( 0, .T., aTableAliases(x) )
   ENDIF
NEXT

Expand image Пример

В представленном примере, функция AUSED( ) используется для создания информационного массива с именем gaInuse, который содержит имена алиасов открытых таблиц и рабочих областей в текущей сессии данных. Отображается количество открытых таблиц для текущей сессии данных; на экран выводится информация об элементах массива - именах алиасов открытых таблиц и рабочих областей.

CopyCode image Копировать Код
OPEN DATABASE (HOME(2) + 'Data\testdata') EXCLUSIVE
USE Customer IN 0
CLEAR
? AUSED(gaInuse)
DISPLAY MEMORY LIKE gaInuse
CLOSE DATABASES

Expand image См. также

Задачи

Как: Создавать и использовать Алиасы Таблиц

Описание

ALIAS( ), Функция
SET DATASESSION, Команда
USE, Команда

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


AVCXCLASSES( ) Function

Visual FoxPro 9.0 Описание Языка
AVCXCLASSES( ), функция
См. также Пример
CollapseAll image

Размещает информацию о Классах, содержащихся в заданной Библиотеке классов, в элементах массива.

AVCXCLASSES(ArrayName, cLibraryName)

Параметры

ArrayName

Определяет имя массива переменных памяти, в котором размещается информация о классах библиотеки. Если указанный массив не существует в текущем контексте программы, Visual FoxPro автоматически создаст данный массив. Если существующий массив имеет недостаточный размер, Visual FoxPro автоматически увеличит его размер до требуемого значения. Если существующий массив имеет избыточный размер, Visual FoxPro уменьшит его размер до необходимой величины.

Результирующий массив содержит необходимое количество строк для размещения информации о каждом классе библиотеки; каждая строка массива содержит 11 элементов (столбцов), характеризующих каждый класс. В следующей далее таблице описаны каждый из 11 столбцов результирующего массива.

Столбец Характерная информация о Классе имя поля в .VCX

1

Имя Класса.

OBJNAME

2

имя Базоваго (порождающего) класса.

BASECLASS

3

Имя Родительского класса, от которого произошел класс.

CLASS

4

Относительный путь файла Библиотеки Родительского класса.

CLASSLOC

5

Относительный путь файла Картинки (иконки) класса.

RESERVED4

6

Относительный путь файла для диспетчера Project Manager / Class Browser.

RESERVED5

7

Единица Масштаба размеров класса, Pixels / Foxels (пикселы или фокселы).

RESERVED6

8

Краткое описание класса.

RESERVED7

9

Относительный путь файла Заголовка для класса (#INCLUDE).

RESERVED8

10

Пользовательская информация о Классе (User-Defined Information).

USER

11

Логическое значение True (.T.), если класс типа OLEPUBLIC, в другом случае = False (.F.).

RESERVED2
cLibraryName

Определяет имя библиотеки классов, имена содержащихся в ней классов размещаются в заданном массиве с именем ArrayName. cLibraryName может содержать полный путь к указанной библиотеке классов. В случае невозможности найти указанную библиотеку - возникает Ошибочная ситтуация (Сообщение об Ошибке).

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Функция AVCXCLASSES( ) возвращает количество строк в результирующем массиве (или количество Классов в соответствующей библиотеке классов).

Expand image Пример

В следующем далее примере рассматриваемая функция AVCXCLASSES( ) используется для создания массива с именем aClasses и заполнение его информацией о базовых классах, содержащихся в библиотеке классов с именем Buttons. Команда DISPLAY MEMORY отображает содержание созданного массива на главном экране системы Visual FoxPro.

CopyCode image Копировать Код
ACTIVATE SCREEN
CLEAR

? AVCXCLASSES(aClasses, '\VFP\SAMPLES\CLASSES\BUTTONS.VCX')
*** Displays 5

FOR nColCount = 1 TO ALEN(aClasses,2) && Loop through columns
 ? aClasses(1, nColCount) && Each column of the 1st class
NEXT

*** Displays the following:
*
* cmdCancel
* commandbutton
* cmdok
* buttons.vcx
* cancel.bmp
* cancel.bmp
* Pixels
* Release Form or Form Set
*
*
* .F.

Expand image См. также

Описание

ACLASS( ), функция
AGETCLASS( ), функция
AMEMBERS( ), функция
CREATE CLASS, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


BAR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция BAR( )
Смотрите также Пример
CollapseAll image

Возвращает номер последнего выбранного элемента меню, определенного с помощью команды DEFINE POPUP, или номер элемента меню Visual FoxPro.

BAR( )

Expand image Возвращаемое значение

Числовое

Expand image Примечания

Каждому элементу меню присваивается номер командой DEFINE BAR. Когда элемент меню выбирается из меню, функция BAR( ) возвращает номер этого элемента. В зависимости от возвращенного функцией BAR( ) значения, в программе можно задать переход на ту или иную подпрограмму.

BAR( ) возвращает 0, если активных меню нет или если пользователь вышел из меню, нажав клавишу Esc.

Expand image Пример

данном примере функция BAR( ) используется для передачи номера элемента меню в процедуру. Текущая системная строка меню сохраняется в памяти по команде SET SYSMENU SAVE, а затем все заголовки системных меню удаляются командой SET SYSMENU TO.

Командами DEFINE PAD создаются два заголовка меню, и для каждого из них с помощью команды DEFINE POPUP строится меню. Команда DEFINE BAR используется для создания элементов в каждом меню. При выборе заголовка меню команда ON PAD с помощью команды ACTIVATE POPUP активизирует соответствующее меню.

Когда вы выбираете элемент из меню, команда ON SELECTION POPUP с помощью функций BAR( ) и POPUP( ) передает номер элемента и заголовок меню в процедуру choice. Эта процедура отображает на экране номер выбранного элемента и название содержащего его меню. Если вы выберете Exit в меню Card Info, то по команде SET SYSMENU TO DEFAULT будет восстановлена первоначальная система меню Visual FoxPro.
CopyCode image Copy Code
*** Name this program BAR_EXAM.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD padConv OF _MSYSMENU ;
   PROMPT '\<Conversions' COLOR SCHEME 3 ;
   KEY ALT+C, ''
DEFINE PAD padCard OF _MSYSMENU ;
   PROMPT 'Card \<Info' COLOR SCHEME 3 ;
   KEY ALT+I, ''
ON PAD padConv OF _MSYSMENU ACTIVATE POPUP popConv
ON PAD padCard OF _MSYSMENU ACTIVATE POPUP popCard
DEFINE POPUP popConv MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF popConv PROMPT 'Ar\<ea' KEY CTRL+E, '^E'
DEFINE BAR 2 OF popConv PROMPT '\<Length' ;
   KEY CTRL+L, '^L'
DEFINE BAR 3 OF popConv PROMPT 'Ma\<ss' ;
   KEY CTRL+S, '^S'
DEFINE BAR 4 OF popConv PROMPT 'Spee\<d' ;
   KEY CTRL+D, '^D'
DEFINE BAR 5 OF popConv PROMPT '\<Temperature' ;
   KEY CTRL+T, '^T'
DEFINE BAR 6 OF popConv PROMPT 'T\<ime' ;
   KEY CTRL+I, '^I'
DEFINE BAR 7 OF popConv PROMPT 'Volu\<me' ;
   KEY CTRL+M, '^M'
*** Here is where the POPCONV menu uses the BAR( ) function
*** to pass a bar number to the procedure called choice below.
ON SELECTION POPUP popConv;
   DO choice IN bar_exam WITH BAR( ), POPUP( )
DEFINE POPUP popCard MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF popCard PROMPT '\<View Charges' ;
   KEY ALT+V, ''
DEFINE BAR 2 OF popCard PROMPT 'View \<Payments' ;
   KEY ALT+P, ''
DEFINE BAR 3 OF popCard PROMPT 'Vie\<w Users' ;
   KEY ALT+W, ''
DEFINE BAR 4 OF popCard PROMPT '\-'
DEFINE BAR 5 OF popCard PROMPT '\<Charges ';
   KEY ALT+C
DEFINE BAR 6 OF popCard PROMPT '\-'
DEFINE BAR 7 OF popCard PROMPT 'E\<xit ';
   KEY ALT+X
*** Here is where the POPCARD menu uses the BAR( ) function
*** to pass a bar number to the procedure called choice below.
ON SELECTION POPUP popCard;
   DO choice IN bar_exam WITH BAR( ), POPUP( )
*** The procedure choice uses the gnBar parameter
*** to contain the value passed by the BAR( ) function.
PROCEDURE choice
PARAMETERS gnBar, gcPopup
WAIT WINDOW 'You chose bar #' + LTRIM(STR(gnBar)) + ;
   ' from popup ' + gcPopup NOWAIT
SET SYSMENU TO DEFAULT

Expand image Смотрите также

Справочное руководство

Команда ACTIVATE POPUP
Функция CNTBAR( )
Команда DEFINE BAR
Команда DEFINE POPUP
Функция GETBAR( )
Функция MRKBAR( )
Команда ON BAR
Команда ON SELECTION BAR
Функция PRMBAR( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BARCOUNT( ) Function

Visual FoxPro 9.0 Справочник Языка
BARCOUNT () Функция
См. Также

Включено для совместимости с dBASE.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BARPROMPT( ) Function

Visual FoxPro 9.0 Справочник Языка
BARPROMPT () Функция
См. Также

Включен для совместимости с dBASE.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BETWEEN( ) Function

Visual FoxPro 9.0 Описание Языка
BETWEEN( ), функция
См. также Пример
CollapseAll image

Определяет, находится ли заданное некоторое выражение между значениями двух заданных выражений того же типа данных.

BETWEEN(eTestValue, eLowValue, eHighValue)

Параметры

eTestValue

Определяет тестируемое выражение.

eLowValue

Определяет выражение, как Нижнюю границу диапазона.

eHighValue

Определяет выражение, как Верхнюю границу диапазона.

Expand image Возвращаемое значение

Логического типа или null. BETWEEN( ) возвращает значение = True (.T.), если заданный первым аргумент функции равен или больше нижней границы (второй параметр) заданного диапазона и не больше верхнего предела диапазона, заданного третьим аргументом. В другом случае, функция BETWEEN( ) возвращает значение = False (.F.). BETWEEN( ) возвращает значение = null, если параметры eLowValue или eHighValue имеют значение = null.

Expand image Пример

В следующем примере, открывается таблица orders, в которой сканируются все записи, в которых значение поля order_amt находится в диапазоне между 950 и 1000, включительно; отображаются соответствующие значения полей cust_id и order_amt.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders  && Открывается таблица order

CLEAR
SCAN FOR BETWEEN(order_amt,950,1000)
   ? cust_id, order_amt
ENDSCAN

Expand image См. также

Описание

MAX( ), функция
MIN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


BINDEVENT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция BINDEVENT()
Смотрите также Пример
CollapseAll image

Предоставляет возможность исполнять пользовательский программный код (метод объекта) при наступлении события.

При помощи первого варианта, из приведенных ниже синтаксисов функции, вы можете использовать BINDEVENT( ) для присвоения событий, свойств или методов "родных" объектов Visual FoxPro другим объектам Visual FoxPro.

При помощи второго варианта синтаксиса, вы можете связывать события Windows Message (Win Msg).

Note Замечание

Если вы желаете привязаться к событиям из объектов Component Object Model (COM), используйте функцию EVENTHANDLER().

BINDEVENT(oEventSource, cEvent, oEventHandler, cDelegate [, nFlags])
BINDEVENT(hWnd | 0, nMessage, oEventHandler, cDelegate [, nFlags])

Параметры

oEventSource

Указывает источник события, которым должен полноценный, действительный объект Visual FoxPro.

hWnd

Указывает целочисленный дескриптор окна, которое получает Windows Messages.

Если в качестве этого параметра посылается 0, то конкретное событие (nMessage) перехватывается для всех окон.

Вы можете использовать значение свойства hWnd (Visual FoxPro) для связки Windows Messages (событий) получаемых _VFP, _SCREEN и экземпляра формы. Элементы ActiveX также могут иметь свойство hWnd.

cEvent

Указывает имя события, метода или свойства, которое вы желаете связать.

nMessage

Указывает действительное сообщение Windows Messages, которое должно быть перехвачено. Для получения более подробной информации о сообщениях Windows смотрите описания на сайте MSDN (Microsoft Developer Network).

oEventHandler

Указывает объект, который должен быть действительным объектом Visual FoxPro, обрабатывающим событие.

cDelegate

Указывает метод, или "delegate (делегат - далее по тексту будут использоваться синонимы "уполномоченный метод" и "метод-делегат". Прим.переводчика)", который обрабатывает событие для oEventHandler.

Уполномоченный метод должен иметь теже самые параметры, что и событие, указанное в cEvent. Вы можете вызвать функцию AEVENTS() для передачи объектной ссылки источника события. Если уполномоченный метод не имеет достаточного количества параметров для обработки тех, которые посылаются событием, то Visual FoxPro генерирует ошибку.

Когда осуществляется перехват событий (Win Msg), метод cDelegate должен включать в себя предложение PARAMETERS, для приема четырех параметров, которые направляются ему. Формат параметров идентичен формату функции WindowProc Windows. Для получения более подробной информации о функции WindowProc смотрите описания на сайте MSDN (Microsoft Developer Network). Метод должен вернуть целочисленное значение.

nFlags

Указывает дополнительный бит флага, который может быть установлен для операции привязки событий.

Параметр nFlags игнорируется, когда создается привязка события Windows message.

nFlags Bits Тип события Описание

0

000

FoxPro object

Вызывает код метода-делегата до кода события. (По умолчанию)

1

001

FoxPro object

ВЫзывает код события до кода делегата.

2

010

FoxPro object

Не запускает событие (вызывает код делегата) простым вызовом метода.

3

011

FoxPro object

Вызывает код события до кода делегата. Не запускает событие (вызывает код делегата), когда происходят простые вызовы метода.

4

100

Windows Message

Предотвращает рекурсию аналогичных событий пока исполняется код события, определенный пользователем.

В приведенной ниже таблице показаны - будет или нет поднято событие, когда Bit 1 выключен или включен.

Event trigger OFF (Default) ON

Interactive

YES

YES

Programmatic

YES

NO

RAISEEVENT( )

YES

YES

Expand image Возвращаемое значение

Численный тип данных. BINDEVENT() возвращает число привязок к событию объекта.

BINDEVENT( ) всегда возвращает 1, когда создана привязка к событию Windows message. В этом случае не производится выявления ошибки, так что в случае, если в качестве значений hWnd и nMessage были указаны недействительные величины, функция по-прежнему будет возвращать 1 и привязка будет действовать до тех пор, пока она не будет высвобождена.

Expand image Примечания

Вы можете связывать любые действительные события, свойства или методы, включая методы Access и Assign объектов Visual FoxPro. Однако, событие и уполномоченные методы (делегаты) должны быть членами класса с областью видимости public, не являться protected или hidden.

Вы не можете привязаться к событию, имеющему параметры, которые пересылаются по ссылке. Хотя вызов BINDEVENT() достигает цели, поднятие метода, например, с помощью функции RAISEEVENT( ), не сработает.

Когда вы привязываете свойство, вы должны связать его напрямую, а не через метод Assign. Если же вы привязываетесь к методу Assign, имейте в виду, что методы Access и Assign маркированы, как Protected и не видимыми, за исключением видимости в пределах класса.

Note Замечание

Если вы привязываетесь к свойству, которое имеет метод Assign, метод-делегат может сработать дважды. Первый раз он сработает, когда производится вызов присвоения свойства. Второй раз он будет вызван, когда значение свойства будет реально установлено, внутри метода Assign, в значение параметра, которое ему передается. Метод-делегат должен предусматривать такую возможность.

Применяются обычные правила наследования. Если метод-делегат не содержит в себе никакого кода, Visual FoxPro ищет код для метода вверх по иерархии родителя.

Обработчик события вызывается, когда происходит срабатывание метода или когда он вызывается, как собственно метод. Вызов события, как метода, поднимает событие, если вы не указали значение флага nFlags равным 2 или 3.

По умолчанию, Visual FoxPro вызывает метод-делегат до события. Однако, вы можете изменить дефолтное поведение с помощью соответствующей установки nFlags.

Если вы укажете свойство, как событие, которое вы желаете привязать, Visual FoxPro безусловно привязывает это свойство методу Assign. Когда свойство события изменяется, Visual FoxPro поднимает событие.

Если в качестве параметра было послано недействительное значение, Visual FoxPro сгенерирует ошибку, "Function argument value, type, or count is invalid." Однако, если проблема возникнет во время операции привязки, то Visual FoxPro не генерирует ошибки. Вы можете использовать возвращаемое функцией BINDEVENT( ) значение, для определения числа привязок.

Определенные события управляющих элементов такие, как GotFocus, LostFocus, InteractiveChange и ProgrammaticChange не работают, если установлен второй бит параметра nFlags, например, nFlags установлен в значение 2. Эти события Visual FoxPro внутренне рассматривает, как вызовы методов, даже несмотря на то, что они подразумеваются, как события. Аналогичное поведение применяется и к методу Refresh объекта на форме, который вызывается в случае, если вызван метод Refresh формы. Определенные события, такие, как When и Valid сработают только в том случае, если содержат в себе какой-либо код.

BINDEVENT() не поддерживает напрямую свойство Value, так как оно обслуживается Visual FoxPro особым образом. Вместо этого свойства, вы должны использовать события InteractiveChange и ProgrammaticChange, если желаете привязаться к этому значению. В дополнение к сказанному, отметьте себе, что свойство ActivePage не поддерживается.

Если оригинальное событие содержит в своем процедурном коде команду NODEFAULT, Visual FoxPro продолжает обслуживание события, по той причине, что метод-делегат содержит код и вызывается до события. NODEFAULT применяется только к "родным" объектам Visual FoxPro.

Если вы производите точный дубликат вызова BINDEVENT( ), Visual FoxPro сбрасывает вызов, но продолжит возвращать число привязок к событию объекта. Если вы измените установку nFlags, вы можете вызвать BINDEVENT() для перепривязки события.

При привязке к событиям Windows message (Win Msg), может существовать только один дескриптор hWnd для спаривания Windows message. Вы можете послать значение 0 в качестве hWnd, если вы желаете привязать все окна к одному и тому же событию Windows message. Привязка события Windows message может быть высвобождена с помощью функции UNBINDEVENTS() и командой CLEAR. Кроме того, если объект обработчика, указанный в параметре oEventHandler более не существует, привязка высвобождается, когда происходит его Windows message.

С привязкой события Windows message, ваш пользовательский код будет исполняться каждый раз, при наступлении события, включая сценарии, в который отображается модальный диалог. Это происходит потому, что Window Procedure обязана всегда обработать сообщение и вернуть результат. Поскольку возможно получение рекурсии события во время исполнения вашего, определенного для этой конкретной привязки, кода, вы можете пожелать указать значение 4 для nFlags, с целью предотвращения подобного поведения.

Note Замечание

Привязка к событию Windows message должна выполняться с учетом того, что ваш код привязан к событию, поднимаемому операционной системой Windows и эти события могут наступить там, где вы совсем не предполагали их.

Expand image Пример

Приведенный ниже пример показывает, как вы можете поддерживать позиционирование Class Browser с правой стороны рабочего стола Visual FoxPro, независимо от того, каким образом изменяются размеры рабочего стола BINDEVENT() ассоциирован с событием Resize системной переменной_SCREEN, или рабочим столом Visual FoxPro, с помощью который использует myresize как его делегат. Код для myresize запускается, когда поднимается событие Resize.
CopyCode image Copy Code
PUBLIC oHandler
oHandler=NEWOBJECT("myhandler")
DO (_browser)
BINDEVENT(_SCREEN,"Resize",oHandler,"myresize")

DEFINE CLASS myhandler AS Session
   PROCEDURE myresize
      IF ISNULL(_obrowser) THEN
         UNBINDEVENTS(THIS)
      ELSE
         _obrowser.left = _SCREEN.Width - _obrowser.width
      ENDIF
   RETURN
ENDDEFINE

Expand image Смотрите также

Задачи

Примеры Bind, Raise, Unbind, и Retrieve Events

Справочное руководство

Функция AEVENTS()
Функция RAISEEVENT()
Функция UNBINDEVENTS()
SYS(2325) - WCLIENTWINDOW из Visual FoxPro WHANDLE
SYS(2326) - WHANDLE из Window's hWnd
SYS(2327) - Window's hWnd из Visual FoxPro WHANDLE

Концепции

Привязка событий к объектам Visual FoxPro

Процие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


BINTOC( ) Function

Visual FoxPro 9.0 Описание Языка
BINTOC( ) Функция
Смотрите также
CollapseAll image

Преобразовывает числовую величину в двоичное символьное представление.

BINTOC(nExpression [, eFlags])

Параметры

nExpression

Определяет величину, для преобразования. Если eFlags равняется 1, 2 или 4, то величина принимается целым числом. В противном случае, тип данных выражения основывается на основание eFlags.

eFlags

Определяет длину в возвращаемой символьной строки.

eFlags Определяет величину, которую Вы можете определить для nExpression. eFlags может быть числовым или символьным. Следующая таблица включает допустимые величины для eFlags и соответствующего дипазона величин для nExpression:

eFlags Диапазон nExpression

1

от –128 до 127

2

от –32,768 до 32,767

4

от –2,147,483,648 до 2,147,483,647

По умолчанию.

8

Диапазон nExpression зависит от своего типа. Только numeric, float, double, и валютные типы данных поддерживаются этой опцией. Смотри Данные Visual FoxPro и Типы данных для определения областей numeric, float, double, и валютных типов данных.

BINTOC( ) возвращает 8 байтов при этом значение.

F

nExpression интерпретирован как Float тип и BINTOC( ) возвращает 4 байта.

B

nExpression интерпретирован как Double Тип и BINTOC( ) возвращает 8 байтов.

R

Перевернуть получающиеся двоичное выражение.

S

не допускать установки знакового бита числа от существующего переключения (BITXOR).

Если этот параметр пропущен, BINTOC( ), возвращает символьную строку сформированную из четырех символов.

Expand image Возвращаемое значение

Символьное. BINTOC( ) возвращает двоичное символьное выражение.

Expand image Замечания

Параметр eFlags может или быть числовым или символьным. 'R' и 'S' являются добавочными тогда как другие - взаимно исключающими параметрами. Символьные параметры можно задавать в верхнем или нижнем регистре (напр, 'R' или 'r'). Следующие примеры показывают различное использование параметра eFlags

CopyCode image Копировать пример
? BINTOC(1,1)
? BINTOC(1000,"2")&& также, как BINTOC(1000,2)
? BINTOC($12.34,8)
? BINTOC(1, "4RS")&& также, как BINTOC(1,"RS")
? BINTOC(-100, "Fr")

Вы можете использовать BINTOC( ), чтобы уменьшить размер индексов для числовых областей, содержащих целые данные, передавая числовой параметр eFlags. Например, числовая область названа nPartCode и может содержать целую величину от 1 до 32767, которая переписывается в инструкцию по классификации частей. BINTOC( ), позволяет Вам преобразовывать величину в числовую область в меньшее символьное представление. Например, следующие команды создадут индекс с двух-символьным индексным ключом:

CopyCode image Копировать пример
INDEX ON BINTOC(nPartCode,2) TAG PartCode

При использовании BINTOC( ) для создания 8 байтовых индексов, Вы должны использовать 8 а не "B". Для 4 байтовых результатов, Вы должны использовать 4 если nExpression - целого типа. В противном случае, Вы должны использовать 'F' для floating типа.

BINTOC( ) может также использоваться, для работы с програмным интерфейсом приложения Win32, для преобразования в или от Win32 структурных данных. Когда BINTOC( ) используется для индексации, он должен должным образом обращаться с отрицательными числами для получающегося двойного выражения. Это достигается использованием операции BITXOR на высоком бите. Это также означает, что самый существенный байт является первым.Для Win32 api функций на intel платформах, архитектура которых следует правилу "последний значимый байт" - когда младший знаковый байт хранится в памяти первый (распологается в ячейке памяти с младшим адресом). Параметры настройки 'R' и 'S' позволяют Вам использовать BINTOC( ), чтобы работать более эффективно с программами использующие структуры.

Expand image Смотрите также

Ссылки

CTOBIN( ) Функция
CREATEBINARY( ) Функция
Integer Field Type

Другие ресурсы

Функции
Описание языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


BITAND( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция BITAND( )
Смотрите также Пример
CollapseAll image

Возвращает результат побитовой операции И (AND), выполняемой над двумя или более значениями типа Numeric, Varbinary, или Blob. Вот числова и бинарная версии синтаксиса.

BITAND(nNumericExpression1, nNumericExpression2, ... , nNumericExpression26)
BITAND(BinaryExpression1, BinaryExpression2, ... , BinaryExpression26)

Параметры

nNumericExpression1, nNumericExpression2, ... , nNumericExpression26

Задает Numeric значения, над которыми выполняется побитовая операция И (AND).

BinaryExpression1, BinaryExpression2, ... , BinaryExpression26

Задает Varbinary или Blob значения, над которыми выполняется побитовая операция И (AND).

Note Note

Вы можете задать максимум 26 значений. Заданые значения должны быть одного типа. Если заданые выражения не целое, то они конвертируются в целое до начала выполнения операции.

Expand image Возвращаемое значение

Numeric or Varbinary. BITAND( ) возвращает результат выполнения побитовая операция И (AND) над заданым выражением.

Note Note

For Varbinary or Blob, the return value is calculated as if all values are padded with 0h00 on the right of the value up to the length of the longest value. The appropriate operation is then performed between those values.

Expand image Примечания

Функция BITAND( ) сравнивает каждый бит значения eExpressionN с соответствующим битом числа eExpressionN+1. Если биты в eExpressionN и eExpressionN+1 оба равны 1, соответствующий бит результата также устанавливается равным 1; в противном случае бит результата устанавливается равным 0.

В следующей таблице показано, какой результат выдает побитовая операция И (AND), примененная к соответстсвующим битам значений eExpressionN и eExpressionN+1 :

Бит eExpressionN | Бит eExpressionN+1 | Результирующий бит
0 | 0 | 0
0 | 1 | 0
1 | 1 | 1
1 | 0 | 0

Expand image Пример

CopyCode image Copy Code
x = 3  && 0011 binary
y = 6  && 0110 binary

? BITAND(x,y) && Returns 2, 0010 binary

Expand image Смотрите также

Справочное руководство

Функция BITCLEAR( )
Функция BITLSHIFT( )
Функция BITNOT( )
Функция BITOR( )
Функция BITRSHIFT( )
Функция BITSET( )
Функция BITTEST( )
Функция BITXOR( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BITCLEAR( ) Function

Visual FoxPro 9.0 Описание Языка
BITCLEAR( ), функция
См. также Пример
CollapseAll image

Сбрасывает (устанавливает равным = 0) заданный бит числового значения или другого типа данных Numeric, Varbinary, или Blob, и возвращает преобразованное таким образом значение. Существует две синтаксические конструкции данной функции.

Note Примечание

Если задаваемое выражение не является целым числом, то перед выполнение указанной операции оно будет преобразовано к целому типу (Integer).

BITCLEAR(nNumericExpression1, nNumericExpression2)
BITCLEAR(BinaryExpression [, nStartBit [, nBitCount]])

Параметры

nNumericExpression1

Определяет выражение типа Numeric, для которого выполняется указанная операция. Если данное выражение не является целым числом, оно будет преобразовано к целому типу перед выполнением данного вычисления (сбрасывания на 0 заданного бита).

nNumericExpression2

Определяет номер позиции бита в выражении nExpression1, который сбрасывается на = 0. nExpression2 может принимать значение в диапазоне от 0 - до 31, который примет значение = 0.

BinaryExpression

Определяет соответствующее выражение типа Varbinary / Blob.

[ nStartBit[, nBitCount]]

Определяет стартовый бит выполняемой операции обнуления битов, а также количество обнуляемых битов, начиная с указанного.

Если вы не указываете данные параметры: nStartBit , nBitCount, то данная операция относится ко всем битам заданного выражения. Если вы указываете только первый параметр nStartBit, то данная операция выполняется только к биту с номером nStartBit.

Expand image Возвращаемое значение

Numeric, Varbinary, или Blob. BITCLEAR( ) возвращает преобразованное, заданное изначально выражение, с "обнуленными" битами.

Expand image Пример

CopyCode image Копировать Код
x = 7 && 0111 binary
y = 1 && 2nd bit position (0 = 1st bit position)
? BITCLEAR(x,y) && Returns 5, 0101 binary

Expand image См. также

Описание

BITAND( ), функция
BITLSHIFT( ), функция
BITNOT( ), функция
BITOR( ), функция
BITRSHIFT( ), функция
BITSET( ), функция
BITTEST( ), функция
BITXOR( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


BITLSHIFT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция BITLSHIFT( )
Смотрите также Пример
CollapseAll image

Возвращает результат сдвига битов числового значения влево на заданное количество разрядов.

Note Note

Если заданое выражение не целое, то до начала операции оно конвертируется в целое.

BITLSHIFT(nExpression1, nExpression2)

Параметры

nExpression1

Задает числовое значение, биты которого сдвигаются влево.

nExpression2

Задает количество бит, на которые выполняется сдвиг.

Expand image Возвращаемое значение

Числовое. BITLSHIFT( ) возвращает заданое выражение в котором выполнен сдвиг на заданое количество бит.

Expand image Примечания

BITLSHIFT( )не поддерживает значения типа Varbinary.

Expand image Пример

CopyCode image Copy Code
x = 5  && 0101 binary
y = 1  && Shift bits 1 position left

? BITLSHIFT(x,y) && Returns 10, 1010 binary

Expand image Смотрите также

Справочное руководство

Функция BITAND( )
Функция BITCLEAR( )
Функция BITNOT( )
Функция BITOR( )
Функция BITRSHIFT( )
Функция BITSET( )
Функция BITTEST( )
Функция BITXOR( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BITNOT( ) Function

Visual FoxPro 9.0 Описание Языка
BITNOT( ), функция
См. также Пример
CollapseAll image

Выполняет поразрядное Отрицание (NOT-операция) для выражений типа Numeric, Varbinary, или Blob и возвращает преобразованное таким образом выражение соответствующего типа (какое на входе). Имеется два Синтаксиса данной, рассматриваемой функции.

Note Примечание

Если исходное выражение не является Целым (Integer), оно преобразуется к Целому типу (Integer) перед выполнением рассматриваемого преобразования (NOT-операция).

BITNOT(nNumericExpression)
BITNOT(BinaryExpression [, nStartBit [, nBitCount]])

Параметры

nNumericExpression

Определяет Выражение типа Numeric, для котрого выполняется Поразрядное Отрицание (NOT-операция).

BinaryExpression

Определяет Выражение типа Varbinary или Blob, для котрого выполняется Поразрядное Отрицание (NOT-операция).

[ nStartBit[, nBitCount]]

Определяет стартовый бит nStartBit, с которого выполняется указанное преобразование Данных, и количество nBitCount преобразуемых бит.

Если рассматриваемые параметры nStartBit и nBitCount - не указываются, рассматриваемое преобразование выполняется для всех Бит указванного выражения. Если задается только параметр nStartBit, то преобразуются только Биты с номером nStartBit.

Expand image Возвращаемое значение

Возвращаются данные типа: Numeric, Varbinary, или Blob, в соответствие с исходными данными. BITNOT( ) выполняет Поразрядное Отрицание (NOT-операция) для заданных выражений. Другими словами, обратная величина представляет собой выражение, в котором каждый бит 0 заменяется на Бит 1, и каждый 1 бит изменется на 0.

Expand image Пример

CopyCode image Копировать Код
x = 5 && 0101 binary
? BITNOT(x) && Returns -6

Expand image См. также

Описание

BITAND( ), функция
BITCLEAR( ), функция
BITLSHIFT( ), функция
BITOR( ), функция
BITRSHIFT( ), функция
BITSET( ), функция
BITTEST( ), функция
BITXOR( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


BITOR( ) Function

Visual FoxPro 9.0 Справочник Языка
BITOR () Функция
См. Также Пример

Выполняет поразрядную операцию OR для двух или больше значений типов Numeric , Varbinary , или Blob и возвращает результат. Существует числовая и бинарная версия синтаксиса.

BITOR(nNumericExpression1, nNumericExpression2, ... , nNumericExpression26)

BITOR(BinaryExpression1, BinaryExpression2, ... , BinaryExpression26)

Параметры

nNumericExpression1 , nNumericExpression2..., nNumericExpression26

Определяет Числовое значения для выполнения побитовой операции OR.
BinaryExpression1 , BinaryExpression2..., BinaryExpression26

Определяет значение Varbinary или Blob , чтобы выполнить поразрядную операцию OR.
Обратите внимание:
Вы можете определить максимум значений 26. Указанные значения должны иметь тот же самый тип. Если указанные выражения - не целые числа, они - преобразуются в целые числа перед выполнением операции.

Возвращаемое значение

Numeric или Varbinary . BITOR () возвращает результат поразрядной операции OR для указанных выражений.

Обратите внимание:
Для значений Varbinary или Blob , возвращаемое значение вычисляется, как будто все значения дополняются 0h00 справа от выражения до величины самого длинного выражения. Соответствующая операция выполняется уже между этими значениями.

Замечания

BITOR( ) сравнивает каждый бит в eExpressionN с соответствующим битом в eExpressionN+1 . Если любой из битов в eExpressionN и eExpressionN+1 равен 1, то соответствующий бит результата установлен в 1; иначе, соответствующий бит результата установлен в 0.

Следующая таблица показывает результат операции OR для соответствующих eExpressionN и nExpressionN+1 битов :

eExpressionN бит | eExpressionN+1 бит | Результирующий бит
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

Пример

Скопировать код
x = 5  && 0101 binary
y = 6  && 0110 binary
? BITOR(x,y) && Returns 7, 0111 binary

См. Также

Другие Ресурсы

BITAND( ) Функция
BITCLEAR( ) Функция
BITLSHIFT( ) Функция
BITNOT( ) Функция
BITRSHIFT( ) Функция
BITSET( ) Функция
BITTEST( ) Функция
BITXOR( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BITRSHIFT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция BITRSHIFT( )
Смотрите также Пример
CollapseAll image

Возвращает результат сдвига битов числового значения вправо на заданное количество разрядов.

Note Note

Если заданое выражение не целое, то до начала операции оно конвертируется в целое.

BITRSHIFT(nExpression1, nExpression2)

Параметры

nExpression1

Задает числовое значение, биты которого сдвигаются вправо.

nExpression2

Задает количество бит, на которые выполняется сдвиг вправо.

Expand image Возвращаемое значение

Числовое. BITRSHIFT( ) возвращает заданое выражение в котором выполнен сдвиг на заданое количество бит.

Expand image Примечания

BITRSHIFT( ) не поддерживает значения типа Varbinary.

Expand image Пример

CopyCode image Copy Code
x = 5  && 0101 binary
y = 1  && Shift bits 1 position right

? BITRSHIFT(x,y) && Returns 2, 0010 binary

Expand image Смотрите также

Справочное руководство

Функция BITAND( )
Функция BITCLEAR( )
Функция BITLSHIFT( )
BITNOT( )
Функция BITOR( )
Функция BITSET( )
Функция BITTEST( )
Функция BITXOR( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


BITSET( ) Function

Visual FoxPro 9.0 Справочник Языка
BITSET () Функция
См. Также Пример

Устанавливает бит в 1 для значений типов Numeric , Varbinary , или Blob и возвращает итоговое значение. Существует числовая и бинарная версия синтаксиса.

Обратите внимание:
Если указанное выражение - не целое число, оно преобразуется в целое число перед установкой бита.

BITSET(nNumericExpression1, nNumericExpression2)
BITSET(BinaryExpression [, nStartBit [, nBitCount]])

Параметры

nNumericExpression1

Определяет Числовое значение, чтобы установить бит.
nNumericExpression2

Определяет позицию бита в nExpression1 для его установки в 1. nExpression2 может принимать значения в диапазоне 0 до 31 с 0-ым крайним битом справа.
BinaryExpression

Определяет выражение Varbinary или Blob .
[ nStartBit [, nBitCount ]]

Определяет начальный отсчитываемый от нуля номер первого бита для выполнения операции как nStartBit и количество битов для выполнения операции как nBitCount . Если Вы не определяете nStartBit и nBitCount , операция применяет ко всем битам в выражении. Если Вы определяете только nStartBit , операция применима только к nStartBit .

Возвращаемое значение

Numeric , Varbinary , или Blob . BITSET( ) возвращает указанное выражение с указанным битом, установленным в 1.

Пример

Скопировать код
x = 5  && 0101 binary
y = 1  && 2nd bit position (0 = 1st bit position)
? BITSET(x,y) && Returns 7, 0111 binary

См. Также

Другие Ресурсы

BITAND( ) Функция
BITCLEAR( ) Функция
BITLSHIFT( ) Функция
BITNOT( ) Функция
BITOR( ) Функция
BITRSHIFT( ) Функция
BITTEST( ) Функция
BITXOR( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BITTEST( ) Function

Visual FoxPro 9.0 Справка по языку
Функция BITTEST( )
См.также Пример

Определяет, установлен ли указанный бит в значении типа Numeric, Varbinary, или Blob в 1. В синтаксисе приведен вариант для случая числового и двоичного типа данных.

Примечание:
Ести указанное выражение не принадлежит к целому типу (integer), оно будет сначала преобразовано к этому типу.

BITTEST(nNumericExpression1, nNumericExpression2)

BITTEST(BinaryExpression, nBitNumber)

Параметры

nNumericExpression1

Указывает выражение типа Numeric для проверки в его значении указанного бита.
nNumericExpression2

Указывает позицию бита для проверки в nExpression1. nExpression2 может находиться в пределах от 0 до 31, при этом 0 обозначает самый правый бит (Тип Integer имеет длину 32 бита, а сами биты нумеруются от 0 до 31 справа налево - прим.переводчика).
BinaryExpression

Указывает выражение типа Varbinary или Blob для проверки указанного бита.
nBitNumber

Указывает бит в qExpression, причем биты нумеруются, начиная с 0 (и справа налево - прим.переводчика). Если будет указан номер бита nBitNumber, который выйдет за пределы длины qExpression, Visual FoxPro выдаст ошибку.

Возвращаемое значение

Логическое. Функция BITTEST( ) вызвращает Истинно (.T.), если указанный бит установлен в 1; в противном случае она возвращает Ложно (.F.).

Пример

В следующем примере функция BITTEST( ) используется с тем, чтобы определить, являются ли целые числа четными. Если целое число четное, функция IsEven возвращает Истинно (.T.); в противном случее она возвращает Ложно (.F.).

Прим.переводчика: Слово even в переводе с английского языка означает "четный"; таким образом наименование функции IsEven можно перевести как "ЧетныйЛи?".

Скопировать код
CLEAR
? '2 even? '
?? IsEven(2) && Четный, возвращается .T.
? '3 even? '
?? IsEven(3) && Не четный, возвращается .F.
? '0 even? '
?? IsEven(0) && Четный, возвращается .T.
? '-13 even? '
?? IsEven(-13) && Не четный, возвращается .F.

Function IsEven
 PARAMETER nInteger
 RETURN NOT BITTEST(nInteger, 0)

См.также

Функция BITAND( )
Функция BITCLEAR( )
Функция BITLSHIFT( )
Функция BITNOT( )
Функция BITOR( )
Функция BITRSHIFT( )
Функция BITSET( )
Функция BITXOR( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BITXOR( ) Function

Visual FoxPro 9.0 Описание Языка
BITXOR( ), функция
См. также Пример
CollapseAll image

Выполняет побитовую операцию исключающего ИЛИ (exclusive OR) для двух или нескольких операндов следующих типов данных: Numeric, Varbinary, или Blob, и возвращает результат соответствующего типа. Существует два варианта данной функции: для числовых и двоичных данных (смотрите ниже:)

BITXOR(nNumericExpression1, nNumericExpression2 ..., nNumericExpression26)
BITXOR(BinaryExpression1, BinaryExpression2 ..., BinaryExpression26)

Параметры

nNumericExpression1, nNumericExpression2, ... , nNumericExpression26

Определяет список параметиров типа данных Numeric, для которых выполнятся побитовая операция exclusive OR.

BinaryExpression1, BinaryExpression2, ... , BinaryExpression26

Определяет список параметров типа данных Varbinary / Blob, для которых выполняется побитовая операция исключающего ИЛИ.

Note Примечание

Вы можете задавать не более чем 26 параметров для данной функции. Задаваемые значения должны быть преобразуемы к одному типу данных. Если заданные параметры не являются целыми числами, то ини будут преобразованы к целому типу перед выполнением данной функции.Исключением является тип данных Varbinary.

Expand image Возвращаемое значение

Numeric / Varbinary. BITXOR( ) возвращает результат побайтовой операции исключительного ИЛИ для заданных параметров.

Note Примечание

Для типов данных Varbinary / Blob, при вычислении результирующего значения все операнды удлинняются до максимального операнда символами 0h00, только после этого выполняется сама операция.

Expand image Комментарии

BITXOR( ) выполняет побайтовое вычисление каждой пары операндов: eExpressionN и, соответственно, eExpressionN+1. Если соответствующие биты в обоих операндах равны = 0, или = 1, ( eExpressionN / eExpressionN+1), то результирующий бит = 0; в противном случае - результирующий бит = 1. Другими словами - имеют разные значения.

В следующей таблице приводятся варианты побитовой операции исключающего ИЛИ (exclusive OR)? или XOR, для двух операндов eExpressionN и eExpressionN+1:

Бит операнда eExpressionN | Бит операнда eExpressionN+1 | Бит Результата
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

Expand image Пример

В следующем примере рассматривается целое число = 5, которое имеет даоичное представление = 0101, это переменная с именем Var1. Другая переменная, с именем Var2, = 6, соответствующее двоичное представление = 0110. BITXOR( ) возвращает значение = 3, которое имеет двоичное представление = 0011.

CopyCode image Копировать Код
Var1 = 5 && 0101 binary value
Var2 = 6 && 0110 binary value
? BITXOR(Var1,Var2) && returns 3 (0011 binary value)

Expand image См. также

Описание

BITAND( ), функция
BITCLEAR( ), функция
BITLSHIFT( ), функция
BITNOT( ), функция
BITOR( ), функция
BITRSHIFT( ), функция
BITSET( ), функция
BITTEST( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


BOF( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция BOF( )
Смотрите также Пример
CollapseAll image

Определяет, установлен ли указатель записи в начале таблицы.

BOF([nWorkArea | cTableAlias])

Параметры

nWorkArea

Задает номер рабочей области для таблицы, открытой в другой рабочей области.

cTableAlias

Задает псевдоним таблицы, открытой в другой рабочей области.

BOF( ) возвратит "ложь" (.F.).

Expand image Возвращаемое значение

Логическое

Expand image Примечания

Используйте функцию BOF( ) для проверки местонахождения в начале файла таблицы. BOF( ) возвращает значение "истина" (.T.), если вы пытались переместить указатель записи в позицию перед первой записью таблицы.

Expand image Пример

В данном примере открывается таблица customer и выводится постранично список наименований компаний начиная с последней записи в таблице. Листинг продолжается до достижения начала файла или до нажатия Cancel.
CopyCode image Copy Code
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME() + "samples\data\testdata")
USE customer
GO BOTTOM
local recCtr, btnValue
recCtr = 0
btnValue = 1
DO WHILE btnValue = 1 AND NOT BOF()
 ? "Company : " + company
 recCtr = recCtr + 1
 if (recCtr % 20) = 0 then
  btnValue =MESSAGEBOX ("Click OK to continue, Cancel to quit.",33)
  clear
 endif
 Skip -1    && Move up one record
ENDDO
=MESSAGEBOX("Listing complete.",48)

Expand image Смотрите также

Справочное руководство

Функция EOF( )
Функция FEOF( )
_FEOF( ) API Library Routine

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CANDIDATE( ) Function

Visual FoxPro 9.0 Описание Языка
CANDIDATE( ), функция
См. также Пример
CollapseAll image

Возвращает значение = True (.T.), если указанный индексный Тэг имеет статус Candidate; в противном случае возвращается значение, = False (.F.).

CANDIDATE([nIndexNumber] [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Определяет порядковый номер индексного Тэга, для которого функция CANDIDATE( ) возвращает статус candidate (может ли индексный Тэг быть первичным ключем, имеет уникальные и ненулевые значения для каждой записи таблицы). Функция CANDIDATE( ) возвращает характеристику статуса candidate в следующем порядке: параметр nIndexNumber изменяется от 1 - до общего количества индексных Тэгов открытых в настоящий момент составных структурных и независимых индексных файлов, содержащих индексные Тэги:

  1. Сначала возвращается характеристика Candidate индексных тэгов структурного индексного файла (если таковой имеется). Индексные Тэги структурного индексного файла размещаются в порядке их создания.

  2. Далее определяется статус "возможного первичного ключа" (Candidate) для индексных Тэгов независимого составного индексного файла (если таковой открыт). Индексные Тэги независимого составного индексного файла размещаются в порядке их создания.

Если рассматриваемый параметр nIndexNumber отсутствует, CANDIDATE( ) тестирует текущий активный индексный Тэг, может ли быть данный тэг первичным ключем таблицы. Если в настоящий момент не установлен активный индексный Тэг, CANDIDATE( ) возвращает значение = False (.F.).

nWorkArea

Определяет номер рабочей области, для которой тестируется индексный Тэг, номер которого задан параметром nIndexNumber.

cTableAlias

Определяет алиас Таблицы, для которой тестируется индексный Тэг с номером nIndexNumber.

Если последние параметры nWorkArea , cTableAlias - отсутствуют, CANDIDATE( ) тестирует индексный Тэг таблицы, открытой в текущей рабочей области.

Expand image Возвращаемое значение

Логического типа (Logical)

Expand image Комментарии

Индексный Тэг имеет статус Candidate - если он может быть первичным ключем (индексом) таблицы, то есть: не имеет нулевых (пустых) значений и не содержит дублирующих значений (только уникальные).

Expand image Пример

В представленном ниже примере: открывеется таблица customer, из соответствующей базы данных testdata. Оператор цикла FOR ... ENDFOR используется для перебора всех доступных индексных Тэгов, которые тестируются на статус Сandidate (предполагается наличие структурного индексного файла, который открывается вместе с открытием Таблицы) - customer.cdx. Для каждого индексного Тэга выводится статус candidate.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table

FOR nCount = 1 TO TAGCOUNT( )
 IF !EMPTY(TAG(nCount)) && Checks for tags in the index
 ? TAG(nCount) && Display tag name
 ? CANDIDATE(nCount) && Display candidate status
 ELSE
 EXIT && Exit the loop when no more tags are found
 ENDIF
ENDFOR

Expand image См. также

Описание

ALTER TABLE - SQL, команда
CREATE TABLE - SQL, команда
INDEX, команда
PRIMARY( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


CAPSLOCK( ) Function

Visual FoxPro 9.0 Описание Языка
CAPSLOCK( ) Функция
См. также Пример
CollapseAll image

Возвращает текущее состояние клавиши CAPS LOCK или устанавливает режим клавиши CAPS LOCK в состояние ВКЛ или ВЫКЛ.

CAPSLOCK([lExpression])

Параметры

lExpression

Определяет состояние клавиши CAPS LOCK. CAPSLOCK(.T.) включает CAPS LOCK , а CAPSLOCK(.F.) выключает CAPS LOCK. Возвращается логическое выражение, соответствующее состоянию данной клавиши до данного переключения.

Expand image Возвращаемое Значение

Значение типа Logical

Expand image Комментарии

Вызов функции CAPSLOCK( ) без аргумента определяет текущее состояние клавиши CAPS LOCK, соответственно ВКЛ или ВЫКЛ.

Expand image Пример

В следующем примере значение функции CAPSLOCK( ) сохраняется в переменной. Операнд = используется для игнорирования значения функции CAPSLOCK( ), выполняется установка ВКЛ. После этого возвращается начальное состояние данной клавиши.

CopyCode image Копировать Код
glOldLock = CAPSLOCK( )     && Save original setting
CAPSLOCK(.T.)     && Turn CAPS LOCK on

*** Perform any number of statements ***

CAPSLOCK(glOldLock)  && Return to original setting

*** or, toggle CapsLock to the opposite value and back ***

CAPSLOCK(!CAPSLOCK( ))
WAIT WINDOW
CAPSLOCK(!CAPSLOCK( ))
WAIT WINDOW
CAPSLOCK(glOldLock)  && Return to original setting

Expand image См. также

Описание

INSMODE( ) Функция
NUMLOCK( ) Функция

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


CAST( ) Function

Visual FoxPro 9.0 Справочник Языка
CAST () Функция
См. Также Пример

Конвертирует выражение одного типа данных в другой.

CAST(eExpression AS cDataType [(nFieldWidth [, nPrecision])]
   [NULL | NOT NULL])

Параметры

eExpression

Определяет выражение данных, обычно в инструкции SQL, которое Вы хотите преобразовать в другой тип данных. eExpression может быть полем, вычисляемым полем, или другим типом выражения.
cDataType

Определяет допустимое имя или символ, обозначающие выбранное имя типа данных. cDataType может также быть выражением, которое вычисляется в допустимое имя типа данных или символ, обозначающие допустимый тип данных.
Обратите внимание:
Если Вы определяете выражение для cDataType , Вы должны включить выражение, для которого Вы определяете cDataType в круглые скобки.

Некоторые типы данных полей требуют, чтобы Вы определили значение для nFieldWidth , nPrecision , или оба значения. Следующая таблица перечисляет значения для cDataType и указывает применяются ли nFieldWidth и nPrecision .

cDataType Тип данных nFieldWidth nPrecision

W, Blob

Blob

No

No

C, Char, Character

Character

Yes

No

Y, Currency

Currency

No

No

D, Date

Date

No

No

T, DateTime

DateTime

No

No

B, Double

Double

No

Yes

F, Float

Floating

Yes

Yes

G, General

General

No

No

I, Int, Integer

Integer

No

No

L, Logical

Logical

No

No

M, Memo

Memo

No

No

N, Num, Numeric

Numeric

Yes

Yes

Q, Varbinary

Varbinary

Yes

No

V, Varchar

Varchar

Yes

No

nFieldWidth

Определяет ширину поля для некоторых типов данных. Visual FoxPro игнорирует nFieldWidth для следующих типов данных: D, T, I, Y, L, М., Г, и W. Если nFieldWidth не определена, используются значения по умолчанию, например, как определено командой CREATE TABLE .
nPrecision

Определяет количество десятичных знаков для некоторых типов данных. Visual FoxPro игнорирует nPrecision для следующих типов данных: C, D, T, I, Y, L, М., Г, V, Q, и W. Если nPrecision не включен для типов данных Numeric или Float , значением по умолчанию является 0, что означает отсутствие десятичных знаков. Если nPrecision не включен для типа Double, nPrecision задается по умолчанию в количество десятичных знаков, установленной командой SET DECIMALS . Если nPrecision не определен для других типов данных, используются значения по умолчанию, например, как определено командой CREATE TABLE .
NULL | NOT NULL

Определяет, разрешать ли пустые (null) значения в поле.
Обратите внимание:
Если одно или более полей могут содержать null значения, максимальное количество полей, которое таблица может содержать, уменьшается с 255 до 254.

Если значения NULL или NOT NULL не определены, они берутся из выражения.

Замечания

Следующая таблица показывает преобразования, которые поддерживаются функцией CAST( ) . По вертикальной оси перечисляются типы данных источника, а по горизонтальной конвертированный тип данных. Следующие символы указывают уровень поддерживаемого преобразования:

  • F - полное преобразование без потери данных

  • P - частичное преобразование с возможной потерей данных

  • N - не поддерживается

Тип | C | D | T | N | F | Я | B | Y | L | М. | Г | V | Q | W
C | F | P | P | P | P | P | P | P | P | F | N | F | F | F
D | F | F | F | N | N | N | N | N | N | F | N | F | N | N
T | F | P | F | N | N | N | N | N | N | F | N | F | N | N
N | F | N | N | F | F | P | F | P | P | F | N | F | N | N
F | F | N | N | F | F | P | F | P | P | F | N | F | N | N
Я | F | N | N | F | F | F | F | F | P | F | N | F | N | N
B | P | N | N | P | P | P | F | P | P | F | N | P | N | N
Y | F | N | N | P | P | P | F | F | P | F | N | F | N | N
L | F | N | N | F | F | F | F | F | F | F | N | F | N | N
М. | P | P | P | P | P | P | P | P | P | F | N | P | P | F
Г | N | N | N | N | N | N | N | N | N | N | F | N | N | F
V | P | P | P | P | P | P | P | P | P | F | N | F | P | P
Q | P | N | N | N | N | N | N | N | N | F | N | P | F | F
W | P | N | N | N | N | N | N | N | N | F | F | P | P | F

Если Вы определяете десятичную точность, то преобразования между числовыми типами данных, например, Numeric , Float , Currency , и Double в тип данных Integer может привести к потере точности.

Для преобразований в следующие типы данных: Character , Varchar , и Varbinary , если указанный размер поля меньше чем первоначальный размер данных, Visual FoxPro усекает значения, чтобы соответствовать указанной ширине поля. Для преобразований в тип данных Character , если указанный размер больше чем первоначальный размер данных, Visual FoxPro дополняет поле пробелами справа от значения.

Пример

Следующий пример использует команаду SQL SELECT , чтобы вернуть данные из поля Product_ID таблицы "Товары" из тестовой базы данных Visual FoxPro TestData.dbc. Пример использует функцию CAST () , чтобы конвертировать результаты выборки, полученной выражением unit_Cost * in_Stock, которые имеют тип Currency , в значение с типом Numeric, размером поля 8 и десятичной точностью 2.

Скопировать код
CLEAR ALL
OPEN DATABASE HOME(2) + 'Data\Testdata.dbc'
SELECT Product_ID, CAST(unit_Cost * in_Stock AS Numeric(8,2)) FROM Products

См. Также

Другие Ресурсы

Функции
Типы Данные и Полей
Как: Выбрать Типы данных
Функции Преобразования Данных
Управление преобразованием типов данных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CDOW( ) Function

Visual FoxPro 9.0 Описание Языка
CDOW( ), функция
См. также Пример
CollapseAll image

Возвращает имя дня недели для указанного выражения типа Date или DateTime.

CDOW(dExpression | tExpression)

Параметры

dExpression

Определяет выражение типа Date, для которого функция CDOW( ) возвращает день недели.

tExpression

Определяет выражение типа DateTime, для которого функция CDOW( ) возвращает день недели.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

CDOW( ), возвращает имя дня недели, как строку в соответствующем формате существительного.

Expand image Пример

CopyCode image Копировать Код
STORE {^1998-02-16} TO gdDate
CLEAR
? CDOW(gdDate)  && отображается Понедельник

Expand image См. также

Описание

DAY( ), функция
DOW( ), функция
SET FDOW, команда
SET FWEEK, команда
SYS( ), Общее Описание
DATETIME( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CDX( ) Function

Visual FoxPro 9.0 Справочник Языка
CDX () Функция
См. Также Пример

Возвращает имена открытых составных индексных файлов (.cdx) , которые имеют указанный номер позиции индекса.

CDX(nIndexNumber [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Следующее относится к таблице со структурным составным индексом и одним или более составными индексами:

nIndexNumber Описание

1

Возвращает имя структурного индексного файла (который имеет всегда то же имя, как и таблица).

2

Возвращает первое имя составного индексного файла, указанное в предложении INDEX USE или в SET INDEX.

3

Возвращает второе имя составного индексного файла, если таковые вообще имеются, и так далее.

Больше чем количество открытых .cdx файлов

Возвращается пустая строка.

Следующее относится к таблице без структурного составного индекса и одного или более составных индексов:

nIndexNumber Описание

1

Возвращает первое имя составного индексного файла, указанное в предложении INDEX USE или в SET INDEX.

2

Возвращает второе имя составного индексного файла, если таковые вообще имеются, и так далее.

Больше чем количество открытых .cdx файлов

Возвращает пустую строку.

nWorkArea

Определяет номер рабочей области таблицы, имена открытых составных индексного файлов CDX( ) которой, Вы хотите возвратить.
cTableAlias

Определяет псевдоним таблицы, имена открытых составных индексных файлов CDX( ) которой, Вы хотите возвратить. Если Вы опускаете nWorkArea и cTableAlias , возвращаются имена составных индексных файлов для таблицы открытой в настоящее время в выбранной рабочей области.

Возвращаемое значение

Символьное

Замечания

CDX( ) функция идентична MDX( ) функции.

Индекс . cdx (составной) состоит из одного физического файла, содержащего много индексных тэгов. Каждый индексный тэг - ссылка индексного упорядочения для ассоциированной таблицы.

Есть два типа .cdx файлов: стандартный составной индекс (.cdx) и структурный .cdx. Стандартный составной индекс (.cdx) может иметь имя отличное от связанной с ним таблицы и может постоянно находиться в другом, по отношению к связанной с ним таблицы , каталоге. Таблица может иметь множественные составные индексные файлы. Вы открываете составной индекс предложением INDEX USE или с SET INDEX.

Структурный .cdx должен иметь то же самое имя как и ассоциированная с ним таблица и постоянно находиться в том же самом каталоге. Таблица может иметь только один структурный индексный файл. Структурные .cdx файлы автоматически открываютя и модифицируются, когда связанная с ним таблица открыта командой USE.

CDX( ) игнорирует любой файл .idx (Microsoft FoxBASE+ и FoxPro 1.0 совместимый индекс), указанные в USE или SET INDEX.

Используйте TAG( ), чтобы возвратить индивидуальные имена тэгов, содержащихся в .cdx, и NDX( ), чтобы возвратить имя открытых .idx файлов.

Когда SET FULLPATH - ON, CDX( ) возвращает путь и имя .cdx. Когда SET FULLPATH - OFF, CDX( ) возвращает диск и имя .cdx.

Пример

Следующий пример открывает таблицу customer в базе данных testdata . FOR ... ENDFOR используется, чтобы создать цикл, в котором имя каждого структурного индекса будет отображено.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer     && Open customer table
CLEAR
FOR nCount = 1 TO TAGCOUNT( )
   IF !EMPTY(TAG(nCount))  && Checks for tags in the index
   ? CDX(nCount)     && Display structural index names
   ELSE
      EXIT  && Exit the loop when no more tags are found
   ENDIF
ENDFOR

См. Также

Другие Ресурсы

INDEX Команда
MDX( ) Функция
NDX( ) Функция
SET FULLPATH Команда
SETINDEX Команда
SYS(14) - Индексное Выражение
SYS(21) - Управление Номером Индекса
SYS(22) - Управление Тэгом или Именем Индекса
SYS(2021) - Индексное Выражение Фильтра
TAG( ) Функция
USE Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CEILING( ) Function

Visual FoxPro 9.0 Справочник Языка
CEILING () Функция
См. Также Пример

Возвращает следующее большее целое число, которое больше чем или равно указанному числовому выражению.

CEILING(nExpression)

Параметры

nExpression

Определяет число, относительно которого функция CEILING( ) возвращает следующее целое число.

Возвращаемое значение

Числовое

Замечания

CEILING округляет число с дробной частью к следующему самому высокому целому числу.

Пример

Скопировать код
STORE 10.1 TO num1
STORE -10.9 TO num2
? CEILING(num1)  && Displays 11
? CEILING(num2)  && Displays -10
? CEILING(10.0)  && Displays 10
? CEILING(-10.0) && Displays -10

См. Также

Другие Ресурсы

FLOOR( ) Функция
ROUND( ) Функция
Создание Числовых Выражений
Целочисленный Тип Поля
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CHR( ) Function

Visual FoxPro 9.0 справочник по языку
Функция CHR( )
Смотрите также Пример

Возвращяет символ асоциированый с определенным числовым ANSI кодом.

CHR(nANSICode)

Параметры

nANSICode

Задает число от 0 до 255, для которого функция CHR( ) возвращает эквивалентный ANSI-символ. Для получения ANSI-кода данного символа используйте функцию ASC( ).

Возвращаемое значение

Символ

Коментарии

Функция CHR( ) возвращает одиночный символ, соответствующий позиции символа в символьной таблице текущей кодовой страницы. CHR( ) можно использовать для передачи на принтер управляющих кодов принтера.

Example

В следующем примере выводятся на екран числа от 65 до 75 и используя CHR( ) связанные символы от A до K.
Копировать код
CLEAR
FOR nCOUNT = 65 TO 75
   ? nCount && Показывает числовое значение
   ?? ' ' + CHR(nCount) && Показывает символ
ENDFOR

Смотрите также

Другие ресурсы

Функция ASC( )
Функция INKEY( )
Команда SET ANSI
Функции
Справочник по языку

Перешлите коментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


CHRSAW( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция CHRSAW( )
Смотрите также Пример
CollapseAll image

Определяет наличие символа в буфере клавиатуры.

CHRSAW([nSeconds])

Параметры

nSeconds

Задает интервал времени в секундах, в течение которого функция CHRSAW( ) ожидает перед тем, как приступить к проверке буфера клавиатуры. Если аргумент nSeconds опущен, буфер проверяется немедленно.

Благодаря аргументу nSeconds функцию CHRSAW( ) можно использовать в самых разных операциях, требующих контроля по времени. Например, программа может закрывать приложение, если в течение определенного интервала времени не была нажата ни одна клавиша.

Expand image Возвращаемое значение

Логическое

Expand image Примечания

Функция CHRSAW( ) возвращает значение "истина" (.T.), если в буфере клавиатуры есть символ, и "ложь" (.F.) если нету. CHRSAW( ) не влияет на содержимое буфера клавиатуры.

Expand image Пример

В следующем примере система отображает на экране окно с полями ввода, созданными с помощью команд @ ... GET, и ждет ввода с клавиатуры в течение пяти секунд. Если никакая клавиша не будет нажата, функция CHRSAW( ) возвратит "ложь" (.F.) и программа прекратит работу.
CopyCode image Copy Code
SET TALK OFF
DEFINE WINDOW wEnter FROM 7,10 to 13,70 PANEL
ACTIVATE WINDOW wEnter
@ 1,3 SAY 'Customer: '   GET gcCustomer  DEFAULT SPACE(40)
@ 3,3 SAY 'Address:  '   GET gcAddress  DEFAULT SPACE(40)
WAIT WINDOW 'Waiting for input' NOWAIT
IF NOT CHRSAW(5)
   DEACTIVATE WINDOW wEnter
   CLEAR GETS
ELSE
   READ
   DEACTIVATE WINDOW wEnter
ENDIF
RELEASE WINDOW wEnter
WAIT
CLEAR

Expand image Смотрите также

Справочное руководство

Функция INKEY( )
Команда KEYBOARD
Функция READKEY( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


CHRTRAN( ) Function

Visual FoxPro 9.0 Справка по языку
Функция CHRTRAN( )
См.также Пример

Заменяет в символьном выражении, заданном первым параметром, каждый символ, который совпадает с символом в символьном выражении, заданном вторым параметром на соответствующий символ в символьном выражении, заданном третьим параметром.

CHRTRAN(cSearchedExpression, cSearchExpression, cReplacementExpression)

Параметры

cSearchedExpression

Указывает выражение, в котором функция CHRTRAN( ) заменяет символы.
cSearchExpression

Указывает выражение, содержащее символы, которые функция CHRTRAN( ) ищет в cSearchedExpression.
cReplacementExpression

Указывает выражение, содержащее замещающие символы. Если символ в cSearchExpression отыскивается в cSearchedExpression, символ в cSearchedExpression замещается символом из cReplacementExpression, находящимся на той же позиции в cReplacementExpression, на которой расположен символ в cSearchExpression. Если в cReplacementExpression окажется меньше символов, чем в cSearchExpression, оставшиеся символы в cSearchExpression будут удалены из cSearchedExpression. Если в cReplacementExpression окажется больше символов, чем в cSearchExpression, дополнительные символы в cReplacementExpression будут игнорированы.

Возвращаемое значение

Символьное

Примечания

CHRTRAN( ) преобразует символьное выражение cSearchedExpression используя для перекодировки выражения cSearchExpression и cReplacementExpression и возвращает результат в виде символьной строки.

Пример

Copy Code
? CHRTRAN('ABCDEF', 'ACE', 'XYZ') && Отображает XBYDZF
? CHRTRAN('ABCD', 'ABC', 'YZ') && Отображает YZD
? CHRTRAN('ABCDEF', 'ACE', 'XYZQRST') && Отображает XBYDZF

См.также

Функция CHRTRANC( )
SYS(15) - Перекодировка символов
Создание символьных выражений
Функция STRTRAN( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CHRTRANC( ) Function

Visual FoxPro 9.0 Описание Языка
CHRTRANC( ), Функция
См. также
CollapseAll image

Замещает каждый символ в символьном выражении, совпадающий с некоторым символом второго символьного выражения, на соответствующий символ третьего символьного выражения.

CHRTRANC(cSearched, cSearchFor, cReplacement)

Параметры

cSearched

Определяет символьное выражение, в котором выполняется замена функцией CHRTRANC( ).

cSearchFor

Определяет символьное выражение, символы из которого заменяются с помощью функции CHRTRANC( ) в символьной строке cSearched.

cReplacement

Определяет символьное выражение, которое заменяет поисковое выражение.

Если соответствующий символ из cSearchFor найден в строке cSearched, то он заменяется соответствующим символом из строки cReplacement, который расположен в той же позиции относительно начала строки

Если параметр cReplacement имеет меньше символов, чем параметр cSearchFor, то "лишние" символы параметра cSearchFor удаляются из символьного выражение cSearched. Если параметр cReplacement содержит больше символов, чем параметр cSearchFor, тогда "лишние" символы в параметре cReplacement - игнорируются.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Функция CHRTRANC( ) обычно используется для обработки символьных выражений, содержащих дву-байтовые символы. Используете функцию CHRTRANC( ) для замены соответствующих одно-байтовых символов на соответствующие дву-быйтовые представления, или наоборот: двубайтовых символов на одно-байтовые символы. Если символьное выражение содержит только одно-байтовые символы, то данная функция CHRTRANC( ) эквивалентна соответствующей функции CHRTRAN( ) .

Данная функция используется для обработки символьных выражений, содержащих дву-байтовые символы, например в таких языковых конструкциях: Hiragana / Katakana.

Expand image См. также

Описание

CHRTRAN( ), Функция
STRCONV( ), Функция
Создание символьных выражений

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


CLEARRESULTSET( ) Function

Visual FoxPro 9.0 Описание Языка
CLEARRESULTSET( ), функция
См. также
CollapseAll image

Освобождает маркер Курсора, созданного функцией SETRESULTSET( ), в текущей Сессии Данных.

CLEARRESULTSET( )

Expand image Возвращаемое значение

Числового типа. CLEARRESULTSET( ) возвращает номер рабочей области, в которой открыт был ранее Курсор для текущей сессии данных; или возвращает значение = 0, если для текущей сессии данных курсор не создавался.

Expand image Комментарии

CLEARRESULTSET( ) поддерживается в системе Visual FoxPro и в соответствующем Провайдере Visual FoxPro OLE DB. Вы можете использовать данную функцию CLEARRESULTSET( ) в хранимых Процедурах (из контейнера баз данных .DBC); или выполнять ее для Провайдера Visual FoxPro OLE DB, в целях освобождения открытого ранее Курсора данных в OLE DB.

Expand image См. также

Задачи

Как: Использовать Сессии Данных

Описание

SETRESULTSET( ), функция
GETRESULTSET( ), функция
Поддержка Команд и Функций системы Visual FoxPro в соответствующем Провайдере OLE DB

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CMONTH( ) Function

Visual FoxPro 9.0 Описание Языка
CMONTH( ), функция
См. также Пример
CollapseAll image

Возвращает название месяца для заданного выражения типа Date или DateTime.

CMONTH(dExpression | tExpression)

Параметры

dExpression

Определяет выражение типа Date, для которого функция CMONTH( ) возвращает название месяца.

tExpression

Определяет выражение типа DateTime, для которого функция CMONTH( ) возвращает название месяца.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

CMONTH( ) возвращает название месяца в формате: с заглавной первой буквой, который определяется открытым Файлом Ресурсов (resource file) или текущей установкой CodePage. См. дополнительную информацию в разделе Управление файлами в Интернациональных Приложениях.

Expand image Пример

CopyCode image Копировать Код
? CMONTH(DATE( ))
STORE {^1998-02-16} TO gdDueDate
? 'Последняя Ваша оплата бала в ', CMONTH(gdDueDate)
STORE gdDueDate+60 TO gdFinalDate
? 'Теперь Вам нужно уплатить в ', CMONTH(gdFinalDate)

Expand image См. также

Описание

DMY( ), функция
MDY( ), функция
MONTH( ), функция
DATETIME( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


CNTBAR( ) Function

Visual FoxPro 9.0 Справочник Языка
CNTBAR () Функция
См. Также Пример

Возвращает количество пунктов меню в определяемом пользователем меню или системном меню Visual FoxPro.

CNTBAR(cMenuName)

Параметры

cMenuName

Определяет имя меню для которого CNTBAR( ) возвращает количество пунктов меню. Для списка имен системного меню Visual FoxProа, см. тему Имена Системного меню .

Возвращаемое значение

Числовое

Замечания

Если определяемое пользователем меню создано с опцией PROMPT в DEFINE POPUP , Visual FoxPro вычисляет количество пунктов меню, когда Вы запускаете ACTIVATE POPUP . Для такого меню, CNTBAR( ) возвращает актутальное значение только после того, как Вы активизируете меню. Однако, если пункты меню в меню созданы посредством DEFINE BAR , CNTBAR( ) может определить количество пунктов меню прежде, чем Вы запустите ACTIVATE POPUP .

Пример

В следующем программном примере CNTBAR.prg, заголовок меню добавляется к системному меню. Меню popEnv создается с четырьмя пунктами меню. Программа помечает символом метки каждый пункт, в тот момент, когда пункт выбирается. CNTBAR( ) используется в пределах цикла, чтобы первоначально отобразить метки рядом с соответствующими пунктами меню.

Скопировать код
*** You must name this program CNTBAR.PRG ***
CLEAR
SET TALK OFF
DEFINE PAD padEnv OF _MSYSMENU PROMPT 'E\<nvironment';
   KEY ALT+R, 'ALT+R'
ON PAD padEnv OF _MSYSMENU ACTIVATE POPUP popEnv
DEFINE POPUP popEnv MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF popEnv PROMPT '\<Status Bar'
DEFINE BAR 2 OF popEnv PROMPT '\<Clock'
DEFINE BAR 3 OF popEnv PROMPT '\<Extended Video'
DEFINE BAR 4 OF popEnv PROMPT 'St\<icky'
ON SELECTION POPUP popEnv DO enviropop IN cntbar.prg
FOR i = 1 TO CNTBAR('popEnv')
   DO CASE
      CASE PRMBAR('popEnv', i) = 'Status Bar'
         IF _WINDOWS or _MAC
            SET MARK OF BAR i OF popEnv TO SET('STATUS BAR') = 'ON'
         ELSE
            SET MARK OF BAR i OF popEnv TO SET('STATUS') = 'ON'
         ENDIF
      CASE PRMBAR('popEnv', i) = 'Clock'
         SET MARK OF BAR i OF popEnv TO  SET('CLOCK') = 'ON'
      CASE PRMBAR('popEnv', i) = 'Extended Video'
         SET MARK OF BAR i OF popEnv TO  SROW( ) > 25
      CASE PRMBAR('popEnv', i) = 'Sticky'
         SET MARK OF BAR i OF popEnv TO  SET('STICKY') = 'ON'
   ENDCASE
ENDFOR
PROCEDURE enviropop
DO CASE
   CASE PROMPT() = 'Status'
      IF mrkbar('popEnv', BAR( ))
         DO CASE
            CASE _WINDOWS OR _MAC
               SET STATUS BAR OFF
            CASE _DOS
               SET STATUS OFF
            OTHERWISE
         ENDCASE
         SET MARK OF BAR BAR( ) OF popEnv TO .F.
      ELSE
         DO CASE
            CASE _WINDOWS OR _MAC
               SET STATUS BAR ON
            CASE _DOS
               SET STATUS ON
            OTHERWISE
         ENDCASE
         SET MARK OF BAR BAR( ) OF popEnv TO .T.
      ENDIF
CASE PROMPT( ) = 'Clock'
   IF mrkbar('popEnv', BAR( ))
      SET CLOCK OFF
      SET MARK OF BAR BAR( ) OF popEnv TO .F.
   ELSE
      DO CASE
         CASE _WINDOWS OR _MAC
            SET STATUS BAR ON
            SET CLOCK STATUS
         CASE _DOS
            SET CLOCK ON
         OTHERWISE
      ENDCASE
      SET MARK OF BAR BAR( ) OF popEnv TO .T.
   ENDIF
CASE PROMPT( ) = 'Extended Video'
   IF MRKBAR('popEnv', BAR( ))
      SET DISPLAY TO VGA25
      SET MARK OF BAR BAR( ) OF popEnv TO .F.
   ELSE
      SET DISPLAY TO VGA50
      SET MARK OF BAR BAR( ) OF popEnv TO .T.
   ENDIF
CASE PROMPT( ) = 'Sticky'
   IF MRKBAR('popEnv', BAR( ))
      DO CASE
         CASE _WINDOWS OR _MAC
            WAIT WINDOW 'STICKY is always on in this Visual FoxPro version'
         CASE _DOS
            SET STICKY OFF
         OTHERWISE
      ENDCASE
      SET MARK OF BAR BAR( ) OF popEnv TO .F.
   ELSE
      DO CASE
         CASE _WINDOWS OR _MAC
            WAIT WINDOW 'STICKY is always ON in Visual FoxPro'
         CASE _DOS
            SET STICKY ON
         OTHERWISE
      ENDCASE
       SET MARK OF BAR BAR( ) OF popEnv TO .T.
   ENDIF
ENDCASE

См. Также

Другие Ресурсы

ACTIVATE POPUP Команда
CNTPAD( ) Функция
CREATE MENU Команда
DEFINE BAR Команда
DEFINE POPUP Команда
GETBAR( ) Функция
MRKBAR( ) Функция
ON BAR Команда
ON SELECTION BAR Команда
PRMBAR( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CNTPAD( ) Function

Visual FoxPro 9.0 Описание Языка
CNTPAD( ), функция
См. также Пример
CollapseAll image

Возвращает количество заголовков меню в заданном пользовательском меню типа Bar или в системном меню Visual FoxPro.

CNTPAD(cMenuBarName)

Параметры

cMenuBarName

Определяет имя меню типа bar, для которого функция CNTPAD( ) возвращает количество заголовков меню.

Expand image Возвращаемое значение

Числового типа

Expand image Пример

В следующем примере, с помощью функции CNTPAD( ) отображается количество заголовков меню, входящих в системное меню Visual FoxPro.

CopyCode image Копировать Код
? CNTPAD('_MSYSMENU')

Expand image См. также

Описание

ACTIVATE MENU , Команда
CNTBAR( ), функция
CREATE MENU , Команда
DEFINE PAD , Команда
DEFINE MENU , Команда
GETPAD( ), функция
MRKPAD( ), функция
ON PAD , Команда
ON SELECTION PAD , Команда
PRMPAD( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


COMARRAY( ) Function

Visual FoxPro 9.0 Описание Языка
COMARRAY( ), функция
См. также
CollapseAll image

Определяет, как массивы переменных памяти VFP передаются внешним объектам COM.

COMARRAY(oObject [, nNewValue])

Параметры

oObject

Определяет объектную ссылку на соответствующий объект COM.

nNewValue

Определяет, как массивы переменных памяти передаются в объект COM, заданный в параметре oObject.

В следующей далее таблице приводятся возможные допустимые значения данного параметра nNewValue, определяющего вариант передачи массивов параметров в объекты COM.

nNewValue Краткое описание

0

Передаваемые массивы типа "zero-based", передаеются по-значению (by value).

1

Передаваемые массивы типа "one-based", передаются по-значению. Для совместимости с младшими версиями Visual FoxPro. (По-умолчанию)

10

Передаваемые массивы типа "zero-based", передаются по-ссылке (by reference).

11

Передаваемые массивы типа "one-based", передаются по-ссылке (by reference).

100

Передаваемые массивы имеют фиксированный размер, и не могут быть переопределены (изменены размеры).

1000

Двоичные массивы не могут быть конвертированы в символьные строки.

Данная функция COMARRAY( ) возвращает текущее значение варианта передачи параметров, при отсутствии аргумента nNewValue.

Expand image Возвращаемое значение

Числового типа. COMARRAY( ) возвращает текущий вариант передачи массивов в объекты COM.

Expand image Комментарии

Используйте функцию COMARRAY( ) только в тех случаях, когда передаете массивы данных во внешние объекты COM, при использовании следующего синтаксиса:

oComObject.Method(@MyArray)

Note Примечание

Если вы не указываете оператор передачи параметров "по-ссылке" (@), тогда только первый элемент массива передается в соответствующий объект COM, и, тем самым, функция and COMARRAY( ) - не работает. Данное правило используется для совместимости с младшими версиями Visual FoxPro.

Когда вы работаете с двоичными массивами данных (VT_UI1), для взаимодействия с требуемыми объектами, серверами COM, система Visual FoxPro конвертирует двоичные массивы в символьные строки. В этом случае, используйте параметр nValue = 1000, который обеспечивает запрет конвертации исходных двоичных массивов данных в символьные строки.

Если некоторый внешний Клиент (внешняя программа) передает двоичные массивы по-ссылке в Visual FoxPro COM Server, то данный сервер Visual FoxPro COM должен также иметь соответствующую установку рассматриваемого параметра nValue =1000. Вы можете выполнить следующую далее команду в соответствующем событии Init создаваемого сервера автоматизации Visual FoxPro COM Server:

CopyCode image Копировать Код
COMARRAY(THIS,1000)

Другой вариант аддитивного параметра nValue = 100 обеспечивает сохранность размерности передаваемого массива данных. Вам необходимо контролировать возможные ошибки при попытках изменения размерности передаваемых массивов данных. В следующем далее примере демонстрируется, как предотвратить изменение размерности передаваемого массива данных. Для запуска этого примера требуется предварительное определение и создание модуля DLL, с именем "t1.dll".

CopyCode image Копировать Код
LOCAL loSvr, laTest
loSvr = NEWOBJECT("t1.arrayhandler")
DIMENSION laTest[10]
laTest=3
? COMARRAY(loSvr,11 + 100)
* The COM server will return an error on the next line of code
* because arrays passed to loSvr will not allow re-dimensioning.
loSvr.RedimensionArray(@laTest,4)
? ALEN(laTest)

DEFINE CLASS ARRAYHANDLER AS CUSTOM OLEPUBLIC
 PROCEDURE RedimensionArray(aArray, nRows)
 DIME aArray[nRows]
 ENDPROC
ENDDEFINE

Expand image См. также

Описание

Передача массивов переменных в серверы Automation
COMCLASSINFO( ) , функция
CREATEOBJECT( ) , функция
GETOBJECT( ) , функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


COMCLASSINFO( ) Function

Visual FoxPro 9.0 Описание Языка
COMCLASSINFO( ), функция
См. также
CollapseAll image

Возвращает зарегистрированную информацию (в Реестре Windows) о некотором объекте COM, к примеру, об объектах Visual FoxPro Automation Server.

COMCLASSINFO(oObject [, nInfoType])

Параметры

oObject

Определяет Объектную ссылку на уже созданный объект COM или OLE.

nInfoType

Определяет тип возвращаемой информации. В следующей таблице описаны возможные значения параметра nInfoType и краткое описание возвращаемой в этом случае информации.

nInfoType Возвращаемая информация

1 (по-умолчанию)

Программный идентификатор Объекта (ProgID). Значение ProgID размещается в Реестре по соответствующей ссылке на класс CLSID.

2

Характеристика объекта VersionIndependentProgID. Значение VersionIndependentProgID соответствует основным указателям на объект ProgID и CLSID. Она указывает на последнюю версию Приложения, содержащего данный объект, ссылочный идентификатор на класс приложения, который не изменяется от версии к версии.

3

Базовое наименование Объекта.

4

Идентификатор Класса Объекта (CLSID). Значение CLSID является глобальным уникальным идентификатором класса соответствующего объекта COM.

5

Определение типа Объекта: Значение Тип Объекта 1 = Объект Visual FoxPro, 2 = Контрол ActiveX, 3 = Компонента COM, 4 = Объект OLEBound (поле General )

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Комментарии

Функция COMCLASSINFO( ) возвращает пустую строку, если нет зарегистрированной информации об указанном объекте. Система Visual FoxPro, как Automation Server, Объект COM, позволяет создавать соответствующие объекты типа (.exe) и типа (.dll), для этого используется системные средства Project Manager.

Если вы создаете экземпляр некоторого Контрола ActiveX, например при помощи функции CREATEOBJECT( ), как показано в программном коде ниже, то при указании параметра nInfoType = 5, функция возвращает значение = 3 (Компонента COM), а вам требуется = 2.

CopyCode image Копировать Код
X=CREATEOBJECT("MSComctlLib.treectrl.2")

Если возвращается значение = 2 (Контрол ActiveX), то вы можете использовать требуемый Объект, как показано в следующем примере:

CopyCode image Копировать Код
ox.addobject("oc","olecontrol","MSComctlLib.treectrl.2")

Expand image См. также

Описание

COMARRAY( ), функция
CREATE PROJECT, команда
CREATEOBJECT( ), функция
GETOBJECT( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


COMPOBJ( ) Function

Visual FoxPro 9.0 Справочник Языка
COMPOBJ () Функция
См. Также Пример

Сравнивает свойства двух объектов и возвращает Истину (.T). если их свойства и значения свойств идентичны.

COMPOBJ(oExpression1, oExpression2)

Параметры

oExpression1 , oExpression2

Определяют объекты для сравнения. oExpression1 и oExpression2 могут быть любыми выражениями, которые относятся к объектам, типа объектных ссылок, объектных переменных, или объектных элементов массива.

Возвращаемое значение

Logical

Замечания

COMPOBJ( ) возвращает Ложь (.F.), если объект имеет свойство, которое другой объект не имеет, или если, объекты имеют идентичные свойства, но значения одного или более свойств отличаются.

Пример

В следующем примере создаются два ListBox'а названные как lstMyList1 и lstMyList2 и ComboBox названный как cmbMyCombo . Выводится Свойство Имени каждого ListBox'а.

COMPOBJ( ) используется, чтобы сравнить свойства первого ListBox'а со свойствами ComboBox'а. Поскольку многие из свойств не совпадают, выводится ложь .F.. Затем COMPOBJ( ) используется для сравнивания свойства первого ListBox'а со свойствами второго ListBox'а. Поскольку свойство Имени являются другим, выводится .F.. Свойство Второго ListBox'а lstMyList2 заменено свойством первого ListBox'а lstMyList1 с использованием COMPOBJ( ) для сравнения свойств. Поскольку их свойства идентичны, выводится .T..

Скопировать код
lstMyList1 = CREATEOBJ('ListBox')  && Creates a ListBox
lstMyList2 = CREATEOBJ('ListBox')  && Creates a second ListBox
cmbMyCombo = CREATEOBJ('ComboBox')  && Creates a ComboBox
lstMyList1.Name = 'list1'
lstMyList2.Name = 'list2'
CLEAR
? lstMyList1.Name  && Displays List1 Name property
? lstMyList2.Name  && Displays List2 Name property
? COMPOBJ(lstMyList1, cmbMyCombo)     && Displays .F.
? COMPOBJ(lstMyList1, lstMyList2)     && Displays .F., different Names
lstMyList2.Name = lstMyList1.Name
? COMPOBJ(lstMyList1, lstMyList2)     && Displays .T., same properties

См. Также

Другие Ресурсы

CREATEOBJECT( ) Функция
DEFINE CLASS Команда
GETOBJECT( ) Функция
SET CLASSLIB Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COMPROP( ) Function

Visual FoxPro 9.0 Справочник Языка
COMPROP () Функция
См. Также

Устанавливает или возвращает параметры поведения для свойства COM объекта.

COMPROP(oCOMObject, cProperty [, eValue])

Параметры

oComObject

устанавливает ссылку на COM объект. cProperty регистронезависимо. Вы должны использовать полное имя COM объекта. Если Вы не определяете eValue , COMPROP( ) возвращает значение cProperty.
cProperty

Определяет имя COM свойства для задания значения. Следующая таблица перечисляет возможные значения cProperty .

cProperty Описание

UTF8

Определяет, преобразованы ли UNICODE строки, возвращаемые COM объектом, в ANSI. Преобразование выполняется по умолчанию.

PUTREF

Определяет, является ли начальным присвоением объектного свойства PROPERTY_PUT (значение по умолчанию) или PUTREF.

eValue

Определяет значение, отражающее поведение предназначенное cProperty . Следующая таблица перечисляет значения для eValue .

eValue Описание

0

Применяется заданное по умолчанию поведение.

1

Применяется поведение не по умолчанию как описано в таблице для cProperty .

Например, устанавливая eValue в 1 для UTF8, предотвращается вывод многобайтовых символов в виде вопросительных знаков. Установка eValue в 1 для PUTREF заставляет Visual FoxPro делать попытку объектного присвоения вначале как PUTREF и, только если это не удается, как PROPERTY_PUT. Объектные присвоения свойствам некоторых ActiveX контролов или COM объектов требуют PUTREF, а значения по умолчанию Visual FoxPro - PROPERTY_PUT.

Возвращаемое значение

COMPROP () возвращает значение cProperty .

Примеры

Следующий пример возвращает данные из методов ADO recordset в виде UNICODE, вместо преобразования в ANSI:

Скопировать код
LOCAL oConn AS adodb.Connection, oRS AS adodb.Recordset
LOCAL lcStr AS STRING
oConn=CREATEOBJECT("ADODB.Connection")
oConn.Open("DSN=Nwind;")  && DSN to SQL Server
oRS=oConn.Execute("select * from customers")
COMPROP(oRS,'UTF8',1)
DO WHILE NOT oRS.Eof
   lcStr = oRS.Fields(4).Value
   oRS.MoveNext
ENDDO
oRS.Close()
oRS.ActiveConnection=NULL
oRS=NULL
oConn.Close()
oConn=NULL

В следующем примере, ActiveX элемент управления настроен для использования PUTREF, а не PROPERTY_PUT:

Скопировать код
=COMPROP(oForm.OLECONTROL1, 'PUTREF',1)

См. Также

Другие Ресурсы

Функции
DBGETPROP( ) Функция
COMARRAY( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COMRETURNERROR( ) Function

Visual FoxPro 9.0 Описание Языка
COMRETURNERROR( ), функция
См. также
CollapseAll image

Загружает структуру исключения COM информацией из объекта Automation, с помощью которой пользователь может узнать об исключительной ситуации (ошибке), произошедшей в объекте Automation.

COMRETURNERROR(cExceptionSource, cExceptionText)

Параметры

cExceptionSource

Определяет текст для имени источника исключения.

cExceptionText

Определяет текст для описания исключения.

Expand image Комментарии

Функция COMRETURNERROR( ) доступна в создаваемых серверах Visual FoxPro Automation, для заполнения информацией об исключительной ситуации соответствующей структуры COM, для уточнения исключительной ситуации на стороне Клиента Automation.

При выполнении функции COMRETURNERROR( ) создается указанная информационная структура COM, выполнение текущего метода останавливается, и управление возвращается Клиенту. Сервер Automation остается в памяти и клиент может вызвать другие методы сервера Automation.

На стороне клиента Visual FoxPro может использоваться функция AERROR( ), для просмотра получаемой структуры исключительной ситуации в сервере COM.

Note Обратите Внимание

(Для Продвинутых пользователей) COMReturnErrorInfo заполняет информацией структуру исключительной ситуации (ошибки). Данная структура используется в механизме IDispatch (вызовы позднего связывания). Если вы ваполняете вызов Сервера по методу раннего связывания и клиент получает структуру информации об исключительной ситуации COM, то в этом случае отсутствует механизм обработки ошибочной ситуации, получения информации об ошибке, если не выполняется вызов метода QueryInterface для интерфейса ISupportsErrorInfo.

Expand image См. также

Задачи

Как: Создавать Сервер Automation

Описание

AERROR( ), функция
ON ERROR, команда
COMCLASSINFO( ), функция
GETINTERFACE( ), функция
Сообщения об Ошибках, алфавитный список
Сообщения об Ошибках, список по номерам

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


COS( ) Function

Visual FoxPro 9.0 Описание Языка
COS( ), функция
См. также Пример
CollapseAll image

Возвращает значение Косинуса для числового выражения.

COS(nExpression)

Параметры

nExpression

Определяет числовое выражение, для которого вычисляется косинус COS( ). nExpression может быть любой величиной.

Expand image Возвращаемое значение

Числового Типа

Expand image Комментарии

COS( ) возвращает значение косинуса для параметра nExpression в Радианах. Для преобразования величин углов в градусах - в радианы, используется функция DTOR( ), для обратного преобразования используется функция RTOD( ). Количество десятичных знаков в результирующем значении определяется текущей установкой команды SET DECIMALS. Функция COS( ) возвращает значение в диапазоне от –1 до 1.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? COS(0)  && Отображается 1.00
? COS(PI( ))  && Отображается -1.00
? COS(DTOR(180))  && Отображается -1.00
STORE PI( ) * 3 TO gnAngle
? COS(gnAngle)  && Отображается -1.00

Expand image См. также

Описание

ACOS( ), функция
DTOR( ), функция
RTOD( ), функция
SET DECIMALS, команда
SIN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


CPCONVERT( ) Function

Visual FoxPro 9.0 Справочник Языка
CPCONVERT () Функция
См. Также

Конвертирует символьные или memo поля или символьные выражения к другую кодовую страницу.

CPCONVERT(nCurrentCodePage, nNewCodePage, cExpression)

Параметры

nCurrentCodePage

Определяет кодовую страницу из которой cExpression конвертируется.
nNewCodePage

Определяет кодовую страницу в которую конвертируется cExpression .
cExpression

Определяет символьное выражение, которое конвертируется.

Замечания

Обратите внимание, что CPCONVERT( ) не требуется для нормального межплатформенного функционирования программы. Это используется строго, чтобы обратиться к основным средствам трансляции Visual FoxPro.

Например, если переменная gcCharExpr содержит символ, который выгглядит как в Macintosh (в кодовой странице 10000) тогда CPCONVERT( ), возвратит символ, который выглядит как в Microsoft Windows (кодовая страница 1252):

Скопировать код
CPCONVERT(10000, 1252, gcCharExpr)

Для дополнительной информации относительно кодовых страниц и многонациональной поддержки Visual FoxPro, см. Кодовые страницы поддерживаемые Visual FoxPro и Разработка многонациональных Приложений .

См. Также

Другие Ресурсы

CPCURRENT( ) Функция
CPDBF( ) Функция
MODIFY COMMAND Команда
MODIFY FILE Команда
SET NOCPTRANS Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CPCURRENT( ) Function

Visual FoxPro 9.0 Справочник Языка
CPCURRENT () Функция
См. Также

Возвращает установку кодовой страницы (если имеется) в вашем файле конфигурации Visual FoxPro, или возвращает текущую кодовую страницу операционной системы.

CPCURRENT([1 | 2])

Замечания

CPCURRENT( ) возвращает одно из следующих:

  • В Visual FoxPro, текущую кодовую страницу операционной системы, если директива конфигураци CODEPAGE не включена в ваш файл конфигурации. В предыдущих версиях FoxPro, возвращается 0, если CODEPAGE не включена в ваш файл конфигурации.

  • Номер кодовой страницы, указанный в директиве конфигурации CODEPAGE. Например, CPCURRENT( ) возвращается 852, если следующая строка включена в вашу файл конфигурации:

    Скопировать код
    CODEPAGE = 852
  • Текущая кодовая страница операционной системы, если Вы включили следующую строку в ваш файл конфигурации:

    Скопировать код
    CODEPAGE = AUTO

В Visual FoxPro, CPCURRENT(1) возвращает текущую кодовую страницу операционной системы, независимо от ваших установок конфигурации CODEPAGE.

CPCURRENT(2) всегда возвращает основную кодовую страницу операционной системы, независимо от вашей конфигурации установок CODEPAGE. Например, если Вы работает под Windows, CPCURRENT(2) возвращает кодовую страницу MS-DOS.

Для дополнительной информации относительно кодовых страниц и многонациональной поддержки Visual FoxPro, см. Кодовые страницы, поддерживаемые Visual FoxPro и Разработка многонациональных Приложений .

См. Также

Другие Ресурсы

CPCONVERT( ) Функция
CPDBF( ) Функция
MODIFY COMMAND Команда
MODIFY FILE Команда
SET NOCPTRANS Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CPDBF( ) Function

Visual FoxPro 9.0 Справка по языку
Функция CPDBF( )
См.также

Возвращает номер кодовой страницы, которым помечена открытая таблица.

CPDBF([nWorkArea | cTableAlias])

Параметры

nWorkArea

Указывает номер рабочей области.
cTableAlias

Указывает алиас таблицы. Включайте nWorkArea или cTableAlias для того, чтобы ссылаться на таблицу, открытую в рабочей области, отличной от текущей. CPDBF( ) возвращает 0, если в указанной рабочей области нет открытой таблицы. Если указанный алиас не существует, Visual FoxPro генерирует сообщение об ошибке.

Примечания

Команда DISPLAY STRUCTURE также показывает номер кодовой страницы, которым помечена открытая таблица.

Для получения дальнейших сведений о кодовых страницах и многоязыковой поддержке Visual FoxPro, см. Кодовые страницы, поддерживаемые Visual FoxPro и Разработка многоязыковых приложений.

См.также

Функция CPCONVERT( )
Функция CPCURRENT( )
Команда MODIFY
Команда MODIFY FILE
Команда SET NOCPTRANS
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CREATEBINARY( ) Function

Visual FoxPro 9.0 Описание Языка
CREATEBINARY( ), функция
См. также
CollapseAll image

Конвертирует данные символьного типа, созданные в системе Visual FoxPro, в строку двоичных данных, которую можно передавать в Контрол ActiveX или объект Automation.

CREATEBINARY(cExpression)

Параметры

cExpression

Определяет исходное символьное выражение, которое преобразуется в строку двоичных данных.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Символьная строка в системе Visual FoxPro может содержать двоичные данные. Однако, контролы ActiveX или объекты Automation, их символьные строки (тип данных OLE VT_BSTR) не могут содержать двоичных данных. Контролы ActiveX или объекты Automation возвращают внешним приложениям, таким как Visual FoxPro, массивы данных типа VT_UI1 .

Система Visual FoxPro автоматически конвертирует получаемые данные из уепзанных внешних объекто, преобразует их из формата VT_UI1 в символьные строки Visual FoxPro. Система Visual FoxPro выделяет необходимые символьные строки, из полученных массивов данных внешних объектов: контролов ActiveX или объектов Automation. Когда обработанная символьная строка возвращается обратно во внешний объект, Visual FoxPro автоматически конвертирует свои данные в формат массивов VT_UI1, для дальнейшей их обработки в контролах ActiveX или объектах Automation, (в том формате, какой они ожидают, чтобы не было конфликтов данных).

Рассматриваемая функция CREATEBINARY( ) используется для конвертации символьных данных, созданных в системе Visual FoxPro, в символьную строку двоичного типа, которая направляется во внешние объекты. Минимальное количество символов в абревиатуре имени данной функции CREATEBINARY( ) равно = 7 (т.е. CREATEB). Замечание: обычно, в VFP, используется 4 символа

См. дополнительную информацию о внешних объектах ActiveX и Automation в разделе Общая информация и Добавление объектов OLE.

Expand image См. также

Описание

OLE Bound, контрол (элемент управления)
OLE Container, контрол (элемент управления)
Общее описание контролов ActiveX

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CREATEOBJECT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
CREATEOBJECT( ) функция
Смотрите также Пример

Создает объект на основе определения класса или на основе средств автоматизации доступных OLE-приложений.

CREATEOBJECT(cClassName [, eParameter1, eParameter2, ...])

Параметры

ClassName

Задает класс или объект OLE, на основе которого будет создаваться новый объект. Visual FoxPro будет искать класс или объект OLE в следующем порядке:
  1. Среди базовых классов Visual FoxPro.

  2. Среди классов в текущей программе.

  3. Среди классов библиотек .VCX, открытых командой SET CLASSLIB.

  4. Среди классов в файлах процедур, открытых командой SET PROCEDURE.

  5. Среди классов в цепочке выполнения программ Visual FoxPro.

  6. В системном реестре (для объектов OLE), если SET OLEOBJECT установлена в ON (указывает, что Visual FoxPro просматривает реестр Windows Registry, когда объект найти не удается)

Объект OLE создается с использованием следующего синтаксиса имени ClassName:
Скопировать код
ApplicationName.Class
Например, для создания электронной таблицы Microsoft Excel (с помощью средства автоматизации OLE), можно воспользоваться следующим синтаксисом:
Скопировать код
x = CREATEOBJECT('Excel.Sheet')
После выполнения этого кода запустится Microsoft Excel (если он еще не работает) и будет создана новая электронная таблица. Библиотека классов может иметь псевдоним. Для задания объекта в библиотеке классов через псевдоним, нужно указать этот псевдоним и за ним через точку - имя объекта. Обратите внимание, что имя ClassName не может быть именем базового класса управления OLE-контейнера Visual FoxPro.
eParameter1, eParameter2, ...

Эти необязательные параметры используются для передачи значений в процедуру обработки события Init данного класса. Событие Init выполняется при выдаче функции CREATEOBJECT( ) и позволяет инциализировать объект.

Возвращаемое значение

Object

Замечания

Используйте функцию CREATEOBJECT( ) для создания объекта на основе определения класса или на основе приложения, поддерживающего автоматизацию OLE, и присваивайте ссылку на объект переменной памяти или элементу массива.

Перед созданием объекта на основе класса, определенного пользователем, этот класс должен быть предварительно создан командой DEFINE CLASS или доступен в библиотеке визуальных классов .VCX, открытой командой SET CLASSLIB.

Чтобы присвоить ссылку на объект переменной памяти или элементу массива, используйте оператор = или STORE. Если назначенный переменной памяти или элементу массива объект освобождается, эта переменная памяти или элемент массива содержит значение .NULL. Для удаления переменной памяти или элемента массива из памяти используйте команду RELEASE.

Пример

В следующем примере на основе базового класса Form системы Visual FoxPro с помощью команд DEFINE CLASS и CREATEOBJECT() создаются два пользовательских класса: FormChild and FormGrandChild. Функция ACLASS() используется для создания массива gaNewarray, содержащего имена классов, которые затем выводятся на экран.
Скопировать код
CLEAR

* Verify current class library setting
cCurClassLib=SET("CLASSLIB")
IF LEN(ALLTRIM(cCurClassLib))=0
   cCurClassLib="None"
ENDIF

WAIT WINDOW "Current class library is: " + cCurClassLib + CHR(13);
   + "Press any key to continue..."

frmMyForm = CREATEOBJECT("FormGrandChild")

* Create an array
FOR nCount = 1 TO ACLASS(gaNewarray, frmMyForm)
   ? gaNewarray(nCount)  && Display the names of the classes
ENDFOR

RELEASE frmMyForm

* Create FormChild from FORM baseclass
DEFINE CLASS FormChild AS FORM
ENDDEFINE

* Create FormGrandChild from user-defined FormChild class
DEFINE CLASS FormGrandChild AS FormChild
ENDDEFINE

Смотрите также

Прочие ресурсы

_BROWSER System Variable
COMCLASSINFO( ) функция
CREATEOBJECTEX( ) функция
DEFINE CLASS команда
GETOBJECT( ) функция
NEWOBJECT( ) функция
RELEASE команда
SET CLASSLIB команда
SET OLEOBJECT команда
Функции
Справочное руководство по языку

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


CREATEOBJECTEX( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция CREATEOBJECTEX()
Смотрите также Example
CollapseAll image

Создает экземпляр зарегистрированного объекта COM (такого, как Visual FoxPro Automation server) на удаленном компьютере.

CREATEOBJECTEX(cCLSID | cPROGID, cComputerName [, cIID])

Параметры

cCLSID| cPROGID

Указывает CLSID (Идентификатор класса) или PROGID (Программный идентификатор) для создания экземпляра COM объекта. Если вы включите в вызов функции CLSID, объект COM должен быть зарегистрирован на удаленном сервере, который вы укажите в параметр cComputerName. Если вы включите в вызов функции PROGID, объект COM должен быть зарегистрирован на обоих компьютерах, как на локальном, так и на удаленном, который вы укажите в параметре cComputerName. Попытка использовать PROGID без первичной регистрации сервера на вашем локальном компьютере приведен к генерации ошибки OLE с текстом Code 0x800401f3, "Invalid Class String."

Для серверов автоматизации Visual FoxPro, созданных на вашей локальной машине, вы можете использовать свойства объекта сервера CLSID и PROGID, для определения локальных значений CLSID и PROGID.

cComputerName

Указывает удаленный компьютер, на котором создается объект COM.

Если cComputerName представляет собой пустую строку, то COM объект создается на локальном компьютере или на перенаправленной машине, если это определено в реестре.

cComputerName поддерживает имена Universal Naming Convention (UNC) такие, как "\\myserver" и "myserver," и имена Domain System Names (DNS).

cIID

Указывает Interface ID GUID для cCLSID | cPROGID, когда вы создаете ранее связывание экземпляра класса. Если вы посылаете пустую строку в качестве cIID Visual FoxPro попытается обратиться к интерфейсу по умолчанию (IID) для cCLSID | cPROGID.

Expand image Возвращаемое значение

Объект

Expand image Пример

CopyCode image Скопировать код
      x = CREATEOBJECTEX("excel.application","",;
      "{000208D5-0000-0000-C000-000000000046}")
Note Замечание

Приведенное ниже представляет собой допустимый вызов функции для объект автоматизации "excel application". Вызов возвратит дефолтный интерфейс excel.application.

CopyCode image Скопировать код
      x = CREATEOBJECTEX("excel.application","","")

Expand image Примечания

CREATEOBJECTEX() возвращает объектную ссылку на объект COM, если он был успешно создан. CREATEOBJECTEX() не может быть использована для создания объектов классов Visual FoxPro таких, как формы – для их создания используйте функцию CREATEOBJECT(). Отметьте, что вы можете сократить имя в вызове CREATEOBJECTEX( ) минимум до 13 символов, чтобы различить между собой эту функцию и функцию CREATEOBJECT().

Когда вы вызываете определенные классы COM с помощью CREATEOBJECT() они возращают "No such interface supported", так они не поддерживают интерфейс IDispatch. С помощью использования параметра cIID вы можете теперь обращаться в таким классам в ваших приложениях.

Если вы пошлете в качестве cIID пустую строку (""), то Visual FoxPro попытается получить интерфейс по умолчанию (IID) для указанного CLSID или PROGID.

Поскольку он поддерживает ранее связывание через cIID, CREATEOBJECTEX() может помочь улучшить производительность путем исключения таких непроизводительных вызовов IDispatch.

CREATEOBJECTEX() поддерживает создание новых объектов раннего связывания. Однако, это также возможно, что ваш компонент Visual FoxPro посылаетися объекту, который вы вызываете через ранее ранее связывание. Вы можете использовать поддержку GETINTERFACE() на существующих объектах COM .

Для получения более подробной информации об использовании Visual FoxPro для создания серверов автоматизации (Automation servers) смотрите описание Совместное использование информации и введение OLE.

Expand image Смотрите также

Справочное руководство

Свойство CLSID
Функция CREATEOBJECT()
Свойство ProgID(Visual FoxPro)
Объект Server
Функция GETINTERFACE()

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CREATEOFFLINE( ) Function

Visual FoxPro 9.0 Описание Языка
CREATEOFFLINE( ), функция
См. также
CollapseAll image

Переводит существующее Представление в режим OffLine.

CREATEOFFLINE(ViewName [, cPath])

Параметры

ViewName

Определяет имя существующего Представления (view). База данных, содержащая данное Представление должна быть открыта, перед использованием данной функции

cPath

Определяет каталог, в котором будет размещено Представление, которое переводится в режим offline.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

CREATEOFFLINE( ) возвращает логическое значение = true (.T.), если успешно выполнен перевод представления в режим offline; в другом случае возвращается значение = false (.F.).

Представление offline открывается командой USE. Когда представление открыто, вы можете добавлять данные, записи или изменять значения полей. Однако, нельзя использовать команды CREATE TRIGGER, INSERT, PACK или ZAP для Представления в режиме offline. После завершения необходимых изменений данных вы можете обновить данные в источнике (на Сервере), для этого нужно открыть рассматриваемое Представление OffLine при помощи команды USE, указывая дополнительную опцию ONLINE.

Вы не сможете обновить данные на Сервере до тех пор, пока Представление не будет открыто командой USE, с опцией ONLINE.

Для перевода представление из режима OffLine - в режим OnLine используется функция DROPOFFLINE( ).

Expand image См. также

Описание

DROPOFFLINE( ), функция
USE, команда
CREATE TRIGGER, команда
INSERT, команда
PACK, команда
ZAP, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


CTOBIN( ) Function

Visual FoxPro 9.0 Описание Языка
CTOBIN( ), функция
См. также
CollapseAll image

Преобразует представленное двоичное символьное выражение в числовое значение.

CTOBIN(cExpression [, cFlags])

Параметры

cExpression

Определяет некоторое двоичное символьное выражение, которое будет преобразовано в число.

cFlags

Если символьное выражение, представленное в двоичном виде, cExpression, должно быть преобразовано в 8-байтовый тип данных (currency или double, к примеру), укажите данный параметр cFlags, который определяет тип возвращаемого значения функцией CTOBIN( ).

cFlags Краткое Описание

1

cExpression выражение является 1-байтовым, длиной в один байт.

2

cExpression выражение является 2-х-байтовым, длиной в два байта.

4

cExpression выражение является 4-х-байтовым, длиной в четыре байта.

8

cExpression выражение является 8-ми-байтовым, длиной в восемь байт.

B

cExpression является выражением типа "double", и должно быть длиной в 8-мь байт.

CTOBIN( ) возвращает значение типа double. Данное значение является значением по-умолчанию. (при отсутствии данного параметра).

N

cExpression является выражением числового типа (numeric), и должно быть 4-х или 8-ми байтовым.

CTOBIN( ) возвращает числовое выражение.

Y

cExpression является выражением типа currency, и должно быть длиной в 8-мь байт.

CTOBIN( ) возвращает числовое значение типа (currency).

R

"Переворачивает" двоичное выражение, меняет местами Старшие и младшие байты. Используется для длинных чисел (4-х,8-х)

S

Защищает бит знака числа от переключения (BITXOR).

Expand image Возвращаемое значение

Числового типа. CTOBIN( ) возвращает числовое значение от исходного символьного выражения, заданного в двоичном формате.

Expand image Комментарии

Параметр cFlags является составным символьным выражением. Установки 'R' и 'S' являются дополнительными параметрами, остальные - взаимоисключающие. Данные параметры могут быть указаны как в нижнем, так и в верхнем регистре (то есть, 'R' или 'r'). Задание значений параметров '1', '2' или '4' не является обязательным, однако они необходимы при обратных преобразованиях, которые чувствительны к общей длине выражения cExpression.

В следующих примерах используются различные варианты описанных выше вариантов параметров cFlags.

CopyCode image Копировать Код
? CTOBIN("A")&& тоже самое, что и CTOBIN("A","1")
? CTOBIN(BINTOC($12.34,"8"),"Y")
? CTOBIN(BINTOC(12.34,"8"),"B")
? CTOBIN(BINTOC(PI(),"BR"),"NRS")

Вы можете использовать рассматриваемую функцию CTOBIN( ) для преобразования символьных выражений, представленных в двоичном виде, которые ранее были созданы при помощи обратной системной функции BINTOC( ), выполняющей преобразование некоторых целых значений, типа Integer. Функция CTOBIN( ) может также эффективно быть использована при работе с внешними функциями Win32 API, для построения преобразований Структур данных Win32. В этом случае, при работе с внешними функциями Win32 API и структурами Win32, дополнительные параметры 'R' и 'S' позволяют эффективно использовать рассматриваемую функцию CTOBIN ( ) для преобразования получаемых из внешних функций данных, и передачи этим функциям данных в соответствующих форматах, или по соответствующим ссылкам на структуры.

Expand image См. также

Задачи

Создание коротких индексных выражений с использованием BINTOC( ), пример

Описание

BINTOC( ), функция
CREATEBINARY( ), функция
Visual FoxPro, Типы Данных и Полей

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CTOD( ) Function

Visual FoxPro 9.0 Описание Языка
CTOD( ), функция
См. также Пример
CollapseAll image

Конвертирует Символьное выражение в выражение типа Data.

CTOD(cExpression)

Параметры

cExpression

Определяет некоторое символьное выражение.

Expand image Возвращаемое значение

Типа Дата. CTOD( ) возвращает значение типа Дата.

Expand image Комментарии

Note Обратите Внимание

CTOD() может создавать неоднозначные значения типа Дата и может порождать исключительную ситуацию (Ошибку), когда установлено значение в команде SET STRICTDATE = 2. Для создания однозначных величин типа Дата используется функция DATE( ).

Expand image Пример

В следующем примере, функция CTOD( ) используется для конвертации символьного выражения в выражение типа Дата, над которой производятся некоторые операции.

CopyCode image Копировать Код
SET CENTURY ON               && Установит отображение Века в данных типа Дата.
cDate="01/01/2003"
?CTOD(cDate)               && возвращается 01/01/2003, как дата.
?GOMONTH(CTOD(cDate),12)   && возвращается 01/01/2004.
?CTOD(cDate)+100            && возвращается 04/11/2003.

Expand image См. также

Описание

DATE( ), функция
SET STRICTDATE, команда
TTOD( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


CTOT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
CTOT( ) Функция
Смотрите также
CollapseAll image

Возвращает значение типа DateTime по заданному символьному выражению.

CTOT(cCharacterExpression)

Параметры

cCharacterExpression

Задает символьное выражение, которое будет преобразовано в значение типа DateTime.

Expand image Возвращаемое значение

Данные типа DateTime. Функция CTOT( ) возвратит значение типа DateTime, получив его из символьного выражения.

Expand image Замечания

Note Примечание

Функция CTOT () может создать неоднозначные значения DateTime и будет сгенерирована ошибка компиляции при SET STRICTDATE = 2. Используйте функцию DATETIME( ) для создания правильных констант и выражений типа DateTime.

Visual FoxPro поддерживает типы данных SQL Datetime и Smalldatetime, возвращаемые в 24-хчасовом фрмате SQL XML.

Note Примечание

В отличие от функции T-SQL Convert(), которая может возвращать значения datetime и smalldatetime, обрабатывая аргумент девятнадцатью различными способами, функция CTOT() требует при использовании различных разделителей соответствующую установку SET DATE.

Чтобы конвертировать даты из Access, SQL Server, Visual Studio, и XML, необходимы соответствующие установки SET DATE для правильной интерпретации данных типа DateTime. Однако, если в строке даты XML находится Т в верхнем регистре, Visual FoxPro отменяет текущую установку формата даты, производя внутренний вызов SET DATE YMD, и восстанавливает текущую установку формата даты после выполнения CTOT().

Note Примечание

CTOT () приводит эти даты к пределам точности данных типа DateTime Visual FoxPro. Поэтому, при использовании CTOT() с некоторыми форматами, точность может снижаться. Тип данных DateTime Visual FoxPro не поддерживает миллисекунды или часовые пояса.

Функция CTOT( ) чувствительна к установке SET CENTURY. Для более подробной информации смотрите Команда SET CENTURY.

Expand image Примеры

Следующие примеры показывают, как CTOT () обрабатывает значения DateTime из различных источников. Во всех примерах CTOT () корректно конвертирует значения DateTime, не прибегая к вызову SET DATE YMD.

  • Дата в формате Access 2000 XML

    CopyCode image Скопировать код
    * 2000-10-24T13:30:00 (24-hour format is exported from Access,
* whether original was in 12- or 24-hour format)
? CTOT("2000-10-24T13:30:00")

  • Дата в формате SQL Server 2000 XML

    CopyCode image Скопировать код
    ? CTOT("2000-10-24T20:47:58.170")   && datetime (24-hour format)
? CTOT("2000-10-24T21:11:00")         && Small DT (24-hour format)
? CTOT("2000-10-03T02:02:02")

  • Visual Studio XML

    CopyCode image Скопировать код
    ? CTOT("2002-10-05T04:04:04.0000000-07:00")

  • Simple Object Access Protocol (SOAP)

    CopyCode image Скопировать код
    ? CTOT("2001-09-14T07:00:00Z")

Expand image Смотрите также

Справочное руководство

DATETIME( ), функция
SET STRICTDATE, команда

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


CURDIR( ) Function

Visual FoxPro 9.0 Описание Языка
CURDIR( ), Функция
См. также Пример
CollapseAll image

Возвращает текущий каталог, как символьную строку.

CURDIR([cExpression])

Параметры

cExpression

Определяет имя Диска или Тома, для которого функция CURDIR( ) возвращает текущий Каталог или Папку. Если опускаете данный параметр cExpression, то предполагается текущий диск или том. Пустая строка возвращается для отсутствующего или недоступного диска или тома. Данный аргумент включается для совместимости с младшими версиями системы Visual FoxPro или если FoxPro запущен под управлением ОС Window 3.1 или MS-DOS.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

CURDIR( ) возвращает символьную строку, которая описывает текущий каталог для системы MS-DOS, при заданном имени диска.

Expand image Пример

В следующем примере выводится текущий каталог; запоминается в переменной памяти; устанавливается текущий каталог, где запускается система Visual FoxPro; отображается новый, установленный каталог; возвращается первичный текущий каталог.

CopyCode image Копировать Код
CLEAR
? 'Current directory: ', CURDIR( )
gcOldDir = SET('DEFAULT') + SYS(2003)
SET DEFAULT TO (HOME( ))
? 'Visual FoxPro directory: ', CURDIR( )
SET DEFAULT TO (gcOldDir)
? 'Current directory: ', CURDIR( )

Expand image См. также

Описание

FULLPATH( ), Функция
HOME( ), Функция
SYS(2003) - Текущий Каталог

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


CURSORGETPROP( ) Function

Visual FoxPro 9.0 Справочник Языка
CURSORGETPROP () Функция
См. Также Пример

Отыскивает текущие параметры настройки свойств для таблицы Visual FoxPro или курсора.

Совет:
Для установки определенного свойства для таблицы Visual FoxPro или курсора, используйте CURSORSETPROP( ) . Для дополнительной информации о каждом из свойств и их параметрах настройки, см. CURSORSETPROP( ) .

CURSORGETPROP(cProperty [, nWorkArea | cTableAlias])

Параметры

cProperty

Определяет настройку свойства для возвращения. Следующая таблица включает список свойств, параметры настройки которых могут быть возвращены, тип данных возвращаемого значения, и описание возвращаемого значения.

cProperty Тип Описание

ADOBookmark

Variant

Содержит значение, которое соответствует Закладке ADO для текущей записи в основанном на ADO курсоре.

ADOCodePage

N

Возвращает кодовую страницу, связанную с основанным на ADO курсоре как определено Свойством ADOCodePage . Только для чтения.

ADORecordset

O

Содержит объектную ссылку к набору записей ActiveX Объекта Данных (ADO), ассоциированным с курсором. Не допустимо для курсоров, которые не основаны на наборе записей ADO. Только для чтения.

AllowSimultaneousFetch

L

Применяется при использовании отдаленных представлений, разделяемых подключений, и к курсорам, созданным с помощью ODBC.

AllowSimultaneousFetch содержит Истину (.T). когда подобно конфигурированные курсоры, совместно использующие подключение, получают разрешение выбирать строки одновременно.

Иначе, AllowSimultaneousFetch содержит Ложь (.F)., когда одновременная выборка строк не разрешается.

AutoIncError

L

Содержит Истину (.T). когда попытки вставить или обновить значение поля, которое использует значения с автоматическим инкрементным увеличением, генерируют сообщение об ошибке.

Содержит Ложь (.F). когда попытки вставить или обновить значение поля, которое использует значения с автоматическим инкрементным увеличением, не генерируют сообщение об ошибках и указанное значение, которое должно быть вставлено или модифицировано игнорируется.

Относится к курсорам и сессиям.

Чтение - запись.

BatchUpdateCount*

N

Содержит количество инструкций модификации, посланных отдаленному источнику данных для буферизированных таблиц. Значение по умолчанию - 1. Корректировка этого значения может значительно увеличить скорость выполнения модификации.

Чтение - запись.

Буферизация

N

1 - Строковая и табличная буферизация выключены. (Значение по умолчанию)

2 - Пессимистическая буферизация строки включена.

3 - Оптимистическая буферизация строки включена.

4 - Пессимистическая буферизация таблицы включена.

5 - Оптимистическая буферизация таблицы включена

Чтение - запись.

CompareMemo

L

Содержит Истину (.T). если предложение WHERE для модификаций включает поля типа Мемо, General, или Picture. (Значение по умолчанию).

Иначе, содержит Ложь (.F)..

Только для представлений.

Чтение - запись.

ConnectHandle

N

Дескриптор подключения. Это свойство допустимо только, когда источник данных содержит отдаленную таблицу. Дескриптор подключения, полученный для представления, может закрыться, когда представление закрывается.

Только для чтения.

ConnectName

C

Имя подключения, используемое при создании курсора. Это свойство допустимо только, когда источник данных содержит отдаленную таблицу.

Только для чтения.

Database

C

Имя базы данных, которая содержит таблицу или представление. Если таблица - свободная таблица, Database содержит пустую строку.

Только для чтения.

FetchAsNeeded

L

Если равно Истине (.T)., данные выбираются только при необходимости, так что указатель записи перемещается в строку, которая ещё не была выбрана.

Если равно Лжи (.F)., дополнительные данные выбираются в течение времени простоя. (Значение по умолчанию)

Обратите внимание:
FetchAsNeeded не применяется, когда прогрессивная выборка запрещена (FetchSize - -1).

Чтение - запись.

FetchIsComplete

L

Если Истина (.T)., процесс выборки закончен для ODBC или ADO-based курсоров.

Если Ложь (.F)., процесс выборки не был закончен.

Эта опция не поддерживается для таблиц и локальных представлений или на уровне среды окружения (рабочая область 0).

FetchMemo*

L

Содержит Истину (.T). если memo-поля выбираются в результаты представления. Иначе, содержит Ложь (.F).. (Значение по умолчанию).

Используйте Функцию ISMEMOFETCHED () чтобы определить, было ли выбрано memo-поле.

Чтение - запись.

FetchSize*

N

Содержит количество строк, выбранных одновременно из отдаленных таблиц. Значение по умолчанию - 100 строк. Установка FetchSize к -1 возвращает полную выборку результатов, ограниченную установкой MaxRecords.

Обратите внимание:
Прогрессивная выборка удерживает подключение, пока все строки не найдены. Проявите осмотрительность программируя с помощью FetchSize, если ShareConnection равно Истине (.T)..

Чтение - запись.

KeyFieldList

C

Разграниченный запятыми перечень первичных полей курсора.

Чтение - запись.

MapBinary

L

Содержит Истину (.T). если отключено преобразование Varbinary . Иначе, содержит (.F)..

Чтение - запись только для nWorkArea установленной в 0. Только для чтения для SQL Pass-Through курсоров. Недопустимо для курсоров таблицы ( nWorkArea равняется или больше чем 1).

MapVarchar

L

Содержит Истину (.T). если включено преобразование Varchar . Иначе, содержит Ложь (.F)..

Чтение - запись только для nWorkArea равной 0. Только для чтения для SQL Pass-Through курсоров. Недопустимо для курсоров таблицы ( nWorkArea равняется или больше чем 1).

MaxRecords*

N

Максимальное количество выбранных строк, когда возвращается выборка результата. Значение по умолчанию - - 1 (все строки возвращены). Значение 0 определяет, что представление выполнено, но выборка результатов отсутствует.

Чтение - запись.

ParameterList

C

Разграниченный точкой с запятой, перечень параметров представления и типов параметров. Только для представлений.

Чтение - запись.

Prepared

L

Содержит Истину (.T). если инструкции SQL готовы к последующему запросу функции REQUERY( ). Иначе, содержит Ложь (.F.). (Значение по умолчанию).

REQUERY( ) используется, чтобы отыскать данные для SQL представления повторно. См. SQLPREPARE( ) для дополнительной информации о подготовке инструкций SQL. Только для представлений.

Чтение - запись.

RecordsFetched

N

Содержит числовое значение, которое указывает количество записей, выбранных из источника данных для ODBC или ADO-based курсоров.

Это числовое значение может не отразить текущее количество записей для курсора, если записи были локально удалены или добавлены.

Эта опция не поддерживается для таблиц и локальных представлений или на уровне среды окружения (рабочая область 0).

Обратите внимание:
Любые условия фильтра игнорируются при подсчете количества записей.

Только для чтения.

Refresh

N

Содержит числовое значение, которое указывает установку обновления для индивидуального курсора в текущем сеансе данных или начальное значение обновления для недавно открытого курсора в текущем сеансе данных.

SendUpdates

L

Содержит Истину (.T). если посылается SQL запрос на модификацию, чтобы обновить таблицы, когда модификация происходит через представление; иначе, содержит ложь (.F). (значение по умолчанию).

Чтение - запись.

SourceName

C

Содержит длинное имя для SQL представления или таблицы в базе данных, или путь к файлу и имя таблицы для свободной таблицы.

Только для чтения.

SourceType

N

1 - источником данных является локальное SQL представление.

101 (1 + 100) - Курсор создан методом CursorFill .

201 (1 + 200) - Курсор присоединен к объекту CursorAdapter , используя метод CursorAttach .

2 - источником данных является отдаленое SQL представление.

102 (2 + 100) - Курсор создан методом CursorFill .

202 (2 + 200) - Курсор присоединен к объекту CursorAdapter , используя метод CursorAttach .

3 - источник данных - таблица.

103 (3 + 100) - Курсор создан CursorFill .

203 (3 + 200) - Курсор присоединен к объекту CursorAdapter через использование CursorAttach .

4 - курсор основан на наборе записей ADO и присоединен к объекту CursorAdapter .

104 (4 + 100) - Курсор создан CursorFill .

204 (4 + 200) - Курсор присоединен к объекту CursorAdapter через использование CursorAttach .

Только для чтения.

SQL

C

Выполнялась инструкция SQL при создании курсора.

Только для чтения.

Tables

C

Разграниченный запятыми перечень имен таблиц.

Чтение - запись.

UpdatableFieldList

C

Разграниченный запятыми перечень полей в представлении. Этот список может включать поля из локальных и отдаленных таблиц.

Чтение - запись.

UpdateNameList

C

Разграниченный запятыми список отдаленных имен полей и локальных имен полей, присвоенных курсору. Используйте эту опцию, чтобы определить допустимые имена Visual FoxPro для полей в курсоре, если они имеют недопустимые имена полей Visual FoxPro.

Чтение - запись.

UpdateType

N

1 - Определяет, что старые данные модифицированы новыми данными. (Значение по умолчанию).

2 - Определяет, что модификации происходят, путем удаления старых данные и вставкой новых данных.

Чтение - запись.

UseMemoSize*

N

Минимальный размер в байтах столбцов результата для возвращения в memo-полях. Например, если ширина столбца результата больше чем значение UseMemoSize, столбец результата сохраняется в memo-поле. UseMemoSize может изменяться от 1 до 255; значение по умолчанию - 255.

Чтение - запись.

WhereType

N

WHERE - предложение для модификаций таблиц. WhereType может определить следующие значения:

1 или DB_KEY (из FOXPRO.H). Предложение WHERE, используемое, чтобы обновить таблицы состоит только из первичных полей, указанных в свойтве KeyFieldList.

2 или DB_KEYANDUPDATABLE (из FOXPRO.H). Предложение WHERE, используемое, чтобы обновить таблицы состоит из первичных полей, указанных в свойствее KeyFieldList и любых ообновляемых полей.

3 или DB_KEYANDMODIFIED (из FOXPRO.H) (значение по умолчанию). Предложение WHERE, используемое, чтобы обновить таблицы состоит из первичных полей, указанных в свойтве KeyFieldList и любых других модифицирууемых полей.

4 или DB_KEYANDTIMESTAMP (из FOXPRO.H). Предложение WHERE, используемое, чтобы обновить таблицы состоящие из первичных полей, указанных в свойтстве KeyFieldList и сравнения временных меток.

Чтение - запись.

* Значение, возвращенное этим свойством имеет значение только для отдаленных представлений; если Вы получаете это свойство для локальных представлений, функция CURSORGETPROP () возвращает значение по умолчанию. Следующая таблица включает список свойств, параметры настройки которых могут быть возвращены, тип данных возвращаемого значения, и описания возвращаемого значения.
nWorkArea

Определяет рабочую область таблицы или курсора для которых возвращается настройка свойства. Если Вы определяете 0 для nWorkArea , CURSORGETPROP( ) возвращает настройку среды данных.
cTableAlias

Определяет псевдоним таблицы или курсора, из которого возвращается настройка свойства.

Возвращаемое значение

Символьный, Числовой, или Логический тип данных

Замечания

Текущие параметры настройки свойства возвращаются для таблицы или курсора, открытого в в настоящее время в выбранной рабочей области если CURSORGETPROP( ) применятеся без дополнительных параметров cTableAlias или nWorkArea . Если Вы используете CURSORGETPROP( ) без выбранной таблицы, открытого курсора, или указанного псевдонима, Вы получаете Ошибку 52 (Нет открытых таблиц в текущей рабочей области.), если рабочая область не определена как в этом примере, CURSORSETPROP("Refresh",-2,0).

Пример

Когда курсор открыт, значение по умолчанию для свойства AutoIncError считывается из значения по умолчанию для сессии, которое является текущей заданной по умолчанию установкой сессии. Следующий пример показывает, как Вы можете отыскать заданное по умолчанию значение AutoIncError для каждой сессии, определяя 0 (заданный по умолчанию сеанс) в качествве последнего параметра:

Скопировать код
CURSORGETPROP("AutoIncError", 0)

Заданная по умолчанию сессия используется при открытии новой частной сессии данных или курсора. Следующий пример показывает, как Вы можете отыскать для курсора или таблицы установку AutoIncError для каждой таблицы, используя параметры nWorkArea или cTableAlias в качестве последнего параметра:

Скопировать код
CURSORGETPROP("AutoIncError", nWorkArea | cTableAlias)

Следующий пример открывает таблицу "Customer" в базе данных Testdata и использует CURSORGETPROP( ) для отображения режима буферизации таблицы и имя базы данных, в которой содержится таблица:

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer     && Open customer table
? CURSORGETPROP("Buffering") && Displays buffering mode
? CURSORGETPROP("Database")  && Displays database name

См. Также

Ссылки

ISMEMOFETCHED () Функция

Другие Ресурсы

CURSORSETPROP( ) Функция
SQLGETPROP( ) Функция
SQLSETPROP( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CURSORSETPROP( ) Function

Visual FoxPro 9.0 Справочник Языка
CURSORSETPROP () Функция
См. Также Пример

Определяет параметры настройки свойства для таблицы Visual FoxPro или курсора.

CURSORSETPROP( cProperty [, eExpression] [,cTableAlias | nWorkArea])

Параметры

cProperty

Определяет свойство таблицы или курсора. Буферизация - единственное свойство, которое Вы можете определить для таблицы Visual FoxPro.
eExpression

Определяет значение для свойства, которое Вы определяете спомощью cProperty . Если Вы опускаете eExpression , свойство установливается в значение по умолчанию. Следующая таблица перечисляет свойства, для которых Вы можете определить cProperty и описание значений, которые может принимать eExpression .

Свойство eExpression значения

AllowSimultaneousFetch

Применяется при использовании отдаленных представлений, разделяемого подключения, и к курсорам, созданным используя ODBC.

.T. - Разрешают аналогично конфигурированным курсорам, совместно использующим подключение, выбирать строки одновременно.

.F. - Не разрешают аналогично конфигурированным курсорам, совместно использующим подключение, выбирать строки одновременно.

AutoIncError

.T. - Генерируют сообщение об ошибке при попытке вставить или обновить значения поля, которое использует автоинкрементные значения.

.F. - Не генерирует сообщение об ошибке, но и не применяет заданное значение при попытке вставить или модифицировать автоинкрементное поле, которое использует соответствующее инкрементное значение.

применяется к курсорам и сессиям.

BatchUpdateCount*

Определяет количество инструкций модификации, чтобы послать отдаленному источнику данных для буферизированных таблиц. Значение по умолчанию - 1. Корректировка этого значения может значительно увеличить скорость выполнение модификации при использовании автоматического обновления.

Буферизация

1 - Запрещает буферизацию таблицы и записи. Блокировка записей и запись данных идентичны ранним версиям FoxPro. (Значение по умолчанию)

2 - Устанавливает пессимистическую буферизацию для записей.

3 - Устанавливает оптимистическую буферизацию для записей.

4 - Устанавливает пессимистическую буферизацию для таблицы.

5 - Устанавливает оптимистическую буферизацию для таблицы. SET MULTILOCKS должен быть ON для всех режимов Buffering кроме 1 (запрещена).

CompareMemo

.T. - Включают memo-поля типа Memo, General, или Picture в предложение WHERE для модификаций.

.F. - не включают memo-поля в предложение WHERE для модификаций.

Относится к использованию автоматическое обновления.

FetchAsNeeded

.T. - Выборка записей при необходимости, так что указатель записи перемещается на строку, которая не была выбрана.

.F. - Выборка дополнительных данные в течение времени простоя.

Обратите внимание:
FetchAsNeeded не применяется когда запрещена прогрессивная выборка(FetchSize - -1).

FetchMemo*

.T. - Выбирать memo-поля с передачей результатов в представления.

.F. - Не выбирать memo-поля с передачей результатов в представления.

FetchSize*

Определяет количество строк, прогрессивно выбранных из результатов выборки отдаленной таблицы. Значение по умолчанию - 100 строк. Установка FetchSize в -1 возвращает полную выборку результатов, ограниченную установкой MaxRecords.

Обратите внимание:
Прогрессивная выборка удерживает подключение, пока все строки не найдены. Проявите осмотрительность программируя с помощью FetchSize, если ShareConnection задан в Истину (.T)..

KeyFieldList

Определяет список первичных полей для курсора с разделителями-запятыми. Нет значений по умолчанию. Вы должны включить перечень имен полей для модификаций, чтобы работать при использовании автоматического обновления.

MapBinary

.T. - На сессионном уровне, SQL Pass-Through отображает SQL_BINARY, SQL_VARBINARY, и SQL_LONGVARBINARY ODBC типы в типе данных Varbinary или Blob .

Для отдаленных представлений, команда CREATE SQL VIEW приводит SQL_LONGVARBINARY ODBC тип источника данных к типу Blob , и приводит SQL_BINARY и SQL_VARBINARY ODBC типы источника данных к типу Varbinary , когда размер соответствующего столбца в источнике данных меньше или равен 254 байтам. Когда размер больше чем 254 байтов, эти типы приводятся к типу Blob .

.F. - SQL Pass-Through приводит SQL_BINARY и SQL_VARBINARY ODBC типы к типу Character . (Значение по умолчанию)

Для отдаленных представлений, команда CREATE SQL VIEW приводит SQL_BINARY и SQL_VARBINARY ODBC типы источника данных к типу Memo .

Обратите внимание:
MapBinary является read/write для nWorkArea установленному в 0, только для чтения для SQL Pass-Through курсоров, и недопустимый для курсоров таблицы ( nWorkArea равняется или больше чем 1).

MapVarchar

.T. - На сессионном уровне, SQL Pass-Through приводит SQL_WVARCHAR и SQL_VARCHAR ODBC типы к типу Varchar .

Для отдаленных представлений, команда CREATE SQL VIEW приводит SQL_WVARCHAR и SQL_VARCHAR ODBC типы источника данных к типу Varchar .

.F. - SQL Pass-Through приводит SQL_WVARCHAR и SQL_VARCHAR ODBC типы к типу Character . (Значение по умолчанию)

Для отдаленных представлений, команда CREATE SQL VIEW приводит SQL_WVARCHAR и SQL_VARCHAR ODBC типы источника данных к типу Character .

Обратите внимание:
MapVarchar является read/write для nWorkArea установленной в 0, только для чтения для SQL Pass-Through курсоров, и недопустимой для курсоров таблицы ( nWorkArea равняется или больше чем 1).

MaxRecords*

Определяет максимальное количество строк, выбранных при возвращении выборки результата. Значение по умолчанию - - 1, и все строки возвращены. Значение 0 определяет, что представление выполнено, но результатов не получено.

ParameterList

Определяет перечень параметров представления и типов параметров через точку с запятой. Только для представлений.

Prepared

.T. - Готовит инструкции SQL к последующему выполнению функции REQUERY( ) .

.F. - не готовит инструкции SQL к последующему выполнению функции REQUERY( ) . (Значение по умолчанию).

REQUERY( ) используется, чтобы отыскать данные для SQL представления повторно. Для дополнительной информации о подготовке инструкций SQL, см. SQLPREPARE( ) Функция .

Refresh

Определяет числовое значение обновления для индивидуального курсора в текущем сеансе данных или начальное значение обновления для недавно открытых курсоров в текущем сеансе данных.

Используйте Команду SET DATASESSION для выбора определенной сессии данных, и используйте параметр cTableAlias ИЛИ nWorkArea, чтобы задать определенный курсор. Используйте nWorkArea = 0, чтобы изменить начальное значение обновления для всех недавно открытых курсоров. Любые курсоры, которые являются уже открытыми, не будет затрагивать новая установка обновления.

Команда SET REFRESHпозволяет Вам определять глобальное значение обновления. По умолчанию, установка обновления CURSORSETPROP( ) - -2, которая указывает, что используется текущее глобальное значение SET REFRESH. Глобальное значение SET REFRESH определено его вторым параметром, nSeconds2 .

Вы можете установить параметр обновления CURSORSETPROP( ), устанавливающий те же самые значения как и параметр nSeconds2 в SET REFRESH.

Примечание Установка обновления CURSORSETPROP( ) будет игнорироваться если текущее значение параметра nSeconds2 установлено в нуль командой SET REFRESH.

SendUpdates

.T. - Определяет, что послылается SQL запрос на модификацию, чтобы обновить таблицы, когда модификация исполняется через представление.

.F. - Определяет, что не посылается SQL запрос на модификацию для обновления таблицы.

Таблицы

Определяет список с разделителями-запятыми, состоящий из имен отдаленных таблиц. Нет значения по умолчанию. Вы должны включить список имен таблиц для модификаций, чтобы работать при использовании автоматического обновления.

UpdatableFieldList

Определяет список с разделителями-запятыми, состоящий из полей в представлении. Этот список может включать поля из локальных и отдаленных таблиц. Вы должны включить список полей для модификаций, чтобы работать при использовании автоматического обновления.

UpdateNameList

Определяет список с разделителями-запятыми, состоящий из отдаленных имен полей и локальных имен полей, присвоенных курсору. Используйте эту опцию, чтобы определить допустимые имена Visual FoxPro для полей в курсоре, которые имеют недопустимые имена полей для Visual FoxPro.

UpdateType

1 - Обновляет старые данные с новыми данными. (Значение по умолчанию)

2 - Обновляет, удаляя старые данные и вставляя новые данные.

UseMemoSize*

Определяет минимальный размер в байтах для столбцов результата, чтобы возвратить его в memo-полях. Например, если ширина колонки результата больше чем значение UseMemoSize, колонка результата сохраняется в memo-поле. UseMemoSize может принимать значения от 1 до 255 байтов. Значение по умолчанию - 255 байтов.

WhereType

WHERE - предложение для модификаций отдаленных таблиц. WhereType может принимать следующие значения:

1 или DB_KEY (из FOXPRO.H). Предложение WHERE используется, чтобы обновить отдаленные таблицы, состоящие только из первичных полей, указанных в свойстве KeyFieldList.

2 или DB_KEYANDUPDATABLE (из FOXPRO.H). Предложение WHERE используется, чтобы обновить отдаленные таблицы, состоящие из первичных полей, указанных в свойстве KeyFieldList и любые обновляемые поля.

3 или DB_KEYANDMODIFIED (из FOXPRO.H). Предложение WHERE используется, чтобы обновить отдаленные таблицы, состоящие из первичных полей, указанных в свойстве KeyFieldList и любые другие поля, которые модифицируются. (Значение по умолчанию)

4 или DB_KEYANDTIMESTAMP (из FOXPRO.H). WHERE - предложение, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных полей, указанных в свойстве KeyFieldList и сравнить временнЫе метки.

* Это свойство прежде всего используется для отдаленных представлений; эта установка не имеет никакого влияния на локальные представления. Однако, Вы можете предварительно установить это свойство для локальных представлений, которые будут переноситься (для работы в качестве отдаленных - ред.).
cTableAlias

Определяет псевдоним таблицы или курсора, для которого установлено свойство.
nWorkArea

Определяет рабочую область таблицы или курсора, для которого установлено свойство. Если Вы определяете 0 для nWorkArea , CURSORSETPROP( ) устанавливает параметры среды окружения, используемые для всех последующих таблиц или курсоров.
Обратите внимание:
Буферизация не применяется к таблицам, которые открыты неявно, например, используя команды SQL INSERT/UPDATE/DELETE.

Возвращаемое значение

Логический тип данных. CURSORSETPROP( ) Возвращает Истину (.T). если Visual FoxPro успешно устанавливает свойство, которое Вы определяете. Visual FoxPro генерирует ошибку, если свойство, которое Вы определяете, не может быть установлено.

Замечания

Установка свойства Буферизации для CURSORSETPROP( ) определяет, как Visual FoxPro исполняет буферизацию модификации и блокировку записей. Для дополнительной информации о блокировке записей и буферизации модификации, см. Как: Буферизовать Данные .

Установка свойства WhereType для CURSORSETPROP( ) определяет, как выполняются модификации отдаленных таблиц. Для дополнительной информации о модификациях отдаленных таблицы, см. Разработка Баз данных .

Вы можете использовать CURSORSETPROP( ) чтобы отменять свойство FetchSize функции SQLSETPROP( ) для курсора. Это свойство унаследовано от дескриптора подключения курсора по умолчанию.

Используйте CURSORGETPROP( ) для возвращения текущих параметров настройки свойств для таблицы Visual FoxPro или курсора, созданного к таблице.

Если CURSORSETPROP( ) применяется без дополнительных параметров cTableAlias или nWorkArea , установка свойства определена для таблицы или курсора, открытых в выбранной рабочей области.

Пример

Когда курсор открыт, значение по умолчанию для свойства AutoIncError считывается из значения по умолчанию для сессии, и является текущей заданной по умолчанию установкой сессии данных. Следующий пример показывает, как Вы можете установить заданное по умолчанию значение AutoIncError для каждой сессии, определяя 0 (заданная по умолчанию сессия) в качестве последнего параметра:

Скопировать код
CURSORSETPROP("AutoIncError", .T., 0)

Заданная по умолчанию сессия используется при открытии новой частной сессии данных или курсора. Следующий пример показывает, как Вы можете установить AutoIncError для курсора или таблицы для каждой таблицы, используя параметр cTableAlias или nWorkArea как последний параметр:

Скопировать код
CURSORSETPROP("AutoIncError", .F. , cTableAlias | nWorkArea )

Следующий пример демонстрирует, как Вы можете разрешить оптимистическую буферизацию таблицы с помощью CURSORSETPROP( ) . MULTILOCKS установлен в ON , требование для буферизации таблицы. Открыта таблица "Клиенты" в базе данных "testdata" , и применяется CURSORSETPROP( ) , чтобы установить режим буферизации в оптимистическую буферизацию таблиц (5). Выводится окно сообщения, показывая результат операции.

Скопировать код
CLOSE DATABASES
CLEAR
SET MULTILOCKS ON
OPEN DATABASE (HOME(2) + 'data\testdata')
USE Customer     && Open Customer table.
* Set buffering mode and store logical result
lSuccess=CURSORSETPROP("Buffering", 5, "Customer")
IF lSuccess = .T.
   =MESSAGEBOX("Operation successful!",0,"Operation Status")
ELSE
   =MESSAGEBOX("Operation NOT successful!",0,"Operation Status")
ENDIF

См. Также

Ссылки

SET REFRESH Команда

Другие Ресурсы

CURSORGETPROP( ) Функция
SET MULTILOCKS Команда
SQLGETPROP( ) Функция
SQLSETPROP( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CURSORTOXML( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция CURSORTOXML()
Смотрите также
CollapseAll image

Преобразует Visual FoxPro курсор в XML.

CURSORTOXML(nWorkArea | cTableAlias, cOutput [, nOutputFormat
[, nFlags [, nRecords [, cSchemaName [, cSchemaLocation [, cNameSpace ]]]]]])

Параметры

nWorkArea

Указывает рабочую область таблицы, из которой создается XML строка.

Если вы укажите 0 или не укажите ничего, Visual FoxPro использует текущую рабочую область.

cTableAlias

Указывает псевдоимя (alias) таблицы, из которой создается XML строка.

cOutput

Указывает путь и имя файла или переменную памяти, в которые будет послан результат преобразования.

Если nFlags установлен в 0 (по умолчанию), то результат преобразования - XML строка - будет послан в переменную памяти. Если переменная памяти не существует к этому моменту, то она будет создана.

Если nFlags установлен в 512 для посылки результата преобразования в файл, а файл еще не существует, то он будет создан. Если же файл уже существует, то его содержимое будет переписано. При этом учитывается установка, определенная SET SAFETY.

nOutputFormat

Определяет формат вывода XML строки. В приведенной ниже таблице перечислены значения для nOutputFormat.

nOuputFormat Описание

1 – ELEMENTS

(По умолчанию) XML на базе элементов

2 – ATTRIBUTES

XML на базе аттрибутов

3 – RAW

Общий, XML на базе аттрибутов
nFlags

Определяет форматирование, произведенного в результате преобразования, XML и его назначение. В приведенной ниже таблице перечислены значения для nFlags.

nFlags Bit Описание вывода

0

0000

(По умолчанию) Производит XML в формате UTF-8.

Эта установка создает переменную памяти, если она указана в cOutput, но не существует и посылает в нее сформированный XML.

XML декларация в этом случае не содержит аттрибута кодировки Encoding=; то есть, аттрибут кодировки не устанавливается в UTF-8.

1

0001

Производит неформатированный XML в виде длинной строки.

2

0010

Для пустых элементов вставляет открывающий и закрывающий тэги, например, <cc04><cc04/>.

4

0100

Сохраняет пустые пространства (пробелы, в том числе и хвостовые) в полях.

8

1000

Разрешает деление мемо полей на строки в секциях CDATA.

16

10000

Кодировка вывода. Вывод кодируется по кодовой странице курсора.

Для гарании аккуратной трансляции символов, кодовая страница Visual FoxPro, используемая по умолчанию должна соответствовать кодовой странице курсора. Вы можете обеспечить это поведение установкой для символьных и мемо полей аттрибута NOCPTRAN ( character binary/memo binary).

При использовании этого значения с таблицами, использующими любые кодовые страницы, аттрибут кодировки в XML устанавливается в пустую строку (""). Для изменения кодировки в корректный аттрибут используйте функцию STRTRAN().

Например, для кодовой страницы с номером 936, выполните приведенное ниже для готовой XML строки:

CopyCode image Скопировать код
strxml=STRTRAN(strxml, 'encoding=""', 'encoding="gb2312"'

32

100000

Кодировка вывода.

512

1000000000

Результат преобразования посылается в файл, указанный в параметре cOutput.

Если файл еще не существует, то он будет создан. Если файл уже существует, то его содержимое будет переписано новым. Принимается во внимание установка, определенная SET SAFETY.

4096

1000000000000

Запрещает кодирование base64.

CURSORTOXML( ) экспортирует поля Memo (Binary) как xsd:base64binary, если вы не используете значение флага nFlags равное 4096. В Visual FoxPro, кодировка base64 является средством до кодирования только бинарных данных.

32768

none

Указывает, что должна быть использована кодовая страница.

В приведенной ниже таблице описывается, как записывается аттрибут кодировки, когда кодировка вывода устанавливается по умолчанию в кодовую страницу курсора или таблицы.

Замечание Замечание

Флаги кодировки устанавливаются комбинацией битов 4 и 5 (0010000).

Флаг кодировки Биты 4 и 5 Описание

+0

00

(По умолчанию) Windows-1252.

+16

01

Устанавливает аттрибут кодировки вывода в кодовую страницу курсора.

+32

10

Устанавливает аттрибут кодировки вывода в UTF-8 без символьной трансляции.

+48

11

Устанавливает аттрибут кодировки вывода в UTF-8 и транслирует символьные данные в UTF-8.

В приведенной ниже таблице перечислены Windows-совместимые общие кодовые страницы.

Кодовая страница Платформа Аттрибут кодировки в XML-декларации Комментарии

437

MS-DOS, US

ibm437

850

MS-DOS, International

ibm850

865

MS-DOS, Nordic

Пустная строка ("")

866

MS-DOS, Russian

cp866

932

Windows, Japanese

shift-jis

936

Simplified Chinese

gb2312

949

Windows, Korean

iso-2022-kr

или:

ks_c_5601-1987

950

Windows, Traditional Chinese (Taiwan)

big5

1250

Windows, East European

Windows-1250

Учитывайте регистр.

1251

Windows, Russian

Windows-1251

1252

Windows, U.S., West European

Windows-1252

1253

Windows, Greek

Windows-1253

1254

Windows, Turkish

Windows-1254

1255

Windows, Hebrew

Windows-1255

1256

Windows, Arabic

Windows-1256

Замечание Замечание

Visual FoxPro использует кодировку Windows-1252 в качестве кодировки по умолчанию. Вы можете указать, что аттрибут кодировки будет установлен в соответствие с кодовой страницей, такой как Big5 (кодовая страница 950), при использовании наборов двухбайтных символов (DBCS) для языков DBCS, для которых Visual FoxPro поддерживает кодовые страницы.

При использовании Windows-1252 и DBCS не требуется дополнительной трансляции символов для корректного отображения в Internet Explorer.

Однако, для того, чтобы сделать XML более отвечающий Web браузерам, которые могут интерпретировать UTF-8, вы можете дополнительно установить аттрибут кодировки в UTF-8 вместо Windows-1252. Результат преобразования будет подвергнут трансляции в UTF-8 только тогда, когда вы установите nFlags в значение 48 (указав аттрибут кодировки, как UTF-8, и произведя трансляцию символов в формат UTF-8). Это требуется только тогда, когда данные действительно содержат двухбайтные символы. У вам нет необходимости использовать трансляцию символов, STRCONV ( ), например, для случая, когда вы выводите в XML только символы латинского алфавита.

nRecords

Указывает число записей, преобразуемых в XML и по умолчанию имеет значение, равное 0.

Если nRecords равно нулю, то преобразованию подлежат все записи таблицы или курсора. Если же nRecords указан большим, чем число записей, имеющихся в таблце, то только имеющиеся записи и будут посланы в вывод.

cSchemaName

Указывает имя и местонахождение схемы информации о данных в cOutput, например "MySchema.xsd". Если вы не указали расширения для файла внешней схемы, то создается файл с расширением .xsd.

В приведенной ниже таблице перечислены значения для cSchemaName.

cSchemaName Описание

cSchemaName

Указывает имя и путь внешнего файла для схемы (относящейся к области корневого элемента XML).

Замечание Замечание

Если cSchemaName содержит имя файла, а cSchemaLocation не предоставлена или является пустой, содержимое cSchemaName записывается в аттрибут xsi:schemaLocation или xsi:noNamespaceSchemaLocation в XML документе.

В приведенном ниже примере, Visual FoxPro генерирует XML файл общего вида с именем MyXMLFile.xml из файла Labels.dbf под псевдоменем "Labels" и файл схемы с названием MySchema, помещаемым в один и тот же каталог.

CopyCode image Скопировать код
CURSORTOXML("LABELS", "myXMLFile.xml", 1, 512, 0, "mySchema.xsd")

Если cSchemaName включает в себя URI, то схема записывает в текущий каталог и должна быть перегружена на сервер, который должен быть доступен браузеру или парсеру. Внешняя схема всегда записывается в то же место, что и файл XML.

"1"

Определяет, что будет произведена внутренняя (вложенная) схема. Например, приведенный ниже пример производит внутренюю схему:

CopyCode image Скопировать код
CURSORTOXML("LABELS", "myXMLFile.xml", 1, 512, 0, "1")

""

Определяет, что в результате преобразования не будет сгенерирована схема.
cSchemaLocation

Определяет необязательное местонахождение, в котором приложение, читающее данные из XML, должно искать файл схемы.

Замечание Замечание

Используйте этот параметр только в случае, когда вы развертываете вашу схему в месте, отличающемся от места, в котором расположены данные XML.

Содержание cSchemaLocation записывается в аттрибут xsi:schemaLocation или xsi:noNamespaceSchemaLocation, произведенного в результате преобразования, XML. Параметр cschemaLocation может представлять адрес HTTP или другой URI. Вам необходимо скопировать файл схемы в место, которое вы указали в cSchemaLocation.

В приведенное ниже примере прозводится преобразование в XML данные:

CopyCode image Скопировать код
CURSORTOXML("LABELS", "myXMLFile.xml", 1, 512, 0, ;
   "mySchema.xsd", "http://www.microsoft.com/mySchema.xsd")

содержащие приведенный ниже аттрибут:

CopyCode image Скопировать код
   xsi:noNamespaceSchemaLocation=" http://www.microsoft.com/mySchema.xsd"

Передача значения параметру cSchemaLocation в случае, когда cSchemaName незаполнено, вызовет запись этого же аттрибута в XML данные. Это дает вам возможность указать существующую схему без ее регенерации каждой раз, когда вызывается функция CURSORTOXML( ).

cNamespace

Указывает пространство имен XML или производимой схемы и по умолчанию устанавливается в пустую строку ("").

Указание значения для cNameSpace устанавливает аттрибут targetNamespace в это же значение и добавляет в схему аттрибут elementFormDefault="qualified".

Если вы не указали значения для cNamespace а схема является внешней, то декларация пространства имен не записывается в схему. Если вы не указали cNamespace, а схема является вложенной, то аттрибут targetNamespace схемы устанавливается в пустую строку ("").

Expand image Возвращаемое значение

Численный тип данных. CURSORTOXML( ) возвращает число байт, записанных в файл или посланных в переменную памяти.

Expand image Примечания

Вы можете использовать CURSORTOXML( ) с OLE DB Provider для Visual FoxPro. Однако, свойство VFPXMLProgID системной переменной _VFP не поддерживается, так как системная переменная _VFP не поддерживается в OLE DB Provider.

Замечание Замечание

Для использования Visual FoxPro OLE DB Provider с функцией CURSORTOXML( ), вы должны инсталлировать MSXML 3.0 на компьютер, на котором имеется OLE DB Provider.

Вывод, производимый CURSORTOXML( ) придерживается индексного упорядочивания курсора, SET FIELDS TO и текущей установки фильтрации. Однако, он не сохраняет местоположения указателя записи курсора. После вызова CURSORTOXML( ), если в вывод были посланы все записи, указатель записи курсора показывает на EOF. Если был произведен вывод не всех записей, то указатель записи указывает на последнюю запись, которая была направлена в XML.

Конечный XML, полученный с помощью CURSORTOXML( ) содержит те же самые размерности, что и экспортируемая таблица, если таблица содержит значения типов данных Double. Например, если колонка Double создана с размерностью 6, использование приведенного ниже кода приведет к тому, что в конечный XML будет содержать шесть цифр, справа от десятичной точки:

CopyCode image Скопировать код
CREATE TABLE test (col1 b(6))

Когда вы используете функцию CURSORTOXML( ) для экспорта таблицы или курсора в XML, корневой узел всегда содержит "VFPData", независимо от формата вывода.

Только для типов Date, вы можете экспортировать "EMPTY" для типов Date и DateTime при использовании CURSORTOXML( ). Однако, проверка схемы XML на действительность может провалиться, так как "EMPTY" не является действительным значением для этих типов в определении XML схемы (XSD). Это единственная проблема для случая, если требуется схема, а конечный XML проверяется XML парсером, который может интерпретировать схемы XSD. Для того, чтобы избежать подобного, вам может потребоваться изменить данные в их непустые представления, с помощью вызова подходящего предложения SELECT и использовать CURSORTOXML( ) на созданном таким образом курсоре. Например, вы можете изменить пустые значения Date или DateTime на .NULL.:

CopyCode image Скопировать код
SELECT orderid, EVL(shippeddate,.NULL.) as ShippedDate FROM orders

Вы можете , кроме того, изменить пустые значения Date или DateTime подходящими для "empty" представлениями :

CopyCode image Скопировать код
SELECT orderid, IIF(EMPTY(shippeddate),{^1899-12-30 00:00:00},tc11);
   as ShippedDate FROM orders

При использовании флага 32768, установки флагов 16 и 32 могут оказать влияние на применяемую кодовую страницу, в зависимости от типа данных, которые записываются в XML. В приведенной ниже таблицк показаны возможные комбинации установок и применяемые для каждой установки кодовые страницы.

Для XML документа, записанного с установленным флагом 32768, применяются приведенные ниже кодовые страницы.

Флаг 16 | Флаг 32 | Флаг 32768 установлен
Не установлен | Не установлен | XML документ: Window-1252. Данные в Unicode: code page 1252. Character data: default code page, unless a field is marked as NOCPTRANS.
True (.T) | Не установлен | XML документ: Plus-CodePage свойство курсора. Если свойство CodePage объекта XMLField CodePage больше чем ноль (0) и он не не содержит кодовую страницу курсора, сообщается об ошибке. Данные в Unicode: свойство Code page объекта курсора. Символьные данные: нет. Вместо этого используются текущие данные таблиц Visual FoxPro (.dbf).
Не установлен | Установлен | XML документ: UTF-8 code page. Данные в Unicode: UTF-8 code page. Символьные данные: Кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в противном случае не производится дополнительной трансляции в UTF-8.
Установлен | Установлен | XML документ: UTF-8 code page. Данные в Unicode: UTF-8 code page. Символьные данные: Кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в противном случае производится дополнительная трансляция в UTF-8 с использование значения установки SYS(3005).

Для XML документа, записанного без установки флага 32768, применяются перечисленные ниже кодовые страницы.

Флаг 16 | Флаг 32 | Без флага 32768
Не установлен | Не установлен | XML документ: Window-1252. Данные в Unicode: code page 1252. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS.
True (.T) | Не установлен | XML документ: Свойство CodePage курсора. Символьные данные: нет. Вместо этого используются текущие данные таблиц Visual FoxPro (.dbf). Данные в Unicode: Свойство кодовой страницы объекта курсор.
Не установлен | Установлен | XML документ: UTF-8 code page. Данные в Unicode: UTF-8 code page. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в противном случае не производится дополнительной трансляции в UTF-8.
Установлен | Установлен | XML документ: UTF-8 code page. Unicode data: UTF-8 code page. Character data: dкодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в противном случае, они транслируются в UTF-8 с использованием кодовой страницы для текущей установки SYS(3005).

Expand image Смотри также

Справочное руководство

Функция XMLUPDATEGRAM()
Функция XMLTOCURSOR( )

Концепции

Преобразования между XML и данными Visual FoxPro
XML данные в Visual FoxPro

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CURVAL( ) Function

Visual FoxPro 9.0 Language Reference
Функция CURVAL( )
Смотрите также Пример
CollapseAll image

Возвращает значение поля непосредственно с диска или из удаленного источника.

CURVAL(cExpression [, cTableAlias | nWorkArea])

Параметры

cExpression

Задает выражение, значение которого функция CURVAL( ) возвращает с диска или из удаленного источника. cExpression обычно является полем или списком полей таблицы или удаленного источника.

cTableAlias

Задает псевдоним таблицы, для которой с диска или из удаленного источника возвращается значение поля.

nWorkArea

Задает рабочую область таблицы, для которой с диска или из удаленного источника возвращается значение поля.

Expand image Возвращаемое значение

Character, Currency, Date, DateTime, Double, Float, Logical, Numeric, или Memo

Expand image Примечания

Сравнивая значения, возвращаемые функциями CURVAL( ) и OLDVAL( ), можно определить, не изменил ли какой-нибудь другой пользователь сети значение поля, когда оно редактировалось. Функции CURVAL( ) и OLDVAL( ) могут возвратить разные значения только в том случае, если включена оптимистическая буферизация строк или таблиц. Для включения оптимистической буферизации строк или таблиц следует использовать функцию CURSORSETPROP( ).

Note Note

Если вы работаета с представлением в многопользовательской среде, значения, возвращенные CURVAL() немогут быть актуальными, пока вы невызовите функцию REFRESH(). Данные, возвращенные представлением буферизированы, и функция CURVAL() читает значения из буфера. Однако, если другие пользователи изменили данные в основных таблицах для представления, буферизированные данные не обновляются пока не будет вызвана функция REFRESH().

Функция CURVAL( ) возвращает значение поля для текущей записи, а тип данных возвращаемого значения определяется выражением, заданным с помощью cExpression.

Если функция CURVAL( ) выдается без необязательных аргументов cTableAlias или nWorkArea, возвращается значение поля для таблицы или курсора, открытых в выбранной в данный момент рабочей области.

Expand image Пример

В данном примере создается свободная таблица mytable, и значение "One" помещается в поле cDigit. Оптимистическая буферизация становится возможной после команды SET MULTILOCKS ON и вызова функции CURSORSETPROP( ).

Затем значение "Two" помещается в поле cDigit, , функции CURVAL( ) и OLDVAL( ) используются для показа первоначальных значений поля cDigit. Функция TABLEUPDATE( ) используется для внесения изменений в таблицу, CURVAL( ) и OLDVAL( ) вызываются для показа новых значений поля cDigit. Поскольку данный пример рассчитан на одного пользователя, функции CURVAL( ) и OLDVAL( ) возвращают одинаковые значения.
CopyCode image Copy Code
CLOSE DATABASES
CLEAR

CREATE TABLE mytable FREE (cDigit C(10))
* Store original value
INSERT INTO mytable (cDigit) VALUES ("One")
SET MULTILOCKS ON        && Allow optimistic table buffering
= CURSORSETPROP("Buffering",5)   && Optimistic table buffering on
REPLACE cDigit WITH "Two"    && New value

? "Current value: " + CURVAL("cDigit", "mytable")
? "Old value: " + OLDVAL("cDigit", "mytable")
= TABLEUPDATE(.T.)       && Commit changes made to table
? "Table changes committed"
? "New current value: " + CURVAL("cDigit", "mytable")
? "New old value: " + OLDVAL("cDigit", "mytable")

Expand image Смотри также

Справочное руководство

Функция GETFLDSTATE( )
Функция OLDVAL( )
Функция TABLEREVERT( )
Функция TABLEUPDATE( )
Функция CURSORSETPROP( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DATE( ) Function

Visual FoxPro 9.0 Описание Языка
DATE( ), Функция
См. также Пример
CollapseAll image

Возвращает текущую системную дату (которая контролируется Операционной Системой), или создает правильную (в смысле совместимости 2000-compliant) константу типа Date.

DATE([nYear, nMonth, nDay])

Параметры

nYear

Определяет год (2000-compliant). Параметр nYear может принимать значение в диапазоне от 100 до 9999.

nMonth

Определяет номер месяца для определения даты. nMonth может принимать значение в диапазоне от 1 до 12.

nDay

Определяет номер дня для создаваемой даты. nDay может принимать значение от 1 до 31.

Expand image Возвращаемое значение

Типа Date

Expand image Комментарии

DATE( ) возвращает текущую системную дату, если параметры отсутствуют; или создает константу типа 2000-compliant Date по заданным параметрам; см. соответствующие установки в закладке Regional tab Диалогового бокса Options. Если параметр имеет значение = NULL, то он заменяется текущим системным значением.

В системе Microsoft Visual FoxPro нет команд или функций для изменения системного Времени / или Даты.

Expand image Пример

В следующем примере отображается текущая дата в двух форматах.

CopyCode image Копировать Код
CLEAR
SET CENTURY OFF
? DATE( )  && Displays today's date without the century
SET CENTURY ON
? DATE( )  && Displays today's date with the century
? DATE(1998, 02, 16)  && Displays a year 2000-compliant Date value

Expand image См. также

Описание

CTOD( ), Функция
DATETIME( ), Функция
DTOC( ), Функция
SET CENTURY, Команда
SET DATE, Команда
SET MARK TO, Команда
SYS( ) Функции (Visual FoxPro)

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


DATETIME( ) Function

Visual FoxPro 9.0 Справка по языку
Функция DATETIME( )
См.также Пример

Возвращает текущие дату и время в виде значения типа "дата-время" (DateTime) или создаёт значение типа DateTime, совместимое с принятым для решения проблемы 2000-го года (year 2000-compliant).

DATETIME([nYear, nMonth, nDay [, nHours [, nMinutes [, nSeconds]]]])

Параметры

nYear

Задает год, возвращаемый в значении типа DateTime, совместимом с принятым для решения проблемы 2000-го года. nYear может быть числом от 100 до 9999.
nMonth

Задает номер месяца в году, возвращаемом в значении типа DateTime, совместимом с принятым для решения проблемы 2000-го года. nMonth может быть числом от 1 до 12.
nDay

Задает номер дня в месяце, возвращаемом в значении типа DateTime, совместимом с принятым для решения проблемы 2000-го года. nDay может быть числом от 1 до 31.
nHours

Задает номер часа в дне, возвращаемом в значении типа DateTime, совместимом с принятым для решения проблемы 2000-го года. nHours может иметь значение от 0 (полночь) to 23 (11 P.M). Если параметр опущен, его значение принимается равным 0.
nMinutes

Задает номер минуты в часе, возвращаемом в значении типа DateTime, совместимом с принятым для решения проблемы 2000-го года. nMinutes может иметь значение от 0 до 59. Если параметр опущен, его значение принимается равным 0.
nSeconds

Задает номер секунды в минуте, возвращаемой в значении типа DateTime, совместимом с принятым для решения проблемы 2000-го года. nSeconds может иметь значение от 0 до 59. Если параметр опущен, его значение принимается равным 0.

Возвращаемое значение

DateTime

Замечания

Функция DATETIME( ) возвращает значение системных даты и времени, если её вызвать без указания аргументов. Любые параметры NULL, составляющие дату, замещаются текущими системными значениями. Параметры NULL, задающие время, вызовут замещение указанного времени значением 12:00:00.

Прим.переводчика: По крайней мере при региональных установках "Use system settings" для России, параметры NULL в элементах, задающих время, замещаются нулевыми значениями, в том числе и для часов. Так, вызов DATETIME(null,null,null,null,null,5) возвращает системную дату и время 0:0:05

Включите опциональные аргументы для возврата значения, совместимого с принятым для решения проблемы 2000-го года в формате, указанном в Regional tab диалогового блока Options.

Пример

В первом примерер значение типа Datetime с датой Нового года заносится в переменную tNewyear, а текущее значение системной даты и времени заносится в переменную tToday. Затем отображается число секунд, находящихся во временном интервале между этими двумя значениями.

Во втором примере используется функция DATETIME( ) для создания значения типа DateTime в формате, совместимом с принятым для решения проблемы 2000-го года.

Скопировать код
tNewyear = DATETIME(YEAR(DATE( ) ) + 1, 1, 1) && Next New Year
tToday = DATETIME( )
nSecondstonewyear = tNewyear - tToday
CLEAR
? "There are " + ALLTRIM (STR(nSecondstonewyear)) ;
 + " seconds to the next New Year."

CLEAR
SET CENTURY ON
SET DATE TO AMERICAN
? DATETIME(1998, 02, 16, 12, 34, 56) && Displays 02/16/1998 12:34:56 PM

См.также

Функция CTOT( )
Функция DATE( )
Функция DTOT( )
Функция HOUR( )
Функция SEC( )
Функция SECONDS( )
Команда SET SECONDS
Коанда SET SYSFORMATS
Функция TIME( )
Функция TTOC( )
Функция TTOD( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DAY( ) Function

Visual FoxPro 9.0 Описание Языка
DAY( ), функция
См. также Пример
CollapseAll image

Возвращает номер дня месяца для заданного выражения типа Date или DateTime.

DAY(dExpression | tExpression)

Параметры

dExpression

Определяет выражение типа Date, для которого функция DAY( ) возвращает номер дня месяца. Выражение dExpression может быть константа типа date, или переменная типа Date, или элемент массива, или поле таблицы.

tExpression

Определяет выражение типа DateTime, для которого функция DAY( ) возвращает номер дня месяца. Выражение tExpression может быть константа типа datetime, или переменная типа DateTime, или элемент массива, или поле таблицы.

Возвращаемое значение

Числового типа

Expand image Комментарии

DAY( ) возвращает число из диапазона: от= 1, до = 31.

Expand image Пример

CopyCode image Копировать Код
STORE {^1998-03-05} TO gdBDate

CLEAR
? CDOW(gdBDate)  && отображается: Четверг
? DAY(gdBDate) && отображается 5
? 'Задана дата: ', CMONTH(gdBDate), STR(DAY(gdBDate),2)

Expand image См. также

Описание

CDOW( ), функция
DOW( ), функция
SET FDOW, команда
SET FWEEK, команда
SYS( ), Общее Описание

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


DBC( ) Function

Visual FoxPro 9.0 Описание Языка
DBC( ), функция
См. также Пример
CollapseAll image

Возвращает имя и полный путь открытой текущей Базы Данных.

DBC( )

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

DBC( ) возвращает пустую строку, если в настоящий момент нет открытой Базы Данных.

Используйте команду SET DATABASE для определения текущей Базы Данных (контейнера).

Expand image Пример

В следующем примере, открывается База Данных testdata , и, с помощью функции DBC( ) отображается информация о файле контейнера.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')  && открываем контейнер Базы Данных.

CLEAR
? DBC( )  && отображается полное имя контейнера базы данных

Expand image См. также

Описание

ADD TABLE , Команда
CLOSE , Командаs
CREATE DATABASE , Команда
DISPLAY TABLES , Команда
OPEN DATABASE , Команда
REMOVE TABLE , Команда
SET DATABASE , Команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


DBF( ) Function

Visual FoxPro 9.0 Описание Языка
DBF( ), Функция
См. также Пример
CollapseAll image

Возвращает имя файла таблицы, открытой в заданной рабочей области или имеющей указанный алиас.

DBF([cTableAlias | nWorkArea])

Параметры

cTableAlias

Определяет Алиас открытой таблицы.

nWorkArea

Определяет номер рабочей области.

Если эти параметры отсутствуют, cTableAlias и nWorkArea, DBF( ) возвращает имя файла таблицы, открытой в текущей рабочей области. DBF( ) возвращает пустую строку, если в текущей или указанной рабочей области нет открытой таблицы. Если параметр cTableAlias указывает на неоткрытую таблицу, то система Visual FoxPro выдает соответствующее сообщение об ошибке.

Дополнительную информацию об использовании алиасов для открываемых таблиц см. в разделе USE.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Когда включена установка/настройка SET FULLPATH = ON, DBF( ) возвращает полный путь файла открытой таблицы. Если действует установка SET FULLPATH = OFF, DBF( ) возвращает имя диска и имя файла таблицы.

Expand image Пример

В следующем примере возвращается имя файла таблицы, по заданному при открытии алиасу или номеру рабочей области; когда таблицы закрываются , то возвращается пустая строка.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer IN 2 ALIAS mycust
CLEAR
? DBF(2)  && отображается полный путь файла customer.dbf
? DBF('mycust')  && отображается полный путь файла customer.dbf
CLOSE DATABASES
? DBF( )      && отображается пустая строка

Expand image См. также

Описание

CDX( ), Функция
FIELD( ), Функция
NDX( ), Функция
SET FULLPATH, Команда
USE, Команда

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


DBGETPROP( ) Function

Visual FoxPro 9.0 Справочник Языка
DBGETPROP () Функция
См. Также Пример

Отыскивает значение свойства для текущей базы данных или для полей, именованых подключений, таблиц, или представлений в текущей базе данных.

Обратите внимание:
Вы должны открыть базу данных прежде, чем Вы сможете отыскать ее свойства или свойства ее подключений, таблиц, обозрений, или полей. Однако, Вы не должны открывать таблицу или представление перед поиском их свойств.

DBGETPROP(cName, cType, cProperty)

Параметры

cName

Определяет имя текущей открытой базы данных или поля, именованного подключения, таблицы, или представления в текущей открытой базе данных для которых DBGETPROP( ) возвращает информацию. Для получения информации о поле в таблице или представлении, добавьте к имени поля или представления имя таблицы, содержащей поле. Например, чтобы возвратить информацию о поле custid в таблице customer , определите следующее для cName :
Скопировать код
customer.custid
cType

Определяет является ли cName текущей базой данных или полем, именованным подключением, таблицей, или представлением в текущей базе данных. Следующая таблица перечисляет значения для cType .

cType Описание

CONNECTION

cName является именованным подключением в текущей базе данных.

DATABASE

cName является текущей базой данных.

FIELD

cName является полем в текущей базе данных.

TABLE

cName является таблицей в текущей базе данных.

VIEW

cName является представлением в текущей базе данных.

cProperty

Определяет имя свойства для которого DBGETPROP( ) возвращает информацию. Следующие таблицы перечисляют значения, для которых Вы можете определить cProperty , типы возвращаемого значения, и описания каждого свойства. Каждое описание включает привилегии чтения и записи для каждого свойства. Если свойство только для чтения, его значение не может быть изменено с помощью DBSETPROP( ) . Свойства подключения

cProperty Тип Описание

Асинхронный

L

Режим соединения. (Заданная по умолчанию) Ложь (.F). определяет синхронное подключение. Истина (.T). определяет асинхронное подключение.

Чтение - запись.

BatchMode

L

Режим пакетной обработки. (Заданная по умолчанию) Истина (.T). определяет подключение, которое работает в пакетном режиме.

Чтение - запись.

Комментарий

C

Текст комментария подключения.

Чтение - запись.

ConnectString

C

Строка подключения входа в систему.

Чтение - запись.

ConnectTimeout

N

Интервал блокировки времени подключения в секундах. Значение по умолчанию - 0 (ждать неопределенно).

Чтение - запись.

База данных

C

Имя базы данных сервера, указанной предложением DATABASE в команде CREATE CONNECTION или в Проектировщике Подключения.

Чтение - запись.

DataSource

C

Имя источника данных как определено в файле Odbc.ini.

Чтение - запись.

DisconnectRollback

L

Определяет, завершена ли ожидающая транзакция или отменена, когда вызвается SQLDISCONNECT( ) для последнего дескриптора подключения.

Значением по умолчанию является ложь (.F)., указывая, что ожидающая транзакция завершена, когда SQLDISCONNECT( ) вызывается для последнего дескриптора подключения.

Определите истину (.T). для отката ожидающей транзакции, когда SQLDISCONNECT( ) вызывается для последнего дескриптора подключения.

На подключения с автоматическим процессингом транзакций эта установка не влияет.

Чтение - запись.

DispLogin

N

Содержит числовое значение, которое определяет, когда диалоговое окно ODBC Login должно отобразиться. DispLogin может принять следующие значения:

1 или DB_PROMPTCOMPLETE (от Foxpro.h). 1 - значение по умолчанию.

2 или DB_PROMPTALWAYS (от Foxpro.h).

3 или DB_PROMPTNEVER (от Foxpro.h).

Если заданы 1 или DB_PROMPTCOMPLETE, Microsoft Visual FoxPro отображает диалоговое окно ODBC Login, только если какая-нибудь требуемая информация отсутствует.

Если задано 2 или DB_PROMPTALWAYS, диалоговое окно ODBC Login всегда отображается, разрешая Вам изменить настройку перед соединением.

Если задано 3 или DB_PROMPTNEVER, диалоговое окно ODBC Login не отображается, и Visual FoxPro генерирует ошибку, если требуемая информация входа в систему отсутствует.

Чтение - запись.

DispWarnings

L

Содержит логическое значение, которое определяет, отображаются ли отлавливаемые предупреждения из отдаленной таблицы, ODBC, или Visual FoxPro. (Заданная по умолчанию) Истина (.T). определяет, что отлавливаемые ошибки отображаются.

Чтение - запись.

IdleTimeout

N

Неактивный интервал блокировки времени в минутах. Таймаут проверяется не чаще, чем один раз в минуту, поэтому возможно, что активные подключения могли быть дезактивироваты одну или две минуты спустя, после того, как указанный интервал времени истек. Значение по умолчанию - 0 (ждать неопределенно).

Чтение - запись.

PacketSize

N

Размер сетевого пакета, используемого подключением. Корректировка этого значения может ускорить выполнение. Значение по умолчанию - 4096 байтов (4K).

Чтение - запись

PassWord

C

Пароль подключения.

Чтение - запись.

QueryTimeout

N

Интервал блокировки времени запроса в секундах. Значение по умолчанию - 0 (ждать неопределенно).

Чтение - запись.

Transactions

N

Содержит числовое значение, которое определяет, как подключение управляет транзакциями над отдаленной таблицей. Транзакции могут принимать следующие значения:

1 или DB_TRANSAUTO (от Foxpro.h). 1 - значение по умолчанию. Процессинг транзакций над отдаленной таблицей управляется автоматически.

2 или DB_TRANSMANUAL (от Foxpro.h). Процессинг транзакций управляется вручную через SQLCOMMIT( ) и SQLROLLBACK( ) .

Чтение - запись.

UserId

C

Пользовательский идентификатор.

Чтение - запись.

WaitTime

N

Время в миллисекундах, через которое Visual FoxPro прверяет, завершила ли свое выполнение инструкция SQL. Значение по умолчанию - 100 миллисекунд.

Чтение - запись.

Свойства базы данных

cProperty Тип Описание

Comment

C

Текст комментария базы данных.

Чтение - запись.

DBCEventFileName

C

Относительный путь и имя файла внешнего программного файла, содержащего код Событий DBC.

DBCEvents

L

Допускаемое состояние События DBC. Установите в Истину (.T). для его разрешения.

Version

N

Номер версии базы данных.

Только для чтения.

Свойства полей для таблиц

cProperty Type Описание

Заголовок

C

Заголовок Поля. Если знак "=" (=) предшествует значению этого свойства, Visual FoxPro вычисляет его значение как выражение. В противном случае, он обработывается как строковый литерал.

Чтение - запись.

Comment

C

Текст комментария поля.

Чтение - запись.

DefaultValue

C

Значение поля по умолчанию.

Только для чтения.

DisplayClass

C

Имя класса, используемого для отображения поля.

Чтение - запись.

DisplayClassLibrary

C

Путь к библиотеке классов, указанной в свойстве DisplayClass .

Чтение - запись.

Format

C

Формат Поля для вывода. См. Format Property для перечня параметров настройки формата.

Чтение - запись.

InputMask

C

Формат поля для ввода. См. Свойство InputMask для перечня параметров настройки маски ввода.

Чтение - запись.

RuleExpression

C

Выражение правил для поля.

Только для чтения.

RuleText

C

Текст ошибки правила поля.

Только для чтения.

Свойства поля для представлений

cProperty Тип Описание

Caption

C

Заголовок поля. Если знак "=" (=) предшествует значению этого свойства, Visual FoxPro вычисляет значение как выражение. Иначе, оно обрабатывается как строковый литерал.

Чтение - запись.

Comment

C

Текст комментария поля.

Чтение - запись.

DataType

C

Тип данных для поля в представлении. Первоначально установленно в тип данных поля источника данных.

Для задания другого тип данных поля посредством DBSETPROP( ) , используйте синтаксис CREATE TABLE -SQL для создания полей.

Например, чтобы изменить тип данных целочисленного поля iCost в таблице Mytable в числовой тип с шириной 4 и 2 десятичными знаками, используйте

DBSETPROP('mytable.icost,'' поле '; 'DataType ', 'N(4,2)')

Вы можете также включить предложение NOCPTRANS, чтобы предотвратить трансляцию символа и memo-полей в другую кодовую страницу.

Чтение - запись для отдаленных представлений.

DisplayClass

C

Имя класса, используемого для отображения поля.

Чтение - запись.

DisplayClassLibrary

C

Путь к библиотеке классов, указанной в свойстве DisplayClass .

Чтение - запись.

DefaultValue

C

Значение поля по умолчанию.

Чтение - запись.

KeyField

L

Содержит Истину (.T). если поле определено в индексном выражении ключа; иначе, содержит Ложь (.F)..

Чтение - запись.

RuleExpression

C

Выражение правил поля.

Чтение - запись.

RuleText

C

Текст ошибки правила поля.

Чтение - запись.

Updatable

L

Содержит Истину (.T). если поле может быть модифицировано; иначе, содержит Ложь (.F)..

Чтение - запись.

UpdateName

C

Имя поля, которое используется, когда данные поля модифицируются в отдаленной таблице. По умолчанию, имя поля отдаленной таблицы.

Чтение - запись.

Свойства таблицы

cProperty Тип Описание

Comment

C

Текст комментария таблицы.

Чтение - запись.

DeleteTrigger

C

Выражение триггера удаления.

Только для чтения.

InsertTrigger

C

Выражение триггера Вставки.

Только для чтения.

Path

C

Относительный путь к таблице относительно DBC, включая имя файла.

Только для чтения.

PrimaryKey

C

Имя тэга первичного ключа.

Только для чтения.

RuleExpression

C

Выражение правила записи.

Только для чтения.

RuleText

C

Текст ошибки правила записи.

Только для чтения.

UpdateTrigger

C

Выражение триггера Модификации.

Только для чтения.

Свойства представлений

cProperty Тип Описание

AllowSimultaneousFetch

L

Применяется при использовании отдаленных представлений, разделяемых подключений, и к курсорам созданным, с использованием ODBC.

AllowSimultaneousFetch содержит Истину (.T). когда соответственно конфигурированным курсорам, совместно использующим подключение, разрешаются выбирать записи одновременно.

В проивном случае, когда одновременная выборка строк не разрешается, AllowSimultaneousFetch содержит Ложь (.F).

Обратите внимание:
Это свойство доступно в Visual FoxPro 8.0 и более поздних версиях. Представления, созданные в Visual FoxPro 8.0 и поздних версий, не совместимы с более ранними версиями. Запрос команды VALIDATE DATABASE версий, более младших чем Visual FoxPro 8.0, в контейнере базы данных, содержащей отдаленные представления, созданными или изменяемыми в Visual FoxProе 8.0 и поздних версий, генерирует ошибку. Запрос VALIDATE DATABASE RECOVER в версии до Visual FoxPro 8.0 удаляет свойство AllowSimultaneousFetch из любых подобных представлений.

BatchUpdateCount

N

Количество инструкций модификации, посланных в базовую программу для представлений. 1 - значение по умолчанию. Корректировка этого значения может значительно увеличить скорость выполнения модификации.

Чтение - запись.

Comment

C

Текст комментария представления.

Чтение - запись.

CompareMemo

L

Содержит истину (.T). (значение по умолчанию), если memo-поля (типов: Memo, General, или Picture, или, для отдаленных представлений, типа Timestamp), включены в предложение WHERE для модификации; иначе, содержит ложь (.F)..

Чтение - запись.

ConnectName

C

Именованое подключение, используемое когда представление открыто.

Только для чтения.

FetchAsNeeded

L

Если равно Истине (.T)., данные выбираются только при необходимости, так что указатель записи перемещается в строку, которая ещё не была выбрана.

Если равно Лжи (.F)., дополнительные данные выбираются в течение времени простоя. (Значение по умолчанию)

Обратите внимание:
FetchAsNeeded не применяется, когда прогрессивная выборка заблокирована (FetchSize - -1).

Чтение - запись.

FetchMemo

L

Содержит истину (.T). (значение по умолчанию), если поля мемо и general выбраны с помещением результатов в представление; иначе, содержит ложь (.F)..

Используйте Функцию ISMEMOFETCHED () для установления того, было ли выбрано memo-поле.

Чтение - запись.

FetchSize

N

Содержит количество записей, выбранных одновременно из отдаленных таблиц. Значение по умолчанию - 100 записей. Установка FetchSize в -1 возвращает полную выборку, ограниченную установкой MaxRecords.

Обратите внимание:
Прогрессивная выборка удерживает подключение на время, пока все строки не найдены. Проявите осмотрительность программируя с использвоанием FetchSize, если ShareConnection равно Истине (.T)..

Чтение - запись.

MaxRecords

N

Максимальное количество записей выборки, в момент возврата результатов. Значение по умолчанию - - 1 (все строки возвращены). Значение 0 определяет, что представление выполнено, но выборка не содержит строк.

Чтение - запись.

Offline

L

Содержит истину (.T). если представление - это автономное представление.

Только для чтения.

ParameterList

C

Параметры предложения WHERE. Формат для параметров - " ParameterName1 , ' Type1 '; ParameterName2 , ' Type2 '; ... " где Type является одним из следующих символов, определяющих тип параметра:

C - Символ D - Дата T - DateTime N - Числовой F - Плавающий B - Двойной I - Целое число Y - Валюта L - Логический

Например, ''MyParam1, 'C' " определяет единственный параметр символьного типа MyParam1.

Для подробной информации о создании параметризованых представлений, см. Как: Создайте Параметризованые Представления .

Чтение - запись.

Prepared

L

Содержит Истину (.T). если инструкции SQL готовы к последующему запросу функции REQUERY( ) . REQUERY( ) используется, чтобы отыскать данные для SQL представления заново. См. SQLPREPARE( ) для дополнительной информации о подготовке инструкций SQL. Значением по умолчанию является ложь (.F)..

Чтение - запись.

RuleExpression

C

Выражение для правила уровня записи.

Чтение - запись.

RuleText

C

Выражение для текста правила отображается при возникновении ошибки, когда данные отредактируются в окнах Browse или Edit.

Чтение - запись.

SendUpdates

L

Содержит истину (.T). если SQL запрос модификации послан чтобы обновить отдаленные таблицы; иначе, содержит ложь (.F). (значение по умолчанию).

Чтение - запись.

ShareConnection

L

Содержит истину (.T). если представление может разделять использование своего дескриптора подключения другими подключениями; иначе, содержит ложь (.F)..

Чтение - запись.

SourceType

N

Источник представления. SourceType может принять следующие значения: 1 - представление использует местные таблицы.

2 - представление использует отдаленные таблицы.

Только для чтения.

SQL

C

Инструкция SQL выполнилась, когда представление открыто.

Только для чтения.

Tables

C

Список имен таблиц через запятую.

Чтение - запись.

UpdateType

N

Тип модификации. Допустимые значения: 1 или DB_UPDATE (из Foxpro.h). Старые данные модифицированы новыми данными (значение по умолчанию).

2 или DB_DELETEINSERT (из Foxpro.h). Старые данные удалены, и новые данные вставлены.

Чтение - запись.

UseMemoSize

N

Минимальный размер (в байтах), для которого столбцы результата возвращены в memo-полях. Например, если ширина колонки результатов больше чем значение UseMemoSize, результаты сохраняются в memo-поле. UseMemoSize может измениться от 1 до 255; значение по умолчанию - 255.

Чтение - запись.

WhereType

N

Предложение WHERE для модификаций отдаленных таблиц. WhereType может принять следующие значения: 1 или DB_KEY (из Foxpro.h). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие только из первичных ключей, указанных в свойстве KeyFieldList .

2 или DB_KEYANDUPDATABLE (из Foxpro.h). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных ключей, указанных в свойстве KeyFieldList и любых обновляемых полей.

3 или DB_KEYANDMODIFIED (из Foxpro.h) (значение по умолчанию). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных ключей, указанных в свойтве KeyFieldList и любых другихе полей, которые обновляются.

4 или DB_KEYANDTIMESTAMP (из Foxpro.h). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных полей, указанных в свойстве KeyFieldList и для сравнения меток времени.

Для подробной информации о свойстве WhereType , см. Управление Модификациями с использованием Представлений .

Чтение - запись.

Возвращаемое значение

Символьный, Числовой, или Логический тип данных. DBGETPROP () возвращает значение для указанного свойства.

Замечания

Для подробной информации об установке значений свойства, см. DBSETPROP( ) Функция .

Пример

Следующий пример отображает имя первичного ключа поля для таблицы customer . Затем отображается комментарии поля для поля cust_id в таблице customer . Если нет никаких комментариев для поля, выводится сообщение, указывая, что комментарии поля отсутствуют. Чтобы добавлять комментарии, см. пример для DBSETPROP( ) .

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME(2) + 'Data\testdata')
* Displays the primary key field
cResults = DBGETPROP("customer", "Table", "PrimaryKey")
=MESSAGEBOX(cResults)   && Displays    'cust_id'
* Displays comments for the field 'cust_id'
cResults = DBGETPROP("customer.cust_id", "Field", "Comment")
IF LEN(ALLTRIM(cResults)) = 0
   =MESSAGEBOX("No Comment for this field." + CHR(13) + ;
     CHR (13) + "Use DBSETPROP( ) to add comments.")
ELSE
   =MESSAGEBOX("Cust_id field comments: " + cRESULTS)
ENDIF

См. Также

Ссылки

ISMEMOFETCHED () Функция

Другие Ресурсы

ADD TABLE
CREATE CONNECTION
CREATE DATABASE
CREATE SQL VIEW
CURSORGETPROP( ) Функция
CURSORSETPROP( ) Функция
DBSETPROP( ) Функция
DISPLAY DATABASE
LIST DATABASE
RENAME CONNECTION
SQLCOMMIT( ) Функция
SQLROLLBACK( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DBSETPROP( ) Function

Visual FoxPro 9.0 Справочник Языка
DBSETPROP () Функция
См. Также Пример

Устанавливает свойство для текущей базы данных или для полей, именованных подключений, таблиц, или представлений в текущей базе данных.

DBSETPROP(cName, cType, cProperty, ePropertyValue)

Параметры

cName

Определяет имя текущей открытой базы данных или поля, именованного подключения, таблицы, или представления в текущей открытой базе данных для который DBGETPROP( ) возвращает информацию. Для задания свойства поля в таблице или представлении, добавьте к имени поля имя таблицы или представления, содержащего это поле. Например, чтобы установить свойство для поля custid в талице customer , определите следующее для cName :
Скопировать код
customer.custid
cType

Определяет является ли cName текущей базой данных или определяет поле, именованное подключение, таблицу, или представление в текущей базе данных. Следующая таблица перечисляет значения, для которых Вы можете определить cType :

cType Описание

CONNECTION

cName является именованным подключением в текущей базе данных.

DATABASE

cName является текущей базой данных.

FIELD

cName является полем в текущей базе данных.

TABLE

cName является таблицей в текущей базе данных.

VIEW

cName является представлением в текущей базе данных.

cProperty

Определяет имя свойства, которое надо установить. Если свойство только для чтения, его значение не может быть изменено с помощью DBSETPROP( ) . Если Вы пытаетесь устанавливать свойство, которое определено только для чтения, Visual FoxPro генерирует сообщение об ошибке. Для подробной информации относительно свойств, которые Вы можете определить с помощью cProperty , включая их типы данных, см. DBGETPROP( ) .
ePropertyValue

Определяет значение в которое установлено cProperty . ePropertyValue должено иметь тот же тип данных, как тип данных свойства.
Предостережение:
Visual FoxPro не проверяет, что значение, которое Вы определяете, допустимо для свойства. Таким образом, имеется возможность установить свойство в недопустимое значение с помощью DBSETPROP( ) . Например, DBSETPROP( ) может быть использована, чтобы установить выражение правила поля в выражение, которое является недопустимым для этого поля, и Visual FoxPro не будет генерировать ошибку. Чтобы избежать ошибки при установке свойства представления таблиц, предварительно проверьте ePropertyValue со знаком обозначения базы данных в следующем синтаксисе:

Скопировать код
         <databaseName>!ePropertyValue

Возвращаемое значение

Логический тип данных. DBSETPROP( ) возвращает Истину (.T). если Visual FoxPro успешно устанавливает свойство, которое Вы определяете. Visual FoxPro генерирует ошибку, если свойство, которое Вы определяете, не может быть установлено.

Замечания

Для подробной информации о поиске текущих значений свойства, см. DBGETPROP( ) Функция .

Пример

Следующий примера использует DBSETPROP( ) для задания комментария для поля cust_id в таблице customer . DBGETPROP( ) используется, чтобы отобразить комментарий.

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer     && Open customer table
= DBSETPROP("customer.cust_id", "Field", "Comment", ;
  "Property has been set by DBSETPROP.")  && New field comments
cRESULTS = DBGETPROP("customer.cust_id", "Field", "Comment")
WAIT WINDOW "Cust_id field comments: "+ cRESULTS  && Display comments

См. Также

Другие Ресурсы

ADD TABLE
CREATE DATABASE
CURSORGETPROP( ) Функция
CURSORSETPROP( ) Функция
DBGETPROP( ) Функция
DISPLAY DATABASE
LIST DATABASE
OPEN DATABASE
SQLCOMMIT( ) Функция
SQLROLLBACK( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DBUSED( ) Function

Visual FoxPro 9.0 Описание Языка
DBUSED( ) Функция
См. также Пример
CollapseAll image

Возвращает значение = true (.T.) если указанная База Данных открыта.

DBUSED(cDatabaseName)

Параметры

cDatabaseName

Определяет имя Базы Данных, для котрого функция DBUSED( ) возвращает логическое выражение, показывающее текущее состояние базы данных (открыта она или нет).

Expand image Возвращаемое Значение

значение типа Logical

Expand image Комментарии

DBUSED( ) возвращает true (.T.) если база данных открыта; иначе возвращается значение = false (.F.).

Expand image Пример

В следующем примере открывается база данных TESTDATA, и используется функция DBUSED( ) для определения состояния баз данных TESTDATA и TEST.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')

CLEAR
? 'Testdata database open? '
?? DBUSED('testdata')     && Displays .T.
? 'Test database open? '
?? DBUSED('test')     && Displays .F.

Expand image См. также

Описание

Команда CLOSE
Команда CREATE DATABASE
Команда OPEN DATABASE

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


DDE Functions

Visual FoxPro 9.0 Справочное руководство по языку
DDE функции
Смотрите также
CollapseAll image

Инициируют обмен данными между Visual FoxPro и другими приложениями на базе Microsoft Windows.

Expand image Замечания

DDE (dynamic data exchange) - динамический обмен данными.

Visual FoxPro может выступать как в роли сервера, так и в роли клиента, посылая данные в другие приложения на базе Windows или получая из них информацию.

В приложениях, поддерживающих DDE приняты следующие соглашения об именах:

Имя | Описание
Имя службы | Имя, на которое отзывается сервер, когда клиент пытается к нему обратиться. Сервер может поддерживать множество имен служб.
Имя темы | Имя, определяющее логический набор данных. В приложениях на базе файлов именами тем обычно являются имена файлов. В других приложениях имена тем зависят от конкретного приложения. Чтобы получить доступ к серверу, клиент должен кроме имени службы сервера задать имя темы.
Имя элемента | Имя, определяющее элемент данных, который сервер может передать клиенту, запросившему информацию.

Чтобы запросить данные из другого приложения, создайте программу Visual FoxPro, которая определяет систему Visual FoxPro в качестве клиента. Далее приводится краткая схема создания простой программы Visual FoxPro, запрашивающей данные из другого приложения:

  • Установите связь с приложением-сервером, используя функцию DDEInitiate( ).

  • Если связь установлена успешно, запросите данные из приложения-сервера с помощью функции DDERequest( ). Эта функция может вызываться многократно для получения всех необходимых данных.

  • По завершении приема данных, с помощью функции DDETerminate( ) разорвите связь с приложением-сервером с целью освобождения системных ресурсов.

Упомянутые выше функции устанавливают т.н. "холодную" связь. Такая связь устанавливается, если все операции передачи данных между приложениями инициируются самим клиентом. Об информации о других типах связей смотрите описание функции DDEAdvise( ).

Далее приводится краткая схема программы, определяющей систему Visual FoxPro в качестве сервера:

  • С помощью функции DDESetService( ) создайте службу и задайте тип службы.

  • С помощью функции DDESetTopic( ) создайте тему службы и задайте процедуру, которая выполнится, когда эта тема будет указана в запросе клиента.

  • Создайте процедуру, задаваемую в DDESetTopic( ), которая принимает передаваемые ей параметры.

  • В процедуре выполните обработку запроса и, если нужно, возвратите запрошенные данные клиенту.

Обратите внимание, что перечисляемые DDE функции не отвечают установленным соглашениям о функциях Visual FoxPro в следующих аспектах:

  • Первые четыре символа имен этих функций не являются уникальными.

  • Имена функций состоят более чем из 10 символов и не могут быть сокращены.

    DDE функция Описание

    DDEAbortTrans( )

    Прекращает асинхронную транзакцию DDE.

    DDEAdvise( )

    Создает для DDE связь с уведомлением или автоматическую связь.

    DDEEnabled( )

    Включает или отключает обработку средствами DDE или возвращает статус обработки DDE.

    DDEExecute( )

    Используя DDE, посылает команду в другое приложение.

    DDEInitiate( )

    Устанавливает канал DDE между Visual FoxPro и другим приложением на базе Windows.

    DDELastError( )

    Возвращает номер ошибки для последней функции DDE.

    DDEPoke( )

    Передает данные между приложением-клиентом и приложением-сервером посредством связи DDE.

    DDERequest( )

    Запрашивает данные из приложения-сервера по связи DDE.

    DDESetOption( )

    Изменяет или возвращает установки DDE.

    DDESetService( )

    Создает, освобождает или модифицирует имена и установки служб в Visual FoxPro.

    DDESetTopic( )

    В сеансе связи DDE создает или освобождает имя темы, используя имя службы.

    DDETerminate( )

    Закрывает канал DDE, установленный функцией DDEInitiate( ).

Expand image Смотрите также

Справочное руководство

DDEAbortTrans( ), функция
DDEAdvise( ), функция
DDEEnabled( ), функция
DDEExecute( ), функция
DDEInitiate( ), функция
DDELastError( ), функция
DDEPoke( ), функция
DDERequest( ), функция
DDESetOption( ), функция
DDESetService( ), функция
DDESetTopic( ), функция
DDETerminate( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


DDEAbortTrans( ) Function

Visual FoxPro 9.0 Описание Языка
DDEAbortTrans( ), функция
См. также
CollapseAll image

Завершает Асинхронную Транзакцию обновления данных в режиме Dynamic Data Exchange (DDE) .

DDEAbortTrans(nTransactionNumber)

Параметры

nTransactionNumber

Определяет номер Транзакции, возвращаемый функциями DDEExecute( ), DDEPoke( ), или DDERequest( ), когда транзакция выполнена Серверным Приложением.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Режим Асинхронной Транзакции позволяет продолжать выполнение программного модуля Visual FoxPro, без режима ожидания момента завершения обновления данных Сервером Приложения.

Функции DDEExecute( ), DDEPoke( ), и DDERequest( ) выполняют ожидание в течение времени, заданном в функции DDESetOption( ), пока Сервер Приложения завершает обработку данных; если вы не используете пользовательские функции в процессе выполнения сервером приложения операций обновления данных. Использование пользовательских функций для выполнения операций обновления данных порождает режим Асинхронной Транзакции.

Если вызов функции DDEAbortTrans( ) осуществляется перед тем, как сервер обновляет данные, то назначенная пользовательская функция не будет вызвана для осуществления Транзакции.

DDEAbortTrans( ) возвращает значение = true (.T.), если асинхронная транзакция успешно завершена; в другом случае возвращается значение = false (.F.), тем самым Транзакция не завершена. Используйте функцию DDELastError( ) - для определения дополнительной информации о причинах "подвисания" данной Транзакции.

Expand image См. также

Описание

DDEExecute( ), функция
DDELastError( ), функция
DDEPoke( ), функция
DDERequest( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DDEAdvise( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция DDEAdvise( )
Смотрите также Пример
CollapseAll image

Создает связь с уведомлением или автоматическую связь, используемые средством динамического обмена данными (DDE).

DDEAdvise(nChannelNumber, cItemName, cUDFName, nLinkType)

Параметры

nChannelNumber

Задает номер канала.

cItemName

Задает имя элемента. Например, Microsoft Excel ссылается на ячейки электронной таблицы, используя систему обозначений в виде номеров строк и столбцов. Имя элемента R1C1 определяет ячейку в первой строке и первом столбце электронной таблицы.

cUDFName

Задает пользовательскую функцию, которая выполняется в том случае, когда устанавливается связь с уведомлением или автоматическая связь и изменяется элемент cItemName. Когда пользовательская функция выполняется, ей передаются следующие шесть параметров в указанном порядке:

Параметр Содержимое

Channel Number (номер канала)

Номер канала приложения-сервера.

Action (действие)

ADVISE или TERMINATE.

Item (элемент)

Имя элемента; например, R1C1 в случае ячейки электронной таблицы Microsoft Excel.

Data (данные)

Новые данные (автоматическая связь) или пустая строка (связь с уведомлением)

Format (формат)

Формат данных, например CF_TEXT.

(статус уведомления)

Тип связи (0 = ручная, 1 = с уведомлением, 2 = автоматическая).

В операторе LPARAMETER или PARAMETER пользовательской функции должны быть предусмотрены шесть параметров, чтобы функция могла принять значения, переданные из приложения-сервера. Если устанавливается связь с уведомлением, выполняется функция, определенная пользователем, и в параметре Data передается пустая строка. Позже можно выдать функцию DDERequest( ) для получения данных. Если устанавливается автоматическая связь, выполняется функция, определенная пользователем, и данные передаются в параметре Data.

Параметр Action содержит значение ADVISE, если связь обновляется сервером. Вызывается функция, определенная пользователем, и когда связь закрывается клиентом или сервером, параметр Action содержит TERMINATE.

Любые значения, возвращаемые пользовательской функцией, игнорируются.

nLinkType

Specifies the link type in the following way:

nLinkType Link type

0

Ручная

1

С уведомлением

2

Автоматическая

Можно отменить выдачу уведомлений из приложения-сервера, задав 0 в качестве nLinkType. При изменении элемента функция, определенная пользователем, выполняться не будет.

Expand image Возвращаемое значение

Logical

Expand image Примечания

Функция DDEAdvise( ) используется для создания связи с уведомлением или автоматической связи с данным элементом в приложении-сервере. Когда DDEAdvise( )создает связь с уведомлением, приложение-сервер будет уведомлять Visual FoxPro об изменении элемента с данным именем. Если создается автоматическая связь, приложение-сервер уведомляет Visual FoxPro об изменении элемента и передает в Visual FoxPro новые данные.

Чтобы создать связь, предварительно необходимо с помощью функции DDEInitiate( ) установить канал с приложением-сервером.

Функцию DDEAdvise( ) можно также использовать для отмены выдачи уведомлений из сервера.

DDEAdvise( ) возвращает значение "истина" (.T.) в случае успешного выполнения; в противном случае возвращается "ложь" (.F.).

Expand image Пример

Следующий пример демонстрирует установку канала DDE с электронной таблицей Sheet1 Microsoft Excel. Функции DDEAdvise( ) устанавливают две связи с содержимым двух ячеек электронной таблицы (R1C1 и R1C2). При изменении данных в какой-либо из этих двух ячеек выполняется пользовательская функция NEWDATA. Она тестирует параметры item и advise, чтобы определить, какой именно элемент изменился и какого рода связь была установлена.
CopyCode image Copy Code
PUBLIC mchannum
mchannum = DDEInitiate('Excel', 'Sheet1')
IF mchannum != -1
   = DDEAdvise(mchannum, 'R1C1', 'newdata', 1)     && Notify link
   = DDEAdvise(mchannum, 'R1C2', 'newdata', 2)     && Automatic link
   WAIT WINDOW 'Enter data in first two cells in Excel.'
ENDIF
PROCEDURE newdata
PARAMETERS channel, action, item, data, format, advise
IF action = 'ADVISE'
   DO CASE
      CASE item = 'R1C1'   && Notify link
         newvalue = DDERequest(channel, item)
         ? 'R1C1 notify link: ' + newvalue
      CASE item = 'R1C2'   && Automatic link
         newvalue = data
         ? 'R1C2 automatic link: ' + newvalue
   ENDCASE
ELSE
   IF action != "TERMINATE"
      = DDETerminate(mchannum)
 ENDIF
ENDIF

Expand image Смотри также

Справочное руководство

Функция DDEInitiate( )
Функция DDELastError( )
Функция DDESetOption( )
Функция DDETerminate( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DDEEnabled( ) Function

Visual FoxPro 9.0 Справочник Языка
DDEEnabled () Функция
См. Также

Разрешает или отключает динамический обмен данными (DDE) или возвращает статус DDE процесса.

DDEEnabled([lExpression1 | nChannelNumber [, lExpression2]])

Параметры

lExpression1

Определите истину (.T). или ложь (.F). для глобального разрешения или отключения DDE обработки. DDEEnabled( ) возвращает истину (.T). если DDE процессинг успешно разрешен или заблокирован; иначе возращается ложь (.F).
nChannelNumber

Определяет номер канала для канала чей статус DDE процессинга возвращает DDEEnabled( ) . DDEEnabled( ) возвращает истину (.T). если DDE обработка допускается для указанного канала и возвращает ложь (.F). если DDE обработка заблокирована.
lExpression2

Чтобы разрешить DDE процессинг для определенного канала, включите номер канала ( nChannelNumber ) и задайте истину (.T). для lExpression2 . Чтобы отключить DDE процессинг для определенного канала, включите номер канала ( nChannelNumber ) и задайте ложь (.F). для lExpression2 .

Возвращаемое значение

Логическое

Замечания

Используя DDEEnabled( ) , Вы можете глобально допустить или отключить процессинг. Вы можете также допустить или отключить DDE процессинг для определенных каналов.

DDEEnabled( ) может использоваться, чтобы защитить критический код или отключить ссылки в течение коротких периодов. Когда DDE обработка заблокирована, запросы клиента ставятся в очередь, до тех пор когда DDE процессинг вновь разрешен.

Если DDEEnabled( ) запущена без дополнительных параметров, возвращается глобальный статус DDE процессинга. DDEEnabled( ) возвращает истину (.T). если DDE процессинг глобально разрешен и ложь (.F). если DDE процессинг был глобально заблокирован.

См. Также

Другие Ресурсы

DDEAbortTrans( ) Функция
DDEAdvise( ) Функция
DDEExecute( ) Функция
DDEInitiate( ) Функция
DDELastError( ) Функция
DDEPoke( ) Функция
DDERequest( ) Функция
DDESetOption( ) Функция
DDESetService( ) Функция
DDESetTopic( ) Функция
DDETerminate( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DDEExecute( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция DDEExecute( )
Смотрите также Пример
CollapseAll image

Посылает команду в другое приложение, используя динамический обмен данными (DDE).

DDEExecute(nChannelNumber, cCommand [, cUDFName])

Параметры

nChannelNumber

Задает номер канала.

cCommand

Задает команду, которую вы хотите послать в другое приложение. Формат команды определяется приложением, для которого она предназначается. О том, каким должен быть синтаксис, можно узнать в документации по данному приложению.

cUDFName

Допускает асинхронные запросы на выполнение команд. Если аргумент cUDFName опущен, приложение-клиент переходит в ожидание на период времени, заданный функцией DDESetOption( ). Если аргумент cUDFName задает функцию, определенную пользователем, выполнение программы клиента будет продолжено сразу после выдачи запроса на выполнение команды.

Когда приложение-сервер завершит выполнение команды, начнет работать пользовательская функция, заданная аргументом cUDFName. Этой функции передаются шесть параметров в том порядке, как это показано в следующей таблице.

Параметр Содержимое

Channel Number (номер канала)

Номер канала приложения-сервера.

Action (действие)

XACTCOMPLETE (успешное выполнение). XACTFAIL (неудачное выполнение команды).

Item (элемент)

Имя элемента; например R1C1 для ячейки электронной таблицы Microsoft Excel

Data (данные)

Новые данные (REQUEST) или передаваемые данные (POKE или EXECUTED).

Format (формат)

Формат данных, например CF_TEXT.

Transaction Number (номер транзакции)

Номер транзакции, возвращаемый функцией DDEExecute( ).

Используйте функцию DDEAbortTrans( ) для отмены незавершенной транзакции. Если транзакция завершается с ошибкой, с помощью функции DDELastError( ) можно определить причину ошибки.

Если задано имя cUDFName, DDEExecute( ) не возвращает логического значения; вместо него возвращается номер транзакции, а в случае ошибки возвращается -1.

Expand image Возвращаемое значение

Logical

Expand image Примечания

Команда, посылаемая функцией DDEExecute( ), должна быть понятна приложению. Перед тем как выполнить команду, необходимо установить канал связи с приложением-сервером с помощью функции DDEInitiate( ).

Например, в Microsoft Excel имеется широкий набор макрокоманд, среди которых есть и команды DDE, позволяющие запрашивать данные из Visual FoxPro, находясь в Microsoft Excel. Если установить канал с Microsoft Excel, можно будет с помощью функции DDEExecute( ) посылать макрокоманды из Visual FoxPro в Microsoft Excel.

Если принимающее приложение успешно выполнит команду, DDEExecute( ) возвращает значение "истина" (.T.). Если принимающее приложение не в состоянии успешно выполнить команду или если заданный номер канала оказывается недействительным, DDEExecute( ) возвращает "ложь" (.F.). Если задана асинхронная пользовательская функция cUDFName , возвращается номер транзакции. Если возникает ошибка, DDEExecute( ) возвращает -1.

Expand image Пример

В следующем примере функция DDEInitiate( ) станавливает DDE канал между Visual FoxPro и электронной таблицей Sheet1 из Microsoft Excel. DDEExecute( ) используется для выполнения команды Microsoft Excel, которая развертывает окно Microsoft Excel до максимального размера.
CopyCode image Copy Code
gnChanNum = DDEInitiate('Excel', 'Sheet1')
IF gnChanNum != -1
   glExecute = DDEExecute(gnChanNum, '[App.Maximize]')
   IF glExecute != .F.
      WAIT WINDOW 'EXCEL window has been zoomed out.'
   ENDIF
   = DDETerminate(gnChanNum)   && Close the channel
ENDIF

Expand image Смотри также

Справочное руководство

Функция DDEAbortTrans( )
Функция DDEInitiate( )
Функция DDELastError( )
Функция DDESetOption( )
Функция DDETerminate( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DDEInitiate( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция DDEInitiate( )
Смотрите также Пример
CollapseAll image

Устанавливает канал динамического обмена данными (DDE) между Visual FoxPro и другим приложением на базе Microsoft Windows.

DDEInitiate(cServiceName, cTopicName)

Параметры

cServiceName

Задает имя службы приложения-сервера; в большинстве случаев это имя исполняемого файла без расширения. По умолчанию для Visual FoxPro используется имя службы Visual FoxPro. Если вы устанавливаете канал с Microsoft Excel, в качестве cServiceName берется Excel.

cTopicName

Задает имя темы. Тема определяется приложением и должна быть понятна ему. Например, одной из тем, предоставляемых почти на всех серверах DDE, является тема System. Имена служб и тем, поддерживаемых данным приложением, смотрите в документации на это приложение.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Функция DDEInitiate( ) устанавливает канал DDE между Visual FoxPro и приложением-сервером DDE. Как только канал установлен, Visual FoxPro может запрашивать данные из сервера, указывая в последующих функциях DDE номер этого канала. Visual FoxPro выступает в роли клиента, запрашивая данные из приложения-сервера по каналу связи.

Если канал успешно установлен, DDEInitiate( ) возвращает его номер. Номера каналов представляют собой неотрицательные числа, а общее количество каналов, которые можно установить, ограничено только системными ресурсами.

Если канал установить нельзя, DDEInitiate( ) возвращает -1. Если приложение-сервер не открыто, Visual FoxPro спрашивает, желаете ли вы его открыть. Если вы ответите Yes, нажав соответствующую кнопку, Visual FoxPro попытается открыть приложение. (С помощью функции DDELastError( ) можно определить, почему не удалось установить канал.)

Чтобы запретить выдачу запросов, предлагающих открыть приложение, установите в функции DDESetOption( ) опцию SAFETY. Можно для запуска приложения использовать и команду RUN с опцией /N.

Канал можно закрыть с помощью функции DDETerminate( ).

Expand image Пример

В следующем примере функция DDEInitiate( ) спользуется для установки канала DDE между Visual FoxPro и электронной таблицей Sheet1. 'Excel' представляет собой имя службы, а 'Sheet1' - имя темы. Номер канала * сохраняется в переменной памяти mchannum для использования в следующих функциях DDE.
CopyCode image Copy Code
mchannum = DDEInitiate('Excel', 'Sheet1')
IF mchannum != -1
   * Process client actions
   = DDETerminate(mchannum)  && Close the channel
ENDIF

Expand image Смотри также

Справочное руководство

Функция DDEAdvise( )
Функция DDEEnabled( )
Функция DDEExecute( )
Функция DDELastError( )
Функция DDEPoke( )
Функция DDERequest( )
Функция DDESetOption( )
Функция DDETerminate( )
Команда RUN | !

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DDELastError( ) Function

Visual FoxPro 9.0 Справочник Языка
DDELastError () Функция
См. Также

Возвращает номер ошибки для функции последнего динамического обмена данными (DDE).

DDELastError( )

Возвращаемое значение

Числовое

Замечания

Вы можете использовать DDELastError( ) чтобы помочь определить причину ошибки, когда функция DDE не выполняется успешно.

DDELastError( ) возвращает 0, если последняя функция DDE выполнилась успешно. Она возвращает значение отличное от нуля, если последняя функция DDE была неудачна. Следующая таблица перечисляет номера ошибок и их описания.

Количество ошибки | Описание
1 | Служба занята
2 | Тема Занята
3 | Занятый канал
4 | Такая служба отсутствует
5 | Такая тема(раздел) отсутствуют
6 | Недопустимый канал
7 | Недостаточно памяти
8 | Прием Таймаута
9 | Таймаут передачи
10 | Отсутствие DDEInitiate( )
11 | Клиент сделал попытку серверной транзакции
12 | Выполните таймаут
13 | Недопустимый параметр
14 | Мало памяти
15 | Ошибка памяти
16 | Отказ соединения
17 | Отказ запроса
18 | Таймаут на получение
19 | Невозможно вывести сообщение
20 | Множество синхронных транзакций
21 | Сервер не отвечает
22 | Внутренняя DDE ошибка
23 | Таймаут сообщений
24 | Недопустимый идентификатор транзакции
25 | Неизвестная

См. Также

Другие Ресурсы

DDEAbortTrans( ) Функция
DDEAdvise( ) Функция
DDEEnabled( ) Функция
DDEExecute( ) Функция
DDEInitiate( ) Функция
DDEPoke( ) Функция
DDERequest( ) Функция
DDESetOption( ) Функция
DDESetService( ) Функция
DDESetTopic( ) Функция
DDETerminate( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DDEPoke( ) Function

Visual FoxPro 9.0 Справочник Языка
DDEPoke () Функция
См. Также

Отправляет данные между клиентом и приложениями-серверами в сеансе динамического обмена данными (DDE).

DDEPoke(nChannelNumber, cItemName, cDataSent
   [, cDataFormat [, cUDFName]])

Параметры

nChannelNumber

Определяет номер канала для пересылки данных прикладной программы. Если этот канал - канал сервера, DDEPoke( ) посылает данные в ответ на запрос, или предварительно посылает уведомление или устанавливает автоматическое соединение.
cItemName

Определяет имя пункта, которому посылают данные. Имя пункта является специфическим для приложения и должно быть им понято. Например, Microsoft Excel поддерживает R1C1 как допустимое имя пункта, которое ссылается к первой ячейке в рабочем листе.
cDataSent

Определяет данные, посланные на имя пункта, указанное в cItemName .
cDataFormat

Определяет формат, используемый, чтобы послать данные. Заданный по умолчанию формат - CF_TEXT. В этом формате, поля разграничены символами табуляции, а записи разграничены символами перевода каретки и перевода строки.
cUDFName

Разрешает асинхронную передачу данных. Если cUDFName опущен, клиент ждет в течение периода, указанного DDESetOption( ) . Если Вы определяете имя пользовательской функции параметром cUDFName , выполнение программы клиента продолжается немедленно после того, как сделан запрос. Когда данные приложения сервера - доступны, выполняется пользовательская функция, указанная в cUDFName . В определяемую пользователем функцию передаются шесть параметров в следующем порядке:

Параметр Содержание

Channel Number

Номер канала приложения - сервера.

Action

XACTCOMPLETE (успешный транзакция).XACTFAIL (неудавшаяся транзакция).

Item

Имя пункта; например, R1C1 для ячейки рабочего листа Microsoft Excel.

Data

Новые данные (REQUEST) или отправленные данные (POKE или EXECUTED).

Format

Формат данных; например, CF_TEXT.

Transaction Number

Номер транзакции возвращенный DDEPoke( ) .

Используйте DDEAbortTrans( ), чтобы отменить незаконченную транзакцию. Если транзакция не выполнена, используйте DDELastError( ), для определения причины сбоя. Когда Вы включаете cUDFName , DDEPoke( ) возвращает номер транзакции, если она успешно завершилась или -1, если произошла ошибка.

Возвращаемое значение

Логическое

Замечания

DDEPoke( ) отправляет данные в виде символьная строка на имя пункта в приложении, указанным номером канала.

Если данные успешно посылают, DDEPoke( ) возвращмет истину (.T).. Если данные послать невозможно, DDEPoke( ) возвращмет ложь (.F).. Если включена асинхронная определяемая пользователем функция cUDFName , DDEPoke( ) возвращает номер транзакции; если происходит ошибка, DDEPoke( ) возвращмет -1.

См. Также

Другие Ресурсы

DDEAbortTrans( ) Функция
DDEInitiate( ) Функция
DDELastError( ) Функция
DDESetOption( ) Функция
DDETerminate( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DDERequest( ) Function

Visual FoxPro 9.0 Справочник Языка
DDERequest () Функция
См. Также Пример

Запрашивает Данные от приложения-сервера в сеансе динамического обмена данными (DDE).

DDERequest(nChannelNumber, cItemName [, cDataFormat [, cUDFName]])

Параметры

nChannelNumber

Определяет номер канала приложения-сервера.
cItemName

Определяет имя элемента. Имя элемента является специфическим для приложения и должно быть понято приложением. Например, Microsoft Excel использует обозначение строки и столбца для обращения к ячейкам в рабочем листе. Имя элемента R1C1 определяет ячейку в первой строке и первом столбце рабочего листа.
cDataFormat

Определяет формат для запроса данных. Заданный по умолчанию формат - CF_TEXT. В этом формате, поля разграничены табуляторами, а записи разграничены переводом каретки и переводом строки.
cUDFName

Позволяет асинхронную передачу данных. Если Вы опускаете cUDFName , Visual FoxPro ждет данных от сервера в течение периода, указанного в DDESetOption( ) . Если Вы определяете имя определяемой пользователем функции через cUDFName , Visual FoxPro продолжает выполнение программы немедленно после того, как запрос сделан. Когда данные становятся доступны от приложения-сервера, определяемая пользователем функция, указанная через cUDFName выполняется. В Определяемую пользователем функцию передаются шесть параметров в следующем порядке:

Параметр Содержание

Channel Number

Номер канала приложения - сервера.

Action

XACTCOMPLETE (успешная транзакция).XACTFAIL (неуспешная транзакция).

Item

Имя элемента; например, R1C1 для ячейки рабочего листа Microsoft Excel.

Data

Новые данные (REQUEST) или переданные данные (POKE или EXECUTED).

Format

Формат данных; например, CF_TEXT.

Transaction Number

Номер транзакции, возвращенный DDERequest( ) .

Используйте DDEAbortTrans( ) для отмены незаконченной транзакции. В случае сбоев транзакции, Вы можете использовать DDELastError( ) для определения, почему она оказалась незавершенной. Когда Вы включаете cUDFName , DDERequest( ) возвращается номер транзакции равный или больший чем 0 в случае завершения, или -1, если происходит ошибка.

Возвращаемое значение

Символьное

Замечания

Прежде, чем Вы можете запросить данных используя DDERequest( ) , Вы должны установить канал к приложению-серверу через DDEInitiate( ) .

Если запрос о данных успешен, DDERequest( ) возвращает данные как символьную строку. При сбоях запроса, DDERequest( ) возвращает пустую строку и DDELastError( ) возвращает значение отличное от нуля. Если Вы включаете асинхронную определяемую пользователем функцию cUDFName , DDERequest( ) возвращает номер транзакции в случае успеха, или -1, если происходит ошибка.

Пример

Следующие пример использует DDEInitiate( ) для устанавлки DDE канала между Visual FoxPro и рабочим листом Microsoft Excel, по имени Sheet1. 'Excel' - сервисное имя, и 'Sheet1' является именем темы. Номер канала сохранен в переменной памяти mchannum для использования в последующих функциях DDE.

DDERequest( ) запрашивает имя элемента R1C1, т.е. данные в первой строке и столбце таблицы Sheet1.

Скопировать код
mchannum = DDEInitiate('Excel', 'Sheet1')
IF mchannum != -1
   mrequest = DDERequest(mchannum, 'R1C1')
   IF !EMPTY(mrequest) AND DDELastError( ) = 0      && Successful
      WAIT WINDOW 'R1C1 contents: ' + mrequest
   ENDIF
   = DDETerminate(mchannum)            && Close the channel
ENDIF

См. Также

Другие Ресурсы

DDEAbortTrans( ) Функция
DDEInitiate( ) Функция
DDELastError( ) Функция
DDESetOption( ) Функция
DDETerminate( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DDESetOption( ) Function

Visual FoxPro 9.0 Описание Языка
DDESetOption( ), функция
См. также
CollapseAll image

Изменяет или возвращает текущие установки параметров подсистемы Dynamic Data Exchange (DDE).

DDESetOption(cOption [, nTimeoutValue | lExpression])

Параметры

cOption

Определяет имя параметра.

cOption Установка По-умолчанию Краткое описание

TIMEOUT

nTimeoutValue (количество в милисекундах)

2000

Определяет интервал времени Ожидания функций DDE ответной реакции Сервера Приложения; при отсутствии значения параметра nTimeoutValue возвращается текущая установка TIMEOUT.

SAFETY

lExpression (true (.T.) или false (.F.))

.T.

Определяет режим отбражения Диалогового бокса активации при использовании функции DDEInitiate( ), когда канал Сервера Приложения не отвечает; при отсутствии значения параметра lExpression возвращается текущая установка SAFETY .
nTimeoutValue

Определяет значение периода Ожидания (timeout).

lExpression

Включает или Отключает отображение соответствующего Диалогового Бокса.

Expand image Возвращаемое значение

Логическое или Числовое значение

Expand image Комментарии

Функция DDESetOption( ) используется для изменения или возврата значения установок подсистемы DDE. Допустимыми параметрами являются: TIMEOUT и SAFETY.

Expand image См. также

Описание

DDEAdvise( ), функция
DDEEnabled( ), функция
DDEExecute( ), функция
DDEInitiate( ), функция
DDEPoke( ), функция
DDERequest( ), функция
DDESetService( ), функция
DDETerminate( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DDESetService( ) Function

Visual FoxPro 9.0 Справочник Языка
DDESetService () Функция
См. Также

Создает, очищает, или изменяет сервисные имена и параметры настройки DDE.

DDESetService(cServiceName, cOption [, cDataFormat | lExpression])

Параметры

cServiceName

Определяет сервисное имя для создания, очищения, измения, или возвращения информации.
cOption

Определяет создать, очистить, или изменить сервисное имя или вернуть информацию о сервисном имени. Следующая таблица перечисляет варианты, с помощью которых Вы можете определить cOption , значения по умолчанию для опций и описание каждой опции.

Опция Значение по умолчанию Описание

DEFINE

-

Создает новое сервисное имя.

RELEASE

-

Очищает существующее сервисное имя.

ADVISE

.F.

Разрешает или запрещает уведомление клиента об изменениях в именах элементов.

EXECUTE

.F.

Разрешает или запрещает выполнение команды.

POKE

.F.

Разрешает или запрещает запросы клиента на передачу в службу.

REQUEST

.T.

Разрешает или запрещает запросы на получение к сервисному имени.

FORMATS

CF_TEXT

Определяет поддерживваемые форматы данных.

DEFINE

Создает новое сервисное имя. Например, следующая команда создает сервисное имя myservice :
Скопировать код
glNewService = DDESetService('myservice', 'DEFINE')
RELEASE

Очищает существующее сервисное имя, чтобы освободить ресурсы системы. Когда сервисное имя очищено, все тематические имена службы также очищаются. Следующая команда очищает сервисное имя, созданное в предыдущем примере:
Скопировать код
glRelease = DDESetService('myservice', 'RELEASE')
Чтобы очистить заданную по умолчанию службу Visual FoxPro, запустите эту команду:
Скопировать код
glRelFox = DDESetService('FoxPro', 'RELEASE')
ADVISE

Определяет, уведомлен ли клиент, когда изменяются данных в имени элемента, или определяет возврат текущего состояния сервисного имени. Обратитесь к DDEAdvise( ) для дополнительной информации об уведомлении клиентов. Чтобы разрешить уведомление клиента, определите истину (.T). для lExpression . Определение лжи (.F). для lExpression отключает уведомление клиента. Чтобы вернуть текущее состояние уведомления клиента для сервисного имени, опустите lExpression . DDESetService( ) возвращает истину, если разрешено уведомление клиента для сервисного имени; она возвращает ложь, если уведомление запрещено.
EXECUTE

Позволяет Вам разрешать или запрещать выполнение команды запроса к сервисному имени, или определить текущий статус выполнения для сервисного имени. Для разрешения запроса клиента на выполнение команды, определите истину (.T). для lExpression . Определение лжи (.F). для lExpression запрещает запрос клиента на выполнение команды. .F. - значение по умолчанию. Чтобы возвратить текущее состояние выполнения команды для сервисного имени, опустите lExpression . DDESetService( ) возвращает истину, если запросы выполнения команды клиента допускаются для сервисного имени; иначе, она возвращает ложь. Следующие команды допускают выполнение команды и запрещают запросы данных из клиентских приложений для сервисного имени myservice . Затем отображается текущее состояние выполнения команды для myservice :
Скопировать код
glExecute = DDESetService('myservice', 'EXECUTE', .T.)
glRequest = DDESetService('myservice', 'REQUEST', .F.)
? DDESetService('myservice', 'EXECUTE')
POKE

Позволяет Вам разрешить или запретить запросы на передачу к сервисному имени. Вы можете также определить текущий статус передачи к сервисному имени. Обратитесь к DDEPoke( ) для дополнительной информации о передаче данных на сервер или клиенту. Для разрешения клиенту посылать запросы на передачу, задайте истину (.T). для lExpression . Определение лжи (.F). для lExpression запрещает клиенту запрос на передачу. .F. - значение по умолчанию. Для возращения текущего статуса запроса на передачу сервисному имени, опустите lExpression . DDESetService( ) возвращает истину, если запросы на передачу разрешены для сервисного имени; она возвращает ложь, если запросы на передачу запрещены.
REQUEST

Используйте REQUEST, чтобы разрешить или запретить запрос клиента на получение к сервисному имени, или вернуть текущее состояние запроса для сервисного имени. Для разрешения клиенту запрашивать сервисное имя на получение, определите истину (.T). для lExpression . Определение лжи (.F). запрещает клиенту запрашивать сервисное имя. Истина (.T). является значением по умолчанию. Чтобы возвратить текущее состояние запроса сервисного имени, опустите lExpression . DDESetService( ) возвращает истину, если запросы клиента разрешены для сервисного имени; она возвращает ложь, если запросы клиента запрещены. Следующие команды запрещают запросы от клиентских приложений к сервисному имени myservice и выводят текущее состояние запроса для myservice :
Скопировать код
glRequest = DDESetService('myservice', 'REQUEST', .F.)
? DDESetService('myservice', 'REQUEST')
FORMATS [ cDataFormat ]

Определяет форматы данных, поддерживаемых сервисным именем. Серверные запросы форматов, не указанных в cDataFormat отклоняются. При определении форматов данных, включите перечень поддерживаемых форматов, отделенных запятыми. Например:
Скопировать код
=DDESetService('myservice', 'FORMATS', 'CF_TEXT, CF_SYLK')
Если Вы опускаете cDataFormat , то поддерживается только формат CF_TEXT.
lExpression

Определяет состояние опций REQUEST, EXECUTE, POKE, или ADVISE. Определите истину (.T). для lExpression чтобы разрешить опции, или ложь (.F).чтобы запретить.

Возвращаемое значение

Логическое

Замечания

Visual FoxPro может действовать как серввер динамического обмена данными (DDE) чтобы отправлять данные клиентским приложениям на базе Microsoft Windows. DDESetService( ) используется, чтобы создать, очистить, или изменить сервисные имена и параметры настройки в Visual FoxPro. Каждое сервисное имя может иметь набор тематических имен, созданных с помощью DDESetTopic( ) . Клиентские приложения запрашивают данные от тематичеких имен DDE.

DDESetService( ) возвращает истину (.T). если сервисное имя успешно создано, очищено, или изменено. Если сервисное имя не может быть создано, очищено, или изменено, DDESetService( ) возвращает ложь (.F)..

DDESetService( ) может также использоваться, чтобы возвратить информацию о сервисном имени. Visual FoxPro имеет заданное по умолчанию сервисное имя FoxPro. Имя службы Visual FoxPro имеет одно тематическое имя System. Следующая таблица перечисляет все имена элементов, поддерживаемых темой System.

Имя элемента | Элемент
Темы | Список доступных имен темы
Форматы | Список поддерживаемых форматов
Состояние | Занятый или Готовый
SysItems | Список имен элемента

Вы можете использовать DDESetTopic( ), чтобы изменить имя службы FoxPro или очистить его. Для информации об управлении именами службы Visual FoxPro, см. DDESetTopic( ) options.

См. Также

Другие Ресурсы

DDEEnabled( ) Функция
DDELastError( ) Функция
DDEPoke( ) Функция
DDESetTopic( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DDESetTopic( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция DDESetTopic( )
Смотрите также Пример
CollapseAll image

Создает или освобождает имя темы для данной службы в процессе связи динамического обмена данными (DDE).

DDESetTopic(cServiceName, cTopicName [, cUDFName])

Параметры

cServiceName

Задает имя службы. Новые имена служб можно задать функцией DDESetService( ).

cTopicName

Задает имя темы, которое предстоит создать или освободить. Если используется аргумент cUDFName, функция DDESetTopic( ) создает имя темы cTopicName. Если аргумент cUDFName опущен, имя темы cTopicNameосвобождается. Если cTopicName - пустая строка, то для любого имени темы, не объявленного явно, будет выполняться пользовательская функция, заданная аргументом cUDFName.

cUDFName

Задает имя определенной пользователем функции, которая должна выполняться каждый раз, когда приложение-клиент делает запрос к данному имени темы. Если имя cUDFName опущено, имя темы cTopicName освобождается для данной службы.

Когда выполняется пользовательская функция, ей передаются шесть параметров в указанном ниже порядке:

Параметр Содержимое

Channel Number (номер канала)

Номер канала клиента.

Action (действие)

ADVISE, EXECUTE, INITIATE, POKE, REQUEST, или TERMINATE.

Item (элемент)

Имя элемента, например R1C1 для ячейки электронной таблицы Microsoft Excel.

Data (данные)

Данные от клиента.

Format (формат)

Формат данных, например CF_TEXT.

Advise Status (статус уведомления)

Тип связи (0 = ручная, 2 = с уведомлением или автоматическая).

Значения параметров Item, Data и Advise Status зависят от параметра Action. The following table lists the Action parameter values and the values contained in the Item, Data, and Advise Status parameters. A dash (–) indicates that the parameter value is the empty string.

Значение Action Значение Item Значение Data Значение Advise Status

INITIATE

–

Имя темы

–

TERMINATE

–

–

–

POKE

Имя элемента

Новые данные

–

REQUEST

Имя элемента

–

–

EXECUTE

–

Новая команда

–

ADVISE

Имя элемента

–

Тип связи

Если функция, определенная пользователем, успешно обрабатывает запрос клиента, эта функция должна возвратить значение "истина" (.T.). Если запрос не может быть обработан или произошла ошибка, пользовательская функция должна возвратить "ложь" (.F.). Если "ложь" возвращается, когда значением параметра Action является INITIATE, запрос клиента к имени темы отвергается. Если "ложь" возвращается, когда значением Action является POKE, REQUEST или EXECUTE, запрос игнорируется. Если "ложь" возвращается, когда значением Action является ADVISE, запрос клиента на связь с уведомлением или автоматическую связь отвергается.

Expand image Возвращаемое значение

Logical

Expand image Примечания

После того как имя темы создано, при любом запросе клиента к этому имени Visual FoxPro выполняет пользовательскую функцию cUDFName. Этой функции передается набор параметров, значения которых определяются запросом клиента. Значение, возвращаемое пользовательской функцией, передается клиенту с помощью DDEPoke( ). Возвращаемое значение представляет собой логическое выражение, которое показывает, в состоянии ли данная тема предоставить услуги, запрошенные клиентом.

Функция DDESetTopic( ) возвращает значение "истина" (.T.), если она успешно создает или освобождает имя темы. Или возвращает "ложь" (.F). если название темы не может быть создано или освобождено. Пользуйтесь функцией DDELastError( ), чтобы определить причину неудачи при создании или освобождении имени темы.

Expand image Пример

В следующем примере создается простейшая среда сервера myserver, которая поддерживает выполнение команд Visual FoxPro из приложения-клиента. Приложение-клиент делает запросы к серверу myserver ерез * тему DO, и для выполнения команды клиента используется макроподстановка.

CopyCode image Copy Code
*** Set Visual FoxPro up as a DDE server ***
= DDESetService('myserver', 'DEFINE')
= DDESetService('myserver', 'EXECUTE', .T.)
= DDESetTopic('myserver', 'DO', 'DOTOPIC')
WAIT WINDOW 'Server portion service setup ... ' NOWAIT
*** Use Visual FoxPro as a DDE client ***
gnChannel = DDEInitiate('myserver','DO')
=DDEExecute(gnChannel, 'WAIT WINDOW "Command Executed ... "')
=DDETerminate(gnChannel)
PROCEDURE dotopic
PARAMETERS gnChannel, gcAction, gcItem, gData, gcFormat, gnAdvise
glResult = .F.
*** It's necessary to return .T. from an   ***
*** INITIATE action or no connection is made ***
IF gcAction = 'INITIATE'
   glResult = .T.
ENDIF
IF gcAction = 'EXECUTE'
   &gData
   glResult = .T.
ENDIF
IF gcAction = 'TERMINATE'
   WAIT WINDOW 'Goodbye ... ' NOWAIT
   glResult = .T.
ENDIF
RETURN glResult

После того как эта программа будет выполнена, вы будете иметь готовую службу Visual FoxPro, к которой могут обращаться другие приложения. Если у вас есть Microsoft Excel, можно запустить следующую макрокоманду Excel:

CopyCode image Copy Code
gnMyChan = INITIATE("myserver","DO")
=EXECUTE(MyChan,"WAIT WINDOW 'Hi, this is EXCEL speaking'")
=RETURN( )

Expand image Смотри также

Справочное руководство

Функция DDEEnabled( )
Функция DDELastError( )
Функция DDEPoke( )
Функция DDESetService( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DDETerminate( ) Function

Visual FoxPro 9.0 Справочник Языка
DDETerminate () Функция
См. Также

Закрывает канал динамического обмена данными (DDE), установленный функцией DDEInitiate( ) .

DDETerminate(nChannelNumber | cServiceName)

Параметры

nChannelNumber

Определяет номер канала для закрытия.
cServiceName

Определяет сервисное имя для закрытия.

Возвращаемое значение

Логическое

Замечания

Если канал успешно закрыт, DDETerminate( ) возвращает истину (.T).. Если канал не может быть закрыт, DDETerminate( ) возвращает ложь (.F)..

Убедитесь в закрытии каналов, как только больше в них нет необходимости чтобы экономить системные ресурсы.

Все каналы автоматически закрываются, если Вы выходите из Visual FoxPro, выбирая Выход из меню File или применяя команду QUIT в окне Command или программно.

См. Также

Другие Ресурсы

DDEAbortTrans( ) Функция
DDEAdvise( ) Функция
DDEExecute( ) Функция
DDEInitiate( ) Функция
DDELastError( ) Функция
DDEPoke( ) Функция
DDERequest( ) Функция
DDESetOption( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DEFAULTEXT( ) Function

Visual FoxPro 9.0 Описание Языка
DEFAULTEXT( ), функция
См. также
CollapseAll image

Возвращает имя файла с новым расширением, которое отсутствует до этого момента (расширение файла).

DEFAULTEXT(cFileName, cDefault)

Параметры

cFileName

Определяет имя файла (с полным путем и расширением, или без них) для возвращаемого значения.

cDefault

Определяет расширение файла, (по-умолчанию); без разделительной точки.

Expand image Возвращаемое значение

Символьного типа

Expand image См. также

Описание

ADDBS( ), функция
FILE( ), функция
FORCEEXT( ), функция
FORCEPATH( ), функция
JUSTDRIVE( ), функция
JUSTEXT( ), функция
JUSTFNAME( ), функция
JUSTPATH( ), функция
JUSTSTEM( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DELETED( ) Function

Visual FoxPro 9.0 Описание Языка
DELETED( ), Функция
См. также Пример
CollapseAll image

Возвращает логическое значение (.T./.F.), указавающее, отмечена ли на удаление текущая запись таблицы.

DELETED([cTableAlias | nWorkArea])

Параметры

cTableAlias| nWorkArea

Вы можете проверить текущий статус отметки на удаление записи таблицы, открытой в заданной рабочей области, параметр nWorkArea или имеющей заданный алиас, параметр cTableAlias. Если нет открытой таблицы в заданной рабочей области, DELETED( ) возвращает значение = false.

Если параметры отсутствуют, cTableAlias или nWorkArea, то статус отметки на удаление возвращается для текущей записи таблицы, открытой в текущей рабочей области.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Если запись помечена "на-удаление", DELETED( ) возвращает значение = true (.T.); в другом случае, DELETED( ) возвращает значение =false (.F.).

Отметка записей для удаления выполняется командами DELETE или DELETE – SQL, снятие пометки удаления записи выполняется командой RECALL.

Технология ускорения выполнения запросов Rushmore Query Optimization включается при использовании в индексных выражениях данной функции DELETED( ).

См. дополнительно разделы SET OPTIMIZE и Использование технологии Rushmore Query Optimization для ускорения доступа к Данным.

Expand image Пример

В следующем примере открывается таблица customer, из базы данных testdata. Команда DELETE – SQL используется для удаления всех записей, для которых выполняется условие country = 'USA'. Функция DELETED( ) используется для отображение записей таблицы, помеченных для удаления. Команда RECALL ALL используется для снятия отметки на удаление.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

DELETE FROM customer WHERE country = 'USA'  && Mark for deletion
CLEAR
LIST FIELDS company, country FOR DELETED( ) && List marked records
RECALL ALL  && Unmark all records marked for deletion

Expand image См. также

Описание

DELETE, Команда
DELETE - SQL, Команда
PACK, Команда
RECALL, Команда
SET DELETED, Команда

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


DESCENDING( ) Function

Visual FoxPro 9.0 Описание Языка
DESCENDING( ), функция
См. также Пример
CollapseAll image

Возвращает логическое значение, характеризующее, что данный индексный Тэг создан с опцией DESCENDING (сортировка "по-убыванию") или ключевая опция DESCENDING была использована в командах управления индексными файлами USE, SET INDEX, или SET ORDER.

DESCENDING([CDXFileName[, nIndexNumber [, nWorkArea | cTableAlias]]])

Параметры

CDXFileName

определяет имя составного индексного файла (.cdx) CDXFileName. Составной индексный файл может быть структурным индексным файлом, который открывается автоматически, вместе с открытием Таблицы данных, или независимым составным индексным файлом (имя которого не совпадает с именем файла таблицы данных), который должен быть открыт отдельной командой SET INDEX....

nIndexNumber

Определяет номер индексного Тэга (из составного индексного файла) или номер простого индексного файла (.idx), который тестируется рассматриваемой функцией DESCENDING( ). nIndexNumber - это некоторое целое число, большее или равное 1, которое зависит от порядка открытия индексных файлов и соответствующих Тэгов.

Если значение параметра nIndexNumber = 1, то возвращается характеристика главного простого индексного файла (.idx), или главного индексного Тэга (если таковой имеется).

Для больших значений параметра nIndexNumber >1, возвращается характеристика Тэга составного индексного файла, в котором индексные Тэги размещаются в порядке их создания, это относится как к независимым составным индексным файлам, так и к структурным индексным файлам.

Порядок размещения индексных Тэгов принимается следующий: сначала размещаются индексные Тэги структурного индексного файла, после этого следуют индексные Тэги независимого составного индексного файла. В каждом подмножестве индексных Тэгов из указанных индексных файлов они размещаются в порядке их создания.

Рассматриваемая функция может вернуть пустое значение (empty string)если задается значение параметра nIndexNumber, которое больше общего числа открытых простых индексных файлов и двух подмножеств Тэгов структурных и независимых составных индексных файлов. И так далее.

nWorkArea| cTableAlias

Определяет номер рабочей области или алиас открытой таблицы данных, если рассматриваемая функция используется для характеристики индексного Тэга Таблицы, открытой не в Текущей рабочей области.

Если в текущей рабочей области или в указанной рабочей области нет открытой таблицы, система Visual FoxPro генертрует сообщение об Ошибке.

Expand image Возвращаемое значение

Логического типа (Logical)

Expand image Комментарии

Вы можете установить "убывающий" порядок следования записей вашей таблицы следующими способами:

  • Вы можете включить ключевую опцию DESCENDING в соответствующей команде INDEX, при создании некоторого индексного Тэга в составном индексном файле (.cdx.)

  • Вы можете использовать ключевую опцию DESCENDING при использовании команд открытия таблиц и индексных файлов: USE, SET INDEX или SET ORDER, это справедливо также для простых индексных файлов (.idx).

Функция DESCENDING( ) может применяться в том случае, когда индекс создается с использованием указанной ключевой опции. DESCENDING( ) возвращает значение = True (.T.), если соответствующий индексный Тэг создан с указанием ключевой опции DESCENDING .

DESCENDING( ) может также определить характеристику рассматриваемого Тэга в других случаях. DESCENDING( ) возвращает значение = true (.T.), если ключевая опция DESCENDING использовалась при открытии индексных файлов в командах: USE, SET INDEX, или SET ORDER, а также при использовании простых индексных файлов (.idx).

Если рассматриваемая функция вызывается без указания дополнительных параметров, DESCENDING( ) возвращает запрашиваемую характеристику текущего индексного Тэга для таблицы, открытой в текущей рабочей области. Если выполнена команда установки физического размещения записей в Таблице (SET ORDER TO), то данная функция возвращает значение DESCENDING( ) = false (.F.).

Expand image Пример

В следующем примере: открывается таблица с именем customer, которая закреплена за контейнером базы данных: testdata.Оператор цикла FOR ... ENDFOR используется для перебора всех индексных Тэгов, открываемых вместе с открытием таблицы (предполагается наличие структурного индексного файла) customer.cdx . Для каждого индексного Тэга проверяется наличие возможности обратной (по-убыванию) сортировки записей таблицы.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer && Open customer table
CLEAR

FOR nCount = 1 TO TAGCOUNT( )
 IF !EMPTY(TAG(nCount)) && Checks for tags in the index
 ? TAG(nCount) + ' Descending? ' && Display tag name
 ?? DESCENDING(nCount) && Display descending status
 ELSE
 EXIT && Exit the loop when no more tags are found
 ENDIF
ENDFOR

Expand image См. также

Описание

INDEX , команда
SET INDEX , команда
SET ORDER , команда
USE , команда

Другие ссылки

Functions
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


DIFFERENCE( ) Function

Visual FoxPro 9.0 Описание Языка
DIFFERENCE( ), функция
См. также Пример
CollapseAll image

Возвращает целое значение от = 0, до = 4, указывающее уровень фонетического различия между двумя символьными выражениями.

DIFFERENCE(cExpression1, cExpression2)

Параметры

cExpression1, cExpression2

Определяют символьные выражения, для которых производится специфическое сравнение функцией DIFFERENCE( ).

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Функция DIFFERENCE( ) очень полезна для поиска в Таблицах, при жестких условиях определения точных данных.

Чем более одинаковы символьные выражения (по фонетическому звучанию), тем выше возвращаемое значение функцией DIFFERENCE( ). Если символьные выражения произносятся одинаково, то DIFFERENCE( ) возвращает значение = 4. Для двух символьных выражений, которые в фонетическом смысле, совершенно различны, возвращается значение = 0.

Expand image Пример

CopyCode image Копировать Код
STORE 'Smith' TO gcName1
STORE 'Smythe'  TO gcName2
STORE 'Smittie' TO gcName3
STORE '' TO gcName4
CLEAR
? DIFFERENCE(gcName1, gcName2)  && отображается 4
? DIFFERENCE(gcName1, gcName3)  && отображается 4
? DIFFERENCE(gcName1, gcName4)  && отображается 1

Expand image См. также

Описание

SOUNDEX( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DIRECTORY( ) Function

Visual FoxPro 9.0 Справочник Языка
DIRECTORY () Функция
См. Также

Определяет местонахождение указанного каталога.

DIRECTORY(cDirectoryName [, nFlags])

Параметры

cDirectoryName

Определяет имя каталога, чтобы определить его местонахождение. Если Вы не включаете абсолютный путь для каталога, который Вы определяете, Visual FoxPro производит поиск этого каталога относительно каталога Visual FoxPro по умолчанию.
nFlags

Определяет вид значения, которое возращает DIRECTORY () , когда каталог существует, но может быть помечен атрибутами Скрытый или Системный . Следующая таблица перечисляет значения для nFlags .

nFlags Описание

0

DIRECTORY () Возвращает Ложь (.F). если каталог существует, но помечен атрибутами Скрытый или Системный. (Значение по умолчанию)

1

DIRECTORY () Возвращает Истину (.T). если каталог существует, независимо от его атрибутов. Установка nFlags в 1 позволяет Вам проверять скрытые или системные файлы.

Возвращаемое значение

Логический тип данных. DIRECTORY () Возвращает Истину (.T). если указанный каталог найден на диске; иначе, возвращает Ложь (.F)..

Замечания

Команда SET DEFAULT определяет каталог Visual FoxPro по умолчанию.

Вы можете использовать функцию ADIR () , чтобы вернуть атрибуты для каталога.

Вы можете использовать команды CD и CHDIR , чтобы перейти к скрытым файлам и каталогам.

См. Также

Другие Ресурсы

SET DEFAULT Команда
ADIR( ) Функция
CD | CHDIR Команда
FILE( ) Функция
GETDIR( ) Функция
GETFILE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DISKSPACE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция DISKSPACE( )
Смотрите также Пример
CollapseAll image

Возвращает объем свободного пространства в байтах на используемом по умолчанию диске или томе.

DISKSPACE([cVolumeName [, nType]])

Параметры

cVolumeName

Определяет имя жесткого диска или тома, размер доступного пространства на котором должна возвратить функция. Если параметр cVolumeName опущен, функция возвратит размер доступного пространства для диска или тома заданного по умолчанию.

nType

Задает тип дискового пространства, размер которого необходимо определить. В следующей таблице описаны значения параметра nType.

Значение Описание

1

Общий объем диска.

2

Общий объем свободного пространства на диске. (По умолчанию)

3

Общий объем доступного свободного пространства на диске в контексте пользовательского запроса.

Expand image Возвращаемое значение

Numeric. Функция DISKSPACE( ) возвращает объем указанного дискового пространства в байтах. Если диск полон, функция DISKSPACE( ) возвратит 0 или -1. Если при чтении информации с жесткого диска или тома возникает ошибка, функция DISKSPACE( ) также возвращает –1.

Note Примечание

В некоторых сетях значение, возвращаемое функцией DISKSPACE( ) для больших сетевых дисков, может быть не совсем точным. Кроме того, DISKSPACE( ) в некоторых случаях может возвратить -1 при наличии длинных имен каталогов под Windows 98.

Expand image Замечания

С помощью данной функции удобно определять, достаточно ли места на диске, например, для резервных копий файлов или для работы таких команд, как SORT, которой нужно дополнительное пространство на диске для временных рабочих файлов.

Для задания диска или том по умолчанию можно использовать команду SET DEFAULT.

Expand image Пример

В следующем примере функция DISKSPACE( ) определяет, достаточно ли на диске свободного места для выполнения сортировки.
CopyCode image Скопировать код
*** Check DISKSPACE before sort ***
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

*** Get size of table header ***
gnTableHead = HEADER( )

*** Calculate size of table ***
gnFileSize = gnTableHead + (RECSIZE( ) * RECCOUNT( ) + 1)
IF DISKSPACE( ) > (gnFileSize * 3)
   WAIT WINDOW 'Дискового пространства для сортировки достаточно.'
ELSE
   WAIT WINDOW 'Дискового недостаточно. Сортировка не может быть выполнена.'
ENDIF

Expand image Смотрите также

Справочное руководство

Команда SET DEFAULT
Функция HEADER( )
Функция RECSIZE( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


DisplayPath( ) Function

Visual FoxPro 9.0 Описание Языка
DisplayPath( ), функция
См. также
CollapseAll image

Исключает длинное выражение пути на определенную длину для показа.

DisplayPath(cFilename, nMaxLength)

Параметры

cFileName

Определяет имя файла, для которого нужно получить "короткий путь". Если вы задаете в качестве данного параметра cFileName - пробелы, Visual FoxPro возвращает имя текущего каталога. Если вы задаете пустую строку, функция DISPLAYPATH( ) возвращает пучтую строку. Имя текущего каталога можно получить также с помощью функции CURDIR( ).

Note Обратите Внимание

Данная функция не проверяет реальное существование указанного файла, и возвращает урезанное имя по заданным параметрам.

nMaxLength

Определяет максимальную длину возвращаемого значения. nMaxLength должен бать >=10 (больше или равен).

Expand image Возвращаемое значение

Символьного типа. Функция DisplayPath( ) возвращает строку с символами в нижнем регистре (прописными).

Expand image Комментарии

DisplayPath( ) возвращает символьную строку только для целей отображения данных на экране, поэтому возвращаемое значение не рекомендуется для использования при ссылке на реальный файл. Длина результата меньше или равно заданного значения nMaxLength. Тем не менее, в результирующей строке имена каталогов "не ломаются". Если полное получаемое имя превышает заданный размер nMaxLength, результат указывается как многоточие, (...). Если имя файла превышает величину nMaxLength, то в результате отображается имя файла + расширение.

Expand image См. также

Описание

JUSTPATH( ), функция
CURDIR( ), функция
ADIR( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


DMY( ) Function

Visual FoxPro 9.0 Справка по языку
Функция DMY( )
См.также Пример

Возвращает символьное выражение в формате день-месяц-год (например, 31 May 1998) из выражения типа "дата" (Date) или "дата-время" (DateTime). Наименование месяца не сокращается.

DMY(dExpression | tExpression)

Параматры

dExpression

Задает выражение типа "дата", из которого функция DMY( ) извлекает символьную строку в формате день-месяц-год.
tExpression

Задает выражение типа "дата-время", из которого функция DMY( ) извлекает символьную строку в формате день-месяц-год.

Возвращаемое значение

Символьное

Примечания

Если задана установка SET CENTURY OFF, функция DMY( ) возвращает символьную строку в формате дд-Месяц-гг (например, 16 February 98). Если задана установка SET CENTURY ON, функция DMY( ) возвращает символьную строку в формате дд-Месяц-гггг (например, 16 February 1998).

Пример

Скопировать код
CLEAR
SET CENTURY OFF
? DMY(DATE())
SET CENTURY ON
? DMY(DATE())

См.также

Функция MDY( )
Команда SET CENTURY
Команда SET DATE
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DODEFAULT( ) Function

Visual FoxPro 9.0 Описание Языка
DODEFAULT( ), функция
См. также
CollapseAll image

Выполняет программный код события или метода родительского класса, от которого порожден данный подкласс, с аналогичным именем события или метода.

Например, если вы поместите рассматриваемую функцию DODEFAULT( ) в код события Click данного подкласса, Visual FoxPro выполнит программный код события Click самого родительского класса. Оператор области разрешения ссылки (::), в отличие от функции DODEFAULT( ), выполняет программный код события или метода родительского класса, имеющих другое имя (наименование).

Note Примечание

Функцию DODEFAULT( ) вы можете расместить только в программном коде соответствующего события или метода.

DODEFAULT( [ eParameter1 [, eParameter2] ...] )

Параметры

eParameter1[, eParameter2] ...

Определяет список необязательных параметров соответствующего события или метода, который должен быть выполнен.

Expand image Возвращаемое значение

Соответствующих типов: Character, Numeric, Currency, Date, DateTime, Logical, или Memo

Expand image Комментарии

Возвращаемое значение функцией DODEFAULT( ) определяется соответствующим программным кодом рассматриваемого события или метода.

В версиях, до Visual FoxPro 8.0, вы не могли выполнять вызов функции DODEFAULT( ) в программных кодах событий или методов, которые отсутствуют в соответствующем родительском классе, при этом система Visual FoxPro генерировала соответствующую ошибку: "Property name is not found (Error 1734)" (Указанное свойство Отсутствует), возвращалось значение = True (.T.), а указанная функция DODEFAULT( ) - игнорировалась, вместе с задаваемыми параметрами. Однако, в настоящей версии Visual FoxPro, также происходит игнорирование данной ситуации, указанная выше ошибка подавляется, но следующие ситуации продолжают проявляться:

  • Visual FoxPro игнорирует все переданные параметры в программный код метода, так как метод отсутствует.

  • Visual FoxPro всегда возвращает значение = True (.T.), что является стандартным возвратом любой функции, при отсутствии явного оператора RETURN.

Данная ситуация имеет место в следующем случае:

  • Определен некоторый метод в рассматриваемом классе. Например, в строке: x.Test(), в ранних версиях, меньше чем Visual FoxPro 8.0 возникала ошибка, в настоящий момент - она отсутствует:

    CopyCode image Копировать Код
    CLEAR
    x=CREATEOBJECT("s1")
    x.ReadMethod("Init")
    x.Test()

    DEFINE CLASS s1 AS Session
     PROCEDURE Test
     DODEFAULT()
     ENDPROC
     PROCEDURE ReadMethod(cMethod)
     DODEFAULT(cMethod)
     ENDPROC
     PROCEDURE Error(nError, cMethod, nLine)
     ? "Error:", nError, cMethod, nLine
     ENDPROC
    ENDDEFINE

  • Внутренний метод помечен опцией HIDDEN для родительского класса. Например:

    CopyCode image Копировать Код
    CLEAR
    x=CREATEOBJECT("s2")
    x.Test()

    DEFINE CLASS s2 AS s1
     PROCEDURE Test
     THIS.ReadMethod("Init")
     ENDPROC
     PROCEDURE ReadMethod(cMethod)
     DODEFAULT(cMethod)
     ENDPROC
    ENDDEFINE

    DEFINE CLASS s1 AS Session
     HIDDEN PROCEDURE ReadMethod(cMethod)
     DODEFAULT(cMethod)
     ENDPROC
     PROCEDURE Error(nError, cMethod, nLine)
     ? "Error:", nError, cMethod, nLine
     ENDPROC
    ENDDEFINE

Начиная с версии Visual FoxPro 7.0, вызов внутреннего метода базового класса, содержащего рассматриваемую функцию DODEFAULT( ) не приводит к сообщению об ошибке. Например:

CopyCode image Копировать Код
CLEAR
x=CREATEOBJECT("s1")
x.ReadMethod("Init")

DEFINE CLASS s1 AS Session
 PROCEDURE ReadMethod(cMethod)
 DODEFAULT(cMethod)
 ENDPROC
 PROCEDURE Error(nError, cMethod, nLine)
 ? "Error:", nError, cMethod, nLine
 ENDPROC
ENDDEFINE

Expand image См. также

Описание

::, оператор области разрешения ссылки
ParentClass, свойство

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


DOW( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция DOW( )
Смотрите также Пример
CollapseAll image

Возвращает номер дня недели исходя из выражения даты или типа DateTime.

DOW(dExpression | tExpression [, nFirstDayOfWeek])

Параметры

dExpression

Задает выражение даты, из которого функция DOW( ) возвращает номер дня.

tExpression

Задает выражение типа DateTime, из которого функция DOW( ) возвращает номер дня.

nFirstDayOfWeek

Задает первый день недели. nFirstDayOfWeek может принимать одно из следующих значений.

nFirstDayOfWeek Описание

0

Функция DOW( ) использует день, который в этот момент выделен в списке Week Starts On на вкладке Regional диалогового окна Options.

1

Воскресенье. Принимается по умолчанию, когда аргумент nFirstDayOfWeek опущен; использовалось в качестве первого дня недели в предыдущих версиях FoxPro.

2

Понедельник

3

Вторник

4

Среда

5

Четверг

6

Пятница

7

Суббота

Expand image Возвращаемое значение

Числовое

Expand image Пример

CopyCode image Copy Code
STORE DATE( ) TO gdDayNum
CLEAR
? DOW(gdDayNum)
? CDOW(gdDayNum)

Expand image Смотрите также

Справочное руководство

Функция CDOW( )
Функция DAY( ) Function
Команда SET FDOW
Команда SET FWEEK
Функции SYS( )
Функция WEEK( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DRIVETYPE( ) Function

Visual FoxPro 9.0 Справочник Языка
DRIVETYPE () Функция
См. Также

Возвращает тип указанного диска.

DRIVETYPE(cDrive)

Параметры

cDrive

Идентификатор дисковода. Двоеточие в именах дисковода (например, " C: ") является необязательным.

Возвращаемое значение

Числовое

Замечания

Следующая таблица поясняет возвращаемое DRIVETYPE( ) значение и соответствующее описание типа дисковода.

Количество | Тип дисковода
1 | Нетипирован
2 | Гибкий диск
3 | Жесткий диск
4 | Сменный диск или сетевой диск
5 | CD-ROM
6 | RAM disk1

1, поскольку есть много разных типов RAM дисков, Вы можете получить противоречивые результаты.

См. Также

Другие Ресурсы

SYS(5) - Заданный по умолчанию Диск или Том
JUSTDRIVE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DROPOFFLINE( ) Function

Visual FoxPro 9.0 Описание Языка
DROPOFFLINE( ), функция
См. также
CollapseAll image

Отменяет (откатывает) все изменения в представлении типа offline, и возвращает данное представление в режим online.

DROPOFFLINE(cViewName)

Параметры

cViewName

Определяет имя Представления (view) в режиме OffLine.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Функция DROPOFFLINE( ) возвращает значение = true (.T.), если успешно выполнен переход в режим online; в противном случае, возвращается значение = false (.F.).

Expand image См. также

Описание

CREATEOFFLINE( ), функция
DROP VIEW, команда
USE, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DTOC( ) Function

Visual FoxPro 9.0 Справочник Языка
DTOC () Функция
См. Также Пример

Возвращает дату Символьного типа из выражения Date или DateTime.

DTOC(dExpression | tExpression [, 1])

Параметры

dExpression

Определяет переменную Типа даты, элемент массива, или поле, для которого DTOC( ) возвращает дату Символьного типа.
tExpression

Определяет переменную типа DateTime, элемент массива, или поле, для которого DTOC( ) возвращает дату Символьного типа.
1

Возвращает дату в формате, подходящем для индексации. Это особенно полезно чтобы поддерживать записи таблицы в хронологической последовательности. Например, чтобы упорядочить записи таблицы в порядке ввода, Вы можете применить эту команду:
Скопировать код
INDEX ON DTOC(gdInvDate, 1) + gnInvTime TAG Timeindx
gdInvDate и gnInvTime являются полями, содержащими дату и время на момент добавления записей.

Возвращаемое значение

Символьное

Замечания

DTOC( ) возвращает символьную строку, соответствующую выражению Date или DateTime. Формат даты определен SET CENTURY и SET DATE.

Пример

Скопировать код
SET STRICTDATE TO 1
STORE CTOD('10/31/98') TO gdThisDate
CLEAR
? DTOC(gdThisDate)
STORE DTOC({^1998-10-31}+90) TO gcExpireDate
? 'Your 90-day warranty expires ', gcExpireDate
? DTOC({^1998-10-31},1)

См. Также

Другие Ресурсы

CTOD( ) Функция
SET CENTURY Команда
SET DATE Команда
SYS( ) Краткий обзор Функций
TTOC( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DTOR( ) Function

Visual FoxPro 9.0 Описание Языка
DTOR( ), функция
См. также Пример
CollapseAll image

Преобразует Градусы (единицы измерения углов) в соответствующие Радианы.

DTOR(nExpression)

Параметры

nExpression

Определяет числовое выражение, которое необходимо преобразовать в Радианы. Обычно, величины углов измеряются в градусах:минутах:секундах, которые необходимо преобразовать в соответствующий десятичный эквивалент.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

DTOR( ) преобразует значение числового выражения, представленное в Градусах, в эквивалентное числовое выражение, в Радианах. Обычно функция DTOR( ) используется при работе с Тригонометрическими функциями Microsoft Visual FoxPro: ACOS( ), ASIN( ), COS( ), SIN( ), TAN( ).

Соответствующая функция RTOD( ) выполняет обратное преобразование: из Радиан - в Градусы.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? DTOR(0)  && отображается 0.00
? DTOR(45) && отображается 0.79
? DTOR(90) && отображается 1.57
? DTOR(180)  && отображается 3.14
? COS(DTOR(90))  && отображается 0.00

Expand image См. также

Описание

ACOS( ), функция
ASIN( ), функция
COS( ), функция
RTOD( ), функция
SIN( ), функция
TAN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


DTOS( ) Function

Visual FoxPro 9.0 Справка по языку
Функция DTOS( )
См.также Пример

Возвращает дату в виде символьной строки формата ггггммдд из заданного выражения типа "дата" (Date) или "дата-время" DateTime.

DTOS(dExpression | tExpression)

Параметры

dExpression

Указывает выражение типа "дата" для преобразования посредством функции DTOS( ) в строку из восьми цифр.
tExpression

Указывает выражение типа "дата-время" для преобразования посредством функции DTOS( ) в строку из восьми цифр.

Возвращаемое значение

Символьное

Примечания

Эта функция полезна для индексирования таблиц, содержащих поля типа "дата" и "дата-время". Она равнозначна функции DTOC( ) для случая, когда указывается первый необязательный аргумент.

Вид и содержимое символьной строки, возвращаемой функцией DTOS( ), не зависит от установок SET DATE или SET CENTURY.

Пример

Скопировать код
CLEAR
? DTOS(DATE( ))

См.также

Функция DATE( )
Функция DATETIME( )
Функция CTOD( )
Функция DTOC( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DTOT( ) Function

Visual FoxPro 9.0 Справка по языку
Функция DTOT( )
См.также Пример

Возвращает значение типа DateTime (дата-время) из выражения типа Date (дата).

DTOT(dDateExpression)

Параметры

dDateExpression

Указывает выражение типа Date, из которого извлекается значение типа DateTime.

Возвращаемое значение

DateTime

Примечания

Формат DateTime значения, возвращаемого функцией DTOT( ), зависит от текущих установок SET DATE и SET MARK. Если номер столетия не поддерживается, принимается двадцатое столетие.

DTOT( ) добавляет значение времени по умолчанию (12:00:00 AM в 12-часовом формате или 00:00:00 в 24-часовом формате) к дате с тем, чтобы получить корректное значение типа DateTime.

Пример

Copy Code
SET HOURS TO 12
? DTOT({^2004-02-16}) && Displays 02/16/2004 12:00:00 AM

См.также

Ссылка

Команда SET HOURS

Другие ресурсы

Функция CTOT( )
Функция DATE( )
Функция SEC( )
Функция SECONDS( )
Команда SET SECONDS
Функция TIME( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены


EDITSOURCE( ) Function

Visual FoxPro 9.0 Описание Языка
EDITSOURCE( ), функция
См. также
CollapseAll image

Открывает Редактор Visual FoxPro и устанавливает курсор в заданную позицию Текста.

EditSource(cShortCutID | [ cFilename [, nLineNo] [, cClassName]
[, cMethodName|cProcName]])

Параметры

cShortCutID

Определяет существующий контекстный идентификатор ID.

cFileName

Определяет имя открываемого в Редакторе программного файла. Если данный файл уже открыт, Visual FoxPro активирует окно открытого файла.

nLineNo

Определяет номер строки Текста, в которую устанавливается курсор. Если задано значение = 0, курсор устанавливается в позицию, которая сохранена в Ресурсном файле для заданного объекта. Если вы определяете данный параметр как несуществующую строку Текста, курсор устанавливается в начало программного файла. Отрицательное значение параметра nlineno порождает возникновение Ошибочной ситуации.

cClassName

Определяет имя Класса или Среды Данных (Data Environment), для редактирования. Если вы открываете файл библиотеки Классов (.vcx) без указания конкретного класса из этой библиотеки, вместо Редактора открывается системный Дизайнер (Class Designer).

cMethodName

Определяет имя Метода, программный текст которого открывается в Редакторе. Необходимо указывать в данном параметре существующую объектную ссылку на требуемый метод, в форме: cObject.nMethodName.

cProcName

Определяет имя процедуры для редактирования в соответствующем программном файле (.vcx, .scx, .frx, .lbx).

Expand image Возвращаемое значение

Логического типа (Logical). Возвращается значение = True (.T.), если указанный программный файл открыт в Редакторе, в противном случае возвращается числовое значение Ошибки, которые приведены в следующей Таблице:

Значение | Краткое Описание
0 | Файл успешно Открыт.
132, 705 | Файл уже используется. Не может быть открыт вторично.
200 | Файл не может быть открыт по причине неверно указанной объектной ссылке. Необходимо проверить значения заданных параметров cMethodName / cClassName.
901, 925 | Открываемый файл содержит неверную ссылку на объект в параметре cMethodName. Необходимо проверить ссылку в параметре cMethodName. Форма объектной ссылки должна быть: MyForm.MyList.CLICK. Формы и Классы возвращают значение = 925; Отчеты возвращают значение = 901.

Expand image Комментарии

Вым достаточно передать только уникальный идентификатор cShortCutID, без указания дополнительной информации, Редактор откроется в требуемой вам позиции. Данный уникальный идентификатор cShortCutID является уникальным ключем ID для сохраненных записей в системной таблице Foxtask, имя который хранится в системной переменной (_VFP.FoxTask). Список Задач (Task List) Приложения использует указанную таблицу для определения последней позиции курсора редактируемого ранее программного файла по соответствующему уникальному идентификатору ID. Visual FoxPro поддерживает сохранение текущей контекстной информации в указанной таблице Foxtask только при сохранении программного файла.

Для следующих типов (расширений) программных файлов Visual FoxPro открываются следующие системные Компоненты:

Тип (Расширение) | Редактор / Компонента | Установка по-умолчанию
PRG | Text Editor | MODIFY COMMAND
MPR | Text Editor | MODIFY COMMAND
QPR | Text Editor | MODIFY COMMAND
TXT | Text Editor | MODIFY FILE
SCX | Code Editor | MODIFY FORM
VCX | Code Editor | MODIFY CLASS
FRX | Code Editor | MODIFY REPORT
LBX | Code Editor | MODIFY LABEL
MNX | Menu Editor | MODIFY MENU
DBC | Stored Procedures | MODIFY PROCEDURE
<other-другие> | Text Editor | MODIFY FILE

Процедурные файлы (.prg), Базы данных (.dbc хранимые процедуры), текстовые файлы поддерживают только параметр строки nLineNo.

Файлы Меню (.mnx) открываются без указания на объектные ссылки или номера строк.

Expand image См. также

Описание

MODIFY COMMAND, команда
APROCINFO( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


EMPTY( ) Function

Visual FoxPro 9.0 Описание Языка
EMPTY( ) Функция
См. также Пример
CollapseAll image

Определяется, является ли выражение пустым.

EMPTY(eExpression)

Параметры

eExpression

Определяет выражение, как параметр функции EMPTY( ). Вы можете задавать выражения следующих типов: Character, Numeric, Date, Varbinary, Blob, или Logical, или имя поля таблицы типаMemo или General.

Expand image Возвращаемое Значение

Логическое. EMPTY( ) возвращает True (.T.) если выражение eExpression - пустое; в противном случае, EMPTY( ) возвращает False (.F.).

Функция EMPTY( ) возвращает значение True (.T.) в следующих случаях:

Тип выражения | Его значение
Blob | Пусто (0h) или содержит нулевые значения, например, 0h00, 0h000000, и так далее...
Character | Пустая строка, пробелы, табуляция, перевод строка, возврат коретки, или их комбинации
Currency | 0
Date | Пустая дата, например, CTOD('')
DateTime | Пустое время, например, CTOT('')
Double | 0
Float | 0
General | Пустой объект (не OLE объект)
Integer | 0
Logical | False (.F.)
Memo | Пусто (без данных)
Numeric | 0
Varbinary | Пусто (0h) или содержит нулевые значения, например, 0h00, 0h000000, и так далее...

Expand image Комментарии

Вы не можете использовать функцию EMPTY( ) для определения статуса переменной, являющейся ссылкой на объект. Например, переменная содержит ссылку на объект Form. Если форма закрыта через стандартное меню для окна или при помощи команды CLEAR WINDOWS, переменная имеет значение NULL.

В следующем примере демонстрируется использование функций TYPE( ) и ISNULL( ) для правильного определения статуса объекта.

CopyCode image Копировать Код
goMyForm = CREATEOBJECT('Form')
WAIT WINDOW IIF(TYPE('goMyForm') = 'O' AND !ISNULL(goMyForm), ;
   'goMyForm has valid object reference',;
   'goMyForm does not have valid object reference')

Expand image Пример

В следующем примере открывается таблица customer из базы данных testdata. В цикле FOR ... ENDFOR функцией EMPTY( ) определяется результирующее значение функции TAG( ). В случае, если индексы имеются, то отображается номер индекса и значение функции Candidate().

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer     && Open customer table

FOR nCount = 1 TO TAGCOUNT( )
   IF !EMPTY(TAG(nCount))  && Checks for empty string
   ? TAG(nCount)  && Display tag name
   ? CANDIDATE(nCount)  && Display candidate status
   ELSE
      EXIT  && Exit the loop when no more tags are found
   ENDIF
ENDFOR

Expand image См. также

Описание

LEN( ) Функция
TYPE( ) Функция
ISNULL( ) Функция

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


EOF( ) Function

Visual FoxPro 9.0 Справка по языку
Функция EOF( )
См.также Пример

Определяет, находится ли указатель записи после последней записи в текущей или в указанной таблице.

Прим.переводчика. Под текущей таблицей понимается таблица, открытая в текущей рабочей области.

EOF([nWorkArea | cTableAlias])

Параметры

nWorkArea

Указывает номер рабочей области, в которой находится таблица.
cTableAlias

Указывает алиас таблицы. Функция EOF( ) возвратит Ложно (.F.), если таблица в указанной вами рабочей области не открыта. Если вы не укажете алиас или номер рабочей области, то проверка таблицы на достижение указателем её конца будет производиться в текущей таблице.

Возвращаемое значение

Логическое

Примечания

EOF( ) возвращает Истинно (.T.), если указатель записи достигает конца файла с таблицей (EOF). Конец таблицы достигается в тот момент, когда указатель записи продвигается за последнюю запись в таблице. Например, когда выполнение команды FIND, LOCATE или SEEK оказывается неуспешным, Visual FoxPro перемещает указатель записи к последней из записей в таблице и EOF( ) возвращает Истинно (.T.). EOF( ) возвращает Ложно (.F.), если указатель записи не находится в конце таблицы.

Пример

В следующем примере открывается таблица Клиенты (customer) и наименования компаний выводятся по одному до тех пор, пока не будет достигнут конец таблицы или вы не выберете кнопку Cancel в диалоге MessageBox.

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME() + "samples\data\testdata")
USE customer
GO TOP
local recCtr, btnValue
recCtr = 0
btnValue = 1
DO WHILE btnValue = 1 AND NOT EOF()
 ? "Company : " + company
 recCtr = recCtr + 1
 if (recCtr % 20) = 0 then
 btnValue =MESSAGEBOX ("Click OK to continue, ;
 Cancel to quit.",33)
 clear
 endif
 Skip 1 && Move down one record
ENDDO
=MESSAGEBOX("Listing complete.",48)

См.также

Функции
Функция BOF( )
Команда GO | GOTO
Команда SKIP

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ERROR( ) Function

Visual FoxPro 9.0 Справочник Языка
ERROR () Функция
См. Также Пример

Возвращает номер ошибки для ошибки, которая вызвала процедуру ON ERROR.

ERROR( )

Возвращаемое значение

Числовое

Замечания

ERROR( ) возвращает номер самой последней ошибки. Процедура ON ERROR должна быть активизирована для ERROR( ), чтобы возвратилось значение отличное от 0.

Когда в течение выполнения программы обнаружена ошибка, тип ошибки может быть возвращен ERROR( ) в процедуре ON ERROR. Может быть возвращено соответствующее сообщение об ошибке MESSAGE( ).

Значение возвращаемое ERROR( ) обнуляется через RETURN или RETRY.

Пример

Следующий пример демонстрирует простую подпрограмму обработки ошибок, которая выводит сообщение при возникновении ошибки.

Скопировать код
CLEAR
ON ERROR DO errhand WITH ERROR( ), MESSAGE( )
*** The next line generates an error - there is no BRWSE command
BRWSE
ON ERROR
RETURN
*** Error handler ***
PROCEDURE errhand
PARAMETER errnum,message
? Message
? 'Error number: '+ ALLTRIM(STR(Errnum))
RETURN

См. Также

Другие Ресурсы

AERROR( ) Функция
ERROR Команда
MESSAGE( ) Функция
Сообщения об ошибках A-Z
Сообщения об ошибках по номерам
ON ERROR Команда
RETRY Команда
RETURN Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


EVALUATE( ) Function

Visual FoxPro 9.0 Справочник Языка
EVALUATE () Функция
См. Также Пример

Вычисляет символьное выражение и возвращает результат.

EVALUATE(cExpression)

Параметры

cExpression

Определяет выражение для вычисления. cExpression может быть строковым символьным литералом, или допустимым выражением Visual FoxPro, переменной, элементом массива, или полем любого типа данных, заключенным в кавычки. cExpression не может превысить длину в 255 символов. Всякий раз, когда возможно, используйте EVALUATE( ) или именное выражение, чтобы заменить макроподстановку, используя Команду & . EVALUATE и именное выражение выполняются быстрее чем макроподстановка.

Возвращаемое значение

Символьное, Числовое, Валюта, Дата, DateTime, Логическое, или мемо

Замечания

EVALUATE( ) подобна TYPE( ), но возвращает результат выражения вместо типа выражения. Выражение содержащее EVALUATE( ) не может быть оптимизировано Оптимизацией Запросов Rushmore.

Включая функцию EVALUATE( ) в предложении WHERE SQL, запрос может возвратить неправильные данные.

Пример

Следующий пример использует функцию EVALUATE (), чтобы вычислить математическое выражение, сохраненное в символьной переменной.

Скопировать код
cMathFunc="INT(4.33)"
nResult=EVALUATE(cMathFunc)
?nResult

См. Также

Другие Ресурсы

TYPE( ) Функция
_Evaluate () API Библиотечная процедура
Использование Rushmore для ускорения доступа к данным
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


EVL( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция EVL()
Смотрите также Пример
CollapseAll image

Возвращает непустое значение построенное из двух выражений.

Вы можете использовать функцию EVL() для возврата подходящей замещающего значения вместо пустого значения, такого как False (.F.) или 0, из двух выражений. Кроме того, вы можете использовать эту функциональность для удаления пустых значений из вычислений или операций, где пустые значения не поддерживаются или неуместны.

Note Замечание

Значения данных типа Logical False (.F.) и Numeric 0 также оцениваются Visual FoxPro, как пустые значения.

EVL( eExpression1, eExpression2 )

Параметры

eExpression1, eExpression2

Указывают два выражения. eExpression1 и eExpression2 могут быть любого типа данных, за исключением перечисленого ниже:

  • Поля General: Если eExpression1 или eExpression2 представляют собой поле General, EVL() возвратит ошибку -"Operation is invalid for a General field. (Error 1912)" - "Операция недействительна для поля General (Ошибка 1912)"

  • Ссылка на объект.

Expand image Возвращаемое значение

Character, Date, DateTime, Numeric, Currency, Logical, Object. EVL( ) возвращает eExpression1, если оно не оценивается в пустое значение, в противном случае, функция вернет значение, указанное в eExpresssion2.

Expand image Пример

Приведенный ниже пример создает переменную памяти , glEmptyDate, которая содержит пустое значение типа Date, и glEmptyNum, которое содержит пустое значение типа Numeric равное 0.

При вызове EVL() с glEmptyDate, EVL( ) возвратит пустую строку, ("") при оценке glEmptyDate и пустую строку и "None", при оценке glEmptyDate и "None".

CopyCode image Скопировать код
STORE {  /  /  } TO glEmptyDate
? EVL(glEmptyDate,"")
? EVL(glEmptyDate, "None")

При вызове EVL( ) с glEmptyNum, EVL( ) возвратит пустую строку при оценке glEmptyNum и пустую строку и "Empty", при оценке glEmptyNum и "Empty".

CopyCode image Скопировать код
STORE 0 TO glEmptyNum
? EVL(glEmptyNum,"")
? EVL(glEmptyNum, "Empty")

Expand image Смотрите также

Справочное руководство

Функция EMPTY()

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


EVENTHANDLER( ) Function

Visual FoxPro 9.0 Описание Языка
EVENTHANDLER( ), функция
См. также Пример
CollapseAll image

Выполняет связывание (соединение) Событий объекта COM server с соответствующими (исполняющими) методами специального объекта Visual FoxPro.

Дополнительную информацию о механизмах Связывания событий внешних объектов с внутренними объектами Visual FoxPro смотрите в разделе: Связывание Событий для объектов Visual FoxPro.

EVENTHANDLER(oCOMObject, oVFPObject [, lUnbind])

Параметры

oCOMObject

Определяет объектную ссылку на внешний объект COM-Server, события которого будут контролироваться (будут привязаны). oCOMObject должен быть допустимым объектом COM.

oVFPObject

Определяет объектную ссылку на существующий объект Visual FoxPro, содержащий соответствующие пользовательские методы обработки требуемых событий внешнего объекта COM. Данный класс объекта должен иметь соответствующую характеристику Implement the events Interface, (смотрите пример ниже: ...DEFINE CLASS...IMPLEMENTS RecordSetEvents...) для привязки к объекту COM, ссылка которого указана в первом аргументе. Например, как показано ниже, для существующего интерфейса RecordsetEvents внешнего объекта ADO Recordset создается собственный обработчик Событий MyClass (VFP).

lUnbind

Система Visual FoxPro автоматически Развязывает соответствующие объекты (аргументы 1 и 2) при их разрушении (уничтожении или стирании). Если данный параметр указан, и имеет значение = .T., то созданное ранее Соединение между указанными объектами закрывается, объекты развязываются, однако остаются актовными, но уже независимыми....

Expand image Возвращаемое значение

Логического типа (Logical). EVENTHANDLER( ) возвращает значение = True (.T.) если соединение выполнено, в противном случае возвращается значение = False (.F.).

Expand image Комментарии

Вы можете соединить (связать) один объект COM с несколькими соответствующими объектами Visual FoxPro, или наоборот, вы можете соединить (связать) несколько объектов COM с одним соответствующим объектом Visual FoxPro.

Созданный Обработчик Событий автоматически закрывается когда один из связанныхт объектов: или соответствующий объект Visual FoxPro или объект COM закрываются (выгружаются из памяти). Вы можете также непосредственно выполнить данную функцию EVENTHANDLER( ), указав последний (3-й) параметр lUnbind = True (.T.), что развязывает данные объекты, однако объекты остаются активными в Приложении.

Expand image Пример

CopyCode image Копировать Код
LOCAL oEvents
LOCAL oRS AS adodb.recordset
LOCAL oConn AS adodb.Connection

oEvents = NEWOBJECT("myclass")
oConn = NEWOBJECT("adodb.connection")

oConn.Provider="MSDASQL"
* Make sure to set the SourceDB property
* below to your TESTDATA location.
oConn.ConnectionString="DSN=Visual FoxPro Database;" + ;
"SourceType=DBC; SourceDB=D:\VFP\DATA\TESTDATA.DBC"
oConn.Open
oRS = oConn.Execute("select * from customer")
? EVENTHANDLER(oRS, oEvents)
?
? PADR(oRS.Fields(0).Value,20)
? EVENTHANDLER (oRS, oEvents, .T.)
oRS.MoveNext
? PADR(oRS.Fields(0).Value,20)
oRS.MoveNext
CLEAR all
RETURN

DEFINE CLASS myclass AS session
IMPLEMENTS RecordsetEvents IN "adodb.recordset"

PROCEDURE Recordsetevents_WillChangeField(cFields AS Number @, Fields AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_FieldChangeComplete(cFields AS Number @, Fields AS VARIANT @, pError AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_WillChangeRecord(adReason AS VARIANT @, cRecords AS Number @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_RecordChangeComplete(adReason AS VARIANT @, cRecords AS Number @, pError AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_WillChangeRecordset(adReason AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())
 ?adreason,adstatus,precordset.recordcount

PROCEDURE Recordsetevents_RecordsetChangeComplete(adReason AS VARIANT @, pError AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_WillMove(adReason AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_MoveComplete(adReason AS VARIANT @, pError AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_EndOfRecordset(fMoreData AS LOGICAL @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_FetchProgress(Progress AS Number @, MaxProgress AS Number @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

PROCEDURE Recordsetevents_FetchComplete(pError AS VARIANT @, adStatus AS VARIANT @, pRecordset AS VARIANT @) AS VARIANT
 ? " "+program() + ' ' + TRANSFORM(DATETIME())

ENDDEFINE

Expand image См. также

Описание

DEFINE CLASS, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


EXECSCRIPT( ) Function

Visual FoxPro 9.0 Описание Языка
EXECSCRIPT( ), функция
См. также Пример
CollapseAll image

Позволяет вам выполнить некоторый программный код, в режиме runtime, несколько строк программного кода, размещенного в переменной памяти, в поле некоторой таблицы, или размещенным в другой текстовой форме.

ExecScript(cExpression [, eParameter1, eParameter2, ...])

Параметры

cExpression

Представляет собой некоторый Программный код, размещенный в символьной строке, или в поле типа Memo, который требуется выполнить.

eParameter1, eParameter2, ...

Опциональные параметры (выполнения программного кода). Определяет список некоторых параметров, которые могут быть переданы в указанный программный код (как в некоторую функцию). Первым оператором в программном коде должен быть оператор, принимающий указанные параметры.

Expand image Возвращаемое значение

Возвращаемое значение определяется значением, которое возвращается из указанного программного кода cExpression. Если никакого значения не возвращается, то система Visual FoxPro возвращает, как обычно, = .T. (True)

Expand image Комментарии

Функция ExecScript( ), в отличие от Расширенного Макро, обеспечивает такой же эффект, как при вводе нескольких строк программного кода в Командном окне и нажатии клавиши <Enter>.

Expand image Пример

В следующем программном коде: создается некоторая Форма и выводится на экран значение Свойства AutoCenter, для вновь созданного объекта Form. Для разделения программных строк рекомендуется использовать вставку Перевода Строки: CHR(13).

CopyCode image Копировать Код
?EXECSCRIPT("oForm=CREATEOBJECT('Form')"+CHR(13)+"?oForm.AutoCenter")

Expand image См. также

Описание

COMPILE, команда
ON ERROR, команда

Концепции

Управление Ошибками в режиме выполнения Run-Time

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


EXP( ) Function

Visual FoxPro 9.0 Описание Языка
EXP( ), функция
См. также Пример
CollapseAll image

Возвращает значение экспоненты: e(x) для заданного числового выражения.

EXP(nExpression)

Параметры

nExpression

Определяет числовой аргумент для вычисления экспоненты.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Значение экспоненты базируется на Натуральном Логарифме, основание которого приблизительно равно = 2.71828. Количество десятичных знаков в возвращаемом результате, функции EXP( ), определяется установкой команды SET DECIMALS.

Expand image Пример

CopyCode image Копировать Код
? EXP(0)  && отображается 1.00
? EXP(1)  && отображается 2.72

Expand image См. также

Описание

LOG( ), функция
SET DECIMALS, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


FCHSIZE( ) Function

Visual FoxPro 9.0 Описание Языка
FCHSIZE( ) Функция
См. также
CollapseAll image

Изменяет размер файла, открытого файловыми функциями низкого уровня.

FCHSIZE(nFileHandle, nNewFileSize)

Параметры

nFileHandle

Определяет дескриптор файла, размер которого нужно изменить. Данный дескриптор возвращается низкоуровневой функцией FOPEN( ) или FCREATE( ), с помощью которых был открыт файл. Если файл открывается функцией FOPEN( ), то необходим режим "write" или "read/write" для успешного изменения размера файла.

nNewFileSize

Определяет новый размер файла в байтах. Если значение параметра nNewFileSize меньше чем размер файла, то файл укорачивается. Если значение параметра nNewFileSize больше размера файла, то файл увеличивается.

Expand image Возвращаемое Значение

Значение типа Numeric

Expand image Комментарии

Функция FCHSIZE( ) используется для увеличения размера файла или его укорачивания после определенного байта.

Когда файл удлинняется, Microsoft Visual FoxPro размещает дополнительные сектора на том же устройстве, где данный файл открыт. С этого момента функция FCHSIZE( ) не занимает новое файловое пространство, там содержатся старые данные. Не забывайте заполнять новое пространство своими данными.

Функция возвращает итоговый размер (новый) данного файла. Visual FoxPro возвращает значение = –1 если функция FCHSIZE( ) не может изменить размер файла , например, задан неверный дескриптор файла в результате недостаточности дискового пространства, или файл имеет атрибут "только-чтение" (Read Only).

Note Примечание

Данная функция может быть использована для установки длины файла = 0.

Expand image См. также

Описание

FCLOSE( ) Функция
FCREATE( ) Функция
FEOF( ) Функция
FFLUSH( ) Функция
FGETS( ) Функция
FOPEN( ) Функция
FPUTS( ) Функция
FREAD( ) Функция
FSEEK( ) Функция
FWRITE( ) Функция

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


FCLOSE( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FCLOSE( )
См.также

Сохраняет все изменения и закрывает файл или коммуникационный порт, открытый функцией для работы с файлами на низком уровне (low-level file function).

FCLOSE(nFileHandle)

Параметры

nFileHandle
Задает указатель файла (file handle), открытого на низком уровне с тем, чтобы закрыть этот файл. Указатель имеет числовой тип и возвращается, когда вы создаете файл при помощи функции FCREATE( ) или открываете его функцией FOPEN( ).

Возвращаемое значение

Логическое

Замечания

Если файл закрыт успешно, FCLOSE( ) возвращает Истинно (.T.) и освобождает из памяти указатель файла. Если закрыть файл не удалось, FCLOSE( ) возвращает Ложно (.F.).

Команда CLOSE ALL закрывает также файлы, открытые на низком уровне.

См.также

Команда CLOSE ALL
Функция FCHSIZE( )
Функция FCREATE( )
Функция FEOF( )
Функция FFLUSH( )
Функция FGETS( )
Функция FOPEN( )
Функция FPUTS( )
Функция FREAD( )
Функция FSEEK( )
Функция FWRITE( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FCOUNT( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FCOUNT( )
См.также Пример

Возвращает количество полей в таблице.

FCOUNT([nWorkArea | cTableAlias])

Параметры

nWorkArea

Указывает рабочую область с таблицей, для которой FCOUNT( ) возвращает количество полей. FCOUNT( ) возвращает 0, если в указанной вами рабочей области нет открытой таблицы.
cTableAlias

Указывает алиас таблицы, для которой FCOUNT( ) возвращает количество полей. Visual FoxPro генерирует сообщение об ошибке, если вы укажете несуществующий алиас.

Возвращаемое значение

Числовое

Примечания

Если вы опустите необязательный аргумент, FCOUNT( ) вернет количество полей для таблицы, открытой в текущей рабочей области.

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
SELECT 0
USE employee && Opens employee table

CLEAR
? FCOUNT('CUSTOMER') && Displays 13, # of fields in Customer
? FCOUNT('EMPLOYEE') && Displays 22, # of fields in Employee

См.также

Функция DBF( )
функция FIELD( )
Функция FSIZE( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FCREATE( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FCREATE( )
См.также Пример

Создает и открывает файл на низком уровне.

FCREATE(cFileName [, nFileAttribute])

Параметры

cFileName

Указывает имя создаваемого файла. Вы можете включить имя устройства и путь с полным именем файла. Если имя устройства или путь не включаются, файл создается в текущей директории.
Примечание:
Visual FoxPro не может правильно распознать путь, если путь или имя диска содержит восклицательный знак (!).

nFileAttribute

Указывает атрибуты создаваемого файла. Вы можете указать следующие атрибуты, перечисленные в таблице.

nFileAttribute Атрибуты файла

0

(По умолчанию) Read/write

1

Read-only

2

Hidden

3

Read-only/Hidden

4

System

5

Read-only/System

6

System/Hidden

7

Read-only/Hidden/System
Отметьте, что в файл, созданный с параметром nFileAttribute, отличным от 0 нельзя производить запись при помощи функции FPUTS( ) или FWRITE( ) до тех пор, пока он не будет закрыт и снова открыт (с необходимыми для записи атрибутами - прим. переводчика). Используйте команду DISPLAY STATUS или LIST STATUS для того, чтобы отобразить или напечатать информацию о файлах, созданных и открытых при помощи FCREATE( ). DISPLAY STATUS и LIST STATUS выдают следующую информацию о каждом файле, открытом или созданном при помощи функций для работы на низком уровне:
  • Устройство, директория и имя файла

  • Номер обработчика файла (file handle number)

  • Позицию указателя в файле

  • Атрибуты read/write

Возвращаемое значение

Числовое

Примечания

Если файл с указанным именем существует, он будет перезаписан при операции записи.

FCREATE( ) присваивает каждому файлу номер обработчика и в дальнейшем для идентификации файла во всех функциях Visual FoxPro для работы на низком уровне требуется указывать этот номер. FCREATE( ) возвращает номер обработчика при создании файла или возвращает -1, если файл создать не удалось.

Подсказка:
Присваивайте номер обработчика файла переменной памяти с тем, чтобы получать доступ к этому файлу в функциях для работы на низком уровне.

Вы не можете открыть коммуникационный порт при помощи FCREATE( ). Для этой цели используйте FOPEN( ).

Пример

Copy Code
IF FILE('errors.txt') && Существует ли файл?
 gnErrFile = FOPEN('errors.txt',12) && Если да, открываеем его как read/write
ELSE
 gnErrFile = FCREATE('errors.txt') && Если не существует, создаем его.
ENDIF
IF gnErrFile < 0 && Проверим, нет ли ошибки при создании файла
 WAIT 'Cannot open or create output file' WINDOW NOWAIT
ELSE && Если ошибки нет, производим запись в файл
 =FWRITE(gnErrFile , 'Error information to be written here')
ENDIF
=FCLOSE(gnErrFile ) && Закрываем файл
IF gnErrFile > 0
MODIFY FILE errors.txt NOWAIT && Открываем файл в окне редактора (edit window)
ENDIF

См.также

Ссылка

Функция FCREATE( )

Другие ресурсы

Команда CLOSE ALL
Функция FCHSIZE( )
Функция FEOF( )
Функция FFLUSH( )
Функция FGETS( )
Функция FOPEN( )
Функция FPUTS( )
Функция FREAD( )
Функция FSEEK( )
Функция FWRITE( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FDATE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция FDATE( )
Смотрите также Пример
CollapseAll image

Возвращает дату или дату-время последней модификации файла.

FDATE(cFileName [, nType])

Параметры

cFileName

Задает имя файла, для которого функция FDATE( ) возвращает дату последней модификации. В состав cFileName можна включать путь с именем файла. Если путь не указан, Visual FoxPro будет искать файл в каталоге, используемом по умолчанию, и во всех каталогах, заданных командой SET PATH.

nType

Задает будет ли функция FDATE( ) возвращать дату последней модификации или дату-время файла заданого параметром cFileName. Если nType равен 0, возвращается дата последней модификации. Включение 0 равносильно опусканию параметра nType. Если nType равен 1, возвращается дата-время последней модификации.

Expand image Возвращаемое значение

Дата

Expand image Примечания

Значение даты или даты-времени возвращаемое функцией FDATE( ) присоеденены к файлу операционной системой.

Используйте функцию LUPDATE( ) для определения даты последней модификации для открытой таблицы.

Expand image Пример

В следующем примере используется функция FDATE( ), отображающая дату последней модификации файла ресурсов Visual FoxPro, FOXUSER.DBF.
CopyCode image Copy Code
? FDATE('FOXUSER.DBF', 1)  && Displays the last modification DateTime

Expand image Смотрите также

Справочное руководство

Функция FTIME( )
Функция LUPDATE( )
Функция DATE( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FEOF( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FEOF( )
См.также Пример

Определяет, установлен ли указатель в файле [открытом на низком уровне - прим.переводчика] на конец этого файла.

FEOF(nFileHandle)

Параметры

nFileHandle

Задает номер обработчика файла (file handle number), для которого проверяется состояние "конец файла". FEOF( ) всегда возвращает Истинно (.T.), если вы укажете на коммуникационный порт, открытый при помощи функции FOPEN( ).

Возвращаемое значение

Логическое

Примечания

Эта функция возвращает Истинно (.T.), если указатель установлен на конец файла, открытого на низком уровне. FEOF( ) возвращает Ложно (.F.), если указатель не установлен на конец файла.

Пример

Скопировать код
*** Открываем файл test.txt ***

gnFileHandle = FOPEN('test.txt')

*** Перемещаем указатель на начало файла (BOF) ***

gnPosition = FSEEK(gnFileHandle, 0)

*** Если указатель находится на BOF и EOF одновременно, файл пуст. ***
*** В противном случае в файле что-то находится. ***

IF FEOF(gnFileHandle)
 WAIT WINDOW 'Этот файл пуст!' NOWAIT
ELSE
 WAIT WINDOW 'В этом файле что-то содержится!' NOWAIT
ENDIF
= FCLOSE(gnFileHandle)

См.также

Функция FCHSIZE( )
Функция FCLOSE( )
Функция FCREATE( )
Функция FGETS( )
Функция FOPEN( )
Функция FPUTS( )
Функция FREAD( )
Функция FSEEK( )
Функция FWRITE( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FERROR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция FERROR( )
Смотрите также
CollapseAll image

Возвращает номер, соответствующий самой последней ошибке в файловой функции низкого уровня.

FERROR( )

Expand image Возвращаемое значение

Числовое

Expand image Примечания

FERROR( ) возвращает 0, если файловая функция низкого уровня выполнилась успешно. Если функция завершилась неудачно, возвращается положительное число. Ниже приводится список номеров ошибок, возвращаемых функцией FERROR( ), с указанием причин этих ошибок.

Номер ошибки | Причина ошибки
2 | Файл ненайден
4 | Открыто слишком много файлов (исчерпан предел дескрипторов файлов)
5 | В доступе отказано
6 | Задан недействительный дескриптор файла
8 | Нет свободной памяти
25 | Ошибка поиска (нельзя вести поиск до начальной позиции файла)
29 | Диск заполнен
31 | Ошибка открытия файла

Expand image Смотрите также

Справочное руководство

Функция FCHSIZE( )
Функция FCLOSE( )
Функция FCREATE( )
Функция FEOF( )
Функция FFLUSH( )
Функция FGETS( )
Функция FOPEN( )
Функция FPUTS( )
Функция FREAD( )
Функция FSEEK( )
Функция FWRITE( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FFLUSH( ) Function

Visual FoxPro 9.0 Описание Языка
FFLUSH( ) Функция
См. также Пример
CollapseAll image

Сбрасывает (сохраняет) на диск буферы файла, открытого низкоуровневыми файловыми функциями.

FFLUSH(nFileHandle [, lForce])

Параметры

nFileHandle

Определяет дескриптор файла, данные которого сохраняются на диске.

lForce

Если Вы задаете значение true (.T.) для параметра lForce, система Windows немедленно сбрасывает данные файла на диск.

Если Вы задаете значение false (.F.) (по-умолчанию, при отсутствии параметра lForce), Visual FoxPro сбрасывает данные на диск "в ближайшее время".

Expand image Возвращаемое Значение

Типа Logical

Expand image Комментарии

Функция FFLUSH( ) также очищает область памяти, используемую для буфера файла.

Команда FLUSH отличается от функции FFLUSH( ). Команда FLUSH не работает с файлами, открытыми низкоуровневыми функциями, но действует на таблицы и индексы.

Expand image Пример

В следующем примере открывается или создается файл с именем Input.dat. После этого в файл записываются две строки, которые гарантированно сохраняются на диске. Наконец, в файл записываются следующие две строки, сохраняется буфер файла, файл закрывается.

CopyCode image Копировать Код
IF FILE('input.dat')
   gnTestFile = FOPEN('input.dat',2)
ELSE
   gnTestFile = FCREATE('input.dat')
ENDIF
gnIOBytes = FWRITE(gnTestFile,'Test output')
gnIOBytes = FWRITE(gnTestFile,' for low-level file I/O')
glFlushOk = FFLUSH(gnTestFile, .T.)
gnIOBytes = FWRITE(gnTestFile,'Test output2')
gnIOBytes = FWRITE(gnTestFile,' for low-level file I/O')
glFlushOk = FFLUSH(gnTestFile)
glCloseOk = FCLOSE(gnTestFile)
MODIFY FILE input.dat NOWAIT NOEDIT

Expand image См. также

Описание

FCHSIZE( ) Функция
FCLOSE( ) Функция
FCREATE( ) Функция
FEOF( ) Функция
FGETS( ) Функция
FOPEN( ) Функция
FPUTS( ) Функция
FREAD( ) Функция
FSEEK( ) Функция
FWRITE( ) Функция

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


FGETS( ) Function

Visual FoxPro 9.0 Справочник Языка
FGETS () Функция
См. Также Пример

Возвращает ряд байтов из файла, или коммуникационного порта, открытых функцией нижнего уровня, до достижения символа перевода каретки.

FGETS(nFileHandle [, nBytes])

Параметры

nFileHandle

Определяет числовой дескриптор файла или коммуникационного порта из которых FGETS( ) возвращает данные.
nBytes

Определяет количество байтов, которое возвращает FGETS( ) . FGETS( ) возвращает nBytes байтов, до тех пор пока не достигается перевод каретки. FGETS( ) возвращает данные между начальным указателем в файле и символом перевода каретки, в случае, если перевод каретки достигается в пределах nBytes байтов. FGETS( ) возвращает максимум 8192 байтов. Если Вы опускаете nBytes , FGETS( ) возвращает 254 байтов по умолчанию.

Возвращаемое значение

Символьное

Замечания

Вы можете читать файл строка за строкой, запуская серию команд FGETS( ) .

FGETS( ) возвращает ряд байтов в виде символьной строки. Данные возвращаются начиная с текущей позиции указателя файла до достижения перевода каретки. Указатель файла в этом случае установливается в байт следующий сразу после переводом каретки. Символ перевода каретки не возвращается как часть строки, и символы перевода строки не учитываются.

Пример

Скопировать код
*** TEST.TXT must exist ***
STORE FOPEN('test.txt') TO gnFileHandle    && Open the file
STORE FSEEK(gnFileHandle, 0, 2) TO gnEnd    && Move pointer to EOF
STORE FSEEK(gnFileHandle, 0) TO gnTop     && Move pointer to BOF
IF gnEnd <= 0  && Is file empty?
   WAIT WINDOW 'This file is empty!' NOWAIT
ELSE  && If not
   gcString = FGETS(gnFileHandle, gnEnd)  && Store contents
   ? gcString
ENDIF
= FCLOSE(gnFileHandle)  && Close the file

См. Также

Другие Ресурсы

FCHSIZE( ) Функция
FCLOSE( ) Функция
FCREATE( ) Функция
FEOF( ) Функция
FFLUSH( ) Функция
FILETOSTR( ) Функция
FOPEN( ) Функция
FPUTS( ) Функция
FREAD( ) Функция
FSEEK( ) Функция
FWRITE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FIELD( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FIELD( )
См.также Пример

Возвращает имя поля в таблице по его порядковому номеру.

FIELD(nFieldNumber | cFieldName [, nWorkArea | cTableAlias [, nFlags]])

Параметры

nFieldNumber

Указывает номер поля. Если nFieldNumber равен 1, возвращается имя первого поля в таблице, если nFieldNumber равен 2, возвращается имя второго поля в таблице и т.д. Если nFieldNumber превышает количество полей в таблице, возвращается пустая строка. Имена полей возвращаются в верхнем регистре.
cFieldName

Указывает имя поля. Этот параметр используется в первую очередь для того, чтобы возвратить фактический заголовок поля, находящийся в контейнере базы данных (DBC), для чего применяется параметр nFlags=1. Если заголовок является выражением, вычисляется его значение. В противном случае возвращается значение заголовка так, как оно записано. Если выражение не может быть вычислено во время исполнения программы, возникает состояние ошибки и возвращается фактическое имя поля.
nWorkArea

Указывает номер рабочей области с таблицей, для которой FIELD( ) возвращает имя поля. FIELD( ) возвращает пустую строку, если в указанной рабочей области нет открытой таблицы.
cTableAlias

Указывает алиас таблицы, для которой FIELD( ) возвращает имя поля. Visual FoxPro сгенерирует сообщение об ошибке, если вы укажете алиас таблицы, который не существует.
nFlags

Указывает, каким образом возвращается фактическое имя поля или заголовок поля.

nFlags Описание значения

0

Возвращает фактическое имя поля. FIELD( ) сохраняет регистр возвращаемого имени поля, если таблица включена в контейнер базы данных DBC.

1

Возвращает заголовок таблицы. Если заголовок является выражением, возвращается его вычисленное значение.

Возвращаемое значение

Символьное. Если вы опустите необязательные аргументы, FIELD( ) вернет имена полей в таблице, открытой в текущей рабочей области.

Примечания

Вы можете использовать функцию SELECT( ) чтобы определить номер текущей рабочей области nWorkArea. Вы можете использовать функцию ALIAS( ) чтобы определить алиас таблицы в текущей рабочей области для cTableAlias. Дальнейшую информацию см. Функция SELECT( ) и Функция ALIAS( ).

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Открывает таблицу Customer

CLEAR
FOR gnCount = 1 TO FCOUNT( ) && Цикл с перебором номеров всех полей
 ? FIELD(gnCount) && Отображение имени каждого поля
NEXT
?
? 'Количество полей: ' + ALLTRIM(STR(gnCount -1))

См.также

Команда DISPLAY STRUCTURE
Функция FCOUNT( )
Функция FSIZE( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FILE( ) Function

Visual FoxPro 9.0 Описание Языка
FILE( ) Функция
Смотрите также Пример
CollapseAll image

Определяет наличие фала.

FILE(cFileName [, nFlags])

Параметры

cFileName

Задает имя файла для проверки. cFileName должен включать в себя и расширение. Вы можете указывать имя файла вместе с путем к нему.

Если Вы неуказываете путь к файлу, Visual FoxPro ищет файл в текущей директории и если файл там ненайден то поиск производиться в директориях заданных в SET PATH.

nFlags

Определяет что будет возвращать FILE( ) в случае если файл найден но имеет атрибут Hidden или System . Следующая таблица показывает возможные значения nFlags.

nFlags Описание

0

FILE( ) возвращает False (.F.) если файл существует но имеет атрибут Hidden или System. (По умолчанию)

1

FILE( ) возвращает True (.T.) если файл существует, независимо от своих атрибутов. Установка nFlags в 1 позволяет Вам, проверять наличие скрытых или системных файлов.

Expand image Возвращаемое значение

Логический тип данных. FILE( ) возвращает True (.T.) Если данный файл обнаружен на диске; в противном случае, возвращает False (.F.).

Expand image Замечания

Вы можете использовать ADIR( ) функцию, чтобы извлекать специфические атрибуты для файла.

Вы можете использовать команды CD и CHDIR, чтобы переключать на скрытые файлы и директории.

Expand image Пример

Следующий пример отображает указаные сообщения если файл ресурса Visual FoxPro существует в директории запуска Visual FoxPro.
CopyCode image Копировать пример
SET PATH TO HOME( )
CLEAR
IF FILE('foxuser.dbf')
   WAIT WINDOW 'Файл ресурсов Visual FoxPro есть.'
ELSE
   WAIT WINDOW 'Файл ресурсов Visual FoxPro отсутствует.'
ENDIF

Expand image Смотрите также

Ссылки

ADIR( ) Функция
CD | CHDIR Команды
FULLPATH( ) Функция
GETFILE( ) Функция
LOCFILE( ) Функция

Прочие ресурсы

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


FILETOSTR( ) Function

Visual FoxPro 9.0 Описание Языка
FILETOSTR( ) Функция
Смотрите также Пример
CollapseAll image

Возвращает содержание файла как символьную строку.

FILETOSTR(cFileName)

Параметры

cFileName

Задает имя файла, чье содержание будет возвращено как символьная строка. Если файл находиться не в текущей директории, нужно указывать полный путь к нему.

Expand image Возвращаемое значение

Символьное

Expand image Замечание

Заметьте, что размер символьной строки которая возвращает FILETOSTR( ) может быть очень большим. Сумма доступной памяти или дискового пространства определяет сможете ли Вы загрузить символьную строку в переменную памяти, элемент массива, или мемо область. Также, символьные области в Visual FoxPro имеют ограниченние в 254 символами. Смотри Системные Возможности Visual FoxPro об ограничениях в символьных данных типа.

Expand image Пример

Следующий кода загружает REDIST.TXT в символьную строку затем считает количество модулей слияния упомянутых в тексте. REDIST.TXT поставляется с Microsoft Visual FoxPro и включает, какие файлы Visual FoxPro, могут быть перераспределены вашими приложениями.
CopyCode image Копировать Пример
CD HOME()
cRedist=FILETOSTR("REDIST.TXT")
?OCCURS(".MSM",cRedist)

Expand image Смотрите также

Сылки

FGETS( ) Функция
FREAD( ) Функция
STRTOFILE( ) Функция
Visual FoxPro Системные Возможности

Прочие ресурсы

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


FILTER( ) Function

Visual FoxPro 9.0 Справочник Языка
FILTER () Функция
См. Также Пример

Возвращает выражение фильтра таблицы, указанное в SET FILTER.

FILTER([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет рабочую область таблицы, для которой FILTER( ) возвращает выражение фильтра. FILTER( ) возвращает пустую строку, если таблица не является открытой в рабочей области, которую Вы определяете.
cTableAlias

Определяет псевдоним таблицы, для которой FILTER( ) возвращает выражение фильтра. Visual FoxPro генерирует сообщение об ошибкЕ, если Вы определяете псевдоним таблицы, которого не существует.

Возвращаемое значение

Символьное

Замечания

Если Вы опускаете дополнительные параметры, FILTER( ) возвращает выражение фильтра для таблицы, открытой в настоящее время в выбранной рабочей области. Для подробной информации о создании фильтра, см. SET FILTER .

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
SET TALK ON
SET FILTER TO SUBSTR(cust_id,1) = 'B'
CLEAR
? FILTER( )  && Display filter expression
STORE FILTER('customer') TO gcOldFilter    && Save filter expression
SET FILTER TO country = 'USA'
? FILTER( )  && Display filter expression
SET FILTER TO &gcOldFilter    && Restore filter expression
? FILTER( )  && Display filter expression
LIST FIELDS cust_id, contact  && Demonstrate filter condition

См. Также

Другие Ресурсы

SET FILTER Команда
Свойство Filter Property
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FKLABEL( ) Function

Visual FoxPro 9.0 Описание Языка
Функция FKLABEL( )
См. также Пример

Возвращает имя функциональной клавиши (F1, F2, F3 ...) по соответствующему номеру.

FKLABEL(nFunctionKeyNumber)

Параметры

nFunctionKeyNumber

Определяет номер функциональной клавиши. Значение параметра nFunctionKeyNumber начинается с 0, что соответствует номеру функциональной клавиши (минус 1). Функция FKLABEL( ) возвращает пустую строку, если значение nFunctionKeyNumber больше номера функциональной клавиши (минус 1). Количество функциональных клавиш определяется вызовом функции FKMAX( ).

Возвращаемое значение

Character (символьное)

Комментарии

Функциональные клавиши программируются командой SET FUNCTION.

Возвращаемое значение функцией FKLABEL( ) регулируется командой SET COMPATIBLE. Если COMPATIBLE = FOXPLUS (по-умолчанию), функция FKLABEL( ) возвращаеет имя функциональной клавиши. Если COMPATIBLE = DB4, функция FKLABEL( ) возвращает имя функциональной клавиши или клавишную комбинацию: (F1, CTRL+F1, SHIFT+F1, F2, CTRL+F2, SHIFT+F2, ...).

Пример

Копировать код
CLEAR
SET COMPATIBLE OFF
? 'COMPATIBLE OFF'
?
FOR nCount = 1 TO FKMAX( )  && Loop for # of function keys
   ? FKLABEL(nCount)  && Display programmable function keys
ENDFOR
SET COMPATIBLE ON

?
? 'COMPATIBLE ON'
?
FOR nCount = 1 TO FKMAX( )  && Loop for # of function keys
   ? FKLABEL(nCount)  && Display programmable function keys
ENDFOR

См. также

Другие ссылки

Функция FKMAX( )
Команда SET COMPATIBLE
Команда SET FUNCTION
Функции
Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FKMAX( ) Function

Visual FoxPro 9.0 Справочник Языка
FKMAX () Функция
См. Также Пример

Возвращает количество программируемых функциональных клавиш или комбинаций функциональных клавиш на вашей клавиатуре.

FKMAX( )

Возвращаемое значение

Числовое

Замечания

Значение, возвращенное FKMAX( ) зависит от SET COMPATIBLE. Когда SET COMPATIBLE установлено в FOXPLUS (значение по умолчанию), FKMAX( ) возвращает количество функциональных клавиш. Когда SET COMPATIBLE установлен в DB4, FKMAX( ) возвращает количество функциональных клавиш и комбинаций функциональных клавиш (F1, CTRL+F1, SHIFT+F1, F2, CTRL+F2, SHIFT+F2...).

Пример

Скопировать код
CLEAR
SET COMPATIBLE OFF
? 'COMPATIBLE OFF'
?
FOR nCount = 1 TO FKMAX( )  && Loop for # of function keys
   ? FKLABEL(nCount)  && Display programmable function keys
ENDFOR
SET COMPATIBLE ON
?
? 'COMPATIBLE ON'
?
FOR nCount = 1 TO FKMAX( )  && Loop for # of function keys
   ? FKLABEL(nCount)  && Display programmable function keys
ENDFOR

См. Также

Другие Ресурсы

FKLABEL( ) Функция
SET COMPATIBLE Команда
SET FUNCTION Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FLDLIST( ) Function

Visual FoxPro 9.0 Описание Языка
FLDLIST( ), функция
См. также
CollapseAll image

Включена для совместимости с системой dBASE.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


FLOCK( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция FLOCK( )
Смотрите также Пример
CollapseAll image

Пытается заблокировать текущую или заданную таблицу.

FLOCK([nWorkArea | cTableAlias])

Параметры

nWorkArea

Задает рабочую область таблицы, которую функция FLOCK( ) пытается блокировать. Если параметры nWorkArea или cTableAlias опушены функция FLOCK( ) пытается заблокировать таблицу, открытую в текущей рабочей области.

cTableAlias

Задает псевдоним таблицы, которую FLOCK( ) пытается блокировать.

Note Примечание

Если задан несуществующий псевдоним таблицы, Visual FoxPro генерирует сообщение об ошибке.

Expand image Возвращаемое значение

Logical. Если таблица успешно заблокирована, функция FLOCK( ) возвращает значение "истина" (.T.); в противном случае будет возвращено значение "ложь" (.F.) по следующим причинам:

  • Таблица или какая-либо запись в таблице уже заблокированы другим пользователем.

  • В указанной рабочей области нет открытых таблиц

Note Примечание

Если функция FLOCK( ) не сможет блокировать таблицу, она возвратит "ложь" (.F.) и не будет генерировать ошибку. Поэтому с ее помощью не удастся запустить программу обработки ошибок ON ERROR.

Expand image Замечания

Когда таблица блокирована, она становится доступной для чтения и записи только пользователю, установившему блокировку. Остальным пользователям таблица доступна только для чтения. Для более подробной информации о том, как блокировать таблицу и запрещать к ней доступ со стороны других пользователей, смотрите Команда SET EXCLUSIVE и Команда USE.

Таблица останется заблокированной до тех пор, пока пользователь, установивший блокировку, не снимет ее. Таблица может быть разблокирована командой UNLOCK, закрытием таблицы или выходом из Visual FoxPro. Закрыть таблицу можно командами USE, CLEAR ALL, или CLOSE DATABASES.

По умолчанию функция FLOCK( ) предпринимает только одну попытку блокировки таблицы. Используйте команду SET REPROCESS для автоматического повторения попытки блокировки таблицы, если первая попытка окончится неудачей. SET REPROCESS определяет общее количество таких попыток или интервал времени, в течение которого попытки блокировки будут возобновляться в случае неудачной первой попытки. Для более подробной информации смотрите Команда SET REPROCESS.

Можно установить отношения между несколькими таблицами, используя команду SET RELATION. Если таблица, связанная с одной или несколькими другими таблицами, заблокирована, блокировки связанных таблиц не происходит. Вы должны устанавливать (а также снимать) с них блокировку явным образом.

Подробнее о блокировке записей и файлов и о совместном использовании таблиц в сети смотрите Программирование совместного доступа.

Expand image Пример

CopyCode image Скопиовать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE products  && Opens products table
SET REPROCESS TO 3 SECONDS
SELECT * FROM products INTO TABLE newprods

IF FLOCK( )
   *** New product initialization ***
   REPLACE ALL in_stock  WITH 0.00
   REPLACE ALL on_order WITH 0.00
   WAIT 'Initialization Complete' WINDOW NOWAIT
ELSE
   *** File is locked, warn user ***
   WAIT WINDOW 'Unable to open products file; try again later!' NOWAIT
ENDIF

BROWSE FIELDS in_stock, on_order && Displays newprods table
USE
ERASE newprods.dbf

Expand image Смотрите также

Справочное руководство

LOCK( ), функция
RLOCK( ), функция
SET RELATION, команда
UNLOCK, команда
ISFLOCKED( ), функция
ISRLOCKED( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


FLOOR( ) Function

Visual FoxPro 9.0 Описание Языка
FLOOR( ), функция
См. также Пример
CollapseAll image

Возвращает ближайшее целое число, которое меньше или равно заданному числовому выражению.

FLOOR(nExpression)

Параметры

nExpression

Определяет числовое выражение, для которого функция FLOOR( ) возвращает ближайшее целое число, не большее данного выражения.

Expand image Возвращаемое значение

Числового типа

Expand image Пример

CopyCode image Копировать Код
STORE  10.9 TO gnNumber1
STORE -10.1 TO gnNumber2

CLEAR
? FLOOR(gnNumber1)  && Displays 10
? FLOOR(gnNumber2)  && Displays -11
? FLOOR(10.0)  && Displays 10
? FLOOR(-10.0)  && Displays -10

Expand image См. также

Описание

CEILING( ), функция
INT( ), функция
ROUND( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


FONTMETRIC( ) Function

Visual FoxPro 9.0 Справочник Языка
FONTMETRIC () Функция
См. Также

Возвращает атрибуты шрифта для текущих установок шрифтов операционной системы.

FONTMETRIC(nAttribute [, cFontName, nFontSize [, cFontStyle]])

Параметры

nAttribute

Определяет атрибут шрифта, который возвращает FONTMETRIC( ). Если Вы опускаете cFontName , nFontSize , и cFontStyle , FONTMETRIC( ) возвращает атрибут для текущего шрифта в активном окне вывода. Следующая таблица перечисляет значения для nAttribute и соответствующие атрибуты шрифта.

NAttribute Атрибут

1

Высота Символа в пикселях

2

Подъем Символа (выше базовой линии) в пикселях

3

Снижение Символа (ниже базовой линии) в пикселях

4

Интервал (интервал между строками) в пикселях

5

Дополнительный ингтервал, в пикселях

6

Средняя ширина символа в пикселях

7

Максимальная ширина символа в пикселях

8

Насыщенность шрифта.

9

Курсив (0 = не, отличный от нуля = да)

10

Подчеркнутый (0 = не, отличный от нуля = да)

11

Зачеркнутый (0 = не, отличный от нуля = да)

12

Первый символ, определенный в шрифте

13

Последний символ, определенный в шрифте

14

Заданный по умолчанию символ (замена нефонтовых символов)

15

Символ границы слова

16

Шаг и семейство

17

Набор символов

18

Навесок (дополнительно добленная ширина)

19

Горизонтальный аспект для устройства шрифта

20

Вертикальный аспект для устройства шрифта

Для подробной информации о числовых значениях, возвращенных FONTMETRIC( ), см. функцию TEXTMETRIC в Справочнике программиста Windows Microsoft.
cFontName

Определяет имя установленного шрифта.
nFontSize

Определяет размер шрифта, указанного в cFontName .
cFontStyle

Определяет код начертания шрифта для шрифта, указанного в cFontName . Если Вы опускаете cFontStyle , FONTMETRIC( ) возвращает атрибут для Нормального начертания шрифта. cFontStyle может быть символ или комбинация символов, перечисленных в следующей таблице стилей. Например, комбинация BI определяет Полужирный стиль курсива.

Символ Начертание шрифта

B

Полужирный

Я

Курсив

N

Нормальный

O

Схема

Q

Непрозрачный

S

Тень

-

Зачеркнутый

T

Прозрачный

U

Подчеркивание

Возвращаемое значение

Числовое

Замечания

FONTMETRIC( ) возвращает атрибуты шрифта для текущего шрифта активного окна вывода. WFONT( ) может использоваться, чтобы определить текущий шрифт окна.

См. Также

Другие Ресурсы

AFONT( ) Функция
Краткий обзор Шрифтов
GETFONT( ) Функция
SYSMETRIC( ) Функция
TXTWIDTH( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FOPEN( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция FOPEN( )
Смотрите также Пример

Открывает файл для использования файловыми функциями низкого уровня.

FOPEN(cFileName [, nAttribute])

Параметры

cFileName

Задает имя файла, который надо открыть. cFileName может включать путь к файлу в каталогах или папках, на дисках или томах, находящихся вне текущего пути поиска Visual FoxPro. Если путь не указан, Visual FoxPro будет искать файл в следующих местах:
  • В каталоге, используемом по умолчанию

  • По пути, установленном командой SET PATH

    Примечание:
    Visual FoxPro не распознает путь корректно, если в имени диска или каталога содержится восклицательный знак (!).

nAttribute

Задает полномочия чтения-записи или схему буферизации для открываемого файла. В следующей таблице перечислены все значения, которые можно задавать для nAttribute, а также соответствующие полномочия чтения-записи и схемы буферизации.

nAttribute Полномочия чтения-записи Буферизация

0

(По умолчанию) Только чтение

Буферизуется

1

Только запись

Буферизуется

2

Чтение и запись

Буферизуется

10

Только чтение

Не буферизуется

11

Только запись

Не буферизуется

12

Чтение и запись

Не буферизуется
Если параметр nAttribute не задан или равен 0, файл открывается только для чтения и в режиме буферизации.

Замечания

Если функция FOPEN( ) успешно открывает файл, возвращается дескриптор файла. Если файл не удалось открыть, FOPEN( ) возвращает -1.

Совет:
Присвойте дескриптор файла переменной памяти, чтобы через нее получать доступ к этому файлу или порту связи в других файловых функциях низкого уровня.

Ниже приведены виды информации о файлах, открытых с помощью FOPEN( ), которую можно вывести на экран или на печать командами DISPLAY STATUS или LIST STATUS.

  • Диск и каталог или тои и папка и имя файла

  • Дескриптор файла

  • Позиция указателя файла

  • Атрибуты чтения-записи

Возвращаемое значение

Numeric

Example

Скопировать код
IF FILE('errors.txt')  && Файл существует?
   gnErrFile = FOPEN('errors.txt',12)  && Если существует, открываем для чтения/записи
ELSE
   gnErrFile = FCREATE('errors.txt')  && Если нет, создаем его
ENDIF
IF gnErrFile < 0  && Проверка наличия ошибок открытия или создания файла
   WAIT 'Невозможно открыть или создать файл' WINDOW NOWAIT
ELSE  && Если нет ошибки, запись в файл
   =FWRITE(gnErrFile, 'Сведения об ошибке, которые будут здесь записаны')
ENDIF
=FCLOSE(gnErrFile)  && Закрываем файл
MODIFY FILE errors.txt NOWAIT  && Открываем файл в окне редактирования

Смотрите также

Прочие ресурсы

Команда CLOSE ALL
Функция FCHSIZE( )
Функция FCLOSE( )
Функция FCREATE( )
Функция FEOF( )
Функция FFLUSH( )
Функция FGETS( )
Функция FPUTS( )
Функция FREAD( )
Функция FSEEK( )
Функция FWRITE( )
Функции
Справочное руководство по языку

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


FORCEEXT( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FORCEEXT( )
См.также

Возвращает строку, в которой старое расширение имени файла заменено новым.

FORCEEXT(cFileName, cExtension)

Параметры

cFileName

Указывает имя файла (с указанием пути и расширения имени или без их указания), которое получает новое расширение.
cExtension

Указывает новое расширение имени (без предшествующей расширению точки) для cFileName.

Возвращаемое значение

Символьное

См.также

Функция ADDBS( )
Функция DEFAULTEXT( )
Функция FILE( )
Функция FORCEPATH( )
Функция JUSTDRIVE( )
Функция JUSTEXT( )
Функция JUSTFNAME( )
Функция JUSTPATH( )
Функция JUSTSTEM( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FORCEPATH( ) Function

Visual FoxPro 9.0 Описание Языка
FORCEPATH( ) Функция
См. также
CollapseAll image

Возвращает полное имя файла, в котором старый путь заменен новым путем.

FORCEPATH(cFileName, cPath)

Параметры

cFileName

Определяет имя файла (с полным путем, расширением или без них), которое будет заменено на новый путь к файлу.

cPath

Определяет новый путь для указанного имени файла cFileName.

Expand image Возвращаемое Значение

Типа Character

Expand image См. также

Описание

ADDBS( ) Функция
DEFAULTEXT( ) Функция
FILE( ) Функция
FORCEEXT( ) Функция
JUSTDRIVE( ) Функция
JUSTEXT( ) Функция
JUSTFNAME( ) Функция
JUSTPATH( ) Функция
JUSTSTEM( ) Функция

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


FOUND( ) Function

Visual FoxPro 9.0 Справка по языку
Функция FOUND( )
См.также

Определяет, успешно ли завершилась последняя выполненная команда CONTINUE, FIND, LOCATE, или SEEK и был ли перемещен указатель записи в связанной с ней таблице.

Подсказка:
Вы можете использовать функцию FOUND( ) для того, чтобы определить наличие в дочерней таблице записи, соответствующей записи в родительской таблице.

FOUND([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет рабочую область с таблицей, в которой выполнялась последняя команда CONTINUE, FIND, LOCATE, или SEEK.
cTableAlias

Определяет алиас таблицы, в которой выполнялась последняя команда CONTINUE, FIND, LOCATE, или SEEK.
Замечание:
Если вы указываете алиас несуществующей таблицы, Visual FoxPro генерирует сообщение об ошибке.

Возвращаемое значение

Логическое. Функция FOUND( ) возвращает Истинно (.T.) если последняя команда CONTINUE, FIND, LOCATE, или SEEK выполнилась успешно; в противном случае она возвращает Ложно (.F.). Если в указанной рабочей области нет открытой таблицы, функция FOUND( ) возвращает Ложно. Когда функция FOUND( ) обнаруживает конец файла как его определяет функция EOF( ), она всегда возвращает Ложно.

Замечания

Если вы вызываете функцию FOUND( ) без аргументов, функция FOUND( ) оперирует с таблицей, открытой в текущей рабочей области.

Примеры

Следующий пример находит и подсчитывает количество всех клиентов, для которых поле Country в таблице Customer содержит значение "GERMANY". Команда CLOSE DATABASES закрывает все базы данных, а затем команда OPEN DATABASE открывает базу данных примеров Visual FoxPro - TestData.dbc. Команда USE открывает таблицу Customer.

Команда STORE запоминает значение 0 в переменной gnCount. Команда LOCATE отыскивает первую запись, для которой поле Country содержит значение "GERMANY". Цикл DO WHILE увеличивает значение gnCount на 1 и использует команду CONTINUE для выполнения последующих операций LOCATE. Когда записей, совпадающих с критерием поиска, больше не находится, отображается общее количество клиентов.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
STORE 0 TO gnCount
LOCATE FOR UPPER(Country)='GERMANY'
DO WHILE FOUND()
 gnCount = gnCount + 1
 CONTINUE
ENDDO
? "Total customers from Germany: "+LTRIM(STR(gnCount))

См.также

Другие ресурсы

Команда CONTINUE
Команда FIND
Команда LOCATE
Команда SEEK
Функция EOF( )
Функции
Справка по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FPUTS( ) Function

Visual FoxPro 9.0 Справочник Языка
FPUTS () Функция
См. Также

Записывает символьную строку, перевод каретки, и перевод строки в отрытый на нижнем уровне файл.

FPUTS(nFileHandle, cExpression [, nCharactersWritten])

Параметры

nFileHandle

Определяет номер дескриптора для файла в который FPUTS( ) пишет данные.
cExpression

Определяет символьное выражение которое FPUTS( ) пишет в файл.
nCharactersWritten

Определяет число символов в cExpression для записи в файл. FPUTS( ) пишет символьное выражение cExpression целиком в файл, если Вы опускаете nCharactersWritten . Если Вы включаете nCharactersWritten , то символы в количестве nCharactersWritten будут записаны в файл. Если nCharactersWritten меньше чем число символов в cExpression , только nCharactersWritten символов будут записаны в файл. Все выражение cExpression будет записано в файл, если nCharactersWritten является равным или большим чем число символов в cExpression .

Возвращаемое значение

Числовое

Замечания

FPUTS( ) возвращает количество байтов, записанных в файл. Будет возвращен нуль, если FPUTS( ) не может записать в файл по любой причине.

См. Также

Другие Ресурсы

FCHSIZE( ) Функция
FCLOSE( ) Функция
FCREATE( ) Функция
FEOF( ) Функция
FFLUSH( ) Функция
FGETS( ) Функция
FOPEN( ) Функция
FREAD( ) Функция
FSEEK( ) Функция
FWRITE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FREAD( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
FREAD( ) Функция
Смотрите также Пример

Возвращает заданное число байтов из файла, открытого с помощью файловой функции низкого уровня.

FREAD(nFileHandle, nBytes)

Параметры

nFileHandle

Задает дескриптор файла, соответствующий файлу, из которого функция FREAD( ) возвращает данные. Дескриптор nFileHandle можно получить с помощью функций FOPEN( ) или FCREATE( ).
nBytes

Задает количество байтов, возвращаемых функцией FREAD( ) (максимум 65 535 байт). FREAD( ) возвращает данные, начиная с текущей позиции указателя файла и до тех пор, пока не будет возвращено nBytes байтов или пока не встретится конец файла.

Возвращаемое значение

Character

Пример

В следующем примере функция FREAD( ) используется для отображения содержимого файла. Если файл пуст, выдается соответствующее сообщение. Файл Test.txt должен быть предварительно создан.
Скопировать код
Local gnFileHandle,nSize,cString
gnFileHandle = FOPEN("test.txt")
* Поиск конца файла с целью определения количества байтов в файле.
nSize =  FSEEK(gnFileHandle, 0, 2)     && Перемещение указателя на конец файла (EOF)
IF nSize <= 0
 * Если файл пуст, выводится сообщение об ошибке.
 WAIT WINDOW "Этот файл пуст!" NOWAIT
ELSE
 * Если файл не пуст, его содержимое помещается в переменную памяти
 * и отображается в главном окне Visual FoxPro.
 = FSEEK(gnFileHandle, 0, 0)      && Перемещение указателя на начало файла (BOF)
 cString = FREAD(gnFileHandle, nSize)
 ? cString
ENDIF
= FCLOSE(gnFileHandle)         && Закрытие файла

Смотрите также

Прочие ресурсы

Функция FCHSIZE( )
Функция FCLOSE( )
Функция FCREATE( )
Функция FEOF( )
Функция FFLUSH( )
Функция FGETS( )
Функция FILETOSTR( )
Функция FOPEN( )
Функция FPUTS( )
Функция FSEEK( )
Функция FWRITE( )
Функции
Справочное руководство по языку

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


FSEEK( ) Function

Visual FoxPro 9.0 Описание Языка
FSEEK( ) Функция
См. также Пример
CollapseAll image

Перемещает указатель файла (pointer), открытого низкоуровневой файловой функцией.

FSEEK(nFileHandle, nBytesMoved [, nRelativePosition])

Параметры

nFileHandle

Определяет дескриптор файла (handle), для которого необходимо переместить указатель функцией FSEEK( ). Номер дескриптора файла возвращается функциями FCREATE( ) или FOPEN( ), когда файл открывается .

nBytesMoved

Определяет количество байт для перемещения указателя. Указатель премещается вперед, если значение параметра nBytesMoved положительно. Если значение параметра nBytesMoved отрицательное, то указатель перемещается назад, к началу файла.

nRelativePosition

Определяет отправную точку отсчета перемещения указателя в файле. По-умолчанию, указатель перемещается от начала файла. Вы можете задавать перемещение указателя файла относительно его текущей позиции или относительно конца файла. Для этого используется параметр nRelativePosition. Следующий список определяет возможные значения данного параметра nRelativePosition для перемещения указателя файла.

nRelativePosition Перемещение указателя относительно

0

(по-умолчанию) начала файла.

1

текущей позиции указателя (pointer).

2

Конца файла.

Expand image Возвращаемое Значение

Значение типа Numeric

Expand image Комментарии

После перемещения указателя файла, функция FSEEK( ) возвращает позицию указателя файла относительно начала файла. Указатель файла может быть перемещен также функциями FREAD( ) и FWRITE( ).

Expand image Пример

В следующем примере представлена пользовательская функция, использующая FSEEK( ) для определения размера файла. Если параметры отсутствуют, то возвращается значение = –2. Если файл не найден, то возвращается значение = –1.

CopyCode image Копировать Код
FUNCTION fsize2
PARAMETERS gcFileName  && File to be checked
PRIVATE pnHandle,pnSize
IF PARAMETERS( ) = 0
   RETURN -2  && Return -2 if no parameter passed
ELSE
   IF !FILE(gcFileName)
      RETURN -1  && Return -1 if file does not exist
   ENDIF
ENDIF
pnHandle = FOPEN(gcFileName)   && Open file
pnSize = FSEEK(pnHandle,0,2)   && Determine file size, assign to pnSize
=FCLOSE(pnHandle)  && Close file
RETURN pnSize  && Return value

Expand image См. также

Описание

FCHSIZE( ) Функция
FCLOSE( ) Функция
FCREATE( ) Функция
FEOF( ) Функция
FFLUSH( ) Функция
FGETS( ) Функция
FOPEN( ) Функция
FPUTS( ) Функция
FREAD( ) Функция
FWRITE( ) Функция

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


FSIZE( ) Function

Visual FoxPro 9.0 Language Reference
Функция FSIZE( )
See Also Example

Возвращает величину заданного поля или файла в байтах.

FSIZE(cFieldName [, nWorkArea | cTableAlias] | cFileName)

Параметры

cFieldName

Задает имя поля.
nWorkArea

Задает рабочую область таблицы, для которой функция FSIZE( ) возвращает размер поля. Функция FSIZE( ) возвращает 0, если таблица в указанной рабочей области не открыта.
cTableAlias

Задает псевдоним таблицы, для которой функция FSIZE( ) возвращает размер поля. Если задать несуществующий псевдоним таблицы, Visual FoxPro генерирует сообщение об ошибке.
cFileName

Задает файл, для которого функция FSIZE( ) возвращает величину в байтах.

Результат

Числовой

Замечания

Текущая Установка SET COMPATIBLE определяет, возвращает ли FSIZE () размер поля или файла. Если SET COMPATIBLE установлен в OFF или FOXPLUS (значение по умолчанию), FSIZE () возвращает размер поля. Если SET COMPATIBLE установлен в ON или DB4, FSIZE () возвращает размер файла.

В следующей таблице показан размер поля в байтах по умолчанию для различных типов полей.

Тип поля | Размер поля по умолчанию (в байтах)
Currency | 8
Date | 8
DateTime | 8
Double | 8
Integer | 4
Logical | 1
Memo | 4
General | 4

Размер поля можно отобразить на экране по команде DISPLAY STRUCTURE или LIST STRUCTURE.

Если опустить аргументы nWorkArea и cTableAlias, функция FSIZE( ) возвратит размер поля для текущей таблицы и рабочей области.

Пример

В следующем примере используется функция FSIZE( ), возвращающая размеры двух полей таблицы customer.
Copy Code
SET COMPATIBLE OFF
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Открыть таблицу Customer

CLEAR
? FSIZE('contact')  && покажет 30
? FSIZE('cust_id')  && покажет 6

See Also

Другие ресурсы

Команда DISPLAY STRUCTURE
Функция FCOUNT( )
Команда LIST
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


FTIME( ) Function

Visual FoxPro 9.0 Справочник Языка
FTIME () Функция
См. Также Пример

Возвращает время последней модификации файла.

FTIME(cFileName)

Параметры

cFileName

Определяет имя файла, время последней модификации которого FTIME( ) возвращает. cFileName может включать путь с именем файла. Если путь не включен с именем файла, Visual FoxPro ищет файл в каталоге по умолчанию и в любых каталогах или папках, указанных командой SET PATH.

Возвращаемое значение

Символьное

Замечания

Время, которое FTIME( ) возвращает, присвоено файлу операционной системой.

Пример

Следующий пример использует FTIME( ), чтобы отобразить время последней модификации FoxUser.dbf, файла ресурсов Visual FoxPro.

Скопировать код
? FTIME('FOXUSER.DBF')  && Displays the last modification time

См. Также

Другие Ресурсы

FDATE( ) Функция
LUPDATE( ) Функция
SET PATH Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FULLPATH( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция FULLPATH( )
Смотрите также
CollapseAll image

Возвращает путь к заданному файлу или путь относительно другого файла.

FULLPATH(cFileName1 [, nMSDOSPath | cFileName2])

Параметры

cFileName1

Задает файл, который ищет Visual FoxPro.

Note Note

Будте уверены включая расширение имени файла.

Если файл находится в каталоге пути Visual FoxPro, возвращается путь, включающий имя файла. Путь Visual FoxPro можно задать по команде SET PATH.

Если файл ненаходится в каталоге пути Visual FoxPro, FULLPATH( ) возвращается путь и имя файла, как если бы файл был найден в текущем каталоге, используемом по умолчанию.

nMSDOSPath

Задает поиск по пути MS-DOS, вместо пути Visual FoxPro. nMSDOSPath может принимать любое числовое значение.

Если файл не будет найден в каталогах пути MS-DOS, возвращается путь и имя файла, как если бы файл был найден в текущем каталоге, используемом по умолчанию.

cFileName2

Задает второе имя файла для поиска.

Note Note

Будте уверены включая расширение имени файла.

Функция FULLPATH( ) возвращает путь для первого файла относительно второго файла.

Expand image Возвращаемое значение

Символьное. FULLPATH( ) возвращает путь к файлу.

Expand image Примечания

Используйте функцию FILE( ) для проверки существования файла; иначе, если файл несуществует, функция фозвращает имя файла с текущим каталогом.

Expand image Смотрите также

Справочное руководство

Функция DBF( )
Функция FILE( )
Функция LOCFILE( )
SYS(2014) - Минимальный путь

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


FV( ) Function

Visual FoxPro 9.0 Описание Языка
FV( ), функция
См. также Пример
CollapseAll image

Возвращает будущую величину Финансовой Инвестиции (Financial Investment).

FV(nPayment, nInterestRate, nPeriods)

Параметры

nPayment

Определяет константу, как величину периодического платежа (может принимать как положительное, так и отрицательное Значение).

nInterestRate

Определяет процентную ставку. Если задается величина месячного платежа, то процентная ставка делится на 12.

nPeriods

Определяет общее количество периодов, для которых проводится расчет. Функция FV( ) предполагает, что платежи выполняются периодически, в конце каждого периода.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

FV( ) вычисляет периодические платежи на основании фиксированной процентной ставки. Возвращаемое значение включает в себя сумму всех периодических платежей и соответствующих процентов. Общий уплачиваемый Долг.

Expand image Пример

CopyCode image Копировать Код
STORE 500 TO gnPayment  && месячный платеж
STORE .075/12 TO gnInterest     && 7.5% вычисление месячного процента
STORE 4*12 TO gnPeriods  && задание периода платежей (48 месяцев)

CLEAR
? FV(gnPayment, gnInterest, gnPeriods)    && отображается 27887.93, общая величина  выплат (за 48 месяцев)

Expand image См. также

Описание

CALCULATE , Команда
PV( ), функция
STORE , Команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


FWRITE( ) Function

Visual FoxPro 9.0 Language Reference
Функция FWRITE( )
Смотреть также

Записывает символьную строку в файл или порт связи, открытый с помощью файловой функции низкого уровня.

FWRITE(nFileHandle, cExpression [, nCharactersWritten])

Parameters

nFileHandle

Задает дескриптор файла, соответствующий файлу или порту связи, в который функция FWRITE( ) ведет запись.
cExpression

Задает символьное выражение, которое функция FWRITE( ) записывает в файл или порт, заданный номером nFileHandle.
nCharactersWritten

Функция FWRITE( ) записывает в файл или порт все символьное выражение целиком, если не задан аргумент nCharactersWritten. Eсли задать nCharactersWritten, в файл или порт будут записаны nCharactersWritten символов. Если значение nCharactersWritten меньше числа символов в выражени cExpression, в файл или порт записываются только nCharactersWritten символов. Все символы cExpression запитшутся если nCharactersWritten равно числу символов или больше его в выражении cExpression.

Результат

Числовой

Замечания

В отличие от FPUTS( ), функция FWRITE( ) не вставляет в конец символьной строки возврат каретки с переводом строки.

FWRITE( ) возвращает количество байтов, записанных в файл или порт связи. Если FWRITE( ) по той или иной причине не может произвести запись в файл или порт, возвращается 0.

Смотреть также

Другие ресурсы

Функция FCHSIZE( )
Функция FCLOSE( )
Функция FCREATE( )
Функция FEOF( )
Функция FFLUSH( )
Функция FGETS( )
Функция FOPEN( )
Функция FPUTS( )
Функция FREAD( )
Функция FSEEK( )
Функция STRTOFILE( )
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


GETAUTOINCVALUE( ) Function

Visual FoxPro 9.0 Описание Языка
GETAUTOINCVALUE( ), функция
CollapseAll image

Возвращает последнее созданное значениедля автоинкрементного поля в соответствующей Сессии Данных.

GETAUTOINCVALUE([nDataSessionNumber | 0])

Параметры

nDataSessionNumber

Определяет номер сессии данных, для которой определяется последнее значение автоинкрементного поля.

При отсутствии параметра nDataSessionNumber или = 0, значение автоинкрементного поля возвращается для текущей сессии данных.

Для активации необходимой сессии данных используется команда SET DATASESSION.

0

Определяет, что последнее значение автоинкрементного поля возвращается для текущего вызова соответствующей (функции , метода , процедуры). Используйте данный параметр для случаев предотвращения выполнения внешних событий (происходящих вне текущего программного кода), например, при срабатывании команды ON KEY LABEL, код обработки которой может внезапно изменить значение автоинкрементного поля (последнего значения данного поля).

Expand image Возвращаемое значение

Числового типа. Возвращаемое функцией GETAUTOINCVALUE( ) последнее значение для автоинкрементного поля создается вне зависимости произошло ли реальное изменение данного поля в источнике данных. Возвращается значение =.NULL., если для заданной сессии данных еще не создано соответствующее значение автоинкрементного поля. Например, если еще не производилось никаких изменений источника данных (добавления записей), то возвращается значение =.NULL.

Expand image Комментарии

Изменение автоинкрементного поля происходит при таких операциях над таблицей, как APPEND, команда, INSERT, команда, APPEND FROM, команда, и BLANK, команда , при условии, что включена опция AUTOINC (в этих командах). См. дополнительно раздел Автоинкрементные поля в Таблицах .

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


GETBAR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETBAR( )
Смотрите также Пример
CollapseAll image

Возвращает номер элемента в меню, определенном с помощью команды DEFINE POPUP, или в системном меню Visual FoxPro.

GETBAR(MenuItemName, nMenuPosition)

Параметры

MenuItemName

Задает элемент меню.

nMenuPosition

Задает позицию в меню. Значение nMenuPosition может изменяться в диапазоне от 1 до общего числа элементов в меню. Позиция 1 соответствует первому элементу меню, позиция 2 ѕ второму элементу и т.д.

Expand image Возвращаемое значение

Числовой

Expand image Примечания

Используйте функцию GETBAR( ), чтобы определять, какой элемент какую позицию в меню занимает. Данная функция полезна при добавлении, удалении и перестановке элементов меню. Элемент добавляется в меню по команде DEFINE BAR, а удаляется командой RELEASE BAR. Позиции элементов меню могут быть изменены, если при создании меню в команде DEFINE POPUP было задано ключевое слово MOVER.

Expand image Пример

В следующем примере создается меню popDemo. Ключевое слово MOVER было задано, поэтому элементы в меню можно переставлять. О том, как переставлять элементы меню, смотрите описание предложения MOVER команды DEFINE POPUP.

Меню активизируется, и последовательность функций GETBAR( ) в составе PRMBAR( ) возвращает названия всех элементов. Переставив элементы, нажмите клавиши CTRL+Z, чтобы вывести элементы на экран в новом порядке.
CopyCode image Copy Code
CLEAR
ON KEY LABEL CTRL+Z DO showorder
WAIT WINDOW "Press CTRL+Z to refresh." NOWAIT

DEFINE POPUP popDemo MOVER FROM 2,2
DEFINE BAR 1 OF popDemo PROMPT 'One'
DEFINE BAR 2 OF popDemo PROMPT 'Two'
DEFINE BAR 3 OF popDemo PROMPT 'Three'
DEFINE BAR 4 OF popDemo PROMPT 'Four'

DO showorder
ACTIVATE POPUP popDemo

PROCEDURE showorder
CLEAR
@ 3,12 SAY  '1 ' + PRMBAR('popDemo', GETBAR('popDemo',1))
@ 4,12 SAY  '2 ' + PRMBAR('popDemo', GETBAR('popDemo',2))
@ 5,12 SAY  '3 ' + PRMBAR('popDemo', GETBAR('popDemo',3))
@ 6,12 SAY  '4 ' + PRMBAR('popDemo', GETBAR('popDemo',4))
RETURN

Expand image Смотрите также

Справочное руководство

Команда DEFINE BAR
Команда DEFINE POPUP
Команда RELEASE BAR

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GETCOLOR( ) Function

Visual FoxPro 9.0 Справочник Языка
GETCOLOR () Функция
См. Также Пример

Отображает диалоговое окно Windows Color и возвращает код выбранного цвета.

GETCOLOR([nDefaultColorNumber])

Параметры

nDefaultColorNumber

Определяет цвет, который установлен первоначально в момент вывода диалогового окна Color . Если nDefaultColorNumber не соответствует цвету в диалоговом окне Color, устанавливается первое цветовое значение в диалоговом окне Color. Если Вы опускаете nDefaultColorNumber , выбирается черный.

Возвращаемое значение

Числовое

Замечания

GETCOLOR( ) возвращает - 1, если Вы выходите из диалогового окна Color, нажимая ESC, выбирая кнопку Cancel, или выбирая Close из Оконного меню.

Пример

Следующий пример выводит диалоговое окно Windows Color с выбранным красным цветом. Число, соответствующее цвету, который Вы выбрали, отображается, когда Вы выходите из диалогового окна.

Скопировать код
CLEAR
? GETCOLOR(255)

См. Также

Другие Ресурсы

GETPICT( ) Функция
RGB( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GETCP( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETCP( )
Смотрите также Пример
CollapseAll image

Запрашивает кодовую страницу, отображая на экране диалоговое окно Code Page, а затем возвращает номер выбранной кодовой страницы.

GETCP([nCodePage] [, cText] [, cDialogTitle])

Параметры

nCodePage

Задает номер кодовой страницы, которая будет изображена выбранной в диалоговом окне Code Page. Если nCodePage равен 0 или опущен, при отображении диалогового окна Code Page никакая страница не будет выбрана.

cText

Задает текст выводимый в диалоговым окном Code Page. Если аргумент cText, опущен, Visual FoxPro отобразит следующую подпись: "Please select a code page for cross-platform data sharing."

cDialogTitle

Задает титульный заголовок, который появится в строке заголовка диалогового окна Code Page. Если аргумент cDialogTitle опущен, используется заголовок "Code Page".

Expand image Возвращаемое значение

Числовое

Expand image Примечания

Если выйти из диалогового окна Code Page, нажав клавишу ESC или кнопку Cancel или выбрав команду Close в меню Control, функция GETCP( ) возвратит 0.

Кодовые страницы, которые приводятся в диалоговом окне Code Page, определяются содержимым файла FOXPRO.INT ѕ файла поддержки кодовых страниц Visual FoxPro International.

Функцию GETCP( ) можно включать в такие команды, как MODIFY COMMAND, APPEND FROM и COPY TO, поддерживающие предложение AS nCodePage Появляющееся диалоговое окно Code Page дает возможность задать кодовую страницу для открываемого, присоединяемого или создаваемого файла. Поскольку кодовой страницы 0 не существует, нужно учесть вариант возвращения значения 0, когда пользователь нажимает клавишу ESC, кнопку Cancel или выбирает команду Close в меню Control.

Expand image Пример

В следующем примере отображается диалоговое окно Code Page, в котором выбрана кодовая страница 1252 (Windows ANSI). В качестве названия диалогового окна Code Page отображается фраза "Select a Code Page" , а в строке заголовка этого диалогового окна стоит "Code Page Selection".
CopyCode image Copy Code
? GETCP(1252, "Select a Code Page", "Code Page Selection")

Expand image Смотрите также

Справочное руководство

Команда APPEND FROM
Команда COPY TO
Команда EXPORT
Команда IMPORT
Команда MODIFY COMMAND
Команда MODIFY FILE
Команда MODIFY QUERY

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GETCURSORADAPTER( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETCURSORADAPTER( )
Смотри также

Возвращает в run-time объектную ссылку на объект CursorAdapter по имени курсора.

GETCURSORADAPTER( [ cAlias ] )

Параметры

cAlias

Указывает псевдоимя (alias) курсора. Если вы опустите этот параметр, Visual FoxPro будет использовать псевдоимя (alias) курсора в текущей рабочей области.

Возвращаемое значение

Объектная ссылка на объект CursorAdapter.

Замечания

Применяется к: классу CursorAdapter

Смотри также

Прочие ресурсы

Функции
Свойства, методы и события объекта CursorAdapter

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


GETDIR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETDIR( ) Function
Смотрите также
CollapseAll image

Отображает Диалоговое окно Select Directory, в котором можно выбрать нужный каталог.

GETDIR([cDirectory [, cText [, cCaption [, nFlags [, lRootOnly]]]]])

Параметры

cDirectory

Задает каталог, который отображается при первом появлении диалогового окна. Если параметр cDirectory не задан, диалоговое окно открывается с отображенным в нем каталогом Visual FoxPro, используемым по умолчанию.

cText

Определяет текст, выводимый над списком каталогов в диалоговом окне.

cCaption

Определяет текст, выводимый в области заголовка диалогового окна. Заголовок Windows по умолчанию - "Select Directory".

nFlags

Определяет варианты диалогового окна. Параметр nFlags может быть нулевым или включать совокупную комбинацию значений. Следующая таблица включает некоторые из типичных флажков. Для более подробной информации смотрите SHBrowseForFolder в MSDN.

nFlag Значение Описание

1

BIF_RETURNONLYFSDIRS

Возвращаются только каталоги файловой системы (физическое местоположение). Если пользователь выбирает папки, не являющиеся частью файловой системы, кнопка OK будет недоступна.

2

BIF_DONTGOBELOWDOMAIN

В дерево не включаются объекты сетевого окружения ниже доменного уровня.

8

BIF_RETURNFSANCESTORS

Возвращаются только те объекты, предками которых является файловая система. В противном случае кнопка OK будет недоступна.

16

BIF_EDITBOX

В диалоговое окно добавляется поле редактирования, в котором пользователь может ввести искомое имя. Доступно, под Windows 98 и выше, или с Internet Explorer 4.0 или выше (при выборе опции интеграции оболочки). Требует shell32.dll версии 4.71.

32

BIF_VALIDATE

Проверяет допустимость введенного в поле редактирования значения. Если поле редактирования используется, необходимо проверить допустимость введенных пользователем данных. Если пользователем введено недопустимое имя, доступна только кнопка Cancel (Отмена). Этот флажок игнорируется, если не задан BIF_EDITBOX.

64

BIF_NEWDIALOGSTYLE

Позволяет использовать новый пользовательский интерфейс. Установка этого флажка обеспечивает пользователя диалоговым окном изменяемого размера с расширенными возможностями. Дополнительные функциональные возможности включают: перетаскивание в пределах диалогового окна, переупорядочение, вызов контекстного меню нажатием правой кнопки мыши, кнопка создания новых папок. Поддерживается под Windows 2000 и выше. Требует shell32.dll версии 5.00.

16384

BIF_BROWSEINCLUDEFILES

Наряду с папками отображаются и файлы. Доступно, под Windows 98 и выше, или с Internet Explorer 4.0 или выше (при выборе опции интеграции оболочки). Требует shell32.dll версии 4.71.
lRootOnly

Определяет, что отображаться будет только содержимое каталога cDirectory и его подкаталогов. Этот параметр предотвращает перемещение на более высокий уровень, чем задано. Если параметр cDirectory не задан, используется каталог по умолчанию (установка SET DEFAULT).

Expand image Возвращаемое значение

Character

Expand image Замечания

Функция GETDIR( ) возвращает имя выбранного каталога в виде символьной строки.

Если не выбран никакой каталог (была нажата кнопка Cancel или клавиша Esc или выбран пункт Close в меню управления окном), функция GETDIR( ) возвратит пустую строку.

Начиная с Visual FoxPro 7, функция GETDIR( ) поддерживает два различных диалоговых окна. При использовании только двух параметров, функция GETDIR( ) вызывает диалоговое окно более ранних версий. Если используется большее количество параметров, Visual FoxPro для отображения диалогового окна использует функцию SHBrowseForFolder из Win32 API.

Expand image Смотрите также

Справочное руководство

Команда DIR или DIRECTORY
Команда GETEXPR
Функция DIRECTORY( )
Функция GETFILE( )

Прочие ресурсы

Functions
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


GETENV( ) Function

Visual FoxPro 9.0 Справочник Языка
GETENV () Функция
См. Также Пример

Возвращает содержание указанных переменных среды MS-DOS.

GETENV(cVariableName)

Параметры

cVariableName

Определяет имя переменной среды. Пустая строка возвращается, если переменной среды, которую Вы определяете, не существует. Вы можете определить местонахождение каталога Windows с помощью переменной среды WINDIR, которую Windows задает при запуске.

Возвращаемое значение

Символьное

Замечания

Две переменные среды всегда доступны: COMSPEC и PATH. Вы можете создать ваши собственные переменные среды с помощью команды SET в командной оболочке.

Для дополнительной информации относительно создания переменных среды, см. документацию по Windows.

Пример

Скопировать код
CLEAR
? GETENV('PATH')  && Displays the search path

См. Также

Другие Ресурсы

DISKSPACE( ) Функция
OS( ) Функция
VERSION( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Function GETFILE( )

Visual FoxPro 9.0 Language Reference
Функция GETFILE( )
Смотреть также Пример

Отображает диалоговое окно Open.

GETFILE([cFileExtensions] [, cText] [, cOpenButtonCaption]
 [, nButtonType] [, cTitleBarCaption])

Параметры

cFileExtensions

Задает расширения имен файлов, отображаемых в прокручиваемом списке, если элемент меню All Files не установлен. При принятии значения как строковое, поместите его в кавычки (" "). Не включайте (.) перед расширением имени файла.
Комментарии:
Параметер cFileExtensions недолжен привышать длину 254 символов.

Аргумент cFileExtensions может принимать разные формы:
  • Если cFileExtensions содержит только одно расширение имени (например PRG), на экране отображаются только файлы с данным расширением..

  • Если cFileExtensions представляет собой пустую строку, будут отображены все файлы текущего каталога.

  • cFileExtensions может также содержать символы подстановки (* и ?). Отображаются все файлы, расширения которых удовлетворяют данному критерию с учетом символов подстановки. Например, если cFileExtensions содержит ?X?, будут отображены все файлы с расширениями .FXP, .EXE и .TXT.

  • cFileExtensions может содержать описание файла, дополненное расширением файла или списком расширений файла, отделенных запятыми. Описание файла появляется в диалоговом окне Open в поле выбора списка Типа файла. Отделите описание файла от расширения файла или списка расширений файла двоеточием (:). Отделите множественные описания файла и их расширения точкой с запятой (;).

    Например, если cFileExtensions задать - "Text:TXT", в диалоговом окне Open отображает описание файла "Text" в поле выбора списка типов и отображает все файлы имеющие расширение .txt.

    Если cFileExtensions задать "Tables:DBF; Files:TXT, BAK" описания файла "Tables" и "Files" появляются в поле выбора типов файла. А при выборе "Tables" в поле выбора типа файлов, будут отображены все файлы с расширением .dbf отображены. При выборе "Files" в поле списка типов файлов, отображены будут все файлы расширением .txt, и .bak.

  • Если cFileExtensions содержит только точку с запятой (;), будут отображены все файлы без расширений.

cText

Определяет текст для метки Имени файла в диалоговом окне Open.
cOpenButtonCaption

Задает надпись для кнопки OК в диалоговом окне Open.
nButtonType

Задает число и тип кнопок, изображаемых в диалоговом окне Open. В следующей таблице перечислены значения дляnButtonType.

nButtonType Buttons displayed

0 (или опущен)

OK, Cancel

1

OK, New, Cancel

2

OK, None, Cancel
Комментарии:
GETFILE () возвращает строку "Untitled" с путем, указанным в диалоговом окне Open, когда nButtonType установлен в 1 и пользователь выбрал New, или когда nButtonType установлен в 2, и пользователь выбрал None.

cTitleBarCaption

Задает надпись заголовка диалогового окна Open.

Результат

Символьный. GETFILE( ) возвращает имя выбранного файла в диалоговом окне Open или возвратит пустую строку, если выйти из диалогового окна Open, нажав клавишу Esc или кнопку Cancel или выбрав Close из меню Control.

Замечания

Пример

Копировать код
CLOSE DATABASES
SELECT 0

gcTable=GETFILE('DBF', 'Browse or Create a .DBF:',
 'Browse', 1, 'Browse or Create')
DO CASE
 CASE 'Untitled' $ gcTable
 CREATE (gcTable)
 CASE EMPTY(gcTable)
 RETURN
 OTHERWISE
 USE (gcTable)
 BROWSE
ENDCASE

See Also

Другие ресурсы

Функция FULLPATH( )
Команда GETEXPR
Функция GETPICT( )
Функция LOCFILE( )
Функция PUTFILE( )
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


GETFLDSTATE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETFLDSTATE( )
Смотрите также
CollapseAll image

Возвращает числовое значение, показывающее, редактировалось ли поле в таблице или курсоре, добавлялись ли записи, изменился ли для текущей записи статус удаления.

GETFLDSTATE(cFieldName | nFieldNumber [, cTableAlias | nWorkArea])

Параметры

cFieldName| nFieldNumber

Задает имя или номер поля, для которого будет возвращен статус редактирования. Номер поля nFieldNumber соответствует позиции поля в структуре таблицы или курсора. Для определения номера поля можно использовать команду DISPLAY STRUCTURE или функцию FIELD( ).

Можно задать -1 в качестве nFieldNumber , чтобы возвращалась символьная строка, состоящая из значений статуса удаления и редактирования для всех полей таблицы или курсора. Например, если в таблице пять полей и редактировалось только первое поле, функция GETFLDSTATE( ) возвратит следующее: 121111.

Значение 1 в первой позиции указывает, что статус удаления не изменился.

Можно также задать 0 в качестве nFieldNumber , чтобы определить, изменился ли статус удаления для текущей записи с тех пор, как была открыта таблица или курсор.

Note Замечание

Функция GETFLDSTATE( ) позволяет определить только то, изменился ли статус удаления для текущей записи. Например, если пометить запись для удаления и затем отменить удаление, GETFLDSTATE( ) укажет, что статус удаления изменился, несмотря на то, что он в итоге вернулся в первоначальное состояние. Определить текущий статус удаления записи можно с помощью функции DELETED( ).

cTableAlias

Задает псевдоним таблицы или курсора, для которых будет возвращен статус редактирования поля или удаления записи.

nWorkArea

Задает рабочую область таблицы или курсора, для которых будет возвращен статус редактирования поля или удаления записи.

Если ни псевдоним, ни рабочая область не заданы, GETFLDSTATE( ) возвращает значение статуса для поля в выбранной таблице или курсоре.

Expand image Возвращаемое значение

Числовое, Символьное, или .NULL.

Expand image Примечания

TВ следующей таблице перечислены возвращаемые значения и соответствующий статус редактирования или удаления.

Возвращаемое значение | Статус редактирования или удаления
1 | Поле не редактировалось или статус удаления не изменился.
2 | Поле редактировалось или статус удаления изменился.
3 | Поле в добавленной записи не редактировалось или статус удаления для присоединенной записи не изменился.
4 | Поле в добавленной записи редактировалось или статус удаления для добавленной записи изменился.
.NULL. | по достижению EOF( )

Чтобы функция GETFLDSTATE( ) могла работать с локальными таблицами, предварительно нужно включить буферизацию строк или таблиц функцией CURSORSETPROP( ).

Если функция GETFLDSTATE( ) выдана без необязательных аргументов cTableAlias или nWorkArea, возвращается статус редактирования или удаления для таблицы или курсора, открытого в выбранной в данный момент рабочей области.

Любіе изменения в поле will cause GETFLDSTATE() to return a value showing that the field has been modified, whether the change is explicit or implicit. An example of an explicit modification would be including the field in a REPLACE or INSERT INTO command. An implicit modification occurs in a field that has a default value when any command is issued that adds a new record.

Expand image Пример 1

Следующий пример демонстрирует, как можно с помощью функции GETFLDSTATE( ) определить, было ли изменено содержимое поля. MULTILOCKS устанавливается равным ON; это необходимо в случае буферизации таблицы. Открывается таблица customer в базе данных testdata, а затем с помощью функции CURSORSETPROP( ) устанавливается мягкий режим буферизации таблицы (5).

Перед изменением поля cust_id выдается функция GETFLDSTATE( ) которая отображает значение (1), соответствующее немодифицированному состоянию поля. Затем поле cust_id модифицируется по команде REPLACE и вновь выдается функция GETFLDSTATE( ), отображая значение (2), соответствующее модифицированному состоянию поля cust_id. Функция TABLEREVERT( ) возвращает таблицу в исходное состояние, а затем опять выдается функция GETFLDSTATE( ), которая отображает значение (1), соответствующее первоначальному состоянию поля cust_id.

CopyCode image Copy Code
CLOSE DATABASES
CLEAR

SET MULTILOCKS ON         && Allow table buffering
OPEN DATABASE (HOME(2) + 'data\testdata')
USE Customer             && Open customer table
=CURSORSETPROP("Buffering",5,"customer")  && Enable table buffering

* Get field state on original cust_id field and display state
nState=GETFLDSTATE("cust_id")
DO DisplayState WITH nState, "Original"

* Change field contents and display state
REPLACE cust_id    WITH "***"
nState=GETFLDSTATE("cust_id")
DO DisplayState WITH nState, "After Replace"

* Discard table changes and display state
= TABLEREVERT(.T.)        && Discard all table changes
nState=GETFLDSTATE("cust_id")
DO DisplayState WITH nState, "After Revert"

PROCEDURE DisplayState
PARAMETER nState,cOperation
DO CASE
   CASE nState=1
      =MESSAGEBOX("Field has not been modified",0,cOperation)
   OTHERWISE
      =MESSAGEBOX("Field has been modified",0,cOperation)
ENDCASE

Expand image Example 2

The following example shows the difference in behavior between fields with and without default values.

CopyCode image Copy Code
SET MULTILOCKS ON
CREATE DATABASE example
CREATE TABLE customer (cust_id C(6),state C(2) DEFAULT "FL")
CLOSE TABLES
USE customer
=CURSORSETPROP("Buffering",5,"customer")

APPEND BLANK
?GETFLDSTATE("cust_id")     && Returns 3, field in an appended record has
                            && not been modified.

?GETFLDSTATE("state")    && Returns 4, field in an appended record has
                         && been modified.

Expand image Смотрите также

Справочное руководство

Функция CURVAL( )
Функция DELETED( )
Функция FIELD( )
Функция OLDVAL( )
Функция CURSORSETPROP( )
Функция SETFLDSTATE( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


GETFONT( ) Function

Visual FoxPro 9.0 Справочник Языка
GETFONT () Функция
См. Также Пример

Отображает диалоговое окно Font и возвращает информацию о шрифте, который Вы выбираете.

GETFONT([cFontName [, nFontSize [, cFontStyle [, nFontCharSet]]]])

Параметры

cFontName

Определяет имя шрифта, первоначально выбранного в диалоговом окне Font. Если шрифт, который Вы определяете, не установлен, то заданный по умолчанию шрифт выбирается первоначально.
nFontSize

Определяет размер шрифта, выбранный первоначально в диалоговом окне Font. Если размер шрифта, который Вы определяете, не поддерживается, заданный по умолчанию размер шрифта выбрается первоначально. Если Вы опускаете nFontSize или если nFontSize является меньше или равным нулю, то размер выбранного шрифта принимает значение по умолчанию в 10 пунктов.
Обратите внимание:
Диалоговое окно разрешает Вам выбирать размеры между 4 и 127 включительно. Вы можете определить другие значения для nFontSize при вызовве функции GETFONT ; никакой ошибки не происходит. Однако, если Вы допускаете это, то пользователь должен выбрать размер в пределах определяемого диапазона значений, перед вводом OK в диалоговом окне. Иначе, диалоговое окно отображает предупреждение и не разрешает назначить это значение.

cFontStyle

Определяет начертание шрифта, выбранное первоначально в диалоговом окне Font или доступное для отображения на выбранном принтере. Если начертание шрифта, которое Вы определяете, не поддерживается, заданное по умолчанию начертание шрифта выбирается первоначально. Следующая таблица перечисляет значения, доступные для cFontStyle .

cFontStyle Описание

B

Выберите начертание шрифта Bold первоначально.

I

Выберите начертание шрифта Italic первоначально.

BI

Выберите начертание шрифта Bold Italic первоначально.

P

Отобразите только те шрифты, которые доступные в текущем по умолчанию принтере.

nFontCharSet

Определяет значение для языковых начертаний. Значения, которые Вы можете определить, различаются в зависимости от вашей версии Windows.
Обратите внимание:
Исключение этого параметра, отключает раскрывающийся список начертаний в диалоговом окне.

Следующая таблица описывает примеры некоторых значений для nFontCharSet.

nFontCharSet Языковое начертание

0

Western

1

Default

2

Symbol

128

Japanese

161

Greek

162

Turkish

163

Vietnamese

177

Hebrew

178

Arabic

186

Baltic

204

Cyrillic

238

Central European

Обратите внимание:
Если Вы определяете 1 для nFontCharSet , то диалоговое окно, которое открывает GETFONT( ) выводит заданное по умолчанию языковое начертание для операционной системы. GETFONT( ) никогда не возвращения 1, потому что она возвращает значение для языкового начертания, выбранного в диалоговом окне GETFONT( ) .

Для подробной информации, см. FontCharSet Свойство .

Возвращаемое значение

Символьное. GETFONT( ) возвращает одно из следующего, в зависимости от некоторых условий:

  • Символьную строку, содержащую три типа данных о шрифте с запятыми, разделяющими эти пункты: имя шрифта, размер и стиль. Это действие происходит, когда Вы выбираете 1 в диалоговом окне Font, и при этом не включили четвертый дополнительный параметр при вызове функции GETFONT( ) .

  • Символьную строку, содержащую четыре типа данных о шрифте с запятыми, разтделяющими пункты: имя шрифта, размер, стиль и языковое начертание. Это действие происходит, если Вы включаете значение для параметра nFontCharSet .

Обратите внимание:
В версиях VisualFoxPro младше чем Visual FoxPro 9.0, если Вы включали значение 0 как четвертый параметр в GETFONT() , Вы получали ту же самую информацию, как если бы Вы не включали четвертый параметр вообще. Раскрывающийся список начертаний был не доступен, и возвращаемое значение содержало только три типа данных о шрифтах. В Visual FoxPro 9.0, значение 0 явно указывает числовое значение, соответствующее Западному начертанию. Раскрывающийся список начертаний мог бы также первоначально отображаться как Западный, если бы Вы определили 1 для этого значения, но только в том случае, если Западный - это заданное по умолчанию начертание для ваших локализованных параметров настройки.

  • Пустую строку, если Вы выходите из диалогового окна Font, щелкая Cancel, Close в Оконном меню, или нажимая клавишу ESC.

Замечания

Совет:
Вы можете сокращать некоторые команды и функции Visual FoxPro до четырех символов, если не существует конфликтов с другими командами и функциями. В случае с GETFONT( ) и GETFILE( ) , которые обе начинаются с одних и тех же четырех символов, старшинство отдается GETFILE( ) ; поэтому, выполнение GETF( ) выводит диалоговое окно Open.

Пример

Следующий пример иллюстрирует другие типы возвращаемых значений, которые Вы можете получить от функции GETFONT( ) .

Скопировать код
* Invoke the dialog with script drop-down list disabled:
? GETFONT("Arial",12,"B") && press OK in the dialog box
* return value is the string:
* "Arial,12,B"
* Enable the script drop-down list, Western script selected:
? GETFONT("Arial",12,"B",0) && press OK after selections
* sample return value is the string:
* "Verdana,16,N,161"
* Return from the dialog box without making a selection:
? GETFONT("Arial",12,"B") && press Cancel in the dialog box
* return value is an empty string
? GETFONT("Arial",12,"B",0) && press Cancel in the dialog box
* return value is still an empty string

См. Также

Другие Ресурсы

FONTMETRIC( ) Функция
SYSMETRIC( ) Функция
TXTWIDTH( ) Функция
WFONT( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GETINTERFACE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETINTERFACE()
Смотрите также Пример
CollapseAll image

Предоставляет доступ к свойствам, методам и события объекта COM посредством раннего связывания.

GETINTERFACE(oObject [, cIID | cInterface[, cTypelib | cProgID]])

Параметры

oObject

Указывает целевой COM объект.

cIID

Определяет GUID целевого интрефейса oObject. cIID может быть интрефейсом, таким как "IContextState" или он может быть GUID, таким как "{94631BEC-EE81-479A-AE64-A6CFC37B4799}". Если он является интрефейсом "IDispatch", тогда GetInterface() возвразает IDispatch (позднее связывание) ссылку на объект. Если cIID не указан, тогда GetInterface() возвратит интерфейс раннего связыания для объекта.

cInterface

Указывает имя интрефейса.

cTypelib

Указывает имя библиотеки типов, содержащей класс oObject.

cProgID

Указывает имя программы, которая будет использования для поиска в библиотеке типов.

Expand image Возвраты

Ссылка на COM Object Interface

Expand image Примечания

GetInterface( ) применяется только к COM объектам. Если вы используете родные объекты Visual FoxPro, GetInterface( ) сгенерирует ошибку. GetInterface( ) возвращает ссылку на объект раннего связывания.

Когда DLL построена на платформах Windows 95, Windows 98 или Windows Me, Visual FoxPro не включает библиотеку типов внутри DLL. Когда вы используете GETINTERFACE( ) и ссылаетесь на DLL построенную на одной из этих платформ, вы должны использовать имя Type Library вместо имени DLL, как это показано в приведенном ниже коде:

CopyCode image Скопировать код
oX = GETINTERFACE(x, "Imyclass", "myclass1.TLB")

Вы можете использовать приведенный ниже код для DLL построенных на Windows XP, Windows 2000 или Windows NT:

CopyCode image Скопировать код
oX = GETINTERFACE(x, "Imyclass", "myclass1.DLL")

Expand image Пример

Приведенный код примера предоставляет метод, который вы можете использовать в ваших Visual FoxPro COM серверах для обработки таранзакций в COM+ приложениях. Этот пример требует, чтобы вы добавили COM сервер, содержащий этот код в COM+ приложение, до вызова его клиентом.
CopyCode image Скопировать код
LOCAL oMTX, oContext, oContextState
LOCAL lTxnState, lGetTxnState, lDone, lGetDone
lGetDone = .F.     && инициализация установки
lGetTxnState = 0  && инициализация установки

oMTX = CREATEOBJECT("MTXAS.APPSERVER.1")
oContext = oMTX.GetObjectContext()
oContextState = GetInterface(oContext,"IContextState")

* Обработка установок активации (Doneness)
* Значения: .T. - деактивировать, .F. - оставить активной
lDone = .T.
oContextState.SetDeactivateOnReturn(lDone)
oContextState.GetDeactivateOnReturn(@lGetDone)

* Обработка установок транзакции (Consistency)
* Values: 0 - подписать, 1 - прекратить
lTxnState = 1
oContextState.SetMyTransactionVote(lTxnState)
oContextState.GetMyTransactionVote(@lGetTxnState)

Expand image Смотрите также

Задачи

Как: просмотреть информацию библиотеки типов

Справочное руководство

Функция CREATEOBJECTEX()
Ранее (vtable) и позднее (IDispatch) связывание
Функция GETOBJECT()
SYS(2333) - Поддержка ActiveX Dual Interface

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


GETNEXTMODIFIED( ) Function

Visual FoxPro 9.0 Описание Языка
GETNEXTMODIFIED( ), функция
См. также Пример
CollapseAll image

Возвращает номер Записи для последующей корректироки данных в буферизированной Таблице или Курсоре.

GETNEXTMODIFIED(nRecordNumber [, cTableAlias | nWorkArea] [, lNoFire])

Параметры

nRecordNumber

Определяет номер Записи, после которой данная функция GETNEXTMODIFIED( ) выполняет поиск следующей Записи для корректировки данных. Если данный параметр nRecordNumber = 0, то поиск следующей Записи для корректировки данных выполняется с первой записи буферизированной Таблицы.

cTableAlias

Определяет Алиас Таблицы или Курсора, для которых функция GETNEXTMODIFIED( ) возвращает номер следующей Записи для корректировки данных.

nWorkArea

Определяет номер рабочей области, в которой открыта Таблица или Курсор, для которых функция GETNEXTMODIFIED( ) возвращает номер следующей Записи для корректировки Данных.

Если вы не указываете данный параметр, GETNEXTMODIFIED( ) возвращает номер Записи текущей Таблицы, открытой в текущей рабочей области.

lNoFire

Определяет Подавление (игнорирование) всех существующих Правил (rules) изменения в таблице Базы Данных.

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

GETNEXTMODIFIED( ) = 0, то больше нет Записей для корректировки, расположенных после указанной Записи в данной функции. Пэтому, если вы выполняете изменения данных только в одной Записи, вам достаточно выполнить команду перехода на первуюзапись Таблицы: GO TOP, позиционировать указатель на запись, расположенную перед вашей Записью. Данные в Записи считаются измененными, если выполнено изменение одного лишь поля записи (или данные в записи восстановлены), или изменен статус удаления данной записи таблицы.

GETNEXTMODIFIED( ) работает только с Буферизированными Таблицами или Курсорами. Изменение статуса буферизации выполняется с использованием функции CURSORSETPROP( ).

Пока Триггеры не изменяются функцией GETNEXTMODIFIED( ), lNoFire подавляет только Правила изменения Полей и Записей, а также ситуации возникновения ошибки: "Uniqueness of index ID is violated". lNoFire предохраняет сохранение на диск временных данных в буфере, например таких данных, которые содержатся в соответствующих Контролах Формы, или в рабочих Курсорах.

Expand image Пример

В следующем программном коде используется GETNEXTMODIFIED( ), функция, для проверки изменения Записи в буферизированной Таблице. Обычно, изменения данных выполняются пользователем в Форме Редактирования. Для данного примера, изменения выполняются с использованием команды SQL UPDATE. Для демонстрации работы программного кода с использованием метода GetNextModified, Таблица открывается из Базы Данных Sample, устанавливается режим Оптимистической Буферизации для Записи Таблицы, выполняются необходимые изменения.

Функция GetNextModified( ) вызавается с параметром = 0, что указывает на корректировку первой записи в буфере. Далее выполняется цикл корректировки Записей, основанный на значении переменной MaxOrdAmt. Выполненные изменения Отменяются, если значение этой переменной MaxOrdAmt > 8500. GetNextModified( ) вызывается повторно, в этом случае корректируется текущая Запись Таблицы, чтобы получить следующий номер Записи для корректировки в буфере. Если GetNextModified( ) = 0, это означает, что нет больше некорректированных Записей, цикл заканчивается. Вызывается функция TableRevert(.t.) - для отмены выполненных изменений в исходной Таблице, данные возвращаются в свое начальное состояние.

CopyCode image Копировать Код
LOCAL lnCurRec
CLEAR
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE Customer

* Enable table buffering.
SET MULTILOCKS ON
=CURSORSETPROP("Buffering", 5, "customer")

* Increase MAXORDAMT by 10% for customers in Mexico.
UPDATE Customer SET MaxOrdAmt=MaxOrdAmt * 1.1 WHERE Country = "Mexico"

* Start with the first modified record.
lnCurRec = GETNEXTMODIFIED(0)

* DO until all modified records are processed.
DO WHILE .T.

 * Move to the current modified record.
 GOTO (m.lnCurRec)

 * Process modified row here.
 ? Customer.Company, Customer.MaxOrdAmt
 IF Customer.MaxOrdAmt > 8500
 =TABLEREVERT(.F.)
 ENDIF
 ?? Customer.MaxOrdAmt

 * Get the next modified record from here.
 lnCurRec = GETNEXTMODIFIED(m.lnCurRec)

 IF m.lnCurRec = 0 && No more modified records.
 EXIT
 ENDIF

ENDDO

=TABLEREVERT(.T.) && Restore sample data and discard all changes.

Expand image См. также

Описание

CURSORSETPROP( ), функция
CURVAL( ), функция
GETFLDSTATE( ), функция
OLDVAL( ), функция
SETFLDSTATE( ), функция
TABLEUPDATE( ), функция
TABLEREVERT( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


GETOBJECT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция GETOBJECT()
Смотрите также Пример
CollapseAll image

Инициирует объект Automation и создает ссылку на него.

GETOBJECT(cFileName | Moniker [, cClassName])

Параметры

cFileName

Указывает полный путь и имя файла для инициирования. Указывать приложение не требуется, так как библиотеки OLE определяют приложение, которое должно быть запущено на основе предоставленного вами имени файла.

Например, приведенный ниже код запускает Microsoft Excel, открывает файл с именем BUDGET.XLS и создает ссылку через объектную переменную с именем MBUDVAR:

CopyCode image Скопировать код
MBUDVAR = GETOBJECT('C:\EXCEL\WORK\BUDGET.XLS')
Moniker

Идентификатор COM-объета, который обеспечивает выполнение интерфейса IMoniker. Моникер может любого из приведенных далее типов: файл, элемент, композционный групового вида, anti-, указатель и унифицированный локатор ресурса (URL). Для получения более подробный сведений о COM-моникерах, поищите ссылке на "IMoniker" на сайте Microsoft Developer Network.

cClassName

Указывает имя класса извлекаемого объекта. Некоторые приложения могут хранить более одного типа объекта в одном и том же файле, предоставляя вам возможноть использовать имя класса для указания объекта, который нужно инициировать. Например, елси приложения текстового процессора хранит свои документы, определения макросов и объекты ToolBar в одном и том же файле, вы можете указать ссылку на файл документа с помощью приведенной ниже команды:

CopyCode image Скопировать код
MDOCFILE = GETOBJECT('C:\WRDPROC\MYDOC.DOC','WrdProc.Document')

Некоторые серверные приложения каждый раз, когда вы выдаете GETOBJECT( ) запускают дополнительный экземпляр приложения, используя дополнительную память. Если приложение уже запущено, вы можете предотвратить старт дополнительного экземлпяра приложения, опустив FileName и включив ClassName, как показно в примере ниже:

CopyCode image Скопировать код
oleApp = GETOBJECT(, "Excel.Application")

Expand image Returns

Объектную ссылку

Expand image Примечания

Используйте GETOBJECT( ) для инициирования объекта Automation из файла и для присвоения ссылки на объект через переменную памяти или элемент массива.

Если вы укажите недопустимый файл или имя класса, то будет отображена ошибка OLE и функция GETOBJECT( ) вернет пустую строку.

Expand image Пример

Например, в сети, на которой развернуты сервисы Active Directory вы можете запрашивать сеть с целью получения информации о конкретном пользователе.
CopyCode image Скопировать код
   *  Замените "DomainName" вашим именем домена, и "UserLoginID"
   *  идентификатором логина ID пользователя, информацию о котором вы ищете.
   oUser = GetObject("WinNT://DomainName/UserLoginID,user")
   ? oUser.FullName

Expand image Смотрите также

Справочное руководство

Функция COMCLASSINFO( )
Функция CREATEOBJECT( )
Команда DEFINE CLASS
Команда SET OLEOBJECT
Функция GETINTERFACE( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


GETPAD( ) Function

Visual FoxPro 9.0 Описание Языка
GETPAD( ), функция
См. также Пример
CollapseAll image

Возвращает название пункта Меню для данной позиции Зоны Меню.

GETPAD(cMenuBarName, nMenuBarPosition)

Параметры

cMenuBarName

Определяет имя Родительского Меню (bar name menu).

nMenuBarPosition

Определяет номер (позицию) некоторого пункта меню. nMenuPosition может принимать значение от 1 (для самого первого пункта меню) - и до общего количества пунктов указанного меню.

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Комментарии

Имена пунктов меню могут быть добавлены, удалены или изменены. Для этого используется соответствующие команды DEFINE PAD - для добавления пункта меню, или RELEASE PAD - для удаления пункта меню.

Expand image Пример

В следующем программном коде функция GETPAD( ) используется для определения позиции пункта меню "Edit" в общесистемном меню Visual FoxPro. Если указанная функция GETPAD( ) возвращает необходимый пункт меню, то он удаляется. (Для восстановления удаленного пункта меню "Edit" используется стандартная команда: SET SYSMENU TO DEFAULT.)

CopyCode image Копировать Код
FOR gnCount = 1 TO CNTPAD('_msysmenu') && Number of pads
 IF PRMPAD('_msysmenu', GETPAD('_msysmenu', gnCount)) = 'Edit'
 RELEASE PAD (GETPAD('_msysmenu', gnCount)) OF _msysmenu
 EXIT
 ENDIF
ENDFOR

Expand image См. также

Описание

DEFINE MENU, команда
DEFINE PAD, команда
RELEASE PAD, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


GETPEM( ) Function

Visual FoxPro 9.0 Описание Языка
GETPEM( ), функция
См. также
CollapseAll image

Возвращает текущее значение для Свойства или программный код События или Метода, в режиме разработки (Design Time).

GETPEM(oObjectName | cClassName, cProperty | cEvent | cMethod)

Параметры

oObjectName

Определяет имя объекта, для которого требуется определить значение Свойства или программный код События или Метода. oObjectName должен указывать на существующий объект, объектную ссылку в виде переменной памяти или элемент массива.

cClassName

Определяет символьное выражение, описывающее некоторый класс, для которого требуется определить значение Свойства или программный код События или Метода..

cProperty

Определяет символьное выражение как имя некоторого Свойства указанного Объекта или Класса.

cEvent

Определяет имя События, для которого возвращается соответствующий программный код.

cMethod

Определяет имя Метода, для которого возвращается соответствующий программный код.

Expand image Возвращаемое значение

Следующие типы данных: Character, Currency, Date, DateTime, Numeric, или Logical

Expand image Комментарии

Начиная с версии Visual FoxPro 6.0 и выше, функция GETPEM( ) используется для определения программного кода Метода, исключительно только в интерактивной сессии Visual FoxPro. Тем не менее, вы можете определить программный код метода с помощью стандартного свойства Class, как в представленном ниже программном коде:

CopyCode image Копировать Код
LOCAL oObject, lcCode
oObject = NEWOBJECT("_form", HOME()+"ffc\_base.vcx")
lcCode = GETPEM(oObject.class, "Release")

Expand image См. также

Описание

CREATE FORM, команда
PEMSTATUS( ), функция
SYS(1269) - Информация о Свойстве
SYS(1270) - Размещение Объекта
SYS(1271) - Контейнер объекта, в виде файла .SCX (исходная Форма)
SYS(1272) - Иерархическое расположение Объекта

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


GETPICT( ) Function

Visual FoxPro 9.0 Описание Языка
GETPICT( ), функция
См. также
CollapseAll image

Открывает диалоговое окно Open и возвращает имя выбранного файла рисунка.

Note Обратите Внимание

Если вы работаете под управлением ОС Windows 2000 и более поздних, вы можете просмотреть требуемый файл рисунка при помощи механизма Thumbnails. Visual FoxPro использует данный механизм Thumbnails для просмотра уменьшенной копии данного рисунка при помощи стандартных Вьюеров. Однако, данный диалоговый бокс Open Picture больше не содержит специализированного раздела для предварительного просмотра требуемого рисунка. Указанный дополнительный бокс Preview присутствует в диалоговом боксе Open Picture только в том случае, когда система Visual FoxPro работает под управлением ОС, более ранней, чем Windows 2000.

GETPICT([cFileExtensions] [, cFileNameCaption] [, cOpenButtonCaption])

Параметры

cFileExtensions

Задает расширения имен для файлов рисунков, которые отображаются в прокручиваемом списке, если не выбран элемент меню All Files.

Параметр cFileExtensions может использоваться в следующих формах:

  • Если cFileExtensions содержит одно расширение (например BMP), отображаются только имена файлов, имеющие данное расширение.

  • cFileExtensions может включать символы подстановки (* и ?). Отображаются все имена файлов, расширения которых удовлетворяют критерию, задаваемому символами подстановки. Например, если в качестве cFileExtensions указать ?X?, будут отображены все файлы с расширениями .FXP, .EXE и .TXT.

  • Если cFileExtensions представляет собой пустую строку (''), отображаются файлы с расширениями имен .BMP и .DIB.

CFileNameCaption
Задает название, отображаемое над текстовым полем File Name. Текст cFileNameCaption заменяет слова "File Name", которые ставятся при отсутствии аргумента cFileNameCaption.
cOpenButtonCaption

Задает название для кнопки OK.

Expand image Возвращаемое значение

Символьного типа. Возвращает полное имя выбраннгого графического файла.

Expand image Комментарии

Функция GETPICT( ) возвращает пустую строку, если вы при работе в диалоговом боксе Open Picture нажимаете клавишу выхода ESC, или нажимаете командную кнопку Cancel, или просто закрываете диалоговый бокс. Рассматриваемый диалоговый бокс Open Picture отображается в обычном формате для текущей операционной системы по открытию некоторого файла, если данная функция GETPICT( ) выполняется из Командного окна, вы можете просмотреть все текущие, выбранные вами графические файлы, поддерживаемые системой Visual FoxPro. В ранних версиях, младших чем Visual FoxPro 8.0, при открытии данного диалогового бокса имелся дополнительный раздел Предварительного просмотра представленных графических файлов.

В следующей таблице представлены поддерживаемые системой Visual FoxPro форматы графических файлов.

Графический Формат | Расширение файла
Анимированный Курсор | .ani
Bitmap | .bmp
Курсор | .cur
Device Independent Bitmap | .dib
Exchangeable Image File | .exif
Graphics Interchange Format | .gif, .gfa
Joint Photographic Electronic Group, JPEG File Interchange Format | .jpg, .jpeg, .jpe, .jfif
Icon | .ico
Portable Networks Graphics | .png
Tag Image File Format | .tif, .tiff
Windows Enhanced Metafile | .emf
Note Примечание

В системе Visual FoxPro, Курсоры, анимированные Курсоры, Иконки могут рассматриваться как обычные графические файлы. Например, вы можете определить некоторый анимированный курсор как значение свойства Picture для некоторого контрола Image (однако, Изображение может отображаться в статичном виде, без анимации, лучше использовать анимированные .GIF).

Используйте системную команду CLEAR RESOURCES для очистки текущего Кэша системы, где уже размещены открытые ранее графические файлы, включая следующие .gif и .jpg.

Expand image См. также

Описание

GETFILE( ), функция
GETEXPR, команда
LOCFILE( ), функция
PUTFILE( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


GETPRINTER( ) Function

Visual FoxPro 9.0 Описание Языка
GETPRINTER( ), функция
См. также Пример
CollapseAll image

Отображает Диалоговый Бокс Printer и возвращает имя выбранного принтера.

GETPRINTER( )

Expand image Возвращаемое значение

Символьного типа. GETPRINTER( ) возвращает имя выбранного принтера. Если возврат из Диалогового бокса Printer осуществляется по клавише ESC или с помощью кнопок Cancel или Close, GETPRINTER( ) возвращает пустую строку.

Expand image Комментарии

Содержание и структура системного диалогового бокса Printer может различаться для разных версий Операционной системы Windows. Например, в данном Диалоговом боксе может присутствовать только имена подключенных принтеров и соответствующие сетевые соединения с удаленными сетевыми Принтерами.

Expand image Пример

В следующем примере, команда Clear очищает главное окно системы Visual FoxPro. В переменную cPrinter загружается имя выбираемого принтера, с помощью функции GETPRINTER( ), которая отображает сначала системный диалог выбора принтера, с командой WAIT WINDOW отображается имя выбранного принтера, или сообщение, что принтер не выбран.

CopyCode image Копировать Код
CLEAR
cPrinter = GETPRINTER( )
WAIT WINDOW IIF(EMPTY(cPrinter), 'Принтер не Выбран...', cPrinter)

Expand image См. также

Описание

APRINTERS( ), функция
SET PRINTER, команда
SYS(102) - Установленный принтер
SYS(1037) - Диалоговый бокс Page Setup

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


GETRESULTSET( ) Function

Visual FoxPro 9.0 Описание Языка
GETRESULTSET( ), функция
См. также
CollapseAll image

Возвращает номер рабочей области, в которой открыт Курсор, заданный в функции SETRESULTSET( ), для текущей Сессии Данных.

GETRESULTSET( )

Expand image Возвращаемое значение

Числового типа. GETRESULTSET( ) возвращает номер рабочей области, в которой создан Курсордля текущей сессии данных; или значение = нулю (0), если указанный курсор не создан в текущей сессии данных.

Expand image Комментарии

GETRESULTSET( ) поддерживается для системы Visual FoxPro и в соответствующем Visual FoxPro OLE DB Provider. Вы можете использовать данную функцию GETRESULTSET( ) в хранимых Процедурах (в контейнере базы данных .DBC) или вызавать ее для провайдера Visual FoxPro OLE DB, в целях проверки того, открыт ли соответствующий курсор в подсистеме OLE DB.

Expand image См. также

Задачи

Как: Использовать Сессии Данных

Описание

SETRESULTSET( ), функция
CLEARRESULTSET( ), функция
Поддержка Команд и Функций системы Visual FoxPro в соответствующем Провайдере OLE DB

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


GETWORDCOUNT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
GETWORDCOUNT( ) Функция
Смотрите также

Возвращает количество слов в строке.

GetWordCount(cString[, cDelimiters])

Параметры

cString

Определяет строку, количество слов в которой будет подсчитываться.
cDelimiters

Дополнительный необязательный параметр. Определяет один или несколько символов, разделяющих слова в строке (далее - разделитель). В качестве разделителей по умолчанию определены символы пробела, табуляции, возврата каретки и перевода строки. Обратите внимание, что GetWordNum( ) использует каждый из символов в cDelimiters как индивидуальный разделитель, а не строку целиком.

Возвращаемое значение

Число

Замечания

GetWordCount( ) по умолчанию предполагает, что разделителями являются символы пробела или табуляции. Если в качестве разделителя задан другой символ, то эта функция будет использовать только его, игнорируя пробелы и символы табуляции.

Следующий пример демонстрирует, какие результаты могут быть получены при использовании "AAA aaa, BBB bbb, CCC ccc." в качестве строки, количество слов в которой будет подсчитывать функция GetWordCount( )

Скопировать код
cString = "AAA aaa, BBB bbb, CCC ccc."
? GetWordCount(cString)               	  && 6 - символьных групп, разделенных пробелом
? GetWordCount(cString, ",")               && 3 - символьных группы, разделенных символом  ","
? GetWordCount(cString, ".")               && 1 - символьная группа, разделенная символом "."

Смотрите также

Прочие ресурсы

Функция GETWORDNUM( )
Функции
Справочник языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


GETWORDNUM( ) Function

Visual FoxPro 9.0 Справочник Языка
GETWORDNUM () Функция
См. Также

Возвращает указанное слово из строки.

GETWORDNUM(cString, nIndex[, cDelimiters])

Параметры

cString

Определяет строку, которая будет обработана
nIndex

Определяет индексную позицию слова, которое будет возвращено. Например, если nIndex равен 3, GetWordNum( ) возвращает третье слово (если cString содержит три или больше слова).
cDelimiters

Необязательный. Определяет один или более дополнительных символов, используемых, чтобы отделить слова в cString . Заданные по умолчанию разделители - пробел, табуляция, перевод каретки, и перевод строки. Учтите это GetWordNum( ) использует каждый из символов в cDelimiters как индивидуальный разделитель, а не строку целиком.

Возвращаемое значение

Символ

Замечания

Возвращает слово в позиции, указанной nIndex в обрабатываемой строке cString . Если cString содержит меньше слов чем nIndex , GetWordNum( ) возвращает пустую строку.

См. Также

Другие Ресурсы

GETWORDCOUNT( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GOMONTH( ) Function

Visual FoxPro 9.0 Описание Языка
GOMONTH( ), функция
См. также Пример
CollapseAll image

Возвращает величину типа Date, которая определяет дату несколько месяцев Назад или Вперед, относительно заданного выражения типа Date или Date/Time.

GOMONTH(dExpression | tExpression, nNumberOfMonths)

Параметры

dExpression

Определяет начальную дату, для которой функция GOMONTH( ) вычисляет дату в прошлом или будущем.

tExpression

Аналогично предудущему, но для исходного значения типа date/time.

nNumberOfMonths

Определяет количество месяцев для определения новой даты. Если nNumberOfMonths положительное (>0), GOMONTH( ) возвращает дату или время в Будущем, относительно начальной даты. Если nNumberOfMonths отрицательное (<0), GOMONTH( ) возвращает дату / время в Прошлом, относительно заданной даты. Например, -1 означает -31 (-30) день назад.

Expand image Возвращаемое значение

Типа Date

Expand image Комментарии

GOMONTH( ) не поддерживает даты, меньшие чем 1753 год.

Expand image Пример

CopyCode image Копировать Код
SET CENTURY ON
STORE GOMONTH({^1998-02-16}, 5) TO gdDeadLine

CLEAR
? gdDeadLine  			&& отображается 07/16/1998
? GOMONTH({^1998-12-31}, 2)  	&& отображается 02/28/1999
? GOMONTH({^1998-12-31}, -2)  	&& отображается 10/31/1998

Expand image См. также

Описание

CMONTH( ), функция
BuildDateTime, свойство
DATETIME( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


HEADER( ) Function

Visual FoxPro 9.0 Описание Языка
HEADER( ), функция
См. также
CollapseAll image

Возвращает размер заголовка файла (в байтах) для текущей или заданной таблицы.

HEADER([nWorkArea | cTableAlias])

Параметры

nWorkArea| cTableAlias

Определяет номер рабочей области или алиас таблицы, для которой нужно узнать размер заголовка файла. nWorkArea - это номер рабочей области, cTableAlias - алиас необходимой таблицы. Если данные параметры отсутствуют, HEADER( ) возвращает размер заголовка для таблицы, открытой в текущей рабочей области.

HEADER( ) возвращает значение = 0, если в текущей рабочей области нет открытой таблицы. Если таблица с указанным алиасом не открыта, то система Visual FoxPro генерирует сообщение об ошибке.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Заголовок файла таблицы содержит необходимую системную информацию: имена и размеры полей, наличие MEMO полей в таблице, существование структурного индексного файла и т.д.

Expand image См. также

Задачи

Как: Создавать и использовать Алиасы таблиц

Описание

FSIZE( ), функция
RECSIZE( ), функция
HeaderHeight, свойство

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


HOME( ) Function

Visual FoxPro 9.0 Описание Языка
HOME( ), функция
См. также Пример
CollapseAll image

Возвращает имя каталога, из которого производился запуск Visual FoxPro.

HOME([nLocation])

Параметры

nLocation

Определяет опциональный (необязательный) дополнительный параметр функции HOME( ). Отсутствие данного параметра nLocation эквивалентно вызову: HOME(0).

В следующей таблице приводятся допустимые значение параметра nLocation и соответствующие каталоги, возвращаемые функцией HOME( ). Данные каталоги определяются в процессе начальной установки системы Visual FoxPro.

nLocation Соответствующий Каталог

0 or omitted

Каталог запуска системы Visual FoxPro (домашний)

1

Какталог, в который установлена система Visual FoxPro, где размещен стартовый файл VFP9.EXE

2

Какталог размещения Примеров Visual FoxPro (Samples). Системная переменная _SAMPLES содержит аналогичное значение.

3

Каталог размещения Visual Studio Common

4

Подкаталог Visual FoxPro Graphics (графические файлы)

5

Подкаталог Visual Studio MSDN

6

Подкаталог Visual Studio Tools

7

Подкаталог Visual FoxPro Application Data, определяемый пользователем

8

Подкаталог Visual FoxPro Projects, содержащий новые Проекты пользователя, обычно соответствует Системному подкаталогу Мои Документы для сеанса работы текущего пользователя системы

Expand image Возвращаемое значение

Символьного типа. HOME( ) возвращает имя специализированного каталога системы Visual FoxPro.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? 'Visual FoxPro startup directory: ', HOME( )
? 'Visual FoxPro installation directory: ', HOME(1)
? 'Visual FoxPro samples directory: ', HOME(2)
? 'Visual Studio common directory: ', HOME(3)
? 'Visual FoxPro graphics directory: ', HOME(4)
? 'MSDN samples directory: ', HOME(5)
? 'Visual Studio tools directory: ', HOME(6)
? 'Visual FoxPro user app data subdirectory: ', HOME(7)
? 'Visual FoxPro user documents subdirectory: ', HOME(8)

Expand image См. также

Описание

_SAMPLES, системная переменная
SYS( ), Общее Описание
SYS(2004) - стартовый каталог Visual FoxPro

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


HOUR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция HOUR( )
Смотрите также Пример
CollapseAll image

Возвращает часть выражения типа DateTime, показывающую часы.

HOUR(tExpression)

Параметры

tExpression

Задает выражение типа DateTime, из которой функция HOUR( ) извлечет количество часов.

Expand image Возвращаемое значение

Числовое

Expand image Примечания

HHOUR( ) возвращает числовое значение, основанное на 24-часовом формате, и не зависит от текущей установки SET HOURS. Например, если команда SET HOURS установила 12 или 24, следующая команда возвратит 13:

CopyCode image Copy Code
? HOUR({^1998-02-16 1:00p})

Expand image Пример

В следующем примере отображаются часы текущего времени, и часы заданного времени.
CopyCode image Copy Code
CLEAR
? HOUR(DATETIME( ))
? HOUR({^1998-02-16 10:42a})  && Displays 10

Expand image Смотрите также

Справочное руководство

Функция CTOT( )
Функция DATE( )
Функция DATETIME( )
Функция DTOT( )
Функция MINUTE( )
Функция SEC( )
Функция SECONDS( )
Команда SET SECONDS
Функция TIME( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


ICASE( ) Function

Visual FoxPro 9.0 Описание Языка
ICASE( ), функция
См. также Пример
CollapseAll image

Вычисляет некоторый результат в зависимости от нескольких заданных условий.

ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ...
 [, eOtherwiseResult])

Параметры

lCondition

Определяет Условное (логическое) выражение.

Если lCondition = False (.F.), функция ICASE( ) продолжает вычислять следующее логическое выражение (условие) и возвращает соответствующий, заданный результат eResult, когда данное условие = True (.T.). Если условное выражение lCondition = null (.NULL.), система Visual FoxPro отождествляет данное условие lCondition, как = False (.F.).

eResult

Определяет вычисляемый Результат, возвращаемый данной функцией, когда соответствующее выражение lCondition = True (.T.).

eOtherwiseResult

Содержит возвращаемый Результат в том случае, когда все заданные в параметрах функции условия = False (.F.).

Expand image Возвращаемое значение

ICASE( ) возвращает первое значениеи заданного параметра eResult, если условие lCondition = True (.T.).

Если все заданные условные выражения = False (.F.), ICASE( ) возвращает значение параметра eOtherwiseResult.

Если рассматриваемый параметр eOtherwiseResult отсутствует, и все логические условия вычисляются как = False (.F.), ICASE( ) возвращает значение = null (.NULL.).

Expand image Комментарии

Для данной функции вы обязательно должны указать не менее двух параметров ICASE( ). Если вы определяете нечетное количество параметров, то последний параметр рассматривается как значение параметра eOtherwiseResult.

Вы можете задавать до 100 пар параметров для функции ICASE( ), то есть до 200 (двухсот) параметров.

Если вы используете длинные выражения в качестве рассматриваемой функции ICASE( ), например, для определения некоторых Фильтров, для ключевых секций FOR или WHERE, проконтролируйте текущую установку функции SYS(3055) - уровня сложности вычисляемых выражений, иначе возникнет Ошибочная ситуация. Смотрите дополнительно раздел: SYS(3055) - FOR и WHERE, уровень сложности выражений.

Expand image Пример

Следующие примеры демонстрируют разнообразные Сценарии использования рассматриваемой функции ICASE( ) в целях вычисления задаваемых логических выражений и возврата соответствующих Результатов.

Следующий оператор отображает строку "First is true", так как первое выражение является истинным, 1+1=2 (True (.T.)).

CopyCode image Копировать Код
? ICASE(1+1=2,"First is true",1+1=3,"Second is false","None are true")

Следующий оператор отображает строку "Second is true", так как первое условие = False (.F.), а вот второе условие = True (.T.) (1+2=3).

CopyCode image Копировать Код
? ICASE(1+2=2,"First is false",1+2=3,"Second is true","None are true")

Следующий оператор отображает строку "None are true", то есть значение последнего параметра, так как все указанные условные выражения = False (.F.).

CopyCode image Копировать Код
? ICASE(1+2=2,"First is false",1+1=3,"Second is false","None are true")

Expand image См. также

Описание

IIF( ), функция
EVALUATE( ), функция
EVL( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ID( ) Function - Network Machine Information

Visual FoxPro 9.0 Справочник Языка
ID () Функция - Сетевые Данные Машины
См. Также

ID( ) Возвращает сетевые данные машины при использовании Visual FoxPro в сетевой среде. Те же самые функциональные возможности доступны, используя SYS(0) .

ID( )

Возвращаемое значение

Символ

Замечания

Данные Компьютера должны сначала быть определены сетевым программным обеспечением, и сетевая оболочка должна быть загружена.

Если данные компьютера не была заданы, или сетевая оболочка не была загружена, ID( ) возвращает символьную строку, состоящую из 15 пробелов, символа (#), сопровождаемого другим пробелом, и затем 0. Консультируйтесь с вашей сетевой документацией для дальнейшей информации относительно определения машинных данных.

ID( ) возвращает 1 при использовании Visual FoxPro в автономной среде.

Когда компьютер соединен с сетью, ID( ) возвращает компьютерное имя, пробел, символ (#), сопровождаемый другим пробелом, и затем идентификатор текущего пользователя (или контекст безопасности, в котором Visual FoxPro выполняется). Например:

Скопировать код
? ID( )

возвращает следующий формат:

Скопировать код
MACHINEID # userid

См. Также

Другие Ресурсы

SYS(0) - Сетевые Данные Машины
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


IDXCOLLATE( ) Function

Visual FoxPro 9.0 Справочник Языка
IDXCOLLATE () Функция
См. Также Пример

Возвращает последовательность упорядочения для индекса или индексного тэга.

IDXCOLLATE([cCDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Параметры

cCDXFileName

Определяет имя составного индексного файла. Составной индексный файл, который Вы определяете, может быть структурным составным индексным файлом, автоматически открываемым вместе с таблицей или независимым составным индексным файлом.
nIndexNumber

Определяет индекс или индексный тэг для которых IDXCOLLATE( ) возвращает последовательность упорядочения. IDXCOLLATE( ) возвращает последовательность упорядочения для индексов и индексных тэгов в порядке увеличения nIndexNumber от 1 до общего количества открытых индексных файлов и индексных тэгов:
  1. Последовательность упорядочения для единственного индекса индексных файлов .idx (если какой-то является открытым), возвращается в первую очередь. Порядок, в котором индексные файлы с единственнм индексом включены в команде USE или SET INDEX определяет, как будут возвращены последовательности упорядочения.

  2. Последовательности упорядочения для тэгов в структурном составном индексе (если они присутствуют), возвращаются в следующую очередь. Последовательности упорядочения возвращаются для тэгов в порядке, в котором тэги созданы в структурном составном индексе.

  3. Последовательности упорядочения для тэгов в любых открытых независимых составных индексах возвращаются в последнюю очередь. Последовательности упорядочения возвращаются для тэгов в порядке, в котором тэги созданы в независимых составных индексах.

Пустая строка возвращается если nIndexNumber больше чем общее количество открытых .idx файлов с единственным индексом и структурных составных и независимых составных индексных тэгов.
nWorkArea

Определяет рабочую область таблицы для который IDXCOLLATE( ) возвращает индексный файл и последовательность упорядочения для индексного тега. IDXCOLLATE( ) возвращает пустую строку, если таблица не является открытой в рабочей области, которую Вы определяете.
cTableAlias

Определяет псевдоним таблицы для который IDXCOLLATE( ) возвращает индексный файл и последовательность упорядочения для индексного тэга. Visual FoxPro генерирует сообщение об ошибке, если Вы определяете псевдоним таблицы, которого не существует.

Возвращаемое значение

Символьное

Замечания

IDXCOLLATE( ) может использоваться, чтобы возвратить последовательность упорядочения для каждого тэга в составных мультииндексных файлах, что позволяет Вам полностью удалить индексный файл и восстановить его правильно, используя ряд команд SET COLLATE и INDEX .

Обратите внимание, что IDXCOLLATE( ) не требуется для надлежащего функционирования REINDEX , потому что данные о последовательности упорядочения присутствуют в существующих индексах и индексных тэгах.

Для дополнительной информации о многонациональной поддержке Visual FoxPro, см. Разработка Многонациональных Приложений .

Пример

Следующий пример открывает таблицу Customer в базе данных testdata . FOR ... ENDFOR используется, чтобы создать цикл в котором используется IDXCOLLATE( ) , чтобы вывести последовательности упорядочения каждого индексного тэга в структурном индексе Customer . Имя каждого структурного индексного тэга отображено вместе с его данными о последовательности упорядочения.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open Customer table.
CLEAR
FOR nCount = 1 TO TAGCOUNT( )
   IF !EMPTY(TAG(nCount))  && Checks for tags in the index.
   ? TAG(nCount) + ' '  && Display tag name.
   ?? IDXCOLLATE(nCount)  && Display collation sequence.
   ELSE
      EXIT  && Exit the loop when no more tags are found.
   ENDIF
ENDFOR

См. Также

Другие Ресурсы

SET COLLATE Команда
Разработка Многонациональных Приложений
CREATE TABLE - SQL Команда
CREATE CURSOR - SQL Команда
ALTER TABLE - SQL Команда
INDEX Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


IIF( ) Function

Visual FoxPro 9.0 Описание Языка
IIF( ), Функция
См. также Пример
CollapseAll image

Возвращает одно из двух заданных значений в зависимости от величины логического выражения.

IIF(lExpression, eExpression1, eExpression2)

Параметры

lExpression

Определяет логическое выражение, для которого вычисляется функция IIF( ).

eExpression1, eExpression2

Если значение логического выражения lExpression = True (.T.), то возвращается значение eExpression1 , а выражение eExpression2 не вычисляется. Если значение логического выражения lExpression = False (.F.) или равно null (.NULL.), то возвращается значение eExpression2, а выражение eExpression1 не вычисляется.

Expand image Возвращаемое значение

Символьное, числовое, типа Currency, Date, или DateTime

Expand image Комментарии

Данная функция аналогична короткому оператору IF, при вычислении логического выражения выполняется оценка возвращаемого значения. Если логическое выражение оценивается как = True (.T.), IIF( ) возвращает первое заданное выражение. Если логическое выражение оценивается как = False (.F.) или null (.NULL.), IIF( ) возвращает значение второго заданного выражения.

Note Совет

Данная функция может быть использована вместо логических языковых конструкций IF ... ENDIF для простейщих логических выражений; или для определяемых выражений в Отчетах или Этикетках. Функция IIF( ) выполняется быстрее чем соответствующий логический оператор IF ... ENDIF.

Expand image Пример

В следующем примере используется данная функция IIF( ) для определения "заполненности" поля notes в таблице employee. Если это поле "пусто", то выводится сообщение "Нет Описания"; в другом случае, отображается содержание этого поля.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee  && Open Employee table
CLEAR

SCAN
   ? IIF(EMPTY(notes), 'Нет Описания', notes)    && проверка заполненности поля ?
ENDSCAN

Expand image См. также

Описание

IF ... ENDIF , Команда
#IF ... #ENDIF, Директива Препроцессора
IF, Оператор
ICASE( ), Функция

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


IMESTATUS( ) Function

Visual FoxPro 9.0 Описание Языка
IMESTATUS( ), функция
См. также
CollapseAll image

Переключает режимы окна IME (Input Method Editor), как ON / OFF , или возвращает текущий Статус IME.

IMESTATUS([nExpression])

Параметры

nExpression

Определяет переключатель окна IME (on / off). В следующей таблице представлены возможные значения данного аргумента, и соответствующие состояния данного окна IME.

nExpression Статус окна IME

0

IME = off.

1

IME = on.

Если параметр nExpression отсутствует, функция IMESTATUS( ) возвращает текущий статус IME. В следующей далее таблице представлены возможные варианты возвращаемых значений. Для текущей, используемой локализации системы VFP можно запустить VERSION(3).

Представленная таблица приводится для Японской Локализации статуса окна IME.

Возвращает Статус IME

0

подсистема IME не установлена

1

IME = on

2

IME = off

3

IME - отключена

4

режим Hiragana (double-byte)

5

режим Katakana (double-byte)

6

Katakana mode (single-byte)

7

режим Alphanumeric (double-byte)

8

режим Alphanumeric (single-byte)

Статусы IME для Корейской Локализации.

Возвращает Статус IME

0

подсистема IME не установлена

1

режим Hangul (single-btye)

2

режим English (single-btye)

11

режим English (double-btye)

15

режим Hangul (double-btye)

23

комбинированнай режим Hanja (Hangul + single-byte)

31

комбинированный режим Hanja (Hangul + double-byte)

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Дополнительную информацию смотрите в разделе: Разработка Международных (многоязычных) Приложений.

Обычно данная функция используется для обработки данных, представленных в формате Double-Byte Character, для соответствующих символьных наборов Hiragana / Katakana.

Expand image См. также

Описание

SET BROWSEIME, команда
IMEMode, свойство
ISLEADBYTE( ), функция
STRCONV( ), функция

Концепции

Как: Вводить Интернациональные Данные

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


INDBC( ) Function

Visual FoxPro 9.0 Описание Языка
INDBC( ), функция
См. также Пример
CollapseAll image

Возвращает значение = True (.T.), если указанный объект Базы Данных содержится в Текущей базе данных, в противном случае возвращается значение = False (.F.).

INDBC(cDatabaseObjectName, cType)

Параметры

cDatabaseObjectName

Определяет имя соответствующего объекта Базы данных, (именованное соединение, поле, индекс, таблица или представление SQL), для которых функция INDBC( ) возвращает логическое выражение, характеризующее принадлежность указанного объекта к Текущей Базе Данных.

cType

Определяет тип заданного объекта Базы Данных cDatabaseObjectName. В следующей таблице представлены возможные значения данного параметра cType, и соответствующие характеристики указанного типа.

cType Соответствующий Объект Базы Данных

CONNECTION

Именованное Соединение

FIELD

Поле Таблицы (Field)

INDEX

Инлдекс Таблицы (Index)

TABLE

Таблица Данных (Table)

VIEW

Представление (SQL View)

Ключевые слова: CONNECTION, FIELD, INDEX, TABLE, и VIEW указываются полностью, без сокращения.

Expand image Возвращаемое значение

Логического типа (Logical)

Expand image Комментарии

При использовании рассматриваемой функции INDBC( ) База Данных должна быть открыта и являться Текущей; в противном случае система Visual FoxPro генерирует сообщение об Ошибке.

Expand image Пример

В представленном ниже Примере: Создается временная База Данных, с именем: mydbc, а также некоторая Таблица, с именем: mytable, которая добавляется в указанную базу данных (по-умолчанию, при создании). INDBC( ) определяет, содержится ли указанная Таблица в Текущей Базе Данных. При завершении временные таблицы и база данных закрываются и, ...удаляются.

CopyCode image Копировать Код
CLOSE DATABASES
CREATE DATABASE mydbc && Creates a new database
CREATE TABLE mytable (field1 C(10)) && Automatically added to database

? 'MyTable in the database? '
?? INDBC('mytable', 'TABLE') && Returns .T.

CLOSE DATABASES
DELETE DATABASE mydbc DELETETABLES

Expand image См. также

Описание

ADBOBJECTS( ), функция
CREATE DATABASE , команда
DELETE DATABASE , команда
OPEN DATABASE , команда
SET DATABASE , команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


INDEXSEEK( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция INDEXSEEK()
Смотрите также
CollapseAll image

Без перемещения указателя записи таблицы ищет в индексированной таблице первую встретившуюся запись, чей индексный ключ соответствует указанному выражению.

INDEXSEEK(eExpression [, lMovePointer [, nWorkArea | cTableAlias
   [, nIndexNumber | cIDXIndexFileName | cTagName]]])

Параметры

eExpression

Указывает выражение индексного ключа, которое вы желаете найти с помощью поиска INDEXSEEK().

lMovePointer

Определяет, будет ли перемещен указатель записи таблицы к соответсвующей условию записи. если lMovePointer равен .T. и соответствующая условию запись существует, указатель записи таблицы смещается к этой записи. Если же lMovePointer равен .T., но соответствующая условию запись не существует, указатель записи никуда не перемещается. Если lMovePointer равен .F. или вообще опущен, указатель записи никуда не смещается, даже если соответствующая условию запись присутствует в таблице.

nWorkArea

Указывает рабочую область таблицы, в которой производится поиск по индексному ключу.

cTableAlias

Указывает псевдоимя таблицы, в которой производится поиск. Если вы опустите nWorkArea и cTableAlias, то поиск будет производится в текущей выбранной области.

nIndexNumber

Указывает номер индексного файла или тэга, используемого для поиска индексного ключа. nIndexNumber ссылается на индексный файл в том порядке, в котором он перечислен в USE или SET INDEX. Открытые .IDX файлы нумеруются с единицы в том порядке, в котором они показались в USE или SET INDEX. Тэги в структурном .cdx файле (если таковой существует) нумеруются в порядке, в каком они были созданы. И, наконец, тэги в любых открытых независимых .cdx файлах нумеруются в порядке, в котором они были созданы. Для получения более подробной информации нумерации индексов, смотрите SET ORDER.

cIDXIndexFileName

Указыает .idx файл, который используется для поиска индексного ключа.

cTagName

Определяет тэг .cdx файла, который используется для поиска индексного ключа. Имя тэга может быть взято из структурного .cdx файла или любого открытогоо независмого .cdx файла.

Замечание Замечание

Файл .idx file имеет преимущество если одновременно существуют дублирующие друг друга имена .idx файла и тэга.

Expand image Возвращаемое значение

Логическое значение

Expand image Примечания

INDEXSEEK( ) возвращает true (.T.), если соответствие найдено; в противном случае возвращается false (.F.). Вы можете использовать INDEXSEEK( ) только с теми таблицами, у которых установлено индексного упорядочивание или вы можете искать только индексный ключ. Соответствие должно быть точным, только если SET EXACT не был установлен в OFF.

INDEXSEEK( ) предоставляет быстрый путь для поиска записей без перещения указателя таблицы. Вследствие того, что указатель не перемещается, правила и триггеры не исполняюстя. Если INDEXSEEK( ) возвратит true (.T.), указывающий, что найдена соответствующая условию запись, вы можете выполнить INDEXSEEK( ) повторно со вторым параметром lMovePointer, установленным в true (.T.) для смещения указателя к соответствующей условию записи.

INDEXSEEK( ) возвращает false (.F.), когда вы пытаетесь найти значение в записи, созданной самой последней (созданной через INSERT INTO или APPEND BLANK) до перемещения указателя. Вы можете использовать команду GO BOTTOM, чтобы INDEXSEEK( ) смогла найти запись, созданную последней.

Expand image Смотрите также

Справочное руководство

Команда INDEX
Функция KEYMATCH( )
Команда LOCATE
Команда SEEK
Функция SEEK( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


INKEY( ) Function

Visual FoxPro 9.0 Описание Языка
INKEY( ), функция
См. также
CollapseAll image

Возвращает соответствующий код нажатой клавиши или кнопки мышки, находящийся в буфере клавиатуры.

INKEY([nSeconds] [, cHideCursor])

Параметры

nSeconds

Определяет временной интервал ожидания нажатия клавиши (в секундах). Если данный параметр nSeconds - отсутствует, INKEY( ) возвращает код нажатой клавиши немедленно. Если параметр nSeconds = 0, INKEY( ) выполняет бесконечное ожидание нажатия клавиши.

cHideCursor

Дополнительный параметр Отображения или нет курсора, или проверки нажатия кнопки мыши.

В следующей таблице даны возможные значения для cHideCursor.

cHideCursor Описание параметра

S

Показать курсор.

H

Скрыть курсор.

M

Проверить нажатие кнопки мыши.

E

Расширенный ключ параметра, для обработки составной клавишной комбинации в Макро. Для обработки сложного клавиатурного Макро используйте многократное выполнение функции INKEY( ), с данным параметром = E.

Note Обратите Внимание

Если оба ключа (S / H) включены в параметр cHideCursor, приоритет имеет последний символ. Вы можете комбинировать несколько ключей в данном параметре cHideCursor, например, для контроля мышки и показа курсора: укажите вместе MS. Или, например, HM - скрыть курсор и контроль кнопки мышки. Функция INKEY( ) игнорирует любые символы в данном параметре, кроме S, H, M, E.

Expand image Возвращаемое значение

Числовое. INKEY( ) возвращает = 0, если клавиша не нажималась. Если в клавиатурном буфере находится несколько кодов клавиш, то функция INKEY( ) возвращает код первой клавиши из указанного буфера. INKEY( ) возвращает соответствующие коды в зависимости от следующих обстоятельств:

  • Если ключ M включен в параметр cHideCursor, INKEY( ) возвращает значение = 151.

  • Если ключ E включен в параметр, INKEY( ) возвращает код первой клавиши из сложного клавиатурного Макро. Если ключ E - отсутствует, INKEY( ) возвращает код главной клавиши клавиатурного Макро.

  • Для одиночных клавиш или их комбинаций со специальными клавишами: SHIFT, CTRL, или ALT, в следующей таблице представлены возвращаемые значения функцией INKEY( ). Прочерк (–) означает, что возвращаемое значение отсутствует.

    Клавиша Оригинал SHIFT + CTRL + ALT +

    F1

    28

    84

    94

    104

    F2

    –1

    85

    95

    105

    F3

    –2

    86

    96

    106

    F4

    –3

    87

    97

    107

    F5

    –4

    88

    98

    108

    F6

    –5

    89

    99

    109

    F7

    –6

    90

    100

    110

    F8

    –7

    91

    101

    111

    F9

    –8

    92

    102

    112

    F10

    –9

    93

    103

    113

    F11

    133

    135

    137

    139

    F12

    134

    136

    138

    140

    1

    49

    33

    –

    120

    2

    50

    64

    –

    121

    3

    51

    35

    –

    122

    4

    52

    36

    –

    123

    5

    53

    37

    –

    124

    6

    54

    94

    –

    125

    7

    55

    38

    –

    126

    8

    56

    42

    –

    127

    9

    57

    40

    –

    128

    0

    48

    41

    –

    19

    a

    97

    65

    1

    30

    b

    98

    66

    2

    48

    c

    99

    67

    3

    46

    d

    100

    68

    4

    32

    e

    101

    69

    5

    18

    f

    102

    70

    6

    33

    g

    103

    71

    7

    34

    h

    104

    72

    127

    35

    I

    105

    73

    9

    23

    j

    106

    74

    10

    36

    k

    107

    75

    11

    37

    l

    108

    76

    12

    38

    m

    109

    77

    13

    50

    n

    110

    78

    14

    49

    o

    111

    79

    15

    24

    p

    112

    80

    16

    25

    q

    113

    81

    17

    16

    r

    114

    82

    18

    19

    s

    115

    83

    19

    31

    t

    116

    84

    20

    20

    u

    117

    85

    21

    22

    v

    118

    86

    22

    47

    w

    119

    87

    23

    17

    x

    120

    88

    24

    45

    y

    121

    89

    25

    21

    z

    122

    90

    26

    44

    INS

    22

    22

    146

    162

    HOME

    1

    55

    29

    151

    DEL

    7

    7

    147

    163

    END

    6

    49

    23

    159

    PAGE UP

    18

    57

    31

    153

    PAGE DOWN

    3

    51

    30

    161

    UP ARROW

    5

    56

    141

    152

    DOWN ARROW

    24

    50

    145

    160

    RIGHT ARROW

    4

    54

    2

    157

    LEFT ARROW

    19

    52

    26

    155

    ESC

    27

    –/27

    –*/27

    –*/1

    ENTER

    13

    13

    10

    –/166

    BACKSPACE

    127

    127

    127

    14

    TAB

    9

    15

    148/*

    *

    SPACEBAR

    32

    32

    32/–

    57

    ` or ~

    96

    126

    41

    - or _

    45

    95

    = or +

    61

    43

    13

    [ or {

    91

    123

    27

    26

    ] or }

    93

    125

    29

    27

    \ or |

    92

    124

    28

    43

    ; or :

    59

    58

    39

    ' or "

    39

    34

    40

    , or <

    44

    60

    51

    . or >

    46

    62

    52

    / or ?

    47

    63

    53

    * код клавиши, зарезервированный ОС Windows.

Expand image См. также

Описание

_DBLCLICK, системная переменная
KEYBOARD, команда
KeyPress, событие
LASTKEY( ), функция
ON KEY LABEL, команда
SET TYPEAHEAD, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


INLIST( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция INLIST( )
Смотрите также Пример
CollapseAll image

Определяет, совпадает ли некоторое выражение с каким-либо другим выражением из заданной группы выражений.

INLIST(eExpression1, eExpression2 [, eExpression3 ...])

Параметры

eExpression1

Задает выражение, которое функция INLIST( ) ищет в группе выражений.

eExpression2[, eExpression3...]

Задает группу выражений, среди которых ведется поиск. Необходимо задать, по крайней мере, одно выражение (eExpression2), а всего их может быть не более 25 (eExpression2, eExpression3, и т. д.).

Все выражения в этой группе должны быть одного и того же типа.

Expand image Возвращаемое значение

Логический или значение NULL

Expand image Примечания

Функция INLIST( ) возвращает значение "истина" (.T.), если она нашла данное выражение в группе выражений; в противном случае INLIST( ) возвращает "ложь" (.F.). Если eExpression1 задает значение NULL, возвращается значение NULL. Значение NULL возвращается также в том случае, если выражение eExpression1 определяет значение, отличное от NULL, eExpression1 не совпадает ни с каким другим выражением и, по меньшей мере, одно из этих других выражений имеет значение NULL.

Expand image Пример

В следующем примере функция INLIST( ) определяет, какому кварталу соответствует текущий месяц. Имя месяца хранится в переменной gcMonth. Каждый оператор CASE с помощью функции INLIST( ) определяет, находится ли содержимое gcMonth в списке имен месяцев. Возвращаемое имя квартала записывается в переменную gcReporTitle.
CopyCode image Copy Code
SET TALK ON
STORE CMONTH(DATE( )) TO gcMonth
DO CASE
   CASE INLIST(gcMonth,'January','February','March')
      STORE 'First Quarter' TO gcReporTitle
   CASE INLIST(gcMonth,'April','May','June')
      STORE 'Second Quarter' TO gcReporTitle
   CASE INLIST(gcMonth,'July','August','September')
      STORE 'Third Quarter' TO gcReporTitle
   OTHERWISE
      STORE 'Fourth Quarter' TO gcReporTitle
ENDCASE
WAIT WINDOW gcReporTitle

Expand image Смотрите также

Справочное руководство

Функция BETWEEN( )
CASE Statements
Команда DO CASE ... ENDCASE
Функция AT( )
Функция ATLINE( )
Функция RAT( )
Функция RATLINE( )
Оператор $
Функция OCCURS( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


INPUTBOX( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
INPUTBOX( ) функция
Смотрите также

Выводит на экран модальное диалоговое окно в параметризированном виде для ввода одной строки.

INPUTBOX(cInputPrompt [, cDialogCaption [, cDefaultValue [, nTimeout [,cTimeoutValue] [,cCancelValue]]]])

Параметры

cInputPrompt

Задает текст подсказки, который будет отображен над текстбоксом для ввода строки.
cDialogCaption

Задает текст, который будет отображен в заголовке диалогового окна.
cDefaultValue

Задает значение переменной по умолчанию. Это значение будет отображено в текстбоксе для ввода строки.
nTimeout

Задает значение времени в 1/1000 секунды, в течение которого диалоговое окно будет отображаться на экране (таймаут). Если задать значение nTimeout, равное 0 или совсем исключить параметр nTimeout, диалоговое окно будет отображаться на экране до окончания ввода.
cTimeoutValue

Задает значение переменной, которая будет возвращена функцией, если диалоговое окно закроется по истечению таймаута. cTimeoutValue не будет возвращена, если параметр nTimeout установлен в 0 или опущен.
cCancelValue

Задает значение символьной переменной, которая будет возвращена функцией, если диалоговое окно закрыто нажатием кнопки "Cancel" или клавиши Esc.

Замечания

Диалоговое окно выводит на экран текстбокс для ввода и кнопки "OK" и "Cancel". При нажатии на кнопку "OK" функция возвратит содержимое текстбокса. Если диалоговое окно закроется по таймауту, функция возвратит текст, заданный в cTimeoutValue или пустую строку, если значение cTimeoutValue не определено. Нажатие кнопки "Cancel" или клавиши Esc приведет к тому, что функция возвратит текст, заданный в cCancelValue или пустую строку, если значение cCancelValue не определено.

Пример 1

Code

Скопировать код
Y = "Совсем ничего"
Y = INPUTBOX("Введите данные","Ввод данных ",Y,5000)
         && Диалоговое окно будет отображаться в течение 5 секунд.
         && После закрытия по таймауту переменной Y будет присвоено "пустое" значение.

Пример 2

В следующем примере диалоговое окно отображается на экране в течение 5 секунд и в главном окне Visual FoxPro выводится значение, возвращаемое функцией. Если будет нажата кнопка "OK", функция возвратит заданный по умолчанию текст "Nothing at all" или тест, введенный в текстбоксе. При нажатии кнопки "Cancel" или клавиши ESC, будет возвращен текст "Canceled". Если пользователь не предпримет никаких действий, по истечению пятисекундного таймаута будет возвращено "Timed Out".

Code

Скопировать код
CLEAR
Y = INPUTBOX("Type Here:", "Input Title",  ;
"Nothing at all", 5000, 'Timed Out', 'Canceled')
? Y

Смотрите также

Прочие ресурсы

Функции
Ввод и вывод
INPUT команда
MESSAGEBOX( ) функция

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


INSMODE( ) Function

Visual FoxPro 9.0 Описание Языка
INSMODE( ) Функция
См. также Пример
CollapseAll image

Возвращает текущее состояние режима "Вставка" (Insert), или устанавливает данный режим ВКЛ или ВЫКЛ.

INSMODE([lExpression])

Параметры

lExpression

Параметр задает текущий режим ВКЛ или ВЫКЛ. INSMODE(.T.) включает вставку, INSMODE(.F.) - выключает. Логическое выражение соответствует текущей установке INSMODE(.T.) или INSMODE(.F.).

Expand image Комментарии

Если Вы не указываете параметр функции, а режим "Вставки" включен (символы вставляются перед курсором), функция INSMODE( ) возвращает = true (.T.). Если режим "Вставка" выключен (символы переписываются в текущей позиции курсора), функция INSMODE( ) возвращает = false (.F.).

Expand image Возвращаемое Значение

Значение типа Logical

Expand image Пример

В следующем примере используется функция INSMODE( ) для включения режима "Вставка", и переключения в режим "Замена".

CopyCode image Копировать Код
SET TALK ON
=INSMODE(.T.)  && Set insert mode on
? INSMODE( )
= INSMODE(!INSMODE( ))  && Toggle insert mode to opposite state
? INSMODE( )

Expand image См. также

Описание

CAPSLOCK( ) Функция
NUMLOCK( ) Функция
SET TALK Команда

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


INT( ) Function

Visual FoxPro 9.0 Описние Языка
INT( ) Функция
Смотрите также Пример
CollapseAll image

Возвращает целую часть числа.

INT(nExpression)

Параметры

nExpression

Задает числовое выражение для которого INT( ), возвращает целую часть.

Expand image Возвращаемое значение

Числовое

Expand image Пример

CopyCode image Copy Code
CLEAR
? INT(12.5)  && Выводит 12
? INT(6.25 * 2)  && Выводит 12
? INT(-12.5)  && Выводит -12
STORE -12.5 TO gnNumber
? INT(gnNumber)  && Выводит -12

Expand image Смотрите также

Ссылки

CEILING( ) Функция
FLOOR( ) Функция
ROUND( ) Функция

Прочие ресурсы

Функции
Описание языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


ISALPHA( ) Function

Visual FoxPro 9.0 Описание Языка
ISALPHA( ), функция
См. также Пример
CollapseAll image

Определяет, является ли левый крайний символ в заданном символьном выражении - буквой.

ISALPHA(cExpression)

Параметры

cExpression

Определяет символьное выражение, для которого выполняется функция ISALPHA( ). Все символы, кроме первого, игнорируются

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

ISALPHA( ) возвращает значение = true (.T.), если крайний левый символ в заданном символьном выражении является буквой; в другом случае функция ISALPHA( ) возвращает значение = false (.F.).

Expand image Пример

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && открывается таблица customer
CLEAR

DISPLAY contact
? ISALPHA(contact)  && отображается .T.
DISPLAY maxordamt
? ISALPHA(cust_id)  && отображается .F.

Expand image См. также

Описание

ISLOWER( ), функция
ISUPPER( ), функция
LOWER( ), функция
UPPER( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


ISBLANK( ) Function

Visual FoxPro 9.0 Справочник Языка
ISBLANK () Функция
См. Также Пример

Определяет, является ли выражение пробелом.

ISBLANK(eExpression)

Параметры

eExpression

Определяет выражение для обработки ISBLANK( ) . eExpression может быть полем таблицы, переменной или элементом массива, или выражением.

Возвращаемое значение

Логическое. ISBLANK( ) возвращает Истину (.T). если выражение eExpression является пробелом; иначе, ISBLANK( ) возвращает Ложь (.F)..

ISBLANK( ) возвращает Истину (.T). для полей, когда те поля содержат некоторые значения. Следующая таблица перечисляет значения, содержащиеся в типах полей для которых ISBLANK( ) возвращает Истину.

Тип данных | Значения, которые содержит поле
Blob | Пустое (0h) или содержит только нулевые байты, например, 0h00, 0h000000, и так далее
Character | Пустая строка, пробелы, или отсутствие значения, типа недавно добавленной пустой записи или очищенной командой BLANK
Date | Пустая дата ({//}) или отсутствие значения, типа недавно добавленной в конец пустой записи или очищенной командой BLANK
DateTime | Пустое datetime ({//::}) или отсутствие значения, типа недавно добавленной в конец пустой записи или очищенной командой BLANK
Float | Отсутствие значения, типа недавно добавленной в конец пустой записи или очищенной командой BLANK
General | Пустое, например, отсутствие объекта OLE
Logical | Отсутствие значения, типа недавно добавленной в конец пустой записи или очищенной командой BLANK
Memo | Пустое, например, отсутствие содержание мемо-поля
Numeric | Отсутствие значения, типа недавно добавленной в конец пустой записи или очищенной командой BLANK
Varbinary | Пустое (0h) или содержащее только нулевые байты, например, 0h00, 0h000000, и так далее
Обратите внимание:
Выражения с типами Currency , Integer , или Double никогда не являются пустыми; поэтому, ISBLANK( ) всегда возвращмет Ложь (.F). для этих типов выражения.

Замечания

Чтобы создавать пустую запись, используйте команды APPEND BLANK и BLANK . Вы можете также использовать BLANK для очищения данных в полях записи.

ISBLANK( ) отличается от EMPTY( ) и ISNULL( ) . Например, EMPTY( ) возвращений Истину (.T)., если символьное выражение вычисляется как пустое, например, оно содержит пробелы, табуляторы, переводы каретки, или переводы строки. ISBLANK( ) возвращает Истину (.T). если символьное выражение содержит только пустую строку ("") или пробелы.

Пример

В следующем примере, создается таблица, по имени mytable и в конец добавляется пустая запись. ISBLANK( ) возвращает Истину (.T). потому что myfield является пустым. Затем значение помещается в myfield , и ISBLANK( ) возвращает Ложь (.F). потому что myfield больше не является пустым.

Скопировать код
CREATE TABLE mytable FREE (myfield C(20))
APPEND BLANK  && Add new blank record
CLEAR
? ISBLANK(myfield)  && Displays .T.
REPLACE myfield WITH 'John Smith'  && Insert a value in the field
? ISBLANK(myfield)  && Displays .F.

См. Также

Другие Ресурсы

APPEND Команда
BLANK Команда
EMPTY( ) Функция
ISNULL( ) Функция
LEN( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ISCOLOR( ) Function

Visual FoxPro 9.0 Описание Языка
ISCOLOR( ), функция
См. также
CollapseAll image

Определяет, является ли монитор рабочей станции Цветным.

ISCOLOR( )

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Функция ISCOLOR( ) возвращает значение = true (.T.), если компьютер оснащен цветным монитором (когда действительно используется цветной монитор). В противном случая, возвращается значение = false (.F.).

Expand image См. также

Описание

SET DISPLAY, команда
SYS(2006) - Текущая графическая карта

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ISDIGIT( ) Function

Visual FoxPro 9.0 Описание Языка
ISDIGIT( ), функция
См. также Пример
CollapseAll image

Определяет, является самый левый символ заданного символьного выражения цифрой (от 0, до 9).

ISDIGIT(cExpression)

Параметры

cExpression

Определяет символьное выражение, для которого выполняется функция ISDIGIT( ). Все символы, кроме первого, в выражении cExpression - игнорируются.

Expand image Возвращаемое значение

Логического типа (.T. / .F.)

Expand image Комментарии

Функция ISDIGIT( ) возвращает значение = true (.T.), если первый левый символ в заданном символьном выражении является цифрой (0 - 9); в других случаях, возвращается значение = false (.F.).

Expand image Пример

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders  && открывается таблица Orders
CLEAR

DISPLAY cust_id
? ISDIGIT(cust_id)  && отображается .F.
DISPLAY order_dsc
? ISDIGIT(ALLTRIM(STR(order_dsc)))  && отображается .T.

Expand image См. также

Описание

ISALPHA( ), функция
CLEAR, команды
Символьные Функции
USE, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ISEXCLUSIVE( ) Function

Visual FoxPro 9.0 Описание Языка
ISEXCLUSIVE( ) Функция
См. также Пример
CollapseAll image

Возвращает = true (.T.) если таблица или База Данных открыта в режиме монопольного использования (эксклюзивно); в противном случае возвращается = false (.F.).

ISEXCLUSIVE([cTableAlias | nWorkArea | cDatabaseName [, nType]])

Параметры

cTableAlias

Определяет алиас таблицы, для которой определяется режим эксклюзивного использования. Visual FoxPro генерирует ошибку если указан алиас не открытой таблицы.

nWorkArea

Определяет номер рабочей области, в которой открыта таблица, для которой определяется режим эксклюзивного использования. Функция ISEXCLUSIVE( ) возвращает значение = false (.F.) если в данной рабочей области не открыта таблица.

cDatabaseName

Определяет имя Базы Данных, для которой проверяется режим монопольного использования.

nType

Определяет, или уточняет характер объекта, указанного в предшествующих параметрах (таблица или база данных). В таблице приведены возможные значения данного параметра.

nType Статус Эксклюзивности объекта

1

Table (таблица)

2

Database (База Данных)

Для определения режима базы данных нужно указывать nType = 2.

Expand image Возвращаемое Значение

Значение типа Logical

Expand image Комментарии

Функция ISEXCLUSIVE( ) возвращает значения статуса эксклюзивности таблицы, открытой в текущей рабочей области, если не заданы параметры cTableAlias, nWorkArea, или cDatabaseName.

Для открытия эксклюзивно таблицы используйте опцию EXCLUSIVE в команде USE, или глобальную установку SET EXCLUSIVE ON перед командами открытия таблиц.

Для открытия эксклюзивно Базы Данных используйте опцию EXCLUSIVE в команде OPEN DATABASE.

Expand image Пример

В следующем примере, функция ISEXCLUSIVE( ) проверяет: открыта ли таблица в режиме монопольного использования. Таблица не может быть переиндексирована до тех пор, пока она не будет открыта в текущей рабочей области в режиме монопольного использования.

CopyCode image Копировать Код
cExclusive = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SET PATH TO (HOME(2) + 'data\')
OPEN DATA testdata  && Opens the test databsase
USE customer     && Not opened exclusively
USE employee IN 0 EXCLUSIVE    && Opened exclusively in another work area
IF ISEXCLUSIVE( )
 REINDEX  && Can only be done if table opened exclusively
ELSE
  WAIT WINDOW 'The table has to be exclusively opened'
ENDIF
SET EXCLUSIVE &cExclusive

Expand image См. также

Описание

OPEN DATABASE Команда
SET EXCLUSIVE Команда
USE Команда

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


ISFLOCKED( ) Function

Visual FoxPro 9.0 Описание Языка
ISFLOCKED( ), функция
См. также
CollapseAll image

Возвращает статус Блокировки файла Таблицы.

ISFLOCKED([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет номер рабочей области, в которой открыта рассматриваемая таблица. Если данные параметры отсутствуют ( cTableAlias и nWorkArea), то возвращается статус блокировки файла таблицы, открытойц в текущей рабочей области.

cTableAlias

Определяет алиас Таблицы, для которой тестируется чтатус блокировки. Сообщение об ошибке "Alias not found" (Алиас не найден) генерируется в случае, когда указан алиас таблицы, которая еще не открыта.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Функция ISFLOCKED( ) возвращает значение = true (.T.), если файл таблицы Блокирован; в другом случае возвращается значение = false (.F.). Функция ISFLOCKED( ) аналогична системной функции SYS(2011), но возвращает логическое значение и не зависит от режима локализации для международных приложений.

Note Обратите Внимание

Функция ISFLOCKED() возвращает значение = .T. только для рабочей станции, на которой выполнялась блокировка файла.

Expand image См. также

Описание

FLOCK( ), функция
ISRLOCKED( ), функция
LOCK( ), функция
RLOCK( ), функция
SYS(2011) - Текущий статус Блокировки

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ISLEADBYTE( ) Function

Visual FoxPro 9.0 Справка по языку
Функция ISLEADBYTE( )
См.также

Возвращает Истинно (.T.), если первый байт в первом двухбайтном символе символьного выражения является ведущим (lead byte).

ISLEADBYTE(cExpression)

Параметры

cExpression

Указывает символьное выражение, которое обрабатывается функцией ISLEADBYTE( ). Все байты, кроме первого в cExpression игнорируются.

Возвращаемое значение

Логическое

Примечания

ISLEADBYTE( ) возвращает Истинно (.T.), если первый байт в первом двухбайтном символе символьного выражения является ведущим. Если ISLEADBYTE( ) возвращает Ложно (.F.), символ оказался однобайтным.

Эта функция полезна при обработке двухбайтных наборов символов в таких языках, как Hiragana и Katakana.

См.также

Функция ISALPHA( )
Функция ISDIGIT( )
Функция ISLOWER( )
Функция ISUPPER( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены


ISLOWER( ) Function

Visual FoxPro 9.0 Справочник Языка
ISLOWER () Функция
См. Также Пример

Определяет, является ли крайний левый символ указанного символьного выражения алфавитный символом нижнего регистра.

ISLOWER(cExpression)

Параметры

cExpression

Определяет символьное выражение которое обрабатывается ISLOWER( ). ISLOWER( ) игнорирует любые символы после первого символа в cExpression .

Возвращаемое значение

Логический

Замечания

ISLOWER( ) возвращает истину (.T.), если крайний левый символ в указанном символьном выражении - алфавитный символ нижнего регистра; иначе, ISLOWER( ) возвращает ложь (.F)..

Пример

Скопировать код
CLEAR
? ISLOWER('redmond')  && Displays .T.
? ISLOWER('Redmond')  && Displays .F.

См. Также

Другие Ресурсы

ISALPHA( ) Функция
ISUPPER( ) Функция
LOWER( ) Функция
UPPER( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ISMEMOFETCHED( ) Function

Visual FoxPro 9.0 Описание Языка
ISMEMOFETCHED( ), функция
См. также
CollapseAll image

Определяет, выполнена ли выборка полей типа memo для режима "отложенной выборки полей Memo" (delayed memo fetch).

ISMEMOFETCHED(cFieldName | nFieldNumber [, nWorkArea | cTableAlias])

Параметры

cFieldName

Определяет имя поля типа memo, для которого проверяется статус выборки.

nFieldNumber

Определяет номер поля типа Memo (на основании имеющейся структуры Таблицы или Курсора), для которого проверяется статус выборки.

nWorkArea

Определяет номер Рабочей Области, в которой открыта Таблица с данными или Курсор, содержащие заданное поле типа Memo.

cTableAlias

Определяет алиас Таблицы или Курсора, содержащие заданное поле типа Memo.

Expand image Возвращаемое значение

Логического типа. Возвращается значение = true (.T.), если уже выполнена выборка (из источника данных) заданного поля типа memo, в другом случае, возвращается значение = false (.F.). Значение =True (.T.) всегда возворащается для Локальных данных. Нулевое Значение (.NULL.) возвращается для Курсора, указатель записи которого находится в начале или в конце таблицы данных. Используйте функции BOF( ) или EOF( ), функция для определения допустимой позиции указателя записи в рассматриваемых Таблицах или Курсорах.

Expand image Комментарии

Данная функция может быть использована для управления процессом выборки данных для полей типа memo из удаленных источников данных (remote data). Тем самым, вы можете управлять выборкой данных для полей типа memo, когда это потребуется для работы.

Параметр FetchMemo, заданный, или определенный в DBGETPROP( ), функция или CURSORGETPROP( ), функция, характеризует режим обработки (загрузки) полей типа memo из удаленных источников данных, сразу или по-требованию. ISMEMOFETCHED( ) возвращает значение = true (.T.), когда осуществлена выборка данных для поля типа memo в режиме delayed Memo data (FetchMemo=.F.).

Функция ISMEMOFETCHED( ) работает с обоими типами полей: Memo и General.

Expand image См. также

Описание

CURSORGETPROP( ), функция
DBGETPROP( ), функция

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


ISMOUSE( ) Function

Visual FoxPro 9.0 Описание Языка
ISMOUSE( ), функция
См. также Пример
CollapseAll image

Возвращает значение = true (.T.), если манипулятор Мышь представлен в системе (рабочей станции).

ISMOUSE( )

Expand image Комментарии

ISMOUSE( ) возвращает = true (.T.), если мышка есть в системе; в других случаях возвращается значение = false (.F.).

Expand image Пример

В следующем примере выполняется проверка существования Мышки.
CopyCode image Копировать Код
CLEAR
? 'Mouse hardware present? '
?? ISMOUSE( )

Expand image См. также

Описание

MCOL( ), функция
MDOWN( ), функция
MROW( ), функция
SYSMETRIC( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ISNULL( ) Function

Visual FoxPro 9.0 Описание Языка
ISNULL( ), функция
См. также Пример
CollapseAll image

Возвращает значение = true (.T.), если заданное выражение = Null; в другом случае, ISNULL( ) возвращает значение = false (.F.).

ISNULL(eExpression)

Параметры

eExpression

Определяет некоторое выражение.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Функцмя ISNULL( ) используется для определения содержания поля таблицы, переменной памяти или элемента массива, содержат ли указанные величины значение = null.

Expand image Пример

В следующем примере показано использование функции ISNULL( )

CopyCode image Копировать Код
STORE .NULL. TO mNullvalue  && помещаем null в переменную памяти

CLEAR
? mNullvalue  && отображается значение переменной памяти
? ISNULL(mNullvalue)  && возвращается .T., значит там значение Null
? TYPE('mNullvalue')     && Возвращается L, означает, что это логический тип
? (mNullvalue = .NULL.)  && возвращается .NULL., неверное использование операторов

Expand image См. также

Описание

NVL( ), функция
SET NULL, команда
Управление значениями Null

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


ISPEN( ) Function

ISPEN( ), функция
См. также
CollapseAll image

Отслеживает наступление События для Tablet PC pen tap.

ISPEN( )

Expand image Комментарии

Функция ISPEN( ) возвращает значение = true (.T.), если произошло событие манипулятора Мышь pen tap для компьютера Tablet PC. В противном случае возвращается значение = false (.F.).

Expand image См. также

Описание

Click, Событие
MouseDown, Событие

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ISREADONLY( ) Function

Visual FoxPro 9.0 Справочник Языка
ISREADONLY () Функция
См. Также Пример

Определяет, открыты ли таблица или база данных только для чтения.

ISREADONLY([nWorkArea | cTableAlias])

Параметры

nWorkArea | cTableAlias

Возвращает состояние read-only ("только для чтения") для таблицы, открытой в другой рабочей области. nWorkArea определяет номер рабочей области и cTableAlias определяет псевдоним рабочей области или таблицы. ISREADONLY( ) возвращает ложь (.F.), если таблица не является открытой в рабочей области, которую Вы задали. Если Вы не определяете номер рабочей области или таблицу или псевдоним рабочей области, функция ISREADONLY( ) возвращает состояние read-only для таблицы, открытой в текущей рабочей области. ISREADONLY(0) возвращает статус текущей базы данных. Если нет никакой текущей открытой базы данных, ISREADONLY(0) возвращает ошибку.

Возвращаемое значение

Логичный

Замечания

ISREADONLY( ) возвращает истину (.T.), если таблица открыта только для чтения; иначе, ISREADONLY( ) возвращает ложь (.F)..

Вы можете открыть таблицу только для чтения включением опции NOUPDATE при открытии таблицы командой USE, устанавливая переключатель Read Only при открытии таблицы в диалоговом окне Open, или назначая таблице MS-DOS атрибуты "только для чтения".

Вы не можете передать псевдоним нетекущей базы данных в функцию ISREADONLY( ). Чтобы гарантировать наличие базы данных, Вы можете использовать следующий код:

Скопировать код
!EMPTY(DBC())

Курсор, созданный командой SELECT - команда SQL всегда открыт только для чтения.

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer    NOUPDATE  && Open customer table read-only
CLEAR
? ISREADONLY('customer')  && Returns .T.

См. Также

Другие Ресурсы

USE Команда
ReadOnly Свойство
SELECT - SQL Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ISRLOCKED( ) Function

Visual FoxPro 9.0 Справочник Языка
ISRLOCKED () Функция
См. Также

Возвращает состояние блокировки записей.

ISRLOCKED([nRecordNumber, [nWorkArea | cTableAlias]])

Параметры

nRecordNumber

Определяет номер записи, для которой возвращается состояние блокировки. Если nRecordNumber опущен, состояние блокировки записей возвращено для текущей записи.
nWorkArea

Определяет номер рабочей области таблицы, для которой состояние блокировки записей возвращено. Если Вы опускаете cTableAlias и nWorkArea , состояние блокировки записей возвращено для таблицы, открытой в текущей рабочей области.
cTableAlias

Определяет псевдоним таблицы, для которой состояние блокировки записей возвращено.

Возвращаемое значение

Логическое

Замечания

ISRLOCKED( ) возвращает логическую истину (.T.), если запись блокирована текущим приложением; иначе возращается логическая ложь (.F.).

Обратите внимание:
ISRLOCKED () возвращает .T. только в той рабочей станции, с которой применялась блокировка записей.

См. Также

Другие Ресурсы

FLOCK( ) Функция
ISFLOCKED( ) Функция
LOCK( ) Функция
RLOCK( ) Функция
SYS(2011) - Текущее Состояние Блокировки
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ISTRANSACTABLE( ) Function

Visual FoxPro 9.0 Справочник Языка
ISTRANSACTABLE () Функция
См. Также

Возвращает логическое значение, указывающее, поддерживает ли свободная таблица или свободный курсор транзакции.

ISTRANSACTABLE([nWorkArea | cAlias])

Параметры

nWorkArea

Определяет рабочую область свободной таблицы или свободного курсора, для которых ISTRANSACTABLE( ) определяет, поддерживаются ли транзакции.
cAlias

Определяет псевдоним таблицы или курсора, для которого ISTRANSACTABLE( ) определяет, поддерживаются ли транзакции.

Возвращаемое значение

Логическое. Возвращает логическую истину (.T). если свободная таблица или свободный курсор поддерживают транзакции, иначе возвращается логическая ложь (.F)..

Замечания

Используйте функцию MAKETRANSACTABLE () для разрешения свободной таблице или свободному курсору поддерживать транзакции.

См. Также

Ссылки

MAKETRANSACTABLE () Функция
BEGIN TRANSACTION Команда
END TRANSACTION Команда
ROLLBACK Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ISUPPER( ) Function

Visual FoxPro 9.0 Описание Языка
ISUPPER( ), функция
См. также Пример
CollapseAll image

Определяет, является ли первый символ в заданном символьном выражении Заглавной буквой (в верхнем регистре).

ISUPPER(cExpression)

Параметры

cExpression

Определяет символьное выражение, для которого выполняется данная функция ISUPPER( ). Кроме первого символа в данном выражении cExpression, все остальные игнорируются.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Функция ISUPPER( ) возвращает значение = true (.T.), если первый символ заданного символьного выражения является заглавной буквой; в противном случае возвращается значение = false (.F.).

Expand image Пример

CopyCode image Копировать Код
? ISUPPER('Redmond')  && отображается .T.
? ISUPPER('redmond')  && отображается .F.

Expand image См. также

Описание

ISALPHA( ), функция
ISLOWER( ), функция
LOWER( ), функция
UPPER( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


JUSTDRIVE( ) Function

Visual FoxPro 9.0 Описание Языка
JUSTDRIVE( ), функция
См. также
CollapseAll image

Возвращает "букву диска" из полного имени пути. (JustDrive - только_диск)

JUSTDRIVE(cPath)

Параметры

cPath

Определяет полное имя пути или файла, для которого нужно определить имя диска.

Expand image Возвращаемое значение

Символьного типа

Expand image См. также

Описание

ADDBS( ), функция
DEFAULTEXT( ), функция
FILE( ), функция
FORCEEXT( ), функция
FORCEPATH( ), функция
JUSTEXT( ), функция
JUSTFNAME( ), функция
JUSTPATH( ), функция
JUSTSTEM( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


JUSTEXT( ) Function

Visual FoxPro 9.0 Описание Языка
JUSTEXT( ), функция
См. также
CollapseAll image

Возвращает символьную строку, как тип или расширение (extention) заданного полного имени пути или файла. ( JustExt - только_расширение)

JUSTEXT(cPath)

Параметры

cPath

Задает полное имя пути или файла, для которого нужно определить расширение. Максимальная длина строки cPath - не более 259 .

Expand image Возвращаемое значение

Символьного типа

Expand image См. также

Описание

ADDBS( ), функция
DEFAULTEXT( ), функция
FILE( ), функция
FORCEEXT( ), функция
FORCEPATH( ), функция
JUSTDRIVE( ), функция
JUSTFNAME( ), функция
JUSTPATH( ), функция
JUSTSTEM( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


JUSTFNAME( ) Function

Visual FoxPro 9.0 Справочник Языка
JUSTFNAME () Функция
См. Также

Возвращает именную часть файла из полного пути и имени файла.

JUSTFNAME(cFileName)

Параметры

cFileName

Определяет имя, которое может включать полный путь файла, для которого Вы хотите получить только имя файла. Максимальная длина строки, передаваемая в cFileName составляет 259 байтов.

Возвращаемое значение

Символьное

См. Также

Другие Ресурсы

ADDBS( ) Функция
DEFAULTEXT( ) Функция
FILE( ) Функция
FORCEEXT( ) Функция
FORCEPATH( ) Функция
JUSTDRIVE( ) Функция
JUSTEXT( ) Функция
JUSTPATH( ) Функция
JUSTSTEM( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


JUSTPATH( ) Function

Visual FoxPro 9.0 Справочник Языка
JUSTPATH () Функция
См. Также

Возвращает порцию path из полного пути и имени файла.

JUSTPATH(cFileName)

Параметры

cFileName

Определяет полное имя (включая путь) файла, для которого Вы хотите получить только путь. Максимальная длина строки для передачи в cFileName составляет 259 байтов.

Возвращаемое значение

Символьное

См. Также

Другие Ресурсы

ADDBS( ) Функция
DEFAULTEXT( ) Функция
FILE( ) Функция
FORCEEXT( ) Функция
FORCEPATH( ) Функция
JUSTDRIVE( ) Функция
JUSTEXT( ) Функция
JUSTFNAME( ) Функция
JUSTSTEM( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


JUSTSTEM( ) Function

Visual FoxPro 9.0 Описание Языка
JUSTSTEM( ), функция
См. также
CollapseAll image

Возвращает имя файла (основу имени, без расширения) для заданного полного имени пути или файла. ( JustStem - только_основа)

JUSTSTEM(cFileName)

Параметры

cFileName

Задает полное имя пути или файла, для которого нужно определить основу имени. Максимальная длина строки cFileName не более - 259 .

Expand image Возвращаемое значение

Символьного типа

Expand image См. также

Описание

ADDBS( ), функция
DEFAULTEXT( ), функция
FILE( ), функция
FORCEEXT( ), функция
FORCEPATH( ), функция
JUSTDRIVE( ), функция
JUSTEXT( ), функция
JUSTFNAME( ), функция
JUSTPATH( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


KEY( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция KEY( )
Смотрите также Пример
CollapseAll image

Возвращает выражение ключа индекса для тега индекса или файла индекса.

KEY([CDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Параметры

CDXFileName

Задает имя файла составного индекса. Функция KEY( ) возвращает выражения ключа индекса для тега индекса .CDX. Заданный файл составного индекса может быть структурным составным индексом, который автоматически открывается вместе с таблицей, или файлом независимого составного индекса.

nIndexNumber

Указывает, какое выражение ключа индекса следует возвратить.

Команды USE и SET INDEX обе поддерживают список файлов индексов, что позволяет открывать для одной таблицы несколько индексов. В этот список можно включать файлы простых индексов .IDX, файлы структурных составных индексов или файлы независимых составных индексов в любых сочетаниях.

Числовое выражение nIndexNumber определяет, для какого именно открытого файла индекса должно быть возвращено выражение индекса. По мере того как nIndexNumber увеличивается от 1 до общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, функция KEY( ) возвращает выражения индекса в следующем порядке:

  1. Вначале возвращаются выражения индекса для файлов простых индексов .IDX (если они существуют и открыты). Порядок их возвращения определяется порядком включения файлов простых индексов в команду USE или SET INDEX.

  2. Затем возвращаются выражения индекса для каждого тега структурного составного индекса (если таковой имеется). Они возвращаются в том порядке, в каком эти теги создавались в структурном составном индексе.

  3. Наконец, возвращаются выражения индекса для каждого тега во всех открытых независимых составных индексах. Они возвращаются в том порядке, в каком эти теги создавались в независимых составных индексах.

Если nIndexNumber больше общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, возвращается пустая строка.

nWorkArea

Задает номер рабочей области таблицы, для которой вы хотите получить выражения ключей индекса.

cTableAlias

Задает псевдоним таблицы, для которой вы хотите получить выражения ключей индекса.

Если ни у одной таблицы нет заданного вами псевдонима, Visual FoxPro генерирует сообщение об ошибке.

Если аргументы nWorkArea и cTableAlias опущены, возвращаются выражения индекса для таблицы, открытой в текущей рабочей области.

Expand image Возвращаемое значение

Символьное

Expand image Примечания

Выражение ключа индекса задается при создании тега индекса или файла индекса с помощью команды INDEX. Это выражение определяет, как будет отображаться таблица и как будет происходить доступ к ней, когда этот тег индекса или файл индекса откроется в качестве главного управляющего тега или файла индекса.

Подробнее о создании тегов индексов, файлов индексов и выражений ключей индекса смотрите INDEX.

Expand image Пример

В следующем примере открывается таблица customer в базе данных testdata. Структура FOR ... ENDFOR используется для организации цикла, в котором функция KEY( ) отображает выражение индекса для каждого тега структурного индекса customer. На экран выдается имя каждого тега структурного индекса вместе с его выражением индекса.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table
CLEAR

FOR nCount = 1 TO TAGCOUNT( )
   IF !EMPTY(TAG(nCount))  && Checks for tags in the index
   ? TAG(nCount) + ' '  && Display tag name
   ?? KEY(nCount)  && Display index expression
   ELSE
      EXIT  && Exit the loop when no more tags are found
   ENDIF
ENDFOR

Expand image Смотрите также

Справочное руководство

Функция DESCENDING( )
Команда INDEX
Команда REINDEX
Команда SET INDEX
SYS(14) - Индексное выражение
Команда USE

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


KEYMATCH( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция KEYMATCH( )
Смотрите также
CollapseAll image

Просматривает тег индекса или файл индекса в поисках ключа индекса.

KEYMATCH(eIndexKey [, nIndexNumber [, nWorkArea | cTableAlias]])

Параметры

eIndexKey

Задает ключ индекса, который ищет функция KEYMATCH( ). Ключи индекса в файле индекса или теге индекса определяются выражением индекса. Выражение индекса задается при создании файла индекса или тега индекса с помощью команды INDEX. Для возвращения выражений индекса, относящихся к файлам индексов и тегам индексов, можно пользоваться функциями KEY( ) и SYS(14). Подробнее о создании файлов индексов, выражений индекса и ключей индекса смотрите Команда INDEX.

Если функция KEYMATCH( ) выдана без параметров, она ищет заданный ключ индекса в главном файле индекса или главном теге индекса. Если главный файл индекса или тег индекса отсутствует (например, если вы выдали команду SET ORDER TO без параметров, чтобы организовать таблицу в физическом порядке записей), Visual FoxPro генерирует сообщение об ошибке.

nIndexNumber

Указывает, в каком именно файле индекса или теге индекса должен вестись поиск. Обычно nIndexNumber является целым числом; сначала он равен 1, а затем наращивается на 1 для последовательного просмотра остальных тегов индексов.

Если nIndexNumber равен 1, просматривается главный файл простого индекса .IDX или главный тег индекса (если он имеется).

По мере увеличения nIndexNumber последовательно просматриваются теги структурного составного индекса (если он существует). Теги просматриваются в том порядке, в каком они создавались в структурном составном индексе.

Если nIndexNumber все увеличивается и все теги структурного составного индекса просмотрены, начинается поиск среди тегов открытых независимых составных индексов. Эти теги просматриваются в том порядке, в каком они создавались в независимых составных индексах.

Если nIndexNumber больше общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, генерируется сообщение об ошибке.

nWorkArea| cTableAlias

Задает поиск в файлах или тегах индексов, открытых в другой рабочей области. nWorkArea задает номер рабочей области, а cTableAlias псевдоним таблицы. Если номер рабочей области и псевдоним опущены, функция KEYMATCH( ) просматривает файлы или теги индексов для таблицы, открытой в текущей рабочей области.

Если ни у одной таблицы нет заданного вами псевдонима, Visual FoxPro выдает сообщение об ошибке.

Expand image Возвращаемое значение

Логическое

Expand image Примечания

Функция KEYMATCH( ) просматривает тег индекса или файл индекса в поисках конкретного ключа индекса и возвращает значение "истина" (.T.), найдя ключ индекса; в противном случае KEYMATCH( ) возвращает "ложь" (.F.). Функцию KEYMATCH( ) можно использовать для предотвращения дублирования ключей индекса.

Функция KEYMATCH( ) возвращает указатель записи, указывающий на запись, у которой он располагался до выдачи функции KEYMATCH( ).

Expand image Смотрите также

Справочное руководство

Команда INDEX
Функция INDEXSEEK( )
Функция KEY( )
Команда SET INDEX
SYS(14) - Индексное выражение
Команда USE

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LASTKEY( ) Function

Visual FoxPro 9.0 Описание Языка
LASTKEY( ), функция
См. также
CollapseAll image

Возвращает целое число, соответствующее коду последней нажатой клавиши.

LASTKEY( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Значение, возвращаемое функцией LASTKEY( ), соответствует возвращаемым значениям функции INKEY( ). См. дополнительно о кодах нажимаемых клавиш раздел INKEY( ), функция .

LASTKEY( ) изменяется при перемещении между элементами управления (Контролами).

Expand image См. также

Описание

CHRSAW( ), функция
READKEY( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


LEFT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция LEFT( )
Смотрите также Пример
CollapseAll image

Возвращает из символьного выражения заданное число символов, начиная с самого левого.

LEFT(cExpression, nExpression)

Параметры

cExpression

Задает символьное выражение, из которого функция LEFT( ) возвращает символы.

nExpression
nExpression превышает длину выражения cExpression, возвращается все символьное выражение целиком. Если значение nExpression отрицательно или равно 0, функция LEFT( ) возвращается пустая строка.

Функция LEFT( ) идентична функции SUBSTR( ) с начальной позицией 1.

Expand image Возвращаемое значение

Символьное. LEFT( ) возвращает символьную строку.

Expand image Пример

В следующем примере используется два различных пути для вывода на экран результата функции LEFT( ), которые возвращают первых четыри буквы строки "Redmond, WA":

CopyCode image Copy Code
? LEFT('Redmond, WA', 4)          && Displays the string, Redm.
myString = LEFT('Redmond, WA', 4) && Stores result in myString.
? myString                        && Displays result in myString.

Подробнее смотрите Команда ? | ??.

Expand image Смотрите также

Справочное руководство

Функция AT( )
Функция AT_C( )
Функция ATC( )
Функция ATCC( )
Функция ATCLINE( )
Функция ATLINE( )
Функция LTRIM( )
Функция RAT( )
Функция RATLINE( )
Функция RIGHT( )
Функция RTRIM( )
Функция SUBSTR( )
Функция LEFTC( )
Функция RIGHTC( )
Функция SUBSTRC( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LEFTC( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция LEFTC( )
Смотрите также
CollapseAll image

Возвращает из символьного выражения заданное число символов, начиная с самого левого.

LEFTC(cExpression, nExpression)

Параметры

cExpression

Задает символьное выражение, из которого функция LEFTC( ) возвращает символы.

nExpression

Задает количество символов, возвращаемых из символьного выражения. Если значение nExpression превышает длину выражения cExpression, возвращается все символьное выражение целиком. Если значение cExpression отрицательно или равно 0, возвращается пустая строка.

Expand image Возвращаемое значение

Character

Expand image Замечания

Функция LEFTC( ) предназначена для обработки символьных выражений в двухбайтовой кодировке. Если выражение содержит только однобайтовые символы, функция LEFTC( ) эквивалентна функции LEFT( ).

Функция LEFTC( ) возвращает заданное количество символов из символьного выражения, содержащего любую комбинацию однобайтовых и двухбайтовых символов.

Функция LEFTC( ) идентична функции SUBSTRC( ) с начальной позицией 1.

Эта функция полезна для работы с двухбайтовыми наборами символов, например, с японскими "алфавитами" харигана и катакана.

Expand image Смотрите также

Справочное руководство

AT( ), функция
AT_C( ), функция
ATC( ), функция
ATCC( ), функция
ATCLINE( ), функция
ATLINE( ), функция
LEFT( ), функция
LTRIM( ), функция
RAT( ), функция
RATLINE( ), функция
RIGHT( ), функция
RTRIM( ), функция
SUBSTR( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


LEN( ) Function

Visual FoxPro 9.0 Описание Языка
LEN( ), функция
См. также Пример
CollapseAll image

Определяет количество символов в символьном выражении, указывая длину заданного символьного выражения.

LEN(cExpression)

Параметры

cExpression

Определяет символьное выражение, для которого функция LEN( ) определяет количество символов.

Expand image Возвращаемое значение

Числового типа. Функция LEN( ) возвращает количество символов в символьном выражении.

Expand image Пример

В следующем примере, очищается главное окно системы Visual FoxPro, при помощи команды CLEAR; открывается таблица Customer, закрепленная за базой данных Testdata, которая размещена в подкаталоге ..\Samples\Data, с помощью команд OPEN DATABASE и USE. С помощью комбинации команд ? и ??, и функции LEN( ) отображается количество символов в полях: Cust_ID и Contact.

CopyCode image Копировать Код
CLEAR
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer
? 'Width of contact field: '
?? LEN(contact)
? 'Width of cust_id field: '
?? LEN(cust_id)

Expand image См. также

Описание

FSIZE( ), функция
TXTWIDTH( ), функция
LENC( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


LENC( ) Function

Visual FoxPro 9.0 Справка по языку
Функция LENC( )
См.также

Возвращает количество символов в символьном выражении или в содержимом поля типа memo.

LENC(cExpression)

Параметры

cExpression

Указывает символьное выражение для которого функция LENC( ) возвращает количество символов.

Возвращаемое значение

Числовое

Примечания

Функция LENC( ) предназначена для обработки выражений, содержащих двухбайтные символы. Если выражение содержит только однобайтные символы, работа функции LENC( ) совпадает с работой функции LEN( ).

LENC( ) возвращает количество символов в символьном выражении или в поле типа memo, содержащем любую комбинацию однобайтных и двухбайтных символов.

Эта функция полезна при работе с двухбайтными наборами символов в таких языках, как Hiragana и Katakana.

См.также

Функция LEN( )
Создание приложений с наборами символов в двухбайтной кодировке
Функция SIZE( )
Функция TXTWIDTH( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LIKE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция LIKE( )
Смотрите также Пример
CollapseAll image

Определяет, совпадает ли одно символьное выражение с другим символьным выражением.

LIKE(cExpression1, cExpression2)

Параметры

cExpression1

Задает символьное выражение, которое функция LIKE( ) сравнивает с выражением cExpression2. Выражение cExpression1 может содержать в себе символы подстановки, такие как * и ?. Знак вопроса (?) при сравнении заменяет любой одиночный символ в cExpression2, а звездочка (*) - любое число символов. В выражении cExpression1можно задавать сколько угодно символов подстановки в любом сочетании.

cExpression2

Задает символьное выражение, которое LIKE( ) сравнивает с выражением cExpression1. Чтобы функция LIKE( ) возвратила значение "истина" (.T.), выражения cExpression2 и cExpression1 должны совпадать буква за буквой.

Expand image Возвращаемое значение

Logical

Expand image Замечания

Функция LIKE( ) возвращает значение "истина" (.T.), если выражение cExpression1 совпадает с cExpression2; в противном случае возвращается "ложь" (.F.).

Команда SET COMPATIBLE влияет на то, каким образом функция LIKE( ) трактует выражения cExpression1 и cExpression2. Если установка SET COMPATIBLE имеет значение ON или DB4, перед сравнением выражений cExpression1 и cExpression2 из них удаляются все конечные пробелы. Если установка SET COMPATIBLE равна OFF или FOXPLUS, все конечные пробелы в cExpression1 и cExpression2 участвуют в сравнении.

Expand image Пример

В следующем примере отображаются все имена продуктов из таблицы products, которые начинаются на "Ch".
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE products  && Open Products table

CLEAR
? 'All product names with first two letters Ch:'
?
SCAN FOR LIKE('Ch*', prod_name)
   ? prod_name
ENDSCAN
USE

Expand image Смотрите также

Справочное руководство

$, оператор
AT( ), функция
ATC( ), функция
OCCURS( ), функция
RAT( ), функция
SET COMPATIBLE, команда
LIKEC( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


LIKEC( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция LIKEC( )
Смотрите также
CollapseAll image

Определяет, совпадает ли одно символьное выражение с другим символьным выражением.

LIKEC(cExpression1, cExpression2)

Параметры

cExpression1

Задает символьное выражение, которое функция LIKE( ) сравнивает с выражением cExpression2. Выражение cExpression1 может содержать в себе символы подстановки, такие как * и ?. Знак вопроса (?) при сравнении заменяет любой одиночный символ в cExpression2, а звездочка (*) - любое число символов. В выражении cExpression1можно задавать сколько угодно символов подстановки в любом сочетании.

cExpression2

Задает символьное выражение, которое LIKE( ) сравнивает с выражением cExpression1. Чтобы функция LIKE( ) возвратила значение "истина" (.T.), выражения cExpression2 и cExpression1 должны совпадать буква за буквой.

Expand image Возвращаемое значение

Logical

Expand image Замечания

LIKEC( ) предназначена для обработки символьных выражений в двухбайтовой кодировке. Если выражение содержит только однобайтовые символы, функция LIKEC( ) эквивалентна функции LIKE( ).

Функция LIKEC( ) Определяет, совпадает ли одно символьное выражение с другим символьным выражением. Функция LIKEC( ) возвращает значение "истина" (.T.), если выражение cExpression1 совпадает с cExpression2; в противном случае возвращается "ложь" (.F.).

SET COMPATIBLE определяет, как LIKEC( ) сравнивает пробелы в cExpression1 и cExpression2. Если установка SET COMPATIBLE имеет значение ON или DB4, перед сравнением выражений cExpression1 и cExpression2 из них удаляются все конечные пробелы. Если установка SET COMPATIBLE равна OFF или FOXPLUS, все конечные пробелы в cExpression1 и cExpression2 участвуют в сравнении.

Эта функция полезна для работы с двухбайтовыми наборами символов, например, с японскими "алфавитами" харигана и катакана.

Expand image Смотрите также

Справочное руководство

AT_C( ), функция
ATCC( ), функция
LIKE( ), функция
RATC( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


LINENO( ) Function

Visual FoxPro 9.0 Описание Языка
LINENO( ), функция
См. также Пример
CollapseAll image

Возвращает номер строки, выполняющейся в настоящий момент команды программного модуля, относительно начала программного файла, который содержит указанный программный модуль (процедуру или функцию).

LINENO([1])

Параметры

1

В этом случае, возвращается номер строки команды относительно начала текущей процедуры или функции. Если данный параметр отсутствует, то возвращается номер строки команды относительно начала всего программного файла.

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Нумерация программных строк начинается с самого начала программного файла. Строки Комментариев, строки продолжения предыдущих программных строк (оканчивающиеся символом продолжения программной строки (;) - точка-с-запятой), включаются в общую нумерацию программных строк. Если выполнение текущей программы приостановлено (например, по команде SuspEnd), функция LINENO( ) возвращает номер строки команды, в которой выполнена остановка выполнения программы. LINENO( ) возвращает значение = 0, если программа завершила свое выполнение.

По-умолчанию, номер строки команды возвращается относительно начала программного файла. Если вызвана внешняя процедура, то нумерация строк продолжается с самого начала вызываемой программы или модуля.

Функция LINENO( ) эффективно может быть использована при Отладке программных Модулей. Вы можете установить Точку Останова (BreakPoint) для остановки выполнения программы в требуемом месте, задавая номер соответствующей строки, для этого: откройте соответствующее системное окно Breakpoints window, установите тип точки останова 'Break when expression is true' - Остановка при выполнении логического условия; и введите следующее выражение: LINENO( ) = nExpression, в соответствующем текстовом боксе Expression textbox.

Expand image Пример

В следующем примере приводится фрагмент простейшей программы обработки ошибок.

CopyCode image Копировать Код
ON ERROR DO bug_proc WITH LINENO( )
BRWS && Causes an error
ON ERROR

*** Bug_Proc error handler ***

PROCEDURE bug_proc
PARAMETERS gnBadLine
WAIT WINDOW 'Error occurred at line: ' + ALLTRIM(STR(gnBadLine))
RETURN

Expand image См. также

Описание

ERROR( ), функция
MESSAGE( ), функция
PROGRAM( ), функция
SYS(16) - Имя файлы выполняемой программы
Сообщения об Ошибках, список по-Наименованиям
Сообщения об Ошибках, список по-Номерам

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


LOADPICTURE( ) Function

Visual FoxPro 9.0 Справочник Языка
LOADPICTURE () Функция
См. Также

Создает объектную ссылку для точечного рисунка, значка, или мета-файла Windows.

LOADPICTURE([cFileName])

Параметры

cFileName

Определяет точечный рисунок (.bmp), значок (.ico), или метафайл Windows (.wmf), для которого создана объектная ссылка. Если cFileName опущен, возвращается нулевое изображение. Вы можете включить GETPICT( ) как cFileName для отображения диалога Открыть, из которого Вы можете выбрать файл точечного рисунка (.bmp).

Возвращаемое значение

Объект

Замечания

Многие свойства представлений ActiveX контролов требуют наличия объектной ссылки для их настройки. Например, элемент управления ActiveX Outline поддерживает свойство PictureOpen, которое требует объектной ссылки для его определения.

См. Также

Другие Ресурсы

Функции
GETPICT( ) Функция
SAVEPICTURE( ) Функция
Свойство Picture

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LOCFILE( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
LOCFILE( ) Функция
Смотрите также

Осуществляет поиск файла на диске и возвращает имя файла вместе с путем к нему.

LOCFILE(cFileName [, cFileExtensions] [, cFileNameCaption])

Параметры

cFileName

Задает имя файла, который нужно найти. Если cFileName содержит только имя файла, функция LOCFILE( ) будет искать сначала в каталоге или папке Visual FoxPro, используемым по умолчанию. Если там файла не окажется, начнется просмотр пути Visual FoxPro. Для задания пути Visual FoxPro пользуйтесь командой SET PATH. Если параметр cFileName содержит имя файла вместе с путем к нему, поиск будет произведен по указанному пути. Если там файл найден не будет, LOCFILE( ) будет искать сначала в каталоге или папке Visual FoxPro, используемым по умолчанию. Если файла не окажется и там , начнется просмотр пути Visual FoxPro. Если файл найден, LOCFILE( ) возвращает его имя и путь.
cFileExtensions

Задает расширения имени для искомого файла. Если имя файла, заданное параметром cFileName указано без расширения, Visual FoxPro дополнит его расширениями из списка cFileExtensions и продолжит поиск файла. Параметр cFileExtensions задает также расширения имен файлов, которые будут отображены в диалоговом окне "Open", если заданный файл не удалось найти.

cFileExtensions можно задавать в разных видах:

  • Если cFileExtensions содержит единственное расширение (например, .PRG), будут отображены файлы только с этим расширением.

  • cFileExtensions может также содержать символы подстановки (* и ?). Будут отображены все файлы, расширения имен которых удовлетворяют данному критерию с учетом символов подстановки. Например, если определить cFileExtensions как ?X?, будут отображены все файлы с расширениями .fxp, .exe, или .txt.

  • cFileExtensions может содержать описание типа файла со следующим за ним расширением или списком соответствующих расширений, разделенных запятой. Описание файла будет выведено в текстбоксе "Тип файлов" диалогового окна "Open" в случае, если искомый файл не будет найден. Описание файла должно быть отделено от расширения или списка расширений двоеточием (:). Различные описания файлов с их расширениями отделяются друг от друга точкой с запятой (;).

    Например, если cFileExtensions содержит "Text:TXT", описание файла "Text" будет выведено в текстбоксе "Тип файлов" диалогового окна "Open" и будут показаны все файлы с расширением .txt.

    Если cFileExtensions определен как "Tables:DBF; Files:TXT,BAK" описание файла "Tables" будет выведено в текстбоксе "Тип файлов" диалогового окна "Open" и оба эти описания "Tables" и "Files" помещаются в выпадающем списке "Тип файлов". В дальнейшем, в зависимости от выбора "Tables" или "Files" из выпадающего списка "Тип файлов", будут отображаться либо файлы с расширением .dbf, либо .txt и .bak соответственно.

cFileNameCaption

Задает текст, который используется в качестве приглашения пользователю для ввода имени файла слева от текстбокса в диалоговом окне "Open". Если этот параметр опущен, будет выведено "Имя файла:".

Список расширений имен файлов Visual FoxPro и соответствующих типов создающих их приложений смотрите в разделе Расширения имен файлов и типы файлов

Возвращаемое значение

Character

Замечания

Диалоговое окно "Open" отображается в случае, когда файл не удалось найти в каталоге или папке, используемым по умолчанию, в каталогах или папках пути Visual FoxPro или в точно указанном месте. Диалоговое окно "Open" может использоваться для определения местонахождение файла. Когда в диалоговом окне "Open" выбирается файл, его имя возвращается вместе с путем к нему.

Если выйти из диалогового окна "Open", нажав кнопку Cancel или клавишу Esc, или кнопку Close в правом верхнем углу окна, или выбрав пункт "Закрыть Alt+F4" из меню управления окном, Visual FoxPro сгенерирует сообщение об ошибке, а функция LOCFILE( ) не возвратит никакого значения.

Смотрите также

Прочие ресурсы

Команда SET PATH
Функции
Функция FILE( )
Функция GETFILE( )
Функция GETPICT( )
Функция PUTFILE( )

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


LOCK( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция LOCK( )
Смотрите также Пример
CollapseAll image

Пытается блокировать одну или несколько записей в таблице.

LOCK([nWorkArea | cTableAlias]|
 [cRecordNumberList, nWorkArea | cTableAlias])

Параметры

nWorkArea| cTableAlias

Пытается блокировать текущую запись в таблице, открытой в данной рабочей области. nWorkArea задает номер рабочей области, а cTableAlias - псевдоним таблицы. Если рабочая область и псевдоним не заданы, функция LOCK( ) пытается блокировать текущую запись таблицы, находящейся в текущей рабочей области.

cRecordNumberList

Определяет список из одного или болие числа записей которые вы должны включить чтобы попытаться блокировать групу записей. При этом установка SET MULTILOCKS должна иметь значение ON и необходимо задать рабочую область или псевдоним таблицы, в которой вы пытаетесь заблокировать группу записей.

Функция LOCK( ) пытается блокировать сразу все заданные записи. Номера записей в списке cRecordNumberList должны разделяться запятыми. Например, чтобы установить блокировку для первых четырех записей в таблице, список cRecordNumberList должен содержать 1,2,3,4.

Вы также можете заблокировать группу записей установив указатель записи на той записи, которую вы намерены заблокировать, и выдав функцию LOCK( ) или RLOCK( ), а затем повторите эти действия для всех остальных записей.

В Visual FoxPro в качестве номера записи можно задать 0. Это позволяет блокировать заголовок таблицы.

Note Note

Заголовок таблицы следует оставлять заблокированным в течение как можно более короткого интервала времени, так как остальные пользователи на этот период лишаются возможности добавлять записи в таблицу.

Заголовок таблицы освобождается по команде UNLOCK RECORD 0, UNLOCK или UNLOCK ALL.

Если удалось успешно заблокировать все записи, заданные в списке cRecordNumbers , функция LOCK( ) возвращает значение "истина" (.T.). Если хотя бы одна запись из списка cRecordNumbers не может быть заблокирована, LOCK( ) возвращает значение "ложь" (.F.) и ни одна из этих записей не остается заблокированной. Однако все установленные до этого блокировки записей сохраняются. Блокировка группы записей представляет собой аддитивный процесс. Установка блокировки на какие-либо записи не снимает блокировку с других записей.

Максимальное число записей, которые можно блокировать в каждой из рабочих областей, приблизительно составляет 8,000. Но всегда быстрее блокировать всю таблицу целиком, чем группу записей, даже если их всего лишь несколько.

Expand image Возвращаемое значение

Logical

Expand image Примечания

Функция LOCK( ) идентична функции RLOCK( ).

Изменения в явно блокированных записях не сохраняются, пока запись не будет разблокирована или указатель записи перемещен.

Если блокировка или блокировки успешно установлены, LOCK( ) возвращает значение "истина" (.T.). Пользователю, установившему блокировку, блокированные записи остаются доступными для чтения и записи; всем остальным пользователям сети они доступны только для чтения.

Выполнение функции LOCK( ) не гарантирует успешную установку блокировки записей. Нельзя блокировать запись, которую уже заблокировал другой пользователь или которая находится в таблице, блокированной другим пользователем. Если одна или несколько записей не могут быть блокированы по той или иной причине, LOCK( ) возвращает значение "ложь" (.F.).

По умолчанию функция LOCK( ) предпринимает только одну попытку заблокировать запись. становка SET REPROCESS позволяет задать автоматическое повторение блокирования записи, если первая попытка оказывается неудачной. Эта установка определяет число попыток блокировки или интервал, в течение которого эти попытки следует повторять при неудачной первой попытке. Для получения дополнительной информации, смотрите SET REPROCESS.

Команда SET MULTILOCKS определяет, можно ли блокировать группу записей в таблице. Если установка SET MULTILOCKS имеет значение OFF (по умолчанию), вы можете блокировать только одну запись в таблице. Если действует SET MULTILOCKS ON, вы можете блокировать сразу несколько записей в таблице. Для получения дополнительной информации, смотрите SET MULTILOCKS.

Снятие блокировки с записей Снять блокировку с табличной записи может только пользователь, установивший эту блокировку. Освободить запись можно командой UNLOCK, закрыв таблицу или выйдя из Visual FoxPro.

С помощью команды UNLOCK можно освободить записи в текущей рабочей области, в другой конкретной рабочей области или во всех рабочих областях. Для получения дополнительной информации, смотрите UNLOCK.

При переключении установки SET MULTILOCKS со значения ON на OFF или наоборот неявно выполняется команда UNLOCK ALL ѕ снимается блокировка со всех записей во всех рабочих областях.

Таблицы можно закрывать с помощью команд USE, CLEAR ALL или CLOSE DATABASES.

Подробнее о блокировке записей и файлов и о совместном использовании таблиц в сети, смотрите Программирование для распределенного доступа.

Expand image Пример

В следующем примере блокируются первые четыре записи в таблицах customer и employee, а затем блокировка снимается.
CopyCode image Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
SET REPROCESS TO 3 AUTOMATIC
STORE '1,2,3,4' TO gcRecList
gcOldExc = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SELECT 0
USE employee  && Open Employee table
SELECT 0
USE customer  && Open Customer table
? LOCK('1,2,3,4', 'customer')  && Lock 1st 4 records in customer
? RLOCK(gcRecList, 'employee')  && Lock 1st 4 records in employee
UNLOCK IN customer
UNLOCK IN employee
SET EXCLUSIVE &gcOldExc

Expand image Смотрите также

Справочное руководство

Команда CLEAR
Команда CLOSE
Функция FLOCK( )
Функция RLOCK( )
Команда SET MULTILOCKS
Команда SET REPROCESS
Команда UNLOCK
Команда USE
Функция ISFLOCKED( )
Функция ISRLOCKED( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


LOG( ) Function

Visual FoxPro 9.0 Описание Языка
LOG( ), функция
См. также Пример
CollapseAll image

Возвращает значение Натурального Логарифма (основание Е) для заданного числового выражения.

LOG(nExpression)

Параметры

nExpression

Определяет числоваое выражение, для которого функция LOG( ) возвращает некоторое число x, что выполняется следующее равенство e^x = nExpression. Выражение nExpression должно быть > 0.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Основание натурального логарифма является константа Е. Количество десятичных знаков, возвращаемых в результате выполнения данной функции, зависит от текущей установки команды SET DECIMALS.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? LOG(1)  && отображается 0.00
STORE EXP(2) TO gneSquare
? LOG(gneSquare)  && отображается 2.00

Expand image См. также

Описание

EXP( ), функция
LOG10( ), функция
SET DECIMALS, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


LOG10( ) Function

Visual FoxPro 9.0 Справочник Языка
LOG10 () Функция
См. Также Пример

Возвращает десятичный логарифм (по основанию 10) указанного числового выражения.

LOG10(nExpression)

Параметры

nExpression

Определяет числовое выражение, для которого LOG10( ) возвращает значение x в уравнении 10^ x = nExpression . nExpression должено быть больше чем 0.

Возвращаемое значение

Числовое

Замечания

Основание десятичного логарифма - 10. Количество десятичных знаков, возвращенных в результате вычисления, определено командой SET DECIMALS.

Пример

Скопировать код
CLEAR
? LOG10(10)  && Displays 1.00
STORE 100 TO gnBaseTen
? LOG10(gnBaseTen)  && Displays 2.00
? LOG10(gnBaseTen^2)  && Displays 4.00

См. Также

Другие Ресурсы

Функции
EXP( ) Функция
LOG( ) Функция
SET DECIMALS Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LOOKUP( ) Function

Visual FoxPro 9.0 Справочник Языка
LOOKUP () Функция
См. Также Пример

Ищет в таблице первую запись с полем, соответствующим указанному выражению.

LOOKUP(ReturnField, eSearchExpression, SearchedField [, cTagName])

Параметры

ReturnField

Определяет поле, содержание которого LOOKUP( ) возвращает в случае успешного поиска. Если поиск неудачен, LOOKUP( ) возвращает пустую символьную строку той же самой длины и типа данных как ReturnField.
eSearchExpression

Определяет выражение поиска. Выражение поиска - обычно является содержанием поля таблицы, или оно может соответствовать индексному выражению активного индекса или составного индексного тэга.
SearchedField

Определяет поле, в котором осуществлять поиск. Если таблица не имеет активного индекса, LOOKUP( ) исполняет последовательный поиск по полю, указанному в SearchedField. Если индексный файл или индексный тэг являются открытыми, и их индексное ключевое выражение соответствует полю поиска, которое Вы опредили, LOOKUP( ) использует индексный файл или индексный тэг, чтобы выполнить более быстрый поиск.
cTagName

Определяет имя составного индексного тэга для LOOKUP( ), чтобы использовать его в поиске. Поиск по Составному индексу - самый быстрый поиск, который может выполнить LOOKUP( ).

Возвращаемое значение

Символьное, Числовое, Денежное, С плавающей точкой, Целочисленное, Двойное, Даты, DateTime, или Логическое

Замечания

Если поиск успешен, LOOKUP( ) перемещает указатель на запись вхождения и возвращает содержание указанного поля в записи.

Если выражение поиска не найдено, LOOKUP( ) возвращает строку из пробелов той же длины и типа данных как ReturnField. Указатель записи устанавливается в конц файла.

Если LOOKUP( ) используется, чтобы искать в родительской таблице, указатели записи во всех связанных дочерних таблицах перемещаются к связанным записям.

Эта функция не может быть оптимизирована Оптимизацией Запросов Rushmore.

Пример

В следующем примере, LOOKUP( ) использует индексный тэг company для поиска первого вхождения строки "Эрнст Хандель". Если поиск успешен, LOOKUP( ) возвращает содержание поля contact и @ ... SAY отображает возвращаемое значение.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER company  && Open Customer table
CLEAR
@ 2,2 SAY LOOKUP(contact, 'Ernst Handel', company, 'company')

См. Также

Другие Ресурсы

Функции
FIND Команда
INDEX Команда
LOCATE Команда
SEEK Команда
SEEK( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LOWER( ) Function

Visual FoxPro 9.0 Описание Языка
LOWER( ), функция
См. также Пример
CollapseAll image

Возвращает заданное символьное выражение в нижнем регистре (малыми буквами).

LOWER(cExpression)

Параметры

cExpression

Определяет некоторое символьное выражение, которое должно быть преобразовано функцией LOWER( ).

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Функция LOWER( ) преобразует все заглавные буквы (A – Z, А,Б - Я) символьного выражения в прописные буквы (a – z, а,б -я). Все остальные символы в заданном символьном выражении остаются неизменными.

Expand image Пример

CopyCode image Копировать Код
STORE 'FOX' TO gcName
CLEAR
? LOWER(gcName)  && отображается fox

Expand image См. также

Описание

ISALPHA( ), функция
ISLOWER( ), функция
ISUPPER( ), функция
PROPER( ), функция
UPPER( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


LTRIM( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция LTRIM( )
Смотрите также Пример
CollapseAll image

Удаляет все ведущие пробелы или символы синтаксического анализа из указанного символьного выражения или все ведущие нулевые байты указанного двоичного выражения.

LTRIM(Expression [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

Параметры

Expression

Определяет выражение типа Character или Varbinary, из которого будут удалены ведущие пробелы или нулевые байты соответственно.

nFlags

Определяет, будет ли приниматься во внимание регистр символов при их удалении, если используются один или более символов синтаксического анализа cParseChar, cParseChar2, … . Регистр имеет значение, если nFlags равен нулю или опущен. Функция нечувствительна к регистру при nFlags=1.

cParseChar [, cParseChar2 [, ...]]

Определяет одну или более символьных строк, которые будут удаляться из выражения cExpression начиная с левого края. Если выражение cParseChar опущено, то из выражения Expression будут удаляться ведущие пробелы или ведущие нулевые байты.

Примечание Максимальная длина строки cParseChar - 23 символа.

Expand image Возвращаемое значение

Character или Varbinary. Функция LTRIM( ) возвращает указанное выражение без ведущих пробелов, ведущих символов синтаксического анализа или нулевых байтов.

Expand image Замечания

Функция LTRIM( ) особенно полезна для удаления начальных пробелов, вставляемых функцией STR( ) при преобразовании числового выражения в символьную строку.

Expand image Пример

CopyCode image Скопировать код
STORE 'Redmond' TO gcCity
STORE '   Washington' TO gcState
CLEAR
? gcCity, gcState  && Displays Redmond   Washington
? gcCity, LTRIM(gcState)  && Displays Redmond Washington

Expand image Смотрите также

Справочное руководство

ALLTRIM( ), функция
RTRIM( ), функция
STR( ), функция
TRIM( ), функция

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


LUPDATE( ) Function

Visual FoxPro 9.0 Справочник Языка
LUPDATE () Функция
См. Также Пример

Возвращает дату последняя модификации таблицы.

LUPDATE([nWorkArea | cTableAlias])

Параметры

nWorkArea | cTableAlias

Возвращает последнюю модификацию таблицы, открытой в другой рабочей области. nWorkArea определяет номер рабочей области и cTableAlias определяет псевдоним таблицы. LUPDATE( ) возвращает дату последней модификации таблицы в текущей рабочей области, если Вы опускаете nWorkArea и cTableAlias . Если нет открытых таблиц в той рабочей области, которую Вы определяете, LUPDATE( ) возвращает пустую дату. Если нет таблиц имеющих псевдоним, который Вы определяете, Visual FoxPro генерирует сообщение об ошибке.

Возвращаемое значение

Дата

Замечания

Эта функция полезна в процедурах модификации.

LUPDATE( ) запрашивает Windows определить дату последней модификации таблицы. Тем не менее, последние две цифры года, когда таблица была модифицирована в последний раз, хранятся в заголовке таблицы.

Пример

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Open Customer table
CLEAR
? LUPDATE( )  && Displays date of last update

См. Также

Другие Ресурсы

Функции
DIR Команда
FDATE( ) Функция
FTIME( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MAKETRANSACTABLE( ) Function

Visual FoxPro 9.0 Описание Языка
MAKETRANSACTABLE( ), функция
См. также
CollapseAll image

Включает механизм поддержки Транзакций для свободных Таблиц или свободных Курсоров.

MAKETRANSACTABLE([nWorkArea | cAlias])

Параметры

nWorkArea

Определяет Рабочую область, для которой включается механизм поддержки Транзакций.

cAlias

Определяет Алиас свободной таблицы или курсора, для которых включается механизм поддержки Транзакций.

Expand image Возвращаемое значение

Логического типа. Возвращает значение = true (.T.), если функция MAKETRANSACTABLE( ) успешно включила механизм поддержки Транзакций для свободной таблицы или курсора; в противном случае - возвращается значение = false (.F.).

Expand image Комментарии

Таблица является Свободной, если она не прикреплена к Базе Данных с помощью команды ADD TABLE. Курсор является Свободным, если он создан из Свободной таблицы или с помощью команды CREATE CURSOR - SQL.

Когда с помощью рассматриваемой функции MAKETRANSACTABLE( ) выполняется успешное включение механизма поддержки Транзакций, вы можете использовать команды BEGIN TRANSACTION, END TRANSACTION, или ROLLBACK для указанных Свободных таблиц и курсоров. Для проверки активности механизма поддержки Транзакций для свободных таблиц или курсоров рекомендуется использовать функцию ISTRANSACTABLE( ).

Note Примечание

Когда функция MAKETRANSACTABLE( ) используется для включения механизма поддержки Транзакций для Свободных таблиц или курсоров, данный режим распространяется на все вновь открываемые таблицы или курсоры во всех рабочих областях. Функция MAKETRANSACTABLE( ) распространяет свое действие на все вновь открываемые таблицы или курсоры, включая открываемые таблицы в других Сессиях данных, в рамках текущего экземпляра запущенной системы VFP.

Если для свободной таблицы не поддерживается механизм Транзакций, а таблица открыта в нескольких Сессиях данных, то для этой таблицы невозможно включить поддержку механизма Транзакций. Тем не менее, вы можете открыть таблицу в другой Сессии данных, в которой уже для этой таблицы включается механизм поддержки Транзакций.

Если активен режим Буферизации Записи для рассматриваемой таблицы, то перед включением механизма поддержки Транзакций для свободной таблицы, данные изменяемой записи будут записаны в исходный источник данных. Вы не можете использовать рассматриваемую функцию MAKETRANSACTABLE( ) для активации механизма Транзакций для свободных таблиц, у которых включен режим Табличной Буферизации.

Для отключения механизма поддержки Транзакций для свободной таблицы, вам нужно закрыть данную таблицу во всех Сессиях данных.

Expand image См. также

Описание

ISTRANSACTABLE( ), функция
BEGIN TRANSACTION, команда
END TRANSACTION, команда
ROLLBACK, команда

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MAX( ) Function

Visual FoxPro 9.0 Описание Языка
MAX( ), функция
См. также Пример
CollapseAll image

Обрабатывает заданные выражения и возвращает одно из них, которое имеет Максимальное значение.

MAX(eExpression1, eExpression2 [, eExpression3 ...])

Параметры

eExpression1, eExpression2[, eExpression3...]

Определяет список тестируемых выражений функцией MAX( ), для определения максивального. Все выражения должны быть одного типа данных.

Expand image Возвращаемое значение

Символьное, Числовое, Денежное, Двойное, Float, Дата, или дата-время

Expand image Пример

В следующем примере с помощью команды APPEND BLANK создается 10 записей в таблице, содержащих случайные значения, за тем, с помощью функций MIN( ) и MAX( ) определяется соответственно минимальное и максимальное значение в таблице.

CopyCode image Копировать Код
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10  && Append 10 records,
   APPEND BLANK
   REPLACE cValue WITH 1 + 100 * RAND( )  && Заполняем случайным значением
ENDFOR

CLEAR
LIST  && Display the values
gnMaximum = 1  && инициализация минимального значения
gnMinimum = 100  && инициализация максимального значения
SCAN
   gnMinimum = MIN(gnMinimum, cValue)
   gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'The minimum value is: ', gnMinimum  && отображается Максимум
? 'The maximum value is: ', gnMaximum  && отображается Минимум

Expand image См. также

Описание

CALCULATE, команда
MIN( ), функция
SELECT - SQL, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


MCOL( ) Function

Visual FoxPro 9.0 Справочник Языка
MCOL () Функция
См. Также

Возвращает позицию столбца указателя мыши в главном окне Visual FoxPro или определяемом пользователем окне или форме.

MCOL([cWindowName | 0 [, nScaleMode]])

Параметры

cWindowName

Определяет имя окна или формы, чьи позиции столбца указателя мыши возвращает функция MCOL( ) .
0

Определяет, что позиция столбца указателя возвращена для, в настоящее время активного, окна или формы.
nScaleMode

Определяет единицу измерения для возвращаемого MCOL( ) значения. Следующая таблица перечисляет параметры настройки для nScaleMode .

nScaleMode Описание

0

Foxels. foxel эквивалентен средней высоте и ширине символа, основанного на текущем шрифте формы, в которой расположен объект. (Значение по умолчанию)

3

Пиксели. Пиксель - наименьший элемент, который может быть отображен на экране или принтере. Пиксели экранно-зависимы.

Возвращаемое значение

Числовое. MCOL( ) возвращает позицию столбца указателя в главном окне Visual FoxPro, определяемом пользователем окне, или форме.

Если Вы опускаете cWindowName , и нет никакого активного определяемого пользователем окна или формы, MCOL( ) возвращает позицию столбца указателя в главном окне Visual FoxPro. Если Вы опускаете cWindowName , и имеется активное определяемое пользователем окно или форма, MCOL( ) возвращает позицию столбца указателя в активном определяемом пользователем окне или форме. MCOL( ) возвращения -1, если указатель установлен вне определяемого пользователем окна или формы, если отсутствует драйвер мыши, или отсутствует окно вывода.

Замечания

Использование функции MCOL( ) без дополнительного параметра 0 может повлиять на выполнение кода в формах, когда Свойство формы AllowOutput установленно в ложь (.F).. Например, размещение быстрого меню, которое определено в событии RightClick может не отобразиться в надлежащем месте, если Вы используете функции MCOL( ) и MROW( ) , чтобы определить место отображения меню. В этом случае, убедитесь, что включили 0 в функциях MCOL( ) и MROW( ) .

См. Также

Другие Ресурсы

Функции
AMOUSEOBJ( ) Функция
COL( ) Функция
GridHitTest Метод
INKEY( ) Функция
ISMOUSE( ) Функция
MROW( ) Функция
ROW( ) Функция
WCOLS( ) Функция
WROWS( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MDX( ) Function

Visual FoxPro 9.0 Справочник Языка
MDX () Функция
См. Также

Возвращает имя открытого составного индексного файла .cdx, который имеет указанную индексную позицию.

MDX(nIndexNumber [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Определяет, какое имя составного индексного файла вернуть. Если таблица имеет структурный составной индексный файл и nIndexNumber равно 1, возвращается имя структурного составного индексного файла (которое является всегда таким же, как имя таблицы). Если nIndexNumber равен 2, возвращается имя первого составного индексного файла, указанного с помощью USE или SET INDEX. Если nIndexNumber равен 3, возвращается второе имя составного индексного файла, и так далее. Если nIndexNumber больше чем количество открытых составных индексных файлов, возвращается пустая строка. Если таблица не имеет структурного составного индексного файла и nIndexNumber равен 1, возвращается имя первого составного индексного файла, указанного с помощью USE или SET INDEX. Если nIndexNumber равен 2, возвращается второе имя составного индексного файла, и так далее. Если nIndexNumber больше чем количество открытых составных индексных файлов, возвращается пустая строка.
nWorkArea

Определяет номер рабочей области для составных индексных файлов, открытых в рабочих областях кроме текущей. Если Вы опускаете этот дополнительный параметр, возвращаются имена составных индексных файлов для текущей рабочей области.
cTableAlias

Определяет псевдоним таблицы для составных индексных файлов, открытых в рабочих областях кроме текущей. Если Вы опускаете этот дополнительный параметр, возвращаются имена составных индексных файлов для текущей рабочей области.

Возвращаемое значение

Символьное

Замечания

MDX( ) идентичена CDX( ).

Индексные файлы могут быть открыты для таблицы с помощью предложения INDEX команды USE или с помощью SET INDEX. Структурный составной индексный файл автоматически открывается вместе с его таблицей. MDX( ) игнорирует любые индексные файлы .idx, указанные с помощью USE или с помощью SET INDEX.

Используйте TAG( ), чтобы возвратить имя тэга из составного индексного файла; используйте NDX( ), чтобы возвратить имя индексного файла open.idx .

В Visual FoxPro для Windows, когда SET FULLPATH - ON, MDX( ) возвращает путь к .cdx файлу вместе с именем файла .cdx. Когда SET FULLPATH - OFF, MDX( ) возвращает имя диска, на котором .cdx файл постоянно находится, вместе с именем файла .cdx.

См. Также

Другие Ресурсы

Функции
CDX( ) Функция
INDEX Команда
NDX( ) Функция
SET INDEX Команда
SET FULLPATH Команда
SYS(14) - Индексное Выражение
TAG( ) Функция
USE Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MDY( ) Function

Visual FoxPro 9.0 Описание Языка
MDY( ), функция
См. также Пример
CollapseAll image

Возвращает заданное выражение типа date или datetime в следующем формате: месяц день, год, где месяц задается буквами (словом) .

MDY(dExpression | tExpression)

Параметры

dExpression

Определяет выражение типа Date, которое возвращается в формате месяц день, год (месяц ДД, ГГГГ).

tExpression

Определяет выражение типа DateTime, которое возвращается в формате месяц день, год (месяц ДД, ГГГГ).

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Если действует установка SET CENTURY = OFF, то формат вывода преобразуется в вид: месяц ДД, ГГ. Если установлено SET CENTURY = ON, то действует формат:месяц ДД, ГГГГ.

Expand image Пример

В следующем примере создается пользовательская функция, которая возвращает дату вместе с днем недели.

CopyCode image Копировать Код
SET CENTURY OFF

CLEAR
? Longdate({^1998-02-16})  && отображается: Понедельник, Февраль 16, 98

SET CENTURY ON
? Longdate({^1998-02-16})  && отображается Понедельник, Февраль 16, 1998

*** LongDate ***

FUNCTION longdate
PARAMETERS gdDate
RETURN CDOW(gdDate) + ', ' + MDY(gdDate)

Expand image См. также

Описание

DMY( ), функция
SET CENTURY, команда
SET DATE, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


MEMLINES( ) Function

Visual FoxPro 9.0 Описание Языка
MEMLINES( ), функция
См. также Пример
CollapseAll image

Возвращает количество строк текста в Полях типа Memo, или в символьных строках.

MEMLINES(MemoFieldName)

Параметры

MemoFieldName

Определяет имя Поля типа Memo. Если данное поле открыто не в текущей рабочей области, то можно указывать полное имя рассматриываемого объекта: например, как Alias.Field

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Количество текстовых строк в заданном Поле типа Memo существенно зависит от текущей установки команды SET MEMOWIDTH.

Expand image Пример

В представленном ниже примере: обрабатываются (сканируются) некоторые записи из таблицы employee; с помощью функции MEMLINES( ) определяется, есть ли текст в соответствующих полях записей notes, и сколько строк текста в них имеется, для того, чтобы определить момент Прогона Страницы (Eject). Выводится значение поля Last_name вместе с соответствующими Примечаниями (если они есть), или выводится соответствующий комментарий: что примечаний Нет.

CopyCode image Копировать Код
CLOSE DATABASES
CLEAR
SET TALK OFF
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee && Open Employee table

SET MEMOWIDTH TO 65
gnLine = 1
GOTO 2
SCAN NEXT 3
 gnMemoSize = MEMLINES(notes)
 IF gnMemoSize = 0
 STORE .T. TO glNoMemo
 STORE 1 TO gnMemoSize
 ELSE
 STORE .F. TO glNoMemo
 ENDIF
 IF gnLine + gnMemoSize > 65
 EJECT
 gnLine = 1
 ENDIF
 @ gnLine,2 SAY 'Last Name: '+ last_name
 gnLine = gnLine +1
 @ gnLine ,2 SAY 'Notes: '
 ?? IIF(glNoMemo, 'No notes ',notes)
 gnLine = gnLine + gnMemoSize + 2
 IF gnLine > 24
 gnLine = 1
 CLEAR
 ENDIF
ENDSCAN

Expand image См. также

Описание

_MLINE, системная переменная
ALINES( ), функция
ATCLINE( ), функция
ATLINE( ), функция
COPY MEMO, команда
MLINE( ), функция
MODIFY MEMO, команда
SCATTER, команда
SET MEMOWIDTH, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MEMORY( ) Function

Visual FoxPro 9.0 Описание Языка
MEMORY( ), функция
См. также
CollapseAll image

Возвращает общий размер доступной памяти, для запуска внешнего приложения.

MEMORY( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

В системе Visual FoxPro (Windows), функция MEMORY( ) всегда возвращает значение = 640.

Функция MEMORY( ) аналогична SYS(12), со следующими исключениями:

  • MEMORY( ) возвращает общий доступный размер памяти, в Килобайтах; SYS(12) - в байтах.

  • MEMORY( ) возвращает числовое выражение. SYS(12) - символьное.

Expand image См. также

Описание

SYS(12) - доступная память, в байтах
SYS(1001) - память системы Visual FoxPro

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MENU( ) Function

Visual FoxPro 9.0 Справочник Языка
MENU () Функция
См. Также Пример

Возвращает имя активной строки меню в виде символьной строка верхнего регистра.

MENU( )

Возвращаемое значение

Символьное

Замечания

MENU( ) возвращает пустую строку, если никакое меню не активно. Используйте Проектировщик Меню для создания меню и его активирования.

Пример

Следующий пример использует MENU( ) для передачи имени строки меню в процедуру. Текущая полоса системного меню сохранена в памяти через SET SYSMENU SAVE , и все заголовки системного меню удалены командой SET SYSMENU TO .

Несколько заголовков системного меню созданы с помощью DEFINE PAD . Когда Вы выбираете заголовок меню, MENU( ) передает имя полосы системного меню Microsoft Visual FoxPro, _MSYSMENU, в процедуру выбора. Процедура выбора выводит имя заголовка меню, который Вы выбрали и имя полосы системного меню. Если Вы выбираете меню Exit, первоначальное системное меню Visual FoxPro восстанавливается.

Скопировать код
*** Save this program as MENUEXAM.PRG in the default VFP directory.***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD padSys OF _MSYSMENU PROMPT '\<System' COLOR SCHEME 3 ;
   KEY ALT+S, ''
DEFINE PAD padEdit OF _MSYSMENU PROMPT '\<Edit' COLOR SCHEME 3 ;
   KEY ALT+E, ''
DEFINE PAD padRecord OF _MSYSMENU PROMPT '\<Record' COLOR SCHEME 3 ;
   KEY ALT+R, ''
DEFINE PAD padWindow OF _MSYSMENU PROMPT '\<Window' COLOR SCHEME 3 ;
   KEY ALT+W, ''
DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re\<ports' COLOR SCHEME 3 KEY ALT+P, ''
DEFINE PAD padExit OF _MSYSMENU PROMPT 'E\<xit' COLOR SCHEME 3 ;
   KEY ALT+X, ''
ON SELECTION MENU _MSYSMENU ;
   DO choice IN menuexam WITH PAD(), MENU()
PROCEDURE choice
PARAMETER gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
   ' from menu ' + gcMenu NOWAIT
IF gcPad = 'PADEXIT'
   SET SYSMENU TO DEFAULT
ENDIF

См. Также

Другие Ресурсы

Функции
ACTIVATE MENU Команда
CREATE MENU Команда
DEFINE MENU Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MESSAGE( ) Function

Visual FoxPro 9.0 Описание Языка
MESSAGE( ), функция
См. также Пример
CollapseAll image

Возвращает текст Сообщения об Ошибке или номер строки программного модуля, в которой произошла текущая Ошибка.

MESSAGE([1])

Параметры

[1]

Определяет возврат строки команды программного модуля, в которой произошла ошибка, при условии, что функция MESSAGE( ) включена в модуль обработки ошибок, указанный в команде ON ERROR, и исходный текст программного модуля доступен в настоящий момент.

Note Примечание

MESSAGE(1) - недоступна в режиме выполнения программы RunTime.

Если исходный программный код является недоступным в настоящий момент, MESSAGE(1) возвращает одно из следующего:

  • Полную программную строку, если в данной строке имеется Макро-Подстановка (&...).

  • Системную Команду, если не заданы необходимые параметры, опции, секции этой команды.

  • Системную Команду и многоточие (...), если текущая строка программного модуля содержит данную команду и опциональные параметры.

Expand image Возвращаемое значение

Символьного типа (Character). MESSAGE( ) возвращает Сообщение об Ошибке или текст программной строки, в которой произошла ошибка.

Expand image Комментарии

В отличие от функции ERROR( ), функция MESSAGE( ) не очищается по командам RETURN или RETRY.

Expand image Пример

В следующем далее примере демонстрируется использование функции MESSAGE( ).

CopyCode image Копировать Код
ON ERROR DO Errhand
*** The next line should generate an error ***
USE Nodatabase
ON ERROR && Restore system error handler.
PROCEDURE Errhand
? 'Line of code with error: ' + MESSAGE(1)
? 'Error number: ' + STR(ERROR( ))
? 'Error message: ' + MESSAGE( )

Expand image См. также

Описание

ERROR, команда
ERROR( ), функция
ON ERROR, команда
AERROR( ), функция
Сообщения об Ошибках, список по-наименованиям
Сообщения об Ошибках, список по-номерам

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MESSAGEBOX( ) Function

Visual FoxPro 9.0 Справочник Языка
MESSAGEBOX () Функция
См. Также Пример

Отображает определяемое пользователем диалоговое окно.

MESSAGEBOX(eMessageText [, nDialogBoxType ][, cTitleBarText][, nTimeout])

Параметры

eMessageText

Определяет текст, который появляется в диалоговом окне. Вы можете также определить любую допустимую функцию Visual FoxPro, объект, или тип данных вместо eMessageText . Максимальная длина текста, который Вы можете определить составляет 1024 символов.
Обратите внимание:
Visual FoxPro конвертирует объектные ссылки в строку, " (Object) ". Если Вы определяете функцию, которая возвращает несимвольное значение, Visual FoxPro автоматически использует функцию TRANSFORM( ) , чтобы обеспечить её эквивалент в символьном виде. В следующем примере, символьное значение даты возвращается и передается в MESSAGEBOX () :

Скопировать код
MESSAGEBOX(DATE())
Совет:
Для перемещать части сообщения на следующую строку в диалоговом окне, используйте символ перевода каретки, CHR(13), в eMessageText . Высота и ширина диалогового окна увеличиваются так чтобы поместилось eMessageText .

nDialogBoxType

Определяет кнопки и иконки, которые появляются в диалоговом окне, кнопки по умолчанию при выводе диалогового окна, и поведение диалогового окна. В следующих таблицах, определены значения 0 - 5 для описания кнопок, которые появляются в диалоговом окне. Значения иконки 16, 32, 48, и 64 определяют иконку, которая появляется в диалоговом окне. Значения по умолчанию 0, 256, и 512 определяют, какая кнопка в диалоговом окне является кнопкой, получающей фокус по умолчанию. При отображении диалогового окна, фокус получает эта кнопка. Отсутствие nDialogBoxType является идентичным определению значения 0 для nDialogBoxType .

Значение Кнопки диалогового окна

0

Только кнопка OK

1

Кнопки OK И CANCEL

2

Кнопки Abort, Retry, и Ignore

3

Кнопки Yes, No, и Cancel

4

Кнопки Yes и No

5

Кнопки Retry и Cancel

Значение Значок

16

Знак останова

32

Вопросительный знак

48

Восклицательный знак

64

Значок Информации (i)

Значение Основная кнопка

0

Первая кнопка

256

Вторая кнопка

512

Третья кнопка

nDialogBoxType может быть суммой трех значений, одно значение из каждой предыдущей таблицы. Например, если nDialogBoxType равно 290 (2+32+256), то указанное диалоговое окно имеет следующие характеристики:
  • Abort, Retry, and Ignore buttons.

  • Окно сообщения отображает вопросительный знак.

  • Кнопка Retry получает фокус по умолчанию.

Дополнительная информация о константах доступна в файле FoxPro.h, расположенном в основном каталоге Visual FoxPro. Использование определяемых констант типа MB_ABORTRETRYIGNORE + MB_ICONQUESTION + MB_DEFBUTTON2 может быть более читаемо чем 2 + 32 + 256.
Обратите внимание:
Вопросительный знак использовать больше не рекомендуется, потому что он не отражает определенный тип сообщения и потому что формулирование сообщения в виде вопроса может быть отнесено к любому типу сообщения. Кроме того, пользователи могут путать вопросительный знак со Справочной информацией. Поэтому, не рекомендуют использовать символ вопросительного знака в ваших окнах сообщения. Система продолжает поддерживать его только для обратной совместимости.

cTitleBarText

Определяет текст, который появляется в области заголовка диалогового окна. Если Вы опускаете cTitleBarText , то заголовком является "Visual FoxPro Microsoft".
nTimeout

Определяет количество миллисекунд в течение которых Visual FoxPro выводит eMessageText не учитывая ввода с клавиатуры или мыши перед очисткой eMessageText . Вы можете определить любое допустимое значение задержки. Значение меньше чем 1 не вызывает задержки до тех пор пока пользователь не осуществит ввод и соответсвует отсутствию параметра nTimeout .

Возвращаемое значение

Числовой тип данных. MESSAGEBOX( ) возвращает значение, которое указывает, какая кнопка была выбрана в диалоговом окне. Следующая таблица перечисляет значения, которые MESSAGEBOX( ) возвращает для каждой кнопки.

Возвращаемое значение | Кнопка
1 | OK
2 | Cancel
3 | Abort
4 | Retry
5 | Ignore
6 | Yes
7 | No

В диалоговых окнах с кнопкой Cancel, выбор клавиши ESC для выхода из диалогового окна, возвращает то же самое значение (2) как выбор Cancel.

MESSAGEBOX () возвращает значение -1, когда происходит задержка времени.

Замечания

Максимально сокращенный синтаксис для MESSAGEBOX () MESSAGEB( ) .

Функция MESSAGEBOX( ) использует smart параметры в том, что тип параметра определяетя исходя из того какой параметр используется. Первый параметр обязателен и - всегда представлен eMessageText . Однако, дополнительный второй параметр может быть nDialogBoxType если он имеет числовой тип или cTitleBarText если Символьный . Параметр nTimeout всегда учитывается вторым переданным дополнительным числовым параметром. Допустимые примеры включают:

Скопировать код
MESSAGEBOX("HELLO","MyTitle",68,6000)
MESSAGEBOX("HELLO",68,"MyTitle",6000)
MESSAGEBOX("HELLO",68,6000)
MESSAGEBOX("HELLO",68,6000,"MyTitle")

Пример

Следующий пример выводит определяемое пользователем диалоговое окно. Сообщение "Запись, не найденна. Хотели бы Вы найти снова? " отображено в качестве сообщения окна, а "Мое Приложение" отображена в области заголовка.

Определяемое пользователем диалоговое окно содержит кнопки Yes и No и иконку вопросительного знака, а вторая кнопка (No) получает фокус по умолчанию. Когда Вы выбираете одну из кнопок, отображается ваш выбор.

Скопировать код
eMessageTitle = 'My Application'
eMessageText = 'Record not found. Would you like to search again?'
nDialogType = 4 + 16 + 256
*  4 = Yes and No buttons
*  16 = Stop sign icon
*  256 = Second button is default
nAnswer = MESSAGEBOX(eMessageText, nDialogType, eMessageTitle)
DO CASE
   CASE nAnswer = 6
      WAIT WINDOW 'You chose Yes'
   CASE nAnswer = 7
      WAIT WINDOW 'You chose No'
ENDCASE

См. Также

Другие Ресурсы

Функции
WAIT Команда
DO CASE ... ENDCASE Команда
InputBox( ) Функция
TRANSFORM( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MIN( ) Function

Visual FoxPro 9.0 Описание Языка
MIN( ), функция
См. также Пример
CollapseAll image

Обрабатывает список заданных выражений и возвращает одно из них, имеющее Минимальное значение.

MIN(eExpression1, eExpression2 [, eExpression3 ...])

Параметры

eExpression1, eExpression2[, eExpression3...]

Определяет список выражений, для которых функция MIN( ) определяет минимальное. Все выражения должны быть одного типа данных.

Expand image Возвращаемое значение

Символьное, Числовое, Денежное, Двойное, Float, Дата, или Дата-Время

Expand image Пример

В следующем примере, с помощью команды APPEND BLANK создается десять записей со случайными значениями, после этого, с помощью функций MIN( ) и MAX( ) определяется соответственно минимальное и максимальное значение в таблице.

CopyCode image Копировать Код
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10  && Добавляем десять записей,
   APPEND BLANK
   REPLACE cValue WITH 1 + 100 * RAND( )  && Заполняем случайное значение
ENDFOR

CLEAR
LIST  && выводим список полученных записей
gnMaximum = 1  && задаем начальное минимальное значение
gnMinimum = 100  && задаем начальное максимальное значение
SCAN
   gnMinimum = MIN(gnMinimum, cValue)
   gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'The minimum value is: ', gnMinimum  && отображаем минимальное значение
? 'The maximum value is: ', gnMaximum  && отображаем максимальное значение

Expand image См. также

Описание

CALCULATE, команда
MAX( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


MINUTE( ) Function

Visual FoxPro 9.0 Описание Языка
MINUTE( ), функция
См. также Пример
CollapseAll image

Возвращает количество минут из заданного выражения типа DateTime.

MINUTE(tExpression)

Параметры

tExpression

Определяет выражение типа DateTime, из которого "извлекаются" минуты.

Expand image Возвращаемое значение

Числового типа

Expand image Пример

В следующем примере определяется количество минут от текущего времени (DateTime()).

CopyCode image Копировать Код
CLEAR
? MINUTE(DATETIME( ))
? MINUTE({^1998-02-16 10:42a})  && отображается 42

Expand image См. также

Описание

CTOT( ), функция
DATE( ), функция
DATETIME( ), функция
DTOT( ), функция
HOUR( ), функция
SEC( ), функция
SECONDS( ), функция
SET SECONDS, команда
TIME( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MLINE( ) Function

Visual FoxPro 9.0 Описание Языка
MLINE( ) Функция
См. также Пример
CollapseAll image

Возвращает заданную строку из поля типа Memo как строку символов.

Примечание Предупреждение

MLINE( ), в первую очередь - текстовая функция; следовательно, обработка двоичных данных может вызвать непредсказуемый результат. Например, MLINE( ) может вернуть различные результаты, в зависимости от установки команды SET MEMOWIDTH. MLINE( ) может неправильно интерпретировать двоичные данные (конец строки и прочее). Для обработки двоичных данных рекомендуется использовать функцию ALINES( ) .

MLINE(MemoFieldName, nLineNumber [, nNumberOfCharacters])

Параметры

MemoFieldName

Определяет поле таблицы типа memo, из которого MLINE( ) извлекает строку символов. Если поле memo находится в таблице, открытой не в текущей рабочей области, то имя поля указывается вместе с алиасом таблицы (как table.field).

nLineNumber

Определяет номер строки, которую нужно извлечь из поля memo. Если значение nLineNumber отрицательно, 0, или больше чем общее количество строк в поле memo, MLINE( ) возвращает пустую строку.

MLINE( ) удаляет концевые пробелы в возвращаемой строке символов, под номером nLineNumber.

nNumberOfCharacters

Определяет символов относительно начала поля memo, с которой ведется отчет при выборе строки символов.

Системная переменная _MLINE обычно используется для параметра nNumberOfCharacters. _MLINE автоматически изменяет свое значение после каждого вызова функции MLINE( ). При построении рекурсивных процедур обработки длинных полей memo рекомендуется использовать значение _MLINE в параметре nNumberOfCharacters. Для дополнительной информации см. также системная переменная _MLINE.

Expand image Возвращаемое Значение

Типа Character или Varbinary. MLINE( ) возвращает строку символов из поля типа Memo. Если функция MLINE( ) используется для обработки двоичных значений , таких как, Varbinary и Blob, то возвращаются данные типа Varbinary.

Expand image Комментарии

Длина и количество строк в поле типа memo определяется текущей установкой команды SET MEMOWIDTH (по-умолчанию, это значение = 50 символов). Если появляется символ "возврата коретки", то остальные символы не возвращаются в текущей строке. Текущая установка системной переменной _WRAP определяет вид отображения полей типа memo.

Для поиска символьной строки в поле типа memo используйте функции ATLINE( ) или ATCLINE( ), которые возвращают номер строки, где расположены искомые символы. По данному номеру функцией MLINE( ) извлекается необходимая строка из поля типа memo.

Expand image Пример

В следующем примере показаны два способа извлечения строку символов из поля типа memo. Двойной цикл использует функцию MLINE( ) для извлечения строки символов из поля типа memo. При чем, во втором случае, используется системная переменная _MLINE вместе с функцией MLINE( ).

CopyCode image Копировать Код
CLEAR
SET TALK OFF
SET MEMOWIDTH TO 50
CLOSE DATABASES
CREATE TABLE tmemo (name c(10), notes m)
APPEND BLANK                  && Add a record
WAIT WINDOW 'Filling memo field - takes several seconds' NOWAIT
*** Fill the memo field  ***
FOR gnOuterLoop = 1 TO 5         && loop 5 times
   FOR gnAlphabet = 65 TO 75   && letters A to H
      REPLACE notes WITH REPLICATE(CHR(gnAlphabet), 10) ;
         + CHR(13) ADDITIVE
   NEXT
NEXT

*** Display all lines from the memo field ***
STORE MEMLINES(notes) TO gnNumLines   && Number of lines in memo field
STORE SECONDS( ) TO gnBegin      && Beginning time
FOR gnCount = 1 TO gnNumLines   && Loop for # of lines in memo field
   ? MLINE(notes, gnCount)      && Display each line
NEXT
? STR(SECONDS( ) - gnBegin, 4, 2) + ' seconds'   && Total time

*** Preferable method using _MLINE in MLINE( ) ***
*** Display all lines from the memo field ***
WAIT 'Press a key to see the preferred method' WINDOW
CLEAR
STORE 0 TO _MLINE             && Reset _MLINE to zero
STORE SECONDS( ) TO gnBegin      && Beginning time
FOR count = 1 TO gnNumLines      && Loop for # of lines in memo field
   ? MLINE(notes, 1, _MLINE)      && Display each line
NEXT
? STR(SECONDS( ) - gnBegin, 4, 2) + ' seconds'   && Total time
SET TALK ON
CLOSE DATABASES
ERASE tmemo.dbf
ERASE tmemo.fpt

Expand image См. также

Описание

ALINES( ) Функция
ATCLINE( ) Функция
ATLINE( ) Функция
COPY MEMO Команда
MEMLINES( ) Функция
MODIFY MEMO Команда
SET MEMOWIDTH Команда
Системная переменная _WRAP

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


MOD( ) Function

Visual FoxPro 9.0 Описание Языка
MOD( ), функция
См. также Пример
CollapseAll image

Выполняет деление одного числового выражения на другое числовое выражение, и возвращает Остаток от Деления (деление по модулю).

MOD(nDividend, nDivisor)

Параметры

nDividend

Определяет Делимое. Количество десятичных знаков в данном параметре nDividend определяет количество десятичных знаков в результирующем значении.

nDivisor

Определяет Делитель. Возвращается положительное число, если данный параметр nDivisor - положительный, если параметр отрицательный, то возвращается отрицательное число.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Данная функция MOD( ) и системный оператор % возвращают одинаковые результаты.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? MOD(36,10)  && отображается остаток от деления = 6
? MOD((4*9), (90/9))  && отображается 6
? MOD(25.250,5.0)  && отображается 0.250
? IIF(MOD(YEAR(DATE( )), 4) = 0, 'Summer Olympics this year';
   , 'No Summer Olympics this year')

Expand image См. также

Описание

%, оператор (Visual FoxPro)

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MONTH( ) Function

Visual FoxPro 9.0 Описание Языка
MONTH( ) Функция
См. также Пример
CollapseAll image

Функция возвращает номер месяца для заданного выражения типа Date или DateTime.

MONTH(dExpression | tExpression)

Параметры

dExpression

Определяет выражение типа Date для которого функция MONTH( ) возвращает номер месяца.

tExpression

Определяет выражение типа DateTime для которого функция MONTH( ) возвращает номер месяца.

Expand image Возвращаемое Значение

Числовое

Expand image Комментарии

MONTH( ) возвращает число в диапазоне от 1 до 12. Январь - месяц с номером 1, декабрь - месяц с номером 12.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? DATE( )  && Displays today's date
? MONTH(DATE( ))  && Displays the month number
STORE {^1998-05-03} TO gdBuy
STORE MONTH(gdBuy + 31) TO gdMonth
? gdMonth  && Displays 6

Expand image См. также

Описание

CMONTH( ) Функция
DAY( ) Функция
QUARTER( ) Функция
YEAR( ) Функция

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


MRKBAR( ) Function

Visual FoxPro 9.0 Описание Языка
MRKBAR( ), функция
См. также
CollapseAll image

Определяет, является ли отмеченным пункт (элемент) пользовательского меню или системного меню Microsoft Visual FoxPro.

MRKBAR(cMenuName, nMenuItemNumber | cSystemMenuItemName)

Параметры

cMenuName

Определяет имя тестируемого меню, где расположен данный элемент. Данное меню может быть системным Visual FoxPro (например _MFILE, MEDIT, или _MDATA).

nMenuItemNumber

Определяет номер пункта пользовательского меню. Данный номер заздается при определении пункта меню с помощью команды DEFINE BAR.

cSystemMenuItemName

Определяет имя пункта системного меню Visual FoxPro. Например, в следующее команде отображается логическое значение для пункта New из системного меню File.

CopyCode image Копировать Код
? MRKBAR('_MFILE', _MFI_NEW)

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

Для отметки / ее снятия пункта меню используется команда SET MARK OF.

Если пункт меню отмечен, MRKBAR( ) возвращает значение = true (.T.); в другом случае возвращается значение = false (.F.).

Пример использования функции MRKBAR( ) см. в разделе CNTBAR( ).

Expand image См. также

Описание

MRKPAD( ), функция
SET MARK OF, команда
SET MARK TO, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


MRKPAD( ) Function

Visual FoxPro 9.0 Справочник Языка
MRKPAD () Функция
См. Также Пример

Определяет, помечен ли заголовок меню на определяемой пользователем строке меню или на полосе системного меню Visual FoxPro.

MRKPAD(cMenuBarName, cMenuTitleName)

Параметры

cMenuBarName

Определяет имя строки меню, содержащей заголовок меню.
cMenuTitleName

Определяет имя заголовка меню.

Возвращаемое значение

Логическое

Замечания

Используйте SET MARK OF, чтобы отметить или снять выделение заголовка меню.

Если указанный заголовок меню отмечен, MRKPAD( ) возвращает истину (.T.); иначе, MRKPAD( ) возвращает ложь (.F)..

Пример

Следующий программный пример MARKPAD.PRG, использует MRKPAD( ), чтобы переключать символ метки заголовка меню, когда Вы его выбираете.

Текущая полоса системного меню вначале сохраняется в памяти командой SET SYSMENU SAVE, и все пункты системного меню удаляются командой SET SYSMENU TO.

Несколько пунктов системного меню создаются командой DEFINE PAD. Когда Вы выбираете пункт меню, выполняется процедура choice . choice отображает имя пункта меню, который Вы выбрали и имя строки меню. SET MARK OF используется с MRKPAD( ), чтобы отобразить или удалить символ метки пункта меню. Если Вы выбираете меню Exit, первоначальное системное меню Visual FoxPro восстановливается.

Скопировать код
*** Name this program MARKPAD.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
SET MARK OF MENU _MSYSMENU TO CHR(4)
PUBLIC glMarkPad
glMarkPad = .T.
DEFINE PAD padSys OF _MSYSMENU PROMPT '\<System'  COLOR SCHEME 3 ;
   KEY ALT+S, ''
DEFINE PAD padEdit OF _MSYSMENU PROMPT '\<Edit'  COLOR SCHEME 3 ;
   KEY ALT+E, ''
DEFINE PAD padRecord OF _MSYSMENU PROMPT '\<Record'  COLOR SCHEME 3 ;
   KEY ALT+R, ''
DEFINE PAD padWindow OF _MSYSMENU PROMPT '\<Window'  COLOR SCHEME 3 KEY ALT+W, ''
DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re\<ports' COLOR SCHEME 3 ;
   KEY ALT+P, ''
DEFINE PAD padExit OF _MSYSMENU PROMPT 'E\<xit'  COLOR SCHEME 3 ;
   KEY ALT+X, ''
ON SELECTION MENU _MSYSMENU ;
   DO choice IN markpad WITH PAD( ), MENU( )
PROCEDURE choice
PARAMETER gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
   ' from menu ' + gcMenu NOWAIT
SET MARK OF PAD (gcPad) OF _MSYSMENU TO ;
   ! MRKPAD('_MSYSMENU', gcPad)
glMarkPad= ! glMarkPad
IF gcPad = 'PADEXIT'
   SET SYSMENU TO DEFAULT
ENDIF

См. Также

Другие Ресурсы

Функции
MRKBAR( ) Функция
SET MARK OF Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


MROW( ) Function

Visual FoxPro 9.0 Описание Языка
MROW( ) Function
См. также
CollapseAll image

Возвращает номер строки, в которой находится указатель мышки, относительно главного окна Visual FoxPro или пользовательского окна, или активной формы.

MROW([cWindowName | 0 [, nScaleMode]])

Параметры

cWindowName

Определяет имя пользовательского окна, для которого возвращается номер строки указателя (корсора) мышки.

0

Определяет, что позиция курсора мышки возвращается для активного окна или Формы

nScaleMode

Определяет единицы измерения, в которых функция MROW( ) возвращает позицию курсора мышки. Параметр nScaleMode может принимать следующие значения:

nScaleMode Описание

0

Foxels. (по-умолчанию)

Foxel - эквивалент средней высоты и ширины символа, определяемого текущими характеристиками шрифта окна или формы, или другого объекта, над которым размещен указатель мышки.

3

Pixels.

Pixel - наименьший элемент экрана рабочей станции или принтера; данная единица измерения зависит от текущего устройства отображения информации, его разрешающей способности.

Expand image Возвращаемое значение

Числового типаc. MROW( ) возвращает различные значения, в зависимости от следующих условий:

  • Если отсутствуют активные окна и формы, и не указаны параметры функции, то функция MROW( ) возвращает номер строки главного окна Visual FoxPro, где расположен указатель (курсор) мышки.

  • Если на экране имеется активное окно пользователя, и не указаны параметры функции, то функция MROW( ) возвращает позицию курсора относительно данного, активного окна.

  • Если курсор мышки находится за пределами пользовательского окна, или драйвер мышки не загружен, или нет окна вывода информации, то функция MROW( ) возвращает значение = -1.

Expand image Комментарии

Использование функции MROW( ), без дополнительного параметра 0, может иметь такой же эффект, как при установке значения свойства объекта Form AllowOutput = False (.F.). Например, точное размещение пользовательского, короткого меню (shortcut menu), определяемого обычно в событии RightClick, не может быть выполнено, при использовании функций MROW( ) и MCOL( ) . Для исправления данной ситуации укажите в этих функциях параметр 0 : как MROW(0) и MCOL(0) .

Expand image См. также

Описание

AMOUSEOBJ( ), функция
COL( ), функция
GridHitTest, метод
ISMOUSE( ), функция
MCOL( ), функция
ROW( ), функция
WCOLS( ), функция
WROWS( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MTON( ) Function

Visual FoxPro 9.0 Описание Языка
MTON( ), функция
См. также Пример
CollapseAll image

Возвращает числовое выражение из заданного выражения типа Currency (денежная единица). Money-to-Number.

MTON(mExpression)

Параметры

mExpression

Определяет выражение денежной единицы, для которого функция MTON( ) возвращает соответствующее числовое выражение. mExpression должно определять правильную денежную единицу (переменную типа Currency) для системы Visual FoxPro или генерируется Ошибка.

Значение переменной типа Currency задается оператором ($) (доллар), размещенным перед числовым выражением.

Expand image Возвращаемое значение

Числового типа. MTON( ) возвращает числовое выражение в десятичном формате (с десятичной точкой, с десятичными знаками).

Expand image Пример

В следующем примере, создается переменная с именем gyMoney. TYPE( ) отображает "Y", означающее, что тип данных currency. MTON( ) используется для преобразования данной переменной в числовой тип, опять при помощи функции TYPE( ) отображается "N", означающее, что теперь тип переменной - числовой (после проведенной конвертации, преобразовании).

CopyCode image Копировать Код
STORE $24.95 TO gyMoney  && создаем переменную типа currency
CLEAR
? "gyMoney типа : "
?? TYPE('gyMoney')  && отображается Y, обозначение типа данных currency

gyMoney = MTON(gyMoney)     &&  Преобразуем gyMoney в числовой тип
? "gyMoney теперь типа : "
?? TYPE('gyMoney')  && отображается N, обозначение числового типа данных

Expand image См. также

Описание

Тип Данных Currency
Тип Данных Numeric
NTOM( ), функция
TYPE( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


MWINDOW( ) Function

Visual FoxPro 9.0 Справочник Языка
MWINDOW () Функция
См. Также

Возвращает имя окна, поверх которого установлен указатель мыши.

MWINDOW([cWindowName])

Параметры

cWindowName

Определяет имя окна. Если указатель установлен поверх указанного окна, MWINDOW( ) возвращает истину (.T.); иначе, MWINDOW( ) возвращает ложь (.F)..

Возвращаемое значение

Символьное, Логическое

Замечания

Если Вы опускаете необязательное имя окна, MWINDOW( ) возвращает имя окна, поверх которого установлен указатель мыши, или пустую строку, если указатель установлен поверх главного окна Visual FoxPro или поверх любого другого окна, которое не является частью Visual FoxPro.

См. Также

Другие Ресурсы

Функции
MCOL( ) Функция
MDOWN( ) Функция
MROW( ) Функция
WONTOP( ) Функция
WOUTPUT( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


NDX( ) Function

Visual FoxPro 9.0 Описание Языка
NDX( ), функция
См. также
CollapseAll image

Возвращает имя открытого индексного файла типа (.IDX) для текущей или заданной Таблицы.

NDX(nIndexNumber [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Определяет порядковый номер открытого индексного файла (.idx), для которого нужно узнать имя. Основные команды: как USE так и SET INDEX поддерживают открытие нескольких индексных файлов типа (.idx), для некоторой таблицы данных. Данные команды определяют порядок имен в списке открытых индексных файлов, в котором рассматриваемая функция NDX( ) возвращает имена соответствующих индексных файлов. Например, если nIndexNumber =1, NDX( ) возвращает имя первого открытого индексного файла; если nIndexNumber = 2, NDX( ) возвращает имя второго открытого файла .idx, и так далее. Функция NDX( ) игнорирует имена упакованных индексных файлов типа (.cdx), которые также представлены в общем списке открытых индексных файлов рассмиатриваемой таблицы.

NDX( ) возвращает пустую строку, если значение параметра nIndexNumber больше чем количество открытых индексных файлов типа (.idx).

nWorkArea

Определяет номер Рабочей области, в которой открыта некоторая таблица, для которой требуется определить имя индексного файла типа .IDX. Функция NDX( ) возвращает пустую строку, если в указанной рабочей области нет открытой таблицы. Если данный параметр nWorkArea - отсутствует, функция NDX( ) возвращает имя соответствующего индексного файла типа (.idx), открытого для таблицы в текущей рабочей области.

cTableAlias

Определяет Алиас таблицы, для которой трубуется определить имя индексного файла типа (.idx), открытого в рабочей области, отличной от текущей рабочей области. Если задан алиас таблицы, которая еще не открыта, система Visual FoxPro генерирует сообщение об Ошибке. Если параметр cTableAlias отсутствует, функция NDX( ) возвращает имя индексного файла типа (.idx), открытого для таблицы в текущей Рабочей области.

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Комментарии

Функции CDX( ) и MDX( ) не могут быть использованы для определения Имен упакованных (compound) индексных файлов типа (.cdx).

В системе Visual FoxPro, для ОС Windows, когда включено SET FULLPATH = ON, функция NDX( ) возвращает полное имя соответствующего индексного файла типа (.idx). Когда выполняется SET FULLPATH = OFF, функция NDX( ) возвращает имя диска и имя соответствующего индексного файла типа (.idx).

Expand image См. также

Описание

CDX( ), функция
INDEX, команда
MDX( ), функция
SET FULLPATH, команда
SET INDEX, команда
SYS(14) - Выражение индекса
TAG( ), функция
USE, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


NEWOBJECT( ) Function

Visual FoxPro 9.0 Описание Языка
NEWOBJECT( ), функция
См. также
CollapseAll image

Создает новый экземпляр некоторого Класса или Объекта из соответствующей библиотеки классов, файл (.vcx), или из программного файла (.prg), без предварительного открытия данной библиотеки классов.

NEWOBJECT(cClassName [, cModule [, cInApplication | 0
[, eParameter1, eParameter2, ...]]])

Параметры

cClassName

Определяет имя класса или объекта, экземпляр которого требуется создать.

cModule

Определяет имя библиотеки визуальных классов, файл .vcx, или некоторый программный файл Visual FoxPro (.prg, .fxp, .mpr, .app, .exe, и другие), который может содержать описание требуемого Класса с именем cClassName. По-умолчанию, предполагается библиотека визуальных классов, файл с расширением = .vcx. Если вам необходимо указать программный файл, то вам нужно указать соответствующее расширение программного файла.

Note Примечание

Библиотека классов может содержать некоторый Алиас (псевдоним). Для указанания конкретного Класса из соответствующей библиотеки классов, при этом не указывая саму библиотеку, определяете имя класса как: "Library.Class", как ссылку на соответствующий объект.

По возможности, указывайте компилированный программный файл (.fxp), когда требуемый класс определен в соответствующем программном файле (.prg). Данная конструкция обеспечивает загрузку самых последних версий создаваемого класса.

Если указываемый модуль cModule - отсутствует, или передается пустая строка, или значение = Null, система Visual FoxPro выполняет поиск требуемого определения класса в следующем порядке:

  • Базовые Классы системы Visual FoxPro.

  • Классы, определенные в текущем программном модуле.

  • В библиотеках визуальных классов, открытых при помощи команды SET CLASSLIB.

  • Классы, описанные в процедурных файлах, открытых при помощи команды SET PROCEDURE.

  • Классы, описанные в программных модулях Visual FoxPro, выполняемых в настоящий момент.

  • Классы реестра OLE, если выполняется текущая установка SET OLEOBJECT = ON.

cInApplication

Определяет некоторое Приложение Visual FoxPro (.exe или .app), содержащее требуемую библиотеку классов (.vcx), содержащую указанный класс cModule. Вы болжны указать расширение программного приложения. Параметр cInApplication игнорируется, если параметр cModule отсутствует, или если cInApplication - есть пустая строка или значение = Null.

Если вы используете значение данного параметра cInApplication, в качестве библиотеки классов должен быть указан файл .vcx, для класса cModule. Вы не можете определять, в этом случае, некоторый программный класс .prg или соответствующий компилированный (.fxp).

0

Определяет, что при создании требуемого класса или объекта, не выполняются соответствующие События или Методы создаваемого экземпляра класса. Данная функциональность не поддерживается для приложений, выполняемых в режиме Run-Time.

Все соответствующие дочерние классы или объекты также инициализируются. Но соответствующие программные кода Событий и Методов - не выполняются.

Данная функциональность обеспечивает возможность просмотра Структуры создаваемого класса или объекта (например, при помощи AMEMBERS( ), функции), без открытия рассматриваемого объекта или класса в соответствующем Дизайнере Классов.

Примечание. При использовании данной функциональности, соответствующие программные коды Событий и Методов созданных классов не будут выполняться, что переводит систему Visual FoxPro в неустойчивое положение. Для выполнения указанных Свойств и методов вам требуется задавать значения специальным Свойствам, которые программируются методами: Access / Assign.

eParameter1, eParameter2, ...

Определяет список некоторых параметров, передаваемых в событие Init , создаваемого объекта или Класса.

Expand image Возвращаемое значение

Объект

Expand image Комментарии

Для доступа к ссылке на создаваемый рассматриваемой функцией объектNEWOBJECT( ) используется некоторая переменная или элемент массива, в который ссылка передается либо оператором присваивания (=) или с помощью команды STORE. При удалении создаваемого объекта или класса переменная или элемент массива, которые содержали объектную ссылку на данный объект, принимают значение = Null. Для полного удаления указанной переменной или элемента массива используйте соответствующую команду RELEASE.

Для текущего выполнения рассматриваемой функции NEWOBJECT( ), Visual FoxPro определяет внутреннее выполнение соответствующих команд SET CLASSLIB или SET PROCEDURE для однозначного определения второго и третьего параметров данной функции, при этом используется ключевая опция: ADDITIVE; библиотека классов или процедурный файл размещаются в начале списка соответствующих файлов. Если указывваемая библиотека имеется в списках библиотек или процедурных файлов, открытых при помощи команд SET CLASSLIB / SET PROCEDUREst, Visual FoxPro изменяет порядок поиска требуемого класса. После успешного поиска требуемого описания класса система Visual FoxPro создает требуемый объект, выполняет событие Init данного объекта. Наконец, восстанавливается начальная последовательность списков визуалных библиотек и процедурных файлов, действующая до выполнения рассматриваемой функции.

Соответствующие объекты OLE создаются при использовании следующего синтаксиса, для параметра cClassName:

CopyCode image Копировать Код
ApplicationName.Class

Например, для создания объекта Microsoft Excel worksheet, который поддерживает механизм OLE-Automation, используйте синтаксис:

CopyCode image Копировать Код
oExcelSheet = NEWOBJECT('Excel.Sheet')

Expand image См. также

Описание

CREATE CLASS, команда
CREATE CLASSLIB, команда
CREATEOBJECT( ), функция
DEFINE CLASS, команда
NewObject, метод

Концепции

Дизайнер Классов

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


NORMALIZE( ) Function

Visual FoxPro 9.0 Описание Языка
NORMALIZE( ), функция
См. также
CollapseAll image

Преобразует (конвертирует) символьное выражение, заданное Пользователем, в стандартную форму символьного выражения, однозначно обрабытываемую системой Visual FoxPro.

NORMALIZE(cExpression)

Параметры

cExpression

Определяет некоторое символьное выражение, которое должно быть Нормализовано (приведено к Стандартному виду).

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Комментарии

NORMALIZE( ) возвращает символьную строку, которая соответствует заданному символьному выражению cExpression, которое может быть конвертировано по следующим Правилам преобразования:

  • Символьное выражение преобразуется в Верхний регистр. Тем не именее, остальные, неключевые символы не преобразуются в верхний регистр (не изменяются). Например, исходное символьное выражение"left('Hello',1)" - преобразуется к следующему виду "LEFT('Hello',1)" (неключевое слово 'Hello' - не преобразуется).

  • Зарезервированные ключевые слова системы Visual FoxPro, заданные в виде аббревиатур (четырех символов), расширяются до полной своей длины (полное название команды, функции).

  • Допустимый оператор - разделитель алиаса Таблицы и имени Поля (->) преобразуется в стандартный разделитель - (.) точка.

  • Проверяются синтаксические конструкции Команд и Функций системы Visual FoxPro, содержащиеся в заданном символьном выражении, однако сами команды и функции не Оцениваются. Если Синтаксис Не верен, то Visual FoxPro генерирует сообщение о синтаксической Ошибке. NORMALIZE( ) не выполняет проверку наличия и доступности указанных Полей, Таблиц, переменных памяти, пользовательских функций и других именных сылок в заданном символьном выражении.

Например, если Пользователь ввел следующее индексное выражение, в соответствующем Построителе Выражений (Expression Builder):

CopyCode image Копировать Код
UPPE(cust->lname) + UPPE(cust->fname)

Для однозначного соответствия указанного индексного выражения, при использовании стандартной функции системы Visual FoxPro KEY() функция NORMALIZE( ) преобразует указанное выше символьное выражение к следующему виду:

CopyCode image Копировать Код
UPPER(CUST.LNAME) + UPPER(CUST.FNAME)

Данное преобразование позволяет вам достаточно просто использовать указанную функцию KEY( ) для определения существования уже построенных индексных выражений, избегать, тем самым, Ошибочных ситуаций повторного определения уже имеющихся индесных выражений. Рассматриваемая функция позволяет некоторым образом Стандартизовать некоторые процессы программирования.

Expand image См. также

Описание

EVALUATE( ), функция
ISUPPER( ), функция
PROPER( ), функция
UPPER( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


NTOM( ) Function

Visual FoxPro 9.0 Справка по языку
Функция NTOM( )
См.также Пример

Возвращает значение типа Currency для числового выражения.

NTOM(nExpression)

Параметры

nExpression

Указывает числовое выражение, для которого функция NTOM( ) вызвращает значение типа Currency. Если в значении выражения nExpression окажется больше четырех десятичных знаков, оно будет округлено до четырех десятичных знаков. Если в значении выражения nExpression окажется меньше четырех десятичных знаков, в недостающих до четырех десятичных знаков разрядах будут добавлены нули.

Возвращаемое значение

Тип - Currency. NTOM( ) вызвращает значение типа Currency с четырьмя десятичными знаками.

Пример

В следующем примере создается переменная числового типа с именем gnNumeric. Функция TYPE( ) отображает N, показывая, что переменная имеет числовой тип. NTOM( ) используется для преобразования переменной к типу currency и TYPE( ) отображает Y, показывая, что переменная после преобразования имеет тип currency.

Скопировать код
STORE 24.95 TO gnNumeric && Creates a numeric type memory variable
CLEAR
? "gnNumeric is type: "
?? TYPE('gnNumeric') && Displays N, numeric type value

gnNumeric= NTOM(gnNumeric) && Converts gnNumeric to a currency value
? "gnNumeric is now type: "
?? TYPE('gnNumeric') && Displays Y, currency type value

См.также

Ссылки

Тип данных Currency
Тип данных Numeric

Другие ресурсы

Функции
Функция MTON( )
Функция TYPE( )

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


NUMLOCK( ) Function

Visual FoxPro 9.0 Описание Языка
NUMLOCK( ) Функция
См. также Пример
CollapseAll image

Возвращает текущий режим клавиши NUM LOCK или устанавливает режим клавиши NUM LOCK в состояние ВКЛ или ВЫКЛ.

NUMLOCK([lExpression])

Параметры

lExpression

Определяет состояние клавиши NUM LOCK (ВКЛ или ВЫКЛ). Если выражение lExpression = true (.T.), то клавиша NUM LOCK включается; если выражение lExpression = false (.F.), то клавиша NUM LOCK выключается. Функция NUMLOCK( ) возвращает логическое выражение, соответствующее состоянию клавиши NUM LOCK до соответствующего переключения NUMLOCK(.T.) или NUMLOCK(.F.).

Expand image Возвращаемое Значение

Значение типа Logical

Expand image Комментарии

Функция NUMLOCK( ) возвращает = true (.T.) если клавиша NUM LOCK включена (нажатие на цифровую клавиатуру отображает цифры), или значение = false (.F.) если клавиша NUM LOCK выключена (нажатие на клавиши цифровой клавиатуры перемещают курсор).

Expand image Пример

В следующем примере знак равенства (=) используется для вызова функции NUMLOCK( ) без определения возвращаемого значения.

CopyCode image Копировать Код
gcOldLock = NUMLOCK( )  && Save original setting
WAIT WINDOW 'Press a key to turn Num Lock on'
= NUMLOCK(.T.)  && Turn Num Lock on
WAIT WINDOW 'Press a key to turn Num Lock off'
= NUMLOCK(!NUMLOCK( ))  && Toggle Num Lock to the opposite value
WAIT WINDOW 'Press a key to restore original Num Lock setting'
= NUMLOCK(gcOldLock)     && Return to original setting

Expand image См. также

Описание

CAPSLOCK( ) Функция
INSMODE( ) Функция

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


NVL( ) Function

Visual FoxPro 9.0 Описание Языка
NVL( ), функция
См. также Пример
CollapseAll image

Возвращает ненулевое (non-null) значение из заданных двух выражений.

NVL(eExpression1, eExpression2)

Параметры

eExpression1, eExpression2

NVL( ) возвращает выражение eExpression2, если первое выражение eExpression1 вычисляется как =.NULL. NVL( ) возвращает eExpression1, если eExpression1 # null. eExpression1 и eExpression2 могут принимать значения любого типа. NVL( ) возвращает = .NULL., если оба параметра: eExpression1 и eExpression2 имеют значение = .NULL.

Expand image Возвращаемое значение

Символьного типа, типа Date, DateTime, числового типа, Денежного типа, логического типа, или значение = null

Expand image Комментарии

Используйте функцию NVL( ) для исключения значений типа null из текущих вычислений или из операторов различных команд, в которых не поддерживаются данные значения или значения типа .NULL. не имеют особого значения.

Expand image Пример

В следующем примере, создается переменная с именем glMyNull, которая содержит значение типа = null. Функция NVL( ) используется для исключения данного значения из дальнейшей обработки.

CopyCode image Копировать Код
STORE .NULL. TO glMyNull  && загрузка в переменную значения = null
CLEAR
? NVL(.T., glMyNull)  && отображается .T.
? NVL(glMyNull, glMyNull)  && отображается .NULL.

Expand image См. также

Описание

ISNULL( ), функция
SET NULL, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


OBJTOCLIENT( ) Function

Visual FoxPro 9.0 Справочник Языка
OBJTOCLIENT () Функция
См. Также Пример

Возвращает позицию или размеры элемента управления или объекта относительно его формы.

OBJTOCLIENT(ObjectName, nPosition)

Параметры

ObjectName

Определяет имя элемента управления или объекта, для которого возвращена позиция на форме.
nPosition

Определяет, какое положение или размер элемента управления или объекта на форме возвращается. Следующая таблица перечисляет значения для nPosition и соответствующей позиции или размера для возвращения.

nPosition Позиция или измерение

1

Top

2

Left

3

Width

4

Height

Возвращаемое значение

Числовое

Замечания

OBJTOCLIENT( ) возвращает позицию или размер элемента управления или объекта относительно клиентской области формы, на которой он находится. Например, элемент управления или объект могут быть помещены в страницу в страничном фрейме, и страничный фрейм помещен на форму. Свойства Top , Left , Width , и Height возвращают позицию или размер элемента управления или объекта относительно страницы на который он расположен. Однако, Вы можете использовать OBJTOCLIENT( ) для определения позиции или размера элемента управления или объекта относительно формы, в которой страница помещена.

Значение, возвращенное OBJTOCLIENT( ) выражается в пикселях.

Пример

Следующие пример использует OBJTOCLIENT( ) чтобы отобразить позиции и размеры двух чекбоксов относительно формы, в которой они помещены. Свойства Top , Left , Width , and Height также используются, чтобы отобразить позиции и размеры этих двух чебоксов относительно страничного блока, в котором они помещены.

Кнопка и страничный фрейм помещены в форму. Свойство PageCount используется, чтобы определить количество страниц на страничном блоке. Свойство Вкладки установлено в истину (.T). чтобы задать, что страничный фрейм имеет вкладки для каждой страницы. Чекбоксы помещены в каждую страницу в разные позиции.

Когда переключается чекбокс, выполняется процедура Click для чекбокса. Если флажок чекбокса установлен, свойства Top , Left , Width , and Height используются, чтобы отобразить позиции и размеры чекбокса относительно страничного фрейма, и OBJTOCLIENT( ) используется, чтобы отобразить позиции и размеры чекбокса относительно формы. Если флажок чекбокс сброшен, главное окно Microsoft Visual FoxPro очищается.

Скопировать код
CLEAR
STORE _DBLCLICK TO gnDblClick  && Save double-click value
STORE 0.05 TO _DBLCLICK  && Make double-click unlikely
frmMyForm = CREATEOBJECT('Form')  && Create a form
frmMyForm.Closable = .f.  && Disable the window pop-up menu
frmMyForm.Move(150,10)  && Move the form
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')  && Add Command button
frmMyForm.AddObject('pgfPageFrame1','pgfMyPageFrame')  && Add PageFrame
frmMyForm.pgfPageFrame1.Page1.AddObject('chkCheckBox1','chkMyCheckBox1')
frmMyForm.pgfPageFrame1.Page2.AddObject('chkCheckBox2','chkMyCheckBox2')
frmMyForm.cmbCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.pgfPageFrame1.Visible =.T.  && PageFrame visible
frmMyForm.pgfPageFrame1.Page1.chkCheckBox1.Visible =.T.
frmMyForm.pgfPageFrame1.Page2.chkCheckBox2.Visible =.T.
frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing
DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height
   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
      CLEAR  && Clear main Visual FoxPro window
      STORE gnDblClick TO _DBLCLICK  && Restore double-click value
ENDDEFINE
DEFINE CLASS pgfMyPageFrame AS PageFrame  && Create PageFrame
   Left = 10  && PageFrame  column
   Top = 10  && PageFrame  row
   Height = 175  && PageFrame  height
   Width = 350  && PageFrame  height
   PageCount = 2  && 2 Pages on the PageFrame
   Tabs = .T.  && Tabs visible
ENDDEFINE
DEFINE CLASS chkMyCheckBox1 AS CheckBox  && Create first Check Box
   Top = 0
   Width = 200
   Caption = 'Display Position'
PROCEDURE Click
   DO CASE
      CASE ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Value = 0
         ACTIVATE SCREEN
         CLEAR
      CASE ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Value = 1
         ACTIVATE SCREEN
         CLEAR
         ? 'Positions relative'
         ? 'to PageFrame:'
         ?
         ? 'Top: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Top))
         ? 'Left: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Left))
         ? 'Width: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Width))
         ? 'Height: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Height))
         ?
         ? 'Positions relative'
         ? 'to Form:'
         ?
         ? 'Top: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1,1)))
         ? 'Left: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1,2)))
         ? 'Width: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page1.chkCheckBox1,3)))
         ? 'Height: '
         ?? ALLTRIM(STR(OBJTOCLIENT(ThisForm.pgfPageFrame1.Page1.chkCheckBox1,4)))
   ENDCASE
ENDDEFINE
DEFINE CLASS chkMyCheckBox2 AS CheckBox  && Create second Check Box
   Top = 30
   Left = 175
   Width = 200
   Caption = 'Display Position'
PROCEDURE CLICK
   DO CASE
      CASE ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Value = 0
         ACTIVATE SCREEN
         CLEAR
      CASE ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Value = 1
         ACTIVATE SCREEN
         CLEAR
         ? 'Positions relative'
         ? 'to PageFrame:'
         ?
         ? 'Top: '
         ?? ALLTRIM(STR(ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Top))
         ? 'Left: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Left))
         ? 'Width: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Width))
         ? 'Height: '
         ?? ALLTRIM(STR;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Height))
         ?
         ? 'Positions relative'
         ? 'to Form:'
         ?
         ? 'Top: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2,1)))
         ? 'Left: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2,2)))
         ? 'Width: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2,3)))
         ? 'Height: '
         ?? ALLTRIM(STR(OBJTOCLIENT;
            (ThisForm.pgfPageFrame1.Page2.chkCheckBox2,4)))
   ENDCASE
ENDDEFINE

См. Также

Другие Ресурсы

Функции
Свойство Height Property
Свойство Left Property
Свойство Top Property
Свойство Width Property

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OCCURS( ) Function

Visual FoxPro 9.0 Описание Языка
OCCURS( ), функция
См. также Пример
CollapseAll image

Возвращает количество моментов (раз), когда одно символное выражение "встречается" (входит) в другом символьном выражении.

OCCURS(cSearchExpression, cExpressionSearched)

Параметры

cSearchExpression

Определяет первое символьное выражение, которое ищется функцией OCCURS( ) в другом символьном выражении cExpressionSearched.

cExpressionSearched

Определяет символьное выражение, в котором выполняется поиск функцией OCCURS( ) первого символьного выражения cSearchExpression.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

OCCURS( ) возвращает = 0 (нуль), если первое символьное выражение cSearchExpression отсутствует (не найдено) в cExpressionSearched.

Expand image Пример

CopyCode image Копировать Код
STORE 'abracadabra' TO gcstring
CLEAR
? OCCURS('a', gcstring)  && отображается 5
? OCCURS('b', gcstring)  && отображается 2
? OCCURS('c', gcstring)  && отображается 1
? OCCURS('e', gcstring)  && отображается 0

Expand image См. также

Описание

$, оператор
AT( ), функция
ATLINE( ), функция
RAT( ), функция
RATLINE( ), функция
INLIST( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


OLDVAL( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция OLDVAL( )
Смотрите также Пример
CollapseAll image

Возвращает первоначальное значение поля, которое было модифицировано, но не обновлялось.

OLDVAL(cExpression [, cTableAlias | nWorkArea])

Параметры

cExpression

Задает выражение, для которого функция OLDVAL( ) возвращает первоначальное значение из таблицы или удаленного источника данных. В качестве cExpression обычно используется поле или выражение, состоящее из набора полей таблицы или удаленного источника данных.

cTableAlias

Задает псевдоним таблицы или курсора, из которого возвращаются первоначальные значения поля.

nWorkArea

Задает рабочую область таблицы или курсора, из которого возвращаются первоначальные значения поля.

Expand image Возвращаемое значение

Character, Currency, Date, DateTime, Double, Float, Integer, Logical, Numeric, или Memo

Expand image Замечания

Функция OLDVAL( ) возвращает первоначальные значения полей для записей таблицы или курсора Visual FoxPro, в которых с помощью функции CURSORSETPROP( ) включена буферизация строк или таблиц.

Если для таблицы базы данных или для курсора предусмотрены правила, то для получения первоначальных значений полей с помощью функции OLDVAL( ) не обязательна поддержка буферизации строк или таблиц.

Если указатель записи при включенной буферизации строк перемещается к другой записи, если выдана функция TABLEUPDATE( ) для фиксации изменений в записи или если выполняется какое-либо иное действие, вызывающее обновление (например завершение транзакции), то поля обновляются и их первоначальные значения теряются.

Тип данных для значения, возвращаемого функцией OLDVAL( ), определяется содержимым выражения, заданного cExpression.

Если функция OLDVAL( ) выдана без аргумента cTableAlias или nWorkArea, возвращаются первоначальные значения поля для таблицы или курсора, открытых в выбранной в данный момент рабочей области.

Expand image Пример

Следующий пример демонстрирует, как с помощью функции OLDVAL( ) можно восстановить первоначальное значение поля в буферизованной таблице. Создается таблица employees, команда INSERT – SQL помещает значение "Smith" в поле cLastName.

MULTILOCKS устанавливается в ON, это необходимо в случае буферизации таблицы. Функция CURSORSETPROP( ) устанавливает в качестве режима буферизации мягкую буферизацию таблицы (5).

На экран выводится первоначальное значение поля cLastName (Smith), затем поле cLastName модифицируется по команде REPLACE. На экране отображается новое значение поля cLastName (Jones). Первоначальное значение поля cLastName (Smith) отображается с помощью функции OLDVAL( ). Затем функция TABLEUPDATE( ) фиксирует изменения, внесенные в таблицу. После этого на экран выдается обновленное значение поля cLastName (Jones).
CopyCode image Скопировать код
CLOSE DATABASES
CLEAR

* Create new table and add blank record
CREATE TABLE employee (cLastName C(10))
APPEND BLANK

* Insert initial value
INSERT INTO employee (cLastName) VALUES ("Smith")

* Enable and set table buffering
SET MULTILOCKS ON  && Allow table buffering
=CURSORSETPROP("Buffering", 5, "employee" )  && Enable table buffering

* Display initial value
=MESSAGEBOX("Original cLastName value: "+ cLastName, 0, "Results")

* Change record value and display results
REPLACE cLastName WITH "Jones"
=MESSAGEBOX("Modified cLastName value: "+ cLastName, 0, "Results")

* Store the old value of the field to cTemp variable and display results
cTemp=OLDVAL("cLastName", "employee")
=MESSAGEBOX("Original cLastName value: "+ cTemp, 0, "Results")

* Update table and display final value
=TABLEUPDATE(.T.)
=MESSAGEBOX("Final cLastName value: "+ cLastName, 0, "Results")

* Close and delete example table file
USE
DELETE FILE employee.dbf

Expand image Смотрите также

Справочное руководство

Функция CURVAL( )
Функция CURSORSETPROP( )
Функция GETFLDSTATE( )
Функция TABLEREVERT( )
Функция TABLEUPDATE( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


ON( ) Function

Visual FoxPro 9.0 Справочник Языка
ON () Функция
См. Также Пример

Возвращает команду, присвоенную для каждой из этих управляющих событием команд: ON ERROR , ON ESCAPE , ON KEY LABEL , или ON PAGE .

ON(cONCommand [, KeyLabelName])

Параметры

cONCommand

Определяет одну из управляющих событием команд. Ниже - команды и соответствующие символьные выражения для использования с помощью ON( ) :

Команда cONCommand

ON ERROR

ERROR

ON ESCAPE

ESCAPE

ON KEY LABEL

KEY

ON PAGE

PAGE

Например, чтобы вернуть команду, в настоящее время заданную для ON ERROR, используйте следующее:
Скопировать код
? ON('ERROR')
KeyLabelName

Используется в ON KEY LABEL для определения клавиши или комбинации клавиш, которой присвоена команда. Определите KEY в cONCommand и имя клавиши или комбинации клавиш в KeyLabelName . Для полного перечня имен клавиш, см. ON KEY LABEL . Например, чтобы возвратить команду, в настоящее время назначенную для функциональной клавиши F7 с помощью ON KEY LABEL , используйте следующее:
Скопировать код
? ON('KEY', 'F7')

Возвращаемое значение

Символьное

Замечания

Когда происходит событие, которое отслеживается одной из управляющих событием команд, выполняется команда, присвоенная этой управляющей событием командой. ON( ) возвращает команду, которую Вы назначили для управляющей событием команды. ON( ) возвращает пустую строку, если команда в настоящее время не назначена для управляющей событием команды, которую Вы определяете.

Пример

Следующий пример использует ON( ) для отображения параметров ON ERROR и ON KEY LABEL .

Скопировать код
ON ERROR DO errorhand
ON KEY LABEL CTRL+F2 WAIT WINDOW 'You pressed ^F2'
ON KEY LABEL ALT+Z DISPLAY MEMORY
CLEAR

  && Displays DO errorhand
? ON('KEY', 'CTRL+F2')  && Displays WAIT WINDOW 'You pressed ^F2'
? ON('KEY', 'ALT+Z')  && Displays DISPLAY MEMORY
ON ERROR
ON KEY LABEL CTRL+F2
ON KEY LABEL ALT+Z

См. Также

Другие Ресурсы

Функции
INKEY( ) Функция
LASTKEY( ) Функция
ON ERROR Команда
ON ESCAPE Команда
ON KEY Команда
ON KEY LABEL Команда
ON PAGE Команда
ON READERROR Команда
READKEY( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ORDER( ) Function

Visual FoxPro 9.0 Описание Языка
ORDER( ), функция
См. также Пример
CollapseAll image

Возвращает имя текущего (активного) индексного файла или имя индексного Тэга для текущей или заданной рабочей области.

ORDER([nWorkArea | cTableAlias [, nPath]])

Параметры

nWorkArea

Определяет номер Рабочей области, в которой открыта таблица, для которой определяется имя активного индексного тэга или индексного файла.

cTableAlias

Определяет имя Алиаса таблицы, для которой определяется имя активного индексного тэга или индексного файла.

nPath

Определяет, возвращается ли полное имя (диск, цепочка каталогов) соответствующего простого или составного индексного файла. Данный числовой параметр nPath может принимать любое значение.

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Комментарии

Каждая таблица данных может иметь несколько открытых одновременно индексных файлов. Однако, только один из них может быть активным в текущий момент времени (управлять расположением записей данной таблицы); это есть либо простейший индексный файл или некоторый Тэг составного индексного файла (структурированного или независимого). Некоторые команды манипулирования данными (Записями) текущей таблицы, такие как SEEK, используют активный индексный файл или индексный тэг для поиска необходимых записей. Данная функция возвращает имя активного индексного файла или имя индексного тэга.

Команды USE и SET INDEX поддерживают одновременное открытие нескольких индексных файлов, некоторые списки индексных файлов. Управляющий активный индексный файл или индексный Тэг может быть указан в этих командах. С помощью команды SET ORDER вы можете непосредственно задать активный управляющий индексный файл или индексный Тэг, из числа открытых ранее индексных файлов или Тэгов.

По-умолчанию, функция ORDER( ) возвращает имя управляющего активного индексного файла или индексного тэга для текущей рабочей области. Функция ORDER( ) возврвщает пустую строку (""), если в настоящий момент не установлен активный индексный тэг или проостой индексный файл. (Возможно выполнена команда SET ORDER TO - без дополнительных параметров, записи таблицы расположены в физической последовательности, без индексной сортировки, без активного индексного Тэга).

Expand image Пример

В представленном ниже примере отображаются имена индексных тэгом и соответствующих индексных файлов.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER cust_id && Opens Customer table
? ORDER( ) && Displays CUST_ID
? ORDER('customer', 1) && Displays CUSTOMER.CDX

Expand image См. также

Описание

INDEX, команда
SET INDEX, команда
DESCENDING( ), функция
SET ORDER, команда
USE, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


OS( ) Function

Visual FoxPro 9.0 Описание Языка
OS( ), функция
См. также Пример
CollapseAll image

Возвращает Имя и Версию Операционной Системы, под управление которой работает данная сессия Microsoft Visual FoxPro.

OS([nValue])

Параметры

nValue

Определяет опциональный (необязательный) параметр, уточняющий получаемую информацию об Операционной Системе.

nValues

Параметр Краткое Описание

1

Определяет получение стандартного имени и номера Операционной Системы.

2

Поддержка DBCS. Если DBCS (двубайтовые символы) поддерживается, возвращается строка "DBCS". В противном случае - пустая строка.

3

Определяет Главный номер Операционной Системы. Например, для Windows 2000, главный номер = 5.

4

Определяет младший номер ОС (подверсия, модификация). Например, для Windows 2000, = 0, для WinXP = 1.

5

Определяет номер сборки ОС.

6

Определяет Платформу Операционной Системы.

7

Содержит строку следующего типа "Service Pack 3", которая означает соответствующую модификацию ОС. Если это не установлено, возвращается пустая строка.

8

Определяет главный номер последнего установленного Service Pack. Например, для Service Pack 3, = 3. Если модификация не установлена , возвращается "0".

9

Определяет младший номер модификации последнего Service Pack. Например, для Service Pack 3, младший номер = "0"

10

Определяет использование Дополнительного параметра, характеризующего ОС product suites. Смотрите описание Product Suiteв следующей таблице.

11

Определяет использование дополнительного параметра Product Type , описанного далее.
Product Suite:
Значение | Использование
1 | Установлена ли подсистема Microsoft Small Business Server.
2 | Установлена ли подсистема Windows 2000 Advanced Server или Windows Server 2003, Enterprise Edition.
4 | Установлена ли подсистема Microsoft BackOffice components.
16 | Установлена ли подсистема Terminal Services.
32 | Установлена ли подсистема Microsoft Small Business Server, имеющей ограниченную Лицензию.
64 | Установлена ли подсистема Windows Embedded NT
128 | Установлена ли подсистема Windows 2000 или Windows Server 2003, Datacenter Edition.
256 | Установлена ли подсистема Terminal Services, поддерживающая только одну интерактивную сессию.
512 | Установлена ли подсистема Windows XP, Home Edition.
1024 | Установлена ли подсистема Windows Server 2003, Web Edition.
Product Type:
Значение | Использование
1 | Система работает под управлением Windows NT 4.0 Workstation, Windows 2000 Professional, Windows XP Home Edition, Windows XP Professional.
2 | Является ли система Контроллером Домена.
3 | Является ли система Сервером.

Expand image Возвращаемое значение

Символьного типа.

Expand image Комментарии

Если Вы опускаете дополнительный аргумент, эта функция возвращает основное имя операционной системы и номер версии.

Некоторые значения параметра nValues могут не работать для некоторых версий ОС. В этих случаях функция OS( ) возвращает "0" или пустую строку "".

Expand image Пример

CopyCode image Копировать Код
? OS( )
? OS(1)
? OS(2)

Expand image См. также

Описание

DISKSPACE( ), функция
GETENV( ), функция
VERSION( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PAD( ) Function

Visual FoxPro 9.0 Language Reference
Функция PAD( )
Смотреть также Пример

Возвращает самый последний заголовок меню, выбранный из строки меню, в виде строки прописных символов, или возвращает логическое значение, указывающее, если заголовок меню определен для активной строки меню.

PAD([cMenuTitle [, cMenuBarName]])

Параметры

cMenuTitle

Определяет имя заголовка меню в строке меню. Включите этот параметр, чтобы проверить, если заголовок меню определен для активной строки меню. Вернет логическую истину (.T.), если заголовок меню определен; иначе вернет логическую ложь (.F.) возвращен.
cMenuBarName

Определяет имя строки меню, содержащей заголовок меню cMenuTitle. Если cMenuBarName опущен, заголовок меню находиться в в настоящее время активной строке меню.

Результат

Символьный или логический

Комментарии

Чтобы функция PAD( ) могла возвратить заголовок меню, строка меню должна быть определена и активна. Строки меню создаются и активизируются с помощью команд DEFINE MENU и ACTIVATE MENU.

Функцию PAD( ) можно также использовать по отношению к системной строке меню Visual FoxPro.

Функция PAD( ) возвращает пустую строку, если строка меню не определена или не активна или если PAD( ) выдана из окна команд.

Пример

В данном примере функция PAD( ) используется для передачи в процедуру заголовка меню.

Текущая системная строка меню Visual FoxPro сохраняется в памяти по команде SET SYSMENU SAVE, и все заголовки системных меню убираются по команде SET SYSMENU TO.

По команде DEFINE PAD создается несколько заголовков системных меню. При выборе заголовка меню функция PAD( ) передает этот заголовок в процедуру choice. Процедура choice отображает выбранный заголовок меню и имя строки меню. Если выбрать заголовок меню Exit, восстанавливается первоначальная система меню Visual FoxPro.
Копировать код
*** Name this program PADEXAM.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD padSys OF _MSYSMENU PROMPT '\<System' COLOR SCHEME 3 ;
   KEY ALT+S, ''
DEFINE PAD padEdit OF _MSYSMENU PROMPT '\<Edit' COLOR SCHEME 3 ;
   KEY ALT+E, ''
DEFINE PAD padRecord OF _MSYSMENU PROMPT '\<Record' COLOR SCHEME 3 ;
   KEY ALT+R, ''
DEFINE PAD padWindow OF _MSYSMENU PROMPT '\<Window' COLOR SCHEME 3 ;
   KEY ALT+W, ''
DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re\<ports' COLOR SCHEME 3 KEY ALT+P, ''
DEFINE PAD padExit OF _MSYSMENU PROMPT 'E\<xit' COLOR SCHEME 3 ;
   KEY ALT+X, ''
ON SELECTION MENU _MSYSMENU ;
   DO choice IN padexam WITH PAD( ), MENU( )
PROCEDURE choice
PARAMETERS gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
   ' from menu ' + gcMenu NOWAIT
IF gcPad = 'PADEXIT'
   SET SYSMENU TO DEFAULT
ENDIF

Смотреть также

Другие ресурсы

Функции
Команда ACTIVATE MENU
Функция BAR( )
Команда DEFINE PAD
Команда DEFINE MENU
Функция MENU( )
Команда ON PAD
Команда ON SELECTION PAD
Функция PROMPT( )

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


PADL( ) | PADR( ) | PADC( ) Functions

Visual FoxPro 9.0 Справочное руководство по языку
Функции PADL() | PADR() | PADC()
Смотрите также Пример
CollapseAll image

Возвращает строку из выражения, дополненную пробелами или указанными символами до указанной длины слева, справа или с обоих сторон.

PADL(eExpression, nResultSize [, cPadCharacter])
PADR(eExpression, nResultSize [, cPadCharacter])
PADC(eExpression, nResultSize [, cPadCharacter])

Параметры

eExpression

Указывает выражение, которое должно быть дополнено. Это выражение может быть выражением любого типа, за исключением логического выражения или поля типа general или картинкой.

nResultSize

Указывает общее число символов в выражении, после того как исходное выражение будет дополнено.

cPadCharacter

Указывает значение, используемое для дополнения. Это значение повторяется необходимое количест во раз для дополнения исходного выражения с целью достижения указанной длины в nResultSize.

Если вы опустите cPadCharacter, то для дополнения будут использоваться пробелы (символ ASCII с номером 32).

Expand image Возвращаемое значение

Символьное

Expand image Примечания

PADL( ) вставляет дополнения слева, PADR( ) вставляет дополнения справа, а PADC( ) вставляет дополнения с обеих сторон.

Expand image Пример

CopyCode image Скопировать код
STORE 'TITLE' TO gcString
CLEAR
? PADL(gcString, 40, '=')
? PADR(gcString, 40, '=')
? PADC(gcString, 40, '=')

Примечание переводчика. Самым замечательным в использовании этих функций, является автоматическое преобразование типов и приведение их к символьному виду, что можно проиллюстрировать приведенными ниже примерами:

CopyCode image Скопировать код
lcSerialMonthNumber=PADL( MONTH( DATE() ), 2, '0' )

Expand image Смотрите также

Справочное руководство

Функция ALLTRIM()
Функция LEFT()
Функция LTRIM()
Функция RIGHT()
Функция STUFF()
Функция TRIM()

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


PARAMETERS( ) Function

Visual FoxPro 9.0 Описание Языка
PARAMETERS( ), Функция
См. также
CollapseAll image

Возвращает количество переданных параметров в последнюю вызванную программу, процедуру или пользовательскую функцию.

PARAMETERS( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Функция PARAMETERS( ) обычно применяется для определения количества передаваемых параметров в программный модуль, процедуру или пользовавтельскую функцию.

Note Примечание

Возвращаемое функцией PARAMETERS() значение очищается при каждом вызове программного модуля, процедуры или функции или при выполнении команды ON KEY LABEL. В отличие от функции PARAMETERS(), функция PCOUNT() не выполняет очистку передаваемых параметров, поэтому использование функции PCOUNT() является предпочтительным в различных программных ситуациях.

Expand image Примеры

Пример 1: Вызывается процедура и отображается количество переданных параметров.

Пример 2: Используется вызов процедуры для определения среднего значения из 4-х параметров.

CopyCode image Копировать Код
* Пример 1
DO testpar WITH 1,2,3

PROCEDURE testpar
PARAMETERS gn1,gn2,gn3
gcMessage = 'PARAMETERS( ) ='+ALLTRIM(STR(PARAMETERS( )))
WAIT WINDOW (gcMessage)
RETURN

* Пример 2
SET TALK OFF
gnVal1 = 10
gnVal2 = 20
gnVal3 = 30
gnVal4 = 15
gnMin = getavg(gnVal1, gnVal2, gnVal3, gnVal4)
? 'Average value is '
?? gnMin

* This user-defined function permits up to 9 parameters to be passed.
* It uses the PARAMETERS( ) function to determine how many
* were passed and returns the average value.

FUNCTION getavg
PARAMETERS gnPara1,gnPara2,gnPara3,gnPara4,gnPara5, ;
   gnPara6,gnPara7,gnPara8,gnPara9
IF PARAMETERS( ) = 0
   RETURN 0
ENDIF
gnResult = 0
FOR gnCount = 1 to PARAMETERS( )
   gcCompare = 'gnPara' +(STR(gnCount,1))
   gnResult = gnResult + EVAL(gcCompare)
ENDFOR
gnResult = gnResult / (gnCount - 1)
RETURN gnResult

Expand image См. также

Описание

DO, Команда
FUNCTION, Команда
LPARAMETERS, Команда
LOCAL, Команда
PARAMETERS, Команда
PCOUNT( ), Функция
PRIVATE, Команда
PROCEDURE, Команда
PUBLIC, Команда
SET UDFPARMS, Команда

Другие ссылки

Функции (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


PAYMENT( ) Function

Visual FoxPro 9.0 Справочник Языка
PAYMENT () Функция
См. Также Пример

Возвращает сумму периодического платежа по ссуде с фиксированным процентом.

PAYMENT(nPrincipal, nInterestRate, nPayments)

Параметры

nPrincipal

Определяет первоначальный размер ссуды.
nInterestRate

Определяет установленную процентную ставку за период. Если ежемесячные платежи сделаны по ссуде, но процентная ставка является ежегодной, поделите ежегодную процентную ставку на 12.
nPayments

Определяет общее количество платежей, которые будут сделаны по ссуде.

Возвращаемое значение

Числовое

Замечания

PAYMENT( ) предполагает постоянную периодическую процентную ставку и то, что платежи сделаны в конце каждого периода.

Пример

Скопировать код
STORE 100000 to gnPrincipal     && $100,000 beginning principal
STORE .105/12 TO gnInterest  && 10.5% annual interest rate
STORE (20*12) TO gnPayments     && 20 years of monthly payments
CLEAR
? PAYMENT(gnPrincipal, gnInterest, gnPayments)  && Displays 998.38

См. Также

Другие Ресурсы

Функции
CALCULATE Команда
FV( ) Функция
PV( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


PCOL( ) Function

Visual FoxPro 9.0 Описание Языка
PCOL( ), функция
См. также Пример
CollapseAll image

Возвращает текущую позицию головки принтера (при печати).

PCOL( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Возвращаемое функцией PCOL( ) значение вычисляется относительно текущей установки Левого Края Печати (left margin). Данный параметр устанавливается с помощью команды SET MARGIN, или с помощью задания значения системной переменной _PLOFFSET.

PCOL( ) обычно используется для определения относительной позиции печатаемого текста.

Вместо данной функции можно использовать оператор - (знак денежной единицы) $ .

Expand image Пример

CopyCode image Копировать Код
CLEAR
@ PROW( ), PCOL( )+12 SAY 'Contact person'
@ PROW( ), $+12 SAY 'Contact person'

Expand image См. также

Описание

COL( ), функция
ROW( ), функция
PROW( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PCOUNT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
PCOUNT( ) Функция
Смотрите также

Возвращает количество параметров, переданных текущей программе, процедуре или пользовательской функции.

PCOUNT( )

Возвращаемое значение

Numeric

Remarks

Функция PCOUNT( ) используется, когда нужно определить, сколько параметров передано программе, процедуре или пользовательской функции.

Примеры

В примере 1 вызывается процедуры и в окне ожидания отображается количество переданных параметров.

В примере 2 используется процедура, отображающая среднее четырех значений.

Пример 1

Скопировать код
DO testpar WITH 1,2,3

PROCEDURE testpar
PARAMETERS gn1,gn2,gn3
gcMessage = 'PCOUNT( ) ='+ALLTRIM(STR(PCOUNT( )))
WAIT WINDOW (gcMessage)
RETURN

Пример 2

Скопировать код
SET TALK OFF
gnVal1 = 10
gnVal2 = 20
gnVal3 = 30
gnVal4 = 15
gnMin = getavg(gnVal1, gnVal2, gnVal3, gnVal4)
? 'Average value is '
?? gnMin

* Эта пользовательская функция может принимать до 9 параметров.
* Функция PCOUNT( ) используется для определения количества фактически
* переданных параметров и возвращает их среднее значение.

FUNCTION getavg
PARAMETERS gnPara1,gnPara2,gnPara3,gnPara4,gnPara5, ;
   gnPara6,gnPara7,gnPara8,gnPara9
IF PCOUNT( ) = 0
   RETURN 0
ENDIF
gnResult = 0
FOR gnCount = 1 to PARAMETERS( )
   gcCompare = 'gnPara' +(STR(gnCount,1))
   gnResult = gnResult + EVAL(gcCompare)
ENDFOR
gnResult = gnResult / (gnCount - 1)
RETURN gnResult

Смотрите также

Прочие ресурсы

Команда DO
Команда FUNCTION
Команда LPARAMETERS
Команда LOCAL
Команда PARAMETERS
Команда PRIVATE
Команда PROCEDURE
Команда PUBLIC
Команда SET UDFPARMS
Функции
Функция PARAMETERS( )
Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


PEMSTATUS( ) Function

Visual FoxPro 9.0 Справочник Языка
PEMSTATUS () Функция
См. Также

Отыскивает атрибут для свойства, события, метода, или объекта.

PEMSTATUS(oObjectName | cClassName, cProperty | cEvent | cMethod
   | cObject, nAttribute)

Параметры

oObjectName

Определяет объект, для которого свойство, событие, метод, или объект должно быть возвращено. oObjectName может быть любым выражением, которое определеяется как объект, типа объектной ссылки, объектной переменной памяти, или объектного элемента массива. Если oObjectName является контейнерным объектом типа формы, Вы можете определить атрибуты для объектов в контейнерном объекте.
cClassName

Определяет класс, для которого свойство, событие, или метод должны быть возвращены.
cProperty

Определяет свойство для которого атрибут должен быть возвращен.
cEvent

Определяет событие для которого атрибут должен быть возвращен.
cMethod

Определяет метод для который атрибут должен быть возвращен.
cObject

Определяет объект для который атрибут дожен быть возвращен. Например, Вы можете использовать метод AddObject для добавления объекта к контейнерному объекту, и затем использовать PEMSTATUS( ) для возвращения информации об объекте, который добавляют к контейнерному объекту.
nAttribute

Определяет числовое значение, которое определяет свойство, событие, или метод для возвращения. Следующая таблица перечисляет значения для nAttribute и соответствующих свойств, событий, или атрибут метода для возвращения.

nAttribute Свойство, событие, или атрибут метода

0

Changed.

Если значение свойства, метод, или событие изменились, PEMSTATUS( ) возвращает логическую Истину (.T).. Иначе, PEMSTATUS( ) возвращает логическую Ложь (.F)..

1

Только для чтения (только для свойств).

Если свойство установлено "только для чтения", PEMSTATUS( ) возвращает логическую Истину (.T).. Иначе, PEMSTATUS( ) возвращает логическую Ложь (.F)..

2

Protected.

Если свойство, событие, или метод защищены, PEMSTATUS( ) возвращает логическую Истину (.T).. Иначе, PEMSTATUS( ) возвращает логическую Ложь (.F)..

3

Type.

PEMSTATUS( ) возвращает символьную строку, например, Свойство, Событие, Метод, или Объект, указывая является ли cProperty , cEvent, cMethod или cObject свойством, событием, методом или объектом.

4

User-defined.

Если свойство, событие, или метод являются определяемым пользователем свойством, событием, или методом, PEMSTATUS( ) возвращает логическую Истину (.T).. Иначе, PEMSTATUS( ) возвращает логическую Ложь (.F)..

5

Defined property, event, method, or object.

Если свойство, событие, метод, или объект существуют для oObjectName или cClassName , PEMSTATUS( ) возвращает логическую Истину (.T).. Иначе, или для скрытых "родных" свойств, PEMSTATUS( ) возвращает логическую Ложь (.F)..

6

Inherited property, event, method, or object.

Если свойство, событие, метод, или объект для oObjectName или cClassName был унаследован от другого объекта или класса, PEMSTATUS( ) возвращает логическую Истина (.T).. Иначе, PEMSTATUS( ) возвращает логическую Ложь (.F)..

Return Value

Символьное или Логическое. PEMSTATUS( ) возвращает символьную строку или логическое значение для указанного атрибута.

Замечания

PEMSTATUS( ) не обнаруживает изменений в определенных элементах массива, при его предаче.

См. Также

Другие Ресурсы

Функции
CREATE FORM Команда
GETPEM( ) Функция
SYS(1269) - Информация о Свойстве
SYS(1270) - Местоположение Объекта
SYS(1271) - .SCX Файл Объекта
SYS(1272) - Объектная Иерархия

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


PI( ) Function

Visual FoxPro 9.0 Описание Языка
PI( ), функция
См. также Пример
CollapseAll image

Возвращает числовое выражение, равное числу Пи.

PI( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Числовая константа Пи (3.141592) - есть коэффициент (отношение) длины окружности от своего радиуса.

Количество возвращаемых десятичных знаков функцией PI( ) определяется соответствующей установкой команды SET DECIMALS.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? PI( ) && отображается 3.14
STORE 2.30 TO gnRadius
STORE PI( ) * gnRadius^2 TO gnArea
? gnArea  && отображается 16.6190

Expand image См. также

Описание

SET DECIMALS, команда
STORE, команда
Circle, метод

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


POPUP( ) Function

Visual FoxPro 9.0 Описание Языка
POPUP( ), функция
См. также
CollapseAll image

Возвращает имя активного меню (как строку символов), или логическое значение, определяющее существование указанного меню.

POPUP([cMenuName])

Параметры

cMenuName

Определяет имя некоторого меню cMenuName. POPUP( ) возвращает значение = true (.T.), если указанное меню определено; в противном случае возвращается значение = false (.F.).

Expand image Возвращаемое значение

Символьного или Логического типа

Expand image Комментарии

Функция POPUP( ) возвращает имя активного меню в виде символьной строки, если отсутствует параметр функции cMenuName. Данное меню должно быть определено и активно. Меню создаются и активируются при помощи команд DEFINE POPUP и ACTIVATE POPUP. Рассматриваемое меню может быть также одним из системных меню Visual FoxPro. POPUP( ) возвращает пустую строку, если меню неопределено или неактивно, или если функция POPUP( ) вызывается из Командного окна.

Expand image См. также

Описание

ACTIVATE POPUP, команда
BAR( ), функция
DEFINE BAR, команда
DEFINE POPUP, команда
ON SELECTION POPUP, команда

Другие ссылки

Команды системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PRIMARY( ) Function

Visual FoxPro 9.0 Описание Языка
PRIMARY( ), функция
См. также Пример
CollapseAll image

Возвращает значение = true (.T.), если индексный Тэг является Первичным Индексным Тэгом; в противном случае возвращается значение = false (.F.).

PRIMARY([nIndexNumber] [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Определяет номер индексного Тэга, для которого выполняется функция PRIMARY( ), выполняется тестирование данного Тэга на Первичный Ключ. PRIMARY( ) возвращает статус "Первичности" тэга; значение параметра nIndexNumber изменяется от 1 - до общего количества тэгов всех открытых индексных файлов: структурных и упакованных-независимых (.cdx).

  1. Сначала возвращается статус Первичного Ключа для каждого индексного тэга Структурированного индексного файла (если таковой имеется); он открывается в первую очередь, индексные тэги обрабатываются в данном файле в порядке их создания.

  2. Далее определяется статус первичного ключа для тэгов, размещенных в независимых - упакованных индексных файлах, открываемых после структурированного. Индексные тэги в этих файлах также обрабатываются в порядке их создания.

    Если параметр nIndexNumber не указан, функция PRIMARY( ) проверяет статус первичного ключа для текущего (активного) индексного тэга. Если данный тэг не является Первичным, PRIMARY( ) возвращает значение = false (.F.).

nWorkArea

Определяет номер рабочей области, в которой открыта таблица, для индексного тэга которой выполняется проверка статуса Первичности, с номером тэга nIndexNumber.

cTableAlias

Определяет имя Алиаса таблицы, индексный тэг которой проверяется.

Если параметры nWorkArea или cTableAlias - не указываются, PRIMARY( ) проверяет статус Первичности индексного тэга для таблицы, открытой в текущей рабочей области.

Expand image Возвращаемое значение

Логического типа

Expand image Пример

В представленном ниже примере: из тестовой базы данных открывается Таблица с именем customer. С помощью оператора цикла FOR ... ENDFOR выполняется перебор всех существующих индексных тэгов, определяются их имена и статус Первичного ключа для каждого индексного тэга.

CopyCode image Копировать Код
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data\') && Sets path to database
OPEN DATABASE testdata && Open testdata database
USE Customer && Open customer table

FOR nCount = 1 TO TAGCOUNT( )
 IF !EMPTY(TAG(nCount)) && Checks for tags in the index
 ? TAG(nCount) && Display tag name
 ? PRIMARY(nCount) && Display primary status
 ELSE
 EXIT && Exit the loop when no more tags are found
 ENDIF
ENDFOR

Expand image См. также

Описание

Системные Переменные
ALTER TABLE - SQL, команда
CANDIDATE( ), функция
CREATE TABLE - SQL, команда
INDEX, команда

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PRINTSTATUS( ) Function

Visual FoxPro 9.0 Описание Языка
PRINTSTATUS( ), функция
См. также Пример
CollapseAll image

Возвращает текущий статус принтера. Включена для совместимости с младшими версиями VFP.

PRINTSTATUS( )

Expand image Возвращаемое значение

Для версий системы Visual FoxPro, работающих под ОСWindows, функция PRINTSTATUS( ) всегда возвращает значение = True (.T.), если принтер установлен с помощью Панели Управления ОС Windows (Control Panel).

В младших версиях, если Принтер Готов, то возвращалось = True (.T.); в противном случае = False (.F.).

Expand image Комментарии

Функция PRINTSTATUS( ) аналогична функции SYS(13). Дополнительно См. раздел SYS(13) - Статус Принтера.

Expand image Пример

CopyCode image Копировать Код
? PRINTSTATUS( )
*** Program Example ***
STORE PRINTSTATUS( ) TO glReady
IF NOT glReady
   WAIT 'Make sure printer is attached and turned on!' WINDOW
ELSE
   WAIT 'Printer is ready!' WINDOW
ENDIF

Expand image См. также

Описание

SET PRINTER, команда
SET DEVICE, команда
SYS(13) - Статус Принтера
PRINTJOB ... ENDPRINTJOB, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PRMBAR( ) Function

Visual FoxPro 9.0 Описание Языка
PRMBAR( ), функция
См. также
CollapseAll image

Возвращает заголовок пункта (элемента) Меню.

PRMBAR(cMenuName, nMenuItemNumber)

Параметры

cMenuName

Определяет имя меню.

nMenuItemNumber

Определяет номер пункта меню, для которого определяется заголовок функцией PRMBAR( ). Например, если параметр nMenuItemNumber = 1, то возвращается текст первого пункта меню; если nMenuItemNumber = 2, то возвращается текст второго пункта меню, и так далее. Значение данного параметра может быть меньше 1, но не может быть больше, чем количество пунктов (элементов) данного меню.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Подсистема меню создается командой DEFINE POPUP, а отдельный пункт (элемент) меню - командой DEFINE BAR. Функция PRMBAR( ) также работает с элементами системного меню Visual FoxPro. PRMBAR( ) возвращает текст, который появляется в соответствующем пункте меню. Указанное меню не должно быть активным в момент работы данной функции.

Если название пункта меню создается с использованием специальных символов (\<) - для указания "горячих" клавиш вызова пункта меню, или с помощью одного символа (\) - для отключения пункта меню, то функция PRMBAR( ) возвращает названия требуемых пунктов без данных специальных символов. PRMBAR( ) возвращает пустую строку для пункта меню, созданного с помощью специального символа (\-), как разделитель группы пунктов меню .

Expand image См. также

Описание

CNTBAR( ), функция
GETBAR( ), функция
DEFINE BAR, команда
DEFINE POPUP, команда
MRKBAR( ), функция
PRMPAD( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PRMPAD( ) Function

Visual FoxPro 9.0 Описание Языка
PRMPAD( ), функция
См. также Пример
CollapseAll image

Возвращает текст Заголовка Меню.

PRMPAD(MenuBarName, MenuTitleName)

Параметры

MenuBarName

Определяет имя подсистемы Меню (Menu Bar), содержащей требуемый Заголовок Подменю (Menu Pad).

MenuTitleName

Определяет имя Подменю типа Menu Pad.

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Комментарии

Подсистема Меню создается с помощью команды DEFINE MENU, в котором может быть создано Подменю с помощью команды DEFINE PAD, которая определяет требуемый подраздел основного меню (menu bar). Функция PRMPAD( ) работает также с основным Меню системы Visual FoxPro. Для успешного выполнения функции PRMPAD( ) требуется наличие активного Меню, указываемого в параметрах данной функции.

Если Заголовок подраздела Меню создан с использованием специальных символов: (\<) - для указания "горячей" клавиши активации данного раздела меню, или (\) - для отключения данного подраздела Меню, функция PRMPAD( ) возвращает только текст Заголовка Подраздела Меню, без рассмотренных выше, специальных, форматирующих символов.

Expand image Пример

В представленном ниже примере: создается подсистема Меню с именем mnuExample,в котором создается три подраздела Меню. Указанные "активные" клавиши и специальные символы отключения Подменю - не отображаются при использовании рассмотренной выше функции, это касается пунктов с именами titleTwo / titleThree. Построенное меню активируется, после завершения - удаляется с экрана.

CopyCode image Копировать Код
CLEAR
SET TALK OFF
STORE 'mnuExample' TO gcPopName

DEFINE MENU mnuExample BAR AT LINE 1
DEFINE PAD titleOne OF mnuExample PROMPT 'This will be returned'
DEFINE PAD titleTwo OF mnuExample PROMPT '\<As will this'
DEFINE PAD titleThree OF mnuExample PROMPT '\And this, too'

=messagebox( PRMPAD('mnuExample', 'titleOne') )
=messagebox( PRMPAD('mnuExample', 'titleTwo') )
=messagebox( PRMPAD(gcPopName, 'titleThree') )

ACTIVATE MENU mnuExample
DEACTIVATE MENU mnuExample
RELEASE MENU mnuExample

Expand image См. также

Описание

CNTBAR( ), функция
GETBAR( ), функция
DEFINE BAR, команда
DEFINE POPUP, команда
MRKPAD( ), функция
PRMBAR( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PROGRAM( ) Function

Visual FoxPro 9.0 Описание Языка
PROGRAM( ), функция
См. также Пример
CollapseAll image

Возвращает имя выполняемого в настоящий момент программного модуля на заданном уровне вложения выполняемых программных модулей; или имя выполняемого программного модуля, в котором произошла Ошибка выполнения.

PROGRAM([nLevel])

Параметры

nLevel

Определяет номер уровня выполняемых модулей, на котором требуется определить имя текущего модуля. Параметр nLevelможет принимать значения: от 0 - до общего количества уровней вложения вызываемых программ. Дополнительная информация о количестве допустимых уровней программных вложений при выполнении команды DO... находится в разделе: Системные возможности Visual FoxPro.

Когда параметр nLevel - отсутствует, функция PROGRAM( ) возвращает имя текущей выполняемой программы (модуля). Если вы задаете значение = 0 или = 1, для nLevel, PROGRAM( ) возвращает имя Главной программы, или имя программы самого верхнего уровня.

Если для параметра nLevel вы задаете значение уровня = -1, PROGRAM( ) возвращает числовое значение уровня выполняемой в настоящий момент программы. Однако, при выполнениее команды: ? PROGRAM(–1) из системного Командного окна, всегда возвращается значение = 0.

Если параметр nLevel имеет недопустимое значение для уровней программной вложенности (nesting depth), функция PROGRAM( ) возвращает пустую строку ("").

Expand image Возвращаемое значение

Символьное или Числовое. PROGRAM( ) возвращает имя выполняемого программного модуля, или номер уровня выполняемой программы, или пустую строку.

Expand image Комментарии

Рассматриваемая в данном разделе функция PROGRAM( ) может быть использована для обработки возможных Ошибок выполнения. Функция PROGRAM( ) аналогична системной функции: SYS(16) - Имя файла выполняемой программы.

Expand image Пример

CopyCode image Копировать Код
ON ERROR DO errhand WITH PROGRAM( )
*** The next line should generate an error ***
USE nodatabase
ON ERROR && Returns to system default error-handling routine
PROCEDURE errhand
PARAMETERS gcProgram
WAIT 'An error occurred in the program ' + gcProgram WINDOW

Expand image См. также

Описание

DO, команда
LINENO( ), функция
MESSAGE( ), функция
ASTACKINFO( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PROMPT( ) Function

Visual FoxPro 9.0 Описание Языка
PROMPT( ), функция
См. также
CollapseAll image

Возвращает заголовок элемента меню, который выбирается в настоящий момент.

PROMPT( )

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

PROMPT( ) возвращает заголовок элемента меню, который выбран последним (в текущий момент). Подсистема меню может быть пользовательской или системной, Visual FoxPro. Если в текущий момент подсистема меню неактивна или нажата клавиша ESC при выходе из меню, PROMPT( ) возвращает пустую строку.

Для меню, созданного при помощи команды DEFINE MENU, заголовок элемента меню задается соответствующей командой DEFINE PAD. Для меню, созданного при помощи команды DEFINE POPUP, заголовок элемента меню создается командой DEFINE BAR.

MENU( ) и POPUP( ) могут быть использованы для определения заголовка пункта меню или раздела меню, или конкретного пункта меню.

Expand image См. также

Описание

BAR( ), функция
DEFINE BAR, команда
DEFINE MENU, команда
DEFINE PAD, команда
DEFINE POPUP, команда
POPUP( ), функция
PRMBAR( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PROPER( ) Function

Visual FoxPro 9.0 Описание Языка
PROPER( ), функция
См. также Пример
CollapseAll image

Преобразует символьное заданное выражение в строку с Заглавными первыми символами (как имена собственные).

PROPER(cExpression)

Параметры

cExpression

Определяет символьное выражение, которое функция PROPER( ) преобразует в строку с Заглавными Первыми Буквами.

Expand image Возвращаемое значение

Символьного типа

Expand image Пример

CopyCode image Копировать Код
STORE 'Visual FoxPro' TO gcExpr1

CLEAR
? PROPER(gcExpr1)  && отображается "Visual Foxpro"
STORE 'VISUAL FOXPRO' TO gcExpr2
? PROPER(gcExpr2)  && отображается "Visual Foxpro"

Expand image См. также

Описание

LOWER( ), функция
UPPER( ), функция
Создание символьных выражений

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PROW( ) Function

Visual FoxPro 9.0 Описание Языка
PROW( ), функция
См. также Пример
CollapseAll image

Возвращает текущий номер строки, в которой находится печатающая головка принтера.

PROW( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Если выполняется команда EJECT, Visual FoxPro устанавливает PROW( ) = 0.

Функция PROW( ) - особенно полезна при относительной адресации печатаемого текста.

Expand image Пример

В следующем примере, обе, представленные команды выполняют одно и тоже действие. Вы можете использовать оператор ($) вместо рассматриваемой функции PCOL( ). Оба варианта $, и PCOL( ) возвращают одну текущую позицию печатающей головки принтера.

CopyCode image Копировать Код
@ PROW( ), PCOL( ) + 12 SAY 'Contact person'
@ PROW( ), $+12 SAY 'Contact person'

Expand image См. также

Описание

@ ... SAY, команда
COL( ), функция
PCOL( ), функция
ROW( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


PRTINFO( ) Function

Visual FoxPro 9.0 Описание Языка
PRTINFO( ), функция
См. также
CollapseAll image

Возвращает текущие параметры печатающего устройства, принтера.

PRTINFO(nPrinterSetting [, cPrinterName])

Параметры

nPrinterSetting

Определяет тип возвращаемой настройки принтера для Visual FoxPro. В следующей далее таблице описываются возможные значения данного параметра.

nPrinterSetting Имя в файле FOXPRO.H Возвращаемая характеристика

1

PRT_ORIENTATION

Ориентация бумажного листа (Портрет или Ландшафт)

2

PRT_PAPERSIZE

Размер Листа

3

PRT_PAPERLENGTH

Высота Листа, в разрешении 0.1 миллиметра

4

PRT_PAPERWIDTH

Ширина Листа, в разрешении 0.1 миллиметра

5

PRT_SCALE

Фактор Масштабирования

6

PRT_COPIES

Количество печатаемых Копий

7

PRT_DEFASOURCE

Стандартный источник бумаги (лоток)

8

PRT_PRINTQUAL

Положительное число, характеризующее горизонтальное разрешение принтера: точек-на-дюйм (dots per inch (DPI)); или отрицательное число, характеризующее качество печати.

9

PRT_COLOR

Значение, характеризующее Цветную или Монохромную печать.

10

PRT_DUPLEX

Состояние режима Duplex

11

PRT_YRESOLUTION

Вертикальное разрешение: точек-на-дюйм (dots per inch (DPI)). Если значение недоступно, возвращается значение = -1.

12

PRT_TTOPTION

Значение, характеризующее поддержку шрифтов типа TrueType®

13

PRT_COLLATE

Значение, характеризующее возможность сортировки данных (Collate)
cPrinterName

Определяет системное имя печатающего устройства, принтера, информация о котором запрашивается в данный момент. Если параметр cPrinterName отсутствует, предполагается текущий Принтер (по-умолчанию).

Expand image Возвращаемое значение

Числового типа. В следующих далее таблицах описываются возможные возвращаемые значения, которые зависят от начального параметра nPrinterSetting.

Если nPrinterSetting = 1, PRTINFO( ) возвращает установленную ориентацию печатаемого Листа:

Возвращаемое значение | Ориентация печатаемого Листа
–1 | Информация недоступна
0 | Портрет (Portrait)
1 | Ландшафт (Landscape)

Если параметр nPrinterSetting = 2, PRTINFO( ) возвращает текущий размер печатаемого Листа:

Возвращаемое значение | Paper size
–1 или другое, отличное от представленных | Информация недоступна. Используйте значение параметра nPrinterSetting = 3 или nPrinterSetting = 4 для получения дополнительной информациио размере Листа печати.
1 | Letter, 8 1/2 x 11 in
2 | Letter Small, 8 1/2 x 11 in
3 | Tabloid, 11 x 17 in
4 | Ledger, 17 x 11 in
5 | Legal, 8 1/2 x 14 in
6 | Statement, 5 1/2 x 8 1/2 in
7 | Executive, 7 1/4 x 10 1/2 in
8 | A3, 297 x 420 mm
9 | A4, 210 x 297 mm
10 | A4, Small 210 x 297 mm
11 | A5, 148 x 210 mm
12 | B4, 250 x 354 mm
13 | B5, 182 x 257 mm
14 | Folio, 8 1/2 x 13 in
15 | Quarto, 215 x 275 mm
16 | 10 x 14 in
17 | 11 x 17 in
18 | Note, 8 1/2 x 11 in
19 | Envelope #9, 3 7/8 x 8 7/8 in
20 | Envelope #10, 4 1/8 x 9 1/2 in
21 | Envelope #11, 4 1/2 x 10 3/8 in
22 | Envelope #12, 4 1/2 x 11 in
23 | Envelope #14, 5 x 11 1/2 in
24 | C size sheet
25 | D size sheet
26 | E size sheet
27 | Envelope DL, 110 x 220 mm (конверт)
28 | Envelope C5, 162 x 229 mm
29 | Envelope C3, 324 x 458 mm
30 | Envelope C4, 229 x 324 mm
31 | Envelope C6, 114 x 162 mm
32 | Envelope C65, 114 x 229 mm
33 | Envelope B4, 250 x 353 mm
34 | Envelope B5, 176 x 250 mm
35 | Envelope B6, 176 x 125 mm
36 | Envelope, 110 x 230 mm
37 | Envelope Monarch, 3 7/8 x 7.5 in
38 | 6 3/4 Envelope, 3 5/8 x 6 1/2 in
39 | US Std Fanfold, 14 7/8 x 11 in
40 | German Std Fanfold, 8 1/2 x 12 in
41 | German Legal Fanfold, 8 1/2 x 13 in

Если параметр nPrinterSetting = 7, PRTINFO( ) возвращает текущий лоток для бумаги:

Возвращаемое значение | Текущий рабочий Лоток
1 | Верхний (Upper bin)
2 | Нижний (Lower bin)
3 | Средний (Middle bin)
4 | Ручная подача (Manual feed)
5 | Для конвертов (Envelope bin)
6 | Ручная подача конверта (Manual feed envelope)
7 | Автоматическая подача (Automatic feed)
8 | Tractor feed
9 | Small format
10 | Large format
11 | Large capacity
14 | Cassette
15 | Текущий Лоток (выбирается автоматически)

Если параметр nPrinterSetting = 8, а функция PRTINFO( ) возвращает отрицательное значение, которое характеризует текущее качество печати:

Возвращаемое значение | Качество печати
–1 | Черновое (Draft)
–2 | Низкое качество (Low)
–3 | Среднее (Medium)
–4 | Высокое (High)

Если параметр nPrinterSetting = 9, PRTINFO( ) возвращает значение, характеризующее возможность Цветной или Монохромной печати:

Возвращаемое значение | Варианты
1 | Monochrome
2 | Color

Если nPrinterSetting = 10, PRTINFO( ) возвращает состояние режима Duplex:

Return values | Режим Duplex
1 | Печать Simplex
2 | Вертикальный Duplex
3 | Горизонтальный Duplex

Если nPrinterSetting = 12, PRTINFO( ) возвращает характеристику возможности поддержки шрифтов типа TrueType®:

Возвращаемое значение | Печать шрифтов TrueType®
1 | Печать в режиме Графики
2 | Загрузка программных шрифтов
3 | Использование встроенных Шрифтов Принтера

Если nPrinterSetting = 13, PRTINFO( ) возвращает значение, характеризующее поддержку Сollate:

Возвращаемое значение | Collation
0 | Не поддерживается (No collation)
1 | Поддерживается (Collated)

Expand image Комментарии

Вы можете настроить параметры Принтера с помощью специального диалогового бокса в системе Visual FoxPro. Смотрите дополнительно раздел: Параметры Страницы, диалоговый бокс.

Expand image См. также

Описание

GETPRINTER( ), функция
PRINTSTATUS( ), функция
SET DEVICE, команда
SET PRINTER, команда
SYS(13) - Статус Принтера
SYS(1037) - Параметры Страницы, диалоговый бокс

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


PUTFILE( ) Function

Visual FoxPro 9.0 Language Reference
Функция PUTFILE( )
Смотреть также Пример

Откывает диалоговое окно Save As и возвращает задаваемое имя файла.

PUTFILE([cCustomText] [, cFileName] [, cFileExtensions])

Parameters

cCustomText

Задает надпись вверху диалогового окна Save As.
cFileName

Задает имя файла, предлагаемое по умолчанию в текстовом поле.
cFileExtensions

Задает расширения имен файлов. В прокручиваемом списке диалогового окна Save As будут отображены только имена файлов с заданным расширением, если флажок All Files сброшен. Если введенное имя файла не имеет расширения, к нему автоматически будет присоединено первое расширение из списка cFileExtensions. Параметр cFileExtensions не может превышать 254 символа в длине. Список расширений имен файлов Visual FoxPro и соответствующих им типов приложений см. Расширения имен файлов и типы файлов. Символьное выражение cFileExtensions может иметь один из следующих форматов:
  • cFileExtensions может содержать только одно расширение имени, такое как .PRG, и задавать отображение имен файлов только с этим расширением.

  • cFileExtensions может содержать список расширений имен файлов, разделенных точкой с запятой. Например, если задать PRG;FXP, Visual FoxPro отобразит все имена файлов с расширениями .PRG и .FXP.

  • Если несколько файлов имеют одно имя и разные расширения (например CUSTOMER.PRG и CUSTOMER.FXP), Visual FoxPro отобразит только то имя файла, расширение которого стоит первым в списке cFileExtensions..

  • cFileExtensions может содержать список расширений имен файлов, разделенных вертикальной чертой, например PRG|FXP. В этом случае Visual FoxPro отобразит все имена файлов с заданными расширениями, даже если эти файлы имеют одинаковые корневые имена.

  • Если аргумент cFileExtensions состоит только из точки с запятой (;), Visual FoxPro отобразит все имена файлов, не имеющие расширений.

  • Если cFileExtensions представляет собой пустую строку, Visual FoxPro отобразит имена всех файлов в текущем каталоге.

  • Если cFileExtensions содержит символы подстановки MS-DOS, такие как вопросительный знак (?) и звездочка (*), Visual FoxPro отобразит все имена файлов, расширения которых удовлетворяют заданному критерию. Например, если в качестве cFileExtensions задать ?X?, будут отображены все имена файлов с расширениями .FXP, .EXE, .TXT и т.д.

Результат

Символьный

Замечания

С помощью функции PUTFILE( ) можно выбрать имя существующего файла или задать новое имя файла. PUTFILE( ) возвращает имя файла вместе с путем к нему. Если имя файла не введено, PUTFILE( ) возвращает предлагаемое по умолчанию имя файла (заданное аргументом cFileName) и расширение (заданное аргументом cFileExtensions). Если нажать кнопку Cancel или клавишу Esc, функция PUTFILE( ) возвратит пустую строку. Вы можете присвоить имя, возвращенное функцией PUTFILE( ), своему файлу и сохранить его на диске.

Пример

В следующем примере создается файл с разделителями данных для произвольной существующей таблицы, которую укажет пользователь. Функция GETFILE( ) ищет и открывает таблицу, а PUTFILE( ) возвращает имя создаваемого файла.
Копировать код
gcTableName = GETFILE('DBF', 'Open Table:')
USE (gcTableName)
gcDelimName = ALIAS( ) + '.DLM'
gcDelimFile = PUTFILE('Delimited file:', gcDelimName, 'DLM')
IF EMPTY(gcDelimFile)  && нажата клавиша Esc
   CANCEL
ENDIF
COPY TO (gcDelimFile) DELIMITED   && Создаем файл с разделителями
MODIFY FILE (gcDelimFile) NOEDIT

Смотреть также

Другие ресурсы

Функции
Функция FILE( )
Команда GETEXPR
Функция GETFILE( )
Функция GETPICT( )
Функция LOCFILE( )

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


PV( ) Function

Visual FoxPro 9.0 Справочник Языка
PV () Функция
См. Также Пример

Возвращает существующее значение инвестиции.

PV(nPayment, nInterestRate, nTotalPayments)

Параметры

nPayment

Определяет размер периодического платежа. nPayment может принимать положительне или отрицательные значения. PV( ) предполагает, что платежи сделаны в конце каждого периода.
nInterestRate

Определяет периодическую процентную ставку. Если процентная ставка инвестиций является ежегодной, и платежи сделаны ежемесячно, разделите ежегодную процентную ставку на 12.
nTotalPayments

Определяет общее количество платежей.

Возвращаемое значение

Числовое

Замечания

PV( ) вычисляет существующее значение инвестиций, основанных на ряде равных периодических платежей при постоянной процентной ставке.

Пример

Скопировать код
STORE 500 to gnPayment  && Periodic payments made monthly
STORE .075/12 TO gnInterest     && 7.5% annual interest rate
STORE 48 TO gnPeriods  && Four years (48 months)
CLEAR
? PV(gnPayment, gnInterest, gnPeriods)  && Displays 20679.19

См. Также

Другие Ресурсы

Функции
CALCULATE Команда
FV( ) Функция
PAYMENT( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


QUARTER( ) Function

Visual FoxPro 9.0 Описание Языка
QUARTER( ) Функция
См. также
CollapseAll image

Возвращает квартал года для указанного выражения типа date или datetime.

QUARTER(dExpression | tExpression [, nMonth])

Параметры

dExpression

Определяет выражение типа Date для которого функция QUARTER( ) возвращает значение квартала.

tExpression

Определяет выражение типа DateTime для которого функция QUARTER( ) возвращает значение квартала.

nMonth

Определяет дополнительный параметр номера месяца для определения квартала. Вы можете использовать данный параметро для определения не календарнгого квартала а финансового.

Expand image Возвращаемое Значение

данное типа Numeric. Функция QUARTER( ) возвращает номер квартала для указанной даты, и может принимать значение 0, 1, 2, 3, или 4.

Note Замечание

Функция QUARTER( ) возвращает 0 если задано пустое выражение типа Date или DateTime , например, QUARTER({//}).

Expand image См. также

Описание

CMONTH( ) Функция
DATE( ) Функция
DATETIME( ) Функция
DAY( ) Функция
MONTH( ) Функция
YEAR( ) Функция

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


RAISEEVENT( ) Function

Visual FoxPro 9.0 Справочник Языка
RAISEEVENT () Функция
См. Также Пример

Вы можете использовать RAISEEVENT( ) для срабатывания, или вызывания события из пользовательского метода. Хотя RAISEEVENT( ) применяется прежде всего к методам пользователя, Вы можете использовать её для того, чтобы вызвать родные события и методы.

RAISEEVENT( oEventSource, cEvent [, eParm1...] )

Параметры

oEventSource

Определяет источник события, который должен быть допустимым объектом Visual FoxPro.
cEvent

Определяет имя события, метода, или свойства, которое Вы хотите вызвать.
eParm1...

Определяет один или более параметров, чтобы их передать, если метод имеет параметры.

Возвращаемое значение

Логический тип данных. RAISEEVENT( ) всегда возвращает Истину (.T)..

Замечания

Visual FoxPro автоматически вызывает события для методов пользователя, которые являются связанными с объектами через BINDEVENT( ) , если методы называются напрямую. Например, следующий код не вызовет событие:

Скопировать код
oForm.GetMyData(cData)

Вместо этого, чтобы вызвать событие для пользовательсткого метода, Вы должны сделать следующий запрос:

Скопировать код
RAISEEVENT( oForm, "GetMyData", cData )

Вы можете также изменить это поведение, используя BINDEVENT( ) с nFlags установленным в 2 или 3.

Событие, которое Вы желаете вызвать, должно быть помечено Public , а не Hidden или Protected .

Если Вы используете RAISEEVENT( ) для свойства, Visual FoxPro устанавливает свойство в собственное значение. Следующий пример устанавливает свойство Caption для _SCREEN в текущее значение для Caption :

Скопировать код
RAISEEVENT( _SCREEN, "Caption" )

Вызов события не происходит, если Вы привязываетесь к событию, например, используя BINDEVENT( ) , котрое имеет параметры передаваемые по ссылке.

Visual FoxPro игнорирует рекурсивные вызовы RAISEEVENT( ) к событию, изнутри того же самого вызванного события.

Пример

Активизация формы или использования Form1.Show вызывает событие Activate для формы. Однако, вызывая событие Activate непосредственно через запрос типа Form1.Activate, не вызывает события Activate . Следующий пример показывает, как Вы можете использовать RAISEEVENT( ) для вызова события Activate :

Скопировать код
RAISEEVENT( Form1, "Activate" )

См. Также

Другие Ресурсы

Функции
Связывание событий для Объектов Visual FoxPro
BINDEVENT( ) Функция
UNBINDEVENTS( ) Функция
AEVENTS( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RAND( ) Function

Visual FoxPro 9.0 Справка по языку
Функция RAND( )
См.также Пример

Возвращает псевдослучайное число в диапазоне от 0 до 1.

RAND([nSeedValue])

Параметры

nSeedValue

Задает некое "стартовое" значение, инициирующее последовательность значений, возвращаемых функцией RAND( ). Функция RAND( ) каждый раз будет возвращать одну и ту же последовательность псевдослучайных чисел, если вы будете задавать одно и то же стартовое значение параметра nSeedValue при первом её вызове, а при последующих вызовах функции RAND( ) параметр опускать. Если значение nSeedValue при первом вызове функции RAND() отрицательное, стартовое значение будет создано на основе показания системных часов. Для получения максимально случайного набора значений первый раз вызывайте функцию RAND() с параметром, имеющим отрицательное значение, а последующие разы при вызове RAND() не указывайте параметр. Если вы опустите параметр nSeedValue при первом вызове функции RAND(), будет использовано значение по умолчанию, равное 100,001.

Возвращаемое значение

Числовое

Примеры

Первый из приведенных ниже примеров показывает использование функции RAND( ) для создания таблицы из 10 записей, содержащих случайные значения, а затем функции MIN( ) и MAX( ) для получения минимального и максимального значений в таблице.

Второй пример показывает получание псевдослучайного числа в диапазоне между 1 и 10.

Скопировать код
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10 && Добавление 10 записей
 APPEND BLANK
 REPLACE cValue WITH 1 + 100 * RAND( ) && Вставка случайного значения
ENDFOR

CLEAR
LIST && Отображение значений
gnMaximum = 1 && Инициализация минимального значения
gnMinimum = 100 && Инициализация максимального значения
SCAN
 gnMinimum = MIN(gnMinimum, cValue)
 gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'The minimum value is: ', gnMinimum && Отображение минимального значения
? 'The maximum value is: ', gnMaximum && Отображение максимального значения

CLEAR
gnLower = 1
gnUpper = 10

? INT((gnUpper - gnLower + 1) * RAND( ) + gnLower)

См.также

Функции
Функция EXP( )
Функция PI( )
Функция MIN( )
Функция MAX( )

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RAT( ) Function

Visual FoxPro 9.0 справочник по языку
Функция RAT( )
Смотрите также Пример

Возвращает числовую позицию последнего вхождения символьного выражения в другое символьное выражение.

RAT(cSearchExpression, cExpressionSearched [, nOccurrence])

Parameters

cSearchExpression

Задает символьное выражение, которое функция RAT( ) ищет в выражении cExpressionSearched. В качестве символьного выражения можна указывать мемо поле любого размера.
cExpressionSearched

Задает символьное выражение, просматриваемое функциейthat RAT( ). В качестве символьного выражения можна указывать мемо поле любого размера.
nOccurrence

Указывает, какое вхождение выражения cSearchExpression, начиная справа и продвигаясь влево функция RAT( ) ищет в cExpressionSearched. По умолчанию, RAT( ) ищет последнее вхождение cSearchExpression (nOccurrence = 1). Если nOccurrence равно 2, RAT( ) ищет предпоследнее вхождение, и так далее.

Возвращаемое значение

Число

Коментарии

Функция RAT( ), в противоположность функции AT( ), просматривает символьное выражение cExpressionSearched , начиная справа и продвигаясь влево, в поисках последнего вхождения другого символьного выражения cSearchExpression.

RAT( ) возвращает целое число, указывающее позицию первого символа выражения cSearchExpression в выражении cExpressionSearched. RAT( ) возвращает 0 если cSearchExpression ненайден в cExpressionSearched, или nOccurrence больше числа вхождений cSearchExpression в выражение cExpressionSearched.

Функция RAT( ) ведет поиск с учетом регистра символов.

Пример

Копировать код
STORE 'abracadabra' TO string
STORE 'a' TO find_str
CLEAR
? RAT(find_str,string)  && Displays 11
? RAT(find_str,string,3)  && Displays 6

Смотрите также

Другие ресурсы

Функции
AT( ) функция
AT_C( ) функция
ATC( ) функция
ATCLINE( ) функция
ATLINE( ) функция
LEFT( ) функция
RATLINE( ) функция
RIGHT( ) функция
SUBSTR( ) функция
ATCC( ) функция
LEFTC( ) функция
RIGHTC( ) функция
SUBSTRC( ) функция
оператор $
OCCURS( ) функция
INLIST( ) функция

Перешлите коментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


RATC( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция RATC( )
Смотрите также
CollapseAll image

Возвращает номер позиции последнего вхождения символьного выражения или memo-поля в другое символьное выражение или memo-поле.

RATC(cSearchExpression, cExpressionSearched [, nOccurrence])

Параметры

cSearchExpression

Определяет символьное выражение, которое функция RATС( ) ищет в выражении cExpressionSearched.

cExpressionSearched

Определяет символьное выражение, просматриваемое функцией RATС( ) в поисках выражения cSearchExpression. В качестве символьных выражений cSearchExpression и cExpressionSearched можно указывать memo-поля любых размеров.

nOccurrence

Указывает, какое вхождение выражения cSearchExpression (начиная справа и продвигаясь влево) функция RATС( ) ищет в выражении cExpressionSearched. По умолчанию RATС( ) ищет последнее вхождение cSearchExpression (nOccurrence= 1). Если значение nOccurrence равно 2, RATС( ) ищет предпоследнее вхождение и т.д.

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Функция RATС( ) предназначена для обработки символьных выражений в двухбайтовой кодировке. Если выражение содержит только однобайтовые символы, функция RATС( ) эквивалентна функции RAT( ).

Функция RATС( ) возвращает номер позиции последнего вхождения символьного выражения или memo-поля в другое символьное выражение или memo-поле. Символьные выражения или memo-поля могут содержать любую комбинацию однобайтовых и двухбайтовых символов.

Функция RATС( ), в противоположность функции AT_C( ), просматривает символьное выражение cExpressionSearched, начиная справа и продвигаясь влево, в поисках последнего вхождения символьного выражения cSearchExpression.

Функция RATС( ) возвращает целое число, указывающее номер позиции первого символа выражения cSearchExpression в выражении cExpressionSearched. Функция RATС( ) возвращает 0 если cSearchExpression не найдено в cExpressionSearched, или nOccurrence больше числа вхождений cSearchExpression в выражение cExpressionSearched.

Функция RATС( ) осуществляет поиск с учетом регистра.

Эта функция полезна для работы с двухбайтовыми наборами символов, например, с японскими "алфавитами" харигана и катакана.

Expand image Смотрите также

Справочное руководство

AT_C( ), функция
LEFTC( ), функция
RAT( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


RATLINE( ) Function

Visual FoxPro 9.0 Описание Языка
RATLINE( ), функция
См. также Пример
CollapseAll image

Возвращает номер строки последнего "вхождения" поискового символьного выражения в исходной символьной строке или в поле типа Memo, поиск выполняется в последней строке.

RATLINE(cSearchExpression, cExpressionSearched)

Параметры

cSearchExpression

Определяет исходное символьное выражения, в котором функция RATLINE( ) выполняет поиск подстроки cExpressionSearched.

cExpressionSearched

Определяет поисковое символьное выражение. Символьные выражения cSearchExpression и cExpressionSearched могут быть полями типа Memo самого различного размера.

Функция MLINE( ) возвращает номер строки символьного выражения, в котором выполняется поиск cSearchExpression.

Note Совет

Функция RATLINE() обеспечивает удобный спорсоб поиска требуемых строк в полях типа memo.

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

Функция RATLINE( ) является обратной для функции ATLINE( ), поиск символьной подстроки cExpressionSearched выполняется с последнего символа в строке cExpressionSearched, (то есть справа), где располагается подстрока cSearchExpression.

Если поиск успешен, RATLINE( ) возвращает номер строки, в которой расположен поисковый текст. Если поисковая строка не найдена, RATLINE( ) = 0.

Поисковая процедура в функции RATLINE( ) чувствительна к регистру поисковых символов.

Caution note Обратите Внимание

Номер строки, возвращаемый функцией RATLINE() зависит от текущей установки команды SET MEMOWIDTH, если, соответственно, параметр поисковой строки cExpressionSearched соотносится с полем Memo. Дополнительно смотрите раздел: SET MEMOWIDTH, команда.

Expand image Пример

В следующем далее примере, RATLINE( ) возвращает номер строки для последней строки в Memo-поле с именем notes , в котором имеется поисковая строка (слово) = "graduated". Функция MLINE( ) используется в данном контексте программного кода для выгрузки содержания по номеру строкиu текстового поля.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE employee && Opens Employee table
STORE 'graduated' TO gcString
STORE MLINE(notes, RATLINE(gcString, notes)) TO gnFileLine
? gnFileLine

Expand image См. также

Описание

AT( ), функция
AT_C( ), функция
ATC( ), функция
ATCC( ), функция
ATCLINE( ), функция
ATLINE( ), функция
LEFT( ), функция
RAT( ), функция
RIGHT( ), функция
SUBSTR( ), функция
LEFTC( ), функция
MLINE( ), функция
RIGHTC( ), функция
SUBSTRC( ), функция
$, оператор
OCCURS( ), функция
INLIST( ), функция

Другие ссылки

Functions

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


RECCOUNT( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
RECCOUNT( ) Функция
Смотрите также Пример

Возвращает число записей в текущей или заданной таблице.

RECCOUNT([nWorkArea | cTableAlias])

Параметры

nWorkArea

Задает номер рабочей области для таблицы, открытой в другой рабочей области. Функция RECCOUNT( ) возвратит 0, если в заданной рабочей области нет открытых таблиц.
cTableAlias

Задает псевдоним (алиас) таблицы, открытой в другой рабочей области.

Возвращаемое значение

Numeric

Замечания

Значение, возвращаемое функцией RECCOUNT( ), не зависит от установок SET DELETED и SET FILTER.

Функция RECCOUNT( ), выданная без аргументов nWorkArea и cTableAlias, возвращает число записей в таблице, в выбранной в данный момент рабочей области.

Пример

В следующем примере Visual FoxPro сравнивает размер свободного пространства на диске с объемом, необходимым для сортировки таблицы customer.
Скопировать код
*** Check DISKSPACE before a SORT ***

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

*** Get size of table header ***

gnTableHead = HEADER( )

*** Calculate size of table ***

gnFileSize = gnTableHead + (RECSIZE( ) * RECCOUNT( ) + 1)
IF DISKSPACE( ) > (gnFileSize * 3)
   WAIT WINDOW 'Sufficient diskspace to sort.'
ELSE
   WAIT WINDOW 'Insufficient diskspace. Sort cannot be done.'
ENDIF

Смотрите также

Прочие ресурсы

Команда SET DELETED
Команда SET FILTER
Функции
Функция RECNO( )
Функция RECSIZE( )

Шлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


RECNO( ) Function

Visual FoxPro 9.0 Language Reference
Функция RECNO( )
Смотреть также Пример

Возвращает номер текущей записи в текущей или заданной таблице.

RECNO([nWorkArea | cTableAlias])

Параметры

nWorkArea

Задает номер рабочей области для таблицы открытой в другой рабочей области. RECNO( ) вернет 0, если в заданной рабочей области нет открытой таблицы.
cTableAlias

Задает псевдоним таблицы, открытой в другой рабочей области.

Возвращаемое значение

Числовое

Комментарии

Текущая запись - это запись, на которой установлен указатель записи.

RECNO( ) вернет отрицательные номера записей, добавленые в буфера таблицы.

RECNO( ) вернет значение на единицу больше числа записей в таблице, если указатель записи расположен за последней записью таблицы. Если указатель записи установлен перед первой записью таблицы или в таблице нет записей, RECNO( ) вернет 1. Если в таблице нет записей, EOF( ) всегда возвращает значение "истина" (.T.).

Функция RECNO( ), выданная без аргументов nWorkArea или cTableAlias вернет текущий номер записи для таблицы, открытой в текущей рабочей области.

Если Вы безуспешно применили команду SEEK в индексированной таблице, то задав 0 в качестве nWorkArea, можно воспользоваться алгоритмом "мягкого поиска", возвращающим номер наиболее похожей записи. RECNO(0) возвращает 0, если такой похожей записи найти не удалось. Visual FoxPro сгенерирует сообщение об ошибке, если выдать GO RECNO(0), когда похожая запись не найдена.

Избегите использовать RECNO () в индексном выражении для буферизированной таблицы. Поскольку RECNO () изменяет для новых записей, когда они переданы TABLEUPDATE (), может произойти искажение индекса.

Пример

Следующий пример ищет в таблице customer клиента по названию компании и, если название компании не найдено, использует RECNO (0), чтобы возвратить самую близкую по названию компанию.
Copy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer  && Opens Customer table
SET ORDER TO company
SEEK 'Ernst'
IF FOUND( )
   DISPLAY company, contact
ELSE
   GOTO RECNO(0)
   CLEAR
   ? 'Closest matching company is ' + company
   ? 'Record number: ' + ALLTRIM(STR(RECNO( )))
ENDIF

Смотреть также

Другие источники

Functions
GO | GOTO Command
RECCOUNT( ) Function
RECSIZE( ) Function
SEEK Command
SKIP Command

Отослать комментарии по этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


RECSIZE( ) Function

Visual FoxPro 9.0 Описание Языка
RECSIZE( ), функция
См. также Пример
CollapseAll image

Возвращает Размер (длину) записи некоторой Таблицы.

RECSIZE([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет номер Рабочей области, в которой открыта интересующая нас Таблица. RECSIZE( ) возвращает значение = 0, если в указанной Рабочей области нет открытой Таблицы.

cTableAlias

Определяет Алиас таблицы, открытой в другой рабочей области, отличной от текущей рабочей области.

Expand image Возвращаемое значение

Числового типа (Numeric)

Expand image Комментарии

RECSIZE( ), выполлненная без указания дополнительных, опциональных параметров nWorkArea / cTableAlias возвращает размер Записи таблицы, открытой в текущей рабочей области.

Expand image Пример

В далее представленном примере, система Microsoft Visual FoxPro выполняет вычисление доступного места на диске, для гарантированной сортировки рассматриваемой таблицы Сustomer.

CopyCode image Копировать Код
*** Check DISKSPACE before a SORT ***

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table

*** Get size of table header ***

gnTableHead = HEADER( )

*** Calculate size of table ***

gnFileSize = gnTableHead + (RECSIZE( ) * RECCOUNT( ) + 1)
IF DISKSPACE( ) > (gnFileSize * 3)
 WAIT WINDOW 'Sufficient diskspace to sort.'
ELSE
 WAIT WINDOW 'Insufficient diskspace. Sort cannot be done.'
ENDIF

Expand image См. также

Описание

RECCOUNT( ), функция
FSIZE( ), функция
HEADER( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


REFRESH( ) Function

Visual FoxPro 9.0 Описание Языка
REFRESH( ), функция
См. также
CollapseAll image

Обновляет ("освежает") Данные в соответствующих удаленных Представлениях SQL, а также в локальных Представлениях, и в курсорах, построенных на базе классов CursorAdapter.

REFRESH([nRecords [, nRecordOffset]] [, cTableAlias | nWorkArea])

Параметры

nRecords

Определяет количество Записей обновления. Если значение nRecords = 1 или параметр nRecords не указан, обновляется только текущая Запись. Если значение nRecords = 0, то обновление данных не выполняется.

nRecordOffset

Определяет количество Записей Представления, обновляемых вместе с текущей записью, и размещенных до текущей записи. Например, если текущая запись имеет номер = 10, а значение параметра nRecordOffset = 4, то записи обновляются начиная с записи с номером = 6. Если значение nRecordOffset = 0 или параметр nRecordOffset не указан, то обновление начинается с текущей Записи Представления.

cTableAlias

Определяет имя Алиаса курсора, соответствующего рассматриваемому удаленному или локальному Представлению SQL, а также алиас Курсора, построенного на базе класса CursorAdapter, записи которого обновляются.

nWorkArea

Определяет номер Рабочей области, в которой открыт Курсор, записи которого обновляются. Если параметры nWorkArea или cTableAlias - отсутствуют, обновляются Записи курсора, открытого в текущей рабочей области.

Expand image Возвращаемое значение

Числового типа. REFRESH( ) возвращает количество обновленных записей Представления.

Expand image Комментарии

Обновляемые Данные для записей Курсора выбираются из соответствующих Таблиц (источника данных), на основе которых построены соответствующие представления SQL или курсоры класса CursorAdapter. Если параметры в функции отсутствуют, то обновляются записи курсора Представления или класса CursorAdapter, открытого в текущей рабочей области.

Note Примечание

REFRESH( ) не выполняет обновление содержания "Буфферизированных" записей; тем не менее, значения полей записей обновляются при использовании соответствующей функции CURVAL( ). Смотрите дополнительную информацию в разделе: CURVAL( ), функция.

Caution note Обратите Внимание

Обновляемые записи могут содержать уникальные первичные Ключи. Если, в этом случае, первичный ключ в Базовой Таблице не может быть найден (определен), то соответствующие записи Представления SQL или курсора класса CursorAdapter помечаются на-удаление.

Note Совет

Выполнение функции REFRESH( ) может значительно влиять на общую производительность Приложения, так как повторно выполняет базовый SQL-оператор, на котором построены соответствующие курсоры. Поэтому, рекомендуется выполнять данную функцию только в самых важных случаях.

Expand image См. также

Описание

CREATE SQL VIEW, команда
CURSORGETPROP( ), функция
CURSORSETPROP( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


RELATION( ) Function

Visual FoxPro 9.0 Описание Языка
RELATION( ) Функция
См. также Пример
CollapseAll image

Возвращает выражение связи текущей таблицы с другой таблицей, открытой в заданной рабочей области.

RELATION(nRelationNumber [, nWorkArea | cTableAlias])

Параметры

nRelationNumber

Определяет номер связи. Например, если nRelationNumber = 3, функция RELATION( ) возвращает выражение связки для таблиц, "связанных третьими".

nWorkArea

Определяет рабочую область для таблицы, открытой в другой рабочей области. Если в указанной рабочей области нет открытой таблицы, функция RELATION( ) возвращает пустую строку.

cTableAlias

Определяет имя алиаса таблицы, открытой в другой рабочей области.

Expand image Возвращаемое Значение

Типа Character

Expand image Комментарии

Функция RELATION( ), по-умолчанию, возвращает выражение связки (relational expressions) для таблицы, открытой в текущей рабочей области. Возвращается пустая строка, если связь с другими таблицами отсутствует. Для дополнительной информации о связях между таблицами см. описание команды SET RELATION.

Команды DISPLAY STATUS и LIST STATUS отображают выражения связки между таблицами. С помощью команды MODIFY DATABASE можно запустить средство Database Designer, где Вы можете создать и изменить связи между таблицами, прикрепленными к данной Базе Данных. При помощи команды SET вызывается средство Data Session, где Вы можете изменять связи между "свободными" таблицами, не расположенными в Базе Данных.

Expand image Пример

В следующем примере открываются таблицы, устанавливаются текущие индексы, связи между таблицами, отображаются выражения связки с помощью функции RELATION( ).

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer IN 0 ORDER cust_id  && Opens Customer table
USE employee IN 0 ORDER emp_id  && Opens Customer table
USE orders IN  0 ORDER order_id  && Opens Customer table
SELECT orders
SET RELATION TO emp_id INTO employee
SET RELATION TO cust_id INTO customer ADDITIVE
? RELATION(1)  && Displays CUST_ID
? RELATION(2)  && Displays EMP_ID
? RELATION(3)  && Displays empty string

Expand image См. также

Описание

DISPLAY STATUS Команда
MODIFY DATABASE Команда
LIST Команда
Общее описание команды SET
SET RELATION Команда
SET RELATION OFF Команда
TARGET( ) Функция

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


REMOVEPROPERTY( ) Function

Visual FoxPro 9.0 Описание Языка
REMOVEPROPERTY( ) Функция
См. также
CollapseAll image

Удаляет указанное свойство из объекта при выполнении программы.

REMOVEPROPERTY(oObjectName, cPropertyName)

Параметры

oObjectName

Определяет имя объекта, из которого удаляется свойство.

cPropertyName

Определяет имя существующего свойства объекта, которое удаляется из объекта. Вы можете указывать только имя свойства, но не как не имя события или метода.

Expand image Возвращаемое Значение

Типа Logical. Функция REMOVEPROPERTY( ) возвращает True (.T.) если удаление свойства успешно выполнено; в противном случае возвращается значение = False (.F.).

Expand image Комментарии

Вы можете использовать функцию REMOVEPROPERTY( ) для удаления свойств объекта, но не как не событий или методов. Вы можете использовать REMOVEPROPERTY( ) с объектами, созданными из базовых классов Visual FoxPro, COM-классов, объектов, созданных командой SCATTER...NAME, из объектолв _VFP, или _SCREEN.

Указанное свойство должно быть доступно Public, но не Hidden или Protected; и созданное в инстанции объекта обычно функцией ADDPROPERTY( ), или методом AddProperty, или командой SCATTER...NAME, чтобы в дальнейшем можно было его удалить функцией REMOVEPROPERTY( ).

Вы не можете удалить свойство объекта, которое задано при определении родительского класса данного объекта.

Функция REMOVEPROPERTY( ) не может удалить свойство объекта, как элемент массива. Для удаления массива целиком необходимо указать его имя.

Expand image Примеры

Пример 1

В следующем примере добавляется новое свойство в объект, созданный командой SCATTER , а за тем удаляется из него.

CopyCode image Копировать Код
USE customers
SCATTER NAME oCust
ADDPROPERTY(oCust,"MyProperty")
REMOVEPROPERTY(oCust,"MyProperty")

Пример 2

В следующем примере создается новое свойство, как массив в объекте oMyForm, отображается содержание его элементов как, 1 и "Two", и, за тем, удаляется указанное свойство.

CopyCode image Копировать Код
oMyForm = CREATEOBJECT('Form')
ADDPROPERTY(oMyForm, 'MyArray(2)', 1)
oMyForm.MyArray(2) = "Two"
CLEAR
? oMyForm.MyArray(1)
? oMyForm.MyArray(2)
REMOVEPROPERTY(oMyForm, 'MyArray')
RELEASE oMyForm
CLEAR

Expand image См. также

Описание

ADDPROPERTY( ) Функция
AddProperty Метод

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


REPLICATE( ) Function

Visual FoxPro 9.0 Справочник Языка
REPLICATE () Функция
См. Также Пример

Возвращает символьную строку, которая содержит указанное символьное выражение, повторенное указанное количество раз.

REPLICATE(cExpression, nTimes)

Параметры

cExpression

Определяет символьное выражение для репликации.
nTimes

Определяет количество репликаций для символьного выражения.

Возвращаемое значение

Символ

Замечания

В Visual FoxPro, максимальная длина результирующей символьной строки ограничена количеством доступной памяти.

Пример

Скопировать код
CLEAR
? REPLICATE('HELLO ',4) && Displays HELLO HELLO HELLO HELLO

См. Также

Другие Ресурсы

Функции
SPACE( ) Функция
Создание Символьных Выражений
CLEAR Команды

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


REQUERY( ) Function

Visual FoxPro 9.0 Описание Языка
REQUERY( ), функция
См. также
CollapseAll image

Загружает повторно данные для представления SQL (view).

REQUERY([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет номер рабочей области, в которой открыто представление SQL.

cTableAlias

Определяет алиас представления SQL. Если параметры nWorkArea и cTableAlias - отсутствуют (не указаны), загружаются данные для представления SQL, открытого в текущей рабочей области.

Expand image Возвращаемое значение

Числового типа. REQUERY( ) возвращает значение = 1, если данные успешно загружены; в противном случае возвращается = 0.

Expand image Комментарии

REQUERY( ) применяется обычно для обновления данных в SQL-представлении, когда выполняется их обновление в соответствующем источнике данных (Data Source).

Expand image См. также

Описание

CREATE SQL VIEW, команда
SELECT - SQL, команда
USE, команда
CREATE QUERY, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


RGB( ) Function

Visual FoxPro 9.0 Описание Языка
RGB( ), функция
См. также Пример
CollapseAll image

Возвращает одно значение Цветовой гаммы на основании заданных компонент: Красного, Зеленого и Синего.

RGB(nRedValue, nGreenValue, nBlueValue)

Параметры

nRedValue

Определяет интенсивность Красной Компоненты. nRedValue может принимать значения от 0 до 255. Нулевое значение - минимальная интенсивность; 255 - максимальная интенсивность данного цвета.

nGreenValue

Определяет интенсивность Зеленой Компоненты. nGreenValue может принимать значения от 0 до 255.

nBlueValue

Определяет интенсивность Синей Компоненты. nBlueValue может принимать значения от 0 до 255.

Expand image Комментарии

Значения, возвращаемые функцией RGB( ) могут быть использованы для установки значений Свойств, таких как BackColor и ForeColor.

Expand image Пример

В следующем примере, используется функция RGB( ) для изменения цвета Фона для формы, на синий цвет.

CopyCode image Копировать Код
goMyForm = CREATEOBJECT('FORM')  && создание формы
goMyForm.Show  && отображение формы
WAIT WINDOW 'Нажмите клавишу для изменения цвета формы'
goMyForm.BackColor=RGB(0,0,255)  && изменяем цвет фона для формы
WAIT WINDOW 'нажмите клавишу для закрытия формы'
RELEASE goMyForm  && форма стирается из памяти

Expand image См. также

Описание

GETCOLOR( ), функция
RGBSCHEME( ), функция
BackColor, ForeColor, Свойства

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RGBSCHEME( ) Function

Visual FoxPro 9.0 Описание Языка
RGBSCHEME( ), функция
См. также Пример
CollapseAll image

Возвращается цветовая RGB - пара или список RGB - параметров для указанной цветовой Схемы.

RGBSCHEME(nColorSchemeNumber [, nColorPairPosition])

Параметры

nColorSchemeNumber

Определяет номер цветовой Схемы, для которой данная функция возвращает 10 (десять) цветовых RGB - пар.

nColorPairPosition

Определяет номер RGB - пары, в указанной схеме. Параметр nColorPairPosition определяет позицию цветовой пары в общем списке цветовых RGB - пар данной Схемы. Например, если nColorPairPosition = 4, то возвращается Четвертая пара цветов RGB.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Функция SCHEME( ) возвращает традиционные цветовые пары (используемые в младших версиях VFP). RGB - нотация использует числовое представление цветовых характеристик. Традиционное представление цветовых пар выражается в символьном виде: "N/W" - черным-по- белому.

Expand image Пример

В следующем примере определяется третья цветовая пара RGB для цветовой Схемы # 4.

CopyCode image Копировать Код
CLEAR
? RGBSCHEME(4,3)

Expand image См. также

Описание

RGB( ), функция
SCHEME( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


RIGHT( ) Function

Visual FoxPro 9.0 Справка по языку
Функция RIGHT( )
См.также Пример

Возвращает указанное количество самых правых символов из символьной строки.

RIGHT(cExpression, nCharacters)

Параметы

cExpression

Определяет символьное выражение, правые символы которого возвращаются.
nCharacters

Определяет количество символов, которые возвращаются из символьного выражения. Функция RIGHT( ) возвращает символьное выражение целиком, если значение nCharacters превышает длину этого выражения. Функция RIGHT( ) возвращает пустую строку, если значение nCharacters отрицательное или нулевое.

Возвращаемое значение

Символьное

Замечания

Символы возвращаются в количестве, указанном параметром nCharacters, начиная счет с самого правого символа.

Пример

Скопировать код
CLEAR
? RIGHT('Redmond, WA', 2) && Отображается WA

См.также

Другие ресурсы

Функции
Функция AT( )
Функция AT_C( )
Функция ATC( )
Функция ATCC( )
Функция ATCLINE( )
Функция ATLINE( )
Функция LEFT( )
Функция LEFTC( )
Функция LTRIM( )
Функция RAT( )
Функция RATLINE( )
Функция RTRIM( )
Функция RIGHTC( )
Функция SUBSTR( )
Функция SUBSTRC( )
Функция TRIM( )

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RIGHTC( ) Function

Visual FoxPro 9.0 Описание Языка
RIGHTC( ), функция
См. также
CollapseAll image

Возвращает заданное количество символов, начиная с правого края, из символьной строки.

RIGHTC(cExpression, nCharacters)

Параметры

cExpression

Определяет символьное выражение, для которого определяются правые символы.

nCharacters

Определяет количество возвращаемых символов из заданного символьного выражения. RIGHTC( ) возвращает заданную строку символов целиком, если nCharacters больше чем длина символьной строки cExpression. RIGHTC( ) возвращает пустую строку, если параметр nCharacters имеет отрицательное значение, или = 0.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Функция RIGHTC( ) разработана для обработки символьных строк в формате double-byte characters. Если в символьном выражении содержатся только символы single-byte characters, RIGHTC( ) эквивалентна функции RIGHT( ).

Возвращаемая подстрока начинается с указанного номера символа nCharacters и до конца исходной строки.

Данная функция применяется для обработки символьных строк типа double-byte character sets для таких языков как Hiragana и Katakana.

Expand image См. также

Описание

AT( ), функция
AT_C( ), функция
ATC( ), функция
ATCC( ), функция
ATCLINE( ), функция
ATLINE( ), функция
LEFT( ), функция
LEFTC( ), функция
RAT( ), функция
RATLINE( ), функция
SUBSTR( ), функция
RIGHT( ), функция
SUBSTRC( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


RLOCK( ) Function

Visual FoxPro 9.0 Описание Языка
RLOCK( ) Функция
См. также Пример
CollapseAll image

Выполняется попытка блокировки записи или записей таблицы.

RLOCK([nWorkArea | cTableAlias] | [cRecordNumberList, nWorkArea
 | cTableAlias])

Параметры

nWorkArea| cTableAlias

Определяет номер рабочей области или алиас таблицы, открытой в другой рабочей области. Если данный параметр не задан, функция RLOCK( ) выполняет попытки блокировки записей в текущей рабочей области.

cRecordNumberList

Определяет список номеров записей, для которых функция RLOCK( ) выполняет попытки блокировки. Символьное выражение cRecordNumberList определяет один или несколько номеров записей, разделенных запятой. Например, для блокировки первых четырех записей в таблице достаточно указать в параметре cRecordNumberList следующий текст "1, 2, 3, 4".

Для блокировки нескольких записей Вы можете использовать установки команды SET MULTILOCKS on , и указать соответственно номер рабочей области (nWorkArea) или имя алиаса (cTableAlias) для таблицы, записи которой должны быть заблокированы.

Вы можете также выполнять блокировку нескольких записей перемещая указатель записи и вызывая последовательно функции RLOCK( ) или LOCK( ) для каждой записи.

В системе Visual FoxPro, вы можете в качестве номера записи указывать 0. В этом случае блокируется заголовок таблицы.

Caution note Предупреждение

Блокировка заголовка таблицы на короткое время сохраняет последний от изменений, которые могут быть выполнены другими пользователями, например, пользователи не могут добавить новые записи.

Снятие блокировки заголовка таблицы выполняется командами: UNLOCK RECORD 0, UNLOCK, или UNLOCK ALL.

Если все записи, указанные в списке номеров cRecordNumberList успешно заблокированы, функция RLOCK( ) возвращает значение = true (.T.). Если одна или несколько записей не блокируется, RLOCK( ) возвращает = false (.F.) и записи деблокируются. В любом случае, остальные записи остаются блокированными. Множественная блокировка записей является аддитивным процессом, который не отменяет блокировку уже заблокированных записей.

Для стратегии использования: блокировка всей таблицы осуществляется гораздо быстрее, чем блокировка небольшого количества записей.

Expand image Возвращаемое Значение

Типа Logical

Expand image Комментарии

Функции RLOCK( ) и LOCK( ) являются синонимами.

Изменения явно блокированных записей не сохраняются до момента их деблокирования или перемещения указателя записи.

Если блокировка или блокировки успешно выполнены, RLOCK( ) возвращает значение = true (.T.). Блокированные записи доступны для чтения/записи "хозяину" данных блокировок, для остальных пользователей эти записи доступны в режиме "только-чтение"

Выполнение функции RLOCK( ) не гарантирует успешной блокировки записей. Блокировка записи не завершается пока запись блокируется другим пользователем, или вся таблица блокируется. Если блокировка записей не выполняется по различным причинам, функция RLOCK( ) возвращает значение = false (.F.).

По-умолчанию, RLOCK( ) пытается блокировать одну запись. Используйте установки команды SET REPROCESS to для автоматического повтора попыток блокировки записей. Команда SET REPROCESS управляет количеством попыток блокировки, или длительностью интервала времени, через который повторяются попытки блокировки. Для дополнительной информации см. описание SET REPROCESS.

Команда SET MULTILOCKS определяет, можете ли Вы блокировать несколько записей таблицы. Если SET MULTILOCKS установлено off (по-умолчанию), Вы можете заблокировать в таблице только одну запись. Если SET MULTILOCKS установлено on, Вы можете блокировать несколько записей. См. дополнительно SET MULTILOCKS.

Записи таблицы могут быть разблокированы только пользователем, начавшим процесс блокирования. Записи разблокируются при: выполнении команды UNLOCK, закрытии таблицы, или завершении работы Visual FoxPro.

Команда UNLOCK может быть использована для разблокирования записей в текущей рабочей области, в указанной рабочей области, во всех рабочих областях. См. дополнительно команда UNLOCK.

Переключение SET MULTILOCKS ON -> OFF или OFF -> ON подразумевает выполнение UNLOCK ALL. Блокировки всех записей во всех областях снимаются.

Для закрытия таблицы используйте команды: USE, CLEAR ALL, или CLOSE DATABASES.

Для дополнительной информации о блокировании записей в сети см. раздел Программирование Коллективного доступа к данным.

Expand image Пример

В следующем примере блокируется и деблокируется по 4-е записи в таблицах customer и employee .

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
SET REPROCESS TO 3 AUTOMATIC
STORE '1,2,3,4' TO gcRecList
gcOldExc = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SELECT 0
USE employee  && Open Employee table
SELECT 0
USE customer  && Open Customer table
? LOCK('1,2,3,4', 'customer')  && Lock 1st 4 records in customer
? RLOCK(gcRecList, 'employee')  && Lock 1st 4 records in employee
UNLOCK IN customer
UNLOCK IN employee
SET EXCLUSIVE &gcOldExc

Expand image См. также

Описание

CLEAR Команды
CLOSE Команды
FLOCK( ) Функция
LOCK( ) Функция
SET MULTILOCKS Команда
SET RELATION Команда
SET REPROCESS Команда
UNLOCK Команда
USE Команда
ISFLOCKED( ) Функция
ISRLOCKED( ) Функция

Другие Ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


ROUND( ) Function

Visual FoxPro 9.0 Справочник Языка
ROUND () Функция
См. Также Пример

Возвращает числовое выражение, округленное до указанного количества десятичных знаков.

ROUND(nExpression, nDecimalPlaces)

Параметры

nExpression

Определяет числовое выражение, значение которого должно быть округлено.
nDecimalPlaces

Определяет количество десятичных знаков до которого округлено выражение nExpression . Если nDecimalPlaces является отрицательным, ROUND( ) возвращает целое, содержащее нули, в количестве равном nDecimalPlaces влево от десятичной точки. Например, если nDecimalPlaces принимает значение -2, первые и вторые цифры влево от десятичной точки выражения равны 0.

Возвращаемое значение

Числовой тип данных. ROUND( ) возвращает значение, округленное до ближайшей десятичной позиции как определено nDecimalPlaces .

Замечания

ROUND( ) игнорирует количество десятичных знаков, указанных командой SET DECIMALS . Для отображения большего количества десятичных знаков чем указанно nDecimalPlaces в ROUND( ) , используйте SET FIXED ON с SET DECIMALS .

Пример

Следующий пример определяет, что результирующее значение отображается с четырьмя десятичными знаками, используя команды SET DECIMALS и SET FIXED . Пример очищает главное окно Visual FoxPro, используя команду CLEAR , выполняет операцию округления функцией ROUND () , и выводит результаты, используя команду ? . Пример восстанавливает заданные при запуске значения по умолчанию используя SET FIXED и SET DECIMALS .

Скопировать код
SET DECIMALS TO 4
SET FIXED ON
CLEAR
? ROUND(1234.1962, 3) && Displays 1234.1960
? ROUND(1234.1962, 2) && Displays 1234.2000
? ROUND(1234.1962, 0) && Displays 1234.0000
? ROUND(1234.1962, -1)  && Displays 1230.0000
? ROUND(1234.1962, -2)  && Displays 1200.0000
? ROUND(1234.1962, -3)  && Displays 1000.0000
SET FIXED OFF
SET DECIMALS TO 2

См. Также

Другие Ресурсы

Функции
STR( ) Функция
CEILING( ) Функция
FLOOR( ) Функция
INT( ) Функция
SET DECIMALS Команда
SET FIXED Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ROW( ) Function

Visual FoxPro 9.0 Описание Языка
ROW( ), функция
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Свойства CurrentX, CurrentY .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


RTOD( ) Function

Visual FoxPro 9.0 Описание Языка
RTOD( ), функция
См. также Пример
CollapseAll image

Преобразует Радианы в соответствующие Градусы.

Вы можете использовать данную функцию RTOD( ), когда работаете в системе Visual FoxPro с Тригонометрическими функциями COS( ), SIN( ), и TAN( ).

RTOD(nExpression)

Параметры

nExpression

Определяет числовое выражение, заданное в Радианах.

Expand image Возвращаемое значение

Числового типа. RTOD( )возвращает величину угла, соответствующего заданным радианам.

Expand image Комментарии

Для обратного преобразования: величину угла -> в радианы, используйте функцию DTOR( ).

Expand image Пример

CopyCode image Копировать Код
CLEAR
? RTOD(ACOS(0))  && отображается 90.00
STORE -1 to gnArcAngle
? RTOD(ACOS(gnArcAngle))  && отображается 180.00
? RTOD(ACOS(SQRT(2)/2)) && отображается 45.00

Expand image См. также

Описание

COS( ), функция
DTOR( ), функция
SIN( ), функция
TAN( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


RTRIM( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция RTRIM( )
Смотрите также Пример
CollapseAll image

Удаляет все концевые пробелы или символы синтаксического анализа из указанного символьного выражения, или все концевые нулевые байты из указанного двоичного выражения.

RTRIM(cExpression [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

Параметры

cExpression

Определяет выражение типа Character или Varbinary, из которого будут удалены концевые пробелы или нулевые байты соответственно.

nFlags

Определяет, будет ли приниматься во внимание регистр символов при их удалении, если используются один или более символов синтаксического анализа cParseChar, cParseChar2, … . Регистр имеет значение, если nFlags равен нулю или опущен. Функция нечувствительна к регистру при nFlags=1.

cParseChar [, cParseChar2 [, ...]]

Определяет одну или более символьных строк, которые будут удаляться из выражения cExpression начиная с правого края. Если выражение cParseChar опущено, то из выражения Expression будут удаляться концевые пробелы или концевые нулевые байты.

Примечание Максимальная длина строки cParseChar - 23 символа.

Expand image Возвращаемое значение

Character или Varbinary. Функция RTRIM( ) возвращает указанное выражение без концевых пробелов, символов синтаксического анализа или нулевых байтов.

Expand image Замечания

Функцию RTRIM( ) можно использовать, когда требуется обеспечить удаление концевых пробелов или нулевых байтов из данных, введенных пользователем. RTRIM( ) идентична функции TRIM( ).

Expand image Пример

CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
CLEAR
? 'The contact for '+ RTRIM(company) + ' is ' + contact

Expand image Смотрите также

Справочное руководство

ALLTRIM( ), функция
LTRIM( ), функция
TRIM( ), функция

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


SAVEPICTURE( ) Function

Visual FoxPro 9.0 Справочник Языка
SAVEPICTURE () Функция
См. Также

Создает файл точечного рисунока (.bmp) из объектной ссылки picture.

SAVEPICTURE(oObjectReference, cFileName)

Параметры

oObjectReference

Определяет объектную ссылку рисунка, от которой SAVEPICTURE( ) создает файл точечной графики.
cFileName

Определяет имя файла точечной графики, который создается функцией SAVEPICTURE( ). Если cFileName включает путь, файл создается в каталоге, указанном в пути. Если файл с тем же самым именем уже существует, он обновляется без предупреждения, даже если SET SAFETY - ON.

Возвращаемое значение

Логическое

Замечания

Объектные ссылки рисунка обычно создаются через LOADPICTURE( ). Однако, некоторые свойства (типа свойство PictureOpen для элемента управления OLE) используют заданную по умолчанию объектную ссылку рисунка, которая может использоваться, чтобы создать файл точечной графики.

См. Также

Другие Ресурсы

Функции
LOADPICTURE( ) Функция
SET SAFETY Команда
_ObjectReference( ) Библиотечная функция API

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SCHEME( ) Function

Visual FoxPro 9.0 Описание Языка
SCHEME( ), функция
См. также Пример
CollapseAll image

Возвращает цветовую пару или весь список цветовых пар для заданной цветовой схемы.

SCHEME(nSchemeNumber [, nColorPairNumber])

Параметры

nSchemeNumber

Определяет номер цветовой схемы, для которой нужно определить список цветовых пар. Функция SCHEME( ) возвращает 10 (десять) цветовых пар (разделенных запятой).

nColorPairNumber

Определяет позицию (номер по-порядку) некоторой цветовой пары, которую нужно выделить из указанной цветовой схемы; в этом случае функция SCHEME( ) возвращает только одну пару определения цвета. Например, если nColorPairNumber = 4, SCHEME( ) возвращает четвертую цветовую пару из заданной цветовой схемы.

Expand image Возвращаемое значение

Символьного типа

Expand image Пример

В следующем примере, возвращается третья цветовая пара из цветовой схемы номер 4:

CopyCode image Копировать Код
? SCHEME(4,3)

Expand image См. также

Описание

ColorScheme, свойство
GETCOLOR( ), функция

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SCOLS( ) Function

Visual FoxPro 9.0 Справочник Языка
SCOLS () Функция
См. Также

Возвращает количество столбцов, доступных в главном окне Microsoft Visual FoxPro.

SCOLS( )

Возвращаемое значение

Числовое

Замечания

Значение, возвращенное SCOLS( ) зависит от текущего режима дисплея. Режимы дисплея могут быть изменены командой SET DISPLAY.

См. Также

Другие Ресурсы

Функции
COL( ) Функция
ROW( ) Функция
SET DISPLAY Команда
SROWS( ) Функция
WCOLS( ) Функция
WROWS( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SEC( ) Function

Visual FoxPro 9.0 Справочник Языка
SEC () Функция
См. Также Пример

Возвращает секунды из выражения DateTime.

SEC(tExpression)

Параметры

tExpression

Определяет выражение DateTime, из которого SEC( ) возвращает секунды. Если tExpression содержит только дату и не содержит вермя время, Visual FoxPro добавляет заданное по умолчанию время 12:00:00 AM (если SET HOURS - 12) или 00:00:00 (если SET HOURS - 24) к выражению tExpression для образования допустимого значения DateTime.

Возвращаемое значение

Числовое

Пример

Следующий пример выводит секунды текущего времени и секунды заданного времени.

Скопировать код
CLEAR
? SEC(DATETIME( ))
? SEC({^2004-02-16 10:42:16AM})  && Displays 16

См. Также

Другие Ресурсы

Функции
DATETIME( ) Функция
HOUR( ) Функция
MINUTE( ) Функция
SET SECONDS Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SECONDS( ) Function

Visual FoxPro 9.0 Описание Языка
SECONDS( ), функция
См. также Пример
CollapseAll image

Возвращает время в секундах, которое прошло с полуночи (с начала суток).

SECONDS( )

Expand image Возвращаемое значение

Числового типа. Функция SECONDS( ) возвращает числовое выражение, в десятичном формате, с уровнем разрешения 1 милисекунда (три знака после запятой). Для версий системы Visual FoxPro, запущенных Не под ОС Windows NT 4.0 и позднее, SECONDS( ) возвращает числовое значение с уровнем разрешения в 10 милисекунд (два знака после запятой).

Expand image Пример

CopyCode image Копировать Код
CLEAR
? SECONDS( )
? SECONDS( )/(60 * 60)

Expand image См. также

Описание

SYS(2) - количество секунд, прошедших с начала суток
TIME( ), функция
Seconds, свойство

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SEEK( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция SEEK( )
Смотрите также Пример
CollapseAll image

Просматривает индексированную таблицу в поисках первого вхождения записи, ключ индекса которой совпадает с заданным выражением. Выдача функции SEEK( ) эквивалентна последовательной выдаче команды SEEK и функции FOUND( ).

Note Примечание

Visual FoxPro не поддерживает операции поиска для двоичных индексов.

SEEK(eExpression [, nWorkArea | cTableAlias
   [, nIndexNumber | cIDXIndexFileName | cTagName]])

Параметры

eExpression

Задает выражение ключа индекса, который вы собираетесь искать с помощью функции SEEK( ).

nWorkArea

Задает номер рабочей области таблицы, в которой ведется поиск ключа индекса.

cTableAlias

Задает псевдоним таблицы, в которой ведется поиск.

Если аргументы nWorkArea и cTableAlias опущены, поиск ведется в таблице, которая открыта в текущей рабочей области.

nIndexNumber

Задает номер файла индекса или тега индекса, используемого для поиска ключа индекса. nIndexNumber указывает файлы индекса в том порядке, в котором они перечислены в команде USE или SET INDEX. Сначала нумеруются открытые файлы .idx в том порядке, в котором они фигурируют в команде USE или SET INDEX. Затем нумеруются теги в файле структурного индекса .CDX (если он существует) в порядке их создания. Наконец, нумеруются теги во всех открытых независимых файлах .CDX в порядке их создания. Для более подробной информации смотрите Команда SET ORDER.

cIDXIndexFileName

Задает файл .IDX, используемый для поиска ключа индекса.

cTagName

Задает тег файла .CDX, используемый для поиска ключа индекса. Имя тега может быть взято из файла структурного индекса .CDX или из любого файла независимого индекса .CDX.

Note Примечание

Если существуют тег и файл .IDX с одинаковыми именами, приоритет имеет файл .IDX.

Expand image Возвращаемое значение

Logical. Когда искомая запись найдена, функция SEEK( ) возвращает значение "Истина" (.T.) и указатель записи перемещается на найденную запись. Если поиск завершился неудачно, функция SEEK( ) возвращает "Ложь" (.F.), и указатель записи устанавливается в конец файла, если командой SET NEAR выполнена установка OFF или на запись с самым близким индексным ключом, если SET NEAR установлена в ON.

Expand image Замечания

Функция SEEK() может быть использована для поиска записей в таблице по установленному управляющему индексу, или, если управляющий индекс не установлен, он задается третьим параметром nIndexNumber, cIDXIndexFileName или cTagName. Механизм сравнения чувствителен к установке SET EXACT.

Если аргументы nIndexNumber, IDXIndexFileName и cTagName опущены, функция SEEK( ) использует для поиска ключа индекса главный управляющий индекс или тег.

Установка SET KEY игнорируется, если SEEK( ), использует неактивный индекс.

Expand image Пример

CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER cust_id  && Opens Customer table
? SEEK('CHOPS')  && Returns .T., record found

Expand image Смотрите также

Справочное руководство

Команда LOCATE
Команда SEEK
Команда SET NEAR
Команда SET ORDER
Команда SET KEY
Функция EOF( )
Функция FOUND( )
Функция INDEXSEEK( )

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


SELECT( ) Function

Visual FoxPro 9.0 Описание Языка
SELECT( ), функция
См. также Пример
CollapseAll image

Возвращает номер текущей используемой Рабочей Области или наибольший номер свободной рабочей области..

SELECT([ 0 | 1 | cTableAlias ])

Параметры

0

Определяет, что функция SELECT( ) возвращает номер текущей рабочей области.

1

Определяет, что функция SELECT( ) возвращает наибольший номер свободной рабочей области.

cTableAlias

Определяет алиас открытой Таблицы, для которой функция SELECT( ) возвращает номер рабочей области, где она открыта.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Функция SELECT( ) возвращает номер текущей рабочей области, если действует установка SET COMPATIBLE = OFF. Если SET COMPATIBLE = ON, SELECT( ) возвращает наибольший номер свободной рабочей области.

Рабочая Область (work area) может быть выбрана, активирована, или установлена как текущая с помощью команды SELECT.

Expand image Пример

CopyCode image Копировать Код
CLOSE DATABASES
SET COMPATIBLE ON
OPEN DATABASE (HOME(2) + 'data\testdata')

SELECT 0  && выбираем свободную рабочую область
USE customer  && открываем таблицу Customer

SELECT 0  && выбираем свободную рабочую область
USE orders  && открывает таблицу Orders

CLEAR
? SELECT( )  && возвращается = 3, наименьшая доступная рабочая область

Expand image См. также

Описание

ALIAS( ), функция
SELECT, команда
SET COMPATIBLE, команда

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


SET( ) Function

Visual FoxPro 9.0 Справочник Языка
SET () Функция
См. Также

Возвращает статус различных команд SET .

SET(cSETCommand [, 1 | cExpression | 2 | 3 | 4])

Параметры

cSETCommand

Определяет символьное выражение команды SET , для которой Вы хотите возвратить информацию. Текщая установка указанной команды возвращается как символьная или числовая строка.
1 | cExpression | 2 | 3 | 4

Определяет дополнительную информацию о команде SET . Значения 1 и cExpression являются идентичными; cExpression может быть любым выражением, которое вычисляется в значение символьного типа.
Обратите внимание:
Включение параметра возвращает дополнительную информацию не для всех команд SET , а только для тех, которые определяются значениями 1, 2, 3, или 4 в следующей таблице.

SET команда Возвращаемое значение

ALTERNATE

ON или OFF

ALTERNATE, 1

FileName

BELL, 1

cWAVFileName

CARRY

ON или OFF

CENTURY

ON или OFF

CENTURY, 1

nCentury

CENTURY, 2

ROLLOVER nYear

CENTURY, 3

Системные региональные установки календаря

CLOCK

ON или OFF

CLOCK, 1

nRow и nColumn

COMPATIBLE

ON или OFF

COMPATIBLE, 1

PROMPT или NOPROMPT

COVERAGE, 1

FileName

CURRENCY

LEFT или RIGHT

CURRENCY, 1

cCurrencySymbol

DATE

AMERICAN, ANSI, BRITISH/FRENCH, GERMAN, ITALIAN, JAPAN, USA, MDY, DMY, или YMD

DATE, 1

Дата Ordering:0 - MDY1 - DMY2 - YMD

DELIMITERS

ON или OFF

DELIMITERS, 1

cDelimiters

EVENTTRACKING

ON или OFF

EVENTTRACKING, 1

FileName

FIELDS

ON или OFF

FIELDS, 1

FieldName1 , FieldName2 ...

FIELDS, 2

LOCAL или GLOBAL

HELP

ON или OFF

HELP, 1

cFileName

HELP, 2

cCollectionURL

HELP, 3

SYSTEM

KEY

eExpression2 , eExpression3

KEY, 1

eExpression2

KEY, 2

eExpression3

MESSAGE

nRow

MESSAGE, 1

cMessageText

MOUSE

ON или OFF

MOUSE, 1

nSensitivity

NOTIFY

ON или OFF

NOTIFY, 1

ON или OFF

ORDER

TAG TagName OF CDXFileName , IDXFileName , или пробел

PRINTER

ON или OFF

PRINTER, 1

FileName или PortName

PRINTER, 2

Заданное по умолчанию имя принтера Windows

PRINTER, 3

Заданное по умолчанию имя принтера Visual FoxPro (указанное в окне Печати Visual FoxPro или Окне Print Setup)

REFRESH

nSeconds1

REFRESH, 1

nseconds2

REPROCESS

Текущая установка для сессии

REPROCESS, 1

Системная установка для сессии

REPROCESS, 2

Текущий тип установки для сессии

0 возвращается, если REPROCESS установлен в попытки.

1 возвращается, если REPROCESS установлен в секунды.

REPROCESS, 3

Системный тип установки для сессии

0 возвращается, если REPROCESS установлен в попытки.

1 возвращается, если REPROCESS установлен в секунды.

RESOURCE

ON или OFF

RESOURCE, 1

FileName

TALK

ON или OFF

TALK, 1

WINDOW, NOWINDOW или WindowName

TEXTMERGE

ON или OFF

TEXTMERGE, 1

cLeftDelimiter и cRightDelimiter

TEXTMERGE, 2

cFileName

TEXTMERGE, 3

SHOW/NOSHOW

TEXTMERGE, 4

Определяется источник, вызвавший TEXT ... ENDTEXT и возвращает уровень вложенности TEXTMERGE.

TOPIC

cHelpTopicName | lExpression

TOPIC, 1

NContextID

Возвращаемое значение

Символьный или Числовой тип данных. SET () возвращает значение команды SET .

Замечания

SET( ) распознает аббревиатуру в четыре символа для всех ключевых слов Visual FoxPro функции SET , за исключением HELPFILTER , которое может быть сокращено до пяти символов. Например, Вы можете использовать STAT и PRIN для SET STATUS и SET PRINTER , соответственно.

Фуанкция SET( ) идентична SYS(2001) .

См. Также

Другие Ресурсы

DISPLAY STATUS Команда
LIST Команда
SET Команда
SYS(2001) - SET ... Command Status
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SETFLDSTATE( ) Function

Visual FoxPro 9.0 Справочник Языка
SETFLDSTATE () Функция
См. Также Пример

Присваивает статус модификации или удаления полю или записи в таблице или курсоре.

SETFLDSTATE(cFieldName | nFieldNumber, nFieldState [, cTableAlias
   | nWorkArea])

Параметры

cFieldName | nFieldNumber

Определяет имя или номер поля, для которого присвоен статус модификация или удаления. Номер поля nFieldNumber соответствует номеру поля в структуре курсора или таблицы. DISPLAY STRUCTURE или FIELD( ) может использоваться, чтобы определить номер поля. Чтобы установить статус удаления для записи, включите 0 как номер поля.
nFieldState

Определяет значение статуса модификации или удаления для поля. Следующая таблица перечисляет значения статуса модификации или удаления для поля и соответствующий статус модификацию или удаления:

nFieldState Статус модификации или удаления

1

Поле не модифицировалось, или состояние удаления не изменялось.

2

Поле модифицировалось, или состояние удаления изменялось.

3

Поле в добавленной записи не модифицировалось, или состояние удаления не изменялось для добавленной записи.

4

Поле в добавленной записи модифицировалось, или состояние удаления изменялось для добавленной записи.

cTableAlias

Определяет псевдоним таблицы или курсора, в которых присвоены статусы модификации или удаления.
nWorkArea

Определяет рабочую область таблицы или курсора, в которых присвоены статусы модификация или удаления. Значения статуса модификация или удаления поля присваивааются в открытой таблице или курсоре выбранной текущей рабочей области, если SETFLDSTATE( ) выполнена без дополнительных параметров cTableAlias или nWorkArea .

Возвращаемое значение

Логическое

Замечания

Visual FoxPro использует значения состояния поля, чтобы определить, какие поля в таблицах или курсорах модифицированы. SETFLDSTATE( ) позволяет Вам контролировать, какие поля Visual FoxPro пытается обновить, независимо от того какие поля уже модифицированы в таблице или курсоре.

Пример

Следующий пример демонстрирует, как Вы можете использовать SETFLDSTATE( ), чтобы изменить статус поля. MULTILOCKS установлен в ON, требование для буферизации таблицы. Открыта таблица customer в базе данных testdata , затем используется CURSORSETPROP( ), чтобы установить режим буферизации в значение оптимистической буферизации таблицы (5).

Выполняется GETFLDSTATE( ), чтобы отобразить значение (1) соответствующее немодифицированному состоянию поля cust_id прежде, чем оно модифицировано. Поле cust_id изменяется командой REPLACE, и GETFLDSTATE( ) выполняется снова, чтобы отобразить значение (2) соответствтующее модифицированному состоянию поля cust_id .

SETFLDSTATE( ) используется, чтобы изменить состояние поля cust_id обратно в 1 (немодифицированный). GETFLDSTATE( ) выполняется снова и отображается 1, соответствуя состоянию поля cust_id , заданному функцией SETFLDSTATE( ). TABLEREVERT( ) используется, чтобы вернуть таблицу к ее первоначальному состоянию.

Скопировать код
CLOSE DATABASES
SET MULTILOCKS ON  && Must be on for table buffering
SET PATH TO (HOME(2) + 'Data\')     && Sets path to database
OPEN DATABASE testdata  && Open testdata database
USE Customer     && Open customer table
= CURSORSETPROP('Buffering', 5, 'customer')  && Enable table buffering
CLEAR
? GETFLDSTATE('cust_id')  && Displays 1, not modified
REPLACE cust_id    WITH '***'  && Changes field contents
? GETFLDSTATE('cust_id')  && Returns 2, field modified
= SETFLDSTATE('cust_id', 1)  && Change the field status
? GETFLDSTATE('cust_id')  && Displays 1, not modified
= TABLEREVERT(.T.)  && Discard all table changes

См. Также

Другие Ресурсы

DELETED( ) Функция
DISPLAY STRUCTURE Команда
FIELD( ) Функция
GETFLDSTATE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SETRESULTSET( ) Function

Visual FoxPro 9.0 Описание Языка
SETRESULTSET( ), функция
См. также
CollapseAll image

Создает некоторый результирующий Курсор для текущей Сессии Данных.

Note Примечание

Только один Курсор может быть выделен для текущей Сессии Данных. Когда выделяется следующий новый курсор, функция SETRESULTSET( ) очищает предыдущий выделенный курсор.

SETRESULTSET( nWorkArea | cTableAlias )

Параметры

nWorkArea

Определяет номер Рабочей Области, для которой выделяется Курсор.

cTableAlias

Определяет Алиас, который будет выделен для текущей Сессии Данных.

Expand image Возвращаемое значение

Числового типа. Функция SETRESULTSET( ) возвращает номер рабочей области, для которой выделен Курсор для текущей Сессии Данных, или значение = (0), если до настоящего момента Курсор не выделялся.

Expand image Комментарии

SETRESULTSET( ) поддерживается для стандартной системы Visual FoxPro и соответственно для Visual FoxPro OLE DB Provider. Вы можете использовать рассматриваемую функцию SETRESULTSET( ) в некотором контейнере базы данных (DBC), для Хранимых процедур или для передачи данных соответствующему Visual FoxPro OLE DB Provider, предполагая что рассматриваемый курсор предварительно открыт в текущей сессии провайдера OLE DB. Например, предположим, что уже открыт некоторый курсор с именем MyCursor, в текущей сессии OLE DB Provider. Следующий оператор загружает данными объект ADO RecordSet, для рассматриваемого курсора, MyCursor:

CopyCode image Копировать Код
oRecordSet = oConn.Execute("SETRESULTSET('MyCursor')")

При помощи функции SETRESULTSET( ) вы выделяете некоторый Курсор или Таблицу, которые заблаговременно открыты в соответствующем Visual FoxPro OLE DB Provider, вы можете загрузить конкретные данные в виде объектов RowSet, которые создаются из указанных курсоров или таблиц при выполнении соответствующих Хранимых процедур, размещенных в контейнере базы данных (DBC). Когда рассматриваемый провайдер OLE DB выполняет некоторую команду, создается указанный объект RowSet из соответствующего Выделенного Курсора, если последний существует, и очищает маркер выделения данного курсора.

Note Примечание

При использовании указанного Сценария провайдер OLE DB игнорирует все другие возвращаемые величины. Например, если хранимая процедура содержит оператор следующего типа: RETURN Value и существует выделенный Курсор, Провайдер не возвращает никакого значения. Вместо этого, возвращается выделенный курсор с соответствующими наборами данных в вызывающее Приложение. Когда указанный объект RowSet закрывается, то закрывается соответствующий выделенный Курсор.

Тем не менее, даже если провайдер OLE DB игнорирует любые возвращаемые величины при существующем выделенном курсоре, вы можете использовать функцию SETRESULTSET( ) с соответствующей командой RETURN. Смотрите следующий Пример:

CopyCode image Копировать Код
RETURN SETRESULTSET("MyCursor")

Данный оператор создает и возвращает записи из указанного Курсора, которые не возвращаются самой функцией SETRESULTSET( ).

Expand image См. также

Задачи

Как: Использовать механизм Сессия Данных (Data Sessions)

Описание

GETRESULTSET( ), функция
CLEARRESULTSET( ), функция
Поддерживаемые системой Visual FoxPro Команды и Функции в соответствующем Провайдере OLE DB

Другие ссылки

Функции

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SIGN( ) Function

Visual FoxPro 9.0 Описание Языка
SIGN( ), функция
См. также Пример
CollapseAll image

Возвращает числовое значение: 1, –1, или 0, для соответствующих параметров функции: положительных, отрицательных, или равных нулю.

SIGN(nExpression)

Параметры

nExpression

Определяет числовое выражение, для которого вызывается функция SIGN( ). SIGN( ) возвращает = 1, если параметр nExpression - положительное число, = –1, если nExpression - отрицательное число, и = 0, еслиf nExpression = 0.

Expand image Возвращаемое значение

Числового типа

Expand image Пример

CopyCode image Копировать Код
STORE 10 TO gnNum1
STORE -10 TO gnNum2
STORE 0 TO gnZero
CLEAR
? SIGN(gnNum1)  && отображается 1
? SIGN(gnNum2)  && отображается -1
? SIGN(gnZero)  && отображается 0

Expand image См. также

Описание

ABS( ), функция
COS( ), функция
SIN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SIN( ) Function

Visual FoxPro 9.0 Описание Языка
SIN( ), функция
См. также Пример
CollapseAll image

Возвращает значение Синуса заданного угла.

SIN(nExpression)

Параметры

nExpression

Определяет некоторый угол (в радианах), для которого возвращается соответствующий SIN( ). Параметр nExpression может принимать любое значение, для которого функция SIN( ) возвращает число в диапазоне от –1, до 1.

Note Обратите Внимание

nExpression задается в Радианах. Для преобразования величин углов (в градусах) - в соответствующие радианы, используйте функцию DTOR( ). Количество десятичных знаков в получаемом результате зависит от текущей установки команды SET DECIMALS.

Expand image Возвращаемое значение

Числового типа

Expand image Пример

CopyCode image Копировать Код
CLEAR
? SIN(0)  && отображается 0.00
? SIN(PI( )/2)  && отображается 1.00
? SIN(DTOR(90))  && отображается 1.00

Expand image См. также

Описание

ACOS( ), функция
COS( ), функция
DTOR( ), функция
RTOD( ), функция
SET DECIMALS, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SKPBAR( ) Function

Visual FoxPro 9.0 Справочник Языка
SKPBAR () Функция
См. Также

Определяет, активен ли пункт меню или деактивирован командой SET SKIP OF.

SKPBAR(cMenuName, MenuItemNumber)

Параметры

cMenuName

Определяет имя меню, которое содержит пункт.
MenuItemNumber

Определяет номер пункта меню, чье состояние (активное или неактивное) возвращает SKPBAR( ). Номер пункту меню присваивается, когда пункт меню создан командой DEFINE BAR.

Возвращаемое значение

Логическое

Замечания

SKPBAR( ) возвращает истину (.T.), если пункт меню неактивен, и ложь (.F.), если пункт меню активен.

См. Также

Другие Ресурсы

DEFINE BAR Команда
SET SKIP OF Команда
SKPPAD( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SKPPAD( ) Function

Visual FoxPro 9.0 Справочник Языка
SKPPAD () Функция
См. Также

Определяет, доступен ли заголовок меню или заблокирован командой SET SKIP OF.

SKPPAD(cMenuBarName, cMenuTitleName)

Параметры

cMenuBarName

Определяет имя строки меню, которая содержит заголовок меню.
cMenuTitleName

Определяет имя заголовка меню чье состояние (доступное или заблокированное) возвращает SKPPAD( ).

Возвращаемое значение

Логическое

Замечания

SKPPAD( ) возвращает истину (.T.), если заголовок меню заблокирован, и ложь (.F.), если заголовок меню доступен.

См. Также

Другие Ресурсы

DEFINE BAR Команда
SET SKIP OF Команда
SKPBAR( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SOUNDEX( ) Function

Visual FoxPro 9.0 Справка по языку
Функция SOUNDEX( )
См.также Пример

Возвращает фонетическое представление указанного символьного выражения.

SOUNDEX(cExpression)

Параметры

cExpression

Указывает символьное выражение, обрабатываемое SOUNDEX( ).

Возвращаемое значение

Символьное

Примечания

SOUNDEX( ) возвращает строку длиной в четыре символа. Сравнивая результаты, возвращаемые SOUNDEX( ) для двух символьных выражений, вы можете определить, насколько эти два выражения фонетически схожи между собой (насколько близко их произношение). Это может быть полезно при поиске дубликатов записей в таблице.

Функция SOUNDEX( ) нечувствительна к регистру символов и обычно пренебрегает гласными.

Прим.переводчика: Алгоритм SOUNDEX был разработан для английского языка и в таком виде реализован в функции SOUNDEX( ) Visual FoxPro, так что использование этой функции для русского языка не имеет смысла.

Пример

Скопировать код
CLEAR
? SOUNDEX('Smith') = SOUNDEX('Smyth') && Displays .T.
? SOUNDEX('Computer') && Displays C513

См.также

Функция DIFFERENCE( )
Проигрыватель звуков
Создание символьных выражений
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SPACE( ) Function

Visual FoxPro 9.0 Language Reference
Функция SPACE( )
See Also

Возвращает символьную строку, составленную из заданного числа пробелов.

SPACE(nSpaces)

Параметры

nSpaces

Задает количество пробелов, возвращаемых функцией SPACE( ). Максимальное значение аргумента nSpaces в Microsoft Visual FoxPro ограничено только ресурсами памяти.

Возвращаемое значение

Символьный

Смотреть также

Other Resources

PADC( ) | PADL( ) | PADR( ) Functions
REPLICATE( ) Function
Functions
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SQLCANCEL( ) Function

Visual FoxPro 9.0 Описание Языка
SQLCANCEL( ), Функция
См. также Пример
CollapseAll image

Выполняет остановку выполнения соответствующего SQL-оператора.

SQLCANCEL( ) прерывает выполнение Запросов, выполняемых функциями SQLCOLUMNS( ), SQLEXEC( ), SQLMORERESULTS( ), и SQLTABLES( ), которые выпоняются в Асинхронном режиме (удаленно на сервере данных). Для установки Асинхронного режима выполнения запросов используется функция SQLSETPROP( ), с соответствующим параметром.

SQLCANCEL(nStatementHandle)

Параметры

nStatementHandle

Определяет номер Дескриптора Соединения, для которого выполняется соответствующий SQL-оператор, выполнение которого требуется остановить, или прекратить.

Expand image Возвращаемое значение

Числового типа. SQLCANCEL( ) возвращает значение = 1, если выполнение SQL-оператора успешно остановлено, возвращает значение = – 1, если произошла ошибка уровня Соединения, или возвращает значение = – 2, если произошла ошибка уровня Окружения (ODBC).

Expand image Пример

В следующем примере предполагается, что функция SQLCONNECT( ) уже выполнена, установлено соединение с источником данных, дескриптор соединения записан в переменную памяти с именем gnHandle.

SQLEXEC( ) выполняет соответствующий SQL-оператор для источника данных, результаты помещаются в соответствующий Курсор. SQLCANCEL( ) выполняет остановку выполнения текущего запроса.

CopyCode image Копировать Код
= SQLSETPROP(gnHandle, 'asynchronous', .T.)   && To stop SQLEXEC( )
= SQLEXEC(gnHandle, 'SELECT * FROM authors')
= SQLCANCEL(gnHandle)   && Wrong select statement, cancel

Expand image См. также

Описание

AERROR( ), Функция
SQLCOLUMNS( ), Функция
SQLEXEC( ), Функция
SQLMORERESULTS( ), Функция
SQLSETPROP( ), Функция
SQLTABLES( ), Функция
SQL , Команды и Функции (Visual FoxPro)

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SQLCOLUMNS( ) Function

Visual FoxPro 9.0 Справочник Языка
SQLCOLUMNS () Функция
См. Также Пример

Сохраняет список имен столбцов и информацию о каждом столбце для указанной таблицы источника данных в курсоре Visual FoxPro.

SQLCOLUMNS(nStatementHandle, cTableName
    [, "FOXPRO" | "NATIVE"] [, cCursorName])

Параметры

nStatementHandle

Определяет активный дескриптор состояния.
cTableName

Определяет имя таблицы, из которой возращаяются имена столбцов. TableName может содержать групповые символы ? и *. Вопросительный знак (?) соответствует любому единственному символу, и звездочка (*) соответствует любому числу символов.
FOXPRO | NATIVE

Определяет формат для информации колонки в результатах. Убедитесь, что включили FOXPRO или NATIVE в кавычки. Опция формата NATIVE хранит информацию столбца таблицы в том же самом формате как источник данных. Опция формата FOXPRO хранит информацию столбца в том же самом формате, как для таблицы Visual FoxPro или курсора, который будет создан, если Вы импортировали таблицу источника данных в Visual FoxPro. Если Вы опускаете FOXPRO или NATIVE, значения по умолчанию опции формата устанавливается в FOXPRO. Следующая таблица показывает столбцы в результате вывода для формата FOXPRO.

Имя столбца Описание

Field_name

Имя столбца

Field_type

Тип данных столбца

Field_len

Длина столбца

Field_dec

Количество десятичных знаков

Столбцы в результатах вывода для формата NATIVE зависят от источника данных. Если таблицы, которую Вы определяет именем cTableName не существует и формат установлен в NATIVE, SQLCOLUMNS( ) возвращает истину (.T). и создает пустую таблицу или курсор. Если таблица, которуаю Вы определяет с именем cTableName не существует и формат установлен в FOXPRO, SQLCOLUMNS( ) возвращает ложь (.F)..
cCursorName

Определяет имя курсора Visual FoxPro для выводов результатов. Если Вы не включаете имя курсора, Visual FoxPro использует заданное по умолчанию имя SQLRESULT.

Возвращаемое значение

Числовой или Логическое. SQLCOLUMNS( ) возвращает 1, если курсор успешно создан, 0 если SQLCOLUMNS( ) все еще выполняется, - 1, если происходит ошибка уровня подключения, и - 2, если происходит ошибка уровня среды.

Замечания

SQLCOLUMNS( ) является одной из четырех функций, которые Вы можете выполнить или синхронно или асинхронно. Установка Asynchronous SQLSETPROP( ) определяет, выполняются ли эти функции синхронно или асинхронно. В асинхронном режиме, Вы должны вызывать SQLCOLUMNS( ) неоднократно, пока не будет возвращено значения отличное от лжи (.F)..

Пример

Следующий пример допупскает что SQLCONNECT( ) успешно запущена, и её возвращаемое значение сохранено в переменной памяти, которую именуют gnHandle . SQLCOLUMNS( ) используется, чтобы создать курсор MyCursor содержащий информации о столбцах таблицы authors .

Скопировать код
= SQLCOLUMNS(gnHandle, 'authors', 'FOXPRO', 'MyCursor')

См. Также

Другие Ресурсы

AERROR( ) Функция
SQLGETPROP( ) Функция
SQLSETPROP( ) Функция
SQLTABLES( ) Функция
SQL Команды и Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQLCOMMIT( ) Function

Visual FoxPro 9.0 Справочник Языка
SQLCOMMIT () Функция
См. Также Пример

Фиксирует транзакцию.

SQLCOMMIT(nStatementHandle)

Параметры

nStatementHandle

Определяет дескриптор подключения к источнику данных, возвращаемому SQLCONNECT( ) .

Возвращаемое значение

Числовое. SQLCOMMIT( ) возвращает 1, если транзакция успешно фиксирована; иначе, она возвращает -1. Если SQLCOMMIT( ) возвращает -1, Вы можете использовать AERROR( ) для определения, почему транзакция не могла быть фиксирована.

Замечания

Если имеются транзакции, управляемые вручную ( свойство транзакций SQLSETPROP( ) установлено в manual), Вы можете посылать множественные модификации для отдаленных таблиц и фиксировать все модификации с помощью SQLCOMMIT( ) .

Модификации могут быть отменены с помощью SQLROLLBACK( ) .

Пример

Следующий пример допускает, что SQLCONNECT( ) успешно запущена, и её возвращаемое значение сохранено в переменной памяти gnHandle . SQLSETPROP( ) используется, чтобы установить свойство Транзакций в 2 (Ручное), разрешая Вам использовать SQLCOMMIT( ) и SQLROLLBACK( ) .

Таблица authors модифцируется с помощью SQLEXEC( ) , и изменения в таблице фиксируются с помощью SQLCOMMIT( ) .

Скопировать код
= SQLSETPROP(gnHandle, 'Transactions', 2)  && Manual transactions
= SQLEXEC(gnHandle, "INSERT INTO authors (au_id, au_lname);
   VALUES ('aupoe', 'Poe')")  && Modify the authors table
= SQLCOMMIT(gnHandle)  && Commit the changes

См. Также

Другие Ресурсы

AERROR( ) Функция
BEGIN TRANSACTION Команда
END TRANSACTION Команда
SQLCONNECT( ) Функция
SQLROLLBACK( ) Функция
SQLSETPROP( ) Функция
SQL Команды и Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQLCONNECT( ) Function

Visual FoxPro 9.0 Справочник Языка
SQLCONNECT () Функция
См. Также Пример

Устанавливает подключение к источнику данных. Есть две версии синтаксиса.

SQLCONNECT([nStatementHandle])

SQLCONNECT([cConnectionName | cDataSourceName [, cUserID [, cPassword ]][, lShared]])

Параметры

nStatementHandle

Определяет, что новый дескриптор поодключения, будет создан для основного разделяемого подключения, которое представлено параметром nStatementHandle . Новый дескриптор использует параметры настройки, взятые от nStatementHandle вместо того, чтобы использовать параметры по умолчанию.
Обратите внимание:
Вы не можете создать новый дескриптор для подключения, которое не является разделяемым. Visual FoxPro генерирует ошибку, если Вы пытаетесь создать новый дескриптор по неразделяемому подключению.

Вы можете также использовать SQLCONNECT( ) для получения нового дескриптора по разделяемому подключению, которое было открыто использованием SQLSTRINGCONNECT( ) .
cConnectionName

Определяет именованное подключение, созданное командой CREATE CONNECTION . При использовании CREATE CONNECTION или Проектировщика Подключений для создания именованного подключения, Вы можете конфигурировать это подключение, определяя имя источника данных, пользовательский ID и пароль. При использовании именованного подключения в SQLCONNECT( ) как cConnectionName , Вы можете передать значения, отличающиеся от дополнительных параметров именованного подключении cUserID и cPassword . Эти передаваемые значения используются вместо пользовательского ID и пароля в именованном подключении, указанном cConnectionName . Например, предположите, что Вы создаете именованное подключение myNamedConnection используя CREATE CONNECTION или Проектировщик Подключений и определяете значения myUserID и myPassword для именованного подключения. Для SQLCONNECT( ) , Вы можете определить myNamedConnection как cConnectionName и затем определите myAltUserID и myAltPassword как дополнительный пользовательский ID и пароль как в следующем коде:
Скопировать код
SQLCONNECT("myNamedConnection", "myAltUserID", "myAltPassword")
Однако, если Вы создаете именованное подключение, используя строку подключения командой CREATE CONNECTION или Проектировщиком Подключения, или использовать именованное подключение в SQLCONNECT( ) , и попытайтесь передать параметры дополнительного пользовательского ID и пароля для SQLCONNECT( ) , то Visual FoxPro сгенерирует соответствующее сообщение. При создании нового разделяемого подключения, параметр cConnectionName ссылается на именованное подключение в контейнере текущей базы данных (DBC). При создании нового дескриптора подключения, основанного на существующем разделяемом подключении, параметр cConnectionName ссылается на предыдущее подключение, открытое в разделяемом режиме. Если Вы используете параметр cConnectionName без параметра lShared или с параметром lShared как Ложь (.F)., Вы будете всегда создавать новое подключение, которое не будет разделяемым. При использовании cConnectionName , если lShared является Истинным (.T). и именованное подключение является уже открытым в разделяемом режиме, то заданные имя пользователя и пароль должены соответствовать использованным ранее. Иначе, Visual FoxPro генерирует соответствующее сообщение.
cDataSourceName

Определяет имя источника данных как определено в вашем Odbc.ini файле. Вы можете также выбрать источник данных из Диалогового окна Select Connection or Data Source , которое появляется, когда Вы вызываете SQLCONNECT( ) без дополнительных параметров или только с параметром lShared .
cUserID

Определяет пользовательский идентификатор, используемый, чтобы подключиться к источнику данных.
cPassword

Определяет пароль для того, чтобы получить доступ к источнику данных.
lShared

Определяет, создавать ли общедоступное подключение или нет.

lShared Описание

Ложь (.F).

SQLCONNECT( ) не создает разделяемого подключения. (Значение по умолчанию)

Истина (.T).

SQLCONNECT( ) создает разделяемое подключение.

Возвращаемое значение

Числовой тип данных. SQLCONNECT( ) возвращает положительное числовое значение отличное от нуля как дескриптор подключения, если Вы успешно соединяетесь с источником данных. SQLCONNECT( ) возвращения -1, если она не может создать подключение.

Совет:
Вы должны хранить этот дескриптор подключения в переменной памяти и использовать переменную в последующих запросах функций, которые требуют дескриптора подключения.

Замечания

Функции SQLCONNECT( ) и SQLSTRINGCONNECT( ) функции возвращают числовое значение как операторный дескриптор, а не дескриптор подключения. Вы не можете получить дескриптор подключения непосредственно. Вы можете все еще устанавливать и получать свойства соединения, используя функции SQLSETPROP( ) и SQLGETPROP( ) , передавая операторный дескриптор для этого подключения и строку "Shared", как параметры. Все другие функции SQL используют операторный дескриптор вместо дескриптора подключения.

Если Вы выполняете инструкцию типа SQLCONNECT(cConnectionName.T.) , и разделяемое подключение является уже открытым с тем же самым именем, тогда параметры настройки для этого подключения не изменяются на параметры настройки, сохраненные для этого подключения в контейнере базы данных (DBC). Однако, новый дескриптор инструкции будет использовать параметры инструкции из DBC.

Обратите внимание:
Вы должны запретить диалоговое окно login ODBC, чтобы поддержать прохождение сквозных SQL-запросов при использовании Сервера Транзакций Microsoft. Чтобы отключать диалоговое окно Login ODBC, используйте инструкцию SQLSETPROP(nStatementHandle, 'DispLogin ', 3) , где cStatementHandle является дескриптором инструкции, возвращенным SQLCONNECT( ) . Вы можете также отключить диалоговое окно Login ODBC в Проектировщике Подключения .

Пример

Пример 1

Следующий пример предполагает, что источник данных ODBC по имени MyFoxSQLNT существует и доступен. SQLCONNECT( ) возвращает числовое значение, которое сохраняется в переменной gnConnHandle .

Если Вы успешно соединяетесь с источником данных, SQLCONNECT( ) возвращает положительное число, появляется диалоговое окно, и вызывается SQLDISCONNECT( ) , чтобы разъединения с источником данных.

Если Вы не можете соединиться с источником данных, SQLCONNECT( ) возвращает отрицательное число и выводит сообщение.

Скопировать код
STORE SQLCONNECT('MyFoxSQLNT', 'myUserID', 'myPassword') TO gnConnHandle
IF gnConnHandle <= 0
   = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
   = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
   = SQLDISCONNECT(gnHandle)
ENDIF

Пример 2

Каждый из следующих примеров создает новые разделяемые подключения. Появляется диалоговое окно Choose Data Source, и SQLCONNECT( ) создает окончательное подключение как разделяемое.

Скопировать код
SQLCONNECT(.T.)
SQLCONNECT( myConnectionName, .T. )
SQLCONNECT( myDataSourceName, myUserID, myPassword, .T. )

Пример 3

Каждый из следующих примеров создает новый дескриптор инструкции, основанный на существующем разделяемом подключении.

Скопировать код
SQLCONNECT( nStatementHandleValue )
SQLCONNECT( myConnectionName, .T. )

См. Также

Другие Ресурсы

AERROR( ) Функция
CREATE CONNECTION Команда
SQLDISCONNECT( ) Функция
SQLGETPROP( ) Функция
SQLEXEC( ) Функция
SQLSETPROP( ) Функция
SQLSTRINGCONNECT( ) Функция
SQL Команды и Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQLDISCONNECT( ) Function

Visual FoxPro 9.0 Описание Языка
SQLDISCONNECT( ), Функция
См. также Пример
CollapseAll image

Закрывает Соединение с удаленным источником Данных.

SQLDISCONNECT(nStatementHandle)

Параметры

nStatementHandle

Определяет номер Дескриптора Соединения с удаленным источником данных, который возвращается функцией SQLCONNECT( ). Если задается значение = 0, для параметра nStatementHandle, то закрываются все открытые-активные Соединения.

Expand image Возвращаемое значение

Числового типа. SQLDISCONNECT( ) возвращает значение = 1, если успешно выполнено закрытие указанного Соединения; если возвращается значение = – 1, то произошла ошибка уровня Соединения; если возвращается значение = – 2, то произошла ошибка уровня Окружения (ODBC).

Expand image Комментарии

SQLDISCONNECT( ) закрывает Соединение с удаленным источником Данных. Вы должны указать номер Дескриптора Соединения, который получен ранее при помощи функции SQLCONNECT( ), в момент установки (открытия) Соединения с удаленным источником данных.

Note Примечание

Если вы выполняете функцию SQLDISCONNECT( ) при активном режиме асинхронного выполнения SQL-запроса или незавершенной Транзакции изменения данных, то данная функция SQLDISCONNECT( ) генерирует сообщение об Ошибке, Соединение не закрывается, прооцесс занят.

Expand image Пример

В следующем примере предполагается установка Соединения (ODBC) с удаленным источником данных MyFoxSQLNT. SQLCONNECT( ) уже выполнена, номер дескриптора соединения сохранен в переменной памяти с именем gnHandle.

Если успешно выполена попытка установки соединения с удаленным источником данных, SQLCONNECT( ) возвращает положительное число, выводится диалоговый бокс, сообщающий об установленном соединении; далее используется функция SQLDISCONNECT( ) - для закрытия установленного соединения.

Если попытка соединения с источником данных завершилась аварийно, SQLCONNECT( ) возвращает отрицательное число, выводится соответствующий диалоговый бокс, сообщающий о невозможности установить соединение с удаленным источником данных.

CopyCode image Копировать Код
STORE SQLCONNECT('MyFoxSQLNT', '<userid>', '<password>') TO gnHandle
IF gnHandle <= 0
   = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
   = MESSAGEBOX('Connection made', 48, 'SQL Connect Message)
   = SQLDISCONNECT(gnHandle)
ENDIF

Expand image См. также

Описание

AERROR( ), Функция
SQLCONNECT( ), Функция
SQLSTRINGCONNECT( ), Функция
SQL, Команды и Функции (Visual FoxPro)

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SQLEXEC( ) Function

Visual FoxPro 9.0 Описание Языка
SQLEXEC( ), функция
См. также Пример
CollapseAll image

Передает команду SQL удаленному Источнику Данных (Серверу), где данная команда обрабатывается.

SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]])

Параметры

nStatementHandle

Определяет Дескриптор (указатель, идентификатор) удаленного источника данных, возвращаемый ранее выполненной функцией SQLCONNECT( ). Дополнительную информацию смотрите в разделе: SQLCONNECT( ), функция.

cSQLCommand

Определяет оператор (команду) SQL, направляемую удаленному источнику данных Data Source (DS).

Данный Оператор SQL может содержать параметризированную опцию WHERE, которая характеризует параметризированное Представление View. Вам необходимо определить, или однозначно указать все параметры в опции WHERE до выполнения данной функции SQLEXEC( ). Например, если параметры являются Переменными (variables), они должны быть созданы и иметь конкретные значения до выполнения данной функции SQLEXEC( ). Дополнительную информацию смотрите в разделе: Как: Создать Параметризированное Представление View.

В данный оператор SQL вы можете включать различные выражения. Система Visual FoxPro пытается вычислить все выражения, включенные в оператор SQL, и только после этого направляет данный Оператор в DS (сервер). Visual FoxPro определяет все переменные памяти, вызов пользовательских и системных функций, вычисляет сложные выражения, заключенные в круглые скобки "(...)", которые определяют значения требуемых параметров Представления.

cCursorName

Определяет имя (наименование) Курсора Visual FoxPro, в который выгружаются получаемые результаты выполнения оператора SQL. Если данный параметр функции не указан, Visual FoxPro использует имя по-умолчанию: SQLRESULT.

В случае, когда выгружается несколько наборов данных (несколько курсоров), имя каждого нового курсора определяется по правилу: к "основному" имени курсора (заданному) добавляется порядковый номер: sqlresult2, sqlresult3... .

aCountInfo

Определяет имя массива переменных памяти, в который выгружается дополнительная информация о количестве выгруженных строк (записей) в результирующие курсоры (или курсор). Если массив отсутствует, то он будет создан автоматически. Данный массив имеет два столбца: 1 – Алиас Курсора, 2 – количесво записей (строк таблицы).

Столбец Содержит Тип данных Краткое описание

Алиас
курсора

"0"

Character

Указывает на то, что нет результатов выполнения данного оператора SQL. Или выполняемый Запрос не имеет результатов, или оператор SQL не может быть выполнен. (при последнем вызове функции SQLMORERESULTSl), или выполнение оператора SQL прервано в исполнителе DS. Данный результат может быть расположен только в первом элементе рассматриваемого массива. Столбец Count (второй) имеет значение = -1.

Непустая
строка
в верхнем
регистре

Character

Имя результирующего Курсора (алиас). Столбец Count (второй) содержит количество вызруженных Записей, или значение = -1, если требуемые записи отсутствуют. Если Count = -1, указанный курсор не создается. В условиях Асинхронного выполнения оператора SQL, процесс выборки результирующих записей разделяется между несколькими вызовами соответствующих функций SQLMORERESULTS / SQLEXEC; каждая функция возвращает свое значение количества выгруженных Записей.

Пустая
строка

Character

Указывает на то, что соответствующие операторы SQL (такие как: INSERT, UPDATE, DELETE) не возвращают никаких результатов (наборов данных, курсоров).

Количество

Количество выгруженный
записей.

Integer

Указывает на количество выгруженных записей в результирующий курсор, данное значение возвращается соответствующей функцией ODBC SQLRowCount. Значение = -1 указывает на то, что результирующие записи в курсоре отсутствуют.

Expand image Возвращаемое значение

Числового типа (Numeric). SQLEXEC( ) возвращает количество выгруженных Курсоров (если их несколько). SQLEXEC( ) возвращает значение = 0, если выполнение последнего оператора SQL еще не законченно, возвращает значение = 1, при нормальном завершении процесса выгрузки данных. SQLEXEC( ) возвращает значение = –1, если произошла ошибка уровня Соединения (ODBC Level Error).

Expand image Комментарии

Если требуемый оператор SQL имеет достаточно большую длину (более 255 символов), желательно проверять длину строки оператора SQL. Может возникнуть ошибочная ситуация: Error: "Command contains unrecognized phrase/keyword" (Команда содержит незаконченную фразу / слово). В этом случае рекомендуется разбить исходную строку оператора SQL на несколько логических строк, соединенных операндом сложения символьных строк. Например:

CopyCode image Копировать Код
lnRetVal = SQLEXEC(lnHandle, "SELECT <long list of fields> " + ;
 "FROM <several tables> " + ;
 "WHERE <complex filter expression>")

Если перед непосредственным выполнение функции SQLEXEC( ) используется проверочная, подготовительная функция SQLPREPARE( ), то достаточно указывать только Дескриптор Соединения, обязательный аргумент nStatementHandle. Остальные аргументы функции cSQLCommand / CursorName могут быть опущены. Смотрите дополнительно раздел: SQLPREPARE( ), функция.

Если при выполнении оператора SQL создается один результирующий набор данных, SQLEXEC( ) выгружает один соответствующий Курсор Visual FoxPro. Если данный оператор SQL генерирует несколько результирующих наборов данных, то вы можете определить / задать уникальные имена для каждого из результирующих Курсоров. Для этого: выключите Пакетный режим выполнения: BatchMode = False (.F.), для этого используется соответствующая функция, смотрите раздел: SQLSETPROP( ), функция, при каждом вызове соответствующей функции подгрузки результатов, смотрите раздел: SQLMORERESULTS( ), функция, определяйте новое имя результирующего Курсора. В другом случае, при использовании функции SQLEXEC( ), имена результирующих курсоров создаются последовательным добавлением порядкового номера к базовому имени результирующего курсора.

SQLEXEC( ) одна из 4-х (четырех) функций, которые могут выполняться в Синхронном (synchronously) или Асинхронном (asynchronously) режиме. Асинхронный режим выполнения операторов SQL определяет дополнительным вызовом функции SQLSETPROP( ), где задается соответствующий синхронный / асинхронный режим выполнения. В Асинхронном режиме вы можете бесконечно (в цикле) выполнять функцию SQLEXEC( ) до тех пор, пока она возвращает значение = 0 (выполнение продолжается, запрос в очереди, и т.д.) - (Still Executing).

Expand image Пример

В следующем примере показаны различные варианты использования функции SQLEXEC( ) для запуска "прямых" SQL-команд или создания и выполнения Хранимых процедур SQL:

CopyCode image Копировать Код
CLEAR
LOCAL lnConn
LOCAL lnPercent AS Int && Input parameters must be typed.
LOCAL lnOutput
lnPercent = 50
lnOutput = 0

* Make connection, assuming a local trusted connection.
lnConn = SQLCONNECT('local')
IF m.lnConn > 0 && Success.

 * Set the active database to PUBS.
 SQLEXEC(m.lnConn, 'use pubs')

 * Execute SELECT statement.
 SQLEXEC(m.lnConn, 'SELECT * FROM authors', 'PubAuthors')
 BROWSE

 * Execute INSERT statement, get value of identity field.
 SQLEXEC(m.lnConn, "INSERT INTO JOBS (job_desc, min_lvl, max_lvl);
 VALUES ('Developer',75,150)")
 SQLEXEC(m.lnConn, "SELECT SCOPE_IDENTITY()", "job_id")
 ? "ID for added Job is " + LTRIM(STR(job_id.exp))

 * Execute DELETE statement. Get number of records affected.
 SQLEXEC(m.lnConn, "DELETE FROM JOBS WHERE job_desc ='Developer'")
 SQLEXEC(m.lnConn, "SELECT @@ROWCOUNT", 'rowcount')
 ? rowcount.exp, "record(s) deleted"

 * Call a stored procedure with no parameters.
 SQLEXEC(m.lnConn, 'sp_who', 'activeusers')
 BROWSE

 * Execute stored procedure with an INPUT parameter.
 SQLEXEC(m.lnConn, 'exec byroyalty ?lnPercent','HalfOffAuthors')

 * Create temp stored procedure with OUTPUT parameter and call it.
 SQLEXEC(m.lnConn, "CREATE PROCEDURE #MyProc @outparam int OUTPUT AS;
 SELECT @outparam=100")
 SQLEXEC(m.lnConn, "exec #myProc ?@lnOutput")
 ? m.lnOutput

 * Create a temp stored procedure with INPUT and OUTPUT parameters
 * and call it.
 SQLEXEC(m.lnConn, "CREATE PROCEDURE #MyProc2 " + ;
 "@inputparam INT, " + ;
 "@outparam int OUTPUT " + ;
 "AS SET @outparam=@inputparam*10")
 SQLEXEC(m.lnConn, "exec #myProc2 ?lnPercent, ?@lnOutput")
 ? m.lnOutput

 * Get version information.
 SQLEXEC(m.lnConn, 'SELECT @@VERSION','SQLVersion1')
 ? STRTRAN(SQLVersion1.Exp,CHR(0))

 * Disconnect.
 SQLDISCONNECT(m.lnConn)
ELSE
 ? "Unable to connect to SQL Server"
ENDIF
RETURN

Expand image См. также

Описание

SQL, Команды и Функции

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SQLGETPROP( ) Function

Visual FoxPro 9.0 Описание Языка
SQLGETPROP( ), Функция
См. также Пример
CollapseAll image

Возвращает текущие установки или значения параметров "по-умолчанию" для активного Соединения.

SQLGETPROP(nStatementHandle, cSetting)

Параметры

nStatementHandle

Определяет номер Дескриптора Соединения с источником данных, возвращенного функцией SQLCONNECT( ). Если вы задаете значение = 0 для параметра nStatementHandle, SQLGETPROP( ) возвращает установку заданного параметра Окружения (ODBC).

cSetting

Определяет символьную строку параметра Соединения. Общий список параметров см. в разделе SQLSETPROP( ), Функция.

Expand image Возвращаемое значение

Символьного, Числового или Логического типа. SQLGETPROP( ) возвращает текущие установки или значения параметров "по-умолчанию" для активного Соединения с источником данных. SQLGETPROP( ) возвращает значение = -1, если произошла ошибка уровня Соединения, возвращает значение = -2, если произошла ошибка уровня Окружения (ODBC).

Expand image Пример

В следующем примере используется функция SQLCONNECT( ) для отображения диалогового бокса установки Соединения с источником данных Select Connection or Data Source Dialog Box. Выберите источник данных для тестирования получаемого дескриптора Соединения, Далее: с помощью функции SQLGETPROP( ) отображаются значения некоторых параметров установленного соединения.

CopyCode image Копировать Код
CLOSE ALL
CLEAR ALL
CLEAR
nHandle=SQLCONNECT()
IF nHandle > 0
 cSource= SQLGETPROP(nHandle, "datasource")
 =MESSAGEBOX("Current Data Source = "+cSource,0,"Connection Results")
ELSE
 =MESSAGEBOX("Connection Error = " + ;
  ALLTRIM(STR(nHandle)),0,"Connection Results")
ENDIF
=SQLDISCONNECT(nHandle)

Expand image См. также

Описание

AERROR( ), Функция
SQLCONNECT( ), Функция
SQLSETPROP( ), Функция
SQL, Команды и Функции (Visual FoxPro)

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SQLIDLEDISCONNECT( ) Function

Visual FoxPro 9.0 Описание Языка
SQLIDLEDISCONNECT( ), функция
См. также
CollapseAll image

Допускает Временное Разъединение Соединения или соединений, установленных с источниками данных при помощи функций SQL pass-through.

SQLIDLEDISCONNECT(nStatementHandle)

Параметры

nStatementHandle

Определяет дескриптор (handle) соединения с источником данных, которое временно деактивируется.

Можно задать значение = 0, для временной деактивации всех активных Соединений.

Expand image Возвращаемое значение

Числового типа.

Возвращается значение = 1, если успешно выполнена Временная Деактивация соединения (соединений), установленных ранее с помощью функций SQL pass-through.

Возвращается значение = -1, если невозможно выполнить деактивацию соединения с помощью функции SQLIDLEDISCONNECT( ).

Expand image Комментарии

Данная функция завершается аварийно (возвращает = -1), если указанное в параметре соединение Занято или переведено в в режим manual commit. См. дополнительно об использовании AERROR( ), функция - для определения дополнительной информации о причинах занятости указанного соединения.

Временно Деактивированные соединения автоматически восстанавливаются, как только это потребуется (при выполнении операций с Источником Данных); используются параметры соединения, которые использовались при начальной установке Соединения. Свойство Провайдера ODBC ODBChstmt = 0, если выполнено временное разединение с источником данных, по указанному дескриптору Соединения. Данное свойство также = 0, для Временно деактивированных Соединений. Если рассматриваемое Соединение установлено в режим коллективного использования (shared), то при временной деактивации с помощью данной функции, освобождаются все Дескрипторы соответствующих Соединений (коллективно используемых).

Expand image См. также

Описание

AERROR( ), функция
SQLCONNECT( ), функция

Концепции

Управление Соединениями с помощью механизма SQL P-T

Другие ссылки

Расширение Приложений при испльзовании технологии SQL Pass-Through

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SQLMORERESULTS( ) Function

Visual FoxPro 9.0 Описание Языка
SQLMORERESULTS( ), функция
См. также Пример
CollapseAll image

Выгружает очередной результирующий набор данных в соответствующий Курсор Visual FoxPro, если предусматривается несколько результирующих наборов данных.

SQLMORERESULTS(nStatementHandle [, cCursorName [, aCountInfo]]))

Параметры

nStatementHandle

Определяет Дескриптор (указатель, идентификатор) Соединения с удаленным источником Данных (сервером) или Data Source (DS), возвращаемый ранее выполненной функцией SQLCONNECT( ).

cCursorName

Определяет имя Курсора Visual FoxPro, в котором сохраняются результирующие наборы. Если данный параметр не казывается, система Visual FoxPro использует базовое имя, по-умолчанию: "SQLRESULT".

В случае получения нескольких результирующих наборов, каждый очередной курсор получает имя от имени базового курсора с добавлением последующего целого числа (SQLRESULT2, SQLRESULT3...).

aCountInfo

Определяет имя массива для сохранения дополнительной информации о результатах выполнения Запросов. Если указанный массив не существует, он будет создан автоматически. Массив содержит два столбца: 1 – Alias (алиас курсора), 2 –Count (количество записей).

Столбец Содержание
массива 		Тип
данных 		Краткое описание

Alias,
Алиас

"0"

Character

Указывает на то, что результаты оператора SQL отсутствуют. Или нет результирующих Записей, или оператор SQL завершил свою работу (последний вызов функции SQLMORERESULTSl), или выполнение Запроса прервано до завершения выполнения Запроса. Данное значение может быть только в первой строке массива. В этом случае второй столбец Count содержит значение выгруженных записей = -1.

Непустая строка

в верхнем

регистре

Character

Содержит имя выгруженного Курсора. Стобец Count содержит количество выгруженных Записей или значение = -1, если выборка прервана. Если Count = -1, то курсор не создается. В условиях Асинхронного выполнения SQL запросов процесс выборки данных для результирующего курсора разделяется на вызовы нескольких функций SQLMORERESULTS / SQLEXEC; каждый вызов данных функций возвращает свое значение выгруженных Записей.

Пустая строка ('')

Character

Указывает на то, что такие операторы SQL, как (INSERT, UPDATE, DELETE) не возвращают результирующих наборов данных.

Count,
Кол-во

Количество
выгруженных
записей.

Integer

Указывает на количество выгруженных Записей и соответствует возвращаемому значению внешней функции ODBC SQLRowCount.

Возвращается значение = -1, если результирующие Записи отсутствуют.

Expand image Возвращаемое значение

Числового типа (Numeric). SQLMORERESULTS( ) возвращает значение = 0, если соответствующий оператор SQL продолжает выполняться, или значение = 1, если выполнение завершено, или значение = 2, если данных больше нет. При отключенном Пакетном режиме, функция SQLMORERESULTS( ) может быть выполнена после каждого успешного вызова начальной функции Запоса SQLEXEC( ), и вызывааться (выполняться) несколько раз, пока не происходит SQLMORERESULTS( ) =2 (данных больше нет). Дополнительная функция SQLSETPROP( ) может быть использована для включения или отключения Пакетного режима, но до выполнения основной функции SQLEXEC( ), которая содержит стартовый оператор Запроса SQL.

SQLMORERESULTS( ) возвращает значение = – 1, если возникла ошибка уровня Соединения (Connection Level Error), или значение = – 2, если возникла ошибка уровня Окружения (Environment Level Error).

Expand image Комментарии

Функция SQLMORERESULTS( ) используется в тех случаях, когда оператор SQL определяет к выгрузке нескольких результирующих наборов данных, заданных в начальной функции SQLEXEC( ), которая выполняется при отключенном Пакетном режиме. Если выгружается несколько результирующих наборов, то система Visual FoxPro выгружает их по одному за один вызов рассматриваемой функции.

Функция SQLMORERESULTS( ) есть одна из четырех (4-х) функций, которые могут выполняться как в Синхронном , так и в Асинхронном режиме. Указанные режимы работы устанавливаются соответствующей функцией SQLSETPROP( ), которая должна быть выполнена до основной функции Запроса. В Асинхронном режиме, вы можете многократно выполнять фуекцию SQLMORERESULTS( ), пока она возвращает значение = 0, (Still Executing).

Expand image Пример

В следующем примере предполагается, что уже ранее функция SQLCONNECT( ) была успешно выполнена, и возвратила дескриптор Соединения, который сохранен в переменной с именем gnHandle. SQLSETPROP( ) используется для отключения Пакетного режима: BatchMode = False (.F.), поэтому могут быть получены индивидуальные результирующие наборы данных, Курсоры.

SQLMORERESULTS( ) используется дважды, для получения различных результирующих наборов, которые выгружаются с помощью соответствующих операторов в функции SQLEXEC( ). Команда SET может быть использована для отображения системного окна View, где будут отражены результаты выполнения Запросов, указанных в функции SQLEXEC( ) (Select (1) и Select (2)).

CopyCode image Копировать Код
= SQLSETPROP(gnHandle, 'BatchMode', .F.) && Individual result sets
= SQLEXEC(gnHandle, 'SELECT * FROM authors;
 SELECT * FROM titles')
= SQLMORERES(gnHandle) && First result set
= SQLMORERES(gnHandle) && Second result set

Expand image См. также

Описание

AERROR( ) функция
SQLCANCEL( ) функция
SQLCONNECT( ) функция
SQLEXEC( ) функция
SQLGETPROP( ) функция
SQLSETPROP( ) функция
SQL, команды и функции

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SQLPREPARE( ) Function

Visual FoxPro 9.0 Справочник Языка
SQLPREPARE () Функция
См. Также Пример

Готовит инструкцию SQL к отдаленному выполнению SQLEXEC( ).

SQLPREPARE(nStatementHandle, cSQLCommand, [cCursorName])

Параметры

nStatementHandle

Определяет дескриптор подключения к источнику данных, возвращаемому SQLCONNECT( ).
cSQLCommand

Определяет инструкцию SQL, передаваемую к источнику данных. Инструкция SQL может содержать параметризующее предложение WHERE, которое создает параметризованное представление. Все параметры в предложении WHERE должны быть определены, прежде чем SQLPREPARE( ) будет применена. Например, если параметры являются переменными, то они должны быть созданы и инициализированы прежде, чем SQLPREPARE( ) будет применена. Для подробной информации о параметризованных представлениях, см. Как: Создать Параметризованое представление .
cCursorName

Определяет имя курсора Visual FoxPro, в который посылается выборка результата. Если Вы не включаете имя курсора, Visual FoxPro использует заданное по умолчанию имя SQLRESULT. Для разных выборок результатов, новые имена курсоров образуются добавлением инкрементного числа к имени первого курсора.

Возвращаемое значение

Числовое

Замечания

SQLPREPARE( ) пересылает инструкцию SQL к источнику данных, где она компилируется для более быстрого выполнения. После того, как инструкция SQL откомпилирована, она может быть выполнена с помощью SQLEXEC( ). Если SQLEXEC( ) используется, чтобы выполнить инструкцию SQL, подготовленную с помощью SQLPREPARE( ), то потребуется только дескриптор подключения для SQLEXEC( ).

Пример

Скопировать код
gcAuthor = 'Smith'
= SQLPREPARE(gnHandle, 'SELECT * FROM authors;   WHERE au_lname = ?gcAuthor')
= SQLEXEC(gnHandle)
...
gcAuthor = 'Jones'
= SQLEXEC(gnHandle)

См. Также

Другие Ресурсы

SQLCONNECT( ) Функция
SQLEXEC( ) Функция
SQL Команды и Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQLROLLBACK( ) Function

Visual FoxPro 9.0 Описание Языка
SQLROLLBACK( ), Функция
См. также Пример
CollapseAll image

Отменяет выполненные изменения данных на удаленном источнике в рамках текущей Транзакции.

SQLROLLBACK(nStatementHandle)

Параметры

nStatementHandle

Определяет номер Дескриптора Соединения с источником Данных, полученным ранее функцией SQLCONNECT( ).

Expand image Возвращаемое значение

Числового типа. SQLROLLBACK( ) возвращает значение = 1, если успешно отменены последние изменения данных; в другом случае, возвращается значение = -1. Если функция SQLROLLBACK( ) возвращает значение = -1, то вы можете узнать причину аварийного завершения Отмены изменений данных с помощью функции AERROR( ).

Expand image Комментарии

Если включен режим "управляемой транзакции", (с помощью функции SQLSETPROP( ) установлено: transaction = manual), тогда вы можете выполнять несколько изменений данных в удаленных Таблицах. Отмена выполненных изменений осуществляется данной функцией SQLROLLBACK( ).

Подтверждение выполняемых изменений на удаленном источнике данных осуществляется функцией SQLCOMMIT( ).

Expand image Пример

В следующем примере предполагается, что ранее уже установлено соединение с удаленным источником данных, с помощью функции SQLCONNECT( ), дескриптор соединения сохранен в переменной памяти с именем gnHandle. SQLSETPROP( ) устанавливает режим "управляемой транзакции" Transactions = 2 (manual), при котором вы можете, в зависимости от ситуации, использовать функции SQLCOMMIT( ) - для подтверждения изменений, или SQLROLLBACK( ) - для отмены выполненных изменений данных.

Изменения (добавление новой записи) в таблицу authors выполняются с помощью функции SQLEXEC( ), за тем данные изменения отменяются при помощи функции SQLROLLBACK( ).

CopyCode image Копировать Код
= SQLSETPROP(gnHandle, 'Transactions', 2)  && manual
= SQLEXEC(gnHandle, "INSERT INTO authors (au_id, au_lname);
   VALUES ('aupoe', 'Poe')")
= SQLROLLBACK(gnHandle)

Expand image См. также

Описание

AERROR( ), Функция
SQLCOMMIT( ), Функция
SQLCONNECT( ), Функция
SQLSETPROP( ), Функция
SQL, Команды и Функции (Visual FoxPro)

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


SQLSETPROP( ) Function

Visual FoxPro 9.0 Справочник Языка
SQLSETPROP () Функция
См. Также Пример

Определяет параметры настройки для активного подключения. Вы можете использовать SQLSETPROP( ), чтобы определить параметры настройки на уровне подключения. Чтобы определить параметры по умолчанию Visual FoxPro на уровне среды, включите 0 как дескриптор подключения.

SQLSETPROP(nStatementHandle, cSetting [, eExpression])

Параметры

nStatementHandle

Определяет дескриптор подключения к источнику данных, возвращенному SQLCONNECT( ).
cSetting

Определяет установки. Следующая таблица перечисляет значения для cSetting.

Установка Описание

Асинхронный

Определяет, возвращены ли результаты синхронно (Ложь (.F.), значение по умолчанию), или асинхронно (Истина (.T.)). Для чтения/записи.

BatchMode

Определяет, возвращает ли SQLEXEC( ) результаты целиком (Истина (.T)., значение по умолчанию), или индивидуально с использованием SQLMORERESULTS( ) (Ложь (.F.)). Чтение/запись.

ConnectBusy

Содержит Истину (.T). если разделяемое подключение занято; иначе содержит Ложь (.F).. Только для чтения.

ConnectString

Строка подключения для входа в систему. Только для чтения.

ConnectTimeOut

Определяет время ожидания (в секундах) перед возвращением ошибки из-за таймаута. Если Вы определяете 0, период ожидания неопределен, и ошибка из-за таймаута никогда не возвращается. ConnectTimeOut может составлять от 0 до 600. Значение по умолчанию - 15. Чтение/запись.

DataSource

Имя источника данных, как определено в файле ODBC.INI. Чтение/запись.

DisconnectRollback

Определяет завершена ли ожидающая транзакция или произошел откат, когда вызывается SQLDISCONNECT( ) для последнего дескриптора подключения.

Значением по умолчанию является ложь (.F)., указывая, что ожидающая транзакция завершена, когда SQLDISCONNECT( ) вызывается для последнего дескриптора подключения.

Определите истину (.T). для отката ожидающей транзакции, когда SQLDISCONNECT( ) вызывается для последнего дескриптора подключения.

На подключение с автоматическим процессингом транзакций это установка не влияет.

Чтение/запись.

DispLogin

Содержит числовое значение, которое определяет, когда отображается диалоговое окно Login ODBC. DispLogin может принимать следующие значения:

1 или DB_PROMPTCOMPLETE (от FOXPRO.H).1 - значение по умолчанию.

2 или DB_PROMPTALWAYS (от FOXPRO.H).

3 или DB_PROMPTNEVER (от FOXPRO.H).

Если 1 или DB_PROMPTCOMPLETE определен, Visual FoxPro отображается диалоговое окно Login ODBC, только если отсутствует любая требуемая информация.

Если 2 или DB_PROMPTALWAYS определен, диалоговое, окно Login ODBC всегда отображается, позволяя Вам изменить настройку перед соединением.

Если 3 или DB_PROMPTNEVER определен, диалоговое, окно Login ODBC не отображено, и Visual FoxPro генерирует ошибку, если требуемая информация входа в систему не доступна. Чтение/запись.

DispWarnings

Определяет, отображены ли сообщения об ошибках (Истина (.T.)) или не отображены (Ложь (.F)., значение по умолчанию). Чтение/запись.

IdleTimeout

Неактивный интервал блокировки времени в минутах. Активные подключения дезактивированы после начала указанного интервала времени. Значение по умолчанию - 0 (ждать неопределенно). Чтение/запись.

ODBChdbc

Внутренний дескриптор подключения ODBC, который может использоваться внешними библиотечными файлами (FLL файлы), чтобы вызвать ODBC. Только для чтения.

ODBChstmt

Внутренний дескриптор инструкции ODBC, который может использоваться внешними библиотечными файлами (FLL файлы), чтобы вызвать ODBC. Только для чтения.

PacketSize

Размер сетевого пакета, используемого подключением. Корректировка этого значения может улучшить выполнение. Значение по умолчанию - 4096 байтов (4K). Чтение/запись

Password

Пароль подключения. Только для чтения.

QueryTimeOut

Определяет время, чтобы ожидать (в секундах) перед возвращением общей ошибки таймаута. Если Вы определяете 0 (значение по умолчанию), ожидание неопределено, и ошибка из-за блокировки по времени никогда не возвращается. QueryTimeOut может быть от 0 до 600. Чтение/запись.

Shared

Определяет, является ли основное подключение разделяемым подключением (Истина (.T.)), или нет (Ложь (.F.)).

Только для чтения.

Transactions

Содержит числовое значение, которое определяет, как подключение управляет транзакциями над отдаленной таблицей. Транзакции могут принять следующие значения:

1 или DB_TRANSAUTO (от FOXPRO.H).1 - значение по умолчанию. Процессинг транзакций для отдаленной таблицы происходит автоматически.

2 или DB_TRANSMANUAL (от FOXPRO.H). Процессинг транзакций управляется вручную через SQLCOMMIT( ) и SQLROLLBACK( ) . Чтение/запись.

UserId

Пользовательский идентификатор. Только для чтения.

WaitTime

Время в миллисекундах через которое Visual FoxPro проверяет завершилось ли выполнение инструкции SQL. Значение по умолчанию - 100 миллисекунды. Чтение/запись.

eExpression

Определяет значение для установки, которой Вы определяете cSetting . Если Вы опускаете eExpression , значение по умолчанию для установки восстановливается.

Возвращаемое значение

Числовой тип данных. SQLSETPROP( ) возвращается 1, если она успешна. Иначе, она возвращает - 1, если происходит ошибка уровня подключения или - 2, если ошибка уровня среды.

Замечания

Вы можете использовать SQLGETPROP( ), чтобы возвратить текущее значение для указанной установки.

Обратите внимание:
Вы должны отключить диалоговое окно входа в систему ODBC, чтобы обеспечить передачу SQL, Серверу Транзакций Microsoft. Чтобы отключить диалоговое окно входа в систему ODBC, используйте инструкцию SQLSETPROP(cStatementHandle, 'DispLogin ', 3) , где cStatementHandle является дескриптором соединения, возвращенным SQLCONNECT( ) . Вы можете также отключить диалоговое окно входа в систему ODBC в Проектировщике Подключения .

Опция ConnectTimeOut может быть установлена только на уровне Visual FoxPro, и не имеет никакого эквивалента на уровне подключения. Вы можете установить все другие опци или на ауровне подключения или на уровне Visual FoxPro. Каждый набор опции на уровне Visual FoxPro служит значением по умолчанию для последующих подключений.

Пример

Следующий пример показывает, как используется SQLSETPROP( ) чтобы установить размер пакета для текущего подключения. SQLCONNECT( ) отображает диалоговые окна Выбор Подключения или Источник Данных, чтобы выбрать подключение, и проверить подключение. Размер пакета установлен; установка проверена; и результаты отображены.

Скопировать код
CLOSE ALL
CLEAR ALL
CLEAR
nHandle=SQLCONNECT()
IF nHandle > 0
   nSet=SQLSETPROP(nHandle, "PacketSize", 2048 )
   IF nSet > 0
      =MESSAGEBOX("PacketSize was set to 2048",0,"Connection Results")
   ELSE
      =MESSAGEBOX("Error setting PacketSize",0,"Connection Results")
   ENDIF
ELSE
   =MESSAGEBOX("No Connection",0,"Connection Results")
ENDIF
=SQLDISCONNECT(nHandle)

См. Также

Другие Ресурсы

AERROR( ) Функция
SQLGETPROP( ) Функция
Проектировщик Подключения
SQL Команды и Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQLSTRINGCONNECT( ) Function

Visual FoxPro 9.0 Описание Языка
SQLSTRINGCONNECT( ), функция
См. также Пример
CollapseAll image

Устанавливает Соединение с Источником Данных используя строку параметров Соединения.

SQLSTRINGCONNECT([lShared] | [cConnectString [, lSharable]])

Параметры

lShared

Определяет флаг создания многопользовательского Соединения.

lShared Краткое Описание

False (.F.)

SQLSTRINGCONNECT( ) не создает Многопользовательское Соединение. (По-умолчанию)

True (.T.)

SQLSTRINGCONNECT( ) создает много пользовательское Соединение с Источником Данных.
cConnectString

Определяет строку параметров Соединения, которая передается текущему Драйверу ODBC (Open Database Connectivity). Система Visual FoxPro передает указанную строку параметров приведенному драйверу. Дополнительная информация о содержании и синтаксисе данных параметров Соединения содержится в технической документации ODBC driver.

Вы также можете использовать системный Диалоговый бокс: Select Connection / Data Source, когда рассматриваемая функция вызавается без указания строки параметров Соединения cConnectString, (в диалоговом режиме определяете необходимые параметры).

lSharable

Определяет, что создаваемое Соединение с Источником Данных по параметрам из cConnectString должно быть создано для многопользовательского использования.

Expand image Возвращаемое значение

Числового типа. SQLSTRINGCONNECT( ) возвращает положительное, не равное нулю число, являющееся дескриптором успешно установленного Соединения. SQLSTRINGCONNECT( ) возвращает значение = –1, если невозможно установить Соединение.

Note Совет

Пулученное значение Дескриптора Соединения рекомендуется хранить в некоторой переменной памяти, которая будет использоваться в дальнейшем, при вызове соответствующих функций SQL.

Expand image Комментарии

Рассматриваемые функции SQLCONNECT( ) и SQLSTRINGCONNECT( ) возвращают числовое значение, как некоторый дескриптор описателя Соединения (VFP). Вы не можете получить непосредственно Системный Дескриптор Соединения ODBC. Данное значение дескриптора описателя соединения может быть использовано в различных функциях SQL для VFP, чтения и задания параметров текущего Соединения, например, SQLSETPROP( ) и SQLGETPROP( ). Все другие функции SQL используют также полученный вами числовой дескриптор Соединения.

SQLSTRINGCONNECT( ) всегда создает новое Соединение с Источником данных (по-умолчанию). Тем не менее, при установке параметра lShared = True (.T.) вы можете использовать пулученный дескриптор соединения при выполнении следующих далее функций SQL. Точнее: если вы задаете параметр lShared = True (.T.), вы можете использовать полученный дескриптор соединения в дальнейшем, например при вызове функции SQLCONNECT( ), где указать данный дескриптор, как первый параметр. Смотрите дополнительно раздел: SQLCONNECT( ), функция .

Вы можете использовать функцию SQLCONNECT( ) для получения нового дескриптора Соединения, которое будет работать через установленное ранее многопользовательское соединение, открытое с помощью функции SQLSTRINGCONNECT( ).

Expand image Пример

Пример 1:

В следующем примере, используется созданное ранее соединение, описанное в системной таблице драйвера ODBC, которое имеет имя MyFoxSQLNT. SQLSTRINGCONNECT( ) возвращает числовое значение, которое сохраняется в переменной gnHandle.

Если соединение с Источником Данных установлено, SQLSTRINGCONNECT( ) возвращает положительное число, и отображается соответствующий диалоговый бокс Успешности Соединения, а функция SQLDISCONNECT( ) закрывает успешно созданное Соединение.

Если соединение с источником данных Не устанавливается, SQLSTRINGCONNECT( ) возвращает отрицательное зчисловое значение, выдается соответствующее Сообщение.

CopyCode image Копировать Код
STORE SQLSTRINGCONNECT('dsn=MyFoxSQLNT;uid=myUserID;pwd=myPassword')
 TO gnConnHandle
IF gnConnHandle < 0
 = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
 = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
 = SQLDISCONNECT(gnHandle)
ENDIF

Пример 2:

В следующих примерах показывается, как вы можете использовать рассматриваемую функцию SQLSTRINGCONNECT( ) без указания системных имен источников данных ( Data Source Name (DSN) ).

CopyCode image Копировать Код
lcDSNLess="driver = SQL Server;server=<servername>;uid=<userid>;pwd=<password>"

-или-

CopyCode image Копировать Код
lcDSNLess="driver = {SQL Server};server=<servername>;uid=<userid>;pwd=<password>"

-или-

CopyCode image Копировать Код
lcDSNLess="DRIVER = {SQL Server};" ;
+ "SERVER=<servername>;" ;
+ "UID=<userid>;" ;
+ "PWD=<password>;" ;
+ "DATABASE=PUBS;" ;
+ "WSID=<machine name or userid>;" ;
+ "APP=MicroX(R) Sample App"
lnConnHandle=SQLSTRINGCONNECT(m.lcDSNLess)

Пример 3:

В каждом, из следующих далее, примеров создается новое многопользовательское Соединение. В первом случает отображается соответствующий Диалоговый бокс Select Connection / Data Source , в котором определяются значения параметров создаваемого Соединения, для функции SQLSTRINGCONNECT( ), которая открывает многопользовательское Соединение.

CopyCode image Копировать Код
SQLSTRINGCONNECT(.T.)
SQLSTRINGCONNECT('myConnectionString', .T.)

Expand image См. также

Описание

AERROR( ) функция
SQLCONNECT( ) функция
SQLDISCONNECT( ) функция
Команды и Функции SQL

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


SQLTABLES( ) Function

Visual FoxPro 9.0 Справочник Языка
SQLTABLES () Функция
См. Также Пример

Хранит имена таблиц источника данных к курсору Visual FoxPro.

SQLTABLES(nStatementHandle [, cTableTypes] [, cCursorName])

Параметры

nStatementHandle

Определяет дескриптор источника данных, который возвращен функцией SQLCONNECT( ).
cTableTypes

Определяет один или более типов таблицы. Допустимые типы таблицы - 'TABLE, ' 'VIEW, ' 'SYSTEM TABLE, ' или идентифкатор любого допустимого табличного типа в качестве источника данных. Если Вы включаете список типов таблиц, разделите типы таблиц запятыми. Все имена таблиц в источнике данных являются выбранными, если Вы опускаете cTableTypes или если cTableTypes является пустой строкой. Тип таблицы, который Вы определяете, должен быть ограничен одиночными кавычками. Следующий пример демонстрирует, как задать типы таблиц 'VIEW' и 'SYSTEM TABLE' в виде символьной строки.
Скопировать код
? SQLTABLES(handle, "'VIEW', 'SYSTEM TABLE'", "mydbresult")
cCursorName

Определяет имя курсора Visual FoxPro, которому посылают результат. Если Вы не включаете имя курсора, Visual FoxPro использует заданное по умолчанию имя SQLRESULT. Структура результатов зависит от внутренней функции SQLTABLES( ) для хэндлера ODBC.

Возвращаемое значение

Числовое. SQLTABLES( ) возвращается 1, если курсор успешно создан, 0, если SQLTABLES( ) все еще выполняется, - 1, если происходит ошибка уровня подключения, и - 2, если происходит ошибка уровня среды.

Замечания

SQLTABLES( ) - одна из четырех функций, которые Вы можете выполнить синхронно или асинхронно. Установка асинхронной опции SQLSETPROP( ) определяет, выполняются ли эти функции синхронно или асинхронно. В асинхронном режиме, Вы должны вызывать SQLTABLES( ) неоднократно, пока она не возвратит иное значение, чем Ложь (.F.), означающее, что функция все еще выполняется.

Пример

Следующий пример допускает доступным источник данных ODBC по имени MyFoxSQLNT. Используется SQLCONNECT( ), его возвращаемое значение сохраняется в переменной по имени gnHandle .

Если Вы не можете соединиться с источником данных, SQLCONNECT( ) возвращает отрицательное число и выводит сообщение.

Если Вы успешно соединяетесь с источником данных, SQLCONNECT( ) возвращает положительное число и выводит диалог. SQLTABLES( ) используется, чтобы создать курсор, по имени mycursor который содержит информацию о таблицах в источнике данных. LIST используется, чтобы вывести информацию о таблицах.

Скопировать код
STORE SQLCONNECT('MyFoxSQLNT', '<userid>', '<password>') TO gnConnHandle
IF gnConnHandle < 0
   = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
   = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
   STORE SQLTABLES(gnConnHandle, 'TABLE', 'mycursor') TO nTables
   IF nTables = 1
      SELECT mycursor
      LIST
   ENDIF
ENDIF

См. Также

Другие Ресурсы

AERROR( ) Функция
SQLCOLUMNS( ) Функция
SQLCONNECT( ) Функция
SQLGETPROP( ) Функция
SQLSETPROP( ) Функция
SQL Команды и Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQRT( ) Function

Visual FoxPro 9.0 Описание Языка
SQRT( ), функция
См. также Пример
CollapseAll image

Возвращает Квадратный Корень от заданного числового выражения.

SQRT(nExpression)

Параметры

nExpression

Определяет числовое выражение, для которого вычисляется функция SQRT( ). Параметр nExpression не может быть отрицательным числом.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Количество десятичных знаков в возвращаемом функцией SQRT( ) числовом выражении может содержать большее количество знаков, чем в исходном выражении nExpression. Текущая установка количества десятичных знаков задается командой SET DECIMALS.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? SQRT(4)  && отображается 2.00
? SQRT(2*SQRT(2))  && отображается 1.68

Expand image См. также

Описание

SET DECIMALS, команда
COS( ), функция
SIN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SROWS( ) Function

Visual FoxPro 9.0 Описание Языка
SROWS( ), функция
См. также Пример
CollapseAll image

Возвращает общее количество строк главного окна системы Visual FoxPro.

SROWS( )

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

В системе Visual FoxPro для Windows, возвращаемое значение функцией SROWS( ), зависит от текущего Режима Дисплея (монитора). Текущий режим монитора устанавливается командой SET DISPLAY.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? SROWS( )

Expand image См. также

Описание

COL( ), функция
ROW( ), функция
SCOLS( ), функция
SET DISPLAY, команда
WCOLS( ), функция
WROWS( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


STR( ) Function

Visual FoxPro 9.0 Описание языка
STR( ) Функция
Смотрите также
Свернуть все

Возвращает символьный эквивалент числового выражения.

STR(nExpression [, nLength [, nDecimalPlaces]])

Параметры

nExpression

Задает числовое выражение, обрабатываемое функцией STR( ).

nLength

Задает длину символьной строки, возвращаемой функцией STR( ).Если заданная длина больше количества цифр слева от десятичного разделителя, функция STR( ) дополняет возвращаемую символьную строку начальными пробелами. Если заданная длина меньше количества цифр слева от десятичного разделителя, STR( ) возвращает строку из звездочек, указывая на переполнение в числовом выражении. Если параметр nLength пропущен, то по умолчание значение nLength равняется 10.

Примечание Примечание

Если выражение содержит знак десятичной дроби, длина включает один символ для знака десятичной дроби и по одному символу для каждой цифры в символьной строке.

nDecimalPlaces

Задает число десятичных знаков в символьной строке, возвращаемой функцией STR( ). Чтобы задать это число, необходимо указать аргумент nLength. Если параметр nDecimalPlaces отсутствует, то он по умолчанию принимает значение равное нулю(0).

Примечание Примечание

Visual FoxPro содержит ограничение на 16 знаков точности в числовых вычислениях. Более подробно о числовой точности в Visual FoxPro, смотри Системные Возможности Visual FoxPro.

Expand image Возвращаемое значение

Символьный тип данных. STR( ), возвращает символьный эквивалент строки определенному числовому выражению.

В зависимости от определенных условий, STR( ), может возвращать следующее:

  • Если Вы определяете меньше десятичных знаков, чем существует в nExpression, возвращаемое значение будет округлено. Для того чтобы округлять результат к ближайшему десятичному знаку, используйте ROUND( ) функцию. Более подробно, смотри ROUND( ) Функция.

  • Если nExpression- целое число, и nLength меньше чем количество цифр в nExpression, STR( ), возвращает строку звездочек, указывающих на числовое переполнение.

  • Если nExpression содержит знак десятичной дроби, и nLength равняется или меньше чем количество цифр слева от знака десятичной дроби, STR( ), возвращает строку звездочек, указывающих на числовое переполнение.

  • Если nLength больше, чем длина nExpression, STR( ), возвращает символьную строку, дополненную ведущим пробелами.

  • Если nExpression имеет тип Numeric или Float, и nLength меньше чем количество цифр в nExpression, STR( ), возвращает величину, используя научную запись.

Expand image Примеры

Пример 1

В следующем примере, STR( ), преобразует 1.154995 в символьное выражение, определяя длину 8 символов и то же количество десятичных порядков, что в исходном выражение, и отображает 1.154995 используя команду ?.

CopyCode image Скопировать пример
? STR(1.154995,8,6)

Пример 2

В следующем примере, STR( ), преобразует 1.154995 в символьное выражение, определяя длину 8 символов с 2 десятичными знаками. Использую команду? выводим 1.16, которая получается из 1.154995 округленной вверх.

CopyCode image Скопировать пример
? STR(1.154995,8,2)

Пример 3

В следующем примере, STR( ), включает функцию ROUND( ), преобразует 1.154995 в символьное выражение, определяя длину 8 символов с 2 десятичными знаками. Использую команду ?выводим 1.15, которая получается из 1.154995, округленного к ближайшей значимой цифре.

CopyCode image Скопировать пример
? STR(ROUND(1.154995,2),8,2)

Expand image Смотрите также

Ссылки

VAL( ) Функция
STRCONV( ) Функция

Понятия

Создание Числовых Выражений

Прочие ресурсы

Функции
Справочник Языка(Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


STRCONV( ) Function

Visual FoxPro 9.0 Описание Языка
STRCONV( ), функция
См. также
CollapseAll image

Конвертирует символьные выражения, представленные в следующих форматах: Single-byte, Double-byte, UNICODE, и других специальных кодировках.

STRCONV(cExpression, nConversionSetting [, nRegionalIdentifier [, nRegionalIDType]])

Параметры

cExpression

Определяет исходное Конвертируемое символьное выражение.

nConversionSetting

Определяет вид Конвертации символьного выражения. В следующей таблице представлены поддерживаемые значения данного параметра nConversionSetting и Описание выполняемого вида Преобразования.

nConversionSetting Выполняемое Преобразование, конвертация

1

Преобразует исходное символьное выражение cExpression в формате "single-byte" - в соответстующее "double-byte".

Поддерживаются только допустимые идентификаторы ID (указываемые в параметрах nRegionalIdentifier или nRegionalIDType).

2

Обратное преобразование cExpression "double-byte" -> "single-byte".

Поддерживаются только допустимые идентификаторы ID (указываемые в параметрах nRegionalIdentifier или nRegionalIDType).

3

Преобразует символы выражения cExpression "double-byte Katakana" -> "double-byte Hiragana".

Поддерживаются только допустимые идентификаторы ID (указываемые в параметрах nRegionalIdentifier или nRegionalIDType).

4

Обратное преобразование выражения cExpression "double-byte Hiragana" -> "double-byte Katakana".

Поддерживаются только допустимые идентификаторы ID (указываемые в параметрах nRegionalIdentifier или nRegionalIDType).

5

Преобразование: "double-byte" -> UNICODE (широкие символы).

6

Обратное Преобразование UNICODE (широкие символы) -> "double-byte".

7

Специфическое преобразование символьного выражения cExpression в символы "нижнего регистра" (LowerCase).

Поддерживаются только допустимые идентификаторы ID (указываемые в параметрах nRegionalIdentifier или nRegionalIDType).

8

Специфическое преобразование символьного выражения cExpression в символы "Верхнего регистра" (UpperCase).

Поддерживаются только допустимые идентификаторы ID (указываемые в параметрах nRegionalIdentifier или nRegionalIDType).

9

Преобразование "double-byte" -> UTF-8

10

Преобразование Unicode -> UTF-8

11

Обратное Преобразование UTF-8 -> "double-byte".

12

Обратное Преобразование UTF-8 -> UNICODE.

13

Специфическое преобразование "single-byte" -> закодированный формат "base64 binary".

14

Обратное преобразование закодировынный "base64" -> исходный некодированный формат данных.

15

Преобразование формата "single-byte" -> в закодированное "16-ти-ричное" представление "hexBinary".

16

Преобразование формата "single-byte" -> в некодированное "16-ти-ричное" представление "hexBinary".
nRegionalIdentifier

Определяет специфическую кодировку символов Locale ID, Кодовую Страницу (Code Page - CP), или набор FontCharSet, которые определяют текущее Преобразование. Если следующий параметр nRegionalIDType (рассматриваемый далее) - отсутствует, то используется системный идентификатор locale ID, заданный по-умолчанию.

Если данный параметр nRegionalIdentifier имеет недопустимое, неподдерживаемое значение, генерируется сообщение об Ошибке: "Invalid locale ID" (неверный Идентификатор).

nRegionalIdentifier Национальный Язык

1029

Czech

1031

German

1033

English (Default)

1034

Spanish

1036

French

1040

Italian

1045

Polish

1046

Portuguese (Brazil)

2070

Portuguese (Portugal)

Комментарий переводчика: Данная функция поддерживает также идентификатор: 1049 - Russia (Русский), не указанный в данной Таблице.

nRegionalIDType

Определяет (уточняет), какой из указанных Идентификаторов используется в рассматриваемой функции: Locale ID, или Code Page, или FontCharSet.

Какой из Рассматриваемых выше параметров nRegionalIdentifier, используется при Преобразовании:

nRegionalIDType Краткое Описание

0

(По-умолчанию) Определяет использование в качестве параметра nRegionalIdentifier значение рассмотренного выше идентификатора Locale ID.

1

Определяет использование параметра nRegionalIdentifier в качестве Кодовой Страницы (Code Page, CP).

2

Определяет использование параметра nRegionalIdentifier в качестве набора FontCharSet.

Expand image Возвращаемое значение

Символьного типа. STRCONV( ) возвращает преобразованное символьное выражение.

Expand image Комментарии

Visual FoxPro игнорирует неверные символы или символы с ошибочной длиной для кодировок 64-base или hexBinary - в закодированных строках.

Данная функция эффективно работает с символами "double-byte" для национальных языков Hiragana и Katakana.

Expand image См. также

Описание

CHRTRANC( ), функция
IMESTATUS( ), функция
ISLEADBYTE( ), функция

Другие ссылки

Фунции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


STREXTRACT( ) Function

Visual FoxPro 9.0 Описание Языка
STREXTRACT( ), функция
См. также Пример
CollapseAll image

Возвращает подстроку символов, расположенную между двумя разделителями.

STREXTRACT(cSearchExpression, cBeginDelim [, cEndDelim [, nOccurrence
[, nFlag]]]])

Параметры

cSearchExpression

Исходная символьная строка, в которой выполняется поиск.

cBeginDelim

Определяет Начальный Разделитель, который должен быть в исходной строке cSearchExpression.

cEndDelim

Определяет Конечный Разделитель, который также должен быть в исходной строке cSearchExpression.

nOccurrence

Определяет порядковый номер начального разделителя cBeginDelim в исходной строке cSearchExpression, с которого требуется извлечь поисковую подстроку.

nFlag

Определяет дополнительный аддитивный параметр уточнения характеристик поиска подстроки. Возможные аддитивные значения данного параметра nFlag представлены в следующей таблице: (используется как: p1+p2+p3)

Bit Значение (аддитивное) Краткое Описание

0

1

Включить чувствительность к Регистру символов (a # A)

1

2

Конечный Разделитель игнорируется. Определяет, что если конечный разделитель не найден, то возвращается подстрока, расположенная после Начального Разделителя

2

4

Определяет, что Разделители включаются в результатную поисковую строку

Expand image Возвращаемое Значение

Символьного типа (Character)

Expand image Комментарии

По-умолчанию, выполняется поиск с учетом Регистра символов (значение nFlag отсутствует).

Если cBeginDelim - пустая строка (""), поиск выполняется с самого начала исходной строки cSearchExpression - до первого появления конечного разделителя cEndDelim. Если cEndDelim - пустая строка (""), функция STREXTRACT( ) возвращает подстроку из исходной строки символов, как вхождение с номером nOccurrence от разделителя cBeginDelim - до конца исходной строки cSearchExpression.

Expand image Пример

CopyCode image Копировать Код
CLEAR
SET PATH TO (HOME(2) + 'Data\') &&Set path to the customer table
USE customer && any table
?cursortoxml(0,"x",1,0,2) && Produce variable "x" that has XML of first 2 records of table
?x && show the XML
xmlproc(x,0) && Parse the XML

PROCEDURE xmlproc(x as String, nLev as Integer) as void
 LOCAL cTagName, cContents, mterm
 DO WHILE .t.
 cTagName = STREXTRACT(x,"<",">")
 IF LEN(cTagName) = 0 && no tag found
 ??' ',x && print out raw string as contents
 EXIT
 ENDIF
 IF RIGHT(cTagName,1) = '/' && like "<region/>"
 cTagName = LEFT(cTagName, LEN(cTagName)-1)
 cContents=""
 mterm = "<"+cTagName+"/>" && "<region/>"
 ELSE
 mterm = "</"+cTagName+">" && "</region>"
 cContents = STREXTRACT(x,"<"+cTagName+">", mterm,1,2)
 ENDIF
 ?REPLICATE(" ",nLev),nLev+1,PADR(cTagName,20)
 xmlproc(cContents, nLev+1)
 x = STREXTRACT(x, mterm) && get the rest of the xml
 ENDDO

Expand image См. также

Описание

STRTRAN( ), функция
RAT( ), функция
RATC( ), функция
SUBSTR( ), функция
SUBSTRC( ), функция
LIKEC( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


STRTOFILE( ) Function

Visual FoxPro 9.0 Описание Языка
STRTOFILE( ) Функция
Смотрите также
CollapseAll image

Пишет содержание символьной строки в файл.

Note Примечание

STRTOFILE( ) не пишется в файлы с атрибутами hidden при запуске Visual FoxPro в Windows 2000 и выше.

STRTOFILE(cExpression, cFileName [, lAdditive | nFlag])

Параметры

cExpression

Определяет символьную строку, которая будет записана в файл. cExpression может быть символьной строкой, выражения, которые оцениваются в символьную строку, или символьный тип переменной, элемент массива, или область.

cFileName

Определяет имя файла в который будет записана символьная строка. Укажите полный путь если файл находиться не в текущей директории. Если файл, не существуют, Visual FoxPro автоматически создает ето.

lAdditive (для обратной совместимости)

Определяет способ добавления символьная строка в конец файла. Если lAdditive - истина (.T.), Символьная строка добавляется в конец файла.

Если lAdditive - ложь (.F.) (по умолчанию), файл переписывается символьной строкой. Если SET SAFETY установлен в ON, то в случает если такой файл уже есть будет выведет запрос на его перезапись. Если SET SAFETY установлен в OFF, файл будет переписан без предупреждений.

nFlag

Начиная с Visual FoxPro 7, Вы можете использовать параметр nFlag вместо lAdditive , чтобы писать в содировках UTF-8 и Unicode Byte Order Marks. Следующая таблица показывает существующие значения nFlag.

nFlag Битовое представление Описание

0 (По умолчанию)

0000

Файл будет переписан символьной строкой (прежде lAdditive=.f.)

1

0001

Строка будет добавлена в конец файла (прежде lAdditive=.t.).

2

0010

Добавит в начале файла Unicode Byte Order Mark (BOM) FF FE. При этом принимается, что cExpression в кодировке UNICODE, следовательно никакой перевод не выполняется. Файл будет переписан.

4

0100

Добавит в начале файла UTF-8 Byte Order Mark (BOM) EF BB BF. При этом принимается, что cExpression в кодировке UTF-8,следовательно никакой перевод не выполняется. Файл будет переписан.

Expand image Возвращаемое значение

Числовое. Возвращает количество байтов записанных в файл.

Expand image Замечание

Величина nFlag 3 или 5 недействительна. Нельзя уставовливать другие биты если установлен бит 1.

В отличие от более ранних версий Visual FoxPro, STRTOFILE( ), открывает файл в Коллективном (Shared) а не Эксклюзивном (Exclusive) режиме. Это полезно когда многочисленные программы пытаются одновременно записываться в тот же файл. В случае невозможности открыть файл для записи STRTOFILE( ) возвращает 0.

Expand image Смотрите также

Ссылки

FILETOSTR( ) Функция
FWRITE( ) Функция
SET SAFETY Команда

Другие ресурсы

Функции
Описание языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


STRTRAN( ) Function

Visual FoxPro 9.0 Справка по языку
Функция STRTRAN( )
См.также Пример

Ищет символьное выражение (подстроку), заданное вторым аргументом, в поле типа мемо или в символьном выражении (строке), заданном первым аргументом и заменяет каждое найденное вхождение подстроки в строку значением символьного выражения или поля типа memo, заданного третьим аргументом. Вы можете указать порядковый номер вхождения подстроки в строку, начиная с которого будет осуществляться замена, а также количество производимых замен.

STRTRAN(cSearched, cExpressionSought [, cReplacement]
 [, nStartOccurrence] [, nNumberOfOccurrences] [, nFlags])

Парметры

cSearched

Указывает символьное выражение (строку), в котором производится поиск. cSearched может быть полем типа memo.
cExpressionSought

Указывает символьное выражение (подстроку) для поиска в строке. По умолчанию поиск чувствителен к регистру символов. cExpressionSought может быть полем типа memo.
[, cReplacement]

Указывает символьное выражение для замены каждого вхождения подстроки cExpressionSought в строку cSearched. При опускании параметра cReplacement каждое вхождение будет заменяться пустой строкой (т.е. найденные вхождения будут удалены из исходной строки - прим. переводчика).
[, nStartOccurrence]

Указывает номер вхождения подстроки в строку cExpressionSought, начиная с которого будет производиться замена. Например, если nStartOccurrence равно 4, замена начнется с четвертого по порядку вхождения подстроки cExpressionSought в строку cSearched, а три первых найденных вхождения останутся неизменными. По умолчанию при опущенном параметре nStartOccurrence замена начнется с первого найденного вхождения.
[, nNumberOfOccurrences]

Указывает количество замен найденных вхождений в просматриваемую строку cSearched. По умолчанию при опущенном параметре nNumberOfOccurrences заменяются все найденные вхождения, начиная с указанного параметром nStartOccurrence.
[, nFlags]

Указывает, должен ли быть поиск чувствителен к регистру символов.
Замечание:
Если вам нужно указать только параметр nFlags, то предшествующие ему необязательные параметры можно опустить, заменяя каждый из них на -1. (В Visual FoxPro при обращении к функциям не разрешается опускать параметры, сохраняя только разделяющие их запятые - прим. переводчика).

В следующей таблице перечислены допустимые значения параметра nFlags:

nFlags Описание

0 или -1

Поиск, чувствительный к регистру символов и замена каждого найденного вхождения строкой, в точности совпадающей с cReplacement (По умолчанию).

Замечание:
Это значение определяет поведение функции STRTRAN( ) в соответствии с принятым в версиях Visual FoxPro 7.0 и младше. Вы можете также указать такое поведение, задав значение параметра равным -1 (в версии Visual FoxPro 09.00.0000.2412 значение -1 приводит к ошибке - прим. переводчика).

1

Поиск, нечувствительный к регистру символов и замена каждого найденного вхождения строкой, в точности совпадающей с cReplacement.

2

Поиск, чувствительный к регистру символов и замена каждого вхождения строкой, в которой регистр замещающих символов совпадает с регистром символов в исходной строке.

3

Поиск, нечувствительный к регистру символов и замена каждого вхождения строкой, в которой регистр замещающих символов совпадает с регистром символов в исходной строке.

Замечание:
Регистр символов строки, заданной параметром cReplacement, изменяется только в том случае, если найденная подстрока находится целиком на верхнем регистре (uppercase), нижнем регистре (lowercase) или каждое слово в которой начинается с символа на верхнем регистре, а все прочие символы находятся на нижнем регистре (propercase).

Возвращаемое значение

Символьное. Функция STRTRAN( ) возвращает в качестве результата строку символов.

Пример

В следующем примере строка "abracadabra" помещается в переменную gcString посредством команды STORE. Функция STRTRAN( ) замещает все вхождения символа "a" на символ "z" и отображает полученную строку "zbrzczdzbrz" используя команду ?. Затем при помощи функции STRTRAN( ) три вхождения символа "a", начиная со второго вхождения, заменяются символом "q" и полученный результат "abrqcqdqbra" отображается.

Скопировать код
STORE 'abracadabra' TO gcString
? STRTRAN(gcString, 'a', 'z')
? STRTRAN(gcString, 'a', 'q', 2, 3)

См.также

Функция CHRTRAN( )
Функция CHRTRANC( )
Функция STUFF( )
Создание символьных выражений
Функция STUFFC( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


STUFF( ) Function

Visual FoxPro 9.0 Описание Языка
STUFF( ), функция
См. также Пример
CollapseAll image

Возвращает символьную строку, в которой заданные позиционно некоторые символы или их последовательность заменяются на другие символы или символьные последовательности.

STUFF(cExpression, nStartReplacement, nCharactersReplaced, cReplacement)

Параметры

cExpression

Определяет символьное выражение, символьную строку, в которой выполняется замена некоторых символов на другие.

nStartReplacement

Определяет числовое выражение в исходной символьной строке cExpression, которое определяет позицию, с которой начинается замена символов.

nCharactersReplaced

Определяет числовое выражение - сколько символов будет заменено. Если nCharactersReplaced = 0, то заменяющая строка символов cReplacement Вставляется в исходное символьное выражение cExpression, в заданной точке.

cReplacement

Определяет Заменяющее символьное выражение. Если cReplacement - является пустой строкой, то указанное количество символов nCharactersReplaced Удаляется из исходного символьного выражения cExpression.

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Пример

CopyCode image Копировать Код
STORE 'abcdefghijklm' TO gcString1
STORE '12345' TO gcString2
CLEAR
? STUFF(gcString1, 4, 0, gcString2) && insert
? STUFF(gcString1, 4, 3, gcString2) && replace
? STUFF(gcString1, 4, 6, '') && delete
? STUFF(gcString1, 4, 1, gcString2) && replace and insert
? STUFF(gcString1, 4, 4, gcString2) && replace and delete
? STUFF(gcString1, 4, LEN(gcString1), gcString2) && replace, delete rest

Expand image См. также

Описание

LEFT( ), функция
PADL( ) | PADR( ) | PADC( ) Функции
RIGHT( ), функция
STRTRAN( ), функция
SUBSTR( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


STUFFC( ) Function

Visual FoxPro 9.0 Описание Языка
STUFFC( ), функция
См. также
CollapseAll image

Возвращает символьное выражение, в котором заданное количество символов заменено другим количеством символов другого символьного выражения.

STUFFC(cExpression, nStartReplacement, nCharactersReplaced, cReplacement)

Параметры

cExpression

Определяет некоторое символьное выражение, в котором будет производиться замена символов.

nStartReplacement

Определяет стартовую позицию символов в выражении cExpression, с которого начинается Замена.

nCharactersReplaced

Определяет количество заменяемых символов. Если данный параметр nCharactersReplaced = 0, то тогда заменяющая строка cReplacement вставляется в символьное выражение cExpression.

cReplacement

Определяет заменяющую символьную строку. Если cReplacement - есть пустая строка,то указанное количество символов в числовом выражении nCharactersReplaced удаляется из начального выражения cExpression.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Функция STUFFC( ) разработана для символьных выражений, содержащих символы, определенные как double-byte characters. Если символьное выражение содержит символы, определенные как single-byte characters, тогда функция STUFFC( ) эквивалентна функции STUFF( ).

Функция STUFFC( ) возвращает символьное выражение, в котором с некоторой заданной позиции несколько символов заменяются другим символьным выражением. Задаваемые символьные выражения могут содержать различные варианты символов, как single-byte, так и double-byte characters.

Данная функция используется для обработки символьных данных, содержащих double-byte character для таких языков, как Hiragana и Katakana.

Expand image См. также

Описание

LEFTC( ), функция
RIGHTC( ), функция
STUFF( ), функция
SUBSTRC( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


SUBSTR( ) Function

Visual FoxPro 9.0 Справка по языку
Функция SUBSTR( )
См.также Пример

Возвращает подстроку из заданного символьного выражения или поля типа memo, начиная с указанной позиции в этом символьном выражении или поле типа memo и содержащую указанное количество символов.

SUBSTR(cExpression, nStartPosition [, nCharactersReturned])

Параметры

cExpression

Указывает символьное выражение или имя поля типа memo, из которого извлекается подстрока.
nStartPosition

Указывает позицию символа в символьном выражении или в поле типа memo, начиная с которого извлекается подстрока. Нумерация символов в строке cExpression начинается с 1.
Замечание:
Если значение nStartPosition превышает количество символов в строке cExpression, функция SUBSTR( ) возвращает пустую строку ("").

[nCharactersReturned]

Указывает количество символов в возвращаемой из cExpression подстроке. Если вы опустите этот параметр, будут возвращены все символы, оставшиеся до конца исходной строки.

Возвращаемое значение

Символьное. Функция SUBSTR( ) возвращает символьную строку.

Замечание:
Функция SUBSTR( ) не возвращает значение поля типа memo, если она введена в окне отладки Debug. Для того, чтобы вернуть значение из поля типа memo в окне отладки, используйте имя такого поля в качестве аргумента функции ALLTRIM( ) и поместите функцию ALLTRIM( ) внутри функции SUBSTR( ).

Примечания

Когда функция SUBSTR( ) используется с полями типа memo в команде SQL SELECT, применяйте функцию PADR( ) внутри функции SUBSTR( ) с тем, чтобы получить правильный результат в случае, когда возвращается пустое значение или строка недостаточной длины.

Пример

В следующем примере строка 'abcdefghijklm' запоминается в переменной myString с помощью команды STORE. Команда CLEAR очищает главное окно Visual FoxPro. Функция SUBSTR( ) в соответствии со значением параметра nStartPosition = 1, начиная с первого символа исходной строки, извлекает подстроку abcde' и выбирает 5 символов в соответствии со значением параметра nCharactersReturned = 5. Полученная подстрока отображается при помощи команды ?.Затем функция SUBSTR( ) извлекает подстроку 'fghijklm', начиная с символа, указанного параметром nStartPosition = 6 и до конца исходной строки, поскольку параметр nCharactersReturned опущен.

Скопировать код
STORE 'abcdefghijklm' TO myString
CLEAR
? SUBSTR(myString, 1, 5)
? SUBSTR(myString, 6)

См.также

Функция AT( )
Функция AT_C( )
Функция ATC( )
Функция ATCC( )
Функция ATCLINE( )
Функция ATLINE( )
Функция LEFT( )
Функция PADR( )
Функция RAT( )
Функция RATLINE( )
Функция RIGHT( )
Функция LEFTC( )
Функция RIGHTC( )
Функция SUBSTRC( )
Функция STREXTRACT( )
Функция STRTRAN( )
Функция STUFF( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SUBSTRC( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция SUBSTRC( )
Смотрите также
CollapseAll image

Возвращает строку символов из данного символьного выражения или мемо поля.

SUBSTRC(cExpression, nStartPosition [, nCharactersReturned])

Параметры

cExpression

Определяет символьное выражение или мемо поле, из которой возвращена строка символов.

nStartPosition

Определяет позицию в символьном выражении или мемо поле cExpression откуда возвращается строка символов. Первый символ cExpression - позиция 1.

Если TALK установлен в ON и nStartPosition больше числа символов в cExpression, Visual FoxPro генерирует сообщение об ошибке. Если TALK установлен в OFF, возвращается пустая строка.

nCharactersReturned

Определяет число символов возвращаемых из cExpression. Если вы опустите nCharactersReturned, символы возвращаются пока небудет достигнут конец символьного выражения.

Expand image Возвращаемое значение

Символьное

Expand image Примечания

SUBSTRC( ) разработан для выражений содержащих двойные-байтовые (double-byte) символы. Если выражение содержит только одно-байтовые (single-byte) символы, SUBSTRC( ) эквивалентен SUBSTR( ).

SUBSTRC( ) возвращает строку символов из данного символьного выражения или мемо поля. Символьное выражение или мемо поле могут содержать любую комбинацию одно-байтовых и двух-байтовых символов.

SUBSTRC( ) не будет возвращать значение для мемо полей в окне Debug. Для возвращения значения в окне Debug, поместите имя мемо поля в ALLTRIM( ), и поместите ALLTRIM( ) в SUBSTRC( ).

Эта функция полезна для управлять дву-байтовыми наборами символов для языков, типа Hiragana и Katakana.

Expand image Смотрите также

Справочное руководство

Функция AT( )
Функция AT_C( )
Функция ATC( )
Функция ATCC( )
Функция ATCLINE( )
Функция ATLINE( )
Функция LEFT( )
Функция RAT( )
Функция RATLINE( )
Функция RIGHT( )
Функция LEFTC( )
Функция RIGHTC( )
Функция SUBSTR( )
Функция STRTRAN( )
Функция STUFFC( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SYS( ) Functions Overview

Visual FoxPro 9.0 Описание Языка
SYS( ) Общее Описание
См. также
CollapseAll image

Возвращается системная информация Microsoft Visual FoxPro.

SYS( )

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Система Visual FoxPro возвращает различную полезную системную информацию.

В следующей таблице представлена краткая информация о возвращаемых значениях функции SYS( ):

Функция | Возвращаемое значение
SYS(0) | Сетевая информация о рабочей станции.
SYS(1) | Системная дата в формате Юлиана
SYS(2) | Сколько секунд прошло с начала суток
SYS(3) | Допустимое имя файла.
SYS(5) | Имя текущего диска или тома.
SYS(6) | Текущее устройство печати.
SYS(7) | Текущий файл Формата.
SYS(9) | Серийный номер системы Visual FoxPro.
SYS(10) | Символьная строка как номер дня по Юлианскому календарю.
SYS(11) | Номер дня в Юлианском календаре.
SYS(12) | Доступная память в байтах.
SYS(13) | Статус Принтера.
SYS(14) | Выражение Индекса.
SYS(15) | Преобразование символьного выражения.
SYS(16) | Имя файла выполняемой программы.
SYS(17) | Используемый Процессор.
SYS(18) | Текущий элемент управления.
SYS(20) | Преобразование текста в системе германских языков.
SYS(21) | Номер текущего управляющего индекса.
SYS(22) | Имя управляющего Тэга или Индекса.
SYS(23) | Используемая память EMS в FoxPro .
SYS(24) | Ограничение использования памяти EMS (limit).
SYS(100) | Установка Console. Включена для совместимости, используйте команду SET("CONSOLE").
SYS(101) | Установка Device. Включена для совместимости, используйте команду SET("DEVICE").
SYS(102) | Установка Printer. Включена для совместимости, используйте команду SET("PRINTER").
SYS(103) | Установка Talk. Включена для совместимости, используйте команду SET("TALK").
SYS(602) | Стартовая картинка Visual FoxPro.
SYS(987) | Установка преобразования Unicode - ANSI при выполнении Select-SQL.
SYS(1001) | Память Visual FoxPro.
SYS(1011) | Количество Дескрипторов памяти (Memory Handles).
SYS(1016) | Объем памяти под объектами пользователя.
SYS(1023) | Включить режим диагностики подсистемы Help.
SYS(1024) | Выключить режим диагностики подсистемы Help.
SYS(1037) | Активация диалогового бокса Настройки страницы пачати
SYS(1104) | Освободить блоки кэшируемой памяти
SYS(1269) | Информация о Свойстве Объекта
SYS(1270) | Определение размещения Объекта.
SYS(1271) | Определение файла .SCX для объекта-формы.
SYS(1272) | Иерархия Объекта.
SYS(1500) | Активация системного пункта Меню
SYS(2000) | Имя файла из группы, соответствующей маске.
SYS(2001) | Статус команды SET.
SYS(2002) | Переключение режима Курсора (on / off) Insert/Overwrite.
SYS(2003) | Текущий каталог
SYS(2004) | Стартовый каталог запуска системы Visual FoxPro.
SYS(2005) | Текущий файл Ресурсов.
SYS(2006) | Текущий режим Монитора.
SYS(2007) | Значение Контрольной суммы.
SYS(2010) | Установка параметра FILES= в файле CONFIG.SYS.
SYS(2011) | Текущий статус Блокировки.
SYS(2012) | Размер блока Memo.
SYS(2013) | Имена пунктов системного меню.
SYS(2014) | Минимальный путь.
SYS(2015) | Уникальное имя процедуры.
SYS(2016) | Имя SHOW GETS WINDOW.
SYS(2017) | Значение контрольной суммы текущей записи в текущей рабочей области.
SYS(2018) | Параметр сообщения об Ошибке
SYS(2019) | Имя и размещение активного файла конфигурации
SYS(2020) | Свободное место на текущем диске
SYS(2021) | Выражение фильтра Индекса
SYS(2022) | Размер кластера (блока) для диска
SYS(2023) | Каталог временных файлов
SYS(2024) | Определение Завершения Отчета
SYS(2029) | Тип Таблицы
SYS(2030) | Отладка
SYS(2040) | Определение Статуса Отчета
SYS(2060) | Установка обработки события колесика мыши.
SYS(2300) | Добавить или Удалить Кодовую страницу (Code Page).
SYS(2325) | Определение hWnd клиентского окна из WHANDLE родительского окна.
SYS(2326) | Определение Visual FoxPro WHANDLE из hWnd OS Windows.
SYS(2327) | Определение дескриптора hWnd OS Windows из Visual FoxPro WHANDLE.
SYS(2333) | Поддержка ActiveX Dual Interface.
SYS(2334) | Режим Automation Server Invocation.
SYS(2335) | Режим Unattended Server.
SYS(2336) | Поддержка Critical Section.
SYS(2339) | Выполнение CoFreeUnusedLibraries для объекта COM, когда он освобождается
SYS(2340) | Поддержка сервиса NT.
SYS(2410) | Тип дескриптора Error при обработке Ошибок.
SYS(2450) | Порядок поиска в Приложении
SYS(2600) | Определение указателя на блок памяти (как строки)
SYS(2700) | Включение поддержки Тем Windows XP.
SYS(2800) | Поддержка Accessibility.
SYS(2801) | Поддержка Event Tracking.
SYS(2910) | Определение и установка количества элементов в объекте down list boxes.
SYS(3004) | Определение Locale ID.
SYS(3005) | Установка Locale ID.
SYS(3006) | Установка языка (локализации) для Locale IDs.
SYS(3007) | Определение шрифта для ToolTips.
SYS(3008) | Гиперссылка Tooltips.
SYS(3009) | Выделение многострочных для ToolTips.
SYS(3050) | Установка размера буфера памяти
SYS(3051) | Установка повторных попыток блокировки
SYS(3052) | Переопределение режимов блокировки SET REPROCESS.
SYS(3053) | Дескриптор окружения ODBC.
SYS(3054) | Уровень Rushmore Query Optimization.
SYS(3055) | Сложность предложений FOR и WHEREy.
SYS(3056) | Чтение данных из Реестра Windows.
SYS(3065) | Внутренний Программный Кэш.
SYS(3092) | Определение уровня Rushmore Query Optimization для файла
SYS(3095) | Указатель IDispatch.
SYS(3096) | Ссылка на объект IDispatch.
SYS(3097) | Добавить ссылку на Объект
SYS(3098) | Очистка ссылки на Объект
SYS(3099) | Режим совместимости движка -SQL.
SYS(3101) | Трансляция Кодовой страницы объекта COM

Expand image См. также

Описание

Командное Окно (Visual FoxPro)
Команда SET, общее Описание
Команда SET SYSFORMATS
Команда SET SYSMENU

Другие ссылки

Функции

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(0) - Network Machine Information

Visual FoxPro 9.0 Описание Языка
SYS(0) - Сетевая информация о Рабочей станции
См. также
CollapseAll image

Функция SYS(0) возвращает сетевую информацию о рабочей станции, которая используется системой Visual FoxPro при работе в локальной сети. Данная функция аналогична функции ID( ).

SYS(0)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Сетевая информация о рабочей станции зависит от загруженного сетевого программного обеспечения на данной рабочей станции.

Если данная информация не определена, или сетевое ПО не загружено, SYS(0) возвращает 15 пробелов + символ номера (#) + несколько пробелов + 0. Детальная информация описана в документации по сетевому программному обеспечению

Функция SYS(0) возвращает = 1, когда система Visual FoxPro загружена на локальной машине (без Сети).

Когда рабочая станция подключена к Сети, SYS(0) возвращает имя Рабочей Станции + знак номера (#) + имя Пользователя (или текущий сетевой контекст). Например:

CopyCode image Копировать Код
? SYS(0)

Возвращает следующую строку:

CopyCode image Копировать Код
MACHINEID # userid

Expand image См. также

Описание

SYS( ) Общее Описание
ID( ) Function - Сетевая информация о Рабочей Станции

Концепции

Подготовка перед Распространением Программ

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1) - Julian System Date

Visual FoxPro 9.0 Справочник Языка
SYS(1) - Юлианская Системная Дата
См. Также Пример

Возвращает текущую системную дату как Юлианское число в виде символьной строки.

SYS(1)

Возвращаемое значение

Символ

Замечания

Значение, возвращенное SYS(1) допустимо в USA версии Visual FoxPro для любой системной даты после сентября 14, 1752, и до декабря 31, 9999.

Пример

Copy Code
?  SYS(1)
?  SYS(10,VAL(SYS(1)))

См. Также

Другие Ресурсы

CDOW( ) Функция
CTOD( ) Функция
DATE( ) Функция
DATETIME( ) Функция
DAY( ) Функция
DOW( ) Функция
DTOC( ) Функция
SYS( ) Краткий обзор Функций
SYS(10) - Строка, образованная от Юлианского Номера Дня
SYS(11) - Юлианский Номер Дня

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2) - Seconds Since Midnight

Visual FoxPro 9.0 Описание Языка
SYS(2) - Прошло секунд с начала суток
См. также Пример
CollapseAll image

Возвращает время в секундах, прошедшее с начала суток

SYS(2)

Expand image Возвращаемое значение

Символьное

Expand image Пример

CopyCode image Копировать Код
? TIME( )
? SYS(2)

Expand image См. также

Описание

Функция DATETIME( )
Фунгкция SECONDS( )
SYS( ) Общее Описание
Функция TIME( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3) - Legal File Name

Visual FoxPro 9.0 Описание Языка
SYS(3) - Допустимое имя файла
См. также
CollapseAll image

Возвращается допустимое имя файла, которое может быть использовано для создания временных файлов.

SYS(3)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

SYS(3) возвращает символьную строку, которая начинается с цифры. Если в Вашем коде функция SYS(3) используется совместно с командами CREATE TABLE, CREATE CURSOR, SELECT INTO CURSOR, в которых в качестве имени курсора или таблицы недопустимы имена, начинающиеся с цифры, то может возникнуть ситуация Исключения (ошибки), вместо этого используйте функцию SYS(2015).

SYS(3) может вернуть не-уникальное имя, когда последовательно выполняется на достаточно быстром компьютере.

Expand image См. также

Описание

Функция FILE( )
SYS( ) Общее Описание
SYS(2015) - Уникальное имя процедуры (модуля)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(5) - Default Drive

Visual FoxPro 9.0 Описание Языка
SYS(5) - Текущий Диск или Том
См. также Пример
CollapseAll image

Возвращается текущий Диск или Том в системе Visual FoxPro.

SYS(5)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Данная функция возвращает текущий диск или том в системе Visual FoxPro. Используйте команды SET DEFAULT или CD (Change Disk) для изменения диска.

Expand image Пример

CopyCode image Копировать Код
CD "C:\Program Files"
?SYS(5)

SET DEFAULT TO C:
?SYS(5)

Expand image См. также

Описание

Функция DRIVETYPE( )
Команда CD | CHDIR
Команда SET DEFAULT
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(6) - Current Printer Device

Visual FoxPro 9.0 Описание Языка
SYS(6) - Текущий драйвер принтера
См. также Пример

Возвращает текущий драйвер принтера

SYS(6)

Возвращаемое значение

Символьное

Комментарии

Данная функция возвращает текущую установку команды SET PRINTER TO.

Пример

Копировать Код
? SYS(6)
SET PRINTER TO output.txt
? SYS(6)

См. также

Другие Ссылки

Команда SET PRINTER
Общее описание функции SYS( )
Функция GETPRINTER( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(7) - Current Format File

Visual FoxPro 9.0 Справочное руководство по языку
SYS(7) - Текущий файл формата
Смотрите также

Возвращает имя текущего файла формата.

SYS(7 [, nWorkArea])

Параметры

nWorkArea

Задает номер рабочей области, для которой функция SYS(7) возвращает имя файла формата. Если параметр nWorkArea опущен, возвращается имя файла формата для текущей рабочей области.

Возвращаемое значение

Символ

Замечания

Файл формата открывается по команде SET FORMAT. Если в заданной рабочей области нет открытых файлов формата, возвращается пустая строка.

Смотрите также

Прочие ресурсы

Команда SET FORMAT
Команда SET SYSFORMATS
Краткий обзор функций SYS( )

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


SYS(9) - Visual FoxPro Serial Number

Visual FoxPro 9.0 Описание Языка
SYS(9) - Серийный номер системы Visual FoxPro
См. также
CollapseAll image

Возвращается Серийный номер системы Visual FoxPro.

SYS(9)

Expand image Возвращаемое значение

Символьное

Expand image См. также

Описание

SYS( ) Общее Описание
Функция VERSION( )

Другие ссылки

Настройка Окружения системы Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(10) - String from Julian Day Number

Visual FoxPro 9.0 Описание Языка
SYS(10) - Дата в виде строки от номера дня Julian (Julian Day Number)
См. также Пример
CollapseAll image

Конвертирует Julian day number в символьную строку.

SYS(10, nJulianDayNumber)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

SYS(10) возвращает дату как строку от номера дня (Julian day number), заданного в параметре nJulianDayNumber.

Expand image Пример

CopyCode image Копировать Код
? SYS(1)
? SYS(10,VAL(SYS(1)))

Expand image См. также

Описание

Функция CDOW( )
Функция CTOD( )
Функция DATE( )
Функция DATETIME( )
Функция DAY( )
Функция DOW( )
Функция DTOC( )
SYS( ) Общее Описание
SYS(1) - Дата в формате Julian System
SYS(11) - Номер дня в формате Julian Day Number

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(11) - Julian Day Number

Visual FoxPro 9.0 Описание Языка
SYS(11) - Юлианский Номер Дня
См. также Пример
CollapseAll image

Преобразует данное типа Date / DateTime или символьную строку в Юлианский номер дня.

SYS(11, dExpression | tExpression | cExpression)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Функция SYS(11) возвращает Юлианский Номер Дня для выражения типа Date / DateTime dExpression/tExpression, или символьного выражения cExpression, представляющего формат даты/времени. Юлианский номер дня представляется как символьная строка.

Expand image Пример

CopyCode image Копировать Код
? SYS(11, {^1998-06-06})
? SYS(11,'06/06/1998')

Expand image См. также

Описание

Функция CDOW( )
Функция CTOD( )
Функцмя DATE( )
Функция DATETIME( )
Функция DAY( )
Функция DOW( )
Функция DTOC( )
SYS( ) Общее Описание
SYS(10) - Получить строку из Юлианского номера дня

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(12) - Available Memory in Bytes

Visual FoxPro 9.0 Описание Языка
SYS(12) - Доступная память в байтах
См. также
CollapseAll image

Возвращается объем памяти адресом ниже 640K, доступный для выполнения внешних программ.

SYS(12)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

В Системах Visual FoxPro, SYS(12) всегда возвращает значение = 655,360.

Функция SYS(12) аналогична функции MEMORY( ), но с двумя исключениями:

  • SYS(12) возвращает объем памяти в байтах. MEMORY( ) возвращает доступную память в КилоБайтах.

  • SYS(12) возвращает символьную строку. MEMORY( ) возвращает числовую величину.

Expand image См. также

Описание

Функция MEMORY( )
Команда RUN | !_
SYS( ) Общее Описание
SYS(23) - Использование памяти FoxPro EMS
SYS(24) - Ограничение EMS Memory
SYS(1001) - Память системы Visual FoxPro
SYS(1016) - Память под объектами пользователя

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(13) - Printer Status

Visual FoxPro 9.0 Описание Языка
SYS(13) - Статус Принтера
См. также Пример
CollapseAll image

Возвращается текущий статус принтера. Включена для совместимости с младшими версиями VFP.

SYS(13)

Expand image Возвращаемое значение

Символьнон. Для версий Visual FoxPro, запущенных под ОС Windows, SYS(13) всегда возвращает READY.

В младших версиях VFP, если принтер не готов, SYS(13) возвращает OFFLINE. Если принтер готов, SYS(13) возвращает READY. Функция SYS(13) может также возвращать другие значения в следующих, особых случаях:

  • Если принтер подключен к порту COM и принтер возвращает статус Clear To Send Data или Data Set Ready, SYS(13) возвращает READY.

  • Если принтер подключен к параллельному порту компьютера, и принтер имеет статус: Out of Paper, I/O Error, Time Out, Printer Busy, или Printer Not Selected, SYS(13) возвращает OFFLINE.

Expand image Пример

CopyCode image Копировать Код
IF SYS(13) = 'OFFLINE'
   WAIT WINDOW 'Принтер не Готов...'
ENDIF

Expand image См. также

Описание

SYS( ) Общее Описангие
Функция PRINTSTATUS( )
Команда SET PRINTER

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(14) - Index Expression

Visual FoxPro 9.0 Описание Языка
SYS(14) - Индексное выражение
См. также
CollapseAll image

Возвращает индексное выражение для открытого простого (single-entry) индексного файла или Тэга из составного индексного файла .cdx.

SYS(14, nIndexNumber [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Определяет номер индекса, для которого возвращается индексное выражение открытого индекса или тэга. SYS(14) возвращает индексное выражение для индекса с номером nIndexNumber, который больше 1, и меньше общего количества индексов, открытых для данной таблицы, простых индексов, структурных, независимых составных по следующим правилам:

  1. Сначала возвращается Индексное выражение из простого индексного файла (если он открыт). Порядок простых индексов определяется последовательностью ихуказания в командах USE или SET INDEX.

  2. За тем возвращаются индексные выражения для Тэгов структурного составного индексного файла (если он существуют). Индексные выражения для тэгов возвращаются в порядке определения этих тэгов в индексном файле.

  3. В последнюю очередь возвращаются индексные выражения для независимых составных индексных файлов. Порядок соответствует порядку создания различных тэгов.

Пустая строка возвращается при указании номера nIndexNumber, который имеет недопустимое значение

nWorkArea| cTableAlias

Определяют номер рабочей области или алиас таблицы, для которых определяется индексное выражение. Если они отсутствуют, то предполагается текущая рабочая область, если таблица не имеет алиаса, то возникает исключительная ситуация, Ошибка.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Индексное выражение используется в команде INDEX при создании простого индексного файла или Тэга в составном индексном файле: индексное выражение определяет порядок расположения записей в таблицах при активных индексах.

Для дополнительной информации об индексных выражениях см. раздел: команда INDEX. Функция SYS(14) аналогична функции KEY( ) .

Обе команды: USE и SET INDEX поддерживают сервис по указанию списка индексных файлов, необходимых для текукщей работы и могут открывать указываемые в списке индексные файлы. Допустима любая комбинация указания в данном списке простых индексов, структурных - составных и независимых - составных индексных файлов; порядок индексных выражений описпан выше.

Expand image См. также

Описание

Функция CDX( )
Функция KEY( )
Функция MDX( )
Функция NDX( )
Команда REINDEX
Команда SET INDEX
Команда SET ORDER
SYS( ) Общее Описание
Функция TAG( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(15) - Character Translation

Visual FoxPro 9.0 Описание Языка
SYS(15) - Символьное Преобразование (Character Translation)
См. также
CollapseAll image

Включена для совместимости с младшими версиями. Вместо этого используйте команду SET COLLATE .

CopyCode image Копировать Код
SYS(15, cTranslationExpression, cTranslated)

Expand image Параметры

cTranslationExpression

Определяет символьное выражение, которое использует функция SYS(15) для преобразования выражения cTranslated.

cTranslated

Определяет символьное выражение, которое преобразуется. SYS(15) берет первый символ из cTranslated и определяет его код ASCII. Символ в той же позиции из выражения cTranslationExpression заменяется соответствующим кодом ASCII. Данный процесс повторяется для всех символов выражения cTranslated. Если символ из выражения cTranslated не имеет соответствующего символя в cTranslationExpression, то данный символ не преобразуется.

Expand image Return Values

Символьное

Expand image Комментарии

Первоначально (в младших версиях) использование данной функции предполагалось для Европейских потребителей, в языках которых используются "акцентированные" символы. Поскольку для некоторых гласных имеются парные гласные, очередность которых влияет на алфавитный порядок при индексировании.

В системах Visual FoxPro имеется файл переменной памяти EUROPEAN.MEM, который содержит образец таблицы трансляции символов. В FoxPro для MS-DOS и Visual FoxPro, файл EUROPEAN.MEM размещен в подкаталоге системы HOME( ). В FoxPro для Macintosh, файл EUROPEAN.MEM располагается в папке Goodies:Misc.

В файле EUROPEAN.MEM содержится переменная памяти, которая имеет имя EUROPEAN, она используется в функции SYS(15) в FoxPro для MS-DOS. Другая символьная переменная EUROANSI используется с функцией SYS(15) в Visual FoxPro и FoxPro для Macintosh. Эти переменные памяти могут быть использованы SYS(15), чтобы переводить акцентированые символы в соответствующие символы без акцентов.

Например, следующая команда, при выполнении в FoxPro для MS-DOS индексирует таблицу таким образом, что символьные данные, содержащие "акцентированные" символы не нарушают алфавитный порядок при сортировке данных:

CopyCode image Копировать Код
INDEX ON SYS(15, european, field) TO european

Expand image См. также

Описание

SYS( ) Общее Описание
Команда SET COLLATE
Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(16) - Executing Program File Name

Visual FoxPro 9.0 Описание Языка
SYS(16) - Имя файла выполняемой программы
См. также Пример
CollapseAll image

Возвращается имя файла выполняемой в настоящий момент программы.Вы можете использовать SYS(16) при обработке Ошибок.

SYS(16 [, nProgramLevel])

Параметры

nProgramLevel

Определяет уровень вложенности, на котором выполняется программный модуль. Эта величина может изменяться от 1 до максимально возможного уровня вложенности. См. дополнительно об допустимых уровнях вложенности команды DO раздел: Системные возможности Visual FoxPro.

Если параметр nProgramLevel = 0 или = 1, функция SYS(16) возвращает имя Главного (стартового) модуля (the program first executed). Если параметр отсутствует, то возвращается имя модуля, выполняемого на текущем уровне. Пустая строка возвращается для уровня вложенности nProgramLevel, большего чем текущий уровень.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Функция SYS(16) аналогична функции PROGRAM( ), за исключением того, что SYS(16) возвращает полное имя программного модуля (FullPath). Если выполняемая программа является частью приложения (.app), функция SYS(16) возвращает только имя программного модуля, без полного пути. SYS(16) возвращает имя выполняемого файла (.exe); в то время как PROGRAM( ) возвращает только имя. Если выполняется модуль из процедурного файла, то функция SYS(16) возвращает имя программного модуля и имя файла, в котором выполняемый модуль находится.

Expand image Пример

В следующем примере показаны программные модули, выполняемые на различных уровнях вложенности:

CopyCode image Копировать Код
STORE 1 TO gnX
DO WHILE LEN(SYS(16,gnX)) != 0
   ? SYS(16,gnX)
   STORE gnX+1 TO gnX
ENDDO

Expand image См. также

Описание

Функция LINENO( )
Команда ON ERROR
Функция PROGRAM( )
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(17) - Processor in Use

Visual FoxPro 9.0 Описание Языка
SYS(17) - Используемый Процессор
См. также Пример
CollapseAll image

Возвращается Имя центрального процессора (CPU) Вашей системы (компьютера).

SYS(17)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Данная функция возвращает имя центрального процессора Вашего компьютера.

Expand image Пример

CopyCode image Копировать Код
? 'Используемый Процессор: ', SYS(17)

Expand image См. также

Описание

SYS( ) Общее Описание
Команда SET DEVICE
SYS(100) - Установка Console

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(18) - Current Control

Visual FoxPro 9.0 Описание Языка
SYS(18) - Текущий элемент управления
См. также
CollapseAll image

Функция включена для совместимости с младшими версиями VFP. Вместо этого используйте Свойство ActiveControl .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(20) - Transform German Text

Visual FoxPro 9.0 Описание Языка
SYS(20) - Преобразование текста для германских языков
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте команду SET COLLATE .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(21) - Controlling Index Number

Visual FoxPro 9.0 Справка по языку
SYS(21) - Номер управляющего индекса
См.также

Возвращает в виде символьной строки номер позиции индекса в главном управляющем составном индексном теге .cdx или индексном файле .idx в выбранной текущей рабочей области.

SYS(21)

Возвращаемое значение

Символьное

Замечания

Номер позиции индекса определяется порядком, в котором индексные файлы .idx и теги в составном индексном файле .cdx указывались в командах USE и SET INDEX.

Вы можете использовать команды SET INDEX, SET ORDER и USE для указания какой индексный файл .idx или индексный тег в составном индексном файле .cdx является главным управляющим индексным файлом или тегом. Для дальнейшей информации по указанию oглавного управляющего индекса или тега смотрите SET INDEX, SET ORDER и USE.

Значение "0" возвращается, если отсутствует главный управляющий составной индексный файл .cdx или индексный файл .idx (например, командой SET ORDER TO установлены отображение и доступ к записям таблицы в физическом порядке их следования).

См.также

Функция CDX( )
Функция KEY( )
Команда INDEX
Функция MDX( )
Функция NDX( )
Команда REINDEX
SYS( ) Обзор функций
SYS(22) - Управляющий тег или имя индекса
Функция TAG( )
Команда USE

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(22) - Controlling Tag or Index Name

Visual FoxPro 9.0 Описание Языка
SYS(22) - Определяет имя управляющего Тэга или индексного файла
См. также
CollapseAll image

Возвращается имя управляющего (активного) индексного Тэга для Таблицы из соответствующего составного индексного файла .cdx, или имя управляющего файла простого индекса .idx.

SYS(22 [, nWorkArea])

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Вы можете использовать команды: SET INDEX, SET ORDER, и USE для задания управляющего Тэга или простого индексного файла таблицы с данными. Дополнительная информация об установке управляющего индекса для таблицы находится в разделах: SET INDEX, SET ORDER, и USE.

Пустая строка возвращается в случае, когда не установлен текщий управляющий (активный) Тэг или индексный файл. (Например, выполнена команда SET ORDER TO для установки доступа к данным в таблице в физической последовательности (без сортировки) ).

nWorkArea

Определяет номер рабочей области, в которой открыта таблица, для которой функция SYS(22) определяет имя управляющего Тэга или индекса.

Expand image См. также

Описание

Функция CDX( )
Функция KEY( )
Команда INDEX
Функция MDX( )
Функция NDX( )
Команда REINDEX
SYS( ) Общее Описание
SYS(21) - Номер управляющего (активного) индекса
Функция TAG( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(23) - FoxPro EMS Memory Usage

Visual FoxPro 9.0 Описание Языка
SYS(23) - Использование FoxPro памяти типа EMS
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(24) - EMS Memory Limit

Visual FoxPro 9.0 Описание Языка
SYS(24) - Ограничение (Limit) памяти типа EMS
См. также
CollapseAll image

Включена для совместимости с младшими версиями (FP2.6 DOS).

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(602) - Bitmap Configuration

Visual FoxPro 9.0 Описание Языка
SYS(602) - Конфигурирование стартовой картинки (Bitmap Configuration)
См. также
CollapseAll image

Возвращается текущая установка стартовой картинки в текущем файле конфигурации; и переключает стартовую картинку в состояниях ON / OFF.

SYS(602 [, 0 | 1 ])

Параметры

0

переключает в OFF стартовую картинку в режиме выполнения RunTime.

1

переключает в ON стартовую картинку в режиме выполнения RunTime.

Expand image Возвращаемое значение

Символьное. В следующей таблице представлены варианты возвращаемых значений SYS(602).

Возвращаемое значение | Установка
=0 | Off-screen bitmaps - OFF.
=1 | Off-screen bitmaps - ON. (по-умолчанию)

Expand image Комментарии

Вы можете использовать (сохранять) побитовые области экрана, над которыми располагаются другие графические объекты, например формы; но графические изображения достаточно энергоемки, требуют большого количества памяти, Поэтому использование данной функции позволит Вам оптимизировать и улучшить выполнение Ваших приложений в режиме Terminal Server.

Однако, использование данной функции может изменить выполнение Вашей программы. Например, элементы управления на форме будут отображаться нормально, а объекты, полученные при использовании метода Line изменят прорисовку стартовой картинки.

Для определения в каком режиме запущено Ваше приложение (как Terminal Server), используйте функцию: OS(10).

Expand image См. также

Описание

SYS( ) Общее Описание
Функция OS( )
Специальные директивы в файле конфигурации

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(987) - Map Remote Data to ANSI

SYS(987) - Схема выгрузки Данных в формате ANSI
См. также
CollapseAll image

Схема выгрузки данных типа Unicode в формат ANSI, получаемых функциями SQL pass-through или удаленными представлениями.

SYS(987 [, lExpr])

Параметры

lExpr

= True (.T.) - данные типа Unicode всегда выгружаются в формате ANSI. Драйвер ODBC выполняет преобразование Unicode => ANSI.

= False (.F.) (по-умолчанию) - данные типа Unicode выгружаются в формате Unicode.

Expand image Возвращаемое значение

Логическое. SYS(987) возвращает предыдущую установку преобразования данных.

Если функция SYS(987) вызывается без параметра lExpr, то возвращается текущая установка.

Expand image Комментарии

Функция SYS(987) может быть использована Вами для получения данных типа Varchar в формате ANSI, которые Вы используете в полях типа MEMO.

Установка SYS(987) действует глобально для всех сессий данных. После получания Курсора удаленных данных изменение установки функции SYS(987) не влияет на выполнение последующих дополнительных выборок функцией REQUERY( ) для рассматримаемого удаленного источника данных.

Expand image См. также

Описание

Функция REQUERY( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1001) - Visual FoxPro Memory

Visual FoxPro 9.0 Описание Языка
SYS(1001) - Память системы Visual FoxPro
См. также
CollapseAll image

Возвращается общий размер памяти, доступной для системы Visual FoxPro.

SYS(1001)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

В системе Visual FoxPro, SYS(1001) возвращает размер пула виртуальной памяти, который приблизительно составляет учетверенный объема физической памяти рабочей станции (увеличенный в четыре раза).

Expand image См. также

Описание

SYS( ) Общее Описание
SYS(12) - Доступная память в байтах
SYS(23) - Использование памяти FoxPro EMS
SYS(24) - Ограничение памяти EMS
SYS(1016) - Объем памяти под пользовательскими объектами

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1011) - Number of Memory Handles

Visual FoxPro 9.0 Описание Языка
SYS(1011) - Количество дескрипторов памяти
См. также
CollapseAll image

Возвращается количество используемых дескрипторов памяти.

SYS(1011)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Вы можете использовать функцию SYS(1011) для проверки использования памяти в интервалах тестирования. Повышение возвращаемого значения при первых запусках данной функции свидетельствует о процессах кэширования памяти; повышение возвращаемого значения при последующих запусках данной функции - свидетельствуют о проблемах с системной памятью.

Expand image См. также

Описание

SYS( ) Общее Описание
SYS(12) - доступная память в байтах
SYS(1016) - используемая память под Объектами пользователя

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1016) - User Object Memory Use

Visual FoxPro 9.0 Описание Языка
SYS(1016) - Использование памяти под Объектами пользователя
См. также
CollapseAll image

Возвращается величина объема памяти, который занят уже определенными объектами пользователя.

SYS(1016)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Пользовательскими объектами являются: пользовательские окна, системы Меню, меню PopUp, переменные, массивы, открытые таблицы, открытые файлы функциями низкого уровня, и так далее....

Expand image См. также

Описание

SYS( ) Общее Описание
SYS(12) - Доступная Память, в байтах
SYS(23) - Использование памяти FoxPro EMS Memory
SYS(24) - Ограничение EMS Memory
SYS(1001) - Память системы Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1023) - Enable Help Diagnostic Mode

Visual FoxPro 9.0 Описание Языка
SYS(1023) - Включение режима диагностики подсистемы Help
См. также
CollapseAll image

Включает режим диагностики подсистемы Help, обеспечивает доступ к элементам HelpContextID, которые определены в Visual FoxPro Help system.

SYS(1023)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

SYS(1023) используется при отладке пользовательских подсистем Help в Ваших приложениях. SYS(1023) возвращает пустую строку.

Когда режим диагностики подсистемы Help включается вызовом функции SYS(1023), то при нажатии клавиши F1 или выполнении команды HELP активируется диалоговый бокс, в котором отображаются активные разделы подсистемы Помощи HelpContextID, и Вы можете выбрать соответствующий раздел HelpContextID.

Если Вы выбираете <Yes>, то данный раздел HelpContextID включается в подсистему Помощи. Если Вы выбираете <No>, то данный раздел HelpContextID не отображается в подсистеме Помощи.

Функция SYS(1024) отключает данный режим отладки, и восстанавливает стандартный режим Visual FoxPro Help system.

Expand image См. также

Описание

Команда HELP
Свойство HelpContextID (Visual FoxPro)
Команда SET HELP
SYS(1024) - Отключение режима диагностики Help
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1024) - Disable Help Diagnostic Mode

Visual FoxPro 9.0 Описание Языка
SYS(1024) - Выключает режим диагностики Справки
См. также
CollapseAll image

Выключает режим диагностики Справки, который включается функцией SYS(1023).

SYS(1024)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Используйте функцию SYS(1024) для выключения режима диагностики системы Help, который включается функцией SYS(1023) и восстанавливается начальное состояние Visual FoxPro Help system. Функция SYS(1023) используется для Отладки подсистемы Help в Вашем приложении.

SYS(1024) возвращает пустую строку.

Expand image См. также

Описание

Команда HELP
Свойство HelpContextID (Visual FoxPro)
Команда SET HELP
SYS(1023) - Включить режим диагностики Help
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1037) - Page Setup Dialog Box

Visual FoxPro 9.0 Справочное руководство по языку
SYS(1037) - Диалоговый блок Page Setup
Смотрите также
CollapseAll image

Отображает используемый по умолчанию диалоговый блок Visual FoxPro или диалоговый блок Page Setup отчета, или устанавливает установки используемого по умолчанию принтера для Visual FoxPro или для принтера окружения отчета.

SYS(1037 [, nValue])

Параметры

nValue

Указывает значение, которое определяет функциональность SYS(1037).

В приведенной ниже таблице перечислены возможные значения для nValue.

nValue Описание

0 или опущен

Открывает диалоговый блок Page Setup используемый по умолчанию.

1

Открывает диалоговый блок Page Setup отчета.

2

Устанавливает установки принтера, используемого в окружении отчета в значения установок принтера, используемого по умолчанию.

3

Устанавливает установки принтера, используемого по умолчанию в значения установок принтера, используемого в окружении отчета.
Note Замачание

Когда nValue установлено в значение 1, 2 и 3, таблица отчета или курсор должны быть открыты эксклюзивно.

Expand image Возвращаемое значение

Символьный тип данных. SYS(1037) возвращает "1", если Visual FoxPro производит любые действия воздействующие на окружение принтера или его установки; в противном случае возвращается "0".

Note Замечание

В некоторых случаях, если пользователь щелкает по OK в диалоговом блоке, бе производства каких-либо явных выборок установок, то из этого не следует, что изменения непременно произойдут. Однако, Visual FoxPro исследует любые аспекты окржения принтера или его установок в файле отчета и обновляет что-нибудь в тех установках, которые не соответствует полному списку аттрибутов, доступных из предоставляемых диалоговым блоком Page Setup. Если такое действие происходит, то возвращается "1."

Expand image Примечания

SYS(1037) отображает диалоговый блок Page Setup с тем, чтобы вы могли изменить установки принтера, такие как размер бумаги и ее ориентацию. Установки, доступные через диалоговый блок Page Setup зависят от инсталлированного в системе принтера. SYS(1037), кроме того, устанавливает установки среды принтера для отчета в установки принтера, используемого по умолчанию или наоборот. Для получения более подробной информации смотрите описание Диалоговый блок Page Setup (Visual FoxPro).

Expand image SYS(1037,<N>) и отчеты

SYS(1037,1), SYS(1037,2) и SYS(1037,3) и отчеты в первую очередь полезны разработчикам, работающим с особенностями расширений Visual FoxPro 9.0 Report System. Для получения подробной информации об этих расширениях смотрите Расширения функциональности отчетов в Visual FoxPro.

Все три, связанные с отчетами, SYS(1037,<N>) варианты требуют доступа к курсору или открытой таблице с тем же самым расшмрение, что и файлы определений отчетов (.frx) или этикеток (.lbx). Отчет должен быть выбран, как курсор или открыт как таблица до вызова функции, и Visual FoxPro требует, чтобы таблица отчета была открыта в монопольном (exclusive) режиме. В противном случае, при вызове функции произойдет ошибка. Для получения более подробной информации о структуре таблиц отчетов и этикеток смотрите их описание в Таблица структур табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

SYS(1037,1) предоставляет разработчикам путь для внедрения расширений Report Builder с целью вызова родного диалогового блока установки страницы и сохранения выбора пользователя непосредственно в файле определения отчета или этикетки. Для получения более подробной информации смотрите Расширения отчетов в Design Time.

Созранение текщего принтерного окружения

SYS(1037,2) преподносится как путь временного сохранения текущего принтерного окружения в курсоре, с тем чтобы вы смогли восстановить это окружение в дальнейшем. По существу, эта функция всегда сохраняет все детали в курсоре, которые вы предоставите. Если курсор представляет собой реальный отчет и не имеет сохраненного принтерного окружения перед использованием SYS(1037,2), то оно будет сохранено в дальнейшем. Если вы не желаете, чтобы описание принтерного окружения оставалось в курсоре, то под вашу ответственность вы можете позже очистить эти поля. Для избежания необходимости задачи очистки этих полей, просто предоставьте курсор требуемого формата с единственной записью, вместо того, чтобы использовать реальный отчет или этикетку с функцией SYS(1037,2). Для получения более подробной информации смотрите описание задачи Как: сохранить принтерное окружение для отчетов.

SYS(1037,2) сохраняет любую информацию, уже находящуюся в установках принтерного окружения отчета. Она просто добавляет установки, которых еще нет и не переписывает существующие новым содержанием.

Например, если описание отчета включает в себя ORIENTATION=1 и COPIES=3, для указания ландшафтной ориентации листа и требования печати трех копий, то эти установки не будут переписаны установками с потретной ориентацией листа. Однако, если вы удалите строку, указывающую количество копий COPIES=3 из описания отчета до вызова функции, то после ее вызова описание отчета будет содержать строку COPIES=<N> . Эта строка будет соответствовать текущей установке Visual FoxPro, используемой по умолчанию.

Поскольку такое поведение явлется дополнительным, и если вы хотите использовать полный набор установко Visual FoxPro, используемый по умолчанию, то с этой функцией вы должны использовать пустой курсор, или убедиться в том, что соответствующие поля действительно пустые перед вызовом SYS(1037,2).

Восстановление текущего принтерного окружения

SYS(1037,3) восстанавливает установки принтера из описания отчета в установки Visual FoxPro, используемые по умолчанию. Хотя это может показаться counter-intuitive, использование этого варианта функции требует полной информации о принтерном окружении в отчете или этикетке, и поэтому в курсор могут быть записаны данные или изменены установки принтерного окружения. Если ваш отчет или этикета не имеют полной информации перед вызовом этой функции, она заполнит ее полной информацией, после ее вызова.

Учет переписи пользователем принтерных установок

В предыдущих версиях Visual FoxPro, сохранение установок принтера в отчете использовало три поля в первой записи таблицы: а именно поля EXPR, TAG и TAG2. В Visual FoxPro 9.0, если вы выбрали "не сохранять окружения принтера в отчете", то в этим полях хранится значительно меньше информации, что дает возможность вашему отчета более точно работать с широким диапазоном принтеров.

В Visual FoxPro 9.0 при создании отчета, вы, кроме того переписываете любые установки в этих полях, используя четвертое поле первой записи PICTURE. Ваши установки, сохраняемые в поле PICTURE, переписывают любые установки для тех же самых аттрибутов в полях EXPR и TAG. Отметьте, что эти установки регистро-чувствительные.

SYS(1037) знает об пользовательских установках в поле PICTURE и учитывает их при восстановлении принтерного окружения из файла отчета или этикетки.

Когда вы запускаете отчеты или этикетки, пользователи могут иметь уже другой уровень переписи хранимых установок принтера получаемый через опцию PROMPT команд REPORT FORM и LABEL. Если вы используете это ключевое слово, или предоставляете аналогичную инструкцию с членом CommandClauses.Prompt объекта ReportListener, то любые установки, предоставленные пользователем в runtime имеют преимущество над установками, хранящимися в отчете и над установками принтера, используемыми Visual FoxPro по умолчанию. Для получения более подробной информации смотрите описание Команда REPORT FORM, Команда LABEL и Свойство CommandClauses.

Expand image Смотрите также

Справочное руководство

Функция GETPRINTER()
Функция PRINTSTATUS()
Команда SET DEVICE
Команда SET PRINTER
Обзор функций SYS()

Концепции

Понимание и расширение структуры отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SYS(1104) - Purge Memory Cache

Visual FoxPro 9.0 Описание Языка
SYS(1104) - Очистить Кэш Памяти
См. также
CollapseAll image

Освобождает кэшируемую память, используемую программами и данными, а также очищает и обновляет буферы открытых таблиц.

SYS(1104 [, cAlias | nWorkArea])

Параметры

cAlias

Определяет Алиас некоторой таблицы или курсора, для которой выполняется освобождение кэшируемой памяти, занятой соответствующими буферами.

nWorkArea

Определяет номер рабочей области, для которой освобождаются буферы.

Expand image Возвращаемое значение

Символьное. Функция SYS(1104) возвращает количество памяти в байтах, которое остается занятым, (не может быть освобождено). SYS(1104) возвращает "0", если вся память освобождена.

Expand image Комментарии

Вы можете значительно улучшить выполнение программ выполняя вызов данной функции SYS(1104) после выполнения команд , которые требуют использования значительных буферов памяти. Эта функция также очищает внутренние буферы для открытых таблиц, принудительно обновляет буферы таблиц, имеющих большие размеры или используемых в сетевом окружении (немонопольно).

Note Примечание

Использование SYS(1104) значительно замедлит выполнение приложений, в которых открывается много таблиц.

Используйте включение дополнительных параметров cAlias или nWorkArea для очистки буферов конкретных таблиц и курсоров. Это особенно эффективно в многопользовательской среде и при использовании функции INDEXSEEK( ) для поиска в индексируемых таблицах.

Expand image См. также

Описание

SYS( ) Общее Описание
Команды CLEAR
Команда RELEASE
Команды CLOSE
Команда FLUSH
Команда SET REFRESH

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1269) - Property Information

Visual FoxPro 9.0 Описание Языка
Функция SYS(1269) - информация о Свойстве
См. также

Возвращает величину, показывающую, изменилось ли значение свойства объекта или данное свойство "только-для-чтения".

SYS(1269, oObjectName, cProperty, nPropertyAttribute)

Параметры

oObjectName

Определяет имя объекта, информацию о свойстве которого нужно определить.
cProperty

Определяет имя свойства.
nPropertyAttribute

Определяет числовой параметр, который управляет возвращаемым значением; см. следующую таблицу :
параметр
nPropertyAttribute 		Описание

0

возвращается True (.T.) если значение свойства изменилось

возвращается False (.F.) если свойство осталось неизменным

1

возвращается True (.T.) если свойство помечено как "только-для-чтения"

возвращается False (.F.) если значение свойства можно изменять

Возвращаемое значение

Логического типа. Функция SYS(1269) возвращает True (.T.) или False (.F.), в зависимости от значения параметра nPropertyAttribfsute.

Комментарии

Функция SYS(1269) используется для определения изменения значения свойства объекта, или для определения возможности изменить значение свойства программным путем.

См. также

Другие ссылки

Функция GETPEM( )
Функция PEMSTATUS( )
Функция SYS(1270) - размещение объекта
Функция SYS(1272) - иерархия объекта
Общее описание функции SYS( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(1270) - Object Location

Visual FoxPro 9.0 Описание Языка
Функция SYS(1270) - размещение объекта
См. также

Возвращает ссылку на объект, находящийся в указанной точке (по заданным координатам).

SYS(1270 [, nXCoord, nYCoord])

Параметры

nXCoord

Определяет горизонтальную координату (в пикселах) относительно рабочего стола Windows.
nYCoord

Определяет вертикальную координату (в пикселах) относительно рабочего стола Windows.

Возвращаемое значение

Логического типа или ссылка на объект. Функция SYS(1270), если заданы координаты, возвращает ссылку на объект, расположенный по заданным координатам nXCoord и nYCoord. Если координаты отсутствуют, функция SYS(1270) возвращает ссылку на объект, расположенный под текущим положением манипулятора сышь. Если такого объекта нет, то возвращается значение = False (.F.).

Примечание:
Для зафиксированных форм функция SYS(1270) не возвращает ссылку на них, так как они уже являются частью других форм, к которым выполнено "причаливание"..

См. также

Другие Ссылки

Функция AMOUSEOBJ( )
Команда CREATE FORM
Функция GETPEM( )
Функция PEMSTATUS( )
Функция SYS(1269) - информация о Свойстве
Функция SYS(1271) - Объект файла .SCX
Функция SYS(1272) - иерархия объекта
Функция ASELOBJ( )
Общее описание функции SYS( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(1271) - Object's .SCX File

Visual FoxPro 9.0 Описание Языка
SYS(1271) - Опренделить файл .SCX для объекта
См. также
CollapseAll image

Возвращается имя файла .SCX, в котором сохранен представленный объект.

SYS(1271, oObjectName)

Параметры

oObjectName

Определяет имя объекта, для которого необходимо определить имя файла .scx, в котором он (объект) расположен.

Expand image Возвращаемое значение

Символьное, Логическое

Expand image Комментарии

SYS(1271) возвращает имя файла .scx, в котором размещен указанный объект.

SYS(1271) возвращает логическое = false (.F.), если указанный объект не размещен в файле .scx. (например, если объект создан в Командном Окне VFP).

Expand image См. также

Описание

Команда CREATE FORM
Функция GETPEM( )
Функция PEMSTATUS( )
SYS(1269) - Информация о Свойстве
SYS(1270) - Размещение Объекта
SYS(1272) - Иерархия Объекта
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1272) - Object Hierarchy

Visual FoxPro 9.0 Описание Языка
SYS(1272) - Иерархия Объекта
См. также
CollapseAll image

Возвращается иерархия объекта для указанного объекта. Не доступна в режиме Design Time.

SYS(1272, oObjectName)

Параметры

oObjectName

Определяет имя объекта для определения его иерархии.

Expand image Возвращаемое значение

Символьное

Expand image См. также

Описание

Команда CREATE FORM
Функция GETPEM( )
Функция PEMSTATUS( )
SYS(1269) - Информация о свойстве
SYS(1270) - Размещение Объекта
SYS(1271) - Файл объекта .SCX
SYS( ) Общее описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(1500) - Activate a System Menu Item

Visual FoxPro 9.0 Справочник Языка
SYS(1500) - Активируют Пункт Системного меню
См. Также Пример

Активирует пункт системного меню Visual FoxPro.

SYS(1500, cSystemItemName, cMenuName)

Параметры

cSystemItemName

Определяет имя пункта системного меню Visual FoxPro, чтобы активировать.
cMenuName

Определяет имя системного меню Visual FoxPro или подменю, содержащего пункт меню.

Возвращаемое значение

Символ

Замечания

См. Имена Системного меню для выведения списка меню Visual FoxPro и наименований пунктов меню. Вы можете также использовать SYS(2013) - Строка Имени Системного меню для выведения списка меню Visual FoxPro и наименований пунктов меню.

Определяемые пользователем пункты меню и заблокированные пункты системного меню не могут быть активированы командой SYS(1500).

SYS(1500) возвращает пустую строку.

Пример

Следующий пример использует SYS(1500), чтобы вставить команду в программный файл.

Скопировать код
_CLIPTEXT = "MESSAGEBOX('TEST')"  && Command to paste
MODIFY COMMAND myprog NOWAIT  && Open a program file
SYS(1500, '_MED_PASTE', '_MEDIT')  && Paste menu item

См. Также

Другие Ресурсы

MODIFY COMMAND Команда
_CLIPTEXT Системная Переменная
SYS( ) Краткий обзор Функций

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2000) - File Name Wildcard Match

Visual FoxPro 9.0 Описание Языка
SYS(2000) - Определить имя файла, соответствующее заданному шаблону
См. также Пример
CollapseAll image

Возвращается имя первого существующего файла, имя которого соответствует заданному шаблону.

SYS(2000, Skeleton [, 1])

Параметры

Skeleton

Определяет шаблон имени файла. Шаблон может содержать комбинацию символов: ? и *.

1

Возвращается имя следующего файла.

Expand image Возвращаемое значение

Символное

Expand image Комментарии

Возвращается пустая строка в случае, когда отсутствует очередной файл. Поведение данной функции аналогично чзыковой конструкции FOR EACH ... ENDFOR

Expand image Пример

CopyCode image Копировать Код
? SYS(2000,'FOX.*')
? SYS(2000,'FOX.*',1)

Expand image См. также

Описание

Функция LOCFILE( )
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2001) - SET ... Command Status

Visual FoxPro 9.0 Описание Языка
Функция SYS(2001) - Статус команды SET ...
См. также Пример

Возвращает текущую установку команды SET.

SYS(2001, cSETCommand [, 1 | 2])

Параметры

cSETCommand

Определяет опцию команды SET, значение которой необходимо определить.
1 | 2

Каждая команда SET имеет две или несколько установок; например, SET PRINTER ON, SET PRINTER OFF, или SET PRINTER TO FileName. Использование SYS(2001) без параметров 1 или 2 возвращает значения ON или OFF (текущей установки). Использование функции SYS(2001) с параметрами 1 или 2 возвращает дополнительную информацию о конкретной команде SET. Дополнительно см. описание функции SET( ) для уточнения использования параметров 1 или 2 для конкретной команды SET.

Возвращаемое значение

Символьного типа

Комментарии

Функция SYS(2001) аналогична функции SET( ).

Пример

Копировать код
? SYS(2001,'PRINTER')
? SYS(2001,'PRINTER',1)

См. также

Другие ссылки

Общее описание функции SYS( )
Команда SET PRINTER
Команда SET

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2002) - Turn Insertion Point On or Off

Visual FoxPro 9.0 Описание Языка
SYS(2002) - Переключение курсора как On или Off
См. также
CollapseAll image

Переключает курсор как ON или OFF (включает/выключает видимость курсора).

SYS(2002 [, 1])

Expand image Возвращаемое значение

Нет

Expand image Комментарии

Функция SYS(2002) переключает курсор ввода в состояние OFF. SYS(2002, 1) переключает курсор в состояние ON. Для дополнительной информации см. раздел команда SET CURSOR.

Expand image См. также

Описание

Функция INKEY( )
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2003) - Current Directory

Visual FoxPro 9.0 Описание Языка
SYS(2003) - Текущий Каталог
См. также
CollapseAll image

Возвращается имя текущего каталога на текущем диске (в формате: \path1\pat2\...\pathN\).

SYS(2003)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Вы можете дополнительно использовать функцию SYS(5) для определения текущего диска.

Expand image См. также

Описание

SYS( ) Общее Описание
Невозможно переименовать текущий каталог (Ошибка 1253)
SYS(5) - Диск по-умолчанию (текущий)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2004) - Visual FoxPro Start Directory

Visual FoxPro 9.0 Описание Языка
SYS(2004) - Visual FoxPro стартовый каталог
См. также Пример
CollapseAll image

Возвращается имя каталога, из которого стартует система Visual FoxPro.

SYS(2004)

Expand image Возвращаемое значение

Символьное. SYS(2004) возвращает каталог размещения файлов VFPVersionNumberR.dll или VFPVersionNumberT.dll для приложений Visual FoxPro, выполняемых в режиме RunTime. VersionNumber - означает текущую версию системы .

Expand image Пример

CopyCode image Копировать Код
? 'Visual FoxPro launch directory: ', SYS(2004)

Expand image См. также

Описание

Функция HOME( )
Команда SET PATH
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2005) - Current Resource File

Visual FoxPro 9.0 Описание Языка
SYS(2005) - Текущий файл Ресурсов
См. также Пример
CollapseAll image

Возвращается имя текущего файла Ресурсов системы Visual FoxPro.

SYS(2005)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Ресурсный файл Visual FoxPro - ото обычная таблица Visual FoxPro, содержащая системные и пользовательские настройки и ресурсы, определения клавиатурных макросов, координаты размещения системных окон и так далее...

По-умолчанию файл ресурсов Visual FoxPro имеет имя FoxUser.dbf. Используйте команду SET RESOURCE для задания другого имени файла ресурсов Visual FoxPro, и его размещения.

Expand image Пример

CopyCode image Копировать Код
? 'Текущий Файл Ресурсов: ', SYS(2005)

Expand image См. также

Описание

Команда SET RESOURCE
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2006) - Current Graphics Card

Visual FoxPro 9.0 Описание Языка
SYS(2006) - Текущая Графическая карта (режим монитора)
См. также Пример
CollapseAll image

Возвращается тип графической карты используемого монитора.

SYS(2006)

Expand image Возвращаемое значение

Символьное

Expand image Пример

CopyCode image Копировать Код
? 'Текущая графическая карта / монитор: ', SYS(2006)

Expand image См. также

Описание

Функция ISCOLOR( )
Команда SET DISPLAY
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2007) - Checksum Value

Visual FoxPro 9.0 Описание Языка
SYS(2007) - Значение Контрольной суммы
См. также
CollapseAll image

Возвращает величину контрольной суммы символьного выражения. Вы можете использовать контрольную сумму, чтобы тестировать достоверность данных или, чтобы сравнивать два символьных выражения. Вы можете также сгенерировать величины контрольной суммы больше, чем 16 битов для больших строк.

Функция SYS(2017) обеспечивает дополнительную функциональность для вычисления контрольной суммы текущей записи текущей рабочей области. См. дополнительно раздел справки SYS(2017) - значение контрольной суммы записи.

SYS(2007, cExpression, [, nSeed, [, nFlags]])

Параметры

cExpression

Определяет символьное выражение (строку), для которой SYS(2007) возвращает контрольную сумму.

nSeed

Если задано значение = 0, то вычисляется значение контрольной суммы для младших версий VFP, оставлено для совместимости. Задание значения параметра = -1 использует внутреннее значение, = 0. Для вычисления CRC32, Visual FoxPro игнорирует параметр nSeed.

nFlags

Установка дополнительного бита при вычислении контрольной суммы.

В младших версиях Visual FoxPro (< 8.0) используется CRC16, 16-битный алгоритм вычисления контрольной суммы для символьной строки. Система Visual FoxPro обеспечивает вычисления контрольной суммы CRC32, 32-битного значения. Данный параметр позволяет Вам регулировать вычисление контрольной суммы.

В следующей таблице представлены возможные значения параметра nFlags.

Значение Бит Описание

1

001

Используется CRC32 - алгоритм вычисления контрольной суммы.

В следующей таблице представлены значения параметра nFlags.

nFlags= Описание

0

Вычисление Контрольной суммы для cExpression при CRC16 -алгоритме. (По-Умолчанию)

1

Вычисление Контрольной суммы для cExpression при CRC32 -алгоритме.

Например, для вычисления контрольной суммы CRC32 нужно задать nFlags = 1. Для вычисления CRC16 - nFlags = 0.

Expand image Возвращаемое значение

Выражение символьного типа

Expand image См. также

Описание

SYS( ) Общее Описание
Создание Символьных Выражений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2010) - CONFIG.SYS File Settings

Visual FoxPro 9.0 Language Reference
SYS(2010) - установка FILES в CONFIG.SYS
Сотреть также

Возвращает установку FILES из файла CONFIG.SYS.

SYS(2010)

Результат

Символьный

Комментарии

В FoxPro для MS-DOS функция SYS(2010) возвращает в виде символьной строки установку FILES, заданную в файле конфигурации CONFIG.SYS.

В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh функция SYS(2010) всегда возвращает 255.

В большинство файлов CONFIG.SYS включается строка, задающая максимальное число файлов, которые могут быть одновременно открыты в MS-DOS. Эта строка обычно имеет вид FILES=NNN, где NNN ѕ задаваемое число. SYS(2010) возвращает это число.

В файле CONFIG.SYS установки FILES может не быть, как может не быть и самого файла CONFIG.SYS. В этих случаях SYS(2010) возвращает установку FILES, принятую по умолчанию в MS-DOS.

Возвращаемое функцией SYS(2010) число ѕ это не количество файлов, которые можно открыть в Visual FoxPro, FoxPro для Windows, и FoxPro для MS-DOS. MS-DOS открывает файлы для собственных нужд. Visual FoxPro и FoxPro для Windows также открывает файлы для внутреннего пользования, и из них некоторое число открытых файлов может использоваться на протяжении сеанса FoxPro. Установка FILES в файле CONFIG.SYS должна немного превышать количество файлов, которые вы хотели бы иметь открытыми в Visual FoxPro.

одробнее о файле конфигурации CONFIG.SYS см. документацию по MS-DOS.

Смотреть также

Справочники

Использование конфигурационных файлов

Другие ресурсы

Использование фунций SYS( )
SYS(2019) - имя и местоположение файла конфигурации

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


SYS(2011) - Current Lock Status

Visual FoxPro 9.0 Справочник Языка
SYS(2011) - Текущее cостояние блокировки
См. также

Возвращает статус блокировки записи или таблицы для текущей рабочей области.

SYS(2011)

Возвращаемое значение

Символьное

Замечания

В отличие от FLOCK( ), LOCK( ), и функции RLOCK( ), SYS(2011) не блокирует таблицу или запись.

Строка символов, возвращенная SYS(2011), идентична сообщению показанному в стороке состояния (Exclusive, Record Unlocked, Record Locked ...).

SYS(2011) возвращается Exclusive только на рабочих станция, которие открыли таблицу монопольно, и Record Locked только на станциях, применивших блокировку записи.

См. также

Другие Ресурсы

FLOCK( ) Функция
LOCK( ) Функция
RLOCK( ) Функция
SYS( ) Обзор функций
ISFLOCKED( ) Функция
ISRLOCKED( ) Функция

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2012) - Memo Field Blocksize

Visual FoxPro 9.0 Описание Языка
SYS(2012) - Размер блока данных поля Memo
См. также
CollapseAll image

Возвращается размер блока данных поля типа "memo" для таблицы данных.

SYS(2012 [, nWorkArea | cTableAlias])

Параметры

nWorkArea| cTableAlias

Определяет номер рабочей области или алиас таблицы, для которых возвращается размер блока данных хранения полей типа MEMO. nWorkArea - это номер рабочей области, cTableAlias - алиас таблицы. Если данные параметры отсутствуют функция SYS(2012) возвращает размер блока данных для полей типа memo таблицы, открытой в текущей рабочей области.

SYS(2012) возвращает = 0, если в заданной рабочей области нет открытой таблицы, или таблица не имеет полей типа MEMO.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Для дополнительной информации о задании размера блока данных в таблицах см. раздел Команда SET BLOCKSIZE .

Expand image См. также

Описание

Тип полей Memo
Выполнение Записи и Чтения в/из полей типа Memo
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2013) - System Menu Name String

Visual FoxPro 9.0 Справочник Языка
SYS(2013) - Строка Имени Системного меню
См. Также

Возвращает разбитую пробелами символьную строку, содержащую внутренние имена системы меню Visual FoxPro.

SYS(2013)

Возвращаемое значение

Символ

Замечания

SYS(2013) облегчает использование полосы системного меню Visual FoxPro и системных меню. Возвращенная символьная строка содержит имя полосы системного меню, заголовков её меню, и имя каждого пункта меню.

SYS(2013) возвращает имена заголовков меню и пунктов меню для любой платформы FoxPro. См. Имена Системного меню для листинга заголовков меню Visual FoxPro и пунктов меню.

См. Также

Другие Ресурсы

DEFINE BAR Команда
DEFINE MENU Команда
DEFINE POPUP Команда
SYS( ) Краткий обзор Функций
SYS(1500) - Активирует Пункт Системного меню

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2014) - Minimum Path

Visual FoxPro 9.0 Описание Языка
SYS(2014) - Минимальный путь
См. также
CollapseAll image

Возвращается минимальный путь относительно текущего или заданного каталога для указанного файла.

SYS(2014, cFileName [, Path])

Параметры

cFileName

Определяет имя файла, для которого функция SYS(2014) возвращает минимальный путь. Если Вы опускаете второй параметр Path, функция SYS(2014) возвращает минимальный путь между данным файлом и текущим каталогом. Вы можете изменить текущий каталог при помощи команды SET DEFAULT.

Path

Определяет имя каталога, для которого функция SYS(2014) возвращает минимальный путь между указанным каталогом и заданным именем файла в параметре cFileName.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Используя функцию SYS(2014) совместно с функцией FULLPATH( ) можно сделать пользовательское приложение достаточно компактным. Это означает, что когда известна позиция текущей программы (ее местоположение), то местоположение всех необходимых файлов может быть определено при помощи функций FULLPATH( ) и SYS(2014), после этого программе доступны все необходимые файлы.

Expand image См. также

Описание

Функция FULLPATH( )
Команда SET DEFAULT
Команда SET PATH
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2015) - Unique Procedure Name

Visual FoxPro 9.0 Описание языка программирования
SYS(2015) - Уникальное имя подпрограммы
Смотри также

Возвращает уникальное 10-символьное имя/выражение, начинающееся с символа подчеркивания,за которым следует комбинация букв и цифр.

SYS(2015)

Возвращаемое значение

Символьное

Замечания

Функция SYS(2015) используется, чтобы получить уникальные имена для подпрограмм, функций, файлов, тавлиц и курсоров. Вы можете добавить символы или укоротить это имя, используя функцию SUBSTR( ). Например, используя код "tmp"+SUBSTR(SYS(2015),4,3), вы получите tmpCIOS.

Имя, которое возвращает функция SYS(2015), формируется из системной даты и системного времени. Вызов функции SYS(2015) больше, чем один раз на протяжении того же самого милисекундного интервала, возвращает уникальную строку символов.

Смотри также

Другие источники

SYS( ) Обзор функций
SYS(3) - Допустимое имя файла
SYS(1) - Юлианская система дат

Отправить комментарии по данной статье в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2016) - SHOW GETS WINDOW Name

Visual FoxPro 9.0 Описание Языка
SYS(2016) - Имя SHOW GETS WINDOW
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте метод Refresh .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2017) - Record Checksum Value

Visual FoxPro 9.0 Описание Языка
SYS(2017) - Значение Контрольной Суммы для Записи
См. также
CollapseAll image

Возвращается значение контрольной суммы, вычисленное для текущей записи таблицы в текущей рабочей области. Это значение Вы можете использовать для контроля изменения данных, сохраненных в таблице. Вы можете вычислять контрольные суммы для данных как 16-битные, так и 32-битные для очень больших символьных массивов (строк).

SYS(2017) обеспечивает дополнительную функциональность, по сравнению с функцией SYS(2007) - Значение Контрольной суммы.

SYS(2017, cExpression [, nSeed [, nFlags]])

Параметры

cExpression

Определяет список полей Записи (разделенных запятой), которые исключаются при вычислении контрольной суммы записи. Максимальная длина данной строки списка полей ограничена 256 -ю символами.

Если выражение cExpression - пусто, Visual FoxPro не исключает поля, кроме полей типа Memo и General .

nSeed

Определяет числовую величину = 0, которая используется для вычисления контрольной суммы, применяется для совместимости с младшими версиями VFP, указание значения = -1 эквивалентно внутреннему значению данного параметра = 0. При Вычислении контрольной суммы CRC32 система Visual FoxPro игнорирует данный параметр nSeed.

nFlags

Определяет дополнительный параметр вычисления CRC16 / CRC32

Версии Visual FoxPro < 8.0 используют механизм CRC16 = 16-битный алгоритм вычисления контрольной суммы для символьных данных. В настоящий момент Visual FoxPro обеспечивает вычисление КС как CRC32, 32-битный алгоритм. Устанавливая первый бит в данном параметре Вы можете управлять алгоритмом вычисления КС (контрольной суммы).

В следующей таблице представлены возможные значения параметра nFlags.

Значение Биты Описание

1

001

Вычисление контрольной суммы по алгоритму CRC32.

2

010

Включить также поля типа Memo при вычислении КС.

Вы можете использовать второй бит данного параметра для указания того, что поля типа Memo включаются в список полей, по которым вычисляется КС, в общем случае система Visual FoxPro исключает поля типа Memo при вычислении CRC.

В следующей таблице представлены возможные значения параметра nFlags.

nFlags Описание

0

Вычисление КС по списку полей cExpression, используя CRC16 - алгоритм. (По-умолчанию)

1

Вычисление КС по списку полей cExpression, используя CRC32 - алгоритм.

2

Вычисление КС текущей записи сполями Memo , используя CRC16 - алгоритм.

3

Вычисление КС текущей записи сполями Memo , используя CRC32 - алгоритм.

Expand image Возвращаемое значение

Символьное. SYS(2017) возвращает значение контрольной суммы

Expand image Комментарии

При вычислении Контрольной суммы записи поля типа Memo и General игнорируются, если параметр nFlags не равен 2 или 3.

Система Visual FoxPro для вычисления КС посылает комбинированную символьную строку в модуль вычисления CRC32 routine.

Система Visual FoxPro возвращает значение = "0", если нет открытой таблицы в текущей рабочей области, или указатель записи имеет недействительное значение (eof()=.T., bof()=.T.).

При построении комбинированной строки система Visual FoxPro удаляет начальные и хвостовые пробелы в символьных полях, как это делается в функции ALLTRIM( ) .

Обычно, Visual FoxPro не использует список исключений, параметр cExpression, поэтому он не контролирует правильность заданного списка. Если выражение cExpression содержит недопустимое имя поля, оно игнорируется при вычислении Контрольной суммы текущей записи.

Visual FoxPro вычисляет КС для всех полей текущей записи, кроме полей типа Memo, General, и полей из списка cExpression. Для этого Вы можете использовать функцию FIELD( ). Если Вы используете установку команды SET FIELDS, то контрольная суммы вычисляется для полей, указанных в данном списке SET FIELDS .

Поля таблицы могут быть временными (вычисляемыми) полями, которые задаются в рассматриваемой команде, которые отсутствуют в табличной структуре, например поле LOCATION - является вычисляемым полем:

CopyCode image Копировать Код
Use Customer
SET FIELDS TO LOCATION = ALLTRIM(city) + ',' + state

Expand image См. также

Описание

SYS( ) Общее Описание
SYS(2007) - Значение Контрольной суммы
Команда SET FIELDS
Функция FIELD( )
Команда SET RESOURCE
Создание символьных выражений

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2018) - Error Message Parameter

Visual FoxPro 9.0 Руководство по язуку
SYS(2018) - Параметр сообщения об ошибке
См.также Пример

Возвращает параметр сообщения об ошибке для последнего из сообщений.

Для некоторых сообщений об ошибке SYS(2018) возвращает информацию о причине самой последней ошибки в виде имен переменных и файлов, которые называются параметрами сообщения об ошибке. Эти параметры обычно включаются в текст сообщения об ошибке, например "Class file "name" is invalid." Таким образом, если вы ссылаетесь на имя недопустимого файла, это имя в виде параметра будет включено в сообщение об ошибке.

SYS(2018)

Возвращаемое значение

Символьное. SYS(2018) возвращает параметр сообщения об ошибке.

Пример

SПредположим, вы пытаетесь выполнить программу с именем REPORTS, но такой программы не существует и выдается сообщение "File REPORTS does not exist.". SYS(2018) возвращает слово "REPORTS", которое в данном случае является параметром сообщения об ошибке.

Скопировать код
? SYS(2018)

См.также

Обзор функций SYS( )
Функция ERROR( )
Функция MESSAGE( )
Команда ON ERROR

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2019) - Configuration File Name and Location

Visual FoxPro 9.0 Описание Языка
SYS(2019) - Имя файла конфигурации и его размещение
См. также
CollapseAll image

Возвращается имя и размещение файла конфигурации для системы Visual FoxPro (как внутренний, так и внешний) internal / external configuration files.

SYS(2019 [, 1 | 2])

Параметры

Параметр | Описание
1 | (по-умолчанию) Включение данного параметра определяет возврат имени и размещения файла Config.fpw, как внешнего файла конфигурации Visual FoxPro. Выполнение SYS(2019,1) эквивалентно выполнению SYS(2019) (без параметров).
2 | Включение данного параметра определяет возврат Внутреннего файла конфигурации системы VFP.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Внешний файл конфигурации системы Visual FoxPro называется Config.fpw, и, в общем случае, не поставлявается с системой. Вы можете создать данный файл используя команду MODIFY FILE.

Если Внутренний или Внешний файлы конфигурации не определены, то функция SYS(2019) возвращает пустую строку.

Внешний файл конфигурации Visual FoxPro обычно размещается в каталоге системы, или в каталоге пользовательского приложения Visual FoxPro, но он может быть размещен ив другом месте. Система Visual FoxPro пытается найти файл конфигурации в текущем каталоге, если файл не найден, то выполняется поиск по путям MS-DOS. Кроме этого Вы можете определить размещение файла конфигурации задав его в ключе -С при старте системы Visual FoxPro или пользовательского приложения. Полный путь к файлу конфигурации указывается сразу за ключем -С.

Для пользовательских приложений Вы можете создать Внутренний файл конфигурации, который размещается внутри исполняемого файла (.exe). Внутренний файл конфигурации должен иметь фиксированное имя: Config.fpw. Когда используется внутренний файл конфигурации все внешние файлы конфигурации игнорируются. Вы можете использовать параметры настройки из внешнего файла конфигурации после чтения параметров из Внутреннего файла, для этого нужно использовать ключевое слово (директива) ALLOWEXTERNAL, размещенная во внутреннем файле конфигурации. Когда задана данная директива ALLOWEXTERNAL=ON во внутреннем файле конфигурации, система Visual FoxPro выполняет поск внешнего файла по правилу описанному выше; и читает установочные параметры из внешнего файла конфигурации. Стартовый Ключ -C игнорируется для пользовательских приложений, содержащих внутренний файл конфигурации, в котором отсутствует директива ALLOWEXTERNAL=ON.

Note Примечание

Для файлов-серверов .exe и .dll, система Visual FoxPro поддерживает только внутренние файлы конфигурации. Следовательно, в этом случае Visual FoxPro игнорирует установку директивы ALLOWEXTERNAL.

Об использовании стартовых ключей командной строки см. раздел: Как: Использование ключей командной строки при старте Visual FoxPro.

Установочные параметры Внешнего файла конфигурации имеют приоритет над параметрами внутреннего файла для дублируемых параметров (присутствующих в обоих файлах конфигурации); так как параметры внешнего файла читаются после параметров внутреннего файла. Visual FoxPro не начинает инициализацию параметров до прочтения обоих файлов.

Если Вы хотите иметь файл конфигурации с атрибутом "только-чтение", то разместите (добавте) его в Ваш Проект и установите опцию Included (включенный - внутренний). Если Вы хотите модифицировать файл конфигурации. то разместите его в Вашем Проекте с опцией Excluded (исключен - внешний). Вы можете распространять Ваше приложение с внешним файлов конфигурации. По-умолчанию, файлы конфигурации имеют стандартное расширение .fpw.

См. дополнительно разделы: Определение параметров в файле конфигурации и Установочные опции конфигурации при старте программы.

О конфигурации системы Visual FoxPro см. раздел: Настройка Окружения системы Visual FoxPro.

Expand image См. также

Описание

Команда MODIFY FILE
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2020) - Default Disk Free Space

Visual FoxPro 9.0 Описание Языка
SYS(2020) - Свободное место на текущем диске
См. также
CollapseAll image

Возвращается свободное место (в байтах) на текущем диске.

SYS(2020)

Expand image Возвращаемое значение

Символьное. SYS(2020) возвращает свободное место (в байтах) на текущем диске.

Expand image Комментарии

Для задания текущего диска используйте команду SET DEFAULT. См. дополнительно: Команда SET DEFAULT.

Expand image См. также

Описание

SYS( ) Общее Описание
Функция DISKSPACE( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2021) - Filtered Index Expression

Visual FoxPro 9.0 Описание Языка
SYS(2021) - Отфильтрованное индексное выражение (фильтр индекса)
См. также
CollapseAll image

Возвращается выражение фильтра для открытого простого индекса (single-entry index) (.idx), или выражение фильтра индекса для тэга в комбинированном индексном файле (.cdx).

SYS(2021, nIndexNumber [, nWorkArea | cTableAlias])

Параметры

nIndexNumber

Определяет числовое выражение nIndexNumber как номер открытого индексного файла, для которого функция SYS(2021) определяет выражение фильтра индекса; nIndexNumber изменяется от 1 - до общего количества открытых простых индексов (single-entry .idx), тэгов в структурных комбинированных индексных файлах, и тегов в независимых составных индексных файлах. (N1+N2+N3)

  1. Сначала возвращается выражение фильтра для простых индексов (если оно существует). Порядок, по которому возвращаются выражения фильтра, зависит от порядка открытия индексных файлов, указанных в командах USE или SET INDEX.

  2. За тем возвращаются выражения фильтра, заданные для Тэгов структурного индекса (если они имеются, и определены). Данные выражения возвращаются в порядке определения Тэгов в структурном индексном файле.

  3. В последнюю очередь возвращаются выражения для Тэгов независимого индексного файла; порядок определяется очередностью создания Тэгов.

Возвращается пустая строка в случае, если значение параметра nIndexNumber больше чем общее количество простых индексов и количества Тэгов в структурных и независимых индексных файлах.

nWorkArea

Определяет номер рабочей области, в которой открыта таблица

cTableAlias

Определяет алиас таблицы. Если задан отсутствующий алиас (таблица закрыта) система Visual FoxPro генерирует Ошибку.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Вы можете активно использовать фильтры для индексных выражений. Для этого используется опция FOR в команде INDEX, которая создает индексный файл для фильтрации таблицы. В этом случае пользователю будут доступны только те записи таблицы, которые удовлетворяют выражению фильтра lExpression в опции FOR. В индексном файле, в этом случае, будут созданы только допустимые номера записей данной таблицы.

Возвращается пустая строка для простых индексов или Тэгов, которые созданы без использования опции FOR .

Обе Команды: USE и SET INDEX поддерживают сервис указания списка индексных файлов; данный список может быть указан в любой комбинации: простые индексы, структурные составные, независимые составные индексные файлы.

SYS(2021) возвращает выражение фильтра индекса для таблицы, открытой в текущей рабочей области, усли соответствующие параметры опущены..

Expand image См. также

Описание

Функция CDX( )
Функция KEY( )
Команда INDEX
Функция MDX( )
Функция NDX( )
Команда REINDEX
Команда SET INDEX
Команда SET ORDER
SYS( ) Общее Описание
Функция TAG( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2022) - Disk Cluster Size

Visual FoxPro 9.0 Описание Языка
SYS(2022) - Размер кластера диска
См. также
CollapseAll image

Возвращается величина кластера указанного диска.

SYS(2022 [, cDiskName])

Параметры

cDiskName

Определяет имя (букву) дискового устройства (A, B, C, ...) для других дисков (отличных от текущего).

Expand image Возвращаемое значение

Символьное

Expand image См. также

Описание

Команда SET DEFAULT
SYS( ) Общее Описание
SYS(2020) - Свободное место на текущем диске

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2023) - Temporary Path

Visual FoxPro 9.0 Описание Языка
SYS(2023) - Путь временных файлов
См. также
CollapseAll image

Возвращается каталог (путь), где система Visual FoxPro размещает временные файлы (temporary).

SYS(2023)

Expand image Возвращаемое значение

Символьное. SYS(2023) возвращает имя каталога.

Expand image Комментарии

SYS(2023) использует механизм Windows API GetTempPath для поиска места размещения временных файлов. GetTempPath выполняет поиск значений системных переменных, имена которых зависят от версии Операционной системы Windows. См. дополнительно раздел: Оптимизация операционной среды.

Expand image См. также

Задачи

Как: Определить (задать) размещение временных файлов

Описание

SYS(2019) - Имя и расположение Конфигурационного файла
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2024) - Detect Report Cancellation

SYS(2024) - Определение момента завершения Отчета (Report)
См. также Пример
CollapseAll image

Данная функция обеспечивает информацией о том, как завершился процесс создания Отчета, нормально или аварийно.

SYS(2024)

Параметры

Нет.

Expand image Возвращаемое значение

Символьное. Возвращается "Y", если процесс получения текущего Отчета был прерван. Возвращается символ "N", если нет текщего отчета или процесс получения текущего отчета не прерывался.

Expand image Комментарии

Отчет считается "прерванным" при работе подсистемы Visual FoxPro Report System, если происходит следующая ситуация:

  1. Отчет (Report) запущен в объектно-ориентированном режиме. В оьбъекте ReportListener запускается метод CancelReport до момента полного получения Отчета. См. дополнительно раздел: метод CancelReport .

  2. Пользователь нажал клавишу ESC или кнопку Cancel в режиме совместимости с младшими версиями. Когда это происходит, функция SYS(2024) может вернуть неверное значение, характеризующее внутреннее состояние Report Engine .

  3. Возникает программная ошибка в процессе получения Отчета, ошибка может быть в пользовательской функции или пользовательском методе объекта ReportListener, и пользователь выбирает кнопку Cancel в соответствующем диалоговом боксе обработчика Ошибок.

В процессе аварийного завершения получения Отчета функция SYS(2024) продолжает возвращать значение "Y" до тех пор пока завершается обработка всех соответствующих событий Отчета. Функция вернет значение "N" после обработки (завершения) события UnloadReport. См. дополнительно: событие UnloadReport .

Expand image Пример

В представленном примере, при использовании класса utilityReportListener , который отвечает за процедуры обработки файлов, выполняется обработка возможных ошибок при получении отчетов. Когда соответствующий файл закрывается, выполняется контроль ситуации: как завершился процесс получения Отчета, в зависимости от этого используется функция SYS(2024) для определения результирующего сообщения пользователю о Результате получения Отчета. См. дополнительно раздел: Базовый класс ReportListener Utility and File-handling .

CopyCode image Копировать Код
* excerpted from
* utilityReportListener.closeTargetFile method
IF THIS.HadError
   THIS.DoMessage(OUTPUTCLASS_CREATEERRORS_LOC, ;
                  MB_ICONEXCLAMATION )
ELSE
   THIS.DoMessage( OUTPUTCLASS_SUCCESS_LOC + ;
                   IIF(SYS(2024)="Y", ;
                   CHR(13)+OUTPUTCLASS_REPORT_INCOMPLETE_LOC,""),;
                   MB_ICONINFORMATION)
ENDIF

Expand image См. также

Концепции

Понимание объектно-ориентированного подхода в построении Отчетов в Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2029) - Table Type

Visual FoxPro 9.0 Описание Языка
SYS(2029) - Тип Таблицы
См. также Пример
CollapseAll image

Возвращается значение, соответствующее типу таблицы.

SYS(2029 [, nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет номер рабочей области, где открыта таблица.

cTableAlias

Определяет Алиас таблицы. Если параметр опущен, SYS(2029) возвращает тип таблицы, открытой в текущей рабочей области..

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

В следующей таблице представлен список возможных значений функции SYS(2029) и соответствующие типы таблиц .DBF:

Значение | Тип Таблица
0 | Нет открытой таблицы.
3 | Младшая версия FoxPro, FoxBASE+, dBASE III PLUS, и dBASE IV без полей типа memo.
48 | Visual FoxPro с полями MEMO или без них.
49 | Visual FoxPro с полем типа Autoinc (Visual FoxPro 8 и далее).
50 | Visual FoxPro с полем типа Varchar, Varbinary или Blob (Visual FoxPro 9 и далее ).
67 | Таблица dBASE IV SQL с полем типа MEMO.
99 | Системная таблица dBASE IV SQL с полем типа MEMO
131 | Таблица FoxBASE+ или dBASE III PLUS с полем типа MEMO.
139 | Таблица dBASE IV с полем типа MEMO.
203 | Таблица dBASE IV SQL с полем типа MEMO
245 | Младшая версия FoxPro с полем типа MEMO

Expand image Пример

В следующем примере открывается таблица customer из базы данных testdata.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table

CLEAR
DO CASE
   CASE SYS(2029) = '3'
      ? 'Previous versions of FoxPro'
   CASE SYS(2029) = '48'
      ? 'Visual FoxPro Table'
   CASE SYS(2029) = '67'
      ? 'dBASE IV SQL table, no memo fields'
   CASE SYS(2029) = '99'
      ? 'dBASE IV SQL System table with a memo field'
   CASE SYS(2029) = '131'
      ? 'FoxBASE+ table with a memo field'
   CASE SYS(2029) = '139'
      ? 'dBASE IV table with a memo field'
   CASE SYS(2029) = '203'
      ? 'dBASE IV SQL table with a memo field'
   CASE SYS(2029) = '245'
      ? 'Previous versions of FoxPro with a memo field'
ENDCASE

Expand image См. также

Описание

Команда ALTER TABLE - SQL
Команда CREATE
Команда CREATE TABLE - SQL
Команда USE
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2030) - Debug

Visual FoxPro 9.0 Описание Языка
SYS(2030) - Отладка (Debug)
См. также
CollapseAll image

Включает или отключает системные сервисы Отладки для пользовательского программного модуля.

SYS(2030[, 0 | 1])

Параметры

0

Отключает средства Отладки.

1

Включает средства Отладки, при помощи которых Вы можете оттестировать программный код.

Expand image Возвращаемое значение

Числовое. Возвращается текущая установка.

Expand image Комментарии

Начиная с версии Visual FoxPro 7, всякий раз, когда пользователь выполняет системные утилиты, такие как: _GENMENU или _BROWSER, которые содержат средства Отладки (profiling, dohistory, breakpoints, и single step), которые являются Отключенными. Выполнение SYS(2030,1) включает режим Отладки для обеспечения работы ресурсов отладчика; возврат к стартовым параметрам осуществляется выполнением SYS(2030, 0).

Expand image См. также

Описание

Окно Отладки
Команда SET ASSERTS
Команда SET STEP
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2040) - Detect Report Status

Visual FoxPro 9.0 Описание Языка
SYS(2040) - Определить статус Отчета (Report)
См. также Пример
CollapseAll image

Определяет, в каком состоянии находится Отчет: печатается или находится в режиме Предварительного просмотра (Report PreView).

SYS(2040)

Expand image Возвращаемое значение

Символьное. Возвращается один из следующих вариантов:

Значение | Описание
0 | Нет активного Отчета
1 | Отчет находится в режиме предварительного просмотра (PreView Mode)
2 | Отчет послан на устройство печати (может быть принтер или файл).

Expand image Комментарии

Функция SYS(2040) может быть использована для изменения содержания получаемых отчетов, параметризации содержания отчетов. Например: Вы можете изменять сообщение Confidential или Classified в зависимости от режима печати или предварительного просмотра (Preview Mode).

Note Примечание

Возвращаемое значение функцией SYS(2040) не обеспечивает пользователя полной информацией о том, отобразилось ли, или является активным окно предварительного просмотра (preview window). Данная функция информирует только о текущем статусе или состоянии подситемы получения отчета Visual FoxPro Report System. Например, SYS(2040) возвращает = "0" после выполнения следующей команды REPORT FORM OBJECT TYPE 1 (активация дополнительного объекта получения отчета (режима PreView)), даже в том случае, когда окно просмотра еще находится на экране рабочей станции, а также возвращает значение, = "0" после отправки результатов отчета на печать (на принтер), закрытия очереди печати, хотя сам отчет еще не распечатан полностью, т.е. очередь VFP уже обработана. Напротив, если возникает ошибка при получении отчета, Вы можете использовать функцию SYS(2040) для определения местоположения возникшей ошибки в процессе получения отчета. Ваш обработчик ошибки может использовать полученную информацию для определения завершающих действий перед полным завершением работы приложения.

Expand image Пример

В следующем примере демонстрируется использование функции SYS(2040) при определении переменной _PAGETOTAL в режиме предварительного просмотра (Preview).

CopyCode image Копировать Код
"Page: " + TRANS(_PAGENO) + ;
IIF( SYS(2040) = "1", "", " of " + TRANS(_PAGETOTAL))

Expand image См. также

Описание

SYS( ) Общее Описание
Команда REPORT FORM

Concepts

Понимание объектно-ориентированного подхода при построении Отчетов в Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2060) - Mouse Wheel Events

Visual FoxPro 9.0 Описание Языка
SYS(2060) - События колесика Мыши
См. также
CollapseAll image

Включает или Выключает обработку очереди событий "колесика мыши".

SYS(2060 [, 0 | 1])

Параметры

0

Включает обработку очереди событий "колесика мыши" (по-умолчанию).

1

Выключает обработку очереди событий "колесика мыши"

Expand image Возвращаемое значение

Символьного типа. Возвращается текущая установка функции SYS(2060).

Expand image Комментарии

Когда функция SYS(2060) устанавливает значение = 0, события "колесика мыши" образуют очередь. В этом случае происходит замедление при работе на маломощных компьютерах.

Expand image См. также

Описание

SYS( ) Общее Описание
События "колесика мыши"

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2300) - Add or Remove Code Page

Visual FoxPro 9.0 Описание Языка
SYS(2300) - Добавить или удалить кодовую страницу (Code Page)
См. также Пример
CollapseAll image

Добавляет или удаляет кодовую страницу в (из) списка National Language Support (NLS).

SYS(2300, nCodePage [, nAction])

Параметры

nCodePage

Определяет целое число как номер (идентификатор) Кодовой СтраницыSpecifies.

nAction

Определяет операцию для данного кода страницы. 0 - удалить; 1 - добавить.

Expand image Возвращаемое значение

Символьное. SYS(2300) возвращает = 1, если nCodePage добавлен в список NLS; в другом случае возвращается = 0.

Expand image Комментарии

Когда кодовая страница включена в список NLS Visual FoxPro, модули NLS применимы для соответствующего индексирования, сравнения символьных строк, автоматическое переключение индексов, и так далее. Последовательности сортировки в таких языках как ( Russian-русский, Czech-чешский, или Hungarian-венгерский), а также сравнения символьных строк могут привести к непредсказуемым результатам при использовании соответствующих кодовых страниц. В этих случаях рекомендуется использовать данную функцию SYS(2300) для корректного использования соответствующих кодовых страниц.

Если Вы используете данную функцию SYS(2300) для NLS-поддержки необходимых кодовых страниц, то обязательно проверте соответствующую поддержку для младших версий Visual FoxPro, где могут быть использованы созданные таблица/индексы данных. В соответствующих программных модулях необходимо использовать аналогичные алгоритмы запуска данной функции SYS(2300).

Список NLS включает коды страниц 874, 932, 936, 949, 950, 1255, и 1256. Дополнительно См. раздел: Поддерживаемые Коды Страниц (Code Pages) в Visual FoxPro.

Expand image Пример

Кодовая страница 1250 не включена (по-умолчанию) в список NLS. Следовательно, сравнения символьных строк может привести к неожиданным результатам. Для демонстрации этого выполните следующие шаги:

  1. Включите поддержку кодовой страницы (1250) в конфигурационный файл, (которая не поддерживается, отсутствует в списке NLS):

    CopyCode image Копировать Код
    CODEPAGE = 1250

  2. Перезапустите систему Visual FoxPro.

  3. Выполните программный модуль следующего содержания:

    CopyCode image Копировать Код
    SET COLLATE TO 'HUNGARY'  && активирует CODEPAGE = 1250 в файле конфигурации
    CLEAR

    ? UPPER("B")=LOWER("B"), LOWER("B")=UPPER("B")
    ? UPPER("F")=LOWER("F"), LOWER("F")=UPPER("F")
    ? UPPER("H")=LOWER("H"), LOWER("H")=UPPER("H")

    =SYS(2300,1250,1)  && добавим code page 1250 в спмсок NLS

    ? UPPER("B")=LOWER("B"), LOWER("B")=UPPER("B")
    ? UPPER("F")=LOWER("F"), LOWER("F")=UPPER("F")
    ? UPPER("H")=LOWER("H"), LOWER("H")=UPPER("H")

    =SYS(2300,1250,0)  && Восстановим начальное состояние для страницы 1250 (выключим)
    RETURN

Для начального состояния: LOWER("B")=UPPER("B"), LOWER("F")=UPPER("F"), и LOWER("H")=UPPER("H") возвращают .T..

После включения поддержки 1250 в списке NLS: LOWER("B")=UPPER("B"), LOWER("F")=UPPER("F"), и LOWER("H")=UPPER("H") возвращают .F..

Expand image См. также

Описание

Функция CPCURRENT( )
Функция CPCONVERT( )
Функция CPDBF( )
Команда SET COLLATE
Команда SET CPDIALOG
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2325) - WCLIENTWINDOW from Visual FoxPro WHANDLE

Visual FoxPro 9.0 Описание Языка
SYS(2325) - Определить WCLIENTWINDOW из Visual FoxPro WHANDLE
См. также
CollapseAll image

Возвращает дескриптор hWnd "дочернего" окна на основании дескриптора "родительского" окна WHANDLE.

SYS(2325, nWHANDLE)

Параметры

nWHANDLE

Определяет целое число как дескриптор WHANDLE окна, созданного системой FoxPro.

Дескриптор WHANDLE - есть внутренний указатель окна в системе Visual FoxPro, которое является внешней оболочкой дочернего окна с дескриптором hWnd.

Expand image Возвращаемое значение

Числовое.

SYS(2325) возвращает системный дескриптор hWnd (Window Handle) дочернего (пользовательского) окна (WCLIENTWINDOW) относительного родительского окна Visual FoxPro. Значение nWHANDLE возвращается как допустимое значение WCLIENTWINDOW. Возвращается значение = 0 , если параметр nWHANDLE является некорректным.

Expand image Комментарии

Данная функция рекомендуется для использования в модулях Visual FoxPro API Library Construction Kit. См. дополнительно раздел: Конструкции API Library .

В версии Visual FoxPro 9.0, функция BINDEVENT( ) поддерживает связывание событий Window Message (Win Msg). BINDEVENT( ) обрабатывает события Окна на основании дескриптора hWnd (Window Handle). Различные внутренние Окна в системе Visual FoxPro относятся к типу окон WCLIENTWINDOW, для которых нужно знать системный hWnd. Функция SYS(2325) определяет данный дескриптор hWnd для дочерних окон.

Аналогичные функции SYS(2327) и SYS(2326) могут быть использованы для обратных преобразований (определений ) дескрипторов окон: hWnd (Window Handle) и Visual FoxPro WHANDLE.

Expand image См. также

Описание

Функция AEVENTS( )
Функция BINDEVENT( )
SYS(2326) - Определить WHANDLE из системного дескриптора hWnd
SYS(2327) - Определить системный дескриптор hWnd из внутреннего дескриптора Visual FoxPro WHANDLE
Функция UNBINDEVENTS( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2326) - WHANDLE from a Window's hWnd

Visual FoxPro 9.0 Описание Языка
SYS(2326) - WHANDLE from a Window's hWnd
См.Также

Функция возвращает внутренний указатель, дескриптор окна (WHANDLE) из системного hWnd.

SYS(2326, nhWnd)

Параметры

nhWnd

Задает целочисленное значение hWnd (Window Handle), для которого задан внутренний V- FoxPro WHANDLE.

Возвращаемое значение

Число. Возвращается целочисленное WHANDLE SYS(2326) как внутренний V-FoxPro- указатель на структуру оболочки hWnd.

Комментарии

Эта функция предназначена для работы с внутренним механизмом Visual FoxPro API Library Construction Kit. См. API Library Construction раздел об использовании и создании API- библиотек.

См.также

Описания:

AEVENTS( ) функция
BINDEVENT( ) функция
SYS(2325) - WCLIENTWINDOW из внутреннего V-FoxPro WHANDLE
SYS(2327) - системный hWnd из V-FoxPro WHANDLE
UNBINDEVENTS( ) функция

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2327) - Window's hWnd from Visual FoxPro WHANDLE

Visual FoxPro 9.0 Описание Языка
SYS(2327) - Определить hWnd ОС Windows из Visual FoxPro WHANDLE
См. также
CollapseAll image

Возвращает дескриптор hWnd ОС Windows из дескриптора окна Visual FoxPro WHANDLE.

SYS(2327, nWHANDLE)

Параметры

nWHANDLE

Определяет целое число как дескиптор WHANDLE окна FoxPro (дочернего, пользовательского, системного).

Параметр WHANDLE является внутренним дескриптором окна систнмы Visual FoxPro, для которого нужно определить действительный (системный) дескриптор hWnd.

Expand image Возвращаемое значение

Числовое. SYS(2327) возвращает целое число hWnd.

Expand image Комментарии

Целое число WHANDLE определяет дескриптор окна во внутренней структуре системы Visual FoxPro, которая является олболочкой для системных указателей hWnd.

Данная функция предназначена для использования в механизме Visual FoxPro API Library Construction Kit. См. дополнительно раздел: Конструкции API Library .

Expand image См. также

Описание

Функция AEVENTS( )
Функция BINDEVENT( )
SYS(2325) - WCLIENTWINDOW из Visual FoxPro WHANDLE
SYS(2326) - WHANDLE из hWnd ОС Windows
Функция UNBINDEVENTS( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2333) - ActiveX Dual Interface Support

Visual FoxPro 9.0 Описание Языка
SYS(2333) - Поддержка ActiveX Dual Interface (двойной интерфейс)
См. также
CollapseAll image

Включает или Отключает поддержку ActiveX dual interface (VTABLE - связывание).

SYS(2333 [, 0 | 1 | 2])

Параметры

0

Отключает поддержку ActiveX dual interface. Если параметр 0 или 1 отсутствует, поддержка ActiveX dual interface отключена. = 0 - есть начальное значение для версий Visual FoxPro 6.0, и выше .

1

Включает поддержку ActiveX dual interface. = 1 - есть начальное значение для версии Visual FoxPro 5.0.

2

Возвращается текущая установка SYS(2333) (=0 или =1).

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Система ActiveX control dual interface (VTABLE-связывание (раннее)) оптимизирована в Visual FoxPro. Если контрол ActiveX не содержит поддержки двойного интерфейса, Вы можете отключить оптимизацию при использовании данного контрола.

Если Контрол ActiveX не соответствует своим объявленным свойствам, то выполните SYS(2333) или SYS(2333, 0) перед моментом создания данного Элемента управления для отключения сервиса поддержки dual interface (раннего связывания). После активации данного элемента управления выполните SYS(2333, 1) для включения поддержки ActiveX dual interface для элементов, создаваемых позднее.

Expand image См. также

Описание

Элемент OLE Container
Раннее (Early - vtable) и Позднее (IDispatch) Связывание
SYS( ) Общее Описание

Другие ссылки

ActiveX Controls Overview

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2334) - Automation Server Invocation Mode

Visual FoxPro 9.0 Описание Языка
SYS(2334) - Режим запуска Automation Server
См. также
CollapseAll image

Возвращается величина, показывающая, как вызывается Visual FoxPro Aautomation Server.

SYS(2334)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

В данной таблице представлен список возможных результатов SYS(2334) для Automation Servers:

Результат | Метод Вызова
0 | Неизвестен. (например, вызов из метода INIT, для которого не определены VTable или IDispatch)
1 | Метод OLEPUBLIC, вызов ранним связыванием VTable
2 | Методом IDispatch

SYS(2334) также возвращает пустое значение (строку) для модулей stand-alone executable (.exe). Для определения режима запуска системы Visual FoxPro используйте свойство StartMode.

Expand image См. также

Описание

Свойство StartMode
SYS( ) Общее Описание

Концепции

Рекомендации по разработке Automation Server

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2335) - Unattended Server Mode

Visual FoxPro 9.0 Описание Языка
SYS(2335) - Автоматический Режим Сервера
См. также
CollapseAll image

Включает или отключает модальный режим Visual FoxPro .exe automation servers.

SYS(2335 [, 0 | 1])

Параметры

0

Включает автоматический режим. В данном режиме Visual FoxPro постоянно генерирует состояние ошибки при состоянии модального режима. Ваш .exe automation server может обработать данные ошибки командой-обработчиком ON ERROR.

1

(по-умолчанию) Автоматический режим Отключен. Модальные состояния, которые требуют вмешательство Пользователя, могут произойти.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Используйте функцию SYS(2335) для включения или отключения модальных состояний Visual FoxPro .exe automation servers. Данные сервера создаются в Project Manager. Для дополнительной информации по использованию Visual FoxPro .exe automation servers, см. раздел Sharing Information and Adding OLE.

Модальные состояния происходят когда отображаются диалоги или сообщения об ошибках, которые требуют участия Пользователя для выхода из данного состояния и продолжения выполнения программы. Модальные состояния могут быть нежелательными в .exe серверах, которые развертываются дистанционно (удаленно), возможно, без вмешательства пользователя. Программное выполнение остановлено, и требует вмешательства Пользователя для продолжения выполнения программы.

В следующей таблице приводятся типичные примеры модальных состояний.

Модальное Состояние | Примеры
Команда WAIT или функция MESSAGEBOX( ) | Может произойти в программном коде.
Ошибки системы Visual FoxPro "File access is denied" или "Allowed DO nesting level exceeded" | Может произойти в программном коде.
Диалоговые Боксы Открыть... | Может произойти в программном коде, при использовании соответствующих операторов соединения с источником данных (выбора источника .DSN)
Диалоговый бокс SQL Connection Login (соединение с источником данных) | Может произойти после того, как связь не может быть установлена.

SYS(2335 ,0) выключает автоматическую обработку модальных состояний, которые могут произойти в любой момент после начала выполнения программы.

Примечание. Функция SYS(2335) применима только в .exe automation servers, когда значение свойства StartMode = 2. Автоматический режим обработки модальных состояний всегда включен для серверов in-process .dll automation servers (свойство StartMode = 3 ).

Использование функции SYS(2335) без параметров, в режиме выполнения RunTime, возвращает текущее состояние автоматического режима обработки модальных состояний.

Expand image См. также

Описание

SYS( ) Общее Описание
Команда ON ERROR
Свойство StartMode

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2336) - Critical Section support

Visual FoxPro 9.0 Описание Языка
SYS(2336) - Поддержка Critical Section
См. также
CollapseAll image

Управляет входами или выходами в/из критических секций в сервере MTDLL.

SYS(2336 [, nAction])

Параметры

nAction

Определяет операцию для функции SYS(2336), варианты которых описаны в следующей таблице.

nОперация Описание

(нет)

Возвращается текущее количество ссылок. (по-умолчанию)

1

Вызов EnterCriticalSection.

2

Вызов LeaveCriticalSection.

3

Вызов LeaveCriticalSection для уменьшения количества ссылок до = 0, эти самым освобождается critical section.

Expand image Возвращаемое значение

Символьное. Функция SYS(2336) возвращает количество ссылок для всех значений параметра nAction.

Expand image Комментарии

Функция SYS(2336) осуществляет вызовы EnterCriticalSection и LeaveCriticalSection Windows API. Информацию об этих операциях можно найти в MSDN Library Platform SDK по следующей ссылке http://msdn.microsoft.com/library.

Expand image См. также

Описание

SYS(3095) - Указатель IDispatch
Команда BUILD MTDLL
SYS( ) Общее Описание

Другие ссылки

Доступ к функциям API

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2339) - Call CoFreeUnusedLibraries when COM object is released

Visual FoxPro 9.0 Описание Языка
SYS(2339) - Вызов операции CoFreeUnusedLibraries когда объект COM освобождается
См. также
CollapseAll image

Устанавливает или возвращает установку, как система Visual FoxPro вызывает системную функцию CoFreeUnusedLibraries когда объект COM освобождается.

SYS(2339 [, 0 | 1 ])

Параметры

0

Определяет, что: CoFreeUnusedLibraries Не вызывается (по-умолчанию).

1

Определяет, что вызывается операция CoFreeUnusedLibraries.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Если у Вас есть проблемы при освобождении ссылки на объект COM (server), Вы можете изменить установки запуска данного сервера с помощью представленной функции. Вы можете также использовать прямые ссылки на функцию CoFreeUnusedLIbraries при помощи команды DECLARE-DLL.

Expand image См. также

Описание

Библиотеки Visual FoxPro Run-Time
Команда BUILD MTDLL
Команда DECLARE - DLL
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2340) - NT Service Support

Visual FoxPro 9.0 Описание Языка
SYS(2340) - Поддержка Сервиса NT
См. также
CollapseAll image

Отключает или Включает поддержку сервиса NT.

SYS(2340 [,0 | 1 ])

Параметры

0

Отключается поддержка сервиса NT (по-умолчанию).

1

Включает поддержку сервиса NT.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Данная функция завершает (закрывает) режим протоколирования обработки сообщений системы Windows (WM_QUERYENDSESSION и WM_ENDSESSION) для системы Visual FoxPro и выполняемого COM-сервера. Приложение Visual FoxPro завершает текущий режим обработки сообщений системы Windows. Если приложение является некоторым сервисом Windows, то данный сервис заканчивает свою работу. Включение поддержки сервиса NT позволяет продолжить работу приложения Visual FoxPro в случае, когда пользователь закрывает соответствующий сервис системы Windows.

Expand image См. также

Описание

SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2410) - Error Handler

Visual FoxPro 9.0 Language Reference
SYS(2410) - Error Handler SYS(2410) - Обработчик ошибок
Смотрите также

Возвращает обработчику ошибок тип ошибки. Вы можете использовать SYS(2410) в вашем коде TRY...CATCH...FINALLY, чтобы определить порядок действий, например, использовать структуру DO CASE, чтобы в зависимости от типа обработки исключить обработку.

SYS(2410)

Возвращаемое значение

Тип данных символьный. Следующая таблица включает список возможных значений, возвращаемых SYS(2410).

Значение | Описание
0 | System handler
1 | TRY...CATCH...FINALLY
2 | Свойство Error
3 | команда ON ERROR

Замечания

Если структура TRY...CATCH...FINALLY не содержит любое утверждение CATCH или утверждения CATCH, в которых выражение WHEN lExpression оценивается в True (.T.), то SYS(2410) может по ошибке возвратить некорректное значение.

Смотриет также

Другие ресурсы

SYS( ) Functions Overview
DO CASE ... ENDCASE Command
Exception Class
TRY...CATCH...FINALLY Command
Structured Error Handling

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


SYS(2450) - Application Search Path Order

Visual FoxPro 9.0 Описание Языка
SYS(2450) - Порядок поиска файлов Приложением
См. также
CollapseAll image

Определяет, как приложение ищет данные и ресурсы, такие как например, функции, процедуры, выполняемые файлы, и так далее.

Вы можете использовать функцию SYS(2450), чтобы определить, как система Visual FoxPro выполняет поиск пользовательских процедур или функций (UDF) перед использованием команд SET DEFAULT и SET PATH. Использование функции SYS(2450) может значительно улучшить выполнение программ, размещенных в Сети: "wide area" и "network".

SYS(2450 [, 0 | 1 ])

Параметры

0

Поиск выполняется сначала по установленным путям, а за тем - в Приложении. (По-умолчанию)

1

Поиск выполняется сначала в приложении, за тем - по представленным каталогам и подкаталогам текщего размещения Приложения.

Expand image Возвращаемое значение

Символьное. Выполнение SYS(2450) без параметров "0" или "1" возвращает текущую установку порядка поиска процедур и функций системой Visual FoxPro.

Expand image Комментарии

Вы можете использовать команду SET PROCEDURE для однозначного определения размещения вызываемой процедуры. Но тогда Вам необходимо будет выполнять эту команду SET PROCEDURE для каждого программного файла.

Expand image См. также

Описание

Команда SET DEFAULT
Команда SET PATH
Команда SET PROCEDURE
SYS( ) Общее Описание
Команда DO

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2600) - Return Pointer as String

Visual FoxPro 9.0 Описание Языка
SYS(2600) - Определить строку по Указателю (адресу памяти)
См. также
CollapseAll image

Функция определяет целый указатель на строку памяти и возвращает содержание памяти, начиная с указанного адреса памяти, а также записывает заданную строку по адресу памяти.

SYS(2600, dwAddress, nLength [, cNewString])

Параметры

dwAddress

Определяет указатель адреса памяти (как целое число).

nLength

Определяет длину читаемого сегмента памяти, начинающегося с адреса dwAddress.

cNewString

Определяет новое значение, которое записывается начиная с адреса памяти dwAddress.

Expand image Комментарии

Данная функция предназначена только для Опытных программистов.

Expand image Примеры

В следующем примере возвращается строка cRes, которая содержит nLen байтов, размещенных по адресу памяти nAddress:

CopyCode image Копировать Код
   cRes = SYS(2600, nAddress, nLen)

В следующем примере возвращается строка символов cRes, где nLen байтов заменены строкой cSrc, начиная с адреса памяти nAddress, строка cRes записывается в память:

CopyCode image Копировать Код
   cRes = SYS(2600, nAddress, nLen, cSrc)

Expand image См. также

Описание

SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2700) - Enables Windows XP Themes

Visual FoxPro 9.0 Описание Языка
Функция SYS(2700) - управление поодержкой Тем Windows XP
См. также

Включает или выключает поддержку в полном объеме Тем Windows XP .

SYS(2700 [, nValue ])

Параметры

nValue

Определяет число, определяющее включение или выключение поддержки Тем, см. таблицу:

nValue Установка

0

Отключает поддержку Тем.

1

Включает поддержку Тем. (По-умолчанию)

Возвращаемое значение

Данное символьного типа. Если Темы отключены или Вы работаете со старыми операционными системами, которые не поддерживают Темы, функция SYS(2700) возвращает "0", если параметр не указан в функции. Если поддержка Тем включена, функция SYS(2700) возвращает = "1".

Комментарии

При отсутствии параметра в функции SYS(2700) возвращается текущая установка для системной переменной _SCREEN , что соответствует параметру Themes данного компьютера. Следовательно, если Вы используете SYS(2700,1) для включения поддержки Тем для Visual FoxPro, а Темы отключены в системе Windows, функция SYS(2700) возвращает "0", хотя свойство _SCREEN.Themes имеет значение = True (.T.).

Когда Вы изменяете режим поддержки Тем используя функцию SYS(2700), Visual FoxPro не может автоматически обновить текущие формы. Тем не менее, когда режим Тем включен, некоторые элементы управления будут работать (например, эффекты при перемещении мыши) . Поэтому рекомендуется устанавливать поддержку Тем в начале работы Вашей программы.

Примечание:
Если Вы изменяете режим поддержки Схем для работающей формы, Вам нужно выполнить метод Refresh для обновления элементов формы.

См. также

Другие ссылки

Общее описание функции SYS( )
Системная переменная _SCREEN
Метод Refresh
Свойство Themes

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2800) - Accessibility Support

Visual FoxPro 9.0 Описание Языка
SYS(2800) - Поддержка Accessibility (доступности)
См. также
CollapseAll image

Выключает или Включает поддержку Microsoft Active Accessibility и устанавливает некоторые свойства фокуса ввода для текущего элемента управления в формах Visual FoxPro.

SYS(2800 [,nFlag] )

Параметры

nFlag

Отключает поддержку Accessibility или включает дополнительную функциональность, описанную в следующей таблице.

Note Примечание

Параметр flags имеет аддитивный характер (составной).

nFlags Описание

0

Отключает Active Accessibility (AA).

1

Включает сообщение WM_GETOBJECT (см. WinBase.h).

2

Включает уведомление WinEvent.

4

Возвращает управление в Visual FoxPro пока клиент Accessibility не завершит текущую операцию.Освобождает сообщения accDoDefaultAction или accSelect при немедленном возврате управления клиенту.

16

Включает ACCNAME. Возвращает имя Объекта. Используется для тестирования

32

Для совместимости с младшими версиями

По-умолчанию: nFlag = 3, как сумма 1+2 для сообщений "Enables WM_GETOBJECT" (2) + "Enables NotifyWinEvent" (3).

См. дополнительную информацию о WM_GETOBJECT, NotifyWinEvent, и accDoDefaultAction, в Platform SDK in the MSDN Online Library.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Функция SYS(2800) возвращает числовое выражение в виде строки символов, описывающее текущую установку Active Accessibility.

Данная функция позволяет Вам проверить возможность подключения к Microsoft Magnifier, когда Вы разрабатываете приложение в соответствие с требованиями Windows Logo.

Эта функция работает надежно только с внутренними элементами управления Visual FoxPro controls. Правильное отслеживание фокуса ввода для других элементов управления (ActiveX) не гарантируется. О дополнительной информации о поведении этих объектов обращайтесь к разработчикам данных объектов (элементов управления).

Expand image См. также

Описание

SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(2801) - Event Tracking Support

Visual FoxPro 9.0 Справочник языка
SYS(2801) - Поддержка трассировки событий
См. также

Расширяет трассировку событий мыши и клавиатуры.

SYS(2801 [, 1 | 2 | 3 ] )

Параметры

1

Записывает события только для объектов Visual FoxPro.
2

Записывает только Windows-события мыши и клавиатуры
3

Записывает события и для объектов Visual FoxPro и для Windows

Замечания

SYS(2801) используется для определения того, какие события мыши и клавиатуры будут отслежены при выполнении программы. Трассировка событий установливается в отладчике Visual FoxPro или командой SET EVENTTRACKING.

См. также

Ссылки

Команда SET EVENTLIST
SYS(2800) - Поддержка доступности
Понимание событийной модели
SYS( ) Обзор Функций

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(2910) - List Display Count

Visual FoxPro 9.0 Описание Языка
SYS(2910) - количество показываемых элементов в списке
См. также

Устанавливает или возвращает значение количества показываемых элементов в списке drop-down list boxes.

SYS(2910 [, Nзначение])

Параметры

Nзначение

Параметр Nзначение определяет количество показываемых элементов в списке drop-down list box. Это относится также к элементам управления <AutoComplete>, <IntelliSense>, <Method Editor> , окну Properties , и так далее. Границы изменения Nзначение от 5 до 200. По-умолчанию установлено = 15. При отсутствии параметра данная функция возвращает текущую установку.

Возвращаемое значение

Символьное. Текущее значение показываемых элементов в списке drop-down list box. Значение возвращается в виде символьной строки.

Комментарии

В режиме работы среды Visual FoxPro данная установка хранится в реестре Windows и может быть задана кнопкой Set As Default в окне Options Dialog Box (Visual FoxPro), и используется при следующих сеансах работы Visual FoxPro. Установка данного параметра при помощи рассматриваемой функции не сохраняется в реестре Windows, для этого необходимо использовать указанную кнопку Set As Default в Options dialog box.

См. также

Другие Ссылки

Options Dialog Box
Свойство AutoComplete

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(3004) - Return Locale ID

Visual FoxPro 9.0 Описание Языка
SYS(3004) - Определить параметр Locale ID
См. также
CollapseAll image

Возвращается параметр Locale ID, используемый элементами управления Automation и ActiveX.

SYS(3004)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

SYS(3004) Возвращает текущее значение Visual FoxPro Locale ID (LCID), который определяет Visual FoxPro Language ID (LangID) и Sort ID.

Параметр Locale ID определяет язык системных сообщений в элементах управления Automation и ActiveX. По-умолчанию для Visual FoxPro установлено Locale ID = 1033, Английский (English).

Например, Вы используете установленную на рабочей станции Немецкую систему Microsoft Excel 5.0, для которой имеется поддержка команд на немецком и английском языках. В рассматриваемом примере показан вариант переключения данного параметра:

CopyCode image Копировать Код
oleExcel1 = CREATEOBJECT('Excel.Application')  && Starts Excel

? SYS(3005, 1033)  && Английский Locale ID
oleExcel1.Quit  && Closes Excel with English command

oleExcel2 = CREATEOBJECT('Excel.Application')  && Starts Excel

? SYS(3005, 1031)  && Немецкий Locale ID
oleExcel2.Beenden  && Closes Excel with German command

Для просмотра допустимых (поддерживаемых) Locale IDs для системы Visual FoxPro , См. раздел: SYS(3005) - Set Locale ID. Дополнительная информация об использовании параметров Locale, Language, и Sort IDs, См. в документации: Microsoft Windows Software Development Kit.

Expand image См. также

Описание

Свойство DefOLELCID
Свойство OLELCID
SYS(3005) - Установка Locale ID
SYS(3006) - Установка Language и Locale IDs
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3005) - Set Locale ID

Visual FoxPro 9.0 Описание Языка
SYS(3005) - Установка Locale ID
См. также
CollapseAll image

Устанавливает значение Locale ID, используемое в элементах управления Automation и ActiveX.

SYS(3005, nLocaleID)

Параметры

nLocaleID

Определяет идентификатор Locale ID. В следующей таблице представлен список Locale IDs, поддерживаемых в Visual FoxPro:

nLocaleID Язык (национальность)

1029

Czech (Чешский)

1031

German (Немецкий)

1033

English (Английский) (по-умолчанию)

1034

Spanish (Испанский)

1036

French (Французский)

1040

Italian (Итальянский)

1045

Polish (Польский)

1046

Portuguese (Португальский) (Brazil)

2070

Portuguese (Португальский) (Portugal)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

SYS(3005) устанавливает Locale ID (LCID) - глобально. Параметр Locale ID определяет Язык, используемый в элементах управления Automation и ActiveX. По-умолчанию установлено для Visual FoxPro Locale ID = 1033, Английский.

Note Примечание

Использование Свойства DefOLELCID является более предпочтительным по установке параметра Locale ID для пользовательских форм и основного окна системы Visual FoxPro. Установка глобально параметра LocaleID данной функцией SYS(3005) действует на язык элементов управленияAutomation и ActiveX . Установка свойств DefOLELCID и OLELCID действует только на язык элементов ActiveX, и не действует на язык команд Automation.

Например, Вы используете немецкую версию системы Microsoft Excel 5.0, где поддерживаются команды на Английском и Немецком языках. В следующем примере показан вариант запуска и закрытия различных вариантов системы Microsoft Excel 5.0:

CopyCode image Копировать Код
LOCAL loExcel_Enu AS Excel.APPLICATION, ;
loExcel_Deu AS Excel.APPLICATION

loExcel_Enu = CREATEOBJECT('Excel.Application')  && Starts Excel
? SYS(3005, 1033)  && Английский Locale ID
loExcel_Enu.QUIT  && Closes Excel with English command

loExcel_Deu = CREATEOBJECT('Excel.Application')
? SYS(3005, 1031)  && Немецкий Locale ID
loExcel_Deu.Beenden  && Closes Excel with German command

Для дополнительной информации о свойстве Locale IDs, см. документацию: Microsoft Windows Software Development Kit.

Expand image См. также

Описание

Свойство DefOLELCID
Свойство OLELCID
SYS(3004) - Определить Locale ID
SYS(3006) - Установка Language и Locale IDs
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3006) - Set Language and Locale IDs

Visual FoxPro 9.0 Описание Языка
SYS(3006) - Установка Language ID и Locale IDs
См. также
CollapseAll image

Устанавливаются Language ID и Locale ID.

SYS(3006, nLanguageID)

Параметры

nLanguageID

Определяет Language ID.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Функция SYS(3006) устанавливает Visual FoxPro Language ID (LangID), а также устанавливает Locale ID (LCID), основанный на Language ID, и текущее значение атрибута Sort ID.

Note Примечание

Используйте свойство DefOLELCID, как предварительный метод определения параметра Locale ID для формы пользователя или главного окна системы Visual FoxPro.

Для дополнительной информации о Language, Locale, и Sort IDs, см. документацию Microsoft Windows Software Development Kit .

Expand image См. также

Описание

Свойство DefOLELCID
Свойство OLELCID
SYS(3004) - Определить Locale ID
SYS(3005) - Установить Locale ID
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3007) - ToolTipText Property Font Language Script

Visual FoxPro 9.0 Описание Языка
SYS(3007) - Задание FontCharSet для свойства ToolTipText (Font Language Script)
См. также
CollapseAll image

Определяет Font Language Script для отображения текста в свойстве ToolTipText элемента управления.

SYS(3007 [, nFontCharSet])

Параметры

nFontCharSet

Определяет Font Language Script (FontCharSet) для отображения текста в свойстве ToolTip всех элементов управления. См. дополнительно раздел свойство ToolTipText .

См. описание функции GETFONT( ) для отображения списка доступных шрифтов.
В основном используется nFontCharSet = 204 (Cirillic - кирилица)

Expand image Возвращаемое значение

Символьное. Если параметр nFontCharSet отсутствует, SYS(3007) возвращает текущую установку Font Language Script.

Expand image См. также

Описание

Свойство FontCharSet
Функция GETFONT( )
SYS(3009) - Выравнивание текста при отображении ToolTips
Свойство ToolTipText

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3008) - Hyperlink Tooltips

Visual FoxPro 9.0 Описание Языка
SYS(3008) - Свойство Tooltips для HyperLink
CollapseAll image

Включает или Выключает свойства ToolTips для объекта Hyperlink.

SYS(3008 [, 0 | 1]

Параметры

Параметр | Описание
0 | Отключает hyperlink tooltips.
1 | (по-умолчанию) Включает hyperlink tooltips.

Expand image Комментарии

Выполнение SYS(3008) без параметров возвращает текущую установку. Установка SYS(3008) действует для всех Hyperlink Tooltips в сеансе работы Visual FoxPro, включая окна Редактора, открытого при помощи команды MODIFY COMMAND, команды MODIFY FILE , и команды MODIFY MEMO , а также элемента управления EditBox .

Установка функции SYS(3008) не работает для Базового класса _Hyperlink, имеющегося в образцах Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3009) - Bidirectional Text Justification for ToolTips

Visual FoxPro 9.0 Описание Языка
SYS(3009) - Двунаправленное выравнивание текста в Свойстве ToolTips
См. также
CollapseAll image

Включает или Выключает двунаправленное выравнивание текста в свойстве ToolTips.

SYS(3009 [, 0 | 1])

Параметры

0

(По-умолчанию) Отключает двунаправленное выравнивание текста в свойстве ToolTips. Текст выравнивается по левому краю, (располагается "слева на право").

1

Включает двунаправленное выравнивание текста в свойстве ToolTips. Текст выравнивается по правому краю.

Expand image Возвращаемое значение

Символьное. Если параметр (0 или 1) отсутствует, SYS(3009) возвращает текущую установку расположения текста.

Expand image Комментарии

Функция SYS(3009) распространяет свое действие по выравниванию текста для свойства ToolTipText во всех элементах управления и полях типа MEMO как в интерактивной сессии, так и в режиме RunTime Visual FoxPro.

Expand image См. также

Описание

SYS(3007) - Определение свойства ToolTipText, задание Font Language Script

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3050) - Set Buffer Memory Size

Visual FoxPro 9.0 Описание Языка
SYS(3050) - Установить Размер Буфера Памяти
См. также
CollapseAll image

Устанавливает размер буфера памяти ForeGround или BackGround.

SYS(3050, nType, [nBuffMemSize])

Параметры

nType

Определяет Тип буфера памяти. В следующей таблице представлены возможные значения параметра nType:

nType Буфер

1

ForeGround

2

BackGround
nBuffMemSize

Определяет максимальный размер буфера памяти (в байтах). Если Вы указываете значение nBuffMemSize меньше чем 256K байт, система Visual FoxPro устанавливает значение = 256K.

При задании значения = 0, возвращается размер буфера памяти, который определен при старте системы Visual FoxPro. Данное, стартовое значение зависит от общего объема памяти компьютера. Если данный параметр отсутствует, функция SYS(3050) возвращает текущий размер буфера памяти для заданного типа nType.

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Функция SYS(3050) позволяет Вам оптимизировать использование буферов памяти в системе Visual FoxPro, которая перераспределяется между буферами переднего / заднего плана (foreground and background buffers). Размер буфера памяти ForeGround определяет производительность системы Visual FoxPro как активного приложения. Размер буфера памяти BackGround определяет использование памяти системой Visual FoxPro как пассивного приложения, когда активно другое приложение. .

Функция SYS(3050) возвращает числовое знаяение как символьную строку, описывающую общий размер оперативной памяти, которая распределяется между различными типами памяти (foreground / background buffers).

Expand image См. также

Задачи

Как: Управлять Памятью

Описание

SYS(1001) - Память Visual FoxPro
Команда DISPLAY MEMORY
Функция MEMORY( )
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3051) - Set Lock Retry Interval

Visual FoxPro 9.0 Описание Языка
Функция SYS(3051) - Установка интервала попыток блокировки
См. также

Определяет время (в милисекундах) ожидания системы Visual FoxPro перед повторными попытками блокировки записей, таблиц, memo или index файлов

SYS(3051, [nWaitMilliseconds])

Параметры

nWaitMilliseconds

Определяет время (в милисекундах) ожидания повторных попыток блокировки; возможные значения: от 100 до 1000. Если задать значение параметра nWaitMilliseconds = 0 , то функция вернет "стандартный" интервал ожидания: = (333 milliseconds). Если данный параметр не указан, функция возвращает текущую установку периода ожидания повторных попыток блокировки данных .

Возвращаемое значение

Символьного типа

Комментарии

Функция SYS(3051) возвращает число в виде символьной строки, описывающей интервал попыток блокировки данных..

См. также

Другие ссылки

Команда SET REPROCESS
Функция SYS(3052) - дополнение команды SET REPROCESS
How to: Блокировка данных
Общее описание функции SYS( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(3052) - Override SET REPROCESS Locking

Visual FoxPro 9.0 Описание Языка
Функция SYS(3052) - обеспеспечивает совместимость с командой SET REPROCESS по попыткам блокировки данных.
См. также

Определяет независимо от установок команды SET REPROCESS управление попытками блокировки файлов index или memo.

SYS(3052, nFileType, [lHonorReprocess])

Параметры

nFileType

Определяет тип управляемого файла. Следующая таблица описывает возможные значения данного параметра nType.:

Значение
nFileType 		Тип файла

1

Index

2

Memo
lHonorReprocess

Определяет независимо от установок в команде (или ее умолчаний) SET REPROCESS управление попытками блокировки соответственно файлов index / memo. Значение = True (.T.) определяет использование установок команды SET REPROCESS для указанных файлов, определенных параметром nFileType. Значение = False (.F.) (по-умолчанию) определяет, что установки команды SET REPROCESS не используются при управлении попытками блокировки соответствующих файлов. При значении = False, система ожидает бесконечно долго возможности блокировки указанных файлов; данный вариант установки обеспечивает функционирование системы как в младших версиях FoxPro. Если параметр lHonorReprocess отсутствует, функция SYS(3052) возвращает текущую установку по управлению попытками блокировки указанных типов файлов nFileType.

Возвращаемое значение

Character (символьное)

Комментарии

Функция SYS(3052) обеспечивает дополнительное управление попытками блокировки файлов типа Index / Memo . Рекомендуется устанавливать параметр lHonorReprocess = True (.T.) для того, чтобы уменьшить риск файловой конкуренции при блокировке если Ваше приложение использует обработку транзакций в сети.

Функция SYS(3052) возвращает символьную строку "0" (что соответствует false (.F.)) или "1" (что соответствует true (.T.)). Если параметр lHonorReprocess присутствует при вызове функции SYS(3052), возвращается соответствующее значение (тоже самое). Если данный параметр отсутствует, то возвращается текущая установка по управлению попытками блокировки указанных файлов nFileType.

См. также

Другие ссылки

Команда SET REPROCESS
Функция SYS(3051) - Set Lock Retry Interval
How to: Блокировка данных
Общее описание функции SYS( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(3053) - ODBC Environment Handle

Visual FoxPro 9.0 Описание Языка
SYS(3053) - Дескриптор среды ODBC
См. также
CollapseAll image

Возвращается дескриптор (Handle) среды подсистемы ODBC.

SYS(3053)

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Если подсистема (драйвер) ODBC не загружен, функция SYS(3053) загружает его и возвращает дескриптор среды ODBC (environment handle).

Возвращаемый дескриптор обеспечивает доступ к механизму ODBC API. Использование данного механизма ODBC API обеспечивается в системе Visual FoxPro с помощью команды DECLARE - DLL, а также подсистемой Visual FoxPro API library routines.

Данный дескриптор среды ODBC может использоваться только один раз в текущем сеансе работы. В другом сеансе работы системы Visual FoxPro для получения нового дескриптора среды ODBC используется вызов функции SYS(3053), освобождение полученного дескриптора осуществляется соответствующими функциями ODBC API.

Внимательно используйте данный дескриптор среды ODBC (environment handle). Об использовании механизма ODBC API, См. документацию Microsoft ODBC SDK.

Expand image См. также

Задачи

Образец чтения значений параметров ODBC из Реестра Windows

Описание

Команда DECLARE - DLL
Команда SET LIBRARY
Использование расширений ODBC - SQL
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3054) - Rushmore Query Optimization Level

Visual FoxPro 9.0 Описание Языка
SYS(3054) - Уровень Оптимизации Запросов Rushmore
См. также Пример
CollapseAll image

Включает или Выключает режим отображения уровня оптимизации запросов.

SYS(3054 [, 0 | 1 | 11 | 2 | 12] [, cMEMVAR])

Параметры

0

(по-умолчанию) Отключается режим отображения уровня оптимизации Rushmore.

1

Включает режим отображения уровня оптимизации SQL-Запросов Rushmore (для фильтрации - Filters).

11

Включает режим отображения уровня оптимизации SQL-Запросов Rushmore (для объединения - Joins).

2

Включая оператор SQL, (для фильтрации - Filters)..

12

Включая оператор SQL, (для объединения - Joins).

cMEMVAR

Определяет Неописанную или описанную операторами PUBLIC или LOCAL переменную памяти для сохранения возвращаемого значения. Если Вы не объявляете переменную cMEMVAR, Visual FoxPro создает переменную типа PRIVATE.

Expand image Возвращаемое значение

Символьное.

Expand image Комментарии

Функция SYS(3054) возвращает текущий уровень оптимизации запросов Rushmore на активный экран системы или как символьную строку в переменную памяти.

В итоговом результате отображается алиас таблицы как ссылка на имя таблицы.

Функция SYS(3054) используется для определения возможности оптимизации запросов SQL, для определения вероятного времени выполнения этих запросов, применения технологии оптимизации запросов Rushmore.

Выполните SYS(3054, 1), чтобы отобразить уровень оптимизации фильтра Rushmore после того, как запрос будет выполнен. Уровень оптимизации фильтра отображается в активном окне.

В следующей таблице представлен список возможных уровней оптимизации Rushmore:

Уровень Оптимизации | Описание
Отсутствует | Запрос не может быть оптимизирован.
Частично | Некоторые выражения на запросе могут быть оптимизированы технологией Rushmore. Указаны Индексные ключи, использованные для оптимизации Rushmore.
Полностью | Запрос польностью Оптимизируем. Указаны индексные ключи, используемые для оптимизации.

Если при выполнении SYS(3054,1) возвращается информация, что данный запрос не оптимизируем, или частично оптимизируем, измените структуру запроса и повторите данную команду.

Используйте SYS(3054, 11) для отображения уровня оптимизации Rushmore Join после выполнения Запроса. Информация представляется в активном окне.

Используйте SYS(3054, 0) для завершения отображения уровня оптимизации Rushmore, после выполнения запроса.

Для дополнительной информации о технологии оптимизации запросов Rushmore, см. раздел: Использование оптимизации Запросов Rushmore для ускорения доступа к данным.

Expand image Пример

Следующий пример показывает уровень оптимизации запросов Rushmore после выполнения заданного SQL-Запроса:

CopyCode image Копировать Код
LOCAL cmemvar
=SYS(3054,11,"cmemvar")
SELECT * FROM HOME()+"labels.dbf"
? cmemvar

Expand image См. также

Описание

Команда PUBLIC
Команда LOCAL
Команда PRIVATE
Команда SELECT - SQL
SYS( ) Общее Описание

Концепции

Использование оптимизации запросов Rushmore для ускорения доступа к Данным

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3055) - FOR and WHERE Clause Complexity

Visual FoxPro 9.0 Описание Языка
SYS(3055) - Уровни значимости в конструкциях FOR и WHERE
См. также

Устанавливает уровень значимости для опций FOR и WHERE в тех командах и функциях, которые их поддерживают.
SYS(3055 [, Nзначимость])

Параметры

Nзначимость

Определяет уровень значимости. Интервал изменения для Nзначимость от 320 до 2040. По-умолчанию = 320. Если Вы определяете нечетную величину, то производится округление в меньшую сторону до в ближайшего целого.

Возвращаемое значение

Символьное

Комментарии

Если Вы получаете сообщения об ошибках Недостаточный размер стэка (Error 1308) или SQL: оператор очень длинный (Error 1812), Вы можете увеличить "уровень значимости" для конструкций FOR и WHERE .

Например, вызов функции TABLEUPDATE( ) для локальной таблицы или представления без использования ключевых полей порождает длинную конструкцию WHERE для нахождения изменяемой записи в таблице. По-умолчанию, количество поддерживаемых полей в конструкции WHERE есть = 40. Если в этом случае Вы получите сообщение об ошибке SQL: Statement too long (Error 1812) (слишком длинный оператор SQL), тогда Вы должны использовать ключевые поля для изменения данных или увеличить уровень значимости для конструкции WHERE используя функцию SYS(3055). Если Вы используете SYS(3055), то необходимо соблюдать правило: по 8 "единиц значимости" на каждое поле:

Копировать Код
= SYS(3055, 8 * MIN(40, FCOUNT( )))

Если функция SYS(3055) вызывается без параметра Nзначимость, то возвращается текущее установленное значение.

Примечание:
Эта функция также определяет количество элементов, которые Вы можете указать в конструкции IN SQL-запроса.

Следующие Команды и Функции поддерживают конструкции FOR или WHERE:

APPEND FROM | APPEND FROM ARRAY | AVERAGE
BLANK | BROWSE | CALCULATE
CHANGE | COPY TO ARRAY | COPY TO
COUNT | DEFINE PAD | DELETE
DELETE - SQL | DISPLAY | EXPORT
FOR( ) | INDEX | LABEL
LIST | LOCATE | RECALL
REPLACE | REPLACE FROM ARRAY | REPORT
SCAN ... ENDSCAN | SELECT - SQL | SORT
SUM | TABLEUPDATE( ) | UPDATE - SQL

См. также

Описание

Команда SELECT - SQL
Команда SELECT - SQL - конструкция WHERE

Другие ссылки

Функция TABLEUPDATE( ) Function
Общее описание функции SYS( )
Недостаточный размер стэка (Error 1308)
Оператор SQL слишком длинный (Error 1812)

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(3056) - Read Registry Settings

Visual FoxPro 9.0 Описание Языка
SYS(3056) - Чтение параметров системы из Реестра Windows
См. также
CollapseAll image

Forces Visual FoxPro to read its registry settings again and update itself with the current registry settings, or to write its settings to the registry.

SYS(3056 [, nValue])

Параметры

nValue

В следующей таблице представлены возможные значения параметра nValue.

Значение Описание

1

(По-Умолчанию) = 1 - изменяются только значения параметров в реестре Windows, текущие SET установки не меняются.

2

= 2 - сохранение значения параметров в реестре Windows, данная опция аналогична выполнению кнопки Set As Default в Диалоговом боксе Options (Visual FoxPro).

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Возвращается пустая строка.

Visual FoxPro хранит установки диалогового бокса Options в Реестре Windows. Вы можете также задать значения параметров системы в текстовом файле, обычно он называется Config.fpw. Visual FoxPro сначала настраивается по параметрам из Реестра, за тем настраивается по параметрам из указанного файла. (если последний существует).

Основные параметры, заданные в диалоговом боксе Options, записываются в Реестр, если выбирается кнопка Set As Default. Некоторые Установки, такие как: Syntax Coloring, которые сохраняются в Реестре, не имеют соответствующих команд SET. Другие установки имею соответствующие команды SET (SET BELL, SET CLOCK, и так далее) влияют на среду системы Visual FoxPro. В системном Реестре хранятся также установки размещения системных файлов, закладка File Locations диалогового бокса Options, там же хранятся установки систмных переменных, таких как _COVERAGE и _SAMPLES.

Использование функции SYS(3056) изменяет системные установки в Реестре и соответствующих командах SET. Функция SYS(3056) сначала читает параметры из Реестра Windows, а за тем - из конфигурационного файла (если последний существует).

Использование SYS(3056,1) изменяет системные текущие настройки из Реестра, но Не изменяет установок соответствующих команд SET и File Locations

Использование SYS(3056,2) Записывает установки Диалогового бокса Options в соответствующем Разделе Реестра Windows.

Примечание. Установка параметров системы в Реестре может быть выполнена с использованием соответствующих функций Windows API. См. дополнительно раздел Windows API в Решениях Solution.app, которые размещены в подкаталоге ...\Samples\Solution

Expand image См. также

Задачи

Образец: Чтение и Запись значений параметров Visual FoxPro в Реестре Windows
Как: Изменить установки конфигурации в Windows Registry

Описание

SET Общее Описание
Диалоговый Бокс Options (Visual FoxPro)
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3065) - Internal Program Cache

SYS(3065) - Внутренний программный Кэш
См. также
CollapseAll image

Возвращается установка текущего внутреннего программного Кэша (PROGCACHE). Данная установка определяет размер памяти для запуска программ.

SYS(3065 [, 1])

Параметры

1

Возвращается общий размер памяти, занятый загруженными программами.

Expand image Возвращаемое значение

Числовое. Возвращается текущая установка PROGCACHE, определенная в файле конфигурации. Если параметр не указан, то возвращается следующее значение: (-2 для MTDLL, в другом случае: 144).

Expand image Пример

В следующем примере демонстрируется , как Вы можете превысить текущий программный Кэш в системе Visual FoxPro, и, тем самым спровоцировать Ошибку 1202. Если определить параметр PROGCACHE=0 в файле конфигурации config.fpw, то данная ошибка не происходит.

CopyCode image Копировать Код
CLEAR ALL
LOCAL lcBigStr,lcSafe
ON KEY LABEL F5 ? SYS(3065)+" "+SYS(3065,1)
? SYS(3065)+" "+SYS(3065,1)
SET TEXTMERGE ON NOSHOW
SET TEXTMERGE TO MEMVAR lcBigStr
      FOR i = 1 TO 39000
\           x="<<REPLICATE('a ',120)>>"
      ENDFOR
SET TEXTMERGE to
? LEN(lcBigStr)
lcSafe=SET("Safety")
SET SAFETY OFF
STRTOFILE(lcBigStr,"bigprg.prg")
SET SAFETY &lcSafe
COMPILE bigprg
DO bigprg
? SYS(3065)+" "+SYS(3065,1)
ON KEY LABEL F5

Expand image См. также

Описание

Специальные директивы в файле конфигурации
Программа слишком большая (Ошибка 1202)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3092) - Output Rushmore Query Optimization Level

Visual FoxPro 9.0 Описание Языка
Функция SYS(3092) - определение файла отчета об уровне оптимизации запросов Rushmore
См. также

Определяет файл, в котором протоколируется уровень оптимизации SQL- запросов по технологии Rushmore .

SYS(3092 [,cFileName [, lAdditive]])

Параметры

cFileName

Определяет имя файла, в который выводятся данные об уровне оптимизации выполняемых запросов по технологии Rushmore. Если задается пустая строка (""), это означает, что закрывается файл протокола, созданный предыдущим вызовом данной функции.
lAdditive

Логический параметр, который определяет действия системы при выполнении нового запроса. Если lAdditive = True (.T.), данные об уровне оптимизации добавляются в существующий файл. Если параметр lAdditive = False (.F.) (значение по-умолчанию), предыдущие данные в указанном файле перезаписываются.

Возвращаемое значение

Функция SYS(3092) возвращает пустую строку, если результаты оптимизации запросов по технологии Rushmore не выводятся в файл . Если результаты уровня оптимизации выполнения запросов по технологии Rushmore выводятся в файл, то функция возвроащает полный путь к файлу протокола.

Комментарии

Используйте функцию SYS(3054) - установка уровня оптимизации запросов по технологии Rushmore для определения информации, выводимой в файл протокола.

Функция SYS(3092) действует в пользовательских приложениях . Обе функции SYS(3092) и SYS(3054) отсутствуют в OLE DB Provider for Visual FoxPro.

См. также

Задачи:

How to: Оптимизация Фильтров и Объединений (Joins)

Описание

Функция SYS(3054) - Уровень оптимизации запросов

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(3095) - IDispatch Pointer

Visual FoxPro 9.0 Описание Языка
SYS(3095) - Указатель IDispatch
См. также
CollapseAll image

Возвращается Исходящий указатель IDispatch для объекта COM

SYS(3095, oObject)

Параметры

oObject

Является именованной ссылкой на объект COM, например как "_VFP" или "Excel.Application".

Expand image Возвращаемое значение

Символьное

Expand image Комментарии

Данный указатель предусмотрен для опытных разработчиков и используется при вызове соответствующих функций API .

Expand image См. также

Описание

Раннее (vtable) и Позднее (IDispatch) Связывание
Команда DECLARE - DLL
SYS( ) Общее Описание

Концепции

Библиотека функций API, A-Z

Другие ссылки

Библиотека функций API, по категориям

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3096) - IDispatch Object Reference

Visual FoxPro 9.0 Описание Языка
SYS(3096) - Ссылка на Объект IDispatch
См. также
CollapseAll image

Возвращает объектную ссылку Visual FoxPro COM для указателя IDispatch.

SYS(3096, nPointer)

Параметры

nPointer

Представляет собой указатель на объект COM, такой как: "_VFP" или "Excel.Application".

Expand image Возвращаемое значение

Объектная ссылка. SYS(3096) возвращает ссылку на объект Visual FoxPro COM.

Expand image Комментарии

Данный указатель предусмотрен для опытных программистов, которым необходимо определить объектную ссылку при использовании модулей API. Свойство refcount для объекта COM не Изменяется (NOT changed).

Expand image См. также

Описание

SYS( ) Общее Описание
Раннее (Early-vtable) и позднее (Late - IDispatch) Связывание
Команда DECLARE - DLL
SYS(3097) - Добавить ссылку на объект
SYS(3098) - Освободить ссылку на объект

Концепции

Модули API Library, по списку: A-Z

Другие ссылки

Модули API Library, по Категориям

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3097) - Add Reference to Object

Visual FoxPro 9.0 Описание Языка
SYS(3097) - Добавить ссылку на объект
См. также
CollapseAll image

Выполняется вызов IDispatch как ссылка на объект COM.

SYS(3097, oObject)

Параметры

oObject

Ссылка на Объект COM.

Note Примечание

Эта функция предусмотрена для опытных программистов. Неверная ссылка на объект COM может привести к неожиданным результатам, обращение к уже несуществующим объектам может "подвесить" Вашу систему или приложение.

Expand image Возвращаемое значение

Числовое. Возвращается текущая Refcount после добавления новой ссылки на объект.

Expand image См. также

Описание

SYS(3098) - Очистить ссылку на объект
Команда DECLARE - DLL
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3098) - Release Object reference

Visual FoxPro 9.0 Описание Языка
SYS(3098) - Очищает ссылку на Объект
См. также

Выполняет очистку вызова IDispatch COM-Объекта.

SYS(3098, oObject)

Параметры

oObject

Ссылка на COM - объект.
Примечание:
Эта функция предусмотрена для опытных разработчиков. Неправильная ссылка на COM-объект может привести к непоправимым проблемам, например, объект не будет удаляться когда он был создан дальним вызовом.

Возвращает

Число. Функция возвращает текущий Refcount после стирания ссылки на объект.

См. также

Другие Ссылки

SYS(3097) - Добавить ссылку на Объект
Команда DECLARE - DLL
Общее описание функии SYS( )

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SYS(3099) - SQL Data Engine Compatibility Mode

Visual FoxPro 9.0 Описание Языка
SYS(3099) - Режимы совместимости движка SQL Data
См. также
CollapseAll image

Переключает режимы совместимости работы Движка SQL Data в версиях Visual FoxPro 7.0, 8.0, или 9.0.

SYS(3099 [, 70 | 80 | 90])

Параметры

70

Определяет правила выполнения команд SQL Visual FoxPro в младших версиях, чем Visual FoxPro 8.0.

80

Определяет правила выполнения команд SQL Visual FoxPro в версии 8.0.

90

Определяет правила выполнения команд SQL Visual FoxPro в версии 9.0. (по-умолчанию)

Expand image См. также

Описание

Команда SELECT - SQL
Команда SET ENGINEBEHAVIOR
Специальные опции для Конфигурационного файла
SYS( ) Общее Описание

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(3101) - COM Code Page Translation

SYS(3101) - Преобразование COM Code Page
См. также
CollapseAll image

Устанавливает текущую Кодовую страницу, которая используется при преобразовании данных при работе объекта COM в текущей сессии Данных.

SYS(3101 [, nCodePage])

Параметры

nCodePage

Кодовая страница (целое число), определяющая преобразование символьных данных в режиме работы сервера COM. Если указана недопустимая кодовая страница - произойдет Ошибка.

Expand image Возвращаемое значение

Функция SYS(3101) возвращает номер текущей кодовой страницы. Если параметр nCodePage указан, то возвращается предыдущая установка. По-умолчанию, возвращается значение = 0 (Machine).

Expand image Комментарии

Если выполнен следующий код COMPROP(,"UTF8",1), то данная установка имеет приоритет над установкой SYS(3101) .

При работе с внешними (удаленными) данными ADO можно использовать свойство ADOCodePage объекта CursorAdapter для установки Кодовой страницы при преобразовании символьных данных (трансляции символов).

Note Примечание

Рекомендуется ограничивать использование данной функции при специфических преобразованиях COM, или обязательно восстанавливать начальные значения параметров Кодовой страницы

Expand image См. также

Описание

Функция COMPROP( )
SYS( ) Общее Описание

Другие ссылки

Кодовые Страницы в системе Visual FoxPro

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYSMETRIC( ) Function

Visual FoxPro 9.0 Описание языка программирования
SYSMETRIC( ) Функция
Смотрите также
CollapseAll image

Возвращает размер экранных элементов операционной системы.

SYSMETRIC(nScreenElement)

Параметры

nScreenElement

Определяет экранный элемент. Следующая таблица показывает значения nScreenElement для соответствующего элемента экрана:

nScreenElement Экранный Элемент

1

Ширина экрана

2

Высота экрана

3

Ширина оконного фрейма, имеющего возможность изменения размеров

4

Высота оконного фрейма, имеющего возможность изменения размеров

5

Ширина кнопки прокрутки на вертикальном скроллинге

6

Высота кнопки прокрутки на вертикальном скроллинге

7

Ширина кнопки прокрутки на горизонтальном скроллинге

8

Высота кнопки прокрутки на горизонтальном скроллинге

9

Высота заголовка окна

10

Ширина неизменяемого оконного фрейма

11

Высота неизменяемого оконного фрейма

12

Ширина ДВОЙНОГО или ГРУППОВОГО оконного фрейма

13

Высота ДВОЙНОГО или ГРУППОВОГО оконного фрейма

14

Высота полосы скроллинга в горизонтальном скроллинге в окнах редактирования текста

15

Ширина полосы скроллинга в вертикальном скроллинге в окнах редактирования текста

16

Ширина изображения иконки окна

17

Высота изображения иконки окна

18

Максимальная ширина пункта вставки

19

Максимальная высота пункта вставки

20

Высота меню

21

Максимальная ширина окна

22

Максимальная высота окна

23

Высота окна канджи (Kanji window height)

24

Минимальная значительная ширина окна

25

Минимальная значительная высота окна

26

Минимальная ширина окна

27

Минимальная высота окна

28

Ширина кнопок управления окном

29

Высота кнопок управления окном

30

1, если присутствует мышь; иначе 0

31

1 для Windows Microsoft debugging version; иначе 0

32

1, если кнопки мыши поменяли местами (для левши); иначе 0

33

Ширина кнопки в заголовке половинной высоты окна

34

Высота области заголовка в окне половинной высоты

Expand image Возвращаемое значение

Символьное

Expand image Замечания

SYSMETRIC () возвращает размер элементов экрана. Элементы экрана включают меню, окна, средства управления окна, и пункт вставки. Значения возвращяются в пикселах если иначе не отмечено в свойствах дисплея и могут изменяться для различных драйверов, и видео аппаратные средства. Для полной информации относительно элементов экрана, обратитесь к функции GetSystemMetrics в Библиотеке MSDN в http://msdn.microsoft.com/library.

SYSMETRIC () позволяет Вам определить размер меню, окон, и средств управления окна, которые Вы создаете в Visual FoxPro. Окна и меню, созданные с помощью DEFINE WINDOW и DEFINE MENU используют те же самые размеры элементов экрана как и окна операционной системы и меню.

Expand image Смотрите также

Ссылки

FONTMETRIC( ) Функция
GETFONT( ) Функция
TXTWIDTH( ) Функция
WFONT( ) Функция

Другие источники

Функции
Справочник языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


TABLEREVERT( ) Function

Visual FoxPro 9.0 Справочник Языка
TABLEREVERT () Функция
См. Также Пример

Отменяет Изменения, сделанные в буферизированной строке или буферизированной таблице или курсоре и восстановливает данные OLDVAL( ) для отдаленных курсоров и текущие значения диска для локальных таблиц и курсоров.

Обратите внимание:
В сети, текущие данные диска могут отличаться от данных самого диска на то время, когда таблица была открыта или курсор был создан. Другие пользователи в сети могли изменить данные после того, как таблица была открыта, или курсор был создан.

TABLEREVERT( [lAllRows [, cTableAlias | nWorkArea] ] )

Параметры

lAllRows

Определяет, отменить ли все изменения, сделанные в таблице или курсоре. Следующая таблица описывает значения для lAllRows .

lAllRows Описание

Ложь (.F).

Если буферизация таблицы допускается, то отменяются изменения, сделанный в текущей записи таблицы или курсора. (Значение по умолчанию)

Истина (.T).

Если буферизация таблицы допускается, то отменяются изменения, сделанные во всех записях таблицы или курсора.

Если допускается буферизация строки, Visual FoxPro игнорирует значение lAllRows , и изменения, сделанные в текущей записи таблицы или курсора отменяются.
cTableAlias

Определяет псевдоним таблицы или курсора, в котором отменяются изменения.
nWorkArea

Определяет рабочую область таблицы или курсора, в которой отменяются изменения.

Возвращаемое значение

Числовой тип данных. TABLEREVERT( ) возвращает количество записей, для которых изменения были отвергнуты.

Замечания

TABLEREVERT( ) не может отменить изменения, сделанные в таблице или курсоре, которые не имеют разрешения построчной или табличной буферизации. Если Вы используете TABLEREVERT( ) и построчная или табличная буферизация не разрешена, Visual FoxPro генерирует сообщение об ошибке. Используйте CURSORSETPROP( ), чтобы разрешить или запретить построчную или табличную буферизацию.

Изменения отменяются для таблицы или курсора, открытых в текущей рабочей области, если команда TABLEREVERT( ) выполняется без дополнительных параметров cTableAlias или nWorkArea .

TABLEREVERT( ) не возвращает указатель записи на его первоначальную позицию.

TABLEREVERT () оперирует с объектами CursorAdapter тем же самым способом, как с другими буферизированными курсорами.

В Visual FoxPro 9.0, Вы не можете запустить функцию TABLEREVERT( ), когда TABLEUPDATE( ) находится в состоянии выполнения.

Пример

Следующий пример демонстрирует, как Вы можете использовать TABLEREVERT( ), чтобы отказаться от изменений, сделанных в буферизированной таблице. MULTILOCKS установлен в ON, как требование для буферизации таблицы. Открывается таблица customer базы данных testdata , и затем выполняется CURSORSETPROP( ), чтобы установить режим буферизации в режим оптимистической буферизации таблицы (5).

Отображается значение поля cust_id и затем поле cust_id изменяется командой REPLACE. Отображается новое значение поля cust_id . Затем испльзуется TABLEREVERT( ), чтобы вернуть таблицу в ее первоначальное состояние (вместо этого могла быть использована TABLEUPDATE( ), чтобы подтвердить изменения). Затем отображается прежнее значение поля cust_id .

Скопировать код
CLOSE DATABASES
SET MULTILOCKS ON  && Must be on for table buffering
SET PATH TO (HOME(2) + 'data\')     && Sets path to database
OPEN DATABASE testdata  && Open testdata database
USE Customer     && Open customer table
= CURSORSETPROP('Buffering', 5, 'customer')  && Enable table buffering
CLEAR
? 'Original cust_id value: '
?? cust_id  && Displays current cust_id value
REPLACE cust_id    WITH '***'  && Changes field contents
? 'New cust_id value: '
?? cust_id  && Displays new cust_id value
= TABLEREVERT(.T.)  && Discard all table changes
? 'Reverted cust_id value: '
?? cust_id  && Displays reverted cust_id value

См. Также

Другие Ресурсы

CURSORSETPROP( ) Функция
CURVAL( ) Функция
OLDVAL( ) Функция
TABLEUPDATE( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TABLEUPDATE( ) Function

Visual FoxPro 9.0 Справочник Языка
TABLEUPDATE () Функция
См. Также Пример

Фиксирует изменения, сделанные в буферизированной строке, буферизированной таблице, курсоре, или курсор-адаптере.

TABLEUPDATE( [nRows [, lForce]] [, cTableAlias | nWorkArea] [, cErrorArray] )

Параметры

nRows

Определяет, какие изменения сделанные в таблице или курсоре должен быть фиксированы.
Обратите внимание:
Visual FoxPro допускает Оптимистичесую буферизацию Строк по умолчанию, для тех курсоров, которые ассоциированы с объектом CursorAdapter .

Следующая таблица описывает значения для nRows .

nRows Описание

0

Если строка или буферизация таблицы разрешены, фиксируются только изменения, сделанные в текущей строке курсора. (Значение по умолчанию)

При работе с объектом CursorAdapter , Visual FoxPro выполняет соответствующую команду, помещенную в свойствах InsertCmd , UpdateCmd , или DeleteCmd только для этой строки.

1

Если буферизация таблицы разрешена, фиксируются изменения, сделанные во всех записях таблицы или курсора.

Если буферизация строки разрешена, фиксируются только изменения, сделанные в текущей записи таблицы или курсора.

При работе с объектом CursorAdapter , Visual FoxPro выполняет соответствующие команды в свойствах InsertCmd , UpdateCmd , и DeleteCmd для каждой задействованной строки.

2

Фиксирует изменения, сделанные в таблице или курсоре тем же способом, как если бы nRows = 1. Однако, ошибка не происходит, когда изменение не может быть фиксировано. Visual FoxPro продолжает обрабатывать любые остающиеся записи в таблице или курсоре.

Если включен параметр cErrorArray , то создается массив, содержащий сведения об ошибке в случае, если ошибка происходит.

Для совместимости с приложениями предыдущих версий Visual FoxPro, параметр nRows также может быть установлен в Ложь (.F). и Истину (.T). вместо 0 и 1 соответственно. При определении 0 или 1 для nRows , указатель записи остается на записи, где изменения не могли быть зафиксированы. Для определения причины, почему изменения не могли быть зафиксированы, используйте функцию AERROR( ) . При работе с объектом CursorAdapter и определении 1 или 2 для nRows , все изменения, сделанные в курсоре в следующих событиях CursorAdapter должны быть зафиксированы в течение того же самого запроса TABLEUPDATE () , если не происходит ошибка:
  • BeforeInsert

  • AfterInsert

  • BeforeDelete

  • AfterDelete

  • BeforeUpdate

  • AfterUpdate

Visual FoxPro передает значения nRows в обработчик событий CursorAdapter BeforeCursorUpdate .
lForce

Определяет, будет ли записывать Visual FoxPro поверх тех изменений, которые сделанны в таблице или курсоре другим пользователем сети. Следующая таблица описывает значения для lForce .

lForce Описание

Ложь (.F).

Фиксирует изменения в таблице или курсоре, начиная с первой записи и до конца таблицы или курсора. (Значение по умолчанию)

Истина (.T).

Обновление записей с любыми изменениями, сделанные в таблице или курсоре другим сетевым пользователем. Предложение WHERE использует только поля ключа.

При работе с объектом CursorAdapter , Visual FoxPro передает значение lForce в следующие обработчики событий CursorAdapter :
  • BeforeCursorUpdate

  • BeforeInsert

  • BeforeUpdate

  • BeforeDelete

  • AfterInsert

  • AfterUpdate

  • AfterDelete

cTableAlias

Определяет псевдоним таблицы или курсора, в котором фиксируются изменения. Если Вы включаете таблицу или псевдоним курсора, Вы должны включить параметр lForce .
nWorkArea

Определяет рабочую область таблицы или курсора, в котором фиксируются изменения. Если Вы включаете рабочую область, Вы должны включить параметр lForce .
cErrorArray

Определяет имя созданного массива, когда nRows = 2 и изменение в записи не может быть фиксировано. Массив содержит единственный столбец, содержащий номера записей, для которых изменения не могли быть зафиксированы. Если Вы включаете имя массива, Вы должны включить или псевдоним курсора или таблицы cTableAlias или номер рабочей области nWorkArea .
Обратите внимание:
При ошибке обновления записей, за исключением простой ошибки фиксирования, первый элемент cErrorArray будет содержать -1. Вы сможете использовать AERROR( ) для определения причины, почему изменения не могли быть фиксированы.

Visual FoxPro передает значение cErrorArray , если оно существует, в обработчик события CursorAdapter AfterCursorUpdate .

Возвращаемое значение

Логический тип данных. TABLEUPDATE( ) Возвращает Истину (.T). если изменения во всех записях зафиксированы.

Иначе, TABLEUPDATE( ) возвращает Ложь (.F)., что указывает на неудачу. Процедура ON ERROR не выполняется. Фуанкция AERROR( ) может использоваться, чтобы вернуть информацию о причине отказа.

Обратите внимание:
TABLEUPDATE( ) всегда возвращает Истину (.T)., когда Вы модифицируете данные, используя Буферизацию Таблицы, и обновляете таблицу или таблицы источника данных от разных клиентов, при установке значения BatchUpdateCount больше чем 1. Поэтому, избегайте устанавливать значение BatchUpdateCount больше чем 1 в подобных сценариях.

Замечания

TABLEUPDATE( ) не может зафиксировать изменения, сделанные в таблице или курсоре, который не имеет разрешения на буферизацию записей или таблицы. Если Вы запускаете TABLEUPDATE( ) , а буферизация записей или таблицы не допускаются, Visual FoxPro генерирует сообщение об ошибке. Однако, TABLEUPDATE( ) может, тем не менее, фиксировать изменения в таблице или курсоре, которые имеют соответствующие правила проверки. Для разрешения или запрещения буферизации записей или таблицы, используйте CURSORSETPROP( ) .

Изменения фиксируются в таблице или курсоре, открытых в текущей рабочей области если TABLEUPDATE( ) запускается без дополнительных параметров cTableAlias или nWorkArea .

Если используется буферизация таблицы и модифицирован набор записей, TABLEUPDATE( ) перемещает указатель записи на последнюю модифицированную запись.

Обратите внимание:
Запрос TABLEUPDATE( ) для локальной таблицы или представления, которые не используют полей с ключами, генерирует длинное предложение WHERE , чтобы найти строку модификации. Заданное по умолчанию количество полей, которое поддерживается в предложении WHERE - 40. Если Вы получаете ошибку SQL: Избыточная Длина Инструкции (Ошибка 1812) , Вы должны или использовать поле ключа для модификации или увеличивать сложность предложения WHERE с использованием SYS(3055) . Если Вы используете функцию SYS(3055) , увеличьте ее значение до количества, которое восьмикратно превышает количество полей в таблице как показано в следующем примере:

Скопировать код
SYS(3055, 8 * MIN(40, FCOUNT( ))

При выполнении пакетной операции TABLEUPDATE () , из-за особенностей поведения ODBC, Visual FoxPro неспособен обнаружить конфликты, когда никакой ошибки не генерируется сервером, так же как если ничто не модифицировано, например, ни одна строка не соответствует предложению WHERE . Это может произойти, когда Вы используете WhereType установленный в DB_KEYANDUPDATABLE, DB_KEYANDMODIFIED, или DB_KEYANDTIMESTAMP, и другой пользователь изменил одно из основных значений в предложении WHERE так, что строка не может быть найдена инструкцией для модификации.

Взаимодействие с объектом CursorAdapter.

Следующее поведение касается работы с объектом CursorAdapter :

  • TABLEUPDATE () работает только с курсором, ассоциированным с объектом CursorAdapter .

  • TABLEUPDATE () выполняет команды, согласно типу источника данных и сохраненых в свойствах CursorAdapter InsertCmd , UpdateCmd , или DeleteCmd команд, над текущей строкой курсора или строками соответственно.

  • TABLEUPDATE () передает значение GETFLDSTATE(1) в следующие обработчики событий CursorAdapter , которые касаются каждой задействованной строки:

    • BeforeInsert

    • BeforeUpdate

    • BeforeDelete

    Для подробной информации о GETFLDSTATE () , см. Функция GETFLDSTATE( ) .

  • Успешное завершение TABLEUPDATE () сбрасывает состояние полей согласно обычному поведению TABLEUPDATE () .

  • Когда буферизация таблицы допускается, Вы можете покинуть текущую запись в следующих событиях CursorAdapter :

    • BeforeInsert

    • AfterInsert

    • BeforeUpdate

    • AfterUpdate

    • BeforeDelete

    • AfterDelete

    Вы можете также изменить данные в курсоре. Эти функциональные возможности поддерживают сценарии типа поиска автоинкрементного значения в базовой таблице и вставки его в курсор. Когда происходит такой сценарий, объект CursorAdapter должен автоматически возвратиться к записи, изменения которой должны быть зафиксированы после того, как произошло событие, и фиксирует изменения.

    В Visual FoxProе 9.0, Вы не можете выполнить Функцию TABLEREVERT () когда TABLEUPDATE( ) находится в состояни выполнения.

    Как правило, объект CursorAdapter использует функциональные возможности управления транзакциями, обеспеченные ADO или ODBC. API и Visual FoxPro закрывают транзакцию, когда функция TABLEUPDATE( ) завершается успешно. Однако, если Вы хотите посылать команды управления транзакциями непосредственно в базовой программе, Вы можете установить свойство UseTransactions объекта CursorAdaptor в Ложь (.F.) и CursorAdapter не будет использовать транзакции, чтобы посылать команды Insert, Update, or Delete.

Пример

Следующий пример демонстрирует, как Вы можете использовать TABLEUPDATE( ) для фиксирования изменений, сделанных в буферизованной таблице. Создана таблица employees , и инструкция SQL INSERT вставляет значение "Smith" в поле cLastName .

MULTILOCKS установлен в ON , что является требованием для буферизации таблицы. CURSORSETPROP( ) используется, чтобы установить режим буферизации в Оптимистическую Буферизацию Таблицы (5).

Отображается первоначальное значение поля cLastName (Smith), и поле cLastName изменяется применением REPLACE . Отображается новое значение поля cLastName (Jones). Используется TABLEUPDATE( ), чтобы зафиксировать изменения в таблице ( TABLEREVERT( ) может быть выполнена вместо этого для отказа от изменений). Затем отображается модифицированное значение поля cLastName (Jones).

Скопировать код
CLOSE DATABASES
CREATE TABLE employee (cLastName C(10))
SET MULTILOCKS ON  && Must turn on for table buffering.
= CURSORSETPROP('Buffering', 5, 'employee' )  && Enable table buffering.
INSERT INTO employee (cLastName) VALUES ('Smith')
CLEAR
? 'Original cLastName value: '
?? cLastName  && Displays current cLastName value (Smith).
REPLACE cLastName WITH 'Jones'
? 'New cLastName value: '
?? cLastName  && Displays new cLastName value (Jones).
= TABLEUPDATE(.T.)  && Commits changes.
? 'Updated cLastName value: '
?? cLastName  && Displays current cLastName value (Jones).

См. Также

Другие Ресурсы

Функции
CURSORSETPROP( ) Функция
CURVAL( ) Функция
OLDVAL( ) Функция
TABLEREVERT( ) Функция
Объект Cursor
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TAG( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция TAG( )
Смотрите также Пример
CollapseAll image

Возвращает имя тега из открытого файла составного индекса .CDX или имя открытого файла простого индекса .IDX.

TAG([CDXFileName[, nTagNumber[, nWorkArea | cTableAlias]]])

Параметры

CDXFileName

Задает имя файла многоэлементного составного индекса .CDX, для которого функция TAG( ) возвращает имя тега.

nTagNumber

Задает номер, соответствующий порядку, в котором был создан данный тег в файле составного индекса.

Например, если номер nTagNumber равен 1, функция TAG( ) возвращает имя тега, который был создан первым в файле составного индекса. Если nTagNumber равен 2, TAG( ) возвращает имя тега, созданного вторым. Если значение nTagNumber превышает количество имен тегов, TAG( ) возвращает пустую строку.

Если имя CDXFileName опущено, функция TAG( ) возвращает имена тегов файла составного индекса и имена файлов простых индексов по следующей схеме:

  • Сначала возвращаются имена файлов простых индексов в соответствии с порядком, в котором они заданы в предложении INDEX команды USE или в команде SET INDEX. Для более подробной информации смотрите Команда USE и Команда SET INDEX.

  • Затем возвращаются имена тегов файла структурного составного индекса (если он определен для таблицы).

  • После этого возвращаются имена тегов из других открытых файлов составных индексов в соответствии с порядком создания этих тегов в файлах составных индексов и порядком задания этих файлов составных индексов в предложении INDEX команды USE или SET INDEX.

nWorkArea| cTableAlias

Определяют, что имена тегов и имена файлов индексов возвращаются для файлов, открытых в другой рабочей области. Параметр nWorkArea задает номер рабочей области, а cTableAlias - псевдоним таблицы. По умолчанию имена тегов и имена файлов индексов возвращаются для файлов в текущей рабочей области.

Expand image Возвращаемое значение

Character. Функция TAG( ) возвращает имя индексного тега в виде строки символов в верхнем регистре.

Expand image Замечания

Теги представляют собой элементы индекса в файлах многоключевых составных индексов (.cdx), создаваемых с помощью команды INDEX. Файлы простых индексов (.idx) содержат только один элемент, поэтому, функция TAG( ) для .idx -файлов возвращает их имена.

Note Примечание

Файл структурного составного индекса (.cdx) открывается автоматически вместе с таблицей. Файлы многоключевых составных индексов .cdx и файлы простых индексов .idx могут быть открыты для таблицы с помощью предложения INDEX команды USE или с помощью команды SET INDEX.

Expand image Пример

В следующем примере сначала закрываются все открытые базы данных. Затем открывается база данных TestData из примеров Visual FoxPro, расположенная в каталоге ..\Microsoft Visual FoxPro\Samples\Data. Открывается таблица Customer . Команда FOR ... ENDFOR использует функцию TAGCOUNT( ) для задания конечного значения счетчика цикла, равного общему количеству индексных тэгов в открытом структурном составном индексном файле (.cdx). С помощью функций TAG( ) и CDX( ) и команды ? на экран выводятся все имена тегов.
CopyCode image Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer

CLEAR
FOR nCount = 1 TO TAGCOUNT()
   ? TAG(CDX(1),nCount)
ENDFOR

Для более подробной информации смотрите Команда FOR ... ENDFOR, Функция TAGCOUNT( ), Функция CDX( ) и Команда ? | ??.

Expand image Смотрите также

Справочное руководство

Функция ATAGINFO( )
Функция CANDIDATE( )
Функция PRIMARY( )
Функция UNIQUE( )
Функция CDX( )
Функция DESCENDING( )
Команда INDEX
Функция MDX( )
Функция NDX( )
SYS(14) - Index Expression

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


TAGCOUNT( ) Function

Visual FoxPro 9.0 Справка по языку
Функция TAGCOUNT( )
См.также

Возвращает количество тегов в составном (compound) индексном файле .cdx и в открытых индексных файлах .idx.

TAGCOUNT([CDXFileName [, nWorkArea | cTableAlias]])

Параметры

CDXFileName

Указывает имя составного индексного файла, для которого TAGCOUNT( ) возвращает количество тегов. Если CDXFileName не существует для текущей таблицы, вы должны указать параметр nWorkarea или cTableAlias, ссылающийся на таблицу, где такое имя имеется. Если вы опустите CDXFileName, функция TAGCOUNT( ) возвратит количество тегов во всех составных индексных файлах .cdx и в открытых индексных файлах .idx в текущей рабочей области или для указанного алиаса таблицы.
nWorkarea

Указывает рабочую область таблицы, для которой функция TAGCOUNT( ) возвращает количество тегов в составном индексном файле .cdx.
cTableAlias

Указывает алиас таблицы, для которой для которой функция TAGCOUNT( ) возвращает количество тегов в составном индексном файле .cdx.

Возвращаемое значение

Числовое

Примечания

Функция включена для совместимости с dBASE.

См.также

Команда INDEX
Функция TAGNO( )
Функции
Руководство по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TAGNO( ) Function

Visual FoxPro 9.0 Описание Языка
TAGNO( ), функция
См. также
CollapseAll image

Возвращает позицию (номер по-порядку) указанного Тэга индекса в списке тегов компактного индексного файла (.cdx), или открытого простого индексного файла (.idx).

TAGNO([IndexName [, CDXFileName [, nExpression | cExpression]]])

Параметры

IndexName

Определяет имя Тэга из компактного индексного файла (.cdx) или имя простого индексного файла (.idx), номер которого в общем списке нужно определить данной функцией TAGNO( ).

CDXFileName

Определяет имя соответствующего компактного индексного файла (.cdx), в котором содержится Тэг, заданный в предыдущем параметре IndexName.

nExpression

Определяет номер рабочей области, в которой открыта таблица, для которой вычисляется функция TAGNO( ).

cExpression

Определяет имя алиаса таблицы, для которой вычисляется функция TAGNO( ).

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

TAGNO( ) возвращает значение = 0, если для данной таблицы не открыт индексный файл, или он совсем отсутствует, (записи таблицы упорядочены в естественном порядке), а дополнительные параметры отсутствуют.

Включена для совместимости с системой dBASE.

Expand image См. также

Описание

INDEX, команда
TAGCOUNT( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


TAN( ) Function

Visual FoxPro 9.0 Описание Языка
TAN( ), функция
См. также Пример
CollapseAll image

Это тригонометрическая функция, возвращающая Тангенс заданного угла.

TAN(nExpression)

Параметры

nExpression

Определяет величину угла (в радианах), для которого функция TAN( ) возвращает соответствующий Тангенс. Для преобразования величины угла (градусы) - в радианы, используется функция DTOR( ). Количество десятичных знаков, возвращаемых функцией TAN( ), устанавливается в команде SET DECIMALS.

Expand image Возвращаемое значение

Числового типа

Expand image Пример

CopyCode image Копировать Код
CLEAR
? TAN(0)  && отображается 0.00
? TAN(PI( )/4)  && отображается 1.00
? TAN(PI( )*3/4)  && отображается -1.00

Expand image См. также

Описание

COS( ), функция
DTOR( ), функция
RTOD( ), функция
SET DECIMALS, команда
SIN( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


TARGET( ) Function

Visual FoxPro 9.0 Описание Языка
TARGET( ), функция
См. также Пример
CollapseAll image

Возвращает имя Алиаса "дочерней" таблицы для установленной ранее Связи между таблицами, указанной в секции INTO команды SET RELATION.

TARGET(nRelationshipNumber [, nWorkArea | cTableAlias])

Параметры

nRelationshipNumber

Определяет идентификационный номер установленной Связи между таблицами. Значение данного параметра изменяется от 1 - до общего количества установленных Связей для заданной Рабочей области. Порядок возвращаемых Имен Алиасов имеет нестандартный вид, пока данный параметр nRelationshipNumber меньше общего количества установленных Связей, то возвращается имя Алиаса. Когда данный параметр nRelationshipNumber больше общего количества установленных связей, то возвращается пустая строка.

nWorkArea| cTableAlias

Определяет номер Рабочей области или имя Алиаса "Родительской" таблицы, для которой установлена Связь. nWorkArea - это номер Рабочей области, а cTableAlias- имя Алиаса таблицы. По-умолчанию, предполагается Такущая Рабочая область, для которой определяется алиас, привязанной, "дочерней" таблицы.

Expand image Возвращаемое значение

Символьного типа (Character)

Expand image Пример

В представленном далее примере, устанавливается Связь (Отношение) по полю с именем order_id между "родительской" таблицей orders и "дочерней" таблицей customer. Рассматриваемая функция TARGET( ) используется для определения алиаса привязанной дочерней таблицы.

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders IN 0 ORDER order_id
USE customer IN 0 ORDER cust_id
SELECT orders
SET RELATION TO cust_id INTO customer
? TARGET(1) && Displays customer
? TARGET(2) && Empty string

Expand image См. также

Описание

RELATION( ), функция
SET RELATION, команда
SELECT, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


TEXTMERGE( ) Function

Visual FoxPro 9.0 Справочник Языка
TEXTMERGE () Функция
См. Также Пример

Обеспечивает вычисление символьного выражения.

TEXTMERGE(cExpression [, lRecursive [, cLeftDelim [, cRightDelim]]])

Параметры

cExpression

Определяет строковое выражение, которое будет вычислено.
lRecursive

Определяет, выполнять ли итерации повторно по всем уровням разделителей в cExpression, продолжая до тех пор, пока имеются разделители текстового слияния .
cLeftDelim

Определяет левый разделитель для поиска текстового слияния. cLeftDelim ограничен двумя символами.
cRightDelim

Определяет правый разделитель для поиска текстового слияния. cRightDelim ограничен двумя символами.

Возвращаемое значение

Символьная строка. Представляет значение выражения cExpression , объединенный текст.

Замечания

Параметры cLeftDelim и cRightDelim временно отменяют любые значения SET TEXTMERGE DELIMITERS.

Функция TEXTMERGE( ) чувствительна к текущим параметрам настройки SET TEXTMERGE SHOW | NOSHOW.

Пример

Следующий пример создает текстовую строку, затем выводит TEXTMERGE этой функцией.

Скопировать код
SET TEXTMERGE OFF
TEXT to myvar noshow &&textm
   this is a test   <<datetime()>>
   <<program(-1)>>
   <<myvar>>
   textmerge(myvar) (this line is literal)
   <<doit(myvar)>>   (cause recursion
   END of orig text
endtext
?myvar
?"Now starting textmerge"
?textmerge(myvar)
PROCEDURE doit(myvar)
*  r=i   && cause an error
   if program(-1) > 3
     return "THEEND*********"
   endif
   return textmerge(myvar)

См. Также

Другие Ресурсы

EVALUATE( ) Функция
SET DELIMITERS Команда
SET TEXTMERGE Команда
SET TEXTMERGE DELIMITERS Команда
Создание Символьных Выражений
TEXT ... ENDTEXT Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TIME( ) Function

Visual FoxPro 9.0 Описание Языка
TIME( ), функция
См. также
CollapseAll image

Возвращает текущее системное время в соответствующем 24-часовом, символьном формате (чч:мм:сс).

TIME([nExpression])

Параметры

nExpression

Если задан некоторый числовой параметр (любой) - то дополнительно возвращаются 10-ки милисекунд. Однако, получаемое дополнительное значение кратно 1/18 секунды. Для получения более точного значения милисекунд используйте функцию SECONDS( ).

Expand image Возвращаемое значение

Символьного типа

Expand image См. также

Описание

CTOT( ), функция
DATE( ), функция
DATETIME( ), функция
DTOT( ), функция
HOUR( ), функция
SEC( ), функция
SECONDS( ), функция
SET SECONDS, команда
SYS(2) - Секунд прошло с начала суток

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


TRANSFORM( ) Function

Visual FoxPro 9.0 Описание Языка
TRANSFORM( ), функция
См. также Пример
CollapseAll image

Возвращает символьную строку, полученную из исходного выражения, преобразованного в соответствие с указанными или стандартными правилами преобразования.

Note Примечание

Использование функции TRANSFORM( ) для преобразования большого отрицательного числа, имеющего десятичные знаки может причести к неожиданным результатам, из-за числовых преобразований. Вместо данной функции в этих случаях рекомендуется использовать обычную функцию STR( ), для преобразования больших отрицательных чисел.

TRANSFORM(eExpression, [cFormatCodes])

Параметры

eExpression

Определяет некоторое выражение, которое требуется преобразовать в символьную счтроку по заданному или стандартному Формату.

cFormatCodes

Определяет строку Правил преобразования.

Note Примечание

В следующей таблице описаны допустимые форматные правила, используемые в данном параметре cFormatCodes.

cFormatCodes Краткое Описание

@B

Выравненные слева, числовые данные (без ведущих нулей и пробелов)

@C

Добавляются символы "CR" (справа) для положительных чисел типа Currency / Numeric, обозначает Credit (Кредит).

@D

Выполняет преобразование данных типа Date / DateTime, в соответствие с текущим форматом SET DATE....

@E

Выполняет преобразование данных типа Date / DateTime - BRITISH date format (дд/мм/гггг).

@L

Заполняет числовые данные лидирующими нулями.

@R

Выполняет преобразование по указанной Маске, или Шаблону. Символы шаблона могут не включаться в результирующую символьную строку. Данное преобразование используется только для символьных и числовых данных. Символы Шаблона могут состоять из:

  • 9 или # определяют символ или цифру.

  • ! преобразует символ нижнего регистра в верхний (lower-case -> uppercase).

Note Примечание

Visual FoxPro не отображает шаблонные символы, которые располагаются вне диапазона результирующей строки символов.

@T

Исключает лидирующие и замыкающие пробелы из результирующей символьной строки.

@X

Добавляет символы "DB" (справа) для отрицательных чисел форматов currency / numeric, обозначает Debit (Дебит).

@YL

Используется длинный формат для данных типа Date (с указанием Тысячилетия и Века: ГГГГ.мм.дд).

@YS

Используется короткий формат для данных типа Date (без твсячилетия и века: ГГ.мм.дд).

@Z

Если исходное выражение = 0, то оно преобразуется в пробел.

@(

Отрицательные числа форматов currency / numeric заключаются в круглые скобки.

@^

Представляет данные типов currency / numeric в формат с "плавающей точкой" (-1.2300000E+2).

@0

Выполняет преобразование числовых данных в шестнадцатеричное представление (0xA1B5H8). Исходное выражение должно быть положительным и меньшим, чем 4,294,967,296.

@!

Символы нижнего регистра преобразуются в верхний регистр.

@$

Добавляет для данных типа currency / numeric символ денежной единицы, который определяется системной командой SET CURRENCY. По-умолчанию, данный символ разиещается перед или сразу после преобразуемого выражения. Символы денежной единицы, разделители тысяч и символ десятичной точки могут быть изменены при помощи соответствующих системных команд: SET CURRENCY, SET SEPARATOR, SET POINT.

X

Определяет ширину (длину) символьного выражения. Например, если cFormatCodes = 'XX', возвращается только 2 символа.

Y

Преобразует логическое True (.T.) или False (.F.) соответственно в Y (Yes) / N (No).

!

Преобразует соответствующий символ строки в верхний регистр.

.

Определяет местоположение десятичной точки в числовых данных.

,

Определяет местоположение разделителей триад (тысяч), слева от десятичной точки, для числовых данных.

9

Определяет ширину или длину строки, состоящей из цифр.

Например, если cFormatCodes = '999.99', то в результирующей строке будет три цифры слева и две цифры справа от десятичной очки.

Note Примечание

Если параметр cFormatCodes определен для числовых данных, то данный формат должен обеспечивать соответствующую, необходимую длину результирующей строки символов.

В следующем примере демонстрируется необходимость создание соответствующих форматов преобразования данных, и результаты отображения преобразованных данных числового типа (***.**).

CopyCode image Копировать Код
CREATE CURSOR myCursor (col1 n(5,2))
INSERT INTO myCursor VALUES (-555.5)
* No format code and returns **.**
? TRANSFORM(myCursor.col1 )
* A format code 1 less than value returns ***.**
? TRANSFORM(myCursor.col1,'999.99' )
* A format code same size as value returns -556.00
? TRANSFORM(myCursor.col1,'9999.99' )

В тех случаях, когда преобразуемое число не умещается в предложенных формат преобразования, система Visual FoxPro пытается разместить полученный результат в заданном формате по следующим правилам:

  • Смещает десятичную точку правее обычной позиции, округляет числовое выражение.

  • Если число не размещается в формате, представляет его в допустимом формате "с плавающей т очкой".

  • Если число не помещается в формате, заменяет все цифры звездочками.

Дополнительную информацию смотрите в разделах: InputMask, свойство и Format, свойство.

Если параметр определения формата преобразования cFormatCodes отсутствует, Visual FoxPro пытается выполнить стандартные преобразования различных типов данных для исходного выражения eExpression. В следующей далее таблице подробно описываются Правила стандартных преобразований.

Тип Данных Краткое описание Преобразования

Blob

Результирующая строка имеет вид шестнадцатеричного представления двоичных данных, без специфического для таких случаев префикса (0х). Например, результатом может быть строка "FE0AF2":

CopyCode image Копировать Код
TRANSFORM(0hFE0AF2)

Применяется для двоичных данных, TRANSFORM( ) игнорирует форматирующие коды, за исключением случаев определяющих ширину результата (длину). Например, для представленных примеров результатом будет строка "FE0A":

CopyCode image Копировать Код
TRANSFORM(0hFE0AF2, "XXXX")
TRANSFORM(0hFE0AF2, "9999")
TRANSFORM(0hFE0AF2, "####")

Для форматирующих кодов, определяющих ширину (длину) результирующей строки имеется ограничение в 255 символов.

Character

Преобразование не выполняется (уже символьный тип данных).

Currency

Преобразование денежных единиц в соответствие с установками в закладке Regional, Options dialog box.

Date

Соответствует преобразованию функции DTOC( ) (по формату SET DATE...) .

DateTime

Соответствует преобразованию функции TTOC( ), соответственно формату SET DATE....

General

Возвращает строку "Gen" для полей типа General, содержащих реальные графические объекты, или строку "gen" для пустых полей типа General (не содержащих графические объекты).

Logical

Преобразует логические выражения True (.T.) и False (.F.) в соответствующие строки символов: ".T." и ".F." .

Memo

Преобразование не выполняется (тип уже символьный).

Numeric (включая Double, Float, или Integer тип данных)

Исключает лидирующие нули и пробелы, а также завершающие нули, находящиеся справа от десятичной точки.

Если исходное число является целым, то десятичная точка не указывается в результирукющей строке. Например, число 4.0 преобразуется в строку "4"

Если исходное число больше нуля, но меньше единицы, в результирующей строке появляется лидирующий ноль. Например, число .4 преобразуется в строку "0.4".

Object

Возвращается строка символов "(Object)".

Varbinary

Результирующая строка имеет вид шестнадцатеричного представления двоичных данных, без стандартного шестнадцатеричного префикса (0х). Например, результатом следующего далее преобразования будет символьная строка "FEOAF2":

CopyCode image Копировать Код
TRANSFORM(0hFE0AF2)

Для двоичных данных функция TRANSFORM( ) игнорирует другие форматирующие коды, за исключением символов, определяющих ширину (длину) результирующей строки. Например, для следующих далее преобразований результатом будет строка символов: "FE0A":

CopyCode image Копировать Код
TRANSFORM(0hFE0AF2, "XXXX")
TRANSFORM(0hFE0AF2, "9999")
TRANSFORM(0hFE0AF2, "####")

Expand image Возвращаемое значение

Символьного типа. TRANSFORM( ) возвращает символьную строку, полученную из исходного выражения по заданным или стантдартным правилам преобразования.

Expand image Пример

CopyCode image Копировать Код
STORE 12.34 TO gnPrice
CLEAR
? TRANSFORM(gnPrice, '$$$$.99') && Displays $12.34
? TRANSFORM(_SCREEN) && Displays (Object)

Expand image См. также

Описание

DTOC( ), функция
TTOC( ), функция
InputMask, свойство

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


TRIM( ) Function

Visual FoxPro 9.0 Описание Языка
TRIM( ), функция
См. также Пример
CollapseAll image

Удаляет все завершающие пробелы или символы завершения в символьном выражении, или все завершающие нуль-символы (0) для двоичного выражения.

TRIM(cExpression [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])

Параметры

cExpression

Определяет некоторое выражение типа Character или Varbinary, в котором удаляются завершающие пробелы, определенные символы или символы-нуль (0).

nFlags

Определяет некоторый Флаг, описывающий чувствительность к Регистру для одного или нескольких заданных "завершающих" символов (cParseChar, cParseChar2, …). Операция удаления завершающих символов не чувствительна к Регистру, если данный параметр = 0, или отсутствует. Если данный флаг nFlags =1, то операция удаления завершающих символов чувствительна к Регистру этих символов.

cParseChar [, cParseChar2 [, ...]]

Данный список определяет один или несколько "завершающих" символов, которые должны быть удалены из окончания представленного выражения. Если данный параметр cParseChar отсутствует, то удаляются либо завершающие пробелы, либо завершающие нули (0), из выражения Expression.

Примечание: Максимальное количество удаляемых символов, в указанном списке cParseChar = 23.

Expand image Возвращаемое значение

Данное типа: Character или Varbinary. TRIM( ) возвращает исходное выражение без "завершающих" пробелов, специальных символов, или нуль-символов (0).

Expand image Комментарии

TRIM( ) идентична функции RTRIM( ).

Expand image Пример

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
CLEAR
? 'The contact for '+ TRIM(company) + ' is ' + contact

Expand image См. также

Описание

ALLTRIM( ), функция
LTRIM( ), функция
RTRIM( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


TTOC( ) Function

Visual FoxPro 9.0 Справочник Языка
TTOC () Функция
См. Также Пример

конвертирует выражение DateTime в Символьное значение указанного формата.

TTOC(tExpression [, 1 | 2 | 3])

Параметры

tExpression

Определяет выражение DateTime , чтобы конвертировать в символьную строку. Если tExpression содержит только время, Visual FoxPro добавляет заданную по умолчанию дату 12/30/1899 tExpression . Если tExpression содержит только дату, Visual FoxPro добавляет заданное по умолчанию время 12:00:00 AM (если SET HOURS - 12) или 00:00:00 (если SET HOURS - 24) в tExpression для приведения к допустимому значению DateTime.
1

Возвращмет tExpression в виде символьной строка в формате, подходящем для индексации. Возвращенная символьная строка имеет 14-значный формат, yyyymmddhhmmss, который не зависит от команд SET CENTURY , SET HOURS , или SET SECONDS . Для подробной информации, см. SET CENTURY , SET HOURS , и SET SECONDS .
2

Возвращает tExpression в виде символьной строки, содержащей только часть времени tExpression . Чтобы указать, включить ли секундную части времени в символьную строку, используйте команды SET SECONDS и SET DATE . SET HOURS определяет, добавлен ли AM или PM в конец возвращаемой части времени. Для подробной информации, см. SET DATE и SET HOURS .
Обратите внимание:
Если SET DATE установлена в LONG или SHORT , то формат установок времени в Панели управления Windows, определяет формат символьной строки.

3

Возвращает tExpression в виде символьной строки формата XML DateTime. Символьная возвращенная строка имеет 19-значный формат yyyy-mm-ddThh:mm:ss, который не зависит от параметров настройки SET CENTURY , SET HOURS , или SET SECONDS .

Возвращаемое значение

Символьное. TTOC( ) возвращамет выражение DateTime в виде символьной строки.

Обратите внимание:
При передаче значения 1 или 3 вторым параметром, символьная возвращенная строка не включает обозначения AM или PM, чтобы указать время до или после полудня, соответственно. Вместо этого, строка использует 24-часовой формат, также известный как военное время. Например, время 18:30:00 эквивалентно 06:30:00 PM.

Замечания

Если недопустимое значение передается вторым параметром, TTOC( ) обрабатывает недопустимое значение, как будто бы это было значение 1.

Пример

Следующий пример конвертирует значение DateTime в Символьное значение. STORE сохраняет результаты функции DATETIME( ) , которая возвращает текущую дату и время как значение DateTime в переменной, именуемой gtDateTime. Команда ? отображает текст и результаты функции TYPE( ) , которая возвращает символ T как тип переменной gtDateTime. Функция TTOC( ) конвертирует gtDateTime в символьную строку, и функция TYPE( ) возвращает символ T как текущий тип gtDateTime.

Скопировать код
STORE DATETIME( ) TO gtDateTime
? "gtDateTime has type: "+TYPE('gtDateTime')
gtDateTime = TTOC(gtDateTime)
? "gtDateTime is now type: "+TYPE('gtDateTime')

См. Также

Ссылки

SET HOURS Команда
SET DATE Команда

Другие Ресурсы

DateTime Тип данных
Символьный Тип данных
DATE( ) Функция
DATETIME( ) Функция
HOUR( ) Функция
MINUTE( ) Функция
SEC( ) Функция
SECONDS( ) Функция
TIME( ) Функция
TTOD( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TTOD( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция TTOD( )
Смотрите также Пример
CollapseAll image

Возвращает значение даты, извлекаемое из выражения типа DateTime.

TTOD(tExpression)

Параметры

tExpression

Задает выражение типа DateTime, из которого функция TTOD( ) извлекает значение даты. Вычисление tExpression должно давать допустимое выражение типа DateTime. Если выражение tExpression содержит только время, Visual FoxPro добавляет в него принимаемую по умолчанию дату 30.12.1899, и функция возвращает эту дату.

Expand image Возвращаемое значение

Date

Expand image Пример

В следующем примере создается переменная памяти gtDtime. Функция TYPE( ) возвращает значение T, означающее, что эта переменная имеет тип DateTime. Функция TTOD( ) используется для преобразования типа переменной памяти в тип Date, и теперь TYPE( ) возвращает значение D, означающее, что после преобразования переменная памяти поменяла свой тип на Date.
CopyCode image Скопировать код
STORE DATETIME( ) TO gtDtime  && Creates a Datetime type memory variable
CLEAR
? "gtDtime is type: "
?? TYPE('gtDtime')  && Displays T, Datetime type value

gtDtime = TTOD(gtDtime)     &&  Converts gtDtime to a date value
? "gtDtime is now type: "
?? TYPE('gtDtime')  && Displays D, character type value

Expand image Смотрите также

Справочное руководство

DATE( ), функция
DATETIME( ), функция
HOUR( ), функция
MINUTE( ), функция
SEC( ), функция
SECONDS( ), функция
SET CENTURY, команда
SET SECONDS, команда
TIME( ), функция
TTOC( ), функция

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


TXNLEVEL( ) Function

Visual FoxPro 9.0 Справочник Языка
TXNLEVEL () Функция
См. Также Пример

Возвращает числовое значение, указывающее текущий уровень транзакций.

TXNLEVEL( )

Возвращаемое значение

Числовое

Замечания

Используйте BEGIN TRANSACTION, чтобы создать транзакцию. Транзакции является вложенной, если команда BEGIN TRANSACTION применяется во вермя выполнения другой транзакции. Транзакции могут быть вложены этим способом на пять уровней. Используйте TXNLEVEL( ), чтобы определить текущий уровень транзакций.

TXNLEVEL( ) возвращает значение от 0 до 5. TXNLEVEL( ) возвращается 0, если ни одной транзакции не выполняется.

Пример

В следующем примере, открыта таблица customer базы данных testdata . BEGIN TRANSACTION используется для запуска транзакции, и TXNLEVEL( ) используется, чтобы отобразить значение уровня транзакций (1). BEGIN TRANSACTION снова запущена для инициирования вложенной транзакции, и TXNLEVEL( ) выводит 2 для текущего уровня транзакций.

Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table
CLEAR
BEGIN TRANSACTION
   tLevel = ALLTRIM(STR(TXNLEVEL()))
   =MESSAGEBOX("Current Transaction: " + tLevel, 0, "Trasaction Level")
   BEGIN TRANSACTION
      tLevel = ALLTRIM(STR(TXNLEVEL()))
      =MESSAGEBOX("Current Transaction: " + tLevel, 0, ;
         "Trasaction Level")
   END TRANSACTION
END TRANSACTION

См. Также

Другие Ресурсы

BEGIN TRANSACTION Команда
END TRANSACTION Команда
ROLLBACK Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TXTWIDTH( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция TXTWIDTH( )
Смотрите также
CollapseAll image

Возвращает длину символьного выражения исходя из средней ширины символа для данного шрифта.

TXTWIDTH(cExpression [, cFontName, nFontSize [, cFontStyle]])

Параметры

cExpression

Задает символьное выражение, длину которого возвращает функция TXTWIDTH( ). Если включить только аргумент cExpression, будет возвращена длина символьного выражения для текущего шрифта основного окна Visual FoxPro или активного окна вывода. Непропорциональный шрифт всегда возвращает значение, равное числу символов в выражении cExpression.

Включив необязательные аргументы cFontName, nFontSize and cFontStyle вы сможете определить длину символьного выражения для конкретного шрифта, конкретного размера шрифта или конкретного стиля шрифта.

cFontName

Задает имя шрифта. Включите cFontName, чтобы возвратить длину символьного выражения, набранного конкретным шрифтом.

nFontSize

Задает число, соответствующее размеру шрифта в пунктах. Включите nFontSize, чтобы возвратить длину символьного выражения, набранного шрифтом конкретного размера.

cFontStyle

Задает стиль шрифта для символьного выражения. cFontStyle представляет собой код стиля шрифта, выраженный символом или группой символов. Если аргумент cFontStyle опущен, используется стиль Normal (нормальный). Ниже приведены символы, соответствующие каждому из стилей шрифта:

Символ Стиль шрифта

B

Bold (Полужирный)

I

Italic (Курсив)

N

Normal (Нормальный)

O

Outline (Контурный)

Q

Opaque (Непрозрачный)

S

Shadow (Затененный)

-

Strikeout (Перечеркнутый)

T

Transparent (Прозрачный)

U

Underline (Подчеркнутый)

Можно указать сразу несколько символов, задав комбинацию стилей. Например, код BI задает стиль Bold Italic (полужирный курсив).

Следующая команда отображает сообщение нормальным 24-пунктовым шрифтом Courier с центрированием по горизонтали в главном окне Visual FoxPro:

CopyCode image Скопировать код
@ 25,(WCOLS( )-TXTWIDTH('Hello!','Courier ',24)* ;
   FONTMETRIC(6,'Courier ',24)/FONTMETRIC(6))/2  ;
   SAY 'Hello!' FONT 'Courier ',24

Expand image Возвращаемое значение

Numeric

Expand image Замечания

Функция TXTWIDTH( ) возвращает число символов, которые занимает символьное выражение cExpression, исходя из средней ширины символа данного шрифта (средняя ширина символа шрифта называется фоксел). Для определения средней ширины символа шрифта используйте функцию FONTMETRIC(6).

Если шрифт в функции TXTWIDTH( ) не указан, возвращаемое ею значение определяется текущим шрифтом главного окна Visual FoxPro, если в момент выдачи TXTWIDTH( ) вывод направляется в главное окно Visual FoxPro. Если вывод направляется в пользовательское окно, возвращаемое значение определяется текущим шрифтом этого окна.

Expand image Смотрите также

Справочное руководство

Функция FONTMETRIC( )
Функция GETFONT( )
Функция LEN( )
Функция SYSMETRIC( )
Функция WFONT( )

Прочие ресурсы

Функции
Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


TYPE( ) Function

Visual FoxPro 9.0 Описание Языка
TYPE( ), функция
См. также Пример
CollapseAll image

Возвращает Тип заданного параметром выражения.

Note Примечание

Функция VARTYPE( ) аналогична функции TYPE( ), однако функция VARTYPE( ) быстрее работает и не требует заключение параметра - выражения в кавычки ("").

TYPE(cExpression [, 1])

Параметры

cExpression

Определяет некоторое выражение как символьную строку, тип которого требуется определить, это может быть переменная, массив, поле таблицы, поле типа Memo, или некоторое выражение.

Note Примечание

При определении указанного выше параметра рассматриваемой функции вы должны заключить данный параметр в кавычки (""). Если вы не указаваете данные кавычки, функция TYPE( ) пытается вычислить содержание заданного вами выражения.

1

Определяет опциональный (необязательный) параметр = 1, который уточняет, что заданный параметр cExpression - является массивом или Collection, класс. Системные Объекты COM не поддерживаются данным параметром 1.

Expand image Возвращаемое значение

Символьного типа. TYPE( ) возвращает символ, как основную характеристику Типа заданного выражения.

В следующей таблице представлены символы и соответствующие типы данных, возвращаемые функцией TYPE( ).

Возвращаемый
Символ 		Тип Данных, соответствующий

A

Массив (если задан опциональный параметр 1)

C

Character, Varchar, Varchar (Binary) (Символьный, глобальные символьные типы)

Если указан опциональный параметр 1, в данный тип относятся также Коллекции Collection.

D

Date - дата

G

General - графический

L

Logical - локальный

M

Memo

N

Numeric, Float, Double, or Integer - варианты числового типа

O

Object - объект

Q

Varbinary - двоичный

S

Screen

Note Примечание

Данный тип используется при применении команды SAVE SCREEN. Смотрите дополнительно SAVE SCREEN, команда .

T

DateTime - время

U

Определяет невозможность выявить тип заданного выражения.

Если задан опциональный параметр 1, это означает, что заданное выражение не является Массивом

W

Blob

Y

Currency - денежный

Expand image Комментарии

Если вы определяете в рассматриваемой функции TYPE( ) имя некоторого массива, то возвращается тип Первого элемента массива. Если вам требуется определить тип Данных некоторого элемента массива, нужно указать конкретный элемент массива, как приведено в следующем примере:

CopyCode image Копировать Код
? TYPE("myarray[3]")

Вы можете использовать функцию TYPE( ) для определения некоторой переменной как массива, как указано в следующем примере:

CopyCode image Копировать Код
? TYPE("myarray[1]")#"U"
Note Примечание

TYPE( ) не может быть использована для определения Типа данных возвращаемого значение некоторой пользовательской функции: UDFs (user-defined functions).

Expand image Пример

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
nTest = 1.01
cTest = "String"

CLEAR
? TYPE('customer.contact') && Displays C
? TYPE('(12 * 3) + 4') && Displays N
? TYPE('DATE( )') && Displays D
? TYPE('.F. OR .T.') && Displays L
? TYPE('ANSWER=42') && Displays U
? TYPE('$19.99') && Displays Y
? TYPE('nTest') && Displays N
? TYPE('cTest') && Displays C

Expand image См. также

Описание

EVALUATE( ), функция
VARTYPE( ), функция

Другие ссылки

Типы Данных, переменных и Полей
Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


UNBINDEVENTS( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция UNBINDEVENTS()
Смотрите также Пример
CollapseAll image

Вы можете использовать функцию UNBINDEVENTS() для отвязки или отсоединения события, которое было привязано к объекту Visual FoxPro с помощью функции BINDEVENT(). Для отсоединения события от объектов Component Object Model (COM), используйте функцию EVENTHANDLER(). Имеется три версии синтакиса вызова этой функции.

UNBINDEVENTS(oEventSource, cEvent, oEventHandler, cDelegate)
UNBINDEVENTS(oEventObject)
UNBINDEVENTS(hWnd [, nMessage])

Параметры

oEventSource

указывает источник события, который должен быть полноценным действительным объектом Visual FoxPro.

oEventObject

указывает объектную ссылку, которая может быть использована, как источник события или обработчик события.

cEvent

указывает имя события, метода или свойства, которое вы желаете отсоединить.

oEventHandler

указывает объект, который обслуживает событие.

cDelegate

указывает уполномоченный метод (метод-делегат), обрабатывающий событие для oEventHandler.

hWnd

указывает целочисленное значение дескриптора окна, для которого отсоединяется событие.

Если hWnd передано значение 0, отсоединяются все дескрирторы окон.

Если параметр nMessage parameter не включе в состав команды, то тогда происходит отсоединение всех привязок Windows message bindings для окна с дескриптором hWnd.

nMessage

Указывает действительное сообщение Windows message (Win Msg), привязку к которому нужно высвободить.

Expand image Возвращаемое значение

Численный тип данных. UNBINDEVENTS() возвращает число событий, которые отсоединены, если операция отсоединения прошла успешно. UNBINDEVENTS() возвращает значение 0, если не имеется событий, которые необходимо отсоединить. Visual FoxPro генерирует ошибку, в случае если UNBINDEVENTS() не в состоянии отсоединить событие, которое доступно для этой операции.

Expand image Примечания

В приведенной ниже таблице описываются способы использования UNBINDEVENTS( ).

Синтаксис | Действие
UNBINDEVENTS(oEventSource, cEvent, oEventHandler, cDelegate) | Отсоединяет указанное событие от обработчика событий.
UNBINDEVENTS(oEventObject) | Отсоединяет все события, ассоциированные с этим объектом. Это включает события, которые привязаны к нему, как источнику события и его методы-делегаты, которые подавались, как обработчики события.
UNBINDEVENTS(hWnd [, nMessage]) | Отсоединяет все или конкретные события Windows Message (Win Msg).

Если произошло событие, а метод UNBINDEVENTS() вызван или вызван метод-делегат, обрабатывающий событие, событие и метод-делегат завершатся до того, как функция UNBINDEVENTS( ) отсоединит событие.

Вы можете вызвать функцию AEVENTS() для извлечения информации обо всех событиях и методах-делегатах, присоединенных к конкретному объекту.

Expand image Пример

В приведенном примере показано, как откатить назад вызов , который поддерживает позиционирование с правой стороны рабочего стола Visual FoxPro, в независимости от того, каким способ изменяются размеры рабочего стола. UNBINDEVENTS() отсоединяет событие системной переменной _SCREEN от объекта oHandler:
CopyCode image Скопировать код
PUBLIC oHandler
oHandler=NEWOBJECT("myhandler")
DO (_browser)
BINDEVENT(_SCREEN,"Resize",oHandler,"myresize")
UNBINDEVENTS(_SCREEN,"Resize",oHandler,"myresize")

DEFINE CLASS myhandler AS Session
   PROCEDURE myresize
   _obrowser.left = _SCREEN.Width - _obrowser.width
   RETURN
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Функция AEVENTS()
Функция BINDEVENT()
Функция EVENTHANDLER()
Функция RAISEEVENT()
SYS(2325) - WCLIENTWINDOW из Visual FoxPro WHANDLE
SYS(2326) - WHANDLE из a Window's hWnd
SYS(2327) - Window's hWnd из Visual FoxPro WHANDLE

Концепции

Привязка событий для объектов Visual FoxPro

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


UNIQUE( ) Function

Visual FoxPro 9.0 Описание Языка
UNIQUE( ), функция
См. также
CollapseAll image

Включена для совместимости с системой dBASE.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


UPPER( ) Function

Visual FoxPro 9.0 Описание Языка
UPPER( ), функция
См. также Пример
CollapseAll image

Возвращает заданное символьное выражение, преобразованное в Верхний регистр (заглавными буквами).

UPPER(cExpression)

Параметры

cExpression

Определяет символьное выражение, которое функция UPPER( ) конвертирует в верхний регистр (заглавными буквами).

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

Каждый прописной символ (a – z, а,б - я) в заданном символьном выражении преобразуется в соответствующий символ верхнего регистра (A – Z, А,Б - Я). Данное преобразование выполняется для все символов, включая "национальные", "акцентированные" символы, которые в зависимости от текущего шрифта могут отображаться малыми (прописными) буквами.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? UPPER('abcdefgh')  && отображается ABCDEFGH

Expand image См. также

Описание

ISLOWER( ), функция
ISUPPER( ), функция
LOWER( ), функция
PROPER( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


USED( ) Function

Visual FoxPro 9.0 Описание Языка
USED( ) Функция
См. также Пример
CollapseAll image

Определяет, открыт ли указанный алиас или таблица в указанной рабочей области.

USED([nWorkArea | cTableAlias])

Параметры

nWorkArea| cTableAlias

Определяет рабочую область или алиас таблицы. Функция USED( ) логическую величину = true (.T.) если таблица открыта в указаннгой рабочей области nWorkArea; в противном случае возвращается значение = false (.F.). Функция USED( ) возвращает true (.T.) если уже используется указанный алиас cTableAlias; в противном случае возвращается значение = false (.F.).

Если Вы не указываете параметр nWorkArea или cTableAlias, функция USED( ) возвращает true (.T.) имеется открытая таблица в текущей рабочей области; в противном случае возвращается значение = false (.F.).

Expand image Возвращаемое Значение

Типа Logical

Expand image Комментарии

С помощью функции USED( ) можно определить используется ли указанный алиас или открыта ли таблица в указанной рабочей области.

Expand image Пример

CopyCode image Копировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
SELECT A
USE customer  && Opens Customer table
SELECT B
USE orders  && Opens Orders table
SELECT C
USE employee  && Opens Employee table
? USED('A')  && Displays .T.
? USED('B')  && Displays .T.
? USED(4)  && Displays .F.

Expand image См. также

Описание

ALIAS( ) Функция
SELECT( ) Функция
AUSED( ) Функция

Другие Ссылки

Функции
Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


VAL( ) Function

Visual FoxPro 9.0 справочник по языку
Функция VAL( )
Смотрите также Примеры

Возвращяет числовое или денежное значение из символьного выражения состоящего из чисел. Вы можете использовать VAL( ) для конвертации символьной строки возвращаемой функциями Visual FoxPro SYS( ) в числовое значение.

VAL(cExpression)

Параметры

cExpression

Задает символьное выражение, состоящее не более чем из 16 цифр. Если cExpression включает более 16 цифр, значение округляется. Если первый символ в cExpression символ долара ($),VAL( ) возвращяет значение в денежном (currency) формате. Во всех других ситуациях VAL( ) возвращяет числовое значение.

Возвращяемое значение

Числовой или денежный тип данных. VAL( ) возвращяет число из символьного выражения слева на право до первого не числового символа. Ведущие пробелы игнорируются. VAL( ) возвращяет 0 если первый символ в символьном выражении не число, или символ долара ($), или символ плюс (+), или символ минус (-). Вы можете управлять результатом VAL( ) используя соманду SET DECIMALS до использования функции VAL( ).

Example

Копировать код
CLEAR
STORE '12' TO A
STORE '13' TO B
? VAL(A) + VAL(B)  && Displays 25.00
STORE '1.25E3' TO C
? 2 * VAL(C)  && Displays 2500.00

Смотрите также

Другие ресурсы

Команда SET DECIMALS
Функция STR( )
Обзор функций SYS( )
Функции
Описание языка

Перешлите коментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


VARTYPE( ) Function

Visual FoxPro 9.0 Описание Языка
VARTYPE( ), функция
См. также
CollapseAll image

Возвращает тип данных заданного выражения, или идентификатора.

Note Примечание

VARTYPE( ) соответствует функции TYPE( ), однако функция VARTYPE( ) работает значительно быстрее и не требует заключение выражения или идентификатора в кавычки ("").

VARTYPE(eExpression [, lNullDataType])

Параметры

eExpression

Определяет некоторое выражение или идентификатор, тип данных которого требуется определить. VARTYPE( ) возвращает один символ в верхнем регистре ("C","N","D"...), идентифицирующий тип заданного выражения.

В следующей таблице описываются типы данных, возвращаемые функцией VARTYPE( ).

Возвращаемое Значение Тип Данных

C

Character, Memo, Varchar, Varchar (двоичный)

D

Date

G

General

L

Logical

N

Numeric, Float, Double, или Integer

O

Object (Объект)

Q

Blob, Varbinary

T

DateTime

U

Неопределенный (Unknown) тип данных, или переменная отсутствует, не определена

X

Null

Y

Currency
Note Примечание

Если заданное выражение eExpression является Массивом, то определяется тип первого элемента данного массива.

lNullDataType

Определяет вид возвращаемого функцией VARTYPE( ) значения типа данных выражения eExpression, содержащего = null.

В следующей таблице представлены допустимые значения параметра lNullDataType.

lNullDataType Краткое Описание

True (.T.)

Возвращается (истинный) тип выражения или идентификатора eExpression.

False (.F.), или отсутствует (по-умолчанию)

Возвращается символ 'X', указавающий, что значение выражения eExpression = null.

Expand image Возвращаемое значение

Символьного типа. VARTYPE( ) возвращает специальный символ ("C","N","D"...), характеризующий тип данных заданного выражения или идентификатора.

Expand image См. также

Описание

EVALUATE( ), функция
TYPE( ), функция

Другие ссылки

Типы Данных и Полей
Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


VERSION( ) Function

Visual FoxPro 9.0 Описание Языка
VERSION( ), Функция
См. также Пример
CollapseAll image

Возвращает различную информацию о текущей версии программного продукта Visual FoxPro.

VERSION(nExpression)

Параметры

nExpression

Определяет дополнительный параметр, уточняющий характер возвращаемой функцией VERSION( ) информации о программном продукте Visual FoxPro. Если данный параметр отсутствует, nExpression, VERSION( ) возвращает номер версии Visual FoxPro.

В следующей таблице описаны различные допустимые значения данного параметра nExpression, и выдаваемая соответствующая итнформация о системе Visual FoxPro.

nExpression Дополнительная информация о системе Visual FoxPro

1

Дата продукта Visual FoxPro и серийный номер.

2

Тип версии системы Visual FoxPro:

0 - текущая версия RunTime

1 - Standard Edition (для младших версий)

2 - Professional Edition (для младших версий)

3

Локализация системы Visual FoxPro. В следующей таблице представлены возможные варианты локализации системы:

00 - English

07 - Russian

33 - French

34 - Spanish

39 - Czech

48 - German

55 - Korean

86 - Simplified Chinese

88 - Traditional Chinese

4

Полный номер версии системы Visual FoxPro, в стандартном представлении.

Для версий Visual FoxPro, младше 8.0, стандартным являлся формат версии "MM.mm.0000.DDDD", где MM - главный номер версии, mm - дополнительный, младший номер версии, 0000 - стандартный заполнитель, DDDD - номер дня сборки текщей версии продукта от дня появления главной версии.

Для версии Visual FoxPro 8.0, формула вычисления реквизита DDDD следующая: 8000 + количество дней с начала 1998 года. Например, 8397 соответствует 1 февраля 1999 года.

Для системы Visual FoxPro 9.0, формула вычисления реквизита версии DDDD следующая: количество месяцев, начиная с 1 января 2003 года плюс номер дня сборки текущей версии продукта. Напроимер, 2215 соответствует 15 октября 2004 года.

В общем случае, для версий системы Visual FoxPro 8.0 и 9.0 формат номера версии: "MM.mm.0000.NNNN" обычно означает: MM - главный номер, mm - младший номер версии, 0000 - заполнитель, and NNNN - номер сборки исполнимого файла.

5

Для определения номера версии Visual FoxPro в укороченном формате, как Mmm, где M - главный номер, mm - младший номер версии. Например, VERSION(5) возвращает 700, для версии системы Visual FoxPro 7.0.

Expand image Возвращаемое значение

Символьного и Числового типа

Expand image Комментарии

Рассматриваемая функция VERSION( ) обычно используется для формирования специфических блоков программного кода, который может отличаться для различных версий системы разработки.

VERSION( ),
VERSION(1), VERSION(3), and VERSION(4) возвращает символьные строки;
VERSION(2) and VERSION(5) возвращают числовые значения.

Expand image Пример

CopyCode image Копировать Код
CLEAR
? VERSION( )
? VERSION(1)
? VERSION(2)
? VERSION(3)
? VERSION(4)
? VERSION(5)

Expand image См. также

Описание

GETCP( ), Функция
GETENV( ), Функция
OS( ), Функция
AGETFILEVERSION( ), Функция

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


WBORDER( ) Function

Visual FoxPro 9.0 Описание Языка
WBORDER( ), функция
См. также
CollapseAll image

Определяет, имеет ли активное или заданное окно границу.

WBORDER([WindowName])

Параметры

WindowName

Определяет имя окна, для которого функция WBORDER( ) возвращает логическое значение.

Если данный параметр отсутствует, то функция WBORDER( ) возвращает логическое значение для текущего (активного) окна.

Expand image Возвращаемое значение

Логического типа

Expand image Комментарии

WBORDER( ) возвращает значение = true (.T.), если заданное окно имеет границу; в другом случае возвращается значение = false (.F.). По-умолчанию, каждое окно имеет границу. Для создания окна без границы используйте опцию NONE в команде DEFINE WINDOW .

Expand image См. также

Описание

ACTIVATE WINDOW, команда
DEFINE WINDOW, команда
SET BORDER, команда

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


WCHILD( ) Function

Visual FoxPro 9.0 Описание Языка
WCHILD( ), функция
См. также
CollapseAll image

Возвращает число дочерних окон в родительском окне или имена дочерних окон в порядке их размещения в родительском окне.

WCHILD([WindowName] [nChildWindow])

Параметры

WindowName

Задает окно (отличное от активного окна вывода), для которого функция WCHILD( ) возвращает число дочерних окон. Если задано имя окна без числового выражения nChildWindow, возвращается только число дочерних окон заданного окна. Если задать оба аргумента, WindowName и nChildWindow, WCHILD( ) возвращает имена дочерних окон в заданном окне. Если вы задали оба аргумента, разделите их запятой.
Также вы можете использовать пустую строку для WindowName, чтобы задать главное окно Visual FoxPro.

nChildWindow

Задает числовое выражение, предписывающее возвратить имена дочерних окон в активном окне вывода, если опущен аргумент WindowName. Числовое выражение nChildWindow может задавать 0 или произвольное положительное число. Если значение nChildWindow равно 0, возвращается имя дочернего окна со дна стека дочерних окон текущего окна вывода.
Если nChildWindow задает положительное число, функция WCHILD( ) возвращает имя следующего дочернего окна в стеке окон. Если вы снова выполните WCHILD( ) с положительным числом, будет возвращено имя следующего дочернего окна из стека и т.д. Если число вызовов функции WCHILD( ) превысит количество дочерних окон в родительском окне, возвращается пустая строка.

Смотрите дополнительно раздел ACTIVATE WINDOW.
Note Примечание

В Visual FoxPro, FoxPro для Windows и FoxPro для MS-DOS когда активно основное окно FoxPro, все окна являются дочерними по отношению к нему. В Visual FoxPro панели инструментов, не зафиксированные у границы основного окна FoxPro, являются его потомками. При выдаче серии функций WCHILD( ) с положительными числами возвращаются имена активных окон и панелей инструментов. В FoxPro для Macintosh дочерние окна основного окна Visual FoxPro образуются только при выдаче команды DEFINE WINDOW или ACTIVATE WINDOW с предложением IN SCREEN.

Если вы задали оба аргумента, WindowName и nChildWindow, разделите их запятой.

Expand image Возвращаемое значение

Символьного или Числового типа

Expand image Комментарии

Вы можете создать окно и разместить внутри него другие окна; первое окно будет родительским, а находящиеся в нем - дочерними. Чтобы создать дочернее окно внутри родительского, можно воспользоваться командой DEFINE WINDOW с предложением IN или IN WINDOW. Дочернее окно, созданное и активизированное внутри родительского окна, не может быть выдвинуто за пределы последнего. При перемещении родительского окна дочернее окно движется вместе с ним.
Если выдать функцию WCHILD( ) без аргументов, возвращается число дочерних окон в активном окне вывода.

См. также

Описание

ACTIVATE WINDOW, команда
DEFINE WINDOW, команда
WPARENT( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


WCOLS( ) Function

Visual FoxPro 9.0 Справочник Языка
WCOLS () Функция
См. Также Пример

Возвращает количество столбцов в пределах активного или указанного окна.

WCOLS([WindowName])

Параметры

WindowName

Определяет окно, для которого WCOLS( ) возвращает количество столбцов. В Visual FoxPro, Вы можете также определить имя инструментальной панели. Если Вы не определяете окно, возращается количество столбцов в активном окне вывода. Если никакое окно не активно, WCOLS( ) возвращает количество столбцов в главном окне Visual FoxPro. Вы можете определить имя системного окна (окно Command, окно Data Session, окно Browse, и так далее) в WCOLS( ), если системное окно было активизировано и является видимым или скрытым. В Visual FoxPro, Вы могли определить имя инструментальной панели (инструментальная панель Standard, инструментальная панель Color Palette, и так далее) в WCOLS( ), если инструментальная панель была активизирована и является видимой или скрытой. Если Вы определяете имя системного окна или инструментальной панели, которая не была активизирована, Visual FoxPro генерирует сообщение об ошибке. Окно Debug - исключение. Как только окно Debug было открыто, его имя может быть включено в WCOLS( ), если оно видимо, скрыто или закрыто. Вы можете также включить пустую строку как имя окна, чтобы возвратить количество столбцов в главном окне Visual FoxPro. Пустая строка может использоваться, чтобы определить главное окно Visual FoxPro в функциях типа WLCOL( ), WLROW( ), и WROWS( ), которые возвращают местоположения окна или его размеры.

Возвращаемое значение

Числовое

Замечания

В Visual FoxPro, значение, возвращенное WCOLS( ) зависит от шрифта, указанного для окна. Многие шрифты могут быть отображены в широком разнообразии размеров (непропорциональные - ред.), а некоторые размечены пропорционально. Столбец соответствует средней ширине символа в текущем шрифте. Для подробной информации, см. тему Краткий обзор Шрифтов .

Пример

Следующий пример выравнивает по центру вывод короткого сообщения в последней строке окна неизвестного размера.

Скопировать код
CLEAR
DO SendMesg WITH 'Message', WCOLS( ), WROWS( ) –1
*** SendMesg ***
PROCEDURE SendMesg
PARAMETERS gcMsg, gnCol, gnRow
STORE (gnCol – LEN(gcMsg))/2 TO gnCol
@ gnRow, gnCol SAY gcMsg
RETURN

См. Также

Другие Ресурсы

SCOLS( ) Функция
SROWS( ) Функция
WLCOL( ) Функция
WLROW( ) Функция
WROWS( ) Функция
Краткий обзор Шрифтов
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WDOCKABLE( ) Function

Visual FoxPro 9.0 Справочник Языка
WDOCKABLE () Функция
См. Также

Возвращает состояние dockable (поддерживающее пристыковку) указанного окна

WDOCKABLE(cWindowName [, lEnable])

Параметры

cWindowName

Определяет имя окна.
lEnable

Определяет состояние dockable для окна, указанного в параметре cWindowName . Если указанное окно не поддерживает пристыковку, то Visual FoxPro игнорирует параметр lEnable .

Возвращаемое значение

Логический тип данных. Возвращает текущее состояние dockable для указанного окна.

Замечания

Функция WDOCKABLE( ) всегда возвращает Ложь (.F). для окон, не поддреживающих пристыковку. Используйте функцию WDOCKABLE( ) для окон Visual FoxPro, которые поддерживают пристыковку. Для списка окон Visual FoxPro, поддерживающих пристыковку, см. Как: Пристыковать Окно .

См. Также

Другие Ресурсы

Windows
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WEEK( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция WEEK( )
Смотрите также Пример
CollapseAll image

Возвращает число, представляющее номер недели в году, извлекая его из выражения типа Date или DateTime.

WEEK(dExpression | tExpression [, nFirstWeek] [, nFirstDayOfWeek])

Параметры

dExpression| tExpression

Задает выражение типа Date или DateTime, из которого функция WEEK( ) извлекает номер недели в году.

Если необязательные аргументы nFirstWeek и nFirstDayOfWeek опущены, функция WEEK( ) считает первым днем недели воскресенье.

[, nFirstWeek]

Задает требования, относящиеся к первой неделе года. В следующей таблице перечислены значения, которые может принимать параметр nFirstWeek.

nFirstWeek Описание

0

Определяет, что функция WEEK( ) возвращает номер недели исходя из установки First Week of Year на вкладке Regional диалогового окна Options.

1

Первой считается неделя, на которую приходится 1 января. Это значение принимается по умолчанию, если параметр nFirstWeek опущен.

2

Первой считается неделя, большая часть которой (четыре дня) приходится на текущий год.

3

Первой считается полная неделя из семи дней.
[, nFirstDayOfWeek]

Задает первый день недели. В следующей таблице перечислены значения, которые может принимать параметр nFirstDayOfWeek.

nFirstDayOfWeek Описание

0

Определяет, что функция WEEK( ) возвращает номер недели исходя из установки Week Starts on на вкладке Regional диалогового окна Option.

1

Воскресенье. Это значение принимается по умолчанию, если параметр nFirstDayOfWeek опущен, и оно же применялось в предыдущих версиях FoxPro.

2

Понедельник

3

Вторник

4

Среда

5

Четверг

6

Пятница

7

Суббота

Expand image Возвращаемое значение

Numeric. Функция WEEK( ) возвращает число, представляющее номер недели в году.

Expand image Замечания

Функция WEEK( ) возвращает число из диапазона от 1 до 53, представляющее номер недели в году. Например, для первой недели года WEEK( ) возвратит 1, для второй недели - 2 и т.д. Следует отметить, что неделя может быть разбита на части, относящиеся к разным годам; первая неделя года, например, может начаться в предыдущем году, а закончиться в текущем.

Expand image Пример

В следующем примере отображаются номера недели года для сегодняшней даты и для определенной даты.
CopyCode image Скопировать код
CLEAR
? WEEK(DATE( ))
? WEEK({^1998-02-16})  && Displays 8

Expand image Смотрите также

Справочное руководство

CDOW( ), функция
DAY( ), функция
DOW( ), функция
SET FDOW, команда
SET FWEEK, команда
SYS( ) краткий обзор Функций

Прочие ресурсы

Функции

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


WEXIST( ) Function

Visual FoxPro 9.0 Language Reference
Функция WEXIST( )
See Also Example

Определяет, существует ли заданное пользовательское окно.

WEXIST(WindowName)

Параметры

WindowName

Задает имя пользовательского окна. Вы можете задать имя системного окна Visual FoxPro (окна Command, окна представления, окна просмотра (Browse), и т.д.), а в Visual FoxPro - имя панели инструментов. Если заданное системное окно или панель инструментов видимы или скрыты WEXIST( ) вернет "истину" true (.T.). Если заданное системное окно или панель инструментов закрыты WEXIST( ) вернет "ложь" (.F.) Исключение составляют окна Command и окно отладки (Debug windows). Если задать в фунции WEXIST( ) окно Command, всегда возвращается значение "истина". Если окно отладки было открыто, WEXIST( ) вернет "истину", даже если окно отладки закроется.

Результат

Логический

Комментарии

WEXIST( ) возвращает значение "истина" (.T.), если заданное пользовательское окно было создано с помощью команды DEFINE WINDOW; в противном случаеe WEXIST( ) вернет значение "ложь" (.F.). Заданное окно не обязательно должно быть активным или видимым, чтобы WEXIST( ) вернул значение "истина" (.T.), окно должно существовать.

Пример

Copy Code
DEFINE WINDOW wScreen1 FROM 10,10 TO 20,69
DEFINE WINDOW wScreen2 FROM 1,0 TO 19,79
CLEAR

? WEXIST('wScreen1')  && Displays .T.
STORE 'wScreen2' TO gcWinName
? WEXIST('win_name')  && Displays .F.
? WEXIST(gcWinName)  && Displays .T.
RELEASE WINDOWS wScreen1, wScreen2

Смотреть также

Другие ресурсы

ACTIVATE WINDOW Command
DEFINE WINDOW Command
WONTOP( ) Function
WOUTPUT( ) Function
WVISIBLE( ) Function
Functions
Language Reference

Отослать комментарии по этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


WFONT( ) Function

Visual FoxPro 9.0 Справочник Языка
WFONT () Функция
См. Также Пример

Возвращает имя, размер, или стиль текущего шрифта для окна в Visual FoxPro для Windows.

WFONT(nFontAttribute [, WindowName])

Параметры

nFontAttribute

Определяет атрибут шрифта, который Вы хотите возвратить. Если nFontAttribute равен 1, WFONT( ) возвращает имя текущего шрифта для активного или указанного окна. Если nFontAttribute равен 2, WFONT( ) возвращает размер шрифта. Если nFontAttribute равен 3, WFONT( ) возвращает код, который идентифицирует начертание шрифта. Код начертания шрифта - символ или набор символов, которые соответствуют текущему начертанию шрифта. Например, текущее начертание шрифта - Полужирный курсив, если WFONT(3) возвращает BI. Следующая таблица перечисляет коды для каждого начертания шрифта:

Символ Начертание шрифта

B

Полужирный

I

Курсив

N

Нормальный

O

Контурный

Q

Непрозрачный

S

Тень

-

Зачеркнутый

T

Прозрачный

U

Подчеркнутый

WindowName

Определяет имя окна, для которого Вы хотите определить текущий шрифт, размер шрифта, или начертание шрифта. В Visual FoxPro, Вы можете также включить имя инструментальной панели. Включите пустую строку, чтобы возвратить текущий шрифт, размер шрифта, или начертание шрифта для главного окна Visual FoxPro. WindowName может быть именем определяемого пользователем окна, созданного командой DEFINE WINDOW или окна редактирования текста или мемо. Вы можете также включить имя системного окна (Представления, Трассировки, Отладки, и так далее). WFONT( ) может вернуть аттрибуты шрифта только для системного окна, которое было открыто и в настоящее время видимо или скрыто. Если системное окно, которое Вы определяете, закрыто, Visual FoxPro генерирует сообщение об ошибке. WFONT( ) возвращает текущий шрифт, размер шрифта или начертание шрифта для активного окна вывода, если Вы опускаете WindowName .

Возвращаемое значение

Символьное и Числовое

Пример

Следующий пример создает определяемое пользователем окно по имени wFontChar . Окно активизировано, и характеристики его шрифта отображены в окне. Характеристики шрифта для главного окна Visual FoxPro отображаются вслед за этим.

Скопировать код
CLEAR
DEFINE WINDOW wFontChar ;
   FROM 1,1 TO 3,35 ;
   FONT 'MS SANS SERIF',8 ;
   STYLE 'BI'  && Define window with font and style
ACTIVATE WINDOW wFontChar
? WFONT(1), WFONT(2), WFONT(3)  && wFontChar window
ACTIVATE SCREEN
?
?
?
? 'Font characteristics for the window wFontChar'
?
?
? WFONT(1,''), WFONT(2,''), WFONT(3,'')  && Main Visual FoxPro window
?
? 'Font characteristics for the main Visual FoxPro window'
WAIT WINDOW
RELEASE WINDOW wFontChar
CLEAR

См. Также

Другие Ресурсы

FONTMETRIC( ) Функция
GETFONT( ) Функция
SYSMETRIC( ) Функция
TXTWIDTH( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WLAST( ) Function

Visual FoxPro 9.0 Описание Языка
WLAST( ), функция
См. также
CollapseAll image

Возвращает имя окна, которое было активно до момента, когда стало активным текущее окно; или определяет: было ли активно указанное окно до момента активации текущего окна (wlast - последнее активное окно).

WLAST([WindowName])

Параметры

WindowName

Определяет имя окна, для которого выполняется функция WLAST( ). В системе Visual FoxPro, вы можете указывать в качестве данного параметра имя некоторого Toolbar. WLAST( ) возвращает значение = true (.T.), если указанное окно было активным перед текущим активным окном; в другом случае возвращается значение = false (.F.). Значение = False (.F.) возвращается также для случая, когда указанное окно отсутствует.

Если данный параметр отсутствует, то возвращается имя последнего активного окна (до текущего окна).

Expand image Возвращаемое значение

Символьного или Логического типа

Expand image Комментарии

Функция WLAST( ) возвращает пустую строку, если последним активным окном являлись системные окна Debug, Trace, или Command. При выполнении программного модуля в режиме Отладки, использование данной функции не имеет никакого эффекта, так как перед стартом модуля - активным являлось одно из системных окон Отладчика.

Expand image См. также

Описание

ACTIVATE WINDOW, команда
DEFINE WINDOW, команда
WEXIST( ), функция
WONTOP( ), функция
WOUTPUT( ), функция
WVISIBLE( ), функция

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


WLCOL( ) Function

Visual FoxPro 9.0 Справочник Языка
WLCOL () Функция
См. Также

Возвращает координату столбца левого верхнего угла активного или указанного окна.

WLCOL([WindowName])

Параметры

WindowName

Определяет окно, для которого WLCOL( ) возвращает координату столбца. В Visual FoxPro, Вы можете также определить имя инструментальной панели. Если Вы опускаете WindowName , WLCOLS( ) возвращает координату столбца активного окна вывода. Вы можете также использовать пустую строку для WindowName, для определения главного окна Visual FoxPro. В Visual FoxPro, если отсутствует активное окно, WLCOLS( ) возвращает координату столбца главного окна Visual FoxPro относительно рабочего стола Windows. Если системное окно (окно Command, окно Data Session, окно Browse, и так далее) было открыто и является видимым или скрытым (его имя появляется в меню Window), Вы можете задать его имя в WLCOL( ). Если Вы определяете имя системного окна, которое закрыто, Visual FoxPro генерирует сообщение об ошибке. Окно Debug - исключение. Как только окно Debug было открыто, его имя может быть задано в WLCOL( ), если оно видимо, скрыто, или закрыто.

Возвращаемое значение

Числовое

Замечания

Значение, возвращенное WLCOL( ) зависит от текущего видео режима монитора, и - относительно главного окна Visual FoxPro. Режим монитора может быть изменен командой SET DISPLAY.

Окна могут быть позиционированы вне главного окна Visual FoxPro. Если указанное окно находится влево от главного окна Visual FoxPro, WCOL( ) возвращает отрицательное значение. Если левая граница окна находится вправо от главного окна Visual FoxPro, WCOL( ) возвращает положительное значение, превышающее ширину главного окна Visual FoxPro.

См. Также

Другие Ресурсы

SET DISPLAY Команда
WCOLS( ) Функция
WLROW( ) Функция
WROWS( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WLROW( ) Function

Visual FoxPro 9.0 Справочник Языка
WLROW () Функция
См. Также

Возвращает координату строки левого верхнего угла активного или указанного окна.

WLROW([WindowName])

Параметры

WindowName

Определяет окно, для которого WLROW( ) возвращает координату строки. В Visual FoxPro, Вы можете также определить имя инструментальной панели. Если Вы опускаете WindowName , WLROW( ) возвращает координату строки активного окна вывода. Вы можете также использовать пустую строку для WindowName , чтобы определить главное окно Visual FoxPro. В Visual FoxPro, если никакое окно не активно, WLROW( ), возвращает координату строки главного окна Visual FoxPro относительно рабочего стола Windows. Если системное окно (окно Command, окно Data Session, окно Browse, и так далее) было открыто и видимо или скрыто (его имя появляется в меню Window), Вы можете включить его имя в WLROW( ). Если Вы определяете имя системного окна, которое закрыто, Visual FoxPro генерирует сообщение об ошибке. Окно Debug - исключение. Как только окно Debug было открыто, его имя может быть включено в WLROW( ), если оно видимо, скрыто или закрыто.

Возвращаемое значение

Числовое

Замечания

Значение, возвращенное WLROW( ) зависит от текущего видео режима монитора, а координата строки - относительно главного окна Visual FoxPro. Режим монитора может быть изменен с помощью SET DISPLAY.

Окна моут быть позиционированы вне главного окна Visual FoxPro. Если вершина окна - выше главного окна Visual FoxPro, WLROW( ) возвращает отрицательное значение. Если вершина окна - ниже основания главного окна Visual FoxPro, WLROW( ) возвращает положительное значение, большее чем высота главного окна Visual FoxPro.

См. Также

Другие Ресурсы

SET DISPLAY Команда
WCOLS( ) Функция
WLCOL( ) Функция
WROWS( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WMAXIMUM( ) Function

Visual FoxPro 9.0 Справочник Языка
WMAXIMUM () Функция
См. Также

Определяет, развернуто ли активное или указанное окно.

WMAXIMUM([WindowName])

Параметры

WindowName

Определяет имя окна, которое вычисляется WMAXIMUM( ). Вы можете определить имя окна системы Visual FoxPro (окно Command, окно Data Session, окно Browse, и так далее). Если Вы опускаете WindowName , WMAXIMUM( ) возвращает логическое значение для активного окна. Вы можете также использовать пустую строку для WindowName для определения главного окна Visual FoxPro.

Замечания

Окна могут быть расширены, чтобы заполнить окно, которое их содержит. В Visual FoxPro для Windows, заданное по умолчанию контейнерное окно - главное окно.

Определяемое пользователем окно, созданное командой DEFINE WINDOW может быть развернуто, только если ключевое слово ZOOM включено при его определении.

WMAXIMUM( ) возвращает истину (.T.), если текущее или указанное окно развернуто; иначе WMAXIMUM( ) возвращает ложь (.F).. В Visual FoxPro, Вы можете включить имя инструментальной панели. Однако, WMAXIMUM( ) всегда возвращает ложь (.F.) для инструментальной панели, потому что инструментальные панели не могут быть развернуты.

См. Также

Другие Ресурсы

DEFINE WINDOW Команда
WMINIMUM( ) Функция
ZOOM WINDOW Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WMINIMUM( ) Function

Visual FoxPro 9.0 Справочник Языка
WMINIMUM () Функция
См. Также

Определяет, свернуто ли активное или указанное окно.

WMINIMUM([WindowName])

Параметры

WindowName

Определяет имя окна, которое обрабатывается функцией WMINIMUM( ). Вы можете определить имя системного окна Visual FoxPro (окно Command, окно Data Session, окно Browse, и так далее). Если Вы опускаете WindowName , WMINIMUM( ) возвращает логическое значение для активного окна. Вы можете также включить пустую строку в WindowName для задания главного окна Visual FoxPro.

Возвращаемое значение

Логическое

Замечания

В Visual FoxPro для Windows, окна могут быть уменьшены до значка.

Определяемое пользователем окно, созданное командой DEFINE WINDOW может быть свернуто, только если ключевое слово MINIMIZE включено в его определении.

WMINIMUM( ) возвращает истину (.T.), если текущее или указанное окно свернуто; иначе она возвращает ложь (.F.). В Visual FoxPro, Вы можете включить имя инструментальной панели. Однако, WMINIMUM( ) всегда возвращает ложь (.F). для инструментальной панели, потому что инструментальные панели не могут быть свернуты.

См. Также

Другие Ресурсы

DEFINE WINDOW Команда
WMAXIMUM( ) Функция
ZOOM WINDOW Команда
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WONTOP( ) Function

Visual FoxPro 9.0 Language Reference
Функция WONTOP( )
Смотреть также Пример

Определяет, находится ли активное или заданное окно впереди всех остальных окон.

WONTOP([WindowName])

Parameters

WindowName

Задает имя окна, проверяемого функцией WONTOP( ). Можно задать имя пользовательского окна, созданного с помощью команды DEFINE WINDOW, или системного окна (окна команд, окна представления, окна просмотра и т.д.). Если аргумент WindowName опущен, WONTOP( ) возвращает имя окна, находящегося впереди всех окон. Также вы можете использовать пустую строку для WindowName, чтобы задать главное окно Visual FoxPro. Если на переднем плане находится окно отладки, окно трассировки или окно Command и вы не задали имени окна, функция WONTOP( ) возвращает пустую строку. В процессе отладки программы, использующей функцию WONTOP( ), на работу программу не влияет перевод этих системных окон на передний план.

Результат

Символьный или логический

Замечания

Функция WONTOP( ) возвращает значение "истина" (.T.), если заданное окно находится на переднем плане. Если окно находится не на переднем плане или не существует вообще, возвращается значение "ложь" (.F.).

По традиции предыдущих версий Visual FoxPro, окно Data Session всегда упоминалось как окно View. Дополнительно, управление этим окном осуществлялось, командами HIDE WINDOW, ACTIVATE WINDOW, WONTOP( ), также именует это окно как окно View. Visual FoxPro продолжает обращаться к окну View для функции WONTOP( ) .

Пример

В данном примере с помощью функции WONTOP( ) отображается имя окна переднего плана. Перед запуском этой программы откройте какие-либо системные окна (окна просмотра, окно представления и т.д.).
Копировать код
IF NOT EMPTY(WONTOP( ))
   WAIT WINDOW 'Frontmost window: ' + WONTOP( )
ELSE
   WAIT WINDOW 'No windows are open'
ENDIF

Смотреть также

Другие ресурсы

Команда ACTIVATE WINDOW
Команда DEFINE WINDOW
Функция WEXIST( )
Функция WOUTPUT( )
Функция WVISIBLE( )
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Function WOUTPUT( )

Visual FoxPro 9.0 Language Reference
Функция WOUTPUT( )
Смотреть также Пример

Определяет, направлен ли вывод в активное или заданное окно.

WOUTPUT([WindowName])

Параметры

WindowName

Задает окно, которое проверяет функция WOUTPUT( ). Вывод нельзя направить в системное окно или в панель инструментов. Если аргумент WindowName опущен, WOUTPUT( ) возвращает имя окна, в которое в данный момент направлен вывод. Также вы можете включать пустые строки в WindowName, чтобы задать главное окно Visual FoxPro. Если вывод направлен в основное окно Visual FoxPro, функция WOUTPUT( ) возвращает пустую строку.

Результат

Логический и символьный

Комментарии

Функция WOUTPUT( ) возвращает значение "истина" (.T.), если заданное пользовательское окно является активным окном вывода. WOUTPUT( ) возвращает "ложь" (.F.), если заданного окна не существует или если оно оказалось системным окном. Активным окном вывода является последнее пользовательское окно, активизированное с помощью команды ACTIVATE WINDOW.

Пример

В следующем примере создается и активизируется окно. Функция WOUTPUT( ) используется для отображения имени этого активного окна вывода. Затем окно закрывается и удаляется из памяти. Если есть еще активное окно, отображается его имя. Если других активных окон нет, выдается сообщение о том, что вывод направлен в основное окно Visual FoxPro.

Копировать код
DEFINE WINDOW wOutput1 FROM 2,2 TO 12,32 TITLE 'Output Window'
ACTIVATE WINDOW wOutput1
WAIT WINDOW 'wOutput1 window: ' + WOUTPUT( )
RELEASE WINDOW wOutput1
IF EMPTY(WOUTPUT( ))
 WAIT WINDOW 'Output being directed to the main Visual FoxPro window'
ELSE
 WAIT WINDOW 'Output window: ' + WOUTPUT( )
ENDIF

Смотреть также

Другие ресурсы

Команда ACTIVATE WINDOW
Команда DEFINE WINDOW
Функция WEXIST( )
Функция WONTOP( )
Функция WVISIBLE( )
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


WPARENT( ) Function

Visual FoxPro 9.0 Справочник Языка
WPARENT () Функция
См. Также Пример

Возвращает имя родительского окна для активного или указанного окна.

WPARENT([WindowName])

Параметры

WindowName

Определяет окно, имя родительского окна которого, возвращает WPARENT( ). WPARENT( ) возвращает пустую строку, если указанное окно не имеет родительского окна. Если Вы опускаете WindowName , WPARENT( ) возвращает имя родительского окна активного вывода. WPARENT( ) возвращает пустую строку, если активное окно вывода не имеет родительского окна.

Возвращаемое значение

Символьное

Замечания

Вы можете использовать DEFINE WINDOW, чтобы создать окно и разместить его в родительском окне. Дочернее окно интегрируется с его родительским окном. Например, дочернее окно, определенное и активизированное в родительском окне не может быть перемещено вне родительского окна. Если родительское окно перемещено, дочернее окно перемещается вместе с ним.

Пример

Следующий пример определяет родительское и дочернее окно. Затем используется WPARENT( ), чтобы определить, какое окно является родительским.

Скопировать код
CLEAR ALL
CLEAR
DEFINE WINDOW wParent ;
   FROM 1,1 TO 20,20 ;
   TITLE 'wParent'     && Parent window
ACTIVATE WINDOW wParent
DEFINE WINDOW wChild ;
   FROM 1,1 TO 10,10 ;
   TITLE 'wChild' ;
   IN WINDOW wParent  && Child window
ACTIVATE WINDOW wChild
WAIT WINDOW 'The parent window is ' + WPARENT( )
RELEASE WINDOW wParent, wChild

См. Также

Другие Ресурсы

ACTIVATE WINDOW Команда
DEFINE WINDOW Команда
WCHILD( ) Функция
Функции
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WREAD( ) Function

Visual FoxPro 9.0 Справочник Языка
WREAD () Функция
См. Также

Включено для обратной совместимости. Используйте Проектировщик Формы вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WROWS( ) Function

Visual FoxPro 9.0 Описание Языка
WROWS( ), функция
См. также
CollapseAll image

Определяет количество доступных текстовых строк для Активного или Заданного Окна.

WROWS([WindowName])

Параметры

WindowName

Определяет имя окна, для которого функция WROWS( ) возвращает количество Строк. В системе Visual FoxPro, вы можете задавать в качестве данного параметра имя соответствующего ToolBar (инструментальной линейки).

В системе Visual FoxPro, значение, возвращаемое функцией WROWS( ) существенно зависит от текущего Шрифта заданного окна. Большинство шрифтов имеют несколько возможных размеров, некоторые имеют Пропорциональные шрифты. Значит для разных шрифтов, их размеров, имеем различные размеры высот строк окна, а значит - различное количество строк окна. См. дополнительно раздел Общее описание Шрифтов.

В качестве параметра в данной функции вы можете определить имя системного окна (Command, Data Session, Browse, и так далее), каждое из которых должно быть открытым , видимым или скрытым (hidden). Если указанное окно Закрыто, FoxPro генерирует ошибку. Исключение является системное окно Debug (Отладка). После первого открытия окна Debug, его имя может быть использовано в функции WROWS( ), независимо от его состояния: видимое, скрытое или закрытое.

Если в качестве параметра задается пустая строка, в параметре WindowName, то возвращается количество строк Главного Окна системы Visual FoxPro.

Аналогично, пустая строка может использоваться для определения Главного окна системы Visual FoxPro в функциях WLCOL( ), WLROW( ), или WCOLS( ), которые возвращают соответствующие координаты или размеры.

Expand image Возвращаемое значение

Числового типа

Expand image Комментарии

Если параметр функции отсутствует, то возвращается количество строк для текущего активного Окна. Если активное окно отсутствует, то возвращается количество строк в Главном Окне системы Visual FoxPro.

Expand image См. также

Описание

SCOLS( ), функция
SROWS( ), функция
WCOLS( ), функция
WLCOL( ), функция
WLROW( ), функция

Концепции

Общее Описание Шрифтов

Другие ссылки

Функции
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


WTITLE( ) Function

Visual FoxPro 9.0 Описание Языка
WTITLE( ), Функция
См. также
CollapseAll image

Возвращает заголовок активного или заданного окна.

WTITLE([WindowName])

Параметры

WindowName

Определяет имя окна, для которого функция WTITLE( ) возвращает заголовок. Заголовок окна определяется опцией TITLE, которая включена в команду создания пользовательского окна DEFINE WINDOW.

Когда вы используете команду типа BROWSE WINDOW... для открытия системного окна Browse в созданном ранее пользовательсеом окне, функция WTITLE( ) возвращает заголовок пользовательского окна, если окно Browse не имеет заголовкаe. WTITLE( ) возвращает заголовок системного окна Browse, если последнее имеет собственный заголовок.

Вы можете использовать пустую символьную строку в качестве параметра WindowName - для идентификации главного окна системы Visual FoxPro.

Expand image Возвращаемое значение

Символьного типа

Expand image Комментарии

WTITLE( ) обычно используется для определения заголовка окна, который размещается в верхней полосе рассматриваемого окна. Если параметр WindowName отсутствует, то возвращается заголовок активного в текущий момент окна. WTITLE( ) возвращает пустую строку, если открытими являются в текущий момент системные окна Debug, Trace или , Commnd, или, если вывод информации направлен в главное окно системы Visual FoxPro.

Имена Окон и их Заголовки. Имена ползовательских окон, системных окон, ToolBars (в Visual FoxPro), окна Browse назначаются в следующих случаях:

Для пользовательских оконопределяются соответствующие имена, указываемые в командах типа DEFINE WINDOW. Имеется некоторое различие между именем пользовательского окна и его заголовком. По-умолчанию, пользовательское окно не имеет заголовка. Если при создании окна используется опция задания заголовка TITLE, то данный заголовок появляется в верхней строке создаваемого пользовательского окна. Но данный заголовок не является именем данного окна.

По-умолчанию, каждое системное окно, как неотемлемая часть общего интерфейса системы Visual FoxPro, имеет собственное имя, совпадающее с заголовком данного окна. Явными примерами являются: окно Command, Data Session, Trace. В системе Visual FoxPro, каждая инструментальная панель (toolbar) имеет собственное стандартное имя.

Окно Программы или окно Редактирования, системное окно дизайнера Отчетов или Этикеток содержат в собственном заголовке имя редактируемого файла - программы или отчета.

Для системного окна Browse заголовок отределяется на основании порождающего окна. Имя и Заголовок системного окна Browse назначается тремя возможными способами: по-умолчанию - как имя соответствующего алиаса открытой таблицы данных, или наследуется от заголовка порождающего окна (если такое определено), или через соответствующую опцию команды Browse title... (если таковая определена).

По-умолчанию, системное окно Browse имеет имя, порождаемое алиасом соответствующей таблицы.

Для использования в языковых конструкциях имен системных окон или инструментальных панелей (toolbar) заключите их имена в двойные кавычки. Например, для скрытия системной инструментальной панели Report Controls toolbar, в Visual FoxPro, используйте следующую команду:

CopyCode image Копировать Код
HIDE WINDOW "Report Controls"

Дополнительные рекомендации по использованию имен окон Если у вас нет уверенности в правильности наименования того или другого системного окна, откройте требуемое системное окно, имена открытых окон размещаются в нижней части соответствующего меню Window.

При выполнении команды BROWSE WINDOW WindowName в текущий момент существует два окна. Ситстемное окно Browse наследует атрибуты указанного пользовательского окна, но существует независимо отнего. Если имеется активное пользовательское окно, и выполняется команда BROWSE, без дополнительной опции WINDOW, тогда системное окно Browse принимает атрибуты текущего активного окна. Для отмены данных "наследующих" характеристик команды Browse используйте дополнительную опуию этой команды NORMAL .

Вы можете использовать сложные заголовки для окон, содержащие несколько слов, однако для имени окна используется только первое слово, часть заголовка, следующая за первым пробелом - игнорируется, данную особенность поведения необходимо использовать при использовании команд MOVE WINDOW, DEACTIVATE WINDOW, и функции WONTOP( ), нужно указывать только первое слово заголовка в качестве имени пользовательского окна.

Например, системное окно Browse, имеющее имя "Invoice Entry" может быть перемещено в другое место следующей командой:

CopyCode image Копировать Код
MOVE WINDOW invoice BY 1,1

Имена пользовательских окон не должны содержать пробелов, состоять из нескольких слов, однако окно Browse и другие системные окна могут иметь сложные имена, с пробелами.

Expand image См. также

Описание

ACTIVATE WINDOW, Команда
DEFINE WINDOW, Команда
WEXIST( ), Функция
WLAST( ), Функция
WONTOP( ), Функция
WOUTPUT( ), Функция
WREAD( ), Функция

Другие ссылки

Функции (Visual FoxPro)
Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


WVISIBLE( ) Function

Visual FoxPro 9.0 Language Reference
Функция WVISIBLE( )
Смотреть также Example

Определяет, было ли активизировано заданное окно и не является ли оно скрытым.

WVISIBLE(WindowName)

Параметры

WindowName

Задает имя окна, проверяемого функцией WVISIBLE( ). В Visual FoxPro можно задать и имя панели инструментов. Вы можете также включить пустую строку в WindowName, чтобы задать главное окно Visual FoxPro.

Результат

Логический

Remarks

Функция WVISIBLE( ) возвращает значение "истина" (.T.), если заданное окно показано или активизировано и не скрыто. Окно можно показать по команде SHOW WINDOW и активизировать командой ACTIVATE WINDOW.

Функция WVISIBLE( ) возвращает значение "ложь" (.F.), если окно не было активизировано, было скрыто командой HIDE WINDOW, было деактивизировано командой DEACTIVATE WINDOW или не существует вообще.

Example

Следующийся пример активизирует окно Data Session ( обращаемся по имени View). Используя WVISIBLE () функция, Вы можете вывести на экран состояние видимости окна. Используем команду Deactivate window, для закрытия окно Data Session, и используем функцию WVISIBLE (), чтобы снова вывести состояние видимости окна.

Копировать код
ACTIVATE WINDOW View
? WVISIBLE( "View" ) && вернет .T.
DEACTIVATE WINDOW View
? WVISIBLE( "View" ) && вернет .F.

Смотреть также

Другие ресурсы

Команда ACTIVATE WINDOW
Команда DEFINE WINDOW
Функция WEXIST( )
Функция WONTOP( )
Функция WOUTPUT( )
Функции
Language Reference

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


XMLTOCURSOR( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция XMLTOCURSOR()
Смотрите также
CollapseAll image

Преобразует XML текст в курсор или таблицу Visual FoxPro.

XMLTOCURSOR(eExpression | cXMLFile [, cCursorName [, nFlags ]])

Параметры

eExpression

Определяет XML текст или выражение, которое оценивается в действительные XML данные. Параметр eExpression может представлять собой переменную памяти Visual FoxPro, содержание мемо поля, возврат из HTTP запроса, результат, возвращенный из вызова метода SOAP, XML из XMLDOM поток ADO.

Note Замечание

XMLTOCURSOR() сгенерирует ошибку, если eExpression не найдено или если eExpression не разбирается в действительный XML.

cXMLFile

Определяет имя, и, необязательно, путь физического XML файла, который размещен на вашем локальном компьютере или в сети.

Если вы не указали для файла путь, Visual FoxPro будет искать XML файл внутри каталогов Visual FoxPro.

cCursorName

Определяет имя курсора для хранения результата разбора XML файла или выражения и создает курсор в текущей рабочей области.

Если курсор с указанным именем уже существует или открыт, Visual FoxPro закрывает курсор и создает его заново в неиспользуемой рабочей области. Если вы опустите параметр cCursorName или пошлете для него пустую строку (""), Visual FoxPro создаст курсор с именем "XMLRESULT" для возврата результата разбора XML файла или выражения.

Если cCursorName содержит данные, а параметр nFlags установлен в значение 8192, Visual FoxPro добавить импортируемые из XML файла данные в существующий курсор или таблицу. Для этого случая таблица или курсор должны быть открыты или использоваться. Если cCursorName представляет собой пустую строку (""), Visual FoxPro импортирует XML в таблицу или курсор, которые открыты в текущей рабочей области.

nFlags

Определяет как будет обрабатываться XMLSource eExpression функцией XMLTOCURSOR( ). В приведенной ниже таблице описаны значения для параметра nFlags.

nFlags Бит Описание

0

0000

(По умолчанию) Рассматривает первый параметр, как строку, содержащую XML данные.

4

0100

Сохраняет "белые" пространства в данных и переписывает аттрибут xml:space XML данных.

512

01000000000

Определяет, что первый параметр, eExpression или cXMLFile, представляет собой строку, содержащую имя файла с XML данными и путь к нему.

1024

10000000000

NOCPTRANS – Создает в результирующей курсоре поля Character и Memo с опцией NOCPTRANS и вставляет текст или XML значения, содержащиеся в исходных элементах в поля Character или Memo без осуществления трансляции кодовых страниц, на основе "байт за байтом".

При использовании флага 1024, XMLTOCURSOR( ) возвращает строку с хвостовыми пробелами, которые равны по длине реальной строке, то есть строку удвоенной длины.

2048

100000000000

Используется в случае, когда импортируемая схема представляет собой схему "XML schema definition" (XSD), содержащую ограничения, или фасеты, totalDigits="19" и fractionDigits="4".

В этом случае, значения типов данных XSD, имеющих такие фасеты, размечаются в тип данных Visual FoxPro Currency в результирующем курсоре.

4096

1000000000000

Запрещает перекодировку по базе base64.

В Visual FoxPro, кодировка base64 внедрена только для кодировки бинарных данных.

8192

1100000000

Определяет, что параметр cCursorName представляет собой имя или псевдоимя (alias) существующей таблицы или курсора, что приведет импорт данных из указанного источника XML данных в существующую таблицу или заранее определенный курсор.

Если таблица или курсор с именем cCursorName содержит данные, то импортируемые из XML источника данные будут добавлены к существующим данным. Если cCursorName представляет собой пустую строку (""), данные из XML источника импортируются в таблицу или курсор, открытые в текущей рабочей области.

Установка флага nFlags в значение 8192 может быть полезна в случае, когда схема XML недоступна или не может быть использована.

(Кроме того, установка флага в это значение чрезвычайно полезна при сборке информации, поступающей в виде XML данных из разных источников, например агентов компаний или подразделений, в одну таблицу. При этом отпадает необходимость использования дополнительного кода, содержащего, к примеру, APPEND FROM, что значительно повышает производительность приложения. Примечания переводчика)

32768

0x8000

Указывает, что должна быть использована кодовая страница.

65536

0x10000

Размечает поля Char XML в родные поля Varchar Visual FoxPro. Если это значение не установлено во флаге, поля XML Char размечаются в поля Character Visual FoxPro.

131072

0x20000

Размечает поля XML base64Binary в родные поля Fox Varbinary, если их длина меньше, чем 255 байт или, в противном случае, в поля Blob. Если это значение не установлено во флаге, поля XML base64Binary размечаются в Memo поля Visual FoxPro.

При использовании флага 8192 имейте ввиду приведенное ниже:

  • Вы должны убедиться, что схема таблицы отвечает исходным элементам XML соответствующим образом. Visual FoxPro "навязывает" тип данных, существующих в cCursorName так как это описано в приведенной ниже таблице соответствия типов данных но не делает допущений о типах данных. Попытка импортировать несовместимые данные приведет к генерации соответствующего сообщения.

  • Если XML содержит схему или ссылается на нее (в случае внешней схемы), а типы данных в схеме конфликтуют с типами данных курсора или таблицы, то будут использованы типы данных курсора или таблицы.

  • Имена элементов в XML файле размечаются в имена колонок в cCursorName. В дополнение к этому, Visual FoxPro импортирует данные только из тех элементов, имена которых соответствуют именам колонок курсора, указанного в cCusorName.

  • Курсор или таблица могут иметь больше колонок, чем их число, имеющееся в XML файле, но они должны иметь по крайней мере одну колонку с соответствием имен, как в курсоре, так и в XML файле. Иными словами, таблица или курсор могут иметь дополнительные колонки, которые не соответствуют элементам в XML файле.

  • Если таблица содержит поля с автоувеличением, функция XMLTOCURSOR() не сработает в случае, если AUTOINCERROR установлен в ON. Установка AUTOINCERROR в OFF или отключение автоувеличения в целевой таблице с помощью функции CURSORSETPROP( ) позволит выполнение функции XMLTOCURSOR( ). Поле или поля с автоувеличением целевой таблицы увеличивают свои значения в соответствии с определенным при их создании значением, и эти значения в исходной таблице не копируются.

В приведенной ниже таблице описываются ограничения соответствия типов данных при установке флага nFlags в значение 8192.

Тип данных Visual FoxPro | Поведение
Character, Character (Binary), Memo, Memo (Binary) | Акцептирует любые данные, но обрезает любые данные в случае, если их длина превышает длину колонки с типом Character.
Currency | Акцептирует численные данные внутри акцептируемого диапазона для данных типаCurrency но обрезает числа, выходящие за пределы акцептируемого диапазона.
Date | Акцептирует формат даты XML и значения dateTime. Visual FoxPro конвертирует форматы даты XML и dateTime в соответствующие форматы даты Visual FoxPro. Visual FoxPro сохраняет из значений XML даты или dateTime только порцию даты, то есть Месяц/День/Год.
DateTime | Акцептирует формат даты XML и значения dateTime. Visual FoxPro конвертирует форматы даты XML и dateTime в соответствующие форматы даты Visual FoxPro и сбрасывает точность данных (миллисекунды), выходящие за пределы поддерживаемого Visual FoxPro формата.
Double | Акцептирует численные данные внутри акцептируемого диапазона данных типа Double, но обрезает числа, выходящие за пределы этого диапазона.
Integer | Акцептирует целочисленные данные внутри акцептируемого диапазона данных типа Integer, но обрезает числа, выходящие за пределы этого диапазона.
Logical | Акцептирует значения True, .T., 1, False, .F. и 0.
Numeric, Float | Акцептирует численные данные с десятичными знаками или без них, но обрезает числа выходящие за пределы акцептируемого диапазона для этих типов в соответствии с правилами Visual FoxPro или замещает их индикатором переполнения ("*************").

Expand image Возвращаемое значение

Численный тип данных. XMLTOCURSOR( ) возвращает число созданных записей.

Expand image Примечание

Вы можете использовать XMLTOCURSOR( ) с OLE DB Provider для Visual FoxPro. Однако, свойство VFPXMLProgID системной переменной _VFP не поддерживается, так как системная переменная _VFP не поддерживается в OLE DB Provider.

Note Замечание

Для использования Visual FoxPro OLE DB Provider с функцией XMLTOCURSOR( ), вы должны установить MSXML 3.0 на компьютер с OLE DB Provider.

XMLTOCURSOR() генерирует ошибку синтаксиа для записей с длиной большей, чем приблизительно 160 колонок. Точное число колонок, которое может вызвать такую ошибку зависит от длины имен колонок.

XMLTOCURSOR( ) does not use the Varchar type when creating a cursor from an XML document. However, XMLTOCURSOR( ) supports appending data into an existing cursor with Varchar fields.

При вызове функции XMLTOCURSOR( ) в режиме добавления записей, Visual FoxPro добавляет пустую строку, если имена элементов XML не соответствует любым именам таблицы или курсора.

XMLTOCURSOR( ) конвертирует тип данных Decimal в тип данных Numeric 20,19 (длина, точность). В версиях до Visual FoxPro 8.0, тип данных Decimal размечался в тип данных Numeric 8,0.

Условия численного переполнения XMLTOCURSOR( ) импортирует XML данные, содержащие условия численного переполнения Visual FoxPro, например, "*******", вместо численных (numeric) или целочисленных (integer) значений. Если совместно с XML файлов предоставляется схема, то Visual FoxPro создает корректные типы данных в результирующем наборе, но заменяет переполнение с символом asterisk (*) в значения 0.0 или 0. Поэтому XML парсер, используемый функцией XMLTOCURSOR( ) не вызывает ощибки вследствие того, что символьные значения хранятся в элементе с типом данных decimal.

Для получения более подробной информации о конвертировании XML в данные Visual FoxPro смотрите описание Преобразование между данными XML и Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Функция CURSORTOXML()
Функция XMLUPDATEGRAM( )

Концепции

XML данные в Visual FoxPro

Прочие ресурсы

Функции

Статьи русского FoxClub'a

Использование XML в Visual FoxPro
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


XMLUPDATEGRAM( ) Function

Visual FoxPro 9.0 Справочное руководство по языку
Функция XMLUPDATEGRAM( )
Смотри также

Отражает изменения, сделанные в буфферированной таблице или курсоре, в XML UpdateGram и возвращает символьную строку, содержащую UpdateGram.

XML UpdateGram представляет условия "before" и "after" в изменной части таблицы или курсора Visual FoxPro. Через дополнительные процессы вы можете использовать UpdateGram для передачи данных, представленных документом XML UpdateGram.

Замечание:
Для использования функции XMLUPDATEGRAM( ), вы должны использовать команду SET MULTILOCKS ON и разрешить буфферирование таблицы.

Совет:
Перед вызовом функции XMLUPDATEGRAM( ), вы должны указать список ключевых полей с помощью функции CURSORSETPROP( ) в свойстве KeyFieldList для существующих курсоров и таблиц. Если выне укажите ключевые поля, Если вы не укажите ключевых полей, оба представления - "before" и "after" будут содержать все поля таблицы. Если вы укажете одно или более ключевых полей, то только эти поля появятся в секции - before.

XMLUPDATEGRAM( [ cAliasList [, nFlags [, cSchemaLocation]]])

Параметры

cAliasList

Указывает разделенный запятыми список открытых таблиц или курсоров, перечисленных либо по имени, либо по номерам рабочих областей указанных в любой комбинации, для включения в XML UpdateGram. Если вы не определите значения для параметра или укажете в качества параметра cAliasList пустую строку ("") , Visual FoxPro будет использовать все открытые таблицы и курсоры в текущей сессии данных, которые содержат буфферированные изменения.
nFlags

Определяет - будет ли возвращен форматированный файл или нет. В приведенной ниже таблицы перечислены кумулятивные флажки для nFlags.

nFlag Bit Описание вывода

0

0000

(По умолчанию) Использовать XML в кодировке UTF-8.

1

0001

Использовать неформатированный, например, длинную строку, содержащую XML.

2

0010

Включить пустые элементы с обоими - открывающими и закрывающими тэгами, например, <cc04><cc04/>.

4

0100

Сохранять пустые пространства в полях.

8

1000

Упаковывать мемо-поля в секциях CDATA.

16

10000

Кодировка вывода (Output encoding).

32

100000

Кодировка вывода (Output encoding).

32768

none

Указывает, что должна быть использована кодовая страница.
Замечание:
При использовани кодировки UTF-8 (по умолчанию), декларация XML не содержит пары Encoding= attribute (то есть, в случае, если мы не указали аттрибута, то это означает что используется кодировка UTF-8).

Когда кодировка вывода установлена в используемую по умолчанию кодовую страницу курсора или таблицы, то аттрибут кодировки будет записан в соответствии с приведенной ниже таблицей.
Замечание:
Флажки кодировок устанавливаются комбинацией битов 4 и 5 (0010000).

Флажок кодировки (Encoding flag) Биты 4 и 5 Описание

+0

00

(По умолчанию) Windows 1252

+16

01

Установить аттрибут кодировки в кодовую страницу курсора.

+32

10

Установить аттрибут кодировки в UTF-8 (без трансляции символов).

+48

11

Установить аттрибут кодировки в UTF-8 и транслировать двух-байтные символы в UTF-8.
cSchemaLocation

Указывает имя и местоположение схемы разметки, если она существует.
Замечание:
Вы должны представить схему разметки.

Например, предположим что вы послали схему, называемую mySchema.xsd параметру cSchemaLocation, в таком случае созданный UpdateGram содержит аттрибут схемы разметки в том виде, в каком он показан в XML документе, приведенном ниже:
Скопировать код
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
 <updg:sync mapping-schema="mySchema.xsd" >
 <updg:before>

Возвращаемое значение

Символьный тип данных. XMLUPDATEGRAM( ) возвращает символьную строку, содержащую XML UpdateGram.

Примечания

Вы можете использовать XMLUPDATEGRAM( ) с OLE DB Provider для Visual FoxPro. Однако, свойство _VFP VFPXMLProgID не поддерживается, так как системная переменная _VFP не поддерживается в OLE DB Provider.

Замечание:
Для использования Visual FoxPro OLE DB Provider совместно с XMLUPDATEGRAM( ), вы должны проинсталлировать MSXML 3.0 на компьютер, на котором имеется OLE DB Provider.

SQL Server и Visual Studio поддерживают формат DiffGram для обновления XML. Однако, SQL XML требует схемы разметки для поддержки этого формата. Поэтому, XMLUPDATEGRAM( ) не поддерживает такой формат.

Во избежание возможных ошибок, генерируемых XMLUPDATEGRAM( ) на таблицах, содержащих поля Memo или General, используйте функцию CURSORSETPROP( ). Приведенный ниже пример показывает, как включить мемо поля в XML UpdateGram путем установки свойстав KeyFieldList с помощью CURSORSETPROP( ):

Скопировать код
SET MULTILOCKS ON
CREATE CURSOR Test (mField M, cField I AUTOINC)
INSERT INTO Test (mField) VALUES ("123456789")
INSERT INTO Test (mField) VALUES ("23456789")
INSERT INTO Test (mField) VALUES ("3456789")
INSERT INTO Test (mField) VALUES ("456789")
CURSORSETPROP("Buffering",5)
CURSORSETPROP("keyfieldlist",'cField')
UPDATE Test SET mField = "XXXXXXX" WHERE cField < 3
STRTOFILE(XMLUPDATEGRAM(),'xmlupdate.txt')
MODIFY FILE xmlupdate.txt
RETURN

Для записи данных мемо-поля, включенных в XML UpdateGram на SQL Server, вы должны использовать детальную схему на SQL Server и ссылку на схему в XML UpdateGram.

В противоложность функции CURSORTOXML( ), XMLUPDATEGRAM( ) не принимает во внимание установки SET FIELDS и читает непосредственно из подложенного курсора. Для изменения структуры таблицы перед вызовом функции XMLUPDATEGRAM( ), вы должны скопировать данные в новый курсор. Например, для изменения поля типа Numeric в поле типа Currency, приведенный ниже пример использует предложение SQL SELECT для создания нового курсора и использует этот курсор с XMLUPDATEGRAM( ). Пример берет поле Total_Price field как поле currency, разрешает буфферирование с помощью CURSORSETPROP( ), добавляет налог с продаж с помощью команды REPLACE и создает XML UpdateGram, используя функцию XMLUPDATEGRAM( ).

Скопировать код
SELECT OrderID, CustID, NTOM(Total_Price) as Total_Price;
 FROM Orders INTO CURSOR New_Orders READWRITE
 CURSORSETPROP("Buffering", 5, "New_Orders")
 REPLACE Total_Price WITH (Total_Price * 1.083)
 cXMLUpdg = XMLUPDATEGRAM("New_Orders")

При использовании флажка 32768, флажки 16 и 32 установок могут определять - какая кодовая страница будет применена в зависимости от типа данных, записанных вами в XML. Приведенная ниже таблица показывает возможные комбинации установок и какая кодовая страница будет применена в зависимости от примененной комбинации.

Для XML документов, записанных с установленным флажком 32768, применяются приведенные ниже кодовые страницы.

Flag 16 | Flag 32 | Флажок 32768 установлен
Не установлен | Не установлен | XML документы: Window-1252. Unicode данные: code page 1252. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS. (binary)
True (.T) | Не установлен | XML документы: Плюс свойство CodePage курсора. Если свойство CodePage объекта XMLField отличается (больше) от нуля (0) и значение не соответствует кодовой странице курсора, то генерируется ошибка. Unicode данные: свойство Code page объекта курсор. Символьные данные: нет. Вместо этого используются текущие данные из таблиц Visual FoxPro (.dbf).
Не установлен | Установлен | XML документы: UTF-8 code page. Unicode данные: UTF-8 code page. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в этом случае не производится дополнительной трансляции символов в UTF-8.
Установлен | Установлен | XML документы: UTF-8 code page. Unicode данные: UTF-8 code page. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в этом случае, они транслируются в UTF-8 используя кодовую страницу, определяемую текущей установкой SYS(3005).

Для XML документов, записанных без установки флажка 32768, применяются приведенные ниже кодовые страницы.

Flag 16 | Flag 32 | Флажок 32768 не используется
Не установлен | Не установлен | XML документы: Window-1252. Unicode данные: code page 1252. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS.
True (.T) | Не установлен | XML документы: свойство CodePage курсора Символьные данные: нет. Вместо этого используются текущие данные из таблиц Visual FoxPro (.dbf). Unicode данные: свойство кодовой страницы объекта курсора.
Не установлен | Установлен | XML документы: UTF-8 code page. Unicode данные: UTF-8 code page. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в этом случае не производится дополнительной трансляции символов в UTF-8.
Установлен | Установлен | XML документы: UTF-8 code page. Unicode данные: UTF-8 code page. Символьные данные: кодовая страница по умолчанию, если поле не маркировано как NOCPTRANS, в этом случае, они транслируются в UTF-8 используя кодовую страницу, определяемую текущей установкой SYS(3005).

Для получения подробной информации о преобразовании XML в Visual FoxPro данные, смотри статью Преобразования между XML и данными Visual FoxPro.

Смотри также

Прочие ресурсы

Функция CURSORTOXML( )
Функция XMLTOCURSOR( )
Преобразования между XML и данными Visual FoxPro
XML данные в Visual FoxPro
Функции

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


YEAR( ) Function

Visual FoxPro 9.0 Справка по языку
Функция YEAR( )
См.также Пример

Возвращает значение года из указанной даты или выражения типа "дата".

YEAR(dExpression | tExpression)

Параметры

dExpression

Определяет выражение типа "дата" из которого функция YEAR( ) возвращает значение года. dExpression может быть функцией, которая возвращает дату, переменной памяти типа "дата", элементом массива или полем. Оно также может быть литералом - символьной строкой, содержащей запись даты, такой как {^1998-06-06}.
tExpression

Определяет выражение типа "datetime" (дата и время), из которого функция YEAR( ) возвращает значение года.

Возвращаемое значение

Число

Примечания

Функция YEAR( ) всегда возвращает значение года вместе со столетием. Установка CENTURY (ON или OFF) не влияет на возвращаемое значение.

Пример

Скопировать код
CLEAR
? YEAR(DATE( ))

См.также

Другие ресурсы

Функция DATE( )
Функция DATETIME( ) Function
Функция DOW( ) Function
Команда SET CENTURY
Функции
Справка по языку

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Operators (Visual FoxPro)

Visual FoxPro 9.0
Операторы (Visual FoxPro)
Смотрите также
CollapseAll image

Операторы позволяют манипулировать данными определенного типа. Операторы Visual FoxPro сгруппированы по следующим типам данных и функциям.

  • Операторы типа Character

  • Операторы типа Date и Time

  • Операторы типа Logical

  • Операторы типа Relational

  • Операторы типа Numeric

Expand image Смотрите также

Прочие ресурсы

Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Character Operators

Visual FoxPro 9.0
Операторы для данных типа Character
Смотрите также
CollapseAll image

Символьные данные можно объединять и сравнивать, используя операторы +, - и $. В следующей таблице перечисляются операторы символьных выражений в порядке убывания приоритета.

Character Operators
Оператор | Действие | Код
+ | Конкатенация. Соединяет две строки, строку и поле или строку и переменную памяти. | ? 'Good ' + 'morning'
- | Конкатенация. Удаляет замыкающие пробелы из элемента, предшествующего оператору, затем объединяет два элемента. | ? customer.first - customer.last
$ | Сравнение. Находит вхождение одного символьного выражения в другом. | ? 'father' $ 'grandfather' ? 'Main' $ customer.address

Expand image Смотрите также

Справочное руководство

Оператор $
Символьный тип данных (Character)
Создание символьных выражений
Операторы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Date and Time Operators

Visual FoxPro 9.0
Операторы даты и времени
Смотрите также
CollapseAll image

Следующие операторы воздействуют на дату и время.

Операторы даты и времени
Оператор Действие Код

+

Сложение
CopyCode image Copy Code
tNewTime = tTime1 + nSeconds
dNewDate = dDate1 + nDays

-

Вычитание
CopyCode image Copy Code
nSeconds = tTime1 - tTime2
tNewTime = tTime1 - nSeconds
dNewDate = dDate1 - nDays

Expand image Смотрите также

Справочное руководство

Тип Данных Date (Visual FoxPro)
Тип Данных DateTime
Функции даты и времени
Операторы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Logical Operators

Visual FoxPro 9.0
Логические операторы
Смотрите также
CollapseAll image

Логические операторы работают со всеми типами данных и возвращением логическое значение. Следующая таблица перечисляет логические операторы в порядке старшинства.

Логические операторы
Оператор | Действие | Код
( ) | Группы выражений | cVar AND (cVar2 AND cVAR3)
NOT, ! | Логическое отрицание | IF NOT cVarA = cVarB IF ! nVar1 = nVar2
AND | Логичческое И | lVar0 AND lVar9
OR | Логичческое ИЛИ | lVarX OR lVarY
Note Note

Оператор "не равно" (#) может использоваться, чтобы выполнить сравнение XOR (, типа lVarX # lVarY).

Expand image Смотрите также

Справочное руководство

Функция BITAND( )
Функция BITNOT( )
Функция BITOR( )
Функция BITXOR( )
Операторы сравнения
Операторы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Numeric Operators

Visual FoxPro 9.0
Операторы для числовых данных
Смотрите также
CollapseAll image

Операторы для данных типа Numeric функциопируют со всеми числовыми значениями. В следующей таблице перечислены операторы для данных типа Numeric в порядке убывания приоритета.

Numeric Operators
Оператор | Действие | Код
( ) | Группирование подвыражений | (4-3) * (12/nVar2)
**, ^ | Возведение в степень | ? 3 ** 2 ? 3 ^ 2
*, / | Умножение и деление | ? 2 * 7 ? 14 / 7
% | Модуль (остаток от деления) | ? 15 % 4
+, - | Сложение и вычитание | ? 4 + 15

Expand image Смотрите также

Справочное руководство

Оператор % (Visual FoxPro)
Тип данных Currency
Тип данных Double
Тип данных Float
Тип данных Numeric
Операторы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Relational Operators

Visual FoxPro 9.0
Операторы отношений
Смотрите также
CollapseAll image

Операторы отношения работают со всеми типами данных и возвращениет логическое значение. В следующей таблице перечислены операторы отношений.

Операторы Отношения
Оператор | Действие | Код
< | Меньше чем | ? 23 < 54
> | Больше чем | ? 1 > 2
= | Равно | ? cVar1 = cVar
<>, #, != | Не равно | ? .T. <> .F.
<= | Меньше чем или равно | ? {^1998/02/16} <= {^1998/02/16}
>= | Больше чем или равно | ? 32 >= nHisAge
== | Сравнение строки символов | ? status == "Open"

Оператор == может использоваться, когда необходимо точное сравнение строк символов. Если два символьных выражения сравниваются оператором ==, выражения с обеих сторон оператора == должны содержать точно те же самые символы, включая пробелы, чтобы считаться равными. Установка SET EXACT игнорируется, когда строки символов сравнены, используя ==. Смотрите SET EXACT для получения дополнительной информации о использовании оператора == для сравнения строк символов.

Вы также можете использовать оператор равно (=), для определения относятся ли две ссылки на объект к одному и тому же объекту. Следующий пример демонстрирует простое использование:

CopyCode image Copy Code
CLEAR ALL
X = CREATEOBJECT('Form')
Y = CREATEOBJECT('Form')
? X = Y  && Displays false (.F.)
Z = X
? X = Z  && Displays true (.T.)

Expand image Смотрите также

Справочное руководство

Логические операторы
Функция CREATEOBJECT( )
Команда SET EXACT
Операторы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Preprocessor Directives (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
Директивы ПреПроцессора (Visual FoxPro)
См. Также

#DEFINE ... #UNDEF, директива препроцессора

#IF ... #ENDIF, директура препроцессора

#IFDEF | #IFNDEF ... #ENDIF, директива препроцессора

#INCLUDE, директива препроцессора

#INSERT, директива препроцессора

#NAME, директива препроцессора

Директивы препроцессора Coverage

См. дополнительный раздел Элементы Языка, совместимые с младшими версиями VFP.

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


#DEFINE ... #UNDEF Preprocessor Directive

Visual FoxPro 9.0 Справочное руководство по языку
#DEFINE ... #UNDEF - директива процессора предварительно обработки
Смотрите также Пример
CollapseAll image

Создает и освобождает константы времени компиляции.

Вы можете использовать директивы препроцессора #DEFINE и #UNDEF для создания в программах констант времени компиляции. С помощью констант, созданных директивой #DEFINE и используемых вместо переменных, вы можете сократить потребление памяти, увеличить производительность и упростить программы.

Для создания константы с помощью директивы #DEFINE, укажите имя константы в ConstantName и ее значение в eExpression. При компиляции программы производится замена текста и значение константы заменяет имя константы повсюду, где имя константы появляется в тексте программы. Вы можете остановить замещение констант при помощи директивы #UNDEF.

#DEFINE ConstantName eExpression...
#UNDEF ConstantName

Параметры

ConstantName

Указывает имя константы времени компиляции. Имя константы должно представлять допустимое имя Microsoft Visual FoxPro, которое начинается с буквы или символа подчеркивания и состоит из строки длиной до 254 символов, цифр или подчеркиваний. Для улучшения читаемости программ и упрощения отладки, составляйте имена констант из заглавных букв и используйте для них стандартное соглашение по наименованиям.

Caution note Предупреждение

Не используйте для имен констант ключевые слова Visual FoxPro.

Для остановки замещения текста, для константы, созданной с помощью директивы #DEFINE, выдайте в программе директиву #UNDEF ConstantName.

eExpression

Указывает значение константы времени компиляции. eExpression может представлять собой имя или выражение, которое оценивается в символьное значение, численное значение, выражение валюты, значение даты, значение даты-времени или логическое значение .T. или .F. .

Caution note Предупреждение

Не используйте в качестве выражения для eExpression системные переменные. Системные переменные не оцениваются во время компиляции, а оцениваются только в run time.

Expand image Примечания

Visual FoxPro производит замещение только в программном коде, который следует за директивой #DEFINE, создающей константы и который помещен до директивы #UNDEF для этой константы. Константа доступна только для той программы, в которой она создана.

Если вы поместите директиву #DEFINE внутри процедуры события или метода формы, то константы, определенные с помощью #DEFINE доступны внутри процедуры события или метода. Кроме того, вы можете сделать их доступными для других событий или методов, для которых фрагменты кодов, составляющих процедуры этих событий или методов записаны вместе в одном и том же поле типа Memo внутри формы или файла библиотеки класса. Вы не должны быть зависимы от такого поведения, так как порядок, в котором записываются методы может изменяться при многократном сохранения формы или класса в конструкторах. Для того, чтобы сделать константы, определенные с помощью директивы #DEFINE доступными для всех процедур событий и методов в форме или классе, выберите пункт "Включить файл (Include File)" из меню для "Форма" (Form) (или "Класс" (Class)) и укажите файл заголовков, содержащий константы, определенные с помощью #DEFINE.

Note Замечание

Константы времени компиляции не распознаются, если их имена заключены в кавычки.

Вы можете переопределить #DEFINE только в том случае, когда не изменяете значения. Если вы измените #DEFINE с другим значением, Visual FoxPro сгенерирует ошибку.

Expand image Пример

Приведенный ниже фрагмент программы создает константу с именем MAXITEMS. Эта константа используется в цикле FOR ... NEXT для отображения номеров с 1 до 10.
CopyCode image Скопировать код
#DEFINE MAXITEMS 10
CLEAR
FOR gnCount = 1 TO MAXITEMS
   ? gnCount
NEXT

Expand image Смотрите также

Справочное руководство

Команда COMPILE
#IF ... #ENDIF - директивы процессора предварительной обработки
#IFDEF | #IFNDEF ... #ENDIF - директивы процессора предварительной обработки

Прочие ресурсы

Процессор предварительной обработки директив (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


#IF ... #ENDIF Preprocessor Directive

Visual FoxPro 9.0 Справочное руководство по языку
Директива препроцессора #IF ... #ENDIF
Смотрите также Пример
CollapseAll image

Conditionally includes source code at compile-time.

#IF nExpression1 | lExpression1
      Commands
[#ELIF nExpression2 | #ELIF lExpression2
      Commands...
#ELIF nExpressionN | #ELIF lExpressionN
      Commands]
[#ELSE
      Commands]
#ENDIF

Параметры

#IF nExpression1| lExpression1Commands

Аргумент nExpression1 задает числовое выражение, которое должно вычисляться.

  • Если значение этого выражения отлично от нуля, команды, следующие непосредственно за директивой #IF, будут включены в компилируемый код. Осуществляется выход из структуры #IF ... #ENDIF, и компиляция продолжается с первой программной строки, следующей за директивой #ENDIF.

  • Если значение выражения равно 0, команды, следующие непосредственно за #IF, не включаются в компилируемый код. Вычисляются выражения следующих директив #ELIF.

Аргумент lExpression1 задает логическое выражение, которое должно вычисляться.

  • Если значение этого выражения есть "истина" (.T.), команды, следующие непосредственно за директивой #IF, будут включены в компилируемый код. Осуществляется выход из структуры #IF ... #ENDIF, и компиляция продолжается с первой программной строки, следующей за директивой #ENDIF.

  • Если значение выражения ѕ "ложь" (.F.), команды, следующие непосредственно за #IF, не включаются в компилируемый код. Вычисляются выражения следующих директив #ELIF.

    Note Note

    Не задавайте системные переменные памяти в качестве nExpression1 или lExpression1. Значения системных переменных памяти вычисляются только на этапе выполнения.

#ELIF nExpression2| #ELIF lExpression2Commands

...

#ELIF nExpressionN| #ELIF lExpressionNCommands

Если значение выражения nExpression1 авно 0 или значение lExpression1 - "ложь" (.F.), вычисляются директивы #ELIF. Сначала вычисляется первое выражение #ELIF nExpression2 или lExpression2. Если значение nExpression2 отлично от нуля или значение lExpression2 есть "истина" (.T.), команды, следующие за #ELIF, будут включены в компилируемый код. Осуществляется выход из структуры #IF ... #ENDIF, и компиляция продолжается с первой программной строки, следующей за директивой #ENDIF.

Если nExpression2 равно 0 или lExpression2 ѕ "ложь" (.F.), команды, следующие за #ELIF, не включаются в компилируемый код. Вычисляется следующая директива #ELIF.

#ELSE Commands

Если директив #ELIF нет или они есть, но все дали значения 0 или "ложь" (.F.), то наличие директивы #ELSE определяет, будут ли включены в компилируемый код другие команды:

  • Если директива #ELSE указана, следующие за ней команды включаются в компилируемый код.

  • Если директива #ELSE не указана, ни одна из команд, находящихся между #IF и #ENDIF, не включается в компилируемый код. Осуществляется выход из структуры #IF ... #ENDIF, и компиляция продолжается с первой программной строки, следующей за директивой #ENDIF.

#ENDIF

Указывает конец оператора #IF.

Expand image Примечания

Благодаря применению структуры #IF ... #ENDIF повышается читаемость исходного кода, сокращается размер откомпилированной программы, а в некоторых случаях повышается производительность.

При компиляции структуры #IF ... #ENDIF производится вычисление содержащихся в ней последовательных логических или числовых выражений; результаты вычислений определяют, какую группу команд Visual FoxPro следует или не следует включать в компилируемый код.

Expand image Пример

В следующем примере структура #IF ... #ENDIF определяет, какая версия Visual FoxPro выполняет компиляцию, а затем выдает соответствующее сообщение.
CopyCode image Copy Code
#If SYS(3004) = "1033"
? "Locale ID is English"
#Elif SYS(3004) = "1034"
? "Locale ID is Spanish"
#Elif SYS(3004) = "1031"
? "Locale ID is German"
#Elif SYS(3004) = "1036"
? "Locale ID is French"
#Endif

Expand image Смотрите Также

Справочное руководство

Команда COMPILE
Директива препроцессора #DEFINE ... #UNDEF
Директива препроцессора #IFDEF | #IFNDEF ... #ENDIF

Прочие ресурсы

Директивы препроцессора (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


#IFDEF | #IFNDEF ... #ENDIF Preprocessor Directive

Visual FoxPro 9.0 Справочное руководство по языку
Директива препроцессора #IFDEF | #IFNDEF ... #ENDIF
Смотрите также Пример
CollapseAll image

Выполняет условное включение группы команд в код на этапе компиляции, если определена константа этапа компиляции.

#IFDEF | #IFNDEF ConstantName
      Commands
[#ELSE
      Commands]
#ENDIF

Параметры

#IFDEF

Указывает, что на этапе компиляции следует включить заданную группу команд, если была определена константа этапа компиляции с именем ConstantName.

Ниже описывается, каким образом группа команд включается в код на этапе компиляции при задании #IFDEF:

  • Если константа ConstantName определена, на этапе компиляции включается группа команд, следующая за #IFDEF и предшествующая директиве #ELSE или #ENDIF (той из них, которая встретится раньше).

  • Если константа ConstantName не определена и задана директива #ELSE, на этапе компиляции включается группа команд, следующая за #ELSE и предшествующая директиве #ENDIF.

  • Если константа ConstantName не определена и директива #ELSE не задана, ни одна из команд, находящихся внутри структуры #IFDEF ... #ENDIF, не включается на этапе компиляции.

#IFNDEF

Указывает, что на этапе компиляции следует включить заданную группу команд, если константа этапа компиляции с именем ConstantName не определена.

Ниже описывается, каким образом группа команд включается в код на этапе компиляции при задании #IFNDEF:

  • Если константа ConstantName не определена, на этапе компиляции включается группа команд, следующих за #IFNDEF и предшествующих директиве #ELSE или #ENDIF (той из них, которая встретится раньше).

  • Если константа ConstantName определена и задана директива #ELSE, на этапе компиляции включается группа команд, следующих за #ELSE и предшествующих директиве #ENDIF.

  • Если константа ConstantName определена и директива #ELSE не задана, ни одна из команд, находящихся внутри структуры #IFDEF ... #ENDIF, не включается на этапе компиляции.

ConstantName

Задает константу этапа компиляции, существование которой определяет необходимость включения группы команд на этапе компиляции. Константы этапа компиляции определяются с помощью директивы #DEFINE.

Commands

Задают группу команд, включаемых на этапе компиляции.

Expand image Примечания

Структуру #IFDEF | #IFNDEF ... #ENDIF можно вкладывать в другую структуру #IFDEF | #IFNDEF ... #ENDIF.

Комментарии можно располагать в одной строке с директивами #IFDEF, #IFNDEF, #ELSE и #ENDIF. Комментарии игнорируются во время компиляции и выполнения программы.

Expand image Пример

В следующем примере создается константа этапа компиляции с именем MYDEFINE. Структура #IFDEF ... #ENDIF задает выдачу сообщения о том, была ли определена константа этапа компиляции.
CopyCode image Copy Code
#DEFINE MYDEFINE 1

#IFDEF MYDEFINE
   WAIT WINDOW "MYDEFINE exists"
#ELSE
   WAIT WINDOW "MYDEFINE does not exist"
#ENDIF

Expand image Смотрите Также

Справочное руководство

Команда COMPILE
Директива препроцессора #DEFINE ... #UNDEF
Директива препроцессора #IF ... #ENDIF
Директива препроцессора #INCLUDE

Прочие ресурсы

Директива препроцессора (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


#INCLUDE Preprocessor Directive

Visual FoxPro 9.0 Справочное руководство по языку
Директива препроцессора #INCLUDE
Смотрите также Пример
CollapseAll image

Указывает, что препроцессор Visual FoxPro должен рассматривать содержимое заданного файла заголовка как включенное в программу Visual FoxPro.

Note Note

Максимальное число уровней компилятора для #INCLUDE == 4.

#INCLUDE FileName

Параметры

FileName

Задает имя файла заголовка, который включается в программу в процессе компиляции.

Вместе с именем файла заголовка можно задать путь к нему. Если путь задан, Visual FoxPro ведет поиск файла только в указанном месте.

Если путь для файла заголовка не задан, Visual FoxPro ищет этот файл в используемом по умолчанию каталоге Visual FoxPro, а затем на пути Visual FoxPro. Путь Visual FoxPro задается командой SET PATH.

Expand image Примечания

YМожно создавать файлы заголовков, включающие директивы препроцессора, а затем с помощью директивы #INCLUDE сливать содержимое файла заголовка с программой во время компиляции. Содержимое файла заголовка вставляется в программу в процессе компиляции в той точке, где стоит #INCLUDE.

В файле заголовка распознаются только следующие директивы препроцессора: #DEFINE ... #UNDEF и #IF ... #ENDIF. Комментарии и команды Visual FoxPro, включенные в файл заголовка, игнорируются.

Программа может содержать сколько угодно директив #INCLUDE, причем в любом месте программы. Директивы #INCLUDE можно использовать и в файле заголовка, то есть они могут быть вложенными.

Файлы заголовков обычно имеют расширение имени .H, хотя в принципе расширение может быть любым. В Visual FoxPro используется файл заголовка FOXPRO.H. Он содержит многие из констант, описанных в данной документации.

Expand image Пример

В следующем примере используются два файла - файл заголовка CONST.H и файл программы MYPROG.PRG. Файл заголовка содержит несколько директив #DEFINE, формирующих константы этапа компиляции. В файле программы директива #INCLUDE используется для включения файла заголовка CONST.H во время компиляции, чтобы константы этапа компиляции из файла заголовка стали доступны программе.
CopyCode image Copy Code
*** Header file CONST.H ***
#DEFINE ERROR_NODISK     1
#DEFINE ERROR_DISKFULL  2
#DEFINE ERROR_UNKNOWN  3

*** Program file MYPROG.PRG ***
#INCLUDE CONST.H

FUNCTION chkerror
PARAMETER errcode
  DO CASE
  CASE errcode = ERROR_NODISK
  ?"Error - No Disk"
  CASE errcode = ERROR_DISKFULL
  ?"Error - Disk Full"
  CASE errcode = ERROR_UNKNOWN
  ?"Unknown Error"
  ENDCASE
RETURN

Expand image Смотрите Также

Справочное руководство

Директива препроцессора #DEFINE ... #UNDEF
Директива препроцессора #IF ... #ENDIF
Директива препроцессора #IFDEF | #IFNDEF ... #ENDIF

Прочие ресурсы

Директивы препроцессора (Visual FoxPro)
Preprocessor Directives (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


#INSERT Preprocessor Directive

Visual FoxPro 9.0 Справочное руководство по языку
#INSERT - директива препроцессора
Смотрите также
CollapseAll image

Помещает текст из текстового файла в генерируемый файл меню..

#INSERT FileName

Параметры

FileName

Указывает имя заголовочного файла, который вставляется в программу во время генерации меню.

Expand image Примечания

По директиве #INSERT генератор меню вставляет содержимое FileName в генерируемый код меню.

Ипользуйте #INSERT для вставки файла в программу генерируемого меню. Например, используйте #INSERT для размещения предложений #DEFINE ... #UNDEF из файла в начале программы генерируемого меню.

Эта директива может появиться в любой процедуре; это означает, что директива не является обязательной частью какой-то конкретной процедуры, такой как setup. В дополнение к этому, директива может появиться в любом месте текста кода процедуры.

FileName должен представлять текстовый файл. Генератор ищет указанный файл в текущем каталоге, в каталоге FoxPro и его подкаталогах и в путях MS-DOS. Если файл не найден, генератор меню комментирует ваш код - указывая, файл не найден и, затем, продолжает процесс генерации.

Expand image Смотрите также

Справочное руководство

#DEFINE ... #UNDEF - директива препроцессора
#IF ... #ENDIF - директива препроцессора
#IFDEF | #IFNDEF ... #ENDIF P - директива препроцессора

Прочие ресурсы

Препроцессор директив (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


#NAME Preprocessor Directive

Visual FoxPro 9.0 Справочное руководство по языку
#NAME - директива процессора предварительной обработки
Смотрите также
CollapseAll image

Эта директива генератора экрана и меню производит именование фрагмента кода, производимого опциями, такими как SHOW, WHEN и VALID, независимо от того, произведен ли код на уровне объекта или на уровне READ.

#NAME SnippetName

Параметры

SnippetName

Указывает имя, присваиваемое фрагменту кода. SnippetName должен отвечать правилам наименования процедур и функций.

Expand image Примечания

Директива #NAME должна появиться в самом начале фрагмента, до любых предложений кода языка. Предшествовать ей могут пустые строки или комментарии.

Note Замечание

Visual FoxPro не производит проверку на наличие повторяющихся имен.

Expand image Смотрите также

Справочное руководство

#DEFINE ... #UNDEF - директива процессора предварительной обработки
#IF ... #ENDIF - директива процессора предварительной обработки
#IFDEF | #IFNDEF ... #ENDIF - директива процессора предварительной обработки

Прочие ресурсы

Процессора предварительной обработки директив (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Coverage Preprocessor Directives

Visual FoxPro 9.0 Описание Языка
Директивы Препроцессора для профилировщика "Coverage"
См. также
CollapseAll image

В представленных далее операторах #DEFINE описанны директивы Расширения подсистемы Coverage Profiler.

Expand image *COV_LOCS.H

Группа Операторов #DEFINE, описывающих системные Сообщения, которые могут быть Локализованы:

CopyCode image Копировать Код
#DEFINE COV_LOADING_STACKINFO_LOC "Loading log for StackLevel analysis"
#DEFINE COV_GENERATING_STACKXML_LOC "Generating StackLevel XML..."
#DEFINE COV_WRITING_STACKXML_LOC "Writing StackLevel XML to disk"
#DEFINE COV_WRITING_TRANSFORM_LOC "Writing transformed file to disk"

Группа операторов #DEFINE, описывающих пункты Контекстного Меню:

CopyCode image Копировать Код
#DEFINE COV_SC_STACKLEVEL_LOC "\<Generate StackLevel XML"
#DEFINE COV_SC_VIEW_STACKLEVEL_LOC "View Stac\<klevel XML"
#DEFINE COV_SC_STACK_TRANSFORM_LOC "\<Transform StackLevel XML"
#DEFINE COV_SC_STACKLEVEL_EXTENDED_LOC "E\<xtended StackLevel XML"

Группа операторов #DEFINE, определяющих параметрами Диалогов (заголовок, фильтры и т.д.) GETFILE/PUTFILE :

CopyCode image Копировать Код
#DEFINE COV_SETSTACKXML_TITLE_LOC "Please specify location to save Coverage StackLevel XML for"
#DEFINE COV_XMLFILES_LOC "XML Files"
#DEFINE COV_XSLFILES_LOC "XSL Transforms"
#DEFINE COV_HTMFILES_LOC "HTML Files"
#DEFINE COV_SAVEDSTACKXML_AS_LOC "Your coverage stack analysis is saved as"
#DEFINE COV_SETTRANSFORMEDXML_TITLE_LOC "Please specify location to save transformed file for"
#DEFINE COV_GETXSLTFILE_TITLE_LOC "Please specify an XSL Transformation file"

Группа Операторов #DEFINE, определяющих параметры прочих Диалогов XML:

CopyCode image Копировать Код
#DEFINE COV_OPT_STACK_LOC "StackLevel XML analysis"
#DEFINE COV_OPT_STACK_EXTENDED_LOC "\<Generate extended StackLevel XML tree"
#DEFINE COV_OPT_STACK_XSLT_LOC "XSL \<Transform..."

Expand image COV_TUNE.H

Новые параметры настройки Расширений (и соответствующие комментарии):

Два параметра, используемые при определении TagName:

CopyCode image Копировать Код
* the first two represent element node prefixes
#DEFINE COV_STACKROOT "VFPCallStackLog"
#DEFINE COV_STACK_ONEVENT_TAG event

* these are similar to (а это соответствует) COV_SKIPFILEDBF_SUFFIX and COV_TARGETDBF_SUFFIX

CopyCode image Копировать Код
*the next items are used to help identify the XML and HTM files written to
* disk as being generated from this particular process.
#DEFINE COV_STACKXML_SUFFIX "_STACK"
#DEFINE COV_STACKXMLEXT_SUFFIX "_STACKX"
#DEFINE COV_TRANSFORM_SUFFIX "_XSL"

Далее представлена Опция COV_TOPSPEED, которая редко используется.

CopyCode image Копировать Код
* the next item indicates whether lines are loaded from the Coverage
* source workfile .dbf file or are gathered directly by from the original
* text log. Coverage Profiler has a very slight speed advantage but will
* not include ON ... events, since those lines are ignored by the
* Coverage source and target workfiles (there is no code
* to mark or profile for these lines).
#DEFINE COV_LOAD_STACK_FROM_DBF .F.

Далее представлено динамическое Определение специальных Тэгов XML, используемых при формировании Записей в Протоколе.

CopyCode image Копировать Код
* the variables in the next item have the same meaning as the columns
* of the same name in the Coverage source workfile .dbf file
* -- equivalents for these items are read in from the source text log
* when COV_LOAD_STACK_FROM_DBF is .F., and this expression stays the same.
* You can change it as long as you ensure that the result will be empty
* only for ON ... events.
* Load a log into COVERAGE.APP,
* SET DATASESSION TO _oCoverage.DataSessionID, and refer to the
* source workfile (by default, its alias is FromLog) for some indication
* on the possible contents of these columns.
#DEFINE COV_STACKEXPR ALLTR(IIF(INLIST(FileType,".fxp",".mpx",".qpx",".spx"), ;
 IIF(EMPTY(ObjClass), ;
 IF(NOT EMPTY(Executing),ALLTR(Executing),""),;
 IIF(LEFT(Executing,1)=".",ALLTR(ObjClass),"")+ALLTR(Executing)), ;
 ALLTR(Executing)))

Expand image См. также

Концепции

Подсистема Анализа Приложений Coverage Profiler

Другие ссылки

Директивы Препроцессора (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


System Variables Overview

Visual FoxPro 9.0 Справочник Языка
Системный Краткий обзор Переменных
См. Также

Системные переменные - встроенные переменные, которые Visual FoxPro создает и поддерживает автоматически. Они определяются как PUBLIC по умолчанию, но Вы можете объявить их как PRIVATE.

Обратите внимание:
Новые особенности Visual FoxPro заменили функциональность многих системных переменных. Для подробной информации, см. описание для каждой системной переменной и Обратно совместимые Элементы Языка .

Следующая таблица перечисляет типы системных переменных Visual FoxPro и их обозначение в выражениях.

Тип переменной | Описание | Выражение
C | Символ | cExpression
D | Дата | dExpression
L | Логичный | lExpression
N | Числовой | nExpression
O | Объект | oExpression

Следующая таблица перечисляет все системные переменные, их типы, и значения по умолчанию.

Переменная | Тип | Значение по умолчанию
_ALIGNMENT | C | LEFT
_ASCIICOLS | N | 80
_ASCIIROWS | N | 63
_ASSIST | C | Пустая строка
_BEAUTIFY | C | Пустая строка
_BOX | L | .T.
_BROWSER | C | Browser.app
_BUILDER | C | Builder.app
_CALCMEM | N | 0.0
_CALCVALUE | N | 0.0
_CLIPTEXT | C | Пустая строка
_CONVERTER | C | Пустая строка
_COVERAGE | C | Coverage.app
_CUROBJ | N | -1
_DBLCLICK | N | 0.5
_DIARYDATE | D | Текущая дата
_DOS | L | .T. в FoxPro для MS-DOS
_FOXDOC | C | Пустая строка
_FOXREF | C | FoxRef.app
_GALLERY | C | Gallery.app
_GENGRAPH | C | Пустая строка
_GENHTML | C | Genhtml.prg
_GENMENU | C | Genmenu.prg
_GENPD | C | Пустая строка
_GENSCRN | C | Genscrn.prg
_GENXTAB | C | Пустая строка
_GETEXPR | C | Пустая строка
_INCLUDE | C | Пустая строка
_INCSEEK | N | .5
_INDENT | N | 0
_LMARGIN | N | 0
_MAC | L | .T. в Visual FoxPro для Macintosh
_MENUDESIGNER | C | Пустая строка
_MLINE | N | 0
_PADVANCE | C | FORMFEED
_PAGENO | N | 1
_PAGETOTAL | N | 0
_PBPAGE | N | 1
_PCOLNO | N | Текущий столбец
_PCOPIES | N | 1
_PDRIVER | C | Пустая строка
_PDSETUP | C | Пустая строка
_PECODE | C | Пустая строка
_PEJECT | C | NONE
_PEPAGE | N | 32767
_PLENGTH | N | 66
_PLINENO | N | 0
_PLOFFSET | N | 0
_PPITCH | C | DEFAULT
_PQUALITY | L | .F.
_PRETEXT | C | Пустая строка
_PSCODE | C | Пустая строка
_PSPACING | N | 1
_PWAIT | L | .F.
_RMARGIN | N | 80
_REPORTBUILDER | C | HOME () + "REPORTBUILDER.APP"
_REPORTOUTPUT | C | HOME () + "REPORTOUTPUT.APP"
_REPORTPREVIEW | C | HOME () + "REPORTPREVIEW.APP"
_SAMPLES | C | HOME () + "SAMPLES"
_SCCTEXT | C | Scctext.prg
_SCREEN | O | FORM
_SHELL | C | Пустая строка
_SPELLCHK | C | Spellchk.app
_STARTUP | C | Пустая строка
_TABS | C | Пустая строка
_TALLY | N | 0
_TASKPANE | C | Taskpane.app
_TEXT | C | -1
_THROTTLE | N | 0
_TOOLBOX | C | Toolbox.app
_TOOLTIPTIMEOUT | N | -1
_TRANSPORT | C | Пустая строка
_TRIGGERLEVEL | N | 0
_UNIX | L | .T. в FoxPro для UNIX
_VFP | O | Microsoft Visual FoxPro
_WINDOWS | L | .T. в Visual FoxPro для Windows
_WIZARD | C | Wizard.app
_WRAP | L | .F.

См. Также

Другие Ресурсы

PUBLIC Команда
PRIVATE Команда
STORE Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_ASCIICOLS System Variable

Visual FoxPro 9.0 Справочник Языка
_ASCIICOLS Системная Переменная
См. Также

Определяет количество столбцов в текстовом файле ASCII, созданном с ключевым словом ASCII в команде REPORT FORM .

_ASCIICOLS = nExpression

Параметры

nExpression

Определяет количество столбцов в создаваемом текстовом файле. Значение по умолчанию - 80.

См. Также

Другие Ресурсы

REPORT Команда
_ASCIIROWS Команда
CREATE REPORT Команда
MODIFY REPORT Команда
Системные Переменные A-Z
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_ASCIIROWS System Variable

Visual FoxPro 9.0 Справочник Языка
_ASCIIROWS Системная Переменная
См. Также

Определяет число строк в текстовом файле ASCII, созданном с ключевым словом ASCII в команде REPORT FORM .

_ASCIIROWS = nExpression

Параметры

nExpression

Определяет число строк в текстовом файле, чтобы их создать. Значение по умолчанию - 63.

См. Также

Другие Ресурсы

REPORT Команда
_ASCIICOLS Команда
CREATE REPORT Команда
MODIFY REPORT Команда
REPORT Команда
Системные Переменные A-Z
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_BEAUTIFY System Variable

Visual FoxPro 9.0 Справочник Языка
_BEAUTIFY Системная Переменная
См. Также

Определяет приложение изящного форматирования для программ Visual FoxPro и выполняется, когда Вы выбираете команду Beautify на меню Tools.

_BEAUTIFY = cProgramName, aOptions

Параметры

cProgramName

Определяет приложение изящного форматирования. Если ваше приложение изящного форматирования находится в другом каталоге кроме текущего основного каталога, включите путь с именем приложения. Вы можете также определить приложение изящного форматирования в вашем файле конфигурации включением строки, используя этот синтаксис:
Скопировать код
_BEAUTIFY = cProgramName
Обратите внимание, что ваше приложение изящного форматирования должно принять единственный параметр - имя программы. Ваше приложение изящного форматирования может модифицировать программу, записывать модификацию во временный файл, и затем возвращать имя временного файла FoxPro. FoxPro считывает временный файл обратно в сеанс редактирования под первоначальным именем программы FoxPro, и затем удаляет временный файл.
aOptions

Только внутреннее использование

Замечания

Команда Beautify появляется в меню Tools, когда Вы открываете программу или текстовый файл в окне редактирования.

См. Также

Другие Ресурсы

Документирующий Мастер
Диалоговое окно Beautify Options
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_BROWSER System Variable

Visual FoxPro 9.0 Справочник Языка
_BROWSER Системная Переменная
См. Также

Определяет имя приложения просмотра классов (браузер).

_BROWSER = cProgramName

Параметры

cProgramName

Определяет имя приложения просмотра классов. По умолчанию, значение _BROWSER установлено в Browser.app, который установлен в том же самом каталоге что и Visual FoxPro. Для подробной информации, см. Использование браузера классов .
Обратите внимание:
Если браузер классов находится в другом каталоге или папке кроме текущего, включите путь при спецификации имени приложения браузера классов.

См. Также

Другие Ресурсы

Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_BUILDER System Variable

Visual FoxPro 9.0 Справочник Языка
_BUILDER Системная Переменная
См. Также

Содержит имя построителя Visual FoxProа приложение.

_BUILDER = cProgramName

Параметры

cProgramName

Определяет приложение построителя. Если ваше приложение построителя находится в любом кроме текущего каталога Visual FoxPro по умолчанию, включите путь с именем приложения.

Замечания

_BUILDER системная переменная содержит имя приложения, которое Visual FoxPro использует, когда Вы выбираете построитель в Проектировщике Формы. По умолчанию, _BUILDER содержит BUILDER.APP, установленный в вашем каталоге Visual FoxProа. Вы можете определить другое имя для приложения построителя.

См. Также

Другие Ресурсы

Обзор системных переменных
Как: Добавить элементы управления к форме Visual FoxPro
Проектировщик Формы

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_CALCMEM Системная Переменная

Visual FoxPro 9.0 Справочник Языка
_CALCMEM Системная Переменная
См. Также Пример

Содержит числовое значение, которое Microsoft Visual FoxPro хранит в памяти Калькулятора.

_CALCMEM = nCalculatorValue

Параметры

nCalculatorValue

Определяет числовое значение, которое _CALCMEM хранит в памяти.

Замечания

Вы можете сохранить результат вычисления в памяти Калькулятора и возвратить результат программе, или Вы можете разместить определенное значение в память Калькулятора перед использованием Калькулятора.

Чтобы инициализировать память Калькулятора, сохраните числовое значение _CALCMEM командой STORE или оператор присвоения =. Когда Вы запускаете Калькулятор, его память содержит значение, которое Вы определили.

Пример

Следующий пример программы сохраняет числовую константу 1234 в переменной _CALCMEM. Программа вызывает Калькулятор и заносит в буфер клавиатуры символ R. Клавиша R выводит значение, сохраненное в памяти Калькулятора.

Скопировать код
STORE 1234 TO _CALCMEM
ACTIVATE WINDOW calculator
CLEAR TYPEAHEAD
KEYBOARD CHR(82)

См. Также

Другие Ресурсы

ACTIVATE WINDOW Команда
_CALCVALUE Системная Переменная
STORE Команда
CALCULATE Команда
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_CALCVALUE System Variable

Visual FoxPro 9.0 Справочник Языка
_CALCVALUE Системная Переменная
См. Также Пример

Содержит числовое значение, которое отображает Калькулятор.

_CALCVALUE = nCalculatorDisplayValue

Параметры

nCalculatorDisplayValue

Определяет числовое значение, которое отображает Калькулятор.

Замечания

Вы можете возвратить результат калькулирования в программу, или разместить определенное значение в Калькулятор перед его использованием.

Чтобы инициализировать значение Калькулятора, сохраните числовое значение в переменной _CALCVALUE с помощью команды STORE или оператора присваивания =. Когда Вы вызываете Калькулятор, он отображает то значение, которое Вы определили.

Пример

В следующем примере, числовое значение 1234 сохранено в переменной _CALCVALUE. Калькулятор изображает значение 1234.

Скопировать код
STORE 1234 TO _CALCVALUE
ACTIVATE WINDOW calculator

См. Также

Другие Ресурсы

ACTIVATE WINDOW Команда
_CALCMEM
STORE Команда
CALCULATE Команда
Выводить Вычисляемые Значения в Колонке

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_CLIPTEXT System Variable

Visual FoxPro 9.0 Справочник Языка
_CLIPTEXT Системная Переменная
См. Также Пример

Содержит данные Буфера обмена.

_CLIPTEXT = cExpression

Параметры

cExpression

Определяет символьное выражение, чтобы сохранить в Буфере обмена.

Замечания

Вы можете разместить символьное выражение cExpression в буфер обмена оператором присваивания STORE или = .

Пример

Эти примеры поместят длинные имена путей в буфер обмена.

Скопировать код
_cliptext=_vfp.ServerName

или

Скопировать код
_cliptext=getfile()

См. Также

Другие Ресурсы

PRIVATE Команда
PUBLIC Команда
STORE Команда
Текстовый Редактор и приемы Манипуляции с Буфером обмена
= Команда
Метод DataToClip
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_CODESENSE System Variable

Visual FoxPro 9.0 Справочник Языка
_CODESENSE Системная Переменная
См. Также

Содержит имя приложения, которое обеспечивает функциональные возможности для IntelliSense МенеджерА.

_CODESENSE = [cFilename]

Параметры

cFilename

Определяет имя приложения Visual FoxPro, которое обеспечивает функциональные возможности для IntelliSense Менеджера. По умолчанию, _CODESENSE определяет FoxCode.app, расположенный в папке приложений пользователя Windows или каталоге HOME( ).

См. Также

Другие Ресурсы

Окно Менеджера Visual FoxPro IntelliSense
Обзор IntelliSense
Системные Переменные

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_CONVERTER System Variable

Visual FoxPro 9.0 Справочник Языка
_CONVERTER Системная Переменная
См. Также

Содержит имя приложения-конвертера Visual FoxProа Microsoft.

_CONVERTER = cProgramName

Параметры

cProgramName

Определяет приложение конвертера. Если ваше приложение конвертера находится в любом кроме текущего каталога Visual FoxPro по умолчанию, включите путь с именем приложения. Вы можете также определить приложение конвертера в вашем файле конфигурации Visual FoxPro включением строки, используя следующий синтаксис:
Скопировать код
_CONVERTER = cProgramName

Замечания

Системная переменная _CONVERTER содержит имя приложения, которое Visual FoxPro использует, когда Вы пытаетесь открывать экран, отчет, или проект, созданный в более ранней версии FoxPro. По умолчанию, _CONVERTER содержит Convert.app, установленный в вашем каталоге Visual FoxPro. Вы можете определить другое имя для приложения конвертера.

См. Также

Ссылки

Спецификация Файла конфигурации

Другие Ресурсы

Диалоговое окно Конвертера Visual FoxPro
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_COVERAGE Системная Переменная

Visual FoxPro 9.0 Справочник Языка
_COVERAGE Системная Переменная
См. Также

Содержит имя приложения Visual FoxPro, которое генерирует вывод зоны отладки и протоколирование Дебаггера.

_COVERAGE = cProgramName

Параметры

cProgramName

Определяет приложение вывода зоны отладки. Если ваше приложение протоколирования зоны отдадки, находится в каталоге, любом кроме текущего каталога Visual FoxPro по умолчанию, включите путь с именем приложения. Вы можете также определить приложение вывода зоны отладки в вашем файле конфигурации Visual FoxPro включением строки, используя этот синтаксис:
Скопировать код
_COVERAGE = cProgramName

Замечания

По умолчанию, _COVERAGE содержит Coverage.app, установленный в вашем каталоге Visual FoxPro. Вы можете определить другое имя для приложения вывода зоны отладки.

См. Также

Другие Ресурсы

SET COVERAGE Команда
SET EVENTTRACKING Команда
Модификация Протоколирования Зоны Отладки
Приложение Протоколирования Зоны Отладки
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_DIARYDATE System Variable

Visual FoxPro 9.0 Справочник Языка
_DIARYDATE Системная Переменная
См. Также Пример

Содержит текущую дату в Calendar/Diary.

_DIARYDATE = dExpression

Параметры

dExpression

Определяет дату для Calendar/Diary.

Замечания

С _DIARYDATE, Вы можете отобразиться Calendar/Diary с определенной выбранной датой, или Вы можете возвратиться выбранную дату /Calendar Diary.

По умолчанию, в _DIARYDATE хранится текущая дата. Когда Вы открываете Calendar/Diary, устанавливается текущая дата. Вы можете хранить различную дату в _DIARYDATE так, чтобы Calendar/Diary открывался с этой новой выбранной датой.

Выбор новой даты, когда Calendar/Diary открыт сохраняет ее в _DIARYDATE. Когда Вы закрываетесь Calendar/Diary, _DIARYDATE содержит последнюю выбранную дату.

Пример

В следующем примере, Calendar/Diary открывается с мартом 28, 2001, , и ниже появляется значение DIARYDATE. Затем, в _DIARYDATE сохраняется Июль 4, 1776, и занчение _DIARYDATE выводится снова. Затем, программа использует функцию DATE( ), чтобы выбрать текущую дату, и выводит _DIARYDATE.

Скопировать код
SET CENTURY ON
STORE {^2001-03-28} TO _DIARYDATE
=MESSAGEBOX(DTOC(_DIARYDATE),64)
ACTIVATE WINDOW calendar
=MESSAGEBOX("Change date to July 4, 1776",48))
STORE {^1776-07-04} TO _DIARYDATE
=MESSAGEBOX(DTOC(_DIARYDATE),64)
=MESSAGEBOX("Change date to today's date",48)
STORE DATE( ) TO _DIARYDATE
=MESSAGEBOX(DTOC(_DIARYDATE),64)
RELEASE WINDOW calendar

См. Также

Другие Ресурсы

STORE Команда
Add a Data-Bound Calendar Sample
SET CENTURY Команда
ACTIVATE WINDOW Команда
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_DOS System Variable

Visual FoxPro 9.0 Справочник Языка
_DOS Системная Переменная
См. Также

Включено для обратной совместимости. Всегда возвращает ложь (.F). в Visual FoxPro.

См. Также

Другие Ресурсы

_MAC Системная Переменная
_UNIX Системная Переменная
VERSION( )
_WINDOWS Системная Переменная
Краткий обзор Системных Переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_FOXCODE System Variable

Visual FoxPro 9.0 Справочник Языка
_FOXCODE Системная Переменная
См. Также

Определяет имя файла таблицы, используемого для Visual FoxPro IntelliSense.

_FOXCODE [= cDBFFileName]

Параметры

cDBFFileName

Определяет имя файла, содержащего таблицу, которая определяет IntelliSense функциональные возможности. По умолчанию, _FOXCODE определяет файл, который называют FoxCode.dbf, который сохранен в вашей папке приложений пользователя Windows или по месту HOME(1) .

Замечания

Подобно файлу ресурса FoxUser.dbf, FoxCode.dbf открывается при запуске Visual FoxPro.

Для информации о доступе к данным в FoxCode.dbf, см. Настройка IntelliSense в Visual FoxPro .

См. Также

Другие Ресурсы

HOME( ) Функция
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_FOXREF System Variable

Visual FoxPro 9.0 Справочник Языка
_FOXREF Системная Переменная
См. Также

Содержит имя приложения, которое обеспечивает инструмент Кодовых Ссылок.

_FOXREF = cFoxRefApplication

Параметры

cFoxRefApplication

Определяет имя программы Visual FoxPro, которая обычно используется для обработки поиска Кодовых Ссылок.

Замечания

По умолчанию, системная переменная _FOXREF указывает на следующий файл:

HOME () + "FoxRef.app"

Вы можете изменить эту установку во вкладке File Locations диалогового окна Options.

Вы можете вызвать это приложение непосредственно следующим образом:

Скопировать код
DO (_FOXREF) WITH oAction

oAction является объектом со следующими свойствами: Mode , Word , FileName , LineNo , Class , Proc , и hWnd . Обратитесь к источнику FoxRef в каталоге Tools/XSource для подробной информации о том, как эти параметры должны быть заданы.

См. Также

Другие Ресурсы

Системные Переменные
DO Команда
Вкладка File Locations, Диалоговое окно Options
Диалоговое окно Look Up Reference
Окно Code References
Как: Просмотреть Кодовые Определения

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_FoxTask System Variable

Visual FoxPro 9.0 Справочник Языка
_FoxTask Системная Переменная
См. Также Пример

Определяет имя таблицы FOXTASK, которая используется Менеджером Задач Visual FoxPro.

_FoxTask [= cDBFFileName]

Параметры

cDBFFileName

Определяет имя файла, который используется Редактором Visual FoxPro и Менеджером Списка задач, чтобы хранить Ярлыки Tasklist.

Замечания

По умолчанию, файл именуется foxtask.dbf и сохраняется в вашей папке приложений пользователя Windows или в HOME( ). Следующая таблица описывает структуру foxtask.dbf

Имя поля | Тип | Ширина | Описание
UNIQUEID | C | 10 | Определяет Уникальный ID Visual FoxPro
TIMESTAMP | N | 10 | Определяет Visual FoxPro timestamp
FILENAME | М. | 4 | Определяет имя файла
CLASS | М. | 4 | Определяет имя класса (.vcx.scx)
METHOD | М. | 4 | Имя метода (.vcx.scx)
LINE | N | 6 | Определяет номер строки
CONTENTS | М. | 4 | Определяет содержание строки
TYPE | C | 1 | "S" - для ярлыка; другие могут быть определяемы пользователем
DUEDATE | D | 8 | Определяемая пользователем должная Дата
PRIORITY | N | 1 | Определяет определяемую пользователем установку приоритета для пункта 0 = low1 = medium2 = высоко
STATUS | N | 1 | Состояние завершенности задачи 0 = не completed1 = законченный

Вы можете определить другое имя для таблицы tasklist, используя свойство FoxTask как в следующем примере:

Пример

Скопировать код
_FOXTASK = MyTasks.dbf

См. Также

Другие Ресурсы

_TASKLIST Системная Переменная
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GALLERY System Variable

Visual FoxPro 9.0 Справочник Языка
_GALLERY Системная Переменная
См. Также

Определяет программу, которая выполняется, когда Вы выбираете Component Gallery из меню Tools.

_GALLERY = ProgramName

Параметры

ProgramName

Определяет программу. Если ваша программа находится в другом каталоге кроме текущего основного каталога, включите путь с именем программы.

Замечания

_GALLERY содержит GALLERY.APP по умолчанию.

См. Также

Другие Ресурсы

Использование Галереи Компонентов
Системные Переменные A-Z
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GENHTML System Variable

Visual FoxPro 9.0 Справочник Языка
_GENHTML Системная Переменная
См. Также

Определяет программу генерации HTML (Язык разметки гипертекста).

_GENHTML = ProgramName

Параметры

ProgramName

Определяет программу, которая генерирует HTML. Если ваш генератор HTML находится в каталоге, любом кроме текущего каталога, включите путь с именем программы.

Замечания

_GENHTML содержит Genhtml.prg по умолчанию. Genhtml.prg выполняется, когда Вы выбираете Save As HTML из меню File. Создается текстовый файл, который содержит версию формы, меню, отчета, или таблицы на языке разметки гипертекста. Save As HTML доступна только, когда Форма, Меню, или Report Designer активны и форма, меню, или отчет был сохранен, или когда окно Browse является открытым.

См. Также

Другие Ресурсы

CREATE FORM Команда
CREATE MENU Команда
CREATE REPORT Команда
USE Команда
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GENMENU System Variable

Visual FoxPro 9.0 Справочник Языка
_GENMENU Системная Переменная
См. Также

Определяет программу гернерирования меню.

_GENMENU = ProgramName

Параметры

ProgramName

Определяет программу, которую предыдущие версии использовали для генерирования кода меню из .mnx таблицы определения меню. Если ваша программа находится в другом каталоге кроме текущего основного каталога, включите путь с именем программы.

Замечания

_GENMENU содержит Genmenu.prg по умолчанию. Директива (#IMAGEPATHS) имеет действие, если для изображений меню сгенерированы полные пути.

См. Также

Другие Ресурсы

CREATE MENU Команда
_GENSCRN Системная Переменная
Системные Переменные A-Z
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GETEXPR System Variable

Visual FoxPro 9.0 Справочник Языка
_GETEXPR Системная Переменная
См. Также

Определяет программу, которая выполняется, когда Вы запускаете команду GETEXPR или вызываете диалоговое окно Expression Builder из Visual FoxPro.

_GETEXPR = ProgramName

Параметры

ProgramName

Определяет программу, которая выполняется, когда Вы запускаете команду GETEXPR или вызываете диалоговое окно Expression Builder из Visual FoxPro. Если ваша программа находится в каталоге, любом кроме текущего основной каталог, включите путь с именем программы.

Замечания

_GETEXPR содержит пустую строку по умолчанию; пустая строка указывает, что отображается стандартное диалоговое окно Expression Builder Visual FoxPro, когда выполнена команда GETEXPR или когда, Вы вызывает диалоговое окно Expression Builder из Visual FoxPro.

Вы можете создать вашу собственную программу Expression Builder, которая будет выполнена по команде GETEXPR при вызове диалогового окна Expression Builder из Visual FoxPro. Ваша программа Expression Builder должна содержать инструкцию LPARAMETERS ИЛИ PARAMETERS первой выполняемой строкой, чтобы принять четыре параметра, которые Visual FoxPro передает к программе. Параметры упомянуты ниже в порядке их передачи:

Параметр | Описание
cExpressionType | Определяет тип выражения.
cErrorMessageText | Определяет отображаемое сообщение об ошибке при недопустимом выражении.
cDefaultExpression | Определяет начальное заданное по умолчанию выражение в Expression Builder.
cCaptionText | Определяет заголовок, который появляется в Expression Builder.

Например, следующая строка могла быть первой выполнимой строкой вашей программы Expression Builder:

Скопировать код
LPARAMETERS cExpressionType, cErrorMessageText, ;
   cDefaultExpression, cCaptionText

Если ваша программа Expression Builder выполняется из диалогового окна Expression Builder вызваного из Visual FoxPro, первые три параметра содержат пустую строку, а четвертый параметр содержит заголовок cCaptionText , который появляется в Expression Builder.

Обратите внимание, что Visual FoxPro Expression Builder - модальный диалог. Ваш Expression Builder должен установить свои свойства формы в следующие значения для создания модального диалога:

Свойство формы | Значение свойства
AlwaysOnTop | Истина (.T).
Desktop | Истина (.T).
WindowType | 1 - Modal

См. Также

Другие Ресурсы

GETEXPR Команда
LPARAMETERS Команда
PARAMETERS Команда
Системные Переменные A-Z
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_INCLUDE System Variable

Visual FoxPro 9.0 Справочник Языка
_INCLUDE Системная Переменная
См. Также

Определяет заданный по умолчанию заголовочный файл, включенный с определяемыми пользователем классами, формами, или наборами формы.

_INCLUDE = HeaderFileName

Параметры

HeaderFileName

Определяет заданный по умолчанию заголовочный файл предопределенных констант во время компиляции, автоматически включенных с определяемыми пользователем классами, формами, или наборами формы. Если ваш заголовочный файл находится в другом каталоге кроме текущего основного каталога, включите путь с именем файла заголовка. Содержит пустую строку по умолчанию.

Замечания

Вы можете также определить заданный по умолчанию заголовочный файл через пункт Default Include File во вкладке File Locations диалогового окна Options.

См. Также

Другие Ресурсы

CREATE CLASS Команда
CREATE FORM Команда
File Locations Tab, Options Dialog Box
#INCLUDE Директива Препроцессора
Системные Переменные A-Z

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_INCSEEK System Variable

Visual FoxPro 9.0 Справочник Языка
_INCSEEK Системная Переменная
См. Также

Определяет интервал времени, который является открытым для нажатий клавиши в пределах инкрементного поиска как для элементов управления Listbox или ComboBox.

_INCSEEK = nTicks

Параметры

nTicks

Определяет интервал времени в секундах. Внутренняя синхронизация определяется временными "тиками", которые составляют о 1/18th секунды. Если Вы задаете целочисленное или десятичное значение в _INCSEEK, Visual FoxPro может сохранить его в виде незначительно отличающегося значение из-за округления в соответствии с "тиками". _INCSEEK может принимать значения от 0.05 до 5.5 секунды (1 - 100 "тиков").

Замечания

Применяется к свойству: IncrementalSearch

В более ранних версиях Visual FoxPro, значение _DBLCLICK также определяет инкрементный интервал поиска. Значение по умолчанию для _INCSEEK - 0.50.

См. Также

Другие Ресурсы

_DBLCLICK Системная Переменная
Системные Переменные A-Z
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_MAC System Variable

Visual FoxPro 9.0 Справочник Языка
_MAC Системная Переменная
См. Также

Включено для обратной совместимости. Всегда возвращает Ложь (.F). в Visual FoxProе.

См. Также

Другие Ресурсы

_DOS Системная Переменная
_UNIX Системная Переменная
VERSION( ) Функция
_WINDOWS Системная Переменная

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_MENUDESIGNER System Variable

Visual FoxPro 9.0 Справочник Языка
_MENUDESIGNER Системная Переменная
См. Также

Определяет внешнее приложение для того, чтобы создать меню.

_MENUDESIGNER = cProgramName

Параметры

cProgramName

Определяет имя файла для внешнего проектировщика меню. Если приложение находится в другом каталоге кроме текущего основного каталога, включите путь с именем приложения. Вы можете также определить приложение в вашем файле конфигурации Visual FoxPro Config.fpw включением строки, используя этот синтаксис:
Скопировать код
_MENUDESIGNER = cProgramName
Если _MENUDESIGNER содержит заданную по умолчанию пустую строку, то открыт проектировщик меню Visual FoxPro.

Замечания

Приложение, указанное в _MENUDESIGNER работает в течение интерактивного режима создания программы Visual FoxPro сессии. Приложение выполняется, когда Вы выбираете Menu из пункта Новое Диалоговое окно (New Dialog Box) , новое Меню в Организаторе проекта (Project Manager), вызываете CREATE MENU , MODIFY MENU , или EDITSOURCE( ) в окне Command или программе, или при запросе Изменить метод для файлового объекта, к которому обращаются через объект ProjectHook.

Обратите внимание:
Когда выполняется внешний проектировщик меню, пункты меню, обычно связанные с Visual FoxPro проектировщиком, не доступны.

Внешний проектировщик меню должен включать инструкцию PARAMETERS , чтобы получить три параметра, которые Visual FoxPro передает приложению.

Параметр Описание

cFileName

Параметр символьного типа содержащий имя файла меню, которое будет открыто в приложении меню проектировщика.

Если CREATE MENU menuname дана для выполнения проектировщика меню, cFileName содержит menuname с полным путем к файлу.

Если CREATE MENU задана без menuname , отображается диалоговое окно New Menu. После того, как пользователь выбирает опцию Menu или Shortcut Menu, приложение меню проектировщика запускается и cFileName получает внутреннее имя меню Menu1 , Menu2 , и так далее. Числовой параметр в Имени меню увеличивается при каждом CREATE MENU без menuname .

Если запущена CREATE MENU ? , то вызывается диалоговое окно, разрешая пользователю определить имя меню. Когда пользователь вводит Имя меню и выбирает Save, отображается диалоговое окно NewMenu. После того, как пользователь выбирает опцию Menu или Shortcut Menu, cFileName содержит имя меню пользователя с полным путем к местоположению файла.

nCommandType

Параметр Числовой типа, который указывает, как проектировщик меню, был вызван.

nCommandType | Описание
1 | Опция Menu была выбрана в диалоговом окне New Menu.
2 | Опция Shortcut была выбрана в диалоговом окне New Menu.
3 | Команда MODIFY MENU использовалась, чтобы вызвать приложение. cFileName параметр содержит имя меню, указанного в MODIFY MENU с полным путем к местоположению файла.

aDetail

Массив с дополнительной информацией о команде, которая вызвала приложение проектировщик.

Массив создается в случае, если приложение вызвано через Новое Меню в Организаторе Проекта, или командами CREATE MENU или MODIFY MENU с дополнительным предложениями NOWAIT, SAVE, WINDOW ИЛИ IN.

Когда массив не создан, третий параметр представлен переменной памяти, содержащей логическую ложь (.F)..

Когда приложение вызвано через Новое Меню в Организатор Проекта, создается двухмерный массив. Первый элемент массива содержит "PROJECT. " Второй элемент содержит имя проекта с полным путем к местоположению файла.

Когда приложение вызвано через CREATE MENU или MODIFY MENU с дополнительным предложениями NOWAIT, SAVE, WINDOW ИЛИ IN, массив содержит строку для каждого предложения. Каждая строка в массиве имеет два элемента.

Следующая таблица описывает содержание каждого из этих двух элементов.

1-ый Элемент | 2-ой Элемент
NOWAIT | Содержит логическую истину (.T)..
SAVE | Содержит логическую истину (.T)..
WINDOW | Содержит имя окна, указанного в предложении WINDOW.
IN | Содержит SCREEN или имя указанного окна.

Внешний проектировщик меню должен возвратить логическую истину (.T). если приложение успешно создает меню пользователя. Если возвращена логическая ложь (.F)., то значит открыт Visual FoxPro проектировщик Меню.

См. Также

Справочники

CREATE MENU Команда
MODIFY MENU Команда
EDITSOURCE () Функция
Метод Модификаци
Окно Организатора проекта

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_MLINE System Variable

Visual FoxPro 9.0 Справочник Языка
_MLINE Системная Переменная
См. Также

Содержит смещение memo-поля для MLINE( ) функции.

_MLINE = nNumberOfCharacters

Параметры

nNumberOfCharacters

Определяет смещение memo-поля. Для подробной информации об использовании _MLINE и примере его использования, см. MLINE( ) .

Замечания

MLINE( ) возвращает одну строку текста memo-поля. MLINE( ) сохраняет значение смещения memo-поля в _системной переменной _MLINE. Используйте _MLINE как второй числовой параметр в MLINE( ) функции, чтобы ускорить выполнение MLINE( ).

Первоначальное значение по умолчанию для _MLINE - 0. Убедитесь, что сбросили значение _MLINE в 0 перед использованием _MLINE повторно с MLINE( ) функцией.

См. Также

Другие Ресурсы

Системные Переменные
ALINES( ) Функция
MEMLINES( ) Функция
MLINE( ) Функция
SET MEMOWIDTH Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_ObjectBrowser System Variable

Visual FoxPro 9.0 Справочник Языка
_ObjectBrowser Системная Переменная
См. Также

Содержит имя объектного приложения браузера.

_ObjectBrowser = cObjectBrowserApplication

Параметры

cObjectBrowserApplication

Определяет имя программы Visual FoxPro, которая позволяет Вам просматривать библиотеки COM типа.

Замечания

По умолчанию, _ObjectBrowser содержит objectbrowser.app, установленный в вашей папке приложений пользователя Windows или в HOME( ) . Вы можете определить другое имя для объектного браузера.

См. Также

Другие Ресурсы

Обзор системных переменных
Объектный Браузер
Как: Использовать Объектный Браузер

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PAGENO System Variable

Visual FoxPro 9.0 Справочник Языка
_PAGENO Системная Переменная
См. Также

Содержит текущий номер страницы.

_PAGENO = nCurrentPageNumber

Параметры

nCurrentPageNumber

Определяет числовое значение от 1 до 32,767 для текущего номера страницы. _PAGENO, _PBPAGE и _PEPAGE работают в унисон. Если _PAGENO получает значение (или увеличивается на шаг) с выходом за пределы диапазона _PBPAGE - _PEPAGE, то никакие страницы не будут напечатаны.

Замечания

_PAGENO содержит числовое значение, которое определяет текущий номер страницы. Стартовое значение по умолчанию - 1. _PAGENO позволяет Вам печатать номера страниц в потоковом выводе без определения, инициализации, и пошаговом увеличении переменной памяти для той цели.

См. Также

Другие Ресурсы

Системные Переменные
ON PAGE Команда
_PBPAGE Системная Переменная
_PEPAGE Системная Переменная
_PLENGTH Системная Переменная
_PLINENO Системная Переменная
_PAGETOTAL Системная Переменная

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PAGETOTAL System Variable

Visual FoxPro 9.0 Справочник Языка
_PAGETOTAL Системная Переменная
См. Также Пример

Содержит общее количество страниц в отчете.

Вы можете использовать _PAGETOTAL для установки нумерации страниц в отчетах вида "Страница X из Y". _PAGETOTAL поддерживается как в девелопере так и в run-time Visual FoxPro во всех операциях отчета, включая REPORT FORM...TO FILE...ASCII и с дополнительными параметрами типа RANGE .

_PAGETOTAL [ = nValue ]

Параметры

nValue

Определяет положительное число, представляющее общее количество страниц в отчете.

Замечания

Вы можете установить _PAGETOTAL в любое время. Visual FoxPro оценивает и обновляет _PAGETOTAL только когда происходит выполнение отчета REPORT FORM . В начале выполнения отчета, Visual FoxPro инициализирует _PAGETOTAL значением 0, независимо от того использует ли отчет переменную _PAGETOTAL .

Если Вы включаете _PAGETOTAL где-нибудь в отчете Visual FoxPro, Visual FoxPro исполняет двойной проход отчета. Первый проход не видим или используется для вывода и вычисления переменной _PAGETOTAL . В течение первого прохода, _PAGETOTAL принимает значение -1.

По соображениям быстродействия, Вы можете подавить отчет с двумя проходами, запрещая вызов _PAGETOTAL в режиме предварительного просмотра печати, используя выражение типа:

Скопировать код
TRANS(_PAGENO) + IIF(SYS(2040)="1", "", " OF " + TRANS(_PAGETOTAL))

Если Вы не включаете ссылку на _PAGETOTAL в отчете, Visual FoxPro устанавливает значение _PAGETOTAL в значение общего количества страниц в конце печати и выполняет только один проход отчета.

Вы можете вызвать второй проход отчета, используя выражение типа:

Скопировать код
IIF( _PAGETOTAL = 0, "","" )

Инициализизация второго прохода позволяет выполнить дополнительные операции, используя переменные отчета типа вывода % от общего количества страниц.

Совет:
Для инициализации второго прохода, в предыдущих версиях Visual FoxPro, Вы нуждались в ссылке на _PAGETOTAL в раскладке отчета. В Visual FoxPro 9.0, Вы можете также использовать ссылку на ReportListener вашей команды REPORT FORM. Устанавливая свойство ReportListener's свойство TwoPassProcess в .T . прежде, чем отчет выполнится, Вы можете вызвать двойной проход отчета, даже если Вы не использовали _PAGETOTAL в любых выражениях отчета. Для подробной информации, см. свойство TwoPassProcess .

Значение _PAGETOTAL должно равняться значению _PAGENO в конце печати отчета, независимо включает ли отчет _PAGETOTAL .

Пример

Следующий пример иллюстрирует, как включить нумерацию типа "Страница X из Y" в вашем отчете, используя системную переменную _PAGETOTAL и добавляя следующее выражение в поле отчета:

Скопировать код
"Page " + TRANS(_PAGENO) + " of " + TRANS( _PAGETOTAL)

См. Также

Ссылки

ReportListener Свойства Объекта, Методы, и События
REPORT FORM Команда

Другие Ресурсы

Обзор системных переменных
_PAGENO Системная Переменная

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PRETEXT System Variable

Visual FoxPro 9.0 Справочник Языка
_PRETEXT Системная Переменная
См. Также

Определяет символьное выражение для дополнения начала строки при слиянии текста.

_PRETEXT = cExpression

Замечания

При использовании с SET TEXTMERGE, Вы можете объединять текст в пределах программы. Вы можете вывести строки текста, содержание переменных, и результатов выражений и функций на экран, в окну, на принтер, в текстовый файл, или в отрытый на нижнем уровне файл.

Если Вы храните символьное выражение в _PRETEXT, то оно добавляется в начало строки текста вывода. Для установления отступов программно, Вы можете поместить символы табуляции в _PRETEXT.

См. Также

Другие Ресурсы

\ | \\ Команда
SET TEXTMERGE Команда
_TEXT Системная Переменная

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_REPORTBUILDER System Variable

Visual FoxPro 9.0
_REPORTBUILDER Системная Переменная
См. Также Пример

Определяет приложение, используемое Report Designer'ом, чтобы обработать события построителя.

Для подробной информации относительно построителей отчета, см. Как: Расширить или Заменить Построитель Отчета

_REPORTBUILDER = cProgramName

Параметры

cProgramName

Определяет имя приложения или программы, которую Report Designer вызывает пр инаступлении события построителя. Вы можете также определить пустую строку (" "), которая вызывает вывод диалоговых окон как в версиях до Visual FoxPro 9.0.
Обратите внимание:
Если приложение расположено в другом каталоге кроме текущего основного каталога, включите имя пути с именем программы.

Замечания

По умолчанию, _REPORTBUILDER определяет путь и имя файла для ReportBuilder.app, расположенный в главном каталоге Visual FoxPro.

Вы можете также определить файл приложения построителя, используя вкладку File Locations в диалоговом окне Options. Для подробной информации, см. Вкладка File Locations, Диалоговое окно Options .

Приложение, которое Вы назначили через _REPORTBUILDER должно быть модальным. Оно должно принимать параметры от Report Designer и возвращать соответствующие значения первого параметра, который передается по ссылке.

Visual FoxPro не генерирует ошибку, если не определяет местонахождение приложения для _REPORTBUILDER . Report Designer обрабатывает события построителя, только если Вы определяете допустимое приложение или программный файл.

Обратите внимание:
При распространении построителей отчета с вашими приложениями, Вы можете найти удобным явно установить _REPORTBUILDER в файл конфигурации Visual FoxPro, Config.fpw. Для подробной информации, см. Включение Файлов Отчета для Распространения и Установка Вариантов Конфигурации при Старте .

Пример

Следующая строка программы задает системной переменной _REPORTBUILDER приложение Report Builder по умолчанию:

Скопировать код
_REPORTBUILDER = HOME(1)+"ReportBuilder.app"

См. Также

Задачи

Как: Расширить или Замените Построитель Отчетов

Ссылки

Системные Переменные
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_REPORTOUTPUT System Variable

Visual FoxPro 9.0
_REPORTOUTPUT Системная Переменная
См. Также Пример

Определяет дескриптор приложения Visual FoxPro, обеспечивающего производные классы ReportListener, которые используются с командой REPORT FORM , поддерживая реестр производных классов ReportListener для различных результатов вывода.

_REPORTOUTPUT = cProgramName

Параметры

cProgramName

Определяет имя приложения или программы, которую система отчетов Visual FoxPro вызывает в случае соответствующего применения команды REPORT FORM .

Замечания

Система Отчетов Visual FoxPro вызывает приложение, указанное этим значением, когда возникает одно из следующих условий:

  • Вы вызываете команды REPORT FORM или LABEL с явным указанием предложения OBJECT TYPE lt;Ngt; . Механизм Отчета передает числовое значение, которое Вы используете, в приложение, имя которого хранится в _REPORTOUTPUT .

  • Вы вызываете команду REPORT FORM после использования SET REPORTBEHAVIOR 90 . Эта установка указывает, что Вы хотите использовать объектно-ассистированный режим для всех команд REPORT FORM или LABEL . Механизм Отчета использует другие ключевые слова для команд вывода (типа TO PRINT или PREVIEW ) для устанавленияь соответствующего числового значение эквиваленту предложения OBJECT TYPE lt;Ngt; .

В обоих сценариях, Механизм Отчета также передает переменную в приложение, указанное переменной в _REPORTOUTPUT . Приложение хранит ссылку на соответствующий объект ReportListener в этой переменной. При последующих обработках отчетов или этикеток, Механизма Отчета разделяет с этим объектом управление выводом.

По умолчанию, _REPORTOUTPUT определяет путь и имя файла для ReportOutput.app, расположенный в главном каталоге Visual FoxPro, как обозначено функцией HOME() .

Вы можете также определить приложение вывода отчета через использование вкладки File Locations в диалоговом окне Options. Для подробной информации, см. Вкладка File Locations, Диалоговое окно Options .

При распространении приложений, Вы можете найти удобным явно установить _REPORTOUTPUT в файл конфигурации Visual FoxPro, Config.fpw. Вы можете также привоить значение _REPORTOUTPUT имени программы, встроенной в ваше приложение. Для подробной информации, см. Включение Файлов Отчета для Распространения и Установка Вариантов Конфигурации при Запуске .

Обратите внимание:
Если Вы используете команды REPORT FORM или LABEL и включаете предложение OBJECT TYPE lt;Ngt; , или предварительно использовали команду SET REPORTBEHAVIOR 90 , без допустимого значения _REPORTOUTPUT , Visual FoxPro генерирует ошибку.

Требования

Приложение, которое Вы определяете через _REPORTOUTPUT, должно выполнять следующие условия:

  1. Оно должно получать не менее двух параметров. Механизм Отчета передает числовое значение, указывая тип требуемого вывода, как первый параметр. Механизм Отчета передает переменную, сохранять ссылку на соответствующий ReportListener, как второй параметр.

  2. Оно должно привоить второму параметру NULL ( .NULL. ), если значение первого параметре не может быть распознано, или оно не может поддерживать ссылку на производный объект ReportListener, учитывая требования первого параметра.

  3. Оно должно быть способно обеспечить ссылки производного объекта ReportListener для (как минимум) числовых типов, соответствующих присущим значениям ListenerType, которые поддерживаются Visual FoxPro. Для подробной информации, см. ListenerType Свойство .

  4. При успешном получении ссылки объекта ReportListener согласно числовому типу, который требуют ReportListener, оно должно сохранить эту ссылку во втором параметре. Оно должно также хранить числовой тип, обеспеченный Механизмом Отчета или запрашивающим приложения к свойству этого объекта OutputType. Для подробной информации, см. Свойство OutputType (Visual FoxPro) .

  5. Оно должно быть модальным, потому что это должно обеспечить соответствующую обратную ссылку на Механизм Отчета. Если оно обеспечивает какие-то элементы интерфейса пользователя, например разрешая пользователю выбрать соответствующий ReportListener из списка, то этот интерфейс должен быть также модальным.

Рекомендации

Следующие дополнительные условия не требуются для приложения для функционирования как _REPORTOUTPUT . Однако, выполнение этих условий строго рекомендуется для любого приложения с такой возможностью:

  1. Приложение должно поддерживать некоторый тип реестра ReportListener , для того чтобы позволять пользователям определять классы, которые они предпочитают использовать для различных типов вывода.

  2. Приложение должно возвращать ошибки к приложению запроса способом, который разрешает вызывающей программе определять, какое действие предпринять, когда Приложение Вывода Отчета не может выполнить своё назначение.

Пример

Следующий пример устанавливает значение системной переменной _REPORTOUTPUT в заданное по умолчанию приложение Report Output.

Скопировать код
_REPORTOUTPUT = HOME() + "ReportOutput.app"

См. Также

Ссылки

HOME () Функция
ReportListener Объект

Другие Ресурсы

Расширение Функциональных возможностей Report Output

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_REPORTPREVIEW System Variable

Visual FoxPro 9.0
_REPORTPREVIEW Системная Переменная
См. Также Пример

Определяет приложение, используемое Visual FoxPro, чтобы генерировать экземпляры пользовательского интерфейса предварительного просмотра отчета, чтобы удовлетворить запросы от экземпляра класса ReportListener .

Для подробной информации относительно пользовательских инрефейсов предварительного просмотра отчета, см. Расширение Функциональных возможностей Предварительного просмотра Отчета

_REPORTPREVIEW = cProgramName

Параметры

cProgramName

Определяет объектное промышленное приложение, вызванное Visual FoxPro.
Обратите внимание:
Если приложение расположено в любом кроме текущего каталога по умолчанию, включите путь с именем программы.

Замечания

По умолчанию, _REPORTPREVIEW обращается к ReportPreview.App, расположенном в главном каталоге Visual FoxPro.

Вы можете также определить приложение, чтобы задать _REPORTPREVIEW через вкладку File Locations в диалоговом окне Options. Для подробной информации, см. Вкладка File Locations, Окно Options .

Приложению _REPORTPREVIEW передается параметр NULL по ссылке, в который оно должно разместить объектную ссылку на экземпляр класса, поддерживающего The Preview Container API . Затем приложение должно завершиться, возвращая ссылку на объект Preview Container:

Скопировать код
pc = .NULL.
DO (_REPORTPREVIEW) WITH pc

Переменная pc будет теперь содержать объектную ссылку.

Выолняйте следующие инструкции:

Скопировать код
    rl = NEWOBJECT("Reportlistener")
    rl.ListenerType = 1
    REPORT FORM customers.frx OBJECT rl

Когда Visual FoxPro выполняет эти команды, он проверяет Reportlistener's свойство PreviewContainer для допустимой объектной ссылки. Если он не находит ни одного, он получает такое, вызывая приложение _REPORTPREVIEW .

Visual FoxPro генерирует ошибку, если он не определяет местонахождение приложения для _REPORTPREVIEW во время предварительного просмотра отчета.

Обратите внимание:
При распространении пром. программ предварительного просмотра отчета вашими приложениями, Вы можете найти удобным явно установить _REPORTPREVIEW в файле конфигурации Visual FoxPro, Config.fpw. Для подробной информации, см. Включение Файлов Отчета для Распространения и Установка Вариантов Конфигурации при Запуске .

Пример

Следующая строка программы устанавливает системную переменную _REPORTPREVIEW заданным по умолчанию приложением Report Preview:

Скопировать код
_REPORTPREVIEW = HOME()+"ReportPreview.app"

См. Также

Ссылки

SET REPORTBEHAVIOR Команда
Объект ReportListener
Системные Переменные
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_SAMPLES System Variable

Visual FoxPro 9.0 Справочник Языка
_SAMPLES Системная Переменная
См. Также

Содержит путь каталога, в котором установлены примеры Microsoft Visual FoxPro.

_SAMPLES = cPath

Параметры

cPath

Определяет полный путь к каталогу, содержащему примеры Visual FoxPro.

Замечания

_SAMPLES определяет путь К каталогу, который содержит примеры для Visual FoxPro. Этот путь - обычно подкаталог \Samples в вашем корневом каталоге Visual FoxPro, который Вы можете определить, используя функцию HOME( ). Если Вы не инсталлируете примеры Visual FoxPro, _SAMPLES тем не менее указывает на подкаталог \Samples, потому что это заданное по умолчанию местоположение для инсталлирования примеров.

Путь, который содержится в _SAMPLES, считывается из ключа регистрации MSDN в Системный реестр Windows. Если этого ключа регистрации не существует (например, если Вы не проинсталлировали примеры), _SAMPLES содержит пустую строку.

Вы можете также определить путь к каталогу примеров через пункт Samples Directory во вкладке File Locations диалогового окна Options . Если Вы используете диалоговое окно Options , чтобы определить путь к каталогу примеров, _SAMPLES содержит путь, который Вы определите. Если Вы выбираете Set As Default , то путь сохраняется для последующих сеансов Visual FoxPro.

HOME(2) возвращает путь, которы содержится в _SAMPLES.

См. Также

Другие Ресурсы

Системные Переменные
HOME () Функция
File Locations

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_SCCTEXT System Variable

Visual FoxPro 9.0 Справочник Языка
_SCCTEXT Системная Переменная
См. Также

Определяет програму перекодировки Visual FoxPro, которая обрабатывает перевод двоичных файлоы Visual FoxPro в текстовые эквиваленты и назад.

_SCCTEXT = cProgramName

Параметры

cProgramName

Определяет программу перекодировки управления исходным кодом. Если ваша программа перекодировки находится в другом каталоге, включите путь с именем программы. Вы можете также задать программу перекодировки в вашем файле конфигурации включением строки, используя этот синтаксис:
Скопировать код
_SCCTEXT = cProgramName

Замечания

По умолчанию, _SCCTEXT содержит Scctext.prg, программу перекодировки Visual FoxPro, которая обрабатывает перевод Visual FoxPro двоичных файлов в текстовые эквиваленты и назад. Эти текстовые файлы используются как основа для того, чтобы сравнить и объединить версии двоичных файлов Visual FoxPro посредством приложения, управляющего исходным кодом.

См. Также

Другие Ресурсы

Системные Переменные
Вкладка Projects, Диалоговое окно Options
Функции Преобразования Данных
CREATEBINARY( ) Функция

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_SCREEN System Variable

Visual FoxPro 9.0 Справочник Языка
_SCREEN Системная Переменная
См. Также

Определяет свойства и методы для главного окна Visual FoxPro. Вы можете использовать _SCREEN для управления главным окном Visual FoxPro как объектом. Есть две версии синтаксиса.

_SCREEN.PropertyName [= eValue]

_SCREEN.MethodName

Параметры

PropertyName

Определяет свойство для главного окна Visual FoxPro.
eValue

Определяет значение для свойства.
MethodName

Определяет метод выполнения для главного окна Visual FoxPro.

Замечания

Вы не можете создать процедуры событий для _SCREEN . Однако, Вы можете использовать Функцию BINDEVENT( ) для связывания событий _SCREEN с другими объектными событиями и методами. _SCREEN является системной переменной объектного типа.

В версиях Visual FoxPro 7.0 и позже, свойства Top, Height, Left, Width, и hWnd переменной _SCREEN , применяются только для клиентсокй области Visual FoxPro, которая является областью, где можно отобразить текст. В ранних версиях, до Visual FoxPro 7.0, Top и Left ссылались на все окно приложения Visual FoxPro.

CLEAR WINDOWS или RELEASE WINDOWS увтанавливают свойства ReleaseType для _SCREEN в 1. Закрывая конкретные Окна, операционная система устанавливает ReleaseType в 2. Для подробной информации, см. команды CLEAR и RELEASE WINDOWS .

Обратите внимание:
Значение, возвращенное ReleaseType для _SCREEN может отличаться от значения, возвращенного ReleaseType для форм, потому что это - главное окно Visual FoxPro.

Примеры

Следующий пример демонстрирует использование _SCREEN для настраивания главного окна Visual FoxPro. Следующие строки программы объявляют локальные переменные чтобы сохранить текущие параметры настройки:

Скопировать код
Local oldScreenLeft
Local oldScreenTop
Local oldScreenHeight
Local oldScreenWidth
Local oldScreenColor

Следующий код сохраняет текущие параметры настройки главного окна Visual FoxPro:

Скопировать код
WITH _SCREEN
 oldScreenLeft=.Left
 oldScreenTop=.Top
 oldScreenHeight=.Height
 oldScreenWidth=.Width
 oldScreenColor = .Backcolor

Следующий код запрещает перерисовку окна, изменяет цвет фона на серый, изменяет стиль бордюра, устанавливает свойства для кнопок управления окном, делает окно подвижным во время run time, определяет высоту и ширину окна, задает заголовок для окна, и разрешает перерисовку экрана:

Скопировать код
 .LockScreen=.T.
 .BackColor=rgb(192,192,192)
 .BorderStyle=2
 .Closable=.F.
 .ControlBox=.F.
 .MaxButton=.F.
 .MinButton=.T.
 .Movable=.T.
 .Height=285
 .Width=550
 .Caption="Custom Screen"
 .LockScreen=.F.
ENDWITH
=MESSAGEBOX("Return to normal  ",48,WTITLE())

Следующий код переводит свойства окна в первоначальное оригинальное значение:

Скопировать код
WITH _SCREEN
 .Left = oldScreenLeft
 .Top = oldScreenTop
 .Height = oldScreenHeight
 .Width  = oldScreenWidth
 .BackColor=oldScreenColor
 .LockScreen=.T.
 .BorderStyle=3
 .Closable=.T.
 .ControlBox=.T.
 .MaxButton=.T.
 .MinButton=.T.
 .Movable=.T.
 .Caption="Microsoft Visual FoxPro"
 .LockScreen=.F.
ENDWITH

См. Также

Другие Ресурсы

Системные Переменные
_SCREEN Системные Переменные Свойства, Методы и События
BINDEVENT( ) Функция
MODIFY WINDOW Команда
Объект Form

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_SCREEN Системная Переменная Свойства, Методы и События

Visual FoxPro 9.0 Справочник Языка
_SCREEN Системные Переменные Свойства, Методы и События
См. Также

Свойства

ActiveControl | ActiveForm | AlwaysOnBottom
AlwaysOnTop | Application |
AutoCenter | BackColor | BaseClass
BorderStyle | BufferMode | Caption
Class | ClassLibrary | ClipControls
Closable | Comment | ControlBox
ControlCount | Controls | CurrentX
CurrentY | DataSession | DataSessionID
DefOLELCID Property | Desktop | DisplayOrientation
DrawMode | DrawStyle | DrawWidth
Enabled | FillColor | FillStyle
FontBold | FontCharSet | FontItalic
FontName | FontOutline | FontShadow
FontSize | FontStrikeThru | FontUnderline
Forecolor | FormCount | Forms
HalfHeightCaption | Height | HelpContextID
HWnd | Icon | KeyPreview
Left | LockScreen | MaxButton
MaxHeight | MaxLeft | MaxTop
MaxWidth | MDIForm | MinButton
MinHeight | MinWidth | MousePointer
Movable | Name | Objects
ParentClass | Picture | ReleaseType
RightToLeft | ScaleMode | ShowTips
TabIndex | TabStop | Tag
Themes | Top | Visible
Width | WindowState | WindowType

Методы

AddObject | AddProperty | Box
Circle | Cls | Draw
Hide | Line | Move
Point | Print | Pset
Refresh | Release | RemoveObject
SaveAs | SaveAsClass | SetAll
Show | TextHeight | TextWidth
ZOrder |  |

События

Activate | Click | DblClick
Deactivate | Destroy | DragDrop
DragOver | Error | GotFocus
Init | KeyPress | Load
LostFocus | MiddleClick Event | MouseDown
MouseMove | MouseUp | MouseWheel
Moved | OLECompleteDrag | OLEDragDrop
OLEDragOver | OLEGiveFeedBack | OLESetData
OLEStartDrag | Paint | QueryUnload
Resize | RightClick | Scrolled
Unload |  |

См. Также

Другие Ресурсы

_SCREEN Системная Переменная
MODIFY WINDOW Команда
Объект Форма

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_SHELL System Variable

Visual FoxPro 9.0 Справочник Языка
_SHELL Системная Переменная
См. Также

Определяет оболочку программы.

_SHELL = cCommand

Замечания

Cистемная переменная памяти _SHELL используется, чтобы предотвратить доступ к окну Command, в то время как программа выполняется в Visual FoxPro. Команда DO с именем программы для выполннения обычно сохраняется в _SHELL.

Вы можете также определить команду, чтобы выполнить, когда стартует Visual FoxPro, помещая пункт конфигурации SHELL в вашем файле конфигурации Visual FoxPro.

Следующий пример демонстрирует, как _SHELL типично может использоваться.

  1. Программа запуска Mystart.prg используется для запуска другой программы Myapp.prg. Mystart.prg сохраняет команду запуска Myapp.prg в _SHELL. Myapp.prg запускается. Прежде, чем Visual FoxPro выводит окно Command, _SHELL проверяется на наличие команд. Если _SHELL содержит команду, то она выполняется и Visual FoxPro тогда сохраняет пустую строку в _SHELL.

  2. После того, как код инициализации в Myapp.prg успешно выполнен, команда для запуска Myapp.prg снова сохраняется в _SHELL. Visual FoxPro не выполняет команду и не сохраняет пустую строку в _SHELL, предотвращая доступ к окну Command. (К окну Command нельзя обратиться, когда _SHELL содержит что - нибудь кроме пустой строки).

  3. Прежде чем Myapp.prg заканчивает выполнение, она сохраняет пустую строку в _SHELL, чтобы восстановить доступ к окну Command.

    Скопировать код
    *** MYSTART.PRG ***
...
_SHELL = "DO MYAPP.PRG"
*** MYAPP.PRG ***
*** Initialization Code ***
...
*** Initialization Code successfully completed? ***
_SHELL = "DO MYAPP.PRG" && Prevents access to Command window
...
*** Clean up Code ***
_SHELL = ""

См. Также

Другие Ресурсы

DO Команда
RUN |! Команда
_STARTUP Системная Переменная
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_SPELLCHK System Variable

Visual FoxPro 9.0 Справочник Языка
_SPELLCHK Системная Переменная
См. Также

Назначает программу спеллчекера для редактора текста Visual FoxPro.

_SPELLCHK = ProgramName

Параметры

ProgramName

Назначает программу спеллчекера. Если ваша программа спеллчекера находится в другом каталоге кроме текущего основного каталога, включите путь с именем программы. Вы можете также определить программу спеллчекера в вашем файле конфигурации Visual FoxPro. Включите строку:
Скопировать код
_SPELLCHK = ProgramName

Замечания

По умолчанию, _SPELLCHK не задана. Вы можете использовать программу проверки правильности написания, обеспечивая имя программы и его путь в переменной _SPELLCHK. Как только Вы зададите её программно или во вкладке File Locations Инструментальных средств, меню Options, то вызывайте её командой DO как в следующем примере.

Скопировать код
DO (_Spellchk)

См. Также

Другие Ресурсы

MODIFY COMMAND Команда
MODIFY FILE Команда
MODIFY MEMO Команда
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_STARTUP System Variable

Visual FoxPro 9.0 Справочник Языка
_STARTUP Системная Переменная
См. Также

Определяет имя приложения, которое выполняется, когда Вы запускаете Visual FoxPro.

_STARTUP = ProgramName

Параметры

ProgramName

Определяет приложение, которое выполняется, когда Вы запускаете Visual FoxPro. Вы должны включить _STARTUP в ваш Visual FoxPro файл конфигурации. Вы можете также определить команду или программу, чтобы её выполнить когда стартует Visual FoxPro включением одного из следующих вариантов в вашем файле конфигурации:
Скопировать код
COMMAND = cVisualFoxProCommand
- Или-
Скопировать код
COMMAND = DO ProgramName
Приложение первоначального запуска, указанное _STARTUP всегда выполняется перед командой или программой, указанной COMMAND в вашем файле конфигурации.

Замечания

Вы можете также определить приложение запуска во вкладке Files Location диалогового окна Options .

См. Также

Другие Ресурсы

DO Команда
Options Диалоговое окно
Обзор системных переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TALLY System Variable

Visual FoxPro 9.0 Справочник Языка
_TALLY Системная Переменная
См. Также Пример

Содержит кал-во записей, обработанных последней выполненной командой.

_TALLY = nRecords

Параметры

nRecords

Содержит числовое значение, указывающее номер записей, обработанных последней выполненной командой. Когда Вы запускаете Visual FoxPro, значение переменной _TALLY установлено в нуль (0).

Замечания

Некоторые команды обработки таблицы возвращают информацию об их состоянии, в то время как они выполняются. Когда такая команда заканчивает свое выполнение, она кол-во обработанных записей если команда SET TALK установлена в ON . Если команда выполнена над локальными таблицами и представлениями, она хранит этот число в систменой переменной _TALLY .

Команда INSERT - SQL изменяется _TALLY, если команда SQL SELECT используется, чтобы задать данные для вставки.

Следующая таблица перечисляет команды и функции, которые возвращают информацию состояния и хранят кол-во обработанных записей в _TALLY только когда выполнено против местных таблиц и обозрений.

APPEND FROM Команда | REINDEX Команда
AVERAGE Команда | REPLACE Команда
CALCULATE Команда | REQUERY( ) Функция
COPY TO Команда | SELECT - SQL Команда
COUNT Команда | SUM Команда
DELETE Команда | SORT Команда
DELETE - SQL Команда | TOTAL Команда
INDEX Команда | UPDATE Команда
INSERT - SQL Команда (Используемый с SELECT) | UPDATE - SQL Команда
PACK Команда |

Пример

Следующий пример возвращает кол-во U.S. клиентов из таблицы "Клиенты", используя команду SQL SELECT и сохраняет в _TALLY автоматически. Команда ? выводит значение, сохраненное в _TALLY .

Скопировать код
SELECT * FROM customer ;
   WHERE country = 'USA' ;
   INTO CURSOR temp
? _TALLY

Для подробной информации, см. ? |?? Команда .

См. Также

Другие Ресурсы

SET TALK Команда
Системные Переменные
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TASKLIST System Variable

Visual FoxPro 9.0 Справочник Языка
_TASKLIST Системная Переменная
См. Также

Эта системная переменная содержит имя программы-менеджера списка задач.

_TASKLIST = cTasklistApplication

Параметры

cTasklistApplication

Имя программы Visual FoxPro, которая управляет информацией списка задач. Программа-менеджер списка задач дает возможность Вам управлять списком постоянных закладок (Tasklist Ярлыки) для открытого документа, и добавлять или удалять пункты списка задач. Пункты списка задач - записи в foxtask.dbf, которые содержат timestamp, имя файла, класс, метод, номер строки и содержания строки.

Замечания

По умолчанию, _TASKLIST содержит tasklist.app, установленный в вашей папке приложений пользователя Windows или в HOME( ) . Вы можете определить другое имя для менеджера списка задач.

Главное различие между постоянными закладками (Ярлыками) и просто Закладками - то, что Ярлыки являются доступными между сеансами редактирования.

См. Также

Другие Ресурсы

Как: Использовать Менеджер Списка задач
_FoxTask Системная Переменная
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TASKPANE System Variable

Visual FoxPro 9.0 Справочник Языка
_TASKPANE Системная Переменная
См. Также

Содержит путь и имя файла для Менеджер Панели Задач Visual FoxPro.

_TASKPANE = cPath

Параметры

cPath

Определяет законченный путь и имя файла для Менеджер Панели Задач Visual FoxPro.

Замечания

_TASKPANE определяет путь и имя файла для Менеджер Панели Задач Visual FoxPro. Этот путь - обычно корневой каталог Visual FoxPro, а имя файла - обычно Taskpane.app.

Вы можете определить путь и имя файла для _TASKPANE на вкладке File Locations в диалоговом окне Options. Для подробной информации, см. File Locations и Options Dialog Box .

См. Также

Другие Ресурсы

Системные Переменные
Менеджер Панели Задач

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TEXT System Variable

Visual FoxPro 9.0 Справочник Языка
_TEXT Системная Переменная
См. Также Пример

Направляет вывод от \ | \\ и команды слияния текста TEXT ... ENDTEXT к отрытому на нижнем уровне файлу.

_TEXT = nFileHandle

Параметры

nFileHandle

Определяет числовое значение, которое определяет отрытый на нижнем уровне файл, в который направлен вывод.

Замечания

\ | \\ и TEXT ... ENDTEXT облегчают объединение текста из содержания таблиц, переменных памяти, и результатов функций и выражений. Вывод, сгенерированный командами этого текстового слияния может быть направлен на экран или в окно или в отрытый на нижнем уровне файл. системная переменная памяти _TEXT позволяет вывод прямого текстового слияния этими командами в отрытый на нижнем уровне файл.

Чтобы посылать вывод через \ и \\ и команду слияния текста TEXT ... ENDTEXT к отрытому на нижнем уровне файлу, включите предложение TO FileName в SET TEXTMERGE. Дескриптор файла FileName сохраняется в _TEXT. Если дескриптор файла другого отрытого на нижнем уровне файла, был предварительно сохранен в _TEXT, то первый отрытый на нижнем уровне файл закрывается.

FCREATE( ) создает и открывает на нижнем уровне файлы, а FOPEN( ) открывает только существующие файлы. Эти функции возвращают положительный дескриптор файла, если файл успешно создан или открыт. Сохранение этого дескриптора файла в _TEXT направляет любой последующий вывод от \, \\ и команды слияния текста TEXT ... ENDTEXT в файл. Используйте STORE или =, чтобы сохранить дескриптор файла в _TEXT. Вы должны отрыть на нижнем уровне файл с привилегиями записи для того, чтобы получить вывод от команд текстового слияния.

Вы можете закрыть отрытые на нижнем уровне файлы FCLOSE( ) или CLOSE ALL. Вы можете также использовать SET TEXTMERGE TO без имени файла, чтобы закрыть отрытый на нижнем уровне файл, дескриптор которого сохранен в _TEXT.

Значение по умолчанию для _TEXT - -1. Если Вы направляете вывод текстового слияния в файл, дескриптор файла которого сохранен в _TEXT, Вы можете отменить вывод в этот файл, не закрывая его, но присваивая -1 переменной _TEXT. Присваивая различные дескрипторы файлов и -1 переменной _TEXT, Вы можете организовать вывод текстового слияния, чередуя разные файлы.

Пример

Следующая программа демонстрирует как направить вывод текстового слияния, чтобы чередовать файлы:

Скопировать код
SET TALK OFF
SET TEXTMERGE ON NOSHOW      && Enable text merge, no output to screen
SET TEXTMERGE DELIMITERS TO   && Default text merge delimiters <<,>>
SET TEXTMERGE TO date.txt   && Create and send output to date.txt
STORE _TEXT TO gcDateHandle   && Save date.txt's file handle
STORE -1 TO _TEXT         && Output off to date.txt; keep it open
SET TEXTMERGE TO time.txt   && Create and send output to time.txt
STORE _TEXT TO gcTimeHandle   && Save time.txt's file handle
*** Send the following text to time.txt ***
\The time is:
STORE gcDateHandle TO _TEXT    && Now direct output to date.txt
*** Send the following text to date.txt ***
\Today's date is:
STORE gcTimeHandle TO _TEXT   && Now direct output to time.txt
*** Output the time on the same line ***
\\ <<TIME( )>>
STORE gcDateHandle TO _TEXT   && Now direct output to date.txt
*** Output the date on the same line ***
\\ <<DATE( )>>
CLOSE ALL  && Close all files
TYPE date.txt  && See what's in this file...
WAIT WINDOW  && Pause
TYPE time.txt  && ...and what's in this file
ERASE date.txt
ERASE time.txt

См. Также

Другие Ресурсы

\ | \\ Команда
FOPEN( ) Функция
FCLOSE( ) Функция
FCREATE( ) Функция
_PRETEXT Системная Переменная
SET TEXTMERGE Команда
SET TEXTMERGE DELIMITERS
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_THROTTLE System Variable

Visual FoxPro 9.0 Справочник Языка
_THROTTLE Системная Переменная
См. Также

Определяет скорость выполнения программ, когда окно Trace является открытым.

_THROTTLE = nSeconds

Параметры

nSeconds

Определяет задержку в секундах между выполнением каждой строки программы. Начальное значение по умолчанию - 0, без паузы между выполнением строк программы. nSeconds может принимать значения от 0 до 5.5 секунды. Например, если nSeconds составляет 0.5 секунды, то между выполнением строк программы наступает задержка 1/2-second.

Замечания

Окно Trace, одно из средств отладки, доступных в Visual FoxProе, выодит исходный текст программы при её выполнении. Окно Trace подсвечивает каждую строку в программе, когда строка выполняется. Числовое значение _THROTTLE определяет задержку между выполнением каждой строки программы, когда окно Trace является открытым.

Обратите внимание:
Опция Trace Between Breaks в меню Program окна Trace должна быть включена для задания задержки трассировки.

См. Также

Другие Ресурсы

SET DEBUG Команда
SET STEP Команда
Системные Переменные A-Z
Окно Трассировки

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TOOLBOX System Variable

Visual FoxPro 9.0 Справочник Языка
_TOOLBOX Системная Переменная
См. Также

Содержит путь и имя файла для Инструментария Visual FoxPro. _TOOLBOX определяет путь и имя файла для Инструментария Visual FoxPro. Этот путь - обычно корневой каталог Visual FoxPro, а имя файла - обычно Toolbox.app.

_TOOLBOX = cPath

Параметры

cPath

Определяет полный путь и имя файла для Инструментария Visual FoxPro.

Замечания

Вы можете определить путь и имя файла для _TOOLBOX на вкладке File Locations в диалоговом окне Options. Для подробной информации, см. File Locations Tab, Options Dialog Box .

См. Также

Другие Ресурсы

Настройте Диалоговое окно Инструментария
Как: Настроить Инструментарий
Обзор системных переменных
Инструментарий

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TOOLTIPTIMEOUT System Variable

Visual FoxPro 9.0 Справочник Языка
_TOOLTIPTIMEOUT Системная Переменная
См. Также

Определяет, как долго отображАется ToolTip, если указатель мыши остается неподвижным.

_TOOLTIPTIMEOUT = [nValue]

Параметры

nValue

Параметры настройки для nValue :

Установка Описание

-1

(Значение по умолчанию) ToolTip Отображается в течение времени, установленного Windows.

0

ToolTip Отображается до тех пор, пока мышь не перемещена.

gt; 0

Время в миллисекундах, для указания продолжительности отображения ToolTip.

Опустите nValue параметр, чтобы определить текущее значение _TOOLTIPTIMEOUT.

Замечания

Установка _TOOLTIPTIMEOUT действует в отношении элементов управления, которые имеют набор свойств ToolTipText, и полей в окнах Browse, которые имеют меньший размер, чем их содержание.

См. Также

Ссылки

ToolTipText Свойство

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TRIGGERLEVEL System Variable

Visual FoxPro 9.0 Справочник Языка
_TRIGGERLEVEL Системная Переменная
См. Также

Содержит числовое значение только для чтения, указывающее текущий уровень вложенности триггера.

_TRIGGERLEVEL = nExpression

Параметры

nExpression

Содержит текущий уровень вложенности триггера. _TRIGGERLEVEL содержит 1, когда начальный триггер выполняется. Если триггер заставляет срабатывать другой триггерь, _TRIGGERLEVEL увеличен 1. _TRIGGERLEVEL содержит 0, если триггер не выполняется.

Замечания

Используйте CREATE TRIGGER, чтобы создать тригерры для Удаления, Вставки, или Модификации таблицы. Вы можете использовать APPEND PROCEDURES и MODIFY PROCEDURES, чтобы создать хранимые процедуры, которые будут выполнены при срабатыании тригеров на Удаление, Вставку, или Модификацию.

_TRIGGERLEVEL содержит числовое значение только для чтения. Если Вы используете STORE или =, чтобы присвоить значение _TRIGGERLEVEL, то это значение игнорируется.

См. Также

Другие Ресурсы

APPEND PROCEDURES Команда
CREATE TRIGGER Команда
MODIFY PROCEDURE Команда
Краткий обзор Системных Переменных
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_UNIX System Variable

Visual FoxPro 9.0 Справочник Языка
_UNIX Системная Переменная
См. Также

Включено для обратной совместимости. Всегда возвращает (.F). в Visual FoxPro.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_VFP System Variable

Visual FoxPro 9.0 Справочник Языка
_VFP Системная Переменная
См. Также

Ссылается на объект Application для текущего экземпляра Visual FoxPro. Есть две версии синтаксиса.

_VFP.PropertyName[ = eValue]

_VFP.Method

Параметры

PropertyName

Определяет свойство для объекта приложения.
eValue

Определяет значение для свойства.
Method

Определяет метод для выполнения объектом приложения.

Замечания

Обращается: Коллекция Проектов

_VFP обеспечивает доступ к коллекциям Объектов и Проектов.

Начинаясь с Visual FoxPro 7, свойства Top, Height, Left, Width, and hWnd _VFP относятся только к свойствам главного окна Visual FoxPro. В предыдущих версиях Visual FoxPro, Высота и Ширина относились к Visual FoxPro клиентской области (область, где может быть отображен текст). Теперь свойства _SCREEN Top, Height, Left, Width - относятся к Клиентской области Visual FoxPro.

См. Также

Другие Ресурсы

_VFP Свойства Системных Переменных, Методы и События
Объект приложений
CREATEOBJECT( ) Функция
_SCREEN Свойства Системных Переменных, Методы и События
Краткий обзор Системных Переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_VFP System Variable Properties, Methods, and Events

Visual FoxPro 9.0 Справочник Языка
_VFP Системная Переменная: Свойства, Методы, и События
См. Также

Следующие таблицы перечисляют справочные статьи свойств, методов и событий для этой системной переменной.

Свойства

ActiveForm | ActiveProject | Application
AutoYield | Caption | Count
DefaultFilePath | EditorOptions | Forms
FullName | Height | HWND
LanguageOptions | Left | Name
Objects Collection | OLERequestPendingTimeout | OLEServerBusyRaiseError
OleServerBusyTimeout | Parent | ProcessID
Projects Collection | ServerName | StartMode
StatusBar | ThreadID | Top
Version | VFPXMLProgID | Visible
Width |  |

Методы

DataToClip | DoCmd | Eval
Help | Item | Quit
RequestData | SetVar |

См. Также

Другие Ресурсы

_VFP Системная Переменная
Объект Приложения
CREATEOBJECT( ) Функция
Коллекция Объектов
Коллекция Проектов
Объекты, Коллекции и Классы
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_WINDOWS System Variable

Visual FoxPro 9.0 Справочник Языка
_WINDOWS Системная Переменная
См. Также

Включено для обратной совместимости. Всегда содержит Истину (.T). при использовании Visual FoxPro.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_WIZARD Системная Переменная

Visual FoxPro 9.0 Справочник Языка
_WIZARD Системная Переменная
См. Также

Содержит имя приложения мастера Visual FoxPro.

_WIZARD = cProgramName

Параметры

cProgramName

Определяет приложение мастера. Если ваше приложение мастера находится в каталоге, любом кроме текущего каталога Visual FoxPro по умолчанию, включите путь с именем приложения. Вы можете также определить приложение мастера в вашем файле конфигурации Visual FoxPro включением строки, используя следующий синтаксис:
Скопировать код
_WIZARD = cProgramName

Замечания

Системная переменная _WIZARD содержит имя приложения, которое Visual FoxPro использует, когда Вы запускаете Мастера. По умолчанию, _WIZARD содержит Wizard.app, установленный в вашем каталоге Visual FoxPro. Вы можете определить другое имя для приложения мастера.

См. Также

Другие Ресурсы

Обзор системных переменных
Краткий обзор Мастеров

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


API Library Construction

Visual FoxPro 9.0
Работа с библиотекой API

Здесь собраны статьи справки посвященные процедурам библиотеки API, системным событиям и кодам клавиш.

В этом разделе

Процедуры библиотеки API от A до Z

Содержит алфавитный список процедру библиотеки API.

Процедуры библиотеки API по категориям

Содержит список процедур библиотеки API, сгруппированных по категориям.

Системные события Visual FoxPro (API Library Construction)

В приводимой в статье таблице рассматривается каждое событие Microsoft Visual FoxPro и приводится описание того, что происходить, когда наступает конкретное событие.

Коды клавиш Visual FoxPro (API Library Construction)

Предоставляется информация о клавиатурных клавишах и и тот, как их интерпретирует Visual FoxPro в зависимости от клавиш модификаторов, когда несколько клавиша нажата одновременно с клавишами модификаторов.

Связанные разделы

Обращение к Visual FoxPro API

Описывается, как вам написать свой собственный элемент Microsoft ActiveX или файл динамически подключаемой библиотеки Visual FoxPro (.fll). С помощью вызова функций, доступных в API, который в свою очередь доступен в Visual FoxPro, вы можете создавать элементы управления или библиотеки, которые компактно интегрированы с Visual FoxPro и оптимизированы для использования в нем.

Расширение Visual FoxPro с помошью внешних библиотек

Обсуждаются способы, с помощью которых вы можете легко добавить элементы Microsoft ActiveX (файлы .ocx) в ваши приложения, что позволит вам использовать новые объекты в формах, создавать субклассы и управлять их работой с помощью родных элементов управления Visual FoxPro.

Справочное руководство по языку (Visual FoxPro)

Включает статьи по описанию элементов управления, объектов, свойств, методов, событий, предложений, функций и констант.

Разработка приложений Visual FoxPro

Включает в себя концептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также выполнять прочие задачи, необходимые для создания приложений Visual FoxPro.

Программирование в Visual FoxPro

Описывается, как вы сможете получить полную мощь Visual FoxPro с помощью создания приложений. Понимание техники объектно-ориентированного программирования и событийно-управляемой модели поможет вам максимально увеличить вашу производительность в разработках.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


API Library Routines A-Z

Visual FoxPro 9.0 Справочное руководство по языку
Процедуры библиотеки API от A до Z
Смотрите также

A

_ActivateHandler( )

_ActivateIdle( )

_ActivateMenu( )

_ALen( )

_Alloca( )

_AllocHand( )

_AllocMemo( )

B

_BreakPoint( )

C

_CountItems( )

D

_DBAppend( )

_DBLock( )

_DBRead( )

_DBRecCount( )

_DBRecNo( )

_DBReplace( )

_DBRewind( )

_DBSeek( )

_DBSkip( )

_DBStatus( )

_DBUnlock( )

_DBUnwind( )

_DBWrite( )

_DeActivateHandler( )

_DeActivateIdle( )

_DeActivateMenu( )

_DefaultProcess( )

_Dialog( )

_DisposeItem( )

_DisposeMenu( )

E

_EdActive( )

_EdCloseFile( )

_EdCopy( )

_EdCut( )

_EdDelete( )

_EdGetChar( )

_EdGetEnv( )

_EdGetLineNum( )

_EdGetLinePos( )

_EdGetPos( )

_EdGetStr( )

_EdIndent( )

_EdInsert( )

_EdLastError( )

_EdOpenFile( )

_EdPaste( )

_EdPosInView( )

_EdRedo( )

_EdRevert( )

_EdSave( )

_EdScrollToPos( )

_EdScrollToSel( )

_EdSelect( )

_EdSendKey( )

_EdSetEnv( )

_EdSetPos( )

_EdSkipLines( )

_EdUndo( )

_EdUndoOn( )

_Error( )

_ErrorInfo( )

_Evaluate( )

_Execute( )

F

_FCHSize( )

_FClose( )

_FCopy( )

_FCreate( )

_FEOF( )

_FError( )

_FFlush( )

_FGets( )

_FindMemo( )

_FindVar( )

_FindWindow( )

_FindWindowP( )

_FOpen( )

_FPuts( )

_FRead( )

_FreeHand( )

_FreeObject( )

_FSeek( )

_FWrite( )

G

_GetAPIHandle( )

_GetHandSize( )

_GetItemCmdKey( )

_GetItemId( )

_GetItemSubMenu( )

_GetItemText( )

_GetNewItemId( )

_GetNewMenuId( )

_GetNextEvent( )

_GetObjectProperty( )

_GlobalToLocal( )

_GlobalToLocalP( )

H

_HandToPtr( )

_HLock( )

_HUnLock( )

I

_InKey( )

J

K

L

_Load( )

M

_MemAvail( )

_MemCmp( )

_MemFill( )

_MemMove( )

_MemoChan( )

_MemoSize( )

_MenuId( )

_MenuInteract( )

_MousePos( )

_MousePosP( )

N

_NameTableIndex( )

_NewItem( )

_NewMenu( )

_NewVar( )

O

_ObjectCmp( )

_ObjectReference( )

_ObjectRelease( )

_OnSelection( )

P

_PutChr( )

_PutStr( )

_PutValue( )

Q

R

_Release( )

_RetChar( )

_RetCurrency( )

_RetDateStr( )

_RetDateTimeStr( )

_RetFloat( )

_RetInt( )

_RetLogical( )

_RetVal( )

S

_SetHandSize( )

_SetItemCmdKey( )

_SetItemSubMenu( )

_SetItemText( )

_SetMenuPoint( )

_SetMenuPointP( )

_SetObjectProperty( )

_Store( )

_StrCmp( )

_StrCpy( )

_StrLen( )

T

U

_UserError( )

V

W

_WAttr( )

_WBottom( )

_WBottomP( )

_WClear( )

_WClearRect( )

_WClearRectP( )

_WClose( )

_WFindTitle( )

_WGetCursor( )

_WGetCursorP( )

_WGetObjectClientWindow( )

_WGetObjectWindow( )

_WGetPort( )

_WHeight( )

_WHeightP( )

_WHide( )

_WhToHwnd( )

_WLeft( )

_WLeftP( )

_WMainWindow( )

_WMove( )

_WMoveP( )

_WOnTop( )

_WOpen( )

_WOpenP( )

_WPosCursor( )

_WPosCursorP( )

_WPutChr( )

_WPutStr( )

_WRight( )

_WRightP( )

_WScroll( )

_WScrollP( )

_WSelect( )

_WSendBehind( )

_WSetAttr( )

_WSetPort( )

_WSetTitle( )

_WShow( )

_WSize( )

_WSizeP( )

_WTitle( )

_WTop( )

_WTopP( )

_WWidth( )

_WWidthP( )

_WZoom( )

X

Y

Z

Смотрите также

Прочие ресурсы

Работа с библиотекой API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_ActivateHandler( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ActivateHandler( )
Смотрите также Пример
CollapseAll image

Включает данную функцию обработчика в конец списка обработчиков событий.

unsigned int _ActivateHandler(FPFI handler)
FPFI handler               /* Добавляемый обработчик событий. */

Expand image Замечания

Программа _ActivateHandler( ) возвращает целочисленный идентификатор для данного обработчика. Используя этот идентификатор, вы сможете удалить соответствующий обработчик из списка обработки событий с помощью программы _DeActivateHandler( ).

Данный обработчик активизируется с двумя параметрами: дескриптором WHANDLE окна, которому принадлежит событие, и указателем типа FAR (32-разрядным) на запись события. Если ваш обработчик не выполняет поиск события или если он модифицирует событие для последующих обработчиков, он возвращает значение "ложь" (0) в знак того, что это событие должно быть передано другим обработчикам или программам интерфейса Visual FoxPro. Если обработчик определяет, что данное событие не нужно передавать дальше, он возвращает значение "истина" (целое число, отличное от 0), свидетельствующее о том, что событие было обработано.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API..

Expand image Пример

В следующем примере обработчик событий активизируется при загрузке библиотеки. Обработчик печатает сообщение о каждом событии и предоставляет Visual FoxPro право обработать событие обычным образом. Когда библиотека разгружается, обработчик деактивизируется.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ACTIHAND
WAIT WINDOW TO m.test TIMEOUT 5
SET LIBRARY TO

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

static int HandlerID;

//   This is the routine that is registered as an event handler.
FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
   _PutStr("\nEventHandler() called.");
   return NO;   // event still needs to be handled by Visual FoxPro
}

FAR Activate()
{
   HandlerID = _ActivateHandler(EventHandler);
}

//   When the library is unloaded we must deactivate the event handler
//   in a CALLONUNLOAD function.
FAR DeActivate()
{
   _DeActivateHandler(HandlerID);
}

FoxInfo myFoxInfo[] = {
   {"ACTIVATE",  Activate,   CALLONLOAD, ""},
   {"DEACTIVATE", DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DeActivateHandler( )
Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _GlobalToLocal( )
Процедура библиотеки API _MousePos( )
Обработчики событий
Функция EVENTHANDLER( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

API Library Routines by Category

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_ActivateIdle( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
_ActivateIdle( ) процедура библиотеки API
Смотрите также Пример
CollapseAll image

Включает функцию холостого обработчика в конец списка холостых обработчиков, вызываемых, когда Visual FoxPro ожидает пользовательского ввода или наступления события в течение интервала тайм-аута.

unsigned int _ActivateIdle(FPFI handler)
FPFI handler               /* Обработчик событий. */

Expand image Замечания

Программа _ActivateIdle( ) возвращает целочисленный идентификатор для данного обработчика. Используя этот идентификатор, вы сможете вывести соответствующий холостой обработчик событий из цикла простоя с помощью программы _DeActivateIdle( ).

Для более подробной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере холостой обработчик событий активизируется при загрузке библиотеки. Этот обработчик только печатает сообщение. Когда библиотека разгружается, холостой обработчик деактивизируется.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO ACTIIDLE
WAIT WINDOW TO m.test TIMEOUT 5
SET LIBRARY TO

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

static unsigned IdlerID;

//   This is the routine that is registered as an idle event handler.
void FAR IdleHandler(WHandle wh, EventRec *ev)
{
   _PutStr("\nIdleHandler() called.");
}

void FAR Activate(ParamBlk FAR *parm)
{
   IdlerID = _ActivateIdle((FPFI) IdleHandler);
}

//   When the library is unloaded we must deactivate the idle event
//   handlerin a CALLONUNLOAD function.
void FAR DeActivate(ParamBlk FAR *parm)
{
   _DeActivateIdle(IdlerID);
}

FoxInfo myFoxInfo[] = {
   {"ACTIVATE",  (FPFI) Activate, CALLONLOAD,   ""},
   {"DEACTIVATE",  (FPFI) DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

_DeActivateIdle( ) процедура библиотеки API
_FindWindow( ) процедура библиотеки API
_GlobalToLocal( ) процедура библиотеки API
_MousePos( ) процедура библиотеки API
Обработчики событий
Функция EVENTHANDLER( )

Понятия

Процедуры библиотеки API A-Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


_ActivateMenu( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ActivateMenu( )
Смотрите также Пример
CollapseAll image

Отображает заданное меню на экране и сразу же возвращает управление в вызывающую программу.

void _ActivateMenu(MENUID menuid)
MENUID menuid            /* Идентификатор меню.

Expand image Remarks

Если вы зафиксировали в данном меню нажатие клавиши или кнопки мыши, вы можете вызвать _MenuInteract( ) чтобы определить, какой элемент меню выбран пользователем.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере строится меню из трех элементов. _ActivateMenu( ) отображает меню. Это меню является немодальным в том смысле, что оно не влечет принудительного взаимодействия, как в случае _MenuInteract( ). Наоборот, когда пользователь делает выбор, вызывается _OnSelection( ), выбранный элемент выводится на экран и меню убирается.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ACTIMENU
WAIT WINDOW "Make selection from menu." NOWAIT
SUSPEND

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

static MENUID menuId;

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
}

FAR deactivateMenu(ParamBlk FAR *parm)
{
   _DeActivateMenu(menuId);
   _DisposeMenu(menuId);
}

FAR activateMenu(ParamBlk FAR *parm)
{
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _OnSelection(menuId, -1, onSelection);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) activateMenu, CALLONLOAD, ""},
   {"ONUNLOAD", (FPFI) deactivateMenu, CALLONUNLOAD, ""},
};

FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DeActivateMenu( )
Процедура библиотеки API _MenuId( )
Процедура библиотеки API _NewItem( )
Процедура библиотеки API _NewMenu( )
Процедура библиотеки API _OnSelection( )
Процедура библиотеки API _MenuInteract( )
Процедура библиотеки API _OnSelection( )

Концепции

Процедурs библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_ALen( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ALen( )
Смотрите также Пример
CollapseAll image

Возвращает информацию о размерах массива, индекс которого в таблице имен равен nti.

long _ALen(NTI nti, int mode)
NTI nti;                     /* Индекс массива в таблице имен. */
int mode;                     /* Режим для определения возвращаемого значения. */

Expand image Примечания

Если значение mode равно AL_ELEMENTS, _ALen( ) возвращает общее число элементов в массиве. Если mode равно AL_SUBSCRIPT1, _ALen( ) возвращает число элементов по первому индексу, использованному в объявлении массива. Если mode равно AL_SUBSCRIPT2, _ALen( ) возвращает число элементов по второму индексу, использованному в определении массива.

Если nti не соответствует ни одному из имен существующих массивов, _ALen( ) возвращает - 1 независимо от значения mode.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере предлагается API процедура Visual FoxPro для каждого из трех возможных значений режима.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ALEN
DIMENSION a[10, 11]
? ALENELEM(@a)  && returns 110
? ALENSUB1(@a)  && returns 10
? ALENSUB2(@a)  && returns 11

DIMENSION b[3]
? ALENELEM(@b)  && returns 3
? ALENSUB1(@b)  && returns 3
? ALENSUB2(@b)  && returns 0; no second subscript

c = .F.
? ALENELEM(@c)  && returns -1 because variable "c" is not an array
? ALENSUB1(@c)  && returns -1 because variable "c" is not an array
? ALENSUB2(@c)  && returns -1 because variable "c" is not an array

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR alenElem(ParamBlk FAR *parm)
{
   _RetInt(_ALen(parm->p[0].loc.l_NTI, AL_ELEMENTS), 10);
}

void FAR alenSub1(ParamBlk FAR *parm)
{
   _RetInt(_ALen(parm->p[0].loc.l_NTI, AL_SUBSCRIPT1), 10);
}

void FAR alenSub2(ParamBlk FAR *parm)
{
   _RetInt(_ALen(parm->p[0].loc.l_NTI, AL_SUBSCRIPT2), 10);
}

FoxInfo myFoxInfo[] = {
   {"ALENELEM", (FPFI) alenElem, 1, "R"},
   {"ALENSUB1", (FPFI) alenSub1, 1, "R"},
   {"ALENSUB2", (FPFI) alenSub2, 1, "R"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindVar( )
Процедура библиотеки API _Load( )
Процедура библиотеки API _NameTableIndex( )
Процедура библиотеки API _NewVar( )
Процедура библиотеки API _ObjectRelease( )
Процедура библиотеки API _Store( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

API Library Routines by Category

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_Alloca( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Alloca( )
Смотрите также Пример
CollapseAll image

Выделяет в области стека блок для вызывающей программы.

void FAR * _Alloca(unsigned int size)
unsigned int size;            /* Размер выделяемой области стека в байтах. */

Expand image Примечания

_Alloca( ) возвращает указатель на блок, если блок был успешно выделен или возвращается ноль в противном случае. _Alloca( ) автоматически освобождает память после завершения работы вызывающей программы, поэтому никаких специальных действий по освобождению предпринимать не надо.

Caution note Внимание

Некоторые компиляторы C, такие как MPW C, не поддерживают выделение памяти из стека; поэтому вызов _Alloca( ) в таких компиляторах может привести к непредсказуемым результатам. В подобных случаях для резервирования памяти в коде лучше пользуйтесь локальными переменными или вызывайте _AllocHand( ) и _FreeHand( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример дублирует действие функции Visual FoxPro REPLICATE( ). Память, временно используемая под размножаемый символ, предоставляется _Alloca( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ALLOCA
x = xREPLICATE("x", 120)
? x
? LEN(x)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR allocaEx(ParamBlk FAR *parm)
{
   char FAR *rep;
   char c = *(char *) _HandToPtr(parm->p[0].val.ev_handle);

   rep = _Alloca((int) parm->p[1].val.ev_long + 1);
   _MemFill(rep, c, (int) parm->p[1].val.ev_long);
  rep[parm->p[1].val.ev_long] = '\0';  // null terminate

   _RetChar(rep);
}

FoxInfo myFoxInfo[] =
{
   {"XREPLICATE", (FPFI) allocaEx, 2, "C,I"},
};

FoxTable _FoxTable =
{
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Функция REPLICATE( )

Концепции

Процедурs библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_AllocHand( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _AllocHand( )
Смотрите также Пример
CollapseAll image

Возвращает дескриптор MHANDLE нового блока памяти размером hsize.

MHANDLE _AllocHand(unsigned int hsize)
unsigned int hsize;            /* Размер нового блока памяти в байтах. */

Expand image Примечания

_AllocHand( ) возвращает 0, если для выполнения запроса памяти недостаточно. Память, выделяемая программой _AllocHand( ), не инициализируется и ее необходимо освобождать после использования.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере осуществляется размножение символа в памяти, предоставленной _AllocHand( ). API-функция REPLTOMH( ) возвращает в Visual FoxPro дескриптор блока памяти. Из Visual FoxPro этот дескриптор передается (как целое число, "I") API-функциям, в которых предусмотрен аргумент в виде дескриптора блока памяти.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ALLOCHAN
mh = REPLTOMH("x", 120)
? MHTOFOX(mh)
? LEN(MHTOFOX(mh))
? MHTOFOX(mh)
= FREEMH(mh)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

//   Replicate char argument to memory allocated with _AllocHand().
//   Return the memory handle to Visual FoxPro.
void FAR replToMH(ParamBlk FAR *parm)
{
   char FAR *rep;
   char c = *(char *) _HandToPtr(parm->p[0].val.ev_handle);
   MHANDLE mh;

   if ((mh = _AllocHand((int) parm->p[1].val.ev_long + 1)) == 0)
   {
      _Error(182);  // "Insufficient memory"
   }
   _HLock(mh);
   rep = _HandToPtr(mh);
   _MemFill(rep, c, (int) parm->p[1].val.ev_long);
   rep[parm->p[1].val.ev_long] = '\0';  // null terminate
   _HUnLock(mh);

   _RetInt(mh, 10);
}

//   Returns characters in memory handle.
//   Argument in call from Visual FoxPro
//   must be a valid Visual FoxPro memory handle.
void FAR MHToFoxString(ParamBlk FAR *parm)
{
   char FAR *string;
   MHANDLE mh = parm->p[0].val.ev_long;

   _HLock(mh);
   string = _HandToPtr(mh);
   _RetChar(string);
   _HUnLock(mh);
}

//   Frees memory handle.  Argument in call from
//   Visual FoxPro must be a valid
//   Visual FoxPro memory handle.
void FAR freeMH(ParamBlk FAR *parm)
{
   _FreeHand((MHANDLE) parm->p[0].val.ev_long);
}

FoxInfo myFoxInfo[] = {
   {"REPLTOMH", (FPFI) replToMH, 2, "C,I"},
   {"MHTOFOX", (FPFI) MHToFoxString, 1, "I"},
   {"FREEMH", (FPFI) freeMH, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_AllocMemo( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _AllocMemo( )
Смотрите также Пример
CollapseAll image

Выделяет size байтов в memo-файле для поля и вставляет новый номер блока в соответствующую запись базы данных.

long _AllocMemo(Locator FAR *fld, long size)
Locator FAR *fld;            /* Указатель на локатор, определяющий memo-поле. */
long size;                     /* Размер выделяемой области в байтах. */

Expand image Примечания

Когда _AllocMemo( ) выполняется успешно, она возвращает позицию в файле, с которой можно начинать писать; в противном случае возвращается - 1.

Caution note Важно

Запись более чем size байт приведет к порче memo-файла.

Если вы собираетесь менять содержимое memo-поля непосредственным образом, убедитесь, что перед записью в memo-файл ваша программа вызывает _AllocMemo( ), даже если новое значение будет той же длины, что и оригинал, или еще короче. Это избавит вас от проблем в ситуации, когда работают несколько пользователей. _AllocMemo( ) может повторно использовать ранее выделенную область, если это ничем не чревато.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается новое содержимое memo-поля.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ALLOMEMO
CREATE TABLE wMemo (memoField M)
APPEND BLANK
= NewMemo(@MemoField, "Hello, World.")
APPEND BLANK
= NewMemo(@MemoField, "Isn't this fun?")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR newMemo(ParamBlk FAR *parm)
{
   Locator FAR *memoFldLoc;
   FCHAN fchMemo;
   int memoLen;
   long loc;

   if ((fchMemo = _MemoChan(-1)) == -1)
   {
      _UserError("_MemoChan() failed");
   }
   memoFldLoc = &parm->p[0].loc;
   memoLen = parm->p[1].val.ev_length;

   if ((loc = _AllocMemo(memoFldLoc, memoLen)) == -1)
   {
      _UserError("_AllocMemo() failed");
   }
   _FSeek(fchMemo, loc, FS_FROMBOF);
   _HLock(parm->p[1].val.ev_handle);
   _FWrite(fchMemo, _HandToPtr(parm->p[1].val.ev_handle), memoLen);
   _HUnLock(parm->p[1].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"NEWMEMO", (FPFI) newMemo, 2, "R,C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBReplace( )
Процедура библиотеки API _FindMemo( )
Процедура библиотеки API _MemoChan( )
Процедура библиотеки API _MemoSize( )

Концепции

Процедурs библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_BreakPoint( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _BreakPoint( )
Смотрите также Пример
CollapseAll image

_BreakPoint( ) представляет собой макрокоманду, генерирующую инструкцию точки останова для отладчика - INT 3, и может пригодиться при отладке внешних программ.

void _BreakPoint(void any)
void any;                     /* Указатель. */

Expand image Замечания

Когда происходит вызов _BreakPoint( ), управление передается отладчику. Большинство отладчиков возвращают управление в строку программы, содержащую инструкцию INT3, и для ее обхода вам приходится вручную увеличивать значение указателя инструкций (IP). В это время вы можете с помощью отладчика задать дополнительные точки останова. Перед выходом из внешней программы всегда удаляйте все точки останова. Подробнее о процессе отладки смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере макрокоманда _BreakPoint( ) используется для вставки инструкции INT 3, распознаваемой отладчиками в качестве точки останова.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO BPOINT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int RetValue;

   _BreakPoint(); // debugger breaks execution here

   _HLock(parm->p[0].val.ev_handle);
   _HLock(parm->p[1].val.ev_handle);

   RetValue = _StrCmp(_HandToPtr(parm->p[0].val.ev_handle),
      _HandToPtr(parm->p[1].val.ev_handle));

   _RetInt(RetValue, 10); // does return control here

   _HUnLock(parm->p[0].val.ev_handle);
   _HUnLock(parm->p[1].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"STRCMP", (FPFI) Example, 2, "C,C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Отладка и Обработка ошибок

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Отладка процедур библиотеки API
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_CountItems( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _CountItems( )
Смотрите также Пример
CollapseAll image

Возвращает число элементов меню в заданном меню.

int _CountItems(MENUID menuid)
MENUID menuid;            /* Идентификатор меню. */

Expand image Пример

В следующем примере создается меню, содержащее три элемента, и вызывается функция _CountItems( ), чтобы продемонстрировать, как точно она подсчитывает число элементов в меню. Затем программа убирает из меню эти элементы и вновь вызывает _CountItems( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO CNTITEMS

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR CountItemsEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _PutStr("\n_CountItems() ="); putLong(_CountItems(menuId));
   _Execute("WAIT");

   _DisposeItem(menuId, _GetItemId(menuId, 1));
   _PutStr("\n_CountItems() ="); putLong(_CountItems(menuId));
   _Execute("WAIT");

   _DisposeItem(menuId, _GetItemId(menuId, 0));
   _PutStr("\n_CountItems() ="); putLong(_CountItems(menuId));
   _Execute("WAIT");

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) CountItemsEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetNewMenuId( )
Процедура библиотеки API _GetNewMenuId( )
Процедура библиотеки API _NewMenu( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Создание Меню, Контекстных (Shortcut) меню, Элементов Меню, и ПодМеню
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBAppend( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBAppend( )
Смотрите также Пример
CollapseAll image

Пытается добавить новую запись в конец таблицы, открытой в заданой рабочей области workarea.

int _DBAppend(int workarea, int carryflag)
int workarea;               /* Номер рабочей области. */
int carryflag;               /* Установка SET CARRY. */

Expand image Замечания

Текущая рабочая область представляется значением -1. _DBAppend( ) возвращает 0 при успешном завершении. Если попытка оказалась неудачной, _DBAppend( ) возвращает отрицательное целое число, абсолютное значение которого равняется номеру ошибки Visual FoxPro.

Значения для
Значение | Действие
1 | Переносит информацию из предыдущей записи в новую.
0 | Делает новую запись пустой.
- 1 | Определяет необходимость переноса информации из предыдущей записи в новую согласно установке SET CARRY.

_DBAppend( ) автоматически выполняет все необходимые блокировки. Если не удается блокировать заголовок файла, _DBAppend( ) завершается неудачно и возвращает отрицательное целое число, абсолютное значение которого равняется номеру ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере _DBAppend( ) используется для добавления записи в конец таблицы, открытой в текущей рабочей области.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBAPPEND
DO CreateTest

SET CARRY ON
= DBAPPEND(-1)   && SET CARRY is ON, so carry
SET CARRY OFF
= DBAPPEND(1)   && carry regardless of SET CARRY
= DBAPPEND(-1)   && SET CARRY is OFF, so no carry

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "Golly month of"
   APPEND BLANK
   REPLACE ABC WITH "A twelfth of"
   APPEND BLANK
   REPLACE ABC WITH "Hello, world"
   APPEND BLANK
   REPLACE ABC WITH "When in the"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int RetCode;
   if ((RetCode = _DBAppend(-1, (int) parm->p[0].val.ev_long)) < 0) {
      _Error(-RetCode);
   }
}

FoxInfo myFoxInfo[] = {
   {"DBAPPEND", (FPFI) Example, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Задачи

Как: добавить данные в существующие таблицы

Справочное руководство

Процедура библиотеки API _DBLock( )
Процедура библиотеки API _DBUnlock( )
Команда SET CARRY
Команда APPEND

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


Процедура библиотеки API _DBLock( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
_DBLock()
Смотрите также Пример
CollapseAll image

Пытается блокировать текущую запись или таблицу, открытую в рабочей области, определяемой workarea.

int _DBLock(int workarea, int RecOrFile)
int workarea;               /* Work area. */
int RecOrFile;               /* What is to be locked. */

Expand image Примечания

Параметр RecOrFile может иметь значение DBL_RECORD, для указания текущей записи или DBL_FILE, для указания табличного файла. _DBLock() возвращает True (число, большее нуля) если попытка блокировки удалась, или False (0) в противном случае.

Для получения более подробной информации о том, как создать библиотеку API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Пример

Приведенный ниже пример предоставляет две функции API, которые вы можете вызвать из Visual FoxPro: XRLOCK(), которая блокирует текущую запись текущей рабочей области; и XFLOCK(), которая блокирует таблицу, открытую в текущей рабочей области. XRLOCK() вызывает _DBLock( – 1, DBL_RECORD()), а XFLOCK() вызывает _DBLock( – 1, DBL_FILE()).

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO DBLOCK
DO CreateTest
USE Test SHARED
GO 2
= XRLOCK()
LIST STAT  && показывает, что запись #2 заблокирована
= XFLOCK()
LIST STAT  && показывает, что таблица заблокирована целиком

PROCEDURE CreateTest

CREATE TABLE test (ABC C(20))
APPEND BLANK
REPLACE ABC WITH "Golly month of"
APPEND BLANK
REPLACE ABC WITH "A twelfth of"
APPEND BLANK
REPLACE ABC WITH "Hello, world"
APPEND BLANK
REPLACE ABC WITH "When in the"
GO TOP

RETURN

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

FAR xLockRecord(ParamBlk FAR *parm)
{
   _DBLock(-1, DBL_RECORD);
}

FAR xLockFile(ParamBlk FAR *parm)
{
   _DBLock(-1, DBL_FILE);
}

FoxInfo myFoxInfo[] =
{
   {"XRLOCK", (FPFI) xLockRecord, 0, ""},
   {"XFLOCK", (FPFI) xLockFile, 0, ""},
};

FoxTable _FoxTable =
{
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBAppend()
Процедура библиотеки API _DBUnlock()
Посылка параметров функциям Visual FoxPro API

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_DBRead( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBRead( )
Смотрите также Пример
CollapseAll image

Перемещает текущий указатель записи к заданной записи в заданной рабочей области.

int _DBRead(int workarea, long record)
int workarea;               /* Рабочая область. */
long record;                  /* Номер записи. */

Expand image Замечания

_DBRead( ) возвращает 0 в случае успешного завершения. Если выполнение завершается неудачно, возвращается отрицательное число, абсолютное значение которого равно номеру ошибки Visual FoxPro.

Если номер record задать равным 0, вызов будет эквивалентен команде GO TOP; если задать record равным -1, это эквивалентно выдаче команды GO BOTTOM.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

Следующий пример обеспечивает приблизительно те же функциональные возможности, что и команда Visual FoxPro GO. XGO(n) перемещает текущий указатель записи к записи с номером n в текущей рабочей области.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBREAD
DO CreateTest
USE Test SHARED
GO BOTTOM
? RECNO()
= XGO(2)
? RECNO()

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _DBRead(-1, parm->p[0].val.ev_long);
}

FoxInfo myFoxInfo[] = {
   {"XGO", (FPFI) Example, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBRewind( )
Процедура библиотеки API _DBSkip( )
Процедура библиотеки API _DBUnwind( )
Команда GO | GOTO

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBRecCount( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBRecCount( )
Смотрите также Пример
CollapseAll image

Возвращает общее число записей в таблице, открытой в заданной рабочей области.

long _DBRecCount(int workarea)
int workarea;               /* Рабочая область. */

Expand image Замечания

Если никакая таблица в заданной рабочей области не открыта, _DBRecCount( ) возвращает отрицательное число, абсолютное значение которого равно номеру ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере вызывается _DBRecCount( ) для подсчета числа записей в таблице, открытой в текущей рабочей области.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBRECCNT
DO CreateTest
? DBRECCOUNT()   && call API routine
? RECCOUNT()   && call built-in Visual FoxPro Function

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_DBRecCount(-1), 10);
}

FoxInfo myFoxInfo[] = {
   {"DBRECCOUNT", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBRecNo( )
Записи

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Работа с записями
Манипуляции с полями и записями
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBRecNo( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBRecNo( )
Смотрите также Пример
CollapseAll image

RВозвращает номер текущей записи в таблице, открытой в заданной рабочей области.

long _DBRecNo(int workarea)
int workarea;               /* Рабочая область. */

Expand image Remarks

Если никакая таблица в заданной рабочей области не открыта, _DBRecNo( ) возвращает отрицательное число, абсолютное значение которого равно номеру ошибки Visual FoxPro. Если указатель записи находится в конце файла, _DBRecNo( ) возвращает номер, на 1 больший, чем тот, который возвращает программа _DBRecCount( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

Следующий пример обепечивает примерно те же возможности, что и функция Visual FoxPro RECNO( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBRECNO
DO CreateTest
GO 3
? DBRECNO()
GO 6
? DBRECNO()
USE
? DBRECNO()  && returns -119

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   APPEND BLANK
   REPLACE ABC WITH "This is record 5"
   APPEND BLANK
   REPLACE ABC WITH "This is record 6"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_DBRecNo(-1), 10);
}

FoxInfo myFoxInfo[] = {
   {"DBRECNO", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBRecCount( )
Записи

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Работа с записями
Манипуляции с полями и записями
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBReplace( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBReplace( )
Смотрите также Пример
CollapseAll image

_DBReplace( ) помещает в поле новое значение.

int _DBReplace(Locator FAR *fld, Value FAR *val)
Locator FAR *fld;            /* Замещаемое поле. */
Value FAR *val;            /* Значение, помещаемое в поле. */

Expand image Замечания

_DBReplace( ) возвращает 0, если замещение прошло успешно. Если произошла ошибка, _DBReplace( ) возвращает отрицательное число, абсолютное значение которого равно номеру ошибки Visual FoxPro. _DBReplace( ) ожно использовать для memo-поля, когда в него нужно занести новое значение, длина которого меньше 65,000 байт. Для выполнения операций над memo-полями, которые превышают по длине 65,000 байт, необходимо пользоваться процедурами непосредственной обработки memo-полей и процедурами буферизованного файлового ввода-вывода.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

Следующий пример предлагает примерно те же функциональные возможности, что и команда Visual FoxPro REPLACE, но в отличие от нее за один раз замещается значение только одной записи.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBREPLAC
DO CreateTest
? DBREPLACE(@ABC, "Replacement record 1")
? DBREPLACE(@ABC, 2)  && returns -302 - field ABC is character field

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_DBReplace(&parm->p[0].loc, &parm->p[1].val), 10);
}

FoxInfo myFoxInfo[] = {
   {"DBREPLACE", (FPFI) Example, 2, "R,?"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBLock( )
Процедура библиотеки API _DBUnlock( )
Команда REPLACE

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBRewind( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBRewind( )
Смотрите также Пример
CollapseAll image

Работает аналогично команде Visual FoxPro GO TOP в заданной рабочей области, а затем возвращает номер текущей записи.

long _DBRewind(int workarea)
int workarea;               /* Рабочая область. */

Expand image Пример

В следующем примере _DBRewind( ) вызывается для таблицы, открытой в текущей рабочей области. Результат оказывается таким же, как в случае команды Visual FoxPro GO TOP.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBREWIND
DO CreateTest
GO BOTTOM
? RECNO()
? DBREWIND()    && returns 1
? RECNO()  && yes, we're at record 1

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_DBRewind(-1), 10);
}
FoxInfo myFoxInfo[] = {
   {"DBREWIND", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBSkip( )
Процедура библиотеки API _DBUnwind( )
Команда GO | GOTO

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBSeek( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBSeek( )
Смотрите также Пример
CollapseAll image

Просматривает индексированную таблицу в текущей рабочей области в поисках первой записи, ключ индекса которой соответствует значению val.

long _DBSeek(Value FAR *val)
Value FAR *val;            /* Искомое значение. */

Expand image Примечания

Если _DBSeek( ) обнаружит требуемую запись, она перемещает к ней указатель записи и возвращает номер этой записи. Ключ индекса должен в точности совпасть со значением, если только не действует SET EXACT OFF. Если _DBSeek( ) не находит нужной записи, возвращается 0. Если совпадений не выявлено и установка SET NEAR имеет значение ON, указатель записи устанавливается непосредственно после записи, которая больше всех похожа на искомую. Если установка SET NEAR имеет значение OFF, указатель записи устанавливается в конце таблицы.

Если соответствующая запись является буферизированной но еще не сброшена, то значение возвращаемое _DBSeek( ) будет отличатся от значения возвращаемого командой RECNO( ). RECNO( ) возвращает отрицательное значение, указывающее что запись буферизирована. Значения возвращаемые _DBSeek( ) будет на единицу больше чем число записей в таблице плюс число буферизированных записей перед соответствующей записью.

Если возникает ошибка, _DBSeek( ) возвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro.

При поиске числового поля в качестве val значение ev_type должно быть установлено типа 'N', даже если в этом поле нет десятичных цифр. Если val имеет значение типа ev_type 'I', _DBSeek( ) возвратит внутреннюю ошибку с номером -302, "Data type mismatch" Несоответствие типов данных.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере производится поиск по индексу, который контролирует порядок в таблице, открытой в текущей рабочей области. Обратите внимание на "?" в структуре FoxInfo: это необходимо, поскольку тип выражения индекса неизвестен.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBSEEK
DO CreateTest

INDEX ON ABC TAG ABC
SET ORDER TO TAG ABC
= DBSEEK("This is record 3")  && seeks ABC = "This is record 3"
LIST NEXT 1
USE

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _DBSeek(&parm->p[0].val);
}

FoxInfo myFoxInfo[] = {
   {"DBSEEK", (FPFI) Example, 1, "?"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBRecCount( )
Процедура библиотеки API _DBRecNo( )
Процедура библиотеки API _DBSkip( )
Команда SET EXACT

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBSkip( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBSkip( )
Смотрите также Пример
CollapseAll image

_DBSkip( ) перемещает указатель записи в заданной рабочей области на заданное число записей.

long _DBSkip(int workarea, long distance)
int workarea;               /* Рабочая область. */
long distance;               /* Число пропускаемых записей. */

Expand image Примечания

_DBSkip( ) принимает во внимание активные выражения индекса и фильтра, как и команда Visual FoxPro SKIP. Значение distance может быть положительным или отрицательным. _DBSkip( ) возвращает номер новой записи.

Используйте _DBStatus( ) для проверки условия конца файла и начала файла. Если вы попытаетесь перейти вперед, находясь в конце файла, или отступить назад, находясь в начале, _DBSkip( ) возвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример работает аналогично команде Visual FoxPro SKIP.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBSKIP
ON ERROR DO expectError
DO CreateTest
USE
= DBSKIP(1)       && _Error() called: no DBF in use
USE test
GO TOP
= DBSKIP(-1)
= DBSKIP(-1)      && _Error() called: at top of file
GO BOTT
= DBSKIP(1)
= DBSKIP(1)      && _Error() called: at bottom of file
ON ERROR

PROCEDURE expectError
   ? "ERROR: " + MESSAGE()
RETURN

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *pblk)
{
   int RetCode;

   if ((RetCode = _DBSkip(-1, pblk->p[0].val.ev_long)) < 0) {
      _PutStr("\nError encountered in example program.");
      _Error(-RetCode);  // _DBSkip() returns negative error code
   }
   _RetInt(RetCode, 10);
}

FoxInfo myFoxInfo[] = {
   {"DBSKIP", (FPFI) Example, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBRecCount( )
Процедура библиотеки API _DBRecNo( )
Процедура библиотеки API _DBStatus( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBStatus( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBStatus( )
Смотрите также Пример
CollapseAll image

Возвращает флаги состояния для заданной рабочей области.

int _DBStatus(int workarea)
int workarea;               /* Рабочая область. */

Expand image Примечания

Если никакая таблица в заданной рабочей области не открыта, _DBStatus( ) озвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro. В следующей таблице показаны возвращаемые флаги состояния:

Флаг | Установка
DB_BOF | Устанавливается на тех же условиях, что и функция Visual FoxPro BOF( ).
DB_EOF | Устанавливается на тех же условиях, что и функция Visual FoxPro EOF( ).
DB_RLOCKED | Устанавливается, когда блокирована текущая запись, блокирована таблица или когда таблица открыта эксклюзивно.
DB_FLOCKED | Устанавливается, когда таблица блокирована или открыта эксклюзивно.
DB_EXCLUSIVE | Устанавливается, когда таблица открыта эксклюзивно.
DB_READONLY | Устанавливается, когда таблица открыта без доступа для записи.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается состояние таблицы, открытой в текущей рабочей области. Код проверяет каждый бит значения, возвращенного _DBStatus( ) и выдает на экран соответствующее сообщение.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBSTATUS
= DBSTATUS()  && displays status of DBF in current work area

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int dbstatus = _DBStatus(-1);
   _PutStr("\nStatus of DBF in current work area:");
   if (dbstatus & DB_BOF)
      _PutStr("\nBOF()");
   if (dbstatus & DB_EOF)
      _PutStr("\nEOF()");
   if (dbstatus & DB_RLOCKED)
      _PutStr("\nCurrent record is RLOCKed");
   if (dbstatus & DB_FLOCKED)
      _PutStr("\nDatabase is FLOCKed");
   if (dbstatus & DB_EXCLUSIVE)
      _PutStr("\nDatabase is open EXCLUSIVEly");
   if (dbstatus & DB_READONLY)
      _PutStr("\nDatabase is READONLY");
}

FoxInfo myFoxInfo[] = {
   {"DBSTATUS", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBLock( )
Процедура библиотеки API _DBUnlock( )
Функция BOF( )
Функция EOF( )
Функция ISRLOCKED( )
Функция ISFLOCKED( )
функция ISEXCLUSIVE( )
Функция ISREADONLY( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBUnlock( ) API Library Routine

Visual FoxPro 9.0 Language Reference
_DBUnlock( ) Процедура API Библиотеки
Смотрите Также Пример
CollapseAll image

Снимает все установленные пользователем блокировки на записях или на весь файл в заданной рабочей области workarea.

void _DBUnlock(int workarea)
int workarea;               /* Рабочая область. */

Expand image Пример

Следующий пример испольпользует процедуру _DBUnlock( ), чтобы разблокировать записи в таблице, открытой в текущей рабочей области. Данный Visual FoxPro код демонстрирует _DBUnlock( ) и проверяет правильно ли он отработал.

Expand image Visual FoxPro Код

CopyCode image Copy Code
SET LIBRARY TO DBUNLOCK
DO CreateTest
USE Test SHARED
GO 2
= XRLOCK()
LIST STAT  && показывает, что записть #2 заблокирована
= XUNLOCK()
LIST STAT  && показывает, что нет заблокированных записей
= XFLOCK()
LIST STAT  && показывает, что весь DBF файл заблокирован
= XUNLOCK()
LIST STAT  && показывает, что нет заблокированных записей

PROCEDURE CreateTest

CREATE TABLE test (ABC C(20))
APPEND BLANK
REPLACE ABC WITH "Golly month of"
APPEND BLANK
REPLACE ABC WITH "A twelfth of"
APPEND BLANK
REPLACE ABC WITH "Hello, world"
APPEND BLANK
REPLACE ABC WITH "When in the"
GO TOP

RETURN

Expand image C Код

CopyCode image Copy Code
#include <pro_ext.h>

FAR xLockRecord(ParamBlk FAR *parm)
{
   _DBLock(-1, DBL_RECORD);
}
FAR xLockFile(ParamBlk FAR *parm)
{
   _DBLock(-1, DBL_FILE);
}
FAR xUnLockFile(ParamBlk FAR *parm)
{
   _DBUnLock(-1);
}
FoxInfo myFoxInfo[] = {
   {"XRLOCK",  (FPFI) xLockRecord, 0, ""},
   {"XFLOCK",  (FPFI) xLockFile, 0, ""},
   {"XUNLOCK", (FPFI) xUnLockFile, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите Также

Ссылки

_DBAppend( ) Процедура API Библиотеки
_DBLock( ) Процедура API Библиотеки
_DBReplace( ) Процедура API Библиотеки
_DBStatus( ) Процедура API Библиотеки
_DBWrite( ) Процедура API Библиотеки

Концепции

Процедуры API Библиотеки A-Z

Другие Ресурсы

Процедуры API Библиотеки по Категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_DBUnwind( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBUnwind( )
Смотрите также Пример
CollapseAll image

Действует аналогично команде Visual FoxPro GO BOTTOM в заданной рабочей области, а затем возвращает номер текущей записи.

long _DBUnwind(int workarea)
int workarea;               /* Рабочая область. */

Expand image Пример

В следующем примере вызывается _DBUnwind( ) для таблицы, открытой в текущей рабочей области.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBUNWIND
DO CreateTest
? DBUNWIND()   && returns new record #
SKIP
? EOF()       && now EOF() returns .T.

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_DBUnwind(-1), 10);
}

FoxInfo myFoxInfo[] = {
   {"DBUNWIND", (FPFI) Example, 0, ""},
};

FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBRewind( )
Процедура библиотеки API _DBWrite( )
Записи

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Манипуляции с Полями и Записями
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DBWrite( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DBWrite( )
Смотрите также Пример
CollapseAll image

Заносит на диск текущую запись заданной рабочей области и обновляет все индексы, затрагиваемые этой операцией.

int _DBWrite(int workarea)
int workarea;               /* Рабочая область. */

Expand image Remarks

Всякий раз, когда указатель записи передвигается к другой записи, подобное обновление происходит автоматически. Если замены содержимого поля не произошло, _DBWrite( ) не выполняет никаких действий. _DBWrite( ) возвращает 0 в случае успешного завершения. В случае ошибки _DBWrite( ) возвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере выполняется _DBReplace( ) , использующая два параметра вызова: табличное поле (передается по ссылке) и значение соответствующего типа. Перед вызовом _DBWrite( ) и после него выполняется команда Visual FoxPro LIST NEXT 1.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DBWRITE
DO CreateTest
GO 3
=DBWRITE( @ABC, "Replacement Record 1")

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int RetValue;

   if (RetValue = _DBReplace(&parm->p[0].loc, &parm->p[1].val)) {
      _UserError("\n_DBReplace() failed");
   }

   if (RetValue = _DBWrite(-1)) {
      _Error(-RetValue);
   }
   _Execute("LIST NEXT 1");
}

FoxInfo myFoxInfo[] = {
   {"DBWRITE", (FPFI) Example, 2, "R,?"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DBLock( )
Процедура библиотеки API _DBReplace( )
Процедура библиотеки API _DBUnlock( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DeActivateHandler( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DeActivateHandler( )
Смотрите также Пример
CollapseAll image

_DeActivateHandler( ) удаляет заданный обработчик событий из списка событий процесора.

void _DeActivateHandler(unsigned int EventIdentifier)
unsigned int EventIdentifier;      /* ID обработчика событий который будет удален из списка. */

Expand image Примечания

Необходимо удалить из списка каждый обработчик событий, указанный идентификатором EventIdentifier, Когда библиотека выгружается.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере при загрузке библиотеки активизируется обработчик событий. Обработчик печатает сообщение для каждого события и предоставляет Visual FoxPro возможность обработать это сообщение. Когда библиотека выгружается, обработчик событий деактивируется. Как и в данном примере, _DeActivateHandler( ) обычно вызывается из функции CALLONUNLOAD.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DEACTHAN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

static int HandlerID;

//   This is the routine that is registered as an event handler.
FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
   _PutStr("\nEventHandler() called.");
   return NO;   // event still needs to be handled by Visual FoxPro
}

FAR Activate()
{
   HandlerID = _ActivateHandler(EventHandler);
}

//   When the library is unloaded we must deactivate the event handler
//   in a CALLONUNLOAD function.
FAR DeActivate()
{
   _DeActivateHandler(HandlerID);
}

FoxInfo myFoxInfo[] = {
   {"ACTIVATE",  (FPFI) Activate, CALLONLOAD, ""},
   {"DEACTIVATE", (FPFI)  DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateHandler( )
Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _GlobalToLocal( )
Процедура библиотеки API _MousePos( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DeActivateIdle( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DeActivateIdle( )
Смотрите также Пример
CollapseAll image

Выводит заданную программу из холостого цикла.

void _DeActivateIdle(unsigned int IdleIdentifier)
unsigned int IdleIdentifier;         /* Программа, выводимая из холостого цикла. */

Expand image Примечания

При выгрузке библиотеки необходимо вывести из списка каждую холостую программу.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере при загрузке библиотеки активизируется обработчик холостых событий. Он просто печатает сообщение, а при выгрузке библиотеки деактивизируется. Как и в данном примере, _DeActivateIdle( ) обычно вызывается из функции CALLONUNLOAD.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DEACTIDL

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

static unsigned IdlerID;

//   This is the routine that is registered as an idle event handler.
void FAR IdleHandler(WHandle wh, EventRec *ev)
{
   _PutStr("\nIdleHandler() called.");
}

void FAR Activate(ParamBlk FAR *parm)
{
   IdlerID = _ActivateIdle((FPFI) IdleHandler);
}

//   When the library is unloaded we must deactivate the idle event
//   handler in a CALLONUNLOAD function.
void FAR DeActivate(ParamBlk FAR *parm)
{
   _DeActivateIdle(IdlerID);
}

FoxInfo myFoxInfo[] = {
   {"ACTIVATE",  (FPFI) Activate, CALLONLOAD,   ""},
   {"DEACTIVATE",  (FPFI) DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateIdle( )
Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _GlobalToLocal( )
Процедура библиотеки API _MousePos( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DeActivateMenu( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DeActivateMenu( )
Смотрите также Пример
CollapseAll image

Удаляет меню с экрана.

void _DeActivateMenu(MENUID menuid)
MENUID menuid;            /* Идентификатор меню. */

Expand image Примечания

Меню не освобождается из памяти и может быть активизировано вновь с помощью _ActivateMenu( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере меню активизируется и деактивизируется несколько раз.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DEACTMEN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR DeActMenuEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _Execute("WAIT WINDOW 'Menu activated'");
   _DeActivateMenu(menuId);
   _Execute("WAIT WINDOW 'Menu deactivated'");
   _ActivateMenu(menuId);
   _Execute("WAIT WINDOW 'Menu activated'");
   _DeActivateMenu(menuId);
   _Execute("WAIT WINDOW 'Menu deactivated'");

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) DeActMenuEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateMenu( )
Команда DEACTIVATE MENU
Команда ACTIVATE MENU
Команда HIDE MENU

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DefaultProcess( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DefaultProcess()
Смотрите также Пример
CollapseAll image

Предоставляет обработку события по умолчанию для событий, возвращаемых _GetNextEvent(), когда событие не требует специальной обработки.

void _DefaultProcess(EventRec FAR *event)
EventRec FAR *event;      /* Event to be processed. */

Expand image Примечания

Это упрощает использование внешними процедурами окон.

Note Замечание

Не вызывайте _DefaultProcess() из обработчки события.

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Пример

Приведенный ниже пример представляет собой цикл, состоящий из вызова _GetNextEvent() следом за вызовом _DefaultProcess(). Все события во время этой процедуры получают их обработку по умолчанию.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO DEFAPROC

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

FAR Пример(ParamBlk FAR *parm)
{
   EventRec ev;
   int i;

   for (i = 0; i < 16; i++)
{
      _GetNextEvent(&ev);
      _DefaultProcess(&ev);
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", Пример, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindWindow()
Процедура библиотеки API _GetNextEvent()
Процедура библиотеки API _GlobalToLocal()

Концепции

События в Visual FoxPro
Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_Dialog( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Dialog( )
Смотрите также Пример
CollapseAll image

Отображает на экране диалоговое окно, выполненное по заданной цветовой схеме и содержащий заданный текст и текст кнопоки.

int _Dialog(int scheme, char FAR *body_text, char FAR *button1,
            char FAR *button2, char FAR *button3, int default, int
 escape)
int scheme;                  /* Номер цветовой схемы. */
char FAR *body_text;         /* Текст диалогового окна. */
char FAR *button1;         /* Текст кнопки. */
char FAR *button2;         /* Текст кнопки. */
char FAR *button3;         /* Текст кнопки. */
int default;                  /* Номер кнопки по умолчанию. */
int escape;                  /* Номер кнопки, вызываемой по Esc. */

Expand image Примечания

_Dialog( ) возвращает номер кнопки, нажатой пользователем.

Если вы хотите задать в отображаемом диалоговом окне менее трех кнопок, задайте 0 в качестве текста кнопки, такая кнопка будет изображена пустой. Параметр default задает, какая кнопка должна быть выделена в диалоговом окне в качестве кнопки, используемой по умолчанию, а параметр escape какую кнопку следует обработать как нажатую, когда пользователь нажимает клавишу ESC.

Если вы не задали ни одной кнопки, Visual FoxPro отображает диалоговое окно и ждет, когда пользователь нажмет какую-либо клавишу или щелкнет левой кнопкой мыши. Если пользователь нажимает клавишу Esc, _Dialog( ) возвращает значение escape; в противном случае возвращается значение по умолчанию.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создаются четыре диалоговых окна, имеющие соответственно три кнопки, две, одну и ни одной.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DIALOG

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

void FAR dialogEx(ParamBlk FAR *parm)
{
   int selection;

   selection = _Dialog(DIALOG_SCHEME, "Example dialog with 3 buttons.",
      "First", "Second", "Third", 2, 3);

   _PutStr("\nItem selected ="); putLong(selection);

   selection = _Dialog(DIALOG_SCHEME, "Example dialog with 2 buttons.",
      "First", "Second", 0, 2, 2);

   _PutStr("\nItem selected ="); putLong(selection);

   selection = _Dialog(DIALOG_SCHEME, "Example dialog with 1 button.",
      "First", (char *)0, (char *)0, 1, 1);

   _PutStr("\nItem selected ="); putLong(selection);

   selection = _Dialog(DIALOG_SCHEME, "Example dialog no buttons.",
      (char *)0, (char *)0, (char *)0, 1, 2);

   _PutStr("\nItem selected ="); putLong(selection);
}

FoxInfo myFoxInfo[] = {
   {"DIALOGEX", (FPFI) dialogEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Команда SET LIBRARY

Прочие ресурсы

Процедуры библиотеки API по категориям
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DisposeItem( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DisposeItem( )
Смотрите также Пример
CollapseAll image

Освобождает заданный элемент меню из памяти и освобождает всю связанную с ним память.

void _DisposeItem(MENUID menuid, ITEMID itemid)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента меню. */

Expand image Примечания

_DisposeItem( ) не освобождает подменю, связанные с данным элементом.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, содержащее три элемента, а затем два из них удаляются с помощью _DisposeItem( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DISPITEM

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR DisposeItemEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _Execute("WAIT WINDOW 'Menu has three items'");

   _DisposeItem(menuId, _GetItemId(menuId, 1));
   _Execute("WAIT WINDOW 'Menu has two items'");

   _DisposeItem(menuId, _GetItemId(menuId, 0));
   _Execute("WAIT WINDOW 'Menu has one item'");

   _DisposeMenu(menuId);
}
FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) DisposeItemEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Задачи

Как: включить или отключить элемент меню

Справочное руководство

Процедура библиотеки API _NewItem( )
Процедура библиотеки API _GetItemId( )

Прочие ресурсы

Конструкции библиотеки API
Создание меню, контекстных (Shortcut) меню, элементов меню, и подменю

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_DisposeMenu( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _DisposeMenu( )
Смотрите также Пример
CollapseAll image

Освобождает заданное меню вместе со всеми его элементами и освобождает всю связанную с этим меню память.

void _DisposeMenu(MENUID menuid)
MENUID menuid;            /* Идентификатор меню. */

Expand image Примечания

_DisposeMenu( ) не освобождает подменю, связанные с данным меню.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере вызывается _DisposeMenu( ) после того, как пользователь выбирает элемент меню.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO DISPMENU

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
   _DisposeMenu(menuId);
}

FAR activateMenu(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _OnSelection(menuId, -1, onSelection);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) activateMenu, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetNewMenuId( )
Процедура библиотеки API _NewMenu( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_EdActive( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdActive( )
Смотрите также Пример
CollapseAll image

Позволяет скрывать (деактивизировать) или показывать (активизировать) выделенную область или позицию курсора в заданном окне..

void _EdActive(WHANDLE wh, int Show)
WHANDLE wh;            /* Дескриптор окна редактирования.*/
int Show;                     /* Скрыть или показать (булева константа). */

Expand image Примечания

Если в качестве параметра Show задать значение "истина", выделенная область или позиция курсора будут показаны, а если задать "ложь", то они будут скрыты.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается окно редактирования для файла, имя которого передано в качестве параметра, и выделяется первый символ в файле. Используя _EdActive( ), производится активизация и затем деактивизация выделенной области.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDACTIVE
fc = FCREATE("x", 0)
FOR i = 1 TO 90
   = FPUTS(fc, REPL(ALLT(STR(i)), i), i)
ENDFOR
= FCLOSE(fc)

= EDACTIVE("x")   && Call our API routine

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR EdActiveEx(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pFILENAME[parm->p[0].val.ev_length] = '\0';
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);

   _EdActive(wh, TRUE);
   _Execute("WAIT WINDOW 'Selection active'");

   _EdActive(wh, FALSE);
   _Execute("WAIT WINDOW 'Selection inactive'");
}

FoxInfo myFoxInfo[] = {
   {"EDACTIVE", (FPFI) EdActiveEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdSelect( )
Процедура библиотеки API _EdCloseFile( )
SYS(2002) - Переключение курсора как On или Off
Процедура библиотеки API _EdCopy( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_EdCloseFile( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdCloseFile( )
Смотрите также Пример
CollapseAll image

Закрывает заданное окно редактирования, а также отображенный в нем файл.

int _EdCloseFile(WHANDLE wh, int option)
WHANDLE wh;            /* Дескриптор окна редактирования. */
int option;                  /* Опция закрытия. */

Expand image Примечания

Параметр option может принимать одно из следующих значений:

Option parameter values
int | Результат
0 | Немедленное сохранение.
1 | Сохранение после подтверждения через диалоговое окно.
2 | Открывает диалоговое окно Save As.

_EdCloseFile( ) возвращает одно из следующих значений:

_EdCloseFile( ) return values
int | Смысл
1 | Отмена без сохранения файла.
0 | Файл сохранен и закрыт.
- 1 | Изменения аннулированы, файл закрыт.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается для редактирования заданный параметром файл, в нем удаляется символ, и сеанс редактирования трижды закрывается. В первый раз вызывается _EdCloseFile( ) с опцией немедленного сохранения, во второй раз - с опцией сохранения через диалоговое окно и в третий раз - с опцией диалогового окна Save As. Каждый раз на экран выводится значение, возвращаемое программой _EdCloseFile( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDCLOSE
= EDCLOSE("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 5;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   int retValue;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   // Open, delete a character, close "save without asking"
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);

   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdDelete(wh);
   retValue = _EdCloseFile(wh, 0); // save without asking
   _PutStr("\n_EdCloseFile() ="); putLong(retValue);

   // Open, delete a character, close "save with asking"
   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdDelete(wh);
   retValue = _EdCloseFile(wh, 1); // save with asking
   _PutStr("\n_EdCloseFile() ="); putLong(retValue);

   // Open, delete a character, close "save as"
   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdDelete(wh);
   retValue = _EdCloseFile(wh, 2); // save as
   _PutStr("\n_EdCloseFile() ="); putLong(retValue);
}

FoxInfo myFoxInfo[] = {
   {"EDCLOSE", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Справочное руководство _EdOpenFile( )
Процедура библиотеки API _EdRevert( )
Процедура библиотеки API _EdSave( )
Процедура библиотеки API _EdSelect( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_EdCopy( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdCopy( )
Смотрите также Пример
CollapseAll image

Копирует в буфер обмена выделенный фрагмент файла, находящегося в заданном окне редактирования.

void _EdCopy(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Пример

В следующем примере открывается для редактирования заданный параметром файл; первый символ файла копируется в буфер обмена с помощью _EdCopy( ), а затем вставляется обратно после второго символа с помощью _EdPaste( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDCOPY
= EDCOPY("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdCopy(wh);
   _EdSetPos(wh, 2);
   _EdPaste(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDCOPY", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdPaste( )
Процедура библиотеки API _EdSelect( )
Процедура библиотеки API _EdSetPos( )
Процедура библиотеки API _EdCloseFile( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_EdCut( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdCut( )
Смотрите также Пример
CollapseAll image

Копирует в буфер обмена выделенный фрагмент файла, находящегося в заданном окне редактирования, и удаляет этот фрагмент из окна.

void _EdCut(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Пример

В следующем примере открывается для редактирования заданный параметром файл; первый символ "вырезается" в буфер обмена с помощью _EdCut( ), а затем вставляется обратно после второго символа с помощью _EdPaste( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDCUT
= EDCUT("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdCut(wh);
   _EdSetPos(wh, 2);
   _EdPaste(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDCUT", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdPaste( )
Процедура библиотеки API _EdSelect( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_EdDelete( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdDelete( )
Смотрите также Пример
CollapseAll image

Удаляет выделенный фрагмент файла в заданном окне редактирования.

void _EdDelete(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Примечания

Если в окне ничего не выделено, _EdDelete( ) удаляет символ, находящийся в текущей позиции курсора.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается для редактирования заданный параметром файл, первый символ которого удаляется с помощью _EdDelete( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDDELETE
= EDDELETE("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   int retValue;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdDelete(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDDELETE", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSelect( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_EdGetChar( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdGetChar( )
Смотрите также Пример
CollapseAll image

_EdGetChar( ) возвращает символ, который расположен с указанным смещением в файле, находящемся в заданном окне редактирования.

TEXT _EdGetChar(WHANDLE wh, EDPOS thePos)
WHANDLE wh;         /* Дескриптор окна редактирования. */
EDPOS thePos;            /* Величина смещения символа в файле. */

Expand image Пример

В следующем примере открывается для редактирования заданный параметром файл, содержимое которого отображается на экране.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDGETCHA
= EDGETCHAR("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pFILENAME[parm->p[0].val.ev_length] = '\0';
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdGetEnv(wh, &EdEnv);

   for (edpos = 0; edpos <= EdEnv.length; edpos++)
   {
      _PutChr(_EdGetChar(wh, edpos));
   }
}

FoxInfo myFoxInfo[] = {
   {"EDGETCHAR", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSetPos( )
Процедура библиотеки API _EdGetStr( )
Процедура библиотеки API _EdGetEnv( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdGetEnv( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdGetEnv()
Смотрите также Пример
CollapseAll image

_EdGetEnv() предоставляет информацию о среде редактора в *EDENV.

int _EdGetEnv(WHANDLE wh, *EDENV theEdEnv)
WHANDLE wh;            /* Дескриптор окна редактирования. */
*EDENV theEdEnv;         /* Установки среды. */

Expand image Примечания

Ниже перечислена структура *EDENV.

Note Замечание

В комментариях, приведенных ниже, (R) указывает, что этот член имеет признак "read-only" и не может быть установлен с помощью _EdSetEnv().

(B) указывает, что этот член может принимать одно из двух логических значений: 1 (True) или 0 (False).

CopyCode image Скопировать код
typedef struct
{
   char            filename[MAXFILENAME];   // (R)
   EDPOS         length;         // # байт текста. (R)
   unsigned short   lenLimit;         // Максимально допустимая длина.
 0 = infinite.

   unsigned short   dirty,            // Файл был изменен?
 (R, B)
                  autoIndent,      // автоприжим? (B)
                  backup,         // Сделать резервную копию файла? (B)
                  addLineFeeds,   // Добавить перевод строки при сохранении? (B)
                  autoCompile,      // Должны мы автоматически компилировать эту вещь?
 (B)
                  addCtrlZ,         // Добавить в конец файла ctrl-z? (B)
                  savePrefs,      // Сохранить предустановки редактирования? (B)
                  dragAndDrop,   // Позволить drag-and-drop. (B)
                  readOnly,         // 0 = редактируемый, 1 = нередактируемый r/o,
                                 // 2 = file is r/w, opened r/o,
                                 // 3 = file is r/o, opened r/o. (R)
                  status,            // Отобразить полоску статуса? (B)
                  lockPrefs,         // Возможна перепись предустановок? (B)
                  insertMode;      // (B)

   short            wrap;            // If < 0, новая строка только при Return.
   EDPOS         selStart;         // Начала выборки. (R)
   EDPOS         selEnd;         // Конец выборки. (R)
   EDPOS         selAnchor;      // Точка якоря выборки. (R)
   short            justMode;      // Прижим (0 = слеваt, 1 =
справа, 2 = по центру).
   short            tabWidth;      // Размер табуляции в пробелах.

   char            fontName[MAXFONTNAME];
   short            fontSize;
   short            fontStyle;      // 0 = обычный, 1 = жирный, 2 =
курсив, 3 = жирный курсив.
   short            kind;         // Вид сессии редактирования (R);
                              // EDCOMMAND, EDPROGRAM, etc.
} EDENV;

Если вызвана из командной сессии или сессии редактирования, то возвращает 1, в противном случае возвращается 0.

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Пример

Приведенный ниже пример открывает сессию редактирования файла, указанного в параметре и отображает каждое поле структуры EDENV для этого файла, которое возвращается с помощью _EdGetEnv().

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO EDGETENV
= EDGETENV("x")

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

void putLong(unsigned long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 6;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdGetEnv(wh, &EdEnv);

   _PutStr("\nfilename: ");    _PutStr(EdEnv.filename);
   _PutStr("\nlength: ");    putLong(EdEnv.length);
   _PutStr("\nlenLimit: ");    putLong(EdEnv.lenLimit);
   _PutStr("\ndirty: ");     putLong(EdEnv.dirty);
   _PutStr("\nautoIndent: ");  putLong(EdEnv.autoIndent);
   _PutStr("\nbackup: ");    putLong(EdEnv.backup);
   _PutStr("\naddLineFeeds: ");  putLong(EdEnv.addLineFeeds);
   _PutStr("\nautoCompile: ");   putLong(EdEnv.autoCompile);
   _PutStr("\naddCtrlZ: ");    putLong(EdEnv.addCtrlZ);
   _PutStr("\nsavePrefs: ");   putLong(EdEnv.savePrefs);
   _PutStr("\ndragAndDrop: ");   putLong(EdEnv.dragAndDrop);
   _PutStr("\nreadOnly: ");    putLong(EdEnv.readOnly);
   _PutStr("\nstatus: ");    putLong(EdEnv.status);
   _PutStr("\nlockPrefs: ");   putLong(EdEnv.lockPrefs);
   _PutStr("\ninsertMode: ");  putLong(EdEnv.insertMode);
   _PutStr("\nwrap: ");    putLong(EdEnv.wrap);
   _PutStr("\nselStart: ");    putLong(EdEnv.selStart);
   _PutStr("\nselEnd: ");    putLong(EdEnv.selEnd);
   _PutStr("\nselAnchor: ");   putLong(EdEnv.selAnchor);
   _PutStr("\njustMode: ");    putLong(EdEnv.justMode);
   _PutStr("\ntabWidth: ");    putLong(EdEnv.tabWidth);
   _PutStr("\nfontName: ");    _PutStr(EdEnv.fontName);
   _PutStr("\nfontSize: ");    putLong(EdEnv.fontSize);
   _PutStr("\nfontStyle: ");   putLong(EdEnv.fontStyle);
   _PutStr("\nkind: ");    putLong(EdEnv.kind);
}

FoxInfo myFoxInfo[] = {
   {"EDGETENV", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdLastError()
Процедура библиотеки API _EdSetEnv()
Процедура библиотеки API _EdGetLineNum()
Процедура библиотеки API _EdGetChar()

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_EdGetLineNum( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdGetLineNum()
Смотрите также Пример
CollapseAll image

Возвращает номер строки для переданной позиции смещения thePos в файле в указанном окне редактирования.

EDLINE _EdGetLineNum(WHANDLE wh, EDPOS thePos)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS thePos;               /* Позиция смещения в файле. */

Expand image Пример

Приведенный ниже пример открывает сессию редактирования файла, указанного параметром и получает EDPOS для строки с номером 12 вызовом _EdGetLinePos(). Затем вызывается _EdGetLineNum() на этой EDPOS, и при этом возвращается 12. Далее, увеличивается EDPOS и каждый раз вызывается _EdGetLineNum() до тех пор, пока не изменится возвращаемый EDLINE. В этой точке, вызывается _EdGetLinePos() для строки с номером 13.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO EDGETLIN
= EDGETLPOS("x")

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

void putLong(unsigned long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 6;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;
   EDPOS edpos;
   EDLINE edlin, original;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   edpos = _EdGetLinePos(wh, 12);
   _PutStr("\n_EdGetLinePos(wh, 12) =");
   putLong(edpos);

   original = edlin = _EdGetLineNum(wh, edpos);

   for (;;)
   {
      _PutStr("\n_EdGetLineNum(wh,");
      putLong(edpos);
      _PutStr(") = ");
      putLong(edlin);

      if (edlin != original)
      {
         break;
      }
      edpos++;
      edlin = _EdGetLineNum(wh, edpos);
   }

   edpos = _EdGetLinePos(wh, 13);
   _PutStr("\n_EdGetLinePos(wh, 13) ="); putLong(edpos);
}

FoxInfo myFoxInfo[] = {
   {"EDGETLPOS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetChar()
Процедура библиотеки API _EdGetLinePos()
Процедура библиотеки API _EdGetEnv()

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_EdGetLinePos( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdGetLinePos()
Смотрите также Пример
CollapseAll image

Возвращает позицию смещения первого символа указанной строки в в файле в указанном окне редактирования.

EDPOS _EdGetLinePos(WHANDLE wh, EDLINE theLine)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDLINE theLine;            /* Номер строки. */

Expand image Пример

Приведенный ниже пример открывает сессию редактирования файла указанного в параметре и получает EDPOS для с номером 12 вызовом _EdGetLinePos(). Затем вызывается _EdGetLineNum() этой EDPOS, и вызов вернет 12. Далее, увеличивается EDPOS и каждый раз вызывается _EdGetLineNum() до тех, пор не будет возвращен изменный EDLINE. В этой точке, вызывается _EdGetLinePos() для строки с номером 13.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO EDGETLPO
= EDGETLPOS("x")

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

void putLong(unsigned long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 6;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;
   EDPOS edpos;
   EDLINE edlin, original;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Недостаточно памяти"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   edpos = _EdGetLinePos(wh, 12);
   _PutStr("\n_EdGetLinePos(wh, 12) =");
   putLong(edpos);

   original = edlin = _EdGetLineNum(wh, edpos);

   for (;;)
   {
      _PutStr("\n_EdGetLineNum(wh,");
      putLong(edpos);
      _PutStr(") = ");
      putLong(edlin);

      if (edlin != original)
      {
         break;
      }
      edpos++;
      edlin = _EdGetLineNum(wh, edpos);
   }

   edpos = _EdGetLinePos(wh, 13);
   _PutStr("\n_EdGetLinePos(wh, 13) ="); putLong(edpos);
}
FoxInfo myFoxInfo[] = {
   {"EDGETLPOS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetLineNum()
Процедура библиотеки API _EdGetPos()
Процедура библиотеки API _EdGetChar()

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_EdGetPos( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
_EdGetPos( ) процедура библиотеки API
Смотрите также Пример
CollapseAll image

Возвращает текущую величину смещения курсора в файле, открытом в окне редактирования.

EDPOS _EdGetPos(WHANDLE wh)
WHANDLE wh;            /*Дескриптор окна редактирования.*/

Expand image Замечания

Если в окне есть выделенный текст, _EdGetPos( ) возвращает величину смещения точки привязки.

Для более подробной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается сеанс редактирования для файла, заданного параметром. После установки текущей позиции курсора с помощью _EdSetPos( ) вызывается программа _EdGetPos( ), чтобы проверить правильность возвращаемой ею величины смещения позиции курсора. Затем с помощью _EdSelect( ) выделяется текст и вызывается программа _EdGetPos( ), чтобы проверить правильность возвращаемой ею позиции точки привязки.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO EDGETPOS
= EDGETPOS("x")

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 6;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, 19);
   _PutStr("\n_EdSetPos(wh, 19)");
   edpos = _EdGetPos(wh);
   _PutStr("\n_EdGetPos(wh) ="); putLong(edpos);

   _EdSelect(wh, 5, 12);
   _PutStr("\n_EdSelect(wh, 5, 12)");
   edpos = _EdGetPos(wh);
   _PutStr("\n_EdGetPos(wh) ="); putLong(edpos);
}

FoxInfo myFoxInfo[] = {
   {"EDGETPOS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

_EdGetChar( ) процедура библиотеки API
_EdSetPos( ) процедура библиотеки API
_EdGetLinePos( ) процедура библиотеки API

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


_EdGetStr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки _EdGetStr( )
Смотрите также Пример
CollapseAll image

Помещает текст по указанному адресу между заданными позициями смещения (включая их).

void _EdGetStr(WHANDLE wh, EDPOS thePos, EDPOS thePos,
               TEXT *theStr)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS thePos;               /* Начальное смещение. */
EDPOS thePos;               /* Конечное смещение. */
TEXT *theStr;               /* Куда вставлять текст. */

Expand image Пример

В следующем примере в качестве параметра принимается имя файла и возвращаются первые 16 байтов файла.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDGETSTR
? EDGETSTR("x") && returns the first 16 characters of file "x"

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   char FAR *buffer;
   char FAR *pFileName;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pFileName = _HandToPtr(parm->p[0].val.ev_handle);
   pFileName[parm->p[0].val.ev_length] = '\0';
   wh = _EdOpenFile(pFileName, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);
   if ((buffer = _Alloca(17)) == 0) {
      _Error(182); // "Insufficient memory"
   }
   _EdGetStr(wh, 0, 15, buffer);
   buffer[16] = '\0';
   _RetChar(buffer);
}

FoxInfo myFoxInfo[] = {
   {"EDGETSTR", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetChar( )
Процедура библиотеки API _EdSetPos( )
Процедура библиотеки API _EdGetLinePos( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdIndent( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdIndent( )
Смотрите также Пример
CollapseAll image

Сдвигает выделенный текст на указанное число позиций табуляции в файле, открытом в заданном окне редактирования.

void _EdIndent(WHANDLE wh, int tabstops)
WHANDLE wh;            /* Дескриптор окна редактирования. */
int tabstops;                  /* Число позиций табуляции. */

Expand image Примечания

В качестве tabstops можно задать отрицательное число, чтобы сделать обратный отступ для выделенного фрагмента.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается сеанс редактирования для файла, заданного параметром; в строках 13 и 15 файла делается отступ на одну позицию табуляции.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDINDENT
= EDINDENT("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1)) {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, _EdGetLinePos(wh, 12), _EdGetLinePos(wh, 14));
   _EdIndent(wh, 1);
}
FoxInfo myFoxInfo[] = {
   {"EDINDENT", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetLineNum( )
Процедура библиотеки API _EdGetLinePos( )
Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdInsert( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdInsert( )
Смотрите также Пример
CollapseAll image

Вставляет в позиции курсора заданное число байтов, расположенных по указанному адресу TEXT *.

void _EdInsert(WHANDLE wh, TEXT *theStr, unsigned long Bytes)
WHANDLE wh;            /* Дескриптор окна редактирования. */
TEXT *theStr;               /* Адрес начала вставляемого текста. */
unsigned long Bytes;         /* Число вставляемых байтов. */

Expand image Пример

следующем примере открывается сеанс редактирования для файла, заданного параметром, и в качестве его новой четырнадцатой строки вставляется текст "Hello, world".

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDINSERT
= EDINSERT("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1)) {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\n", _StrLen("Hello, world\n"));
}
FoxInfo myFoxInfo[] = {
   {"EDINSERT", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdLastError( ) API Library Routine

Visual FoxPro 9.0 Справочник Языка
_EdLastError () библиотечная процедура API
См. Также Пример

_EdLastError( ) возвращает номер ошибки самой последней ошибки редактора, связанной с указанным окном редактирования.

int _EdLastError(WHANDLE wh)
WHANDLE wh;            /* Handle of editing window. */

Пример

Следующий пример отображает код ошибки, возвращенный _EdLastError( ) после нескольких операций редактора. Так как ошибки редактора зарезервированы для серьезных ситуаций, таких как недостаток памяти, следующий пример будет выводить код ошибки 0.

Код Visual FoxPro

Скопировать код
SET LIBRARY TO EDLASTER
= EDLASTERR("x")  && displays _EdLastError() after operations on file "x"

Код Си

Скопировать код
#include <pro_ext.h>
void putLong(long n)
{
   Value val;
   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;
   _PutValue(&val);
}
FAR Example(ParamBlk FAR *parm)
{
   char FAR *pFileName;
   WHANDLE wh;
   EDENV EdEnv;
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pFileName = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   pFileName[parm->p[0].val.ev_length] = '\0';
   wh = _EdOpenFile(pFileName, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);
//   Position past end of file
   _EdGetEnv(wh, &EdEnv);
   _EdSetPos(wh, EdEnv.length + 128);
   _PutStr("\n_EdLastError() ="); putLong(_EdLastError(wh));
//   _EdCopy() with no selection
   _EdSetPos(wh, 1);
   _EdCopy(wh);
   _PutStr("\n_EdLastError() ="); putLong(_EdLastError(wh));
//   _EdScrollToSel() with no selection
   _EdScrollToSel(wh, TRUE);
   _PutStr("\n_EdLastError() ="); putLong(_EdLastError(wh));
}
FoxInfo myFoxInfo[] = {
   {"EDLASTERR", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

См. Также

Другие Ресурсы

API Library Construction
_EdGetEnv( ) API Library Routine
_EdSetEnv( ) API Library Routine
Доступ к API Visual FoxPro

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_EdOpenFile( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdOpenFile( )
Смотрите также Пример
CollapseAll image

Открывает заданный файл в окне, чтобы можно было начать сеанс редактирования.

WHANDLE _EdOpenFile(TEXT *filename, int mode)
TEXT *filename;            /* Открываемый файл. */
int mode;                     /*Опция режима.*/

Expand image Примечания

Можно задавать следующие опции режима: FO_READONLY, FO_WRITEONLY и FO_READWRITE .

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере открывается сеанс редактирования для файла, заданного параметром.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDOPEN
= EDOPEN("x")  && opens editor session for file "x"

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"EDOPEN", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdCloseFile( )
Процедура библиотеки API _EdRevert( )
Процедура библиотеки API _EdSave( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdPaste( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdPaste( )
Смотрите также Пример
CollapseAll image

Копирует содержимое буфера обмена в точку расположения курсора в файле, находящемся в заданном окне редактирования.

void _EdPaste(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Пример

В следующем примере открывается для редактирования заданный параметром файл; первый символ файла копируется в буфер обмена с помощью _EdCopy( ), а затем вставляется обратно после второго символа с помощью _EdPaste( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDPASTE
= EDCOPY("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdCopy(wh);
   _EdSetPos(wh, 2);
   _EdPaste(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDCOPY", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdCopy( )
Процедура библиотеки API _EdCut( )
Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSelect( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdPosInView( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdPosInView( )
Смотрите также Пример
CollapseAll image

?

int _EdPosInView(WHANDLE wh, EDPOS thePos)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS thePos;               /* Величина смещения. */

Expand image Примечания

_EdPosInView( ) возвращает значение "истина" (целое число, отличное от 0), если позиция с указанным смещением в файле, открытом в заданном окне редактирования, является видимой; в противном случае возвращается "ложь" (0).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Пролистав файл к началу, программа вызывает _EdPosInView( ), чтобы проверить, видимы ли начало и конец файла и выводятся ли на экран результаты. Затем программа прокручивает файл до конца и вновь вызывает _EdPosInView( ), чтобы проверить, видимы ли начало и конец файла.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDPOSINV
= POSINVIEW("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdGetEnv(wh, &EdEnv);

   _EdScrollToPos(wh, 0, FALSE);
   _PutStr("\n_EdScrollToPos(wh, 0)");
   _PutStr("\n_EdPosInView(wh, 0) =");
   putLong(_EdPosInView(wh, 0));
   _PutStr("\n_EdPosInView(wh, EdEnv.length) =");
   putLong(_EdPosInView(wh, EdEnv.length));

   _EdScrollToPos(wh, EdEnv.length, FALSE);
   _PutStr("\n_EdScrollToPos(wh, EdEnv.length)");
   _PutStr("\n_EdPosInView(wh, 0) =");
   putLong(_EdPosInView(wh, 0));
   _PutStr("\n_EdPosInView(wh, EdEnv.length) =");
   putLong(_EdPosInView(wh, EdEnv.length));
}

FoxInfo myFoxInfo[] = {
   {"POSINVIEW", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdRedo( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdRedo( )
Смотрите также Пример
CollapseAll image

Повторно вносит в файл, находящийся в заданном окне редактирования, изменение, которое было отменено самой последней командой _EdUndo( ).

void _EdRedo(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. В него вставляется новая строка, затем она удаляется с помощью _EdUndo( ), а потом вставляется вновь с помощью _EdRedo( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDREDO
= EDREDO("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\n", _StrLen("Hello, world\n"));

   _Execute("WAIT WINDOW 'New line inserted.  Press any key to undo.'");
   _EdUndo(wh);

   _Execute("WAIT WINDOW 'Insertion undone.  Press any key to redo.'");
   _EdRedo(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDREDO", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdUndo( )
Процедура библиотеки API _EdUndoOn( )
Процедура библиотеки API _EdRevert( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdRevert( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdRevert( )
Смотрите также Пример
CollapseAll image

Аннулирует все изменения, которые были внесены в файл, находящийся в заданном окне редактирования, с момента его последнего сохранения с помощью программы _EdSave( ).

void _EdRevert(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Над ним выполняются некоторые операции редактирования: вставляется новая строка, делается отступ в двух строках, другие две строки удаляются, после чего все внесенные изменения аннулируются с помощью _EdRevert( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDREVERT
= EDREVERT("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\r\n", _StrLen("Hello, world\n"));

   _EdSelect(wh, _EdGetLinePos(wh, 14), _EdGetLinePos(wh, 16));
   _EdIndent(wh, 1);

   _EdSelect(wh, _EdGetLinePos(wh, 9), _EdGetLinePos(wh, 12));
   _EdDelete(wh);

   _EdRevert(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDREVERT", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdRedo( )
Процедура библиотеки API _EdUndo( )
Процедура библиотеки API _EdUndoOn( )
Процедура библиотеки API _EdSave( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdSave( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdSave( )
Смотрите также Пример
CollapseAll image

_EdSave( ) сохраняет файл в заданном окне, не завершая сеанс редактирования.

void _EdSave(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Производится вставка новой строки, установка отступов в двух строках и удаление двух других строк. После вставки новой строки вызывается _EdSave( ). Затем, после установки отступов и удаления, трижды вызывается _EdUndo( ) с целью отменить все действия по редактированию; однако вставка, сделанная до вызова _EdSave( ), не может быть отменена. Затем выполняются еще две операции редактирования - вставка двух строк и удаление двух строк, - между которыми вызывается _EdSave( ). Наконец, вызывается программа _EdRevert( ), но и она в состоянии отменить лишь изменения, внесенные с момента последнего вызова _EdSave( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSAVE
= EDSAVE("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\r\n", _StrLen("Hello, world\n"));

   _EdSave(wh);

   _EdSelect(wh, _EdGetLinePos(wh, 14), _EdGetLinePos(wh, 16));
   _EdIndent(wh, 1);

   _EdSelect(wh, _EdGetLinePos(wh, 9), _EdGetLinePos(wh, 12));
   _EdDelete(wh);

   _Execute("WAIT WINDOW 'Press any key to undo changes.'");
   _EdUndo(wh);  // undo deletion
   _EdUndo(wh);  // undo indent
   _EdUndo(wh);  // attempt to undo insertion, but can't

   _EdSelect(wh, _EdGetLinePos(wh, 14), _EdGetLinePos(wh, 16));
   _EdIndent(wh, 1);

   _EdSave(wh);

   _EdSelect(wh, _EdGetLinePos(wh, 9), _EdGetLinePos(wh, 12));
   _EdDelete(wh);

   _EdRevert(wh);   // undoes deletion
}

FoxInfo myFoxInfo[] = {
   {"EDSAVE", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdCloseFile( )
Процедура библиотеки API _EdOpenFile( )
Процедура библиотеки API _EdRevert( )
Процедура библиотеки API _EdUndo( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdScrollToPos( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdScrollToPos( )
Смотрите также Пример
CollapseAll image

Делает видимой позицию, которая задана смещением в файле, находящемся в указанном окне редактирования.

void _EdScrollToPos(WHANDLE wh, EDPOS thePos, int Center)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS thePos;               /* Смещение позиции, которую нужно сделать видимой. */
int Center;                  /* Нужно ли центрировать позицию относительно окна. */

Expand image Примечания

_EdScrollToPos( ) не перемещает курсор. Если задать в качестве Center значение "истина", указанная позиция будет центрироваться в окне по вертикали, а если задать "ложь", центрирование производиться не будет.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Пролистав файл к началу с помощью _EdScrollToPos( ), программа вызывает _EdPosInView( ), чтобы проверить, видимы ли начало и конец файла и выводятся ли на экран результаты. Затем программа прокручивает файл до конца с помощью _EdScrollToPos( ) и вновь вызывает _EdPosInView( ), чтобы проверить, видимы ли начало и конец файла.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSCTOPO
= POSINVIEW("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1)) {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdGetEnv(wh, &EdEnv);

   _EdScrollToPos(wh, 0, FALSE);
   _PutStr("\n_EdScrollToPos(wh, 0)");
   _PutStr("\n_EdPosInView(wh, 0) =");
   putLong(_EdPosInView(wh, 0));
   _PutStr("\n_EdPosInView(wh, EdEnv.length) =");
   putLong(_EdPosInView(wh, EdEnv.length));

   _EdScrollToPos(wh, EdEnv.length, FALSE);
   _PutStr("\n_EdScrollToPos(wh, EdEnv.length)");
   _PutStr("\n_EdPosInView(wh, 0) =");
   putLong(_EdPosInView(wh, 0));
   _PutStr("\n_EdPosInView(wh, EdEnv.length) =");
   putLong(_EdPosInView(wh, EdEnv.length));
}

FoxInfo myFoxInfo[] = {
   {"POSINVIEW", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdPosInView( )
SYS(2002) - Переключение курсора как On или Off
Процедура библиотеки API _EdInsert( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdScrollToSel( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdScrollToSel( )
Смотрите также Пример
CollapseAll image

Делает видимым выделенный текст в заданном окне.

void _EdScrollToSel(WHANDLE wh, int Center)
WHANDLE wh;            /* Дескриптор окна редактирования. */
int Center;                  /* Нужно ли центрировать точку привязки относительно окна. */

Expand image Примечания

Если задать в качестве Center значение "истина", точка привязки будет центрироваться в окне по вертикали, а если задать "ложь", точка привязки центрироваться не будет.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API..

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Выделяется текст вблизи конца файла. После того как пользователь нажимает клавишу в ответ на команду Visual FoxPro WAIT, программа прокручивает окно редактирования до выделенного фрагмента с помощью _EdScrollToSel( ). Затем аналогичная операция выполняется для фрагмента, выделенного вблизи начала файла.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSCTOSE
= TOSEL("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READONLY);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdScrollToPos(wh, 0, TRUE);

   _EdGetEnv(wh, &EdEnv);
   _EdSelect(wh, EdEnv.length - 16, EdEnv.length);

   _PutStr("\nMade selection at end of file.");
   _Execute("WAIT WINDOW 'Press any key to scroll to selection.'");

   _EdScrollToSel(wh, TRUE);
   _EdSelect(wh, 1, 16);

   _PutStr("\nMade selection at beginning of file.");
   _Execute("WAIT WINDOW 'Press any key to scroll to selection.'");

   _EdScrollToSel(wh, TRUE);
}

FoxInfo myFoxInfo[] = {
   {"TOSEL", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSelect( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdSelect( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdSelect( )
Смотрите также Пример
CollapseAll image

Выделяет связную область между двумя позициями (включая их), которые заданы смещениями в файле, находящемся в указанном окне редактирования.

void _EdSelect(WHANDLE wh, EDPOS startPos, EDPOS endPos)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS startPos;         /* Смещение начала выделяемой области. */
EDPOS endPos;         /* Смещение конца выделяемой области. */

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром; в нем выделяется первый символ с помощью _EdSelect( ), выделенный фрагмент копируется в буфер обмена с помощью _EdCopy( ) и вставляется после второго символа с помощью _EdPaste( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSELECT
= EDCOPY("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSelect(wh, 0, 1);
   _EdCopy(wh);
   _EdSetPos(wh, 2);
   _EdPaste(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDCOPY", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdCopy( )
Процедура библиотеки API _EdCut( )
Процедура библиотеки API _EdPaste( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdSendKey( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdSendKey( )
Смотрите также Пример
CollapseAll image

Имитирует нажатие клавиши, которая соответствует коду ASCII, заданному значением charNum.

void _EdSendKey(WHANDLE wh, int charNum)
WHANDLE wh;            /* Дескриптор окна редактирования. */
int charNum;               /* Код символа. */

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Программа вставляет строку текста "Hello, World", передавая отдельные символы с помощью _EdSendKey( ). Затем с помощью _EdSendKey( ) передаются возврат каретки и перевод строки, а также вставляется escape-символ набора ASCII. Заметьте, что escape-символ не интерпретируется как "отмена сеанса редактирования".

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSENDKE
= SENDKEY("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   // Insert a line of text using _EdSendKey()
   _EdSetPos(wh, 0);
   _EdSendKey(wh, 'H');
   _EdSendKey(wh, 'e');
   _EdSendKey(wh, 'l');
   _EdSendKey(wh, 'l');
   _EdSendKey(wh, 'o');
   _EdSendKey(wh, ',');
   _EdSendKey(wh, ' ');
   _EdSendKey(wh, 'W');
   _EdSendKey(wh, 'o');
   _EdSendKey(wh, 'r');
   _EdSendKey(wh, 'l');
   _EdSendKey(wh, 'd');
   _EdSendKey(wh, '.');
   _EdSendKey(wh, 0x0d); // carriage return
   _EdSendKey(wh, 0x0a); // line feed
   _EdSendKey(wh, 0x1b); // esc char code is inserted in file
}

FoxInfo myFoxInfo[] = {
   {"SENDKEY", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdInsert( )
Процедура библиотеки API _EdGetChar( )
Системная переменная _ASCIICOLS
Системная переменная _ASCIIROWS

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdSetEnv( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdSetEnv( )
Смотрите также Пример
CollapseAll image

Определяет различные установки редактора.

int _EdSetEnv(WHANDLE wh, *EDENV theEdEnv)
WHANDLE wh;            /* Дескриптор окна редактирования.. */
*EDENV theEdEnv;         /* Установки редактора. */

Expand image Примечания

Описание структуры *EDENV, смотрите в теме Процедура библиотеки API _EdGetEnv( ).

Tсли вызов из сесии Command или Editor - возврвщается 1, иначе возвращается 0.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. В двух строках делается отступ, после чего _EdSetEnv( ) изменяет ширину табуляции сначала до 6 символов, а потом до 9.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSETENV
= EDSETENV("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDENV EdEnv;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
{
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdGetEnv(wh, &EdEnv);

   _EdSelect(wh, _EdGetLinePos(wh, 1), _EdGetLinePos(wh, 3));
   _EdIndent(wh, 1);

   _Execute("WAIT WINDOW 'Press any key\
      to change tabs to 6 characters.'");
   EdEnv.tabWidth = 6;
   _EdSetEnv(wh, &EdEnv);

   _Execute("WAIT WINDOW 'Press any key \
      to change tabs to 9 characters.'");
   EdEnv.tabWidth = 9;
   _EdSetEnv(wh, &EdEnv);
}

FoxInfo myFoxInfo[] = {
   {"EDSETENV", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetEnv( )
Процедура библиотеки API _EdLastError( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdSetPos( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdSetPos( )
Смотрите также Пример
CollapseAll image

Перемещает курсор в позицию с заданным смещением в файле, находящемся в указанном окне редактирования, при этом снимая выделение со всех выделенных фрагментов.

void _EdSetPos(WHANDLE wh, EDPOS thePos)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS thePos;               /* Заданное смещение. */

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Using _EdSetPos( ) устанавливает курсор в позицию 19 файла. Затем выполняется вызов _EdGetPos( ) и вставка текста, чтобы проверить правильность установки курсора.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSETPOS
= EDSETPOS('x')

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 6;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, 19);
   _PutStr("\n_EdSetPos(wh, 19)");
   edpos = _EdGetPos(wh);
   _PutStr("\n_EdGetPos(wh) ="); putLong(edpos);
   _EdInsert(wh, "*** Inserted at EDPOS = 19 ***",
      _StrLen("*** Inserted at EDPOS = 19 ***"));
}

FoxInfo myFoxInfo[] = {
   {"EDSETPOS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetLineNum( )
Процедура библиотеки API _EdGetChar( )
Процедура библиотеки API _EdGetPos( )

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdSkipLines( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdSkipLines( )
Смотрите также Пример
CollapseAll image

Перемещает курсор к началу строки, отстоящей на int строк от строки с текущей позицией курсорая thePos.

EDPOS _EdSkipLines(WHANDLE wh, EDPOS thePos, int offset)
WHANDLE wh;            /* Дескриптор окна редактирования. */
EDPOS thePos;               /* Смещение текущей позиции курсора. */
int offset;                     /* Число пропускаемых строк. */

Expand image Примечания

Можно задать как положительное, так и отрицательное число строк.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Выполняется _EdSkipLines( ), отыскивающая нужное смещение, а затем выделяются строки 3 и 4.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDSKIPLI
= SKIPLINE("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   // select next two lines
   edpos = _EdSkipLines(wh, 0, 2); // skip to two lines from top
   _EdSelect(wh, edpos, _EdSkipLines(wh, edpos, 2));
   _Execute("WAIT WINDOW 'Using _EdSkipLines() \
      to select lines 3 and 4'");
}

FoxInfo myFoxInfo[] = {
   {"SKIPLINE", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdGetPos( )
Процедура библиотеки API _EdSetPos( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdUndo( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdUndo( )
Смотрите также Пример
CollapseAll image

Отменяет самое последнее изменение, внесенное в файл в заданном окне.

void _EdUndo(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна редактирования. */

Expand image Примечания

Когда пользователь вносит в файл изменения, они записываются в буфер отмены. _EdUndo( ) можно вызвать несколько раз и тем самым отменить целую группу изменений. Нельзя отменить изменение, внесенное до вызова _EdSave( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API..

Expand image Пример

В следующем примере открывается для редактирования файл, заданный параметром. Вставляется новая строка, затем она удаляется с помощью _EdUndo( ), после чего эта строка восстанавливается с помощью _EdRedo( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDUNDO
= EDREDO("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\n", _StrLen("Hello, world\n"));

   _Execute("WAIT WINDOW 'New line inserted.\
      Press any key to undo.'");
   _EdUndo(wh);

   _Execute("WAIT WINDOW 'Insertion undone.  Press any key to redo.'");
   _EdRedo(wh);
}

FoxInfo myFoxInfo[] = {
   {"EDREDO", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdRedo( )
Процедура библиотеки API _EdUndoOn( )
Процедура библиотеки API _EdSave( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_EdUndoOn( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _EdUndoOn( )
Смотрите также Пример
CollapseAll image

Позволяет объединять последовательность действий в группу, которую можно задавать как одиночное действие в _EdUndo( ) и _EdRedo( ).

void _EdUndoOn(WHANDLE wh, int Grouped)
WHANDLE wh;            /* Дескриптор окна. */
int Grouped;                  /* Включение/выключение группирования. */

Expand image Примечания

Если вы передали с _EdUndoOn( ) параметр Grouped , имеющий значение "ложь", или вызвали _EdUndo( ), то все последующие действия не будут включаться в образованную группу.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.

Expand image Пример

В следующем примере показано, как с помощью _EdUndoOn( ) группировать операции редактирования, чтобы потом отменить их все сразу с помощью _EdUndo( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EDUNDOON
= EDUNDOON("x")  && edit file "x"

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>
#define TRUE   1
#define FALSE   0

FAR Example(ParamBlk FAR *parm)
{
   char FAR *pFileName;
   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pFileName = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   pFileName[parm->p[0].val.ev_length] = '\0';
   wh = _EdOpenFile(pFileName, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   _EdUndoOn(wh, TRUE); // start undo group

   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\n", _StrLen("Hello, world\n"));
   _EdSelect(wh, _EdGetLinePos(wh, 14), _EdGetLinePos(wh, 16));
   _EdIndent(wh, 1);

   _EdUndoOn(wh, FALSE); // end undo group
   _EdUndoOn(wh, TRUE); // start another undo group

   _EdSelect(wh, _EdGetLinePos(wh, 9), _EdGetLinePos(wh, 12));
   _EdDelete(wh);
   _EdSetPos(wh, _EdGetLinePos(wh, 13));
   _EdInsert(wh, "Hello, world\n", _StrLen("Hello, world\n"));

   _Execute("WAIT WINDOW 'Press any key to undo changes.'");
   _EdUndoOn(wh, TRUE); // undoes to start of undo group
}

FoxInfo myFoxInfo[] = {
   {"EDUNDOON", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _EdRedo( )
Процедура библиотеки API _EdUndo( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_Error( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Error( )
Смотрите также Пример
CollapseAll image

code.

void _Error(int code)
int code;                     /* Внутренний номер ошибки Visual FoxPro. */

Expand image Примечания

Параметр code представляет собой внутренний номер ошибки Visual FoxPro и может иметь как положительное, так и отрицательное значение. _Error( ) передает управление обработчику ошибок Visual FoxPro, чтобы эту ошибку можно было обработать, как любую другую ошибку Visual FoxPro. В программу, вызвавшую _Error( ), управление не возвращается, даже если пользователь решит игнорировать ошибку. Выполнение возобновляется со следующего оператора Visual FoxPro.

Номера ошибок и их описания см. в разделе справки Visual FoxPro Номера ошибок.

Note Замечание

Не вызывайте _Error( ) из обработчика событий.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _Error( ) вызывается, когда _DBSkip( ) возвращает номер ошибки. В коде Visual FoxPro показано, как создать ситуацию, приводящую к вызову _Error( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ERROR
DO CreateTest

ON ERROR DO expectError
USE
= DBSKIP(1)  && _Error() called: no DBF in use
USE test
GO TOP
= DBSKIP(-1)
= DBSKIP(-1)    && _Error() called: at top of file
GO BOTT
= DBSKIP(1)
= DBSKIP(1)  && _Error() called: at bottom of file
ON ERROR

PROCEDURE expectError
   ? "ERROR: " + MESSAGE()
RETURN

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *pblk)
{
   int RetCode;

   if ((RetCode = _DBSkip(-1, pblk->p[0].val.ev_long)) < 0) {
      _PutStr("\nError encountered in example program.");
      _Error(-RetCode);  // _DBSkip() returns negative error code
   }
   _RetInt(RetCode, 10);
}

FoxInfo myFoxInfo[] = {
   {"DBSKIP", (FPFI) Example, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ErrorInfo( )
Процедура библиотеки API _UserError( )
Процедура библиотеки API _DBSkip( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_ErrorInfo( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ErrorInfo( )
Смотрите также Пример
CollapseAll image

Возвращает внешний номер ошибки, который соответствует внутреннему номеру ошибки Visual FoxPro, заданному значением code.

int _ErrorInfo(int code, char FAR *message)
int code;                     /* Внутренний номер ошибки Visual FoxPro. */
char FAR *message;         /*Указатель на область сообщения об ошибке. */

Expand image Примечания

Параметр message представляет собой указатель на символьную строку, содержащую сообщение Visual FoxPro. Если message - не пустой указатель, Visual FoxPro записывает в эту область текст сообщения об ошибке, соответствующий данному внешнему номеру ошибки.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере показана информация, возвращаемая _ErrorInfo( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ERRORINF
= ERRORINFO(0)
= ERRORINFO(1)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

void FAR ErrorInfo(ParamBlk FAR *parm)
{
   int ext;
   char FAR *message;

   if ((message =_Alloca(128)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   ext = _ErrorInfo((int) parm->p[0].val.ev_long, message);

   _PutChr('\n'); putLong(ext); _PutStr(" "); _PutStr(message);
}

FoxInfo myFoxInfo[] = {
   {"ERRORINFO", (FPFI) ErrorInfo, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _Error( )
Процедура библиотеки API _UserError( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_Evaluate( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Evaluate( )
Смотрите также Пример
CollapseAll image

Компилирует и выполняет выражение Visual FoxPro, заданное параметром expr, а результат помещает по адресу res.

int _Evaluate(Value FAR *res, char FAR *expr)
Value FAR *res;            /* Адрес результата. */
char FAR *expr;            /* Выражение. */

Expand image Примечания

_Evaluate( ) возвращает внутренний номер ошибки Visual FoxPro, которая может произойти во время вычисления выражения Visual FoxPro; если ошибок нет, возвращается 0. Содержимое области res ействительно только в том случае, если _Evaluate( ) возвращает 0.

Note Замечание

Не вызывайте _Evaluate( ) из обработчика событий.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример обеспечивает те же возможности, что и функция Visual FoxPro EVALUATE( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EVALUATE
? XEVAL("2 + 3")
? XEVAL("'a' + 'b'")
? XEVAL("SIN(PI()/2))")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR EvaluateEx(ParamBlk FAR *parm)
{
   char FAR *expr;
   Value result;

//   Null terminate character string
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   expr = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   expr[parm->p[0].val.ev_length] = '\0';

   _Evaluate(&result, expr);
   _RetVal(&result);

   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"XEVAL", (FPFI) EvaluateEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _Execute( )
Команда CANCEL
Команда QUIT

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_Execute( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Execute( )
Смотрите также Пример
CollapseAll image

Компилирует и выполняет заданный в параметре stmt оператор, ограниченный нуль-символом.

int _Execute(char FAR *stmt)
char FAR *stmt;            /* Выполняемый оператор. */

Expand image Примечания

Параметр stmt может задавать любую команду или функцию, которую можно выполнить из окна Command. Когда выполнение оператора завершается, управление обычно возвращается оператору языка C, непосредственно следующему за вызовом _Execute( ). Исключение составляет выполнение кода для команды Visual FoxPro CANCEL или QUIT.

_Execute( ) возвращает внутренний номер ошибки Visual FoxPro, которая может произойти во время выполнения оператора; если ошибок нет, возвращается 0.

Note Замечание

Не вызывайте _Execute( ) из обработчика событий.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа _Execute( ) используется для выполнения переданного оператора Visual FoxPro.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EXECUTE
= EXEC("? 'Hello, world.'")
= EXEC("DISPLAY STATUS")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR ExecuteEx(ParamBlk FAR *parm)
{
   char FAR *cmd;

   // Null terminate character string
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   cmd = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   cmd[parm->p[0].val.ev_length] = '\0';

   _Execute(cmd);

   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"EXEC", (FPFI) ExecuteEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _Evaluate( )
Команда CANCEL
Команда QUIT

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FCHSize( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FCHSize( )
Смотрите также Пример
CollapseAll image

Устанавливает размер заданного файла на диске равным указанной величине length.

int _FCHSize(FCHAN chan, long length)
FCHAN chan;               /* Изменяемый файл. */
long length;                  /* Новая длина файла в байтах. */

Expand image Примечания

Заданная длина может привести к расширению или усечению файла. _FCHSize( ) возвращает 0, если длина файла была успешно изменена, в противном случае - 1 .

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается файл TEMP.TXT, размер которого с помощью _FCHSize( ) устанавливается равным 8196 байт.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FCHSIZE
DIR  temp.txt

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan = _FCreate("temp.txt", FC_NORMAL);
   _FCHSize(fchan, 8196);
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FCHSIZE", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FGets( )
Процедура библиотеки API _FPuts( )
Процедура библиотеки API _FWrite( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FClose( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FClose()
Смотрите также Пример
CollapseAll image

Обрывает доступ к файлу.

int _FClose(FCHAN chan)
FCHAN chan;               /* Файловый канал файл, который должен быть закрыт. */

Expand image Примечания

Любые буферы, которые были изменены, пока был открыт буфер автоматически сбрасываются на диск. Если файл имеет атрибут TEMPORARY, то FClose( ) удаляет такой файл. _FClose() возвращает 0, если файл был закрыт успешно или – 1, если не удалось закрыть файл.

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Пример

Приведенный ниже пример создает файл Temp.txt, устанавливает его размер равным 8196 байтам и закрывает его с помощью _FClose().

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO FCLOSE
DIR temp.txt

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan = _FCreate("temp.txt", FC_NORMAL);
   _FCHSize(fchan, 8196);
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FCHSIZE", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FOpen()
Процедура библиотеки API _FCopy()

Прочие ресурсы

API Library Construction
Доступ к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_FCopy( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FCopy( )
Смотрите также Пример
CollapseAll image

Пытается скопировать len байтов из области, имеющей смещение spos в файле-источнике sc, в область, имеющую смещение dpos в файле назначения dc.

int _FCopy(FCHAN dc, long dpos, FCHAN sc, long spos, long len)
FCHAN dc;                  /* Канал файла назначения. */
long dpos;                  /* Смещение в файле назначения. */
FCHAN sc;                  /* Канал файла-источника. */
long spos;                  /* Смещение в файле-источнике. */
long len;                     /* Число копируемых байтов. */

Expand image Примечания

_FCopy( ) возвращает значение "истина" (целое число, отличное от 0) в случае успеха и"ложь" (0) в случае неудачи.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создаются два файла. В первый из них записывается текст "Hello, world", а затем содержимое этого файла, начиная с третьего байта, копируется во второй файл.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FCOPY

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan1, fchan2;
   int len;

   fchan1 = _FCreate("temp1.txt", FC_NORMAL);
   _FPuts(fchan1, "Hello, world.");
   _FFlush(fchan1);

   len = _FSeek(fchan1, 0, FS_FROMEOF); // determine length of file

   fchan2 = _FCreate("temp2.txt", FC_NORMAL);
   _FCopy(fchan2, 0, fchan1, 2, len - 2);

   _FClose(fchan1);
   _FClose(fchan2);
}

FoxInfo myFoxInfo[] = {
   {"FCOPY", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FPuts( )
Процедура библиотеки API _FWrite( )
Процедура библиотеки API _FCreate( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FCreate( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FCreate( )
Смотрите также Пример
CollapseAll image

Назначает канал Visual FoxPro новому файлу.

FCHAN _FCreate(char FAR *filename, int mode)
char FAR *filename;         /* Имя создаваемого файла. */
int mode;                     /* Атрибуты файла. */

Expand image Примечания

Если файл с заданным именем уже существует, _FCreate( ) укорачивает существующий файл до длины 0 байт.

Параметр mode может содержать один или несколько флагов из числа следующих: FC_READONLY, FC_SYSTEM, FC_HIDDEN, и FC_TEMPORARY. Эти флаги можно комбинировать между собой с помощью оператора C or + . Еще один флаг, FC_NORMAL, указывает, что файл не обладает ни одним из остальных атрибутов. Файлы с атрибутом FC_TEMPORARY автоматически удаляются, когда вы их закрываете с помощью программы _FClose( ).

_FCreate( ) возвращает канал файла, если он был успешно создан, в противном случае - 1 .

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _FCreate( ) используется для создания нескольких файлов с различными атрибутами mode.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FCREATE

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;

   fchan = _FCreate("normal.tmp", FC_NORMAL);
   _FClose(fchan);

   fchan = _FCreate("readonly.tmp", FC_READONLY);
   _FClose(fchan);

   fchan = _FCreate("hidden.tmp", FC_HIDDEN);
   _FClose(fchan);

   fchan = _FCreate("system.tmp", FC_SYSTEM);
   _FClose(fchan);

   fchan = _FCreate("temp.tmp", FC_TEMPORARY);
   _FClose(fchan);

   fchan = _FCreate("multi.tmp", FC_SYSTEM | FC_READONLY);
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FCREATE", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FClose( )
Процедура библиотеки API _FOpen( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FEOF( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FEOF( )
Смотрите также Пример
CollapseAll image

?

int _FEOF(FCHAN chan)
FCHAN chan;               /* Канал файла. */

Expand image Примечания

_FEOF( ) возвращает значение "истина" (целое число, отличное от 0), если указатель файла установлен в конце заданного файла; в противном случае возвращается "ложь" (0).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается файл и его длина устанавливается равной 8192 байтам. Затем указатель файла перемещается в начало файла и вызывается _FEOF( ), возвращающая значение 0 ("ложь"). После этого указатель файла перемещается в конец файла и вновь вызывается программа _FEOF( ), которая на этот раз возвращает значение 1 ("истина").

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FEOF

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

    PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan =  FCreate("temp.txt", FC NORMAL);
    FCHSize(fchan, 8196);
    FFlush(fchan);

    FSeek(fchan, 0, FS FROMBOF);
    PutStr("\n FSeek(fchan, 0, FS FROMBOF)");
    PutStr("\n FEOF(fchan) ="); putLong(_FEOF(fchan));

   _FSeek(fchan, 0, FS_FROMEOF);
   _PutStr("\n_FSeek(fchan, 0, FS_FROMEOF)");
   _PutStr("\n_FEOF(fchan) ="); putLong(_FEOF(fchan));
}

FoxInfo myFoxInfo[] = {
   {"FEOF", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FSeek( )
Процедура библиотеки API _FCopy( )
Процедура библиотеки API _FWrite( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FError( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FError( )
Смотрите также Пример
CollapseAll image

Возвращает номер последней ошибки файловой операции, зафиксированной на каком-либо канале файла.

int _FError(void any)
void any;                     /* Указатель. */

Expand image Пример

В следующем примере программа _FOpen( ) пытается открыть файл с именем NOFILE.ABC, который предположительно не существует. Затем вызывается программа _FError( ), возвращающая номер ошибки 2 - "file not found".

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FERROR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan = _FOpen("nofile.abc", FC_READONLY);
   _PutStr("\nAttempted to _FOpen() a file which does not exist.");
   _PutStr("\n_FError() ="); putLong(_FError());
}

FoxInfo myFoxInfo[] = {
   {"FERROR", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FClose( )
Процедура библиотеки API _FCreate( )
Процедура библиотеки API _FOpen( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FFlush( ) API Library Routine

Visual FoxPro 9.0 Language Reference
_FFlush( ) Процедура библиотеки API
См. также Пример

Сбрасывает на диск все модифицированные буферы памяти, относящиеся к заданному файлу.

int _FFlush(FCHAN chan)
FCHAN chan;               /* Канал сбрасываемого файла или файл для записи. */

Замечания

_FFlush( ) возвращает 0, если очистка буферов выполнена успешно, или - 1 в противном случае.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, См. Доступ к Visual FoxPro API.

Пример

В следующем примере создается файл и его длина устанавливается равной 8196 байтам. Если в окне команд Visual FoxPro выдать командную строку DIR TEMP.TXT, то в выданной информации будет указано, что размер файла на диске по-прежнему равен 0. Однако если выдать DIR TEMP.TXT еще раз после того, как выполнится =XFFLUSH( ), то вы увидите, что файл на диске обработан программой _FCHSize( ) и имеет размер 8196 байтов.

Visual FoxPro Код

Копировать код
SET LIBRARY TO FFLUSH
DIR temp.txt  && размер на диске - пока еще 0
WAIT WINDOW "размер файла = 0"
= XFFLUSH()
DIR temp.txt  && размер на диске 8196
WAIT WINDOW "Размер файла не равняется 0"
CLOSE ALL

C Код

Копировать код
#include <pro_ext.h>

static FCHAN fchan;

FAR CreateIt(ParamBlk FAR *parm)
{
   fchan = _FCreate("temp.txt", FC_NORMAL);
   _FCHSize(fchan, 8196);
}

FAR FFlushEx(ParamBlk FAR *parm)
{
   _FFlush(fchan);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) CreateIt, CALLONLOAD, ""},
   {"XFFLUSH", (FPFI) FFlushEx, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

See Also

Other Resources

Построение библиотеки API
_FPuts( ) Подпрограмма библиотеки API
_FWrite( ) Подпрограмма библиотеки API
_FError( ) Подпрограмма библиотеки API
Доступ к Visual FoxPro API

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


_FGets( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FGets( )
Смотрите также Пример
CollapseAll image

Копирует в буфер одну строку из заданного файла, начиная с текущей позиции в файле.

unsigned int _FGets(FCHAN chan, char FAR *buffer, int maxlen)
FCHAN chan;               /*  Канал файла с которого копируем. */
char FAR *buffer;            /* Адрес буфера. */
int maxlen;                  /*Максимальная длина строки в байтах. */

Expand image Примечания

_FGets( ) копирует строку длиной maxlen, заканчивающуюся возвратом каретки. Возврат каретки транслируется в нуль-символ, служащий признаком окончания строки, и сохраняется в буфере. Переводы строки игнорируются и не заносятся в буфер. _FGets( ) возвращает число байтов, скопированных в буфер.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается файл, заданный параметром, а затем каждая его строка копируется и выводится на экран.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FGETS
fc = FCREATE("x", 0)
= FPUTS(fc, REPL("X", 512), 512)
= FCLOSE(fc)
= XFGETS("x")
DELETE FILE x

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

#define BUFFSIZE 256
static char lineBuffer[BUFFSIZE];

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;

//   Null terminate file name
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);

   ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))
      [parm->p[0].val.ev_length] = '\0';

   if ((fchan=_FOpen((char FAR*)_HandToPtr(parm->p[0].val.ev_handle),
      FC_NORMAL)) < 0)
   {
      _UserError("Could not open file.");
   }
   _HUnLock(parm->p[0].val.ev_handle);

   while (!_FEOF(fchan))
   {
      _FGets(fchan, lineBuffer, BUFFSIZE);
      _PutStr(lineBuffer); _PutChr('\n');
   }
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"XFGETS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FRead( )
Процедура библиотеки API _FSeek( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FindMemo( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FindMemo( )
Смотрите также Пример
CollapseAll image

Возвращает адрес памяти для первого символа memo-поля fld в текущей записи выбранной рабочей области.

long _FindMemo(Locator FAR *fld)
Locator FAR *fld;            /* Имя memo-поля. */

Expand image Примечания

_FindMemo( ) позволяет получать доступ непосредственно к содержимому memo-поля в текущей записи. Если memo-поле в текущей записи оказывается пустым или если fld d не является именем memo-поля, _FindMemo( ) возвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере извлекается содержимое memo-поля для текущей записи. FindMemo( ) отыскивает memo-поле в текущей записи memo-файла. Затем перемещается указатель файла к найденной позиции с помощью _FSeek( ), и содержимое memo-поля сохраняется в памяти с помощью _FRead( _MemoSize( )).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FINDMEMO
CREATE TABLE WMemo (MemoField M)
APPEND BLANK
REPLACE MemoField WITH "Hello, World."
? GETMEMO(@MemoField)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR FindMemoEx(ParamBlk FAR *parm)
{

   Locator FAR *memoFldLoc;
   FCHAN fchMemo;
   char FAR *memoContents;
   int memoLen;
   long loc;

   if ((fchMemo = _MemoChan(-1)) == -1)
   {
      _UserError("_MemoChan() failed");
   }
   memoFldLoc = &parm->p[0].loc;

   if ((loc = _FindMemo(memoFldLoc)) < 0)
   {
      _UserError("_FindMemo() failed");
   }
   if ((memoLen = _MemoSize(memoFldLoc)) < 0)
   {
      _UserError("_MemoSize() failed");
   }
   if ((memoContents = _Alloca(memoLen + 1)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _FSeek(fchMemo, loc, FS_FROMBOF);
   _FRead(fchMemo, memoContents, memoLen);
   memoContents[memoLen] = '\0';
   _RetChar(memoContents);
}

FoxInfo myFoxInfo[] = {
   {"GETMEMO", (FPFI) FindMemoEx, 1, "R"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocMemo( )
Процедура библиотеки API _DBReplace( )
Процедура библиотеки API _MemoChan( )
Процедура библиотеки API _MemoSize( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FindVar( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FindVar( )
Смотрите также Пример
CollapseAll image

Позволяет инициализировать локатор, чтобы с помощью _Store( ) можно было заносить данные в существующую переменную памяти или поле.

int _FindVar(NTI nti, int where, Locator FAR *loc)
NTI nti;                     /* Номер NTI переменной или поля. */
int where;                  /* Номер рабочей области. */
Locator FAR *loc;            /* Локатор. */

Expand image Примечания

_FindVar( ) заполняет переданный локатор информацией о переменной или поле с именем nti, которое принадлежит рабочей области, заданной номером where.

  • Если where равно – 1, считается, что nti задает переменную памяти.

  • Если where принадлежит диапазону от 1 до 225, считается, что nti задает поле в рабочей области с указанным номером.

  • Если where равно 0, _FindVar сначала проверяет, является ли nti переменной памяти. Если это не переменная памяти, проверяется текущая рабочая область на наличие в ней поля с заданным NTI.

_FindVar( ) возвращает значение "истина" (целое число, отличное от 0), если переменную или поле с номером nti удалось найти в рабочей области where; иначе _FindVar( ) возвращает "ложь" (0).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

следующем примере отображается значение переменной Visual FoxPro, для чего используется окольный путь.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FINDVAR
TestVar= "This is a test"
= QMARK("TestVar")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR NameTableIndexEx(ParamBlk FAR *parm)
{
   NTI nti;
   char FAR *name;
   Locator loc;
   Value val;

//   Null terminate character string, name of variable
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   name[parm->p[0].val.ev_length] = '\0';

   nti = _NameTableIndex(name);

   _FindVar(nti, 0, &loc);
   _Load(&loc, &val);
   _PutValue(&val);
}

FoxInfo myFoxInfo[] = {
   {"QMARK", (FPFI) NameTableIndexEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ALen( )
Процедура библиотеки API _Load( )
Процедура библиотеки API _NameTableIndex( )
Процедура библиотеки API _NewVar( )
Процедура библиотеки API _ObjectRelease( )
Процедура библиотеки API _Store( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FindWindow( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FindWindow( )
Смотрите также Пример
CollapseAll image

Заносит по адресу wh дескриптор окна, которому принадлежит точка pt на экране.

int _FindWindow(WHANDLE FAR *wh, Point pt)
WHANDLE FAR *wh;      /* Указатель на дескриптор окна. */
Point pt;                     /* Точка. */

Expand image Примечания

_FindWindow( ) возвращает целое число, которое указывает, какой именно части окна принадлежит данная точка. Например, _FindWindow( ) возвращает значение inContent, если указатель находится внутри окна.

В следующем таблице перечислены возможные возвращаемые значения, которые определены в файле PRO_EXT.H.

Возвращаемые значения _FindWindow( )
Значение | Местоположение точки
inBorder | На границе окна
inHelp | В регионе справки
inContent | В области содержимого/текста
inDrag | В строке заголовка
inGrow | На кнопке управления размером
inGoAway | На кнопке закрытия
inZoom | На кнопке управления увеличением
inVUpArrow | На стрелке вверх, принадлежащей вертикальной линейке прокрутки
inVDownArrow | На стрелке вниз, принадлежащей вертикальной линейке прокрутки
inVPageUp | На вертикальной линейке прокрутки выше бегунка
inVPageDown | На вертикальной линейке прокрутки ниже бегунка
inVThumb | На бегунке вертикальной линейки прокрутки
inHUpArrow | На стрелке вправо, принадлежащей горизонтальной линейке прокрутки
inHDownArrow | На стрелке влево, принадлежащей горизонтальной линейке прокрутки
inHPageUp | На горизонтальной линейке прокрутки правее бегунка
inHPageDown | На горизонтальной линейке прокрутки левее бегунка
inHThumb | На бегунке горизонтальной линейки прокрутки
inMenuBar | В строке меню

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа ждет нажатия левой кнопки мыши, а затем с помощью _FindWindow( ) получает дескриптор окна, для которого нажата кнопка мыши.

Expand image Код Visual FoxPro

CopyCode image Copy Code
WAIT WINDOW  "Click mouse on a window" NOWAIT
SET LIBRARY TO FINDWIND

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}
FAR FindWindowFn(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point mousePos;
   int where;

//  Get mouse position when left button goes down
   while (_InKey(0, MOUSEACTIVE | HIDECURSOR) != 151);
   while (!_MousePos(&mousePos));

   switch (where = _FindWindow(&wh, mousePos))
   {
      case inBorder:
         _PutStr("\nMouse down inBorder"); break;
      case inHelp:
         _PutStr("\nMouse down inHelp"); break;
      case inContent:
         _PutStr("\nMouse down inContent"); break;
      case inDrag:
         _PutStr("\nMouse down inDrag"); break;
      case inGrow:
         _PutStr("\nMouse down inGrow"); break;
      case inGoAway:
         _PutStr("\nMouse down inGoAway"); break;
      case inZoom:
         _PutStr("\nMouse down inZoom"); break;
      case inVUpArrow:
         _PutStr("\nMouse down inVUpArrow"); break;
      case inVDownArrow:
         _PutStr("\nMouse down inVDownArrow"); break;
      case inVPageUp:
         _PutStr("\nMouse down inVPageUp"); break;
      case inVPageDown:
         _PutStr("\nMouse down inVPageDown"); break;
      case inVThumb:
         _PutStr("\nMouse down inVThumb"); break;
      case inHUpArrow:
         _PutStr("\nMouse down inHUpArrow"); break;
      case inHDownArrow:
         _PutStr("\nMouse down inHDownArrow"); break;
      case inHPageUp:
         _PutStr("\nMouse down inHPageUp"); break;
      case inHPageDown:
         _PutStr("\nMouse down inHPageDown"); break;
      case inHThumb:
         _PutStr("\nMouse down inHThumb"); break;
      case inMenuBar:
         _PutStr("\nMouse down inMenuBar"); break;
      default:
         _PutStr("\nMouse down someplace else"); break;
   }
   _GlobalToLocal(&mousePos, wh);
   _PutStr("\nPosition relative to window:");
   putLong(mousePos.v, 5);
   _PutChr(' ');
   putLong(mousePos.h, 5);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) FindWindowFn, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _MousePos( )
Процедура библиотеки API _FindWindowP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FindWindowP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FindWindowP( )
Смотрите также Пример
CollapseAll image

Заносит по адресу wh дескриптор окна, которому принадлежит точка pt на экране.

int _FindWindowP(WHANDLE FAR *wh, Point pt)
WHANDLE FAR *wh;      /* Указатель на дескриптор окна. */
Point pt;                     /* Координаты точки в пикселях. */

Expand image Примечания

_FindWindowP( ) возвращает целое число, указывающее, в какой именно части окна расположена данная точка. Перечень возможных возвращаемых значений смотрите в теме Процедура библиотеки API _FindWindow( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа ждет нажатия левой кнопки мыши, а затем с помощью _FindWindowP( ) получает дескриптор окна, для которого нажата кнопка мыши.

Expand image Код Visual FoxPro

CopyCode image Copy Code
WAIT WINDOW "Click Mouse In Window" NOWAIT
SET LIBRARY TO FINDWINP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR FindWindowEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point mousePos;
   int where;

//  Get mouse position when left button goes down
   while (_InKey(0, MOUSEACTIVE | HIDECURSOR) != 151);
   while (!_MousePosP(&mousePos));

   switch (where = _FindWindowP(&wh, mousePos))
   {
      case inBorder:
         _PutStr("\nMouse down inBorder"); break;
      case inHelp:
         _PutStr("\nMouse down inHelp"); break;
      case inContent:
         _PutStr("\nMouse down inContent"); break;
      case inDrag:
         _PutStr("\nMouse down inDrag"); break;
      case inGrow:
         _PutStr("\nMouse down inGrow"); break;
      case inGoAway:
         _PutStr("\nMouse down inGoAway"); break;
      case inZoom:
         _PutStr("\nMouse down inZoom"); break;
      case inVUpArrow:
         _PutStr("\nMouse down inVUpArrow"); break;
      case inVDownArrow:
         _PutStr("\nMouse down inVDownArrow"); break;
      case inVPageUp:
         _PutStr("\nMouse down inVPageUp"); break;
      case inVPageDown:
         _PutStr("\nMouse down inVPageDown"); break;
      case inVThumb:
         _PutStr("\nMouse down inVThumb"); break;
      case inHUpArrow:
         _PutStr("\nMouse down inHUpArrow"); break;
      case inHDownArrow:
         _PutStr("\nMouse down inHDownArrow"); break;
      case inHPageUp:
         _PutStr("\nMouse down inHPageUp"); break;
      case inHPageDown:
         _PutStr("\nMouse down inHPageDown"); break;
      case inHThumb:
         _PutStr("\nMouse down inHThumb"); break;
      case inMenuBar:
         _PutStr("\nMouse down inMenuBar"); break;
      default:
         _PutStr("\nMouse down someplace else"); break;
   }
   _GlobalToLocalP(&mousePos, wh);
   _PutStr("\nPosition relative to window:");
   putLong(mousePos.v, 5);
   _PutChr(' ');
   putLong(mousePos.h, 5);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", FindWindowEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _MousePos( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FOpen( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FOpen( )
Смотрите также Пример
CollapseAll image

Назначает канал Visual FoxPro существующему файлу.

FCHAN _FOpen(char FAR *filename, int mode)
char FAR *filename;         /* Имя существующего файла. */
int mode;                     /* Опция режима. */

Expand image Примечания

Допустимы следующие опции mode: FO_READONLY, FO_WRITEONLY, and FO_READWRITE. _FOpen( ) открывает файл в режиме эксклюзивного доступа. _FOpen( ) возвращает канал файла, если файл был успешно открыт, в противном случа - 1.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается тестовый файл. Затем программа открывает этот файл в режиме FO_READONLY и пытается произвести в него запись. В результате _FError( ) возвращает код ошибки - "Access denied". После этого программа открывает тестовый файл в режиме FO_WRITEONLY и пытается прочитать его. И вновь _FError( ) возвращает код 5.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FOPEN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

#define BUFFSIZE 256
static char lineBuffer[BUFFSIZE];

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;

   fchan = _FCreate("temp.tmp", FC_NORMAL);
   _FCHSize(fchan, 8192);
   _FClose(fchan);

   fchan = _FOpen("temp.tmp", FO_READONLY);
   _FPuts(fchan, "Hello, world");
   _PutStr("\nAttempt to _FPuts() to file _FOpen()d FO_READONLY");
   _PutStr("\n_FError() ="); putLong(_FError());
   _FClose(fchan);

   fchan = _FOpen("temp.tmp", FO_WRITEONLY);
   _FGets(fchan, lineBuffer, BUFFSIZE);
   _PutStr("\nAttempt to _FGets() from file _FOpen()d FO_WRITEONLY");
   _PutStr("\n_FError() ="); putLong(_FError());
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FOPEN", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FClose( )
Процедура библиотеки API _FCreate( )
Процедура библиотеки API _FError( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FPuts( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FPuts( )
Смотрите также Пример
CollapseAll image

Записывает в файл строку, заканчивающуюся нуль-символом, и ставит после нее пару "возврат каретки"/"перевод строки".

unsigned int _FPuts(FCHAN chan, char FAR *buffer)
FCHAN chan;               /* Канал файла, в который ведется запись. */
char FAR *buffer;            /* Записываемая строка. */

Expand image Примечания

_FPuts( ) возвращает общее число байтов, записанных в файл.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается файл и в него с помощью _FPuts( ) записывается текст "Hello, world".

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FPUTS

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;

   fchan = _FCreate("temp.tmp", FC_NORMAL);
   _FPuts(fchan, "Hello, world.");
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FPUTS", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FFlush( )
Процедура библиотеки API _FSeek( )
Процедура библиотеки API _FWrite( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FRead( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FRead( )
Смотрите также Пример
CollapseAll image

Копирует из файла в буфер по адресу buffer ровно length байт.

unsigned int _FRead(FCHAN chan, char FAR *buffer, int length)
FCHAN chan;               /* Канал файла-источника. */
char FAR *buffer;            /* Адрес буфера. */
int length;                  /* исло копируемых байт. */

Expand image Примечания

_FRead( ) не добавляет признак завершения в конец записанных в буфер данных. Никакого преобразования записываемых данных не производится. _FRead( ) возвращает число прочитанных байтов.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается тестовый файл и в него заносится текст. Затем предпринимается попытка прочитать из файла 32 байта с помощью _FRead( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FREAD

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

#define BUFFSIZE 32
static char buffer[BUFFSIZE];

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;
   int bytesRead;

   fchan = _FCreate("temp.tmp", FC_NORMAL);
   _FPuts(fchan, "Hello, world.");
   _FPuts(fchan, "Hello, world.");
   _FPuts(fchan, "Hello, world.");
   _FPuts(fchan, "Hello, world.");
   _FPuts(fchan, "Hello, world.");

   _FSeek(fchan, 0, FS_FROMBOF);

   bytesRead = _FRead(fchan, buffer, BUFFSIZE - 1);
   buffer[bytesRead] = '\0';
   _PutStr(buffer);

   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FREAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FGets( )
Процедура библиотеки API _FSeek( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FreeHand( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FreeHand( )
Смотрите также Пример
CollapseAll image

Освобождает дескриптор памяти hand который был ранее выделен такими средствами, как _AllocHand( ).

void _FreeHand(MHANDLE hand)
MHANDLE hand;            /* Дескриптор памяти. */

Expand image Пример

В следуюшем примере выделяется 1024 блока памяти по 16384 байт, всего 16 Мбайт, причем перед тем, как выделять очередной блок, освобождается предыдущий с помощью _FreeHand( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FREEHAND

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR Example(ParamBlk FAR *parm)
{
   MHANDLE mh;
   int i;

   for (i = 0; i < 1024; i++)
   {
      if ((mh = _AllocHand(16384)) == 0)
      {
         _Error(182);  // "Insufficient memory"
      }
      _FreeHand(mh);
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FreeObject( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FreeObject()
Смотрите также
CollapseAll image

Высвобождает объект из пула данных Visual FoxPro API.

void _FreeObject(Value FAR *objct)

Expand image Примечания

Используйте _FreeObject() для высвобождения объекта из таблицы объектов Visual FoxPro API.

Expand image _FreeObject() используется в следующих случаях:

1. Если объектная ссылка возвращается из любой функции Visual FoxPro API (например, _Evaluate() или _GetObjectProperty()), вы должны использовать _FreeObject() для высвобождения объекта, когда он вам более не нужен.

2. Если вы поддерживаете ссылку на объект в разных вызовах Visual FoxPro API, вы должны сначала использовать _ObjectReference() для увеличения счетчика объектов. Когда объект вам более не требуется, то тогда вы должны использовать _ObjectRelease() для уменьшения счетчика объектов и затем использовать _FreeObject() для высвобождения объекта.

В дополнение к предыдущим правилам, вы должны всегда очищать структуру Value, которую вы посылаете любым функциям Visual FoxPro API, чтобы вернуть значения в в посланной функции структуре Value. Например, вы можете создать и вызвать функцию, которая очищает структуру до вызова любой функции, которая возвращает значения в вашей структуре. Вы, кроме того, можете создать и вызвать функцию для очистки любых объектных ссылок или неиспользуемых дескрипторов.

Возвращает 0, если не была сгенерирована ошибка. При наступлении ошибки, возвращается отрицательное число, представляющее внутренний код ошибки.

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ObjectReference()
Процедура библиотеки API _ObjectRelease()
Процедура библиотеки API _GetObjectProperty()
Процедура библиотеки API _Evaluate()

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_FSeek( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FSeek( )
Смотрите также Пример
CollapseAll image

Перемещает указатель файла на новое место, заданное параметрами position и mode.

long _FSeek(FCHAN chan, long position, int mode)
FCHAN chan;               /* Канал файла. */
long position;               /* Позиция в файле. */
int mode;                     /* Как определить новое место */

Expand image Примечания

Если значение mode равно 0 (абсолютная позиция), указатель файла устанавливается согласно значению параметра position. Если mode равен 1 (относительно указателя файла), значение position прибавляется к текущей позиции указателя файла. Если mode равен 2 (относительно конца файла), _FSeek( ) перемещает указатель записи за конец файла. _FSeek( ) возвращает новую позицию указателя файла. Например, _FSeek(chan, 0L, 2) перемещает указатель файла к концу файла и возвращает длину файла в байтах.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример представляет собой одну API-программу, которая принимает два параметра - имя файла и целое число. Программа открывает файл, а затем, используя _FSeek( ) с флагом FS_FROMBOF, передвигает указатель записи в позицию со смещением, определенным целочисленным параметром, и считывает один байт данных из этой позиции файла.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FSEEK
fc = FCREATE("x", 0)
= FPUTS(fc, "abcdefghijklmnopqrstuvwxyz", 26)
= FCLOSE(fc)

? XFSEEK("x", 2)  && displays 3rd byte of file x as an integer
? XFSEEK("x", 4)  && displays 5th byte of file x as an integer

DELETE FILE x

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;
   char x;

   // Null terminate file name
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);

   ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))
      [parm->p[0].val.ev_length] = '\0';

   if ((fchan=_FOpen((char FAR*)_HandToPtr(parm->p[0].val.ev_handle),
      FC_NORMAL)) < 0)
   {
      _UserError("Could not open file.");
   }
   _HUnLock(parm->p[0].val.ev_handle);

   _FSeek(fchan, parm->p[1].val.ev_long, FS_FROMBOF);
   _FRead(fchan, &x, 1);
   _RetInt(x, 10);
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"XFSEEK", (FPFI) Example, 2, "C,I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FCopy( )
Процедура библиотеки API _FFlush( )
Процедура библиотеки API _FGets( )
Процедура библиотеки API _FPuts( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_FWrite( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _FWrite( )
Смотрите также Пример
CollapseAll image

Записывает ровно length байтов из буфера buffer в файл, заданный параметром chan.

unsigned int _FWrite(FCHAN chan, char FAR *buffer, int length)
FCHAN chan;               /* Канал файла, в который ведется запись. */
char FAR *buffer;            /* Адрес буфера. */
int length;                  /* Число записываемых байтов. */

Expand image Примечания

_FWrite( ) не добавляет в файл признак завершения. Никакого преобразования данных перед записью не производится. _FWrite( ) возвращает число записанных байтов.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается тестовый файл и в него с помощью _FWrite( ) записываются данные.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO FWRITE

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   FCHAN fchan;

   fchan = _FCreate("temp.tmp", FC_NORMAL);
   _FWrite(fchan, "Hello, world.", _StrLen("Hello, world."));
   _FWrite(fchan, "\xd\xa", 2);
   _FWrite(fchan, "1234567890", 10);
   _FClose(fchan);
}

FoxInfo myFoxInfo[] = {
   {"FWRITE", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FFlush( )
Процедура библиотеки API _FPuts( )
Процедура библиотеки API _FSeek( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetAPIHandle( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetAPIHandle( )
Смотрите также Пример
CollapseAll image

Возвращает дескриптор текущего FLL.

void _GetAPIHandle( )

Expand image Пример

Следующий пример возвращает дескриптор текущего FLL.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBR TO GETAPIHA.FLL
? GETAPIHAND( )

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void getAPIHandle()
{
_RetInt((int) _GetAPIHandle(),15);

}

FoxInfo myFoxInfo[] =
{
   {"GETAPIHAND",  (FPFI) getAPIHandle, 0, ""},
};

FoxTable _FoxTable =
{
   (FoxTable  *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateHandler( )
Процедура библиотеки API _DeActivateHandler( )

Концепции

Создание динамически компонуемых библиотек Visual FoxPro

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetHandSize( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetHandSize( )
Смотрите также Пример
CollapseAll image

Возвращает полезное число байтов в блоке памяти, заданном дескриптором hand.

unsigned long _GetHandSize(MHANDLE hand)
MHANDLE hand;            /* Дескриптор блока памяти. */

Expand image Примечания

Полезное число байтов всегда больше или равно числу байтов, в последний раз запрошенных для данного блока MHANDLE _AllocHand( ) или успешным вызовом _SetHandSize( ).

Note Замечание

_GetHandSize() не вызывает реорганизацию памяти.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере выделяются блоки памяти различных размеров - от 1 до 215 и показывается значение, возвращаемое _GetHandSize( ) в каждом случае. Заметьте, что возвращаемые _GetHandSize( ) значения лишь изредка в точности совпадают с размером, запрошенным _AllocHand( ); обычно эти значения чуть больше.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETHANDS

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 5;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   MHANDLE mh;
   unsigned int allocSize;

   for (allocSize = 1;; allocSize *= 2)
   {
      if ((mh = _AllocHand(allocSize)) == 0)
      {
         _Error(182);  // "Insufficient memory"
      }
      _PutStr("\n_AllocHand("); putLong(allocSize); _PutStr(")");
      _PutStr("\n_GetHandSize() ="); putLong(_GetHandSize(mh));
      _FreeHand(mh);
      if (allocSize == 32768)
      {
         break;
      }
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetItemCmdKey( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetItemCmdKey( )
Смотрите также Пример
CollapseAll image

Копирует отображенную строку быстрой клавиши для заданного элемента меню в буфер, указанный параметром text.

int _GetItemCmdKey(MENUID menuid, ITEMID itemid, char FAR *text)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента меню. */
char FAR *text;            /* Куда сохранить строку сокращения. */

Expand image Примечания

_GetItemCmdKey( ) возвращает внутренний код клавиатуры для быстрой клавиши. Если для заданного элемента меню не предусмотрена быстрая клавиша, _GetItemCmdKey( ) возвращает 0.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, содержащее три элемента, и каждому из них назначается быстрая клавиша. Для отображения быстрых клавиш используется _GetItemCmdKey( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETICMDK

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;
   _PutValue(&val);
}

FAR GetItemCmdKeyEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;
   char FAR *shortcutString;
   int intKeyCode;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");
   _SetItemCmdKey(menuId, itemId, altKey | 0x78, "Alt+1");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");
   _SetItemCmdKey(menuId, itemId, altKey | 0x79, "Alt+2");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");
   _SetItemCmdKey(menuId, itemId, altKey | 0x7a, "Alt+3");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);

   if ((shortcutString = _Alloca(64)) == 0)
   {
      _DisposeMenu(menuId);
      _Error(182); // "Insufficient memory"
   }
   intKeyCode = _GetItemCmdKey(menuId, _GetItemId(menuId, 0),
      shortcutString);
   _PutStr("\nShortcut string = "); _PutStr(shortcutString);
   _PutStr("\nInternal key code ="); putLong(intKeyCode);

   intKeyCode = _GetItemCmdKey(menuId, _GetItemId(menuId, 1),
      shortcutString);
   _PutStr("\nShortcut string = "); _PutStr(shortcutString);
   _PutStr("\nInternal key code ="); putLong(intKeyCode);

   intKeyCode = _GetItemCmdKey(menuId, _GetItemId(menuId, 2),
      shortcutString);
   _PutStr("\nShortcut string = "); _PutStr(shortcutString);
   _PutStr("\nInternal key code ="); putLong(intKeyCode);
   _Execute("WAIT");
   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetItemCmdKeyEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemSubMenu( )
Процедура библиотеки API _NewItem( )
Процедура библиотеки API _SetItemCmdKey( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_GetItemId( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetItemId( )
Смотрите также Пример
CollapseAll image

Возвращает идентификатор заданного элемента в указанном меню.

ITEMID _GetItemId(MENUID menuid, long index)
MENUID menuid;            /* Идентификатор меню. */
long index;                  /* Номер элемента меню. */

Expand image Примечания

С помощью программы _GetItemId( ) можно собирать в группу идентификаторы строки меню и самих меню, чтобы выполнить операцию сразу над всеми элементами. _GetItemId( ) возвращает 0, если значение index превышает число элементов в меню.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, состоящее из трех элементов. _GetItemId( ) используется для получения идентификатора ITEMID для каждого элемента меню. После удаления одного из элементов меню, вы увидите, что ITEMID не всегда совпадает с индексом элемента.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETIID

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR GetItemIdEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);

   _PutStr("\nitemid for index 0 ="); putLong(_GetItemId(menuId, 0));
   _PutStr("\nitemid for index 1 ="); putLong(_GetItemId(menuId, 1));
   _PutStr("\nitemid for index 2 ="); putLong(_GetItemId(menuId, 2));

   _Execute("WAIT WINDOW");
   _DisposeItem(menuId, _GetItemId(menuId, 1));

   _PutStr("\nitemid for index 0 ="); putLong(_GetItemId(menuId, 0));
   _PutStr("\nitemid for index 1 ="); putLong(_GetItemId(menuId, 1));

   _Execute("WAIT WINDOW");
   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetItemIdEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemSubMenu( )
Процедура библиотеки API _GetNewItemId( )
Свойство NewItemID

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetItemSubMenu( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetItemSubMenu( )
Смотрите также Пример
CollapseAll image

Возвращает идентификатор подменю, назначенного данному элементу меню.

MENUID _GetItemSubMenu(MENUID menuid, ITEMID itemid);
MENUID menuid;            /* Идентификатор меню */
ITEMID itemid;            /* Идентификатор элемента меню */

Expand image Примечания

Подменю рассматривается как независимое меню. _GetItemSubMenu( ) возвращает идентификатор MENUID подменю, назначенного заданному элементу меню; если этому элементу не назначено подменю, возвращается - 1.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается система меню и возвращается идентификатор подменю.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETITEMS

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

MENUID SysMenuId, retMenuId;
MENUID PopupId;
ITEMID PadId;

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
}

void FAR StartUp()
{
      ITEMID Bar1Id;
      ITEMID Bar2Id;

    int Error;
//
//   Add new menu title to SYSMENU.
//
  SysMenuId = _MenuId(_SYSMENU);
  PadId = _GetNewItemId(SysMenuId);

   if (_NewItem(SysMenuId, PadId, _LASTITEM, "\\<Added menu title"))
  {
    _Error(623); /* "Menu item cannot be defined." */
  }
//
//   Define menu.
//
  PopupId = _GetNewMenuId();

  if (Error = _NewMenu(MPOPUP, PopupId))
  {
    _Error(-Error);
  }
   Bar1Id = _GetNewItemId(PopupId);
//
//      WARNING: Call _NewItem() before another _GetNewItemId().
//
   if (_NewItem(PopupId, Bar1Id, _LASTITEM, "\\<1st item"))
  {
    _Error(623); /* "Menu item cannot be defined." */
  }
   Bar2Id = _GetNewItemId(PopupId);

   if (_NewItem(PopupId, Bar2Id, _LASTITEM, "\\<2nd item"))
  {
    _Error(623); /* "Menu item cannot be defined." */
  }
//
//   Attach menu to menu title.
//
  _SetItemSubMenu(SysMenuId, PadId, PopupId);

  _PutStr("\nSubMenu Id = "); putLong(PopupId);

//
//  Set up selection action.
//
   retMenuId = _GetItemSubMenu(SysMenuId,PadId);
   _PutStr("\nThis is the return value from  _GetItemSubMenu.  retMenuId = "); putLong(retMenuId);

   _OnSelection(PopupId, -1, onSelection);
}

void FAR ShutDown()
{
  _DisposeItem(SysMenuId, PadId);
  _DisposeMenu(PopupId);
}

FoxInfo myFoxInfo[] =
{
   {"STARTUP",   (FPFI) StartUp,  CALLONLOAD, ""},
   {"SHUTDOWN",  (FPFI) ShutDown, CALLONUNLOAD, ""},
};

FoxTable _FoxTable =
{
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemId( )
Процедура библиотеки API _NewItem( )
Процедура библиотеки API _SetItemText( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetItemText( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetItemText( )
Смотрите также Пример
CollapseAll image

Копирует текст строки меню или заголовка меню в буфер, указанный параметром text.

void _GetItemText(MENUID menuid, ITEMID itemid, char FAR *text)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента меню. */
char FAR *text;            /* Адрес буфера для занесения текста. */

Expand image Примечания

Длина буфера должна составлять не менее 80 байтов.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, содержащее три элемента, а затем с помощью _GetItemText( ) извлекается текст каждого элемента.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETITEXT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR GetItemTextEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;
   char FAR *itemText;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);

   if ((itemText = _Alloca(80)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _GetItemText(menuId, _GetItemId(menuId, 0), itemText);
   _PutStr("\nItem text of 1st item = "); _PutStr(itemText);

   _GetItemText(menuId, _GetItemId(menuId, 1), itemText);
   _PutStr("\nItem text of 2nd item = "); _PutStr(itemText);

   _GetItemText(menuId, _GetItemId(menuId, 2), itemText);
   _PutStr("\nItem text of 3rd item = "); _PutStr(itemText);

   _Execute("WAIT WINDOW");
   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetItemTextEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemSubMenu( )
Процедура библиотеки API _NewItem( )
Процедура библиотеки API _SetItemText( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetNewItemId( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetNewItemId( )
Смотрите также Пример
CollapseAll image

Возвращает идентификатор, который в данный момент можно использовать для нового элемента указанного меню.

ITEMID _GetNewItemId(MENUID menuid)
MENUID menuid;            /* Идентификатор меню. */

Expand image Примечания

Каждый элемент меню должен иметь свой идентификатор, уникальный в пределах данного меню.

После использования _GetNewItemId( ), добавьте в меню новый элемент с помощью _NewItem( ), прежде чем повторно использовать _GetNewItemId( ). Если вы недобавите элемент в меню, то все последующие вызовы _GetNewItemId( ) будут возвращать один и тот же ITEMID.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, содержащее три элемента. Перед включением в меню каждого из элементов для него с помощью _GetNewItemId( ) генерируется уникальный ITEMID.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETNWIID

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR GetNewItemId(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _MenuInteract(&menuId, &itemId);

   _PutStr("\nmenuId ="); putLong(menuId);
   _PutStr("\nitemId ="); putLong(itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetNewItemId, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemId( )
Процедура библиотеки API _SetItemText( )
Процедура библиотеки API _NewItem( )
Процедура библиотеки API _GetNewMenuId( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_GetNewMenuId( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetNewMenuId( )
Смотрите также Пример
CollapseAll image

Возвращает идентификатор меню для использования с другими связанными с меню функциями.

MENUID _GetNewMenuId(void any)
void any;                     /* Указатель. */

Expand image Примечания

Каждое меню должно иметь свой уникальный идентификатор..

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следуюшем примере строится меню, состоящее из трех элементов. Чтобы создать меню с помощью _NewMenu( ), сначала нужно вызвать _GetNewMenuId( ) для получения уникального идентификатора MENUID.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GETNWMID

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR GetNewItemId(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _MenuInteract(&menuId, &itemId);

   _PutStr("\nmenuId ="); putLong(menuId);
   _PutStr("\nitemId ="); putLong(itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetNewItemId, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _DisposeMenu( )
Процедура библиотеки API _MenuId( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetNextEvent( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetNextEvent( )
Смотрите также Пример
CollapseAll image

Считывает очередное событие в EventRec и возвращает тип события.

int _GetNextEvent(EventRec FAR *event)
EventRec FAR *event;   /* Событие. */

Expand image Примечания

Null события генерируются, когда не имела место никакая другая активность. Неактивные подпрограммы не должны вызывать _GetNextEvent( ). Вы можно вызвать _GetNextEvent( ) из обработчика событий, но при этом следует соблюдать осторожность, поскольку _GetNextEvent( ) делает рекурсивные обращения к обработчику событий.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример представляет собой цикл, включающий вызов _GetNextEvent( ), и вслед за ним - вызов _DefaultProcess( ). Все события, наступающие в ходе данной процедуры, подвергаются обработке, предусмотренной по умолчанию.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBR TO GETNXEV

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   EventRec ev;
   int i;

   for (i = 0; i < 16; i++) {
      _GetNextEvent(&ev);
      _DefaultProcess(&ev);
   }
}
FoxInfo myFoxInfo[] = {
   {"ONLOAD", Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateHandler( )
Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _GlobalToLocal( )
Процедура библиотеки API _MousePos( )
Процедура библиотеки API _DefaultProcess( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GetObjectProperty( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetObjectProperty()
Смотрите также
CollapseAll image

Возвращает значение свойства объекта.

int _GetObjectProperty(Value FAR *retval, Value FAR *objct,
   char FAR *prop)

Expand image Примечания

Объект, свойство которого возвращается, указывается с помощью *objct, а возвращаемое свойство указывается с помощью *prop.

Возвращаемое значение помещается в структуру значения *retval.

Note Замечание

Вы всегда должны заполнить структуру *retval нулями (0) до вызова _GetObjectProperty().

_GetObjectProperty() возвращает 0, если исполнение удалось; в противном случае возвращается отрицательное число, чье абсолютное значение соответствует коду ошибки Visual FoxPro.

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _SetObjectProperty()
Свойство Object (Visual FoxPro)
ReadObject Property

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_GetOSPrompt( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GetOSPrompt()
Смотрите также Пример
CollapseAll image

Возвращает текст указанного элемента меню. Если элемент меню содержит определение ключа доступа, то также возвращается и символ "ampersand" (&).

void _GetOSPrompt(MENUID menuid, ITEMID itemid, char FAR *text)
MENUID menuid;            /* ID меню, из которого получаем prompt */
MENUID itemuid ;            /* Индекс  (на 0-основе) элемента меню. */
char FAR *text;               /* Текст команды меню. */

Expand image Примечания

Может быть использована при разработке приложений с независимыми от национального языка ключами доступа.

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Пример

Приведенный ниже пример возвращает текст первой команды в меню File.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO MENUPROMPT

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

void FAR menuprompt(ParamBlk FAR *parm)
{
   char prompt[256] ;
   MenuId men ;

   men = _MenuId(_FILE);
   _GetOSPrompt(men, 0, prompt); //File New...

   _RetChar(prompt);
}
FoxInfo myFoxInfo[] = {
   {"MENUPROMPT", (FPFI) menuprompt, 0, ""}
};

FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetNewMenuId()
Процедура библиотеки API _MenuId()
Процедура библиотеки API _NewMenu()

Прочие ресурсы

API Library Construction
Доступ к Visual FoxPro API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_GlobalToLocal( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GlobalToLocal( )
Смотрите также Пример
CollapseAll image

Преобразует координаты точки, выраженные относительно экрана, в координаты относительно окна.

void _GlobalToLocal(Point FAR *pt, WHANDLE wh)
Point FAR *pt;               /* Точка. */
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Прежде чем вызвать _GlobalToLocal( ), вызовите _FindWindow( ), чтобы определить, какому окну принадлежит точка.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа ждет нажатия левой кнопки мыши и затем использует _FindWindow( ) для получения дескриптора окна, соответствующего данной позиции мыши. _GlobalToLocal( ) принимает в качестве параметров дескриптор окна и абсолютную позицию указателя мыши, возвращая позицию указателя мыши относительно данного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GLTOLOC

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR FindWindowEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point mousePos;
   int where;

   // Get mouse position when left button goes down
   _Execute("WAIT WINDOW 'Click In A Window' NOWAIT");
   while (_InKey(0, MOUSEACTIVE | HIDECURSOR) != 151);
   while (!_MousePos(&mousePos));

   switch (where = _FindWindow(&wh, mousePos))
   {
      case inBorder:
         _PutStr("\nMouse down inBorder"); break;
      case inHelp:
         _PutStr("\nMouse down inHelp"); break;
      case inContent:
         _PutStr("\nMouse down inContent"); break;
      case inDrag:
         _PutStr("\nMouse down inDrag"); break;
      case inGrow:
         _PutStr("\nMouse down inGrow"); break;
      case inGoAway:
         _PutStr("\nMouse down inGoAway"); break;
      case inZoom:
         _PutStr("\nMouse down inZoom"); break;
      case inVUpArrow:
         _PutStr("\nMouse down inVUpArrow"); break;
      case inVDownArrow:
         _PutStr("\nMouse down inVDownArrow"); break;
      case inVPageUp:
         _PutStr("\nMouse down inVPageUp"); break;
      case inVPageDown:
         _PutStr("\nMouse down inVPageDown"); break;
      case inVThumb:
         _PutStr("\nMouse down inVThumb"); break;
      case inHUpArrow:
         _PutStr("\nMouse down inHUpArrow"); break;
      case inHDownArrow:
         _PutStr("\nMouse down inHDownArrow"); break;
      case inHPageUp:
         _PutStr("\nMouse down inHPageUp"); break;
      case inHPageDown:
         _PutStr("\nMouse down inHPageDown"); break;
      case inHThumb:
         _PutStr("\nMouse down inHThumb"); break;
      case inMenuBar:
         _PutStr("\nMouse down inMenuBar"); break;
      default:
         _PutStr("\nMouse down someplace else"); break;
   }
   _GlobalToLocal(&mousePos, wh);
   _PutStr("\nPosition relative to window:");
   putLong(mousePos.v, 5);
   _PutChr(' ');
   putLong(mousePos.h, 5);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) FindWindowEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _MousePos( )
Процедура библиотеки API _GlobalToLocalP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_GlobalToLocalP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _GlobalToLocalP( )
Смотрите также Пример
CollapseAll image

Преобразует координаты точки, выраженные в пикселях относительно экрана, в пиксельные координаты относительно окна.

void _GlobalToLocalP(Point FAR *pt, WHANDLE wh)
Point FAR *pt;               /* Точка. */
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Прежде чем воспользоваться _GlobalToLocalP( ), вызовите _FindWindow( ) , чтобы определить, какому окну принадлежит точка.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа ждет нажатия левой кнопки мыши и затем использует _FindWindowP( ) для получения дескриптора окна, соответствующего данной позиции мыши. _GlobalToLocalP( ) принимает в качестве параметров дескриптор окна и абсолютную позицию указателя мыши, возвращая позицию указателя мыши относительно данного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO GLTOLOCP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR FindWindowEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point mousePos;
   int where;

   // Get mouse position when left button goes down
   _Execute("WAIT WINDOW 'Click In A Window' NOWAIT" );
   while (_InKey(0, MOUSEACTIVE | HIDECURSOR) != 151);
   while (!_MousePosP(&mousePos));

   switch (where = _FindWindowP(&wh, mousePos))
   {
      case inBorder:
         _PutStr("\nMouse down inBorder"); break;
      case inHelp:
         _PutStr("\nMouse down inHelp"); break;
      case inContent:
         _PutStr("\nMouse down inContent"); break;
      case inDrag:
         _PutStr("\nMouse down inDrag"); break;
      case inGrow:
         _PutStr("\nMouse down inGrow"); break;
      case inGoAway:
         _PutStr("\nMouse down inGoAway"); break;
      case inZoom:
         _PutStr("\nMouse down inZoom"); break;
      case inVUpArrow:
         _PutStr("\nMouse down inVUpArrow"); break;
      case inVDownArrow:
         _PutStr("\nMouse down inVDownArrow"); break;
      case inVPageUp:
         _PutStr("\nMouse down inVPageUp"); break;
      case inVPageDown:
         _PutStr("\nMouse down inVPageDown"); break;
      case inVThumb:
         _PutStr("\nMouse down inVThumb"); break;
      case inHUpArrow:
         _PutStr("\nMouse down inHUpArrow"); break;
      case inHDownArrow:
         _PutStr("\nMouse down inHDownArrow"); break;
      case inHPageUp:
         _PutStr("\nMouse down inHPageUp"); break;
      case inHPageDown:
         _PutStr("\nMouse down inHPageDown"); break;
      case inHThumb:
         _PutStr("\nMouse down inHThumb"); break;
      case inMenuBar:
         _PutStr("\nMouse down inMenuBar"); break;
      default:
         _PutStr("\nMouse down someplace else"); break;
   }
   _GlobalToLocalP(&mousePos, wh);
   _PutStr("\nPosition relative to window:");
   putLong(mousePos.v, 5);
   _PutChr(' ');
   putLong(mousePos.h, 5);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", FindWindowEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _MousePos( )
Процедура библиотеки API _GlobalToLocal( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_HandToPtr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _HandToPtr( )
Смотрите также Пример
CollapseAll image

Преобразует дескриптор блока памяти в указатель типа FAR (32-bit), который адресует память, закрепленную за данным дескриптором.

void FAR * _HandToPtr(MHANDLE hand)
MHANDLE hand;            /* Дескриптор блока памяти. */

Expand image Примечания

Visual FoxPro может реорганизовать память в любой момент, когда управление передается в систему или в другую программу вне текущего модуля.

Note Замечание

_HandToPtr() не вызывает реорганизации памяти. Указатель, возвращенный _HandToPtr() может стать недействительным в любой момент, когда управление возвращается в Visual FoxPro, если только дескриптор MHANDLE не заблокирован. Не оставляйте указатели на неблокированные дескрипторЫ действующими на все время работы внешней функции, если в документации не указано, что вызов этой функции не вызывает реорганизацию памяти.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере на экране отображается символьный параметр. Используя _HandToPtr( ) дескриптор блока памяти этого API-параметра транслируется в указатель языка C.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO HANDTOPT
= HANDTOPTR("Hello, world.")  && displays "Hello, world" on screen

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   NullTerminate(&parm->p[0].val);
   _HLock(parm->p[0].val.ev_handle);
   _PutStr(_HandToPtr(parm->p[0].val.ev_handle));
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"HANDTOPTR", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_HLock( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _HLock( )
Смотрите также Пример
CollapseAll image

Блокирует дескриптор блока памяти, чтобы его нельзя было перемещать, когда в Visual FoxPro требуется провести реорганизацию памяти.

void _HLock(MHANDLE hand)
MHANDLE hand;            /* Дескриптор блока памяти. */

Expand image Примечания

_HLock( ) не вызывает реорганизацию памяти. Снимите блокировку с дескриптора MHANDLE , как только в ней отпадет надобность.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере на экране отображается символьный параметр. С помощью _HandToPtr( ) дескриптор блока памяти этого API-параметра транслируется в указатель языка C. Поскольку Visual FoxPro может инициировать реорганизацию памяти в ходе вызова _PutStr( ), то для гарантии правильной работы дескриптор блокируется с помощью _HLock( ). В конце процедуры вызывается программа _HUnLock( ), поскольку блокировка дескрипторов блоков памяти может неблагоприятно отразиться на производительности Visual FoxPro.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO HLOCK
= HLOCK("Hello, world.") && displays "Hello, world" on screen

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   NullTerminate(&parm->p[0].val);
   _HLock(parm->p[0].val.ev_handle);
   _PutStr(_HandToPtr(parm->p[0].val.ev_handle));
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"HLOCK", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_HUnLock( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _HUnLock( )
Смотрите также Пример
CollapseAll image

Снимает блокировку с дескриптора блока памяти, открывая Visual FoxPro доступ к этому блоку для проведения реорганизации памяти.

void _HUnLock(MHANDLE hand)
MHANDLE hand;            /* Дескриптор блока памяти. /

Expand image Примечания

_HUnLock( ) не вызывает реорганизацию памяти.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа _RetDateStr( ) возвращает строку типа даты Visual FoxPro, предполагая, что символьный параметр является корректно задает дату. Когда необходимость в блокировании памяти отпадает, вызывается _HUnLock( ), поскольку блокирование может неблагоприятно отразиться на производительности Visual FoxPro.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO HUNLOCK
? DATES("2/16/95")  && returns date {02/16/95}

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR dates(ParamBlk FAR *parm)
{
   MHANDLE mh;
   char FAR *instring;

   if ((mh = _AllocHand(parm->p[0].val.ev_length + 1)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   instring = _HandToPtr(parm->p[0].val.ev_handle);
   instring[parm->p[0].val.ev_length] = '\0';
   _RetDateStr(instring);
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"DATES", (FPFI) dates, 1, "C"}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_InKey( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _InKey( )
Смотрите также Пример
CollapseAll image

Возвращает первую клавишу, нажатую в течении периода timeout.

int _InKey(int timeout, int flag)
int timeout;                  /* Интервал тайм-аута. */
int flag;                     /* Опция (опции). */

Expand image Примечания

Период времени ожидания timeout определяется как число импульсов таймера операционной системы (тысячная секунды). Если интервал тайм-аута равен 0, Visual FoxPro будет ждать до тех пор, пока пользователь не нажмет какую-либо клавишу. Отрицательная величина тайм-аута вынуждает _InKey( ) немедленно возвратить управление в вызывающую программу, если пользователь не нажал клавишу.

Вы можете определить flag как одну или обе из следующих опций:

  • SHOWCURSOR или HIDECURSOR

  • MOUSEACTIVE

SHOWCURSOR задает отображение курсора на экране, а HIDECURSOR убирает курсор с экрана. Если ни одно из этих значений не задано, отображение курсора регулируется установкой SYS(2002). Еще одно значение флага, MOUSEACTIVE, заставляет программу _InKey( ) трактовать нажатие кнопок мыши как нажатие клавиш. При нажатии кнопки мыши _InKey возвращает 151. Чтобы задать два значения флага, используйте оператор языка C | или +.

Note Замечание

Неработающие программы не должны вызывать _InKey( ).

Вызов _InKey( ) можно включать в обработчики событий, но при этом следует соблюдать осторожность, поскольку _InKey( ) может делать рекурсивные обращения к обработчику событий.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _InKey( ) вызывается из Visual FoxPro с двумя флагами

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO INKEY
#define SHOWCURSOR   1
#define HIDECURSOR   2
#define MOUSEACTIVE 4
= XINKEY(0, SHOWCURSOR + MOUSEACTIVE)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_InKey((int) parm->p[0].val.ev_long,
      (int) parm->p[1].val.ev_long), 10);
}

FoxInfo myFoxInfo[] = {
   {"XINKEY", (FPFI) Example, 2, "I,I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Функция INKEY( )
Свойство ReadTimeout

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_Load( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Load()
Смотрите также Пример
CollapseAll image

Помещает значение переменной памяти или поля текущей записи, указанные с помощью loc в val.

int _Load(Locator FAR *loc, Value FAR *val)
Locator FAR *loc;         /* размещение переменной. */
Value FAR *val;            /* Хранение значения переменной. */

Expand image Примечания

_Load() возвращает 0, если исполнение процедуры было успешным. В противном случае, она возвращет отрицательное число, абсолютное значение которого представляет собой номер ошибки Visual FoxPro. Вы можете использовать _Load() для извлечения содержимого мемо-поля, но она не будет извлекать символы из поля после первых 65,000 байт. Если loc определяет одномерный массив, Visual FoxPro возвратит значение его первого элемента.

_Load() не работает с объектами. Если loc представляет собой ссылку на объект, то _Load() вернет 0 wбез заполнения структуры val Value. Используйте _Evaluate() для получчения объектной ссылки.

Если установка поля Locator l_offset равна – 1, то Visual FoxPro возвратит логическое значение структуры, определяющее - была ли удалена текущая запись в указанной рабочей области:

  • ev_length = .T. = DELETED()

  • ev_length = .F. = NOT DELETED()

    Note Замечание

    _Load() создает дейскриптор только в том случае, когда загружаемая переменная памяти вашей программы представляет собой символьную строку (ev_type = 'C'). Все остальные типы данных хранят свои значения в самой структуре Value. Ваша программа должна освобождать дескрипторы, созданные с помощью _Load().

Для получения более подробной информации о том, как создать библиотеу API и интегрировать ее с Visual FoxPro, смотрите описание Доступ к Visual FoxPro API.

Expand image Пример

Приведенный ниже пример преобразует в верхний регистр строчный параметр, посланный по ссылке.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO LOAD
x = "abc"
= XUPPER(@x)
? x

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

void FAR Upper(ParamBlk FAR *parm)
{
      char FAR *pString;
      Value val;
      int i;
//
//   _Load() и _Store представляют собой функции для pass-by-reference.
//
   _Load(&parm->p[0].loc, &val);
//
//   FoxPro не проверяет тип аргументов pass-by-reference, поэтому это делаем мы.
//
  if (val.ev_type != 'C')
   {
      _Error(9); // "Data type mismatch"
   }
  pString = _HandToPtr(val.ev_handle);

   for (i = 0; i < val.ev_length; i++)
   {
      if ('a' <= *pString && *pString <= 'z')
      {
         *pString += ('A' - 'a');
      }
      pString++;
   }
   _Store(&parm->p[0].loc, &val);
   //
   // Нам необходимо высвободить дескриптор, который мы создали с помощью _LOAD()
   //
   _FreeHand(val.ev_handle);
}

FoxInfo myFoxInfo[] =
{
   {"XUPPER", (FPFI) Upper, 1, "R"},
};

FoxTable _FoxTable =
{
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ALen()
Процедура библиотеки API _FindVar()
Процедура библиотеки API _NameTableIndex()
Процедура библиотеки API _NewVar()
Процедура библиотеки API _Release()
Процедура библиотеки API _Store()

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к Visual FoxPro API
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_MemAvail( ) API Library Routine

? _MemAvail( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MemAvail( )
Смотрите также Пример
CollapseAll image

Определяет, достаточно ли памяти для того, чтобы выделить блок памяти размером в size байт.

BOOL _MemAvail(unsigned long size)
unsigned int size;            /* Размер блока памяти в байтах. */

Expand image Примечания

Функция возвращает значение "истина" (целое число, отличное от 0), если свободной памяти достаточно, или "ложь" (0) в противном случае.

For more information on how to create an API library and integrate it with Visual FoxPro, see Accessing the Visual FoxPro API.

Expand image Пример

В следующем примере строится связный список выделяемых блоков памяти размером 1 Кбайт каждый, пока не будет исчерпана вся доступная память. После этого все выделенные блоки освобождаются и возвращается их количество. _MemAvail( ) используется для выхода из первого цикла while.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MEMAVAIL
? MEMAVAIL()  && displays approx. memory available in K

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

#define ALLOCSIZE 1024

FAR Example(ParamBlk FAR *parm)
{
   int nHandles = 0;
   MHANDLE head = 0, mh;

   while (_MemAvail(ALLOCSIZE))
   {
      mh = _AllocHand(ALLOCSIZE);
      *((MHANDLE *) _HandToPtr(mh)) = head;
      head = mh;
      nHandles++;
   }
   _RetInt(nHandles, 10);
   while (head != 0)
   {
      mh = *((MHANDLE *) _HandToPtr(head));
      _FreeHand(head);
      head = mh;
   }
}

FoxInfo myFoxInfo[] = {
   {"MEMAVAIL", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _SetHandSize( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_MemCmp( ) API Library Routine

? _MemCmp( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MemCmp( )
Смотрите также Пример
CollapseAll image

Сравнивает две области памяти длиной length байт.

int _MemCmp(void FAR *ptr1, void FAR *ptr2, unsigned int length)
void FAR *ptr1;            /* Начало первой сравниваемой области. */
void FAR *ptr2;            /* Начало второй сравниваемой области. */
unsigned int length;         /* Сколько байтов сравнивать. */

Expand image Примечания

_MemCmp( ) сравнивает каждый байт одной области с соответствующим байтом другой, начиная с самого левого байта в каждой области и кончая первой несовпавшей парой байтов. _MemCmp( ) возвращает 0 если все байты обеих областей совпадают, если значение первого несовпавшего байта первой области больше значения соответствующего байта второй области, возвращается положительное число, если значение первого несовпавшего байта во второй области больше значения соответствующего байта в первой области, возвращается отрицательное число..

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _MemCmp( ) используется для сравнения двух символьных параметров вплоть до первого несовпадающего байта.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MEMCMP
? MEMCMP("Hello, world.", "Hello, world.")  && returns 0
? MEMCMP("Hello, world.", "Hello, wurld.")  && returns non-0

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

#define min(a, b) ((a) < (b) ? (a) : (b))

FAR Example(ParamBlk FAR *parm)
{
   int LenToCmp, RetValue;

   LenToCmp = min(parm->p[0].val.ev_length, parm->p[1].val.ev_length);

   _HLock(parm->p[0].val.ev_handle);
   _HLock(parm->p[1].val.ev_handle);

   RetValue = _MemCmp(_HandToPtr(parm->p[0].val.ev_handle),
      _HandToPtr(parm->p[1].val.ev_handle), LenToCmp);

   _RetInt(RetValue, 10); // does return control here

   _HUnLock(parm->p[0].val.ev_handle);
   _HUnLock(parm->p[1].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"MEMCMP", (FPFI) Example, 2, "C,C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _MemFill( )
Процедура библиотеки API _MemMove( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_MemFill( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MemFill( )
Смотрите также Пример
CollapseAll image

Заполняет область памяти, начинающуюся с адреса ptr, символом character, повторенным length раз.

void _MemFill(void FAR *ptr, int character, unsigned int length)
void FAR *ptr;               /* Начальная точка заполнения. */
int character;               /* Символ-заполнитель. */
unsigned int length;         /* Число заполняемых байтов. */

Expand image Пример

В следующем примере _MemFill( ) дублирует функциональные возможности функции Visual FoxPro REPLICATE( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MEMFILL
x = xREPLICATE("x", 120)
? x
? LEN(x)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   char FAR *rep;
   char c = *(char *) _HandToPtr(parm->p[0].val.ev_handle);

   rep = _Alloca((int) parm->p[1].val.ev_long + 1);

   _MemFill(rep, c, (int) parm->p[1].val.ev_long);

  rep[parm->p[1].val.ev_long] = '\0';
   _RetChar(rep);
}
FoxInfo myFoxInfo[] = {
   {"XREPLICATE", (FPFI) Example, 2, "C,I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _MemCmp( )
Процедура библиотеки API _MemMove( )
Процедура библиотеки API _MemAvail( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_MemMove( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MemMove( )
Смотрите также Пример
CollapseAll image

Копирует length байтов, начиная с src по dest.

void _MemMove(void FAR *dest, void FAR *src, unsigned int length)
void FAR *dest;            /* Место назначения. */
void FAR *src;               /* Стартовая позиция. */
unsigned int length;         /* Число перемещаемых байтов. */

Expand image Примечания

Пересылка с перекрытием производится в соответствующем направлении таким образом, чтобы не портить данные

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере с помощью _MemMove( ) реализуется функция выделения подстроки. В Visual FoxPro функция MEMMOVE(s, n1, n2) возвращает подстроку строки s начинающуюся с позиции n1 и кончающуюся позицией n2.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MEMMOVE
? MEMMOVE("Hello, world.", 8, 10)  && returns "wor"

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int SubstrLen;
   MHANDLE bufferHandle;
   char FAR *FirstDest;

   SubstrLen = parm->p[2].val.ev_long - parm->p[1].val.ev_long + 1;
   if ((bufferHandle = _AllocHand(SubstrLen + 1)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(bufferHandle);
   _HLock(parm->p[0].val.ev_handle);
   FirstDest = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle) +
      parm->p[1].val.ev_long - 1;

   _MemMove(_HandToPtr(bufferHandle), FirstDest, SubstrLen);

   ((char FAR *) _HandToPtr(bufferHandle))[SubstrLen] = '\0';
   _RetChar(_HandToPtr(bufferHandle));
   _HUnLock(bufferHandle);
   _HUnLock(parm->p[0].val.ev_handle);
}
FoxInfo myFoxInfo[] = {
   {"MEMMOVE", (FPFI) Example, 3, "C,I,I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _MemCmp( )
Процедура библиотеки API _MemFill( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_MemoChan( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MemoChan( )
Смотрите также Пример
CollapseAll image

Возвращает канал memo-файла, соответствующего заданной рабочей области workarea.

FCHAN _MemoChan(int workarea)
int workarea;               /* Номер рабочей области. */

Expand image Примечания

Если в указанной рабочей области ни одна база данных не открыта или если в открытой базе данных нет memo-файла, _MemoChan( ) возвращает - 1.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере извлекается содержимое memo-поля. _MemoChan(-1) возвращает канал memo-файла, относящегося к текущей рабочей области. Возвращенный канал FCHAN используется в качестве аргумента в API-функциях файлового ввода-вывода низкого уровня.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MEMOCHAN
CREATE TABLE WMemo (MemoField M)
APPEND BLANK
REPLACE MemoField WITH "Hello, World."
? GETMEMO(@MemoField)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR FindMemoEx(ParamBlk FAR *parm)
{
   Locator FAR *memoFldLoc;
   FCHAN fchMemo;
   char FAR *memoContents;
   int memoLen;
   long loc;

   if ((fchMemo = _MemoChan(-1)) == -1)
   {
      _UserError("_MemoChan() failed");
   }
   memoFldLoc = &parm->p[0].loc;

   if ((loc = _FindMemo(memoFldLoc)) < 0)
   {
      _UserError("_FindMemo() failed");
   }
   if ((memoLen = _MemoSize(memoFldLoc)) < 0)
   {
      _UserError("_MemoSize() failed");
   }
   if ((memoContents = _Alloca(memoLen + 1)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _FSeek(fchMemo, loc, FS_FROMBOF);
   _FRead(fchMemo, memoContents, memoLen);
   memoContents[memoLen] = '\0';
   _RetChar(memoContents);
}

FoxInfo myFoxInfo[] = {
   {"GETMEMO", (FPFI) FindMemoEx, 1, "R"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocMemo( )
Процедура библиотеки API _DBReplace( )
Процедура библиотеки API _FindMemo( )
Процедура библиотеки API _FOpen( )
Процедура библиотеки API _MemoSize( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_MemoSize( ) API Library Routine

? _MemoSize( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MemoSize( )
Смотрите также Пример
CollapseAll image

Возвращает длину заданного memo-поля в текущей записи memo-файла.

long _MemoSize(Locator FAR *fld)
Locator FAR *fld;            /* Адрес memo-поля. */

Expand image Примечания

Если memo-поле в текущей записи оказывается пустым или если fld не является memo-полем, _MemoSize( ) возвращает отрицательное целое число, абсолютное значение которого представляет собой номер ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере извлекается содержимое memo-поля текущей записи. _MemoSize( ) позволяет определить, сколько памяти следует выделить для буфера и сколько байтов следует считать из memo-файла.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MEMOSIZE
CREATE TABLE WMemo (MemoField M)
APPEND BLANK
REPLACE MemoField WITH "Hello, World."
? GETMEMO(@MemoField)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR FindMemoEx(ParamBlk FAR *parm)
{

   Locator FAR *memoFldLoc;
   FCHAN fchMemo;
   char FAR *memoContents;
   int memoLen;
   long loc;

   if ((fchMemo = _MemoChan(-1)) == -1)
   {
      _UserError("_MemoChan() failed");
   }
   memoFldLoc = &parm->p[0].loc;

   if ((loc = _FindMemo(memoFldLoc)) < 0)
   {
      _UserError("_FindMemo() failed");
   }
   if ((memoLen = _MemoSize(memoFldLoc)) < 0)
   {
      _UserError("_MemoSize() failed");
   }
   if ((memoContents = _Alloca(memoLen + 1)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _FSeek(fchMemo, loc, FS_FROMBOF);
   _FRead(fchMemo, memoContents, memoLen);
   memoContents[memoLen] = '\0';
   _RetChar(memoContents);
}

FoxInfo myFoxInfo[] = {
   {"GETMEMO", (FPFI) FindMemoEx, 1, "R"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocMemo( )
Процедура библиотеки API _DBReplace( )
Процедура библиотеки API _FindMemo( )
Процедура библиотеки API _MemoChan( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_MenuId( ) API Library Routine

Visual FoxPro 9.0 Language Reference
_MenuId( ) Процедура API Библиотеки
Смотрите Также Пример
CollapseAll image

Возвращает идентификатор меню, который соответствует системному литералу для системного меню или заголовка меню (menu title).

MENUID _MenuId(long literal)
long literal;                  /* Системный литерал. */

Expand image Замечания

Литералы определены в включаемом файле PRO_EXT.H.

Для дальнейшей информации о том, как создать API библиотеку и интегрировать ее с Visual FoxPro, смотрите Подключение Visual FoxPro API.

Expand image Пример

Следующий пример добавляет заголовок в системное меню. Затем присоединяет к нему выпадающее меню, состоящее из двух пунктов.

Процедура _MenuId( ) используется для получения MENUID системного меню.

Expand image Visual FoxPro Код

CopyCode image Copy Code
SET LIBRARY TO MENUID

Expand image C Код

CopyCode image Copy Code
#include <pro_ext.h>

MENUID SysMenuId;
MENUID PopupId;
ITEMID PadId;

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
}

void FAR StartUp()
{
   ITEMID Bar1Id;
   ITEMID Bar2Id;
   int Error;

   // Добавим новый заголовок меню в SYSMENU.
   SysMenuId = _MenuId(_SYSMENU);
   PadId = _GetNewItemId(SysMenuId);

   if (_NewItem(SysMenuId, PadId, _LASTITEM, "\\<Новый заголовок меню"))
   {
      _Error(623); /* "Menu item cannot be defined." */
   }

   // Определить меню.
   PopupId = _GetNewMenuId();

   if (Error = _NewMenu(MPOPUP, PopupId))
   {
      _Error(-Error);
   }
   Bar1Id = _GetNewItemId(PopupId);

   // ОСТОРОЖНО: Вызовите  _NewItem() перед следующим вызовом  _GetNewItemId().
   if (_NewItem(PopupId, Bar1Id, _LASTITEM, "\\<1ый пункт"))
   {
      _Error(623); /* "Menu item cannot be defined." */
   }
   Bar2Id = _GetNewItemId(PopupId);

   if (_NewItem(PopupId, Bar2Id, _LASTITEM, "\\<2ой пункт"))
   {
      _Error(623); /* "Menu item cannot be defined." */
   }

   // присоединить меню к новому заголовку меню
   _SetItemSubMenu(SysMenuId, PadId, PopupId);

   // Установить действие выбора.
   _OnSelection(PopupId, -1, onSelection);
}

void FAR ShutDown()
{
   _DisposeItem(SysMenuId, PadId);
   _DisposeMenu(PopupId);
}

FoxInfo myFoxInfo[] = {
   {"STARTUP",   (FPFI) StartUp,   CALLONLOAD,""},
   {"SHUTDOWN",   (FPFI) ShutDown,   CALLONUNLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите Также

Ссылки

SYS(1500) - Активный пункт системного меню
_GetNewMenuId( ) процедура API библиотеки
Имена системного меню
_MenuInteract( ) процедура API библиотеки

Коцепции

Процедуры API Библиотеки A-Z

Другие Ресурсы

Процедуры API Библиотеки по Категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_MenuInteract( ) API Library Routine

Visual FoxPro 9.0 Language Reference
Подпрограмма _MenuInteract( ) API Библиотеки
Смотрите Также Пример
CollapseAll image

Определяет переменные itemid и menuid, чтобы указать, какой пункт меню был выбран, если это имело место.

int _MenuInteract(MENUID FAR *menuid, ITEMID FAR *itemid)
MENUID FAR *menuid;      /* Указатель на идентификатор меню. */
ITEMID FAR *itemid;      /* Указатель на идентификатор пункта меню. */

Expand image Примечания

Если пользователь выбрал какой-либо пункт меню, то функция _MenuInteract() возвращает 1. Если ничего не было выбрано (например, если пользователь нажал ESC) _MenuInteract() возвращает 0.

Для дальнейшей информации о том, как создать API библиотеку и объединить ее с Visual FoxPro, смотрите Подключение Visual FoxPro API.

Expand image Пример

Следующий пример создает меню из трех пунктов, и затем при помощи вызова функции _MenuInteract() ожидает действия пользователя над этим меню.

Expand image Visual FoxPro Код

CopyCode image Copy Code
SET LIBRARY TO MENUINTE

Expand image C Код

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR GetNewItemId(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _MenuInteract(&menuId, &itemId);

   _PutStr("\nmenuId ="); putLong(menuId);
   _PutStr("\nitemId ="); putLong(itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetNewItemId, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите Также

Ссылки

Функция _MenuId() API Библиотеки
Функция _OnSelection() API Библиотеки
Функция _GetNewMenuId() API Библиотеки

Концепции

A-Z Функции API Библиотеки

Другие Ресурсы

Подключение Visual FoxPro API
API Библиотека Функций по Категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


_MousePos( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MousePos( )
Смотрите также Пример
CollapseAll image

Заносит в pt текущую позицию указателя мыши.

int _MousePos(Point FAR *pt)
Point FAR *pt;               /* Указатель. */

Expand image Примечания

_MousePos( ) возвращает значение "истина" (целое число, отличное от 0), если в момент ее вызова была нажата левая кнопка мыши, или значение "ложь" (0) в противном случае.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается текущая позиция указателя мыши до тех пор, пока не будет нажата левая кнопка мыши.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MOUSEPOS

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR MousePosEx(ParamBlk FAR *parm)
{
   Point mousePos;

   while (!_MousePos(&mousePos))
   {
      _PutStr("\nvertical =");
      putLong(mousePos.v, 5);
      _PutStr("; horizontal =");
      putLong(mousePos.h, 5);
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) MousePosEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _GlobalToLocal( )
Процедура библиотеки API _MousePosP( ) API Library Routine

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.Microsoft is not reponsible for the contents of the translated help topics.


_MousePosP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _MousePosP( )
Смотрите также Пример
CollapseAll image

Заносит в pt текущую позицию указателя мыши, в пикселях.

int _MousePosP(Point FAR *pt)
Point FAR *pt;               /* Указатель. */

Expand image Примечания

_MousePosP( ) возвращает значение "истина" (целое число, отличное от 0), если в момент ее вызова была нажата левая кнопка мыши, или значение "ложь" (0) в противном случае.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается текущая позиция указателя мыши до тех пор, пока не будет нажата левая кнопка мыши.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO MOUSEPOP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR MousePosPEx(ParamBlk FAR *parm)
{
   Point mousePos;

   while (!_MousePosP(&mousePos))
   {
      _PutStr("\nvertical =");
      putLong(mousePos.v, 5);
      _PutStr("; horizontal =");
      putLong(mousePos.h, 5);
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) MousePosPEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FindWindow( )
Процедура библиотеки API _GlobalToLocal( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_NameTableIndex( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _NameTableIndex( )
Смотрите также Пример
CollapseAll image

Возвращает индекс таблицы имен, соответствующий данному имени name, или возвращает - 1, если этого имени нет в таблице.

NTI _NameTableIndex(char FAR *name)
char FAR *name;            /* Имя. */

Expand image Примечания

Имя name можно найти в таблице имен даже в том случае, когда переменной с именем name не существует. Чтобы определить, существует ли переменная с именем name, воспользуйтесь _FindVar( ), задав в качестве параметра nti индекс таблицы имен, возвращенный _NameTableIndex( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере освобождается переменная памяти, имя которой задано в виде символьного аргумента. Заметьте, что _NameTableIndex( ) находит имя переменной даже после того, как она освобождена. Поэтому с помощью _NameTableIndex( ), используемой в сочетании с _FindVar( ), можно проверить, определена ли переменная в данный момент.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO NTI
x = 123
= XRELEASE("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR ReleaseEx(ParamBlk FAR *parm)
{
   NTI nti;
   char FAR *name;
   int exitCode;
   Locator loc;

   //   Null terminate character string, name of variable
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   name[parm->p[0].val.ev_length] = '\0';

   if ((nti = _NameTableIndex(name)) == -1)
   {
      _HUnLock(parm->p[0].val.ev_handle);
      _UserError("Cannot find variable in name table.");
   }
   _HUnLock(parm->p[0].val.ev_handle);

   if (_FindVar(nti, -1, &loc))
   {
      _PutStr("\nVariable exists prior to _Release().");
   }
   if ((exitCode =_Release(nti)) < 0)
   {
      _Error(-exitCode);
   }

   _HLock(parm->p[0].val.ev_handle);
   name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   name[parm->p[0].val.ev_length] = '\0';

   if ((nti = _NameTableIndex(name)) != -1)
   {
      _PutStr("\n_NameTableIndex() still finds variable \
         after it is released.");
   }
   _HUnLock(parm->p[0].val.ev_handle);

   if (!_FindVar(nti, -1, &loc))
   {
      _PutStr("\nVariable does not exist after _Release().");
   }
}

FoxInfo myFoxInfo[] = {
   {"XRELEASE", (FPFI) ReleaseEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ALen( )
Процедура библиотеки API _FindVar( )
Процедура библиотеки API _Load( )
Процедура библиотеки API _NewVar( )
Процедура библиотеки API _ObjectRelease( )
Процедура библиотеки API _Store( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_NewItem( ) API Library Routine

? _NewItem( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _NewItem( )
Смотрите также Пример
CollapseAll image

Добавляет элемент, заданный идентификатором itemid, в меню с идентификатором menuid.

int _NewItem(MENUID menuid, ITEMID itemid, ITEMID
beforeid, char FAR *prompt)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор нового элемента меню. */
ITEMID beforeid;          /* Идентификатор элемента, перед которым вставляется новый элемент. */
char FAR *prompt;         /* Текст нового элемента меню. */

Expand image Примечания

Тип нового элемента меню определяется автоматически ѕ заголовок меню или команда меню, в зависимости от типа меню, в которое элемент вставляется.

Параметр beforeid задает идентификатор элемента, перед которым должен вставляться новый элемент. Задайте beforeid равным – 1, чтобы новый элемент был первым в списке, или равным - 2, чтобы включить новый элемент в конец списка. Параметр prompt задает текст нового элемента меню. _NewItem( ) возвращает 0 в случае успешного добавления нового элемента или - 1 в противном случае.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере строится меню, содержащее три элемента. Элементы включаются в меню с помощью _NewItem( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO NEWITEM

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR GetNewItemId(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -1, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _MenuInteract(&menuId, &itemId);

   _PutStr("\nmenuId ="); putLong(menuId);
   _PutStr("\nitemId ="); putLong(itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetNewItemId, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _SetItemCmdKey( )
Процедура библиотеки API _SetItemSubMenu( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_NewMenu( ) API Library Routine

? _NewMenu( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _NewMenu( )
Смотрите также Пример
CollapseAll image

Создает новое меню заданного типа.

int _NewMenu(int mtype, MENUID menuid)
int mtype;                  /* Тип меню. */
MENUID menuid;            /* Идентификатор меню. */

Expand image Примечания

Вы можете задать MPOPUP или MBAR в качестве параметра mtype. Идентификатор меню должен быть уникальным.

Используйте _GetNewMenuId( ), чтобы получить незадействованный идентификатор меню. _NewMenu( ) возвращает 0, если меню успешно создано. В случае ошибки _NewMenu( ) возвращает отрицательное число, абсолютное значение которого представляет собой номер ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере с помощью _NewMenu( ) создается новое меню.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO NEWMENU

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR GetNewItemId(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -1, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _MenuInteract(&menuId, &itemId);

   _PutStr("\nmenuId ="); putLong(menuId);
   _PutStr("\nitemId ="); putLong(itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) GetNewItemId, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateMenu( )
Процедура библиотеки API _GetNewMenuId( )
Процедура библиотеки API _GetNewMenuId( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_NewVar( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _NewVar( )
Смотрите также Пример
CollapseAll image

Создает переменную или массив.

NTI _NewVar(char FAR *name, Locator FAR *loc, int flag)
char FAR *name;            /* Имя переменной. */
Locator FAR *loc;            /* Местоположение. */
int flag;                     /* Область действия. */

Expand image Примечания

Определение типа NTI поддерживает индекс таблицы имен. Смотрите Процедура библиотеки API _NameTableIndex( ) для получения дополнительной информации об использовании индекса таблицы имен.

Имя переменной или массива должно подчиняться стандартным правилам именования переменных, принятым в Visual FoxPro. Новая переменная инициализируется логическим значением "ложь".

Установка поля l_subs структуры Locator определяет тип переменной или массива:

  • 0 – скалярная переменная

  • 1 – одномерный массив размером l_sub1

  • 2 – двумерный массив размером l_sub1 на l_sub2

В качестве параметра flag можно использовать NV_PUBLIC или NV_PRIVATE. Переменные типа NV_PRIVATE создаются так, как они создавались бы в программе Visual FoxPro, вызвавшей данную внешнюю программу.

Если _NewVar( ) ) успешно создала переменную, в поле l_NTI заносится неотрицательный номер NTI созданной переменной и _NewVar( ) возвращает этот номер. Если _NewVar( ) завершается неудачно, возвращается отрицательное число, абсолютное значение которого представляет собой внутренний номер ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _NewVar( ) используется для создания трех переменных.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO NEWVAR
*
* As defined in "pro_ext.h"
*
#define NV_PUBLIC   0
#define NV_PRIVATE   1

= xNewVar('var', 0, 0, 0, NV_PUBLIC)
DISPLAY MEMORY LIKE var

= xNewVar('onedim', 1, 5, 0, NV_PUBLIC)
DISPLAY MEMORY LIKE onedim

= xNewVar('twodim', 2, 5, 6, NV_PUBLIC)
DISPLAY MEMORY LIKE twodim

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR NewVarEx(ParamBlk FAR *parm)
{
   char FAR *varName;
   Locator loc;
   int flag;
   int retValue;

   // Null terminate character string
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   varName = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   varName[parm->p[0].val.ev_length] = '\0';
   loc.l_subs = parm->p[1].val.ev_long;
   loc.l_sub1 = parm->p[2].val.ev_long;
   loc.l_sub2 = parm->p[3].val.ev_long;
   flag = parm->p[4].val.ev_long;
   if ((retValue = _NewVar(varName, &loc, flag)) < 0)
   {
      // _NewVar() returns negative Visual FoxPro error number
      _Error(-retValue);
   }
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"XNEWVAR", (FPFI) NewVarEx, 5, "C,I,I,I,I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ALen( )
Процедура библиотеки API _FindVar( )
Процедура библиотеки API _Load( )
Процедура библиотеки API _NameTableIndex( )
Процедура библиотеки API _ObjectRelease( )
Процедура библиотеки API _Store( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_ObjectCmp( ) API Library Routine

? _ObjectCmp( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ObjectCmp( )
Смотрите также
CollapseAll image

Сравнивает свойства двух объектов и возвращается 0, если свойства и их значения идентичны.

int _ObjectCmp(Value FAR *objct1, Value FAR *objct2)

Expand image Примечания

0 возвращается, если объекты имеют идентичные свойства и их значения. -1 возвращается, если объект имеет свойство, которое другой объект не имеет, или если объекты имеют идентичные свойства, но значения одного или более свойств отличаются.

Если происходит ошибка (например, если вы опустите один из объектов), возвращается отрицательное число, абсолютное значение которого представляет собой номер ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetObjectProperty( )
Процедура библиотеки API _SetObjectProperty( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_ObjectReference( ) API Library Routine

? _ObjectReference( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ObjectReference( )
Смотрите также
CollapseAll image

Увеличивает счетчик ссылок объекта.

int _ObjectReference(Value FAR *objct)

Expand image Примечания

CLEAR MEMORY или CLEAR ALL освобождают объект API из памяти.

0 возвращается, если ошибка не происходит. Иначе возвращается отрицательное число, представляющее внутренний код ошибки.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FreeObject( )
Процедура библиотеки API _ObjectRelease( )

Прочие ресурсы

Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_ObjectRelease( ) API Library Routine

? _ObjectRelease( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _ObjectRelease( )
Смотрите также
CollapseAll image

Уменьшает счетчик ссылок объекта.

int _ObjectRelease(Value FAR *objct)

Expand image Примечания

0 возвращается, если ошибка не происходит. Иначе возвращается отрицательное число, представляющее внутренний код ошибки.

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _FreeObject( )
Процедура библиотеки API _ObjectReference( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_OnSelection( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _OnSelection( )
Смотрите также Пример
CollapseAll image

Задает программу, которую следует выполнять, когда пользователь выбирает заданные меню и элемент.

void _OnSelection(MENUID menuid, ITEMID itemid, FPFI routine)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента. */
FPFI routine;               /* Выполняемая программа. */

Expand image Примечания

Если в качестве itemid задать -1, указанная программа будет выполняться при выборе любого элемента меню. Программа, связанная с отдельным элементом меню, имеет более высокий приоритет, чем программа, закрепленная за всем меню в целом. Чтобы отменить выполнение программы для заданных элемента и меню, передайте в качестве параметра routine значение (FPFI)0.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, содержащее три элемента. Вызывается _OnSelection( ) с параметром ITEMID, равным -1, указывающим на то, что функцию USERCHOICE( ) следует вызывать при выборе любого элемента из данного меню.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO ONSELECT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
   _DisposeMenu(menuId);
}

FAR activateMenu(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _OnSelection(menuId, -1, onSelection);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) activateMenu, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ActivateMenu( )
Процедура библиотеки API _MenuInteract( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_PutChr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _PutChr( )
Смотрите также Пример
CollapseAll image

Отображает один символ char в позиции вывода текущего окна вывода с обычными атрибутами (цвет 0).

void _PutChr(int char)
int char;                     /* Отображаемый символ. */

Expand image Примечания

_PutChr( ) рассматривает специальные символы такие как: новая строка, возврат каретки, звонок; как управляющие символы и не отображает их на экране.

Чтобы вывести символ, соответствующий одному из этих управляющих символов, добавьте 256 к его значению.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _PutChr( ) используется для отображения на экране всех 8-битных символов.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO PUTCHR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int ch;

   for (ch = 0; ch < 256; ch++)
   {
      _PutChr(ch);
   }
}

FoxInfo myFoxInfo[] = {
   {"PUTCHR", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _PutStr( )
Процедура библиотеки API _PutValue( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.Microsoft is not reponsible for the contents of the translated help topics.


_PutStr( ) API Library Routine

? _PutStr( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _PutStr( )
Смотрите также Пример
CollapseAll image

Отображает строку, ограниченную нуль-символом, в позиции вывода текущего окна вывода с обычными атрибутами (цвет 0).

void _PutStr(char FAR *str)
char FAR *str;               /* Отображаемая строка. */

Expand image Примечания

_PutStr( ) рассматривает специальные символы такие как: новая строка, возврат каретки, звонок; как управляющие символы и не отображает их на экране.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример использует _PutStr(), чтобы отобразить на экране, параметр символьного типа, в верхнем регистре.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO PUTSTR
= XUPPER("upper")  && displays "UPPER" on the screen

Expand image Код C

CopyCode image Copy Code
#include "pro_ext.h"

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   char FAR *pString;
   int i;

   NullTerminate(&parm->p[0].val);
   pString = _HandToPtr(parm->p[0].val.ev_handle);
   for (i = 0; i < parm->p[0].val.ev_length; i++)
   {
      if ('a' <= *pString && *pString <= 'z')
      {
         *pString += ('A' - 'a');
      }
      pString++;
   }
   _HLock(parm->p[0].val.ev_handle);
   _PutStr(_HandToPtr(parm->p[0].val.ev_handle));
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"XUPPER", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _PutChr( )
Процедура библиотеки API _PutValue( )
Процедура библиотеки API _WPutChr( )
Процедура библиотеки API _WPutStr( )

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Доступ к API Visual FoxPro
Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_PutValue( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _PutValue( )
Смотрите также Пример
CollapseAll image

Записывает значение val в позицию вывода в текущем окне вывода.

void _PutValue(Value FAR *val)
Value FAR *val;            /* Отображаемое значение. */

Expand image Пример

В следующем примере _PutValue( ) отображает на экране, в верхнем регистре, параметр символьного типа.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO PUTVALUE
= XUPPER("upper")  && displays "UPPER" on screen

Expand image Код C

CopyCode image Copy Code
#include "pro_ext.h"

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}
FAR Example(ParamBlk FAR *parm)
{
   char FAR *pString;
   int i;

   NullTerminate(&parm->p[0].val);
   pString = _HandToPtr(parm->p[0].val.ev_handle);
   for (i = 0; i < parm->p[0].val.ev_length; i++)
   {
      if ('a' <= *pString && *pString <= 'z')
      {
         *pString += ('A' - 'a');
      }
      pString++;
   }
   _PutValue(&parm->p[0].val);
}

FoxInfo myFoxInfo[] = {
   {"XUPPER", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _PutChr( )
Процедура библиотеки API _PutStr( )
Процедура библиотеки API _WPutChr( )
Процедура библиотеки API _WPutStr( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_Release( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Release( )
Смотрите также Пример
CollapseAll image

Освобождает из памяти заданную переменную памяти или массив.

int _Release(NTI n)
NTI n;                     /* Номер NTI освобождаемой переменной или массива. */

Expand image Примечания

_Release( ) возвращает 0, если она успешно освобождает переменную памяти или массив; в противном случае возвращается целое число, абсолютное значение которого представляет собой номер ошибки Visual FoxPro.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере освобождается переменная памяти, имя которой задано в виде символьного аргумента. _NameTableIndex( ) используется для получения номера NTI переменной.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RELEASE
x = 123
= XRELEASE("x")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR ReleaseEx(ParamBlk FAR *parm)
{
   NTI nti;
   char FAR *name;
   int exitCode;
   Locator loc;

   // Null terminate character string, name of variable
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   name[parm->p[0].val.ev_length] = '\0';

   if ((nti = _NameTableIndex(name)) == -1)
   {
      _HUnLock(parm->p[0].val.ev_handle);
      _UserError("Cannot find variable in name table.");
   }

   _HUnLock(parm->p[0].val.ev_handle);
   if (_FindVar(nti, -1, &loc))
   {
      _PutStr("\nVariable exists prior to _Release().");
   }
   if ((exitCode =_Release(nti)) < 0)
   {
      _Error(-exitCode);
   }
   _HLock(parm->p[0].val.ev_handle);
   name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   name[parm->p[0].val.ev_length] = '\0';

   if ((nti = _NameTableIndex(name)) != -1)
   {
      _PutStr("\n_NameTableIndex() still finds variable \
         after it is released.");
   }
   _HUnLock(parm->p[0].val.ev_handle);

   if (!_FindVar(nti, -1, &loc))
   {
      _PutStr("\nVariable does not exist after _Release().");
   }
}

FoxInfo myFoxInfo[] = {
   {"XRELEASE", (FPFI) ReleaseEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _ALen( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _FindVar( )
Процедура библиотеки API _Load( )
Процедура библиотеки API _NameTableIndex( )
Процедура библиотеки API _NewVar( )
Процедура библиотеки API _Store( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetChar( ) API Library Routine

? _RetChar( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetChar( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки строку, заканчивающуюся нуль-символом.

void _RetChar(char FAR *string)
char FAR *string;            /* Строка. */

Expand image Примечания

Если вам нужно возвратить строку, в которой допускаются внутренние нуль-символы, воспользуйтесь функцией _RetVal( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере дважды вызывается _RetChar( ); вы видите, что управление возвращается из _RetChar( ) в API-программу и что последняя _RetChar( ) определяет значение, возвращаемое в Visual FoxPro.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETCHAR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR chars(ParamBlk FAR *parm)
{
   char message[] = "Hello, world";
   _RetChar(message);
}
FoxInfo myFoxInfo[] = {
   {"CHARS", (FPFI) chars, 0, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateStr( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetLogical( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetCurrency( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetCurrency( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки значение типа currency.

void _RetCurrency(CCY money, int width)
CCY money;         /* CCY - LARGE_INTEGER. */
int width;         /* Число отображаемых столбцов. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере значение числового типа преобразуется в значение типа currency.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETCURR
? xntom(100.1)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>
#include <math.h>

void FAR retcurr(ParamBlk FAR *parm)
{
   CCY money;

   money.HighPart = (long) (parm->p[0].val.ev_real*10000 / pow(2,32));

   money.LowPart = (unsigned long) ((parm->p[0].val.ev_real - (double) (money.HighPart * pow(2,32)/10000.0)) *10000);

   _RetCurrency(money,25);
}

FoxInfo myFoxInfo[] = {
   {"XNTOM", (FPFI) retcurr, 1, "N"}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetDateStr( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetLogical( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetDateStr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetDateStr( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки дату.

void _RetDateStr(char FAR *string)
char FAR *string;            /* Строка типа Date. */

Expand image Примечания

Строку даты следует задавать в формате mm/dd/year, в котором номер года может состоять как из двух, так из четырех цифр.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере символьная строка преобразуется в строку типа datе, которая возвращается в Visual FoxPro.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETDATES
? DATES("02/16/95")  && returns date {02/16/95}

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR dates(ParamBlk FAR *parm)
{
   MHANDLE mh;
   char FAR *instring;

   if ((mh = _AllocHand(parm->p[0].val.ev_length + 1)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   instring = _HandToPtr(parm->p[0].val.ev_handle);
   instring[parm->p[0].val.ev_length] = '\0';
   _RetDateStr(instring);
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"DATES", (FPFI) dates, 1, "C"}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetLogical( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetDateTimeStr( ) API Library Routine

? _RetDateTimeStr( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetDateTimeStr( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки значение типа datetime.

void _RetDateTimeStr(char FAR *string)
char FAR *string;            /* Строка типа Datetime. */

Expand image Примечания

Строку типа datetime следует задавать в формате mm/dd/year hh:mm:ss, в котором номер года может состоять как из двух, так и из четырех цифр. Смотрите Функция CTOT( ) для получения списка допустимых форматов даты и времени для строки типа datetime.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере значение типа даты преобразуется в значение типа datetime.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETDT
? xctot("2/16/95 12:07am")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR datetime(ParamBlk FAR *parm)
{
  MHANDLE mh;
  char FAR *instring;

   if ((mh = _AllocHand(parm->p[0].val.ev_length + 1)) == 0) {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   instring = _HandToPtr(parm->p[0].val.ev_handle);
   instring[parm->p[0].val.ev_length] = '\0';
   _RetDateTimeStr(instring);
   _HUnLock(parm->p[0].val.ev_handle);
}
FoxInfo myFoxInfo[] = {
   {"XCTOT", (FPFI) datetime, 1, "C"}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Функция CTOT( )
Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetLogical( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetFloat( ) API Library Routine

? _RetFloat( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetFloat( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки число типа float.

void _RetFloat(double flt, int width, int dec)
double flt;                  /* Значение с плавающей запятой двойной точности. */
int width;                     /* Количество столбцов в изображении числа. */
int dec;                     /* Количество десятичных знаков. */

Expand image Примечания

Параметр width задает количество столбцов, используемых в Visual FoxPro для изображения числа, включая десятичную запятую, если она присутствует. Если вам неизвестна длина, задайте 20. Параметр dec определяет количество десятичных знаков числа. Правильно задав этот параметр, вы гарантируете корректную обработку числа в Visual FoxPro. Если количество десятичных знаков отлично от нуля, ширина width должна быть, как минимум, на два больше, чем dec.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _RetFloat( ) используется для представления параметра типа даты Visual FoxPro в виде числа с плавающей запятой.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETFLOAT
? RETFLOAT({2/16/95})  && returns float representation of date {2/16/95}

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetFloat(parm->p[0].val.ev_real, 20, 4);
}

FoxInfo myFoxInfo[] = {
   {"RETFLOAT", (FPFI) Example, 1, "D"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateStr( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetLogical( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetInt( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetInt( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки значение числового типа.

void _RetInt(long ival, int width)
long ival;                     /* Длинное целочисленное значение. */
int width;                     /* Количество столбцов в изображении числа. */

Expand image Примечания

Параметр width задает количество столбцов, используемых в Visual FoxPro для отображения числа. Если вам неизвестна эта характеристика, задайте 10.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере выполняется ряд операций над таблицей, открытой в текущей рабочей области. На экран выдается значение, возвращаемое программой _RecCount( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETINT
? CTEST()

Expand image Код C

CopyCode image Copy Code
#include  <pro_ext.h>
#define nl _PutChr('\n')

long FAR CTest()
{
   long rc,rec;
   int workarea = -1;
   int flag = 0;
   int rn,recn;

   rc = _DBRewind(workarea);
   _PutStr("top");  nl;
   rc = _DBSkip(workarea, 5);
   _PutStr("skipped 5");  nl;

   rc = _DBAppend(workarea,flag);
   _PutStr("Appending"); nl;
   rc = _DBRewind(workarea);
   _PutStr("top");  nl;
   rn = _DBRecCount(workarea);
   _RetInt(rn, 10);
   rec = rn;
   return rn;
}

FoxInfo myFoxInfo[] = {
   {"CTEST", (FPFI) CTest,0 , ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *)0, sizeof(myFoxInfo) / sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateStr( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetLogical( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetLogical( ) API Library Routine

? _RetLogical( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetLogical( )
Смотрите также Пример
CollapseAll image

Устанавливает в качестве возвращаемого значения библиотеки значение типа logical.

void _RetLogical(int flag)
int flag;                     /* Флаг. */

Expand image Примечания

_RetLogical( ) рассматривает ноль как значение "ложь", а любое ненулевое значение - как "истину".

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример иллюстрирует процесс бросания монеты. Он возвращает .T. или .F., в зависимости от значения библиотечной функции RAND( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETLOGIC
? RETLOGICAL()  && returns .T. or .F. pseudo-randomly

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetLogical(rand() % 2);
}

FoxInfo myFoxInfo[] = {
   {"RETLOGICAL", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateStr( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetVal( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_RetVal( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _RetVal( )
Смотрите также Пример
CollapseAll image

Возвращает значение любого типа Visual FoxPro, за исключением Memo.

void _RetVal(Value FAR *val)
Value FAR *val;            /* Указатель на структуру value. */

Expand image Примечания

_RetVal( ) передает заполненную структуру Visual FoxPro типа Value. _RetVal( ) следует использовать для возвращения строки, содержащей внутренние нуль-символы.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _RetVal( ) возвращает параметр символьного типа, преобразованный в прописные символы.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO RETVAL
? XUPPER("upper")  && returns "UPPER"

Expand image Код C

CopyCode image Copy Code
#include "pro_ext.h"

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1)) {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   char FAR *pString;
   int i;

   NullTerminate(&parm->p[0].val);
   pString = _HandToPtr(parm->p[0].val.ev_handle);
   for (i = 0; i < parm->p[0].val.ev_length; i++)
   {
      if ('a' <= *pString && *pString <= 'z')
      {
         *pString += ('A' - 'a');
      }
      pString++;
   }
   _RetVal(&parm->p[0].val);
}

FoxInfo myFoxInfo[] = {
   {"XUPPER", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _RetChar( )
Процедура библиотеки API _RetCurrency( )
Процедура библиотеки API _RetDateStr( )
Процедура библиотеки API _RetDateTimeStr( )
Процедура библиотеки API _RetFloat( )
Процедура библиотеки API _RetInt( )
Процедура библиотеки API _RetLogical( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetHandSize( ) API Library Routine

? _SetHandSize( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _SetHandSize( )
Смотрите также Пример
CollapseAll image

Изменяет объем памяти, выделенной блоку памяти с дескриптором hand.

unsigned short _SetHandSize(MHANDLE hand, unsigned long size)
MHANDLE hand;            /* Дескриптор блока памяти. */
unsigned int size;            /* Новое число байтов. */

Expand image Примечания

_SetHandSize( ) возвращает значение "истина" (целое число, отличное от 0), если процесс перераспределения памяти прошел успешно, или "ложь" (0) в противном случае. Данные, соответствующие блоку с дескриптором MHANDLE, сохраняются. Если блок памяти с дескриптором hand блокирован, _SetHandSize( ) завершается с ошибкой.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _SetHandSize( ) изменяет объем памяти, выделенный блоку с дескриптором MHANDLE.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO SETHANDS
= HANDTOPTR("Hello, world.") && displays "Hello, world" on screen

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   NullTerminate(&parm->p[0].val);

   _HLock(parm->p[0].val.ev_handle);
   _PutStr(_HandToPtr(parm->p[0].val.ev_handle));
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"HANDTOPTR", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _AllocHand( )
Процедура библиотеки API _FreeHand( )
Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetItemCmdKey( ) API Library Routine

? _SetItemCmdKey( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _SetItemCmdKey( )
Смотрите также Пример
CollapseAll image

Задает клавишу быстрого вызова для заданного элемента меню, а также отображаемый для этой клавиши текст.

void _SetItemCmdKey(MENUID menuid, ITEMID itemid, int key,
 char FAR *text)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента меню. */
int key;                     /* Клавиша быстрого вызова. */
char FAR *text;            /* Отображаемый текст. */

Expand image Примечания

Если вы не хотите отображать клавишу быстрого вызова, передайте в качестве text указатель на пустую строку. Если вы хотите, чтобы система отображала текст, принимаемый по умолчанию, укажите в качестве параметра значение (char FAR *)0.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере формируется меню, состоящее из трех элементов, и каждому из них назначается клавиша быстрого вызова.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO SETICMDK

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
   _DisposeMenu(menuId);
}

FAR SetItemCmdKeyEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");
   _SetItemCmdKey(menuId, itemId, altKey
0x178, "Alt+1");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");
   _SetItemCmdKey(menuId, itemId, altKey
0x179, "Alt+2");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");
   _SetItemCmdKey(menuId, itemId, altKey
0x17a, "Alt+3");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _OnSelection(menuId, -1, onSelection);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) SetItemCmdKeyEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemCmdKey( )
Процедура библиотеки API _GetItemId( )
Процедура библиотеки API _SetItemSubMenu( )
Процедура библиотеки API _SetItemText( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetItemSubMenu( ) API Library Routine

? _SetItemSubMenu( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _SetItemSubMenu( )
Смотрите также Пример
CollapseAll image

Назначает подменю заданному элементу меню.

void _SetItemSubMenu(MENUID menuid, ITEMID itemid,
                        MENUID submenuid)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента меню. */
MENUID submenuid;         /* Идентификатор подменю. */

Expand image Примечания

С помощью _SetItemSubMenu( ) можно присоединять меню к заголовку меню или подменю к элементу меню.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере в системное меню добавляется заголовок меню. Затем с помощью _SetItemSubMenu( ) к этому заголовку присоединяется меню с двумя элементами.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO SETISUBM

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

MENUID SysMenuId;
MENUID PopupId;
ITEMID PadId;

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

FAR onSelection(long menuId, long itemId)
{
   _PutStr("\nitemId = "); putLong(itemId);
}

void FAR StartUp()
{
      ITEMID Bar1Id;
      ITEMID Bar2Id;
      int Error;

   // Add new menu title to SYSMENU.
   SysMenuId = _MenuId(_SYSMENU);
   PadId = _GetNewItemId(SysMenuId);

   if (_NewItem(SysMenuId, PadId, _LASTITEM, "\\<Added menu title"))
   {
      _Error(623); /* "Menu item cannot be defined." */
   }

   // Define menu.
   PopupId = _GetNewMenuId();

   if (Error = _NewMenu(MPOPUP, PopupId))
   {
      _Error(-Error);
   }
   Bar1Id = _GetNewItemId(PopupId);

   // WARNING: Call _NewItem() before another _GetNewItemId().
   if (_NewItem(PopupId, Bar1Id, _LASTITEM, "\\<1st item"))
   {
      _Error(623); /* "Menu item cannot be defined." */
   }
   Bar2Id = _GetNewItemId(PopupId);

   if (_NewItem(PopupId, Bar2Id, _LASTITEM, "\\<2nd item"))
   {
      _Error(623); /* "Menu item cannot be defined." */
   }

   // Attach menu to menu title
   _SetItemSubMenu(SysMenuId, PadId, PopupId);

   // Set up selection action.
   _OnSelection(PopupId, -1, onSelection);
}

void FAR ShutDown()
{
   _DisposeItem(SysMenuId, PadId);
   _DisposeMenu(PopupId);
}

FoxInfo myFoxInfo[] = {
   {"STARTUP",    (FPFI) StartUp,   CALLONLOAD, ""},
   {"SHUTDOWN",   (FPFI) ShutDown, CALLONUNLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetNewMenuId( )
Процедура библиотеки API _NewMenu( )
Процедура библиотеки API _SetItemText( )
Процедура библиотеки API _SetItemCmdKey( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetItemText( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _SetItemText( )
Смотрите также Пример
CollapseAll image

Изменяет текст, отображаемый для заданного элемента меню.

void _SetItemText(MENUID menuid, ITEMID itemid, char FAR *text)
MENUID menuid;            /* Идентификатор меню. */
ITEMID itemid;            /* Идентификатор элемента меню. */
char FAR *text;            /* Текст. */

Expand image Примечания

В качестве элемента меню может фигурировать как заголовок меню, так и команда меню.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере строится меню с тремя элементами. Затем с помощью _SetItemText( ) изменяется текст элемента.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO SETITEXT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR SetItemTextEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);

   _ActivateMenu(menuId);
   _Execute("WAIT WINDOW 'Original item text'");

   _SetItemText(menuId, _GetItemId(menuId, 0),
      "This was the 1st item");
   _SetItemText(menuId, _GetItemId(menuId, 1),
      "This was the 2nd item");
   _SetItemText(menuId, _GetItemId(menuId, 2),
      "This was the 3rd item");

   _Execute("WAIT WINDOW 'New item text'");
   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) SetItemTextEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _GetItemId( )
Процедура библиотеки API _GetItemText( ) API Library Routine
Процедура библиотеки API _SetItemCmdKey( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetMenuPoint( ) API Library Routine

? _SetMenuPoint( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _SetMenuPoint( )
Смотрите также Пример
CollapseAll image

Задает позицию loc левого верхнего угла меню на экране.

void _SetMenuPoint(MENUID menuid, Point loc)
MENUID menuid;            /* Идентификатор меню. */
Point loc;                  /*Позиция левого верхнего угла меню. */

Expand image Примечания

Обычно меню позиционируется автоматически исходя из своего размера и способа инициирования. Данная процедура предусмотрена на случай, когда требуется отменить автоматическое позиционирование.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Создается меню, которое затем активизируется в трех различных позициях на экране, задаваемых _SetMenuPoint( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO SETMNPNT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR SetMenuPointEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 10; loc.h = 20;
   _SetMenuPoint(menuId, loc);
   _MenuInteract(&menuId, &itemId);

   loc.v = 15; loc.h = 30;
   _SetMenuPoint(menuId, loc);
   _MenuInteract(&menuId, &itemId);

   loc.v = 20; loc.h = 40;
   _SetMenuPoint(menuId, loc);
   _MenuInteract(&menuId, &itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) SetMenuPointEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _NewMenu( )
Процедура библиотеки API _SetItemCmdKey( )
Процедура библиотеки API _SetMenuPointP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetMenuPointP( ) API Library Routine

? _SetMenuPointP( ) API Library Routine DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image
Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _SetMenuPointP( )
Смотрите также Пример
CollapseAll image

Задает, выраженную в пикселях, позицию loc левого верхнего угла меню на экране.

void _SetMenuPointP(MENUID menuid, Point loc)
MENUID menuid;            /* Идентификатор меню. */
Point loc;                  /* Позиция левого верхнего угла меню. */

Expand image Примечания

Обычно меню позиционируется автоматически исходя из размера и способа инициирования. Данная процедура предусмотрена на случай, когда требуется отменить автоматическое позиционирование.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается меню, которое затем активизируется в трех различных позициях на экране, задаваемых _SetMenuPointP( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO SETMNPTP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR SetMenuPointPEx(ParamBlk FAR *parm)
{
   MENUID menuId;
   ITEMID itemId;
   Point loc;

   menuId = _GetNewMenuId();
   _NewMenu(MPOPUP, menuId);

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<1st item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<2nd item");

   itemId = _GetNewItemId(menuId);
   _NewItem(menuId, itemId, -2, "\\<3rd item");

   loc.v = 40; loc.h = 80;
   _SetMenuPointP(menuId, loc);
   _MenuInteract(&menuId, &itemId);

   loc.v = 80; loc.h = 160;
   _SetMenuPointP(menuId, loc);
   _MenuInteract(&menuId, &itemId);

   loc.v = 160; loc.h = 320;
   _SetMenuPointP(menuId, loc);
   _MenuInteract(&menuId, &itemId);

   _DisposeMenu(menuId);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", SetMenuPointPEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _NewMenu( )
Процедура библиотеки API _SetMenuPoint( )
Процедура библиотеки API _GetNewItemId( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_SetObjectProperty( ) API Library Routine

Visual FoxPro 9.0 Language Reference
_SetObjectProperty( ) Подпрограмма библиотеки API
См. также

Устанавливает свойство для объекта.

int _SetObjectProperty(Value FAR *objct, char FAR *prop, Value FAR *val,
   int fAdd)

Замечания

Первый параметр *objct - ссылка на объект; второй параметр *prop - имя свойства; третий параметр *val - новое значение свойства.

Последний параметр fAdd Может принимать нулевое или ненулевое значение. Ненулевое значение указывает, что свойство добавляется к объекту, если свойство не существует. Если fAdd - не 0, и свойство, не существует, свойство добавляется к объекту как определяемое пользователем свойство, и содержит значение свойства, которое Вы определяете с *val. Если fAdd - 0, и свойство, не существует, свойство не добавляется к объекту.

_SetObjectProperty () возвращается 0 в случае успеха; или отрицательное значение соответствующего кода ошибки, возвращаемое Visual FoxPro.

Для подробной информации относительно того, как создавать библиотеку API и интегрировать ее в Visual FoxPro, см. Доступ к API Visual FoxPro.

См. также

Другие источники

Построение библиотеки API
_GetObjectProperty( ) подпрограмма библиотеки API
Доступ к API Visual FoxPro
Object свойство
ReadObject Свойство

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


_Store( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _Store( )
Смотрите также Пример
CollapseAll image

Замещает значением val одержимое переменной памяти, заданной локатором loc.

int _Store(Locator FAR *loc, Value FAR *val)
Locator FAR *loc;            /* Локатор переменной памяти. */
Value FAR *val;               /* Записываемое значение. */

Collapse image Примечания

Чтобы указать отдельный элемент массива, установите в поле l_subs количество используемых индексов, в полях l_sub1 и l_sub2 ѕ фактические значения индексов. Первый элемент массива имеет номер 1. Если loc массив и поле l_subs содержит 0, _Store( ) записывает значение val во все элементы массива.

_Store( ) возвращает 0 в случае успешного выполнения. Если возникает ошибка, _Store( ) возвращает отрицательное число, абсолютное значение которого представляет номер ошибки Visual FoxPro. Если _Store( ) при записи в массив выходит за пределы памяти, для некоторых элементов массива значения могут быть установлены, а для некоторых нет.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Collapse image Пример

В следующем примере строковый аргумент, переданный по ссылке, преобразуется в прописные символы.

Collapse image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO STORE
x = "abc"
= XUPPER(@x)
? x

Collapse image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR Upper(ParamBlk FAR *parm)
{
      char FAR *pString;
      Value val;
      int i;
//
//   _Load() and _Store are the functions of interest for pass-by-reference.
//
   _Load(&parm->p[0].loc, &val);
//
//   FoxPro doesn't check the type of pass-by-reference arguments, so we do.
//
   if (val.ev_type != 'C') {
      _Error(9); // "Data type mismatch"
   }
  pString = _HandToPtr(val.ev_handle);

   for (i = 0; i < val.ev_length; i++)  {
      if ('a' <= *pString && *pString <= 'z') {
         *pString += ('A' - 'a');
      }
      pString++;
   }
   _Store(&parm->p[0].loc, &val);
   //
   // We need to free the handle that we created with  _LOAD()
   //
   _FreeHand(val.ev_handle);

}
FoxInfo myFoxInfo[] = {
   {"XUPPER", (FPFI) Upper, 1, "R"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Collapse image Смотрите также

Справочное руководство

Процедура библиотеки API _ALen( )
Процедура библиотеки API _FindVar( )
Процедура библиотеки API _Load( )
Процедура библиотеки API _NameTableIndex( )
Процедура библиотеки API _NewVar( )
Процедура библиотеки API _ObjectRelease( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_StrCmp( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _StrCmp( )
Смотрите также Пример
CollapseAll image

Сравнивает по байтам две строки, заканчивающиеся нуль-символами, начиная с самого левого байта.

int _StrCmp(char FAR *string1, char FAR *string2)
char FAR *string1;         /* Первая сравниваемая строка. */
char FAR *string2;         /* Вторая сравниваемая строка. */

Expand image Примечания

_StrCmp( ) возвращает 0, если строки string1 и string2 совпадают; если значение первого несовпавшего байта строки string1 больше значения соответствующего байта строки string2, возвращается положительное число; если значение первого несовпавшего байта строки string1 меньше значения соответствующего байта строки string2, возвращается отрицательное число.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _StrCmp( ) сравнивает две строки, переданные в качестве параметров.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO STRCMP
? STRCMP("Hello, world.", "Hello, world.")  && matches; returns 0
? STRCMP("Hello, world.", "Hello, wurld.")  && no match; returns non-0

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
   {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   int RetValue;

   NullTerminate(&parm->p[0].val);
   NullTerminate(&parm->p[1].val);

   _HLock(parm->p[0].val.ev_handle);
   _HLock(parm->p[1].val.ev_handle);

   RetValue = _StrCmp(_HandToPtr(parm->p[0].val.ev_handle),
      _HandToPtr(parm->p[1].val.ev_handle));

   _RetInt(RetValue, 10); // does return control here

   _HUnLock(parm->p[0].val.ev_handle);
   _HUnLock(parm->p[1].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"STRCMP", (FPFI) Example, 2, "C,C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _StrCpy( )
Процедура библиотеки API _StrLen( )
Процедура библиотеки API _PutStr( )
Процедура библиотеки API _WPutStr( )
Процедура библиотеки API _SetHandSize( )
Процедуры манипуляции строками

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_StrCpy( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _StrCpy( )
Смотрите также Пример
CollapseAll image

Копирует строку, заканчивающуюся нуль-символом, из src в dest.

void _StrCpy(char FAR *dest, char FAR *src)
char FAR *dest;            /* Область назначения. */
char FAR *src;               /* Область источника. */

Collapse image Примечания

_StrCpy( ) не поддерживает пересылку с перекрытием. Перекрытие имеет место, когда src и dest имеют общие байты. Если вам нужно выполнить пересылку с перекрытием, используйте _MemMove( ).

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Collapse image Пример

В следующем примере передается массив Visual FoxPro символьного типа. Затем второй элемент массива заменяется с помощью _Store( ).

Прежде чем вызвать функцию MYFUNC( ), код Visual FoxPro данного примера создает массив и инициализирует его значением символьного типа. MYFUNC( ) передает этот массив по ссылке.

Collapse image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO STRCPY
? STRCPY("Hello", " world")   && returns "Hello world"

Collapse image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define p0 (parm->p[0].val)
#define p1 (parm->p[1].val)

   if (!_SetHandSize(p0.ev_handle, p0.ev_length + p1.ev_length))
      _Error(182); // "Insufficient memory"
   _HLock(p0.ev_handle);
   _HLock(p1.ev_handle);
   ((char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

   _StrCpy((char FAR *) _HandToPtr(p0.ev_handle) + p0.ev_length,
      _HandToPtr(p1.ev_handle));

   _RetChar(_HandToPtr(p0.ev_handle));
   _HUnLock(p0.ev_handle);
   _HUnLock(p1.ev_handle);
}
FoxInfo myFoxInfo[] = {
   {"STRCPY", (FPFI) Example, 2, "C,C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Collapse image Смотрите также

Справочное руководство

Процедура библиотеки API _StrCmp( )
Процедура библиотеки API _StrLen( )
Процедуры манипуляции со строками
Процедура библиотеки API _PutStr( )
Процедура библиотеки API _WPutStr( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_StrLen( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _StrLen( )
Смотрите также Пример
CollapseAll image

Возвращает длину (в байтах) заданной строки, оканчивающейся нуль-символом.

int _StrLen(char FAR *string)
char FAR *string;            /* Измеряемая строка. */

Collapse image Пример

Следующий пример аналогичен функции Visual FoxPro LEN( ), но он не обрабатывает строки с внутренними символами '\0'.

Collapse image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO STRLEN
? STRLEN("Hello") && returns 5

Collapse image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void NullTerminate(Value FAR *cVal)
{
   if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1)) {
      _Error(182); // "Insufficient memory"
   }
   ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}

FAR Example(ParamBlk FAR *parm)
{
   NullTerminate(&parm->p[0].val);
   _HLock(parm->p[0].val.ev_handle);
   _RetInt(_StrLen(_HandToPtr(parm->p[0].val.ev_handle)), 10);
   _HUnLock(parm->p[0].val.ev_handle);
}

FoxInfo myFoxInfo[] = {
   {"STRLEN", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Collapse image Смотрите также

Справочное руководство

Процедура библиотеки API _StrCmp( )
Процедура библиотеки API _StrCpy( )
Функция LEN( )
Процедуры манипуляции строками

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_UserError( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _UserError( )
Смотрите также Пример
CollapseAll image

Сообщает об ошибке путем выдачи на экран заданного текста message, оканчивающегося нуль-символом.

void _UserError(char FAR *message)
char FAR *message;         /* Сообщение об ошибке. */

Expand image Примечания

Внутренний код Visual FoxPro для данной ошибки равен 98. Код, возвращаемый функцией Visual FoxPro ERROR( ), равен 1098. Функция Visual FoxPro MESSAGE( ) возвращает пользователю заданное вами сообщение message. Управление передается программе обработки ошибок Visual FoxPro и не возвращается.

Note Замечание

Не вызывайте _UserError( ) в процедуре CALLUNLOAD: библиотека из-за вызова _UserError( ) не будет загружена и сообщение не появится на экране.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере вызывается _UserError( ) демонстрируя, что выполнение не возвращается в API-программу после её вызова.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO EXAMPLE
= EXAMPLE()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR UserErrorEx(ParamBlk FAR *parm)
{
   _UserError("This is a _UserError() example.");
   _PutStr("This should never be displayed.");
}

FoxInfo myFoxInfo[] = {
   {"EXAMPLE", (FPFI) UserErrorEx, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _Error( )
Процедура библиотеки API _ErrorInfo( )
Функция ERROR( )
Функция MESSAGE( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WAttr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WAttr( )
Смотрите также Пример
CollapseAll image

Возвращает байт атрибута для заданного индекса цвета в цветовой схеме указанного окна.

int _WAttr(WHANDLE wh, int color)
WHANDLE wh;            /* Дескриптор окна. */
int color;                     /* Индекс цвета. */

Expand image Пример

Следующий пример перебирает все цвета каждой цветовой схемы, показывая на экране соответствующий байт атрибута, возвращаемый _WAttr( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WATTR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR WAttrEx(ParamBlk FAR *parm)
{
   int scheme;
   int color;
   WHANDLE wh;
   int attrib, savePen;

   for (scheme = 0; scheme <= 25; scheme++)
   {
      wh = _WOpen(2, 10, 23, 70, WEVENT, scheme, (Scheme FAR *) 0,
         WO_SYSTEMBORDER);

      for (color = WA_NORMAL; color <= WA_ISSHADOW; color++)
      {
         attrib  = _WAttr(wh, color);
         savePen = _WAttr(_WGetPort(), WA_PENCOLOR);

         _WSetAttr(_WGetPort(), WA_PENCOLOR, attrib);

         _PutStr("\nScheme:"); putLong(scheme, 5);
         _PutStr("; Color:"); putLong(color, 5);
         _PutStr("; Attribute byte:"); putLong(attrib, 5);

         _WSetAttr(_WGetPort(), WA_PENCOLOR, savePen);
      }
      _WClose(wh);
      _Execute("WAIT");
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WAttrEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Задачи

Пример изменения атребутов шрифта

Справочное руководство

Процедура библиотеки API _WSetAttr( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WBottom( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WBottom( )
Смотрите также Пример
CollapseAll image

Возвращает номер строки экрана, по которой проходит основание заданного окна.

unsigned int _WBottom(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

Следующий пример отображает позицию активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WBOTTOM
= WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTop(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeft(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottom(wh), 5);
   _PutStr("\nright  ="); putLong(_WRight(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WHeight( )
Процедура библиотеки API _WLeft( )
Процедура библиотеки API _WRight( )
Процедура библиотеки API _WTop( )
Процедура библиотеки API _WWidth( )
Процедура библиотеки API _WBottomP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WBottomP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WBottomP( )
Смотрите также Пример
CollapseAll image

Возвращает выраженную в пикселях позицию основания заданного окна на экране.

unsigned int _WBottomP(WHANDLE wh)
WHANDLE wh;            /* Window handle. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример отображает позицию активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WBOTTOM
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTopP(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeftP(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottomP(wh), 5);
   _PutStr("\nright  ="); putLong(_WRightP(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WHeightP( )
Процедура библиотеки API _WLeftP( )
Процедура библиотеки API _WRightP( )
Процедура библиотеки API _WTopP( )
Процедура библиотеки API _WWidthP( )
Процедура библиотеки API _WBottom( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WClear( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WClear( )
Смотрите также Пример
CollapseAll image

Стирает содержимое заданного окна, устанавливая в области содержания цвет фона, принимаемый по умолчанию.

void _WClear(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Логическая позиция курсора не изменяется.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно, которое заполняется буквами X. Когда пользователь нажимает клавишу в ответ на команду Visual FoxPro WAIT, _WClear( ) очищает окно

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WCLEAR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WClearEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   int row, col;

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (row = 0; row < _WHeight(wh); row++)
   {
      for (col = 0; col < _WWidth(wh); col++)
      {
         _WPutChr(wh, 'X');
      }
      _WPutChr(wh, '\n');
   }
   _Execute("WAIT WINDOW 'Press any key to clear window'");
   _WClear(wh);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WClearEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClearRect( )
Процедура библиотеки API _WClearRectP( )
Команда WAIT

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WClearRect( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WClearRect( )
Смотрите также Пример
CollapseAll image

Стирает содержимое заданной прямоугольной области указанного окна, устанавливая в ней цвет фона, принимаемый по умолчанию.

void _WClearRect(WHANDLE wh, Rect r)
WHANDLE wh;            /* Дескриптор окна. */
Rect r;                     /* Очищаемый прямоугольник. */

Expand image Примечания

Позиция вывода не изменяется.

Прямоугольная область простирается от координат левого верхнего угла до координат правого нижнего угла, не включая их. Это значит, что вам следует объявить координаты правого нижнего угла на единицу большими по сравнению с координатами, определяемыми предполагаемым размером прямоугольника.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно, заполняемое буквами X. Когда в ответ на команду Visual FoxPro WAIT пользователь нажимает клавишу, _WClearRect( ) очищает прямоугольную область в окне.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WCLRECT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WClearEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   int row, col;
   Rect r;

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (row = 0; row < _WHeight(wh); row++)
   {
      for (col = 0; col < _WWidth(wh); col++)
      {
         _WPutChr(wh, 'X');
      }
   }
   _Execute("WAIT WINDOW 'Press any key to clear window rectangle'");

   r.top    = 2;W
   r.left    = 2;
   r.bottom = 15;
   r.right  = 65;

   _WClearRect(wh, r);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WClearEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClear( )
Команда WAIT
Процедура библиотеки API _WClearRectP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WClearRectP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WClearRectP( )
Смотрите также Пример
CollapseAll image

Стирает содержимое заданной прямоугольной области указанного окна, устанавливая в ней цвет фона, принимаемый по умолчанию.

void _WClearRectP(WHANDLE wh, Rect r)
WHANDLE wh;            /* Дескриптор окна. */
Rect r;                     /* Очищаемый прямоугольник. */

Expand image Примечания

Прямоугольная область задается в пикселях. Позиция вывода не изменяется.

Прямоугольная область простирается от позиции левого верхнего угла до позиции правого нижнего угла, не включая последнюю. Это значит, что вам следует объявить позиции правой и нижней сторон на один пиксель большими по сравнению с позициями, определяемыми предполагаемым размером прямоугольника.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно, заполняемое буквами X. Когда пользователь нажимает клавишу в ответ на команду Visual FoxPro WAIT, _WClearRectP( ) очищает прямоугольную область в окне.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WCLRECTP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WClearEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   int row, col;
   Rect r;

   wh = _WOpen(2, 2, 20, 70, CLOSE, WINDOW_SCHEME, (Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (row = 0; row < _WHeight(wh); row++)
   {
      for (col = 0; col < _WWidth(wh); col++)
      {
         _WPutChr(wh, 'X');
      }
   }
   _Execute("WAIT WINDOW 'Press any key to clear window rectangle'");

   r.top    = 20;
   r.left    = 20;
   r.bottom = 100;
   r.right  = 300;

   _WClearRectP(wh, r);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", WClearEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClear( )
Команда WAIT
Процедура библиотеки API _WClearRect( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WClose( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WClose( )
Смотрите также Пример
CollapseAll image

Закрывает заданное окно и освобождает всю связанную с ним память.

void _WClose(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Если окно отображается на экране, _WClose( ) убирает его с экрана.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro..

Expand image Пример

В следующем примере создается и отображается окно. После того как пользователь нажмет клавишу в ответ на команду Visual FoxPro WAIT, _WClose( ) закрывает окно.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WCLOSE

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Ex(ParamBlk FAR *parm)
{
   WHANDLE wh;
   int row, col;
   Rect r;

   wh = _WOpen(2, 2, 20, 70, 0, WINDOW_SCHEME, (Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);
   _Execute("WAIT WINDOW 'Press any key to close window'");
   _WClose(wh);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Ex, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WOpen( )
Команда WAIT

Прочие ресурсы

кции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WFindTitle( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WFindTitle( )
Смотрите также Пример
CollapseAll image

Возвращает дескриптор WHANDLE окна, имеющего заданный заголовок.

WHANDLE _WFindTitle(TEXT *title)
TEXT *title;               /* Заголовок окна. */

Expand image Пример

В следующем примере скрывается окно, заголовок которого передан в качестве аргумента.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WFINDTIT
CREATE TABLE X (X C(10))
BROWSE NOWAIT
SET LIBR TO WFINDTIT
= WHIDE("X")

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR WFindTitleEx(ParamBlk FAR *parm)
{
//   For readability:
#define pTITLE ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pTITLE[parm->p[0].val.ev_length] = '\0';
   wh = _WFindTitle(pTITLE);
   _HUnLock(parm->p[0].val.ev_handle);
   _WHide(wh);
}

FoxInfo myFoxInfo[] = {
   {"WHIDE", (FPFI) WFindTitleEx, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WSetTitle( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _WHide( )
Процедура библиотеки API _WTitle( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WGetCursor( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WGetCursor( )
Смотрите также Пример
CollapseAll image

Возвращает текущую позицию вывода в заданном окне.

Point _WGetCursor(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере создается окно и в нем рисуется диагональный узор из букв X. Программа последовательно устанавливает курсор с помощью _WPosCursor( ) перед каждой записываемой буквой X и получает значение той же позиции с помощью _WGetCursor( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WGETCURS

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point putPos, getPos;

   wh = _WOpen(4,4,20,70,0,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (putPos.v = 2; putPos.v < 14; putPos.v++)
   {
      putPos.h = putPos.v;

      _WPosCursor(wh, putPos);
      getPos = _WGetCursor(wh);
      _WPutChr(wh, 'X');

      _PutStr("\nCursor position:");
      putLong(getPos.v, 5);
      putLong(getPos.h, 5);

      _Execute("WAIT WINDOW");
   }
   _WClose(wh);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WPosCursor( )
Процедура библиотеки API _WGetCursorP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WGetCursorP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WGetCursorP( )
Смотрите также Пример
CollapseAll image

Возвращает текущую позицию вывода (в пикселях) в заданном окне.

Point _WGetCursorP(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно и в нем рисуется диагональный узор из букв X. Программа последовательно устанавливает курсор с помощью _WPosCursorP( ) перед каждой записываемой буквой X и получает значение той же позиции с помощью _WGetCursorP( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WGETCURP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point putPos, getPos;

   wh = _WOpen(4,4,20,70,0,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (putPos.v = 10; putPos.v < 100; putPos.v += 10)
   {
      putPos.h = putPos.v;

      _WPosCursorP(wh, putPos);
      _WPutChr(wh, 'X');

      getPos = _WGetCursorP(wh);

      _PutStr("\nCursor position:");
      putLong(getPos.v, 5);
      putLong(getPos.h, 5);

      _Execute("WAIT");
   }
   _WClose(wh);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WPosCursor( )
Команда SET CURSOR
Процедура библиотеки API _WGetCursor( )
Процедура библиотеки API _WPosCursorP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WGetObjectClientWindow( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WGetObjectClientWindow( )
Смотрите также
CollapseAll image

Возвращает дескриптор клиентского окна, в котором содержится указанный объект.

WHANDLE _WGetObjectClientWindow(Value FAR *objct)

Expand image Примечания

Используйте Процедуру библиотеки API _WhToHwnd( ) чтобы преобразовать WHANDLE в Windows HWND.

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WGetObjectWindow( )
Процедура библиотеки API _WGetPort( )
Процедура библиотеки API _GetObjectProperty( )
Функция GETOBJECT( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WGetObjectWindow( ) API Library Routine

Visual FoxPro 9.0 Language Reference
_WGetObjectWindow( ) Подпрограмма библиотеки API
См. также

Возвращает дескриптор окна кадра, в котором содержится заданный объект.

WHANDLE _WGetObjectWindow(Value FAR *objct)

Замечания

Используйте WhToHwnd( ) API Library Routine функцию для конвертации WHANDLE в Windows HWND.

См. также

Другие источники

Подпрограммы библиотеки API
WGetObjectClientWindow( ) Подпрограмма библиотеки API
Доступ к Visual FoxPro API
WGetPort( ) Подпрограмма библиотеки API
GetObjectProperty( ) Подпрограмма библиотеки API
GETOBJECT( ) функция

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


_WGetPort( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WGetPort( )
Смотрите также Пример
CollapseAll image

Возвращает дескриптор WHANDLE окна, которое в данный момент выбрано для пользовательского вывода.

WHANDLE _WGetPort(void any)
void any;                     /* Указатель. */

Expand image Пример

В следующем примере отображается дескриптор окна, возвращаемый процедурой _WGetPort( ) при изменении текущего окна вывода.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WGETPORT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{

   WHANDLE wh;
   WHANDLE oldPort;

   wh = _WOpen(2,10,23,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   _PutStr("\n1) _WGetPort() ="); putLong(_WGetPort(), 10);

   oldPort = _WSetPort(wh);
   _PutStr("\n2) _WSetPort(wh) ="); putLong(oldPort, 10);
   _PutStr("\n3) _WGetPort() ="); putLong(_WGetPort(), 10);

   oldPort = _WSetPort(oldPort);
   _PutStr("\n4) _WSetPort(oldPort) =");  putLong(oldPort, 10);

   _PutStr("\nShould be back where we started.");
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WhToHwnd( )
Процедура библиотеки API _WGetObjectClientWindow( )
Процедура библиотеки API _GetObjectProperty( )
Функция GETOBJECT( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WHeight( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки AP_WHeight( )
Смотрите также Пример
CollapseAll image

Возвращает число строк в области содержания заданного окна.

unsigned int _WHeight(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере на экране показывается высота (в строках) и ширина (в столбцах) активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WHEIGHT
=WDIMEN()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\nheight ="); putLong(_WHeight(wh), 5);
   _PutStr("\nwidth  ="); putLong(_WWidth(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WDIMEN", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottom( )
Процедура библиотеки API _WLeft( )
Процедура библиотеки API _WRight( )
Процедура библиотеки API _WTop( )
Процедура библиотеки API _WWidth( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WHeightP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WHeightP( )
Смотрите также Пример
CollapseAll image

Возвращает высоту (в пикселях) области содержания заданного окна.

unsigned int _WHeightP(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается высота и ширина активного окна в пикселях.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WHEIGHTP
=WDIMEN()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\nheight ="); putLong(_WHeightP(wh), 5);
   _PutStr("\nwidth  ="); putLong(_WWidthP(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WDIMEN", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottomP( )
Процедура библиотеки API _WLeftP( )
Процедура библиотеки API _WRightP( )
Процедура библиотеки API _WTopP( )
Процедура библиотеки API _WWidthP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WHide( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WHide( )
Смотрите также Пример
CollapseAll image

Убирает окно с экрана, сохраняя его содержимое, чтобы окно можно было отобразить вновь.

void _WHide(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере окно, заголовок которого передан в качестве аргумента, скрывается.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WHIDE
CREATE TABLE X (X C(10))
BROWSE NOWAIT
WAIT WINDOW "Press A Key To Hide Window"
SET LIBR TO WFINDTIT
= WHIDE("X")
WAIT WINDOW "Window Is Hidden"

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR Example(ParamBlk FAR *parm)
{
//   For readability---
#define pTITLE ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+ 1))
   {
      _Error(182); // "Insufficient memory"
   }
   _HLock(parm->p[0].val.ev_handle);
   pTITLE[parm->p[0].val.ev_length] = '\0';
   wh = _WFindTitle(pTITLE);
   _HUnLock(parm->p[0].val.ev_handle);
   _WHide(wh);
}
FoxInfo myFoxInfo[] = {
   {"WHIDE", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WShow( )
Команда HIDE WINDOW
Команда SHOW WINDOW

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WhToHwnd( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WhToHwnd( )
Смотрите также Пример
CollapseAll image

Возвращает значение Windows HWND для окна с заданным дескриптором WHANDLE.

HWND_WhToHwnd(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно и для него с помощью _WhToHwnd( ) получается значение Windows HWND. Затем, чтобы проверить правильность возвращенного программой _WhToHwnd( ) значения, оно используется в качестве аргумента функции Windows.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WHTOHWND

Expand image Код C

CopyCode image Copy Code
#include <windows.h>
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR WhToHwndEx(ParamBlk FAR *parm)
{
   RECT Rect;
   HWND hwnd;
   WHANDLE wh;
   Value val;

   wh = _WOpenP(10,10,120,240,CLOSE,WINDOW_SCHEME, (Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

//   Get Windows window handle and use as a parameter
//   to a Windows function
   hwnd = _WhToHwnd(wh);
   GetWindowRect(hwnd, &Rect); // Windows function

   _PutStr("\ntop   ="); putLong(Rect.top, 5);
   _PutStr("\nleft ="); putLong(Rect.left, 5);
   _PutStr("\nbottom ="); putLong(Rect.bottom, 5);
   _PutStr("\nright  ="); putLong(Rect.right, 5);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", WhToHwndEx, CALLONLOAD,  ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WFindTitle( )
Процедура библиотеки API _WOpen( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WLeft( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WLeft( )
Смотрите также Пример
CollapseAll image

Возвращает столбец на экране, по которому проходит левый край заданного окна.

unsigned int _WLeft(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере отображается позиция окна, находящегося на переднем плане.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WLEFT
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTop(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeft(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottom(wh), 5);
   _PutStr("\nright  ="); putLong(_WRight(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottom( )
Процедура библиотеки API _WHeight( )
Процедура библиотеки API _WRight( )
Процедура библиотеки API _WTop( )
Процедура библиотеки API _WWidth( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WLeftP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WLeftP( )
Смотрите также Пример
CollapseAll image

Возвращается позиция в пикселях левого края заданного окна на экране.

unsigned int _WLeftP(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается позиция активного окна в пикселях.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WLEFTP
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTopP(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeftP(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottomP(wh), 5);
   _PutStr("\nright  ="); putLong(_WRightP(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottomP( )
Процедура библиотеки API _WHeightP( )
Процедура библиотеки API _WRightP( )
Процедура библиотеки API _WTopP( )
Процедура библиотеки API _WWidthP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WMainWindow( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WMainWindow( )
Смотрите также Пример
CollapseAll image

Возвращает дескриптор WHANDLE основного окна Visual FoxPro.

WHANDLE _WMainWindow(void any)
void any;                     /* Указатель. */

Expand image Примечания

Используйте Процедуру библиотеки API _WhToHwnd( ) чтобы преобразовать дескриптор WHANDLE в Windows HWND.

Expand image Пример

В следующем примере производится запись сообщения в основное окно Visual FoxPro.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WMAIN
= EXWMAIN()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WMainWindow();
   _WPutStr(wh, "\nThis is the FoxPro main window or desktop.");
}

FoxInfo myFoxInfo[] = {
   {"EXWMAIN", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Задачи

Как: скрыть главное окно системы Visual FoxPro.

Справочное руководство

Процедура библиотеки API _WhToHwnd( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WMove( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WMove( )
Смотрите также Пример
CollapseAll image

Перемещает заданное окно на новое место, указанное параметром pt.

void _WMove(WHANDLE wh, Point pt)
WHANDLE wh;            /* Дескриптор окна. */
Point pt;                     /* Новое местоположение. */

Expand image Примечания

Параметр pt задает позицию левого верхнего угла окна, выраженную в строках и столбцах. В новой позиции окно может частично или полностью оказаться за пределами экрана.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере активное окно перещается по диагонали на 10 строк вниз и на 10 столбцов вправо.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WMOVE
=WMOVE()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR WMoveEx(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();
   Point newPos;

   newPos.v = _WTop(wh)  + 10;
   newPos.h = _WLeft(wh) + 10;

   _WMove(wh, newPos);
}

FoxInfo myFoxInfo[] = {
   {"WMOVE", (FPFI) WMoveEx, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WSize( )
Процедура библиотеки API _WMoveP( )
Процедура библиотеки API _MemMove( )
Команда MOVE WINDOW

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WMoveP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WMoveP( )
Смотрите также Пример
CollapseAll image

Перемещает заданное окно на новое место, указанное параметром pt.

void _WMoveP(WHANDLE wh, Point pt)
WHANDLE wh;            /* Дескриптор окна. */
Point pt;                     /* Новое местоположение. */

Expand image Примечания

Параметр pt задает местоположение левого верхнего угла окна в пикселях. В новой позиции окно может частично или полностью оказаться за пределами экрана.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере окно, находящееся на переднем плане, перемещается по диагонали на 40 пикселей вниз и на 40 пикселей вправо.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WMOVEP
=WMOVEP()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void FAR WMovePEx(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();
   Point newPos;

   newPos.v = _WTopP(wh)  + 40;
   newPos.h = _WLeftP(wh) + 40;

   _WMoveP(wh, newPos);
}

FoxInfo myFoxInfo[] = {
   {"WMOVEP", WMovePEx, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WSizeP( )
Процедура библиотеки API _MemMove( )
Команда MOVE WINDOW

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WOnTop( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WOnTop( )
Смотрите также Пример
CollapseAll image

Возвращает дескриптор WHANDLE активного окна.

WHANDLE _WOnTop(void any)
void any;                     /* Указатель. */

Expand image Примечания

Обычно нажимаемые клавиши относятся к активному окну. Программы-обработчики должны учитывать этот факт.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается информация о позиции активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WONTOP
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}
void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTop(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeft(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottom(wh), 5);
   _PutStr("\nright  ="); putLong(_WRight(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WSendBehind( )
Процедура библиотеки API _WShow( )
Процедура библиотеки API _WTop( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WOpen( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WOpen( )
Смотрите также Пример
CollapseAll image

Создает новое окно с координатами, заданными параметрами top, left, bottom, и right.

WHANDLE _WOpen(int top, int left, int bottom, int right, int flag,
         int scheme_num, Scheme FAR *scheme, char FAR *bord)
int top;                     /* Строка с верхней координатой. */
int left;                     /* Столбец с левой координатой. */
int bottom;                  /* Строка с нижней координатой.  */
int right;                     /* Столбец с правой координатой. */
int flag;                     /* Атрибуты. */
int scheme_num;            /* Цветовая схема. */
Scheme FAR *scheme;      /* Указатель используемой цветовой схемы. */
char FAR *bord;            /* Тип обрамления. */

Expand image Примечания

Координаты окна могут определять позицию вне экрана,но высота не может превышать 120, а ширина 264. Для хранения внеэкранного изображения такого окна выделяется дополнительная память.

Параметр flag определяет атрибуты для данного окна. В flag можно задать одно или несколько значений. Вы можете комбинировать их значение с помощью операторов | или + языка C. Типичные виды обрамления окна определены в файле PRO_EXT.H.

Значение flag | Атрибут окна
WCURSOR | В данном окне можно отображать курсор.
ZOOM | Пользователь может увеличивать окно.
ADJ | Пользователь может регулировать размер окна.
CLOSE | Пользователь может закрывать окно.
MOVE | Пользователь может перемещать окно.
AUTOSCROLL | Содержимое окна прокручивается, когда вывод переходит за последнюю строку.
WEVENT | Окно принимает, активизирует и деактивизирует события.
SHADOW | Окно образует затенение.
WMODAL | Пользователь не может перевести это окно на задний план.
WMINIMIZE | Пользователь может сворачивать данное окно.

В качестве scheme_num m можно задать любой допустимый номер цветовой схемы или - 1 чтобы указать, что параметр scheme задает цветовую схему, которую надлежит использовать.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создаются окна, использующие различные цветовые схемы и обрамления. В частности, обратите внимание на цветовую схему custom.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WOPEN

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;

   Scheme customScheme =
   {
      (char) (BLACK_ON      | WHITE),
      (char) (RED_ON      | BLACK      | BLINK),
      (char) (WHITE_ON      | WHITE      | BRIGHT),
      (char) (CYAN_ON      | BLUE      | BRIGHT),
      (char) (GREEN_ON      | BROWN),
      (char) (BROWN_ON      | BROWN      | BRIGHT),
      (char) (MAGENTA_ON   | MAGENTA   | BRIGHT),
      (char) (RED_ON      | MAGENTA   | BRIGHT | BLINK),
      (char) (BROWN_ON      | GREEN      | BRIGHT),
      (char) (BLACK_ON      | CYAN),
      (char) (BLUE_ON      | CYAN),
   };

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in WINDOW_SCHEME with WO_DOUBLEBOX border'");

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_DOUBLEBOX);
   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in ALERT_SCHEME with WO_SINGLEBOX border'");
   _WClose(wh);

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,ALERT_SCHEME, (Scheme FAR *) 0,
      WO_SINGLEBOX);
   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in WINDOW_SCHEME with WO_PANELBORDER border'");
   _WClose(wh);

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_PANELBORDER);
   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in a custom scheme with WO_SYSTEMBORDER border'");
   _WClose(wh);

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,-1,(Scheme FAR *) customScheme,
      WO_SYSTEMBORDER);
   _WShow(wh);

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClose( )
Процедура библиотеки API _WSelect( )
Процедура библиотеки API _WSetTitle( )
Процедура библиотеки API _WShow( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WOpenP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WOpenP( )
Смотрите также Пример
CollapseAll image

Создает новое окно с координатами, заданными параметрами top, left, bottom, и right.

WHANDLE _WOpenP(int top, int left, int bottom, int right, int flag,
         int scheme_num, Scheme FAR *scheme, char FAR *bord)
int top;                     /*  Координата верхней стороны в пикселях. */
int left;                     /* Координата левой стороны в пикселях. */
int bottom;                  /* Координата нижней стороны в пикселях. */
int right;                     /* Координата правой стороны в пикселях. */
int flag;                     /* Атрибуты. */
int scheme_num;            /* Номер цветовой схемы. */
Scheme FAR *scheme;      /* Указатель используемой цветовой схемы. */
char FAR *bord;            /* Тип обрамления. */

Expand image Примечания

Координаты окна могут определять позицию вне экрана. Для хранения внеэкранного изображения такого окна выделяется дополнительная память.

Параметр flag определяет атрибуты для данного окна. В flag можно задать одно или несколько значений. Вы можете комбинировать эти значение с помощью операторов | или + языка C. Типичные виды обрамления окна определены в файле PRO_EXT.H.

Значение flag | Атрибут окна
WCURSOR | В данном окне можно отображать курсор.
ZOOM | Пользователь может увеличивать окно.
ADJ | Пользователь может регулировать размер окна.
CLOSE | Пользователь может закрывать окно.
MOVE | Пользователь может перемещать окно.
AUTOSCROLL | Содержимое окна прокручивается, когда вывод переходит за последнюю строку.
WEVENT | Окно принимает, активизирует и деактивизирует события.
SHADOW | Окно образует затенение.
WMODAL | Пользователь не может перевести это окно на задний план.
WMINIMIZE | Пользователь может сворачивать данное окно.

В качестве scheme_num можно задать любой допустимый номер цветовой схемы или - 1 чтобы указать, что параметр scheme задает цветовую схему, которую надлежит использовать.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создаются окна, использующие различные цветовые схемы и обрамления. В частности, обратите внимание на схему custom.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WOPENP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;

   char customScheme[12] =
   {
      BLACK_ON      | WHITE,
      RED_ON      | BLACK      | BLINK,
      WHITE_ON      | WHITE      | BRIGHT,
      CYAN_ON      | BLUE      | BRIGHT,
      GREEN_ON      | BROWN,
      BROWN_ON      | BROWN      | BRIGHT,
      MAGENTA_ON   | MAGENTA   | BRIGHT,
      RED_ON      | MAGENTA   | BRIGHT | BLINK,
      BROWN_ON      | GREEN      | BRIGHT,
      BLACK_ON      | CYAN,
      BLUE_ON      | CYAN,
   };

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in WINDOW_SCHEME with WO_DOUBLEBOX border'");

   wh = _WOpenP(10, 10, 160, 320, WEVENT | CLOSE, WINDOW_SCHEME,
      (Scheme FAR *)0, WO_DOUBLEBOX);
   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in ALERT_SCHEME with WO_SINGLEBOX border'");
   _WClose(wh);

   wh = _WOpenP(10, 10, 160, 320, WEVENT | CLOSE, ALERT_SCHEME,
      (Scheme FAR *)0, WO_SINGLEBOX);
   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in WINDOW_SCHEME with WO_PANELBORDER border'");
   _WClose(wh);

   wh = _WOpenP(10, 10, 160, 320, WEVENT | CLOSE, WINDOW_SCHEME,
      (Scheme FAR *)0, WO_PANELBORDER);
   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to see a window \
      in a custom scheme with WO_SYSTEMBORDER border'");
   _WClose(wh);

   wh = _WOpenP(10,10,160,320,WEVENT | CLOSE,-1,customScheme,
      WO_SYSTEMBORDER);
   _WShow(wh);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClose( )
Процедура библиотеки API _WSelect( )
Процедура библиотеки API _WSetTitle( )
Процедура библиотеки API _WShow( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WPosCursor( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WPosCursor( )
Смотрите также Пример
CollapseAll image

Устанавливает позицию вывода в заданном окне в точке pt, координаты которой выражены в строках и столбцах.

void _WPosCursor(WHANDLE wh, Point pt)
WHANDLE wh;            /* Дескриптор окна. */
Point pt;                     /* Местоположение позиции вывода. */

Expand image Remarks

_WPosCursor( ) не делает курсор видимым. Обычно он становится видимым, только когда Visual FoxPro ждет ввода.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно и в нем рисуется диагональный узор из букв X. Программа последовательно устанавливает курсор с помощью _WPosCursor( ) перед каждой записываемой буквой X и получает значение той же позиции с помощью _WGetCursor( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WPOSCUR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point putPos, getPos;

   wh = _WOpen(4,4,20,70,0,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (putPos.v = 2; putPos.v < 14; putPos.v++)
   {
      putPos.h = putPos.v;

      _WPosCursor(wh, putPos);
      _WPutChr(wh, 'X');

      getPos = _WGetCursor(wh);

      _PutStr("\nCursor position:");
      putLong(getPos.v, 5);
      putLong(getPos.h, 5);

      _Execute("WAIT");
   }
   _WClose(wh);
}
FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WGetCursor( )
Процедура библиотеки API _WPosCursorP( )
Процедура библиотеки API _WPutChr( )
Процедура библиотеки API _WPutStr( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WPosCursorP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WPosCursorP( )
Смотрите также Пример
CollapseAll image

Устанавливает позицию вывода в заданном окне в точке pt, координаты которой выражены в пикселях.

void _WPosCursorP(WHANDLE wh, Point pt)
WHANDLE wh;            /* Дескриптор окна. */
Point pt;                     /* Местоположение позиции вывода. */

Expand image Примечания

_WPosCursor( ) не делает курсор видимым. Обычно он становится видимым, только когда Visual FoxPro ждет ввода.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно и в нем рисуется диагональный узор из букв X. Программа последовательно устанавливает курсор с помощью _WPosCursorP( ) перед каждой записываемой буквой X и получает значение той же позиции с помощью _WGetCursorP( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WPOSCURP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}
FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point putPos, getPos;

   wh = _WOpen(4,4,20,70,0,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (putPos.v = 10; putPos.v < 100; putPos.v += 10)
   {
      putPos.h = putPos.v;

      _WPosCursorP(wh, putPos);
      _WPutChr(wh, 'X');

      getPos = _WGetCursorP(wh);

      _PutStr("\nCursor position:");
      putLong(getPos.v, 5);
      putLong(getPos.h, 5);

      _Execute("WAIT");
   }
   _WClose(wh);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WGetCursorP( )
Процедура библиотеки API _WPosCursor( )
Процедура библиотеки API _WPutChr( )
Процедура библиотеки API _WPutStr( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WPutChr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WPutChr( )
Смотрите также Пример
CollapseAll image

Отображает символ char в позиции вывода заданного окна, используя текущий цвет.

void _WPutChr(WHANDLE wh, int char)
WHANDLE wh;            /* Дескриптор окна. */
int char;                     /* Отображаемый символ. */

Expand image Примечания

Специальные символы, такие как новая строка, возврат каретки, звонок (bell) рассматриваются как управляющие символы и не отображаются на экране.

Чтобы отобразить символ, соответствующий какому-либо из этих управляющих символов, добавьте 256 к значению символа.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере программа _WPutChr( ) используется для отображения всех 8-разрядных значений в новом окне.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WPUTCHR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int i;
   WHANDLE wh;

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (i = 0; i < 256; i++)
      _WPutChr(wh, i);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WPutStr( )
Процедура библиотеки API _WGetCursorP( )
Процедура библиотеки API _WPosCursorP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WPutStr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WPutStr( )
Смотрите также Пример
CollapseAll image

Отображает строку, оканчивающуюся нуль-символом, в позиции вывода заданного окна, используя текущий цвет.

void _WPutStr(WHANDLE wh, char FAR *theStr)
WHANDLE wh;            /* Дескриптор окна. */
char FAR *theStr;               /* Отображаемая строка. */

Expand image Примечания

В окнах, в которых не установлен атрибут AUTOSCROLL, вывод, обычно вызывающий прокручивание содержимого окна, может привести к непредсказуемым результатам.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере _WPutStr( ) отображает в новом окне строку, содержащую все 8-разрядные значения (за исключением '\0').

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WPUTSTR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int i;
   WHANDLE wh;
   char String[256];

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   for (i = 0; i < 255; i++)
      String[i] = i + 1;
   String[255] = '\0';
   _WPutStr(wh, String);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WPutChr( )
Процедура библиотеки API _WGetCursorP( )
Процедура библиотеки API _WPosCursorP( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WRight( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WRight( )
Смотрите также Пример
CollapseAll image

Возвращает столбец, по которому на экране проходит правый край заданного окна.

unsigned int _WRight(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

Следующий пример показывает позицию окна, находящегося на переднем плане.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WRIGHT
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTop(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeft(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottom(wh), 5);
   _PutStr("\nright  ="); putLong(_WRight(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottom( )
Процедура библиотеки API _WHeight( )
Процедура библиотеки API _WLeft( )
Процедура библиотеки API _WTop( )
Процедура библиотеки API _WWidth( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WRightP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WRightP( )
Смотрите также Пример
CollapseAll image

Возвращает позицию, в пикселях, правого края заданного окна на экране.

unsigned int _WRightP(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается позиция активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WRIGHTP
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTopP(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeftP(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottomP(wh), 5);
   _PutStr("\nright  ="); putLong(_WRightP(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottomP( )
Процедура библиотеки API _WHeightP( )
Процедура библиотеки API _WLeftP( )
Процедура библиотеки API _WTopP( )
Процедура библиотеки API _WWidthP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WScroll( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WScroll( )
Смотрите также Пример
CollapseAll image

Прокручивает часть содержимого окна влево или вправо, а также вверх или вниз.

void _WScroll(WHANDLE wh, Rect r, int dv, int dh)
WHANDLE wh;            /* Дескриптор окна. */
Rect r;                     /* Прокручиваемая область. */
int dv;                        /* Влево или вправо. */
int dh;                     /* Вверх или вниз. */

Expand image Примечания

  • Параметр r описывает область в окне, которую следует прокручивать.

  • Параметр dv задает число символов, на которое окно прокручивается влево или вправо. Если значение dv отрицательно, содержимое окна прокручивается влево. Если dv положительно, содержимое окна прокручивается вправо.

  • Параметр dh задает число символов, на которое окно прокручивается вверх или вниз. Если значение dh отрицательно, содержимое окна прокручивается вверх. Если dh положительно, содержимое окна прокручивается вниз.

Если оба значения dv и dh равны 0, _WScroll( ) стирает символы, находящиеся внутри заданного прямоугольника.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается окно и в нем рисуется прямоугольный узор из букв X. Этот прямоугольник также служит прокручиваемой областью. Сначала прямоугольник прокручивается на две позиции вверх и на две позиции влево. Затем он прокручивается на четыре позиции вниз и на четыре позиции вправо.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSCROLL

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WScrollEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point pos;
   Rect rect;

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   rect.top   = 6;
   rect.left   = 6;
   rect.bottom = 12;
   rect.right   = 12;

   for (pos.v = rect.top; pos.v < rect.bottom; pos.v++)
   {
      for (pos.h = rect.left; pos.h < rect.right; pos.h++)
      {
         _WPosCursor(wh, pos);
         _WPutChr(wh, 'X');
      }
   }
   _Execute("WAIT WINDOW 'Press any key to _WScroll(wh,rect,-2,-2)'");
   _WScroll(wh, rect, -2, -2);
   _Execute("WAIT WINDOW 'Press any key to _WScroll(wh,rect,+4,+4)'");
   _WScroll(wh, rect, +4, +4);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WScrollEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClear( )
Процедура библиотеки API _WScrollP( )
Процедура библиотеки API _WPosCursor( )
Процедура библиотеки API _WPutChr( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WScrollP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WScrollP( )
Смотрите также Пример
CollapseAll image

Прокручивает часть содержимого окна влево или вправо, а также вверх или вниз.

void _WScrollP(WHANDLE wh, Rect r, int dv, int dh)
WHANDLE wh;            /* Дескриптор окна. */
Rect r;                     /* Прокручиваемая область. */
int dv;                        /* Влево или вправо. */
int dh;                     /* Вверх или вниз. */

Expand image Примечания

  • Параметр r описывает область в окне, которая подлежит прокручиванию.

  • Параметр dv задает число пикселей, на которое окно прокручивается влево или вправо. Если значение dv отрицательно, содержимое окна прокручивается влево. Если dv положительно, содержимое окна прокручивается вправо.

  • Параметр dh задает число пикселей, на которое окно прокручивается вверх или вниз. Если значение dh отрицательно, содержимое окна прокручивается вверх. Если dh положительно, содержимое окна прокручивается вниз.

Если оба значения dv и dh равны 0, _WScrollP( ) стирает символы, находящиеся внутри заданного прямоугольника.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере открывается окно и в нем рисуется прямоугольный узор из букв X. Этот прямоугольник также служит прокручиваемой областью. Сначала _WScrollP( ) прокручивает прямоугольник вверх и влево, а затем - вниз и вправо.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSCROLLP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WScrollEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point pos;
   Rect rect;

   wh = _WOpenP(2, 2, 160, 320, WEVENT | CLOSE, WINDOW_SCHEME,
      (char *) 0, WO_SYSTEMBORDER);

  _WShow(wh);

   rect.top   = 40;
   rect.left   = 40;
   rect.bottom = 100;
   rect.right   = 100;

   for (pos.v = rect.top; pos.v < rect.bottom; pos.v += 6)
   {
      for (pos.h = rect.left; pos.h < rect.right; pos.h +=6)
      {
         _WPosCursorP(wh, pos);
    _WPutChr(wh, 'X');
      }
   }
   _Execute("WAIT 'Press any key to _WScroll(wh, rect, -20, -20)'");
   _WScrollP(wh, rect, -20, -20);
   _Execute("WAIT 'Press any key to _WScroll(wh, rect, +40, +40)'");
   _WScrollP(wh, rect, +40, +40);
}

FoxInfo myFoxInfo[] =
{
   {"ONLOAD", WScrollEx, CALLONLOAD, ""},
};

FoxTable _FoxTable =
{
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClear( )
Процедура библиотеки API _WPosCursor( )
Процедура библиотеки API _WPutChr( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WSelect( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSelect( )
Смотрите также Пример
CollapseAll image

Переводит заданное окно в активную позицию экрана.

void _WSelect(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере создаются пять перекрывающих друг друга окон. Затем все они, начиная с созданного первым, по очереди переводятся на передний план с помощью _WSelect( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSELECT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WSelectEx(ParamBlk FAR *parm)
{
   WHANDLE wh[5];
   int i;

   for (i = 0; i < 5; i++)
   {
      wh[i] = _WOpen(4 + 2*i,4 + 2*i,12 + 2*i,40 + 2*i,WEVENT | CLOSE,
         WINDOW_SCHEME, (Scheme FAR *) 0, WO_SYSTEMBORDER);
      _WShow(wh[i]);
   }
   for (i = 0; i < 5; i++)
   {
      _Execute("WAIT WINDOW 'Press key to _WSelect() next window'");
      _WSelect(wh[i]);
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WSelectEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WOnTop( )
Процедура библиотеки API _WShow( )
Процедура библиотеки API _WOpen( )
Процедура библиотеки API _Execute( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WSendBehind( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSendBehind()
Смотрите также Пример
CollapseAll image

Посылает указанное окно в позицию позади всех остальных окон.

void _WSendBehind(WHANDLE wh)
WHANDLE wh;            /* Window handle. */

Expand image Пример

Приведенный ниже пример создает пять перекрывающихся окон. _WSendBehind() посылает каждое окно на самую дальнюю позицию, начиная с последнего созданного окна.

Expand image Код Visual FoxPro

CopyCode image Скопировать код
SET LIBRARY TO WSENDBEH

Expand image Код C

CopyCode image Скопировать код
#include <pro_ext.h>

FAR WSendBehindEx(ParamBlk FAR *parm)
{
   WHANDLE wh[5];
   int i;

   for (i = 0; i < 5; i++)
   {
      wh[i] = _WOpen(4 + 2*i,4 + 2*i,12 + 2*i,40 + 2*i,WEVENT | CLOSE,
         WINDOW_SCHEME, (Scheme FAR *) 0, WO_SYSTEMBORDER);
      _WShow(wh[i]);
   }
   for (i = 4; i >= 0; i--)
   {
      _Execute("WAIT WINDOW 'Нажмите клавишу для следующего окна _WSendBehind()'");
      _WSendBehind(wh[i]);
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WSendBehindEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WOnTop()
Процедура библиотеки API _WSelect()
Процедура библиотеки API _WShow()
Процедура библиотеки API _Execute()

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


_WSetAttr( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSetAttr( )
Смотрите также Пример
CollapseAll image

Заменяет атрибут, соответствующий заданному индексу цветовой схемы color указанного окна, новым атрибутом attr.

void _WSetAttr(WHANDLE wh, int color, int attr)
WHANDLE wh;            /* Дескриптор окна. */
int color;                     /* Цветовая схема. */
int attr;                     /* Атрибут. */

Expand image Пример

В следующем примере перебираются все цвета всех цветовых схем и с помощью _WSetAttr( ) каждый раз устанавливается цвет символов, а затем на экране этим цветом отображается фрагмент текста.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSETATTR

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR WAttrEx(ParamBlk FAR *parm)
{
   int scheme;
   int color;
   WHANDLE wh;
   int attrib, savePen;

   for (scheme = 0; scheme <= 25; scheme++)
   {
      wh = _WOpen(2,10,23,70,WEVENT,scheme,(Scheme FAR *)0,
         WO_SYSTEMBORDER);

      for (color = WA_NORMAL; color <= WA_ISSHADOW; color++)
      {
         attrib  = _WAttr(wh, color);
         savePen = _WAttr(_WGetPort(), WA_PENCOLOR);

         _WSetAttr(_WGetPort(), WA_PENCOLOR, attrib);

         _PutStr("\nScheme:"); putLong(scheme, 5);
         _PutStr("; Color:"); putLong(color, 5);
         _PutStr("; Attribute byte:"); putLong(attrib, 5);

         _WSetAttr(_WGetPort(), WA_PENCOLOR, savePen);
      }
      _WClose(wh);
      _Execute("WAIT");
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WAttrEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WClear( )
Процедура библиотеки API _WClearRect( )
Процедура библиотеки API _WAttr( )
Процедура библиотеки API _PutStr( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WSetPort( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSetPort( )
Смотрите также Пример
CollapseAll image

Заменяет окно пользовательского вывода заданным окном.

WHANDLE _WSetPort(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

_WSetPort( ) возвращает дескриптор предыдущего окна пользовательского вывода.

Note Замечание

Если вы в программе меняете окно пользовательского вывода, не забудьте перед возвратом в Visual FoxPro восстановить исходное окно.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно, которое принимается в качестве окна вывода. Программа записывает в него текст, а затем переключается на первоначальное окно вывода.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSETPORT

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR Example(ParamBlk FAR *parm)
{

   WHANDLE wh;
   WHANDLE oldPort;

   wh = _WOpen(2,10,23,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   _PutStr("\n1) _WGetPort() ="); putLong(_WGetPort(), 10);

   oldPort = _WSetPort(wh);
   _PutStr("\n2) _WSetPort(wh) ="); putLong(oldPort, 10);

   _PutStr("\n3) _WGetPort() ="); putLong(_WGetPort(), 10);

   oldPort = _WSetPort(oldPort);
   _PutStr("\n4) _WSetPort(oldPort) =");  putLong(oldPort, 10);

   _PutStr("\nShould be back where we started.");
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WGetPort( )
Процедура библиотеки API _PutStr( )
Процедура библиотеки API _WShow( )

Прочие ресурсы

Конструкции библиотеки API
Ввод и Вывод (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WSetTitle( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSetTitle( )
Смотрите также Пример
CollapseAll image

Заменяет заголовок заданного окна текстом title.

void _WSetTitle(WHANDLE wh, char FAR *title)
WHANDLE wh;            /* Дескриптор окна. */
char FAR *title;            /* Заголовок окна. */

Expand image Примечания

Чтобы убрать из окна заголовок, передайте в качестве нового заголовка значение (char FAR *)0.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно, для которого определяется текст заголовка с помощью _WSetTitle( ).

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSETTITL

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   char FAR *buffer;

   wh = _WOpen(4,4,20,70,CLOSE | WEVENT,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);

   _WSetTitle(wh, "This is a window title");

   _WShow(wh);

   if ((buffer = _Alloca(128)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _WTitle(wh, buffer);

   _PutStr("\nThe window title is \"");
   _PutStr(buffer);
   _PutChr('"');

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WFindTitle( )
Процедура библиотеки API _WTitle( )
Процедура библиотеки API _WShow( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WShow( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WShow( )
Смотрите также Пример
CollapseAll image

Отображает на экране скрытое окно.

void _WShow(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Когда вы создали окно, по умолчанию оно останется скрытым до тех пор, пока вы с помощью _WShow( ) не сделаете его видимым.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

Следующий пример содержит две процедуры API. WINOPEN( ) открывает окно, но не вызывает _WShow( ), чтобы вы увидели, что окно до вызова _WShow( ) остается скрытым.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSHOW
wh = WOPEN()
= WSHOW(wh)

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WOpen(ParamBlk FAR *parm)
{
   _RetInt(_WOpen(2, 2, 20, 70, WEVENT | CLOSE, WINDOW_SCHEME,
      (Scheme FAR *) 0, WO_SYSTEMBORDER), 10);
}

FAR WShow(ParamBlk FAR *parm)
{
   _WShow(parm->p[0].val.ev_long);
}

FoxInfo myFoxInfo[] = {
   {"WOPEN", (FPFI) WOpen, 0, ""},
   {"WSHOW", (FPFI) WShow, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WHide( )
Процедура библиотеки API _WOpen( )
Процедура библиотеки API _WSelect( )
Процедура библиотеки API _WOpen( )

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WSize( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSize( )
Смотрите также Пример
CollapseAll image

Устанавливает высоту и ширину заданного окна согласно значениям h и v в параметре pt.

void _WSize(WHANDLE wh, Point pt)
WHANDLE wh;            /* Дескриптор окна. */
Point pt;                     /* Позиция. */

Expand image Пример

В следующем примере создается окно, а затем его ширина и высота увеличиваются.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSIZE

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WSizeEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point dim;

   wh = _WOpen(2,2,10,10,CLOSE | WEVENT,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   dim.v = 8;

//   Grow in width
   for (dim.h = 8; dim.h < 60; dim.h += 4)
   {
      _WSize(wh, dim);
      _Execute("WAIT WINDOW 'Press Any Key To Change Size'");
   }

//   Grow in height
   for (dim.v = 8; dim.v < 20; dim.v += 2)
   {
      _WSize(wh, dim);
      _Execute("WAIT WINDOW 'Press Any Key To Change Size'");
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WSizeEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WMove( )
Процедура библиотеки API _WSizeP( )
Процедура библиотеки API _WShow( )
Процедура библиотеки API _Execute( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WSizeP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WSizeP( )
Смотрите также Пример
CollapseAll image

Устанавливает новую высоту и ширину заданного окна в пикселях согласно значениям h и v параметра pt.

void _WSizeP(WHANDLE wh, Point pt)
WHANDLE wh;            /* Дескриптор окна. */
Point pt;                     /* Позиция. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается окно, увеличивается его ширина, а после нее - высота.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WSIZEP

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR WSizeEx(ParamBlk FAR *parm)
{
   WHANDLE wh;
   Point dim;

   wh = _WOpenP(6,6,20,20,CLOSE | WEVENT,WINDOW_SCHEME,(Scheme FAR *)0,
      WO_SYSTEMBORDER);
   _WShow(wh);

   dim.v = 14;

//   Grow in width
   for (dim.h = 14; dim.h < 480; dim.h += 40)
   {
      _WSizeP(wh, dim);
      _Execute("WAIT");
   }

//   Grow in height
   for (dim.v = 14; dim.v < 240; dim.v += 40)
   {
      _WSizeP(wh, dim);
      _Execute("WAIT WINDOW 'Press Any Key To Change Window Size'");
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", WSizeEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottomP( )
Процедура библиотеки API _WLeftP( )
Процедура библиотеки API _WRightP( )
Процедура библиотеки API _WTopP( )
Процедура библиотеки API _WSize( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WTitle( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WTitle( )
Смотрите также Пример
CollapseAll image

Помещает в заголовок окна с дескриптором wh строку title, оканчивающуюся нуль-символом.

void _WTitle(WHANDLE wh, char FAR *title)
WHANDLE wh;            /* Дескриптор окна. */
char FAR *title;            /* Заголовок окна. */

Expand image Пример

В следующем примере создается и показывается на экране окно, имеющее заголовок. _WTitle( ) извлекают текст заголовка, который затем отображаются на экране.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WTITLE

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   char FAR *buffer;

   wh = _WOpen(4,4,20,70,CLOSE | WEVENT,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);

   _WSetTitle(wh, "This is a window title");

   _WShow(wh);

   if ((buffer = _Alloca(128)) == 0)
   {
      _Error(182); // "Insufficient memory"
   }
   _WTitle(wh, buffer);

   _PutStr("\nThe window title is \"");
   _PutStr(buffer);
   _PutChr('"');
}
FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WSetTitle( )
Процедура библиотеки API _PutStr( )
Процедура библиотеки API _WShow( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WTop( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WTop( )
Смотрите также Пример
CollapseAll image

Возвращает строку на экране, по которой проходит верхняя граница окна.

unsigned int _WTop(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере отображается позиция окна, находящегося на переднем плане.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WTOP
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTop(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeft(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottom(wh), 5);
   _PutStr("\nright  ="); putLong(_WRight(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottom( )
Процедура библиотеки API _WHeight( )
Процедура библиотеки API _WLeft( )
Процедура библиотеки API _WRight( )
Процедура библиотеки API _WWidth( )
Процедура библиотеки API _WTopP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WTopP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WTopP( )
Смотрите также Пример
CollapseAll image

Возвращает позицию, в пикселях, верхней границы окна на экране.

unsigned int _WTopP(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается позиция активного окна, в пикселях.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WTOPP
=WPOSITION()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\ntop   ="); putLong(_WTopP(wh), 5);
   _PutStr("\nleft ="); putLong(_WLeftP(wh), 5);
   _PutStr("\nbottom ="); putLong(_WBottomP(wh), 5);
   _PutStr("\nright  ="); putLong(_WRightP(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WPOSITION", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottomP( )
Процедура библиотеки API _WHeightP( )
Процедура библиотеки API _WLeftP( )
Процедура библиотеки API _WRightP( )
Процедура библиотеки API _WWidthP( )
Процедура библиотеки API _WTop( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WWidth( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WWidth( )
Смотрите также Пример
CollapseAll image

Возвращает число столбцов в области содержания заданного окна.

unsigned int _WWidth(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Пример

В следующем примере на экране показывается высота в строках и ширина в столбцах активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WWIDTH
=WDIMEN()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\nheight ="); putLong(_WHeight(wh), 5);
   _PutStr("\nwidth  ="); putLong(_WWidth(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WDIMEN", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottom( )
Процедура библиотеки API _WHeight( )
Процедура библиотеки API _WLeft( )
Процедура библиотеки API _WRight( )
Процедура библиотеки API _WTop( )
Процедура библиотеки API _WWidthP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WWidthP( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WWidthP( )
Смотрите также Пример
CollapseAll image

Возвращает ширину в пикселях области содержания заданного окна.

unsigned int _WWidthP(WHANDLE wh)
WHANDLE wh;            /* Дескриптор окна. */

Expand image Примечания

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере отображается высота и ширина, в пикселях, активного окна.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WWIDTHP
=WDIMEN()

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

void FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh = _WOnTop();

   _PutStr("\nheight ="); putLong(_WHeightP(wh), 5);
   _PutStr("\nwidth  ="); putLong(_WWidthP(wh), 5);
}

FoxInfo myFoxInfo[] = {
   {"WDIMEN", Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WBottom( )
Процедура библиотеки API _WHeightP( )
Процедура библиотеки API _WLeftP( )
Процедура библиотеки API _WRightP( )
Процедура библиотеки API _WTopP( )

Прочие ресурсы

Конструкции библиотеки API

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


_WZoom( ) API Library Routine

Visual FoxPro 9.0 Справочное руководство по языку
Процедура библиотеки API _WZoom( )
Смотрите также Пример
CollapseAll image

Сворачивает или разворачивает окно или восстанавливает его нормальные размеры.

void _WZoom(WHANDLE wh, int newstate)
WHANDLE wh;            /* Дескриптор окна. */
int newstate;                  /* Требуемое состояние окна. */

Expand image Примечания

В качестве параметра newstate можно задать значения WZ_MINIMIZE, WZ_NORMAL или WZ_MAXIMIZE, которые определены в файле PRO_EXT.H.

Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.

Expand image Пример

В следующем примере создается и отображается окно. Затем для него вызывается процедура _WZoom( ), в которой поочередно используются все допустимые параметры.

Expand image Код Visual FoxPro

CopyCode image Copy Code
SET LIBRARY TO WZOOM

Expand image Код C

CopyCode image Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   WHANDLE wh;
   int row, col;

   wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
      WO_SYSTEMBORDER);

   _WShow(wh);

   _Execute("WAIT WINDOW 'Press any key to minimize window'");
   _WZoom(wh, WZ_MINIMIZED);

   _Execute("WAIT WINDOW 'Press any key to normalize window'");
   _WZoom(wh, WZ_NORMAL);

   _Execute("WAIT WINDOW 'Press any key to maximize window'");
   _WZoom(wh, WZ_MAXIMIZED);

   _Execute("WAIT WINDOW 'Press any key to normalize window'");
   _WZoom(wh, WZ_NORMAL);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Expand image Смотрите также

Справочное руководство

Процедура библиотеки API _WMove( )
Процедура библиотеки API _WSize( )
Процедура библиотеки API _WShow( )
Команда ZOOM WINDOW

Прочие ресурсы

Конструкции библиотеки API
Доступ к API Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


API Library Routines by Category

Visual FoxPro 9.0 Описание Языка
Модули API, по Категориям
Смотрите Также

Отладка модулей API

API модули Среды Данных

API модули Обработки Ошибок

API модули Управления Событиями

API модули Обработки файловых операций (Input-Output)

API модули Управления Памятью

API модули обработки Полей типа MEMO (Input-Output)

API модули обработки конструкций Меню

API модули обслуживания Объектов

API модули для Возврата Результатов в систему Visual FoxPro

API модули Операторов, Команд и Выражений Visual FoxPro

API модули обработки Символьных Строк

API модули обработки Таблиц (Input-Output)

API модули поддержки Текстового Редактора и Элемента ClipBoard

API модули поддержки Переменных и Массивов

API модули поддержки и обработки Окон

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Debugging Routines

Visual FoxPro 9.0 Описание Языка
Отладка программных модулей API
См. Также

Рассматриваемая библиотека API помогает отлаживать внешние библиотеки API.

_BreakPoint( ), библиотека модулей API

Данное Макро устанавливает контрольную точку для отладки прграммных модулей, используется INT 3. Этот механизм помогает отлаживать внешние библиотеки.

См. также

Другие ссылки

Конструкции библиотек API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Environment Routines

Visual FoxPro 9.0 Описание Языка
Программные модули Среды разработки
См. также
CollapseAll image

Представленные API-модули возвращают информацию о среде разработки Visual FoxPro.

_GetAPIHandle( ), Библиотека API-модулей

Возвращает дескриптор (handle) текущей библиотеки .FLL.

Expand image См. также

Другие ссылки

Конструкции библиотек API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Error Handling Routines

Visual FoxPro 9.0 Описание Языка
API-Модули Обработки Ошибок
См. также
CollapseAll image

В представленных разделах рассматриваются модули API (Routines), которые обеспечивают обработку Исключительных Ситуаций (Ошибок), их Категорий и Типов.

_Error( ), модуль API

Генерирует соответствующую Ошибку, номер (внутренний идентификатор) которой передается в параметре code, при выполнении Инструкций системой Visual FoxPro.

_ErrorInfo( ), модуль API

Возвращает внешний номер Ошибки (внешний идентификатор),который соответствует внутреннему Идентификатору Ошибки в параметре code.

_UserError( ), модуль API

Возвращает Базовый Текст Сообщения об Ошибке, является строкой, завершающейся символом .NULL.

Expand image См. также

Другие ссылки

Конструирование Библиотек API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Event Handling Routines

Visual FoxPro 9.0 Справочное руководство
Процедуры обработки ошибок
Смотрите также
CollapseAll image

Перечисленные ниже процедуры API позволяют вам создавать обработчики ошибок и обрабатывать события Visual FoxPro.

_ActivateHandler( ) API Library Routine

Добавляет функцию обработчика в конец списка обработчиков событий.

_ActivateIdle( ) API Library Routine

Добавляет процедур в список процедур, вызываемых в случае, когда Visual FoxPro ожидает ввода пользователя или для события по периоду timeout.

_DeActivateHandler( ) API Library Routine

Удаляет указанный обработчик из списка обработчиков события.

_DeActivateIdle( ) API Library Routine

Удаляет указанную процедуры из незанятого цикла.

_DefaultProcess( ) API Library Routine

Предоставляет обработчку по умолчаню для события, возвращенного функцией _GetNextEvent( ) для случаев, когда событие не требует специальной обработки.

_GetNextEvent( ) API Library Routine

Читает следующее событие в EventRec и возвращает его тип.

_InKey( ) API Library Routine

Возвращает значение следующей клавиши, которая была нажаита в период timeout. Период timeout указывается как число тиков таймера MS-DOS.

_MousePos( ) API Library Routine

Заполняет pt текущей позицией мыши.

_MousePosP( ) API Library Routine

Заполяет pt текущей позицией мыши в пикселях.

Expand image Смотрите также

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


File Input and Output Routines

Visual FoxPro 9.0 Справочное руководство
Подпрограммы файлового ввода/вывода
See Also

Эти API функции позволят вам напрямую создавать и управлять файлами.

_FCHSize( )

Устанавливает размер заданного файла на диске равным указанной величине length. Указанный размер может либо расширить, либо обрезать файл.
_FClose( )

Все буферы, которые были модифицированы за то время, пока данный буфер был открыт, автоматически сбрасываются на диск.
_FCopy( )

Пытается скопировать len байтов из области, имеющей смещение spos в файле-источнике sc, в область, имеющую смещение dpos в файле назначения dc.
_FCreate( )

Назначает канал Visual FoxPro новому файлу.
_FEOF( )

_FEOF( ) возвращает значение "истина" (целое число, отличное от 0), если указатель файла установлен в конце заданного файла; в противном случае возвращается "ложь" (0).
_FError( )

Возвращает номер последней ошибки файловой операции, зафиксированной на каком-либо канале файла.
_FFlush( )

Сбрасывает на диск все модифицированные буферы памяти, относящиеся к заданному файлу.
_FGets( )

Считывает одну строку из заданного файла, начиная с текущей позиции в файле
_FOpen( )

Назначает существующему файлу канал Visual FoxPro.
_FPuts( )

Записывает в файл строку, заканчивающуюся нуль-символом, и ставит после нее пару "возврат каретки"/"перевод строки".
_FRead( )

Копирует из файла в буфер по адресу buffer ровно length байтов.
_FSeek( )

Перемещает указатель файла на новое место, заданное параметрами position и mode.
_FWrite( )

Записывает в файл, заданный параметром chan, ровно length байт из буфера с адресом buffer.

Смотри также

Прочие ресурсы

Создание библиотек API

Перешлите коментарий по этой статье в Microsoft. © Microsoft Corporation. Все права защищены.


Memo Field Input and Output Routines

Visual FoxPro 9.0 Описание Языка
Подпрограммы (API) для Ввода / Вывода данных Полей типа Memo
См. также
CollapseAll image

Рассматриваемые далее подпрограммы API обеспечивают выполнение операций для полей типа MEMO соответствующих Таблиц Visual FoxPro.

_AllocMemo( ) API Library Routine

Предоставляет/выделяет (в байтах) size - область в соответствующем файле MEMO для размещения очередного Блока исходных данных из соответствующего поля Таблицы .DBF.

_FindMemo( ) API Library Routine

Возвращает Адрес начального блока данных соответствующего поля типа MEMO для текущей таблицы .DBF.

_MemoChan( ) API Library Routine

Возвращает соответствующий Канал Visual FoxPro (Channel), для файла типа memo по заданной рабочей области WorkArea.

_MemoSize( ) API Library Routine

Возвращает общую Длину поля типа MEMO, занимаемую в место в соответствующем файле memo.

Expand image См. также

Другие ссылки

Конструкции библиотек API (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Memory Management Routines

Visual FoxPro 9.0 Справочное руководство
Процедуры управления памятью
Смотрите также

Эти процедуры API позволяют вам выделять память для ваших функций API и манипулировать ею.

_Alloca( )

Выделяет блок в стеке для вызываемой процедуры. Память автоматически освобождается по окончании работы процедуры.
_AllocHand( )

Возвращает новый MHANDLE размера hsize. В случае отсутствия достаточного количества памяти для выполения запроса возвращается ноль. Память, выделенная при помощи процедуры _AllocHand( ), не инициализируется.
_FreeHand( )

Освобождает MHANDLE, выделенных ранее при помощи процедур, таких как _AllocHand( ).
_GetHandSize( )

Возвращает число используемых байтов памяти, ассоциированной с MHANDLE.
_HandToPtr( )

Переводит MHANDLE в формат FAR (32-битового) указателя, адресующего память, выделенную для данного MHANDLE.
_HLock( )

Блокирует MHANDLE для предотвращения его перемещения при запросе Visual FoxPro на реорганизацию памяти.
_HUnLock( )

Снимает блокировку с MHANDLE, позволяя Visual FoxPro манипулировать им при реорганизации памяти.
_MemAvail( )

Возвращает True, если можно выделить память для дескриптора размером size байт. В противном случае _MemAvail( ) возвращает False.
_MemCmp( )

Сравнивает два участка памяти длиной length байт каждый.
_MemFill( )

Вставляет в участок памяти, начинающийся по адресу, указанному ptr, length экземпляров байта character.
_MemMove( )

Копирует length байт из src в dest.
_SetHandSize( )

Изменяет размер памяти, выделенной для MHANDLE. Процедура возвращает True, если можно выделить запрашиваемое количество памяти, в противном случае False.

Смотри также

Прочие ресурсы

Конструкции библиотек API

Send comments about this topic to Microsoft. c Microsoft Corporation. All rights reserved.


Menu Routines

Visual FoxPro 9.0 Справочное руководство по языку
Процедуры меню
Смотрите также

Эти процедуры API позволяют вам создавать, манипулировать, и удалять меню.

_ActivateMenu( )

Выводит на экран заданное меню и немедленно возвращает управление в вызываемую процедуру.
_CountItems( )

Возвращает число элементов меню в заданном меню.
_DeActivateMenu( )

Удаляет меню с экрана.
_DisposeItem( )

Удаляет заданный элемент меню из памяти и освобождает всю связанную с ним память.
_DisposeMenu( )

Освобождает заданное меню вместе со всеми его элементами и освобождает всю связанную с этим меню память.
_GetItemCmdKey( )

Копирует отображенную строку быстрой клавиши для заданного элемента меню в буфер, указанный параметром text.
_GetItemId( )

Возвращает идентификатор заданного элемента в указанном меню.
_GetItemSubMenu( )

Возвращает идентификатор подменю, назначенного данному элементу меню.
_GetItemText( )

Копирует текст строки меню или заголовка меню в буфер, указанный параметром text.
_GetNewItemId( )

Возвращает идентификатор, который в данный момент можно использовать для нового элемента указанного меню.
_GetNewMenuId( )

Возвращает идентификатор который можно использования как идентификатор меню.
_MenuId( )

Возвращает идентификатор меню, который соответствует системному литералу для системного меню или заголовка меню.
_MenuInteract( )

Определяет переменные itemid и menuid чтобы указать, какой пункт меню был выбран, если это имело место.
_NewItem( )

Добавляет элемент, заданный идентификатором itemid в меню с идентификатором menuid.
_NewMenu( )

Создает новое меню заданного типа.
_OnSelection( )

Задает программу, которую следует выполнять, когда пользователь выбирает заданные меню и элемент.
_SetItemCmdKey( )

Задает клавишу быстрого вызова для заданного элемента меню, а также отображаемый для этой клавиши текст.
_SetItemSubMenu( )

Назначает подменю заданному элементу меню. С помощью _SetItemSubMenu( ) можно присоединять меню к заголовку меню или подменю к элементу меню.
_SetItemText( )

Изменяет текст, отображаемый для заданного элемента меню. В качестве элемента меню может фигурировать как заголовок меню, так и команда меню.
_SetMenuPoint( )

Задает позицию loc левого верхнего угла меню на экране.
_SetMenuPointP( )

Задает, выраженную в пикселях, позицию loc левого верхнего угла меню на экране.

Смотрите также

Прочие ресурсы

Конструкции библиотеки API

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Object Routines

Visual FoxPro 9.0 Справочник языка
Объектные Программы
См. также

Эти API программы позволяют манипулировать Visual FoxPro объектами и элементами управления.

_FreeObject( )

Удаляет объект из Visual FoxPro API пула данных.
_GetObjectProperty( )

Возвращает значение свойства объекта.
_ObjectCmp( )

Сравнивает свойства двух объектов и возвращает 0 если их свойства и значения этих свойств идентичны
_ObjectReference( )

Увеличивает счетчик ссылок объекта.
_ObjectRelease( )

Уменьшает счетчик ссылок объекта.
_SetObjectProperty( )

Устанавливает свойство для объекта.
_WGetObjectClientWindow( )

Возвращает ссылку на client-окно, в котором содержался указанный объект.
_WGetObjectWindow( )

Возвращает ссылку на frame-окно, в котором содержался указанный объект.

См. также

Ссылки

Конструкция API-библиотеки

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Routines to Return Results to Visual FoxPro

Visual FoxPro 9.0 Справочное руководство по языку
Процедуры для возврата результатов в Visual FoxPro
Смотрите также
CollapseAll image

Перечисленные ниже процедуры API позволяют вам возвращать результаты в Visual FoxPro указанного типа данных.

_RetChar( ) API Library Routine

Устанавливает возвращаемое функцией значение в строку с завершающим нулем (chr(0))-(null-terminated).

_RetCurrency( ) API Library Routine

Устанавливает возвращаемое функцией значение в денежную единицу.

_RetDateStr( ) API Library Routine

Устанавливает возвращаемое функцией значение в дату. Дата указывается в формате mm/dd/year, где год может быть представлен двумя или четырьмя цифрами.

_RetDateTimeStr( ) API Library Routine

Устанавливает возвращаемое функцией значение в дату-время (datetime).

_RetFloat( ) API Library Routine

Устанавливает возвращаемое функцией значение в число с плавающей запятой (float).

_RetInt( ) API Library Routine

Устанавливает возвращаемое функцией значение в челое число.

_RetLogical( ) API Library Routine

Устанавливает возвращаемое функцией значение в логическое значение. В качестве False используется 0, а любое не нулевое значение трактуется как True.

_RetVal( ) API Library Routine

Пересылвает полную структуру Visual FoxPro Value, то есть можно вернуть любой тип данных Visual FoxPro за исключением memo. Вы должны вызывать _RetVal( ) для возврата строки, которая содержит вложенные null-символы.

Expand image Смотрите также

Прочие ресурсы

Структура API Library

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Statement and Expression Routines

Visual FoxPro 9.0 Language Reference
Шаблоны конструкций и выражений
See Also (Смотри также)

Эти шаблоны API позволяют , компилировать и выполнять команды Visual FoxPro.

_Execute( )

Компилирует и выполняет нуль-терминальную строку конструкции, которая находится в параметре stmt.
_Evaluate( )

Компилирует и выполняет выражение Visual FoxPro, содержащееся в expr, возвращая результат в res.

See Also

Другие ресурсы

API Library Construction (Конструкция библиотеки API)

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


String Manipulation Routines

Visual FoxPro 9.0 Описание Языка
Модули манипулирования Строками
См. также
CollapseAll image

Конструкции Модулей API обеспечивают Разработчика функционалом по обработке Символьных Строк.

_StrCmp( ), модуль API

Выполняет сравнение двух Строк, завершающихся символом null.

_StrCpy( ), модуль API

Выполняет Копирование строки src - в строку dest.

_StrLen( ), модуль API

Возвращает длину (в байтах) символьной строки, завершающейся символом Null (null-terminated string).

Expand image См. также

Другие ссылки

Конструкция библиотек API

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Table Input and Output Routines

Visual FoxPro 9.0 Справочное руководство по языку
Подпрограммы для операций с таблицами по вводу и выводу информации
Смотрите также
CollapseAll image

Эти подпрограммы API позволяют вам управлять таблицами Visual FoxPro.

_DBAppend( ) API Library Routine

Пытается вставить новую запись в таблицу в указанной рабочей области.

_DBLock( ) API Library Routine

Пытается заблокировать запись или файл в рабочей области, указанной в параметре рабочей области.

_DBRead( ) API Library Routine

Перемещает текущий указатель записи к указанной записи в указанной workarea.

_DBRecCount( ) API Library Routine

Возвращает общее число записей в таблице, открытой в указанной рабочей области.

_DBRecNo( ) API Library Routine

Возвращает номер текущей записи в таблице в указанной рабочей области.

_DBReplace( ) API Library Routine

Помещает новое значение в поле.

_DBRewind( ) API Library Routine

Выполняет команду GOTO TOP в указанной рабочей области и возвращает полученный при этом номер записи.

_DBSeek( ) API Library Routine

Ищет в индексированной таблице в текущей рабочей области первое соответствие для значения val.

_DBSkip( ) API Library Routine

Выполняет команду SKIP в указанной рабочей области на указанную дистанцию.

_DBStatus( ) API Library Routine

Возвращает статусные флаги для указанной рабочей области.

_DBUnlock( ) API Library Routine

Освобождает все полученные пользователем блокировки записей или файла в рабочей области, указанной в параметре рабочей области.

_DBUnwind( ) API Library Routine

Выполняет команду GOTO BOTTOM в указанной рабочей области и возвращает полученный при этом номер записи.

_DBWrite( ) API Library Routine

Записывает на диск текущую запись в указанной рабочей области и обновляет любые затрагиваемые этим процессом индексы.

Expand image Смотрите также

Прочие ресурсы

API Library Construction

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Text Editor and Clipboard Manipulation Routines

Visual FoxPro 9.0 Справочное руководство по языку
Текстовый редактор и процедуры управления буфером обмена (Clipboard Manipulation Routines)
Смотрите также
CollapseAll image

Перечисленные ниже процедуры API позволяют вам управлять текстовым редактором Visual FoxPro, файлом, открытом в текстовом редакторе и буфером обмена.

_EdActive( ) API Library Routine

Прячет или показывает выбранный диапазон или точку вставки.

_EdCloseFile( ) API Library Routine

Закрывает указанный файл с сохранением бехз запроса, с запросом перед сохранением или сохранением в качестве другого файла.

_EdCopy( ) API Library Routine

Копирует выбранную область в буфер.

_EdCut( ) API Library Routine

Копирует выбранную область в буфер и удаляет ее из редактора.

_EdDelete( ) API Library Routine

Удаляет выбранную область. Если не имеется выборки, удаляет символ в текущей позиции.

_EdGetChar( ) API Library Routine

Забирает символ в EDPOS.

_EdGetEnv( ) API Library Routine

Читает различные установки редактора.

_EdGetLineNum( ) API Library Routine

Возвращает номер строки для позиции в EDPOS.

_EdGetLinePos( ) API Library Routine

Возврашает EDPOS для строки EDLINE.

_EdGetPos( ) API Library Routinee

Возвращает текущий редактор POS или возвращает точку якоря, если имеется выборка.

_EdGetStr( ) API Library Routine

Получает текст между EDPOS и EDPOS включительно и помещает его в TEXT.

_EdIndent( ) API Library Routine

Делает отступ выбранного текста на int tab stops. Int может быть негативным для того, чтобы форматировать обрабатываемый отступ.

_EdInsert( ) API Library Routine

Вставляет BYTES из TEXT.

_EdLastError( ) API Library Routine

Возвращает номер ошибки для последней ошибки редактора.

_EdOpenFile( ) API Library Routine

Начинает сессию редактора на этом файле.

_EdPaste( ) API Library Routine

Копирует текст буфера в редактор в текущей позиции.

_EdPosInView( ) API Library Routine

Возвращает TRUE, если позиция редактора видима.

_EdRedo( ) API Library Routine

Возвращает самый последний откат в прежнее состояние.

_EdRevert( ) API Library Routine

Возвращает к предшествующему состоянию сохраненного файла.

_EdSave( ) API Library Routine

Сохраняет файл без закрытия окна редактора.

_EdScrollToPos( ) API Library Routine

Убеждается, что EDPOS послана на экран, но не смещает точку вставки. BOOL означает центровку EDPOS по вертикали.

_EdScrollToSel( ) API Library Routine

Убеждается, что якор выборки указывает на экран. BOOL означает центровку точки якоря по вертикали.

_EdSelect( ) API Library Routine

Выбирает диапазон от EDPOS до EDPOS. Для перемещения точки вставки, установите оба EDPOS одинаковыми.

_EdSendKey( ) API Library Routine

Симулирует нажатие клавиши, данной через int.

_EdSetEnv( ) API Library Routine

Устанавливает различные установки редактора.

_EdSetPos( ) API Library Routine

Смещает точку вставки, и имеет в качетсве подобчного эффекта то, что снимается выбора с ранее выбранного.

_EdSkipLines( ) API Library Routine

Смещает точку вставки от EDPOS до начала строки int.

_EdUndo( ) API Library Routine

Сбрасывает наиболее последние изменения.

_EdUndoOn( ) API Library Routine

Группирует действия, осуществляемые после того, как _EdUndoOn( ) отправлен до того как, он отправлен заново в виде единичного действия для целей отката.

Expand image Смотрите также

Прочие ресурсы

API Library Constructionn

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Variable and Array Routines

Visual FoxPro 9.0 Описание Языка
API-модули обработки Массивов и Переменных
См. также
CollapseAll image

Представленные далее Модули-API обеспечивают обработку переменных памяти и массивов переменных.

_ALen( ) , модуль библиотеки API

Возвращает информацию о размерности Массива, которая описана в индексной таблице с системным именем (Name Table Index) nti.

_FindVar( ) , модуль библиотеки API

Обеспечивает инициализацию Локатора, как при использовании Модуля _Store( ), для размещения Данных в существующей переменной памяти.

_Load( ) , модуль библиотеки API

Загружает значение переменной памяти или Таблицы переменных, адресуемых локатором loc и размещаемых в параметр val.

_NameTableIndex( ) , модуль библиотеки API

Возвращает имя индексной таблицы (NTI) в соответствие с параметром name, или значение = -1, если данное имя не является именем таблицы (имя отсутствует).

_NewVar( ) , модуль библиотеки API

Создает Переменную памяти или Массив переменных.

_Release( ) , модуль библиотеки API

Освобождает оперативную память, занятую указанной Переменной или массивом Переменных.

_Store( ) , модуль библиотеки API

Размещает Переменную или Массив в оперативной памяти по адресу Локатора loc (конкретное значение, = val).

Expand image См. также

Другие ссылки

Конструкции Библиотеки API

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Window Manipulation Routines

Visual FoxPro 9.0 Справочное руководство по языку
Процедуры манипуляции с окнами
Смотрите также

Эти процедуры API позволяют вам создавать, манипулировать и закрывать окна, а также манипулировать главным окном Visual FoxPro.

_Dialog( )

Отображает диалог с укаазнным номером цветовой схемы и содержащий указанный основной текст и текст кнопок.
_FindWindow( )

Помещает WHANDLE окна, содержащего точку pt в wh.
_FindWindowP( )

Помещает дескриптор окна на экране, содержащего точку pt в wh.
_GlobalToLocal( )

Преобразует координаты точки из координат экрана в координаты окна.
_GlobalToLocalP( )

Преобразует координаты точки из координат экрана в координаты окна, указанные в пикселях.
_PutChr( )

Выводит один символ, указанный параметром char в текущее окно вывода с атрибутом окна(цвет 0).
_PutStr( )

Выводит строку, оканчивающуюся на null, в текущее окно вывода с атрибутом окна (цвет 0).
_PutValue( )

Форматирует значение, указаноне параметром val и выводит его в текущее окно.
_WAttr( )

Возвращает байт атрибута для индекса цвета в указанной цветовой схеме окна.
_WBottom( )

Возвращает номер строки экрана, где находится нижний край окна.
_WBottomP( )

Возвращает в пикселях, положение на экране, где находится нижний край указанного окна.
_WClear( )

Очищает содержимое указанного окна, устанавливая для данной области цвет фона по умолчанию.
_WClearRect( )

Очищает прямоугольную область окна, устанавливая для нее цвет фона по умолчанию.
_WClearRectP( )

Очищает указанную прямоугольную область окна, устанавливая для нее цвет фона по умолчанию.
_WClose( )

Закрывает окно и освобождает всю ассоциированную с ним память.
_WFindTitle( )

Возвращает дескриптор WHANDLE окна, имеющего заданный заголовок.
_WGetCursor( )

Возвращает положение логического курсора в указанном окне.
_WGetCursorP( )

Возвращает в пикселях текущее положение вывода в указанном окне.
_WGetPort( )

Возвращает WHANDLE окна, которое в данный момент является окном вывода пользователя.
_WHeight( )

Возвращает число строк в области содержимого для указанного окна.
_WHeightP( )

Возвращает высоту в пикселях области содержимого для указанного окна.
_WHide( )

Убирает окно с экрана, сохраняя его содержимое, чтобы окно можно было отобразить вновь.
_WLeft( )

Возвращает номер столбца экрана, где находится левый край окна..
_WLeftP( )

Возвращает положение на экране в пикселях места, где находится левый край окна.
_WMainWindow( )

Возвращает WHANDLE главного окна Visual FoxPro.
_WMove( )

Перемещает указанное окно в новую позицию, указанную параметром pt.
_WMoveP( )

Перемещает указанное окно в новую позицию, указанную параметром pt.
_WhToHwnd( )

Передает WHANDLE и возвращает Windows HWND.
_WOnTop( )

Возвращает WHANDLE самого верхнего окна.
_WOpen( )

Создает новое окно с координатами, указанными параметрами top, left, bottom и right.
_WOpenP( )

Создает новое окно с координатами, указанными параметрами top, left, bottom и right.
_WPosCursor( )

Помещает логический курсор приведенного окна в положение, указанное параметром pt.
_WPosCursorP( )

Помещает логический курсор приведенного окна в положение, указанное параметром pt в пикселях.
_WPutChr( )

Выводит символ, указанный параметром char в указанное окно, используя текущий цвет.
_WPutStr( )

Выводит строку, оканчивающуюся на null, в указанное окно, используя текущий цвет.
_WRight( )

Возвращает номер столбца экрана, где находится правый край окна.
_WRightP( )

Возвращает положение на экране в пикселях места, где находится правый край окна.
_WScroll( )

Прокручивает часть содержимого окна влево-вправо или вверх-вниз.
_WScrollP( )

Прокручивает часть содержимого окна влево-вправо или вверх-вниз.
_WSetAttr( )

Устанавливает атрибут для указанного индекса цветовой схемы окна равным значению, указанному параметром attr.
_WSelect( )

Выводит указанное окно поверх всех остальных окон.
_WSendBehind( )

Перемещает указанное окно за все остальными окнами.
_WSetPort( )

Устанавливает, что указанное окно должно быть окном вывода пользователя.
_WSetTitle( )

Устанавливает новый заголовок окна.
_WShow( )

Повторно выводит невидимое окно на экран.
_WSize( )

Устанавливает новые размеры окна по горизонтали и вертикали, указанные переменными h и v в pt.
_WSizeP( )

Устанавливает новые размеры окна по горизонтали и вертикали, указанные переменными h и v в pt.
_WTitle( )

Помещает заголовок окна wh оканчивающийся на null, в title.
_WTop( )

Возвращает номер строки экрана, где находится верхний край окна.
_WTopP( )

Возвращает в пикселях положение на экране места, где находится верхний край окна.
_WWidth( )

Возвращает число столбцов в области содержимого для указанного окна.
_WWidthP( )

Возвращает ширину в пикселях области содержимого для указанного окна.
_WZoom( )

Масштабирует окно.

Смотрите также

Прочие ресурсы

Конструкции библиотеки API

Send comments about this topic to Microsoft. c Microsoft Corporation. All rights reserved.


Visual FoxPro System Events (API Library Construction)

Visual FoxPro 9.0 Справочник Языка
Системные События Visual FoxProа (API Библиотечная Конструкция)
См. Также

В этой таблице, каждое событие Visual FoxPro приводится наряду с полями Записи Событий и описания того, когда событие происходит.

Event | Поля EventRec | Описание
nullEvent | what = nullEvent, где .h = горизонтальное местоположение мыши, где .v = вертикальное местоположение мыши when = импульсы сигнала времени начиная с запуска | Возникает, когда никаких других событий не происходит. Это - наиболее часто встречающееся событие и, по причинам ограничения быстродействия, должно использоваться умеренно.
mouseDownEvent | what = mouseDownEvent, где .h = горизонтальное местоположение мыши, где .v = вертикальное местоположение мыши mbState = левая кнопка мыши when = импульсы сигнала времени начиная с запуска | Происходит всякий раз, когда левая кнопка мыши нажата. Используйте прерывание mouseDownEvent в комбинации с локализацией указателя и и функцией _FindWindow, чтобы определить, нажимал ли пользователь значок закрытия окна или в других областях окна. (closeEvent не генерируется, когда Вы нажимаете по значку закрытия окна.)
keyDownEvent | what = keyDownEvent, где .h = горизонтальное местоположение мыши where .v = вертикальное местоположение мыши message = код клавиши (см. Приложение A) modifier = клавиша модификатора when = кол-во импульсов сигнала времени начиная с запуска | Происходит всякий раз, когда клавиша нажата или всякий раз, когда выполняется буфер клавиатуры.
deactivateEvent | что = deactivateEvent, где .h = горизонтальное местоположение мыши, где .v = вертикальное местоположения мыши, сообщение = WHANDLE окна, когда = импульсы сигнала времени начиная с запуска | Происходит всякий раз, когда окно становится деактивированным, через значок закрытия окна, когда активируется другое окно или используется команда DEACTIVATE WINDOW. deactivateEvent обычно сопровождается activateEvent.
activateEvent | что = activateEvent, где .h = горизонтальное местоположение мыши, где .v = вертикальное местоположения мыши сообщение = WHANDLE окна, когда = колв-во импульсов сигнала времени начиная с запуска | Происходит всякий раз, когда окно активизировано. Это относится к системные и пользовательские окнам, так же как и к диалогам, так что предполагается, что всякий раз, когда Вы получаете этот тип события, Вы выясняете, принадлежит ли оно Вашему окну. activateEvent обычно предшествует deactivateEvent.
menuHitEvent | что = menuHitEvent misc = MENUID misc2 = BAR #when = импульсы сигнала времени начиная с запуска модификатор = клавиша модификатора | Происходит, когда пользователь делает выбор пункта меню-типа. Пункты меню-типа включают меню, всплывающие меню и прокручиваемые списки. Поскольку menuHitEvents происходят очень часто, лучше использовать функцию _OnSelection для вызова некоторой задачи по выбору из меню, так чтобы устранить многочисленную проверку события.
closeEvent | что = closeEvent сообщение = WHANDLE окна, когда = импульсы сигнала времени начиная с запуска | Происходит, когда окно удалено из памяти командой RELEASE WINDOW или при выходе из Visual FoxPro. Чтобы проследить, закрыл ли пользователь окно, нажимая по значку закрытия окна, проверьте mouseDownEvent.
hideEvent | что = hideEvent, когда = импульсы сигнала времени начиная с запуска | Происходит, когда окно скрыто с командой HIDE WINDOW.
showEvent | что = showEvent, когда = импульсы сигнала времени начиная с запуска | Происходит, когда окно становится видимым командой SHOW WINDOW.
hotkeyEvent | что = hotkeyEvent, где .h = горизонтальное местоположение мыши, где .v = вертикальное местоположения мыши сообщение = код клавиши (см. главу Коды клавиш FoxPro) модификатор = клавиша модификатора когда = импульсы сигнала времени начиная с запуска | Происходит, когда пользователь нажимает клавишу, которой присвоили действия командой ON KEY LABEL.
sizeEvent | что = sizeEvent, когда = импульсы сигнала времени начиная с запуска | Происходит только когда выполняется команда ZOOM WINDOW или команда SIZE WINDOW. Чтобы установить нажатие пользователем на элементе управления размером окна, проверьте событие mouseDownEvent.
zoomEvent | что = zoomEvent, когда = импульсы сигнала времени начиная с запуска | Происходит когда выполнена команда ZOOM WINDOW.Чтобы установить нажатие пользователем на элементе управления окна zoom, проверьте событие mouseDownEvent.

См. Также

Другие Ресурсы

Коды клавиш Visual FoxProа (API Библиотечная Конструкция)
Activate Event
API Библиотечные Подпрограммы A-Z
API Библиотечные Подпрограммы по категориям

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Visual FoxPro Key Codes (API Library Construction)

Visual FoxPro 9.0 Справочное руководство по языку
Коды клавиш Visual FoxPro (API Library Construction)
Смотрите также Пример
CollapseAll image

Большинство клавиш клавиатуры имеют постоянное значение, когда они объединяются в нажатии с различными клавишами модификаторов (SHIFT, CTRL и ALT). Все обычные клавиши клавиатуры (символьные и специальных символов) имеют код клавиши соответствующий значению ASCII.

Значения кода клавишы и клавиши модификаторв возвращаются в структуре EventRec. Код клавиши может быть найден в EventRec.message, а код клавиши модификатора может быть найден в EventRec.modifiers.

Visual FoxPro интерпретирует нажатия некоторых клавиш в зависимости от используемой клавиши модификатора в виде различных значений, когда объединяются нажатия клавиш. Например, если нажаты SHIFT+F10, то соответствующие поля в структуре EventRec должны имет значения:

  • EventRec.message = 15D (Hex)

  • EventRec.modifier = 1000 (Hex)

Аналогично, если нажаты CTRL+F10, то значениями в структуре EventRec будут:

  • EventRec.message = 167 (Hex)

  • EventRec.modifiers = 2000 (Hex)

Когда с нажатием клавиши используется нажатие более одного модификатора, то значения кодов складываются. Например, если вы нажмете CTRL+SHIFT+F10, то будут возвращены следующие значения:

  • EventRec.message = 167 (Hex)

  • EventRec.modifiers = 3000 (Hex)

Значение EventRec.modifiers в предшествующем примере равно 0x3000, так как оба модификатора - и CTRL, и SHIFT - были включены в нажатие клавиши. Поэтому значение клавиши модификатора SHIFT (0x1000) было добавлено к значению клавищи модификатора CTRL (0x2000), в результате чего мы получили значение 0x3000.

Note Замечание

Метод интерпретации клавиш в Visual FoxPro (особенно в случае использования совместного использования клавиш с модификаторами) присущ Visual FoxPro. Другие программы могут интерпретировать нажатия клавиш по разному. Если клавина нажата в комбинации с одним или множеством клавиш модификаторов (SHIFT, CTRL и ALT), то высший полубайт будет представлять используемые модификаторы.

В приведенной ниже таблице показывается, что клавиша F8 имеет разные коды в зависимости от используемого модификатора.

Нажатые клавиши | Модификаторы | Значение кода клавиши F8
F8 | Нет | \x142
SHIFT+F8 | SHIFT | \x15B
CTRL+F8 | CTRL | \x165
ALT+F8 | ALT | \x16F

Каждая специальная клавиша, которая может быть объединена с модификаторами, в случае объединения будет иметь уникальное значение своего кода. Если специальная клавиша объединяется с множеством модификаторов, то уникальное значение, присваиваемое клавише представляет собой значение в соответствии с приведенными ниже правилами:

  1. Сначала проверяется - была ли нажата комбинация клавиш, включая ALT, так как основной клавише будет присвоено ее значение сложенное со значением кода клавиши ALT.

  2. Если комбинация клавиш не включает в себя клавишу ALT, то проверяется - была ли нажата клавиша CTRL, так как основной клавише будет присвоено ее значение сложенное со значением кода клавиши CTRL.

  3. Если не были нажаты ни ALT, ни CTRL, то смотрим - была ли нажата клавиша SHIFT.

  4. И наконец, в случае, если модификаторы вообще не использовались, то присваивается значение основной клавиши без добавления значений кода модификаторов.

Expand image Коды специальных клавиш

В приведенной ниже таблице перечислены значения клавиш, присваемые Visual FoxPro специальным клавишам клавиатуры.

Клавиша | Код клавиши (Hex) | Клавиша модификатор
LEFTMOUSE | 100 | Нет
F1 | 13B | Нет
F2 | 13C | Нет
F3 | 13D | Нет
F4 | 13E | None
F5 | 13F | Нет
F6 | 140 | Нет
F7 | 141 | Нет
F8 | 142 | Нет
F9 | 143 | Нет
F10 | 144 | Нет
HOME | 147 | Нет
UPARROW | 148 | Нет
PGUP | 149 | Нет
LEFTARROW | 14B | None
RIGHTARROW | 14D | Нет
END | 14F | Нет
DNARROW | 150 | None
PGDN | 151 | Нет
INS | 152 | Нет
DEL | 153 | Нет
F11 | 185 | Нет
F12 | 186 | Нет
BACKTAB | 10F | shiftKey
SHIFT+F1 | 154 | shiftKey
SHIFT+F2 | 155 | shiftKey
SHIFT+F3 | 156 | shiftKey
SHIFT+F4 | 157 | shiftKey
SHIFT+F5 | 158 | shiftKey
SHIFT+F6 | 159 | shiftKey
SHIFT+F7 | 15A | shiftKey
SHIFT+F8 | 15B | shiftKey
SHIFT+F9 | 15C | shiftKey
SHIFT+F10 | 15D | shiftKey
SHIFT+F11 | 187 | shiftKey
SHIFT+F12 | 188 | shiftKey
CTRL+A | 001 | ctrlKey
CTRL+B | 002 | ctrlKey
CTRL+C | 003 | ctrlKey
CTRL+D | 004 | ctrlKey
CTRL+E | 005 | ctrlKey
CTRL+F | 006 | ctrlKey
CTRL+G | 007 | ctrlKey
CTRL+H | 008 | ctrlKey
CTRL+I | 009 | ctrlKey
CTRL+ENTER | 00A | ctrlKey
CTRL+J | 00A | ctrlKey
CTRL+K | 00B | ctrlKey
CTRL+L | 00C | ctrlKey
CTRL+M | 00D | ctrlKey
CTRL+N | 00E | ctrlKey
CTRL+O | 00F | ctrlKey
CTRL+P | 010 | ctrlKey
CTRL+Q | 011 | ctrlKey
CTRL+R | 012 | ctrlKey
CTRL+S | 013 | ctrlKey
CTRL+T | 014 | ctrlKey
CTRL+U | 015 | ctrlKey
CTRL+V | 016 | ctrlKey
CTRL+W | 017 | ctrlKey
CTRL+X | 018 | ctrlKey
CTRL+Y | 019 | ctrlKey
CTRL+Z | 01A | ctrlKey
CTRL+LBRACKET | 01B | ctrlKey
CTRL+BACKSLASH | 01C | ctrlKey
CTRL+RBRACKET | 01D | ctrlKey
CTRL+CARET | 01E | ctrlKey+shiftKey
CTRL+HYPHEN | 01F | ctrlKey
CTRL+SPACEBAR | 020 | ctrlKey
CTRL+F1 | 15E | ctrlKey
CTRL+F2 | 15F | ctrlKey
CTRL+F3 | 160 | ctrlKey
CTRL+F4 | 161 | ctrlKey
CTRL+F5 | 162 | ctrlKey
CTRL+F6 | 163 | ctrlKey
CTRL+F7 | 164 | ctrlKey
CTRL+F8 | 165 | ctrlKey
CTRL+F9 | 166 | ctrlKey
CTRL+F10 | 167 | ctrlKey
CTRL+LEFTARROW | 173 | ctrlKey
CTRL+RIGHTARROW | 174 | ctrlKey
CTRL+END | 175 | ctrlKey
CTRL+PGDN | 176 | ctrlKey
CTRL+HOME | 177 | ctrlKey
CTRL+PGUP | 184 | ctrlKey
CTRL+F11 | 189 | ctrlKey
CTRL+F12 | 18A | ctrlKey
CTRL+UPARROW | 18D | ctrlKey
CTRL+DNARROW | 191 | ctrlKey
CTRL+INS | 192 | ctrlKey
CTRL+DEL | 193 | ctrlKey
CTRL+TAB | 194 | ctrlKey
ALT+Q | 110 | altKey
ALT+W | 111 | altKey
ALT+E | 112 | altKey
ALT+R | 113 | altKey
ALT+T | 114 | altKey
ALT+Y | 115 | altKey
ALT+U | 116 | altKey
ALT+I | 117 | altKey
ALT+O | 118 | altKey
ALT+P | 119 | altKey
ALT+A | 11E | altKey
ALT+S | 11F | altKey
ALT+D | 120 | altKey
ALT+F | 121 | altKey
ALT+G | 122 | altKey
ALT+H | 123 | altKey
ALT+J | 124 | altKey
ALT+K | 125 | altKey
ALT+L | 126 | altKey
ALT+Z | 12C | altKey
ALT+X | 12D | altKey
ALT+C | 12E | altKey
ALT+V | 12F | altKey
ALT+B | 130 | altKey
ALT+N | 131 | altKey
ALT+M | 132 | altKey
ALT+F1 | 168 | altKey
ALT+F2 | 169 | altKey
ALT+F3 | 16A | altKey
ALT+F4 | 16B | altKey
ALT+F5 | 16C | altKey
ALT+F6 | 16D | altKey
ALT+F7 | 16E | altKey
ALT+F8 | 16F | altKey
ALT+F9 | 170 | altKey
ALT+F10 | 171 | altKey
ALT+1 | 178 | altKey
ALT+2 | 179 | altKey
ALT+3 | 17A | altKey
ALT+4 | 17B | altKey
ALT+5 | 17C | altKey
ALT+6 | 17D | altKey
ALT+7 | 17E | altKey
ALT+8 | 17F | altKey
ALT+9 | 180 | altKey
ALT+0 | 181 | altKey
ALT+F11 | 18B | altKey
ALT+F12 | 18C | altKey
ALT+HOME | 197 | altKey
ALT+UPARROW | 198 | altKey
ALT+PGUP | 199 | altKey
ALT+LEFTARROW | 19B | altKey
ALT+RIGHTARROW | 19D | altKey
ALT+END | 19F | altKey
ALT+DNARROW | 1A0 | altKey
ALT+PGDN | 1A1 | altKey
ALT+INS | 1A2 | altKey
ALT+DEL | 1A3 | altKey

Expand image Пример

CopyCode image Скопировать код
FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
switch(ev->what)
{
case keyDownEvent:                  /* Проверка keyDownEvent */
if (ev->modifiers & shiftCodeMask)      /* Был нажат модификатор. */
{
if (ev->modifiers & altKey)            /* Проверка для клавиши ALT */
_PutStr("ALT Key Code should be used.\n");
else
if (ev->modifiers & ctrlKey)         /* Проверка для клавиши CTRL */
_PutStr("CTRL Key Code should be used.\n");
else
if (ev->modifiers & shiftKey)         /* Проверка для клавиши SHIFT */
_PutStr("SHIFT Key Code should be used.\n");
}
else
_PutStr("Regular Key Code should be used.\n");
return NO;                        /* Пусть Visual FoxPro имеет и клавишу */
break;
default:
return NO;
}
}
Note Замечание

shiftCodeMask, altKey, ctrlKey и shiftKey определены в PRO_EXT.H и PRO_EXT.INC так как показано ниже:

  • #define shiftCodeMask 0xf000

  • #define shiftKey 0x1000

  • #define ctrlKey 0x2000

  • #define altKey 0x4000

Expand image Смотрите также

Справочное руководство

Процедура _PutStr( ) библиотеки API
Системная переменная _ASCIICOLS
Системная переменная _ASCIIROWS
Системные события Visual FoxPro (API Library Construction)
Событие KeyPress

Концепции

Процедуры библиотеки API от A до Z

Прочие ресурсы

Процедуры библиотеки API по категориям

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SQL Commands and Functions

Visual FoxPro 9.0 Справочник Языка
SQL Команды и Функции
См. Также

Visual FoxPro поддерживает команды и функции Языка структурированных запросов (SQL) . Команды SQL Visual FoxPro используют технологию Оптимизации Запроса Rushmore, чтобы оптимизировать выполнение, и единственная команда SQL может быть использована, чтобы заменить множество команд Visual FoxPro.

Visual FoxPro поддерживает следующее:

ALTER TABLE - SQL Команда

Изменяет существующую таблицу. Вы можете изменить имя, тип, точность, масштаб, поддержку нулевого значения, и правила сылочной целостности для каждого поля в таблице.
ASQLHANDLES( ) Функция

Сохраняет числовые ссылки ко всем дескрипторам активных состояний SQL-подключений в массиве.
CREATE CURSOR - SQL Команда

Создает временную таблицу. Каждое поле во временной таблице определено именем, типом, точностью, масштабом, поддержкой нулевых значений, и правилами ссылочной целостности. Эти определения могут быть получены из команды непосредственно или из массива.
CREATE SQL VIEW Команда

Отображает Проектировщик Представлений, разрешая Вам создавать SQL представление.
CREATE TABLE -SQL Команда

Создает таблицу. Каждое новое поле таблицы определено именем, типом, точностью, масштабом, поддержкой нулевых значений, и правилами ссылочной целостности. Эти определения могут быть получены из команды непосредственно или из массива.
DELETE - SQL Команда

Помечает запись в таблице для удаления, используя SQL синтаксис.
INSERT - SQL Команда

Добавляет новую запись в конец существующей таблицы. Новая запись содержит данные, перечисленные в команде INSERT или из массива.
SELECT - SQL Команда

Определяет критерии, на которых основан запрос и выдает запрос. Visual FoxPro интерпретирует запрос и отыскивает указанные данные из таблиц(ы). Команда SELECT встроена в Visual FoxPro подобно любой другой команде Visual FoxPro. Вы можете создать запрос командой SELECT в следующих областях:
  • В окне Command.

  • В программе Visual FoxPro (подобно любой другой команде Visual FoxPro).

  • В Проектировщике Запроса.

SQL Pass Through Foundation Class

Позволяет Вам выполнить хранимые процедуры на хостинговой базе данных типа Microsoft SQL Сервер.
SQLCANCEL( ) Функция

Отмена запросов выполняющихся инструкций SQL
SQLCOLUMNS( ) Функция

Сохраняет список имен столбцов и информацию о каждом столбце для указанной таблицы источника данных в курсоре Visual FoxPro.
SQLCOMMIT( ) Функция

Подтверждает транзакцию.
SQLCONNECT( ) Функция

Устанавливает подключение к источнику данных.
SQLDISCONNECT( ) Функция

Разрывает подключение к источнику данных.
SQLEXEC( ) Функция

Посылает инструкцию SQL источнику данных, где она обрабатывается.
SQLGETPROP( ) Функция

Возвращает текущие параметры или параметры по умолчанию для активного подключения.
SQLIDLEDISCONNECT( ) Функция

Разрешает SQL подключению на передачу быть временно разорванным.
SQLMORERESULTS( ) Функция

Копирует следующую порцию результатов в курсор Visual FoxPro, если доступно дополнительные порции данных.
SQLPREPARE( ) Функция

Готовит инструкцию SQL к отдаленному выполнению через SQLEXEC( ).
SQLROLLBACK( ) Функция

Отменяет любые изменения, сделанные в течение текущей транзакции.
SQLSETPROP( ) Функция

Определяет параметры настройки для активного подключения.
SQLSTRINGCONNECT( ) Функция

Устанавливает подключение к источнику данных посредством строки подключения.
SQLTABLES( ) Функция

Сохраняет имена таблиц источника данных в курсор Visual FoxPro.
UPDATE - SQL Команда

Модифицирует запись в таблице. Записи могут быть модифицированы на основании результатов SELECT-инструкция SQL.

См. Также

Другие Ресурсы

CREATE QUERY Команда
MODIFY QUERY Команда
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Language Reference for OLE DB Development

Visual FoxPro 9.0
Справочник Языка для OLE DB Разработок
CollapseAll image

Visual FoxPro содержит элементы языка, которые вы можете применять с OLE DB Провайдером для Visual FoxPro.

Expand image В Данном Разделе

Visual FoxPro OLE DB Провайдер Поддержки Данных

Описывает типы данных, а также характеристики файлов и кода, поддерживаемых Visual FoxPro OLE DB Провайдером.

Поддерживаемые Команды и Функции Visual FoxPro в OLE DB Провайдере

Перечисляет элементы языка Visual FoxPro, которые вы можете применять в отношении к Visual FoxPro OLE DB Провайдеру и в хранимых процедурах, триггерах, правилах и значениях по умолчанию.

Неподдерживаемые Visual FoxPro Команды и Функции в OLE DB Провайдере

Перечисляет Visual FoxPro элементы языка, которые не поддерживаются Visual FoxPro OLE DB Провайдером.

Поддерживаемые OLE DB Объекты

Описывает OLE DB объекты, поддерживаемые Visual FoxPro OLE DB Провайдером.

Стандартные и Пользовательские OLE DB Свойства

Перечисляет OLE DB свойства, поддерживаемые Visual FoxPro OLE DB Провайдером.

Expand image Родственные Разделы

Visual FoxPro Доступ к Данным, применяя OLE DB Провайдер

Знакомит с применением Visual FoxPro OLE DB Провайдера для доступа к Visual FoxPro данным из других программных языков и приложений.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Visual FoxPro OLE DB Provider Data Support

Visual FoxPro 9.0
Поддержка Данных Visual FoxPro OLE DB Провайдером
Смотрите Также
CollapseAll image

Следующая таблица описывает типы и другие файловые и кодовые характеристики данных, поддерживаемых Visual FoxPro OLE DB Провайдером.

Тип Данных | Обозначение | Размер | Диапазон | OLE DB тип
Character | C | 1 байт на символ до 254 | Любые символы | DBTYPE_STR
Character (binary) | C NOCPTRANS | 1 байт на символ до 254 | Любые символы | DBTYPE_BYTES
Date | D | 8 байт | 0001-01-01 до 9999-12-31 | DBTYPE_DATE
DateTime | T | 8 байт | 0001-01-01 до 9999-12-31; 00:00:00 a.m. до 11:59:59 p.m. | DBTYPE_DBTIMESTAMP
Numeric | N | 1 до 20 байт | - .9999999999E+19 до .9999999999E+20 | DBTYPE_DECIMAL
Float | F | 1 до 20 байт | - .9999999999E+19 до .9999999999E+20 | DBTYPE_DECIMAL
Integer | I | 4 байта | 2147483647 до 2147483647 | DBTYPE_I4
Double | B | 8 байт | +/-4.94065645841247E-324 до +/-8.9884656743115E307 | DBTYPE_R8
Currency | Y | 8 байт | - 922337203685477.5807 до 922337203685477.5807 | DBTYPE_CY
Logical | L |  | .T./.F. | DBTYPE_BOOL
Memo | M | 4 байта в таблице | Переменная память | DBTYPE_BYTES
Memo (binary) | M NOCPTRANS | 4 байта в таблице | Переменная память | DBTYPE_BYTES
General (blob) | G | 4 байта в таблице | Переменная память | DBTYPE_BYTES

Следующая таблица описывает преобразование данных Visual FoxPro OLE DB типов в Visual Studio типы:

Обозначение | OLE DB тип | Visual Studio тип
C | DBTYPE_STR | System.String
C NOCPTRANS | DBTYPE_BYTES | System.String
D | DBTYPE_DATE | System.DateTime
T | DBTYPE_DBTIMESTAMP | System.DateTime
N | DBTYPE_NUMERIC | System.Decimal
F | DBTYPE_NUMERIC | System.Decimal
I | DBTYPE_I4 | System.Int32
B | DBTYPE_R8 | System.Double
Y | DBTYPE_CY | System.Decimal
M | DBTYPE_STR | System.String
M NOCPTRANS | DBTYPE_BYTES | System.Byte
G | DBTYPE_BYTES | System.Byte

Expand image Смотрите Также

Ссылки

Справочник Языка для OLE DB Разработок
Поддерживаемые Visual FoxPro Команды и Функции в OLE DB Провайдере
Неподдерживаемые Visual FoxPro Команды и Функции в OLE DB Провайдере
Поддерживаемые OLE DB Объекты
Стандартные и Пользовательские OLE DB Свойства
OLE DB Провайдер для Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Supported Visual FoxPro Commands and Functions in OLE DB Provider

Visual FoxPro 9.0
Команды и Функции Visual FoxPro, Поддерживаемые OLE DB Провайдерами
Смотрите Также
CollapseAll image

Visual FoxPro содержит язык, который вы можете применять с OLE DB провайдерами для Visual FoxPro. Некоторые из таких языковых элементов - для применения только с OLE DB провайдерами; в то время, как другие могут применяться и в хранимых процедурах, триггерах, правилах и в вычислении значений по умолчанию.

Note Примечение

Вы можете определить состояние многих SET команд, поддерживаемых и неподдерживаемых, кроме SET ANSI, путем запроса базы данных. Например, следующий код возвращает значение для SET PATH в результирующий курсор:

Note Примечение

SELECT SET('PATH') FROM Table WHERE RECNO()=1

Expand image Команды, Выполняемые в отношении к Visual FoxPro OLE DB Провайдеру

Visual FoxPro OLE DB Провайдер поддерживает собственный Visual FoxPro синтаксис языка для команд, которые вы можете вызывать в отношению к данному провайдеру. В следующих таблицах приведен перечень таких команд.

Для дальнейшей информации о синтаксисе этих команд смотрите Visual FoxPro Справочник Языка.

SQL Команды

ALTER TABLE - SQL Команда | CREATE TABLE - SQL Команда | DELETE - SQL Команда
INSERT - SQL Команда (Применение SQL INSERT команды с массивом, переменной памяти или объектом не поддерживается.) | SELECT - SQL Команда | UPDATE - SQL Команда

Другие Команды

DROP TABLE Команда | SET ANSI Команда | SET AUTOINCERROR Команда
SET BLOCKSIZE Команда | SET COLLATE Команда | SET DELETED Команда
SET ENGINEBEHAVIOR Команда | SET EXACT Команда | SET EXCLUSIVE Команда
SET FULLPATH Команда | SET MULTILOCKS Команда | SET NULL Команда
SET PATH Команда | SET REPROCESS Команда | SET UNIQUE Команда

Expand image Команды и Функции для Хранимых Процедур, Правил, Триггеров и Вычислений Значений по Умолчанию

Вы можете применять большой набор команд в хранимых процедурах, правилах, триггерах и значениях по умолчанию. Следующие таблицы перечисляют такие команды и функции.

$ Оператор | % Оператор | & Команда
&& Команда | * Команда | = Команда

A

ABS( ) Функция | ACOPY( ) Функция | ACOS( ) Функция
ADATABASES( ) Функция | ADBOBJECTS( ) Функция | ADD TABLE Команда
ADEL( ) Функция | AELEMENT( ) Функция | AERROR( ) Функция
AFIELDS( ) Функция | AINS( ) Функция | ALEN( ) Функция
ALIAS( ) Функция | ALLTRIM( ) Функция | ALTER TABLE - SQL Команда
AND Оператор | APPEND Команда | APPEND FROM ARRAY Команда
APPEND GENERAL Команда | APPEND GENERAL Команда | APPEND MEMO Команда
APPEND PROCEDURES Команда | ASC( ) Функция | ASCAN( ) Функция
ASIN( ) Функция | ASORT( ) Функция | ASQLHANDLES( ) Функция
ASUBSCRIPT( ) Функция | AT( ) Функция | AT_C( ) Функция
ATAN( ) Функция | ATC( ) Функция | ATCC( ) Функция
ATCLINE( ) Функция | ATLINE( ) Функция | ATN2( ) Функция
AUSED( ) Функция | AVERAGE Команда |

B

BEGIN TRANSACTION Команда | BETWEEN( ) Функция | BITAND( ) Функция
BITCLEAR( ) Функция | BITLSHIFT( ) Функция | BITNOT( ) Функция
BITOR( ) Функция | BITRSHIFT( ) Функция | BITSET( ) Функция
BITTEST( ) Функция | BITXOR( ) Функция | BLANK Команда
BOF( ) Функция |  |

C

CALCULATE Команда | CANDIDATE( ) Функция | CDX( ) Функция
CEILING( ) Функция | CHR( ) Функция | CHRTRAN( ) Функция
CHRTRANC( ) Функция | CLEARRESULTSET( ) Функция | CLOSE Команды
CMONTH( ) Функция | CONTINUE Команда | COPY INDEXES Команда
COPY PROCEDURES Команда | COPY STRUCTURE Команда | COPY STRUCTURE EXTENDED Команда
COPY TO Команда | CURSORGETPROP("AutoIncError") Функция | CURSORTOXML( ) Функция

D

DATE( ) Функция | DATETIME( ) Функция | DAY( ) Функция
DBC( ) Функция | DBF( ) Функция | DBUSED( ) Функция
DELETE - SQL Команда | DELETE Команда | DELETE TAG Команда
DELETED( ) Функция | DESCENDING( ) Функция | DIFFERENCE( ) Функция
DIMENSION Команда | DISKSPACE( ) Функция | DMY( ) Функция
DO CASE ... ENDCASE Команда | DO Команда | DO WHILE ... ENDDO Команда
DOW( ) Функция | DTOC( ) Функция | DTOR( ) Функция
DTOS( ) Функция | DTOT( ) Функция |

E

EMPTY( ) Функция | END TRANSACTION Команда | EOF( ) Функция
ERROR( ) Функция | EVALUATE( ) Функция | EXIT Команда
EXECSCRIPT( ) Функция | EXP( ) Функция |

F

FCOUNT( ) Функция | FDATE( ) Функция | FIELD( ) Функция
FILE( ) Функция | FILTER( ) Функция | FLDLIST( ) Функция
FLOCK( ) Функция | FLOOR( ) Функция | FLUSH Команда
FOR ... ENDFOR Команда | FOR( ) Функция | FOUND( ) Функция
FREE TABLE Команда | FSIZE( ) Функция | FTIME( ) Функция
FULLPATH( ) Функция | FUNCTION Команда | FV( ) Функция

G

GATHER Команда | GETCP( ) Функция | GETFLDSTATE( ) Функция
GETNEXTMODIFIED( ) Функция | GETRESULTSET( ) Функция | GO | GOTO Команда
GOMONTH( ) Функция |  |

H

HEADER( ) Функция

HOUR( ) Функция

I

ICASE( ) Функция | IDXCOLLATE( ) Функция | IF ... ENDIF Команда
IIF( ) Функция | INDBC( ) Функция | INDEX Команда
INLIST( ) Функция | INSERT - SQL Команда | INT( ) Функция
ISALPHA( ) Функция | ISBLANK( ) Функция | ISDIGIT( ) Функция
ISEXCLUSIVE( ) Функция | ISLEADBYTE( ) Функция | ISLOWER( ) Функция
ISREADONLY( ) Функция | ISUPPER( ) Функция |

K

KEY( ) Функция

KEYMATCH( ) Функция

L

LEFT( ) Функция | LEFTC( ) Функция | LEN( ) Функция
LENC( ) Функция | LIKE( ) Функция | LIKEC( ) Функция
LOCAL Команда | LOCATE Команда | LOCK( ) Функция
LOG( ) Функция | LOG10( ) Функция | LOOKUP( ) Функция
LOWER( ) Функция | LPARAMETERS Команда | LTRIM( ) Функция
LUPDATE( ) Функция |  |

M

_MLINE Системная переменная | MAKETRANSACTABLE( ) Функция | MAX( ) Функция
MDX( ) Функция | MDY( ) Функция | MEMLINES( ) Функция
MESSAGE( ) Функция | MIN( ) Функция | MINUTE( ) Функция
MLINE( ) Функция | MOD( ) Функция | MONTH( ) Функция
MTON( ) Функция |  |

N

NDX( ) Функция | NORMALIZE( ) Функция | NOT Оператор
NOTE Команда | NTOM( ) Функция | NVL( ) Функция

O

OCCURS( ) Функция | OLDVAL( ) Функция | ON ERROR Команда
ON KEY Команда | ON( ) Функция | OPEN DATABASE Команда
OR Оператор | ORDER( ) Функция | OS( ) Функция

P

PACK Команда | PADL( ) | PADR( ) | PADC( ) Функции | PARAMETERS Команда
PARAMETERS( ) Функция | PAYMENT( ) Функция | PI( ) Функция
PRIMARY( ) Функция | PRIVATE Команда | PROCEDURE Команда
PROGRAM( ) Функция | PROPER( ) Функция | PUBLIC Команда
PV( ) Функция |  |

R

RAND( ) Функция | RAT( ) Функция | RATC( ) Функция
RATLINE( ) Функция | RECALL Команда | RECCOUNT( ) Функция
RECNO( ) Функция | RECSIZE( ) Функция | RELATION( ) Функция
REMOVE TABLE Команда | REPLACE Команда | REPLACE FROM ARRAY Команда
REPLICATE( ) Функция | RETRY Команда | RETURN Команда
RIGHT( ) Функция | RIGHTC( ) Функция | RLOCK( ) Функция
ROLLBACK Команда | ROUND( ) Функция | RTOD( ) Функция
RTRIM( ) Функция |  |

S

SCAN ... ENDSCAN Команда | SCATTER Команда | SEC( ) Функция
SECONDS( ) Функция | SEEK Команда | SEEK( ) Функция
SELECT - SQL Команда | SELECT Команда | SELECT( ) Функция
SET AUTOINCERROR Команда | SET BLOCKSIZE Команда | SET COLLATE Команда
SET DATABASE Команда | SET DEFAULT Команда | SET DELETED Команда
SET ENGINEBEHAVIOR Команда | SET EXACT Команда | SET EXCLUSIVE Команда
SET FDOW Команда | SET FIELDS Команда | SET FILTER Команда
SET FIXED Команда | SET FULLPATH Команда | SET FWEEK Команда
SET HOURS Команда | SET INDEX Команда | SET LOCK Команда
SET MULTILOCKS Команда | SET NEAR Команда | SET NOCPTRANS Команда
SET NOTIFY Команда | SET NULL Команда | SET OPTIMIZE Команда
SET ORDER Команда | SET PATH Команда | SET PROCEDURE Команда
SET REFRESH Команда | SET RELATION Команда | SET RELATION OFF Команда
SET REPROCESS Команда | SET SKIP Команда | SET UDFPARMS Команда
SET UNIQUE Команда | SET VOLUME Команда | SET( ) Функция
SETFLDSTATE( ) Функция | SETRESULTSET( ) Функция | SIGN( ) Функция
SIN( ) Функция | SKIP Команда | SORT Команда
SPACE( ) Функция | SQRT( ) Функция | STORE Команда
STR( ) Функция | STRCONV( ) Функция | STRTRAN( ) Функция
STUFF( ) Функция | STUFFC( ) Функция | SUBSTR( ) Функция
SUBSTRC( ) Функция | SUM Команда | SYS(0) - Сетевая информация о компьютере
SYS(1) - Юлианская системная дата | SYS(2) - Секунды, отсчитанные с полуночи | SYS(3) - Допустимое имя файла
SYS(5) - Диск по умолчанию | SYS(10) - Символьная дата из юлианского номера дня | SYS(11) - Юлианский номер дня
SYS(12) - Доступная память в байтах | SYS(1104) - Очищенный кэш памяти | SYS(2001) – Состояние Команды SET ...
SYS(2003) – Текущая папка | SYS(2004) – Стартовая папка Visual FoxPro | SYS(2007) - Значение контрольной суммы
SYS(2011) - Текущее состояние Lock | SYS(2015) - Уникальное имя процедуры | SYS(2029) - Тип таблицы
SYS(3050) - Установка размера буферной памяти |  |

T

_TALLY Системная переменная | _TRIGGERLEVEL Системная переменная | TABLEREVERT( ) Функция
TABLEUPDATE( ) Функция | TAG( ) Функция | TAGCOUNT( ) Функция
TAGNO( ) Функция | TAN( ) Функция | TARGET( ) Функция
TIME( ) Функция | TOTAL Команда | TRIM( ) Функция
TTOC( ) Функция | TTOD( ) Функция | TXNLEVEL( ) Функция
TYPE( ) Функция |  |

U

UNIQUE( ) Функция | UNLOCK Команда | UPDATE - SQL Команда
UPDATE Команда | UPPER( ) Функция | USE Команда
USED( ) Функция |  |

V

VAL( ) Функция

VERSION( ) Функция

W

WEEK( ) Функция

X

XMLTOCURSOR( ) Функция

XMLUPDATEGRAM( ) Функция

Y

YEAR( ) Функция

Z

ZAP Команда

Expand image Смотрите Также

Ссылки

Справочник Языка для OLE DB Разработки
Visual FoxPro OLE DB Провайдер Поддержки Данных
Неподдерживаемые Visual FoxPro Команды и Функции в OLE DB Провайдере
Поддерживаемые OLE DB Объекты
Стандартные и Пользовательские OLE DB Свойства
OLE DB Провайдер для Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Unsupported Visual FoxPro Commands and Functions in OLE DB Provider

Visual FoxPro 9.0
Неподдерживаемые Команды и Функции Visual FoxPro в соответствующем Провайдере OLE DB
См. также
CollapseAll image

Определенные Команды, Функции и другий элементы Языка Visual FoxPro не поддерживаются в провайдере OLE DB. Данный Провайдер OLE DB обеспечивает выполнение операторов по обработке данных, и не выполняет поддержку Объектов и пользовательского интерфейса элементов Visual FoxPro.

В следующих таблицах, сгруппированных в алфавитном порядке, перечисляются Не поддерживаемые элементы в Провайдере OLE DB.

Expand image #, ::, !, ?, \, @

#DEFINE ... #UNDEF | #IF ... #ENDIF, директива Препроцессора | #IFDEF | #IFNDEF
#INCLUDE, директива Препроцессора | ::, оператор области разрешения ссылки | !, Команда (См. команду RUN | !)
? | ??, Команда | ???, Команда | \ | \\, Команда
@ ... BOX, Команда | @ ... CLASS, Команда | @ ... CLEAR, Команда
@ ... EDIT - Edit Boxes, Команда | @ ... FILL, Команда | @ ... GET
@ ... MENU, Команда | @ ... PROMPT, Команда | @ ... SAY, Команда
@ ... SCROLL, Команда | @ ... TO, Команда |

Expand image A

_ALIGNMENT, Системная Переменная | ACCEPT, Команда | ACLASS( ), Функция
ACTIVATE MENU, Команда | ACTIVATE POPUP, Команда | ACTIVATE SCREEN, Команда
ACTIVATE WINDOW, Команда | ActivateCell, Метод | ADD CLASS, Команда
ADIR( ), Функция | AFONT( ), Функция | AINSTANCE( ), Функция
AMEMBERS( ), Функция | ANSITOOEM( ), Функция | APRINTERS( ), Функция
ASELOBJ( ), Функция | ASSIST, Команда | ATAGINFO( ), Функция

Expand image B

_BEAUTIFY, Системная Переменная | _BOX, Системная Переменная | _BROWSER, Системная Переменная
_BUILDER, Системная Переменная | BAR( ), Функция | BARCOUNT( ), Функция
BARPROMPT( ), Функция | BROWSE, Команда | BUILD APP, Команда
BUILD EXE, Команда | BUILD PROJECT, Команда |

Expand image C

_CALCVALUE, Системная Переменная | _CLIPTEXT, Системная Переменная | _CONVERTER, Системная Переменная
_CUROBJ, Системная Переменная | CALL, Команда | CANCEL, Команда
CAPSLOCK( ), Функция | CAST( ), Функция | CD, Команда
CHANGE, Команда | CHDIR, Команда | CHRSAW( ), Функция
CLOSE MEMO, Команда | CNTBAR( ), Функция | CNTPAD( ), Функция
COL( ), Функция | COMPILE, Команда | COMPOBJ( ), Функция
Container Object | Control Object | COPY FILE, Команда
COPY MEMO, Команда | CREATE CLASS, Команда | CREATE CLASSLIB, Команда
CREATE COLOR SET, Команда | CREATE, Команда | CREATE CONNECTION, Команда
CREATE DATABASE, Команда | CREATE FORM, Команда | CREATE FROM, Команда
CREATE LABEL, Команда | CREATE MENU, Команда | CREATE PROJECT, Команда
CREATE QUERY, Команда | CREATE REPORT, Команда | CREATE SCREEN, Команда
CREATE SQL VIEW, Команда | CREATE TRIGGER, Команда | CREATE VIEW, Команда
CREATEOBJECT( ), Функция | CURDIR( ), Функция |

Expand image D

_DBLCLICK, Системная Переменная | _DIARYDATE, Системная Переменная | DBSETPROP( ), Функция
DDE, Функцияs | DEACTIVATE MENU, Команда | DEACTIVATE POPUP, Команда
DEACTIVATE WINDOW, Команда | DECLARE - DLL, Команда | DECLARE, Команда
DEFINE BAR, Команда | DEFINE BOX, Команда | DEFINE CLASS, Команда
DEFINE MENU, Команда | DEFINE PAD, Команда | DEFINE POPUP, Команда
DEFINE WINDOW, Команда | DELETE CONNECTION, Команда | DELETE DATABASE, Команда
DELETE FILE, Команда | DELETE TAG, Команда | DELETE TRIGGER, Команда
DELETE VIEW, Команда | DIR, Команда | DIRECTORY, Команда
DISPLAY, Команда | DISPLAY CONNECTIONS, Команда | DISPLAY DATABASE, Команда
DISPLAY DLLS, Команда | DISPLAY FILES, Команда | DISPLAY MEMORY, Команда
DISPLAY OBJECTS, Команда | DISPLAY PROCEDURES, Команда | DISPLAY STATUS, Команда
DISPLAY STRUCTURE, Команда | DISPLAY TABLES, Команда | DISPLAY VIEWS, Команда
DO FORM, Команда |  |

Expand image E

EDIT, Команда | EJECT, Команда | EJECT PAGE, Команда
ERASE, Команда | ERROR, Команда | EXPORT, Команда
EXTERNAL, Команда |  |

Expand image F

_FOXDOC, Системная Переменная | _FOXGRAPH, Системная Переменная | FCHSIZE( ), Функция
FCLOSE( ), Функция | FCREATE( ), Функция | FEOF( ), Функция
FERROR( ), Функция | FFLUSH( ), Функция | FGETS( ), Функция
FILER, Команда | FIND, Команда | FKLABEL( ), Функция
FKMAX( ), Функция | FONTMETRIC( ), Функция | FOPEN( ), Функция
FPUTS( ), Функция | FREAD( ), Функция | FSEEK( ), Функция
FWRITE( ), Функция |  |

Expand image G

_GENGRAPH, Системная Переменная | _GENMENU, Системная Переменная | _GENPD, Системная Переменная
_GENSCRN, Системная Переменная | _GENXTAB, Системная Переменная | GETBAR( ), Функция
GETCOLOR( ), Функция | GETDIR( ), Функция | GETENV( ), Функция
GETEXPR, Команда | GETFILE( ), Функция | GETFONT( ), Функция
GETOBJECT( ), Функция | GETPAD( ), Функция | GETPICT( ), Функция
GETPRINTER( ), Функция |  |

Expand image H

HELP, Команда | HIDE MENU, Команда | HIDE POPUP, Команда
HIDE WINDOW, Команда | HOME( ), Функция |

Expand image I

_INDENT, Системная Переменная | IMESTATUS( ), Функция | IMPORT, Команда
INDEX ON, Команда | INKEY( ), Функция | INPUT, Команда
INSERT - SQL, Команда (Относится к исключению при использовании в команде SQL INSERT переменных, массивов или объектов) | INSERT, Команда | INSMODE( ), Функция
ISCOLOR( ), Функция | ISMOUSE( ), Функция |

Expand image J

JOIN, Команда

Expand image K

KEYBOARD, Команда

Expand image L

_LMARGIN, Системная Переменная | LABEL, Команда | LASTKEY( ), Функция
LINENO( ), Функция | LIST, Командаs | LIST CONNECTIONS, Команда
LOAD, Команда | LOCFILE( ), Функция |

Expand image M

MCOL( ), Функция | MD, Команда | MDOWN( ), Функция
MEMORY( ), Функция | MENU, Команда | MENU TO, Команда
MENU( ), Функция | MESSAGEBOX( ), Функция | MKDIR, Команда
MODIFY CLASS, Команда | MODIFY COMMAND, Команда | MODIFY CONNECTION, Команда
MODIFY DATABASE, Команда | MODIFY FILE, Команда | MODIFY FORM, Команда
MODIFY GENERAL, Команда | MODIFY LABEL, Команда | MODIFY MEMO, Команда
MODIFY MENU, Команда | MODIFY PROCEDURE, Команда | MODIFY PROJECT, Команда
MODIFY QUERY, Команда | MODIFY REPORT, Команда | MODIFY SCREEN, Команда
MODIFY STRUCTURE, Команда | MODIFY VIEW, Команда | MODIFY WINDOW, Команда
MOUSE, Команда | MOVE POPUP, Команда | MOVE WINDOW, Команда
MRKBAR( ), Функция | MRKPAD( ), Функция | MROW( ), Функция
MWINDOW( ), Функция |  |

Expand image N

NEWOBJECT( ), Функция

NUMLOCK( ), Функция

Expand image O

OBJNUM( ), Функция | OBJTOCLIENT( ), Функция | OBJVAR( ), Функция
OEMTOANSI( ), Функция | ON APLABOUT, Команда | ON BAR, Команда
ON ESCAPE, Команда | ON EXIT BAR, Команда | ON EXIT MENU, Команда
ON EXIT PAD, Команда | ON EXIT POPUP, Команда | ON KEY =, Команда
ON KEY LABEL, Команда | ON MACHELP, Команда | ON PAD, Команда
ON PAGE, Команда | ON READERROR, Команда | ON SELECTION BAR, Команда
ON SELECTION MENU, Команда | ON SELECTION PAD, Команда | ON SELECTION POPUP, Команда
ON SHUTDOWN, Команда |  |

Expand image P

_PADVANCE, Системная Переменная | _PAGENO, Системная Переменная | _PBPAGE, Системная Переменная
_PCOLNO, Системная Переменная | _PCOPIES, Системная Переменная | _PDRIVER, Системная Переменная
_PDSETUP, Системная Переменная | _PECODE, Системная Переменная | _PEJECT, Системная Переменная
_PEPAGE, Системная Переменная | _PLENGTH, Системная Переменная | _PLINENO, Системная Переменная
_PLOFFSET, Системная Переменная | _PPITCH, Системная Переменная | _PQUALITY, Системная Переменная
_PRETEXT, Системная Переменная | _PSCODE, Системная Переменная | _PSPACING, Системная Переменная
_PWAIT, Системная Переменная | PACK DATABASE, Команда | PAD( ), Функция
PCOL( ), Функция | PEMSTATUS( ), Функция | PLAY MACRO, Команда
POP KEY, Команда | POP MENU, Команда | POP POPUP, Команда
POPUP( ), Функция | PRINTJOB ... ENDPRINTJOB, Команда | PRINTSTATUS( ), Функция
PRMBAR( ), Функция | PRMPAD( ), Функция | PROMPT( ), Функция
PROW( ), Функция | PRTINFO( ), Функция | PUSH KEY, Команда
PUSH MENU, Команда | PUSH POPUP, Команда | PUTFILE( ), Функция

Expand image Q

QUIT, Команда

Expand image R

_RMARGIN, Системная Переменная | RD, Команда | RDLEVEL( ), Функция
READ, Команда | READ MENU, Команда | READKEY( ), Функция
REFRESH(), Функция | REINDEX, Команда | RELEASE BAR, Команда
RELEASE CLASSLIB, Команда | RELEASE, Команда | RELEASE LIBRARY, Команда
RELEASE MENUS, Команда | RELEASE MODULE, Команда | RELEASE PAD, Команда
RELEASE POPUPS, Команда | RELEASE PROCEDURE, Команда | RELEASE WINDOWS, Команда
REMOVE CLASS, Команда | RENAME CLASS, Команда | RENAME, Команда
RENAME CONNECTION, Команда | RENAME TABLE, Команда | RENAME VIEW, Команда
REPORT FORM, Команда | REQUERY( ), Функция | RESTORE FROM, Команда
RESTORE MACROS, Команда | RESTORE SCREEN, Команда | RESTORE WINDOW, Команда
RESUME, Команда | RGB( ), Функция | RGBSCHEME( ), Функция
RMDIR, Команда | ROW( ), Функция | RUN | !, Команда

Expand image S

_SCREEN, Системная Переменная | _SHELL, Системная Переменная | _SPELLCHK, Системная Переменная
_STARTUP, Системная Переменная | SAVE MACROS, Команда | SAVE SCREEN, Команда
SAVE TO, Команда | SAVE WINDOWS, Команда | SCHEME( ), Функция
SCOLS( ), Функция | SCROLL, Команда | SET ALTERNATE, Команда
SET APLABOUT, Команда | SET AUTOSAVE, Команда | SET BELL, Команда
SET BLINK, Команда | SET BORDER, Команда | SET BRSTATUS, Команда
SET CARRY, Команда | SET CLASSLIB, Команда | SET CLEAR, Команда
SET CLOCK, Команда | SET COLOR OF, Команда | SET COLOR OF SCHEME, Команда
SET COLOR SET, Команда | SET COLOR TO, Команда | SET, Команда
SET COMPATIBLE, Команда | SET CONFIRM, Команда | SET CONSOLE, Команда
SET CPCOMPILE | SET CPDIALOG | SET CURRENCY, Команда
SET CURSOR, Команда | SET DATASESSION, Команда | SET DATE, Команда
SET DATE, Команда | SET DEBUG, Команда | SET DECIMALS, Команда
SET DELIMITERS, Команда | SET DEVELOPMENT, Команда | SET DEVICE, Команда
SET DISPLAY, Команда | SET DOHISTORY, Команда | SET ECHO, Команда
SET ESCAPE, Команда | SET FORMAT, Команда | SET FUNCTION, Команда
SET HEADINGS, Команда | SET HELP, Команда | SET HELPFILTER, Команда
SET INTENSITY, Команда | SET KEY, Команда | SET KEYCOMP, Команда
SET LOGERRORS, Команда | SET MACDESKTOP, Команда | SET MACHELP, Команда
SET MACKEY, Команда | SET MARGIN, Команда | SET MARK OF, Команда
SET MARK TO, Команда | SET MEMOWIDTH, Команда | SET MESSAGE, Команда
SET MOUSE, Команда | SET ODOMETER, Команда | SET OLEOBJECT, Команда
SET PALETTE, Команда | SET PDSETUP, Команда | SET POINT, Команда
SET PRINTER, Команда | SET READBORDER, Команда | SET REFRESH, Команда
SET RESOURCE, Команда | SET SAFETY, Команда | SET SCOREBOARD, Команда
SET SECONDS, Команда | SET SEPARATOR, Команда | SET SHADOWS, Команда
SET SKIP OF, Команда | SET SPACE, Команда | SET STATUS BAR, Команда
SET STATUS, Команда | SET STEP, Команда | SET STICKY, Команда
SET SYSFORMATS, Команда | SET SYSMENU, Команда | SET TALK, Команда
SET TEXTMERGE, Команда | SET TEXTMERGE DELIMITERS, Команда | SET TOPIC, Команда
SET TOPIC ID, Команда | SET TRBETWEEN, Команда | SET TYPEAHEAD, Команда
SET VIEW, Команда | SET WINDOW OF MEMO, Команда | SET XCMDFILE, Команда
SHOW GET, Команда | SHOW GETS, Команда | SHOW MENU, Команда
SHOW OBJECT, Команда | SHOW POPUP, Команда | SHOW WINDOW, Команда
SIZE POPUP, Команда | SIZE WINDOW, Команда | SKPBAR( ), Функция
SKPPAD( ), Функция | SOUNDEX( ), Функция | SQL functions
SROWS( ), Функция | STRTOFILE( ) function | SUSPEND, Команда
SYSMETRIC( ), Функция |  |

Expand image T

_TABS, Системная Переменная | _THROTTLE, Системная Переменная | _TRANSPORT, Системная Переменная
TEXT ... ENDTEXT, Команда | TRANSFORM( ), Функция | TXTWIDTH( ), Функция
TYPE, Команда |  |

Expand image U

UPDATED( ), Функция

Expand image V

VALIDATE DATABASE, Команда

VARREAD( ), Функция

Expand image W

_WINDOWS, Системная Переменная | _WIZARD, Системная Переменная | _WRAP, Системная Переменная
WAIT, Команда | WBORDER( ), Функция | WCHILD( ), Функция
WCOLS( ), Функция | WEXIST( ), Функция | WFONT( ), Функция
WITH ... ENDWITH, Команда | WLAST( ), Функция | WLCOL( ), Функция
WLROW( ), Функция | WMAXIMUM( ), Функция | WMINIMUM( ), Функция
WONTOP( ), Функция | WOUTPUT( ), Функция | WPARENT( ), Функция
WREAD( ), Функция | WROWS( ), Функция | WTITLE( ), Функция
WVISIBLE( ), Функция |  |

Expand image X

Expand image Z

ZOOM WINDOW, Команда

Expand image См. также

Описание

Описание Языка для разработки в провайдере OLE DB
Поддержка Данных в Провайдере Visual FoxPro OLE DB
Поддерживаемые Команды и Функции в Провайдере Visual FoxPro OLE DB
Поддержка объектов OLE DB
Стандартные и пользовательские Свойства в провайдере OLE DB
Провайдер OLE DB для системы Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Supported OLE DB Objects

Visual FoxPro 9.0
Поддерживаемые OLE DB Объекты
Смотрите Также
CollapseAll image

Visual FoxPro OLE DB Провайдер поддерживает следующие OLE DB объекты, которые базируются на OLE DB 2.1 Технических Требований по Внедрению.

Объект | Описание
Data Source Объект | Устанавливает соединение с хранилищем данных.
Session Объект | Предоставляет методы для создания команд и набор строк данных, а также для создания и модификации таблиц и индексов.
Command Объект | Предоставляет соединения, свойства и методы для исполнения команд и возвращения наборов строк данных.
Rowset Объект | Предоставлять данные в табличной форме, как совокупность записей, каждая из которых состоит из колонок данных.
Error Объект | Предоставляет возможность возвращать множественные сообщения об ошибках за один едиственный вызов, и возможность возвращать специфическую для провайдера информацию об ошибках.
ConnectionPage Объект | Предоставляет доступ к диалоговому окну конфигурации Microsoft DataLink (UDL).

Expand image Смотрите Также

Ссылки

Справочник Языка для OLE DB Разработок
Visual FoxPro OLE DB Провайдер Поддержки Данных
Поддерживаемые Visual FoxPro Команды и Функции в OLE DB Провайдере
Неподдерживаемые Visual FoxPro Команды и Функции в OLE DB Провайдере
Стандартные и Пользовательские OLE DB Свойства
OLE DB Провайдер для Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Standard and Custom OLE DB Properties

Visual FoxPro 9.0
Стандартные и Пользовательские OLE DB Свойства
Смотрите Также
CollapseAll image

Ниже приведен в алфавитном порядке список OLE DB свойств, поддерживаемых Visual FoxPro OLE DB Провайдером и Visual FoxPro пользовательские свойства. Обратитесь к OLE DB Справочнику Программиста за более подробным описанием этих свойств.

Свойство | Описание
DBPROP_ABORTPRESERVE | Защита на прерывание
DBPROP_ACCESSORDER | Порядок доступа
DBPROP_ACTIVESESSIONS | Активные сессии
DBPROP_ALTERCOLUMN | Поддержка изменения колонки
DBPROP_APPENDONLY | Набор записей только для дополнения
DBPROP_ASYNCTXNABORT | Возможность асинхронного прерывания
DBPROP_ASYNCTXNCOMMIT | Возможность асинхронного завершения транзакций
DBPROP_AUTH_CACHE_AUTHINFO | Аутентификация кеш
DBPROP_AUTH_ENCRYPT_PASSWORD | Шифровать пароль
DBPROP_AUTH_INTEGRATED | Комплексная безопасность
DBPROP_AUTH_MASK_PASSWORD | Маскировать пароль
DBPROP_AUTH_PASSWORD | Пароль
DBPROP_AUTH_PERSIST_ENCRYPTED | Сохранять зашифрованным
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Сохранять информацию о безопасности
DBPROP_AUTH_USERID | Идентификатор пользователя
DBPROP_BLOCKINGSTORAGEOBJECTS | Блокировка хранилища объектов
DBPROP_BOOKMARKINFO | Закладка
DBPROP_BOOKMARKS | Применять закладки
DBPROP_BOOKMARKSKIPPED | Пропускать исключенные закладки
DBPROP_BOOKMARKTYPE | Тип закладки
DBPROP_BYREFACCESSORS | Передавать через ссылку на средства доступа
DBPROP_CACHEDEFERRED | Кэширование отсроченных колонок
DBPROP_CANFETCHBACKWARDS | Выборка в обратном направлении
DBPROP_CANHOLDROWS | Удерживать записи
DBPROP_CANSCROLLBACKWARDS | Прокрутка назад
DBPROP_CATALOGLOCATION | Местонахождение каталога
DBPROP_CATALOGTERM | Условия каталога
DBPROP_CATALOGUSAGE | Использование каталога
DBPROP_CHANGEINSERTEDROWS | Изменить добавленые записи
DBPROP_COL_AUTOINCREMENT | Автоматически увеличивать
DBPROP_COL_DEFAULT | По умолчанию
DBPROP_COL_DESCRIPTION | Описание
DBPROP_COL_FIXEDLENGTH | Фиксированная длина
DBPROP_COL_NULLABLE | Обнуляемое
DBPROP_COL_PRIMARYKEY | Первичный ключ
DBPROP_COL_UNIQUE | Уникальное
DBPROP_COLUMNDEFINITION | Описание кодонки
DBPROP_COLUMNRESTRICT | Преимущества колонки
DBPROP_COMMANDTIMEOUT | Таймаут команды
DBPROP_COMMITPRESERVE | Защитить от сохранения изменений
DBPROP_CONCATNULLBEHAVIOR | Поведение при объединении нулевых строк
DBPROP_CURRENTCATALOG | Текущий каталог
DBPROP_DATASOURCENAME | Имя источника данных
DBPROP_DATASOURCEREADONLY | Источник данных только для чтения
DBPROP_DBMSNAME | Имя DBMS - database management system (системы управления базой данных)
DBPROP_DBMSVER | Версия DBMS
DBPROP_DEFERRED | Задержать колонку
DBPROP_DELAYSTORAGEOBJECTS | Задержать изменение хранилища объектов
DBPROP_DSOTHREADMODEL | Модель поточной обработки объекта источника данных
DBPROP_GROUPBY | GROUP BY поддержка
DBPROP_HETEROGENEOUSTABLES | Поддержка неоднородных таблиц
DBPROP_IAccessor | Интерфейс аксессора
DBPROP_IColumnsInfo | Интерфейс информации о колонке
DBPROP_IColumnsRowset | Интерфейс информации о колоке в наборе записей
DBPROP_IConnectionPointContainer | Интерфейс IConnectionPointContainer
DBPROP_IConvertType | Интерфейс преобразования типов данных
DBPROP_IDENTIFIERCASE | Определитель чувствительности к регистру
DBPROP_ILockBytes | Интерфейс ILockBytes
DBPROP_IMMOBILEROWS | Неподвижные записи
DBPROP_INDEX_AUTOUPDATE | Автоматическое обновление
DBPROP_INDEX_CLUSTERED | Сгруппированный индекс
DBPROP_INDEX_FILLFACTOR | Коэффициент заполнения индекса
DBPROP_INDEX_INITIALSIZE | Изначальный размер индекса
DBPROP_INDEX_NULLCOLLATION | Упорядочивание NULL значений
DBPROP_INDEX_NULLS | Допустимость NULL ключей в индексе
DBPROP_INDEX_PRIMARYKEY | Первичный ключ
DBPROP_INDEX_SORTBOOKMARKS | Сортировать закладок
DBPROP_INDEX_TEMPINDEX | Временный индекс
DBPROP_INDEX_TYPE | Тип индекса
DBPROP_INDEX_UNIQUE | Уникальный индекс
DBPROP_INIT_CATALOG | Исходный каталог
DBPROP_INIT_DATASOURCE | Источник данных
DBPROP_INIT_HWND | Дескриптор Окна
DBPROP_INIT_IMPERSONATION_LEVEL | Уровень заимствования прав
DBPROP_INIT_LCID | Локальный идентификатор
DBPROP_INIT_LOCATION | Местоположение
DBPROP_INIT_MODE | Режим
DBPROP_INIT_PROMPT | Подсказка
DBPROP_INIT_PROTECTION_LEVEL | Уровень защиты
DBPROP_INIT_PROVIDERSTRING | Расширенные свойства
DBPROP_INIT_TIMEOUT | Таймаут соединения
DBPROP_IProvideMoniker | Интерфейс IProvideMoniker
DBPROP_IRowset | Интерфейс IRowset
DBPROP_IRowsetChange | Интерфейс IRowsetChange
DBPROP_IRowsetCurrentIndex | Интерфейс IRowsetCurrentIndex
DBPROP_IRowsetFind | Интерфейс IRowsetFind
DBPROP_IRowsetIdentity | Интерфейс IRowsetIdentity
DBPROP_IRowsetIndex | Интерфейс IRowsetIndex
DBPROP_IRowsetInfo | Интерфейс IRowsetInfo
DBPROP_IRowsetLocate | Интерфейс IRowsetLocate
DBPROP_IRowsetRefresh | Интерфейс IRowsetRefresh
DBPROP_IRowsetResynch | Интерфейс IRowsetResynch
DBPROP_IRowsetScroll | Интерфейс IRowsetScroll
DBPROP_IRowsetUpdate | Интерфейс IRowsetUpdate
DBPROP_ISequentialStream | Интерфейс ISequentialStream
DBPROP_IStorage | Интерфейс IStorage
DBPROP_IStream | Интерфейс IStream
DBPROP_ISupportErrorInfo | Интерфейс ISupportErrorInfo
DBPROP_LITERALBOOKMARKS | Буквенные закладки
DBPROP_LITERALIDENTITY | Побуквенная идентичность записей
DBPROP_LOCKMODE | Режим блокировки
DBPROP_LOCKMODES | Режимы блокировок
DBPROP_MAXINDEXSIZE | Максимальный размер индекса
DBPROP_MAXOPENROWS | Максимальное количество открытых записей
DBPROP_MAXPENDINGROWS | Максимальное количество незавершенных записей
DBPROP_MAXROWS | Максимальное количество записей
DBPROP_MAXROWSIZE | Максимальный размер записи
DBPROP_MAXROWSIZEINCLUDESBLOB | Максимальный размер записи, включая BLOB
DBPROP_MAXTABLESINSELECT | Максимальное количество таблиц в SELECT команде
DBPROP_MAYWRITECOLUMN | Изменяемая колонка
DBPROP_MEMORYUSAGE | Употребление памяти
DBPROP_MULTIPLEPARAMSETS | Наборы множественных параметров
DBPROP_MULTIPLERESULTS | Множественные результаты
DBPROP_MULTIPLESTORAGEOBJECTS | Множественные хранилища объектов
DBPROP_MULTITABLEUPDATE | Обновление нескольких таблиц
DBPROP_NOTIFICATIONGRANULARITY | Уровень извещений
DBPROP_NOTIFICATIONPHASES | Этапы извещений
DBPROP_NOTIFYCOLUMNSET | Настройка уведомлений колонки
DBPROP_NOTIFYROWDELETE | Уведомнелие об удалении записи
DBPROP_NOTIFYROWFIRSTCHANGE | Уведомление о первом изменении записи
DBPROP_NOTIFYROWINSERT | Уведомление о вставке записи
DBPROP_NOTIFYROWRESYNCH | Уведомление о повторной синхронизации записи
DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE | Уведомление о смене позиции выборки в Rowset
DBPROP_NOTIFYROWSETRELEASE | Уведомленеи о закрытии Rowset
DBPROP_NOTIFYROWUNDOCHANGE | Уведомление об отмене изменений в записи
DBPROP_NOTIFYROWUNDODELETE | Уведомление об отмене удаления записи
DBPROP_NOTIFYROWUNDOINSERT | Уведомление об отмене вставки записи
DBPROP_NOTIFYROWUPDATE | Уведомление об изменении записи
DBPROP_NULLCOLLATION | Порядок сортировки NULL значений
DBPROP_OLEOBJECTS | Поддержка OLE объектов
DBPROP_OPENROWSETSUPPORT | Поддержка открытых Rowset
DBPROP_ORDERBYCOLUMNSINSELECT | Перечень колонок в ORDER BY в Select команде
DBPROP_ORDEREDBOOKMARKS | Упорядочевание закладок
DBPROP_OTHERINSERT | Показывать добавления записей другими потребителями
DBPROP_OTHERUPDATEDELETE | Показывать изменения других
DBPROP_OUTPUTPARAMETERAVAILABILITY | Доступность параметров вывода
DBPROP_OWNINSERT | Показывать свои вставленные записи
DBPROP_OWNUPDATEDELETE | Показывать свои изменения
DBPROP_PERSISTENTIDTYPE | Постоянный тип ID
DBPROP_PREPAREABORTBEHAVIOR | Поведение при подготовке прерывания
DBPROP_PREPARECOMMITBEHAVIOR | Поведение при подготовке Commit
DBPROP_PROCEDURETERM | Условие процедуры
DBPROP_PROVIDERFRIENDLYNAME | Полное имя провайдера
DBPROP_PROVIDERNAME | Имя провайдера
DBPROP_PROVIDEROLEDBVER | Версия OLE DB
DBPROP_PROVIDERVER | Версия провайдера
DBPROP_QUICKRESTART | Быстрый перезапуск
DBPROP_QUOTEDIDENTIFIERCASE | Чувствительность к идентификаторам в кавычках
DBPROP_REENTRANTEVENTS | Повторно используемые события
DBPROP_REMOVEDELETED | Удалять записи помеченные на удаление
DBPROP_REPORTMULTIPLECHANGES | Записывать множественные изменения
DBPROP_RETURNPENDINGINSERTS | Возвращать незаконченые вставленные записи
DBPROP_ROWRESTRICT | Привилегии записи
DBPROP_ROWSETCONVERSIONSONCOMMAND | Преобразование Rowset по команде
DBPROP_ROWTHREADMODEL | Модель обработки записей
DBPROP_SCHEMATERM | Условия Schema
DBPROP_SCHEMAUSAGE | Использование Schema
DBPROP_SERVERCURSOR | Курсор на сервере
DBPROP_SERVERDATAONINSERT | Вставляемые данные на сервере
DBPROP_SERVERNAME | Имя сервера
DBPROP_SESS_AUTOCOMMITISOLEVELS | Уровень локализации при автоматической фиксации тразакций
DBPROP_SQLSUPPORT | SQL поддержка
DBPROP_STRONGIDENTITY | Строгое определение записей
DBPROP_STRUCTUREDSTORAGE | Структурированное хранилище
DBPROP_SUBQUERIES | Поддержка подзапросов
DBPROP_SUPPORTEDTXNDDL | Транзакция DDL - Data_Definition_Language
DBPROP_SUPPORTEDTXNISOLEVELS | Уровни локализации
DBPROP_SUPPORTEDTXNISORETAIN | Сохранность локализации
DBPROP_TABLETERM | Условие таблицы
DBPROP_TBL_TEMPTABLE | Временная таблица
DBPROP_TRANSACTEDOBJECT | Транзакция объектов
DBPROP_UPDATABILITY | Обновляемость
DBPROP_USERNAME | Имя пользователя
DBPROP_VFPOLEDB_ANSI | настройка SET ANSI
DBPROP_VFPOLEDB_BLOCKSIZE | настройка SET BLOCKSIZE
DBPROP_VFPOLEDB_COLLATE | настройка SET COLLATE
DBPROP_VFPOLEDB_Column_Caption | Заголовок колонки
DBPROP_VFPOLEDB_Column_Comment | Комментарий колонки
DBPROP_VFPOLEDB_Column_Default | Значение по умолчанию
DBPROP_VFPOLEDB_Column_Error |
DBPROP_VFPOLEDB_Column_Format | Формат
DBPROP_VFPOLEDB_Column_FormDisplay | Класс для отображения
DBPROP_VFPOLEDB_Column_FormPath | Библиотека классов
DBPROP_VFPOLEDB_Column_InputMask | Маска ввода
DBPROP_VFPOLEDB_Column_RuleExpression | Выражение правила
DBPROP_VFPOLEDB_Column_RuleText | Текст правила
DBPROP_VFPOLEDB_DELETED | настройка SET DELETED
DBPROP_VFPOLEDB_EXACT | настройка SET EXACT
DBPROP_VFPOLEDB_INDEX | настройка SET INDEX
DBPROP_VFPOLEDB_INIT_COLLATE | Схема упорядочения
DBPROP_VFPOLEDB_NULL | настройка SET NULL
DBPROP_VFPOLEDB_ORDER | настройка SET ORDER
DBPROP_VFPOLEDB_PATH | настройка SET PATH
DBPROP_VFPOLEDB_REPROCESS | настройка SET REPROCESS
DBPROP_VFPOLEDB_Rowset_SP | Хранимые процедуры
DBPROP_VFPOLEDB_SESS_ID | Идентификатор внутренней сессии данных
DBPROP_VFPOLEDB_SETDEBUGOUTTO | Файл вывода отладчика
DBPROP_VFPOLEDB_SETDEFAULTTO | Диск и папка по умолчанию
DBPROP_VFPOLEDB_SETFULLPATH | настройка Set Fullpath ON/OFF
DBPROP_VFPOLEDB_Table_Comment | Комментарий к таблице
DBPROP_VFPOLEDB_Table_DeleteTrigger | Триггер на Delete
DBPROP_VFPOLEDB_Table_InsertTrigger | Триггер на Insert
DBPROP_VFPOLEDB_Table_Path | Путь к таблице
DBPROP_VFPOLEDB_Table_PrimaryKey | Первичный ключ
DBPROP_VFPOLEDB_Table_RuleExpression | Выражени правила для таблицы
DBPROP_VFPOLEDB_Table_RuleText | Текст правила
DBPROP_VFPOLEDB_Table_UpdateTrigger | Триггер на Update
DBPROP_VFPOLEDB_UNIQUE | настройка SET UNIQUE

Expand image Смотрите Также

Ссылки

Описание Языка для OLE DB Разработок
Поддержка данных Visual FoxPro OLE DB Провайдером
Поддерживаемые Команды и Функции Visual FoxPro в OLE DB Провайдере
Неподдерживаемые Команды и Функции Visual FoxPro в OLE DB Провайдере
Поддерживаемые OLE DB Объекты
OLE DB Провайдер для Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Backward-Compatible Language Elements

Visual FoxPro 9.0 Описание Языка
Обратная Совместимость Элементов Языка (Visual FoxPro)
См. Также

Представленные Элементы Языка включены для совместимости с младшими версиями FoxPro.

Контролы и Объекты, созданные в предыдущих версиях VFP

@ ... BOX , Команда

@ ... EDIT - Edit Boxes , Команда

@ ... GET - Check Boxes , Команда

@ ... GET - Combo Boxes , Команда

@ ... GET - , Команда Buttons , Команда

@ ... GET - List Boxes , Команда

@ ... GET - Option Buttons , Команда

@ ... GET - Spinners , Команда

@ ... GET - Text Boxes , Команда

@ ... GET - Transparent Buttons , Команда

@ ... MENU , Команда

@ ... PROMPT , Команда

@ ... SAY - Pictures & OLE Objects , Команда

@ ... SAY , Команда

@ ... TO , Команда

_ALIGNMENT , Системная Переменная

_ASSIST , Системная Переменная

_BOX , Системная Переменная

_CUROBJ , Системная Переменная

_FOXDOC , Системная Переменная

_GENGRAPH , Системная Переменная

_GENPD , Системная Переменная

_GENSCRN , Системная Переменная

_GENXTAB , Системная Переменная

_INDENT , Системная Переменная

_LMARGIN , Системная Переменная

_PADVANCE , Системная Переменная

_PBPAGE , Системная Переменная

_PCOLNO , Системная Переменная

_PCOPIES , Системная Переменная

_PDRIVER , Системная Переменная

_PDSETUP , Системная Переменная

_PECODE , Системная Переменная

_PEJECT , Системная Переменная

_PEPAGE , Системная Переменная

_PLENGTH , Системная Переменная

_PLINENO , Системная Переменная

_PLOFFSET , Системная Переменная

_PPITCH , Системная Переменная

_PQUALITY , Системная Переменная

_PSCODE , Системная Переменная

_PSPACING , Системная Переменная

_PWAIT , Системная Переменная

_RMARGIN , Системная Переменная

_TABS , Системная Переменная

_TRANSPORT , Системная Переменная

_WRAP , Системная Переменная

ACCEPT , Команда

ANSITOOEM( ), Функция

ASSIST , Команда

CALL , Команда

CLEAR , Командаs

COL( ), Функция

ColorScheme , Свойство

CREATE SCREEN - Quick Screen , Команда

CREATE SCREEN , Команда

DEFINE BOX , Команда

ErrorMessage Event

FIND , Команда (Visual FoxPro)

INPUT , Команда

INSERT , Команда

JOIN , Команда

LOAD , Команда

MDOWN( ), Функция

MemoWindow , Свойство

MENU , Команда

MENU TO , Команда

Message Event

MODIFY SCREEN , Команда

OBJNUM( ), Функция

OBJVAR( ), Функция

OEMTOANSI( ), Функция

ON KEY = , Команда

ON KEY , Команда

ON READERROR , Команда

OpenWindow , Свойство

RDLEVEL( ), Функция

READ , Команда

READ MENU , Команда

ReadActivate Event

ReadBackColor, ReadForeColor, Свойства

ReadCycle , Свойство

ReadDeactivate Event

ReadBackColor, ReadForeColor, Свойства

READKEY( ), Функция

ReadLock , Свойство

ReadMouse , Свойство

ReadObject , Свойство

ReadSave , Свойство

ReadShow Event

ReadTimeout , Свойство

ReadValid Event

ReadWhen Event

ROW( ), Функция

SET BORDER , Команда

SET BRSTATUS , Команда

SET CLEAR , Команда

SET COLOR OF , Команда

SET COLOR TO , Команда

SET DEBUG , Команда

SET DELIMITERS , Команда

SET DISPLAY , Команда

SET DOHISTORY , Команда

SET FORMAT , Команда

SET INTENSITY , Команда

SET VOLUME , Команда

SET WINDOW OF MEMO , Команда

SHOW GET , Команда

SHOW GETS , Команда

SHOW OBJECT , Команда

SizeBox , Свойство

SYS(100) - Установка Console

SYS(101) - Установка Device

SYS(102) - Установка Printer

SYS(103) - Установка Talk

SYS(15) - Трансляция символов

SYS(18) - Текущий Контрол

SYS(20) - Преобразование текста German

SYS(2016) - SHOW GETS WINDOW Name

SYS(23) - Использование памяти типа EMS

SYS(24) - Лимит памяти типа EMS

UPDATE , Команда

UPDATED( ), Функция

VARREAD( ), Функция

WindowList , Свойство

WREAD( ), Функция

ZoomBox , Свойство

См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Controls and Objects Created in Earlier Versions

Visual FoxPro 9.0 Справочное руководство по языку
Управляющие элементы и объекты, созданные в ранних версиях
Смотрите также

Эта тема описывает поддержку для управляющих элементов и объектов, созданных в ранних версиях FoxPro. Поведение некоторых управляющих элементов немного различвается в зависимости от того, какая версия использовалалсь, Visual FoxPro for Windows или Visual FoxPro for Macintosh; по умолчанию, элементы управления в Visual FoxPro for Macintosh следуют соглашениям по интерфейсу пользователя, общим для приложений Macintosh. Например, по умолчанию CheckBox, ComboBox и OptionButton не могут получить фокус в Visual FoxPro for Macintosh. Для получения более подробной информации о поведении управляющих элементов, смотрите тему Команда SET KEYCOMP.

В Visual FoxPro, опция NAME доступна для каждого управляющего элемента, созданного в предыдущих версиях FoxPro. Опция NAME создает объектную ссылку на управляющие элементы, созданные с помощью @ ... GET и @ ... EDIT и позволяют управлять элементами с помощью свойств, событий и методов Visual FoxPro. Опция NAME предоставляет промежуточный шаг, для обновления ваего приложения используя объектно-оринтированные методики Visual FoxPro.

Совместимость с управляющими элементами FoxPro 2.x

В приведенной ниже таблице перечислены управляющие элементы, доступные в ранних версяих FoxPro и базовые классы, которые вы можете использовать для программного создания таких элементов в Visual FoxPro.

Управляющие элементы FoxPro 2.x | Эквивалентные элементы VisualFoxPro | Имя базового класса Visual FoxPro
@ ... GET - Check Boxes | CheckBox Control | CheckBox
@ ... GET - Lists | ListBox Control | ListBox
@ ... GET - Popups | ComboBox Control | ComboBox
@ ... GET - Push Buttons | CommandButton Control | CommandButton
@ ... GET - Radio Buttons | OptionButton Control | OptionButton
@ ... GET - Spinners | Spinner Control | Spinner
@ ... GET - Text Boxes | TextBox Control | TextBox
@ ... EDIT - Text Edit Regions | EditBox Control | EditBox

Для просмотра полного списка базовых классов в Visual FoxPro, смотрите Базовые классы в Visual FoxPro.

Смотрите также

Справочное руководство

Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS

Прочие ресурсы

Объекты, коллекции и классы
Справочное руководство по языку (Visual FoxPro)
Совместимые назад элементы языка

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


@ ... BOX Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... BOX
См.также

Включено для совместимости с ранними версиями. Вместо этого используйте Shape control.

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... EDIT - Edit Boxes Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... EDIT - Edit Boxes
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте EditBox Control .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Check Boxes Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Check Boxes
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте CheckBox Control .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Combo Boxes Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Combo Boxes
См. также

Включена для совместимости с младшими версиями VFP. Используйте вместо этого ComboBox Control.

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Command Buttons Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Command Buttons
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте CommandButton Control .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - List Boxes Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - List Boxes
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте ListBox Control.

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Option Buttons Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Option Buttons
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте OptionGroup Control .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Spinners Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Spinners
См. также

Включена для совместимости с младшими версиями VFP. Используйте вместо этого Spinner Control.

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Text Boxes Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Text Boxes
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте TextBox Control.

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... GET - Transparent Buttons Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... GET - Transparent Buttons
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте CommandButton Control.

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... MENU Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... MENU
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Дизайнер Menu и Shortcut , а также Команду CREATE MENU .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... PROMPT Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... PROMPT
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Дизайнеры Menu и Shortcut , а также Команду CREATE MENU .

См. также

Другие Сссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... SAY - Pictures & OLE Objects Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... SAY - Pictures & OLE Objects
См. также

Включена для сомместимости с младшими версиями VFP. Вместо этого используйте Image Control, OLE Bound Control, или OLE Container Control .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... SAY Command

Visual FoxPro 9.0 Описание Языка
@ ... SAY Command
См.также

 Включено для совместимости с младшими версиями. Используйте Элемент Label для отображения текста, а также Элемент TextBox для отображения содержания полей и переменных.

См. также

Другие ссылки

Описание Язака

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


@ ... TO Command

Visual FoxPro 9.0 Описание Языка
Команда @ ... TO
См. также

 Включена для совместимости с младшими версиями. Используйте вместо этого Shape Control.

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_ALIGNMENT System Variable

Visual FoxPro 9.0 Справочник Языка
_ALIGNMENT Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_ASSIST System Variable

Visual FoxPro 9.0 Справочник Языка
_ASSIST Системная Переменная
См. Также

Включено для обратной совместимости. Используйте команду DO вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_BOX System Variable

Visual FoxPro 9.0 Справочник Языка
_BOX Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_CUROBJ System Variable

Visual FoxPro 9.0 Справочник Языка
_CUROBJ Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Свойство ActiveControl для новых форм вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_FOXDOC System Variable

Visual FoxPro 9.0 Справочник Языка
_FOXDOC Системная Переменная
См. Также

Включенна для обратной совместимости. Используйте Мастер Документации вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GENGRAPH System Variable

Visual FoxPro 9.0 Справочник Языка
_GENGRAPH Системная Переменная
См. Также

Включенна для обратной совместимости. Используйте Мастер Графиков вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GENPD System Variable

Visual FoxPro 9.0 Справочник Языка
_GENPD Системная Переменная
См. Также

Включено для обратной совместимости. Используйте параметр TO FILE ASCII в команде REPORT .

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GENSCRN System Variable

Visual FoxPro 9.0 Справочник Языка
_GENSCRN Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Проектировщик Формы вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_GENXTAB System Variable

Visual FoxPro 9.0 Справочник Языка
_GENXTAB Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Cross-tab Wizard вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_INDENT System Variable

Visual FoxPro 9.0 Справочник Языка
_INDENT Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка
Обзор системных переменных

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_LMARGIN System Variable

Visual FoxPro 9.0 Справочник Языка
_LMARGIN Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PADVANCE System Variable

Visual FoxPro 9.0 Справочник Языка
_PADVANCE Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PBPAGE System Variable

Visual FoxPro 9.0 Справочник Языка
_PBPAGE Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PCOLNO System Variable

Visual FoxPro 9.0 Справочник Языка
_PCOLNO Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PCOPIES System Variable

Visual FoxPro 9.0 Справочник Языка
_PCOPIES Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PDRIVER System Variable

Visual FoxPro 9.0 Справочник Языка
_PDRIVER Системная Переменная
См. Также

Включено для обратной совместимости. Используйте параметр TO FILE ASCII в REPORT .

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PDSETUP System Variable

Visual FoxPro 9.0 Справочник Языка
_PDSETUP Системная Переменная
См. Также

Включено для обратной совместимости. Используйте параметр TO FILE ASCII в команде REPORT .

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PECODE System Variable

Visual FoxPro 9.0 Справочник Языка
_PECODE Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PEJECT System Variable

Visual FoxPro 9.0 Справочник Языка
_PEJECT Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PEPAGE System Variable

Visual FoxPro 9.0 Справочник Языка
_PEPAGE Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PLENGTH System Variable

Visual FoxPro 9.0 Справочник Языка
_PLENGTH Системная Переменная
См. Также

Включенна для обратной совместимости. Используйте Проектировщик Отчета вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PLINENO System Variable

Visual FoxPro 9.0 Справочник Языка
_PLINENO Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PLOFFSET System Variable

Visual FoxPro 9.0 Справочник Языка
_PLOFFSET Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PPITCH System Variable

Visual FoxPro 9.0 Справочник Языка
_PPITCH Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PQUALITY System Variable

Visual FoxPro 9.0 Справочник Языка
_PQUALITY Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PSCODE System Variable

Visual FoxPro 9.0 Справочник Языка
_PSCODE Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PSPACING System Variable

Visual FoxPro 9.0 Справочник Языка
_PSPACING Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_PWAIT System Variable

Visual FoxPro 9.0 Справочник Языка
_PWAIT Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_RMARGIN System Variable

Visual FoxPro 9.0 Справочник Языка
_RMARGIN Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TABS System Variable

Visual FoxPro 9.0 Справочник Языка
_TABS Системная Переменная
См. Также

Включено для обратной совместимости. Используйте Report Designer вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_TRANSPORT System Variable

Visual FoxPro 9.0 Справочник Языка
_TRANSPORT Системная Переменная
См. Также

Включено для обратной совместимости.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


_WRAP System Variable

Visual FoxPro 9.0 Справочник Языка
_WRAP Системная Переменная
См. Также

Включено для обратной совместимости. Использьзуйте вместо этого Report Designer .

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ACCEPT Command

Visual FoxPro 9.0 Описание Языка
ACCEPT, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Контрол TextBox .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ANSITOOEM( ) Function

Visual FoxPro 9.0 Справочник Языка
ANSITOOEM () Функция
См. Также

Включено для обратной совместимости. Используйте GETCP( ) вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ASSIST Command

Visual FoxPro 9.0 Описание Языка
ASSIST, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Команду DO .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CALL Command

Visual FoxPro 9.0 Описание Языка
CALL, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте SET LIBRARY .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


COL( ) Function

Visual FoxPro 9.0 Справочник Языка
COL () Функция
См. Также

Включено для обратной совместимости. Используйте свойства CurrentX, CurrentY .

?

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ColorScheme Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ColorScheme
Смотрите также
CollapseAll image

Включен для совместимости с ранними версиями. Используйте вместо него свойства BackColor, ForeColor.

?

Expand image Смотрите также

Прочие ресурсы

Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


CREATE SCREEN - Quick Screen Command

Visual FoxPro 9.0 Описание Языка
CREATE SCREEN - команда Quick Screen
CollapseAll image

Команда включена для совместимости с младшими версиями VFP. Вместо этого используйте Дизайнер Форм .

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CREATE SCREEN Command

Visual FoxPro 9.0 Описание Языка
CREATE SCREEN, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Команду CREATE FORM .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


DEFINE BOX Command

Visual FoxPro 9.0 Описание Языка
DEFINE BOX, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Дизайнер Отчетов .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ErrorMessage Event

Visual FoxPro 9.0 Описание Языка
ErrorMessage, событие
См. также
CollapseAll image

Включено для совместимости с версией FoxPro 2.x. Вместо этого используйте Событие Valid .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


FIND Command (Visual FoxPro)

Visual FoxPro 9.0 Описание Языка
FIND, команда (Visual FoxPro)
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Команду SEEK .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


INPUT Command

Visual FoxPro 9.0 Описание Языка
INPUT, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Контрол TextBox .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


INSERT Command

Visual FoxPro 9.0 Описание Языка
INSERT, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: команды APPEND или INSERT - SQL .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


JOIN Command

Visual FoxPro 9.0 Описание Языка
JOIN, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Команду SELECT - SQL .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


LOAD Command

Visual FoxPro 9.0 Описание Языка
LOAD, команда
См. также
CollapseAll image

Далее не поддерживается. Вместо этого используйте SET LIBRARY .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MDOWN( ) Function

Visual FoxPro 9.0 Описание Языка
MDOWN( ), функция
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: обработку событий Click, MouseDown, MouseUp, или RightClick .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MemoWindow Property

Visual FoxPro 9.0 Описание Языка
MemoWindow, свойство
См. также
CollapseAll image

Включено для совместимости с младшими версиями VFP. Вместо этого используйте: Контрол EditBox .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MENU TO Command

Visual FoxPro 9.0 Описание Языка
MENU TO, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Дизайнер Меню , для создания Пользовательских Меню.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Message Event

Visual FoxPro 9.0 Описание Языка
Message, событие
См. также
CollapseAll image

Включено для совместимости с младшими версиями VFP. Вместо этого используйте: StatusBarText, свойство.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


MODIFY SCREEN Command

Visual FoxPro 9.0 Описание Языка
Команда MODIFY SCREEN
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте MODIFY FORM .

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OBJNUM( ) Function

Visual FoxPro 9.0 Справочник Языка
OBJNUM () Функция
См. Также

Включено для обратной совместимости. Используйте Свойство TabIndex для контролов вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OBJVAR( ) Function

Visual FoxPro 9.0 Справочник Языка
OBJVAR () Функция
См. Также

Включено для обратной совместимости. Используйте Свойство Name для контролов вместо этого.

?

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OEMTOANSI( ) Function

Visual FoxPro 9.0 Описание Языка
OEMTOANSI( ), функция
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Функцию GETCP( ) .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ON KEY = Command

Visual FoxPro 9.0 Описание Языка
ON KEY = Command
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Команду ON KEY LABEL .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ON KEY Command

Visual FoxPro 9.0 Описание Языка
ON KEY, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Команду ON KEY LABEL .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ON READERROR Command

Visual FoxPro 9.0 Описание Языка
ON READERROR, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Событие Valid .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


OpenWindow Property

Visual FoxPro 9.0 Описание Языка
OpenWindow, свойство
См. также
CollapseAll image

Включено для совместимости с младшими версиями VFP. Вместо этого используйте: Контрол EditBox .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


RDLEVEL( ) Function

Visual FoxPro 9.0 Описание Языка
RDLEVEL( ), функция
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


READ MENU Command

Visual FoxPro 9.0 Описание Языка
READ MENU, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте: Дизайнер Меню , для создания Меню.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadActivate Event

Visual FoxPro 9.0 Описание Языка
Событие ReadActivate
See Also

Включена для совместимости с младшими версиями VFP, командой READ. Вместо этого используйте Дизайнер Форм

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ReadBackColor, ReadForeColor Properties

Visual FoxPro 9.0 Описание Языка
ReadBackColor, ReadForeColor, свойства
См. также
CollapseAll image

Включены для совместимости выполнения команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadCycle Property

Visual FoxPro 9.0 Описание Языка
ReadCycle, свойство
См. также
CollapseAll image

Включено для совместимости выполнения команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadDeactivate Event

Visual FoxPro 9.0 Описание Языка
Событие ReadDeactivate
См. также

Включена для совместимости с младшими версиями VFP, при использовании команды READ. Вместо этого используйте Дизайнер Форм

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


READKEY( ) Function

Visual FoxPro 9.0 Описание Языка
READKEY( ), функция
См. также
CollapseAll image

Включено для совместимости с выполнением команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadLock Property

Visual FoxPro 9.0 Описание Языка
ReadLock, свойство
См. также
CollapseAll image

Включено для совместимости выполнения команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadMouse Property

Visual FoxPro 9.0 Описание Языка
ReadMouse, свойство
См. также
CollapseAll image

Включено для совместимости с младшими версиями VFP, командой READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadObject Property

Visual FoxPro 9.0 Описание Языка
ReadObject, событие
См. также
CollapseAll image

Включено для совместимости выполнения команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadSave Property

Visual FoxPro 9.0 Справочное руководство по языку
Свойство ReadSave
Смотрите также
CollapseAll image

Включено для совместимости с командой READ ранних версий FoxPro. Используйте вместо этих команд Form Designer для создания форм.

?

Expand image Смотрите также

Прочие ресурсы

Справочное руководство по языку (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


ReadShow Event

Visual FoxPro 9.0 Описание Языка
ReadShow, событие
См. также
CollapseAll image

Включено для совместимости выполнения команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadTimeout Property

Visual FoxPro 9.0 Описание Языка
ReadTimeout, свойство
См. также
CollapseAll image

Включено для совместимости с младшими версиями VFP, командой READ. Вместо этого используйте Дизайнер Форм.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadValid Event

Visual FoxPro 9.0 Описание Языка
ReadValid, событие
См. также
CollapseAll image

Включено для совместимости с выполнением команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


ReadWhen Event

Visual FoxPro 9.0 Описание Языка
ReadWhen, событие
См. также
CollapseAll image

Включено для совместимости с выполнением команды READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SET BORDER Command

Visual FoxPro 9.0 Описание Языка
Команда SET BORDER
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Свойство BorderStyle.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET BRSTATUS Command

Visual FoxPro 9.0 Описание Языка
Команда SET BRSTATUS
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Свойство StatusBarText.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET CLEAR Command

Visual FoxPro 9.0 Описание Языка
Команда SET CLEAR
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Метод Refresh .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET COLOR OF Command

Visual FoxPro 9.0 Описание Языка
Команда SET COLOR OF
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте SET COLOR OF SCHEME.

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET COLOR TO Command

Visual FoxPro 9.0 Описание Языка
Команда SET COLOR TO
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте SET COLOR OF SCHEME.

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET DEBUG Command

Visual FoxPro 9.0 Справочник Языка
SET DEBUG Команда
См. Также

Включено для обратной совместимости. Делает окна Debug и Trace доступными или недоступными из системного меню Visual FoxPro в версиях до 5.0.

SET DEBUG ON | OFF

Параметры

ON

(Значение по умолчанию) Делает окна Debug и Trace доступными или недоступными из системного меню Visual FoxPro.
OFF

Делает окна Debug и Trace недоступными из системного меню Visual FoxPro. Однако, когда SET DEBUG установлен в OFF, Вы можете открыть окно Debug с помощью SET ECHO ON или ACTIVATE WINDOW DEBUG, а окно Trace - с помощью SET STEP ON или ACTIVATE WINDOW TRACE.

Замечания

Для подробной информации относительно использования окон Trace и Debug, см. Тестирование и Отладка Приложений .

См. Также

Другие Ресурсы

CLEAR DEBUG Команда
DEBUG Команда
SET_ECHO Команда
SET Краткий обзор Команды
Команды
Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET DELIMITERS Command

Visual FoxPro 9.0 Описание Языка
Команда SET DELIMITERS
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Свойство Format .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET DISPLAY Command

Visual FoxPro 9.0 Описание Языка
Команда SET DISPLAY
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте свойства Шрифта системной переменной _SCREEN .

См. также

Другие Ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET DOHISTORY Command

Visual FoxPro 9.0 Описание Языка
Команда SET DOHISTORY
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Окно Trace.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET FORMAT Command

Visual FoxPro 9.0 Описание Языка
Команда SET FORMAT
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Свойство Format.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SET INTENSITY Command

Visual FoxPro 9.0 Описание Языка
Команда SET INTENSITY
См. также

Включена для совместимости с младшими версиями VFP. Вместо этого используйте SET COLOR OF SCHEME.

См. также

Другие ссылки

Описание Языка

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET VOLUME Command

Visual FoxPro 9.0 Описание Языка
Команда SET VOLUME
См. также Пример

Включена для совместимости с младшими версиями VFP. Определяет схему устройств MS-DOS (A:, B:, C:, и так далее) для томов и папок в системе FoxPro для Macintosh.

Копировать код
SET VOLUME cMS-DOSDrive TO [cMacintoshPath]

Параметры

cMS-DOSDrive

Определяет в MS-DOS описатель устройства, и может быть символом в диапазоне: от A до Z. Признак устройства (двоеточие) может быть опущен (отсутствовать).
cMacintoshPath

Определяет имя тома, устройства, каталога, папки, для системы Macintosh может указываться с символами (: или ::), для MS-DOS - соответственно: (\ или ..). Если параметр cMacintoshPath содержит пробелы, то весь путь должен заключен в кавычки. Если в параметре cMacintoshPath указывается неполный путь, то система корреспондирует его с текущим каталогом (или относительно текущего каталога).

Комментарии

Данная команда работает только в системах FoxPro для Macintosh.

Команда SET VOLUME является переносимой для программных модулей, написанных в FoxPro для MS-DOS или Visual FoxPro в соответствующие системы FoxPro для Macintosh. Для каждого случая описания устройства в системах MS-DOS FoxPro выполняет настройку соответствия заданных описаний устройств и папок для системы Macintosh.

Когда Вы запускаете систему FoxPro для Macintosh, устройство и текущий каталог определяются автоматически. Тем не менее, Вы можете указать данные параметры в соответствующем конфигурационном файле Visual FoxPro, опция VOLUME.

Используйте команду DISPLAY STATUS для отображения текущего устройства и каталога.

Пример

Следующие примеры описывают назначение устройств MS-DOS C в соответствующие тома системы Macintosh: MacHD или Mac HD:

Копировать код
SET VOLUME C: TO MacHD:
SET VOLUME C: TO 'Mac HD:'
SET VOLUME C TO 'Mac HD:'

Для системы Macintosh можно задавать не только имена устройств, но и папок:

Копировать Код
SET VOLUME C: TO MacHD:FolderOne
SET VOLUME C TO 'MacHD:Folder One'

Схема обозначений, используемая в MS-DOS может также использоваться в системе Macintosh . Аналогично MS-DOS, корневой каталог может быть указан для Macintosh следующей командой:

Копировать код
SET VOLUME C TO \

Корневой каталог диска "С" для MS-DOS C может быть указан без соответствующего параметра для системы Macintosh:

Копировать код
SET VOLUME C TO

См. также

Другие ссылки

Функция SYS(5) – Default Drive
Функция SYS(2003) – Current Directory

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SET WINDOW OF MEMO Command

Visual FoxPro 9.0 Описание Языка
SET WINDOW OF MEMO, команда
См. также
CollapseAll image

Команда включена для совместимости с младшими версиями VFP. Вместо этого используйте Контрол TextBox .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


SHOW GET Command

Visual FoxPro 9.0 Описание Языка
Команда SHOW GET
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Метод Refresh для обновления объектов при изменении их свойств.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SHOW GETS Command

Visual FoxPro 9.0 Описание Языка
Команда SHOW GETS
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Метод Refresh, для обновления объектов и контролов в форме или контейнере formset, которые были изменены.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SHOW OBJECT Command

Visual FoxPro 9.0 Описание Языка
Команда SHOW OBJECT
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте Метод Refresh , для обновления объектов формы, свойства которых были недавно изменены.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(100) - Console Setting

Visual FoxPro 9.0 Описание Языка
SYS(100) - Установка "Console"
См. также Пример
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте SET("CONSOLE").

CopyCode image Копировать Код
SYS(100)

Expand image Возвращаемое значение

Символьное

Expand image Пример

CopyCode image Копировать Код
IF SYS(100) != 'ON'
   SET CONSOLE ON
ENDIF

Expand image См. также

Описание

Команда SET CONSOLE
SYS( ) Общее Описание
Опция PREVIEW не совместима с опциями OFF / NOCONSOLE или TO PRINT / FILE (Ошибка 1681)
Функция SET( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(101) - Device Setting

Visual FoxPro 9.0 Описание Языка
SYS(101) - Установка (Set) Device
См. также Пример
CollapseAll image

Включена для совместимости с младшими версиями. Вместо этого используйте SET("DEVICE").

CopyCode image Копировать Код
SYS(101)

Expand image Возвращаемое Значение

Символьное

Expand image Пример

CopyCode image Копировать Код
IF SYS(101) != 'SCREEN'
   SET DEVICE TO SCREEN
ENDIF

Expand image См. также

Описание

Команда SET DEVICE
SYS( ) Общее Описание
SYS(100) - Установка Console
SYS(102) - Установка Printer
Функция SET( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(102) - Printer Setting

Visual FoxPro 9.0 Описание Языка
SYS(102) - Установка Принтера
См. также Пример
CollapseAll image

Включена для совместимости смладшими версиями VFP. Вместо этого используйте функцию SET("PRINTER").

CopyCode image Копировать Код
SYS(102)

Expand image Возвращаемое значение

Символьное

Expand image Пример

CopyCode image Копировать Код
IF SYS(102) != 'OFF'
   SET PRINTER OFF
ENDIF

Expand image См. также

Описание

Команда SET PRINTER
SYS( ) Общее Описание
Функция GETPRINTER( )
Функция SET( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SYS(103) - Talk Setting

Visual FoxPro 9.0 Описание Языка
SYS(103) - Установка TALK
См. также Пример
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте SET("TALK").

CopyCode image Копировать Код
SYS(103)

Expand image Return Values

Символьное

Expand image Пример

CopyCode image Копировать Код
IF SYS(103) != 'ON'
   SET TALK ON
ENDIF

Expand image См. также

Описание

Команда SET TALK
SYS( ) Общее Описание
Функция SET( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


WindowList Property

Visual FoxPro 9.0 Описание Языка
WindowList, свойство
См. также
CollapseAll image

Включено для совместимости с младшими версиями VFP, командой READ. Вместо этого используйте Дизайнер Форм .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


TerminateRead Property

Visual FoxPro 9.0 Описание Языка
TerminateRead, свойство
См. также
CollapseAll image

Включено для совместимости с выполнением Команды READ.

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


UPDATE Command

Visual FoxPro 9.0 Описание Языка
UPDATE, команда
См. также
CollapseAll image

Включена для совместимости с младшими версиями VFP. Вместо этого используйте UPDATE - SQL .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


UPDATED( ) Function

Visual FoxPro 9.0 Справочник Языка
UPDATED () Функция
См. Также

Включено для обратной совместимости. Используйте события InteractiveChange или ProgrammaticChange вместо этого.

См. Также

Другие Ресурсы

Справочник Языка

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


VARREAD( ) Function

Visual FoxPro 9.0 Описание Языка
VARREAD( ), функция
См. также
CollapseAll image

Включена для совместимости с младшими версиями Visual FoxPro. Вместо этого используйте ControlSource, свойство или Name, свойство (Visual FoxPro) .

Expand image См. также

Другие ссылки

Описание Языка (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


User Interface Reference (Visual FoxPro)

Visual FoxPro 9.0
Справочник по интерфейсу (Visual FoxPro)

Справочник по интерфейсу (User interface (UI)) дает объяснение назначению опций, которые содержатся в различных диалоговых боксах, окнах и других частях интерфейса. Эти темы обычно появляются при нажатии F1 в диалоговом боксе или окне.

В этом разделе

Построители

Описываются построители, включенные в Visual FoxPro, и то, как их применять для создания элементов управления, форм и ссылочной целостности между таблицами базы данных.
Конструкторы

Обсуждаются конструкторы, которые позволяют визуально создавать окна, диалоговые боксы и компоненты приложения.
Диалоговые боксы

Объясняется назначение опций, которые содержатся в различных диалоговых боксах Visual FoxPro.
Управляющая панель задачи (Task Pane Manager)

Описывается управляющая панель задач, которая содержит информацию о задачах и раскрывает внутреннюю сущность задач для простоты их решения. Отдельные панели могут содержать статическую или динамическую информацию, выбирать из интернета заголовки сайтов и новостей, связанных с Visual FoxPro, запускать мастера для выполнения стандартных задач, отображать справку и показывать примеры решений задач. Вы можете создать собственную панель и сделать ее доступной для других пользователей.
Инструментальная панель

Описывается инструментальная панель Visual FoxPro, которая отображает элементы, использованные при создании приложения. Элементы в наборе (коллекции инструментов) объединены по категориям.
Мастера

Обсуждаются мастера (диалоговые программы) Visual FoxPro, которые помогут вам быстро выполнить типовые задачи, такие как, создание форм, отчетов и запросов, импорт и перенос данных, публикации в HTML и т.д.
Окна

Объясняется назначение опций, которые содержатся в различных диалоговых боксах, , окнах и других частях интерфейса.

Связанные разделы

Справочная информация

Включает в себя тематические разделы по инструментам, а также по доступным элементам управления, объектам, свойствам, методам, операторам, функциям и константам.
Общий справочник

Включает техническую информацию, связанную с Visual FoxPro, в том числе типы файлов, структуры файлов и другую справочную информацию об элементах Visual FoxPro.
Сообщения об ошибках

Приводятся типичные сообщениях об ошибках, которые могут возникнуть у пользователя при работе с Visual FoxPro.
Разработка приложений на Visual FoxPro

Объясняются принципы создания на Visual FoxPro приложений , даются инструкции по созданию баз данных, пользовательского интерфейса и решению проблем, которые могут возникнуть при создании приложений.
Программирование в Visual FoxPro

Обсуждаются вопросы создания приложений, которые используют все мощные возможности Visual FoxPro. Даются понятия технологии объектно-ориентированного программирования и событийной модели , которые помогут повысить вашу производительность при программировании.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Builders

Visual FoxPro 9.0
Построители

Построители (Builders) представляют собой инструменты, помогающие установить свойства управляющих элементов на форме. В отличие от мастеров (wizards), построители являются повторно используемыми, поэтому вы можете многократно повторно открывать построитель для конкретного управляющего элемента.

Visual FoxPro включает в себя ряд общих построителей для многих общих элементов управления для форм, включая grids, list boxes, combo boxes, check boxes, command groups и option groups.

Visual FoxPro предлагает широкий наброй построителей. Для получения подробной инфорамции используйте приведенный ниже список.

В этом разделе

Как: использовать Построители

Предоставляет инструкции по созданию элементов управления и использованию построителей.

Построитель приложения

Отображает закладочное диалоговое окно для упрощения создания и изменения форм, сложных элементов управления и прочих необзятальных компонентов эффективних и удовлетворяющих опреленным требованиям приложений.

Построитель AutoFormat

Позволяет вам применить набор стилей для выбранных элементов управления одного и того же типа.

Построитель Combo Box

Позволяет вам легко установить свойства для элемента управления Combo Box.

Построитель Command Group

Позволяет вам легко установить свойства для элемента управления Command Group.

Построитель CursorAdapter

Позволяет вам легко и быстро создавать объекты CursorAdapter.

Построитель DataEnvironment

Позволяет вам легко создавать объекты DataEnvironment, которые используют возможности объектов CursorAdapter.

Построитель Edit Box

Позволяет вам легко установить свойства для элемента управления Edit Box.

Построитель Form

Позволяет вам легко ввести в форму поля в виде новых элементов управления.

Построитель Grid

Позволяет вам легко установить свойства для элемента управления Grid.

Построитель List Box

Позволяет вам легко установить свойства для элемента управления List Box.

Построитель Option Group

Позволяет вам легко установить свойства для элемента управления Option Group.

Построитель Referential Integrity

Помогает вам гарантировать ссылочную целостность данных с помощью установки триггеров, для управления процессами вставки, обновления или удаления в связанных таблицах.

Построитель Text Box

Позволяет вам легко установить свойства для элемента управления Text Box.

Построитель XML Web Service

Позволяет вам связать XML Web service с элементом управления на форме Visual FoxPro или к объекту, такому как cursor adapter в окружении данных формы, без написания кода.

Связанные разделы

Руководство по интерфейсу пользователя (Visual FoxPro)

Объясняются опции, которые появляются в различных диалоговых окна и прочих элементах интерфейса пользователя. Эти типы статей появляются в общем случае при нажатии на F1 в диалоговых окнах или окне Visual FoxPro .

Создание приложений с помощью Application Framework

Объясняется как создавать приложения с помощью Application Framework, испрользуя мастер Application Wizard и построитель Application Builder.

Разработка приложений Visual FoxPro

Включает в себя концертуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и интерфейса пользователя, а также о прочих задачах, связанных с созданием приложений Visual FoxPro.

Программирование в Visual FoxPro

Описывается как понимание методик объектно-ориентированного программирования и событийно-управляемой модели могут максимально увеличить вашу производительность в программировании и предоставить вам доступ к полной мощи Visual FoxPro.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выпонлен JS.


How to: Use Builders

Visual FoxPro 9.0
Как: Использовать Построители (Builders)
См. также

Вы можете использовать системные Построители (builders) при разработке пользовательских Контролов, Форм, других элементов приложения, а также создания ссылочной целостности между таблицами в Базе Данных (referential integrity).

Для построения Контрола

  • Из бокса Form Controls toolbar, выберите кнопку Builder Lock. Каждый раз, когда вы добавляете новый элемент в вашу Форму, система Visual FoxPro предлагает вам соответствующий Построитель (для уточнения характеристик создаваемого объекта).

    -или-

  • Выберите нужный Контрол, размещенный на вашей форме, нажмите кнопку Builder, находящуюся в окне Properties.

Для использования Построитель Форм

  • В меню Form , выберите пункт Quick Form.

При работе с несколькими объектами данной формы, вы можете их форматировать, или размещать при помощи построителя AutoFormat Builder.

Для форматирования нескольких Объектов

  1. В активном окне Form Designer, выделите несколько объектов (групповое выделение).

  2. В инструментальном боксе Form Designer Toolbar, выберите кнопку AutoFormat.

Когда окно соответствующего построителя отобразится, выберите нужную опцию форматирования, и нажмите кнопку OK, для выполнения изменений форматирования.

См. также

Другие ссылки

Построители (Builders)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Application Builder

Visual FoxPro 9.0
Построитель Приложений
Смотрите Также

Системное окно Построителя Приложений с несколькими Закладками позволяет вам достаточно эффективно управлять основными компонентами создаваемого приложения, создавать и изменять Формы, унифицированные элементы управления, используемые в вашем приложении.

Для использования Построителя Приложений:

  1. В системном Меню Tools, выберите подраздел Wizards, и выберите подпункт All Wizards. Активируется дополнительный диалоговый бокс Wizard Selection.

  2. В указанном выше диалоговом боксе Wizard Selection, выберите требуемый подпункт: Application Builder.

Общий вид Построителя Приложений

Построитель Приложений значительно интегрирован по структурным файлам приложения с Мастером построения Приложений, поэтому вы можете достаточно просто и эффективно создавать полнофункциональные Приложения без написания программного Кода (кодирования). С помощью рассматриваемого Инструментального средства вы можете также выполнить следующее:

  • Добавить, Изменить, Исключить из Приложения такие компоненты как: Таблицы Данных, Формы, Отчеты.

  • Определить (или изменить) визуальное представление для используемых Форм и Отчетов.

  • Добавить (или Описать) общие компоненты Приложения, такие как: Splash Screen, диалоговое окно "О Программе...", Ключевые (главные) пункты системного Меню, Диалоговое окно Регистрации входа в приложение (User Login), и прочие инструментальные Элементы Приложения.

  • Определить Обязательства производителя Приложения, текущую Версию Приложения, прочую информацию.

  • Просмотреть текущее состояние Данных в используемых Таблицах, которые обрабатываются в Приложении (Закладка: Data).

Как и все Построители в системе Visual FoxPro, рассматриваемый Построитель Приложений может использоваться многократно для проекта создаваемого Приложения. Вы можете закрыть системное окно Построителя и открыть его вновь для внесения требуемых изменений, корректировки параметров. Для повторного открытия Построителя приложений достаточно выполнить операцию "Right-Clicking" в открытом Проекте приложения и выбрать подпункт Builder (Построитель).

Note Обратите Внимание

Выполненные вами дополнительные изменения (или некоторые правки) не будут активированы в создаваемом Приложении до тех пор, пока не будет выполнен процесс Сборки нового экземпляра Приложения.

Дополнительную информацию смотрите в разделе: Создание Приложения с помощью Application Framework.

Закладки Построителя

General

В данной Закладке определяются основные характеристики Приложения, имя приложения, дополнительные характеристики, стартовая картинка (Splash Screen), стартовая Форма, Тип создаваемого Приложения.

Credits

Определяются характеристики Принадлежности данного Приложения, Автор, Организация, Версия, Copyright, TradeMark.

Data

Определяются Источники обрабатываемых Приложением Данных, описываются форматы данных в Формах и Отчетах рассматриваемого Приложения.

Forms

Определяются типы используемых подсистем Меню, элементы меню, подключаемые из других компонентов или Форм, инструментальные компоненты ToolBars, а также другие специализированные Формы, которые могут использоваться многократно (в различных режимах Приложения).

Reports

Определяются основные названия Отчетов, включенных в данное Приложение.

Advanced

Определяется файл-справка (Help file), основная Папка данного приложения. В данной закладке вы можете также определить включение в приложение стандартных системных Инструментариев, определить основные (главные) пункты системного Меню приложения.

См. также

Описание

Файлы Структуры Приложения (Application Framework)
Мастер создания Приложения
Закладка Advanced (Расширение), Построитель Приложения
Закладка Credits (Обязательства), Построитель Приложения
Закладка Data (Данные), Построитель Приложения
Закладка Forms (Формы), Построитель Приложения
Закладка General (Основное), Построитель Приложения
Закладка Reports (Отчеты), Построитель Приложения

Другие ссылки

Построители (Builders)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


General Tab, Application Builder

Visual FoxPro 9.0
Закладка "General", Построитель Приложений (Application Builder)
Смотрите Также

В рассмматриваемой Закладке Построителя Приложений (Application Builder), вы можете уточнить Наименование пользовательского приложения, определить другие дополнительные характеристики (Splash Screen, StartUp Form, Type Application).

Name (Имя)

Определяет Полное Название вашего Приложения, которое может быть использовано в Заголовке Главного Окна, в Диалоговом боксе "О Программе...", или в других специальных местах Приложения.

Image (Картинка, Изображение)

Определяет имя файла с графическим изображением, которое может использоваться в описательных процедурах Приложения (Splash Screen, About Dialog Box). Вы можете использовать различные файлы иконок (.ico), некоторые представлены в каталогах Visual FoxPro \Graphics\ICO, вы можете использовать и другие графические файлы в форматах: .bmp, / .gif, / .jpg.

Тип Приложения

Представленные далее Опции обеспечивают уточнение характеристик выполнения создаваемого Приложения:

Normal (обычный, нормальный)

Приложение запускается в главном системном окне Visual FoxPro, используется стандартная настройка параметров Среды Данных Visual FoxPro, включая системное Меню.

Module (Модуль, программа)

Данное Приложение добавляется в другое приложение, или может быть вызвано из другого Приложения. Рассматриваемое приложение обычно открывает (создает) дополнительный раздел существующего системного Меню, поэтому функционирует как дополнительная Компонента общего Приложения.

Note Обратите Внимание

В силу того, что рассматриваемый вариант Приложения обычно не активирует цикл Ожидания (READ EVENTS) и/или не изменяет текущих Установок Среды Данных Visual FoxPro, его функции успешно выполняются как в услових выполнения внешнего Приложения в режиме Run-Time, или непосредственно в среде разработки Visual FoxPro. Смотрите дополнительно раздел: READ EVENTS, команда.
Top-Level (Приложение Верхнего Уровня)

Данный вариант обеспечивает создание Приложения как независимого приложения типа Microsoft Windows. В этом случае Главное окно системы Visual FoxPro может не использоваться совсем, или использоваться вариантно. Для обеспечения многопоточного (многооконного) интерфейса в стиле: Windows Multiple-Document Interface (MDI) обычно используется системная переменная _SCREEN. Дополнительную информацию смотрите в разделе: _SCREEN, системная переменная.

Общие Диалоги

Описываемые далее Переключатели типа Check-Box определяют использование в вашем Приложении следующих общих Диалогов:

Splash Screen (Экран Заставки, Заставка)

Определяет использование стартовой графической картинки, которая содержится в графическом файле, определяемом для поля с именем Image.

Quick Start form (Стартовая Форма Приложения)

В некоторых случаях рассматриваемый вид Стартовой Формы Приложения может обеспечить пользователя доступ к конкретным файлам данных вашего риложения.

About dialog (Диалоговое окно "О Программе...")

Обеспечивает Общую, Итоговую, или Краткую информацию о вашем Приложении.

User Logins (Регистрация Пользователя, ввод идентификатора и пароля)

Данный специализированный Диалоговый бокс обычно используется для разграничения доступа к функциям вашего Приложения, или огбеспечивает регистрацию Пользователя Приоложения (для регистрации в Журналах, или для построения Динамического Меню конкретного Пользователя, или группы Пользователей).

Icon (Иконка)

Определяет некоторый графический файл, который может быть использован для главного окна Приложения (_SCREEN), или для Базовой Формы приложения типа Top-Level, или в заголовочной чaсти (левый-верхний угол) каждой пользовательской Формы, где данная характеристика определяется Свойством: Icon.

После нажатия на кнопку OK, Построитель Приложения Закрывается, заданные и описанные выше характеристики и параметры Приложения сохраняются.

См. также

Описание

Построитель Приложений (Application Builder)

Другие ссылки

Создание пользовательских Приложений с помощью Application Framework

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Credits Tab, Application Builder

Visual FoxPro 9.0
Закладка Credits, Построитель Приложений
См. Также

С помощью данной закладки Построителя Приложений вы можете определить основные описательные (анкетные) характеристики разрабатываемого приложения: Автор, Компания-разработчик, Версия приложения, Торговая марка, Сopyright. Данная информация может быть размещена на экранной заставке или в соответствующем диалоговом боксе About.

Author (Автор)

Определяется имя разработчика приложения.

Company (Организация, Компания, Фирма)

Определяется Организация, которая разрабатывает или/и использует данное Приложение.

Version (Версия)

Определяются характеристики версии / сборки рассматриваемой копии Приложения.

Copyright

Определяется статус, владелец copyright.

Trademark (Торговая Марка, Брэнд)

Определяется торговая марка производителя программного продукта.

Рекомендуется, вводить информацию размером не более 50 символов для каждого раздела, иначе остальная информация будет потеряна.

После нажатия диалоговой кнопки OK, данный Построитель закрывается, все установленные параметры сохраняются.

См. также

Описание

Построитель Приложений

Другие ссылки

Создание приложений с помощью средств Application Framework

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Data Tab, Application Builder

Visual FoxPro 9.0
Закладка Data Построителя Приложений
См. также

На этой закладке Вы можете определить источник данных и его формат для форм и отчетов, включенных в Ваше приложение. Сетка отображает таблицы, которые Вы выбираете для Вашего приложения..

Database Wizard

Позволяет создать новую базу данных для Вашего приложения, используя Database wizard. Когда wizard закрывается, таблицы и представления новой базы данных появятся в сетке.

Table Wizard

Позволяет создать новую таблицу для Вашего приложения, используя Table wizard. Когда wizard закрывается, таблицы и представления новой базы данных появятся в сетке.

Select

Позволяет выбрать существующую базу данных, таблицу или представление для использования их в Вашем приложении.

Clear

Удаляет все таблицы из сетки.

Generate

Генерирует новые отчеты или формы из выбранной таблицы для всех отмеченных форм или отчетов в указанном для формы или отчета стиле.

Form Style

Позволяет выбрать стиль формы для использования с одной или несколькими таблицами из сетки.

Report Style

Позволяет выбрать стиль отчета для одной или несколькими таблицами из сетки.

Для использования различных стилей для форм или отчетов, выберите форму или отчет и их стиль и затем сгенерируйте отчет. Повторите эту процедуру для всех стилей, которые Вы хотите включить в Ваше приложение.

Если Вы нажмете кнопку OK, то будут применены установки свойств для всех закладок и окно построителя закроется.

См. также

Ссылки

Построитель Приложений

Другие ресурсы

Создание Приложений с помощью Каркаса Приложения (Application Framework)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Forms Tab, Application Builder

Visual FoxPro 9.0
Закладка Forms, Построитель Приложений (Application Builder)
Смотрите Также

В рассматриваемой Закладке Построителя Приложений, вы можете определить различные варианты типов Меню, подразделы которых будут запускать экземпляры пользовательских Форм; аналогично, можно определить действия инструментов ToolBars, запускающих на выполнение несколько экземпляров данных Форм.

Для каждой из перечисленных Форм, вам необходимо проверить установку соответствующие Параметров (или Опций для многоразового запуска).

Name (Имя)

Позволяет определить соответствующее назначению Имя выбранной Формы.

Add (Добавить)

Позволяет добавить выбранную Форму в ваше Приложение. Когда вы добавляете выбраенную форму в Приложение, то соответствующий Контрол (CheckBox) включается. Построитель Приложений автоматически создает список всех Форм, которые вы создаете в закладке Data, Построителя Приложений.

Edit (Изменить)

Позволяет открыть для редактирования выбранную Форму в соответствующем Дизайнере Форм. Данный инструмент может вам понадобиться, например, для изменения размеров Областей или Картинок. Дополнительную информацию смотрите в Разделе: Дизайнер Форм.

Remove (Исключить)

Исключает выбранную форму из вашего Приложения.

Single Instance (Только Один Экземпляр)

Определяет, что данная Форма может быть запущена только в одном Экземпляре в вашем Приложении. Если вы не Включаете данный Контрол (CheckBox), то выбранная Форма может быть запущена в нескольких Экземплярах (например, для выполнения сравнений получаемых результатов).

Use Navigation Toolbar (Использование для навигации: ToolBar)

Определяет, что навигация по разделам Данных (Записям) в выбранной форме будет осуществляться с помощью инструментария ToolBar.

Use Navigation Menu (Использование для навигации: Menu)

Определяет, что навигация выполняется с помощью подпунктов Меню.

Appear in File New dialog (Наличие диалога: Создать)

Определяет, что в меню File должен быть подпункт Диалогового бокса New (Создать...).

Appear in File Open dialog (Наличие диалога: Открыть)

Определяет, что в меню File должен быть подпункт Диалогового бокса Open (Открыть...).

Если вы нажимаете подтверждающую кнопку OK, данный построитель Закрывается, все выполненые настройки во всех Закладках Сохраняются.

См. также

Описание

Построитель Приложения (Application Builder)

Другие ссылки

Создание Приложения при помощи Инструмента Application Framework

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Reports Tab, Application Builder

Visual FoxPro 9.0
Закладка Reports, Построитель Приложений
См. Также

В данной закладке Построителя Приложений, вы можете определить специальные имена (псевдонимы) Отчетов вашего Приложения.

Name (Имя)

Здесь определяется псевдоним (friendly name) выбранного Отчета.

Appear in Print Reports dialog (Появление псевдонима в Диалоговом боксе Печати Отчета)

Определяется, будет ли данный псевдоним отображаться в диалоговом боксе печати отчетов вашего приложения.

Add (Добавить)

Добавить выбранный Отчет в ваше Приложение.

Edit (Изменить)

Обеспечивает доступность редактирования данного Отчета в Дизайнере Отчетов, См. дополнительно раздел Дизайнер Отчетов.

Remove (Исключить)

Исключить выбранный Отчет из вашего Приложения.

Если выбрана кнопка OK, Построитель закрывается, все установленные опции сохраняются.

См. также

Описание

Построитель Приложений

Другие ссылки

Создание Приложений с помощью средств Application Framework

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Advanced Tab, Application Builder

Visual FoxPro 9.0
Закладка "Advanced" , Построитель Приложений
См. Также

В рассматриваемой закладке Построителя Приложений вы можете определить имя файла Помощи вашего Приложения, а также Корневой каталог вашего Приложения. Вы можете также определить использование стандартной инструментальной линейки "standard toolbar", а также основные пункты Меню вашего Приложения.

Help file (файл помощи)

Позволяет выбрать файл Помощи вашего Приложения.

Default data directory (директория по-умолчанию)

Позволяет выбрать "корневой" каталог приложения. Если вы сначала выберите каталог размещения источников данных, тогда дальнейшая корректировка необходимых параметров буден облегчена.

Menus (Меню)

Standard toolbar (стандартный ToolBar)

Определяет, используется ли сттандартный инструментарий в вашем Приложении.

Favorites menu (фавориты Меню)

Определяет, какие, наиболее используемые пункты меню, будут доступны в вашем Приложении.

Cleanup (проверка)

Выполняет программный модуль тестирования введенных корректировок Построителя Приложений в соответствующем Проекте Приложения.

Если вы нажимаете кнопку OK, Построитель закрывается, вне выполненные изменения сохраняются.

См. также

Описание

Построитель Приложений

Другие ссылки

Создание Приложений при помощи "Application Framework"

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


AutoFormat Builder

Visual FoxPro 9.0
Построитель автоформата
Смотрите также

Построитель автоформата в конструкторе форм применяет установку стилей к выбранным однотипным элементам управления. Например, можно выбрать на форме два или более элементов управления TextBox и, используя построитель автоформата, применить к ним один и тот же стиль, так же можно задать применение одного и того же стиля только к конкретным компонентам формата элементов управления, таким как границы, цвета, шрифты, раскладки или специальные эффекты.

Для того, чтобы воспользоваться построителем автоформата

  • В меню New, выберите Form, затем нажмите кнопку New file. На этом этапе создания формы можно сконструировать ее вручную, либо воспользоваться построителем автоформата.

Начинаем конструирование формы вручную

  1. Используя панель инструментов Form Controls поместите необходимое количество элементов управления одного вида на форму.

  2. Выберите все элементы управления, которые необходимо форматировать в едином стиле и нажмите правую кнопку мыши на группе выбранных элементов. Затем, выберите пункт Builder из появившегося контекстного меню Конструктора форм.

    Откроется диалоговое окно построителя автоформата.

  3. Выберите необходимые опции и нажмите кнопку OK.

    При закрытии диалогового окна построителя нажатием на кнопку OK к свойствам выбранных элементов управления будут применены выбранные настройки.

Начинаем с построителем автоформата

  1. При открытом Конструкторе форм нажмите кнопку Auto Format в панели инструментов Form Designer.

  2. Когда откроется диалоговое окно Autoformat builder (Построитель автоформата), выберите необходимый стиль из списка и снимите пометки с тех опций форматирования, к которым не нужно применять выбранный стиль.

  3. Нажмите кнопку OK.

Вы можете использовать один из следующих стилей: Embossed, Standard, или Professional. Когда Вы выбираете один из стилей в списке, в демонстрационном окошке слева от списка меняется вид элементов управления в соответствии с выбранным стилем. Стиль можно применить к следующим элементам форматирования:

Borders (Границы)

Выбранный стиль будет применен к границам элементов управления. Эта опция соответствует свойству BorderStyle.

Colors (Цвета)

Выбранный стиль будет применен к цветам элементов управления. Эта опция соответствует свойствам BackColor и ForeColor, BackStyle и BorderColor.

Fonts (Шрифты)

Выбранный стиль будет применен к шрифтам элементов управления.

Layout (Раскладка)

Выбранный стиль будет применен к выравниванию элементов управления.

3D Effect (Трехмерный эффект)

Выбранный стиль будет применен к свойству трехмерного эффекта элементов управления.

Кнопка Apply (Применить)

Применяет выбранный стиль к выбранным элементам управления не покидая построитель автоформата.

Смотрите также

Справочное руководство

Свойства BackColor, ForeColor
Свойство BackStyle
Свойство BorderColor
Свойство BorderStyle

Прочие ресурсы

Построители
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Combo Box Builder

Visual FoxPro 9.0
Построитель Combo Box
Смотрите также

Построитель Combo Box дизайнера форм облегчает установку свойств элемента управления combo box. Свойства элемента управления combo box устанавливаются выбором опций отображаемых в диалоговом окне Combo Box Builder.

Чтобы воспользоваться построителем Combo Box

  1. Из меню New, выберите Form, и щелкните New file.

  2. Используя панель инструментов Form Controls поместите элемент управления combo box на форму.

  3. Нажатием правой кнопки мыши на элементе управления combo box вызовите контекстное меню Конструктора фор и выберите пункт Builder.

  4. Выберите опции на каждой вкладке появившегося диалогового окна и нажмите кнопку OK.

    После нажатия кнопки OK, построитель закроется, а настройки будут применены к элементу управления.

Вкладки построителя

List Items (Элементы списка)

Определяет элементы из таблицы, массива, или ручного выбора, которые появлятся в combo box.

Style (Стиль)

Определяет свойства Style и SpecialEffect элемента управления, включяя стили 3D или plain (плоский), drop-down combo (поле ввода с раскрывающимся списком) или drop-down list (Раскрывающийся список), а также возможность нарастающего поиска (incremental searching).

Layout (Раскладка)

Определяются свойства ширины элемента управления и колонок.

Value (Значение)

Определяет, значение какой колонки следует возвращать и в каком поле его сохранять.

Смотрите также

Справочное руководство

Элемент управления ComboBox
Вкладка "Layout", Построителя "ComboBox"
Вкладка "List Items" Построителя "Combo Box"
Вкладка "Style" Построителя "Combo Box"
Вкладка "Value" , Построителя "Combo Box"

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


List Items Tab, Combo Box Builder

Visual FoxPro 9.0
Вкладка List Items Построителя элемента управления Combo Box
Смотрите также

Эта вкладка Построителя элемента управления Combo Box (Поля ввода с раскрывающимся списком) определяет элементы, образующие раскрывающийся список.

Fill the List With (Чем наполнить список)

Определяет тип источника данных для наполнения раскрывающегося списка. Возможно назначение следующих типов источника данных: Fields From a Table or View (Поля таблицы или представления), Data Entered by Hand (Данные, вводимые вручную) или Values From an Array (Переменные массива). Выбор, осуществленный здесь, определяет появление тех или иных опций на этой вкладке.

Fields From a Table or View (Поля таблицы или представления)

Позволяет выбрать в качестве источника данных свободные таблицы, таблицы или представления базы данных.

Databases and Tables (Базы данных и таблицы)

В раскрывающемся списки перечисляются доступные базы данных и опция для выбора свободных таблиц. Чтобы найти базу данных или таблицу, воспользуйтесь кнопкой справа, отображающей диалоговое окно Open . Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Fields From a Table or View (см. выше).

List of Tables (Список таблиц)

В этом списке отображаются таблицы и представления выбранной базы данных или свободные таблицы. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Fields From a Table or View (см. выше).

Available Fields (Доступные поля)

Список отображает доступные поля выбранной таблицы или представления. Выберите поля, данными из которых должен наполняться раскрывающийся список элемента управления. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Fields From a Table or View (см. выше).

Arrow Buttons (Кнопки со стрелками)

Добавляют поля в список отобранных для формирования раскрывающегося списка - Selected Fields или удаляют их из него. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Fields From a Table or View (см. выше).

Для выполнения вышеописанных действий можно воспользоваться двойным щелчком мыши.

Selected Fields (Отобранные поля)

Список отображает поля, отобранные для наполнения раскрывающегося списка. Порядок полей в списке отобранных полей определяет порядок колонок в раскрывающемся списке. Порядок может быть изменен перетаскиванием полей на нужное место в списке. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Fields From a Table or View.

Data Entered By Hand (Данные, вводимые вручную)

При выборе этой опции Вы получаете возможность задать количество колонок в раскрывающемся списке и ввести данные, которые будут в нем отображаться.

Columns (Колонки)

Задает количество колонок в раскрывающемся списке элемента управления. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Data Entered By Hand.

Column Grid (Таблица колонок)

Отображается таблица с заданным в опции Columns числом колонок, в ячейки которой вводятся необходимые данные. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Data Entered By Hand.

Values From An Array (Переменные массива)

Позволяет использовать элементы массива для наполнения раскрывающегося списка.

Array Name (Имя массива)

Задает имя массива. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Values From An Array.

Entire Array (Весь массив)

Определяет, что для наполнения раскрывающегося списка элемента управления будет использован весь массив. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Values From An Array.

Range Of The Array (Элементы массива из диапазона)

Определяет, что для наполнения раскрывающегося списка будет использована часть массива, которая определяется заданным диапазоном колонок и строк. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Values From An Array.

Column and Row Range (Диапазон колонок и строк)

Задает начальные и конечные колонки и строки диапазона массива. Эта опция становится доступной при установке предыдущей в Range of the Array. Эта опция появляется, если в раскрывающемся списке Fill the List With выбрано Values From An Array.

Смотрите также

Справочное руководство по языку

Вкладка Layout Построителя элемента управления Combo Box
Вкладка Style Построителя элемента управления Combo Box
Вкладка Value Построителя элемента управления Combo Box
Диалоговое окно Open (Visual FoxPro)
Построитель элемента управления Combo Box
Свойство ControlSource
Свойство RowSource
Свойство RowSourceType

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Style Tab, Combo Box Builder

Visual FoxPro 9.0
Вкладка Style Построителя элемента управления Combo Box
Смотрите также

Эта вкладка Построителя элемента управления Combo Box определяет специальные эффекты, стиль элемента управления: поле ввода с раскрывающимся списком или раскрывающийся список, поддержку нарастающего (инкрементного) поиска.

Three-dimensional (Трехмерный)

Задает подсветку и затенение соответствующих границ элемента управления с целью придания ему объемного вида. Эта опция соответствует установке 0-3D свойства SpecialEffect.

Plain (Плоский)

Задает незатененное поле ввода с раскрывающимся списком (раскрывающийся список) на форме. Эта опция соответствует установке 1-Plain свойства SpecialEffect.

Drop-down Combo (Поле ввода с раскрывающимся списком)

Определяет элемент управления в виде поля ввода с раскрывающимся списком. Состоит из области редактирования и раскрывающегося списка. Пользователь может выбрать элемент из списка, раскрывая его щелчком по стрелке, или ввести новое значение в области редактирования. Эта опция соответствует установке в 0 свойства Style.

Drop-down List (Раскрывающийся список)

Определяет элемент управления в виде раскрывающегося списка. Пользователь может только выбирать элементы из раскрывающегося списка. Эта опция соответствует установке в 1 свойства Style.

Yes, Enable Incremental Searching (Производить нарастающий поиск)

Определяет, будет ли производиться поиск элемента списка, начальные символы которого соответствуют набранным на клавиатуре, по мере ввода при каждом приращении в комбинации набранных букв. Эта опция соответствует установке свойства IncrementalSearch = .T.

No, Don't Enable Incremental Searching (Не производить нарастающий поиск)

Нарастающий поиск не поддерживается. Эта опция соответствует установке свойства IncrementalSearch = .F.

Смотрите также

Справочное руководство по языку

Вкладка Layout Построителя элемента управления Combo Box
Вкладка List Items Построителя элемента управления Combo Box
Вкладка Value Построителя элемента управления Combo Box
Построитель элемента управления Combo Box
Свойство IncrementalSearch
Свойство Style

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Layout Tab, Combo Box Builder

Visual FoxPro 9.0
Закладка Layout, Построитель Контрола ComboBox
См. Также

В данной закладке Построителя Контрола ComboBox определяется размер отображения столбцов данного контрола.

Adjust the Width of the Combo Box to Display All Columns (Настройка отображения всех столбцов Контрола)

Определяет, что все столбцы рассматриваемого контрола должны отображаться, общий размер Контрола автоматически изменяется. Данная опция корреспондирована (связана) со свойством Width контрола combobox.

Column Grid (Столбец объекта Grid)

Значения размеров столбцов определяются значением свойства ColumnWidths. Вы можете изменить размеры столбцов, для этого используется мышка. При выполнении операции "Double-click" на заголовке конкретного столбца - этот столбец скрывается.

Сетка разделителей столбцов отображается если она включена, если данные отсутствуют - сетка не отображается.

Для изменения порядка следования столбцов нужно использовать механизм перемещения столбцов данного Контрола, который представлен в закладке List Items.

См. также

Описание

Построитель Контрола ComboBox
Закладка List Items, Построитель Контрола ComboBox
Закладка Style, Построитель Контрола ComboBox
Закладка Value, Построитель Контрола ComboBox

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Value Tab, Combo Box Builder

Visual FoxPro 9.0
Закладка "Value" , Построитель "Combo Box"
См. Также

В рассматриваемой Закладке Построителя Combo Box определяется источник данных для рассматриваемого Контрола.

Return the Value From (возвращаемое значение)

Определяет источник данных для отображаемого столбца элементов контрола ComboBox. Данная опция корреспондируется со значением свойства BoundColumn.

Field Name (имя поля)

Определяет имя поля Таблицы или Представления, которое было задано в предыдущем пункте Return the Value From, как управляющий элемент Контрола. По-умолчанию, отображается список доступных (открытых) источников данных: Таблиц или Представлений, в соответствие с текущей Средой Данных (Data Environment). При помощи кнопки Open открывается Диалоговый бокс для выбора другого источника данных (таблицы). Данная опция корреспондируется со свойством ControlSource.

Например, если вам требуется разместить в списке контрола ComboBox 50 элементов некоторого Списка (State), можно в качестве источника данных указать поле STATE из соответствующей таблицы Address.

См. также

Описание

BoundColumn, свойство
Построитель "Combo Box"
ControlSource, свойство
Закладка "Layout", Построитель "Combo Box"
Закладка "List Items", Построитель"Combo Box"
Open, Диалоговый бокс (Visual FoxPro)
Закладка "Style", Построитель "Combo Box"

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Command Group Builder

Visual FoxPro 9.0
Построитель элемента управления Command Group
Смотрите также

Построитель облегчает определение свойств элемента управления Command Group (Группа командных кнопок). Установка свойств производится выбором соответствующих вариантов, отображаемых в диалоговом окне построителя - Command Group Builder.

Чтобы воспользоваться построителем элемента управления Command Group

  1. Используя панель инструментов Form Controls поместите элемент управления Command Group на форму.

  2. Нажатием правой кнопки мыши на элементе управления вызовите контекстное меню и выберите пункт Builder.

    Появится диалоговое окно построителя соответствующего элемента управления.

  3. В открывшемся диалоговом окне установите (сбросьте) нужные (ненужные) опции и нажмите кнопку OK.

    При закрытии диалогового окна нажатием на кнопку OK к свойствам элемента управления будут применены настройки со всех его вкладок.

Вкладки Построителя

Buttons

Задает количество командных кнопок и их свойства Caption и Picture.

Layout

Определяет взаимное расположение кнопок (вертикальное или горизонтальное), расстояние между ними и границу группы.

Note Примечание

На кнопки могут помещены надписи или графические изображения или и то, и другое. Для недоступной кнопки и кнопки в нажатом положении можно назначить свои графические изображения, однако сделать это можно программно или через окно свойств объекта управления. Для более подробной информации смотрите свойства DisabledPicture и DownPicture.

Смотрите также

Справочное руководство по языку

Вкладка Buttons Построителя элемента управления Command Group
Вкладка Layout Построителя элемента управления Command Group
Окно свойств (Visual FoxPro)
Элемент управления CommandButton
Элемент управления CommandGroup

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Buttons Tab, Command Group Builder

Visual FoxPro 9.0
Вкладка Buttons Построителя элемента управления Command Group
Смотрите также

Эта вкладка Построителя элемента управления Command Group (Группы командных кнопок) залает количество командных кнопок, надписи и графические изображения на них.

Number of Buttons (Количество кнопок)

Задает количество кнопок в группе. Эта опция соответствует свойству ButtonCount. С помощью построителя можно задать от 1 до 20 кнопок. Другое количество кнопок может задаваться либо программно, либо в окне свойств.

Caption Column (Колонка надписей)

Задает надписи на каждой из кнопок. Задайте надписи для кнопок в соответствующих ячейках. Эта опция соответствует свойству Caption.

Graphic Column (Колонка графических изображений)

Определяет путь и имя файла точечного рисунка, который будет отображаться на кнопке. Задайте путь и имя файла в соответствующей ячейке или нажмите кнопку справа от ячейки, открывающую диалоговое окно Open для выбора необходимого файла изображения. Это изображение будет помещаться на кнопке постоянно, независимо ее состояния. Эта опция соответствует свойству Picture.

Размеры кнопок автоматически увеличиваются, чтобы соответствовать величине изображений и надписей. Размер всего элемента управления также автоматически увеличивается, поэтому, в случае необходимости, размеры других кнопок группы и расстояние между кнопками должно быть откорректировано до желаемых величин.

Смотрите также

Справочное руководство по языку

Вкладка Layout Построителя элемента управления Command Group
Окно свойств (Visual FoxPro)
Построитель элемента управления Command Group
Свойство ButtonCount Property
Свойство Caption (Visual FoxPro)
Свойство DisabledPicture
Свойство DownPicture
Свойство Picture (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Layout Tab, Command Group Builder

Visual FoxPro 9.0
Закладка "Layout" , Построитель "Command Groupr"
См. Также

В данной закладке Построителя Command Group определяются форматы командных кнопок (вертикальные или горизонтальные), промежутки между кнопками, стиль окаймляющей границы группы командных кнопок.

Button Layout (формат кнопок)

Определяет вертикальное или горизонтальное расположение группы командных кнопок. Вы можете также настроить размещение кнопок в группе команд (Command Group) с помощью "контекстного" меню Edit, перемещая требуемую кнопку в пределах рассматриваемой группы. Для возврата из режима Редактирования выполните "click" за пределами данной группы командных кнопок (как обычно, для выхода из режима редактирования групповых контейнеров: PageFrame, OptionButtons, Grid...).

Когда вы выполняете настройку размещения командных кнопок в группе (вертикальное или горизонтальное), то изменяется настройка базового размещения данных кнопок. Для отмены выполненных настроек, возврату к базовому размещению - нажмите управляющую кнопку Cancel.

Spacing Between Buttons (промежутки между кнопками)

Определяются интервалы между командными кнопками. Если вручную настраиваете размещение кнопок, данная опция Отключается. Если вы выполняете изменение горизонтального или вертикального размещения группы кнопок, данная опция форматирования - Включается.

Border Style (стиль границы)

Определяет стиль окаймляющей границы (сплошная линия - Бокс, или вариант отсутствия границы).

См. также

Описание

Закладка "Buttons", Построитель "Command Group"
Построитель "Command Group"
Построитель "Edit Box"
Построитель "Combo Box"

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


CursorAdapter Builder

Visual FoxPro 9.0
Построитель (Builder) CursorAdapter
Смотри также

Построитель CursorAdapter'ов предоставляет вам возможно построить объекты класса CursorAdapter более быстро. Вы можете открыть построительн из дизайнеров формы или класса.

Для того, чтобы открыть CursorAdapter Builder из дизайнера форм

  1. Создайте новую форму или откройте существующию.

  2. В дизайнереForm Designer, вызовите контекстное меню, выполнив щелчок по правой клавише мыши, для формы и выберите DataEnvironment.

    Если объект DataEnvironment еще ничего не содержит, то откроется диалоговый блок "Open".

  3. В открывшемся диалоговом блоке "Open" щелкните на "Cancel".

  4. Вызовите контекстное меню объекта Data Environment, выполнив щелчок по правой клавише мыши на поверхности окна "Data Environment" и выберите Builder.

  5. В блоке DataEnvironment Builder, щелкните на закладке Cursors, чтобы вывести ее на первый план.

  6. Для создания нового объекта класса CursorAdapter щелкните на New.

Вы теперь можете устанавливать свойства для создаваемого объекта CursorAdapter, добавить объект CursorAdapter из библиотеки классов, или отредактировать существующий объектCursorAdapter.

Кроме того, вы можете открыть CursorAdapter Builder из формы просто щелкнув на уже существующем объекте CursorAdapter в окне "Data Environment" формы с последующим выбором из контекстного меню пункта Builder.

Для того, чтобы открыть CursorAdapter Builder из дизайнера класса

  1. В дизайнере класса создайте новый класс CursorAdapter или откройте существующий класс CursorAdapter.

  2. Выполните щелчок по правой клавише мыши на новом или существующем классу CursorAdapter и выберите из контекстного меню пункт Builder.

Закладки построителя

Properties - Свойства

Здесь определяются свойства объекта CursorAdapter.
Data Access - Доступ к данным

Здесь определяется, как объект CursorAdapter получает данные из источника данных.
Auto-Update - Автообновление

Здесь определяется, как объект CursorAdapter oавтоматически обновляет данные в источнике данных.

Смотри также

Прочие ресурсы

Builders - Построители
Class Designer - Дизайнер класса
Класс CursorAdapter
DataEnvironment Builder - Построитель DataEnvironment
Form Designer - Дизайнер формы

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Properties Tab, CursorAdapter Builder

Visual FoxPro 9.0
Закладка "Properties" построителя CursorAdapter'а
Смотри также

Отображает имя и свойства класса CursorAdapter и определяет - будет ли использован источник данных Data Environment и установки соединения только в построителе.

Class

Отображает имя класса, на котором основывается объект CursorAdapter . Этот класс может быть базовым классом, объектом CursorAdapter или классов из библиотеки классов или из программного файла, причем в случае использования программного файла отображается также его имя и путь.
Name

Определяет имя, присвоенное объекту CursorAdapter построителем. Вы можете изменить это имя на желаемое.
Alias

Определяет псевдоимя (alias), присвоенное построителем объекту CursorAdapter . По умолчанию используется тоже самое имя, которое появляется в текстовом блоке "Name". Вы можете изменить это имя на желаемое.
Замечание:
Убедитесь, что псевдоимя (alias) будет уникальным в run time. Так, например, метод CursorAdapter CursorFill может вызвать ошибку, если таблица или курсор используют тоже псевдоимя, что и таблица или курсор уже открытые в рабочих областях. Для получения подробной информации смотри статью Метод CursorFill.

Use DataEnvironment data source

Определяет будет ли у вас пожелание использовать источник данных объекта DataEnvironment . Если свойство CursorAdapterDataSourceType установлено в "ADO", вы не должны выбирать этот чек-бокс до тех пор, пока объект DataEnvironment хотя бы один CursorAdapter , который использует этот источник данных.
Use connection settings in builder only

Определяет - будет ли у вас пожелание использовать установки соединения только в построителе. Если вы выберите эту опцию, вам необходимо будет добавить программный код для установки настроенного окружения соединения в run time. Выбор этой опции делает возможным иметь открытое соединение в design time, так чтобы вы смоли выбрать таблицы, построить запросы и так далее.
Data source type

Определяет тип источника данных. В зависимости от выбранного типа источника данных, вы можете выбрать или построить один из следующих источников данных:
  • ADO

    Определяет один из приведенных ниже путей установить соединение к ActiveX Data Objects (ADO).

    Использовать существующий ADO Recordset Определить ссылку на действительный объект ADO RecordSet. Эта ссылка должна быть действительна в design time, если построитель CursorAdapter'a использует этот RecordSet.

    Использовать DSN Определяет имя источника данных (DSN) из списка Data source и значения в блоках "User ID" и "Password", если это применимо.

    В большинстве случаев, selecting a DSN for an ADO connection results in using the Open Database Connectivity (ODBC) driver specified by the DSN through the MSDASQL OLE DB Provider for ODBC. Ряд провайдеров OLE DB могут размечать установки ODBC DSN к соответствующим установкам в соответствующем OLE DB провайдере.

    Замечание:
    Вы не должны использовать имя DSN если OLE DB провайдер не может размечать установки ODBC DSN. Вы можете использовать драйвер ODBC для источника данных, который не имеет своего OLE DB провайдера.

    Use connection string Определяет корректную строку соединения. Она представляет собой тот же самый тип строки соединения, который вы вводите для свойства ADO ConnectionString.

    В качестве альтернативы, вы можете отобразить диалоговый блок "Data Link Properties" путем щелчка на кнопке "Build". В этом случае, вы можете выбрать подходящий OLE DB провайдер и прочие необходимые параметры строки соединения.

  • Native

    Определяет корректное имя базы данных и путь к ней в текстовом блоке "Database". Вы можете выбрать базу данных, щелкнув на кнопке просмотра, обозначенной тремя точками (...), в результате чего отобарзиться диалоговый блоке "Select Database".

  • ODBC

    Определяет один из приведенных ниже путей установки соединения с базой данных.

    Use existing connection handle Определяет свойство, переменную памяти, значение или выражение, которые выражают корректный handle соединения в run time.

    Use DSN Определяет имя источника данных (DSN) из списка "Data source" и значения в текстовых блоках "User ID" и "Password", если это применимо.

    Use connection string Определяет корректную строку соединения. Она представляет собой ту же самую строку соединения, которую вы вводите для использования функцией SQLSTRINGCONNECT( ). Для получения подробной информации смотри статью SQLSTRINGCONNECT( ) функция.

  • XML

    Определят XML в качестве источника данных.

Смотри также

Прочие ресурсы

Закладка Auto-Update построителя CursorAdapter'а
Построитель CursorAdapter'а
Закладка Data Access построителя CursorAdapter'а

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


Data Access Tab, CursorAdapter Builder

Visual FoxPro 9.0
Закладка Data Access построителя CursorAdapter'а
Смотри также

Здесь определяется команда Select и значения схемы объекта CursorAdapter, а также прочие свойства доступа к данным.

Команда Select

Напечатайте или сконструируйте подходящую для вашего случая команду Select. Когда в качестве источника данных выступает XML, напечатайте команду Select. Для этого случая, команда Select должна быть выражением, которое сводится к действительной и хорошо сформированной строке XML. Если же тип источника данных представляет из себя Native, ODBC или ADO, вы можете воспользоваться построителем, так как кнопка "Build" в этом случае будет доступна. Щелчок на кнопке "Build" откроет диалоговый блок "Select Command Builder".

Построитель команды Select. Определяет таблицы и поля, которые будут включены в команду "Select".

  • Table Определяет таблицу, которую вы желаете использовать. Таблицы в списке соответствуют таблицас в выбранном источнике данных.

  • Add table Доступно в случае, если в качества источника данных выбран тип "Native". С помощью этой кнопки вы можете добавить таблицы, которых нет в списке таблиц текущей базы данных.

  • Available fields list Содержит перечень полей, которые могут быть включены в команду Select, после выбора в комбобоксу таблицы или представления, если это применимо. Этот лист виден с левой стороны диалогового блока "Select Command Builder".

  • Add single/Add all/Remove single/Remove all (Здесь, в файле справки приведены подсказки ToolTip, которые появляются при наведении курсора мыши на реально имеющиеся командные кнопки, обозначенные одиночными и двойными стрелками) С помощью этих кнопок можно добавлять либо по очереди выбирая их из списка, либо сразу все имеющиеся, и таким же образом удалять из списка выбранных.

  • Selected fields list Ображает выбранные для строительства команды поля, которые могут быть реорганизованы путем щелчка на кнопках перетаскивания и которые появляются вдоль левой стороны списка. Этот список виден с правой стороны диалогового блока "Select Command Builder".

Schema

Если это необходимо, то напечатайте текст схемы для объекта CursorAdapter. Если команда Select выстроена с помощью построителя команды "Select Command Builder", то схема генерируется автоматически. Если вы впечатали команду Select, вы можете щелкнуть на кнопке "Build" и построитель попытается сконструировать схему, соответсвующую таблице и именам полей из достпуных таблиц. В случае, если источник данных представляет собой XML, вы не можете использовать построитель команды Select, и поэтому нет автоматической генерации схемы. Когда вы щелкнете на кнопке Build, откроется диалоговый блок "Open" и вы можете указать XML-файл, из которого можно построить схему. Этот XML-файл должен представлять собой действительную (правильную) схему XML Schema Definition (XSD), действительный XML содержащий в себе XSD или действительный XML-файл, со ссылкой на действительную внешнюю схему XSD.
Использование CursorSchema при заполнении курсора данными

Определяет установки по умолчанию, для использования в качестве параметра lUseCursorSchema в методе CursorFill. Для получения подробной информации смотри статью Свойство UseCursorSchema.
Data fetching

Определяет свойства, относящиеся к способу извлечения удаленных данных, когда в виде источника данных используется тип Open Database Connectivity (ODBC). Доступные следующие установки:
  • Number of records to fetch at a time (Число записей, извлекаемых за один раз) Извлекать все или указанное число записей за один раз. Для получения подробной информации смотри статью Свойство FetchSize.

  • Maximum number of records to fetch (Максимальное число извлекаемых записей) Извлекать все или максимальное число записей. Для получения подробной информации смотри статью - Свойство MaxRecords.

  • Use memo when character field length >= (Использовать мемо-поле, когда длина символьного поля >= ) Использовать размер мемо-поля, в случае если длина символьного поля превышает указанную величину. Для получения подробной информации смотри статью Свойство UseMemoSize.

  • Fetch remote data as needed (Извлекать данные по необходимости) Данные извлекаются только тогда, когда они нужны. Для получения подробной информации смотри статью Свойство FetchAsNeeded.

  • Precompile SQL on backend server Определяет - будут ли подготовлены SQL предложения для последовательных вызовов функции REQUERY( ). Для получения подробной информации смотри статью Prepared Property and REQUERY( ) функция.

  • Map Varchar Разрешает разметку типов данных по умолчанию из типов данных ODBC и ADO в тип данных Varchar Visual FoxPro. Для получения подробной информации смотри статью Свойство MapVarchar.

  • Initially open with no data Определяет - будет ли в методе CursorFill использована установка по умолчанию для параметра lNoData. Для получения подробной информации смотри статью Свойство NoData.

  • Fetch memo fields Определяет - будут ли извлекаться мемо-поля. Для получения подробной информации смотри статью Свойство FetchMemo.

  • Memo… Вызывает диалоговый блок "Memo Fetching".

  • Allow simultaneous fetch Определяет - будет ли разрешено одновременное извлечение данных. Для получения подробной информации смотри статью Свойство AllowSimultaneousFetch.

  • Map Binary Разрешает разметку типов данных по умолчанию из типов данных ODBC и ADO в типы данных Varbinary и Blob Visual FoxPro. Для получения подробной информации смотри статью Свойство MapBinary.

Диалоговый блок "Memo Fetching Properties" позволяет вам указать как метод DelayedMemoFetch извлекает Memo поля. Здесь возможны следующие установки:
  • Memo fetch command Определяет команды для использования Memo fields fetch, производимые методом DelayedMemoFetch. Для получения подробной информации смотри статью Свойство FetchMemoCmdList.

  • Memo fetch data source type Определяет тип источника данных, используемого для метода DelayedMemoFetch. Для получения подробной информации смотри статью Свойство FetchMemoDataSourceType.

  • Connection Settings Эти три радио-кнопки опций позволяют вам определить источник данных для метода DelayedMemoFetch. Для получения подробной информации смотри статью Свойство FetchMemoDataSource.

Buffer mode override

Определяет режим буфферирования. Оптимистическое буфферирование строки. Позволяет редактировать единичную запись и блокировать ее только на время записи на диск. Это установка по умолчанию. Оптимистическое буфферирование таблицы Позволяет редактировать все записи и не блокирует их до момента записи на диск.
Break on error

Определяет - будет ли разрешено ошибкам прерывать исполнение программы в месте, гдн они наступили с последующей отправкой их объекту CursorAdapter. Для получения подробной информации смотри статью Свойство BreakOnError.
XML flags

Определяет установку флажков, посылаемых функции XMLUPDATEGRAM( ), которая вызывается при источнике данных типа XML и производстве обновления. Для получения подробной информации об автоматическом обновлении смотри статью Управление доступом к данным с использованием CursorAdapter'ов и статью XMLUPDATEGRAM( ) функция.

Смотри также

Прочие ресурсы

Закладка Auto-Update построителя CursorAdapter'а
Построитель CursorAdapter'а
Закладка Properties построителя CursorAdapter'а

Перешлите комментарий об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Auto-Update Tab, CursorAdapter Builder

Visual FoxPro 9.0
Закладка Auto-Update построителья CursorAdapter
Смотрите также

Определяет как объект CursorAdapter автоматически обновит данные в источнике данных. Для получения более подробной информации об объектах CursorAdapter смотрите Класс CursorAdapter.

Send updates

Определяет - будет ли объект CursorAdapter доступен для обновления. Send updates выбрано по умолчанию.

Auto-update

Определяет - будет ли разрешена возможность автоматического обновления для объекта CursorAdapter.

Advanced

Отображает диалоговый блок Advanced Update Properties, который содержит четыре закладки: Update, Delete, Insert и Conflict.

Закладки Update, Delete и Insert позволяют вам указать следующую информацию:

  • Allow (update/delete/insert)

    Определяет - будут ли разрешены операции обновления, удаления или вставки. Эта опция выбрана по умолчанию.

  • Update/Delete/Insert command

    Определяет текст пользовательской команды для update/delete/insert. Эти команды могут быть предложениями SQL UPDATE/ DELETE/INSERT, именами хранимых процедур, вызовами пользовательских методов, процедур и тому подобного.

  • Update data source type

    Определяет подходящий тип источника данных, если вас требуется другой тип источника данных для ваших команд Update/Insert/Delete.

    Note Замечание

    Когда вы выбираете ADO или ODBC, вы должны, кроме того, ввести инорфмацию об источнике данных, как указано на закладке Properties.

Закладка Conflict позволяет вам указать следующую информацию:

  • Conflict check type Определяет - как обслуживать проверку конфликта во время операций обновления или удаления. Для получения более подробной информации смотрите Свойство ConflictCheckType.

  • Conflict check command Определяет пользовательскую команду для использования с целью проверки конфликта для обновления или удаления. Для получения более подробной информации смотрите Свойство ConflictCheckCmd.

Refresh

Отображает диалоговый блок Refresh Properties, который содержит четыре закладки: Record Refresh, Fields Refresh, Refresh After Insert и Refresh After Update.

Закладка Record Refresh позволяет вам указать следующую информацию:

  • Refresh command Определяет команду для освежения (Refresh) записи, производимой методом RecordRefresh. Для получения более подробной информации смотрите Свойство RefreshCmd.

  • Refresh data source type Определяет тип источника данных, используемого для метода RecordRefresh. В зависимости от выбранного типа источника данных, вы можете выбрать или построить специфичный источник данных (смотрите Закладка Properties построителя CursorAdapter для получения более подробной информации об этих опциях). Для получения более подробной информации смотрите Свойство RefreshCmdDataSourceType.

Закладка Fields Refresh позволяет вам указать следующую информацию:

  • Refresh timestamp Определяет выбраны ли поля в список автоматически освежаемых полей, когда будет исполнена команда Insert или Update. Для получения более подробной информации смотрите Свойство RefreshTimeStamp.

  • Fields list Определяет список полей, которые будут проигнорированы процессом освежения, когда будет исполнен метод RecordRefresh. Для получения более подробной информации смотрите Свойство RefreshIgnoreFieldList.

Закладка Refresh After Insert/Update позволяет вам указать следующую информацию:

  • Insert/Update refresh command Определяет команду автоматического освежения записи после исполнения команд Insert/Update. Для получения более подробной информации смотрите Свойство InsertCmdRefreshCmd и Свойство UpdateCmdRefreshCmd.

  • Fields list Определяет поля в курсоре для освежения после исполнения команд Insert/Update. Вы, кроме того, можете указать используемые ключевые поля. Для получения более подробной информации смотрите Свойство InsertCmdRefreshFieldList, Свойство InsertCmdRefreshKeyFieldList, Свойство UpdateCmdRefreshFieldList и Свойство UpdateCmdRefreshKeyFieldList.

  • Refresh all fields разрешает освежение всех полей, перечисленных в списке.

Tables

Определяет разделенный запятой списко таблиц для обновления. Построитель обычно предоставляет список таблиц.

Key field column (key symbol)

Отображает чек-боксы для выбора первичных ключевых полей. Эта колонка доступна только в случае, если выбрано Auto-update.

Automatic updating column (pencil symbol)

Отображает чек-боксы для выбора полей, которые будут автоматически обновляться. Эта колонка доступна только в случае, если выбрано Auto-update.

Cursor field

Отображает поля, доступные для автоматического обновления. Эта колонка доступна только в случае, если выбрано Auto-update.

Update name

Определяет имена полей как tableName.FieldName, используемые для автоматического обновления. Эта колонка доступна только в случае, если выбрано Auto-update. Для получения более подробной информации смотрите UpdateNameList Property.

Update all fields

Определяет, что все поля будут выбраны и обновлены автоматически. Вы по прежнему можете указать ключевое поле.

Update using

Определяет предпочитаемый метод обновления: SQL UPDATE или SQL DELETE then INSERT. Для получения более подробной информации смотрите UPDATE - SQL Command, DELETE - SQL Command и INSERT - SQL Command.

SQL WHERE clause includes

Определяет тип опции WHERE используемой для обновления: key fields only, key and updatable fields, key and modified fields или key and timestamp. Для получения более подробной информации смотрите Свойство WhereType.

Batch update count

Устанавливает значение свойства BatchUpdateCount. Для получения более подробной информации смотрите Свойство BatchUpdateCount.

Compare memo

Устанавливает значение свойства CompareMemo либо в on, либо в off. Для получения более подробной информации смотрите Свойство CompareMemo.

Use transactions

Указывается, если CursorAdapter использует транзакции при посылке команд Insert, Update или Delete через ADO или ODBC. Для получения более подробной информации смотрите Свойство UseTransactions.

Timestamp fields

Определяет поля timestamp в курсоре. Для получения более подробной информации смотрите Свойство TimestampFieldList.

Conversion functions

Определяет разделенный запятыми список пар имя поля и имя функции, которые между собой разделены пробелами. Для получения более подробной информации смотрите Свойство ConversionFunc.

UpdateGram schema

Определяет имя схемы разметки и ее местонахождение посылаемое функции XMLUPDATEGRAM( ). Эта установка применяется только когда CursorAdapter DataSourceType представляет собой "XML". Для получения более подробной информации смотрите UpdateGramSchemaLocation Property.

Смотрите также

Справочное руководство

Построитель CursorAdapter
Закладка Data Access построителя CursorAdapter
Закладка Properties построителя CursorAdapter

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


DataEnvironment Builder

Visual FoxPro 9.0
Построитель DataEnvironment
Смотрите также

Построитель DataEnvironment Builder предоставляет вам возможность строить объекты DataEnvironment, которые используют возможности объектов CursorAdapter. Вы можете открыть построитель DataEnvironment в дизайнерах форм или классов.

Для того, чтобы открыть DataEnvironment Builder

  1. Создайте новую формы или откройте существующую.

  2. В Form Designer, выполните на форме щелчок по правой клавише мыши и выберите из контекстного меню пункт DataEnvironment.

    Для формы с пустым объектом DataEnvironment появится диалоговое окно Open.

  3. В диалоговом окне Open щелкните на Cancel.

  4. Выполните на поверхности Data Environment щелчок по правой клавише мыши и выберите Builder.

Теперь вы можете использовать построитель для создания объектов DataEnvironment.

Кроме того, вы можете открыть DataEnvironment Builder с помощью щелчка по правой клавише мыши в дизайнере класса на кнопке "New" или на существующем классе DataEnvironment и выбрать Builder.

Закладки построителя

Закладка Data Source построителя DataEnvironment Builder

Определяет тип источника данных и сам источник данных для объекта DataEnvironment.

Закладка Cursors построителя DataEnvironment Builder

Добавляет, создает или удаляет объекты CursorAdapter из объекта DataEnvironment. Вы, кроме того, можете открыть построитель CursorAdapter Builder для редактирования существующих объектов CursorAdapter.

Смотрите также

Справочное руководство

Объект DataEnvironment
Дизайнер формы
Построитель CursorAdapter Builder

Концепции

Дизайнер класса

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Source Tab, DataEnvironment Builder

Visual FoxPro 9.0
Закладка Data Source построителя DataEnvironment Builder
Смотрите также

Определяет тип источника данных и используемый источник данных, если в это имеется потребность.

Note Замечание

При обращении к таблицах в Microsoft Access, некоторые отдельные таблицы могут иметь пробелы в именах колонок, поэтому вы должны использовать Microsoft OLE DB Provider for Access вместо драйвера Microsoft Access ODBC и указать в качестве типа источника данных ADO. Для выбора OLE DB Provider for Access на закладке Data Source выберите ADO в боксе Data source type. Щелкните по Use connection string, затем по кнопке Build для продолжения конструирования строки соединения в базе данных Access.

Data source type

Определяет тип источника даных. В зависимости от выбранного типа источника данных, вы можете выбрать или построить один и приведенных источников данных:

  • ADO

    Определяет один из приведенных нижк путей установки соединения с ActiveX Data Objects (ADO).

    Use existing ADO Recordset Определяет ссылку на действительный объект ADO RecordSet. Эта ссылка должна быть действительной в design time, если построитель объекта CursorAdapter Builder использует этот RecordSet.

    Use DSN Определяет имя источника данных (DSN) из списка Data source и значения в боксах User ID и Password, в случае, если это применимо.

    В большинстве случаев, выбор DSN для ADO connection приведет к использованию драйвера Open Database Connectivity (ODBC), указанного через DSN через MSDASQL OLE DB Provider для ODBC. Определенные OLE DB providers могут размечать установки ODBC DSN в соответствующие установки для соответствующего OLE DB provider.

    Note Замечание

    Вы не должны использовать имя DSN, если OLE DB не может разметить установки ODBC DSN. Вы можете использовать ODBC драйвер для источника данных, которых не имеет OLE DB provider.

    Use connection string Определяет действительную строку соединения. Это представляет собой тот же самый тип строки соединения, который вы вводите для свойства ADO ConnectionString.

    Вместо этого, вы можете щелкнуть по кнопке Build для отображения диалогового окна Data Link Properties. Тогда вы сможете выбрать подходящий OLE DB Provider и прочие необходимые параметры строки соединения.

  • Native

    Определяет действительное имя и путь базы данных в боксе Database. Вы можете просмотреть каталоги и выбрать базу данных, щелкнув по кнопке поиска (...) для отображения диалогового окна Select Database.

  • ODBC

    Определяет один из приведенных ниже путей установки соединения с базой данных.

    Use existing connection handle Указывает свойство, переменную памяти или выражение, которое оценивается в действительный дескриптор соединения в run time.

    Use DSN Определяет имя источника данных (DSN) из списка Data source и значения в боксах User ID и Password, если это применимо.

    Use connection string Определяет действительную строку соединения. Это тот же самый тип строки соединения, который вы вводите в функции SQLSTRINGCONNECT( ). Для получения более подробной информации смотрите ее описание в SQLSTRINGCONNECT( ) Function.

  • XML

    Определяет XML в качестве источника данных.

Смотрите также

Справочное руководство

Построитель DataEnvironment
Закладка Cursors построителя DataEnvironment

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выпонлен JS.


Cursors Tab, DataEnvironment Builder

Visual FoxPro 9.0
Диалоговое окно DataEnvironment Builder, Закладка Cursors
См. также

Используется для создания нового объекта CursorAdapter, добавления объекта CursorAdapter из библиотеки классов, удаления объекта CursorAdapter, или вызова построителя CursorAdapter для существующего объекта CursorAdapter.

Add

Отображает диалоговое окно Open для выбора существующего класса CursorAdapter из библиотеки классов или программного файла.
New

Вызывает окно CursorAdapter Builder, с помощью которого можно создать и конфигурировать новый объект CursorAdapter.
Remove

Удаляет выбранный объект CursorAdapter. Вы можете выбирать объект CursorAdapter из списка, на закладке Cursors.
Builder

Открывает окно CursorAdapter Builder для выбранного объекта CursorAdapter.
Class

Только для чтения. Отображает имя класса для в выбранного объекта CursorAdapter.
Name

Чтение - запись. Отображает имя выбранного объекта CursorAdapter. Имя по умолчанию Cursor<CursorNumber>.

См. также

Other Resources

DataEnvironment Builder (Построитель среды данных)
Закладка Data Source окна DataEnvironment Builder

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Перевод Timo


Edit Box Builder

Visual FoxPro 9.0
Построитель элемента управления Edit Box
Смотрите также

Построитель облегчает определение свойств элемента управления Edit Box. Edit Box (поле редактирования) обычно используется для отображения, ввода и редактирования длинных полей типа Character или Memo-полей. В поле редактирования также может отображаться текст из текстового файла или из буфера обмена. Установка свойств производится выбором соответствующих вариантов, отображаемых в диалоговом окне построителя - Edit Box Builder.

Чтобы воспользоваться построителем элемента управления Edit Box

  1. Используя панель инструментов Form Controls поместите элемент управления Edit Box на форму.

  2. Нажатием правой кнопки мыши на элементе управления вызовите контекстное меню и выберите пункт Builder.

    Появится диалоговое окно построителя соответствующего элемента управления.

  3. В открывшемся диалоговом окне установите (сбросьте) нужные (ненужные) опции и нажмите кнопку OK.

    При закрытии диалогового окна нажатием на кнопку OK к свойствам элемента управления будут применены настройки со всех его вкладок.

Вкладки Построителя

Format

Задает различные варианты формата элемента управления Edit Box.

Style

Задает визуальный эффект, границу и тип выравнивания символов.

Value

Задает поле, которому присваивается значение поля редактирования.

Смотрите также

Справочное руководство по языку

Вкладка Format Построителя элемента управления Edit Box
Вкладка Style Построителя элемента управления Edit Box
Вкладка Value Построителя элемента управления Edit Box
Окно свойств (Visual FoxPro)
Элемент управления EditBox

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Format Tab, Edit Box Builder

Visual FoxPro 9.0
Вкладка Format Построителя элемента управления Edit Box
Смотрите также

Эта вкладка Построителя элемента управления Edit Box позволяет задать различные варианты формата элемента управления, например, такие как задание вертикальной полосы прокрутки, разрешения только на чтение и т.п.

Allow User to Insert Tabs (Вставка табуляторов)

Разрешает вставлять табуляторы в поле редактирования. В этом случае элемент управления не теряет фокус при нажатии клавиши TAB. Для переходя на следующий элемент управления воспользуйтесь комбинацией клавиш CTRL+TAB. Эта опция соответствует свойству AllowTabs.

Add Vertical Scrollbars (Добавить вертикальную полосу прокрутки)

Добавляет вертикальную полосу прокрутки для поля редактирования. Эта опция соответствует свойству ScrollBars.

Select on Entry (Выделять при входе)

Определяет, что текст в поле редактирования выделяется, когда элемент управления получает фокус. Соответствует установке "K" свойства Format..

Use Current SET DATE (Использовать текущие параметры даты)

Добавляет установку "D" к свойству Format, чтобы вводимая дата отображалась в соответствии с текущей установкой SET DATE или с установкой формата даты на вкладке Regional диалогового окна Options.

Hide Selection (Скрывать выделение)

Определяет, остается ли видимым выделение текста в поле редактирования, когда элемент управления теряет фокус. Эта опция соответствует свойству HideSelection.

Enable at Run time (Доступно во время выполнения)

Определяет доступность элемента управления Edit Box во время выполнения формы. Эта опция соответствует свойству Enabled.

Make Read-Only (Только чтение)

Препятствует пользователю изменять текст в поле редактирования. Эта опция соответствует свойству ReadOnly.

British Date (Британский формат даты)

Добавляет установку "E" к свойству Format, чтобы вводимая дата отображалась в соответствии с британским форматом даты установки SET DATE или с установкой формата даты на вкладке Regional диалогового окна Options.

Смотрите также

Справочное руководство по языку

Вкладка Style Построителя элемента управления Edit Box
Вкладка Value Построителя элемента управления Edit Box
Построитель элемента управления Edit Box
Свойство AllowTabs
Свойство Enabled (Visual FoxPro)
Свойство Format
Свойство HideSelection
Свойство ReadOnly
Свойство ScrollBars

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Style Tab, Edit Box Builder

Visual FoxPro 9.0
Вкладка Style Построителя элемента управления Edit Box
Смотрите также

Эта вкладка Построителя элемента управления Edit Box задает визуальный эффект, границу и выравнивание.

Special Effect (Визуальный эффект)

3D (Трехмерный)

Задает подсветку и затенение соответствующих границ элемента управления с целью придания ему объемного вида. Эта опция соответствует установке 3D свойства SpecialEffect.

Plain (Плоский)

Задает незатененное поле редактирования на форме. Эта опция соответствует установке Plain свойства SpecialEffect.

Border (Граница)

Single (Одинарная)

Задает в качестве границы поля редактирования одинарную линию. Эта опция соответствует установке Fixed-Single свойства BorderStyle.

None (Отсутствует)

Не задает никаких линий в качестве границы поля редактирования. Эта опция соответствует установке None свойства BorderStyle.

Character Alignment (Выравнивание символов)

Left (По левому краю)

Определяет, что текст будет выравниваться по левому краю поля редактирования. Эта опция соответствует установке Left свойства Alignment.

Right (По правому краю)

Определяет, что текст будет выравниваться по правому краю поля редактирования. Эта опция соответствует установке Right свойства Alignment.

Center (По центру)

Определяет, что текст будет выравниваться по центру поля редактирования. Эта опция соответствует установке Center свойства Alignment.

Смотрите также

Справочное руководство по языку

Вкладка Format Построителя элемента управления Edit Box
Вкладка Value Построителя элемента управления Edit Box
Построитель элемента управления Edit Box
Свойство Alignment
Свойство BorderStyle
Свойство SpecialEffect

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Value Tab, Edit Box Builder

Visual FoxPro 9.0
Закладка Value, Построитель Кнтрола EditBox
См. Также

В данной закладке Построителя Контрола EditBox определяется поле Таблицы, значение которого помещается в Бокс Редактирования.

Field Name (Имя Поля)

Определяется имя поля Таблицы или Представления, значение которого помещается в рассматриваемый Контрол. Вам нужно ввести имя поля или нажать диалоговую кнопку для открытия диалогового бокса Open, в котором можно выбрать необходимое поле из таблицы или представления. Выбранное поле можно "перетащить" в рассматриваемый список полей Field Name.

По-умолчанию, доступными таблицами и представлениями, из которых выбирается необходимое поле, являются таблицы текущей Среды Данных (data environment). Данная опция корреспондируется со свойством ControlSource рассматриваемого Контрола.

См. дополнительно раздел Создание Форм.

См. также

Описание

Построитель Контрола EditBox
Закладка Format, Построитель Контрола EditBox
Open, Диалоговый бокс (Visual FoxPro)
Закладка Style, Построитель Контрола EditBox
ControlSource, Свойство

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Form Builder

Visual FoxPro 9.0
Построитель Формы
Смотрите также

Построитель облегчает добавление к форме полей и новых элементов управления. Добавление элементов управления и определение стиля формы производится простым выбором вариантов в диалоговом окне Form Builder - Построителя формы.

Чтобы воспользоваться построителем формы

  1. Находясь в конструкторе форм нажмите правую кнопку мыши на новой или существующей форме.

    -или-

  2. Выберите пункт Quick Form в меню Form.

    При закрытии диалогового окна построителя нажатием на кнопку OK к свойствам формы будут применены настройки со всех его вкладок.

Вкладки Построителя

Field Selection (Выбор полей)

Определяет поля, которые будут добавлены в качестве элементов управления формы.

Style (Стиль)

На вкладке предлагается несколько вариантов стиля оформления формы и ее элементов управления и опцию Enlarge form as needed, выбор которой позволяет автоматически увеличить размеры формы в случае необходимости. Размер формы может быть увеличен только в пределах параметров, заданных в опции Maximum Design Area вкладки Forms диалогового окна Options.

Стили построителя соответствуют стилям, предлагаемым Мастером Формы. Если форма создана с использованием Мастера, для добавления нового элемента управления в том же самом стиле используйте Построитель. Вы можете также добавить элемент управления в другом стиле. Стиль, выбранный в Построителе Формы не затрагивает существующие элементы управления на форме. Снятие пометки с опции Apply style color to form позволяет сохранить существующий цвет формы. Для форматирования элементов управления можно воспользоваться построителем AutoFormat.

Смотрите также

Задачи

Построитель AutoFormat

Справочное руководство по языку

Вкладка Field Selection Построителя формы
Вкладка Forms диалогового окна Options
Вкладка Style Построителя формы

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Field Selection Tab, Form Builder

Visual FoxPro 9.0
Закладка Field Selection, Построитель Форм
См. Также

В данной закладке Построителя Форм определяются поля таблиц, которые добавляются в Контролы разрабатываемой формы.

Databases and Tables (Базы данных и Таблицы)

Представлен список баз данных или свободных таблиц, из которых делается выбор. Для поиска других контейнеров данных нужно нажать соответствующую кнопку, откроется диалоговый бокс Open (Открыть).

List of Tables (Список Таблиц)

Отображаются Таблицы или Представления из выбранной ранее Базы Данных, или свободные таблицы из каталога.

Available Fields (Доступные Поля)

Отображаются все поля выбранной ранее Таблицы или Представления. Выберите требуемые поля для размещения их в вашей форме.

Arrow Buttons (Кнопка переноса)

Добавить выбранное поле в соответствующий бокс выбранных полей Selected Fields.

Selected Fields (Выбранные Поля)

Отображаются поля из Таблиц, которые будут размещены в Контролах разрабатываемой формы.

См. также

Описание

Построитель Форм
Закладка Style Tab, Построитель Форм
Open, Диалоговый бокс (Visual FoxPro)
Построитель Grid

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Style Tab, Form Builder

Visual FoxPro 9.0
Закладка Style , Построитель Форм
См. также

Данная закладка Построителя Форм предлагает несколько вариантов стилей для ваших элементов управления данными и характеристиками разрабатываемой формы. Форму можно расширить до максимальных размеров при помощи диалогового бокса Options dialog box.

Style

Определяет стиль элементов управления формы, который определяется соответствующим классом управления. Вам нужно выбрать стиль формы, чтобы представить вид разрабатываемой формы, ...как это будет выглядеть у пользователя.
Enlarge Form as Needed check box

Данная опция указывает на расширение формы в целях размещения необходимых элементов управления, что ограничивается установленными в системе характеристиками для разрабатываемых форм.

См. также

Другие ссылки

Построитель Форм
Закладка Field Selection, Построитель Форм
Закладка Forms, Бокс характеристик
Редактор Edit Box

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Grid Builder

Visual FoxPro 9.0
Построитель Grid
Смотрите также

Построитель Grid облегчает установку свойств элемента управления grid. Элемента управления grid позволяет вам представлять и манипулировать строками и столбцами данных в форме или странице. Свойства элемента управления grid устанавливаются выбором опций отображаемых в диалоговом окне Grid Builder.

Чтобы воспользоваться построителем Grid

  1. Используя панель инструментов Form Controls, поместите элемент управления grid на форму.

  2. Нажатием правой кнопки мыши на элементе управления grid, вызовите контекстное меню Конструктора форм и выберите пункт Builder.

  3. Настройте необходимые вам опции на вкладках диалогового окна и нажмите кнопку OK.

    После нажатия кнопки OK, построитель закроется, а настройки со всех вкладок будут применены к элементу управления.

    Note Замечание

    Перед выполнением вашей формы, удостоверьтесь, что вы установили размеры элемента управления grid для адекватного отображения ваших данных.

Вкладки построителя

Grid Items (элементы сетки)

Определяет поля которые будут отображаться в элементе управления grid.

Style (Стиль)

Определяет стиль отображения элемента управления grid.

Layout (Раскладка)

Определяет заголовки столбцов и типы элементов управления.

Relationship (связи)

Определяет связи между полями grid и полями таблицы.

Смотрите также

Справочное руководство

Элемент управления Grid
Закладка "Grid Items", Построителя "Grid"
Закладка "Layout", Построителя "Grid"
Свойство RecordSource
Свойство RecordSourceType
Закладка "Relationship", Построителя "Grid"
Закладка "Style", Построителя "Grid"

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.


Grid Items Tab, Grid Builder

Visual FoxPro 9.0
Закладка "Grid Items", Построитель "Grid"
См. Также

В рассматриваемой закладке Построителя Объекта Grid определяется группа Полей (элементов), которые будут отображаться в данном объекте.

Note Примечание

В Построителе "Grid", вы можете выбрать требуемые поля только из одной таблицы Данных. Для построения несколькb[ Связанных таблиц, отображаемых в разных объектах "Grids", вы должны выполнить построение каждого отдельного объекта Grid, далее в соответствующей закладке Построителя Relationship определить условие Соединения рассматриваемых Таблиц.

Databases and Tables (Базы Данных и Таблицы)
Отображает доступные в настоящий момент Базы данных и таблицы, из которых выбираются источники данных для столбцов объектов Grid. Для поиска других источников данных можно воспользоваться диалоговой кнопкой Open, при использовании которой открывается соответствующий Диалоговый Бокс.

List of Tables (список таблиц)

Отображается список Таблиц или Представлений текущей Базы Данных, или других Свободных таблиц.

Available Fields (доступные Поля)

Отображаются все поля выбранной ранее Таблицы или Представления.

Arrow Buttons (кнопки-стрелки)

Добавляются или удаляются поля из Списка Требуемых полей для объекта Grid.

Selected Fields (выбранные поля)

Отображается список Полей, котоые будут размещаться в объекте Grid. Каждая поле отображается в одном столбце.

См. также

Описание

Построитель "Grid"
Закладка "Layout", Построитель "Grid"
Open, диалоговый бокс (Visual FoxPro)
Закладка "Relationship", Построитель "Grid"
Закладка "Style", Построитель "Grid"

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Style Tab, Grid Builder

Visual FoxPro 9.0
Закладка Style Tab, Построитель объектов Grid
См. Также

В данной Закладке Построителя объектов Grid определяется Стиль отображения данного объекта.

Style

Определяет один из следующих стилей объекта Grid: Professional, Standard, Embossed, или Ledger. Вы можете выбрать необходимый Стиль.

См. также

Описание

Построитель объектов Grid
Закладка Grid Items, Построитель объектов Grid
Закладка Layout, Построитель объектов Grid
Закладка Relationship, Построитель объектов Grid

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Layout Tab, Grid Builder

Visual FoxPro 9.0
Закладка "Layout" , Построитель "Grid"
См. Также

В данной закладке Построителя "Grid" определяются заголовки столбцов и управляющие элементы данных столбцов (ControlSource), определяющие вид отображаемой в этих столбцах информации.

Note Примечание

Сначала вы должны выбрать конкретный столбец, заголовок которого требуется определить.
Caption (заголовок)

Определяет Заголовок (текст заголовка) выбранного Столбца. Введите требуемый текст в соответствующий TextBox. Если вы не определяете заголовок данного столбца - в качестве заголовка отображается имя соответствующего поля - управляющего элемента столбца.

Control Type (Тип управляющего элемента)

Определяет тип управляющего элемента столбца, который добавляется в контейнер столбца (возможно наличие нескольких управляющих элементов). Для символьных данных допустимыми являются контролы TextBox / EditBox, для данных типа Logical - контролы TextBox или CheckBox, для данных типа Numeric - TextBox или Spinner.

Grid Display (показать настроенный объект Grid)

Отображает разрабатываемый объект Grid с текущими настройками столбцов и их управляющих элементов. Для изменения размеров столбцов (изменения ширины столбцов) - переместите правую границу заголовка столбца на необходимую величину.

См. также

Описание

Построитель "Grid"
Закладка "Grid Items", Построитель "Grid"
Закладка "Style", Построитель "Grid"
Закладка "Relationship", Построитель "Grid"

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Relationship Tab, Grid Builder

Visual FoxPro 9.0
Закладка Relationship, Построитель Контрола Grid
См. Также

В данной закладке Построителя Контрола Grid определяются характеристики отношений Связи между столбцами Контрола и полями соответствующих Таблиц.

Key Field in Parent Table (Ключевое Поле Родительской Таблицы)

Определяется ключевое поле родительской таблицы, через которое устанавливается Отношение между связываемыми таблицами в рассматриваемом Контроле. Данная опция корреспондируется (связана) с соответствующим свойством LinkMaster. Для поиска необходимого поля таблицы можно использовать диалоговую кнопку, открывающую диалоговый бокс Open, где выбирается нужное поле таблицы.

Related Index in Child Table (Связующий Индекс Дочерней таблицы)

Определяется имя индексного Тэга (index tag) для дочерней таблицы, который будет выполнять управление отображаемыми записями данной таблицы в рассматриваемом Контроле. Данная опция корреспондируется со свойством ChildOrder.

См. также

Описание

ChildOrder, Свойство
Построитель Контрола Grid
Закладка Grid Items, Построитель Контрола Grid
Закладка Style, Построитель Контрола Grid
Закладка Layout, Построитель Контрола Grid
LinkMaster, Свойство

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


List Box Builder

Visual FoxPro 9.0
Построитель элемента управления List Box
Смотрите также

Построитель предоставляет простой способ для установки свойств элемента управления List Box. Элемент управления List Box отображает перечень элементов в виде списка с прокруткой. Список напоминает элемент управления ComboBox, только последний первоначально отображает один элемент, а в списке видимы и доступны все элементы. Свойства элемента управления List Box устанавливаются выбором вариантов, отображаемых в диалоговом окне Построителя List Box.

Чтобы воспользоваться построителем элемента управления List Box

  1. При помощи панели инструментов Form Controls поместите элемент управления List Box на форму.

  2. Нажатием правой кнопки мыши на элементе управления List Box вызовите контекстное меню Конструктора форм и выберите пункт Builder.

  3. Настройте необходимые вам опции на вкладках диалогового окна и нажмите кнопку OK.

    После нажатия кнопки OK, построитель закроется, а настройки со всех вкладок будут применены к элементу управления.

Вкладки построителя

List Items (Элементы списка)

Определяет, какими элементами будет наполняться список и источник данных для них.

Style (Стиль)

Определяет стиль (3D или плоский), количество отображаемых строк, а также возможность нарастающего поиска (incremental searching).

Layout (Раскладка)

Задает ширину колонок и их отображение.

Value (Значение)

Определяет, значение какой колонки следует возвращать при выборе пользователем элемента списка и, при необходимости, в каком поле его сохранять.

Смотрите также

Справочное руководство по языку

Вкладка Layout, Построитель элемента управления List Box
Вкладка List Items, Построитель элемента управления List Box
Вкладка Style, Построитель элемента управления List Box
Вкладка Value, Построитель элемента управления List Box
Окно свойств (Visual FoxPro)
Элемент управления ListBox

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


List Items Tab, List Box Builder

Visual FoxPro 9.0
Вкладка List Items, Построитель элемента управления List Box
Смотрите также

Эта вкладка построителя определяет элементы, которыми будет наполняться элемент управления List Box (список).

В комбобоксе Fill the List With задается вид источника данных для наполнения списка. В зависимости от выбора вида источника данных на вкладке отображаются различные опции для дальнейшей настройки. Наполнение может производиться из следующих источников: Fields from a Table or View (Поля таблицы или представления), Data Entered by Hand (Данные, введенные вручную) и Values from an Array (Значения элементов массива).

Fields from a Table or View (Поля таблицы или представления)

Databases and Tables (Базы данных и таблицы)

Перечисляются доступные базы данных и опция для выбора свободной таблицы. Чтобы найти базу данных или таблицу, нажмите кнопку (...), которая вызывает диалоговое окно Open.

List of Tables (Список таблиц)

Отображает список таблиц и представлений выбранной базы данных или список свободных таблиц.

Available Fields (Доступные пола)

Отображает все поля выбранной таблицы или представления. Выберите поля, данными из которых Вы хотите наполнить список, двойным щелчком или используя кнопки со стрелками.

Arrow Buttons (Кнопки со стрелками)

Позволяют добавить в список Selected Fields (Отобранных полей) доступные поля и исключить их из него.

Selected Fields (Отобранные поля)

Отображает поля, отобранные для наполнения списка. Эта опция соответствует свойству RowSource.

Note Примечание

Поле или поля, отобранные в этой опции могут быть скрыты на вкладке Layout.

Data Entered by Hand (Данные, введенные вручную)

Columns (Колонки)

Задает количество колонок в списке. Эта опция соответствует свойству ColumnCount.

Column Grid (Таблица)

Отображает заданное количество колонок в виде таблицы. Введите необходимые данные в ячейки таблицы. Вы можете изменить размеры колонок потянув мышью линию, разделяющую заголовки колонок. Используйте клавиши стрелок и клавишу Tab для перемещения по ячейкам. Эта опция соответствует свойству RowSource.

Values from an Array (Значения элементов массива)

Array Name (Имя массива)

Задает имя массива. Эта опция соответствует свойству RowSource.

Entire Array (Весь массив)

Все элементы массива будут использованы для наполнения списка.

Range of the Array (Диапазон массива)

Для наполнения списка будет использована часть массива.

Column and Row Range

Задает начальные и конечные колонку и строку, определяя диапазон массива. Становится доступной при выборе опции Range of the Array. Эта опция соответствует свойствам FirstElement, NumberOfElements, и ColumnCount.

Для более подробной информации смотрите Создание форм.

Смотрите также

Справочное руководство

Вкладка Layout, Построитель элемента управления List Box
Вкладка Style, Построитель элемента управления List Box
Вкладка Value, Построитель элемента управления List Box
Диалоговое окно Open (Visual FoxPro)
Построитель элемента управления List Box
Свойство RowSource
Свойство RowSourceType

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Style Tab, List Box Builder

Visual FoxPro 9.0
Вкладка Style, Построитель элемента управления List Box
Смотрите также

Эта вкладка построителя элемента управления List Box позволяет определить стиль, количество отображаемых строк и нарастающий поиск (incremental searching).

Three-dimensional

Задает объемный вид элемента управления. Эта опция соответствует свойству SpecialEffect.

Plain

Задает плоский вид элемента управления. Эта опция соответствует свойству SpecialEffect.

Rows to Display

Задает свойство Height элемента управления, таким образом, что одновременно отображается указанное количество строк.

Yes, Enable Incremental Searching

Определяет, будет ли производиться поиск строки, начальные символы которой соответствуют набранным на клавиатуре, по мере ввода при каждом приращении в комбинации набранных букв. Эта опция соответствует установке свойства IncrementalSearch = .T.

No, Don't Enable Incremental Searching

Нарастающий поиск не поддерживается. Эта опция соответствует установке свойства IncrementalSearch = .F.

Смотрите также

Справочное руководство по языку

Вкладка Layout , Построитель элемента управления List Box
Вкладка List Items, Построитель элемента управления List Box
Вкладка Value, Построитель элемента управления List Box
Построитель элемента управления List Box
Свойство Height
Свойство IncrementalSearch
Свойство SpecialEffect

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Layout Tab, List Box Builder

Visual FoxPro 9.0
Закладка Layout, Построитель Контрола ListBox
См. Также

в данной закладке Построитель контрола ListBox определяется ширина столбцов данного контрола.

Adjust the Width of the List Box to Display All Columns (Настройка размеров всех столбцов контрола ListBox)

Определяет обязательное отображение всех столбцов, общая ширина контрола изменяется соответствующим образом. Данная опция корреспондируется со свойством Width рассматриваемого контрола.

Column Grid (Столбец контрола Grid)

Размеры отображаемых столбцов определяются в закладке List Items. Вы можете изменить ширину столбца, перетаскивая мышкой правый угол рассматриваемого столбца Контрола.

С помощью операции "double-clicking" на заголовке столбца вы можете скрыть данный столбец, если, конечно, установлен режим "Fill the list with fields from a table or view", в закладке List Items. Данная опция корреспондируется (связана) со свойством ColumnWidths данного контрола.

См. также

Описание

ColumnWidths, Свойство
Построитель контрола ListBox
Закладка List Items, Построитель Контрола ListBox
Закладка Style, Построитель Контрола ListBox
Закладка Value, Построитель Контрола ListBox
Width, Свойство

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Value Tab, List Box Builder

Visual FoxPro 9.0
Закладка Value, Построитель Контрола ListBox
См. Также

В данной закладке Построителя Контрола ListBox определяется вариант управляющего источника данных для данного контрола.

Return the Value From (Получить значение из источника)

Определяется столбец или поле, из которых получается управляющее значение для данного контрола, какая опция выбирается в списке, какой столбец является управляющим. Данный параметр корреспондируется со свойством BoundColumn.

Field Name (Имя Поля)

Определяется имя поля из таблицы или представления, в которое будет сохраняться выбранное из списка значение, которое определяется в предыдущем разделе Return the Value From. По-умолчанию, назначается поле таблицы или представления, которые задаются в закладке List Items. Для выбора другого управляющего поля нажмите диалоговую кнопку, откроется диалоговый бокс Open, в котором можно выбрать другой файл Таблицы данных. Данный параметр корреспондируется со свойством ControlSource.

См. также

Описание

BoundColumn, Свойство
ControlSource, Свойство
Закладка Layout, Построитель Контрола ListBox
Построитель Контрола ListBox
Закладка List Items, Построитель Контрола ListBox
Open, диалоговый бокс (Visual FoxPro)
Закладка Style, Построитель Контрола ListBox

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Option Group Builder

Visual FoxPro 9.0
Построитель элемента управления Option Group
Смотрите также

Построитель облегчает определение свойств элемента управления Option Group (Группа переключателей). Группа переключателей позволяет пользователям выбирать один из нескольких взаимоисключающих вариантов. Установка свойств производится выбором соответствующих вариантов, отображаемых в диалоговом окне построителя - Option Group Builder.

Чтобы воспользоваться построителем элемента управления Option Group

  1. Используя панель инструментов Form Controls поместите элемент управления Option Group на форму.

  2. Нажатием правой кнопки мыши на элементе управления вызовите контекстное меню и выберите пункт Builder.

  3. В открывшемся диалоговом окне установите (сбросьте) нужные (ненужные) опции и нажмите кнопку OK.

    При закрытии диалогового окна нажатием на кнопку OK к свойствам элемента управления будут применены настройки со всех его вкладок.

Вкладки Построителя

Buttons

Задает количество переключателей, надписи, графическое представление.

Layout

Определяет взаимное расположение переключателей (вертикальное или горизонтальное), расстояние между ними и границу группы.

Value

Задает поле таблицы или представления, которому присваивается значение переменной группы переключателей.

Смотрите также

Справочное руководство по языку

Вкладка Buttons Построителя элемента управления Option Group
Вкладка Layout Построителя элемента управления Option Group
Вкладка Value Построителя элемента управления Option Group
Элемент управления OptionGroup

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Buttons Tab, Option Group Builder

Visual FoxPro 9.0
Вкладка Buttons Построителя элемента управления Option Group
Смотрите также

Эта вкладка Построителя элемента управления Option Group (Группы переключателей) задает количество переключателей, надписи и графическое представление.

Number of Buttons (Количество переключателей)

Задает количество переключателей в группе. Эта опция соответствует свойству ButtonCount.

Standard (Стандартное представление)

Задает представление группы переключателей в виде радио-кнопок. Колонка Graphic при этом недоступна.

Graphical (Графическое представление)

Задает представление группы переключателей в виде взаимозависимых прямоугольных кнопок. При этом можно задать как надпись, так и графическое изображение для каждого переключателя из группы в соответствующих колонках.

Caption Column (Колонка надписей)

Задает надписи, которые будут отображены либо рядом с каждым из переключателей, либо на них, в зависимости от выбора, описанного выше. Задайте надписи для переключателей в соответствующих ячейках или заполните их пробелами, если надписи не нужны. Эта опция соответствует свойству Caption.

Graphic Column (Колонка графических изображений)

Определяет путь и имя файла точечного рисунка, который будет отображаться на переключателе. Задайте путь и имя файла в соответствующей ячейке или нажмите кнопку справа от ячейки, открывающую диалоговое окно Open для выбора необходимого файла изображения. Эта опция соответствует свойству Picture переключателя.

Note Примечание

Каждый переключатель в группе может иметь и надпись, и графическое изображение одновременно. Можно также задать отдельные изображения для переключателя, когда он нажат и когда он недоступен. Однако это возможно лишь программно, либо через окно свойств.

Смотрите также

Справочное руководство по языку

Вкладка Layout Построителя элемента управления Option Group
Вкладка Value Построителя элемента управления Option Group
Окно свойств (Visual FoxPro)
Построитель элемента управления Option Group
Свойство ButtonCount
Свойство Caption (Visual FoxPro)
Свойство DisabledPicture
Свойство DownPicture
Свойство Picture (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Layout Tab, Option Group Builder

Visual FoxPro 9.0
Закладка Layout, Построитель Option Group
См. Также

Данная закладка, в построителе контрола Option Group определяет формат кнопок (вертикальные или горизонтальные), величины промежутков между кнопками, а также стиль бордюра общего контейнера.

Button Layout (формат кнопок)

Определяет размещение кнопок: вертикальное или горизонтальное, соответственно изменяет ширину контейнера

Spacing Between Buttons (промежутки между кнопками)

Определяет величины промежутков между кнопками, изменяет ширину или высоту контейнера

Border Style (стиль бордюра)

Определяет вид окаймляющего бордюра: в одну линию, или без бордура совсем; данная опция соответствует установке свойства BorderStyle.

См. также

Описание

BorderStyle, свойство
Закладка Buttons, построитель Option Group
Построитель Option Group
Закладка Value, построитель Option Group

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Value Tab, Option Group Builder

Visual FoxPro 9.0
Закладка Value, Построитель Option Group
См. Также

В данной закладке построителя Option Group определяется поле из таблицы или представления, в которое заносится значение рассматриваемого контейнера option group's (вариантов выбора), как управляющий источник данных (ControlSource).

Field Name (имя поля)

Определяет имя поля таблицы или представления, которое управляет рассматриваемым контейнером. По-умолчанию, это список полей текущей таблицы; используйте кнопку открытия диалогового бокса Open - для выбора другой таблицы, другого файла. Данная настройка соответствует заданию значения свойства ControlSource рассматриваемого контейнера.

См. также

Описание

Закладка Buttons, построитель Option Group
ControlSource, свойство
Закладка Layout, построитель Option Group
Диалоговый бокс Open (открытие) (Visual FoxPro)
Построитель Option Group

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Referential Integrity Builder

Visual FoxPro 9.0
Построитель Ссылочной Целостности
См. также
CollapseAll image

Построитель Ссылочной Целостности (Referential Integrity (RI)) помогает вам устанавливать Правила (выполнение автоматического программного кода) в условиях добавления, удаления или изменения Данных в связанных Таблицах; как выполняются процедуры Добавления, удаления , Изменения данных в связанных Таблицах. Построитель RI генерирует соответствующие Хранимые Процедуры в виде Триггеров, реализующих требуемые Правила. Дополнительную информацию смотрите в: Как: Построить подсистему Ссылочной Целостности между Таблицами.

Expand image Закладки системного окна Построителя

Правила для Обновления

Определяет Правило, которое выполняется при изменении Ключевого поля (Индекса) в Родительской Таблице.

Правила для Удаления

Определяет Правило, которое выполняется при Удалении Записи из Родительской Таблицы.

Правила для Добавления

Определяет Правило, которое выполняется при Добавлении новой Записи в Родительскую Таблицу.

Дополнительную информацию смотрите в разделах: Проектирование Баз Данных и Использование Триггеров.

Expand image См. также

Другие ссылки

Построители

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Rules for Updating Tab, RI Builder

Visual FoxPro 9.0
Закладка (Правила Обновления), Построитель RI
Смотрите Также

В рассматриваемой Закладке Построителя Ссылочной Целостности связанных таблиц Данных (Referential Integrity (RI) builder) определяются Правила, применяемые при изменении Значений Ключевых Полей в родительских Таблицах.

Cascade (Каскадное)

Определяет, что изменение Значений первичных Ключей, или ключей типа Candidate, родительских Таблиц отражаются в соответствующих, связанных дочерних Таблицах. Если вы устанавливаете данный Параметр, то каждый раз, при изменении Значений ключевых полей в Родительской таблице система Microsoft Visual FoxPro автоматически будет изменять соответствующие значения Ключей в Записях Дочерних Таблиц.

Restrict (Ограниченное)

Предотвращает изменение Значений первичных Ключей, или ключей типа Кандидат, в родительских Таблицах. Поэтому в дочерних таблицах не возникнут "Осиротевшие" записи с данными (постоянные связи не разрушаются).

Ignore (Игнорируемое)
Позволяет Вам обновлять значения полей в Записях родительской таблицы, даже если существуют связанные записи в дочерних Таблицах.
Referential Integrity Grid (Схема Ссылочной Целостности)

Parent Table (Родитель) - Отображается список Имен Таблиц Базы Данных (родительских, в рассматриваемых Связях), содержащих Первичные Ключи, или ключи типа Кандидат.

Child Table (Потомок) - отображается список Имен дочерних Таблиц (относительно описанных Отношений в Базе Данных).

Update (Изменение/Обновление) - отображаются Правила Обновления (изменения) для сохранения Ссылочной Целостности рассматриваемых Отношений между Таблицами. Возможные значения: Cascade, Restrict, Ignore (смотрите выше). Вы можете изменить представленные Значения рассматриваемых параметров (как в обычном раскрывающемся Списке).

Delete (Удаление) - отображаются Правила Удаления (записей, значений Ключей) в условиях Ссылочной Целостности рассматриваемых Отношений между Таблицами. Возможные значения: Cascade, Restrict, Ignore (смотрите выше). Вы можете изменить представленные Значения рассматриваемых параметров (как в обычном раскрывающемся Списке).

Insert (Вставка) - отображаются Правила Добавления (Вставки) (записей, значений Ключей) в условиях Ссылочной Целостности рассматриваемых Отношений между Таблицами. Возможные значения: Cascade, Restrict, Ignore (смотрите выше). Вы можете изменить представленные Значения рассматриваемых параметров (как в обычном раскрывающемся Списке).

Parent Tag - Имя соответствующего Тэга Первичного ключа или типа Кандидат Родительской таблицы.

Child Tag - Имя соответствующего индексного Тэга в дочерней Таблице.

См. также

Описание

Построитель <Referential Integrity RI> (Ссылочной Целостности)
Закладка <Rules for Deleting> (Правила Удаления), Построитель RI
Закладка <Rules for Inserting> (Правила Вставки), Построитель RI

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


Rules for Deleting Tab, RI Builder

Visual FoxPro 9.0
Закладка "Rules for Deleting" (Правила для Удаления), Построитель RI
Смотрите Также

В данной Закладке Построителя Ссылочной Целостности (Referential Integrity (RI)) определяются Правила (Rules), применяемые при удалении Записей в Родительской Таблице (подразумевается наличие Постоянных Отношений между Родительской и Дочерними Таблицами).

Cascade (Каскад - Последовательное)

Данный вариант определяет, что при удалении Записей в Родительской Таблице порождает последовательное (каскадное) удаление соответствующих, связанных Записей в Дочерней Таблице. При удалении ведущих Записей в Родительской Таблице - автоматически удаляются соответствующие, связанные текущим отношением (связью) записи из Дочерней Таблицы.

Restrict (Ограничение)

Запрещает удалять Записи в Родительской Таблице в том случае, когда в связанной Дочерней Таблице имеются соответствующие Записи. Если вы выбираете данный Ограниченный вариант удаления Записей для Постоянного Отношения, то при попытке удалить Запись в Родительской Таблице, которая имеет связанные Записи в Дочерней Таблице буде сгенерирована Исключительная ситуация (Ошибка).

Ignore (Игнорирование)

Данный Вариант позволяет вам удалять Записи в Родительской Таблице, даже если в связанной дочерней Таблице имеются соответствующие Записи.

Referential Integrity Grid (Сетка-таблица Ссылочной Целостности)

Parent Table (Родитель) Отображаются Имена Таблиц из Базы Данных, имеющие Отношения на основе Индексов типа Primary / Candidate .

Child Table (Дочь-Сын) Отображаются Имена Дочерних Таблиц Базы Данных, связанных Постоянными Отношениями.

Update (Обновление) Отображаются соответствующие Правила Обновления данных для Ссылочной целостности существующих Отношений. Возможные значения (смотрите выше): Cascade, Restrict, Ignore. Вы можете изменить текущую установку для выбранного Поля из Таблицы.

Delete (Удаление) Отображаются соответствующие Правила Удаления Записей для Ссылочной целостности существующих Отношений. Возможные значения (смотрите выше): Cascade, Restrict, Ignore. Вы можете изменить текущую установку для выбранного Поля из Таблицы.

Insert (Вставка) Отображаются соответствующие Правила Вставки Записей для Ссылочной целостности существующих Отношений. Возможные значения (смотрите выше): Cascade, Restrict, Ignore. Вы можете изменить текущую установку для выбранного Поля из Таблицы.

Parent Tag (Родительский Тэг) Представляет собой Имена Тэгов индексов типа Primary / Candidate для Родительской Таблицы.

Child Tag (Дочерний Тэг) Представляет собой Имена Тэгов индексов Дочерней Таблицы, по которым осуществляется реализация Отношения - Связи.

См. также

Описание

Referential Integrity (RI), Построитель (Ссылочной Целостночсти)
Закладка "Rules for Inserting" (Правила для Вставки), Построитель RI
Закладка "Rules for Updating" (Правила для Обновления),Построитель RI

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Rules for Inserting Tab, RI Builder

Visual FoxPro 9.0
Правила для закладки Inserting (Вставка) компоновщика RI
Смотрите также

Эта закладка в компоновщике ссылочной целостности - Referential Integrity (RI) - указывает правила, которые применяются при вставке новой записи или обновлении существующей в дочерней таблице.

Restrict (Ограниченная)

Предотвращает вас от ввода записей в дочернюю таблицу в случае отсутствия соответствия с записясм в родительской таблице. Если вы выберите для отношения опцию Restrict Insert (Ограниченная вставка), то попытка добавить запись в дочернюю таблицу сгенерирует ошибку, если в родительской таблице нет записей соответствия.

Ignore (Игнорировать)

Позволяет вам вставлять записи в дочернюю таблицу вне зависимости от того, имеются или нет записи соответствия в родительской таблице.

Referential Integrity Grid (Решетка с параметрами ссылочной целостности)

Parent Table отображает имя таблицы базы данных, содержащей первичный индекс или индекс-кандидат.

Child Table отображает имя дочерней таблицы, участвующей в отношении базы данных.

Update отображает правила обновления в ссылочной целостности для отношения. Возможными значениями являются: Cascade, Restrict или Ignore. Вы можете изменить установки выбрав поле, которое будет представлено в выпадающем списке выбора.

Delete отображает правила удаления в ссылочной целостности для отношения. Возможными значениями являются: Cascade, Restrict или Ignore. Вы можете изменить установки выбрав поле, которое будет представлено в выпадающем списке выбора.

Insert отображает правила вставки в ссылочной целостности для отношения. Возможными значениями являются: Cascade, Restrict или Ignore. Вы можете изменить установки выбрав поле, которое будет представлено в выпадающем списке выбора.

Parent Tag колонка решетки, отображающая имя тэга индекса в Primary или Candidate, определенного в родительской таблице.

Child Tag колонка решетки, отображающая имя тэга индекса в дочерней таблице.

Смотрите также

Справочное руководство

Компоновщик ссылочной целостности (Referential Integrity Builder)
Закладка Rules for Inserting (Правила для вставки)
Закладка Rules for Updating (Правила для вставки) компоновщика RI

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Text Box Builder

Visual FoxPro 9.0
Построитель элемента управления Text Box
Смотрите также

Построитель облегчает определение свойств элемента управления Text Box. Text Box (текстовое поле) является основным элементом управления, позволяющим пользователям добавлять или редактировать данные типов Character, Numeric, or Date в полях таблиц. Установка свойств производится выбором соответствующих вариантов, отображаемых в диалоговом окне построителя - Text Box Builder.

Чтобы воспользоваться построителем элемента управления Text Box

  1. Используя панель инструментов Form Controls поместите элемент управления Text Box на форму.

  2. Нажатием правой кнопки мыши на элементе управления вызовите контекстное меню и выберите пункт Builder.

  3. В открывшемся диалоговом окне установите (сбросьте) нужные (ненужные) опции и нажмите кнопку OK.

    При закрытии диалогового окна нажатием на кнопку OK к свойствам элемента управления будут применены настройки со всех его вкладок.

Вкладки Построителя

Format

Задает различные варианты формата элемента управления и тип маски ввода.

Style

Задает визуальный эффект, границу и выравнивание символов в текстовом поле.

Value

Задает поле, которому присваивается значение текстового поля.

Смотрите также

Справочное руководство по языку

Вкладка Format Построителя элемента управления Text Box
Вкладка Style Построителя элемента управления Text Box
Вкладка Value Построителя элемента управления Text Box
Элемент управления TextBox (Visual FoxPro)

Прочие ресурсы

Построители

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Format Tab, Text Box Builder

Visual FoxPro 9.0
Вкладка Format Построителя элемента управления Text Box
Смотрите также

Эта вкладка Построителя элемента управления Text Box позволяет задать различные варианты формата элемента управления и тип маски ввода.

Data Type (Тип данных)

Позволяет задать следующие типы данных: Character, Date, Logical или Numeric. Если Вы выбираете какое-либо значение на вкладке Value, убедитесь, что оно имеет тот же тип данных, что и указанный здесь.

Enable at Run Time (Доступно во время выполнения)

Определяет доступность элемента управления Text Box во время выполнения формы. Эта опция доступна для всех типов данных и установлена по умолчанию. Она соответствует свойству Enabled.

Alphabetic Characters Only (Только буквы)

Определяет, что в текстовое поле могут вводиться только буквы (ввод цифр и прочих символов невозможен). Эта опция доступна только для данных типа Character. Соответствует установке "A" свойства Format.

Make Read-Only (Только чтение)

Препятствует пользователю изменять текст в текстовом поле. Эта опция соответствует свойству ReadOnly и доступна для всех типов данных.

Select on Entry (Выделять при входе)

Определяет, что текст в текстовом поле выделяется, когда элемент управления получает фокус. Эта опция доступна только для данных типа Character. Соответствует установке "K" свойства Format.

Hide Selection (Скрывать выделение)

Определяет, остается ли видимым выделение текста в тестовом поле, когда элемент управления теряет фокус. Эта опция соответствует свойству HideSelection и доступна для всех типов данных.

Display Leading Zeros (Отображать начальные нули)

Определяет, что нули слева от десятичной точки должны отображаться. Эта опция доступна только для данных типа Numeric. Соответствует установке "L" свойства Format.

Use Current SET DATE (Использовать текущие параметры даты)

Добавляет установку "D" к свойству Format, чтобы вводимая дата отображалась в соответствии с текущей установкой SET DATE или с установкой формата даты на вкладке Regional диалогового окна Options. Опция появляется, когда выбран тип данных Date в выпадающем списке Data Type.

British Date (Британский формат даты)

Добавляет установку "E" к свойству Format, чтобы вводимая дата отображалась в соответствии с британским форматом даты установки SET DATE или с установкой формата даты на вкладке Regional диалогового окна Options. Опция появляется, когда выбран тип данных Date в выпадающем списке Data Type.

Input Mask (Маска ввода)

Определяет пользовательский формат ввода данных типа Numeric, Character или Logical. Несколько вариантов маски доступны в выпадающем списке Input Mask; пример выбранной маски появляется справа от списка. Например, маска ввода для типа данных Numeric - Североамериканский формат телефонного номера: (###) ###-####.

Смотрите также

Справочное руководство по языку

Вкладка Style Построителя элемента управления Text Box
Вкладка Value Построителя элемента управления Text Box
Построитель элемента управления Text Box
Свойство Enabled (Visual FoxPro)
Свойство Format
Свойство HideSelection
Свойство InputMask
Свойство ReadOnly
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Style Tab, Text Box Builder

Visual FoxPro 9.0
Вкладка Style Построителя элемента управления Text Box
Смотрите также

Эта вкладка Построителя элемента управления Text Box задает визуальный эффект, границу и выравнивание символов в текстовом поле.

Special Effect (Визуальный эффект)

3D (Трехмерный)

Задает подсветку и затенение соответствующих границ элемента управления с целью придания ему объемного вида. Эта опция соответствует установке 3D свойства SpecialEffect.

Plain (Плоский)

Задает незатененное текстовое поле на форме. Эта опция соответствует установке Plain свойства SpecialEffect.

Border (Граница)

Single (Одинарная)

Задает в качестве границы текстового поля одинарную линию. Эта опция соответствует установке Fixed-Single свойства BorderStyle.

None (Отсутствует)

Не задает никаких линий в качестве границы текстового поля. Эта опция соответствует установке None свойства BorderStyle.

Character Alignment (Выравнивание символов)

Left (По левому краю)

Определяет, что текст будет выравниваться по левому краю текстового поля. Эта опция соответствует установке Left свойства Alignment.

Right (По правому краю)

Определяет, что текст будет выравниваться по правому краю текстового поля. Эта опция соответствует установке Right свойства Alignment.

Center (По центру)

Определяет, что текст будет выравниваться по центру текстового поля. Эта опция соответствует установке Center свойства Alignment.

Automatic (Автоматически)

Определяет, что текст в текстовом поле будет выравниваться в соответствии с типом данных их источника. Эта опция соответствует установке Automatic (По умолчанию) свойства Alignment.

Size Text Box to Fit (Подгонка размера)

Автоматически устанавливает размеры текстового поля. Если задана маска ввода, то размер текстового поля автоматически подгоняется под ее параметры. В противном случае размеры текстового поля определяются в соответствии с длиной поля, заданного свойством ControlSource.

Note Примечание

Если Вы задали маску ввода на вкладке Format Построителя элемента управления Text Box, ширина текстового поля будет приведена в соответствие с длиной маски ввода. Если маска ввода не задана, ширина текстового поля будет приведена в соответствие с длиной поля.

Смотрите также

Справочное руководство по языку

Вкладка Format Построителя элемента управления Text Box
Вкладка Value Построителя элемента управления Text Box
Построитель элемента управления Text Box
Свойство BorderStyle
Свойство ControlSource
Свойство SpecialEffect
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Value Tab, Text Box Builder

Visual FoxPro 9.0
Вкладка Value Построителя элемента управления Text Box
Смотрите также
CollapseAll image

Эта вкладка построителя элемента управления Text Box задает поле, которому присваивается значение текстового поля.

Field Name (Имя поля)

Задает поле таблицы или представления, в котором сохраняется значение текстового поля. Для выбора файла нажмите кнопку справа, которая вызывает диалоговое окно Open. Эта опция соответствует свойству ControlSource.

Expand image Смотрите также

Справочное руководство по языку

Диалоговое окно Open (Visual FoxPro)
Вкладка Format Построителя элемента управления Text Box
Вкладка Style Построителя элемента управления Text Box
Построитель элемента управления Text Box
Свойство ControlSource

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


XML Web Service Builder

Visual FoxPro 9.0
Построитель "XML Web Service Builder"
Смотрите также

Предоставляет вам возможность привязки XML Web сервиса к управляющему элементу на форме Visual FoxPro или к объекту, такому как Cursor Adapter в окружении данных формы без написания процедурного кода.

Вы можете открыть XML Web Service Builder из дизайнера форм или из дизайнера класса.

Для того, чтобы открытьXML Web Service Builder

  1. Создайте новую или откройте существующую форму.

  2. В меню Tools щелкните на Toolbox.

  3. Из My XML Web Services в Toolbox, перетащите на форму управляющий элемента Generic Handler или зарегистрированный XML Web сервис.

Вы можете, кроме того, открыть XML Web Service Builder для существующего XML Web сервиса путем регистрации XML Web сервиса в Toolbox, перетаскиванием XML Web сервиса из Toolbox на форму, или с помощью вызова контекстного меню XML Web сервиса с последуюзим щелчком на Builder.

Замечание Замечание

Как и в случае других построителей Visual FoxPro, вы можете использовать XML Web Service Builder для повторного редактирования XML Web сервиса. Построитель не только устанавливает свойства для управляющего элемента, он, кроме того, записывает информацию в настраиваемый метод SetupOperations.

Закладки построителя

Закладка Services, построитель XML Web Service Builder

Определяет XML Web сервис для использования в форме или классе.

Закладка Operations, построитель XML Web Service Builder

Определяет операции XML Web сервиса, которые будут использованы, а также их привязки к элементам формы или класса.

Смотрите также

Задачи

Как: получить доступ к XML Web сервисам

Прочие ресурсы

Построители - Builders

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Services Tab, XML Web Service Builder

Visual FoxPro 9.0
Закладка "Services" построителя "XML Web Service Builder"
Смотрите также

Определяет XML Web сервис для использования в вашем приложении. Вы можете, кроме того, видеть операции или вызовы методов, возможные для XML Web сервиса.

Select an XML Web service

Определяет XML Web сервис, который вы желаете связать с управляющими элементами или объектами на форме и отображает прочие XML Web сервисы, который доступны в Toolbox.

Refresh

Обновляет выбранный XML Web сервис для того, чтобы смогли правильно зарегистрировать его на вашем компьютере. Эта опция доступна только тогда, когда перечислены все зарегистрированные XML Web сервисы.

Add a new XML Web service

Предоставляет вам возможность зарегистрировать и добавить новый XML Web сервис. Эта опция доступна только тогда, когда перечислены все зарегистрированные XML Web сервисы.

Change XML Web service

Перечисляет все зарегистрированные XML Web сервисы. Эта опция появляется, если выбранный XML Web сервис был открыт построителем.

Замечание Замечание

Изменение XML Web сервиса удаляет все его установки из закладки "Operations".

View operations

Отображает операции или вызовы методов, доступные для выбранного XML Web сервиса.

Замечание Замечание

Выбранная операция появляется в диалоговом окне "View operations" только с информационными целями. Вы можете установить привязки для операции на закладке "Operations". Для получения более подробной информации смотрите Закладка "Operations" построителя "XML Web Service Builder".

View service description (WSDL)

Отображает описание WSDL для XML Web сервиса.

Смотрите также

Справочное руководство

Построитель "XML Web Service Builder"
Закладка "Operations" построителя "XML Web Service Builder"

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Operations Tab, XML Web Service Builder

Visual FoxPro 9.0
Закладка "Operations" построителя "XML Web Service Builder"
Смотрите также

Определяет вызовы операций или методов XML Web сервиса, который вы желаете использовать в вашей форме или классе. Вы можете заранее предоставить информацию о пераметре для вызовов операции и указать управляющий элемент или клиента, с котором вы желаете вы желаете связать результаты вызова операции.

Замечание Замечание

Установки для закладок Operations и Clients хранятся в настраиваемом методе SetupOperations.

Operations

Перечисляет все зарегистрированные операции для XML Web сервиса. Вы можете вызвать эти операции автоматичеcки при создании инстанций формы или класса или программно, когда это потребуется. Вы можете ассоциировать каждую операцию со множеством клиентов.

  • Add Отображает диалоговый блок с опциями для ввода новой операции. Для получения более подробной информации смотрите Диалоговый блок "XML Web Service - Operation Detail".

  • Edit Отображает диалоговый блок с опциями для редактирования выбранной операции. Для получения более подробной информации смотрите Диалоговый блок "XML Web Service - Operation Detail".

  • Remove Удаляет выбранную операцию. Если вы удаляете операцию, вы будет запрошены об удалении любых клиентов, ассоциированных с удаляемой операцией.

Clients

Перечисляет всех зарегистрированный клиентов для выбранной операции. Клиенты представляют собой управляющие элементы или объекты на форме или в классе, которые используют операцию XML Web сервиса. Вы можете определить, когда будет происходить привязка между операцией и клиентом, и какому свойству управляющего элемента будет присвоен результат операции. Для XML Web сервисов, которые возвращают ADO.NET DataSets, вы можете, кроме того, указать комплексный тип информации, такой как установки таблицы или поля.

  • Add Отображает диалоговый блок с опциями для ввода нового клиента. Для получения более подробной информации смотрите Диалоговый блок "XML Web Service - Client Detail".

  • Edit Отображает диалоговый блок с опциями для редактирования выбранного клиента. Для получения более подробной информации смотрите Диалоговый блок "XML Web Service - Client Detail".

  • Remove Удаляет выбранного клиента.

Смотрите также

Справочное руководство

Построитерь XML Web сервиса
Закладка "Services" построителя XML Web Service Builder

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Designers

Visual FoxPro 9.0
Конструкторы

Конструкторы (Designers) предоставляют вам возможность визуальной разработки окон, диалоговых окон и блоков, а также компонентов, которые будут использоваться в ваших приложениях.

В этом разделе

Class Designer (Конструктор класса)

Позволяет вам визуально создавать и изменять классы.

Connection Designer (Конструктор соединения)

Позволяет вам визуально создавать и изменять именованные соединения. Поскольку соединения хранятся как часть базы данных, вы можете использовать Connection Designer (Конструктор соединения) только при открытой базе данных.

Data Environment Designer (Конструктор среды данных)

Позволяет вам визуально создавать и изменять среду данных форм, наборов форм и отчетов.

Database Designer (Конструктор базы данных) (Visual FoxPro)

Отображает и позволяет вам создавать и изменять таблицы, представления и отношения, которые хранятся в базе данных.

Form Designer (Конструктор формы)

Позволяет вам визуально создавать и изменять формы и наборы форм. Набор форм состоит из одной или более форм, которые могут управляться как одно целое.

Label Designer (Конструктор этикетки)

Позволяет вам создавать и изменять этикетки. Когда окно Label Designer (Конструктора этикетки) активно, Microsoft Visual FoxPro отображает пункт меню Report (Отчет) и выводит полоску инструментов Report Controls (Элементы управления отчетов).

Menu and Shortcut Designers (Конструкторы системных и контекстных меню)

Позволяет вам создавать меню, элементы меню, субменю элементов меню, линии, которые разделяют группы связанных элементов меню и тому подобное.

Query and View Designers (Конструкторы запрос и представления)

Позволяет вам создавать и изменять файлы запросов и представления. Когда Query или View designer (Конструктор запроса или представления) активен, Microsoft Visual FoxPro отображает меню Query (Запрос) и полоску инструментов Query (Запрос) или полоску инструментов конструктора представления.

Report Designer (Конструктор отчета)

Позволяет вам создавать и изменять отчеты. Когда окно Report designer (Конструктора отчета) активно, Microsoft Visual FoxPro отображает меню Report и полоску инструментов Report Controls (Элементы управления отчетов).

Table Designer (Конструктор таблицы) (Visual FoxPro)

Позволяет вам создавать и изменять таблицы баз данных, свободные таблицы, поля таблиц и индексы.

Связанные разделы

Справка по интерфейсу пользователя (Visual FoxPro)

Рассматриваются параметры, которые появляются в различных диалоговых блоках, окнах и прочих элементах интерфейса пользователя. Эти типы статей справки обычно появляются, когда вы нажимаете клавишу F1 в диалоговых блоках или окнах.

Разработка приложений Visual FoxPro

Включает в себя коецептуальную информацию о том, как разрабатывать приложения Visual FoxPro, инструкции по созданию баз данных и пользовательского интерфейса, а также прочие задачи, необходимые при создании приложений Visual FoxPro.

Программирование в Visual FoxPro

Описавается - как понимание методик объектно-ориентированного программирования и событийно-управляемая модель может максимально увеличить продуктивность вашего программирования и позволяет получить доступ к полной мощи, которую дает Visual FoxPro.

Справочное руководство (Visual FoxPro)

Включает в себя статьи об инструментах продуктивной разработки, наряду с описаниями элементов управления, объектов, свойств, методов, событий, операторов, функций и доступных констант.

Программы-утилиты

Описываются инструменты, поставляемые с Microsoft Visual FoxPro с целью помощи в увеличении скорости процесса разработки приложений.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Class Designer

Visual FoxPro 9.0
Дизайнер Классов
См. Также

Для интерактивного, визуального создания или корректировки Классов используется системное средство Дизайнер Классов (Class Designer). При активации основного окна Дизайнера Классов, система Microsoft Visual FoxPro отображает и активирует дополнительные, вспомогательные компоненты разработки Классов: меню Class. При соответствующей настройке, пункт Tools, меню View, появляются, становятся доступными: окно Properties, Toolbar Form Controls, а также Layout Toolbar.

Разрабытываемые классы размещаются в библиотеках классов, фалах (.vcx). Для корректировки нескольких классов одновременно, вы можете открыть несколько Дизайнеров Классов.

Комбинация клавиш CTRL+E - сохраняет класс в родительской библиотеке классов, когда последние действия выполняются в окне редактора программного кода Метода или События. При повторном открытии рассматриваемого класса, сразу открывается окно Редактирования, где был завершен сеанс работы с данным класом, в последний раз.

Дополнительная информация о разработке Классов находится в разделах: Объектно-Ориентированное Программирование, и Как: Создавать Классы и Подклассы , а также Как: Сохранять Формы.

Основное кно Дизайнера классов содержит окно разрабатываемого класса, который размещается в левом верхнем углу, и не может быть перемещен в другое место, за исключением типа класса "toolbar" .

См. также

Описание

Системное окно Data Session
Дизайнер Форм (Form Designer)
Контрол PageFrame
Дизайнер Соединения (Connection)
Дизайнер Среды Данных (Data Environment)

Концепции

Дизайнер Баз Данных (Visual FoxPro)

Другие ссылки

Дизайнеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Connection Designer

Visual FoxPro 9.0
Connection Designer (Конструктор соединения)
Смотрите также

Позволяет вам создавать и изменять именованные соединения. Для получения более подробной информации смотрите описание задачи Как: создать определения соединений к удаленным источникам данных.

Connection Designer (Конструктор соединения) доступен только тогда, когда открыта база данных, так как соединения хранятся как ее составная часть.

Блок Specify Datasource (Указание источника данных)

Радио-кнопка Data Source,Userid,Password (Источник данных, ID пользователя, Пароль)
позволяет вам указать четыре параметра

:

  • Data Source (Источник данных) позволяет вам выбрать источник данных из списка установленных источников данных ODBC.

  • Userid (ID пользователя) позволяет вам ввести имя пользователя или идентификатор ID, если источник данных требует этого.

  • Password (Пароль) позволяет вам ввести пароль, если источник данных требует этого.

  • Database (База данных) позволяет вам выбрать базу данных для выбранного источника данных для соединения с ней.

Радио-кнопка Connection String (Строка соединения)

Определяет, что Visual FoxPro отобразит блок ввода текста Connect String (Строка соединения) - смотрите нижний рисунок - в котором вы можете напечатать строку соединения. Щелчок по кнопке выбора (...) справа от блока ввода текста выведет диалог Select Connection or Data Source (Выбор соединения или источника данных), позволяющий вам выбрать существующий файл или машинный источник данных.

Verify Connection (Проверка соединения)

Позволяет вам проверить соединение, для которого вы только что ввели параметры. Если соединение было успешно создано, то появится окно с сообщением, подтверждающим это. Если же соединение не было установлено, то появится сообщение об ошибке. Если для соединения не была указана информация, то появится диалог Select Database (Выбор базы данных), позволяющий вас выбрать источник данных.

New Data Source (Новый источник данных)

Отображает диалог Data Sources (Источники данных), который позволяет вам добавить, удалить или сконфигурировать источники данных.

Блок радио-кнопок Display ODBC Login Prompts (Отобразить приглашение регистрации ODBC)

When Login Info Is Not Specified (Когда не была указана информация регистрации)

Определяет, что Visual FoxPro запросит пользователя с помощью диалогового окна ODBC Data Source Login (Регистрация входа для ODBC источника данных), если идентификатор польщователя - ID и пароль не хранятся в определении именованного соединения.

Always (Всегда)

Определяет, что Visual FoxPro запросит пользователя с помощью диалогового окна ODBC Data Source Login (Регистрация входа для ODBC источника данных). Это позволяет пользователю использовать разные идентификаторы и пароли из тех, что хранятся в именованном соединении.

Never (Никогда)

Определяет, что Visual FoxPro никогда не будет заправшивать у пользователя параметры соединения. Эта опция гарантирует высший уровень безопасности.

Блок Data Processing (Обработка данных)

Эти установки соответствуют свойствам соединения, которые вы можете, кроме того, установить с помощью функции DBSETPROP(). Для получения более подробной информации об этих свойствах смотрите их описание в Функция DBGETPROP().

Asynchronous Execution (Асинхронное исполнение)

Определяет асинхронное соединение. Эта установка соответствует свойству соединения Asynchronous.

Display Warnings

Определяет отображение не-захватываемых предупреждений. Эта установка соответствует свойству соединения DispWarnings.

Batch Processing

Определяет, что соединение работает в пакетном режиме. Эта установка соответствует свойству соединения BatchMode.

Automatic Transactions

Определяет что обработка транзакций обслуживается автоматически. Эта установка соответствует свойству соединения Transactions.

Packet Size

Позволяет вам указать размер сетевого пакета (в байтах) для передачи информации от и к сайту удаленных данных. Выберите значение из выпадающего списка или впечатайте значение.

Timeout Intervals (Интервалы лимитов времени)

Эти опции устанавливают значения для свойств соединения, которые вы, кроме того, можете установить с помощью функции DBSETPROP(). Для получения более подробной информации об этих свойствах смотри их описание в Функция DBGETPROP().

Connection (sec) (Соединение в сек.)

Определяет интервал лимита времени для установки соединения в секундах. Эта установка соответствует свойству соединения ConnectTimeout.

Query (sec) (Запрос в сек.)

Определяет интервал лимита времени для исполнения запроса в секундах. Эта установка соответствует свойству соединения QueryTimeout.

Idle (min) (Бездействие в мин.)

Определяет интервал лимита времени для бездействующего соединения. Активное соединение будет деактивировано по истечении указанного интервала времени. Эта установка соответствует свойству соединения IdleTimeout.

Wait Time (ms) (Время ожидания в мс.)

Определяет период времени в миллисекундах, после истечения которого Visual FoxPro будет определять - завершено ли исполнение SQL предложения. Эта установка соответствует свойству соединения WaitTime.

Смотрите также

Справочное руководство

Команда CREATE CONNECTION
Команда DELETE CONNECTION
Команда DISPLAY CONNECTIONS
Команда LIST CONNECTIONS
Команда MODIFY CONNECTION
Команда RENAME CONNECTION

Прочие ресурсы

Конструкторы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Environment Designer

Visual FoxPro 9.0
Дизайнер Data Environment
Смотрите также

Используйте дизайнер Data Environment Designer для визуального создания и модификации окружения данных форм, наборов форм и отчетов. Когда окно дизайнера активно, Visual FoxPro отображает меню Data Environment, которое позволяет вам управлять объектами окружения данных. Для отображанения окон Properties и Code, выполните правый щелчок для отображения контекстного меню Data Environment, и затем щелкните по пункту Properties или по пунктуCode.

Data environment определяет источник для данных, используемых в форме или отчете. Это может включать в себя таблицы, представления и отношения. Окружение данных сохраняется вместе с формой или отчетом и может быть модифицировано всякий раз, когда вы используете дизайнеры отчетов или форм.

Когда окружение данных отчета или формы определено, Visual FoxPro автоматически открывает таблицы или представления, когда вы открываете или запускаете файл и закрывает их, когда файл закрывается или освобождается.

  • Для форм, Visual FoxPro заполняет список свойств ControlSource, который можно просмотреть в окне Properties со всеми полями в вашем окружении данных.

  • Для отчетов, Visual FoxPro заполняет наборы данных, требуемых для вашего отчета и основанного на связанных таблицах или представлениях.

  • Для получения более подробной информации об использовании дизайнера Data Environment Designer совместно с формами, смотрите статью Создание форм.

Смотрите также

Справочное руководство

Окно Code
Свойство ControlSource
Окно Properties (Visual FoxPro)
Дизайнер отчетов
Дизайнер форм
Дизайнер этикеток

Концепции

Дизайнер баз данных (Visual FoxPro)

Прочие ресурсы

Дизайнеры

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Database Designer (Visual FoxPro)

Visual FoxPro 9.0
Дизайнер Баз Данных (Visual FoxPro)
См. Также

Дизайнер Баз Данных отображает все закрепленные за контейнером Талицы, Представления и Отношения (связи между таблицами). Когда активировано окно Дизанера, то становятся активными соответствующие меню Visual FoxPro Database и Database Designer toolbar.

Каждая Таблица представлена в виде расширяемого окна, в котором представлены все поля из данной таблицы и индексные тэги, если таковые имеются. Постоянные Отношения между таблицами отображаются в окне Дизайнера Баз Данных в виде линий, соединяющих соответствующие окна этих таблиц, через индексные тэги, участвующие в создании отношений (связей между таблицами).

В целях наглядного представления компонент базы данных Вы можете перетаскивать (dragging) окна таблиц и представлений в разные места, или использовать команду Arrange, в меню Database. Для отображения или скрытия компонент Базы Данных можно использовать команду Properties в меню Database.

См. также

Задачи

Как: Установить временные отношения (связи) между Таблицами

Описание

CREATE DATABASE, команда

Другие ссылки

Дизанеры
Разработка Баз Данных

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Form Designer

Visual FoxPro 9.0
Дизайнер Форм
См. Также

Системное средство Form Designer (Дизайнер Форм) используется для интерактивного, визуального создания или модификации пользовательских форм или контейнеров FormSet. Наборы форм (контейнеры FormSet) содержат одну или несколько форм, которыми можно манипулировать, как отдельными объектами. Формы и наборы форм, как объекты, имеют свои собственные Свойства, События и Методы, которые можно настраивать и модифицировать.

При активации основного окна Дизайнера форм (Form Designer), система Visual FoxPro отображает и активирует дополнительные компоненты разработки пользовательских форм: меню Form, ToolBar Form Controls, ToolBar Form Designer, и основное окно Properties.

Можно запустить текущую форму на выполнение, для этого нажимается иконка ( ! ) в системном ToolBar, или нажимается комбинация клавиш CTRL+E, при редактировании кода Метода или События. При повторном открытии Дизайнера форм, автоматически открывается окно Редактора программного кода, в котором был завершен предыдущий сеанс работы с данной формой.

Дополнительную информацию о корректировке программного кода Событий и Методов смотри в разделе Создание Форм.

Основное окно Дизайнера форм (Form Designer) состоит из :

Form Window (окно формы)

Содержит одну форму, в которой вы можете создавать и изменять различные составляющие ее элементы (объекты, контролы). Когда вы корректируете контейнер форм (FormSet), то в окне Form Designer отображаются все формы данного набора. Соответствующие формам окна могут перемещаться относительно рабочей области разработки Form Designer.

См. также

Задачи

Как: Добавить Контролы или Объекты Visual FoxPro в Форму

Описание

Закладка Forms, диалоговый бокс Options
Мастер создания Форм
Контрол PageFrame
Свойства Окна (Visual FoxPro)

Концепции

Дизайнер Классов

Другие ссылки

Дизайнеры

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Label Designer

Visual FoxPro 9.0
Дизайнер Этикеток
См. также

Вы можете создавать или изменять Этикетки при помощи соответствующего Дизайнера Этикеток. Данный дизайнер аналогичен Дизайнеру Отчетов, имеет аналогичное меню и ToolBar. Главным отличием Дизайнера Этикеток является: автоматическое определение параметров страницы печати для размещения нескольких Колонок Этикетки. Для дополнительной информации см. раздел Как: Создать Этикетку

Дизайнер Этикеток использует ключевой элемент Отчетов: Band - полоса, на которой (-ом) размещаются основные элементы отчета.

Bands (полосы)

Полосы отчета обеспечивают Вам возможность размещения на странице Этикетки различных данных . По-умолчанию, Дизайнер Этикеток содержит следующие полосы Отчета:

  • Page Header (Заголовок Страницы) Отображается информация или данные, которые будут размещены вверху каждой страницы.

  • Detail (Детали) Отображается информация или данные, выводимая для каждой записи таблицы.

  • Page Footer (Нижний колонтитул страницы) Отображаются данные в нижней части каждой страницы.

Каждая полоса размещена за разделителем, который содержит ее имя и стрелку, указывающую область данной полосы. Полоса Detail содержит заштрихованную стрелку, другие полосы содержат незаштрихованные стрелки.

Вы можете добавить в отчет (Этикетку) другие полосы, по Вашему усмотрению. Дополнительно см. Работа с Полосами Отчетов.

Ruler (Ограничитель)

Дизайнер Этикеток отображает вертикальный и горизонтальный ограничители (сетку), которые можно использовать для более точного размещения элементов отчета. Шаг сетки определяется соответствующими настройками системы.

См. также

Другие ссылки

Дизайнеры
Мастер Этикеток
Команда CREATE LABEL
Команда MODIFY LABEL

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu and Shortcut Designers

Visual FoxPro 9.0
Дизайнеры Меню и Контекстов (Shortcut Menu)
Смотрите Также

Вы можете создавать подсистемы Меню, Линейки Меню, Подменю, как подчиненные некоторому пункту Меню, или Контексты (контекстные меню типа ShortCut; для этого рекомендуется использовать Дизайнер Меню или Дизайнер Контекста. При построении ваших пользовательских подсистем Меню вы можете несколько изменять и подстраивать общее Системное Меню Visual FoxPro, или разрабатывать совершенно независимые Меню или Контексты, которые будут распространяться с вашими Приложениями VFP.

В общем случае, Дизайнеры Меню и Контекстов (Shortcut) содержат следующие основные, управляющие элементы и Опции:

Prompt (Заголовок)

Определяет Заголовок (непосредственный Текст) раздела Меню, Пункта Меню, Группы Меню или элемента Контекста.

Mover Control (Контрол Переноса)

Появляется слева от Заголовка Меню, представляет собой кнопку с двумя стрелками (вверх/вниз), поддерживается при создании нескольких пунктов Меню. Данный управляющий элемент испольуется для изменения порядка следования пунктов создаваемого Меню.

Result (Выполняемое Действие)

Определяется программный Код или Команда, выполняемый при выборе текущего пункта Меню, или некоторого Подзаголовка Меню. Например, вы можете определить выполнение стандартной Команды VFP, открытие Подменю, или выполнение программного Модуля.

Create (Создать)

Появляется в том случае, когда вы выбираете варианты Выполняемых действий Submenu / Procedure в столбце Result. Вы можете использовать Кнопку <Create> для определения Подменю следующего Уровня или указать имя Процедуры для рассматриваемого Пункта или Заголовка Подменю.

Edit (Изменить)

Появляется только в том случае, когда вы определяете для столбца Result создаваемого пункта меню вариант Submenu / Procedure. При нажатии на указанную кнопку <Edit> Дизайнер Меню переключается в следующий уровень Подменю или Процедуры для рассматриваемого пункта Меню.

Options (Характеристики, параметры)

Открывается Диалоговый бокс Prompt Options, в котором вы можете уточнить дополнительные характеристики пункта Меню, "горячая клавиша" или прочие дополнительные Опции.

Menu level (Уровень Меню)

Определяет текущий уровень Меню, ПодМеню, или Контекста, который редактируется в настоящий момент.

Preview (Предварительный Просмотр)

Отображает последнюю Копию создаваемого Меню в режиме Тестирования.

Группировка Пунктов Меню

Insert (Вставить)

Вставляет Новый пункт в системном окне Дизайнера Меню.

Insert Bar (Вставить пункт Системного Меню)

Является доступным только в том случае, когда выбирается пункт Контекста (меню Shortcut) или когда открыт Диалоговый бокс Insert System Menu Bar, с помощью которого вы можете определить (или подсоединить) для текущего пункта Меню раздел или пункт из Системного Меню Visual FoxPro.

Delete (Удалить)

Позволяет вам удалить текущий, выделенный Пункт создаваемого Меню.

Move Item (Перенос пункта)

Является доступным только в том случае, когда выделен некоторый пункт Меню и открыт Диалоговый бокс "Move Item", с помощью которого вы можете изменить местоположения рассматриваемого пункта Меню.

См. также

Описание

Prompt Options, диалоговый бокс (Характеристики Заголовков)
Insert System Menu Bar, диалоговый бокс (Вставка системного пункта Меню)
Move Item, диалоговый бокс (Перемещение Пункта Меню)
General Options, диалоговый бокс (Общие Характеристики Меню)
Menu Options, диалоговый бокс (Характеристики Меню)

Другие ссылки

Дизайнеры
Диалоговые Боксы (Окна) (Visual FoxPro)
Построение подсистем Меню, Контекстных Меню (Shortcut), Элементов Меню, ПодМеню

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Query and View Designers

Visual FoxPro 9.0
Дизанеры Запросов и Представлений

Для создания и модификации Запросов или Представлений используются соответствующие Дизайнер Запросов и Дизайнер Представлений. Когда указанные системные инструментальные средства активируются, становятся активными соответствующие Меню Query / View, а также соответствующая инструментальная панель Toolbar.

В верхней части дизайнера отображаются источники данных: таблицы или представления, из которых выбираются требуемые данные. Изменяя размеры соответствующего окошка соответствующей таблицы можно просмотреть поля конкретной таблицы, индексные выражения. С помощью обычных линий Дизайнер показывает установленные Соединения между исходными Таблицами и Представлениями. Вы самостоятельно можете устанавливать требуемые Соединения: выполняя "перетаскивание" индексных полей от одной таблицы к другой таблице. Для отображения системного Диалогового бокса Условия Соединения (Join Condition), изменения соответствующих параметров нужно выполнить "double-clicking" на соответствующей линии, которая обозначает уже созданное Соединение.

В этой Секции

Закладка Fields, Дизайнеры Запросов и Представлений

Определяются поля, агрегатные функции (SUM / COUNT), или другие требуемые Выражения, описываюцие Список Выборки Запроса.

Закладка Join, Дизайнеры Запросов и Представлений

Определяются выражения Соединения исходных Таблиц и Представлений.

Закладка Filter, Дизайнеры Запросов и Представлений

Определяются условия фильтрации выбираемых данных или некоторые условия временного (внутреннего) соединения таблиц, из которых выполняется выборка данных.

Закладка Order By, Дизайнеры Запросов и Представлений

Определяются Поля, агрегатные функции (SUM / COUNT), или другие требуемые выражения, (а также номера столбцов) которые определяют порядок сортировки результирующего набора Запроса.

Закладка Group By, Дизайнеры Запросов и Представлений

Определяются Поля, агрегатные функции (SUM / COUNT), или другие требуемые выражения (а также номера результирующих столбцов), которые идентифицируют столбцы группировки данных для вычисления сгруппированных значений.

Закладка Update Criteria, Дизайнер Представлений

Определяются поля для изменения данных; а также критерий изменения исходных данных (Только для Дизайнера Представлений).

Закладка Miscellaneous, Дизайнеры Запросов и Представлений

Определяются условия выборки дублирующихся записей или критерии ограниченной выборки (по-количеству, или по-процентам).

Связанные Секции

Дизайнеры

Представлена информация о возможностях системных Дизайнеров Visual FoxPro, с помощью которых можно разрабатывать различные пользовательские Формы, Диалоговые боксы, Элементы управления - пользовательские Контролы, применяемые в ваших Приложениях.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Shm-Soft.


Fields Tab, Query and View Designers

Visual FoxPro 9.0
Закладка Fields , Дизайнеры Запросов и Представлений
См. Также

В данном разделе, закладке, определяются Поля, агрегатные функции, другие выражения, которые определяют структуру Результирующего Набора создаваемого Запроса или Представления. Данная Закладка имеется в соответствующих Дизайнерах Запросов и Представлений.

Available fields

Список всех Полей открытых Таблиц для создаваемого Запроса или Представления. Вы можете выбрать все имеющиеся поля или указать их общую маску в виде звездочки (*), все поля текущей или конкретной Таблицы отмечаются шаблоном table.*, или выделить конкретное Поле джля включения его в структуру Запроса. Описанные выше действия определяют список секции SELECT основного SQL-оператора, который можно просмотреть в соответствующем окне SQL, при нажатии на кнопку SQL или выбрав подпункт меню View SQL\Query menu.

Если вы ваделите некоторое Поле из представленного Списка Available Fields, то данное поле появляется автоматически в построителе выражений, когда нажимается соответствующая командная кнопка (многоточие) (...).

Functions and expressions

Определяет Функцию или Выражение, которые включаются в список полей структуры. Вы можете также напрямую ввести некоторое выражение в соответствующем окне Построителя Выражений, для этого требуется нажать командную кнопку (многоточие) (...).

После завершения создания требуемого выражения, или выбора функции, вы должны добавить последнюю в список структуры Результирующего набора, (нажать кнопку Add).

Selected fields

Список уже выбранных Полей, агрегатных функций, других выражений, определяющих струк5туру Результирующего Набора Запроса или Представления. Вы можете изменить размеры отображаемых столбцов, или их порядок следования, для этого нужно перетащить Поле в нужное место.

Add

Добавляет выбранный элемент из списка Available fields в соответствующий Список Selected fields.

Add All

Добавляет все поля из первого Списка в Второй (Available fields >>> Selected fields).

Remove

Исключает выбранный элемент из Результирующего Списка.

Remove All

Исключает Все элементы из Результирующего Списка (очищает список).

Properties

Отображается дополнительный View Field Properties, диалоговый бокс, с помощью которого вы можете уточнить некоторые характеристики структуры результирующего набора, по сути, это тот же функционал, что используется для описания дополнительных характеристик полей таблиц в Базе Данных. Данный инструмент доступен только для Дизайнера Представлений (View Designer).

См. также

Описание

Закладка Filter, Дизайнеры Запросов и Представлений
Закладка Group By, Дизайнеры Запросов и Представлений
Закладка Order By, Дизайнеры Запросов и Представлений
Закладка Update Criteria, Дизайнер Представлений
Закладка Join, Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


View Field Properties Dialog Box

Visual FoxPro 9.0
Диалоговое окно View Field Properties (Свойства поля представления)
Смотрите также

Используйте этот диалог для указания свойств для поля в представления точно также, как это вы можете делать для полей в таблице базы данных. Вы можете определить свойства для указания типа данных хранимых в поле, для управления вводом данных для обновляемых представлений, а также для управления отображения поля.

Это диалоговое окно появляется, когда вы выделяете поле в списке поле и щелкаете по кнопке Properties (Свойства) на закладке Fields (Поля) Query and View Designers (Конструкторов запроса и представления).

Field (Поле)

Указывает имя выбранного в представлении поля. Для установки свойств других полей, вы можете выбрать их выпадающего списка справа от метки Field (Поле). Поля показываются в той последовательности, в которой они появляются в списке полей, выбранных для представления.

Параметры в области Field Validation (Проверка поля)

Эти параметры позволяют вам контролировать ввод данных в поле.

Rule (Правило)

Указывает выражение для правила уровня поля, которое определяет - какие значения могут быть введены в поле.

Message (Сообщение)

Указывает текст сообщения об ошибке, отображаемой в случае, когда при вводе значения нарушается правило проверки ввода значения.

Default value (Значение по умолчанию)

Указывает количество или строку, которыми будет заполнено поле при добавлении новой записи. Значение, определенное в качестве значения по умолчанию, будет сохраняться в поле до тех пор, пока вы не введете в поле новое значение.

Параметра в области Display (Отображение)

Эти параметры позволяют вам управлять тем, как будут введены и отображены значения поля.

Format (Форматирование)

Указывает выражение для регистра, размера и стиля отображения поля в окне просмотра (Browse), в формах или отчетах. Установки свойств внутри форм и отчетов могут переписывать значения, установленные вами в этом диалоговом окне.

Input Mask (Маска ввода)

Указывает форматирование для значений, которое будет определять поведение при вводе в поле значения. Например, телефонные номера могут иметь форматирование в виде (999) 999-9999.

Caption (Заголовок)

Указывает заголовок, который появляется в виде заголовка колонки в окне Browse, а также метки поля в формах или отчетах. Установки свойств внутри форм или отчетов могут переписывать значения, установленные вами в этом диалоге. Для указания выражения для заголовка поля, включите в состав заголовка знак равенства (=) до строки заголовка. Если знак равенства в заголовке не найден, то содержимое Caption (Заголовкf) рассмаитривается как символьная строка. Выражение не может превышать по длине 254 символа. Если выражение все же превысит по длине 254 символов, оно будет заменено именем поля.

Note Замечание

Поддержка для использования выражений в качестве заголовков полей должна быть использована только для таблиц, принадлежащих базам данных в приложения, запущенных в среде Visual FoxPro 8.0 или более поздних. В более ранних версиях введенное выражение будет отображено в виде символьной строки.

Параметры области Map Field Type to Classes (Разметка типа поля в классы)

Если вы планируете использовать поле представление в формах, эти параметры позволяют вам определить тип элемента управления, который будет создан при перетаскивания поля в форму, открытую в Конструкторе форм.

Display library (Библиотека класса)

Указывает файл библиотеки классов (.vcx), содержащий элемент управления, который вы желаете связать с полем.

Display class (Класс для отображения)

Указывает тип элемента управления, который создает при перетаскивании поля в форму.

Параметры области Data Mapping (Разметка данных)

По умолчанию, поля представления имеют те же самые значения свойств, что и связанные с ними поля исходной таблицы. Эти параметры доступны только для удаленных представлений.

Data type (Тип данных) - только для удаленных представлений

Указывает вид данных, который может хранить поле.

Width (Ширина) - только для удаленных представлений

Указывает число символов, которое может вместить это поле.

Decimal (Места для десятичных знаков) - только для удаленных представлений

Для численных типов данных, определяет число мест, справа от десятичной запятой, которые может вместить это поле.

Comment (Комментарий).

Предоставляет место для ввода комментария о полей.

Смотрите также

Задачи

Как: создать значения по умолчанию для полей представления

Справочное руководство

Закладка Join (Объединение) Query and View Designers (Конструкторов запроса и представления)
Закладка Fields (Поля) Query and View Designers (Конструкторов запроса и проедставления)
Закладка Filter (Фильтр) в Query and View Designers (Конструкторов запроса и представления)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Join Tab, Query and View Designers

Visual FoxPro 9.0
Закладка Join конструкторов запроса и представления (Query and View Designers)
Смотрите также

Указывает условия объединения для выбора соответствующих записей из одной или более таблиц или представлений, например, конкретных значений в поле или записей соответствующих условиям объединения, которые определяют временные отношения между таблицами. Эта закладка появляется в Query and View Designers (Конструкторах запроса и представления).

Установки на закладке Join определяют условия объединения, которые появляются в опции FROM команды SELECT - SQL, которая генерируется и затем появляется в окне SQL конструктора. View Designer (Конструктор представления) загружает и генерирует любую опцию FROM с опцией JOIN или без нее, используя вводное слово опции ON .

Кнопка изменения условий

Появляется слева от строки условия в виде кнопки с двунаправленной стрелкой в случае, если две или более таблицы объединяются в запросе. Щелкните по по ней для редактирования выбранного условия или критерия запроса в диалоговом окне Join Condition (Условие объединения), что обновить вводы в других колонках.

Left Table (Таблица слева)

Содержит псевдоимя левой таблицы в объединении или "<Prev join>", что означает, что левая таблица в объединении в действительности представляет собой предыдущее под'объединение.

Join type (Тип объединения)

Указывает тип условия объединения. Типом объединения, определенным по умолчанию, является Inner Join (Внутреннее объединение). При создании нового условия объединения, щелкните по полю для отображения выпадающего списка типов объединения.

  • Inner Join (Внутреннее объединение) Определяет, что в результат выборки будут включены только те записи, которые соответствуют условию объединения. Этот тип соединения определен по умолчанию и представляет собой наиболее часто используемый тип объединения.

  • Left Outer Join (Внешнее объединение слева) Определяет, что в результат будут включены все записи в левой таблице, независимо от того, соответствуют они условию объединения или нет, и только те записи в правой таблице, которые соответствуют условию объединения.

  • Right Outer Join (Внешнее объединение справа) Определяет, что в результат будут включены все записи из правой таблицы, независимо от того, соответствуют они условию объединения или нет, и только те записи в левой таблице, которые соответствуют условию объединения.

  • Full Join (Полное объединение) Определяет, что в результат будут включены как записи, которые соответствуют условию объединения, так и те записи, которые такому условию не отвечают. Поле должно соответствовать тексту примера посимвольно.

  • Cross Join (Перекрестное объединение) Определяет, что каждая запись в левой таблице соответствует всем записям в существующей правой таблице. Когда ключевое слово WHERE отсутствует, установка перекрестного объединения производит набор, называемый декартовым произведением (Cartesian product). Декартово произведение содержит набор всех возможных комбинаций каждого элемента в наборе со всеми элементами в другом наборе.

    Опция Cross Join (Перекрестное объединение) позволяет редактировать последовательность таблиц, появляющуюся в опции FROM предложения SQL SELECT в окне SQL, в котором выводится предложения запроса или представления. Выбор Cross Join (Перекрестное объединение) вставляет символ запятой (,) который разделяет таблицы в опции FROM clause.

    Note Замечание

    Вы можете указать cross join (перекрестное объединение) только для левой таблицы в случае, когда она не является предыдущим объединением (<Prev join>). Вы не можете указать перекрестное объединение, когда вводите в запрос или представление новую таблицу, поэтому, если вы желаете установить для таблицы конкретную позицию в последовательности таблиц, вы должны вручную добавить перекрестное объединение для этой таблицы.

    Извне конструкторов запросов и представлений (Query and View designers) перекрестное объединение не поддерживается в синтаксисе команды Visual FoxPro SQL SELECT. Cross joins (Перекрестное объединение) поддерживается только для редактирования последовательности таблиц в конструкторах запросов и представлений (Query and View designers).

    При разборе предложения SQL SELECT Visual FoxPro выкладывает каждую таблицу из опции FROM, которая не вовлечена в объединение, на закладку Join. Строка с "<alias> Cross join" появляется в списке объединения. Последовательность таблиц в опции FROM предложения SELECT соответствует последовательности объединений на закладке Join. При генерации запросов Visual FoxPro использует эту информацию для размещения таблицы в корректной позиции так, как указано в опции FROM. Когда в конструкторах запросов и представлений перезагружаются изменения, они обновляются и на закладке Join (Объединение).

    Если на таблицу нет ссылки на закладке Join (Объединение), Visual FoxPro помещает таблицу в начало опции FROM. Если присутствует несколько таких таблиц, то все они помещаются в начало опции FROM в случайном порядке.

Pri. (Priority)

Указывает число, в диапазоне от 0 до 99, которое указывает приоритет операции объединения. Число 0 определяет высший приоритет, а число 99 - низший. Установка приоритетов для операций объединения определяет порядок, в котором производится объединение и использует круглые скобки (()) для операций группировки. Например, предположим, что вы указали приоритет, равный 0 для первой операции объединения, приоритет, равный 1 для второго объединения и приоритет, равный 0, для третьей операции. Первая и третья операция будут выполнены до второй операции объединения.

Right Table (Таблица справа)

Содержит псевдоимя таблицы, размещаемой в объединении справа или "<Next join>", что означает, что таблица в объединении в действительности представляет собой следующее под'объединение.

Field Name (Имя поля)

Указывает первое поле в условии объединения. При создании нового условия объединения, щелкните по полю для отображения выпадающего списка доступных полей. Вы можете, кроме того, указать выражение.

Not (Отрицание)

"Переворачивает" условие для исключения записей, соответствующих условию.

Criteria (Критерий)

Указывает оператор условия:

  • Equal (Равно) (=) Определяет, что поле и значение в поле Example должны иметь одинаковое значение.

  • Like (Наподобие) Определяет, что поля должны включать символы, которые соответствуют символам в тексте поля Example.

    Например, Customer.state Like O соответствуют записям для штатов Ohio, Oklahoma и Oregon.

  • Exactly Like (Точное подобие)(==) Указывает, что поля должны соответствовать посимвольно тексту в поле Example.

  • Greater Than (Больше, чем)(>) Указывает, что значения поля должны быть больше, чем значение в поле Example.

  • Less Than (Менее, чем)(<) Указывает, что значения поля должны быть меньше значения в поле Example.

  • Greater Than or Equal To (Больше, чем или равны) (>=) Указывает, что значения поля должны быть равны или больше, чем значение в поле Example..

  • Less Than or Equal To (Меньше, чем или равны) (<=) Указывает, что значения поля должны быть равны или меньше значения в поле Example.

  • Is NULL (Является значением NULL) Указывает, что значения поля должны содержать null-значение.

  • Is True (Истина) Указывает, что значения поля или выражения должны оцениваться в True, подразумевая, что значение поля или выражения оценивается в логическую величину.

  • Between (Между) Указывает, что значения поля должны быть больше, чем или равны меньшему указанному значению и меньше чем или равны большему указанному значению в условии, появляющемся в колонке Example. Вы должны разделить два значения в поле Example словом AND. Visual FoxPro создает запросо со словом BETWEEN.

    Например, Invoices.idate Between 05/10/97 AND 05/12/97 соответствуют записям с датами 10, 11 и 12 Мая 1997.

  • In (В) Указывает, что поле должно соответствовать одному из нескольких значений в разделенном запятыми списке, который появляется в поле Example.

    Например, Customer.name In Al,George,Mary соответствует записям, в которых имя потребителя равно Al, George или Mary.

Value (Значение)

Указывает другую таблицу и поле, участвующие в объединении. Вы можете, кроме того, указать выражение.

Logical (Логическая операция)

Добавляет условия AND (логическое И) или OR (логическое ИЛИ) в список условий объединения.

Pri. (Priority) - Приоритет

Указывает число в диапазоне от 0 до 99, которое определяет приоритет для логических операций. Число 0 указывает высший приоритет, а число 99 - низший.

Установка свойств для логических операций определяет порядок, в котором производятся логические операции и использует круглые скобки (()) для операций группировки. Например, предположим, что вы указали приоритет, равный 0 для первой логичесий операции, приоритет, равный 1 для второй и приоритет, равный 0, для третьей логической операции. Первая и третья операция будут выполнены до второй логической операции.

Командная кнопка Insert (Вставить)

Вставляет пустое условие объединения над выбранным условием.

Командная кнопка Remove (Удалить)

Удаляет выбранные условия из запроса.

Смотрите также

Задачи

Как: запрашивать множество таблиц и представлений

Справочное руководство

Закладка Fields (Поля) Query and View Designers (Конструкторов запроса и проедставления)
Закладка Group By (Группировать по) Query and View Designers (Конструкторов запроса и представления)
Закладка Order By (Упорядочить по) Query and View Designers (Конструкторов запроса и представления)
Закладка Update Criteria (Критерий обновления) View Designers (Конструктора представления)
Закладка Filter (Фильтр) Query and View Designers (Конструкторов запроса и представления)

Концепции

Условия объединения для таблиц, запросов и представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Filter Tab, Query and View Designers

Visual FoxPro 9.0
Filter Tab, Query and View Designers
См. также

Определяет условия выборки записей так, как описано в выражении WHERE статьи SELECT - SQL Command в окне SQL. Вы можете загрузить и сохранить запрос или представление данных с позапросом в выражении WHERE. Эта закладка находится в Query and View Designers.

Mover box

Перетягивайте mover box чтобы переместить выбранный субъект вверх или вниз внутри grid.

Condition Button

Кликните двустороннюю горизонтальную чтобы редактировать выбранный фильтр.

Field Name

Укажите первое поле для фильтра. При создании нового выражения фильтра, кликните название поля для отображения выпадающего списка доступных полей.

Not

Укажите при необходимости исключить записи, соответствующие условию фильтра.

Criteria

Укажите оператор сравнения поля и значения:

  • Equal (=) обозначает, что поле и значение в Example совпадают. Для символьных выражений сравнение идет слева направо посимвольно, т.е. в результат выборки выражения Table1.Field1 = 'A' попадут все записи, левый символ которых 'А'.

  • Like обозначает, что поле должно включать символы, которые соответствуют символам в Example.

    Например, Customer.state Like 'O%' выберет записи, начинающиеся на O: Ohio, Oklahoma, and Oregon. Customer.state Like 'O%n' выберет записи, начинающиеся на O и заканчивающиеся на n с любым количеством символов между ними, Customer.state Like 'Or__on' выберет записи, у которых третий и четвертый символ может быть любым, но длина значения поля должна равняться 6 символам. Критерий сравнения применяется только к символьным полям.

  • Exactly Like (==) обозначает, что значение поля должны совпадать символ в символ с текстом в Example. Только для символьных полей.

  • Greater Than (>) обозначает, что поле должно быть больше Example.

  • Less Than (<) бозначает, что поле должно быть меньше, чем значение Example.

  • Greater Than or Equal To (>=) обозначает, что поле должно быть больше ли равно Example.

  • Less Than or Equal To (<=) обозначает, что поле должно быть меньше или равно Example.

  • Is NULL обозначает, что поле должно содержать значение NULL.

  • Is True обозначает, что поле или выражение слева содержит или дает в результате логическое выражение, которое имеет значение True.

  • Between обозначает, что поле должно быть больше или равно минимального значения и меньше или равно максимальному значению в столбце Example. Минимальное и максимальное значения разделяются словом AND. Visual FoxPro создаст запрос со словом BETWEEN.

    Например, Invoices.idate Between 05/10/97 AND 05/12/97 даст записи с 10, 11, и 12 мая 1997 года (даты даны в американском формате).

  • In обозначает, что поле должно соответствовать одному из нескольких значений списка, разделенного запятыми в столбце Example.

    Например, Customer.name In 'Al','George','Mary' соответствует записям у которых поле name равно Al, George, или Mary (по принципу Equal, только для нескольких значений сразу).

  • Exists обозначает, что в условия фильтра войдут те записи, для которых в подзапросе, написанном в Example содержится хоть одна запись.

    В примере ниже результатом запроса будут все заказчики, которые имеют хотя бы один заказ в таблице orders:

    CopyCode image Копировать код
    SELECT Customer.cust_id, Customer.company;
 FROM testdata!customer;
 WHERE Exists (select * from orders where customer.cust_id = ;
   orders.cust_id)
Example

Укажите значение или текст с которым Вы хотите сравнить поле. Сравнение зависит от регистра, поэтому при необходимости используйте функции UPPER( ), LOWER( ), и PROPER( ).

Logical

Добавляет AND или OR виды объединения списка условий фильтра.

Pri. (Приоритет)

Укажите значение от 0 до 99, которое обозначает приоритет логической операции. Номер 0 означает наивысший приоритет, номер 99 - самый низкий. Установка приоритета для логической операции влияет на порядок выполнения логической операции. Эффект подобен использованию скобок () для группировки операций. Например, пусть для первой логической операции выбран приоритет 0, для второй 1, для третьей 0. Первая и третья операция произойдут раньше операции с приоритетом 1.

Insert кнопка

Вставляет новую строку выше текущей.

Remove кнопка

Удаляет выбранную строку условия фильтра из запроса.

См. также

Ссылки

Filter Conditions for Queries and Views
Fields Tab, Query and View Designers
Group By Tab, Query and View Designers
Join Condition Dialog Box
Order By Tab, Query and View Designers
Update Criteria Tab, View Designer

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Order By Tab, Query and View Designers

Visual FoxPro 9.0
Закладка Order By (Упорядочить по) Query and View Designers (Конструкторов запроса и представления)
Смотрите также

Указывает поля, агрегатные функции, такие как Команда SUM или Команда COUNT или прочие выражения, используемые для установки упорядочивания записей, извлекаемых в запросе.

Вы можете выбрать поля на закладке Order By (Упорядочить по), которые не включены в список SELECT. Эта закладка появляется в Query and View Designers (Конструкторы запроса и представления).

Selected Output (Выбранные выводы данных)

Перечисляет выбранные поля и выражения, которые появятся в результате запроса.

Ordering Criteria (Критерий упорядочивания)

Указывает поля и выражения, используемые в порядке сортировки запроса. Стрелка, появляющаяся слева каждого поля указывает порядок сортировки по возрастанию (направлена вверх) или по убыванию (направлена вниз). Слева от стрелки появляется блок перемещения, позволяющий менять порядок следования полей.

Order Options (Опции упорядочивания)

Ascending (По возрастанию)

Устанавливает выбранный элемент в боксе Ordering Criteria (Критерий упорядочивания) в сортировку по возрастанию.

Descending (По убыванию)

Устанавливает выбранный элемент в боксе Ordering Criteria (Критерий упорядочивания) в сортировку по убыванию.

Add (Добавить)

Добавляет выбранный в Selected Output (Выбранные выводы данных) элемент в бокс Ordering Criteria (Критерий упорядочивания).

Remove (Удалить)

Удаляет выбранный в Ordering Criteria (Критерий упорядочивания) элемент.

Смотрите также

Справочное руководство

Команда COUNT
Закладка Fields (Поля) Query and View Designers (Конструкторов запроса и проедставления)
Закладка Filter (Фильтр) Query and View Designers (Конструкторов запроса и представления)
Закладка Group By (Группировать по) Query and View Designers (Конструкторов запроса и представления)
Команда SELECT - SQL
Команда SUM
Закладка Update Criteria (Критерий обновления) View Designers (Конструктора представления)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Group By Tab, Query and View Designers

Visual FoxPro 9.0
Закладка Group By, Дизайнеры Query и View
Смотрите Также

Группирует записи в запросах (query) или данные предсталений (view). Данная закладка присутствует в Дизайнерах Запросов (Query) и Представлений (View). Для дальнейшей информации смотрите GROUP BY выражение в Команде SELECT - SQL.

Available Fields

Перечисляет все доступные поля в таблицах запросов или представлений и прочие выражения.

Grouped Fields

Перечень полей, сводных функций и прочих выражений для задания группировки запросов. Поля группируются в порядке их появления в списке. Вы можете изменить порядок полей и иерархию группировок, перетаскивая их мышкой за двунаправленные стрелки, находящиеся слева от каждого из полей.

Add

Добавляет, выбранный в окошке Available Fields, элемент в окошко Group By Fields.

Remove

Удаляет выбранный элемент из окошка Group By Fields.

Having

Выводит Диалоговое Окно Having для настройки выборки по критерию для всей гуппы, вместо того, чтобы делать это для каждой записи.

Смотрите Также

Ссылки

Закладка Fields, Дизайнеры Query и View
Закладка Filter, Дизайнеры Query и View
Окно Диагола Having
Закладка Order By, Дизайнеры Query и View
SELECT - SQL Команда
Закладка Update Criteria, Дизайнер View

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Update Criteria Tab, View Designer

Visual FoxPro 9.0
Закладка Update Criteria (Критерий обновления) окна View Designer (Конструктора представления)
Смотрите также

Указывает условия для посылки изменений и представлении в оригинальные записи в таблицах, используемых в представлении. Закладка Update Criteria (Критерий обновления) появляется только во View Designer (Конструкторе представления).

Table (Таблица)

Указывает, какие таблицы в представлении могут принимать изменения. Список показывает таблицы, поля которых занесены в список Selected fields (Выбранные поля) на Закладке Fields (Поля) Query and View Designers (Конструкторов запроса и проедставления).

Reset Key (Сбросить ключ)

Выбирает поле первичного ключа из каждой таблицы в качестве ключевых полей для представления и помещает знак маркировки под символом ключа в списке Field name (Имя поля) для каждого поля первичного ключа. Ключевые поля используются для идентификации записей при обновлении оригинальных записией измененными данными.

Update All (Обновлять все)

Выбирает все поля, отличающиеся от ключевых полей, для обновления и помещает маркировку под символом карандаша в списке Field name (Имя поля).

Send SQL Updates (Посылать SQL обновления)

Определяет - будут ли изменения в записи реально посланы в оригинальные таблицы.

Панель Field Name (Имя поля)

Показывает поля, выделенные вами для вывода в результат выборки и, поэтому, доступные для обновления.

  • Ключевое поле (отображается под символом ключа) Определяет - будет ли поле являться ключевым или нет.

  • Обновляемое (отображается под символом карандаша - на приведенном рисунке не видно) Определяет - будет ли поле обновляемым или нет.

  • Field Name (Имя поля) Отображает имена полей вывода, доступные для маркировки либо в качестве ключевых полей, либо в качестве обновляемых.

SQL WHERE Clause Includes (Опция SQL WHERE включает...)

Управляет вводом полей в опцию WHERE для определения конфликтов обновления на сервере, когда изменения в представлении будут посланы в оригинальные таблицы.

Определение конфликта, основано на сравнении между старыми значениями в представлении, OLDVAL(), и текущими значениями в оригинальной таблице, CURVAL(). Если значения равны, оригинальная таблица считается неизмененной и не существует конфликта для обновления. Если же они не равны, то существует конфликт и источник данных возвращает ошибку.

Ошибка, возвращаемая для конфликта между старым значением и текущим значением представляет собой ошибку с номером 1585 "Record has been modified by another (Запись была изменена другим)" или с номером 1494 "Update conflict. Use TABLEUPDATE( ) to force the update or TABLEREVERT( ) to rollback (Конфликт обновления. Используйте TABLEUPDATE() для принудительного обновления или TABLEREVERT() для отката изменений".

Key Fields Only (Только ключевые поля)

Устанавливает опцию WHERE для обнаружения конфликта в случае, если в оригинальной таблице было изменено ключевое. Изменения, сделанные другим пользователем в любом поле оригинальной таблицы не сравниваются.

Key and Updatable Fields (Ключевые и обновляемые поля)

Устанавливает опцию WHERE для обнаружения конфликта в случае, если в оригинальной таблице другим пользователем было изменено любое обновляемое поле.

Key and Modified Fields (Ключевые и измененные поля)

Устанавливает WHERE опцию WHERE для обнаружения конфликта в случае, если в оригинальной таблице ключевое поле или одно из измененных полей в записи в было изменено с момента, когда было произведено первое извлечение данных в представление (устанавливается выбранным по умолчанию).

Key and Timestamp (Ключ и метка времени)

Устанавливает WHERE опцию WHERE для обнаружения конфликта в случае, если в оригинальной таблице метка времени была изменена с момента, когда было произведено первое извлечение данных в представление. Эта установка доступна только в том случае, если в удаленной таблице имеется колонка метки времени (timestamp).

Update Using (Обновить используя)

Определяет, как на back-end server будет производится обновление.

SQL DELETE then INSERT (SQL DELETE затем INSERT)

Удаляет из оригинальной таблицы запись и затем создает новую запись из измененной записи представления.

SQL UPDATE

Использует изменения в полях представления для изменения данных в полях оригинальной таблицы.

Смотрите также

Справочное руководство

Закладка Fields (Поля) Query and View Designers (Конструкторов запроса и проедставления)
Закладка Filter (Фильтр) Query and View Designers (Конструкторов запроса и представления)
Закладка Group By (Группировать по) Query and View Designers (Конструкторов запроса и представления)
Закладка Order By (Упорядочить по) Query and View Designers (Конструкторов запроса и представления)

Прочие ресурсы

Query and View Designers (Конструкторы запроса и представления)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Miscellaneous Tab, Query and View Designers

Visual FoxPro 9.0
Закладка Miscellaneous (Разное) конструкторов запросов и представлений (Query and View Designers)
Смотрите также

Указывает прочие условия выборки записей для запроса или представления. Эта закладка появляется в Конструкторах запроса и представления - Query and View Designers .

Note Замечание

При многократных щелчках по кнопкам Cross tabulate (Перекрестная таблица), Report (Отчет) и Label (Этикетка) возможно создание конфликтующих параметров. Query Designer (Конструктор запроса) попытается предупредить вас и предоставит возможность удалить предыдущую команду при обнаружении первого конфликта. Вы должны быть уверены, что только желаемый код появится в запросе.

No duplicates (Без дублей)

Убрать дублирующие записи из результатов запроса или представления. Дублирующие записи или дубли представляют собой записи, в которых попарные значения в каждом поле совпадают.

Force join (Принудительное объединение)

Изменяет предложения разбора или генерации для поддержки опции FORCE в FROM, то есть, для указания, что таблицы объединены в порядке, в каком они появляются в опции FROM. Для разрешения принудительного объединения выберите Force join (Принудительное объединение).

Top (Верхние)

Выбирает количество или процент записей из набора результата. Если указано число или процент, используйте Закладку Order By (Упорядочить по) Query and View Designers (Конструкторов запроса и представления) для выбора тех записей, которые появятся в начале набора результата.

All (Все) Определяет, что в набор результата должны быть включены все записи выбранные запросом или представлением/

Number of records (Число записей) Устанавливает количество записей из выбранных записей для включения в набор результата.

Percent (Процент) Изменяет число в блоке выше на процент записей.

Cross tabulate (Queries only) (Перекрестная таблица (только для запросов)

Посылает результаты выборки или представления в Microsoft Graph, отчет или таблицу в перекрестном формате. Ваш запрос должен содержат именно три элемента, которые представляют координаты X и Y и значение ячейки для графика.

Visual FoxPro вставляет приведенный ниже код:

CopyCode image Copy Code
INTO CURSOR SYS(2015)
* для исполнения следующей команжы, результат должен иметь три колонки.
DO (_GENXTAB) WITH 'T2 t1'
Note Замечание

Опция INTO CURSOR добавляется только в том случае, если запрос еще не имеет такой в своем составе.

Например, вы можете сгенерировать отчет, который покажет количество счетов, отправленных клиентам в разбивкой по месяцам. Вы могли бы создать график, который отобразит клиентов сверху вниз на левой стороне страницы, двенадцать месяцев сверху страницы и, внутри графика, количество счетов, выставленных каждому клиенту в каждом месяце.

Report (Queries only) (Отчет (только для запросов))

Генерирует подходящую команду REPORT FORM и открывает диалоговое окно Report, которое позволяет вам установить отчет и определенные установки опций.

Visual FoxPro вставляет код приведенный ниже:

CopyCode image Copy Code
INTO CURSOR SYS(2015)
REPORT FORM tbl2.frx TO PRINTER PLAIN
Note Замечание

Опция INTO CURSOR добавляется только в том случае, если запрос еще не имеет такой в своем составе.

Note Замечание

Существующая в окне Query команда REPORT FORM не разбирается и ее установки не отражаются в диалоговом окне. Вы должны переопределить необходимые опции диалогового окна. После щелчка по OK, вы будет запрошены на замещение существующей команды. Это произойдет в случае, если команда REPORT FORM является первой после запроса. Если вы вставите любой код до REPORT FORM, сразу после SQL предложения будет вставлена новая команда REPORT FORM.

Label (Queries only) (Этикетка (только для запросов)

Генерирует подходящую команду LABEL FORM и открывает диалоговое окно Label, которое позволяет вам установить этикетку и определенные установки опций.

Visual FoxPro вставляет приведенный ниже код :

CopyCode image Copy Code
INTO CURSOR SYS(2015)
LABEL FORM tbl2.lbx TO PRINTER
Note Замечание

Опция INTO CURSOR добавляется только в том случае, если запрос еще не имеет такой в своем составе.

Note Замечание

Существующая в окне Query команда LABEL FORM не разбирается и ее установки не отражаются в диалоговом окне. Вы должны переопределить необходимые опции диалогового окна. После щелчка по OK, вы будет запрошены на замещение существующей команды. Это произойдет в случае, если команда LABEL FORM является первой после запроса. Если вы вставите любой код до LABEL FORM, сразу после SQL предложения будет вставлена новая команда REPORT FORM.

Смотрите также

Справочное руководство

Закладка Fields (Поля) Query and View Designers (Конструкторов запроса и проедставления)
Закладка Filter (Фильтр) Query and View Designers (Конструкторов запроса и представления)
Закладка Group By (Группировать по) Query and View Designers (Конструкторов запроса и представления)
Закладка Order By (Упорядочить по) Query and View Designers (Конструкторов запроса и представления)
Диалоговое окно Report (Visual FoxPro)
Диалоговое окно Label (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Report Designer

Visual FoxPro 9.0
Дизайнер отчета (Report Designer)
Смотри также

Вы можете создавать и изменять отчеты, используя диазйнер отчета (Report Designer). Когда окно дизайнера отчета активно, Visual FoxPro отображает панели рабочих инструментов Report menu и Report Controls. Для получения подробной информации смотрите Работа с отчетами.

Дизайнер отчета для управления раскладкой информации и данными на листе отчета использует области и элементы раскладки.

Области (Bands)

Области (Bands) предоставляют вам возможность указать - где и как будут отображаться данные на листе отчета. По умолчанию дизвйнер отчета содержит три области:

  • Page Header (Заголовок страницы) Отображает информацию или данные, которые показываются на странице один раз в ее начале.

  • Detail (область детализации) Отображает информацию или данные, которые отображают информацию записи из подложенной таблицы.

  • Page Footer (Подножие страницы) Отображает информацию или данные, которые показываются на странице один раз в ее конце.

Каждая область следует за разделителем, который содержит имя области и направленную вверх стрелку, показывающую пространство, занимаемое областью. Область детализации содержит наполненные стрелки, все другие области содержат только контурные стрелки.

Вы можете добавить в раскладку другие области. Для получения подробной информации смотри статью Работа с областями отчета.

Ruler

Дизайнер отчета отображает также вертикальную и горизонтальную линейки, которые вы можете использовать для более точного размещения объектов в областях раскладки. Шкала для линеек определяется установками ваших системных мер.

Смотри также

Прочие ресурсы

Мастер отчета (Report Wizard)
CREATE REPORT – Quick Report команда "быстрого" отчета
CREATE REPORT команда
Дизайнеры

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


Table Designer (Visual FoxPro)

Visual FoxPro 9.0
Дизайнер Таблиц (Visual FoxPro)

Дизайнер Таблиц используется для создания и модификации структур таблиц из базы данных, свободных таблиц, индексных файлов, отдельных полей таблиц. Данный дизайнер обеспечивает определение таких специфических компонент базы данных как: Проверочные Правила, значения по-умолчанию, классы элементов управления для поля (default control classes).

В этом Разделе

Закладка Fields, Дизайнер Таблиц

Отображает поля таблицы, расположенные в "системном формате".

Закладка Indexes, Дизайнер Таблиц

Содержит описания и определения индексов таблицы.

Закладка Table, Дизайнер Таблиц

Отображает элементы и характеристики таблицы; Триггеры и Правила уровня Записей таблицы.

Связанные Разделы

Дизайнеры

Обеспечивает дополнительной информацией о Дизайнерых системы Visual FoxPro, с помощью которых вы можете создавать и разрабатывать формы, окна, диалоговые боксы, визуальные и прикладные компоненты вашего Приложения.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Fields Tab, Table Designer

Visual FoxPro 9.0
Закладка Fields дизайнера таблиц
Смотрите также

Fields Tab, Table Designer

Отображение закладки Fields немного отличается в зависимости от того, какая таблица создается или редактируется - таблица связанная с базой данных или свободная таблица. Если вы создаете таблицу базы данных, то закладка Fields включает в себя, напримре, опции для установки правил проверки на уровне полей. Если вы создаете свободную таблицу, закладка Fields содержит только основные элементы - имя поля, тип и опции форматирования.

Поля таблицы на закладке Fields отображаются в прокручивающейся решетке. Каждая строка содержит имя поля, тип данных, ширину в символах, ширину десятичных мест и поддержку для null-значений. Для изменения поля просто щелкните по ячейке в решетке.

Mover Button (Кнопка перемещения)

Представляет собой кнопку с двунаправленными стрелками с самой крайней левой стороны строки. После того, как вы введете две или более строк, используйте эту кнопку для перемещения строк вверх или вниз по списку.

Name (Имя)

Определяет имя поля. Пробелы не допускаются. Для таблиц базы данных, длина имени может составлять до 128 символов. Для получения более подробной информации смотрите описание Создание имен Visual FoxPro.

Type (Тип)

Определяет тип данных поля. Щелкните по стрелке комбобокса для выбора типа данных из списка.

Width (Ширина)

Определяет число символов или цифр, которое может хранить поле.

Decimal (Десятичные места)

Определяет число цифр справа от десятичной точки. Колонка Decimal применяется к типам данных "numeric" и "double".

Index (Индекс)

Определяет обычный индекс поля для организации данных.

NULL

Когда этот чекбокс отмечен, определяет, что поле может акцептировать null-значение.

Insert Button (Кнопка "Вставить")

Вставляет новое поле над выбранным полем.

Delete Button (Кнопка "Удалить")

Удаляет выбранное поле из таблицы.

Display (Отображение)

Определяет свойства форматирования для ввода и отображения данных поля.

Format (Форматирование) Указывает выражение для регистра, размера и стиля для отображения поля в окне Browse, форме или отчете. Установка свойства форматирования в форме или отчете может переписывать эти значения локально, то есть в форме или отчете, но не влияет на свойства, определенные в таблице.

Input mask (Маска ввода) Определяет форма для значений, как они будут вводиться в поле. Например, телефонные номера могут иметь формат (999) 999-9999.

Caption (Заголовок) Указывает заголовок, который появляется для поля в окне Browse, форме или отчетах. Установка свойства в форме или отчете может переписывать это значение локально, то есть в форме или отчете, но не влияет на свойства, определенные в таблице. Для указания выражения для заголовка поля, включите знак равенства (=) перед строкой, определяющей заголовок. Выражение не может превышать 254 символов. Если же выражение превышает в длину 254 символов, заголовок заменяется по умолчанию в имя поля.

Note Замечание

Поддержка для использования выражений в качестве заголовка поля должна быть использована только с таблицами, связанными с контейнером базы данных в приложениях, исполняемый на Visual FoxPro 8.0 или более поздних. В ранних версиях, выражение появится в виде строки литералов.

Field validation (Проверка поля)

Если вы модифицируете таблицу базы данных то справа появятся опции для полей.

Установки свойств для выбранного поля определяются в области Field validation. Справа от полей ввода свойств размещаются кнопки с троеточием, шелчок по который вызывает диалоговое окно Expression Builder. Если вы не желаете использовать построитель выражения, просто напечатайте выражение в соответствующем поле. Эти свойства не являются обязательными, но чрезвычайно полезны.

Rule (Правило) Указывает правило проверки уровня поля для применения проверки к вводимым данным.

Message (Сообщение) Указывает ваше сообственное сообщение об ошибке, в случае если нарушено правило проверки поля.

Default value (Значение по умолчанию) Определяет значение по умолчанию для поля.

Map field type to classes (Разметка поля в классы)

Для указания класса элемента управления, который будет использоваться при работе с конкретным полем, установите для поля имя библиотеки и имя класса, из которых будут создаваться элементы управления когда вы будете перетаскивать поля таблицы на форму.

Display library (Библиотека для отображения) Укажите путь и имя файла библиотеки классов. Для поиска файлов используйте кнопку с троеточием справа от бокса ввода имени библиотеки.

Display class (Класс для отображения) Определяет элемент управления, который будет использоваться по умолчанию при работе с полем.

AutoIncrement (Автоувеличение)

Для установки начального значения и шага увеличения после того, как для поля будет разрешено автоувеличение значений, выберите значения Next Value и Step в окошках счетчиков (spin boxes). Для получения более подробной информации об автоувеличении значений смотрите описание Автоувеличение значений поля в таблицах.

Next Value (Следующее значение) Определяет начальное значение для поля, использующего автоувеличение. Вы можете выбрать положительное или отрицательное целое число в диапазоне значений от 2,147,483,647 до -2,147,483,647. Значением по умолчанию является 1.

Step (Шаг) Определяет шаг автоувеличения. Вы можете положительное или отрицательное целое число в диапазоне значений от 1 до 255. Значением по умолчанию является 1.

Field comment (Комментарий для поля)

Предоставляет место для ввода комментария о поле.

Смотрите также

Справочное руководство

Диалоговое окно построителя выражения (Expression Builder)
Закладка Indexes дизайнера таблиц
Мастер Table Wizard
Дизайнер таблиц - Table Designer (Visual FoxPro)

Концепции

Создание имен Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Indexes Tab, Table Designer

Visual FoxPro 9.0
Закладка Indexes дизайнера таблиц
Смотрите также

Закладка Indexes в табличном дизайнере предоставляет вам возможность создавать индексы для таблицы.

CopyHover image Mover button

Перемещает индексный вход вверх или вниз по списку. Появляется как кнопка с двунаправленными стрелками слева от от строку индекса, после того, как вы введете две или более строк.

Order

Определяет порядок сортировки для индекса. Стрелка вверх указывает на сортировку по возрастанию, а стрелка вниз - по убыванию.

Name

Определяет имя для тэга индекса. Кнопка со стрелкой слева от имени индекса определяет порядок - по возрастанию или убыванию. Выберите индекс, а затем щелкните по кнопке для изменения порядка.

Тип

Определяет тип индекса. Таблица может иметь только один индексный набор в качестве первичного индекса в колонке Type.

Note Замечание

Если таблица содержит индекс с типом Unique, дизайнер таблиц отображает этот тип; однако, дизайнер больше не предоставляет тип индекса Unique как доступную опцию.

Для получения более подробной информации о типах индексов смотрите описание Типы индексов Visual FoxPro.

Выражение

Указывает выражение индекса, такок как имя поля. Щелкните по кнопке для создания или редактирования выражения в диалоговом блоке Диалоговый блок построителя выражений. Выражение может иметь длину до 240 символов.

Filter

Определяет выражение фильтра. Щелкните по кнопке для создания или редактирования выражения в диалоговом блоке Expression Builder. Смотрите ссылку в предудыщем параграфе.

Collate

Определяет последовательность сопоставления (collating sequence) для индексного тэга. Щелкните по стрелке для выбора collating sequence, поддерживаемой Visual FoxPro из выпадающего списка. Значением по умолчанию является "Machine".

Insert Button

Вставляет новый индекс выше выбранного индекса.

Delete button

Удаляет выбранный индекс.

Смотрите также

Справочное руководство

Закладка Table дизайнера таблицы
Закладка Fields дизайнера таблицы
Команда INDEX
SYS(14) - Индексное выражение
SYS(2021) - Фильтрованное индексное выражение
Дизайнер таблицы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Table Tab, Table Designer

Visual FoxPro 9.0
Table Tab, Table Designer
Смотрите также

Закладка Table появляется в дизайнере таблиц - Table Designer.

Tables Tab Table Designer

Она содержит информацию о таблице (с установленным признаком "только для чтения"), а также области для установки правила проверки на уровне записи, ввода текста сообщения об ошибке, для случая, когда не выполняется правило проверки, ввода выражений триггеров и комментария к таблице.

Note Замечание

Если вы изменяете что-либо в свободной таблице, то для нее на этой закладке отображается только статистика с установленным признаком "только для чтения. Свободные таблицы не могут иметь связанных с ними правил, триггеров или комментария.

Name

Указывает имя таблицы, которая создается или редактируется.

Для таблиц базы данных, это имя появляется в Project Manager в дочернем узле Tables узла Databases; если вы не меняли имени таблицы на этой закладке, то по умолчанию оно то же самое, что и имя файла, если же меняли, то это то, что называется длинным именем таблицы в базе данных, в этом случае имя таблицы не совпадает с именем файла. Поддерживаются имена таблиц длиной до 128 символов.

Database

Отображается имя базы даныых, которой принадлежит таблица, но только в случае, если это не свободная таблица. Этот бокс имеет признак "только для чтения".

Область Statistics

Отображаются статистические данные о таблице с установленным признаком "только для чтения".

Table file

Отображает путь к файлу таблицы и имя файла таблицы.

Records

Отображает количество строк, которые в данный момент времени хранятся в таблице.

Fields

Отображает количество полей, определенных на данный момент времени в структуре таблицы.

Length

Отображает суммарную длину полей таблицы. Например, если вы определили простое символьное поле id длиной в 12 символов и простое символьное поле description длиной в 32 символа, то длина таблицы составит 44 символа.

Область Record Validation

Устанавливает правило проверки уровня записи, текст сообщения об ошибке и комментарий для таблицы. Кнопка с правой стороны каждого поля ввода установок вызывает диалоговое окно Expression Builder.

Validation Rule

Указывает правило уровня записи для осуществления проверки введенных данных.

Validation Text

Указывает текст сообщения об ошибке, отображаемое в случае нарушения правила, то есть в случае, когда введенные данные не отвечают требованию правила.

Область Triggers

Указывают правила для обновлений, вставок и удалений.

INSERT Trigger

Указывает правило, которое вызывается каждый раз, когда в таблицу вставляется или добавляется запись. Щелчок по кнопке справа от бокса ввода выражения правила вызовет диалоговое окно Expression Builder.

UPDATE Trigger

Указывает правило, которое вызывается каждый раз, когда в таблице обновляется запись. Щелчок по кнопке справа от бокса ввода выражения правила вызовет диалоговое окно Expression Builder.

DELETE Trigger

Указывает правило, которое вызывается каждый раз, когда из таблицы удаляется запись. Щелчок по кнопке справа от бокса ввода выражения правила вызовет диалоговое окно Expression Builder.

Table Comment

Предоставляет место, где вы можете напечатать свой комментарий о таблице. Все, что вы напечаете в этом поле покажется в виде описания внизу окна Project Manager при выборе таблицы.

Смотрите также

Справочное руководство

Диалоговое окно Expression Builder
Функция FOR()
Команда INDEX
SYS(14) - Индексное выражение
SYS(2021) - Индексное выражение фильтра
Мастер таблиц - Table Wizard

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Dialog Boxes (Visual FoxPro)

Visual FoxPro 9.0
Диалоговые окна (Visual FoxPro)

Эта секция поясняет опции, которые имеются в различных диалоговых окнах .

В этой секции

About Microsoft Visual FoxPro Dialog Box

Показываются авторское право Visual FoxPro, лицензирование и версия информации, а также идентификационный номер продукта.

Add Files to Source Control Dialog Box

Добавляются или выбираются файлы в ваш проект с контролем исходного кода.

Add Table or View Dialog Box

Позволяет вам выбрать одну или несколько существующих таблиц или представлений, на которых основывается ваш новый запрос или локальное представление.

Advanced Options Dialog Box

Делает возможной для вас точную регулировку, сколько записей найдено в представлении или сколько изменений сделано на сервере или в исходных таблицах.

Append From Dialog Box

Дает возможность добавлять записи в текущую таблицу или представление из другой таблицы, электронной таблицы или текстового файла.

Append From Options Dialog Box

Определяет поля для добавления и позволяет вам строить выражения, подходящие для добавляемых записей.

Arrange Tables and Views Dialog Box

Позволяет вам изменять формат таблиц и представлений в вашей базе данных.

Beautify Options Dialog Box

Дает вам возможность определять вывод текста прописными буквами и стили абзаца для текста в редактируемом окне.

Breakpoints Dialog Box

Позволяет вам определять опции для точек останова.

Build Options Dialog Box

Позволяет вам создавать пользовательские приложения или обновлять существующий проект.

Calculate Field Dialog Box

Дает возможность выбирать математические операции для создания вычисляемых полей.

Change Icon Dialog Box

Определяет иконки, которые могут использоваться для связанного или вложенного объекта формы или поля General таблицы.

Check In Files Dialog Box

Контролирует изменения, сделанные в вашей среде разработки в рабочей директории с помощью системы контроля базы данных.

Check Out Files Dialog Box

Контролирует вывод копии выбранных файлов вашего источника и размещает записанную копию в соответствующей среде разработки рабочей директории.

Choose Field/Variable Dialog Box

Определяет поля таблиц или переменные.

Class Info Dialog Box

Показывает различные атрибуты членов класса,их появление в период проектирования, и являются ли они защищенными.

Code Page Dialog Box

Позволяет вам назначать кодовую страницу для .dbf-файла или текстового файла, которые ее не имеют.

Comment Dialog Box

Позволяет вам вводить замечания или комментарии, чтобы идентифицировать запрос или представление и их результат.

Compile Dialog Box

Разрешает вам компилировать программу, меню или файл запроса.

Connections Dialog Box

Позволяет вам создать и поддерживать соединение с базой данных. connections.

Coverage Dialog Box

Предоставляет вам возможность определения опций для регистрации(ведения протокола) хода выполнения программы.

Create Dialog Box

Позволяет вам определять директорию, имя и тип нового файла.

Create One-To-Many Relationships Dialog Box

Устанавливает отношение один-ко-многим, в котором подчиненная таблица может содержать многочисленные записи,которые соответствуют одной записи в родительской таблице.

Customize Toolbox Dialog Box

Показывает опции для изменения установок и редактирования категорий или элементов для инструментария(Toolbox).

Data Grouping Dialog Box

Предоставляет вам возможность создать групповые полосы, чтобы разделять группы записей визуально и отображать итоговые данные для каждой группы. Makes it possible for you to create group bands for separating groups of records visually, and displaying summary data for each group.

Database Properties Dialog Box

Позволяет вам выбирать типы объектов баз данных, которые отображены в конструкторе баз данных.

Define Window Layout Dialog Box

Позволяет вам давать имя и сохранять окно и конфигурацию панели инструментов для дальнейшего повторного использования.

Delete (Records) Dialog Box

Дает возможность помечать записи для удаления.

Description Dialog Box

Предоставляет текстовое поле, где вы можете набрать краткое описание, идентифицирующее файл.

Detail Dialog Box

Устанавливает высоту и другие опции для строки Detail в отчете или этикетке.

Do Dialog Box

Позволяет вам выбрать определенную программу или форму для выполнения.

Edit Bands Dialog Box

Отображает список доступных строк, так что вы можете непосредственно модифицировать высоту, а также входные и выходные действия.

Edit Links Dialog Box

Дает вам возможность изменить или прервать связь между объектами.

Edit Properties Dialog Box

Позволяет установить редактирование опций для текущего редактируемого окна или установить опции цвета и шрифта для всех редактируемых сессий.

Edit Property/Method Dialog Box

Позволяет вам добавлять новые свойства и методы и редактировать существующие.

Edit Relationship Dialog Box

Позволяет установить устойчивые отношения между таблицами.

Event Tracking Dialog Box

Дает возможность видеть, когда каждое событие происходит относительно другого события.

EXE Version Dialog Box

Показывает информацию о номере сборки, а также другую информацию,которую вы предоставляете.

Execution Throttle Dialog Box

Дает возможность определить задержку в секундах перед выполнением каждой строки кода, помещенного в окно трассировки.

Export Dialog Box

Дает возможность экспортировать данные из таблиц Visual FoxPro в текстовый файл, электронную таблицу или таблицу общего формата.

Export Options Dialog Box

Определяет записи и поля для экспорта.

Expression Builder Dialog Box

Дает возможность создавать и редактировать выражения. Выражение может быть простым и состоять только из имени поля или сложным, включая вычисление вложенных функций IF, конкатенаций и преобразования типов данных.

Expression Builder Options Dialog Box

Устанавливает привилегии для пунктов, показываемых в построителе выражений.

File Finder Dialog Box

Разрешает поиск, основанный на определенных критериях.

Find Dialog Box (Visual FoxPro)

Дает возможность поиска текста.

Find Table or View Dialog Box

Позволяет вам выбрать таблицу или представление, которые вы не можете разместить в схеме базы данных, показываемой в конструкторе баз данных.

Font Dialog Box

Управляет типом, стилем и размером шрифта в текстовом файле, поле или пометке в отчете, этикетке или командном окне.

Format (Field) Dialog Box

Определяет значение выражения в управляемом поле.

General Options Dialog Box

Позволяет определить код для целой системы меню.

Generate Menu Dialog Box

Позволяет определить имя для генерируемой программы меню и затем сгенерировать программу.

Get Latest Version of Files Dialog Box

Берет последние файлы исходного кода и располагает локальную копию в менеджер проекта.

Go To Line Dialog Box (Visual FoxPro)

Дает возможность перемещать указатель на определенную строку текста или программного файла или командного окна.

Go To Record Dialog Box

Переносит указатель записи на определенную запись.

Having Dialog Box

Определяет условия для выбора групп записей, чтобы включить в запрос.

Import Dialog Box

Позволяет вам импортировать данные в таблицу из электронной таблицы или другого табличного формата.

Include File Dialog Box

Позволяет вам определить в специальном подключенном файле именованные константы для пользовательских классов, форм или наборов форм.

Insert Object Dialog Box

Включает объекты OLE, которые могут быть связаны или внедрены в ваши приложения в формы или в поля General в таблицах.

Insert Object Reference Dialog Box

Дает возможность видеть имена всех объектов в конструкторе и включать ссылку в ваш код.

Insert System Menu Bar Dialog Box

Позволяет добавлять меню и опции меню в окно конструктора меню.

Join Condition Dialog Box

Определяет условие join между таблицами.

Label Dialog Box (Visual FoxPro)

Показывает результат запроса в существующей этикетке.

Locate Database Dialog Box

Дает возможность определить расположение или игнорировать отсутствующую таблицу или представление.

Locate File Dialog Box

Дает возможность определить местоположение или игнорировать отсутствующий файл или группу файлов.

Locate Record Dialog Box

Поиск записей в активной таблице или представлении, которые соответствуют определенным условиям.

Look Up Reference Dialog Box

Дает возможность поиска и замены кода или текста в вашем проекте или папке.

Look Up Reference Dialog Box, Options Dialog Box

Устанавливает дополнительные опции для поиска кода.

Macros Dialog Box

Дает возможность определять ключевые комбинации, использующие клавишу CTRL, ALT или функциональные клавиши, чтобы выполнять серии макрокоманд.

Menu Options Dialog Box

Дает возможность определить код для определенного меню.

More Windows Dialog Box

Показывает список активных окон, из которых вы можете выбирать.

Move Item Dialog Box

Дает возможность изменить расположение меню или пункта меню.

New Class Dialog Box

Определяет информацию для нового класса, которая затем используется в конструкторе классов.

New Dialog Box

Позволяет создать новые файлы, используя конструкторы или мастера.

New File Dialog Box (Visual FoxPro)

Позволяет создавать новую форму, отчет, этикетку или запрос, в зависимости от типа файла, выбранного в данный момент в конструкторе проектов.

New Label Dialog Box

Отображает встроенные этикетки типа Avery.

New Local View Dialog Box

Позволяет создавать представление для локальных таблиц или другие представления в базе данных, используя мастер локальных представлений или конструктор представлений.

New Method Dialog Box

Позволяет создать новый метод и определить описание и видимость метода.

New Property Dialog Box

Позволяет создавать новое свойство и определять его описание и видимость.

New Remote View Dialog Box

Позволяет создавать новое удаленное представление, используя конструктор представлений или мастер удаленных представлений.

New Table Dialog Box

Позволяет создавать новую таблицу в базе данных, используя конструктор таблиц или мастер таблиц.

Open Dialog Box (Visual FoxPro)

Позволяет открыть существующий файл или создать новый.

Open Picture Dialog Box

Позволяет открыть существующий графический файл.

Options Dialog Box (Visual FoxPro)

Дает возможность установить особые категории опций.

Page Setup Dialog Box (Visual FoxPro)

Дает возможность определить установки для определенной бумаги, страницы или принтера.

Pane Customization Dialog Box

Используется при создании, модификации и удалении панелей в менеджере панели задач.

Paste Special Dialog Box

Дает возможность связать или внедрить OLE объект из буфера обмена.

Print Dialog Box (Visual FoxPro)

Позволяет вам печатать текстовый файл, отчет, этикетку или содержимое командного окна либо буфера обмена.

Print File Dialog Box

Позволяет вам искать устройство или папку для печатаемого файла.

Print Options Dialog Box

Позволяет вам печатать текстовый файл, отчет, этикетку или содержимое командного окна или буфера обмена.

Print When Dialog Box

Позволяет выполнять печать по условию объектов, основанных на значении выражения и контролирует, сколько объектов печатается, пока входит в диапазон.

Project Information Dialog Box

Дает возможность просматривать и редактировать информацию о проекте и входящих в него файлах.

Prompt Options Dialog Box

Позволяет определить опции для подсказок в системах пользовательских меню.

Report Page Setup Dialog Box

Дает возможность определить установки страниц для отчетов.

Query Destination Dialog Box

Дает возможность переслать результаты вашего запроса в семь других выходных данных. Эта команда доступна только для запросов.

Quick Report Dialog Box

Дает возможность выбрать поля и формат печати для отчета.

Recall (Records) Dialog Box

Позволяет вам неотмеченные записи помечать для удаления.

Rectangle/Line Dialog Box

Определяет позицию и опции печати для прямоугольников и линий.

Remove Files from Source Control Dialog Box

Удаляет выбранные файлы вашего проекта из исходного кода.

Rename File Dialog Box

Позволяет переименовать выбранный файл.

Replace Dialog Box

Дает возможность искать и заменять определенный текст в текущем файле.

Replace Field Dialog Box

Изменяет значения, хранящиеся в записи или в диапазоне записей.

Report and Label Print Options Dialog Box

Позволяет вам определить, сколько выбранных записей удовлетворяет условию печати.

Report Band Properties Dialog Box

Включает опции для столбца, группировки и колонтитулов(верхнего и нижнего), заголовков и т.д.

Report Dialog Box (Visual FoxPro)

Показывает результаты запроса в отчете.

Report Expression Dialog Box

Определяет содержание контролируемых полей в отчете.

Report Picture Dialog Box

Дает возможность включать изображения, иконки или другую информацию из поля таблицы типа General в ваш отчет или этикетку.

Report Variables Dialog Box

Дает возможность создавать в отчете переменные.

Round Rectangle Dialog Box

Определяет точную форму, позицию и опции печати для овалов.

Save As Class Dialog Box

Позволяет сохранять форму или выбранные элементы управления в форме как определение класса.

Save As Dialog Box (Visual FoxPro)

Сохраняет новый файл или существующий файл с другим именем.

Save As HTML Dialog Box

Позволяет создавать новую HTML-версию текущей формы, меню, отчета или таблицы.

Scope Dialog Box

Определяет действительные записи в текущей таблице или представлении.

Select Connection or Data Source Dialog Box

Позволяет вам выбрать источник данных или существующее соединение в источнике данных, чтобы создать новое удаленное представление.

Select Dialog Box (Visual FoxPro)

Дает возможность выбрать XML WEB-сервис и включить код для него в программу или код редактируемого окна.

Set Grid Scale Dialog Box

Позволяет определить горизонтальные или вертикальные приращения сетки в пикселях и определяет, показана ли линейка системных единиц измерения в пикселях.

Set Index Order Dialog Box

Устанавливает порядок индексирования в дочерней таблице.

Tab Order Dialog Box

Регулирует порядок, в котором объекты доступны в форме, если вы используете клавиатуру.

Task Pane Options Dialog Box

Модифицирует менеджер панели задач и содержащиеся в нем индивидуальные панели.

Optional Bands Dialog Box

Дает возможность включать строку заголовка, суммирования и другие уточнения в отчет или этикетку.

Toolbars Dialog Box

Дает возможность создавать, редактировать, скрывать и настраивать панель инструментов.

Undo Check Out of Files Dialog Box

Перезаписывает ваши изменения в файл и копирует последнюю проверенную версию в вашу рабочую папку разработчика.

Update Project List Dialog Box

Показывает результаты в списке изменений проекта.

View Parameters Dialog Box

Создает представления, которые при своем открытии предлагают ввести значение параметра.

Visual FoxPro Converter Dialog Box

Дает возможность открывать файлы, созданные в более ранних версиях Visual FoxPro.

Visual FoxPro Transporter Dialog Box

Дает возможность перемещать формы, этикетки и отчеты через различные Visual FoxPro платформы и версии.

Visual FoxPro XML Web Service Location Dialog Box

Определяет локальный унифицированный локатор ресурсов (URL) или виртуальный каталог для публикации на XML WEB - службе.

Visual FoxPro XML Web Services Publisher Dialog Box

Определяет информацию для публикации Visual FoxPro COM (.dll) серверов как XML WEB службы, что может быть доступно на WEB.

Visual FoxPro XML Web Services Registration Dialog Box

Определяет информацию для регистрации XML WEB-службы, так что вы можете использовать это в своем приложении.

Wizard Selection Dialog Box

Показывает список мастеров, которые вы можете выбирать.

Work Area Properties Dialog Box

Дает возможность изменить структуру таблицы, выбранных индексных файлов и полей, и определяет фильтры данных. Это диалоговое окно появляется тогда, когда вы выбираете свойства из таблицы меню.

XML Web Service - Client Detail Dialog Box

Делает возможным для вас определить элемент управления или клиента, с которым вы хотите связать результаты операции XML Web сервиса.

XML Web Service - Complex Types Dialog Box

Дает возможность определять информацию для сложных типов, таких как имена таблиц или полей для операций XML WEB-сервиса, которые возвращают наборы данных ADO.NET или имена свойств для возвращаемых объектов.

XML Web Service - Operation Detail Dialog Box

Дает возможность выбирать определенные услуги операций XML WEB-сервиса или методов, которые вы можете вызвать в вашем приложении. Вы можете также определить величину параметра для этих операций.

XML Web Service - Parameter Values Dialog Box

Делает возможной установку значений параметров или определяет элемент управления и его свойства как параметры для операций выбранного XML Web сервиса.

Zoom <property> Dialog Box

Показывает текстовые значения выбранных свойств.

Связанные секции Related Sections

User Interface Reference (Visual FoxPro)

Поясняет опции, которые появляются в различных диалоговых окнах, и другой пользовательский интерфейс. Эти типы тем появляются обычно, когда вы нажимаете F1 в диалоговом окне или просто в окне.

Developing Visual FoxPro Applications

Включает концептуальную информацию о разработке приложений Visual FoxPro, инструкции для создания баз данных и пользовательского интерфейса и другие задачи по созданию приложений Visual FoxPro.

Programming in Visual FoxPro

Описывает, как технически понятные методы объектно-ориентированного программирования и событийно-управляемая модель могут расширить вашу производительность программирования и разрешить вам доступ ко всей мощи Visual FoxPro.

Reference (Visual FoxPro)

Включает темы производительности инструментальных средств, также как и доступных элементов управления, объектов, свойств, методов, событий, предложений, функций и констант.

Utility Programs

Описывает, насколько эти инструментальные средства, подготовленные Microsoft Visual FoxPro, помогают ускорить процесс разработки приложений.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


About Microsoft Visual FoxPro Dialog Box

Visual FoxPro 9.0
Диалоговый бокс About Microsoft Visual FoxPro
См. Также

Отображается информация Visual FoxPro copyright, лицензия данного продукта, версия, идентификационный номер продукта.

Для появления данного диалогового бокса выберите в системном меню Help пункт About Microsoft Visual FoxPro.

System Info

Отображается системная информация Microsoft System Information о содержании вашейц рабочей станции. Для получения дополнительной информации об использовании Microsoft System Information, нажмите клавишу F1.

См. также

Описание

Команда SET HELP
Команда HELP

Другие ссылки

Диалоговые Боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Add Files to Source Control Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Add Files to Source Control (Добавить файлы в Source Control)
См. Также

Добавляет файл или выбранные файлы в ваш проект, под управлением службы source code control.

Files to add (файлы для добавления)

Список добавляемых файлов.

Keep Checked out (контроль сохранения данных)

Вносить изменения в базу данных source code control, при подтверждении пользователя, поведение контроля целостности.

Comment (комментарий)

Элемент комментария, относительно дополняемых в данную службу файлов.

См. также

Описание

Диалоговый бокс Undo Check Out of Files
Диалоговый бокс Remove Files from Source Control
Компиляция Исходного программного Кода

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Add Table or View Dialog Box

Visual FoxPro 9.0
Диалоговое окно Add Table or View
Смотрите также

Появляется, когда вы выбираете Query или Local View в диалоговом окне New и затем выбираете New File. В этом диалоговом окне, вы выбираете одну или более существующие таблицы или представления на основе каторых вы будете базировать новый запрос или локальное представление.

Database

Отображает текущую базу данных по умолчанию и позволяет вам выбирать другую базу данных.

Tables/Views in database

Отображает таблицы или представления из текущей базы данных в зависимости от того, выбираете Вы опцию Tables или Views.

Alias

Определяет псевдоним вместо автоматически сгенерированного псевдонима, чтобы использовать для таблицы или представления выбраного вами.

Add

Добавляет таблицу или представление.

Other

Отображает диалоговое окно Open, из которого вы можете выбрать свободную таблицу, чтобы добавить к запросу.

Tables

Отображает таблицы из текущей базы данных в поле Tables in database.

Views

Отображает представления из текущей базы данных в поле Views in database.

Смотрите также

Задачи

How to: Query Multiple Tables and Views

Справочное руководство

Диалоговое окно Join Condition
Диалоговое окно Arrange Tables and Views
Диалоговое окно New
Диалоговое окно Open (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Advanced Options Dialog Box

Visual FoxPro 9.0
Advanced Options (Расширенные Параметры), диалоговый бокс
Смотрите Также

Позволяет вам выполнить "тонкую" настройку Процедур загрузки результирующих Записей Представлений или выполнения процедур Обновления данных в исходных Таблицах удаленного Источника Данных (Сервера). Описанные далее Параметры относятся только к удаленным Представлениям.

Информация о Соединении

Connection Name/Data source (Имя Соединения, или удаленный Источник Данных)

Отображается имя текущего Соединения или Источник Данных, обеспечивающие загрузку данного Представления.

Share Connection (многопоточное использование соединения)

Характеризует состояние соединения, поддерживаемое системой Visual FoxPro, в условиях которого могут загружаться Данные для нескольких Представлений. Данный параметр поддерживается только для Соединений типа (ODBC) - удаленных Представлений. Если вы включаете данную Опцию, то в дальнейшем вы можете использовать данное Соединение при построении Нового Представления, в режиме Uses Current Connection (использовать текущее соединение).

Загрузка Данных

Number of Records to Fetch at a Time (Количество Записей, загружаемых за один Сеанс)

Управляет количеством Записей данных, загружаемых за один сеанс выполнения команды Запроса сервера ODBC (или Удаленного Источника Данных). Например, Если вы планируете загрузку 1000 записей, а рассматриваемый параметр установлен как = 100, то при первом выполнении Запроса Представления загружается первые 100 записей, которые и отображаются в Представлении, остальные Записи загружаются в ближайшее время порциями (или Блоками) по 100 записей. Если вы выбираете вариант: All sets (Весь Набор), что соответствует установке = –1, это означает, что Запрос Представления будет выполняться до тех пор, пока не будут Выбраны (загружены) Все Записи, удовлетворяющие текущему Фильтру Выборки.

Maximum Number of Records to Fetch (Максимальное количество Записей при Загрузке)

Может Ограничивать количество Загружаемых Записей Представления. При установке: All sets (Весь Набор) - загружаются все Записи.

Use Memo When Character Field Length >= (Использовать преобразование длинных символьных строк в поля типа MEMO)

Определяет, что символьные поля из Таблиц Удаленного Источника Данных должны быть преобразованы в соответствующие поля типа MEMO результирующего Представления.

Выполнение

Number of Records to Batch Update (Количество Записей при Пакетном режиме Обновления Данных)

Определяет количество Записей в удаленном Источнике данных, обновляемых за один Сеанс команды Запроса. Дополнительную информацию смотрите при описании Стандартной команды REPLACE.

Fetch Memo (Загружать ли поля типа MEMO, если они не запрашиваются явно)

Поля типа MEMO загружаются только в том случае, когда они явно указаны в операторе Выборки (SQL-Select) Представления.

Fetch remote data as needed (Загрузка Удаленных Данных при необходимости)

Отключает быструю Загрузку Данных (только тех данных, которые Требуются для Актуализации Представления)

Include Memo Fields in WHERE Clause (Включаются ли поля типа MEMO в условия Фильтра: WHERE...)

Определяет, что перед выполнение операций обработки данных (сравнением) система Visual FoxPro может выполнить Анализ измененных данных в полях типа MEMO, если данные изменялись, то данные поля включаются в операторы Сравнения. Некоторые Удаленные источники Данных не поддерживают данную Опцию; в таком случае, при включении рассматриваемых полей в опператоры Сравнения, Сервер выполняет Отчет об Изменяемых Записях.

Precompile SQL on Back-end Server (Выполнять ли предварительную компиляцию Операторов SQL на удаленном Сервере)

Определяет, что система Visual FoxPro передает на удаленный Сервер Запрос SQL, который предварительно Компилируется. Если текущий Сервер поддерживает рассматриваемую Опцию, то ваши Запросы могут выполняться значительно Быстрее, по сравнению с выполнением Запросов в режимах Интерпретации.

См. также

Описание

View Parameters (Параметры Представления), диалоговый бокс
Comment (Комментарий), диалоговый бокс
REPLACE, команда (Visual FoxPro)
Опция Диапазона
Варианты Результирующих Наборов Запроса, диалоговый бокс

Другие ссылки

Диалоговые боксы (Окна) (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Append From Dialog Box

Visual FoxPro 9.0
Диалоговое окно Append From
Смотрите Также

Позволяет добавлять записи в текущюю таблицу или вид из другой таблицы, электронной таблицы, или текстового файла. Этот диалог отображается, когда вы выбираете Append Records из меню Table.

Type

Определяет тип файла из которого добавляются записи.

From

Обеспечивает пространство для ввода имени файла из которого добавляются записи. Если вы незнаете имени, выбираете кнопку диалога чтобы отобразить Диалоговое окно Open и выбирать желательный файл.

To

Отображает путь и имя файла таблицы или представления к которому будут добавляться записи.

Options

Отображает Диалоговое окно Append From Options, в котором вы определяете поля для добавления, и строятся выражения, какие записи должны добавляться.

Подробнее смотрите Добавление данных в Импортирование и экспортирование данных.

Смотрите Также

Задачи

Как: Добавлять записи в таблицы

Справочное руководство

Диалоговое окно Append From Options
Команда APPEND FROM
Окно Browse
Команда APPEND

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Append From Options Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Append From Options (Добавить по Выбору)
См. Также

Определяет, какие поля таблицы добавляются, и как построить выражение фильтра, определяющее добавляемые записи. Данный диалоговый бокс отображается при нажатии на кнопку Options , в Диалоговом боксе Append From .

Критерии

Fields (Поля)

Выводит на экран Диалоговый бокс Field Picker (Отметки Полей), где можно выбрать добавляемые поля.

For (для - критерий)

Выводит на экран Диалоговый бокс Expression Builder (Построитель Выражений), где можно построить выражение фильтра (условное логическое выражение), определяющее, какие записи могут быть добавлены.

См. также

Описание

Диалоговый бокс Delete (Records)
APPEND FROM, команда
APPEND, команда

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Arrange Tables and Views Dialog Box

Visual FoxPro 9.0
Дмалоговое окно Arrange Tables and Views
Смотрите также

Это диалоговое окно позволяет вам изменить раскладку таблиц и представлений в диаграмме вашей базы данных. Для получения более подробной информации смотрите описание задачи Как: расставить таблицы и представления в базе данных.

Это диалоговое окно появляется, когда вы выбираете пункт Arrange из меню Database.

Arrange Tables and Views Dialog Box

Arrange

Эти опции позволяют вам упорядочить содержание раскладки диаграммы базы данных.

By Name

Упорядочивает таблицы и представления по имени.

By Type

Упорядочивает и сводит вместе группы таблиц и представлений (таблицы отдельно, представления отдельно).

Align Objects

Эти опции позволяют вам располагать содержание раскладки в линию.

Vertically

Располагает объекты в линии вертикально в окне дизайнера базы данных.

Horizontally

Располагает объекты в линии горизонтально в окне дизайнера базы данных.

Resize objects to default height and width

По умолчанию, объекты в диаграмме базы данных показываются в маленьких списках высотой в пять полей. Если вы изменяете размер объектов, для просмотра большей содержания объекта, то вы можете вернутсья к размеру по умолчанию, отметив этот чек-бокс.

Смотрите также

Концепции

Дизайнер базы данных (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Beautify Options Dialog Box

Visual FoxPro 9.0
Beautify Options (Параметры Улучшений), диалоговый бокс
Смотрите Также

Makes it possible for you to specify capitalization and indentation styles for program code appearing in an editing window. When a program file is open in the editing window, selecting the Beautify command from the Tools menu opens the Beautify Options dialog box.

Capitalization (преобразование в прописные буквы)

Keywords (символы-буквы)

Обеспечиваются различные варианты форматирования Текста: UPPERCASE, lowercase, Mixed Case, или No change (верхний / нижний регистр букв, средний размер, без изменений)

Symbols (специальные символы)

Обеспечиваются различные способы представления отдельных символовs: UPPERCASE, lowercase, Match with first occurrence, No change.

Вариант <Match with first occurrence> доступен только для текущего Окна Редактирования.

Indentation (параметры Смещений)

Types of indent (тип Смещения)

Предоставляются варианты смещений (Отчтупов): Tabs, Spaces, No Change (табуляция, пробелы, без изменения).

Если выбирается вариант выделения (смещения) текста <Spaces> (пробелами), необходимо ввести количество вставляемыз Пробелов, обеспечивающих Смещение Текста.

Text to indent (варианты смещения специального Текста)

Рассматриваются различные варианты Смещения различных фрагментов Текста (для каждого Фрагмента - свое Смещение).

Comment (для Комментариев) Определяется вариант Смещения для строк, начинающихся с символа Комментария (* - звездочка).

Continuation lines (продолжение Строки) Определяется Смещение для строк продолжений (когда предыдущая строка заканчивается символом ; "точка-с-запятой"), строки продолжения смещаются на установленное расстояние до тех пор пока не закончится Командная Строка.

Extra indent beneath (дополнительное Смещение (отступ) в нижних строк Текста)

Обеспечивается дополнительное Смещения последующих Строк текста, например для ввода сложных Команд, таких как: DO CASE.

См. также

Описание

Системное Окно Редактирования
_BEAUTIFY, системная переменная
Macros (макросы), диалоговый бокс

Другие ссылки

Диалоговые боксы (системные диалоговые окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


Breakpoints Dialog Box

Visual FoxPro 9.0
Диалоговое окно настроек точек останова (Breakpoints)
Смотрите также

Позволяет сделать некоторые настройки точек останова .

Это диалоговое окно появляется, когда Вы выбираете пункт Breakpoints из Меню Tools, Окна Отладчика.

Type

Тип точки останова. Выберите один из следующих вариантов настройки:

Тип Описание

Break at location

Остановить выполнение кода в строке программы .

Break at location if expression is true

Остановить выполнение кода в строке программы, когда указанное выражение Истина .

Break when '

Остановить выполнение кода когда указанное выражение Истина .

Break when expression has changed

Остановить выполнение кода когда изменится значение указанного выражения .
Location

Где остановить выполнение кода. Местоположение может быть программой,процедурой, методом или событием. Вы можете приостановить выполнение программы в указанной строке , путем указания номера строки через запятую.
Совет:
для отображения номера строки кода в Окне Трассировки, необходимо выбрать Show line numbers (Показывать номера строк) на закладке Debug Tab, Options Dialog Box.

File

Файл для которого определяется точка останова. Это может быть программный модуль, форма или файл класса. Если имя файла не будет указано, то точка останова будет определена для любого метода или процедуры с таким же именем, как и у метода(процедуры), указанного в поле Location.
Pass Count

Число проходов выполнения указанной строки кода, перед тем как выполнение будет приостановлено..
Совет:
Очень удобно использовать данную установку в циклах, когда ошибка (проблема) возникает не сразу, а после некоторого числа раз выполнения кода.

Expression

Любое допустимое выражение Visual FoxPro. Если в качестве Типа точки останова, о котором речь шла выше, Вы выбрали "Break when expression is true" или "Break at location if expression is true", то в этом поле и вводите выражение.
Breakpoints

Список точек останова, которые Вы определили. Активные точки останова отмечены галочкой.Любую точку останова можно сделать активной(неактивной) путем нажатия кнопки Enable(Desable). Список точек останова можно сохранить в файле конфигурации. Для этого надо воспользоваться Пунктом меню File, Save Configuration.
Add

Кнопка добавляет новую точку останова в список с указанными выше параметрами (Тип, местоположение и т.д.)Только после нажатия этой кнопки, точка останова добавляется в список и сохраняется после закрытия диалогового окна.
Remove

С помощью этой кнопки можно удалить выбранную точку останова.
Disable

С помощью этой кнопки, выбранная точка останова становится неактивной .
Enable

Эта кнопка активизирует точку останова, если она была запрещена.
Clear All

Кнопка для удаления всех точек останова из списка.
Display Breakpoint Messages

Эта опция разрешает показ сообщений в случае срабатывания точек останова.Сообщения не будут показываться если тип точки останова "Break at location ".

Смотрите Также

Другие источники

Диалоговые окна
Вкладка Debug(Отладка) , окна настроек
Окно трассировки
Окно отладки
Горячие клавиши Отладчика и Меню

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. Все права защищены


Build Options Dialog Box

Visual FoxPro 9.0
Build Options (Параметры Компоновки), диалоговый бокс
Смотрите Также

Позволяет вам настроить (уточнить) параметры создаваемого Приложения или выполнить непосредственные Шаги по Компоновке модулей Приложения или перестроить уже существующий Проект.

Данный диалоговый бокс Активируется при выборе подпункта Build из системного меню Project, при условии, что уже Открыт требуемый Проект Приложения, либо нажата кнопка Build в системном окне Диспетчера Проектов.

Действия по Компоновке:

Rebuild project (перестроить Проект)

Создает и Компонует файл Проекта Приложения. Данная командная кнопка соответствует выполнению сисмтемной команды BUILD PROJECT. Смотрите дополнительно раздел: BUILD PROJECT, команда.

Application (app) (приложение)

Компонует файлы Проекта, компилирует результирующие программные файлы, создает объектный файл Приложения (.app). Данная командная кнопка соответствует выполнению системной команды BUILD APP. Дополнительно смотрите раздел: BUILD APP, команда.

Win32 executable / COM Server (exe) (исполнимый файл, динамическая библиотека, СОМ-сервер)

Создает готовое Приложение (.exe) из текущего Проекта. Данная командная кнопка соответствует выполнению системной команды BUILD EXE. Дополнительно смотрите раздел: BUILD EXE, команда.

Single-threaded COM server (dll) (однопоточный СОМ-сервер)

Создает файл динамической библиотеки (.dll) на основании информации о Классе, размещенной в текущем Проекте Приложения. Данная командная кнопка соответствует выполнению системной команды BUILD DLL, которая создает соответствующую библиотеку режима Run-Time, VFPVersionNumberR.dll. VersionNumber представляют собой Номер версии текущей реализации системы Visual FoxPro. Дополнительно смотрите раздел: BUILD DLL, команда.

Multi-threaded COM server (dll) (многопоточный СОМ-сервер)

Создает файл многопоточной динамической библиотеки (.dll) на основании информации о классах, размещенных в данном Проекте. Данная командная кнопка соответствует выполнению системной команды BUILD MTDLL, которая использует соответствующую библиотеку режима Run-Time: VFPVersionNumberT.dll. VersionNumber - есть номер версии соответствующей текущей реализации системы Visual FoxPro. Дополнительно смотрите раздел: BUILD MTDLL, команда.

Параметры (характеристики)

Recompile All Files (обновление компиляции всех файлов проекта)

Перекомпилировать все программные файлы Проекта, создать файлы объектного Кода для каждого исходного файла, разместить информацию об Ошибках Компиляции в соответствующие файлы ошибок компиляции (.err) после завершения процесса Сборки (компоновки). В противном случае (если данная Опция не Отмечена), компилируются только те программные файлы, в которые были внесены изменения после последней Компоновки программного Модуля. Допорлнительно смотрите раздел: Как: Просмотреть и сохранить результирующие Сообщения процесса Компоновки (Сборки).

Display Errors (отображать Ошибки)

Отобразить журнал Сообщений об обнаруженных Ошибках процесса Компиляции программных модулей в системном окне Редактирования после завершения выполнения Компоновки (Сборки) Приложения, результирующий файл (.Err). Дополнительно смотрите раздел: Как: Просмотреть и сохранить результирующие сообщения процесса Компоновки (Сборки).

Run After Build (запустить после завершения Компоновки)

Определяет, что после успешного завершения процесса создания Приложения из текущего Проекта, это приложение должно быть запущено на выполнение.

Regenerate Component IDs (Обновить идентификаторы создаваемых Компонент в Реестре OS Windows)

Установить и Зарегистрировать серверы Автоматизации (Automation Servers), содержащиеся в данном Проекте (описанные в данном Проекте).

В том случае, когда отмечена данная Опция, после завершения процесса создания динамической библиотеки (.Dll) создаются новые Глобальные Идентификаторы {Globally Unique Identifiers (GUID)}, на основании которых выполняется регистрация создаваемых Классов в Системном Реестре. Обратите Внимание. Регистрируются только Классы, имеющие характеристику: OLE Public, которая устанавливается в соответствующем Диалоговом боксе: Class Info, который может быть вызван из соответствующего ситстемного меню Class. Данная опция включается в том случае, когда вы выполняете команду Build OLE DLL или создаете исполнимый файл (.Exe), в одной из компонент которого используется ключевое слово: OLEPublic. Дополнительно смотрите раздел: Class Info (информация о классе), диалоговый бокс.

Version (Версия)

Активирует диалоговый бокс EXE Version, с помощью которого вы можете вы можете определить необходимый Номер версии создаваемого Приложения. Рассматриваемая командная кнопка является доступной в том случае, когда вы выбираете варианты Компоновки программного модуля: Build Executable или Build OLE DLL в соответствующем диалоговом боксе Build Options. Дополнительно смотрите раздел: EXE Version, диалоговый бокс.

См. также

Описание

Системное окно Редактирования
Системное окно Диспетчера Проектов

Другие ссылки

Диалоговые боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Calculate Field Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Вычисления Полей
См. также

При помощи данного средства Вы можете выбрать математическую операцию для построения вычисляемого Поля. Данный диалоговый бокс отображается при нажатии на соответствующую кнопку Calculations в диалоговом боксе построителя выражений Отчета.

Примечание:
В зависимости от установки системной переменной _REPORTBUILDER, данный диалоговый бокс может иметь альтернативный пользовательский интерфейс. Для дополнительной информации см.также системная переменная _REPORTBUILDER .

Сброс (Reset)

Обозначает точку в Отчете, в которой вычисления завершаются. По-умолчанию = "End of Report" (Конец Отчета).
Примечание:
Если Вы задаете в Отчете группировку данных , <Detail bands>, или выражение для псевдонима таблицы, управляющей <Detail bands>, блок Reset представляет выбор из списка этих значений.

Вычисления (Calculate)

Определяет дополнительные вычисляемые операции над полями или выражениями, которые обеспечивают получение требуемого результата.

Отсутствует (Nothing)

(По-умолчанию) Нет дополнительных вычислений. Результатом является непосредственно значение поля или выражения.
Количество (Count)

Определяет количество записей таблицы, обработанных в Отчете на данный момент. (Выражения для Полей не поддерживаются)
Сумма (Sum)

Определяет Сумму значений указанного выражения для записей, обработанных на данный момент в Отчете.
Средняя (Average)

Вычисляет арифметическое среднее указанного выражения для записей, обработанных на данный момент в Отчете.
Наименьшее (Lowest)

Вычисляет наименьшее значение указанного выражения в группе, странице, столбце, отчете или <Detail band>, которые указаны в соответствующем боксе Reset (описанном выше). Значение выражения изменяется при нахождении наименьшего значения.
Наибольшее (Highest)

Вычисляет наибольшее значение указанного выражения для записей, обработанных на данный момент в Отчете. .
Среднеквадратичное отклонение (Standard deviation)

Вычисляет Среднеквадратичное отклонение указанного выражения для группы записей, обработанных на данный момент в Отчете. .
Варианта (Variance)

Вычисляет Варианту для указанного выражения.

См. также

Другие Ссылки

Диалоговые боксы
Диалоговый бокс выражений в Отчетах

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Change Icon Dialog Box

Visual FoxPro 9.0
Диалоговое окно Change Icon
Смотрите Также

Задает значок, который будет использоваться для связанного или внедренного объекта в форме или в поле типа General таблицы Visual FoxPro. Данное диалоговое окно отображается на экране, если выбрать опцию Display as Icon в диалоговом окне Insert Object или в диалоговом окне Paste Special и выбрать Change Icon.

Icon

Current Задает использование текущего значка.

Default Задает использование значка, принимаемого по умолчанию.

From File Задает файл, из которого будет взят новый значок. Если набрать в поле путь и имя файла и нажать кнопку OK появится список всех имеющихся значков. Прокручивая этот список, выберите нужный значок, а затем нажмите кнопку OK.

Label

Задает метку, которая будет изображена под значком. Наберите в поле нужный текст.

Browse

Отображает диалоговое окно Browse в котором можно выбрать файл с нужным значком.

Смотрите Также

Задачи

Как: Редактировать OLE объекты в формах и таблицах

Справочное руководство

Диалоговое окно Insert Object
Диалоговое окно Edit Links
Окно General Field
Свойство Icon (Visual FoxPro)
Диалоговое окно Paste Special

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Check In Files Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Check In Files (Проверка файлов)
См. Также

Выполняет проверку выполненных изменений в рабочем каталоге вашей среды разработки, в соответствие системного средства База Данных Source Code Control.

Files To Be Checked In (файлы для проверки)

Список файлов, которые подлежат проверке. Выберите группу файлов для проверки, или нажмите кнопку Select All - для выбора всех файлов.

Comment (комментарий)

Вводится дополнительный комментарий.

Keep Checked Out (сохранить внесенные изменения)

Изменить базу данных source code control, для откорректированных компонент.

См. также

Описание

Диалоговый бокс Get Latest Version of Files (определить последнюю версию файла)
Диалоговый бокс Check Out Files
Компиляция Исходного Кода

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Check Out Files Dialog Box

Visual FoxPro 9.0
Check Out Files (Проверка выходных файлов) , диалоговый бокс
См. Также

Контроль и проверка выбранных отправляемых программных компонент, управляемых подсистемой Source Code Control; копирование и размещение копий этих компонент в соответствующих рабочих каталогах при Коллективной Разработке Приложения.

Files to be Checked Out (файлы для выходного контроля)

Список файлов, предназначенных для проверки и контроля; нужно отметить нужные или отметить все.

Comment (комментарии)

Короткий комментарий по группе Контролируемых файлов.

Select All (выбрать все)

Отметить все файла для контроля.

Advanced (расширения-дополнения)

Отображает дополнительный диалоговый бокс подсистемы source code control Advanced Check Out Options.

См. также

Описание

Check In Files (проверка входных файлов), диалоговый бокс
Undo Check Out of Files (отмена контроля выходных файлов), диалоговый бокс
Компиляция Исходного программного Кода

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Choose Field/Variable Dialog Box

Visual FoxPro 9.0
Choose Field/Variable (Выбор Поля/Переменной) , диалоговый бокс
См. Также

Определяется Поле Таблицы или Переменная.

Choose a Field or Variable (выбрать поле или переменную)

Введите необходимое имя поля или переменной.

Fields (поля)

Отображаются имена полей заданной Таблицы в соответствующем Field box из диалогового бокса Report Picture. При выполнении "Double-click" выбранное поле переносится в рассматриваемый бокс Choose a Field or Variable.

Variables (переменные)

Отображаются доступные переменные памяти. Выполнение "Double-click" позволяет перенести выбранное поле в рассматриваемый диалоговый бокс.

Comment (комментарий)

В этом боксе можно определить необходимый комментарий, или опимание рассматриваемого объекта. Данный комментарий используется только дополнительной информации, он не появляется в разрабатываемом Отчете или Этикетке.

См. также

Описание

Report Picture, диалоговый бокс
Соглашения по наименованиям Полей Таблиц
Переменные (Visual FoxPro)
Round Rectangle, диалоговый бокс

Концепции

Использование Переменных и Полей в Visual FoxPro

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Диалоговый бокс Class Info

Visual FoxPro 9.0
Диалоговый бокс Class Info
См. также

Этот диалоговый бокс отображает атрибуты классов и членов класса. Следующая таблица описывает закладки, доступные в диалоговом боксе Class Info.

Закладка | Описание
Class | Отображает и определяет общую информацию о классе и о связанных с ним образах.
Members | Отображает информацию о каждом члене класса.

См. также

Ссылки

Диалоговые боксы
Работа с классами в Visual FoxPro

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class Tab, Class Info Dialog Box

Visual FoxPro 9.0
Закладка Class, Диалогового окна Class Info
Смотрите также

Предоставляет общую информацию о классе и связанных с ним значках. Диалоговое окно, которое содержит эту вкладку, появляется, когда Вы выбираете Class Info из меню Class.

Toolbar Icon

Отображает имя значка панели инструментов класса. Чтобы выбрать нужный значок для класса, нажмите кнопку с тремя точками.

Значок панели инструментов класса отображается на панели инструментов Form Controls конструктора форм, и конструктора классов когда вы заполняете панель инструментов Form Controls классами из библиотеки классов. Значок панели инструментов класса также появляется в контейнере Project если клас является частью проекта.

Container Icon

Отображает имя значка контейнера класса. тобы выбрать нужный значок для контейнера класса, нажмите кнопку с тремя точками.

Значок контейнера отображается только в окне просмотра классов.

OLE Public

Определяет, что, когда программа, содержащая ключевое слово OLEPublic строится через Project Manager, генерируется Automation server. Глобальный уникальный идентификатор, или GUID, также генерируется для программы.

Description

Отображает комментарии о выбранном классе. Вы можете набрать в текстовом поле новое описание или отредактировать старое.

Class Name

Отображает имя класса, выбранного в конструкторе классов.

Parent Class

Отображает имя родительского класса.

Class Library

Отображает путь и имя файла библиотеки классов.

Смотрите также

Справочное руководство

Диалоговое окно Class Info
Закладка Members, Диалогового окна Class Info
Окно Class Browser
Дизайнер форм
Окно Project Manager

Концепции

Дизайнер Классов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Members Tab, Class Info Dialog Box

Visual FoxPro 9.0
Вкладка Members, Диалогового окна Class Info
Смотрите также

Отображает информацию об отдельных членах класса. Диалоговое окно, содержащее данную вкладку, отображается в результате выбора команды Class Info в меню Class.

Вкладка Members содержит список со следующими столбцами:

Class

Отображает имя класса.

Name

Отображает свойство класа или имя метода. Access и Assign методы созданные для свойств также появляются в столбце Name.

Visibility

Определяет будет ли член класса защищенным, публичным или скрытым. Если вы выбираете Protected из раскрывающегося списка Visibility в диалоговом окне Edit Property/Method, доступ и изменения свойств класа предотвращается из внешних класов ил определений подкласов.

No Init

Определяет, выполняется ли метод Init при добавлении объекта. Когда истина (.T.), метод Init не выполняется. Эта опция применима только к подклассам класса.

Modify

Открывает диалоговое окно Edit Property/Method, где Вы можете редактировать существующее свойство или метод.

Смотрите также

Справочное руководство

Диалоговое окно Class Info
Закладка Class, Диалогового окна Class Info
Диалоговое окно Edit Property/Method

Концепции

Методы Access и Assign
Защита и сокрытие членов класса

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Code Page Dialog Box

Visual FoxPro 9.0
Диалоговое окно Code Page
See Also

Позволяет вам назначать кодовую страницу для .dbf или текстового файла, который не имеет ее.

.Dbf и текстовые файлы отображаются должным образом только, если они имеют правильную кодовую страницу. Visual FoxPro автоматически назначает кодовые страницы таким файлам при их создании. Однако у .DBF и текстовых файлов, созданных в ранних версиях FoxPro или в других продуктах, может не оказаться кодовых страниц.

Если вы установили переключатель Prompt for Code Page на вкладке Data диалогового окна Options, Visual FoxPro будет предлагать задать кодовую страницу при открытии таблиц, не помеченных кодовой страницей. Вы также можете отобразить диалоговое окно Code Page с помощью функции GETCP( ).

Platform

Относится к типу операционной системы, которую вы используете. Ваш выбор определяет кодовые страницы отображаемые в диалоговом окне Code Page.

  • All Отображает кодовые страницы для всех платформ.

  • Windows Отображает только кодовые страницы Windows.

  • MS-DOS Отображает только кодовые страницы MS-DOS.

  • Macintosh Отображает только кодовые страницы Macintosh.

Code Page

Предлагает список всех кодовых страниц для выбранной платформы.

Select

Задает выбранную в данный момент кодовую страницу в качестве принимаемой по умолчанию.

Смотрите Также

Справочное руководство

Диалоговое окно Open Picture
Диалоговое окно Save As (Visual FoxPro)
Закладка Data, диалогового окна Options
Функция GETCP( )
Диалоговое окно Open (Visual FoxPro)
Диалоговое окно Save As (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Comment Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Comment (комментарии)
См. Также

Предоставляет возможность ввести некоторые комментарии или примечания при определении Запроса или Представления.

Add Comment

Вводятся необходимые (с точки зрения Разработчика) комментарии или краткие описания создаваемого объекта...

См. также

Описание

Диалоговый бокс Query Destination
Диалоговый бокс Advanced Options
Свойство Comment
Комментарии

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Compile Dialog Box

Visual FoxPro 9.0
Диалоговое окно Compile (Компилировать)
Смотрите также

Предоставляет вам возможность компилировать файлы программ, меню и запросов.

Note Замечание

Если у вас есть программа, открытая в окне редактирования - Edit, то команда Compile скомпилирует текущую программу без отображения каких либо опций.

Это диалоговое окно появляется, когда вы выбираете Compile (Компилировать) в меню Program (Программа).

File name (Имя файла)

Отображает файлы, которые вы можете выбрать для компиляции. Для компиляции файлов, выберите имя файла из списка и щелкните пл Compile (Компилировать) или выполните двойной щелчок на имени файла. Для выбора множества файлов, нажмите и удерживайте клавишу CTRL до завершения выбора имен файлов.

Файлы, отображаемые в списке располагаются в текущем каталоге, и соответствуют типу, определенному в списке типов фалов в блоке List files of type (Перечислить файлы типа).

Directories (Каталоги)

Отображает текущий каталог. Вы можете выбрать другой каталог, в котором содержатся файлы, которые вы желаете скомпилировать.

Drives (Диски)

Отображает текущий диск. Вы можете выбрать другой жесткий диск, на котором содержатся файлы, которые вы желаете скомпилировать.

List files of type (Перечислить файлы типа)

Перечисляет доступные типы файлов. По умолчанию первым отображается тип файлов Program (.prg)(Программа (.prg)) . Если у вас есть ващи программы, формы, меню или запросы с расширениями имен, отличающимися от используемых Visual FoxPro по умолчанию, вы можете увидеть их выбрав тип "All Files (Все файлы)".

Compile (Компилировать)

Компилирует выбранные файлы.

Select All (Выбрать все)

Выбирает все файлы в списке File name (Имя файла) для компиляции.

Deselect All (Отменить выбор всех)(

Снимает выбор файлов в списке File name (Имя файла).

More (Более)

Распахивает диалоговое окно Compile (Компилировать) с тем, чтобы вы смогли указать другие параметры.

Options (Параметры)

Encrypt compiled files (Шифровать компилируемые файлы)

Шифрует компилируемые файлы для предотвращения дешифрования программ из реконструируемого исходного кода.

Include debugging information (Включить отладочную информацию)

Определяет - будет ли в компилированный файл включена информация об отладке. Если этот чек-бокс не отмечен, вы не сможете увидеть исполнение программы в окне трассировки отладчика. Метка в этом чек-боксе соответствует включение ключевого слова NODEBUG в команде COMPILE.

Compile updated files only (Компилировать только обновленные файлы)

Компилироваться будут только те файлы из вашей выборки, которые еще не компилировались или были обновлены после последней даты компиляции.

Error message location (Расположение сообщения об ошибке)

.ERR File (Файл .ERR)

Хранит сообщения об ошибка для каждого выбранного файла в отдельном файле ошибок, который будет иметь точно такое же имя, как и компилируемый файл, за исключением расширения имени. Файлы регистрации ошибок (.err) хранятся в том же самом каталоге, что и исходные файлы. Если вы поставили отметку в этом чек-боксе, то все сообщения об ошибках будут сводиться в один файл, который вы можете указать в располающемся под ним боксе File (Файл).

Append (Добавить)

При выборе этого параметра сообщения об ошибках для каждого выбранного для компиляции файла будут добавляться в существующий файл регистрации ошибок. Этот чек-бокс будет доступен при сняти метки с чек-бокса .ERR File.

File (Файл)

Здесь вы можете задать файл, в котором будут сохраняться все сообщения об ошибках для всех выбранных вами для компиляции файлов. Впечатайте имя файла регистрации ошибок или щелкните по кнопке выбора справа от бокса ввода имени файла для вывода диалогового окна, с помощью которого вы можете найти и указать уже существующий файл регистрации ошибок. Этот бокс ввода имени файла доступен, когда снята метка с чек-бокса .ERR File.

Compiled files location (Размещение скомпилированных файлов)

Directory (Каталог)

Определяет путь для хранения скомпилированных файлов. Впечатайте путь или щелкните по кнопке (...) для просмотра и выбора каталога.

Смотрите также

Справочное руководство

Команда COMPILE
Окно Trace (Трассировка)
Диалоговое окно Do (Выполнить)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Тестирование и отладка приложений
Компилирование приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Connections Dialog Box

Visual FoxPro 9.0
Диалоговое окно Connections
См. также

Это диалоговое окно позволяет Вам создавать и поддерживать подключения базы данных. Оно появляется когда Вы выбираете Connections из меню Database.

Connections in <database>

Перечисляет подключения, связанные с базой данных, открытой в настоящее время.
New

Открывает конструктор подключений, который позволяет Вам создавать и изменять именованные подключения.
Modify

Открывает конструктор подключений, который позволяет изменять существующие подключения.
Delete

Позволяет Вам удалять подключение из базы данных.

См. также

Другие источники

Диалоговые окна
Конструктор подключений
Диалоговое окно Edit Relationship
Диалоговое окно Arrange Tables and Views
Как: Управлять подключениями с SQL перемычкой
Как: сделать разделяемым подключения для множественных удаленных представлений
Разработка баз данных
Конструктор базы данных

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Coverage Dialog Box

Visual FoxPro 9.0
Coverage (Тестирование/Испытание), диалоговый бокс
См. Также

Позволяет определить (или задать) параметры регистрации сообщений выполняемого программного обеспечения. В данном диалоговом боксе отображается информация: о количестве выполнений каждой команды Приложения, какие строки программного кода не выполнялись совсем, как долго выполняются отдельные строки программного кода.

Данный диалоговый бокс открывается при выборе опции Coverage Logging из соответствующего меню Tools, Окна Debugger.

File (файл)

Определяет имя файла-журнала выполняемых действий. Вспомогательная диалоговая кнопка открывает Open, диалоговый бокс, где можно выбрать уже имеющийся файл-журнал для подсистемы Сoverage.

Append (добавить)

Определяет, что сообщения, получаемые при Тестировании, записываются в конец (добавляются) в указанный Файл-Журнал.

Overwrite (перезаписать)

Определяет, что новая информация перезаписывается на место прежних Сообщений.

См. также

Описание

_COVERAGE, системная переменная
Системное окно Debugger
Debugger, клавиатурные макро и Меню

Концепции

Профиль Тестирования Приложения (Coverage Profiler Application)

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Create Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Create
См. Также

Данный диалоговый бокс отображается при выборе кнопки Project, Database, или Table в диалоговом боксе New, когда выбирается опция New File. Здесь Вы определяете каталог, имя, тип для вновь создаваемого файла.

Code Page

При нажатии на эту кнопку отображается диалоговый бокс Code Page, где задается кодовая страница для создаваемого файла, для корректного отображения "национальной" информации. Данная опция применяется только текстовых файлов, таких как: (.prg) - программы, (.qpr) - запросы, и другие текстовые файлы - (.txt).

См. также

Описание

Диалоговый бокс New
Диалоговый бокс Code Page

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Create One-To-Many Relationships Dialog Box

Visual FoxPro 9.0
Диалоговое окно Create One-To-Many Relationships (Создание отношений один-ко-многим)
Смотрите также

В этом окне можно установить отношения один-ко многим, в которых дочерняя таблица может содержать множество записей, которые соответствуют одной записи в родительской таблице. Эти же действия можно выполнить командой SET SKIP.

Это диалоговое окно появляется, когда вы щелкаете по кнопке 1-To-Many в окне Data Session (Сессия данных) .

Кнопка 1-To-Many будет доступна тогда, когда имеется по крайней мере одно отношение исходящее из выбранной таблицы.

Child Aliases (Дочерние псевдоимена)

Перечислены дочерние псевдоимена родительского псевдоимени, которое появляется сверху диалогового окна.

Selected Aliases (Выбранные псевдоимена)

Перечислены псевдоимена всех таблиц, которые в данный момент вовлечены в отношение один-ко-многим с родительской таблицей.

Move (Переместить)

Копирует выбранные дочерние псевдоимена в списке ChildAliases в список SelectedAliases. Для разрешения работы этой кнопки, вы должны выбрать псевдоимя в списке ChildAliases.

All (Все)

Копирует все дочерние псевдоимена в списке ChildAliases в список SelectedAliases.

Remove (Удалить)

Удаляет выбранные дочерние псевдоимена из списка SelectedAliases. Для разрешения работы этой кнопки, вы должны выбрать псевдоимя в списке SelectedAliases box.

Remove All (Удалить все)

Удаляет все псевдоимена из списка SelectedAliases.

Смотрите также

Справочное руководство

Окна Data Session (Сессия данных)
Мастер формы One-To-Many (Один-ко-многим)
Команда SET RELATION
Команда SET SKIP
Диалоговое окно Set Index Order (Установить индексное упорядочивание)

Концепции

Создание таблицы

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Customize Toolbox Dialog Box

Visual FoxPro 9.0
Диалоговое окно настройки Toolbox
Смотрите также

Отображает опции, позволяющие изменить установки для Toolbox и редактировать категории и элементы, отображаемые в нем. Для вызова диалогового окна настройки Toolbox выполните щелчок по правой клавише мыши на любом элементе, отображаемом в нем и выберите из контекстного меню "Customize Toolbox..." (Настройка Toolbox)

Древовидная структура выбора

Отображается в левой панели Toolbox и позволяет вам выбирать элементы, установки которых вы можете изменять или редактировать.

Опции (Options)

При выборе этого элемента в дереве выбора, выводит справа общие опции, определяющие поведение Toolbox.

Перечисленные ниже восемь опций отображаются в правой верхней части диалогового окна и выведены в виде чек-боксов.

Run associated builders (Запускать ассоциированные построители/компоновщики)

Указывает, что построители/компоновщики автоматически отображаются в Forms Designer (Конструкторе форм), когда вы создаете в нем элемент управления, для которого зарегистрирован его построитель/компоновщик.

Display toolbox help text section (Отображать секцию текста подсказки toolbox)

Определяет - будет ли отображаться секция вывода теста подсказки в Toolbox, расположенная в нижней части окна, под всеми категориями.

Показывать контекстные тексты указателя - тултипы (Show tooltips)

Опредеяет - будут ли отображаться ToolTips для элементов категорий.

Всегда поверх других окон (Always on top)

Определяет - должен ли Toolbox показываться поверх всех других окон.

Двойной щелчок для раскрытия элемента (Double-click to open an item)

Определяет - потребуется ли элементам, выведенным в Toolbox в виде гиперссылкок, двойной шелчок для их раскрытия или будет достаточно одиночного щелчка по левой клавише мыши.

Устанавливать свойство CurrentControl при перетаскивании элемента управления в колонку grid (Set CurrentControl property when a control is dropped on a grid column)

Определяет, что Visual FoxPro должен автоматически изменять значение свойства CurrentControl в случае, когда элемент управления перетаскивается из Toolbox в колонку элемента управления grid.

Запрос на удаление элемента управления Text1 при перетаскивании нового элемента управления в колонку grid ( Prompt to remove Text1 control when dropping new control on a grid column)

Определяет - должен ли Visual FoxPro автоматически удалять элемент управления Text1, располагающийся в колонке grid по умолчанию в случае, когда из Toolbox в колонку перетаскивается новый элемент управления или запрашивать пользователя об этом действии.

Позволять сворачивать окно Toolbox (Allow Toolbox to be minimazed)

Определяет - должен ли Toolbox отображать в заголовке кнопки управления отображением окна, позволяющие сворачивать или разворачивать окно Toolbox.

Перечисленные ниже опции отображаются в правой нижней части диалогового окна.

Скорость прокрутки категории (Category scroll speed)

Определяет скорость, в миллисекундах, с которой будут прокручиваться элементы категонии, когда вы будете наживать мышкой кнопки прокрутки, располагающиеся над и под списком элементов категории в Toolbox.

Таблица (Toolbox table)

Указывать файл таблицы, в которой Toolbox сохраняет свои установки.
По умолчанию, таблица Toolbox создается в каталоге того проекта, в котором Toolbox был впервые создан. (Примечание переводчика)

Шрифт (Font)

Устанавливает аттрибуты шрифта, используемого для Toolbox.

Очистить Toolbox (Clean Up Toolbox)

Физически удаляет помеченные для удаления элементы из таблицы Toobox.

Восстановить значения по умолчанию (Restore to Default)

Восстанавливает Toolbox в его состояние по умолчанию.

Элементы класса (Class Items)

Отображает опции, определяющие отображение классов, которые будут использованы в Toolbox.

Соглашение по наименованиям, используемое по умолчанию, для классов введенных в Toolbox (Default naming convention for classes added to Toolbox)

Представляет собой блок с требя радиокнопками, определяющими соглашение по наименованию, которое будет использоваться при отображении классов в Toolbox. У вас есть возможность выбора из трех опций:
ИмяKласса (Библиотека класса) - ClassName (Library)
ИмяKласса - ClassName
Библиотека класса. Имя Kласса - Library.ClassName

Шаблон текста операции Drag and drop

Определяет, какой текст будет добавлен в код программы, когда вы перетаскиваете элемент управления с помощью операции Drag and drop из Toolbox в Конструкторы форм или класса.

Шаблон текста для операции CTRL+Drag

Определяет, какой текст будет добавлен в код программы, когда вы перетаскиваете элемент управления с помощью операции CTRL+Drag из Toolbox в Конструкторы форм или класса.

Редактирование (Edit)

Командная кнопка, располагающаяся над блоком редактирования шаблона текста операции Drag and drop, которая открывает окно редактирования, позволяющее использовать IntelliSense и расцветку кода для изменения текста шаблонов операций Drag-and-drop или CTRL+Drag.

Фильтры (Filters)

Отображает опции для управления фильтрами для Toolbox.

Новый фильтр (New Filter)

Создает новый фильтр и выбирает его для редактирования.

Удалить фильтр (Delete Filter)

Выводит запрос об удалении выбранного фильтра.

Применить фильтр (Apply Filter)

Применяет текущий выбранный фильтр к Toolbox.

Очистить фильтр (Clear Filter)

Удаляет воздействие фильтра из Toolbox.

Имя фильтра (Filter Name)

Определяет имя для текущего выбранного фильтра.

Переписать (Update)

Сохраняет любые изменения сделанные в имени фильтра и текстовом боксе редактирования имени фильтра в таблице Toolbox.

Определенные фильтры (Defined Filters)

Отображает список фильтров, которые могут быть применены к Toolbox.

Выберите категории Toolbox, которые принадлежат этому фильтру (Select toolbox categories that belong to this filter).

Отображет список опций фильтра, к которым он может быть применен.

Категории (Categories)

Отображает опции для управления категориями в Toolbox.

Добавить категорию (Add Category)

Отображает диалоговое окно для ввода новой категории в Toolbox.

Удалить категорию (Remove Category)

Выводит запрос на удаление текущей выбранной категории.

Свойства категории (Category Properties)

Отображает диалоговое окно, которое содержит информацию о свойствах категории для текущей выбранной категории.

Освежить категории (Refresh Category)

Обновляет Toolbox любыми сделанными изменениями для текущей выбранной категории.

Освежить Toolbox (Refresh Toolbox)

Обновляет Toolbox любыми сделанными изменениями для всех категорий, отображаемых в Toolbox.

Выбрать элемент для просмотра (Select an item to view)

Определяет тип элемента, который показывается в списке элементов для конкретной категории.

Показывать только отмеченные элементы (Show checked items only)

Определяет, что в списке элементов будут видимы только те элементы, которые отмечены для показа в категории.

Добавить элемент (Add Item)

Отображает диалоговое окно, используемое для ввода нового элемента в текущую выбранную категорию.

Удалить элемент (Remove Item)

Выводит запрос на удаление элемента из текущей выбранной категории.

Свойства элемента (Item Properties)

Отображает диалоговое окно, которое содержит информацию о свойствах текущего выбранного элемента.

Сортировать по алфавиту (Sort Alphabetically)

Сортирует элементы списка для отображения его в алфавитном порядке.

Смотрите также

Справочное руководство

Toolbox (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Grouping Dialog Box

Visual FoxPro 9.0
Data Grouping, диалоговый бокс (Группировка Данных)
Смотрите Также

В рассматриваемом диалоговом боксе определяются параметры создания вложенных групп данных для рассматриваемого Отчета или Этикетки, которые создаются при каждом изменении значения выражения / переменной, определяющей создаваемую Группу Данных.

Note Обратите Внимание

В зависимости от текущего значения системной переменной _REPORTBUILDER, внешний вид и функциональное наполнение рассматриваемого Диалогового бокса может отличаться от Стандартного. Дополнительную информацию смотрите в разделе: _REPORTBUILDER, системная переменная.

Как: Использовать Группировку Данных в Отчетах

Group expressions (Ключевые выражения Группировки данных)

Представляет собой список некоторых выражений (переменных), значения которых определяют соответствующие Группы Данных в Отчете. Контрол Mover Button (кнопки переноса) позволяет изменить порядок вложенности выражений (переменных), определяющих Группипровку Данных.

Вы можете напрямую определить требуемое выражение Группировки или использовать построитель Выраженицй ( кнопка-многточие (…). Пустое выражение - Недопустимо. Смотрите дополнительно раздел: Expression Builder, диалоговый бокс (Построитель Выражений).

Group properties (Свойства Группировки)

Определяются различные дополнительные параметры Группировки Данных.

Start group on new column (Начать группу данных с нового Столбца Отчета)

Определяет, что при изменении значения ключевого выражения группы данные Отчета размещаются с нового Столбца Отчета. Данный параметр актуален только для МногоКолоночных Отчетов.

Start each group on a new page (Начать каждую новую группу данных Отчета с нового Листа)

Определяет, что при изменении Значения Выражения Группы, данные - новая группа выводится с нового Листа Отчета.

Reset page number to 1 for each group (Сбросить (=1) номер Листа для каждой Группы)

Определяет, что при изменении Значения Выражения Группы, начинается новая нумерация Листов Отчета.

Reprint group header on each page (Повторение Заголовка Группы на каждом новом Листе Отчета)

Определяет, что заголовок группы данных повторяется после каждого верхнего Колонтитула каждого Листа Отчета; при этом предполагается, что отчет состоит из нескольких Листов.

Start group on new page when less than (Начать новый лист, если расстояние меньше, чем... )

Определяет минимальное расстояние до нижнего края Листа Отчета, при котором данные выводятся с нового Листа Отчета.

Note Совет

Данную опцию рекомендуется использовать в тех случаях, когда требуется обеспечить гарантированное отображение в отчете Заголовка Группы данных в нижней части Отчета, до нижнего Колонтитула Листа Отчета.
Insert (Вставка)

Вставляет пустой текстовый элемент в список выражений Группы, для того, чтобы определить новое выражение для Группировки Данных.

Delete (Удаление)

Удаляет выделенное выражение (переменную) в списке выражений Группировки Данных.

См. также

Другие ссылки

Работа с Группировкой Данных в Отчетах
Диалоговые Боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Database Properties Dialog Box

Visual FoxPro 9.0
Диалоговое окно Database Properties
Смотрите также

Database Properties Dialog Box

Это диалоговое окно позволяет вам настроить вид, с которым будет отображаться дизайнер базы данных, выбрать объекты базы данных, которые будут отображаться в дизайнере, такие как таблицы, отношения, локальные и удаленные представления. Кроме того, вы можете добавить комментарий. Используйте это диалоговое окно для показа или скрытия объектов в схеме вашей базы данных.

Это диалоговое окно появляется, когда вы выберите пункт Properties из меню Database в главном меню Visual FoxPro при открытом дизайнере базы данных, или выберите этот же пункт из контекстного меню, выводимого при щелчке по правой клавише мыши в чистом месте дизайнера.

Диалоговое окно имеет два блока - Events и Display, поле для ввода комментария и ряд командных кнопок.

Events

В элементе Listsbox перечислены все возможные события для контейнера базы данных.

Чек-бокс Set Events On

Определяет - будут ли разрешены в design иrun time события контейнера базы данных - DBC Events - в текущей сессии Visual FoxPro.

Чек-бокс Events File

Позволяет указать внешний файл, который содержит код события контейнера базы данных.

Командная кнопка Edit Code

Открывает редактор Visual FoxPro, что позволяет вам ввести код в текущее выбранное событие контейнера базы данных в файл хранимых процедур или в указанный внешний файл.

Чек-бокс Tables

Отметка в этом чек-боксе позволяет показывать таблицы в схеме базы данных; ее снятие - скроет таблицы в схеме базы данных, отображаемой в дизайнере базы данных.

Чек-бокс Relations

Отметка в этом чек-боксе позволяет показывать линии отношений между таблицами в схеме базы данных; ее снятие скроет эти линии в схеме базы данных, отображаемой в дизайнере базы данных.

Чек-бокс Local Views

Отметка в этом чек-боксе позволяет показывать локальные представления, созданные на данных, хранящихся в локальных таблицах; ее снятие скроет локальные представления в схеме базы данных, отображаемой в дизайнере базы данных.

Чек-бокс Remote Views

Отметка в этом чек-боксе позволяет показывать представления, созданные на данных, хранящихся в удаленном источнике данных; ее снятие скроет удаленные представоения в схеме базы данных, отображаемой в дизайнере базы данных.

Поле Comment

Предоставляет простанство, в котором вы можете внести комментарий о схеме базы данных.

Смотрите также

Задачи

How to: View and Set Database Properties

Прочие ресурсы

Диалоговое окно Connections
Диалоговое окно Arrange Tables and Views
Диалоговое окно New Local View
Диалоговое окно New Remote View
Диалоговое окно Edit Relationship
Диалоговое окно Find Table or View

Концепции

Дизайнер баз данных (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Define Window Layout Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс Настройки формата Окна
См. Также

Данный сервис позволяет определить характеристики окна пользователькой инструментальной линейки (toolbar).

View Name (имя окна)

Определяет имя текущего окна форматирования (window layout).

View (просмотр)

Представлен список возможных форматов Окна.

Apply (применить)

Конфигурирует текущее окно в соответствие с выбранным форматом.

Add (добавить)

Добавляет заданное имя Формата в представленный список форматов окон.

Delete (удалить)

Удаляет текущий выбранный Формат из рассматриваемого Списка.

Rename (переименовать)

Позволяет задать новое имя текущего окна форматирования.

См. также

Задачи

Как: Конфигурировать Инструментарий (ToolBars) Visual FoxPro

Описание

Диалоговый Бокс "General Options"
DEFINE WINDOW, команда
Дизайнеры Меню и Меню типа "Shortcut"
Диалоговый Бокс "Tab Order"
Диалоговый Бокс "Toolbars"

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Delete (Records) Dialog Box

Visual FoxPro 9.0
Диалоговое окно Delete (Records)
Смотрите Также

Позволяет вам помечять записи на удаление. Соответствует команде DELETE.

Данная команда не удаляет записи физически, а только помечает их, указывая, что их следует удалить в будущем. Чтобы окончательно удалить записи с жесткого диска, воспользуйтесь командой Remove Deleted Records меню Table.

Scope

Позволяет определять записи над которыми будет производить действиеVisual FoxPro. Выберите Next, All, Record или Rest из выпадающего списка. Выберите номер в щетчике справа от выбраного Next или Record из выпадающего списка Scope.

For

Отображает диалоговое окно Expression Builder для создания логического выражения, которому должна удовлетворять каждая запись для того, чтобы подвергнуться воздействию данной команды. Проверку с помощью выражения For проходят все записи в таблице..

While

Отображает диалоговое окно Expression Builder. Выражение While задает, что данному воздействию записи подвергаются, пока это логическое выражение остается истинным. Как только встретится запись, для которой выражение имеет значение "ложь", обработка прекращается без рассмотрения оставшихся записей.

Delete

Удаляет записи, руководствуясь значениями Scope, For и While.

Смотрите Также

Справочное руководство

Команда DELETE
Диалоговое окно Expression Builder
Диалоговое окно Recall (Records)
Диалоговое окно Scope
Диалоговое окно Replace Field

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Description Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Description
См. Также

Обеспечивает возможностью ввести краткие комментарии для рассматримаемого объекта (создаваемого или редактируемого).

Данный диалоговый бокс выводится на экран при нажитии на кнопку Edit Description в службе Project Manager, или в меню Project.

Description

Определяет краткое описание рассматримаемого файла.

См. также

Описание

Свойство Description (Visual FoxPro)

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Do Dialog Box

Visual FoxPro 9.0
Диалоговое окно Do
См. так же

Позволяет Вам выбрать программу или файл формы для исполнения.

Это диалоговое окно появляется, когда вы выбираете Do из меню Progrаm.

Сокращение

CTRL+D

Do (поле для ввода текста)

Указывает на программу или файл формы для исполнения. Чтобы запустить выполнение программы или формы, нужно отметить имя из списка и нажать Do, или щелкнуть дважды на имени файла. Вам показанны файлы программ текущего каталога с расширениями .app, .fxp, .mpr, .prg, .qpr, или .src, которые соответствуют типу, указанному в поле Типы файлов.
Do (кнопка)

Устанавливает папку по умолчанию, что содержит выбранную программу или форму и виполняет программу или форму.

См. также

Другие Ресурсы

Диалоговые Окна
DO Команда
Компиляция приложения
Тестирование и отладка приложений
DoCmd Метод

Присылайте замечания по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Edit Bands Dialog Box

Visual FoxPro 9.0
Диалоговое Окно Edit Bands (Редактировать Область Отчета)
Смотри Также

Отображает список имеющихся областей отчета, таким образом, вы можете изменить настройки выбранной вами области отчета.

Report band list
(Список областей отчета)

Отображает список областей в раскладке отчета или этикетки. Дважды щелкните мышкой или нажмите Enter на названии области для редактирования.

Смотри Также

Другие Источники

Работа с Областями Отчета
Работа с Отчетами
Диалоговые Окна

Отправьте ваши комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


Edit Links Dialog Box

Visual FoxPro 9.0
Редактирование OLE-ссылок, диалоговый бокс
Смотрите Также

Инструментарий данного диалогового бокса позволяет вам Изменять и Разрывать объектные связи, установленные ранее для Полей типа General c соответствующими, связанными Объектами OLE. Рассматриваемые пункты Меню активируеются в тот момент, когда вы открываете указанное Поле Таблицы типа General, в котором размещается OLE объект, созданный в другом Приложении.

Links (Ссылки)

Отображаются Имена и полные пути к связанным файлам объектов OLE, типы соответствующих Приложений, OLE-Серверов, а также типы Обновления данных ссылок (возможности обновления).

Source (Источник)

Отображается полное имя и размещение Объекта, выбранного в соответствующем поле Link.

Type (Тип)

Отображается соответствующее Приложение, Сервер, с помощью которого обрабатывается объект, указанный в Поле Link.

Update (Обновить)

Определяет варианты обновления Инвормации в рассматриваемом Объекте OLE:

  • Веберите: Automatic, тогда Visual FoxPro обновляет требуемую информацию автоматически, как только она доступна.

  • Выбкрите: Manual, тогда информация обновляется для выбранной Ссылки при нажании на кнопку Update Now (Обновить сейчас).

Update Now (Обновить сейчас)

Выполняется попытка обновить ссылку, указанную в поле Link. Если информация обновлены, то изменяются соответствующие графические Объектв в Отчетах и Формах.

Open Source (Открыть Источник)

Открывает выбранный Объект (файл) в соответствующем Приложении, для редактирования.

Change Source (Изменить Источник)

Активируется Диалоговый бокс Change Source (Изменить Источник), в котором вы можете выбрать другой объект OLE (файл) для выбранной Ссылки; подкорректировать другие параметры ссылки.

Break Link (Разорвать Соединение, ссылку)

Прерывает выбранную Ссылку на объект OLE. После данных изменений вы не сможете корректировать выбранный графический Объект.

См. также

Задачи

Как: Добавить Объекты OLE в Приложение
Как: Обновить объектные ссылки, содержащиеся в Таблицах и Базах Данных

Описание

Редактирование Свойств, диалоговый бокс
Системное Окно General Field
Изменение Иконки, диалоговый бокс

Концепции

Доступ к Изменяемой Информации

Другие ссылки

Диалоговые Боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Edit Properties Dialog Box

Visual FoxPro 9.0
Диалоговое окно Edit Properties
Смотрите также

Это диалоговое окно дает Вам возможность определить установки редактирования для текущего окна редактирования или установить настройки цвета и шрифта для всех сессий редактирования.

Это диалоговое окно появляется, когда вы выбираете "Properties" из меню быстрого вызова любого окна редактирования или когда вы выбираете "Properties" в меню "Edit".

Behavior (поведение)

Установки в этой области влияют только на текущее окно редактирования.

Drag-and-drop editing

Разрешает перетаскивать мышкой редактируемый текст.
Wordwrap

Переносит слова в окне на следующую строку. Wordwrap доступен только если подсветка синтаксиса установлена в OFF. Подробнее смотрите Закладка Editor, Диалогового окна Options.
Automatic indent

Автоматически делает в тексте отступ по первой строке. Это не влияет на вид, в котором текст сохраняется.
Embedded hyperlinks

Позволяет вам указать - будут ли ли включены гиперссылки в выбранный тип файлов.

Appearance (внешний вид)

Разрешает Вам контролировать размер, стиль, цвет и другие характеристики текста.

Alignment

Задает тип выравнивания текста - влево, по центру или вправо.
Font

Изменяет шрифт в окне редактирования. Кликните по кнопке (...) для вызова диалогового окна "Font".
Show line/column position

Разрешает отображать в статусной строке главного окна, позицию и номер колонки. Номер строки не отображается, если разрешен "wordwrap" (перенос слов).
Syntax coloring

Разрешает подсветку для элементов синтаксиса. Вы можете установить только если "wordwrap" установлено в OFF. Подробнее смотрите Закладка Editor, Диалогового окна Options.
Display white space

Позволяет вам указать - будут ли отображаться пробелы, табуляции, параграфы как символы в текущем окне редактирования. Эта опция доступна, если вы работаете в редакторе текстов. Маркеры параграф (перевод строки) появляется, только если опция "wordwrap" разрешена. Для отображения непечатаемых символов, выберите "View White Space" в меню "Format".
Note:
Опция "View White Space" не поддерживается в двухбайтных символьных наборах (DBCS).

Save Options (опции сохранения)

Позволяет Вам управлять характеристиками сохраняемых файлов. Доступные опций сохранения зависят от типа файла, который вы открыли.

Make backup copy

Определяет, что Visual FoxPro создает резервную копию каждый раз при сохранении файла. Резервная копия сохраняется с тем же именем файла и расширением .bak в вашей папке проекта Visual FoxPro.
Save with line feeds

Сохраняет файл с символами перевода строки, которые будут введены в него. Если этот блок не выбран, переводы строки удаляются при сохранении файла. Подробнее смотрите Свойство AddLineFeeds.
Save with end-of-file marker

При сохранении помещает символ CTRL+Z в конец файла. При сохранении, этот дополнительный символ, помогает определить разницу между нормальным редактированием и MODIFY MEMO. Подробнее смотрите Команда MODIFY MEMO.
Compile before saving (Program editor)

Определяет, что при сохранении файла, Visual FoxPro автоматически откомпилирует программу и проверит ошибки синтаксиса.
Save preferences

Определяет, что установки для открытого файла и для всех остальных окон такого же типа, сохраняются как установки по умолчанию, при следующих открытиях. Если опция "Save preferences" не выбрана, установки сохраняются только для данного открытого окна.
Apply to method code (Form or Class Designer)

Устанавливает текущие установки установками по умолчанию для всех методов форм и классов.
Apply to menu code (Menu Designer)

Устанавливает текущие установки установками по умолчанию для всех процедур меню.
Apply to .PRG or .TXT files (Program or text editor)

Устанавливает текущие установки установками по умолчанию для .prg или .txt файлов.
Apply to memos (Memo field editor)

Устанавливает текущие установки установками по умолчанию для memo полей.

Indentation (отступы)

Позволяет вам указать размер и поведение при вводе отступов с помощью пробелов или табуляции.

Tab size

Указывает ширину, в символах, для табуляции для текущего выбранного типа файла. Допустимый диапазон лежит в пределах от 1 до 50. Значением по умолчанию является 4.
Indent size

Указывает ширину, в символах, отступа параграфа для текущего выбранного типа файла. Если это значение отличается от размера, определенного для табуляции, до создания указанного значения используются дополнительная табуляция или необходимое количество пробелов. Допустимый диапазон лежит в пределах от 1 до 50. Значением по умолчанию является 4.
Insert spaces

Определяет, что при нажатии клавиши табуляции вместо символов табуляции будут вставляться пробелы для текущего выбранного типа файла. Значением по умолчанию является 4.
Keep tabs

Определяет, что для текущего выбранного файла при нажатии клавиши табуляции будут вставляться символы табуляции (значение по умолчанию).

File Information (Program or text editor)

Позволяет вам задать системные характеристики сохраняемого файла.

File Name

Определяет имя и путь к файлу программы или текстовому файлу, который редактируется.
Size

Определяет размер програмы или тектового файла который редактируется.
Last Saved

Дата и время последнего сохранения программы или текстового файла на диск.

Смотрите также

Прочие ресурсы

Диалоговые окна
Команда MODIFY MEMO
Диалоговое окно Edit Links
Диалоговое окно Font
Диалоговое окно Change Icon
Как: Просмотреть и установить Свойства Базы Данных
Диалоговое окно Edit Property/Method
Свойство EditorOptions
Как: Определить Параметры Редактора

Send comments about this topic to Microsoft. c Microsoft Corporation. All rights reserved.


Edit Property/Method Dialog Box

Visual FoxPro 9.0
Диалоговое окно Edit Property/Method (Редактирование свойства/метода)
Смотрите также

Позволяет вам редактировать существующие свойства и методы или добавлять новые свойства и методы.

Это диалоговое окно появляется, когда вы выбираете в меню Form (Форма) пункт Edit Property/Method (Редактировать свойство/метод), что доступно при открытом конструкторе форм или когда вы выбираете аналогичный пункт из меню Class (Класс), которое появляется при открытом конструкторе класса.

Note Замечание

Для форм и наборов форм, свойство или метод относится либо к отдельной форме, либо к набору форм, в зависимости от того, к чему применимо.

Property/Method Information (Информация о свойстве/методе)

Отображает информацию о свойствах и методах, добавленных в форму, набор форму или класс. Вы можете сортировать колонки по возрастанию или убыванию по алфавиту щелчок по заголовку колонки. Вы можете изменять размер колонок щелкнув на разделителе колонок и перетащив его на нужное расстояние.

Колонка Описание

Name (Имя)

Имя каждого свойства и метода.

Type (Тип)

Свойство (P) или метод (M).

Access

Указывает, имеет ли свойство соответствующий метод Access. Yes (Да) указывает, что свойство имеет метод Access, No (Нет), указывает, что такого метода у свойства не имеется.

Assign

Указывает, имеет ли свойство соответствующий метод Assign. Yes (Да) указывает, что свойство имеет метод Assign, No (Нет), указывает, что такого метода у свойства не имеется.

Visibility (Видимость)

Указывает область видимости свойства или метода. Для форм или наборов форм видимость свойств и методов всегда Public (Глобальная). Для класса видимость может быть Public (Глобальная), Protected (Защищенная) или Hidden (Скрытая).

Для получения более подробной информации смотрите описание Защита и скрытие членов класса.

Note Совет

В Class Designer (Конструкторе класса), вы можете установить одинаковый уровень видимости для все выбранных свойств и методов, отметив множество свойств и методов.

Note Замечание

Все глобальные свойства и методы появляются в библиотеке типов, создаваемой для файлов in-process .dll, а также для файлов out-of-process executable (.exe). Отметив множество свойств и методов и установив их видимость в Protected или Hidden, вы можете предотвратить выбранные свойства и методы от их появления в библиотеках типов.
New Property (Новое свойство)

Отображает диалоговое окно New Property (Новое свойство), позволяющее вам создать новое свойство. Для получения более подробной информации смотрите описание Диалоговое окно New Property (Новое свойство).

New Method (Новый метод)

Отображает диалоговое окно New Method (Новый метод) позволяющее вам создать новый метод. Для получения более подробной информации смотрите Диалоговое окно New Method (Новый метод).

Remove (Удалить)

Удаляет выбранное свойство или метод.

Property/Method Name (Имя свойства/метода)

Отображает имя текущего свойства или метода.

Access Method (Метод Access)

Определяет - имеет ли свойство метод Access, который исполняется каждый раз при запрашивании свойства. Установка метки в этом чек-боксе создаст для свойства метод Access. Снятие метки с этого чек-бокса удалит метод Access.

Assign Method (Метод Assign)

Определяет - имеет ли свойство метод Assign, , который исполняется каждый раз при попытке присвоить свойству новое значение или изменить его. Установка метки в этом чек-боксе создаст для свойства метод Assign. Снятие метки с этого чек-бокса удалит метод Assign.

Description (Описание)

Содержит описание свойства или метода, которое отображается внизу окна Properties (Свойства) при открытом Class Designer (Конструкторе класса) или, если свойство не является защищенным - при открытом Form Designer (Конструкторе форм).

Visibility - Видимость (только для классов)

Определяет область видимости свойства в классе - Public, Protected или Hidden.

Apply (Применить)

Применяет сделанные изменения к свойству или методу .

Close (Закрыть)

Закрывает диалоговое окно.

Смотрите также

Задачи

Как: изменить класс и атрибуты члена класса
Как: добавить в форму свойства и методы

Справочное руководство

Form Designer (Конструктор форм)
Окно Properties (Параметры) (Visual FoxPro)

Концепции

Методы Access и Assign Methods
Class Designer (Конструктор класса)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполен JS.


Edit Relationship Dialog Box

Visual FoxPro 9.0
Диалоговое окно Edit Relationship
Смотрите Также

Это диалоговое окно делает возможным редактирование постоянных отношений между таблицами. Подробние смотрите How to: Управление постоянными отношениями между таблицами.

Это диалоговое окно появляется, когда вы выбираете линию отношений (relationship line) в проектировщике базы данных и выбираете Edit Relationship из меню Database, или дважды щелкаете по линии отношений.

Table

Показывает имя текущей родительской таблицы и дает возможность выбрать другой тег индекса.

Related Table

Показывает имя текущей дочерней таблицы и дает возможность выбрать другой тег индекса.

Relationship Type

Показывает тип отношений между родительской и дочерней таблицами.

Referential Integrity

Отображает построитель ссылочной целостности, с помощью которого можно установить правила вставки, обновления и удаления записей в связанных отношением таблицах.

Note Note

Если таблицы еще не индексированы, то прежде чем пользоваться построителем ссылочной целостности, нужно открыть таблицы в конструкторе таблиц и создать индексы.

Смотрите Также

Концепции

Дизайнер базы данных (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Event Tracking Dialog Box

Visual FoxPro 9.0
Event Tracking (Отслеживание Событий), диалоговый Бокс
Смотрите Также

Позволяет Вам отследить, когда происходят некоторые События относительно других Событий (в Стэке событий). Используйте это диалоговое окно, чтобы определить самое эффективное место, чтобы включить ваш программный Код.

Данный диалоговый бокс отображается в тот момент, когда вы выбираете подпункт Event Tracking из системного меню Tools подсистемы Отладчика (Debugger Window).

Turn event tracking on (Включить подсистему отслеживания Событий)

Переключает механизм Отслеживания Событий (On / Off).

В том случае, когда подсистема Включена, при каждом системном Событии делается запись в Список состоявшихся Событий Events to track, имена событий отображаются в системном Окне Debug Output или записываются в Текстовый Файл.

Available events (Доступные, возможные События)

Отображаются Имена Событий, которые Не включены в процесс Отслеживания.

Note Совет

Если для вас нет Цели отслеживать каждое перемещение Мышки, исключите событие MouseMove из списка Отслеживаемых Событий. Событие MouseMove достаточно часто происходит, и засоряет ваш Протокол Отслеживания.
Events to track (Отслеживаемые События)

Отображаются все отслеживаемые События (те события, которые вы намерены Отслеживать).

Send Output To (Определить источник направления Отчета)

Debugger Output Window (Системное Окно вывода Отладчика)

Переключает вывод отслеживаемых Событий в системное окно вывода Отладчика Debug Output. Если данное окно не является Активным Debug Output, то список Событий не выводится, вам необходимо активировать указанное системное Окно Debug Output Window.

File (Файл)

Определяет пользовательский Файл для записи протокола Отслеживаемых Событий. Для этого используется стандартный диалоговый бокс для выбора файла (Open dialog box).

Append (Добавить)

Определяет, что Отслеживаемые События дописываются в конец существующего Файла.

Overwrite (Перезапись)

Определяет, что указанный файл для отслеживаемых Событий создается вновь (старая информация затирается).

См. также

Описание

Open, диалоговый бокс (Visual FoxPro)
Debug Output, системное окно
Debugger, системное окно
Меню и Контекстные Клавиши Отладчика (Debugger)
Coverage, диалоговый бокс
MouseMove, событие

Другие ссылки

Диалоговые Боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


EXE Version Dialog Box

Visual FoxPro 9.0
EXE Version, диалоговый бокс
Смотрите Также

Отображается номер Сборки вашей Программы или другая Информация о ней, если вы выполняете поддержку указанных характеристик.

Данный Диалоговый бокс активируется при нажатии на кнопку Version в соответствующем диалоговом боксе Build Options.

Version Number (Номер Версии)

Major (Старшая)

Отображается 4-х символьное цифровое слово, старшая версия; которое может быть отредактировано.

Minor (Младшая)

Отображается 4-х символьное цифровое слово, младшая версия; которое может быть отредактировано.

Revision (Редакция)

Отображается 4-х символьное цифровое слово, номер редакции, Сборки; которое может быть автоматически наращиваться (увеличиваться).

Auto Increment (автоматическое увеличение)

Когда данный флажек отмечен, номер редакции (Revision number) автоматически увеличивается при выполнении каждой Сборки (Компиляции) вашего Приложения.

Version Information (Информация о Версии)

Type (Тип)

Представляет собой Список Категорий дополнитнльной информации о данной Программе, которые могут быть определены; к ним относятся: Comments, Company Name, File Description, Legal Copyright, Legal Trademarks, Product Name, and Language ID. (Комментарии, Компания - Разработчик, Описание программного файла, Copyright, Торговая Марка, Имя Приложения, продукта, Идентификатор языка CP-ID)

Value (Значение)

Отображается Контрол типа EditBox, в котором вы можете ввести или отредактировать необходимую информацию из выбранной категории (смотрите предыдущий пункт).

См. также

Задачи

Как: Узнать последнюю версию программного Файла

Описание

GetLatestVersion, метод
VersionNumber, свойство
VersionTrademarks, свойство
VersionCopyright, свойство
Build Options, диалоговый бокс
Project Information, диалоговый бокс

Другие ссылки

Диалоговые Боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Execution Throttle Dialog Box

Visual FoxPro 9.0
Выполнение "Throttle" (дросселя), диалоговое окно
См. Также

Позволяет вам определить паузу (задержку), в секундах, которая будет выполняться между исполнение строк программного кода, размещенного в текущий момент в системном окне Trace Window. Данный диалоговый бокс отображается при выборе пункта Throttle из соответствующего меню Debug, системного окна Debugger.

Delay (seconds) (Пауза, в секундах)

Определяет продолжительность Задержки Выполнения строк программного кода, допустимый диапазон: 0.0 - 5.0 (секунд).

См. также

Описание

Trace, системное окно
Debugger, системное окно
Клавиатурные макросы, Короткие и общие меню подсистемы Отладки

Другие ссылки

Диалоговые Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Export Dialog Box

Visual FoxPro 9.0
Диалоговое окно Export
Смотрите Также

Экспортирует данные из таблиц Visual FoxPro в текстовый файл, электронную таблицу или таблицу обычного формата.

Это диалоговое окно появляется, когда Вы выбираете команду Export из меню File.

Type

Задает тип файла, подлежащего экспортированию. Выберите нужный тип из списка.

To

Задает путь и имя файла назначения. Наберите путь и имя файла или нажмите кнопку диалога, чтобы найти файл адресата.

Text delimiter

Позволяет разграничивать строки текста в выходном файле. Заданный по умолчанию текстовый разделитель - двойная цитата ("). Эта опция появляется только если выбрать Delimited Text из выпадающего списка Type.

Field separator

Делает возможным разделение полей данных в выходном файле. Заданный по умолчанию полевой разделитель - символ запятая (,). Эта опция появляется только если выбрать Delimited Text из выпадающего списка Type.

From

Задает путь и имя файла-источника. Наберите путь и имя файла или нажмите кнопку диалога, чтобы найдите исходный файл.

Options

DОтображает диалоговое окно Export Options, в котором можно задать записи и поля, которые необходимо экспортировать.

В следующей таблице приведены типы файлов, которые можно экспортировать с помощью данного диалогового окна, и эквивалентные команды, выполняющие то же самое при запуске из окна команд:

Тип файла | Эквивалентная команда
Data Interchange Format (DIF) | COPY TO FileName TYPE DIF
DBASE IV (DBF) | COPY TO FileName FOX2X
Delimited Text | COPY TO FileName TYPE DELIMITED
FoxBASE+ (DBF) | COPY TO FileName FOXPLUS
FoxPro for Windows 2.x (DBF) | COPY TO FileName FOX2X
Lotus 1-2-3 1-A (WKS) | COPY TO FileName TYPE WKS
Lotus 1-2-3 2.x (WK1) | COPY TO FileName TYPE WK1
Microsoft Excel 2.0, 3.0, and 4.0 (XLS) | COPY TO FileName TYPE XLS
MultiPlan 4.01 (MOD) | COPY TO FileName TYPE MOD
Symbolic Link Format | COPY TO FileName TYPE SYLK
Symphony 1.01 (WRK) | COPY TO FileName TYPE WRK
Symphony 1.10 (WR1) | COPY TO FileName TYPE WR1
System Data Format (SDF) | COPY TO FileName TYPE SDF
Visual FoxPro (DBF) | COPY TO FileName

Смотрите Также

Справочное руководство

Диалоговое окно Export Options
Окно команд (Visual FoxPro)
Команда COPY TO
Команда EXPORT
Диалоговое окно Import

Концепции

Экспорт данных

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Export Options Dialog Box

Visual FoxPro 9.0
Диалоговое окно Export Options
Смотри Также

Задает записи и поля, подлежащие экспортированию. Данный диалоговое окно отображается при нажатии кнопки Options в диалоговом окне Export. Для более детальной информации, смотри Диалоговое окно Export .

Criteria

Данные опции определяют, какие записи и поля следует экспортировать и на каких условиях

Scope

Отображает диалоговое окно Scope, в котором можно указать, сколько записей следует экспортировать. Для более детальной информации, смотри Диалоговое окно Scope.
For

Отображает диалоговое окно Expression Builder, в котором происходит создание логического выражения условия экспортирования: чтобы запись можно было экспортировать, она должна удовлетворять этому выражению.
Для более детальной информации, смотри Диалоговое окно Expression Builder (Построитель выражений) .
While

Отображает диалоговое окно Expression Builder, в котором происходит создание логического выражения типа WHILE: чтобы записи можно было экспортировать, это выражение должно быть истинным.
Для более детальной информации, смотри Диалоговое окно Expression Builder (Построитель выражений) .
Fields

Отображает диалоговое окно Field Picker, в котором происходит выбор экспортируемых полей. Для более детальной информации, смотри Диалоговое окно Field Picker (Выбор полей) .

Смотри также

Прочие ресурсы

Диалоговые окна
Команда EXPORT
Экспорт данных

Перешлите коментарий к этой статье в Microsoft. © Microsoft Corporation. Все права защищены.


Expression Builder Dialog Box

Visual FoxPro 9.0
Диалоговое Окно Построителя Выражений (Expression Builder Dialog Box)
См. также

Позволяет создавать и редактировать выражения. Построитель Выражений предоставляет списки соответствующих опций и может быть открыт из различных конструкторов, окон, построителей и мастеров.

Чтобы создать выражение, введите его в боксе Expression или выберите подходящую строку из списка Functions. Выражение может быть простым, например именем поля, или сложным, например вычисляемым, включающим в себя функции, конкатенации и преобразование данных.

Expression (Выражение)

Отображается выражение, которое вы создаете или редактируете.

Note Совет

Вы можете использовать для ввода выражений в Expression Builder более 255-и символов, в том числе расширенные символы, например такие, как CHR(13) (возврат каретки) и CHR(10) (перевод строки). При желании, бокс Expression в Expression Builder поддерживает цветовой синтаксис и фоновую компиляцию. Более подробно это описано в разделе Руководство : Отображение и Печать Исходного Кода в Цвете.

Caution note Предупреждение

Значения свойств, которые превышают 255 символов или включают расширенные символы, заполняются символами CHR(1). Однако классы из библиотек визуальных классов(.vcx), которые имеют свойства с такими значениями, не могут быть использованы в версиях младше Visual FoxPro 9.0. Попытка модификации этих классов в ранних версиях приведет к ошибке. Все же, вы можете использовать другие классы из той же визуальной библиотеки класса (.vcx) в предшествующих версиях Visual FoxPro до тех пор, пока значение их свойств не превысит 255 символов или не будет включать расширенные символы.

Functions (Функции)

Отображается список типов функций. Когда вы выбираете функцию одного из четырех типов, то Visual FoxPro автоматически вставляет ее в поле выражения. При построении выражения для удаленного представления, Visual FoxPro показывает в списке только функции, специфичные для целевых конечных данных.

  • String Список доступных символьных функций для работы со строками.

  • Logical Список доступных логических функций.

  • Math Список доступных математических функций.

  • Date Список доступных функций для работы с датой и временем.

Fields (Поля)

Отображается список полей в текущей таблице или представлении.

Для вставки поля в бокс Expression дважды кликните левой кнопкой мышки на нем или выберите поле с помощью клавиатуры и нажмите ENTER.

Для отображения полей из разных таблиц, выбирайте разные таблицы в боксе From Table.

From Table (Из Таблицы)

Отображается список открытых таблиц и представлений. Для обновления бокса Fields выберите нужную вам таблицу или представление.

Variables (Переменные)

Отображается список системных переменных, массивов и переменных памяти, которые вы создали.

Для вставки переменной в бокс Expression, также, дважды кликните левой кнопкой мышки на ней или выберите ее с помощью клавиатуры и нажмите ENTER.

Verify (Проверка)

Подтверждает синтаксическую правильность выражения из бокса выражений, при условии, что соответствующая таблица открыта. Если выражение правильное, то в статусной строке отображается сообщение "Expression is valid". Если же выражение не правильное или соответствующая таблица не открыта, то Visual FoxPro отобразит сообщение об ошибке. Эта опция не доступна для удаленных представлений.

Caution note Предупреждение

При включении в выражение пользовательской функции отображается сообщение об ошибке. Однако во время выполнения программы ошибка в выражении может и не произойти.

Options (Опции)

Отображается диалоговое окно Options Построителя Выражений, которое можно использовать для установки предпочтений в Expression Builder. Более подробно это описано в разделе Диалоговое Окно Options Построителя Выражений.

В следующей таблице описываются некоторые полезные функции для манипуляции строками в выражениях.

Если вы хотите | То используйте функцию
Удалить из символьного выражения лидирующие и конечные пробелы | ALLTRIM(В )
Удалить лидирующие пробелы | LTRIM(В )
Удалить конечные пробелы | RTRIM(В )
Добавить определенные символы слева, справа или с обеих сторон строки | PADL(В ) | PADR(В ) | PADC(В )
Работать с определенной частью символьной строки | SUBSTR(В )
Использовать определенное количество символов строки слева | LEFT(В )
Использовать определенное количество символов строки справа | RIGHT(В )
Изменять строчные символы в прописные и наоборот | UPPER(В ), LOWER(В )
Сделать прописными первые буквы всех слов строки | PROPER(В )
Преобразовать цифровое поле в символьную строку | STR(В )

См. также

Ссылки

Функция IIF( )
Функция ISLOWER( )
Команда SET ANSI
Команда SET EXACT

Другие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Expression Builder Options Dialog Box

Visual FoxPro 9.0
Expression Builder Options (Параметры Построителя), диалоговый бокс
Смотрите Также

Определение Предпочтительных наборов параметров, отображаемых в Построителе выражений (Expression Builder). Данный диалоговый бокс активируется при нажатии на кнопку Options в Диалоговом Боксе Expression Builder.

Functions (Функции)

Позволяет вам Изменить (или Заменить) наборы системных Функций, представляемые в группах: String, Math, Logical, Date, используемых при работе Построителя Выражений. Вы можете определить отображение Всех имен имеющихся Функций, или выбрать только требуемые для вас Функции для каждой Группы. Для Отметки (или снятия Метки) для конкретного Элемента Списка - используется комбинация: Кнопка мышки + клавиша CTRL.

String (строковые)

Отображаются Все строковые Функции. Все выделенные имена функций будут представлены в Построителе Выражений.

Math (математические)

Отображаются Все математические Функции. Все выделенные имена функций будут представлены в Построителе Выражений.

Logical (логические)

Отображаются Все логические Функции. Все выделенные имена функций будут представлены в Построителе Выражений.

Date (обработка Даты)

Отображаются Все Функции для обработки Даты. Все выделенные имена функций будут представлены в Построителе Выражений.

Note Обратите Внимание

Отдельный Элемент в списке выбирается комбинацией: CTRL+left mouse button. Для выбора нескольких Элементов в Списке: Mouse left-clicking - для первого Элемента в Группе + SHIFT+left mouse button - для последнего Элемента в Группе Списка .
All (Все)

Выбираются Все имеющиеся (доступные) функции для отображения в соответствующем боксе Построителя Выражений.

Clear (Очистить)

Снимается Отметка у всех имен функций, эти функции невозможно будет выбрать в Построителе Выражений.

Field Aliases (Доступ к Полям Таблиц)

Следующие параметры определяют, как будут использоваться имена Полей Таблиц в создаваемых Выражениях (вместе с алиасами, или без них).

Always Add Alias (Всегда добавлять Алиас таблицы)

Определяет, что Имя Таблицы или Представления (алиас) всегда будут предшествовать используемым Именам Полей.

Add Non-Selected Alias Only (Добавлять алиасы Невыделенных (нетекущих) таблиц или Представлений)

Определяет, что при работе с несколькими Таблицами или Представлениями, Visual FoxPro добавляет к именам Полей соответствующие Алиасы только для тех Таблиц или Представлений, которые не выделены в списке открытых Таблиц или представлений, смотрите Data Session, системное Окно. Для Таблиц или Представлений, которые Отсутствуют в рассматриваемом списке Aliases - их имена не добавляются слева от имен требуемых Полей.

Never Add Alias (Никогда не добавлять Алиасы)

Определяет, что имена Таблиц или Представлений никогда не добавляются слева от требуемых Полей, участвующих при построении выражения.

Show System Memory Variables (Показывать имена системных переменных)

Определяет, будут ли отображаться в специальном Списке имена Системных Переменных или имена уже созданных Пользовательских глобальных Переменных. Выключите данный параметр, если вам требуются только системные Переменные.

См. также

Описание

Data Session, системное окно
Expression Builder, диалоговый бокс
_TEXT, системная переменная

Другие ссылки

Диалоговые Боксы (системные диалоговые окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


Field Picker Dialog Box

Visual FoxPro 9.0
Field Picker, диалоговый бокс
Смотрите Также

Позволяет вам выбирать Поля Таблиц.

Когда открывается данный диалоговый бокс, то вы можете выбирать только доступные Поля (относительно установленного Фильтра Полей), из соответствующей Рабочей Области, которая выбирается или устанавливается в диалоговом боксе Work Area Properties; выбранные Поля Таблиц будут доступны для отображения соответствующих Данных в системном окне Browse. Остальные Поля, не выбранные представленным инструментом не будут доступны для Изменения. Однако, данные из этих полей не будут изменяться. Дополнительную информацию смотрите в разделе: Work Area Properties, диалоговый бокс.

Данный диалоговый бокс активируется, когда вы выбираете кнопку Field Filter в диалоговом боксе Work Area Properties или кнопку Fields, соответственно в: Quick Report, диалоговый бокс, Append From Options, диалоговый бокс, или Export Options, диалоговый бокс.

All Fields (Все Поля)

Используются (отображаются) все имена Полей из текущей Таблицы (исходный список).

Selected Fields (Выбранные Поля)

Отображаются имена Полей, выбранные из списка полей All Fields, и перенесенные, при нажатии на кнопк Move.

From Table (Из Таблицы)

Определяет Алиас Таблицы, имена полей которой отображаются в Списке All Fields (смотрите выше).

Move (Перенести)

Копирует выбранное Поле из списка All Fields - в список Selected Fields.

All (Все)

Копирует имена Всех Полей из списка All Fields - в список Selected Fields.

Remove (Исключить)

Исключает отмеченное поле из списка выбранных Полей Selected Fields (обратно в Исходный список).

Remove All (Исключить Все)

Исключает все выбранные Поля из списка назначения Selected Fields.

См. также

Описание

Append From Options, диалоговый бокс
Export Options, диалоговый бокс
Quick Report, диалоговый бокс
Work Area Properties, диалоговый бокс

Другие ссылки

Диалоговые боксы (окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


File Finder Dialog Box

Visual FoxPro 9.0
Диалоговое окно поиска файла
Смотрите также

Выполняет поиск, основываясь на указанных критериях.

Find Now (Найти сейчас)

Выполняет поиск файла на основе опций, которые Вы указали на закладках опций объекта Filer.

Edit (Изменить)

Открывает выбранный в списке результатов поиска "Search results" файл для редактирования.

New Search (Новый поиск)

Очищает все опции, указанные на закладках "Text Search", "Date Modified" и "File Attributes". Устанавливает их в значения по умолчанию.

Search result (Результат поиска)

Отображает расположение найденных файлов. Двойной щелчок клавиши мыши на файле в списке "Search result" открывает файл на редактирование. Для того чтобы открыть несколько файлов на редактирование, выберите несколько файлов и нажмите кнопку "Edit".

Опции объекта Filer сгруппированы в следующих закладках.

Закладка | Доступ к свойствам
Name and Location | Дает возможность указать имя, расширение и расположение искомых файлов.
Text Search | Дает возможность указать текстовые строки, которые должны содержаться в искомых файлах.
Date Modified | Дает возможность указать даты создания, изменения и последнего доступа к искомым файлам.
File Attributes | Дает возможность указать размер и атрибуты искомых файлов.

Name & Location (Закладка "Имя и расположение")

Named (Имя)

Указывает файл, который Вы хотите найти. Вы можете указать имя файла и расширение или любую часть имени и расширения, используя символы обобщения (звездочка и вопросительный знак). Можно указать несколько спецификаций файла через точку с запятой. Например, для того чтобы найти все файлы с расширениями ".prg" и ".app", введите строку "*.prg;*.app" (без кавычек).

Щелкните левой клавишей мыши по стрелке расположенной справа для того, чтобы отобразить выпадающий список расширений файлов обычно используемых в Visual FoxPro.

Look in (Смотреть в)

Указывает директорию, в которой следует осуществлять поиск. Щелкните левой клавишей мыши по стрелке расположенной справа для того, чтобы отобразить выпадающий список директорий, которые Вы определяли ранее в данной сессии работы с объектом Filer.

Browse (Просмотреть)

Отображает диалоговое окно для выбора директории "Select Directory", для того, чтобы Вы имели возможность выбрать директорию, в которой следует осуществлять поиск.

Include Subfolders (Включать поддиректории)

Если данный переключатель установлен, то поиск будет осуществляться также и в поддиректориях. Обратите внимание, что объект Filer игнорирует системные директории.

Text Search (Закладка "Поиск текста")

Expression 1

Текстовая строка, которая должна быть в файле, соответствующем критериям, указанным на закладке "Имя и расположение" ("Name & Location").

Expression 2

Дополнительная текстовая строка для поиска. Игнорируется, если Expression 1 пустое.

Expression 3

Дополнительная текстовая строка для поиска. Игнорируется, если Expression 1 и Expression 2 пустые.

Contains any matching words (Содержит любое из указанных слов)

Если выбрано данное положение переключателя, то искомый файл должен содержать хотя бы одну из текстовых строк, указанных в Expression 1, Expression 2 и Expression 3.

Contains all matching words (Содержит все указанные слова)

Если выбрано данное положение переключателя, то искомый файл должен содержать все текстовые строки, указанные в Expression 1, Expression 2 и Expression 3.

Match case (Учитывать регистр)

Если установлен этот переключатель, то поиск текстовых строк, указанных в Expression 1, Expression 2 и Expression 3 осуществляется с учетом регистра букв (большие или маленькие).

Match whole words (Искать целые слова)

Если установлен этот переключатель, то текстовые строки, указанные в Expression 1, Expression 2 и Expression 3 ищутся как целые слова, а не фрагменты слов.

Date Modified (Закладка "Дата изменения")

All Files (Все файлы)

Если переключатель установлен в это положение, то даты создания, изменения и последнего доступа к файлу не контролируются при поиске.

Find all files created or modified (Искать по дате создания и модификации)

Если переключатель установлен в это положение, то выполняется поиск файлов, у которых дата создания или модификации между или до указанных дат.

Find all files last accessed (Искать по дате последнего доступа)

Если переключатель установлен в это положение, то выполняется поиск файлов, у которых дата последнего доступа между или до указанных дат.

Between (Между)

Данные опции доступны для изменения, когда выбрано значение переключателя Find all files created or modified или Find all files last accessed. Определяет диапазон дат, между которыми искомый файл должен быть создан, изменен или к нему последний раз получали доступ.

During the previous month(s) (В течение предыдущих месяцев)

Данная опция доступна для изменения, когда выбрано значение переключателя Find all files created or modified или Find all files last accessed. Определяет количество предшествующих от текущей даты месяцев, в течение которых искомый файл должен был быть создан, изменен или к нему последний раз получали доступ.

During the previous day(s) (В течение предыдущих дней)

Данная опция доступна для изменения, когда выбрано значение переключателя Find all files created or modified или Find all files last accessed. Определяет количество предшествующих от текущей даты дней, в течение которых искомый файл должен был быть создан, изменен или к нему последний раз получали доступ.

File Attributes (Закладка "Атрибуты файла")

Size is (Размер)

Определяет, что искомый файл должен быть меньше (at least) или больше (at most) указанного размера (в килобайтах).

Exclude files with these attributes (Исключить файлы со следующими атрибутами)

Read-only

Исключить файлы, которые имеют атрибут "read-only" (только чтение).

Archive

Исключить файлы, которые имеют атрибут "archive" (архив).

Hidden

Исключить файлы, которые имеют атрибут "hidden" (скрытый).

System

Исключить файлы, которые имеют атрибут "system" (системный).

Смотрите также

Ссылки

Диалоговое окно Options (Настройки) (Visual FoxPro)
Окно отладчика (Debugger)
Beautify Options (Параметры Улучшений), диалоговый бокс
Диалоговое окно Macros
Диалоговый бокс Выбора Мастера

Другие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Find Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Find (Поиск) (Visual FoxPro)
Смотрите также
CollapseAll image

Это диалоговое окно содержит опции, которые позволяют вам осуществить поиск текста. Visual FoxPro добавил несколько способов обратиться к диалоговому окну Find (Поиск) с помощью клавиатуры.

Клавиши или комбинации | Описание
CTRL+F | Вызывается диалоговое окно Find (Поиск).
CTRL+L | Вызывается диалоговое окно Replace (Replace).
F3 | Производится повторный поиск (без открытия диалогового окна) или открывается диалогового окно Find (Поиск).
CTRL+F3 | Критерий поиска обновляется словом или выделенными символами в позиции курсора мыши.
CTRL+SHIFT+F3 | Критерий поиска обновляется словом или выделенными символами в позиции курсора мыши для предыдущего вхождения.
Look For (Искать)

Указывает текст, который будет искаться в тексте программы или метода, открытых в соответствующих редакторах.

Для поиска специальных символов, впечатайте приведенные ниже представления символов языка C в этом блоке ввода текста диалогового окна Find(Поиск).

Для поиска Напечатайте

Enter

\r

Tab

\t

Backslash

\\

New line (line feed)

\n

В Visual FoxPro поиск поддерживает модификаторы (*).

Область Options (Опции)

Эти опции определяют ограничения и направление поиска. Если вы указали текст для поиска и не получили ожидаемого результата, убедитесь, что у вас выбраны корректные опции.

  • Match Case (Учитывать регистр) Ищет текст, который строго соответствует комбинации заглавных и прописных букв, которую вы ввели в блоке ввода текста Look For (Искать).

  • Wrap Around (Обернуть) Ищет текст в текущем файле начиная с позиции ввода до конца файла, затем с начала файла до позиции ввода.

  • Match Whole Word (Учитывать полное слово) Ищет исключительное взожение слов, а не групп символов внутри слов.

  • Search Backward (Искать вверх) Ищет текст, начиная от текущей позиции курсора по направлению к началу файла.

  • Use wildcards (Использовать модификаторы) Позволяет вам использовать символы модификаторов в заданном для поиска тексте.

    Со снятой с этой опции меткой, будет производится стандартный поиск. Если же метка для опции установлена, то при поиске будут применяться приведенные ниже правила:

    Символ Описание Использование

    ?

    Любой одиночный символ

    Указывается в месте отсутствующего символа (Заменяет любой одиночный символ любым символов в этой позиции).

    *

    Отсутствие или множество символов

    Указывается в месте отсутствующего символа/символов.

    #

    Любоя одиночная цифра

    Указывается в месте отсутствующей цифры.

    <

    С начала слова

    Ищет выражение с начала слова.

    >

    Конец слова

    Ищет выражение в конце слова. Должен быть помещен после символа/набора символов для которых осуществляется поиск.

    [charlist]

    Набор символов

    Ищет на соответствие одному из указанных в скобках символов. Набор может представлять собой диапазон, разделенный знаком переноса (–) (например, [a-d]).

    [!charlist]

    Исключает символы из поиска

    Ищет на соответствие любому символу, за исключением указанных в квадратных скобках.

    \

    Escape (В данном случае - защита от ошибочного включения в поиск спецсимволов)

    Ищет на соответствие символу, следующего за обратным слэшем (\). Это позволяет вас искать символы, используемые в нотации регулярных выражений, таких как * и >. Например, позволяет изменить роль символа звездочки с модификатора на искомый символ.
Область Scope (Область поиска)

Определяет интенсивность поиска. Опции в Scope (Область поиска) разрешены, когда вы редактируете процедуру в окне Code (Программный код).

  • Current Procedure (Текущая процедура) Поиск осуществляется только в текущей процедуре, которая отображается в окне Code (Программный код).

  • Current Object (Текущий объект) Поиск осуществляется во всех процедурах (коде события) для текущего выбранного объекта.

  • All Objects (Все объекты) Поиск осуществляется во всех процедурах (коде события) во всех объектах текущей формы или набора форм. Если была выбрана опция Wrap Around, то поиск будет осуществляться только в текущем методе или событии.

Find Next (Найти следующее)

Ищет следующее вхождение строки, напечатанной вами в блоке ввода текста для поиска.

Replace (Заменить)

Расширяет диалог введением кнопки Replace All (Заменить все) и блока ввода замещающего текста Replace With (Заменить...), в котором вы можете указать текст замещения.

Expand image Смотрите также

Справочное руководство

Диалоговое окно Replace (Заменить)
Диалоговое окно Paste Special (Специальная вставка)
Диалоговое окно Go To Line (Перейти к строке) (Visual FoxPro)
Диалоговое окно Insert Object (Вставить объект)
Диалоговое окно Change Icon (Заменить иконку)
Диалоговое окно Edit Links (Отредактировать связи)
Окно Code (Программный код)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Find Table or View Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Find Table или View
См. Также

Обеспечивает возможностью закрепить вашу таблицу или представление за контейнером База Данных; данный бокс появляется при выборе Find Object в меню Database. См. дополнительно раздел Как: Найти таблицу или представление в Базе Данных.

Tables or Views

Отображается список объектов в вашей базе данных, которые нужно найти. если в этом списке нет интересующей Вас таблицы или Представления, - это значит, что они еще не закреплены за контейнером База Данных.

Find button

Выбирается и отображается информация об объектах в схеме Базы Данных.

См. также

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Font Dialog Box

Visual FoxPro 9.0
Диалоговое окно Font (Шрифт)
Смотрите также

Управляет типом шрифта, его стилем, и размером.

Вы можете изменить шрифты в текстовом файле, элементе управления Field или Label отчета или этикетки или в командном окне. Для изменения шрифта в отчете или этикетке необходимо создать элемент управления Field или Label и выбрать его.

Font (Шрифт)

Отображает список доступных шрифтов.

Font Style (Начертание)

Отображает список вариантов начертания (Regular (Обычный), Bold (Жирный), Italic (Курсив) или Bold Italic (Жирный курсив)), которые можно применить к шрифту или к выделенному тексту.

Size (Размер)

Отображает список допустимых размеров (в пунктах) для данного шрифта.

Effects (Видоизменения)

  • Strikeout (Зачеркнутый) Перечеркивает текст горизонтальной линией. Данная опция появляется, когда вы вызываете диалоговое окно Font (Шрифт) из конструктора отчетов или этикеток через строку Font ... пункта Format главного меню при выбранном элементе управления Field или Label.

  • Underline (Подчеркнутый) Подчеркивает выделенный текст. Данная опция появляется, когда вы вызываете диалоговое окно Font (Шрифт) из конструктора отчетов или этикеток через строку Font ... пункта Format главного меню при выбранном элементе управления Field или Label.

Color (Цвет)

Задает цвет для выделенного текста. Данная опция появляется, когда вы вызываете диалоговое окно Font (Шрифт) из конструктора отчетов или этикеток через строку Font ... пункта Format главного меню при выбранном элементе управления Field или Label.

Sample (Образец)

Показывает образец выбранного шрифта применив к нему установленные начертание, размер, эффекты и цвет, отображая заглавные и строчные буквы.

Script (Набор символов)

Предоставляет возможность выбрать языковой набор символов из всех доступных для установленного шрифта. Выберите языковой набор соответствующий настройке Вашего компьютера.

Смотрите также

Справочное руководство

Окно Просмотра (Browse)
Окно Редактирования (Editing)
Свойства FontBold, FontItalic, FontStrikethru, FontUnderline

Понятия

Краткий обзор Шрифтов

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Format (Field) Dialog Box

Visual FoxPro 9.0
Диалоговое окно Format (Field)
Смотрите также

Позволяет определить выражения формата для выводимой информации, сгенерированной элементами управления отчета Field в конструкторе отчетов или этикеток. Для дополнительной информации смотрите Выражения форматирования для управляющих элементов, связанных с полями.

Note Примечание

В зависимости от значения, установленного в системной переменной _REPORTBUILDER, это диалоговое окно может быть заменено альтернативным пользовательским интерфейсом. Для более подробной информации смотрите системная переменная _REPORTBUILDER.

Основные опции форматирования

Format

Определяет выражение формата, которое может включить коды формата и форматировать символы шаблона, вместо соответствующего выбора в группе Editing options.

Character

Определяет, что выводимые данные, сгенерированные элементом управления Field имеют тип Character и отображает соответствующие опции в группе Editing options.

Numeric

Определяет, что выводимые данные, сгенерированные элементом управления Field имеют тип Numeric и отображает соответствующие опции в группе Editing options.

Date

Определяет, что выводимые данные, сгенерированные элементом управления Field имеют тип Date и отображает соответствующие опции в группе Editing options.

Группа опций Editing options

Отображает опции формата в зависимости от выбранного типа данных. Выбор тех или иных опций этой группы помещает код форматирования в поле ввода Format диалогового окна Report Expression. Для более подробной информации смотрите Диалоговое окно Report Expression.

To upper case

Выводимые данные символьного типа будут отображаться в верхнем регистре.

Ignore input mask

Определяет, каким образом дополнительные символы формата будут отображаться с выводимой информацией символьного типа.

Если опция Ignore input mask выбрана, дополнительные символы формата при выводе текстовой информации будут вставлены в соответствующую позицию между отображаемыми символами.

Если опция Ignore input mask не выбрана, дополнительные символы формата при выводе текстовой информации будут замещать отображаемый символ в соответствующей позиции.

Например, взаписи таблицы содержатся символы ABC1234, а в качестве формата определено NNN-NNNN. При выбранной опции Ignore input mask ABC1234 будет отображено как ABC-1234; если Ignore input mask не выбрана, то ABC1234 будет отображено как ABC-234.

Left justify

Задает выравнивание выводимых данных типа Character или Numeric по левому краю элемента управления Field.

Right justify

Задает выравнивание выводимых данных типа Character по правому краю элемента управления Field.

Center justify

Задает выравнивание выводимых данных типа Character по центру элемента управления Field..

Blank if zero

Для выводимых данных типа Numeric. Если выводимые данные равны нулю, они не отображаются.

(Negative)

Для выводимых данных типа Numeric. Заключает отрицательные числа в скобки.

SET DATE format

Определяет, что выводимые данные будут отображаться в виде даты, с использованием текущей установки формата даты, заданную командой SET DATE. Для более подробной информации смотрите Команда SET DATE.

British date

Определяет, что выводимые данные будут отображаться в виде даты в британском формате. Для более подробной информации смотрите Команда SET DATE.

CR if positive

Для выводимых данных типа Numeric. Ставит символы "CR" (кредит) после положительных чисел.

DB if negative

Для выводимых данных типа Numeric. Ставит символы "DB" (дебит) после отрицательных чисел.

Leading zeros

Для выводимых данных типа Numeric. Отображаются все ведущие нули.

Currency

Для выводимых данных типа Numeric. Отображает данные в валютном формате используя текущие установки, заданные на вкладке Regional диалогового окна Options. Для более подробной информации смотрите Вкладка Regional диалогового окна Options.

Scientific

Для выводимых данных типа Numeric. Отображает выводимые данные в экспоненциальном представлении (используется для очень больших и очень маленьких чисел).

Смотрите также

Задачи

Как: указать тип данных для элементов управления поля Field

Справочное руководство

Конструктор отчетов

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


FRX Cursor Browser Dialog Box (Report Builder)

Диалоговый бокс "FRX Cursor Browser" (Построитель Отчетов)
Смотрите Также

Позволяет вам просмотреть в табличном виде файл (FRX), содержащий все компоненты вашего Отчета. Данный диалоговый бокс активируется (открывается) при выборе подпункта Browse FRX… из контекстного Меню системного построителя Отчетов (Report Builder) .

Основные Опции Диалогового Окна

Далее представлены основные Опции по настройке Элементов рассматриваемого Отчета.

Системное окно Браузера

Grid (Таблица)

Отображаются Записи из соответствующего табличного файла (FRX), содержащего компоненты данного Отчета. С помощью вертикального и горизонтального скролинга вы можете просматривать указанные Записи.

Name

Отображается содержание поля NAME (Имя) для текущей Записи Курсора (FRX). Данное значение обновляется при перемещении указателя записи в рассматриваемой таблице.

Expr

Отображается содержание поля EXPR (Выражение).

Style

Отображается содержание поля STYLE (Стиль, оформление).

Picture

Отображается содержание поля PICTURE (Картинка).

Order

Отображается содержание поля ORDER (Порядок).

Comment

Отображается содержание поля COMMENT (Комментарий).

Tag

Отображается содержание поля TAG.

Tag2

Отображается содержание поля TAG2.

Fontface

Отображается содержание поля FONTFACE (Имя Шрифта).

SupExpr

Отображается содержание поля SUPEXPR.

User

Отображается содержание поля USER (Поле Пользователя).

CURPOS=.T. (Для текущего, выделенного Элемента Отчета)

Отображается содержание поля CURPOS .

OK

Кнопка для Закрытия данного Диалогового Бокса.

Активация диалогового бокса FRX Cursor Browser с помощью программного Кода

Вы можете программно Открыть рассматриваемый диалоговый бокс FRX Cursor Browser (Браузер Курсора FRX (отчета)):

Для активации указанного системного окна:

  1. Откройте Командное Окно.

  2. Выполните следующую системную команду:

DO (_REPORTBUILDER) WITH 2 [, cFileName ]

Если вы не указываете второй (опциональный) параметр, то будет активирован дополнительный диалоговый бокс Open File (Открыть Файл), для выбора требуемого файла Отчета.

См. также

Описание

_REPORTBUILDER, системная переменная

Другие ссылки

Разработка и Размещение Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


General Options Dialog Box

Visual FoxPro 9.0
Диалоговое окно General Options
Смотрите Также

Позволяет задать код для целой системы меню. Вы можете обращаться к этому диалоговому окну, выбирая команду General Options из меню View Конструктора меню.

Procedure

Создает код процедуры меню. Если код не умещается в отображенной области редактирования, появляется линейка прокрутки.

Edit

Открывает окно редактирования, в котором можно создавать код без помощи диалогового окна GeneralOptions. Чтобы активизировать окно редактирования, нажмите Edit, затем нажмите OK в диалоговом окне GeneralOptions.

Location

Replace

Заменяет существующую систему меню новой системой меню.

Append

Добавляет новую систему меню справо от активной системы меню.

Before

Вставляет новое меню перед заданным меню. Эта опция отображает раскрывающийся список, содержащий имена активной системы меню. Чтобы вставить новое меню, выберите имя меню, перед которым вы хотите поставить новое меню.

After

Вставляет новое меню после заданного меню. Эта опция отображает раскрывающийся список, содержащий имена активной системы меню. Чтобы вставить новое меню, выберите имя меню, после которого вы хотите поставить новое меню.

Menu Code

Setup

Открывает окно редактирования, с помощью которого вы можете вставить в систему меню код настройки. тобы сделать окно редактирования активным, нажмите кнопку OK в диалоговом окне GeneralOptions.

Cleanup

Открывает окно редактирования, с помощью которого вы можете вставить в систему меню код завершения. тобы сделать окно редактирования активным, нажмите кнопку OK в диалоговом окне GeneralOptions.

Top-Level Form

Если выбрано, Позволяет использовать меню в формах верхнего уровня (SDI). Если не выбрано, позволяет использовать меню только в фрейме Visual FoxPro.

Подробнее смотрите Проектирование меню и панелей инструментов.

Смотрите Также

Справочное руководство

Дизайнер Меню и Shortcut
Диалоговое окно Menu Options
Диалоговое окно Define Window Layout
Диалоговое окно Tab Order
Диалоговое окно Toolbars

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Generate Menu Dialog Box

Visual FoxPro 9.0
Генерация меню (Generate Menu), диалоговый бокс
См. Также

В данном диалоговом окне определяется имя программного файла меню, выполняется генерация меню. Если вы еще не сохраняли создаваемое меню, то будет предложено выполнить сохранение в файле меню.

Данное диалоговое окно появляется при выборе пункта Generate из соответствующего меню Menu.

Output File (выходной файл)

Определяет полное имя файла генерируемого меню. Можно использовать дополнительную диалоговую кнопку - для точного определения полного имени программного файла меню, может быть лаже перезаписать уже существующий файл меню.

Generate (генерация)

Создается программный файл меню, который имеет расширение (.mpr).

См. также

Описание

Выполнить (Do), диалоговый бокс
Дизайнеры Меню и меню-Shortcut
CREATE MENU, Команда

Концепции

Создание системы Меню
Рекомендации по созданию Системы Меню

Другие ссылки

Диалоговые боксы (Visual FoxPro)
Создание Меню, меню-Shortcut, Пунктов меню и подменю

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Get Latest Version of Files Dialog Box

Visual FoxPro 9.0
Get Latest Version of Files (Получить файлы последней версии), диалоговый бокс
См. Также

Позволяет получить выбранные файлы-компоненты из подсистемы Source Code Control в виде локальных копий этих файлов в Менеджере Проектов.

File(s) to Get Latest Version (файл (-ы) последних версий)

Список доступных файлов-компонент, управляемых подсистемой source code control.

Select All (выбрать все)

Отметить все представленные файлы.

Advanced (расширение)

Отображается дополнительный диалоговый бокс подсистемы source code control Advanced Get Options.

См. также

Описание

Check In Files, диалоговый бокс
Check Out Files, диалоговый бокс
Undo Check Out of Files, диалоговый бокс

Концепции

Перехватчик Менеджера Проектов

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Go To Line Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговый бокс Go To Line - перейти к Строке (Visual FoxPro)
См. Также

В данном диалоговом боксе можно указать номер строки программного кода, в которую нужно перейти; это можно сделать также в Командном окне.

Line Number (номер строки)

Определяет номер строки программного кода, в которую нужно переместить курсор.

См. также

Описание

Командное Окно (Visual FoxPro)
Диалоговый бокс Find (Visual FoxPro)
Диалоговый бокс Options - параметры (Visual FoxPro)
SYS(2002) - переключение режима Вставки (On / Off)
Диалоговый бокс Insert Object
Диалоговый бокс Replace

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Go To Record Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Go To Record (перейти на запись)
См. Также

Введите требуемый номер Записи в текстовый бокс Record Number, на которую нужно перейти, или используте стрелки для перебора всех номеров, чтобы найти нужный номер. Нажмите кнопку OK, в активном окне Browse, указатель будет перемещен на выбранную запись.

Данный диалоговый бокс отображается, если вы выбираете опцию Record # , в коротком подменю Go to Record.

См. также

Описание

Системное окно Browse
Диалоговый бокс Locate Record (найти запись)
Диалоговый бокс Scope (область действия, регион)
Диалоговый бокс Field Picker (отметки полей)
Язык манипулирования Записями

Другие ссылки

Диалоговые Боксы (Visual FoxPro)
Работа с Записями

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Having Dialog Box

Visual FoxPro 9.0
Having, Диалоговый Бокс
Смотрите Также

Определяет Условное выражение для Фильтрации группы Записей, которые включаются в Результирующий набор Запроса.

Диалоговый бокс Having активируется при нажатии на Кнопку <Having> в Закладке Group By, Дизайнеры Запросов и Представлений.

Field Name (Имя Поля Таблицы)

Определяет Имя поля Таблицы, функцию, или другое выражение. Когда создается секция Having (команды SQL), выберите требуемое Поле для отображения списка соответствующих функций, или требуемую Функцию, или используйте Диалоговый бокс Построителя выражений (Expression Builder). Если вы выбираете Функцию, то отображается дополнительное Меню с именами Полей, которые допустимы для выбранной функции.

Not (Отрицание)

Выполняет отрицание Критерия Сравнения.

Comparison criterion (Критерий Сравнения, Оператор)

Определяет логический Оператор, определяющий Критерий Отбора Записей. Допустимы следующие варианты:

  • Equal (=) Определяет эквивалентность (равенство) Поля - с заданным в поле Example Значением.

  • Like Определяет шаблон (принятый для выражений SQL), которому должно соответствовать заданное Поле (значение шаблона - в поле Example).

    Например, Customer.state Like O означает, что выбираются Записи, для которых State: Ohio, Oklahoma, или Oregon.

  • Exactly Like (==) Определяет, что Значение Поля должно точно соответствовать выражению, заданному в поле Example.

  • Greater Than (>) Определяет, что Значение Поля должно быть Больше заданного Значения в Example.

  • Less Than (<) Определяет, что Значение Поля должно быть Меньше заданного Значения в Example.

  • Greater Than or Equal To (>=) Определяет, что Значение Поля должно быть Не Меньше заданного Значения в Example.

  • Less Than or Equal To (<=) Определяет, что Значение Поля должно быть Не Больше заданного Значения в Example.

  • Is NULL Определяет, что Поле должно содержать Значение NULL.

  • Is True Определяет, что Поле или Выражение должно быть = True, предполагается, что указанное выражение должно быть Логического Типа.

  • Between Определяет, что значение Поля должно быть Больше-или-Равно заданного первого Значения, с одной стороны, И Меньше-или-Равно заданного второго Значения, с другой стороны, которые указаны в столбце Example. Указанные выше Значения могут разделяться ключевым словом AND. Visual FoxPro создает для данного случая секцию Оператора SQL BETWEEN.

    Например, Invoices.idate Between 05/10/97 AND 05/12/97 - определяет, что выбираются Записи, у которых Поле IDate находится в диапазоне 10-12, мая 1997.

  • In Определяет, что значение Поля должно быть в указанном списке возможных Значений, которые перечисляются через запятую в столбце Example.

    Например, Customer.name In Al,George,Mary - определяет, что поле Name должно быть в списке Al, George, Mary.

Example (Пример, столбец Значения)

Определяет Константу, значение или Текст, которому должно соответствовать выбранное Поле. Для точного соответствия определяемому Значению рекомендуется использовать системные функции для выбираемого Поля: UPPER( ), LOWER( ), PROPER( ).

Logical (Логический Оператор, связка)

Добавляет в выражение Критерия Фильтрации оператор типа AND или OR .

Pri. (Priority) (Приоритет)

Определяет номер приоритета (значение в диапазоне: 0 - 99), который относится к логическим Операторам. Номер = 0 определяет наивысший приоритет, номер = 99 определяет наименьший приоритет.

Установка описанных выше Приоритетов определяет порядок группировки логических выражений с помощью скобок: (()). Например, предположим, что вы задаете приоритет = 0 для первого логического выражения, = 1 для второго логического выражения, а для третьего выражения: = 0. Первое и третье логические выражения будут включены в первую очередь, а второе логическое выражение - во вторую очередь (для него установлен приоритет= 1).

Insert (Вставить)

Вставляет пустую строку перед выбранной, текущей строкой.

Remove (Исключить)

Исключает (удаляет) выбранную строку логического выражения из списка выражений.

См. также

Задачи

Как: Создавать Запросы (Visual FoxPro)

Описание

Закладка Group By, Дизайнеры Запросов и Представлений
SELECT - SQL, команда
CREATE QUERY, команда

Другие ссылки

Диалоговые Боксы (Окна) (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Import Dialog Box

Visual FoxPro 9.0
Диалоговое окно настройки Импорта
Смотри также

Позволяет Вам импортировать данные в таблицу Visual FoxPro из электронной таблицы или табличные данные других форматов. Вы также можете воспользоваться Мастером Импортирования данных.

Примечание:
С помощью этой команды меню, Вы не сможете импортировать данные из текстовых файлов. Воспользуйтесь Мастером Импорта для этой цели или создайте новую таблицу и затем присоедините к ней текстовый файл.

Это диалоговое окно появляется когда Вы выбираете пункт Import (Импорт) в меню File (Файл).

Type

Тип файл источника данные из которого будут импортироваться . Выбирается из предложенного списка..
From

Путь и Имя файла источника. Можно прописать вручную или выбрать местоположение файла, нажав на кнопку.
Sheet

Рабочий лист Microsoft Excel из которого будет осуществляться импорт. Только если в качестве типа файла источника выбран Microsoft Excel.
To

Отображает путь, соответствующий параметрам вкладки File Locations диалогового окна Options, и имя импортированного файла. В качестве этого имени используется имя исходного файла, но с расширением .DBF.
Import Wizard

Запускает программу Мастера импорта. Мастер импорта необходимо использовать для импортирования текстовых файлов; другой метод состоит в том, чтобы создать таблицу, а затем присоединить к ней текстовый файл.

В следующей таблице приведены типы файлов, которые можно импортировать с помощью данного диалогового окна, и эквивалентные команды, выполняющие то же самое при запуске из окна команд:

Тип файла | Соответствующая команда
FrameWork II (FW2) | IMPORT FROM FileName TYPE FW2
Lotus 1-2-3 1-A (WKS) | IMPORT FROM FileName TYPE WKS
Lotus 1-2-3 2.x (WK1) | IMPORT FROM FileName TYPE WK1
Lotus 1-2-3 3.x (WK3) | IMPORT FROM FileName TYPE WK3
Microsoft Excel 2.0, 3.0, and 4.0 (XLS) | IMPORT FROM FileName TYPE XLS
MultiPlan 4.01 (MOD) | IMPORT FROM FileName TYPE MOD
Paradox 3.5, 4.0, 4.5 (DB) | IMPORT FROM FileName TYPE PDOX
RapidFile (RPD) | IMPORT FROM FileName TYPE RPD
Symphony 1.01 (WRK) | IMPORT FROM FileName TYPE WRK
Symphony 1.10 (WR1) | IMPORT FROM FileName TYPE WR1

Смотри Также

Прочие ресурсы

Диалоговые окна
Диалоговое окно Append From
Командное окно
Диалоговое окно Экспорта
Мастер импорта
Команда IMPORT
Вкладка File Locations, Окна Настроек
Импорт и Экспорт данных

Перешлите коментарий к этой статье в Microsoft. © Microsoft Corporation. Все права защищены.


Include File Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Include File
См. Также

Обеспечивает возможностью задать заголовочный файл, типа (.h), содержащий предопределенные константы времени компиляции для пользовательских классов , форм, или контейнеров FormSet.

Данный диалоговый бокс выводится на экран, когда выбрана опция Include File из меню Class или Form.

Include File

Задает заголовочный файл, содержащий описания предопределенных констант времени компиляции для пользовательских классов, форм или контейнеров FormSet. Задайте имя заголовочного файла или используйте диалоговую кнопку для выбора нужного заголовочного файла из уже существующих (.h) - файлов.

См. также

Описание

#INCLUDE, директива препроцессора
#DEFINE ... #UNDEF, директива препроцессора
Константы

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Insert Object Dialog Box

Visual FoxPro 9.0
Диалоговое окно вставки объекта Insert Object
Смотрите также

Это диалоговое окно выдает список OLE объектов, которые вы можете связывать или внедрять в приложении при работе с формой или полем типа General, принадлежащим таблице Visual FoxPro.

Если вы находитесь в окне просмотра, дважды щелкните поле General, чтобы активизировать окно редактирования и сделать доступной команду Insert Object.

Если вы находитесь в форме, выберите элемент управления OLE Container. На экране появится диалоговое окно Insert Object (вставить объект) и новый объект будет сохранен в поле, к которому привязан данный элемент управления.

Настройки диалогового окна Insert Object
Create New (Создать новый)

Отображает на экране поле Object Type, чтобы можно было выбрать приложение OLE, в котором будет создан новый объект.

Object Type (Тип объекта)

Появляется, когда вы выбрали опцию Create New, и показывает список OLE приложений, установленных на данном компьютере. Выберите приложение, в котором намерены создать объект.

Create From File (Создать из файла)

Отображает поле File, в котором можно задать существующий объект, который нужно вставить.

File (Файл)

Появляется, когда выбрана опция Create From File. Наберите имя файла и путь к нему или нажмите кнопку Browse (обзор), а затем выберите соответствующий файл.

Browse (Обзор)

Открывает диалоговое окно обзора (Browse), в котором можно выбрать таблицу или представление.

Link (Связь)

Связывает объект. Если вы опустите эту опцию, объект будет внедрен.

Display As Icon (Показывать как значок)

Отображает вставленный объект в виде значка. Этот значок берется из приложения, в котором был создан объект.

Results

В зависимости от выбранного переключателя (радио-кнопки), показывается описание действия, которое будет выполнено над содержанием файла после нажатия на кнопку OK, уникальный идентификатор и путь к выбранному элементу управления или объекту. Вы можете изменить отображаемое описание, выбрав опции Create New, Create from File или Display As Icon.

Change Icon (Сменить значок)

Отображает диалоговое окно "Смена значка", в котором можно выбрать другой значок для OLE объекта. Появляется, когда вы выбрали опцию Display As Icon.

Insert Control (Вставить элемент управления. Только для форм)

Показывает поле Control Type, чтобы можно было вставить элемент управления ActiveX.

Control Type (Тип элемента управления. Только для форм)

Появляется, когда выбрана опция Insert Control, и выдает список элементов управления ActiveX, которые можно вставлять.

Add Control (Добавить элемент управления. Только для форм)

Появляется, когда выбрана опция Insert Control, и выдает диалоговое окно обзора (Browse), в котором можно найти и выбрать элемент управления ActiveX, не внесенный в список Control Type.

Смотрите также

Ссылки

Диалоговое окно Options, вкладка Controls
Поле типа General
Окно свойств (Visual FoxPro)
Диалоговое окно выбора иконки

Основные понятия

Динамическое разделение информации (Dynamic Information Sharing )

Другие ресурсы

Диалоговые окна (Visual FoxPro)

Для предложений или сообщений об ошибках в Помощи или в других функционалах этого продукта, посетите страницу обратной связи.
© Microsoft Corporation. All rights reserved.

Перевод - Рябинин Олег aka OLEGarh


Insert Object Reference Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Insert Object Reference (вставки ссылки на объект)
См. Также

Обеспечивает просмотр доступных объектов в данном Дизайнере и позволяет вставить полноценную ссылку на выбранный Вами объект в программный код.

Данный диалоговый бокс появляется при выборе опции Objects List из короткого меню в окне Code Window в соответствующем Дизайнере Form или Дизайнере Class.

Objects list

Список объектов контейнера верхнего уровня в соответствующем Form Designer или Class Designer. Представленные объекты располагаются в соответствующей иерархии.

Insert

Выполнение вставки строки, описывающей полную ссылку на выбранный объект в окне редактирования.

См. также

Описание

Document View Window
Диалоговый бокс Insert Object

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Insert System Menu Bar Dialog Box

Visual FoxPro 9.0
Диалоговое окно Вставьте Строку Системного меню
См. Также

Позволяет Вам добавлять меню и варианты меню к окну Menu Designer. Это диалоговое окно появляется, когда Вы выбираете Insert Bar из меню Menu или выбираете кнопку Insert Bar в окне Menu Designer.

Menu List Box

Перечисляет доступные имена меню и имена опций меню, в зависимости от того, выбрали ли Вы Usage или Prompt в порядке расположения.

Порядок

Использования

определяет, что Menu List Box отображает доступные пункты меню в порядке, в котором они появились бы в соответствии с заголовками меню. Например, сначала перечисляются все пункты меню File в порядке появления в фактическом меню File. Пункты меню редактирования отобразятся следующими, и так далее.
Prompt

Определяет что Menu List Box выводит доступные пункты меню в алфавитном порядке.
Insert

Вставляет выбранный пункт меню в назначенную строку в окне Menu Designer.

См. Также

Другие Ресурсы

Диалоговые окна
Диалоговое окно Меню Генерировать
Диалоговое окно Вариантов Меню
Меню и строки меню
Проектировщик Меню

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Join Condition Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс Join Condition (Условие Объединения)
См. также

Задает условие объединения между таблицами. Это диалоговое окно появляется, когда вы включаете в запрос или представление более одной таблицы, для которых еще не указано условие объединения.

Более подробно смотрите об условиях объединения в Условия объединения для таблиц, Запросов и Представлений.

Правый список полей

Показывает поля таблицы, которые Вы добавили. Выберитесь из списка поле, по которому будут объединяться таблицы.

Левый список полей

Показывает поля всех таблиц, ранее добавленных в Конструктор Запросов (Query Designer). Выберитесь из списка поле, по которому будут объединяться таблицы.

Типы Объединения

Внутреннее Объединение (Inner Join)

Создает объединение, включающее в себя только те записи из Левого Списка Полей, которые совпадают по выбранным полям с записями из Правого Списка Полей.

Левое Объединение (Left Join)

Создает объединение, включающее в себя все записи из Левого Списка Полей и совпадающие с ними по выбранным полям записи из Правого Списка Полей.

Правое Объединение (Right Join)

Создает объединение, включающее в себя все записи из Правого Списка Полей и совпадающие с ними по выбранным полям записи из Левого Списка Полей.

Полное Объединение (Full Join)

Создает объединение, включающее в себя все записи из обоих списков полей совпадающие по выбранным в обоих списках полям.

Описание (Description)

Определяет как поля каждой таблицы будут связаны друг к другу, когда Вы выбираете различные опции объединения.

См. также

Ссылки

Диалоговый Бокс Добавления Таблицы или Представления (Add Table or View Dialog Box)
Команда SELECT - SQL
Команда SET ANSI
Диалоговый бокс Расположение Запроса (Query Destination)

Другие ресурсы

Диалоговые Боксы (Visual FoxPro)
Конструкторы Запросов и Представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Label Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговый бокс Этикетка (Visual FoxPro)
См. также

Отображает результат Запроса в существующей Этикетке. Данный диалоговый бокс появляется в закладке Miscellaneous (Прочее) Дизайнера Запросов, и раьотает только с запросами.

Примечание:
Перед получением отчета (этикетки) по результатам Запроса Вам необходимо разместить соответствующие столбцы Этикетки на странице отчета. См. дополнительно раздел Работа с Отчетами.

Open Label (открыть Этикетку)

Отображает диалоговый бокс открытия файла Этикетки, используемого для вывода результатов Вашего запроса. Вы можете указать имя и расширение необходимого файла в соответствующем поле ввода.
Wizard Icon (иконка Мастера)

Отображает окно Мастера Этикеток
Page Preview (просмотр результатов)

Осуществляет предварительный просмотр результатов запроса.
Console On (переключатель вывода на экран)

Выводит результаты на главное окно VFP или в активное пользовательское окно.

Дополнительный Вывод

None (Отсутствует)

Определяет, что результаты не посылаются на принтер или в текстовый файл.
To Printer (на принтер)

Отправить результаты на принтер.
To Text File (в текстовый файл)

Сохранить результаты запроса в текстовом файле. Нажмите кнопку для выбора текстового файла, или укажите имя нового файла в соответствующем поле ввода.

См. также

Другие ссылки

Закладка Miscellaneous в Дизайнерах Запросов и Представлений
Мастер Этикеток
Дизайнер Этикеток
Диалоговые боксы

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Locate Database Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс Выбора Базы Данных
См. Также

Вы можете указать требуемую Таблицу из Базы Данных, если она не найдена прогграммным способом.

Данный диалоговый бокс отображается в том случае, когда системе Visual FoxPro не удается автоматически открыть требуемые источники данных, указанные в объекте Data Environment некоторой пользовательской Формы.

Locate (найти)

Отображает Диалоговый Бокс Open, в котором вы можете выбрать требуемый Источник Данных (таблицу или представление).

Ignore (игнорировать)

Система Visual FoxPro пытается продолжить выполнение программы (загрузку формы) без загрузки требуемого Курсора из Источника Данных. Если в рассматриваемой форме имеются соответствующие ссылки на источник данных, или выполняется привязка к составным частям, то может возникнуть Ошибочная Ситуация.

Cancel (отменить)

Система Visual FoxPro прекращает загрузку рассматриваемой Формы.

Help (помощь)

Отображается соответствующий раздел подсистемы Помощи (Help).

См. также

Описание

Диалоговый Бокс "Open" (Visual FoxPro)
LOCATE, команда
Диалоговый Бокс "Locate Record"
Locate Button, фундаментальный класс
Диалоговый Бокс "Find Table or View"
Диалоговый Бокс "Add Table or View"

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Locate File Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Locate File (размещения файла)
См. Также

Позволяет Вам указать размещение файла или игнорировать отсутствие файла, или группы файлов. Данный диалоговый бокс появляется при запуске программного модуля или когда система Visual FoxPro не может найти указанный файл для успешного запуска программы.

Locate

Запускает диалоговый бокс Open (открытия), где Вы можете найти программный файл.

Ignore

Система Visual FoxPro продолжает выполнение без указанного файла.

Ignore all

Система Visual FoxPro продолжает выполнение программы, игнорируя все последующие ошибки данного характера.

Cancel

Система Visual FoxPro прекращает выполнение программы.

См. также

Описание

Диалоговый бокс Open (Visual FoxPro)
Команда LOCATE
Диалоговый бокс Locate Record
Базовый класс Locate Button
Диалоговый бокс Find Table или View
Диалоговый бокс Add Table или View
Диалоговый бокс Locate Database

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Locate Record Dialog Box

Visual FoxPro 9.0
Диалоговое окно Locate Record
Смотрите Также

Ищет запись в активной таблице или представлении, которое отвечает заданым условиям. Используйте эту команду, когда вам нужно просмотреть таблицу или представление по записям, используя индексированное или неиндексированное поле, или когда требуется найти в таблице более одной записи.

Данное диалоговое окно появляется при выборе команды Locate в подменю Go to Record.

Scope

позволяет определить записи на которые должен действовать Visual FoxPro. Выберите All, Next, Record, или Rest выпадающего списка. Выберите номер из щетчика справо от выбраного Next или Record выпадающего списка Scope.

For

Отображает диалоговое окно Expression Builder для создания логического выражения, которому должна удовлетворять каждая запись для того, чтобы подвергнуться воздействию данной команды.

While

Отображает диалоговое окно Expression Builder Dialog Box. Выражение While задает, что данному воздействию записи подвергаются, пока это логическое выражение остается истинным. Как только встретится запись, для которой выражение имеет значение "ложь", обработка прекращается без рассмотрения оставшихся записей.

Locate

Выполняет команду, используя значения Scope, For и While.

Смотрите Также

Задачи

Как: Добавить записи в таблицу

Справочное руководство

Окно Browse
Команда CONTINUE
Диалоговое окно Expression Builder
Команда LOCATE
Диалоговое окно Scope
Язык манипуляций записями

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Работа с записями

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Look Up Reference Dialog Box

Visual FoxPro 9.0
Диалоговое окно Look Up Reference
Смотрите также

Предоставляет вам возможность поиска местонахождения ссылки кода в проекте, конкретном каталоге или субкаталоге. Вы можете фильтровать ваш поиск по типу файла.

Note Замечание

На сайте российского FoxClub доступна локализованная, русскоязычная версия Code References

Диалоговое окно Look Up Reference появляется только в режиме разработки, когда вы выбираете Code References в меню Tools. Вы можете, кроме того, выбрать Look Up Reference, когда вы щелчком по правой клавише вызываете контекстное меню окна редактирования програм или открываете диалоговое окно Look Up Reference программным способом первый раз, с помощью приведенного ниже кода:

CopyCode image Скопировать код
DO (_FOXREF)

Для получения более подробной информации о вызове системной переменной _FOXREF смотрите описание Системная переменная _FOXREF.

Look for (Искать)

Указывает выражение для поиска.

Visual FoxPro заполняет бокс ввода выражения выбранным в окне редактирования выражением. Бокс Look for содержит любые выбранные последними выражения или выражения, которые искались до этого момента.

Если вы отметите чек-бокс Use regular expressions, то станет доступной кнопка со стрелкой рядом с боксом Look for. Отметка в чек-боксе Use regular expressions допускает поиск с замещением символов модификатором - групповым символом. Для получение более подробной информации смотрите "Use regular expressions" ниже в этом описании.

Scope (Область)

Определяет диапазон поиска и содержит следующие опции:

  • Folder (Каталог) поиск производится в текущем каталоге и, необязательно, в субкаталогах.

  • Project поиск производится в наборе файлов выбранного проекта. В выпадающем списке проектов появятся только открытые в текущей сессии проекты.

Look in (Искать в)

Определяет текущий каталог и содержит выпадающий список с историей ранее выбиравщихся каталогов, если в области Scope была выбрана опция Folder. Для выбора другого каталога щелкните по кнопке поиска (...) для того, чтобы открыть диалоговое окно Select Directory.

Бокс Look in недоступен, если в области Scope была выбрана опция Project.

Search subfolders (Искать в субкаталогах)

Включает в область поиска субкаталоги выбранного каталога. Чек-бокс Search subfolders (Искать в субкаталогах) доступен только в том случае, если в области Scope (Область) была выбрана опция Folder (Каталог).

Limit search to project home directory and subfolders (Ограничить поиск домашним каталогом проекта и субкаталогами)

Включает в область поиска только те файлы проекта, которые находятся в домашнем каталоге проекта и его субкаталогах. Совместно используемые файлы исключаются из поискаS. Этот чек-бокс доступен только в том случае, если в области Scope была выбрана опция Project. .

Overwrite prior results (Переписать предыдущие результаты)

Управляет условием - будут ли переписаны результаты более ранних поисков новыми. Эта опция действует аналогично случаю выбора Clear All Results из контекстного меню в окне Code References для замещения всего содержимого в панели Search. Чек-бокс Overwrite prior results доступен, когда выбраны опции либо Folder, либо Project.

File Types (Типы файлов)

Определяет набор типов файлов для ограничения области поиска. Типы файлов разделяются запятыми. Значение, которое использовалось в поиске последним используется и в последующих поисках. Вы можете добавить свои типы файлов, используя файл FoxRefAddin.dbf. Таблица FoxRefAddin допускает специфичные типы файлов, которые исключаются только в том случае, когда поиск производится с указанием групповых сиволов в именах файлов (*.*). В приведенной ниже таблице перечислены все типы файлов Visual FoxPro, которые поддерживаются и указано, как в них осуществляется поиск.

Расширение имени файла Поведение

.cdx

Производится поиск индексного выражения. Выбор этого расширения в списке требует, чтобы таблица была открыта.

.dbc

Производится поиск в хранимых процедурах, исходнмках удаленных представлений, соединений и прочих данных контейнера базы данных (.dbc), исключая файлы таблиц и структур.

.dbf

Производится поиск имен полей и любых расширенных метаданных файла контейнера базы данных .dbc таках, как выражения триггеров, но не внутри содержания таблицы. Visual FoxPro может потребоваться временно открыть или закрыть таблицы, если вы выбрали это расширение.

.frx, .lbx

Ищутся выражения в отчетах и этикетках, значение меток и в среде данных.

.mnx

Производится поиск среди имен меню и в связанном с ними коде.

.prg

Производится поиск среди программных файла и отображается номер строки ссылки, если она была найдена.

.scx

Производится поиск среди кода всех методов, среды данных и значений свойств, которые отличаются от значений по умолчанию.

.vcx

Производится поиск среди кода всех методов и значений свойств, которые отличаются от значений по умолчанию.

Прочие типы файлов

Выражение, которое разыскивается рассматривается как точный текст.

В приведенной ниже таблице перечислены группы типов файлов, использующиеся по умолчанию в выпадающем списке в блоке File Types (Типы файлов).

Типы файлов Расширения имен файлов

Все файлы

*.*

Общие типы

*.scx, *.vcx, *.prg, *.frx, *.lbx, *.mnx, *.dbc, *.qpr, *.h

Все исходники

*.scx, *.vcx, *.prg, *.frx, *.lbx, *.mnx, *.dbc, *.dbf, *.cdx, *.qpr, *.h

Формы и классы

*.scx, *.vcx, *.prg

Отчеты и этикетки

*.frx, *.lbx

Меню

*.mnx

Программы

*.prg, *.h, *.qpr, *.mpr

Структуры данных

*.dbc, *.dbf, *.cdx

Текст

*.txt, *.xml, *.xsl, *.html, *.log, *.asp, *.aspx
Note Замечание

Группа типов фалов общего типа (Common source) включает в себя только файлы контейнеров баз данных (.dbc) как источников данных в виде опции, используемой по умолчанию. Поведение по умолчанию предусматривает поиск только среди хранимых процедур. Вы можете изменить это поведение щелкнув по кнопке Options (Параметры) в диалоговом коне Look Up Reference.

Options (Параметры)

Щелчок по этой кнопке открывает диалоговое окно Options (Параметры), с помощью которого вы можете выбрать дополнительные параметры вашего поиска. Для получения более подробной информации смотрите описание Диалогое окно Options (Параметры) диалогового окна Look Up Reference.

Группа Options (Параметры)

Этот блок включает в себя дополнительные параметры, которые вы можете указать для настройки вашего поиска.

Match case (Учитывать регистр)

Определяет - будет ли при поиске учитываться регистр символов в выражении поиска.

Match whole word (Искать полное слово)

Определяет - будет ли при поиске искаться точное соответствие полного слова.

Use regular expressions (Использовать регулярные выражения)

Позволяет использовать символы группировки для поиска. Установив метку в чек-боксе "Use regular expressions" делает доступным кнопку рядом с блоком Look for (Искать...). Щелчок по кнопке со стрелкой открывает меню, из которого вы можете выбрать тип регулярного выражения для в поле ввода выражения для поиска. Для получения более подробной информации о регулярных выражениях обратитесь к описанию Регулярные выражения и операторы.

Блок Comments (Комментарии)

Определяет - будут ли включены в ваш поиск комментарии. Комментарии начинаются с символа звездочки (*), двойного амперсанда (&&) или с ключевого слова NOTE. Выпадающий список блока включает в себя перечисленные ниже возможные уточнения поиска:

  • Include Comments (Включить в поиск комментарии) В область поиска будут включены комментарии.

  • Ignore Comments (Игнорировать комментарии в поиске) Во время поиска комментарии будут игнорироваться.

  • Comments Only (Искать только в комментариях) Производить поиск только в комментариях.

Смотрите также

Задачи

Как: посмотреть определения кода

Справочное руководство

Окно Code References (Ссылки кода)
Системная переменная _FOXREF

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Look Up Reference Dialog Box, Options Dialog Box

Visual FoxPro 9.0
Диалоговое Окно Look Up Reference, Диалоговое Окно Options
См. также

Устанавливает дополнительные опции для поиска выражения в коде.

Диалоговое окно Options появляется если кликнуть на кнопку Options в диалоговом окне Look Up Reference или окне Code References. Вы можете получить описания каждой опции окна Options, щелкая на ее наименование.

Create symbol definition table during search (Создавать в процессе поиска таблицу ссылок на код)

Позволяет создать коллекцию ссылок на код, выбранных из обработанных файлов в процессе поиска выражения, и отобразить ее в виде таблицы. Если эта опция не включена, то коллекция будет собираться по запросу в процессе просмотра кода. Этот опция позволяет выполнить полное сканирование файлов в процессе поиска выражения, что позволит сэкономить время при просмотре кода. Подробнее об этом смотрите в Руководство: Определение Кода представления (View Code Definitions).

Limit definition collection to project home directory and below (Ограничивать поиск домашней папкой и вложенными в нее папками)

Указывает, что коллекция ссылок создается только на файлы, расположенные в домашней папке проекта и вложенных в нее папках. Это предотвращает от включения в коллекцию ссылок из оболочки (framework'а) и других файлов, которые не являются актуальными для текущего проекта.

Search only source code and expressions (Искать только в исходных кодах и выражениях)

Указывает, что поиск следует вести только в исходных кодах и выражениях. Если эта опция не включена, то в поиске участвуют значения имен полей таблиц, меток отчетов, и других текстов.

Search form/class property names and values (Искать в именах и значениях свойств форм/классов)

Указывает, что в поиске участвуют имена и значения свойств визуальных форм (.scx) и визуальных классов (.vcx).

Display number of references found per line in search results (отображать в результатах поиска количество ссылок, найденных в строках кода)

Указывает, что счетчик найденных ссылок должен отображаться в окне ссылок рядом со строками, в которых имеется более одного совпадения с поисковым выражением.

Show history of file types searched (Показывать хронологию найденных типов файлов)

Указывает, что список типов файлов, в которых найдено поисковое выражение, будет отображен в окне Look Up Reference в хронологической последовательности. Если эта опция не включена, то будет отображен обычный перечень типов найденных файлов и среди них выделен последний из найденных.

Show separate columns for class, method, and line (Показывать отдельные колонки для классов, методов и строк)

Указывает, что классы, методы и строки отображаются не вместе в одной колонке, а в разных колонках таблицы результатов. В этом случае вы можете отсортировать результаты, щелкнув правой кнопкой мыши на строке и выбрать сортировку в пункте всплывающего меню Sort by (Сортировать по). Того же результата можно достичь дважды щелкнув на заголовок любой колонки таблицы результатов.

Backup Style (Стиль переименований при резервном копировании)

Указывает, какой стиль будет применен при переименовании оригинальных файлов после применения к ним глобальной замены найденных и отмеченных ссылками выражений в коде, на новые выражения.

Font (Шрифт)

Отображает диалоговое окно Font, которое можно использовать для изменения шрифта окна Code References.

Folder for code references tables (Папка для таблицы ссылок на код)

Содержит полный путь к таблице ссылок на код. Для выбора другой папки кликните на кнопку с многоточием (...), в результате будет отображено диалоговое окно Select Directory.

Clean Up Source Tables (Почистить Таблицу Ссылок)

Вычищает из таблицы ссылок устаревшие записи. Другими словами, эта опция позволяет проделать следующие действия:

  • Удаляет все неактивные и ошибочные записи из файла RefFile.dbf, кроме тех, у которых UniqueID="WINDOW".

  • Удаляет все записи, ссылающиеся на файлы из RefFile.dbf, которых уже нет на диске.

  • Удаляет все неактивные записи из файла RefDef.dbf file.

  • Производит операцию упаковки (PACK) файлов RefFile.dbf и RefDef.dbf files.

См. также

Ссылки

Диалоговое Окно Look Up Reference
Окно Code References
Команда PACK

Другие Ресурсы

Диалоговые Окна (Dialog Boxes (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Macros Dialog Box

Visual FoxPro 9.0
Диалоговое окно Macros
Смотрите также

Определяет макрокоманды, которые выполняют действия, эквивалентные нажатию последовательности клавиш с участием клавиши CTRL, клавиши ALT или функциональной клавиши. Отдельные макрокоманды можно объединять в группы и хранить в файлах.

Individual Macro

Отображает макрокоманды, доступные для использования.

Record

Отображает Диалоговое окно Record Macro, в котором можно создать макрокоманду.

New

Отображает Диалоговое окно New Macro, в котором вы можете вручную создать макрос.

Edit

Отображает Диалоговое окно Edit Macro, в котором вы можно редактировать выбранную макрокоманду.

Clear

редлагает уничтожить или сохранить выбранную макрокоманду.

Macro Set

Save

Отображает диалоговое окно Save Macros, в котором вы можете назвать и сохранить отдельные макрокоманды или наборы макрокоманд.

Restore

Отображает диалоговое окно RestoreMacros, в котором можно добавить сохраненный набор макрокоманд к текущим макрокомандам (указанным в поле Individual macro диалогового окна Macros).

Set Default

Предлагает записать новый набор макрокоманд поверх набора, используемого по умолчанию.

Clear All

Предлагает уничтожить все макрокоманды списка Individual Macro.

Смотрите также

Справочное руководство

Команда APPEND
Команда DIR or DIRECTORY
Команда DISPLAY
Команда DISPLAY MEMORY
Команда DISPLAY STATUS
Команда DISPLAY STRUCTURE
Команда LIST
Формат файла макрокоманд (.fky)
Команда PLAY MACRO
Общее описание команды SET
Диалоговое окно Overwrite Macro
Диалоговое окно Stop Recording Macro

Концепции

Макроподстановка (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Record Macro Dialog Box

Visual FoxPro 9.0
Record Macro (Запись Макроса), диалоговый бокс
См. Также

Автоматически создает Макрос при нажатии последовательностей клавиш, до момента Остановки Записи (stop recording).

Данный диалоговый бокс отображается при выборе опции Record, в соответствующем Macros, диалоговом боксе.

Defined Key (определяемая последовательность клавиш)

Отображается последовательность комбинаций клавиш, которые будут выполняться при запуске Макро. Для назначения Определяющей клавиши или комбинаций клавиш, переместите курсор в данное поле ввода и нажмите нужную клавишу. Visual FoxPro записывает в указанное место имя нажимаемой клавиши и записывает данные обозначения в создаваемое Макро.

Macro Name (имя Макроса)

Отображается имя Макроса (по-умолчанию), с которым будет связана создаваемая последовательность нажимаемых клавиш. Например, если вы определяете управляющую комбинацию клавиш как "CTRL+D", то данное Макро будет иметь имя "CTRL_D". Если вам необходимо указать другое имя Макро, то введите требуемый текст в соответствующее текстовое поле (не более 20 символов). Процесс Записи Макро не начинается до тех пор, пока не нажата кнопка OK, в процессе записи макро в Командном Окне высвечиваются точки.

См. также

Описание

Overwrite Macro, диалоговый бокс
SET FUNCTION, Команда
Stop Recording Macro, диалоговый бокс
New Macro, диалоговый бокс
Edit Macro, диалоговый бокс

Другие ссылки

Ддиалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Stop Recording Macro Dialog Box

Visual FoxPro 9.0
Stop Recording Macro, диалоговый бокс
Смотрите Также

Прерывает процесс Записи текущего Макро (Macro). В рассматриваемом диалоговом боксе вы можете нажать кнопку OK, тем самым остановить процесс записи Макро; или можете выполнить другие предусмотренные действия.

Данный Инструмент активируется при выборе подпункта Macros из системного Меню Tools, когда ведется Запись Макро.

Insert Literal (Вставить Символ)
Записывает буквальное значение следующего нажатия клавиши, вместо значения к настоящему времени назначенного в ключ с Макро. Используйте данную кнопку когда Вы хотите циклически определять два ключа.
Insert Pause (Вставить Паузу)

Записывает Паузу в текущее Макро. Перед использованием данной команды InsertPause, установите опцию Key To Resume или Seconds для определения, как будет дальше выполняться Макро.

Key to Resume (Клавиша Продолжения)

Определяет, что появляется Подсказка, как продолжить выполнение Макро после Паузы. Данная Подсказка появляется при условии соответствующей установки: SET MACKEY, команда.

Seconds (Секунд, размер паузы)

Определяет, как долго выполняется Пауза при выполнении Макро, по истечении какого времени выполнение продолжится. При этом активируется соответствующий Контрол, в котором задается (или выбирается) требуемая продолжительность Паузы (в секундах).

Continue (Продолжить)

Выполняется возврат в ту Точку, перед которой был вызван данный инструмент: Stop Recording Macro, таким образом выполнение Записи Макро продолжается.

Discard (Отменить)

Удаляет уже записанные Шаги Макро, передает управление на начальную точку Записи Макро.

OK

Подтверждает Завершение процесса Записи Макро, он готов к работе.

См. также

Описание

Macros, диалоговый бокс
Overwrite Macro, диалоговый бокс
New Macro, диалоговый бокс
Edit Macro, диалоговый бокс

Другие ссылки

Диалоговые боксы (окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Overwrite Macro Dialog Box

Visual FoxPro 9.0
Overwrite Macro (Перезапись Макро), диалоговый бокс
См. Также

Заменяет имеющееся Макро новым содержанием. Данное диалоговое окно отображается при переопределении уже существующей комбинации клавиш, в соответствующем Record Macro, диалоговом боксе нажимается кнопка OK.

Overwrite (переписать)

Заменяет существующее МакроОпределение новым содержанием.

Append Keystrokes (добавить к имеющимся макроопределениям)

Добавляет нажимаемые клавиатурные комбинации к уже имеющимся макроопределениям. Место Вставки размещаемых клавишных определений задается в соответствующем текстовом Контроле.

См. также

Описание

New Macro, диалоговый бокс
Edit Macro, диалоговый бокс
Stop Recording Macro, диалоговый бокс
Macros (Макросы), диалоговый бокс

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


New Macro Dialog Box

Visual FoxPro 9.0
Диалоговое окна New Macro
Смотрите также

Вручную создает макрокоманду, вместо записи ваших нажатий клавиш.

Defined Key

Отображает комбинацию клавиш, нажатие которых начинает макрокоманду.

Macro Name

Отображает имя макрокоманды по умолчанию, которое является основанным на определенной клавише. Например, если определенная клавиша будет CTRL+D, то имя макрокоманды будет CTRL_D. Если вы хотите переименовать макрокоманду, напечатайте в поле новое имя (до 20 символов).

Macro Contents

Обеспечивает пространство для ввода комбинаций клавиш которые выполняет макрокоманда. Используйте системные обозначения клавиш перечисленные в теме Команда ON KEY LABEL и включайте их в фигурные скобки , чтобы представить желательные нажатия клавиши. Поместите все ключевые комбинации (типа CTRL+F2) в фигурные скобки также. Например:

CopyCode image Copy Code
MODIFY{SPACEBAR}COMMAND{ENTER}
{HOME}{SHIFT+END}
Note Note

Комбинации клавиш SHIFT+CTRL+\, CTRL+–, CTRL+^, и SHIFT+CTRL+ENTER неподдерживаются в Visual FoxPro.

Смотрите также

Справочное руководство

Диалоговое окно Edit Macro
Диалоговое окно Macros
Диалоговое окно Overwrite Macro
Диалоговое окно Stop Recording Macro
Диалоговое окно Record Macro

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Edit Macro Dialog Box

Visual FoxPro 9.0
Диалоговое окно Edit Macro
Смотрите также

Позволяет вручную редактировать ранее созданные макро.

Defined Key

Отображает комбинацию клавиш, нажатие которых начинает макрокоманду.

Macro Name

Отображает имя макрокоманды по умолчанию, которое является основанным на определенной клавише. Например, если определенная клавиша будет CTRL+D, то имя макрокоманды будет CTRL_D. Если вы хотите переименовать макрокоманду, напечатайте в поле новое имя (до 20 символов).

Macro Contents

Обеспечивает пространство для ввода комбинаций клавиш которые выполняет макрокоманда. Используйте системные обозначения клавиш перечисленные в теме Команда ON KEY LABEL и включайте их в фигурные скобки , чтобы представить желательные нажатия клавиши. Поместите все ключевые комбинации (типа CTRL+F2) в фигурные скобки также. Например:

CopyCode image Copy Code
MODIFY{SPACEBAR}COMMAND{ENTER}
{HOME}{SHIFT+END}
Note Note

Комбинации клавиш SHIFT+CTRL+\, CTRL+–, CTRL+^, и SHIFT+CTRL+ENTER неподдерживаются в Visual FoxPro.

Смотрите также

Справочное руководство

Диалоговое окно Macros
Диалоговое окно Overwrite Macro
Диалоговое окно Stop Recording Macro
Диалоговое окно Record Macro

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Menu Options Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Опции Меню
См. Также

Позволяет Вам определить специальный программный код для Меню. Данный диалоговый бокс доступен при выборе пункта Menu Options из меню View в соответствующем Дизайнере Menu.

Name

Содержит имя меню. По-умолчанию, это - тотже текст из столбца Prompt в MenuDesigner. Для изменения необходимо изменить соответствующий параметр Prompt.

Procedure

Обеспечивает ввод необходимого программного кода, или отображения уже имеющегося кода. Если программный код имеет достаточный размер, то активируется соответствующий scroll bar.

Edit

Открывает окно редактирования программного кода, определяемого для соответствующего диалогового бокса MenuOptions. Для активации окна редактирования необходимо нажать кнопку OK .

Для дополнительной информации см. раздел Разработка Меню и Toolbars.

См. также

Описание

Диалоговый бокс General Options
Диалоговый бокс Define Window Layout
Диалоговый бокс Tab Order
Диалоговый бокс Toolbars

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


More Windows Dialog Box

Visual FoxPro 9.0
Диалоговый бокс More Windows
См. Также

Отображает список активных, в данный момент, Окон. Данный диалоговый бокс появляется при выборе пункта More Windows в меню Windows. Для активации нужного окна - сделайте свой выбор из представленного списка активных окон.

См. также

Описание

Команда HIDE WINDOW
Команда MODIFY WINDOW
Командное окно (Visual FoxPro)
Системное Окно Data Session
Команда SHOW WINDOW

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Move Item Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс Move Item
См. Также

Позволяет Вам изменить размещение меню или конкретного пункта меню.

Данный диалоговый бокс Move Item отображается при работе с дизайнером Меню или дизайнером Shortcut, при нажатии на кнопку Move Item.

Move Group

Name

Отображает имя меню или пункта меню.

Type

Отображает тип соответствующего пункта меню.

To Location Group

To Location box

Отображает список допустимых перемещений выбранного меню или конкретного пункта меню.

См. также

Описание

Дизайнеры Menu и Shortcut

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Multiple Selection Dialog Box (Report Builder)

Visual FoxPro 9.0
Диалоговое окно Multiple Selection (Множественный выбор) (Построитель отчетов)
Смотрите также

Позволяет Вам устанавливать свойства сразу для нескольких выбранных элементов управления в раскладке отчета. Диалоговое окно Multiple Selection вызывается двойным щелчком по одному из отобранных элементов управления при их множественном выборе. Можно также вызвать контекстное меню нажатием правой кнопки мыши на одном из отобранных элементов управления и выбрать пункт Properties.

Для более подробной информации смотрите Как: Множественный выбор элементов управления отчета.

Note Примечание

Это диалоговое окно отображается в случае, если системная переменная _REPORTBUILDER по умолчанию определяет путь и имя файла для Построителя отчетов (ReportBuilder.app). Если она пуста или устанавливает вызов построителя отчета сторонних производителей, происходит вызов диалоговых окон как в версиях до Visual FoxPro 9.0. Для более подробной информации смотрите Системная переменная _REPORTBUILDER.

Вкладки

В таблице ниже описываются вкладки, которые имеются в диалоговом окне Multiple Selection

Вкладка | Доступные опции
Вкладка Selection диалогового окна Multiple Selection (Построитель отчетов) | Позволяет Вам осуществлять просмотр отобранных элементов управления, отсортировать их в зависимости от типа или местоположения, а также удалить элементы управления из списка, если они больше не должны быть включены в число отобранных.
Вкладка Properties диалогового окна Multiple Selection (Построитель отчетов) | Позволяет Вам установить опции защиты или задать выражение условия печати выбранного элемента управления.

Смотрите также

Задачи

Как: Множественный выбор элементов управления отчета

Справочное руководство

Системная переменная _REPORTBUILDER

Прочие ресурсы

Конструирование и раскладка отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Selection Tab, Multiple Selection Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка Selection, Multiple Selection, диалоговый бокс (Построитель Отчетов)
См. Также

Позволяет вам просматривать выбранные Контролы текущего Отчета. Вы можете:

  • Отсортировать Список выбранных Контролов по-типу или по-размещению.

  • Исключить Контрол из представленного Списка, т.е из выбранных контролов Отчета.

Object (объект)

Список выбранных Контролов рассматриваемого Отчета (с помощью средств Дизайнера).

Start band (Стартовая полоса)

Определяет начальную полосу (как верхнюю левую) текущего Отчета, в которой размещены выделенные Контролы. (Некоторые контролы (например при вращении) могут располагаться в нескольких полосах отчета.)

Sort by: Type (сортировка по-типу)

Отображается список объектов, сгруппированных по типам.

Sort by: Location (сортировка по-размещению)

Отображается список объектов по-местоположению, т.е. по местоположению объектов в полосе Отчета.

Remove from list (исключить из списка)

Исключается выделенный элемент из списка выбранных Контролов Отчета. Доступными являются только выделенные элементы.

См. также

Задачи

Как: Выбрать несколько Контролов в Отчете

Описание

Multiple Selection, диалоговый бокс (Построитель Отчетов)
Закладка Properties, Multiple Selection, диалоговый бокс (Построитель Отчетов)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Properties Tab, Multiple Selection Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка (Свойства), Multiple Selection, диалоговый бокс (Report Builder)
Смотрите Также

Позволяет вам определить (установить) некоторые значения Характеристик для нескольких выделенных Контролов в системном окне Дизайнера Отчетов или Дизайнера Этикеток. Такими Атрибутами могут быти либо Флаги Защиты, либо специальные Условия печати Элементов Отчета <Print When>.

Apply these protection settings to the selected objects (Применяется для установки параметров Защиты выделенных Элементов)
Определяет, будут ли параметры настройки защиты применены к выделенным в настоящий момент нескольким Контролам Отчета.
When in PROTECTED mode (Условия Печати - в режиме Защиты)
Устанавливает логические флажки, которые характеризуют действие, как выделенные контролы Отчета будут доступны для Модификации в Дизайнере Отчетов, работающем в защищенном Режиме.
Apply these conditions to the selected objects upon saving (Примененияе данных Условий для выделенных Объектов после сохранения Отчета)
Определяет, будет ли применяться Условие Печати для выделенных Контролов Отчета после выполнения операции Сохранения.
Remove line if blank (исключение пустых Строк Отчета)
Определяет, как внутренний механизм Отчета будет обрабатывать Пустые строки, возникающие в результате вычисления Специальных Условий Печати выделенных Контролов Отчета, размещенных в рассматриваемой Полосе Отчета.
Print only when expression is true (Печать только в том случае, когда Условие = .T.)
Обеспечивает отображение Поля Ввода для определения Условия Печати, которое определит вывод на Печать рассматриваемого Контрола. Вы можете использовать Кнопку (многоточие: (...)) - для вызова системного Построителя Выражений, чтобы построить требуемое Логическое Выражение.

См. также

Задачи

Как: Выделить несколько Контролов Отчета
Как: Защитить Контролы Отчета (от изменения)

Описание

MODIFY REPORT, команда
<Multiple Selection> (множественный выбор), диалоговый бокс (Report Builder- Построитель Отчетов)
Закладка <Protection> (Защита), Report Control Properties, диалоговый бокс (Report Builder)
Закладка <Print When> (Условия Печати), Report Control Properties, диалоговый бокс (Report Builder)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


New Class Dialog Box

Visual FoxPro 9.0
Диалоговое окно New Class
See Also

Задает информацию для нового класса, которая будет использоваться конструктором класов для создания класа. анное диалоговое окно появляется, когда вы создаете новый клас выбирая опцию Class в диалоговом окне New, а затем выбираете New File или выдаете команду CREATE CLASS в окне Command.

Class Name

Задает имя определения класса, которое предстоит создать.

Note Note

При сохранении класа заданное имя преобразуется в нижний регистр.

Based On

Задает класс, на базе которого будет сформулировано новое определение класса. Выберите доступный базовый клас Visual FoxPro из списка или щелкнитекнопку (...) для выбора файла библиотеки визуальных класов(.vcx).

From

Отображает путь к библиотеке классов, которую вы определили в поле Based On.

Store In

Задает имя библиотеки визуальных классов, в которой будет сохранен новый класс. Для выбора библиотеки визуальных класов, щелкните кнопку кнопку (...).

Смотрите Также

Задачи

Какo: Создавать класи и субкласы

Справочное руководство

Окно Command (Visual FoxPro)
Команда CREATE CLASS
Диалоговое окно Open (Visual FoxPro)
Диалоговое окно New

Концепции

Дизайнер класов

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


New Dialog Box

Visual FoxPro 9.0
Диалоговое окно New
Смотрите Также

Дает возможность создавать новые файлы. Диалоговое окно New появляется, когда Вы выбираете команду New из меню File.

Гарячие клавиши

CTRL+N

File Type

В следующей таблице перечислены типы файлов и указаны возможные способы и особенности их создания взависимости от того щелкаете вы New File или Wizards.

Типы файлов Средство создания

Project

Project Manager (Менеджер проектов)

Database

Database Designer (Дизайнер базы данных)

Table

Table Designer (Дизайнер таблиц), Table Wizard (Мастер таблиц)

Query

Query Designer (Дизайнер запросов), Cross-Tab Wizard (Мастер перекресных таблиц), Query Wizard (Мастер запросов), Local View Wizard (Мастер локальных представлений), Remote View Wizard (Мастер удаленных представлений), PivotTable Wizard (Мастер сводных таблиц)

Connection*

Connection Designer (Дизайнер соединений)

View*

View Designer (Дизайнер представления), Local View Wizard (Мастер локальных представлений)

Remote View*

Remote View Wizard (Мастер удаленных представлений)

Form

Form Designer (Дизайнер форм), Form Wizard (Мастер форм), One-to-Many Form Wizard (Мастер форм один ко многим)

Report

Report Designer (Дизайнер отчетов), Report Wizard (Мастер отчетов), One-to-Many Report Wizard (Мастер отчетов один ко многим)

Label

Label Designer (Дизайнер этикеток), Label Wizard (Мастер этикеток)

Program

Editing Window (Окно редактирования)

Class

Class Designer (Дизайнер класов)

Text File

Editing Window (Окно редактирования)

Menu

Menu Designer (Дизайнер меню)

* Чтобы данная опция была доступна, должна быть открыта база данных.

New File

Отображает диалоговое окно, конструктор или окно редактирования, в котором можно создать файл выбранного типа.

Wizard

Открывает окно мастера, создающего файл выбранного типа. Если предлагается группа мастеров, Visual FoxPro выдаст приглашение для выбора нужного мастера.

Смотрите Также

Справочное руководство

Диалоговое окно Create

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


New File Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно New File (Visual FoxPro)
Смотрите Также

Создает новую форму, отчет, этикетку или запрос, в зависимости от типа файла, выбранного в данный момент в диспетчере проектов.

Note Note

Имена файлов, перед которыми стоит перечеркнутый кружок, исключаются из проекта при его построении. Если имя файла не сопровождается перечеркнутым кружком, этот файл включается в построение. Имя главного файла програмы выводится полужирным шрифтом.

Это диалоговое окно появляется, когда вы выбираете команду New File из меню Project.

File Type Wizard

Открывает окно мастера, создающего файл выбранного типа. Если для этого типа предусмотрена группа мастеров, Visual FoxPro предлагает выбрать нужного мастера. Данная опция отображается только в том случае, если вы установили переключатель Prompt for Wizard на вкладке Project диалогового окна Options.

New File Type

DОтображает диалоговое окно, конструктор или окно редактирования, в котором можно создать новый файл выбранного типа.

Смотрите Также

Задачи

Как: Создайте новую форму
Как: создавать запросы (Visual FoxPro)

Справочное руководство

Диалоговое окно New
Диалоговое окно Options (Visual FoxPro)
Окно менеджера проектов
Закладка Projects, диалогового окна Options
Команда CREATE FORM
Команда CREATE REPORT
Команда CREATE LABEL
Команда CREATE QUERY
Диалоговое окно Rename File
Диалоговое окно Description

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Создание форм
Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


New Label Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Нового типа Этикетки
См. также

Отображается диалоговый бокс определения нового типа Этикетки. Данный диалоговый бокс открывается в случае, когда Вы выбираете опцию выбора новой этикетки, как нового файла, при создании отчета типа Label (этикетка) в Дизайнере Этикеток (). Опция Columns определяет количество столбцов, размещаемых на странице Отчета (Этикетки).

Следующие параметры описывают вид Этикетки. (которые Вы не можете изменять):

Avery No.

Номер производителя конкретного типа Этикетки.
Height

Высота (в дюймах) Отчета типа Этикетка
Width

Ширина (в дюймах) Отчета типа Этикетка
Columns

Сколько столбцов размещается на стандартном листе: 8 1/2 x 11 .
Примечание:
Вы можете определить другой размер с помощью приложения ADDLABEL.APP, расположенного в подкаталоге ...\Tools основного каталога системы VFP.

См. также

Другие ссылки

Диалоговый боксы
Новый Диалоговый бокс

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


New Local View Dialog Box

Visual FoxPro 9.0
Диалоговое окно New Local View
Смотрите Также

Отображает диалоговое окно New Local View, в котором с помощью мастера локальных представлений или конструктора представлений можно создать представление для локальных таблиц или других представлений базы данных. В локальные представления можно включать таблицы .dbf формата Visual FoxPro, существующие локальные или удаленные представления, любые таблицы формата .dbf и таблицы, хранящиеся на локальных серверах.

Диалоговое окно New Local View отображает опцию Local View Wizard только если вы установили переключатель Prompt for Wizards на вкладке Projects диалогового окна Options.

View Wizard

Открывает окно мастера локальных представлений, создающего новое локальное представление.

New View

Открывает конструктор представлений, в котором можно создать локальное представление.

Смотрите Также

Задачи

Как: Создать локальное представление

Справочное руководство

Мастер локальных представлений
Диалоговое окно Options (Visual FoxPro)
Закладка Projects, диалогового окна Options
Диалоговое окно New Remote View
Диалоговое окно Find Table or View

Концепции

Дизайнер баз данных (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Дизайнер запросов и представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


New Method Dialog Box

Visual FoxPro 9.0
Диалоговое окно New Method
Смотрите Также

Делает возможным создание нового пользовательского метода и определение его атрибутов.

Это диалоговое окно появляется, когда Вы выбираете New Method из меню Form при открытом дизайнере форм или из меню Class при открытом дизайнере класов.

Name

Определяет имя нового метода.

Visibility (Class Designer only)

Определяет уровень видимости метода:

  • Public Доступ разрешон из любого места приложения.

  • Protected Ограничивает доступ к методу, члены класа и субкласы могут обращаться к защищенным свойствам. Экземпляры объекта не могут обращаться к защищенным методам.

  • Hidden Ограничивает доступ к методу, доступно только для членов класа. Экземпляры объекта и субкласы не могут обращаться к скрытым методам.

Подробние смотрите Защита и скрытие членов класса.

Description

Содержит описание метода, которое будет отображено внизу окна Properties в дизайнере класов и, если свойство не защищено, в дизайнере Форм.

Смотрите Также

Задачи

Как: Добавить свойство или метод в форму
Как: Добавить метод в клас

Справочное руководство

Дизайнер форм
Диалоговое окно New Property
Диалоговое окно Edit Property/Method

Концепции

Дизайнер класов

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


New Property Dialog Box

Visual FoxPro 9.0
Диалоговое окно New Property
Смотрите также

Предоставляет вам возможность создавать ваши собственные настраиваемые свойства и указывать аттрибуты для вновь созданных свойств.

Этот диалог появляется, когда вы выбираете пункт New Property в меню Form или Class; пункт Form появляется, когда вы открываете дизайнер форм, а пункт Class появляется, когда вы открываете дизайнер классов.

Вы, кроме того, при создании нового свойства создать методы Access и Assign. Для получения более подробной информации смотрите Методы Access и Assign и Как: создать методы Access Assign..

Name

Определяет имя нового свойства.

Visibility (только для случая работы с дизайнером классов)

Определяет уровень видимости свойства:

  • Public Доступ к свойству возможен отовсюду внутри приложения.

  • Protected Ограничивает доступ к свойству до уровня членов класса и субклассов, которые могут обращаться к защищенным свойствам. Экземпляры объекта не могут обращаться к этому свойству.

  • Hidden Ограничивает доступ к свойству до уровня только членов класса. Экземпляры объекта и субклассы не могут обращаться к скрытым свойствам.

Для получения более подробной информации смотрите Protecting and Hiding Class Members.

Access Method

Определяет, будет ли метод Access создан для нового свойства. Код в методе Access исполняется каждый раз, когда происходит обращение к свойству. Отметьте этот чек-бокс для создания метода Access вновь создаваемого свойства.

Assign Method

Определяет будет ли метод Assign создан для нового свойства. Код в методе Assign исполняется каждый раз, когда происходит изменение значения свойства. Отметьте этот чек-бокс для создания метода Assign вновь создаваемого свойства.

Default Value

Определяет значение по умолчанию для вновь создаваемого свойства. Значением по умолчанию явлеятся предустановка в False (.F.).

Описание

Содержит описание метода или свойства, которое будет отображаться внизу окна Properties при работе с дизайнером классов и, в случае, если свойство не является защищенным, то и при работе с дизайнером форм.

Примечание переводчика. В поставку Visual FoxPro 9.0 входит компонент, замещающий стандартные диалоговые окна New Property и New Method, написанный, насколько мне известно Дугом Хеннигом, после инсталляции диалоговое окна видоизменяется так, как показано на приведенном ниже рисунке.

Для установки нового диалогового окна выберите в меню Tools пункт Task Pane. На панели инструментов щелкните по кнопке Solution Samples. Перейдите к пункту New in Visual FoxPro 9.0 и щелкните по крестику слева от указанного пункта. Перейдите к примеру FoxCode Menu Scripts. Щелкните на имени этого пункта. Откроется приведенная ниже форма:

В области MenuHit Script щелкните по кнопке Enable Script - слева на форме, затем щелкните по Install New Properties Dialog Sample - справа на форме.

На мой взгляд этого диалоговое окно достаточно удобное.

Смотрите также

Задачи

Как: добавить свойства и методы в форму
Как: добавить свойства и методы в классы

Справочное руководство

Дизайнер форм
Диалоговое окно New Method
Edit Property/Method Dialog Box

Концепции

Дизайнер классов

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS


New Remote View Dialog Box

Visual FoxPro 9.0
New Remote View (Новое удаленное Представление), диалоговый бокс
См. Также

В данном диалоговом боксе определяется способ создания нового удаленного Представления с помощью Дизайнера Представлений или Мастера создания Удаленного представления.

Note Обратите Внимание

Перед началом создания нового удаленного представления, вы должны создать Соединение с источником данных или определить ODBC-источник Данных. Для создания необходимого Соединения используется Дизайнер Соединений.

См. дополнительно раздел Работа с Представлениями.

View Wizard (мастер Представления)

Открывается окно Мастера удаленного Представления, где выполняются все необходимые настройки.

New View (новое Представление)

Открывается системное окно Select Connection Or Data Source (выбор соединения или источника данных), где определяется удаленный источник данных для вашего Представления. См. дополнительно раздел Select Connection or Data Source, диалоговый бокс.

См. также

Описание

Дизайнер Соединения
Options, диалоговый бокс (Visual FoxPro)
Мастер создания Удаленного Представления

Концепции

Дизайнер Баз Данных (Visual FoxPro)

Другие ссылки

Диалоговые Боксы (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


New Table Dialog Box

Visual FoxPro 9.0
Диалоговый бокс New Table (Новая Таблица)
См. Также

Данное средство обеспечивает функцию создания новой таблицы при помощи служб Дизайнер Таблиц или Мастер Таблиц.

Note Примечание

Для Проектов, диалоговый бокс New Table отображает кнопку Table Wizard в том случае, если установлена отметка Prompt for Wizards в закладке Projects диалогового бокса Options.
Table Wizard (Мастер Таблиц)

Открывает соответствующий Мастер Таблиц, с помощью которого, при ответе на поставленные вопросы будет создана необходимая таблица. См. дополнительно раздел Мастер Таблиц.

New Table (Новая Таблица)

Открывается системный Дизайнер Таблиц, с помощью которого создается пустая таблица (ее структура). См. дополнительно раздел Дизайнер Таблиц.

См. также

Другие ссылки

Создание Таблиц
Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Open Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Open (Открыть) (Visual FoxPro)
Смотрите также
CollapseAll image

Используется для открытия существующего файла или создания нового. Этот диалог появляется, когда вы выбираете в меню File (Файл) пункт Open (Открыть).

Ранее открывавшиеся проекты поялвяются внизу меню File (Файл). Вы можете открыть ранее открывавшийся проект выбором его имени в списке внизу меню.

Note Замечание

Файлы, созданные в окне Open автоматически в проект не добавляются.

Диалоговому окну Open (Открыть) соответствует функция GETFILE(). Например, это диалоговое окно появится, когда вы напечатаете в командном окне ? GETFILE( ).

Expand image Клавишная комбинация для вызова диалогового окна Open (Открыть)

FoxPro OpenFolderButton screenshot

CTRL+O

Look in (Искать в)

Отображает выпадающий список размещений файлов, в которых вы можете искать ваш файл. В операционных системах Windows 2000 и Windows XP с левой стороны диалогового окна отображется полоса общих размещений, таких как My Documents и Desktop. Шелчок по одному из этих размещений приведет к его отображению в выпадающем списке.

File name (Имя файла)

Отображает имя текущего, выбранного файла или позволяет указать имя файла, который вы желаете открыть.

Class Library (Библиотека класса)

Указывает имя библиотеки классов. Этот блок появляется только тогда, когда вы открываете библиотеку классов или когда используете функцию AGETCLASS() или команду MODIFY CLASS.

Files of type (Типы файлов)

Отображает список типов файлов. Вы можете выбрать тип файла в выпадающем списке для того, чтобы отобразить файлы только конкретного выбранного вами типа. В этой версии Visual FoxPro более не используются следующие расширения имен файлов: .lbl, .fpc, .cat, and .frm.

Class Name (Имя класса)

Отображает классы, хранящиеся в библиотеке классов, отображаемой в Class Library. Этот список появлется только того, когда вы открываете библиотеку классов или используете функцию AGETCLASS() или команду MODIFY CLASS.

Open as read-only (Открыть только для чтения)

Определяет, что открываемый вами файл может быть просмотрен, но не может быть изменен.

Environment (Среда)

Сохраняет все установки среды вместе с файлом и откроет связанную среду, когда вы в будущем откроете этот файл.

Note Замечание

Чек-бокс Environment появляется только в версиях до Visual FoxPro 8.0.

Эта опция доступна, когда вы выбираете Form, Label или Report из списка типов файлов и отмечена по умолчанию. Для отрытия формы, этикетки или отчета без загрузки связанной среды, снимите метку с этой опции.

Open exclusive (Открыть монопольно)

Определяет, что вы можете использовать файл таблицы (.dbf) или базы данных (.dbc) file монопольно, такчто другие пользователи не смогут открыть этот файл. Эта опция доступна только при открытии таблицы с помощью команды USE или базы данных с помощью команды OPEN DTABASE.

Code Page (Кодовая страница)

Отображает диалогового окно Code Page, в котором вы можете указать кодовую страницу для корректного просмотра файла. Эта команда применяется только к текстовым файлам, таким как файлы программ (.prg), запросов (.qpr) и обычных текстовых файлов.

Preview (Предпросмотр)

Указывает, что вы можете предварительно посмотреть графические файлы, когда они выбраны в списке файлов. Эта опция появляется только тогда, когда вы открываете или выбираете графический файл. Например, эта опция появляется в диалоге Open (Открыть), когда вы добавляете в форму элемент управления класса Image и произодите двойной щелчок на свойстве Picture в окне Properties (Свойства).

Note Замечание

Опция Preview появляется только того, когда вы запускаете Visual FoxPro на операционных системах ранее Windows 2000. Вы можете предварительно просмотреть картинки в Windows 2000 или более позднем, щелкнув по иконке меню View Menu вверху диалогоа и затем выбрав Thumbnails.

Expand image Смотрите также

Справочное руководство

Диалоговое окно Open Picture
Диалоговое окно New Class
Диалоговое окно Code Page
Функция GETFILE()
Диалоговое окно Open Picture
Команда USE

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Open Picture Dialog Box

Visual FoxPro 9.0
Open Picture (Открыть Картинку), диалоговый бокс
Смотрите Также

Используется для открытия существующего графического файла.

Стандартная функция GETPICT( ) соответствует рассматриваемому диалоговому боксу Open Picture. Например, данный диалоговый бокс может быть активирован при выполнении в системном Командном окне следующего фрагмента Кода: ? GETPICT( ).

Look in (текущее размещение)

Отображается раскрывающийся Список текущего размещения технических ресурсов (дисков, папок...), откуда выбирается требуемый графический файл. Для Операционных систем Windows 2000 / Windows XP, в левой части размещаются общедоступные Папки, такие как: "Мои Документы" или "Рабочий Стол" или "Мой Компьютер". При выборе соответствующей иконки обновляется рассматриваемый раскрывающийся Список текущего размещения.

File name (Имя Файла)

Отображается текущий выбранный файл, который будет Открыт.

Files of type (Тип Файла)

Отображается раскрывающийся список возможных типов файлов. Вы можете изменить текущий тип файлов, после этого отображается группа соответствующих файлов. Следующие типы файлов больше не поддерживаются в данной версии Visual FoxPro: .lbl, .fpc, .cat, and .frm.

Picture (Картинка)

Отображается область предварительного посмотра выбранной картинки, если установлена опция Preview.

Note Обратите внимание

Область предварительного просмотра поддерживается в том случае, если система Visual FoxPro запущена под версией ОС, меньше чем Windows 2000. В другом случае, диалоговый бокс Open Picture активируется как обычный Проводник ОС. Для просмотра графического файла достаточно выполнить "Double-click" для выбранного файла.

Preview (Предварительный просмотр)

Переключатель активности области предварительного просмотра выбранного графического файла.

Note Обратите внимание

Описываемый переключатель Preview доступен только в том случае, когда система Visual FoxPro запущена под ОС версии меньше чем Windows 2000. Вы можете просмотреть графический файл, если вами используется ОС, старше Windows 2000, где необходимо настроить параметры отображения графических файлов в меню View.

См. также

Описание

Open (Открыть), диалоговый бокс (Visual FoxPro)
Code Page, диалоговый бокс
GETPICT( ), функция
Системное окно Command (Visual FoxPro)
Поддержка графических компонент в Visual FoxPro
Report Picture, диалоговый бокс

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin


Optional Bands Dialog Box

Visual FoxPro 9.0
Диалоговое Окно Optional Bands (Дополнительные Области Отчета)
Смотри Также

Данное окно диалога предоставляет возможность включить Title (Заголовок), Summary (Итоги) или допольнительные Detail bands (области детализации) в отчет или этикетку.

Примечание:
В зависимоти от настройки системной переменной _REPORTBUILDER, этот диалог может быть заменен на альтернативный пользовательский интерфейс. Для дальнейшей информации смотри Системная Переменная _REPORTBUILDER .

  • Как: Добавить Область в Отчет

  • Как: Сконфигурировать Вывод для Области Отчета

  • Как: Удалить Область из Отчета

Report Title (Загодовок Отчета)

Предоставляет возможность включить область заголовка (Title band) и определить вариант перевода страницы для области заголовка (Title band).

Title band
(Область Заголовка)

Определяет, содержит ли раскладка отчета область заголовка (Title band) для отображения информации единожды вначале отчета.
New page
(Новая страница)

Определяет, что на принтер будет послан перевод страницы после того, как сформирована информация области заголовка. Доступно тогда, когда галочкой выбрана опция Title_band (заголовок).

Report Summary (Итоги Отчета)

Дает возможность включить область итогов (Summary band) и определить опции для области итогов (Summary band).

Summary band
(Область Итогов)

Определяет, содержит ли раскладка отчета область итогов (Summary band) для отображения информации единожды в конце отчета.
New page
(Новая страница)

Определяет, что на принтер будет послан перевод страницы до того, как сформирована информация области итогов (Summary band). Доступно тогда, когда галочкой выбрана опция Summary_band (итоги).
Page header
(Верхний колонтитул страницы)

Определяет, что информация верхнего колонтитула будет сформирована на отдельной странице вместе с итогами отчета.
Page footer
(Нижний колотитул страницы)

Определяет, что информация нижнего колонтитула будет сформирована на отдельной странице вместе с итогами отчета.

Details (Области Детализации)

Дает возможность добавлять области детализации.

Details

Определяет количество областей детализации включенных в отчет. По умолчанию установлена 1. Раскладка отчета должна содержать по крайней мере одну область детализации.
Примечание:
Вы можете включить максимум 20 областей детализации в отчет.

Смотри Также

Другие Источники

Дизайнер Этикеток
Дизайнер Отчетов
Диалоговые Окна

Отправить ваши комментарии о данной статье в Microsoft. © Microsoft Corporation. All rights reserved.


Options Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Options (Настройки) (Visual FoxPro)
Смотрите также

Позволяет вам устанавливать настройки/параметры различных категорий. Диалоговое окно Options (Настройки) появляется при выборе в меню Tools (Инструменты) элемента Options (Настройки).

Если вы на любой из закладок щелкнете по кнопке Set As Default (Установить по умолчанию), Visual FoxPro сохранит все настройки на всех закладках. Поэтому, если вы желаете установить какую-то настройку/параметр глобально, а затем установить настройку для какого-то параметра, которая должна действовать только в открытой, то есть текущей, рабочей сессии Visual FoxPro, то сначала сохраните глобальную настройку, щелкнув по командной кнопке Set As Default (Установить по умолчанию), затем установите параметр текущей сесии и щелкнете по командной кнопке Save (Сохранить).

В приведенной ниже таблице описываются закладки, которые имеются в диалоговом окне Options (Настройки).

Закладка | Доступные настройки/параметры
Закладка Controls (Элементы управления) диалогового окна Options (Настройки) | Устанавливаются настройки для библиотек визуальных классов и элементов ActiveX с целью сделать их видимыми для выбора кнопкой View Classes (Обзор классов) на полоске инструментов Form Controls (Элементы управления форм).
Закладка Data (Данные) диалогового окна Options (Настройки) | Устанавливаются настройки для таблиц, такие как - будет ли использоваться оптимизация запросов Rushmore, будут ли навязываться уникальные записи в индексах и указание последовательности сопоставления, размер блоков мемо-полей, интервал счетчика записей для поисков и опции для использования в блокировках/буферизации.
Закладка Debug (Отладка) диалогового окна Options (Настройки) | Устанавливаются параметры отображения и трассировки, такие как окна, шрифт и цвета.
Закладка Editor (Редактор) диалогового окна Options (Настройки) | Устанавливаются параметры шрифта и цвета для элементов идентификации программ, таких как комментарии и ключевые слова в командном окне и во всех окнах редактирования, за исключением окон, открываемых командами MODIFY FILE или MODIFY MEMO.
Закладка Field Mapping (Разметка полей) диалогового окна Options (Настройки) | Устанавливаются параметры для элементов управления, создаваемых при перетаскивании таблиц или полей с форму из Конструктора среды данных, Конструктора базы данных или окна Диспетчера проекта.
Закладка File Locations (Размещение файлов) диалогового окна Options (Настройки) | Устанавливаются размещения для каталога по умолчанию Visual FoxPro, мест, где будет сохранен Help и где будут сохраняться вспомогательные файлы.
Закладка Forms (Формы) диалогового окна Options (Настройки) | Устанавливаются настройки/параметры Form Designer (Конструктора форм) такие, как разлиновка, используемая шкала разлиновки, максимальный размер области разработки и какие классы шаблонов будут использоваться.
Закладка General (Общие) диалогового окна Options (Настройки) | Устанавливаются входы данных и настройки программирования такие, как указание предупреждающих звуковых сигналов, будут ли записываться в файлы логов ошибки при компиляции, будут ли автоматически заполняться новые записи, какие ключи навигации будут использоваться, какая цветовая палитра будет использоваться или будут ли выводиться предупржедения до перезаписи файлов.
Закладка IDE (Интерактивная среда разработки) диалогового окна Options (Настройки) | Устанавливаются параметры врешнего вида и форматирования для разных типов файлов Visual FoxPro.
Закладка Projects (Проекты) диалогового окна Options (Настройки) | Устанавливаются настройки/параметры Project Manager (Диспетчера проекта) такие, как будут ли выводиться предложения по использованию мастеров, как будут вести файлы при двойном щелчке на их именах - исполняться или выводиться для редактирования, а также параметры для источников элемента управления. Для получения более подробной информации смотрите Окно Project Manager (Диспетчера проекта).
Закладка Regional (Региональные) диалогового окна Options (Настройки) | Устанавливаются формы для дат, времени, валюты и чисел.
Закладка Remote Data (Удаленные данные) диалогового окна Options (Настройки) | Устанавливаются параметры удаленного доступа к данным такие, как значения лимита времени для соединения, число записей извлекаемых за один запрос и как будет использоваться SQL для обновлений.
Закладка Reports (Отчеты) диалогового окна Options (Настройки) | Конфигурируются параметры для Report Designer (Конструктора отчета), которые используются при создании отчетов.
Закладка View (Вид) диалогового окна Options (Настройки) | Устанавливаются параметры интерфейса такие, как отображение полоски статуса, часов, результата исполнения команд, системных сообщений и списка последних используемых проектов.

Смотрите также

Задачи

Как: посмотреть и изменить установки среды

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Установки среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Controls Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Controls (Элементы управления) диалогового окна Options (Параметры)
Смотрите также

Содержит настройки для регистрации библиотек визуальных классов с целью указания классов шаблонов на закладке Forms (Формы) диалогового окна Options (Параметры). Эти настройки, кроме того, определяют то, что может быть выбрано по кнопке View Classes (Обзор классов) на полоске инструментов Form Controls (Элементы управления формы) для легкого ввода в форму пользовательских элементов управления.

Когда вы щелкаете по Set As Default — которая появляется на каждой закладке этого диалога — Visual FoxPro сохраняет установки в регистре (системной базе данных регистрации Windows).

Visual class libraries (Библиотеки вызуальных классов)

Определяет, какие библиотеки классов (файлы .vcx) будут отображаться в списке Selected (Выбранные).

ActiveX controls (Элементы управления ActiveX)

Определяет, какие ActiveX удут отображаться в списке Selected (Выбранные).

Selected (Выбранные)

Перечисляются файлы, которые могут быть добавлены или удалены из вашей среды Visual FoxPro. Если вы выбрали Visual class libraries, то список отобразит файлы .vcx, которые уже добавлены и укажет, какие библиотеки покажутся в контекстном меню, когда вы щелкнете по кнопке View Classes в полоске инструментов Form Controls Toolbar.

Если вы выбрали ActiveX controls, список отобразит классы объектов и элементов управления, доступные в вашей системе. ActiveX, которые вы уже добавили и отметили, появятся в контекстном меню, когда вы щелкнете по кнопке View Classes в полоске инструментов Form Controls Toolbar

Label (Маркировка)

Появляется, когда выбрана радио-кнопка Visual class libraries. Указывает имя для библиотеки классов. По умолчанию, Visual FoxPro использует имя файла без расширения .vcx.

Library (Библиотека)

Появляется, когда выбрана радио-кнопка Visual class libraries. Отображает путь и имя файла для файла .vcx для текущей выбранной библиотеки классов.

Show (Показывать)

Появляется, когда выбрана радио-кнопка ActiveX. Позволяет вам указать, какие типы объектов ActiveX появятся в списке Selected.

  • Insertable Objects (Вставляемые объекты) Определяет, что список Selected отобразит классы объектов, которые вы можете вставить как объекты ActiveX в приложения Visual FoxPro.

  • Controls (Элементы управления) Определяет, что список Selected отобразит элементы управления ActiveX.

Add (Добавить)

Щелкнете по этой кнопке для вызова диалогового окна Open (Открыть) для того, чтобы вы смогли добавить библиотеки классов (файлы .vcx) или элементы ActiveX в список Selected. Добавление элементов ActiveX, кроме того, регистрирует их, чтобы они были доступны в списке элементов в диалоговом окне Insert Object (Вставить объект) и в прочих приложениях.

Remove (Удалить)

Появляется, когда выбрана радио-кнопка Visual class libraries. Щелчок по этой кновке удалит выбранную библиотеку из списка Selected.

Смотрите также

Справочное руководство

Закладка Forms (Формы) диалогового окна Options (Параметры)
Диалоговое окно Insert Object (Вставить объект)
Диалоговое окно Open (Visual FoxPro)
Диалоговое окно Options (Параметры) (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Data (Данные) диалогового окна Options (Параметры)
Смотрите также

Содержит настройки для управления данными в таблицах.

Когда вы выбираете Set As Default (Установить по умолчанию), которая появляетс на каждой закладке диалогового окна, Visual FoxPro сохраняет все настройки на всех закладках.

Open exclusive (Открывать монопольно)

Определяет - будет ли Visual FoxPro открывать таблицы и базы данных монопольно, чтобы никто кроме вам не мог просмотривать и изменять их, пока вы работаете с ними. Открытие файлов в монопольном режиме увеличивает производительность работы с ними. Используйте этот параметр при обработке большого числа записей имя в виду ограничение, по которому другие пользователи не смогут обращаться к данным в это время (лучше это делать ночью). Эта настройка соответствует настройке, устанавливаемой командой SET EXCLUSIVE.

Show field names (Показывать имена полей)

Определяет - будет ли Visual FoxPro отображать имя поля в качестве заголовка колонки выше каждого поля при вывода результата командами AVERAGE, CALCULATE, DISPLAY, LIST и SUM. Эта настройка соответствует настройке, устанавливаемой командой SET HEADINGS.

Prompt for code page (Запрос кодовой страницы)

Определяет - будет ли Visual FoxPro запрашиваеть вас подключить кодовую страницу, когда вы открываете таблицу, которая еще не имеет ее. Эта настройка соответствует настройке, устанавливаемой командой SET CPDIALOG.

Ignore deleted records (Игнорировать удаленные записи)

Определяет - будет ли Visual FoxPro игнорировать записи, маркированные для удаления при испольнении команд, которые используют ключевое слово, определяющее диапазон. Если с этой настройки снята метка, Visual FoxPro включит в результаты выборок записи, помеченные для удаления. Эта настройка соответствует настройке, устанавливаемой командой SET DELETED.

Rushmore Query Optimization (Оптимизация запроса Rushmore)

Определяет - будет ли Visual FoxPro использовать Rushmore оптимизацию при исполнении команд, в которые включено ключевое слово FOR. Эта настройка соответствует настройке, устанавливаемой командой SET OPTIMIZE. Для получения более подробной информации смотрите Оптимизация приложений.

Unique records in indexes (Уникальные записи в индексах)

Определяет - будет ли Visual FoxPro допускать наличие записей с дублирующими значениями ключей в индексном файле. Если вы выберите этот параметр, то будет индексирована только первая запись, имеющая оригинальный индексный ключ. Эта настройка соответствует настройке, устанавливаемой командой SET UNIQUE.

Collating sequence (Последовательность сопоставления)

Определяет последовательность сопоставления (порядок сортировки) для символьный полей в операциях сортировки и индексирования. Эта настройка соответствует настройке, устанавливаемой командой SET COLLATE.

Record counter interval (Интервал счетчика записей)

Определяет - сколько записей должно быть обработано командами, такими как COPY TO до того, как Visual FoxPro обновит отображение в статусной полоске счетчик записей. Значения лежат в диапазоне от 1 до 32,767 записей. Большие числа, которые вы установите соответствует большей задердке между обновлениями статусной информации, но команда при больших числах исполняется быстрее. Для этого, чтобы этот параметр работал, вы должны установить параметр Status Bar на закладке View. Эта настройка соответствует настройке, устанавливаемой командой SET ODOMETER.

Memo block size (bytes) (Размер блока для мемо-поля в байтах)

Определяет размер блока, которым будет определяться дисковое пространство, выделяемое для размещения мемо-полей. Значение, которое вы введете, будет определять минимальное дисковое пространство, требуемое для мемо-поля и размер, на который увеличиваются мемо-поля при вводе в них данных. Если вы укажете значение между 1 и 32, Visual FoxPro умножит ваше значение на 512, и затем разметит дисковое пространство блоками этого размера. Если вы укажите значение большее, чем 32, Visual FoxPro разместит блоки только этого размера; поэтому указание для этого параметра числа более, чем 32 может снизить объем занимаемый мемо-полями на диске. Эта настройка соответствует настройке, устанавливаемой командой SET BLOCKSIZE.

Browse refresh interval (sec) (Интервал ообновления Browse в сек.)

Определяет, как часто Visual FoxPro будет обновлять отображаемые записи в активном окне просмотра - Browse, что полезно в многопользовательской среде. Возможные значения этого параметра лежат в диапазоне от 0 до 3600. Установка этого параметра в 0 отключит обновления. Установка этого значения в большее значение увеличит производительность. Эта настройка соответствует настройке, устанавливаемой командой SET REFRESH.

Table refresh interval (sec) (Интервал обновления таблицы в сек.)

Определяет, как часто Visual FoxPro должен обновлять буферы локальной памяти текущими данными из сети, что полезно в многопользовательской среде. Возможными значениями являются -1, что указывает, что данные должны всегда читаться с диска, а также значения в диапазоне от 0 до 3600. Допускают дробные значения с ценой в .001.

Для предотвращения обновлений, установите это значение в 0. Для обновлении буферов локальной памяти с меньшей частотой и повышения производительности приложения установите это значение в большое число.

Этот параемтр соответствует второму параметру в команде SET REFRESH. Для получения более подробной информации смотрите ее описание в Команда SET REFRESH.

Область String comparisons (Сравнения строк)

SET NEAR on

Определяет, что Visual FoxPro будет позиционировать указатель записи на запись с наиболее близким соответствием после неудачного поиска с помощью команд FIND или SEEK. Эта настройка соответствует настройке, устанавливаемой командой SET NEAR.

SET EXACT on

Определят, что при использовании оператора сравнения (=) Visual FoxPro будет использовать полную длину строчных выражений (за исключением хвостовых пробелов). Если вы снимите метку с этой настройки Visual FoxPro прекратит сравнение двух строк, когда будет достигнут конец строки с правой стороны оператора сравнения (=). Эта настройка соответствует настройке, устанавливаемой командой SET EXACT.

Note Замечание

Эта настройка не воздействует на результаты оператора = .

SET ANSI on

Определяет - будет ли Visual FoxPro дополнять строки при сравнении строк с помощью оператора SQL = , который сравнимает строки посимвольно до достижения конца более короткой строки. Если вы установите этот параметр, Visual FoxPro будет дополнять более коротку строку пробелами, вследствие чего SQL сравнение будет безуспешным ("Tommy" не равен "Tom "). Если вы снимите метку с этого параметра, котортая строка дополняться пробелами не будет, поэтому строки неравной длины могут быть эквивалентными друг другу (в этом случае "Tommy" будет равен "Tom"). Эта настройка соответствует настройке, устанавливаемой командой SET ANSI.

Область Locking and buffering (Блокировка и буферизация)

Automatic file locking (Автоматическая блокировка файла)

Определяет, что Visual FoxPro будет автоматически блокировать файлы для определенных команд, которые не изменяют данные, включая такие команды, как AVERAGE, COPY TO, INDEX, REPORT, SORT и TOTAL. Если вы снимите метку с этого параметра, файл не будет блокироваться во время исполения указанных команд и другие пользователи могут измнять записи во время их исполнения. Эта настройка соответствует настройке, устанавливаемой командой SET LOCK.

Multiple record locks (Блокировка множества записей)

Определяет - будет ли Visual FoxPro блокировать одновременно множество записей. Если вы снимите метку с этого параметра, Visual FoxPro снимет все текущие блкировки и дасть вам возможность блокировать за один раз только одну запись; блокировка текущей записи будет снята после установки блокировки на следующую запись. Эта настройка соответствует настройке, устанавливаемой командой SET MULTILOCKS.

Buffering (Буферизация)

Определяет для многопользовательской среды - будет ли буфер записи изменяться локально, и если да, то будет ли буферирование оптимистическим или пессимистическим. Буферирование может повысить производительность и обеспечить лучшую взаимосовместимость. Для этого, чтобы этот параметр заработал, вы должны установить параметр Multiple Record Locks (Блокировка множества записей). Эта настройка соответствует функции CURSORSETPROP(). Значениями являются:

  • Off Изменения не буферируются, и запись немедленно обновляется на диске. Этот режим рекомендуется только в однопользовательской среде.

  • Record (Pessimistic) Текущая запись блокируется, когда пользователь производит в ней изменения, и эти изменения буферируются. Другие пользователи могут читать данные этой записи, но не могут изменять ее на диске. Когда указатель записи перемещается к следующей записи, текущая запись автоматически записывается обратно из буфера на диск в исходную таблицу и, затем, разблокируется. Пессимистическая блокировка записи полезна при интерактивном редактировании в таблице, которая используется для множества обновлений другими пользователями.

  • Record (Optimistic) Изменения в единичной записи буферируются но сама запись не блокируется, когда пользователь перемещается к другой записи. Другие пользователи могут изменять запись на диске. Когда пользователь перемещается к другой записи на диске, Visual FoxPro сравнивает изменения в текущей записи с данными на записи на диске. Если данные на диске были изменены кем-то другим, Visual FoxPro предлагает опции для сброса сделанных текущих изменений или переписи записи на диске. Оптимистическая блокировка записи рекомендуется, главным образом, когда обновляются таблицы с редкими случаями изменений записей.

  • Table (Pessimistic) Изменения произведенные в записи буферируются и блокируются, когда пользователь перемещается в другой записи и остаются заблокированными до вызова функции TABLEUPDATE(). Пессимистическое буферирование таблицы является самым безопасным, с точки зрения истинности данных режимом для обновления множества записей в таблице, но ограничивает доступ к таблице других пользователей. Поэтому такой режим рекомендуется только для случаев быстрого ввода данных, когда пользователи вводят пакеты новых записей, или когда это существенно для приложения, чтобы все текущие, используемые записи эксклюзивно захватывались приложеним.

    Note Замечание

    При использовании табличного буферирования, вы должны вызывать TABLEUPDATE() для записи буферированных изменений на диск. Если вы этого не сделаете, все изменения, произведенные в записях будут потеряны при выходе пользователя из Visual FoxPro.

  • Table (Optimistic) Изменения записей буферируются, но записи не блокируются, когда пользователь перемещается к другой записи. Другие пользователи могут читать и изменять записи на диске. Когда выдается TABLEUPDATE(), Visual FoxPro сравнивает изменения в каждой записи с записью на диске; если записи на диске изменены другим пользователем, то изменения не записываются. Оптимистическое буферирование полезно для оптимизации производительности обновления в таблицах с редкими случаями обновлений. При использовании этого параметра, вызовайте TABLEUPDATE() почаще, чтобы шансы изменений записей на диске были бы минимальными и вы смогли бы успешно записать свои измененные записи на диск.

    Note Замечание

    При использовании табличного буферирования, вы должны вызывать TABLEUPDATE() для записи буферированных изменений на диск. Если вы этого не сделаете, все изменения, произведенные в записях будут потеряны при выходе пользователя из Visual FoxPro.

Reprocessing (Повторная обработка)

Определяет сколько раз или как долго Visual FoxPro будет пытаться заблокировать запись или таблицу, которая уже заблокирована другим пользователем. Эта настройка соответствует настройке, устанавливаемой командой SET REPROCESS Command. Вы можете выбрать из:

  • Attempt Lock (Default). Только однократная попытка блокировки.

  • Attempt Lock (Automatic). Многочисленные попытки блокировки до успешного их завершения или до прекращения попыток блокировки пользователем с помощью нажатия ESC. Эквивалентно SET REPROCESS TO AUTO.

  • Wait for Lock. Многочисленные попытки блокировки до момента, когда запись станет доступной. Этот параметр не оставляет возможности пользователи прекратить попытки блокировки записи. Эквивалентно SET REPROCESS TO -1.

  • Retry Attempts. Указывает сколько раз может производиться попытка блокировки записи или таблицы. Если заблокировать запись или таблицу все же не удалось, то отображается сообщение об ошибке. Эквивалентно SET REPROCESS TO n, где n представляет собой число попыток блокировки.

  • Retry Seconds. Указывает продолжительность во времени попыток блокировки записи или таблицы в секундах. Если заблокировать запись или таблицу все же не удалось, то отображается сообщение об ошибке. Эквивалентно SET REPROCESS TO n SECONDS, where n представляет собой число секунт, в течение которых будут производиться попытки блокировки.

Смотрите также

Справочное руководство

Диалоговое окно Options (Параметры) (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Debug Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Debug (Отладка) диалогового окна Options (Параметры)
Смотрите также

Предоставляет вам возможность установки параметров для настройки окон отладчика Visual FoxPro, включая:

  • Шрифт и цвета.

  • Будет ли отслеживаться события таймера.

  • Будут ли отображаться номера строк.

  • Будут ли записываться выводы, направленные в окно Debug Output (Вывод отладчика) в файл записи логов.

Когда вы выберите Set As Default (Установить по умолчанию), которая появляется на каждой закладке, то Visual FoxPro сохранит все изменения, сделанные на всех закладках, в реестре (системной регистрационной базе данных Windows).

Environment (Среда)

Определяет среду отладки.

  • Debug frame (Фрейм отладчика) При выборе этой опции все окна отладчика появятся в одном большом фрейме, который является внешним по отношению к главному окну Visual FoxPro и который содержит свои собственные меню и полоски инструментов. Это позволяет сделать отладчик менее назойливым для вашего приложения в среде run-time. Если вы выберите эту опцию, вы можете открыть отладчик, выбрав пункт Debugger (Отладчик) в меню Tools.

  • FoxPro frame (Фрейм FoxPro) При выборе этой опции окна отладчика появляются в главном окне Visual FoxPro. Эта установка наиболее полезна в том случае, если вы желаете открыть только одно окно отладчика, например Watch (Наблюдение). Если вы выберите эту опцию, Visual FoxPro заместит пункт Debugger (Отладчик) в меню Tools командами, открывающими индивидуальные окна, а полоски инструментов индивидуальных окон отладчика будут размещены в главном окне Visual FoxPro.

    Note Замечание

    Вы не можете изменить установку этой опции только в одном случае - если у вас открыт отладчик или любое из его окон, или если полоска инструментов отладчика открыта на рабочем столе Visual FoxPro.

Display timer events (Отображать события таймера)

Выберите эту опцию, если вы желаете чтобы событие таймера элемента управления Timer отображались в окне трассировки Trace, когда будет достигнуто значение его установленного интервала. Если вы откажетесь от этой опции, события таймера будут по-прежнему происходить, но не будут отображаться в окне трассировки; это напоминает ситуацию, когда вы для какого-то события в окне трассировки выбираете Step Over.

With this check box cleared, Visual FoxPro filters timer events even when you are stepping through a timer event currently. Это определено This is by design. Visual FoxPro будет проходить через событие таймера в следующих ситуациях:

  • SET STEP установлено в ON.

  • На строке кода установлена точка прерыванияcode.

  • Точка прерывания установлена на значение, которое изменилось.

  • Вызван новый метод или вызвана новая процедура.

Specify Window (Укажите окно)

В этом блоке размещены пять радио-кнопок по числу окон отладчика и выбор окна с их помощью определяет настройки, которые вы можете сделать для выбранного окна. Выбор окна определяет возможность настроек, так как это указано ниже.

Call Stack (Стэк вызовов)

Для этого окна, помимо общих для всех окон настроек шрифта и цветов доступны перечисленные параметры опции:

  • Show call stack order (Показывать порядок стэка вызовов Отображает рядом с перечисленными в окне Call Stack число, наибольшее значение которого указывает на текущую исполняемую программу.

  • Show current line indicator (Показывать индикатор текущей строки) Определяет - будет ли отображаться индикатор текущей строки в окне Call Stack.

  • Show Call Stack indicator (Показывать индикатор стэка вызовов) Определяет - будет ли отображаться стреока в окне Call Stack для указания процедуры, отображаемой в окне Trace. Если текущая строки и процедуры стэка вызово одни и те же, то Visual FoxPro отображает только индикатор текущей строки.

Locals (Локальные)

Для этого окна отладчика в диалоговом окне не предусмотрено дополнительных опций.

Output (Вывод)

Для этого окна, помимо общих для всех окон настроек шрифта и цветов, отображает область Log debug output (Вывод логов отладчика), которая содержит перечисленные ниже опции:

  • Log Debug Output (Запись вывода отладчика) Копирует значения регистрируемой информации, записанной в окне Debug Output (Вывод отладичка) в текстовый файл. Если вы выберите эту опцию, вам необходимо будет указать файл, в который будут записываться информация. Используемым по умолчанию расширением для таких файлов является ".log". Visual FoxPro будет регистрировать вывод в файле только в том случае, если отображается окно Output. Вы можете отобразить информацию в окне Output (или послать ее в файл регистрации) с помощью команды DEBUGOUT или с помощью команды SET PRINTER, указанной в программе.

    Когда вы выходите из Visual FoxPro, эта опция очищается, так что вы непреднамеренно не перепишите файл регистрации вавода при следующем запуске Visual FoxPro.

  • Append (Добавлять) Определяет, что вывод отладчика записывается к конец файла, сохраняя оригинальное содержание, которое он имел до записи текущей регистрационной информации вывода.

  • Overwrite (Переписать) Определяет, что записываемая текущая информация будет замещать оригинальное содержание файла, записанное в предыдущей сессии.

Trace (Трассировка)

Для этого окна, помимо общих для всех окон настроек шрифта и цветов,
отображает доступные опции, перечисленные ниже:

  • Show line numbers (Показывать номера строк) Отображает номера строк слева от строки программного когда, отображаемого в окне Trace.

  • Trace between breakpoints (Трассировка между точками прерывания) Строки кода исполняются между установленными точками прерывания с установленной скоростью. Скорость исполнения каждой следующей строки определяется в секундах. Если вы откажетесь от этой опции, код между точками прерывания будет исполняться с нормальной скоростью, что определяется установкой по умолчанию системной переменной _THROTTLE в 0. Это эквивалентно использованию команды SET TRBETWEEN.

  • Pause between line execution (Пауза между исполнением строк) Устанавливает паузу, которая представляет собой задержку, измеряемую в секундах, между исполнением каждой строки кода. Эта опция позволяет вам замедлить исполнение программы для того, чтобы вы смогли просмотреть строки кода без необходимости ручного перехода к каждой следующей строке кода с с помощью кнопки Step Into (Шаг). Для того, чтобы эта оцпия работала опция Trace between breakpoints (Трассировка между точками прерывания) должна быть выбрана. Эквивалентно установке системной переменной _THROTTLE.

Watch (Наблюдение)

Для этого окна отладчика в диалоговом окне не предусмотрено дополнительных опций.

Font (Шрифт)

Здесь можно выбрать шрифт и стил для выбранного в данный момент окна отладчика. Например, для установки шрифта окна отладчика Trace выберите в области Specify Window (Указание окна) радио-кнопку Trace и, затем, выберите желаемый шрифт, его размер и стиль.

Colors (Цвета)

Area (Область)

Выберите вид текста, для которого вы желаете указать цвет. Например, для указания цвета текста, используемого для измененных значений выберите в выпадающем списке ChangedValue. Виды текста в списке Area зависят от окна, которое в данный момент выбрано радио-кнопкой в Specify Window (Указание окна).

Foreground (Передний план)

Выберите цвет текста для вида выбранного в Area (Область). Для использования цвета, используемого по умолчанию и установленного в панели управления Windows, выберите опцию Automatic (Автоматически).

Background (Фон)

Выберите цвет фона для выбранной области - вида текста. Например, для отображения комментариев в желтом цвете на голубом фоне, выберите желтый цвет в Foreground и голубой Background. Для использования цвета, используемого по умолчанию и установленного в панели управления Windows, выберите опцию Automatic (Автоматически).

Для получения более подробной информации смотрите описание Тестирование и отладка приложений.

Смотрите также

Справочное руководство

Окно Call Stack (Стэк вызовов)(Visual FoxPro)
Окно Debug Output (Вывод отладчика)
Окно Debugger (Отладчик)
Окно Trace (Трассировка)
Окно Watch (Наблюдение) (Visual FoxPro)
Диалоговое окно Options (Параметры) (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Editor Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Editor диалогового окна Options (Параметры)
Смотрите также

Предоставляет параметры для настройки функциональных возможностей редактирования в командном окне и большинстве редакторов Visual FoxPro. Например, эти параметры не применяются к окнам редактирования открытыми командами MODIFY FILE и MODIFY MEMO за исключением отмеченных случаев.

Когда вы щелкаете по кнопке Set As Default (Сохранить в качестве значений по умолчанию), которая имеется на каждой закладке этого диалогового окна, Visual FoxPro сохраняет установки в регистре Windows.

Область Editor options (Параметры редактора)

Предоставляет параметры для указания функциональных возможностей для окон редактирования.

Selection margin (Отступ выбора)

Определяет, будут ли редакторы отображать отступ слева от области редактирования в которой вы можете выделить строки и указать точку останова, закладку или ярлыки списка задач. Для получения более подробной информации смотрите Как: создавать закладки и ярлыки списка задач.

Drag drop between words (Перетаскивание между словами)

Определяет, будет ли операциям перетаскивания разрешено перетаскивать фрагменты внутрь слов или вставлять их только между словами.

Enable hyperlinks (Разрешить гиперссылки)

Определяет, будут ли редакторы распознавать строки, начинающиеся с "http:/" в качестве гиперссылок.

Comment string (Строка комментирования)

Определяет символ, который идентифицирует комментарий в коде. Строкой комментирования, используемой по умолчанию, является набор символов *!*.

Background Compile (Фоновая компиляция)

Определяет стиль форматирования, используемый для указания недопустимого синтаксиса в случае, когда включена расцветка кода. Когда во время печати текущей строки вы напечатаете недопустимый синтаксис, Visual FoxPro отобразит эту строку кода с помощью одного из перечисленных стилей форматирования:

  • Red Inversion (Инверсия красного) Недопустимый синтаксис появится окрашенным в красный цвет, а допустимые ключевые слова будут появляться в розовом цвете. (По умолчанию)

  • Gray (Серый) Строка, содержащая недопустимый синтаксис будет появляется, окращенная в серый цвет.

  • Underline (Подчеркивание) Строка, содержащая недопустимый синтаксис появится подчеркнутой.

  • None (Нет) Недопустимый синтаксис никак не выделяется.

Установка Background Compile поддерживается для окон редактирования, открытых с помощью команды MODIFY MEMO. Для получения более подробной информации смотрите Как: отобразить и отпечать исходный код в цвете.

Highlight duration (Длительность подстветки)

Указывает период в миллисекундах, в течение которого будут подсвечиваться компоненты внутри круглых скобок или разделителях. Вы можете выбрать одну из установок из списка или вручную впечатать конкретное значение.

Область Syntax color settings (Цвета синтаксиса)

Предоставляет параметры для расцветки синтаксиса.

Area (Область)

Указывает элемент программы, для установки шрифта и стиля цвета. Когда вы делаете ваш выбор, другие параметры обновляются значениями, согласующимися с выбранной областью.

Font style (Стиль шрифта)

Указывает стил шрифта для выбранной области. Например, для отображения всех комментариев в программа курсивом, выберите Comments (Комментарии) в боксе Area, затем выберите Intalic (Курсив) в боксе Font style (Стиль шрифта).

Foreground (Цвет текста)

Указывает цвет для текста в выбранной области. Для использования цветов, определенных по умолчанию в панели управления (Control Panel), выберите значение Automatic.

Background (Цвет фона)

Указывает цвет для фона для выбранной области. Например, для показа комментария в желтом цвете на голубом фоне, выберите Comments (Комментарии) в боксе Area (Область), выберите желтый Foreground (Цвет текста) и, затем, выберите голубой в Background (Цвет фона). Для использования цветов, определенных по умолчанию в панели управления (Control Panel), выберите значение Automatic..

Sample area (Пример области)

Отображает эффект, получаемый от ваших установок.

Reset All (Сбросить все)

Сбрасывает расцветку синтаксиса в используемую Visual FoxPro по умолчанию.

Смотрите также

Задачи

Как: отобразить и отпечатать исходный код в цвете

Справочное руководство

Диалоговое окно Edit Properties (Свойства редактирования)
Команда MODIFY FILE
Команда MODIFY MEMO
Диалоговое окно Options (Параметры) (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Field Mapping Tab, Options Dialog Box

Visual FoxPro 9.0
Заклада Field Mapping (Разметка полей) диалогового окна Options (Параметры)
Смотрите также

Дает вам возможность указать, какой тип элемента управления Visual FoxPro будет создаваться при перетаскивании таблицы или поля в форму из DataEnvironment Designer (Конструктора DataEnvironment), Database Designer (Конструктора базы данных) или окна Project Manager (Диспетчера проекта). Например, вы можете указать, что Visual FoxPro будет создавать элемент управления класса editbox, когда вы перетаскиваете на форму поле с типом данных Character.

Когда вы щелкаете по командной кнопке Set As Default — которая имеется на каждой закладке диалогового окна — Visual FoxPro сохраняет эту настройку в регистре (в системной регистрационной базе данных Windows). Отметьте, что на этой закладке, щелчок по OK также сохраняет в регистре установки настройки.

Область Map fields to classes for drag-and-drop operations (Разметка полей в классы для операций drag-and-drop)

Отображает текущую разметку типов полей в классы (элементов управления). Этот список включает в себя:

  • Type (Тип) Все поддерживаемые типы данных для полей базы данных. Тип поля Multiple используется для указания класса, который будет создан при перетаскивании целой таблицы или множества полей за один присест. Тип поля Label используется для указания класса, который будет создан для заголовков полей.

  • Class Library (Библиотека класса) Библиотека содержаит определение класса, размечаемоего в тип поля. Если эта колонка пуста, тип поля размечается в базовый класс Visual FoxPro.

  • Class Name (Имя класса) Класс, в который будет размечено поле и которй указывает тип элемента управления, который будет создан при перетаскивании поля в форму или в элемент управления контейнерного типа.

Modify (Изменить)

Щелчок по этой кнопке отобразит диалоговое окно Modify Field Mapping (Изменение разметки поля), в котором вы можете указать другую разметку для выбранного типа поля.

Для изменения разметок поля

  1. На закладке Field Mapping (Разметка поля) диалогового окна Options (Параметры) щелкните по кнопке Modify (Изменить).

  2. В диалоговом окне Modify Field Mapping (Изменение разметки поля) выберите тип поля из списка Type.

  3. Для установки класса, который будет созадваться всякий раз, когда вы будете перетаскивать таблицу целиком или набор полей, выберите Multiple.

  4. Для выбора библиотеки класса (файла .vcx), содержащей элемент управления, который вы желаете ассоциировать с выбранным типом поля, щелкните по кнопкеBrowse.

  5. Выберите имя класса в списке Name (Имя). Выбранный вами класс будет создавать каждый раз, когда выбранное поле будет перетаскиваться на форму.

  6. Щелкните по OK или Apply (Применить) для подтверждения выбранной разметки.

Область Database options (Параметры базы данных)

Drag-and-drop field caption (Заголовок поля для Drag-and-drop)

Выберите этот параметр, если вы желаете, чтобы Visual FoxPro использовать имя поля в качестве заголовка создаваемого класса. Если вы снимите метку с этого чек-бокса, Visual FoxPro не будет создавать заголовков полей.

Copy field comment (Скопировать комментарий для поля)

Выберите этот параметр, если вы желаете, чтобы Visual FoxPro копировал комментарий из описания поля в свойство Comment класса при его создании.

Copy field input mask (Копировать маску ввода поля)

Выберите этот параметр, если вы желаете, чтобы Visual FoxPro копировал маску поля в свойство InputMask класса при его создании.

Copy field format (Копировать формат поля)

Выберите этот параметр, если вы желаете, чтобы Visual FoxPro копировал спецификации форматирования из определения поля в свойство Format класса при его создании.

Смотрите также

Задачи

Как: добавить в форму элементы управления Visual FoxPro
Как: добавить в форму элементы управления с помощью Component Gallery (Галереи компонентов)

Справочное руководство

Диалоговое окно Modify Field Mapping (Изменение разметки поля)
Диалоговое окно Options (Параметры) (Visual FoxPro)
Data Environment Designer (Конструктор Data Environment)
Окно Project Manager (Диспетчера проекта)

Концепции

Database Designer (Конструктор базы данных) (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Modify Field Mapping Dialog Box

Visual FoxPro 9.0
Изменение схемы Масштабирование Полей БД, диалоговый бокс
Смотрите Также

При помощи инструментов данного Диалогового бокса можно изменить схему (или правило) соответствия (масштабирования) рассматриваемого Поля из Таблицы Базы Данных и поставленного в соответствие некоторого Контрола (или Класса) в том случае, когда вы выполняете операцию Переноса выбранного Поля на указанный Контрол (Drag-end-Drop) в режиме активных системных окон Data Environment, дизайнер, Database, дизайнер, или Системное окно Project Manager.

Данный диалоговый бокс активируется при нажатии на кнопку Modify (Изменить) в соответствующем окне Закладка Field Mapping, диалоговый бокс Options.

Type (Тип)

Выбирается Тип поля таблицы базы данных, для которого требуется изменить схему преобразования. По-умолчанию, для данного Поля устанавливается Тип, который установлен в Закладке Field Type Mapping (Схема определения Типа Поля).

Информация о Классе Контрола

Library (Библиотека)

Определяется полное имя библиотеки классов, которая содержит заданный класс, который будет создан на Форме в результате переноса Поля из Дизайнера БД в Дизайнер Форм. Если в данном текстовом поле какое-либо значение отсутствует, то создается Базовый Класс Visual FoxPro.

Browse (Обзор, выбор)

Открывает соответствующий Диалоговый Бокс Open, который позволяет выбрать требуемую Библиотеку Классов.

Name (Имя)

Выбирается требуемый Класс, который будет выполнять функцию масштабирования для рассматриваемого Поля. Данный Список содержит только классы выбранной библиотеки классов; для отображения базовых классов Visual FoxPro в данном писке, требуется очистить соответствующее текстовое поле Library. Ниже Списка отображается краткое описание выбранного базового класса для рассматриваемого Поля Базы Данных.

Apply (Применить)

Сохраняет выбранную схему масштабирования. Данная кнопка (Apply) рекомендуется для использования в том случае, когда вы намерены определять схему масштабирования для другого Поля, то есть чтобы диалоговый бокс Field Type Mapping - остался открытым. Если рассмотренный Инструмент вам больше не понадобится - нажмите кнопку OK.

См. также

Задачи

Как: Добавить Контрол Visual FoxPro в Форму

Описание

Закладка Field Mapping, Диалоговый бокс Options
Options, диалоговый бокс (Visual FoxPro)
Data Environment, Дизайнер
Системное окно Диспетчера Проектов

Концепции

Дизайнер Базы Данных (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


File Locations Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка File Locations (Размещение файлов) диалогового окна Options (Параметры)
Смотрите также

Содержит и указывает размещение в каталогах программ и файлов, используемых Visual FoxPro. Для получения более подробной информации об изменении и сохранении установок смотрите описание задачи Как: посмотреть и изменить установки среды.

Список File Type (Тип файла)

Beautify (Отформатировать/Украсить)

Указывает имя файла приложения, которое вызывается когда вы выбираете Beautify (Отформатировать/Украсить) в меню Tools (Инструменты); по умолчанию значение установлено в приложение Beautify.app. Когда вы открываете программу или текстовый файл в окне редактирования, команда Beautify (Отформатировать/Украсить) появляется в меню Tools (Инструменты). Эта опция соответствует установке системной переменной _BEAUTIFY.

Builders (Компоновщики/построители)

Указывает имя файла приложения, которое вызывается когда вы выбираете Builder (Компоновщик) в контекстном меню при работе в Form Designer (Конструкторе форм). Компоновщик состоит из одного или нескольких диалоговых блоков, которые помогают вам установить свойства для определенных элементов управления или скомбинировать опции, для создания конкректного выражения. Эта установка соответствует установке системной переменной _BUILDER. Компоновщики могут быть автоматически отображены в случае, если вы установили параметр Builder lock (Блокировка компоновщика) на Закладке Forms диалогового окна Options (Параметры).

Class Browser (Обозреватель класса)

Указывает имя файла приложения, которое вызывается когда вы выбираете в меню Tools (Инструменты) пункт Class Browser (Обозреватель класса); по умолчанию значение установлен в приложение Browser.app. Этот файл соответствует указанному в системной переменной _BROWSER.

Code References (Ссылки кода)

Указывает имя приложения, которое вызывается когда вы выбираете Code References (Ссылки кода) в меню Tools (Инструменты), или когда вы выбираете команду Look Up Reference (Поиск ссылки) или View Definition (Определение вида) в контекстном меню окна редактирования программ. Этот файл соответствует указанному в системной переменной _FOXREF; установлено по умолчанию в приложение FoxRef.app.

Component Gallery (Галерея компонентов)

Указывает имя файла приложения, которое вызывается когда вы выбираете Component Gallery (Галерея компонентов) в меню Tools (Инструменты); установлено по умолчанию в приложение Gallery.app. Эта установка соответствует установке,
определенной в системной переменной _GALLERY.

Converter (Конвертер)

Указывает имя файла приложения, которое вызывается когда вы открываете форму, отчет или прочий компонент приложения, созданный в ранних версиях FoxPro или Visual FoxPro. Указанное приложение преобразует компонент в текущий формат файла. Этот параметр соответствует установке, определенной в системной переменной _CONVERTER.

Coverage Profiler

Указывает имя файла приложения, которое вызывается когда вы выбираете Coverage Profiler в меню Tools (Инструменты); установлен по умолчанию в приложение Coverage.app, которое по умолчанию создает выводы Debugger coverage и profiler output. Эта установка соответствует установке, определенной в системной переменной _COVERAGE.

CrossTab Generator (Генератор кросс-таблиц)

Указывает имя и размещение программы, которая создает перекрестные таблицы.

Default Directory (Каталог по умолчанию)

Определяет каталог Visual FoxPro, используемый по умолчанию. Этот параметр соответствует установке, создаваемой командой SET DEFAULT.

Default Include File (Файл включения, по умолчанию)

Указывает файл заголовков предопределенных для времени компиляции констант, используемый по умолчанию значение для включения во все создаваемые пользователем, то есть вами, классы, формы и наборы форм. Эта установка пуста по умолчанию и соответствует установке, определенной в системной переменной _INCLUDE.

Expression Builder (Компоновщик выражения)

Указывает имя файла приложения, которое вызывается, когда вы выдаете команду GETEXPR или открываете диалоговое окно Expression Builder (Компоновщика выражения) из Visual FoxPro. Эта установка пуста по умолчанию и соответствует установке, определенной в системной переменной _GETEXPR. Для получения более подробной информации смотрите Диалоговое окно Expression Builder (Компоновщик выражения).

FoxCode

Определяет имя и размещение таблицы, которая обеспечивает функциональность IntelliSense; установлено по умолчанию в FoxCode.dbf. Эта установка соответствует установке, определенной в системной переменной _FOXCODE.

FoxTask (Таблица списка задач)

Определяет имя и размещение таблицы, которая содержит записи списка задач; установлено по умолчанию в FoxTask.dbf. Этот параметр соответствует установке, определенной в системной переменной _FoxTask.

HTML Generator (Генератор HTML)

Указывает имя файла приложения, которое вызывается когда вы выбираете Save As HTML (Сохранить в виде HTML) в меню File (Файл); установлено по умолчанию в Genhtml.prg. Эта установка соответствует установке, определенной в системной переменной _GENHTML.

Help File (Файл справки/помощи)

Определяет имя и размещение используемого по умолчанию файла справки "Help", который открывается, когда вы выбираете Microsoft Visual FoxPro Help в меню Help (Помощь) или нажимаете F1; установлено по умолчанию в dv_FoxHelp.chm. Эта установка соответствует установке, создаваемой командой SET HELP.

Note Замечание

Если расширение имени файла равно .hlp, то тогда используется графический файл справки "Help". Если расширение имени файла равно .dbf, тогда используется подсказка в .dbf-стиле. Если расширение имени файла не указано, то по умолчанию подразумевается графический Help.

IntelliSense Manager (Диспетчер IntelliSense)

Определяет имя и размещение программы, которая вызывается когда вы выбираете IntelliSense Manager (Диспетчер IntelliSense) в меню Tools (Инструменты); установлено по умолчанию в приложение FoxCode.app, которое обеспечивает Visual FoxPro IntelliSense. Эта установка соответствует установке, определенной в системной переменной _CODESENSE.

Menu Builder (Компоновщик меню)

Указывает имя файла программы компоновщика меню; установлено по умолчанию в GenMenu.prg. Эта установка соответствует установке, определенной в системной переменной _GENMENU.

Menu Designer (Конструктор меню)

Указывает внешнее приложение конструктора меню. Эта установка соответствует установке, определенной в системной переменной _MENUDESIGNER.

Object Browser (Обозреватель объекта)

Определяет имя и размещение программы, которая вызывается, когда вы выбираете Object Browser в меню Tools (Инструменты); установлено по умолчанию в ObjectBrowser.app. Эта установка соответствует установке, определенной в системной переменной _ObjectBrowser.

Report Builder (Компоновщик отчета)

Указывает имя файла приложения, вызываемого в ответ на события компоновщика в конструкторах отчетов и этикеток. Эта установка соответствует установке, определенной в системной переменной _REPORTBUILDER.

Report Output (Вывод отчета)

Указывает имя файла приложения, вызываемого движком отчета в режиме "object-assisted" для получения ссылки на Reportlistener, когда ничто не было заранее указано. Эта установка соответствует установке, определенной в системной переменной _REPORTOUTPUT.

Report Preview (Предпросмотр отчета)

Указывает имя файла приложения, вызываемого объектами Reportlistener для получения ссылки на контейнер предпросмотра, который ранее не был указан. Эта установка соответствует установке, определенной в системной переменной _REPORTPREVIEW.

Resource File (Файл ресурса)

Указыает, будет ли Visual FoxPro хранить информацию о своем текущем состоянии, куда входит информация о макросах, размерах и размещения окон и тому подобная, в файле ресурса и если да, то какой файл будет использован. По умолчанию этот параметр установлен в FoxUser.dbf.

Note Замечание

Если этот параметр не определен, Visual FoxPro сбрасывает состояние системы в ее изначальное состояние каждый раз при своем запуске. В дополнение к этому, в таких случаях некоторые установки в диалоговом окне Options (Параметры) будут недоступны.

Эта установка соответствует установке, создаваемой командой SET RESOURCE.

Samples Directory (Каталог образцов)

Указывает каталог, содержащий файлы образцов Visual FoxPro. Эта установка соответствует установке, определенной в системной переменной _SAMPLES.

Search Path (Путь поиска)

Указывает каталоги, в которых Visual FoxPro будет искать файлы, которые не найдены в каталоге, определенном в качестве каталога по умолчанию. По умолчанию эта установка ничего не содержит, то есть пустая. Если вы указываете каталоги, то они должны быть разделены запятой или точкой с запятой. Эта установка соответствует установке, создаваемой командой SET PATH.

Note Совет

Для просмотра и выбора нескольких каталогов в диалоговом окне Change File Location (Изменить местонахождение файла), щелкните по кнопке (...). Точки с запятой будут автоматически вставлены при просмотре и выборе нескольких каталогов.

Startup Program (Запускающая программа)

Указывает имя файла приложения, которое вызывается когда вы запускаете Visual FoxPro и по умолчанию не указывается. Установка этого параметра соответствует установке, определенной в системной переменной _STARTUP.

Task List (Список задач)

Указывает имя и размещение программы, которая вызывается, когда вы выбираете Task List (Список задач) в меню Tools (Инструменты); по умолчанию установлено в приложение TaskList.app, которое управляет списком задач. Установка этого параметра соответствует установке, определенной в системной переменной _TASKLIST.

Task Pane (Панель задач)

Указывает имя и размещение программы, которая вызывается, когда вы выбираете Task Pane (Панель задач) в меню Tools (Инструменты); установлено по умолчанию в приложение TaskPane.app, который отображает области, содержащие информацию и показывает важнейшие задачи для их быстрого и легкого использования. Установка этого параметра соответствует установке, определенной в системной переменной _TASKPANE.

Temporary Files (Временные файлы)

Указывает каталог, в котором Visual FoxPro сохраняет временные файлы, образующиеся например, при сортировке или индексировании. Поскольку временные файлы могут вырасти до огромных размеров, указажите каталог для которого будет обеспечено соответствующее пространство на диске. Для получения высшей производительности, укажите самый быстрый дисковод; например, в многопользовательской среде вы можете указать локальный диск.

Toolbox (Ящик с инструментами)

Указывает имя и размещение программы, которая вызывается, когда вы выбираете Toolbox в меню Tools (Инструменты); установлено по умолчанию значение в приложение Toolbox.app, которое отображает элементы и наборы инструментов для создания приложений. Эта установка соответствует установке, определенной в системной переменной _TOOLBOX.

Wizards (Мастера)

Указывает имя файла приложения, которое вызывается когда вы запускаете или выбираете мастер из меню Tools (Инструменты). Эта установка соответствует установке, определенной в системной переменной _WIZARD.

Смотрите также

Справочное руководство

Диалоговое окно Options (Параметры) (Visual FoxPro)

Концепции

Visual FoxPro Configuration

Прочие ресурсы

Настройка среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Forms Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Forms (Формы) диалогового окна Options (Опции)
Смотрите также

Содержит опции для Конструктора форм.

Эта страница содержит две командные кнопки, которые сохраняют изменения, произведенные вами в опциях. Когда вы щелкните по OK, измененные опции будут действительны только в текущем сеансе Visual FoxPro, когда же вы щелкните по Set As Default (Сохранить как значения по умолчанию), которая появляется на всех страницах диалогового окна Опции (Options), Visual FoxPro сохранит установки в регистре (системной базе данных регистрации Windows).

Note Замечание

Если экземпляр Конструктора форм (Form Designer) уже открыт к моменту, когда вы производите изменения в диалоговом окне Опции (Options), Констуктор форм (Form Designer) не будет отражать изменения, которые вы сделали до того, как вы его закроете и откроете заново.

Разлиновка (Grid)

Линии разлиновки (Grid lines)

Указывает, что Конструктор форм (Form Designer) будет отображать линии разлиновки, которые помогут вам выравнивать элементы управления на поверхности формы.

Note Замечание

Эти значения, являются значениями по умолчанию только для новых форм. Установки для существующих форм сохраняются в файле ресурса.

Прижать к разлиновке (Snap to grid)

Определяет, что когда вы вводите новый элемент управления, то его стороны будут прижаты к блажайшим линиям разлиновки.

Note Замечание

Эти значения, являются значениями по умолчанию только для новых форм. Установки для существующих форм сохраняются в файле ресурса.

Горизонтальное пространство (в пикселях) (Horizontal spacing (pixels))

Указывает ширину пространтсва между горизонтальными линиями разлиновки. Ширина основывается на опции Единицы шкалы (Scale units) на закладке Формы (Forms).

Note Замечание

Эти значения, являются значениями по умолчанию только для новых форм. Установки для существующих форм сохраняются в файле ресурса.

Вертикальное пространство (в пикселях) (Vertical spacing (pixels))

Указывает высоту пространтсва между вертикальными линиями разлиновки. Высота основывается на опции Единицы шкалы (Scale units) на закладке Формы (Forms).

Note Замечание

Эти значения, являются значениями по умолчанию только для новых форм. Установки для существующих форм сохраняются в файле ресурса.

Показывать позицию (Show position)

Определяет - будут ли позиция и размеры объекта отображаться в полоске статуса.

Упорядочивание по Tab (Tab ordering)

Определяет, как устанавливается порядок обхода по нажатию клавиши "tab" в форме. Порядок определяется выбором из комбобокса; если вы желаете установить его по щелчку на элементе управления выберите Интерактивный (Interactive). Для определения порядка обхода с помощью диалогового окна Диалоговое окно Порядок обхода элементов в форме (Tab Order), выберите По списку (By List).

Note Замечание

Определяет, как кнопка Set Tab Order на панели инструментов Конструктора форм (Form будет определять установку порядка обхода элементов в форме.

Единицы шкалы (Scale units)

Определяет либо Pixels, либо Foxels, которые устанавливают шкалу по умолчанию для Конструктора форм (Form Designer) и Конструктора классов (Class Designer).

Максимальная площадь дизайна (Maximum design area)

Определяет максимальный размер формы в design time. Значением по умолчанию определено Нет (None), которое предотвращает обрезание формы внутри Конструктора формы (Form Designer). Вы не можете установить размер формы большим, чем определено указанным разрешением. Неплохой идеей является указание минимального разрешения, что позволит всем пользователю гарантировано увидеть полную форму.

Классы шаблонов (Template classes)

Указывает библиотеку класса и класс, на котором будут основываться ваши новые формы и наборы форм. По умолчанию используется базовый класс формы Visual FoxPro.

Набор форм (Form set)

Отображает диалоговое окно Шаблон набора форм (Form Set Template), в котором вы можете выбрать шаблон набора форм.

Форма (Form)

Отображает диалоговое окно Шаблон форм (Form Template), в котором вы можете выбрать шаблон форм.

Блокировка построителя/компоновщика (Builder lock)

Определяет, будет ли автоматически отображаться в Конструкторе форм (Form Designer) построитель/компоновщик в случае, когда вы создаете элемент управления, имеющий свой, зарегистрированный построитель/компоновщик.

Запрос сохранения изменений до запуска форм (Prompt to save changes before running form)

Определяет, будет ли в случае запуска формы из Конструктора форм (Form Designer) выводиться запрос о сохранении сделанных вами изменений или нет. Если вы снимите метку с этой опции, Констуктор форм (Form Designer) будет автоматически сохранять изменения перед запуском форм.

Смотрите также

Справочное руководство

Конструктор форм (Form Designer)
Диалоговое окно Опции (Options) (Visual FoxPro)
Диалоговое окно Порядок обхода элементов формы (Tab Order)
Диалоговое окно Шаблон набора форм (Form Set Template)
Диалоговое окно Шаблон формы (Form Template)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Form Set Template Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Шаблон для объекта FormSet
См. также

Определение шаблона для объектов типа FormSet.

Class

Определяет имя класса формы.
Class name

Определяет библиотеку классов, содержащую указанный.

См. также

Другие ссылки

Закладка Forms , Диалоговый бокс Options
Диалоговый бокс Options
Дизайнер Форм
Диалоговый бокс Form Template

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Form Template Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Form Template (макет формы)
См. Также

Определяет макет для создаваемой формы.

Class

Определяет имя файла, содержащего описание макета для формы.

Class name

Список библиотек классов, для выбора требуемой библиотеки.

См. также

Описание

Закладка Forms, диалоговый бокс Options
Диалоговый бокс Options (Visual FoxPro)
Диалоговый бокс Form Set Template (макет FormSet)
Закладка IDE, Диалоговый бокс Options

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


General Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка General (Общие) диалогового окна Options (Настройки)
Смотрите также

Содержит настройки звуковых сигналов, программирования, ввода данных и прочие параметры для Visual FoxPro.

Когда вы щелкаете по Set As Default — которая появляется на каждой закладке диалогового окна — Visual FoxPro сохраняет все изменения, которые были сделаны на всех закладках окна.

Предупреждающие звуковые сигналы

Off (Выкл.)

Отключает звуковой сигнал, который предусмотрен при возникновении ошибок. Соответствует команде SET BELL.

Default (По умолчанию)

Устанавливает звуковой сигнал предпреждения об ошибке в выбранный по умолчанию для системы. Соответствет команде SET BELL.

Play (Проиграть)

Устанавливает звуковой сигнал предпреждения об ошибке в звуковой .wav файл. Напечатайте имя в блоке ввода имени файла или щелкните по кнопке выбора для поиска подходящего, существующего .wav файла. Соответствет команде SET BELL.

Программирование

Прекращение программы по клавише Escape

Указывает, что вы можете прекратить исполнение запущенной программы, нажав на клавишу ESC. Соответствует команде SET ESCAPE.

Log compilation errors (Запись ошибок компиляции)

Указывает, что Visual FoxPro будет записывать ошибки компиляции в файл с тем же именем, что и имя файла проекта, но с расширением .err. Соответствует команде SET LOGERRORS.

SET DEVELOPMENT (Установка разработки)

Указывает, что Visual FoxPro будет перекомпилировать программу до ее запуска, если объектный код более старый, чем текущий код программы. Соответствует команде SET DEVELOPMENT.

dBASE compatibility (Совместимость с dBASE)

Указывает совместимость с языками FoxBASE+ и dBASE. Соответствует
команде SET COMPATIBLE.

Use Visual FoxPro color palette (Использовать цветовую палитру Visual FoxPro)

Определяет, что Visual FoxPro будет применять цветовую палитру по умолчанию для всех bitmaps и объектов OLE, что предотвращает смещение палитры, когда одновременно отображается несколько картинок. Соответствует
команде SET PALETTE.

Confirm file replacement (Подтверждать замещение файлов)

Указывает, что Visual FoxPro будет запрашивать подтверждение, когда вы будете переписывать существующий файл новым. Соответствует
команде SET SAFETY.

Browse IME control (Вывод IME для Browse)

Определяет, что Visual FoxPro будет отображать Input Method Editor, когда вы перемещаетесь в текстовый блок в окне Browse. Эта установки применяется только в том случае, когда вы работаете в среде двухбайтных символов (DBCS), что характерно для ряда восточных языков. Соответствует команде SET BROWSEIME.

Data Entry (Ввод даных)

Navigation keys (Ключи навигации)

Определяет - какие ключи навигации Windows- или MS-DOS совместимые, будут использоваться для таких задач, как перемещение между элементами управления в формах. Соответствует команде SET KEYCOMP.

Fill new records with current values (Заполнять новую запись текущими значениями)

Определяет, что Visual FoxPro будет автоматически копировать значения из текущей записи в новую запись, которую вы только что вставили или дополнили. Соответствует команде SET CARRY.

Enter or tab to exit fields (Использовать Enter или tab для выхода из поля)

Определяет, что если вы пожелаете выйти из текстового блока, то можете сделать это нажав ENTER или TAB. В противном случае, вы можете выйти из текстового блока печатанием в нем последнего символа. Соответствует команде SET CONFIRM.

Year 2000 Compliance (Соответствие году 2000)

Strict Date Level (Уровень строгой даты)

Определяет, что в случае ввода двусмысленной даты или константы DateTime будет сгенерированы ошибки. Соответствует команде SET STRICTDATE.

Смотрите также

Справочное руководство

Диалоговое окно Options (Параметры) (Visual FoxPro)
Функция IMESTATUS()
Окно трассировки (Trace)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


IDE Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка IDE (Интерактивная среда разработки) диалогового окна Options (Настройки)
Смотрите также

Содержит настройки для редакторов Visual FoxPro.

Область Specify file/window (Укажите файл, окно)

Позволяет вам указать для каких типов файлов действуют настройки, определенные на этой закладке.

Type (Тип):

Позволяет вам указать редакторы или типы файлов, для которых вы устанавливаете условия редактирования по умолчанию..

Extensions (Расширения):

Указывает расширения файла для выбранных типов файлов.

Override individual settings (Переписать индивидуальные установки)

Позволяет вам временно переписать настройки по умолчанию, сохраненные в файле ресурса FoxUser.

Область Indentation (Отступ)

Позволяет вам указать размер и поведение при вводе отступов с помощью пробелов или табуляции.

Tab size (Размер табуляции)

Указывает ширину, в символах, для табуляции для текущего выбранного типа файла. Допустимый диапазон лежит в пределах от 1 до 50. Значением по умолчанию является ширина в 4 символа.

Indent size (Размер отступа)

Указывает ширину, в символах, отступа параграфа для текущего выбранного типа файла. Если это значение отличается от размера, определенного для табуляции, до создания указанного значения используются дополнительная табуляция или необходимое количество пробелов. Допустимый диапазон лежит в пределах от 1 до 50. Значением по умолчанию является ширина в 4 символа.

Insert spaces (Вставлять пробелы)

Определяет, что при нажатии клавиши табуляции вместо символов табуляции будут вставляться пробелы для текущего выбранного типа файла. Значением по умолчанию является ширина в 4 символа.

Keep tabs (Поддерживать табуляции)

Определяет, что для текущего выбранного файла при нажатии клавиши табуляции будут вставляться символы табуляции (определено по умолчанию).

Область Save options (Сохранение значений)

Позволяет вам указать - как будут сохраняться файлы выбранного типа.

Make backup (Создавать резерную копию)

Для некоторых типов файлов, определяет - будет ли создаваться резервная копия файла всякий раз, когда вы сохраняете файл этого типа.

Save with line feeds (Сохранять с переводом строки)

Указывает, что указанный тип файлов будет сохраняться с символами возврата каретки и перевода строки CHR(13)+CHR(10).

Save with end-of-file marker (Сохранять с маркером конца файла)

Указывает, что текущий тип файла будет сохраняться с маркером CTRL+Z в конце файла.

Compile before saving (Скомпилировать перед сохранением)

Определяет, что перед сохранением выбранного типа файла будет произведена попытка компиляции.

Appearance and behavior (Внешний вид и поведение)

Позволяет вам указать как в выбранном типе файла будет отображаться текст.

Alignment (Прижим):

Определяет форматирование прижима для выбранного типа файла: слева, справа или по центру.

Font (Шрифт):

Определяет шрифт, его стиль размер и скрипт для текущего типа файла.

Use font script (Использовать скрипт шрифта)

Определяет, для текущего шрифта будет глобально для всего Visual FoxPro будет использоваться скрипт. Если этот чек-бокс не выбран, то Visual FoxPro использует скрипт шрифта, используемый Windows по умолчанию.

Drag-and-drop editing (Редактирование перетаскиванием)

Определяет - будут ли последовательности файлов выбранного типа предоставляет поведение перетаскивания (или, иными словами, будут ли разрешены операции drag-and-drop). Для запрещения drag-and-drop, вы должны, кроме того, отметить чек-бокс override individual settings (Переписать индивидуальные установки). Эти параметры, однажды примененные, будут работать на всех файлах выбраннных типов при их последовательном открытии.

Automatic indent (Автоматический отступ)

Позволяет вам указать, что в последовательностях строк будет автоматически поддерживаться отступ.

Show line/column position (Показывать позицию строки/колонки)

Предоставляет вам возможность отображать в статусной строке главного окна, позицию и номер колонки в полях типа Memo курсора

Word wrap (Перенос слов)

Для некоторых типов файлов, позволяет вам указать - будет ли производится перенос слов на следующую строку в пределах границ окна редактирования.

Syntax coloring (Раскраска синтаксиса)

Позволяет вам указать будет ли возможна раскраска синтаксиса для выбранного типа файлов. Вы можете управлять параметрами раскраски синтаксиса на Закладке Editor (Редактор) диалогового окна Options (Настройки).

Embedded hyperlinks (Вставленные гиперссылки)

Позволяет вам указать - будут ли ли включены гиперссылки в выбранный тип файлов. Аттрибыту гиперссылок nonvisited (непосещенные), visited (помещенные) и hover (накрываемые курсором мыши) доступны в случае, если у вас установлен Internet Explorer.

Display white space (Отображать белые пространства)

Позволяет вам указать - будут ли в редакторах отображаться пробелы, табуляции, параграфы и прочие несимвольные марекеры для выбранного типа файлов.

Apply button (Командная кнопка Применить)

Завершает сохранение настроек для текущего выбранного типа файлов.

Reset All button (Командная кнопка Сбросить все)

Сбрасывает настройки для выбранного типа файлов в настройки по умолчанию, определенные Visual FoxPro. Для сброса настроек для всех типов, вы должны использовать список в области Specify file/window (Укажите файл/окно), затем щелкнуть по командной кнопке Reset All (Сбросить все) для каждого типа файла в списке.

Смотрите также

Справочное руководство

Editor диалогового окна Options (Настройки)
Options Dialog Box (Visual FoxPro)
Projects диалогового окна Options (Настройки)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Projects Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Projects (Проекты) диалогового окна Options (Параметры)
Смотрите также

Содержит настройки для Project Manager (Диспетчера проекта).

Когда вы щелкаете по кнопке Set As Default — которая имеется на каждой закладке диалогового окна — Visual FoxPro сохраняет настройки параметров в регистре (системной регистрационной базе данных Windows).

Область Project double-click action (Действия по двойному щелчку в проекте)

Определяет - будет ли Visual FoxPro запускать или выводить его окне соответствующего редактора, когда вы производите двойной щелчое на его имени в Project Manager (Диспетчере проекта).

Run Selected File (Запустить выбранный файл)

Visual FoxPro запустит выбранный файл, когда вы произведете двойной щелчок на его имени.

Modify Selected File (Изменить выбранный файл)

Visual FoxPro откроет соответствующий редактор или конструктор, когда вы произведете двойной щелчок на имени файла.

Prompt for Wizards (Запрос мастера)

Определяет, что Visual FoxPro будет запрашивать вас об использовании мастера (wizard), если соответствующий мастер имеется, при выборе вами New File (Новый файл) из меню Project (Проект) или при щелчке по кнопке New (Новый) в Project Manager (Диспетчере проекта).

Display user-defined container icons (Отображать определенные пользователем иконки контейнеров)

Определяет, что Visual FoxPro будет отображать в Project Manager (Диспетчере проекта) определенные вами иконки контейнеров.

Область Source control options (Параметра контроля исходников)

Установки в этой область позволяют вам указать, какое приложение контроля исходников вы будете использовать, и как это приложение будет работать, когда вы будете добавлять, изменять или удалять компоненты вашего проекта.

Active source control provider (Активный поставщик контроля исходников)

Указывает имя используемого приложения контроля исходников. Указанное здесь вами имя будет использоваться для новых проектов. Когда вы создаете проект, имя действующего приложения контроля исходниокв сохраняется в проекте, поэтому Visual FoxPro знает, какое приложение контроля исходников нужно использовать при каждом открытии проекта. Для запрещения использования приложения контроля исходников выберите None (Нет).

Automatically add new projects to source control (Автоматически добавлять новые проекта под контроль исходников)

Определяет, что при создании нового проекта вы будете запрошены о вводе проекта под контроль исходников. Если вы снимите метку с этой установки, то новые проекты не будут вводиться под контроль исходников автоматически и вам, при необходимости, нужно будет сделать это вручную.

Check out files upon modify (Вывод файла из под контроля для редактирования)

Определяет, что файлы будут автоматически выводиться из под контроля для пользователя, который редактирует их из Project Manager (Диспетчера проекта). Если файл уже был выведен из под контроля, то Visual FoxPro отобразит ошибку. Если вы снимите метку с этой установки, то пользователи, которые попытаются изменять файлы, которые не выведены из под контроля в ProjectManager (Диспетчере проекта) могут видеть эти файлы, но не могут их изменять.

Note Замечание

Если пользователь изменяет файлы проекта с помощью команд в окне Command (например с помощью команды MODIFY), они должны сначала вывести файлы из под контроля исходников.

Add files to source control upon add (Добавлять файлы под контроль исходников при их добавлении в проект)

Указывает, что файлы, вводимые в проект, автоматически вводятся под контроль исходников, установленного для этого проекта. Если вы снимите метку с этой установки, то файлы, которые вводятся, становятся частью файла проекта (.pjx), но не вводятся под контроль исходников. Однако, вы можете вручную поместить файлы проекта под контроль исходников в любое время.

Note Замечание

Файлы баз данных (.dbc), таблиц (.dbf), библиотек API и приложений при вводе их в проект не устанавливаются автоматически под контроль исходников. Однако, вы можете вручную поместить эти файлы под контроль исходников в любое время.

Remove files from source control upon removal from project (Удалять файлы из под контроля исходников при их выводе из проекта)

Определяет, что когда вы выводите файл из проекта, то наряду с этим этот файл выводиться и из под контроля исходников. Если вы снимите метку с этой установки, то при выводе файла из проекта он останется в базе данных контроля исходников. Такое действие создает архивную информацию о таком файле и, если файл при выводе из проекта не удалялся с диска, позволяет вам обращаться к нему, используя систему контроля исходников извне Visual FoxPro.

Display dialog box for shortcut menu commands (Отображать диалоговое окно для команд контекстного меню)

Определяет, что когда вы выбираете команду контроля исходников из контекстного меню проекта, Visual FoxPro позволяет вам выбрать более одного файла, который обслуживается выбранной командой. Если вы снимите метку с этой установки, то команда будет применяться только к выбранному в проекте файлу, но сама может быть заменена нажатием SHIFT+Right Mouse Click с последующим выбором другой команды.

Text generation (Генерация текста)

Указывает имя приложения, используемого для создания текстового представления бинарных файлов (формы, этикетки, меню, отчета или библиотеки класса) при каждом вводе файла под контроль исходников. Готовый текстовый файл вводится под контроль наряду с файлом таблицы ресурса и может быть использован для создания отчета о различии между множеством версий файла.

Project class (Класс проекта)

Отображает диалоговое окно Project Reference (Ссылка проекта), позволяющее вам указать используемый по умолчанию класс ProjectHook в качестве шаблона для новых проектов.

Смотрите также

Справочное руководство

Закладка Controls (Элементы управления) диалогового окна Options (Параметры)
Диалоговое окно New File (Новый файл) (Visual FoxPro)
Диалоговое окно Options (Параметры) (Visual FoxPro)
Окно Project Manager (Диспетчер проекта)

Концепции

Project Manager Hooks

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Regional Tab, Options Dialog Box

Visual FoxPro 9.0
Вкладка Regional диалогового окна Options
Смотрите также

Содержит опции для определения форматов даты, времени и формата чисел. Вы можете временно или постоянно отменять системные параметры настройки Visual FoxPro. Заданные здесь параметры влияют на то, в каком формате будет осуществляться вывод значений даты, времени и валюты.

При нажатии на кнопку Set As Default (Задать по умолчанию), которая присутствует на каждой вкладке этого диалогового окна, Visual FoxPro сохраняет параметры настройки в системном реестре.

Use System Settings (Использовать системные установки)

Определяет, что все параметры настройки на этой вкладке задаются системой (как установлено в Панели управления). При выборе этой опции, параметры на вкладке нельзя изменить.

Параметры могут быть изменены только при снятии пометки с этой опции.

Date and time (Дата и время)

Группа опций, определяющих как будут отображаться дата и время по умолчанию. Пример текущих параметров настройки появляется в верхнем правом блоке группы переключателей.

Date format (Формат даты)

Определяет, как будет отображаться дата (порядок расположения дня, месяца, года; название месяца прописью). Соответствует команде SET DATE.

Date Separator (Разделитель даты)

Задает символ, который выводится между частями даты. Для использования разделителя, заданного по умолчанию снимите пометку с этой опции. Соответствует команде SET MARK TO.

Century (Столетие)

Определяет, что год в дате будет выводиться с информацией о столетии, например, 1997. Для отображения года без информации о столетии (двумя цифрами, например, 97) снимите пометку с этой опции. Соответствует команде SET CENTURY.

12-Hour (12-часовой формат)

Определяет, что время будет отображаться в 12-часовом формате с дополнительным обозначением "AM" или "PM."

24-Hour (24-часовой формат)

Определяет, что время будет отображаться в 24-часовом формате.

Seconds (Отображение секунд)

Определяет, что при выаоде времени будут отображаться секунды.

Currency and numbers

Определяет, как данные типа валюта будут отображаться по умолчанию. Пример текущих параметров настройки появляется в верхнем правом блоке группы переключателей.

Currency Format

Определяет расположение символа, обозначающего денежную единицу. Соответствует команде SET CURRENCY.

Currency Symbol

Определяет символ или символы денежной единицы. Соотвтетствует команде SET CURRENCY.

1000 Separator

Определяет символ, который отображается между каждыми тремя цифрами слева от десятичного разделителя. Соответствует команде SET SEPARATOR.

Decimal Separator

Определяет символ, который разделяет целую и дробную части числа (десятичный разделитель). Соответствует команде SET POINT.

Decimal Digits

Specifies the number of digits to follow the decimal separator. Corresponds to the SET DECIMALS Command.

Week Starts on

Задает день, с которого начинается неделя. Соотвтетствует команде SET FDOW.

First Week of Year

Задает, каким образом определяется первая неделя года. Соответствует команде SET FWEEK.

Смотрите также

Справочное руководство

Диалоговое окно Options (Visual FoxPro)
Команда SET DATE
Команда SET MARK TO
Команда SET CENTURY
Команда SET CURRENCY
Команда SET SEPARATOR
Команда SET POINT
Команда SET DECIMALS
Команда SET FDOW
Команда SET FWEEK

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Remote Data Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Remote Data (Удаленные данные) диалогового окна Options (Параметры)
Смотрите также

Содержит настройки для удаленных представлений и установок соединений.

Когда вы выберите Set As Default (Установить по умолчанию), которая появляется на каждой закладке, то Visual FoxPro сохранит все изменения, сделанные на всех закладках, в реестре (системной регистрационной базе данных Windows).

Remote view defaults (Значения по умолчанию для удаленного представления)

Установки в блоке Remote view defaults (Значения по умолчанию для удаленного представления) представляют собой установки для курсора Visual FoxPro, применяемые для текущей сессии. Если вы выберите Set As Default (Установить по умолчанию), то сделанные установки будут применяться для всех последующих сессий. Настройки в этом блоке соответствуют настройкам, которые вы можете сделать с помощью функций CURSORSETPROP() и CURSORGETPROP().

Share connection (Совместное использование соединения)

Определяет, что Visual FoxPro будет использовать совместно используемое соединение, если оно доступно. Если совместно используемое соединение недоступно, Visual FoxPro создает уникальное соединение при открытии представления, которое не может быть использовано совместно другими представлениями.

Fetch memo (Извлекать мемо-поля)

Определяет, что Visual FoxPro не извлекает поля типа memo и general из источника данных до тех пор, пока они не будут активирован в выводе представления. Снятие этой настройки уменьшает количество данных, загружаемых изначально из удаленной таблицы, что значительно увеличит производительность.

SQL updates: Criteria (SQL обновления: критерий)

Определяет - какие поля проверяются Visual FoxPro на удаленном сервере для определения - была ли изменена запись до попытки ее обновления. Обновление не случится, если данные в указанных вами полях были изменены.

SQL updates: Method ((SQL обновления: метод)

Определяет - будет ли Visual FoxPro использовать SQL UPDATE или SQL DELETE и последующим INSERT для обновления информации на удаленном сервере.

Records to fetch at a time (Количество извлекаемых записей за одну операцию)

Определяет - сколько записей должен вернуть Visual FoxPro за один раз из удаленного источника данных. Выбрав All (Все) вы укажите, за одну операцию извлечения данных должны быть возвращены все записи. Эта установка ограничена значением, определенным в Максимальное количество извлекаеимых записей.

Maximum records to fetch (Максимальное количество извлекаеимых записей)

Определяет общее число записей, возвращаемых представлением, которое может помочь предохранить вас от загрузки чрезмерного количества данных, если вы некорректно сконструировали запрос. Выберите All для указания возврата всез записей.

Use memo for fields >= (Использовать мемо-поля для полей >=)

Определяет максимальную длину данных в символьных полях. Если длина символьных данных превышает указанную длину, то Visual FoxPro будет преобразовывать их в мемо-поля в выводе вашего представления. По умолчанию это значение равно 255, что равно максимальному размеру символьного поля в Visual FoxPro.

Записи для пакетного обновления

Определяет число предложений обновлений посылаемых за один раз для представлений. По умолчанию равно 1. Установка этого значения может значительно повысить эффективность обновления. Для получения более подробной информации смотрите описание команды REPLACE и опций Scope.

Connection Defaults (Значения по умолчанию соединения)

Установки в блоке Connection defaults представляют глобальные установки, которые Visual FoxPro использует по умолчанию для соединений. Опции в этом блоке соответствуют установках, как вы делает или получаете при использовании функций SQLSETPROP() и SQLGETPROP().

Asynchronous execution (Асинхронное исполнение)

Определяет, что Visual FoxPro исполняет команды SQL pass-through (с помощью функций SQLEXEC(), SQLMORERESULTS(), SQLTABLES() и SQLCOLUMNS()) в фоновом режиме после возврата управления вашему приложению. Если вы выберите эту опцию, ваше приложение может отображать информацию о исполнении и позволит пользователяи прерывать команду с помощью клавиши ESC, елси команда SET ESCAPE была установлена в true. Вы можете определить статус асинхронного исполнения команды SQL повторными вызовами одной из функций SQL pass-through до тех пор, пока она не доложит, что команда выполнена. По умолчанию эта опция запрещена (что соответствует синхронному исполнению), что означает, что Visual FoxPro будет ожидать завершения исполнения команды сквозного запроса (SQL pass-through) до возврата управления вашему приложению.

Display warnings (Отображать предупреждения)

Позволяет отображать предупреждающие сообщения.

Batch processing (Пакетная обработка)

Определяет, что когда вы посылаете множество предложений SQL pass-through с помощью функции SQLEXEC() Visual FoxPro не возвратит никакого результата до тех пор, пока все индивидуальные наборы результатов не будут извлечены. Соответствует установке BatchMode в функципи SQLSETPROP(). Если эта опция запрещена, вы должны вызвать функцию SQLMORERESULTS() для определения - доступны ли данные.

Automatic transactions (Автоматические транзакции)

Определяет, что транзакции обслуживабтся автоматически соединением на удаленных таблицах. Если вы снимите метку с этой опции, вы должны обслуживать обработку транзакции вручную, используя функции SQLCOMMIT() и SQLROLLBACK().

Show login (Показывать регистрацию)

Определяет - будет ли пользователю предложено зарегистрироваться при активировании соединения (если соединение требует, чтобы пользователи регистрировали свой вход). Например, Only When Necessary (Только по необходимости) определяет, что регистрация входа будет преложена только для информации входа, не указанной в соединении или определении представления.

Connection timeout (sec) (Лимит времени соединения (сек))

Определяет число секунд (в диапазоне от 0 до 600) ожидания установки соединения с удаленным сервером. Если соединение не может быть установлено внутри указанного интервала времени, Visual FoxPro сгенерирует ошибку. Укажите 0 для неопределенного по времени ожидания соединения.

Idle timeout (min) (Лимит времени простоя (мин))

Определяет число минут времени простоя, разрешенного до деактивирования соединения. Если в течение указанного интервала времени не производится запросов к серверу, Visual FoxPro прерывает соединение. Однако, Visual FoxPro попытается автоматически восстановить соединение с сервером, если к серверу был сделан запрос, по истечении лимита времени простоя.

Query timeout (sec) (Лимит времени запроса (сек))

Определянет число секунд (в интервале от 0 до 600) ожидания ответа сервера на запрос. Если серверу требуется больше времени на обработку запроса, Visual FoxPro сгенерирует ошибку. Укажите 0 для неопределенного по времени ожидания результатов запроса.

Wait time (ms) (Время ожидания (мсек))

Определяет число миллисекунд, которые ожидаются до проверки со стороны Visual FoxPro на предмет завершения исполнения.

Смотрите также

Задачи

Как: совместно использовать соединения для множества удаленных представлений

Справочное руководство

Поле типа Memo
Диалоговое окно Options (Параметры) (Visual FoxPro)

Прочие ресурсы

Работа с представлениями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Reports Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка Tab диалогового окна Options (Параметры)
Смотрите также

Содержит начальные, используемые по умолчанию, параметры и глобальные установки для Report Designer (Конструктор отчета), используемые при создании отчетов.

Когда вы выбираете Set As Default, которая появляется на каждой закладке в диалоговом окне Options (Параметры), Visual FoxPro сохраняет все установки на всех закладках.

Область Data and output defaults (Данные и вывод по умолчанию)

Use private data sessions (Использовать частную сессию данных)

Определяет запуск отчет с использованием частной сессии данных. Вы можете, кроме того, выбрать Private Data Session (Частная сессия данных) из меню Report (Отчет). Для получения более подробной информации о частных сессиях данных смотрите описание задачи Как: использовать сессии данных.

Save printer environment(Сохранять настройки принтера)

Определяет, что текущие настройки принтера будут сохранены в файле отчета. В более ранних версиях Visual FoxPro настройки принтера сохранялись в отчете по умолчанию. В Visual FoxPro 9 это положение изменилось, и теперь настройки принтера не сохраняются в файле отчета по умолчанию. Для получения более подробной информации смотрите описание задачи Как: сохранить настройки принтера для отчетов.

Use DBC field captions (Использовать заголовки полей базы данных)

Определяет использование заголовков полей, хранящихся в контейнере базы данных (DBC), при перетаскивании полей на раскладку отчета.

Область Expression Builder (Компоновщик выражения)

Always add alias (Всегда добавлять псевдоимя)

Указывает, что имя таблицы или представления всегда включается при использовании имени поля в выражении.

Add non-selected alias only (Добавлять псевдоимя только для невыбранных)

Определяет, что когда открыто более одной таблицы или представления, Visual FoxPro будет включать в выражение только псевдоимена любой таблицы или представления, которая не выбрана в в списке Aliases (Псевдоимена) окна Data Session (Сессия данных) с любым полей таких таблиц.

Never add alias (Никогда не добавлять псевдоимен)

Определяет, что когда вы будете создавать выражение, имена таблиц или представлений не будут дополнять имена полей.

Область Report Engine behavior (Поведение движка отчета)

Определяет начальную установку SET REPORTBEHAVIOR, которая будет использоваться при запуске Visual FoxPro.

Смотрите описание команды SET REPORTBEHAVIOR для получения более подробной информации.

80 (Backward compatible) (80 - совместимый назад)

Устанавливает REPORTBEHAVIOR в 80

90 (Object assisted) (90 - Выполняемый с помощью объектов)

Устанавливает REPORTBEHAVIOR в 90

Область Designer defaults (Значения по умолчанию конструктора)

Ruler scale (Шкала линеек)

Определяет единицу измерения линеек, расположенных сверху и слева окон Report Designer or Label Designer (Конструктора отчета или этикетки).

None (нет)

Линейки не отображаются. В качестве единиц измерения, отображаемых в различных диалоговых окнах будут использоваться дюймы.

Inches (Дюймы)

Измерительные линейки и прочие размеры отображаются в дюймах.

Centimeters (Сантиметры)

Измерительные линейки и прочие размеры отображаются в сантиметрах.

Pixels (Пиксели)

Измерительные линейки и прочие размеры отображаются в пикселях.

System default (Системные по умолчанию)

Определяет, что дюймы или сантиметры будут использоваться в качестве единицы измерения, отображаемой на линейке в зависимости от ваших региональных настроек.

Show position in status bar (Показывать позицию в статусной полоске)

Определяет, будет ли показываться позиция указателя мыши или текущего выбранного элемента управления (в единицах измерения линейки) в полоске статуса.

Grid (Разлиновка)

Прижимать к решетке

Прижимает стороны вновь рисуемых элементов управления к ближайшим линиям решетки разлиновки в Report Designer (Конструкторе отчета). Вы можете, кроме того, выбрать Snap to Grid из меню Format (Форматирование) для разрешения этой настройки, когда вы находитесь в Designer (Конструкторе).

Show grid lines (Показывать линии разлиновки)

Определяет, будут ли в Designer (Конструкторе) показываться линии разлиновки. Разрешение видимой решетки равно половине реальной разлиновки. (Например, если Horizontal spacing было установлено в 12 пикселей, вертикальные линии разлиновки будут отрисовываться каждые 24 пикселя.) Вы можете, кроме того, выбрать Grid Lines (Линии разлиновки) из меню View (Вид), когда вы находитесь в Designer (Конструкторе).

Horizontal spacing (pixels) (Горизонтальное пространство (в пикселях))

Указывает число пикселей в горизонтальном пространстве каждой секции разлиновки. Вы можете, кроме того, установить горизонтальное пространство выбором Set Grid Scale (Установить разметку шкалы) из меню Format (форматирование).

Vertical spacing (pixels) (Вертикальное пространство (в пикселях))

Указывает число пикселей в вертикальном пространстве каждой секции разлиновки. Вы можете, кроме того, установить вертикальное пространство выбором Set Grid Scale (Установить разметку шкалы) из меню Format (форматирование).

Default font (Шрифт по умолчанию)

Отображает установки шрифта по умолчанию для новых раскладок отчетов и этикеток. Щелчок по кнопке выбора (…) откроет диалоговое окно Font для того, чтобы вы смогли выбрать другой шрифт по умолчанию.

Use font script (Использовать скрипт шрифта)

Определяет, что наборы символов различных языков могут быть разрешены в диалоговом окне Font (Шрифт) и сохранены совместно с отчетом.

Вы можете отменить сохранение конкретного выбора скрипта шрифта совместно с раскладкой, очистив чек-бокс этого параметра.

Для получения более подробной информации смотрите Диалоговое окно Font (Шрифт).

Смотрите также

Задачи

Как: посмотреть и изменить установки среды

Справочное руководство

Диалоговое окно Options (Параметры) (Visual FoxPro)
Диалоговое окно Set Grid Scale (Установка шкалы разлиновки)

Прочие ресурсы

Установки среды Visual FoxPro Environment

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


View Tab, Options Dialog Box

Visual FoxPro 9.0
Закладка View Диалогового Бокса Options
См. также

Содержит опция для управления отображением характеристик Visual FoxPro.

Когда Вы нажимаете кнопку Set As Default, которая действует на все закладки диалогового бокса, то Visual FoxPro сохраняет все опции для всех закладок.

Show

Status bar

Определяет, будет ли Visual FoxPro отображать строку статусбара в низу своего главного окна. Соответствует Команде SET STATUS BAR.

Clock

Определяет, будут ли в статусбаре отображаться системные часы. Чтобы эта опция работала, Вы должны предварительно выбрать опцию StatusBar. Соответствует Команде SET CLOCK.

Command results

Определяет, что Visual FoxPro отображает результаты определенных команд, включая APPEND FROM, AVERAGE, CALCULATE, COUNT, INDEX, SUM и TOTAL, в главном окне Visual FoxPro, окне системных сообщений, графическом статусбаре или в пользовательском окне. Соответствует Команде SET TALK.

System messages

Определяет, что Visual FoxPro отображает результаты определенных системных сообщений в статусбаре. Соответствует Команде SET NOTIFY.

Open last project on startup

Открывает последний используемый проект при старте Visual FoxPro. Эта опция недоступна в следующих случаях:

  • Файл Ресурсов, который указывается на вкладке File Locations диалогового бокса Options пуст. Подробнее смотри об этом в Закладке File Locations Диалогового Бокса Options.

  • Команда SET RESOURCE установлена в OFF. Подробнее смотри об этом в Команда SET RESOURCE.

  • На компьютере с операционной системой Windows XP или 2000 была установлена системная политика (the systems policy) not keeping a history of recently opened files.

Most Recently Used list contains

Позволяет Вам указать какое количество последних использованных файлов будет отображено в низу меню File (MRU list). Умалчиваемое значение равно 4.

Эта опция недоступна в следующих случаях:

  • Файл Ресурсов, который указывается на вкладке File Locations диалогового бокса Options пуст. Подробнее смотри об этом в Закладке File Locations Диалогового Бокса Options.

  • Команда SET RESOURCE установлена в OFF. Подробнее смотри об этом в Команда SET RESOURCE.

  • На компьютере с операционной системой Windows XP или 2000 была установлена системная политика (the systems policy) not keeping a history of recently opened files.

List display count

Указывает максимальное количество пунктов, первоначально отображаемых в списке IntelliSense drop-down list boxes. Умалчиваемое значение равно 15. Минимальное значение равно 5.

См. также

Ссылки

Диалоговый бокс Options (Visual FoxPro)

Другие ресурсы

Установка Среды Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Page Setup Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Page Setup (Параметры страницы) (Visual FoxPro)
Смотрите также

Определяет размер бумаги и ориентацию страницы в Visual FoxPro. Параметры настройки, доступные в этом диалоговом окне зависят от установленного принтера.

Это диалоговое окно открывается при выборе строки Page Setup пункта File главного меню (если модуль построителя отчетов не активен) или при нажатии кнопки Page Setup... на вкладке Page Layout Tab (Раскладка страницы) диалогового окна Report Properties (Свойств отчета Построителя отчетов). Для более подробной информации смотрите Диалоговое окно Report Properties (свойств отчета), Page Layout Tab (вкладка раскладки страницы), (Построитель отчетов).

Paper (Бумага)

Определяет параметры настройки бумаги для страницы.

Size (Размер)

Задает размер бумаги.

Source (Подача)

Указывает нахождение источника бумаги в принтере.

Orientation (Ориентация)

Определяет параметры ориентации страницы.

Portrait (Книжная)

Печать страницы происходит в вертикальном направлении, короткой стороной вперед.

Landscape (Альбомная)

Печать страницы происходит в горизонтальном направлении, длинной стороной вперед.

Margins (Поля)

В Visual FoxPro установки полей недоступны в этом диалоговом окне.

Printer (Принтер)

Открывает диалоговое окно Page Setup (Параметры страницы) для принтера, в котором можно задать установки принтера.

Printer Page Setup Dialog Box (Диалоговое окно Параметры станицы принтера)

Определяет параметры настройки принтера в Visual FoxPro. Параметры настройки, доступные в этом диалоговом окне зависят от установленного принтера.

Это диалоговое окно открывается при нажатии кнопки Printer (Принтер) в диалоговом окне Page Setup (Парметры страницы).

Printer (Принтер)

Определяет и отображает информацию о принтере

Name (Имя)

Отображает имена принтеров, установленных на вашем компьютере в настоящее время.

Status (Состояние)

Отображает состояние принтера.

Type (Тип)

Отображает модель выбранного принтера. Модель определяется в процессе установке принтера.

Where (Место)

Отображает сетевой путь принтера.

Comment (Комментарий)

Отображает дополнительную информацию о принтере, например, его местонахождение.

Смотрите также

Справочное руководство

SYS(1037) - Диалоговое окно Page Setup (Параметры страницы)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Paste Special Dialog Box

Visual FoxPro 9.0
Paste Special, диалоговый бокс (Специальная Вставка)
Смотрите Также

С помощью функциональных возможностей рассматриваемого Диалогового бокса вы можете связать или внедрить требуемый внешний объект OLE из активного содержания общего Буфера Обмена Операционной Системы (Clipboard). Система Visual FoxPro загружает указанный внедряемый объект в текущее поле типа General. Вам требуется предварительно открыть указанное системное окно General Field, чтобы обеспечить успешное выполнение рассматриваемой Операции.

Для выполнения указанной системной Операции "Специальной Вставки" (Paste Special), вам требуется предварительно скопировать в системный буфер обмена (Clipboard) требуемый графический Объект (например, во внешнем Приложении), далее: активировать системное окно General Field; и только после этого выполнить описываемую операцию. При выборе пункта системного меню "Специальная Вставка" (Paste Special) открывается (активируется описываемый Диалоговый бокс "Paste Special".

Source (Источник внешнего объекта)

Отображается имя внешнего Приложения, полный путь к источнику данных, имя файла, содержащего требуемый графический подсоединяемый или внедряемый Объект.

As (записать в Виде)

Отображаются допустимые форматы сохранения внедряемой графической информации. Вам требуется выбрать формат сохраняемой информации в соответствующем Объекте системы Visual FoxPro. Формат внедряемого объекта определяет возможности редактирования требуемой графической информации в дальнейшем (например, если выбираем WorkSheet (рабочая книга), то определяется внешнее Приложение для обработки данного объекта - MS Excel). Если для объекта определяется формат Picture или Bitmap, то вы не сможете в дальнейшем редактировать внедряемую графическую информацию в поле типак General. При использовании графических форматов Picture / Bitmap рассматриваемый графический объект только отображается в соответствующем окне, при этом внедренный объект занимает наименьшее место в соответствующем файле Таблицы. Если вы планируете в дальнейшем изменять размеры рассматриваемого графического объекта, то рекомендуется использовать формат Picture.

Paste (Вставить)

Вставляет (внедряет) в текущее поле типа General графический объект, заранее размещенный в Буфере Обмена (Clipboard).

Paste Link (вставить ссылку)

Размещает соответствующую ссылку на рассматриваемый графический объект, который может быть обработан системой Visual FoxPro (активировать соответствующий процесс изменения внедренных данных). Операция "Paste Link" доступна только в том случае, когда требуется использовать сохраненный ранее графический Объект (ссылка указывает на фактический графический файл).

Note Обратите внимание

Для Документов внешнего Приложения Microsoft Word, доступными являются оба варианта рассматриваемой операции Вставки "Paste" и "Paste Link" (вставка-внедрение и вставка ссылки).
Display As Icon (отображать в виде Иконки)

Вместо реального содержания графического объекта отображается общая или заданная графическая Иконка (ярлычек). При этом значительно экономится дисковое пространство при выполнении рассматриваемых Операций Связывания или Внедрения.

Change Icon (изменить Иконку)

Активируется соответствующий диалоговый бокс Change Icon (Изменить Иконку), в котором уточняется доступный файл Иконки (.ico), который будет использоваться в дальнейшем для идентификации графических объектов, размещенных в рассмаитриываемых полях типа General пользовательских Таблиц Visual FoxPro. Данная командная кнопка становится доступной при условии активации переключателя Display As Icon.

Results (Завершающие действия)

Описываются необходимые завершающие операции, которые требуется выполнить после того, как нажата подтверждающая кнопка OK. Очистить ли системный Буфер Обмена, или оставить его содержание - для повторения выполненных операций Связывания или Внедрения.

. также

Задачи

Как: Добавлять внешние объекты OLE в Приложение

Описание

General Field, системное окно (для просмотра содержания поля типа General)
Find, диалоговый бокс (Найти...) (Visual FoxPro)
Change Icon, диалоговый бокс (Изменить Иконку)
Тип Поля General
Внутренние модули поддержки Текстового Редактора и Буфера Обмена

Концепции

Доступ к динамической информации

Другие ссылки

Диалоговые боксы (окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Pane Customization Dialog Box

Visual FoxPro 9.0
Диалоговое окно Pane Customization (Настройка панели)
Смотрите также

Диалоговое окно Pane Customization (Настройка панели) используется для создания, изменения и удаления панелей в диспетчере панели задач - Task Pane Manager.

New (Новая)

Отображает диалоговое окно Pane (Панель) в которой вы можете ввести основную информацию о новой панели для ее создания.

Отображаются перечисленные ниже опции:

  • Vendor (Производитель) Определяет имя компании, создавшей новую панель.

  • Unique ID (Уникальный ID) Определяет уникальный номер идентификатора ID для содержания панели. Рекомендуется, чтобы вы акцептировали предложенное по умолчанию значение.

  • Name (Имя) Определяет имя новой панели. Это имя появится наверху Task Pane Manager (Диспетчера панели задач). Для указания горячей клавиши для ссылки наверху Task Pane Manager (Диспетчера панели задач), включите символ "\<" в имени, введеном в боксе Name (Имя). Например, \<My Pane would указывает букву M в качестве горячей клавиши в ссылке панели.

  • Pane Type (Тип панели) Определяет тип создаваемой панеои. Вы можете создать панель четырех типов, которые описаны в приведенной ниже таблице.

    Тип панели Описание

    Web Page

    Отображает Internet URL с использованием элемента управления Internet Explorer ActiveX.

    HTML

    Панель и ее содержание отображаются в виде HTML в элементе управления Internet Explorer ActiveX.

    XML

    Панель и секции ее содержания отображаются в виде XML в элементе управления Internet Explorer ActiveX. С этим типом панели должен распространяться локальный файл Extensible Stylesheet Language (XSL).

    VFP Controls

    Указывает библиотеку класса Visual FoxPro и сам класс, используемые для создания панели. Этот класс должен наследовать из класса PaneContainer библиотеки FoxPane.

    CopyCode image Скопировать код
    DEFINE CLASS MyPane AS PaneContainer OF FoxPane
Delete (Удалить)

Удаляет панель из Task Pane Manager (Диспетчера панели задач). Когда вы произведете щелчок по этой кнопке, то появится диалоговое окно, запращивающее вас о подтверждении удаления выбранной панели.

Publish

Отображает диалоговое окно Publish Pane (Опубликовать панель) с помощью которого вы можете опубликовать выбранную панель, вложив содержание панели и связанные с ним файлы в файл манифеста XML для облегчения распространения.

Отображаются перечисленные ниже опции:

  • Publish all content in pane Определяет, что в XML файл манифеста будут опубликованы все секции содержания панели.

  • Publish selected content Определяет, что в XML файл манифеста будут опубликованы только выбранные в списке секции содержания.

  • Publish files associated with the pane Определяет, что в XML файл манифеста будут опубликованы файлы, связанные с панелью.

  • Publish files common to all panes Определяет, что в XML файл манифеста будут опубликованы общие для всех панелей файлы. Эта опция должна быть выбрана только в том случае, если вам необходимо распространять содержание корневого каталога PaneCache.

View Content (Обзор содержания)

Отображает секцию Pane Content (Содержание панели) с правой стороны диалогового окна Pane Customization (Настройка панели).

View Files (Обзор файлов)

Отображает секцию Pane Files (Файлы панели) с правой стороны диалогового окна Pane Customization (Настройка панели).

Pane List (Список панелей)

Перечисляет все установленные в Task Pane Manager (Диспетчере панели задач) панели. Выбор панели обновляет элементы управления секций Pane Content (Содержание панели) и Pane Files (Файлы панели) информацией о выбранной панели.

Inactive (Неактивна)

Определяет, что выбранная панель является неактивной. Неактивные панели не показываются в полоске Pane List (Список панелей) вверху Task Pane Manager (Диспетчера панели задач) или диалогового окна Task Pane Options (Параметры панели задач).

Save (Сохранить)

Сохраняет все изменения, сделанные в панели, применяет их к Task Pane Manager (Диспетчеру панели задач) и закрывает диалоговое окно Pane Customization (Настройка панели).

Apply (Применить)

Сохраняет любые изменения в выбранной панели и применяет их к Task Pane Manager (Диспетчеру панели задач).

Pane Content (Содержание панели)

Секция Pane Content (Содержание панели) отображается, когда вы выбираете радио-кнопку View Content (Обзор содержания). В этой секции вы можете указать установки для панелей.

Add (Добавить)

Добавляет новую секцию содержания, которая отображается в Content Sections List (Список секций содержания) ниже командной кнопки.

Remove (Удалить)

Запрашивает вас об удалении выбранной секции содержания.

Кнопка с изображением стрелки, направленной вверх

Перемещает выбранную секцию вверх по списку Content Sections List (Список секций содержания).

Кнопка с изображением стрелки, направленной вниз
Перемещает выбранную секцию вниз по списку Content Sections List (Список секций содержания).
Content Sections List (Список секций содержания)

Перечисляются секции содержания панели. Выбор секции содержания обновляет элементы управления секции Pane Content (Содержание панели) информацией о выбранной секции.

Закладка General (Общие)

Отображает опции для содержания корневой панели или содержания секции, в которой вы определяете общую информацию о выбранном элементе. Для получения более подробной информации смотрите описание Закладка General (Общие) диалогового окна Pane Customization (Настройка панели).

Закладка Data (Данные)

Отображает URL для панелей, основанных на Web страницах, или содержащих XML данные, используемые для визуализации страниц панелей на основе HTML или XML. Эта панель доступна только в том случае, когда тип корневой панели представляет собой Web Page, HTML или XML. Для получения более подробной информации смотрите описание Закладка Data (Данные) диалогового окна Pane Customization (Настройка панели).

Закладка Transform Data (Преобразование данных)

Определяет XML преобразование, которое используется для визуализации панелей на основе HTML или XML. Эта панель доступна только в том случае, когда тип корневой панели представляет собой HTML или XML. Для получения более подробной информации смотрите описание Закладка Transform Data (Преобразование данных) диалогового окна Pane Customization (Настройка панели).

Закладка Default Data (Данные по умолчанию)

Определяет данные, используемые в случае визуализации панели при недоступном online-содержании панели, то есть когда содержание панели невозможно сгрузить из сети. Эта панель доступна только в том случае, когда тип корневой панели представляет собой HTML или XML. Для получения более подробной информации смотрите описание Закладка Default Data (Данные по умолчанию) диалогового окна Pane Customization (Настройка панели).

Закладка Handler Code (Код обработчика)

Определяет код обработчика для обслуживания ввода пользователя в панели. Эта панель доступна только в том случае, когда тип корневой панели представляет собой HTML или XML. Для получения более подробной информации смотрите описание Закладка Handler Code (Код обработчика) диалогового окна Pane Customization (Настройка панели).

Закладка Options (Параметры)

Specifies custom options for a content section. For XML- and HTML-based panes, options can be specified only on subsection content. For Web Page and VFP Control panes, options can be specified only on the root content section. For more information, see Options Tab, Pane Customization Dialog Box.

Файлы панели

Секция Pane Files (Файлы панели) отображается, когда вы выбираете радио-кнопку View Files (Обзор файлов). В этой секции, вы можете добавлять, редактировать или удалять файлы, связанный с панелью.

Add (Добавить)

Запрашивает пользователя о выборе файла для добавления в панель.

Edit (Редактировать)

Открывает файл и связанный с ним редактор для редактирования.

Remove (Удалить)

Запрашивает пользователя об удалении выбранного файла из панели.

Смотрите также

Справочное руководство

Task Pane Manager (Диспетчер панели задач)
Диалоговое окно Task Pane Options (Параметры панели задач)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Tab, Pane Customization Dialog Box

Visual FoxPro 9.0
Закладка Data (Данные) диалогового окна Pane Customization (Настройка панели)
Смотрите также

Закладка Data (Данные) содержит данные, на которых основываются панели Web Page, HTML и XML.

Source (Источник)

Укажите тип источника данных для панели. В приведенной ниже таблице разъясняются пять типов источников данных.

Тип источника данных Описание

Static Text

Определяет, что данные представляют собой хорошо сформированный XML. По умолчанию статическим текст для типа XML панель является:

CopyCode image Скопировать код
<VFPData>
   <!-- CONTENT -->
</VFPData>

Вы можете впечатать хорошо сформированные XML данные вместо комментария. Если корневая панель имеет субсекции, the default static text can remain because Visual FoxPro concatenates and places the XML data for the subsection here.

If you need to wrap your subcontent in XML so that the content sections can be further transformed by the root before finally displaying on the pane, use the following syntax in the root content section.

CopyCode image Скопировать код
<VFPData>
   <!-- XMLCONTENT -->
</VFPData>

This wraps each subcontent in XML CDATA sections with the content between <HTMLText> tags. For example, a pane with two subcontent records might look like the following example:

CopyCode image Скопировать код
<VFPData>
   <PaneContent id="uniqueid1">
   <PaneTitle>Content Title goes here</PaneTitle>
   <HTMLText><![CDATA[Transformed sub-content is placed here]]>
   </HTMLText>
   </PaneContent>
      <PaneContent id="uniqueid2">
   <PaneTitle>Content Title goes here</PaneTitle>
   <HTMLText><![CDATA[Transformed sub-content is placed here]]>
   </HTMLText>
   </PaneContent>
</VFPData>

The root content section's transformation then determines whether to handle transforming this XML data or distribute an XML file in the files section.

URL

Данные содержатся в файле, размещенном в Internet. Вы затем можете вставить динамическое содержание из файла, размещенного в Internet.

Script

Указывает код Visual FoxPro для генерации XML данных. Код возвращает строку XML, которая будет использована как данные и принимает в качестве параметра объект, для выявления набора опций для кода панели.

CopyCode image Скопировать код
LPARAMTERS oContent

Объект показывает перечисленные ниже свойства и методы:

  • CacheDir каталог пользовательского кэша панели

  • ContentTitle имя выбранной секции содержания

  • Unique ID уникальный ID выбранной секции содержания

  • TaskPaneID уникальный ID панели, которой принадлежит секция содержаняи

  • User Данные пользователя, которые содержаться в поле User таблицы PaneContent

  • GetOption(cOptionName, xDefaultValue) возвращает значение указанной опции. Вы можете, хотя и не обязаны, указать значение по умолчанию, которое должно быть возвращено, если опция пуста. Все значений опций возвращаются в виде строк, пока xDefaultValue не определит другой тип данных.

File

Указывает в качестве источника данных локальный файл. Этот файл добавляется в список связанных с панелью файлов и копируется в каталог кэша панели.

Web Service

Указывает, что данные получают через XML Web сервис в Internet.
Modify (Изменить)

Открывает окно для редактирования кода Visual FoxPro или XML данных.

Бокс редактирования

Отображает код Visual FoxPro или XML данные.

Source of this content is from the Internet (Источник этого содержания получают из Интернет)

Указывает, что код Visual FoxPro загружает содержание из Internet. Это в свою очередь разрешает использование опции панели Check for New Internet Content (Проверить на новое содержание в Интернет) option for the pane.

File (Файл)

Определяет имя файла данных.

Кнопка (...)

Выводит диалоговое окно для выбора файла данных.

WSDL URL

Указывает URL файла Web Services Description Language (WSDL) XML Web сервиса, который поставляет данные для панели. WSDL описывает сервисы, предлагаемые сервером.

Method (Метод)

Определяет вызываемый метод XML Web сервиса. Должны быть указаны, также, соответствующие параметры метода. Для указания опциий панели, используйте ## разделители. Например, GetPaneXML(##daysold##) ссылается на метод GetPaneXML XML Web сервиса и использует опцию панели DaysOld в качестве параметра.

Service (Сервис)

Указывает сервис в файле WSDL, который содержит операции, определенные в запросе Simple Object Access Protocol (SOAP). Если эта опция ничего не содержит, то при инициализации объекта SoapClient будет использован первый сервис в указанном файле WSDL. (Необязательный параметр)

Port (Порт)

Указывает имя порта в файле WSDL, который содержит операции, определенные в запросе SOAP . Если эта опция ничего не содержит, то при инициализации объекта SoapClient будет использоваться первый пор в указанном сервисе. (Необязательный параметр)

WSML

Указывает URL файла Web Services Meta Language (WSML). Это является требуемым параметром только при использовании пользовательских типов разметчиков. Для получения более подробной информации о пользовательском типе разметчиков (mappers) посмотрите документацию SOAP Toolkit, поставляемую вместе с Visual FoxPro.

Смотрите также

Справочное руководство

Диалоговое окно настройки панели
Диспетчер панели задач - Task Pane Manager

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Default Data Tab, Pane Customization Dialog Box

Visual FoxPro 9.0
Закладка Default Data, настройка Pane, диалоговое окно
См. Также

Закладка Default Data определяет уже заданные (по-умолчанию) данные, которые используются при аварийной загрузке удаленных данных (через Internet), эти данные используются для начального запуска Подсистемы Pane. Данная информация является опциональной (необязательной), она используется только в том случае, если данные не загружены Локально. Если подсистема Pane однажды загрузила данные успешно, но при следующих обращения - терпит неудачу, тогда используются данные из временного каталога PaneCache, а данные типа XML, по-умолчанию - не используются.

Modify

Открывает дополнительное окно для редактирования уже заданных (по-умолчанию) XML-данных.

Edit Box

Отображаются XML-данные, "по-умолчанию".

См. также

Описание

Настройка Pane, диалоговое окно
Менеджер Task Pane

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


General Tab, Pane Customization Dialog Box

Visual FoxPro 9.0
Закладка General, Диалоговый бокс Pane Customization
Смотрите Также

В рассматриваемой Закладке General приводится Базовая Информация о корневом Объекте Pane (Панель) или ее составляющих Элементах.

Unique ID (уникальный Идентификатор = UID)

Определяет уникальный идентификатор, который присвоен выбранной Панели (Pane). По-умолчанию, данный UID создается в момент создания Панели. В общем случае, рекомендуется использовать данное значение Идентификатора.

Name (Имя)

Определяет Имя рассматриваемой Панели. Если в текущий момент выбрана Корневая (базовая) секция Объекта (Панели), то данное Имя отображается в диспетчере Task Pane Manager (Диспетчере Панели Задач). При задании имени Панели вы можете использовать специальные символы, определяющие "горячие" клавиши активации Панели. Например, "\<Mоя Панель", в этом случае, при нажатии на клавишу "М", при активном Диспетчере Панели Задач, данная панель Активируется.

Help URL (ссылка на Справку) = Uniform Resource Locator

Определяет ссылку на соответствующий подраздел Справки о данной Панели. Назначение соответствующих ссылок на разделы Справки назначаются в диалоговом боксе Task Pane Options (Параметры Панели Задач).

Select Image (Выбор Картинки)

Активирует Диалоговый Бокс выбора графической картинки (файла), который будет ассоциирован с выбранной Панелью. Выбранная картинка будет отображаться в верхнем правом углу при активации панели в Диспетчере.

Class Library (Библиотека Классов)

Определяет Программный (.prg) или Библиотечный файл (.vcx), содержащий Классы, которые запускаются в данной Панели. Указанный программный компонент автоматически копируется в подкаталог с именем PaneCache рассматриваемой Панели. Данное Поле из Таблицы используется только для Панелей, построенных на базовых Классах-Контролах VFP (Visual FoxPro).

Class Name (Имя Класса)

Определяет Имя класса-контейнера, на основе которого создается экземпляр рассматриваемой Панели. Данное Поле из Таблицы используется только для Панелей, построенных на базовых Классах-Контролах VFP (Visual FoxPro).

Modify (Изменить)

Открывает Дизайнер Классов для редактирования указанного Класса. Данное Поле из Таблицы используется только для Панелей, построенных на базовых Классах-Контролах VFP (Visual FoxPro).

См. также

Описание

Диалоговый Бокс: Pane Customization (Настройка Панели)
Task Pane Manager (Диспетчер Панели Задач)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Handler Code Tab, Pane Customization Dialog Box

Visual FoxPro 9.0
Закладка Handler Code (Код обработчика) диалогового окна Pane Customization (Настройка панели)
Смотрите также

Закладка Handler Code (Код обработчика) определяет обрабочики для гиперссылок, которые выбраны в панели, в случае если тип панели представляет собой XML или HTML, а гиперссылки начинаются с vfps:. Например, приведенный ниже код открывает окно обозревателя для указанного унифицированного локатора ресурса URL:

<a href="vfps:linkto?url=http://msdn.microsoft.com/vfoxpro/">Go to the VFP site</a>

В приведенной ниже таблице перечислены обработчики по умолчанию, встроенные в Task Pane Manager (Диспетчер панели задач).

Обработчик по умолчанию | Описание
vfps:refresh | Перезагружает текущую панель.
vfps:linkto | Открывает окно обозревателя для указанного URL. URL указывается с параметров url=cURL.
vfps:gotopane | Переключает Task Pane Manager (Диспетчер панели задач) на указанную панель. Панель определяется параметром uniqueid=cPaneUniqueID.
vfps:help | Отображает конкретную справку по конкретной статьте или ID. Help отображается с использованием параметра ID=cTopicID или Topic=cTopicName.
vfps:options | Отображает диалоговое окно Task Pane Options (Параметры панели задач) для указанной панели. Панель указывается с помощью параметра uniqueid=cPaneUniqueID.
vfps:message | Отображает информационное окно сообщения. Сообщение указывается в параметре msg=cMessage.

Вы можете включить параметр refresh с любым обработчиком кода, для немедленной перезагрузки панели после вызова обработчика. Это полезно в случае, когда результат обработки ссылки может воздействовать на содержание панели. Вы можете использовать параметр refresh вместе с другими параметрами так, как показано в приведенной ниже строке примера:

vfps:message?msg=This is a message&refresh

В приведенной ниже таблице перечислены параметры, посылаемые коду, когда вы используете свой собственный обработчик.

Параметр | Описание
cAction | Указывает действие, который представляет собой текст, которые следует за vfps: но до любых параметров. Например, следующая строка указывает на использование собственного обработчика с именем MyAction: <a href="vfps:MyAction?Param=Value">This is my handler</a>
oParameters | Коллекция конкретных параметров. В дополнение к этому, если обработчик представляет собой отправку формы (submit), коллекция помимо параметров, включает в себя значения из формы. Для извлечения значения вызовите функцию GetParam( ) с именем параметра так, как показано в приведенной ниже строке: oParameters.GetParam("ParameterName")
oBrowser | Содержит объектную ссылку на объект Window в элементе управления browser панели. Вы можете использовать это для обращения к методам и свойствам DHTML. Например: oBrowser.document.all("SearchResults").style.display = "none"
oContent | Содержит ссылку на определение страницы содержания, для того, чтобы вы смогли извлечь значения опций и каталог PaneCache, указанный в дилаоговом окне Task Pane Options (Параметры панели задач). Это тот же самый объект, который посылается в скрипт на Закладке Data диалогового окна Pane Customization (Настройка панели).
Modify (Изменить)

Открывает окно для редактирования кода обработчика.

Edit Box (Бокс редактирования)

Отображает код обработчика.

Смотрите также

Справочное руководство

Диалоговое окно Pane Customization (Настройка панели)
Диспетчер Task Pane

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Options Tab, Pane Customization Dialog Box

Visual FoxPro 9.0
Закладка Options (Параметры) диалогового окна настройки панели (Pane Customization)
Смотрите также

Закладка Options указывает настройки пользователя для секции содержания.

Для панелей XML и HTML типов, параметры могут быть указаны только для содержания субсекций. Для типов панелей Web Page и Visual FoxPro Controls параметры могут быть указаны для секции основного содержания, так как эти панели не имеют секций субсодержания.

New (Новый)

Открывает диалоговое окно New Option (Новый параметр) запращивающее вас об информации для нового параметра. Диалоговое окно NewOption содержит перечисленные ниже поля:

  • Options name (Имя параметра) Имя параметра, на который будут ссылаться в коде.

  • Type (Тип) Тип элемента управления, который вы желаете создать в диалоговом окне Task Pane Options. Это может быть textbox, checkbox, spinner или password

  • Caption (Заголовок) Метка, которая появится рядом с элементов управления в диалоговом окне Task Pane Options.

Delete (Удалить)

Запрашивает вас об удалении выбранного параметра.

New Property (Новое свойство)

Отображает окно сообщения, запращивабщее вас ввести имя нового свойства. Вы можете ввести значение свойства, используя Property List (Список свойств) после того, как вы добавили свойство.

Delete

Запрашивает вас об удалении выбранного свойства.

Options List (Список параметров)

Отображает список параметров для выбранной панели или секции содержания.

Property List (Список свойств)

Отображает список свойств и их значений по умолчанию для выбранной панели или секции содержания.

Смотрите также

Справочное руководство

Диалоговое окно настроки панели (Pane Customization)
Диспетчер панели задач

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Transform Data Tab, Pane Customization Dialog Box

Visual FoxPro 9.0
Закладка Transform Data, Настройка Pane, диалоговый бокс
См. Также

Закладка Transform Data содержит параметры XML-преобразования для соответствующей Секции Данных.

Type (тип)

Определяет тип преобразования данных. В следующей таблице представлены доступные типы:

Тип Описание

XML

Определяет преобразование вида Extensible Stylesheet Language (XSL).

Script

Определяет преобразование программным кодом Visual FoxPro.
Source (исходный)

Определяет исходный источник преобразуемых данных. XML-преобразование должно использовать тотже источник, который задан в соответствующем Закладка Data, Настройка Pane , диалоговый бокс.

Modify (изменить)

Открывает Окно Редактирования программного кода Visual FoxPro или XSL-схемы.

Edit Box (блок редактирования)

Отображается соответствующий программный код Visual FoxPro или XSL-схема.

См. также

Описание

Pane Customization, диалоговый бокс
Менеджер Task Pane

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Print Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Print (Печать) (Visual FoxPro)
Смотрите также

Позволяет вам выбрать параметры принтера для печати файла. Этот диалог появляется когда вы выбираете Print (Печать) из меню File (Файл) .

Note Замечание

Доступные установки принтера зависят от операционной системы, на которой запущен Visual FoxPr. Для версий Windows до Windows 2000, имена установок для этого диалога заключены в круглые скобки. Указаны установки, которые доступны для Windows 2000 или более поздней.

Этот диалог может выглядет так, как показано на рисунку внизу:

Клавишная комбинация для вызова диалогового окна

CTRL+P

Закладка General (Общие параметры)

Определяет установки связанные с принтером.

Select Printer (Name) - (Выбор принтера (Имя))

Отображает принтеры, подключенные к вашему компьютеру.

Status (Состояние)

Отображает состояние принтера.

Location (Where) - (Размещение (Где))

Отображает путь к сетевому принтеру.

Comment (Комментарий)

Отображает дополнительную информацию о принтере, например, местонахождение принтера.

Preferences (Properties) - (Предпочтения (Свойства))

Открывает системное окно Printing Preferences (Document Properties (Предпочтения печати (Свойства документа)), чтобы вы смогли установить желаемые настройки печати.

Find Printer (Поиск принтера)

Открывает системное окно Find Printers (Поиск принтеров) для того, чтобы вы смогли найти принтер. Доступно в Windows 2000 или более поздней.

Page Range (Print range) (Диапазон страниц (Диапазон печати))

Указывает установки выбора для страниц.

All (Все)

Печатает все страницы в файле.

Selection (Выделение)

Печатает выделенный в файле текст. Этот параметр доступен только в том случае, когда текст действительно выделен в редакторе.

Note Замечание

Если выделена часть строки текста, то будет напечатана полная строка.

Pages (Страницы)

Указыавет диапазон страниц в файле, которые будут напечатаны.

Number of copies (Число копий)

Указывает число копий файла, которые будут отпечатаны.

Collate (Последовательность)

Указывает последовательность печати копий, когда выбрана печать копий файла.

Options (Параметры)

Отображает диалоговое окно Print Options (Параметры печати).

Для получения более описание в Диалоговое окно Print Options (Параметры печати).

Print (OK) (Печать (ОК))

Запуск печати файла.

Смотрите также

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Print File Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Print File
См. Также

Данное средство обеспечивает возможность выбора файла, который нужно отправить на устройство печати (распечатать).

Данный диалоговый бокс вызывается при нажатии кнопки ellipsis (...) - многоточие, которая расположена справа от поля File в диалоговом боксе Print Options. Типы выбираемых файлов стандартно группируются в указанном диалоговом боксе Print Options. См. дополнительно раздел Диалоговый бокс Print Options.

Code Page

Выводит диалоговый бокс Code Page, в котором можно уточнить необходимую кодовую страницу (correct code page). Если Вам нужно распечатать файл с использованием extended character set, нажмите Code Page и сделайте нужный выбор.

См. также

Описание

Диалоговый бокс Code Page

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Print Options Dialog Box

Visual FoxPro 9.0
Print Options, диалоговый бокс (Параметры Печати)
Смотрите Также

Данный Иструмент позволяет определить параметры печати результирующего файла, или содержания Командного окна, или содержания Буфера обмена(Clipboard).

Рассматриваемый диалоговый бокс активируется при выборе кнопки Options в соответствующем диалоговом боксе Print (Печать). Дополнительную информацию смотрите в разделе: Print, диалоговый бокс (Печать).

Print What (Что Печатать)

Определяется тип и файл для Печати.

Type (Тип)

Определяется тип файла, который должен быть напечатан.

Caution note Предупреждение

Обратите внимание, что при отправке текстового файла ASCII на печатающее устройство необходимо следить за текущими управляющими кодами принтера. В противном случае, данный файл может быть распечатан с ошибками, или не полностью.
File (Файл)

Определяет полное имя файла, который должен быть распечатан. Для выбора требуемого файла можно использовать кнопку-многоточие (...), которая активирует Диалоговый бокс Print File (Печать Файла). Дополнительную информацию смотрите в разделе Печать Файла, диалоговый бокс.

Print Options (Параметры Печати)

Определяются дополнительные параметры Печати для рассматриваемого файла.

Line numbers (Номера строк)

Определяет печать номеров строкв левой части Отчета. Данный параметр доступен при печати содержания системного Командного Окна или содержания Буфера обмена (ClipBoard).

Page eject before (Начальный Прогон Листа)

Определяет установку на начало Страницы (прогон страницы) перед выполнением печати требуемого файла.

Page eject after (Завершающий Прогон Листа)

Определяет установку на начало Страницы (прогон страницы) после выполнения печати требуемого файла.

Restore environment (Восстановить Начальные параметры)

Данная опция используется при выполнении Отчетов версии FoxPro 2.x, при использовании данной установки, сначала сохраняется текущая Среда Данных, далее - выполняется Отчет, после: восстанавливается Среда Данных. Данный параметр настройки печати не применяется в Отчетах Visual FoxPro, в которых используются собственные Объекты Data Environment.

Options (Параметры, настройки)

Активируется соответствующий диалоговый бокс Report / Label Print Options (Параметры Печати Отчета / Этикетки), в котором определяются записи (диапазон Записей) соответствующего Отчета или Этикетки. Данный раздел параметров доступен только при печати Отчетов или Этикеток. Дополнительную информацию смотрите в разделе: Report and Label Print Options, диалоговый бокс (Парапметры печати Отчета или Этикетки).

См. также

Другие ссылки

Диалоговые Боксы (окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Print When Dialog Box

Visual FoxPro 9.0
Диалоговое окно Print When
Смотреть также

Обеспечивает условную печать объекта в зависимости от значения некоторого выражения, управляя выводом конролов отчета.

Комментарии:
В зависимости от установки системной переменной _REPORTBUILDER, этот диалог может быть заменен альтернативным интерфейсом пользователя. Для подробной информации, см. Системная переменная _REPORTBUILDER. .

Print repeated values (Печать повторяющихся значений)

Определяет, подавить значения, повторяющиеся в последовательных записях, и значение, напечатанное в первой записи, не будет выводиться в последующие записи до тех пор, пока значение не изменится.

Yes

Выполните вывод для контрола постоянно, когда полоса обработана механизмом отчета.
No

Выполнить вывод для контрола, только если значение отличается от уже выведенного.

Also print (Продолжение печати)

Определяет дополнительные условия, для повторяющихся значений контролов отчета.

В первой целой полосе новой страницы/столбца, не являющихся продолжениями предыдущей страницы или столбца.

Печатает поле в первой полосе новой страницы или нового столбца, не являющихся продолжениями предыдущей страницы или столбца, отменяя установку Печати повторяющихся значений. Для подробной информации, см. Работа с Полосами Отчета..
When this group changes (Печатает поле, когда выбранная группа изменяется)

Определяет, что вывод контрола должен быть представлен, если определенное выражение группы данных оценено как отличное значение, отменяя установку Print repeated values. Для получения дополнительной информации, см. Работа с Группами Данных Отчета .
When detail overflows to new page/column ( Печатает поле, когда выбранная группа изменяется)

Печатает поле, когда полоса Detail переходит на новую страницу или новый столбец.

Дополнительные опции

Следующие дополнительные опции позволяют Вам подавить пустые строки и вывод элементов управления для отчета контроля сообщения и данных в контроле сообщения. The following additional options make it possible for you to suppress blank lines and control output for report controls and data in report controls.

Remove line if blank (Удалить полосу, если пустое значение)

Определяет, что механизм отчета может сжать полосу сообщения вертикально, если вычисление объект отчета не имеет содержания, и никакой другой объект не занимймет это пространство с обеих сторон.
Print only when expression is true

Определяет логическое выражение, в случае истинности выражения в момент выполнения отчета, будет произведен вывод данного элемента отчета.
Комментарии:
Если вы зададите выражение Print only when expression, все остальные опции данного диалогового окна станут недоступными, за исключением Remove Line If Blank.

Смотреть также

Другие ресурсы

Диалоговые окна
Диалоговое окно построителя выражений
Диалоговое окно Rectangle/Line
Построитель отчетов
Диалоговое окно выражения в отчете

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Project Information Dialog Box

Visual FoxPro 9.0
Project Information (Информация о проекте), диалоговый бокс
См. Также

Позволяет просмотреть или отредактировать описательную информацию о текущем Проекте. Данное диалоговое окно отображается при выборе пункта Project Information из соответствующего меню Project.

Shortcut (быстрый доступ)

Выполнение клавишного макро "CTRL+J" или "ALT+ENTER" в менеджере Проектов

См. также

Описание

Update Project List , диалоговый бокс
Закладка Project, Project Information , диалоговый бокс
Select Directory, диалоговый бокс
Build Options, диалоговый бокс
EXE Version, диалоговый бокс
Закладкам Files, Project Information, диалоговый бокс
Закладка Projects, Options, диалоговый бокс
Закладка Servers, Project Information, диалоговый бокс

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Project Tab, Project Information Dialog Box

Visual FoxPro 9.0
Закладка Project Диалогового Бокса Project Information (Информация о Проекте)
См. также

Отображает информацию состояния о проекте.

Author

Отображает имя автора, которое можно заменить, набрав в этом поле новое имя.

Company

Отображает название компании, которое можно заменить, набрав в этом поле новое название.

Address/City/State/Country/Postal Code

Отображает информацию, определяющую адрес компании; эту информацию вы можете заменить, набрав в соответствующем поле новые данные.

Home

Отображает каталог, содержащий файл проекта. Чтобы заменить каталог, наберите в поле другое имя или нажмите кнопку с тремя точками, открывающую диалоговое окно

Select Directory.

Last Built

Отображает дату и имя последнего построения проекта. Данное поле не редактируется.

Files

Отображает число файлов в проекте. Данное поле не редактируется.

Debug Info

Задает включение отладочной информации вместе с компилируемым файлом. Если этот переключатель сброшен, вы не сможете следить за выполнением программы в окне Трассировки(Trace). Данная опция соответствует аргументу NODEBUG команды COMPILE.

Encrypted

Указывает, следует ли зашифровывать компилируемые файлы в целях защиты.

Attach Icon

Указывает, следует ли в процессе работы программы отображать на экране выбранный значок. Если этот переключатель установлен, то отображается диалоговый бокс

Open, но только в том случае, если значок еще не был назначен приложению.

Icon

Отображает диалоговое окно Open, в котором вы можете выбрать файл значка. Данная кнопка доступна, когда установлен переключатель Attach Icon. Для корректного отображения значка в Windows Explorer он должен содержать две картинки размерами 32 x 32 и 16 x 16 пикселей. Картинка 32 x 32 используется для ее просмотр в Explorer Large Icons, а 16 x 16 - в Explorer Small Icons, List и для Detail-просмотра.

Следующая таблица содержит форматы картинок значков, которые поддерживает Visual FoxPro.

Цвета Размер (пикселей)

True Color (24 bit)

16 x 16

True Color (24 bit)

32 x 32

True Color (24 bit)

48 x 48

True Color (16 bit)

16 x 16

True Color (16 bit)

32 x 32

True Color (16 bit)

48 x 48

256 Color

16 x 16

256 Color

32 x 32

256 Color

48 x 48

16 Color

16 x 16

16 Color

32 x 32

16 Color

48 x 48
Project Class

Отображает диалоговый бокс Project Reference, позволяющий Вам указать класс ProjectHook как шаблон для нового проекта.

См. также

Ссылки

Команда COMPILE
Закладка Files Диалогового бокса Project Information
Окно Project Manager
Диалоговый Бокс Select Directory
Окно Trace
Закладка Servers Диалогового Бокса Project Information
Диалоговый Бокс Project Information

Понятия

Project Manager Hooks

Другие ресурсы

Диалоговые Боксы (Visual FoxPro)
Инструментальные Средства Повышения Производительности Разработки

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Select Directory Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс выбора каталога
См. Также

Позволяет Вам устанавливать основной каталог проекта. Этот диалоговый бокс появляется при выборе кнопки установки каталога проекта в закладке Project пункта меню Project Information. Кнопка выбора привязана к разделу Home.

Directory

Отображает дерево каталогов, где Вы можете выбрать каталог, как основной каталог Проекта.

Drive

Позволяет Вам выбрать устройство (диск), в котором необходимо выбрать каталог проекта.

Select

Выбирает комбинацию диск/каталог, как главный каталог проекта. Данный каталог отображается в разделе Home закладки Project.

New Folder

Представлен, когда параметр nflag в функции GETDIR( ) = 64. Позволяет Вам создать новый каталог в данном диалоговом боксе.

См. также

Описание

Диалоговый Бокс Project Information
Окно Project Manager
Закладка Project, Диалогового бокса Project Information
Закладка Files, Диалогового бокса Project Information
Диалоговый бокс Project Information

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Files Tab, Project Information Dialog Box

Visual FoxPro 9.0
Закладка Files, Диалогового окна Project Information
Смотрите также

Показывает алфавитный список всех файлов проекта, их тип, статус включения/исключения, дату и время последних изменений, информацию о кодовой странице.

Type

Показывает пиктограму, представляющею тип файла.

Name

Показывает имя файла.

Last Modified

Показывает дату и время последней модификации файла.

Included

Если вы выбираете это поле, файл будет включен. Если вы очистите это поле, файл будет исключен.

Code Page

Показывает номер кодовой страницы.

Update native code page

Обновляет кодовую страницу для каждого перечисленного файла.

Смотрите также

Задачи

Как: Определите кодовую страницу Файла проекта

Справочное руководство

Окно менеджера проектов
Закладка Project, диалогового окна Project Information
Закладка Servers, диалогового окна Project Information
Диалоговое окно Select Directory
Диалоговое окно Build Options
Диалоговое окно EXE Version

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Кодовые страницы в Visual FoxPro
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Servers Tab, Project Information Dialog Box

Visual FoxPro 9.0
Закладка Servers (Серверы) диалогового окна Project Information (Информация о проекте)
Смотрите также

Отображает классы серверов, их библиотеки, создание экземпляров, описание, тип и информацию о справках (Help).

Note Замечание

Изменения, которые вы сделаете на закладке Servers (Серверы) требуют, чтобы вы перестроили библиотеки .dll или исполнимые файлы .exe для того, чтобы новые установки вступили в силу.

Server Classes (Классы серверов)

Отображает список всех доступных классов, размещенных, как в файлах библиотек (.vcx) так и в программном коде, и которые маркированы, как OLEPublic. Каждый класс в списке имеет соответствующий файл проекта .pjx.

Class Library (Библиотека класса)

Отображает путь к каталогу библиотеки класса, в котором хранится выбранный класс.

Class Name (Имя класса)

Отображает имя класса.

Instancing (Создание экзампляров)

Отображает одну из опций:

Single Use (Для единичного использования) Определяет, что вы можете создать экземпляр класса как внутри сессии Visual FoxPro, так и извне с помощью автоматизации (Automation). Каждый запрос для экземпляра класса произведенный клиентом автоматизации извне проекта, вызывает запуск отдельной копии сервера автоматизации. Каждый экземпляр имеет один поток исполнения. Хотя отдельные экземпляры требуют большего количества выделяемой памяти, выбор Single Use позволяет операционной системе применить многозадачности с приоритетным прерыванием.

Создание экземпляров по умолчанию устанавливается в Single Use, когда вы создаете новый проект, содержащий классы OLEPUBLIC. Такая установка подходит для сборки EXE серверов.

Not Creatable (Не создаваемый) Определяет, что вы можете создать экземпляр класса только внутри сессии Visual FoxPro.

Multi Use (Для многократного использования) Определяет, что вы можете создать экземлпяр класса, как внутри сессии Visual FoxPro, так и вне ее, с помощью автоматизации (Automation). Каждый запрос к экземлпяру класса со стороны клиента автоматизации вне проекта будет вызывать использование уже запущенной копии сервера автоматизации, предоставляемой в качестве источника для нового экземпляра. После того, как сервер будет создан, другие приложения смогут использовать один и тот же его экземлпяр.

Создание экземпляров по умолчанию устанавливается в Multi Use, когда вы создаете .dll COM сервер.

Description (Описание)

Содержит небольшое описание класса.

По умолчанию Visual FoxPro регистрирует полное представление Project.Server в виде описания. Этот гарантирует последовательность ключей реестра. Здесь вы можете указать иное описание класса.

Help file (Файл справки)

Отображает файл справки, связанный с сервером. Нажмите на кнопку вызова диалогового окна Open (Открыть), если не отображается название файла.

Help context ID (Идентификатор содержания справки)

Отображает идентификатор справки файла справки, связанного с приложением, в случае, если файл справки распространяется вместе с приложением.

Project name (Имя проекта)

Отображает имя проекта, связанного с классами серверов.

Typelib description (Описание библиотеки типов)

Отображает описание библиотеки класса, на которой основан выбранный класс.

Смотрите также

Справочное руководство

Закладка Files (Файлы) диалогового окна Project Information (Информация о проекте)
Окно диспетчера проекта
Закладка Project (Проект) диалогового окна Project Information (Информация о проекте)
Диалоговое окно Select Directory (Выбор каталога)
Диалоговое окно EXE Version (Версия EXE)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Prompt Options Dialog Box

Visual FoxPro 9.0
Диалоговое окно Prompt Options
Смотрите также

Позволяет задавать опции приглашений в адаптированной системе меню. С помощью этого диалогового окна можно определять клавиши сокращения, задавать условия недоступности меню или элемента меню, при выборе меню или элемента меню выдавать соответствующее сообщение в строке состояния, задавать имя заголовка меню, а также управлять размещением заголовков меню во время визуального редактирования OLE.

Данное диалоговое окно появляется при нажатии кнопки Options в Конструкторе меню и контекстных меню.

Comment

Предоставляет место для задания комментария, предназначенного исключительно для личного пользования. Комментарии никак не влияют на сгенерированный код; Visual FoxPro игнорирует их при выполнении программы меню.

Shortcut

Позволяет задать горячую клавишу для меню или пункта меню. В качестве горячей клавиши для пунктов меню Visual FoxPro назначается комбинация клавиши CTRL и другой клавиши.

Key Label

Отображает комбинацию клавиш, назначенных в качестве горячей клавиши. Если для пункта меню горячая клавиша не назначена, Visual FoxPro отображает в этом поле ввода "(press the key)". Нажмите комбинацию клавиш, которую Вы хотите назначить в качестве горячей клавиши.

Key Text

Задает текст, который будет отображаться рядом с названием пункта меню. По умолчанию повторяет сочетание клавиш, заданное в поле ввода KeyLabel. Например, в KeyLabel Вы задали комбинацию клавиш CTRL+R. То же самое будет отображено в KeyText, что можно исправить, скажем, на ^R.

Note Примечание

Комбинация клавиш CTRL+J не может быть назначена в качестве горячей клавиши для пункта меню.

Skip For

Отображает Диалоговое окно Expression Builder. В поле ввода SkipFor этого диалогового окна наберите выражение, которое определяет доступность или недоступность меню или пункта меню. Меню или пункт меню будут заблокированы, если результат выражения - истина (.T.).

Negotiate (Соглашение)

Группа опций состоит из двух раскрывающихся списков и задает положение заголовка меню в строке меню Visual FoxPro, когда осуществляется визуальное редактирование OLE для элемента управления ActiveX, содержавшегося в форме Visual FoxPro.

Container

Определяет расположение меню при редактировании по месту OLE-объектов.

Object

Определяет расположение меню при выполнении приложения типа Active Document в Web-браузере.

Note Примечание

Группа опций Negotiate доступна только для OLE-объектов, которые могут быть отредактированы по месту.

В следующей таблице перечислены варианты размещения заголовка меню для каждой из установок опции Container.

Установка Размещение

None

Определяет, что заголовок меню не будет отображаться. Равнозначно пустому значению опции.

Left

Определяет, что заголовок меню будет помещаться слева от группы File.

Middle

заголовок меню поместить слева от контейнерной группы, после группы Edit.

Right

Определяет, что заголовок меню будет помещаться слева от группы Window.

Для более подробной информации об опциях Negotiate смотрите Команда DEFINE PAD.

Message

Открывает диалоговое окно ExpressionBuilder. В поле редактирования Message этого диалогового окна наберите текст сообщения с описанием выбранного меню или элемента меню, которое будет выдаваться в строке состояния Visual FoxPro.

Pad Name

Позволяет задать собственный заголовок меню. Параметр является необязательным, Visual FoxPro задает его сам, если этого не делаете Вы. Используя это название или номер, Вы можете сослаться на меню или пункт меню во время выполнения. Эта опция доступен только для меню.

Note Примечание

Данная опция доступна только в том случае, если в области Result окна Menu Designer задано Command, Submenu, или Procedure.

Picture

Позволяет задать файл с изображением, которое будет отображаться слева от текста меню, или рядом с пунктом системного меню Visual FoxPro, определенного, как ресурс для меню.

Bar #

Позволяет Вам определить собственное название пункта контекстного меню (необязательный параметр). Эта опция доступна только для контекстных меню.

Смотрите также

Справочное руководство

Диалоговое окно Having
Диалоговое окно Set Index Order
Диалоговое окно построителя выражений
Диалоговое окно создания отношений "один-ко-многим"
Конструктор меню и контекстных меню
Команда DEFINE PAD
Функция PROMPT( )

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Query Destination Dialog Box

Visual FoxPro 9.0
Query Destination, диалоговый бокс
См. Также

Обеспечивает переназначение результатов выполнения текущего Запроса.

Данный диалоговый бокс открывается при выборе опции Query Destination из соответствующего системного меню Query, и является достепным только при построении Запросов.

Output destinations (переназначение результатов)

Далее представлены возможные варианты переназначения результатов выполнения вашего Запроса.

Кнопка Краткое Описание

Кнопка Browse, диалоговый бокс Query Destination

Результаты Запроса выводятся в системное окно Browse.

Кнопка Cursor, диалоговый бокс Query Destination

Результаты Запроса сохраняются во временном Курсоре.

Кнопка Table, диалоговый бокс Query Destination

Результаты Запроса сохраняются в постоянной Таблице.

Кнопка Screen, диалоговый бокс Query Destination

Результаты Запроса отображаются как Отчет в Активном Окне или на главном Экране системы VFP.

См. также

Другие ссылки

Диалоговые Боксы (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Browse Button, Query Destination Dialog Box

Visual FoxPro 9.0
Кнопка Browse, в диалоговом боксе Query Destination
См. Также

Отображает результаты выполнения Вашего запроса в окне Browse, для дальнейшего просмотра и редактирования данных.

См. также

Описание

Диалоговый бокс Query Destination
Окно Browse
Команда BROWSE
Кнопка Cursor, в диалоговом боксе Query Destination
Кнопки в службе Class Browser

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cursor Button, Query Destination Dialog Box

Visual FoxPro 9.0
Кнопка Cursor, Результат Запроса, диалоговый бокс
См. Также

Определяется вид результата Запроса - поименованный курсор. Данный курсор имеет статус "read-only", появляется в системном окне View, становится доступным для просмотра данных результата запроса, получения отчетов и другое.... Данная команда доступна только для Запросов.

Cursor Name (имя курсора)

Определяет имя курсора, в который будет выведен результат Запроса.

См. также

Задачи

Как: Определить результат Запроса в виде: Таблицы, Массива или Курсора

Описание

Результат Запроса, диалоговый бокс
Кнопка Browse, Результат Запроса, диалоговый бокс
Кнопка Table, Результат Запроса, диалоговый бокс
SET CURSOR, Команда

Другие ссылки

Диалоговые боксы (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Table Button, Query Destination Dialog Box

Visual FoxPro 9.0
Кнопка Table, Query Destination, диалоговое окно
См. Также

Сохраняет результаты выполнения текущего SQL-Запроса в виде файла таблицы, (.dbf), с именем которое вы задаете. Данная команда имеет место только для Заппросов.

Table Name (имя Таблицы)

Определяет имя таблицы, в которой сохраняются результаты Запроса. Вы можете ввести новое имя таблицы, в указанное вами местоположение последней или выбрать уже имеющуюся таблицу, в этом случае данные будут перезаписаны.

См. также

Описание

Query Destination, диалоговое окно
Кнопка Cursor, Query Destination, диалоговое окно
Файловые структуры Таблиц (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Другие ссылки

Диалоговые Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Screen Button, Query Destination Dialog Box

Visual FoxPro 9.0
Кнопка Screen, Результаты Запроса, диалоговый бокс
См. Также

Отображает результаты выполняемого Запроса в текущее активное окно. Данная команда доступна только для Запросов.

Secondary Output (вторичный вывод результатов)

None (отсутствует)

Определяет, что результаты Запроса не отправляются на Принтер, не сохраняются в текстовом файле.

To Printer (на принтер)

Результаты выполнения Запроса направляются на Принтер (при одновременном выводе их на экран)

To Text File (сохранить в текстовом файле)

Результаты выполнения Запроса сохраняются в текстовом файле. Для определения имени файла вывода нужно нажать соответствующую кнопку, перезаписать имеющийся файл или создать новый файл.

Options (параметры)

Suppress Column Headings (сохраняет заголовки столбцов)

В результате Запрооса сохраняются заголовки соответствующих столбцов Полей.

Pause Between Screens (пауза между экранами вывода)

Определяет, что результаты Запроса выводятся экранами, выполняется пауза между экранами; при нажатии клавиши ESC - выполнение Запроса прекращается.

См. также

Описание

Query Destination (Результаты Запроса), диалоговый бокс

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Quick Report Dialog Box

Visual FoxPro 9.0
Quick Report (Быстрый Отчет), диалоговый бокс
См. Также

Позволяет определить поля таблиц и их характеристики для получения простейшего Отчета.

Field layout (характеристики Поля)

Определяется размещение выводимых Полей, слева-на-право на странице, или сверху-в-низ в столбец.

Titles (заголовки)

Определяет задание имен Полей в виде заголовков соответствующих столбцов Отчета.

Add alias (добавить алиас)

Определяет, что во всех именах полей присутствует соответствующий алиас таблицы (по правилу: Алиас.Поле).

Add table to data environment (добавить таблицы в соответствующий DE Отчета)

Определяет, что используемые таблицы автоматически добавляются в Среде Данных Отчета (DE Report).

Fields (Поля)

Отображается соответствующий диалоговый бокс Field Picker, в котором определяется список Полей, включаемых в Отчет. См. дополнительно раздел Field Picker, диалоговый бокс.

См. также

Задачи

Как: Создавать Отчеты (Visual FoxPro)

Описание

CREATE REPORT - Quick Report, Команда

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Recall (Records) Dialog Box

Visual FoxPro 9.0
Диалоговое окно Recall (Records)
Смотрите Также

Позволяет снимать отметки с записей помеченых на удаление. Соответствует команде RECALL.

Scope

Позволяет определить записи над которыми будет производить действие Visual FoxPro. Выберите Next, All, Record или Rest из выпадающего списка. Выберите номер в щетчике справа от выбраного Next или Record из выпадающего списка Scope.

For

Отображает диалоговое окно Expression Builder, для создания логического выражения, которому должна удовлетворять каждая запись для того, чтобы подвергнуться воздействию данной команды. Проверку с помощью выражения For проходят все записи в таблице.

While

Отображает диалоговое окно Expression Builder. Выражение While задает, что данному воздействию записи подвергаются, пока это логическое выражение остается истинным. Как только встретится запись, для которой выражение имеет значение "ложь", обработка прекращается без рассмотрения оставшихся записей.

Recall

Востанавливает записи руководствуясь значениями Scope, For, или While.

Смотрите Также

Справочное руководство

Диалоговое окно Delete (Records)
Диалоговое окно Expression Builder
Команда RECALL
Диалоговое окно Scope

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Rectangle/Line Dialog Box

Visual FoxPro 9.0
Диалоговое окно Rectangle/Line (Прямоугольник/Линия)
Смотрите также

Задает позицию и параметры вывода для элементов управления отчета Rectangle и Line.

Данное диалоговое окно появляется, когда вы нарисуете в отчете или этикетке прямоугольник или линию, а затем выделите и дважды щелкните его или ее.

Note Примечание

В зависимости от установки системной переменной _REPORTBUILDER, это диалоговое окно может быть заменено альтернативным интерфейсом пользователя. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER.

Print When

Отображает диалоговое окно Print When, позволяющее точно определить, когда в отчете или этикетке будет печататься линия или прямоугольник.

Object Position

Float

Определяет, что соответствующий элемент управления будет перемещаться относительно размеров окружающих полей.

Fix Relative to Top of Band

Определяет, что соответствующий элемент управления должен оставаться в той позиции, какую Вы назначили ему в Конструкторе отчетов или этикеток, и эта позиция сохраняется относительно верхней границы области.

Fix Relative to Bottom of Band

Определяет, что соответствующий элемент управления должен оставаться в той позиции, какую Вы назначили ему в Конструкторе отчетов или этикеток, и эта позиция сохраняется относительно нижней границы области.

Stretch Downwards

No Stretch

Определяет, что элемент управления не должен растягиваться по вертикали вместе с областью отчета, стремящейся отобразить содержащиеся в ней данные.

Stretch Relative to Tallest Object In Group

Определяет, что прямоугольник растягивается, чтобы вместить самый высокий объект в группе.

Stretch Relative to Height of Band

Определяет, что прямоугольник растягивается по вертикали вместе с областью отчета, стремящейся отобразить содержащиеся в ней данные, чтобы поместиться в ней.

Comment

Позволяет вставлять комментарии в .frx или .lbx файл. Комментарии носят справочный характер и нигде не выводятся при отображении отчета или этикетки.

Смотрите также

Задачи

Как: Добавить фигуры и линии на форму

Справочное руководство

Диалоговое окно Print When
Диалоговое окно Round Rectangle
Диалоговое окно Report Picture

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Remove Files from Source Control Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Remove Files из службы Source Control
См. Также

Исключает файл или группу выбранных файлов из вашего проекта с помощью службы source code control.

Files to Remove

Список файлов типа "source-controlled", в вашем проекте.

Select All

Выбрать все файлы в данном списке.

См. также

Описание

Диалоговый бокс Add Files в службе Source Control
Диалоговый бокс Update Project List
Компиляция исходного программного кода

Другие ссылки

Диалоговые боксы в системе (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Rename File Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс Rename File
См. Также

Обеспечивает возможностью переименовывать выбранные файлы.

Данный диалоговый бокс выводится на экран при выборе Rename File в меню Project.

Rename

Указывается имя переименовываемого файла.

To

нужно указать новое имя файла.

Note Обратите Внимание

При переименовывании файлов помните о следующем. Если переименовывается таблица, используемая в свойстве DataEnvironment, для некоторой формы, то она будет не найдена при запуске формы; если Вы переименовываете некоторый класс, который добавлен в ту же форму, он также не будет найден, так как - переименован.

См. также

Описание

Системное окно Project Manager
Диалоговый бокс Description
Диалоговый бокс New File (Visual FoxPro)
Команда RENAME
Свойство DataEnvironment
Команда RENAME TABLE

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Replace Dialog Box

Visual FoxPro 9.0
Дмалоговое окно Replace (Замена)
Смотри также

Ищет и заменяет заданный текст в текущем файле. Данная команда становится доступной, когда вы выделите текст. Чтобы проводить замены в таблице, используйте команду Replace Field из меню Table. Горячая клавиша CTRL+L.

Look For

Задает искомую текстовую строку.
Replace With

Задает текст замены.
Options

Определяет границы и направление поиска с заменой. Если вы задали искомый текст и не получили ожидаемых результатов, убедитесь, что вы правильно выбрали опции:
  • Match Case Заменяет текст, который в точности совпадает с комбинацией прописных и строчных букв, набранных в поле Look For..

  • Wrap Around Просматривает текущий файл от позиции ввода до конца файла, а затем с начала до исходной позиции ввода.

  • Match Whole Word Заменяет отдельные вхождения слов, а не вложенного текста.

  • Search Backward Ведет поиск в направлении от текущей позиции ввода к началу файла.

  • Use wildcards Разрешает использования символов маски.

Scope

Определяет область поиска.
  • Current Procedure Просматривает только текущую (выбранную) процедуру.

  • Current Object Просматривает все процедуры(события) текущего (выбранного) объекта.

  • All Objects Просматривает все процедуры, всех объектов в текущей форме или наборе форм.

Find Next

Ищет следующее вхождение строки, набранной в поле Look For. Данная кнопка остается недоступной до тех пор, пока вы не наберете текст в поле Look For.
Replace

Заменяет выделенный фрагмент текстом, содержащимся в поле Replace With. Если вы хотите оставить выделенный текст без изменений и перейти к следующему вхождению, нажмите кнопку Find Next.
Replace All

Отыскивает и заменяет все вхождения текста, заданного в поле Find What, на текст, содержащийся в поле Replace With. Эти замены можно отменить, выбрав команду Undo.

Смотри также

Прочие ресурсы

Диалоговые окна
Диалоговое окно Find(Поиск)
Диалоговое окно Go To Line(Перeход на строку)
Диалоговое окно Replace Field
Окно редактора кода
Диалоговое окно Insert Object

Перешлите коментарий по этой статье в Microsoft. © Microsoft Corporation. Все права защищены.


Replace Field Dialog Box

Visual FoxPro 9.0
Диалоговое окно Replace Field
Смотрите также

Изменяет значение сохраненное в одной записи или диапазоне записей.

Field

Отображает имена полей таблицы из текущей таблицы. Когда вы щелкаете стрелку вниз, отображается тип и размер полей.

With

Определяет выражение, которое описывает значение замены. Наберите выражение или выберите кнопку диалога, чтобы показать диалоговое окно Expression Builder и создать выражение замены.

Критерии замены

Scope

Позволяет вам определить записи, на которые должен действовать Visual FoxPro. Next, All, Record или Rest из выпадающего списка. Выберите число из щетчика справа от выбраного вами Next или Record из выпадающего списка Scope.

For

Отображает диалоговое окно Expression Builder, где вы создаете логическое выражение которому должна отвечать каждая запись над которой будет иметь действие команда. Каждая запись в таблице проверяется используя выражение For.

While

Отображает диалоговое окно Expression Builder. Выражение While задает, что данному воздействию записи подвергаются, пока это логическое выражение остается истинным. Как только встретится запись, для которой выражение имеет значение "ложь", обработка прекращается без рассмотрения оставшихся записей.

Replace

Заменяет записи используя значения Scope, For, и While. Доступно только когда вы имеете имена полей или выражение в обеих текстовых полях Field и With.

Смотрите также

Справочное руководство

Диалоговое окно Expression Builder
Команда REPLACE (Visual FoxPro)
Диалоговое окно Scope
Диалоговое окно Recall (Records)
Диалоговое окно Delete (Records)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Report and Label Print Options Dialog Box

Visual FoxPro 9.0
Диалоговый бокс: Параметры печати Отчетов и Этикеток
Смотрите Также

Определяются Параметры печати Отчетов или Этикеток.

Данный Диалоговый бокс активируется когда пользователь выбирает кнопку Options (Опции) в соответствующем Диалоговом боксе Print Options (Параметры Печати). Дополнительно смотрите раздел: Опции Печати, диалоговый бокс.

Scope (область действия)

Определяет диапазон обрабатываемых Записей базовой Таблицы, на основе которойпостроен Отчет. Если выбираются варианты: Next или Record, то нужно указать / выбрать либо количество обрабатываемых Записей, либо номер Записи, указываемые в дополнительном Контроле.

Возможными вариантами для определения данного параметра Scope являются следующие:

  • All - (все) обрабатываются Все доступные Записи базовой Таблицы Отчета.

  • Next (слудующие) обрабатывается несколько Записей, начиная с первой (1).

  • Record (Запись) обрабатывается Запись с указанным физическим Номером.

  • Rest (остальные) Обрабатываются диапазон Записей, начиная с текущей - и до конца Таблицы.

For (Для)

Определяется логическое Выражение, описывающее некоторый фильтр обрабатываемых в Отчете Записей (Для всех Записей, удовлетворяющих Фильтру). Для построения указанного Логического Выражения можно вызвать Построитель: кнопка-многоточие (…), активируется Диалоговый бокс Expression Builder (Построитель Выражения).

Note Совет

Не включайте секцию "FOR" в создаваемое выражение. Например, достаточно указать в Построителе: country = "Russia", тогда в Отчете будут обработаны только требуемые Данные.
While (Пока)

Определяется Логическое выражение, которое также описывает некоторый Фильтр обрабатываемых Записей в Отчете (Для тех Записей, пока выполняется Фильтр). Для активации диалогового бокса Expression Builder (Построитель Выражений) - нажмите кнопку-многоточие (...).

Note Совет

Не включайте секцию "WHILE" в состав создаваемого выражения. Например, достаточно указать в Построителе: sales > 1000, тогда в Отчете будут обработаны только требуемые Данные.

См. также

Описание

Построитель Выражений, диалоговый бокс

Другие ссылки

Диалоговые Боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Report Band Properties Dialog Box

Visual FoxPro 9.0
Report Band Properties (Свойства Полосы Отчета), диалоговый бокс
Смотрите Также

Рассматриваемый Диалоговый бокс позволяет вам определить специальные свойства и характеристики для различных Полос Отчета или Этикетки.

Данный Диалоговый бокс активируется в тот момент, когда вы выбираете подпункт Properties (Свойства) из соответствующего контекстного Меню (операция "Right-Click" на полосе Отчета); или при выполнении "double-click" для указанной Полосы Отчета; или при выполнении "double-click" на Имени требуемой полосы, смотрите раздел Edit Bands (Редактирование Полос), Диалоговый бокс.

Note Примечание

В зависимости от текущей установки системной переменной _REPORTBUILDER, рассматриываемый диалоговый бокс может иметь отличительный вид (от описываемого в данном разделе). Дополнительную информацию по данному вопросу смотрите в разделе: _REPORTBUILDER, системная переменная.

Параметры размещения Полосы Отчета (Закладка General)

Height (Высота)

Определяет высоту Полосы Отчета. Размер полосы Отчета определяется относительно размеров самой Страницы Отчета (верхнего и нижнего края). Когда вы определяете размер высоты Полосы Отчета с помощью контрола Height,то значение изменяется с шагом .05 от текущих единиц измерения (сантиметры или дюймы). Дополнительную информацию смотрите в разделе: Как: Настроить координатную Сетку Страницы Отчета.

Например, если высота полосы Title установлена в половину Дюйма, то информационные элементы в данной полосе Title размещаются на расстоянии в половину дюйма от верхнего края Страницы.

Note Совет

При размещении нового информационного Элемента на полосе Отчета, вам, возможно, потребуется изменить высоту данной Полосы в соответствие с размером добавляемого Элемента. В качестве рекомендации можете использовать размерную линейку, расположенную в левом краю Печатаемой Страницы. Деления на указанной линейке соответствуют размерам шага (масштаба).

Note Обратите Внимакние

При уменьшении высоты текущей Полосы, вам не удастся уменьшить ее до размеров, меньших чем высота размещенных на Полосе Информационных Элементов (Контролов. Если данные контролы не позволяют уменьшить высоту Полосы, то измените их расположение (временно переместите в другое место), измените высоту Полосы, и верните кеонтролы на прежнее место.
Constant band height (Высота Полосы является постоянной)

Предотвращает бесконечное растяжение (по-высоте) данной Полосы, или удаление пустых строк Отчета (в следствие отсутствия информационных Элементов).

Вычисление заданных Выражений

Определяет вычисление требуемых выражений при генерации рассматриваемой Полосы Отчета.

On entry (При Входе, Before)

Определяет выражение, которое будет вычислено перед созданием (генерацией) полосы Отчета. Для построения требуемого выражения вы можете использовать кнопку (…), которая активирует Построитель выражений (Expression Builder). Дополнительньо смотрите раздел: Expression Builder (Построитель Выражений), диалоговый бокс.

On exit (На Выходе, After)

Определяет выражение, которое будет вычислено сразу после создания полосы Отчета. Для построения требуемого выражения вы можете использовать кнопку (…), смотрите: Expression Builder (Построитель Выражений), диалоговый бокс.

Характеристики полосы типа Detail

Определяет свойства или характеристики для рассматриваемой Полосы Отчета типа Detail, или ассоциированных с ней Полос. Ассоциированными полосами являются полосы Отчета типа Header (верхний Колонтитул) или Footer (нижний Колонтитул), если последние используются в Отчете.

Note Рекомендации

Рассматриваемые характеристики, размещенные выше Опции Target alias,могут не рассматриваться в том случае, когда не выполняются новые условия, введенные в версии Visual FoxPro 9: Набор полос (Группа Полос) может включать дополнительные полосы Отчета: header / footer, или может зависеть от присоединенного Алиаса, или может содержать несколько полос Отчета типа Detail. Если ни одно из перечисленных условий не выполняется, то рассматриваемые ниже характеристики и Свойства игнорируются, Отчет выполняется в режиме совместимости с младшими версиями FoxPro.

Start on a new column (Определить начало нового Столбца)

Каждый следующий Набор Полос начинается на новом Столбце Отчета. Данный Переключатель обеспечивает размещение Наборов Полос на соседних Колонках (Столбцах) печатаемой Страницы. Этот переключатель доступен только в случае создания Многоколоночных Отчетов.

Note Обратите Внимание

Новый Столбец создается только перед группой полос Detail Header, (Точнее: если указанные полосы определены).
Start on a new page (Определить начало Новой Страницы)

Определяет начало новой печатной Страницы для текущего Набора полос типа Detail.

Note Обратите внимание

Новая Страница определяется только для группы полос Detail Header (Если последние определены для Набора Полос).
Reset page number to 1 for each detail set (Переопределять номер Страницы (=1) для каждого набора полос Detail)

Определяет начало новой Страницы Отчета для рассматриваемого набора Полос типа Detail, при этом счетчик печатаемых Листов устанавливается в =1.

Detail Header/Footer (Добавить полосы Верхнего/Нижнего Колонтитула )

Определяет наличие дополнительных Полос Отчета типа Detail Header или Detail Footer, которые соответствуют Группе полос типа Detail.

Reprint detail header on each page (Повторить вывод Верхнего Колонтитула Группы на новой странице)

Определяет, что полоса типа Detail Header будет повторяться на каждой новой Странице Отчета в том случае, когда рассматриваемая Группа полос размещается на более чем одной Стринице Отчета.

Start detail set on new page when less than (Начать новую Страницу для Набора Полос, если недостаточно места на текущей странице)

Устанавливает минимально допустимое пространство размещения рассматриваемого набора Полос Отчета; и обеспечивает полное размещение набора полос на печатаемом Листе, или начинает новую страницу.

Target alias (Алиас Назначения)

Определяет выражение для вычисления имени Алиаса присоединяемой таблицы, которая используется в полосе Detail. Для построения указанного выражения вы можете использовать кнопку "многоточие " (…), которая активирует Построитель выражения Expression Builder. Дополнительную информацию смотрите в разделе: Expression Builder (Построитель Выражений), Диалоговый бокс.

Note Обратите внимание

Не забывайте включать в кавычки имя Алиаса присоединяемой Таблицы (""), что обеспечивает надежное разрешение Ссылок. Заданные без кавычек значения могут интерпретироваться как имя Переменной или Поля из таблицы, содержащие значение имени требуемого алиаса (что может не соответствовать действительности).

Более детальную информацию смотрите в разделах: Как: Определить Алиас присоединенной Таблицы для Полосы Отчета или Работа с присоединенными Таблицами при помощи нескольких полос Detail в Отчетах.

См. также

Концепции

Работа с присоединенными Таблицами при помощи нескольких Полос типа Detail в создаваемых Отчетах
Полосы Отчета

Другие ссылки

Работа с Полосами Отчетов
Диалоговые боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Report Band Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Диалоговое окно свойств полосы отчета (Построитель отчета)
Смотрите также

Позволяет установить свойства и опции для полосы в раскладке отчета или этикетки в Конструкторе Отчетов или Этикеток.

Диалоговое окно свойств полосы может быть открыто тремя способами: выбором пункта меню Properties контекстного меню, вызываемого нажатием правой кнопки мыши на разделителе полос; двойным щелчком на разделителе полос; двойным щелчком на имени полосы в Диалоговом окне редактирования полос.

Note Примечание

Это диалоговое окно отображается в случае, если системная переменная _REPORTBUILDER по умолчанию определяет Построитель отчетов (ReportBuilder.app). Если она пуста, происходит вызов диалоговых окон как в версиях до Visual FoxPro 9.0. Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, будет отображено соответствующее диалоговое окно. Для более подробной информации смотрите _REPORTBUILDER System Variable.

Следующая таблица описывает вкладки диалогового окна Report Band Properties. Некоторые вкладки имеются в диалоговых окнах только определенных типов полос.

Note Примечание

При изменении отчета в защищенном режиме некоторые или все вкладки могут быть недоступны в зависимости от параметров настройки режима защиты.

Вкладка | Описание
Вкладка General диалогового окна свойств полосы отчета (Построитель отчетов) | Позволяет изменить высоту полосы отчета, определить, должна ли полоса расширяться или сжиматься, чтобы ее размер точно соответствовал выводимым в ней данным, задать подавление пустых строк и выражений, вычисляемых до и после обработки полосы отчета.
Вкладка Band диалогового окна свойств полосы отчета (Построитель отчетов) | (Только для полосы типа Detail) Определяет, как полоса деталировки Detail должна обрабатываться во время выполнения.
Вкладка Data Grouping диалогового окна свойств полосы отчета (Построитель отчетов) | (Только для полосы типа Group Header.) Позволяет организовать группировку данных в отчете или этикетке.
Вкладка Protection диалогового окна свойств полосы отчета (Построитель отчетов) | Позволяет установить опции защиты для полосы отчета в Конструкторе Отчетов или Этикеток, ограничивая пользователя при внесении изменений в отчет в защищенном режиме.
Вкладка Other диалогового окна свойств полосы отчета (Построитель отчетов) | Позволяет добавлять комментарии и пользовательские данные к полосе отчета в Конструкторе Отчетов или Этикеток.

Смотрите также

Прочие ресурсы

Работа с полосами отчета
Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


General Tab, Report Band Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка General, Диалоговое Окно Report Band Properties (Построитель Отчетов)
Смотрите Также

Дает возможность определить основные опции для областей отчета в Дизайнере Отчетов или Этикеток.

Note Примечание

Эта закладка заменяет функциональные возможности собственного Visual FoxPro Диалогового Окна Report Band Properties, когда построитель отчетов активизирован.

  • Как: Изменить Высоту Области Отчета

  • Как: Задать Выражение, Определяющее, когда Обрабатывать Области Отчета

  • Как: Конфигурировать Вывод для Области Отчета

Опции Областей Отчета

Следующие опции позволят вам задать форматирование и поведение областей отчета.

Group expression

(Только для Group Header и Group Footer областей)

Задает выражение для использования механизмом отчетов, чтобы определить, когда прерывать формирование области детализации. Информация в заголовке и в итогах группы формируется каждый раз, когда меняется значение этого выражения. Пустые значения не действительны.

Вы можете напечетать или воспользоваться построителем выражений, нажав на кнопку с троеточием (…). Для дальнейшей информации смотрите Диалоговое Окно Построителя Выражений (Expression Builder).

Height

Задает высоту области. Высота области отчета определяет размер занимаемого места, которое используеет каждая область, на странице в пределах краевых полей страницы. Дискретность изменения высоты спиннером зависит от настроек единиц измерения линейки для раскладки данного отчета. Для дальнейшей информации смотрите Как: Конфигурировать Сетку Раскладки Страницы для Отчетов.

Например, если высота области заголовка (title) установлена равной полдюйма, то информация в области заголовка разместится в первых полдюймах, после верхнего краевого поля.

Note Подсказка

Когда добавляете элементы в какую-либо область, то, возможно, вам придеться изменить высоту этой области, чтобы разместить все ее содержимое. В качестве руководства, как определить высоту, используйте линейку, слева от данной области. Величина на линейке - это индивидуальная высота данной области и не включает краевые поля страницы.

Note Примечание

Когда уменьшаете высоту области, вы не можете сделать область короче, чем высота ее эелементов. Если элементы в данной области не позволяют изменить ее размер, то подвиньте элементы в этой области и затем уменьшите ее высоту.

Constant band height

Предотвращает область от изменения размеров, чтобы уместить длинные данные или подавить вывод пустых строк. Для дальнейшей информации смотрите Как: Подавить Вывод Пустых Строк в Элементах Управления Отчета.

Run expression

Задает выражени, вычесляемое до и после обработки области отчета.

On entry

Задает выражение, вычисляемое до обработки данной области. Чтобы построить выражение, нажав на кнопку с троеточием (…), откроется построитель Expression Builder. Для дальнейшей информации смотрите Окно диалога Expression Builder.

On exit

Задает выражение, вычисляемое после обработки данной области. Чтобы построить выражение, нажав на кнопку с троеточием (…), откроется построитель Expression Builder. Для дальнейшей информации смотрите Окно диалога Expression Builder.

Смотрите Также

Ссылки

Окно диалога Report Band Properties Dialog Box (Report Builder)

Другие Ресурсы

Работа с Областями Отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Band Tab, Report Band Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка "Band", диалоговый бокс "Report Band Properties" (Построитель Отчета)
Смотрите Также

Обеспечивает настройку свойств и характеристик полосы типа Detail в соответствующем Дизайнере Отчетов или Дизайнере Этикеток.

Note Обратите Внимание

Рассматриваемая Закладка функционально соответствует системному инструментарию Visual FoxPro Report Band Properties (Свойства Полосы Отчета), диалоговый бокс, который активируется при открытом системном окне Построителя Отчетов.

  • Как: Настроить характеристики Печати Полос Отчета

  • Как: Определить Алиасы назначения для Полос Отчета типа Detail

Свойства Полосы типа: Detail

Определяет характеристики полосы типа Detail или набора полос типа Detail. Набор полос типа Detail включает в себя соответствующие полосы отчета Header / Footer (верхний и нижний Колонтитулы), в том случае, когда включен соответствующий переключатель, определяющий наличие указанных полос в Отчете.

Note Обратите Внмание

Характеристики, размещенные выше опции Target alias expression не распространяются на рассматриваемые Полосы Отчета если не определено одно из условий, введенных для новой версии Visual FoxPro 9: набор полос отчета включает всебя специальные полосы header / footer, или определен Алиас таблицы в соответствующем поле Диалогового бокса, или для рассматриваемой полосы типа detail задано несколько информационных полос. Если ни одно из перечисленных выше Условий не выполняется, рассматриваемый Отчет функционирует в режиме "обратной совместимости" при обработке представленных Опций, где только для Групповых заголовков и поддонов использовались дополнительные информационные Полосы.
Start on new column (Начинать с Новой Колонки Отчета)

Определяет размещение каждого нового набора полос типа Detailв очередном Столбце Отчета. Данная Опция обеспечивает размещение на одном Листе Отчета нескольких Групп наборов Полос Отчета Detail. Эта опция доступна только в том случае, когда Лист Отчета настроен как Многоколоночный.

Note Примечание

Колонка Отчета заканчивается только перед заданной полосой типа Detail Header, если последняя задана в Отчете.
Start on new page (Начинать с Нового Листа Отчета)

Определяет размещение каждого нового набора полос типа Detail с нового (очередного) Листа Отчета.

Note Примечание

Текущая Страница Отчета заканчивается только перед полосой отчета типа Detail Header, если последняя задана в Отчете.
Reset page number to 1 for each detail set (Обнулить счетчик Листов Отчета (=1) для нового набора Полос)

Определяет новую нумерацию Листов отчета при размещении очередного набора полос отчета на новом Листе (предполагается, что рассматриваемый набор полос отчета может размещаться на нескольких Листах).

Associated header and footer bands (Активация дополнительных информационных полос (Заголовка и Поддона))

Определяет размещение в Отчете специальных полос: Detail Header / Detail Footer, которые размещаются соответственно в верхней и в нижней части рассматриваемой полосы типа detail,.

Reprint detail header on each page (Повторение вывода Заголовка Detail для каждого нового Листа)

Определяет, что полоса типа Detail Header размещается после Заголовка Листа на каждом новом Листе Отчета. В этом случае предполагается, что текущий набор полос типа Detail размещается на нескольких Листах Отчета, для каждого из которых повторяется вывод Заголовка группы полос типа Detail.

Start detail set on new page when less than (Начинать печать набора полос на новом Листе, если места недостаточно, чем...)

Определяет минимальный размер (по-высоте) для размещения Группы Полос Отчета. Если заданного размера недостаточно, то указанный набор полос размещается на новом Листе Отчета.

Target alias expression (Алиас таблицы, определяющий дополнительные полосы Отчета)

Определяет некоторое выражение, значение которого описывает Алиас таблицы данных для полосы типа Detail. Для построения указанного выражения вы можете использовать кнопку-многоточие (...), которая активирует Построитель выражений (Expression Builder). Дополнительную информацию смотрите в разделе: Expression Builder, диалоговый бокс.

Note Обратите Внимание

Не забывайте заключать реальное Имя Алиаса в кавычки (""), что обеспечивает корректное разрешение (вычисление) действительного Имени требуемого Алиаса. Указанные без кавычек значения могут интерпретироваться как имена переменных или полей таблиц, которые возможно содержат реальное имя алиаса (а может и Нет).

Дополнительную информацию смотрите в разделах: Как: Определить Алиас назначения для Полос типа Detail или Работа с присоединенными Таблицами данных при помощи нескольких Полос типа Detail в создаваемых Отчетах.

См. также

Описание

Report Band Properties, диалоговый бокс (Построитель Отчета)

Концепции

Работа с присоединенными Таблицами данных при помощи нескольких Полос типа Detail в Отчетах

Другие ссылки

Работа с Полосами в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Protection Tab, Report Band Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка Protection, диалоговый бокс Report Band Properties (Построитель Отчетов)
См. Также

Обеспечивает разработчика возможностями защиты наиболее важных Элементов Отчета, когда данный отчет открывается в соответствующем Дизайнере Отчетов или Этикеток; позволяет использовать указанные Дизайнеры в Защищенном Режиме. Дополнительную информацию смотрите в разделе: Установка элементов Защиты для Отчетов.

  • Как: Установить защиту Полосы Отчета

При использовании ключевой опции PROTECTED:

Обеспечивается режим Защиты для Полосы Отчета.

Band cannot be resized (размеры Полосы не могут быть изменены)

Определяется, что пользователь не может изменить размеры (ширину, высоту) текущей Полосы Отчета, когда рассматриваемый Отчет открывается в защищенном режиме.

Рассматриваемый Контрол CheckBox Band cannot be resized в начальный момент является Выключенным.

Properties dialog box is not available (диалоговый бокс Свойства является недоступным)

Определяется, что пользователь не может изменить некоторые Свойства Полосы Отчета, когда рассматриваемый Отчет открывается в защищенном Режиме для соответствующего Дизайнера Отчета или Этикетки.

См. также

Описание

Закладка Protection, диалоговый бокс Report Control Properties (Построитель Отчетов)
Закладка Protection, диалоговый бокс Report Properties (Построитель Отчетов)
Report Band Properties, диалоговый бокс (Построитель Отчетов)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Other Tab, Report Band Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка Other, Диалоговый Бокс Report Band Properties (Построитель Отчетов)
См. Также

Обеспечивает вас возможностью добавлять Комментарии или некоторые пользовательские данные для Полосы Отчета, при работе с Дизайнером Отчетов или Дизайнером Этикеток.

  • Как: Добавить Комментирии к Полосам Отчетов

  • Как: Добавить пользовательские Данные к Полосам Отчетов

Edit comment (изменить комментарий)

Открывается диалоговый бокс Comment, в котором пользователь может ввести или изменить Текст комментария для данной Полосы Отчета.

Note Примечание

Рассматриваемый текст комментария помещается в соответствующее поле COMMENTS из соответствующего файла .FRX и которое не используется при функционировании Отчета (создании , печати...). Однако, данное поле COMMENTS может быть использовано производным подклассом ReportListener.

Edit user data (изменить пользовательские данные)

Открывается диалоговый бокс User data, в котором пользователь может ввести или изменить соответствующие данные, относящиеся к текущей Полосе Отчета.

Note Примечание

Пользовательские данные являются недоступными и не могут быть изменены в том случае, когда данный Отчет открывается в Защищенном Режиме.

Note Примечание

Пользовательские данные помещаются в соответствующее поле USER memo из соответствующего файла .FRX, и которое не используется при функционировании Отчета. Однако, данное поле USER может быть использовано производным подклассом ReportListener.

См. также

Описание

Report Band Properties, диалоговый бокс (Построитель Отчетов)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Report Builder Debug Event Dialog Box (Report Builder)

Построитель Отчетов, диалоговый бокс Debug Event (Report Builder)
См. Также

Данный всеобъемлющий и функциональный Диалоговый бокс Управления Событиями в соответствующих Дизайнерах Отчетов или Этикеток позволяет вам просматривать и контролировать содержание элементов соответствующего Курсора FRX рассматриваемого Отчета, непосредственно, напрямую изменять управляющие Флаги и настройки указанных Дизайнеров.

В рассматриваемом диалоговом боксе Debug Handler отображаются элементы соответствующего Курсора FRX, при этом используются основные функциональные элементы из соответствующего Диалогового Бокса FRX Cursor Browser, но добавляются следующие дополнительные элементы управления:

Event Details (Подробности Событий)

Отображается диалоговый бокс (на основе стандартной функции MESSAGEBOX()), содержащий детали передаваемых Параметров из Дизайнеров в Построитель Отчетов (Report Builder). Дополнительно смотрите: Основные понятия Событий Построителя Отчетов.

Options (Характеристики)

Отображается соответствующий диалоговый бокс Построителя Отчетов Options.

FRX Changes (Изменения в FRX)

Управляет установкой бита (значения) = 1 параметру с именем ReturnFlags:

  • Save (сохранить) - сохранить все выполненные изменения в Отчете, изменить соответствующие элементы в курсоре FRX, и загрузить последний заново в Дизайнер.

  • Discard (отклонить) - отменить все выполненные Изменения, перезагрузить Курсор.

Native Behavior (Внутреннее Поведение)

Управляет установкой бита (значения) = 0 параметру с именем ReturnFlags:

  • Allow (разрешить) - продолжать обрабатывать События (дизайнером Отчетов), как-будто последний не Активен.

  • Suppress (подавить) - рекомендовать Дизайнеру игнорировать События.

Continue (Продолжить)

Закрыть диалоговый бокс Debug Handler, передать управление в Дизайнер Отчета.

См. также

Задачи

Как: Настроить Управление Событиями в Построителе Отчетов (Report Builder)

Описание

Диалоговый бокс Options Построителя Отчетов (Report Builder)
FRX Cursor Browser, диалоговый бокс (Построитель Отчетов)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Report Builder Options Dialog Box (Report Builder)

Параметры Построителя Отчетов, диалоговый бокс (Построитель Отчетов)
Смотрите Также

Позволяет вам специфически настроить Построитель Отчетов для обработки Событий в соответствующем Дизайнере Отчетов.

  • Как: Настроить Построитель Отчетов для обработки Событий

  • Как: Определить альтернативную Таблицу Обработчика Событий Отчета

  • Как: Добавить собственный Обработчик Событий в таблицу реестра Построителя Отчетов

Обработка Событий в Дизайнере Отчетов

Определяется, как Построитель Отчетов обрабатывает События в соответствующем Дизайнере Отчетов.

Регистрационная Таблица Обработчика Событий

Определяет, какую Таблицу Регистрации использует Построитель Отчетов, внутреннюю, внешнюю, или задаваемую Пользователем. Данный Контрол (TextBox) должен содержать полный путь к файлу Таблицы - реестру Обработчика Событий Построителя Отчетов. С помощью командной кнопки (…) - многоточие, вы можете выполнить навигацию для поиска требуемой таблицы. Данная установка не сохраняется.

Создание Копии

Определяет возможность создания Копии рассматриваемой Таблицы Регистрации из внутренней Таблицы, содержащей параметры Обработчика Событий, принятые по-умолчанию.

Навигация по Реестру Событий

Активирует, отображает Event Handler Registry, диалоговый бокс (Построитель Отчетов).

Закрыть

Закрывает данный диалоговый Бокс Report Builder Options (Параметров Построителя Отчетов).

См. также

Описание

Регистрация Обработчика Событий, диалоговый бокс (Построитель Отчетов)
_REPORTBUILDER, системная переменная

Другие ссылки

Разработка и Настройка Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Event Handler Registry Dialog Box (Report Builder)

Event Handler Registry (Реестр Обработчика Событий), диалоговый бокс (Report Builder)
Смотрите Также

Данный Диалоговый бокс позволяет вам просматривать текущую системную Таблицу Реестра Обработчика Событий Построителя Отчетов (Report Builder). Если Построитель Отчетов использует собственную (внутреннюю) таблицу Реестра, то данный Диалоговый бокс открывается в режиме Read-Only, поэтому вы не сможете изменять и настраивать необходимые Параметры.

Когда Построитель Отчетов настроен для использования Внешней Таблицы Реестра обработчика Событий Отчета, представленный контрол Grid доступен для Редактирования, и вы сможете изменить параметры поведения Построителя Отчетов для каждого индивидуального События Отчета.

Обратите Внимание, перед тем, как вносить изменения в данную Таблицу, обязательно ознакомтесь со следующим материалом: Таблица Реестра Обработчика Событий в Построителе Отчетов.

  • Как: Добавить собственный Обработчик в Реестр Построителя Отчетов

Grid (Схема, Таблица)

В этой таблице размещается информация о текущем Обработчике Событий Построителя Отчетов, которая может быть Откорректирована. Как указано выше, данная таблица может быть открыта в режиме Read-Only (только чтение) если не выполнены следующие требования:
Как: Определить альтернативную Таблицу Обработчика Событий Отчета.

Type (Тип)

Определяет Тип Обработчика Событий. Возможные значения: H,F,X,G,E.

Class (Класс)

Определяет Имя Класса Обработчика.

Library (Библиотека классов)

Определяет имя файла библиотеки классов. Предполагается (и допустим) визуальный файл классов (.vcx) или программный файл (.prg).

Description (Краткое Описание)

Допускается краткое описание каждой строки (Записи) рассматриваемой Таблицы. Не используется в Построителе Отчетов.

Event (Событие)

Определяет Тип События, зарегистрированного текущим обработчиком Событий. Используйте значение = -1, чтобы задавать Шаблонные символы ( "wild card" match).

Objtype (Тип Объекта)

Определяет значение для Поля OBJTYPE, которое регистрирует рассматриваемый Класс. Используйте значение = -1, чтобы задавать Шаблонные символы ( "wild card" match).

Objcode (Код Объекта)
Определяет значение для Поля OBJCODE, которое регистрирует рассматриваемый Класс. Используйте значение = -1, чтобы задавать Шаблонные символы ( "wild card" match).
Native (Внутренний, собственный)

Определяет, как для текущей комбинации Типа События и Типа Объекта, Построитель Отчета не будет обрабатывать указанное Событие, а передаст управление обратно в Дизайнер Отчета, для его "нормальной" (обычной) обработки последним.

Note Обратите Внимание

Указанный подход не означает полное игнорирование текущей Записи Таблица (как Удаление записи из Таблицы). Вы можете использовать представленную возможность внутренней Обработки конкретного События, представленной пары: Событие/Объект, События для указанного Варианта generic/wild-card - зарегистрированных Символов.
Debug (Отладка)

Определяет, что для рассматриваемой Комбинации (пары) События / Объекта, Построитель Отчета использует специализированный Класс обработчика DebugHandler, который задается в соответствующих столбцах таблицы: Class и Library.

Add Record (Добавление Записей)

Выполняется добавление в конец Таблицы Реестра Обработчика Событий новой Записи, которая становится доступной для Редактирования. Данная Опция может быть недоступной в том случае, когда Таблица открыта в режиме Read-Only (только-чтение), смотрите выше. Обычно, данная ситуация отражает тот случай, когда Построитель Отчетов использует Внутреннюю Таблицу Реестра Обработчика Событий Отчета, (что является ситуацией - "по-умолчанию").

См. также

Описание

Report Builder Options (Параметры Построителя Отчетов), диалоговый бокс (Report Builder)

Концепции

Основные Понятия Событий Построителя Отчетов

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Shmorin A.


Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Диалоговое окно Report Control Properties (Свойства объектов управления отчета) (Построитель отчетов)
Смотрите также

Позволяет Вам установить опции для элементов управления отчета на раскладке отчета.

Это диалоговое окно вызывается двойным щелчком на элементе управления отчета или при выборе пункта Properties контекстного меню элемента управления отчета.

Note Примечание

Это диалоговое окно отображается в случае, если системная переменная _REPORTBUILDER по умолчанию определяет путь и имя файла для Построителя отчетов (ReportBuilder.app). Если она пуста, происходит вызов диалоговых окон как в версиях до Visual FoxPro 9.0. Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, будет отображено соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменная _REPORTBUILDER.

В следующей таблице перечислены доступные вкладки диалогового окна Report Control Properties (Свойства объектов управления отчета).

Note Примечание

При модификации отчета или этикетки в защищенном режиме, некоторые или все вкладки могут быть недоступны в соответствии с параметрами настройки режима защиты.

Вкладка | Описание
Вкаладка General Диалогового окна Report Control Properties (Построителя отчетов) | Позволяет Вам установить общие параметры для объектов управления отчета в Конструкторе отчетов или этикеток.
Вкаладка Style Диалогового окна Report Control Properties (Построителя отчетов) | (Только для объектов управления Label, Field, Line, и Shape.) Позволяет Вам установить опции стиля для объектов управления отчета в Конструкторе отчетов или этикеток.
Вкаладка Format Диалогового окна Report Control Properties (Построителя отчетов) | (Только для объекта управления Field.) Позволяет Вам установить форматирование выводимых данных, генерируемых элементом управления Field.
Вкаладка Print When Диалогового окна Report Control Properties (Построителя отчетов) | Позволяет Вам задать условия подавления отображения повторяющихся значений и другие условия вывода данных, генерируемых элементами управления отчета.
Вкаладка Calculate Диалогового окна Report Control Properties (Построителя отчетов) | (Только для объекта управления Field.) Позволяет Вам задать тип вычисления, которое будет выполнено над элементом управления Field для вывода результата этого вычисления. Здесь также может быть определен момент сброса результата вычисления.
Вкаладка Protection Диалогового окна Report Control Properties (Построителя отчетов) | Позволяет Вам установить опции защиты для элементов управления отчета, препятствующие пользователю вносить изменения в Конструкторе отчетов или этикеток при модификации отчета или этикетки в защищенном режиме.
Вкаладка Other Диалогового окна Report Control Properties (Построителя отчетов) | Позволяет Вам добавить комментарии, пользовательские данные, подсказки, и элементы кода для объектов управления отчета, которые исполняются с использованием объектов ReportListener для управления отчетом в Конструкторе отчетов или этикеток.

Смотрите также

Прочие ресурсы

Работа с элементами управления отчета
Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


General Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка General диалогового окна Report Control Properties (Свойства объектов управления отчета), (Построитель отчетов)
Смотрите также

Позволяет Вам установить общие параметры для элементов управления отчета в конструкторе отчетов или этикеток.

Note Примечание

Эта вкладка заменяет вызов нескольких стандартных диалоговых окон Visual FoxPro, когда активен модуль построителя отчетов (ReportBuilder.APP).

  • Как: Добавление элемента управления Field к отчету

  • Как: Определение Выражений в элементе управления Field (Поле)

  • Как: Добавление элемента управления Label (Метка) к отчету

  • Как: Добавление изображений к отчету

  • Как: Добавление полей типа General к отчету

Caption

(Только для элементов управления Label) Задает текст надписи метки. Кнопка (…) справа открывает диалоговое окно для просмотра, ввода и редактирования полного текста элемента управления Label.

Expression

(Только для элементов управления Field) Определяет некоторое выражение для поля таблицы или переменной памяти. Вычисление значения заданного выражения производится во время выполнения, поскольку механизм отчета выполняет вывод, базируясь на значении элемента управления Field. Кнопка (…) справа открывает диалоговое окно Expression Builder (Построителя выражений). Для более подробной информации смотрите Диалоговое окно Построителя выражений.

Control source type (Тип источника данных элемента управления)

(Только для элементов управления Picture/OLE Bound) Задает тип источника данных для элемента управления Picture/OLE Bound. Допустимые источники: имя файла изображения, имя табличного поля типа General, выражение или переменная или символьное (не General) поле таблицы, содержащие имя файла. Для более подробной информации смотрите Как: Добавление изображений к отчету и Как: Добавление полей типа General к отчету.

Image file name

Определяет, что источник данных для элемента управления задается прямым указанием имени файла изображения.

Note Важно

Не заключайте имя файла в кавычки ("").

General field name

Определяет, что источником данных для элемента управления будет являться поле General таблицы или курсора.

Expression or variable name

Определяет, что источником управления должно быть выражение или переменная, которая определяет:

  • Имя файла изображения.

  • Имя символьного (не General) поля.

  • Символьную строку, содержащая явное указание имени файла.

  • Ссылку на свойство PictureVal объекта Image.

    Note Совет

    Использование свойства PictureVal объекта Image в качестве источника изображения для элемента управления Picture/OLE Bound возможно только в режиме вывода с поддержкой объектов. В некоторых случаях эта опция может иметь эффект и в обратносовместимом режиме, но результат не гарантируются. Например, в этом случае, для элемента управления Picture/OLE Bound с таким источником изображения не принимается во внимание опция, определяющая изменение размеров изображения. Для более подробной информации сотрите Команда SET REPORTBEHAVIOR.

Control source (Источник данных)

(Только для элементов управления Picture/OLE Bound) Задает строку, выражение или имя переменной, которые определяют источник данных для элемента управления Picture/OLE Bound. Нажатие на кнопку (...) открывает различные диалоговые окна в зависимости от установки опции Control source type:

  • Image file name

    Отображается диалоговое окно Open для выбора необходимого файла. Для более подробной информации смотрите Диалоговое окно Open.

  • General field name

    Отображается диалоговое окно Expression Builder (Построителя выражений) для выбора поля типа General. Для более подробной информации смотрите Диалоговое окно построителя выражений и Тип поля General.

  • Expression or variable name

    Отображается диалоговое окно Expression Builder (Построителя выражений) для выбора переменной или создания выражения. Для более подробной информации смотрите Диалоговое окно построителя выражений.

If source and frame are different sizes

(Только для элементов управления Picture/OLE Bound) Определяет, как должно производиться отображение элемента управления, если его размеры не совпадают с размерами источника данных:

  • Clip picture (По умолчанию)

    Выводимое изображения привязывается к левому верхнему углу обрамления элемента управления.

    Если размеры источника больше размеров элемента управления, будет отображена только левая верхняя часть источника, ограниченная обрамлением элемента управления.

    Если размеры источника меньше заданных размеров элемента управления, то последние будут уменьшены таким образом, чтобы соответствовать источнику, или оставлять элемент управления прозрачным в области, не закрытой источником.

  • Scale picture, retain shape

    Размер выводимого изображения изменяется таким образом, чтобы его большее измерение принимало значение соответствующего измерения обрамления элемента управления. Второе измерение изменяется соответственно с сохранением исходных пропорций.

    Note Совет

    Эта опция защищает изображение или содержимое поля General от вертикального или горизонтального искажения.

  • Scale picture, fill the frame

    Размер выводимого изображения масштабируется, чтобы полностью заполнить площадь элемента управления, растягивая и сжимая изображение по вертикали или горизонтали по мере необходимости.

    Note Совет

    Эта установка может вызвать вертикальное или горизонтальное искажение.

Center general field horizontally in frame

(Только для элементов управления Picture/OLE Bound) Выравнивает по центру поле типа General, когда оно меньше размеров обрамления элемента управления, источником данных которого является поле типа General. Иначе, поле General отображается в левом верхнем углу обрамления элемента управления.

Object position

Определяет параметры настройки позиции для элемента управления отчета.

Float

Определяет, что элемент управления смещается к низу страницы, если расположенный выше него элемент управления также смещается или растягивается вниз.

Fix relative to top of band

Определяет, что элемент управления останется неподвижным относительно верхнего края полосы, содержащей этот элемент управления.

Fix relative to bottom of band

Определяет, что элемент управления останется неподвижным относительно нижнего края полосы, содержащей этот элемент управления.

Stretch with overflow

(Только для элементов управления Field) Определяет, что элемент управления будет расширен вниз страницы таким образом, чтобы все содержимое поля или выражения, базирующегося на поле, поместилось в элементе управления и было полностью видимым.

Stretch downwards

(Только для элементов управления Rectangle) Определяет, каким образом должна изменяться форма элемента управления Rectangle при изменении размеров содержимого полосы.

No stretch

Определяет, что элемент управления Rectangle не будет расширяться вниз для приведения в соответствие с растягиванием полосы из-за изменения высоты элементов управления Field, вследствие ее подгонки под содержимое поля-источника.

Stretch relative to tallest object in group

Определяет, что элемент управления Rectangle должен изменять свои размеры так, чтобы вместить самый высокий объект в группе.

Stretch relative to height of band

Определяет, что элемент управления Rectangle должен изменять свои вертикальные размеры пропорционально изменению размеров полосы в связи с растягиванием или сжатием элемента управления Field, приводящим свою площадь в соответствие с данными источника.

Size and position in layout

Определяет положение элемента управления отчета и его размер в Конструкторе Отчетов.

From page top

Определяет расстояние от верхнего края листа до верхнего края элемента управления отчета.

From left

Определяет расстояние от левого края листа до левого края элемента управления отчета.

Height

Определяет высоту элемента управления отчета.

Width

Определяет высоту элемента управления отчета.

Смотрите также

Справочное руководство

Диалоговое окно Report Control Properties (Свойства объектов управления отчета) (Построитель отчетов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Style Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Style диалогового окна Report Control Properties (Свойства объектов управления отчета), (Построитель отчетов)
Смотрите также

Позволяет Вам оформить стиль элемента управления отчета с помощью выбора или отмены тех или иных опций на этой вкладке в Конструкторе Отчетов или Этикеток. Как отмена или установка опций влияет на стиль отображения элемента управления можно увидеть в окне опции Sample (Образец).

Note Примечание

Эта вкладка дополняет функциональные возможности меню Format Конструктора Отчетов Visual FoxPro, когда активен модуль Построителя Отчетов (ReportBuilder.APP), но некоторые возможности доступны только из этого меню.

  • Как: Изменение линий элемента управления отчета

  • Как: Изменение цветов в элементах управления отчета

  • Как: Изменение настроек шрифта в элементах управления отчета

  • Как: Изменение прозрачности в элементах управления отчета

Font

(Только для элементов управления Label и Field) Задает настройки шрифта элемента управления. Кнопка (…) справа открывает диалоговое окно Font (Шрифт) для выбора желаемого шрифта.

Use Font Script

Указывает, что языковой набор символов, выбранный в опции "Набор символов" диалогового окна Font (Шрифт) будет сохранен с отчетом.

Когда Вы задаете шрифт по умолчанию в диалоговом окне Font (Шрифт), выбранный набор символов будет сохранен по умолчанию. Отмена выбора этой опции позволяет сохранять раскладку без указания заданного специфического набора символов шрифта.

Для более подробной информации смотрите Диалоговое окно Font (Шрифт).

Strikethrough

Определяет, что выводимый в элементе управления текст будет перечеркнут горизонтальной линией.

Underline

Определяет, что выводимый в элементе управления текст будет подчеркнутым.

Pen style

(Только для элементов управления Line и Rectangle) Позволяет изменять вид и форму линий элементов управления.

Style

Задает вид линии для элементов управления Line и Rectangle.

Weight

Задает толщину линии для элементов управления Line и Rectangle.

Note Примечание

Доступна только для стиля линии Normal (сплошная линия). При выборе любого другого стиля эта опция блокируется, а толщина устанавливается равной 1 point.

Curvature

  • (Только для элемента управления Rectangle) Определяет искривление обрамления для элемента управления Rectangle. Выбор значений в диапазоне от 0 до 98 задает различную степень скругления углов обрамления; значение, равное 99, придает обрамлению вид овала. Значение, равное 16 установлено по умолчанию для вновь добавляемого элемента управления Rounded Rectangle. Для более подробной информации смотрите Свойство Curvature.

Color

Задает настройки цвета элемента управления.

Use default foreground (pen) color

Определяет, должен ли использоваться цвет символов, заданный по умолчанию.

Отмена выбора этой опции делает доступной кнопку (…), открывающую диалоговое окно Color Picker.

Use default background (fill) color

Определяет, должен ли использоваться цвет фона, заданный по умолчанию..

Отмена выбора этой опции делает доступной кнопку (…), открывающую диалоговое окно Color Picker.

Backstyle

Определяет, будут ли видимы ли объекты, которые находятся за элементом управления отчета.

Note Важно

Опция Backstyle для элемента управления Rectangle имеет смысл, только если было задано его заполнение штриховкой. Элемент управления Rectangle без заполнения - всегда прозрачный, со сплошным заполнением - всегда непрозрачный.

Opaque

Определяет, что объекты, которые находятся за элементом управления отчета не видимы.

Transparent

Определяет, что объекты, которые находятся за элементом управления отчета видимы.

Sample

Демонстрируется образец элемента управления, меняющий свой вид в зависимости от выбираемых опций.

Смотрите также

Справочное руководство

Report Control Properties Dialog Box (Report Builder)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Format Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Format диалогового окна свойств элемента управления отчета (Построитель отчетов)
Смотрите также

В Конструкторе отчетов или этикеток позволяет задать различные варианты выражения формата для выводимых данных, получаемых от элемента управления отчета Field. Для более подробной информации смотрите Выражения форматирования для элемента управления Field и Функция TRANSFORM( ).

Note Примечание

Эта вкладка заменяет вызов стандартного диалогового окна Visual FoxPro Диалоговое окно Format (Field), когда активен модуль построителя отчетов (ReportBuilder.APP).

  • Как: Установка типов данных для элемента управления Field

  • Как: Установка выравнивания содержимого элемента управления отчета

Общие опции форматирования

Format expression

Позволяет задать выражение формата, включая коды и шаблоны формата, вместо того, чтобы устанавливать перечисленные ниже опции группы Format options.

Character

Определяет, что выводимые на базе элемента управления отчета Field данные имеют Символьный тип и отображает соответствующие опции в группе Format options.

Numeric

Определяет, что выводимые на базе элемента управления отчета Field данные имеют Числовой тип и отображает соответствующие опции в группе Format options.

Date

Определяет, что выводимые на базе элемента управления отчета Field данные имеют тип Даты и отображает соответствующие опции в группе Format options.

Опции форматирования в зависимости от типа данных

Отображает те или иные опции форматирования, доступные в зависимости от выбранного выше типа данных.

Template characters

Отображает, как шаблон формата влияет на выводимые данные символьного типа :

  • Overlay

    Определяет, что добавочные символы в шаблоне будут замещать выводимые данные, получаемые от элемента управления отчета Field.

  • Interleave

    Определяет, что добавочные символы шаблона будут дополнять выводимые данные, получаемые от элемента управления отчета Field.

Например, допустим, что запись таблицы, которая является источником данных для элемента управления Field, содержит символы ABC1234, а в качестве шаблона определено NNN-NNNN. При выборе опции Overlay ABC1234 будет отображено как ABC-234; при выборе Interleave ABC1234 отобразится как ABC-1234.

To upper case

Выводимые данные символьного типа будут отображаться в верхнем регистре.

SET DATE format

Определяет, что выводимые данные будут отображаться в виде даты, с использованием текущей установки формата даты, заданную командой SET DATE. Для более подробной информации смотрите Команда SET DATE.

British date

Определяет, что выводимые данные будут отображаться в виде даты в британском формате. Для более подробной информации смотрите Команда SET DATE.

Blank if empty

Пустые данные типа Date не отображаются.

Alignment

Определяет параметры выравнивания выводимых данных символьного типа:

  • Left

    Задает выравнивание по левому краю элемента управления Field.

  • Right

    Задает выравнивание по правому краю элемента управления Field.

  • Center

    Задает выравнивание по центру элемента управления Field.

Left justify

Для выводимых данных типа Numeric. Начинает все числовые данные с крайней левой позиции элемента управления Field.

Blank if zero

Для выводимых данных типа Numeric. Если выводимые данные равны нулю, они не отображаются.

(Negative)

Для выводимых данных типа Numeric. Заключает отрицательные числа в скобки.

CR if positive

Для выводимых данных типа Numeric. Ставит символы CR (кредит) после положительных чисел.

DB if negative

Для выводимых данных типа Numeric. Ставит символы DB (дебит) после отрицательных чисел.

Leading zeros

Для выводимых данных типа Numeric. Отображаютсявсе ведущие нули.

Currency

Для выводимых данных типа Numeric. Отображает данные в валютном формате используя текущие установки, заданные на вкладке Regional диалогового окна Options. Для более подробной информации смотрите Вкладка Regional Диалогового окна Options.

Scientific

Для выводимых данных типа Numeric. Отображает формат в экспоненциальном представлении (используется для очень больших и очень маленьких чисел).

Trim mode for character expressions

Определяет, как будут урезаться символьные выражения, для отображения которых недостаточно места, отведенного под элемент управления Field. Могут быть назначены следующие установки:

  • Default (По умолчанию. Как в более ранних версиях Visual FoxPro)

  • Trim to nearest character (Урезание до ближайшего символа)

  • Trim to nearest word (Урезание до ближайшего слова)

  • Trim to nearest character, append ellipsis (Урезание до ближайшего символа с добавлением замещающего символа)

  • Trim to nearest word, append ellipsis (Урезание до ближайшего слова с добавлением замещающего символа)

  • Trim "filespec" style with an intermediate ellipsis (Урезание в специфицированном стиле с добавлением замещающих символов)

Для боле подробной информации об опциях урезания строк смотрите Использование GDI+ в отчетах.

Смотрите также

Справочное руководство

Report Control Properties Dialog Box (Report Builder)
Функция TRANSFORM( )

Понятия

Выражения форматирования для управляющих элементов Field

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Print When Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка Print When Диалогового Бокса Report Control Properties (Report Builder)
См. также

Дает возможность устанавливать опции, которые запрещают вывод на печать элементов управления отчета при различных условиях.

Note Замечание

Эта закладка заменяет функциональное назначение исконного (нативного) Диалогового Бокса Print When Visual FoxPro когда активен Report Builder.

  • Руководство: Запрет Повторяющихся Значений для Элементов Управления Отчета (Suppress Repeated Values for Report Controls)

  • Руководство: Запрет Пустых Строк в Элементах Управления Отчета (Suppress Blank Lines in Report Controls)

  • Руководство: Определение Условий Вывода на Печать для Элементов Управления Отчета (Specify Conditional Output for Report Controls)

Печать повторяющихся значений (Print Repeated Values)

Определяет, будет ли механизм отчета отслеживать изменения следующих друг за другом выходных значений элемента управления отчета и печатать их только тогда, когда значения изменятся.

Yes

Печатать значение элемента управления каждый раз, как только полоса будет обработана механизмом отчета.

No

Печатать значение элемента управления только в том случае, если оно отличается от предыдущего напечатанного значения.

Также печатать (Also print)

Определяет дополнительные условия для печати повторяющихся значений элемента управления отчета.

На первой целой полосе новой страницы/колонки (In first whole band of a new page/column)

Указывает, что элемент управления должен быть напечатан, когда полоса, содержащая его, является первой полосой, напечатанной на новой странице или новой колонке. Перекрывает значение опции Print repeated values. Подробнее смотрите в Применение Полос в Отчете (Working with Report Bands).

Когда изменяется выражение группировки данных (When this data group expression changes)

Указывает, что элемент управления должен быть напечатан, когда изменится выражение группировки данных. Перекрывает значение опции Print repeated values.

Note

Доступна только в случае, если по крайней мере одна группа данных существует в схеме отчета.

Подробнее смотрите в Применение Группировки Данных в Отчете (Working with Report Data Groups ).

Когда полоса переходит на новую страницу/колонку (When band content overflows to new page/column)

Указывает, что элемент управления должен быть напечатан, когда полоса, содержащая его, переходит на новую страницу или колонку.

Дополнительные опции (Additional options)

Следующие дополнительные опции позволяют запрещать печать пустых строк и управлять выводом на печать элементов управления отчета и данных в элементах управления отчета.

Удаление пустой линии (Remove line if blank)

Указывает, что механизм отчета может сжимать полосу отчета по вертикали, если текущий элемент управления отчета не печатается и его место не перекрывает никакой другой элемент управления.

Печатать только когда выражение является истиной (Print only when expression is true)

Определяет логическое выражение, которое механизм отчета оценивает для того, чтобы решить: надо ли печатать элемент управления отчета.

Note Замечание

Если добавить выражение в поле Print only when expression is true, то все другие опции закладки Print When, за исключением опции Remove line if blank, станут недоступны.

См. также

Ссылка

Диалоговый Бокс Report Control Properties (Report Builder)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Calculate Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Calculate (Вычисления) диалогового окна Report Control Properties (Свойства объектов управления отчета), (Построитель отчетов)
Смотрите также

Позволяет задать вычислительные операции, выполняемые над элементами управления Field и отображать результаты этих вычислений. Вы также можете задать момент сброса результатов вычислений в отчете.

Note Примечание

Эта вкладка заменяет вызов стандартного диалогового окна Visual FoxPro Calculate Field, когда активен модуль построителя отчетов (ReportBuilder.APP).

Как: Выполнение вычислений над элементами управления Field

Calculation type (Тип вычисления)

Определяет дополнительные вычислительные операции, которые могут быть выполнены над элементами управления Field для получения выводимых в отчете значений:

Note Примечание

Результат накопительных вычислений сбрасывается в зависимости от установки опции Reset value based on.

  • None (Default)

    Никакие дополнительные вычисления не выполняются. Результат выражения Field непосредственно передается механизму отчета для вывода.

  • Count

    Выводимое значение указывает, сколько раз выражение встретилось в отчете на момент печати очередной позиции. Вычисление базируется на числе появлений, а не на значении Field.

  • Sum

    Вычисляет сумму значений выражения Field на момент печати очередной позиции.

  • Average

    Вычисляет среднее арифметическое значений выражения Field на момент печати очередной позиции.

  • Lowest

    Отображает наименьшее значение, выражения Field, встретившееся к моменту печати очередной позиции.

  • Highest

    Отображает наибольшее значение, выражения Field, встретившееся к моменту печати очередной позиции.

  • Std Deviation

    Вычисляет квадратный корень из дисперсии значений выражения Field на момент печати очередной позиции.

  • Variance

    Характеризует степень отклонения отдельных значений выражения Field от среднего на момент печати очередной позиции.

Reset based on (Момент сброса результатов)

Определяет, в какой момент должны быть сброшены результаты вычислений. Значение по умолчанию - "End of Report" ("Конец отчета").

Note Примечание

Если в отчете заданы группировка данных, Полосы детализации или управляющие алиасы для Полос детализации, в списке Reset based on будут перечислены соответствующие элементы.

Смотрите также

Справочное руководство

Диалоговое окно Report Control Properties (Построитель отчетов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Protection Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Protection диалогового окна свойств элемента управления отчета (Построитель отчетов)
Смотрите также

Позволяет Вам наложить ограничения на выполнение определенных действий над элементами управления отчета в конструкторе отчетов или этикеток, препятствуя пользователю изменять элементы управления при модификации отчета или этикетки в защищенном режиме. Для дополнительной информации смотрите: Установка защиты для отчетов.

  • Как: Защита элементов управления отчета

Группа опций When in PROTECTED mode (если используется защищенный режим)

Могут быть установлены следующие варианты защиты элементов управления отчета.

Object cannot be moved or resized (Местоположение объекта и его размеры не могут быть изменены)

Определяет, что при модификации отчета или этикетки в защищенном режиме пользователь не может перемещать объект или изменять его размеры.

Properties dialog box is not available (Диалоговое окно свойств недоступно)

Определяет, что при модификации отчета или этикетки в защищенном режиме пользователь не может изменить элемент управления.

Objects cannot be deleted (Объект не может быть удален)

Определяет, что при модификации отчета или этикетки в защищенном режиме пользователь не может удалить элемент управления.

Objects cannot be selected (Объект не может быть выбран)

Определяет, что при модификации отчета или этикетки в защищенном режиме пользователь не может выбрать элемент управления.

Object is not visible in Designer (Объект невидим в конструкторе)

Определяет, что при модификации отчета или этикетки в защищенном режиме элемент управления невидим в конструкторе отчета или этикетки.

Design-time caption (Заголовок этапа разработки)

(Только для элемента управления Field)

Определяет текстовую строку, отображаемую в элементе управления Field вместо выражения поля при модификации отчета или этикетки в защищенном режиме.

Смотрите также

Справочное руководство

Вкладка Protection диалогового окна свойств области отчета (Построитель отчетов)
Вкладка Protection диалогового окна свойств отчета (Построитель отчетов)
Диалоговое окно свойств элемента управления отчета (Построитель отчетов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Other Tab, Report Control Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Other (Прочее) диалогового окна Report Control Properties (Свойства объектов управления отчета), (Построитель отчетов)
Смотрите также

Позволяет Вам добавить комментарии, пользовательские данные, подсказки, и элементы кода для объектов управления в Конструкторе отчетов или этикеток с целью расширения возможностей во время выполнения.

  • Как: Добавление комментариев к элементам управления отчета

  • Как: Добавление пользовательских данных к элементам управления отчета

  • Как: Добавление подсказок к элементам управления отчета

Edit comment (Редактирование комментариев)

Открывает диалоговое окно Properties Comment, в котором можно добавить или изменить комментарии к объекту управления отчета.

Note Примечание

Комментарии сохраняются в memo-поле COMMENTS таблицы структуры отчета и по умолчанию не используются механизмом отчета. Однако, поле COMMENTS доступно для использования подклассами ReportListener.

Edit user data (Редактирование пользовательских данных)

Открывает диалоговое окно Properties User data, в котором можно добавить или изменить пользовательские данные для объекта управления отчета.

Note Примечание

Пользовательские данные невидимы и не могут быть изменены при модификации раскладки отчета в защищенном режиме.

Note Примечание

Пользовательские данные сохраняются в memo-поле USER таблицы структуры отчета и по умолчанию не используются механизмом отчета. Однако, поле USER доступно для использования подклассами ReportListener.

Edit tooltip (Редактирование подсказок)

Открывает диалоговое окно Properties Tooltip, в котором можно добавить или изменить подсказку для объекта управления отчета. Подказка появляется при наведении указателя мыши на объект управления отчета в раскладке отчета.

Edit settings (Редактирование параметров настройки )

Открывает диалоговое окно Run-time extensions, которое позволяет Вам добавить или изменить произвольный код элементов и выражений для объектов управления отчета, который будет выполняться в режиме Run-Time.

Смотрите также

Справочное руководство

Диалоговое окно Run-time Extensions (Построитель отчетов)
Диалоговое окно Report Control Properties (Построитель отчетов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Run-time Extensions Dialog Box (Report Builder)

Диалоговый бокс Run-time Extensions (Report Builder)
См. Также

Позволяет Вам подключить код элементов и выражений для объектов Отчета, который будет выполняться в режиме Run-Time.

  • Как: Подключить структурированные Metadata (метаданные) в элементы Report

Run-time extensions

Определяет произвольный пользовательский код, который выполняется объектом ReportListener .

Execute when

Определяет условное выражение, от результата вычисления которого объект ReportListener будет выполнять заданный код. Нажмите многоточие (…) для открытия Expression Builder (построителя выражений), где Вы можете построить необходимое выражение. См. дополнительно: Диалоговый бокс Expression Builder.

См. также

Описание

Объект ReportListener
Диалоговый бокс Other Tab, Report Control Properties Dialog Box (Report Builder)

Концепция

Расширения Report XML MemberData

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Report Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Report (Visual FoxPro)
Смотрите также

Позволяет сконфигурировать отчет, в который могут быть направлены результаты выполнения Вашего запроса. Это диалоговое окно может быть вызвано нажатием кнопки Report на вкладке Miscellaneous (Разное) и доступно только для запросов. Для более подробной информации смотрите Вкладка Miscellaneous (Разное) конструктора запросов и представлений.

Note Примечание

Предварительно Вами должен быть установлен файл отчета (.frx), в котором описано размещение выводимых полей запроса. Для более подробной информации смотрите Работа с отчетами.

Open Report (Открыть отчет)

Отображает диалоговое окно Open выбора файла отчета, который Вы хотите использовать для вывода результатов запроса. Имя файла отчета можно также задать непосредственно в текстбоксе справа от кнопки.

Wizard Icon (Значок Мастера)

Отображает диалоговое окно Wizard Selection, из которого можно запустить соответствующий мастер отчета.

Page Preview (Предварительный просмотр)

Результаты будут отображены в окне Page Preview (Предварительного просмотра).

Console On (Консоль)

Результаты будут отображены в активном окне вывода.

Eject Page Before Report (Перевод страницы перед печатью)

Для разделения документов в принтере перед печатью отчета будет выведена пустая страница.

Secondary Output (Вторичный вывод)

None

Определяет, что результаты не будут направлены ни на принтер, ни в текстовый файл.

To Printer (На печать)

Результаты выполнения запроса будут выведены на печать.

To Text File (В текстовый файл)

Результаты выполнения запроса будут сохранены в текстовом файле. Нажмите кнопку для выбора существующего файла . Данные в нем будут перезаписаны. Для записи в новый файл задайте его имя в текстбоксе справа.

Options

Suppress Column Headings (Подавление заголовков столбцов)

Заголовки столбцов не будут отображены.

Summary Information Only (Только итоги)

Подавляется печать детализирующих строк. В созданный отчет будут включены заголовки, нижние колонтитулы, итоги и т.д., кроме строк детализации.

Смотрите также

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Report Expression Dialog Box

Visual FoxPro 9.0
Диалоговое окно Report Expression
См. Также

Определяет содержание поля в отчете. Это диалоговое окно появляется, когда Вы размещаете поле в отчете или этикетке.

Примечание:
В зависимости от установки системной переменной _REPORTBUILDER, этот диалог может быть заменен альтернативным интерфейсом пользователя. Для получения дополнительной информации, см.
системная переменная _REPORTBUILDER .

Expression

Определяет выражение, например имя переменной или поля таблицы. Выражение вычисляется во время выполнения отчета, поскольку двигатель отчета формирует вывод значения поля. Щелчок по кнопке ellipsis (…) открывает окно Expression Builder (построитель Выражения) в котором Вы можете строить выражение. Для получения дополнительной информации, см. Диалоговое окно Построитель выражении
Format

Когда допустимое выражение отображено в поле Expression, Вы можете определить формат в этом текстовом поле. Выберите кнопку диалога, чтобы отобразить диалоговое окно Format (Field), если Вы хотите определить формат поля в вашем отчете. Для получения дополнительной информации, см. Диалоговое окно Формат поля.
Field position

Определяет позицию поля в отчете.
  • Float Определяет, что выбранное поле перемещается в зависимости от размера окружающих полей.

  • Fix Relative to Top of Band Заставляет поле оставаться в позиции, которую Вы даете ему в конструкторе отчета или этикетки. Поле привязывается к верхней полосе отчета.

  • Fix Relative to Bottom of Band Заставляет поле оставаться в позиции, которую Вы даете ему в конструкторе отчета или этикетки. Поле привязывается к нижней полосе отчета.

Stretch with overflow

Определяет, что нижний обрез поля отодвигается вертикально вниз страницы, чтобы поместить полное значение вычисленного выражения.
Comment

Позволяет Вам добавить комментарии к .frx или .lbx файлу. Комментарии только для справки и не появляются где-нибудь в напечатанном отчёте или этикетке.
Calculations

Отображает диалоговое окно Calculate Field, в котором Вы можете выбирать математическую операцию для выполнения в поле, и когда отменить вычисление. Для получения дополнительной информации, см. Диалоговое окно Вычисления в поле.
Print When
Отображает диалоговое окно Print When так, в котором можно определить условия, которые должны быть выполнены прежде, чем текст будет напечатан в вашем отчете или этикетке. Для получения дополнительной информации, см. Диалоговое окно Условие печати.

См. также

Другие ресурсы

Диалоговые окна
Диалоговое окно Построитель выражений
Диалоговое окно Вычисления в поле
Диалоговое окно Формат поля
Диалоговое окно Условие печати
Диалоговое окно Конструктор отчетов
Диалоговое окно Быстрый отчет

Комментарии об этой статье в шлите корпорацию Microsoft. c Microsoft Corporation. All rights reserved.


Report Page Setup Dialog Box

Visual FoxPro 9.0
Диалоговое окно Report Page Setup
Смотрите также

Позволяет Вам определить параметры настройки страницы отчета, которые сохраняются вместе с отчетом, например, настроить ширину колонок и области печати.

Note Примечание

В зависимости от установки системной переменной _REPORTBUILDER, этот диалог может быть заменен альтернативным пользовательским интерфейсом. Для более подробной информации смотрите Системная переменная _REPORTBUILDER.

Page Layout Section (Секция раскладки страницы)

Отображает графическое представление страницы, отражающее определенную Вами раскладку в Конструкторе Отчетов или в Конструкторе Этикеток.

Columns (Колонки)

Определяет параметры колонок на странице.

Number (Количество)

Определяет количество колонок для вывода на печать на странице.

Width (Ширина)

Определяет ширину каждой из колонок.

Spacing (Промежуток)

Определяет расстояние между колонками, если было задано несколько колонок.

Page Setup (Парметры страницы)

Открывает диалоговое окно Page Setup (Параметры страницы), где можно выбрать установки бумаги и принтера. Для более подробной информации смотрите Диалоговое окно Параметры страницы.

Print order (Порядок печати)

Определяет порядок печати данных в колонках -сверху вниз или слева направо, когда в раскладке определены несколько колонок.

Print Area (Область печати)

Определяет параметры области печати на странице.

Printable page (Печатаемая страница)

Определяет, что в раскладке будет использоваться область печати страницы для текущего принтера (минимальные поля определяются требованиями, налагаемыми текущим драйвером принтера). Печать начинается немедленно после области непечатаемого поля.

Whole page (Во всю страницу)

Определяет, что область печати будет задаваться исходя из физических размеров бумаги текущего принтера (минимальные поля определяются размером бумаги).

Note Примечание

В случае использования принтера, имеющего область печати меньшую, чем физические размеры бумаги, необходимо убедиться в том, что Вы настроили раскладку отчета таким образом, что данные, направляемые на печать не усечены принтером. Двойной щелчок левой кнопки мыши по изображению страницы с раскладкой выведет на экран окно Page Layout Details (Окно детализации раскладки)

Left margin (Левое поле)

Определяет ширину левого поля. Увеличение этого значения соответственно уменьшит ширину всей раскладки.

Смотрите также

Справочное руководство

Диалоговое окно Report Properties (свойств отчета), Page Layout Tab (вкладка раскладки страницы), (Построитель отчетов)
Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Report Picture Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Report Picture
См.также

Обеспечивает включение в Ваши Отчеты и Этикетки графических изображений и полей типа General.

Данный диалоговый бокс вызывается когда Вы выбираете элемент управления Picture/OLE Bound toolbar-а Report Controls и размещаете данный элемент в своем отчете. Для дополнительной информации см. раздел How to: Добавить картинку в отчет и How to: добавить поле типа General в Отчет.

Примечание:
В зависимости от установки системной переменной _REPORTBUILDER данный диалог может иметь альтернативный пользовательский интерфейс. Для дополнительной информации см. раздел Системная переменная_REPORTBUILDER .

Условие Печати

Определяет выражение, которое управляет выводом изображения картинки на экран / печать.

условие печати (Print When)

Открывает дополнительный диалоговый бокс задание условия вывода изображения. Дополнительно см. Print When Dialog Box.

Источник картинки (Picture from)

Определяет источник графического изображения или поля типа General.

Файл (File)

Определяет имя графического файла. При нажатии на кнопку (...) открывается диалоговый бокс выбора файла. Дополнительно см. разделы Open Dialog Box (Visual FoxPro) и How to: Добавить картинку в Отчет .
Поле (Field)

Определяет имя поля типа General. При нажатии на кнопку (...) открывается диалоговый бокс выбора поля / переменной. Дополнительно см. разделы: Выбор Поля/Переменной Dialog Box, Тип Поля General , и How to: Добавить поле типа General в Отчет.

Если картинка и отведенное для нее место в отчете имеют различные размеры

Определяет действия для приведения в соответствие исходной картинки и места в Отчете..

Обрезание (Clip picture) (По-Умолчанию)

Рисунок сохраняет свои начальные размеры, верхний левый угол рисунка совмещается с соответствующим углом области отчета, предназначенной для картинки, любые части рисунка ниже и правее края отведенной области не отображаются.
Сжатие-сохранить область (Scale picture, retain shape)

Размер картинки изменяется так, что она вся отображается в области отчета, при этом область не изменяется.
Примечание:
Данный выбор защищает картинку от вертикального или горизонтального искажения.

Сжатие- изменить область (Scale picture, fill the frame)

Размеры картинки изменяются так, чтобы представленная область вся была заполнена графическим изображением.
Примечание:
Данный выбор может вызвать вертикальное или горизонтальное искажение.

Позиция Объекта (Object Position)

Опаределяет позицию элемента управления в Отчете.

Плавающая (Float)

Определяет "плавающую" нижнюю границу области
Зафиксировать от верха (Fixed relative to top of band)

Определяет привязку к верхнему краю области вывода
Зафиксировать от низа (Fixed relative to bottom of band)

Определяет привязку к нижнему краю области вывода
Центрирование (Center picture)

Центрирование картинки в области вывода
Комментарий (Comment)

Определяет текст комментария. Он сохраняется в файле, но не появяется в Отчете

См. также

Другие ссылки

Добавление элементов в Отчет
Диалоговые Боксы

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Диалоговое окно Report Properties (Свойства отчета) Dialog Box (Построитель отчетов)
Смотрите также

Позволяет Вам определить параметры настройки отчета или этикетки.

Это диалоговое окно вызывается при выборе пункта Properties контекстного меню окна раскладки отчета, вызываемого нажатием правой кнопки мыши, или при выборе пункта Properties меню Report.

Note Примечание

Это диалоговое окно отображается в случае, если системная переменная _REPORTBUILDER по умолчанию определяет Построитель отчетов (ReportBuilder.app). Если она пуста, происходит вызов диалоговых окон как в версиях до Visual FoxPro 9.0. Если системная переменная _REPORTBUILDER устанавливает вызов построителя отчета сторонних производителей, будет отображено соответствующее диалоговое окно. Для более подробной информации смотрите Системная переменная _REPORTBUILDER.

Следующая таблица описывает вкладки диалогового окна Report Properties.

Note Примечание

При изменении отчета в защищенном режиме некоторые или все вкладки могут быть недоступны в зависимости от параметров настройки режима защиты.

Вкладка | Описание
Вкладка Page Layout диалогового окна свойств отчета (Построитель отчетов) | Позволяет Вам определить параметры настройки раскладки страницы и установки принтера для отчета или этикетки.
Вкладка Optional Bands диалогового окна свойств отчета (Построитель отчетов) | Позволяет определить структуру полос в раскладке отчета, в частности, наличие полос Title, Summary или дополнительных полос Detail, а также способ их обработки во время выполнения.
Вкладка Data Grouping диалогового окна свойств отчета (Построитель отчетов) | Позволяет организовать группировку данных в рамках раскладки отчета или этикетки.
Вкладка Variables диалогового окна свойств отчета (Построитель отчетов) | Позволяет создавать переменные, которые инициализируются и получают значения при обработке раскладки во время выполнения.
Вкладка Protection диалогового окна свойств отчета (Построитель отчетов) | Позволяет скрывать или, напротив, показывать те или иные вкладки диалогового окна Report Properties или запрещать пользователям выполнять некоторые действия при изменении отчета или этикетки в защищенном режиме.
Вкладка Ruler/Grid диалогового окна свойств отчета (Построитель отчетов) | Позволяет конфигурировать линейку и компоновку сетки в Конструкторе отчетов или Конструкторе этикеток.
Вкладка Data Environment диалогового окна свойств отчета (Построитель отчетов) | Позволяет загружать среду данных в текущую раскладку, и определять параметры настройки сеанса данных.

Смотрите также

Прочие ресурсы

Работа с отчетами
Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Page Layout Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Диалоговое окно Report Properties (свойств отчета), Page Layout Tab (вкладка раскладки страницы), (Построитель отчетов)
Смотрите также

Позволяет Вам определить параметры настройки раскладки страницы отчета или этикетки.

Вкладка Page Layout в Конструкторе Отчетов или в Конструкторе Этикеток отображает графическое представление страницы, отражающее определенную Вами раскладку.

На эту вкладку Вы попадаете при выборе строки Page Setup пункта File главного меню, строки Properties пункта Report главного меню или контекстного меню раскладки отчета.

Note Примечание

Эта вкладка заменяет вызов стандартного диалога Visual FoxPro Диалоговое Окно Report Page Setup, когда активен модуль построителя отчетов.

  • Как: Определение колонок в отчете

  • Как: Изменение установок настройки страницы отчетов

  • Как: Сохранение принтерного окружения для отчетов

Columns (Колонки)

Определяет параметры колонок в раскладке страницы.

Number (Количество)

Определяет количество колонок для вывода на печать на странице.

Width (Ширина)

Определяет ширину каждой из колонок.

Spacing (Промежуток)

Определяет расстояние между колонками, если было задано несколько колонок.

Left margin (Левое поле)

Определяет ширину левого поля. С увеличением этого значения соответственно уменьшаются область печати и ширина каждой из колонок, если было задано несколько колонок.

Print area (Область печати)

Определяет параметры области печати на странице.

Printable page (Печатаемая страница)

Определяет, что в раскладке будет использоваться область печати страницы для текущего принтера (минимальные поля определяются требованиями, налагаемыми текущим драйвером принтера). Печать начинается немедленно после области непечатаемого поля.

Whole page (Во всю страницу)

Определяет, что область печати будет задаваться исходя из физических размеров бумаги текущего принтера (минимальные поля определяются размером бумаги).

Note Примечание

В случае использования принтера, имеющего область печати меньшую, чем физические размеры бумаги, необходимо убедиться в том, что Вы настроили раскладку отчета таким образом, что данные, направляемые на печать не усечены принтером. Двойной щелчок левой кнопки мыши по изображению страницы с раскладкой выведет на экран окно Page Layout Details (Окно детализации раскладки)

Column print order (Порядок печати колонок)

Определяет порядок печати данных в колонках -сверху вниз или слева направо (при использовании нескольких колонок).

Top to bottom (Сверху вниз)

Печать записей сверху вниз (по умолчанию).

Left to right (Слева направо)

Печать записей слева направо. Так называемый "стиль этикетки."

Default font (Шрифт по умолчанию)

Отображает заданные по умолчанию параметры настройки шрифта отчета. Нажатие на кнопку (…) открывает диалоговое окно Font (Шрифт) для выбора шрифта, отличного от заданного по умолчанию.

Use font script (Набор символов)

Указывает, что языковой набор символов, выбранный в комбобоксе "Набор символов" диалогового окна Font (Шрифт) будет сохранен с отчетом.

Когда Вы выбираете шрифт по умолчанию в диалоговом окне Font (Шрифт), выбранный набор символов будет сохранен по умолчанию. Снятие пометки с этого чекбокса позволяет сохранять раскладку отчета без указания выбранного специфического набора символов шрифта.

Для более подробной информации смотрите Диалоговое окно Font (Шрифт).

Printer

Показывает имя принтера в принтерном окружении. Для вновь создаваемого отчета это будет принтер, заданный по умолчанию в Visual FoxPro.

Page setup (Параметры страницы)

Открывает диалоговое окно Page Setup (Параметры страницы), где можно выбрать другой принтер и произвести дополнительные настойки страницы и принтера. Для более подробной информации смотрите Диалоговое окно Параметры страницы (Visual FoxPro).

Save printer environment (Сохранить принтерное окружение)

По умолчанию принтерное окружение не сохраняется. Для сохранения информации о принтерном окружении в FRX-файле установите пометку на этот чекбокс. Если ранее Вы сохранили раскладку отчета с указанием сохранения принтерного окружения, то для очистки соответствующего поля раскладки отчета, снимите пометку с этого чекбокса.

Смотрите также

Справочное руководство

Диалоговое окно свойств отчета (Построитель Отчетов)

Прочие ресурсы

Работа с раскладкой страницы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Optional Bands Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Optional Bands (Дополнительные области) диалогового окна свойств отчета (Построитель отчетов)
Смотрите также

Дает возможность включить в раскладку страницы отчета или этикетки области Title (Заголовок), Summary (Итоги), а также дополнительные области Detail (Детализации), и нстроить их.

Через строку Optional Bands пункта Report главного меню или контекстного меню раскладки отчета, диалоговое окно свойств отчета Report Properties вызывается открытым на этой вкладке.

Note Примечание

Эта вкладка заменяет вызов стандартного Диалогового окна Optional Bands, когда активен модуль Построителя отчетов (ReportBuilder.APP).

  • Как: Добавление областей к отчету

  • Как: Изменение порядка областей детализации

  • Как: Конфигурирование выводимых данных для областей отчета

  • Как: Удаление областей из отчета

Группа опций Title

Содержит настройки для области заголовка (Title).

Report has title band (Отчет содержит область заголовка)

Определяет, содержит ли раскладка область заголовка (Title band), которая будет отображена один раз в начале отчета.

New page after title has printed (Новая страница после печати заголовка)

Определяет, что на принтер будет послан "перевод страницы" после того, как выполнен вывод области заголовка (Title band). Доступна только в случае выбора опции Report has title band (см. выше).

Группа опций Summary

Содержит настройки для области итогов (Summary).

Report has summary band (Отчет содержит область итогов)

Определяет, содержит ли раскладка область итогов (Summary band), которая будет отображена один раз в конце отчета.

Summary prints as new page (Печать итогов с новой страницы)

Определяет, что перед выводом итогов (Summary band) на принрер будет послан "перевод страницы". Доступна только в случае выбора опции Report has summary band (см. выше).

Include page header with summary (Верхний колонтитул вместе с итогами)

Определяет, что область верхнего колонтитула (Page Header) будет выведена на отдельной странице вместе с итогами отчета (Summary band).

Include page footer with summary (Нижний колонтитул вместе с итогами)

Определяет, что область нижнего колонтитула (Page Footer) будет выведена на отдельной странице вместе с итогами отчета (Summary band).

Группа опций Detail bands

Содержит настройки для областей детализации (Detail bands) раскладки. В списке перечисляются все области детализации в раскладке страницы, порядок которых можно изменять, добавлять новые или удалять.

Detail Bands List (Список областей детализации)

Позволяет изменять порядок областей детализации (Detail bands.)

Add (Добавить)

Добавляет новую область детализации (Detail band) к раскладке отчета. Раскладка может содержать не более 20 областей детализации.

Remove (Удалить)

Удаляет выбранную область детализации (Detail band) из раскладки отчета. Первую в списке область детализации удалить нельзя. Раскладка должна содержать по крайней мере одну область детализации (Detail band).

Смотрите также

Справочное руководство

Диалоговое окно свойств отчета (Построитель отчетов)

Прочие ресурсы

Работа с областями отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Data Grouping Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка Data Grouping (Группировка Данных), Диалоговый бокс Report Properties (Построитель Отчетов)
Смотрите Также

Позволяет вам определять вложенные Области Отчета (специальные наборы Полос), которые формируются в зависимости от вычисления заданных Выражений Группировки.

Данная Закладка активируется в том случае, когда вы выбираете подпункт Data Grouping (Группировка Данных) из системного Меню Report или из соответствующего Контекстного меню Построителя Отчетов.

Рассматриваемая закладка доступна также из диалогового бокса Properties (Свойства) для конкретной полосы Отчета типа Detail.

Note Обратите Внимание

Рассматриваемая Закладка функционально аналогична внутреннему инструментарию Visual FoxPro Data Grouping, диалоговый бокс в том случае, когда загружен системный сервис: Report Builder (Построитель Отчетов).

  • Как: Добавить элемент Группировки Данных в Отчет

  • Как: Изменить параметры Группировки данных в Отчете

  • Как: Настроить формат вывода данных в условиях Группировки Данных

  • Как: Исключить элемент Группировки Данных в Отчете

Закладка "Data Grouping"
Group nesting order (Последовательность вложенных группировок)

Представлен Список выражений, определяющих вложенные уровни Сгруппированных Данных. Кнопка слева от элемента списка позволяет изменять порядок вложенности уровней Группировки.

Add (Добавить)

Позволяет добавить новое выражение Группировки Данных, которое размещается в описанный выше список: Group nesting order.

Remove (Исключить)

Удаляет выделенный Элемент из Списка выражений, определяющих группировку данных (Group nesting order).

Group on (Группировать по...)

Содержит построенное выражение, определяющее Группировку Данных, для выделенного элемента в списке: Group nesting order. Пустое выражение не допускается.

Вы можете непосредственно ввести требуемое выражение, или воспользоваться Построителем Выражений, который активируется кнопкой: (…). Дополнительную информацию смотрите в разделе: Expression Builder (Построитель Выражений), диалоговый бокс.

При формировании новой Группы Данных

Далее описываются возможные варианты оформления новой группы Данных в рассматриваемом Отчете.

New line (Новая Строка)

Определяет, что каждая новая Группа Данных будет размещаться с новой строки Отчета.

New column (Новая Колонка)

Определяет, что каждая новая группа данных будет размещена в новом Столбце (в Колонке) текущей Страницы Отчета. Данная опция доступна только в том случае, когда разрабатываемый Отчет содержит несколько Колонок.

New page (Новый Лист / Страница)

Определяет, что каждая новая Группа Данных размещается с новой Страницы.

New page number 1 (каждая новая группа начинается с номера листа 1)

Определяет, что каждая новая группа начинается с нового Листа Отчета и номера печатаемых листов начинаются с 1..

Повторить распечатку Заголовка Группы для каждого нового Листа.

Определяет, что заголовок Группы Данных будет повторяться на каждой новой Странице Отчета в условиях, когда текущая Группа данных размещается на нескольких Листах Отчета.

Начинать группу данных Отчета с нового листа если недостаточно места

Определяет минимальную высоту для размещения Группы Данных относительно нижнего края печатаемого Листа, если для новой группы данных недостаточно места в нижней чапсти Листа, то указанная группа размещается с нового (следующего) Листа Отчета.

Note Совет

Используйте указанную Опцию настройки Сгруппированных данных для "подвисающих" заголовков групп данных (заголовок группы - в конце текущего листа, а сами данные - на следующем листе). В таком случае может возникнуть ситуация несоответствия Информационных данных и нижних колонтитулов.

См. также

Описание

Report Properties, диалоговый бокс (Построитель Отчетов)

Другие ссылки

Работа по Группировке Данных в Отчетах

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Variables Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Variables, вкладка диалогового окна свойств отчета (Построитель отчета)
Смотрите также

Предоставляет возможность создавать переменные памяти для отчета или этикетки, а также изменять или удалять существующие. Вы можете также изменить порядок следования переменных в отчете.

Вы попадаете на эту вкладку при выборе пункта Variables меню Report или контекстного меню раскладки отчета.

Note Примечание

Эта вкладка заменяет вызов стандартного диалогового окна переменных отчета, когда активен модуль построителя отчетов..

  • Как: определить переменные памяти отчета

  • Как: изменить порядок следования переменных отчета

  • Как: очистить переменные отчета

Variables

Отображает имена переменных, определенных в раскладке отчета, и позволяет изменять порядок следования переменных отчета.

Add

Открывает окно для ввода новой переменной отчета.

Remove

Удаляет выбранную в списке Variables переменную.

Value to store

Определяет выражение, которое используется, чтобы определить значение переменной во время выполнения отчета. Механизм отчета обеспечивает вычисление значения этого выражения всякий раз, когда указатель записи перемещается. Нажатие на кнопку (…) открывает диалоговое окно построителя выражений, предоставляющее возможность конструирования выражения. Для дополнительной информации смотрите диалоговое окно построителя выражений.

Initial value

Отображает значение выбранной переменной, имеющее место до начала каких-либо вычислений и устанавливаемое при сбросе переменной. Нажатие на кнопку (…) открывает диалоговое окно построителя выражений

Reset value based on

Позволяет задать момент, в который должен производиться сброс переменной с установкой начального значения. По умолчанию в этом списке отображено значение Report (конец отчета).

Note Примечание

Если в отчете используются группировка данных, полосы детализации или их управляющие псевдонимы, в списке Reset value based on будут отображены соответствующие элементы.

Calculation type

Эти опции позволяют задать вычислительные операции, выполняемые над переменной. Вычисления начинаются с начального значения и продолжаются до тех пор, пока переменная не вернется вновь к этому начальному значению. Вычисления выполняются всякий раз, когда механизм формирования отчета перемещает указатель записи.

Note Примечание

Результаты вычислений сбрасываются в момент времени, определяемый опцией Reset value based on.

  • None

    Никакие дополнительные вычисления не выполняются. Результат выражения Value to store непосредственно присваивается переменной отчета.

  • Count

    Значение переменной отчета увеличивается на 1. (Значение Value to store не вычисляется.) Подсчитывает, сколько раз переменная напечатана в группе, на странице, в столбце или в отчете (в зависимости от значения, выбранного в списке Reset value based on). Т. о., вычисление базируется на числе появлений переменной, а не на ее значении.

  • Sum

    Добавляет значение, полученное при вычислении выражения Value to store к текущему значению переменной отчета. Данная опция вычисляет текущую итоговую сумму значений переменной в группе, на странице, в столбце или в отчете (в зависимости от значения, выбранного в списке Reset value based on).

  • Average

    Вычисляет среднее арифметическое значений выражения Value to store при каждом перемещении указателя записи в группе, на странице, в столбце или в отчете (в зависимости от значения, выбранного в списке Reset value based on) и помещает его в переменную отчета. (Значение Initial value в вычисление не включается.)

  • Lowest

    Сравнивает текущее значение переменной отчета с результатом выражения Value to store и присваивает переменной отчета меньшее из двух значений.

  • Highest

    Сравнивает текущее значение переменной отчета с результатом выражения Value to store и присваивает переменной отчета большее из двух значений.

  • Std Deviation

    Вычисляет квадратный корень дисперсии результата выражения Value to store при каждом перемещении указателя записи и присваивает полученный результат переменной отчета. (Значение Initial value в вычисление не включается.)

  • Variance

    Характеризует степень отклонения отдельных значений выражения Value to store при каждом перемещении указателя записи и присваивает полученный результат переменной отчета. (Значение Initial value в вычисление не включается.)

Release after report

Удаляет переменную отчета из памяти после окончания работы отчета. Если эта опция не выбрана, переменная отчета остается в памяти до завершения работы Visual FoxPro или до вызова команд CLEAR ALL или CLEAR MEMORY. Для более подробной информации смотрите Команды CLEAR

Смотрите также

Справочное руководство

Диалоговое окно свойств отчета (Построитель отчета)

Прочие ресурсы

Работа с переменными отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Protection Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Вкладка Protection диалогового окна свойств отчета (Построитель отчетов)
Смотрите также

Позволяет ограничить действия пользователя при изменении раскладки отчета или этикетки в защищенном режиме. Для дополнительной информации смотрите: Установка защиты для отчетов.

  • Как: Защита раскладки отчета

Группа опций In PROTECTED mode (если используется защищенный режим)

Определяет параметры настройки защиты, которые можно сконфигурировать для отчета или этикетки.

Report can not be run or printed (Отчет не может быть выполнен или распечатан)

Определяет, что пользователь не может распечатать раскладку отчета или этикетки при модификации отчета или этикетки в защищенном режиме.

Делает недоступными опцию Print… пункта File главного меню, опцию Run Report пункта Report главного меню и контекстного меню конструктора, вызываемого нажатием правой кнопки мыши.

Report can not be previewed (Предварительный просмотр отчета невозможен)

Определяет, что пользователь не может осуществить предварительный просмотр раскладки отчета или этикетки при модификации отчета или этикетки в защищенном режиме.

Делает недоступными опцию Print Preview пунктов File и Report главного меню и контекстного меню конструктора, вызываемого нажатием правой кнопки мыши, а также опцию Preview пункта View главного меню.

Data Environment can not be modified (Среда данных не может быть изменена)

Определяет, что пользователь не может изменить среду данных раскладки при модификации отчета или этикетки в защищенном режиме.

Делает недоступной опцию Data Environment… пункта View главного меню и контекстного меню конструктора, вызываемого нажатием правой кнопки мыши; скрывает вкладку Data Environment диалогового окна Report Properties построителя отчета, а также делает недоступной опцию Load Data Environment… пункта Report главного меню.

Page Layout is not available (Раскладка страницы недоступна)

Определяет, что пользователь не может изменить установки принтера или размер бумаги, полей и т.д. при модификации отчета или этикетки в защищенном режиме.

Делает недоступной опцию Page Setup пункта File главного меню и скрывает вкладку Page Layout диалогового окна Report Properties построителя отчета.

Optional Bands can not be changed (Дополнительные области отчета не могут быть изменены)

Определяет, что пользователь не может изменить количество областей детализации, область заголовка, область итогов и другие параметры раскладки при модификации отчета или этикетки в защищенном режиме.

Делает недоступной опцию Optional Bands пункта Report главного меню и скрывает вкладку Optional Bands диалогового окна Report Properties построителя отчета.

Data Grouping can not be modified (Параметры группировки данных не могут быть изменены)

Определяет, что пользователь не может изменить параметры группировки данных при модификации отчета или этикетки в защищенном режиме.

Делает недоступной опцию Data Grouping пункта Report главного меню и скрывает вкладку Data Grouping диалогового окна Report Properties построителя отчета.

Report Variables can not be edited (Нельзя изменить переменные отчета)

Определяет, что пользователь не может просмотреть или изменить переменные отчета при модификации отчета или этикетки в защищенном режиме.

Делает недоступной опцию Variables пункта Report главного меню и скрывает вкладку Variables диалогового окна Report Properties построителя отчета.

Смотрите также

Справочное руководство

Диалоговое окно свойств отчета (Построитель отчетов)
Вкладка Protection диалогового окна свойств области отчета (Построитель отчетов)
Вкладка Protection диалогового окна свойств элемента управления отчета (Построитель отчетов)
Команда MODIFY REPORT
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Ruler/Grid Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Ruler/Grid, вкладка диалогового окна свойств отчета (Построитель отчета)
Смотрите также

Позволяет конфигурировать линейку и компоновку сетки в конструкторе отчетов или конструкторе этикеток.

Вы попадаете на эту вкладку при выборе пункта Set Grid Scale меню Format.

Note Примечание

Эта вкладка заменяет вызов стандартного Диалогового окна Set Grid Scale, когда активен модуль построителя отчетов.

Для вновь создаваемого отчета Вы можете задать установки линейки и компоновки сетки по умолчанию на вкладке Reports диалогового окна Options. Для более подробной информации смотрите Вкладка Reports, Диалоговое окно Options.

  • Как: Конфигурирование компоновки сетки страницы отчета

Ruler Units (Единицы измерения линейки)

Определяются единицы измерения линейки относительно верхней и левой границ окна Конструктора Отчетов или Конструктора Этикеток.

None

Линейка не отображается. В качестве единицы измерения устанавливается дюйм.

Inches

В качестве единицы измерения линейки и указания других размеров устанавливается дюйм.

Centimeters

В качестве единицы измерения линейки и указания других размеров устанавливается сантиметр.

Pixels

В качестве единицы измерения линейки и указания других размеров устанавливается пиксель.

System default

В зависимости от Вашей языковой установки в качестве единицы измерения задается либо дюйм, либо сантиметр.

Show position in status bar (Отображение позиции в строке состояния)

Определяет, будут ли в строке состояния отображаться текущая позиция указателя мыши или положение текущего элемента управления (в единицах измерения линейки).

Grid (Сетка)

Определяет параметры настройки конфигурации привязки к сетке на листе.

Show grid lines (Показывать линии сетки)

Установка этой опции делает видимыми линии сетки в конструкторе. Шаг отображаемых линий сетки в два раза больше фактического шага сетки. (Например если установка Horizontal spacing равна 12 пикселям, вертикальные линии сетки отображаются через 24 пикселя)

Snap to grid (Привязывать к сетке)

Определяет, будет ли конструктор жестко привязывать объекты к сетке.

Horizontal spacing (Горизонтальное разрешение)

Задает горизонтальный шаг сетки в пикселях. Установка по умолчанию - 12 пикселей.

Vertical spacing (Вертикальное разрешение)

Задает вертикальный шаг сетки в пикселях. Установка по умолчанию - 12 пикселей.

Смотрите также

Справочное руководство

Диалоговое окно свойств отчета (Построитель отчетов)

Прочие ресурсы

Работа с конфигурацией листа

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Data Environment Tab, Report Properties Dialog Box (Report Builder)

Visual FoxPro 9.0
Закладка "Data Environment", Диалоговый Бокс Report Properties (Построителя Отчетов)
Смотрите Также

Обеспечивает определение или задание Среды Данных Отчета или Сессии Данных.

Данный Диалоговый Бокс активируется при выборе подпункта Load data environment из системного меню Report, при открытом Дизайнере Отчетов.

  • Как: Загрузить для выполнения Отчета средц Данных (Data Environments)

  • Как: Задать Сессию Данных (Data Session) для Отчета

Загрузка Среды Данных

Определяются параметры Загрузки Среды Данных для рассматриваемого Отчета или Этикетки.

Copy from another report file (Скопировать Среду Данных из другого Отчета)

Определяет полный путь к Отчету или Этикетке, которые содержат аналогичную Среду Данных: файлы (.frx) млм (.lbx).

Link to a DataEnvironment class (подключить Класс Среды Данных)

Определяет размещение существующего Класса типа DataEnvironment, описание которого содержится либо в библиотеке классов (файл .vcx) или в программном файле (.prg).

Select (Выбрать)

Открывает диалоговый бокс типа Open (Открыть), с помощью которого можно выбрать требуемый файл типа: .frx, .lbx , .vcx, .prg (смотрите описание выше).

Class (Класс)

Отображается Имя соответствующего класса типа DataEnvironment.

Class Library / Source (Имя Библиотеки Классов или Процедуры)

Отображается Имя библиотеки классов или процедурного файла (.vcx) / (.prg), которые содержат требуемый класс типа DataEnvironment, или некоторый Отчет или Этикетку, из которых загружается требуемая Среда Данных.

Report uses a private data session (Отчет использует собственную Сессию Данных)

Это означает, что при выполнении Отчета используется Собственная Сессия Данных. При этом доступными считаются толко таблицы, описанные в объекте Data Environment или открываемые непосредственно при выполнении внутренних Методов Отчета.

См. также

Описание

SET DATASESSION, команда
Диалоговый Бокс "Report Properties" (Построитель Отчетов)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Report Variables Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Report Variables (Переменные Отчета)
Смотрите Также

Диалоговый бокс Report Variables (Переменные Отчета) обеспечивает создание, изменение, удаление внутренних переменных в Отчете или в Этикетке. Вы можете также изменить порядок вычисления представленных переменных, что может иметь значение при условии внутренней зависимости между этими переменными.

Данный диалоговый бокс активируется при выборе подпункта Variables (Переменные) из контекстного Меню Построителя Отчетов, другим вариантом является подпункт Variables из системного Меню Report.

Note Обратите Внимание

В зависимости от текущей установки значения системной переменной _REPORTBUILDER, рассматриваемый диалоговый бокс может быть заменен аналогичным пользовательским интерфейсом, обеспечивающим обработку Переменных Отчета. Дополнительную информацию смотрите в разделе: _REPORTBUILDER, системная переменная.

1) Стандартный Выриант: _ReportBuilder = "...\ReportBuilder.App" (Примечание Переводчика)

Закладка "Variables"

2) Системный Вариант: _ReportBuilder = "", (Empty)

Системный вид Окна
Variables (Список Переменных)

Отображается список заданных (созданных) переменных Отчета; в данном списке с помощью инструментальной кнопки, расположенной слева от имени переменной вы сможете изменить расположение текущей переменной в данном списке и, тем самым, переопределить порядок вычисления переменных Отчета.

Value to store (Вычисляемое Значение)

Определяет некоторое выражение, которое будет инициировать значение данной Переменной Отчета при его выполнении. Внутренний Механизм Отчета выполняет вычисление переменных при каждом перемещении Указателя записи в соответствующей Таблице - источнике данных для Отчета. Вы можете использовать кнопку-многоточие (ellipsis) (…), которая активирует стандартный Построитель Выражений (Expression Builder). Дополнительную информацию смотрите в разделе: Expression Builder, диалоговый бокс.

Initial value (Начальное Значение)

Определяет начальное значение для рассматриваемой переменной Отчета. Вы можете использовать кнопку-многоточие ellipsis (…), которая активирует Построитель Выражений (Expression Builder). Дополнительную информацию смотрите в разделе: Expression Builder, диалоговый бокс.

Release after report (Очистка созданных переменных после завершения Отчета)

Определяет возможность Сохранения / Очистки созданных переменных после завершения выполнения Отчета.

Note Обратите Внимание

Если данный переключатель Не Включен, то созданные переменные Отчета сохраняются в Памяти до момента завершения сеанса работы Visual FoxPro или выполнения команд: CLEAR ALL / CLEAR MEMORY. Дополнительную информацию смотрите в разделе: CLEAR, команды.
Reset based on (Повторная инициализация переменной)

Определяет момент (Событие) при выполнении данного Отчета, когда данная переменная повторно инициализируется. По-Умолчанию данной точкой является Завершение Отчета.

Note Обратите Внимание

Если вы используете в вашем Отчете механизмы Группировки Данных, наборы полос типа Detail, или задаете Алиас Назначения для набора полос типа Detail, данный список: Reset based on может содержать все перечисленные варианты создающие Контрольные точки в Отчете.

Insert (Вставить)

Вчтавляет в список Variables пустую строку для определения новой Переменной Отчета.

Delete (Удалить)

Удаляет выделенную переменную из списка Переменных Variables.

Calculate (Вычисления)

Определяет вариант проводимых вычислений следующего значения переменной отчета. Некоторые типы представленных вычислений имеют совокупный характер, то есть: внутренний механизм Отчета вачисляет Значение переменной в диапазоне записей всего Отчета.

Note Примечание

Совокупные вычисления подчиняются правилам инициирования начальных значений, определенных в описанном выше Параметре Reset value based on.

  • None (Отсутствует)

    Значение Переменной отчета определяется выражением, заданным в параметре: Value to store.

  • Count (Количество)

    Значение переменной увеличивается на 1 при каждом цикле выполнения Отчета. (Выражение, указанное в Value to store не вычисляется.)

  • Sum (Сумма)

    Добавляет результат вычисления выражения Value to store к текущему значению рассматриваемой Переменной Отчета.

  • Average (Средняя величина)

    Вычисляет Среднее Арифметическое от результата выражения Value to store для всех записей Таблицы, на основе которой построен Отчет. (Значение параметра Initial value не включается в общий расчет средней арифметической.)

  • Lowest (Наименьшее значение)

    Выполняет сравнение текущего значения переменной с результатом вычисления выражения Value to store, наименьшее из полученных значений помещается в переменную.

  • Highest (Наибольшее значение)

    Выполняет сравнение текущего значения переменной с результатом вычисления выражения Value to store, наибольшее из полученных значений помещается в переменную.

  • Std Deviation (Стандартное Отклонение)

    Вычисляет квадратный корень разницы результата вычисления выражения Value to store для каждой обрабатываемой Записи, результат записывается в данную переменную. Значение параметра Initial value не включается в указанный расчет.

  • Variance (Дисперсия)

    Определяет дисперсию результата вычисления выражения Value to store для каждой обрабатываемой Записи, результат записывается в данную переменную. Значение параметра Initial value не включается в указанный расчет.

См. также

Задачи

Как: Определять Переменные Отчета

Описание

CLEAR, команды
Диалоговый бокс Data Grouping (Группировка Данных)
Диалоговый бокс Построителя Выражений
Диалоговый бокс Быстрого Отчета
Переменные (Visual FoxPro)

Концепции

Доступ в системе Visual FoxPro к переменным и полям таблиц

Другие ссылки

Диалоговые боксы (Окна) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Round Rectangle Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Round Rectangle (Скругленный прямоугольник)
См. также

Определяет точную форму, позицию и опции печати для элемента управления скругленный прямоугольник. Этот диалоговый бокс появляется, когда Вы рисуете скругленный прямоугольник в отчете или этикетке, выбираете его и дважды щелкаете на нем.

Note Замечание

В зависимости от установки системной переменной _REPORTBUILDER, этот диалог может быть заменен альтернативным интерфейсом пользователя. Более подробно об этом смотрите в Системная Переменная _REPORTBUILDER.

Style (Стиль)

Style

Определяет стиль скругленного прямоугольника.

Object Position (Позиция Объекта)

Float

Определяет, что элемент управления размещается внизу страницы когда элемент управления, расположенный выше него, расширяется вниз.

Fix Relative to Top of Band

Определяет, что элемент управления фиксируется относительно верха полосы, содержащей его.

Fix Relative to Bottom of Band

Определяет, что элемент управления фиксируется относительно низа полосы, содержащей его.

Stretch Downwards (Растяжение Вниз)

No Stretch

Определяет, что скругленный прямоугольник не растягивается вертикально, когда сама полоса растягивается, чтобы отобразить все поле с данными.

Stretch Relative to Tallest Object In Group

Определяет, что скругленный прямоугольник растягивается, чтобы разместить самый высокий объект в группе.

Stretch Relative to Height of Band

Определяет, что скругленный прямоугольник растягивается, чтобы оказаться подогнанным под полосу.

Print When (Печатать Когда)

Отображает диалоговый бокс Print When для того, чтобы Вы могли осуществлять точное управление, когда скругленный прямоугольник напечатан в Вашем отчете или этикетке.

Comment (Комментарии)

Позволяет Вам добавлять комментарии к файлам .frx или .lbx. Комментарии - это только ссылки, и они не появляются в отпечатанном отчете или этикетке.

См. также

Задачи

Руководство: Добавить Шейпы и Линии на Формы

Ссылки

Диалоговый Бокс Print When (Печатать Когда)
Диалоговый Бокс Report Picture (Картинка Отчета)

Другие Ресурсы

Диалоговые Боксы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Save As Class Dialog Box

Visual FoxPro 9.0
Диалоговое окно Save As Class
Смотрите также

Позволяет сохранить форму или выбраный элемент управления на форме как определение класса. Если Вы планируете создать подклассы, основанные на форме или повторно использовать элементы управления в других формах, сохраните форму как клас.

Это диалоговое окно появляется, когда вы выбираете Save As Class в меню File.

Save

Задает часть формы, сохраняемую в качестве определения класса.

  • Selected Controls Сохраняет в качестве определения класса только выбранные элементы управления..

  • Current Form Сохраняет активную форму в качестве определения класса.

  • Entire Form Set Сохраняет в качестве определения класса совокупность связанных форм. Данная команда становится доступной после использования команды Create FormSet меню Form.

  • DataEnvironment Сохраняет среду данных формы и любые содержавшиеся курсоры или адаптеры курсора в указанной библиотеке визуальных классов файле (.vcx).

As Class

Задает определение класса, в котором надлежит сохранить выбранные элементы управления, всю форму или набор форм.

  • Name Задает имя, присвоенное классу.

  • File Задает имя файла .VCX, в котором следует сохранить определение класса.

  • Description Задает описание класса (необязательный параметр).

Смотрите также

Задачи

Как: Сохранять формы

Концепции

Работа с Классами в Visual FoxPro

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Save As Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговое окно Save As (Visual FoxPro)
Смотрите также

Сохраняет новый файл или существующий файл с другим именем. Соответствует функции PUTFILE ().

Команда Save As доступна для следующих типов файла:

  • Проект

  • Запрос

  • Соединение (см. следующее примечание)

  • Представление (см. следующее примечание)

  • Форма

  • Отчет

  • Этикетка

  • Програма

  • Текстовый файл

  • Меню

    Note Note

    Когда вы выбираете Save или Save As для соеденения или представления, появляется диалоговое окно Save.

Это диалоговое окно появляется, когда Вы выбираете Save As из меню File.

Code Page

Эта опция доступна, если вы сохраняете текстовый файл или таблицу, которая не имеет кодовой страницы. Диалоговое окно Code Page отображается чтобы вы могли прикрепить правильную кодовую страницу. Если существующий текстовый файл использует расширенный набор символов, выберите Code Page и сделайте соответствующий выбор.

Смотрите также

Справочное руководство

Диалоговое окно Code Page
Диалоговое окно Save As Class
Диалоговое окно Code Page
Функция PUTFILE( )
Диалоговое окно Save As HTML

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Save As HTML Dialog Box

Visual FoxPro 9.0
Save As HTML, диалоговый бокс
См. Также

Данный диалоговый бокс (пункт Меню) обеспечивает сохранение в формате HTML (Hypertext Markup Language) текущую форму пользователя, Меню, Отчет или Таблицу. Указанный подпункт системного меню доступен из соответствующих системных инструментальных средств: Дизайнера Форм, дизайнера Меню, дизайнера Отчета, когда активным является соответствующий программный элемент (форма, меню, отчет); при открытой Таблице (.DBF) в соответствующем системном окне Browse, ее также можно сохранить в формате .HTML .

Save file for later use (сохранить в файле, для дальнейшего использования)

Сохраняемый файл имеет расширение (тип): .htm.

Save and edit file (сохранить в файле, и открыть его для Редактирования)

Результаты сохраняются в соответствующий файл .htm и открывается системное окно Редактирования.

Save file and view in Web browser (сохранить в файле и открыть для Просмотра в Web-проводнике)

Результаты сохраняются в соответствующем файле .htm, и этот файл открывается в Проводнике Web.

См. также

Задачи

Как: Сохранить Форму в формате HTML
Как: Сохранить Меню в формате HTML
Как: Создавать Результаты Отчетов или Этикеток
Как: Сохранить Таблицу в формате HTML

Описание

_GENHTML, системная переменная
Save As Class, диалоговый бокс
Save As, диалоговый бокс (Visual FoxPro)
Print File, диалоговый бокс
HTML Item, диалоговый бокс
Дизайнер Форм
Дизайнер Отчетов
Browse, системное окно

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


Scope Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Scope
См. Также

Определяет, какую группу записей нужно обработать средствами Visual FoxPro в текущей таблице или представлении. Данное окно отображается, когда Вы выбираете кнопку Scope в Диалоговом боксе Export Options.

All

Текущее действие выполняется для всех записей таблицы или представления.

Next

Текщее действие выполняется для следующих N записей, начиная с текущей записи. При указании N = 1, действие выполняется только для текущей записи.

Record

Данная операция выполняется для записи с номером N.

Rest

Данная операция выполняется для записей, начиная с текущей ... и до конца таблицы или представления.

См. также

Описание

Окно Browse
Диалоговый бокс Export Options
Язык манипулирования Записями
Диалоговый бокс Append From
Диалоговый бокс Delete (Records)

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Select Connection or Data Source Dialog Box

Visual FoxPro 9.0
Диалоговое окно Select Connection or Data Source (Выбор соединения или источника данных)
Смотрите также

Позволяет вам выбрать источник данных или существующее соединение к источнику данных для создания нового удаленного представления. Вы можете, кроме того, обратиться к Connection Designer (Конструктору соединения) для создания нового соединения.

Появляется, когда вы выбираете Remote View (Удаленное представление) в диалоговом окне New (Новый) и затем выбираете New File (Новый файл).

Connections in Database/Available Data Sources (Соединения в базе данных/Доступные источники даных)

Перечисляет доступные ODBC источники данных или существующие соединения, в зависимости от выбора, сделанного вами в области Select с помощью радио-кнопок. Выберите источник данных или соединение, которые вы желаете и щелкните по OK.

Select

Соединения

Отображаются существующие в активной базе данных соединения для вашего выбора.

Available Data Sources (Доступные источники данных)

Отображает доступные источники данных ODBC для создания удаленного представления.

New (Новый)

Отображает Connection Designer (Конструктор соединения), в котором вы можете создать и сохранить соединение с источником данных.

Смотрите также

Справочное руководство

Диалоговое окно Create (Создать)
Диалоговое окно New Label (Новая этикетка)
Connection Designer (Конструктор соединения)
Команда CREATE CONNECTION
Диалоговое окно New (Новый)

Концепции

Visual FoxPro в качестве Application Back End

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Select Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Диалоговый бокс Select (Visual FoxPro)
См. Также

Позволяет Вам выбрать сервис XML Web и вставить соответствующий код в программу при редактировании программного модуля.

Данный диалоговый бокс открывается в том случае, когда пользователь набирает символы ws и нажимает клавишу Пробел в окне программирования программного модуля.

Select an XML Web service

Определяет сервис XML Web , который генерирует proxy code.

Use Custom class

Определяет, включается ли код обработчика WSHandler Foundation Class для создания и запуска клиента Simple Object Access Protocol (SOAP). В противном случае управление выполняется клиентом SOAP Toolkit 3.0 COM.

Include error handling

Определяет, включается ли механизм структурированной обработки ошибок TRY...CATCH...FINALLY при вызове клиента SOAP. См. дополнительно: Команда TRY...CATCH...FINALLY.

New

Открывается дополнительный диалоговый бокс Visual FoxPro XML Web Services Registration, где Вы можете зарегистрировать новый сервис XML Web. См. дополнительно: Диалоговый бокс Visual FoxPro XML Web Services Registration.

См. также

Tasks

Как: Подключить сервисы XML Web

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Set Grid Scale Dialog Box

Visual FoxPro 9.0
Диалоговое окно Set Grid Scale (Установка шага сетки)
Смотрите также

Позволяет задать горизонтальный и вертикальный шаг сетки Конструктора в пикселях. В случае отчетов и этикеток указывает, будут ли на линейке отмечаться пиксели или другие единицы измерения.

Эти установки могут быть заданы по умолчанию на вкладках Forms и Reports диалогового окна Options.

Note Примечание

В зависимости от установки системной переменной _REPORTBUILDER, это диалоговое окно может быть заменено альтернативным интерфейсом пользователя. Для дополнительной информации смотрите: Системная переменная _REPORTBUILDER.

Grid in pixels

Задает число пикселей на дюйм в сетке Конструктора по горизонтали и вертикали.

Horizontal

Задает число пикселей на дюйм по горизонтали. Допустимый диапазон значений - от 1 до 48 пикселей. По умолчанию - 12 пикселей.

Vertical

Задает число пикселей на дюйм по вертикали. Допустимый диапазон значений - от 1 до 48 пикселей. По умолчанию - 12 пикселей.

Note Примечание

Шаг отображаемых линий сетки в два раза больше фактического шага сетки. (Например если установка Horizontal spacing равна 12 пикселям, вертикальные линии сетки отображаются через 24 пикселя)

Ruler scale

Задает единицы измерения линейки, отображаемой по верхнему и левому краям окна Конструктора отчетов или Этикеток.

None

Линейка не отображается. В качестве единиц измерения для других диалоговых окон используются дюймы.

Inches

Задает дюймы в качестве единицы измерения на шкале линейки. Дюймы используются также для отображения прочих измерений.

Centimeters

Задает сантиметры в качестве единицы измерения на шкале линейки. Сантиметры используются также для отображения прочих измерений.

Pixels

Задает пиксели в качестве единицы измерения на шкале линейки. Пиксели используются также для отображения прочих измерений.

System default

В качестве единицы измерения на шкале линейки задаются дюймы или сантиметры в зависимомти от Ваших языковых установок.

Смотрите также

Справочное руководство

Конструктор форм
Построитель элемента управления

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
Работа с раскладкой страницы

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Set Index Order Dialog Box

Visual FoxPro 9.0
Диалоговое окно Set Index Order
Смотрите также

Устанавливает индексное упорядочивание для дочерней таблицы. Это диалоговое окно появляется, когда вы устанавливаете родительскую таблицу в отношение в окне Data Session и затем щелкаете по дочерней таблице в списке Aliases окна Data Session, если для дочерней таблицы еще не установлено индексное упорядочивание.

Set Index Order Dialog Box

Список Set Index Order

Перечисляет любые предопределенные индексные упорядочивания, которые существуют для выбранной дочерней таблицы.

Командная кнопка No Order

Открывает диалоговое окно Expression Builder

Expression Builder Dialog Box

где вы можете установить свое собственное отношение для дочерней таблицы. Кроме того, для вывода диалогового окна ExpressionBuilder вы можете щелкнуть по индексу таблицы, находящемся в списке в диалоговом окне "Set Index Order".

Смотрите также

Справочное руководство

Команда SET INDEX
Окно Data Session
Диалоговое окно Expression Builder
Закладка Indexes табличного дизайнера
Диалоговое окно Create One-To-Many Relationships

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Tab Order Dialog Box

Visual FoxPro 9.0
Tab Order (Порядок следования), диалоговый бокс
См. Также

Регулирует порядок, в котором объекты доступны в форме когда Пользователь использует клавиатуру для выбора объектов. Этот диалоговый блок появляется когда выбирается пункт Assign by List из подраздела Tab Order меню View.

Object List (список объектов)

Включает список всех доступных объектов на форме или в классе (за исключением недоступных, информационных, графических). Объекты указаны в том порядке, который определен в настоящий момент при "обходе" этих объектов с помощью клавиатуры. Изменение порядка следования объектов выполняется с помощью мышки, перетаскиванием имени объекта в нужное место в данном списке объектов.

By Row (по строке)

Порядок следования объектов устанавливается по правилу: слева-на-право, сверху-в-низ, начиная от левого верхнего угла формы или класса.

By Column (по столбцу)

Порядок следования объектов устанавливается по правилу: сверху-в-низ, слева-на-право, начиная от левого верхнего угла формы или класса.

См. дополнительно раздел Как: Установить порядок следования для Контролов.

См. также

Описание

TabIndex, Свойство
General Options, диалоговый бокс
Menu Options, диалоговый бокс
Define Window Layout, диалоговый бокс

Другие ссылки

Диалоговые Боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Task Pane Options Dialog Box

Visual FoxPro 9.0
Диалоговый блок Task Pane Options
Смотрите также

Диалоговый блок Task Pane Options позволяет вам настроить Task Pane Manager и содержащиеся в нем индивидуальные части. Кроме того, мы можете добавить новые части в ваш Task Pane Manager и использовать даилоговый блок Pane Customization для создания ваших собственных частей.

Move Up

Перемещает выбранный элемент вверх по дереву просмотра.

Move Down

Перемещает выбранный элемент вниз по дереву просмотра.

Tree View

Отображает различные области Task Pane Manager, в которых вы можете установить опции. Когда вы щелкаете по элементу в дереве просмотра, он распахивает узел с тем, что показать дополнительные категории выбранного элемента; кроме того, он отображает соответствующие выбранному элементу опции с правой стороны диалогового блока. В дополнение, порядок, в котором части показываются в дереве просмотра соответствуют порядку, в котором они показываются сверху Task Pane Manager.

Help

Открывает файл подсказки Visual FoxPro.

Task Pane Manager, General

Отображает опции, которые могут быть установлены для Task Pane Manager в целом.

Pane

Определяет часть, которая отображается первой при открытии Take Pane Manager.

Check for New Internet Content

Выбрается - как часто проверять наличие нового содержания в частях, содержание которых определяется содержанием Web-страниц, на которых он основан. Эта опция является опцией по умолчанию для частей, основанных на Web-страницах; однако, в зависимости от части доступны опции, которые свойственны только этой части.

Open the Task Pane when Visual FoxPro starts

Определяет, будет ли автоматически запускаться Task Pane Manager при старте Visual FoxPro.

Task Pane Manager, Customize

Отображает опции для настройки частей и управления Task Pane Manager.

Install Pane

Отображает диалоговый блок, для выбора частей на базе программ Microsoft или стронних производителей, которые могут быть добавлены в Task Pane Manager.

Customize Panes

Отображает диалоговый блок Customization, который позволяет вам просмтривать и настраивать имеющиеся част или создавать свои собственные.

Cleanup Tables

Удаляет записи, помеченные для удаления из таблиц Task Pane Manager tables и очищает буфферный каталог, используемый Task Pane Manager'ом.

Restore to Default

Восстанавливает Task Pane Manager к его первоначальному виду, установкам по умолчанию и части, которые определены по умолчанию.

Folder for Take Pane Manager content tables

Определяет каталог, в котором Task Pane Manager хранит и использует свои таблицы.

Folder for cached files

Определяет каталог, в котором Task Pane Manager хранит свои кэшируемые файлы.

Start, General

Отображает опции, которые могут быть установлены для начальной панели-части.

Start

Определяет будет ли отображаться начальная секция начальной панели.

My Tools

Определяет, будет ли отображаться секция My Tools section начальной панели.

Recent Projects

Определяет будут ли в начальной части-панели отображаться последние используемые вами проекты.

Recent Databases

Определяет будут ли в начальной части-панели отображаться последние используемые вами базы данных.

Check for New Internet Content

Определяет, как часто проверять соответствие содержания частей, основанных на Internet-страницах.

Community, General

Отображает опции, которые могут установлены для панели Community.

FoxCentral News

Определяет будут ли новости с веб-сайта FoxCentral Web отображаться в панели Community.

Universal Thread News

Определяет будет ли содержимое веб-сайта Universal Thread отображаться в панели Community.

Wiki

Определяет будет ли содержимое веб-сайта Visual FoxPro Wiki отображаться в панели Community.

Check for New Internet Content

Определяет, как часто проверять соответствие содержания частей, основанных на Internet-страницах.

Community, FoxCentral News

Отображает опции, которые могут быть установлены для отображения новостей с веб-сайта FoxCentral.

Number of days to look back for news

Определяет количество дней, за которые старые новости с веб-сайта FoxCentral можно просматривать в панели Community.

Community, Universal Thread News

Отображает опции, которые могут быть установлены для отображения содержания веб-сайта Universal Thread.

Login name

Определяет имя пользователя, которое панель Community должно использовать для загрузки содержимого сайта Universal Thread.

Password

Определяет пароль пользователя, который панель Community должно использовать для загрузки содержимого сайта Universal Thread.

Number of days to look back for news

Определяет количество дней, за которые "старое" содержание веб-сайта Universal Thread можно просматривать в панели Community.

News

Определяет, должен ли в панели Community отображаться список новостей с сайта Universal Thread .

Articles

Определяет, должен ли в панели Community отображаться список статей с сайта Universal Thread .

Downloads

Определяет, должен ли в панели Community отображаться список загрузок с сайта Universal Thread .

Training

Определяет, должен ли в панели Community отображаться список тренировок и обучений с сайта Universal Thread

Community, Wiki

Отображает опции, которые могут быть установлены для отображения содержания веб-сайта Visual FoxPro Wiki.

Number of days to look back for news

Определяет количество дней, за которые "старое" содержание веб-сайта FoxPro Wiki можно просматривать в панели Community.

Solution Samples, General

Отображает опции, которые могут быть установлены для панели примеров Solution.

Solution Samples

Определяет будет ли секция Solution Samples отображаться в панели Solutions Samples.

Add-In Links

Определяет будет ли секция Solution Samples Add-In отображаться в панели Solutions Samples..

Check for New Internet Content

Определяет, как часто проверять соответствие содержания, основанного на Internet-страницах.

XML Web Services, General

Отображает опции, которые могут быть установлены для панели XML Web Services.

XML Web Services Tools

Определяет будет ли секция XML Web Services Tools отображаться в панели XML Web Services.

Explore an XML Web Service

Определяет должна ли секция Explore an XML Web Service отображаться в панели XML Web Services.

XML Web Services Resources

Определяет должна ли секция XML Web Services Resources отображаться в панели XML Web Services.

Check for New Internet Content

Определяет, как часто проверять соответствие содержания, основанного на Internet-страницах.

Minesweeper

Отображает опции, которые могут быть установлены для панели Minesweeper.

Size of matrix

Определяет как велика будет игровая область, используемая по умолчанию.

Смотрите также

Reference

Диалоговый блок Pane Customization
Task Pane Manager

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Toolbars Dialog Box

Visual FoxPro 9.0
Toolbars, Диалоговый Бокс
Смотрите Также

Данный Диалоговый бокс позволяет вам создать, изменить, скрыть или настроить некоторую группу инструментов (ToolBars).

Toolbars (инструментальная линейка/бокс)

Список доступных групп инструментов. Выбранный toolbars, его характеристики отображаются в соответствующем Окне вывода.

New (Создать Новый)

Активируется дополнительный Диалоговый бокс NewToolbar, где вы можете определить уникальное имя вашего нового ToolBar.

Reset (Сброс)

Выполняется возврат на шаг назад, к выбору встроенных инструментов (toolbar). Данная кнопка может быть заменена на кнопку Delete, если вы выбираете пользовательский, созданный ранее Инструмент (группу)if. Вы не можете Сбросить пользовательскую группу Инструментов.

Delete (Удалить)

Удаляет выбранную пользовательскую группу инструментов. Данная кнопка может быть заменена на кнопку Reset (смотрите предыдущий пункт), если вы выбираете встроенную системную группу инструментов. Вы не можете Удалить такую группу инструментов.

Customize (Настройка, переопределение)

Активирует дополнительный Диалоговый бокс Customize Toolbar, в котором вы можете добавить или удалить командные кнопки инструментальной группы ToolBar.

Параметры Отображения (визуальные эффекты)

Color Buttons (цвет кнопок)

Управляет цветовой гаммой встроенных и пользовательских групп инструментов. Если данный флажек не установлен - кнопки отображаются в черно-белой гамме.

Large Buttons (большие кнопки)

Командные кнопки инструментальных групп увеличиваются в размере. Если ваш монитор имеет достаточно высокое разрешение, то вы можете использовать увеличенные Командные кнопки.

Show ToolTips (отображение подсказок)

Позволяет отображать Имена кнопок в том случае, когда указатель Мышки перемещается на кнопкой инструментальной группы (toolbar).

См. также

Описание

Tab Order, диалоговый бокс
General Options, диалоговый бокс
Menu Options, диалоговый бокс
Define Window Layout, диалоговый бокс

Другие ссылки

Диалоговые боксы (окна) (Visual FoxPro)
Создание пользовательских Инструментальных линеек (Toolbars)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Customize Toolbar Dialog Box (Visual FoxPro)

Visual FoxPro 9.0
Customize Toolbar (Настройка ToolBar-a), диалоговый бокс (Visual FoxPro)
См. Также

Позваляет добавить или удалить кнопки в Инструментарии (toolbar). Доступные инструментальные кнопки сгруппированы по Категориям. Для получения информации о конкретной кнопке - нужно нажать ее.

Данные диалоговый бокс отображается при выборе пункта Customize в соответствующем Toolbars, диалоговом боксе.

Categories (категории)

Список категорий кнопок.

Button (кнопка)

Отображаются доступные кнопки текущей выделенной категории (из соответствующего бокса Categories). Для добавления новой инструментальной кнопки перетащите ее в главное окно Visual FoxPro, в создаваемый новый toolbar.

Description (описание)

Объясняется функциональное назначение выбранной инструментальной кнопки.

См. дополнительно раздел Как: Конфигурировать Инструментальные окна в Visual FoxPro.

См. также

Описание

Tab Order, диалоговый бокс
General Options, диалоговый бокс
Menu Options, диалоговый бокс
Define Window Layout, диалоговый бокс

Другие ссылки

Диалоговые Боксы (Visual FoxPro)
Создание Пользовательских Toolbar-ов

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Undo Check Out of Files Dialog Box

Visual FoxPro 9.0
Undo Check Out of Files (отменить контроль файлов-компонент), диалоговый бокс
См. Также

Отменяет все проведенные изменения над файлами-компонентами, которые контролируются подсистемой Source Control Code при Коллективной Разработке Приложения и размещенных в соответствующих общих каталогах компонент.

Files to Un-Check Out (файлы для отмены контроля)

Список файлов, для которых нужно снять отметку проведенного контроля; можно отметить нужные или отметить все файлы.

Select All (выбрать все)

Отметить все файлы.

См. также

Описание

Check Out Files, диалоговый бокс
Add Files to Source Control, диалоговый бокс
Компиляция исходного программного кода

Другие ссылки

Диалоговые боксы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Update Project List Dialog Box

Visual FoxPro 9.0
Обновить Список Проекта, диалоговое окно
См. Также

Отображает результат в виде списка при выборе пункта Update Project List, из соответствующего подменю Source Control, в меню Project.

Комментарии

Отображает обновленный список компонент проекта.

См. также

Описание

Исключение файлов-компонент из системы Source Control, диалоговое окно
Информация о Проекте, диалоговое окно
Компиляция Исходного программного Кода

Другие ссылки

Диалоговые Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


View Parameters Dialog Box

Visual FoxPro 9.0
Диалоговый бокс View Parameters (Параметры Представления)
См. Также

Настраивает параметры Представления; определяет дополнительный дилоговый бокс ввода значений параметров, от которых зависит результат выполнения запроса (получения представления).

Name (имя)

Определяет имя параметра.

Type (тип)

Определяет тип данных этого параметра (числовой, символьный...).

Insert (вставка)

Вставить пустую строку; предполагается определение нескольких параметров.

Delete (удаление)

Удалить выбранную строку, строку с описанием параметра.

См. также

Задачи

Как: Строить параметрические Запросы

Описание

Диалоговый бокс Advanced Options (Дополнительные Опции)
Диалоговый бокс Query Destination (Вид Результата Запроса)
PARAMETERS, команда

Другие ссылки

Диалоговые Боксы (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Visual FoxPro Converter Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Visual FoxPro Converter
См. таже

Конвертирует файлы FoxPro 2.6 и Visual FoxPro 3.0 в текущий формат Visual FoxPro, что необходимо для их использования в более поздних версиях Visual FoxPro.

Подробнее о конвертировании старых файлов смотрите в Руководство: Конвертирование Файлов Ранних Версий Visual FoxPro.

Конвертирование записей форм для платформ Macintosh и Windows (Convert both Macintosh and Windows form records)

Доступно только в том случае, если конвертируются экранные формы и проекты FoxPro 2.6, которые содержат специфичные для этих платформ элементы управления или такую информацию, как ссылки на шрифты или пути доступа. Если вы выберете эту опцию, то конвертор создаст различные формы для каждой платформы. Формы для Windows получат оригинальное имя, а формы для Macintosh получат оригинальное имя с суффиксом "_MAC". Если оригинальная экранная форма была частью проекта, то новый проект будет обновлен включением в него обоих новых форм.

Сохранение умалчиваемых значений свойств Visual FoxPro 3.0 (Retain Visual FoxPro 3.0 default property values)

Применяется только при конвертировании проектов Visual FoxPro 3.0. По умолчанию, свойство формата Visual FoxPro устанавливаются для шрифтов и цветов, совместимых с Windows 98 и некоторыми не зависящими от Visual FoxPro 3.0 установками. При выборе этой опции ваши конвертированные формы сохранят умалчиваемые свойства Visual FoxPro 3.0 .

Файл (File)

Доступна, если инструментом для конвертации служит приложение Converter.app. Вы можете указать файл, который хотите конвертировать. Для просмотра и выбора файла кликните на кнопку с многоточием (...).

Резервирование файлов (Backup files)

Указывает папку для сохранения резервных копий файлов. Для указания другой папки введите ее путь и имя или кликните на кнопке с многоточием (...).

Создать журнал регистрации (Create log file)

Доступна только при конвертации проектов FoxPro 2.6. Вы можете сохранить список действий, выполнявшихся при преобразовании ваших файлов, в журнале регистрации.

Функциональная конвертация (Functional conversion)

Доступна только при конвертации файлов экранов и проектов FoxPro 2.6. Эта опция создает форму с изображениями элементов управления и копирует, коды в свойства, события и методы объектов. Функциональная конвертация обеспечивает совместимость с оператором READ FoxPro 2.6, что позволяет вам избавиться от масштабных ручных изменений кода. Для того, чтобы получить выигрыш от функциональной конвертации, вы должны удалить страницы и страничные фреймы, изменить в наборе форм Свойство WindowType, и вручную перенести коды в методы и события.

Визуальная конвертация (Visual conversion)

Доступна только при конвертации файлов экранов и проектов FoxPro 2.6. Эта опция создает изображение форм и всех элементов управления, но копирует все коды из оригинальных проекта и экранов FoxPro 2.6 в некомпилированный программный файл (.prg). Если вы выберите эту опцию, то Visual FoxPro выдаст подсказку при создании файла .prg.

Выберите Визуальную конвертацию для того, чтобы отказаться от полной функциональности Visual FoxPro при конвертации и не удалять страницы и страничные фреймы. Для этого измените Свойство WindowType в наборе форм и вручную перенесите коды из объекта в объект.

Продолжить (Continue)

Завершает процесс конвертации. После нажатия на Continue Visual FoxPro отобразит диалоговый бокс Transporter, но только в том случае, когда конвертируются файлы Macintosh или MS-DOS, которые не содержат записей Windows. Подробности смотрите в Диалоговый бокс Transporter Visual FoxPro.

Папка (Directory)

Доступна, если инструментом для конвертации служит приложение Converter.app. Вы можете конвертировать все файлы папки, указать или просмотреть папку и указать типы файлов для конвертации. Вы можете также определить: проверять вложенные папки на наличие конвертируемых файлов.

См. также

Ссылки

Команды Window (Visual FoxPro)
Команда MODIFY FORM
Команда MODIFY LABEL

Другие ресурсы

Диалоговые боксы (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Visual FoxPro Transporter Dialog Box

Visual FoxPro 9.0
Диалоговое окно Visual FoxPro Transporter
Смотрите также

Предоставляет вам возможность транспортировать формы, этикетки и отчеты между различными платформами и версиями FoxPro. Это диалоговое окно появляется только в том случае, когда вы попытаетесь сконвертировать файлы Macintosh или MS-DOS которые никогда ранее не содержали записей для Windows.

В соответствии с установкой опций в диалоговом окне Visual FoxPro Transporter, Visual FoxPro создает записи платформы Windows из записей Macintosh или MS-DOS с тем, чтобы Visual FoxPro Converter смог бы сконвертировать файлы в текущий формат файлов Visual FoxPro, который необходим для использования этих файлов с более поздними версиями Visual FoxPro.

Для получения более подробной информации о конвертировании файлов с других платформ смотрите описание задачи Как: конвертировать файлы ранних версий Visual FoxPro.

Transport

Создает Windows версию записей Macintosh или MS-DOS для того, чтобы Visual FoxPro Converter мог распознать файл и конвертировать его в корректный формат файла.

Don't Transport

Прекращает перенос файла и процесс конверсии. У вас остается возможность открыть файл в более ранних версиях FoxPro.

Font

Открывает диалоговое окно Font с тем, чтобы вы смогли выбрать шрифт по умолчанию для ваших переноса экранов, отчетов и этикеток.

Transport Objects From

Предоставляет вам возможность выбрать подходящую платформу из списка.

Смотрите также

Справочное руководство

Системная переменная _TRANSPORT
Диалоговое окно Visual FoxPro Converter

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro XML Web Service Location Dialog Box

Visual FoxPro 9.0
Диалоговый блок "Visual FoxPro XML Web Service Location"
Смотрите также

Определяет локальный унифицированный локатор ресурса - Uniform Resource Locator (URL) или виртуальный каталог, для публикации XML Web сервиса.

Диалоговый блок "Visual FoxPro XML Web Service Location" появляется первый раз, когда вы выбираете мастер Web Services Publisher из меню Wizards. Вы можете открыть диалоговый блок, щелкнув пр командной кнопке Advanced в диалоговом блоке Visual FoxPro XML Web Services Publisher. Для получения более подробной информации смотрите Диалоговый блок Visual FoxPro XML Web Services Publisher.

Замечание Замечание

Все предыдущие установки для ранее опубликованных XML Web сервисов сохраняются, так у вас нет необходимости переустанавливать эти значения каждый раз, когда вы желаете заново опубликовать уже опебликованный XML Web сервис.

Existing

Выбирает уже существующий локатор ресурсы в боксе Select Location (Virtual Directory) для публикации XML Web service. Это должно представлять URL (виртуальный каталог) доступной на доступном IIS Web сервере.

New

Определяет новый виртуальный каталог в боксе Select Location (Virtual Directory) для публикации XML Web сервиса, позвоялет напечатать имя виртуального каталога в боксе New Virtual Directory Name.

Select Location (Virtual Directory)

Определяет локальный URL (виртуальный каталог) для публикации XML Web сервиса. Бокс перечисляет все доступные виртуальные каталоги на вашем, используемом по умолчанию IIS Web сервере. Если выбрано New, то указанный URL используется как корень локатора для нового виртуального каталога, появившегося в боксе New Virtual Directory Name.

File Output Path

Отображает физический путь для местоположения нового виртуального каталога и доступно только тогда, когда выбрано New. Щелкните по кнопке (...), справа от от бокса File Output Path для выбора физического каталога для нового виртуального каталога.

New Virtual Directory Name

Указывает имя нового виртуального каталога и доступно только тогда, когда выбрано New.

Смотрите также

Задачи

Как: распространять XML Web сервисы

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)
XML Web сервисы в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro XML Web Services Publisher Dialog Box

Visual FoxPro 9.0
Диалоговый блок "Visual FoxPro XML Web Services Publisher"
Смотрите также

Определяет информацию для публикации Visual FoxPro COM (.dll) серверов в качестве XML Web сервисов, которые могут быть доступными на Web. Visual FoxPro XML Web Services Publisher диалоговый блок появляется, когда вы щелкаете на Publish an XML Web Service в панели "XML Web Services" в Task Pane Manager, или, когда вы щелкаете на Web Services в субменю Wizards в меню Tools.

Замечание Замечание

Visual FoxPro XML Web Services Publisher диалоговый блок использует движок генерации Web Services Definiton Language (WSDL) из SOAP Toolkit version 3.0. Поэтому, определенные комплексные типы могут не поддерживаться. Для получения более подробной информации о WSDL или файлах WSML, генерируемых Visual FoxPro XML Web Services Publisher, смотрите документацию по SOAP Toolkit 3.0.

Visual FoxPro XML Web Services Publisher диалоговый блок использует для своих установок используемый по умолчанию URL (виртуальный каталог). Вы можете отобразить и изменить эти установки по умолчанию, щелчкнув по командной кнопке Advanced в диалоговом блоке Publisher. Установки сохраняются, так что в дальнейшем вы можете заново опубликовать ваш XML Web сервис без генерируемых заново файлов поддержки.

COM Server

Определяет имя файла COM сервера, который будет опубликован. Щелкните по кнопке (...) для выбора COM сервера (.dll или .exe файла).

По умолчанию, COM сервер ассоциирован с активным проектом, который отображен на экране. Бокс COM Server перечисляет все асоциированные с открытым проектом COM серверы и любые ранее опубликованные COM серверы.

Select Класс

Указывает индивидуальный класс (OLEPUBLIC) публикуемого COM Server. Бокс Select Класс перечисляет все классы в COM сервере.

Advanced

Отображает диалоговый блок Advanced с тем, чтобы вы смогли изменить установки по умолчанию для XML Web сервиса, который вы желаете опубликовать и для генерируемых файлов поддержки для XML Web сервиса. Эти установки используются, когда вы щелкаете по командной кнопке Generate. Кроме того, эти установки сохраняются для того, чтобы вы в дальнейшем смогли заново опубликовать XML Web сервис с заново сгенерированными файлами поддержки. Доступны приведенные ниже установки:

Закладка Options

  • Service Name Указывает имя создаваемого XML Web сервиса. При генерации файлов WSDL (и ASP), используйте это имя файла.

  • Listener URI Указывает URL для файла WSDL и ASP.

    Этот бокс перечисляет места, основанные на наборе виртуальных каталогов на вашем, используемом по умолчанию Web сервере. Щелчок на кнопке (...) отобразит диалоговый блок Visual FoxPro XML Web Service Location с тем, чтобы вы смогли выбрать существующий или новый виртуальный каталог. Для получения более подробной информации смотрите Диалоговый блок "Visual FoxPro XML Web Service Location".

  • File(s) Location Отображает физическое местонахлждение генерируемый файлов WSDL. Этот путь определяется местонахождением, указанном при выборе из списка, когда вы щелкаете на кнопке (...) с правой стороны от бокса Listene URI.

  • Listener Type Определяет, будет ли XML Web сервис использоваться как ISAPI или ASP listener. ISAPI listener является опцией, используемой по умолчанию и предлагает наивысшую производительность. Если указан ASP listener, вместе с файлами WSDL создается ASP файл, когда вы щелкаете по кнопке Generate.

  • ASP listener Application Отображает имя приложения, используемого в скрипте ASP файла listener.

  • VBScript Определяет, что файл ASP listener использует VBScript в качестве скриптового языка.

  • JScript Определяет, что файл ASP listener использует JScript в качестве скриптового языка.

  • Automatically generate Создает добавочный блок проектанаый с проектом COM сервера с тем, чтобы файлы поддержки XML Web сервиса автоматически генерировались при перестройке COM сервера.

  • Generate with UTF-16 Использует кодировку UTF-16 Unicode при генерации файлов WSDL. С кодировкой UTF-16 каждый символ использует два байта. С кодировкой UTF-8, большинство символов, например, символы английского языка, используют один байт каждый. Другие символы, таких языков, как Asian или Arabic, используют по два байта каждый. Поэтмоу, лучше сохранять файла в кодировке UTF-16.

Закладка Methods

  • Methods Указывает список доступных методов в выбранном классе COM сервера. Только выбранные методы включаются, как операции, в генерируемый WSDL файл XML Web сервиса.

Namespaces tab Указывает пространства имен для URI в ваших генерируемых файлах. Каждый XML Web сервис требует уникальное пространство имен для клиентских приложений для различия их от других сервисов на Web. Рекомендуется, чтобы вы использовали домен, отличающийся от tempuri.org.

  • WSDL Namespace URI Указывает пространство имен, используемое для определений в документе WSDL.

  • Schema Type Definition Namespace URI Указывает пространство имен, используемое для ссылок схемы в документе WSDL.

  • Message Namespace URI Указывает пространство имен, используемое для выходных сообщений или вызовов методов в документе WSDL.

  • Base SOAP Action URI Указывает URI, используемый для операций в документе WSDL.

STK3 Wizard

Открывает WSDL генератор SOAP Toolkit 3.0 с тем, чтобы вы смогли создать WSDL файл из объекта COM. Вы можете использовать этот мастер в качестве альтернативного метода для публикации вашего COM сервера в качестве XML Web сервиса, который содержит теже самые опции, что и Visual FoxPro XML Web Services Publisher.

Generate

Генерирует все файлы поддержки XML Web сервиса, необходимые для публикации вашего COM сервера в качестве XML Web сервиса, включая файлы ASP listener и WSDL.

Смотрите также

Задачи

Как: распространять XML Web сервисы

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)
XML Web сервисы в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro XML Web Services Registration Dialog Box

Visual FoxPro 9.0
Диалоговое окно "Visual FoxPro XML Web Services Registration"
Смотрите также

Определяет информацию для регистрации XML Web сервиса с тем, чтобы вы смогли использовать его в ваших приложениях.

Диалоговое окно Visual FoxPro XML Web Services Registration появляется, когда вы щелкаете на Register an XML Web Service в панели XML Web Services в Task Pane Manager. Вы можете, кроме того, открыть диалоговое окно из построителя "XML Web Service Builder" и диалоговое окно Select, когда вы напечатаете пару символов - ws - в окне редактирования программ.

WSDL URL Location

Указывает местонахождение файла WSDL, обычно в виде URL. Однако, в качестве расположения файла, кроме того, может выступать локальный каталог, если файл хранится локально, в компьютере. Это значение должно быть действительным, как в отношении пути, так и файла, в противном случае Visual FoxPro сгенерирует соответствующее сообщение, когда вы попытаетесь зарегистрировать XML Web сервис.

Блок, кроме того, отображает ссылки на ранее зарегистрированные WSDL url. Если вы укажите WSDL файл, который содержит множественные порты (классы), вы будете запрошены о выборе конкретного порта.

UDDI Search

Данный пукнт устарел и указанный сервис отключен. Примечание переводчика

Смотрите также

Задачи

Как: получить доступ к XML Web сервисам

Прочие ресурсы

Диалоговые окна (Visual FoxPro)
XML Web сервисы в Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Wizard Selection Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Выбора Мастера
См. Также

Отображается список Мастеров, один из которых Вы выбираете. Данный диалоговый бокс появляется при выборе пункта меню Wizards из главного меню Tools или из соответствующего меню Query, Form, Report.

Select the wizard you would like to use

Отображает все мастера Visual FoxPro, актуальные для текущего режима работы. Например, Visual FoxPro имеет дополнительные мастера Построителя Отчетов.

Description

Дает краткое описание выбранного Мастера.

См. также

Описание

Диалоговый бокс Macros
Окно Class Browser

Другие ссылки

Диалоговые боксы (Visual FoxPro)
Мастера (Visual FoxPro)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Work Area Properties Dialog Box

Visual FoxPro 9.0
Диалоговое окно Work Area Properties (Свойства рабочей области)
Смотрите также

Позволяет вам изменять структуру таблицы, выбирать индексные файлы и поля, а также определять фильтры данных. Это диалоговое окно появляется, когда вы выбираете пункт Properties (Свойства) из меню Table (Таблица) или щелкаете по кнопке Properties (Свойства) в диалоговом окне Data Session (Сессия данных).

Cursor

Отображает псевдоним текущей открытой таблицы или ее имя.

Enable data buffering (Разрешить буферирование данных)

Включает буферирование данных.

Область Lock Records (Блокировка записей)

Радио-кнопка When edited (При редактировании)

Запрещает обращение к таблице других пользователей, когда вы редактируете записи. Это еще известно, как пессимистическое буферирование.

Радио-кнопка When written (При записи)

Разрешает доступ к таблице других пользователей, когда вы редактируете и запрещает при обновлении записи в таблицы вашими данными. Это еще известно, как оптимистическое буферирование.

Область Buffer (Буфер)

Радио-кнопка Current record (Текущая запись)

Разрешает буферирование только текущей записи. Это еще известно, как буферирование записи.

Радио-кнопка All edited records (Все редактируемые записи)

Разрешает буферирование всех редактируемых записей. Это еще известно, как буферирование таблицы.

Note Замечание

Когда вы выбираете Buffer Current Record, команда SET MULTILOCKS автоматически устанавливается в ON (если мультиблокировка к этому моменту была выключена (off), если она не была выключена при очистке Current Record или выборе All Edited Records. Установленное значение мультиблокировки применяется по умолчанию ко вновь открываемым таблицам, что отражается на Закладка Data диалогового окна Options (Параметры).

Data filter (Фильтр данных)

В этом текстовом боксе вы можете напечатать выражение фильтра или вызвать диалоговое окно Expression Builder (Компоновщик выражения) при щелчке по кнопке (...), расположенной справа от текстового бокса, в котором вы можете указать - какие записи в активной таблице будут доступны для обработки. Соответствует установки фильтра с помощью команды SET FILTER.

Index order (Порядок индексирования)

Определяет порядок индексирования таблицы. В Database Designer (Конструкторе базы данных) первичный индексный ключ таблицы появляется в виде символа ключа рядом со списком индексов. Соответствует установке, производимой командой SET ORDER.

Область Allow Access To (Позволить доступ к)

Радио-кнопка All fields in the work area (всем полям в рабочей области)

Указывает, что пользовать может обращаться ко всем полям таблицы в рабочей области. Соответствует установке, производимой командой SET FIELDS.

Only fields specified by field filter (только полям, указанным в фильтре)

Указывает, что будут отображаться и доступны для редактирования записи только тех полей, которые соответствуют выборке полей в диалоговом окне Field Picker (Выбор поля).

Командная кнопка Field Filter (Фильтр поля)

Отображает диалоговое окно Field Picker (Выбор поля) в котором вы можете управлять числом активных полей.

Командная кнопка Modify

Отображает Table Designer (Конструктор таблицы) в котором вы можете изменять структуру таблиц базы данных, свободных таблиц и индексов.

Смотрите также

Задачи

Как: фильтровать записи в таблицах

Справочное руководство

Table Designer (Конструктор таблиц) (Visual FoxPro)

Концепции

Database Designer (Конструктор базы данных)(Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XML Web Service - Client Detail Dialog Box

Visual FoxPro 9.0
XML Web сервис - диалоговый блок "Client Detail"
Смотрите также

Предоставляет вам возможным указать управляющий элемент, или клиента, который вы желаете связать с результатами операции XML Web сервиса. При вызове операции XML Web сервиса, результаты будут привязаны к конкретному управляющему элементы на форме. Вы можете затем присвоить возвращенное значение или параметр, посланный по ссылке, свойству управляющего элемента. Обычно вы присваиваете возвращаемое значение свойству Value или свойству Caption с тем, чтобы пользователь мог видеть результаты.

Это диалоговое окно появляется кода вы щелкаете на командной кнопке Add или Edit в группе Clients на закладке Operations построителя XML Web Service Builder. Для получения более подробной информации смотрите Закладка Operations, построитель XML Web Service Builder.

Select control

Отображет и определяет управляющие элементы или объекты, доступные на текущей форме, с которыми вы желаете связать результаты операций XML Web сервиса.

Если ваш XML Web сервис возвращает простой тип данных, вы можете пожелать выбрать в качестве связываемого элемента текстовый бокс(textbox) или метку (label). Вы можете связать операцию, которая возвращает ADO.NET DataSet, который представляет из себя комплексный тип с решеткой (grid). Для объектов DataEnvironment, вы можете выбрать объект CursorAdapter и связать результаты операции с его методом CursorFill, что является типичным для операций XML Web сервиса, возвращающих ADO.NET DataSets.

Control property used to assign the Web service results

Отображает свойства выбранного управляющего элемента, с которым вы желаете связать результаты операций XML Web сервиса. При вызове операции, результаты присваиваются свойству.

Для управляющего элемента TextBox обычно выбирается свойство Value; однако, если операция возвращает ADO.NET DataSet, вы можете пожелать связать его со свойством ControlSource.

Для управляющего элеммента Label, свойство Caption выбирается по умолчанию.

Для управляющего элеммента Grid и в случае, если операция возвращает ADO.NET DataSet, вы можете использовать свойство RecordSource.

Binding control to the Web service return value or parameter

Определяет источник параметра XML Web сервиса, с которым связано свойство управляющего элемента.

Установка ReturnValue выбрана по умолчанию. Однако, вы можете, кроме того, в качестве источника указать параметр операции. Это может быть полезным для операций, которые имеют параметры, посылаемые по ссылке. Это, кроме того, является иногда полезным для отображения оригинального введенного значения, например, при использовании свойства Caption управляющего элемента Label.

Client description

Определяет имя, которое вы желаете использовать для клиента. (Необязательный параметр)

Name of binding property

Указывает имя пользовательского свойства, которое вы желаете использовать как источник события для запусков вызовов операции XML Web сервиса и последовательной привязки к управляющим элементам. Эта опция по умолчанию установлена в BindMe. Однако, все пользовательские свойства и методы управляющего элемента включены в список, из которого вы можете выбрать иное, если пожелаете.

Если выбран объект CursorAdapter, то по умолчанию выбран его метод CursorFill с тем, чтобы событие вызвало создание курсора после вызова XML Web сервиса. Это полезно для операций, которые возвращают ADO.NET DataSet, так как XML Web сервис позволяет DataSet быть импортированным в объект CursorAdapter, через объект XMLAdapter, который используется методом CursorFill объекта CursorAdapter.

Операции XML Web сервиса вызываются с использованием возможностей привязки событий Visual FoxPro. В run time, свойство, определенное Name опции свойства привязки добавляется в управляющий элемент. Это введенное свойство подается как источник события и связывается с методом InvokeClient XML Web сервиса. Когда значение связанного свойства установлено в True (.T.), срабатывает событие и вызывает метод InvokeClient, который в свою очередь вызывает операцию XML Web сервиса. После вызова операции, возвращенное значение присваивается указанному свойству управляющего элемента. Вы можете, кроме того, указать пользовательский метод вместо пользовательского свойства. Вызов этого пользовательского метода запустит событие, которое вызовет делегата InvokeClient.

Invoke at startup

Определяет, что XML Web сервис вызывается и производится привязка управляющего элемента при создании инстанции формы или класса.

Always call Web service

Определяет, что каждый управляющий элемент производит свой собственный вызов операции XML Web сервиса, с которым он связан.

Управляющий элемент XML Web сервиса (wshandler) способен определить, что для одной и той же операции произошли множественные вызовы клиентов. Для производительности, множество клиентов используют результаты операции, когда эти клиенты вызываются одновременно, как в случае создания начальной инстанции формы или класса.

Например, предположим, что вы имеете управляющийо элемент TextBox который привязан к результатам операции своим свойством Value, а управляющий элемент Label, который связывает первый параметр введенного значения, связан с той же операцией своим свойством Caption. При создании инстанции формы или класса и при наличии вызовов обоих клиентов, обычно происходит только один вызов операции XML Web сервиса. Однако, при выборе опции "Always call Web service", вы можете указать, что все клиенты делают свои собственные вызовы к одной и той же операции. Это, кроме того, происходит, если клиент вручную (???) вызывает операцию, когда происходит создание инстанции формы или класса.

Complex Types

Отображает диалоговое окно, которое предоставляет вам возможность установить дополнительные опции, когда вы связываете операции, возвращающие комплексный тип данных, такой как ADO.NET DataSet или XMLDOMNodeList. Для получения более подробной информации смотрите XML Web сервис - диалоговое окно "Complex Types".

Смотрите также

Справочное руководство

Закладка Operations, построитель "XML Web Service Builder"

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XML Web Service - Complex Types Dialog Box

Visual FoxPro 9.0
Диалоговый блок "XML Web Service - Complex Types"
Смотрите также

Предоставляем вам возможность указать информацию для комплексных типов, таких как имена таблицы и поля для орераций XML Web сервиса, которые возвращают ADO.NET DataSets или имена свойств для для возвращаемого объекта, такого как XMLDOMNodeList, который SOAP Toolkit 3.0 возвращет для более сложных типов.

Этот диалоговый блок появляется, когда вы щелкаете на "Complex Types" в диалоговом блоке "XML Web Service - Client Detail".

Dataset

Указывает таблицу и имя поля возвращаемого DataSet. XML Web сервис управляет импортом DataSet в объект XMLAdapter, который может использовать ваше приложение. Когда вызывается операция клиента, то автоматически создается курсор.

  • Dataset tables Указывает таблицу из списка таблиц, доступных в DataSet.

  • Table fields Указывает поле из списка полей, доступных в выбранной таблице DataSet. Выбор поля может быть полезен, когда результат операции связывается со свойством ControlSource управляющего элемента TextBox.

  • Use existing cursor if already opened Указывает - использовать существующий курсор, который имеет тоже самое имя; в противном случае, создавать новый курсор.

Object

Большинство операций XML Web сервисов, которые возвращают комплексные типы представляющие собой объекты, которые обрабатываются SOAP Toolkit 3.0 как XMLDOMNodeLists, которые имеют свойства, к которым вы можете пожелать связать ваш управляющий элемент.

  • Values Отображает свойства, ассоциированные с объектом.

Query

Вызывает XML Web сервис, с тем чтобы вы могли видеть возможные значения для объекта или DataSet.

Reset

Сбрасывает все значения в пустые строки.

Attach Schema

Устанавливает свойство CursorAdapterCursorSchema в схему выбранной таблицы. Доступно, когда в диалоговом блоке "Client Detail" выбран объект CursorAdapter.

Смотрите также

Справочное руководство

Диалоговый блок "XML Web Service - Client Detail"

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XML Web Service - Operation Detail Dialog Box

Visual FoxPro 9.0
XML Web Service - Диалоговый блок "Operation Detail"
Смотрите также

Предоставляет вам возможность выбрать конкретные операции или методы, которые вы желаете вызвать из вашего приложения Вы можете, кроме того, указать значения параметра для этих операций.

Этот диалоговый блок появляется, когда вы щелкаете на Add или Edit в группе Operations закладки Operations построителя XML Web Service Builder. Для получения более подробной информации смотрите Закладка Operations, построитель XML Web Service Builder.

Name

Указывает имя, которое вы желаете использовать при ссылке на операцию.

Описание

Указывает описание операции . (Необязательный)

Select an operation (метод)

Указывает операцию, которую вы желаете использовать. Подробности о выбранной операции появляются в боксе Syntax, включая любые, ранее установленные, параметры.

Set parameter(s)

Определяется как будут устанавливаться значения параметра для операции, как это показано ниже:

  • Input values now Предоставляет вам возможность заранее установить значение параметра. Для указания значения run-time источников параметра, щелкните на Set для того, чтобы открыть диалоговый блок XML Web Service - Parameter Values.

  • Programmatically set at run-time Установить значения параметра в run time, используя коллекцию параметра операции.

  • Prompt at run-time Определяет, что диалоговый блок появится для ввода значения, когда операция будет вызывана в run time. Диалоговый блок поддерживает только простые типы данных.

Set

Displays a dialog box for you to set parameter values for the operation. This option is available only when Input values now is selected in the Set parameter(s) box.

Syntax

Displays the syntax for the operation.

Options

Allow Web service calls to be cached offline

Определяет, что вызовы операции, включая значения параметра и результаты будут сохраняться локально. Если операция вызывается автономно (offline)с использованием тех же самых параметров, то возвращаются оригинальные результаты, что позволяет вашему приложению исполняться в отсоединенном состояния без прерывания.

Смотрите также

Справочное руководство

Закладка Operations, построитель XML Web Service

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


XML Web Service - Parameter Values Dialog Box

Visual FoxPro 9.0
XML Web сервис - диалоговый блок "Parameter Values"
Смотрите также

Предоставляет вам возможность установить значения параметров или указать или указать управляющий элемент и его свойства в качестве источника значений параметра для выбранной операции XML Web сервиса.

Замечание Замечание

Вы можете в этом диалоговом блок указать только простые типы данных. Вы можете установить комплексные типа данных, такие как массивы или ADO.NET DataSets программным путем, используя коллекцию параметров операции.

Этот диалоговый блок появляется, когда вы выбираете "Input values now" в блоке "Set parameter(s)" диалогового окна Диалоговый блок XML Web сервиса - "Operation Detail".

Select parameter

Определяет параметр, который вы желаете установить.

Parameter type

Отображает тип данных для параметра.

Specify parameter source

Определяет источник, который поставляет значение для выбранного параметра.

  • Value Указывает конкретное значение параметра. Предоставленное значение актоматически преобразуется в корректный тип данных, требуемый для параметра.

    Вы можете, кроме того, указать выражение, которое оценивается в run time, указав перед ним знак равенства (=). Например, вы можете установить текущую дату показанным ниже способом:

    CopyCode image Скопировать код
    =DATE()

  • Control/Property Отображает доступные на форме управляющие элементы и определяет, что свойство выбранного элемента или объекта поставляет значение для параметра.

    При выборе управляющего элемента появляется список доступных свойств этого элемента для того, чтобы вы смогли выбрать одно их них для поставки значения для параметра. Если вы желает, чтобы пользователь предоставил значение для параметра, вы може выбрать свойство Value.

Смотрите также

Справочное руководство

XML Web Сервис - диалоговый блок "Operation Detail"

Прочие ресурсы

Диалоговые блоки (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Zoom <property> Dialog Box

Visual FoxPro 9.0
Диалоговое окно Zoom <имя_свойства>
Смотрите также

Отображает текстовое значение выбранное свойства. Это диалоговое окно появляется при выборе из контекстного меню Zoom (Увеличить) в окне Properties (Свойства) или при щелчке по кнопке того же окна, расположенной слева от ввода значения и обозначенной иконкой с лупой.

Диалоговое окно Zoom (Увеличить) позволяет вам редактировать значения изменяемых (read/write) свойств, за исключением таких как Visible или ColorSource. Вы не можете редактировать в этом диалоговом окне значения свойств, для которых установлен статус "read-only" - "только для чтения"; однако, в этом окне вы можете выбрать и скопировать значение свойства в буфер.

Note Совет

В Visual FoxPro 9.0 в диалогом окне Zoom вы можете ввести более 255 символов (длина строки символов ограничена значением в 8 килобайт) для присвоения значения некоторым родным свойствам Visual FoxPro и определенными вами допольнительным свойствам, причем вы можете вводить и символы расширения, такие как CHR(13) (возврат каретки) и CHR(10) (перевод строки). Для получения более подробной информации о значениях свойств смотрите описание Окно Properties (Свойства) (Visual FoxPro).

Caution note Предупреждение

Значения свойств, которые превышают по длине 255 символов или включают в себя символы, такие как CHR(13) (возврат каретки) или CHR(10) (перевод строки) хранятся внутри файлов библиотеки классов( .vcx) или форм (.scx) в специальном формате. Значения свойств будут содержать дополняющие символы CHR(1). Помните, что файлы библиотек визуальных классов (.vcx) или форм (.scx), которые содержат свойства с такими значениями, не могут быть использованы в версиях до Visual FoxPro 9.0. Если вы попытаетесь изменять их в более ранних версиях, произойдет ошибка. Если же файлы библиотек визуальных классов (.vcx) или форм (.scx) Visual FoxPro 9.0 не содержат таких свойств, вы можете работать с ними и в более ранних версиях.

Смотрите также

Справочное руководство

Окно Properties (Свойства) (Visual FoxPro)

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Wizards (Visual FoxPro)

Visual FoxPro 9.0
Мастера - Wizards (Visual FoxPro)

Поставка Visual FoxPro включает в себя несколько мастеров - wizards. Мастера представляют собой интерактивные программы, которые помогают вам быстро завершать задачи общего плана, такие как создание форм, форматирование отчетов, установка запросов, импортирование данных и повышение их уровня до серверных (upsizing), создание графиков, создание выводов объединяемой почты (mail merge), генерация сводных (pivot) таблиц, создание перекрестных запросов и публикация данных в формате HTML для Web.

С помощью ответов на вопросы или выборки опций на сериях экранов мастеров, вы сообщаете мастеру - как построить файл или выполнить задачу на основе ваших ответов.

Большинство мастеров имеют несколько опций вывода на последнем экране. Эти опции вывода часто направляют вывод в файлы, которые могут быть введены в ваше приложение. Например, мастер Web Publishing имеет опцию скрипта, которая создает программный файл (.prg), который динамически генерирует HTML страницу из данных FoxPro. Вы можете включить такой файл скрипта в ваше приложение и запустить его из меню или с помощью командной кнопки в какой-нибудь форме.

Отметьте также, что на Web-сайте Visual FoxPro http://msdn.microsoft.com/vfoxpro/ доступны некоторые дополнительные мастера.

В этом разделе

Мастер приложения (Application Wizard)

Позволяет вам создать проект, а также Visual FoxPro Enhanced Application Framework, а затем открывает компоновщие приложения (Application builder) в котором вы можете добавить базу данных, таблицы, формы или отчеты, которые вы написали ранее.

Мастер перекрестных запросов (Cross-Tab Wizard)

Позволяет вам создать перекрестный запрос для сведения данных из существующих таблиц.

Мастер базы данных (Database Wizard)

Предоставляем вам возможность использовать предопределенные шаблоны, которые помогут вам создать базу данных, содержащую соответствующие задаче таблицы.

Мастер документирования (Documenting Wizard)

Позволяет вам сформатировать и создать текстовые файлы из кода в ваших проектах и программных файлах.

Мастер форм (Form Wizard)

Позволяет вам легко создать форму ввода данных для использования с одиночной таблицей.

Мастер графиков (Graph Wizard)

Позволяет вам создавать графики на основе данных таблиц Visual FoxPro с помощью Microsoft Graph.

Мастер импорта (Import Wizard)

Позволяет вам перемещать данные в файлы таблиц Visual FoxPro (.dbf) из разных форматов, таких как обычный плоский текст, Microsoft Excel, Microsoft Word и других файлов.

Мастер этикетки (Label Wizard)

Позволяет вам создавать этикетки, которые вы можете наклеивать на конверты и упаковки или использовать их в ваших конкретных условиях.

Мастер локального представления (Local View Wizard)

Позволяет вам создавать представления, которые являются настраиваемыми отображениями некоторой или полной информации с использованием родных данных Visual FoxPro.

Мастер объединяемой почты (Mail Merge Wizard)

Позволяет вам создавать либо источник данных, таких как имена или адреса, для документов Microsoft Word merged, таких как форма письма, этикетка почтового адреса, конверты, каталоги или текстовые файлы, которые могут быть использованы любым текстовым редактором.

Мастер формы с отношением один-ко-многим (One-To-Many Form Wizard)

Позволяет вам создать форму ввода данных, которая обновляет несколько таблиц из единственной формы.

Мастер очтета с отношением один-ко-многим (One-To-Many Report Wizard)

Позволяет вам создавать отчет, которые группирует записи из родительской таблицы с записями из дочерней таблицы.

Мастер свобной таблицы (PivotTable Wizard)

Позволяет вам создать интерактивные таблицы рабочих листов, для сведения и анализа данных из существующих таблиц.

Местер запроса (Query Wizard)

Позволяет вам создать запрос для выборки групп записей, основанной на указанных вами правилах.

Мастер удаленного представления (Remote View Wizard)

Позволяет вам создавать представления, которые являются настраиваемым отображением частичной или полной информации с использованием удаленных источников данных (через ODBC).

Мастер отчета (Report Wizard)

Позволяет вам создавать отчеты, используя одну свободную таблицу или таблицу/представление, принадлежащую базе данных.

Мастер повышения до уровна SQL сервера (SQL Server Upsizing Wizard)

Позволяет вам создать базу данных SQL сервера, которая дублирует, насколько это возможно, функциональные возможности базы данных Visual FoxPro.

Мастер таблицы (Table Wizard)

Позволяет вам создавать таблицы, основанные на типовой структуре таблицы и позволяет вам выбрать таблицу, отвечающую ващим требованиям из списка образцовых таблиц.

Мастер публикации в Web (Web Publishing Wizard)

Отображает данные из таблицы или представления в виде HTML документа.

Связанные разделы

Справочное руководство по интерфейсу пользователя (Visual FoxPro)

Объясняются опции, которые появляются в различных диалоговых окнах, в окнах и прочих элементах интерфейса пользователя. Статьи этого типа обычно появляются когда вы нажимаете на F1 в диалоговом окне или просто в окне.

Создание приложение с помощью Application Framework

Объясняется как создавать приложения с помощью Application Framework с использованием мастера приложения и компоновщика приложения.

Компоновщики (Builders)

Описывается как компоновщики помогают установить свойства элементов управления на форме. В отличие от мастеров, к компоновщику можно обращаться неоднократно, поэтому вы всегда по потребности можете открыть его повторно и многократно.

Окна (Visual FoxPro)

Объясняются опции, которые появляются в различных диалоговых окнах, в окнах и прочих элементах интерфейса пользователя.

Диалоговые окна (Visual FoxPro)

Объясняются опции, которые появляются в различных диалоговых окнах.

Конструкторы (Designers)

Объясняется как конструкторы смогут визуально помочь вам при разработке окон, даилоговых блоков и компонентов вашего приложения.
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Application Wizard

Visual FoxPro 9.0
Мастер Разработки Приложений
Смотрите Также

Мастер разработки Приложения создает Проект как некоторую ИнфраСтруктуру будущего Приложения (Visual FoxPro Enhanced Application Framework), за тем запускает Построитель Приложения (Application Builder), с помощью которого вы можете добывить в Проект существующие Базы Данных, Таблицы, Формы или Отчеты, или создать новые Объекты. При создании нового Приложения с использованием указанного Построителя Приложений вы можете использовать имеющиеся Шаблоны Баз Данных и других Информационных Объектов.

Для активации Мастера Приложения (Application Wizard): в системном Меню Tools, выберите раздел Wizards, а далее - подраздел Application.

В соответствующем Диалоговом Боксе вы можете определить Наименование и Местоположение нового Приложения (Проекта).

Project name edit box (область редактирования Имени (наименования) Проекта)

Позволяет ввести Имя Проекта, которое будет отображаться в Заголовке системного окна Проекта (менеджера проектов).

Project file edit box (область редактирования имени Файла Проекта)

Позволяет ввести (определить) Имя файла Проекта и место его Размещения.

Browse button (кнопка Просмотр, Бокс Диалогового выбора)

Позволяет найти и выбрать существующий файл Проекта, который будет являться Базисом для Построителя Приложения.

Create project directory structure check box (Флаг Создания Структуры подкаталогов Проекта)

Данный Флаг (переключатель) позволяет вам управлять процессом создания или Нет стандартной структуры вложенных подкаталогов нового Проекта, как это принятов системе Visual FoxPro. Мастер использует стандартный Шаблон структуры создаваемых подкаталогов для всего спектра возможных Элементов Приложения, многие из которых могут вами не использоваться. Если у вас уже создана своя собственная Структура подкаталогов главного каталога Проекта, то вам нет необходимости отмечать (включать) данный Флаг.

Во время уточнения всех необходимых параметров, создания инфраструктуры (или Каркаса) подкаталогов вашего Приложения отображается системное Окно Ожидания. Далее - отображается системное окно Построителя Приложения (Application Builder), в котором вы можете продолжить уточнение Деталей и специфических Характеристик вашего Приложения.

См. также

Описание

Построитель Приложений
Файлы ИнфраСтруктуры Приложения
Объектные Элементы Мастера разработки Приложения

Концепции

Visual FoxPro - как Framework разработки Объекта Приложения

Другие ссылки

Мастера (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Visual FoxPro Framework Application Object

Visual FoxPro 9.0
Базовый объект разработки приложения Visual FoxPro Framework
См. Также

Базовый класс разработки приложений (framework) _application, кроме основных свойств и методов включает пять (5) базовых объектов построения приложения пользователя: cuserror, cusdatasession, cuswindowhandler, custablesort, and custablenav.

Рассматриваемый базовый объект построения пользовательского приложения содержит стандартные методы и свойства, обеспечивающие основные механизмы манипулирования данными, позволяют развивать и усиливать функциональность предложенных методов и составляющих объектов Application Framework данной версии Visual FoxPro. Рассматриваемый объект _application, вместе с вспомогательными объектами размещается в библиотеке классов ...home()\Ffc\ _framewk.vcx.

См. также

Описание

Application, построитель
Составляющие элементы Мастера Application
Application, мастер

Другие ссылки

Мастера системы (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Application Wizard Object Members

Visual FoxPro 9.0
Члены объекта Application Wizard
Смотрите также
CollapseAll image

Когда Application Wizard (Мастер приложения) создает новый проект, он автоматически генерирует для нового приложения две формы - Quick Start (Быстрый страрт) и About (О приложении), которые создаются из классов форм wzQuickStartForm и Wzaboutdialog, определенных в библитеке Appwiz.vcx.

Эти субклассированные формы представляют собой контейнеры для перечисленных ниже объектов.

Члены Wzaboutdialog
Объект | Класс | Описание
cmdOK | CommandButton | Высвобождает форму.
Члены WzQuickStartForm
Объект | Класс | Описание
CmdClose | CommandButton | Закрывает форму QuickStart.
CmdRun | CommandButton | Запускает форму, выбранную в списке форм.
LblForms | Label | Текстовая метка.
LstForms | List Box | Содержит список всех форм, определенных в приложении, генерируется автоматически в событии Init элемента управления listbox. Форма запускается, когда пользователь производит двойной щелчок на ее имени.

Expand image Смотрите также

Справочное руководство

Члены объекта Application Wizard (Мастер приложения)

Концепции

Объект приложения Visual FoxPro Framework

Прочие ресурсы

Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cross-Tab Wizard

Visual FoxPro 9.0
Мастер сводной таблицы (Cross-Tab Wizard)
Смотрите также

Этот мастер создает запрос для суммирования табличных данных в формате широких таблиц. Для краткости изложения Cross-Tab будет оставлен в виде непереведенного термина, вследствие его устоявшегося значения.

Для запуска мастера Cross-Tab

  1. В меню Tools выберите Wizards и щелкните по Query.

  2. В диалоговом окне Wizard Selection (Выбор мастера) выберите Cross-Tab Wizard.

Шаг 1 -Select Fields (Выберите поля)

В этом шаге вы можете вы можете выбрать свободную таблицу или таблицу базы данных в качестве источника для вашей pivot таблицы. Вы можете выбрать поля только из одной таблицы или представления. Для получения более подробной информации смотрите Работа с представлениями.

Чтобы выбрать поля для вашего cross-tab запроса

  1. Используйте комбинированный элемент управления Databases and Tables (Базы данных и таблицы) для поиска и выбора таблиц, которые вы желаете использовать.

  2. В списке Available fields (Доступные поля) выберите три или четыре поля, которые вы желаете использовать из выбранной таблицы и используйте командные кнопки со стрелками для перемещения их в список Selected fields (Выбранные поля).

Вам нужно выбрать по крайней мере три поля; по одному для заголовков строк, колонок и значений данных.

Шаг 2 - Define Layout (Определите раскладку)

В этом шаге вы можете указать, какое поле будет использовано для подсчета данных. Например, если у вас есть таблица заказов, которая содержит среди прочего поле для города, поле для региона и поле, в котором хранится сумма счета, то вы сможете создать pivot таблицу, которая отобразит в области данных сумму для всех городов по региону. Внизу таблицы будет отображаться общая сумма по каждой колонке. В крайне правой колонке, в таблице будут отображены суммы по каждой строке.

Для определения раскладки cross-tab

  1. Из списка Available fields (Доступные поля), перетащите поле в бокс Rows (Строки). Cross-tab запрос будет содержать по строке для каждого уникального значения, хранящегося в поле, которое вы перетащили в бокс Rows (Строки).

  2. Из списка Available fields (Доступные поля), перетащите поле в бокс Columns (Колонки). Cross-tab запрос будет содержать по колонке для каждого уникального значения, хранящегося в поле, которое вы перетащили в бокс Columns (Колонки).

  3. Из списка Available fields (Доступные поля), перетащите поле в бокс Data (Данные). Так как это поле будет суммироваться, обычно в этот бокс нужно перетащить поле, хранящее численные значения.

Если у вас имеется большая таблица, то может быть вы пожелаете сначала создать представление, содержащее требуемые поля, а уже затем создать cross-tab запрос из этого представления.

Шаг 3 - Add Summary Information (Введите дополнительную информацию)

В этом шаге вы можете определить, если вы этого желаете, нужно ли добавить колонку суммарной информации из ваших данных. Для добавления суммарной информации, выберите подходящую вашему случаю радио-кнопку, агрегатных функций Visual FoxPro (Sum, Count, Average, Max или Min) в области Summary (Суммарно). Для выбора колонки для хранения суммарной информации выберите подходящую вашему случаю радио-кнопку (Sum of data (Сумма данных), Number of cells containing data (Число ячеек, содержащие данные) или Percentage of the table total (Процент суммы по таблице) в области Subtotals (Предитоги). Если вы не желаете вводить колонку суммарной информации, выберите радио-кнопку None (Нет) в области Subtotals (Предитоги). Суммы появятся в самой крайней колонке результата исполнения вашего cross-tab запроса.

Шаг 4 - Finish (Завершение)

Этот шаг позволяет вам сохранить и указать использование вашего cross-tab запроса.

Save cross-tab query (Сохранить cross-tab запрос)

Сохранит cross-tab запрос для будущего использования.

Save and run cross-tab query (Сохранить и запустить cross-tab запрос)

Сохранит cross-tab запрос и незамедлительно запустит его.

Save cross-tab query and modify in the Query Designer (Сохранить cross-tab запрос и изменить его в конструкторе запроса)

Сохранит cross-tab запрос и откроет его в конструкторе запросов, для того, чтобы вы смогли его изменить.

Вы можете предварительно просмотреть результат исполнения вашего cross-tab запроса, щелкнув по кнопке Preview (Предпросмотр). Для того, чтобы пустые (null) значения не отображались, снимите метку с чек-бокса Display Null Values (Отображать Null-значения).

В любое время, после сохранения cross-tab запроса, вы можете открыть и изменить его по своему желанию, точно также, как вы можете это сделать с любым другим запросом в дизайнерах запросов и представлений.

Ниже приведен пример результата исполнения запроса на таблице Orders базы данных Testdata, расположенной в каталоге "c:\program files\microsoft visual foxpro 9\samples\data\". Для наглядности изменен алфавитный порядок колонок, а колонка Total перемещена для в видимую часть окна.

Смотрите также

Задачи

Как: создавать запросы (Visual FoxPro)

Справочное руководство

Мастер запроса (Query Wizard)

Прочие ресурсы

Мастера (Visual FoxPro)
Конструкторы запросов и представлений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Database Wizard

Visual FoxPro 9.0
Мастер баз данных
Смотрите также

Мастер баз данных использует заранее определенные шаблоны, чтобы помочь Вам создать базу данных, содержащую соответствующие таблицы.

Visual FoxPro содержит следующие шаблоны.

Note Примечание

С помощью мастера приложений Вы можете создать приложение, использующее эти шаблоны.

Шаблон | Описание
Address Book (Адресная книга) | Включает таблицы для личной адресной книги.
Asset Tracking (Бухгалтерия) | Включает таблицы для хранения информации о доходах и расходах.
Books (Библиотека) | Включает таблицы для хранения информации об авторах и книгах.
Contact (Контакты) | Включает таблицы для хранения информации о контактах и управления ими.
Donation (Пожертвования) | Включает таблицы для организации кампании по сбору средств.
Event Management (Управление событиями) | Включает таблицы для планирования и управления событиями и персоналом.
Expenses (Расходы) | Включает таблицы для хранения информации о служебных расходах и отчетах.
Household Inventory (Опись имущества) | Включает таблицы для хранения информации о домашнем имуществе.
Inventory Control (Управление запасами) | Включает таблицы для организации управления запасами.
Ledger (Главная книга) | Включает таблицы для ведения проводок.
Membership (Членство) | Включает таблицы для хранения информации о членах клуба или т.п.группы.
Music Collection (Фонотека) | Включает таблицы для хранения информации об аудиозаписях.
Order Entry (Прием заказов) | Включает таблицы для хранения информации о принятых заказах.
Picture Library (Фотобиблиотека) | Включает таблицы для хранения информации о фотопленках и фотографиях.
Recipes (Кулинарная книга) | Включает таблицы для хранения информации о кулинарных рецептах.
Resource Scheduling (Управление ресурсами) | Включает таблицы для организации определения, планирования и управления ресурсами.
Service Call Management (Управление заявками) | Включает таблицы для организации заявок на сервисное обслуживание и вызова обслуживающего персонала.
Students and Classes (Студенты и классы) | Включает таблицы для организации учебного процесса.
Time and Billing (Выписка и оплата счетов) | Включает таблицы для организации учета счетов клиентов и сотрудников.
Video Collection (Видеотека) | Включает таблицы для хранения информации об видеозаписях.
Wine List (Карта вин) | Включает таблицы для хранения информации о коллекции вин.
Workout (Физподготовка) | Включает таблицы для организации и управления программой физической подготовки.
Для вызова мастера баз данных

  1. Откройте Visual FoxPro.

  2. В меню Tools выберите пункт Wizards, затем нажмите Database.

Шаг 1 – Выбор базы данных

На этом шаге производится выбор шаблона базы данных из списка Select database. Дополнительная информация о шаблонах приведена в таблице выше. В качестве альтернативы шаблона Visual FoxPro может быть выбран шаблон базы данных Access (.mdb) нажатием кнопки Select. При нажатии на эту кнопку открывается диалоговое окно Open, в котором можно указать местоположение базы данных для использования в качестве шаблона.

Шаг 2 – Выбор таблиц и представлений

На этом шаге производится выбор таблиц и представлений, которые должны быть включены в создаваемую базу данных. Список доступных для отбора таблиц и представлений зависит от выбора шаблона базы данных на предыдущем шаге. Установите флажки для нужных таблиц и представлений.

Шаг 3 – Индексы

На этом шаге определяется, каким образом будут проиндексированы таблицы, выбираются поля первичных ключей.

Для выбора поля, используемого в качестве первичного ключа

  1. В списке Select table выделите нужную таблицу.

  2. В выпадающем списке Primary key выберите нужное поле.

Для создания дополнительных индексов установите флажки в строках соответствующих полей в списке Field Name.

Шаг 4 – Определение отношений

На этом шаге, Вы можете установить или изменить взаимосвязи между таблицами в базе данных.

Чтобы установить отношения между таблицами в базе данных:

  1. В списке Select table выберите таблицу, содержащую нужное поле.

  2. В списке My new X table, где X -имя выбранной таблицы, отметьте отношение, которое нужно создать или изменить и нажмите кнопку Relationships....

  3. В диалоговом окне Relationships с помощью радиокнопок выберите тип отношения, которое Вы хотите создать. Вы можете выбрать ключевое поле или создать новое поле, выбрав в списке доступных полей пункт New field и введя его название в ставшем доступным поле ввода под списком.

  4. Нажмите кнопку OK. Это возвратит Вас в окно Шага 4, где Вы можете определить или изменить следующее отношение из перечисленных в списке My new X table.

Шаг 5 – Завершение

На этом шаге определяются завершающие опции Вашей базы данных:

Save database for later use (Сохранить базу данных для последующего использования) — сохраняет Вашу базу данных.

Save database and modify it in the Database Designer (Сохранить базу данных и изменить ее в конструкторе баз данных) — сохраняет Вашу базу данных и открывает ее в конструкторе баз данных для дальнейшего редактирования.

Populate tables with sample data (Наполнить таблицы данными из шаблона) — таблицы в создаваемой базе данных будут заполнены данными, которые содержатся в выбранном шаблоне.

После того, как мастер сгенерирует базу данных, Вы можете добавить базу данных в окно менеджера проектов, в галерею компонентов или открыть ее в конструкторе баз данных для изменения таблиц и отношений.

Смотрите также

Справочное руководство

Окно менеджера проектов

Понятия

Конструктор баз данных (Visual FoxPro)

Прочие ресурсы

Мастера (Visual FoxPro)
Использование галереи компонентов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Documenting Wizard

Visual FoxPro 9.0
Мастер документирования
Смотреть также

Мастер документирования Форматирует и составляет документацию кода текстовых файлов в ваших проектах и программных файлах. Вы можете использовать эти файлы, при совместном использовании кода или повышения читабельности больших разделов в проектах и программах. Например, мастер может произвести форматирование исходного текста файлов, выделить прописными буквами зарезервированные слова и переменные, и может также произвести отчет о ключевых словах в программе..

Примечание:
По умолчанию мастер не модифицирует существующие файлы.

Вы можете настроить работу мастера Документирования, добавляя некоторые директивы к вашему коду. О том, как проводить дополнительную адаптацию мастера документирования, см. раздел Настройка мастера документирования..

Получить доступ к Мастеру Документирования можно через меню Tools, выберите Wizards, и нажмите Documenting.

Этап 1 - Исходный файл

Вы можете ввести имя файла проекта или имя конкретной программы. Если Вы выбрали файл проекта, мастера Документирования обработает все программные файлы в вашем проекте, включая код событий форм, код библиотек классов, и так далее.

Этап 2 - Прописные буквы

На этом этапе, Вы выбираете должен ли Мастер Документирования преобразовать написание ключевых слов и символов прописными буквами в текстовх файлах вашего кода. Ключевые слова это все зарезервированные слова языка программирования Visual FoxPro. Под символами понимаются переменные и имена, которые вы определяете в своем коде. Преобразование букв в прописные облегчает возможность читать и идентифицировать элементы в вашем коде. Варианты преобразования букв в прописные:

UPPERCASE

Все буквы в ключевых словах и символах отображаются прописными.
lowercase

Все буквы в ключевые слова и символы отображаются в нижнем регистре.
MixedCase

Первая буква каждого слова ключевого слова отображается прописными буквами, например, AddObject.
Match first occurrence

Отображает символы согласно преобразованию букв в прописные первого использования в файле. Например, если Вы применяете начальную заглавную букву при первом использовании в файле, все следующие возникновения этих ключевых слов будут отображены также, независимо от того как они могли бы быть напечатаны в последующем.
No change

Ключевые слова и символы не изменяются.

Этап 3 - Отступы

На этом этапе, Вы определяете, как Мастер Документирования выровняет строки в текстовом файле вашего кода. Мастер может выровнять определенные типы строк, и Вы можете корректировать сколько пробелов, использовать при выравнивании. Функционально, в коде, нет никакого различия между пробелами или позициями табуляции. Выравнивание облегчает возможность читабельность и понимание вашего кода.

Type of Indent

Выберите, должен ли мастер для форматирования использовать символы табуляции или пробелы. Для отключения выравнивания, выберите No Change. Если Вы выбираете Spaces, то Вы должны задать количество пробелов, которые будут использыватся. Если Вы выбираете Tabs, то Мастер Документирования использует текущую установку позиции табуляции Visual FoxPro.
Text to indent

Определите тип строки, которую мастер должен выровнять. Ваши выбор - Комментарии, Условные переходы ( циклs, блоки IF, и DO CASE СТРУКТУРЫ), и Строки продолженные точкой с запятой (инструкции, которые разбиты поперек множественных строк).

Этап 4 - Заголовки

На этом этапе, Вы определяете, где, если Вы вообще хотите, чтобы мастер Документации вставил заголовки в текст файла вашего кода. Заголовки это комментарии по поводу кода, предшествующие характеризуемому ими коду. Их можно помещать в начало файлов, процедур, определений классов и методов; их предназначение облегчить процесс чтения форматированного кода.

Этап 5 - Отчеты

На этом этапе, Вы определяете типы сообщений, которые Мастер Документирования создаст. Отчеты, создаваемые мастером, по сути представляют собой текстовые файлы. Отчеты бывают следующих типов:

Тип отчета | Имя файла | Примечания
Action Diagram (диаграмма действий) | project.act | Показывает иерархические отношения внутри кода. Если вы не работаете с кодовой страницей 1250 набора ASCII и кодовой страницей 1252 набора ANSI, см. описание директивы "*# document ACTIONCHARS" in в разделе Настройка мастера документирования.
Cross-Reference (перекрестные ссылки) | Xref.lst | Содержит список всех символов, определенных пользователем.
File Listing (перечень файлов) | Files.lst | Содержит список всех файлов, входящих в проект.
Source Code Listing (исходный код) | project.lst | Помещает весь отформатированный код в один файл.
Tree Diagram (диаграмма дерева) | Tree.lst | Показывает дерево вызова процедур.

Кроме того, мастер автоматически создает следующие файлы:

  • Files.dbf Таблица, в которой каждая запись соответствует одному из файлов, входящих в проект.

  • Fdxref.dbf Таблица, в которой каждая запись соответствует одному экземпляру пользовательских символов (как перечислено в следующей таблице) в коде. Эта таблица позволяет Вам видеть, каким элементом Visual FoxPro представлен каждым символом.

Примечание:
Таблица FDXREF.DBF содержит поле Flag, идентифицирующее ключевые слова. Используются следующие идентификаторы:

Flag | Описание
B | базовый класс
C | Имя класса
D | Определенная ПРОЦЕДУРА или ФУНКЦИЯ (не метод)
F | Вызов функции: myproc( ) или DO myproc
K | ключевое слово
M | определение метода
N | Имя файла
O | Объект
P | Свойство объекта
R | Ссылка на пользовательский символ
V | Определение пользовательского символа (переменной): (PARA, PRIV, PUBL, DIME)

Этап 6 - Завершение

На этом этапе, Вы можете определить местоположение и структуру, которая содержит ваш документ кода. Вы также можете определить, перезаписать ли текущим документом все предыдущие документы.

По умолчанию мастер не перезаписывает существующие файлы. Если вы хотите записать новые файлы кода, сохраняемые мастером, поверх старых файлов, выберите опцию Overwrite Existing Files.

Если вы выбрали опцию Place Files In A Single Directory, а затем нажали кнопку Finish, мастер предложит вам выбрать единый каталог, где он будет сохранять все создаваемые им файлы.

Если вы выбрали опцию Place Files In A New Directory Tree и затем нажали Finish, мастер попросит выбрать каталог, в котором он создаст копию исходного дерева проекта и сохранит новые, отформатированные файлы программ в соответствующих подкаталогах нового дерева

Когда вы выбираете опцию Cross-Reference Keywords, мастер добавит в таблицу FDXREF.DBF записи для каждого экземпляра ключевых слов Visual FoxPro в вашем коде. В зависимости от размера кода, данная опция может привести к резкому увеличению объема файла FDXREF.DBF. Если эта опция выбрана, мастер сравнивает ключевые слова кода с первым полем файла FDKEYWRD.DBF под именем Token. Второй столбец в файле FDKEYWRD.DBF, носящий имя Code, содержит идентификатор, по которому мастер определяет, как ему трактовать данное ключевое слово во время анализа кода. В следующей таблице приведены коды идентификаторов.

Кроме того, когда эта опция выбрана, мастер сопоставит ключевое слово в вашем коде с первым полем, именем Token, в файле Fdkeywrd.dbf. Этот файл можно найти в ..\Wizards папке корневого каталога Visual FoxPro и он все зарезервированные слова Visual FoxPro. Второй столбец в файле FDKEYWRD.DBF, носящий имя Code, содержит идентификатор, по которому мастер определяет, как ему трактовать данное ключевое слово во время анализа кода. В следующей таблице приведены коды идентификаторов.

Код | Описание
I | Отступ
U | Выступ (снятие отступа)
R | Установка отступа равным 0 (или 1 если в DefineClass)
F | Процедура или функция
D | While или Case: предложение команды DO
O | Объект (Spinner, CommandButton)
P | Свойство (Scalemode, DecimalPoints)
M | Метод (Init, KeyPress)
C | Предложение, используемое именно как предложение: не может начинать оператор
Примечание:
В зависимости от размера вашего кода, эта опция может увеличить количество записей в Fdxref.dbf . Перед выполнением мастера и выбора опции, для создания перекрестных ссылок ключевых слов, убедитесь, что Вы имеете достаточное дисковое пространство.

Когда Вы выбираете Run analyzer, мастер вызывает старт Анализатора кода Visual FoxPro, который динамически прослеживает структуру и символы в файлах приложения Visual FoxPro. Анализатор кода обеспечивает визуальный контроль, меню, и клавиатурные опции, для перемещения по текстовым файлам вашего приложения кода файла, используя вывод от мастера Документирования.

Смотреть также

Другие ресурсы

Customizing Documenting Wizard Output
Wizards Overview
Code Analyzer

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Customizing Documenting Wizard Output

Visual FoxPro 9.0
Настройка вывода мастера документирования - Documenting wizard
Смотрите также

В дополнение к опциям, которые вы можете выбрать при запуске мастера документирования (Documenting wizard), вы можете использовать дополнительные опции вне мастера, изменив таблицу Fdkeywrd.dbf , которая содержит зарезервированные слова Visual FoxPro, размещенную в каталоге ...\Wizards или добавлением директив мастера в ваш код.

Изменение таблицы Fdkeywrd.dbf

Вы можете изменить стиль отступа для структуры CASE изменением значения поля Code в Fdkeywrd.dbf. По умолчанию, мастер ищет стиль отступа в структуре CASE подобно приведенному ниже:

CopyCode image Скопировать код
DO CASE
CASE case1=1
   case2=2
CASE case3=3
   case4=4
ENDCASE

Некоторые разработчики предпочитают делать отступ для строк между DO CASE и ENDCASE на допольнительный уровень, подобно приведенному ниже:

CopyCode image Скопировать код
DO CASE
   CASE case1=1
      case2=2
   CASE case3=3
      case4=4
ENDCASE

Если вы предпочитаете второй способ для ваших структур CASE, укажите это в Fdkeywrd.dbf.

Для указания полностью вложенных отступов в командах DO CASE

  1. Найдите файл Fdkeywrd.dbf в каталоге ...\Wizards корневого каталога Visual FoxPro.

  2. Откройте таблицу Fdkeywrd.dbf.

  3. Найдите запись ENDCASE.

  4. Изменение значения в поле Code на UU.

Добавление директив мастера

Вы можете разместить в вашем коде специальные директивы, которые указывают мастеру документирования, как выполнять конкретные задачи при анализе кода. Ниже перечислены доступные директивы мастера:

ACTIONCHARS

Определяет символы, используемые для создания действия или дерева диаграмм в вашем коде. Вы можете пожелать изменить установки по умолчанию, если кодовая страница отличается от ASCII 1250 или ANSI 1252 в FoxFont с целью получения ожидаемых символов.

EXPANDKEYWORDS

Определяет - будет ли активным расширение ключевых слов в мастере документирования. Значением по умолчанию является OFF, что оставляет ключевые слова в том виде, в котором они напечатаны вами. Если вы используете в вашем коде четырех-символьные сокращения, вы можете пожелать, чтобы ваш код был более разбираем; для чего установите эту установку в ON.

XREFKEYWORDS

Определяет - будет ли мастер создавать файл, в котором будут покащаны все ключевые слова и их позиция в документе кода. Такой файл содержит имена ключевых слов, тип ключевого слова (в соответствии с таблицей Fdxref.dbf , так как это описано в шаге 5 мастера), строку кода, в которой слово найдено и имя файла, который его содержит. По умолчанию установлено в ON.

ARRAYBRACKETS

Определяет - будут ли круглые и квадратные скобки рассматриваться как разные. По умолчанию установлено в ON, что означает, что квадратные скобки рассматриваются как разделители массивов, а круглые - как разделители методов и функций.

ACTIONINDENTLENGTH

Определяет число пробелов, которые мастер использует для отступа в дереве или диаграмме действий. Минимально допускаются два пробеле. Функционально, в коде, нет различий между символвами пробела и табуляции. Отступы позволяют легче читать и понимать ваш код.

Вы можете поместить директивы мастера в главном программном файле вашего проекта (для управления мастером при анализе всех файлов с кодом в вашем проекте) или в индивидуальных программных файлах (для указания мастеру - как надо анализировать конкретные файлы).

Синтаксис директив начинается со звездочки для того, чтобы Visual FoxPro рассматривал их как комментарий и игнорировал их во время компиляции програм. Директивы не являются регистро-чувствительными. Примерный синтаксис директив приведен ниже:

CopyCode image Скопировать код
*# document directive

Для согласованности по всему вашему коду, в качестве неплохой представляется идея поместить директивы недалеко от начала главного програмного файла с тем, чтобы мастер нашел эти инструкции в начале анализа.

Директивы мастера описаны ниже.

*# document ACTIONCHARS " abcdef"

По умолчанию, когда мастер создает Action Diagram (Диаграмму действий) или Tree Diagram (Дерево действий), то он использует шесть символов, которые появляются как линии с прямыми углами, при просмотре в кодовой странице ASCII 1250 или ANSI 1252 в шрифте FoxFont. Не все символы размечаются в символы линии, когда просмотр диаграмм осуществляется в других кодовых страницах. Шесть символов, используемых по умолчанию и соответствующие им символы шрифта FoxFont перечислены нижк как a, b, c, d, e и f.

abcdef Значение по умолчанию в виде функции Chr( ) Как это будет отражено в FoxFont

a

32

(пробел)

b

196

 FoxProHorzLine screenshot

c

179

 FoxProVerticalLine screenshot

d

218

 FoxPro90DegreeTurnLine screenshot

e

192

 FoxPro90DegreeTurnLine2 screenshot

f

195

 FoxProTsectionLine screenshot
Note Совет

При использовании других кодовых страниц, вставьте приведенный ниже код в вашу главную программу для гаранти, что линии в ваших картах диаграмм будут выглядеть именно так, как требуется (первый символ в строке, заключенный в скобки предствляет собой пробел):

CopyCode image Скопировать код
*# document ACTIONCHARS " -|+++"
Note Замечание

Для просмотра списка поддерживаемых кодовых страниц обратитесь к описанию Кодовые страницы, поддерживаемые Visual FoxPro.

*# document XREF cMode

Разрешает перекрестные ссылки переменных. По умолчанию установлено в ON.

cMode Описание

ON

Разрешает кросс-ссылки переменных

OFF

Запрещает кросс-ссылки переменных

SUSPEND

апрешает кросс-ссылки переменных в текущем файле до тех пор, пока мастер документирования не встретит в файле следующее предложение:

*# document XREF ON
*# document EXPANDKEYWORDS cMode

Разрешает расширение сокращенных ключевых слов в вашем коде. Например, "DEFI WIND" будет расширено до "DEFINE WINDOW." По умолчанию установлено в OFF.

Caution note Предупреждение

Не все ключевые слова в Visual FoxPro начинаются с уникальной строки в четыре символа. Например, "REPL" может быть сокращением для "REPLACE" или "REPLICATE." Будьте внимательны, если вы включили в код эту директиву и выбрали возможность переписи существующих файлов.

cMode Описание

ON

Разрешает расширение ключевых слов

OFF

Запрещает расширение ключевых слов

SUSPEND

Запрещает расширение ключевых слов в текущем файле до тех пор, пока мастер документирования не встретит в файле следующее предложение:

*# document EXPANDKEYWORDS ON
*# document XREFKEYWORDS cMode

Эта директива соответствует опции Cross-Reference Keywords в шаге 6 – "Finish" мастера документирования. По умолчанию установлено в OFF.

cMode Описание

ON

Разрешает перекрестные ссылки ключевых слов

OFF

Запрещает перекрестные ссылки ключевых слов

SUSPEND

Запрещает перекрестные ссылки ключевых словдо тех пор, пока мастер документирования не встретит в файле следующее предложение:

*# document XREFKEYWORDS ON
*# document ARRAYBRACKETS cMode

По умолчанию установлено в OFF.

cMode Описание

ON

Мастер документирования считает, что квадратные скобки используются для массивов, а круглые для функций и методов.

OFF

Мастер документирования считает, что оба типа скобок предназначены для массивов.
*# document ACTIONINDENTLENGTH nSpace

nSpace представляет собой число пробелов, которое должен использовать по вашему желанию мастер документирования для отступов. Минимально допустимым значением является 2.

Смотрите также

Справочное руководство

Мастер документирования (Documenting Wizard(
Кодовые страницы, поддерживаемые Visual FoxPro

Прочие ресурсы

Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Form Wizard

Visual FoxPro 9.0
Мастер создания форм
Смотрите также

Мастер форм создает форму для ввода данных из таблицы. Мастер автоматически наполнит форму всеми полями таблицы, которые могут быть, при необходимости, перестроены, удалены и т.п. Размеры формы устанавливаются в соответствии с установкой Maximum design area на вкладке Forms диалогового окна Options. Соответствие элементов управления, в которых отображается содержимое полей, в зависимости от типа данных устанавливается на вкладке Field mapping диалогового окна Options вызываемого в пункте Tools главного меню. Если мастер форм открыт, его вызов недоступен.

Для вызова мастера форм

  1. В пункте Tools главного меню выберите строку Wizards, затем нажмите Form.

  2. В диалоговом окне Wizard Selection выберите Form Wizard.

Если Вы создаете форму в пределах базы данных, мастер форм может использовать маску ввода и параметры форматирования, сохраненные в базе данных. После сохранения форма, созданная с использованием мастера, может быть открыта и изменена в конструкторе форм, как и любая другая форма.

Шаг 1 - Выбор полей

На этом шаге Вы можете выбрать свободную таблицу или таблицу, принадлежащую базе данных в качестве источника данных для Вашей формы. Вы можете выбирать поля только из одной таблицы или одного представления.

Чтобы выбрать поля для Вашей формы:

  1. Используйте группу элементов управления под заголовком Databases and Tables для указания местонахождения и выбора нужной таблицы.

  2. Выберите нужные поля в окне Available fields и, используя кнопки со стрелками, переместите их в окно Selected fields.

Шаг 2 - Определение стиля формы

На этом шаге определяется, как будут выглядеть элементы управления на Вашей форме. Если щелкнуть какой-либо из стилей, приведенных в списке Style, мастер покажет пример этого стиля на рисунке в увеличительном стекле.

Группа опций Button Type определяет кнопки навигации для вашей формы.

Text Buttons

Помещает на кнопках Вашей формы навигационные надписи.

Picture buttons

Помещает на кнопках Вашей формы навигационные пиктограммы.

No buttons

Кнопки навигации не размещаются на форме, что предотвращает перемещение по таблице и в элементах управления отображаются только текущие данные.

Custom

Позволяет выбрать один и двух типов прокрутки окна, в котором будут отображаться данные:

  • Scrolling grid - отображаются поля только одной записи.

  • Scrolling grid (justified) – отображаются поля нескольких записей, насколько позволяет размер окна.

Мастер может создать в форме следующие кнопки навигации:

Кнопка | Пиктограмма | Описание
Top |  | Перемещает указатель записи на первую запись.
Prev |  | Перемещает указатель записи на одну запись назад.
Next |  | Перемещает указатель записи на одну запись вперед.
Bottom |  | Перемещает указатель записи на последнюю запись.
Find |  | Открывает диалоговое окно поиска.
Print |  | Распечатывает отчет.
Add |  | Добавляет в конец таблицы новую запись.
Edit |  | Разрешает пользователю изменять значения в текущей записи.
Delete |  | Удаляет текущую запись.
Exit |  | Закрывает форму.
Note Примечание

После того как мастер сохранит форму, вы можете добавить в нее новые поля с теми же стилями, выбрав команду Quick Form из меню Form.

Все элементы управления, созданные мастером форм и построителем форм, находятся в каталоге \Wizards в файле Wizstyle.vcx. Если Вы хотите модифицировать стили, измените классы в этом файле, используя конструктор классов.

Шаг 3 - Сортировка записей

Выберите поля в том порядке, в каком вы хотите сортировать записи в пределах каждой группы. Например, если имеется два поля: имя и фамилия, то можно установить упорядочение по имя+фамилия (PaulWilson) или фамилия+имя (WilsonPaul). Порядок сортировки устанавливается в соответствии с порядком выбора полей.

Если Ваша таблица уже имеет один или более индексов, Вы можете выбрать один из тэгов, которые перечисляются под разделителем ниже списка полей в окне Available fields or index tag.

Шаг 4 - Завершение

Если на предыдущих шагах выбрано много полей, и Вы хотите быть уверены, что форма будет иметь достаточный размер для их отображения, пометьте опцию Add pages for fields that do not fit. В противном случае, если размеры формы недостаточно велики, чтобы все элементы управления, отображающие содержимое выбранных полей, были видимы одновременно, Visual FoxPro обеспечивает прокрутку на форме.

Вы можете принять соответствие элементов управления, в которых отображается содержимое полей, в зависимости от типа данных заданное на вкладке Field mapping диалогового окна Options, вызываемого в пункте Tools главного меню или переопределить эти установки информацией в базе данных. Для предварительного просмотра формы перед выходом из мастера форм, нажмите кнопку Preview.

Сохранив форму, вы сможете позднее открыть и модифицировать ее в конструкторе форм, как любую другую форму.

Смотрите также

Справочное руководство

Вкладка Forms диалогового окна Options
Конструктор форм

Прочие ресурсы

Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Graph Wizard

Visual FoxPro 9.0
Мастер графика - Graph Wizard
Смотрите также

Мастер графика - Graph wizard - создает график из таблицы Visual FoxPro с помощью Microsoft Graph. Вы сможете использовать разные виды графиков для визуального отображения или оценки данных, содержащихся в больщой таблице или вывести график в отчет.

Чем больше размер таблицы, тем больше времени потребуется мастеру для обработки вашего графика. Вы можете решить ограничить число записей большой таблицы, которые будут использоваться для отображения в графике, с помощью создания представления. В таком случае вы должны это сделать до запуска мастера графика. Для получения более подробной информации смотрите описание задачи Как: создавать запросы.

Для того, чтобы обратиться к мастеру

  1. Из меню Tools выберите Wizards (Мастера) и, затем, щелкните по Query.

  2. В диалоговом окне Wizard Selection (Выбор мастера) выберите Graph Wizard (Мастер графика).

Шаг 1 – Select Fields (Выберите поля)

В этом шаге вы можете выбрать либо свободные таблицы или таблицы базы данных, которые будут служить источником для вашего графика. Вы можете выбрать поля только из единичной таблицы или представления. Этот выбор должен включать в себя по крайней мере одно численное поле.

Чтобы выбрать поля для вашего графика

  1. Используйте элементы управления Databases and Tables (Базы данных и таблицы) для поиска и выбора таблиц или представлений, которые вы желаете использовать.

  2. В списке Available fields (Доступные поля) выберите одно или более полей из выбранной таблицы и используйте кнопку со стрелкой для перемещения выбранного поля или полей в список Selected fields (Выбранные поля).

    Note Замечание

    Если вы в этом шаге выберите поле типа general или содержащее объект автоматизации, то поле этого типа не будет доступно в следующем шаге, в котором определяется раскладка графика.

Шаг 2 – Define Layout (Определите раскладку)

В этом шаге, вы указываете, какие численные поля будут выводиться в график и какое поле предоставит деление, по которому будут отображаться значения. Перетащите одно или более доступных полей из окна Available fields (Доступные поля) в окно Data series (Серии данных). Перетащите другое поле из окна Available fields (Доступные поля) в бокс Axis (Ось) под картинкой графика. Например, в таблице, содержащей зрплаты в виде чистенного поля, вы можете выбрать поле зарплат и имя или поле региона, для которого будет выводиться график.

Шаг 3 - Select Graph Style (Выберите стиль графика)

В этом шаге, вы выбираете стиль графика, который наиболее эффективно представит информацию. Каждый стиль выводит данные в свойственной ему манере. Посмотрите на картинки на командных кнопках, чтобы выбрать наиболее подходящий вам стиль. Ниже сведены доступные типы графиков:

Area and 3D area

Указывает относительную значимость значений за период времени и скорее подчеркивает количество изменений, чем уровень изменений.

Bar and 3D bar

Указывает значения отдельных элементов относительно других. Это похоже на колоночный график но размещен вертикально.

Column and 3D column

Указывает вариации за период времени или рисует сравнение между конкретными элементами. Горизонтальный массив колонок подсказывает о течении времени более явно, чем полосковый график.

Pie and 3D pie

Указывает отношения и пропорции частей целого. Этот тип графика всегда содержит только одну серию данных.

Line and ribbon (3D line)

Указывает направление или изменения в даных за период времени. Это похоже на график первого из рассматриваемых стилей, но скорее подчеркивает течение времени и уровень изменений, нежели колтчество изменений.

Scatter (XY)

Указывает отношение или угол отношений между численными значениями в различных группах данных. Этот тип графика полезен для определения шаблона или направлений и для определения - зависят ли переменные одна от другой или нет.

Шаг 4 - Finish (Завершение)

В этом шаге, вы указываете способ вывода графика, а также определяете - будет ли отображаться имя выбранного численного поля и null-значения. Вы можете сохранить график в форму, вы можете использовать график в отчете, сохранив график в таблице и, наконец, вы можете создать запрос, который сгенерирует график.

Saving to a Form (Сохранить в форму)

Если вы выберите сохранение графика в форму, мастер создаст форму, содержащую график и, при необходимости, но не обязательно, легенду отображаемого значения (значений).

Saving to a Table (Сохранить в таблицу)

Если вы выберите сохранение графика в таблицу, мастер создаст таблицу и единичной записью содержащей поле General, которое будет хранить объект автоматизации (Automation object) для вашего графика. Затем вы можете включить это поле в отчет. После того, как мастер завершит работу, он оставит таблицу открытой. Для просмотра графика, просмотрите таблицу в окне Browse и выполните двойной щелчок по полю Olegraph.

Creating a Query (Создать запрос)

Если вы выберите создание запроса, мастер сохранит запрос, который посылает свои результаты графику, указанному вами. После того, как мастер сохранить запрос, Вы можете открыть его в конструкторе запроса для редактирования.

Опция "Show null values" - "Показывать null-значения"

Определяет, что график представляет любые null-значения наравне с положительными и отрицательными значениями. Например, это может быть важно для вашей презентации для указания того, что в конкретные дни или с конкретными клиентами ничего не происходило.

Опция "Add a legend to the graph" - "Добавить в график легенду"

Определяет, что в график будет включена легенда наименований отображаемых в графике значений. Это поможет сделать ваш график и его данные более понятными.

Командная кнопка "Preview" - "Предпросмотр"

Предоставляет вам возможность увидеть график до его сохранения в форму, таблицу или файл запроса.

Смотрите также

Задачи

Как: запускать запросы (Visual FoxPro)
Как: создавать запросы (Visual FoxPro)

Справочное руководство

Мастер сводной таблицы - Cross-Tab Wizard
Мастер локального представления - Local View Wizard
Мастер запроса - Query Wizard
Мастер удаленного представления - Remote View Wizard

Прочие ресурсы

Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Import Wizard

Visual FoxPro 9.0
Import Wizard
Смотрите также

Вы можете использовать мастер импорта(Import wizard) для перемещения данных в файлы таблиц Visual FoxPro (.dbf) из файлов других форматов, таких как файлов обычного текса, файлов Microsoft Excel или Word, а также других файлов. Например, у вас может быть список имен и адресов в файле Word, которые вы могли бы более легко и эффективнее использовать, если они были бы в таблице Visual FoxPro.

Для доступа к мастеру импорта (Import wizard)

  • Из меню Tools (Инструменты) выберите Wizards (Мастера) и щелкните по Import (Импорт).

Step 1 – Identify Data (Шаг 1 - Идентифицируйте данные)

В этом шаге вы определяете тип и размещение данных, которые вы желаете импортировать.

Выпадающий список File Type (Тип файла)

Предоставляет список известных типов файлов, из которого вы можете выбрать требуемый.

Бокс редактирования Source File (Исходных файл)

Предоставляет вам возможность выбрать или указать имя файла и его размещение. Если вы не знаете точно имя и размещение файла, вы можете использовать кнопку Locate (Искать) для поиска файла.

Радио-кнопка New table (Новая таблица)

Когда вы укажите имя файла, в который будет осуществляться импорт, а также его расмещение, мастер предложит вам создать новую таблицу в том же самом каталоге. Бокс редактирования предоставляет вам возможность указать другое имя или размещение файла в который будет осуществляться импорт. Вы можете использовать кнопку Locate (Искать) для указания другого нового файла и его размещения.

Радио-кнопка Existing table (Существующая таблица)

Если вы выберите эту радио-кнопку, бокс редактирования позволит вас указать имя и размещение существующего файла. Если вы не знаете точно, где файл находится, вы можете использовать кнопку Locate (Искать) для поиска файла.

Step 1a – Select a Database (Шаг 1а - Выберите базу данных)

В этом шаге вы можете указать базу данных, в которую будет добавлена таблица. Кромек того, вы можете решить импортировать данные в самостоятельную, свободную таблицу. Если вы выберите базу данных, то у вас появится возможность использовать расширения, такие как опции автоматического и настраиваемого форматирования. Для получения более подробной информации о расширениях в базах данных смотрите описание Создание базы данных

Step 2 – Determine Data Format (Шаг 2 - Определите формат данных)

В этом шаге вы определяете форма и размещение данных, которые вы желаете импортировать. Вы можете указать - как будут отформатированы импортируемые данные — с символами разделителей между полями (или колонками и строками) или без, или как одна колонка фиксированной длины. Кроме того, вы можете указать с какого места в файле начать импорт данных.

Delimited (Разделенные)

Определяет, что поля в файле разделены символами разделителей, таких как запятая (,) или точка с запятой (;).

Fixed Width (Фиксированной ширины)

Определяет, что поля в файле разделены по колонкам.

Field names in row (Имена поле в строке)

Позволяет вам указать строку в импортируемых данных, которая содержит имена полей. Например, если первая строка импортируемых данных содержит нужные имена полей, то установите Field names in row в 1. Если, однако, имена полей не являются частью импортируемых данных, тогда в шаге 3 вы можете указать имена полей для новой таблицы.

Мастер импорта автоматически замещает пробелы знаками подчеркивания и уменьшает длину имен полей так, чтобы они вместились максимум в 10 символов.

Begin import at row (Начать импорт со строки)

Позволяет вам указать начальную строку в файле, из которого производится импорт данных. Эта опция позволяет вас избежать импорта заголовков в качестве данных.

Если вы импортируете рабочий лист из Microsoft Excel, то в этом шаге будет выведено краткое сообщение о проверке файла на наличие рабочих листов и у вас появится возможность выбора рабочего листа из выпадающего списка доступных листов рабочей книги.

Если вы выберите из списка рабочих листов книги Microsoft Excel чистый лист, то Visual FoxPro выведет предупреждение, что лист не содержит полей, которые могут быть импортированы.

Step 2a – Describe Data or Set Columns (Шаг 2а - Опишите данные или установите колонки)

Шаг 2a мастера импорта появляется только в том случае, когда вы желаете импортировать данные из текстового файла (.txt). В зависимости от того, как вы выбрали формат данных в шаге 2, вы получите одну опцию из двух возможных в 2a: Describe Data (Опишите данные) или Set Columns (Установите колонки).

Describe Data (Опишите данные)

Этот шаг появляется в виде Describe Data, если вы выбрали в шаге 2 в качестве формата данных Delimited. Выберите разделитель, который отделяет поля текстовых строк в выбранном файле. Вы можете увидеть воздействие вашей выборки в полях решетки, которая появляется внизу окна этого шага мастера импорта.

Set Columns (Установите колонки)

Этот шаг появляется в виде Set Columns, если вы выбрали в шаге 2 в качестве формата данных Fixed Width. Вы можете использовать решетку, которая появляется внизу окна этого шага мастера импорта для указания колонок путем щелчка в отображаемых данных для деления строки на отдельные поля.

Step 3 - Define Imported Fields (Определите импортируемые поля)

В этом шаге вы указываете имена колонок в таблице, тип данных колонок и их ширину. Щелкните под существующим заголовком колонки в решетке Field и отредактируйте информацию, перечисленную в Name, Type, Width и Decimal.

Если вы не желаете импортировать какую-то конкретную колонку, щелкните под существующим заголовком, а затем нажмите DELETE. Место для колонки в решетке останется видимым (но без заголовка колонки), но когда вы завершите работу с мастером и импортируете данные, то эта колонка будет пропущена.

Worksheet (Рабочий лист)

Указывает имя рабочего листа, если вы импортируете рабочую книгу Excel. (Ни разу не удалось увидеть подобного - смотри рисунок ниже:)

Решетка с полями

Для текстового файла, эта решетка, отображаемая внизу диалогового окна мастера, покажет номер записи и данные, найденные в файле. Для других типов файлов, она отобразить данные точно в таком виде, в каком они появятся в таблице после завершения работы мастера импорта.

Step 3a – Specify International Options (Укажите параметры интернационализации)

В этом шаге вы можете указать альтернативные установки для интернационализации данных, импортируемых в таблицу. Вы можете изменить кодовую страницу, символы, определяющие валюту, 1000 разделитель, десятичный разделитель и формат даты.

Code Page (Кнопка кодовой страницы)

Эта опция позволяет вам выбрать другую, поддерживаемую Visual FoxPro кодовую страницу.

Currency Symbol (Бокс редактирования символа валюты)

Эта опция позволяет вам переписать символы валюты, используемой по умолчанию при создании файла таблицы с помощью этого мастера.

1000 Separator (Бокс редактирования разделителя тысяч в числах)
Эта опция позволяет вам переписать символ разделителя тысяч, используемый по умолчанию при создании файла таблицы с помощью этого мастера.
Decimal Separator (Десятичный разделитель)
Эта опция позволяет вам переписать символ десятичного разделителя, используемый по умолчанию при создании файла таблицы с помощью этого мастера.
Date Format (Формат даты)

Эта опция позволяет вам выбрать один из форматов даты, поддерживаемый Visual FoxPro. Для получения более подробной информации смотрите описание свойства Dateformat.

Смотрите также

Задачи

Как: импортировать данные с помошью мастера импорта

Справочное руководство

Мастер диаграмм - Graph Wizard
Свойство DateFormat

Прочие ресурсы

Мастера - Wizards (Visual FoxPro)
Импорт и экспорт данных
Разработка международных приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Label Wizard

Visual FoxPro 9.0
Мастер Этикеток
Смотрите Также

С помощью Мастера Этикеток вы можете создать краткие Сообщения (Открытки) различного назначения или по заказу Клиента. Созадаемые Этикетки создаются на основе информации, хранящейся в некоторой Таблице. Дополнительную информацию по запуску Мастера Этикеток (Label Wizard) сморите раздел: Как: Создавать Этикетки (Labels).

Шаг 1 – Выбор Таблиц

На данном этапе, вы выбираете (определяете) Таблицы данных или Представления, которые являются источниками данных для создаваемых Этикеток. Если вы используете в качестве Источника данных Таблицу, тогды вы можете брать любое Поле из этой Таблицы, которое вставляется в Этикетку. При использовании в качестве Источника данных для Этикетки некоторого Представления, подбор Полей и Записей зависит от характеристик построения выбранного Представления.

Шаг 2 - Подбор Типа Этикетки

На данном Этапе, вы выполняете подбор типа Этикетки, стандартный или другой, пользовательский, по представленному Шаблону; который зависит от Размера, набору Полей из Таблиц, фильтра для Записей.

Списки Типов Мастера Этикеток определяются установленными наборами системы Visual FoxPro. Для добавления новых типов Этикеток можно воспользоваться стандартным Приложением AddLabel, которое размещается в системном подкаталоге: \Tools.

Другим способом добавления Типа Этикетки в списки Мастера является командная кнопка <New Label>. Дополнительную информацию смотрите в Как: Добавить Описание шаблона Этикетки при помощи Addlabel.app.

Шаг 3 – Определение Характеристик

На данном Этапе, вы выбираете требуемые Поля из указанных Таблиц и задаете специфические характеристики, шрифт, и другие требуемые параметры для данных элементов Этикетки.

Добавление Полей выполняется в том порядке, в каком данные элементы будут обрабатываться. Вы можете использовать знаки пунктуации (запятые, точку-с-запятой, двоеточие, или дэфис), новую строку, или кнопку Space - для определения дополнительных характеристик Элемента Этикетки. Для ввода обычного Текста - рекомендуется использовать соответствующий Контрол Text Box. Вы можете использовать кнопку Font - для изменения Шрифта текущего Элемента Этикетки.

Когда вы добавляете в качестве Элемента Этикетки некоторую Картинку (графический объект), в системном окне Мастера отображается предполагаемое место для выбранного Элемента. Вам нужно проверить, как данная картинка согласуется с имеющимися текстовыми Элементами и Полями в текущей Полосе Этикетки. Размеры Полосы Отчета должны быть достаточными для размещения требуемого Графического Объекта.

Шаг 4 – Сортировка Заисей

На данном Этапе, вы можете определить порядок обработки Записей Источника данных Этикетки (Таблицы). Например, если представленный набор содержит Почтовые Адреса, тогда вы можете подготовку Сортировки: по Городу, по Региону, по почтовому Индексу. Тем не менее, если указанные аттрибуты сортировки отсутствуют, то можно выполнить сортировку по именам Получателей.

Если требуется, выберите нужное Поле сортировки, или индексных Тэг, согласно которых будет выполняться обработка Записей Набора Данных (Источника).

Шаг 5 - Завершение

На завершающем Этапе, вы можете выбрать вариант сохранения созданной Этикетки. Вы можете сохранить Этикетку для дальнейшего использования; вы можете сохранить Этикетку и продолжить ее редактирование в Дизайнере Этикеток, данный способ может быть использован как создание Базовой Этикетки, на основе которой содаются другие Этикетки; вы также можете Распечатать построенную Этикетку стандартными средствами Visual FoxPro.

Вы можете выбрать режим Preview - для предварительного Просмотра получаемых Результатов, а после этого Завершить работу.

См. также

Другие ссылки

Мастера (Visual FoxPro)
Работа с Таблицами (Visual FoxPro)
Работа с Отчетами

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: @Илья_Ш.


Local View Wizard

Visual FoxPro 9.0
Мастер локального представления - Local View Wizard
Смотрите также

С помощью мастера локального представления вы можете создавать представления, которые настраиваются для отображения некоторой или всей информации с помощью родных данных Visual FoxPro. Вы можете пожелать использовать представление, если число данных в исходной таблице велико, а вам нужно отобразить только конкретную порцию этих данных. Если у вас не открыта база данных, вы будете запрошены мастером на предмет открытия базы данных или ее создания.

Для того, чтобы обратиться к мастеру локального представления

  1. В меню Tools (Инструменты) выберите Wizards (Мастера) и выберите Query (Запрос).

  2. В диалоговом окне Wizard Selection (Выбор мастера) выберите Local View Wizard (Мастер локального представления).

Шаг 1 – Select Fields (Выберите поля)

В этом шаге, вы указываете - какие таблицы или представления из базы данных Visual FoxPro вы желаете использовать в качестве источника для вашего локального представления. Используя представление, вы можете собрать информацию из одной или более таблиц в одну для отображения информации. Локальное представление, в отличие от окна Browse, позволяет вам создать очень эффективное и, возможно, простое отображение данных из больших или комплексных источников данных.

Вы можете выбрать поля из нескольких таблиц или представлений. Сначала выберите поля из одной таблицы или представления и переместите их в список Selected fields (Выбранные поля); затем выберите поля из другой таблицы или представления и также переместите их в список Selected fields (Выбранные поля).

Шаг 2 – Relate Tables (Свяжите таблицы отношением)

Этот шаг отображается только в том случае, если вы выбрали поля из более чем одной таблицы или представления. Вы можете указать - какие поля в каждой из таблиц или представления содержат схожую информацию и затем установить отношения между таблицами или представлением, что в свою очередь будет определять включаемые в отображение записи.

Выберите желаемые поля из двух выпадающих списков и затем щелкните по Add (Добавить). Если вы используете множество таблиц в вашем представлении, тогда вы должны связать их отношением, указав какие поля содержат записи соответствия в каждой таблице.

Шаг 2a – Include Records (Включите записи)

Этот шаг отображается только в том случае, если вы выбрали поля из более чем одной таблицы или представления. Вы можете указать, какие записи из выбранных таблиц будут доступны мастеру локального представления.

Если вы используете более одной таблицы, вы можете указать условие объединения. Для получения более подробной информации смотрите описание задачи Как: добавить таблицы в представления. Например, if you specify only matching rows in Step 2a, Вы можете further refine that choice in Step 3 by specifying a particular value for a field.

Limit the records to only matching rows (Ограничить записи только сопоставимы строками)

Возвращает только те записи из обеих таблиц, которые соответствуют набору условий сравнения, установленные между двумя полями в условии объединения. Это называется внутренним объединением.

All rows from either table (Все строки из каждой таблицы)

Возвращает все строки из одной из перечисленных таблиц или представлений. Это предоставляет вам возможность создать левое или правое внешнее объединение.

All rows from both tables (Все строки из обеих таблиц)

Возвращает как сопоставимые, так и не сопоставимые записи из обеих таблиц. Это называется внешним объединением.

По умолчанию, в результат включаются только сопоставимые записи.

Шаг 3 – Filter Records (Отфильтруйте записи)

Этот шаг появляется сразу после шага 1, если у вас выбрана только одна таблица или представление в качестве источника вашего локального представления. Вы можете указать условие фильтра, по которому только определенные записи по вашему выбору будут доступны для использования в представлении.

Для определения условия фильтра

  1. Выберите поле из выпадающего списка Field (Поле).

  2. Укажите оператор сравнения, такой как equals (равен) или contains (содержит), в выпадающем списке Operator (Оператор).

  3. Укажите значение в боксе ввода Value (Значение).

    Например, если вы желаете отфильтровать записи по конкретному городу, такому как Helena, вы можете выбрать city из выпадающего списка Field (Поле), выбрать equals (равен) в выпадающем списке Operator (Оператор) и ввести слово Helena в боксе Value (Значение).

Вы можете уменьшить число записей с помощью создания выражений, которые отфильтруют записи из выбранной таблицы или представления. Вы можете создать два выражения и соединить их с помощью And (И), что вернет только те записи, которые отвечают обоим критериям или Or (Или), что вернет записи, отвечающие каждому критерию.

Вы можете предварительно посмотреть результат, щелкнув по кнопке Preview (Предпросмотр).

Шаг 4 - Sort Records (Отсортируйте записи)

В этом шаге вы можете указать порядок сортировки записей вашего локального представления. Например, если ваш запрос будет использован для обращения к заказам по региону, тогда вы можете отсортировать результат по штату или почтовому коду.

Выберите до трех полей или индексный тэг, постоянно существующий в базе данных, для определения порядка сортировки, в каком вы желаете увидеть результат. Вытерите Ascending (По возрастанию) для сортировки представления в порядке возрастания какого-то значения или Descending (По убыванию) для сортировки в убывающем порядке.

Шаг 4a – Limit Records (Ограничьте число записей)

Этот шаг появится только в том случае, если у вас указаны одно или более полей в шаге 4. Вы можете далее ограничить число записей в представлении, основываясь либо на проценте возвращаемых записей, либо на конкретном их числе.

Для просмотра процента возможных записей выберите радио-кнопку Percent of records (Процент записей) и затем укажите число процента в боксе ввода Portion value (Значение порции). Для просмотра всех записей выберите радио-кнопку Number of records (Число записей) и затем выберите All records (Все записи). Как было показано в предыдущих процедурах, Вы можете выбрать порциб записей от начала или с конца доступных записей.

Для просмотра первых 10

  1. Выберите радио-кнопку Number of records (Число записей)

  2. Введите в боксе Portion value (Значение порции) число 10.

 Для просмотра последних 10 записей.

  • В шаге 4 измените порядок сортировки на Descending (По убыванию).

Note Замечание

Это изменит порядок сортировки в "последняя запись = первая прочитанная".

  1. В шаге 4a выберите радио-кнопку Number of records (Число записей)

  2. Введите в боксе Portion value (Значение порции) число 10.

Шаг 5 - Finish (Завершение)

В этом шаге вы можете выбрать - как обслужить вновь определенное локальное представление.

Save local view (Сохранить локальное представление)

Сохраняет вновь определенное локальное представление и закрывает мастер.

Save local view and browse (Сохранить локальное представление и просмотреть)

Предоставляет вам возможность сохранить вновь определенное локальное представление и открыть его в окне Browse, чтобы Вы смогли просмотреть отображаемые данные.

Save local view and modify it in the View Designer (Сохранить локальное представление и изменить его в Конструкторе представления)

Предоставляет вам возможность сохранить вновь определенное локальное представление и, затем, открыть его для редактирования во View designer (Конструкторе представления).

Смотрите также

Справочное руководство

Мастер запроса - Query Wizard
Мастер удаленного представления - Remote View Wizard

Прочие ресурсы

Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Mail Merge Wizard

Visual FoxPro 9.0
Мастер автоматического составления стандартных писем (Mail Merge Wizard)
Смотрите также

Поскольку технология Mail Merge уже давно используется в офисных приложениях, далее по тексту вместо трансляции "Мастер автоматического составления стандартных писем" будет использоваться "Мастер Mail Merge" (Примечание переводчика) с целью сокращения объекта справки. (Примечание переводчика)

Мастер Mail Merge создает как источник данных, так и имена или адреса, для составляемых документов Microsoft Word, таких как формы писем, этикетки рассылок, конверты или каталоги, или текстовый файл, который может быть использован любым текстовым редактором типа "word processor" (Software602 и подобные).

Visual FoxPro Setup может инсталлировать функциональные возможноности ODBC через Visual FoxPro OLE DB Provider. Для получения более подробной информации о автоматически составляемых документах смотрите справку по Microsoft Word. Для получения более подробной информации смотрите OLE DB Provider для Visual FoxPro.

Для обращения к мастеру Mail Merge

  • В меню Tools выберите Wizards и щелкните по Mail Merge.

Шаг 1 – Select Fields (Выберите полей)

Этот шаг предоставляет вам возможность указать поля, которые содержат информацию, которую вы желаете использовать с автоматически составляемым документом, в качестве которого может служит документ приложения Word или файл из другого текстового редактора. Вы можете выбирать поля только из единственной таблицы или представления.

Шаг 2 - Choose Word Processor (Выберите текстовый редактор)

В этом шаге, вы указываете - будете ли вы создавать файл для использования с приложением Word или вы будете создавать файл общего форма в виде файла с разделенными запятыми полями для использования с другим текстовым редактором.

Вы должны иметь установленным на вашем компьютере приложение Word, если вы выбрали Microsoft Word. Если вы выбрали Comma-delimited text file (Текстовый файл с разделением запятыми), мастер пропустит шаги 3 и 4 и перейдет непосредственно к экрану Finish (Завершение).

Шаг 3 - Select Document Type (Выберите тип документа)

Этот шаг предоставляет вам возможность либо создать новый документ, такой, как список рассылки, или добавить информацию в существующих документ, такой как реестр (roster).

Шаг 4 - Choose Document Style (Выберите стиль документа)

В этом шаге, вы выбираете тип создаваемого документа.

Form Letter (Форма письма)

Предоставляет вам возможность создать или использовать шаблон письма, в который будут посылаться данные из указанного файла Visual FoxPro.

Label (Этикетка)

Предоставляет вам возможность создать или использовать шаблон этикетки, в который будут посылаться данные из указанного файла Visual FoxPro.

Envelope (Конверт)

Предоставляет вам возможность создать или использовать шаблон конверта, в который будут посылаться данные из указанного файла Visual FoxPro.

Catalog (Каталог)

Предоставляет вам возможность создать или использовать файл который содержит этикетки, такие, как например Item (Предмет), или Color (Цвет), или Catalog number (Номер в каталоге), в который будут посылаться данные из указанного файла Visual FoxPro..

Шаг 5 - Завершение (Finish)

Этот шаг предоставляет вам возможность сохранить данные в виде текстового файла или продолжить работу в Word для указания - как данные Visual FoxPro должны быть вставлены в существующий или новый автоматически составляемый документ.

Если вы выбрали создание документа Word, мастер откроет в нем документ. Если вы выбрали создание текстового файла, мастер попросит вас сохранить ваш разделеннный запятыми файл.

Смотрите также

Справочное руководство

Мастер локального представления (Local View Wizard)
Фуедаментальный класс Mail Merge Object

Прочие ресурсы

Импортирование и экспортирование данных
Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


One-To-Many Form Wizard

Visual FoxPro 9.0
Мастер One-To-Many Форм
Смотрите Также

Вы можете использовать данный Мастер, чтобы создать форму ввода данных, которая обновляет несколько таблиц. Например, вы можете создать одну единственную форму, которая бы позволяла бы вносить изменения в таблицы Customer и Order. Размер формы будет определять установка Maximum design area на закладке Forms диалогового окна Options.

Обратиться к Мастеру One-To-Many форм

  1. В меню Tools, выберите Wizards, и затем щелните на Form.

  2. В диалоговом окне Wizard Selection, выберите One-To-Many Form Wizard.

Step 1 – Select Parent Table Fields / Шаг 1 - Выбор Полей Родительской Таблицы

На этом этапе, вы выбираете свободную таблицу или таблицу или представление из контейнера базы данных, которые предоставят вам управляющее поле данных, присутствующее на вашей форме. Этим задается, какое поле родительской или управляющей таблицы определяет выбираемые записи в дочерней или управляемой таблице.

Чтобы выбрать поля для вашей формы

  1. Воспользуйтесь Databases and Tables для определения местоположения таблиц и какие именно таблицы вы хотите использовать.

  2. В окне Available fields, выберите одно или несколько полей из ранее выбранной таблицы, и при помощи кнопок со стрелками, переместите их в окно Selected fields.

Вы можете выбрать поля из одной таблицы или только из одного представления.

Step 2 - Select Child Table Fields / Шаг 2 - Выбор Полей Дочерней Таблицы

На этом этапе, вы выбираете поля из связанной таблицы. Это определит, какие поля из дочерней или управляемой таблицы отобразить на форме. Например, родительская таблицы может содержать только имя клиента, идентификационный номер и адреса, а дочерняя таблица - информацию о заказах, такую как, номер заказа, сумма, дата, скидка и т.д. Один клиент может иметь несколько заказов.

Также как и в случае с родителькой таблицей, Вы можете выбрать поля из одной дочерней таблицы или только из одного представления.

Step 3 – Relate Tables / Шаг 3 - Связать Таблицы

На этом этапе, вы определяете как связаны родительская и дочерная таблицы. В приведенном выше примере, обе таблицы имеют поле Сustomer_ID, так что, это - один из способов связать их. Могут быть и другие способы, в зависимости от существующих полей и от того, что именно вы хотите показать на форме.

Step 4 - Choose Form Style / Шаг 4 - Выбрать Внешний Вид Формы

На этом этапе, вы выбираете базовый формат вашей формы из встроенных в Мастер стилей. Когда вы щелкаете на каком-либо стиле, перечисленных в окне Style, Мастер показывает пример формы в лупе.

Опции Button Type относятся к кнопкам навигации на вашей форме. Это следующие кнопки:

Text Buttons

Помещает надписи на кнопки.

Picture buttons

Помещает иконки на кнопки.

No buttons

Не помещает никакие кнопки, таким образом вы можете предотвратить перемещение по таблицам за пределы отображенных или введенных данных.

Note Примечание

Опция Custom тип кнопок не доступна в Мастере для One-to-Many форм.

Кнопка | Иконка | Описание
Top |  | Перемещает указатель записи в начало таблицы.
Prev |  | Перемещиет указатель на одну запись назад.
Next |  | Перемещает указатель на одну запись вперед.
Bottom |  | Перемещает указатель записи в конец таблицы.
Find |  | Показывает диалоговое окно поиска Search.
Print |  | Печатает отчет.
Add |  | Добавляет новую запись в конец таблицы.
Edit |  | Позволяет редактировать текущую запись.
Delete |  | Удаляет текущую запись.
Exit |  | Закрывает форму.
Note Примечание

После того, как Мастер сохранил форму, вы можете добавить дополнительные поля, применяя тот же стиль, выбрав Quick Form в меню Form.

Все элементы управления, созданные Мастером Форм и Построителем Форм, находятся в библиотеке Wizards\Wizstyle.vcx. Если вы хотите изменить стили, то измените классы в этом файле.

Step 5 – Sort Records / Шаг 5 - Сортировка Записей

На этом этапе, вы определяете поля в родительской таблице, по которым вы хотите упорядочить записи. Например, если таблица содержит Имя и Фамилию, то вы можете упорядочить по имени+фамилия (как ПавелКоновалов) или по фамилии+имя (как КоноваловПавел). Порядок следования записей определяется порядком, в котором вы выбрали эти поля.

Если у вашей таблицы уже есть индексы, то вы можете выбрать существующий индексный дескриптор, из перечисленных под спиком полей и отделенных линией в окне Available fields.

Step 6 - Finish / Шаг 6 - Завершить

Здесь вы можете выбрать как и когда использовать созданную форму.

Save form for later use

Дает возможность сохранить форму как файл, который вы можете открыть позже.

Save and run form

Сохраняет форму и топом открывает ее в Visual FoxPro для незамедлительного применения.

Save form and modify in the Form Designer

Сохраняет форму и открывает ее в Дизайнере Форм, таким образом, вы можете ее модифицировать.

Если вы выбрали опцию Use field mappings, тогда вы можете применить field mappings (отображение полей), заданное в диалоговом окне Options в меню Tools. Для дальнейшей информации смотрите Закладка Field Mapping, Диалоговое Окно Options. Если ваши таблицы из базы данных, то вы можете выбрать Override with DBC field display classes, чтобы ваша форма использовала информацию об отображении полей из базы данных, иначе данная опция недоступна.

Чтобы предварительно просмотреть форму до выхода их Мастера One-To-Many Форм, нажмите на кнопку Preview.

Смотрите Также

Ссылки

Диалоговое Окно Create One-To-Many Relationships (Создание Реляции Один-ко-Многим)
Дизайнер Форм
Закладка Forms, Диалоговое Окно Options

Другие Ресурсы

Мастеры (Wizards) Visual FoxPro

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


One-To-Many Report Wizard

Visual FoxPro 9.0
Мастер отчетов Один-ко-Многим (One-To-Many Report Wizard)
Смотрите также

С помощью мастера отчетов типа Один-ко-многим вы можете создать отчет, который группирует связанные записи родительской и дочерней таблиц. Например, имена и адреса из таблицы клиентов и их заказы и скидки из таблицы заказов. Для более подробной информации о запуске отчета типа Один-ко-многим смотрите Как: Создание отчетов и Работа с отчетами.

Шаг 1 - Выбор полей родительской таблицы

На этом этапе необходимо из свободной таблицы или таблицы или представления базы данных выбрать поля для Вашего отчета, которые являются родительскими по отношению к связанной таблице. Поля могут быть выбраны только из одной таблицы или представления.

Шаг 2 - Выбор полей дочерней таблицы

На этом шаге необходимо выбрать поля из связанной таблицы. Этот шаг определяет, какие поля дочерней таблицы должны быть включены в отчет. Например, родительская таблица может содержать только имена клиентов, их адреса и уникальный идентификатор, а дочерняя -уникальный идентификатор, информацию о заказах, их содержимом, датах, скидках и т.п. Один клиент может иметь много заказов.

Вы можете выбрать поля только из одной дочерней таблицы.

Шаг 3 – Отношения

На этом шаге нужно определить через какие поля связаны родительская и дочерняя таблицы. В примере из Шага 2 таблицы связаны через поле уникального идентификатора клиента, которое содержится в обеих таблицах.

Шаг 4 – Порядок сортировки

Выберите поля родительской таблицы в том порядке, в каком вы хотите сортировать записи. Например у вас есть два поля- имя и фамилия. Порядок сортировки в этом случае может быть имя+фамилия (например, ПавелВильсон) или фамилия+имя (ВильсонПавел). Порядок сортировки определяется порядком выбора полей для сортировки.

Если Ваша таблица проиндексирована по одному или нескольким полям, Вы можете для организации сортировки выбрать индексный тег. Индексные теги перечисляются под списком полей и отделены от них чертой.

Шаг 5 - Стиль

На этом шаге Вы можете выбрать стиль отчета из списка стилей, встроенных в мастер. Щелкнув левой кнопкой мыши на названии стиля в окне списка стилей, Вы можете увидеть образец вида отчета в лупе на картинке в левом верхнем углу окна.

Кнопка "Summary options" позволяет определить, будут ли производиться какие-либо вычисления над доступными полями соответствующих типов (сумма, вычисление среднего значения и т.п.)

На этом шаге можно определить ориентацию страницы- портретную или ландшафтную.

Шаг 6 - Завершение

На этом шаге, Вы можете выбрать как и когда использовать отчет.

Сохранить отчет для дальнейшего использования

Позволяет Вам сохранить отчет в виде файла, который Вы можете открыть позже.
Сохранить отчет и открыть для модификации в Конструкторе отчетов

Сохраняет отчет в виде файла и открывает его в Конструкторе отчетов для модификации.
Сохранить и распечатать отчет

Сохраняет отчет в виде файла и немедленно выводит его на печать.

Если выбрана опция "Use display settings stored in the database" в отчете будет использована информация базы данных.

Если все выбранные вами поля нельзя разместить в одной строке отчета, они переносятся на следующую строку. Если вы не хотите переносить поля, сбросьте переключатель "Wrap fields that do not fit". Для предварительного просмотра отчета не выходя из мастера, используйте кнопку "Preview".

После сохранения файла отчета, его всегда можно изменить с помощью Конструктора Отчетов.

Смотрите также

Прочие ресурсы

Мастер отчетов
Обзор мастеров
Работа с таблицами

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM-FoxPro


PivotTable Wizard

Visual FoxPro 9.0
Мастер сводной таблицы (PivotTable Wizard)
Смотрите также

С помощью мастера PivotTable wizard, Вы можете создавать pivot таблицы, которые представляют собой интерактивные таблицы рабочих листов, используемых для суммирования и анализа данных из существующих и, возможно, больших таблиц. Вы можете выбрать либо прямое сохранение в Microsoft Excel или добавить в виде объекта на форме.

Для создания pivot таблицы у вас должен быть установлен Microsoft Excel с Microsoft Query. Для получения более подробной информации смотрите справку по Microsoft Excel.

Для доступа к мастеру PivotTable

  • Из меню Tools выберите Wizards и, затем, щелкните по PivotTable.

Шаг 1 – Select Fields (Выберите поля)

В этом шаге вы можете выбрать свободную таблицу или таблицу из базы данных в качестве источника данных для вашей pivot таблицы. Вы можете выбрать поля только из единственной таблицы или представления. Для получения более подробной информации смотрите описания Работа с таблицами и Работа с представлениями.

Чтобы выбрать поля для вашей pivot таблицы

  1. Используйте комбинированный элемент управления Databases and Tables (Базы данных и таблицы) для поиска и выбора таблицы, которую вы желаете использовать в качестве источника данных.

  2. В списке Available fields (Доступные поля) выберите из таблицы три или четыре желаемых поля и используя кнопки со стрелками переместите их в список Selected fields (Выбранные поля).

Мастер не позволит вам перейти к следующему шагу, пока вы не выберите по крайней мере три поля; по одному для значений строк и колонок и одно для данных.

Шаг 2 - Define Layout (Определите раскладку)

В этом шаге вы можете указать, какое поле будет расчетным для данных. Например, если у вас есть таблицы Orders, которая среди прочих содержит поле для города, региона и для числа заказов, вы можете создать pivot таблицу, которая будет отображать в области данных, суммы для всех городов по регионам. Снизу, таблица отобразит итоговые сумма для каждой колонки. В крайней правой колонке будут отображаться суммы по строкам.

Для определения раскладки pivot таблицы

  1. Из списка Available fields (Доступные поля), перетащите поле в бокс Rows (Строки). В pivot таблице будет содержаться строка для каждого уникального значения поля, которое вы перетащили в бокс Rows (Строки).

  2. Из списка Available fields (Доступные поля), перетащите поле в бокс Columns (Колонки). В pivot таблице будет содержаться колонка для каждого уникального значения поля, которое вы перетащили в бокс Columns (Колонки).

  3. Из списка Available fields (Доступные поля), перетащите поле в бокс Data (Данные). Поскольку это поле будет суммироваться, обычно используется поле с чилсенными значениями.

Вы, кроме того, можете перетащите поле в бокс Page. Если вы перетащите поле в бокс Page, то pivot таблица будет содержать выпадающий список, в котором вы сможете выбрать разные страницы. В таблице будет по одной странице на каждое уникальное значение, которое имеется в поле, перетащенное в бокс Page.

Если у вас есть большая таблица, то может быть лучше сначала создать представление, содержащее желаемые поля, а уже затем создать pivot таблицу из этого представления. Для получения более подробной информации смотрите описание задачи Как: создавать представления.

Шаг 3 - Finish (Завершение)

Если вы выбрали Create a Microsoft Excel pivot table (Создать Microsoft Excel pivot таблицу), то мастер отобразит вашу завершенную pivot таблицу в Excel.

Перед открытием MS Excel Visual FoxPro может вывести предупреждение о том, что вы выбрали потенциально большой набор результатов.

Если вы так не считаете или у вас достаточно мощный компьютер - щелкните по Yes, или в противном случае по No. Мастер, в случае, если вы щелкнули по No закроется, после чего вы можете последовать совету - создать представление из желаемых полей и после этого запустить мастер повторно (Примечание переводчика).

Ниже представлен результат вывода pivot-таблицы в MS Excel.

Расчетом, используемым мастером по умолчанию для pivot таблицы, является суммирование. Если вы создаете Excel pivot таблицу, тогда вы легко сможете изменить расчет суммы на другой вид расчета, поддерживаемый Excel, такой как вывод среднего (average) или подсчета (count).

Если вы выбрали Create a new form containing an embedded pivot table (Создать форму, содержащую вложенную pivot таблицу), то мастер создаст новую форму, содержащую вложенную pivot таблицу и откроет ее в конструкторе форм. Для изменения таблицы в конструкторе форм просто выполните на ней двойной щелчок.

Смотрите также

Справочное руководство

Конструктор форм

Прочие ресурсы

Создание представлений
Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Query Wizard

Visual FoxPro 9.0
Мастер запроса - Query Wizard
Смотрите также

С помощью Query wizard (мастера запроса), вы можете выбрать группу записей, основываясь на некоторых указанных вами правилах, Например, если у вас есть таблицы, которые содержат большие количества информации и одной или более таблицах, вы можете использовать тщательно определенный запрос для выбора или отображения только тех нескольких записей, которые удовлетворяют некоторому численному или логическому значению.

Для того, чтобы обратиться к мастеру запроса

  1. Из меню Tools выберите Wizards (Мастера) и, затем, щелкните по Query (Запрос).

  2. В диалоговом окне Wizard Selection (Выбор мастера) выберите Query Wizard (Мастер запроса).

Шаг 1 – Select Fields (Выберите поля)

В этом шаге вы можете выбрать либо свободные таблицы или таблицы базы данных, которые будут служить источником для вашего запроса. Вы можете выбрать поля из одной или более таблиц или представлений.

Чтобы выбрать поля для вашего запроса

  1. Используйте элементы управления Databases and Tables (Базы данных и таблицы) для поиска и выбора таблиц или представлений, которые вы желаете использовать.

  2. В списке Available fields (Доступные поля) выберите одно или более полей из выбранной таблицы и используйте кнопку со стрелкой для перемещения выбранного поля или полей в список Selected fields (Выбранные поля).

Повторите этот процесс для добавления полей из другой таблицы или представлений.

Шаг 2 – Relate Tables (Свяжите таблицы отношением)

Этот шаг отображается только в том случае, если вы выбрали поля из более чем одной таблицы или представления. Вы можете указать, какие поля в каждой таблице содержат одну и ту же информацию и как следствие можете установить отношением между таблицами или представлениями, что определит включаемые в запрос записи.

Выберите желаемые поля из двух выпадающих списков и затем щелкните по Add (Добавить). Если вы используете множество таблиц в вашем представлении, тогда вы должны связать их отношением, указав какие поля содержат записи соответствия в каждой таблице.

Шаг 2a – Include Records (Включите записи)

Этот шаг отображается только в том случае, если вы выбрали поля из более чем одной таблицы или представления. Вы можете указать, какие записи из выбранных таблиц будут доступны мастеру запроса.

Если вы используете более одной таблицы, вы можете указать условие объединения. Для получения более подробной информации смотрите описание задачи Как: создать многотабличное представление. Например, если в шаге 2а вы указали "only matching rows - только записи соответствия", то вы можете далее в шаге 3 уточнить этот выбор, указав конкретное значение для поля.

Only matching rows (Только сопоставимые строки)

Возвращает только те записи из обеих таблиц, которые соответствуют набору условий сравнения, установленные между двумя полями в условии объединения. Это называется внутренним объединением.

All rows from this table (Все строки из этой таблицы)

Возвращает все строки из одной из перечисленных таблиц или представлений. Это предоставляет вам возможность создать левое или правое внешнее объединение.

All rows from both tables (Все строки из обеих таблиц)

Возвращает как сопоставимые, так и не сопоставимые записи из обеих таблиц. Это называется внешним объединением.

По умолчанию, в результат включаются только сопоставимые записи.

Шаг 3 – Filter Records (Отфильтруйте записи)

Этот шаг появляется сразу после шага 1, если у вас выбрана только одна таблица или представление в качестве источника вашего запроса. Вы можете указать условие фильтра, по которому только определенные записи по вашему выбору будут доступны для использования в запросе.

Для определения условия фильтра

  1. Выберите поле из выпадающего списка Field (Поле).

  2. Укажите оператор сравнения, такой как equals (равен) или contains (содержит), в выпадающем списке Operator (Оператор).

  3. Укажите значение в боксе ввода Value (Значение).

    Например, если вы желаете отфильтровать записи по конкретному городу, такому как Helena, вы можете выбрать city из выпадающего списка Field (Поле), выбрать equals (равен) в выпадающем списке Operator (Оператор) и ввести слово Helena в боксе Value (Значение).

Вы можете уменьшить число записей с помощью создания выражений, которые отфильтруют записи из выбранной таблицы или представления. Вы можете создать два выражения и соединить их с помощью And (И), что вернет только те записи, которые отвечают обоим критериям или Or (Или), что вернет записи, отвечающие каждому критерию.

Вы можете предварительно посмотреть результат, щелкнув по кнопке Preview (Предпросмотр).

Шаг 4 - Sort Records (Отсортируйте записи)

В этом шаге вы можете указать порядок сортировки записей вашего запроса. Например, если ваш запрос будет использован для обращения к заказам по региону, тогда вы можете отсортировать результат по штату или почтовому коду.

Выберите до трех полей или индексный тэг, постоянно существующий в базе данных, для определения порядка сортировки, в каком вы желаете увидеть результат. Вытерите Ascending (По возрастанию) для сортировки представления в порядке возрастания какого-то значения или Descending (По убыванию) для сортировки в убывающем порядке.

Шаг 4a – Limit Records (Ограничьте число записей)

Этот шаг появится только в том случае, если у вас указаны одно или более полей в шаге 4. Вы можете далее ограничить число записей в запросе, основываясь либо на проценте возвращаемых записей, либо на конкретном их числе.

Для просмотра процента возможных записей выберите радио-кнопку Percent of records (Процент записей) и затем укажите число процента в боксе ввода Portion value (Значение порции). Для просмотра всех записей выберите радио-кнопку Number of records (Число записей) и затем выберите All records (Все записи). Как было показано в предыдущих процедурах, Вы можете выбрать порциб записей от начала или с конца доступных записей.

Для просмотра первых 10

  1. Выберите радио-кнопку Number of records (Число записей)

  2. Введите в боксе Portion value (Значение порции) число 10.

 Для просмотра последних 10 записей.

  • В шаге 4 измените порядок сортировки на Descending (По убыванию).

Note Замечание

Это изменит порядок сортировки в "последняя запись = первая прочитанная".

  1. В шаге 4a выберите радио-кнопку Number of records (Число записей)

  2. Введите в боксе Portion value (Значение порции) число 10.

Шаг 5 - Finish (Завершение)

В этом шаге вы можете выбрать способ сохранения вашего запроса.

Save query (Сохранить запрос)

Предоставляет вам возможность сохранить запрос для использования в будущем.

Save query and run it (Сохранить запрос и исполнить его)

Предоставляет вам возможность сохранить запрос для использования в будущем и тут же исполнить его.

Save query and modify it in Query Designer (Сохранить запрос и отредактировать его в конструкторе запроса)

Предоставляет вам возможность охранить запрос и использовать Query designer (Конструктор запроса) для его редактирования или

расширения.

Смотрите также

Задачи

Как: определить результаты запроса
Как: создать постоянные отношения между таблицами

Справочное руководство

Мастер локального представления - Local View Wizard
Мастер удаленного представления - Remote View Wizard

Прочие ресурсы

Мастера (Visual FoxPro)
Конструкторы запроса и представления

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Remote View Wizard

Visual FoxPro 9.0
Мастер Удаленных Представлений
Смотрите Также

С помощью представленного Мастера, вы можете создать Представление выборки требуемых Данных из удаленного Источника (ODBC). Для построения Удаленного Представления должна быть открыта некоторая База Данных (контейнер .DBC), в которую записываются параметры создаваемого Представления, как и именованное Соединение с удаленным источником Данных, которое обеспечивает доступ к Данным. Если в настоящий момент нет Открытой Базы Данных, то вам будет задан Запрос об Открытии или создании БД.

Перед запуском Мастера Удаленных Представлений, вы можете уточнить некоторые настроечные параметры Представлений и Именованных Соединений, для этого используется Закладка "Remote Data" в соответствующем диалоговом боксе "Options". Упоминаемые выше именованные Соединения с Источниками Данных могут быть созданы с помощью Дизайнера Соединений.

Для активации системного Окна Мастера Удаленных Представлений:

  1. Из системного меню Tools, выберите подраздел: Wizards, и далее: опцию меню Query.

  2. В дополнительном диалоговом боксе: Wizard Selection, выбрать пункт Remote View Wizard.

Шаг 1 - Выбор Источников Данных

На данном Этапе вам требуется выбрать Источник Удаленных Данных из соответствующих системных источников "ODBC Data Sources" или из списка именованных Соединений, обеспечивающих доступ к Удаленным Источникам Данных. Если указанный текстовый Контрол не содержит требуемой информации, вам необходимо определить системные Источники Данных Microsoft Windows, для этого обычно используется Панель Управления - Администрирование - Источники Данных (ODBC). Если удаленный Источник Данных требует ввода пароля Доступа к Данным, то потребуется вводить указанный пароль, и только после получения Доступа - переходить к следующему Этапу.

Вы можете также определить включение Системных Таблиц для источника ODBC.

После выбора и уточнения источника данных "ODBC Data Source", вы можете открыть диалоговый бокс "Configure Connection", где сможете уточнить требуемую вам Базу Данных или Свободную Таблицу, а также таблицу для выгружаемых Данных.

Шаг 2 – Подбор требуемых Полей из Таблиц

На данном Этапе вы уточняете набор Полей из Таблиц, которые включаются в создаваемое Представление.

Для выбора требуемых Полей:

  1. Используйте контрол Tables для выбора Таблицы, из которой требуются Поля.

  2. В соответствующем Списке Available fields, выберите одно или несколько Полей для включение их в Представление, для этого используются соответствующие командные кнопки, с помощью которых выбранные поля перемещаются в список Selected fields.

    Далее, вы можете выбрать другую Таблицу и повторить подбор требуемых Полей из второй Таблицы. Вы можете также выбирать несколько полей для переноса в результирующий Список Selected fields.

Шаг 3 – Связывание Таблиц Данных

Данный Этап определения параметров Представления отображается только в том случае, когда вы выбираете набор результирующих Полей из нескольких исходных Таблиц. Вам требуется выбрать ключевые поля в каждой из выбираемых Таблиц, которые будут определять условие Связывания рассматриваемых Таблиц, тем самым будут определяться наборы связываемых Записей этих Таблиц.

Выберите требуемые Поля Связывание и нажмите кнопку добавить Add. Если вы используете в вашем Представлении несколько исходных Таблиц, то выбранные поля Связи определяют связываемые Наборы Записей из каждой из Таблиц.

Если выражение Связи отсутствует или описано некорректно и рассматриваемый Мастер не может обеспечить корректное Связывание с помощью выбранных ключевых Полей. Обычно, связываемые Таблицы содержат Поля с одинаковыми Именами, что свидетельствует возможность корректного их Связывания.

Шаг 4 - Включение подмножества Записей Данных

Данный Этап активируется только в том случае, когда вы выбираете данные из нескольких Таблиц. На данном Этапе вы можете определить диапазоны связываемых Таблиц, которые будут являться комбинированными Источниками выбираемых Данных.

Only matching rows (только соответствующие Записи)

Комбинируются только Записи из исходных таблиц, получаемые полным сравнением Ключевых Полей из связываемых Таблиц. Данный случай соответствует группировке типа Inner Join (внутреннего соединения).

All rows from this table (все записи из представленных Таблиц)

Комбинируются все записи из представленных исходных Таблиц. Данный случай соответствует Left / Right Outer Join (левому или правому внешним Соединениям). Дополнительную информацию смотрите в разделе: Как: Создавать МногоТабличные Представления.

Шаг 5 – Сортировка результирующих Записей Данных

На данном Этапе вы можете определить одно или несколько Полей результирующего набора Записей Представления, с помощью значений которых будет выполняться Сортировка результирующего Набора Записей удаленного Представления.

Вы можете выбирать либо требуемые Поля Сортировки либо существующие индексные Тэги, созданные при разработке Таблиц Данных, указанный Элементы размещаются в соответствующем списке доступных Полей: Available fields. Для сортировки по-возрастанию - выделите подраздел Ascending, для сортировки в обратном порядке (по-убыванию) выделите подпункт: Descending.

Шаг 6 - Фильтрация результирующих Записей Данных

На данном Этапе вы можете определить условие Фильтрации результирующих Наборов Данных; в удаленном представлении будут отображаться только Записи данных, которые удовлетворяют созданному условию Фильтра.

Для создания Условия (выражения) Фильтра:

  1. Выберите необходимое Поле из списка доступных полей Field.

  2. Определите оператор сравнения выражений Фильтра, например, таких как: equals (равенство) или contains (включение) , для это используется раскрывающийся список Operator.

  3. Определите значение (выражение) для второй части Фильтра в соответствующем текстовом Контроле Value.

    Например, если вам требуется отобрать данные для поля "city", конкретного значения "Helena", то вам требуется выбрать поле city из Списка Field, выбрать оператор сравнения equals из соответствующего Списка Operator, и ввести константу Helena в текстовом боксе Value.

С помощью эффективных Фильтров Вы можете значительно сократить объемы выбираемых Записей в вашем удаленном Представлении. Вы можете создавать более сложные выражения Фильтров, комбинируя несколько логических выражений с помощью Логических Операторов And (И), тогда в результирующий набор попадают Записи, удовлетворяющие всем условиям Фильтрации; или вы можете использовать логический оператор Or (ИлИ), тогда в результирующий набор попадают записи, удовлетворяющие одному из нескольких условий Фильтра.

Вы можете просмотреть создаваемое выражение Фильтра, для этого используется командная кнопка Preview.

Шаг 7 - Завершение

На данном Этапе вы можете выбрать один из представленных вариантов Завершения создания нового Представления.

Save remote view (Сохранить Удаленное Представление)

Сохранить параметры Представления и завершить работу Дизайнера.

Save remote view and browse (Сохранить Представление и вызвать Просмотр Результатов)

Сохранить параметры Представления и открыть системное окно Browse для просмотра результатов выборки.

Save remote view and modify it in the View Designer (Сохранить параметры Представления и вернуться в Дизайнер Представления)

Сохранить параметры Представления и вернуться к уточнению его характеристик в Дизайнере Представлений.

См. также

Описание

Выполнение расширений ODBC для серверов SQL
ODBC Registry, фундаментальный класс
Местер перекрестных Таблиц (Cross-Tab)
Мастер Графических Диаграмм
Мастер Локальных Представлений
Мастер построения Запросов
Закладка Remote Data, Options, диалоговый бокс
Дизайнер Соединений с удаленными Источниками

Другие ссылки

Мастера (Visual FoxPro)
Дизайнеры Запросов и Представлений

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Report Wizard

Visual FoxPro 9.0
Мастер Отчетов (Report Wizard)
Смотрите также

Мастер Отчетов позволяет создавать отчеты используя одну свободную таблицу или одну таблицу или одно представление, принадлежащие базе данных. Вы можете быстро создать отчет для немедленного использования и сохранить его для использования в дальнейшем . При выполнении ранее сохраненного отчета информация, выводимая этим отчетом на экран или печать будет актуальной на момент запуска отчета на исполнение.

Для получения информации о запуске Мастера Отчетов смотрите Как: Создание отчетов.

Шаг 1 – Выбор полей

На этом этапе Вы можете выбрать свободную таблицу или таблицу, принадлежащую базе данных в качестве источника для Вашего отчета. Поля могут быть выбраны только из единственной таблицы или представления. Для выбора базы данных или таблиц, поля которых должны быть использованы в отчете, Вы можете воспользоваться кнопкой (...). При выборе таблицы в списке "Databases and tables", в окне списка "Available fields" появятся поля, которые могут быть выбраны в качестве источника данных для отчета.

Шаг 2 – Группировка записей

На этом шаге Вы можете использовать группировку с целью категоризирования и сортировки данных в отчете для большей наглядности. Для группировки донных можно использовать до трех полей. Поля выбираются в трех выпадающих списках. При выборе поля становится активной кнопка "Grouping options...". Используйте кнопки "Grouping Options..." и "Summary Options..." для уточнения параметров группировки.

Нажатие на кнопку "Grouping Options..." открывает диалоговое окно "Grouping Intervals", которое позволяет Вам выбрать интервалы группировки, соответствующие типу данных, содержащихся в полях, которые Вы выбрали для группировки.

Нажатие на кнопку "Summary Options ..." открывает диалоговое окно "Summary Options", которое позволяет Вам определить вид вычислений, которые должны быть произведены с данными определенных числовых полей:

Вид вычисления | Возвращаемое значение
Sum | Сумма значений указанных числовых полей.
Avg | Среднее значение указанном числовом поле.
Count | Количество записей, содержащих ненулевое значения в указанном числовом поле.
Min | Минимальное значение указанного числового поля.
Max | Максимальное значение указанного числового поля.

Выбор опции "Detail and Summary" выведет промежуточные и общий итоги, "Summary only" - только общий итог, "No Totals" - без итогов. Использование опции "Calculate percent of total" позволяет вычислять процент промежуточного итога по группе от общей суммы.

Поля, использованные для организации группировки недоступны на Шаге 5 - Сортировка записей.

Шаг 3 - Выбор стиля отчета

На этом шаге Вы можете выбрать стиль отчета из списка стилей, встроенных в мастер. Щелкнув левой кнопкой мыши на названии стиля в окне списка стилей, Вы можете увидеть образец вида отчета в лупе на картинке в левом верхнем углу окна.

Шаг 4 - Определение компоновки отчета

На этом шаге можно задать количество колонок отчета, расположение данных в колонках или построчно, а также ориентацию страницы- портретную или ландшафтную.

При изменении параметров компоновки мастер показывает образец вида отчета в лупе на картинке в левом верхнем углу окна.

Замечание:
Если на Шаге 2 были выбраны опции группировки, то выбор компоновки колонок и полей будут недоступны.

Шаг 5 - Сортировка записей

Этот шаг позволяет определить одно или несколько полей для организации сортировки в Вашем отчете.

В списке доступных полей выберите поля или индексные теги для определения порядка сортировки данных в отчете. Возможен выбор до трех полей и (или) индексных тегов. Дополнительные опции "Ascending" или "Descending" определяют порядок сортировки по возрастанию или убыванию соответственно.

Шаг 6 -Финиш

На этом шаге, Вы можете выбрать как и когда использовать отчет.

Сохранить отчет для дальнейшего использования

Позволяет Вам сохранить отчет в виде файла, который Вы можете открыть позже.
Сохранить отчет и открыть для модификации в Конструкторе отчетов

Сохраняет отчет в виде файла и открывает его в Конструкторе отчетов для модификации.
Сохранить и распечатать отчет

Сохраняет отчет в виде файла и немедленно выводит его на печать.

Если все выбранные вами поля нельзя разместить в одной строке отчета, они переносятся на следующую строку. Если вы не хотите переносить поля, сбросьте переключатель "Wrap fields that do not fit". Если в качестве источника данных для Вашего отчета выбраны таблица или представление, принадлежащие базе данных Вы можете использовать опцию "Use display settings stored in the database". Эта опция недоступна, если источник данных не принадлежит базе данных. Для предварительного просмотра отчета не выходя из мастера, используйте кнопку "Preview".

После сохранения файла отчета, его всегда можно изменить с помощью Конструктора Отчетов.

Смотрите также

Прочие ресурсы

Мастер отчетов Один ко многим
Обзор мастеров
Работа с таблицами
Команда CREATE REPORT
Конструктор Отчетов

Шлите комментарии about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Переводчик SAM_FoxPro


SQL Server Upsizing Wizard

Visual FoxPro 9.0
Мастер Масштабирования SQL Server Upsizing
См. Также

Мастер Наращивания (Масштабирования) SQL Server Upsizing создает Базу данных SQL Server, как функциональный (если это возможно) Дубликат стандартной Базы Данных Visual FoxPro.

Note Примечание

Для версий SQL Server 6.5 и выше, Мастер Масштабирования устанавливает уровень совместимости = 6.5. Вы можете снять данный Флаг и вводить дополнительные характеристики и изменения после выполнения процесса Масштабирования.

Вам предлагается следующий Сценарий: Сначала создается рабочая проектная Модель работы вашего Приложения с использованием объектов Visual FoxPro: Таблиц, Представлений, Индексов и так далее..., чтобы представить процессы обработки Данных. Далее, данную Прототип можно Масштабировать (Наращивать) на удаленный, мощный Сервер обработки данных (SQL Server). В условиях готовности Прототипа вы можете использовать описываемый далее Мастер Масштабирования Баз Данных на SQL Server, который выполняет следующее :

  • Переносит Локальные Данные на Удаленный Сервер.

  • Преобразует локальную Базу Данных, локальные Таблицы и Локальные Представления в соответствующие удаленные Таблицы и удаленные представления (Remote Base Tables/ Remote Views).

  • Создает процесс Миграции локального Приложения в Приложение типа Клиент-Сервер (client/server application).

Note Примечание

Процесс Масштабирования может выполняться достаточно длительное время, это зависит от размера локальной Базы Данных, скорости обработкти Сетевого Трафика, других факторов Загруженности вычислительной Сети. Масштабирование Больших Таблиц может занимать несколько часов.

Перед запуском Мастера Масштабирования (SQL Server Upsizing wizard), вам необходимо проверить готовность к данному процессу обе стороны (Клиента и Сервера). Текущий Профиль вашей Рабочей Станции должен иметь соответствующие права на выбранном Сервере: выполнения серверных команд CREATE и SELECT, что обеспечивается созданием соответствующего именованного Соединения с Сервером SQL. Дополнительную информацию смотрите в разделе: Подготовка к работе Мастера SQL Server Upsizing.

Для подключенния Мастера Масштабирования (SQL Server Upsizing): в системном Меню Tools, выберите подраздел Wizards, и выберите вариант Мастера Upsizing.

Выполнение Шага 1 - Select Local Database (Выбор Локальной Базы Данных)

На данном Этапе, вам необходимо выбрать локальную Базу Данных, которую собираетесь Масштабировать.

Database to upsize (База Данных для Масштабирования)

Приводится Список открытых в настоящий момент Локальных Баз Данных. Выберите Базу Данных для Масштабирования. Если вам требуется другая БД, нажмите кнопку Open - для выбора требуемой БД.

Выполнение Шага 2 - Select Data Source (Выбор Источника Данных, Соединения)

На данном Этапе, вы определяете параметры Удаленного Источника Данных: ODBC SQL Server или Именованное Соединение, который будет использоваться в процессе Масштабирования.

ODBC data sources (источник данных ODBC)

Данный вариант отображает уже открытые (или доступные) источники данных SQL Server ODBC. При выборе данного варианта, дополнительно отображается список: Available data sources (Имеющиеся Источники Данных).

Connections (Соединения)

При выборе этого варианта, отображаются сохраненные в активной локальной Базе Данных именованные Соединения SQL Server Data Sources. При этом отображается дополнительный Список Existing connections (Существующие Соединения).

Available data sources

Список Удаленных Источников Данных ODBC Data Sources SQL Server. Данный список активируется при выборе варианта ODBC data sources.

Existing connections

Список имеющихся Соединений отображается при выборе варианта Connections. Данный Список содержит сохраненные в открытой Базе Данных именованные Соединения с Удаленными Источниками Данных типа SQL Server.

All (Все)

Данный переключатель (Флаг) определяет отображение в рассматриваемых Списках не только тех Источников Данных, которые имеют специализацию "SQL Server". Данные ключевые слова "SQL Server" определяют наиболее предполагаемый системой Visual FoxPro удаленный источник данных, на который будет выполняться Масштабирование. Если на вашей Рабочей Станции используется Нестандартный Драйвер подключения к SQL Server, вам необходимо самостоятельно идентифицировать требуемый Источник Данных SQL Server.

Рассматриваемый Переключатель одинаково работает для рассматриваемых вариантов: ODBC data sources или Connections.

Когда вы нажимаете кнопку Next (Далее), Мастер выполняет Активацию Соединения с Удаленным Источником Данных, может отобразить соответствующий Диалоговый Бокс SQL Server Login, который зависит от параметров Соединения: Имени пользователя, Пароля и прочего.

Использование Именованных Соединений.

Если вы выбираете вариант Именованных Соединений для подключения к удаленному Источнику Данных, мастер SQL Server Upsizing использует данное Соединение для создания и выполнения временных Представлений, которые используются в процессе Масштабирования. Если в процессе установки Соединения используется Пароль (или другие параметры), то рекомендуется включить Переключатель Save Password With View (Сохранение Пароля для Представлений) (который устанавлтвается на Шаге 8), это обеспечит поддержку актуальности Соединения (его Восстановления) при отключении от удаленного Источника Данных.

Использование Удаленных Источников Данных

Если вы используете данный вариант оединения с удаленным Источником Данных, то для создания и выполнения временных удаленных Представлений мастер SQL Server Upsizing создает временное соединение, которое называется как "Upsize" (или как "Upsize2," "Upsize3," и так далее), если указанные именованные Соединения уже существуют.

Выполнение Шага 3 – Choose Tables (Подборка Таблиц)

На данном Этапе, вы выбираете локальные Таблицы Visual FoxPro, которые экспортируются на Сервер SQL.

Available tables (имеющиеся Таблицы)

Список присоединенных Таблиц к выбранной ранее Базе Данных, которые будут масштабироваться.

Selected tables (выбранные Таблицы)

Список выбранных для масштабирования в Базу Данных Сервера.

Вы можете выбирать индивидуальные Таблицы, или можете нажать кнопку >> - для выбора всех Таблиц.

Когда вы нажимаете кнопку Next, мастер SQL Server Upsizing читает список выбранных для Масштабирования Таблиц и пытается переоткрыть их в режиме Исключительного использования (Exclusive), это предусмотрено для Безопасности и надежности выполнения Масштабирования Данных на удаленный Сервер. Таблицы, которые не открываются Исключительно - не участвуют в Масштабировании. Если таблица уже открыта в режиме Shared, она переоткрывается Исключительно; в этом случае отключаются установленные временные режимы: SET RELATION или SET SKIP.

Подборка Таблиц для Экспорта.

Важным моментом является подбор таблиц для Масштабирования, обычно экспортируются наиболее важные и коллективно используемые Таблицы. Масштабирование абсолютно всех Таблиц из Базы Данных может привести к перегрузке Сервера, замедлению выполняемых операций по обработке удаленных Данных, обработке соответствующих Запросов. Хорошо спроектированное и разработанное Приложение класса Клиент-Сервер (client/server) обычно использует Эффективно Скомбинированную систему Локальных и Удаленных Таблиц.

В основном, редко изменяемые Таблицы, статичные Справочники рекомендуется хранить Локально, а часто изменяемые Таблицы, интенсивно используемые многими Пользователями пусть хранятся на удаленном Сервере.

Мастер SQL Server Upsizing выполняет Экспорт таблиц, соответствующих Полей, конвертацию Типов Данных. Смотрите дополнительную информацию в разделах: Планирование Приложений класса Клиент/Сервер и Оптимизация выполнения Приложений Клиент/Сервер .

Выполнение Шага 4 - Map Field Data Types (Отображение Типов Данных)

На данном Этапе, система Visual FoxPro отображает списки текущих преобразований Типов локальных Данных в данные Удаленных Таблиц, которые масштабируются на Сервер. Вы можете изменить предлагаемые преобразования Типов Данных (используемых по-умолчанию).

Вы не можете изменить отображение типа данных, используемого по-умолчанию для Ключевых Полей, так как по данным полям проводится Индексирование, создание индексов. Вы можете изменять стандартное отображение типов данных для Полей, входящих в составные Индексы, при условии, что вы указываете сочетаемый в Индексе Тип Данных для данного Поля; однако, если вы укажите несопоставимый тип данных, система Visual FoxPro выдаст соответствующее предупреждающее Сообщение. Если вы желаете отменить введенные вами изменения, нажмите кнопку Default - для установки стандартных (по-умолчанию) типов преобразуемых Полей и Индексов.

Table (Таблица)

Осуществляется выбор масштабируемой Таблицы, для которой выводится список отображений Типов Полей.

Timestamp column (столбец Штампа Времени)

Отметка данного Контрола (флажка) означает, что в каждую версию Таблицы на Сервере будет включен специальный Столбец - Штамп Времени. Если вам требуется выполнить описанное изменение структуры всех Таблиц на Сервере, вы можете установить соответствующий флажек All Tables.

Identity column (столбец уникального идентификатора)

Отметка данного Контрола (флажка) означает добавление в структуру таблицы на Сервере поля (столбцы) уникального идентификатора Записи Таблицы. Если намерены использовать описанное изменение структуры во всех Таблицах на Сервере - установите флажек All Tables.

Default (по-умолчанию, стандартное)

При нажатии на указанную кнопку, для всех полей Текущей Таблицы устанавливаются стандартные значения, подразумеваемые для каждого Типа Данных. При выполнении описанной операции отменяются любые локальные изменения, или уточнения структуры таблицы, выполненные вами до данного, 4-го шага Процесса Масштабирования.

Field Name (Имя Поля)

Список имен Полей для текущей Таблицы, выбранной ранее в списке Table.

FoxPro Type (Тип Данных FoxPro)

Приводятся типы соответствующих Полей Локальных Таблиц.

Server Type (Соответствующий Тип Данных Сервера)

Приводятся Отображаемые Типы Данных Полей на Сервере, в которые отображаются типы полей из Таблиц Visual FoxPro. Данный Контрол в допустимых случаях позволяет изменять стандартно предлагаемые Отображения Типов Данных рассматриваемых Полей.

Width (ширина, размер)

Определяет Размер (ширину) текущего Поля.

Precision (точность, размер десятичной части числа)

Определяет количество десятичных знаков для чисмлового Поля.

Создание Столбцов - Штампов Времени (Timestamp Columns)

Столбец "Штамп Времени" (TimeStamp) для сервера SQL Server содержит уникальное значение, создаваемое программным обеспечением Сервера, данное значение вычисляется в момент изменения текущей Записи Таблицы на Сервере. Использование описынных столбцов типа timestamp позволяет значительно повысить производительность и надежность Масштабируемых Баз Данных.

Если при обновлении значений Полей Таблиц вами используются режимы Visual FoxPro SQL, значения свойства WhereType = DB_KEYANDMODIFIED или DB_KEYANDUPDATABLE, тогда Visual FoxPro должен проверить все измененные или все обновляемые Поля Таблицы; а также отследить изменения, выполненные другим Пользователем. Посколько Текстовые поля или поля типа Image (графические картинки) могут иметь размер в несколько МегаБайт, то изменение таких полей значительно загружают Сетевые Ресурсы и достаточно трудоемки, что значительно замедляет выполнение Приложения. Фактор надежности преобразования Типов данных также имеет не последнее значение, к примеру, преобразование Числового Значения с плавающей точкой (floating-point) между Клиентом и Сервером может содержать ошибки или выполняться достаточный интервал времени.

Когда вы используете дополнительные Столбцы Штампов Времени, как уникальные идентификаторы событий обновления данных, а соответствующее значение для Свойства SQL WhereType = DB_KEYANDTIMESTAMP, Visual FoxPro использует указанный столбец как семафор обновления данных, в сравнении со скоростью обработки и больших Текстовых или Image Полей. В этих условиях можем получить некоторое Повышение Производительности обработки удаленных данных. Однако, если выполнена установка свойства SQL WhereType = DB_KEYANDTIMESTAMP, тогда любое изменение удаленной записи будет порождать Конфликты Обновления Данных в тех случаях, когда рассматриваемые поля включаются в списки Изменяемых Полей для удаленных Представлений.

Если вы намерены использовать режим Обновления Полей при использовании свойства Visual FoxPro SQL WhereType = DB_KEYANDMODIFIED, вы можете получить повышение эффективности обработки Удаленных Представлений при установки значения свойства CompareMemo = false (.F.). В этом случае (CompareMemo=.F.), поля типа Memo в удаленных представлениях исключаются из списка сравниваемых полей, по которым определяется факт обновления Данных.

Выполнение Шага 5 - Select Target Database (Определение Удаленной Базы Данных)

На данном Этапе, вы можете выбрать Базу Данных удаленного Сервера, в которую масштабируются локальные Таблицы.

После того, как установлено Соединение с удаленным Сервером, выбран Источник Данных, Таблицы которого будут Обновляться, будет выполняться Отображение типов Полей, вы можете выбрать доступную, существующую Базу Данных или Создать Новую Базу Данных, как контейнер в который будут масштабироваться Таблицы. Если вы используете Именованное Соединение (определяемое на Шаге 2), то удаленная База Данных на данном Этапе только уточняется.

Available databases on 'database name' (существующие и доступные Базы Данных)

В данном списке отображаются имеющиеся Базы Данных, если отмечен соответствующий флажек Existing (существующие) Базы Данных SQL Server. Выберите (уточните) необходимую БД, в которую будут масштабироваться локальные Таблицы.

New database name (Имя Новой Базы Данных)

Если выбрана опция New (новая), то в данный Контрол вводится имя создаваемой Базы Данных. Имя может содержать не более 30 символов, и может включать символы, цифры, специальные знаки: #, $, _. Пробелы не поддерживаются.

Если используется уже существующая База Данных, то Мастер преходит к выполнению Шага 8.

Если вы используете версию Microsoft SQL Server старше, чем 6.x, Мастер сразу переходит к шагу 8, вне зависимости, используется ли существующая База Данных, или создается Новая.

Выполнение Шага 6 - Set Database Properties (Определение Свойств Удаленной Базы Данных)

Если вы создаете Новую Базу Данных SQL Server, определенную на шаге 5, Мастер масштабирования переходит на данный шаг, в котором уточняются дополнительные характеристики удаленный Базы Данных; выбирается текущее или Новое Устройство хранения Базы Данных, его начальный Размер.

Выбор уже существующего Устройства

Database device (Устройство для размещения Базы Данных)

Отображается список всех контролируемых Устройств SQL Server, включая устройство по-умолчанию. Выберите подходящее по размеру свободной области устройство, на котором будет создана ваша удаленная База Данных.

Size (Размер)

Отображается Размер выбранного в предыдущем пункте Устройства (Database Device), в МегаБайтах.

Free Space (Свободное Место)

Отображается размер доступного места для текущего (выбранного) Устройства удаленного Сервера.

Database size (Размер Базы Данных)

Введите приблизительный (оценочный) размер создаваемой Базы Данных (в МегаБайтах). Задаваемый Размер может быть не менее 2-х мегабайт (это минимально допустимый размер Базы Данных для SQL Server).

Стандартные Устройства

Если ваш удаленный Сервер SQL Server имеет одно или несколько стандартных устройств, тогда Мастер SQL Server Upsizing порождает соответствующий подраздел (Список) с именем Default (стандартные, по-умолчанию). Данный Список может содержать несколько Стандартных Устройств (Default). Выбор стандартного устройства для размещения вашей Базы Данных не гарантирует достаточного свободного Места на выбранном Устройстве. Мастер SQL Server Upsizing выполняет соответствующую проверку достаточности свободного Места на выборанном Стандартном Устройстве.

Note Совет

Для размещения вашей Базы Данных на нескольких Устройствах выберите несколько Устройств СервераT. При выполнении операций масштабирования Мастером SQL Server Upsizing, установите опцию использования стандартных Устройств (Default) для размещения вашей Базы Данных.

Дополнительную информацию о параметрах настройки Стандартных Устройств, выполнению системной хранимой процедуры sp_diskdefault смотрите Техническую Документацию по Серверу SQL Server.

Создание Новых Устройств Сервера

Если существующие Устройства Сервера уже достаточно заполнены (другими Базами Данных)l, вы можете создать новое Устройство Хранения Данных. Ваш Профиль (User PriFile) должен обладать соответствующими правами Администратора для создания новых Устройств Хранения Данных SQL Server.

Для создания нового Устройства Хранения Данных:

  1. Выберите из списка существующих устройств Сервера пункт Create new device.

    Если вы имеете права системного Администратора, то открывается дополнительный Диалоговый Бокс. В противном случае, появляется Системное Сообщение об Исключительной Ситуации.

  2. Введите Имя нового Устройства Хранения.

    Имя Устройства должно содержать не более 30 символов: букв, цифр, специальных знаков: #, $, _. Пробелы не допустимы.

  3. Нажмите кнопку OK.

    Новое Устройство Хранения Данных добавляется в список Устройств.

  4. Введите Размер Созданного Нового Устройства Хранения.

    Размер учтройства не может быть меньше чем 2 мегабайта. Размер нового Устройства не может превышать размера свободного Диского пространства.

Если вы имеете права системного Администратора, Мастер SQL Server Upsizing отображает общий размер используемый Устройствами Сервера, вместе с Устройством, где размещена База Данных Master SQL Server.

Note Примечание

Размер создаваемого Устройства Хранения Данных не может быть изменен после его создания. Поэтому рекомендуется создавать Устройства Хранения Данных достаточных размеров.

После создания нового устройства нажмите кнопку Finish (Завершение). Мастер SQL Server Upsizing создает новое Устройство Хранения Данных в том же каталоге, где размещена системная База Данных Master. Если вы создаете Новое Устройство в списке имеющихся устройств, но не выбираете это устройство как базовое для размещения новой Базы Данных, то указанное новое устройство не создается.

Мастер SQL Server Upsizing может создать соответствующий Отчет, включающий логические и физические Имена создаваемых Устройств и прочую информацию о списке Устройств Сервера.

Ограничения по количеству Устройств Хранения.

Каждое Устройство сервера SQL Server имеет уникальный порядковый номер создания этого устройства. Однако, Пул доступных номеров ограничен. По-умолчанию, ограничение <= 10, вам требуется уточнить данное значение для вашего Сервера. Мастер SQL Server Upsizing выполняет поиск доступного, свободного Номера Устройства Хранения. Если все доступные номера устройств уже заняты, вы не сможете создать Новое Устройство Хранения Баз Данных.

Note Примечание

Для увеличения Количества доступных номеров устройств хранения для вашего Сервера SQL Server смотрите техническую документацию по использованию системной хранимой процедуры sp_configure.

Выполнение Шага 7 - Specify Log Properties (Уточнение характеристик Журнала Масштабирования)

На данном Этапе, вы можете определить используемый Размер и соответствующее Устройство для хранения Журнала Транзакций, который создается самим Сервером и используется в случаях Реконструкции Базы Данных при возникновении системных проблем самого Сервера или сетевой Среды.

Log Device (Журнал Устройств)

Отображается Список устройств, на которых могут быть размещены журналы Транзакций рассматриваемого удаленного Сервера. Выберите Устройство, на котором будет создан Журнал Транзакций вашей Базы Данных.

В лучшем случае, База Данных и соответствующий Журнал Транзакций должны быть размещены на разных Устройствах (физических Дисках). Данные устройства Сервера должны быть созданы заранее, до выполнения рассматриваемого Мастера SQL Server Upsizing, так как данный Мастер создает новые устройства рядом с системной Базой Данных Master.

Если вы имеете в своем распоряжении только один физический диск, то Базу Данных и Журнал Транзакций рекомендуется размещать на разных устройствах Хранения. В этих условиях может быть выполнена системная команда DUMP TRANSACTION.

Size (Размер)

Отображается Размер Базы Данных (в магабайтах), соответствующий выбору в Контроле Log Device (Журнал Устройств) .

Free Space (Свободное пространство)

Отображается свободное пространство, которое может быть использовано для выбранного Log Device.

Log Size (Размер Журнала)

Введите допустимую величину размера Журнала (в мегабайтах). Дополнительную информацию смотрите далее в данном разделе "Specifying Log Size".

Database Size (Размер Базы Данных)

Отображается Размер вашей Базы Данных, определенный на этапе выполнения 6.

Specifying Log Size (Определение Размера Журнала)

Ключевой рекомендацией по данной Теме является: Размер Журнала Транзакций должен составлять 10-20 процентов от номинального Размера создаваемой Базы Данных SQL Server; данная Рекомендация основана на общих выводах и соображениях, изложенных в технической Документации по серверу SQL Server.

Вы можете установить значение для Размера Журнала = 0, что заставляет Мастер масштабирования помещать Данные Журнала в системную Таблицу (ее название = SysLogs), которая размещается на Устройстве Базы Данных. Когда размер Журнала устанавливается = 0, в этом случае данные Журнала занимают достаточно Малый размер дискового пространства, однако, свободное место Системного журнала достаточно быстро будет заполнено, что снижает уровень надежности Системы.

При выполнении Масштабирования новой Базы Данных, мастер SQL Server Upsizing заполняет Дампом Транзакций представленный Журнал, который при полном заполнении - очищается. Указанный Дамп Транзакций создается на случай создания Резервной копии Базы Данных; для этого может быть использована системная Команда LOAD DATABASE. Дополнительную информацию по использованию системной команды SQL Server DUMP TRANSACTION, а также системные рекомендации по созданию достаточного места для Журналов Транзакций смотрите в технической Документации по серверу SQL Server.

Note Примечание

Вы можете изменить (увеличить) размер дискового пространства, резервируемого для Журнала Транзакций или разместить его на другом Устройстве Сервера. Дополнительную информацию смотрите в Технической Документации сервера SQL Server, обратите внимание на детальное описание системной команды ALTER DATABASE, а также описание хранимой процедуры Sp_LogDevice.

Выполнение Шага 8 - Set Upsizing Options (Определение характеристик процесса Масштабирования)

На данном Этапе, вы можете управлять процессом экспорта ваших локальных Таблиц при помощи инструментов Мастера масштабирования SQL Server Upsizing. Вы можете задавать (подтверждать или отменять) некоторые изменения в вашей Локальной Базе Данных, выполняемые рассматриваемым Мастером (SQL Server Upsizing). Детальнее, к примеру, вы можете создать Отчет выполнения процесса Масштабирования, переопределить Представления для удаленных данных (преобразовать Локальные - в Удаленные), создать новые удаленные Представления для масштабируемых Таблиц, сохранить Пароли для рассматриваемых Представлений.

Определение Таблицы Атрибутов процесса Масштабирования

По-умолчанию, мастер Масштабирования SQL Server Upsizing экспортирует не только структуры Таблиц, но и загружает локальные Данные на удаленный Сервер. Вместе с именами Полей и их характеристиками (типы, размеры) вы можете выполнить также экспорт других Объектов Базы Данных:

  • Индексов

  • Описаний стандартных значений (Defaults)

  • Постоянных Отношений (Relationships) (для обеспечения Ссылочной Целостности)

  • Правил Контроля (Validation Rules)

Мастер SQL Server Upsizing дополнительно может выполнить некоторые вспомогательные Операции: определить дополнительные характеристики удаленных Таблиц, дополнить в структуры конкретных Таблиц специальные столбцы (Поля) типа TimeStamp (штамп времени), который обеспечивает надежный механизм обновления Данных. Рассматриваемый мастер SQL Server Upsizing может также преобразовать инструменты вашего Приложения: Формы, Отчеты, Запросы для использования их уже с Удаленными Источниками Данных, размещенными на SQL Server, как ранее они использовали данные из локальных Таблиц Visual FoxPro.

Индексы и стандартные значения (Defaults) Visual FoxPro напрямую отображаются в соответствующие объекты SQL Server. Если вы выбираете вариант преобразования (экспорта) правил контроля (Validation Rules), мастер SQL Server Upsizing патается создать соответствующие Правила Контроля для уровней Поля и уровня Записи для Таблицы сервера SQL Server, полученные объекты являются Хранимыми Процедурами, вызываемыми соответствующими Триггерами SQL Server. Экспортируемые постоянные Отношения (RelationShips) также становятся частью указанных Триггеров Сервера.

Note Совет

Если вы экспортируете постоянные Отношения Таблиц, вы должны также экспортировать соответствующие Индексы, в противном случае снижается производительность обработки удаленных Данных.

Отображение атрибутов Таблиц.

Indexes (Индексы)

Укажите соответствующие структурные индексы Visual FoxPro (.cdx).

Defaults (Стандартные Значения)

Укажите соответствующие правила формирования стандартных значений для Полей Таблиц.

Relationships (Постоянные Отношения)

Укажите локальные Отношения между Таблицами, которые должны быть Масштабированы на Сервер.

Validation rules (Правила Контроля)

Укажите соответствующие Объекты из локальной Базы Данных.

Structure only, no data (отображать только Структуры Таблиц, без копирования Данных)

Укажите выбранный вами вариант Масштабирования на сервер SQL Server.

Use declarative referential integrity (Обеспечение Ссылочной Целостности Данных)

Используется при Масштабировании Данных для серверов SQL Server, версии 6.x. Выбирается для создания ограничений SQL, обеспечивающих Ссылочную Целостность Данных.

Null Mapping (Поддержка значений типа NULL)

Укажите для поддержки в полях Таблиц значений типа .NULL.

Использование данной Опции гарантирует надежное выполнение Операций Insert / Update для удаленных Данных. Данная установка позволяет вам переносить (экспортировать) рассматриваемую характеристику (null) для полей в Таблицах Visual FoxPro для удаленных Таблиц Сервера. Если вы выбираете вариант поддержки значений NULL для полей типа General / Memo некоторой тваблицы, то и для других (всех) масштабируемых таблиц будет применяться правило поддержки значений NULL для полей типа general / memo.

Существуют различия при выполнении команд Visual FoxPro SQL: INSERT / UPDATE при обработке локальных и удаленных данных, для которых установлена характеристика NULL. Например, если выполняется команда INSERT при указании не всех полей Локальной Таблицы, то отсутствующим полям присваиваются пустые значения (0, "",...). При выполнении соответствующей команды INSERT для удаленного Представления (изменение данных SQL Server), то для отсутствующих Полей передаются значения NULL. Если одно из отсутствующих полей не поддерживает значения типа NULL, возникает Ошибочная ситуация, описанная команда не отрабатывает. Поэтому, либо нужно указывать все требуемые Поля в используемой команде INSERT, либо реструктуризировать Таблицу. Однако, для полей типа General / Memo указание постоянных значений порождает снижение производительности системы.

Внесение Изменений в Локальную Базу Данных.

Create upsizing report (Создание Отчета о выполнении /Масштабирования)

Создается несколько специализированных Отчетов, содержащих информацию о ходе процесса Масштабирования.

Redirect views to remote data (Переопределение локальных Представлений в Удаленные)

Выполняются преобразования Локальных Представлений, хранящихся в Контейнере Базы Данных, в соответствующие Удаленные Представления, которые могут использовать как удаленные Таблицы так и Локальные, базовые Таблицы. В этом случае, соответствующие инструменты Приложения: Запросы, Формы, Отчеты, использующие локальные Представления, будут переориентированы на Удаленные Источники Данных

Create remote views on tables (Создание Удаленных Представлений для Таблиц)

При масштабировании локальных Таблиц, в дальнейшем, вам потребуются соответствующие Удаленные Представления для обработки Данных из указанных Таблиц. Мастер SQL Server Upsizing может создать требуемые Удаленые Представления для масштабированных Таблиц. В этом случае, Мастер создает новые удаленные представления с соответствующими Именами, а базовые, локальные Таблицы переименовывает по принципу: к именам локальных Таблиц добавляется стандартный суффикс "_local".

Note Примечание

В общем случае, Не рекомендуется Автоматически создавать для всех масштабируемых Таблиц удаленные Предсталения. Это объясняется тем, что получаемые Представления не являются Оптимизированными, обычно они включают все Поля из структуры Таблицы, что избыточно для Приложения. Более предпочтительным является Метод Неавтоматического создания Параметрических Представлений. Вы можете заранее создать локальные параметрические Представления, которые будут масштабированы, или позднее создать требуемые Удаленные парметрические Представления; смотрите подпункт выше: Redirect views to remote data (Переопределение Представлений). Дополнительную информацию смотрите в разделе: Как: Создавать Параметрические Представления.
Save password with views (Сохранение Пароля доступа при активации Представлений)

По-Умолчанию, при открытии и активации удаленного Представления вы должные вводить идентификационную информацию Пользователя (ваш ID, и пароль) при каждой новом сеансе работы системы Visual FoxPro. Выберите данную опцию для сохранения Пароля в локальном Представлении, которое в дельнейшем будет масштабировано в удаленное Представление на сервере.

Note Примечание

Описанный Контрол (элемент управления) автоматически Включается или Отключается в зависимости от варианта использования именованного Соединения, рассматриваемого на Этапе 2, когда выполняется первичный доступ к удаленному источнику Данных проверяетсяThis check box is checked automatically for you and disabled if you used a named connection earlier in Step 2 to access your data source and that named connection includes a password. При данном сценарии гарантируется сохранение Пароля для именованного Соединения.

Creating Upsizing Reports (Создание Отчетов Масштабирования)

Когда вы указываете рассмотренный ранее пункт Create Upsizing Report, система Visual FoxPro создает соответствующие Отчеты результатов Масштабирования Объектов локальной Базы Данных в соответствующие удаленные объекты SQL Server. Мастер масштабирования размещает данные отчеты в Компонентах нового Проекта, используя при этом следующие Наименования:

  • RptErrors

  • RptField

  • RptIndex

  • RptRels

  • RptTable

  • RptViews

Отчеты о результатах Масштабирования содержат информацию о созданных Устройствах Сервера, об ошибках и предупреждениях, происходящих во время выполнения основных Этапов работы Мастера, описательную информацию путей выполнения отображения локальных Объектов в соответствующие Объекты Сервера, преобразования Типов. После завершения работы Мастера вы можете просмотреть содержание данных Отчетов.

Масштабирование Всех Таблиц при помощи Локальных Представлений.

Если вы используете локальные представления для масштабирования всех Таблиц, то данные Представления переименовываются по правилу: к их именам добавляется сцффикс "_local". Мастер SQL Server Upsizing создает новые базовые Представления на основе структуры, имен, и главных SQL-операторов существующих локальных Представлений. Свойство "KeyField" и другие характеристики Представления сохраняются без изменения, отображаются на удаленный Сервер.

Масштабирование некоторых Таблиц с помощью локальных Представлений.

Если вы выбираете вариант масштабирования только некоторых, конкретных Таблиц с помощью локальных Представлений, мастер SQL Server Upsizing не переименовывает локальные Представления. Вместо этого, переименовываются локальные таблицы, которые отображаются на Сервер, к их именам добавляется суффикс "_local." Например, если вы выполняете экспорт таюлицы с именем "Employees", то эта таблица переименовывается в "Employees_local" в вашей локальной Базе Данных. Рассматриваемый Мастер создает для каждой экспортируемой Таблицы соответствующее удаленное представление. Каждое такое Представление выбирает все Поля и все Записи из удаленных Таблиц.

Note Примечание

Система Visual FoxPro по разному обрабатывает Локальные и Удаленные Представления. Разработанный ранее инструментарий по Доступу и Обработке данных из Локальных источников часто становится менее производительным, по сравнению с его использованием для источников данных, масштабированных на удаленный Сервер.

Диалоговый Бокс "Advanced"

Make Primary Key a Clustered Index (Отображение Первичного индекса в Кластерный индекс)

По-умолчанию, в Таблицах, содержащих первичные индексы (Primary Key), последние автоматически преобразуются в соответствующие Кластерные Индексы, создаваемые Мастером масштабирования SQL Server Upsizing. Это происходит в силу того, что для синтаксиса SQL Server, по- умолчанию, если не указывается секция [CLUSTERED | NONCLUSTERED] в соответствующей команде создания удаленной Таблицы ALTER TABLE statement, которая и испольуется этим Мастером. Первичные индексы обычно создаются по порядку их создания, что не относится к Кластерным Индексам. При помощи рассматриваемого Переключателя вы можете управлять процессом создания Кластерных Индексов.

Drop Local Tables (Исключение (удаление) Локальных Таблиц)

Если вы выбрали вариант создания Представлений для масштабируемых Таблиц, Мастер использует имена этих таблиц для создания соответствующих удаленных Представлений, локальные таблицы при этом переименовываются. В этих условиях данные, переименованные таблицы не используют в дальнейшей работе, поэтому они могут быть исключены из локального Контейнера Базы Данных. Данный переключатель позволяет вам управлять процессом исключения масштабированных таблицы из Базы Данных.

Default Remote View Name (Автоматическое исключение одноименных Представлений)

Если вы выбрали вариант создания удаленных Представлений, вы можете управлять процессом именования сгоответствующих Таблиц. По-умолчанию, имена удаленных представлений используют имена локальных таблиц, а последние уже переименовываются по описанному выше правилу:

  • Prefix Определяет некоторую строку, которая добавляется Слева к именам новых удаленных Представлений.

  • Suffix Определяет некоторую строку, которая добавляется Справа к именам новых удаленных Представлений.

  • None (точные имена локальных Таблиц). По-умолчанию, используются имена локальных, базовых Таблиц.

Выполнение Шага 9 - Finish (Завершение)

На завершающем Этапе, вы можете выполнить следующее:

  • Выполнить Масштабирование, без генерации инструментального (программного) Кода SQL.

  • Только создать необходимый программный Код SQL для выполнения Масштабирования.

  • Сгенерировать Код SQL и выполнить процесс Масштабирования.

Upsize (Масштабирование, Наращивание, Экспорт)

Выполняется Создание удаленной Базы Данных на Сервере по представленным Локальным Данным (Таблицам и так далее).

Save generated SQL (Сохранить программный Код SQL)

В этом режиме, создается необходимый Скрипт SQL для автоматического выполнения процесса Масштабирования локальной Базы Данных, сам процесс не выполняется, удаленная База Данных не создается на Сервере SQL.

Вы можете использовать представленный режим для получения Скрипта SQL, который можно доработать и дополнить специфическими характеристиками. А после этого выполнить полученный программный Код для создания удаленной Базы Данных. Рекомендуемый Дву-Шаговый процесс Масштабирование обеспечивает достаточную гибкость по настройке дополнительных параметров рассматриваемого процесса; с помощью системы Visual FoxPro (данного Мастера) выполняется "черновая" работа по уточнению параметров Таблиц; а при дальнейшем программировании Кода SQL- выполняется более тонкая настройка всего процесса Масштабирования.

Upsize and save generate SQL (Выполнить Масштабирование и сохранить сгенерированный Код SQL)

Выполняется процесс Масштабирования, а соответствующий Скрипт SQL сохраняется в Таблицах VFP.

Первый и третий варианты являются доступными если вы (ваши идентификационные парамертра: Login-Password) обеспечивают выполнение команды CREATE TABLE на выбранном ервере SQL. Если вы выбираете режимы Масштабирования, сохраняющие создаваемый инструментальный Код SQL, который выполняется мастером SQL Server Upsizing, сохраняется в соответствующих Таблицах вашего локального Диска.

Note Примечание
Процесс Масштабирования может выполняться достаточно длительное время, это зависит от размера локальной Базы Данных, скорости обработкти Сетевого Трафика, других факторов Загруженности вычислительной Сети. Масштабирование Больших Таблиц может занимать несколько часов.

Для выполнения Масштабирования выберите соответствующий вариант и нажмите кнопку Finish.

Мастер SQL Server Upsizing создает необходимые Компоненты и начинает процесс Экспорта Данных из Локальных Таблиц Visual FoxPro в соответствующие объекты SQL Server.

См. также

Задачи

Как: Минимизировать Ошибки при работе мастера масштабирования SQL Server Upsizing

Концепции

Как Работает Мастер масштабирования SQL Server Upsizing

Другие ссылки

Системные Мастера (Visual FoxPro)
Масштабирование Баз Данных Visual FoxPro

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: @Shmorin


How to: Resolve SQL Server Upsizing Wizard Errors

Visual FoxPro 9.0
Как: Разрешать ошибки мастера переноса SQL Server
См. Также

Если происходит какая-либо ошибка во время экспорта данных мастером переноса SQL Сервер, Вас спрашивают, хотите ли Вы сохранить сведения об ошибке. Если Вы выбираете сохранять сведения об ошибке, то генерируется отчет об ошибках.

Наибольшее количество ошибок переноса происходят, потому что нет достаточного количества места на устройстве серверной базы данных или журнала, или потому что ваша отдаленная база данных не является достаточно большой, чтобы принять данные, которые Вы экспортируете на сервер. Удостоверьтесь, что Вы выбираете устройства с вполне достаточным свободным местом и что Вы устанавливаете размер вашей базы данных достаточно большим. Некоторые ошибки происходят из-за несоответствующих разрешений входа в систему.

База данных или Файл регистрации заполнены

Мастер переноса SQL Server исчерпывает свободное место и останавливается, если база данных SQL, которую Вы выбрали или создавали, является слишком малой. Чтобы решать эту проблему, Вы можете увеличить пространство для базы данных или файла регистрации. Это решение может привести к удалению базы данных или файла регистрации из процесса переноса.

Для увеличения пространства для новой базы данных или файла регистрации

  1. Очистите базу данных.

  2. Если мастер переноса SQL Сервер изменил имена любых локальных таблиц, восстановите таблицы к их первоначальным именам с помощью:

    • Копирования вашей резервной копии файла .dbc вашей локальной базы данных в вашу систему, записывая поверх измененного файла .dbc.

      - или-

    • Переименования локальных таблиц в их первоначальные имена.

  3. Когда Вы запускаете мастер повторно, определите больший размер базы данных или файла регистрации.

Для увеличения пространства для существующей базы данных

  1. Увеличьте размер базы данных.

  2. Если мастер переноса SQL Сервер изменил имена каких-нибудь локальных таблиц, переименуйте их в первоначальные имена.

    • Копированием вашей резервной копии .dbc файла вашей локальной базы данных в вашу систему, записывая поверх измененного .dbc файла.

      - или-

    • Переименованием локальных таблиц в их первоначальные имена.

  3. Выполните мастер повторно.

Для увеличения пространства для существующего файла регистрации

  1. Увеличьте размер файла регистрации.

    - или-

    Выключите журнал транзакций.

  2. Если мастер переноса SQL Сервер изменил имена каких-либо локальных таблиц, переименуйте их в первоначальные имена.

    • Копированием вашей резервной копии .dbc файла вашей локальной базы данных на вашу систему, записывая поверх измененного .dbc файла.

      - или-

    • Переименованием локальных таблиц в их первоначальные имена.

  3. Выполните мастер повторно.

Вы должны записать таблицы оставшиеся от предыдущего частичного переноса повторно для уверенности, что созданы все отношения таблицы.

Для информации относительно увеличения размеров базы данных или файла регистрации, см. команду ALTER DATABASE в вашей документации SQL Сервера. Для информации относительно отключения журнала транзакций, см. команду DUMP TRANSACTION в вашей документации SQL Сервера.

Устройство заполнено

Устройство, на котором база данных или файл регистрации расположены может заполниться. Вы можете перенести базу данных или журнал регистрации на другое устройство, используя команду ALTER DATABASE или SQL Server Administrator, или Вы можете создать большее устройство.

Для создания большего устройства

  1. Очистите устройство.

  2. Перезапустите SQL Сервер.

  3. Создайте большее устройство.

    Предостережение:
    Очищение устройства удаляет все базы данных и журналы устройства, кроме базы данных, на которую Вы переносите.

Вы можете использовать системную процедуру sp_dropdevice, чтобы очистить устройство. Для подробной информации, см. документацию SQL Сервера.

Неподходящий Уровень Совместимости для переноса

Чтобы увеличить размеры базы данных, Visual FoxPro устанавливает уровень совместимости адресата SQL базы данных к 6.5, вызывая хранимую процедуру SP_DBCMPTLEVEL на SQL Сервере. Удостоверьтесь что login SQL, который Вы используете, имеет соответствующие права для выполнения этого действия.

Чтобы удостовериться что login SQL имеет соответствующие права

  • Проверьте, что login, который Вы используете, имеет разрешения как одно из следующего:

    • DBO

    • Член ролевой группы sysadmin сервера

    • Ролевая группа базы данных DB_OWNER

См. Также

Другие Ресурсы

Мастер переноса SQL Server
Краткий обзор Мастеров
Перенос баз данных Visual FoxPro
Как работает мастер переноса SQL Server

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table Wizard

Visual FoxPro 9.0
Мастер таблиц
Смотрите также

Мастер таблиц создает таблицы на основе типичных табличных структур. Для этого существуют разнообразные шаблоны таблиц, возможность дополнительных настроек стиля, поддержка для двоичных символьных и memo -полей, доступ к базам данных, возможность выбора таблицы из списка типовых заготовок. Задавая или выбирая различные параметры на каждом шаге мастера Вы можете настроить желаемую структуру таблицы, включить ее в базу данных, установить отношения с другими таблицами в базе данных.

Если имеется несколько открытых баз данных, мастер таблиц автоматически добавит создаваемую таблицу к текущей. Если Вы добавляете таблицу к базе данных, мастер таблиц обеспечивает автоматическое форматирование выбранных полей. Если не открыта ни одна база, мастер создаст свободную таблицу. Если таблица включается в базу данных, можно произвести дополнительные настройки таблицы.

Мастер таблиц запускается несколькими способами: через пункт главного меню File -> New -> Table, через пункт главного меню Tools -> Wizards -> Table.

Шаг 1 – Выбор полей

На этом шаге, чтобы создать Вашу таблицу, Вы можете выбрать одну из типовых таблиц и поля, из списка доступных.

Чтобы выбрать поля для Вашей таблицы:

  1. Используйте список Sample Tables, кнопку Add и группу переключателей под ним для выбора нужного шаблона таблицы.

  2. В списке доступных полей выбранной таблицы Available fields пометьте те, которые Вы хотите использовать в Вашей таблице и, нажимая кнопки со стрелками, переместите их в список отобранных полей Selected fields.

Вы можете использовать таблицы из категории деловых или личных, выбрать поля нескольких таблиц. С помощью кнопки Add к списку шаблонов можно добавить, например, одну из собственных таблиц.

Шаг 1a - Выбор базы данных

Этот шаг определяет, следует ли добавлять таблицу к базе данных и, если да, то к какой. Добавление таблицы к базе данных предоставляет Вам расширенные функциональные возможности, но Ваша таблица будет полностью функциональной, и не являясь частью базы данных. Если Вы создаете таблицу в базе данных, мастер таблицы на следующем шаге предоставит расширенные возможности форматирования.

Вы можете также задать другое, более подходящее для Ваших целей, имя таблицы.

Note Примечание

Если таблица создается как свободная, некоторые опции на следующем шаге будут недоступны.

Шаг 2 - Модификация настроек для полей

На этом шаге Вы можете изменить любые, заданные по умолчанию параметры полей. Например, можно изменить максимальную длину символьного поля или количество десятичных разрядов, заданных для числового поля.

Вы можете определить, могут ли поля содержать значения .NULL., изменить или задать значение Caption для поля.

Если Вы создаете таблицу в базе данных, Вы можете также выбрать одну из существующих масок ввода данных для поля каждого типа данных или создать свою маску ввода. Опция Format отображает варианты форматирования.

Шаг 3 - Индексы таблицы

На этом шаге Вы можете определить поле, которое будет первичным индексным ключом вашей таблицы. Вы можете также определить другие поля как вторичные индексные ключи.

Шаг 3a - Определение отношений

На этом шаге, если Вы создаете таблицу в пределах базы данных, Вы можете установить отношения между полями вашей новой таблицы и полями таблиц, уже существующих в базе данных.

В списке My new X table, где X -имя создаваемой таблицы, выделите поле, для которого Вы хотите установить отношения, и затем нажмите кнопку Relationships.

Чтобы определить отношения:

  1. В диалоговом окне Relationships с помощью радиокнопок выберите тип отношения, которое Вы хотите создать.

  2. Выберите поле, по которому связываются таблицы в пределах базы данных. Вы можете создать новое поле, выбрав в списке доступных полей пункт New field и введя его название в ставшем доступным поле ввода под списком.

  3. Нажмите OK.

    Это возвратит Вас в окно Шага 3, где Вы можете определить следующее отношение.

Шаг 5 - Завершение

На этом шаге принимается решение о дальнейших действиях с создаваемой таблицей.

Save table for later use (Сохранить таблицу для последующего использования)

При нажатии на кнопку Finish таблица будет сохранена на диске для последующего использования.

Save table and browse it (Сохранить таблицу и открыть для просмотра и ввода данных)

При нажатии на кнопку Finish таблица будет сохранена на диске и открыта в окне Browse, где у Вас появится возможность добавлять в нее новые записи, выбрав пункт Append New Record меню Table.

Save table and modify it in the Table Designer

При нажатии на кнопку Finish таблица будет сохранена на диске и открыта в конструкторе таблиц для изменения структуры.

Смотрите также

Прочие ресурсы

Мастера (Visual FoxPro)
Работа с таблицами (Visual FoxPro)
Работа с индексами таблиц

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro.


Web Publishing Wizard

Visual FoxPro 9.0
Мастер "Web Publishing Wizard"
Смотрите также

Этот мастер использует данные из таблицы или предаставления для создания HTML документа. Вы можете использовать или распространять файл, который Web Publishing wizard создает в вашем браузере или редактировать его в текстовом редакторе.

Чтобы получить доступ к Web Publishing wizard

  • В меню Tools выберите Wizards и щелкните на Web Publishing.

В Web Publishing wizard вы можете указать раскладку данных, наравне с раскладкой и стилей заголовка и тела HTML страницы. Вы можете использовать дефолтные раскладки и визуальные стили, которые поставляются вместе в мастером или настроить эти раскладки и стили. В дополнение к этому, вы можете подгрузить существующие каскадные таблицы стилей из файла стилей (.css).

Шаг 1 – Выбор полей

В этом шаге вы можете в качестве источника для вашей Web страницы выбрать свободную таблицу или таблицу из базы данных. Вы можете выбрать поля только из единичной таблицы или представления.

Для выбора полей для вашей Web страницы

  1. Используйте элементы управления Databases and Tables для поиска и выбора таблицы, которую вы желаете использовать.

  2. В списке (listbox) Available fields, выберите одно или несколько полей из выбранной таблицы, которые вы желаете использовать, и с помощью кнопок навигации переместите их в список Selected fields.

Шаг 2 – Сортировка записей

Этот шаг, предоставляет вам возможность указать одно или более полей, по которым нужно отсортировать записи в вашей Web странице.

Выберите поля или индексный тэг, которые уже существуют в базе данных для определения порядка сортировки записей. Выберите желаемый тип сортировки по возрастанию, Ascending, или по убыванию - Descending.

Используйте Remove для вывода поля из списка полей, используемых при сортировке записей.

Шаг 3 – Выбор стиля

Этот шаг, предоставляет вам возможность выбрать раскладку данных и визуальный стиль для вашей Web страницы.

Вы можете немного изменить выбранную раскладку, в диалоговом блоке Options, который вы сможете открыть с помощью командной кнопки Options. Вы можете переписать дефолтные установки визуального стиля и добавить свои собственные HTML тэги, используя диалоговый блок Advanced, который вы можете открыть с помощью одноменной командной.

Options

Открывает диалоговый блок Options, которые позволяет вам изменить некоторые свойства выбранной вами раскладки данных.

Advanced

Открывает диалоговый блок Advanced, которые позволяет вам изменить визуальное представление вашей Web страницы с помощью ввода дополнительной таблицы стилей, указав файл стилей (.css), цвета, свойства и некоторые HTML тэги.

Preview

Отображает образец вашей Web странице в выбранной раскладке и визуальном стиле. Предпросмотр ограничен 10 секундами на страницу.

Шаг 4 - Финал

В этом шаге вы можете указать, как сохранить и использовать вашу Web страницу.

Save Web page for later use

Сохраняет полученную Web страницу на диск для последующего использования.

Save Web page and modify it in a text editor

Сохраняет полученную Web страницу на диск и открывает ее в дефолтном текстовом редакторе с тем, чтобы вы смогли ее редактировать.

Save Web page and open it in a browser

Сохраняет полученную Web страницу на диск и открывает ее в дефолтном Web браузере.

Create script for generating Web page

Создает программный файл, который динамически создаст вашу Web страницу.

Save style

Используйте для указания и сохранения имени стиля, который вы применили к вашей Web странице.

Смотрите также

Прочие ресурсы

Мастера - Wizards (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Advanced Dialog Box

Visual FoxPro 9.0
Advanced, диалоговый бокс (Расширения)
Смотрите Также

Рассматриваемый диалоговый бокс является составной частью системного Мастера Web Publishing (описание страниц Интернет) и позволяет вам задать дополнительные характеристики указанных Страниц Web. Данный диалоговый бокс активируется на третьем шаге работы указанного Мастера, когда нажата соответствующая кнопка Advanced. Вы можете определить параметры форматирования Объектов или определить таблицы Стилей, соответствующие файлы (.css); или уточнить ключевые Элементы страниц HTML, текстовые заголовки или другие дополнительные характеристики фоорматирования.

Для Активации данного Диалогового бокса (Advanced)

  1. Из системного меню Tools, выберите группу Wizards (мастера), и конкретный мастер публиуации (Web Publishing).

  2. Выполните необходимые действия для шагов работы Мастера (1 и2), пока не активируется третий Шаг.

  3. Нажмите кнопку Advanced (расширения).

Cascading style sheet (каскадные таблицы стилей)

Данный Контрол позволяет определить (описать) требуемые файлы стилей (.css), которые будут использоваться для описания и форматирования страниц Web.

Body Color (цвет Фона страницы)
С помощью данного Контрола - вариантного раскрывающегося Списка можно определить цвет Фона создаваемых Страниц. Данный параметр покрывает определение цветовой схемы, определенной в соответствующем стилевом элементе.

Image (изображение)

В данном контроле указывается графический файл, который будет размещен на странице Web.

Copy graphics to HTML output location (копировать графические элементы по адресу размещения HTML)

С помощью данного переключателя определяется требование обязательного копирования всех графических элементов оформления рассматриваемых страниц всесте с самими Страницами Web.

Save Settings (сохранить параметры)

Данная кнопка выполняет операцию сохранения измененных стилевых таблиц, которые планируется использовать в дальнейшем, при публикации других Страниц Web.

Load Settings (Загрузить параметры)

Данная кнопка выполняет операцию загрузки сохраненных ранее пользовательских настроек и параметров.

Additional HTML Items (дополнительные Элементы страниц HTML)

С помощью данного разделы вы можете уточнить параметры Тэгов HTML, которые будут использованы на страницах Web.

Add (добавить)

Данная кнопка открывает (активирует) соответствующий диалоговый бокс HTML Item, в котором указываются дополнительные элементы оформления страниц Web. Подробнее можно посмотреть в разделе: HTML Item, диалоговый бокс.

Edit (изменить)

Данная кнопка открывает (активирует) соответствующий диалоговый бокс HTML Item, в котором можно изменить требуемые компоненты выбранных ранее элементов Web. Дополнительно смотрите раздел: HTML Item, диалоговый бокс.

Remove (исключить)

Данная кнопка позволяет исключить выбранный Элемент HTML из списка оформления страниц Web.

См. также

Описание

Web Publishing, мастер
HTML Item, диалоговый бокс (Элементы страницы HTML)
Layout Options, диалоговый бокс (Параметры Оформления)

Другие ссылки

Системные Мастера (Wizards) (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


HTML Item Dialog Box

Visual FoxPro 9.0
HTML Item, диалоговый бокс
Смотрите Также

Диалоговый бокс HTML Item является составной частью системного (Visual FoxPro) Мастера Web Publishing. В представленном диалоговом боксе вы можете определить дополнительные параметры Оформления и другие Элементы создаваемых страниц Web.

Для Активации данного диалогового бокса HTML Item:

  1. Из системного меню Tools (Инструменты), выберите подпункт Wizards (Мастера), далее выберите мастер Публиуации: Web Publishing.

  2. Перемещайтесь по Этапам Мастера (определяйте не6обходимые Параметры), пока не достигните Шага 3 (Step 3).

  3. Нажмите командную кнопку Advanced (Расширения).

  4. В активированном диалоговом боксе Advanced, нажмите кнопку Add (добавить).

Type (типы, варианты)

Данный Список типа (drop-down) содержит варианты Тэгов HTML, которые вы можете добавить в создаваемую Страницу WEB.

Location (Размещение)

Данный Список типа (drop-down) содержит варианты размещения выбранного ранее нового Элемента HTML — в заголовке Страницы, перед массивом Данных, после массива Данных.

Text Formatting (Форматирование текстовых Элементов)

  • Text (текст) В данном Контроле введите требуемый Текстовый Элемент, который планируете добавить в WEB-страницу.

  • Heading (заголовок) Выберите требуемый Тэг Заголовка HTML, в который будет размещен заданный выше Текстовый Элемент.

  • Bold (Strong) - выделенный Определите, будет ли выделен заданный вами Текст.

  • Italic (курсив) Определите, будет ли выделен Курсивом заданный вами Текстовый элемент.

  • Font name (имя Шрифта) Вы можете выбрать требуемый вам тип Шрифта. Если вы используете вариант размещения: В Заголовке, данная опция будет Отключена, для определяемого вами Текстового Элемента используется Шрифт, заданный для общего Заголовка Страницы WEB.

  • Size (размер) Определяет размер Шрифта создаваемого Элемента. Аналогично, если выбран вариант: в заголовке - данная опция будет отключена.

  • Alignment (расположение) Определяет выравнивание: по-левому-краю, по-правому-краю, по-центру.

  • Forecolor (цвет символов) Определяет цвет символов создаваемого Текстового Элемента (HTML item).

  • Backcolor (цвет фона) Определяет цвет Фона создаваемого Элемента (HTML item).

Attributes (дополнительные атрибуты)

  • File/HREF (файл, или Ссылка) Определяется расположение (или размещение) дополнительного (внешнего) файла (или URL - ссылка), которые вы можете закрепить за создаваемым Текстовым Элементом; Hyperlink-гиперссылка или Image (картинка), которые могут быть выбраны из соответствующего раскрывающегося Списка.

  • Style Class (Класс Стиля) Определяет полную ссылку на файл Стиля Оформления (описания класса Стиля), файл типа: (.css).

Когда вы закончите уточнение всех необходимых Параметров, нажмите кнопку - OK, осуществляется возврат в диалоговый бокс Advanced, где вы можете определить следующий Текстовый Элемент (HTML item), сохраните введенные Данные, перейдите к Шагу 4. работы Мастера Публикации (Web Publishing).

См. также

Описание

Мастер Web Publishing
Advanced (Расширения), диалоговый бокс
Layout Options (Параметры Оформления), диалоговый бокс

Другие ссылки

Мастера (Visual FoxPro)

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Layout Options Dialog Box

Visual FoxPro 9.0
Диалоговый Бокс Layout Options (Выбор Формата)
См. также

Диалоговый бокс Layout Options является частью мастера Web Publishing (Web-Издания ). Этот диалоговый бокс позволяет Вам изменять умалчиваемые значения выбранного формата данных. Вы можете сохранить любые изменения, сделанные Вы, как новый формат данных и спецификацию стиля кнопку Save Settings (Сохранить Установки) в диалоговом блоке Advanced (Продвинутый).

Для доступа к диалоговому боксу Layout Options проделайте следующее:

  1. Из меню Tools выберите Wizards и затем кликните на Web Publishing.

  2. Двигайтесь по мастеру до тех пор, пока не достигните Шага (Step) 3.

  3. Кликните на Options.

Border (Граница)

Эта закладка позволяет Вам выбрать цвета фона и границы, а также вес границы. В качестве фонового изображения Вы можете указать файлы с расширением .gif или .jpg.

  • Border color Определяет цвет границы.

  • Background color Определяет цвет фона для графики и текста.

  • Background image Определяет имя файла фонового изображения с расширением .gif или .jpg и, при необходимости, путь к нему.

  • Border width Определяет толщину границы в точках.

Font (Шрифт)

Эта закладка позволяет Вам определять один или несколько HTML-шрифтов в случае, если пользователь не имеет на своей машине этих шрифтов. Это поможет обеспечить нормальный просмотр шрифтов в различных браузерах.

Кроме того, Вы можете указать имя шрифта и изменить его умалчиваемый цвет.

  • Font names Определяет имя шрифта и, при необходимости, путь к нему.

  • Font size Определяет размер шрифта.

  • Forecolor Определяет цвет текста.

Other (Прочее)

Эта закладка позволяет Вам определять имя HTML-класса, используемого в Вашей Web-странице.

Закладка Other также может предоставить доступ к установкам свойств, которые характерны для конкретного выбранного формата.

  • Style class Определяет имя и путь к файлу с расширением .css, который содержит класс стилей, используемых в Вашей Web-странице.

  • First row color Позволяет выбрать из выпадающего списка (drop-down list) цвет первой группы строк, отображаемой таблицы на Вашей Web-странице.

  • Next row color Позволяет выбрать из выпадающего списка (drop-down list) цвет второй группы строк, отображаемой таблицы на Вашей Web-странице.

  • Row offset Определяет количество строк в каждой группе строк отображаемой таблицы. Каждый из выбранных Вами цветов будет применен к этому количеству строк.

Reset Defaults (Установить по Умолчанию)

Используйте эту кнопку, чтобы восстановить все выбранные Вами опции в оригинальное значение мастера Web Publishing.

После нажатия на кнопку OK диалоговый бокс закроется и Вы вернетесь на Шаг 3 мастера Web Publishing.

См. также

Ссылки

Мастер Web Publishing
Диалоговый бокс Advanced
Диалоговый бокс HTML Item

Другие ресурсы

Мастера (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Windows (Visual FoxPro)

Visual FoxPro 9.0
Windows (Visual FoxPro)

Поясняет различные функции и их варианты, встречающиеся в различных окнах Visual FoxPro.

В этой секции

Accessibility Browser Window

Делает возможным исследование различных элементов интерфейса пользователя приложения через их интерфейс Iaccessible.
Automated Test Harness Window

Делает возможным запись и воспроизведение последовательности событий мыши и клавиатуры в ваших приложениях.
Browse Window

Показывает записи в активной таблице.
Call Stack Window

Делает возможным, просмотр, выполняющихся процедур, программ, и методов. Во время выполнения программы последовательность вызовов отображается в окне Стек Вызовов.
Class Browser Window

Показывает классы в библиотеке классов или форме и информацию о библиотеке типа .tlb, .olb, или файла .exe.
Code References Window

Делает возможным, выбор и замену указанного кода или текста после выполнения поиска, используя диалоговое окно Look Up Reference.
Code Window

Используйте окно Кода, чтобы написать, показать, и редактировать форму, событие, код метода.
Command Window

Показывает команды языка, когда вы выбираете команды меню. Командное окно - это системное окно Microsoft Visual FoxPro.
Component Gallery Window

Показывает в виде иконок, компоненты, доступные вашим проектам в Microsoft Visual FoxPro, приложения, конструкторы, мастера, и построители, которые дают возможность управлять файлами, доступными в вашей системе различными способами.
Coverage Profiler Window

Содержит панель инструментов Coverage Profiler с группой кнопок для настройки отображения информации возвращаемой модулем Coverage Engine.
Data Session Window

Дает возможность открывать и просматривать таблицы или представления, устанавливать временные связи, и свойства рабочей области.
Debug Output Window

Делает возможным просмотра результатов работы активных программ, процедур, или методов.
Debugger Window

Содержит меню отладчика, панель инструментов отладчика, и несколько окон отладки.
Document View Window

Позволяет просматривать и переходить к какой-нибудь процедуре, функции, или определению #DEFINE или директиве препроцессора в вашей программе.
Editing Window

Позволяет создавать и редактировать файл с текстом программы.
General Field Window

Позволяет создавать или вставлять объекты OLE.
Go To Definition Window

Дает возможность выбора одного из нескольких определений кода, найденных при использовании View Definition, чтобы просматривать определения элементов кода в вашей программе.
Locals Window

Показывает все переменные, массивы, объекты и составляющие объектов, которые видимы в представленной программе, процедуре, или методе.
Object Browser Window

Показывает классы, свойства, методы, события, и константы, доступные при использовании библиотек COM объектов.
Project Manager Window

Предоставляет возможность организовывать и управлять вашими файлами в проектах.
Properties Window

Содержит список свойств, событий, и методов выбранной формы, окружения данных, курсора, связи, или контрола.
Task List Manager Window

Описывает важную информацию о задачах с использованием визуализации, как например цветной текст и иконки.
Trace Window

Отображает строки вашего программного кода, в порядке его выполнения.
Visual FoxPro Intellisense Manager Window

Дает возможность настроить отображение и поведение синтаксических конструкций и другую информацию, отображаемую в окне свойств, редакторе, и окнах программного кода.
Visual FoxPro System Windows

Является частью интерфейса продукта Visual FoxPro.
Watch Window

Дает возможность показать выражения и их текущие значения, и установленные контрольные точки на данном выражении.

Связанные Секции

User Interface Reference

Пояснения, которые доступны в диалоговых и других окнах, и других интерфейсах пользователя. Эти пояснения появляются когда вы нажимаете F1 в диалоговом или другом окне.
Creating Applications with the Application Framework

Описывает, как создается структура приложения включая все необходимое, и мнжество дополнительных, элементов, которые делают приложение эффективным и удобным в использовании.
Builders

Описывает инструменты, которые помогают в настройке свойств контролов на форме. В отличие от мастеров, построители - вы можете переоткрывать на специфическом контроле для повторного использования.
Dialog Boxes

Предлагает варианты, появляющиеся в различных диалоговых окнах.
Developing Visual FoxPro Applications

Включает информацию о том, как разработать приложения на Visual FoxPro, инструкции для создания баз данных, интерфейса пользователя, и другие задачи необходимые для создания приложения на Visual FoxPro.
Programming in Visual FoxPro

Описывает, для понимания, методы объектно-ориентированного программирования и модель управления прерываниями помогающую максимально повысить вашу продуктивность программирования и предоставить возможность наиболее полно использовать возможности Visual FoxPro.
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Accessibility Browser Window

Visual FoxPro 9.0
Окно Accessibility Browser
Смотрите также

Вы можете использовать Accessibility Browser с целью исследования различных элементов интерфейса пользователя в приложениях через его интерфейс IAccessible и разработки приложений, которые станут более удобными для людей с ограниченными физическими возмождостями. Исходный код обозоревателя включен в поставку, так что вы сможете расширять функциональные возможности этого инструмента.

Для получентия более подробной информации смотрите описание задачи Как: использовать Accessibility Browser.

This VFP session

При щелчке по этой кнопке, список элементов интерфейса пользователя заполняется из текущего экземпляра Visual FoxPro.

Separate VFP session

При щелчке по этой кнопке, открывается окно новой сессиb VFP и список элементов интерфейса пользователя заполняется из нового экземпляра Visual FoxPro.

Refresh

Обновляеть список элементов интерфейса пользователя на основе выбранной сессии и состояния чек-бокса Forms only (Только формы).

Forms only

При выборе этого чек-бокса, отображаются элементы только форм Visual FoxPro (из коллекции _VFP.Forms). В противном случае, в список включаются все элементы интерфейса пользователя приложения Visual FoxPro.

+

Разворачивает список элементов интерфейса пользователя.

-

Сворачивает список элементов интерфейса пользователя.

Список элементов интерфейса пользователя

Содержит иерархический (основанный на родительских контейнерах) список всех доступных элементов интерфейса пользователя. Этот список заполняется, когда вы производите щелчок по кнопке Refresh. Когда вы щелкаете по элементу списка, свойства IAccessible этого элемента отображаются в области детального описания члена.

Область Member detail (Детальное описание члена)

В этой области приводятся свойства IAccessible и их значения для элемента выбранного в списке . Для получентия более подробной информации о свойствах и методах IAccessible, посетите сайт Microsoft Accessibility по адресу http://www.microsoft.com/enable/.

Go (accParent)

Выбирает родителя текущего элемента в списке элементов интерфейса пользователя.

Go (accChild)

Выбирает дочерний элемент текущего элемента в списке элементов интерфейса пользователя. Дочерний элемент представляет собой элемент, выбранный в выпадающем списке accChild слева от кнопки Go.

Do It

Выполняет действие по умолчанию для выбранного элемента.

<- (accNavigate)

Переход к предыдущему элементу.

-> (accNavigate)

Переход к следующему элементу.

Select

Выбирает текущий элемент в списке.

Focus

Устанавливает фокус на текущий элемент в списке.

Click

Производит щелчок по текущему элементу в списке.

Flash

Отображает жетый бордюр вокруз реального элемента интерфейса пользователя, выбранного в списке элементов.

Highlight

Когда выбрана эта кнопка, то обеспечивается автоматическая подсветка желтым бордюром реального элемента интерфейса пользователя при выборе его вами в списке элементов.

Поддерживаемые платформы

Windows 2000 и более поздние версии включают в себя базовую поддержку Accessibility. Ранние версии Windows поддерживают Accessibility в различной степени.

Platform | Description of support
Windows 98 | Включает Active Accessibility версии 1.1 в начальном релизе Windows 98; однако, вы можете запустить msaardk.exe для обновления в последнюю версию Active Accessibility. Поддерживаются все языковые версии Windows 98, а будущие сервисные пакеты Windows 98 будут содержать обновленные, локализованные версии Active Accessibility.
Windows 2000 | Включает основные системные файлы Active Accessibility для всех языковых версий операционной системы. Поддерживаются как Intel, так и Alpha процессоры.
Windows Me | Опции Accessibility инсталлируются по умолчанию во время установки Windows Me, что делает Accessibility Wizard и утилиты всегда доступными. Улучшенная интеграция Microsoft Active Accessibility в Windows Me помогает сделать любые средства доступности более настраиваемыми и эффективными.

Смотрите также

Задачи

Как: использовать Accessibility Browser

Прочие ресурсы

Окна (Visual FoxPro)
Инструменты повышения производительности разработок
Доступность для людей с ограниченными физическими возможностями (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Automated Test Harness Window

Visual FoxPro 9.0
Окно Automated Test Harness
Смотрите также

Окно Visual FoxPro Automated Test Harness Window позволяет вам записывать и проигрывать события мыши и клавиатуры в ваших приложениях Visual FoxPro. После того, как вызовите тестировщик командой:

DO (HOME() + "tools\test\aatest")

будет вызвано Окно Visual FoxPro Automated Test Harness Window и выведено меню тестировщика:

Ниже описаны закладки окна и действия, которые вы можете выполнять в этом окне.

Закладка Scripts (Скрипты)

На этой закладке вы можете просмотреть и работать с существующими скриптами, которые были записаны ранее с помощью Test Harness. Вы можете редактировать любой скрипт, выделением его в grid с последующим щелчком на командной кнопке Edit the test script (Редактировать текст скрипта) полоски инструментов или выбором пункта менюEdit Script (Редактировать скрипт). Одновременно могут быть проиграны один или несколько скриптов. Пометьте чек-боксы скриптов, которые вы желаете проиграть и затем щелкните на командной кнопке Play the script (Проиграть скрипт) полоски инструментов или выберите пункт меню Play (Проиграть). На этой закладке доступны перечисленные ниже опции:

  • Список скриптов

    Отображает все записанные скрипты. Информация для скрипта отображается в строке, включающей предскрипты и постскрипты, которые исполняются после основного скрипта. Основной скрипт использует лог события. Элементы, отмеченные в первой колонке используются при удалении или проигрывании. Функция Edit script (Редактировать скрипт) применяется только к выделенной строке в решетке.

  • Кнопка Delete (Удалить)

    Удаляет помеченные скрипты (отмеченные в первой колонке).

Закладка Options (Параметры)

Эта закладка имеет необязательные установки, которые вы можете выбрать как для записи, так и для проигрывания скриптов. На этой закладке доступны перечисленные ниже параметры:

  • Overwrite the existing script (Переписывать существующий скрипт)

    Если этот чек-бокс отмечен, существующий скрипт во время записи будет переписан с этим же наименованием, без запроса подтверждения на перепись.

  • Always launch new VFP Window (Всегда запускать новое окно VFP)

    Если этот чек-бокс отмечен, запись всегда начнется с запуском нового экземпляра Visual FoxPro.

  • Validate startup window before playback (Проверять окно запуска перед проигрыванием)

    Если этот чек-бокс отмечен, окно запуска проверяется по отношению к записанному окну. Если найдено несоответствие, то это приведет к запросу с ошибкой. Тест будет неудачным, если появится неожиданное окно или если произойдет ошибка.

  • Check for presence of each object (Проверять присутствие каждого объекта)

    Если этот чек-бокс отмечен, объект, связанный с каждым событием будет проверен до проигрывания. Например, Если записано событие "keypress" элемента управления textbox, присутствие объекта с этим же именем проверяется до проигрывания события. Если объекта нет, то будет отображено сообщение об ошибке.

  • Check for program error (Проверка на ошибки программы)

    Эта опция используется для отчета об ошибках в тестируемом приложении. Если этот чек-бокс отмечен и имелись ошибки во время проигрывания, то они будут записаны в логи теста. Результаты теста могут быть просмотрены на закладке Test Log (Лог (регистрация) теста).

  • Run count (Счетчик запусков)

    Указывает сколько раз запускался во время проигрывания каждый скрипт, выбранный на закладке Scripts (Скрипты).

  • Delay between events (Задержка между событиями)

    Предоставляет вам мозможность указать конкретную задержку (в миллисекундах) между событиями во время проигрывания.

  • On script failure (При ошибке скрипта)

    Обеспечивает опции обработки ошибок, если во время проигрывания возникли проблемы. Вы можете abort (прервать) скрипт целиком, skip (пропустить) только те события, которые вызвали ошибке или continue (продолжить) проигрывание скрипта, после попытки проиграть ошибочный скрипт заново.

Test Log

На этой закладке отображаются результаты из тестов запусков (проигрываний). На этой закладке доступны перечисленные ниже опции:

  • Список логов тестов (выведенных в grid)

    Отображает полезную информацию о скриптах, которые проигрывались самыми последними. Memory usage (использование памяти) представляет собой значение, определяющее разницу в количестве используемой памяти до и после запуска теста.

  • Кнопка Delete (Удалить)

    Удаляет выбранный лог теста.

Закладка Coverage Log (Регистрация охвата)

Вы можете установить регистрацию coverage с помощью использования установок на закладкеCoverage Log (Регистрация охвата). Во время проигрывания, это включить регистрацию охвата и сохранить лог в указанном файле.

  • Turn on coverage logging during playback (Включить регистрацию охвата во время проигрывания)

    Если этот чек-бокс отмечен, то во время проигрывания скрипта создается записи регистрации охвата.

  • Overwrite the log if file exists (Переписывать существующий файл регистрации)

    Если этот чек-бокс отмечен, то файл регистрации автоматически переписывается, без вывода предупреждения.

  • Кнопка View Log (Просмотр лога)

    Отображает записи регистрации охвата теста, если они существуют.

  • Кнопка Coverage Profiler (Профайлер охвата)

    Вызывает Coverage Profiler (Профайлер охвата), который загрузит регистрацию охвата, если она существует; в противном случае, будет запрошен файл регистрации.

Смотрите также

Задачи

Как: использовать Automated Test Harness

Справочное руководство

Описание языка тестирования и обработки ошибок
Окно обозревателя доступности

Концепции

Приложение Coverage Profiler

Прочие ресурсы

Окна (Visual FoxPro)
Тестирование и отладка приложений

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Browse Window

Visual FoxPro 9.0
Browse Window
See Also

Показывает записи в активной таблице.

Когда вы просматриваете таблицу в окне Просмотра, то вы можете использовать два различных метода отображения записей таблицы. Browse(просмотр) и Edit(редактирование). Вы можете переключать эти методы, выбирая методы отображения Browse(просмотр) или Edit(редактирование) из меню View(Вид).

Примечание:
Когда вы открываете таблицу, используя команду Open(открыть) из меню File(файл), то вам дополнительно придется использовать команду Browse <table> из меню View для того, чтобы увидеть содержимое таблицы, после чего можно выбрать нужный режим просмотра записей.

Перемещаться по таблице, для того чтобы выбирать нужные поля, можно следующими способами. Сделать щелчок левой кнопкой мыши на нужной ячейке таблицы или перемещаться по ячейкам используя нажатие клавиш на клавиатуре TAB, ENTER или клавиши со стрелками. Также можно поменять порядок столбцов в таблице, сделайте щелчек левой кнопкой мыши на имени поля (заголовок столбца) и не отпуская переместите столбец в новое положение, после чего отпустите кнопку мыши.

Чтобы ввести недействительное значение в поле, которое может принимать такие значения, выберите необходимую ячейку таблицы для ввода значения и нажмите CTRL+0 содержание поля заполнится недействительное значение определенным командой SET NULLDISPLAY (например, ".NULL.")

Если вы выбираете команду Append From(добавить из) из меню View(Вид), окно просмотра автоматически добавляет новую пустую запись. Когда же вы заполните в новой записи хотя бы одно поле значением, то при попытке перейти на следующую(еще не существующую) запись новая пустая запись добавиться автоматически. Если все поля останутся не заполнены значениями, то переход на следующую (еще не существующую) запись будет не возможен.

Примечание:
В некоторых случаях, если вы просматриваете таблицу или курсор, генерируемый запросом crosstab, имена полей начинаются с символа и тире, указывая вид данных поля. Например, числовое поле начинается с N-.

See Also

Other Resources

How to: Configure Browse Windows or Grids
How to: View Records in Tables
Windows
BROWSE Command
SET BRSTATUS Command
SET REFRESH Command

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Call Stack Window (Visual FoxPro)

Visual FoxPro 9.0
Системное окно Call Stack (Visual FoxPro) - Стэк выполнения
См. Также

Данное окно позволяет вам отслеживать выполняемые в текущий момент процедуры, программные модули или методы объектов. Если программа запускается, то она сразу отображается в списке системного окна Call Stack. Если вы выполняете программный модуль, запускаемый из другой программы или процедурного файла, то оба указанных модуля отображаются в указанном списке запущенных модулей; и так далее....

Данное окно активируется при выборе опции Call Stack из соответствующего меню Window, в системном окне Debugger.

Output Pane

В данной секции отображаются выполняемые в данный момент Процедуры, программные модули, Методы.

Call Stack Indicator

Показывает Точку выполнения программы, процедуры, метода.

Вы можете настроить системное окно Call Stack, см. дополнительно раздел Закладка Debug, Диалоговый бокс.

См. также

Описание

Закладка Debug, Диалоговый бокс Options
Системное окно Debugger
Горячие клавиши и Меню подсистемы Debugger
Системное окно Debug Output
Системное окно Watch (Visual FoxPro)

Другие ссылки

Системные Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Window Class Browser

Visual FoxPro 9.0
Окно Class Browser
Смотрите также

Class Browser отображает классы в библиотеках классов или формах, а также информацию библиотеки типов в файлах библиотек типов (.tlb), библиотек объектов (.olb) или исполнимых файлов (.exe). Вы можете использовать Class Browser для просмотра, использования и управления классами и их, определенных пользователями, членов. Для получения более подробной информации смотрите описание Работа с Class Browser.

Note Замечание

Вы можете открыть контекстное меню Class Browser щелчком по правой клавише мыши в окне Class Browser или нажатием ALT+F10.

В Visual FoxPro 9.0, вы можете ,кроме того, отобразить определения классов в программных файлах (.prg.). Многие возможности Class Browser, которые доступны для библиотек классов доступны и для программных файлов. Вы можете выполнить двойной щелчок на методе или событии, для редактирования содержащегося в нем кода, и вы можете выполнить двойной щелчок на свойстве отображения его значения. Вы можете ,кроме того, выполнить двойной щелчок в программном классе для изменения его структуры. Классы в программных файлах могут быть просмотрены в иерархическом или неиерархическом виде, и вы можете отфильтровывать защищенные и скрытые члены.

Иконка класса

Отображает иконку, представляющую выбранный класс или библиотеку классов. Эта иконка появляется рядом с боксом типа только того, когда класс выбран в списке классов Class Browser. Вы можете указать другую иконку (.ico) или файл bitmap (.bmp) для использования с классом.

Для получения более подробной информации смотрите описание Как: указать внешний вид для классов в Design-Time.

Бокс выбора типов

Позволяет производить выбор или ввод типа класса или символьной строки для фильтрации перемещений. Выпадающий список показывает базовые классы. Список ,кроме того, сохраняет историю типов класса и фильтры которые вы выбрали или ввели для текущего экземпляра Class Browser.

Командные кнопки Class Browser

Выполняют различные команды Class Browser. Контексное меню предоставляет дополнительную функциональность.

Для получения более подробной информации смотрите описание Командные кнопки Class Browser.

Список классов

Отображает классы и субклассы в открытом файле библиотек классов (.vcx), формы (.scx) или программы (.prg).

Note Замечание

Символ шеврона (<<), появляющийся рядом с классом, указывает на то, что родительский класс размещен в файле, который не отображается в списке классов.

Список членов

Отображает объекты-члены и любые, определенные пользователем, свойства и методы класса или формы, выбранного в списке классов. Вы можете отфильтровать этот список выбором одной из приведенных ниже опций из контекстного меню списка членов:

  • Protected filter Если иконка защиты (в виде ключа) отображается рядом с элементом контекстного меню Protected filter, защищенные члены

  • отображаются в списке членов. Защищенные члены, кроме того, указываются с помощью звездочки (*).

  • Hidden filter Если иконка сокрытия (в виде замка) отображается рядом с элементом контекстного меню Hidden filter, скрытые члены отображаются в списке членов. Скрытые члены, кроме того, указываются с помощью крышки (^).

  • Empty filter Если значок отметки отображается рядос с с элементом контекстного меню Empty filter, то пустые методы отображаются в списке членов. Пустые методы указываются также с помощью символа тильды (~).

Бокс описания класса

Отображает описание выбранного класса. Это бокс размещается слева внизу окна Class Browser. Вы можете отредактировать описание в этом боксе.

Бокс описания члена

Отображает информацию о выбранном члене класса. Это бокс ращмечащется справа внизу окна Class Browser.

Note Замечание

Для объектов-членов, содержимое бокса маркировано, как "только для чтения" и отображает информацию о классе и базовом классе. Для членов, представляющих собой пользовательские свойства или методы, бокс отображает описание, которое вы можете редактировать. Для экзмпляров класса, бокс отображает ("только для чтения") описание, которое включает в себя область видимости переменной (public или hidden), имена членов и значения свойств.

Смотрите также

Справочное руководство

Методы Class Browser
Свойства Class Browser
Короткие клавишные ключи (Visual FoxPro)

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Class Browser Buttons

Visual FoxPro 9.0
Командные кнопки Class Browser
Смотрите также

В Class Browser доступны описанные ниже командные кнопки. Для получения более подробной информации смотрите Окно Class Browser и Работа с Class Browser.

Component Gallery

Заменяет содержимое окна Class Browser содержимым окна Component Gallery для управления элементами фундаментальных классов.

Open

Открывает существующий файл библиотеки классов(.vcx), создает файлы новой библиотеки классов и библиотеки типов или открывает существующий файл формы/набора форм (.scx).

View Additional File

Добавляет существующий файл библиотеки классов(.vcx) или файл формы или набора форм (.scx) в список классов или создает файл новой библиотеки классов. Для просмотра списка ранее просматриваемых в Class Browser файлов библиотек выполните щелчок по правой клавише мыши на кнопке View Additional File.

View Class Code

Отображает код определения класса в файле программы (.prg) для выбранного класса. Класс в этом случае открывается с признаком "только для чтения" и вы не можете сохранить никакие изменения сделанные вами в классе. Однако, вы можете сохранить код в файле с другим именем.

Find

Ищет указанный текст в именах классов, описаниях классов, именах членов, и описаниях членов.

New Class

Создает субкласс выбранного класса или любого существующего класса.

Rename

Изменяет имя выбранного класса, свойства или метода.

Caution note Предупреждение

Переименование класса может повлечь за собой недоступность форм или классов, которые не оторбажаются в текущий момент времени в окне Class Browser и которые связаны с классом. Изменени имени свойства или метода может привести к неудачам при обращениях к свойствам или вызовах методов.

Redefine

Изменяет родительский класс выбранного класса.

Clean Up Class Library

Запускает команду PACK для удаления из файла .vcx помеченных к удалению записей. Для получения более подробной информации смотрите описание Команда PACK.

Смотрите также

Прочие ресурсы

Использование Component Gallery

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Code References Window

Visual FoxPro 9.0
Окно Code References (Ссылки кода)
Смотрите также

Отображает результаты поиска ссылок кода, которые отвечают условиям поиска в области проект/каталог и типам файлов, определенных в диалоговом окне Look Up Reference (Поиск ссылки). Для получения более подробной информации смотрите описание Диалоговое окно Look Up Reference (Поиск ссылки).

Note Замечание

На сайте российского FoxClub доступна локализованная, русскоязычная версия Code References

Окно Code References (Ссылки кода) появляется после того, как вы произвели поиск с помощью диалогового окна Look Up Reference (Поиск ссылки) или когда вы выбираете Code References (Ссылки кода) из меню Tools (Инструменты), когда вы желаете поискать среди раннее найденных ссылок в коде в том же самом проекте или каталоге. Текущий активный проект всегда имеет преимущество над областью поиска "Каталог". Если диалоговое окно Look Up Reference (Поиск ссылки) было ранее открыто, вы можете, кроме того, вызвать окно Code References (Ссылки кода) с помощью приведенной ниже строки кода:

CopyCode image Скопировать код
DO (_FOXREF)

Вы можете обеспечить постоянную видимость окна Code References (Ссылки кода) поверх других окон, когда эти окна активны. Для этого в окне Code References (Ссылки кода) выполните щелчок по правой клавише мыши справа от полоски инструментов и выберите Always On Top.

Однако, если вы выбрали "Always on Top" для других окон Visual FoxPro, вы не увидите различия в поведении окна.

В окне Code References (Ссылки кода) доступны перечисленные ниже командные кнопки. Вы можете найти некоторые из команд, связанных с этими кнопками в контекстных меню, доступных в разных панелях окна Code Reference (Ссылки кода).

Открыть - кнопка с иконкой каталога

Открывает или выводит поверх других окон конструктор для выбранного файла. Команда Open (Открыть) доступна только в том случае, если выбран узел файла.

Кнопка с изображением направленной вниз стрелки

Служит для переключения между областями поиска "Проект/Каталог".

Search (Поиск)

Отображает диалоговое окно Look Up Reference (Поиск ссылки) для производства нового поиска ссылок.

Refresh (Обновить)

Обновляет ранее полученные результаты поиска текущими результатами.

Replace (Заменить)

Отображает диалоговое окно Replace (Заменить) для указания выражения замещения ссылки кода, выбранной в панели результатов. В диалоговом окне Replace (Заменить) доступны перечисленные ниже опции:

  • Replace with (Заменить на) указывает выражение, которое заменить выбранное выражение ссылки кода или ссылок.

  • Confirm replacements (Подтверждать замещения) Открывает диалоговое окно в котором вы можете либо подтвердить, отклонить или отменить операцию замещения для каждой ссылки кода.

  • Preserve case (Сохранить регистр) Производит операции замещения, используя оригинальное использование верхнего или нижнего регистра символов ссылки кода или замещаемого текста. Сохранение регистра текста включает в себя только верхний и нижний регистры и титульный регистр, в котором все первые символы слов выводятся в верхнем регистре (заглавными букавами). Эта опция не поддерживает смещанное использование регистров, такое как "FoxPro", поскольку длины оригинального и замещающих значений могут отличаться.

  • Create backup of modified files (Создать резервную копию изменяемых файлов) Создает резервную копию выбранных файлов до производства операции замещения. Резервная копия хранится в том же самом месте, где и оригинальный файл. Вы можете открыть диалоговое окно You can open the Options (Параметры) из окна Code References (Ссылки кода) или из диалогового окна Look Up Reference (Поиск ссылки), где можете выбрать соглашение по наименованию файлов резервных копий.

Visual FoxPro создает журнал регистрации, содержащтй результаты произведенных самыми последними операций замешений индивидуальной ссылки кода. Эти записи регистрации показываются ниже узла Replacement Logs (Регистрации замещения) в панели поиска. Каждая запись регистрации содержит перечисленные ниже элементы:

  • Строку, в которой отображены оригинальное и замещаемое значения

  • Отметку о результате операции замещения - была ли она удачной или была ли ссылка пропущена при использовании опции Confirm Replacements (Подверждать замещения)

  • Details and code for you to make data structure changes if data files might be affected

    Note Замечание

    Операции поиска и замещения могут включать в свою область воздействия все файлы Visual FoxPro, включая файлы данных. В результате этого, операции, производяющие замену могут изменить структуру данных.

    Note Замечание

    Когда используется такая возможность, Visual FoxPro показывает диалоговое окно, запрашивающее вас подтвердить или отклонить операцию замещения. Если вы подтверждаете операцию замещения, Visual FoxPro производить только те замещения, которые не затрагивают файлы данных и предоставляет код в узле строки поиска под узлом Replacement Logs (Регистрация замещений) для того, чтобы вы могли произвести желаемые изменения вручную. Если вы отклоните замещение, то изменения не будут произведены.

    Note Замечание

    В дополнение к сказанному, инструмент Code Reference (Ссылки кода) не поддерживает замещение имен свойств или методов в файлах форм (.scx) или библиотек визуальных классов (.vcx), вследствие возможных изменений в субклассах и устаревания ссылок.

Print (Печать)

Отображает диалоговое окно Print для выбора набора ссылок код из результата поиска для их печати. В диалоговом окне Print доступны перечисленные ниже опции:

  • Search set (набор результата) указывает на все результы поиска или на набор результатов, который вы желаете отпечатать.

  • All (все) Определяет, что все ссылки в выбранном наборе ссылок кода должны быть отпечатаны.

  • Selected items only (только выбранные элементы) Определяет, что должны быть отпечатаны только выбранные элементы набора результатов.

  • Print (печать) Печатает указанный набор ссылок кода.

  • Preview (предпросмотр) Открывает диалоговое окно Print Preview (Предварительный просмотр печати) и конструктор отчета, чтобы вы смогли предварительно до печати просмотреть ссылки кода, которые будут печататься.

Вы можете указать, если желаете, другой отчет изменением перечисленных ниже полей в файле RefAddin.dbf:

  • Type определяет Report.

  • Data определяет описание отчета.

  • Filename определяет имя файла отчета, такое как "report1.frx".

Export

Отображает диалоговое окно Export (Экпорт) для экспорта всех или набора ссылок кода из результата поиска в различные форматы. В диалоговом окне Export (Экспорт) доступны перечисленные ниже опции:

  • Type (Тип) указывает тип файла, в который будут экпортироваться ваши результаты поиска. Для того, чтобы опция XML Output Options была доступной, выберите Extensible Markup Language (XML) в выпадающем списке Type (Тип).

    При экспорте результатов вашего поиска в HTML, Visual FoxPro генерирует файл с помощью XML и XSLT. По умолчанию, Visual FoxPro ищет файл FoxRef.xsl в своем домашнем каталоге или каталоге, на который указывает HOME(0). Если файл не найден, Visual FoxPro копирует внешний файл .xsl и помещает его в каталог Visual FoxPro User Application Data или в каталог, указываемый HOME(7), если вы не укажите какой-то другой. Вы можете предоставить файл преобразования XSLT для форматирования файла HTML, переименовав ваш XSLT файл в FoxRef.xsl и заменив оригинальный .xsl файл новым файлом.

  • To (Экспорт в) указывает имя для файл, в который будет производиться экспорт. Для выбора размещения, отличного от текущего каталога, щелкните по кнопке поиска (...).

  • Search set (Набор поиска) определяет - что вы желаете экспортировать - все результаты поиска или набор результатов.

  • View after export (вывести для просмотра после экспорта) определяет, что вы увидите сгенерированный результат после завершения операции экспорта. Эта опция становится недоступной, когда в качестве направления экспорта вы выберите Clipboard (Буфер обмена).

  • XML Output Options (Параметры вывода XML) В этой области формы определяются приведенные ниже дополнительные опции для экспорта результатов в XML:

    Generate element-based XML (Генерировать element-based XML) Генерирует XML файл, в котором поля сохраняются в виде элементов.

    Generate attribute-based XML (Генерировать attribute-based XML) Генерирует XML файл, в котором поля сохраняются в виде атрибутов.

    Include schema (Включить в XML файл схему) Добавляет схему стандарта XML Schema Definition (XSD) в файл XML.

  • All Определяет, что должны быть экспортированы все ссылки в выбранном наборе.

  • Selected items only Определяет, что должны быть экспортированы только выбранные из набора ссылки.

Options (Параметры)

Открывает диалоговое окно Options (Параметры) для установки дополнительный опций вашего поиска. Для получения более подробной информации смотрите Диалоговое окно Options (Параметры) диалогового окна Look Up Reference (Поиск ссылки).

Help (Помощь)

Открывает поставляемый с Visual FoxPro файл справки.

Панель поиска

Панель поиска, или левое верхнее окно, содержит дерево результатов из поиска ссылки кода. Дерево отображает узел All Results (Все результаты), каждую ссылку кода и файл, который содержит ссылку. Когда вы щелкните по имени файла, обзор ссылок в панели результатов, или правом верхнем окне, отфильтрует для отображения только те результаты, которые связаны с этим конкретным файлом.

Узел Replacement Logs (Регистрации замещений) появится в панели поиска, когда журнал регистрации будет содержать самые последние результаты созданных операцией замещения индивидуальных ссылок кода.

В контекстном меню панели доступны перечисленные ниже дополнительные команды; меню вызывается при щелчке по правой клавише на ссылке кода или узле файла внутри панели поиска:

Copy (Копировать)

Копирует всю информацию в панели поиска, включая имя файла, класс, метод или процедуру, а также информацию строки, для выбранного элемента в буфер обмена, чтобы вы в дальнейшем могли вставить его там, где это вам потребуется.

Развернуть все

Полностью разворачивает дерево результатов поиска.

Свернуть все

Сворачивает дерево результатов поиска.

Sort by Most Recent First (Сортировать сначала по самым последним использованным)

Сортирует в дереве результаты поиска, помещая самые последние на вершину дерева.

Clear Result (Очистить результат)

Удаляет выбранный результат поиска из панели. Команда Clear Result (Очистить результат) недоступна, если выбран узел All Results (Все результаты). Если выбран файл, то только этот файл удаляется из панели поиска.

Clear All Results (Очистить все результаты)

Удаляет все результаты из панели поиска.

Refresh (Обновить) обновляет результаты поиска

Панель результатов

Панель результатов, или верхнее окно справа, отображает результаты поиска ссылок в коде, включая потенциальные определения, если они существуют, к которым вы можете быстро перейти, а также множественные ссылки, которые могут встретиться в одной строке кода. Если последние существуют, то в панели результатов на этой строке отображается индикатор (число ссылок, заключенное в кружок).

В панели результатов отображаются перечисленные ниже элементы:

  • Чек-боксы для выбора индивидуальных строк результатов

  • # Числоа ссылок, которые встретились в результатах, если найдено больше одной

  • File Name (Имя файла) Имя файла и его размещение

  • Class.Method, Line (Класс.Метод, строка) Класс, метод и номер строки

  • Code (Код) Строка кода, которая содержит искомую ссылку

Вы можете отсортировать элементы в каждой колонке, щелкнув по ее заголовку.

В контекстном меню панели результатов, которое появляется при щелчке по правой клавише мыши на выбранной ссылке, доступны дополнительные, перечисленные ниже команды:

Copy (Скопировать)

Копирует всю информацию для выбранной строки, включая имя файла, класс, метод или процедуру и информацию о строке, в буфер обмена, которую вы затем можете вставить там, где вам потребуется.

Select All (Выбрать все)

Выбирает все элементы в панели результатов.

Clear Selections (Очистить выборки)

Снимает метки со всех чек-боксов полученных результатов поиска.

Sort by (Сортировать по)

Организует элементы в следующих порядках:

  • File Name (имени файла) сортирует элементы на основе имени файла.

  • Class.Method (классу.методу) сортирует элементы на основе имени класса и именем метода.

  • Selected (выбранным) группирует элементы по выбранным.

  • File Type (типу файла) сортирует элементы на основе типов файлов (по расширению).

  • Location (размещению) сортирует элементы по местонахождению каталога.

Панель описания

Панель описания, или нижнее окно, отображает информацию о поиске ссылки кода, такую, как область поиска - каталонг или проект, в которых производился поиск и найденные при поиске соответствия. Когда выбрага ссылка, то панель описания показывает местонахождение ссылки и строку кода, в которой появилось искомое выражение.

Для скрытия или отображения панели описания

  1. В окне Code References (Ссылки кода) выполните щелчок по правой клавише мыши в области справа от полоски инструментов.

  2. Из контекстного меню выберите Display Descriptions (Отобразить описания).

Смотрите также

Задачи

Как: просмотреть определения кода

Справочное руководство

Диалоговое окно Look Up Reference (Поиск ссылки)
Диалоговое окно Options (Параметры) диалогового окна Look Up Reference (Поиск ссылки)
Функция HOME()

Прочие ресурсы

Диалоговые окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Code Window

Visual FoxPro 9.0
Окно кода
Смотрите также

Используйте окно кода для того, чтобы записывать, отображать и редактировать код формы, события или метода. Вы можете открыть сколько угодно окон кода, что позволяет без труда просматривать, копировать и вставлять код из других форм.

Окно кода вызывается двойным щелчком на форме или элементе управления формы в Конструкторе форм, двойным щелчком в окне Конструктора среды данных или двойным щелчком на событии или методе в Окне свойств. Окно кода вызывается также выбором подпункта Code пункта View главного меню.

Любой текст, добавленный в код метода или события переопределяет код этого метода или события. Как следствие, соответствующий код родительского класса по умолчанию не выполняется (выполнение должно быть задано явно). Это относится и к неисполняемым строкам комментариев, начинающихся со "*".

Object

Содержит список объектов, включающий текущую форму, набор форм, среду данных, панель инструментов, а также все элементы управления в текущей форме.

Procedure

Содержит список всех событий, которые Microsoft Visual FoxPro распознает для отображенной в поле Object формы, набора форм, среды данных, курсора, отношения или элемента управления. При выборе в списке Procedure события, переданные ему параметры (если они имеются) отображаются в области редактирования окна кода. Имена событий, выделенные в раскрывающемся списке жирным шрифтом, содержат код. Access и Assign методы, созданные для свойств также отображаются в списке Procedure.

Note Совет

Если во время работы в окне кода вам понадобится справка относительно синтаксиса функций, операторов, свойств, событий или методов при работе в окне кода, наберите ключевое слово или имя свойства, события или метода, выделите его и нажмите клавишу F1 для получения оперативной справки. Кроме того, когда Вы устанавливаете курсор на событие или метод в раскрывающемся списке Procedure, вы получаете всплывающую подсказку. При нажатии PAGE DOWN сначала пролистывается код в текущем окне до конца, затем открывается окно кода следующего события или свойства, содержащее код, при нажатии PAGE UP - предыдущего.

Смотрите также

Справочное руководство

Конструктор форм
Окно свойств (Visual FoxPro)
Конструктор среды данныхData Environment Designer
Команда *

Понятия

Методы Access и Assign
Перепись и вызов кода родительского класса

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен SAM-FoxPro


Command Window (Visual FoxPro)

Visual FoxPro 9.0
Окно Command (Команда) (Visual FoxPro)
Смотрите также

Окно Command (Команда) представляет собой системное окно Visual FoxPro. Когда вы выбираете команды из меню, команды языка Visual FoxPro отображаются эхом в окне Command (Команда).

Вы можете, кроме того, печатать команды Visual FoxPro непосредственно в окне Command (Команда) . В окне Command (Команда) вы можете:

  • Удалить текст, нажатием ESC, если вы еще не нажали ENTER для исполнения команды.

  • Повторно выдать предыдущую команду, поместив курсор где-нибудь в строке этой команды с последующим нажатием ENTER.

  • Повторно исполнить блок кода, выделив его и затем нажав на ENTER.

  • Разбивать длинные команды на части, печатая символ точки с запятой (;) после пробела в том месте команды, с которого вы желаете перейти на новую строку с нажатием ENTER после ввода целой команды.

  • Перемещать текст из окна Command (Команда) в другие окна редактирования. Для этого просто выделите желаемый текст и перетащите его в желаемое окно редактирования.

  • Копировать текст внутри окна Command (Команда) и вставлять его в другие окна редактирования с помощью команд меню Edit (Правка). Выделите желаемый текст, нажмите и удерживайте клавишу CTRL и, затем, перетащите текст в желаемое место.

Вы можете изменять шрифт, расстояние между строками и отступ, выбором соответствующих команд из меню Format (Форматирование).

Выполнить щелчок по правой клавише в окне Command (Команда) для отображения контекстного меню с перечисленными ниже пунктами:

  • Cut(Вырезать), Copy(Скопировать), Paste(Вставить). Вы можете переместить (или удалить символы) в окно Command (Команда) или из окна Command (Команда).

  • Build Expression (Построить выражение). Отображает диалоговое окно Expression Builder (Компоновщик выражения), в котором вы можете определить выражения с помощью команд, символьных строк, полей или других выражений. Выражение, которое вы составите будет вставлено в окно Command (Команда) после того, как вы щелкните по OK.

  • Execute Selection (Выполнить выбранное). Исполняет текст, выделенный в окне Command (Команда), как новую команду.

  • Clear (Очистить). Удаляет из окна Command (Команда) список ранее исполненных команд.

  • Properties (Свойства). Отображает диалоговое окно Edit Properties (Свойства редактора), в котором вы можете изменить поведение редактора, ширину шагов табуляции, шрифты и параметры расцветки синтаксиса для окна Command (Команда).

Persistence of Contents (Сохраняемость содержания)

Содержимое окна Command (Команда) автоматически сохраняется в файл _command.prg, пока разрешено noRecentDocHistory или если вы не используете файл ресурса FoxUser. Вы можете очистить окно выбором пункта Clear из контекстного меню окна Command (Команда). Чтобы позволить использование множества экземпляров Visual FoxPro, при запуске Visual FoxPro файл только читается, а записываеися только при выходе из Visual FoxPro. Файл размещается в том же самом каталоге, где размещен файл ресурса FoxUser. Вы можете определить или изменить местонахождение файла ресурса в диалоговом окне Options (Параметры), на закладке File Locations (Размещение файлов) или программно через использование SET("RESOURCE") или SET RESOURCE соответственно.

Смотрите также

Задачи

Как: работать с окном Command (Команда)

Справочное руководство

Диалоговое окно Edit Properties (Свойства редактора)
Диалоговое окно Expression Builder (Компоновщик выражения)
Окна редактирования
Закладка File Locations (Размещение файлов) диалогового окна Options (Опции)
Команда SET RESOURCE

Концепции

Конфигурация Visual FoxPro

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Component Gallery Window

Visual FoxPro 9.0
Системное окно Component Gallery
См. Также

Системное окно Component Gallery (Галерея Компонентов), как специальная иконка, представлена во многих инструментальных средствах системы Visual FoxPro, проектах, приложениях, дизайнерах, мастерах, построителях, с помощью которых выполняется разработка вашего Приложения.

Системное окно Component Gallery содержит соответствующий инструментарий Component Gallery Toolbar и некоторые дополнительные инструменты:

Catalog (Left) Pane (левый раздел, каталог)

Отображается иерархическая структура Компонентов Галереи, в виде соотведствующих подкаталогов и папок. При выборе некоторой папки или каталога, в правой части отображаются соответствующие программные объекты, элементы (Object).

Object (Right) Pane (правая часть, объекты)

Отображается соответствующее содержание выбранного каталога или папки.

Дополнительную информацию об элементах Галереи Компонентов см. в разделе Использование Галереи Компонентов.

Description Box (описательный бокс)

Размещается дополнительная информация о выбранных элементах; Системный (Visual FoxPro) статус данной Галереи Компонентов.

См. также

Описание

Диалоговый бокс Component Gallery Properties (Свойства Галереи Компонентов)
Диалоговый бокс Add Class to Project (Добавить класс в Проект)

Другие ссылки

Системные окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Open Catalog Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Open Catalog (Открыть Каталог)
См. Также

Позволяет вам выбрать существующее описание каталога, или соответствующее имя файла в службе Component Gallery.

Open

Открыть указанный каталог или соответствующее описание каталога.

Browse

Открыть системное окно Диалоговый бокс Open , где можно выбрать и открыть необходимый каталог.

См. также

Описание

Диалоговый бокс Open - Открыть (Visual FoxPro)
Системное окно Class Browser
Системное окно Component Gallery
Диалоговый бокс Component Gallery Options
Дилоговый бокс Find Component (Найти Компоненту)

Другие ссылки

Диалоговые боксы (Visual FoxPro)
Использование службы Component Gallery

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Component Gallery Options Dialog Box

Visual FoxPro 9.0
Диалоговое Окно Component Gallery Options
Смотрите Также

Дает возможность задать общие настройки для каталогов и просмотров в Галерее Компонентов (Component Gallery).

Страницы Опций

Доступные опции в диалоговом окне Component Gallery Options сгуппированы следующим образом.

Станица | Описание
Страница Standard диалогового окна Component Gallery Options | Позволяет определить общие свойства по умолчанию. Данная страница доступна всегда.
Страница Catalogs диалогового окна Component Gallery Options | Позволяет добавлять каталоги в галерею компонентов и определять эти каталоги как глобальные или по умолчанию.
Страница Dynamic Views диалогового окна Component Gallery Options | Позволяет добавлять, редактировать или удалять вид просмотров галереи из вашего перечня. Данная страница доступна всегда.

Смотрите Также

Ссылки

Страница Standardдиалогового окна Component Gallery Options
Страница Catalogs диалогового окна Component Gallery Options
Страница Dynamic Views диалогового окна Component Gallery Options
Олно Component Gallery

Другие Ресурсы

Применение Галереи Компонентов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Standard Tab, Component Gallery Options Dialog Box

Visual FoxPro 9.0
Закладка Standard (Стандартные), диалогового окна Component Gallery Options (Опции галереи компонентов)
Смотрите также

Позволяет вам указать установки поведения по умолчанию, которые являются глобальными для всех каталогов и папок, или элементов. На это закладке доступны перечисленные ниже установки:

Global Defaults (Глобальные по умолчанию)

Enable item renaming (Разрешено переименование элемента)

Разрешает переименование метки (с задержкой после выбора) внутри панелей Component Gallery (Галереи компонентов). Опция Переименование всегда доступна в контекстном меню.

FFC Builder Lock (Закрепление компоновщика для FFC)

Позволяет вам указать, какой компоновщик (builder) откроется, когда вы бросите на форму выбранный класс.

Drag and drop to desktop (Drag and drop на рабочий стол)

Позволяет открывать элементы галереи в виде образцов в окне рабочего стола Visual FoxPro.

Advanced editing enabled (Разрешено расширенное редактирование)

Разрешает расширенное редактирование на закладках Type, Scripts, Views и Comments всех диалоговых окон Item Properties (Свойства элемента). То есть, если эта опция разрешена, то в диалоговых окнах свойств выбранного в галерее элемента появляются перечисленные закладки.

Catalog default behavior (Поведение по умолчанию для каталога)

Open file as new view (Открыть файл в виде нового обзора)

Изменяет поведение по умолчанию для двойного щелчка по левой клавише мыши для элементов галереи из Modify в Run.

Add file to current view (Добавить файл в текущий обзор)

Изменяет поведение по умолчанию для двойного щелчка по левой клавише мыши для элементов галереи из Open (Открыть) в Add (Добавить).

Item default behavior (Поведение по умолчанию для элемента)

Modify item file (Редактировать файл элемента)

Устанавливает поведение по умолчанию для двойного щелчка по левой клавише мыши для элементов галереи в Modify.

Run item file (Запустить файл элемента)

Устанавливает поведение по умолчанию для двойного щелчка по левой клавише мыши для элементов галереи в Run.

Смотрите также

Справочное руководство

Диалоговое окно Component Gallery Options (Опции галерии компонентов)
Окно Component Gallery (Галерея компонентов)
Закладка Catalogs (Каталоги) диалогового окна Component Gallery Options (Опции галерии компонентов)
Закладка Dynamic Views (Динамические обзоры) диалогового окна Component Gallery Options (Опции галерии компонентов)
Диалоговое окно свойств элементов

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Catalogs Tab, Component Gallery Options Dialog Box

Visual FoxPro 9.0
Закладка Catalogs (каталоги), Настройки Галлереи компонентов, диалоговый бокс
См. Также

Отображаются имена компонент, контролируемых подсистемой Component Gallery. Данный список отображается в виде View Type - раскрываемого списка компонент.

Закладка Options

Global (глобальный)

Устанавливает главный каталог размещения компонент, сгруппированных в соответствующие подпапки. Вам достаточно иметь доступ к головному каталогу, хотя подкаталоги могут быть не открыты.

Default (по-умолчанию)

Определяет стартовый каталог, который будет открыт при запуске подсистемы Component Gallery. Все соответствующие подкаталоги становятся доступными для просмотра содержащихся в ник компонент.

New (новые)

Отображает Open Catalog, диалоговый бокс, где можно добавить новый каталог в список каталогов.

См. также

Описание

Системное окно Component Gallery (галлерея компонентов)
Закладка Dynamic Views, Настройки Галлерея компонентов, диалоговый бокс
Закладка Standard, Настройки Галлерея компонентов, диалоговый бокс
Настройки Галлерея компонентов, диалоговый бокс

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Dynamic Views Tab, Component Gallery Options Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Опции Component Gallery,Закладка Dynamic Views
См. Также

Отображает имена Dynamic Views, доступных в текущий момент в Component Gallery. Здесь Вы можете задать динамические представления в Component Gallery.

Закладка Options

New

Включает механизм создания Dynamic View в Component Gallery.

Edit

Включает механизм редактирования существующего Dynamic View .

Remove

Позволяет удалить выбранное Динамическое Представление (Dynamic View) из Component Gallery.

См. также

Описание

Диалоговый бокс Catalogs Tab, Component Gallery Options Dialog Box
Диалоговый бокс Find Component
Диалоговый бокс Component Gallery Options
Окно Component Gallery
Диалоговый бокс Standard Tab, Component Gallery Options

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Find Component Dialog Box

Visual FoxPro 9.0
Find Component (Поиск Компоненты), диалоговый бокс
Смотрите Также

Обеспечивает возможность Поиска каталога или Папки согласно некоторого Критерия. Критерий Поиска сохраняется, и может быть использован в дальнейшем.

Рассматриваемый Диалоговый бокс активируется при нажатии на кнопку Find (Поиск) из инструментальной линейки системной компоненты Component Gallery. Задаваемый вами Критерий поиска сохраняется до того момента, когда вы закрываете рассматриваемый диалоговый бокс Find Component (Поиск Компоненты). Вы можете исключить неиспользуемые вами Представления указанных критериев Поиска, для этого используется кнопка Remove (Исключить), которая размещена в Закладке Options dialog Dynamic views (Представления диалоговых параметров) .

Диалоговый бокс Параметров

Containing (Содержание)

Содержит список (перечисленные через запятую) критерии Поиска. Вы можете использовать представленные в данном Списке Выражения, как описывается в разделе: Как: Фильтровать список Классов в обозревателе классов (Class Browser).

Look in (Просматривать...)

Представлен список возможных подкаталогов, в которых выполняется Поиск, в котором присутствует опция "all catalogs" (Все каталоги). Вы можете добавить в данный список новый диапазон поисковых каталогов.

Keywords (Ключевые слова)

Активирует диалоговый бокс Keywords (поисковые контексты), где вы можете уточнить требуемые "поисковые строки" для выбранных подкаталогов.

Note Обратите внимание

Все "поисковые строки" сохраняются в Таблице Keywords.dbf, которая размещается в подкаталоге: HOME().

Search fields (Поисковые Поля)

Данные переключатели определяют выбор Полей для подсвечиваемых подкаталогов:

Item Name (Имя Элемента)

Поиск по Полю Name (Имя), которое отображается в Закладке General диалогового бокса Item Properties (Свойства Элементов).

Class Name (Имя Класса)

Поиск по Полю Class Name (Имя Класса), которое отображается в Закладке Class Item указанного выше диалогового бокса Item Properties.

Description (Краткое Описание)

Поиск по Полю Description, которое отображается в Закладке General диалогового бокса Item Properties.

Properties (Свойства)

Поиск по содержанию поля Properties, которое отображается в закладке Scripts диалогового бокса Items Properties.

File Name (Имя Файла)

Поиск по Имени файла, которое отображается в Закладке Class Items диалогового бокса Item Properties.

Item Types (Тип элемента)

Список Стандартных и/или Пользовательских типов поисковых Элементов.

Find (Найти, Поиск)

Кнопка Запуска процесса поиска по заданному Критерию поиска.

Cancel (Отмена)

Завершить процесс поиска.

New Search (Новый Поиск)

Очистить текущий Критерий Поиска, и начать определение Нового Критерия Поиска, его параметров.

Result View (Просмотр Результаитов Поиска)

Отображаются результаты Имен найденных Элементов .

См. также

Задачи

Как: Фильтровать Список Классов в Обозревателе Классов (Class Browser)

Описание

Галлерея Компонентов, Properties (Свойства), диалоговый бокс
Галлерея Компонентов, Параметры, диалоговый бокс
Галлерея Компонентов, главное Окно

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Component Gallery Properties Dialog Boxes

Visual FoxPro 9.0
Свойства подсистемы "Component Gallery", диалоговые окна
См. Также

В подсистеме Component Gallery (Галлерея Компонент) вы можете использовать пункт Properties (свойства) из Короткого меню, для просмотра или изменения параметров настройки Каталога, Папки или конкретного Элемента. В следующих подразделах описываются конкретные действия по настройке указанных элементов Галлереи Компонент:

  • Свойства Каталога, диалоговое окно

  • Свойства Папки, диалоговое окно

  • Свойства Компоненты, диалоговое окно

См. также

Описание

Параметры подсистемы "Component Gallery", диалоговое окно
Component Gallery, системное окно
Добавить Класс в Проект, диалоговое окно

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Catalog Properties Dialog Box

Visual FoxPro 9.0
Catalog Properties (Свойства Подкаталога), Диалоговый Бокс
Смотрите Также

В рассматриваемом Диалоговом Боксе вы можете настроить характеристики подкаталогов Системной Компоненты (Component Gallery), которые сохраняются в соответствующей Таблице.

Данный диалоговый бокс активируется при выборе Пользователем подпункта Properties (Свойства) в контекстном Меню текущего активного подкаталога Галереи Компонентов.

Главная Закладка (General).

Обеспечивает настройку глобальных характеристик всех подкаталогов Галереи. В данной Закладке доступны следующие Характеристики:

Name (Имя)

Отображается текст Ярлычка соответствующего Заголовка, значение поля Text из соответствующей Таблицы Component Gallery.

Description (Краткое Описание)

Опциональная информация из поля таблицы Desc, содержащего Описание данной Панели Галереи Компонентов.

Picture (Изображение)

Значение поля Folderpict, которое содержит полное имя графического файла, используемого при отображении Элемента (подкаталога или панели) Галереи.

Item picture (Иконка Элемента)

Значение поля Picture, которое содержит полное имя графического файла, используемого при отображении Элемента данного Подкаталога, у которого не определена специальная Картинка.

Item Desc. (Описание Элемента)

Значение поля Typedesc, которое содержит описание общих характеристик всех элементов, размещенных в рассматриваемом Подкаталоге или Папке (Описание Типа Элементов).

Закладка Элемент/Узел (Node).

Под Узлом понимается любой допустимый Элемент Галереи (элемент, папка, панель). В данной Закладке рассматриваются глобальные характеристики, которые устанавливаются для всех подкаталогов Галереи Компонентов:

ID (идентификатор)

Содержит Имя Таблицы + значение соответствующего поля ID, характеризующего выбранный Подкаталог Галереи.

Link ID (Идентификатор Ссылки)

Если выбранный Элемент является Ссылкой (Link), то данное поле содержит Имя исходного Элемента.

Class name (Имя Класса)

Значение поля Classname, которое может содержать имя соответствующего Класса для выбранного Подкаталога или Папки.

Class library (Имя Библиотеки Классов)

Значение поля Classlib, которое содержит полное имя соответствующего файла Библиотеки Классов.

Item class (Класс Элемента)

Значение поля Itemclass, которое обычно содержит имя Класса, который применяется по-умолчанию для Элементов Галереи, у которых не определен Порождающий (характеризующий) базовый Класс.

Dynamic Catalog (Динамический Подкаталог)

Значение поля Filename, в котором обычно содержится одно из следующих: некоторое Выражение, или Ссылка типа URL, которые вычисляются (динамически) в момент активации выбранного Элемента Подкаталога.

Закладка Скрипты (Scripts).

В представленной Закладке вы можете определить специфические программные Коды для Событий или Свойств, действующих Глобально для всех подкаталогов Галереи:

Script (Фрагмент Программного Кода)

Значение поля Script, содержащего некоторый программный Код, соответствующий выбранному Подкаталогу или Элементу Галереи.

Properties (Свойства)

Значение поля Properties, которое может содержать специфическую информацию, характеризующую выбранный Элемент.

Закладка Комментарии (Comments).

В данной Закладке приводятся также дополнительные Характеристики, которые устанавливаются Глобально для всех Подкаталогов и Элементов Галереи:

Comments (Комментарии)

Значение поля Comment, которое может содержать самую различную информацию, описания, подсказки, специальные Данные о выбранном Элементе.

User (Пользователь, Владелец)

Значение поля User, может содержать аналогичную Пользовательскую информацию, относящуюся к Элементам Галереи.

Закладка Типы Элементов (Item Types).

Обеспечивается определение характеристик, действующих Глобально для всех подкаталогов Галереи. Вы можете изменить представленные по-умолчанию значения указанных Элементов, или выбрать из соответствующих Списков, или добавить собственные Значения, где допустима командная кнопка Add (добавить).

В данной Закладке используются Списки Типов обрабатываемых Элементов, которые вы можете выбирать, изменять или дополнять Новыми.

Add button (Кнопка Добавления)

Обеспечивает добавление Нового Типа Элементов Галереи Компонентов. Вы можете также изменить следующие Характеристики рассматриваемых Типов Элементов:

Text (Текст)

Определяет Заголовок, который используется для отображения выбранного Элемента в Галерее Компонентов.

Class (Класс)

Определяет Имя Класса, корреспондированного для выбранного Элемента.

Class library (Библиотека Классов)

Определяет полное имя файла Библиотеки Классов, содержащей указанный выше Класс.

File types (Тип Файлов)

Определяет расширение (тип) файла, который используется в системном диалоговом Боксе, порождаемом функцией GETFILE( ).

Item Type (Тип Элемента)

Определяет, что новый Тип Элементов является папкой или уже существующим Элементом Галереи.

Properties (Свойства)

Может содержать специфическую информацию о выбранных Элементах.

Redirect (Переопределить)

Определяет, что выбранное Расширение файла (тип) является базовым для порождаемого Типа Элементов Галереи.

Remove button (Кнопка Исключения)

Обеспечивает исключение выбранного Типа Элементов Галереи Компонентов.

См. также

Описание

Folder Properties (Свойства Папки), Диалоговый Бокс
Item Properties (Свойства Элемента), Диалоговый Бокс
Системное Окно Галереи Компонентов
Component Gallery Properties (Свойства Галереи), Диалоговый Бокс

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш


Folder Properties Dialog Box

Visual FoxPro 9.0
Свойства Каталога, диалоговый бокс
Смотрите Также

Обеспечивает настройку характеристик Каталогов Галлереи Компонентов.

Данный диалоговый бокс активируется при выборе подпункта Properties (Свойства) в контекстном Меню выбранного Каталога.

Закладка "General"

Обеспечивается возможность настройки специальных параметров, устанавливаемых глобально для Всех подкаталогов Галлереи Компонентов. В данной Закладке доступно Уточнение следующих Полей:

Name (Имя)

Отображается (редактируется) значение поля Text, которое содержит Ярлык компоненты в сервисе Component Gallery.

Description (Описание)

Опциональная информационная компонента, содержание поля Desc, которое характеризует рассматриваемую Компоненту (часть) сервиса Component Gallery.

Picture (Картинка)

Содержит графическую картинку, содержание поля Folderpict, представляет собой имя соответствующего файла (или полный путь к файлу), позволяет визуально характеризовать текущую Компоненту.

Item picture (Картинка Элемента)

Содержание соответствующего поля Picture, представляет собой имя файла (или полный путь к графическому файлу), обычно используется для характеристики конкретного Элемента подкаталога, компоненты Галлереи.

Item desc (Описание Элемента)

Содержит значение поля Typedesc, в котором можно разместить краткую характеристику всех Элементов выбранной Группы (текущего подкаталога).

Закладка "Node" (узел, ключевой элемент)

Под Узлом подразумевается любой выделенный Элемент (компонента) Галлереи. Обеспечивает уточнение специальных характеристик для всех подкаталогов Галлереи Компонентов. Далее приводятся основные дополнительные Закладки, описывающие следующие характеристики:

ID (Идентификатор)

Содержит Имя Таблицы и значение уникального Идентификатора, поле ID для текущей, выделенной Компоненты Галлереи.

Link ID (Идентификатор Связи)

Если текущий Элемент присоединен, данное поле содержит Имя исходного Элемента (Компоненты).

Class name (Имя Класса)

Содержит значение поля Classname, характеризует имя порождающего Класса для выделенного Элемента Галлереи (подкаталога).

Class library (Библиотека Классов)

Содержит значение поля Classlib, которое характеризует полное имя файла Библиотеки классов, содержащей описание выделенного Элемента.

Item class (Элемент Класса)

Содержит значение поля Itemclass, которое характеризует значение по-умолчанию для выбранного Подкаталога, обычно используется для тех элементов Галлереи, для которых не определено предыдущее Поле.

Dynamic folder (Динамическая Ссылка)

Содержит значение поля Filename, может содержать различные вычисляемые Выражения (Имя файла, HTML-URL, или другая ссылка), которое может вычисляться динамически, в зависимости от текущего режима работы.

Закладка "Scripts" (Скрипты, фрагменты программного Кода)

Рассматриваемая Закладка описывает возможные События или специфические Свойства, устанавливаемые глобально для всех подкаталогов Галлереи. В данной части обеспечивается уточнение следующих дополнительных Характеристик:

Script (Скрипт, фрагмент программного Кода)

Содержит значение поля Script, может характеризовать соответствующее Событие выделкенного Подкаталога или Компоненты Галлереи.

Properties (Свойства)

Содержит значение поля Properties, характеризует специфические особенности рассматриваемого Элемента, Папки, или Компоненты.

Закладка "Комментарии"

Содержит специальные установки, уточняемые для всех Подкаталогов Галлереи. Далее кратко описываются следующие дополнительные Закладки:

Comments (Комментарии)

Содержит значение поля Comment, в котором вы можете разместить краткую информацию по назначению и использованию выделенного Элемента, Папки, или Компоненты.

User (Пользователь)

Содержит значение поля User, в котором вы можете разместить пользовательские Комментарии по назначению и использованию данной Компоненты (и другую специфическую информацию).

См. также

Описание

Catalog Properties (Свойства Полдкаталога), диалоговый бокс
Item Properties (Свойства Элемента), диалоговый бокс
Галлерея Компонент, Свойства, диалоговый бокс
Галлерея Компонент, главное окно

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: AlexX


Item Properties Dialog Box

Visual FoxPro 9.0
Диалоговое окно свойств элементов галереи компонентов
Смотрите также

Позволяет вам настраивать поведение элементов Component Gallery (Галереи компонентов).

Это диалоговое окно открывается, когда вы щелкаете по пункту Properties (Свойства) в контекстном меню выбранного элемента. Если вы выбрали Advanced editing enabled (Разрешено расширенное редактирование) в диалоговом окне Component Gallery Options (Опции галереи компонентов), это диалоговое окно будет, кроме того, отображать закладки Type, Scripts, Views, and Comments.

Закладка General (Общие)

Позволяет вам на этой закладке указать перечисленные ниже установки:

Name (Имя)

Отображает в поле Text значение, используемое в качестве метки компонента в галерее.

Description (Описание)

Дополнительная информация из поля Desc этой записи в выбранной таблице (указанной на закладке Node (узел) в поле ID). Эта информация отображается в панели описания внизу окна галереи компонентов.

Picture

Значение поля Folderpict, которое указывает путь и имя файла картинки, используемой для графического представления элемента в галерее компонентов.

Закладка Views (обзоры)

Позволяет вам указать характеристики, которые управляют отображением этого элемента в галерее компонентов.

Views (Обзоры)

Указывает имя обзора и папку, которая содержит выбранный элемент в виде строки с синтаксисом:

CopyCode image Скопировать код
<viewName>=<folderName>
Keywords (Ключевые слова)

Отображает ключевые слова, по которым может быть найден выбранный элемент. Вы можете добавить в этот список дополнительные ключевые слова, щелкнув по командной кнопке (...), расположенной справа от поля и выбрать из списка ключевых слов, используемых по умолчанию в галерее компонентов, или впечатать свое собственное.

Закладка Node (Узел)

Узел представляет собой любой выбираемый элемент галереи компонентов. Позволяет вам указать установки для выбранного элемента. На это закладке доступны установки, которые перечислены ниже:

ID

Имя таблицы + значение в поле ID записи выбранного элемента в его родительском каталоге.

Link (Ссылка)

Если выбранный элемент представляет собой ссылку, указывает имя источника для выбранного элемента.

Class Name (Имя класса)

Указывает класс галереи компонентов для выбранного элемента.

Class Library (Библиотека класса)

Указывает путь и файл библиотеки, содержащий класс галереи компонентов для выбранного элемента.

Закладка Scripts (Скрипты)

Предоставляет место для указания событий или свойств, которые являются глобальными для всех элементов. На этой закладке доступны перечисленные ниже области:

Script (Скрипт)

Значение поля Script записи этого элемента в его родительском каталоге. Поле содержит любые скрипты события, связанные с этим элементом.

Properties (Свойства)

Значение поля Properties, которое может содержать значение, присвоенного свойствам элемента.

Закладка Comments (Комментарии)

Позволяет указать установки для выбранного элемента. На этой закладке доступны перечисленные ниже установки:

Comments (Комментарии)

Значение поля Comment этой записи в родительском каталоге (указывается на закладке Node (Узел) в поле ID), которое содержит комментарии пользователя об использовании, характеристики или нечто подобное.

User (Пользователь)

Значение поля User этой записи в родительском каталоге (указывается на закладке Node (Узел) в поле ID), которое содержит комментарии пользователя об использовании, характеристики или нечто подобное. (Странное дублирование. Примечание переводчика)

Закладки Item (Элемент)

Закладки Item (элемент) генерируются самой Component Gallery (Галереей компонентов) и вводятся в диалоговое окно Item Properties (Свойства элемента) для большинства элементов, вводимых вами в галерею. Каждая такая закладка предоставляет набор информации о свойствах, которая характерная для конкретного элемента этого типа. Диалоговое окно Item Properties (Свойства элемента) может включать в себя закладки Class Item (Элемент Класс), File Item (Элемент Файл), Form Item (Элемент Форма), Menu Item (Элемент Меню), Program Item (Элемент Программа), Project Item (Элемент Проект) и Report Item (Элемент Отчет).

Закладка Class Item (Элемент Класс)

Позволяет вам класс и библиотеку класса, которая содержит элемент, введенный в галерею.

Class name (Имя класса)

Указывает имя класса.

Class library (Библиотека класса)

Указывает имя и путь к библиотеке класса, которая содержит элемент галереи компонентов.

Base class (Базовый класс)

Указывает класс, из которого создан субкласс элемента, введенного в галерею.

Sample file (Файл образца)

Указывает имя и путь к файлу, содержащего пример использования этого элемента галереи компонентов.

Закладка File Item (Элемент Файл)

Позволяет вам указать путь и имя файла элемента, введенного в галерею компонентов.

File name (Имя файла)

Указывает путь и имя файла.

Закладка Form Item (Элемент Форма)

Позволяет вам указать путь и имя файла формы ( .scx ), введенной в галерею компонентов.

Form name

Указывает путь и имя файла формы.

Закладка Menu Item (Элемент Меню)

Позволяет вам указать путь и имя файла ( .mnx ) меню, введенному в галерею компонентов.

Menu name (Имя файла меню)

Указывает имя и путь к файлу меню.

Закладка Program Item (Элемент Программа)

Позволяет вам указать путь и имя файла программы, введенной в виде элемента в галерею компонентов.

File name (Имя файла)

Указывает путь и имя файла программы.

Закладка Project Item (Элемент Проект)

Позволяет вам указать путь и имя файла ( .pjx ) проекта, введенного в галерею в виде ее элемента.

File name (Имя файла)

Указывает путь и имя файла проекта.

Output name

Указывает путь и имя файла сборки.

Build action (Действия при сборке)

Определяет, какие опции сборки (Rebuild Project (Перестроить проект), Build Application (Собрать приложение), Build Executable (Собрать исполнимый файл) или Build OLE DLL (Собрать OLE DLL)) используются, когда вы собираете что-либо из перечисленного из этого проекта.

Rebuild all (Перестроить все)

Позволяет вам перестроить заново все файлы или только те, которые были изменены с момента последней сборки.

Show Errors (Показывать ошибки)

Позволяет вам вывести ошибки, возникшие после завершения компиляции.

Run after build (Запустить после сборки)

Позволяет вам запустить приложение, после того, как будет завершена его сборка.

Закладка Report Item (Элемент Отчет)

Позволяет вам указать файл отчета, введенного в галерею компонентов.

Report Name (Имя отчета)

Указывает путь и имя файла исходного отчета.

Смотрите также

Справочное руководство

Диалоговое окно Catalog Properties (Свойства каталога)
Диалоговое окно Folder Properties (Свойства папки)
Диалоговое окно Build Options (Опции сборки)
Диалоговое окно Component Gallery Options (Опции галереи компонентов)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Add Class to Project Dialog Box

Visual FoxPro 9.0
Диалоговый бокс Add Class to Project (Добавить класс в проект)
См. Также

Выпоняет добавление некоторого класса из Галерея компонентов в активный Проект.

Add class to project (добавить класс в прект)

Добавляет класс в активный проект.

Create new class from selected class (создать новый класс из выбранного класса)

Создается новый класс и он добавляется в проект. Диалоговый бокс New Class отображается, в котором вводится имя нового класса, а также имя библиотеки классов, в которую помещается данный класс.

Create new form from selected class (создать новую форму из выбранного класса)

Добавляет новую форму в активный проект. Данная опция доступна только в том случае, когда добавляется форма в проект.

См. также

Описание

Системное окно Component Gallery (Галерея Компонентов)
Диалоговый бокс New Class
Диалоговый бокс Component Gallery Properties

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Coverage Profiler Window

Visual FoxPro 9.0
Окно Coverage Profiler
См. также

Содержит группу Инструментальных Кнопок Coverage Profiler и опций, которые позволяют вам указать как отображать информацию, возвращаемую Механизмом Coverage.

Панель Исходный Список

Сверху находится панель Исходный Список, разделенная на две колонки. Левая колонка содержит список классов из выбранного файла или Все Классы, Объекты и Процессы (All Classes, Objects и Processes). В правой колонке отображаются файлы с расширениями .frx, .lbx, .scx или .vcx, содержащие исходный код для классов из левой колонки, или расширением .prg для выбранного All Classes, или файлы любого другого типа, в которых хранится исходный код. Например, файл с расширением .dbc попадет в список в том случае, если в журнал попадут хранимые процедуры, а с расширением .frx - если бы Data Environment (Окружение Данных) формы отчета содержала бы код.

Панель Исходный Код

В нижней части находится панель Исходный Код (в режиме Просмотра (Preview)), отображающая код пункта, выбранного в панели Исходный Список. Режим, который вы выбирали, определяет содержимое и формат отображаемого кода.

Режим Coverage

В режиме Coverage панель Исходный Код отображает код пункта, подсвеченного в панели Исходный Список. Coverage Profiler может маркировать линии кода, которые выполнялись, и линии, которые не выполнялись. По умолчанию каждая линия, которая не выполнялась, маркируется символом или несколькими символами, определенными в Диалоговом Боксе Coverage Profiler Options. Используете этот режим в случае, если вы тестируете ваше приложение с целью проверки линий кода, которые выполнялись.
Маркируя различными символами линии выполняющиеся и не выполняющиеся, вы сможете легко отличить линии, которые не должны быть выполнены, например комментарии, от линий, которые могли бы, но не были выполнены.

Режим Profile

В режиме Profile панель Исходный Код отображает код пункта, подсвеченного в панели Исходный Список, а рядом с каждой линией находится счетчик, определяющий сколько раз она была выполнена и длительность ее выполнения в секундах. Используйте этот режим для оценки производительности выполняемого кода.

Длительность выполнения линии кода может быть равной 0.000 (и для длительности Первого (1st) выполнения и для длительности Усредненного (Avg) выполнения) даже если счетчик количества выполнений линии показывает значение 1 или больше. Это может произойти в случае, если длительность ее выполнения менее .001 секунд.

См. также

Ссылки

Диалоговый Бокс Coverage Profiler Options
Диалоговый Бокс Coverage Profiler Statistics
Инструментальные Кнопки Coverage Profiler
Объект Coverage Engine

Понятия

Приложение Coverage Profiler

Другие ресурсы

Windows (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Coverage Profiler Tool Buttons

Visual FoxPro 9.0
Инструментальные Кнопки подсистемы "Coverage Profiler"
Смотрите Также

Далее кратко описываются основные командные кнопки Профилировщика Coverage Profiler.

 | Копка | Краткое Описание
FoxPro OpenFolderButton screenshot | Open Catalog , диалоговый бокс | Активирует диалоговый бокс Open (Открыть), где выбирается файл Протокола Исследования Кода.
FoxProSaveButton screenshot | Save As , диалоговый бокс | Активирует диалоговый бокс Save As (Сохранить Как...), где определяется имя и местоположение табличного файла Протокола Coverage Profiler (.dbf).
FoxProStatsButton screenshot | Coverage Profiler Statistics , диалоговый бокс | Активирует диалоговый бокс Coverage Profiler Statistics (Статистика),где вы можете просмотреть Итоговую информацию о текущем Протоколе подсистемы Coverage Profiler, а также специальную статистику Coverage Profiler относительно текущего Проекта Приложения Visual FoxPro.
FoxProAddInsButton screenshot | Coverage Profiler Add-Ins , диалоговый бокс | Активирует диалоговый бокс Coverage Profiler Add-Ins (Дополнения), где вы можете определить специальные Расширения, или Дополнения функционала подсистемы Coverage Profiler.
FoxProCoverageButton button | Системное Окно Профайлера | Активация Режима Coverage, отображение информации в нижней части Системного Окна Профайлера или в соответствующем режиме Zoom.
FoxProProfileButton screenshot | Системное Окно Профайлера | Активация Режима Profile, отображение более детальной информации в нижней части Системного Окна Профайлера или в соответствующем режиме Zoom.
FoxProPreviewButton screenshot | Системное Окно Профайлера | Переключение режима предварительного просмотра в Системном Окне Профайлера, как при печати Отчета.
FoxProZoomButton screenshot | Системное Окно Профайлера | Переключение режима Zoom Coverage Profiler.
 | Coverage Profiler Find , диалоговый бокс | Активация диалогового бокса Coverage Profiler Find (Найти...), где вы сможете определить параметры Поиска требуемых Фрагментов.

См. также

Описание

Coverage Profiler Options, диалоговый бокс
Coverage Profiler Statistics, диалоговый бокс
Системное Окно Профайлера
Coverage Profiler Add-Ins, диалоговый бокс

Концепции

Подсистема Анализа Приложения "Coverage Profiler"

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Coverage Profiler Options Dialog Box

Visual FoxPro 9.0
Coverage Profiler Options (Параметры), диалоговый бокс
Смотрите Также

Позволяет вам настроить параметры Профилировщика (Coverage ProFiler), чувствительность к регистру полных имен программных файлов, форматы Диалогов, параметры Среды Окружения, задать специальные символы (маркеры) для обозначения строк программного Кода выполняемой Программы или Приложения, виды Шрифтов для отображения программного Кода.

Диалоговый бокс <Options>

Use Smart Pathing (Использовать Интеллектуальный поиск по Путям размещения)

Определяет, что подсистема Coverage Profiler выполняет определенные предположения о местоположении анализируемых Компонент Приложения относительно того, как указанные программные файлы указаны (и вызываются) в вашем Проекте, и как эти файлы зарегистрированы в Протоколе Профилировщика. По-Умолчанию, подсистема Coverage Profiler может запросить у вас местоположение файлов Исходного программного Кода, на которые имеются ссылки в Протоколе. Если вы включите данную Опцию, подсистема Coverage Profiler предполагает, что требуемые файлы размещаются в указанных вами каталогах или подкаталогах.

Отключите данный параметр, если в указанных или вложенных подкаталогах размещаются различные одноименные версии программных модулей или Библиотек Классов.

Register Add-Ins when run (Регистрация модулей Расширения при выполнении)

Определяет, что Coverage Profiler сохраняет зарегистрированные модули Расширения для будущего их использования, чтобы указанные модули можно было просматривать в списке модулей Расширений: Coverage Profiler Add-Ins (Расширения), диалоговый бокс.

Mark all code while log loads (Отметить весь программный Код при загрузке Протокола)

Определяет, что все строки программного Кода будут отмечены при загрузке подсистемой Coverage Profiler выбранного файла Протокола (.log). Данная установка может замедлить загрузку приложения Профилировщика, особенно для больших файлов Протоколов.

Маркеры Профилировщика

Executed (Символ-Маркер выполненной строки Кода )

В этом текстовом боксе вы можете определить символ, который будет проставляться перед Выполненной строкой программного Кода. Вы можете использовать либо обычные символы, либо специальные символы пунктуации, или Звездочку (*).

Not Executed (Символ-Маркер, обозначающий Не выполненную строку программного Кода)

В этом текстовом боксе вы можете определить символ, который будет проставляться перед строкой программного Кода, которая Не выполнялась при последнем выполнении исследуемого Приложения. По-Умолчанию, используется символ - вертикальная черточка.

Note Обратите Внимание

Для некоторых строк программного кода, таких как Комментарии, операторы DEFINE CLASS или ELSE, строки Кода, содержащие: TEXT... ENDTEXT не указываются в файлах Протоколов, так как они не выполняются в реальных условиях. Тоже самое относится к строкам программного Кода, которые имеют "точку-с-запятой" - как признак размещения одного Оператора в нескольких строках Модуля, в этом случае маркируется только последняя (завершающая) строка рассматриваемого Оператора.

Стартовый Режим Запуска Профилировщика

Coverage (Зона Испытаний)

Определяет, что подсистема Coverage Profiler открывается в режиме Coverage Analyzer, при этом в системных областях рассматриваемого Приложения отображается Статистика Выполненных модулей.

Profile (Профилировщик- Хронометр)

Определяет, что подсистема Coverage Profiler открывается в режиме Profiler, при этом в основном окне отображается Хронометраж выполнения каждой строки программного Кода Исследуемого Приложения или Проекта.

Среда Окружения

Coverage frame (Независимая Среда)

Определяет, что подсистема Coverage Profiler открывается как окно типа "As-Top-Level", (Windows desktop).

FoxPro frame (Как подчиненное окно VFP)

Определяет, что подсистема Coverage Profiler открывается внутри Главного Окна системы Visual FoxPro.

Шрифты

Display Font (Шрифт Отображения, основной)

Определяет параметры шрифта отображения основных Элементов Source List (Список исходных модулей): смотрите: Системное окно приложения Coverage Profiler.

Code Font (Шрифт Программного Кода)

Определяет параметры шрифта отображения области Source Code (Исходный программный Код), смотрите: Системное окно приложения Coverage Profiler.

Set as default (Установить текущие параметры, как "по-умолчанию")

Определяет, что выбранные настройки сохраняются в Реестре Windows. Действие новых значений параметров Startmode и Environment вступает в силу при следующем Запуске рассматриваемого Профилировщика Coverage Profiler.

См. также

Описание

Системное окно приложения "Coverage Profiler"
Инструментальные кнопки подсистемы Coverage Profiler
Coverage Profiler Add-Ins (Расширения), диалоговый бокс
Coverage Profiler Statistics (Статистика), диалоговый бокс

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Coverage Profiler Add-Ins Dialog Box

Visual FoxPro 9.0
Coverage Profiler Add-Ins , диалоговый бокс
См. Также

Определяется комплект тестируемых компонент: .app, .fxp, или .prg файлы, для которых выполняется Coverage Profiler. Вы можете включать в указанный список Add-Ins тестируемые Контролы, Запросы, Диалоговые боксы, и другие инструменты, расширяющие функциональность Coverage Profiler.

Add-Ins

Определяет список Компонент, которые будут запускаться.

Register this Add-In after running (регистрация в журнале, после выполнения)

Пополняемый, раскрывающийся список исполняемых компонент, который может использоваться в дальнейшем.

Note Обратите внимание

Вы можете настроить подсистему Coverage Profiler для регистрации в списке Add-Ins выполняемых компонент с помощью Контрола-переключателя Register Add-Ins when run , который расположен в Coverage Profiler Options, диалоговом боксе.
Run (выполнить)

Стартовать выполнение компонент из списка Add-In.

См. также

Описание

Профиль Испытаний, системное окно
Профиль Испытаний, инструментальные кнопки
Профиль Испытаний, Статистика, диалоговый бокс
Профиль Испытаний, Параметры , диалоговый бокс

Концепции

Профиль Испытаний Объекта

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Coverage Profiler Statistics Dialog Box

Visual FoxPro 9.0
Coverage Profiler Statistics (Статистика Зоны Испытаний), диалоговый бокс
Смотрите Также

Отображает Итоговую информацию из текущего Журнала (файл .log), и обеспечивает доступ к испытуемым Проектам, модулям программного кода, или пропущенным (не декомпилируемым) программным модулям.

Статистика

Отображается итоговая информация о программных модулях в области системного окна Source List Pane. Содержание в данной области зависит от типа выбранного (выделенного) программного файла. Данный диалоговый бокс отображает только статистическую информацию о Записях в базе данных (.dbc) или Строках программного Кода (.prg). В том случае, когда программный файл является типа .frx, .lbx, .scx, или .vcx, которые содержат Контролы или Классы, в данном диалоговом боксе отображается статистика о строках программного кода данных Контролов или Классов. Более детальная информация, включая и описанную выше отображается в области "Source Code Pane" для обоих режимов работы Зоны Испытателя, режима Coverage или режима Profile.

Просмотр Подробностей

Statistics by Project (Статистика о Проекте)

Обеспечивает выбор файла Проекта вашего Приложения, и создает детальный и итоговый Отчет о Зоне Испытаний вашего Приложения.

Source Text Log (Журнал Исходного Кода модулей)

Отображает текущий журнал в стандартном окне Редактора Visual FoxPro.

Source Files Skipped (Список пропущенных файлов)

Открывает системное окно Browseдля курсора SkippedFiles, который содержит имена программных компонент, по которым в подсистеме Coverage Profiler статистическая информация отсутствует. Указанные "пропущенные" программные файлы включаются в указанный список (курсор) по причине невозможности Декомпиляции, либо файлы недоступны для Coverage Profiler, или системе Coverage Profiler недоступны файлы исходного кода программных модулей.

См. также

Описание

Системное окно Coverage Profiler
Инструментальные кнопки подсистемы Coverage Profiler
Coverage Profiler Add-Ins (Расширения Зоны Испытаний), диалоговый бокс
Coverage Profiler Find (Поиск в Зоне Испытаний), диалоговый бокс

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Coverage Profiler Find Dialog Box

Visual FoxPro 9.0
Поиск в Coverage Profiler, диалоговый бокс
См. Также

Позволяет выполнять поиск необходимых элементов в соответствующем журнале регистрации подсистемы Coverage.

Options (параметры)

Match Case (объект поиска)

Определяет объект, который нужно найти

Wrap Around (круговой поиск)

Определяет, что поиск выполняется от текущей позиции в жернале регистрации к началу или концу файла (в круговую).

Search (Поиск)

Classes (Классы)

Поиск представленных объектов в журнале испытаний.

Files (файлы)

Поиск заданных файлов в журнале испытаний.

Source code (исходный код)

Поиск заданного программного кода.

См. также

Описание

Профиль Испытаний, Add-Ins, диалоговый бокс
Профиль Испытаний, Параметры, диалоговый бокс
Профиль Испытаний, Статистика, диалоговый бокс
Профиль Испытаний, системное окно
Профиль Испытаний, Инструментальные кнопки

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод IluSHa.


Coverage Profiler Exit Dialog Box

Visual FoxPro 9.0
Coverage Profiler Exit, диалоговый бокс
Смотрите Также

Останавливает выполнение системного приложения Coverage Profiler (Профайлер Зоны Испытаний) и позволяет вам выбрать вариант продолжения или завершения процессов Протоколирования Испытаний. Данный диалоговый бокс активируется в том случае, когда выполняется SET COVERAGE, команда FileName перед тем, как стартует системное приложение Coverage Profiler.

Данный диалоговый бокс обеспечивает следующие варианты:

Кнопка | Выполняемое действие
Yes | Позволяет вам продолжить процесс отслеживания и протоколирования Исходного кода Приложения, при этом новые данные добавляются в системный журнал Зоны Испытаний (Coverage Profiler).
No | Позволяет вам продолжить процесс отслеживания и протоколирования Исходного кода Приложения, при этом новые данные замещают уже существующие записи Журнала Протоколирования Испытаний.
Cancel | Обеспечивает Закрытие Журнала Протокола Испытаний при закрытии приложения Coverage Profiler.

См. также

Описание

Системное Окно Coverage Profiler
Инструментальные кнопки подсистемы Coverage Profiler
SET COVERAGE, команда
Coverage Profiler Find (Поиск в Зоне Испытаний), диалоговый бокс
Coverage Profiler Statistics (Статистика Зоны Испытаний), диалоговый бокс

Концепции

Расширения подсистемы Coverage Profiler

Чтобы сделать Предложение или сообщить об ошибке Помощи, или другого свойства данного Продукта, посетите Страницу Обратной Связи.
© Microsoft Corporation. Все права защищены. Перевод: ShmSoft


Data Session Window

Visual FoxPro 9.0
Окно Data Session
См. также

Вы можете использовать окно Data Session для открытия и показа текущих открытых таблиц и представлений (views), устанавливать временные связи между таблицами, и устанавливать свойства рабочих областей (work area).

Current Session (текущая сессия)

Показывает имя текущей сессии данных.
Aliases (алиасы)

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Показывает имена таблиц или представлений, а также просто алиасов, без расширений файлов.
Relations (связи)

Показывает временные связи между таблицами или представлениями в соответствующем разделе окна.
Properties (свойства)

Показывает дополнительное окно свойств Рабочей Области (Work Area Properties dialog box),в котором Вы можете изменить структуру таблицы, выбрать индексный файл или поля, а также определить фильтры данных. Если нет открытых таблиц или представлений то открывается окно открытия таблицы или представления в свободной рабочей области.
Browse

Открыть окно Browse, где Вы можете работать с данными текущей таблицы: изменять или дополнять.
Open (открыть)

Показывает окно открытия таблицы или представления, в котором Вы можете выбрать таблицу или представление для дальнейшей работы
Close (закрыть)

Закрыть соответствующую таблицу и убрать соответствующий алиас из списка
Relations (связи)

Определяет связь между таблицами и/или представлениями при помощи дополнительного окна построителя выражения связи. Перед тем, как построить выражение связи установите индекс для "дочерней" таблицы.
1-To-Many (один-ко-многим)

Активирует окно построения связи типа "один-ко-многим", с помощью которого пользователь может построеть временную связь между "дочерней" и "родительской" таблицами .
Данная кнопка активирована при наличии уже ранее установленной связи между таблицами или представлениями.

См. также

Другие ссылки

Окна
Работа с Таблицами
How to: Создание постоянных связей между таблицами
Окно Browse
Окно Создания связей типа One-To-Many
Окно Построителя Выражений
Окно Open
Окно Work Area Properties

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Debug Output Window

Visual FoxPro 9.0
Debug Output, системное окно
См. Также

Обеспечивает отображение выводимой информации активных программных модулей, процедур, методов.

Данное окно активируется при выборе пункта Output, из меню Window, когда активен системный Отладчик (Debugger).

Output Pane (окно вывода информации)

Отображает выводимую информацию, задаваемую командой DEBUGOUT, если активен процесс "Отслеживания событий" (event tracking), то отображаются имена происходящих системных событий, возникающих при выполнении программы.

Для сохранения текста из этого окна:

  • Выберите пункт Save Output As из меню File, в активном окне Debugger.

См. также

Описание

DEBUGOUT, команда
Диалоговый бокс Event Tracking (отслеживание Событий)
Системное окно Отладчика
Меню и Клавишные команды Отладчика

Другие ссылки

Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Debugger Window

Visual FoxPro 9.0
Окно отладчика (Debugger)
Смотрите также

Окно отладчика Visual FoxPro Debugger содежит меню отладчика, полоску инструментов и несколько окошек отладки.

По умолчанию это окно открывается, когда вы выбираете Debugger (Отладчик) из главного меню Visual FoxPro - Tools (Инструменты), если на закладке Debug (Отладка) в диалоговом окне Options (Параметры) в качестве параметра Environment (Среда) выбрано Debug Frame. Если же выбрано FoxPro Frame, то окно Debugger (Отладчик) будет недоступным, а вместо этого в меню Tools (Инструменты) пункт Debugger (Отладчик) будет заменен пятью пунктами с названиями отдельных окошек отладчика.

Окно Trace (Трассировка)

Предоставляет вам мозможность видеть строки вашего кода и наблюдать за процессом их исполнения.

Окно Locals (Локальные)

Отображает видимые (в смысле уровня видимости) переменные, массивы, объекты и членов объектов текущей программы, процедуры или метода.

Окно Watch (Отслеживание)

Отображает выражения и их текущие значения и предоставляет вам возможность установить контрольные точки на выражения.

Окно Call Stack (Стэк вызовов)

Отображает исполняемые процедуры, программы и методы.

Окно Debug Output (Вывод отладчика)

Отображает вывод, относящийся к отладке из ваших программ.

Окна отладчика и полоска инструментов могут быть закреплены (пристыкованы) и могут свободно перемещаться по экрану.

Для | Выполните
изменения размера смежных закрепленных окон | перетащите полоску разделителя, находящуюся между ними на желаемое расстояние.
перемещения окна | выберите Undock (Расстыковать) из контекстного меню.
просмотра окон (открыть или спрятать) | Щелкните дважды по командной кнопке полоски инструментов, связанной с окном: первый щелчок закроет окно, а второй откроет заново.

Смотрите также

Справочное руководство

Сокращенные клавиатурные команды Debugger (Отладчика) и меню
Окно Trace (Трассировка)
Окно Locals (Локальные) (Visual FoxPro)
Окно Watch (Отслеживание) (Visual FoxPro)
Окно Call Stack (Стэк вызовов) (Visual FoxPro)
Диалоговое окно Options (Параметры) (Visual FoxPro)

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Debugger Keyboard Shortcuts and Menus

Visual FoxPro 9.0
Клавиатурные Сокращения и Меню Отладчика
См. также

Следующие клавиатурные сокращения применяются в инструменте отладки окна Отладчика или фрейма FoxPro.

Действие | Клавиатурное сокращение
Resume (Продолжить) | F5
Cancel (Отменить) | ESC
Step Into (Выполнять по одной строке программы за один раз) | F8
Step Over (Пропустить без трассировки вызываемую программу) | F6
Step Out (Выйти из выполняемой в данный момент программы) | SHIFT+F7
Run To Cursor (Выполнять до курсора) | F7
Trace Window (Окно трассировки) | ALT+8
Watch Window (Окно ля наблюдения) | ALT+3
Locals Window (Окно локальных значений) | ALT+4
Call Stack Window (Окно стека вызова) | ALT+7
Debug Output Window (Окно выходных значений отладчика) | ALT+2
Toggle Breakpoint (Отметить/Снять отметку о точке останова) | F9
Clear Breakpoints (Очистить точки останова) | CTRL+SHIFT+F9
Breakpoints (Точки останова) | CTRL+B
Open File (Открыть файл) | CTRL+O
Save Configuration (Сохранить конфигурацию) | ALT+S
Exit Debugger (Закрыть окно отладчика) | ALT+F4

Меню File Окна Отладчика

Содержит опции, позволяющие вам открывать программы и конфигурировать отладчик. А также вы можете сохранить выходные результаты отладки в файле.

Команды меню

Open (Открыть)

Отображает диалоговое окно Open в котором вы можете указать программу для отображения в окне трассировки Trace. Открытие программы не приводит к ее выполнению.

Load Configuration (Загрузить конфигурацию)

Загружает из файла конфигурации (.dbg file) ранее сохраненные в нем точки останова, параметры наблюдения и отслеживаемые события. Выберите диалоговую кнопку для отображения диалогового окна Open, которое позволит вам выбрать файл конфигурации.

Save Configuration (Сохранить конфигурацию)

Сохраняет в файле конфигурации (.dbg file) текущие точки останова, параметры наблюдения и отслеживаемые события, которые могут быть загружены позднее. Выберите диалоговую кнопку для отображения диалогового окна Open, которое позволит вам указать файл для сохранения.

Save Output As (Сохранить выходные значения как)

Записывает текст, отображаемый в окне выходных значений отладчика, в файл указанный в диалоговом окне Save As (Сохранить как).

Exit (Выход)

Закрывает окно отладчика и возвращает вас в главное окно Visual FoxPro.

Меню Debug Окна Отладчика

Содержит опции для прохода через код. Вы также можете установить скорость выполнения команд, за которыми вы наблюдаете.

Команды меню

Do (Начать)

Начинает выполнение программы, открытой в окне Trace. Если в окне Trace нет открытой программы, то отобразится диалоговое окно Do, в котором можно указать программы для трассировки. Указанная программа или форма приостанавливается на первой строке выполняемого кода.

Resume (Продолжить)

Опция доступна, если было приостановлено выполнение программы. Продолжает выполнение программы в окне Trace начиная с текущей строки кода.

Cancel (Отменить)

Останавливает выполнение программы или формы в окне Trace и закрывает его.

Fix (Исправить)

Опция доступна, если было приостановлено выполнение программы.

Если выполняется трассировка программы, то Fix вначале попросит вас снять программу, а затем откроет ее в окне редактирования в той же позиции, на которой находился курсор в окне Trace (трассировки).

Если выполняется трассировка кода в форме, то Fix вначале попросит вас отменить его выполнение и удалить объекты формы из памяти. Затем откроется окно Form Designer (конструктора форм) в той позиции, на которой находился курсор в окне Trace (трассировки).

Step Out (Выйти из выполняемой в данный момент программы)

Продолжает выполнять код в процедуре, но без построчного прохода через него. Выполнение программы останавливается на первой строке после команды, вызвавшей текущую программу.

Step Over (Пропустить без трассировки вызываемую программу)

Выполняет следующую строку кода. Если следующая строка кода вызывает функцию, метод или процедуру, то эта функция, метод или процедура будут выполнены в фоновом режиме без трассировки.

Step Into (Выполнять по одной строке программы за один раз)

Выполняет следующую строку кода.

Run To Cursor (Выполнять до курсора)

Выполняет код, начиная с текущей строки трассировки, до строки с курсором. Чтобы поместить курсор на линию, на которой вы хотите остановиться, просто наведите на нее указатель мыши и кликните.

Throttle (Регулировать)

Открывает диалоговое окно Execution Throttle (Регулировка Выполнения), чтобы вы могли указать в секундах время задержки между выполнением каждой из строк кода.

Set Next Statement (Указать следующий оператор)

Помещает маркер текущей строки на строку кода с курсором. Начиная с этой строки и будет продолжена трассировка.

Меню Tools Окна Отладчика

Предоставляет доступ к диалоговым окнам Отладчика

Команды меню

Breakpoints (Точки останова)

Открывает диалоговое окно Breakpoints, в котором можно добавить, удалить, активировать или дезактивировать точки останова.

Event Tracking (Трассировка события)

Открывает диалоговое окно Event Tracking, в котором можно указать какое событие будет занесено в Debug Output или в файл, когда оно произойдет.

Coverage Logging (Журналирование наблюдения)

Открывает диалоговое окно Coverage, в котором можно включить или выключить журналирование наблюдения в файл.

См. также

Ссылки

Debugger Window (Окно Отладчика)
Debug Output Window (Окно Выходных Значений Отладчика)
Keyboard Shortcuts (Клавиатурные Сокращения (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
В© Microsoft Corporation. All rights reserved.


Document View Window

Visual FoxPro 9.0
Окно Document View (Обзор документа)
Смотрите также

Предоставляет вам возможность просматривать и перемещаться в ваших программах к любой процедуре, функции или определению #DEFINE, классу или директиве препроцессора .

Вы можете вызвать это окно из меню Tools (Инструменты) или из контекстного меню окна редактирования, выбрав пункт Document View (Обзор документа).

Note Замечание

Когда окно Document View (Обзор документа) открыто для программного файла .prg, вы можете использовать клавишные сцепления Ctrl-PgUp и Cltr-PgDn для перемещения к предыдущей или следующей процедуре.

Выполните в этом окне щелчок по правой клавише мыши для получения доступа к перечисленным ниже опциям.

Sort by Name (Сортировать по имени)

Определяет, что список элементов будет отсортирован по имени.

Sort by Location (Сортировать по местонахождению)

Определяет, что список элементов будет отсортирован по местонахождению в программе. Когда вы выбираете эту опцию, вы можете использовать Ctrl+PageUp или Ctrl+PageDown для перемещения через перечисленные в списке элементы. Кроме того, окно Document View (Обзор документа) будет автоматически выбирать процедуру, в которой в редакторе содержится указатель курсора мыши.

Sort by Type (Сортировать по типу)

Определяет, что список элементов будет отсортирован по типу элемента.

Display #define definitions (Отображать определения #define)

Переключает между показом и скрытием в списке определений #DEFINE.

Display preprocessor directives (Отображать директивы препроцессора)

Переключает между показом и скрытием в списке директив препроцессора. Отображение включает в себя показ или скрытие перечисленных элементов: #INCLUDE #IF...#ELIF...#ELSE...#ENDIF #IFDEF...#ELSE...#ENDIF #IFNDEF...#ELSE...#ENDIF

Font (Шрифт)

Открывает диалоговое окно Font для того, чтобы вы смогли изменить шрифт, используемый в окне Document View (Обзор документа).

Окно Document View (Обзор документа) визуально показывает каждую процедуру или функцию, определение препроцессора, класс и директивы препроцессора, используя перечисленные ниже символы:

  • Красный знак # представляет определение препроцессора.

  • Желтый знак # представляет директиву препроцессора..

  • Голубой кубик с символическим отображением текста представляет функцию или процедуру.

  • Набор многоцветных боксов представляет собой класс.

Смотрите также

Справочное руководство

Диалоговое окно Insert Object Reference (Вставить объектную ссылку)
Директива препроцессора #DEFINE ... #UNDEF
Директива препроцессора #NAME
Функция APROCINFO()

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Editing Window

Visual FoxPro 9.0
Системное окно Редактирования
См. Также

Обеспечивает создание и редактирование текстовых и программных файлов. Данное окно редактирования появляется при выборе опции Modify Selected File в закладке Projects, диалогового бокса Options, или при выполнении "double-click" на выбранном текстовом или программном файле, который размещен в системном окне Project Manager.

В системном окне Редактирования (Editing window), вы можете следующее:

  • Перемещать блоки текста между командным окном (Command window) и текщим окном редактирования. Можно также выделить требуемый фрагмент текста и "перетащить" его в нужное место.

  • Копировать текстовые фрагменты между Командным окном и окном редактирования, с помощью соответствующих команд из меню Edit. Выделите требуемый фрагмент текста, удерживая клавишу CTRL, перетащите выбранный фрагмент в нужное место.

Можно изменять Шрифт, межстрочный интервал, определять специальные отступы, в соответствие с командами из меню Format.

См. также

Задачи

Как: Отобразить или напечатать программный код в цвете

Описание

Диалоговый бокс Options, Закладка Projects
Системное окно Project Manager
Командное окно (Visual FoxPro)

Другие ссылки

Системные окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


General Field Window

Visual FoxPro 9.0
Окно для поля типа General
См. Также

Данное окно отображается, когда выполнено "double-click" на поле типа General, при просмотре текущей таблицы; или нажимается комбинация клавиш CTRL+PAGE UP или CTRL+PAGE DOWN для открытия окна General Field window.

В данное окно вы можете вставить или создать необходимый объект OLE, используя опцию Insert Object из системного меню Edit. Вы также можете изменить существующий объект (double-clicking) или выбрать необходимый объект: Bitmap Image object Edit или object Open из системного меню Edit.

См. также

Задачи

Как: Добавить поле типа General в Отчеты

Описание

Тип поля General
Дизайнер Таблиц (Visual FoxPro)
Диалоговый бокс Insert Object (Вставка Объекта)

Другие ссылки

Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод ShmSoft.


Go To Definition Window

Visual FoxPro 9.0
Системное окно Go To Definition
См. Также

Отображает список нескольких определений программного кода, расположенного в различных коипонентах Проекта Приложения, которые вы можете выбрать (для просмотра или редактирования.

Системное окно Go To Definition появляется после того, как выбрана команда View Definition (просмотреть определения), при просмотре списка результатов поиска определений Программного кода. Команда View Definition размещена в коротком меню, которое вызывается нажатием "right-click" в системном окне Редактирования, при этом необходимый программный код должен быть выделен.

File (файл)

Список имен файлов, в которых найден указанный программный код (определения элементов программного кода).

Class.Method (Line) (строка метода)

Список Классов, методов, номеров строк, где найден указанный программный код.

Code (программный код)

Список программных выражений, включающих заданный фрагмент программного кода.

Go To (переход к источнику)

Переход к месту размещения выбранного фрагмента программного кода.

См. также

Задачи

Как: Просмотреть Определения программного кода

Описание

Системное окно Редактирования

Другие ссылки

Системные Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


Locals Window (Visual FoxPro)

Visual FoxPro 9.0
Окно Locals (Visual FoxPro)
Смотрите также

Предоставляет вам возмодность отобразить все переменные, массивы, объекты и их члены которые попадают в область видимости в данной программе, процедуре или методе.

Это окно активизируется, когда вы выбираете Locals из меню Window окна отладчика.

В Visual FoxPro 9.0, элементы меню Find и Find Again доступны для поиска предметов в колонке Name окна Locals.

Locals for

Указыает процедуру, чьи переменные, массивы и объекты отображаются в окне Locals.

Name

Отображает имена видимых локальных переменных, массивов и объектов.

Value

Отображает текущие значения видимых локальных переменных, массивов и объектов.

Type

Отображает символы, которые представляют типы данных видимых локальных переменных, массивов и объектов..

Используйте контекстное меню для управления категорией отображаемых переменных.

Категория | Описание
Public | Переменные объявленные с ключевым словом PUBLIC.
Local | Переменные объявленные с ключевым словом LOCAL.
Standard | Все переменные в области видимости процедуры, чье имя оборажается в боксе Locals for.
Objects | Переменные объектов.

Для того, чтобы увидеть элементы массива или свойства объекта, щелкните по плюсу слева от имени массива или объекта. Окно Locals предоставляет вам возможность видеть свойства всех объектов в иерархии контейнера.

Смотрите также

Справочное руководство

Команда LOCAL
Команда PUBLIC
Окно Debugger
Клавишные ключи и меню отладчика (Debugger)

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


MemberData Editor

Visual FoxPro 9.0
Редактор MemberData
Смотрите также

Приложение Редактор MemberData позволяет разработчикам редактировать MemberData. Редактор MemberData представляет собой легкий в использовании интерфейс, который позволяет просматривать и редактировать MemberData, ассоиированные с вашими классами.

Для запуска Редактора MemberDataTo выберите пункт MemberData Editor из меню Form или Class при открытом и активном дизайнере форм или дизайнере классов. Член класса, например, введенное вами свойство "ClassDocumentation", который выбран в окне Properties появится выбранным в списке Редактора MemberData. Однако, в списке редактора вы можете щелкнуть по любому интересующему вас члену класса и редактировать его MemberData.

MemberData, которое вы видете и редактируете, хранится в свойстве _MemberData, которое вы можете редактировать непосредственно в окне Properties или воспользовавшись опцией Zoom из контекстного меню, вызываемого щелчком по правой клавише мыши на свойстве _MemberData, выбранном в окне Properties. Глобальные MemberData хранятся в вашей таблице _FOXCODE. MemberData форматирован в виде XML строки.

Member Data Editor Window

Использование Редактора "MemberData Editor"

Вы можете видеть и редактировать MemberData с помощью редактора. Ниже описаны основные части интерфейса редактора.

Member List

Содержит список всех достпуных членов (свойства, события и методы) для выбранного класса в дизайнере. Выберите интересующего вас члена для дополнения или изменения его MemberData.

Символы префикса ">>" означают, что член имеет ассоциированное с ним MemberData. Если член класса появляется выведенным жирным шрифтом, то это означает, что он имеет его MemberData для выбранной области Scope.

Scope

Установка Scope определяет - где хранится MemberData. Возможны приведенные ниже значения этой установки :

  • Object – MemberData доступен на уровне объекта. Эта опция требует, чтобы выбранный объект имел свойство _MemberData, в противном случае она недоступна.

  • Container – MemberData доступен на уровне контейнера, такого как форма. Если объект не имеет своего собственного MemberData, тогда он наследует его из контейнера, в котором он размещается. Если существует множество контейнеров, каждый со своим собственным свойством _MemberData, тогда возможен выбор контейнера из выпадающего списка.

  • Global – MemberData доступен на глобальном уровне (ваша таблица _FOXCODE). Эта установка не является характерной для объекта. Если объект не наследует MemberData из другого объекта или контейнера, тогда он будет использовать при возможности глобальную установку.

Вы должны понимать правила наследования с MemberData, так как это оказывает влияние на установку Scope. При вызове редактора MemberData, он первоочередно выбирает текущий выбранный в окне Properties объект или свойство. Например, если на форме выбран элемент управления Textbox, а он, Textbox, не содержит свойства _MemberDat, тогда вы не можете указать MemberData на уровне объекта Textbox. Вы можете указать только уровень контейнера или глобальный.

Has MemberData

Отметьте этот чек-бокс для ввода MemberData для выбранного члена. MemberData XML вводится только для выбранного Scope.

Описание панели

Перечисляет аттрибуты MemberData, которые установлены для выбранного члена и к какому уровню Scope относятся установки для текущих элементов.

Note Замечание

Командная кнопка Hierarchy отображает подробные установки MemberData для всех уровней выбранного члена.

Filter

Вы можете отфильтровать список членов, на основе приведенных ниже критериев:

  • All members - перечисляются все члены выбранного объекта.

  • Custom members only - перечисляются только пользовательские свойства или методы.

  • Custom members added in this class - перечисляются только пользовательские свойства или методы, которые были добавлены в текущий экземпдяр объекта. Наследуемые пользовательские члены не отображаются в списке.

  • Native members only - отображаются только внутренние члены Visual FoxPro.

  • Favorites only - отображаюьтся члены, которым в MemberData присвоен атррибут "Favorites".

View XML

Отображает подробный MemberData XML для всех членов выбранного объекта на выбранном уровне.

Hierarchy

Отображает подробные аттрибуты MemberData для всех уровней выбранного члена.

Options

Выводит диалоговое окно Options.

Базовые аттрибуты MemberData

Visual FoxPro резервирует определенные аттрибуты MemberData для оперативного использования в интегрированной среде разработки Visual FoxPro (IDE). С помощью редактора MemberData могут быть установлены приведенные ниже аттрибуты:

Favorites

Позволяет вам управлять - будет ли член отображен в окне Properties на закладке Favorites. Если вы установите метку в этот чек-бокс, вы можете выбрать между True или False в выпадающем списке. Кроме того, состояние чек-бокса определяет - будет ли аттрибут favorites записан в MemberData XML, и имеет ли вовлеченность в наследование.

Override

Позволяет вам управлять - будут ли аттрибуты MemberData, не найденные для этого члена, искаться вверх по иерархии. Если вы отметите этот чек-бокс, вы можете выбрать между True или False в выпадающем списке. Кроме того, состояние чек-бокса определяет - будет ли аттрибут override записан в MemberData XML, и имеет ли вовлеченность в наследование.

Display As

Управляет тем, как член будет отображаться в интегрированной среде разработки Visual FoxPro (IDE), такой как окно Properties или IntelliSense. Эта опция доступна только для пользоавтельских (определенных пользователем)членов. Эта установка представлена в аттрибуте display.

Script

Вы можете ввести скрипт, который будет вызван, когда пользователь щелкнет по командной кнопке (…) рядом с блоком ввода текста свойства в окне Properties.

Бокс Script и командная кнопка разблокируются только при выборе членов - свойств. Щелчок по командной кнопке Script открывает скрипт в большем по размеру окне редактирования. Эта установка представлена аттрибутом script.

Note Замечание

Скрипты можно использовать со всеми пользовательскими свойствами и некоторыми родными свойствами.

Определенные пользователем аттрибуты MemberData

User Defined Attribites Page

MemberData представляет собой форматированную в виде XML структуру, которая позволяет расширяться. Visual FoxPro предоставляет определенное базовое использование MemberData, например, такое, как указание Favorites. Вы можете ввести свои собственные аттрибуты в XML MemberData для использования, которые вы же и должны определить. Visual FoxPro будет хранить и накапливать эти пользоавтельские аттрибуты вместе с базовым MemberData.

Custom Attributes List

Перечисляет все пользовательские аттрибуты MemberData для выбранного члена.

Value

Устанавливает значение для пользовательских аттрибут, выбранных в списке.

Add

Добавляет новый пользовательский аттрибуть в MemberData. Как и все прочие XML аттрибуты, добавляемые аттрибуты являются регистро-чувствительными. Вы не можете добавить имя, которое уже разервировано, такое как favorites.

Remove

Удаляет пользоваельский аттрибут из MemberData.

Диалоговое окно Options

Member Data Editor Options Dialog

Диалог Options позволяет вас управлять разными установками интерфейса пользователя редактора MemberData, наравне с опциями, генерируемыми MemberData.

Use Hungarian names

Дефолтное свойство "capitalization" для установки Display as (аттрибут display) устанавливает первую букву в нижнем регистре и остаток в надлежащем виде.

Method prefixes

Содержит разделенный запятыми список префиксов для управления, как капитализация слова выполняется для MemberData, когда пользовательский метод имеет префикс, который имеет соответствие в этом списке. Когда соответствие найдено, MemberData Editor капитализирует префикс на основе того, что имеется в списке и капитализирует остаток имени в надлежащем виде.

Line break after each XML element

Определяет - будет ли вставляться разбивка линии после каждого элемента XML во вновь сгенерированном _MemberData.

Automatically add _MemberData property to objects

Если эта установка включена, то есть установлена в on, запись добавляется в вашу таблицу IntelliSense (_FOXCODE), которая автоматически создает свойство _MemberData для формы, открытой в дизайнере форм или для самого внешнего объекта в дизайнере классов.

Script Font

Определяет шрифт, используемый в блоке редактирования текста скрипта - Script.

Замечания переводчика.

Несмотря на всю прелесть использования свойства _MemberData, должен предупредить о некоей нестабильности, которая имеет место быть при использовании этого свойства. Структура XML с завидным постоянством разрушается без каких-либо видимых или объяснимых причин. Можно было бы допустить, что это связано с превышением длины строки свойства в окне Properties, так как, например, приведенная ниже ошибочная строка XML имеет длину в 538 символов. В случае, если нарушение структуры XML произошло, то увидеть сбои вы сможете сразу же при вызове описанного редактора.

Member Data Editor Error Window

Что можно предпринять. В окне Properties выберите свойство _MemberData редактируемого класса или формы, вызовите щелчком по правой клавише мыши контекстное меню и далее выберите опцию Zoom... . Откроется окно редактирования значения свойства:

Zoom Memberdata Expression

Взгляните на выбранный текст. Ошибка начинается с точки "fa<VFPData>". Однако, дело поправимое, хотя в большинстве случаев такое разрушение структуры XML приводит к потере ряда аттрибутов, и, что встречается достаточно часто, значений MemberData для некоторых свойтсв. Для приведенного примера, корректным завершением XML строки будет:

display="cor_ParentContainer_Assign" favorites="True"/></VFPData>

После исправления строки XML, MemberData редактируемого класса вновь станет доступным для приложения редактора MemberData. Удачи!

Смотрите также

Справочное руководство

Task Pane Manager
Свойство _MemberData

Концепции

Расширяемость MemberData
Расширяемость XML MemberData отчета

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Object Browser Window

Visual FoxPro 9.0
Окно Object Browser (Обозреватель объекта)
Смотрите также
CollapseAll image

Object Browser (Обозреватель объекта) отображает классы, свойства, методы, события и константы доступные для библиотек COM-объекта. Вы можете использовать Object Browser (Обозреватель объекта) для поиска и использования создаваемых вами объектов наравне с объектами из других приложений.

Для запуска Object Browser (Обозревателя объекта) в меню Tools (Инструменты) щелкните по Object Browser (Обозреватель объекта) и, затем, откройте библиотеку COM для просмотра.

Ссылка на приложение Object Browser (Обозреватель объекта) занесена в системную переменную _OBJECTBROWSER которая, по умолчанию, установлена в приложение objectbrowser.app. Вы можете установить ее значение на закладке File Locations (Размещение файлов) диалогового окна Options (Параметры).

Панель Classes & Members (Классы & Члены)

Перечисляет классы, члены, интерфейсы, перечисления, константы и прочую информацию, доступную из библиотеки типов. Для отображения членов каждой категории - разверните ее, щеклнув по плюсу слева от наименования категории.

Панель Members (Члены)

Перечисляет подробную информацию о выбранном в панели Classes & Members (Классы &amp; Члены) элементе. Если выбран класс, то отображаются его события, методы и свойства.

Панель описания

Отображает определения выбранного элемента, синтаксис прототипа и гиперссылку на класс, библиотеку или тип, которым принадлежит элемент. Некоторые элементы имеют гиперссылку на свой родительский класс. Когда выбраг интерфейм, панель описания включает в себя идентификационный номер интерфейса - Interface ID.

Вы можете копировать или перетаскивать текст из панели описания в окна редактирования.

Командная кнопка Open Type Library (Открыть библиотеку типов)

Отображает диалоговое окно Open Type Library (Открыть библиотеку типов) вы можете выбрать конкретный COM компонент или элемент ActiveX. Для отображения списка ранее открывавшихся библиотек, щелкните по командной кнопке с изображением "стрелка вниз", расположенной справа от этой командной кнопки.

Open Type Library (Открыть библиотеку типов)

Появляется, когда вы щелкаете по командной кнопке Open Type Library (Открыть библиотеку типов) или выполняете щелчок по правой клавише мыши в окне Object Browser (Обозревателя объекта) и затем щелкаете по Open (Открыть).

Имя Описание

Закладка Recent History (История последних библиотек)

Отображает список ранее открывавшихся библиотек. Для того, чтобы добавить библиотеку в Object Browser (Обозреватель объекта), отметьте чек-бокс рядом с библиотекой. Для очистки содержимого списка истории, щелкните по Clear History (Очистить историю).

Закладка COM Libraries (СОМ-библиотеки)

Показывает список всех доступных в вашей системе библиотек COM-классов. Списко включает библиотеки для COM-компонентов и элементов ActiveX.

Когда вы впервые щелкаете по этой закладке, COM-библиотеки считываются из реестра вашей системы и кэшируются в локальной таблице FoxRefs.dbf. Когда вы в следующий раз щелкните по этой закладке, то наименования библиотек считываются уже из этой таблицы.

Для перезагрузки всех наименований библиотек классов, которые зарегистрированы в вашей системе, щелкните по комадной кнопке Refresh. Для выбора и загрузки индивидуальной библиотеки (.tlb, .ocx, .olb, .dll, .exe), щелкните по кнопке Browse для открытия диалогового окна выбора файла.

Закладка Current Selection (Текущий выбор)

Отображает список всех открытых библиотек.

Для того, чтобы закрыть конкретную библиотеку, просто снимите метку с чек-бокса слева от имени библиотеки. Для того, чтобы закрыть все библиотеки, щелкните по Close All.
Комадная кнопка Back (Назад)

Перемещает фокус выборки на последний элемент, который вы просмотривали до этого момента.

Комадная кнопка Forward (Вперед)

Перемещает фокус выборки на элемент, который вы просматривали до момента щелчка по кнопке Back (Назад).

Комадная кнопка Refresh (Обновить)

Обновляет содержимое Object Browser (Обозревателя объекта) перезагрузкой выбранных библиотек. Это полезно для при частом изменении COM-компонентов при разработке. Кроме того, обновляются и кэшированные библиотеки.

Комадная кнопка Copy (Скопировать)

Позволяет вам скопировать выбранный элемент в текущий список. Если не имеется явной выборки в панели описания, то копируется весь текст целиком.

Комадная кнопка Find (Найти)

Отображает панель поиска для того, чтобы вы смогли ввести конкретную строку текста для поиска внутри библиотек, открытых в Object Browser (Обозревателе объекта).

Панель поиска

Появляется сверху Object Browser (Обозревателя объекта), когда вы щелкаете по кнопке Find (Найти). Используйте эту панель для поиска конкретной фразы в библиотеке. Имеется два варианта панели - просто поиск поиск и уточненный поиск. Первая представлена на рисунке выше, вторая на рисунке ниже.

Имя Описание

Look for (Искать): бокс ввода текста для поиска

Введите текст, который вы желаете найти. По умолчанию поиск производитс во всех открытых библиотеках, во всех их членах и в любых элементах, которые могут содержать искомый текст.

Командная кнопка Go

Щелкните по этой кнопке для начала поиска введеного текста. Когда вы щелкните по этой кнопке, то для каждой открытой библиотеки в панели Classes & Members (Классы и члены) в ее конце появится новый узел с выражением "(Search: <searchtext> - Поиск: <введенный текст для поиска>)". Вы можете уточнить условия поиска переключившись в режим Advanced view (Уточненнный поиск).

Ссылка Switch to advanced find... (Переключиться в уточненный поиск)

Отображает дополнительные условия поиска с целью обеспечения более точного поиска.

Выпадающий список Libraries (Библиотеки)

Ограничивает поиск либо до уровня всех открытых библиотек или до уровня конкретной библиотеки. Имеется только в панели уточненного поиска (Смотрите рисунок выше).

Выпадающий список Scope (Область)

Ограничивает поиск либо до уровня членов всех библиотек, либо до уровня одного. Этот список доступных условий включает в себя Classes (Классы), Constants (Константы), Enums (Перечисления), Interfaces (Интерфейсы), Methods (Методы), Events (События) и Properties (Свойства). Имеется только в панели уточненного поиска (Смотрите рисунок выше).

Выпадающий список Options (Параметры)

Определяет - как будет производится поиск. Параметры включают в себя Contained in (Содержащийся в...), Starts with (Начинающийся с...) и Exactly like (Точно по примеру). Имеется только в панели уточненного поиска (Смотрите рисунок выше).
Комадная кнопка Options (Опции)

Отображает диалоговое окно Options (Опции), с помощью которого вы можете управлять различными опциями отображения. Вы можете, кроме того, установить свои собствевнные дополнения для использования с Object Browser (Обозревателем объекта).

Закладка Display Options (Опции отображения) диалогового окна Options (Опции)

Эта закладка в диалоговом окне Options (Опции) позволяет вам управлять визуальными аспектами Object Browser (Обозревателя объекта).

Имя Описание

Чек-бокс Highlight Potential Sources of Events (Подсветить потенциальный источник события)

Определяет - будет ли подсвечен потенциальный источник событий (интерфейс или метод).

Чек-бокс Highlight Default Items (Подсветить элементы по умолчанию)

Определяет - будут ли подсвечены элементы по умолчанию с помощью выделения жирным стилем шрифта.

Чек-бокс Display Hidden Items (Отображать скрытые элементы)

Определяет - будут ли отображаться скрытые элементы (такие, как интерфейс, методы и свойства).

Чек-бокс Auto Expand Details (Авторазвертывание подробностей)

Определяет - будут ли автоматически развертываться элементы верхнего уровня.

Чек-бокс Auto Drill Down Details (Автопроход внутрь подробностей)

Определяет - будут ли автоматически развертываться сложные иерархии в панели Methods (Методы) (такие, как методы и свойства для каждого интерфейса) .

Чек-бокс Display VTable Interfaces (Отображать интерфейсы VTable)

Определяет - будут ли отображаться основанные на VTable интерфейсы и их члены.

Чек-бокс List all interfaces defining a method, event, or property in detail (Перечислить все интерфейсы, определяющие метод, событие или свойство в подробностях)

Определяет - будут ли все интерфейсы, определяющие метод или свойство перечислены в панели описания.

Чек-бокс Display properties that start with an underscore (_) (Отображать свойства, имена которых начинаются с символа подчеркивания)

Свойства, имена которых начинаются с символа подчеркивания обычно представляют собой места для перечислений (коллекций констант). По этой причине, по умолчанию они не отображаются.

Чек-бокс Display members that are defined in IUnknown or IDispatch (Отображать члены, которые определены в интерфейсах IUnknown или IDispatch)

Все COM-объекты имеют методы, которые определены в интерфейсах IDispatch и IUnknown. Эти методы должны быть там для работы в среде COM; однако, обычно они не используются напрямую разработчиками приложений Visual FoxPro.

Чек-бокс List members parameters in detail (Перечислить в подробностях параметры членов)

Параметры методов могут перечислены непосредственно в панели Members (Члены). Однако, отметьте, что параметры перечислены более подробно в панели описания.

Чек-бокс List interfaces in class details (Перечислить в подробностях интерфейсы в классе)

Все классы, которые могут быть созданы, основываются на одном или нескольких интерфейсах. Часто интерфейсы в панели Members (Члены) просто показывают ту же самую информацию, что и полный класс, но иногда они предоставляют более значимые данные.

Чек-бокс Show Interface Inheritance structure (Показать структуру наследования интерфейса)

Определяет - должны ли отображаться наследуемые интерфейсы в панели Members (Члены).

Командная кнопка Font

С помощью нее можно установить шрифт для элементов интерфейса в окне Object Browser (Обозревателя объекта).
Закладка Add Ins диалогового окна Options (Опции)

Эта закладка в диалоговом окне Options (Опции) позволяет вам ввести свои собственные дополнения в обозреватель объекта. Подробно описана в Использование Object Browser (Обозревателя объекта)

Имя Описание

Комадная кнопка Manually Install

С ее помощью можно вызывать мастер установки дополнения.

Список Installed Add-Ins (Установленные дополнения)

Отображает все загруженные дополнения.

Комадная кнопка Remove (Удалить)

Эта кнопка отображается справа для каждого инсталлированного дополнения. Для удаления дополнения щелкните по нейin. Файл дополнения в реальности не удаляется.
Комадная кнопка Help (Помощь)

Отображает документацию выбранного члена. В дополнение, для этого вы можете воспользоваться F1.

Expand image Смотрите также

Задачи

Как: просмотреть информацию бибилиотеки типов

Справочное руководство

Использование Object Browser (Обозревателя объекта)
Окно Class Browser (Обозревателя объекта)
Системная переменная _ObjectBrowser
Команда DEFINE CLASS
Функция EVENTHANDLER()

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Project Manager Window

Visual FoxPro 9.0
Окно Project Manager (Диспетчер проекта)
Смотрите также

Используйте Project Manager (Диспетчер проекта) для организации и управления вашими файлами в проектах. Проект представляет собой коллекцию файлов, данных, документов и объектов Visual FoxPro, которая сохранена в виде файла с расширением .pjx. Когда активно окно Project Manager (Диспетчера проекта), Visual FoxPro отображает в главном меню пункт Project.

Элементы в Project Manager (Диспетчере проекта) организованы наподобие схемы с узлами, которые можно разворачивать или сворачивать. Знак плюс (+) появляется рядом с символом в случае, если в проекте содержится несколько элементов этого типа. Щелкните по плюсу рядом с символом группы, для того, чтобы увидеть ее элементы в виде списка. Щелкните по знаку минус (-) для сворачивания развернутого списка.

Первоначально, Project Manager (Диспетчер проекта) появляется в виде отдельного окна. Вы можете его перемещать, изменять в размерах или сворачивать до уровня, когда видны только его закладки.

Как и прочие полоски инструментов, вы можете закреплять (стыковать) Project Manager (Диспетчер проекта), перетаскивая его к вершине вашего экрана или с помощью двойного щелчка по заголовку его окна. Когда Project Manager (Диспетчер проекта) закреплен (пристыкован), он становится частью области полосок инструментов окна Visual FoxPro. Вы можете не разворачивать окно Project Manager (Диспетчер проекта), когда оно закреплено; вместо этого для доступа к элементам проекта достаточно щелкать по индивидуальным закладкам окна. Вы можете, кроме того, вообще вытащить закладки из закрепленного окна Project Manager (Диспетчера проекта), которые будут отображаться на экране самостоятельно в виде небольших окошек .

Когда окно Project Manager (Диспетчера проекта) закреплено, вы можете выполнить на нем щелчок по правой клавише мыши для вызова контекстного меню. В таком меню, для Visual FoxPro 9.0 доступны перечисленные ниже пункты:

Undock (Расстыковать)

Восстанавливает Project Manager (Диспетчер проекта) в его предыдущий размер и расположение.

Close (Закрыть)

Закрывает Project Manager (Диспетчер проекта).

Ввести проект под контроль исходников (Source Control)

Если программное обеспечения контроля исходного кода установлено, введите проект под контроль исходников.

Project Info (Информация о проекте)

Отображает диалоговое окно Project Information (Информация о проекте), позволяющее вам посмотреть и отредактировать информацию о проекте и его файлах.

Errors (Ошибки)

Открывает окно Error (Ошибка), которое отображает ошибки, случившиеся во время сборки проекта или приложения.

Build (Сборка)

Отображает диалоговое окно Build Options (Параметры сборки).

Это диалоговое окно позволяет вам собрать проект или приложение, и, кроме того, вы можете собрать исполнимый файл или библиотеку сервера автоматизации.

Refresh (Освежить)

Освежает визуальное отображение Project Manager (Диспетчера проекта).

Clean Up Project (Очистить проект)

Очищает проект, физически удаляя записи, помеченные для удаления и упаковывает мемо-поля.

Builder (Компоновщик)

Отображает диалоговое окно Wizard Selection (Выбор мастера), содержащий список мастеров, которые вы можете выбрать для работы

Help (Справка)

Открывает окно справки.

Вы можете настроить вашу видимую рабочую зону изменением вида Project Manager (Диспетчера проекта) или установить запуск файлов в Project Manager (Диспетчере проекта) с помощью двойного щелчка. Для получения более подробной информации смотрите Настройка среды Visual FoxPro.

Закладки

Отображают элементы по категориям. Когда окно Project Manager (Диспетчера проекта) свернуто, вы можете вытащить закладки из Project Manager (Диспетчера проекта). Для восстановления закладок просто перетащите их в прежнюю позицию в Project Manager (Диспетчере проекта) или просто щелкните по кнопке Close.

Для вытаскивания закладок из проекта, сверните окно, выберите закладку и вытащите ее Project Manager (Диспетчера проекта). Когда закладка вытащена, вы можете обращаться к пунктам меню Project, вызвав его щелчком по правой клавише мыши.

Если вы желаете, чтобы закладка всегда оставалась поверх других окон, щелните по иконке чертежной кнопки на закладке. Закладка будет оставаться поверх прочих окон Visual FoxPro. Вы можете установить аналогичное поведение и для других закладок - "always on top (всегда спереди)" Для возврата в обычное поведение установки "always on top (всегда спереди)" щелкните еще раз по иконке чертежной кнопки.

Кнопка развертывания/свертывания

Разворачивает и сворачивает окно Project Manager (Диспетчера проекта). Когда Project Manager (Диспетчер проекта) свернут, вы можете вытащить закладки, поместив указатель мыши над требуемыми и перетащить их из Project Manager (Диспетчера проекта).

Список элементов

Списки элементов, содержащиеся в проекте выполнены в виде схемы с узлами. Иконки, отображаемые слева от элемента указывают его тип.

Сбоку от элемента может появляться символы, указывающие, что элемент либо включен в проект, либо исключен из него.

Когда файлы включены в проект, они при сборке проекта компилируются в одиночный файл приложения .app. Все включенные в проект файлы получают в run-time признак "только для чтения". В группах Programs (Программы), Forms (Формы), Queries (Запросы) или Menus (Меню) в случае, если файл определен в качестве главного, его имя будет выделено жирным шрифтом.

Командные кнопки Project Manager (Диспетчера проекта)

New (Новый)

Создает новый файл или объект. Это кнопка имеет тоже самое действие, что и команда New File (Новый файл) в меню Project. Новый файл или тип объекта будет того же самого типа, какой имеет выделенный в этот момент времени элемент проекта.

Note Замечание

Файлы, созданные с помощью команды меню File (Файл) автоматически в проект не включаются, тогда как файлы, созданные с помощью команды меню New File (Новый файл) или с помощью кнопки New (Новый) в Project Manager (Диспетчере проекта) будут автоматически включены в проект.

Add (Добавить)

Добавляет существующий файл в проект. Эта кнопка имеет то же самое действие, что и выбор команды Add File (Добавить файл) в меню Project (Проект). После щелчка на Add (Добавить) вы можете выбрать множество файлов, нажав и удерживая клавиши SHIFT или CTRL в диалоговом окне Open (Открыть), пока вы щелкаете по именам файлов, добавляя их в проект.

Modify (Изменить)

Открывает выбранный элемент в соответствующем конструкторе. Эта кнопка имеет то же самое действие, что и выбор команды Modify File (Изменить файл) в меню Project (Проект).

Browse (Просмотреть)

Открывает таблицу в окне просмотра (Browse). Эта кнопка имеет то же самое действие, что и выбор команды Browse File (Просмотр файла) в меню Project (Проект).

Close (Закрыть)

Закрывает открытую базу данных. Эта кнопка имеет то же самое действие, что и выбор команды Close File (Закрыть файл) в меню Project (Проект) и доступна только в том случае, если выбрана база данных. Если текущая база данных уже закрыта, то эта кнопка меняет свой заголовок на Open (Открыть).

Open (Открыть)

Открывает базу данных. Эта кнопка имеет то же самое действие, что и выбор команды Open File (Открыть файл) в меню Project (Проект) и доступна только в том случае, если выбрана база данных. Если выбранная база данных уже открыта, то эта кнопка меняет свой заголовок на Close (Закрыть).

Remove (Удалить)

Удаляет выбранный файл или объект из проекта. Visual FoxPro запрашивает вас - вы желаете просто вывести файл из проекта или вы желаете вывести и физически удалить файл с диска. Эта кнопка имеет то же самое действие, что и выбор команды Remove File (Удалить файл) в меню Project (Проект).

Build (Собрать)

Собирает проект или приложение, а также позволяет вам собрать исполнимый файл или библиотеку сервера автоматизации. Эта кнопка имеет то же самое действие, что и выбор команды Build (Собрать) в меню Project (Проект).

Preview (Предпросмотр)

Отображает выбранный отчет или этикетку в режиме предпросмотра печати (Print Preview). Кнопка доступна в случае, если вы выбрали проект или этикетку в Project Manager (Диспетчер проекта). Эта кнопка имеет то же самое действие, что и выбор команды Preview File (Предпросмотр файла) в меню Project (Проект).

Run (Запустить)

Запускает выбранные запрос, форму или программу. Доступна, когда вы выбрали в Project Manager (Диспетчере проекта) запрос, форму или программу. Эта кнопка имеет то же самое действие, что и выбор команды Run File (Запустить файл) в меню Project (Проект).

Смотрите также

Справочное руководство

Окно просмотра (Browse)

Концепции

Исключение редактируемых файлов из сборок
Создание интерфейса пользователя без программирования

Прочие ресурсы

Окна (Visual FoxPro)
Компиляция приложения

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Properties Window (Visual FoxPro)

Visual FoxPro 9.0
Окно Properties (Свойства) (Visual FoxPro)
Смотрите также

Отображает свойства, события и методы, а также их установки, доступные для выбранного объекта.

Note Замечание

Имена свойств, для которых установлен признак "только для чтения" и значения которых не могут быть отредактированы (значения некоторых свойств недоступны для редактирования только в design-time, например - свойства-массивы) показываются в списке свойств выделенные курсивом.

Для получения более подробной информации о том, как установить значения для свойств, ввести код в процедуры событий и методов объектов смотрите описание задачи Как: установить свойства для объектов. Для получения информации о сокращенных клавиатурных командах (shortcuts) смотрите описание Сокращенные клавиатурные команды (shortcuts).

Список объектов

Выведен в окне Properties (Свойства) в виде комбобокса, отображающего список доступных объектом, когда вы раскрываете его. Этот список включает все уровни иерархии, например, форму, набор форм и все элементы управления на форме или в контейнерном классе.

Если при работе с формой открыт конструктор среды данных (Data Environment Designer), список будет также включать в себя объект DataEnvironment, а также все введенные в него объекты - курсоры и отношения в среде данных формы.

Закладки

Отображает свойства, события и методы, разнесенные по категориям:

  • All (Все) Все свойства, события и методы, связанные с выбранным объектом.

  • Data (Данные) Свойства, которые связаны с данными, их отображением и обработкой объектом.

  • Methods (Методы) События и методы.

  • Layout (Раскладка) Свойства, связанные с размещением и конфигурацией объектов.

  • Other (Прочие) Различные свойства, а также свойства, определенные пользователем.

  • Favorites (Избранное) Ваши избранные свойства, события и методы. Для ввода свойства, события или метода на закладку Favorites (Избранное), вызовите щелчком по правой клавише на имени свойства, события или метода контекстное меню и выберите в нем пункт Add to Favorites (Добавить в избранное). Свойства, события и методы могут быть, кроме того, добавлены на закладку Favorites (Избранное) программным путем. Для информации о том, как это сделать, обратитесь к описанию Расширяемость MemberData .

Бокс значений свойств

Предоставляет вам возможность изменить значение редактируемого свойства, когда оно выбрано в списке свойств.

Note Совет

Если выбранное свойство имеет предустановленные значения, бокс установок свойства содержит список значений, из которых вы можете выбрать требуемое. Для выбора значения из списка щелкните по правой клавише мыши на значении свойства для вывода контекстного меню и выберите желаемое значение.

Note Совет

Вы можете просмотреть установки свойства выполнив двойной щелчок по левой клавише мыши на имени свойства в списке свойств. Если установка требует имени файла или цвет, щелкните по кнопке просмотра (...) для отображения соответствующего диалогового окна или окна выбора файла или цвета.

Слева от бокса установки свойств размещены четыре командные кнопки:

  • Cancel (Отмена) (X) Отменяет изменения, сделаннные в значении свойства, и восстанавливает первоначальное значение.

  • Accept (Применить) (check symbol) Подтверждает изменения, сделаннные в значении свойства.

  • Function (Функция) (Fx symbol) Открывает Expression Builder (Компоновщик выражения). Командная кнопка Function доступна в случае, когда значение свойства представляет собой выражение. Вы можете установить в качестве значений символьные выражения или значения, возращаемые функциями или выражениями. Для получения более подробной информации смотрите описание Диалоговое окно Expression Builder (Компоновщик выражения).

  • Zoom (Увеличить) (Z) Открывает диалоговое окно Zoom (Увеличить) для того, чтобы вы смогли отредактировать длинные значения редактируемых свойств.

    Для определенных типов свойств, Visual FoxPro 9.0 обеспечивает поддержку для указания значений, чья длина превышает 255 символов (ограничено значением в 8K символов) непосредственно в окне Properties (Свойства) через диалоговое окно Zoom. В дополнение к сказанному, эти значения могут включать в себя символы перевода каретки и переноса строки. Эта поддержка применяется ограниченно для определенных пользователем свойств наравне с некоторыми "родными" свойствами Visual FoxPro. Общими "родными" свойствами, которые поддерживают расширенные значения являются Value, Text, DisplayValue, UserValue, PictureVal, CommandClauses, _MemberData, CursorSchema, DataSource, а также свойства классов CursorAdapter и XMLAdapter, связанные с указанием источника данных, списка полей или команды.

    Note Замечание

    Командные кнопки Cancel (Отмена), Accept (Применить) недоступны в случае, если значение свойства, по длине, превышает 255 символов или содержит недопустимые символы. Для редактирования значения свойства вы можете использовать диалоговое окно Zoom (Увеличить) или Expression Builder (Компоновшик выражения).

    Note Совет

    Вы можете определить, поддерживает ли свойство расширенные значения с помощью диалогового окна Zoom (Увеличить), вызываемого для исследуемого свойства. Если в состав командных кнопок в диалоговом окне не включена кнопка Apply (Применить) и вы можете ввести перевод каретки, то это означает, что выбранное свойство поддерживает расширенные значения.

    Note Замечание

    У вас остается возможность указать расширенные значения для свойств, которые не поддерживаются явно в диалоговом окне Zoom (Увеличить) с помощью установки этих значений в программном коде, например, в процедуре события Init желаемого объекта. Отметьте, что значения, напечатанные в диалоговом окне Zoom, превышающие по длине 255 символов, для свойств, у которых не поддерживаются расширенные значения, будут обрезаны (укорочены) при сохранении класса.

    Caution note Предупреждение

    Значения свойств, которые превышают 255 символов или включают в себя символы из списка расширенных, такие как CHR(13) (перевод каретки) или CHR(10) (перенос строки), хранятся в специальном формате внутри файла библиотеки класса (.vcx) или формы (.scx). Значение свойства может содержать специальную набивку, состоящую из символов CHR(1). Знайте, что классы в библиотеках визуальных классов (.vcx) или формах (.scx), которые содержат свойства с такими значениями не могут быть использованы в версиях Visual FoxPro до 9.0. Если вы попытаетесь редактировать такие файлы в более ранних версиях, то будет сгенерирована ошибка. Вы можете продолжать использовать другие классы из таких файлов библиотек классов (.vcx) с более ранними версиями Visual FoxPro, если они не содержат значений свойств, превышающих по длине 255 символов или включающих в себя символы перевода каретки и переноса строки.

    Командная кнопка Zoom может быть недопуступной для некоторых свойств. Для получения более подробной информации смотрите описание Диалоговое окно Zoom <property> (Увеличить <свойство>).

Список свойств

Этот список показывает все свойства, которые могут быть изменены в design time и их текущие установки. Для получения справки для конкретного свойства, выберите его в списке и нажмите F1.

Отображение установок свойств в списке свойств может выглядеть так, как указано ниже:

  • Перед установками свойств, представляющими собой выражения, указывается символ равенства (=).

  • Установки свойств, событий и методов, которые имеют признак "только для чтения" показываются в списке выделенными курсивом.

  • Методы и события показывают подробности наследования так, как показано ниже:

    CopyCode image Скопировать код
    Default

    - или -

    CopyCode image Скопировать код
    Inherited cClassname ClassLibrary

    Для получения более подробной информации о просмотре наследуемого кода метода или события смотрите описание задачи Как: отобразить наследуемый код для объектов, событий и методов..

Смотрите также

Задачи

Как: установить свойства для объектов

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Task List Manager Window

Visual FoxPro 9.0
Окно Task List Manager (Диспетчер списка задач)
Смотрите также

Предоставляет вам мозможность отслеживать задачи. Для настройки Task List Manager (Диспетчера списка задач) обратитесь к описанию Настройка Task List Manager (Диспетчера списка задач).

Task List Manager (Диспетчер списка задач) появляется, когда вы щелкаете по пункту Task List (Список задач) в меню Tools (Инструменты). Вы можете, кроме того, обращаться к Task List Manager (Диспетчеру списка задач), используя системную переменную _TASKLIST, которая ссылается, по умолчанию, на приложение Tasklist.app. Вы можете изменить эту ссылку на закладке File Locations (Размещение файлов) в диалоговом окне Options (Параметры). Для получения более подробной информации смотрите описание Системная переменная _TASKLIST или Закладка File Locations (Размещение файлов) диалогового окна Options (Параметры).

Список задач хранится в таблице, в файле FoxTask.dbf. Вы можете указать другой файл в системной переменной _FOXTASK. Для получения более подробной информации смотрите описание Системная переменная _FOXTASK.

Визуальные индикаторы списка задач

Task List Manager (Диспетчер списка задач) указывает важную информацию посредством визуальных индикаторов:

Визуальный индикатор | Описание
Красный текст | Указывает, что срок выполнения (Due Date) задачи уже прошел.
Черный текст | Указывает, что срок выполнения задачи еще не достигнут.
Синий текст | Указывает, что сегодня срок выполнения задачи.
Жирный текст | Указывает, что задачу еще не читали.
Перечеркнутый текст | Указывает, что задача завершена.
Красная стрелка, направленная вверх | Указывает задачу с высоким приоритетом.
Синяя стрелка, направленная вниз | Указывает задачу с низким приоритетом.
Иконка со стрелкой | Указывает на задачу Indicates a Shortcut task.
Иконка с пользователем и задачей | Указывает на задачу, определенную пользователем или задача типа "Прочие".

Поля окна диспетчера задач

Task List Manager (Диспетчер списка задач) включает в себя перечисленные ниже поля:

Имя поля Описание Изначально отображается Удаляемое Редактируемый ярлык Редактируемая, определенная пользователем

Приоритет (название не отображается - поле первое слева по умолчанию)

Выпадающий список показывает приоритеты задачи.

X

X

X

Завершенные задачи (название не отображается - поле второе слева по умолчанию)

Если чек-бокс отмечен, то это указывает, что задача завершена.

X

X

X

Тип задачи (название не отображается - поле третье слева по умолчанию)

Визуальное представление типа задачи в виде иконки. Внутренне, типы представляют приведенные ниже значения в поле Type таблицы Foxtask:

Note Замечание

S - Ярлык

Note Замечание

U – Определенные пользователем

Note Замечание

O – Прочие

X

Contents (Содержания задач)

Описание задачи.

X

X

File Name (Имя файла)

Имя файла, содержащего ярлык (Shortcut) или ассоциированного с задачей.

X

X

X

Due Date (Дата завершения)

Дата, к которой должно быть завершено исполнение задачи.

X

X

X

X

Class (Класс)

Имя класса, содержащего ярлык или ассоциацию с задачей.

X

X

Line (Строка)

Номер строки, в которой помещен ярлые или ассоциация задачи.

X

X

Method (Метод)

Имя методов, в котором помещен ярлые или ассоциация задачи.

X

X

Timestamp (Временной штамп)

Численный штамп времени, определяющий момент первого ввода задачи в список задач.

X

Custom (Пользовательский)

Вы можете добавить свои поля для задач.

X

X

X
Диалоговое окно Tasklist Options (Параметры списка задач)

Отображает параметры для ввода, удаления или просмотра ваших, пользовательских полей в Task List Manager (Диспетчере списка задач). Вы можете, кроме того, редактировать структуру таблицы или очищать ее. Диалоговое окно Tasklist Options (Параметры списка задач) появляется, когда вы выполняете щелчок по правой клавише мыши в Task List Manager (Диспетчере списка задач) с последующим щелчок по Options (Параметры).

  • Командная кнопка New (Новая) Создает новую таблицу и отображает Table Designer (Конструктор таблицы), где вы можете добавить свои, новые поля и указать их тип данных. Не изменяйте начальное поле UniqueID в определении таблицы.

    Note Замечание

    Закладка Fields в диалоговом окне Task Properties (Свойства задачи) рассматривает все пользовательские поля, как поля типа Character и не производит никакой проверки типа.

  • Командная кнопка Edit Structure (Редактировать структуру) Предоставляет вам мозможность отредактировать структуру пользовательских колонок таблицы.

  • Командная кнопка Clear (Очистить) Удаляет из таблицы, ассоциированной с Task List, пользовательские поля. Таблица и ее содержание остаются нетронутыми, для того, чтобы вы в дальнейшем, при необходимости, смогли восстановить ее первоначальную структуру.

  • Командная кнопка Browse (Обзор) Предоставляет вам возможность выбрать существующие пользовательские поля таблицы, для того, чтобы вы смогли установить связывание с основной таблицей FoxTask.dbf.

    Note Замечание

    Когда созданы пользовательские поля, имейте в виду, что они не могут быть просто изменены в Task List Manager (Диспетчере списка задач). Вы должны сделать это вручную в Visual FoxPro с помощью Table Designer (Конструктора таблиц).

  • Clean Up FoxTask (Очистить таблицу FoxTask) Очищает и упаковывает таблицу, ассоциированную с Task List (Списком задач).

Смотрите также

Задачи

Как: создавать Bookmarks (закладки) и Shortcuts (ярлыки) Task List (Списка задач)

Справочное руководство

Системная переменная _TASKLIST
Системная переменная _FoxTask

Концепции

Как: использовать Task List Manager (Диспетчер списка задач)

Прочие ресурсы

Окна (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Task Pane Manager

Visual FoxPro 9.0
Task Pane Manager - Мэнеджер панели задач
Смотрите также

Task Pane Manager отображает связи (links) с полезной информацией и диалоговым блоками для выполнения необходимых задач. Индивидуальные панели могут содержать статическую млм динамическую информацию, собирать содержание из Internet, выставлять напоказ мастера, требуемые для сопровождения рутинных задч, отображать справку Help и имеющиеся образцы. Пользователи могут создавать настраиваемые панели, которые могут быть использованы совместно несколькими пользователями.

Вы можете получить доступ к Task Pane Manager из меню Tools в главном окне Visual FoxPro.

Start

Содержит разделы, которые отображают информацию о Visual FoxPro, список выбранных пользователем инструментов и списоу проектов и баз данных, с которыми пользователь работал в последнее время.

Community

Содержит информацию о сообществе Visual FoxPro. Эта панель создается с использованием динамического содержания, получаемого из Internet.

Environment Manager

Определяет установки окружения Visual FoxPro и ассоциирует их с индивидуальными проектами. Для получения более подробной информации, смотрите Environment Manager Task Pane.

Solution Samples

Отображает образцы решений, созданных в Visual FoxPro. Здесь могут инсталлированы дополнительные решения с помощью опции Install Sample.

XML Web Services

Помогает пользователю в использовании, публикации и управлении XML Web сервисами. Кроме того, эта панель включает в себя связи к полезным ресурсам по XML Web сервисам.

Filer

Определяет критерии поиска для нахождения файлов.

Data Explorer

Просмотр и работа с удаленными источниками данных, таких как базы данных SQL Server'а. Для получения более подробной информации, смотрите Data Explorer Task Pane.

Minesweeper

Сделайте короткий перерыв в работе и развлекитесь.

Refresh

Перезагружает содержание панели, которая отображается в настоящий момент времени. Если панель содержит динамическую , основанную на Internet информацию, содержание загружается в порядке, указанном в диалоговом блоке Task Pane Options.

Options

Отображает диалоговый блок Task Pane Options где вы можете установить опции для Task Pane или для индиыидуальных панелей.

Смотрите также

Справочное руководство

Системная переменная _TASKPANE
Диалоговый блок Pane Customization
Диалоговый блок Task Pane Options

Прочие ресурсы

Справочное руководство по интерфейсу пользователя (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Data Explorer Task Pane

Visual FoxPro 9.0
Панель задач Data Explorer
Смотрите также

Панель задач Data Explorer используется для открытия соединений к данным и входа на серверы, а также для исследования баз данных на этих серверах. Вы можете производить щелчки по правой клавише мыши на узлах для производства различных действий на элементах данных, представленных этим узлами. Вы можете перетаскивать узлы из Data Explorer и бросать их в дизайнеры и редакторы Visual FoxPro. При этом для данных на формах или в коде создаются новые элементы управления, которые автоматически сконфигурированы для элементов, которые они отображают.

Для доступа к панели задач Data Explorer выберите Task Pane в меню Tools для вывода Task Pane Manager. Выберите панель задач Data Explorer из выпадающего списка Task Panes вверху формы Task Pane Manager. В этом случае Data Explorer откроется внутри Task Pane Manager (примечание переводчика).

Поскольку Data Explorer представляет самостоятельное приложение, то оно может быть запущено вне формы Task Pane manager. Для запуска Data Explorer в виде отдельного приложения, исполните приведенную ниже команду из окна Command. Приведенная в оригинале команда исправлена, так как там имелась синтаксическая ошибка (примечание переводчика).

CopyCode image Скопировать код
DO HOME()+[DATAEXPLORER.APP]
Note Замечание

Data Explorer хранит ваши соединения и установки в таблице с именем DataExplorer.dbf, которая расположена в вашей пользовательской папке (смотрите описание HOME(7)).

Использование Data Explorer

Data Explorer Initial Window

Использовать Data Explorer очень легко. Он имеет простой интерфейс, позволяющий вам легко просматривать и работать с удаленными данными. Ниже описаные базовые операции Data Explorer:

  • Вы создаете соединение к вашим удаленным данным, таким, как базы данных SQL Server. Это делается с помощью кнопки Add Connection.

  • Соединение появляется в виде узла под корневым узлом Connections и сохраняется для использования в будущем.

  • Вы можете распахивать узлы и видеть все компоненты ваших соединений. Когда вы выбираете узел, то подробная информация о нем появится в панели описания, расположенной в нижней части окна.

  • Вы можете производить щелчок по правой клавише мыши для того, чтобы производить различные действия, такие, как просмотр таблиц, проверку определений представлений или редактирования хранимых процедур.

  • Вы можете перетаскивать (drag-and-drop) узлы в редакторы Visual FoxPro и иметь уже подготовленный для вас код для конкретного узла. Кроме того, вы можете перетаскивать узлы в дизайнер форм и иметь после этого подходящий к данному случаю элемент управления, представляющий на форме конкретный узел.

Использовать Data Explorer для производства различных действий с вашими удаленными данными. Ниже приведен список с некоторыми наиболее общими задачами:

Добавить новое соединение

Добавьте новое соединение к вашим удаленным данным щелчком по кнопке Add Connection или с помощью щелчка по правой клавише мыши на корневом узле Connections с последующим выбором пункта контекстного меню Add Connection…. Когда появится диалог Add Connection, выберите тип соединения.

После выбора типа соединения, вы будете запрошены о подробностях вашего источника данных. Если вы выберите тип соединения SQL или ADO, то будет выведено диалоговое окно Connection Properties для установки свойств.

Обращение к существующим SQL серверам

Корневой узел SQL Servers представляет собой удобный путь для исследования и доступа к SQL серверам, доступным на вашей сети. Просто щелкните по корневому узлу для просмотра всех доступных серверов.

Note Замечание

Часто более удобно создать отдельное соединение к конкретной базе данных SQL сервера, чем обращаться к нему через корневой узел SQL Servers. Кроме того, отдельное соединение предоставит и более быстрый доступ к серверу.

Изменение существующего соединения

После того, как соединение будет добавлено в Data Explorer, оно станет постоянным и доступным в последующие запуски Visual FoxPro. Вы можете вносить изменения в соединения путем вызова на нем контекстного меню и выбора в нем пункта Properties.

Работа с базами данных

Если вы выбрали тип соединения "SQL Server", то узлы, расположенные ниже соединения будут представлять базы данных. Вы можете распахивать узлы баз данных для просмотра ее различных составляющих, включая таблицы, представления, хранимые процедуры и функции.

Если вы используете соединения типа SQL или ADO, то вы можете перетаскивать узлы баз данных в программу и в нее будет вставлен код, который обслуживает соединение и устанавливает объект CursorAdapter для извлечения данных.

Работа с таблицами

Вы можете распахнуть узел "Tables" для просмотра списка всех таблиц в вашем источнике данных. Информация о такой таблице, такая, как ее собственник или ее место размещения отображается в панели описания снизу окна. Вы можете распахивать узлы далее, для того, чтобы увидеть поля таблицы.

Для просмотра данных, вы можете выполнить щелчок по правой клавише мыши и выбрать из контекстного меню пункт Browse.

Для запуска более сложного запроса, выберите из контекстного меню пункт Run Query.

Если вы работаете с таблицами Visual FoxPro, вы можете выбрать контекстного меню пункт Design для того, чтобы открыть родной дизайнер таблиц Visual FoxPro.

Note Замечание

Благодаря расширяемости архитектуры, вы можете добавить поддержку собственного дизайнера для удаленных источников данных, таких как SQL Server.

Когда вы перетаскиваете таблицу на формы или в дизайнер классов, то для перетаскиваемой таблицы создается элемент управления Grid.

Note Замечание

Вам может потребоваться добавить код или объекты окружуния данных (data environment) для соединения с удаленным источником данных.

Когда вы перетаскиваете таблицу в окно редактирования, то вставляется код для просмотра таблицы:

  • Если вы перетаскиваете родную таблицу Visual FoxPro, то будет вставлено простое предложение SELECT.

  • Если вы перетаскиваете из соединений типов SQL или ADO, то, кроме вставляемого кода, который будет обслуживать соединение, дополнительно создается объект CursorAdapter для извлечения данных.

Работа с представлениями

Вы можете распахнуть узел "Views" для просмотра списка всех представлений в вашем источнике данных. Информация о таком представлении, такая, как его собственник, отображается в панели описания снизу окна. Вы можете далее распахнуть узел представления, чтобы просмотреть включенные в него поля.

Для просмотра данных, вызовите контекстное меню и выберите в нем пункт Browse.

Для запуска более сложного запроса, выберите из контекстного меню пункт Run Query.

Для просмотра определения этого представления выберите из контекстного меню пункт View Definition .

Note Замечание

Определенные типы соединений, такие, как ADO к SQL серверу могут не отображать этот пункт контекстного меню.

Если вы работаете с родным представлением Visual FoxPro, вы можете выбрать из контекстного меню пункт Design для того чтобы открыть родной дизайнер представлений Visual FoxPro.

Note Замечание

Благодаря расширяемости архитектуры, вы можете добавить поддержку собственного дизайнера для удаленных источников данных, таких, как SQL Server.

Когда вы перетаскиваете представление на формы или в дизайнер классов, то для перетаскиваемой таблицы создается элемент управления Grid.

Note Замечание

Вам может потребоваться добавить код или объекты окружения данных (data environment) для соединения с удаленным источником данных.

Когда вы перетаскиваете представление в окно редактирования, то вставляется код для просмотра таблицы:

  • Если вы перетаскиваете родное представление Visual FoxPro, то будет вставлено простое предложение SELECT.

  • Если вы перетаскиваете представление из соединений типов SQL или ADO, то, кроме вставляемого кода, который будет обслуживать соединение, дополнительно создается объект CursorAdapter для извлечения данных.

Работа с полями

Вы можете распахнуть узел "Table" или "View" для просмотра списка его полей. Информация о поле, такая, как тип данных, отображается в панели описания. Если чек-бокс Column Info отмечен для этого соединения, тип данных отображается в узле поля.

Note Замечание

Определенные типы соединений могут не поддерживать отображения подобных сведений о поле.

Для запуска запроса выберите из контекстного меню пункт Run Query.

Когда вы перетаскиваете на форму или в дизайнер классов поле, то для него создается элемент управления Textbox.

Note Замечание

Вам может потребоваться добавить код или объекты окружения данных (data environment) для соединения с удаленным источником данных.

Когда вы перетаскиваете поле в окно редактирования, то вставляется код для просмотра таблицы:

  • Если вы перетаскиваете поле Visual FoxPro, то будет вставлено простое предложение SELECT.

  • Если вы перетаскиваете поле из соединений типов SQL или ADO, то, кроме вставляемого кода, который будет обслуживать соединение, дополнительно создается объект CursorAdapter для извлечения данных.

Работа с хранимыми процедурами

Вы можете распахнуть узел "Stored Procedures" для просмотра списка всех хранимых процедур вашего источника данных. Информация о хранимых процедурах, такая, как их собственник, отображается в панели описания внизу окна. Вы можете распахивать узлы индивидуальных хранимых процедур для просмотра их параметров.

Note Замечание

Определенные типы соединений могут не поддерживать эту опцию.

Для исполнения хранимой процедуры, вы можете вызвать контекстное меню для этого узла и выбрать пункт меню Run Stored Procedure. Если хранимая процедура требует для своего исполнения какие-то параметры, то появится диалоговое окно, где вы сможете ввести их. Результат отобразится в окне Run Query, где вы можете подредактировать процедуру и повторно запустить ее.

Для исполнения вашей процедуры под большим контролем с вашей стороны над синтаксисом вызова, выберите из контекстного меню пункт Run Query.

Для просмотра определения процедуры выберите из контекстного меню пункт View Definition.

Для редактирования процедуры выберите из контекстного меню пункт Edit Procedure.

Для удаления процедуры выберите из контекстного меню пункт Delete Procedure.

Для добавления новой процедуры выберите из контекстного меню пункт New Procedure.

Вы можете перетащить хранимую процедуру из соединения типа SQL или ADO в окно редактирования. Когда вы будете это делать, то будет вставлен код для обслуживания соединения и вызовов процедуры. Для процедур соединения типа SQL, в код будет включено создание объекта CursorAdapter для извлечения данных, полученных в результате исполнения хранимой процедуры.

Работа с функциями

Вы можете распахнуть узел "Functions" для просмотра всех функций в вашем источнике данных. Информация о функции, такая, как ее собственник, отображается в панели описания внизу окна. Вы может распахнуть узел индивидуальной функции для просмотра ее параметров.

Note Замечание

Определенные типы соединений, такие как соединения Visual FoxPro, могут не поддерживать эту опцию..

Для вызова функции выполните щелчок по правой клавише мыши на желаемом узле и выберите из контекстного меню пункт Run Stored Procedure. Если хранимая процедура требует параметры, то появится диалоговое окно, в котором вы сможете их ввести. Результат, полученный при исполнении хранимой процедуры отобразится в окне "Run Query", в котором вы можете подредактировать вашу процедуру и заново ее исполнить.

Для исполнения вашей функции под большим контролем с вашей стороны на синтаксисом вызова выберите из контекстного меню Run Query.

Для просмотра определения функции выберите из контекстного меню пункт View Definition .

Для редактирования процедуры выберите из контекстного меню пункт Edit Function.

Для удаления процедуры выберите из контекстного меню пункт Delete Function.

Для ввода новой процедуры выберите из контекстного меню пункт New Function.

Вы можете перетащить функцию из соединений типа SQL или ADO в окно редактирования. Когда вы будете это делать, то будет вставлен код для обслуживания соединения и вызовов функции.

Использование окна Run Query

Когда вы выберите из контекстного меню пункт Run Query, отобразится окно Run Query, содержащее команды соответствия выбранному узлу.

Например, если вы откроете окно Run Query для таблицы, бокс редактирования будет содержать предложнение SELECT для этой таблицы. Если вы выберите хранимую процедуру, то будет показано предложение EXEC (применимо к SQL).

Внутри окна Run Query вы можете печатать запросы, исполнять их для того, чтобы увидеть результат их исполнения и выполнить дополнительные задачи, такие как копирование результатов в clipboard.

Для запуска запроса введите команду запроса в виде предложения SELECT или EXEC и щелкните по кнопке Run. Результат отобразится в нижней части окна.

Установка фильтра

Вы можете выбрать из контекстного меню пункт Filter для установки фильтра с целью отображения только тех дочерних узлов, которые соответствуют или не соответствуют указанному критерию. Например, вы можете пожелать отфильтровать все таблицы, которые начинаются с "sys" для исключения из списка системных таблиц.

Обновление узлов данных

Если вы произведете щелчок по правой клавише мыши на узле, то вы сможете выбрать из контекстного меню пункт Refresh для обновления всех дочерних узлов.

Диалоговое окно Add Connection

Кнопка Add Connection выводит диалоговое окно Add Connection с тем, чтобы смогли создать новое постоянное соединение.

Add Connection Dialog Box

Вы можете выбрать источник данных типов SQL Server, Visual FoxPro или ADO. Для этого диалогового блока доступны перечисленные ниже типы:

Тип соединения Описание

SQL Server

Соединение к SQL Server. Узел соединения будет отображать дочерние узлы для каждой базы данных на этом сервере.

SQL Database

Соединение к базе данных SQL Server.

FoxPro Directory

Соединение к каталогу. Узел соединения отобразит дочерние узлы для каждой базы данных Visual FoxPro (.dbc).

FoxPro Database

Соединение к базе данных Visual FoxPro.

FoxPro Table

Соединение к таблице Visual FoxPro.

ADO Connection

Соединение к источнику данных ADO.

Note Замечание

Если вы создаете соединение типа ADO к SQL серверу, то рекомендуем, чтобы вы использовали вместо этого один из типов соединения к SQL Server, поскольку в таком случае доступна большая функциональность, такая, как дополнительные пункты контекстного меню.

Диалоговое окно SQL Connection Properties

Диалоговое окно SQL Connection Properties используется для установки информации соединения к базе данных SQL сервера. Это диалоговое окно появляется, когда вы создаете соединение к SQL первый раз - либо соединение типа SQL Server, либо соединение типа SQL Database. Вы можете вывести это диалоговое окно и после того, как соединение создано, для того, чтобы внести изменения, через вызов контекстного меню и выбора в нем пункта Properties.

Server Name

Вы можете напечатать имя SQL сервера непосредственно в комбобоксе или выбрать в нем требуемый из выпадающего списка. Выпадающий список будет содержать тот же самый список серверов, который появляется под узлом SQL Servers окна Data Explorer.

Database

После того, как вы выберите желаемый SQL Server, вы можете выбрать базу данных для вашего соединения.

Эта опция доступна только для соединения типа SQL Database.

Note Замечание

Вы можете быть запрошены для ввода комбинации Login/Password, если текущее состояние Trusted Connection не разрешает доступа к списку баз данных на выбранном сервере.

Use Trusted Connection

Отметьте этот чек-бокс для использования ваших значений входа в Windows для соединения с SQL сервером.

Login

Если вы снимите метку с чек-бокса Use Trusted Connection, вы можете указать SQL имя входа в систему для использования с этим соединением.

Password

Если вы снимите метку с чек-бокса Use Trusted Connection, вы можете указать SQL пароль для использования с этим соединением.

Connection Timeout

Укажите время ожидания (в секундах), которое должно пройти до возврата ошибки истечения времени ожидания (time-out error). Если вы укажите 0, время ожидания будет неопределенным и ошибка истечения времени ожидания не будет генерироваться. Значение должно лежать в диапазоне от 0 до 600.

Note Замечание

Это равнозначно использованию SQLSETPROP(0, “ConnectTimeOut”, nTimeout) до установки соединения.

Query Timeout

Укажите время ожидания (в секундах), которое должно пройти до возврата общей ошибки истечения времени ожидания (time-out error). Если вы укажите 0, время ожидания будет неопределенным и ошибка истечения времени ожидания не будет генерироваться. Значение должно лежать в диапазоне от 0 до 600.

Note Замечание

Это равнозначно использованию SQLSETPROP(nHandle, “QueryTimeOut”, nTimeout) до исполнения запроса.

Show Column Info

Отображает тип колонки и текст, помещаемый рядом с именем колонки на каждом узел колонки.

Sort Objects

Сортирует объекты под соединением по имени.

Диалоговое окно ADO Connection Properties

Диалоговое окно ADO Connection Properties используется для указания информации о соединения к источнику данных типа ADO (OLE DB Provider). Это диалоговое окно появляется при первичном создании ADO соединения, но может быть вызвано позднее для редактирования свойств соединения через вызов пункта Properties контекстного меню, вызываемого на узле соединения.

ADO Connection Properties Dialog Box

Use DSN

Определяет соединение с использованием существующего DSN. Введите необходимую информацию для OLE DB Provider выбором доступных источников данных из выпадающего списка и при необходимости введите User ID и Password.

Use Connection String

Введите действительную строку соединения. Кнопка Build доступна с целью помощи в генерации строки соединения. Эта кнопка открывает стандартное окно Data Link Properties, где вы можете выбрать зарегистрированный OLE DB Provider.

Connection Timeout

Укажите время ожидания (в секундах), которое должно пройти до возврата общей ошибки истечения времени ожидания (time-out error). Если вы укажите 0, время ожидания будет неопределенным и ошибка истечения времени ожидания не будет генерироваться. Значение должно лежать в диапазоне от 0 до 600.

Note Замечание

Это равнозначно использованию SQLSETPROP(0, “ConnectTimeOut”, nTimeout) до установки соединения.

Query Timeout

Укажите время ожидания (в секундах), которое должно пройти до возврата общей ошибки истечения времени ожидания (time-out error). Если вы укажите 0, время ожидания будет неопределенным и ошибка истечения времени ожидания не будет генерироваться. Значение должно лежать в диапазоне от 0 до 600.

Note Замечание

Это равнозначно использованию SQLSETPROP(nHandle, “QueryTimeOut”, nTimeout) до исполенения запроса.

Show Column Info

Отображает тип колонку и текст, помещаемый рядом с именем колонки на каждом узле колонок.

Окно Run Query

Run Query Window

Окно Run Query window представляет собой ядро Data Explorer. Оно позволяет вам исполнять запросы на выбранном узле данных. Вы, кроме того, можете исполнять хранимые процедуры и функции. Для запуска запроса выполните приведенные ниже шаги:

  • Вызовите контекстное меню на узле данных, для которых вы желаете выполнить запрос, с последующим выбором пункта Run Query.

  • Если в верхнем боксе редактирования имеется текст запроса, вы можете щелкнуть по кнопке Run для его исполнения. Если текст не отображается, введите запрос, такой как предложение SELECT и щелкните по Run.

  • Результат исполнения вашего запроса появится в нижней половине окна Run Query window в виде grid. Если запрос был неудачным, то в самой нижней панели появится сообщение об ошибке. Вы можете отредактировать запрос с целью устранения проблемы и щелкнуть по Run для его повторого исполнения.

  • Окно Run Query, кроме того, позволяет вам исполнять хранимые процедуры и функции. Если при их исполнении возвращается результат, например с SQL сервера, то он будет отображен в grid. В противном случае, результат будет храниться в панели результатов.

  • Окно Run Query поддерживает расширяемость в помощью дополнений (add-in), что позволяет вам выполнять пользовательские действия на запросах или возвращенных данных. Добавки Add-in, которые управляются с использованием Add-In Manager (вызывается в диалоговом окне Options), появляются в виде кнопок вверху бокса редактирования запроса (кнопки оформлены в виде панели и при помещении над ними указателя мыши преобразуются в нормальный вид командной кнопки). Вы можете обращаться к add-ins через контекстное меню бокса редактирования запроса.

В поставку Visual FoxPro включены перечисленные ниже add-in, которые могут быть изменены с помощью Add-In Manager:

Add-In Описание

Save Query

Вы можете сохранить текст вашего текущего запроса в текстовый файл с расширением .SQL.

Это представляет собой add-in запроса.

Load Query

Вы можете загрузить сохраненный ранее запрос из текстового файла.

Это представляет собой add-in запроса.

Format for VFP

Модифицирует текущий запрос с помощью ввода символа переноса командной строки - точки с запятой (;) в конец всех строк, удаляет любые пустые строки и конвертирует любые комментарии SQL "--" в "&&".

В дополнению к этому, удаляются все скобки, окружающие слова. Это полезно в случае, когда у вас есть предложение SQL, написанное изначально для SQL Server и вы хотите запустить его на данных Visual FoxPro.

Например, приведенный ниже запрос:

SELECT [au_lname]

FROM [pubs] -- retrieve all last names

форматируется в виде:

SELECT au_lname ;

FROM pubs && retrieve all last names

Это представляет собой add-in запроса.

Format for SQL

Модифицирует текущую запрос с целью удаления любых завершающих ее символов переноса командной строки (;), конвертирует любые строки комментария VFP, которые начинаются с "*" в строки SQL комментария начинающиеся с "--", заменяет двойные скобки одиночными и изменяет символы двойного равенства (==) в одиночный (=).

Это полезно в случае, когда вы изменяете запрос, изначально написанный для работы с данными VFP для его запуска на данных SQL Server.

Это представляет собой add-in запроса.

Clipboard to Variable

Копирует запрос в буффер, с присвоением значения переменной.

Это представляет собой add-in запроса.

Clipboard to TEXT/ENDT

Копирует запрос в буффер, обрамляя его командами TEXT ... ENDTEXT.

Это представляет собой add-in запроса.

Copy Results to Clipboard.

Данные, отображаемые в grid копируются в буффер.

Это представляет собой add-in результата.

Диалоговое окно Options

Диалоговое окно Options позволяет вам настраивать Data Explorer и поведения соединений.

Font

Устанавливает шрифт, используемый по умолчанию в Data Explorer.

Show Description Pane

При выборе будет отображать панель описания в нижней части окна Data Explorer.

Show Column Info

При выборе будет показывать информацию о колонках в их узлах. Это является значением по умолчанию для новых соединений. Вы можете изменить его поздее в диалоговом окне Connection Properties.

Note Замечание

Если панель описания выведена, то там отображается информация о типе данных колонки для выбранной колонки.

Manage Add-Ins

Открывает окно Add-Ins Manager.

Manage Menus

Открывает окно Menu Manager.

Manage DragDrop

Открывает окно DragDrop Manager.

Restore to Default

Восстанавливает установки Data Explorer в их значения по умолчанию.

Backup оригинальной таблицы DataExplorer.dbf производится с присвоением резервной таблице имени DataExplorerBackup_xx.dbf, где xx представляет собой возрастающий номер последовательности, для того, чтобы предыдущие backup не переписывались новыми.

Add-In Manager

Add-In Manager Dialog Box

Окно Run Query позволяет вам добавлять новые и настраивать имеющиеся add-in для работы как с вашими запросами, так и с данными, получаемые в результате их исполнения. Эти add-ins появляются в окне Run Query в виде кнопок. Add-In хранятся в вашей таблице установок DataExplorer.dbf.

Query Add-Ins

Add-In, это те дополнения, которые которые появляются наверху окна Run Query и применяются к запросам.

Data Results Add-Ins

Add-Ins это те дополнения, которые появляются внизу окна Run Query и применяются к результатам, которые появляются после исполнения запросов.

Add-In List

Список зарегистрированных Add-Ins. Когда вы выбираете add-in, его детальное описание появляется в элементах управления, расположенных в правой части окна.

New

Создает новое дополение add-in.

Delete

Удаляет add-in.

Move Up/Move Down

Используйте синие стрелки над списком для перемещения выбранного элемента списка вверх или вних по списку. Это управляет позицией кнопки add-in, появляющейся в окне Run Query.

Add-In

Указывает полное описательное имя add-in.

Abbreviated Name

Указывает, как add-in будет отображаться в полоске меню.

Select Image

С помощью этой кнопки вы можете найти и выбрать картинку, которая будет ассоциирована с текущим выбранным add-in.

Script Code Editbox

Указывает код скрипта, который будет исполняться при выборе add-in. Скрипт может принимать один параметр, которые представляет собой объект, содержащий текст запроса, ссылку на объект управления данными и ссылку на движок DataExplorer.

Modify

Выводит окно редактирования для изменения скрипта, если вы желаете производить редактирование в большем по размере окне.

Menu Manager

Menu Manager Dialog Box

Menu Manager прозволяет вам настраивать элементы контекстных меню, доступных для конкретных узлов. Меню хранится в вашей таблице установок DataExplorer.dbf.

Menu List

Список всех зарегистрированных меню. Когда вы выбираете меню, его детальное описание появляется в элементах управления в правой части окна.

New

Создает новый элемент контекстного меню.

Copy

Копирует новый элемент контекстного меню, используя определение из выбранного элемента.

Delete

Удаляет элемент контекстного меню.

Move Up/Move Down

Используйте синие стрелки над списком для перемещения выбранного меню вверх-вниз по списку. Это управляет позицией элементов меню, появляющихся в контекстном меню узла.

Caption

Указывает имя пользовательского меню в том виде, в каком оно появится в контекстном меню узла. Используйте символы “\-“ для создания разделителя в меню.

Additional Info

Позволяет вам легко определять категории элементов меню. Это появляется во второй колонке списка элементов меню.

Template

Необязательный шаблон кода, к которому можно обращаться в коде скрипта меню. Щелкните по кнопке Modify для редактирования кода в окне редактирования.

Display Only

Эта страница позволяет вам управлять тем, какие узлы будут отображать меню. Текстовый бокс Display only… позволяет вам включить разделенный запятыми список имен узлов (классов), которые могут отображать меню. Вы можете указать в конце любого имени узла символ модификатора (*) для указания любых узлов, которые начинают с введенного до символа модификатора текста.

Code to Determine…

Код, который исполняется для конкретного класса узла, включенного в текстовый бокс Display Only который в дальнейшем может быть использован для фильтрации - будет меню отображаться или нет. Это частично полезно, когда вы желаете ограничить меню только для определенных провайдеров соединений типа ADO.

Это код должен принимать одиночный параметр объекта, содержащего информацию об узле.

Щелкните по кнопке Modify для редактирования кода в окне редактирования.

Script To Run

Код, который будет исполняться при выборе элемента меню.

Это код должен принимать одиночный параметр объекта, содержащего информацию об узле.

Щелкните по кнопке Modify для редактирования кода в окне редактирования.

DragDrop Manager

DragDrop Manager Dialog Box

DragDrop Manager позволяет вам настраивать поведения при операциях drag-and-drop для конкретных узлов. Действия, выполняемые при операциях Drag-and-drop хранятся в вашей таблице установок DataExplorer.dbf.

DragDrop Item List

Список всех зарегистрированных действий для операций drag-and-drop. Когда вы выбираете элемент в списке, его детальное описание появляется в элементах управления, расположенных в правой части окна.

New

Создает новый элемент для операции drag-and-drop.

Copy

Копирует новый элемент для операции drag-and-drop, используя описание выбранного элемента.

Delete

Удаляет элемент операции drag-and-drop.

Move Up/Move Down

Используйте синие стрелки над списком для перемещения выбранного элемента вверх-вниз по списку. Это управляет порядком, в котором испоняется код действия для операции.

Caption

Указывает имя элемента операции drag-and-drop для будущих ссылок.

Template

Необязательный шаблон кода, на которой можно ссылаться в коде скрипта. Щелкните по кнопке Modify для редактирования кода в окне редактирования.

Execute Only

Определяет разделенный запятыми список имен узлов, к которым могут применяться действия операции drag-and-drop. Вы можете указать в конце любого имени узла символ модификатора (*) для указания любых узлов, которые начинаются с введенного до символа модификатора текста.

Script To Run

Код, который исполняется, когда вы перетаскиваете узел в окно редактирования.

Код должен принимать одиночный параметр объекта, содержащего информацию об узле. Если вы желаете указать текст для вставки, вам необходимо установить параметр для свойства объекта DropText.

Щелкните по кнопке Modify для редактирования кода в окне редактирования.

Расширение Data Explorer

Data Explorer, который поставляется с Visual FoxPro включает в себя поддержку для большинства основных нужд при работе с удаленными данными. Благодаря архитектуре, позволяющей расширения, вы можете добавить дополнительные возможности, которые в данный момент времени отсутствуют, такие, как возможности изменять удаленные таблицы или представления через ваши собственные дизайнеры. В дополнение к этому, вы можете добавить поддержку для новых удаленных источников данных, которые могут появиться в будущем (например - новые версии SQL Server).

Data Explorer может быть расширен с помощью введения, удаления или перемены мест в классах узлов или в классах менеджера соединения. Каждый из них определен в таблице DataExplorer, которая расположена в пользовательском каталоге данных (смотрите описание HOME(7)). Если таблица не найдена, тогда она автоматически создается с помощью таблицы DataExplorerDefault.dbf которая связана с приложением DataExplorer.

Note Замечание

Если вы пожелаете сделать изменения или расширения в Data Explorer, вы можете найти его исходные коды в XSource.zip, содержащемся в папке Tools\XSource folder.

DataExplorer.dbf

Большинство расширений Data Explorer обслуживается через эту таблицу, так что у вас нет необходимости делать какие-то модификации в файле приложения DataExplorer.app. Все настройки, которые устанавливаеются с помощью различных параметров в диалоговом окне Options хранятся именно в этой таблице.

В приведенной ниже таблице содержатся детальные описания для расширения установок Data Explorer:

Имя поля Тип Описание

UniqueID

C(25)

Уникальный идентификатор ID для создаваемой записи. Он должен быть в формате: vendor.id

Например: microsoft.textscraps

DefType

C(1)

Определение записи:

  • R = Root (Корень)

  • S = Data Source (Источник данных)

  • C = Connection (Соединение)

  • M = Menu (Меню)

  • P = Picture (Картинка)

  • T = Template (Шаблон)

  • Q = Query Add-in (Add-in запроса)

  • Z = Data Add-in (Add-in данных)

  • E = Expanded Info (Детальная информация)

  • Y = Drop Action, Code Window (Действие при операции Drop, окно редактирования кода)

  • V = Drop Action, Design Surface ((Действие при операции Drop, используемый дизайнер)

ConnType

C(25)

Тип соединения для созданного пользователем соединения.

ConnName

C(100)

Имя соединения.

ConnInfo

M

Информация о соединении.

ClassName

M

Имя класса.

ClassLib

M

Имя и местонахождение библиотеки класса.

ScriptCode

M

Код скрипта для исполнения.

DisplayOrd

I

Порядок отображения.

Options

M

Необязательные данные для конкретной записи DefType.

OptionData

M

Содержит установки для узла, которые могут настраиваться пользователем. Это применяется к узлам Connection и Root. Свойства соединений хранятся в этом поле.

Template

M

Может быть использован дополнениями - add-in.

WhenNodes

M

Разделенный запятыми список узлов, к которым применется меню дополнений add-in.

WhenCode

M

Код скрипта, который исполняется в случае, если определено, что меню дополнений (add-in) должно быть отображено.

AddinImage

W

Картинка для отображения с add-in.

Inactive

L

Если установлено в TRUE (.T.), тогда запись игнорируется.

User

M

Что-то, что определяется пользователем.

Modified

T

Последнее изменение.

Приведенная ниже таблица содержит детальную информацию о различных значениях поля DefType в таблице Data Explorer:

Значение DefType Описание

R

Root. Содержит детальное описание корневого узла. Data Connections и SQL Servers представляют собой предопределенные корневые узлы.

S

Источник данных. Указывает действительный тип соединения, которое может быть создано: Используются перечисленные ниже колонки:

  • ConnName - "дружественное" имя источника данных, например, такое как "SQL Server."

  • ClassName - имя класса, ответственного за представление узла. Это класс должен создаваться из класса IConnectionNode в программе TreeNodes.prg.

  • ClassLib - имя и местонахождение библиотеки классов, в которой размещен класс с именем ClassName.

C

Соединение. Содержит соединение, созданное пользователем.

M

Меню. Определяет опции контекстного меню, которое доступно для узла.

  • ConnName - имя элемента меню в том виде, в каком оно появится в контекстном меню.

  • ScriptCode - код, который будет исполнен при выборе элемента меню.

  • WhenNodes - разделенный запятыми список узлов, к которым применяется меню дополнений (add-in).

  • WhenCode - код, который будет исполнен при определении того, что меню должно отображаться (вызывается только, если посылается тест WhenNodes).

  • Template - дополнительная информация, которая может быть использована элементом меню.

  • DisplayOrd - относительный порядок элементов меню, в котором они должны отображаться в контекстном меню.

Если первым словом кода ScriptCode является 'THIS.', тогда DataExplorer подразумевает, что это метод класса управления данными и будет запущен только в том случае, если будет найдено, что имя указанного метода является членом этого объекта.

Если DataExplorer найдет метод с именем <MethodName>Okay(), тогда DataExplorer сначала вызывает этот метод для определения, должно ли опция меню быть видимой или нет (и возвратит TRUE, если элемент меню должен быть включен в контекстное меню и отображен).

Если первым словом ScriptCode не является ‘THIS.’ тогда код исполняется обычным образом.

P

Picture. Содержит картинку, используемую для представления определенного узла.

ConnInfo - относительное местонахождение картинки, например "bitmaps\column.bmp."

T

Template (зарезервировано для использования в будущем).

Q

Query Add-In. Представляет собой дополнение запросов для окна Run Query, которое появляется в виде кнопки вверху окна или элемента контекстного меню. Используются перечисленные ниже поля:

  • ConnName - имя опции меню в виде, в каком оно появится в контекстном меню и полоске дополнений (add-in).

  • ConnInfo - Описательное имя add-in в том виде, в каком оно появится в tooltip.

  • ScriptCode - код для исполнения, когда элемент будет выбран из меню.

  • DisplayOrd - относительный порядок, в котором add-in будут отображаться в меню.

Z

Data Add-In. Представляет собой дополнение для данных в окне Run Query, которое появляется в виде кнопки вверху окна или элемента контекстного меню. Используются теже поля, что и для Query Add-In.

E

Expanded Info (зарезервировано для использования в будущем). Хранит информацию, которая описывает узлы, распахнутые во время закрытия Data Explorer с тем чтобы использовать ее и распахивать указанные здесь узлы при новом запуске Data Explorer. Эта информация хранится в колонке OptionData.

Y

DragDrop Action for Code Window.

  • ConnName - имя действия для операции DragDrop в том виде, в каком оно появится в DragDrop Manager.

  • ScriptCode - код для запуска действия для операции DragDrop.

  • WhenNodes - разделенный запятыми список узлов, к которым применяются действия, связанные с операциями DragDrop.

  • Template - дополнительная информация, которая может быть использования в действиях, связанных с операциями DragDrop.

  • DisplayOrd - относительный порядок исполнения действий, связанных с операциями DragDrop.

V

DragDrop Action for Design Surface. Смотри предыдущую строку этой таблицы для деталей.
Настройка соединений типа ADO

Data Explorer содержит поддержку для общего обслуживания соединений типа ADO. Однако, вы можете пожелать установить настройки для конкретного типа соединения. В действительности, Data Explorer содержит пример такого использования для Oracle. Ниже перечислены шаги, которые вам необходимо сделать, что ввести такой тип настройки:

  • Создайте новый класс на основе ядра класса ADO Data Management. Ниже приведен пример для Oracle в Datamgmt_Oracle.prg:

    CopyCode image Скопировать код
    DEFINE CLASS OracleDatabaseMgmt AS ADODatabaseMgmt OF DataMgmt_ADO.prg

    В этом классе, вы можете определить поведения, такие как заполнение узлов и функциональность элементов контекстного меню.

    Вы можете пересобрать приложение DataExplorer.app с вашим новым классом или просто оставить его в виде внешнего.

  • Вам необходимо обращаться к этому классу в вашей таблице DataExplorer.dbf, с тем, чтобы именно он был использован. Для этого:

    • Откройте таблицу DataExplorer.dbf из вашей папки HOME(7) и найдите запись для ADO Connection (Deftype="S").

    • Откройте поле ScriptCode

    • Добавьте еще одно предложение CASE к уже существующеку коду (представленному ниже) для вашего конкретного провайдера внутри информации пользовательского класса.

      CopyCode image Скопировать код
      LPARAMETERS oParam, oConn
IF TYPE("oConn") == 'O' AND !ISNULL(oConn)
      DO CASE
      CASE ATC("ORACLE", oConn.DBMSName) > 0

      oParam.DataMgmtClass = "OracleDatabaseMgmt"

      oParam.DataMgmtClassLibrary = "DataMgmt_Oracle.prg"
            oParam.ProviderName = "ORACLE"

      CASE ATC("SQL Server", oConn.DBMSName) > 0
            oParam.ProviderName = "SQLSERVER"

      CASE ATC("FOXPRO", oConn.DBMSName) > 0
            oParam.ProviderName = "FOXPRO"

      ENDCASE
ENDIF

  • Для ввода пользовательского контекстного меню и функциональности drag-and-drop, используйте соответствующие менеджеры из диалогового окна Options. Для уточнения, как это сделать, посмотрите на существующие элементы в различных менеджерах, используемых в этом окне.

Смотрите также

Справочное руководство

Task Pane Manager

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JSJS.


Environment Manager Task Pane

Visual FoxPro 9.0 Tools
Диспетчер среды приложения Task Pane
Смотрите также

Диспетчер среды (Environment Manager) представляет собой инструмент, который вы можете использовать для управления и формирования установок среды для многократного использования для нужд разработок, например для конкретного клиента или уровня проекта. Например, у вас может быть множество проектов для конкретного клиента, в которых используется один и тот же шаблон форм (например, с логотипом клиента) и установки среды (например, пути к данным). Диспетчер среды позволяет вам создать наборы установок среды, который будет представляет собой набор установок, который вы можете применить в любое время. Такие установки включают в себя команды SET , шаблоны форм и наборов форм, а также разметку полей в классы.

Для обращения к диспетчеру среды (Environment Manager) приложения Task Pane (Панель задачи), выберите Task Pane из меню Tools для вызова Task Pane Manager (Диспетчера панели задач). Выберите из выпадающего списка Task Panes (Панели задачи) Environment Manager Task Pane (Диспетчер среды приложения Task Pane).

Диспетчер среды приложения Task Pane сам по себе является просто оболочкой со ссылкой, которая открывает реальный инструмент Environment Manager (Диспетчер среды). Для того, чтобы отркрыть этот инструмент, просто щелкните по ссылке Manage Environment (Управление средой). Эта панель задач, кроме того, перечисляет доступные наборы установок среды и связынные с ними проекты. Когда вы выбираете проект, установки среды будут применены до его открытия.

Инструмент Environment Manager (Диспетчер среды), сам по себе является отдельным самостоятельным приложением, которое может быть запущено и без помощи приложения Task Pane Manager (Диспетчер панели задач). Для запуска инструмента в качестве самостоятельного приложения, выполните в командном окне приведенную ниже команду.

CopyCode image Скопировать код
DO HOME() + "ENVMGR.APP"
Note Замечание

Диспетчер среды хранит свои установки в таблице с именем Envmgr.dbf, которая в свою очередь хранится в каталоге данных пользователя (смотрите описание HOME(7)).

Работа с наборами среды

Вы можете управлять и применять свои установки так, как объяснено ниже:

Environment Set List (Список наборов среды)

Перечисляет все доступные для использования наборы сред.

Когда вы запускаете Environment Manager (Диспетчер среды) ваши текущие установки отображаются в зарезервированном наборе с именем <current>. Он используется также и в случае, когда вы щелкаете по New (Новый) для создания нового набора.

Набор <default field mapping> представляет собой еще один зарезервированный набор, который используется для хранения ваших оригинальных установок разметок полей в классы, который отображается в диалоговом окне Options (Параметры). Если вы применяете набор установок среды с настроенной вами разметкой поелй, вы можете позднее сбросить их в ваши установки, используемые по умолчанию, выбором этого зарезервированного набора и щелчком по командной кнопке Set.

New (Новый)

Создание новый набор установок среды. После того, как новый набор появится в списке, вы должны переименовать его.

Copy (Скопировать)

Создает новый набор установок среды, основанный на выбранном в списке наборе.

Remove (Удалить)

Удаляет выбранный набор установок среды.

Set (Установить)

Применяет установки, определенные в вашем наборе установок среды к текущей среде Visual FoxPro.

Name (Имя)

Позволяет вам указать приемлемое имя для вашего набора установок среды.

Закладка "Default Directory/Path (Каталог по умолчанию/Путь)"

Закладка "Default Directory/Path (Каталог по умолчанию/Путь)" позволяет вам указать установки для вашего набора среды, которые связаны с размещением файлов.

Default Directory (Каталог по умолчанию)

Указывает каталог по умолчанию, который будет использоваться при применении набора установок среды. Это эквивалентно использованию команды CD | CHDIR .

Path (Путь)

Определяет список путей поиска файлоы для использования, когда устанавливается набор установок среды. Это эквивалентно использованию команды SET PATH.

Directory (Каталог)

Позволяет вам изменить путь, выбранный в списке Path (Путь).

Add Path (Добавить путь)

Добавляет новый путь в список путей - Path.

Copy (Скопировать)

Добавляет новый путь в список, на основе выбранного пути.

Remove (Удалить)

Удаляет выбранный путь из списка путей.

Закладка "Environment Settings (Установки среды)"

Страница Default Directory/Path (Каталог по умолчанию/Путь) позволяет вам указать установки для вашего набора, которые связаны с размещением файлов.

Таблица установок

Позволяет вам указать значения для общих команд SET, которые вы желаете применить, когда устанавливается ваш выбранный набор установок среды.

Note Совет

Вы можете ввести дополнительные эдементы, которые появятся в этой таблице, отредактировав таблицу Envmgr.dbf, которая хранится в вашем каталоге данных (смотрите описание HOME(7)).

Resource file (Файл ресурса)

Указывает файл ресурса, который будет использоваться при установке конкретного набора установок среды. Это эквивалентно использованию команды SET RESOURCE.

Run script before environment is set (Запустить скрипт до установки среды)

Определяет набор команд Visual FoxPro, которые будут исполнены до применения установок, определенных в конкретном наборе установок среды.

Run script after environment is set and project is loaded (Запустить скрипт после установки среды и загрузки проекта)

Определяет набор команд Visual FoxPro, которые будут исполнены после применения установок, определенных в конкретном наборе установок среды.

Закладка "Field Mapping (Разметка полей)"

Страница "Field Mapping (Разметка полей)" позволяет вам указать установки для вашего набора установок среды, которые связывают классы элементов управления, используемые для разметки полей в случаях, когда вы перетаскиваете поля из Data Environment (Среды данных) формы или Database Designer (Конструктора базы данных) на форму или в контейнер. Для получения более подробной информации смотрите описания Закладка Field Mapping (Разметка полей) диалогового окна Options (Параметры) и Как: создавать элементы управления перетаскиванием полей или таблиц. Вы можете восстановит ваши оригинальные установки разметки полей выбором <default field mapping> и шелчком по командной кнопке Set (Установить).

Закладка "Forms (Формы)"

Страница "Forms (Формы)" позволяет вам указать установки вашего набора установок среды, которые связаны с шаблонами форм или наборов форм, которые используются при создании новой формы или набора форм. Для получения более подробной информации смотрите описание Закладка Forms (Формы) диалогового окна Options (Параметры)Box.

Закладка "Associated Projects (Связанные проекты)"

Страница "Associated Projects (Связанные проекты)" позволяет вам указать проекты, к которым применяется выбранный набор установок среды при их открытии из Environment Manager Task Pane (Диспетчера среды приложения). Приложение Task Pane перечисляет все ваши настроенные наборы установок среды со связанными с ними проектами.

Таблица проектов

Перечисляет проекты, связанные с выбранным набором установок среды.

Add (Добавить)

Добавляет проект в выбранный набор.

Remove (Удалить)

Удаляет выбранный проект из набора.

Смотрите также

Справочное руководство

Task Pane Manager (Диспетчер приложения панели задач)
Обзор команд SET

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Toolbox (Visual FoxPro)

Visual FoxPro 9.0
Toolbox (Visual FoxPro)
Смотрите также

Toolbox отображает элементы, используемые в создании приложений, элементы, отображаемые в наборах инструментов (коллекциях инструментов) распределенные по категориям. Наборы инструментов могут представлять собой общие ресурсы, такие как родные классы Visual FoxPro и которые могут быть помещены в рабочее пространство. Кроме того, поддерживает элементы, которые представляют из себя построители или мастера, элементы ActiveX или классы, элементы управления COM+ или классы и текстовые заготовки. К тому же, Toolbox может хранить ресурсы, основанные на файлах, такие как таблицы, картинки, отчеты, этикетки и формы.

Индивидуальные наборы инструментов могут быть полностью настраиваемыми. Кроме того, пользователи могут добавлять новые наборы инструментов, содержащие их, пользователей, собственные выборки элементов.

Вы можете открыть Toolbox, щелкнув по пункту Toolbox в меню Tools или щелкнув по кнопке Toolbox на стандартной панели инструментов Visual FoxPro. Вы можете, затем перетащить элементы из Toolbox в ваше рабочее пространство или произвести на них щелчок для выполнения какого-то другого действия.

В Visual FoxPro 9.0 вы можете пристыковать Toolbox двойным щелчок по его заголовку. Щелчок по правой клавише мыши на его заголовке отобразит контекстное меню, которое позволит вам отключить стыковку или спрятать Toolbox.

Favorites

Набор инструметов для хранения наиболее часто используемых эелементов. Сюда могут быть легко перемещены элементы из других категорий с целью обеспечения более легкого к ним доступа.

Text Scraps

Набор инструметов, содержащий заготовки текста. Новые текстовые заготовки могут добавлены выбором текста и перетаскиванием его в эту категорию.

VFP Base Classes

Набор инструметов, содержащий родные классы Visual FoxPro.

VFP Foundation Classes

Набор инструметов, содержащий некоторые из наиболее популярных фундаментальных классов Visual FoxPro .

My Base Classes

Набор инструметов, содержащий фундаментальные базовые классы FoxPro из библиотеки классов FFC\_BASE.VCX.

My XML Web Services

Набор инструметов, содержащий зпрегистрированне XML Web сервисы.

My ActiveX Controls

Набор инструметов, содержащий зарегистрированные элементы управления ActiveX.

Смотрите также

Задачи

Как: настроить Toolbox

Справочное руководство

Системная переменная _TOOLBOX
Диалоговое окно Customize Toolbox

Прочие ресурсы

Справочное руководство по интерфейсу пользователя (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Trace Window

Visual FoxPro 9.0
Trace, системное Окно
См. Также

Данное системное окно предоставляет возможность просматривать выполнение текущего программного Кода.

Данное системное окно Активируется в том случае, когда выбирается пункт Trace ихз меню Window, при активной подсистеме Отладчика Debugger, или активном системном окне Отладчика.

Object - Объект

Данный элемент отображает текущий активный объект Приложения, программный код компоненты которого выполняется в текущий момент. Программный код данного, рассматриваемого окна Trace ассоциирован с соответствующим объектом Object, доступными являются также другие связанные объекты, представленные в указанном списке объектов.

Procedure - Процедура

Данный компонент отображает наименование программного модуля, процедуры или функции, Метода или Событитя, который выполняется в текущий момент. Программный код в окне Trace ассоциирован с соответствующей программной процедурой, представленной в списке доступных процедур Procedure List. В данном списке Procedure List содержатся имена всех программных компонент (Методов и Событий) рассматриваемого Объекта из соответствующего списка Object List.

В левой области системного окна Trace могут быть расположены специалные символы, назначение которых описывается в следующей Таблице:

Символ | Краткое описание Команды
FoxProBlueArrowRight screenshot | Выполнение текущей строки программного кода.
FoxProTraceFilled screenshot | Активная точка Прерывания (остановки) (BreackPoint).
FoxProTraceEmpty screenshot | Пассивная точка Остановки.
FoxProTrace screenshot | Позиция в окне "Call stack", в том случае, когда выполняется программный Код другого уровня иерархии Программного Стэка.

См. также

Описание

Debugger, системное окно
Меню и контекстные Клавиши подсистемы Отладки (Debugger)
Locals, системное окно (Visual FoxPro)
Watch, системное окно (Visual FoxPro)
Call Stack, системное окно (Visual FoxPro)
Debug Output, системное окно

Другие ссылки

Диалоговые Окна (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


Visual FoxPro IntelliSense Manager Window

Visual FoxPro 9.0
Окно Visual FoxPro IntelliSense Manager
Смотрите также

IntelliSense Manager Window 1

IntelliSense Manager предоставляет вам возможность выполнить задачи по управлению IntelliSense:

  • General Tab Установить опции, которые влияют на вид и функциональность IntelliSense, такие как уровни доступности возмодностей и символы, вызывающие завершение синтаксиса.

  • Types Tab Управлять предметами, которые появляются в списках опций AS для определенных элементов Visual FoxPro в случаях, когда осуществляется строгое соответствие при печати команд.

  • Custom Tab Редактировать записи в таблице IntelliSense.

  • Advanced Tab Редактировать пользовательские свойства IntelliSense, которые оказывают влияние на его функциональность. Производить обслуживание записей в таблице IntelliSense и прочей функциональности IntelliSense.

Приложение IntelliSense Manager указывается системной переменной _CODESENSE. Для получения более подробной информации смотрите _CODESENSE System Variable.

Таблица IntelliSense, которая хранится в файле FoxCode.dbf, содержит записи, которые предоставляют данные для IntelliSense Manager. Для получения более подробной информации смотрите Настройка IntelliSense в Visual FoxPro и Системная переменная _FOXCODE.

Закладка General

На этой закладке вы можете управлять уровнями доступности и символами, вызывающими опции форматирования для функциональности IntelliSense.

Enable IntelliSense

Активирует или блокирует IntelliSense в Visual FoxPro. Для получения более подробной информации смотрите Как: Активировать или заблокировать Disable IntelliSense.

List members

Указывает уровень доступности для функциональности членов списка (List Members). Доступны приведенные ниже уровни:

  • Automatic Автоматически отображает в текущей позиции курсора элемент listbox со списком членов, когда вы наживаете соответствующую клавишу активатора функциональности.

  • Manual Отображает элемент listbox со списком членов, когда вы выбираете из меню Edit или наживаете CTRL+J.

  • Disabled Не отображает элемент listbox со списком членов.

Для получения более подробной информации смотрите Как: установить опции IntelliSense и Завершение синтаксиса с IntelliSense.

Quick info tips

Определяет уровне доступности для функциональности Quick Info. Доступны приведенные ниже уровни:

  • Automatic Автоматически отображает в текущей позииции курсора элемент listbox Quick Info когда вы нажимаете соответствующую клавишу активатора функциональности.

  • Manual Отображает элемент listbox Quick Info со списком членов, когда вы выбираете List Members из меню Edit или нажимаете CTRL+I.

  • Disabled Не отображает элемент listbox Quick Info.

Для получения более подробной информации смотрите Как: установить опции IntelliSense и Завершение синтаксиса с IntelliSense.

Browse

Открывает окно для просмотра таблицы IntelliSense. Для получения более подробной информации смотрите Настройка IntelliSense в Visual FoxPro и Системная переменная _FOXCODE.

Tips

Открывает окно, которое отображает информацию о синтаксисе, когда вы печатаете достаточно число символов для распознавания команды Visual FoxPro.

Используйте его для команд и функций, которые имеют много опций или параметров. Окно Tips отображают только те команды и функции Visual FoxPro, информация о которых содержится в таблице IntelliSense. Класс и объект IntelliSense не отображаются.

Capitalization/Expansion

Эта секция предоставляет возможность управлять тем, как IntelliSense форматирует регистр букв для родного Visual FoxPro программного синтаксиса, когда производится замещение или расширение синтаксиса. Вы можете, кроме того, запретить расширение или использовать установку регистра букв в таблице IntelliSense.

Functions

Перечисляет установки IntelliSense регистров букв для функций Visual FoxPro. Значением по умолчанию является UPPERCASE.

Commands

Перечисляет установки IntelliSense регистров букв для команд Visual FoxPro. Значением по умолчанию является UPPERCASE.

FoxCode default

Перечисляет установки регистров букв для предметов в таблице IntelliSense. Эта установка подается как глобальная установка, используемая по умолчанию, которые могут использовать предметы в таблице IntelliSense в случае, если они не имеют своих собственных установок для регистров букв. Эта установка хранится в записи первого предмета Version таблицы IntelliSense. Для получения более подробной информации смотрите Структура таблицы IntelliSense.

Apply changes to Visual FoxPro language only

Определяет - будут ли сделанные изменения применяться ко всем или только к родным командам и функциям Visual FoxPro. Эта установка хранится в поле Source для предметов, на которые она оказывает влияние в таблице IntelliSense. Для получения более подробной информации смотрите Структура таблицы IntelliSense.

Types Tab

IntelleSense Windows Types Tab

Управляет отображением доступных типов данных и прочих предметов, когда применяется строгая печать, например, при декларации LOCAL myVar AS при использовании команды LOCAL. Типы могут быть базовыми внутренними элементами, такими, как строки, числа и классы Visual FoxPro и COM. Для получения более подробной информации смотрите Как: использовать строгую печать для кода класса, объекта и переменной.

Types

Перечисляет предметы и типы данных, которые могут появиться в списке опции AS для определенных команд Visual FoxPro. Звездочка в третьей колонке означает, что поле Data записи, предназначенной для этого предмета содержит код скрипта в таблице IntelliSense. Для того чтобы спрятать предмет в списке, очистите находящийся рябом с ним checkbox.

Замечание Tip

Для сортировки по колонкам, щелкните по заголовку колонки.

Edit

Отображает выбранный предмет из списка Types в окне просмотра с тем, чтобы вы могли отредактировать его запись в таблице IntelliSense.

Type Libraries

Производит поиск в регистре Windows для доступных библиотек типоа COM серверов и элементов управления ActiveX. Вы можете выбрать библиотеку типов, которая появится в диалоговом окне Type Library References для добавлянния ее в список предметов, доступных для строгой печати.

Classes

Открывает диалоговое окно Open с тем, чтобы вы могли выбрать класс Visual FoxPro, который вы желаете добавить в список предметов, доступных для строгой печати.

Web Services

Открывает диалоговое окно Visual FoxPro XML Web Services Registration с тем, чтобы вы могли добавить Web service в список предметов, доступных для строгой печати. За подробностями обратитесь к описанию Диалоговое окно Visual FoxPro XML Web Services Registration.

Custom Tab

IntelliSense Manager Window Custom Tab

Предоставляет вам возможность добавлять или редактировать записи для определенных пользователем предметов IntelliSense в таблице IntelliSense. Однако, вы можете видеть все предметы IntelliSense простым открытием ее таблицы для просмотра. Для получения более подробной информации смотрите Настройка IntelliSense в Visual FoxPro.

Замечание Замечание

Звездочка (asterisk) в третьей колонке указывает, что поле Data в этой записи для предмета IntelliSense содержит код скрипта в таблице IntelliSense.

Replace

Определяет символы, которые активируют расширение синтаксиса символами, указанными в блоке With.

With

Указывает символы для вставки, когда вы печатаете символы в Replace box.

Type

Перечисляет типы, которые вы можете выбрать для предмета IntelliSense.

Script

Открывает окно редактирования для ввода или редактирования кода скрипта для предмета IntelliSense. Код скрипта появляется в поле Data записи, предназначенной для этого предмета.

Edit

Отображает полную запись для редактирования предмета IntelliSense.

Add

Добавляет новый предмет IntelliSense с указанными текстами Replace и With в таблицу IntelliSense.

Замечание Замечание

Кнопка Add становится доступной, когда вы изначальное выберите тип, отличающийся от Command. Заголовок Add кнопки изменяется на Replace, если вы редактируете существующий предмет IntelliSense.

Delete

Удаляет выбранный предмет.

Advanced Tab

IntelliSense Manager Window - Advamced Tab

Предоставляет вам возможность редактировать настраиваемые свойства IntelliSense, которые оказывают влияние на функциональность IntelliSense и осуществляют задачи обслуживания IntelliSense.

Edit Properties

Отображает настраиваемые свойства IntelliSense в диалоговом окне Custom Properties с тем, чтобы вы могли указать или редактировать значения для развития функциональности IntelliSense. Ваши изменения сохраняются при закрытии диалогового окна Custom Properties.

  • Property Выводит список настраиваемых свойств IntelliSense properties.

  • Description Отображает описание настраиваемого свойства IntelliSense.

  • Value Отображает значение для настраиваемого свойства IntelliSense.

В приведенной ниже таблице приведены настраиваемые свойства IntelliSense.

Свойство Описание Значение по умолчанию

lEnableFullSetDisplay

Управляет поведением - будет ли автоматически вводиться второе слово, например, TO в определенных командах SET.

T

lHideScriptErrors

Подавляет вывод на экран ошибок скриптов IntelliSense.

F

lKeywordCapitalization

Разрешает капитализацию и расширение клюевых слов команды.

T

lPropertyValueEditors

Разрешает скрипты, которые включают редакторы значения для определенных свойств.

T

lExpandCOperators

Разрешает автоматическое расширение операторов C типа, таких как ++, --, +=, -+, *= и /=.

T

lAllowCustomDefScripts

Разрешает включение скриптов в обработчик скриптов, используемый по умолчанию.

T

lEnableMultiWordCmdExp

Управляет поведением - будет ли команда расширена с множеством слов.

T

lDebugScribts

Позволяет отладку скриптов для IntelliSense.

F
Clean Up

Открывает диалоговое окно Maintenance с тем, чтобы вы могли осуществлять задачи обслуживания IntelliSense.

  • Restore Foxcode Восстанавлвает исходную таблицу IntelliSense для родных элементов языка Visual FoxPro. Определенные пользователем предметы остаются в таблице до тех пор, пока вы не удалите их вручную на закладке Custom окна IntelliSense Manager.

  • Clean Up FoxCode Удаляет записи, маркированные для удаления в таблице IntelliSense.

  • Clean Up Lists Удаляет файлы, которые больше не существуют из списка наиболее часто используемых (MRU).

  • Zap Lists Удаляет все файлы из списка наиболее часто используемых (MRU).

Смотрите также

Прочие ресурсы

Windows (Visual FoxPro)
Обзор IntelliSense

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Visual FoxPro System Windows

Visual FoxPro 9.0
Visual FoxPro Системные окна
Смотрите также

Системные окна являются предусмотренными Visual FoxPro как часть интерфейса продукта. Следующая таблица показывает детали, которые позволяют Вам получить доступ и управлять этими окнами.

Окно | Метод доступа (Способ вызова) | Установки докстатуса по умолчанию
Command | ACTIVATE WINDOW Command | Пристыковываются, несостыкованный
Data Session | SET VIEW ON, ACTIVATE WINDOW VIEW | Пристыковываются, несостыкованный
Document View | ACTIVATE WINDOW Document | Пристыковываются, несостыкованный
Properties | ACTIVATE WINDOW Properties | Пристыковываются, несостыкованный
Debugger | DEBUG ACTIVATE WINDOW Debug[ger] | несостыкованный
Call Stack | (смотри примечание) | в Отладчике, состыкованный
Debug Output | (смотри примечание) | в Отладчике, состыкованный
Locals | (смотри примечание) | в Отладчике, состыкованный
Trace | (смотри примечание) | в Отладчике, состыкованный
Watch | (смотри примечание) | в Отладчике, состыкованный
Примечание Примечание

Отдельные окна Отладчика - Пристыковываются только, когда Отладчик используется в режиме "FoxPro Frame".
Вы не можете открыть в Foxpro подчиненные окна Отладчика, если установлено "Debug Frame". Например, если Вы используете ACTIVATE WINDOW "call stack" то открывается Отладчик с активным окном Call Stack (Стек Запросов). Если же сначала установить параметр environment (среда выполнения) в "FoxPro Frame" то, выполнив команду ACTIVATE WINDOW "call stack" откроется окно Call Stack (Стек Запросов).

Смотрите также

Ссылки

Debug Tab, Options Dialog Box

Другие ресурсы

Windows (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод Токарев А.В.


Watch Window (Visual FoxPro)

Visual FoxPro 9.0
Окно Watch (Наблюдения) Отладчика (Visual FoxPro)
Смотри также

Позволяет отслеживать текущее значение заданных выражений и определять точки останова для выражений. Это окно активируется когда Вы выбираете пункт Watch из меню Window Menu, в окне Отладчика. В окне Watch доступна технология IntelliSense хотя возможности ограничены только для List Members.

В Visual FoxPro 9.0, в окне Watch доступен Поиск выражений в колонке Name .

Watch

Величина или Выражение, значение которого Вы хотите отслеживать.Введите выражение в это поле, чтобы добавить его в активный список.
Name

Имя отслеживаемого выражения.
Value

Текущее значение выражения.
Type

В этой колонке отображается буква, которая соответствует типу данных выражения.

Вы можете выделять, удалять выражения, а также задавать для них точки останова.

Чтобы добавить новое выражение

  1. Выделите любой текст в окне Visual FoxPro и перетащите его в окно Watch .

    Чтобы отредактировать выражение

  1. Сделайте двойной щелчок мышью на выражении.

Смотри также

Другие источники

Окна
Окно отладчика
Горячие клавишы для Отладчика и Меню
Окно Стека

Отправьте Ваш коментарий об этой статье в Microsoft. © Microsoft Corporation. Все права защищены.


Error Messages

Visual FoxPro 9.0
Сообщения об ошибках

В этой теме приводятся типичные сообщениях об ошибках, которые могут возникнуть у пользователя при работе с Visual FoxPro.

В этом разделе

Сообщения об ошибках от A до Z

Содержит список заголовков сообщений об ошибках в алфавитном порядке.
Сообщения об ошибках в разрезе номеров

Содержит список номеров сообщений об ошибках.

Связанные разделы

Справочная информация

Включает в себя тематические разделы по инструментам, а также по доступным элементам управления, объектам, свойствам, методам, операторам, функциям и константам.
Общий справочник

Включает техническую информацию, связанную с Visual FoxPro, в том числе типы файлов, структуры файлов и другую справочную информацию об элементах Visual FoxPro.
Справочник по языку от A до Z

Содержит список ссылок на языковые темы в алфавитном порядке.
Справочник по интерфейсу

Описываются опции, которые появляются в различных диалоговых боксах, окнах и других частях интерфейса. Обычно, эти справочники появляются при нажатии клавиши F1 в диалоговом боксе или окне.
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error Messages Listed Numerically

Visual FoxPro 9.0
Сообщения об ошибках по номерам
См. также

Определите номер сообщения об ошибке, чтобы определить тему сообщения.

***

*** | *bad date*
*** | Cannot allocate screen map
*** | Cannot create program workspace.
*** | Cannot find spell check program.
*** | Cannot find the beautify program.
*** | Cannot find the spell check program.
*** | Cannot find the wizard program.
*** | Cannot open configuration file.
*** | Fatal error nExpr reporting error nExpr.
*** | *Interrupted*
*** | Invalid compact EXE file. Rebuild EXE.
*** | Invalid or duplicate field name.
*** | Invalid or missing EXE file.
*** | Logical expression required
*** | Popup too big, first nExpr entries shown.
*** | Product has not been properly installed.
*** | Source code not found.
*** | Source code out of date.
*** | The Remote View Wizard was unable to obtain column information for this remote table. This may be the result of an ODBC error, or the remote table may not be owned by the current user.
*** | Unable to locate desired version of Visual FoxPro.
*** | Unable to process error.
*** | Unknown error code nExpr.
*** | Visual FoxPro cannot start.

1

1 | File "name" does not exist.
3 | File is in use.
4 | End of file encountered.
5 | Record is out of range.
6 | Too many files open.
7 | File already exists.
9 | Data type mismatch.
10 | Syntax error.
11 | Function argument value, type, or count is invalid.
12 | Variable "variable" is not found.
13 | Alias is not found.
15 | Not a table.
16 | Unrecognized command verb.
17 | Table number is invalid.
18 | Line is too long.
19 | Index file does not match table.
20 | Record is not in index.
21 | Length of variable strings exceeds amount of memory.
22 | Too many variables.
23 | Index expression exceeds maximum length.
24 | Alias name is already in use.
26 | Table has no index order set.
27 | Not a numeric expression.
30 | Row or column position is off the screen.
31 | Invalid subscript reference.
34 | Operation is invalid for a Memo, Blob, General, or Picture field.
36 | Command contains unrecognized phrase/keyword.
37 | You must use a logical expression with FILTER.
38 | Beginning of file encountered.
39 | Numeric overflow. Data was lost.
41 | Memo file "name" is missing or is invalid.
42 | The LOCATE command must be issued before the CONTINUE command.
43 | There is not enough memory to complete this operation.
44 | Cyclic relation.
45 | Not a character expression.
46 | Expression evaluated to an illegal value.
47 | No fields found to process.
50 | Report file "name" is invalid.
52 | No table is open in the current work area.
54 | Label file is invalid.
55 | Memory file is invalid.
56 | There is not enough disk space for "name".
58 | LOG( ): Zero or negative used as argument.
61 | SQRT argument cannot be negative.
62 | Cannot access characters beyond string.
67 | Expression evaluator failed.
78 | ** or ^ domain error.
91 | File was not placed in memory using the LOAD command.
94 | Must specify additional parameters.
95 | Statement is not allowed in interactive mode.
96 | Nesting error.

100

101 | Cannot open file "file".
102 | Cannot create file "file".
103 | Allowed DO nesting level exceeded.
104 | Unknown function key.
107 | Operator/operand type mismatch.
108 | File is in use by another user.
109 | Record is in use by another user.
110 | File must be opened exclusively.
111 | Cannot update the cursor "cursor", since it is read-only.
112 | Invalid key length.
114 | Index does not match the table. Delete the index file and re-create the index.
115 | .DIF file header is invalid.
116 | .DIF vector is invalid - .DBF field mismatch.
117 | .DIF type indicator is invalid.
119 | .SYLK file header is invalid.
120 | .SYLK file dimension bounds are invalid.
121 | .SYLK file format is invalid.
124 | Printer redirection is invalid.
125 | Printer is not ready.
127 | View file is invalid.
130 | Record is not locked.
138 | No fields were found to copy.
152 | Missing expression.
164 | Menu title has not been defined with DEFINE PAD.
165 | Menu has not been defined with DEFINE POPUP.
166 | No menu items have been defined for this menu.
167 | Menu item position must be a positive number.
168 | Menu has not been defined with DEFINE MENU.
169 | Cannot define menu item.
170 | Cannot release menu item.
174 | Cannot redefine a menu that is in use.
175 | Cannot redefine popup that is in use.
176 | Cannot clear menu that is in use.
177 | Cannot clear popup that is in use.
178 | Menu has not been activated with ACTIVATE MENU.
179 | Menu has not been activated with ACTIVATE POPUP.
181 | Menu specified in ACTIVATE MENU is already in use.
182 | Menu specified in ACTIVATE POPUP is already in use.

200

202 | Invalid path or file name.
214 | Window has not been defined with DEFINE WINDOW.
215 | Window has not been activated with ACTIVATE WINDOW.
216 | Display mode is not available.
221 | Left margin including indent must be less than the right margin.
222 | Line number must be less than page length.
223 | Column number must be between 0 and 255.
225 | "name" is not a variable.
226 | "name" is not a file variable.
227 | Box dimensions are invalid.
228 | Tab stops must be in ascending order.
230 | Array dimensions are invalid.
231 | Invalid argument used with the SET function.
232 | "name" is not an array.
255 | Not a valid RapidFile database.
256 | Not a valid Framework II database/spreadsheet.
279 | Menu was not pushed.
287 | Menu size is too small.
291 | Expression used with ASIN( ) is out of range.
292 | Cannot use 0 or negative as the argument for LOG10( ).
293 | Expression used with ACOS( ) is out of range.
297 | Lotus 1-2-3 version 2.0 file format is invalid.

300

332 | Window specified in DEFINE WINDOW has invalid coordinates.
350 | Field must be a Memo field.
355 | Macro is not defined.
356 | Keyboard macro file format is invalid.
392 | Maximum record length exceeded in the import file.

1000

1000 | Internal consistency error.
1001 | Feature is not available.
1002 | Input/output operation failure.
1097 | User defined functions are not allowed.
1098 | API function _UserError( ) was called.

1100

1102 | Cannot create file "file".
1103 | Invalid seek offset.
1104 | Error reading file "file".
1105 | Error writing to file "file".
1106 | Cannot access file "file"; transaction is in progress.
1108 | Picture too big, corrupt, or in wrong format.
1111 | Invalid file descriptor.
1112 | Error closing the file.
1113 | File is not open.
1115 | Invalid operation for the cursor.
1116 | Too many windows open.
1117 | Key field length does not match.
1124 | Key exceeds allowed size.
1126 | Record is too long.
1127 | You must use a logical expression with a FOR or WHILE clause.
1130 | 'field' phrase is not found.
1131 | The file specified in the FROM clause is empty.
1134 | Variable must be in the selected table.
1138 | Property does not have a default value.
1140 | FILTER expression exceeds allowed size.
1141 | Unrecognized index file revision. Re-create the index.
1145 | Must be a character or numeric key field.
1147 | Target table is already engaged in a relation.
1148 | Expression has been re-entered while the filter is executing.
1149 | Not enough memory for buffer.
1150 | Not enough memory for file map.
1151 | Not enough memory for filename.
1152 | Cannot access the selected table.
1153 | Cannot rename the file to different device.
1156 | Duplicate field names.
1157 | Cannot update the file "file".
1162 | Procedure "procedure" is not found.
1163 | Browse table is closed.
1164 | Browse structure has changed.
1165 | "field" is not related to the current work area.
1166 | Cursor is corrupt or in wrong format.
1167 | Icon is corrupt or in wrong format.
1168 | Could not add icon to executable file.
1169 | Project file is read-only.
1178 | Application file "file" is not closed.
1181 | Could not add version resource to executable file.
1183 | Relation already exists.
1184 | File cannot be closed because outstanding references exist.
1190 | File "name" is too large.
1191 | Cannot save form: an object has an invalid name
1193 | Missing .RTT section.
1194 | Link command failed.
1195 | Object file "file" was compiled in a previous version of FoxPro.
1196 | "file" is not a Visual FoxPro .EXE file.

1200

1201 | Too many names used.
1202 | Program is too large.
1206 | Recursive macro definition.
1211 | An IF | ELSE | ENDIF statement is missing.
1212 | Structure nesting is too deep.
1213 | There is a missing keyword in the FOR ... ENDFOR or DO CASE ... ENDCASE command structure.
1214 | ENDTEXT does not have corresponding TEXT statement.
1217 | Picture error in GET statement.
1220 | Command contains invalid character.
1221 | Command is missing required clause.
1223 | Invalid variable reference.
1225 | Must be a variable or array.
1226 | Must be a file variable.
1229 | Too few arguments.
1230 | Too many arguments.
1231 | Missing operand.
1232 | DIMENSION contains variable declaration without required subscript arguments.
1234 | Subscript is outside defined range.
1235 | Structure is invalid.
1236 | Suspend program before using RESUME.
1238 | No PARAMETER statement is found.
1241 | Improper data type in the group expression.
1242 | Syntax error in the field expression.
1243 | Internal error: Too many characters in the report.
1245 | Invalid expression in label definition file.
1246 | Total label width exceeds allowed size.
1249 | Too many READ commands are in effect.
1250 | Too many PROCEDURE commands are in effect.
1252 | Compiled code for this line is too long.
1253 | Cannot rename the current directory.
1254 | Cannot nest key labels.
1255 | Key label "label" is invalid.
1256 | Mismatched braces in key label.
1257 | Key string is too long.
1258 | Error in the PICTURE clause.
1294 | "name" is not a valid resource file.
1296 | Error reading the resource.
1297 | Command is allowed only in interactive mode.
1298 | "name" band is too large to fit on page.

1300

1300 | Function name is missing ).
1304 | Function name is missing (.
1306 | Missing comma (,).
1307 | Cannot divide by 0.
1308 | Insufficient stack space.
1309 | "file" is not an object file.
1310 | Too many characters are specified in the PICTURE clause.
1313 | Class creation canceled.
1337 | Cannot nest the PRINTJOB command.
1338 | File is the wrong version.

1400

1405 | RUN|! Command failed. "Details".
1410 | Unable to create temporary work files.
1411 | RUN|! command string is too long.
1412 | Cannot locate the COMSPEC environment variable.
1413 | Page frame cannot be sized that small.
1420 | OLE object is invalid or corrupted.
1421 | Cannot activate the OLE server.
1422 | Error saving the OLE object.
1423 | Error creating the OLE object.
1424 | Error copying the OLE object to Clipboard.
1426 | OLE error code 0x"name".
1427 | OLE IDispatch exception code "name".
1428 | OLE IDispatch exception code "number" from "name": "name".
1429 | "OLE error".
1431 | Maximum number of OLE arguments is exceeded.
1434 | Class "name" has not been registered.
1435 | XML Parse Error
1436 | Only insertable objects are allowed in General fields.
1437 | Unable to register the ActiveX control.
1438 | The ActiveX control module failed to register correctly.
1439 | Not a ProjectHook class.
1440 | OLE exception error "name". OLE object may be corrupt.
1441 | Class cannot be instantiated because member "name" does not exist
1442 | Class cannot be instantiated because member "name" has wrong # of parameters
1443 | Interface "name" not found
1444 | Type Library "name" not found
1445 | EventHandler object "name" does not IMPLEMENT an interface
1462 | "name" internal consistency error.
1463 | No result set has been returned by the server.
1465 | SQL pass-through internal consistency error.
1466 | Connection handle is invalid.
1467 | Property is invalid for local cursors.
1468 | Property is invalid for table cursors.
1469 | Property value is out of bounds.
1470 | Incorrect property name.
1471 | Incorrect column format.
1472 | SQL statement parameter is required for non-prepared SqlExec( ) calls.
1473 | Environment-level property is invalid.
1474 | Invalid call issued while executing a SQLEXEC( ) sequence.
1475 | Invalid call issued while executing a SQLMORERESULTS( ) sequence.
1476 | Invalid call issued while executing a SQLTABLES( ) sequence.
1477 | Invalid call issued while executing a SQLCOLUMNS( ) sequence.
1478 | The ChildOrder property of a relation object in the data environment is no longer valid. The relation is being removed.
1479 | Invalid update column name \"name"\.
1480 | Warning: The connection sync/async mode cannot be set.
1481 | Warning: The connection timeout cannot be set.
1482 | Warning: The query timeout cannot be set.
1483 | Warning: The connection packet size cannot be set.
1484 | Warning: The next "cExpr" modified records have already been updated remote.
1485 | Warning: Invalid data conversion(s) starting at record "name".
1486 | Warning: Invalid memo field conversions starting at record "name".
1487 | Warning: The connection transaction mode cannot be set.
1488 | No connection associated with this cursor
1489 | General fields cannot be used in the WHERE condition of an update statement. Change the WhereType property of the view.
1490 | Saving a converted form as a class is not supported.
1491 | No update tables are specified. Use the Tables property of the Cursor object.
1492 | No key columns specified for the update table "name". Use the KeyFieldList property of the cursor.
1493 | SQL parameter is missing.
1494 | View definition has been changed.
1495 | Warning: The key defined by the KeyField property for table "alias" is not unique.
1496 | Warning: No information is available to check remote update conflicts.
1497 | Connection name is invalid.
1498 | SQL SELECT statement is invalid.
1499 | SQL parameter "name" is invalid.

1500

1501 | Type conversion is not supported for output parameters.
1502 | Cannot write to the record because it is in use.
1503 | File cannot be locked.
1504 | Function not supported for SQL pass-through cursors.
1507 | Screen code is too large for available memory.
1508 | Error initializing OLE.
1509 | Conversion canceled. Adjust the memo BLOCKSIZE.
1510 | Invalid file format. If this is a dBASE file, it must be converted first. To convert it, type MODIFY LABEL labelfilename.
1520 | No database is open or set as the current database.
1521 | This operation not supported for class member objects.
1522 | Connectivity internal consistency error.
1523 | Execution was canceled by the user.
1524 | The selected printer driver does not support direct access.
1525 | Function is not supported on remote tables.
1526 | Connectivity error: "name".
1527 | Cannot locate ODBC library, ODBC32.DLL.
1528 | ODBC entry point missing, "name".
1529 | File "name" already exists as part of a database.
1530 | Fetching canceled; remote table is closed.
1531 | The table changes cannot be performed as the index or filter expression for index name would be invalid.
1532 | Type conversion is not supported.
1533 | This property is read-only.
1534 | Database "alias" is not open.
1535 | Cannot close this database because it is being used by a project.
1536 | Function is not supported on native tables.
1537 | Cannot add this table: it belongs to database "name".
1538 | A stored procedure is executing.
1539 | Trigger failed in "cursor".
1540 | Session number is invalid.
1541 | Connection "name" is busy.
1542 | Base table fields have been changed and no longer match view fields. View field properties cannot be set.
1543 | Type conversion required by the DataType property for field '"name"' is invalid.
1544 | DataType property for field '"name"' is invalid.
1545 | Table buffer for alias "name" contains uncommitted changes.
1546 | Cannot close table during execution of a table-bound expression.
1547 | Cannot insert an empty row from a view into its base table(s).
1548 | Table "alias" has one or more non-structural indexes open. Please close them and retry the Begin Transaction.
1549 | Data session #number cannot be released with open transaction(s).
1550 | .DBC internal consistency error.
1551 | File "name" is an invalid database.
1552 | File "name" is not a database.
1553 | File "name" is a database.
1554 | Error instantiating cursor object. Table "alias" cannot be opened. Object will be ignored.
1555 | Relational expression is not valid.
1556 | Table cannot be browsed because cursor object is no longer valid.
1557 | The database must be opened exclusively.
1558 | File "name" is not part of a database.
1559 | Property is not found.
1560 | Property value is invalid.
1561 | Database is invalid. Please validate.
1562 | Cannot find object "name" in the database.
1563 | Cannot find view "name" in the current database.
1564 | Table "name" already exists in the database.
1565 | File "name" is part of a database.
1566 | Cannot issue the PACK command on a database while its objects have open cursors.
1567 | Primary key property is invalid; please validate database.
1568 | View fields have been changed. The Update and Key field properties have been reset to the default values.
1569 | Database "name": File access denied.
1570 | Database is read-only.
1571 | The name "name" is already used for another object. Please choose a different name.
1572 | Cannot delete a database object while it is open in a designer.
1573 | Cannot change modality of a visible form.
1574 | Error initializing application object.
1575 | Object name is invalid.
1576 | Class "name" is not found in the class library.
1577 | Table "name" is referenced in a relation.
1578 | Invalid database table name.
1579 | Command cannot be issued on a table with cursors in table buffering mode.
1580 | Feature is not supported for non-.DBC tables.
1581 | Field "name" does not accept null values.
1582 | Field "name" validation rule is violated.
1583 | Record validation rule is violated.
1584 | Error reading a property from the database. The property is ignored.
1585 | Update conflict. Use TABLEUPDATE( ) with the lForce parameter to commit the update or TABLEREVERT( ) to roll back the update.
1586 | Function requires row or table buffering mode.
1587 | Illegal nested OLDVAL( ) or CURVAL( ).
1588 | INSERT cannot be issued when row or table buffering is enabled or when integrity constraints are in effect.
1589 | Table or row buffering requires that SET MULTILOCKS is set to ON.
1590 | BEGIN TRANSACTION command failed. Nesting level is too deep.
1591 | END TRANSACTION command cannot be issued without a corresponding BEGIN TRANSACTION command.
1592 | ROLLBACK command cannot be issued without a corresponding BEGIN TRANSACTION command.
1593 | Command cannot be issued within a transaction.
1594 | Illegal to attempt a file lock in a transaction after taking prior record locks.
1595 | Update conflict. Some of your changes in the current row batch were committed. Use TABLEUPDATE( ) with the lForce parameter to commit the update or the manual transaction to roll back the update.
1596 | Table buffering is not enabled.
1597 | Views require either DB_BUFOPTROW or DB_BUFOPTTABLE.
1598 | Rule and trigger code must balance transaction usage.
1599 | Data session #number was forced to ROLLBACK all transactions to avoid deadlock.

1600

1600 | Not enough memory to open a table with the USE command.
1604 | No menu bar is defined.
1605 | No menu is defined.
1607 | Maximum menu items allowed (128) is exceeded.
1608 | Maximum menus allowed (25) is exceeded.
1609 | Maximum menu item length (50) is exceeded.
1611 | Menu items and titles must be type Character.
1612 | No such menu or menu item is defined.
1621 | No menu titles have been defined for this menu.
1632 | Window file format is invalid.
1637 | File must be opened exclusively to convert the Memo file.
1640 | Access to system Registry denied
1642 | Color set resource is not found.
1643 | Printer driver is corrupted.
1644 | Printer driver is not found.
1645 | Report contains a nesting error.
1646 | Total field type must be Date or Numeric.
1647 | Field expression contains an invalid data type.
1649 | No previous PRINTJOB command to correspond to this command.
1651 | CANCEL or SUSPEND is not allowed.
1652 | Invalid use of a Visual FoxPro function as an array.
1653 | Label nesting error.
1657 | Column number must be between 0 and the right margin.
1659 | The table has memo fields that cannot be converted while open read-only.
1661 | Microsoft Excel file format is invalid.
1662 | Lotus 1-2-3 version 1.0 file format is invalid.
1670 | Multiplan version 4.0 file format is invalid.
1671 | Cannot import from password-protected file.
1672 | Cannot append from password protected file.
1673 | Symphony version 1.0 file format is invalid.
1674 | Symphony version 1.1 file format is invalid.
1678 | Lotus 1-2-3 version 3.0 file format is invalid.
1679 | Import only Worksheet A for Lotus 1-2-3 version 3.0 files.
1680 | Worksheet A for Lotus 1-2-3 version 3.0 file is hidden.
1681 | PREVIEW clause is not allowed with OFF/NOCONSOLE or TO PRINT/FILE.
1682 | Not a user-defined window.
1683 | Index tag is not found.
1684 | Index tag or file name must be specified.
1685 | Project file is invalid.
1686 | Form file "name" is invalid.
1687 | Menu file is invalid.
1688 | Paradox file format is invalid.
1689 | Cannot build without a main program.
1690 | Table operation is invalid during indexing.
1691 | Library file "name" is invalid.
1693 | Cannot find the menu-generation program.
1694 | Too many extensions are specified.
1695 | COLUMN | FORM | ALIAS | NOOVERWRITE | WIDTH are only allowed with the FROM clause.
1696 | NOWAIT | SAVE | NOENVIRONMENT | IN | WINDOW clauses are not allowed with the FROM clause.
1698 | COLUMN | ROW | ALIAS | NOOVERWRITE | SIZE | SCREEN are only allowed with the FROM clause.
1699 | The IN clause is not supported for this window.

1700

1705 | File access is denied.
1706 | Cannot sort .IDX files in descending order.
1707 | Structural .CDX file is not found.
1708 | File is open in another work area.
1709 | Database object is being used by someone else.
1710 | MULTISELECT or MOVER clause is not supported for PROMPT style menus.
1711 | API library revision mismatch. Rebuild library.
1712 | Field name is a duplicate or invalid.
1713 | Field width or number of decimal places is invalid.
1714 | Window "name" has not been defined.
1715 | Server "server" is not found.
1716 | Queue "queue" is not found.
1717 | Unable to generate a printer driver.
1718 | File "name" is read-only.
1719 | Object file "name" is in use and cannot be removed from memory.
1720 | Cannot issue the SET FORMAT command while a READ command is in progress on a format file.
1722 | Preprocessor expression is invalid.
1723 | Mismatched #IF/#ELSIF/#ELSE/#ENDIF.
1724 | Missing #ENDIF.
1725 | Constant is already created with #DEFINE.
1726 | API library is not found.
1727 | A .DBF-style Help file is required.
1728 | Color scheme is reserved.
1730 | Init event failed.
1731 | Cannot modify a base class.
1732 | Data type is invalid for this property.
1733 | Class definition "name" is not found.
1734 | Property "name" is not found.
1735 | Error in the class definition. "Details"
1736 | Error instantiating the object "object".
1737 | "name" is a method, event, or object.
1738 | Property "name" is not a method or event.
1739 | Property setting will not take effect until data environment reloaded.
1740 | "name" is a read-only property.
1741 | Cannot add "name". Class definition is cyclical.
1742 | The data source for this object must be a variable reference.
1743 | Property "name" is read-only.
1744 | Object class is invalid for this container.
1745 | "name" is not a Visual FoxPro event.
1746 | Class file name for "name" is not valid.
1747 | Class file "name" is invalid.
1748 | This file is incompatible with the current version of Visual FoxPro.
1749 | Form (.SCX) file must contain at least one Form.
1750 | File was created in a later version of Visual FoxPro than the current version.
1751 | Class file version is greater than the current version.
1752 | Class "name" is in use by MODIFY CLASS.
1753 | Cannot load 32-bit DLL "name".
1754 | Cannot find entry point "name" in the DLL.
1755 | Cannot add an object to this class.
1756 | Member object removed – cannot complete the Save operation.
1757 | Property "name" is protected.
1758 | Cannot change property "name" in SetAll method.
1759 | Expression is invalid. Use a valid expression for "name" property.
1760 | Member "name" is a class member.
1761 | Class "name" already exists.
1762 | Class "name" is not found.
1763 | Property "name" already exists.
1764 | Array is not a member of the parent object.
1765 | Method contains syntax errors. Method is not saved.
1766 | Object "name" is not found.
1767 | Parent object will not allow this property setting for "name".
1768 | Cannot add this object to a Grid.
1769 | Cannot add this object to a Column.
1770 | Cannot clear class "class" because it is in use.
1771 | A member object with this name already exists.
1772 | You may not change the RecordSource of a BROWSE object.
1773 | Database object type is invalid.
1774 | No sheet is found.
1775 | Worksheet "name" is not found.
1776 | Class "name" is in use.
1777 | This command is not supported for views.
1778 | The table must be converted before appending.
1779 | Error adding "name" to the object. Duplicate member/property name.
1780 | This array element has been defined as an object and cannot be redefined in the class definition.
1781 | An object's control source cannot be set to its Value property.
1782 | This OLE property cannot be an expression.
1783 | Invalid class specified for @...Class command.
1784 | This object is derived from a base class and does not have a parent class.
1791 | Cannot find the text generation program.
1792 | Text generation is canceled.
1793 | The network request is not supported.
1794 | "name" cannot be enumerated.
1795 | Cannot arrange an untransported form.
1796 | No records are found for the current platform.
1797 | Error occurred in conversion.
1798 | Cannot find the converter program.
1799 | Conversion is canceled.

1800

1800 | SQL: Internal error.
1801 | SQL: Error correlating fields.
1802 | SQL: Cannot locate table.
1803 | SQL: HAVING clause is invalid.
1804 | SQL: Statement is invalid.
1805 | SQL: Too many subqueries.
1806 | SQL: Column "field | variable" is not found.
1807 | SQL: GROUP BY clause is invalid.
1808 | SQL: ORDER BY clause is invalid.
1809 | SQL: Out of memory.
1810 | SQL: Invalid use of subquery.
1811 | SQL: Aggregate on non-numeric expression.
1812 | SQL: Statement too long.
1813 | SQL: Use of UNION in subquery is invalid.
1814 | SQL: Queries of this type are not supported.
1815 | "cursor" must be created with SELECT ... INTO TABLE.
1818 | SQL: FROM clause is required.
1819 | SQL: DISTINCT is invalid.
1820 | SQL: SELECT contains invalid *.
1822 | SQL: Invalid aggregate field.
1825 | SQL: Subquery is invalid.
1826 | SQL: SELECT is invalid.
1828 | SQL: Illegal GROUP BY in subquery.
1830 | SQL: Index is not found.
1831 | SQL: Error building temporary index.
1832 | "field | variable" is not unique and must be qualified.
1833 | SQL: WHERE clause is invalid.
1834 | SQL: Too many UNIONs.
1839 | SQL: Operation was canceled.
1841 | SQL: Too many columns referenced.
1842 | SQL: Subquery nesting is too deep.
1844 | Cannot nest aggregate functions.
1845 | SQL expression is too complex.
1846 | Cannot GROUP by aggregate field.
1851 | SELECTs are not UNION compatible. "Details"
1860 | Subquery returned more than one record.
1864 | SQL: Too many fields in UPDATE.
1865 | SQL: Invalid SET expression in UPDATE.
1866 | SQL: Invalid TOP specification.
1867 | SQL: TOP requires an ORDER BY.
1870 | ALTER TABLE operation interrupted.
1871 | Cannot DROP all existing columns.
1872 | Too many columns.
1875 | Multiple warnings occurred performing the requested index modifications.
1877 | No rule to DROP.
1878 | No default value to DROP.
1879 | No primary key.
1880 | Related table is not found in current database.
1881 | Error loading file - record number n. "object" <or one of its members>. "Issue": "error".
1882 | Related tag is not found or not primary or candidate.
1883 | Primary key already exists.
1884 | Uniqueness of index "name" is violated.
1885 | Only structural tags can be defined as candidate.
1886 | Index does not accept NULL.
1887 | Illegal recursion in rule evaluation.
1888 | Tag name is too long.
1889 | A table in multiple relationships can only have one child order.
1890 | SQL: Cannot determine data type of SQL column "column".

1900

1903 | String is too long to fit.
1907 | Drive specifier is invalid.
1908 | Length or decimal place argument is invalid.
1909 | Cannot update project from project metafile.
1910 | Illegal printer driver recursion.
1911 | Localized product is required for this environment.
1912 | Operation is invalid for a General field.
1913 | Field must be a General field.
1914 | Code page number is invalid.
1915 | Collating sequence "name" is not found.
1916 | To use this feature, set CODEPAGE=AUTO in your CONFIG.FPW file and restart Visual FoxPro.
1917 | Script error: "name".
1918 | File name is too long.
1919 | Objects cannot be programmatically deleted from the Class Designer.
1922 | Volume does not exist.
1923 | Object "name" is not found.
1924 | "name" is not an object.
1925 | Unknown member "name".
1926 | Cannot nest class definitions.
1927 | Statement is not valid in a class definition.
1928 | Statement is only valid within a class definition.
1929 | "name" can only be used within a method.
1930 | Cannot redefine "name".
1931 | Statement is not in a procedure.
1932 | "name" cannot be closed while suspended.
1933 | File "name" is not closed.
1934 | Statement only valid within a method.
1935 | The current object does not inherit from class "name".
1936 | Application object not initialized.
1937 | Procedure file "name" is not found.
1938 | Object is not contained in a "name".
1939 | WITH/ENDWITH mismatch.
1940 | Expression is not valid outside of WITH/ENDWITH.
1941 | Error code is not valid.
1942 | Objects cannot be assigned to arrays.
1943 | Member "name" does not evaluate to an object.
1944 | Cannot find the builder program.
1945 | The current object has been released.
1946 | Project file "name" is in the wrong version.
1947 | Expression is too complex.
1948 | Cannot modify a class that is in use.
1949 | Class name is invalid.
1950 | Class definition "name" is recursive.
1951 | Cannot clear the object "object" because it is in use.
1952 | Cannot base a view on itself.
1953 | Feature is only available if the object is in design mode.
1954 | The builder program is already running.
1955 | WIN.INI/registry is corrupted.
1956 | Printer access denied.
1957 | Error accessing printer spooler.
1958 | Error loading printer driver.
1959 | Invalid coordinates.
1960 | Illegal redefinition of variable "name".
1961 | A subdirectory or file "name" already exists.
1962 | The directory is not empty.
1963 | Directory is not found.
1964 | No PageFrame or Page is found in FormSet or Form with WindowType set to READ or READ MODAL.
1965 | One of the members of this class is based on a nonvisual class. Cannot write .VCX file.
1966 | Data environment is already loaded.
1967 | Data environment is already unloaded.
1968 | One of the members of this Form or FormSet is based on a nonvisual class. Cannot write .SCX file.
1969 | The clipboard contained one or more objects that could not be added to the container. Those objects were not pasted.
1970 | Cannot reopen project file "name".
1971 | Cannot compile until the current COMPILE command has completed.
1972 | Array "name" is in use.
1973 | Error creating table: "name".
1974 | Arrays cannot be assigned to array elements.
1975 | Member object "name" has not been instantiated.
1976 | Cannot resolve backlink.
1977 | Exclusive open required to update this file. Please reopen.
1978 | Cannot visually modify a class of this type.
1979 | Cannot visually modify a class based on a nonvisual class.
1981 | Compile error in file "name".
1982 | The TO clause can only be used with modal Forms and FormSets.
1983 | "name" objects cannot return a value.
1984 | The fields in table '"name"' did not match the entries in the database.
1985 | Object already has a data environment; cannot use another one with the SaveAs method.
1986 | GDI memory is low, close one or more windows and try again.
1987 | Objects cannot be programmatically added to the Form Designer's FormSet.
1988 | Currency value is out of range.
1989 | Objects cannot be programmatically deleted from the Form Designer.
1991 | Form file "name" is from a previous version of FoxPro. It must be converted to the current format before it can be executed.
1992 | "name" is not a function, procedure or program.
1993 | Class library file "name" is not found.
1994 | Include file "name" is not found.
1995 | Error loading the data environment. Table is in use.
1996 | The validation rule for field "name" does not evaluate to a logical or NULL type.
1997 | The default value for field "name" does not evaluate to the correct type for the field.
1998 | The index expression for index "name" contains an invalid reference to a Memo, General, or Picture field.
1999 | Function is not implemented.

2000

2000 | Memory is low, so streaming output updating has been disabled.
2001 | The name of the object file for "file" is already used by another program in the project.
2002 | Cannot build a DLL without OLE public classes.
2003 | OLE Changed Properties stream is the wrong version. Subclassed properties ignored.
2004 | The table file "name" has moved. Please validate database "name" and try again.
2005 | Error with "name" - "property": "error".
2006 | Cannot locate your Web browser.
2007 | Invalid operation for offline view while offline.
2008 | Invalid operation for offline view while being used online.
2009 | Object is not an offline view.
2010 | Offline views must be used exclusively when being used online.
2011 | Invalid operation for offline view.
2012 | Cannot call SetFocus from within a When, Valid, RangeHigh or RangeLow event.
2013 | Cannot open persistent table buffer directly.
2014 | Fields marked as update keys will be cleared.
2015 | Offline view must be used online for this command
2016 | Removing a class member is not allowed.
2017 | Cannot reuse offline view in different mode.
2018 | Reconnect of offline view failed.
2019 | Cannot create offline view on a currently modified view.
2020 | The class file associated with this field cannot be found – class association cleared.
2021 | The DataObject cannot be modified in the OLEDragOver or OLEDragDrop event.
2022 | The specified file or path was not found.
2023 | There is no application associated with the given filename extension.
2024 | A sharing violation occurred.
2025 | The SQL Statement is too complex for the View/Query Designer.
2026 | Invalid locale ID.
2027 | Declare DLL call caused an exception.
2028 | API call caused an exception.
2029 | Class "name" is not a Form class.
2030 | Cannot delete file "name".
2031 | User-interface operation not allowed at this time.
2032 | Ambiguous date/datetime constant.
2033 | CTOD and CTOT can produce incorrect results.
2034 | Date/datetime evaluated to an invalid value.
2035 | Date/datetime contains illegal characters.
2036 | The current Help file is empty.
2038 | Microsoft Visual FoxPro doesn't support and cannot open this format of recordset.
2039 | Failed to create recordset.
2040 | Field mismatch.
2041 | Recordset does not exist.
2042 | Foxcode table not found, is not correct version or is incompatible.
2043 | Foxcode script "name" failure.
2044 | Textmerge is recursive.
2045 | Cannot set DBCEventFile property when DBCEvents is off.
2046 | Foxtask table is corrupted or not the correct version.
2047 | Invalid character entered.
2048 | Invalid COMATTRIB value for "name".
2049 | Error loading HtmlHelp 2.0 collection.
2050 | Help for this topic/context not implemented.
2051 | Menu item's conditional statement is too long.
2052 | OrderBy clause is too long.
2053 | GroupBy clause is too long.
2054 | Cannot release object.
2055 | Query Parse Error - Try rebuilding in Query Wizard or by using View Designer Join Tab.
2056 | The specified member class does not exist or is of wrong type.
2057 | The specified class library does not exist or does not contain a valid member class.
2058 | TRY/CATCH/FINALLY/ENDTRY mismatch or error.
2059 | Unhandled Structured Exception.
2060 | RETURN/RETRY statement not allowed in TRY/CATCH.
2061 | Index or expression does not match an existing member of the collection.
2062 | The specified Key already exists.
2063 | A Key must be specified when adding an item to this collection.
2064 | A Key cannot be specified when adding an item to this collection.
2065 | Table "name" has a file length / record number inconsistency.
2066 | Index file "file" is corrupted. Please rebuild it.
2067 | Cursor "name" does not have a valid table or view reference.
2068 | Data environment "name" does not contain a cursor object.
2069 | Forms or Form classes that specify a DEClass and DEClassLibrary cannot be converted to or used with a FormSet.
2070 | Cannot assign a class value to this member.
2071 | User Thrown Error.
2072 | Cursor cannot be modified because it contains an unsaved.
2073 | Cannot change MemberClass because existing member objects have outstanding references.
2074 | Result is incompatible with cursor schema.
2075 | CursorSchema property is not specified.
2076 | Operation is not allowed for CursorAdapter.
2077 | Operation is not allowed for CursorAdapter at this time.
2078 | CursorAdapter "name" cannot be loaded for design.
2079 | Cannot close or detach extended cursor because it is currently in design mode.
2080 | ADODB.Recordset is already opened.
2081 | ADODB.Command is already opened.
2082 | Cannot update ADODB.Recordset while cursor, created by CursorAdapter.CursorFill method, is not attached to a CursorAdapter object.
2083 | Cannot update ADODB.Recordset because it is read-only.
2084 | Cannot update ADODB.Recordset because it does not support a Bookmark property.
2085 | Cannot update ADODB.Recordset because FOX cursor does not have an ADOBookmark column.
2086 | DEClass cannot be loaded.
2087 | Window "name" is not a dockable window. (Error 2087)
2088 | Field "name" is read-only.
2089 | The "name" event has failed.
2090 | CursorAdapter does not have an associated cursor.
2091 | Table "name" has become corrupted. The table will need to be repaired before using again.
2092 | CursorAdapter cannot locate current record in the buffer. The record may have been reverted.
2093 | Syntax error: "name" is not allowed in the view script or is in the wrong place.
2094 | XML Schema is too complex.
2095 | XMLTable object does not have associated XMLAdapter object.
2096 | XML document is not loaded.
2097 | XMLTable object does not have associated fields.
2098 | Invalid element in XMLTable.Fields collection.
2099 | Value of XMLTable.XMLName must be used as key value for collection.

2100

2100 | Value of XMLField.XMLName must be used as key value for collection.
2101 | Unable to attach object with empty XMLName property.
2102 | Unable to change XMLName property while XMLTable object belongs to XMLAdapter object.
2103 | Unable to change XMLName property while XMLField object belongs to XMLTable object.
2104 | There is a duplicate table "name" in XML schema.
2105 | There is a duplicate field "name" in XML schema.
2107 | XMLAdapter.ToXML cannot be called while there is a loaded XML document.
2108 | XMLTable.Alias is empty.
2109 | XMLTable has child table.
2110 | XML Error: "error"
2112 | Cursor "name" is attached to another CursorAdapter object.
2116 | This feature requires MSXML4 SP1 or later.
2118 | XMLAdapter: fractionDigits must not be greater than or equal to maxLength.
2120 | Unable to infer XML schema.
2121 | Unable to open offline view in ADMIN/ONLINE mode inside a transaction.
2122 | Unable to close offline view in ADMIN/ONLINE mode inside a transaction.
2123 | Unable to set external schema location when inline schema is used.
2124 | XML document does not have a root element.
2125 | CursorAdapter and XMLTable objects do not belong to the same data session.
2126 | XML document is not a DiffGram.
2127 | XMLAdapter.XMLName is empty.
2128 | XML node does not belong to MSXML4.DOMDocument.
2129 | XMLAdapter object doesn't have associated tables.
2130 | XMLTable object with XMLName "name" does not have associated fields.
2131 | TEXT does not have corresponding ENDTEXT statement
2132 | XMLTable object already has parent or is associated with XMLAdapter object.
2133 | Unable to emit XML, two or more cursors use different code pages.
2134 | Value of XMLName, XMLNamespace or XMLPrefix property should be a Unicode string.
2135 | Conversion to Unicode has failed.
2136 | Conversion from Unicode has failed.
2137 | Vfp.VFPXMLProgId doesn't support cSchemaLocation parameter for XMLUpdateGram().
2138 | CursorAdapter is unable to determine DataSourceType for the operation.
2139 | SelectCmd is empty.
2140 | Both Unicode and IsBinary properties can not be set to .T..
2141 | Field size for Unicode value can not be odd number.
2142 | Field for Unicode value should not use code page translation.
2143 | ADODB.Recordset is not opened.
2144 | XMLField object is already associated with XMLTable object.
2145 | Property "name" has invalid value.
2146 | Invalid key column name "name".
2147 | Calling OpenTables or CloseTables is not allowed while either of those methods are in the process of executing.
2148 | SQL: The ORDER BY clause is invalid in subqueries, unless TOP is also specified
2149 | SQL: Invalid SET expression in UPDATE, "table name" is not a target table
2150 | SQL: Table for UPDATE or DELETE cannot be outer joined
2151 | SQL: Cannot UPDATE or DELETE from subquery
2152 | The Dockable property cannot be enabled possibly due to conflicting properties
2153 | Invalid collate sequence
2154 | Unknown member object "object name"
2155 | Number of affected rows is not available
2156 | Invalid index expression for a Binary index
2157 | Filter expression is not allowed for a Binary index
2158 | Unable to locate target record in ADODB.Recordset
2159 | Unable to cast NULL value to a NOT NULL data type
2160 | Invalid timestamp column name "column name"
2161 | Invalid Insert refresh column name "column name"
2162 | Invalid Insert refresh key column name "column name"
2163 | Invalid Update refresh column name "column name"
2164 | Invalid Update refresh key column name "column name"
2165 | The refresh key defined for table "table name" is not unique
2166 | The refresh key defined for table "table name" is not found
2167 | Source field for refresh is not found
2168 | Invalid data source type for RecordRefresh operation
2169 | Cannot refresh record from ADODB.Recordset because it does not support a Bookmark property
2170 | Cannot refresh record from ADODB.Recordset because FOX cursor does not have an ADOBookmark column
2171 | Invalid refresh ignore column name "column name"
2172 | Field "field name" is not fetched
2173 | Cursor "cursor name" is in use and cannot be closed
2174 | Field "field name" is not associated with a base table
2175 | CursorAdapter internal error
2176 | Connection "connection name" is in manual commit mode
2177 | Inner and outer XMLTable objects are not associated with the same XMLAdapter object
2178 | There is no relation to the nested table "table name".
2179 | Nested XML format is incompatible with 'Changes Only'
2180 | XMLAdapter XMLName property is an XPath expression
2181 | XMLTable XMLName property is an XPath expression
2182 | XMLName property contains illegal symbol(s)
2183 | Operation requires that SET MULTILOCKS is set to ON
2184 | Code page for the field "field name" doesn't match cursor's code page
2185 | Unable to infer cursor's code page from XML document
2186 | Error building sort key
2187 | Recursive XMLTable nesting is not allowed
2188 | Cursor doesn't support ADOBookmark property
2189 | SQL: Too many fields in final or intermediate result have the same name
2190 | FontCharSet number is invalid
2191 | File is in use in another data session
2192 | Illegal operation for a table with pending changes
2193 | Illegal operation in rule evaluation
2194 | Output page "page" is not available
2195 | The cursor is already associated with a record set
2196 | Only single SQL SELECT statement can be enclosed in parenthesis
2197 | Property "property name" value is too long
2198 | Index tag is not found for Cursor object "cursor name"
2199 | Error building key for index "name".

2200

2200 | Index "name" is in use and cannot be closed
2201 | Cannot determine data type of the expression

См. также

Другие источники

Error Messages
Error Messages A-Z
ERROR Command
ERROR( ) Function

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.
Перевод Timo


Product Support (Visual FoxPro)

Visual FoxPro 9.0
Поддержка Продукта (Visual FoxPro)
CollapseAll image

Узнайте больше информации о службе поддержки Microsoft, а также параметры copyright.

Expand image В данном Разделе

Техническая поддержка Microsoft Visual FoxPro

Содержит информацию о службе поддержки программных продуктов Microsoft.

Copyright

Описывается информация о Microsoft copyright.

Expand image Связанные Разделы

Что нового в данной версии Visual FoxPro

Описываются новые возможности и расширения функциональности в данной версии Visual FoxPro.

Установка системы Visual FoxPro

Приводятся рекомендации по установке данной версии Visual FoxPro, ее использованияи, настройки и запуска.

Начинаем работать с Visual FoxPro

Рассматриваются вопросы, как с помощью системы Visual FoxPro можно начать разрабатывать приложения по обработке данных.

Изменения по сравнению с предыдущей версией

Объясняется, что ваши инвестиции, вложенные в младшие версии Visual FoxPro, не оказались напрасными.

Оптимизация вашей Системы

Описывается, как настроить и оптимизировать вашу рабочую станцию, операционную систему, Visual FoxPro, или даже ваше приложение для более эффективного их использования.

Microsoft Visual FoxPro Web Site

Приводится дополнительная информация об информационных ресурсах Internet, посвященных Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Microsoft Visual FoxPro Technical Support

Visual FoxPro 9.0
Техническая поддержка Microsoft Visual FoxPro
Смотрите также
CollapseAll image

Имя продукта

Microsoft Visual FoxPro

распространяемый производилями электронного оборудования (OEM)

Если вы получили продукт инсталлированным в новом компьютере или устройстве, то техническую поддержку и помощь оказывает производитель оборудования. Пожалуйста свяжитесь с производителем непосредственно, для получения поддержки.

Поддержка Info Online

Microsoft Help and Support

Пользователи TTY

Телефонные текстовые сервисы Microsoft (TTY/TDD) доступны по номеру (425) 635-4948 в штате Washington или по номеру (800) 892-5234 в U.S. Call и (905) 568-9641 в Canada.

Worldwide

Термины поддержка, перечисленные здесь доступны только в United States и Canada. Поддержка в иных местах может отличаться. Для получения региональной контактной информации обратитесь к списку Международно поддержки (International Support), который вы можете найти по ссылке http://support.microsoft.com/common/international.aspx.

Если в вашей стране или регионе нет дочернего офиса Microsoft, то пожалуйста свяжитесь с тем, от кого вы получили ваш продукт корпорации Microsoft.

Условия

Сервисы поддержки Microsoft являются субъектом текущей цены, терминов и условий, которые могут изменяться без предупреждения.

Expand image Professional Параметры поддержки

  • Профессиональная поддержка для Разработчиков

  • Профессиональная поддержка для IT профессионалов

  • Профессиональная поддержка для партнеров, продавцов и консультантов

  • Профессиональная поддержка для Сертифицифированных партнеров Microsoft

  • Профессиональная поддержка для OEM

Expand image Смотрите также

Справочное руководство

Поддержка продукта (Visual FoxPro)

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Copyright

Visual FoxPro 9.0
Copyright
См. также
CollapseAll image
Информация в этом документе, включая URL и другие ссылки Internet Web, не подлежат Изменению, без уведомления Производителя. Если специально не указано, имена Компаний в примерах, организации, продукты, доменные имена, адресы эл.почты, логотипы, люди, места, и события приведенные в них являются фиктивными, и никакая аналогия с любой реальной компанией, организацией, продуктом, доменным именем, адресом эл.почты, логотипом, человеком, местом, или событием представлено для Примера, является вымышленным. Подчиняться всем прилагаемым законам об Авторском Праве - ответственность Пользователя. Не ограничивая права под авторским правом, никакая часть этого документа не может быть воспроизведена, загружена в или внесена система поиска или передана в любой форме или любыми средствами (электронный, механический, фотокопирований, записывающий, или иным способом), или для любой цели, без экспресс-Сообщения об этом на разрешение Корпорации Микрософт.

Микрософт может иметь патенты, патентные приложения, торговые марки, авторские права, или другие интеллектуальные права, покрывающие содержание в этом документе. Кроме явно приведенное в любом письменном лицензионном соглашении из Микрософт, снабжающий этого документа не дает Вам любую лицензию на эти патенты, торговые марки, авторские права, или другое интеллектуальное свойство.

© 2004 Microsoft Corporation. Все права защищены.

Microsoft, MS-DOS, Windows, Windows NT, Windows Server, Active Desktop, Active Directory, ActiveX, BackOffice, IntelliSense, JScript, Microsoft Office, Microsoft Press, Microsoft SQL Server, MSDN, MSN, OneNote, OpenType, Outlook, PivotTable, PowerPoint, Rushmore, Visual Basic, Visual C++, Visual C#, Visual FoxPro, Visual SourceSafe, Visual Studio, Windows Server System, Win32, and Win32s are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Имена и Названия реальных компаний и продуктов, приведенные выше, могут иметь соответствующие Торговый марки данных Компаний.

Expand image См. также

Описание

Поддержка данного Продукта (Visual FoxPro)

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод: Илья_Ш.


CallAdjustObjectSize Property

 Filter choices image
CallAdjustObjectSize, свойство
Смотрите также Пример
CollapseAll image

Определяет, как управляющий Отчетом класс типа ReportListener обрабатывает соответствующие событие AdjustObjectSize для каждого Контрола Отчета.

ReportListener.CallAdjustObjectSize [= nSetting]

Expand image Возвращаемое значение

nSetting

Определяет управляющий параметр Отчета, характеризующий текущее состояние Контрола Отчета.

nSetting Краткое Описание

0 (по-умолчанию)

Программный код события AdjustObjectSize выполняется для всех Контролов Отчета, которые связаны в иерархии объектов Отчета.

1

Программный код события AdjustObjectSize не выполняется даже в случаях, когда фрагмент Кода соответствует текущему слою иерархии вложенных Объектов Отчета.

2

Событие AdjustObjectSize обрабатывается всегда при наличии соответствующего программного кода для Объекта Отчета. Данный вариант используется обычно в тех случаях, когда предполагается выполнять перехват уже созданного программного кода События, например с помощью функции: BINDEVENT( ), и изменять стандартное поведение Объекта Отчета.

Expand image Комментарии

Применяется В: ReportListener, объект.

Система Visual FoxPro использует значение свойства AdjustObjectSize для каждого Объекта Отчета типов Shape / Picture, если не выполняется одно из следующих Условий:

  • Отсутствует пользовательский программный Код, заданный для управляющего Класса типа ReportListener при выполнении Отчета;

  • Контрол размещается в Полосе Отчета, для которой не установлено Свойство Растягивания: Stretchable (fixed band height)

Если в вашем Отчете не используются механизмы "Динамической Калибровки" контролов Отчета, вы можете отключить рассматриваемое Свойство, что значительно повысит скорость выполнения Отчета.

Expand image Пример

В следующем фрагменте программного Кода свойство CallAdjustObjectSize используется для оптимизации скорости выполнения Отчета (при соответствующей отметке в управляющей Форме.

CopyCode image Копировать Код
oReport = CREATEOBJECT("myReportlistener")
IF THISFORM.chkNoAdjustSize.Value = .T.
oReport.CallAdjustObjectSize = 1
ENDIF
REPORT FORM (myreportfile) OBJECT oReport PREVIEW

Expand image Смотрите также

Задачи

Как: Регистрировать пользовательские объекты ReportListeners и OutputTypes в Таблице регистрации Report Output

Описание

AdjustObjectSize, событие
REPORT FORM, команда
BINDEVENT( ), функция

Другие ссылки

CallEvaluateContents, свойство

© Microsoft Corporation. All rights reserved.


CallEvaluateContents Property

 Filter choices image
CallEvaluateContents, свойство
Смотрите также Пример
CollapseAll image

Определяет, как управляющий Класс выполнения отчета типа ReportListener обрабатывает событие: EvaluateContents для всех Контролов рассматриваемого Отчета.

ReportListener.CallEvaluateContents [= nSetting]

Expand image Возвращаемое значение

nSetting

Определяет варианты обработки управляющим Классом соответствующего События контролов Отчета.

nSetting Краткое Описание

0 (по-умолчанию)

Программный Код события EvaluateContents обрабатывается для всех Контролов, которые соответствуют иерархии классов данного уровня.

1

Событие EvaluateContents не обрабатывается даже в том случае, если определен пользовательский фрагмент программного кода.

2

Программный код события EvaluateContents обрабатывается всегда, если даже уровень иерархии соответствующего Класса не соответствует текущему уровню данного события. Данный вариант обычно используется для глобального перехвата с помощью системной функции BINDEVENT( ), с помощью которой выполняется переадресация текущего исполняемого программного Кода.

Expand image Комментарии

Применяется В: ReportListener, объект.

Система Visual FoxPro выполняет программный код События EvaluateContents один раз в начале обработки Полосы Отчета, содержащей обрабатываемые Контролы. Программный Код рассматриваемого события EvaluateContentsможет содержать команды и функции изменения Шрифтов текстовых элементов, цветового оформления указанных Элементов Отчета. Если вам не требуется динамически изменять соответствующие характеристики указанных Контролов в процессе выполнения Отчета, вы можете отключить обработку события (=1, смотрите выше) EvaulateContents, что ускорит выполнение Данного Отчета.

Expand image Пример

Если для вас установлено Требование: динамически (в зависимости от некоторых условий) изменять цветовое оформление текстовых Полей вашего Отчета в момент его выполнения, которое выполняется соответствующими командами и функциями во фрагменте программного кода события EvaluateContents управляющего класса отчета ReportListener, вы можете использовать представленный далее шаблон для управления описанной ситуацией. В представленном фрагменте программного кода используется установка рассматриваемого свойства (=1) в том случае, когда управляющий элемент формы показывает отсутствие Цветного Принтера для получения соответствующего Отчета, и соответствующего оформления Контролов в коде события EvaluateContents.

CopyCode image Копировать Код
oReport = CREATEOBJECT("myReportlistener")
IF THISFORM.chkColorPrinter.Value = .F.
oReport.CallEvaluateContents = 1
ENDIF
REPORT FORM (myreportfile) OBJECT oReport PREVIEW

Expand image Смотрите также

Описание

EvaluateContents, событие
REPORT FORM, команда
ReportListener, объект
BINDEVENT( ), функция

Другие ссылки

CallAdjustObjectSize, свойство

© Microsoft Corporation. All rights reserved.


PrintCachedPages Method

 Filter choices image
PrintCachedPages, метод
Смотрите также Пример
CollapseAll image

Обеспечивает фактическую печать на принтер обработанных (кэшированных) Страниц Отчета без закрытия Окна Предварительного Просмотра. Применяется для Отчетов, для которых установлено значение свойства ListenerType =1 или =3.

Object.PrintCachedPages()

Expand image Комментарии

Object - может быть исключительно Объект, порожденный от базового класса _ReportListener или аналогичного Подкласса.

Самое обычное использование представленного Метода PrintCachedPages - это "параллельная" печать Листов выполняемого Отчета при открытом окне Предварительного Просмотра.

Expand image Пример

В представленном далее фрагменте программного кода, который вызывается из метода ActionPrint, который соответствует управляющему классу FrxPreviewForm из соответствующего проекта ReportPreview. Указанный проект содержит Исходный программный Код, который используется для системного приложения, определяемого значением системной переменной: _REPORTPREVIEW : ReportPreview.app. Вы можете найти и изменить исходный Код описанного приложения по вашему усмотрению, оно расположено в системном подкаталоге: Tools\xsource.

CopyCode image Копировать Код
if THIS.oReport.commandClauses.NOWAIT
THIS.oReport.PrintCachedPages()
else
* Terminate:
THIS.suppressRendering = .T.
THIS.printOnExit = .T.
THIS.Release()
endif

Поскольку системное приложение ReportPreview, включенное в стандартную поставку Visual FoxPro использует рассматриваемый метод: PrintCachedPages( ), поэтому вы можете использовать для печати Отчета опцию Print из системного инструмента Print Preview. Если у вас есть потребность оставить открытым окно Предварительного просмотра Print Preview после нажатия на кнопку Print, вам достаточно включить опцию NOWAIT в стандартную команду REPORT FORM, как показано в следующем примере:

CopyCode image Копировать Код
REPORT FORM (filename) OBJECT oReportListener PREVIEW NOWAIT

Если вам требуется закрыть системное Окно Print Preview при начале печать Отчета при помощи кнопки Print, вам достаточно не указывать опцию NOWAIT в соответствующей команде REPORT FORM, как показано в представленном фрагменте программного Кода:

CopyCode image Копировать Код
REPORT FORM (filename) OBJECT oReportListener PREVIEW

Expand image Смотрите также

Задачи

Как: Определить и представить системное приложение ReportPreview.App

Описание

ListenerType, свойство
_REPORTPREVIEW, системная переменная

© Microsoft Corporation. All rights reserved.


Add Property Dialog Box (Report Builder)

 Filter choices image
Диалоговый Бокс: Add Property (Построитель Отчетов)
Смотрите Также

Рассматриваемый Диалоговый бокс позволяет вам создать требуемое Свойство редактируемого Отчета, или конкретного Контрола Отчета, определить тип и значение требуемого вам Свойства Отчета.

Данный Диалоговый бокс активируется при нажатии на кнопку Add в соответствующей Закладке Advanced диалогового бокса Report Control Properties, или при нажатии на аналогичную кнопку Add в соответствующей Закладке Document Properties диалогового бокса Report Properties.

  • Как: Добавить Свойство Документу (объекту) в Отчете.

Type (Тип)

Определяет тип создаваемого Свойства: или некоторое Выражение, или text/xml, или Строка символов, или файл, или логическое значение (флаг): Да / Нет.

Property Name (Имя Свойства)

Определяет уникальное Имя создаваемого Свойства, которое будет включено в соответствующий результирующий Код XML / HTML.

Value (Значение)

Определяет соответствующее (требуемое) Значение создаваемого Свойства. Область Значения Свойства может варьироваться в зависимости от Типа создаваемого Свойства (Type).

Тип Выполняемое Действие

Expression

Соседняя командная кнопка Открывает Построитель Выражений (Expression Builder).

Text/XML

Область Value - отключается, соседняя с областью Value командная кнопка - открывает независимое Окно Редактирования.

String

Расположенная рядом с областью Value командная кнопка открывает дополнительное Окно для ввода требуемой Строки.

File

Соседняя кнопка активирует диалоговый бокс Open - для выбора требуемого файла Данных. После выбора конкретного файла полное имя этого файла отражается в области редактирования: Value.

Yes or No

В области Value отображается переключатель логических значений (флагов): Yes / No (Да / Нет).

Типы Свойств.

Свойство | Краткое Описание
Expression | Стандартное Выражение Visual FoxPro, или пользовательская функция, вычисляемая при получении Отчета (run-time Report).
Text/XML | Специально отформатированный текстовый элемент XML.
String | Символьная Строка. Не требуется заключать данную строку символов в кавычки или апострофы.
File | Полное имя Файла.
Yes or No | Логическое значение: yes / no, (да/нет, 1/0, .T./.F.).

Смотрите также

Другие ссылки

Закладка: Document Properties, Диалоговый бокс: Report Properties (Построитель Отчетов)

© Microsoft Corporation. All rights reserved.


Add Dynamic Style Condition Dialog Box (Report Builder)

 Filter choices image
Диалоговый Бокс "Add Dynamic Style Condition", Добавить Условие динамического Стиля (Построитель Отчетов)
Смотрите Также

Рассматриваемый Диалоговый бокс позволяет вам Определить Имя (идентификатор) нового, создаваемого Dynamic Style Condition (Условия Динамического Стиля), и в дальнейшем открывает доступ к диалоговому боксу: Configure Dynamic Properties (Настройка Динамических Характеристик), где вы сможете настроить создаваемое Условие динамического Стиля.

Данный диалоговый бокс открывается при нажатии кнопки <Add>, которая размещается в Закладке Dynamics диалогового бокса Report Control Properties (Характеристики Контрола Отчета).

Как: Динамически форматировать (настраивать) Контролы Отчета

Enter condition name (введите имя Условного выражения)

Введите символьную Строку (без кавычек) для идентификации вашего условного выражения. Вы не можете изменять введенное Имя (идентификатор) после его создания. Когда нажимается кнопка <OK> - открывается: Configure Dynamic Properties, диалоговый бокс (Построитель Отчетов).

Смотрите также

Другие ссылки

Закладка: Dynamics, Report Control Properties, диалоговый бокс (Построитель Отчетов)

© Microsoft Corporation. All rights reserved.


Dynamic Script Preview Dialog Box (Report Builder)

 Filter choices image
Диалоговый бокс "Dynamic Script Preview", Просмотр Программного Кода Динамических характеристик (Построитель Отчетов)
Смотрите Также

Данный диалоговый бокс обеспечивает просмотр Кода, который будет выполнен при выполнении Отчета для отображения заданных Динамических свойств Контролов Отчета.

Note Обратите Внимание

Все изменения указанного программного Кода не будут сохранены. Однако, вы можете скопировать представленный Код и использовать его в пользовательской функции, которая может изменяться по вашему усмотрению.

Диалоговый бокс открывается при выборе некоторого Условия Динамического Стиля, нажатия на кнопку <Script> в Закладке Dynamics соответствующего Диалогового бокса Report Control Properties.

  • Как: Динамически Форматировать Контролы Отчета

Font (Шрифт)

Открывает соответствующий Font, диалоговый бокс , где вы можете выбрать требуемый Шрифт и его дополнительные характеристики.

Code Zoom (Просмотр Кода)

Открывает независимое (дополнительное) окно Редактирования, где вы можете просмотреть данный программный Код с соответствующими "синтаксическим" форматированием Visual FoxPro.

Смотрите также

Другие ссылки

Configure Dynamic Properties, диалоговый бокс (Построитель Отчетов)

© Microsoft Corporation. All rights reserved.


Configure Dynamic Properties Dialog Box (Report Builder)

 Filter choices image
Configure Dynamic Properties, диалоговый бокс (Построитель Отчетов)
Смотрите Также

Рассматриваемый диалоговый бокс позволяет вам устанавливать Шрифты, Стиль, Размеры для Контролов Отчета непосредственно при выполнении рассматриваемого Отчета. Варианты управляющих параметров данного Диалогового бокса могут быть различными для следующих Контролов Отчета: текстовое Поле, графический объект, Линия или Прямоугольник.

Диалоговый бокс активируется при нажатии на кнопку Edit в Закладке Dynamics диалогового бокса Report Control Properties.

Как: Динамически форматировать Контролы Отчета

Параметры Текстовых Полей и других Объектов Отчета

Вы можете использовать следующие варианты параметров при форматировании текстовых Полей или других Объектов Отчета:

Condition Name (Имя Условия)

Определяет уникальный идентификатор Условия, которое определяет динамические характеристики Объекта Отчета. Condition Name - только для Чтения.

Apply when this condition is true (Используется при Условие = .T.)

Определяет Логическое выражение, которое будет определять Динамическое Форматирование рассматриваемого Контрола Отчета; при нажатии на кнопку (...) - многоточие открывается стандартный Диалоговый бокс Expression Builder (Построитель Отчетов)

Параметры Текстовых Полей Отчета

Только для Текстовых Полей могут быть использованы следующие Опции Форматирования:

Replace expression result with (Замена стандартного Значения Контрола Отчета)

Позволяет вам определить Пользовательское выражение или вычисляемую Функцию, которые будут "подменять" существующее значение Текстового Поля в процессе получения Отчета;при нажатии на кнопку (...) - многоточие открывается стандартный диалоговый бокс Expression Builder. При использовании инструментария: Replace expression result with вы сможете использовать дополнительные характеристики. Например, UPPER(table.field) or table.field + ": IMPORTANT".

Font (Шрифт)

Отображает Имя Шрифта, его Размер, Стилевое оформление, которые используются при форматировании Контрола Отчета при условии выполнения заданного Управляющего Условия (=.T.).При нажатии на кнопку (...) - многоточие открывается стандартный Диалоговый бокс Font , где вы можете выбрать Другое стилевое Оформление.

Use font script (Использование программного Шрифта)

Определяет специальную характеристику Шрифта при выборе Опции Script в диалоговом бокс Font. Опция Use font script - только для Чтения.

Strikethrough (Зачеркивание)

Определяет, что рассматриваемый Текстовый Элемент будет "Зачеркнут" при выполнении соответствующего Управляющего Условия (=.T.).

Underline (Подчеркивание)

Определяет, что рассматриваемый Текстовый Элемент будет "Подчеркнут" при выполнении соответствующего Управляющего Условия (=.T.).

Use default foreground (pen) color (Использовать стандартный Цвет Символов)

Определяет Цвет символов текстового элемента при выполнении соответствующего Управляющего Условия (=.T.). Если вы снимаете данную Отметку, то вы сможете определить новый Цвет символов с помощью диалогового бокса Color Picker.

Use default background (fill) color (Использовать стандартный Фон Символов)

Определяет Цвет Фона символов текстового элемента при выполнении соответствующего Управляющего Условия (=.T.). Если вы снимаете данную Отметку, то вы сможете определить новый Цвет Фона символов с помощью диалогового бокса Color Picker.

Backstyle - Opaque (фон - непрозрачный)

Определяет, что данный Контрол не является Прозрачным, другие контролы, находящиеся на заднем плане являются невидимыми (частично или полностью закрыты).

Backstyle - Transparent (Фон - Прозрачный)

Определяет, что контролы заднего плана становятся видимыми, текущий контрол является прозрачным.

Alpha - Pen (Уровень прозрачности Фона)

Определяет уровень "прозрачности" фона рассматриваемого Контрола. Значение =255 определяет Непрозрачный Фон. Установка значения =0 определяет полностью прозрачный Фон текстового Элемента.

Alpha - Fill

Определяет уровень прозрачности Заполняющего элемента Контрола. Значение =255 определяет Непрозрачный Фон. Установка значения =0 определяет полностью прозрачный Фон текстового Элемента.

Sample (Образец Форматирования)

Отображается образец текущего Форматирования текстового Элемента Отчета.

Параметры Графических Контролов Отчета

Следующие далее параметры используются исключительно для Графических Объектов Отчета.

Width expression (Выражение для Ширины)

Определяет Ширину рассматриваемого Контрола Отчета при выполнении Управляющего Условия (=.T.). По-Умолчанию, значение = -1 определяет размер (ширину) Контрола как она задана в Построителе Отчетов (Report Builder). Выражения Ширины и Высоты данного Контрола должны вычисляться в единицах измерения = 1/960 дюйма.

Height expression (Выражение для Высоты)

Определяет Высоту рассматриваемого Контрола Отчета при выполнении Управляющего Условия (=.T.). По-Умолчанию, значение = -1 определяет размер (высоту) Контрола как она задана в Построителе Отчетов (Report Builder). Выражения Ширины и Высоты данного Контрола должны вычисляться в единицах измерения = 1/960 дюйма.

Смотрите также

Другие ссылки

Операции в Построителе Выражений

© Microsoft Corporation. All rights reserved.


Document Properties Tab, Report Properties Dialog Box (Report Builder)

 Filter choices image
Закладка: Document Properties, Диалоговый бокс: Report Properties (Построитель Отчетов)
Смотрите Также

Рассматриваемая Закладка Document Properties позволяет вам Добавить, Изменить или Удалить Свойства документа в редактируемом Отчете. Указанные Свойства Документа включаются только в Отчеты типа HTML / XML. Данные Свойства представлены в виде Тэгов в соответствующих выходных документах Отчетов. Для подключения требуемых Свойств вы можете использовать представленный в Дистрибутиве ReportListener Base, фундаментальный класс.

Диалоговый бокс Report Properties (Свойства Отчета) может быть активирован при выборе опции Properties из системного меню Report или из соответствующего Контекстного Меню Дизайнера Отчета.

  • Как: Добавить Свойство Документа в Отчет

Properties (Свойства)

Список уже существующих Свойств Документа, привязанных к данному Отчету. Данный Список содержит также Значения представленных Свойств. При выделении конкретного Элемента данного Списка активируются командные кнопки Edit / Clear.

Edit (Изменить)

Активирует соответствующий Диалоговый бокс Expression Builder (Построителя Выражений) , с помощью которого вы сможете изменить Значение выбранного Свойства.

Add (Добавить)

Активирует Диалоговый бокс Add Property (Построитель Отчетов) , с помощью которого вы можете определить Новое Свойство Документа. С помощью представленного Инструментария вы сможете определить Имя Свойства, его Тип и соответствующее Значение.

Clear (Очистить)

Удаляется выбранное (выделенное) Свойство.

Стандартные Свойства

Далее представлены стандартные Свойства Документа, создаваемые в момент начального создания Отчета. Вы можете изменять значения этих свойств, удалять выбранные свойства или создавать новые.

Свойство: | Краткое Описание
Document.Title | Содержит значение Тэга <title> соответствующего элемента в файле HTML, или соответствующее значение внутреннего Тэга <Run> в файле XML. К примеру: <property id="Document.Title">My Report Title</property>.
Document.Author | Содержит значение Элемента <meta> в файле HTML. Например: <meta name="description" content="">, или значение внутреннего свойства <Run> в файле типа XML.
Document.Description | Содержит значение Элемента <meta> в файле HTML или значение внутреннего свойства <Run> в файле формата XML. Например: <meta name="description" content="my description">
Document.Keywords | Содержит значение Элемента <meta> в файле HTML или значение внутреннего свойства <Run> в файле формата XML. Например: <meta name="keywords" content="keyword1, keyword2">
Document.Copyright | Содержит значение Элемента <meta> в файле HTML или значение внутреннего свойства <Run> в файле формата XML. Например: <meta name="copyright" content="my copyright information">
Document.Date | Содержит значение Элемента <meta> в файле HTML или значение внутреннего свойства <Run> в файле формата XML. Например: <meta name="date" content="10/11/2007">
HTML.CSSFile | Значение атрибута с именем href в соответствующем Тэге <link> в подразделе <head> соответствующего файла HTML. Например: <link href="myStyleFile.css" rel="stylesheet" type="text/css">
HTML.Metatag.HTTP-EQUIV | Значение Тэга: <META HTTP-EQUIV="name" CONTENT="content">.
HTML.TextAreasOff | По-Умолчанию, многострочные текстовые фрагменты могут присутствовать в рассматриваемом файле формата HTML. В этом случае, если Текстовый элемент имеет достаточно большую длину, с помощью Скроллинга вы можете просмотреть весь Текстовый Элемент. Чтобы не использовать текстовые Области установите: HTML.TextAreasOff = .T.. Если данная опция уже установлена ( HTML.TextAreasOff = true), то текстовые элементы могут быть обрезаны в результирующем Документе Отчета.

Смотрите также

Описание

ReportListener Base, фундаментальный класс

© Microsoft Corporation. All rights reserved.


Advanced Tab, Report Control Properties Dialog Box (Report Builder)

 Filter choices image
Закладка: Advanced, в Диалоговом Боксе: Report Control Properties (Построитель Отчетов)
Смотрите Также

Рассматриваемая Закладка Advanced позволяет вам устанавливать, добавлять, изменять или удалять пользовательские Свойства Контролов редактируемого Отчета. Данный инструментарий позволяет также определять Повороты требуемых Контролов (объектов) отчета. Ведущий диалоговый бокс: Report Control Properties активируется при выборе опции Properties из соответствующего Контекстного меню требуемого Контрола Отчета, или при выполнении "double-click" для указанного контрола.

Properties (Список Свойств)

Список уже существующих Свойств, ассоциированных с рассматриваемым Контролом Отчета. Данный список содержит также значения этих свойств. При выборе конкретного Свойства в данном списке активируются (становятся доступными) командные кнопки Edit и Clear.

Edit (Изменить)

Активирует соответствующий Диалоговый бокс Expression Builder (Построитель Выражений) , где вы сможете отредактировать Значение выбранного Свойства.

Add (Добавить)

Активирует соответствующий Диалоговый бокс Add Property (Построитель Отчетов), где вы сможете добавить новое пользовательское Свойство рассматриваемого контрола. Данный диалоговый бокс позволяет вам определить Имя, Тип, Значение рассматриваемого Свойства.

Clear (Очистить)

Удаляет выбранное Свойство Контрола Отчета.

Angle (Угол поворота)

Обеспечивает выбор требуемого Угла Поворота, или выбрать расположение (ориентацию) для контрола типа Spinner.

Стандартные Свойства

В представленной далее таблице описаны стандартные Свойства, которые создаю.тся в момент добавления рассматриваемого контрола в Отчет. Вы можете изменять значения этих свойств, удалять или добавлять новые собственные пользовательские свойства для данного Контрола Отчета.

Свойства: | Краткое Описание
HTML.Link | При получении результатов Отчета в формате HTML, выполняется вычисление значения выражения, определенного в атрибуте с именем HREF, который закреплен за соответствующим Тэгом Anchor контрола.
HTML.Anchor | При получении результатов Отчета в формате HTML, выполняется вычисление значения выражения, определенного в атрибуте с именем Name, который ассоциирован с данным контролом.
HTML.Alt-Title | При получении результатов Отчета в формате HTML, выполняется вычисление значения выражения, определенного в атрибуте с именемTitle, который размещен в элементе <div>.
HTML.CSSClass.OverrideFRX | При получении результатов Отчета в формате HTML, системное приложение ReportOutput.App создает соответствующие классы типа CSS по стилям, соответствующим каждому элементу Отчета. Если вы установите значение свойству HTML.CSSFile в Закладке: Document Properties, Диалогового бокса: Report Properties (Построитель Отчетов) с помощью порождаемого диалогового бокса: Report Builder Properties, где задается требуемый файл CSS, тогда вы сможете использовать свойство: HTML.CSSClass.OverrideFRX. В этом случае заданный Класс стиля заменяет стандартный Стиль, созданный Построителем Отчетов.
HTML.CSSClass.ExtendFRX | Если вы определяете значение свойства HTML.CSSFile как пользовательский файл Стиля CSS, тогда вы можете добавлять или изменять стилевые характеристики Контрола, созданные Построителем Отчета.
HTML.PrintablePageLink | При построении результатов Отчетов типа HTML, система создает графические файлы для каждого Листа Отчета. Это происходит в тех случаях, когда графическое изображение максимально приближено к оригинальным страницам в формате: HTML. Установка этого свойства = .T. определяет подмену рассматриваемого Контрола как соответствующую Гиперссылку на изображение этого Объекта.
ListenerRef.NoRenderWhen | Если установлено значение этого свойства = .T., то печатная Страница не будет содержать рассматриваемый Контрол.
ListenerRef.Preprocess.NoRenderWhen | Если установлено значение этого свойства = .T., то печатная страница Отчета не будет содержать рассматриваемый Контрол при первом проходе данного Отчета (при многократном вычислении страниц Отчета).

Вращение Обьектов

Механизм Вращения Объектов Отчета обеспечивает поворот Контрола в диапазоне: от 0 - до 360. Точка центра Вращения контрола - есть левый верхний угол контрола. Для выполнения требуемого Поворота Контрола вы можете использовать или область предварительного просмотра Контрола, или непосредственно определить угол поворота с помощью соответствующего управляющего элемента "Angle spinner".

Смотрите также

Задачи

Как: Создавать результирующие Документы Отчетов

Описание

Диалоговый бокс: Expression Builder (Построитель Выражений)

Другие ссылки

Управление Контролами в Отчетах

© Microsoft Corporation. All rights reserved.


Dynamics Tab, Report Control Properties Dialog Box (Report Builder)

 Filter choices image
Закладка: Dynamics, Диалоговый бокс: Report Control Properties (Построитель Отчетов)
Смотрите Также

Позволяет вам определить одно или несколько Выражений, которые при выполнении Отчета изменяют отображение содержащихся Контролов. Содержащий данную Закладку Диалоговый бокс Report Control Properties активируется при выборе вами опции Properties из соответствующего Контекстного Меню рассматриваемого в данный момент Контрола Отчета.

  • Как: Динамически (при выполнении) форматировать Контролы Отчета

Condition List (Список Выражений (Условий))

Содержит список Условий динамических Стилей, размещенных в том порядке, как они будут вычисляться при выполнении Отчета. Для изменения порядка размещения указанных Условий вам рекомендуется использовать представленный стандартный Элемент перемещения конкретного Компонента в Списке.

Note Обратите Внимание

Если вы изменили порядок размещения Условий Форматирования в данном Списке, то при использовании Диалогового бокса: Dynamic Script Preview (Построитель Отчетов) вы не получите ожидаемого вами изменения вычисления Условий Форматирования до момента Сохранения внесенных корректировок и закрытия диалогового бокса Field Properties.
Add (Добавить)

Кнопка Активирует диалоговый бокс Add Dynamic Style Condition (Добавить Условие Динамического Стиля), где можно добавить новое Условие Форматирования Элементов Отчета. Когда вы определите Имя создаваемого Условия и нажмете кнопку OK, то активируется следующий Диалоговый бокс Configure Dynamic Properties (Построитель Отчетов) , где уже определяется вычисляемое Условие Форматирования Контрола Отчета; который изменяет свое начертание (форматирование) при вычислении введенного Условного Выражение = .T.

Edit (Изменить)

Активирует аналогичный (смотрите выше) Диалоговый бокс Configure Dynamic Properties (Построитель Отчетов), где вы можете изменить уже существующее Условие Форматирования, которое выделено в Списке в настоящий момент.

Remove (Исключить)

Позволяет Исключить выделенный Элемент из списка Условий Форматирования.

Script (Программный Код)

Кнопка активирует соответствующий Диалоговый бокс Dynamic Script Preview (Построитель Отчетов), где вы можете просмотреть представленный фрагмент Программного Кода, которые определяет динамический Стиль при выполнении корректируемого Отчета. Вы не можете редактировать представленный фрагмент программного Кода в данном Диалоговом Боксе, вы можете только копировать этот фрагмент и использовать его в своей пользовательской функции для других целей.

Смотрите также

Описание

Диалоговый бокс: Report Control Properties (Построитель Отчетов)

Другие ссылки

Управление Контролами в Отчетах
Диалоговый бокс: Add Dynamic Style Condition (Построитель Отчетов)

© Microsoft Corporation. All rights reserved.


Other Tab, Report Properties Dialog Box (Report Builder)

 Filter choices image
Закладка "Other", прочее, Диалоговый бокс "Report Properties" (Построитель Отчетов)
Смотрите Также

Рассматриваемый Диалоговый бокс позволяет вам добавить Комментарий, другие специальные данные Пользователя, фрагменты Программного Кода, которые могут быть использованы при выполнении рассматриваемого Отчета в соответствующем Дизайнере Отчетов или Этикеток.

Диалоговый бокс Report Properties активируется при выборе подпункта <Properties> из системного, контекстного меню <Report>.

Edit comment (Изменение Комментария)

Открывается Диалоговый бокс Comment, где вы сможете определить текст требуемого Комментария к данному Отчету.

Note Обратите Внимание

Система сохраняет указанный текст Комментария в соответствующем memo-поле COMMENTS таблицы Отчета. По-Умолчанию, указанное поле не используется при формировании результатов Отчета. Однако, системный класс ReportListener может использовать содержание указанного поля COMMENTS.
Edit user data (Редактирование Данных Пользователя)

Открывается Диалоговый бокс User data, где вы можете разместить требуемые данные в соответствующем Поле, которые могут потребоваться в Отчете.

Note Обратите Внимание

Рассматриваемые "Данные Пользователя" не могут быть изменены, если текущий Отчет открывается в Защищенном режиме (protected mode).
Note Обратите Внимание

Система сохраняет рассматриваемые Данные Пользователя в memo-поле USER соответствующей таблицы От чета. По-умолчанию, указанное полене используется при формировании результатов Отчета. Однако, системный класс ReportListener может использовать содержание указанного поля USER.
Edit settings (Изменение Настроек)

Открывается Диалоговый бокс Run-time extensions, где вы сможете определить и изменить необходимые характеристики Программного Кода, относящиеся к Контролам рассматриваемого Отчета. Присутствующие Комментарии объясняют, как используются представленные Фрагменты Программного Кода, размещенные в данном поле таблицы Отчета.

Смотрите также

Описание

Run-time Extensions, диалоговый бокс (Построитель Отчетов)
Report Control Properties, диалоговый бокс (Построитель Отчетов)

Другие ссылки

Фундаментальные классы ReportListener

© Microsoft Corporation. All rights reserved.


How to: Dynamically Format Report Controls

Как: Динамически Форматировать Контролы Отчетов
Смотрите также

В процессе разработки Отчета, вы можете определить дополнительные Свойства Отображения Контролов в этом Отчете. Указанные дополнительные Характеристики определяют, как Контролы Отчета будут выполнены в Отчетном Документе. Например, вы можете определить Цвет символов, тип и размер Шрифта. Помимо перечисленных специальных характеристик текстовых Элементов Отчета, вы можете задать динамические условия отображения Контролов при получении Отчета; при вычислении заданных Условий = .T., контролы отображаются в одном Виде, а при вычислении Условий =.F., - контролы отображаются в другом Виде.

Для добавления динамических параметров форматирования Контрола Отчета:

  1. Выполните "Right-click" для некоторого Контрола Отчета (например, Поля Таблицы Данных) при активном окне Дизайнера Отчетов (Report Builder), из контекстного Меню выберите подпункт Properties (Свойства).

  2. Далее: активируйте Закладку Dynamics.

  3. Нажмите кнопку Add, открывается Диалоговый бокс: Add Dynamic Style Condition (Построитель Отчетов).

  4. Введите Имя создаваемого Условия Форматирования, нажмите кнопку OK.

    Заданное вами Имя условия форматирования добавляется в соответствующий Список Условий.

  5. Далее, активируется Диалоговый бокс Configure Dynamic Properties (Построитель Отчетов), где создается непосредственное Условие Форматирования, в соответствующем боксе: Apply when this condition is true.

    Определяемое Условное Выражение должно принимать значения = .T. / .F. value. Например, orders.requiredate < DATE() или orderdetail.quantity > 5.

  6. Если вам требуется изменить фрагмент Условного выражения, то рекомендуется новые данные вводить в бокс редактирования, обозначенный как Replace expression result with.

    Например, Если вашим управляющим полем данных является: orders.requiredate, а условное выражение есть: orders.requiredate < DATE(), вы можете выполнить следующую адекватную Замену: DTOC(orders.requiredate) + " LATE ORDER", которое будет вычисляться при выполнении Отчета.

  7. Дополнительно, вы сможете уточнить характеристику Font (Шрифт), которая определяет специальный Шрифт отображения данного Элемента Отчета.

    В соответствующей области диалогового бокса: Sample (Образец) отображается пример Форматирования Элемента Отчета при вычислении Условия = .T.

  8. Дополнительно, вы можете уточнить характеристику Color (Цвет), для соответствующего Форматирования Текста Отчета.

    Для установки собственных настроек форматирования Элементов Отчета вам нужно Снять значения Переключателей: Use default foreground (pen) color / Use default background (fill) color (Стандартные Значения Окраски Текстовых Элементов) .

  9. Дополнительно, вы можете определить характеристики: Прозрачность и признак Alpha.

  10. Нажмите Кнопку Ok, выполняется возврат в Закладку: Dynamics.

    Если планируете создать несколько Условных Выражений динамического Форматирования, то вы можете также управлять порядком размещения и вычисления упомянутых условных выражений; для изменения порядка размещения Условных Выражений используются стандартные Элементы Управления перемещением Элементов в Списке.

Для добавления динамического изменения размеров объекта в Отчете:

  1. Выполните "Right-click" для требуемого Объекта Отчета (например, Прямоугольника или контрола OLE),при активном системном окне Построителя Отчетов (Report Builder), выберите соответствующую опцию Properties (Свойства) из Контекстного Меню.

  2. Активируйте Закладку: Dynamics.

  3. Нажмите кнопку Add, активируется соответствующий Диалоговый бокс: Add Dynamic Style Condition (Добавление Условия Динамического Стиля).

  4. Введите имя создаваемого Условия и нажмите кнопку Ok.

    Введенное имя нового Условного выражения появляется в соответствующем Списке имен условных выражений Форматирования.

  5. Далее, активируется Диалоговый бокс: Configure Dynamic Properties, где в соответствующей области редактирования: Apply when this condition is true вводится требуемое Условное выражение Динамического Форматирования.

    Определяемое условное выражение должно вычисляться как = .T. / .F. .

  6. Для базовых характеристик: Height или Widthрассматриваемого Контрола введите значение = -1, по-умолчанию, данное значение сохраняет величины указанных Свойств, которые были определенных изначально Построителем Отчетов (Report Builder). Введите значение = 1/960 дюйма, для изменения размеров Контрола при вычислении условного выражения = .T.

    Например, при задании значений Width = 960 и Height = 960, ваш объект отчета печатается как 1-дюймовый Квадрат.

  7. Нажмите кнопку Ok - для возврата в Закладку Dynamics. Если планируете создать несколько Условных Выражений динамического Форматирования, то вы можете также управлять порядком размещения и вычисления упомянутых условных выражений; для изменения порядка размещения Условных Выражений используются стандартные Элементы Управления перемещением Элементов в Списке.

Смотрите также

Другие ссылки

Диалоговый бокс: Add Dynamic Style Condition (Построитель Отчетов)
Диалоговый Бокс: Configure Dynamic Properties (Построитель Отчетов)

© Microsoft Corporation. All rights reserved.


How to: Add Document Properties to a Report

Как: Добавить Свойство Документа в Отчете
Смотрите также

Свойства Документа в Отчете позволяют вам включать дополнительный функционал при выполнении ваших Отчетов. Свойства Документа включают дополнительные элементы и атрибуты, которые характерны для отчетов в формате XML или HTML. При обработке указанных типов Отчетов вы можете использовать весь функционал стандартного класса ReportListener, его Методы и События для дополнительной обработки стандартных Свойств указанного базового Класса. К тому же, вы можете спланировать последующую обработку соответствующих файлов в форматах HTML или XML.

Дополнительную информацию о создании перечисленных выше Типов Отчетов (output XML / HTML) смотрите в разделе: ReportListener, фундаментальный класс.

Свойства Документа в файлах типа XML.

В отчетах типа XML Свойства Документа, например <property> оформляются как дочерние компоненты в существующем элементе <Run>. Например, если вы определяете такое свойство как: Document.Title, для которого определено значение: "Инвентарный Отчет", а также Свойство Документа: Document.Authorсо значением: "Петр Васильев", в результирующем файле формата XML указанные Свойства будут представлены в следующем виде:

CopyCode image Копировать Код
<Run>
<property id="Document.Title">Инвентарный Отчет</property>
<property id="Document.Author">Петр Васильев</property>
</Run>
Свойства Документа в файлах типа HTML.

В результирующих файлах формата HTML Свойства Документа представляются в виде стандартных Тэгов, используемых при форматировании форматов типа HTML. Если для Свойства не определен требуемый Тэг для хранения пользовательских данных текущего стандарта HTML, то используется стандартный Тэг с именем <meta>, который является подчиненной компонентов Тэга <head>. Например, для заданных пользовательских Свойств Документа Document.Title, со значением: "Инвентарный Отчет", а также, и соответственно: Document.Author значение = "Петр Васильев", в файле HTML будет представлена следующая Информация:

CopyCode image Копировать Код
<head>
<title> Инвентарный Отчет </title>
<meta name="author" content="Петр Васильев">
</head>

Для изменения стандартного значения Свойства в Отчете:

  1. В системном меню Report, выберите подпункт Properties.

  2. В активированном диалоговом боксе Report Properties (Свойства Отчета), активируйте Закладку Document Properties (Свойства Документа).

  3. Из Списка уже существующих Свойств Документа выберите требуемое Свойство (которое требуется изменить).

  4. Нажмите кнопку Edit (Изменить), активируется Диалоговый бокс Expression Builder (Построитель Выражений).

  5. Определите требуемое выражение, которое будет вычисляться при выполнении Отчета, нажмите кнопку OK.

    Введенное выражение будет сохранено для выбранного Свойства Документа.

    В качестве выражения может быть обычное, регулярное выражение Visual FoxPro или пользовательская функция (например, DATETIME()). Дополнительную информацию о стандартных значениях Свойств Отчета смотрите в разделе: Закладка Document Properties, диалоговый бокс Report Properties (Построитель Отчетов).

Для добавления пользовательского Свойства в Отчет:

  1. В системном меню Report, выберите подпункт Properties.

  2. В активированном Диалоговом боксе Report Properties (Свойства Отчета), активируйте Закладку Document Properties (Свойства Документа).

  3. Нажмите кнопку Add - для активации Add Property, диалогового бокса (Построитель Отчетов).

  4. Выберите Тип требуемого нового Свойства, определите значения полей Имя и Значение (Name и Value ).

    Командная кнопка Многоточие (...) позволяет ввести требуемое значение для поля Value с помощью диалогового бокса Expression Builder (Построитель Выражений). Описание возможных Типов создаваемых Свойств Документа смотрите в разделе: Add Property, диалоговый бокс (Построитель Отчетов).

Для удаления Свойства из Отчета:

  • Выберите в списке требуемое Свойство и нажмите командную кнопку Clear (Чистить).

Note Обратите Внимание

При нажатии на кнопку Clear выбранное Свойство удаляется полностью, и Имя и Значение. Если вам требуется очистить только Значение Свойства - воспользуйтесь кнопкой Edit (Изменить) и удалите значение с помощью диалогового бокса Expression Builder (Построитель Выражений).

Смотрите также

Описание

Руководство по Расширениям в Отчетах

Другие ссылки

ReportListener, фундаментальный класс

© Microsoft Corporation. All rights reserved.


ReportListener FXListener Foundation Class

 Filter choices image
ReportListener FXListener, фундаментальный класс
Смотрите также
CollapseAll image

Представленный класс FXListener обеспечивает изменение характеристик отображения Контролов (элементов и объектов) во время представленного Отчета. Вы можете использовать два члена представленной Коллекции: FX (коррекция содержания и инструкций форматирования) и GFX (коррекция или замена графических компонент типа GDIPlus), которые обеспечивают широкие возможности при Построении Отчетов.

Категория | Значение, по-умолчанию
Подкаталог Размещения | Visual FoxPro Catalog\Foundation Classes\Output\Report Listeners
Класс | FXListener
Базовый Класс | ReportListener
Библиотека Классов | _REPORTLISTENER.vcx
Порождающий класс | _ReportListener, смотрите раздел: (ReportListener, базовый фундаментальный класс)

Expand image Комментарии

Вероятнее всего, вы не будете непосредственно использовать представленный Класс. Для практических целей обычно используется адаптированный, порождаемый класс типа HtmlListener.

Для эффективного использования инструментария представленного Класса FXListener's вам необходимо создать копии соответствующих Объектов FX / GFX.

Note Обратите Внимание

Представленный класс fxAbstract из библиотеки _REPORTLISTENER.vcx образец создания программного интерфейса с требуемыми классами FX / GFX, к их функциональному аппарату.

Каждый объект типа FX / GFX должен обеспечивать следующий Программный Интерфейс для приема необходимых параметров:

CopyCode image Копировать Код
PROCEDURE ApplyFX(toListener, tcMethodToken,tP1, tP2, tP3, tP4, tP5, tP6, tP7, tP8, tP9, tP10, tP11, tP12).
toListener

Ссылка на соответствующий объект типа Listener.

tcMethodToken

Имя одного из следующих Событий управляющего Отчетом объекта Listener, которое должно быть выполнено: (AdjustObjectSize, AfterBand, AfterReport, BeforeBand, BeforeReport, Destroy, Error, EvaluateContents, Init, LoadReport, or UnloadReport).

Параметры: tP1 - tP12

Список возможных параметров, которые должны быть переданы в соответствующее Событие. Например, для события BeforeBand требуется передача двух параметров: nBandObjCode и nFRXRecNo. Если параметр tcMethodToken = "BeforeBand," то, соответственно: tP1 = nBandObjCode и tP2 = nFRXRecNo.

Вы можете использовать стандартный метод представленного FXListener's-объекта AddCollectionMember, который обеспечивает добавление специфических объектов типа FX / GFX в ваш управляющий объект Report Listener. Например, далее представлен фрагмент программного Кода из события Init, создаваемого объекта типа htmllistener, в котором добавляется соответствующий объект типа FX.

CopyCode image Копировать Код
THIS.AddCollectionMember("myFX", "myClassLibrary.vcx")
DODEFAULT( )

Для каждого события управляющего объекта report listener, FXListener вызывает соответствующий метод sendFX( ), в котором вызывается метод ApplyFX( ) уже в объектах FX / GFX из соответствующей Коллекции. Вы можете использовать стандартные конструкции IF...ENDIF или ветвления CASE для организации дополнительных проверок событий Report Listener, в целях выполнения необходимых Действий над контролами Отчетов. Например, в следующем фрагменте программного Кода: в методе ApplyFX соответствующего объекта FX обеспечивается преобразование текста в верхний регистр объекта Отчета.

CopyCode image Копировать Код
LPARAMETERS toListener, tcMethodToken,tP1, tP2, tP3, tP4, tP5, tP6, tP7, tP8, tP9, tP10, tP11, tP12
IF tcMethodToken == "RENDER"
 IF tP1 == 11
 * nFRXRecno is Render's 1st param (tP1) and 11 refers to
 * the record in the FRX of a particular control on the report
 tP7 = UPPER(tP7)
 * cContentsToBeRendered is Render's 7th param
 ENDIF
ENDIF
Note Обратите Внимание

Существующие в указанной выше библиотеке классов подклассы от порождающего fxAbstract (fxmemberdatascript, fxresetpagetotal, gfxexample, gfxnorender, gfxrotate) обеспечивают разнообразные варианты использования объектов типа FX / GFX, с рассматриваемым классом типа FXListener.

В представленной далее Таблице приводится описание публичных (открытых) Свойств и Методов, которые добавлены в порождающий класс _ReportListener для обеспечения функциональности рассматриваемого класса FXListener.

Свойства и Методы Краткое Описание

AddCollectionMember, метод

Добавляет элемент в коллекцию FX / GFX. Для данного метода требуется передавать следующие параметры: tcClass, tcClassLib, tcModule, tlSingleton, tlInGFX, tlRequired.

CancelRequested, свойство

Флаг Уведомления для объектов типа FX, о прерывании (или Завершении) Отчета.

CheckCollectionForSpecifiedMember, метод

Выполняет проверку наличия элементов коллекций FX / GFX по соответствующим именам классов и имен библиотек. Возвращает = .F., если класс отсутствует, или ссылку на существующий Объект.

ClassPath, свойство

Определяет полный путь к внешней Библиотеке, из которой загружаются требуемые Объекты.

FFCGraphics, свойство

Содержит ссылку на созданный при выполнении объект FFCGraphic. Эти объекты обеспечиваются соответствующей коллекцией GFXs. Данный инструментарий обеспечивается классами GpGraphics из коллекции фундаментальных классов FoxPro (FFC) _GDIPLUS.VCX, или из аналогичных классов типа GpGraphics.

FRXCursor, свойство

Содержит ссылку на вспомогательный объект типа FRXCursor, который используется для облегчения выполнения необходимых вычислений соответствующих данных выполняемого Отчета FRX: metadata, structure, memberdata.

FXFeedBackClass, свойство

Имя Класса, соответствующего коллекции FX, которая обеспечивает интерфейс с конечным пользователем (по-умолчанию, как fxTherm).

FXFeedbackClassLib, свойство

Имя библиотеки Классов, которая содержит описанный выше Класс

FXFeedbackModule, свойство

Имя Приложения (APP / EXE), на основе которого создана Коллекция объектов FX, обеспечивающих интерфейс с конечным пользователем.

FXMemberDataScriptClass, свойство

Имя класса из Коллекции FX, выполняющего соответствующую обработку

memberdata-based script handling (по-умолчанию, имеет значение fxMemberDataScript).

FXMemberDataScriptClassLib, свойство

Имя Библиотеки Классов, содержащей указанный выше класс.

FXMemberDataScriptModule, свойство

Application module (APP or EXE) from which to instantiate the FX collection object that provides memberdata-based script-handling.

FXs, свойство

Коллекция объектов типа FX. Каждый объект должен обеспечивать следующий программный интерфейс:

PROCEDURE ApplyFX(toListener, tcMethodToken,tP1, tP2, tP3, tP4, tP5, tP6, tP7, tP8, tP9, tP10, tP11, tP12).

Возвращаемое значение этой процедуры игнорируется.

getFRXRecno, метод

Определяет (вычисляет) текущий номер записи в соответствующем Курсоре FRX на основании получаемых или принимаемых из / в события управляющего объекта ReportListener.

getPathForExternals, метод

Вычисляет полный путь подкаталога текущей конфигурационной Таблицы и других внешних файлов, которые используются при выполнении Отчета.

GFXNoRenderClass, свойство

Содержит имя Класса в коллекции GFX, который выполняет специфическое форматирование различных Контролов Отчета. По-умолчанию, установлено в значение gfxNoRender если представлена пустое условие дополнительного форматирования Контролов.

GFXNoRenderClassLib, свойство

Содержит полное имя библиотеки классов, содержащей описанный выше класс дополнительного форматирования.

GFXNoRenderModule, свойство

Содержит имя Приложения (APP / EXE), которое содержит рассматриваемый выше класс из коллекции GFX.

GFXRotateClass, свойство

Имя класса в коллекции GFX, обеспечивающего возможности Поворота Контролов Отчета. По-умолчанию, имеет значение = gfxRotate.

GFXRotateClassLib, свойство

Имя Библиотеки Классов, содержащей определение описанного выше Класса Поворота Контролов из коллекции GFX.

GFXRotateModule, свойство

Имя внешнего Приложения (APP / EXE), содержащего описанный выше класс Поворота Контролов из коллекции GFX.

GFXs, свойство

Коллекция объектов типа GFX. Каждый из объектов данной коллекции должен поддерживать следующий программный Интерфейс:

PROCEDURE ApplyFX(toListener, tcMethodToken,P1, tP2, tP3, tP4, tP5, tP6, tP7, tP8, tP9, tP10, tP11, tP12)

Метод Render "сбрасывает" значение, возвращаемое данной процедурой.

loadFrxCursor, свойство

Определяет, как представленный класс динамически обрабатывает вспомогательный Курсор представленного класса, если выполняется попытка обращения к указанному вспомогательному Курсору FRXCursor.

MemberDataAlias, свойство

Содержит Имя алиаса Курсора, содержащего данные из memberdata в текущей сессии данных FRXDataSession. С помощью данного имени алиаса выполняется обращение к таблице Стилей FRX различных объектов Отчета.

removeCollectionMember, метод

Обеспечивает исключение из обработки указанных объектов типа FX / GFX из соответствующих коллекций объекта FXListener, либо по ссылке либо по уникальному имени.

reportStartRunDatetime, свойство

Содержит значение Даты-Времени начала выполнения рассматриваемого Отчета. Данное свойство используется при отслеживании процесса выполнения этого Отчета. Это свойство ориентировано на уникальное имя процесса выполнения Отчета, для идентификации. Только для Чтения.

reportStopRunDatetime, свойство

Содержит значение Даты-Времени завершения процесса выполнения рассматриваемого Отчета. Только для Чтения.

RunCollectorResetLevel, свойство

Определяет, как соответствующий объект runCollector очищает используемые функциональные Объекты при завершении выполнения Отчета (0=никогда, 1=после каждого Отчета, 2=после выполнения Отчетов второй раз (повторно).

Expand image Смотрите также

Описание

ReportListener, базовый фундаментальный класс

Концепции

Использование подсистемы GDI+ в Отчетах

© Microsoft Corporation. All rights reserved.


Topic by Russian FoxPro Club

Russian FoxPro Club
Часто задаваемые вопросы. Подготовлено Владимиром Максимовым
Смотри дополнительно

Категория - программы

Как определить директорию, из которой запущена готовая программа (файл EXE)?

В общем случае, этого сделать невозможно! Есть масса способов "сбить с толку" любые команды и функции. Однако все-таки есть ряд функций, которые могут решить подобную проблему при определенных условиях. Надо всегда помнить, что эти функции не абсолютны. Имеют ограничения.

Скопировать код
* Путь доступа к первой запущенной программе (главному файлу проекта)
  JustPath(SYS(16,0))

* Путь доступа к текущей директории
  FullPath("") - пустая строка (две кавычки подряд) - обязательны
  SYS(5)+SYS(2003)
  SET("DEFAULT")+CURDIR()
  _VFP.DefaultFilePath

Смотри также

Статьи Русского FoxClub'а

Ответы на часто задаваемые вопросы от Владимира Максимова (обзор)

Прочие ресурсы

Решения Русского FoxClub'а
Русскоязычные ресурсы в Интернет

© Russian FoxPro Club. All rights reserved.


Topic by Russian FoxPro Club

Russian FoxPro Club
Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro I.
Смотри дополнительно

Одним из вопросом, который явно появляется слишком часто, является вопрос о том, как управлять некоторыми из многих раздражающих аспектов в движке Visual FoxPro IntelliSense. IntelliSense был впервые представлен миру разработчиков в Microsoft Visual Basic 5.0 и впоследствии был внедрен в виде неотъемлемого инструмента повышения производительности разработчика во многие языкиъ программирования. Его реализация в Visual FoxPro, которая впервые была представления в версии 7.0, является уникальной в том смысле, что его возможности представлены в виде открытой архитектуры, что позволяет разработчикам настраивать и расширять встроенные возможности. Поскольку обсуждение полных возможностей остается за рамками небольшой статьи в блоге, я надеюсь, что следующая информация о конфигурировании IntelliSense будет полезной многим

_VFP.EditorOptions

Базовая функциональность IntelliSense управляется посредством свойства EditorOptions объекта VFP Application (к которому можно непосредственно обращаться с помощью системной переменной _VFP). Значением по умолчанию для этого свойства является "LQKT", хотя реально во всех версиях движка IntelliSense реализованый пять основных функциональных возможностей, а шестая была добавлена в Visual FoxPro версии 9.0. Они перечислены ниже:

Пронумерованный список

  1. Гиперссылки (“K or k”).

    Определяет, как будут активироваться гиперссылки. Установка в "k"” требует простого щелчка по левой клавише мыши, тогда как установка в "K", требует, чтобы использовалось сочетание CTRL+Click - которое используется по умолчанию во многих приложенихЮ созданных для платформы Windows (например, MS Office Word). Если не указан ни тот, ни другой символы, гиперссылки рассматриваются как нормальный текст в окне релактирования или командном окне.

  2. Перетаскивание слов -Drag and Drop (“W”).

    Когда эта установка определена, текст может быть перемещен в позицию, следующую непосредственно за пробелом. Предохраняет от небрежной вставки в уже существующий текст, когда используется перетаскивание в окне редактирования или командном окне. Это поведение по умолчанию установлено в "disabled", то есть запрещено.

  3. Советы дизайнеру касательно значения (Designer Value Tips) ("T").

    Эта установка управляет тем, что будут ли элементы, отображаемые в списках показывать связанные с ними полоски советов "tool tips". По умолчанию, они показываются, когда вы перемещаетесь по списке членов.

  4. Список членов ("L" или "l").

    Эта установка определяет будут ли и когда будут отображаться списки членов. По умолчанию, списки отображаются автоматически, если установка выставлена в "L". Когда же она выставлена в "l", то списки появятся только тогда, когда будет нажато сочетание клавиш CTRL+J (или в случае, когда в главном меню Visual Foxpro в "Edit" будет выбрано "List Members".

  5. Быстрая информация (Quick Info) ("Q" или "q").

    Эта установка определяет - будут ли и когда будут отображаться различные типы быстрой информации. По умолчанию, такая информация отображается автоматически, то есть установка выставлена в "Q". Если вы выставите установку в "q", то такая информация появится только в том случае, когда будет нажато сочетание CTRL+I или когда из меню "Edit", главного меню Visual FoxPro будет выбран пункт "Quick Info".

  6. Копирование текста с форматированием (Rich Text Copy) ("X")

    Эта установка была введена в VFP версии 9.0 и предназначения для подавления функциональной возможности копирования текста в буфер с использованием формата rich text. По умолчанию она опущена, так что весь текст копируется в буфер в формате rich text. Это означает, что когда вы вставляете скопированный текст в другое приложение (например в E-Mail сообщение или в документ) он сохраняет расцветку синтаксиса и установки, которые вы определили ддя редактора VFP. Если вы включите установку "X" в строку EditorOptions, убедитесь, что текст копируется как обычный плоский текст – это полезно, когда вы создаете документацию или прочие материалы, которые должны правильно печататься в черном и белом цветах.

Важно отметить здесь, что опции в нижнем регистре - для списка членов (List Members) и быстрой информации (Quick Info) будучи установленными по умолчанию для свойств редактора не запретят IntelliSense, а лишь предовратят их автоматическое отображение.

Поэтому, если вас постоянно раздражает появление больших желтых микроокон, которые прячут за собой вашу работу когда вы печатает простые команды запросов или Browse, просто установите вместо "Q" в строке установок редактора этот же символ в нижнем регистре - "q". Это остановит автоматическое всплывание быстрой информации, но если вы вдруг все-таки пожелаете ее увидеть, просто нажмите CTRL+I, в любом месте команды, что немедленно предоставит вам эти желтые, надоедливые окна с быстрой информацией. (Но отметьте, что такое действие, кроме того, запретит список команд/параметров когда вы, к примеру, печатаете SET или USE).

По аналогии с предыдущим абзацем, если вы вдруг решите, что постоянно всплывающие микрооконца со списком свойств, событий и методов объекта, вас надоели, просто переведите заглавную "L" в нижний регистр - "l" в строке опций редактора. Тогда вы сможете продолжать печатать ваши объектные ссылки самостоятельно, но в любой момент, когда они вам вдруг потребуются, просто нажмите CTRL+J.

Запись CustomPEMs в таблице FoxCode.dbf

В дополнение к свойству EditorOptions, используемому для установки опций редактора, в таблице FoxCode имеется специальная запись, которая хранит установки для ряда дополнительных конфигурационных свойств. К ним можно обращаться на закладке Advanced (Дополнительное) диалогового окна IntelliSense Manager (Диспетчер IntelliSense) или непосредственно открыв таблицу FoxCode.DBF и выдав команду:

Скопировать код
LOCATE FOR TYPE = "Z" AND ABBREV = "CustomPEMs"

Число свойств зависит от версии Visual FoxPro, которую вы используете. В VFP 7.0 было 6 (одно из которых никогда не появлялось в документации), и VFP 8 было добавлено еще два. В приведенной ниже таблице перечислены эти свойства и описывается - чем они занимаются:

Свойство Назначение
lEnableFullSetDisplay
Default = .T. 		Множество команд SET имеют в составе своего синтаксиса модификатор "TO". Это свойство определяет, будет ли этот "TO" включен как часть команды, авторасширяемой с помощью IntelliSense. Значением по умолчанию установлено True, но мы предпочитаем выключить эту возможность. Причиной этому служит то, что если вы сами напечатали всю команду, IntelliSense упрямо будет добавлять "TO" в результат, что может привести к ошибке, такой, как показано в следующей строке:
SET INDEX TO TO names
lHideScriptErrors
Default = .F. 		В соответствии со справкой это свойство "подавляет экранный вывод ошибок скриптов IntelliSense". По умолчанию оно установлено в False. На самом деле, это свойство является другой установкой, которая воздейсвует только на скрипты, которые используют локальный экземлпяр класса FoxCodeScript. Этот класс определяет отображение ошибки пользователя и оно служит для упавления поведением - будет ли такое отображение позволено или нет.
Если же случилась ошибка любого другого типа скрипта, вы получите либо стандартное соответсвующее сообщение об ошибке (если это в принципе возможно) или простой диалог с текстом "FoxCode Script Failure" вне зависимости от установки этого свойства.
lKeyWordCapitalization
Default = .T. 		Управляет авторасширением и выделением заглавными буквами подчиненных частей команд. По умолчанию установлено в True. Используется в методе ReplaceKeyWord() программы foxcode.prg.
Замечание:

Это определяет выделение заглавными буквами, когда вы реально печатаете полную команду (например. CLEAR ALL). Для автоматически вставляемых команд выделение заглавными буквами происходит по их индивидуальным правилам!.
lPropertyValueEditors
Default = .T. 		В соответствии со справкой это свойство "Разрешает скрипты, которые переключают значение редакторов для определенных свойств". По умолчанию установлено в True. На самом деле, это свойство определяет - будут ли исполнятся скрипты, определенные в таблице foxcode.dbf для записей с Type = "P". Оно не оказывает влияния на любые стандартные значения списков, которые определены для свойств, которые продолжают отображатся вне зависимости от установки этого свойства.
lExpandCOperators
Default = .T. 		Позволяет "C-стильное" авторасширение для операторов плюс и минус:
"lcVar ++" и "lcVar --" расширяются как "lcVar = lcVar + 1" и "lcVar = lcVar –1"
Но в отличе от C, VFP IntelliSense, кроме того, позволяет нам использовать "=" с любым арифметическим оператором для автоматического дополнения строки. Так,
"lcVar +=" становится "lcVar = lcVar + " и "lcVar *=" становится "lcVar = lcVar *"
lAllowCustomDefScripts
Default = .T. 		Это свойство недокументировано в VFP 7.0. Метод FoxCodeScript.DefaultScript() (который представляет собой метод, вызываемый повсюду, где IntelliSense встречает пробел) использует это свойство для определения будет или нет вызываться метод с именем HandleCustomScripts() ловушки (хука).
Если вы не намереваетесь использовать свои собственные скрипты для изменения поведения по умолчанию, вы должны установить это свойства в False, потому что скрипты, используемые по умолчанию, вызываются каждый раз, когда вы печатаете пробел в окне редактирования.
lEnableMultiWordCmdExpansion
Default = .T.
Используется в версиях VFP 8.0 и выше 		Определяет - будут ли автоматически дополняться множественные части команды. По умолчанию установлено в .T. и при установленнов в .F. команды, наподобие INDEX ON должны быть напечатаны полностью.
Отметьте, что установка этого свойства в .F., кроме того, запрещает выделение заглавными буквами последующих ключевых слов, вне зависимости от установки свойства lKeyWordCapitalization
lDebugScripts
Default = .F.
Используется в версиях VFP 8.0 и выше 		Определяет - будет ли предоставлена в отладчике (debugger) построчная трассировка скриптов в, которые используют версию "custom" объекта "foxcode". По умолчанию установлена в .F.
Замечание:

Эта установка оказывает влияние только на те скрипты,которые используют свой собственный локальный экземпляр класса FoxCodeScript.

Этот перевод выполнен JS с любезного разрешения Энди Крамека.

Оригинал статьи опубликован в субботу, 3-го апреля 2005 в 3:51 пополудня в блоге автора на weblogs.foxite.com - http://weblogs.foxite.com/andykramek/archive/2005/04/03/334.aspx .

Смотри также

Справочное руководство

Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro II.
Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro III.
Юрий Шутенко (JS). Некоторые особенности в использовании Intellisense в Visual FoxPro I.
Юрий Шутенко (JS). Некоторые особенности в использовании Intellisense в Visual FoxPro II.
Юрий Шутенко (JS). Примеры скриптов, для увеличения производительности разработки.
© Russian FoxPro Club. All rights reserved.


Topic by Russian FoxPro Club

Russian FoxPro Club
Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro II.
Смотри дополнительно

В предыдущей статье я начал обсуждение функциональных возможностей VFP IntelliSense, разбирая конфигурацию IntelliSense и управление его различными возможностями. Таблица foxcode.dbf лежит в самом сердце функциональности VFP IntelliSense и понимание ее структуры и того, как она используется, является ключом к обретению полной мощности IntelliSense. Итак, с учетом риска дублирования информации, которая уже имеется в справочном файле Visual FoxPro, ниже приведена структура и короткое описание каждой колонки, используемой движком IntelliSense.

Структура таблицы FoxCode

Поле | Тип и размерность | Описание
Type C(1) Идентификатор, определяющий - как должна обрабатываться запись:
C | (Command) | Элемент автозавершения. Срабатывает при печати пробела
F | (Function) | Элементы быстрой информации (Quick Info). Срабатывают при печати "("
O | (COM) | Библиотека типов (Type Library) для использования при заполнении списка членов для деклараций "DEFINE AS" COM объектов
P | (Property) | Определяет действие при обращении к свойству
S | (Script) | Исполняет скрипт, хранящийся в поле Data
T | (Type) | Содержание для использования в списке членов для деклараций "DEFINE AS" или для объектов, которые не имеют библиотек типов (Type Libraries)
U | (User) | Нечто, определенное пользователем
V | (Version) | Зарезервирована для информации об параметрах по умолчанию и версий
Z | (Special) | Не имеется автоматической интерпретации; определяет настраиваемое поведение
Abbrev | C(24) | Сокращение, вызывающее срабатывание определенного действия
Expanded | C(26) | Строка для замещения сокращения тем, что указано в этом поле и там, где это применимо
Cmd | C(15) | Имя исполняемого скрипта для этого элемента. Заключается в фигурные скобки "{}"
Tip | M(4) | Содержание этого поля будет отображаться в быстрых советах (Quick Tip)
Data | M(4) | Хранит любое содержание. (Значения списков, код, текст скрипта и так далее)
Case C(1) Определяет, как будет форматироваться текст, замещающий сокращение:
U = для форматирования используется функция Upper()
L = для форматирования используется функция Lower()
P = для форматирования используется функция Proper()
M или = форматирование не применяется
X = Замещение не применяется
Замечание:

Значение, указанное в записи "Version" определяет значения по умолчанию, используемые для любой записи, которая не имеет своих собственных установок.
Save | L(1) | Флажок, определяющий - будет ли сохранена запись при будущих обновлениях (Устанавливается в False для родных элементов)
Timestamp | T(8) | Метка времени (Только для элементов VFP)
Source | M(4) | Источник, используемый для содержания записи. (Родные элементы используют "Reserved")
UniqueID | C(10) | Уникальный идентификатор (Только для элементов VFP)
User | M(4) | Доступна для любой требуемой информации пользователя

Закладка Advanced (Дополнительное) диалогового окна IntelliSense Manager (Диспетчер IntelliSense) включает в себя опции по восстановлению таблицы FoxCode. Это означает, что если таблица будет повреждена, или даже удалена по неосторожности, или изменены некоторые критические данные, вы можете просто восстановить таблицу в ее исходное состояние. Замечательно то, что в процессе восстановления не теряются ваши собственные элементы. Поля TimeStamp, UniqueID и Save используются всякий раз при обновлении или восстановлении таблицы FoxCode для определения того, кто создал запись и может ли она быть переписана. По умолчанию родные элементы Visual FoxPro имеют установленными значения в полях TimeStamp и UniqueID, но в их поле Save занесено значение False, поэтому они могут быть переписаны. Записи пользователя, с другой стороны, не имеют ни уникального ID, ни метки времени, но в поле Save занесено значение True, поэтому при обновлении таблицы или восстановлении ваши записи сохраняются.

Как используются записи таблицы FoxCode

Каждый тип записи имеет весьма специфичный набор связанных с ней функциональных возможностей, а различные типа указывают - как поля будут интерпретироваться движком IntelliSense.

  1. Запись Version (Type = "V").

    Она существует в единственном числе и предназначена для внутреннего использования Visual FoxPro. Поле Expanded содержит номер версии для текущей таблицы FoxCode, а поле Case определяет значения по умолчанию для любого элемента, который не имеет своего собственного набора.

  2. Запись Command (Type = "C") .

    Этот тип используется для определения текста автозавершения, который срабатывает при нажатии на клавишу пробела и использует "Default Script", который определен в поле Data записи с типом Type = S и пустым полем Abbrev. Все родные команды используют именно эту методологию. Однако, вы также можете создать свои собственные "commands", которые явно связывают Quick Info (из поля Tip) или списки членов (Members List) (из поля Data) с помощью определения сокращения и включения вызова скрипта обработчика команды ({cmdhandler}) в поле Cmd.

  3. Запись Function (Type = "F").

    Этот тип используется для определения автозавершения текста, которое срабатывает при печати символа левой круглой скобки "(". В записи этого типа, содержание поля Tip используется для отображения "умных" советов Quick Info, которые отслеживают ввод параметров на соответствию текста, который вы печатаете, шаблону - с тем, что определено в записи.

  4. Запись Property (Type = "P") .

    This type is used to assign a pop-up dialog (or value list) to be displayed whenever a value is assigned to a property whose name matches the entry in the Abbrev field. Поле Cmd используется для указания - должен ли для генерации списка использоваться скрипт, определенный где-то в другом месте таблицы или должно использоваться содержимое поля Data текущей записи. В 9.0 версии таблица FoxCode поставляется вместе с несколькими скриптами общего назначения, которые используются с таким типом записи. Например, один из них (с именем {color}) отображает диалого выборка цвета и является связанным с рядом свойств, определяющих цвет (напримре, "BackColor", "BorderColor" and "FillColor"). Другой (с именем {picture}) отображает диалог для открытия файла картинки всякий раз, когда что-либо присваивается свойствам "Icon" или "Picture". Кроме того, в таблице можно найти, если поискать, скрипты {Font} и {MemberClassLib}.

  5. Запись COM Component (Type = "O") .

    Этот тип используется для указания движку IntelliSense библиотеки типов для COM компонента (или для ActiveX). Поле Data используется для хранения информации о GUID (и Version), а поле Tip хранит полное имя элемента управления. Содержание поля Abbrev включается в выпадающий список объектов, связаннных с опцией AS (DEFINE CLASS…AS…, LOCAL…AS… ). Однако, самым простым путем добавления объекта COM в таблицк заключается в использовании IntelliSense Manager (Диспетчера IntelliSense) который поставляется вместе с VFP так как это исключает необходимость копаться в реестре с целью охоты за глобальными идентификаторами GUIDs и идентификаторами классов (Class IDs).

  6. Запись Typing (Type = "T") .

    Этот тип используется для определения элементов в выпадающем списке опции AS. Различие между этим типом и предстшествовавшем в этой статье типом записи "O" заключается в том, что здесь нет библиотек типов, связанных с этой записью. Таким образом, ваш собственный, персональный класс может быть добавлен в выпадающий список, отображаемый всякий раз, когда вы печатаете команду DEFINE CLASS. Содержание поля Data отображается непосредственно в выпадающем списке и это единственное поле, с которым нужно работать для завершения работы с записью этого типа. Однако, мы рекомендует вводить описание в поле Abbrev просто для того, чтобы было проще обслуживать таблицу и, если вы добавите текст в поле tip, то он будет отображен, когда вы будете прохаживаться по списку.

  7. Запись User (Type = "U") .

    Этот тип записи используется для идентификации сокращений настраиваемого пользователем содержания. Он отличается от типа Command тем, что замещает содержание поля Abbrev содержимым поля Expanded. Вместо просто "завершения" текста, он реальнр замещает текст, что более похоже на клавишные макромы, чем на автозавершение. Здесь нет необходимости иметь расширяемый текст, связанный с сокращением, которое вызывает срабатывание.
    Вы можете связать с этим типом записи скрипт, включив пару пустых фигурных скобок ("{}") в поле Cmd. Это указывает движку IntelliSense, что поле Data записи содержит код скрипта, который он должен исполнить.

  8. Запись Script (Type = "S") .

    Этот тип используется для хранения кода именованных скриптов, которые могут быть исполнены движком IntelliSense. Для создания скрипта все что требуется, так это указать его имя в поле Abbrev и код в поле Data. Другие записи могут вызывать исполнение этих скриптов, если в поле Cmd внутри фигурных скобок ("{}") содержится имя скрипта.
    Поскольку записи типа "S" используются для создания скриптов общего назначения - то есть "generic" - то они могут быть использованы более чем одной записью любого типа (за исключением записей типов "T" и "O" ) и могут содержать код в поле Data. Однако, для того чтобы исполнить такие скрипты, в поле Cmd должна быть вставлена пара пустых фигурных скобок -"{}"

  9. Запись Custom Extension (Type = "Z") .

    Этот тип записи не описан в документации и резервирован для записей, которые IntelliSense не может обрабатывать автоматически.
    Таких в таблице две - по умолчанию. Первая из них "CustomPEMs" используется для хранения дополнительной - "advanced" информации свойства конфигурации. Колонка Tip содержит запросы для отображения диспетчера IntelliSense, если в поле Data содержатся установки в виде списка пар "параметр=значение". Вторая, с именем "CustomDefaultScripts" используется для перечисления скриптов, которые могут быть вызваны обработчиков скрипта, используемого по умолчанию (то есть, клавиши пробел).
    Скрипты, именованные в этом поле активируются только тогда, когда свойство конфигурации "lAllowCustomDefScripts" установлено в TRUE.

  10. Запись MemberData Extension (Type = "E") .

    Представленный в версии 9.0 этот тип используется для указания, что связанные данные касаются расширяемости, предоставляемой MemberData. Для более конкретного изучения memberdata обратитесь к файлу справки для VFP 9.0.

В следующей части мы взглянем на то, как создавать настраиваемые действия IntelliSense, и как в Visual FoxPro используются различные типы записей.

Этот перевод выполнен JS с любезного разрешения Энди Крамека.

Оригинал статьи опубликован в субботу, 10-го апреля 2005 в 2:41 пополудня в блоге автора на weblogs.foxite.com - http://weblogs.foxite.com/andykramek/archive/2005/04/10/356.aspx .

Смотри также

Справочное руководство

Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro I.
Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro III.
Юрий Шутенко (JS). Некоторые особенности в использовании Intellisense в Visual FoxPro I.
Юрий Шутенко (JS). Некоторые особенности в использовании Intellisense в Visual FoxPro II.
Юрий Шутенко (JS). Примеры скриптов, для увеличения производительности разработки.
© Russian FoxPro Club. All rights reserved.


Topic by Russian FoxPro Club

Russian FoxPro Club
Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro III.
Смотри дополнительно

В заключительной статье разберемся с написанием скриптов для Intellisense.

Объект FoxCode

В то время, как таблица FoxCode обслуживает метаданные, которые лежат в сердце системы IntelliSense, объект FoxCode представляет собой то, что позволяет нам, как разработчикам, реально настраивать поведение IntelliSense. Объект FoxCode представляет собой экземпляр класса foxcodescript, который определен в программе foxcode.prg на основе базового класса session, и который не только определяет поведение различных операций IntelliSense но и предоставляет хуки, которые позволяют нам расширять при необходимости его функциональные возможности. Ключевые методы класса перечислены ниже в таблице:

Метод | Назначение
Main | Метод шаблона, вызываемый из метода Start – позволяет вставлять настраиваемый код пользователя.
Start | Основной метод установки (set-up) для объекта. Должен быть явно вызван в скриптах.
DefaultScript | Обработчик для символа "пробел" – триггер, используемый по умолчанию для IntelliSense
HandleMRU | Обработчик для списков - Most Recently Used - наиболее поздно используемых элементов.
HandleCOps | Обработчик для расширений в стиле C-операторов.
HandleCustomScripts | Обработчки для пользовательских настраиваемых скриптов.
AdjustCase | Для установки регистра ключевого слова в соответствии с установкой поля CASE, или по умолчанию, если установка не определена.
ReplaceWord | Замещает последнее напечатанное "слово" указанным "словом".

В дополнение к перечисленным методам, объект FoxCode выставляет перечисленный ниже в таблице набор свойств. Разумеется, каждое поле в таблице FoxCode имеет соответствующее свойство в объекта FoxCode. Причиной тому, конечно, является то, что полное содержание строки таблицы FoxCode может быть послано любому исполняемому скрипту. Однако, кроме этих свойств, имеется еще ряд свойств, которые управляют другими аспектами реализации IntelliSense.

Метод | Назначение
Abbrev | Содержимое одноименного поля в таблице FoxCode.
Case | Содержимое одноименного поля в таблице FoxCode.
Cmd | Содержимое одноименного поля в таблице FoxCode.
Cursorlocchar | Символ, используемый для указания места курсора по завершению исполнения скрипта (По умолчанию используется тильда -"~")
Data | Содержимое одноименного поля в таблице FoxCode.
Defaultcase | Регистр, который будет использоваться, если для этой записи он не определен (он будет взят из записи типа "V" в таблице FoxCode)
Expanded | Содержимое одноименного поля в таблице FoxCode.
Filename | Полностью квалифицированное имя пути и имени файла для текущего открытого файла.
Fullline | Полное содержание текущей линии (включая пробелы, символы табуляции и прочее)
Icon | Иконка для использования в массиве элементов
Items Массива, используемый при генерации списков. Двухколоночный, но требуется в общем-то колонка 1.
  1. Items[1,1] – текст для отображения в списке
  2. Items[1,2] – подскзка значения для элемента
По умолчанию элементы списка хранятся в колонке 1. Для запрещения сортировки списка, очистите флажок ItemSort.
Itemscript | Имя скрипта, который должен быть запущен после выбора элемента из списка (Необязательное)
Itemsort | Определяет будут ли отсортированы элементы массива (По умолчанию = .T. )
Location Текущее окно редактирования – позволяет управлять скриптом там, где это приемлимо:
  • 0 - Командное окно (Command Window)
  • 1 - Программа
  • 8 - Код меню
  • 10 - Код в окне редактирования событий и методов
  • 12 - Окно редактирования хранимых процедур
Menuitem | Элемент, который был выбран из списка (пустой, до завершения исполнения скрипта)
Paramnum | В справке определено как: "Число параметров функции для вызова скрипта, сделанного внутри функции". Что называется - понимай, как хочешь.
Save | Содержимое одноименного поля в таблице FoxCode.
Source | Содержимое одноименного поля в таблице FoxCode.
Timestamp | Содержимое одноименного поля в таблице FoxCode.
Tip | Содержимое одноименного поля в таблице FoxCode.
Type | Содержимое одноименного поля в таблице FoxCode.
Uniqueid | Содержимое одноименного поля в таблице FoxCode.
User | Содержимое одноименного поля в таблице FoxCode.
Usertyped | Текст, который напечатал пользователь (исключая ведущие пробелы, символы табуляции и символьные последовательности триггеров)
Valuetip | Совет типа Quick Info, который будет отображен при FoxCode.ValueType = "T"
Valuetype Определяет, как должно толковаться возвращаемое скриптом значение
  • V (Value): Действие зависит от скрипта – может быть испольщовано для замещения напечатанного текста или, наоборот, для добавления к нему.
  • L (List): Отображает содержание массива FoxCode.Items в виде списка.
  • T (Tip): Отображает содержание свойства FoxCode.ValueTip в виде совета Quick Info

Создание скриптов

Верояно, наиболее захватывающей вещью привнесенной IntelliSense в Visual FoxPro, является воможность создавать пользовательские скрипты, которые позволяют нам значительно увеличить нашу продуктивность при разработках. Скрипт состоит из двух раздельных компонентов:

  • Преамбула - она является характерной для IntelliSense и ответственной для установки объекта FoxCode, а также среды, в которой будет исполняться скрипт. Всякий раз, когда вызывается скрипт, в качестве параметра ему передается экземпляр объекта FoxCode.
  • Собственно код - представляет собой стандартный программный код FoxPro, который генерирует результат. Скрипт должен что-то вернуть, а способ, которым будет толковаться возврат управляется свойством Valuetype.

Все скрипты, представленные в этой статье имеют оба этих компонента, а возможности скриптов ограничиваются только тем, что вы сами в состоянии сделать в программном коде FoxPro. Простейшим способом описания скриптов является просто демонстрация некоторых...

Вставка блока текста

Для вставки блока текста нам необходимо создать скрипт, который вернет форматированную строку для замещения сокращения, который и вызывет срабатывание скрипта. В чистом виде это не является скриптом общего назначения, поэтому мы может создать его непосредственно в поле Data записи таблицы foxcode.dbf, в которой определим сокращение, ну скажем типа приведенного ниже:

Type | Abbrev | Expanded | Cmd | Tip | Data | Case | Save
U | hdr |  | {} | memo | Memo | M | T

Реальный скрипт, размещенный поле Data выглядит примерно так, как приведено в блоке кода ниже. Как вы можете видеть, преамбула начинается с получения ссылки на объект FoxCode и проверяет месторасположение с целью удостовериться в том, что мы не находимся в командном окне (ну к чему там заголовок программы?).
Преамбула завершается установкой свойства ValueType объекта в FoxCode "V", что указывает на то, что объект вернет значение, которое заместит сокращение:

Скопировать код
LPARAMETER toFCObject
LOCAL lcOwner, lcName, lcVersion, lcPos, lcDesc, lcRets
lcDevName = [Andy Kramek]
lcOwner = "Tightline Computers, Inc"
IF toFCObject.Location = 0
  *** Если в командном окне - возвращаем то, что напечатали
   RETURN toFCObject.UserTyped
ELSE
  *** Для этого скрипта нам нужна установка textmerge в ON
  lcMerge = SET('TextMerge')
  SET TEXTMERGE ON
ENDIF
*** Этот скрипт вернет строку, которую мы желаем использовать для
*** замещения текста, который вызовет срабатывание IntelliSense.
*** Устанавливаем valuetype соответствующим образов:
toFCObject.ValueType = "V"

Реальная работа скрипта производится далее. Блок кода, приведенный ниже представляет собой стандартный программный код Visual FoxPro, который определяет некоторые переменные и выстраивает форматированную строку возврата. Имеется несколько путей сделать подобное, но мы воспользуемся новой функциональностью TEXTMERGE, предлагающей некоторые великолепные возможности в этой области.

Скопировать код
LOCAL lcTxt, lcName, lcComment, lnPos
STORE "" TO lcTxt, lcName, lcComment
#DEFINE CRLF CHR(13)+CHR(10)
lcName = ALLTRIM( WONTOP() )
lcVersion = VERSION(1)
lnPos = AT( "[", lcVersion ) - 1
lcVersion = LEFT( lcVersion, lnPos )
lcDesc = ALLTRIM( INPUTBOX( 'Describe this Program or Procedure', lcOwner ))
lcRets = ALLTRIM( INPUTBOX( 'What does it return?', lcOwner, 'Logical' ))
*** Разыскиваем в строке точку вставки и устанавливаем отступ
lnspaces = AT(  toFCObject.UserTyped, toFCObject.FullLine ) -1
*** И генерируем далее реальный текст для вставки
TEXT TO lcText NOSHOW
********************************************************************
<>*** Name.....: <>
<>*** Author...: <>
<>*** Date.....: <>
<>*** Notice...: Copyright (c) <> <>
<>*** Compiler.: <>
<>*** Function.: <>
<>*** Returns..: <>
<>********************************************************************
<>~
ENDTEXT
*** Восстанавливаем оригинальную установку textmerge
IF NOT EMPTY( lcMerge )
  SET TEXTMERGE &lcMerge
ENDIF
RETURN lcText

Отметьте, что этот скрипт использует свойтсво FullLine объекта FoxCode для обработки отступа. Это будет работать только в случае, если вы замените пробелами символы табуляции в настройках ваших окон редактирования. Если вы используете символы табуляции (CHR(9)) то будет вставлен только один пробле на каждый символ табуляции, поэтому отступ будет некорректным.

Последняя строка кода просто возвращает результат из скрипта точно также, как вы возвращаете значение из метода или функции. Этот же самый шаблон может быть использован для определения любого скрипта, который возвращает текстовую строку.

Генерация списков

Движок IntelliSense обслуживает генерацию "most-recently used" и "member lists" автоматически, и здесь нет ничего такого, что нам нужно сделать для этого. Списки, генерируемые для родных команд и функций реально генерируются из таблицы с именем "FoxCode2". Копия этой таблицы включена в исходные коды, но, в отличие от основной foxcode.dbf, она не предназначена для изменений разработчиками. Поэтому (пока у нас не возникнет желания полностью переписать приложение FoxCode) мы не может запросто заменить эти списки некоим образом.

Однако, это все-таки оставляет нам внушающее уважение часть возможностей и мы определенно можем определить дополнительные списки, что облегчит нашу жизнь. Однако, работа со списками немного усложнена, по сравнению с простым возвратом блока кода, так как в действительности этот процесс состоит из двух частей. В первой мы генерируем список, а во второй отвечаем на сделанный в списке выбор.

Определение содержания списка

Списке IntelliSense создаются заполнением массива свойства "Items" объекта FoxCode. Этот массив должен быть двухколоночным, первая из которых используется для хранения текста для элементов списка, а вторая для хранения текста Tip, связанного с этим эелементом. В дополнение к указанию содержания списка, скрипт должен сообщить движку IntelliSense, что требуется список. Мы уже видели, что свойство ValueType объекта FoxCode используется для коммуникаций - для сообщения о том, как запущенный скрипт должен толковаться, а для генерации списка - все что нам нужно, так это установить это свойство в "L".

Простейшим способом генерации списка является создание в таблице foxcode.dbf записи с типом "U", в котором в поле data определен скрипт, который явно и непосредственно заполняет требуемые свойства объекта FoxCode, так как это показано ниже:

Type Abbrev Expanded Cmd Data Save
U olist lcChoice {}
Скопировать код
LPARAMETER toFoxCode
WITH toFoxCode
    .ValueType = "L"
    DIMENSION .items[3,2]
    .items[1,1] = "'First Option'"
    .items[1,2] = "Tip for option 1"
    .items[2,1] = "'Second Option'"
    .items[2,2] = "Tip for option 2"
    .items[3,1] = "'Third Option'"
    .items[3,2] = "Tip for option 3"
    RETURN ALLTRIM( .Expanded ) ENDWITH
T

Печать "olist" с последующим вводом пробела в окне редактирования выведет список, содержащий три опции, определенные в скрипте. Возвратом содержания свойства Expanded объекта FoxCode, мы можем заместить ключевое слово значимым текстом и добавить что-либо выбранное из списка. Хотя это действительно неплохо с одной стороны, то с другой такой метод не очень гибок, поскольку в этом случае мы имеет жестко прописанный список опций непосредственно в коде скрипта. Мы конечно можем создать таблицу для хранения списков, которые мы хотим генерировать и создать отдельную запись для каждого сокращения.

И конечно, нам не хочется иметь повторение кода, который будет искаться в каждой записи. Вот в этом случае на передний план выходит запись типа "Script". Как мы уже видели ранее, мы может вызывать скрипт из поля CMD записи таблицы foxcode.dbf, просто включив имя скрипта в фигурные скобки - {scriptname}. Поэтому мы можем создать скрипт общего назначения для обслуживания поиска, генерации списка и исполнения подходящих действий, когда выбран элемент списка.

Как определить действие, когда в списке сделан выбор

Проблема в определении действия, которое нужно выполнить, когда из списка выбран элемент, заключается в том, что код, который реально создает список нам не виден. Поэтому, в то время как мы можем указать содержание списка, мы не можем непосредственно управлять последующим действием. Движок IntelliSense полагается на два свойства объекта FoxCode. Свойство Itemscript используется для указания "обслуживающего" скрипта, который будет запущен после того, как список будет закрыт, а свойство MenuItem используется для хранения текста выбранного элемента списка. Если список закроется без какого-либо выбора, это свойство, разумеется, будет пустым. Поэтому для того, чтобы указать - как IntelliSense должен отвечать на выбор элемента из списка, нам нужно создать свой собственный скрипт обработчика.

Мы уже видели ранее, что скрипты общего назначения требуют для себя в таблице Foxcode.dbf своей собственной записи типа "S", а вследствие того, что они вызываться из другой записи, то они должны быть соответствующим образом сконструированы. Секрет таких скриптов лежит в классе FoxCodeScript, который определен в IntelliSense Manager (Диспетчере IntelliSense).

Замечание:

Исходный код этого класса найдете в программе FoxCode.prg в каталоге исходников FoxCode -
C:\Program Files\Microsoft Visual FoxPro 9\Tools\xsource\VFPSource\foxcode

Для создания скрипта общего назначения, определите субкласс класса FoxCodeScript для предоставления требуемой вам функциональности и создайте его экземлпяр. Весь необходимый код, как обычно, хранится в поле Data записи таблицы Foxcode.dbf. Простейщим способом объяснения является показ, как это работает - а это действительнон намного проще, чем это прозвучало.

Как создать список управляемый таблицей

Целью является создание скрипта общего назначения, который будет:

  • срабатывать от простого сокращения (ключевого слова)
  • замещать ключевое слово укзанным текстом расширения
  • использовать такое ключевое слов для извлечения списка из локальной таблицы
  • отображать список элементов
  • Добавлять выбранный элемент в расширяемый текст

Для первого пункта требуется таблица. Для работы с этим примером мы будем использовать таблицу ListOptions.dbf, которая имеет всего два поля и содержание, что показано ниже:

Ckey | Coption
ol1 | 'Number One'
ol1 | 'Number Two'
ol1 | 'Number Three'
ol2 | 'Apples'
ol2 | 'Bananas'
ol2 | 'Cherries'

Одним из обязательных улучшений для такой таблицы могло бы быть добавление колонки, включающий в себя некоторые тексты советов для элементов меню, а вторым могла быть колонка "Sequence" в которой мы могли бы устанавливать упорядочивание нашего меню, если нам вдруг этого захочется. Однако, эти улучшения не влияют на принципи, рассматриваемые здесб и для простоты демонстрации мы оставим их читателям, которые смогут сами поупражняться с ними.

Как вы могли увидеть по содержанию таблицы, она распознает два ключевых слова "ol1" и "ol2". Прежде всего, нам нужно добавить в таблицу foxcode.dbf по записи для каджого из этих двух ключевых слов. Эти записи могут определять расширяемый текст для замещения ключевого слова и вызывать скрипт обработчика. В этом примере такой скрипт носит название "lkups", то есть в целом в таблицу foxcode.dbf будут добавлены три записи:

Type | Abbrev | Expanded | Cmd | Data | Save
U | ol1 | lcChoice= | {lkups} |  | T
U | ol2 | lcFruit= | {lkups} |  | T
S | lkups |  |  | <Scipt code here> |

Содержание скрипта "lkups" подробно описано ниже. Первая часть скрипта получает ссылку на объект FoxCode, создает пользовательский объект "ScriptHandler" (который представляет собой пользовательский класс на основе класса foxcodescript, определенный непосредственно в скрипте) и посылает ссылку на объект FoxCode методу обработчика Start(). (_CodeSense является новой системной переменной VFP, которая хранит имя приложения, предоставляющее функциональность IntelliSense functionality; по умолчанию она ссылается на FoxCode.app).

Эта часть кода полностью стандартная и вы можете повторять ее (с минимальными изменениями, которые связаны лишь с именами) в нескольких записях скриптов. Метод Start() в базовом классе FoxCodeScript, заполняет ряд свойств, которые требуются объекту FoxCodeScript и затем вызывает метод шаблона "Main()". Это как раз то место, где вы поместите свой собственный код.

Скопировать код
LPARAMETER toFoxcode
IF FILE( _CODESENSE)
  *** Диспетчер IntelliSense manager найден
  *** Декларируем требуемые локальные переменные
  LOCAL luRetVal, loHandler
  SET PROCEDURE TO (_CODESENSE ) ADDITIVE
  *** Создаем экземпляр нашего класса
  loHandler = CreateObject( "ScriptHandler" )
  *** Вызываем Start() и посылаем ссылку на объект foxcode
  luRetVal  = loHandler.Start( toFoxCode )
  *** Наводим порядок и возвращаем результат
  loHandler = NULL
  IF ATC( _CODESENSE, SET( "PROC" ) )# 0
    RELEASE PROCEDURE ( _CODESENSE )
  ENDIF
  RETURN luRetVal
ELSE
  *** Do nothing at all
ENDIF

Однако, наиболее важной вещью, которую нужно запомнить является то, что скрипт в действительности будет вызыван дважды!

Первый раз он будет вызван, когда будет напечатано ключевое слово, поскольку запись в таблице foxcode.dbf специально его вызывает. В этом проходе свойство MenuItem объекта FoxCode будет пустым, так как мы еще не отобразили список, и следовательно из него ничего не выбрано. Поэтому мы должны сказать IntelliSense, что мы желаем отобразить список. Для того чтобы сделать это, мы устанавливаем свойтсов foxcode.valuetype в "L".

Далее мы вызовем пользовательский метод GetList() для заполнения массива свойства Items объекта FoxCode. Затем мы указываем через foxcode.ItemScript опять же на тот же самый скрипт, поэтому он будет вновь вызван, когда в списке будет сделан выбор. И наконец, в этом проходе, мы попросим движок IntelliSense заместить ключевое слово содержанием поля Expanded.

Скопировать код
DEFINE CLASS ScriptHandler as FoxCodeScript
  PROCEDURE Main()
    WITH This.oFoxCode
      IF EMPTY( .MenuItem )
        *** Это как раз первый раз, когда мы вызываем скрипт,
        *** печатая сокращение. Здесь мы говорим движку
        *** IntelliSense Engine что желаем иметь список
        .ValueType = "L"
        *** Теперь посылаем ключ методу построителя списка (List Builder)
        *** Это вернет T, когда будут найдены один или более элементов
        IF This.GetList( .UserTyped )
          *** У нас есть список, поэтому установим свойство ItemScript
          *** для повторного вызова скрипта, когда в списке будет сделан выбор
          .ItemScript = 'lkups'
          *** и замещаем ключ расширяемым текстом
          RETURN ALLTRIM( .Expanded )
        ELSE
          *** Не нашли элементов списка, поэтому возвращаем то, что напечатал пользователь
          RETURN .UserTyped
        ENDIF

Вы можете, если желаете, использовать поле Case для определения форматирования возвращаемого значения вместо прямого возврата содержания поля Expanded "как есть". Для того, чтобы сделать это - вызовите метод FoxCodeScript.AdjustCase() в предложении RETURN, при этом не потребуются параметры. Этот метод применяет подходящую команду форматирования к содержимому поля Expanded до его возврата.

Метод GetList() действительно очень прост. Он вызывается со свойством FoxCode.UserTyped, используемым в качестве параметра. (Обязательное требование - мы должны определить сокращение, которое вызывет срабатывание скрипта точно также, как оно определено в поисковой таблице). Затем метод исполняет предложение выборки в локальный массив, используя это значение в качестве фильтра. Если найдены любые значения, массив foxcode.items соответствующим образом оразмеривается и значения полей поисковой таблицы копируются в его элементы. Метод возвращает логическое значение, указывающее - были ли найдены хоть какие-то элементы.

Скопировать код
  PROCEDURE GetList( tcKey )
    LOCAL llRetVal
    LOCAL ARRAY laTemp[1]
    *** Берем любые записи соответствия из записей опций
    SELECT cOption, .F. FROM myopts ;
     WHERE cKey = tcKey ;
      INTO ARRAY laTemp
    *** Устанавливаем возвращаемое значение и закрываем таблицу
    STORE (_TALLY > 0) TO llRetVal
    USE IN myopts
    IF llRetVal
      *** заполняем массив foxcode ITEMS
      DIMENSION This.oFoxCode.Items[ _TALLY, 2 ]
      ACOPY( laTemp, This.oFoxCode.Items )
    ENDIF
    RETURN llRetVal
  ENDPROC

Когда элемент выбран из списка, скрипт вызывается еще один раз, но в этот раз свойство MenuItem объекта FoxCode будет содержать то, что выбрано в списке, что означает, что во втором проходе будет исполнено условие "ELSE" метода Main(). Это установить значение свойства foxcode.valuetype в "V" и возвратит то, что содержится в свойстве foxcode.MenuItem.

Скопировать код
ELSE
   *** мы сделали выбор, поэтому нам надо просто вернуть выбранный элемент
   .ValueType = "V"
   RETURN ALLTRIM( .MenuItem )
  ENDIF
ENDWITH

Установкой значения ValueType в "V" мы, кроме того, говорим движку IntelliSense, что надо вставить возвращаемое значение в текущую точку вставки, так, чтобы оно появилось после текста расширения. Отметьте, что хотя в этом случае, мы реально не изменяем возвращаемое значение, эта методология позволяет нам перехватить результат после того, как будет сделан выбор элемента, но до его вставки в код. Хотя это и затрагивает сути дела, но такая дополнительная гибкость может быть очень полезной.

Реализация скрипта общего назначения, подобного этому, позволяет нам создавать столько сокращений для списков, сколько мы пожелаем, просто добавляя соответствующие элемента в таблицу listoptions.dbf и новые записи в таблицу foxcode.dbf для идентификации ключа и вызова скрипта общего назначения.

Получение списка файлов

Нашей первой мыслью, когда этот субъект появился была – но ведь мы же уже имеем автоматизированный список "Most Recently Used files". Он конфигурируем (на закладке "General" диалогового окна Options (Параметры) в виде счетчика для установки числа файлов, хранимых в списках MRU) и поэтому он может отображать столько опций, сколько нам хочется. Однако, мы позже нашли, что для того, чтобы взять файл в список MRU, мы должны (и обязательно) хотя бы раз использовать его! Более того, до тех пор, пока мы не сделали список MRU очень большим, он в действительности полезен только для файлов, которые мы использовали самыми последними. Это потому, что число элементов в списке фиксировано, поэтому сразу после того, как это число будет достигнуто, каждый новый файл, который мы будем открывать, будет удалять из списка уже существующие. И действительно, нам ничего не остается, как получать список всех файлов вызывая диалог GetFile().

Немного подумав мы пришли к идее создания скрипта, который извлечет список всех файлов указанного типа в текущем каталоге и всех подкаталогов первого уровня. Поскольку мы желаем указать тип файла, нам нужно сделать такой скрипт скриптом общего назначения и вызывать его из разных сокращений, просто добавляя записи в таблицу foxcode.dbf так, как это показано ниже:

Type | Abbrev | Expanded | Cmd | Case | Save
U | mop | modify command | {shofile} | U | T
U | dop | do | {shofile} | U | T
U | mof | modify form | {shofile} | U | T
U | dof | do form | {shofile} | U | T
U | mor | modify report | {shofile} | U | T
U | dor | report form | {shofile} | U | T

Как вы можете видеть, эти сокращения расширяются до соответствующих команд либо для запуска, либо для редактирования программ, форм или отчетов. Вы можете добавить и другие веши (например, классы, этикетки, меню, документы XML и текстовые файлы) если это вам нужно. Все они вызывают скрипт общего назначения ShoFile, который выглядит следующим образом:

Скопировать код
LPARAMETER oFoxcode
IF FILE(_CODESENSE)
  LOCAL eRetVal, loFoxCodeLoader
  SET PROCEDURE TO (_CODESENSE) ADDITIVE
  loFoxCodeLoader = CreateObject("FoxCodeLoader")
  eRetVal = loFoxCodeLoader.Start(m.oFoxCode)
  loFoxCodeLoader = NULL
  IF ATC(_CODESENSE,SET("PROC"))#0
    RELEASE PROCEDURE (_CODESENSE)
  ENDIF
  RETURN m.eRetVal
ENDIF

Этот блок кода представляет собой стандартный FoxCodeScriptLoader, который вы найдете использованным во всех скриптах, использующих этот класс. The second part of the script defines the custom subclass and adds the Main() method (which is called from Start()).

Скопировать код
DEFINE CLASS FoxCodeLoader as FoxCodeScript
  PROCEDURE Main()
    LOCAL lcMenu, lcKey
    lcMenu = THIS.oFoxcode.MenuItem
    IF EMPTY( lcMenu )
      *** Ничего не выбрано, поэтому отображаем список
      lcKey  = UPPER( THIS.oFoxcode.UserTyped )
      *** Какой вид файлов мы хотим иметь в списке
      DO CASE
        CASE INLIST( lcKey, "MOP","DOP" )
          lcFiles = '*.prg'
        CASE INLIST( lcKey, "MOF", "DOF" )
          lcFiles = '*.scx'
        CASE INLIST( lcKey, "MOR", "DOR" )
          lcFiles = '*.frx'
        OTHERWISE
          lcFiles = ""
      ENDCASE
      *** заполняем массив Items для отображения
      This.GetItemList( lcFiles )
      *** Возвращаем элемент Expanded
      RETURN This.AdjustCase()
    ELSE
      *** Возвращаем выбранный элемент
      This.oFoxCode.ValueType = "V"
      RETURN lcMenu
    ENDIF
  ENDPROC
ENDDEFINE

Метод Main() просто определяет тип файла, используя ключевое слово, которое было напечатано и вызывает пользовательский метод GetItemList(). Это стандартный код FoxPro, который использует функцию ADIR() для извлечения списка каталогов и затем извлекает список файлов, которые соответствуют указанному типу из текущего корневого каталога и для каждого найденого субкаталога первого уровня. (Конечно же, код может быть легко изменен, для обслуживания дополнительных уровней каталогов). Единственный связанный с IntelliSense код находится в конце метода, где содержимое массива списка файлов копируется в коллекцию Items объекта FoxCode и свойства ValueType и ItemScript установлены для генерации списка, а определение этого указывается в качестве обработчика выбора.

Скопировать код
*** если мы что-то получили, то отобразим список
IF lnFiles > 0
  THIS.oFoxcode.ValueType = "L"
  THIS.oFoxcode.ItemScript = "ShoFile"
  *** копируем элементы во временный массив
  DIMENSION THIS.oFoxcode.Items[lnFiles ,2]
  ACOPY(laFiles,THIS.oFoxcode.Items)
ENDIF

Эта статья едва лишь касается поверхности моря возможностей создания скриптов для IntelliSense, но надеюсь, что она даст вам стимул попробовать новые вещи вам самим, если вы уже не сделали этого, и может быть, даст вам новые идеи.

Мне нравится смотреть любые скрипты, которые разрабатывают люди и ниже я привожу ссылку на FoxPro Wiki, где помещены скрипты для Intellisense: http://fox.wikis.com/wc.dll?Wiki~IntelliSenseCustomScripts~VFP

Этот перевод выполнен JS с любезного разрешения Энди Крамека.

Оригинал статьи опубликован в субботу, 17-го апреля 2005 в 3:45 пополудня в блоге автора на weblogs.foxite.com - http://weblogs.foxite.com/andykramek/archive/2005/04/17/377.aspx .

Смотри также

Справочное руководство

Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro I.
Энди Крамек (Andy Kramek). Настройка Intellisense в Visual FoxPro II.
Юрий Шутенко (JS). Некоторые особенности в использовании Intellisense в Visual FoxPro I.
Юрий Шутенко (JS). Некоторые особенности в использовании Intellisense в Visual FoxPro II.
Юрий Шутенко (JS). Примеры скриптов, для увеличения производительности разработки.
© Russian FoxPro Club. All rights reserved.


How to display a progress bar in the status bar in Visual FoxPro 9.0

Visual FoxPro 9.0
Как отобразить термометр SELECT-SQL запроса в полоске статуса Visual FoxPro
Смотрите также

Краткое изложение.

В этой статье описано, как создать термоментр для отображения хода исполнения SELECT-SQL запроса в полоске статуса Visual FoxPro.

Образец кода.

  1. Создайте в Visual FoxPro программный файл.
  2. Скопируйте в него код, приведенный ниже:
Скопировать код
SET STATUS BAR ON
PUBLIC obar
** Открываем таблицу
cTable = GETFILE("dbf")
IF EMPTY(cTable)
   RETURN .T.
ENDIF

**Создаем объект Progress bar
obar = CREATEOBJECT("POnStatus")
obar.pIndicatorStyle = "||"
SELECT * FROM (cTable) WHERE obar.DrawStatus(RECNO(), RECCOUNT())
SET MESSAGE TO
CLOSE ALL
RELEASE ALL

** Определение класса для объекта Progress bar
DEFINE CLASS POnStatus AS Custom
    pIndicatorStyle = ""

    PROCEDURE DrawStatus
    LPARAMETER nRecno, nReccount
    LOCAL nPtr, cIndicator

        nPtr = INT(nRecno*100/nReccount)
        cIndicator = REPLICATE(THIS.pIndicatorStyle, nPtr) + ;
           SPACE(2) + STR(nPtr)+"%"
        SET MESSAGE TO LEFT(cIndicator, LEN(cIndicator))
        RETURN .T.
    ENDPROC

ENDDEFINE
  3. Сохраните и запустите созданный программный файл.
  4. Когда вам будет выведено диалоговое окно Open, выберите таблицу, например, Customer в каталоге Samples. Когда будет запущен запрос, вы увидите обновляющийся в полоске статуса термометр.

Смотрите также

База знаний Microsoft

Как создать термометр

© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How To Create a Thermometer Bar in Visual FoxPro

Visual FoxPro 9.0
Как создать полоску термометра в Visual FoxPro
Смотрите также

Краткое изложение.

Приложения, написанные для платформы Windows очень часто используют полоску термоментра для визуального представления хода исполнения какой-либо задачи. Эта статья показывает пример создания термометра общего назначения, который вы можете использовать в новых или существующих приложениях Visual FoxPro.

Образец кода.

  1. Создайте в Visual FoxPro программный файл.
  2. Скопируйте в него код, приведенный ниже:
Скопировать код
PUBLIC othermometer
   othermometer = CreateObject('thermometer')
   othermometer.Visible = .T.

   DEFINE CLASS thermometer AS form

           Height = 73
           Width = 385
           DoCreate = .T.
           AutoCenter = .T.
           Caption = ""
           Closable = .F.
           ControlBox = .F.
           MaxButton = .F.
           MinButton = .F.
           Movable = .F.
           Name = "Form1"

       ADD OBJECT shape2 AS shape WITH ;
           Height = 25, ;
           Left = 24, ;
           Top = 24, ;
           Width = 336, ;
           Name = "Shape2"

       ADD OBJECT shape1 AS shape WITH ;
           BackColor = RGB(0,0,255), ;
           Height = 25, ;
           Left = 24, ;
           Top = 24, ;
           Width = 0, ;
           Name = "Shape1"

       ADD OBJECT timer1 AS timer WITH ;
           Top = 0, ;
           Left = 0, ;
           Height = 23, ;
           Width = 23, ;
           Interval = 100, ;
           Name = "Timer1"

       PROCEDURE timer1.Timer
           IF This.Parent.shape1.Width<336
              This.Parent.shape1.Width=This.Parent.shape1.Width+2
           ELSE
              WAIT WINDOW 'Finished!'
              Thisform.Release
           ENDIF
       ENDPROC

   ENDDEFINE
  3. Сохраните и запустите созданный программный файл.
  4. Должна отобразиться форма и полоска термометра будет расти, пока не завершится процесс.

Другой пример.

В предыдущем примере для симуляции процесса использовался таймер. Этот пример показывает, как внедрить такой термометр в цикл. Команда WAIT TIMEOUT внутри цикла представляет место, в котором разработчик мог бы разместить код, подходящий для своего приложения.

Общая длина полоски термометра равна 300 пикселям. Поскольку код в цикле исполняется 100 раз, ширина термометра увеличивается на 3 пикселя за один раз для достижения общей длины термометра. Значение увеличения широко меняется в зависимости от числа проходов в цикле.

Скопировать код
PUBLIC othermometer
   othermometer = CreateObject('thermometer')
   othermometer.Visible = .T.

   i=0
   SET CONSOLE OFF

   DO WHILE i<100
      WAIT TIMEOUT 1        && Place application-specific code here
      othermometer.update()
      i=i+1
   ENDDO

   WAIT WINDOW 'Finished'

   othermometer.Release

   DEFINE CLASS thermometer AS form

           Height = 73
           Width = 349
           DoCreate = .T.
           AutoCenter = .T.
           Caption = ""
           Closable = .F.
           ControlBox = .F.
           MaxButton = .F.
           MinButton = .F.
           Movable = .F.
           Name = "Form1"

       ADD OBJECT shape2 AS shape WITH ;
           Height = 25, ;
           Left = 24, ;
           Top = 24, ;
           Width = 300, ;
           Name = "Shape2"

       ADD OBJECT shape1 AS shape WITH ;
           BackColor = RGB(0,0,255), ;
           Height = 25, ;
           Left = 24, ;
           Top = 24, ;
           Width = 0, ;
           Name = "Shape1"

       ADD OBJECT timer1 AS timer WITH ;
           Top = 0, ;
           Left = 0, ;
           Height = 23, ;
           Width = 23, ;
           Interval = 100, ;
           Name = "Timer1"

       PROCEDURE update
          This.shape1.Width=This.shape1.Width+3
       ENDPROC

   ENDDEFINE

Смотрите также

База знаний Microsoft

Как отобразить термометр SELECT-SQL запроса в полоске статуса Visual FoxPro

© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


How to print pictures and how to display pictures that are stored in a Blob field in Visual FoxPro 9.0

Visual FoxPro 9.0
Как напечатать и как отобразить картинки, которые хранятся в поле типа Blob в Visual FoxPro 9.0
Смотрите также

Краткое изложение.

В Microsoft Visual FoxPro 9.0 был представлен новый для Visual FoxPro тип данных Blob. Вы можете использовать поля Blob для хранения бинарных данных, например, для хранения картинок. Картинки, которые хранятся в поле Blob могут быть отпечатаны в отчетах и отображены на формах. В этой статье описывается, как напечатать картинки и как отобразить картинки на форме, если картинки хранятся в поле с типом Blob.

Введение

В Visual FoxPro 9.0 был представлен тип данных Blob. Вы можете использовать поля Blob для хранения бинарных данных любого вида и неопределенной длины. Например, в таком поле вы можете хранить картинки.

Вы можете отпечатать картинки, которые хранятся в поле Blob, в отчете с помощью элемента управления Picture/OLE Bound. Для печати картинок, которые хранятся в поле Blob, вы должны установить источник (source) элемента Picture/OLE Bound, который будет использоваться в объектную ссылку. В качестве объектной ссылки может выступать экземпляр элемента управления Image. Свойство PictureVal этого экземпляра должно быть установлено в поле Blob, которое содержит картинки.

Вы можете отображать картинки, которые хранятся в поле Blob, на форме с помощью элемента управления Image. Вы кладете элемент управления Image непосредственно на форму и затем устанавливаете его свойство PictureVal. Такая адресация связывает Image с полем Blob. Однако, для того, чтобы принудить элемент управления Image перерисовываться при перемещении указателя таблицы, в которой имеется поле Blob, требуется выполнить дополнительные шаги.

Представленный ниже образцы кода были разработаны для Visual FoxPro 9.0. Эти образцы показывают, как отпечатать картинки, хранящиеся в поле Blob, и как отобразить картинки из такого поля на форме. Для тестирования этих примеров следуйте лписанным ниже шагам:

Образец 1: Печать картинок, которые хранятся в поле Blob, в отчете.

1. Start Visual FoxPro 9.0, and create two new programs. 2. Copy and then paste sample 1 into one of the new programs. 3. Copy and then paste sample 2 into the other new program. 4. Save and then run the programs.
  1. Создайте в Visual FoxPro два программных файла.
  2. Скопируйте в первый файл код, приведенный ниже:
Скопировать код
*------------ START CODE
*
*-----------------------------------
*  AUTHOR:    Trevor Hancock
*  CREATED:   03/04/05 01:03:07 P.M.
*  ABSTRACT: Code from Microsoft Knowledge Base article 895602. Visual FoxPro code that shows how
*  to use pictures that are stored in a BLOB field in a report.
*  This is accomplished by using an object reference to an instance of an IMAGE class as the control source for
*  an OLE Bound control on the report. The IMAGE object has its PictureVal property set to a BLOB field in a cursor.
*-----------------------------------
LOCAL lcDataDIR AS STRING, ;
    lcThisDir AS STRING, ;
    loRL AS REPORTLISTENER

lcDataDIR = HOME( ) + 'Samples\Tastrade\'
lcThisDir = ADDBS( JUSTPATH( SYS( 16 ) ) )

CD ( lcThisDir )
CLOSE DATA ALL
*-- Создайте временный курсор с несколькими полями, одно из которых BLOB
*-- Сохраните в этом поле картинки, как raw binary data.
SELECT CAST( ALLTRIM( First_Name ) AS VARCHAR ( 10 ) ) AS 'FNAME', ;
    CAST( ALLTRIM( Last_Name ) AS VARCHAR (10 ) ) AS 'LNAME', ;
    CAST( FILETOSTR( lcDataDIR + Photo_File ) AS BLOB ) AS 'PIC' ;
    FROM ( lcDataDIR + 'data\Employee.dbf' ) ;
    INTO CURSOR ReportTemp

*-- Закрываем таблицу, из которой произволась выборка. Она более не нужна.
USE IN SELECT( 'EMPLOYEE' )

*-- Далее вызываем функци, которая программно создасть отчет.
*-- Это включено сюда только для того, чтобы запустить код образца "как есть",
*-- без требования к разработчику вручную создать отчет.
MakeReport()

*-- Создаем экземпляр PreviewListener, класс которого определен ниже в этом коде
*-- Вызываем его настраиваемый метод InitBLOBImage(), который создает экземлпяр объекта IMAGE.
*-- Свойство PictureVal этого объекта IMAGE установлено в поле BLOB ( 'ReportTemp.PIC' ), а его ссылка ( loRL.oBlobImage )
*-- используется как source элемента управления для OLE Bound control в отчете.
loRL = NEWOBJECT( 'PreviewListener' )
loRL.InitBLOBImage( 'ReportTemp.PIC' )

*-- Убеждаемся, что курсор выбран,и затем запускаем отчет на просмотр с помощью
*-- экземпляра Report Listener.
SELECT ReportTemp
REPORT FORM BlobReport OBJECT loRL
CLOSE DATA ALL
RETURN

*--------------------------------
*-- Ниже представлен один из способов перерисовки картинки
*-- в классе IMAGE когда изменяется указатель записи в управляемом отчетом курсоре;
*-- это не происходит автоматически. Это может быть сделано с помощью определенной пользователем функции
*-- в PrintWhen элемента управления OLE Bound в отчете или так, как показано здесь,
*-- с помощью события BEFOREBAND() Event объекта Report Listener .
DEFINE CLASS PreviewListener AS REPORTLISTENER
    oBlobImage = NULL
    PicBlobFld = ''
    LISTENERTYPE = 1  && Preview Listener

    PROCEDURE InitBLOBImage(lpcBlobField AS STRING)
        THIS.PicBlobFld = lpcBlobField
        THIS.oBlobImage = NEWOBJECT( 'IMAGE' )
        THIS.oBlobImage.PICTUREVAL = THIS.PicBlobFld
    ENDPROC

    PROCEDURE BEFOREBAND( nBandObjCode, nFRXRecNo )
        *-- До того, как полоса DETAIL будет визуализирована, ;
        *-- просто перерисовываем объект IMAGE так, чтобы он имел корректную
        *-- картинку из поля BLOB.
        IF nBandObjCode = 4 && Detail band
            THIS.oBlobImage.PICTUREVAL =;
                EVALUATE( THIS.PicBlobFld )
        ENDIF
    ENDPROC
ENDDEFINE

*--------------------------------
*-- Приведенная ниже функция программно создает отчет
*-- с элементом управления OLE Bound и прочими полями. This is included
*-- Это включено только для целей демонстрации, чтобы код статьи мог бы быть запущен.
*-- Обычно, вы должны сами, вручную создать отчет с помощью конструктора отчета
FUNCTION MakeReport
    CREATE REPORT BlobReport FROM ReportTemp

    *-- Открывает файл отчета (FRX) как таблицу.
    USE BlobReport.FRX IN 0 ALIAS TheReport EXCLUSIVE
    SELECT TheReport

    *-- Увеличиваем высоту полосы Detai
    *-- (ObjType = 9 & ObjCode = 4) для того, чтобы она вместила элемент управления
    *-- Picture/OLE Bound, который будет вставлен далее.
    UPDATE TheReport SET Vpos = 0, Hpos = 0, HEIGHT = 23542;
        WHERE ObjType = 9 AND ObjCode = 4

    *-- Так как мы увеличили высоту Detail Band, нам необходимо переместить
    *-- элементы из подножия вниз, так чтобы они вновь вернулись в область подножия.
    UPDATE TheReport SET Vpos = 29479.167 ;
        WHERE ( ObjType = 8 OR ObjType = 5 ) AND ;
        INLIST( EXPR, 'DATE()', '"Page "', '_PAGENO' )

    *-- Добавляем в отчет элемент управления Picture/OLE Bound вставкой записи
    *-- с соответствующими значениями. Использование здесь объекта, который основан на классе EMPTY
    *-- и класса GATHER NAME позднее, для вставки записей, позволит легко увидеть,
    *-- какие значения какому полю принадлежат (по сравнению с большой командой
    *-- SQL-INSERT ).
    LOCAL loNewRecObj AS EMPTY
    loNewRecObj = NEWOBJECT( 'EMPTY' )
    ADDPROPERTY( loNewRecObj, 'PLATFORM', 'WINDOWS' )
    ADDPROPERTY( loNewRecObj, 'Uniqueid', SYS(2015) )
    ADDPROPERTY( loNewRecObj, 'ObjType', 17 ) && "Picture/OLE Bound Control"
    ADDPROPERTY( loNewRecObj, 'NAME', 'loRL.oBlobImage' ) && The object ref to the IMAGE object.
    ADDPROPERTY( loNewRecObj, 'Hpos', 27500.000) && Place it in DETAIL band.
    ADDPROPERTY( loNewRecObj, 'Vpos', 3854.167)
    ADDPROPERTY( loNewRecObj, 'HEIGHT', 21354.167)
    ADDPROPERTY( loNewRecObj, 'WIDTH', 25104.167)
    ADDPROPERTY( loNewRecObj, 'DOUBLE', .T. ) && Picture is centered in the "Picture/OLE Bound Control"
    ADDPROPERTY( loNewRecObj, 'Supalways', .T. )
    *-- Для элемента управления Picture/OLE Bound, содержимое поля OFFSET определяет -field specify whether
    *-- что будет использовано в качестве источника Filename (0), General field name (1) или Expression (2).
    ADDPROPERTY( loNewRecObj, 'Offset', 2 )

    *-- Добавляет в отчет запись, касающуюся Picture/OLE Bound.
    APPEND BLANK IN TheReport
    GATHER NAME loNewRecObj MEMO

    *-- Чистимся и затем закрывает таблицу отчета.
    PACK MEMO
    USE IN SELECT( 'TheReport' )
ENDFUNC
*
*------------ END CODE
  3. Скопируйте во второй файл приведенный ниже код. Этот код демонстрирует отображение картинок, хранящихся в поле BLOB на форме.
Скопировать код
*------------ START CODE
*
*-----------------------------------
* AUTHOR:    Trevor Hancock
* CREATED:   03/04/05 01:03:07 P.M.
* ABSTRACT: Code from Microsoft Knowledge Base
*                 article 895602. Visual FoxPro code that shows how
*                 to display pictures that are
*                 stored in a BLOB field on a form.
*-----------------------------------
CLOSE DATA ALL

*-- Создайте временный курсор с несколькими полями, одно из которых BLOB
*-- Сохраните в этом поле картинки, как raw binary data.
SELECT 	;
    CAST( ;
    FILETOSTR( HOME( ) + 'Samples\Tastrade\' + Photo_File ) ;
    AS BLOB ) AS 'PIC' FROM ;
    HOME( ) + 'Samples\Tastrade\data\Employee.dbf' ;
    INTO CURSOR BlobTemp

*-- Закрываем таблицу, из которой произволась выборка. Она более не нужна.
USE IN SELECT( 'EMPLOYEE' )

*-- Создаем форму для отображения картинок.
PUBLIC goForm
goForm = NEWOBJECT( 'Form' )

WITH goForm AS FORM
    *-- Добавляет класс IMAGE для отображения картинок.
    *-- Это сделано путем установки свойства PICTUREVAL элемента управления IMAGE.
    .ADDOBJECT( 'IMG1', 'Image' )
    .Img1.PICTUREVAL = BlobTemp.PIC

    *-- Добавляем EditBox для отображения бинарных данных непосредственно из поля BLOB.
    *-- Хотя это и не требуется, но сделаем это, так как забавно посмотреть на бинарные данные :).
    .ADDOBJECT( 'Edt1', 'EditBox' )
    .Edt1.MOVE(.Img1.WIDTH + 5, 0, .Img1.WIDTH, .Img1.HEIGHT)
    .Edt1.CONTROLSOURCE = 'BlobTemp.PIC'

    *-- Добавляем кнопки навигации, для того, чтобы вы смогли перемещаться по записям курсора
    *-- Класс NAV определен ниже в этом коде.
    .ADDOBJECT( 'NAV', 'NavBtns' )
    .NAV.MOVE( (.WIDTH - .NAV.WIDTH) + 13 , .Edt1.HEIGHT + 2 )

    .WIDTH = .Img1.WIDTH + .Edt1.WIDTH + 7
    *-- Делаем форму более изящной установкой нескольких якорей и определения ее минимальной ширины/высоты.
    .NAV.ANCHOR = 192
    .Edt1.ANCHOR = 15
    .MINWIDTH = .WIDTH
    .MINHEIGHT = .HEIGHT
    .AUTOCENTER = .T.
    .CAPTION = 'Picture and Raw BLOB Data'
    .SETALL( 'VISIBLE', .T. )
ENDWITH

goForm.SHOW(1)
CLOSE DATA ALL

*--------------------------------
*-- Представленное ниже является просто субклассом фундаментального класса FoxPro
*-- с именем _DataNavBtns (размещенного в HOME() + '\FFC\_datanav.vcx').
*-- Это то место, где мы перерисовываем данные поля BLOB, отображаемые классом IMAGE
*-- сбросом значения PICTUREVAL непосредственно перед переходом к другой записи.
*-- В отличие от OLE Bound, заполняемого из поля GENERAL,
*-- IMAGE автоматически не перерисовыет данные из BLOB, когда указатель записи смещается.
*-- Здесь мы принуждаем его сделать это.
DEFINE CLASS NavBtns AS _datanavbtns OF HOME() + '\FFC\_datanav.vcx'
    BORDERWIDTH = 0
    PROCEDURE EnableDisableButtons
        THIS.PARENT.Img1.PICTUREVAL = BlobTemp.PIC
        DODEFAULT()
ENDDEFINE
*
*------------ END CODE

Теперь сохраните и запустите обе программы.

Смотрите также

База знаний Microsoft

Перевод статей из базы знаний Microsoft

© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


File is in use in another data session (Error 2191)

Visual FoxPro 9.0
File is in use in another data session (Error 2191) Файл используется в другом сеансе данных (Ошибка 2191)

Эта ошибка сгенерирована функцией MAKETRANSACTABLE( ), если таблица, для которой вы разрешили транзакцию, имеет сурсор, открытый в другом сеансе данных.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Saving a converted form as a class is not supported (Error 1490)

Visual FoxPro 9.0
Saving a converted form as a class is not supported (Error 1490) Сохранение конвертированной формы как класса не поддерживается (Ошибка 1490)

Вы попытались сохранить сконвертированный экран FoxPro 2.x как класс с помощью метода SaveAsClass. Это - неверное действие.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Only structural tags can be defined as candidate (Error 1885)

Visual FoxPro 9.0
Only structural tags can be defined as candidate (Error 1885) Только структурированные тэги могут быть определены как candidat (Ошибка 1885)

Вы попытались создать ключ - candidate (как INDEX ON ... CANDIDATE), который был также определен в файле IDX или в тэге другого CDX-файла.

Создайте индекс candidate в структурированном CDX file.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


SQL: Cannot determine data type of SQL column "column" (Error 1890)

Visual FoxPro 9.0
SQL: Cannot determine data type of SQL column "column" (Error 1890) SQL: невозможно определить тип данных столбца SQL "столбец"

Visual FoxPro не может определить тип данных определенного столбца SQL, поскольку первая записьв поле содержит нулевое значение.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot nest the PRINTJOB command (Error 1337)

Visual FoxPro 9.0
Cannot nest the PRINTJOB command (Error 1337) Невозможно вложение команды PRINTJOB (Ошибка 1337)

После определения команды PRINTJOB команда ENDPRINTJOB не была найдена перед другой командой PRINTJOB.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


GDI memory is low, close one or more windows and try again (Error 1986)

Visual FoxPro 9.0
Мало GDI памяти, закройте одно или более окон и повторитет попытку (Ошибка 1986)

Закройте все открытые приложения и перезагрузите Windows на вашем компьютере.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File "name" is read-only (Error 1718)

Visual FoxPro 9.0
File "name" is read-only (Error 1718) Файл "имя"- только для чтения (Ошибка 1718)

Вы попытались записать в файл только для чтения.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot access file "file"; transaction is in progress. (Error 1106)

Visual FoxPro 9.0
Нельзя обратиться к файлу "имя файла"; выполняется транзакция. (Ошибка 1106)

Visual FoxPro не может обратиться к таблице, индексу, или файлу мемо, потому что выполнение транзаккции еще не закончено.

FLOCK () и RLOCK () обычно не препятствует другим пользователям читать блокированную информацию. Это сообщение, которое прокручивается слева направо, чтобы указать, что Visual FoxPro все еще активен, обеспечивает совместимость с системой прослеживания транзакций Novell (TTS).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Too many arguments (Error 1230)

Visual FoxPro 9.0
Too many arguments (Error 1230) Слишком много аргументов (Ошибка 1230)

Вызов функции содержит количество аргументов более, чем разрешенное.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


NOWAIT/SAVE/NOENVIRONMENT/IN/WINDOW clauses are not allowed with the FROM clause (Error 1696)

Visual FoxPro 9.0
Предложение NOWAIT/SAVE/NOENVIRONMENT/IN/WINDOW не разрешены в предложении FROM (Ошибка 1696)

Эти предложения не могут быть включены, когда Вы создаете быстрый отчет предложением FROM.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No table is open in the current work area (Error 52)

Visual FoxPro 9.0
Нет открытых таблиц в текущей рабочей области (Ошибка 52)

Таблица не была открыта во время, когда Visual FoxProпопытался выполнять команду над таблицей.

  • Текущая рабочая область не имеет открытой таблицы.

    Откройте таблицу или смените рабочую область.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Number of affected rows is not available (Error 2155)

Visual FoxPro 9.0
Количество обработанных строк не доступно (Ошибка 2155)

Эта ошибка генерируется когда класс CursorAdapter не может установить конфликт при модификации, потому что источник данных не возвращает количество обработанных строк.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Color set resource is not found (Error 1642)

Visual FoxPro 9.0
Ресурс цветовой схемы не найден (Ошибка 1642)

Вы сделали попытку обратиться к установкам цвета SET COLOR SET TO , которые не найдены в текущем файле ресурса. Проверьте текущий файл ресурса с помощью SYS(2005) .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Expression has been re-entered while the filter is executing (Error 1148)

Visual FoxPro 9.0
Повторное задание выражения, во время выполнения фильтра (Ошибка 1148)

Выражение в SET FILTER TO задано повторно, в то время как оно выполняется. Это может произойти при комбинировании установок SET RELATION или SET FILTER, или во время использования функций Visual FoxPro или пользовательских функций, которые ссылаются на другие рабочие области, типа LOOKUP( ) или SEEK( ).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


GroupBy clause is too long. (Error 2053)

Visual FoxPro 9.0
Предложение Group By слишком велико. (Ошибка 2053)

?

Предложение Group By превышает 256 символов. Пробуйте сократить число символов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Connectivity internal consistency error (Error 1522)

Visual FoxPro 9.0
Ошибка внутренней последовательности соединения (Ошибка 1522)

Внутренняя ошибка обеспечения соединения.

Если эта ошибка происходит, запишите ваши недавние действия при использовании Visual FoxPro и затем вообщите в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Too many READ commands are in effect (Error 1249)

Visual FoxPro 9.0
Слишком много команд READ выполняется (Ошибка 1249)

Максимальный уровень вложенности для команды READ (5) был превышен.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" cannot be closed while suspended (Error 1932)

Visual FoxPro 9.0
"имя" не может быть закрыто пока находится в состоянии "приостановленно" (Ошибка 1932)

Выполните команду RESUME или CANCEL для сохранения процедуры перед попыткой повторного выполнения операции вызвавшей данную ошибку.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Unhandled Structured Exception (Error 2059)

Visual FoxPro 9.0
Необработанное Структурное Исключение (Ошибка 2059)

Необработанное исключение может произойти при следующих условиях:

  • Ошибка, которая произошла, или исключение, которое было запущено в блоке TRY , CATCH , или FINALLY не были захвачены структурным обработчиком ошибки типа TRY...CATCH...FINALLY .

  • Структурный обработчик ошибки не захватил запущенное исключение, которое произошло вне структуры TRY...CATCH...FINALLY .

Вы можете захватить необработанное структурное исключение, используя следующие неинтегрированные обработчики исключений:

  • ON ERROR Команда

  • Error Event

  • Системный Обработчик Visual FoxPro

Для каждого из этих обработчиков ошибок, номером ошибки, возвращенным функцией ERROR( ) является - 2059. Visual FoxPro обеспечивает описание первоначальной ошибки. Вы можете также получить дополнительную информацию о первоначальной ошибке, которая вызвала необработанное исключение из функций SYS(2018) - Параметр Сообщения об ошибке , MESSAGE( ) , и AERROR( ) . Функция SYS(2018) возвращает то же самое значение в третьем элементе массива, возвращаемого функцией AERROR( ) . Функция MESSAGE( ) возвращает то же самое значение во втором элементе массива, возвращаемого AERROR( ) .

Если необработанное исключение было вызвано инструкцией THROW , значением SYS(2018) является 2071, или User Thrown Error .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Преобразование отменено. Установите memo BLOCKSIZE (Ошибка 1509)

Visual FoxPro 9.0
Преобразование отменено. Установите memo BLOCKSIZE (Ошибка 1509)

Вы пытаетесь преобразовать dBASE-таблицу с мемо blocksize менее 512K.

Для того, чтобы успешно преобразовать файл для Visual FoxPro, вернитесь назад в dBASE и установите мемо blocksize больше или равным 512K.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


"name" is not a valid resource file (Error 1294)

Visual FoxPro 9.0
"имя" не является корректным файлом ресурсов (Ошибка 1294)

Файл ресурсов был поврежден. По умолчанию, файл ресурсов имеет имя FoxUser (FoxUser.dbf и FoxUser.fpt).

  • FoxUser.dbf, FoxUser.fpt или один из используемых Вами по умолчанию файлов ресурсов поврежден.

    Восстановите Ваш файл ресурсов из резервной копии или завершите работу с Visual FoxPro, затем удалите файлы ресурсов и снова запустите Visual FoxPro.

    Для того чтобы проверить, какой именно файл ресурсов используется, посмотрите закладку File Locations в диалоговом окне Options или используйте команду SET RESOURCE.

    Если на Вашем компьютере установлено несколько версий Visual FoxPro, то убедитесь, что каждая версия Visual FoxPro использует свой собственный файл ресурсов.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


vfp.VFPXMLProgId does not support cSchemaLocation parameter for XMLUpdateGram(). (Error 2137)

Visual FoxPro 9.0
vfp.VFPXMLProgId не поддерживает параметр cSchemaLocation для XMLUpdateGram (). (Ошибка 2137)

Происходит, когда Visual FoxPro пытается использовать параметр cSchemaLocation в измененной реализации XMLUpdateGram с помощью vfp.VFPXMLProgid. Visual FoxPro не позволяет использовать параметр cSchemaLocation в измененной реализации.

  • Если параметр cSchemaLocation требуется в вашей измененной реализации XMLUpdateGram , добавьте значение к схеме через вашу собственную реализацию.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Index does not accept NULL (Error 1886)

Visual FoxPro 9.0
Индекс не принимает значений NULL (Ошибка 1886)

Ваше ключевое индексное выражение равно NULL, что является недопустимым значением индекса. Это может часто случаться с первичными ключами или возможными на эту роль ключами (candidate).

Измените значения записей так чтобы выражение не было равно NULL.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Command contains unrecognized phrase/keyword (Error 36)

Visual FoxPro 9.0
Команда содержит неопознанную фразу/ключевое слово (Ошибка 36)

Фраза, начинающаяся с недопустимого ключевого слова использовалась в командной строке.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Internal consistency error (Error 1000)

Visual FoxPro 9.0
Внутренняя ошибка совместимости(Error 1000)

Запишите последние действия, которые Вы совершили в Visual FoxPro и затем обратитесь в Microsoft Support.

Коментарии об этой статье в шлите корпорацию Microsoft. c Microsoft Corporation. All rights reserved.


CANCEL or SUSPEND is not allowed (Error 1651)

Visual FoxPro 9.0
CANCEL или SUSPEND запрещены (Ошибка 1651)

Файл отчета или этикети dBASE IV, которые Вы выполняете, запрашивают директиву SUSPEND. Это - недопустимая операция в Visual FoxPro.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Database is read-only (Error 1570)

Visual FoxPro 9.0
База данных только для чтения (Ошибка 1570)

Команды типа VALIDATE DATABASE и те, которые приводят к созданию или модификации объектов базы данных требуют права записи в базу данных.

Закройте базу данных и повторно откройте её с доступом позволяющим запись.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class cannot be instantiated because member "name" does not exist (Error 1441)

Visual FoxPro 9.0
Невозможно создать экземпляр класса, потому что элемент "name" не существует (Ошибка 1441)

Предложение IMPLEMENTS в команде DEFINE CLASS использует элемент, не включенный в определение класса. Для подробной информации, см. DEFINE CLASS Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot clear class "class" because it is in use. (Error 1770)

Visual FoxPro 9.0
Невозможно очистить класс "class", потому что он используется. (Ошибка 1770)

Указанный класс не может быть удален из библиотечный файла .vcx во время использования определения класса. Эта ошибка может произойти при использовании команды REMOVE CLASS , предложения OVERWRITE команды ADD CLASS или команды RENAME CLASS .

  • Примените CLEAR ALL для удалять всех ссылок на класс и сделайте повторную попытку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Missing #ENDIF (Error 1724)

Visual FoxPro 9.0
Отсутствие #ENDIF (Ошибка 1724)

Вы запустили команду #IF без соответствующей #ENDIF.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Syntax error in the field expression (Error 1242)

Visual FoxPro 9.0
Синтаксическая ошибка в выражении поля (Ошибка 1242)

Недопустимое выражение с участием поля.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Primary key already exists (Error 1883)

Visual FoxPro 9.0
Первичный ключ уже существует (Ошибка 1883)

Вы попытались использовать предложение ADD PRIMARY KEY команды ALTER TABLE к таблице, которая уже имеет первичный ключ.

Сначала удалите существующий первичный ключ.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Textmerge is recursive. (Error 2044)

Visual FoxPro 9.0
Рекурсивный вызов Textmerge. (Error 2044)

Функция textmerge вычисляет выражение, которое само выполняет textmerge.

Комментарии об этой статье шлите в корпорацию Microsoft. Microsoft Corporation. All rights reserved.


Index or expression does not match an existing member of the collection. (Error 2061)

Visual FoxPro 9.0
Индекс или выражение не соответствуют существующему элементу коллекции. (Ошибка 2061)

Предоставленный индекс или выражение не соответствуют ни одному из тех, которые соответствуют элементу коллекции. проверьте, что Вы обеспечили допустимый индекс или выражение для существующего элемента.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The current object does not inherit from class "name" (Error 1935)

Visual FoxPro 9.0
Текущий объект не наследует от класса "name" (Ошибка 1935)

Вы определили имя класса, которое не находится в иерархии наследования текущего объекта.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


A subdirectory or file "name" already exists (Error 1961)

Visual FoxPro 9.0
Подкаталог или файл "name" уже существуют (Ошибка 1961)

Вы выбрали имя, которое уже существует.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Fatal error nExpr reporting error nExpr.

Visual FoxPro 9.0
Неустранимая ошибка nExpr отчета об ошибке nExpr.

Код ошибки не возвращается. Visual FoxPro закрывает все открытые файлы и завершает работу.

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обращайтесь в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Error building temporary index (Error 1831)

Visual FoxPro 9.0
SQL: Ошибка при построении временного индекса (Ошибка 1831)

Временный индекс не может быть сформирован, возможно из-за недостаточного дискового пространства.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid coordinates (Error 1959)

Visual FoxPro 9.0
Недопустимые координаты (Ошибка 1959)

Значения координат должны быть больше чем -32768 и меньше чем 32767.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Text generation is canceled (Error 1792)

Visual FoxPro 9.0
Генерация текста отменена (Ошибка 1792)

Программа гернерации текста, SCCTEXT.PRG (или программа, значение которой сохранено в системной переменной _SCCTEXT ), была приостановлена.

  • Вы нажимали клавишу ESC.

    Программа находилась в процессе создания текстовых версий файлов проекта чтобы зарегистрировать управление исходником. Избегайте нажимать ESC при регистрации файлов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Report contains a nesting error (Error 1645)

Visual FoxPro 9.0
Отчет содержит ошибку вложения (Ошибка 1645)

Определяемая пользователем функция в форме отчета вызвала REPORT FORM .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot change MemberClass because existing member objects have outstanding references (Error 2073)

Visual FoxPro 9.0
Невозможно изменить MemberClass, потому что существующие объекты члена имеют снешние ссылки (Ошибка 2073)

Была сделана попытка изменения MemberClass существующего контейнерного объекта, во время существования внешних ссылок на некоторые объекты в объекте MemberClass.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Width or decimal place argument is invalid (Error 1908)

Visual FoxPro 9.0
Параметр ширины или десятичных знаков недопустимы (Ошибка 1908)

Длина или параметр десятичных знаков оказались недопустимы в функции STR( ) .

Сумма указанной левой границы и отступа параграфа превысило правую границу.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error accessing printer spooler (Error 1957)

Visual FoxPro 9.0
Ошибка обращения к спулеру принтера (Ошибка 1957)

Внутренний вызов функции GetPrinter( ) неудачен. Visual FoxPro вызывает эту функцию также через PRTINFO( ) или SET PRINTER TO .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Array "name" is in use (Error 1972)

Visual FoxPro 9.0
Массив "name" используется (Ошибка 1972)

Объект попытался изменить размеры массива, который его содержит.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Expression is too complex (Error 1947)

Visual FoxPro 9.0
Выражение слишком сложное (Ошибка 1947)

Ваше индексное выражение слишком длинное. Максимальное число символов, разрешенное для индексного ключа .IDX - 100. Максимальное число символов, разрешенное для индексного ключа .CDX - 240.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Length of variable strings exceeds amount of memory (Error 21)

Visual FoxPro 9.0
Длина строковых переменных превышает объем памяти (Ошибка 21)

Общая длина всех строковых переменных превысила объем памяти.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CTOD and CTOT can produce incorrect results. (Error 2033)

Visual FoxPro 9.0
CTOD и CTOT могут дать неправильные результаты. (Ошибка 2033)

Эта ошибка происходит по тем же самым причинам, что и ошибка 2032, но CTOD( ) и CTOT( ) могут быть неоднозначными.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The selected printer driver does not support direct access (Error 1524)

Visual FoxPro 9.0
Драйвер выбранного принтера не поддерживает прямой доступ (Ошибка 1524)

Принтер, который Вы выбрали и установили через вашу операционную систему, не разрешает прямого доступа. Вы можете попробовать в Windows драйвер только Generic/Text, или эквивалентый. Имейте в виду, что опция "ASCII File" в Visual FoxPro минует драйвер принтера и посылает содержание выбранного файла непосредственно на принтер. Вы должны быть уверены, что любой файл, посланный этим способом, содержит допустимые команды принтера и/или что выбран соответствующий драйвер.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The table must be converted before appending (Error 1778)

Visual FoxPro 9.0
Таблица должна быть конвертирована перед добавлением (Ошибка 1778)

Вы попытались использовать команду APPEND FROM к таблице, которая не была создана Visual FoxPro.

Зарезервируйте ваш первоначальный файл, и конвертируйте копию таблицы для использования Visual FoxPro.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ADODB.Recordset is not opened. (Error 2143)

Visual FoxPro 9.0
ADODB.Recordset не открыт. (Ошибка 2143)

Visual FoxPro требует, чтобы ADO Recordset был открыт когда он передается как параметр источника в методы CursorFill.

  • Убедитесь, что ADO Recordset был должным образом открыт и что состояние ADO Recordsets State установлено в adStateOpen (1).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Operation requires that SET MULTILOCKS is set to ON (Error 2183)

Visual FoxPro 9.0
Операция требует, чтобы SET MULTILOCKS был установлен в ON (Ошибка 2183)

Эта ошибка возникает, когда Visual FoxPro пытается генерировать значение для автоинкрементного поля. Для автоинкрементации поля, таблица или текущая запись должны быть блокированы, или команда SET MULTILOCKS должна быть установлена в ON.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cyclic relation (Error 44)

Visual FoxPro 9.0
Зацикливание связи (Ошибка 44)

Предпринята попытка зацикливания связи через определение последовательности связей, которые в конечном счете указывают на таблицу, которая уже связана.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"file" is not an object file (Error 1309)

Visual FoxPro 9.0
"файл" не является объектным файлом (Ошибка 1309)

Была сделана попытка загрузить скомпилированную программу Visual FoxPro, у которой нет надлежащего заголовка.

  • Проверьте имя файла, который Вы пытаетесь выполнить, используя команду DO.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


No update tables are specified. Use the Tables property of the cursor (Error 1491)

Visual FoxPro 9.0
Не определены таблицы для модификации. Используйте свойство курсора Tables (Ошибка 1491)

Нет базовых таблиц в свойстве представления Tables.

Установите свойство Nables для определения базовой таблицы или таблиц, которые должны быть модифицированы из представления. Для большинства представлений Вы можете использовать Дизайнер Представления для задания свойств модификации представления и последующего обратного сохранения представления в базе данных. Для подробной информации, см. CURSORGETPROP( ) Функция .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Printer access denied (Error 1956)

Visual FoxPro 9.0
Нет доступа к принтеру (Ошибка 1956)

Отказ внутреннего запроса к функции OpenPrinter( ). Visual FoxPro вызывает эту функцию через PRTINFO( ) или SET PRINTER TO .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File "name" is too large (Error 1190)

Visual FoxPro 9.0
Файл "name" является слишком большим (Ошибка 1190)

Файл является слишком большим для модификации.

  • Файл имеет размер больше чем 2 GB.

    Используйте методы для уменьшения размеров файла, и затем повторите попытку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Database is invalid. Please validate (Error 1561)

Visual FoxPro 9.0
База данных неработоспособна. Пожалуйста проверьте правильность (Ошибка 1561)

Visual FoxPro обнаружил проблему со структурой базы данных.

Пробуйте выполниться VALIDATE DATABASE для диагностирования или устранения проблемы.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unrecognized command verb (Error 16)

Visual FoxPro 9.0
Имя команды не распознано (Ошибка 16)

Словом, используемым в начале командной строки была надопустимая команда Visual FoxPro. Для подробной информации, см. Зарезервированные слова .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Warning: The query timeout cannot be set (Error 1482)

Visual FoxPro 9.0
Предупреждение: таймаут запроса не может быть установлен (Ошибка 1482)

Таймаут запроса соединения не может быть установлен драйвером ODBC. Соединение будет использовать заданный по умолчанию таймаут запроса, установленный драйвером.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot close or detach extended cursor because it is currently in design mode. (Error 2079)

Visual FoxPro 9.0
Cannot close or detach extended cursor because it is currently in design mode. (Error 2079)
Не могу закрыть или открепить расширенный курсор, так как он находится в режиме разработки (редактирования)

Такое происходит, если курсор в системной сессии данных закрыт либо по недосмотру, либо самопроизвольно.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


SQL: Internal error (Error 1800)

Visual FoxPro 9.0
SQL: Внутренняя ошибка (Ошибка 1800)

Произошла внутренняя ошибка.

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обращайтесь в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XML Error: "error" (Error 2110)

Visual FoxPro 9.0
XML Ошибка: "error" (Ошибка 2110)

Происходит, когда ошибка вызывается из объекта MSXML, при попытке загрузить или присоединить XML.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ENDTEXT does not have corresponding TEXT statement (Error 1214)

Visual FoxPro 9.0
ENDTEXT не имеет соответствующей инструкции TEXT (Ошибка 1214)

Инструкция ENDTEXT не находит соответствующей инструкции TEXT .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


An IF | ELSE | ENDIF statement is missing (Error 1211)

Visual FoxPro 9.0
Инструкции IF | ELSE | ENDIF отсутствуют (Ошибка 1211)
См. Также

Часть инструкции или пропущена или расположена не в том месте. Проверьте несоответствующее использование IF … ENDIF в пределах другой управляющей структуры.

Следующий пример завершается со сбоем потому что ENDIF помещена в пределах инструкции DO CASE....ENDCASE .

IF .T.

   DO CASE

      CASE .T.

ENDIF

   ENDCASE

Для подробной информации о командах условного перехода, см. IF ... ENDIF Команда .

См. Также

Ссылки

IF ... ENDIF Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Object already has a data environment; cannot use another one with the SaveAs method (Error 1985)

Visual FoxPro 9.0
Объект уже имеет окружение данных; он не может использовать другое с методом SaveAs (Ошибка 1985)

Вы не можете определить другое окружение данных с методом SaveAs .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Objects cannot be programmatically deleted from the Form Designer (Error 1989)

Visual FoxPro 9.0
Объекты не могут быть програмно удалены в Дизайнере Формы (Ошибка 1989)

Вы попытались програмно удалить формы из формсета в Дизайнере Формы . Это не может быть сделано.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Database "name": File access denied (Error 1569)

Visual FoxPro 9.0
База данных "name": в доступе к файлу отказано (Ошибка 1569)

Вы попытались писать в защищенный от записи файл контейнера базы данных (.dbc).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File already exists (Error 7)

Visual FoxPro 9.0
Файл уже существует (Ошибка 7)

Имя файла, в которое Вы попытались переименовывать, уже существует. Эта ошибка обычно генерируется командой RENAME .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Window specified in DEFINE WINDOW has invalid coordinates (Error 332)

Visual FoxPro 9.0
Окно, указанное DEFINE WINDOW имеет недопустимые координаты (Ошибка 332)

Была сделана попытка определить координаты окна вне допустимого диапазона.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot change modality of a visible form (Error 1573)

Visual FoxPro 9.0
Невозможно изменить модальность видимой формы (Ошибка 1573)

Параметр nStyle метода Show не может быть изменен, в то время как форма является видимой.

  • Вы выполняете метод формы Show с параметром, в то время как форма является видимой.

    Изменяйте модальность формы, в то время как она не является видимой, используя код, подобный следующему:

    Скопировать код
    Form1.Hide
Form1.Show(nStyle)
Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot build without a main program (Error 1689)

Visual FoxPro 9.0
Невозможно скомпоновать без главной программы (Ошибка 1689)

Главная программа в указанном проекте не может быть найдена или не была назначена.

  • Проекты должны иметь главную программу.

    Для подробной информации, см. Set Main в меню Project .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to process error.

Visual FoxPro 9.0
Невозможно обработать ошибку.

Номер ошибки не возвращается. Visual FoxPro закрывает все открытые файлы и завершает работу.

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обращайтесь в службе поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Illegal GROUP BY in subquery (Error 1828)

Visual FoxPro 9.0
SQL: Недопустимое GROUP BY в подзапросе (Ошибка 1828)

При использовании одного из этих шести операторов +,-, *,/, < и >, может быть только одна строка вывода. Для подробной информации, см. Команда SELECT - SQL .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


You may not change the RecordSource of a BROWSE object (Error 1772)

Visual FoxPro 9.0
Вы не можете изменить RecordSource объекта BROWSE (Ошибка 1772)

Объект browse должен оставаться соответствующим своей таблице.

  • Вы попробовали изменить свойство RecordSource програмно.

    Чтобы просмотреть другую таблицу, закройте текущий browse и откройте для просмотра новую таблицу. Для подробной информации, см. Команда BROWSE или Свойство RecordSource .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


There is a duplicate field "name" in XML schema. (Error 2105)

Visual FoxPro 9.0
There is a duplicate field "name" in XML schema. (Error 2105)
В XML схеме имеется дубликат поля с именем "name" (Ошибка 2105)

Visual FoxPro не позволяет определять в схеме более одного поля с одним и тем же именем.

  • Убедитесь, что источник XML возвращает XML в корректном и ожидаемом формате.

  • Скорректируйте предоставленную схему и XML документ.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Menu was not pushed (Error 279)

Visual FoxPro 9.0
Меню не было помещено в стек(Ошибка 279)

Была сделана попытка вызвать меню или всплывающее меню, которые не были помещены в стек.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Offline views must be used exclusively when being used online (Error 2010)

Visual FoxPro 9.0
Offline views must be used exclusively when being used online (Error 2010)

Используйте опцию EXCLUSIVE совместно с опцией ONLINE, чтобы иметь доступ к Представлению offline. Более подробно см. раздел Команда USE .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot create file "file" (Error 102)

Visual FoxPro 9.0
Невозможно создать файл "file" (Ошибка 102)

Операционная система не может создать указанный файл по следующим возможным причинам:

  • Диск или каталог заполнены.

    Удалите файлы, и сделайте повторную попытку.

  • Вы не имеете доступа к указанному каталогу.

    Проверьте ваш уровень доступа.

  • Вы определили недопустимое имя файла.

    Проверьте наличие опечатки.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" can only be used within a method (Error 1929)

Visual FoxPro 9.0
"имя" может быть использовано только внутри метода (Ошибка 1929)

Одна из следующих ссылок была использована вне метода: THIS, THISFORM или THISFORMSET.

  • Вы использовали особые ссылки в процедуре, но эти ссылки можно использована только внутри метода.

    Переместите команды, использующие ссылки THIS, THISFORM или THISFORMSET в соответствующие методы.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


ODBC entry point missing, "name" (Error 1528)

Visual FoxPro 9.0
Отсутствие точки входа ODBC "name" (Ошибка 1528)

Точка входа для указанной функции не найдена в динамически подключаемой библиотеке ODBC32. Файл ODBC32.DLL поврежден.

Повторно установите компонент ODBC Visual FoxPro.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot close this database because it is being used by a project (Error 1535)

Visual FoxPro 9.0
Невозможно закрыть эту базу данных, потому что она используется проектом (Ошибка 1535)

Вы попытались закрыть контейнер базы данных, который используется проектом для отображения данных.

  • База данных должна остаться открытой, пока проект является открытым.

    Оставьте базу данных открытой, или закройте проект.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Record validation rule is violated (Error 1583)

Visual FoxPro 9.0
Правило проверки записи нарушено (Ошибка 1583)

Операция, которую Вы предприняли, нарушило правило проверки записи.

Исправьте значения записи или восстановите запись.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu specified in ACTIVATE MENU is already in use (Error 181)

Visual FoxPro 9.0
Меню, указанное в ACTIVATE MENU уже находится в использовании (Ошибка 181)

Вы попытались активизировать меню, которое уже является активным.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class "name" is in use by MODIFY CLASS (Error 1752)

Visual FoxPro 9.0
Класс "name" используется MODIFY CLASS (Ошибка 1752)

Вы попытались использовать класс, который в настоящее время редактируется в Дизайнере Класса .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Warning: The key defined by the KeyField property for table "alias" is not unique (Error 1495)

Visual FoxPro 9.0
Предупреждение: ключ, определенный свойством KeyField для таблицы "alias" не уникален (Ошибка 1495)

Ключ, указанный для этой таблицы изменил больше чем одну строку в базовой таблице для нескольких строк модифицируемого отдаленного представления.

Переопределите ключ, используя свойство представления KeyField.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Function requires row or table buffering mode (Error 1586)

Visual FoxPro 9.0
Функция требует режима буферизации строки или таблицы (Ошибка 1586)

Функция с помощью которой Вы сделали попытку запроса допускается для курсоров с буферизацией строки или таблицы. Установите свойство Буферизации в 2, 3, 4, или 5 командой CURSORSETPROP( )

для задания буферизации таблицы или строки. Послать комментарии


Tag name is too long (Error 1888)

Visual FoxPro 9.0
Имя тэга слишком велико (Ошибка 1888)

Имена тэгов не могут превышать 10 символов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot update ADODB.Recordset because it does not support a Bookmark property. (Error 2084)

Visual FoxPro 9.0
Невозможно модифицировать ADODB.Recordset, потому что он не поддерживает свойство Bookmark. (Ошибка 2084)

Происходит, когда поставляемый ADO Recordset не поддерживает закладки. Это зависит от источника данных.

  • Убедитесь что ADO Recordset сконфигурирован для поддержки обновлений.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Tab stops must be in ascending order (Error 228)

Visual FoxPro 9.0
Табуляторы должны находиться в возрастающем порядке (Ошибка 228)

Табуляторы, определенные для системной переменной _TABS должены находиться в возрастающем порядке.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File name is too long (Error 1918)

Visual FoxPro 9.0
Имя файла слишком велико (Ошибка 1918)

Размер имени файла превышает текущие системные возможности.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Subquery returned more than one record (Error 1860)

Visual FoxPro 9.0
Подзапрос возвратил более одной записи (Ошибка 1860)

Подзапросы связанные шестью обычными операторами <>, =, <=, >=, < или >, исключая ALL или ANY, могут извлечь только однострочный результат.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


There is no application associated with the given filename extension. (Error 2023)

Visual FoxPro 9.0
Нет приложения, ассоциированного с данным расширением имени файла. (Ошибка 2023)

Файл, который Вы попытались использовать в операции перетаскивания OLE не имеет ассоциированного с ним приложения.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Illegal recursion in rule evaluation (Error 1887)

Visual FoxPro 9.0
Недопустимая рекурсия в применении правила (Ошибка 1887)

Код правила или триггера привели первоначальный курсор, тот из которого правило или триггера были запущены, к попытке применить правило или триггер рекурсивно. Это может произойти при следующих условиях:

  • Попытка переместить указатель записи или измененить значения в первоначальном курсоре.

  • Попытка переместить указатель записи в обработчике события BeforeUpdate объекта CursorAdapter .

Проверьте код вашего правила или триггера.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No such menu or menu item is defined (Error 1612)

Visual FoxPro 9.0
Такое меню или пункт меню не определены (Ошибка 1612)

Значения переданные в команды READ MENU TO или READ MENU BAR TO не соответствуют определенному меню или пункту меню.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Icon is corrupt or in wrong format (Error 1167)

Visual FoxPro 9.0
Файл иконки поврежден или или имеет неверный формат (Ошибка 1167)

При выполнении BUILD EXE обнаружен недопустимый файл иконки (.ICO).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Reconnect of offline view failed (Error 2018)

Visual FoxPro 9.0
Повторное соединение автономного представления завершилось со сбоем (Ошибка 2018)

Представление не может осуществить повторное соединение как сетевое представление: один из компонентов представления не доступен или отсутствует. Например, базовая таблица для представления могла быть монопольно блокирована или отсутствовать, или мог отсутствовать файл контейнера базы данных (.dbc).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class definition "name" is not found (Error 1733)

Visual FoxPro 9.0
Определение класса "name" не найдено (Ошибка 1733)

Местоположение определения класса, указанное в функции CREATEOBJECT( ) не может быть найдено.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File access is denied (Error 1705)

Visual FoxPro 9.0
Доступ к файлу отклонен (Ошибка 1705)

Вы попытались записывать в файл, который защищен от записи или открыт монопольно другим пользователем.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error reading the resource (Error 1296)

Visual FoxPro 9.0
Ошибка чтения ресурса (Ошибка 1296)

Произошла внутренняя ошибка Visual FoxPro.

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обращайтесь в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" is a method, event, or object (Error 1737)

Visual FoxPro 9.0
"имя" это метод, событие или объект (Ошибка 1737)

имя не может сохранить значение, поскольку не является свойством

  • Только свойства могут сохранять значения.

    Проверьте все имена свойств объекта, с которым Вы работаете в данный момент (посмотрите Help по данному объекту) и используйте одно из существующих свойств или создайте новое в диалоге New Property.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Recursive macro definition (Error 1206)

Visual FoxPro 9.0
Рекурсивное макроопределение (Ошибка 1206)

Было выполнено максимальное количество макроподстановок (256 для любой инструкции) в текущей строке.

  • Макроподстановка ссылается сама на себя.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Warning: The connection packet size cannot be set (Error 1483)

Visual FoxPro 9.0
Предупреждение: размер пакета соединения не может быть установлен (Ошибка 1483)

Размер пакета соединения не может быть установлен драйвером ODBC. Соединение будет использовать заданный по умолчанию размер пакета драйвера. Это может повлиять на скорость работы этого соединения.

Обратитесь к документации по драйверу и сети для получения дополнительных способов установки размера сетевого пакета.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No rule to DROP (Error 1877)

Visual FoxPro 9.0
Отсутствует правило для DROP (Ошибка 1877)

Вы попытались использовать предложение DROP CHECK команды ALTER TABLE к столбцу (или таблице) без наличия правила. Это недопустимая операция.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Microsoft Excel file format is invalid (Error 1661)

Visual FoxPro 9.0
Недопустимый формат файла Microsoft Excel (Ошибка 1661)

Файл Microsoft Excel, который Вы попытались импортировать либо не является версией 5.0, либо был поврежден.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid call issued while executing a SQLTABLES( ) sequence (Error 1476)

Visual FoxPro 9.0
Выполнен недопустимый вызов при выполнении последовательности SQLTABLES( ) (Ошибка 1476)

Недопустимый вызов функции сквозного запроса SQL (SPT) был сделан в то время как функция SQLTABLES( ) должена была продолжить выполнение вызывающей последовательности SPT.

Вызывайте функцию SQLCANCEL( ) для отмены последовательности SPT или делайте соответствующие вызовы SPT для завершения вызывающей последовательности.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


One of the members of this class is based on a nonvisual class. Cannot write .VCX file (Error 1965)

Visual FoxPro 9.0
Один из членов этого класса основан на невизуальном классе. Невозможно записать файл .VCX (Ошибка 1965)

Вы включили невизуальный класс в определение вашего класса.

Удалите его, и повторите попытку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Queue "queue" is not found (Error 1716)

Visual FoxPro 9.0
Очередь "queue" не найдена (Ошибка 1716)

Очередь, указанная в команде SET PRINTER TO не может быть найдена.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Index tag is not found (Error 1683)

Visual FoxPro 9.0
Индексный тэг не найден (Ошибка 1683)

Тэг, на который Вы указали, не может быть найден в индексе.

Проверьте предложение TAG вашей команды.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorAdapter and XMLTable objects do not belong to the same data session. (Error 2125)

Visual FoxPro 9.0
Объекты CursorAdapter и XMLTable не принадлежат одной и той же сессии данных. (Ошибкаr 2125)

Происходит, когда объект CursorAdapter и XMLTable созданы в разных сессиях данных.

  • Убедитесь, что объект CursorAdapter и XMLTable созданы в одной и той же сессии данные перед их совместным использованием.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Cannot issue the PACK command on a database while its objects have open cursors (Error 1566)

Visual FoxPro 9.0
Невозможно применить команду PACK к базе данных, в то время как ее объекты имеют открытые курсоры (Ошибка 1566)

Закройте все таблицы базы данных перед применением команды PACK .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Too many fields in final or intermediate result have the same name (Error 2189)

Visual FoxPro 9.0
SQL: Много полей в конечном или промежуточном результатах имеют одно и то же имя (Ошибка 2189)

Конечные или промежуточные результаты не могут иметь больше чем 26 полей с одним и тем же именем.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorSchema property is not specified. (Error 2075)

Visual FoxPro 9.0
Свойство CursorSchema не определено. (Ошибка 2075)

Если окружение данных содержит адаптер курсора, но адаптер курсора не содержит правильных данных в свойстве CursorSchema , то Дизайнер Окружения Данных не открывается.

  • Проверьте что свойство адаптера курсора CursorSchema содержит правильные данные.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error code is not valid (Error 1941)

Visual FoxPro 9.0
Код ошибки недопустим (Ошибка 1941)

?

Ввод в команде ERROR не распознан.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field must be a Memo field (Error 350)

Visual FoxPro 9.0
Поле должно быть Memo-полем (Ошибка 350)

Командами APPEND или COPY MEMO , Вы попытались ввести имя поля, которое не является полем типа Memo.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Paradox file format is invalid (Error 1688)

Visual FoxPro 9.0
Paradox file format is invalid (Error 1688) Файл формата Paradox неверный (Ошибка 1688)

Paradox-файл, который вы попытались импортировать, либо не версии 3.5, либо разрушен.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Structure is invalid (Error 1235)

Visual FoxPro 9.0
Structure is invalid (Error 1235) Неверная структура (Ошибка 1235)

Структура таблицы, определенная CREATE FROM, не соответствует формату STRUCTURE EXTENDED.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Must be a character or numeric key field (Error 1145)

Visual FoxPro 9.0
Must be a character or numeric key field (Error 1145) Ключевое поле должно быть символьным или числовым (Ошибка 1145)

Ключевое поле, которое используется UPDATE ON, должно быть символьного типа, типа даты или числовым.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Object name is invalid (Error 1575)

Visual FoxPro 9.0
Object name is invalid (Error 1575) Невеное имя объекта (Ошибка 1575)

Вы определили имя для элемента объекта в методеAddObject, который неверен.

Проверьте имя и попытайтесь снова.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Application object not initialized (Error 1936)

Visual FoxPro 9.0
Объект приложения не инициализирован (Ошибка 1936)

Сервер Автоматизации или библиотека типов не зарегистрированы корректно.

  • Ваш файл системного реестра поврежден.

    Удалите запись системного реестра.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Insufficient stack space (Error 1308)

Visual FoxPro 9.0
Insufficient stack space (Error 1308) Недостаточный размер стека (ошибка 1308)

Произошло одно из следующего:

  • Ваша программа имеет много рекурсий.

  • Ваша программа слишком сложна и имеет слишком много вложений .

  • Ошибка в Visual FoxPro.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


This command is not supported for views (Error 1777)

Visual FoxPro 9.0
This command is not supported for views (Error 1777) Эта команда не поддерживается для представлений (view) (Ошибка 1777)

Представления (Views) не могут быть изменены этой командой. Эта ошибка имеет следующие причины и решения:

  • Используйте одну из следующих команд для изменения структуры view: ALTER TABLE, CREATE TRIGGER, DELETE TRIGGER, и MODIFY STRUCTURE.

    Используйте команды, обслуживающие представления (views), или используйте таблицу взамен view.

  • Измените структуру курсора view с помощьюTable Designer.

    Используйте View Designer, чтобы изменить структуру курсора, созданного определенным представлением (view).

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Maximum number of OLE arguments is exceeded (Error 1431)

Visual FoxPro 9.0
Превышено максимальное количество параметров OLE (Ошибка 1431)

Вы определили больше параметров для метода Автоматизации чем позволяется в Visual FoxPro.

Вызывайте метод с числом параметров менее 64.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Data environment is already unloaded (Error 1967)

Visual FoxPro 9.0
Окружение данных уже выгружено (Ошибка 1967)

Форма пытается закрывать таблицы при завершении работы.

  • AutoCloseTables установлен в истину (.T)..

    Не закрывайте программно таблицы окружения данных.

  • Метод CloseTables вызывается прежде, чем форма закрыта.

    Установите AutoCloseTables в ложь (.F)..

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot update ADODB.Recordset because FOX cursor does not have an ADOBookmark column. (Error 2085)

Visual FoxPro 9.0
Невоозможно обновить ADODB.Recordset, потому что FOX курсор не имеет столбца ADOBookmark. (Ошибка 2085)

Visual FoxPro требует, чтобы курсор был связан с ADO Recordset, если он будет использоваться для обновления ADO Recordset.

  • Для верификации того, что курсор ассоциирован с ADO Recordset, проверьте свойство SourceType , используя функцию CursorGetProp( ) . Допустимыми значениями для SouceType свойство являются 4, 104, и 204.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table "alias" has one or more non-structural indexes open. Please close them and retry the Begin Transaction (Error 1548)

Visual FoxPro 9.0
Таблица "alias" имеет один или более открытых неструктурных индексов. Пожалуйста закройте их и повторите Begin Transaction (Ошибка 1548)

Закройте все неструктурные (non-.CDX) индексы и повторите операцию.

Если другие индексы являются открытыми для файла, их запись будет идти непосредственно на диск и не будет отражаться в изменениях таблицы, пока Вы не примените END TRANSACTION. Следовательно, если будет выполнена ROLLBACK , то неструктурные индексы окажутся некорректными.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"field" phrase is not found (Error 1130)

Visual FoxPro 9.0
"поле" не найдено (Ошибка 1130)

Эта ошибка может произойти в следующих случаях:

  • Опция PROMPT field (определение меню) в команде ссылается на неизвестное поле или указанное поле не найдено.

  • Указано ошибочное значение для свойства RowSource объектов ComboBox или ListBox.

Перешлите комментарии о данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Key exceeds allowed size (Error 1124)

Visual FoxPro 9.0
Ключ превысил разрешенный размер (Ошибка 1124)

Откомпилированная версия индексного выражения превысила 150 байтов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error saving the OLE object (Error 1422)

Visual FoxPro 9.0
Ошибка сохранения объекта OLE (Ошибка 1422)

Недостаточно дискового пространства или доступных ресурсы для сохранения объекта.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error loading file - record number n. "object" <or one of its members>. "Issue": "error" (Error 1881)

Visual FoxPro 9.0
Ошибка загрузки файла - Запись с номером N. "object" <или один из его элементов>. "Issue": "Error" (Error 1881)

Данная ошибка происходит при чтении из файла формы (.scx) или файла класса (.vcx). Issue заменяется на "Properties," "Methods," или "User Properties."

Разрешение данной ошибки:

  1. Откройте соответствующий файл формы или класса как обычную таблицу:

    Копировать код
    USE myform.scx
  2. Переместите указатель записи на указанную (используя команду GO ).

Очень часто можно найти причину ошибки в соответствующих полях Properties, Methods, Class, Classloc, Objname, или Parent .

Обратите Внимание:
Вы должны сделать резервную копию вашей формы и файла класса перед тем, как вносить изменения в соответствующие поля найденной записи.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The name "name" is already used for another object. Please choose a different name (Error 1571)

Visual FoxPro 9.0
The name "name" is already used for another object. Please choose a different name (Error 1571) Имя "имя" уже используется для другого объекта. Пожалуйста, выберите другое имя (Ошибка 1571)

Никакие два объекта верхнего уровня в базе данных не могут иметь одно и то же имя базы.

Используйте DISPLAY DATABASE, чтобы посмотреть список всех объектов в базе данных.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


No menu items have been defined for this menu (Error 166)

Visual FoxPro 9.0
Никаких пунктов меню не было определено для этого меню (Ошибка 166)

Вы должны определить строку пункта меню для каждого меню.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The specified Key already exists. (Error 2062)

Visual FoxPro 9.0
Указанный ключ уже существует. (Ошибка 2062)

Указанный ключ элемента коллекции существует. Пробуйте использовать другой ключ. Ключи чувствительны к регистру, так что Вы можете использовать ключ, который имеет другой регистр.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Record is too long (Error 1126)

Visual FoxPro 9.0
Record is too long (Error 1126) Запись слишком длинна (Ошибка 1126)

При попытке создать файл таблицы была превышена максимальная длина для части данных записи (65,500 байт).Длина части данных записи равняется сумме длин индивидуальных полей записи.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot clear the object "object" because it is in use. (Error 1951)

Visual FoxPro 9.0
Невозможно очистить объект "object", потому что он используется. (Ошибка 1951)

Метод или код события в настоящее время выполняются для этого объекта. Это сообщение может также появиться при попытке удалить определение класса из памяти командой CLEAR ALL .

  • Перед очисткой памяти, прервите выполняющийся код или подождите, пока он не завершится.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorAdapter cannot locate current record in the buffer. The record may have been reverted. (Error 2092)

Visual FoxPro 9.0
CursorAdapter cannot locate current record in the buffer. The record may have been reverted. (Ошибка 2092)
CursorAdapter не может найти текущую запись в буфере. Запись могла быть восстановлена в прежнем состоянии.

Происходит в случае, если Visual FoxPro не может найти вставленную, удаленную или измененную запись в буфере.

  • Убедитесь, что прочие операции не изменяют состояние поля измененной записи.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Help for this topic/context not implemented. (Error 2050)

Visual FoxPro 9.0
Справка для этой темы не осуществляется. (Ошибка 2050)

Никакой информации верхнего уровня не существует для указанной темы. Пробуйте использовать функцию поиска.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File "name" is not closed (Error 1933)

Visual FoxPro 9.0
File "name" is not closed (Error 1933)

Внутренняя ошибка из-за несовместимости. Форма (файл .scx) или визуальная библиотека класса (файл .vcx) были закрыты, но метод или код события находятся все еще в использовании.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Environment-level property is invalid (Error 1473)

Visual FoxPro 9.0
Environment-level property is invalid (Error 1473)

Вы установили характеристику-свойство курсора, которое не может быть установлено в среде нового курсора. Вы должны сначала создать курсор, а затем использовать CURSORSETPROP( ).

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Syntax error (Error 10)

Visual FoxPro 9.0
Syntax error (Error 10) Синтаксическая ошибка (Ошибка 10)

Вы запустили команду, которая синтаксически некорректна.

  • Вы могли написать с ошибками команду или имя переменной, или использовали предложение, которое недействительно в текущем контексте.

    Нажмите F1, чтобы посмотреть контекстно-зависимую справку по команде.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


The table changes cannot be performed as the index or filter expression for index name would be invalid (Error 1531)

Visual FoxPro 9.0
Изменения таблицы не могут быть выполнены, так как индекс или выражение фильтра для имени индекса могут стать недопустимыми (Ошибка 1531)

Вы попытались использовать команду ALTER TABLE, в которой результат выполнения приведет существующий индекс или выражение фильтра к недопустимому значению, даже если они явно не изменяются командой ALTER TABLE.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Cannot locate table (Error 1802)

Visual FoxPro 9.0
SQL: Cannot locate table (Error 1802) SQL: невозможно обнаружить таблицу (Ошибка 1802)

Таблица, которую вы определили, не найдена.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Structural .CDX file is not found (Error 1707)

Visual FoxPro 9.0
Структурный .CDX-файл не найден (Ошибка 1707)

Структурный индексный файл, связанный с файлом таблицы не может быть найден.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The data source for this object must be a variable reference (Error 1742)

Visual FoxPro 9.0
Ссылка на источник данных для этого объекта должна являтся переменной (Ошибка 1742)

Вы определили недопустимый источник данных или управления для объекта.

  • Источник данных или свойство ControlSource должно содержать переменную.

    Убедитесь, что Вы не определили выражение вместо этого.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


OLE IDispatch exception code "name" (Error 1427)

Visual FoxPro 9.0
Код исключения OLE IDispatch "name" (Ошибка 1427)

Вы получили код ошибки, возвращенный объектом автоматизации Automation. Он является специфичным для объекта OLE. Объект не обеспечивает никакой другой текстовой информации об ошибке.

Обратитесь к документации объекта для подробной информации.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No PageFrame or Page is found in FormSet or Form with WindowType set to READ or READ MODAL (Error 1964)

Visual FoxPro 9.0
Не найдено PageFrame или Page в FormSet или Форме с WindowType, установленным в READ или READ MODAL (Ошибка 1964)

Вы попытались вручную определить тип формы READ или READMODAL без правильной комбинации pages и page frames. Эта операция должна выполняться Конвертером.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


One of the members of this Form or FormSet is based on a nonvisual class. Cannot write .SCX file (Error 1968)

Visual FoxPro 9.0
Один из членов этой Формы или FormSet основан на невизуальном классе. Невозможно записать .SCX-файл (Ошибка 1968)

Вы включили невизуальный класс в набор форм.

Удалите его, и повторите попытку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find the beautify program.

Visual FoxPro 9.0
Не найдена программа-мастер улучшения (beautify).

Система Visual FoxPro не может найти модуль BEAUTIFY.APP, который либо удален, либо переименован, либо удален из базового каталога Visual FoxPro. Вам нужно:

  • Запустить установщик Visual FoxPro Setup для активации BEAUTIFY.APP.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


There is no relation to the nested table "table name" (Error 2178)

Visual FoxPro 9.0
There is no relation to the nested table "table name" (Ошибка 2178)

Эта ошибка генерируется методом XMLAdapter Class ToXML , если свойствоRespectNesting установлено в истину (.T.), и нет установленного отношения от "внешнего" курсора к "вложенному" курсору.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Relational expression is not valid (Error 1555)

Visual FoxPro 9.0
Ошибка в выражении связи (Error 1555)

Свойство RelationalExpr содержит ошибку.

Убедитесь, что выражения связи не пустое, и является корректным.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot use 0 or negative as the argument for LOG10( ) (Error 292)

Visual FoxPro 9.0
Cannot use 0 or negative as the argument for LOG10( ) (Error 292) Невозможно использовать 0 или отрицательное значение в качестве аргумента для LOG10() (Ошибка 292)

Нулевое или отрицательное значение использовано как аргумент для логарифма по основанию 10. Более подробно смотрите LOG10( ).

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


*bad date*

Visual FoxPro 9.0
*bad date* - неверная дата

Выражение типа дата - ошибочное.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Unable to locate target record in ADODB.Recordset (Error 2158)

Visual FoxPro 9.0
Не возможно определить местоназначение для записи в объекте ADODB.Recordset (Error 2158)

При попытке изменить запись данных в объекте ADODB.Recordset при помощи метотод .Auto-Refresh, .Refresh, или .DelayedMemoFetch возникла ошибка. Эта ошибка возможна в следующих случаях: в источнике данных соответствующая запись удалена, или выполнена операция Recordset.Delete.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Statement is not in a procedure (Error 1931)

Visual FoxPro 9.0
Инструкция не находится в процедуре (Ошибка 1931)

Инструкции не могут размещаться после предложения ENDPROC. Для подробной информации, см. DEFINE CLASS Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot change property "name" in SetAll method (Error 1758)

Visual FoxPro 9.0
Невозможно изменить значение свойства "name" методом SetAll (Error 1758)

Свойства Name и TabIndex должны иметь унакальные значения, поэтому не могут быть изменены методом SetAll.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Color scheme is reserved (Error 1728)

Visual FoxPro 9.0
Цветовая схема зарезервирована (Ошибка 1728)

Цветовые схемы включены только для обратной совместимости. Цветовые схемы с 13 до 16 зарезервированы. Определяемые пользователем цветовые схемы - с 17 до 24.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Exclusive open required to update this file. Please reopen (Error 1977)

Visual FoxPro 9.0
Для данной операции изменения файла требуется его исключительное использование. ПереОткройте файл. (Error 1977)

Требуется режим монопольного открытия файла.

ПереОткройте файл командой USE с использованием опции EXCLUSIVE.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Rule and trigger code must balance transaction usage (Error 1598)

Visual FoxPro 9.0
Код правила и триггера должен соответствовать использованию транзакции (Ошибка 1598)

Правило или триггер, или код, вызванный из выражения, начинает транзакцию, которую он не завершает или завершает ту, которую он не начинает. Попытка записи, которая запустила правило или триггер была отменена.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The current Help file is empty. (Error 2036)

Visual FoxPro 9.0
The current Help file is empty. (Error 2036) Текущий файл помощи пуст (Ошибка 2036)

Файл помощи, который вы определили, не содержит информации. Попробуйте определить другой файл.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Illegal nested OLDVAL( ) or CURVAL( ) (Error 1587)

Visual FoxPro 9.0
Недопустимое вложение OLDVAL () или CURVAL () (Ошибка 1587)

Выражение передаваемое в OLDVAL( ) или CURVAL( ) ссылается на функции OLDVAL( ) или CURVAL( ). Это неподдерживаемая операция.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Too many columns referenced (Error 1841)

Visual FoxPro 9.0
SQL: ссылка на слишком большое количество столбцов (Ошибка 1841)

Должно быть всего не более 256 колонок, которые упоминаются в любой команде SELECT. Для подробной информации, см. SELECT - SQL Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The specified class library does not exist or does not contain a valid member class. (Error 2057)

Visual FoxPro 9.0
Указанная библиотека классов не существует или не содержит допустимого класса члена. (Ошибка 2057)

Убедитесь что библиотека классов, которую Вы определяете, существует и содержит допустимый класс члена.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Statement too long (Error 1812)

Visual FoxPro 9.0
SQL: Инструкция слишком велика (Ошибка 1812)

Объектный код слишком велик, чтобы быть откомпилированным. Для подробной информации, см. SELECT - SQL Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu size is too small (Error 287)

Visual FoxPro 9.0
Размер меню является недостаточным (Ошибка 287)

Размер меню недостаточен для отображения пунктов меню.

Определите большие размеры меню.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot append from password protected file (Error 1672)

Visual FoxPro 9.0
Невозможно добавить из файла, защищенного паролем (Ошибка 1672)

Файл, который Вы попытались добавить, зашифрован.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid operation for offline view while being used online (Error 2008)

Visual FoxPro 9.0
Недопустимая операция для автономного представления при его использовании интерактивно (Ошибка 2008)

Некоторые операции не допустимы, когда автономное представление используется интерактивно.

  • Вы пытались изменить режим буферизации представления.

    По определению, автономные представления используемые интерактивно, находятся в режиме буферизации таблицы. Не применяйте CURSORSETPROP( ) для изменения рефима буферизации.

  • Вы пробовали создать индекс.

    Не используйте SET ORDER TO или INDEX для автономных представлений, в то время как Вы используете их интерактивно.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Window file format is invalid (Error 1632)

Visual FoxPro 9.0
Формат файла окна недопустим (Ошибка 1632)

Файл сохранения окна (.WIN) при восстановлении не содержит достоверных данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error building sort key (Error 2186)

Visual FoxPro 9.0
Ошибка построения Ключа Сортировки (Ошибка 2186)

Данная ошибка происходит при сортировке ключевых выражений, указанных в опциях GROUP BY, ORDER BY или других операторах сортировки. Это может произойти при использовании неправильных ключей сортировки, например поля типа MEMO, длина котрого является неопределенной.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Operation is not allowed for CursorAdapter at this time. (Error 2077)

Visual FoxPro 9.0
Operation is not allowed for CursorAdapter at this time. (Ошибка 2077)
В этот момент времени операции не разрешена для CursorAdapter

Объекта CursorAdapter в данный момент времени уже используется в другом процессе или, иными словами, не может быть вызван в этот момент времени.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


TRY/CATCH/FINALLY/ENDTRY mismatch or error (Error 2058)

Visual FoxPro 9.0
Несоответствие или ошибка TRY/CATCH/FINALLY/ENDTRY (Ошибка 2058)

TRY...CATCH...FINALLY должна заканчиваться инструкцией ENDTRY, чтобы быть откомпилированной.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


General fields cannot be used in the WHERE condition of an update statement. Change the WhereType property of the view (Error 1489)

Visual FoxPro 9.0
Поля General не могут использоваться в условии WHERE инструкции модификации. Измените свойство WhereType представления (Ошибка 1489)

В предложении WHERE инструкции модификации SQL (update), выражения, которые Вы используете для предписания оптимистической блокировки, не могут включать поля General. Используйте свойство WhereType представления (Вы можете изменить его из значения по умолчанию KeyAndModified в Key), чтобы удалить поля general из предложения модификации WHERE.

Для подробной информации относительно свйоства WhereType, см. CURSORGETPROP( ) или DBGETPROP( ) .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


View file is invalid (Error 127)

Visual FoxPro 9.0
Файл Представления разрушен (Error 127)

Выполнена попытка открыть файл представления, содержащий неправильные данные.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Report file "name" is invalid (Error 50)

Visual FoxPro 9.0
Файл отчета "name" недопустим (Ошибка 50)
См. Также

Определение отчета содержит ошибку, типа:

  • Количество групп данных или полос данных в отчете превышает указанные пределы.

  • Файл отчета (frx) не содержит требуемых столбцов для таблицы FRX.

  • Файл отчета (frx) не включает запись для требуемой полосы, типа полосы Колонтитула.

См. Также

Ссылка

Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

Понятия

Understanding and Extending Report Structure

Другие Ресурсы

Visual FoxPro System Capacities

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Localized product is required for this environment (Error 1911)

Visual FoxPro 9.0
Для данной среды необходим Локализованный продукт (Ошибка 1911)

Это происходит, когда используется US-версия Visual FoxPro с другими, нелокализованными системами.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Related table is not found in current database (Error 1880)

Visual FoxPro 9.0
Связанная таблица не найдена в текущей базе данных (Ошибка 1880)

Создается или упоминается объект базы данных relation, для которого связанная таблица не может быть найдена.

  • Вы использовали предложение REFERENCES команды CREATE TABLE или команду ALTER TABLE .

    Убедитесь, что обе таблицы, участвующие в отношении находятся в базе данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot update ADODB.Recordset while cursor, created by CursorAdapter.CursorFill method, is not attached to a CursorAdapter object. (Error 2082)

Visual FoxPro 9.0
Cannot update ADODB.Recordset while cursor, created by CursorAdapter.CursorFill method, is not attached to a CursorAdapter object. (Ошибка 2082)
Невозможно обновить ADODB.Recordset, до тех пор, пока курсор созданный методом CursorAdapter.CursorFill не прикреплен к объекту CursorAdapter

Visual FoxPro требует, чтобы курсор, созданный из ADO Recordset с использование метода CursorFill был прикреплен к объекту CursorAdapter до момента его обновления.

  • Для обновления курсора, переприкрепите курсор к объекту CursorAdapter.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XML node does not belong to MSXML4.DOMDocument. (Error 2128)

Visual FoxPro 9.0
XML node does not belong to MSXML4.DOMDocument. (Error 2128)
Узел XML не принадлежит документу MSXML4.DOMDocument (Ошибка 2128)

Visual FoxPro требует, чтобы XML данные не были доступны в случае, если не имеется родительского документа.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


File must be opened exclusively (Error 110)

Visual FoxPro 9.0
Файл должен быть открыт Монопольно (Ошибка 110)

Вы пытаетесь выполнить операцию над таблицей, требующую монопольного ее использования.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The fields in table "name" did not match the entries in the database (Error 1984)

Visual FoxPro 9.0
Поля таблицы "name" не соответствуют записям в базе данных (Ошибка 1984)

При открытии находящейся в собственности базы данных таблицы, Visual FoxPro запрашивает подтверждение, что каждое поле таблицы имеет соответсвующий объект для поля в базе данных.

  • База данных или таблица были повреждены.

    Используйте VALIDATE DATABASE для распознавания проблемы.

  • Открываемая таблица не соответствует.

    Удалите и добавьте заново таблицу к базе данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid timestamp column name "column name" (Error 2160)

Visual FoxPro 9.0
Недопустимое имя столбца timestamp "column name" (Ошибка 2160)

Имя поля timestamp недопустимо или не может быть найдено в курсоре.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The default value for field "name" does not evaluate to the correct type for the field (Error 1997)

Visual FoxPro 9.0
Значение по умолчанию для поля "name" не соответствует правильному значению типа для этого поля (Ошибка 1997)

Значение по умолчанию для выражения должно быть равно типу данных для этого поля.

Измените выражение, чтобы оно равнялось правильному типу данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field "field name" is not associated with a base table (Error 2174)

Visual FoxPro 9.0
Поле "field name" не связано с базовой таблицей (Ошибка 2174)

Эта ошибка генерируется классом CursorAdapter Class когда он пытается отложить извлечение мемо. Базовая таблица определена свойством CursorAdapter Tables Property. Memo-поле должно быть связано с базовой таблицей свойством CursorAdapter UpdateNameList Property .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid call issued while executing a SQLMORERESULTS( ) sequence (Error 1475)

Visual FoxPro 9.0
Неверный вызов при выполнении последовательнотси SQLMORERESULTS( ) (Ошибка 1475)

Недопустимый сквозной запрос функции SQL (SPT) был сделан в то время как запрос SQLMORERESULTS( ) должен был продолжить выполнение последовательности SPT.

Примените SQLCANCEL( ) для отмены последовательности SPT или делайте допустимые запросы SPT для завершения выполняемой последовательности.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot compile until the current COMPILE command has completed (Error 1971)

Visual FoxPro 9.0
Невозможно компилировать до завершения текущей команды COMPILE (Ошибка 1971)

Вы попытались компилировать код, в то время как происходила другая трансляция. Компилятор может выполнять только одну задачу за один раз.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Box dimensions are invalid (Error 227)

Visual FoxPro 9.0
Измерения поля недопустимы (Ошибка 227)

Строка 2, столбец 2 должен быть большим чем строка 1, столбец 1 при использовании команды @. .. BOX .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot rename the file to different device (Error 1153)

Visual FoxPro 9.0
Невозможно переименовать устройство для файла (Ошибка 1153)

Для перемещения файла на другой диск, используйте COPY FILE .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Keyboard macro file format is invalid (Error 356)

Visual FoxPro 9.0
Формат файла макрокоманд клавиатуры недопустим (Ошибка 356)

Была сделана попытка использовать файл макрокоманд с недопустимыми данными.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Subquery nesting is too deep (Error 1842)

Visual FoxPro 9.0
SQL: слишком глубокое вложение подзапросов (Ошибка 1842)

Visual FoxPro не поддерживает вложенные подзапросы. Для подробной информации, см. SELECT - SQL Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Arrays cannot be assigned to array elements (Error 1974)

Visual FoxPro 9.0
Массивы не могут быть присвоены элементам массива (Ошибка 1974)

Проверьте имена Ваших присвоений.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"field | variable" is not unique and must be qualified (Error 1832)

Visual FoxPro 9.0
"поле | переменная" не уникально и должно быть уточнено (Ошибка 1832)

Вы сделали ссылку на поле, которое существует более чем в одной таблице.

Например, если Вы работаете с базой данных TESTDATA и пытаетесь выполнить приведенную ниже команду, то получите данную ошибку, потому что поле с именем cust_id существует как в таблице customer так и в таблице orders:

Copy Code
SELECT cust_id FROM customer,orders
  • Чтобы исключить неоднозначность в именовании полей, следует явно указать, из какой именно таблицы отбирается данное поле как в приведенном ниже примере:

    Copy Code
    SELECT customer.cust_id FROM customer,orders
    Для получения дополнительной информации смотрите SELECT - SQL Command.

Перешлите комментарии о данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Illegal to attempt a file lock in a transaction after taking prior record locks (Error 1594)

Visual FoxPro 9.0
Не допускается делать попытку блокировки файла в транзакции после предшествующих блокировок записей (Ошибка 1594)

Вы предприняли либо явную ( FLOCK( ) ), либо неявную ( REPLACE ALL ) попытку блокировки файла в транзакции. Это не допускается, если блокировки любых записей были уже сделаны или явно или неявно на этом или более низком уровне транзакций. Это не допускается, даже если блокированные записи были освобождены в этой транзакции.

Вы должны разблокировать откатом все записи этого файла перед попыткой его блокировки. Для подробной информации, см. ROLLBACK .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Session number is invalid (Error 1540)

Visual FoxPro 9.0
Недопустимый номер сессии (Ошибка 1540)

Используйте допустимый номер сессии в команде SET DATASESSION TO .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field width or number of decimal places is invalid (Error 1713)

Visual FoxPro 9.0
Ширина поля или количество десятичных знаков недопустимы (Ошибка 1713)

Ширина поля или количество десятичных знаков, которые Вы определили, не являются допустимыми. Для получения перечня требований, см. System Capacities. .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Missing expression (Error 152)

Visual FoxPro 9.0
Отсутствие выражения (Ошибка 152)

Допустимое выражение ожидалось, но было не найдено.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class "name" is not a Form class. (Error 2029)

Visual FoxPro 9.0
Класс "name" не является классом Form. (Ошибка 2029)

Класс, который Вы определяете в предложении AS CREATE FORM, должен быть основан на классе Form.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File "name" is a database (Error 1553)

Visual FoxPro 9.0
Файл "name" является базой данных (Ошибка 1553)

Операция, которую Вы применили, не поддерживается для файлов базы данных.

Повторите попытку с файлом правильного типа.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot add "name". Class definition is cyclical (Error 1741)

Visual FoxPro 9.0
Невозможно добавить "name". Определение класса является циклическим (Ошибка 1741)

Вы попытались определять класс в инструкции ADD OBJECT, определение класса в которой то же самое как и у определяемого класса. Для подробной информации, см. DEFINE CLASS .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot create file "file" (Error 1102)

Visual FoxPro 9.0
Невозможно создать файл "file" (Ошибка 1102)

Операционная система не может создать указанный файл по следующим возможным причинам:

  • Диск или каталог заполнены.

    Удалите файлы, и сделайте повторную попытку.

  • Вы не имеете доступа к назначенному каталогу.

    Проверьте ваш уровень полномочий.

  • Вы определили недопустимое имя файла.

    Проверьте ошибки ввода имени.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Link command failed (Error 1194)

Visual FoxPro 9.0
Команда компоновки завершилась со сбоем (Ошибка 1194)

Произошла ошибка трансляции и .EXE не был создан на диске.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error loading HtmlHelp 2.0 collection. (Error 2049)

Visual FoxPro 9.0
Ошибка загрузки коллекции HtmlHelp 2.0 (Ошибка 2049)

Указанная коллекция справочной системы HTML 2.0 не загружена должным образом. Проверьте File Locations Tab, Options Dialog Box чтобы удостовериться в том, что файл, который Вы определили, находится в указанном месте.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Conversion from Unicode has failed. (Error 2136)

Visual FoxPro 9.0
Преобразование из Юникода завершилось со сбоем. (Ошибка 2136)

Происходит при возникновении проблемы во время попытки Visual FoxPro конвертировать строку Юникода в символ ANSI.

  • Проверьте ваши данные, таблицы, и имена полей, чтобы убедиться что они содержат значения, которые Visual FoxPro может конвертировать должным образом в символ ANSI.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu has not been defined with DEFINE MENU (Error 168)

Visual FoxPro 9.0
Меню не было определено командой DEFINE MENU (Ошибка 168)

Вы попытались активизировать меню, которое не было определено. Для подробной информации, см. DEFINE MENU Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Views require either DB_BUFOPTROW or DB_BUFOPTTABLE (Error 1597)

Visual FoxPro 9.0
Для представлений требуется или DB_BUFOPTROW или DB_BUFOPTTABLE (Ошибка 1597)

Курсоры, основанные на локальных или отдаленных представлениях, поддерживают модификацию только посредством оптимистического режима буферизации.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


END TRANSACTION command cannot be issued without a corresponding BEGIN TRANSACTION command (Error 1591)

Visual FoxPro 9.0
Команда END TRANSACTION не может быть выполнена без соответствующей команды BEGIN TRANSACTION (Ошибка 1591)

Программный код нужно размещать между парой команд BEGIN TRANSACTION и END TRANSACTION .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Statement is not valid in a class definition (Error 1927)

Visual FoxPro 9.0
Оператор недопустим в команде определения класса. (Ошибка 1927)

Вы используете недопустимый оператор для команды DEFINE CLASS. Правильными операторами являются: ADD OBJECT, ADD PROTECTED OBJECT, DIMENSION, FUNCTION, PROCEDURE, и PROTECTED. См. дополнительно команду DEFINE CLASS .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Type Library "name" not found (Error 1444)

Visual FoxPro 9.0
Type Library "name" not found (Error 1444) Тип библиотеки "имя" не найден (Ошибка 1444)

Определена несуществующая библиотека.

Попробуйте проверить ваш оператор, размещение и имя библиотеки, чтобы убедиться, что файл существует там, где вы это определили.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


File "name" is not part of a database (Error 1558)

Visual FoxPro 9.0
File "name" is not part of a database (Error 1558) Файл "имя" не является частью базы данных (Ошибка 1558)

Операция, которую вы попытались выполнить, не поддерживается для свободных таблиц.

Попытайтесь снова с файлом правильного типа.

Перешлите комментарии об этой статье в. © Microsoft Corporation. All rights reserved.


Form file "name" is from a previous version of FoxPro. It must be converted to the current format before it can be executed (Error 1991)

Visual FoxPro 9.0
Файл формы "name" создан в предыдущей версии FoxPro. Перед выполнение необходимо выполнить конвертацию. (Ошибка 1991)

Вы пытаетесь компилировать программный код формы (.scx), созданной в младших версиях FoxPro.

Конвертируйте Вашу форму в текущий формат и повторите компиляцию снова.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Function is not implemented (Error 1999)

Visual FoxPro 9.0
Указанная функция не Поддерживается (Ошибка 1999)

Вы пытаетесь вызвать на выполнение функцию, которая не поддерживается в текущей версии Visual FoxPro.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COLUMN | FORM | ALIAS | NOOVERWRITE | WIDTH are only allowed with the FROM clause (Error 1695)

Visual FoxPro 9.0
Опции COLUMN | FORM | ALIAS | NOOVERWRITE | WIDTH допустимы только с параметром FROM . (Ошибка 1695)

Только перечисленные опции допустимы с параметром FROM при получении Быстрого Отчета.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Operation is invalid for a Memo, Blob, General, or Picture field (Error 34)

Visual FoxPro 9.0
Operation is invalid for a Memo, Blob, General, or Picture field (Error 34) Неверная операция для полей типа Memo, Blob, General или Picture (Ошибка 34)
  • Команда INDEX не может определить Memo или Blob поле как ключевое выражение.

  • Было недостаточно памяти для Visual FoxPro, чтобы завершить действие.

  • Объединение отличающихся типов колонок не допускается, если одна из колонок - типа Memo или General, если не используется UNION ALL.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Invalid operation for the cursor (Error 1115)

Visual FoxPro 9.0
Ошибочная операция для Курсора (Ошибка 1115)

Совершена попытка выполнить команду PACK для Курсора.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to infer XML schema. (Error 2120)

Visual FoxPro 9.0
Невозможно получить результат по данной Схеме XML. (Ошибка 2120)

Ошибка происходит, когда функция XMLTOCURSOR( ) не может выполнить грамматический разбор представленной схемы и создать Курсор с данными.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Window "name" has not been defined (Error 1714)

Visual FoxPro 9.0
Window "name" has not been defined (Error 1714) Окно "имя" не определено (Ошибка 1714)

Вы сослались на окно, которое не существует.

  • Окно не было создано или оно уже уничтожено.

    Создайте окно или сошлитесь на другое окно.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


An object's control source cannot be set to its Value property (Error 1781)

Visual FoxPro 9.0
Сам объект не может являться источником данных для себя (Ошибка 1781)

Вы пытаетесь установить источник данных как "сам-на-себя". Используйте правильный Источник данных. См. дополнительно об источниках данных "Setting up an ODBC Data Source" под секцией Installing Visual FoxPro.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot visually modify a class based on a nonvisual class (Error 1979)

Visual FoxPro 9.0
Невозможно изменить в дизайнере класс, порожденный невизуальным классом. (Ошибка 1979)

Вы пытаетесь изменить класс, определенный в программном модуле. Использование Дизайнера Классов допустимо только для визуальных классов, и классов, расположенных в библиотеках ( .vcx).

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Must be a variable or array (Error 1225)

Visual FoxPro 9.0
Must be a variable or array (Error 1225) Должна быть переменная или массив (Ошибка 1225)

Файловая переменная (поле) было использовано там, где требовалась переменная или массив.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Volume does not exist (Error 1922)

Visual FoxPro 9.0
Volume does not exist (Error 1922) Том не существует (Ошибка 1922)

Том, определенный в команде SET VOLUME, не существует.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Display mode is not available (Error 216)

Visual FoxPro 9.0
Указанный режим Дисплея не поддерживается. (Ошибка 216)

Вы пытаетесь выбрать неподдерживаемый режим дисплея.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XMLName property contains illegal symbol(s) (Error 2182)

Visual FoxPro 9.0
XMLName property contains illegal symbol(s) (Error 2182)

Свойство XMLName содержит недопустимые символы (Ошибка 2182)

Эта ошибка генерируется, когда значение свойства XMLNameIsXPath изменено с (.T.) на (.F.), а свойствоXMLName Property содержит один или более недопустимых символов.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Cannot GROUP by aggregate field (Error 1846)

Visual FoxPro 9.0
Невозможно выполнить GROUP BY для вычисляемого поля (Ошибка 1846)

Вы пытаетесь использовать агрегатную функцию (MIN( ), MAX( ), SUM( ), AVG( ), COUNT( ), NPV( ), STD( ) или VAR( )) в опции GROUP.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Feature is not available (Error 1001)

Visual FoxPro 9.0
Данная функциональность не поддерживается (Ошибка 1001)

Вы пытаетесь выполнить команду или функцию, которые не поддерживаются в текущей версии Visual FoxPro.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find the menu-generation program (Error 1693)

Visual FoxPro 9.0
Не найдена программа-генератор Меню (Ошибка 1693)

Не возможно найти генератор Меню (GENMENU). См. дополнительно системную переменную_GENMENU об использовании программы - генератора Меню.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Calling OpenTables or CloseTables is not allowed while either of those methods are in the process of executing. (Error 2147)

Visual FoxPro 9.0
Повторное выполнение методов OpenTables или CloseTables недопустимо, пока выполняются данные методы. (Ошибка 2147)

Методы OpenTables или CloseTables не могут быть выполнены в событиях BeforeOpenTables или AfterCloseTables , так как они не являются рекурсивными.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File "name" is part of a database (Error 1565)

Visual FoxPro 9.0
Файл "имя" является частью базы данных (Ошибка 1565)

Операция, которую вы пытались выполнить, поддерживается только для свободных таблиц.

Попытайтесь выполнить снова с файлом корректного типа.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


No fields found to process (Error 47)

Visual FoxPro 9.0
Не найдено полей для обработки (Ошибка 47)

Поля не найдены, поскольку обычно действует SET FIELDS TO.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Currency value is out of range (Error 1988)

Visual FoxPro 9.0
Текущее значение вне диапазона (Ошибка 1988)

Максимальная размерность цифрового или float поля - 20 цифр .

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


PREVIEW clause is not allowed with OFF/NOCONSOLE or TO PRINT/FILE (Error 1681)

Visual FoxPro 9.0
Фраза PREVIEW не допускается для OFF/NOCONSOLE или TO PRINT/FILE (Ошибка 1681)

Предварительный просмотр страницы не допускается, если консоль не включена или если печать направлена на принтер или в файл.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Maximum menus allowed (Error 25) is exceeded (Error 1608)

Visual FoxPro 9.0
Maximum menus allowed (Error 25) is exceeded (Error 1608)

Максимальное количество меню, которое можно определить (25), было превышено.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Expression evaluated to an illegal value (Error 46)

Visual FoxPro 9.0
Выражение принимает запрещенное значение (Ошибка 46)

Происходит когда выражение, указанное в командах SET MEMOWIDTH , BROWSE , или @. .. TO равно запрещенному значению.

- или-

Происходит, когда значение заданное для свойств LockColumns или LockColumnsLeft больше чем количество столбцов, которые являются видимыми в панели Grid.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Label nesting error (Error 1653)

Visual FoxPro 9.0
Ошибка вложения Label (Ошибка 1653)

Определяемая пользователем функция в форме этикетки вызвала команду LABEL с предложением FORM повторно.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class cannot be instantiated because member "name" has wrong # of parameters (Error 1442)

Visual FoxPro 9.0
Невозможно создать экземпляр класса, потому что член "name" имеет невверное число параметров (Ошибка 1442)

Предложение IMPLEMENTS в команде DEFINE CLASS использует неверное количество параметров для этого класса. Для подробной информации, см. DEFINE CLASS Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid file format. If this is a dBASE file, it must be converted first. To convert it, type MODIFY LABEL file (Error 1510)

Visual FoxPro 9.0
Недопустимый формат файла. Если это - dBASE файл, он должен быть сначалала конвертирован. Чтобы его конвертировать, введите MODIFY LABEL file (Ошибка 1510)

Конвертируйте ваш dBASE файл и повторите попытку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot open configuration file.

Visual FoxPro 9.0
Cannot open configuration file (Не удалось открыть файл конфигурации).

Visual FoxPro нашел файл конфигурации, но не имеет достаточных полномочий на его открытие.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.

Перевод выполнен SAM-FoxPro


Object is not contained in a "name" (Error 1938)

Visual FoxPro 9.0
Объект не содержится в "name" (Ошибка 1938)

Это сообщение выдается оператором области видимости, когда родительский класс, который Вы определили, не находится в иерархии наследования текущего объекта (THIS). Например, эта ошибка произойдет, если Вы помещаете FORMSET::Click в событие Click формы, которой не содержится в формсете.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


User-defined functions are not allowed (Error 1097)

Visual FoxPro 9.0
Определяемые пользователем функции не разрешены (Ошибка 1097)

Определяемые пользователем функции не поддерживаются в этой области Visual FoxPro.

Удалите определяемую пользователем функцию.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: HAVING clause is invalid (Error 1803)

Visual FoxPro 9.0
SQL: предложение HAVING недопустимо (Ошибка 1803)

Ошибка в предложении HAVING.

Например, это предложение не может содержать логических выражений. Для подробной информации, см. SELECT - SQL Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Warning: The connection timeout cannot be set (Error 1481)

Visual FoxPro 9.0
Предупреждение: таймаут подключения не может быть установлен (Ошибка 1481)

Интервал таймаута подключения не может быть установлен ODBC драйвером. Подключение будет использовать заданный драйвером по умолчанию интервал таймаута. Это не позволит функциям сквозных SQL запросов возвратить управление во время осуществления ODBC запроса.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class file version is greater than the current version (Error 1751)

Visual FoxPro 9.0
Версия файла класса старше чем текущая версия (Ошибка 1751)

Вы попытались использовать файл визуальной библиотеки классов (.vcx), который был создан более поздней версией Visual FoxPro чем та, которую Вы в настоящее время используете.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


WIN.INI/registry is corrupted (Error 1955)

Visual FoxPro 9.0
WIN.INI/registry разрушен (Ошибка 1955)

Вы попытались получить информацию о печати из операционной системы, используя PRTINFO( ) или SET PRINTER TO , но принтер по умолчанию не обнаружен.

Используйте Панель управления Принтера, чтобы установить принтер по умолчанию .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Missing .RTT section (Error 1193)

Visual FoxPro 9.0
Отсутствует раздел .RTT (Ошибка 1193)

Компонент распределения Microsoft Visual FoxPro должным образом не установлен.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FILTER expression exceeds allowed size (Error 1140)

Visual FoxPro 9.0
Выражение FILTER превышает разрешенный размер (Ошибка 1140)

Вы попытались использовать SET FILTER TO к выражению, которое имеет больше максимально допустимого числа символов 160.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Cannot UPDATE or DELETE from subquery (Error 2151)

Visual FoxPro 9.0
SQL: Невозможно выполнить UPDATE или DELETE из подзапроса (Ошибка 2151)

Эта ошибка генерируется когда указанный адресат для Комадны UPDATE - SQL или Команды DELETE - SQL является подзапросом.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No fields were found to copy (Error 138)

Visual FoxPro 9.0
Не найдено полей для копирования (Ошибка 138)

Во время попытки копировать в файл, никаких видимых полей не было найдено.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Window has not been activated with ACTIVATE WINDOW (Error 215)

Visual FoxPro 9.0
Окно не было активизировано командой ACTIVATE WINDOW (Ошибка 215)

Была сделана попытка использования окна, которое не было активизировано. Для подробной информации, см. ACTIVATE WINDOW Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" band is too large to fit on page (Error 1298)

Visual FoxPro 9.0
"имя" полоса слишком велика для страницы (Ошибка 1298)

Вы попытались использовать полосу отчета, которая слишком велика и не умещается на странице.

  • Перестройте форму отчета и попытайтесь выполнить ту же операцию снова.

    Для получения дополнительной информации смотрите Report Designer.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Could not add version resource to executable file (Error 1181)

Visual FoxPro 9.0
Невозможно добавить версию ресурса к исполняемому файлу (Ошибка 1181)

Ресурс нельзя было добавить к исполняемому файлу во время компоновки.

  • Ресурс мог быть поврежден.

    Воздайте ресурс заново.

  • Вы, возможно, использовали литеру в свойстве VersionNumber установки cBuildNumber .

    Используйте только числа для установки cBuildNumber .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Not a user-defined window (Error 1682)

Visual FoxPro 9.0
Не пользовательское окно (Ошибка 1682)

Вы попытались использовать команду, содержащую предложение WINDOW к окну, которое не является пользовательским, типа окна Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot sort .IDX files in descending order (Error 1706)

Visual FoxPro 9.0
Невозможно сортировать файлы .IDX в порядке убывания (Ошибка 1706)

Индексные файлы .IDX не поддерживают предложение DESCENDING.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Property is invalid for local cursors (Error 1467)

Visual FoxPro 9.0
Свойство недопустимо для локальных курсоров (Ошибка 1467)

Свойство не поддерживается для курсоров, основанных на локальных таблицах или локальных представлениях; оно применяется только к курсорам, основанным на отдаленных представлениях. Используйте свойство только для курсоров отдаленных представлений.

При использовании функции CURSORGETPROP( ) , свойство ADORecordset недопустимо для курсоров, которые не основаны на ADO Recordsets.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No menu item is defined (Error 1604)

Visual FoxPro 9.0
No menu item is defined (Error 1604)

Вы пытаетесь прочесть меню, которое не определено.

Перешлите комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права зарезервированы.


Invalid key column name "name". (Error 2146)

Visual FoxPro 9.0
Недопустимое имя колонки ключа "name". (Ошибка 2146)

Происходит когда свойство объекта CursorAdapter KeyFieldList , содержит недопустимое значение.

  • Убедитесь, что значение, заданное в свойстве KeyFieldList является допустимым.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot allocate screen map

Visual FoxPro 9.0
Невозможно распределить схему Экрана

Недостаточно памяти для загрузки системы Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot resolve backlink (Error 1976)

Visual FoxPro 9.0
Невозможно разрешить проблему обратной ссылки (Ошибка 1976)
См. Также

Visual FoxPro не смог соотнести таблицу с ее базой данных. Используйте команду VALIDATE DATABASE, чтобы проверить ссылки в базе данных. Используйте команду FREE TABLE , чтобы удалить таблицу из базы данных, которая ссылается на неё.

См. Также

Ссылки

VALIDATE DATABASE Команда
FREE TABLE Команда

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot DROP all existing columns (Error 1871)

Visual FoxPro 9.0
Не могу исключить (DROP) все существуюшие колонки (Ошибка 1871)

Существующая таблица должна иметь по крайней мере одну колонку, то есть была выпущена команда ALTER TABLE table DROP fieldname для таблицы, в которой имелось только одно поле .

Для воспроизведения ситуации, которая может повлечь за собой генерацию подобной ошибки, выполните приведенный ниже программный код:.

Скопировать код
CREATE TABLE c:\tests\data\test FREE (test c(10))
* следующая команда вызовет генерацию ошибки с номером 1871 - Cannot DROP all existing columns
ALTER TABLE c:\tests\data\test DROP test
Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Only a single SQL SELECT statement can be enclosed in parentheses (Error 2196)

Visual FoxPro 9.0
Только единственная инструкция SQL SELECT может быть включена в круглые скобки (Ошибка 2196)

Эта ошибка вызвана Командой SELECT - SQL с предложением комадны SELECT - SQL - UNION которое включает более чем одну пару круглых скобок.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Numeric overflow. Data was lost (Error 39)

Visual FoxPro 9.0
Числовое переполнение. Данные были потеряны (Ошибка 39)

Математическая операция привела к появлению числа, которое слишком велико, чтобы быть сохраненным в поле или переменной, в которых оно было помещено.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid element in XMLTable.Fields collection. (Error 2098)

Visual FoxPro 9.0
Invalid element in XMLTable.Fields collection. (Error 2098)

Некорректный элемент в коллекции XMLTable.Fields (Ошибка 2098)

Visual FoxPro определил некорректный (invalid) объект в коллекции XMLField.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


SQL: Invalid TOP specification (Error 1866)

Visual FoxPro 9.0
SQL: Недопустимое описание TOP (Ошибка 1866)

Предложение TOP команды SELECT - SQL требует значения больше чем нуль. Если предложение PERCENT присутствует, значение должно быть больше чем нуль и меньше чем 100. В обоих случаях, значение должно быть числовым.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Incorrect property name (Error 1470)

Visual FoxPro 9.0
Неверное имя свойства (Ошибка 1470)

Вы попытались использовать невверное имя свойства.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Operation is not allowed for CursorAdapter. (Error 2076)

Visual FoxPro 9.0
Операция не разрешена для CursorAdapter. (Ошибка 2076)

Происходит, когда предпринимается попытка выполнить операцию, которая не разрешена для объекта, такую, как например, в случае если функция TABLEUPDATE( ) пытается произвести операцию вставки, обновления или уаления, а соответствующие свойства объекта CursorAdapter AllowUpdate, AllowDelete, или AllowInsert установлены в False (.F.).

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Mismatched braces in key label (Error 1256)

Visual FoxPro 9.0
Отсутствуют фигурные скобки в описании клавиши (Ошибка 1256)

Левая или правая скоба отсутствуют в описании клавиши.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The ActiveX control module failed to register correctly (Error 1438)

Visual FoxPro 9.0

Элемент управления ActiveX не зарегистрирован корректно (Ошибка 1438)

  • Файл не является допустимым элементом управления ActiveX.

    Элемент управления ActiveX не имеет функции саморегистрации.

Обратитесь к распространителю элемента управления ActiveX за обновлением элемента управления, который содержит работающую функцию DllRegisterServer. Послать комментарии


SQL: Error correlating fields (Error 1801)

Visual FoxPro 9.0
SQL: Ошибка сопоставления полей (Ошибка 1801)

Внешняя связь может использоваться только в синтаксисе, подобном следующему:

X = Y

Синтаксис типа X = Y + 1 или X = 5 приводит к этой ошибке.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"file" is not a Visual FoxPro .EXE file (Error 1196)

Visual FoxPro 9.0
"файл" не является EXE-файлом Visual FoxPro (Ошибка 1196)

Указанный Вами EXE-файл не является файлом, созданным Visual FoxPro.

  • Используйте RUN | ! Command для внешнего запуска исполняемого файла.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


XMLField object is already associated with XMLTable object. (Error 2144)

Visual FoxPro 9.0
XMLField object is already associated with XMLTable object. (Error 2144)
Объект XMLField уже связан с объектом XMLTable (Ошибка 2144)

Visual FoxPro не позволяет добавлять объекты XMLField в коллекцию XMLField объектов XMLTable, в случае, когда они уже связаны с другим объектом XMLTable.

  • Вы можете проверить связан ли объект XMLField с объектомXMLTable путем просмотра значения его свойства XMLTable. Если он не связан с объектом таблицы, значение его свойства XMLTable будет установлено в NULL. В противном случае, обращение к этому свойству вернет объектную ссылку на объект XMLTable, с которым он связан.

Перешлите комментарий об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Beginning of file encountered (Error 38)

Visual FoxPro 9.0
Достигнуто начало файла (Ошибка 38)

Указатель записи находится в начале файла.

  • Вы попытались устанавливать указатель записи перед первой записью в файле.

    Используйте BOF( ) для проверки начала файла.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Window "name" is not a dockable window. (Error 2087)

Visual FoxPro 9.0
Окно "name" не является dockable. (Ошибка 2087)

Указанное окно невозможно было пристыковать, потому что оно не является dockable.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Foxcode table not found, is not correct version or is incompatible. (Error 2042)

Visual FoxPro 9.0
Foxcode table not found, is not correct version or is incompatible. (Error 2042)
Таблица Foxcode не найдена, имеет некорректную версию или несовместима (Ошибка 2042)

Файл таблицы, указанный в системной переменной _FOXCODE не существует или несовместим с данной версией. Для получения подробной информации смотри статью Системная переменная _FOXCODE.

Для определения файла, указанного в системной переменной _FOXCODE, напечатайте и исполните следующую строку кода:

Скопировать код
? _FOXCODE

Убедитесь, что файл является таблицей со структурой, соответствующей требованиям данной версии Visual FoxPro. Для получения подробной информации смотри статью Структура таблицы IntelliSense.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cannot update the cursor "cursor", since it is read-only. (Error 111)

Visual FoxPro 9.0
Невозможно модифицировать курсор "cursor", так как он предназначен только для чтения. (Ошибка 111)

Visual FoxPro не может модифицировать указанный курсор, потому что он предназначен только для чтения. Это может произойти при попытке записать в файл, созданный или открытый только для чтения.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid call issued while executing a SQLEXEC( ) sequence (Error 1474)

Visual FoxPro 9.0
Применен недопустимый вызов при выполнении последовательности SQLEXEC( ) (Ошибка 1474)

Недопустимый вызов сквозного SQL запроса (SPT) был сделан в то время как запрос SQLEXEC( ) должен был продолжить выполнение последовательности SPT.

Вызовите SQLCANCEL( ) для отмены SPT последовательности или примените необходимый SPT запрос для завершения последовательности запросов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


DIMENSION contains variable declaration without required subscript arguments (Error 1232)

Visual FoxPro 9.0
DIMENSION содержит объявление переменной без требуемых индексных параметров (Ошибка 1232)

Инструкция DIMENSION содержит объявление переменной без требуемых индексных параметров.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File must be opened exclusively to convert the Memo file (Error 1637)

Visual FoxPro 9.0
Файл должен быть открыт монопольно, чтобы конвертировать мемо-файл (Ошибка 1637)

Файл таблицы, который Вы используете, должен быть открыт монопольно, чтобы иметь возможность конвертировать мемо файл.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Invalid SET expression in UPDATE (Error 1865)

Visual FoxPro 9.0
SQL: Недопустимое выражение SET в UPDATE (Ошибка 1865)

Проверьте выражения в предложениях SET. Для подробной информации, см. команда UPDATE .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Printer driver is corrupted (Error 1643)

Visual FoxPro 9.0
Драйвер принтера поврежден (Ошибка 1643)

Была сделана попытка загрузить поврежденный драйвер принтера.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid index expression for a Binary index (Error 2156)

Visual FoxPro 9.0
Недопустимое индексное выражение для индекса Binary(Ошибка 2156)

Двоичный индекс может быть создан только с использованием логического выражения. См. Типы Индексов Visual FoxPro для подробной информации относительно создания двоичных индексов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Symphony version 1.0 file format is invalid (Error 1673)

Visual FoxPro 9.0
Версия формата файла Symphony 1.0 недопустима (Ошибка 1673)

Файл Symphony 1.0, который Вы попытались импортировать не является версией 1.0 или был разрушен.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No records are found for the current platform (Error 1796)

Visual FoxPro 9.0
Не найдено записей для текущей платформы (Ошибка 1796)

Вы попытались модифицировать файл, который не имеет никаких записей для текущей платформы.

Используйте программу transport для преобразования файла.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid expression in label definition file (Error 1245)

Visual FoxPro 9.0
Недопустимое выражение в файле определения этикетки (Ошибка 1245)

Обаружено недопустимое выражение в файле этикетки (.LBX).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid locale ID. (Error 2026)

Visual FoxPro 9.0
Недопустимый ID языка. (Ошибка 2026)

ID языка, указанный в STRCONV( ) не поддерживается операционной системой.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Alias is not found (Error 13)

Visual FoxPro 9.0
Псевдоним не найден (Ошибка 13)

Вы попытались указать псевдоним, который не был определен. Нет такого псевдонима, используемого в настоящее время.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot update project from project metafile (Error 1909)

Visual FoxPro 9.0
Невозможно обновить проект из матафайла проекта (Ошибка 1909)

Существует конфликт в метафайле проекта (.PJM файл).

  • Вы редактировали .PJM файл непосредственно.

    Восстановите файл предыдущей версией и используйте интерфейс, чтобы производить изменения: откатите результаты отладки файла .PJM и обновите список проектов.

  • Существует конфликт в разделе информации о проекте файла .PJM.

    Решайте конфликт только полным удалением строк, если это возможно.

  • Неправильное форматирование в метафайле проекта.

    Например, некоторые данные имеют непредвиденный тип данных, или неправильно применены запятые.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Logical expression required

Visual FoxPro 9.0
Нужно указать Логическое выражение

Выражение, построенное с помощью Построителя Выражений , должно быть логического типа. См. дополнительно раздел Создание логических выражений.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Class creation canceled (Error 1313)

Visual FoxPro 9.0
Создание класса отменено (Ошибка 1313)

При попытке создать класс, основанный на элементе управления ActiveX, Вы закрыли диалоговое окно с отменой результатов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot access characters beyond string (Error 62)

Visual FoxPro 9.0
Невозможно обратиться к символам вне строки (Ошибка 62)

Вы попытались обратиться к символам за последним байтом строковой переменной или поля таблицы.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File cannot be locked (Error 1503)

Visual FoxPro 9.0
Файл не может быть заблокирован (Ошибка 1503)

Visual FoxPro не может заблокировать требуемый файл. Он может быть заблокирован другим пользователем в сети.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The DataObject cannot be modified in the OLEDragOver or OLEDragDrop event. (Error 2021)

Visual FoxPro 9.0
DataObject не могут быть изменены в событиях OLEDragOver или OLEDragDrop. (Ошибка 2021)

Методы DataObject не поддерживаются в этих событиях.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The Remote View Wizard was unable to obtain column information for this remote table. This may be the result of an ODBC error, or the remote table may not be owned by the current user.

Visual FoxPro 9.0
Мастер отдаленных представлений не может получить информацию о колонке для этой отдаленной таблицы. Это может быть результатом ошибки ODBC, или отдаленная таблица не может принадлежать текущему пользователю.

Если запрос, который Вы используете, не содержит имя владельца той таблицы которую Вы определяете, то информация из отдаленной таблицы будет недоступна.

Чтобы исправить эту проблему, используйте View Designer для добавления к SQL строке текущего пользователя, как владельца таблицы.

Если Вы все еще получаете ошибку, Вы должны исправить проблему в ODBC.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Column "field | variable" is not found (Error 1806)

Visual FoxPro 9.0
SQL: Column "field | variable" is not found (Error 1806) SQL: колонка "поле | переменная" не найдена (Ошибка 1806)

Поле или переменная, которую вы определили, не найдены.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Picture error in GET statement (Error 1217)

Visual FoxPro 9.0
Picture error in GET statement (Error 1217) Ошибка изображения в операторе GET (Ошибка 1217)

Фраза PICTURE в операторах @ ... SAY или @ ... GET содержит изображение, включающее значение, которое не может быть отформатировано. Эта ошибка может произойти, если изображение испорчено, или форматируемое значение не является форматом изображения.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


Import only Worksheet A for Lotus 1-2-3 version 3.0 files (Error 1679)

Visual FoxPro 9.0
Import only Worksheet for Lotus 1-2-3 version 3.0 files (Error 1679) (Функция импорта только для файлов таблиц системы Lotus 1-2-3 версии 3.0)

Таблицы B и C не могут быть импортированы в Visual FoxPro потому, что таблицы имеют большую размерность.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL parameter "name" is invalid (Error 1499)

Visual FoxPro 9.0
SQL parameter "name" is invalid (Error 1499) SQl-параметр "имя" неверен (Ошибка 1499)

Определение SQL-параметра в вызове SQLEXEC( ) или в определении view содержит синтаксическую ошибку.

  • Возможно, пропущены заркывающие кавычки для строки констант или закрывающая правая скобка.

    Проверьте определение параметра, следующее за оператором "?" в строке SQL и откорректируйте синтаксис параметра.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot find the spell check program.

Visual FoxPro 9.0
Не найден программный модуль проверки правописания.

Система Visual FoxPro не может найти модуль SPELLCHK.APP, который либо удален, либо переименован, либе перемещен из базового каталога Visual FoxPro. Вам нужно:

  • Запустить установщик Visual FoxPro Setup для активации SPELLCHK.APP.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Member "name" does not evaluate to an object (Error 1943)

Visual FoxPro 9.0
Член "name" не определяется как объект (Ошибка 1943)

Недопустимый синтаксис. Синтаксис указывает, что следующий элемент должен являться объектом, но он не является.

Например, если Вы имеете форму myform с текстовым полем text1, команда myform.txt.value = "help" сгенерировала бы эту ошибку. Команда должна иметь вид myform.text1.value = "help".

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XML document does not have a root element. (Error 2124)

Visual FoxPro 9.0
XML document does not have a root element. (Error 2124)
XML документ не имеет корневого элемента (Ошибка 2124)

Visual FoxPro не позволяет прикреплять пустые DOM или узлы DOM к объекту XMLAdapter.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


OLE Changed Properties stream is the wrong version. Subclassed properties ignored. (Error 2003)

Visual FoxPro 9.0
OLE Changed Properties stream is the wrong version. Subclassed properties ignored. (Error 2003)
Изменение Свойства объекта OLE игнорируется, это относится к ранним версиям ???

Имя и значение свойства объекта OLE не может бать выполнено для формы, файла (.scx) или файла библиотеки классов (.vcx) .

  • Указанная информация отсутствует в файле или файл поврежден !!!

    Выполните Ваши последние операции повторно в Дизайнере форм или Дизайнере Классов . Для получения адекватных результатов.

  • Используется младшая версия объекта OLE .

    По данному сообщению свяжитесь с поставщиком используемого объекта OLE .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Value of XMLTable.XMLName must be used as key value for collection. (Error 2099)

Visual FoxPro 9.0
Value of XMLTable.XMLName must be used as key value for collection. (Error 2099)
Значение свойства XMLTable.XMLName должно быть использовано как значение ключа для коллекции (Ошибка 2099)

Значение свойства XMLName объекта XMLTable должно быть использовано в качестве ключа, при добавлении объекта XMLTable в коллекцию Tables объекта XMLAdapter.

  • Убедитесь, что любые объекты XMLTable, которые предполагается добавить в коллекцию имеют свойство XMLName установленное в корректное значение, и что это свойство используется как ключ в коллекции.

Перещлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Invalid or duplicate field name.

Visual FoxPro 9.0
Неправильное или повторяющееся имя поля.

Указано имя поля, которое уже существует в таблице.

  • Для каждого имени поля в таблице нужно задавать уникальное символьное выражение.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Label file is invalid (Error 54)

Visual FoxPro 9.0
Label file is invalid (Error 54) Файл этикетки неверный (Ошибка 54)

Была сделана попытка изменить или напечатать этикетку, используя файл этикетки, который не был создан CREATE LABEL или MODIFY LABEL, или имелись другие ошибки определения файла этикетки.

Примечание Файлы этикетки (lbx) в Visual FoxPro имеют ту же табличную структуру и требования, как и отчеты (frx). Для примера ошибок отчета и определения формата смотрите Report file "name" is invalid (Error 50) Файо отчета "имя" неверен (Ошибка 50).

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Primary key property is invalid; please validate database (Error 1567)

Visual FoxPro 9.0
Primary key property is invalid; please validate database (Error 1567) Первичный ключ неверен; пожалуйста, подтвердите базу данных (Ошибка 1567)

Первичный ключ для этой таблицы в базе данных разрушен.

Используйте VALIDATE DATABASE, чтобы устранить проблему.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot release menu item (Error 170)

Visual FoxPro 9.0
Cannot release menu item (Error 170)Невозможно освободить пункт меню (Ошибка 170)

Вы попытались освободить пункт, который был определен файлом или структурой.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot issue the SET FORMAT command while a READ command is in progress on a format file (Error 1720)

Visual FoxPro 9.0
Невозможно выполнить команду SET FORMAT пока выполняется команда READ для указанного файла (Error 1720)

Заданный Вами файл формата уже используется в команде READ.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Missing operand (Error 1231)

Visual FoxPro 9.0
Missing operand (Error 1231) Отсутствует операнд (Ошибка 1231)

Вам нужно обеспечить два значения для оператора, который вы используете. Например, операция деления требует два операнда, и один из них отсутствует в каждом из этих примеров.

? ( 13 + 4 ) /

? ( 3 / ) + 2

Оператор умножения требует два операнда, и один из них пропущен в этом примере:

? 4 *.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Server "server" is not found (Error 1715)

Visual FoxPro 9.0
Server "server" is not found (Error 1715) Сервер "сервер" не найден (Ошибка 1715)

Сервер, определенный в команде SET PRINTER TO, не найден.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Window has not been defined with DEFINE WINDOW (Error 214)

Visual FoxPro 9.0
Окно не определено командой DEFINE WINDOW (Error 214)

Сделана попытка активировать окно, которое еще не определено соответствующей командой.

Сначала используйте команду DEFINE WINDOW , а после этого команду ACTIVATE WINDOW .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error occurred in conversion (Error 1797)

Visual FoxPro 9.0
Error occurred in conversion (Error 1797) Ошибка в преобразовании (Ошибка 1797)

Конвертер был запущен и возвратил безошибочный статус,но результирующая форма отчета(.FRX-файл) не в формате Visual FoxPro. Если вы изменяете значение _CONVERTER, вы не сможете использовать конвертер для генерации соответствующего Visual FoxPro .FRX файла.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Objects cannot be programmatically added to the Form Designer's FormSet (Error 1987)

Visual FoxPro 9.0
Объект не может быть добавлен программным путем в объект FormSet, созданный в Дизайнере Форм. (Error 1987)

Выполнена попытка добавить программным путем объект-форму в объект-контейнер FormSet, созданный в Дизайнере Форм . Это не может быть выполнено.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class "name" is in use (Error 1776)

Visual FoxPro 9.0
Class "name" is in use (Error 1776) Класс "имя" используется (Ошибка 1776)

Класс, определенный в методе SaveAsClass, уже существует и используется где-нибудь еще.

Используйте CLEAR ALL, чтобы освободить класс и разрешить его перезаписать.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


XMLAdapter object doesn't have associated tables. (Error 2129)

Visual FoxPro 9.0
XMLAdapter object doesn't have associated tables. (Error 2129)
Объект XMLAdapter не имеет связанных таблиц (Ошибка 2129)

Visual FoxPro требует, чтобы объект или объекты XMLTable были связаны с объектом XMLAdapter до попытки вызова метода ToXML.

  • Вызовите метод AddTableSchema объектов XMLAdapter для создания коллекций XMLTable и XMLField, или, в противном случае, создайте эти коллекции.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Expression is invalid. Use a valid expression for "name" property (Error 1759)

Visual FoxPro 9.0
Неправильное выражение. Для свойства "name" используйте выражение соответствующего типа (Error 1759)

Указанное выражение недействительно для данного свойства объекта grid. Выражение очищено для указанного свойства.

  • Если Вы устанавливаете значение свойства в коде события AfterRowColChange объекта grid, это порождает повторное возникновения данной ошибки, и соответствующего сообщения об ошибке.
    Нажмите Cancel в диалоговом боксе сообщения об ошибке для игнорирования указанного выражения. Вы не сможете изменить значение указанного свойства.

  • Выражение содержит синтаксическую ошибку.

    Задайте правильное выражение, без синтаксической ошибки.

  • Переменная, указанная в выражении, является невидимой в области действия данного события.

    Удедитесь, что переменные, указанные в выражении имеют домтаточную область видимости. Область видимости рассматриваемой пересенной должна быть шире, чем указанное свойство.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Too many windows open (Error 1116)

Visual FoxPro 9.0
Слишком много окон открыто (Ошибка 1116)

Не может быть создано больше окон.

  • Вы имеете слишком много открытых окон приложений.

    Закройте открытые приложения.

  • Недостаточно доступных ресурсов.

    Перезагрузите Windows.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Command cannot be issued on a table with cursors in table buffering mode (Error 1579)

Visual FoxPro 9.0
Команда не может быть выполнена для курсора, открытого в режиме "табличной" буферизации (Ошибка 1579)

Измените режим буферизации не "нетабличный" и повторите данную команду.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


There is not enough memory to complete this operation (Error 43)

Visual FoxPro 9.0
Недостаточно памяти для завершения этой операции (Ошибка 43)

Освободите некоторое количество занятой в текущее время памяти и повторите эту операцию снова.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Command is allowed only in interactive mode (Error 1297)

Visual FoxPro 9.0
Команда разрешена только в интерактивном режиме (Ошибка 1297)

Вы пытаетесь использовать команду, которая только разрешена только в интерактивном режиме. Эта команда может быть запущена только через окно Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot divide by 0 (Error 1307)

Visual FoxPro 9.0
Невозможно разделить на 0 (Ошибка 1307)

Вы определили 0 (нуль) как второй параметр в функции MOD( ) .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Property is invalid for table cursors (Error 1468)

Visual FoxPro 9.0
Свойство недопустимо для курсоров таблицы (Ошибка 1468)

Свойство не поддерживается для курсоров, основанных на таблицах; оно применяется только к курсорам, основанным на представлениях. Используйте свойство только для курсоров представлений.

Для курсора, созданного объектом CursorAdapter, свойство SQL для CURSORGETPROP( ) не является допустимым для курсоров таблицы когда свойство DataSourceType определено как "XML".

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot redefine a menu that is in use (Error 174)

Visual FoxPro 9.0
Невозможно переопределить меню, которое используется (Ошибка 174)

Вы попытались применить команду DEFINE MENU, в то время как меню активно в памяти.

Сначала примените команду DEACTIVATE MENU .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Result is incompatible with cursor schema. (Error 2074)

Visual FoxPro 9.0
Результат несовместим со схемой курсора. (Ошибка 2074)

Происходит если метод CursorFill вызывают с парметром lUserCursorSchema , установленным в Истину (.T)., и определения поля не соответствует типу или десятичной точности полей в базовой таблице.

  • Убедитесь, что типы и десятичная точность полей соответствуют базовой таблице.

  • Параметр lUserCursorSchema должен использоваться только в случае необходимости, как при преобразовании XML, который не имеет схемы, и Вы должны контролировать типы полей.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


.DIF file header is invalid (Error 115)

Visual FoxPro 9.0
Заголовок файла .DIF разрушен (Error 115)

Заголовок файла (.dif) содержит ошибки.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Printer is not ready (Error 125)

Visual FoxPro 9.0
Принтер не готов (Error 125)

Устройство печати не готово в данный момент, синхронизация не выполняется.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Out of memory (Error 1809)

Visual FoxPro 9.0
SQL: недостаточно памяти (Ошибка 1809)

Visual FoxPro вышел за пределы памяти при попытке обработать вашу команду SELECT. Для подробной информации, см. SELECT - SQL Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Not a ProjectHook class. (Error 1439)

Visual FoxPro 9.0
Это не класс ProjectHook. (Ошибка 1439)

Заданный по умолчанию класс ProjectHook, который Вы определяете как шаблон для новых проектов, должен быть основан на классе ProjectHook.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Statement is only valid within a class definition (Error 1928)

Visual FoxPro 9.0
Инструкция допустима только в пределах определения класса (Ошибка 1928)

PROTECTED, ADD OBJECT, и команды ADD PROTECTED OBJECT допустимы только в пределах определения класса. Для подробной информации, см. DEFINE CLASS Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to emit XML, two or more cursors use different code pages. (Error 2133)

Visual FoxPro 9.0
Unable to emit XML, two or more cursors use different code pages. (Error 2133)
Невозможно выдать XML, так как два или более курсоров имеют разные кодовые страницы (Ошибка 2133)

Происходит при поытке вызвать метод ToXML объектов XMLAdapter в случае, когда для объектов XMLAdapter был вызван метод AddTableSchema для добавления схемы из двух или более курсоров, которые имеют разные кодовые страницы.

  • Убедитесь, что все курсоры, которые должны быть конвертированы в XML имеют одинаковые кодовые страницы.

Перешлите комментарии об этой теме в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


File cannot be closed because outstanding references exist (Error 1184)

Visual FoxPro 9.0
Файл не может быть закрыт, потому что существует внешняя ссылка (Ошибка 1184)

Внешние ссылки существуют на объект в этой форме или наборе форм.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


.SYLK file format is invalid (Error 121)

Visual FoxPro 9.0
Недопустимый формат файла .SYLK (Ошибка 121)

Файл, который Вы попытались импортировать, не является допустимым форматом файла SYLK.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The class file associated with this field cannot be found - class association cleared. (Error 2020)

Visual FoxPro 9.0
Файл класса, связанный с этим полем не найден. Связь с классом удалена. (Ошибка 2020)

Класс является недопустимым или не может быть найден.

  • Вы модифцировали таблицу, которая имела ассоциацию для поля/класса, файл класса которой невозможно прочитать.

    Присвойте полю допустимый класс.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error creating table: "name" (Error 1973)

Visual FoxPro 9.0
Error creating table: "name" (Error 1973)

Определение таблицы, использованное во фразе FROM команды CREATE TABLE, содержит неверное определение поля.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Unable to set external schema location when inline schema is used. (Error 2123)

Visual FoxPro 9.0
Невозможно задать местоположение внешней схемы, когда используется встроенная схема. (Ошибка 2123)

Значение свйства XMLAdapter XMLSchemaLocation, не может быть установлено в Inline Schema (1), когда параметр cSchemaLocation уже заполнен.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Declare DLL call caused an exception. (Error 2027)

Visual FoxPro 9.0
Объявление вызова DLL вызвало исключение. (Ошибка 2027)

Переданные в DLL параметры вызвали исключение в DLL.

Убедитесь, что Вы передаете все необходимые параметры для DLL и что параметры имеют надлежащий тип.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Not enough memory for file map (Error 1150)

Visual FoxPro 9.0
Недостаточно памяти для размещения файла (Ошибка 1150)

Недостаточно памяти для её выделения внутреннему ресурсу Visual FoxPro.

  • Доступная память чрезвычайно ограничена.

    Добавьте памяти или удалите резидентные программы для выделения Visual FoxPro больше рабочей памяти.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorAdapter does not have an associated cursor. (Error 2090)

Visual FoxPro 9.0
CursorAdapter не имеет связанного курсора. (Ошибка 2090)

Происходит при вызове операции, которая требует наличия прикрепленного курсора, но у объекта CursorAdapter нет связанного курсора.

  • Проверьте для получения гарантии, что объект CursorAdapter имеет связанный курсор.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS


Warning: The connection sync/async mode cannot be set (Error 1480)

Visual FoxPro 9.0
Warning: The connection sync/async mode cannot be set (Error 1480) Предупреждение: соединение sync/async способом не может быть установлено ODBC драйвером (Ошибка 1480)

Соединение sync/async способом не может быть установлено ODBC драйвером. Соединение будет использовать драйвер, по умолчанию определяющий sync/async.Это не позволит вернуть управление сквозным (прямым) SQL-функциям, пока не завершен вызов ODBC.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


The network request is not supported (Error 1793)

Visual FoxPro 9.0
Сетевой запрос не поддерживается (Ошибка 1793)

Visual FoxPro был неспособен получить информацию о файле в сетевом окружении.

  • Нет доступных имен дисков.

    Освободите имя для диска, и повторите запрос.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Multiplan version 4.0 file format is invalid (Error 1670)

Visual FoxPro 9.0
Multiplan version 4.0 file format is invalid (Error 1670) Файл мультиплан версии 4.0 неверен (Ошибка 1670)

Файл мультиплан, который вы попытались импортировать - либо не версии 4.0, либо разрушен.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


SQL pass-through internal consistency error (Error 1465)

Visual FoxPro 9.0
Внутренняя ошибка последовательности сквозного запроса SQL (Ошибка 1465)

Внутренняя ошибка сквозного запроса SQL.

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обращайтесь в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot delete file "name". (Error 2030)

Visual FoxPro 9.0
Cannot delete file "name". (Error 2030) Невозможно удалить файл "имя" (Ошибка 2030)

Visual FoxPro не может удалить файл. Например, Visual FoxPro не может удалить файл потому, что он помечен как файл только для чтения.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot find object "name" in the database (Error 1562)

Visual FoxPro 9.0
Невозможно найти объект "name" в базе данных (Ошибка 1562)

Была сделана ссылка на объект базы данных, который не может быть найден в базе данных. Используйте DISPLAY DATABASE или LIST DATABASE для подтверждения имен существующих объектов базы данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to attach object with empty XMLName property. (Error 2101)

Visual FoxPro 9.0
Unable to attach object with empty XMLName property. (Error 2101)
Невозможно прикрепить объект с пустым свойством XMLName. (Ошибка 2101)

Значение свойства XMLName не может быть пустым при добавлении объекта XMLTable или объекта XMLField в коллекцию.

  • Убедитесь, что свойство XMLName объекта XMLField или объекта XMLTable установлено в корректное значение, и что это значение используется как ключ.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Removing a class member is not allowed (Error 2016)

Visual FoxPro 9.0
Удаление члена класса запрещено (Ошибка 2016)

Экземпляр класса не может удалить членов класса.

  • Вы попытались использовать RemoveObject.

    Используйте AddObject и затем задайте свойство CurrentControl .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Source field for refresh is not found (Error 2167)

Visual FoxPro 9.0
Поле-источник для регенерации не найдено (Ошибка 2167)

Была сделана попытка обновления большего количества полей, чем было возвращено функцией REFRESH( ) Function .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid file descriptor (Error 1111)

Visual FoxPro 9.0
Invalid file descriptor (Error 1111) Неверный дескриптор файла (Ошибка 1111)

Visual FoxPro не может открыть файл.

Запишите ваши последние действия при использовании Visual FoxPro и вызовите поддержку Microsoft.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Recursive XMLTable nesting is not allowed (Error 2187)

Visual FoxPro 9.0
Рекурсивное вложение XMLTable не разрешено (Ошибка 2187)

Класс XMLTable Class не может быть вложен сам в себя или в потомка XMLTable.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Variable must be in the selected table (Error 1134)

Visual FoxPro 9.0
Переменная должна быть в выбранной таблице (Ошибка 1134)

Вы можете только использовать поля из текущей выбранной таблицы in quick screens.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


"OLE error" (Error 1429)

Visual FoxPro 9.0
"OLE error" (Error 1429)

Сервер автоматизации передает ошибку в Visual FoxPro.

  • Текст ошибки был передан в Visual FoxPro от сервера автоматизации.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


Row or column position is off the screen (Error 30)

Visual FoxPro 9.0
Row or column position is off the screen (Error 30)Строка или столбец вне пределов экрана(Ошибка 30)

Номер строки или столбца определены в команде @ больше, чем номер строки или столбца экрана, окна или принтера.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Too many names used (Error 1201)

Visual FoxPro 9.0
Too many names used (Error 1201)Слишком много имен используется (Ошибка 1201)

Во время загрузки программы или открытия таблицы переполнилась таблица имен Visual FoxPro.

Поделите программу на меньшие модули.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


ALTER TABLE operation interrupted (Error 1870)

Visual FoxPro 9.0
Операция ALTER TABLE прервана (Ошибка 1870)

Вы прервали команду ALTER TABLE во время копирования записей в новый формат. Некоторые данные не скопированы. Проверьте данные.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


SQL: WHERE clause is invalid (Error 1833)

Visual FoxPro 9.0
SQL: предложение WHERE недопустимо (Ошибка 1833)

Ошибка в предложении WHERE. Для подробной информации, см. SELECT - SQL Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" is not a file variable (Error 226)

Visual FoxPro 9.0
"имя" не является переменной файла (Ошибка 226)

Была использована переменная памяти или массив там, где требуется переменная файла (поле таблицы). Для получения дополнительной информации смотрите Поля таблицы или Работа с полями и записями таблицы.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Cannot locate the COMSPEC environment variable (Error 1412)

Visual FoxPro 9.0
Невозможно определить местонахождение переменной окружения COMSPEC (Ошибка 1412)

Visual FoxPro не может найти трубуемую переменную окружения. Эта ошибка обычно происходит, когда Вы пробуете выполнить Visual FoxPro изнутри другой программы и переменные окружения MS-DOS передаются неверно.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Statement is invalid (Error 1804)

Visual FoxPro 9.0
SQL: Инструкция недопустима (Ошибка 1804)

Имеется ошибка в проектируемом наборе инструкций. Для подробной информации, см. SELECT - SQL Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Command contains invalid character (Error 1220)

Visual FoxPro 9.0
Команда содержит запрещенный символ (Ошибка 1220)

Исходная строка содержит запрещенный символ. Это вероятно вызвано управляющими символами, внедренными в исходную строку внешним редактором.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error reading file "file" (Error 1104)

Visual FoxPro 9.0
Ошибка чтения файла "file" (Ошибка 1104)

Операционная система вернула ошибку, в то время когда Visual FoxPro пытался читать указанный файл.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot arrange an untransported form (Error 1795)

Visual FoxPro 9.0
Невозможно скомпоновать нетранспортированную форму (Ошибка 1795)

Когда Вы перемещаете экраны между разными платформами FoxPro 2. x , Вы должны транспортировать экраны с помощью TRANSPRT.PRG прежде, чем они могут быть размещены.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Недопустимая ссылка на переменную (Error 1223)

Visual FoxPro 9.0
Недопустимая ссылка на переменную (Error 1223)

Функция была использована там, где ожидалась переменная памяти.

Замените ссылку правильной переменной памяти или именем массива.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SELECTs are not UNION compatible. "Details" (Error 1851)

Visual FoxPro 9.0
SELECTs are not UNION compatible. "Детали" (Ошибка 1851)

Это происходит по одной из следующих причин:

  • Несоотвествующее количество полей. Убедитесь, что количество полей соответствует.

  • Определенные поля несовместимы. Убедитесь, что определенные поля совместимы.

  • Типы данных или размер полей, спроектированных во фразе SELECT, не идентичны.

Перешлите комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


The IN clause is not supported for this window (Error 1699)

Visual FoxPro 9.0
Предложение IN не поддерживается для этого окна (Ошибка 1699)

Это окно не может быть помещено в другое окно.

  • Вы использовали команду ACTIVATE WINDOW , чтобы разместить одно из окон отладчика в другом окне.

    Используйте другое окно, или измените вашу среду отладки во вкладке Debug диалогового окна Options .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RETURN/RETRY statement not allowed in TRY/CATCH. (Error 2060)

Visual FoxPro 9.0
Инструкция RETURN/RETRY не разрешена в TRY/CATCH. (Ошибка 2060)

Инструкция RETURN не может применяться в структуре TRY...CATCH...FINALLY .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Index "name" is in use and cannot be closed (Error 2200)

Visual FoxPro 9.0
Индекс "name" используется и не может быть закрыт (Ошибка 2200)

Эта ошибка сгенерирована механизмом SQL, когда предпринимается попытка, чтобы закрыть индексный тэг, в то время как тот тэг находится в использовании. Ошибка может произойти, если Вы пытаетесь удалять тэг, в то время как он находится в использовании, например из UDF() вызванной Командой SELECT - SQL .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Array is not a member of the parent object (Error 1764)

Visual FoxPro 9.0
Массив не является членом родительского объекта (Ошибка 1764)

Проверьте ваши ссылки на массив.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class "name" already exists (Error 1761)

Visual FoxPro 9.0
Класс "name" уже существует (Ошибка 1761)

Команды ADD CLASS или RENAME CLASS были запущены с именем класса, которое уже существует в библиотеке классов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


A table in multiple relationships can only have one child order (Error 1889)

Visual FoxPro 9.0
Таблица со множеством связей может только иметь один дочерний управляющий индекс (Ошибка 1889)

Вы определили более одного дочернего управляющего индекса для таблицы с множеством связей. Эта операция не разрешена.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Alias name is already in use (Error 24)

Visual FoxPro 9.0
Alias name is already in use (Error 24)

Вы попытались использовать таблицу с псевдонимом, который уже используется другой таблицей.

Перешлите комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Error in the PICTURE clause (Error 1258)

Visual FoxPro 9.0
Ошибка в предложении PICTURE (Ошибка 1258)

Компилятор обнаружил ошибку при компилировании предложения PICTURE. Изображение должно быть допустимым файлом точечного рисунка (.BMP) или значка (.ICO).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Syntax error: "name" is not allowed in the view script or is in the wrong place (Error 2093)

Visual FoxPro 9.0
Синтаксическая ошибка: "name" не разрешено в сценарии представления или находится в недопустимом месте (Ошибка 2093)

(Ошибка 2093) Был использован недопустимый синтаксис в сценарии дизайнера представлений. Уледитесь, что введенный код соответствует надлежащему синтаксису для команды SELECT - SQL

. Послать комментарии


Not enough memory to open a table with the USE command (Error 1600)

Visual FoxPro 9.0
Недостаточно Памяти для открытия Таблицы с помощью команды USE (Ошибка 1600)

Недостаточно памяти, чтобы открыть дополнительную Таблицу.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Unable to change XMLName property while XMLTable object belongs to XMLAdapter object. (Error 2102)

Visual FoxPro 9.0
Unable to change XMLName property while XMLTable object belongs to XMLAdapter object. (Error 2102)
Невозможно изменить свойство XMLName пока объект XMLTable принадлежит объекту XMLAdapter object. (Ошибка 2102)

Когда объект XMLTable принадлежит объекту XMLAdapter object, Visual FoxPro не позволяет изменять свойство XMLName объекта XMLTable.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


The validation rule for field "name" does not evaluate to a logical or NULL type (Error 1996)

Visual FoxPro 9.0
Правило проверки для поля "name" не равно логическому типу или типу NULL (Ошибка 1996)

Результат проверочного правила поля должен быть или Логическим типом или типом NULL.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Index expression exceeds maximum length (Error 23)

Visual FoxPro 9.0
Индексное выражение превышает максимальную длину (Ошибка 23)

Индексное выражение для этого индекса превышает максимальную длину в 220 байтов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The specified file or path was not found. (Error 2022)

Visual FoxPro 9.0
Указанный файл или путь не были найдены. (Ошибка 2022)

Файл, к которому Вы попытались применить операцию перетаскивания OLE, не мог быть обнаружен.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table "name" already exists in the database (Error 1564)

Visual FoxPro 9.0
Таблица "name" уже существует в базе данных (Ошибка 1564)

Вы попытались добавить к базе данных таблицу, которая уже находится в базе данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Parent object will not allow this property setting for "name" (Error 1767)

Visual FoxPro 9.0
Родительский объект не разрешит задание этого свойства для "name" (Ошибка 1767)

Вы попытались задать значение свойства объекта, родительский объект которого управляет значением того же свойства.

Например, когда Вы пробуете установить свойство ControlSource для элемента управления, содержащегося в столбце grid'а, и при этом свойство Bound для колонки grid'а установлено в истину (.T)., то Вы получите сообщение об этой ошибке, потому что свойство ControlSource элемента управления задается свойством ControlSource колонки grid'а.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Function is not supported on remote tables (Error 1525)

Visual FoxPro 9.0
Функция не поддерживается для внешних таблиц (Error 1525)

Команда или Функция, которую Вы используете — например, PACK или ALTER TABLE — не поддерживается для внешних (удаленных) таблиц.

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: DISTINCT is invalid (Error 1819)

Visual FoxPro 9.0
SQL: DISTINCT не правильная (Error 1819)

Вы можете использовать только одну инструкцию DISTINCT на команду SQL.

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


BEGIN TRANSACTION command failed. Nesting level is too deep (Error 1590)

Visual FoxPro 9.0
Команда BEGIN TRANSACTION завершилась со сбоем. Слишком глубокий уровень вложенности (Ошибка 1590)

Транзакции могут только быть вложены до 5-го уровня вложенности.

  • Вы должны закончить транзакцию прежде, чем другая транзакция сможет начаться.

    Сначала выполните END TRANSACTION или ROLLBACK .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorAdapter "name" cannot be loaded for design. (Error 2078)

Visual FoxPro 9.0
CursorAdapter "name" cannot be loaded for design. (Ошибка 2078)
CursorAdapter с именем "name" не может быть загружен для разработки (модификации).

Visual FoxPro не может создать инстанцию объекта cursor adapter.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


Data session #number was forced to ROLLBACK all transactions to avoid deadlock (Error 1599)

Visual FoxPro 9.0
Сессия данных #number была вынуждена применить ROLLBACK ко всем транзакциям, чтобы избежать взаимоблокировки (Ошибка 1599)

Была обнаружена взаимоблокировка со стороны другой сессии данных, пытающейся блокировать файл индекса или мемо, удерживаемые сессией данных # number . Завершено принудительное выполнение ROLLBACK с номером сессии данных number , оставшимся в ошибочном состоянии.

Задавайте соответствующие значения для команд ROLLBACK , чтобы очистить ошибочное состояние. Подобных ситуаций можно избежать, устанавливая SYS(3052) в "on" для файлов индексов и мемо.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid path or file name (Error 202)

Visual FoxPro 9.0
Недопустимый путь или имя файла (Ошибка 202)

Вы попытались выполнить команду Visual FoxPro, которая содержит недопустимый путь или имя файла.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Improper data type in the group expression (Error 1241)

Visual FoxPro 9.0
Неподходящий тип данных в выражении группировки (Ошибка 1241)

Командой REPORT был обнаружен тип данных Picture в выражении для группировки

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error building key for index "name". (Error 2199)

Visual FoxPro 9.0
Ошибка формирования ключа для индекса "name". (Ошибка 2199)
См. Также

Эта ошибка генерируется перед усечением индексного ключа, как правило в процессе создания или модификации индекса , например командой INDEX . Это может случиться при использовании ключа, который содержит выражение, использующее Memo-поле, длина которого не фиксирована, как в следующем примере:

INDEX ON charfld1 + memofld1 TAG mytag

Индексный файл с усеченными индексными ключами - источник потенциально неправильных результатов. Visual FoxPro не разрешает усечение ключа в процессе создания или модификации индекса. Об ошибке сообщается перед тем как должно произойти усечение ключа. Если Вы желаете укоротить ключ, Вы должны скорректировать индексное выражение для явного укорочения ключа.

Из-за проблем, связанных с усечением ключа, механизм SQL (как в процессе выполнения команды SQL SELECT или при создании Представления) может быть не в состоянии сформировать временный индекс, чтобы оптимизировать оценку соединения, в том случае, если он неспособен точно определить максимальный размер ключа. Это может привести к вычислению соединения как декартова произведения, что в результате может влиять на быстродействие. Чтобы дать возможность диагностировать эту проблему, добавлено сообщение в SQL ShowPlan, которое управляется функцией SYS(3054) . Когда значение этой функции больше или равно 11, в ShowPlan добавляется сообщение "Ошибка формирования временного индекса" чтобы указать на проблему усечения ключа. Вы можете устранить эту проблему, регулируя условия соединения для явного задания размера ключа и успешного формирования временного индекса.

Иногда, механизм SQL будет формировать временный составной индекс (это - специальный индекс, создаваемый самой программой и не обеспечиваемый через команду INDEX). В этом случае, некоторые части индекса могут вызвать укорочение ключа, в то время как другие не приведут к этому. При первой попытке формировать индекс, те части, которые вызывают проблемы, будут идентифицироваться. Затем эти проблемные части удаляются из ключа и индекс формируется заново. SQL ShowPlan укажет на эту проблему, однако остается возможность, что соединение может быть все еще оптимизировано с использованием только допустимых частей.

См. Также

Ссылки

SYS(3054) - Уровень оптимизации Rushmore Query Optimization
SELECT - SQL Команда
INDEX Команда

Concepts

Условия соединения Join Conditions for Tables, Queries, and Views

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu specified in ACTIVATE POPUP is already in use (Error 182)

Visual FoxPro 9.0
Меню, указанное в ACTIVATE POPUP уже в используется (Ошибка 182)

Вы попытались активизировать меню, которое уже активизировано.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Property "name" is read-only (Error 1743)

Visual FoxPro 9.0
Свойство "name" предназначено только для чтения (Ошибка 1743)

Вы не можете изменить значение свойства, предназначенного только для чтения.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Property does not have a default value. (Error 1138)

Visual FoxPro 9.0
Свойство не имеет значения по умолчанию. (Ошибка 1138)

ResetToDefault можно применять только для свойств, которые имеют наследуемые значения по умолчанию.

  • Свойство предназначено только для чтения или является одним из следующих:

    Alias , ChildOrder , CursorSource ., Database , Name , Order , ParentAlias , RelationalExpr .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot base a view on itself (Error 1952)

Visual FoxPro 9.0
Нельзя основать представление на самом себе (Ошибка 1952)

Вы попытались изменить представление в Конструкторе Представления выбирая Add , и затем задавая в диалоговом окне представлением для модификации основное представление. Это - недопустимая операция.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Feature is only available if the object is in design mode (Error 1953)

Visual FoxPro 9.0
Особенность доступна, если объект находится в режиме конструктора (Ошибка 1953)

Операция, которой Вы применили, допустима только в режиме конструктора.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Browse structure has changed (Error 1164)

Visual FoxPro 9.0
Структура Browse изменилась (Ошибка 1164)

Структура окна Browse была изменена процедурой валидации Browse.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Subscript is outside defined range (Error 1234)

Visual FoxPro 9.0
Индекс - за границей заданного диапазона (Ошибка 1234)

Была сделана попытка обратиться к элементу массива с индексом выходящим за пределы диапазона, заданного для этого массива командой DIMENSION .

Например, копирование массива-члена в существующий массив определенной размерности, который не является членом, с использованием функции ACOPY( ) может генерировать эту ошибку. Вы можете избежать этой ошибки, изменяя размерность указанного массива в одномерный, перед тем, как выполнить ACOPY( ) . Для подробной информации, см. ACOPY () Функция и DIMENSION Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Compiled code for this line is too long (Error 1252)

Visual FoxPro 9.0
Оттранслированный код для этой строки слишком велик (Ошибка 1252)

Объектный код, полученный для этой инструкции превысил размер внутреннего буфера кода Visual FoxPro.

  • Эта строка содержит слишком много длинных выражений.

    Разбейте строку на несколько инструкций.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Form (.SCX) file must contain at least one Form (Error 1749)

Visual FoxPro 9.0
Файл формы (.SCX) должен содержать хотя бы одну Форму (Ошибка 1749)

Чтобы добавить форму к файлу .scx, используйте Form Designer .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Index is not found (Error 1830)

Visual FoxPro 9.0
SQL: Индекс не найден (Ошибка 1830)

Visual FoxPro не мог найти существующий индекс. Для подробной информации, см. SELECT - SQL Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File is in use by another user (Error 108)

Visual FoxPro 9.0
Файл используется другим пользователем (Ошибка 108)

Вы сделали попытку применения команд USE, DELETE, или RENAME к файлу, который используется другим пользователем в сети.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cursor "name" does not have a valid table or view reference (Error 2067)

Visual FoxPro 9.0
Курсор "cursor" не имеет правильной ссылки на таблицу или представление (Ошибка 2067)

Указанный класс курсора не имеет имени таблицы или представления, которое может быть отнесено к ассоциированной базе данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


A .DBF-style Help file is required (Error 1727)

Visual FoxPro 9.0
A .DBF-style Help file is required (Error 1727) (Требуется система помощи в стиле .dbf)

Команда SET HELPFILTER работает только с файлами помощи в стиле .DBF.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" cannot be enumerated (Error 1794)

Visual FoxPro 9.0
"имя" не может быть перечислен (Ошибка 1794)

Цикл FOR EACH ... ENDFOR может быть использован только для перебора элементов массива Visual FoxPro, массива OLE, коллекции Visual FoxPro или коллекции OLE.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Cannot build a DLL without OLE public classes (Error 2002)

Visual FoxPro 9.0
Cannot build a DLL without OLE public classes (Error 2002)
Невозможно создать DLL, без указания опции OLEPUBLIC

Команда BUILD DLL выполняется для приложений, где используется OLEPUBLIC.

  • Вы сделали неправильный выбор в диалоговом боксе Build Options .

    Выполните другой выбор при активации Build Application.

  • Нет определения OLEPUBLIC при описании класса.

    Определите один или несколько классов с опцией OLEPUBLIC . Для дополнительной информации см. раздел Class Info , а также описание команды DEFINE CLASS.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu title has not been defined with DEFINE PAD (Ошибка 164)

Visual FoxPro 9.0
Menu title has not been defined with DEFINE PAD (Ошибка 164)

Имеется ссылка на название меню, которое не существует. Более подробно смотрите DEFINE PAD Command.

Перешлите комментарии/a> об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Illegal printer driver recursion (Error 1910)

Visual FoxPro 9.0
Illegal printer driver recursion (Error 1910) Неверное повторение (рекурсия) драйвера принтера (Ошибка 1910)

Ваша программа драйвера принтера вызывается из драйвера принтера.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Invalid Insert refresh column name "column name" (Error 2161)

Visual FoxPro 9.0
Invalid Insert refresh column name "column name" (Error 2161) (Неправильное имя столбца "column name" в команде обновления)

Неправильное имя столбца в команде обновления, или указанный столбец отсутствует.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Suspend program before using RESUME (Error 1236)

Visual FoxPro 9.0
Suspend program before using RESUME (Error 1236) Приостановите программу перед использованием RESUME (Ошибка 1236)

RESUME применяется только в случае, когда программа приостановлена.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Filter expression is not allowed for a Binary index (Error 2157)

Visual FoxPro 9.0
Выражение фильтра является недопустимым для Бинарного индекса (Error 2157)

Бинарный индекс не может содаржать выражение фильтра. Например, опция FOR команды INDEX недопустима при создании Бинарного индекса. См. дополнительно Типы индексов в Visual FoxPro при создании бинарных индексов.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No menu titles have been defined for this menu (Error 1621)

Visual FoxPro 9.0
Нет заданных заголовков для данного меню (Error 1621)

Вы пытаетесь активировать заголовок меню, который не определен.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid Update refresh key column name "column name" (Error 2164)

Visual FoxPro 9.0
Невозможно обновить значение указанного ключа "column name" (Error 2164)

Невозможно выполнить изменение ключевого выражения, или указанный ключ не найден в курсоре.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Offline view must be used online for this command (Error 2015)

Visual FoxPro 9.0
Представление Offline в данной команде должно бать использовано в режиме Online (Error 2015)

Когда Вы работаете с Представлением (View) в административном режиме, операции изменения данных для нормального режима ONLINE не доступны. Для дополнительной информации см. раздел по описанию опций VIEW ADMIN команды USE .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Include file "name" is not found (Error 1994)

Visual FoxPro 9.0
Заголовочный файл "name" не найден (Ошибка 1994)

Файл, указанный в форме не существует или #INCLUDE содержит недопустимую ссылку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Product has not been properly installed.

Visual FoxPro 9.0
Продукт (система) не правильно установлен.

Переустановите Вашу копию системы Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Field "name" does not accept null values (Error 1581)

Visual FoxPro 9.0
Поле "name" не принимает значений null (Ошибка 1581)

Вы попытались сохранить значение null в поле, которое не принимает этих значения.

Вы можете изменить эту установку, выставляя чекбокс в NULL при модификации поля в дизайнере таблиц, или определяя ключевое слово NULL в определении поля.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot modify a class that is in use (Error 1948)

Visual FoxPro 9.0
Невозможно изменить Класс, который находится в использовании (Ошибка 1948)

Вы пытаетесь изменить Класс, который в настоящий момент используется.

Используйте команду CLEAR CLASS для очистки класса из памяти, и повторите вновь...

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Constant is already created with #DEFINE (Error 1725)

Visual FoxPro 9.0
Константа уже создана с помощью #DEFINE (Ошибка 1725)

Константа была уже определена #DEFINE.

Используйте #UNDEF, чтобы очисить её перед переопределением.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


End of file encountered (Error 4)

Visual FoxPro 9.0
Достигнут конец файла (Ошибка 4)

Указатель записи был установлен за последней записью файла.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Total field type must be Date or Numeric (Error 1646)

Visual FoxPro 9.0
Поле суммы должно быть Date или Numeric (Ошибка 1646)

Выражение отчета, которое включает описание суммы не является числовым типом.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid Insert refresh key column name "column name" (Error 2162)

Visual FoxPro 9.0
Недопустимое имя столбца для ключа обновления Insert "column name" (Ошибка 2162)

Имя столбца для ключа обновления Insert недопустимо или не может быть найдено в курсоре.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to close offline view in ADMIN/ONLINE mode inside a transaction. (Error 2122)

Visual FoxPro 9.0
Невоозможно закрыть автономное представление в режиме ADMIN/ONLINE из транзакции. (Ошибка 2122)

Вы не можете закрыть автономное представление в режиме ADMIN ИЛИ ONLINE из транзакции.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot delete a database object while it is open in a designer (Error 1572)

Visual FoxPro 9.0
Невозможно удалить объект базы данных, в то время как он открыт в дизайнере (Ошибка 1572)

Представление или соединение являются открытыми в дизайнере.

  • Вы пробовали удалить представление или соединение в окне Command или из Database Designer .

    Закройте сначала View Designer или Connection Designer .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Maximum menu item length (50) is exceeded (Error 1609)

Visual FoxPro 9.0
Maximum menu item length (50) is exceeded (Error 1609) Превышена максимальная длина (50) пункта меню (Ошибка 1609)

Уменьшитеколичество пунктов меню.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Too many columns (Error 1872)

Visual FoxPro 9.0
Too many columns (Error 1872) Слишком много столбцов (Ошибка 1872)

Вы можете определить максимум 255 полей в записи.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


OLE object is invalid or corrupted (Error 1420)

Visual FoxPro 9.0
объект OLE недопустим или поврежден (Ошибка 1420)

Данные, сохраненные в поле general для объекта OLE не могут быть проверены на допустимость.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot access the selected table (Error 1152)

Visual FoxPro 9.0
Невозможно обратиться к выбранной таблице (Ошибка 1152)

Вы попытались указать таблицу вне рабочего диапазона 32K или сделали попытку ссылаться на переменную файла в таблице, которая не является открытой. Эта ошибка может произойти при следующих условиях:

  • Таблица или курсор, который определен для свойства RowSource элементов управления ComboBox или ListBox закрыт.

    Если Вы хотите закрыть таблицу или курсор, который определен для свойства RowSource элементов управления ComboBox или ListBox , выполните одно из следующих действий до закрытия таблицы или курсора:

    • Установите свойство RowSource в пустое значение (" ").

    -ИЛИ-

    • Закройте форму, содержащую элементы управления ComboBox или ListBox .

  • Применена инструкция SQL SELECT, которая обновляет таблицу или курсор, определенные свойством RowSource . Когда выполняется инструкция SQL SELECT, Visual FoxPro закрывает и затем открывают таблицу.

    Чтобы избежать этой ошибки, установите свойство RowSource в пустое значение (" "), выполните инструкцию SQL SELECT, и сбросьте свойство RowSource в его предыдущее значение.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Line is too long (Error 18)

Visual FoxPro 9.0
Line is too long (Ошибка 18)

Превышена максимальная длина командной строки (8,192 bytes).

  • Макроподстановка могла превысить лимит строки в 8,192 байт.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


The "name" event has failed (Error 2089)

Visual FoxPro 9.0
Событие "имя события" потерпело неудачу (Ошибка 2089)

Указанное событие CursorAdapter незавершилось по неизвестной причине. Убедитесь, что событие (типа события BeforeCursorFil ) и возможный вызов соответствующего метода (типа метода CursorFill ) являются допустимыми и не имеют никаких связанных ошибок.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The clipboard contained one or more objects that could not be added to the container. Those objects were not pasted (Error 1969)

Visual FoxPro 9.0
Буфер обмена содержал один или более объектов, которые нельзя было бы добавить в контейнер. Эти объекты не были вставлены (Ошибка 1969)

Вы попытались вставить из буфера недопустимое содержание, например, разделитель инструментальной панели, на форму или элемент управления.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cursor is corrupt or in wrong format (Error 1166)

Visual FoxPro 9.0
Файл указателя курсора испорчен или неправильного формата (Ошибка 1166)

Вы попытались задать в свойстве DragIcon недопустимый файл .CUR. Допустимый файл .CUR файл должен содержать неповрежденный черно-белый указатель курсора.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Table for UPDATE or DELETE cannot be outer joined (Error 2150)

Visual FoxPro 9.0
SQL: Таблица для UPDATE или DELETE не может быть использована во внешнем соединении (Ошибка 2150)

Таблица, указанная в Комнаде UPDATE - SQL или команде DELETE - SQL не может использоваться во внешнем соединении. Эта ошибка генеририруется, когда указанная таблица в командах UPDATE - SQL или DELETE - SQL - является вторичной таблицей во внешнем соединении.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Too many PROCEDURE commands are in effect (Error 1250)

Visual FoxPro 9.0
Слишком много выполняется команд PROCEDURE (Ошибка 1250)

Количество процедур ограничено объемом памяти, который Вы имеете.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error loading the data environment. Table is in use (Error 1995)

Visual FoxPro 9.0
Ошибка загрузки окружения данных. Таблица используется (Ошибка 1995)

Выясните, была ли таблица открыта монопольно в другой сессии данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find view "name" in the current database (Error 1563)

Visual FoxPro 9.0
Невозможно найти представление "name" в текущей базе данных (Ошибка 1563)

Имя, которое Вы определили - не является именем представления в текущей базе данных. Проверьте что, введенное имя правильное и что текущая база данных является требуемой базой данных. Используйте DISPLAY VIEWS или LIST VIEWS для подтверждения имен существующих представлений базы данных.

Если имя представления находится в списке, то возможно разрушен индекс .dbc.

Для восстанавления индекса

  1. Закройте базу данных.

  2. Удалите индексный файл ( database_name .DCX).

  3. Повторно откройте базу данных.

  4. Создайте индекс заново.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Relation already exists. (Error 1183)

Visual FoxPro 9.0
Отношение уже существует. (Ошибка 1183)

Таблицы уже связаны.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field for Unicode value should not use code page translation. (Error 2142)

Visual FoxPro 9.0
Поле для значения Unicode не должно использовать трансляцию кодовой страницы. (Ошибка 2142)

Происходит, когда Visual FoxPro пытается конвертировать данные Unicode в или из XML, и свойство NoCpTrans равно Лжи (.F)..

  • Проверьте, чтобы убедиться в том, что ваши символьные и memo-поля, используемые для данных Unicode, имеют значение свойства NoCpTrans равное Истине (.T)..

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Property setting will not take effect until data environment reloaded (Error 1739)

Visual FoxPro 9.0
Установка свойства не будет применена до перезагрузки окружения данных (Ошибка 1739)

1739) Вы попытались изменить свойство объекта окружения данных ( Relation, Cursor

) в то время как окружение данных загружено. Значение свойства будет сохранено объектом, но свойство не будет вступать в силу, пока среда данных не будет выгружена и затем загружена заново.

  1. Для вызгрузки среды данных выполните CloseTables

    в форме:
    [Formset.]Form.DataEnvironment.CloseTables

Скопировать код

  1. Для перезагрузки среды данных выполните OpenTables

    в форме:
    [Formset.]Form.DataEnvironment.OpenTables
Скопировать код Послать комментарии


The builder program is already running (Error 1954)

Visual FoxPro 9.0
The builder program is already running (Error 1954)
Программа построителя уже запущена (Ошибка 1954)

Вы пытались вызвать программу построителя в то время, когда она уже запущена. Это не является корректным действием.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS


The current object has been released (Error 1945)

Visual FoxPro 9.0
Текущий объект был очищен (Ошибка 1945)

Вы применили RELEASE THIS в событии destroy текущего объекта.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Too many fields in UPDATE (Error 1864)

Visual FoxPro 9.0
SQL: Слишком много полей в UPDATE (Ошибка 1864)

Вы попытались выполнить UPDATE - SQL с количеством полей, большим чем 128, для модификации.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot nest aggregate functions (Error 1844)

Visual FoxPro 9.0
Вы не можете вложить агрегатные функции (Ошибка 1844)

Вложение агрегатных функций MIN( ), MAX( ), и/или подфункций команды CALCULATE: AVG( ), CNT( ), MAX( ), MIN( ), NPV( ), STD( ), SUM( ), или VAR( ), не разрешается.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Too many extensions are specified (Error 1694)

Visual FoxPro 9.0
Слишком много определено расширений файлов (Ошибка 1694)

Слишком много расширений файлов былы включено в функциях GETFILE( ), LOCFILE( ), или PUTFILE( ) .

Включайте не больше 30 расширений файлов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Compile error in file "name" (Error 1981)

Visual FoxPro 9.0
Ошибка компиляции в файле "name" (Ошибка 1981)

Вы попытались добавить хранимые процедуры к базе данных предложением FROM команды APPEND PROCEDURES из файла, который не может быть откомпилирован. Проверьте что файл содержит допустимый код.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find the text generation program (Error 1791)

Visual FoxPro 9.0
Нет возможности найти программу генерации текста (Ошибка 1791)

Программа, которая генерирует текстовые версии двоичных файлов источника, не может быть найдена.

  • Системная переменная _SCCTEXT не содержит правильного имени файла.

    Проверьте значение _SCCTEXT.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Line number must be less than page length (Error 222)

Visual FoxPro 9.0
Номер строки должен быть меньше чем длина страницы (Ошибка 222)

Использованный номер строки вышел за пределы переменной длины страницы.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class name is invalid (Error 1949)

Visual FoxPro 9.0
Недопустимое имя класса (Ошибка 1949)

Имя класса, которое Вы определили, недопустимо или его не существует.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XMLAdapter XMLName property is an XPath expression (Error 2180)

Visual FoxPro 9.0
XMLAdapter XMLName property is an XPath expression (Error 2180)
Свойсво XMLName объекта XMLAdapter представляет собой выражение XPath (Ошибка 2180)
  • Метод Class ToXML объекта XMLAdapter генерирует ошибку, если свойство XMLNameIsXPath установлено в .T. , а значение свойства XMLName Property не является пустым.

  • Методы Class ApplyDiffgram объекта XMLAdapter и ChangesToCursor генерируют эту ошибку, если свойство XMLNameIsXPath установлено в .T. .

  • Метод Class ToCursor объекта XMLTable генерирует эту ошибку, если оба свойства Class XMLNameIsXPath объекта XMLAdapter и IsDiffGram установлены в .T. .

Перешлите комментарии об этой статье в корпорацию. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Property "name" has invalid value. (Error 2145)

Visual FoxPro 9.0
Свойство "name" имеет недопустимое значение. (Ошибка 2145)

Происходит когда свойства объекта CursorAdapter , UpdateableFieldList и UpdateNameList установлены в недопустимые значения.

  • Убедитесь, что значения, присвоенные вышеупомянутым свойствам являются допустимыми. Для подробной информации см., Использование CursorAdapters для Управления Доступа к данным .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Not a valid Framework II database/spreadsheet (Error 256)

Visual FoxPro 9.0
Недопустимая cтруктура или база данных/эл. таблица (Ошибка 256)

Файл, который Вы попытались импортировать имеет недопустимую структуру или формат файла.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid subscript reference (Error 31)

Visual FoxPro 9.0
Недопустимая индексная ссылка (Ошибка 31)

Использован индекс, выходящий за пределы диапазона индексов массива, заданных в инструкции DIMENSION . Она могла быть также вызвана, применением двойного индекса к одномерному массиву.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error copying the OLE object to Clipboard (Error 1424)

Visual FoxPro 9.0
Error copying the OLE object to Clipboard (Error 1424) (Ошибка копирования объекта OLE в системный буфер)

Недостаточно ресурсов (памяти).

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


A member object with this name already exists (Error 1771)

Visual FoxPro 9.0
A member object with this name already exists (Error 1771) (Элемент объекта с указанным именем уже существует)

Вы пытаетесь добавить в объект-контейнер новый элемент с указанным именем, который уже существует.

  • Каждый элемент объекта должен иметь уникальное имя в пределах данного объекта-контейнера.

    Укажите другое имя элемента.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot create offline view on a currently modified view (Error 2019)

Visual FoxPro 9.0
Cannot create offline view on a currently modified view (Error 2019)
(Невозможно создать OFFLINE-представление для изменяемого представления)

Опция CREATEOFFLINE не является правильной в данном случае.

  • Для создания представления используйте Дизайнер Представлений..

    Закройте текущее представление и повторите (с опцией CREATEOFFLINE) еще раз.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Page frame cannot be sized that small (Error 1413)

Visual FoxPro 9.0
Page frame cannot be sized that small (Error 1413) (Объект Pageframe не может быть уменьшен до таких размеров)

Высота объекта PageFrame должна быть достаточной, чтобы разместить одну строку закладки, если соответствующее свойство установлено см. раздел Tabs ; в другом случае, высота должна быть не менее 1-го пиксела.

  • Вы пытаетесь уменьшить объект PageFrame до недопустимых размеров

    Увеличте размер данного объекта.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot visually modify a class of this type (Error 1978)

Visual FoxPro 9.0
Невозможно визуально модифицировать класс этого типа (Ошибка 1978)

Вы попытались создавать класс, основанный на одном из базовых классов Cursor, DataEnvironment, Page, Column, Header, или Relation. Вы не можете визуально изменить ни один из этих типов базовых классов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to register the ActiveX control (Error 1437)

Visual FoxPro 9.0
Недопустимая ссылка в Реестре для элемента ActiveX (Error 1437)

Отсутствует файл для правильной работы элемента управления ActiveX.

  • Элемент ActiveX не имеет своей функции регистрации компоненты.

    Свяжитесь с разработчиком элемента ActiveX по вопросу использования функции DllRegisterServer.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


To use this feature, set CODEPAGE=AUTO in your CONFIG.FPW file and restart Visual FoxPro (Error 1916)

Visual FoxPro 9.0
Для использования данного усовершенствования установите CODEPAGE=AUTO в Вашем файле CONFIG.FPW Visual FoxPro (Error 1916)

Эта ошибка происходит при неправильном использовании команды SET COLLATE.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Object "name" is not found (Error 1766)

Visual FoxPro 9.0
Object "name" is not found (Error 1766) Объект "имя" не найден (Ошибка 1766)

Объект, который вы определили, защищен и не может быть обнаружен.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Unable to create temporary work files (Error 1410)

Visual FoxPro 9.0
Невозможно создать временный файл (Error 1410)

Для выполнения команд SORT или INDEX требуется создание временных файлов, размещение которых блокирует операционная система.

  • Ваш каталог или диск переполнены

    Удалите некоторые файлы.

  • У системы Visual FoxPro нет привелегий для размещения временных файлов.

    Проверьте Ваши Права по использованию дискового пространства.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot define menu item (Error 169)

Visual FoxPro 9.0
Невозможно определить пункт меню (Error 169)

Выполнена попытка добавить раздел меню в пункт меню, который определен файлом или структурой.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid call issued while executing a SQLCOLUMNS( ) sequence (Error 1477)

Visual FoxPro 9.0
Неверный вызов при выполнении последовательности SQLCOLUMNS( ) (Ошибка 1477)

Недопустимый сквозной SQL запрос (SPT) был сделан в то время как a запрос SQLCOLUMNS( ) должен был продолжить выполнение SPT последовательности.

Выполните SQLCANCEL( ) для отмены SPT последовательности или делайте допустимые SPT запросы для завершения последовательности запроса.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Visual FoxPro cannot start

Visual FoxPro 9.0
Система Visual FoxPro не запускается

Система Visual FoxPro не может быть инициализирована или запущена по следующим причинам:

  • Недостаточно памяти.

    Visual FoxPro не может распределить имеющуюся память для размещения внутренних структуп данных. Освободите память и перезапустите систему Visual FoxPro.

  • Нет свободной памяти на диске.

    Visual FoxPro не может создать на диске временные файлы. Освободите место на диске и перезапустите систему Visual FoxPro.

  • Файл с именем: VFP<versionNumber>ENU.dll невозможно загрузить.

    Visual FoxPro не может найти файл системных ресурсов, он либо переименован либо отсутствует. Переустановите Visual FoxPro.

  • Файл ресурсов, заданный в стартовом ключе "-L", не загружается.

    Visual FoxPro не может найти указанный файл ресурсов. Проверте наличие файла ресурсов или правильность его задания в ключе "-L".

  • Для данной версии Visual FoxPro требуется другая Операционная Система Windows.

    Выполните установку другой ОС Windows. См. дополнительно раздел Installing Visual FoxPro.

  • Системный продукт используется другим пользователем.

    Выполните проверку текущих прав пользователя для работы в Сети. См. дополнительную документацию об ОС Windows.

  • Разрушен или отсутствует файл программы (.EXE) .

    Переустановите систему Visual FoxPro.

Чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены. Перевод AlexX.


The file specified in the FROM clause is empty (Error 1131)

Visual FoxPro 9.0
Файл, который указан в опции FROM, является Пустым (Error 1131)

В данном файле Нет Записей.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


A Key must be specified when adding an item to this collection. (Error 2063)

Visual FoxPro 9.0
При добавлении пункта в данную Коллекцию должен быть задан ключ Key. (Ошибка 2063)

Если Коллекция определена с ключами, то при добавлении нового члена в данную коллекцию нужно обязательно задавать ключ Key. В коллекции: или все члены имеют ключи, или все элементы не имеют ключей. Для определения, используются ли ключи в данной коллекции, нужно пользоваться методом GetKey(1) и функцией EMPTY( ), как показано вследующем примере:

CopyCode image Копировать Код
? EMPTY(Collection.GetKey(1))
Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The directory is not empty (Error 1962)

Visual FoxPro 9.0
Каталог не является пустым (Ошибка 1962)

Вы не можете удалить каталог, который содержит файлы или подкаталоги.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File "name" already exists as part of a database (Error 1529)

Visual FoxPro 9.0
Файл "name" уже существует как часть базы данных (Ошибка 1529)

Вы попытались перезаписать существующий файл, который является частью базы данных.

Вначале, чтобы избежать повреждения базы данных, выполните REMOVE TABLE для существующей таблицы изнутри ее базы данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Recordset does not exist (Error 2041)

Visual FoxPro 9.0
Recordset не существует (Ошибка 2041)

Указанный ADO recordset не может быть найден.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cursor "cursor name" is in use and cannot be closed (Error 2173)

Visual FoxPro 9.0
Cursor "cursor name" is in use and cannot be closed (Error 2173) Курсор "имя курсора" используется и не может быть закрыт (Ошибка 2173)

Эта ошибка генерируется, когда вы пытаетесь закрыть курсор, ссылавшийся на RefreshAlias Property.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Key string is too long (Error 1257)

Visual FoxPro 9.0
Key string is too long (Error 1257) Ключевая строка слишком длинна (Ошибка 1257)

Символьное выражение, включающее KEYBOARD, слишком длинно. Уменьшите его длину.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot add this object to a Grid (Error 1768)

Visual FoxPro 9.0
Невозможно добавить этот объект в грид (Ошибка 1768)

Вы попытались выполнить метод Grid.AddObject для добавления в грид объекта, который не является колонкой.

  • Вы пробуете добавить объект к колонке, вместо того, чтобы добавить колонку к гриду.

    Чтобы добавить объект к колонке, используйте синтаксис Grid.Column с методом AddObject .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid argument used with the SET function (Error 231)

Visual FoxPro 9.0
Invalid argument used with the SET function (Error 231) Неправильный аргумент, использованный функцией SET (Ошибка 231)

Неверный аргумент использован функцией SET( ).

Перешлите комментарии об этой статье в to Microsoft. © Microsoft Corporation. All rights reserved.


Class "name" is not found in the class library (Error 1576)

Visual FoxPro 9.0
Class "name" is not found in the class library (Error 1576) Класс "имя" не найден в библиотеке классов (Ошибка 1576)

Класс, который вы определили, не обнаружен.

Убедитесь, что вы используете правильное имя класса.

Перешлите комментарии об этой статье в. © Microsoft Corporation. All rights reserved.


Table "name" is referenced in a relation (Error 1577)

Visual FoxPro 9.0
Таблица "имя" ссылается на отношение (relation) (Ошибка 1577)

Вы не можете удалить таблицу из базы данных, если она включена в отношение (relation).

Сначала удалите отношение.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Cannot clear a menu that is in use (Error 176)

Visual FoxPro 9.0
Невозможно очистить меню, которое используется (Ошибка 176)

вы попытались очистить активное меню.

  • Команды CLEAR MENU и RELEASE MENU неприменимы к активным меню.

    Используйте DEACTIVATE MENU перед очисткой или освобождением меню.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Unknown error code nExpr.

Visual FoxPro 9.0
Неизвестный код ошибки nExpr.

Код ошибки не возвращается. Visual FoxPro закрывает все открытые файлы и завершает работу.

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обратитесь в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Illegal operation for a table with pending changes (Error 2192)

Visual FoxPro 9.0
Недопустмая операция для таблицы ожидающей изменений (Ошибка 2192)

Эта ошибка генерируется функцией MAKETRANSACTABLE( ), когда таблица, которой Вы хотите разрешить транзакции, ожидает изменений.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"field" is not related to the current work area (Error 1165)

Visual FoxPro 9.0
"поле" не связано отношением в текущей рабочей области (Ошибка 1165)

Вы использовали команду, которая требует наличия существующей связи.

Например, использование SET SKIP TO до того, как будет установлена связь вызовет данную ошибку.

  • Выполните команду SET RELATION перед командой, которая вызвала данную ошибку.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Warning: Invalid memo field conversion(s) starting at record "number" (Error 1486)

Visual FoxPro 9.0
Предупреждение: Недопустимое преобразование memo-поля, начинающееся с записи "number" (Ошибка 1486)

Сообщение об ошибке преобразования мемо при выборке больших данных в записи number из отдаленного результата выборки.

  • ODBC драйвер не может конвертировать некоторые большие значения отдаленных данных в тип данных локального представления.

    Используйте функцию преобразования в инструкции SQL, чтобы конвертировать данные к другому типу данных до проведения выборки; используйте свойство поля представления DataType, чтобы изменить локальныйы тип данных. Используйте определенные сервером параметры настройки, чтобы ограничить количество данных, пересываемых для каждого большого значения данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid data source type for RecordRefresh operation (Error 2168)

Visual FoxPro 9.0
Недопустимый тип источника данных для операции RecordRefresh (Ошибка 2168)

Тип источника данных (XML, например) указанный свойством DataSourceType недопустим для операции обновления.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Data environment "name" does not contain a cursor object. (Error 2068)

Visual FoxPro 9.0
Окружение данных "name" не содержит объект курсора. (Ошибка 2068)

Дизайнер Data Environment не может быть открыт, если класс DataEnvironment не содержит объекты CursorAdapter или Cursor .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The refresh key defined for table "table name" is not unique (Error 2165)

Visual FoxPro 9.0
Ключ обновления, определенный для таблицы "table name" не уникален (Ошибка 2165)

(Ошибка 2165) Функция REFRESH ()

возвратила более чем одну строка. Никакие изменения не восстанавливаются при использовании автообновления. Послать комментарии


Not enough memory for filename (Error 1151)

Visual FoxPro 9.0
Не достаточно памяти для filename (Error 1151)

Нет достаточно памяти для Visual FoxPro, чтобы распределять память для внутренних потребностей FoxPro.

  • Доступная память чрезвычайно ограничена.

    Нужно добавить памяти или удалить (выгрузить) программы, чтобы предоставить для Visual FoxPro больше свободной памяти.

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


FontCharSet number is invalid (Error 2190)

Visual FoxPro 9.0
Номер FontCharSet - не правильный (Error 2190)

Эта ошибка генерируется функцией STRCONV( ) , когда задан неправильный параметр кодовой страницы или неправильный параметр nRegionalIDType.

Послать комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Illegal operation in rule evaluation (Error 2193)

Visual FoxPro 9.0
Недопустимая операция в процессе примения правила (Ошибка 2193)

Эта ошибка сгенерирована командами CLEAR если они выполняются в процессе применения правила.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unknown member "name" (Error 1925)

Visual FoxPro 9.0
Неизвестный член "name" (Ошибка 1925)

Visual FoxPro попытался проверить следующий синтаксис:

Скопировать код
        objvar.memberobj.property

Не было обнаружено члена memberobj .

  • Вы попытались обращатиться к членам класса элемента управления извне класса.

    Убедитесь, что ссылки на элемент управления, например .ActiveControl, - в пределах видимости.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


LOG( ): Zero or negative used as argument (Error 58)

Visual FoxPro 9.0
LOG (): В качестве аргумента использован нуль или отрицательное число (Ошибка 58)

Нуль или отрицательное число применено как параметр функции натурального логарифма.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Object class is invalid for this container (Error 1744)

Visual FoxPro 9.0
Объектный класс недопустим для этого контейнера (Ошибка 1744)

Вы попытались добавить объект, как член родительского объекта, методом AddObject . Он не может быть добавлен, потому что класс объекта как члена, не может быть членом объекта родительского класса. Например, Вы не можете добавить объект Grid к объекту PageFrame.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No primary key (Error 1879)

Visual FoxPro 9.0
Отсутствует первичный ключ (Ошибка 1879)

Вы попытались использовать предложение DROP PRIMARY KEY команды ALTER TABLE к таблице, не имеющей первичного ключа. Это недопустимая операция.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The table file "name" has moved. Please validate database "name" and try again (Error 2004)

Visual FoxPro 9.0
Файл таблицы "name" перемещен. Пожалуйста проверьте целостность базы данных "name" и повторите попытку снова (Ошибка 2004)

Курсор, который является частью окружения данных, не может найти таблицу, которая является частью базы данных (файл .dbc).

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to infer cursor-s code page from XML document (Error 2185)

Visual FoxPro 9.0
Невозможно определить кодовую страницу курсора из документа XML (Ошибка 2185)

Эта ошибка генерируется если указано новое значение параметра Функции XMLTOCURSOR () nFlag, равное 32768 и функция XMLTOCURSOR( ) неспособна определить кодовую страницу для нового курсора.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table number is invalid (Error 17)

Visual FoxPro 9.0
Ошибочный номер таблицы (Error 17)

Номер должен быть в интервале: от 1 до 225.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Code page number is invalid (Ошибка 1914)

Visual FoxPro 9.0
Code page number is invalid (Ошибка 1914)

Номер кодовой страницы, который вы определили (связан со страной и используемым языком), неверен для этой версии Visual FoxPro. Проверьте, корректен ли номер кодовой страницы. Локализованные версии могут иметь поддержку для дополнительных кодовых страниц в дополнительном файле.INT.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Field "name" validation rule is violated (Error 1582)

Visual FoxPro 9.0
Правило проверки поля "name" нарушено (Ошибка 1582)

Исправьте значение поля или восстановите запись.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


You must use a logical expression with FILTER (Error 37)

Visual FoxPro 9.0
You must use a logical expression with FILTER (Error 37) Вы должны использовать логическое выражение с фильтром (Ошибка 37)

Вы попытались передать SET FILTER TO выражение, не являющееся логическим выражением. Более подробно смотрите Creating Logical Expressions.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Object file "name" is in use and cannot be removed from memory (Error 1719)

Visual FoxPro 9.0
Файл объекта "name" используется, поэтому неможет быть удален из памяти. (Error 1719)

Определенная программа проекта находится в состоянии SUSPEND

Завершите выполнение данной программы, тогда Вы сможете завершить построение проекта.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No connection associated with this cursor (Error 1488)

Visual FoxPro 9.0
Нет соединения, ассоциировано с этим курсором (Ошибка 1488)

Соединение было закрыто.

  • Вы закрыли соединение функцией SQLDISCONNECT( ) и затем пытались модифицировать, делать повторный запрос, или обновлять представление.

    Убедитесь, что Вы имеете открытое соединение перед выполнением этой команды на отдаленном представлении.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Foxcode script "name" failure. (Error 2043)

Visual FoxPro 9.0
Foxcode script "name" failure. (Error 2043)
Ошибка выполнения скрипта "имя" определенного в таблице Foxcode (Ошибка 2043)

Скрипт, определенный в файле таблицы, указанном в системной переменной _FOXCODE не выполнен. Для получения подробной информации смотри статью Системгая переменная _FOXCODE.

Для определения файла, указанного в системной переменной _FOXCODE, напечатайте и исполните приведенную ниже строку кода:

Скопировать код
? _FOXCODE

Для проверки синтаксиса скрипта, откройте таблицу и найдите соответствующую скрипту запись.

Для получения подробной информации смотри статью Как: редактировать записи таблицы IntelliSense.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Project file is invalid (Error 1685)

Visual FoxPro 9.0
Файл Проекта содержит ошибки (Error 1685)

Файл Проекта Разрушен.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Fields marked as update keys will be cleared (Error 2014)

Visual FoxPro 9.0
Пометки полей, как ключей модификации будут очищены (Ошибка 2014)

Поля мемо, general и Picture не могут быть полями ключа.

  • Поле ключа было изменено на Memo, General или Picture.

    Visual FoxPro очистит пометку ключа модификации.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error in the class definition. "Details" (Error 1735)

Visual FoxPro 9.0
Ошибка в определении класса. "Details" (Ошибка 1735)

Произошла ошибка в определении класса по одной из следующих причин:

  • Массив не существует.

  • Pages не могут быть удалены в определении класса.

  • Columns не могут быть удалены в определении класса.

  • Невозможно найти имя класса в форме.

  • CREATEOBJECT( ) применялась в определении класса.

  • Столбцы грида были удалены в определении класса. После установки ColumnCount в родительском классе в одно значение, ColumnCount затем было установлено в более низкое значению в дочернем классе.

  • Страницы контейнера типа pageframe были удалены из определения класса. После установки PageCount в родительском классе в одно значение, PageCount затем было установлено в более низкое значение в дочернем классе.

  • Предложение ADD OBJECT a[1] из команды DEFINE CLASS использовалось, где a - не является массивом.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Ambiguous Date/DateTime constant (Error 2032)

Visual FoxPro 9.0
Ambiguous Date/DateTime constant (Error 2032) Неоднозначная константа Data/DataTime (Ошибка 2032)
Смотрите также

Значение Date или DateTime не придерживается строгого формата. Более подробно смотрите Date Data Type и DateTime Data Type.

Смотрите также

Ссылки

SET STRICTDATE Command
StrictDateEntry Property

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Application file "file" is not closed (Error 1178)

Visual FoxPro 9.0
Application file "file" is not closed (Error 1178) Файл приложения "файл" не закрыт (Ошибка 1178)

Visual FoxPro пытался построить приложение, в то время как файл приложения был уже открыт.

  • Все файлы в приложении должны быть закрыты прежде чем вы сможете построить его.

    Закройте файлы и перестройте приложение.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Foxtask table is corrupted or not the correct version. (Ошибка 2046)

Visual FoxPro 9.0
Foxtask table is corrupted or not the correct version. (Ошибка 2046)

Таблица, определенная как _FoxTask System Variable, неверна.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


Statement is not allowed in interactive mode (Error 95)

Visual FoxPro 9.0
Использование инструкции запрещено в интерактивном режиме (Ошибка 95)

Команды IF, ELSE, ENDIF, TEXT, ENDTEXT, EXIT, RETRY, RETURN, SUSPEND, DO WHILE, ENDDO, DO CASE, ENDCASE, SCAN, ENDSCAN, FOR, и ENDFOR не разрешены для применения в окне Command ; Вы должны использовать эти инструкции программно.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find entry point "name" in the DLL (Error 1754)

Visual FoxPro 9.0
Cannot find entry point "name" in the DLL (Error 1754) Невозможно натий точку входа в DLL "имя" (Ошибка 1754)
Смотрите также

Точка входа в динамическую библиотеку (DLL), которую вы определили, неверна. Проверьте как имя точки входа, так и DLL.

Смотрите также

Другие ресурсы

доступные API

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Error creating the OLE object (Error 1423)

Visual FoxPro 9.0
Ошибка создания объекта OLE (Ошибка 1423)

Недостаточно доступных ресурсов, или Visual FoxPro не может найти приложение-сервер.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


COLUMN | ROW | ALIAS | NOOVERWRITE | SIZE | SCREEN are only allowed with the FROM clause (Error 1698)

Visual FoxPro 9.0
Только COLUMN | ROW | ALIAS | NOOVERWRITE | SIZE | SCREEN разрешены с предложением FROM (Ошибка 1698)

Только эти варианты доступны, когда Вы создаете быструю форму с предложением FROM.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu file is invalid (Error 1687)

Visual FoxPro 9.0
Недействительный файл меню (Error 1687)

Заданный вами файл меню был испорчен.

Отослать комментарии по этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


Property value is out of bounds (Error 1469)

Visual FoxPro 9.0
Значение свойства - вне диапазона (Ошибка 1469)

Значение свойства превысило лимит разрешенных значений для этого свойства.

Измените значение на допустимое для этого свойства.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Unable to open offline view in ADMIN/ONLINE mode inside a transaction. (Error 2121)

Visual FoxPro 9.0
Невозможно открыть автономно представление в режиме ADMIN/ONLINE в пределах транзакции. (Ошибка 2121)

Вы не можете открыть автономное представление в режиме ADMIN ИЛИ ONLINE изнутри транзакции.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Target table is already engaged in a relation (Error 1147)

Visual FoxPro 9.0
Указанная таблица уже используется в отношении (Ошибка 1147)

Есть больше чем одно отношение между, в настоящее время выбранным файлом таблицы, и одним из его подчиненных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid refresh ignore column name "column name" (Error 2171)

Visual FoxPro 9.0
Пропуск недопустимого обновления имени столбца "column name" (Ошибка 2171)

Указанное имя столбца недопустимо или не может быть найдено в курсоре.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Conversion to Unicode has failed. (Error 2135)

Visual FoxPro 9.0
Преобразование в Unicode завершилось со сбоем. (Ошибка 2135)

Происходит при возникновении проблемы в то время, когда Visual FoxPro пытается конвертировать строку в Юникод.

  • Проверьте ваши данные, таблицу, и имена полей, чтобы убедиться, что они содержат значения, которые Visual FoxPro может правильно конвертировать в Юникод.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class definition "name" is recursive (Ошибка 1950)

Visual FoxPro 9.0
Class definition "name" is recursive (Ошибка 1950)

Вы попытались создать пример класса, который зависит от другого класса, который зависит от первого класса.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права зарегистрированы.


File is the wrong version (Error 1338)

Visual FoxPro 9.0
File is the wrong version (Error 1338) Файл неправильной версии (Ошибка 1338)

Вы попытались открыть форму или файл отчета, который не является файлом Visual FoxPro.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Interface "name" not found (Error 1443)

Visual FoxPro 9.0
Interface "name" not found (Error 1443) Интерфейс "имя" не найден (Ошибка 1443)

Фраза IMPLEMENTS в команде DEFINE CLASS определяет интерфейс для COM-объекта некорректно. Более подробно, смотрите командуDEFINE CLASS .

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


ADODB.Command is already opened. (Error 2081)

Visual FoxPro 9.0
ADODB.Command is already opened. (Error 2081) (Команда ADODB.Command уже выполнена)

Для выполнения команд объекта ADO в системе Visual FoxPro требуется, чтобы свойство State имело значение = adStateClosed; при попытке передать параметр Source в метод CursorFill .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error reading a property from the database. The property is ignored (Error 1584)

Visual FoxPro 9.0
Ошибка чтения Свойств из базы данных. Значение свойства игнорируется (Error 1584)

Ошибка происходит при загрузке правил или кода триггера из базы данных. Правила или триггер будут проигнорированы.

Попробуйте выполнить команду VALIDATE DATABASE перед повторным открытием базы данных.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Index tag or file name must be specified (Error 1684)

Visual FoxPro 9.0
Index tag or file name must be specified (Error 1684) Индексный тэг или имя файла должно быть определено (Ошибка 1684)

Вы попытались выйти, не определив имя тэга.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


File was not placed in memory using the LOAD command (Error 91)

Visual FoxPro 9.0
Файл не был помещен в память с использованием команды LOAD (Ошибка 91)

Произошла ошибка при попытке применить команды CALL или RELEASE к модулю, который не был загружен.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Column number must be between 0 and 255 (Error 223)

Visual FoxPro 9.0
Количество столбцов должно быть между 0 и 255 (Ошибка 223)

Указанное количество столбцов принтера - вне диапазона.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


View fields have been changed. The Update and Key field properties have been reset to the default values (Error 1568)

Visual FoxPro 9.0
Поля представления были изменены. Свойства поля Upgate и Key были сброшены в значения по умолчанию (Ошибка 1568)

Вы попытались изменить представление, структура таблицы которого изменилась. Когда Вы выбираете OK , Конструктор Представления выводит предыдущие условия представления, а вкладка Update Criteria сбросывается к заданным по умолчанию условиям. Не было никакой модификации.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Popup too big, first nExpr entries shown.

Visual FoxPro 9.0
Список Popup - слишком большой, отображено несколько первых пунктов (nExpr).

Вы определили очень много пунктов в списке меню типа PoPup.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Program is too large (Error 1202)

Visual FoxPro 9.0
Program is too large (Error 1202) - Программа слишком большая (Ошибка 1202)

Программа, которую Visual FoxPro пытается загрузить не помещается в отведенной памяти. Это сообщение, кроме того, повляется в случае, когда внешний програмный кэш исчерпал свой размер.

Note Замечание

В версиях до Visual FoxPro 9.0 размер программы или одиночного процедурного файла, который мог загрузить Visual FoxPro был ограничен размером в 65,000 байт.

Visual FoxPro 9.0 позволяет вам установить размер програмного кэша, с тем чтобы избежать появления этой ошибки, указанием необходимого количества выделяемой памяти в соответствующей установке PROGCACHE файла конфигурации (смотрите описание Специальные термины для файлов конфигурации). Эта установка особенно важна для MTDLL сценариев.

Для получения более подробной инфорации смотрите описание Системые возможности Visual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Invalid seek offset (Error 1103)

Visual FoxPro 9.0
Недопустимое смещение seek(Ошибка 1103)

Сделайте запись ваших последних действий при использовании Visual FoxPro и затем обращайтесь в службу поддержки Microsoft.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Object is not an offline view (Error 2009)

Visual FoxPro 9.0
Объект - не автономное представление (Ошибка 2009)

Некоторые команды и предложения требуют автономного представления.

  • Вы пробовали использовать предложения ONLINE ИЛИ ADMIN.

    Вы должны обеспечить этими предложениями автономное представление. Для подробной информации, см. USE Команда .

  • Вы пробовали очистить представление.

    Используйте DROPOFFLINE( ) только с автономными представлениями.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu items and titles must be type Character (Error 1611)

Visual FoxPro 9.0
Пункты и заголовки меню должны иметь символьный тип (Ошибка 1611)

Обнаружен пункт или заголовок меню, который был определен не символьным типом данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Error initializing OLE (Error 1508)

Visual FoxPro 9.0
Ошибка инициализации OLE (Ошибка 1508)

Недостаточно памяти или неподходящие условия для этой операции. Закройте любые другие выполняющиеся прикладные программы и сделайте повторную попытку.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find the wizard program.

Visual FoxPro 9.0
Не надена программа-мастер (wizard).

Система Visual FoxPro не может найти программу-мастер WIZARD.APP, которая либо удалена, либо преименована, или удалена из базового каталога Visual FoxPro. Вам нужно:

  • Запустить установщик Visual FoxPro Setup для активации WIZARD.APP.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XMLTable object does not have associated XMLAdapter object. (Error 2095)

Visual FoxPro 9.0
XMLTable object does not have associated XMLAdapter object. (Error 2095)
Объект XMLTable не имеет связанного объекта XMLAdapter (Ошибка 2095)

Visual FoxPro требует, чтобы объекты XMLTable были связаны с объектом XMLAdapter.

  • Убедитесь, что свойство XMLTable.XMLAdapter связано с объектом XMLAdapter.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


XML Schema is too complex. (Error 2094)

Visual FoxPro 9.0
XML Schema is too complex. (Error 2094)
Схема XML слишком сложная (Ошибка 2094)

Метод LoadXML не в состоянии понять предоставленную ему схему XML

  • Убедитель, что предоставленная схема содержит корректные типы данных, используемых в XSD, или, что схема и формат XML поддерживается Visual FoxPro.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Warning: The connection transaction mode cannot be set (Error 1487)

Visual FoxPro 9.0
Замечание: Режим транзакции не может быть установлен (Ошибка 1487)

Режим транзакции соединения не может быть установлен ODBC драйвером. Соединение использует драйвер по умолчанию определяющий режим транзакции.

Перешлите комментарии об этой теме в Microsoft. © Microsoft Corporation. All rights reserved.


API library is not found (Error 1726)

Visual FoxPro 9.0
Библиотека API не найдена (Ошибка 1726)

Вы попытались выполнить SET LIBRARY TO или RELEASE LIBRARY , однако библиотека, которую Вы определили, не может быть найдена.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XMLTable object already has parent or is associated with XMLAdapter object. (Error 2132)

Visual FoxPro 9.0
XMLTable object already has parent or is associated with XMLAdapter object. (Error 2132)
Объект XMLTable уже имеет родительский или связанный с XMLAdapter объект (Ошибка 2132)

Объект XMLTable не может быть добавлен в качестве ссылки на дочернюю таблицу к другому объекту XMLAdapter, если он уже является дочерней таблицей или связан с другим объектом XMLAdapter.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


Type conversion required by the DataType property for field "name" is invalid (Error 1543)

Visual FoxPro 9.0
Преобразование типов, требуемое свойством DataType для поля "name" недопустимо (Ошибка 1543)

Преобразование типов между отдаленным типом данных и типом данных Visual FoxPro, указанным в свойстве поля DataType представления, не поддерживается для поля активизируемого представления.

Измените свойство поля DataType представления на допустимый тип.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: GROUP BY clause is invalid (Error 1807)

Visual FoxPro 9.0
SQL: предложение GROUP BY недопустимо (Ошибка 1807)

В предложении GROUP BY имеется ошибка. Для подробной информации, см. SELECT - SQL Команда или SET ENGINEBEHAVIOR Команда .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XMLTable has child table. (Error 2109)

Visual FoxPro 9.0
XMLTable has child table. (Error 2109)
У XMLTable имеется дочерняя таблица (Ошибка 2109)

Visual FoxPro не позволяет использовать метод ChangesToCursor объекта XMLTable, который содержит ссылку на дочерний объект XMLTable. Вы не можете создать курсор с помощью метода ChangesToCursor в случае, если XMLTable представляет собой результат объединения многих таблиц.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Cannot add an object to this class (Error 1755)

Visual FoxPro 9.0
Невозможно добавить объект к этому классу (Ошибка 1755)

Если класс основан на базовом классе Control, Вы можете добавить к нему объект, только если его непосредственным родителем является класс CONTROLS.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Memory file is invalid (Error 55)

Visual FoxPro 9.0
Файл переменных памяти (Memory) - разрушен (Error 55)

Выполняется попытка прочитать данные командой RESTORE FROM , а файл типа (.mem) - разрушен.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot find the builder program (Error 1944)

Visual FoxPro 9.0
Нвозможно найти программу построитель (Ошибка 1944)

Приложение построителя не может быть найдено.

  • Системная переменная _BUILDER не содержит правильного имени файла.

    Проверьте значение _BUILDER.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


File was created in a later version of Visual FoxPro than the current version (Error 1750)

Visual FoxPro 9.0
Файл был создан в более поздней, чем текущая, версии Visual FoxPro (Ошибка 1750)

Имеется несоответствие номера версии, встроенного в файл формы (.scx) или контейнер базы данных (.dbc) и номером версии, хранимом в программе для этих файлов.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Browse table is closed (Error 1163)

Visual FoxPro 9.0
Таблица в окне Browse уже закрыта (Ошибка 1163)

Таблица, отображаемая в окне Browse - закрыта программным способом.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot redefine popup that is in use (Error 175)

Visual FoxPro 9.0
Cannot redefine popup that is in use (Error 175) Невозможно переопределить меню, которое используется (Ошибка 175)

Вы попытались выполнить команду DEFINE POPUP, тогда как меню активно в памяти.

Сначала выполните команду DEACTIVATE POPUP.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


XMLTable.Alias is empty. (Error 2108)

Visual FoxPro 9.0
XMLTable.Alias is empty. (Error 2108)
XMLTable.Alias ничего не содержит (Ошибка 2108)

Методы ToCursor и ChangesToCursor не могут быть вызваны, если свойство Alias Property объекта XMLTable ничего не содержит и параметр cAlias не используется.

Перешлите комментарии об этой статье в корпорациюMicrosoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


OLE exception error "name". OLE object may be corrupt. (Error 1440)

Visual FoxPro 9.0
Ошибка исключения OLE "name". Объект OLE - разрушен. (Ошибка 1440)

COM -объект или COM -элемент управления вызвал разрушение защиты кода. Очистите и перезагрузите данный COM -объект.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Total label width exceeds allowed size (Error 1246)

Visual FoxPro 9.0
Слишком большой общий размер элемента Label (Ошибка 1246)

Команда LABEL определила, что общий размер выводимых полей, вместе с разделителями, превышает допустимые размеры.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Incorrect column format (Error 1471)

Visual FoxPro 9.0
Неправильный формат колонки, столбца (Ошибка 1471)

Вы пытаетесь передать неправильный тип столбца, как параметр в функцию SQLCOLUMNS( ).

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Statement only valid within a method (Error 1934)

Visual FoxPro 9.0
Данный оператор допустим только в программном коде Метода / События. (Ошибка 1934)

Вы пытаетесь использовать оператор "области действия" :: (scope resolution) за пределами метода / события. Оператор "области действия" допустим вместе с опцией THIS для указания на текущий объект, только в границах метода.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" is not a Visual FoxPro event (Error 1745)

Visual FoxPro 9.0
"имя" не является событием Visual FoxPro (Ошибка 1745)

Событие, указанное в команде SET EVENTLIST не является событием Visual FoxPro.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Property "property name" value is too long (Error 2197)

Visual FoxPro 9.0
Значение свойства "property name" слишком длинное (Ошибка 2197)

Данная ошибка возникает в случаях, когда длина строки XML , указанная в свойстве_MemberData очень велика. Допустимое ограничение = 8K.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Could not add icon to executable file (Error 1168)

Visual FoxPro 9.0
Невозможно изменить Иконку исполняемого файла (Ошибка 1168)

Вы пытаетесь указать некорректный файл иконки (.ICO) когда создаете Ваше приложение.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Missing comma (,) (Error 1306)

Visual FoxPro 9.0
Отсутствие запятой (,) (Ошибка 1306)

Visual FoxPro ожидал наличие запятой и не нашел её.

  • Вы, возможно, не включили правильное количество параметров функции.

    Проверьте ваш синтаксис.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Memory is low, so streaming output updating has been disabled (Error 2000)

Visual FoxPro 9.0
Недостаточно памяти, поэтому обновление потокового вывода было заблокировано (Ошибка 2000)

Закадровый точечный рисунок не может быть создан командой типа ? Command , LIST , или DISPLAY .

  • Недостаточно памяти Visual FoxPro.

    Освободите некоторое количество памяти.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid or missing EXE file.

Visual FoxPro 9.0
Файл EXE - разрушен или отсутствует.

Файл типа (.EXE), который Вы указали, разрушен или отсутствует.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot add this table: it belongs to database "name" (Error 1537)

Visual FoxPro 9.0
Невозможно добавить эту таблицу: она принадлежит базе данных "name" (Ошибка 1537)

Операция, которую Вы попытались применить, поддерживает только свободные таблицы. повторите попытку с файлом правильного типа: .dbf-файл, который не принадлежит базе данных.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


This file is incompatible with the current version of Visual FoxPro (Error 1748)

Visual FoxPro 9.0
Этот файл несовместим с текущей версией Visual FoxPro (Ошибка 1748)

Файл, созданный в предварительной версии Visual FoxPro 3.0 не совместим с текущей версией Visual FoxPro. Выполните 30Update.prg, включенный с версией предварительного выпуска Visual FoxPro 3.0, чтобы преобразовать файл в текущий формат.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The index expression for index "name" contains an invalid reference to a Memo, General, or Picture field (Error 1998)

Visual FoxPro 9.0
Индексное выражение индекса "name" содержит недопустимую ссылку на поле Memo, General или Picture (Ошибка 1998)

Вы не можете индексировать по полям типов Memo, General или Picture.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" is not a variable (Error 225)

Visual FoxPro 9.0
"имя" не является переменной памяти (Ошибка 225)

Была использована файловая переменная (поле таблицы) там, где необходимо использовать переменную памяти или массив. Для получения дополнительной информации смотрите Переменные памяти, Массивы или Работа с массивами.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Field "name" is read-only. (Error 2088)

Visual FoxPro 9.0
Field "name" is read-only. (Error 2088) Поле "имя" только для чтения (Ошибка 2088)

Происходит при попытке добавить, изменить или заменить значение поля, которое использует автоинкрементирование и свойство AutoIncError установлено в True (.T.) или ON через команду SET AUTOINCERROR.

Попробуйте установить свойство AutoIncError в False (.F.) или используйте OFF в команде SET AUTOINCERROR.

Перешлите комментарии об этой статье в Microsoft. © Microsoft Corporation. All rights reserved.


Error adding "name" to the object. Duplicate member/property name (Error 1779)

Visual FoxPro 9.0
Ошибка дополнения "name" в объект. Дублирование имени элемента или свойства (Ошибка 1779)

Элемент или свойство, которые Вы пытаетесь добавить, уже существуют.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: The ORDER BY clause is invalid in subqueries, unless TOP is also specified (Error 2148)

Visual FoxPro 9.0
SQL: предложение ORDER BY недопустимо в подзапросах, если также не указано TOP (Ошибка 2148)

Команда SELECT - SQL Command не может содержать предложение SELECT - SQL Command - ORDER BY Clause в подзапросе, если также не включено выражение TOP.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Microsoft Visual FoxPro doesn't support and cannot open this format of recordset (Error 2038)

Visual FoxPro 9.0
Visual FoxPro Microsoft не поддерживает и не может открыть этот формат recordset'а (Ошибка 2038)

Visual FoxPro попытался открыть иерархический recordset ADO, который непосредственно не поддерживается программой. Вы можете использовать иерархический recordset ADO в вашем приложении, если он обрабатывается элементом управления Activex, который поддерживает эти типы recordset'ов, типа элемента управления Microsoft Hierarchical FlexGrid Control.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: Too many UNIONs (Error 1834)

Visual FoxPro 9.0
SQL: Слишком много соединений UNION (Ошибка 1834)

В Visual FoxPro 8.0, максимальное количество соединений UNION (9) было превышено. В Visual FoxProе 9.0, максимальное количество соединений UNION ограничено памятью и дисковым пространством. Для подробной информации, см. SELECT - SQL Command .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


SQL: ORDER BY clause is invalid (Error 1808)

Visual FoxPro 9.0
SQL: неправильное использование опции ORDER BY. (Ошибка 1808)

Одно из полей в списке опции ORDER BY отсутствует в списке опции SELECT. Это происходит при указании поля сортировки, которое отсутствует в текущей выборке; в представленном примере: выбирается 3-и поля, а сортировка выполняется по 4-му полю:

Копировать код
SELECT a,b,c FROM table ORDER BY 4

Данная ошибка может появляться, когда в качестве поля сортировки указывается поле типа Blob в опции ORDER BY.

См. дополнительно раздел Команда SELECT - SQL.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot refresh record from ADODB.Recordset because it does not support a Bookmark property (Error 2169)

Visual FoxPro 9.0
Невозможно обновить запись источника данных ADODB.Recordset, потому, что не поддерживается свойство Bookmark (Ошибка 2169)

Данная ошибка происходит, когда источник данных ADO Recordset не поддерживает закладки Bookmarks. Это относительно уровня подчинения. Убедитесь, что источник данных ADO Recordset настроен для поддержки Bookmarks.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No PARAMETER statement is found (Error 1238)

Visual FoxPro 9.0
Не найден оператор PARAMETER (Ошибка 1238)

После вызова программного модуля со списком параметров, предполазается что вызаваемая программа начинается с оператора PARAMETER

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Class file name for "name" is not valid (Error 1746)

Visual FoxPro 9.0
Класс из файла с именем "name" - не правильный (Error 1746)

Слишком длинное имя класса из визуальной библиотеки (.vcx) , в которой размещен также базовый класс для указанного класса.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XML Parse Error (Error 1435)

Visual FoxPro 9.0
Ошибка парсера XML (Ошибка 1435)

Эта ошибка вызвана ошибочным чтением парсером MSXML источника XML при передаче его в функцию XMLTOCURSOR() , которая происходит обычно из-за ненадлежащим образом отформатированного XML. Чтобы посмотреть специфическкую ошибку синтаксического анализатора, откройте XML файл в браузере.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Menu has not been activated with ACTIVATE POPUP (Error 179)

Visual FoxPro 9.0
Меню не активировано командой ACTIVATE POPUP (Error 179)

Вы пытаетесь выбрать заголовок меню, который еще не активирован. Дополнительно см. команду ACTIVATE POPUP.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


User-interface operation not allowed at this time. (Error 2031)

Visual FoxPro 9.0
Пользовательский интерфейс недоступен в данный момент. (Ошибка 2031)

Данная ошибка возникает при выполнении автоматического режима сервера, установленного функцией SYS(2335). Если возможно, удалите соответствующий код, который создает модальный режим , что приводит к данной ошибке.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Unable to change XMLName property while XMLField object belongs to XMLTable object. (Error 2103)

Visual FoxPro 9.0
Невозможно изменить свойство XMLName в то время как объект XMLField принадлежит объекту XMLTable. (Ошибка 2103)

Visual FoxPro не позволяет свойству XMLName объекта XMLField быть измененным, когда объект XMLField принадлежит объекту XMLTable .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Index file does not match table (Error 19)

Visual FoxPro 9.0
Индексный файл не соответствует таблице данных (Ошибка 19)

Индексное выражение текущего индекса содержит указание на переменные, которые отсутствуют в данной таблице.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Internal error: Too many characters in the report (Error 1243)

Visual FoxPro 9.0
Внутренняя ошибка: Слишком много символов в Отчете. (Ошибка 1243)

Общий размер текстовых заголовков или текстовых выражений в Отчете, созданном командами CREATE REPORT или MODIFY REPORT , имеет слишком большой размер для файла отчета.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot rename the current directory (Error 1253)

Visual FoxPro 9.0
Невозможно ПереИменовать текущий каталог (дирректорию) (Ошибка 1253)

Текущий каталог не переименовывается.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Macro is not defined (Error 355)

Visual FoxPro 9.0
Макрокоманда не определена (Ошибка 355)

Была сделана попытка запустить макрокоманду, которой не существует.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field size for Unicode value can not be odd number. (Error 2141)

Visual FoxPro 9.0
Размер поля для значения Unicode не может иметь нечетное значение. (Ошибка 2141)

Происходит при попытке конвертировать данные Юникода из или в XML, а размер поля не равен четному числу.

  • Убедитесь, что используются строки Юникода.

  • Проверьте, что размеры поля всегда имеют четное значение.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Uniqueness of index "name" is violated (Error 1884)

Visual FoxPro 9.0
Нарушена уникальность индекса "name" (Ошибка 1884)

Нарушена уникальность первичного или кандидатного ключей.

Исправьте значения записей или восстановите их.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Maximum menu items allowed (128) is exceeded (Error 1607)

Visual FoxPro 9.0
Превышено максимальное значение (128) пунктов Меню (Ошибка 1607)

Превышено Максимальное количество пунктов Меню, (128)

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Cannot nest key labels (Error 1254)

Visual FoxPro 9.0
Невозможно вложить клавиатурные обозначения (Ошибка 1254)

Вы не можете вложить клавиатурные обозначения.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Maximum record length exceeded in the import file (Error 392)

Visual FoxPro 9.0
Слишком большая длина записи в импортируемом файле (Ошибка 392)

Длина записи импортируемого файла не может быть больше, чем 4,001 байт.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


The cursor is already associated with a record set (Error 2195)

Visual FoxPro 9.0
Курсор уже связан с набором записей (Ошибка 2195)

Эта ошибка может быть сгенерирована VfpOleDB.dll, провайдером OLE DB для Visual FoxPro , когда функция SETRESULTSET( ) Function возвращает курсор, уже ассоциированный с набором записей.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Not a numeric expression (Error 27)

Visual FoxPro 9.0
Не числовое выражение (Ошибка 27)

Вы попытались использовать команду SUM для нечислового поля.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Property is not found (Error 1559)

Visual FoxPro 9.0
Свойство не найдено (Ошибка 1559)

Имя свойства, которое Вы определили, не может быть найдено или является недопустимым для указанного объекта.

Проверьте имя свойства и повторите попытку. Убедитесь что объект и свойство совместимы.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


"name" is not a function, procedure or program (Error 1992)

Visual FoxPro 9.0
"имя" не является функцией, процедурой или программой (Ошибка 1992)

Метод доступа должен вернуть объектную ссылку.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Mismatched #IF/#ELSIF/#ELSE/#ENDIF (Error 1723)

Visual FoxPro 9.0
Несоответствие #IF/#ELSIF/#ELSE/#ENDIF (Ошибка 1723)

Вы применили неполную или неправильную команду препроцессора #IF .

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


CursorAdapter is unable to determine DataSourceType for the operation. (Error 2138)

Visual FoxPro 9.0
CursorAdapter is unable to determine DataSourceType for the operation. (Ошибка 2138)
CursorAdapter не способен определить тип источника данных DataSourceType для выполнения операции.

Свойство DataSourceType должно быть определено.

  • Убедитесь, что свойство DataSourceType объекта CursorAdapter определено.

  • Убедитель, что свойство UseDeDataSource установлено в True (.T.).

  • Проверьте, для гарантии, что свойство DataSourceType для связанного объекта DataEnvironment установлено корректно.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


There is a duplicate table "name" in XML schema. (Error 2104)

Visual FoxPro 9.0
Дубликат таблицы "name" в схеме XML. (Ошибка 2104)

Visual FoxPro не разрешает для схемы определять более одной таблицы с тем же именем.

  • Убедитесь что источник XML возвращает XML в правильном и ожидаемом формате.

  • Исправьте прилагаемую схему и документ XML.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Type conversion is not supported for output parameters (Error 1501)

Visual FoxPro 9.0
Данный тип преобразования не поддерживается для выходных параметров (Ошибка 1501)

Ошибка преобразования параметров SQL. Внутренняя ошибка преобразования.

Сохраните Ваши последние действия при использовании системы Visual FoxPro и обратитесь в службу Поддержки Microsoft Support.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Illegal redefinition of variable "name" (Error 1960)

Visual FoxPro 9.0
Недопустимое переопределение переменной с именем "name" (Ошибка 1960)
Illegal redefinition of variable "name" (Error 1960)

Команды PUBLIC или LOCAL стараются изменить статус уже существующей переменной. Например, если у вас имеется переменная x, которая не является глобальной, вы выдаете команду PUBLIC x, то в этом случае вы получите ошибку.

Переменные созданные в командном окне - Command - являются глобальными по определению. Для создания переменных, которые не являются глобальными используйте указанные команды в коде программного файла (.PRG).

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Unable to cast NULL value to a NOT NULL data type (Error 2159)

Visual FoxPro 9.0
Невозможно привести NULL-значение к типу данных NOT NULL (Ошибка 2159)
Unable to cast NULL value to a NOT NULL data type (Error 2159)

Вы не можете привести значения NULL в тип данных, которые не акцептируют NULL-значения.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Member object "name" has not been instantiated (Error 1975)

Visual FoxPro 9.0
Объект член с именем "name" еще не создан (Ошибка 1975)
Member object "name" has not been instantiated (Error 1975)

С событии Init была сделана ссылка на объект-член до момента его создания.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


SQRT( ) argument cannot be negative (Error 61)

Visual FoxPro 9.0
Параметр функции SQRT() не может быть отрицательным числом (Ошибка 61)
SQRT( ) argument cannot be negative (Error 61)

Параметры функции SQRT() не могут быть отрицательным числом.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Database object type is invalid (Error 1773)

Visual FoxPro 9.0
Недопустимый тип объекта базы данных (Ошибка 1773)
Database object type is invalid (Error 1773)

Допустимыми типами являются: CONNECTION, VIEW, TABLE, RELATION, FIELD, INDEX. Некоторые команды пригодны лишь для поднабора этих типов.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Function name is missing (Error (Error 1304)

Visual FoxPro 9.0
Отсутствует имя функции (Ошибка 1304)
Function name is missing (Error 1304)

В имени функции отсутствует левая круглая скобка.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Value of XMLField.XMLName must be used as key value for collection. (Error 2100)

Visual FoxPro 9.0
Значение XMLField.XMLName должно быть использовано в качестве значения ключа для коллекции (Ошибка 2100)
Value of XMLField.XMLName must be used as key value for collection. (Error 2100)

Свойство XMLName объекта XMLField должно быть использовано в качестве ключа при добавлении объекта XMLField в коллекцию Fields.

  • Убедитесь, что любые объекты XMLField, которые должны быть добавлены в коллекцию имеют свойство XMLName установленным в допустимое значение и что это значение будет использоваться в качестве ключа.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cannot find the converter program (Error 1798)

Visual FoxPro 9.0
Невозможно найти программу преобразователя (Ошибка 1798)
Cannot find the converter program (Error 1798)

Не найдено приложение преобразователя.

  • The Системная переменная _CONVERTER не содержит допустимого имени файла.

    Проверьте значение системной переменной _CONVERTER.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cursor cannot be modified because it contains an unsaved record (Error 2072)

Visual FoxPro 9.0
Курсор не может быть изменен, так как содержит несохраненные записи (Ошибка 2072)
Cursor cannot be modified because it contains an unsaved record (Error 2072)

Такая ошибка обычно возникает, когда запись в курсоре была изменена в элементе управления класса "grid" или в окне просмотра Browse и не сохранена перед перемещением к другой записи.

Любой код, который изменяет запись в курсоре, должен убедиться, что все изменения сохранены до перемещения указателя записи в таблице.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Function not supported for SQL pass-through cursors (Error 1504)

Visual FoxPro 9.0
Функция не поддерживается для курсоров SQL pass-through (Ошибка 1504) -Function not supported for SQL pass-through cursors (Error 1504)

Эта команда применяется только к курсорам представления.

  • Курсоры SQL pass-through могут вернуть не только единичный набор результатов, но и множественный набор.

    Не используйте функцию REQUERY() с курсорами SQL pass-through.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.


Cannot determine data type of the expression (Error 2201)

Невозможно определить тип данных в выражении (Ошибка 2201)

Данная ошибка происходит когда выполняется попытка построить индекс, основанный на NULL-выражении..

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Table buffering is not enabled (Error 1596)

Visual FoxPro 9.0
Режим буферизации таблицы Не включен. (Ошибка 1596)

Вы пытаетесь использовать функцию GETNEXTMODIFIED( ), которая применяется для буферизованных таблиц.

Включите буферизацию таблицы или используйте другую функцию.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Key field length does not match (Error 1117)

Visual FoxPro 9.0
Несоответствие длины ключевого поля (Ошибка 1117)

Несоответствие длины ключевого поля в командах UPDATE или SET RELATION TO при связывании двух файлов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Only insertable objects are allowed in General fields (Error 1436)

Visual FoxPro 9.0
Для поля типа General допустимы только соответствующие объекты (Ошибка 1436)

Соответствующими объектами для поля типа General являются: Microsoft Excel WorkSheet или документ Microsoft Word. Недопустимыми объектами являются контролы ActiveX. Контрол ActiveX невозможно поместить в поле типа General.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Unable to locate desired version of Visual FoxPro.

Visual FoxPro 9.0
Нет возможности запустить запрашиваемую версию Visual FoxPro.

Версия системы Visual FoxPro отсутствует по заданному пути поиска.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot activate the OLE server (Error 1421)

Visual FoxPro 9.0
Не возможно активировать OLE -Сервер (Error 1421)

Объект не может быть активирован.

  • Объект является статичным.

    Подсоедините файл объекта

  • OLE -сервер (Вызываемый Automation сервером) - не доступен в данный момент.

    Убедитесь, что OLE сервер установлен и доступен. Убедитесь также, о достаточности памяти для запускаемого приложения.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Drive specifier is invalid (Error 1907)

Visual FoxPro 9.0
Указан недопустимый идентификатор диска. (Ошибка 1907)

Вы используете недопустимое имя диска в команде DIR .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot insert an empty row from a view into its base table(s) (Error 1547)

Visual FoxPro 9.0
Невозможно добавить пустую запись Представления в соответствующую базовую Таблицу (-ы). (Ошибка 1547)

Пока изменяется Представление, невозможно добавить пустую запись (без измененных полей) в одну из базовых таблиц. данного Представления.

Убедитесь в том, что каждая дополняемая запись имеет измененное поле.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot write to the record because it is in use (Error 1502)

Visual FoxPro 9.0
Невозможно сохранить данные в запись, пока она занята (Ошибка 1502)

Visual FoxPro не может сохранить данные в выбранную запись так как она занята другим процессом.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


MULTISELECT or MOVER clause is not supported for PROMPT style menus (Error 1710)

Visual FoxPro 9.0
Опции MULTISELECT или MOVER не поддерживаются для меню стиля PROMPT (Ошибка 1710)

Команды, имеющие опции: PROMPT FIELD, PROMPT FILE, или PROMPT STRUCTURE не поддерживают опции MULTISELECT или MOVER.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Connection handle is invalid (Error 1466)

Visual FoxPro 9.0
Дескриптор соединения Не действителен (Ошибка 1466)

Соединение с источником данных разрушено, не действительно.

Используйте функции SQLCONNECT( ) или SQLSTRINGCONNECT( ) для создания дескриптора соединения (Connection Handle).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XMLTable XMLName property is an XPath expression (Error 2181)

Visual FoxPro 9.0
Свойство XMLTable XMLName имеет XPath -выражение (Ошибка 2181)

  • Класс XMLAdapter Метод ToXML генерирует данную ошибку если Класс XMLTable Свойство XMLNameIsXPath имеет значение TRUE (.T.).

  • Класс XMLTable Метод ApplyDiffgram и Метод ChangesToCursor генерирует данную ошибку если Свойство XMLNameIsXPath имеет значение TRUE (.T.).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: Queries of this type are not supported (Error 1814)

Visual FoxPro 9.0
SQL: Запросы данного типа не поддерживаются (Ошибка 1814)

Вы пытаетесь выполнить SQL-запрос, который не поддерживается данной версией VFP. Дополнительно см. Команда SELECT - SQL.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Record is out of range (Error 5)

Visual FoxPro 9.0
Запись вне диапазона (Ошибка 5)

Номер записи,к которой вы попытались получить доступ, превышает фактическое количество записей, содержащихся в текущей таблице.

  • Текущий индекс не соответствует таблице

    Запустите REINDEX в таблице, чтобы попытаться скорректировать проблему.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot load 32-bit DLL "name" (Error 1753)

Visual FoxPro 9.0
Невозможно загрузить библиотеку 32-bit DLL "name" (Ошибка 1753)

Библиотека динамической сборки (DLL) отсутствует или недействительна.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The Dockable property cannot be enabled possibly due to conflicting properties (Error 2152)

Visual FoxPro 9.0
Свойство Dockable не может быть использовано, возможно из-за противоречия с другими свойствами (Ошибка 2152)

Данная ошибка может появляться в случае, когда Свойство Dockable формы имеет значение TRUE (.T.) а форма является частью контейнера FormSet. Данная ошибка появляется также в случае конфликта данного свойства с другими свойствами (Свойство ScrollBars, Свойство Desktop, Свойство ShowWindow) .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Object file "file" was compiled in a previous version of FoxPro (Error 1195)

Visual FoxPro 9.0
Объектный файл "файл" был скомпилирвоан в предшествующей версии FoxPro (Ошибка 1195)

Вы попытались запустить приложение, скомпилированное в предыдущей версии FoxPro.

Перекомпилируйте исходный код в текущую версию.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Error with "name" - "property": "error" (Error 2005)

Visual FoxPro 9.0
Ошибка для "name" - "property": "error" (Ошибка 2005)

Вы пытаетесь установить для свойства недопустимое значение.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


No previous PRINTJOB command to correspond to this command (Error 1649)

Visual FoxPro 9.0
Отсутствует вызов команды PRINTJOB, соответствующий данной команде (Ошибка 1649)

Выполняется попытка команды ENDPRINTJOB без задания соответствующей команды PRINTJOB.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Index file "file" is corrupted. Please rebuild it (Error 2066)

Visual FoxPro 9.0
Индексный файл "file" разрушен. Перестройте его (Ошибка 2066)

Вы патаетесь использовать разрушенный индексный файл. Используйте команду INDEX для его перестройкиt.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Data type is invalid for this property (Error 1732)

Visual FoxPro 9.0
Тип данных неверен для этого свойства (Ошибка 1732)

Несовпадение типа данных.

  • Значение, определенное для свойства, имеет некорректный тип данных.

    Более подробно смотрите Данные и Типы полей.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SQL: Aggregate on non-numeric expression (Error 1811)

Visual FoxPro 9.0
SQL: Агрегат не является числовым выражением (Ошибка 1811)

Выполнена попытка вычисления среднего, суммы или среднеквадратичного для нечислового поля.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Menu has not been defined with DEFINE POPUP (Error 165)

Visual FoxPro 9.0
Меню должно быть определено командой DEFINE POPUP (Ошибка 165)

Вы пытаетесь активировать меню раньше чем оно определено. Дополнительно см. Команда DEFINE POPUP.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


This operation not supported for class member objects (Error 1521)

Visual FoxPro 9.0
Данная операция не поддерживается для члена класса / объекта (Ошибка 1521)

Вы пытаетесь получить копию или клон (clone) для члена объекта / класса.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Record is not in index (Error 20)

Visual FoxPro 9.0
Запись таблицы отсутствует в индексе (Ошибка 20)

Изменение ключевого поля таблицы осуществляется без активного индекса.

Примените команду REINDEX для данной таблицы.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Nested XML format is incompatible with "Changes Only" mode (Error 2179)

Visual FoxPro 9.0
Встроенный формат XML несовместим с режимом "Changes Only" (Ошибка 2179)

Данная ошибка генерируется методом Класс XMLAdapter Метод ToXML если Свойство RespectNesting и параметр lChangesOnly имеют значение TRUE (.T.).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


CursorAdapter internal error (Error 2175)

Visual FoxPro 9.0
CursorAdapter internal error (Ошибкаr 2175)
Внутрення ошибка CursorAdapter'а

Произошла неизвестная ошибка.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполен JS.


OrderBy clause is too long. (Error 2052)

Visual FoxPro 9.0
Предложение OrderBy слишком длинно. (Ошибка 2052)

Предложение OrderBy превышает 256 символов. Попробуйте уменьшить количество символов.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SQL: Invalid aggregate field (Error 1822)

Visual FoxPro 9.0
SQL: Неправильное агрегатное поле (Ошибка 1822)

Вы пытаетесь выполнить агрегатную функцию для поля типа Memo.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Field "field name" is not fetched (Error 2172)

Visual FoxPro 9.0
Поле "field name" не выбирается (Ошибка 2172)

Данная ошибка может появляться когда не поддерживается задержка выборки поля MEMO, когда Вы пытаетесь отправить изменения в поле, являющееся ключевым, и когда поле не выбирается.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Date/DateTime contains illegal characters (Error 2035)

Visual FoxPro 9.0
Date/DateTime содержит неверные символы (Ошибка 2035)

Константы Date или DateTime содержат символы, которые не поддерживаются в константах Date и DateTime.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot assign a class value to this member (Error 2070)

Visual FoxPro 9.0
Невозможно присвоить ссылку на объект данному члену (Ошибка 2070)

Выполнена попытка присвоить свойству класса значения, не являющегося ссылкой на объект.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: FROM clause is required (Error 1818)

Visual FoxPro 9.0
SQL: необходимо предложение FROM (Ошибка 1818)

Здесь должно быть предложение FROM в команде SELECT. Более подробно смотрите Команда SELECT - SQL .

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Connection "connection name" is in manual commit mode (Error 2176)

Visual FoxPro 9.0
Соединение "connection name" находится в состоянии Manual Commit (Ошибка 2176)

Данная ошибка появляется когда используется Функция SQLIDLEDISCONNECT( ) для временной блокировки соединения с источником данных SQL, а соединение находится в состоянии Manual Commit. Используйте Функцию AERROR( ) для получения дополнительной информации о данной ошибке.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Data type mismatch (Error 9)

Visual FoxPro 9.0
Несовпадение типа Данных (Ошибка 9)

Выражение недействительно поскольку оно сформировано из данных различных типов, Visual FoxPro не может вычислить их вместе.

  • Вы пытаетесь выполнить операцию над различными типами данных, или над полями разных типов данных из различных таблиц (для таких команд как UPDATE, REPLACE, SET RELATION).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Member object removed cannot complete Save operation (Error 1756)

Visual FoxPro 9.0
Член объекта удален – невозможно завершить операцию Save (сохранения) (Ошибка 1756)

Клас не может быть сохранен.

  • Файл .vcx или .vct разрушен.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The database must be opened exclusively (Error 1557)

Visual FoxPro 9.0
База Данных должна быть открыта в режиме монопольного использования (exclusive) (Ошибка 1557)

Такие командв как, VALIDATE DATABASE RECOVER, PACK DATABASE, и другие, включающие в себя создание или модификацию базы данных требуют режима монопольного использования базы данных.

Закройте базу данных, и используйте команду OPEN DATABASE FileName с опцией EXCLUSIVE.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL parameter is missing (Error 1493)

Visual FoxPro 9.0
SQL: отсутствует параметр (Ошибка 1493)

Отсутствует параметр, отмеченный символом (?) в операторе SQL для выполнения функции SQLEXEC( ), или в определении параметризованного представления (view) не указан соответствующий параметр.

Добавте выражение параметра после соответствующего маркера параметризации...

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


API library revision mismatch. Rebuild library (Error 1711)

Visual FoxPro 9.0
API библиотека, несоответствие версий. Перестройте библиотеку (Ошибка 1711)

Библиотека API не соответствует текущей версии Visual FoxPro.

  • Вы используете старую версию библиотеки, файл .FLL.

    Перестройте его (ее); измените версию файла .FLL file.

  • Контрол ActiveX, вызываемый системой Visual FoxPro, старой версии.

    Перестройте элемент ActiveX, или обновите его версию.

Для дополнительной информации см. Accessing the Visual FoxPro API,.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Multiple warnings occurred performing the requested index modifications (Error 1875)

Visual FoxPro 9.0
При изменении индекса происходят множественные предупреждения (Ошибка 1875)

Все структурные изменения в таблице успешно завершены.

  • Однако зарегистрировано несколько предупреждений, которые можно определить командой ON ERROR .

    Добавте код обработки предупреждающих сообщений.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Expression used with ASIN( ) is out of range (Error 291)

Visual FoxPro 9.0
Выражение-параметр в функции ASIN( ) вне допустимого диапазона (Ошибка 291)

Выражение, используемое как параметр в данной функции, должно быть в диапазоне от – 1.0 до +1.0.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


"cursor" must be created with SELECT ... INTO TABLE (Error 1815)

Visual FoxPro 9.0
"курсор" должен быть создан с использованием SELECT ... INTO TABLE (Ошибка 1815)

Вы пытаетесь использовать курсор, созданный командой Select-SQL в качестве источника данных для другой команды Select-SQL.

  • Некоторые курсоры не могут быть использованы в последовательных запросах.

    Используйте опцию INTO TABLE или INTO CURSOR ... NOFILTER в команде SELECT - SQL.

Перешлите комментарии по этой теме в Microsoft. ɠMicrosoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Record is not locked (Error 130)

Visual FoxPro 9.0
Запись таблицы не блокирована (Ошибка 130)

Выполнена попытка использовать команду BROWSE, CHANGE, EDIT, DELETE, GATHER, MODIFY MEMO, READ, RECALL, или REPLACE для неблокированной записи таблицы.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Error closing the file (Error 1112)

Visual FoxPro 9.0
Ошибка закрытия файла (Ошибка 1112)

Данная ошибка возвращается операционной системой при попытке Visual FoxPro выполнить закрытие файла.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Execution was canceled by the user (Error 1523)

Visual FoxPro 9.0
Выполнение прервано пользователем (Ошибка 1523)

Вы прервали выполнение удаленной команды, нажав клавишу ESC.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Field name is a duplicate or invalid (Error 1712)

Visual FoxPro 9.0
Имя поля повторяется или недопустимо (Ошибка 1712)

Данная ошибка происходит в следующих случаях:

  • Поле с указанным именем уже существует в таблице.

  • Имя поля содержит пробел или один из следующих недопустимых символов: ., ", /, \, [, ], :, |, <, >, +, =, ;, *, or ?

  • Имя поля должно содержать не более 10 символов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Field mismatch (Error 2040)

Visual FoxPro 9.0
Несоответствие поля данных (Ошибка 2040)

Была выполнена попытка копировать объект ADO RecordSet, но произошла ошибка несоответствия между полем курсора и элемента объекта ADO RecordSet.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


User Thrown Error (Error 2071)

Visual FoxPro 9.0
Пользовательская ошибка обработки Thrown (Ошибка 2071)

Ошибка происходит при использовании команды THROW обработки Исключения.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Expression used with ACOS( ) is out of range (Error 293)

Visual FoxPro 9.0
Выражение, используемое как параметр в функции ACOS( ), имеет недопустимое значение (Ошибка 293)

Выражение, как параматр данной функции должно иметь значение в следующем диапазоне: от – 1.0 до +1.0.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Nesting error (Error 96)

Visual FoxPro 9.0
Ошибка вложения (Ошибка 96)

Произошла одна из следующих ситуаций:

  • Выполняется команда DO без завершающей конструкции ENDDO или что-то аналогичное

  • Выполняется SCAN без ENDSCAN или что-то аналогичное

  • Выполняется FOR без ENDFOR или что-то аналогичное

  • Выполняется LOOP или EXIT без соответствующих команд DO WHILE ... ENDDO, FOR ... ENDFOR, или SCAN ... ENDSCAN.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Forms or Form classes that specify a DEClass and DEClassLibrary cannot be converted to or used with a FormSet. (Error 2069)

Visual FoxPro 9.0
Форма или класс форм с заданными свойствами DEClass и DEClassLibrary не может быть конвертирован для использования с объектом FormSet. (Ошибка 2069)

Visual FoxPro не поддерживает свойства объекта DataEnvironment DEClass и DEClassLibrary для объекта FormSet. Данная ошибка происходит при разработке формы в режиме дизайнера, в следующих случаях:

  • Если выполняется попытка конвертации формы, с заданными свойствами DEClass и DEClassLibrary в новый объект FormSet.

  • Если выполняется попытка добавить класс формы Form, содержащий заданные свойства DEClass и DEClassLibrary в контейнер FormSet в дизайнере форм..

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Directory is not found (Error 1963)

Visual FoxPro 9.0
Каталог не найден (отсутствует) (Ошибка 1963)

Указанный Вами Каталог не существует.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XMLTable object does not have associated fields. (Error 2097)

Visual FoxPro 9.0
Объект XMLTable не содержит соответствующих полей. (Ошибка 2097)

В объекте XMLTable должны быть соответствующие объекты XMLField для выполнения методов ToCursor и ChangesToCursor.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


.SYLK file dimension bounds are invalid (Error 120)

Visual FoxPro 9.0
Файл типа .SYLK имеет ошибочную размерность (Ошибка 120)

В файле, который Вы пытаетесь Импортировать, - ошибочное количество строк или столбцов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Property "name" is not found (Error 1734)

Visual FoxPro 9.0
Свойство "name" не найдено (Ошибка 1734)

Указанное имя свойства не найдено.

Нужно проверить имя свойства и повторить команду.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: Subquery is invalid (Error 1825)

Visual FoxPro 9.0
SQL: Неправильный ПодЗапрос (Ошибка 1825)

ПодЗапрос содержит ошибку. См. дополнительно Команда SELECT - SQL.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Code page for the field "field name" does not match cursor code page (Error 2184)

Visual FoxPro 9.0
Кодовая страница для поля "field name" не соответствует кодовой странице курсора (Ошибка 2184)

Класс XMLAdapter, Метод ToXML генерирует данную ошибку если Свойство RespectCursorCP установлено в true (.T.), свойство UTF8Encoded установлено в false (.F.), Свойство UseCodePage Property установлено в true (.T.), Класс XMLField, свойство CodePage больше нуля и не соответствует кодовой странице курсора.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Class "name" is not found (Error 1762)

Visual FoxPro 9.0
Класс "name" не найден (Ошибка 1762)

В команде REMOVE CLASS задано имя несуществующего класса в библиотеке классов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Property "name" already exists (Error 1763)

Visual FoxPro 9.0
Свойство "name" уже существует (Ошибка 1763)

Объект уже содержит свойство с заданным именем.

Задайте для данного свойства новое уникальное имя.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


This object is derived from a base class and does not have a parent class. (Error 1784)

Visual FoxPro 9.0
Данный объект, порожденный от базового класса, не имеет ссылки на порождающий объект. (Ошибка 1784)

По-умолчанию, порождающий класс не найден. См. дополнительно: функция DODEFAULT( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Invalid class specified for @...Class command (Error 1783)

Visual FoxPro 9.0
Invalid class specified for @...Class command (Error 1783) (Неправильно задан класс для команды @...Class)

Вы не можете указывать объекты form, form set, или toolbar при использовании команды @ ... Class.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Field expression contains an invalid data type (Error 1647)

Visual FoxPro 9.0
Поле таблицы содержит данные неверного типа (Ошибка 1647)

Для поля Отчета указано данное недопустимого типа.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Query Parse Error - try rebuilding in Query Wizard or by using View Designer Join Tab (Error 2055)

Visual FoxPro 9.0
Ошибка обработчика Запроса - попытайтесь перестроить Запрос в Query Wizard или используйте View Designer, закладка Join (Ошибка 2055)

Эта ошибка может произойти в определенных обстоятельствах, когда View Designer или Query Designer не в состоянии обработать Запрос.

  • Попытайтесь перестроить Запрос при помощи Query Wizard.

  • Выполните изменения текста Запроса в View Designer, закладка Join; измените состав таблиц Запоса, их возможных связей, или объединений...

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: SELECT is invalid (Error 1826)

Visual FoxPro 9.0
SQL: SELECT is invalid (Ошибка 1826) (Оператор SELECT неправильный)

Вы пытаетесь определить более одного поля в подзапросе. См. дополнительно Команда SELECT - SQL.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Expression is not valid outside of WITH/ENDWITH (Error 1940)

Visual FoxPro 9.0
Выражение недействительно вне пределов WITH/ENDWITH (Ошибка 1940)

Вы можете использовать выражение в виде .property=some_value только в пределах конструкции WITH ... ENDWITH.

  • Эта ошибка могла таже произойти при использовании .NULL. в качестве выражения.

    Поместите .NULL. в кавычки, чтобы его можно было идентифицировать как свойство.

  • Вы могли забыть закончить значение, такое как истина (.T.), ложь (.F.) или нулевое значение (.NULL.)

    Проверьте на сочетаемость константы с той и другой стороны.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


There is a missing keyword in the FOR ... ENDFOR or DO CASE ... ENDCASE command structure (Error 1213)

Visual FoxPro 9.0
Отсутствует ключевое слово в конструкциях команд FOR ... ENDFOR или DO CASE ... ENDCASE (Ошибка 1213)

Для дополнительной информации см. разделы FOR ... ENDFOR или DO CASE ... ENDCASE.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Connection name is invalid (Error 1497)

Visual FoxPro 9.0
Имя соединения неверно (Ошибка 1497)

Имя, которое вы определили, не является именем представления в текущей базе данных.

Проверьте правильность введенного имени и то, что текущая база данных является требуемой базой данных.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Input/output operation failure (Error 1002)

Visual FoxPro 9.0
Неудачная операция ввода-вывода (Ошибка 1002)

Операционная сиситема не в состоянии выполнить файловое или аппаратное действие.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


The specified member class does not exist or is of wrong type. (Error 2056)

Visual FoxPro 9.0
Заданный член класса не существует или имеет неверный тип. (Ошибка 2056)

Убедитесь, что задвнный член класса существует и имеет корректный тип.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot clear a popup that is in use (Error 177)

Visual FoxPro 9.0
Невозможно очистить меню popup, которое используется. (Ошибка 177)

Вы пытаетесь очистить активное в данный момент меню.

  • Команды CLEAR POPUP и RELEASE POPUP не применимы для активных меню.

    Используйте команду DEACTIVATE POPUP перед очисткой и стиранием меню.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The SQL Statement is too complex for the View/Query Designer (Error 2025)

Visual FoxPro 9.0 Описание Языка
SQL: оператор слишком сложный для дизайнера View/Query (Ошибка 2025)

Оператор view/query не может быть открыт в дизайнере View/Query потому, чте не все возможности Команды SELECT - SQL поддерживаются в Дизайнере Представлений и Запросов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Property "name" is protected (Error 1757)

Visual FoxPro 9.0
Свойство "name" имеет статус Protected (Ошибка 1757)

Вы не можете изменять свойство, имеющее статус "protected".

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


.DIF type indicator is invalid (Error 117)

Visual FoxPro 9.0
Файл типа .DIF сообщает об ошибке (Ошибка 117)

Файл типа .dif содержит ошибочные данные.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Too many variables (Error 22)

Visual FoxPro 9.0
Слишком много переменных (Ошибка 22)

Превышено максимальное количество объявления переменных. См. дополнительно: системные ограничения Visual FoxPro.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL SELECT statement is invalid (Error 1498)

Visual FoxPro 9.0
SQL: оператор SELECT Неверный (Ошибка 1498)

SQL-оператор, определяющий Представление (View), не содержит опции SELECT или FROM. Откорректируйте синтаксис команды Select-SQL. См. дополнительно: команда SELECT - SQL .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Data environment is already loaded (Error 1966)

Visual FoxPro 9.0
Среда Данных уже загружена (Ошибка 1966)

Вы пытаетесь выполнить метод OpenTables для определения Среды Данных, хотя она уже загружена.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Too few arguments (Error 1229)

Visual FoxPro 9.0
Too few arguments (Ошибка 1229) (Слишком много аргументов)

При вызове функции указано большее количество аргументов, чем требуется (определено в функции).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Menu has not been activated with ACTIVATE MENU (Error 178)

Visual FoxPro 9.0
Меню не активировано командой ACTIVATE MENU (Error 178)

Перед использованием меню Вы должны его активировать Командой ACTIVATE MENU.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Output page "page" is not available (Error 2194)

Visual FoxPro 9.0
Output page "page" is not available (Ошибка 2194) (Страница вывода "page" не определена (или не доступна))

При вызове метода OutputPage Объекта Report Listener указан неверный или недопустимый параметр значения страницы. В зависимости от значения Объект ReportListener Свойство ListenerType , параметр страницы может быть недействительным или недопустимым; или неверно определяется итоговая страница отчета.

См. дополнительно раздел Метод OutputPage .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


"name" is a read-only property (Error 1740)

Visual FoxPro 9.0
"имя" это свойство, которое имеет статус "только для чтения" (Ошибка 1740)

Свойство, имеющее статус "только чтение" не может сохранить значение.

  • Только модифицируемые свойства могут сохранять значения.

    Проверьте имена свойств и их атрибуты для того объекта, с которым Вы в данный момент работаете (посмотрите Help по данному объекту) и используйте одно из существующих модифицируемых свойств или создайте новое в диалоге New Property.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Unrecognized index file revision. Re-create the index (Error 1141)

Visual FoxPro 9.0
Неизвестная модификация индексного файла. Пересоздайте индекс (Ошибка 1141)

Индексный файл имеет формат, несовместимый с этой версией Visual FoxPro.

Пересоздайте индекс.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Menu item position must be a positive number (Error 167)

Visual FoxPro 9.0
Номер пункта меню должен быть положительным числом (Ошибка 167)

Вы пытаетесь определить номер пункта меню как отрицательное число.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot locate your Web browser (Error 2006)

Visual FoxPro 9.0
Нет возможности открыть Web Browser (Ошибка 2006)

Visual FoxPro не может выполнить команду START для сервиса Web-Btrowser, для указанного файла или Адреса.

  • Отсутствует сервис Web browser.

    Установите (или переустановитеl) сервис Web browser.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


This property is read-only (Error 1533)

Visual FoxPro 9.0
Данное свойство имеет статус Read-Only (Ошибка 1533)

Вы не можете изменить значение свойства, имеющего статус Read-Only (только-чтение).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot modify a base class (Error 1731)

Visual FoxPro 9.0
Невозможно изменить Базовый Класс (Ошибка 1731)

Вы пытаетесь изменить Базовый класс системы Visual FoxPro.

Для изменения, Вы должны сначала определить дочерний Подкласс от Базового класса Visual FoxPro.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


RUN|! command string is too long (Error 1411)

Visual FoxPro 9.0
Строка команды RUN|! имеет слишком большую длину (Ошибка 1411)

Командная строка, включаемая как параметр оператора RUN имеет слишком большую длину. Максимальное значение = 240 символов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


.SYLK file header is invalid (Error 119)

Visual FoxPro 9.0
Заголовок файла .SYLK неверен (Ошибка 119)

Заголовок файла, который вы пытаетесь импортировать, имеет неверный заголовок файла SYLK.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SQL: Invalid use of subquery (Error 1810)

Visual FoxPro 9.0
SQL: Неверное использование подзапроса (Ошибка 1810)

Подзапрос был использован в неожиданном месте. Более подробно смотрите SELECT - SQL Command.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Lotus 1-2-3 version 1.0 file format is invalid (Error 1662)

Visual FoxPro 9.0
Неверный формат файла Lotus 1-2-3 версия 1.0 (Ошибка 1662)

Невозможно импортировать файл формата Lotus 1-2-3 версии 1.0 или файл разрушен.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Worksheet A for Lotus 1-2-3 version 3.0 file is hidden (Error 1680)

Visual FoxPro 9.0
Рабочая книга в файле формата Lotus 1-2-3 версии 3.0 имеет статус Hidden (Ошибка 1680)

Visual FoxPro не может импортировать рабочие книги, имеющие статус Hidden.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


** or ^ domain error (Error 78)

Visual FoxPro 9.0
** или ^ ошибка из-за выхода за пределы области допустимых значений (Ошибка 78)

Отрицательные значения могут быть только целыми.

  • Оператор возведения в степень не может принять дробные отрицательные значения.

    Используйте целочисленный показатель степени.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Lotus 1-2-3 version 2.0 file format is invalid (Error 297)

Visual FoxPro 9.0
Формат файла Lotus 1-2-3 версии 2.0 неверен (Ошибка 297)

Файл Lotus 1-2-3, который вы попытались импортировать, не версии 2.0. Используйте утилиту конверсии Lotus, чтобы конвертировать файл в формат версии 2.0 перед попыткой импортировать его.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


A Key cannot be specified when adding an item to this collection. (Error 2064)

Visual FoxPro 9.0
При добавлении элемента в данную коллекцию нельзя указывать ключ Key. (Ошибка 2064)

Вы не можете указывать ключ при добавлении нового члена в данную коллекцию. В коллекциях: либо все элементы имеют уникальные ключи, либо все элементы не имеют этих ключей. Для определения использования ключей в Коллекции вызавают метод GetKey(1) в комбинации с функцией EMPTY( ), как показано в следующем коде:

CopyCode image Копировать Код
? EMPTY(Collection.GetKey(1))
Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Value of XMLName, XMLNamespace or XMLPrefix property should be a Unicode string. (Error 2134)

Visual FoxPro 9.0 Справочное руководство по языку
Value of XMLName, XMLNamespace or XMLPrefix property should be a Unicode string. (Error 2134)
Значение свойства XMLName, XMLNamespace или XMLPrefix должно быть строкой Unicode . (Ошибка 2134)

Не-Unicode строки не могут быть присвоены в качестве значений свойств XMLName, XMLNamespace и XMLPrefix объекта XMLAdapter.

  • Для преобразования строк в Unicode используйте функцию STRCONV( ). Приведенный ниже пример конвертирует строку в Unicode.

    CopyCode image Скопировать код
    oXMLTable = CREATEOBJECT("XMLTABLE")
    oXMLTable.XMLName = STRCONV("MyTable",12)
To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Library file "name" is invalid (Error 1691)

Visual FoxPro 9.0
Файл библиотеки "имя" неверен (ошибка 1691)

Visual FoxPro не может использовать файл библиотеки, определенный вами.

Перестройте библиотеку.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Invalid use of a Visual FoxPro function as an array (Error 1652)

Visual FoxPro 9.0
Неверное использование функции Visual FoxPro как массива (Ошибка 1652)

Visual FoxPro ожидало имя массива, а столкнулось с функцией.

Замените функцию на верное имя массива.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Method contains syntax errors. Method is not saved (Error 1765)

Visual FoxPro 9.0
Метод содержит синтаксические ошибки. Метод не сохранен (Ошибка 1765)

Вы включили в код более одной процедуры или описания класса.

Исправьте код и повторите снова.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Error loading printer driver (Error 1958)

Visual FoxPro 9.0
Ошибка загрузки драйвера принтера (Ошибка 1958)

Внутренний вызов функции LoadLibrary( ) потерпел неудачу. Visual FoxPro вызывает эту функцию также через PRTINFO( ) или SET PRINTER TO.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


DataType property for field "name" is invalid (Error 1544)

Visual FoxPro 9.0
Свойство DataType для поля "имя" неверно (Ошибка 1544)

Значение свойства DataType представления поля не является правильным типом данных Visual FoxPro.

Измените свойство DataType представления поля на правильный тип.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Must specify additional parameters (Error 94)

Visual FoxPro 9.0
Должны быть определены дополнительные параметры (Ошибка 94)

Происходит, если:

Количество параметров, определенных в предложении DO ... WITH больше, чем количество параметров, определенных в предложении PARAMETERS в вызываемой программе.

-or-

Делегируемый метод не имеет того же количества параметров, которое определено в свойстве cEvent функции BINDEVENT( ).

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Invalid collation sequence (Error 2153)

Visual FoxPro 9.0
Неверный порядок сортировки (Ошибка 2153)

Определенный порядок сортировки не найден или неверен. Эта ошибка генерируется, если при создании индекса используется порядок сортировки, отличающийся от MACHINE, для выражения Varbinary Data Type.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


No default value to DROP (Error 1878)

Visual FoxPro 9.0
Нет значения по умолчанию для DROP (Ошибка 1878)

Вы попытались использовать предложение DROP DEFAULT команды ALTER TABLE в колонке, не содержащей значения по умолчанию. Это неверная операция.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot locate ODBC library, ODBC32.DLL (Error 1527)

Visual FoxPro 9.0
Не определяется библиотека ODBC, ODBC32.DLL (Ошибка 1527)

Файл ODBC32.DLL не найден.

  • Данный файл должен быть доступен для обеспечения соедитения с источниками данных.

    Если этот файл отсутствует в Вашей системе, то переустановите подсистему ODBC. Если файл существует, то скопируйте его в системный каталог.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


INSERT cannot be issued when row or table buffering is enabled or when integrity constraints are in effect (Error 1588)

Visual FoxPro 9.0
Команда INSERT не может быть выполнена при активной буферизации записи или таблицы, или когда действует ограничение целостности (integrity constraints) (Ошибка 1588)

Попробуйте перевести уровень буферизации Таблицы = 1 при помощи функции CURSORSETPROP( ), или используйте команду APPEND вместо команды INSERT.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Command is missing required clause (Error 1221)

Visual FoxPro 9.0
В команде отсутствует обязательное предложение (Ошибка 1221)

Команда была использована без предложения,которое требуется синтаксисом Visual FoxPro. Выберите команду и нажмите F1, чтобы получить контекстно- зависимую справку по команде.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Function name is missing ) (Error 1300)

Visual FoxPro 9.0
Отсутствует имя функции ) (Ошибка 1300)

В имени функции отсутствует правая скобка.

  • Текущая строка содержит левую скобку, которая не имеет пары.

  • Функция содержит слишком много аргументов и, таким образом, не обнаруживается правая скобка.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


No database is open or set as the current database (Error 1520)

Visual FoxPro 9.0
No database is open or set as the current database (Error 1520)
(Не открыта База Данных, или она не является текущей)

Вы пытаетесь выполнить некоторую операцию для Базы Данных, которая не открыта, или не является текущей.

Используйте команду OPEN DATABASE или команду SET DATABASE TO , или выберите текущую Базу Данных в соответствующем ToolBar.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


A sharing violation occurred. (Error 2024)

Visual FoxPro 9.0
Произошло нарушение условий совместного доступа. (Ошибка 2024)

Другое приложение использует файл, который вы попытались оставить в OLE-операции перенести-и-оставить.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Function argument value, type, or count is invalid (Error 11)

Visual FoxPro 9.0
Неверное значение аргумента функции, типа или счетчика (Ошибка 11)

Величина найденной функции - не ожидаемого типа данных, или значение аргумента вне пределов для этой функции, или вы определили слишком много аргументов для функции.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Script error: "name" (Error 1917)

Visual FoxPro 9.0
Ошибка скрипта: "имя" (Ошибка 1917)

Произошланеопределенная ошибка в определенном скрипте.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


File is in use (Error 3)

Visual FoxPro 9.0
Файл используется (Ошибка 3)

Вы попытались использовать команды USE, DELETE, или RENAME для файла, который в настоящее время открыт.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot close table during execution of a table-bound expression (Error 1546)

Visual FoxPro 9.0
Невозможно закрыть таблицу при выполнении выражения для связанных таблиц (Ошибка 1546)

Не пытайтесь закрыть таблицы при выполнении операции.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Property "name" is not a method or event (Error 1738)

Visual FoxPro 9.0
Свойство "имя" не является методом или событием (Ошибка 1738)

Вы использовали имя, которое не является методом или событием.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Source code out of date.

Visual FoxPro 9.0
Исходный программный код не соответствует по дате.

Дата исходного программного кода не соответствует компилированному файлу, типа (.FXP)

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Init event failed (Error 1730)

Visual FoxPro 9.0
Событие Init разрушено (Ошибка 1730)

Событие Init разрушено для данного объекта, и, возможно, при загрузке объекта произожла ошибка в этом событии.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot open file "file". (Error 101)

Visual FoxPro 9.0
Невозможно открыть файл "файл". (Ошибка 101)

Visual FoxPro не может открыть определенный файл. Возможно, файл был блокирован другим пользователем сети.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


This array element has been defined as an object and cannot be redefined in the class definition (Error 1780)

Visual FoxPro 9.0
Данный элемент массива определен как объект, и не может быть переопределен в определении класса (Ошибка 1780)

Как только Вы определили элемент массива как объект в определении класса, он не может быть ПереОпределен.

Например, следующий код должен вызывать эту ошибку:

CopyCode image Копировать Код
DEFINE CLASS test AS form
   DIME a[1]
   ADD OBJECT a[1] AS commandbutton
   a[1] = 10
ENDDEFINE
Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot set DBCEventFile property when DBCEvents is off. (Error 2045)

Visual FoxPro 9.0
Невозможно установить значение свойства DBCEventFile когда выключено DBCEvents (=Off). (Ошибка 2045)

Выполняется попытка вызвать функцию DBSETPROP( ) без обработки события DBCEvents. Дополнительно См. раздел: Как: Включение и Отключение Событий DBC.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Operation is invalid for a General field (Error 1912)

Visual FoxPro 9.0
Неверная операция для поля General (Ошибка 1912)

Вы попытались выполнить неверную операцию, такую как вычисление или индексирование, для поля General.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Objects cannot be programmatically deleted from the Class Designer (Error 1919)

Visual FoxPro 9.0
Объект не может быть программно удален в режиме работы Class Designer (Ошибка 1919)

Вы пытаетесь программно удалить объект, который открыт в дизайнере Class Designer. Это не может быть выполнено.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Date/DateTime evaluated to an invalid value (Error 2034)

Visual FoxPro 9.0
Выражение Date/DateTime неверное (Ошибка 2034)

Выражение типа Date или DateTime имеет неверный формат Date / DateTime, или выражение вне допустимого интервала Date / DateTime.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


A stored procedure is executing (Error 1538)

Visual FoxPro 9.0
Хранимая процедура (SP) еще выполняется (Ошибка 1538)

Вы пытаетесь перекомпилировать или выгрузить работающую в данный момент хранимую процедуру (SP), (например командами MODIFY PROCEDURE или CLOSE DATABASES). Ото недопустимая операция.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot update ADODB.Recordset because it is read-only. (Error 2083)

Visual FoxPro 9.0
Невозможно изменить объект ADODB.Recordset потому, что он имеет атрибут "только-чтение". (Ошибка 2083)

Данная ошибка происходит для объектов ADO Recordset, которые сконфигурированы (или созданы) как неизменяемый источник данных.

  • Убедитесь, что объект ADO Recordset сконфигурирован для возможных изменений. Объект ADO Recordset обычно должен иметь свойство CursorType со значением: adOpenKeyset, adOpenDynamic, или adOpenStatic; а также свойство CursorLocation должно иметь значение adUseClient. (здесь указаны системные константы объекта ADO).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


"file" is not a table (Error 15)

Visual FoxPro 9.0
"Файл" не является таблицей (Ошибка 15)

Файл, который Visual FoxPro пытается использовать как таблицу, содержит неправильный заголовок.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


.DIF vector is invalid - .DBF field mismatch (Error 116)

Visual FoxPro 9.0
.DIF- vector неверный; - .DBF несоответствие типа данных (Ошибка 116)

В файле .dif, который Вы пытаетесь Импортировать, содержится внутренний конфликт между заголовком файла и Данными.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Class "name" has not been registered (Error 1434)

Visual FoxPro 9.0
Класс "имя" не зарегистрирован (Ошибка 1434)

Вы попытались использовать форму, которая содержит OLE-объект, сервер которого не установлен на текущей машине.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


No sheet is found (Error 1774)

Visual FoxPro 9.0
Страница (лист)не найден (Ошибка 1774)

В файле .XLS не определены никакие записи страницы. Это может также произойти для файла, содержащего диаграммы или макросы.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot open persistent table buffer directly (Error 2013)

Visual FoxPro 9.0
Невозможно открыть основной буфер таблицы (Ошибка 2013)

Рабочий буфер (файл .TBF) для представления offline не может быть открыт непосредственно.

Может быть открыт только буфер представления OffLine, основанный на файле .dbf.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


File "name" is an invalid database (Error 1551)

Visual FoxPro 9.0
Файл "имя" - неверная база данных (Ошибка 1551)

Были обнаружены проблемы при использовании именованной базы данных.

Попробуйте открыть и выполнить VALIDATE DATABASE, чтобы диагностировать или исправить проблему.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Access to system Registry denied (Error 1640)

Visual FoxPro 9.0
Отказано в Обращении к Системному реестру (Ошибка 1640)

Обращение к Системному реестру требуется для выполнения операций типа создания COM серверов. Удостоверьтесь, что Вы вошли в систему и имеете надлежащие права доступа.

Послать комментарии об этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


ADODB.Recordset is already opened. (Error 2080)

Visual FoxPro 9.0
Объект ADODB.Recordset уже Открыт. (Ошибка 2080)

Visual FoxPro требует, чтобы объект ADO Recordset был Закрыт при подсоединении его к объекту CursorAdaptert. Дело в том, что метод CursorFill выполняется при подсоединении объекта ADO Recordset к CursorAdapter, который неявно открывает данный объект. Для того, чтобы использовать уже открытый объект ADO Recordset , передайте параметр Source в вызов метода CursorFill.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Record is in use by another user (Error 109)

Visual FoxPro 9.0
Запись используется другим пользователем (Ошибка 109)

Вы попытались изменить запись, заблокированную другим пользователем.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


File is open in another work area (Error 1708)

Visual FoxPro 9.0
Файл открыт в другой рабочей области (Ошибка 1708)

Команды, требующие эксклюзивного открытия таблицы (PACK, MODIFY STRUCTURE, ZAP, и т.д.) не могут использовать таблицу, которая многократно открыта в нескольких рабочих областях с помощью предложения AGAIN команды USE.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


The LOCATE command must be issued before the CONTINUE command (Error 42)

Visual FoxPro 9.0
The LOCATE command must be issued before the CONTINUE command (Error 42) (Перед командой CONTINUE должна быть выполнена команда LOCATE)

Вы попытались выполнить команду CONTINUE без выполнения команды LOCATE .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


TEXT does not have corresponding ENDTEXT statement (Error 2131)

Visual FoxPro 9.0
В структуре команды TEXT отсутствует оператор ENDTEXT (Ошибка 2131)

В Команде TEXT ... ENDTEXT отсутствует необходимый оператор ENDTEXT .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Invalid database table name (Error 1578)

Visual FoxPro 9.0
Неверное имя таблицы базы данных (Ошибка 1578)

Верное имя таблицы базы данных может содержать только буквенно - цифровые символы и пробелы и не может начинаться с цифры. Имя не может быть длиннее 128 символов.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


EventHandler object "name" does not IMPLEMENT an interface (Error 1445)

Visual FoxPro 9.0
Для объекта EventHandler (обработчика событий) "name" отсутствует интерфейс IMPLEMENT (Ошибка 1445)

Функция EVENTHANDLER( ) обеспечивает работу интерфейса по обработке событий для указанного объекта EventHandler, который отсутствует. См. дополнительно: Функция EVENTHANDLER( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Error instantiating the object "object". (Error 1736)

Visual FoxPro 9.0
Ошибка определения объекта "object". (Ошибка 1736)

Сервер данного Объекта неправильно зарегистрирован, или его ресурсы низкого уровня, или соответствующий сервер (файл .DLL) - отсутствует. Другие причины отсутствуют.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Form file "name" is invalid (Error 1686)

Visual FoxPro 9.0
Файл формы "имя" неверен (Ошибка 1686)

Определенный файл экрана(форма) был разрушен.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Array dimensions are invalid (Error 230)

Visual FoxPro 9.0
Размерность массива неверная (Ошибка 230)

Массив должен содержать хотя бы один элемент, или количество элементов превышает размер доступной памяти (слишком большой массив).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Worksheet "name" is not found (Error 1775)

Visual FoxPro 9.0
Книга (Excel) "name" - не найдена (Ошибка 1775)

Вы пытаетесь указать имя Книги, котороя отсутствует в данном файле .XLS.

Проверте Имя Кники и повторите операцию.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Menu item conditional statement is too long. (Error 2051)

Visual FoxPro 9.0
Условное выражение для пункта меню имеет слишком большой размер. (Ошибка 2051)

Условие превышает 256 символов. Попробуйте уменьшить количество символов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Warning: Invalid data conversion(s) starting at record "number" (Error 1485)

Visual FoxPro 9.0
Предупреждение: Неверное преобразование данных начиная с записи "number" (Ошибка 1485)

Ошибка преобразования данных была получена при выборке записи с номером number из удаленного источника данных.

  • Драйвер ODBC не может выполнить преобразование типа данных удаленного источника данных в тип данных локального представления (local view).

    Используйте функции преобразования данных в операторе SQL удаленного источника данных в другой тип данных, а за тем выполняйите выборку данных; используйте свойство DataType для поля локального представления для изменения типа данных.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Failed to create recordset (Error 2039)

Visual FoxPro 9.0
Ошибка создания объекта RecordSet (Ошибка 2039)

Сообщение об ошибке

(Вторичный заголовок на англиском)e

Система Visual FoxPro пытается создать объект ADO.RecordSet, но не может выполнить этого по причине Неожиданной ошибки.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot nest class definitions (Error 1926)

Visual FoxPro 9.0
Вложенные определения классов недопустимы. (Ошибка 1926)

Определение класса не может содержать другое (вложенное) определение класса.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Data session #number cannot be released with open transaction(s) (Error 1549)

Visual FoxPro 9.0
Сессия Данных #number не может быть закрыта при открытой Транзакции (Ошибка 1549)

Объекты данных, основанные на Сессиях данных, не могут быть закрыты при активных открытых транзакциях. Сеанс данных остается открытым.

Закройте сессию данных при помощи команды SET DATASESSION TO number при необходимом (подходящем) количестве команд END TRANSACTION или ROLLBACK .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Procedure "name" is not found (Error 1162)

Visual FoxPro 9.0
Процедура / функция "name" не найдена (Ошибка 1162)

Указанная процедура в опции IN команды DO не Найдена.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Both Unicode and IsBinary properties can not be set to .T.. (Error 2140)

Visual FoxPro 9.0
Оба свойства: Unicode и IsBinary не могут быть установлены как = .T.. (Ошибка 2140)

Система Visual FoxPro не может установить значение свойств Unicode и IsBinary в значение = True (.T.) для одного объекта XMLField .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


No menu is defined (Error 1605)

Visual FoxPro 9.0
Меню не определено (Ошибка 1605)

Вы попытались активировать меню до определения его пунктов.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Allowed DO nesting level exceeded (Error 103)

Visual FoxPro 9.0
Превышен уровень вложенности операторов DO (Ошибка 103)

Количество уровней вложенности операторов VFP превышен. См. дополнительно раздел Возможности системы Visual FoxPro.

Для увеличения допустимых уровней вложенности измените значение параметра STACKSIZE в файле конфигурации Visual FoxPro. См дополнительно раздел Специальные опции в конфигурационном файле.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Symphony version 1.1 file format is invalid (Error 1674)

Visual FoxPro 9.0
Формат файла системы Symphony, версия 1.1, Неверен, ошибочен. (Ошибка 1674)

Файл системы Symphony, который Вы пытаетесь импортировать разрушен, или имеет другую версию (отличную от версии 1.1).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL expression is too complex (Error 1845)

Visual FoxPro 9.0
Выражение в операторе SQL имеет сложную структуру (Ошибка 1845)

Системе Visual FoxPro недостаточно памяти при анализе сложного оператора SELECT-SQL.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


"name" objects cannot return a value (Error 1983)

Visual FoxPro 9.0
"имя" объекты не могут возвращать значение (Ошибка 1983)

Форма формирует возвращаемое значение в своем событии Unload в случае использования опции TO в команде DO FORM.

  • Только объекты Form и FormSet могут возвращать значения.

    Убедитесь, что Ваш объект создан на основе базового класса Form или FormSet.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Cannot reuse offline view in different mode (Error 2017)

Visual FoxPro 9.0
Невозможно использовать представление OffLine в другом режиме работы (Ошибка 2017)

Представление OffLine может быть открыто только в том режиме, в котором оно было создано.

  • Вы используете представление (offline view) за пределами транзакции, за тем пытаетесь открыть представление в режиме OffLine.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Project file is read-only (Error 1169)

Visual FoxPro 9.0
Файл Проекта имеет атрибут "только-чтение" (Ошибка 1169)

Система Visual FoxPro не может открыть проект, имеющий атрибут "только-чтение".

Измените атрибуты файла проекта и повторите операцию снова.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Field must be a General field (Error 1913)

Visual FoxPro 9.0
Поле должно быть полем General (Ошибка 1913)

Вы попытались ввести имя поля не General в APPEND GENERAL или MODIFY GENERAL., или вы попытались ввести имя поля не General в окно диалога Report Picture.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Operator/operand type mismatch (Error 107)

Visual FoxPro 9.0
Несовпадение типа оператора/операнда (Ошибка 107)

В арифметике, строке или логическом операторе или функции используется неправильный тип данных. Эта ошибка происходит, например, если вы пытаетесь добавить два логических значения.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Class file "name" is invalid (Error 1747)

Visual FoxPro 9.0
Файл класса "имя" неверен (Ошибка 1747)

Файл библиотеки визуального класса(.vcx) разрушен и должен быть восстановлен из копии или пересоздан.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


*Interrupted*

Visual FoxPro 9.0
*Interrupted* - прервано

Выполнение программы временно остановлено.

  • Возможно, Вы нажали клавишу ESC.

    В диалоговом боксе выберите Вриант продолжения выполнения программы: Cancel-прервать, Suspend-остановить, или Ignore-игнорировать.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Table or row buffering requires that SET MULTILOCKS is set to ON (Error 1589)

Visual FoxPro 9.0
Буферизация таблицы или записи требует установки команды SET MULTILOCKS = ON (Ошибка 1589)

Все режимы буферизации требуют включения команды MULTILOCKS . Для отключения буферизации установите значение = 1 (DB_BUFOFF) при помощи функции CURSORSETPROP( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


WITH/ENDWITH mismatch (Error 1939)

Visual FoxPro 9.0
Ошибка структуры WITH / ENDWITH (Ошибка 1939)

Вы должны использовать оператор ENDWITH в паре с оператором WITH .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: TOP requires an ORDER BY (Error 1867)

Visual FoxPro 9.0
SQL: TOP требует наличия ORDER BY (Ошибка 1867)

Вы должны использовать ORDER BY, для успешного использования опции TOP. См. дополнительно раздел команда SELECT - SQL.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


ROLLBACK command cannot be issued without a corresponding BEGIN TRANSACTION command (Error 1592)

Visual FoxPro 9.0
Команда ROLLBACK не может быть выполнена без соответствующей команды BEGIN TRANSACTION (Ошибка 1592)

Для выполнения команды ROLLBACK требуется наличие активной Транзакции.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: Invalid SET expression in UPDATE, "table name" is not a target table (Error 2149)

Visual FoxPro 9.0
SQL: Неверная установка SET в опции UPDATE, "table name" не записана в источник (Ошибка 2149)

Оператор UPDATE в команде SELECT - SQL содержит неверную ссылку на таблицу в опции SET.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The refresh key defined for table "table name" is not found (Error 2166)

Ключ обновления (Refresh) для таблицы "table name" не найден (Ошибка 2166)

Функция REFRESH( ) не может вернуть записи.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cursor "name" is attached to another CursorAdapter object. (Error 2112)

Visual FoxPro 9.0
Cursor "name" is attached to another CursorAdapter object. (Ошибка 2112)
Курсор с именем "имя" уже прикреплен к другому объекту CursorAdapter.

Visual FoxPro не позволяет прикреплять курсор к объекту CursorAdapter, если он уже прикреплен к другому объекту CursorAdapter.

  • Для проверки, прикреплен ли уже курсор к CursorAdapter'у, проверьте его свойство SourceType путем использования функции CursorGetProp( ).

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Error initializing Application object (Error 1574)

Visual FoxPro 9.0
Ошибка инициализации объекта-приложения (Ошибка 1574)

Сервер автоматизации или тип библиотеки не зарегистрированы корректно.

  • Ваш регистрационный файл разрушен.

    Удалите запись из реестра.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot refresh record from ADODB.Recordset because FOX cursor does not have an ADOBookmark column (Error 2170)

Visual FoxPro 9.0
Невозможно обновить запись объекта ADODB.Recordset, потому что VFP-курсор не содержит столбца ADOBookmark (Ошибка 2170)

В курсоре Visual FoxPro отсутствует поле ADOBookmark (ADO объект).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Duplicate field names (Error 1156)

Visual FoxPro 9.0
Дубликат имени поля (Ошибка 1156)

Вы определили дубликат имени в предложении FIELDS для команды SORT или COPY. Откорректируйте вашу программу или команду и повторите снова.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Class library file "name" is not found (Error 1993)

Visual FoxPro 9.0
Файл библиотеки класса "имя" не найден (Ошибка 1993)

Файл библиотеки визуального класса (.vcx), определенный в команде RELEASE CLASSLIB или CLEAR CLASSLIB ,отсутствует в списке SET CLASSLIB.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot save form: an object has an invalid name (Error 1191)

Visual FoxPro 9.0
Невозможно сохранить форму:объект имеет неправильное имя (Ошибка 1191)

Объект должен быть корректно именован перед сохранением формы.

  • Один или несколько имен объектов имеют пустую строку (вместо имени).

    Ищите по Name properties set to "".

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


This feature requires MSXML4 SP1 or later. (Error 2116)

Visual FoxPro 9.0
This feature requires MSXML4 SP1 or later. (Error 2116)
Эта возможность требует наличия MSXML4 SP1 или позднее. (Ошибка 2116)

Visual FoxPro требует, чтобы MSXML 4 SP1 или более поздняя версия были инсталлированы для использования объекта XMLAdapter.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot create program workspace.

Visual FoxPro 9.0
Невозможно создать достаточное рабочее пространство.

При запуске системы Visual FoxPro невозможно создать достаточное рабочее пространство (в памяти).

  • Диск или каталог переполнены.

    Удалите некоторые файлы и повторите запуск системы (VFP).

  • У вас нет прав доступа к стартовому каталогу.

    Выполните проверку Ваших прав (на запуск приложения).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Object "name" is not found (Error 1923)

Visual FoxPro 9.0
Объект "имя" не найден (Ошибка 1923)

Объект, который вы определили, не найден.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SQL: Too many subqueries (Error 1805)

Visual FoxPro 9.0
SQL: Слишком много подзапросов (Ошибка 1805)

Количество подзапросов, разрешенное в Visual FoxPro 8.0, составляет 9 фраз SELECT. В Visual FoxPro 9.0 количество подзапросов лимитировано памятью и дисковым пространством. Более подробно, смотрите SELECT - SQL Command.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Database object is being used by someone else. (Error 1709)

Visual FoxPro 9.0
Объект База данных (Database) используется кем-нибудь еще. (Ошибка 1709)

Другой пользователь подсоединен к данной базе данных.

  • Visual FoxPro обрабатывает записи таблицы базы данных для другого пользователя

    Подождите некоторое время, и повторите операцию вновь.

  • Другой пользователь изменяет данные в таблице или на соединении.

    Свяжитесь с данным пользователем. Когда Вы изменяете данные в таблице или на соединении, возникает блокировка доступа к данным. См. дополнительно разделы: MODIFY STRUCTURE, MODIFY CONNECTION, и так далее.

  • Другой пользователь изменяет Представление.

    Вы можете продолжать использовать данное представление. Если Вы вносите изменения в представление, свяжитесь с данным пользователем. См. дополнительно раздел: MODIFY VIEW.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Conversion is canceled (Error 1799)

Visual FoxPro 9.0
Преобразование отменено (Ошибка 1799)

Преобразование отменено. Используемые файла не могут быть преобразовываны.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Table "name" has a file length / record number inconsistency (Error 2065)

Visual FoxPro 9.0
Таблица "имя" имеет недопустимую длину файла / количество записей (Error 2065)

Определенная таблица оказывается разрушенной из-за неправильной длины файла или количества записей. Сначала таблица должна быть исправлена,чтобы транзакции выполнялись правильно.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


File is not open (Error 1113)

Visual FoxPro 9.0
Файл не Открыт (Ошибка 1113)

Вы пытаетесь выполнять операции чтения или записи в файл, который в настоящий момент Не Открыт.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL statement parameter is required for non-prepared SqlExec( ) calls (Error 1472)

Visual FoxPro 9.0
Для параметризованного оператора SQL требуется вызов функции SqlExec( ) (Ошибка 1472)

Вы должны использовать сначала функцию SQLPREPARE( ) или полностью определить оператор SQL при вызове функции SQLEXEC( ).

  • SQLPREPARE( ) не запускается.

    Включите полностью определенный оператор SQL в вызов функции SQLEXEC( ) или выполните функцию SQLPREPARE( ) перед вызовом функции SQLEXEC( ).

  • Состояние оператора обновлено при выполнении функции SQLEXEC( ) с параметром cSQLCommand или функция SQLPREPARE( ) уже вызавалась. Повторите вызов функции SQLPREPARE( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


RUN|! Command failed. "Details" (Error 1405)

Visual FoxPro 9.0
Команда RUN|! отменена. "Details" (Ошибка 1405)

Сообщение Операционной Системы информирует Visual FoxPro о причинах невозможности выполнить процесс, заданный в команде RUN.

Обычно, данная ошибка возникает по причине невозможности найти запускаемое приложение, или отсутствия необходимой памяти для запуска указанного внешнего приложения.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The table has memo fields that cannot be converted while open read-only (Error 1659)

Visual FoxPro 9.0
Таблица, имеющая поля типа MEMO, не может быть преобразована, пока открыта в режиме "read-only" (Ошибка 1659)

Вы пытаетесь выполнить операцию над таблицей типа "dBASE IV style memo". Visual FoxPro не может конвертировать поля типа memo в режиме "read-only".

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Table has no index order set (Error 26)

Visual FoxPro 9.0
Для таблицы не установлен активный индекс (order set) (Ошибка 26)

Для записей таблицы не установлен активный индекс.

  • Не выбран активный индекс для таблицы при выполнении команды UPDATE, в которой используется опция RANDOM.

    Выберите активный индекс для таблицы.

  • Для выполнения команд FIND или SEEK требуется наличие установленного активного индекса.

    Используйте команду SET ORDER TO для задания активного индекса.

  • Команда SET RELATION выполняется для нечислового (неиндексированного) выражения.

    Создайте необходимый индекс, и активируйте его.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


API call caused an exception. (Error 2028)

Visual FoxPro 9.0
Вызов функции API порождает исключительную ситуацию (Ошибку). (Ошибка 2028)

Передаваемый параметр в функцию API вызывает исключительную ситуацию (ошибку).

Убедитесь, что Вы передаете все необходимые параметры в функцию API, и, что параметры - соответствующего типа.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


OLE IDispatch exception code "number" from "name": "name" (Error 1428)

Visual FoxPro 9.0
Исключительная ситуация OLE IDispatch с номером "number" из "name": "name" (Ошибка 1428)

Вы получили код ошибки, возвращенный Automation object. Это характерно для объектов OLE. В таких случаях объект возвращает текстовое описание полученной ошибки, указывается также источник возникновения данной ошибки.

Обратитесь к документации по используемому объекту OLE Automation.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cursor doesn't support ADOBookmark property (Error 2188)

Visual FoxPro 9.0
Курсор не поддерживает свойство ADOBookmark (Ошибка 2188)

Функция CURSORGETPROP( ) не может определить ADO bookmark для текущей записи в ADO-based курсоре.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot call SetFocus from within a When, Valid, RangeHigh or RangeLow event (Error 2012)

Visual FoxPro 9.0
Невозможно выполнить SetFocus из соответствующего события: When, Valid, RangeHigh или RangeLow (Ошибка 2012)

Метод SetFocus противоречит тем событиям, которые управляют получением или передачей фокуса элементам управления.

  • Вы вызываете метод SetFocus непосредственно из кода события When.

    Выполните SetFocus из соответствующего GotFocus , после обработки события.

  • Вы вызываете SetFocus из кода событий Valid, RangeHigh, или RangeLow .

    Выполните вызов SetFocus из кода события LostFocus.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Invalid operation for offline view (Error 2011)

Visual FoxPro 9.0
Недопустимая операция для Представления offline (Ошибка 2011)

Некоторые опрации недопустимы для представления типа offline.

  • Вы пытаетесь изменить определение Представления или таблицы, сжать представление, вставить или удалить записи, или обновить данные в представлении.

    Не используйте данных операций для представлений типа offline.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Preprocessor expression is invalid (Error 1722)

Visual FoxPro 9.0
Выражение неверное в команде Препроцессора (Ошибка 1722)

Только простые выражения (вычисление, конкатенация, и математические), могут быть использованы в командах Препроцессора (#IF и аналогичные).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Left margin including indent must be less than the right margin (Error 221)

Visual FoxPro 9.0
Левое поле, включая отступ, должно быть менее чем размер правого поля (Ошибка 221)

Размер правого поля должен быть больше, чем позиция левого поля.

Измените установку полей и повторите данную операцию.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Inner and outer XMLTable objects are not associated with the same XMLAdapter object (Error 2177)

Visual FoxPro 9.0
Inner and outer XMLTable objects are not associated with the same XMLAdapter object (Error 2177)
Внутренние и внешние объекты XMLTable не связаны с одним и тем же объектом XMLAdapter (Ошибка 2177)

Эта ошибка генерируется методом Nest Method класса XMLTable когда объект XMLTable и параметр oXMLTable не принадлежат одному и тому же объекту XMLAdapter.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Not a character expression (Error 45)

Visual FoxPro 9.0
Не символьное выражение (Ошибка 45)

Вы попытались вызвать модуль с выражением, значение которого не является типом Character.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Unknown member object "object name" (Error 2154)

Visual FoxPro 9.0
Неизвестный член объекта "object name" (Ошибка 2154)

Вы не можете субклассировать свойство объекта - только объект может быть субклассирован. См. дополнительно Субклассирование в Visual FoxPro о создании субклассированных объектов.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SelectCmd is empty. (Error 2139)

Visual FoxPro 9.0
SelectCmd is empty. (Error 2139)
Свойство SelectCmd не содержит команды. (Ошибка 2139)

Происходит, когда свойство SelectCmd объекта CursorAdapter ничего не содержит. Visual FoxPro при вызове метода CursorFill требует, чтобы свойство SelectCmd было установлено в действительное, корректное (valid) значение, соответствующее тому, что содержит свойство DataSourceType.

  • Убедитесь, что для свойства SelectCmd установлено корректное (valid) значение.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Too many characters are specified in the PICTURE clause (Error 1310)

Visual FoxPro 9.0
Слишком много символов определено в предложении PICTURE (Ошибка 1310)

Количество символов, разрешенное во фразе PICTURE, лимитировано памятью.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


The name of the object file for "file" is already used by another program in the project (Error 2001)

Visual FoxPro 9.0
Имя объектного файла для "файла" уже используется другой программой в проекте (Ошибка 2001)

Выберите другое имя файла.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Table buffer for alias "name" contains uncommitted changes (Error 1545)

Visual FoxPro 9.0
Буфер таблицы с алиасом "name" содержит неотраженные изменения (Ошибка 1545)

Перед закрытием курсора или изменением режима буферизации для него требуется сохранение (отражение) буферов соответствующей таблицы при помощи соответствующей функции TABLEUPDATE( ) , или выполнение отмены сделанных изменений при помощи функции TABLEREVERT( ) .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Error writing to file "file" (Error 1105)

Visual FoxPro 9.0
Ошибка записи в файл "файл" (Ошибка 1105)

Операционная система возвратила ошибку при попытке Visual FoxPro записать определенный файл. Чаще всего эта ошибка происходит при попытке записи на диск, защищенный от записи.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Trigger failed in "cursor". (Error 1539)

Visual FoxPro 9.0
Триггер разрушен в "cursor". (Ошибка 1539)

Выполните восстановление записи таблицы, чтобы триггер работал, или измените значения полей записи.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


String is too long to fit (Error 1903)

Visual FoxPro 9.0
Строка слишком длинная, чтобы могла быть обработана (Ошибка 1903)

Превышена допустимая длина строки. См. дополнительно раздел системные характеристики Visual FoxPro .

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Type conversion is not supported (Error 1532)

Visual FoxPro 9.0
Данный тип преобразования не поддерживается (Ошибка 1532)

Ошибка преобразования SQL-параметра. Внутренняя ошибка целостности.

Данная ошибка может также произойти при неправильном использовании функции CAST; ( например, CAST(DATE( ) as Numeric).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Feature is not supported for non-.DBC tables (Error 1580)

Visual FoxPro 9.0
Данная функциональность не поддерживается для таблиц, незакрепленных за контейнером .DBC (Ошибка 1580)

В пытаетесь использовать функциональность, такую как: nullable field, primary key, persistent relation, default value, validation rule, trigger, для свободной таблицы (не закрепленной к контейнеру .DBC). Данная функциональность поддерживается только для таблиц, закрепленных за контейнером (.dbc).

Используйте команду ADD TABLE для закрепления таблицы за контейнером .DBC (базой данных - database).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: Operation was canceled (Error 1839)

Visual FoxPro 9.0
SQL: Операция была прервана (Ошибка 1839)

Была попытка выполнить команду SELECT на таблице, когда SAFETY была установлена в ON, и пользователь решил перезаписать таблицу. Более подробно смотрите SELECT - SQL Command.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


File "name" is not a database (Error 1552)

Visual FoxPro 9.0
Файл "имя" не является базой данных (Ошибка 1552)

Попытка выполнить операцию над базой данных неудачна, поскольку файл был неверной базой данных.

Повторите снова с файлом корректного типа.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Cannot update the file "file" (Error 1157)

Visual FoxPro 9.0
Невозможно изменить файл "file" (Ошибка 1157)

Система Visual FoxPro не может изменить указанный файл. Произошла критическая ошибка при записи данных на диск, например: нет свободного места на диске или ошибка в файловой системе при операции чтения/записи.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Objects cannot be assigned to arrays (Error 1942)

Visual FoxPro 9.0
Объекты не могут быть назначены (закреплены ) за элементами массивов (Ошибка 1942)

Элементы массивов могут содержать только конкретные значения (не ссылки на объекты).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Connection "name" is busy (Error 1541)

Visual FoxPro 9.0
Соединение с именем "name" - занято (Ошибка 1541)

Указанное удаленное соединение используется другим оператором манипулирования удаленными данными.

Ожидайте завершения или отмены этого процесса, за тем - повторите вновь.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Warning: The next "cExpr" modified records have already been updated remote (Error 1484)

Visual FoxPro 9.0
Предупреждение: Следующие "cExpr" измененных записей уже отражены на удаленном источнике данных (Ошибка 1484)

Ошибка происходит при попытке изменить несколько записей в курсоре удаленного представления (Remote View), хотя данные записи уже успешно сохранены в базовой удаленной таблице.

Выключите свойство представления SendUpdates и завершите сохранение записей при помощи функции TABLEUPDATE( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Not a valid RapidFile database (Error 255)

Visual FoxPro 9.0
Неверный формат файла базы данных RapidFile (Ошибка 255)

Вы пытаетесь импортировать файл несоответствующего формата RapidFile.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


"name" is not an object (Error 1924)

Visual FoxPro 9.0
"имя" не является объектом (Ошибка 1924)

Использованное Вами имя ранее было определено как-то иначе, но не как объект.

  • Вы должны по-другому использовать данное имя.

    Проверьте Ваш код на дублирование использования одного и того же имени, но в разном контексте.

Перешлите комментари по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Expression evaluator failed (Error 67)

Visual FoxPro 9.0
Разрушен вычислитель выражения (Expression evaluator) (Ошибка 67)

Разрушена внутренняя контрольная сумма вычислителя выражений в системе Visual FoxPro. Это может произойти при разрушении объектного кода программного файла Visual FoxPro.

Перекомпилируйте программный модуль, который вызвал данную ошибку.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Printer redirection is invalid (Error 124)

Visual FoxPro 9.0
Ошибочное назначение устройства печати (Ошибка 124)

Или путь к принтеру установлен неверно или устройство печати не доступно пользователю (not shared).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Update conflict. Some of your changes in the current row batch were committed (Error 1595)

Visual FoxPro 9.0
Конфлик изменения. Пакет некоторых изменений текущей записи был завершен (Ошибка 1595)

Полное сообщение данной ошибки выглядит так:

Конфликт изменения. Пакет некоторых изменений текущей записи был завершен. Используйте TABLEUPDATE( ) с параметром lForce для полного завершения изменений или используйте механизм транзакций для отката проведенных изменений (Ошибка 1595)

Процедура "многотабличного" изменения не включена для удаленной транзакции, и завершилась аварийно.

  • Для некоторых таблиц, включенных в процесс изменения данных для удаленных источников, изменения завершились.

    Выполните дополнительные изменения текущей записи или пакета записей, или запустите механизм отката транзакций для текущего соединения с удаленным источником данных. См. дополнительно раздел: функция TABLEUPDATE( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


OLE error code 0x"name" (Error 1426)

Visual FoxPro 9.0
Ошибка OLE, с кодом 0x "name" (Ошибка 1426)
См. также

Вы получили шестнадцатеричный код ошибки объекта OLE, и краткое содержание данной ошибки. Дальнейшие действия зависят от внешнего объекта OLE. Данная ошибка является внешней, по отношению к Visual FoxPro, Вы можете использовать функцию AERROR( ) для определения специфичных, внешних характеристик данной ошибки, генерируемой провайдером OLE.

См. также

Описание

Функция AERROR( )

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot import from password-protected file (Error 1671)

Visual FoxPro 9.0
Невозможно импортировать из защищенного паролем файла (Ошибка 1671)

Файл, который вы попытались импортировать - зашифрован.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Unknown function key (Error 104)

Visual FoxPro 9.0
Неопределенный функциональный ключ (Ошибка 104)

Была сделана попытка использовать SET FUNCTION с функциональным ключом, который не соответствует имени или номеру существующего функционального ключа.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Project file "name" is in the wrong version (Error 1946)

Visual FoxPro 9.0
Файл проекта "имя" имеет ошибочную версию (Ошибка 1946)

Определенный файл проекта не соответствует версии Visual FoxPro.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


API function _UserError( ) was called (Error 1098)

Visual FoxPro 9.0
Функция API _UserError( ) сообщила об ошибке (Ошибка 1098)

Отображена определяемая пользователем ошибка.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Index does not match the table. Delete the index file and re-create the index (Error 114)

Visual FoxPro 9.0
Индекс не соответствует таблице. Удалите индексный файл и создайте его вновь (Ошибка 114)

Обнаружена поврежденная структура индекса в индексном файле.

Удалите индексный файл (.CDX или .IDX) и создайте его вновь.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XMLAdapter.XMLName is empty. (Error 2127)

Visual FoxPro 9.0
XMLAdapter.XMLName is empty. (Error 2127)
XMLAdapter.XMLName пустое. (Ошибка 2127)

Visual FoxPro требует, чтобы свойство XMLName, для объекта XMLTable было определено до вызова методов ApplyDiffgram и ChangesToCursor.

Перешлите комментарии об этой статье в корпорацию Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнен JS.


Memo file "name" is missing or is invalid (Error 41)

Visual FoxPro 9.0
Файл типа Memo "name" - отсутствует или разрушен (Ошибка 41)

Выполнена попытка использовать присоединенный файл типа memo (.dct или .fpt), который либо удален, либо перемещен в другое место, либо - не найден, либо - разрушен.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Related tag is not found or not primary or candidate (Error 1882)

Visual FoxPro 9.0
Соответствующий тэг не найден, или отсутствует индекс типа Primary или Candidate (Ошибка 1882)

Размещенный в Базе Данных объект, описывающий связь между таблицами, ссылается на отсутствующий индексный Тэг, или требуется индекс типа Primary или Candidate, или индекс разрушен.

  • Вы используете опцию REFERENCES и TAG в командах: CREATE TABLE или ALTER TABLE.

    Нужно проверить наличие в Базе Данных связываемых таблиц.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Invalid character entered (Error 2047)

Visual FoxPro 9.0
Неверный введенный символ (Ошибка 2047)

Для ожидаемого значения был введен неверный символ.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


File "name" does not exist (Error 1)

Visual FoxPro 9.0
Файл "имя" не существует (Ошибка 1)

Определенный файл не существует.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Too many files open (Error 6)

Visual FoxPro 9.0
Слишком много открытых файлов (Ошибка 6)

Visual FoxPro попытался открыть больше файлов, чем позволяет внутренний предел файлов.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


View definition has been changed (Error 1494)

Visual FoxPro 9.0
Определение Представления (View) изменилось (Ошибка 1494)

Представление (view) не может быть обновлено.

  • Определение представления изменилось.

    Закройте и откройте вновь данное представление. Для обновления данных в представлении, откройте базу данных в монопольном режиме использования.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot reopen project file "name" (Error 1970)

Visual FoxPro 9.0
Cannot reopen project file "name" (Error 1970) (Невозможно открыть заново указанный файл проекта)

Система Visual FoxPro не может открыть проект, который остался открытым в предыдущем сеансе работы.

  • Проект больше не существует. Если он существует, но его невозможно открыть, возможно он искажен.

    Откройте существующий проект или игнорируйте данное сообщение.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


No result set has been returned by the server (Error 1463)

Visual FoxPro 9.0
Нет результатов, которые должен вернуть сервер (Ошибка 1463)

Удаленный запрос не создал ожидаемого результата.

Проверте Ваш запрос, его параметры, чтобы убедиться в правильности ожидаемых результатов, которые должен вернуть сервер.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot redefine "name" (Error 1930)

Visual FoxPro 9.0
Cannot redefine "name" (Error 1930) (Невозможно переопределить указанное имя)

Вы пытаетесь использовать зарезервированные слова THIS, THISFORM, THISFORMSET, или имена системных переменных.. Для дополнительной информации см. Зарезервированные Слова .

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Invalid update column name "name" (Error 1479)

Visual FoxPro 9.0
Неверная корректировка имени столбца "имя" (Ошибка 1479)

Имя столбца не найдено в списке столбцов представления.

Откорректируйте имя столбца.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


"name" internal consistency error (Error 1462)

Visual FoxPro 9.0
"имя" вызвала внутреннюю ошибку совместимости (Ошибка 1462)

Внутренняя ошибка продукта. Visual FoxPro закрывает все открытые файлы и завершает работу.

  • Visual FoxPro не может согласовать два противоречащих друг другу внутренних состояния.

    Сделайте запись Ваших действий в Visual FoxPro вызвавших данную ошибку и сообщите в службу поддержки Microsoft.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Lotus 1-2-3 version 3.0 file format is invalid (Error 1678)

Visual FoxPro 9.0
Файл формата Lotus 1-2-3 версии 3.0 неверен (Ошибка 1678)

Файл Lotus 1-2-3 file, который вы попытались импортировать - или не версии 3.0, или разрушен.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


"name" is not an array (Error 232)

Visual FoxPro 9.0
"имя" не является массивом (Ошибка 232)

Переменная памяти или файловая переменная (поле таблицы) были использованы там, где требуется использовать массив. Для получения дополнительной информации смотрите Переменные памяти, Поля таблицы или Работа с полями и записями таблицы.

Перешлите комментарии по данной теме в Microsoft. © Microsoft Corporation. All rights reserved.

Перевод выполнил Владимир Максимов


Command cannot be issued within a transaction (Error 1593)

Visual FoxPro 9.0
Команда не может быть выполнена в пределах транзакции (Ошибка 1593)

Вы должны завершить все открытые транзакции с помощью END TRANSACTION или ROLLBACK перед выполнением этой команды. Visual FoxPro не разрешит использовать в пределах транзакции то, что модифицирует базу данных (.dbc). Следующие команды недопустимы в пределах транзакции:

  • CLEAR ALL

  • CLOSE ALL

  • CLOSE DATABASE

  • CLOSE TABLES

  • COPY INDEXES

  • CREATE / DELETE / MODIFY DATABASE

  • CREATE / DELETE / MODIFY VIEW

  • CREATE / DELETE TRIGGER

  • CREATE / DELETE / MODIFY CONNECTION

  • APPEND / MODIFY / COPY PROCEDURES

Следующие команды являются недопустимыми для таблиц, участвующих в транзакции:

  • ALTER TABLE

  • CREATE TABLE (таблицы в контейнере базы данных)

  • DELETE TAG

  • INDEX ON

  • INSERT (non-SQL)

  • MODIFY STRUCTURE

  • PACK

  • TABLEREVERT( )

  • Выключение буферизации таблицы (изменение свойства Буферизации с 3 или 5 на 1, 2, или 4 функцией CURSORETPROP( )).

  • Закрытие таблицы (применяя команду USE в рабочей области, участвующей в транзакции таблицы)

  • ZAP

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.


Must be a file variable (Error 1226)

Visual FoxPro 9.0
Должна быть указана файловая переменная (поле таблицы) (Ошибка 1226)

Вместо использования переменной или массива нужно указать поле таблицы (field table).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Invalid compact EXE file. Rebuild EXE.

Visual FoxPro 9.0
Разрушен компактный файл EXE. Перекомпилируйте EXE.

Ваш компактный исполнимый файл (.EXE) - разрушен.

Создайте новый файл программы.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XML document is not loaded. (Error 2096)

Visual FoxPro 9.0
XML document is not loaded. (Error 2096)
XML документ не загружен. (Ошибка 2096)

Методы ApplyDiffGram, ChangesToCursor и ToCursor и ассоциированный с ними объект XMLAdapter должны иметь загруженным XML документ.

  • Проверьте значение свойства IsLoaded объекта XMLAdapter для того, чтобы убедиться в том, что XML документ загружен.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


SQL: SELECT contains invalid * (Error 1820)

Visual FoxPro 9.0
SQL: SELECT содержит неверный параметр * (Ошибка 1820)

Вы попытались использовать * в одной из составных функций MAX( ), MIN( ), AVG( ) или SUM( ).

Более подробно смотрите командыSELECT - SQL и CALCULATE.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


XMLTable object with XMLName "name" does not have associated fields. (Error 2130)

Visual FoxPro 9.0
XMLTable object with XMLName "name" does not have associated fields. (Error 2130)
Объект XMLTable с именем XMLName "name" не имеет ассоциированных полей. (Ошибка 2130)

Visual FoxPro требует, что объект XMLTable должен сожержать ассоциированный объект (или объекты) XMLField до вызова метода ToXML объекта XMLAdapter.

  • Вызовите метод AddTableSchema объекта XMLAdapter, для создания коллекций XMLTable и XMLField, или, в противном случае, создайте эти объекты.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Warning: No information is available to check remote update conflicts (Error 1496)

Visual FoxPro 9.0
Предупреждение: Нет информации о конфликтах изменения данных для удаленных источников (Ошибка 1496)

Драйвер ODBC не сообщает о количестве обработанных записей в командах UPDATE, DELETE, или INSERT. Режим "оптимистической блокировки", используемый в данном удаленном соединении, не располагает информацией о конфликтах в удаленных представлениях.

Вам необходимо проверить выполненные изменения в удаленных таблицах.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Index tag is not found for Cursor object "cursor name" (Error 2198)

Visual FoxPro 9.0
Индексный тэг не найден для объекта курсора "Имя курсора" (Error 2198)

Эта ошибка генерируется, если порядок, определенный для Cursor Object в DataEnvironment Object не может быть найден (индексные тэги не доступны для курсора).

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Procedure file "name" is not found (Error 1937)

Visual FoxPro 9.0
Процедурный файл "имя" не найден (Ошибка 1937)

Определенное вами имя в команде RELEASE PROCEDURE имя не определено в списке SET PROCEDURE .

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Not enough memory for buffer (Error 1149)

Visual FoxPro 9.0
Недостаточно памяти для буфера (Ошибка 1149)

Недостаточно памяти для Visual FoxPro, чтобы распределить память для буфера.

  • Доступная память чрезвычайно ограничена.

    Добавьте память или удалите резидентные в памяти программы, чтобы дать Visual FoxPro больше рабочей памяти.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


XMLAdapter: fractionDigits must not be greater than or equal to maxLength. (Error 2118)

Visual FoxPro 9.0
XMLAdapter: fractionDigits must not be greater than or equal to maxLength. (Error 2118)
XMLAdapter: fractionDigits не должен быть больше или равен maxLength. (Ошибка 2118)

Значение свойства FractionDigits не может быть больше или равно значению свойства MaxLength.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Picture too big, corrupt, or in wrong format (Error 1108)

Visual FoxPro 9.0
Изображение слишком велико, либо разрушено, либо имеет неверный формат (Ошибка 1108)

Вы попытались использовать неверный файл изображения.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Table operation is invalid during indexing (Error 1690)

Visual FoxPro 9.0
Операция для таблицы не соответствует данному индексу (Ошибка 1690)

Вы пытаетесь выполнить табличную операцию, в которой используется индекс, построенный на пользовательской функции (которая ,возможно, недоступна).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


SQL: Use of UNION in subquery is invalid (Error 1813)

Visual FoxPro 9.0
SQL: Неправильное использование опции UNION в подзапросе (SubQuery) (Ошибка 1813)

Опция UNION не поддерживается в подзапросах, в системе Visual FoxPro. См. дополнительно раздел: команда SELECT - SQL.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Printer driver is not found (Error 1644)

Visual FoxPro 9.0
Драйвер Принтера не найден (Ошибка 1644)

Не определяется (невозможно найти) указанный драйвер принтера.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Invalid Update refresh column name "column name" (Error 2163)

Visual FoxPro 9.0
Неверное имя столбца обновления: "column name" (Ошибка 2163)

Неверное имя столбца обновления или указанный столбец не найден в курсоре.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Base table fields have been changed and no longer match view fields. View field properties cannot be set (Error 1542)

Visual FoxPro 9.0
Изменены только базовые поля таблицы, но не обновлены поля Представления (view). Свойства полей представления не могут быть установлены (Ошибка 1542)

Имена или номера столбцов базовой таблицы или базового представления изменены в определении представления (view), и больше не соответствую друг другу.

  • Свойства представления не могут быть загружены в курсор представления.

    Пересоздайте или измените определение представления для обновления структуры соответствия базовая_таблица - представление.

  • Ззначение параметра lUseCursorSchema для метода CursorFill как = True (.T.), и количество полей, определенных в свойстве CursorSchema, не соответствует количеству полей в базовой таблице.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


The TO clause can only be used with modal Forms and FormSets (Error 1982)

Visual FoxPro 9.0
Опция "TO" может использоваться только с модальной формой или контейнером FormSet (Ошибка 1982)

Вы пытаетесь использовать команду DO FORM с опцией TO:

CopyCode image Копировать Код
DO FORM x TO variable.

Данная операция недействительна для форм типа modeless (немодальных) и контейнеров FormSet.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


You must use a logical expression with a FOR or WHILE clause (Error 1127)

Visual FoxPro 9.0
Вы должны использовать логическое выражение для предложения FOR или WHILE (Ошибка 1127)

Предложения FOR или WHILE не содержит логическое выражение. Более подробно смотрите Creating Logical Expressions.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Collating sequence "name" is not found (Error 1915)

Visual FoxPro 9.0
Последовательность сортировки "name" - не найдена (Ошибка 1915)

Данная ошибка происходит в случае использования указанной последовательности сортировки, которая не поддерживается для текущей кодовой страницы (code page). Задаваемая в команде SET COLLATE последовательность сортировки , а также в опции COLLATE для команд CREATE TABLE - SQL, ALTER TABLE - SQL, или INDEX - должна быть допустимой в системе Visual FoxPro.

Вы должны указывать допустимые (совместимые) последовательности сортировки для используемой кодовой страницы, которая задается в конфигурационном файле системы Visual FoxPro. Например, Вы получите следующее сообщение об ошибке: "Последовательность сортировки "CZECH" - не найдена" при выполнении следующей команды:

CopyCode image Копировать Код
SET COLLATE TO "CZECH"

Для правильного использования последовательности сортировки "CZECH", нужно добавить следующую строку в конфигурационный файл Config.fpw и перезапустить систему Visual FoxPro:

CopyCode image Копировать Код
CODEPAGE = 1250

Об использовании настроек последовательности сортировки см. разделы Команда SET COLLATE и Оптитмизация интернациональных приложений.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot find spell check program.

Visual FoxPro 9.0
Не найден программный модуль проверки правописания.

Модуль проверки правописания (Spell checker) не найден.

  • Системная переменная _SPELLCHK содержит недопустимое значение имени файла.

    Выполните контроль значения переменной _SPELLCHK.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


This OLE property cannot be an expression (Error 1782)

Visual FoxPro 9.0
Данное свойство OLE не может быть выражением (Ошибка 1782)

Вы пытаетесь задать в списке свойств значение некоторого свойства OLE, как выражение. Данная операция недопустима.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Unable to generate a printer driver (Error 1717)

Visual FoxPro 9.0
Невозможно создать (загрузить) драйвер принтера (Ошибка 1717)

Драйвер принтера, указанный в Отчете или Этикетке, невозможно создать или загрузить (отсутствует).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Screen code is too large for available memory (Error 1507)

Visual FoxPro 9.0
Недостаточно памяти для объекта экрана, он слишком большой (Ошибка 1507)

Размер кода экранного объекта, который Вы пытаетесь копировать, превышает 64 KB.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Key label "label" is invalid (Error 1255)

Visual FoxPro 9.0
Ключевое выражение "label" не правильное (Ошибка 1255)

Указанное Вами обозначение Ключевое выражение Не поддерживается. См. дополнительно ON KEY LABEL список поддерживаемых Ключевых выражений.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


XML document is not a DiffGram. (Error 2126)

Visual FoxPro 9.0
XML document is not a DiffGram. (Error 2126)
XML документ не представляет из себя DiffGram. (Ошибка 2126)

Visual FoxPro не возволяет вызывать методы ApplyDiffGram и ChangesToCursor, если свойство IsDiffgram объекта XMLTable oустановлено в False (.F.).

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Invalid COMATTRIB value for "name" (Error 2048)

Visual FoxPro 9.0
Неверное значение параметра COMATTRIB для объекта "name" (Ошибка 2048)

Указанно неверное значение для данного свойства при определении класса.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Source code not found.

Visual FoxPro 9.0
Отсутствует исходный программный код.

Отсутствует Файл с исходным программным кодом по текущему пути поиска.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Column number must be between 0 and the right margin (Error 1657)

Visual FoxPro 9.0
Номер столбца должен быть между 0 и правой границей (Ошибка 1657)

Была сделана попытка установить системную переменную _PCOLNO в неверное значение. Эта системная переменная включена для обратной совместимости. Для получения лучших результатов в текущей версии используйте Report Designer.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


The ChildOrder property of a relation object in the data environment is no longer valid. The relation is being removed (Error 1478)

Visual FoxPro 9.0
Значение свойства ChildOrder для объекта Связь в контейнере data environment - имеет неверное значение. Данный объект Связь удаляется (Ошибка 1478)

Из-за изменений среды данных, объект Связь, описанный в свойстве ChildOrder , - удаляется.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Table cannot be browsed because cursor object is no longer valid. (Error 1556)

Visual FoxPro 9.0
Таблица не может быть отображена, так как объект Курсор больше не используется. (Ошибка 1556)

Закройте и откройте вновь системное средство Form Designer , для синхронизации таблицы и курсора.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


XMLAdapter.ToXML cannot be called while there is a loaded XML document. (Error 2107)

Visual FoxPro 9.0
XMLAdapter.ToXML cannot be called while there is a loaded XML document. (Error 2107) XMLAdapter.ToXML не может быть вызван, пока имеется загруженный XML документ. (Ошибка 2107)

Visual FoxPro не позволяет исполнять метод ToXML, когда уже имеется загруженный XML документ.

  • Проверьте значение свойства IsLoaded, чтобы убедиться в том, что не имеется уже загруженного XML документа.

  • Используйте метод ReleaseXML для высвобожления текущего загруженного XML документа.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Variable "variable" is not found (Error 12)

Visual FoxPro 9.0
Variable "variable" is not found (Error 12) (Указанная переменная не найдена)

Заданная переменная или поле таблицы не найдена.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Member "name" is a class member (Error 1760)

Visual FoxPro 9.0
Элемент "name" является членом класса (Ошибка 1760)

Вы пытаетесь исключить член из объекта. Элемент не может быть исключен, поскольку он - член класса, на котором основан данный объект.

Для исключения члена объекта - отредактируйте данный класс.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Cannot release object (Error 2054)

Visual FoxPro 9.0
Невозможно освободить объект (Ошибка 2054)

Объект не может быть освобожден. Эта ошибка обычно вызвана объектом, имеющим ссылку на другой объект.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Database "alias" is not open (Error 1534)

Visual FoxPro 9.0
База данных "псевдоним" не открыта (Ошибка 1534)

Вы попытались выполнить SET DATABASE TO, но база данных еще не открыта.

Попытайтесь сначала OPEN DATABASE.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Invalid operation for offline view while offline (Error 2007)

Visual FoxPro 9.0
Неправильная операция для представления offline, которое - уже offline (Ошибка 2007)

Некоторые операции являются неверными для представлений уровня offline, которые используются в режиме offline.

  • Вы пытаетесь создать представление offline, которое уже является offline.

    Используйте напрямую оригинальное представление или выберите другое представление, как основу нового представления OFFLINE.

См. дополнительно раздел CREATEOFFLINE( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


DEClass cannot be loaded. (Error 2086)

Visual FoxPro 9.0
DEClass не может быть загружен. (Ошибка 2086)

Была выполнена попытка загрузить отсутствующий класс DEClass в текущей Форме или Отчете. В результате, значения свойств DEClass и DEClasslibrary - очищены. Выполните проверку правильности указания значения свойства DEClass.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Structure nesting is too deep (Error 1212)

Visual FoxPro 9.0
Слишком глубоко вложенная структура (Ошибка 1212)

Превышена Максимально возможная вложенность структурных команд программирования, не более 64-х уровней.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Error instantiating cursor. Table "alias" cannot be opened. Object will be ignored (Error 1554)

Visual FoxPro 9.0
Ошибка обработки курсора. Невозможно открыть таблицу "псевдоним". Объект игнорируется (Ошибка 1554)

Ошибка произошла в штатном режиме при попытке загрузить среду данных. Курсор не создан. Если вы сохраните форму, объект будет потерян.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Function is not supported on native tables (Error 1536)

Visual FoxPro 9.0
Function is not supported on native tables (Error 1536) (Функция не поддерживается для обычных таблиц VFP)

Используемая Вами команда или функция — например, REQUERY( ) — не применима для обычных таблиц Visual FoxPro.

Отправить комментарии по этой теме в Microsoft. © Microsoft Corporation. Все права защищены.


Table "name" has become corrupted. The table will need to be repaired before using again. (Error 2091)

Visual FoxPro 9.0
Таблица "имя" разрушена. Таблица должна быть исправлена перед тем, как использовать ее вновь. (Ошибка 2091)

Либо счетчик записей таблицы не соответствует фактическим записям таблицы, либо размер файла на диске не соответствует ожидаемому размеру файла из заголовка таблицы. Исправьте таблицу, используя подходящую утилиту ремонта от независимого производителя для таблиц Visual FoxPro, перед открытием таблицы снова.

To make a suggestion or report a bug about Help or another feature of this product, go to the feedback site.
© Microsoft Corporation. All rights reserved.


Update conflict (Error 1585)

Visual FoxPro 9.0
Конфликт Изменения Данных (Ошибка 1585)

При попытке корректировки данных представления обнаружен конфликт уровня optimistic locking (оптимистической блокировки).

Выполните проверку правильности Ключа корректировки (ключевого поля таблицы).

Если Вы хотите завершить изменение данных в таблице базы данных, то выполните функцию TABLEUPDATE( ) с параметром lForce. Эта операция выполнит сохранение данных локального представления в основной таблице после последней выборки. Для отмены сохранения данных из локального представления выполните функцию TABLEREVERT( ).

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.


Fetching canceled; remote table is closed (Error 1530)

Visual FoxPro 9.0
Выборка прервана; удаленная таблица закрыта (Ошибка 1530)

При нажатии клавиши ESC было прервано выполнение операции выборки удаленных данных в локальное представление.

Для того, чтобы сделать предложение или сообщить об ошибке Помощи, или другого свойства данного продукта, посетите страницу обратной связи.
© Microsoft Corporation. Все права защищены.